diff --git a/.travis/calcrom/calcrom.pl b/.travis/calcrom/calcrom.pl index a06fbd098..f7966d6ea 100755 --- a/.travis/calcrom/calcrom.pl +++ b/.travis/calcrom/calcrom.pl @@ -1,7 +1,17 @@ #!/usr/bin/perl -use IPC::Cmd qw[ run ]; +# Usage: +# calcrom.pl [--verbose] +# +# mapfile: path to .map file output by LD +# verbose: set to get more detailed output +use IPC::Cmd qw[ run ]; +use Getopt::Long; + +my $verbose = ""; + +GetOptions("verbose" => \$verbose); (@ARGV == 1) or die "ERROR: no map file specified.\n"; open(my $file, $ARGV[0]) @@ -11,13 +21,15 @@ my $src = 0; my $asm = 0; my $srcdata = 0; my $data = 0; +my @pairs = (); while (my $line = <$file>) { - if ($line =~ /^ \.(\w+)\s+0x[0-9a-f]+\s+(0x[0-9a-f]+) (\w+)\/.+\.o/) + if ($line =~ /^ \.(\w+)\s+0x[0-9a-f]+\s+(0x[0-9a-f]+) (\w+)\/(.+)\.o/) { my $section = $1; my $size = hex($2); my $dir = $3; + my $basename = $4; if ($size & 3) { $size += 4 - ($size % 3); @@ -31,6 +43,10 @@ while (my $line = <$file>) } elsif ($dir eq 'asm') { + if (!($basename =~ /(crt0|libagbsyscall|libgcnmultiboot|m4a_1)/)) + { + push @pairs, [$basename, $size]; + } $asm += $size; } } @@ -48,6 +64,8 @@ while (my $line = <$file>) } } +my @sorted = sort { $a->[1] <=> $b->[1] } @pairs; + # Note that the grep filters out all branch labels. It also requires a minimum # line length of 5, to filter out a ton of generated symbols (like AcCn). No # settings to nm seem to remove these symbols. Finally, nm prints out a separate @@ -131,6 +149,17 @@ print "$total total bytes of code\n"; print "$src bytes of code in src ($srcPct%)\n"; print "$asm bytes of code in asm ($asmPct%)\n"; print "\n"; + +if ($verbose != 0) +{ + print "BREAKDOWN\n"; + foreach my $item (@sorted) + { + print " $item->[1] bytes in asm/$item->[0].s\n" + } + print "\n"; +} + print "$total_syms total symbols\n"; print "$documented symbols documented ($docPct%)\n"; print "$partial_documented symbols partially documented ($partialPct%)\n"; diff --git a/Makefile b/Makefile index 8a739ccf4..37c3d936a 100644 --- a/Makefile +++ b/Makefile @@ -173,6 +173,9 @@ $(C_BUILDDIR)/isagbprn.o: CFLAGS := -mthumb-interwork $(C_BUILDDIR)/trainer_tower.o: CFLAGS += -ffreestanding $(C_BUILDDIR)/flying.o: CFLAGS += -ffreestanding +$(C_BUILDDIR)/librfu_intr.o: CC1 := tools/agbcc/bin/agbcc_arm +$(C_BUILDDIR)/librfu_intr.o: CFLAGS := -O2 -mthumb-interwork -quiet + ifeq ($(NODEP),1) $(C_BUILDDIR)/%.o: c_dep := else diff --git a/asm/battle_bg.s b/asm/battle_bg.s deleted file mode 100644 index 96f33cb3c..000000000 --- a/asm/battle_bg.s +++ /dev/null @@ -1,1473 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_800F1E8 -sub_800F1E8: @ 800F1E8 - push {lr} - bl ResetSpriteData - ldr r0, _0800F21C @ =gUnknown_824EFF0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0800F220 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r0, _0800F224 @ =sub_800F228 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_0800F21C: .4byte gUnknown_824EFF0 -_0800F220: .4byte gSprites -_0800F224: .4byte sub_800F228 - thumb_func_end sub_800F1E8 - - thumb_func_start sub_800F228 -sub_800F228: @ 800F228 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - pop {r0} - bx r0 - thumb_func_end sub_800F228 - - thumb_func_start sub_800F238 -sub_800F238: @ 800F238 - push {lr} - lsls r0, 24 - lsrs r0, 24 - movs r2, 0 - ldr r1, _0800F24C @ =gUnknown_824EFC4 -_0800F242: - ldrb r3, [r1] - cmp r0, r3 - bne _0800F250 - ldrb r0, [r1, 0x1] - b _0800F25A - .align 2, 0 -_0800F24C: .4byte gUnknown_824EFC4 -_0800F250: - adds r1, 0x4 - adds r2, 0x1 - cmp r2, 0x7 - bls _0800F242 - movs r0, 0x9 -_0800F25A: - pop {r1} - bx r1 - thumb_func_end sub_800F238 - - thumb_func_start sub_800F260 -sub_800F260: @ 800F260 - push {r4,r5,lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x13 - bls _0800F26C - movs r0, 0x9 -_0800F26C: - ldr r5, _0800F2A0 @ =gUnknown_824EE34 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 2 - adds r0, r4, r5 - ldr r0, [r0] - ldr r1, _0800F2A4 @ =0x06008000 - bl LZDecompressVram - adds r0, r5, 0x4 - adds r0, r4, r0 - ldr r0, [r0] - ldr r1, _0800F2A8 @ =0x0600d000 - bl LZDecompressVram - adds r5, 0x10 - adds r4, r5 - ldr r0, [r4] - movs r1, 0x20 - movs r2, 0x60 - bl LoadCompressedPalette - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800F2A0: .4byte gUnknown_824EE34 -_0800F2A4: .4byte 0x06008000 -_0800F2A8: .4byte 0x0600d000 - thumb_func_end sub_800F260 - - thumb_func_start sub_800F2AC -sub_800F2AC: @ 800F2AC - push {r4,r5,lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x13 - bls _0800F2B8 - movs r0, 0x9 -_0800F2B8: - ldr r5, _0800F2E0 @ =gUnknown_824EE34 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 2 - adds r0, r5, 0 - adds r0, 0x8 - adds r0, r4, r0 - ldr r0, [r0] - ldr r1, _0800F2E4 @ =0x06004000 - bl LZDecompressVram - adds r5, 0xC - adds r4, r5 - ldr r0, [r4] - ldr r1, _0800F2E8 @ =0x0600e000 - bl LZDecompressVram - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800F2E0: .4byte gUnknown_824EE34 -_0800F2E4: .4byte 0x06004000 -_0800F2E8: .4byte 0x0600e000 - thumb_func_end sub_800F2AC - - thumb_func_start sub_800F2EC -sub_800F2EC: @ 800F2EC - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x9 - bls _0800F2FC - movs r0, 0x9 -_0800F2FC: - ldr r2, _0800F320 @ =gUnknown_824EE34 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r0, r1, r2 - ldr r0, [r0] - str r0, [r4] - adds r0, r2, 0x4 - adds r0, r1, r0 - ldr r0, [r0] - str r0, [r5] - adds r2, 0x10 - adds r1, r2 - ldr r0, [r1] - str r0, [r3] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800F320: .4byte gUnknown_824EE34 - thumb_func_end sub_800F2EC - - thumb_func_start sub_800F324 -sub_800F324: @ 800F324 - push {lr} - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _0800F344 @ =gBattleBgTemplates - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r0, _0800F348 @ =gUnknown_8248330 - bl InitWindows - bl DeactivateAllTextPrinters - pop {r0} - bx r0 - .align 2, 0 -_0800F344: .4byte gBattleBgTemplates -_0800F348: .4byte gUnknown_8248330 - thumb_func_end sub_800F324 - - thumb_func_start InitBattleBgsVideo -InitBattleBgsVideo: @ 800F34C - push {lr} - movs r0, 0xC5 - bl EnableInterrupts - bl sub_800F324 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r1, _0800F37C @ =0x0000b040 - movs r0, 0 - bl SetGpuReg - pop {r0} - bx r0 - .align 2, 0 -_0800F37C: .4byte 0x0000b040 - thumb_func_end InitBattleBgsVideo - - thumb_func_start LoadBattleMenuWindowGfx -LoadBattleMenuWindowGfx: @ 800F380 - push {r4,r5,lr} - movs r0, 0x2 - movs r1, 0x12 - movs r2, 0x10 - bl TextWindow_SetUserSelectedFrame - movs r0, 0x2 - movs r1, 0x22 - movs r2, 0x10 - bl TextWindow_SetUserSelectedFrame - ldr r4, _0800F3F0 @ =gPlttBufferUnfaded - adds r0, r4, 0 - adds r0, 0xB8 - ldr r1, _0800F3F4 @ =0x00002529 - strh r1, [r0] - adds r2, r4, 0 - adds r2, 0xBA - strh r1, [r2] - adds r2, 0x2 - ldr r1, _0800F3F8 @ =0x00007fff - strh r1, [r2] - adds r2, 0x2 - ldr r1, _0800F3FC @ =0x0000675a - strh r1, [r2] - ldr r5, _0800F400 @ =gPlttBufferFaded + 0xB8 - adds r1, r5, 0 - movs r2, 0x4 - bl CpuSet - ldr r0, _0800F404 @ =gBattleTypeFlags - ldr r0, [r0] - ldr r1, _0800F408 @ =0x00010010 - ands r0, r1 - cmp r0, 0 - beq _0800F3EA - movs r0, 0x70 - bl Menu_LoadStdPalAt - movs r0, 0 - movs r1, 0x30 - movs r2, 0x70 - bl TextWindow_LoadResourcesStdFrame0 - adds r0, r4, 0 - adds r0, 0xEC - movs r1, 0 - strh r1, [r0] - adds r1, r5, 0 - adds r1, 0x34 - movs r2, 0x1 - bl CpuSet -_0800F3EA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800F3F0: .4byte gPlttBufferUnfaded -_0800F3F4: .4byte 0x00002529 -_0800F3F8: .4byte 0x00007fff -_0800F3FC: .4byte 0x0000675a -_0800F400: .4byte gPlttBufferFaded + 0xB8 -_0800F404: .4byte gBattleTypeFlags -_0800F408: .4byte 0x00010010 - thumb_func_end LoadBattleMenuWindowGfx - - thumb_func_start DrawMainBattleBackground -DrawMainBattleBackground: @ 800F40C - push {lr} - bl sub_800FC2C - lsls r0, 24 - lsrs r0, 24 - bl sub_800F260 - pop {r0} - bx r0 - thumb_func_end DrawMainBattleBackground - - thumb_func_start LoadBattleTextboxAndBackground -LoadBattleTextboxAndBackground: @ 800F420 - push {lr} - ldr r0, _0800F454 @ =gBattleTextboxTiles - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - ldr r1, _0800F458 @ =gFile_graphics_interface_menu_map_tilemap - movs r0, 0 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, _0800F45C @ =gBattleTextboxPalette - movs r1, 0 - movs r2, 0x40 - bl LoadCompressedPalette - bl LoadBattleMenuWindowGfx - bl DrawMainBattleBackground - pop {r0} - bx r0 - .align 2, 0 -_0800F454: .4byte gBattleTextboxTiles -_0800F458: .4byte gFile_graphics_interface_menu_map_tilemap -_0800F45C: .4byte gBattleTextboxPalette - thumb_func_end LoadBattleTextboxAndBackground - - thumb_func_start sub_800F460 -sub_800F460: @ 800F460 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - ldr r4, [sp, 0x34] - lsls r0, 24 - lsrs r6, r0, 24 - adds r7, r6, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r3, 24 - lsrs r3, 24 - mov r12, r3 - lsls r4, 24 - lsrs r4, 24 - mov r9, r4 - movs r4, 0 - ldr r0, _0800F4B8 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0800F548 - ldr r0, _0800F4BC @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - movs r2, 0x12 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _0800F4D2 - cmp r5, 0x1 - beq _0800F4FA - cmp r5, 0x1 - bgt _0800F4C0 - cmp r5, 0 - beq _0800F4CA - b _0800F504 - .align 2, 0 -_0800F4B8: .4byte gBattleTypeFlags -_0800F4BC: .4byte gTasks -_0800F4C0: - cmp r5, 0x2 - beq _0800F4CE - cmp r5, 0x3 - beq _0800F4EE - b _0800F504 -_0800F4CA: - ldrh r0, [r1, 0xE] - b _0800F4F0 -_0800F4CE: - ldrh r1, [r1, 0xE] - b _0800F4FC -_0800F4D2: - cmp r5, 0x1 - beq _0800F4EE - cmp r5, 0x1 - bgt _0800F4E0 - cmp r5, 0 - beq _0800F4EA - b _0800F504 -_0800F4E0: - cmp r5, 0x2 - beq _0800F4F6 - cmp r5, 0x3 - beq _0800F4FA - b _0800F504 -_0800F4EA: - ldrh r0, [r1, 0xE] - b _0800F4F0 -_0800F4EE: - ldrh r0, [r1, 0x10] -_0800F4F0: - movs r4, 0x3F - ands r4, r0 - b _0800F504 -_0800F4F6: - ldrh r1, [r1, 0xE] - b _0800F4FC -_0800F4FA: - ldrh r1, [r1, 0x10] -_0800F4FC: - movs r0, 0xFC - lsls r0, 4 - ands r0, r1 - lsrs r4, r0, 6 -_0800F504: - movs r2, 0 - movs r6, 0x3 - ldr r0, _0800F544 @ =0x00006001 - adds r5, r0, 0 - add r3, sp, 0xC -_0800F50E: - lsls r1, r2, 1 - adds r0, r6, 0 - lsls r0, r1 - ands r0, r4 - asrs r0, r1 - adds r0, r5 - strh r0, [r3] - adds r3, 0x2 - adds r2, 0x1 - cmp r2, 0x2 - ble _0800F50E - movs r0, 0x3 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - mov r0, r8 - add r1, sp, 0xC - mov r2, r12 - mov r3, r9 - bl CopyToBgTilemapBufferRect_ChangePalette - mov r0, r8 - bl CopyBgTilemapBufferToVram - b _0800F5B6 - .align 2, 0 -_0800F544: .4byte 0x00006001 -_0800F548: - ldr r0, _0800F564 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xB5 - ldrb r0, [r0] - cmp r5, r0 - bne _0800F56C - ldr r1, _0800F568 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldrh r4, [r0, 0xE] - b _0800F578 - .align 2, 0 -_0800F564: .4byte gBattleStruct -_0800F568: .4byte gTasks -_0800F56C: - ldr r1, _0800F5C4 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrh r4, [r0, 0x10] -_0800F578: - movs r2, 0 - movs r6, 0x3 - ldr r0, _0800F5C8 @ =0x00006001 - adds r5, r0, 0 - add r3, sp, 0xC -_0800F582: - lsls r1, r2, 1 - adds r0, r6, 0 - lsls r0, r1 - ands r0, r4 - asrs r0, r1 - adds r0, r5 - strh r0, [r3] - adds r3, 0x2 - adds r2, 0x1 - cmp r2, 0x5 - ble _0800F582 - movs r0, 0x6 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - mov r0, r8 - add r1, sp, 0xC - mov r2, r12 - mov r3, r9 - bl CopyToBgTilemapBufferRect_ChangePalette - mov r0, r8 - bl CopyBgTilemapBufferToVram -_0800F5B6: - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800F5C4: .4byte gTasks -_0800F5C8: .4byte 0x00006001 - thumb_func_end sub_800F460 - - thumb_func_start sub_800F5CC -sub_800F5CC: @ 800F5CC - push {lr} - ldr r0, _0800F5E0 @ =gBattleOutcome - ldrb r2, [r0] - cmp r2, 0x3 - bne _0800F5E8 - ldr r0, _0800F5E4 @ =gUnknown_83FE883 - movs r1, 0x15 - bl BattlePutTextOnWindow - b _0800F6F0 - .align 2, 0 -_0800F5E0: .4byte gBattleOutcome -_0800F5E4: .4byte gUnknown_83FE883 -_0800F5E8: - ldr r0, _0800F61C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0800F666 - cmp r2, 0x1 - bne _0800F632 - ldr r2, _0800F620 @ =gLinkPlayers - ldr r0, _0800F624 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xB5 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x18] - cmp r0, 0x1 - beq _0800F682 - cmp r0, 0x1 - bgt _0800F628 - cmp r0, 0 - beq _0800F6BC - b _0800F6F0 - .align 2, 0 -_0800F61C: .4byte gBattleTypeFlags -_0800F620: .4byte gLinkPlayers -_0800F624: .4byte gBattleStruct -_0800F628: - cmp r0, 0x2 - beq _0800F6BC - cmp r0, 0x3 - bne _0800F6F0 - b _0800F682 -_0800F632: - ldr r2, _0800F654 @ =gLinkPlayers - ldr r0, _0800F658 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xB5 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x18] - cmp r0, 0x1 - beq _0800F6BC - cmp r0, 0x1 - bgt _0800F65C - cmp r0, 0 - beq _0800F682 - b _0800F6F0 - .align 2, 0 -_0800F654: .4byte gLinkPlayers -_0800F658: .4byte gBattleStruct -_0800F65C: - cmp r0, 0x2 - beq _0800F682 - cmp r0, 0x3 - bne _0800F6F0 - b _0800F6BC -_0800F666: - cmp r2, 0x1 - bne _0800F6A4 - ldr r2, _0800F694 @ =gLinkPlayers - ldr r0, _0800F698 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xB5 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x18] - cmp r0, 0 - beq _0800F6BC -_0800F682: - ldr r0, _0800F69C @ =gUnknown_83FE874 - movs r1, 0x17 - bl BattlePutTextOnWindow - ldr r0, _0800F6A0 @ =gUnknown_83FE87B - movs r1, 0x16 - bl BattlePutTextOnWindow - b _0800F6F0 - .align 2, 0 -_0800F694: .4byte gLinkPlayers -_0800F698: .4byte gBattleStruct -_0800F69C: .4byte gUnknown_83FE874 -_0800F6A0: .4byte gUnknown_83FE87B -_0800F6A4: - ldr r2, _0800F6D0 @ =gLinkPlayers - ldr r0, _0800F6D4 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xB5 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x18] - cmp r0, 0 - beq _0800F6E0 -_0800F6BC: - ldr r0, _0800F6D8 @ =gUnknown_83FE874 - movs r1, 0x16 - bl BattlePutTextOnWindow - ldr r0, _0800F6DC @ =gUnknown_83FE87B - movs r1, 0x17 - bl BattlePutTextOnWindow - b _0800F6F0 - .align 2, 0 -_0800F6D0: .4byte gLinkPlayers -_0800F6D4: .4byte gBattleStruct -_0800F6D8: .4byte gUnknown_83FE874 -_0800F6DC: .4byte gUnknown_83FE87B -_0800F6E0: - ldr r0, _0800F6F4 @ =gUnknown_83FE874 - movs r1, 0x17 - bl BattlePutTextOnWindow - ldr r0, _0800F6F8 @ =gUnknown_83FE87B - movs r1, 0x16 - bl BattlePutTextOnWindow -_0800F6F0: - pop {r0} - bx r0 - .align 2, 0 -_0800F6F4: .4byte gUnknown_83FE874 -_0800F6F8: .4byte gUnknown_83FE87B - thumb_func_end sub_800F5CC - - thumb_func_start sub_800F6FC -sub_800F6FC: @ 800F6FC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _0800F728 @ =gTasks - lsls r0, r7, 2 - mov r8, r0 - adds r0, r7 - lsls r0, 3 - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _0800F71E - b _0800F850 -_0800F71E: - cmp r0, 0x1 - bgt _0800F72C - cmp r0, 0 - beq _0800F734 - b _0800FAC4 - .align 2, 0 -_0800F728: .4byte gTasks -_0800F72C: - cmp r0, 0x2 - bne _0800F732 - b _0800F8F0 -_0800F732: - b _0800FAC4 -_0800F734: - ldr r0, _0800F75C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0800F7CC - movs r5, 0 - movs r6, 0x3 -_0800F744: - ldr r0, _0800F760 @ =gLinkPlayers + 8 - adds r1, r5, r0 - subs r0, 0x8 - adds r4, r5, r0 - ldrh r0, [r4, 0x18] - cmp r0, 0x1 - beq _0800F77C - cmp r0, 0x1 - bgt _0800F764 - cmp r0, 0 - beq _0800F76E - b _0800F7C2 - .align 2, 0 -_0800F75C: .4byte gBattleTypeFlags -_0800F760: .4byte gLinkPlayers + 8 -_0800F764: - cmp r0, 0x2 - beq _0800F790 - cmp r0, 0x3 - beq _0800F7AA - b _0800F7C2 -_0800F76E: - adds r0, r1, 0 - movs r1, 0x11 - bl BattlePutTextOnWindow - ldrb r1, [r4, 0x18] - movs r0, 0x4 - b _0800F79C -_0800F77C: - adds r0, r1, 0 - movs r1, 0x12 - bl BattlePutTextOnWindow - ldrb r1, [r4, 0x18] - movs r0, 0x4 - str r0, [sp] - adds r0, r7, 0 - movs r2, 0x2 - b _0800F7A2 -_0800F790: - adds r0, r1, 0 - movs r1, 0x13 - bl BattlePutTextOnWindow - ldrb r1, [r4, 0x18] - movs r0, 0x8 -_0800F79C: - str r0, [sp] - adds r0, r7, 0 - movs r2, 0x1 -_0800F7A2: - movs r3, 0x2 - bl sub_800F460 - b _0800F7C2 -_0800F7AA: - adds r0, r1, 0 - movs r1, 0x14 - bl BattlePutTextOnWindow - ldrb r1, [r4, 0x18] - movs r0, 0x8 - str r0, [sp] - adds r0, r7, 0 - movs r2, 0x2 - movs r3, 0x2 - bl sub_800F460 -_0800F7C2: - adds r5, 0x1C - subs r6, 0x1 - cmp r6, 0 - bge _0800F744 - b _0800F830 -_0800F7CC: - ldr r0, _0800F844 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xB5 - ldrb r5, [r0] - movs r0, 0x1 - adds r6, r5, 0 - eors r6, r0 - adds r1, r6, 0 - ldr r4, _0800F848 @ =gLinkPlayers - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x18] - cmp r0, 0 - beq _0800F7F0 - adds r6, r5, 0 - adds r5, r1, 0 -_0800F7F0: - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - adds r4, 0x8 - adds r1, r0, r4 - adds r0, r1, 0 - movs r1, 0xF - bl BattlePutTextOnWindow - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r1, r0, r4 - adds r0, r1, 0 - movs r1, 0x10 - bl BattlePutTextOnWindow - movs r4, 0x7 - str r4, [sp] - adds r0, r7, 0 - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0x2 - bl sub_800F460 - str r4, [sp] - adds r0, r7, 0 - adds r1, r6, 0 - movs r2, 0x2 - movs r3, 0x2 - bl sub_800F460 -_0800F830: - ldr r0, _0800F84C @ =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0800FAC4 - .align 2, 0 -_0800F844: .4byte gBattleStruct -_0800F848: .4byte gLinkPlayers -_0800F84C: .4byte gTasks -_0800F850: - ldr r0, _0800F8CC @ =0x00002710 - bl AllocSpritePalette - lsls r0, 24 - ldr r2, _0800F8D0 @ =gPlttBufferUnfaded - lsrs r0, 19 - ldr r3, _0800F8D4 @ =0x0000021e - adds r0, r3 - adds r2, r0, r2 - ldr r1, _0800F8D8 @ =gPlttBufferFaded - adds r0, r1 - ldr r1, _0800F8DC @ =0x00007fff - strh r1, [r0] - strh r1, [r2] - ldr r0, _0800F8E0 @ =gUnknown_82482E8 - movs r1, 0x6C - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r4, _0800F8E4 @ =gBattleStruct - ldr r1, [r4] - adds r1, 0x7D - strb r0, [r1] - ldr r0, _0800F8E8 @ =gUnknown_8248300 - movs r1, 0x84 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r1, [r4] - adds r1, 0x7E - strb r0, [r1] - ldr r3, _0800F8EC @ =gSprites - ldr r0, [r4] - adds r0, 0x7D - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x7E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _0800FAC4 - .align 2, 0 -_0800F8CC: .4byte 0x00002710 -_0800F8D0: .4byte gPlttBufferUnfaded -_0800F8D4: .4byte 0x0000021e -_0800F8D8: .4byte gPlttBufferFaded -_0800F8DC: .4byte 0x00007fff -_0800F8E0: .4byte gUnknown_82482E8 -_0800F8E4: .4byte gBattleStruct -_0800F8E8: .4byte gUnknown_8248300 -_0800F8EC: .4byte gSprites -_0800F8F0: - movs r1, 0x12 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _0800F958 - ldr r4, _0800F944 @ =gBattle_BG1_X - ldrh r0, [r5, 0xA] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0800F90A - adds r0, 0x1F -_0800F90A: - asrs r1, r0, 5 - movs r2, 0x14 - negs r2, r2 - adds r0, r2, 0 - subs r0, r1 - strh r0, [r4] - ldr r4, _0800F948 @ =gBattle_BG2_X - ldrh r0, [r5, 0xC] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0800F928 - adds r0, 0x1F -_0800F928: - asrs r1, r0, 5 - movs r3, 0x8C - negs r3, r3 - adds r0, r3, 0 - subs r0, r1 - strh r0, [r4] - ldr r0, _0800F94C @ =gBattle_BG1_Y - ldr r2, _0800F950 @ =0x0000ffdc - adds r1, r2, 0 - strh r1, [r0] - ldr r0, _0800F954 @ =gBattle_BG2_Y - strh r1, [r0] - b _0800F9C4 - .align 2, 0 -_0800F944: .4byte gBattle_BG1_X -_0800F948: .4byte gBattle_BG2_X -_0800F94C: .4byte gBattle_BG1_Y -_0800F950: .4byte 0x0000ffdc -_0800F954: .4byte gBattle_BG2_Y -_0800F958: - ldr r4, _0800F9E8 @ =gBattle_BG1_X - ldrh r0, [r5, 0xA] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0800F96A - adds r0, 0x1F -_0800F96A: - asrs r1, r0, 5 - movs r3, 0x14 - negs r3, r3 - adds r0, r3, 0 - subs r0, r1 - strh r0, [r4] - ldr r4, _0800F9EC @ =gBattle_BG1_Y - ldrh r0, [r5, 0xA] - bl Cos2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0800F988 - adds r0, 0x1F -_0800F988: - asrs r0, 5 - subs r0, 0xA4 - strh r0, [r4] - ldr r4, _0800F9F0 @ =gBattle_BG2_X - ldrh r0, [r5, 0xC] - bl Sin2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0800F9A0 - adds r0, 0x1F -_0800F9A0: - asrs r1, r0, 5 - movs r2, 0x8C - negs r2, r2 - adds r0, r2, 0 - subs r0, r1 - strh r0, [r4] - ldr r4, _0800F9F4 @ =gBattle_BG2_Y - ldrh r0, [r5, 0xC] - bl Cos2 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _0800F9BE - adds r0, 0x1F -_0800F9BE: - asrs r0, 5 - subs r0, 0xA4 - strh r0, [r4] -_0800F9C4: - ldr r1, _0800F9F8 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r1, r0, r1 - ldrh r0, [r1, 0xC] - movs r2, 0xC - ldrsh r3, [r1, r2] - mov r8, r3 - cmp r3, 0 - beq _0800F9FC - subs r0, 0x2 - strh r0, [r1, 0xC] - ldrh r0, [r1, 0xA] - adds r0, 0x2 - strh r0, [r1, 0xA] - b _0800FAC4 - .align 2, 0 -_0800F9E8: .4byte gBattle_BG1_X -_0800F9EC: .4byte gBattle_BG1_Y -_0800F9F0: .4byte gBattle_BG2_X -_0800F9F4: .4byte gBattle_BG2_Y -_0800F9F8: .4byte gTasks -_0800F9FC: - movs r3, 0x12 - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _0800FA08 - bl sub_800F5CC -_0800FA08: - movs r0, 0x71 - bl PlaySE - adds r0, r7, 0 - bl DestroyTask - ldr r4, _0800FAD0 @ =gSprites - ldr r5, _0800FAD4 @ =gBattleStruct - ldr r0, [r5] - adds r0, 0x7D - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x7E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - ldr r5, [r5] - adds r6, r5, 0 - adds r6, 0x7E - ldrb r0, [r6] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r1, 22 - adds r1, 0x40 - ldr r7, _0800FAD8 @ =0x000003ff - adds r0, r7, 0 - ands r1, r0 - ldr r0, _0800FADC @ =0xfffffc00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, 0x4] - adds r5, 0x7D - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - mov r1, r8 - strh r1, [r0, 0x2E] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - strh r1, [r0, 0x2E] - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x20] - strh r1, [r0, 0x30] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x20] - strh r1, [r0, 0x30] - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - mov r2, r8 - strh r2, [r0, 0x32] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r2, [r0, 0x32] -_0800FAC4: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800FAD0: .4byte gSprites -_0800FAD4: .4byte gBattleStruct -_0800FAD8: .4byte 0x000003ff -_0800FADC: .4byte 0xfffffc00 - thumb_func_end sub_800F6FC - - thumb_func_start DrawBattleEntryBackground -DrawBattleEntryBackground: @ 800FAE0 - push {r4,lr} - ldr r0, _0800FB64 @ =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0800FB94 - ldr r0, _0800FB68 @ =gFile_graphics_battle_transitions_vs_frame_sheet - ldr r1, _0800FB6C @ =0x06004000 - bl LZDecompressVram - ldr r0, _0800FB70 @ =gFile_graphics_battle_transitions_vs_sheet - ldr r1, _0800FB74 @ =0x06010000 - bl LZDecompressVram - ldr r0, _0800FB78 @ =gFile_graphics_battle_transitions_vs_frame_palette - movs r1, 0x60 - movs r2, 0x20 - bl LoadCompressedPalette - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - bl SetBgAttribute - ldr r1, _0800FB7C @ =0x00005c04 - movs r0, 0xA - bl SetGpuReg - ldr r4, _0800FB80 @ =gFile_graphics_battle_transitions_vs_frame_tilemap - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x48 - movs r1, 0x36 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x36 - bl SetGpuReg - ldr r0, _0800FB84 @ =gBattle_BG1_Y - ldr r2, _0800FB88 @ =0x0000ff5c - adds r1, r2, 0 - strh r1, [r0] - ldr r0, _0800FB8C @ =gBattle_BG2_Y - strh r1, [r0] - ldr r0, _0800FB90 @ =gUnknown_8248318 - bl LoadCompressedSpriteSheetUsingHeap - b _0800FC26 - .align 2, 0 -_0800FB64: .4byte gBattleTypeFlags -_0800FB68: .4byte gFile_graphics_battle_transitions_vs_frame_sheet -_0800FB6C: .4byte 0x06004000 -_0800FB70: .4byte gFile_graphics_battle_transitions_vs_sheet -_0800FB74: .4byte 0x06010000 -_0800FB78: .4byte gFile_graphics_battle_transitions_vs_frame_palette -_0800FB7C: .4byte 0x00005c04 -_0800FB80: .4byte gFile_graphics_battle_transitions_vs_frame_tilemap -_0800FB84: .4byte gBattle_BG1_Y -_0800FB88: .4byte 0x0000ff5c -_0800FB8C: .4byte gBattle_BG2_Y -_0800FB90: .4byte gUnknown_8248318 -_0800FB94: - movs r0, 0x80 - lsls r0, 9 - ands r0, r1 - cmp r0, 0 - beq _0800FBA6 - movs r0, 0 - bl sub_800F2AC - b _0800FC26 -_0800FBA6: - ldr r0, _0800FBC8 @ =0x00080902 - ands r0, r1 - cmp r0, 0 - bne _0800FBF8 - movs r0, 0x80 - lsls r0, 5 - ands r0, r1 - cmp r0, 0 - beq _0800FBD8 - ldr r0, _0800FBCC @ =gGameVersion - ldrb r0, [r0] - cmp r0, 0x4 - bne _0800FBD0 - movs r0, 0x7 - bl sub_800F2AC - b _0800FC26 - .align 2, 0 -_0800FBC8: .4byte 0x00080902 -_0800FBCC: .4byte gGameVersion -_0800FBD0: - movs r0, 0x4 - bl sub_800F2AC - b _0800FC26 -_0800FBD8: - movs r0, 0x8 - ands r1, r0 - cmp r1, 0 - beq _0800FC08 - ldr r2, _0800FC00 @ =gTrainers - ldr r0, _0800FC04 @ =gTrainerBattleOpponent_A - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0x54 - beq _0800FBF8 - cmp r0, 0x5A - bne _0800FC08 -_0800FBF8: - movs r0, 0x8 - bl sub_800F2AC - b _0800FC26 - .align 2, 0 -_0800FC00: .4byte gTrainers -_0800FC04: .4byte gTrainerBattleOpponent_A -_0800FC08: - bl sav1_map_get_battletype - lsls r0, 24 - cmp r0, 0 - bne _0800FC20 - ldr r0, _0800FC1C @ =gBattleTerrain - ldrb r0, [r0] - bl sub_800F2AC - b _0800FC26 - .align 2, 0 -_0800FC1C: .4byte gBattleTerrain -_0800FC20: - movs r0, 0x8 - bl sub_800F2AC -_0800FC26: - pop {r4} - pop {r0} - bx r0 - thumb_func_end DrawBattleEntryBackground - - thumb_func_start sub_800FC2C -sub_800FC2C: @ 800FC2C - push {lr} - ldr r0, _0800FC40 @ =gBattleTypeFlags - ldr r1, [r0] - ldr r2, _0800FC44 @ =0x00080902 - ands r2, r1 - cmp r2, 0 - beq _0800FC48 - movs r0, 0xA - b _0800FCAA - .align 2, 0 -_0800FC40: .4byte gBattleTypeFlags -_0800FC44: .4byte 0x00080902 -_0800FC48: - movs r0, 0x80 - lsls r0, 9 - ands r0, r1 - cmp r0, 0 - beq _0800FC60 - ldr r0, _0800FC5C @ =gBattleTerrain - strb r2, [r0] - movs r0, 0 - b _0800FCAA - .align 2, 0 -_0800FC5C: .4byte gBattleTerrain -_0800FC60: - movs r0, 0x8 - ands r1, r0 - cmp r1, 0 - beq _0800FC90 - ldr r2, _0800FC80 @ =gTrainers - ldr r0, _0800FC84 @ =gTrainerBattleOpponent_A - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0x54 - bne _0800FC88 - movs r0, 0xC - b _0800FCAA - .align 2, 0 -_0800FC80: .4byte gTrainers -_0800FC84: .4byte gTrainerBattleOpponent_A -_0800FC88: - cmp r0, 0x5A - bne _0800FC90 - movs r0, 0x13 - b _0800FCAA -_0800FC90: - bl sav1_map_get_battletype - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0800FCA6 - bl sub_800F238 - lsls r0, 24 - lsrs r0, 24 - b _0800FCAA -_0800FCA6: - ldr r0, _0800FCB0 @ =gBattleTerrain - ldrb r0, [r0] -_0800FCAA: - pop {r1} - bx r1 - .align 2, 0 -_0800FCB0: .4byte gBattleTerrain - thumb_func_end sub_800FC2C - - thumb_func_start sub_800FCB4 -sub_800FCB4: @ 800FCB4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - movs r4, 0 - cmp r0, 0x6 - bhi _0800FD92 - lsls r0, 2 - ldr r1, _0800FCCC @ =_0800FCD0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0800FCCC: .4byte _0800FCD0 - .align 2, 0 -_0800FCD0: - .4byte _0800FCEC - .4byte _0800FCFC - .4byte _0800FD14 - .4byte _0800FD24 - .4byte _0800FD3E - .4byte _0800FD68 - .4byte _0800FD8C -_0800FCEC: - ldr r0, _0800FCF8 @ =gBattleTextboxTiles - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - b _0800FD94 - .align 2, 0 -_0800FCF8: .4byte gBattleTextboxTiles -_0800FCFC: - ldr r1, _0800FD10 @ =gFile_graphics_interface_menu_map_tilemap - movs r0, 0 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0 - bl CopyBgTilemapBufferToVram - b _0800FD94 - .align 2, 0 -_0800FD10: .4byte gFile_graphics_interface_menu_map_tilemap -_0800FD14: - ldr r0, _0800FD20 @ =gBattleTextboxPalette - movs r1, 0 - movs r2, 0x40 - bl LoadCompressedPalette - b _0800FD94 - .align 2, 0 -_0800FD20: .4byte gBattleTextboxPalette -_0800FD24: - bl sub_800FC2C - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _0800FD5C @ =gUnknown_824EE34 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _0800FD60 @ =0x06008000 - bl LZDecompressVram -_0800FD3E: - bl sub_800FC2C - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _0800FD5C @ =gUnknown_824EE34 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 2 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - ldr r1, _0800FD64 @ =0x0600d000 - bl LZDecompressVram - b _0800FD94 - .align 2, 0 -_0800FD5C: .4byte gUnknown_824EE34 -_0800FD60: .4byte 0x06008000 -_0800FD64: .4byte 0x0600d000 -_0800FD68: - bl sub_800FC2C - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _0800FD88 @ =gUnknown_824EE34 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 2 - adds r1, 0x10 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x20 - movs r2, 0x60 - bl LoadCompressedPalette - b _0800FD94 - .align 2, 0 -_0800FD88: .4byte gUnknown_824EE34 -_0800FD8C: - bl LoadBattleMenuWindowGfx - b _0800FD94 -_0800FD92: - movs r4, 0x1 -_0800FD94: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_800FCB4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/berry_crush.s b/asm/berry_crush.s deleted file mode 100644 index 6502fc916..000000000 --- a/asm/berry_crush.s +++ /dev/null @@ -1,580 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_814B6F0 -sub_814B6F0: @ 814B6F0 - ldr r0, _0814B6F8 @ =gUnknown_203F3DC - ldr r0, [r0] - bx lr - .align 2, 0 -_0814B6F8: .4byte gUnknown_203F3DC - thumb_func_end sub_814B6F0 - - thumb_func_start sub_814B6FC -sub_814B6FC: @ 814B6FC - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _0814B70C @ =gUnknown_203F3DC - ldr r0, [r5] - cmp r0, 0 - bne _0814B710 - movs r0, 0x2 - b _0814B740 - .align 2, 0 -_0814B70C: .4byte gUnknown_203F3DC -_0814B710: - cmp r4, 0 - bne _0814B716 - ldr r4, [r0] -_0814B716: - ldrb r0, [r0, 0xA] - bl DestroyTask - ldr r0, [r5] - bl Free - movs r0, 0 - str r0, [r5] - adds r0, r4, 0 - bl SetMainCallback2 - ldr r0, _0814B748 @ =CB2_ReturnToField - cmp r4, r0 - bne _0814B73E - ldr r0, _0814B74C @ =0x0000012f - bl PlayNewMapMusic - ldr r0, _0814B750 @ =sub_8056534 - bl sub_80565E0 -_0814B73E: - movs r0, 0 -_0814B740: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0814B748: .4byte CB2_ReturnToField -_0814B74C: .4byte 0x0000012f -_0814B750: .4byte sub_8056534 - thumb_func_end sub_814B6FC - - thumb_func_start sub_814B754 -sub_814B754: @ 814B754 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - adds r4, r0, 0 - movs r0, 0 - mov r8, r0 - ldr r0, _0814B784 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _0814B772 - ldr r0, _0814B788 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - bne _0814B790 -_0814B772: - adds r0, r4, 0 - bl SetMainCallback2 - ldr r0, _0814B78C @ =Rfu - mov r1, r8 - strh r1, [r0, 0x10] - strh r1, [r0, 0x12] - b _0814B7DC - .align 2, 0 -_0814B784: .4byte gReceivedRemoteLinkPlayers -_0814B788: .4byte gWirelessCommType -_0814B78C: .4byte Rfu -_0814B790: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - bl GetMultiplayerId - lsls r0, 24 - lsrs r7, r0, 24 - mov r0, r8 - cmp r0, 0x1 - bls _0814B7AC - cmp r7, r8 - bcc _0814B7C0 -_0814B7AC: - adds r0, r4, 0 - bl SetMainCallback2 - ldr r0, _0814B7BC @ =Rfu - movs r1, 0 - strh r1, [r0, 0x10] - strh r1, [r0, 0x12] - b _0814B7DC - .align 2, 0 -_0814B7BC: .4byte Rfu -_0814B7C0: - ldr r6, _0814B7E8 @ =gUnknown_203F3DC - ldr r0, _0814B7EC @ =0x000041c0 - bl AllocZeroed - adds r5, r0, 0 - str r5, [r6] - cmp r5, 0 - bne _0814B7F4 - adds r0, r4, 0 - bl SetMainCallback2 - ldr r0, _0814B7F0 @ =Rfu - strh r5, [r0, 0x10] - strh r5, [r0, 0x12] -_0814B7DC: - adds r0, 0xEE - ldrb r1, [r0] - movs r1, 0x1 - strb r1, [r0] - b _0814B84C - .align 2, 0 -_0814B7E8: .4byte gUnknown_203F3DC -_0814B7EC: .4byte 0x000041c0 -_0814B7F0: .4byte Rfu -_0814B7F4: - str r4, [r5] - movs r4, 0 - strb r7, [r5, 0x8] - ldr r0, [r6] - mov r1, r8 - strb r1, [r0, 0x9] - ldr r0, [r6] - bl sub_814BABC - ldr r1, [r6] - movs r2, 0x1 - movs r0, 0x1 - strh r0, [r1, 0x12] - strb r2, [r1, 0xE] - ldr r1, [r6] - movs r0, 0x6 - strb r0, [r1, 0xF] - ldr r0, [r6] - adds r0, 0x36 - movs r2, 0x1 - negs r2, r2 - movs r1, 0x10 - str r1, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl sub_814D564 - ldr r2, [r6] - adds r2, 0x36 - movs r0, 0x4 - movs r1, 0x1 - bl sub_814BB4C - ldr r0, _0814B858 @ =sub_814BA80 - bl SetMainCallback2 - ldr r0, _0814B85C @ =sub_814BA98 - movs r1, 0x8 - bl CreateTask - ldr r1, [r6] - strb r0, [r1, 0xA] -_0814B84C: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814B858: .4byte sub_814BA80 -_0814B85C: .4byte sub_814BA98 - thumb_func_end sub_814B754 - - thumb_func_start sub_814B860 -sub_814B860: @ 814B860 - push {r4,lr} - sub sp, 0xC - ldr r1, _0814B878 @ =gSpecialVar_ItemId - ldrh r0, [r1] - subs r0, 0x85 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2B - bls _0814B87C - movs r0, 0x85 - strh r0, [r1] - b _0814B884 - .align 2, 0 -_0814B878: .4byte gSpecialVar_ItemId -_0814B87C: - ldrh r0, [r1] - movs r1, 0x1 - bl RemoveBagItem -_0814B884: - ldr r4, _0814B8E0 @ =gUnknown_203F3DC - ldr r2, [r4] - ldrb r0, [r2, 0x8] - lsls r0, 5 - adds r0, r2, r0 - ldr r1, _0814B8E4 @ =gSpecialVar_ItemId - ldrh r1, [r1] - subs r1, 0x85 - adds r0, 0xA4 - movs r3, 0 - strh r1, [r0] - movs r0, 0x1 - strb r0, [r2, 0xE] - ldr r1, [r4] - movs r0, 0x9 - strb r0, [r1, 0xF] - ldr r0, [r4] - adds r0, 0x36 - movs r2, 0x1 - negs r2, r2 - movs r1, 0x10 - str r1, [sp] - str r3, [sp, 0x4] - str r3, [sp, 0x8] - movs r1, 0 - bl sub_814D564 - ldr r2, [r4] - adds r2, 0x36 - movs r0, 0x4 - movs r1, 0x1 - bl sub_814BB4C - ldr r0, _0814B8E8 @ =sub_814BA98 - movs r1, 0x8 - bl CreateTask - ldr r1, [r4] - strb r0, [r1, 0xA] - ldr r0, _0814B8EC @ =sub_814BA80 - bl SetMainCallback2 - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814B8E0: .4byte gUnknown_203F3DC -_0814B8E4: .4byte gSpecialVar_ItemId -_0814B8E8: .4byte sub_814BA98 -_0814B8EC: .4byte sub_814BA80 - thumb_func_end sub_814B860 - - thumb_func_start sub_814B8F0 -sub_814B8F0: @ 814B8F0 - push {lr} - ldr r0, _0814B90C @ =gUnknown_203F3DC - ldr r0, [r0] - ldrb r0, [r0, 0xA] - bl DestroyTask - ldr r1, _0814B910 @ =sub_814B860 - movs r0, 0x5 - movs r2, 0 - bl InitBerryPouch - pop {r0} - bx r0 - .align 2, 0 -_0814B90C: .4byte gUnknown_203F3DC -_0814B910: .4byte sub_814B860 - thumb_func_end sub_814B8F0 - - thumb_func_start sub_814B914 -sub_814B914: @ 814B914 - push {lr} - ldr r0, _0814B920 @ =sub_814BA6C - bl SetVBlankCallback - pop {r0} - bx r0 - .align 2, 0 -_0814B920: .4byte sub_814BA6C - thumb_func_end sub_814B914 - - thumb_func_start sub_814B924 -sub_814B924: @ 814B924 - push {lr} - movs r0, 0 - bl SetVBlankCallback - pop {r0} - bx r0 - thumb_func_end sub_814B924 - - thumb_func_start sub_814B930 -sub_814B930: @ 814B930 - push {r4,r5,lr} - ldr r4, _0814B974 @ =gUnknown_203F3DC - ldr r0, [r4] - adds r0, 0x6C - ldrh r2, [r0] - lsls r2, 8 - movs r1, 0xF0 - lsls r1, 6 - adds r0, r2, 0 - bl sub_80D8B68 - adds r2, r0, 0 - ldr r0, [r4] - adds r0, 0x72 - ldrh r3, [r0] - lsls r3, 8 - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_80D8B68 - adds r3, r0, 0 - ldr r0, _0814B978 @ =0x0000ffff - ands r3, r0 - ldr r2, [r4] - strh r3, [r2, 0x16] - ldrb r0, [r2, 0x9] - cmp r0, 0x3 - beq _0814B9B4 - cmp r0, 0x3 - bgt _0814B97C - cmp r0, 0x2 - beq _0814B986 - b _0814BA3C - .align 2, 0 -_0814B974: .4byte gUnknown_203F3DC -_0814B978: .4byte 0x0000ffff -_0814B97C: - cmp r0, 0x4 - beq _0814B9E4 - cmp r0, 0x5 - beq _0814BA14 - b _0814BA3C -_0814B986: - ldr r5, _0814B9B0 @ =gSaveBlock2Ptr - ldr r1, [r5] - movs r0, 0xAF - lsls r0, 4 - adds r1, r0 - lsls r0, r3, 16 - lsrs r0, 16 - ldrh r1, [r1] - cmp r0, r1 - bls _0814BA3C - adds r2, 0x25 - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r5] - ldr r1, [r4] - ldrh r1, [r1, 0x16] - movs r2, 0xAF - lsls r2, 4 - b _0814BA38 - .align 2, 0 -_0814B9B0: .4byte gSaveBlock2Ptr -_0814B9B4: - ldr r5, _0814B9DC @ =gSaveBlock2Ptr - ldr r1, [r5] - ldr r0, _0814B9E0 @ =0x00000af2 - adds r1, r0 - lsls r0, r3, 16 - lsrs r0, 16 - ldrh r1, [r1] - cmp r0, r1 - bls _0814BA3C - adds r2, 0x25 - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r5] - ldr r1, [r4] - ldrh r1, [r1, 0x16] - ldr r2, _0814B9E0 @ =0x00000af2 - b _0814BA38 - .align 2, 0 -_0814B9DC: .4byte gSaveBlock2Ptr -_0814B9E0: .4byte 0x00000af2 -_0814B9E4: - ldr r5, _0814BA0C @ =gSaveBlock2Ptr - ldr r1, [r5] - ldr r0, _0814BA10 @ =0x00000af4 - adds r1, r0 - lsls r0, r3, 16 - lsrs r0, 16 - ldrh r1, [r1] - cmp r0, r1 - bls _0814BA3C - adds r2, 0x25 - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r5] - ldr r1, [r4] - ldrh r1, [r1, 0x16] - ldr r2, _0814BA10 @ =0x00000af4 - b _0814BA38 - .align 2, 0 -_0814BA0C: .4byte gSaveBlock2Ptr -_0814BA10: .4byte 0x00000af4 -_0814BA14: - ldr r5, _0814BA60 @ =gSaveBlock2Ptr - ldr r1, [r5] - ldr r0, _0814BA64 @ =0x00000af6 - adds r1, r0 - lsls r0, r3, 16 - lsrs r0, 16 - ldrh r1, [r1] - cmp r0, r1 - bls _0814BA3C - adds r2, 0x25 - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r5] - ldr r1, [r4] - ldrh r1, [r1, 0x16] - ldr r2, _0814BA64 @ =0x00000af6 -_0814BA38: - adds r0, r2 - strh r1, [r0] -_0814BA3C: - ldr r4, _0814BA68 @ =gUnknown_203F3DC - ldr r1, [r4] - ldr r0, [r1, 0x68] - str r0, [r1, 0x1C] - bl GiveBerryPowder - lsls r0, 24 - cmp r0, 0 - bne _0814BA5A - ldr r0, [r4] - adds r0, 0x25 - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] -_0814BA5A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0814BA60: .4byte gSaveBlock2Ptr -_0814BA64: .4byte 0x00000af6 -_0814BA68: .4byte gUnknown_203F3DC - thumb_func_end sub_814B930 - - thumb_func_start sub_814BA6C -sub_814BA6C: @ 814BA6C - push {lr} - bl TransferPlttBuffer - bl LoadOam - bl ProcessSpriteCopyRequests - pop {r0} - bx r0 - thumb_func_end sub_814BA6C - - thumb_func_start sub_814BA80 -sub_814BA80: @ 814BA80 - push {lr} - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - pop {r0} - bx r0 - thumb_func_end sub_814BA80 - - thumb_func_start sub_814BA98 -sub_814BA98: @ 814BA98 - push {r4,lr} - ldr r4, _0814BAB8 @ =gUnknown_203F3DC - ldr r0, [r4] - ldr r2, [r0, 0x4] - cmp r2, 0 - beq _0814BAAC - adds r1, r0, 0 - adds r1, 0x36 - bl _call_via_r2 -_0814BAAC: - ldr r0, [r4] - bl sub_814D9CC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814BAB8: .4byte gUnknown_203F3DC - thumb_func_end sub_814BA98 - - thumb_func_start sub_814BABC -sub_814BABC: @ 814BABC - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - b _0814BAE8 -_0814BAC4: - lsls r4, r5, 5 - adds r0, r4, 0 - adds r0, 0x98 - adds r0, r6, r0 - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - ldr r2, _0814BB2C @ =gLinkPlayers + 8 - adds r1, r2 - bl StringCopy - adds r4, r6, r4 - adds r4, 0x9F - movs r0, 0xFF - strb r0, [r4] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0814BAE8: - ldrb r0, [r6, 0x9] - cmp r5, r0 - bcc _0814BAC4 - cmp r5, 0x4 - bhi _0814BB14 -_0814BAF2: - lsls r4, r5, 5 - adds r0, r4, 0 - adds r0, 0x98 - adds r0, r6, r0 - movs r1, 0x1 - movs r2, 0x7 - bl memset - adds r4, r6, r4 - adds r4, 0x9F - movs r0, 0xFF - strb r0, [r4] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _0814BAF2 -_0814BB14: - ldr r0, _0814BB30 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x14] - lsls r0, 29 - lsrs r0, 29 - cmp r0, 0x1 - beq _0814BB3E - cmp r0, 0x1 - bgt _0814BB34 - cmp r0, 0 - beq _0814BB3A - b _0814BB46 - .align 2, 0 -_0814BB2C: .4byte gLinkPlayers + 8 -_0814BB30: .4byte gSaveBlock2Ptr -_0814BB34: - cmp r0, 0x2 - beq _0814BB42 - b _0814BB46 -_0814BB3A: - movs r0, 0x8 - b _0814BB44 -_0814BB3E: - movs r0, 0x4 - b _0814BB44 -_0814BB42: - movs r0, 0x1 -_0814BB44: - strb r0, [r6, 0xB] -_0814BB46: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_814BABC - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/berry_crush_2.s b/asm/berry_crush_2.s deleted file mode 100644 index 7495c8519..000000000 --- a/asm/berry_crush_2.s +++ /dev/null @@ -1,3494 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_814BB4C -sub_814BB4C: @ 814BB4C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r2, 0 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 24 - lsrs r4, r1, 24 - mov r8, r4 - bl sub_814B6F0 - adds r6, r0, 0 - cmp r5, 0x19 - bls _0814BB6A - movs r5, 0 -_0814BB6A: - cmp r4, 0 - beq _0814BB74 - cmp r4, 0x1 - beq _0814BBA0 - b _0814BBAA -_0814BB74: - cmp r5, 0 - beq _0814BB88 - ldr r0, _0814BB9C @ =gUnknown_846E34C - lsls r1, r5, 2 - adds r1, r0 - ldr r2, [r1] - adds r0, r6, 0 - adds r1, r7, 0 - bl _call_via_r2 -_0814BB88: - ldrb r0, [r6, 0xE] - cmp r0, 0x19 - bls _0814BB92 - mov r0, r8 - strb r0, [r6, 0xE] -_0814BB92: - ldr r0, _0814BB9C @ =gUnknown_846E34C - ldrb r1, [r6, 0xE] - lsls r1, 2 - b _0814BBA4 - .align 2, 0 -_0814BB9C: .4byte gUnknown_846E34C -_0814BBA0: - ldr r0, _0814BBB4 @ =gUnknown_846E34C - lsls r1, r5, 2 -_0814BBA4: - adds r1, r0 - ldr r0, [r1] - str r0, [r6, 0x4] -_0814BBAA: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814BBB4: .4byte gUnknown_846E34C - thumb_func_end sub_814BB4C - - thumb_func_start sub_814BBB8 -sub_814BBB8: @ 814BBB8 - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - ldrb r2, [r1] - ldrb r3, [r1, 0x1] - lsls r3, 8 - orrs r2, r3 - ldrb r3, [r1, 0x2] - lsls r3, 16 - orrs r2, r3 - ldrb r3, [r1, 0x3] - lsls r3, 24 - adds r0, r2, 0 - orrs r0, r3 - ldrb r2, [r1, 0x9] - strb r2, [r1] - ldrb r4, [r1, 0x8] - lsls r4, 8 - ldrb r2, [r1, 0x7] - orrs r4, r2 - ldr r5, _0814BC0C @ =gPaletteFade - ldrb r3, [r5, 0x8] - movs r2, 0x7F - ands r2, r3 - strb r2, [r5, 0x8] - movs r5, 0x4 - ldrsb r5, [r1, r5] - ldrb r2, [r1, 0x5] - ldrb r3, [r1, 0x6] - str r4, [sp] - adds r1, r5, 0 - bl BeginNormalPaletteFade - bl UpdatePaletteFade - movs r0, 0x2 - strb r0, [r6, 0xE] - movs r0, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0814BC0C: .4byte gPaletteFade - thumb_func_end sub_814BBB8 - - thumb_func_start sub_814BC10 -sub_814BC10: @ 814BC10 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0xC] - cmp r0, 0x1 - beq _0814BC44 - cmp r0, 0x1 - bgt _0814BC26 - cmp r0, 0 - beq _0814BC30 - b _0814BC66 -_0814BC26: - cmp r0, 0x2 - beq _0814BC4A - cmp r0, 0x3 - beq _0814BC56 - b _0814BC66 -_0814BC30: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _0814BC6C - ldrb r0, [r5] - cmp r0, 0 - bne _0814BC66 - movs r0, 0x3 - b _0814BC6A -_0814BC44: - bl sub_80FA42C - b _0814BC66 -_0814BC4A: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - bne _0814BC66 - b _0814BC6C -_0814BC56: - ldrb r0, [r4, 0xF] - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - movs r0, 0 - strb r0, [r4, 0xC] - b _0814BC6E -_0814BC66: - ldrb r0, [r4, 0xC] - adds r0, 0x1 -_0814BC6A: - strb r0, [r4, 0xC] -_0814BC6C: - movs r0, 0 -_0814BC6E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_814BC10 - - thumb_func_start sub_814BC74 -sub_814BC74: @ 814BC74 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r7, r0, 0 - adds r5, r1, 0 - ldrb r4, [r5, 0x3] - lsls r4, 8 - ldrb r0, [r5, 0x2] - orrs r4, r0 - ldrb r6, [r7, 0xC] - cmp r6, 0x1 - beq _0814BD20 - cmp r6, 0x1 - bgt _0814BC98 - cmp r6, 0 - beq _0814BCA2 - b _0814BD68 -_0814BC98: - cmp r6, 0x2 - beq _0814BD38 - cmp r6, 0x3 - beq _0814BD48 - b _0814BD68 -_0814BCA2: - movs r0, 0 - movs r1, 0 - bl DrawDialogueFrame - ldrb r1, [r5, 0x1] - movs r0, 0x2 - mov r8, r0 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _0814BCF0 - ldr r4, _0814BCE8 @ =gStringVar4 - ldr r1, _0814BCEC @ =gUnknown_846E328 - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl StringExpandPlaceholders - ldrb r3, [r7, 0xB] - str r6, [sp] - mov r0, r8 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x2 - adds r2, r4, 0 - bl AddTextPrinterParameterized2 - b _0814BD12 - .align 2, 0 -_0814BCE8: .4byte gStringVar4 -_0814BCEC: .4byte gUnknown_846E328 -_0814BCF0: - ldr r1, _0814BD1C @ =gUnknown_846E328 - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r2, [r0] - ldrb r3, [r7, 0xB] - str r4, [sp] - mov r0, r8 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x2 - bl AddTextPrinterParameterized2 -_0814BD12: - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - b _0814BD68 - .align 2, 0 -_0814BD1C: .4byte gUnknown_846E328 -_0814BD20: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _0814BD6E - cmp r4, 0 - bne _0814BD68 - ldrb r0, [r7, 0xC] - adds r0, 0x1 - strb r0, [r7, 0xC] - b _0814BD68 -_0814BD38: - ldr r0, _0814BD44 @ =gMain - ldrh r0, [r0, 0x2E] - ands r4, r0 - cmp r4, 0 - bne _0814BD68 - b _0814BD6E - .align 2, 0 -_0814BD44: .4byte gMain -_0814BD48: - ldrb r1, [r5, 0x1] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0814BD5A - movs r0, 0 - movs r1, 0x1 - bl ClearDialogWindowAndFrame -_0814BD5A: - ldrb r0, [r7, 0xE] - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - ldrb r0, [r5, 0x4] - b _0814BD6C -_0814BD68: - ldrb r0, [r7, 0xC] - adds r0, 0x1 -_0814BD6C: - strb r0, [r7, 0xC] -_0814BD6E: - movs r0, 0 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_814BC74 - - thumb_func_start sub_814BD7C -sub_814BD7C: @ 814BD7C - push {r4,lr} - adds r4, r0, 0 - bl sub_814D5C8 - cmp r0, 0 - beq _0814BD94 - ldrb r0, [r4, 0xE] - adds r2, r4, 0 - adds r2, 0x36 - movs r1, 0 - bl sub_814BB4C -_0814BD94: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814BD7C - - thumb_func_start sub_814BD9C -sub_814BD9C: @ 814BD9C - push {r4,lr} - adds r4, r0, 0 - bl sub_814D888 - cmp r0, 0 - beq _0814BDB4 - ldrb r0, [r4, 0xE] - adds r2, r4, 0 - adds r2, 0x36 - movs r1, 0 - bl sub_814BB4C -_0814BDB4: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814BD9C - - thumb_func_start sub_814BDBC -sub_814BDBC: @ 814BDBC - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0xC] - cmp r0, 0 - beq _0814BDCC - cmp r0, 0x1 - beq _0814BDD2 - b _0814BDFC -_0814BDCC: - bl sub_80FA42C - b _0814BDFC -_0814BDD2: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814BE02 - ldr r0, _0814BDF8 @ =0x00000111 - bl PlayNewMapMusic - movs r0, 0x7 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - movs r1, 0 - movs r0, 0x3 - strh r0, [r4, 0x12] - strb r1, [r4, 0xC] - b _0814BE02 - .align 2, 0 -_0814BDF8: .4byte 0x00000111 -_0814BDFC: - ldrb r0, [r4, 0xC] - adds r0, 0x1 - strb r0, [r4, 0xC] -_0814BE02: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814BDBC - - thumb_func_start sub_814BE0C -sub_814BE0C: @ 814BE0C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0xC] - cmp r0, 0 - beq _0814BE22 - cmp r0, 0x1 - beq _0814BE48 - adds r0, 0x1 - b _0814BE58 -_0814BE22: - adds r0, r4, 0 - bl sub_814D4D8 - movs r0, 0x1 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0 - movs r2, 0x1 - movs r3, 0 - bl sub_814D5A4 - movs r0, 0x7 - strb r0, [r4, 0xE] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - b _0814BE5A -_0814BE48: - movs r0, 0x8 - strb r0, [r4, 0xE] - movs r0, 0x5 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - movs r0, 0x2 -_0814BE58: - strb r0, [r4, 0xC] -_0814BE5A: - movs r0, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_814BE0C - - thumb_func_start sub_814BE64 -sub_814BE64: @ 814BE64 - push {lr} - movs r1, 0 - str r1, [r0, 0x4] - ldr r0, _0814BE78 @ =sub_814B8F0 - bl SetMainCallback2 - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0814BE78: .4byte sub_814B8F0 - thumb_func_end sub_814BE64 - - thumb_func_start sub_814BE7C -sub_814BE7C: @ 814BE7C - push {r4-r7,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r2, r1, 0 - ldrb r0, [r5, 0xC] - cmp r0, 0x5 - bls _0814BE8C - b _0814BFC0 -_0814BE8C: - lsls r0, 2 - ldr r1, _0814BE98 @ =_0814BE9C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0814BE98: .4byte _0814BE9C - .align 2, 0 -_0814BE9C: - .4byte _0814BEB4 - .4byte _0814BED4 - .4byte _0814BEDA - .4byte _0814BF0A - .4byte _0814BF1A - .4byte _0814BFA4 -_0814BEB4: - movs r0, 0x1 - str r0, [sp] - adds r0, r2, 0 - movs r1, 0x1 - movs r2, 0 - movs r3, 0 - bl sub_814D5A4 - movs r0, 0x9 - strb r0, [r5, 0xE] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - b _0814BFC6 -_0814BED4: - bl sub_80FA42C - b _0814BFC0 -_0814BEDA: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814BFC6 - adds r4, r5, 0 - adds r4, 0x42 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0xC - bl memset - ldrb r0, [r5, 0x8] - lsls r0, 5 - adds r0, r5, r0 - adds r0, 0xA4 - ldrh r0, [r0] - strh r0, [r4] - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x2 - bl SendBlock - b _0814BFC0 -_0814BF0A: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814BFC6 - movs r0, 0 - strh r0, [r5, 0x10] - b _0814BFC0 -_0814BF1A: - bl GetBlockReceivedStatus - ldr r2, _0814BF98 @ =gUnknown_846E3C8 - ldrb r4, [r5, 0x9] - subs r1, r4, 0x2 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bne _0814BFC6 - movs r3, 0 - cmp r3, r4 - bcs _0814BF7E - ldr r7, _0814BF9C @ =gBlockRecvBuffer - movs r6, 0 - ldr r4, _0814BFA0 @ =gUnknown_83DFC9C -_0814BF3C: - lsls r0, r3, 5 - adds r0, r5, r0 - lsls r1, r3, 8 - adds r1, r7 - ldrh r1, [r1] - adds r2, r0, 0 - adds r2, 0xA4 - strh r1, [r2] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xB0 - bls _0814BF56 - strh r6, [r2] -_0814BF56: - ldrh r1, [r2] - lsls r1, 2 - adds r1, r4 - ldrh r0, [r5, 0x18] - ldrb r1, [r1] - adds r0, r1 - strh r0, [r5, 0x18] - ldrh r0, [r2] - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x2] - ldr r0, [r5, 0x1C] - adds r0, r1 - str r0, [r5, 0x1C] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - ldrb r0, [r5, 0x9] - cmp r3, r0 - bcc _0814BF3C -_0814BF7E: - movs r0, 0 - strh r0, [r5, 0x10] - bl ResetBlockReceivedFlags - movs r1, 0x18 - ldrsh r0, [r5, r1] - lsls r0, 8 - movs r1, 0x80 - lsls r1, 6 - bl sub_80D8B68 - str r0, [r5, 0x20] - b _0814BFC0 - .align 2, 0 -_0814BF98: .4byte gUnknown_846E3C8 -_0814BF9C: .4byte gBlockRecvBuffer -_0814BFA0: .4byte gUnknown_83DFC9C -_0814BFA4: - movs r0, 0 - movs r1, 0x1 - bl ClearDialogWindowAndFrame - movs r0, 0xA - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - movs r1, 0 - movs r0, 0x4 - strh r0, [r5, 0x12] - strb r1, [r5, 0xC] - b _0814BFC6 -_0814BFC0: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] -_0814BFC6: - movs r0, 0 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_814BE7C - - thumb_func_start sub_814BFD0 -sub_814BFD0: @ 814BFD0 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0xC] - cmp r0, 0x6 - bls _0814BFDC - b _0814C108 -_0814BFDC: - lsls r0, 2 - ldr r1, _0814BFE8 @ =_0814BFEC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0814BFE8: .4byte _0814BFEC - .align 2, 0 -_0814BFEC: - .4byte _0814C008 - .4byte _0814C01A - .4byte _0814C048 - .4byte _0814C080 - .4byte _0814C0B0 - .4byte _0814C0D2 - .4byte _0814C0E4 -_0814C008: - movs r0, 0x9C - lsls r0, 1 - adds r1, r4, r0 - adds r0, r4, 0 - bl sub_814DA24 - bl sub_80FA42C - b _0814C108 -_0814C01A: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814C10E - movs r2, 0x9C - lsls r2, 1 - adds r1, r4, r2 - movs r0, 0 - strb r0, [r1] - ldr r3, _0814C044 @ =0x00000139 - adds r1, r4, r3 - strb r0, [r1] - adds r2, 0x2 - adds r1, r4, r2 - strb r0, [r1] - adds r3, 0x2 - adds r1, r4, r3 - strb r0, [r1] - b _0814C108 - .align 2, 0 -_0814C044: .4byte 0x00000139 -_0814C048: - movs r0, 0x9C - lsls r0, 1 - adds r3, r4, r0 - ldrb r0, [r3] - lsls r0, 2 - movs r2, 0xB8 - lsls r2, 1 - adds r1, r4, r2 - adds r0, r1, r0 - ldr r2, [r0] - ldr r0, _0814C07C @ =sub_814DB84 - str r0, [r2, 0x1C] - ldrb r0, [r3] - lsls r0, 2 - adds r1, r0 - ldr r1, [r1] - adds r1, 0x2C - ldrb r2, [r1] - movs r0, 0x7F - ands r0, r2 - strb r0, [r1] - movs r0, 0x36 - bl PlaySE - b _0814C108 - .align 2, 0 -_0814C07C: .4byte sub_814DB84 -_0814C080: - movs r3, 0x9C - lsls r3, 1 - adds r2, r4, r3 - ldrb r0, [r2] - lsls r0, 2 - adds r3, 0x38 - adds r1, r4, r3 - adds r3, r1, r0 - ldr r0, [r3] - ldr r1, [r0, 0x1C] - ldr r0, _0814C0AC @ =sub_814DB84 - cmp r1, r0 - beq _0814C10E - movs r0, 0 - str r0, [r3] - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - bl sub_80FA42C - b _0814C108 - .align 2, 0 -_0814C0AC: .4byte sub_814DB84 -_0814C0B0: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814C10E - movs r0, 0x9C - lsls r0, 1 - adds r1, r4, r0 - ldrb r0, [r1] - ldrb r2, [r4, 0x9] - cmp r0, r2 - bcs _0814C0CC - movs r0, 0x2 - b _0814C10C -_0814C0CC: - movs r0, 0 - strb r0, [r1] - b _0814C108 -_0814C0D2: - movs r3, 0x9C - lsls r3, 1 - adds r1, r4, r3 - adds r0, r4, 0 - bl sub_814DC24 - bl sub_80FA42C - b _0814C108 -_0814C0E4: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814C10E - movs r0, 0x25 - bl PlaySE - movs r0, 0xB - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - movs r1, 0 - movs r0, 0x5 - strh r0, [r4, 0x12] - strb r1, [r4, 0xC] - b _0814C10E -_0814C108: - ldrb r0, [r4, 0xC] - adds r0, 0x1 -_0814C10C: - strb r0, [r4, 0xC] -_0814C10E: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814BFD0 - - thumb_func_start sub_814C118 -sub_814C118: @ 814C118 - push {r4-r7,lr} - adds r4, r0, 0 - ldrb r1, [r4, 0xC] - cmp r1, 0x1 - beq _0814C17C - cmp r1, 0x1 - bgt _0814C12C - cmp r1, 0 - beq _0814C136 - b _0814C23C -_0814C12C: - cmp r1, 0x2 - beq _0814C1FC - cmp r1, 0x3 - beq _0814C21E - b _0814C23C -_0814C136: - ldrh r0, [r4, 0x2A] - adds r0, 0x4 - strh r0, [r4, 0x2A] - lsls r0, 16 - cmp r0, 0 - bge _0814C144 - b _0814C242 -_0814C144: - strh r1, [r4, 0x2A] - ldr r0, _0814C174 @ =0x00000139 - adds r3, r4, r0 - movs r0, 0x4 - strb r0, [r3] - movs r2, 0x9C - lsls r2, 1 - adds r1, r4, r2 - movs r0, 0 - strb r0, [r1] - ldr r2, _0814C178 @ =gUnknown_846E2F0 - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - adds r0, r2 - ldrb r0, [r0] - movs r2, 0x9D - lsls r2, 1 - adds r1, r4, r2 - strb r0, [r1] - movs r0, 0xCF - bl PlaySE - b _0814C23C - .align 2, 0 -_0814C174: .4byte 0x00000139 -_0814C178: .4byte gUnknown_846E2F0 -_0814C17C: - ldr r7, _0814C1F4 @ =gUnknown_846E2F0 - movs r0, 0x9C - lsls r0, 1 - adds r6, r4, r0 - ldr r1, _0814C1F8 @ =0x00000139 - adds r5, r4, r1 - ldrb r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - ldrb r2, [r6] - adds r0, r2 - adds r0, r7 - movs r1, 0 - ldrsb r1, [r0, r1] - strh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x12 - bl SetGpuReg - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1A - bl SetGpuReg - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1E - bl SetGpuReg - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] - movs r1, 0x9D - lsls r1, 1 - adds r2, r4, r1 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r2] - cmp r0, r1 - bcc _0814C242 - ldrb r0, [r5] - cmp r0, 0 - beq _0814C23C - subs r0, 0x1 - strb r0, [r5] - ldrb r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - adds r0, r7 - ldrb r0, [r0] - strb r0, [r2] - movs r0, 0 - strb r0, [r6] - b _0814C242 - .align 2, 0 -_0814C1F4: .4byte gUnknown_846E2F0 -_0814C1F8: .4byte 0x00000139 -_0814C1FC: - movs r0, 0 - strh r0, [r4, 0x2C] - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - bl sub_80FA42C - b _0814C23C -_0814C21E: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814C242 - movs r0, 0xC - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - movs r1, 0 - movs r0, 0x6 - strh r0, [r4, 0x12] - strb r1, [r4, 0xC] - b _0814C242 -_0814C23C: - ldrb r0, [r4, 0xC] - adds r0, 0x1 - strb r0, [r4, 0xC] -_0814C242: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_814C118 - - thumb_func_start sub_814C24C -sub_814C24C: @ 814C24C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrb r0, [r4, 0xC] - cmp r0, 0x1 - beq _0814C26C - cmp r0, 0x1 - bgt _0814C262 - cmp r0, 0 - beq _0814C292 - b _0814C2EC -_0814C262: - cmp r0, 0x2 - beq _0814C28A - cmp r0, 0x3 - beq _0814C298 - b _0814C2EC -_0814C26C: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814C2F2 - movs r1, 0x80 - lsls r1, 5 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x78 - movs r3, 0x50 - bl sub_815F138 - b _0814C2EC -_0814C28A: - bl sub_815F198 - cmp r0, 0 - bne _0814C2F2 -_0814C292: - bl sub_80FA42C - b _0814C2EC -_0814C298: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814C2F2 - movs r0, 0x9C - lsls r0, 1 - adds r1, r4, r0 - movs r0, 0 - strb r0, [r1] - ldr r2, _0814C2D4 @ =0x00000139 - adds r1, r4, r2 - strb r0, [r1] - adds r2, 0x1 - adds r1, r4, r2 - strb r0, [r1] - adds r2, 0x1 - adds r1, r4, r2 - strb r0, [r1] - strh r0, [r4, 0x10] - ldrb r0, [r4, 0x8] - cmp r0, 0 - bne _0814C2D8 - movs r0, 0xD - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - b _0814C2E2 - .align 2, 0 -_0814C2D4: .4byte 0x00000139 -_0814C2D8: - movs r0, 0xE - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C -_0814C2E2: - movs r1, 0 - movs r0, 0x7 - strh r0, [r4, 0x12] - strb r1, [r4, 0xC] - b _0814C2F2 -_0814C2EC: - ldrb r0, [r4, 0xC] - adds r0, 0x1 - strb r0, [r4, 0xC] -_0814C2F2: - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814C24C - - thumb_func_start sub_814C2FC -sub_814C2FC: @ 814C2FC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r4, r0, 0 - movs r0, 0 - mov r8, r0 - movs r2, 0 - adds r7, r2, 0 - ldrb r1, [r4, 0x9] - cmp r7, r1 - bcs _0814C40A - movs r2, 0x5E - adds r2, r4 - mov r9, r2 - ldr r3, _0814C3C0 @ =gUnknown_846E2E0 - mov r10, r3 -_0814C320: - lsls r0, r7, 4 - ldr r1, _0814C3C4 @ =gRecvCmds - adds r2, r0, r1 - ldrh r1, [r2] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - movs r3, 0xBC - lsls r3, 6 - cmp r0, r3 - bne _0814C3FE - ldrh r0, [r2, 0x2] - cmp r0, 0x2 - bne _0814C3FE - ldrb r1, [r2, 0x4] - movs r0, 0x4 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _0814C3F6 - mov r0, r9 - ldrb r2, [r0] - lsrs r1, r2, 3 - mov r3, r10 - adds r0, r7, r3 - ldrb r0, [r0] - orrs r1, r0 - lsls r1, 3 - movs r0, 0x7 - ands r0, r2 - orrs r0, r1 - mov r1, r9 - strb r0, [r1] - lsls r2, r7, 5 - adds r3, r4, r2 - mov r12, r3 - mov r1, r12 - adds r1, 0xB5 - movs r0, 0x1 - strb r0, [r1] - subs r1, 0x7 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - subs r1, 0x8 - ldrh r0, [r4, 0x28] - ldrh r1, [r1] - subs r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - mov r5, r12 - adds r5, 0xAA - ldrh r1, [r5] - subs r0, r1, 0x1 - adds r6, r2, 0 - cmp r3, r0 - blt _0814C3C8 - adds r0, r1, 0x1 - cmp r3, r0 - bgt _0814C3C8 - mov r1, r12 - adds r1, 0xA8 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - strh r3, [r5] - mov r0, r12 - adds r0, 0xAC - ldrh r1, [r1] - ldrh r2, [r0] - cmp r1, r2 - bls _0814C3D6 - strh r1, [r0] - b _0814C3D6 - .align 2, 0 -_0814C3C0: .4byte gUnknown_846E2E0 -_0814C3C4: .4byte gRecvCmds -_0814C3C8: - adds r0, r4, r6 - adds r2, r0, 0 - adds r2, 0xA8 - movs r1, 0 - strh r1, [r2] - adds r0, 0xAA - strh r3, [r0] -_0814C3D6: - adds r1, r4, r6 - ldrh r0, [r4, 0x28] - adds r3, r1, 0 - adds r3, 0xA6 - movs r2, 0 - strh r0, [r3] - adds r1, 0xB4 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bls _0814C3FE - strb r2, [r1] - b _0814C3FE -_0814C3F6: - lsls r0, r7, 5 - adds r0, r4, r0 - adds r0, 0xB5 - strb r1, [r0] -_0814C3FE: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r3, [r4, 0x9] - cmp r7, r3 - bcc _0814C320 -_0814C40A: - mov r0, r8 - cmp r0, 0x1 - bls _0814C440 - movs r7, 0 - ldrb r1, [r4, 0x9] - cmp r7, r1 - bcs _0814C440 - movs r3, 0x2 -_0814C41A: - lsls r0, r7, 5 - adds r1, r4, r0 - adds r2, r1, 0 - adds r2, 0xB5 - ldrb r0, [r2] - cmp r0, 0 - beq _0814C434 - orrs r0, r3 - strb r0, [r2] - adds r1, 0xB0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0814C434: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r2, [r4, 0x9] - cmp r7, r2 - bcc _0814C41A -_0814C440: - mov r3, r8 - cmp r3, 0 - beq _0814C4A8 - ldrh r0, [r4, 0x2E] - add r0, r8 - strh r0, [r4, 0x2E] - ldr r1, _0814C490 @ =gUnknown_846E2E8 - mov r0, r8 - subs r0, 0x1 - adds r0, r1 - ldrb r0, [r0] - add r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrh r0, [r4, 0x34] - add r0, r8 - strh r0, [r4, 0x34] - ldrh r0, [r4, 0x1A] - add r0, r8 - strh r0, [r4, 0x1A] - movs r1, 0x18 - ldrsh r0, [r4, r1] - movs r3, 0x1A - ldrsh r2, [r4, r3] - subs r0, r2 - cmp r0, 0 - ble _0814C494 - lsls r2, 8 - ldr r1, [r4, 0x20] - adds r0, r2, 0 - bl sub_80D8B68 - adds r2, r0, 0 - asrs r2, 8 - adds r0, r4, 0 - adds r0, 0x24 - strb r2, [r0] - b _0814C4A8 - .align 2, 0 -_0814C490: .4byte gUnknown_846E2E8 -_0814C494: - adds r1, r4, 0 - adds r1, 0x24 - movs r0, 0x20 - strb r0, [r1] - adds r2, r4, 0 - adds r2, 0x5E - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] -_0814C4A8: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_814C2FC - - thumb_func_start sub_814C4B8 -sub_814C4B8: @ 814C4B8 - push {r4-r6,lr} - adds r3, r0, 0 - movs r6, 0 - movs r1, 0 - adds r4, r1, 0 - ldrb r0, [r3, 0x9] - cmp r4, r0 - bcs _0814C510 - adds r5, r3, 0 - adds r5, 0x64 -_0814C4CC: - lsls r0, r4, 5 - adds r1, r3, r0 - adds r0, r1, 0 - adds r0, 0xB5 - ldrb r2, [r0] - cmp r2, 0 - beq _0814C504 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r1, 0 - adds r0, 0xB4 - ldrb r0, [r0] - adds r1, r0, 0x1 - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _0814C4F4 - movs r0, 0x4 - orrs r1, r0 -_0814C4F4: - lsls r0, r4, 1 - adds r0, r4 - lsls r1, r0 - lsls r0, r1, 16 - lsrs r1, r0, 16 - ldrh r0, [r5] - orrs r1, r0 - strh r1, [r5] -_0814C504: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r1, [r3, 0x9] - cmp r4, r1 - bcc _0814C4CC -_0814C510: - adds r0, r3, 0 - adds r0, 0x24 - ldrb r1, [r0] - adds r0, 0x3C - strh r1, [r0] - cmp r6, 0 - bne _0814C534 - ldr r2, _0814C530 @ =0x0000013b - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _0814C600 - movs r4, 0x9C - lsls r4, 1 - adds r1, r3, r4 - b _0814C572 - .align 2, 0 -_0814C530: .4byte 0x0000013b -_0814C534: - ldr r5, _0814C560 @ =0x0000013b - adds r2, r3, r5 - ldrb r0, [r2] - cmp r0, 0 - beq _0814C57A - ldr r0, _0814C564 @ =0x00000139 - adds r1, r3, r0 - ldrb r2, [r1] - cmp r6, r2 - beq _0814C56C - subs r0, r6, 0x1 - strb r0, [r1] - ldr r1, _0814C568 @ =gUnknown_846E314 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - movs r4, 0x9D - lsls r4, 1 - adds r1, r3, r4 - strb r0, [r1] - b _0814C5A0 - .align 2, 0 -_0814C560: .4byte 0x0000013b -_0814C564: .4byte 0x00000139 -_0814C568: .4byte gUnknown_846E314 -_0814C56C: - movs r5, 0x9C - lsls r5, 1 - adds r1, r3, r5 -_0814C572: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0814C5A0 -_0814C57A: - movs r0, 0x9C - lsls r0, 1 - adds r1, r3, r0 - movs r0, 0 - strb r0, [r1] - subs r0, r6, 0x1 - ldr r4, _0814C5D0 @ =0x00000139 - adds r1, r3, r4 - strb r0, [r1] - ldr r1, _0814C5D4 @ =gUnknown_846E314 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - movs r5, 0x9D - lsls r5, 1 - adds r1, r3, r5 - strb r0, [r1] - movs r0, 0x1 - strb r0, [r2] -_0814C5A0: - ldr r0, _0814C5D8 @ =0x0000013b - adds r4, r3, r0 - ldrb r0, [r4] - cmp r0, 0 - beq _0814C600 - movs r2, 0x9C - lsls r2, 1 - adds r1, r3, r2 - movs r5, 0x9D - lsls r5, 1 - adds r2, r3, r5 - ldrb r0, [r1] - ldrb r5, [r2] - cmp r0, r5 - bcc _0814C5DC - movs r0, 0 - strb r0, [r1] - ldr r5, _0814C5D0 @ =0x00000139 - adds r1, r3, r5 - strb r0, [r1] - strb r0, [r2] - strb r0, [r4] - movs r1, 0 - b _0814C5F0 - .align 2, 0 -_0814C5D0: .4byte 0x00000139 -_0814C5D4: .4byte gUnknown_846E314 -_0814C5D8: .4byte 0x0000013b -_0814C5DC: - ldr r2, _0814C5F8 @ =gUnknown_846E314 - ldrb r1, [r1] - ldr r4, _0814C5FC @ =0x00000139 - adds r0, r3, r4 - ldrb r0, [r0] - lsls r0, 2 - adds r0, 0x1 - adds r1, r0 - adds r1, r2 - ldrb r1, [r1] -_0814C5F0: - adds r0, r3, 0 - adds r0, 0x5F - strb r1, [r0] - b _0814C608 - .align 2, 0 -_0814C5F8: .4byte gUnknown_846E314 -_0814C5FC: .4byte 0x00000139 -_0814C600: - adds r1, r3, 0 - adds r1, 0x5F - movs r0, 0 - strb r0, [r1] -_0814C608: - ldrh r1, [r3, 0x26] - adds r0, r3, 0 - adds r0, 0x62 - strh r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_814C4B8 - - thumb_func_start sub_814C618 -sub_814C618: @ 814C618 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - ldr r3, _0814C6AC @ =gMain - ldrh r1, [r3, 0x2E] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _0814C63A - adds r2, r5, 0 - adds r2, 0x5E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_0814C63A: - ldrh r1, [r3, 0x2C] - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _0814C65A - ldrb r0, [r5, 0x8] - lsls r0, 5 - adds r0, r5, r0 - adds r1, r0, 0 - adds r1, 0xB2 - ldrh r0, [r1] - ldrh r2, [r5, 0x28] - cmp r0, r2 - bcs _0814C65A - adds r0, 0x1 - strh r0, [r1] -_0814C65A: - ldrb r0, [r5, 0x8] - adds r7, r5, 0 - adds r7, 0x5E - cmp r0, 0 - beq _0814C670 - ldrb r1, [r7] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _0814C670 - b _0814C7AC -_0814C670: - adds r4, r5, 0 - adds r4, 0x5C - movs r0, 0x2 - strh r0, [r4] - ldrh r0, [r5, 0x28] - movs r1, 0x1E - bl __umodsi3 - lsls r0, 16 - mov r8, r4 - adds r6, r5, 0 - adds r6, 0x25 - cmp r0, 0 - bne _0814C6C8 - movs r0, 0x2E - ldrsh r2, [r5, r0] - ldr r1, _0814C6B0 @ =gUnknown_846E3C4 - ldrb r0, [r5, 0x9] - subs r0, 0x2 - adds r0, r1 - ldrb r0, [r0] - cmp r2, r0 - ble _0814C6B4 - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] - ldrb r0, [r6] - movs r1, 0x10 - orrs r0, r1 - b _0814C6BC - .align 2, 0 -_0814C6AC: .4byte gMain -_0814C6B0: .4byte gUnknown_846E3C4 -_0814C6B4: - ldrb r1, [r6] - movs r0, 0x11 - negs r0, r0 - ands r0, r1 -_0814C6BC: - strb r0, [r6] - movs r0, 0 - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] -_0814C6C8: - ldrh r0, [r5, 0x28] - movs r1, 0xF - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - bne _0814C73E - movs r0, 0x34 - ldrsh r2, [r5, r0] - ldr r3, _0814C6F4 @ =gUnknown_846E3B4 - ldrb r0, [r5, 0x9] - subs r0, 0x2 - lsls r1, r0, 2 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r2, r0 - bge _0814C6F8 - ldrb r1, [r6] - movs r0, 0x1F - ands r0, r1 - strb r0, [r6] - b _0814C738 - .align 2, 0 -_0814C6F4: .4byte gUnknown_846E3B4 -_0814C6F8: - adds r0, r3, 0x1 - adds r0, r1, r0 - ldrb r0, [r0] - cmp r2, r0 - bge _0814C70C - ldrb r0, [r6] - movs r1, 0x1F - ands r1, r0 - movs r0, 0x20 - b _0814C734 -_0814C70C: - adds r0, r3, 0x2 - adds r0, r1, r0 - ldrb r0, [r0] - cmp r2, r0 - bge _0814C71C - movs r0, 0x2 - strh r0, [r5, 0x34] - b _0814C738 -_0814C71C: - adds r0, r3, 0x3 - adds r0, r1, r0 - ldrb r0, [r0] - cmp r2, r0 - bge _0814C72C - movs r0, 0x3 - strh r0, [r5, 0x34] - b _0814C738 -_0814C72C: - ldrb r0, [r6] - movs r1, 0x1F - ands r1, r0 - movs r0, 0x80 -_0814C734: - orrs r1, r0 - strb r1, [r6] -_0814C738: - movs r0, 0 - strh r0, [r5, 0x34] - b _0814C76A -_0814C73E: - ldrh r0, [r5, 0x10] - adds r0, 0x1 - strh r0, [r5, 0x10] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3C - bls _0814C76A - cmp r0, 0x46 - bls _0814C75A - bl sub_80FBA44 - movs r0, 0 - strh r0, [r5, 0x10] - b _0814C76A -_0814C75A: - ldrb r0, [r7] - movs r4, 0xF8 - ands r4, r0 - cmp r4, 0 - bne _0814C76A - bl sub_80FBA44 - strh r4, [r5, 0x10] -_0814C76A: - ldrh r1, [r5, 0x28] - ldr r0, _0814C7B8 @ =0x00008c9f - cmp r1, r0 - bls _0814C77A - ldrb r0, [r7] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r7] -_0814C77A: - ldrb r1, [r6] - lsls r1, 27 - lsrs r1, 31 - lsls r1, 1 - ldrb r2, [r7] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r7] - ldrb r0, [r6] - lsrs r0, 5 - adds r2, r5, 0 - adds r2, 0x66 - strh r0, [r2] - adds r4, r5, 0 - adds r4, 0x42 - adds r0, r4, 0 - mov r1, r8 - movs r2, 0xC - bl memcpy - adds r0, r4, 0 - bl sub_80F9E2C -_0814C7AC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814C7B8: .4byte 0x00008c9f - thumb_func_end sub_814C618 - - thumb_func_start sub_814C7BC -sub_814C7BC: @ 814C7BC - push {r4,r5,lr} - adds r5, r0, 0 - movs r4, 0 - ldr r3, _0814C808 @ =gRecvCmds - ldrb r0, [r5, 0x9] - cmp r4, r0 - bcs _0814C7E0 - movs r1, 0 -_0814C7CC: - lsls r0, r4, 5 - adds r0, r5, r0 - adds r0, 0xB5 - strb r1, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r5, 0x9] - cmp r4, r0 - bcc _0814C7CC -_0814C7E0: - adds r2, r3, 0 - ldrh r0, [r2] - movs r1, 0xFF - lsls r1, 8 - ands r1, r0 - movs r0, 0xBC - lsls r0, 6 - cmp r1, r0 - bne _0814C7F8 - ldrh r0, [r2, 0x2] - cmp r0, 0x2 - beq _0814C80C -_0814C7F8: - adds r2, r5, 0 - adds r2, 0x25 - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - b _0814C84A - .align 2, 0 -_0814C808: .4byte gRecvCmds -_0814C80C: - adds r4, r5, 0 - adds r4, 0x4E - adds r0, r4, 0 - adds r1, r3, 0 - movs r2, 0xE - bl memcpy - ldrh r0, [r4, 0x6] - strh r0, [r5, 0x2A] - movs r0, 0x5 - ldrsb r0, [r4, r0] - strh r0, [r5, 0x2C] - ldrh r0, [r4, 0x8] - strh r0, [r5, 0x28] - movs r0, 0x9C - lsls r0, 1 - adds r1, r5, r0 - adds r0, r5, 0 - bl sub_814DC5C - ldrb r1, [r4, 0x4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0814C84A - adds r0, r5, 0 - adds r0, 0x25 - ldrb r1, [r0] - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0] -_0814C84A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_814C7BC - - thumb_func_start sub_814C850 -sub_814C850: @ 814C850 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x5C - movs r1, 0 - movs r2, 0xC - bl memset - adds r0, r4, 0 - adds r0, 0x4E - movs r1, 0 - movs r2, 0xE - bl memset - adds r0, r4, 0 - bl sub_814C7BC - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x12 - bl SetGpuReg - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1A - bl SetGpuReg - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1E - bl SetGpuReg - adds r0, r4, 0 - adds r0, 0x25 - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0814C8D8 - ldrh r1, [r4, 0x28] - ldr r0, _0814C8C0 @ =0x00008c9f - cmp r1, r0 - bls _0814C8C4 - adds r0, 0x1 - strh r0, [r4, 0x28] - movs r0, 0x10 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - b _0814C8CE - .align 2, 0 -_0814C8C0: .4byte 0x00008c9f -_0814C8C4: - movs r0, 0xF - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C -_0814C8CE: - movs r1, 0 - movs r0, 0 - strh r0, [r4, 0x10] - strb r1, [r4, 0xC] - b _0814C8F2 -_0814C8D8: - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] - adds r0, r4, 0 - bl sub_814C2FC - adds r0, r4, 0 - bl sub_814C4B8 - adds r0, r4, 0 - bl sub_814C618 - movs r0, 0 -_0814C8F2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814C850 - - thumb_func_start sub_814C8F8 -sub_814C8F8: @ 814C8F8 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x5C - movs r1, 0 - movs r2, 0xC - bl memset - adds r0, r4, 0 - adds r0, 0x4E - movs r1, 0 - movs r2, 0xE - bl memset - adds r0, r4, 0 - bl sub_814C7BC - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x12 - bl SetGpuReg - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1A - bl SetGpuReg - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1E - bl SetGpuReg - adds r0, r4, 0 - adds r0, 0x25 - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0814C980 - ldrh r1, [r4, 0x28] - ldr r0, _0814C968 @ =0x00008c9f - cmp r1, r0 - bls _0814C96C - adds r0, 0x1 - strh r0, [r4, 0x28] - movs r0, 0x10 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - b _0814C976 - .align 2, 0 -_0814C968: .4byte 0x00008c9f -_0814C96C: - movs r0, 0xF - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C -_0814C976: - movs r1, 0 - movs r0, 0 - strh r0, [r4, 0x10] - strb r1, [r4, 0xC] - b _0814C988 -_0814C980: - adds r0, r4, 0 - bl sub_814C618 - movs r0, 0 -_0814C988: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814C8F8 - - thumb_func_start sub_814C990 -sub_814C990: @ 814C990 - push {r4-r7,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0xC] - cmp r0, 0x5 - bls _0814C99C - b _0814CB12 -_0814C99C: - lsls r0, 2 - ldr r1, _0814C9A8 @ =_0814C9AC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0814C9A8: .4byte _0814C9AC - .align 2, 0 -_0814C9AC: - .4byte _0814C9C4 - .4byte _0814C9EC - .4byte _0814CA3C - .4byte _0814CABC - .4byte _0814CADA - .4byte _0814CAF4 -_0814C9C4: - movs r0, 0x8 - strh r0, [r4, 0x12] - movs r0, 0xCF - bl PlaySE - movs r0, 0x1 - negs r0, r0 - ldr r2, _0814C9E8 @ =0x000003ff - movs r1, 0x8 - bl BlendPalettes - movs r0, 0x9C - lsls r0, 1 - adds r1, r4, r0 - movs r0, 0x2 - strb r0, [r1] - b _0814CB12 - .align 2, 0 -_0814C9E8: .4byte 0x000003ff -_0814C9EC: - movs r1, 0x9C - lsls r1, 1 - adds r5, r4, r1 - ldrb r0, [r5] - subs r0, 0x1 - strb r0, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0814CA02 - b _0814CB18 -_0814CA02: - movs r0, 0x1 - negs r0, r0 - ldr r2, _0814CA30 @ =0x000003ff - movs r1, 0 - bl BlendPalettes - ldr r2, _0814CA34 @ =0x00000139 - adds r1, r4, r2 - movs r0, 0x4 - strb r0, [r1] - movs r0, 0 - strb r0, [r5] - ldr r2, _0814CA38 @ =gUnknown_846E2F0 - ldrb r1, [r1] - lsls r0, r1, 3 - subs r0, r1 - adds r0, r2 - ldrb r0, [r0] - movs r2, 0x9D - lsls r2, 1 - adds r1, r4, r2 - strb r0, [r1] - b _0814CB12 - .align 2, 0 -_0814CA30: .4byte 0x000003ff -_0814CA34: .4byte 0x00000139 -_0814CA38: .4byte gUnknown_846E2F0 -_0814CA3C: - ldr r7, _0814CAB4 @ =gUnknown_846E2F0 - movs r0, 0x9C - lsls r0, 1 - adds r6, r4, r0 - ldr r1, _0814CAB8 @ =0x00000139 - adds r5, r4, r1 - ldrb r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - ldrb r2, [r6] - adds r0, r2 - adds r0, r7 - movs r1, 0 - ldrsb r1, [r0, r1] - strh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x12 - bl SetGpuReg - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1A - bl SetGpuReg - ldrh r1, [r4, 0x2C] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1E - bl SetGpuReg - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] - movs r1, 0x9D - lsls r1, 1 - adds r2, r4, r1 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r2] - cmp r0, r1 - bcc _0814CB18 - ldrb r0, [r5] - cmp r0, 0 - beq _0814CB12 - subs r0, 0x1 - strb r0, [r5] - ldrb r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - adds r0, r7 - ldrb r0, [r0] - strb r0, [r2] - movs r0, 0 - strb r0, [r6] - b _0814CB18 - .align 2, 0 -_0814CAB4: .4byte gUnknown_846E2F0 -_0814CAB8: .4byte 0x00000139 -_0814CABC: - movs r0, 0 - strh r0, [r4, 0x2C] - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - b _0814CB12 -_0814CADA: - movs r2, 0x9C - lsls r2, 1 - adds r1, r4, r2 - adds r0, r4, 0 - bl sub_814DE50 - cmp r0, 0 - beq _0814CB18 - bl sub_80FA42C - movs r0, 0 - strh r0, [r4, 0x10] - b _0814CB12 -_0814CAF4: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814CB18 - movs r0, 0x11 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - movs r1, 0 - movs r0, 0 - strh r0, [r4, 0x10] - strb r1, [r4, 0xC] - b _0814CB1A -_0814CB12: - ldrb r0, [r4, 0xC] - adds r0, 0x1 - strb r0, [r4, 0xC] -_0814CB18: - movs r0, 0 -_0814CB1A: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_814C990 - - thumb_func_start sub_814CB20 -sub_814CB20: @ 814CB20 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - ldrb r0, [r5, 0xC] - cmp r0, 0x1 - beq _0814CB64 - cmp r0, 0x1 - bgt _0814CB38 - cmp r0, 0 - beq _0814CB42 - b _0814CBFC -_0814CB38: - cmp r0, 0x2 - beq _0814CB8A - cmp r0, 0x3 - beq _0814CBBC - b _0814CBFC -_0814CB42: - movs r0, 0x9 - strh r0, [r5, 0x12] - movs r0, 0x1A - bl PlaySE - movs r0, 0x1 - negs r0, r0 - movs r1, 0x8 - movs r2, 0x1F - bl BlendPalettes - movs r0, 0x9C - lsls r0, 1 - adds r1, r5, r0 - movs r0, 0x4 - strb r0, [r1] - b _0814CBFC -_0814CB64: - movs r0, 0x9C - lsls r0, 1 - adds r4, r5, r0 - ldrb r0, [r4] - subs r0, 0x1 - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _0814CC02 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - movs r2, 0x1F - bl BlendPalettes - movs r0, 0 - strb r0, [r4] - b _0814CBFC -_0814CB8A: - movs r0, 0x9C - lsls r0, 1 - adds r1, r5, r0 - adds r0, r5, 0 - bl sub_814DE50 - cmp r0, 0 - beq _0814CC02 - bl sub_80FA42C - movs r0, 0 - strh r0, [r5, 0x10] - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - b _0814CBFC -_0814CBBC: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814CC02 - ldr r0, _0814CBF8 @ =gStringVar1 - ldr r1, [r5, 0x1C] - movs r2, 0 - movs r3, 0x6 - bl ConvertIntToDecimalStringN - movs r4, 0 - str r4, [sp] - adds r0, r6, 0 - movs r1, 0x7 - movs r2, 0x1 - movs r3, 0 - bl sub_814D5A4 - movs r0, 0x13 - strb r0, [r5, 0xE] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - movs r0, 0 - strh r4, [r5, 0x10] - b _0814CC00 - .align 2, 0 -_0814CBF8: .4byte gStringVar1 -_0814CBFC: - ldrb r0, [r5, 0xC] - adds r0, 0x1 -_0814CC00: - strb r0, [r5, 0xC] -_0814CC02: - movs r0, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_814CB20 - - thumb_func_start sub_814CC0C -sub_814CC0C: @ 814CC0C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - adds r7, r0, 0 - ldrb r0, [r7, 0xC] - cmp r0, 0x7 - bls _0814CC22 - b _0814CF8E -_0814CC22: - lsls r0, 2 - ldr r1, _0814CC2C @ =_0814CC30 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0814CC2C: .4byte _0814CC30 - .align 2, 0 -_0814CC30: - .4byte _0814CC50 - .4byte _0814CC8A - .4byte _0814CC98 - .4byte _0814CD00 - .4byte _0814CE80 - .4byte _0814CF30 - .4byte _0814CF3C - .4byte _0814CF70 -_0814CC50: - adds r4, r7, 0 - adds r4, 0x42 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x4 - bl memset - ldrb r0, [r7, 0x8] - lsls r0, 5 - adds r0, r7, r0 - adds r2, r0, 0 - adds r2, 0xB2 - ldrh r1, [r7, 0x28] - ldrh r0, [r2] - cmp r0, r1 - bls _0814CC72 - strh r1, [r2] -_0814CC72: - ldrb r0, [r7, 0x8] - lsls r0, 5 - adds r0, r7, r0 - adds r0, 0xB2 - ldrh r0, [r0] - strh r0, [r4] - movs r0, 0 - adds r1, r4, 0 - movs r2, 0x2 - bl SendBlock - b _0814CF8E -_0814CC8A: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - bne _0814CC96 - b _0814CF94 -_0814CC96: - b _0814CF64 -_0814CC98: - bl GetBlockReceivedStatus - ldr r2, _0814CCF4 @ =gUnknown_846E3C8 - ldrb r3, [r7, 0x9] - subs r1, r3, 0x2 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - beq _0814CCB0 - b _0814CF94 -_0814CCB0: - movs r0, 0 - mov r8, r0 - adds r4, r7, 0 - adds r4, 0x42 - cmp r8, r3 - bcs _0814CCDE - ldr r2, _0814CCF8 @ =gBlockRecvBuffer -_0814CCBE: - mov r3, r8 - lsls r1, r3, 5 - adds r1, r7, r1 - lsls r0, r3, 8 - adds r0, r2 - ldrh r0, [r0] - adds r1, 0xB2 - strh r0, [r1] - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrb r6, [r7, 0x9] - cmp r8, r6 - bcc _0814CCBE -_0814CCDE: - movs r0, 0 - strh r0, [r7, 0x10] - strh r0, [r4] - bl ResetBlockReceivedFlags - ldrb r0, [r7, 0x8] - cmp r0, 0 - bne _0814CCFC - movs r0, 0x3 - b _0814CF92 - .align 2, 0 -_0814CCF4: .4byte gUnknown_846E3C8 -_0814CCF8: .4byte gBlockRecvBuffer -_0814CCFC: - movs r0, 0x6 - b _0814CF92 -_0814CD00: - adds r0, r7, 0 - adds r0, 0x68 - movs r1, 0 - movs r2, 0x30 - bl memset - ldrh r1, [r7, 0x28] - adds r0, r7, 0 - adds r0, 0x6C - strh r1, [r0] - movs r0, 0x18 - ldrsh r4, [r7, r0] - ldrh r0, [r7, 0x28] - movs r1, 0x3C - bl __udivsi3 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl __divsi3 - adds r1, r7, 0 - adds r1, 0x6E - strh r0, [r1] - movs r1, 0x30 - ldrsh r0, [r7, r1] - lsls r0, 8 - movs r4, 0xC8 - lsls r4, 6 - adds r1, r4, 0 - bl sub_80D8AE0 - adds r2, r0, 0 - movs r3, 0x32 - ldrsh r1, [r7, r3] - lsls r1, 8 - bl sub_80D8B68 - adds r2, r0, r4 - asrs r2, 8 - movs r1, 0x7F - adds r0, r2, 0 - ands r0, r1 - adds r1, r7, 0 - adds r1, 0x70 - strh r0, [r1] - lsls r2, 8 - movs r1, 0xC8 - lsls r1, 7 - adds r0, r2, 0 - bl sub_80D8B68 - adds r2, r0, 0 - ldrb r1, [r7, 0x9] - ldr r0, [r7, 0x1C] - muls r0, r1 - lsls r4, r0, 8 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_80D8AE0 - adds r4, r0, 0 - asrs r0, r4, 8 - str r0, [r7, 0x68] - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - adds r1, r7, 0 - adds r1, 0x8F - strb r0, [r1] - movs r6, 0 - mov r8, r6 - mov r9, r1 - ldrb r0, [r7, 0x9] - cmp r8, r0 - bcc _0814CDA4 - b _0814CF8E -_0814CDA4: - adds r0, r7, 0 - adds r0, 0x88 - add r0, r8 - mov r1, r8 - strb r1, [r0] - adds r0, r7, 0 - adds r0, 0x90 - add r0, r8 - strb r1, [r0] - mov r3, r8 - lsls r2, r3, 1 - adds r1, r7, 0 - adds r1, 0x74 - adds r1, r2 - lsls r0, r3, 5 - adds r3, r7, r0 - adds r5, r3, 0 - adds r5, 0xAE - ldrh r0, [r5] - strh r0, [r1] - adds r1, r7, 0 - adds r1, 0x72 - ldrh r6, [r1] - adds r0, r6 - strh r0, [r1] - mov r1, r9 - ldrb r0, [r1] - adds r6, r2, 0 - cmp r0, 0x1 - beq _0814CE0E - cmp r0, 0x1 - bgt _0814CDEA - cmp r0, 0 - beq _0814CDF0 - b _0814CE64 -_0814CDEA: - cmp r0, 0x2 - beq _0814CE2C - b _0814CE64 -_0814CDF0: - ldrh r0, [r5] - cmp r0, 0 - beq _0814CE32 - adds r0, r3, 0 - adds r0, 0xAC - ldrh r2, [r0] - lsls r2, 8 - adds r0, r2, 0 - movs r1, 0xC8 - lsls r1, 7 - bl sub_80D8AE0 - adds r2, r0, 0 - ldrh r4, [r5] - b _0814CE5A -_0814CE0E: - ldrh r0, [r5] - cmp r0, 0 - beq _0814CE32 - adds r0, r3, 0 - adds r0, 0xB0 - ldrh r2, [r0] - lsls r2, 8 - adds r0, r2, 0 - movs r1, 0xC8 - lsls r1, 7 - bl sub_80D8AE0 - adds r2, r0, 0 - ldrh r4, [r5] - b _0814CE5A -_0814CE2C: - ldrh r0, [r5] - cmp r0, 0 - bne _0814CE36 -_0814CE32: - movs r4, 0 - b _0814CE64 -_0814CE36: - adds r1, r3, 0 - adds r1, 0xB2 - ldrh r0, [r1] - ldrh r2, [r7, 0x28] - cmp r0, r2 - bcc _0814CE48 - movs r4, 0xC8 - lsls r4, 7 - b _0814CE64 -_0814CE48: - ldrh r2, [r1] - lsls r2, 8 - adds r0, r2, 0 - movs r1, 0xC8 - lsls r1, 7 - bl sub_80D8AE0 - adds r2, r0, 0 - ldrh r4, [r7, 0x28] -_0814CE5A: - lsls r4, 8 - adds r1, r4, 0 - bl sub_80D8B68 - adds r4, r0, 0 -_0814CE64: - asrs r4, 4 - adds r0, r7, 0 - adds r0, 0x7E - adds r0, r6 - strh r4, [r0] - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrb r3, [r7, 0x9] - cmp r8, r3 - bcc _0814CDA4 - b _0814CF8E -_0814CE80: - movs r6, 0 - mov r8, r6 - ldrb r0, [r7, 0x9] - subs r0, 0x1 - adds r1, r7, 0 - adds r1, 0x68 - str r1, [sp, 0xC] - cmp r8, r0 - bge _0814CF24 -_0814CE92: - ldrb r0, [r7, 0x9] - subs r0, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - mov r2, r8 - adds r2, 0x1 - str r2, [sp, 0x8] - cmp r4, r8 - bls _0814CF14 - adds r3, r7, 0 - adds r3, 0x74 - str r3, [sp] - adds r6, r7, 0 - adds r6, 0x88 - str r6, [sp, 0x4] - movs r0, 0x90 - adds r0, r7 - mov r10, r0 - movs r1, 0x7E - adds r1, r7 - mov r9, r1 -_0814CEBC: - subs r2, r4, 0x1 - mov r12, r2 - lsls r6, r2, 1 - ldr r0, [sp] - adds r3, r0, r6 - lsls r5, r4, 1 - adds r1, r0, r5 - ldrh r2, [r3] - ldrh r0, [r1] - cmp r2, r0 - bcs _0814CEE6 - ldrh r0, [r1] - strh r2, [r1] - strh r0, [r3] - ldr r1, [sp, 0x4] - adds r2, r1, r4 - ldrb r3, [r2] - add r1, r12 - ldrb r0, [r1] - strb r0, [r2] - strb r3, [r1] -_0814CEE6: - mov r2, r9 - adds r3, r2, r6 - adds r1, r2, r5 - ldrh r2, [r3] - ldrh r6, [r1] - cmp r2, r6 - bcs _0814CF0A - ldrh r0, [r1] - strh r2, [r1] - strh r0, [r3] - mov r0, r10 - adds r2, r0, r4 - ldrb r3, [r2] - mov r1, r10 - add r1, r12 - ldrb r0, [r1] - strb r0, [r2] - strb r3, [r1] -_0814CF0A: - mov r1, r12 - lsls r0, r1, 24 - lsrs r4, r0, 24 - cmp r4, r8 - bhi _0814CEBC -_0814CF14: - ldr r2, [sp, 0x8] - lsls r0, r2, 24 - lsrs r0, 24 - mov r8, r0 - ldrb r0, [r7, 0x9] - subs r0, 0x1 - cmp r8, r0 - blt _0814CE92 -_0814CF24: - movs r0, 0 - ldr r1, [sp, 0xC] - movs r2, 0x30 - bl SendBlock - b _0814CF8E -_0814CF30: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814CF94 - b _0814CF64 -_0814CF3C: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0814CF94 - adds r4, r7, 0 - adds r4, 0x68 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x30 - bl memset - ldr r1, _0814CF6C @ =gBlockRecvBuffer - adds r0, r4, 0 - movs r2, 0x30 - bl memcpy - bl ResetBlockReceivedFlags -_0814CF64: - movs r0, 0 - strh r0, [r7, 0x10] - b _0814CF8E - .align 2, 0 -_0814CF6C: .4byte gBlockRecvBuffer -_0814CF70: - bl sub_814B930 - movs r0, 0x12 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - movs r0, 0 - movs r1, 0xB - strh r1, [r7, 0x12] - strb r0, [r7, 0xC] - adds r1, r7, 0 - adds r1, 0x24 - strb r0, [r1] - b _0814CF94 -_0814CF8E: - ldrb r0, [r7, 0xC] - adds r0, 0x1 -_0814CF92: - strb r0, [r7, 0xC] -_0814CF94: - movs r0, 0 - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_814CC0C - - thumb_func_start sub_814CFA8 -sub_814CFA8: @ 814CFA8 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - ldrb r0, [r5, 0xC] - cmp r0, 0x4 - bhi _0814D084 - lsls r0, 2 - ldr r1, _0814CFC0 @ =_0814CFC4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0814CFC0: .4byte _0814CFC4 - .align 2, 0 -_0814CFC4: - .4byte _0814CFD8 - .4byte _0814CFEA - .4byte _0814CFFC - .4byte _0814D02C - .4byte _0814D03C -_0814CFD8: - movs r0, 0x9C - lsls r0, 1 - adds r1, r5, r0 - adds r0, r5, 0 - bl sub_814E644 - cmp r0, 0 - bne _0814D084 - b _0814D08A -_0814CFEA: - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x9C - lsls r0, 1 - adds r1, r5, r0 - movs r0, 0x1E - strb r0, [r1] - b _0814D084 -_0814CFFC: - movs r0, 0x9C - lsls r0, 1 - adds r1, r5, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _0814D00E - subs r0, 0x1 - strb r0, [r1] - b _0814D08A -_0814D00E: - ldr r0, _0814D028 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0814D08A - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_814E80C - b _0814D084 - .align 2, 0 -_0814D028: .4byte gMain -_0814D02C: - ldrh r0, [r5, 0x12] - cmp r0, 0xC - bhi _0814D084 - adds r0, 0x1 - movs r1, 0 - strh r0, [r5, 0x12] - strb r1, [r5, 0xC] - b _0814D08A -_0814D03C: - ldr r0, _0814D07C @ =gStringVar1 - ldr r1, [r5, 0x1C] - movs r2, 0 - movs r3, 0x6 - bl ConvertIntToDecimalStringN - ldr r4, _0814D080 @ =gStringVar2 - bl GetBerryPowder - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x6 - bl ConvertIntToDecimalStringN - movs r4, 0 - str r4, [sp] - adds r0, r6, 0 - movs r1, 0x2 - movs r2, 0x3 - movs r3, 0 - bl sub_814D5A4 - movs r0, 0x13 - strb r0, [r5, 0xE] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - strb r4, [r5, 0xC] - b _0814D08A - .align 2, 0 -_0814D07C: .4byte gStringVar1 -_0814D080: .4byte gStringVar2 -_0814D084: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] -_0814D08A: - movs r0, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_814CFA8 - - thumb_func_start sub_814D094 -sub_814D094: @ 814D094 - push {r4,r5,lr} - sub sp, 0x10 - adds r5, r0, 0 - adds r4, r1, 0 - ldrb r0, [r5, 0xC] - cmp r0, 0x4 - bhi _0814D178 - lsls r0, 2 - ldr r1, _0814D0AC @ =_0814D0B0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0814D0AC: .4byte _0814D0B0 - .align 2, 0 -_0814D0B0: - .4byte _0814D0C4 - .4byte _0814D100 - .4byte _0814D106 - .4byte _0814D150 - .4byte _0814D164 -_0814D0C4: - ldrh r1, [r5, 0x28] - ldr r0, _0814D0FC @ =0x00008c9f - cmp r1, r0 - bls _0814D0D6 - movs r1, 0x9C - lsls r1, 1 - adds r0, r5, r1 - bl sub_814EB04 -_0814D0D6: - movs r0, 0x1 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0x8 - movs r2, 0 - movs r3, 0 - bl sub_814D5A4 - movs r4, 0 - movs r0, 0x13 - strb r0, [r5, 0xE] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - strb r4, [r5, 0xC] - b _0814D17E - .align 2, 0 -_0814D0FC: .4byte 0x00008c9f -_0814D100: - bl sub_80FA42C - b _0814D178 -_0814D106: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814D17E - movs r0, 0 - movs r1, 0 - bl DrawDialogueFrame - ldr r2, _0814D148 @ =gText_SavingDontTurnOffThePower2 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized2 - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, _0814D14C @ =sub_80DA634 - movs r1, 0 - bl CreateTask - b _0814D178 - .align 2, 0 -_0814D148: .4byte gText_SavingDontTurnOffThePower2 -_0814D14C: .4byte sub_80DA634 -_0814D150: - ldr r0, _0814D160 @ =sub_80DA634 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _0814D178 - b _0814D17E - .align 2, 0 -_0814D160: .4byte sub_80DA634 -_0814D164: - movs r0, 0x14 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - movs r1, 0 - movs r0, 0xF - strh r0, [r5, 0x12] - strb r1, [r5, 0xC] - b _0814D17E -_0814D178: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] -_0814D17E: - movs r0, 0 - add sp, 0x10 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_814D094 - - thumb_func_start sub_814D188 -sub_814D188: @ 814D188 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - ldrb r0, [r5, 0xC] - cmp r0, 0x1 - beq _0814D1CA - cmp r0, 0x1 - bgt _0814D1A0 - cmp r0, 0 - beq _0814D1A6 - b _0814D230 -_0814D1A0: - cmp r0, 0x2 - beq _0814D1D0 - b _0814D230 -_0814D1A6: - movs r0, 0x1 - str r0, [sp] - adds r0, r6, 0 - movs r1, 0x4 - movs r2, 0 - movs r3, 0 - bl sub_814D5A4 - movs r0, 0x14 - strb r0, [r5, 0xE] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - movs r0, 0 - strb r0, [r5, 0xC] - b _0814D238 -_0814D1CA: - bl DisplayYesNoMenuDefaultYes - b _0814D230 -_0814D1D0: - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r4, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _0814D236 - adds r0, r5, 0 - adds r0, 0x42 - movs r1, 0 - movs r2, 0xC - bl memset - cmp r4, 0 - bne _0814D202 - bl CheckHasAtLeastOneBerry - lsls r0, 24 - cmp r0, 0 - beq _0814D1FE - strh r4, [r5, 0x14] - b _0814D206 -_0814D1FE: - movs r0, 0x3 - b _0814D204 -_0814D202: - movs r0, 0x1 -_0814D204: - strh r0, [r5, 0x14] -_0814D206: - movs r0, 0 - movs r1, 0x1 - bl ClearDialogWindowAndFrame - movs r4, 0 - str r4, [sp] - adds r0, r6, 0 - movs r1, 0x8 - movs r2, 0 - movs r3, 0 - bl sub_814D5A4 - movs r0, 0x15 - strb r0, [r5, 0xE] - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - strb r4, [r5, 0xC] - b _0814D236 -_0814D230: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] -_0814D236: - movs r0, 0 -_0814D238: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_814D188 - - thumb_func_start sub_814D240 -sub_814D240: @ 814D240 - push {r4-r7,lr} - adds r4, r0, 0 - movs r5, 0 - ldrb r0, [r4, 0xC] - cmp r0, 0x1 - beq _0814D266 - cmp r0, 0x1 - bgt _0814D256 - cmp r0, 0 - beq _0814D260 - b _0814D30C -_0814D256: - cmp r0, 0x2 - beq _0814D288 - cmp r0, 0x3 - beq _0814D296 - b _0814D30C -_0814D260: - bl sub_80FA42C - b _0814D30C -_0814D266: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814D312 - ldrh r0, [r4, 0x14] - adds r1, r4, 0 - adds r1, 0x42 - strh r0, [r1] - adds r0, r4, 0 - adds r0, 0x4E - strh r5, [r0] - movs r0, 0 - movs r2, 0x2 - bl SendBlock - b _0814D30C -_0814D288: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814D312 - strh r5, [r4, 0x10] - b _0814D30C -_0814D296: - bl GetBlockReceivedStatus - ldr r2, _0814D2E8 @ =gUnknown_846E3C8 - ldrb r3, [r4, 0x9] - subs r1, r3, 0x2 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bne _0814D312 - adds r7, r4, 0 - adds r7, 0x42 - adds r6, r4, 0 - adds r6, 0x4E - cmp r5, r3 - bcs _0814D2D4 - adds r1, r6, 0 - ldr r2, _0814D2EC @ =gBlockRecvBuffer -_0814D2BC: - lsls r0, r5, 8 - adds r0, r2 - ldrh r0, [r0] - ldrh r3, [r1] - adds r0, r3 - strh r0, [r1] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r4, 0x9] - cmp r5, r0 - bcc _0814D2BC -_0814D2D4: - ldrh r0, [r6] - cmp r0, 0 - beq _0814D2F0 - movs r0, 0x17 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - b _0814D2FA - .align 2, 0 -_0814D2E8: .4byte gUnknown_846E3C8 -_0814D2EC: .4byte gBlockRecvBuffer -_0814D2F0: - movs r0, 0x16 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C -_0814D2FA: - bl ResetBlockReceivedFlags - movs r1, 0 - movs r0, 0 - strh r0, [r7] - strh r0, [r6] - strh r0, [r4, 0x10] - strb r1, [r4, 0xC] - b _0814D314 -_0814D30C: - ldrb r0, [r4, 0xC] - adds r0, 0x1 - strb r0, [r4, 0xC] -_0814D312: - movs r0, 0 -_0814D314: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_814D240 - - thumb_func_start sub_814D31C -sub_814D31C: @ 814D31C - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - ldrb r4, [r5, 0xC] - cmp r4, 0x1 - beq _0814D34A - cmp r4, 0x1 - bgt _0814D332 - cmp r4, 0 - beq _0814D33C - b _0814D394 -_0814D332: - cmp r4, 0x2 - beq _0814D356 - cmp r4, 0x3 - beq _0814D37A - b _0814D394 -_0814D33C: - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0x1 - movs r2, 0 - movs r3, 0x10 - b _0814D370 -_0814D34A: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - beq _0814D394 - b _0814D39A -_0814D356: - movs r0, 0 - movs r1, 0x1 - bl ClearDialogWindowAndFrame - adds r0, r5, 0 - bl sub_814DA04 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 -_0814D370: - bl BeginNormalPaletteFade - bl UpdatePaletteFade - b _0814D394 -_0814D37A: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _0814D39A - movs r0, 0x7 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - movs r0, 0 - strh r4, [r5, 0x12] - b _0814D398 -_0814D394: - ldrb r0, [r5, 0xC] - adds r0, 0x1 -_0814D398: - strb r0, [r5, 0xC] -_0814D39A: - movs r0, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_814D31C - - thumb_func_start sub_814D3A4 -sub_814D3A4: @ 814D3A4 - push {r4,r5,lr} - sub sp, 0x10 - adds r5, r0, 0 - ldrb r4, [r5, 0xC] - cmp r4, 0x1 - beq _0814D41C - cmp r4, 0x1 - bgt _0814D3BA - cmp r4, 0 - beq _0814D3C0 - b _0814D456 -_0814D3BA: - cmp r4, 0x2 - beq _0814D434 - b _0814D456 -_0814D3C0: - movs r0, 0 - movs r1, 0 - bl DrawDialogueFrame - ldrh r1, [r5, 0x14] - cmp r1, 0x3 - bne _0814D3F0 - ldr r0, _0814D3EC @ =gUnknown_846E328 - ldr r2, [r0, 0x14] - ldrb r3, [r5, 0xB] - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - str r1, [sp, 0xC] - movs r0, 0 - movs r1, 0x2 - bl AddTextPrinterParameterized2 - b _0814D40C - .align 2, 0 -_0814D3EC: .4byte gUnknown_846E328 -_0814D3F0: - ldr r0, _0814D418 @ =gUnknown_846E328 - ldr r2, [r0, 0x18] - ldrb r3, [r5, 0xB] - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x2 - bl AddTextPrinterParameterized2 -_0814D40C: - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - b _0814D456 - .align 2, 0 -_0814D418: .4byte gUnknown_846E328 -_0814D41C: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _0814D45C - movs r0, 0x9C - lsls r0, 1 - adds r1, r5, r0 - movs r0, 0x78 - strb r0, [r1] - b _0814D456 -_0814D434: - movs r0, 0x9C - lsls r0, 1 - adds r1, r5, r0 - ldrb r0, [r1] - adds r4, r0, 0 - cmp r4, 0 - beq _0814D448 - subs r0, 0x1 - strb r0, [r1] - b _0814D45C -_0814D448: - movs r0, 0x18 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - strb r4, [r5, 0xC] - b _0814D45C -_0814D456: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] -_0814D45C: - movs r0, 0 - add sp, 0x10 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_814D3A4 - - thumb_func_start sub_814D468 -sub_814D468: @ 814D468 - push {r4,r5,lr} - adds r5, r0, 0 - ldrb r4, [r5, 0xC] - cmp r4, 0x1 - beq _0814D488 - cmp r4, 0x1 - bgt _0814D47C - cmp r4, 0 - beq _0814D482 - b _0814D4B8 -_0814D47C: - cmp r4, 0x2 - beq _0814D498 - b _0814D4B8 -_0814D482: - bl sub_80FA42C - b _0814D4B8 -_0814D488: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814D4BE - bl sub_800AAC0 - b _0814D4B8 -_0814D498: - ldr r0, _0814D4B4 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0814D4BE - movs r0, 0x19 - strb r0, [r5, 0xE] - movs r0, 0x5 - movs r1, 0x1 - movs r2, 0 - bl sub_814BB4C - strb r4, [r5, 0xC] - b _0814D4BE - .align 2, 0 -_0814D4B4: .4byte gReceivedRemoteLinkPlayers -_0814D4B8: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] -_0814D4BE: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_814D468 - - thumb_func_start sub_814D4C8 -sub_814D4C8: @ 814D4C8 - push {lr} - movs r0, 0 - bl sub_814B6FC - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_814D4C8 - - thumb_func_start sub_814D4D8 -sub_814D4D8: @ 814D4D8 - push {r4-r6,lr} - adds r4, r0, 0 - movs r5, 0 - movs r0, 0x33 - bl IncrementGameStat - strb r5, [r4, 0xD] - movs r1, 0 - strh r5, [r4, 0x10] - movs r0, 0x2 - strh r0, [r4, 0x12] - strh r5, [r4, 0x14] - str r5, [r4, 0x1C] - strh r5, [r4, 0x18] - strh r5, [r4, 0x1A] - str r5, [r4, 0x20] - adds r0, r4, 0 - adds r0, 0x24 - strb r1, [r0] - adds r1, r4, 0 - adds r1, 0x25 - movs r0, 0 - strb r0, [r1] - strh r5, [r4, 0x26] - strh r5, [r4, 0x28] - strh r5, [r4, 0x2E] - ldr r0, _0814D560 @ =0x0000ffff - strh r0, [r4, 0x32] - strh r5, [r4, 0x30] - strh r5, [r4, 0x34] - movs r6, 0 - movs r3, 0 -_0814D518: - lsls r0, r5, 5 - adds r2, r4, r0 - adds r1, r2, 0 - adds r1, 0xA4 - ldr r0, _0814D560 @ =0x0000ffff - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0xA6 - strh r3, [r0] - adds r0, 0x2 - strh r3, [r0] - adds r1, 0x6 - movs r0, 0x1 - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0xAC - strh r3, [r0] - adds r0, 0x2 - strh r3, [r0] - adds r0, 0x2 - strh r3, [r0] - adds r0, 0x2 - strh r3, [r0] - adds r0, 0x2 - strb r6, [r0] - adds r0, 0x1 - strb r6, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _0814D518 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0814D560: .4byte 0x0000ffff - thumb_func_end sub_814D4D8 - - thumb_func_start sub_814D564 -sub_814D564: @ 814D564 - push {r4-r6,lr} - sub sp, 0x8 - str r2, [sp, 0x4] - ldr r5, [sp, 0x18] - ldr r6, [sp, 0x1C] - ldr r4, [sp, 0x20] - mov r2, sp - strh r4, [r2] - add r4, sp, 0x4 - ldrb r2, [r4] - strb r2, [r0] - ldrb r2, [r4, 0x1] - strb r2, [r0, 0x1] - ldrb r2, [r4, 0x2] - strb r2, [r0, 0x2] - ldrb r2, [r4, 0x3] - strb r2, [r0, 0x3] - strb r3, [r0, 0x4] - strb r5, [r0, 0x5] - strb r6, [r0, 0x6] - mov r2, sp - ldrb r2, [r2] - strb r2, [r0, 0x7] - mov r2, sp - ldrb r2, [r2, 0x1] - strb r2, [r0, 0x8] - strb r1, [r0, 0x9] - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_814D564 - - thumb_func_start sub_814D5A4 -sub_814D5A4: @ 814D5A4 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, [sp, 0x10] - mov r4, sp - strh r3, [r4] - strb r1, [r0] - strb r2, [r0, 0x1] - mov r1, sp - ldrb r1, [r1] - strb r1, [r0, 0x2] - mov r1, sp - ldrb r1, [r1, 0x1] - strb r1, [r0, 0x3] - strb r5, [r0, 0x4] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_814D5A4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/berry_crush_3.s b/asm/berry_crush_3.s deleted file mode 100644 index 9e3334a7f..000000000 --- a/asm/berry_crush_3.s +++ /dev/null @@ -1,3431 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_814D5C8 -sub_814D5C8: @ 814D5C8 - push {r4,r5,lr} - sub sp, 0xC - bl sub_814B6F0 - adds r5, r0, 0 - cmp r5, 0 - bne _0814D5DC - movs r0, 0x1 - negs r0, r0 - b _0814D880 -_0814D5DC: - ldrb r0, [r5, 0xC] - cmp r0, 0x9 - bls _0814D5E4 - b _0814D878 -_0814D5E4: - lsls r0, 2 - ldr r1, _0814D5F0 @ =_0814D5F4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0814D5F0: .4byte _0814D5F4 - .align 2, 0 -_0814D5F4: - .4byte _0814D61C - .4byte _0814D63A - .4byte _0814D660 - .4byte _0814D66E - .4byte _0814D6F4 - .4byte _0814D73A - .4byte _0814D768 - .4byte _0814D798 - .4byte _0814D7F4 - .4byte _0814D830 -_0814D61C: - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - movs r0, 0 - movs r1, 0 - bl SetGpuReg - bl ScanlineEffect_Stop - bl ResetTempTileDataBuffers - b _0814D878 -_0814D63A: - add r0, sp, 0x8 - movs r4, 0 - strh r4, [r0] - movs r1, 0xE0 - lsls r1, 19 - ldr r2, _0814D658 @ =0x01000200 - bl CpuSet - ldr r0, _0814D65C @ =gReservedSpritePaletteCount - strb r4, [r0] - movs r0, 0x3 - bl sub_815C980 - b _0814D878 - .align 2, 0 -_0814D658: .4byte 0x01000200 -_0814D65C: .4byte gReservedSpritePaletteCount -_0814D660: - bl ResetPaletteFade - bl ResetSpriteData - bl FreeAllSpritePalettes - b _0814D878 -_0814D66E: - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _0814D6F0 @ =gUnknown_846E3CC - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - movs r0, 0xE0 - lsls r0, 1 - adds r1, r5, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - movs r0, 0x87 - lsls r0, 6 - adds r1, r5, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - movs r0, 0xC7 - lsls r0, 6 - adds r1, r5, r0 - movs r0, 0x3 - bl SetBgTilemapBuffer - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - b _0814D878 - .align 2, 0 -_0814D6F0: .4byte gUnknown_846E3CC -_0814D6F4: - movs r4, 0x20 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - movs r0, 0x40 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - b _0814D878 -_0814D73A: - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - ldr r1, _0814D764 @ =gUnknown_8EAFFC0 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - b _0814D878 - .align 2, 0 -_0814D764: .4byte gUnknown_8EAFFC0 -_0814D768: - bl FreeTempTileDataBuffersIfPossible - lsls r0, 24 - cmp r0, 0 - beq _0814D774 - b _0814D87E -_0814D774: - bl InitStandardTextBoxWindows - bl ResetBg0 - adds r0, r5, 0 - bl sub_814EB38 - adds r0, r5, 0 - bl sub_814EBB0 - ldr r0, _0814D794 @ =gPaletteFade - ldrb r1, [r0, 0x8] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0, 0x8] - b _0814D878 - .align 2, 0 -_0814D794: .4byte gPaletteFade -_0814D798: - ldr r0, _0814D7E4 @ =gUnknown_8EAFEA0 - movs r2, 0xC0 - lsls r2, 1 - movs r1, 0 - bl LoadPalette - ldr r1, _0814D7E8 @ =gUnknown_846ED90 - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - ldr r1, _0814D7EC @ =gUnknown_846EEC0 - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - ldr r1, _0814D7F0 @ =gUnknown_846F058 - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - adds r0, r5, 0 - bl sub_814EC80 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - b _0814D878 - .align 2, 0 -_0814D7E4: .4byte gUnknown_8EAFEA0 -_0814D7E8: .4byte gUnknown_846ED90 -_0814D7EC: .4byte gUnknown_846EEC0 -_0814D7F0: .4byte gUnknown_846F058 -_0814D7F4: - bl LoadWirelessStatusIndicatorSpriteGfx - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - adds r0, r5, 0 - bl sub_814ECE0 - ldr r0, _0814D82C @ =gSpriteCoordOffsetY - ldrh r1, [r0] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x16 - bl SetGpuReg - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - b _0814D878 - .align 2, 0 -_0814D82C: .4byte gSpriteCoordOffsetY -_0814D830: - ldr r2, _0814D874 @ =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuRegBits - bl sub_814B914 - movs r0, 0 - strb r0, [r5, 0xC] - movs r0, 0x1 - b _0814D880 - .align 2, 0 -_0814D874: .4byte gPaletteFade -_0814D878: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] -_0814D87E: - movs r0, 0 -_0814D880: - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_814D5C8 - - thumb_func_start sub_814D888 -sub_814D888: @ 814D888 - push {r4,r5,lr} - sub sp, 0x8 - bl sub_814B6F0 - adds r5, r0, 0 - cmp r5, 0 - bne _0814D89C - movs r0, 0x1 - negs r0, r0 - b _0814D9C2 -_0814D89C: - ldrb r0, [r5, 0xC] - cmp r0, 0x7 - bls _0814D8A4 - b _0814D9BA -_0814D8A4: - lsls r0, 2 - ldr r1, _0814D8B0 @ =_0814D8B4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0814D8B0: .4byte _0814D8B4 - .align 2, 0 -_0814D8B4: - .4byte _0814D8D4 - .4byte _0814D8DA - .4byte _0814D8E4 - .4byte _0814D8FA - .4byte _0814D906 - .4byte _0814D962 - .4byte _0814D9A2 - .4byte _0814D9B2 -_0814D8D4: - bl sub_80FA42C - b _0814D9BA -_0814D8DA: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0814D9C0 -_0814D8E4: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - bl UpdatePaletteFade - b _0814D9BA -_0814D8FA: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - beq _0814D9BA - b _0814D9C0 -_0814D906: - movs r4, 0x20 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - b _0814D9BA -_0814D962: - bl FreeAllWindowBuffers - movs r0, 0 - bl HideBg - movs r0, 0 - bl UnsetBgTilemapBuffer - movs r0, 0x1 - bl HideBg - movs r0, 0x1 - bl UnsetBgTilemapBuffer - movs r0, 0x2 - bl HideBg - movs r0, 0x2 - bl UnsetBgTilemapBuffer - movs r0, 0x3 - bl HideBg - movs r0, 0x3 - bl UnsetBgTilemapBuffer - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl ClearGpuRegBits - b _0814D9BA -_0814D9A2: - bl DestroyWirelessStatusIndicatorSprite - adds r0, r5, 0 - bl sub_814EF10 - bl sub_815C9F4 - b _0814D9BA -_0814D9B2: - movs r0, 0 - strb r0, [r5, 0xC] - movs r0, 0x1 - b _0814D9C2 -_0814D9BA: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] -_0814D9C0: - movs r0, 0 -_0814D9C2: - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_814D888 - - thumb_func_start sub_814D9CC -sub_814D9CC: @ 814D9CC - push {r4,lr} - adds r4, r0, 0 - ldr r0, _0814DA00 @ =gSpriteCoordOffsetY - ldrh r1, [r4, 0x2C] - ldrh r2, [r4, 0x2A] - adds r1, r2 - strh r1, [r0] - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x16 - bl SetGpuReg - ldrh r0, [r4, 0x12] - cmp r0, 0x7 - bne _0814D9F8 - movs r1, 0x9C - lsls r1, 1 - adds r0, r4, r1 - ldrh r1, [r4, 0x28] - bl sub_814EAD4 -_0814D9F8: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0814DA00: .4byte gSpriteCoordOffsetY - thumb_func_end sub_814D9CC - - thumb_func_start sub_814DA04 -sub_814DA04: @ 814DA04 - movs r1, 0 - ldr r2, _0814DA18 @ =0x0000ff98 - strh r2, [r0, 0x2A] - strh r1, [r0, 0x2C] - ldr r0, _0814DA1C @ =gSpriteCoordOffsetX - strh r1, [r0] - ldr r0, _0814DA20 @ =gSpriteCoordOffsetY - strh r2, [r0] - bx lr - .align 2, 0 -_0814DA18: .4byte 0x0000ff98 -_0814DA1C: .4byte gSpriteCoordOffsetX -_0814DA20: .4byte gSpriteCoordOffsetY - thumb_func_end sub_814DA04 - - thumb_func_start sub_814DA24 -sub_814DA24: @ 814DA24 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - mov r10, r0 - str r1, [sp] - movs r0, 0 - mov r9, r0 - mov r1, r10 - ldrb r1, [r1, 0x9] - cmp r9, r1 - bcc _0814DA42 - b _0814DB60 -_0814DA42: - ldr r1, _0814DB70 @ =gUnknown_846F2EC - mov r2, r9 - lsls r0, r2, 1 - adds r0, r1 - ldrh r2, [r0] - mov r1, r9 - lsls r0, r1, 5 - add r0, r10 - adds r0, 0xA4 - ldrh r3, [r0] - adds r3, 0x85 - lsls r3, 16 - lsrs r3, 16 - ldr r0, _0814DB74 @ =gUnknown_846F470 - adds r1, r2, 0 - bl AddItemIconObjectWithCustomObjectTemplate - lsls r0, 24 - lsrs r0, 24 - mov r2, r9 - lsls r3, r2, 2 - ldr r1, [sp] - adds r1, 0x38 - adds r6, r1, r3 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _0814DB78 @ =gSprites - adds r1, r0 - str r1, [r6] - ldrb r0, [r1, 0x5] - movs r2, 0xC - orrs r0, r2 - strb r0, [r1, 0x5] - ldr r2, [r6] - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r1, [r6] - ldr r0, [sp] - adds r0, 0xC - adds r0, r3 - mov r8, r0 - ldr r0, [r0] - ldrh r0, [r0, 0x8] - adds r0, 0x78 - strh r0, [r1, 0x20] - ldr r1, [r6] - ldr r0, _0814DB7C @ =0x0000fff0 - strh r0, [r1, 0x22] - ldr r3, [r6] - adds r5, r3, 0 - adds r5, 0x2E - movs r0, 0x80 - lsls r0, 2 - strh r0, [r5, 0x2] - movs r0, 0x20 - strh r0, [r5, 0x4] - movs r0, 0x70 - strh r0, [r5, 0xE] - mov r2, r8 - ldr r1, [r2] - ldrh r0, [r1, 0xA] - ldrh r1, [r1, 0x8] - subs r0, r1 - lsls r0, 16 - asrs r1, r0, 16 - adds r0, r1, 0 - cmp r1, 0 - bge _0814DAD4 - adds r0, r1, 0x3 -_0814DAD4: - asrs r0, 2 - strh r0, [r5, 0xC] - lsls r0, r1, 23 - lsrs r7, r0, 16 - movs r2, 0x80 - lsls r2, 2 - adds r2, 0x20 - lsrs r2, 1 - movs r0, 0x7 - movs r1, 0xFE - lsls r1, 6 - str r3, [sp, 0x4] - bl sub_80D8B40 - adds r4, r0, 0 - ldr r0, [r6] - ldrh r0, [r0, 0x20] - lsls r0, 7 - ldr r3, [sp, 0x4] - strh r0, [r3, 0x2E] - lsls r1, r7, 16 - asrs r1, 16 - lsls r4, 16 - asrs r4, 16 - movs r0, 0x7 - adds r2, r4, 0 - bl sub_80D8B40 - strh r0, [r5, 0x6] - movs r0, 0x7 - adds r1, r4, 0 - movs r2, 0x55 - bl sub_80D8ABC - adds r2, r0, 0 - movs r0, 0 - strh r0, [r5, 0x8] - lsls r2, 16 - asrs r2, 16 - movs r0, 0x7 - movs r1, 0xFE - lsls r1, 6 - bl sub_80D8B40 - strh r0, [r5, 0xA] - ldrh r0, [r5, 0xE] - ldr r2, _0814DB80 @ =0xffff8000 - adds r1, r2, 0 - orrs r0, r1 - strh r0, [r5, 0xE] - mov r1, r8 - ldr r0, [r1] - movs r2, 0x8 - ldrsh r0, [r0, r2] - cmp r0, 0 - bge _0814DB4C - ldr r0, [r6] - movs r1, 0x1 - bl StartSpriteAffineAnim -_0814DB4C: - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - mov r0, r10 - ldrb r0, [r0, 0x9] - cmp r9, r0 - bcs _0814DB60 - b _0814DA42 -_0814DB60: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814DB70: .4byte gUnknown_846F2EC -_0814DB74: .4byte gUnknown_846F470 -_0814DB78: .4byte gSprites -_0814DB7C: .4byte 0x0000fff0 -_0814DB80: .4byte 0xffff8000 - thumb_func_end sub_814DA24 - - thumb_func_start sub_814DB84 -sub_814DB84: @ 814DB84 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r5, 0 - adds r4, 0x2E - ldrh r0, [r4, 0x4] - ldrh r1, [r4, 0x2] - adds r0, r1 - strh r0, [r4, 0x2] - lsls r0, 16 - asrs r0, 24 - ldrh r2, [r5, 0x26] - adds r0, r2 - strh r0, [r5, 0x26] - movs r1, 0xE - ldrsh r0, [r4, r1] - movs r6, 0x80 - lsls r6, 8 - ands r0, r6 - cmp r0, 0 - beq _0814DBEA - ldrh r0, [r4, 0x6] - ldrh r2, [r5, 0x2E] - adds r0, r2 - strh r0, [r5, 0x2E] - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x8] - adds r0, r1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 23 - movs r2, 0xC - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r5, 0x24] - movs r1, 0xE - ldrsh r0, [r4, r1] - ands r0, r6 - cmp r0, 0 - beq _0814DBEA - ldrh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 23 - cmp r0, 0x7E - ble _0814DBEA - movs r0, 0 - strh r0, [r5, 0x24] - ldrh r1, [r4, 0xE] - ldr r0, _0814DC1C @ =0x00007fff - ands r0, r1 - strh r0, [r4, 0xE] -_0814DBEA: - ldrh r0, [r4] - lsls r0, 16 - asrs r0, 23 - strh r0, [r5, 0x20] - movs r2, 0x22 - ldrsh r1, [r5, r2] - movs r2, 0x26 - ldrsh r0, [r5, r2] - adds r1, r0 - ldrh r2, [r4, 0xE] - ldr r0, _0814DC1C @ =0x00007fff - ands r0, r2 - cmp r1, r0 - blt _0814DC16 - ldr r0, _0814DC20 @ =SpriteCallbackDummy - str r0, [r5, 0x1C] - adds r0, r5, 0 - bl FreeSpriteOamMatrix - adds r0, r5, 0 - bl DestroySprite -_0814DC16: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0814DC1C: .4byte 0x00007fff -_0814DC20: .4byte SpriteCallbackDummy - thumb_func_end sub_814DB84 - - thumb_func_start sub_814DC24 -sub_814DC24: @ 814DC24 - push {r4-r7,lr} - adds r6, r0, 0 - movs r5, 0 - ldrb r0, [r6, 0x9] - cmp r5, r0 - bcs _0814DC50 - ldr r7, _0814DC58 @ =gUnknown_846F2EC -_0814DC32: - lsls r0, r5, 1 - adds r0, r7 - ldrh r4, [r0] - adds r0, r4, 0 - bl FreeSpritePaletteByTag - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r6, 0x9] - cmp r5, r0 - bcc _0814DC32 -_0814DC50: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814DC58: .4byte gUnknown_846F2EC - thumb_func_end sub_814DC24 - - thumb_func_start sub_814DC5C -sub_814DC5C: @ 814DC5C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - adds r6, r0, 0 - str r1, [sp] - movs r0, 0 - str r0, [sp, 0x4] - movs r1, 0x4E - adds r1, r6 - mov r10, r1 - mov r9, r0 - ldrb r2, [r6, 0x9] - cmp r0, r2 - bcs _0814DD2A - ldr r7, _0814DCC0 @ =gUnknown_846F2D0 -_0814DC80: - mov r3, r10 - ldrh r0, [r3, 0xA] - mov r4, r9 - lsls r1, r4, 1 - add r1, r9 - asrs r0, r1 - lsls r0, 16 - movs r1, 0xE0 - lsls r1, 11 - ands r1, r0 - lsrs r1, 16 - mov r8, r1 - cmp r1, 0 - beq _0814DD1A - ldr r0, [sp, 0x4] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0814DCC4 - lsls r4, 2 - ldr r5, [sp] - adds r5, 0x24 - adds r0, r5, r4 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim - b _0814DCD6 - .align 2, 0 -_0814DCC0: .4byte gUnknown_846F2D0 -_0814DCC4: - mov r0, r9 - lsls r4, r0, 2 - ldr r5, [sp] - adds r5, 0x24 - adds r0, r5, r4 - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAnim -_0814DCD6: - adds r3, r5, r4 - ldr r2, [r3] - adds r2, 0x3E - ldrb r0, [r2] - movs r4, 0x5 - negs r4, r4 - adds r1, r4, 0 - ands r0, r1 - strb r0, [r2] - ldr r2, [r3] - adds r2, 0x2C - ldrb r0, [r2] - subs r4, 0x3C - adds r1, r4, 0 - ands r0, r1 - strb r0, [r2] - ldr r2, [r3] - movs r0, 0x3 - mov r1, r8 - ands r1, r0 - mov r8, r1 - subs r1, 0x1 - lsls r1, 1 - adds r0, r1, r7 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - strh r0, [r2, 0x24] - ldr r2, [r3] - ldr r3, _0814DD38 @ =gUnknown_846F2D0 + 1 - adds r1, r3 - movs r0, 0 - ldrsb r0, [r1, r0] - strh r0, [r2, 0x26] -_0814DD1A: - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldrb r4, [r6, 0x9] - cmp r9, r4 - bcc _0814DC80 -_0814DD2A: - ldr r0, [sp, 0x4] - cmp r0, 0 - bne _0814DD3C - adds r2, r6, 0 - adds r2, 0x25 - ldrb r1, [r2] - b _0814DE18 - .align 2, 0 -_0814DD38: .4byte gUnknown_846F2D0 + 1 -_0814DD3C: - ldrh r0, [r6, 0x28] - movs r1, 0x3 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - mov r1, r8 - str r1, [sp, 0x8] - movs r2, 0 - mov r9, r2 - mov r3, r10 - ldrh r1, [r3, 0xC] - lsls r0, r1, 1 - adds r0, 0x3 - adds r6, 0x25 - str r6, [sp, 0xC] - adds r3, r1, 0 - cmp r9, r0 - bge _0814DE0C -_0814DD64: - mov r4, r9 - lsls r1, r4, 2 - ldr r0, [sp] - adds r0, 0x4C - adds r7, r0, r1 - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0814DDFA - ldr r0, _0814DDD0 @ =sub_814F0D8 - str r0, [r2, 0x1C] - lsls r1, r4, 1 - ldr r3, _0814DDD4 @ =gUnknown_846F2D6 - adds r0, r1, r3 - movs r4, 0 - ldrsb r4, [r0, r4] - adds r0, r4, 0 - adds r0, 0x78 - strh r0, [r2, 0x20] - ldr r2, [r7] - ldr r0, _0814DDD8 @ =gUnknown_846F2D6 + 1 - adds r1, r0 - movs r6, 0 - ldrsb r6, [r1, r6] - mov r1, r8 - lsls r0, r1, 2 - subs r0, 0x88 - subs r0, r6, r0 - strh r0, [r2, 0x22] - ldr r5, [r7] - ldr r2, [sp, 0x8] - lsls r1, r2, 2 - adds r0, r4, 0 - bl __divsi3 - adds r4, r0 - strh r4, [r5, 0x24] - ldr r0, [r7] - strh r6, [r0, 0x26] - mov r3, r10 - ldrb r1, [r3, 0x4] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0814DDDC - ldr r0, [r7] - movs r1, 0x1 - bl StartSpriteAnim - b _0814DDE4 - .align 2, 0 -_0814DDD0: .4byte sub_814F0D8 -_0814DDD4: .4byte gUnknown_846F2D6 -_0814DDD8: .4byte gUnknown_846F2D6 + 1 -_0814DDDC: - ldr r0, [r7] - movs r1, 0 - bl StartSpriteAnim -_0814DDE4: - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - mov r4, r10 - ldrh r3, [r4, 0xC] - cmp r0, 0x3 - bls _0814DDFA - movs r0, 0 - mov r8, r0 -_0814DDFA: - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r0, r3, 1 - adds r0, 0x3 - cmp r9, r0 - blt _0814DD64 -_0814DE0C: - ldr r2, [sp, 0xC] - ldrb r1, [r2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0814DE22 -_0814DE18: - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - b _0814DE40 -_0814DE22: - ldr r3, [sp, 0x4] - cmp r3, 0x1 - bne _0814DE30 - movs r0, 0x47 - bl PlaySE - b _0814DE36 -_0814DE30: - movs r0, 0x46 - bl PlaySE -_0814DE36: - ldr r4, [sp, 0xC] - ldrb r0, [r4] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4] -_0814DE40: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_814DC5C - - thumb_func_start sub_814DE50 -sub_814DE50: @ 814DE50 - push {r4-r7,lr} - adds r5, r0, 0 - adds r6, r1, 0 - movs r2, 0 - ldrb r0, [r5, 0x9] - cmp r2, r0 - bcs _0814DE82 - adds r4, r6, 0 - adds r4, 0x24 - movs r7, 0x4 - adds r3, r0, 0 -_0814DE66: - lsls r0, r2, 2 - adds r0, r4, r0 - ldr r0, [r0] - adds r0, 0x3E - ldrb r1, [r0] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _0814DE9C - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r3 - bcc _0814DE66 -_0814DE82: - movs r2, 0 - adds r3, r6, 0 - adds r3, 0x4C - movs r4, 0x4 -_0814DE8A: - lsls r0, r2, 2 - adds r0, r3, r0 - ldr r0, [r0] - adds r0, 0x3E - ldrb r1, [r0] - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - bne _0814DEA0 -_0814DE9C: - movs r0, 0 - b _0814DEB8 -_0814DEA0: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xA - bls _0814DE8A - movs r1, 0x2C - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _0814DEB6 - movs r0, 0 - strh r0, [r5, 0x2C] -_0814DEB6: - movs r0, 0x1 -_0814DEB8: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_814DE50 - - thumb_func_start sub_814DEC0 -sub_814DEC0: @ 814DEC0 - push {r4-r7,lr} - adds r6, r0, 0 - lsls r4, r1, 16 - lsrs r4, 16 - movs r7, 0 - movs r5, 0xE1 - lsls r5, 4 - adds r0, r4, 0 - adds r1, r5, 0 - bl __udivsi3 - strh r0, [r6, 0x4] - adds r0, r4, 0 - adds r1, r5, 0 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3C - bl __udivsi3 - strh r0, [r6, 0x6] - adds r0, r4, 0 - movs r1, 0x3C - bl __umodsi3 - lsls r0, 24 - asrs r0, 16 - movs r1, 0x4 - bl sub_80D8AA0 - adds r2, r7, 0 - lsls r0, 16 - asrs r3, r0, 16 - movs r0, 0x7 - mov r12, r0 - ldr r5, _0814DF3C @ =gUnknown_846E450 - movs r4, 0x1 -_0814DF0C: - mov r0, r12 - subs r1, r0, r2 - adds r0, r3, 0 - asrs r0, r1 - ands r0, r4 - cmp r0, 0 - beq _0814DF22 - lsls r0, r2, 2 - adds r0, r5 - ldr r0, [r0] - adds r7, r0 -_0814DF22: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _0814DF0C - ldr r1, _0814DF40 @ =1000000 - adds r0, r7, 0 - bl __udivsi3 - strh r0, [r6, 0x8] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814DF3C: .4byte gUnknown_846E450 -_0814DF40: .4byte 1000000 - thumb_func_end sub_814DEC0 - - thumb_func_start sub_814DF44 -sub_814DF44: @ 814DF44 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0xC - adds r6, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - mov r8, r3 - lsls r6, 24 - lsrs r6, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - movs r2, 0x1 - negs r2, r2 - movs r0, 0x2 - mov r1, r8 - bl GetStringWidth - lsls r4, 2 - lsrs r0, 1 - subs r4, r0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r5, 1 - adds r0, r5 - ldr r1, _0814DFA0 @ =gUnknown_846E3DC - adds r0, r1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - mov r0, r8 - str r0, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x2 - adds r2, r4, 0 - movs r3, 0 - bl AddTextPrinterParameterized3 - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0814DFA0: .4byte gUnknown_846E3DC - thumb_func_end sub_814DF44 - - thumb_func_start sub_814DFA4 -sub_814DFA4: @ 814DFA4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x38 - str r0, [sp, 0xC] - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x10] - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x14] - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x18] - movs r0, 0 - mov r8, r0 - movs r1, 0 - str r1, [sp, 0x1C] - movs r2, 0 - str r2, [sp, 0x20] - ldr r4, [sp, 0xC] - adds r4, 0x68 - str r4, [sp, 0x24] - ldr r0, [sp, 0xC] - ldrb r0, [r0, 0x9] - cmp r8, r0 - bcc _0814DFE0 - b _0814E30C -_0814DFE0: - ldr r1, [sp, 0x10] - lsls r1, 2 - str r1, [sp, 0x28] - movs r4, 0xDD - lsls r4, 1 - ldr r2, [sp, 0xC] - adds r4, r2, r4 - str r4, [sp, 0x2C] -_0814DFF0: - bl DynamicPlaceholderTextUtil_Reset - ldr r0, [sp, 0x10] - cmp r0, 0x1 - beq _0814E0E4 - cmp r0, 0x1 - bgt _0814E00A - cmp r0, 0 - beq _0814E01A - mov r1, r8 - lsls r1, 3 - mov r9, r1 - b _0814E0C8 -_0814E00A: - ldr r0, [sp, 0x10] - cmp r0, 0x2 - bne _0814E012 - b _0814E200 -_0814E012: - mov r1, r8 - lsls r1, 3 - mov r9, r1 - b _0814E0C8 -_0814E01A: - ldr r0, [sp, 0x24] - adds r0, 0x20 - add r0, r8 - ldrb r0, [r0] - str r0, [sp, 0x1C] - mov r0, r8 - lsls r3, r0, 1 - ldr r2, [sp, 0x24] - adds r2, 0xC - cmp r0, 0 - beq _0814E048 - adds r0, r2, r3 - mov r1, r8 - subs r1, 0x1 - lsls r1, 1 - adds r1, r2, r1 - ldrh r0, [r0] - ldrh r1, [r1] - cmp r0, r1 - beq _0814E048 - mov r4, r8 - adds r1, r4, 0 - str r1, [sp, 0x20] -_0814E048: - ldr r1, [sp, 0x28] - ldr r4, [sp, 0x10] - adds r0, r1, r4 - lsls r0, 1 - adds r0, r3, r0 - adds r0, r2, r0 - ldrh r1, [r0] - ldr r0, _0814E0D8 @ =gStringVar1 - movs r2, 0x1 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - ldr r0, _0814E0DC @ =gUnknown_846F4B8 - ldr r1, [sp, 0x28] - adds r0, r1, r0 - ldr r5, [r0] - movs r0, 0x2 - adds r1, r5, 0 - movs r2, 0x1 - negs r2, r2 - bl GetStringWidth - ldr r2, [sp, 0x14] - subs r0, r2, r0 - subs r0, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r4, [sp, 0x2C] - ldrb r0, [r4] - mov r1, r8 - lsls r6, r1, 3 - subs r4, r6, r1 - lsls r4, 1 - ldr r2, [sp, 0x18] - adds r4, r2, r4 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _0814E0E0 @ =gUnknown_846E3DC - str r1, [sp] - movs r2, 0 - str r2, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0x2 - adds r2, r7, 0 - adds r3, r4, 0 - bl AddTextPrinterParameterized3 - ldr r1, [sp, 0x2C] - ldrb r0, [r1] - adds r2, r7, 0 - subs r2, 0x18 - lsls r2, 24 - lsrs r2, 24 - ldr r1, _0814E0E0 @ =gUnknown_846E3DC - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - ldr r1, _0814E0D8 @ =gStringVar1 - str r1, [sp, 0x8] - movs r1, 0x2 - adds r3, r4, 0 - bl AddTextPrinterParameterized3 - mov r9, r6 -_0814E0C8: - ldr r6, [sp, 0x20] - adds r6, 0xA2 - ldr r2, [sp, 0x1C] - lsls r5, r2, 5 - movs r4, 0x1 - add r4, r8 - mov r10, r4 - b _0814E27E - .align 2, 0 -_0814E0D8: .4byte gStringVar1 -_0814E0DC: .4byte gUnknown_846F4B8 -_0814E0E0: .4byte gUnknown_846E3DC -_0814E0E4: - ldr r0, [sp, 0x24] - add r0, r8 - adds r0, 0x28 - ldrb r0, [r0] - str r0, [sp, 0x1C] - mov r0, r8 - lsls r3, r0, 1 - ldr r2, [sp, 0x24] - adds r2, 0xC - cmp r0, 0 - beq _0814E116 - adds r0, r3, 0 - adds r0, 0xA - adds r0, r2, r0 - mov r4, r8 - lsls r1, r4, 1 - adds r1, 0x8 - adds r1, r2, r1 - ldrh r0, [r0] - ldrh r1, [r1] - cmp r0, r1 - beq _0814E116 - mov r1, r8 - adds r0, r1, 0 - str r0, [sp, 0x20] -_0814E116: - ldr r0, [sp, 0x28] - ldr r1, [sp, 0x10] - adds r4, r0, r1 - lsls r4, 1 - adds r4, r3, r4 - adds r4, r2, r4 - ldrh r1, [r4] - lsrs r1, 4 - ldr r0, _0814E1E4 @ =gStringVar1 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r3, 0 - ldrb r0, [r4] - movs r7, 0xF - ands r7, r0 - movs r2, 0 - ldr r4, [sp, 0x10] - lsls r4, 2 - str r4, [sp, 0x34] - mov r0, r8 - lsls r0, 3 - mov r9, r0 - ldr r1, [sp, 0x14] - subs r1, 0x4 - str r1, [sp, 0x30] - ldr r6, [sp, 0x20] - adds r6, 0xA2 - ldr r4, [sp, 0x1C] - lsls r5, r4, 5 - movs r0, 0x1 - add r0, r8 - mov r10, r0 - movs r1, 0x1 - mov r12, r1 - ldr r4, _0814E1E8 @ =gUnknown_846E450 -_0814E160: - movs r0, 0x3 - subs r1, r0, r2 - adds r0, r7, 0 - asrs r0, r1 - mov r1, r12 - ands r0, r1 - cmp r0, 0 - beq _0814E178 - lsls r0, r2, 2 - adds r0, r4 - ldr r0, [r0] - adds r3, r0 -_0814E178: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _0814E160 - adds r0, r3, 0 - ldr r1, _0814E1EC @ =1000000 - bl __udivsi3 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _0814E1F0 @ =gStringVar2 - adds r1, r7, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, _0814E1F4 @ =gUnknown_846F4B8 - ldr r2, [sp, 0x34] - adds r0, r2, r0 - ldr r1, [r0] - ldr r0, _0814E1F8 @ =gStringVar4 - bl StringExpandPlaceholders - movs r0, 0x2 - ldr r1, _0814E1F8 @ =gStringVar4 - movs r2, 0 - bl GetStringWidth - adds r2, r0, 0 - ldr r4, [sp, 0x30] - subs r2, r4, r2 - lsls r2, 24 - lsrs r2, 24 - ldr r1, [sp, 0x2C] - ldrb r0, [r1] - mov r4, r9 - mov r1, r8 - subs r3, r4, r1 - lsls r3, 1 - ldr r4, [sp, 0x18] - adds r3, r4, r3 - lsls r3, 24 - lsrs r3, 24 - ldr r1, _0814E1FC @ =gUnknown_846E3DC - str r1, [sp] - movs r4, 0 - str r4, [sp, 0x4] - ldr r1, _0814E1F8 @ =gStringVar4 - str r1, [sp, 0x8] - movs r1, 0x2 - bl AddTextPrinterParameterized3 - b _0814E27E - .align 2, 0 -_0814E1E4: .4byte gStringVar1 -_0814E1E8: .4byte gUnknown_846E450 -_0814E1EC: .4byte 1000000 -_0814E1F0: .4byte gStringVar2 -_0814E1F4: .4byte gUnknown_846F4B8 -_0814E1F8: .4byte gStringVar4 -_0814E1FC: .4byte gUnknown_846E3DC -_0814E200: - mov r2, r8 - str r2, [sp, 0x1C] - mov r0, r8 - adds r4, r0, 0 - str r4, [sp, 0x20] - lsls r5, r0, 5 - ldr r1, [sp, 0xC] - adds r0, r1, r5 - adds r0, 0xA4 - ldrb r2, [r0] - cmp r2, 0x2B - bls _0814E21A - movs r2, 0 -_0814E21A: - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - ldr r0, _0814E294 @ =gBerries - adds r1, r0 - ldr r0, _0814E298 @ =gStringVar1 - bl StringCopy - ldr r0, _0814E29C @ =gUnknown_846F4B8 - ldr r1, [r0, 0x8] - ldr r0, _0814E2A0 @ =gStringVar4 - bl StringExpandPlaceholders - movs r0, 0x2 - ldr r1, _0814E2A0 @ =gStringVar4 - movs r2, 0x1 - negs r2, r2 - bl GetStringWidth - adds r2, r0, 0 - ldr r4, [sp, 0x14] - subs r2, r4, r2 - subs r2, 0x4 - lsls r2, 24 - lsrs r2, 24 - ldr r1, [sp, 0x2C] - ldrb r0, [r1] - mov r1, r8 - lsls r4, r1, 3 - subs r3, r4, r1 - lsls r3, 1 - ldr r1, [sp, 0x18] - adds r3, r1, r3 - lsls r3, 24 - lsrs r3, 24 - ldr r1, _0814E2A4 @ =gUnknown_846E3DC - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - ldr r1, _0814E2A0 @ =gStringVar4 - str r1, [sp, 0x8] - movs r1, 0x2 - bl AddTextPrinterParameterized3 - mov r9, r4 - mov r6, r8 - adds r6, 0xA2 - movs r2, 0x1 - add r2, r8 - mov r10, r2 -_0814E27E: - ldr r0, [sp, 0x1C] - ldr r4, [sp, 0xC] - ldrb r4, [r4, 0x8] - cmp r0, r4 - bne _0814E2B0 - ldr r0, _0814E2A8 @ =gStringVar3 - ldr r1, _0814E2AC @ =gUnknown_841D020 - bl StringCopy - b _0814E2B8 - .align 2, 0 -_0814E294: .4byte gBerries -_0814E298: .4byte gStringVar1 -_0814E29C: .4byte gUnknown_846F4B8 -_0814E2A0: .4byte gStringVar4 -_0814E2A4: .4byte gUnknown_846E3DC -_0814E2A8: .4byte gStringVar3 -_0814E2AC: .4byte gUnknown_841D020 -_0814E2B0: - ldr r0, _0814E31C @ =gStringVar3 - ldr r1, _0814E320 @ =gUnknown_841D02C - bl StringCopy -_0814E2B8: - ldr r4, _0814E31C @ =gStringVar3 - strb r6, [r4] - adds r1, r5, 0 - adds r1, 0x98 - ldr r0, [sp, 0xC] - adds r1, r0, r1 - movs r0, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - ldr r0, _0814E324 @ =gStringVar4 - adds r1, r4, 0 - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - ldr r1, [sp, 0x2C] - ldrb r0, [r1] - mov r2, r9 - mov r4, r8 - subs r3, r2, r4 - lsls r3, 1 - ldr r1, [sp, 0x18] - adds r3, r1, r3 - lsls r3, 24 - lsrs r3, 24 - ldr r2, _0814E328 @ =gUnknown_846E3DC - str r2, [sp] - movs r4, 0 - str r4, [sp, 0x4] - ldr r1, _0814E324 @ =gStringVar4 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0x4 - bl AddTextPrinterParameterized3 - mov r2, r10 - lsls r0, r2, 24 - lsrs r0, 24 - mov r8, r0 - ldr r4, [sp, 0xC] - ldrb r4, [r4, 0x9] - cmp r8, r4 - bcs _0814E30C - b _0814DFF0 -_0814E30C: - add sp, 0x38 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814E31C: .4byte gStringVar3 -_0814E320: .4byte gUnknown_841D02C -_0814E324: .4byte gStringVar4 -_0814E328: .4byte gUnknown_846E3DC - thumb_func_end sub_814DFA4 - - thumb_func_start sub_814E32C -sub_814E32C: @ 814E32C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - mov r8, r0 - movs r0, 0 - mov r10, r0 - movs r6, 0 - movs r1, 0 - str r1, [sp, 0xC] - mov r2, r8 - adds r2, 0x68 - str r2, [sp, 0x10] - movs r4, 0xDD - lsls r4, 1 - add r4, r8 - mov r9, r4 - ldrb r0, [r4] - movs r1, 0x4 - bl GetWindowAttribute - lsls r0, 27 - movs r1, 0xD6 - lsls r1, 24 - adds r0, r1 - lsrs r7, r0, 24 - movs r0, 0x9C - lsls r0, 1 - add r0, r8 - ldr r2, [sp, 0x10] - ldrh r1, [r2, 0x4] - bl sub_814DEC0 - ldrb r0, [r4] - ldr r4, _0814E560 @ =gUnknown_846E3DC - str r4, [sp] - str r6, [sp, 0x4] - ldr r1, _0814E564 @ =gUnknown_841D050 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0x2 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - ldr r4, _0814E568 @ =gUnknown_841D088 - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - movs r1, 0xBE - subs r0, r1, r0 - lsls r0, 24 - lsrs r6, r0, 24 - mov r2, r9 - ldrb r0, [r2] - ldr r1, _0814E560 @ =gUnknown_846E3DC - str r1, [sp] - mov r2, r10 - str r2, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - adds r2, r6, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - adds r0, r6, 0 - subs r0, 0x20 - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0x9F - lsls r0, 1 - add r0, r8 - movs r4, 0 - ldrsh r1, [r0, r4] - ldr r0, _0814E56C @ =gStringVar1 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, _0814E570 @ =gStringVar2 - movs r1, 0xA0 - lsls r1, 1 - add r1, r8 - movs r2, 0 - ldrsh r1, [r1, r2] - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r5, _0814E574 @ =gStringVar4 - ldr r1, _0814E578 @ =gUnknown_841D080 - adds r0, r5, 0 - bl StringExpandPlaceholders - mov r4, r9 - ldrb r0, [r4] - ldr r1, _0814E560 @ =gUnknown_846E3DC - str r1, [sp] - mov r2, r10 - str r2, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0x2 - adds r2, r6, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - ldr r4, _0814E57C @ =gUnknown_841D078 - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - subs r1, r6, 0x3 - subs r1, r0 - lsls r1, 24 - lsrs r6, r1, 24 - mov r1, r9 - ldrb r0, [r1] - ldr r2, _0814E560 @ =gUnknown_846E3DC - str r2, [sp] - mov r1, r10 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - adds r2, r6, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - adds r0, r6, 0 - subs r0, 0x9 - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0x9E - lsls r0, 1 - add r0, r8 - movs r2, 0 - ldrsh r1, [r0, r2] - ldr r0, _0814E56C @ =gStringVar1 - movs r2, 0x2 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - ldr r1, _0814E580 @ =gUnknown_841D074 - adds r0, r5, 0 - bl StringExpandPlaceholders - mov r4, r9 - ldrb r0, [r4] - ldr r1, _0814E560 @ =gUnknown_846E3DC - str r1, [sp] - mov r2, r10 - str r2, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0x2 - adds r2, r6, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - adds r0, r7, 0 - adds r0, 0xE - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r4] - ldr r4, _0814E560 @ =gUnknown_846E3DC - str r4, [sp] - mov r1, r10 - str r1, [sp, 0x4] - ldr r1, _0814E584 @ =gUnknown_841D058 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0x2 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - ldr r4, _0814E588 @ =gUnknown_841D098 - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - movs r2, 0xBE - subs r0, r2, r0 - lsls r0, 24 - str r0, [sp, 0x18] - lsrs r6, r0, 24 - mov r1, r9 - ldrb r0, [r1] - ldr r2, _0814E560 @ =gUnknown_846E3DC - str r2, [sp] - mov r1, r10 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x3 - adds r2, r6, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - mov r4, r8 - ldrb r2, [r4, 0x16] - ldrh r0, [r4, 0x16] - mov r12, r0 - movs r1, 0x7 - mov r9, r1 - movs r5, 0x1 - ldr r3, _0814E58C @ =gUnknown_846E450 -_0814E4CC: - mov r4, r9 - mov r0, r10 - subs r1, r4, r0 - adds r0, r2, 0 - asrs r0, r1 - ands r0, r5 - cmp r0, 0 - beq _0814E4EA - mov r1, r10 - lsls r0, r1, 2 - adds r0, r3 - ldr r0, [r0] - ldr r4, [sp, 0xC] - adds r4, r0 - str r4, [sp, 0xC] -_0814E4EA: - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - cmp r0, 0x7 - bls _0814E4CC - ldr r0, _0814E56C @ =gStringVar1 - mov r2, r12 - lsrs r1, r2, 8 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r4, _0814E570 @ =gStringVar2 - ldr r1, _0814E590 @ =1000000 - ldr r0, [sp, 0xC] - bl __udivsi3 - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r4, _0814E574 @ =gStringVar4 - ldr r1, _0814E594 @ =gUnknown_841D090 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r6, 0 - subs r0, 0x26 - lsls r0, 24 - lsrs r6, r0, 24 - mov r0, r8 - adds r0, 0x25 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _0814E59C - movs r0, 0xDD - lsls r0, 1 - add r0, r8 - ldrb r0, [r0] - ldr r1, _0814E598 @ =gUnknown_846E3EB - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - adds r2, r6, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - b _0814E5B6 - .align 2, 0 -_0814E560: .4byte gUnknown_846E3DC -_0814E564: .4byte gUnknown_841D050 -_0814E568: .4byte gUnknown_841D088 -_0814E56C: .4byte gStringVar1 -_0814E570: .4byte gStringVar2 -_0814E574: .4byte gStringVar4 -_0814E578: .4byte gUnknown_841D080 -_0814E57C: .4byte gUnknown_841D078 -_0814E580: .4byte gUnknown_841D074 -_0814E584: .4byte gUnknown_841D058 -_0814E588: .4byte gUnknown_841D098 -_0814E58C: .4byte gUnknown_846E450 -_0814E590: .4byte 1000000 -_0814E594: .4byte gUnknown_841D090 -_0814E598: .4byte gUnknown_846E3EB -_0814E59C: - movs r0, 0xDD - lsls r0, 1 - add r0, r8 - ldrb r0, [r0] - ldr r1, _0814E630 @ =gUnknown_846E3DC - str r1, [sp] - str r2, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - adds r2, r6, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 -_0814E5B6: - adds r0, r7, 0 - adds r0, 0xE - lsls r0, 24 - lsrs r7, r0, 24 - movs r4, 0xDD - lsls r4, 1 - add r8, r4 - mov r1, r8 - ldrb r0, [r1] - ldr r2, _0814E630 @ =gUnknown_846E3DC - mov r9, r2 - str r2, [sp] - movs r5, 0 - str r5, [sp, 0x4] - ldr r1, _0814E634 @ =gUnknown_841D068 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0x2 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - ldr r0, _0814E638 @ =gStringVar1 - ldr r4, [sp, 0x10] - ldrh r1, [r4, 0x8] - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r4, _0814E63C @ =gStringVar4 - ldr r1, _0814E640 @ =gUnknown_841D0A4 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - movs r1, 0xBE - subs r1, r0 - lsls r1, 24 - lsrs r6, r1, 24 - mov r1, r8 - ldrb r0, [r1] - mov r2, r9 - str r2, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - adds r2, r6, 0 - adds r3, r7, 0 - bl AddTextPrinterParameterized3 - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814E630: .4byte gUnknown_846E3DC -_0814E634: .4byte gUnknown_841D068 -_0814E638: .4byte gStringVar1 -_0814E63C: .4byte gStringVar4 -_0814E640: .4byte gUnknown_841D0A4 - thumb_func_end sub_814E32C - - thumb_func_start sub_814E644 -sub_814E644: @ 814E644 - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r6, r1, 0 - adds r0, r6, 0 - adds r0, 0x80 - ldrb r0, [r0] - cmp r0, 0x5 - bls _0814E658 - b _0814E7F8 -_0814E658: - lsls r0, 2 - ldr r1, _0814E664 @ =_0814E668 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0814E664: .4byte _0814E668 - .align 2, 0 -_0814E668: - .4byte _0814E680 - .4byte _0814E6CC - .4byte _0814E6E0 - .4byte _0814E704 - .4byte _0814E7D8 - .4byte _0814E7E0 -_0814E680: - ldrb r0, [r4, 0x9] - subs r0, 0x2 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r6, 0 - bl sub_814EB04 - ldrh r0, [r4, 0x12] - lsls r0, 3 - ldr r2, _0814E6A8 @ =gUnknown_846E3CC + 4 - mov r1, sp - adds r0, r2 - ldm r0!, {r2,r3} - stm r1!, {r2,r3} - ldrh r0, [r4, 0x12] - cmp r0, 0xD - bne _0814E6B0 - ldr r0, _0814E6AC @ =gUnknown_846E448 - adds r0, 0x4 - b _0814E6B2 - .align 2, 0 -_0814E6A8: .4byte gUnknown_846E3CC + 4 -_0814E6AC: .4byte gUnknown_846E448 -_0814E6B0: - ldr r0, _0814E6C8 @ =gUnknown_846E448 -_0814E6B2: - adds r0, r5, r0 - ldrb r1, [r0] - mov r0, sp - strb r1, [r0, 0x4] - mov r0, sp - bl AddWindow - adds r1, r6, 0 - adds r1, 0x82 - strb r0, [r1] - b _0814E7F8 - .align 2, 0 -_0814E6C8: .4byte gUnknown_846E448 -_0814E6CC: - adds r4, r6, 0 - adds r4, 0x82 - ldrb r0, [r4] - bl PutWindowTilemap - ldrb r0, [r4] - movs r1, 0 - bl FillWindowPixelBuffer - b _0814E7F8 -_0814E6E0: - adds r5, r6, 0 - adds r5, 0x82 - ldrb r0, [r5] - ldr r4, _0814E700 @ =0x0000021d - adds r1, r4, 0 - movs r2, 0xD0 - bl TextWindow_SetStdFrame0_WithPal - ldrb r0, [r5] - movs r1, 0 - adds r2, r4, 0 - movs r3, 0xD - bl DrawStdFrameWithCustomTileAndPalette - b _0814E7F8 - .align 2, 0 -_0814E700: .4byte 0x0000021d -_0814E704: - ldrb r0, [r4, 0x9] - subs r0, 0x2 - lsls r0, 24 - lsrs r5, r0, 24 - ldrh r0, [r4, 0x12] - cmp r0, 0xC - beq _0814E764 - cmp r0, 0xC - bgt _0814E71C - cmp r0, 0xB - beq _0814E722 - b _0814E7F8 -_0814E71C: - cmp r0, 0xD - beq _0814E7B4 - b _0814E7F8 -_0814E722: - adds r0, r6, 0 - adds r0, 0x82 - ldrb r0, [r0] - ldr r3, _0814E75C @ =gUnknown_841D0A8 - movs r1, 0x16 - movs r2, 0x3 - bl sub_814DF44 - ldr r0, _0814E760 @ =gUnknown_846E448 - adds r0, r5, r0 - ldrb r3, [r0] - lsls r3, 3 - ldrb r1, [r4, 0x9] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 1 - subs r3, r0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0xB0 - bl sub_814DFA4 - adds r1, r6, 0 - adds r1, 0x80 - movs r0, 0x5 - b _0814E800 - .align 2, 0 -_0814E75C: .4byte gUnknown_841D0A8 -_0814E760: .4byte gUnknown_846E448 -_0814E764: - adds r0, r6, 0 - adds r0, 0x82 - ldrb r0, [r0] - ldr r2, _0814E7AC @ =gUnknown_846F4B8 - adds r1, r4, 0 - adds r1, 0x8F - ldrb r1, [r1] - adds r1, 0x3 - lsls r1, 2 - adds r1, r2 - ldr r3, [r1] - movs r1, 0x16 - movs r2, 0x4 - bl sub_814DF44 - ldr r0, _0814E7B0 @ =gUnknown_846E448 - adds r0, r5, r0 - ldrb r3, [r0] - lsls r3, 3 - ldrb r1, [r4, 0x9] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 1 - subs r3, r0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0xB0 - bl sub_814DFA4 - adds r1, r6, 0 - adds r1, 0x80 - movs r0, 0x5 - b _0814E800 - .align 2, 0 -_0814E7AC: .4byte gUnknown_846F4B8 -_0814E7B0: .4byte gUnknown_846E448 -_0814E7B4: - adds r0, r6, 0 - adds r0, 0x82 - ldrb r0, [r0] - ldr r3, _0814E7D4 @ =gUnknown_841D0C0 - movs r1, 0x18 - movs r2, 0x3 - bl sub_814DF44 - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0xC0 - movs r3, 0x10 - bl sub_814DFA4 - b _0814E7F8 - .align 2, 0 -_0814E7D4: .4byte gUnknown_841D0C0 -_0814E7D8: - adds r0, r4, 0 - bl sub_814E32C - b _0814E7F8 -_0814E7E0: - adds r0, r6, 0 - adds r0, 0x82 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram - adds r1, r6, 0 - adds r1, 0x80 - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - b _0814E804 -_0814E7F8: - adds r1, r6, 0 - adds r1, 0x80 - ldrb r0, [r1] - adds r0, 0x1 -_0814E800: - strb r0, [r1] - movs r0, 0 -_0814E804: - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_814E644 - - thumb_func_start sub_814E80C -sub_814E80C: @ 814E80C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0xDD - lsls r0, 1 - adds r5, r4, r0 - ldrb r0, [r5] - movs r1, 0x1 - bl ClearStdWindowAndFrameToTransparent - ldrb r0, [r5] - bl RemoveWindow - adds r0, r4, 0 - bl sub_814EBB0 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_814E80C - - thumb_func_start sub_814E830 -sub_814E830: @ 814E830 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - mov r9, r0 - mov r10, r0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0814E864 @ =gTasks+0x8 - adds r7, r0, r1 - movs r1, 0 - ldrsh r0, [r7, r1] - cmp r0, 0x1 - beq _0814E8B0 - cmp r0, 0x1 - bgt _0814E868 - cmp r0, 0 - beq _0814E876 - b _0814EA66 - .align 2, 0 -_0814E864: .4byte gTasks+0x8 -_0814E868: - cmp r0, 0x2 - bne _0814E86E - b _0814EA2C -_0814E86E: - cmp r0, 0x3 - bne _0814E874 - b _0814EA40 -_0814E874: - b _0814EA66 -_0814E876: - ldr r0, _0814E8A8 @ =gUnknown_846E3F0 - bl AddWindow - strh r0, [r7, 0x2] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - ldrb r0, [r7, 0x2] - movs r1, 0 - bl FillWindowPixelBuffer - ldrb r0, [r7, 0x2] - ldr r4, _0814E8AC @ =0x0000021d - adds r1, r4, 0 - movs r2, 0xD0 - bl TextWindow_SetStdFrame0_WithPal - ldrb r0, [r7, 0x2] - movs r1, 0 - adds r2, r4, 0 - movs r3, 0xD - bl DrawStdFrameWithCustomTileAndPalette - b _0814EA66 - .align 2, 0 -_0814E8A8: .4byte gUnknown_846E3F0 -_0814E8AC: .4byte 0x0000021d -_0814E8B0: - ldr r5, _0814E9FC @ =gUnknown_841D118 - movs r0, 0x1 - negs r0, r0 - mov r8, r0 - movs r0, 0x2 - adds r1, r5, 0 - mov r2, r8 - bl GetStringWidth - lsrs r0, 1 - movs r4, 0x60 - subs r0, r4, r0 - lsls r0, 24 - lsrs r2, r0, 24 - ldrb r0, [r7, 0x2] - ldr r6, _0814EA00 @ =gUnknown_846E3E5 - str r6, [sp] - mov r1, r9 - str r1, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0x2 - movs r3, 0x2 - bl AddTextPrinterParameterized3 - ldr r5, _0814EA04 @ =gUnknown_841D124 - movs r0, 0x2 - adds r1, r5, 0 - mov r2, r8 - bl GetStringWidth - lsrs r0, 1 - subs r4, r0 - lsls r4, 24 - lsrs r2, r4, 24 - ldrb r0, [r7, 0x2] - str r6, [sp] - mov r1, r9 - str r1, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0x2 - movs r3, 0x12 - bl AddTextPrinterParameterized3 - movs r0, 0x2A - str r0, [sp, 0xC] - ldr r1, _0814EA08 @ =gStringVar4 - mov r8, r1 -_0814E90E: - mov r1, r9 - adds r1, 0x2 - ldr r0, _0814EA0C @ =gStringVar1 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - mov r0, r8 - ldr r1, _0814EA10 @ =gUnknown_841D13C - bl StringExpandPlaceholders - ldrb r0, [r7, 0x2] - ldr r1, _0814EA14 @ =gUnknown_846E3DC - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - mov r1, r8 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0x4 - ldr r3, [sp, 0xC] - bl AddTextPrinterParameterized3 - movs r3, 0 - mov r0, r9 - lsls r4, r0, 1 - ldr r1, [sp, 0xC] - adds r1, 0xE - str r1, [sp, 0x10] - movs r0, 0x1 - add r9, r0 - adds r0, r4, r7 - ldrh r0, [r0, 0x4] - movs r2, 0xFF - ands r2, r0 - movs r6, 0x1 - ldr r5, _0814EA18 @ =gUnknown_846E450 -_0814E958: - movs r0, 0x7 - subs r1, r0, r3 - adds r0, r2, 0 - asrs r0, r1 - ands r0, r6 - cmp r0, 0 - beq _0814E96E - lsls r0, r3, 2 - adds r0, r5 - ldr r0, [r0] - add r10, r0 -_0814E96E: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x7 - bls _0814E958 - adds r0, r4, r7 - ldrh r1, [r0, 0x4] - lsrs r1, 8 - ldr r0, _0814EA0C @ =gStringVar1 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - mov r0, r10 - ldr r1, _0814EA1C @ =1000000 - bl __udivsi3 - adds r1, r0, 0 - ldr r0, _0814EA20 @ =gStringVar2 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - mov r0, r8 - ldr r1, _0814EA24 @ =gUnknown_841D090 - bl StringExpandPlaceholders - movs r1, 0 - strb r1, [r0] - adds r0, 0x1 - ldr r1, _0814EA28 @ =gUnknown_841D098 - bl StringCopy - movs r0, 0x3 - mov r1, r8 - movs r2, 0 - bl GetStringWidth - movs r1, 0xC0 - subs r1, r0 - lsls r1, 24 - lsrs r2, r1, 24 - ldrb r0, [r7, 0x2] - ldr r1, _0814EA14 @ =gUnknown_846E3DC - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - mov r1, r8 - str r1, [sp, 0x8] - movs r1, 0x3 - ldr r3, [sp, 0xC] - bl AddTextPrinterParameterized3 - ldr r1, [sp, 0x10] - lsls r0, r1, 24 - lsrs r0, 24 - str r0, [sp, 0xC] - movs r0, 0 - mov r10, r0 - mov r1, r9 - lsls r0, r1, 24 - lsrs r0, 24 - mov r9, r0 - cmp r0, 0x3 - bls _0814E90E - ldrb r0, [r7, 0x2] - movs r1, 0x3 - bl CopyWindowToVram - b _0814EA66 - .align 2, 0 -_0814E9FC: .4byte gUnknown_841D118 -_0814EA00: .4byte gUnknown_846E3E5 -_0814EA04: .4byte gUnknown_841D124 -_0814EA08: .4byte gStringVar4 -_0814EA0C: .4byte gStringVar1 -_0814EA10: .4byte gUnknown_841D13C -_0814EA14: .4byte gUnknown_846E3DC -_0814EA18: .4byte gUnknown_846E450 -_0814EA1C: .4byte 1000000 -_0814EA20: .4byte gStringVar2 -_0814EA24: .4byte gUnknown_841D090 -_0814EA28: .4byte gUnknown_841D098 -_0814EA2C: - ldr r0, _0814EA3C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _0814EA66 - b _0814EA6C - .align 2, 0 -_0814EA3C: .4byte gMain -_0814EA40: - ldrb r0, [r7, 0x2] - movs r1, 0x1 - bl ClearStdWindowAndFrameToTransparent - ldrb r0, [r7, 0x2] - bl ClearWindowTilemap - ldrb r0, [r7, 0x2] - bl RemoveWindow - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts - bl ScriptContext2_Disable - mov r0, r9 - b _0814EA6A -_0814EA66: - ldrh r0, [r7] - adds r0, 0x1 -_0814EA6A: - strh r0, [r7] -_0814EA6C: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_814E830 - - thumb_func_start ShowBerryCrushRankings -ShowBerryCrushRankings: @ 814EA7C - push {lr} - bl ScriptContext2_Enable - ldr r0, _0814EAC4 @ =sub_814E830 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0814EAC8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _0814EACC @ =gSaveBlock2Ptr - ldr r2, [r0] - movs r3, 0xAF - lsls r3, 4 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1, 0xC] - adds r3, 0x2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1, 0xE] - adds r3, 0x2 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1, 0x10] - ldr r0, _0814EAD0 @ =0x00000af6 - adds r2, r0 - ldrh r0, [r2] - strh r0, [r1, 0x12] - pop {r0} - bx r0 - .align 2, 0 -_0814EAC4: .4byte sub_814E830 -_0814EAC8: .4byte gTasks -_0814EACC: .4byte gSaveBlock2Ptr -_0814EAD0: .4byte 0x00000af6 - thumb_func_end ShowBerryCrushRankings - - thumb_func_start sub_814EAD4 -sub_814EAD4: @ 814EAD4 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 16 - bl sub_814DEC0 - movs r0, 0x4 - ldrsh r1, [r4, r0] - movs r0, 0 - bl sub_815CD70 - movs r0, 0x6 - ldrsh r1, [r4, r0] - movs r0, 0x1 - bl sub_815CD70 - movs r0, 0x8 - ldrsh r1, [r4, r0] - movs r0, 0x2 - bl sub_815CD70 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_814EAD4 - - thumb_func_start sub_814EB04 -sub_814EB04: @ 814EB04 - push {lr} - ldr r2, [r0, 0x78] - adds r2, 0x3E - ldrb r1, [r2] - movs r3, 0x4 - orrs r1, r3 - strb r1, [r2] - ldr r1, [r0, 0x7C] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r3 - strb r0, [r1] - movs r0, 0x2 - movs r1, 0x1 - bl sub_815D1A8 - movs r0, 0x1 - movs r1, 0x1 - bl sub_815D1A8 - movs r0, 0 - movs r1, 0x1 - bl sub_815D1A8 - pop {r0} - bx r0 - thumb_func_end sub_814EB04 - - thumb_func_start sub_814EB38 -sub_814EB38: @ 814EB38 - push {r4-r7,lr} - adds r5, r0, 0 - movs r6, 0 - ldrb r0, [r5, 0x9] - cmp r6, r0 - bcs _0814EB98 - ldr r7, _0814EBA0 @ =gUnknown_846F280 -_0814EB46: - lsls r0, r6, 2 - movs r1, 0xA2 - lsls r1, 1 - adds r2, r5, r1 - adds r2, r0 - ldrb r1, [r5, 0x9] - subs r1, 0x2 - lsls r0, r1, 2 - adds r0, r1 - adds r0, r6, r0 - adds r0, r7 - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _0814EBA4 @ =gUnknown_846F294 - adds r0, r1 - str r0, [r2] - ldrb r0, [r0] - lsls r0, 3 - ldr r1, _0814EBA8 @ =gUnknown_846E3F8 - adds r0, r1 - bl AddWindow - ldr r1, _0814EBAC @ =0x000001bb - adds r4, r5, r1 - adds r4, r6 - strb r0, [r4] - ldrb r0, [r4] - bl PutWindowTilemap - ldrb r0, [r4] - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r5, 0x9] - cmp r6, r0 - bcc _0814EB46 -_0814EB98: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814EBA0: .4byte gUnknown_846F280 -_0814EBA4: .4byte gUnknown_846F294 -_0814EBA8: .4byte gUnknown_846E3F8 -_0814EBAC: .4byte 0x000001bb - thumb_func_end sub_814EB38 - - thumb_func_start sub_814EBB0 -sub_814EBB0: @ 814EBB0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - adds r6, r0, 0 - movs r7, 0 - ldrb r0, [r6, 0x9] - cmp r7, r0 - bcs _0814EC66 - movs r1, 0 - mov r8, r1 -_0814EBC6: - ldr r1, _0814EC10 @ =0x000001bb - adds r0, r6, r1 - adds r5, r0, r7 - ldrb r0, [r5] - bl PutWindowTilemap - ldrb r0, [r6, 0x8] - cmp r7, r0 - bne _0814EC18 - lsls r4, r7, 5 - adds r4, 0x98 - adds r4, r6, r4 - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - lsrs r0, 1 - movs r2, 0x24 - subs r2, r0 - lsls r2, 24 - lsrs r2, 24 - ldrb r0, [r5] - mov r1, r8 - str r1, [sp] - str r1, [sp, 0x4] - ldr r1, _0814EC14 @ =gUnknown_846E3DF - str r1, [sp, 0x8] - mov r1, r8 - str r1, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x2 - movs r3, 0x1 - bl AddTextPrinterParameterized4 - b _0814EC4C - .align 2, 0 -_0814EC10: .4byte 0x000001bb -_0814EC14: .4byte gUnknown_846E3DF -_0814EC18: - lsls r4, r7, 5 - adds r4, 0x98 - adds r4, r6, r4 - movs r0, 0x2 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - lsrs r0, 1 - movs r2, 0x24 - subs r2, r0 - lsls r2, 24 - lsrs r2, 24 - ldrb r0, [r5] - mov r1, r8 - str r1, [sp] - str r1, [sp, 0x4] - ldr r1, _0814EC78 @ =gUnknown_846E3E2 - str r1, [sp, 0x8] - mov r1, r8 - str r1, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x2 - movs r3, 0x1 - bl AddTextPrinterParameterized4 -_0814EC4C: - ldr r1, _0814EC7C @ =0x000001bb - adds r0, r6, r1 - adds r0, r7 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r6, 0x9] - cmp r7, r0 - bcc _0814EBC6 -_0814EC66: - movs r0, 0 - bl CopyBgTilemapBufferToVram - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814EC78: .4byte gUnknown_846E3E2 -_0814EC7C: .4byte 0x000001bb - thumb_func_end sub_814EBB0 - - thumb_func_start sub_814EC80 -sub_814EC80: @ 814EC80 - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - movs r5, 0 - ldr r0, _0814EC94 @ =gUnknown_8EB0ADC - ldr r4, _0814EC98 @ =gDecompressionBuffer - adds r1, r4, 0 - bl LZ77UnCompWram - b _0814ECCA - .align 2, 0 -_0814EC94: .4byte gUnknown_8EB0ADC -_0814EC98: .4byte gDecompressionBuffer -_0814EC9C: - lsls r1, r5, 2 - movs r2, 0xA2 - lsls r2, 1 - adds r0, r6, r2 - adds r0, r1 - ldr r3, [r0] - ldrb r0, [r3] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r4, r1 - ldrb r2, [r3, 0x1] - ldrb r3, [r3, 0x2] - movs r0, 0xA - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x3 - bl CopyToBgTilemapBufferRect - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0814ECCA: - ldrb r0, [r6, 0x9] - cmp r5, r0 - bcc _0814EC9C - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_814EC80 - - thumb_func_start sub_814ECE0 -sub_814ECE0: @ 814ECE0 - push {r4-r7,lr} - adds r6, r0, 0 - movs r5, 0 - ldr r0, _0814EEE0 @ =0x0000ff98 - strh r0, [r6, 0x2A] - strh r5, [r6, 0x2C] - ldr r1, _0814EEE4 @ =gSpriteCoordOffsetX - strh r5, [r1] - ldr r1, _0814EEE8 @ =gSpriteCoordOffsetY - strh r0, [r1] - ldr r4, _0814EEEC @ =gUnknown_846F2F8 -_0814ECF6: - lsls r0, r5, 3 - adds r0, r4 - bl LoadCompressedSpriteSheet - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _0814ECF6 - ldr r0, _0814EEF0 @ =gUnknown_846F320 - bl LoadSpritePalettes - ldr r0, _0814EEF4 @ =gUnknown_846F410 - movs r1, 0x78 - movs r2, 0x58 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - movs r0, 0xAC - lsls r0, 1 - adds r3, r6, r0 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - ldr r1, _0814EEF8 @ =gSprites - adds r0, r1 - str r0, [r3] - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r1, [r3] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r1] - ldr r1, [r3] - adds r1, 0x2C - ldrb r0, [r1] - movs r2, 0x40 - orrs r0, r2 - strb r0, [r1] - movs r5, 0 - ldrb r1, [r6, 0x9] - cmp r5, r1 - bcs _0814EDD2 - movs r7, 0x4 -_0814ED5A: - lsls r4, r5, 2 - movs r3, 0xA2 - lsls r3, 1 - adds r0, r6, r3 - adds r0, r4 - ldr r0, [r0] - ldrh r1, [r0, 0x4] - adds r1, 0x78 - lsls r1, 16 - asrs r1, 16 - ldrh r2, [r0, 0x6] - adds r2, 0x20 - lsls r2, 16 - asrs r2, 16 - ldr r0, _0814EEFC @ =gUnknown_846F428 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - movs r0, 0xAE - lsls r0, 1 - adds r3, r6, r0 - adds r3, r4 - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r0, _0814EEF8 @ =gSprites - adds r1, r0 - str r1, [r3] - ldrb r0, [r1, 0x5] - movs r4, 0xD - negs r4, r4 - adds r2, r4, 0 - ands r0, r2 - orrs r0, r7 - strb r0, [r1, 0x5] - ldr r1, [r3] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r7 - strb r0, [r1] - ldr r2, [r3] - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldr r2, [r3] - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r6, 0x9] - cmp r5, r0 - bcc _0814ED5A -_0814EDD2: - movs r5, 0 - ldr r4, _0814EF00 @ =gUnknown_846F2D6 - adds r7, r4, 0x1 -_0814EDD8: - lsls r2, r5, 1 - adds r0, r2, r4 - movs r1, 0 - ldrsb r1, [r0, r1] - adds r1, 0x78 - adds r2, r7 - ldrb r2, [r2] - lsls r2, 24 - asrs r2, 24 - adds r2, 0x88 - ldr r0, _0814EF04 @ =gUnknown_846F440 - movs r3, 0x6 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r5, 2 - movs r1, 0xC2 - lsls r1, 1 - adds r3, r6, r1 - adds r3, r0 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - ldr r1, _0814EEF8 @ =gSprites - adds r0, r1 - str r0, [r3] - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r2, [r3] - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r2, [r3] - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r3] - strh r5, [r0, 0x2E] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xA - bls _0814EDD8 - movs r5, 0 -_0814EE3E: - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 19 - movs r3, 0xB0 - lsls r3, 16 - adds r1, r3 - asrs r1, 16 - ldr r0, _0814EF08 @ =gUnknown_846F458 - movs r2, 0x8 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r5, 2 - movs r4, 0xD8 - lsls r4, 1 - adds r3, r6, r4 - adds r3, r0 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - ldr r1, _0814EEF8 @ =gSprites - adds r0, r1 - str r0, [r3] - ldrb r1, [r0, 0x5] - movs r4, 0xD - negs r4, r4 - adds r2, r4, 0 - ands r1, r2 - strb r1, [r0, 0x5] - ldr r2, [r3] - adds r2, 0x3E - ldrb r0, [r2] - adds r4, 0x8 - adds r1, r4, 0 - ands r0, r1 - strb r0, [r2] - ldr r2, [r3] - adds r2, 0x2C - ldrb r0, [r2] - movs r3, 0x41 - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - strb r0, [r2] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bls _0814EE3E - ldr r4, _0814EF0C @ =gUnknown_846F488 - movs r0, 0 - movs r1, 0 - adds r2, r4, 0 - bl sub_815CA40 - adds r2, r4, 0 - adds r2, 0x10 - movs r0, 0x1 - movs r1, 0 - bl sub_815CA40 - adds r4, 0x20 - movs r0, 0x2 - movs r1, 0 - adds r2, r4, 0 - bl sub_815CA40 - ldrh r0, [r6, 0x12] - cmp r0, 0x1 - bne _0814EED8 - movs r4, 0x9C - lsls r4, 1 - adds r0, r6, r4 - bl sub_814EB04 -_0814EED8: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814EEE0: .4byte 0x0000ff98 -_0814EEE4: .4byte gSpriteCoordOffsetX -_0814EEE8: .4byte gSpriteCoordOffsetY -_0814EEEC: .4byte gUnknown_846F2F8 -_0814EEF0: .4byte gUnknown_846F320 -_0814EEF4: .4byte gUnknown_846F410 -_0814EEF8: .4byte gSprites -_0814EEFC: .4byte gUnknown_846F428 -_0814EF00: .4byte gUnknown_846F2D6 -_0814EF04: .4byte gUnknown_846F440 -_0814EF08: .4byte gUnknown_846F458 -_0814EF0C: .4byte gUnknown_846F488 - thumb_func_end sub_814ECE0 - - thumb_func_start sub_814EF10 -sub_814EF10: @ 814EF10 - push {r4-r6,lr} - adds r5, r0, 0 - movs r4, 0 - movs r0, 0x4 - bl FreeSpriteTilesByTag - movs r0, 0x3 - bl FreeSpriteTilesByTag - movs r0, 0x2 - bl FreeSpriteTilesByTag - movs r0, 0x1 - bl FreeSpriteTilesByTag - movs r0, 0x4 - bl FreeSpritePaletteByTag - movs r0, 0x2 - bl FreeSpritePaletteByTag - movs r0, 0x1 - bl FreeSpritePaletteByTag - movs r0, 0xD8 - lsls r0, 1 - adds r6, r5, r0 -_0814EF46: - lsls r0, r4, 2 - adds r0, r6, r0 - ldr r0, [r0] - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0814EF46 - movs r0, 0x2 - bl sub_815D108 - movs r0, 0x1 - bl sub_815D108 - movs r0, 0 - bl sub_815D108 - movs r4, 0 - movs r1, 0xC2 - lsls r1, 1 - adds r6, r5, r1 -_0814EF74: - lsls r0, r4, 2 - adds r0, r6, r0 - ldr r0, [r0] - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xA - bls _0814EF74 - movs r4, 0 - ldrb r2, [r5, 0x9] - cmp r4, r2 - bcs _0814EFAC -_0814EF90: - lsls r1, r4, 2 - movs r2, 0xAE - lsls r2, 1 - adds r0, r5, r2 - adds r0, r1 - ldr r0, [r0] - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r5, 0x9] - cmp r4, r0 - bcc _0814EF90 -_0814EFAC: - movs r1, 0xAC - lsls r1, 1 - adds r0, r5, r1 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0814EFC8 - adds r0, r2, 0 - bl DestroySprite -_0814EFC8: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_814EF10 - - thumb_func_start sub_814EFD0 -sub_814EFD0: @ 814EFD0 - push {lr} - adds r3, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0814EFF6 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - subs r2, 0x12 - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] -_0814EFF6: - pop {r0} - bx r0 - thumb_func_end sub_814EFD0 - - thumb_func_start sub_814EFFC -sub_814EFFC: @ 814EFFC - push {r4,r5,lr} - adds r3, r0, 0 - movs r1, 0 - ldr r5, _0814F040 @ =SpriteCallbackDummy - adds r2, r3, 0 - adds r2, 0x2E - movs r4, 0 -_0814F00A: - lsls r0, r1, 1 - adds r0, r2, r0 - strh r4, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x7 - bls _0814F00A - movs r0, 0 - strh r0, [r3, 0x24] - strh r0, [r3, 0x26] - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - subs r2, 0x12 - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - str r5, [r3, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0814F040: .4byte SpriteCallbackDummy - thumb_func_end sub_814EFFC - - thumb_func_start sub_814F044 -sub_814F044: @ 814F044 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r5, 0 - adds r4, 0x2E - ldrh r0, [r4, 0x4] - ldrh r1, [r4, 0x2] - adds r0, r1 - strh r0, [r4, 0x2] - lsls r0, 16 - asrs r0, 24 - ldrh r2, [r5, 0x26] - adds r0, r2 - strh r0, [r5, 0x26] - movs r1, 0xE - ldrsh r0, [r4, r1] - movs r6, 0x80 - lsls r6, 8 - ands r0, r6 - cmp r0, 0 - beq _0814F0AA - ldrh r0, [r4, 0x6] - ldrh r2, [r5, 0x2E] - adds r0, r2 - strh r0, [r5, 0x2E] - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x8] - adds r0, r1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 23 - movs r2, 0xC - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r5, 0x24] - movs r1, 0xE - ldrsh r0, [r4, r1] - ands r0, r6 - cmp r0, 0 - beq _0814F0AA - ldrh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 23 - cmp r0, 0x7E - ble _0814F0AA - movs r0, 0 - strh r0, [r5, 0x24] - ldrh r1, [r4, 0xE] - ldr r0, _0814F0D0 @ =0x00007fff - ands r0, r1 - strh r0, [r4, 0xE] -_0814F0AA: - ldrh r0, [r4] - lsls r0, 16 - asrs r0, 23 - strh r0, [r5, 0x20] - movs r2, 0x22 - ldrsh r1, [r5, r2] - movs r2, 0x26 - ldrsh r0, [r5, r2] - adds r1, r0 - ldrh r2, [r4, 0xE] - ldr r0, _0814F0D0 @ =0x00007fff - ands r0, r2 - cmp r1, r0 - ble _0814F0CA - ldr r0, _0814F0D4 @ =sub_814EFFC - str r0, [r5, 0x1C] -_0814F0CA: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0814F0D0: .4byte 0x00007fff -_0814F0D4: .4byte sub_814EFFC - thumb_func_end sub_814F044 - - thumb_func_start sub_814F0D8 -sub_814F0D8: @ 814F0D8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r7, r6, 0 - adds r7, 0x2E - movs r0, 0 - mov r8, r0 - movs r2, 0xA0 - lsls r2, 2 - strh r2, [r7, 0x2] - movs r0, 0x20 - strh r0, [r7, 0x4] - movs r1, 0xA8 - strh r1, [r7, 0xE] - movs r0, 0x24 - ldrsh r4, [r6, r0] - lsls r4, 23 - lsrs r4, 16 - ldrh r0, [r6, 0x22] - subs r1, r0 - lsls r1, 23 - asrs r1, 16 - adds r2, 0x20 - asrs r2, 1 - movs r0, 0x7 - bl sub_80D8B40 - adds r5, r0, 0 - ldrh r0, [r6, 0x20] - lsls r0, 7 - strh r0, [r6, 0x2E] - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - movs r0, 0x7 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_80D8B40 - strh r0, [r7, 0x6] - movs r0, 0x7 - adds r1, r5, 0 - movs r2, 0x55 - bl sub_80D8ABC - adds r2, r0, 0 - mov r1, r8 - strh r1, [r7, 0x8] - movs r1, 0xFE - lsls r1, 6 - lsls r2, 16 - asrs r2, 16 - movs r0, 0x7 - bl sub_80D8B40 - strh r0, [r7, 0xA] - movs r2, 0x24 - ldrsh r0, [r6, r2] - cmp r0, 0 - bge _0814F156 - adds r0, 0x3 -_0814F156: - asrs r0, 2 - strh r0, [r7, 0xC] - ldrh r0, [r7, 0xE] - ldr r2, _0814F194 @ =0xffff8000 - adds r1, r2, 0 - orrs r0, r1 - strh r0, [r7, 0xE] - mov r0, r8 - strh r0, [r6, 0x26] - strh r0, [r6, 0x24] - ldr r0, _0814F198 @ =sub_814F044 - str r0, [r6, 0x1C] - adds r2, r6, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r2, 0x12 - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814F194: .4byte 0xffff8000 -_0814F198: .4byte sub_814F044 - thumb_func_end sub_814F0D8 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/bike.s b/asm/bike.s index f714c067f..e73e906bc 100644 --- a/asm/bike.s +++ b/asm/bike.s @@ -718,7 +718,7 @@ StartTransitionToFlipBikeState: @ 80BD5C8 push {r4,lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r1, _080BD5F0 @ =gUnknown_2036E2C + ldr r1, _080BD5F0 @ =gUnusedBikeCameraAheadPanback movs r0, 0 strb r0, [r1] ldr r0, _080BD5F4 @ =gPlayerAvatar @@ -733,7 +733,7 @@ StartTransitionToFlipBikeState: @ 80BD5C8 bl Overworld_PlaySpecialMapMusic b _080BD618 .align 2, 0 -_080BD5F0: .4byte gUnknown_2036E2C +_080BD5F0: .4byte gUnusedBikeCameraAheadPanback _080BD5F4: .4byte gPlayerAvatar _080BD5F8: adds r0, r2, 0 diff --git a/asm/cable_club.s b/asm/cable_club.s deleted file mode 100644 index 27a3d93f4..000000000 --- a/asm/cable_club.s +++ /dev/null @@ -1,2526 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8080748 -sub_8080748: @ 8080748 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r4, _08080784 @ =sub_80809F8 - adds r0, r4, 0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _0808077C - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08080788 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r6, [r1, 0xA] - strh r5, [r1, 0xC] -_0808077C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08080784: .4byte sub_80809F8 -_08080788: .4byte gTasks - thumb_func_end sub_8080748 - - thumb_func_start sub_808078C -sub_808078C: @ 808078C - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, _080807DC @ =gStringVar1 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl SetStdWindowBorderStyle - ldr r5, _080807E0 @ =gStringVar4 - ldr r1, _080807E4 @ =gUnknown_841DF82 - adds r0, r5, 0 - bl StringExpandPlaceholders - movs r1, 0 - str r1, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - str r1, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x2 - adds r2, r5, 0 - movs r3, 0 - bl AddTextPrinterParameterized - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080807DC: .4byte gStringVar1 -_080807E0: .4byte gStringVar4 -_080807E4: .4byte gUnknown_841DF82 - thumb_func_end sub_808078C - - thumb_func_start sub_80807E8 -sub_80807E8: @ 80807E8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl ClearStdWindowAndFrame - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80807E8 - - thumb_func_start sub_8080808 -sub_8080808: @ 8080808 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08080830 @ =gTasks+0x8 - adds r4, r1, r0 - movs r1, 0x6 - ldrsh r0, [r4, r1] - cmp r5, r0 - beq _0808083E - cmp r5, 0x1 - bhi _08080834 - ldrh r0, [r4, 0xA] - bl sub_80807E8 - b _0808083C - .align 2, 0 -_08080830: .4byte gTasks+0x8 -_08080834: - ldrh r0, [r4, 0xA] - adds r1, r5, 0 - bl sub_808078C -_0808083C: - strh r5, [r4, 0x6] -_0808083E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8080808 - - thumb_func_start sub_8080844 -sub_8080844: @ 8080844 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - bl GetLinkPlayerDataExchangeStatusTimed - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x5 - bhi _080808B4 - lsls r0, 2 - ldr r1, _08080868 @ =_0808086C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08080868: .4byte _0808086C - .align 2, 0 -_0808086C: - .4byte _08080884 - .4byte _080808B4 - .4byte _08080888 - .4byte _0808088C - .4byte _08080890 - .4byte _08080894 -_08080884: - movs r0, 0x1 - b _080808B6 -_08080888: - movs r0, 0x3 - b _080808B6 -_0808088C: - movs r0, 0x7 - b _080808B6 -_08080890: - movs r0, 0x9 - b _080808B6 -_08080894: - ldr r4, _080808B0 @ =gStringVar1 - bl GetLinkPlayerCount_2 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - movs r0, 0x4 - b _080808B6 - .align 2, 0 -_080808B0: .4byte gStringVar1 -_080808B4: - movs r0, 0 -_080808B6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8080844 - - thumb_func_start sub_80808BC -sub_80808BC: @ 80808BC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl HasLinkErrorOccurred - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080808D2 - movs r0, 0 - b _080808E2 -_080808D2: - ldr r0, _080808E8 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080808EC @ =sub_8080FF0 - str r0, [r1] - movs r0, 0x1 -_080808E2: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080808E8: .4byte gTasks -_080808EC: .4byte sub_8080FF0 - thumb_func_end sub_80808BC - - thumb_func_start sub_80808F0 -sub_80808F0: @ 80808F0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08080924 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08080934 - bl IsLinkConnectionEstablished - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _08080934 - ldr r0, _08080928 @ =gLinkType - strh r1, [r0] - ldr r1, _0808092C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08080930 @ =sub_8080FB4 - str r1, [r0] - movs r0, 0x1 - b _08080936 - .align 2, 0 -_08080924: .4byte gMain -_08080928: .4byte gLinkType -_0808092C: .4byte gTasks -_08080930: .4byte sub_8080FB4 -_08080934: - movs r0, 0 -_08080936: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80808F0 - - thumb_func_start sub_808093C -sub_808093C: @ 808093C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl IsLinkConnectionEstablished - lsls r0, 24 - cmp r0, 0 - beq _08080952 - movs r0, 0x1 - bl SetSuppressLinkErrorMessage -_08080952: - ldr r0, _08080964 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08080968 - movs r0, 0 - b _0808097E - .align 2, 0 -_08080964: .4byte gMain -_08080968: - ldr r1, _08080984 @ =gLinkType - movs r0, 0 - strh r0, [r1] - ldr r1, _08080988 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0808098C @ =sub_8080FB4 - str r1, [r0] - movs r0, 0x1 -_0808097E: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08080984: .4byte gLinkType -_08080988: .4byte gTasks -_0808098C: .4byte sub_8080FB4 - thumb_func_end sub_808093C - - thumb_func_start sub_8080990 -sub_8080990: @ 8080990 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl GetSioMultiSI - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080809A6 - movs r0, 0 - b _080809B6 -_080809A6: - ldr r0, _080809BC @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080809C0 @ =sub_8080FF0 - str r0, [r1] - movs r0, 0x1 -_080809B6: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080809BC: .4byte gTasks -_080809C0: .4byte sub_8080FF0 - thumb_func_end sub_8080990 - - thumb_func_start sub_80809C4 -sub_80809C4: @ 80809C4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080809F4 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _080809EE - movs r0, 0x2 - bl sub_800A474 - adds r0, r4, 0 - bl DestroyTask -_080809EE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080809F4: .4byte gTasks - thumb_func_end sub_80809C4 - - thumb_func_start sub_80809F8 -sub_80809F8: @ 80809F8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08080A28 @ =gTasks+0x8 - adds r4, r1, r0 - movs r3, 0 - ldrsh r2, [r4, r3] - cmp r2, 0 - bne _08080A30 - bl OpenLinkTimed - bl sub_800AA24 - bl ResetLinkPlayers - ldr r0, _08080A2C @ =gUnknown_83C6AB0 - bl AddWindow - strh r0, [r4, 0xA] - b _08080A3C - .align 2, 0 -_08080A28: .4byte gTasks+0x8 -_08080A2C: .4byte gUnknown_83C6AB0 -_08080A30: - cmp r2, 0x9 - ble _08080A3C - subs r0, 0x8 - adds r0, r1, r0 - ldr r1, _08080A48 @ =sub_8080A4C - str r1, [r0] -_08080A3C: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08080A48: .4byte sub_8080A4C - thumb_func_end sub_80809F8 - - thumb_func_start sub_8080A4C -sub_8080A4C: @ 8080A4C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl GetLinkPlayerCount_2 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - bl sub_80808F0 - cmp r0, 0x1 - beq _08080AC0 - adds r0, r4, 0 - bl sub_808093C - cmp r0, 0x1 - beq _08080AC0 - cmp r5, 0x1 - bls _08080AC0 - movs r0, 0x1 - bl SetSuppressLinkErrorMessage - ldr r1, _08080AA4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r1 - movs r0, 0 - strh r0, [r4, 0xE] - bl IsLinkMaster - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08080AB0 - movs r0, 0x15 - bl PlaySE - ldr r0, _08080AA8 @ =CableClub_Text_WhenAllPlayersReadyAConfirmBCancel - bl ShowFieldAutoScrollMessage - ldr r0, _08080AAC @ =sub_8080AD0 - b _08080ABE - .align 2, 0 -_08080AA4: .4byte gTasks -_08080AA8: .4byte CableClub_Text_WhenAllPlayersReadyAConfirmBCancel -_08080AAC: .4byte sub_8080AD0 -_08080AB0: - movs r0, 0x16 - bl PlaySE - ldr r0, _08080AC8 @ =CableClub_Text_AwaitingLinkupBCancel - bl ShowFieldAutoScrollMessage - ldr r0, _08080ACC @ =sub_8080CDC -_08080ABE: - str r0, [r4] -_08080AC0: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08080AC8: .4byte CableClub_Text_AwaitingLinkupBCancel -_08080ACC: .4byte sub_8080CDC - thumb_func_end sub_8080A4C - - thumb_func_start sub_8080AD0 -sub_8080AD0: @ 8080AD0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80808F0 - cmp r0, 0x1 - beq _08080B10 - adds r0, r4, 0 - bl sub_8080990 - cmp r0, 0x1 - beq _08080B10 - adds r0, r4, 0 - bl sub_80808BC - cmp r0, 0x1 - beq _08080B10 - bl textbox_any_visible - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _08080B10 - ldr r0, _08080B18 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - strh r2, [r1, 0xE] - ldr r0, _08080B1C @ =sub_8080B20 - str r0, [r1] -_08080B10: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08080B18: .4byte gTasks -_08080B1C: .4byte sub_8080B20 - thumb_func_end sub_8080AD0 - - thumb_func_start sub_8080B20 -sub_8080B20: @ 8080B20 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - mov r8, r0 - ldr r0, _08080BB4 @ =gTasks+0x8 - mov r9, r0 - mov r7, r8 - add r7, r9 - bl GetLinkPlayerCount_2 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - bl sub_80808F0 - cmp r0, 0x1 - beq _08080BA8 - adds r0, r4, 0 - bl sub_8080990 - cmp r0, 0x1 - beq _08080BA8 - adds r0, r4, 0 - bl sub_80808BC - cmp r0, 0x1 - beq _08080BA8 - adds r6, r5, 0 - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_8080808 - ldr r0, _08080BB8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08080BA8 - movs r1, 0x2 - ldrsh r0, [r7, r1] - cmp r5, r0 - blt _08080BA8 - adds r0, r6, 0 - bl sub_800A900 - ldrh r0, [r7, 0xA] - bl sub_80807E8 - ldr r0, _08080BBC @ =gStringVar1 - adds r1, r5, 0 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - ldr r0, _08080BC0 @ =CableClub_Text_StartLinkWithXPlayersAConfirmBCancel - bl ShowFieldAutoScrollMessage - mov r0, r9 - subs r0, 0x8 - add r0, r8 - ldr r1, _08080BC4 @ =sub_8080BC8 - str r1, [r0] -_08080BA8: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08080BB4: .4byte gTasks+0x8 -_08080BB8: .4byte gMain -_08080BBC: .4byte gStringVar1 -_08080BC0: .4byte CableClub_Text_StartLinkWithXPlayersAConfirmBCancel -_08080BC4: .4byte sub_8080BC8 - thumb_func_end sub_8080B20 - - thumb_func_start sub_8080BC8 -sub_8080BC8: @ 8080BC8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - adds r0, r5, 0 - bl sub_80808F0 - cmp r0, 0x1 - beq _08080C5C - adds r0, r5, 0 - bl sub_8080990 - cmp r0, 0x1 - beq _08080C5C - adds r0, r5, 0 - bl sub_80808BC - cmp r0, 0x1 - beq _08080C5C - bl textbox_any_visible - lsls r0, 24 - cmp r0, 0 - bne _08080C5C - bl GetSavedPlayerCount - adds r4, r0, 0 - bl GetLinkPlayerCount_2 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _08080C16 - ldr r0, _08080C2C @ =gMain - ldrh r1, [r0, 0x2C] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08080C3C -_08080C16: - ldr r0, _08080C30 @ =CableClub_Text_WhenAllPlayersReadyAConfirmBCancel - bl ShowFieldAutoScrollMessage - ldr r1, _08080C34 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _08080C38 @ =sub_8080AD0 - str r1, [r0] - b _08080C5C - .align 2, 0 -_08080C2C: .4byte gMain -_08080C30: .4byte CableClub_Text_WhenAllPlayersReadyAConfirmBCancel -_08080C34: .4byte gTasks -_08080C38: .4byte sub_8080AD0 -_08080C3C: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08080C5C - movs r0, 0x5 - bl PlaySE - bl CheckShouldAdvanceLinkState - ldr r0, _08080C64 @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, _08080C68 @ =sub_8080C6C - str r0, [r1] -_08080C5C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08080C64: .4byte gTasks -_08080C68: .4byte sub_8080C6C - thumb_func_end sub_8080BC8 - - thumb_func_start sub_8080C6C -sub_8080C6C: @ 8080C6C - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08080CB0 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r5, r0, r1 - ldrb r7, [r5, 0xA] - ldrb r6, [r5, 0xC] - adds r0, r4, 0 - bl sub_80808BC - cmp r0, 0x1 - beq _08080CCE - adds r0, r4, 0 - bl sub_808102C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08080CCE - bl GetLinkPlayerCount_2 - adds r4, r0, 0 - bl GetSavedPlayerCount - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _08080CB8 - ldr r0, _08080CB4 @ =sub_8080FF0 - b _08080CCC - .align 2, 0 -_08080CB0: .4byte gTasks -_08080CB4: .4byte sub_8080FF0 -_08080CB8: - ldr r4, _08080CD4 @ =gSpecialVar_Result - adds r0, r7, 0 - adds r1, r6, 0 - bl sub_8080844 - strh r0, [r4] - lsls r0, 16 - cmp r0, 0 - beq _08080CCE - ldr r0, _08080CD8 @ =sub_8080DC0 -_08080CCC: - str r0, [r5] -_08080CCE: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08080CD4: .4byte gSpecialVar_Result -_08080CD8: .4byte sub_8080DC0 - thumb_func_end sub_8080C6C - - thumb_func_start sub_8080CDC -sub_8080CDC: @ 8080CDC - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08080D30 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r5, r0, r1 - ldrb r7, [r5, 0xA] - ldrb r6, [r5, 0xC] - adds r0, r4, 0 - bl sub_80808F0 - cmp r0, 0x1 - beq _08080D74 - adds r0, r4, 0 - bl sub_80808BC - cmp r0, 0x1 - beq _08080D74 - ldr r4, _08080D34 @ =gSpecialVar_Result - adds r0, r7, 0 - adds r1, r6, 0 - bl sub_8080844 - adds r1, r0, 0 - strh r1, [r4] - lsls r0, r1, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _08080D74 - subs r0, r1, 0x3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _08080D3C - bl sub_800AAC0 - bl HideFieldMessageBox - ldr r0, _08080D38 @ =sub_8080F78 - b _08080D72 - .align 2, 0 -_08080D30: .4byte gTasks -_08080D34: .4byte gSpecialVar_Result -_08080D38: .4byte sub_8080F78 -_08080D3C: - cmp r2, 0x7 - beq _08080D44 - cmp r2, 0x9 - bne _08080D54 -_08080D44: - bl CloseLink - bl HideFieldMessageBox - ldr r0, _08080D50 @ =sub_8080F78 - b _08080D72 - .align 2, 0 -_08080D50: .4byte sub_8080F78 -_08080D54: - bl GetLinkPlayerCount_2 - ldr r4, _08080D7C @ =gFieldLinkPlayerCount - strb r0, [r4] - bl GetMultiplayerId - ldr r1, _08080D80 @ =gLocalLinkPlayerId - strb r0, [r1] - ldrb r0, [r4] - bl sub_800A900 - ldr r0, _08080D84 @ =gBlockSendBuffer - bl TrainerCard_GenerateCardForLinkPlayer - ldr r0, _08080D88 @ =sub_8080E6C -_08080D72: - str r0, [r5] -_08080D74: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08080D7C: .4byte gFieldLinkPlayerCount -_08080D80: .4byte gLocalLinkPlayerId -_08080D84: .4byte gBlockSendBuffer -_08080D88: .4byte sub_8080E6C - thumb_func_end sub_8080CDC - - thumb_func_start sub_8080D8C -sub_8080D8C: @ 8080D8C - push {r4,r5,lr} - movs r5, 0 - ldr r4, _08080D94 @ =gLinkPlayers - b _08080DAC - .align 2, 0 -_08080D94: .4byte gLinkPlayers -_08080D98: - ldrb r0, [r4] - subs r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _08080DA8 - movs r0, 0x1 - b _08080DBA -_08080DA8: - adds r4, 0x1C - adds r5, 0x1 -_08080DAC: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - blt _08080D98 - movs r0, 0 -_08080DBA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8080D8C - - thumb_func_start sub_8080DC0 -sub_8080DC0: @ 8080DC0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl sub_80808BC - cmp r0, 0x1 - beq _08080E50 - ldr r0, _08080DE8 @ =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0x4 - bne _08080DEC - bl sub_8080D8C - cmp r0, 0x1 - beq _08080DFE - bl sub_800AAC0 - b _08080E02 - .align 2, 0 -_08080DE8: .4byte gSpecialVar_Result -_08080DEC: - cmp r0, 0x3 - bne _08080DF6 - bl sub_800AAC0 - b _08080E02 -_08080DF6: - cmp r0, 0x7 - beq _08080DFE - cmp r0, 0x9 - bne _08080E20 -_08080DFE: - bl CloseLink -_08080E02: - bl HideFieldMessageBox - ldr r0, _08080E18 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _08080E1C @ =sub_8080F78 - str r0, [r1] - b _08080E50 - .align 2, 0 -_08080E18: .4byte gTasks -_08080E1C: .4byte sub_8080F78 -_08080E20: - bl GetLinkPlayerCount_2 - ldr r4, _08080E58 @ =gFieldLinkPlayerCount - strb r0, [r4] - bl GetMultiplayerId - ldr r1, _08080E5C @ =gLocalLinkPlayerId - strb r0, [r1] - ldrb r0, [r4] - bl sub_800A900 - ldr r0, _08080E60 @ =gBlockSendBuffer - bl TrainerCard_GenerateCardForLinkPlayer - ldr r1, _08080E64 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _08080E68 @ =sub_8080E6C - str r1, [r0] - movs r0, 0x2 - bl sub_800A474 -_08080E50: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08080E58: .4byte gFieldLinkPlayerCount -_08080E5C: .4byte gLocalLinkPlayerId -_08080E60: .4byte gBlockSendBuffer -_08080E64: .4byte gTasks -_08080E68: .4byte sub_8080E6C - thumb_func_end sub_8080DC0 - - thumb_func_start sub_8080E6C -sub_8080E6C: @ 8080E6C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r7, 0 - bl sub_80808BC - cmp r0, 0x1 - beq _08080F66 - bl GetBlockReceivedStatus - adds r4, r0, 0 - bl sub_800A8A4 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _08080F66 - movs r5, 0 - lsls r0, r7, 2 - mov r8, r0 - b _08080EF8 -_08080E9A: - ldr r1, _08080ED0 @ =gLinkPlayers - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - adds r6, r0, r1 - ldrb r0, [r6] - subs r0, 0x4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bls _08080EDC - lsls r1, r5, 8 - ldr r0, _08080ED4 @ =gBlockRecvBuffer - adds r1, r0 - ldr r0, _08080ED8 @ =gTrainerCards - lsls r4, r5, 1 - adds r4, r5 - lsls r4, 5 - adds r4, r0 - adds r0, r4, 0 - movs r2, 0x38 - bl memcpy - ldrh r0, [r6] - adds r4, 0x38 - strb r0, [r4] - b _08080EF2 - .align 2, 0 -_08080ED0: .4byte gLinkPlayers -_08080ED4: .4byte gBlockRecvBuffer -_08080ED8: .4byte gTrainerCards -_08080EDC: - lsls r1, r5, 8 - ldr r0, _08080F3C @ =gBlockRecvBuffer - adds r1, r0 - ldr r2, _08080F40 @ =gTrainerCards - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 5 - adds r0, r2 - movs r2, 0x60 - bl memcpy -_08080EF2: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_08080EF8: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bcc _08080E9A - movs r0, 0 - bl SetSuppressLinkErrorMessage - bl ResetBlockReceivedFlags - bl HideFieldMessageBox - ldr r0, _08080F44 @ =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0x1 - bne _08080F54 - ldr r0, _08080F48 @ =gLinkType - ldrh r1, [r0] - ldr r0, _08080F4C @ =0x00004411 - ldr r0, _08080F50 @ =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x12] - bl sub_80807E8 - bl EnableBothScriptContexts - adds r0, r7, 0 - bl DestroyTask - b _08080F66 - .align 2, 0 -_08080F3C: .4byte gBlockRecvBuffer -_08080F40: .4byte gTrainerCards -_08080F44: .4byte gSpecialVar_Result -_08080F48: .4byte gLinkType -_08080F4C: .4byte 0x00004411 -_08080F50: .4byte gTasks -_08080F54: - bl sub_800AAC0 - ldr r0, _08080F70 @ =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - ldr r0, _08080F74 @ =sub_8080F78 - str r0, [r1] -_08080F66: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08080F70: .4byte gTasks -_08080F74: .4byte sub_8080F78 - thumb_func_end sub_8080E6C - - thumb_func_start sub_8080F78 -sub_8080F78: @ 8080F78 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _08080FAC @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08080FA6 - ldr r0, _08080FB0 @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - ldrh r0, [r4, 0x12] - bl sub_80807E8 - bl EnableBothScriptContexts - ldrb r0, [r4, 0x12] - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask -_08080FA6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08080FAC: .4byte gReceivedRemoteLinkPlayers -_08080FB0: .4byte gTasks - thumb_func_end sub_8080F78 - - thumb_func_start sub_8080FB4 -sub_8080FB4: @ 8080FB4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _08080FE8 @ =gSpecialVar_Result - movs r0, 0x5 - strh r0, [r1] - ldr r1, _08080FEC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x12] - bl sub_80807E8 - bl HideFieldMessageBox - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08080FE8: .4byte gSpecialVar_Result -_08080FEC: .4byte gTasks - thumb_func_end sub_8080FB4 - - thumb_func_start sub_8080FF0 -sub_8080FF0: @ 8080FF0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _08081024 @ =gSpecialVar_Result - movs r0, 0x6 - strh r0, [r1] - ldr r1, _08081028 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x12] - bl sub_80807E8 - bl HideFieldMessageBox - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08081024: .4byte gSpecialVar_Result -_08081028: .4byte gTasks - thumb_func_end sub_8080FF0 - - thumb_func_start sub_808102C -sub_808102C: @ 808102C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08081050 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r2, r1, r2 - ldrh r0, [r2, 0x10] - adds r0, 0x1 - strh r0, [r2, 0x10] - lsls r0, 16 - movs r1, 0x96 - lsls r1, 18 - cmp r0, r1 - bgt _08081054 - movs r0, 0 - b _0808105A - .align 2, 0 -_08081050: .4byte gTasks -_08081054: - ldr r0, _08081060 @ =sub_8080FF0 - str r0, [r2] - movs r0, 0x1 -_0808105A: - pop {r1} - bx r1 - .align 2, 0 -_08081060: .4byte sub_8080FF0 - thumb_func_end sub_808102C - - thumb_func_start TryBattleLinkup -TryBattleLinkup: @ 8081064 - push {r4,lr} - movs r3, 0x2 - movs r2, 0x2 - ldr r0, _0808107C @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x2 - beq _08081098 - cmp r0, 0x2 - bgt _08081080 - cmp r0, 0x1 - beq _08081086 - b _080810B4 - .align 2, 0 -_0808107C: .4byte gSpecialVar_0x8004 -_08081080: - cmp r0, 0x5 - beq _080810A8 - b _080810B4 -_08081086: - movs r3, 0x2 - ldr r1, _08081090 @ =gLinkType - ldr r4, _08081094 @ =0x00002233 - b _080810B0 - .align 2, 0 -_08081090: .4byte gLinkType -_08081094: .4byte 0x00002233 -_08081098: - movs r3, 0x2 - ldr r1, _080810A0 @ =gLinkType - ldr r4, _080810A4 @ =0x00002244 - b _080810B0 - .align 2, 0 -_080810A0: .4byte gLinkType -_080810A4: .4byte 0x00002244 -_080810A8: - movs r3, 0x4 - movs r2, 0x4 - ldr r1, _080810C4 @ =gLinkType - ldr r4, _080810C8 @ =0x00002255 -_080810B0: - adds r0, r4, 0 - strh r0, [r1] -_080810B4: - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_8080748 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080810C4: .4byte gLinkType -_080810C8: .4byte 0x00002255 - thumb_func_end TryBattleLinkup - - thumb_func_start TryTradeLinkup -TryTradeLinkup: @ 80810CC - push {lr} - ldr r1, _080810E8 @ =gLinkType - ldr r2, _080810EC @ =0x00001133 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _080810F0 @ =gBattleTypeFlags - movs r0, 0 - str r0, [r1] - movs r0, 0x2 - movs r1, 0x2 - bl sub_8080748 - pop {r0} - bx r0 - .align 2, 0 -_080810E8: .4byte gLinkType -_080810EC: .4byte 0x00001133 -_080810F0: .4byte gBattleTypeFlags - thumb_func_end TryTradeLinkup - - thumb_func_start sub_80810F4 -sub_80810F4: @ 80810F4 - push {lr} - ldr r1, _08081118 @ =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] - ldr r1, _0808111C @ =gLinkType - ldr r2, _08081120 @ =0x00003311 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _08081124 @ =gBattleTypeFlags - movs r0, 0 - str r0, [r1] - movs r0, 0x2 - movs r1, 0x4 - bl sub_8080748 - pop {r0} - bx r0 - .align 2, 0 -_08081118: .4byte gSpecialVar_Result -_0808111C: .4byte gLinkType -_08081120: .4byte 0x00003311 -_08081124: .4byte gBattleTypeFlags - thumb_func_end sub_80810F4 - - thumb_func_start sub_8081128 -sub_8081128: @ 8081128 - push {lr} - ldr r1, _08081144 @ =gLinkType - ldr r2, _08081148 @ =0x00006601 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _0808114C @ =gBattleTypeFlags - movs r0, 0 - str r0, [r1] - movs r0, 0x4 - movs r1, 0x4 - bl sub_8080748 - pop {r0} - bx r0 - .align 2, 0 -_08081144: .4byte gLinkType -_08081148: .4byte 0x00006601 -_0808114C: .4byte gBattleTypeFlags - thumb_func_end sub_8081128 - - thumb_func_start sub_8081150 -sub_8081150: @ 8081150 - push {lr} - ldr r0, _08081164 @ =sub_80811FC - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _08081168 - movs r0, 0xFF - b _080811EC - .align 2, 0 -_08081164: .4byte sub_80811FC -_08081168: - ldr r0, _0808117C @ =gSpecialVar_0x8004 - ldrh r0, [r0] - subs r0, 0x1 - cmp r0, 0x4 - bhi _080811E0 - lsls r0, 2 - ldr r1, _08081180 @ =_08081184 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808117C: .4byte gSpecialVar_0x8004 -_08081180: .4byte _08081184 - .align 2, 0 -_08081184: - .4byte _08081198 - .4byte _080811A8 - .4byte _080811C8 - .4byte _080811D8 - .4byte _080811B8 -_08081198: - ldr r1, _080811A0 @ =gLinkType - ldr r2, _080811A4 @ =0x00002233 - b _080811DC - .align 2, 0 -_080811A0: .4byte gLinkType -_080811A4: .4byte 0x00002233 -_080811A8: - ldr r1, _080811B0 @ =gLinkType - ldr r2, _080811B4 @ =0x00002244 - b _080811DC - .align 2, 0 -_080811B0: .4byte gLinkType -_080811B4: .4byte 0x00002244 -_080811B8: - ldr r1, _080811C0 @ =gLinkType - ldr r2, _080811C4 @ =0x00002255 - b _080811DC - .align 2, 0 -_080811C0: .4byte gLinkType -_080811C4: .4byte 0x00002255 -_080811C8: - ldr r1, _080811D0 @ =gLinkType - ldr r2, _080811D4 @ =0x00001111 - b _080811DC - .align 2, 0 -_080811D0: .4byte gLinkType -_080811D4: .4byte 0x00001111 -_080811D8: - ldr r1, _080811F0 @ =gLinkType - ldr r2, _080811F4 @ =0x00003322 -_080811DC: - adds r0, r2, 0 - strh r0, [r1] -_080811E0: - ldr r0, _080811F8 @ =sub_80811FC - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 -_080811EC: - pop {r1} - bx r1 - .align 2, 0 -_080811F0: .4byte gLinkType -_080811F4: .4byte 0x00003322 -_080811F8: .4byte sub_80811FC - thumb_func_end sub_8081150 - - thumb_func_start sub_80811FC -sub_80811FC: @ 80811FC - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08081228 @ =gTasks+0x8 - adds r4, r1, r0 - movs r3, 0 - ldrsh r2, [r4, r3] - cmp r2, 0 - bne _08081230 - bl OpenLink - bl ResetLinkPlayers - ldr r0, _0808122C @ =sub_8081A90 - movs r1, 0x50 - bl CreateTask - b _0808123C - .align 2, 0 -_08081228: .4byte gTasks+0x8 -_0808122C: .4byte sub_8081A90 -_08081230: - cmp r2, 0x9 - ble _0808123C - subs r0, 0x8 - adds r0, r1, r0 - ldr r1, _08081248 @ =sub_808124C - str r1, [r0] -_0808123C: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08081248: .4byte sub_808124C - thumb_func_end sub_80811FC - - thumb_func_start sub_808124C -sub_808124C: @ 808124C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl GetLinkPlayerCount_2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _08081292 - bl IsLinkMaster - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08081284 - ldr r0, _0808127C @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _08081280 @ =sub_80812A0 - b _08081290 - .align 2, 0 -_0808127C: .4byte gTasks -_08081280: .4byte sub_80812A0 -_08081284: - ldr r0, _08081298 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _0808129C @ =sub_80812D8 -_08081290: - str r0, [r1] -_08081292: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08081298: .4byte gTasks -_0808129C: .4byte sub_80812D8 - thumb_func_end sub_808124C - - thumb_func_start sub_80812A0 -sub_80812A0: @ 80812A0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl GetSavedPlayerCount - adds r4, r0, 0 - bl GetLinkPlayerCount_2 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _080812CA - bl CheckShouldAdvanceLinkState - ldr r0, _080812D0 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _080812D4 @ =sub_80812D8 - str r0, [r1] -_080812CA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080812D0: .4byte gTasks -_080812D4: .4byte sub_80812D8 - thumb_func_end sub_80812A0 - - thumb_func_start sub_80812D8 -sub_80812D8: @ 80812D8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08081308 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - bne _08081300 - bl IsLinkPlayerDataExchangeComplete - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08081300 - bl sub_800A9A4 - bl sub_8009FE8 - adds r0, r4, 0 - bl DestroyTask -_08081300: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08081308: .4byte gReceivedRemoteLinkPlayers - thumb_func_end sub_80812D8 - - thumb_func_start sub_808130C -sub_808130C: @ 808130C - push {lr} - bl Field_AskSaveTheGame - pop {r0} - bx r0 - thumb_func_end sub_808130C - - thumb_func_start sub_8081318 -sub_8081318: @ 8081318 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0808133C @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bls _08081332 - b _0808143A -_08081332: - lsls r0, 2 - ldr r1, _08081340 @ =_08081344 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808133C: .4byte gTasks -_08081340: .4byte _08081344 - .align 2, 0 -_08081344: - .4byte _0808135C - .4byte _0808137C - .4byte _0808138C - .4byte _0808139C - .4byte _080813A2 - .4byte _080813B8 -_0808135C: - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - ldr r1, _08081374 @ =gLinkType - ldr r2, _08081378 @ =0x00002211 - adds r0, r2, 0 - strh r0, [r1] - bl ClearLinkCallback_2 - b _080813AA - .align 2, 0 -_08081374: .4byte gLinkType -_08081378: .4byte 0x00002211 -_0808137C: - ldr r0, _08081388 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - b _080813A6 - .align 2, 0 -_08081388: .4byte gPaletteFade -_0808138C: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _0808143A - b _080813AA -_0808139C: - bl sub_800AAC0 - b _080813AA -_080813A2: - ldr r0, _080813B4 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] -_080813A6: - cmp r0, 0 - bne _0808143A -_080813AA: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0808143A - .align 2, 0 -_080813B4: .4byte gReceivedRemoteLinkPlayers -_080813B8: - ldr r0, _080813CC @ =gLinkPlayers - ldr r0, [r0, 0x4] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080813D4 - ldr r0, _080813D0 @ =0x00000109 - bl PlayMapChosenOrBattleBGM - b _080813DC - .align 2, 0 -_080813CC: .4byte gLinkPlayers -_080813D0: .4byte 0x00000109 -_080813D4: - movs r0, 0x85 - lsls r0, 1 - bl PlayMapChosenOrBattleBGM -_080813DC: - ldr r0, _080813F0 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x2 - beq _08081404 - cmp r0, 0x2 - bgt _080813F4 - cmp r0, 0x1 - beq _080813FA - b _0808141A - .align 2, 0 -_080813F0: .4byte gSpecialVar_0x8004 -_080813F4: - cmp r0, 0x5 - beq _08081410 - b _0808141A -_080813FA: - ldr r1, _08081400 @ =gBattleTypeFlags - movs r0, 0xA - b _08081418 - .align 2, 0 -_08081400: .4byte gBattleTypeFlags -_08081404: - ldr r1, _0808140C @ =gBattleTypeFlags - movs r0, 0xB - b _08081418 - .align 2, 0 -_0808140C: .4byte gBattleTypeFlags -_08081410: - bl ReducePlayerPartyToThree - ldr r1, _08081440 @ =gBattleTypeFlags - movs r0, 0x4B -_08081418: - str r0, [r1] -_0808141A: - bl CleanupOverworldWindowsAndTilemaps - ldr r1, _08081444 @ =gTrainerBattleOpponent_A - movs r2, 0x80 - lsls r2, 4 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _08081448 @ =CB2_InitBattle - bl SetMainCallback2 - ldr r1, _0808144C @ =gMain - ldr r0, _08081450 @ =sub_8081668 - str r0, [r1, 0x8] - adds r0, r5, 0 - bl DestroyTask -_0808143A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08081440: .4byte gBattleTypeFlags -_08081444: .4byte gTrainerBattleOpponent_A -_08081448: .4byte CB2_InitBattle -_0808144C: .4byte gMain -_08081450: .4byte sub_8081668 - thumb_func_end sub_8081318 - - thumb_func_start sub_8081454 -sub_8081454: @ 8081454 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _08081478 @ =gTasks+0x8 - adds r6, r0, r1 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0x7 - bls _0808146E - b _0808160A -_0808146E: - lsls r0, 2 - ldr r1, _0808147C @ =_08081480 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08081478: .4byte gTasks+0x8 -_0808147C: .4byte _08081480 - .align 2, 0 -_08081480: - .4byte _080814A0 - .4byte _080814C4 - .4byte _080814DC - .4byte _080814F0 - .4byte _0808154C - .4byte _08081560 - .4byte _0808156A - .4byte _0808157A -_080814A0: - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - ldr r0, _080814BC @ =gLinkType - ldr r2, _080814C0 @ =0x00002211 - adds r1, r2, 0 - strh r1, [r0] - bl ClearLinkCallback_2 - movs r0, 0x1 - strh r0, [r6] - b _0808160A - .align 2, 0 -_080814BC: .4byte gLinkType -_080814C0: .4byte 0x00002211 -_080814C4: - ldr r0, _080814D8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080814D2 - b _0808160A -_080814D2: - movs r0, 0x2 - strh r0, [r6] - b _0808160A - .align 2, 0 -_080814D8: .4byte gPaletteFade -_080814DC: - ldr r1, _080814EC @ =gLocalLinkPlayer - movs r0, 0 - movs r2, 0x1C - bl SendBlock - movs r0, 0x3 - strh r0, [r6] - b _0808160A - .align 2, 0 -_080814EC: .4byte gLocalLinkPlayer -_080814F0: - bl GetBlockReceivedStatus - adds r4, r0, 0 - bl sub_800A8D4 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _08081504 - b _0808160A -_08081504: - movs r4, 0 - ldr r5, _0808150C @ =gLinkPlayers - b _08081536 - .align 2, 0 -_0808150C: .4byte gLinkPlayers -_08081510: - lsls r1, r4, 8 - ldr r2, _08081548 @ =gBlockRecvBuffer - adds r0, r5, 0 - adds r1, r2 - ldm r1!, {r2,r3,r7} - stm r0!, {r2,r3,r7} - ldm r1!, {r2,r3,r7} - stm r0!, {r2,r3,r7} - ldr r1, [r1] - str r1, [r0] - adds r0, r5, 0 - bl sub_800B284 - lsls r0, r4, 24 - lsrs r0, 24 - bl ResetBlockReceivedFlag - adds r5, 0x1C - adds r4, 0x1 -_08081536: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - blt _08081510 - movs r0, 0x4 - strh r0, [r6] - b _0808160A - .align 2, 0 -_08081548: .4byte gBlockRecvBuffer -_0808154C: - ldrh r0, [r6, 0x2] - adds r0, 0x1 - strh r0, [r6, 0x2] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _0808160A - movs r0, 0x5 - strh r0, [r6] - b _0808160A -_08081560: - bl sub_800AB9C - movs r0, 0x6 - strh r0, [r6] - b _0808160A -_0808156A: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0808160A - movs r0, 0x7 - strh r0, [r6] - b _0808160A -_0808157A: - ldr r0, _08081590 @ =gLinkPlayers - ldr r0, [r0, 0x4] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08081598 - ldr r0, _08081594 @ =0x00000109 - bl PlayMapChosenOrBattleBGM - b _080815A0 - .align 2, 0 -_08081590: .4byte gLinkPlayers -_08081594: .4byte 0x00000109 -_08081598: - movs r0, 0x85 - lsls r0, 1 - bl PlayMapChosenOrBattleBGM -_080815A0: - ldr r0, _080815B8 @ =gLinkPlayers - ldr r1, _080815BC @ =0x00002211 - str r1, [r0, 0x14] - ldr r0, _080815C0 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x2 - beq _080815D4 - cmp r0, 0x2 - bgt _080815C4 - cmp r0, 0x1 - beq _080815CA - b _080815EA - .align 2, 0 -_080815B8: .4byte gLinkPlayers -_080815BC: .4byte 0x00002211 -_080815C0: .4byte gSpecialVar_0x8004 -_080815C4: - cmp r0, 0x5 - beq _080815E0 - b _080815EA -_080815CA: - ldr r1, _080815D0 @ =gBattleTypeFlags - movs r0, 0xA - b _080815E8 - .align 2, 0 -_080815D0: .4byte gBattleTypeFlags -_080815D4: - ldr r1, _080815DC @ =gBattleTypeFlags - movs r0, 0xB - b _080815E8 - .align 2, 0 -_080815DC: .4byte gBattleTypeFlags -_080815E0: - bl ReducePlayerPartyToThree - ldr r1, _08081610 @ =gBattleTypeFlags - movs r0, 0x4B -_080815E8: - str r0, [r1] -_080815EA: - bl CleanupOverworldWindowsAndTilemaps - ldr r1, _08081614 @ =gTrainerBattleOpponent_A - movs r3, 0x80 - lsls r3, 4 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, _08081618 @ =CB2_InitBattle - bl SetMainCallback2 - ldr r1, _0808161C @ =gMain - ldr r0, _08081620 @ =sub_8081668 - str r0, [r1, 0x8] - adds r0, r4, 0 - bl DestroyTask -_0808160A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08081610: .4byte gBattleTypeFlags -_08081614: .4byte gTrainerBattleOpponent_A -_08081618: .4byte CB2_InitBattle -_0808161C: .4byte gMain -_08081620: .4byte sub_8081668 - thumb_func_end sub_8081454 - - thumb_func_start sub_8081624 -sub_8081624: @ 8081624 - push {r4,lr} - ldr r0, _0808163C @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0 - beq _08081640 - cmp r0, 0x1 - beq _0808164C - b _0808165C - .align 2, 0 -_0808163C: .4byte gMain -_08081640: - bl sub_800AAC0 - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0808165C -_0808164C: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0808165C - ldr r0, _08081664 @ =CB2_ReturnToField - bl SetMainCallback2 -_0808165C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08081664: .4byte CB2_ReturnToField - thumb_func_end sub_8081624 - - thumb_func_start sub_8081668 -sub_8081668: @ 8081668 - push {r4,r5,lr} - ldr r2, _080816B0 @ =gBattleTypeFlags - ldr r0, [r2] - ldr r1, _080816B4 @ =0x0000ffdf - ands r0, r1 - str r0, [r2] - bl sub_8055DB8 - bl LoadPlayerParty - bl SavePlayerBag - bl Special_UpdateTrainerFansAfterLinkBattle - ldr r0, _080816B8 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x5 - beq _0808170A - ldr r0, _080816BC @ =gLocalLinkPlayerId - ldrb r0, [r0] - movs r5, 0x1 - eors r0, r5 - bl TryRecordLinkBattleOutcome - ldr r0, _080816C0 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0808170A - ldr r0, _080816C4 @ =gBattleOutcome - ldrb r0, [r0] - cmp r0, 0x1 - beq _080816C8 - cmp r0, 0x2 - beq _080816EC - b _0808170A - .align 2, 0 -_080816B0: .4byte gBattleTypeFlags -_080816B4: .4byte 0x0000ffdf -_080816B8: .4byte gSpecialVar_0x8004 -_080816BC: .4byte gLocalLinkPlayerId -_080816C0: .4byte gWirelessCommType -_080816C4: .4byte gBattleOutcome -_080816C8: - ldr r4, _080816E8 @ =gLinkPlayers - bl GetMultiplayerId - eors r0, r5 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r4, 0x4 - adds r1, r4 - ldr r1, [r1] - movs r0, 0 - bl sub_8144714 - b _0808170A - .align 2, 0 -_080816E8: .4byte gLinkPlayers -_080816EC: - ldr r4, _08081718 @ =gLinkPlayers - bl GetMultiplayerId - eors r0, r5 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r4, 0x4 - adds r1, r4 - ldr r1, [r1] - movs r0, 0x1 - bl sub_8144714 -_0808170A: - bl InUnionRoom - cmp r0, 0x1 - bne _08081724 - ldr r1, _0808171C @ =gMain - ldr r0, _08081720 @ =sub_8081624 - b _08081728 - .align 2, 0 -_08081718: .4byte gLinkPlayers -_0808171C: .4byte gMain -_08081720: .4byte sub_8081624 -_08081724: - ldr r1, _08081738 @ =gMain - ldr r0, _0808173C @ =c2_8056854 -_08081728: - str r0, [r1, 0x8] - ldr r0, _08081740 @ =CB2_SetUpSaveAfterLinkBattle - bl SetMainCallback2 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08081738: .4byte gMain -_0808173C: .4byte c2_8056854 -_08081740: .4byte CB2_SetUpSaveAfterLinkBattle - thumb_func_end sub_8081668 - - thumb_func_start CleanupLinkRoomState -CleanupLinkRoomState: @ 8081744 - push {lr} - ldr r0, _0808176C @ =gSpecialVar_0x8004 - ldrh r1, [r0] - subs r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bls _08081758 - cmp r1, 0x5 - bne _08081760 -_08081758: - bl LoadPlayerParty - bl SavePlayerBag -_08081760: - movs r0, 0x7F - bl copy_saved_warp2_bank_and_enter_x_to_warp1 - pop {r0} - bx r0 - .align 2, 0 -_0808176C: .4byte gSpecialVar_0x8004 - thumb_func_end CleanupLinkRoomState - - thumb_func_start sub_8081770 -sub_8081770: @ 8081770 - push {lr} - bl sub_8057F5C - pop {r0} - bx r0 - thumb_func_end sub_8081770 - - thumb_func_start sub_808177C -sub_808177C: @ 808177C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080817A0 @ =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080817C0 - cmp r0, 0x1 - bgt _080817A4 - cmp r0, 0 - beq _080817AE - b _08081820 - .align 2, 0 -_080817A0: .4byte gTasks -_080817A4: - cmp r0, 0x2 - beq _080817E0 - cmp r0, 0x3 - beq _0808180C - b _08081820 -_080817AE: - ldr r0, _080817BC @ =CableClub_Text_PleaseWaitBCancel - bl ShowFieldMessage - movs r0, 0x1 - strh r0, [r5, 0x8] - b _08081820 - .align 2, 0 -_080817BC: .4byte CableClub_Text_PleaseWaitBCancel -_080817C0: - bl IsFieldMessageBoxHidden - lsls r0, 24 - cmp r0, 0 - beq _08081820 - bl sub_8057F34 - ldr r0, _080817DC @ =gSpecialVar_0x8005 - ldrb r0, [r0] - bl SetLocalLinkPlayerId - movs r0, 0x2 - strh r0, [r5, 0x8] - b _08081820 - .align 2, 0 -_080817DC: .4byte gSpecialVar_0x8005 -_080817E0: - bl sub_8057EC0 - cmp r0, 0x1 - beq _080817F2 - cmp r0, 0x1 - bcc _08081820 - cmp r0, 0x2 - beq _08081806 - b _08081820 -_080817F2: - bl HideFieldMessageBox - movs r0, 0 - strh r0, [r5, 0x8] - bl sub_8057F70 - adds r0, r4, 0 - bl SwitchTaskToFollowupFunc - b _08081820 -_08081806: - movs r0, 0x3 - strh r0, [r5, 0x8] - b _08081820 -_0808180C: - bl sub_8057F48 - movs r0, 0x1 - bl sub_80F771C - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts -_08081820: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_808177C - - thumb_func_start sub_8081828 -sub_8081828: @ 8081828 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _0808184C @ =sub_808177C - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - adds r2, r5, 0 - bl SetTaskFuncWithFollowupFunc - bl ScriptContext1_Stop - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808184C: .4byte sub_808177C - thumb_func_end sub_8081828 - - thumb_func_start sub_8081850 -sub_8081850: @ 8081850 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08081874 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08081894 - cmp r0, 0x1 - bgt _08081878 - cmp r0, 0 - beq _08081882 - b _080818D8 - .align 2, 0 -_08081874: .4byte gTasks -_08081878: - cmp r0, 0x2 - beq _080818A8 - cmp r0, 0x3 - beq _080818C4 - b _080818D8 -_08081882: - bl ScriptContext2_Enable - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - bl ClearLinkCallback_2 - b _080818B8 -_08081894: - ldr r0, _080818A4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080818D8 - b _080818B8 - .align 2, 0 -_080818A4: .4byte gPaletteFade -_080818A8: - ldr r1, _080818C0 @ =gSelectedTradeMonPositions - movs r0, 0 - strb r0, [r1] - strb r0, [r1, 0x1] - bl m4aMPlayAllStop - bl sub_800AAC0 -_080818B8: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080818D8 - .align 2, 0 -_080818C0: .4byte gSelectedTradeMonPositions -_080818C4: - ldr r0, _080818E0 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _080818D8 - ldr r0, _080818E4 @ =CB2_ReturnFromLinkTrade - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_080818D8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080818E0: .4byte gReceivedRemoteLinkPlayers -_080818E4: .4byte CB2_ReturnFromLinkTrade - thumb_func_end sub_8081850 - - thumb_func_start sub_80818E8 -sub_80818E8: @ 80818E8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0808190C @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0808192C - cmp r0, 0x1 - bgt _08081910 - cmp r0, 0 - beq _0808191A - b _08081970 - .align 2, 0 -_0808190C: .4byte gTasks+0x8 -_08081910: - cmp r0, 0x2 - beq _08081940 - cmp r0, 0x3 - beq _0808195C - b _08081970 -_0808191A: - bl ScriptContext2_Enable - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - bl Rfu_set_zero - b _08081950 -_0808192C: - ldr r0, _0808193C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08081970 - b _08081950 - .align 2, 0 -_0808193C: .4byte gPaletteFade -_08081940: - ldr r1, _08081958 @ =gSelectedTradeMonPositions - movs r0, 0 - strb r0, [r1] - strb r0, [r1, 0x1] - bl m4aMPlayAllStop - bl sub_800AB9C -_08081950: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _08081970 - .align 2, 0 -_08081958: .4byte gSelectedTradeMonPositions -_0808195C: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08081970 - bl sub_8117118 - adds r0, r5, 0 - bl DestroyTask -_08081970: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80818E8 - - thumb_func_start EnterTradeSeat -EnterTradeSeat: @ 8081978 - push {lr} - ldr r0, _0808198C @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08081994 - ldr r0, _08081990 @ =sub_80818E8 - bl sub_8081828 - b _0808199A - .align 2, 0 -_0808198C: .4byte gWirelessCommType -_08081990: .4byte sub_80818E8 -_08081994: - ldr r0, _080819A0 @ =sub_8081850 - bl sub_8081828 -_0808199A: - pop {r0} - bx r0 - .align 2, 0 -_080819A0: .4byte sub_8081850 - thumb_func_end EnterTradeSeat - - thumb_func_start sub_80819A4 -sub_80819A4: @ 80819A4 - push {lr} - ldr r0, _080819B4 @ =sub_8081850 - movs r1, 0x50 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080819B4: .4byte sub_8081850 - thumb_func_end sub_80819A4 - - thumb_func_start sub_80819B8 -sub_80819B8: @ 80819B8 - push {lr} - bl sub_80819A4 - bl ScriptContext1_Stop - pop {r0} - bx r0 - thumb_func_end sub_80819B8 - - thumb_func_start EnterColosseumPlayerSpot -EnterColosseumPlayerSpot: @ 80819C8 - push {lr} - ldr r1, _080819E4 @ =gLinkType - ldr r2, _080819E8 @ =0x00002211 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _080819EC @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _080819F4 - ldr r0, _080819F0 @ =sub_8081454 - bl sub_8081828 - b _080819FA - .align 2, 0 -_080819E4: .4byte gLinkType -_080819E8: .4byte 0x00002211 -_080819EC: .4byte gWirelessCommType -_080819F0: .4byte sub_8081454 -_080819F4: - ldr r0, _08081A00 @ =sub_8081318 - bl sub_8081828 -_080819FA: - pop {r0} - bx r0 - .align 2, 0 -_08081A00: .4byte sub_8081318 - thumb_func_end EnterColosseumPlayerSpot - - thumb_func_start sub_8081A04 -sub_8081A04: @ 8081A04 - push {lr} - ldr r0, _08081A18 @ =sub_808177C - movs r1, 0x50 - bl CreateTask - bl ScriptContext1_Stop - pop {r0} - bx r0 - .align 2, 0 -_08081A18: .4byte sub_808177C - thumb_func_end sub_8081A04 - - thumb_func_start Script_ShowLinkTrainerCard -Script_ShowLinkTrainerCard: @ 8081A1C - push {lr} - ldr r0, _08081A2C @ =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r1, _08081A30 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl ShowTrainerCardInLink - pop {r0} - bx r0 - .align 2, 0 -_08081A2C: .4byte gSpecialVar_0x8006 -_08081A30: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic - thumb_func_end Script_ShowLinkTrainerCard - - thumb_func_start sub_8081A34 -sub_8081A34: @ 8081A34 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08081A74 @ =gSpecialVar_0x8006 - strh r4, [r0] - ldr r0, _08081A78 @ =gStringVar1 - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - ldr r2, _08081A7C @ =gLinkPlayers + 8 - adds r1, r2 - bl StringCopy - adds r0, r4, 0 - bl GetTrainerCardStars - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08081A88 - ldr r0, _08081A80 @ =gStringVar2 - ldr r2, _08081A84 @ =gUnknown_83C6AB8 - subs r1, 0x1 - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - movs r0, 0x1 - b _08081A8A - .align 2, 0 -_08081A74: .4byte gSpecialVar_0x8006 -_08081A78: .4byte gStringVar1 -_08081A7C: .4byte gLinkPlayers + 8 -_08081A80: .4byte gStringVar2 -_08081A84: .4byte gUnknown_83C6AB8 -_08081A88: - movs r0, 0 -_08081A8A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8081A34 - - thumb_func_start sub_8081A90 -sub_8081A90: @ 8081A90 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _08081AD8 @ =gTasks - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - lsls r1, 16 - movs r0, 0x96 - lsls r0, 17 - cmp r1, r0 - ble _08081AC2 - bl CloseLink - ldr r0, _08081ADC @ =CB2_LinkError - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_08081AC2: - ldr r0, _08081AE0 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08081AD0 - adds r0, r5, 0 - bl DestroyTask -_08081AD0: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08081AD8: .4byte gTasks -_08081ADC: .4byte CB2_LinkError -_08081AE0: .4byte gReceivedRemoteLinkPlayers - thumb_func_end sub_8081A90 - - thumb_func_start sub_8081AE4 -sub_8081AE4: @ 8081AE4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08081B04 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08081AFC - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_08081AFC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08081B04: .4byte gReceivedRemoteLinkPlayers - thumb_func_end sub_8081AE4 - - thumb_func_start sub_8081B08 -sub_8081B08: @ 8081B08 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_800AAC0 - ldr r1, _08081B28 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08081B2C @ =sub_8081AE4 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08081B28: .4byte gTasks -_08081B2C: .4byte sub_8081AE4 - thumb_func_end sub_8081B08 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/clear_save_data_screen.s b/asm/clear_save_data_screen.s deleted file mode 100644 index 367f12814..000000000 --- a/asm/clear_save_data_screen.s +++ /dev/null @@ -1,469 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80F5574 -sub_80F5574: @ 80F5574 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80F5574 - - thumb_func_start sub_80F558C -sub_80F558C: @ 80F558C - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_80F558C - - thumb_func_start CB2_SaveClearScreen_Init -CB2_SaveClearScreen_Init: @ 80F55A0 - push {r4,lr} - ldr r4, _080F55D0 @ =gUnknown_203AB54 - movs r0, 0x4 - bl AllocZeroed - str r0, [r4] - movs r1, 0 - strb r1, [r0, 0x1] - ldr r0, [r4] - strb r1, [r0] - ldr r0, [r4] - strb r1, [r0, 0x2] - bl sub_80F580C - ldr r0, _080F55D4 @ =sub_80F55DC - movs r1, 0 - bl CreateTask - ldr r0, _080F55D8 @ =sub_80F5574 - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F55D0: .4byte gUnknown_203AB54 -_080F55D4: .4byte sub_80F55DC -_080F55D8: .4byte sub_80F5574 - thumb_func_end CB2_SaveClearScreen_Init - - thumb_func_start sub_80F55DC -sub_80F55DC: @ 80F55DC - push {r4,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080F55F8 @ =gUnknown_203AB54 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x5 - bhi _080F56C0 - lsls r0, 2 - ldr r1, _080F55FC @ =_080F5600 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080F55F8: .4byte gUnknown_203AB54 -_080F55FC: .4byte _080F5600 - .align 2, 0 -_080F5600: - .4byte _080F5618 - .4byte _080F562A - .4byte _080F5644 - .4byte _080F564A - .4byte _080F5660 - .4byte _080F569C -_080F5618: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _080F56E2 -_080F562A: - ldr r0, _080F5640 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080F56EC - movs r0, 0 - bl SetVBlankCallback - b _080F56E2 - .align 2, 0 -_080F5640: .4byte gPaletteFade -_080F5644: - bl sub_80F5820 - b _080F56E2 -_080F564A: - movs r0, 0 - movs r1, 0x1 - movs r2, 0xF0 - bl TextWindow_SetStdFrame0_WithPal - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0xF0 - bl TextWindow_SetStdFrame0_WithPal - b _080F56E2 -_080F5660: - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0xF - bl DrawStdFrameWithCustomTileAndPalette - movs r0, 0x1 - str r0, [sp] - str r0, [sp, 0x4] - ldr r0, _080F5694 @ =gUnknown_841EE80 - str r0, [sp, 0x8] - movs r0, 0 - str r0, [sp, 0xC] - ldr r0, _080F5698 @ =gUnknown_841B69E - str r0, [sp, 0x10] - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x3 - bl AddTextPrinterParameterized4 - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - b _080F56E2 - .align 2, 0 -_080F5694: .4byte gUnknown_841EE80 -_080F5698: .4byte gUnknown_841B69E -_080F569C: - ldr r0, _080F56BC @ =gUnknown_841EE68 - movs r2, 0x1 - str r2, [sp] - movs r1, 0xF - str r1, [sp, 0x4] - str r2, [sp, 0x8] - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl CreateYesNoMenu - movs r0, 0 - bl CopyBgTilemapBufferToVram - b _080F56E2 - .align 2, 0 -_080F56BC: .4byte gUnknown_841EE68 -_080F56C0: - ldr r0, _080F56F4 @ =0x0000ffff - str r0, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _080F56F8 @ =sub_80F558C - bl SetVBlankCallback - ldr r1, _080F56FC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080F5700 @ =sub_80F5708 - str r1, [r0] -_080F56E2: - ldr r0, _080F5704 @ =gUnknown_203AB54 - ldr r1, [r0] - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] -_080F56EC: - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F56F4: .4byte 0x0000ffff -_080F56F8: .4byte sub_80F558C -_080F56FC: .4byte gTasks -_080F5700: .4byte sub_80F5708 -_080F5704: .4byte gUnknown_203AB54 - thumb_func_end sub_80F55DC - - thumb_func_start sub_80F5708 -sub_80F5708: @ 80F5708 - push {r4,r5,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r1, r0, 24 - ldr r5, _080F5740 @ =gUnknown_203AB54 - ldr r0, [r5] - ldrb r0, [r0] - cmp r0, 0 - bne _080F578C - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r4, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r4, r0 - beq _080F5736 - cmp r4, r0 - ble _080F5792 - cmp r4, 0 - beq _080F5744 - cmp r4, 0x1 - bne _080F5792 -_080F5736: - movs r0, 0x5 - bl PlaySE - b _080F577A - .align 2, 0 -_080F5740: .4byte gUnknown_203AB54 -_080F5744: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0x1 - str r0, [sp] - str r0, [sp, 0x4] - ldr r0, _080F5784 @ =gUnknown_841EE80 - str r0, [sp, 0x8] - str r4, [sp, 0xC] - ldr r0, _080F5788 @ =gUnknown_841B6B9 - str r0, [sp, 0x10] - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x3 - bl AddTextPrinterParameterized4 - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram - bl ClearSaveData -_080F577A: - ldr r1, [r5] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080F5792 - .align 2, 0 -_080F5784: .4byte gUnknown_841EE80 -_080F5788: .4byte gUnknown_841B6B9 -_080F578C: - adds r0, r1, 0 - bl sub_80F579C -_080F5792: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80F5708 - - thumb_func_start sub_80F579C -sub_80F579C: @ 80F579C - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, _080F57B4 @ =gUnknown_203AB54 - ldr r0, [r5] - ldrb r0, [r0, 0x2] - cmp r0, 0 - beq _080F57B8 - cmp r0, 0x1 - beq _080F57D4 - b _080F57FE - .align 2, 0 -_080F57B4: .4byte gUnknown_203AB54 -_080F57B8: - ldr r0, _080F57D0 @ =0x0000ffff - str r0, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r5] - ldrb r0, [r1, 0x2] - adds r0, 0x1 - strb r0, [r1, 0x2] - b _080F57FE - .align 2, 0 -_080F57D0: .4byte 0x0000ffff -_080F57D4: - ldr r0, _080F5808 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080F57FE - bl DestroyYesNoMenu - adds r0, r6, 0 - bl DestroyTask - bl FreeAllWindowBuffers - ldr r0, [r5] - bl Free - str r4, [r5] - bl DoSoftReset -_080F57FE: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080F5808: .4byte gPaletteFade - thumb_func_end sub_80F579C - - thumb_func_start sub_80F580C -sub_80F580C: @ 80F580C - push {lr} - bl ResetSpriteData - bl ResetPaletteFade - bl ResetTasks - pop {r0} - bx r0 - thumb_func_end sub_80F580C - - thumb_func_start sub_80F5820 -sub_80F5820: @ 80F5820 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - add r0, sp, 0x4 - mov r8, r0 - mov r2, sp - movs r6, 0 - ldr r1, _080F593C @ =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, _080F5940 @ =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_080F5846: - strh r6, [r2] - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r5 - subs r4, r5 - cmp r4, r5 - bhi _080F5846 - strh r6, [r2] - mov r2, sp - str r2, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp, 0x4] - ldr r2, _080F593C @ =0x040000d4 - mov r1, r8 - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xA0 - lsls r1, 19 - mov r0, sp - strh r4, [r0] - str r0, [r2] - str r1, [r2, 0x4] - lsrs r3, 1 - movs r0, 0x81 - lsls r0, 24 - orrs r3, r0 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _080F5944 @ =gUnknown_841EE64 - movs r0, 0 - movs r2, 0x1 - bl InitBgsFromTemplates - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldr r0, _080F5948 @ =gUnknown_841EE68 - bl InitWindows - bl DeactivateAllTextPrinters - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F593C: .4byte 0x040000d4 -_080F5940: .4byte 0x81000800 -_080F5944: .4byte gUnknown_841EE64 -_080F5948: .4byte gUnknown_841EE68 - thumb_func_end sub_80F5820 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/dodrio_berry_picking.s b/asm/dodrio_berry_picking.s deleted file mode 100644 index 3e9c18491..000000000 --- a/asm/dodrio_berry_picking.s +++ /dev/null @@ -1,11411 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81507FC -sub_81507FC: @ 81507FC - push {r4-r6,lr} - adds r5, r1, 0 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r1, _081508A4 @ =gUnknown_3002044 - movs r0, 0 - str r0, [r1] - ldr r0, _081508A8 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _081508CC - ldr r4, _081508AC @ =gUnknown_203F3E0 - ldr r0, _081508B0 @ =0x00003330 - bl AllocZeroed - str r0, [r4] - cmp r0, 0 - beq _081508CC - bl sub_81508D8 - ldr r0, [r4] - bl sub_81508EC - ldr r0, [r4] - str r5, [r0] - bl GetMultiplayerId - ldr r1, [r4] - adds r1, 0x28 - strb r0, [r1] - ldr r1, [r4] - ldr r2, _081508B4 @ =0x000032cc - adds r0, r1, r2 - adds r2, r1, 0 - adds r2, 0x28 - ldrb r3, [r2] - lsls r2, r3, 4 - subs r2, r3 - lsls r2, 2 - adds r1, r2 - ldr r2, _081508B8 @ =0x000031a0 - adds r1, r2 - movs r2, 0x3C - bl memcpy - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x28 - ldrb r1, [r1] - lsls r1, 2 - ldr r2, _081508BC @ =0x0000318c - adds r1, r2 - adds r0, r1 - movs r1, 0x64 - muls r1, r6 - ldr r2, _081508C0 @ =gPlayerParty - adds r1, r2 - bl sub_8152048 - ldr r0, _081508C4 @ =sub_8150A84 - movs r1, 0x1 - bl CreateTask - ldr r0, _081508C8 @ =sub_815201C - bl SetMainCallback2 - bl sub_8153150 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x24 - ldrb r0, [r0] - adds r1, r2, 0 - adds r1, 0x44 - adds r2, 0x48 - bl sub_81529A4 - bl StopMapMusic - movs r0, 0xA5 - lsls r0, 1 - bl PlayNewMapMusic - b _081508D2 - .align 2, 0 -_081508A4: .4byte gUnknown_3002044 -_081508A8: .4byte gReceivedRemoteLinkPlayers -_081508AC: .4byte gUnknown_203F3E0 -_081508B0: .4byte 0x00003330 -_081508B4: .4byte 0x000032cc -_081508B8: .4byte 0x000031a0 -_081508BC: .4byte 0x0000318c -_081508C0: .4byte gPlayerParty -_081508C4: .4byte sub_8150A84 -_081508C8: .4byte sub_815201C -_081508CC: - adds r0, r5, 0 - bl SetMainCallback2 -_081508D2: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81507FC - - thumb_func_start sub_81508D8 -sub_81508D8: @ 81508D8 - push {lr} - bl ResetTasks - bl ResetSpriteData - bl FreeAllSpritePalettes - pop {r0} - bx r0 - thumb_func_end sub_81508D8 - - thumb_func_start sub_81508EC -sub_81508EC: @ 81508EC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x28 - adds r2, r0, 0 - movs r0, 0 - strb r0, [r2, 0xC] - strb r0, [r2, 0x10] - strb r0, [r2, 0x14] - strb r0, [r2, 0x18] - strb r0, [r2, 0x1C] - movs r3, 0x8E - lsls r3, 1 - adds r1, r2, r3 - str r0, [r1] - movs r7, 0x90 - lsls r7, 1 - adds r1, r2, r7 - str r0, [r1] - adds r1, r2, 0 - adds r1, 0x30 - strb r0, [r1] - adds r1, 0x10 - strb r0, [r1] - subs r1, 0x4 - strb r0, [r1] - adds r3, 0x10 - adds r1, r2, r3 - str r0, [r1] - movs r5, 0 - adds r1, r2, 0 - adds r1, 0x98 - movs r3, 0 -_08150932: - adds r0, r1, r5 - strb r3, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _08150932 - movs r5, 0 - adds r7, r2, 0 - adds r7, 0xA8 - str r7, [sp] - adds r0, r2, 0 - adds r0, 0xB0 - str r0, [sp, 0xC] - movs r1, 0x4A - adds r1, r2 - mov r10, r1 - movs r3, 0x4C - adds r3, r2 - mov r9, r3 - movs r7, 0x4E - adds r7, r2 - mov r12, r7 - subs r0, 0x60 - str r0, [sp, 0x24] - adds r6, r2, 0 - adds r6, 0x54 - adds r1, r2, 0 - adds r1, 0xD0 - str r1, [sp, 0x1C] - adds r3, r2, 0 - adds r3, 0xDC - str r3, [sp, 0x20] - adds r7, r2, 0 - adds r7, 0xC4 - str r7, [sp, 0x14] - adds r0, 0xA4 - str r0, [sp, 0x4] - adds r1, 0x25 - str r1, [sp, 0x8] - subs r3, 0xBC - str r3, [sp, 0x10] - movs r7, 0x24 - adds r7, r2 - mov r8, r7 - subs r0, 0xC0 - str r0, [sp, 0x18] - movs r3, 0 - movs r1, 0x86 - lsls r1, 1 - adds r4, r2, r1 - movs r7, 0x98 - lsls r7, 1 - adds r2, r7 -_0815099E: - ldr r1, [sp] - adds r0, r1, r5 - strb r3, [r0] - ldr r7, [sp, 0xC] - adds r0, r7, r5 - strb r3, [r0] - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 2 - mov r7, r10 - adds r1, r7, r0 - strh r3, [r1] - mov r7, r9 - adds r1, r7, r0 - strh r3, [r1] - mov r7, r12 - adds r1, r7, r0 - strh r3, [r1] - ldr r7, [sp, 0x24] - adds r1, r7, r0 - strh r3, [r1] - adds r0, r6, r0 - strh r3, [r0] - adds r0, r4, r5 - strb r3, [r0] - lsls r0, r5, 2 - adds r0, r2, r0 - str r3, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _0815099E - movs r5, 0 - movs r3, 0 - movs r4, 0xFF - ldr r6, [sp, 0x1C] -_081509E8: - adds r0, r6, r5 - strb r3, [r0] - ldr r1, [sp, 0x20] - adds r0, r1, r5 - strb r3, [r0] - ldr r7, [sp, 0x14] - adds r0, r7, r5 - strb r3, [r0] - lsls r1, r5, 1 - ldr r0, [sp, 0x4] - adds r2, r0, r1 - ldrb r0, [r2] - orrs r0, r4 - strb r0, [r2] - ldr r7, [sp, 0x8] - adds r1, r7, r1 - ldrb r0, [r1] - orrs r0, r4 - strb r0, [r1] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xA - bls _081509E8 - bl GetMultiplayerId - movs r1, 0 - lsls r0, 24 - cmp r0, 0 - bne _08150A26 - movs r1, 0x1 -_08150A26: - ldr r0, [sp, 0x10] - strb r1, [r0] - bl GetLinkPlayerCount - mov r1, r8 - strb r0, [r1] - bl GetMultiplayerId - ldr r3, [sp, 0x18] - strb r0, [r3] - movs r5, 0x1 - mov r7, r8 - ldrb r7, [r7] - cmp r5, r7 - bcs _08150A72 - ldr r7, [sp, 0x18] - mov r6, r8 -_08150A48: - adds r4, r7, r5 - subs r0, r5, 0x1 - adds r0, r7, r0 - ldrb r0, [r0] - adds r0, 0x1 - strb r0, [r4] - ldrb r2, [r4] - ldrb r1, [r6] - subs r0, r1, 0x1 - cmp r2, r0 - ble _08150A66 - adds r0, r2, 0 - bl __umodsi3 - strb r0, [r4] -_08150A66: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r6] - cmp r5, r0 - bcc _08150A48 -_08150A72: - add sp, 0x28 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81508EC - - thumb_func_start sub_8150A84 -sub_8150A84: @ 8150A84 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _08150AA4 @ =gUnknown_203F3E0 - ldr r0, [r0] - ldrb r0, [r0, 0xC] - cmp r0, 0x7 - bls _08150A98 - b _08150BF0 -_08150A98: - lsls r0, 2 - ldr r1, _08150AA8 @ =_08150AAC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08150AA4: .4byte gUnknown_203F3E0 -_08150AA8: .4byte _08150AAC - .align 2, 0 -_08150AAC: - .4byte _08150ACC - .4byte _08150AE0 - .4byte _08150B08 - .4byte _08150B16 - .4byte _08150B3C - .4byte _08150B90 - .4byte _08150BA2 - .4byte _08150BCC -_08150ACC: - movs r0, 0 - bl SetVBlankCallback - ldr r0, _08150ADC @ =sub_8151750 - movs r1, 0x4 - bl sub_815205C - b _08150BDC - .align 2, 0 -_08150ADC: .4byte sub_8151750 -_08150AE0: - ldr r0, _08150B00 @ =sub_8151750 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _08150AEE - b _08150BFC -_08150AEE: - ldr r4, _08150B04 @ =gUnknown_203F3E0 - ldr r0, [r4] - movs r1, 0xB0 - lsls r1, 1 - adds r0, r1 - bl sub_8154968 - ldr r1, [r4] - b _08150BE0 - .align 2, 0 -_08150B00: .4byte sub_8151750 -_08150B04: .4byte gUnknown_203F3E0 -_08150B08: - bl sub_8155E68 - cmp r0, 0 - bne _08150BFC - bl sub_80FA42C - b _08150BDC -_08150B16: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08150BFC - ldr r0, _08150B38 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08150BDC - bl LoadWirelessStatusIndicatorSpriteGfx - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - b _08150BDC - .align 2, 0 -_08150B38: .4byte gReceivedRemoteLinkPlayers -_08150B3C: - ldr r0, _08150B88 @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x24 - ldrb r5, [r0] - bl sub_8153A9C - movs r4, 0 - cmp r4, r5 - bcs _08150B76 -_08150B4E: - ldr r0, _08150B88 @ =gUnknown_203F3E0 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x34 - adds r0, r4 - ldrb r2, [r0] - lsls r0, r2, 2 - ldr r3, _08150B8C @ =0x0000318c - adds r0, r3 - adds r0, r1, r0 - adds r1, 0x24 - ldrb r3, [r1] - adds r1, r4, 0 - bl sub_8153AFC - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08150B4E -_08150B76: - ldr r4, _08150B88 @ =gUnknown_203F3E0 - ldr r0, [r4] - adds r0, 0x24 - ldrb r1, [r0] - movs r0, 0 - bl sub_8153D80 - ldr r1, [r4] - b _08150BE0 - .align 2, 0 -_08150B88: .4byte gUnknown_203F3E0 -_08150B8C: .4byte 0x0000318c -_08150B90: - bl sub_8154128 - bl sub_815417C - bl sub_8154438 - bl sub_8153E28 - b _08150BDC -_08150BA2: - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _08150BC8 @ =sub_8152034 - bl SetVBlankCallback - b _08150BDC - .align 2, 0 -_08150BC8: .4byte sub_8152034 -_08150BCC: - bl UpdatePaletteFade - ldr r0, _08150BE8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08150BFC -_08150BDC: - ldr r0, _08150BEC @ =gUnknown_203F3E0 - ldr r1, [r0] -_08150BE0: - ldrb r0, [r1, 0xC] - adds r0, 0x1 - strb r0, [r1, 0xC] - b _08150BFC - .align 2, 0 -_08150BE8: .4byte gPaletteFade -_08150BEC: .4byte gUnknown_203F3E0 -_08150BF0: - adds r0, r1, 0 - bl DestroyTask - ldr r0, _08150C04 @ =sub_81516DC - bl sub_815206C -_08150BFC: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08150C04: .4byte sub_81516DC - thumb_func_end sub_8150A84 - - thumb_func_start sub_8150C08 -sub_8150C08: @ 8150C08 - push {lr} - bl sub_8151B54 - ldr r1, _08150C34 @ =sUnknown_8475578 - ldr r0, _08150C38 @ =gUnknown_203F3E0 - ldr r0, [r0] - ldrb r0, [r0, 0x18] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _08150C3C @ =gUnknown_3002044 - ldr r0, [r0] - cmp r0, 0 - bne _08150C2C - bl sub_815293C -_08150C2C: - bl sub_8151BA0 - pop {r0} - bx r0 - .align 2, 0 -_08150C34: .4byte sUnknown_8475578 -_08150C38: .4byte gUnknown_203F3E0 -_08150C3C: .4byte gUnknown_3002044 - thumb_func_end sub_8150C08 - - thumb_func_start sub_8150C40 -sub_8150C40: @ 8150C40 - push {lr} - bl sub_8151C5C - ldr r1, _08150C6C @ =sUnknown_84755A8 - ldr r0, _08150C70 @ =gUnknown_203F3E0 - ldr r0, [r0] - ldrb r0, [r0, 0x18] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _08150C74 @ =gUnknown_3002044 - ldr r0, [r0] - cmp r0, 0 - bne _08150C64 - bl sub_8152970 -_08150C64: - bl sub_8151D28 - pop {r0} - bx r0 - .align 2, 0 -_08150C6C: .4byte sUnknown_84755A8 -_08150C70: .4byte gUnknown_203F3E0 -_08150C74: .4byte gUnknown_3002044 - thumb_func_end sub_8150C40 - - thumb_func_start sub_8150C78 -sub_8150C78: @ 8150C78 - push {r4,lr} - ldr r4, _08150C8C @ =gUnknown_203F3E0 - ldr r0, [r4] - ldrb r0, [r0, 0x10] - cmp r0, 0 - beq _08150C90 - cmp r0, 0x1 - beq _08150CA6 - b _08150CB4 - .align 2, 0 -_08150C8C: .4byte gUnknown_203F3E0 -_08150C90: - movs r0, 0x1 - bl sub_8153BF8 - movs r0, 0x1 - bl sub_81549D4 - ldr r1, [r4] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - b _08150CB4 -_08150CA6: - bl sub_8155E68 - cmp r0, 0 - bne _08150CB4 - movs r0, 0x1 - bl sub_8152090 -_08150CB4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8150C78 - - thumb_func_start sub_8150CBC -sub_8150CBC: @ 8150CBC - push {r4,lr} - ldr r4, _08150CD8 @ =gUnknown_203F3E0 - ldr r1, [r4] - ldrb r0, [r1, 0x10] - cmp r0, 0 - bne _08150CDC - bl sub_8152110 - ldr r1, [r4] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - b _08150CEC - .align 2, 0 -_08150CD8: .4byte gUnknown_203F3E0 -_08150CDC: - movs r0, 0x8C - lsls r0, 1 - adds r1, r0 - movs r0, 0x1 - str r0, [r1] - movs r0, 0x2 - bl sub_8152090 -_08150CEC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8150CBC - - thumb_func_start sub_8150CF4 -sub_8150CF4: @ 8150CF4 - push {lr} - sub sp, 0x4 - ldr r0, _08150D0C @ =gUnknown_203F3E0 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - cmp r0, 0x4 - bhi _08150D74 - lsls r0, 2 - ldr r1, _08150D10 @ =_08150D14 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08150D0C: .4byte gUnknown_203F3E0 -_08150D10: .4byte _08150D14 - .align 2, 0 -_08150D14: - .4byte _08150D28 - .4byte _08150D4E - .4byte _08150D3A - .4byte _08150D46 - .4byte _08150D64 -_08150D28: - movs r0, 0 - str r0, [sp] - movs r0, 0x7 - movs r1, 0x8 - movs r2, 0x78 - movs r3, 0x50 - bl sub_815F138 - b _08150D52 -_08150D3A: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08150D74 - b _08150D52 -_08150D46: - bl sub_815F198 - cmp r0, 0 - bne _08150D74 -_08150D4E: - bl sub_80FA42C -_08150D52: - ldr r0, _08150D60 @ =gUnknown_203F3E0 - ldr r1, [r0] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - b _08150D74 - .align 2, 0 -_08150D60: .4byte gUnknown_203F3E0 -_08150D64: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08150D74 - movs r0, 0x3 - bl sub_8152090 -_08150D74: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8150CF4 - - thumb_func_start sub_8150D7C -sub_8150D7C: @ 8150D7C - push {lr} - ldr r0, _08150DA0 @ =gUnknown_203F3E0 - ldr r1, [r0] - ldrb r0, [r1, 0x10] - cmp r0, 0 - bne _08150D9A - movs r2, 0x8E - lsls r2, 1 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0 - beq _08150D9A - movs r0, 0x4 - bl sub_8152090 -_08150D9A: - pop {r0} - bx r0 - .align 2, 0 -_08150DA0: .4byte gUnknown_203F3E0 - thumb_func_end sub_8150D7C - - thumb_func_start sub_8150DA4 -sub_8150DA4: @ 8150DA4 - push {r4,lr} - ldr r4, _08150DE4 @ =gUnknown_203F3E0 - ldr r2, [r4] - ldrb r0, [r2, 0x10] - cmp r0, 0 - bne _08150E62 - adds r0, r2, 0 - adds r0, 0x40 - ldrb r0, [r0] - cmp r0, 0x9 - bhi _08150E54 - adds r0, r2, 0 - adds r0, 0xA8 - ldrb r0, [r0] - cmp r0, 0 - bne _08150E5A - ldr r0, _08150DE8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08150DF4 - ldr r1, _08150DEC @ =0x000031cc - adds r0, r2, r1 - ldrb r1, [r0] - cmp r1, 0 - bne _08150E5A - ldr r3, _08150DF0 @ =0x000031d0 - adds r0, r2, r3 - strb r1, [r0] - movs r0, 0x2 - b _08150E2E - .align 2, 0 -_08150DE4: .4byte gUnknown_203F3E0 -_08150DE8: .4byte gMain -_08150DEC: .4byte 0x000031cc -_08150DF0: .4byte 0x000031d0 -_08150DF4: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08150E14 - ldr r3, _08150E10 @ =0x000031cc - adds r0, r2, r3 - ldrb r1, [r0] - cmp r1, 0 - bne _08150E5A - adds r3, 0x4 - adds r0, r2, r3 - strb r1, [r0] - movs r0, 0x1 - b _08150E2E - .align 2, 0 -_08150E10: .4byte 0x000031cc -_08150E14: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08150E40 - ldr r3, _08150E3C @ =0x000031cc - adds r0, r2, r3 - ldrb r1, [r0] - cmp r1, 0 - bne _08150E5A - adds r3, 0x4 - adds r0, r2, r3 - strb r1, [r0] - movs r0, 0x3 -_08150E2E: - bl sub_815327C - ldr r1, [r4] - ldr r2, _08150E3C @ =0x000031cc - adds r1, r2 - strb r0, [r1] - b _08150E5A - .align 2, 0 -_08150E3C: .4byte 0x000031cc -_08150E40: - movs r0, 0 - bl sub_815327C - ldr r1, [r4] - ldr r3, _08150E50 @ =0x000031cc - adds r1, r3 - strb r0, [r1] - b _08150E5A - .align 2, 0 -_08150E50: .4byte 0x000031cc -_08150E54: - movs r0, 0xB - bl sub_8152090 -_08150E5A: - bl sub_815256C - bl sub_8151D98 -_08150E62: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8150DA4 - - thumb_func_start sub_8150E68 -sub_8150E68: @ 8150E68 - push {lr} - ldr r0, _08150EA8 @ =gUnknown_203F3E0 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x40 - ldrb r0, [r0] - cmp r0, 0x9 - bhi _08150F30 - ldr r0, _08150EAC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08150EB8 - adds r0, r2, 0 - adds r0, 0x28 - ldrb r1, [r0] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r0, r2, r0 - ldr r1, _08150EB0 @ =0x000031cc - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08150F36 - ldr r3, _08150EB4 @ =0x000032f8 - adds r1, r2, r3 - movs r0, 0x2 - strb r0, [r1] - b _08150F36 - .align 2, 0 -_08150EA8: .4byte gUnknown_203F3E0 -_08150EAC: .4byte gMain -_08150EB0: .4byte 0x000031cc -_08150EB4: .4byte 0x000032f8 -_08150EB8: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08150EEC - adds r0, r2, 0 - adds r0, 0x28 - ldrb r1, [r0] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r0, r2, r0 - ldr r1, _08150EE4 @ =0x000031cc - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08150F36 - ldr r3, _08150EE8 @ =0x000032f8 - adds r1, r2, r3 - movs r0, 0x1 - strb r0, [r1] - b _08150F36 - .align 2, 0 -_08150EE4: .4byte 0x000031cc -_08150EE8: .4byte 0x000032f8 -_08150EEC: - movs r0, 0x20 - ands r0, r1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _08150F24 - adds r0, r2, 0 - adds r0, 0x28 - ldrb r1, [r0] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r0, r2, r0 - ldr r1, _08150F1C @ =0x000031cc - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08150F36 - ldr r3, _08150F20 @ =0x000032f8 - adds r1, r2, r3 - movs r0, 0x3 - strb r0, [r1] - b _08150F36 - .align 2, 0 -_08150F1C: .4byte 0x000031cc -_08150F20: .4byte 0x000032f8 -_08150F24: - ldr r3, _08150F2C @ =0x000032f8 - adds r0, r2, r3 - strb r1, [r0] - b _08150F36 - .align 2, 0 -_08150F2C: .4byte 0x000032f8 -_08150F30: - movs r0, 0xB - bl sub_8152090 -_08150F36: - bl sub_8151E94 - pop {r0} - bx r0 - thumb_func_end sub_8150E68 - - thumb_func_start sub_8150F40 -sub_8150F40: @ 8150F40 - push {r4,r5,lr} - bl sub_815256C - bl sub_8151D98 - bl sub_8152A98 - cmp r0, 0x1 - bne _08150F5E - bl sub_8153004 - movs r0, 0x5 - bl sub_8152090 - b _08150FBC -_08150F5E: - ldr r0, _08150F8C @ =gUnknown_203F3E0 - ldr r2, [r0] - movs r1, 0x96 - lsls r1, 1 - adds r4, r2, r1 - movs r1, 0x1 - str r1, [r4] - movs r3, 0x1 - adds r1, r2, 0 - adds r1, 0x24 - adds r5, r0, 0 - ldrb r1, [r1] - cmp r3, r1 - bcs _08150FBC - movs r1, 0x9A - lsls r1, 1 - adds r0, r2, r1 - ldr r0, [r0] - cmp r0, 0x1 - beq _08150F90 - movs r0, 0 - str r0, [r4] - b _08150FBC - .align 2, 0 -_08150F8C: .4byte gUnknown_203F3E0 -_08150F90: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, [r5] - adds r0, r2, 0 - adds r0, 0x24 - ldrb r0, [r0] - cmp r3, r0 - bcs _08150FBC - lsls r0, r3, 2 - movs r4, 0x98 - lsls r4, 1 - adds r1, r2, r4 - adds r1, r0 - ldr r0, [r1] - cmp r0, 0x1 - beq _08150F90 - movs r0, 0x96 - lsls r0, 1 - adds r1, r2, r0 - movs r0, 0 - str r0, [r1] -_08150FBC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8150F40 - - thumb_func_start sub_8150FC4 -sub_8150FC4: @ 8150FC4 - push {lr} - bl sub_8151E94 - bl sub_8152AD8 - cmp r0, 0x1 - bne _08150FD8 - movs r0, 0x5 - bl sub_8152090 -_08150FD8: - pop {r0} - bx r0 - thumb_func_end sub_8150FC4 - - thumb_func_start sub_8150FDC -sub_8150FDC: @ 8150FDC - push {r4-r6,lr} - ldr r6, _08150FF4 @ =gUnknown_203F3E0 - ldr r1, [r6] - ldrb r4, [r1, 0x10] - cmp r4, 0x1 - beq _08151010 - cmp r4, 0x1 - bgt _08150FF8 - cmp r4, 0 - beq _08150FFE - b _08151078 - .align 2, 0 -_08150FF4: .4byte gUnknown_203F3E0 -_08150FF8: - cmp r4, 0x2 - beq _0815101E - b _08151078 -_08150FFE: - adds r1, 0x4A - movs r0, 0 - movs r2, 0x3C - bl SendBlock - ldr r0, [r6] - strb r4, [r0, 0x8] - ldr r1, [r6] - b _0815106A -_08151010: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08151092 - ldr r1, [r6] - b _0815106A -_0815101E: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - b _08151048 -_0815102A: - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _08151040 - adds r0, r4, 0 - bl ResetBlockReceivedFlag - ldr r1, [r6] - ldrb r0, [r1, 0x8] - adds r0, 0x1 - strb r0, [r1, 0x8] -_08151040: - lsrs r5, 1 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_08151048: - ldr r0, [r6] - adds r0, 0x24 - ldrb r0, [r0] - cmp r4, r0 - bcc _0815102A - ldr r3, _08151074 @ =gUnknown_203F3E0 - ldr r2, [r3] - adds r1, r2, 0 - adds r1, 0x24 - ldrb r0, [r2, 0x8] - ldrb r1, [r1] - cmp r0, r1 - bcc _08151092 - ldrb r0, [r2, 0x14] - adds r0, 0x1 - strb r0, [r2, 0x14] - ldr r1, [r3] -_0815106A: - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - b _08151092 - .align 2, 0 -_08151074: .4byte gUnknown_203F3E0 -_08151078: - movs r0, 0x1 - bl WaitFanfare - lsls r0, 24 - cmp r0, 0 - beq _08151092 - movs r0, 0x6 - bl sub_8152090 - ldr r0, _08151098 @ =0x00000137 - movs r1, 0x4 - bl FadeOutAndPlayNewMapMusic -_08151092: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08151098: .4byte 0x00000137 - thumb_func_end sub_8150FDC - - thumb_func_start sub_815109C -sub_815109C: @ 815109C - push {r4-r6,lr} - ldr r6, _081510B4 @ =gUnknown_203F3E0 - ldr r2, [r6] - ldrb r4, [r2, 0x10] - cmp r4, 0x1 - beq _081510DA - cmp r4, 0x1 - bgt _081510B8 - cmp r4, 0 - beq _081510BE - b _08151150 - .align 2, 0 -_081510B4: .4byte gUnknown_203F3E0 -_081510B8: - cmp r4, 0x2 - beq _081510E8 - b _08151150 -_081510BE: - ldrb r0, [r2, 0x14] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, 0x4A - adds r1, r2, r1 - movs r0, 0 - movs r2, 0x3C - bl SendBlock - ldr r0, [r6] - strb r4, [r0, 0x8] - ldr r1, [r6] - b _08151140 -_081510DA: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0815118A - ldr r1, [r6] - b _08151140 -_081510E8: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - b _0815111E -_081510F4: - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _08151116 - ldr r0, [r6] - adds r0, 0x4A - ldr r1, _08151148 @ =gBlockRecvBuffer - movs r2, 0x3C - bl memcpy - adds r0, r4, 0 - bl ResetBlockReceivedFlag - ldr r1, [r6] - ldrb r0, [r1, 0x8] - adds r0, 0x1 - strb r0, [r1, 0x8] -_08151116: - lsrs r5, 1 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_0815111E: - ldr r0, [r6] - adds r0, 0x24 - ldrb r0, [r0] - cmp r4, r0 - bcc _081510F4 - ldr r3, _0815114C @ =gUnknown_203F3E0 - ldr r2, [r3] - adds r1, r2, 0 - adds r1, 0x24 - ldrb r0, [r2, 0x8] - ldrb r1, [r1] - cmp r0, r1 - bcc _0815118A - ldrb r0, [r2, 0x14] - adds r0, 0x1 - strb r0, [r2, 0x14] - ldr r1, [r3] -_08151140: - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - b _0815118A - .align 2, 0 -_08151148: .4byte gBlockRecvBuffer -_0815114C: .4byte gUnknown_203F3E0 -_08151150: - movs r0, 0x1 - bl WaitFanfare - lsls r0, 24 - cmp r0, 0 - beq _0815118A - ldr r0, _08151190 @ =gUnknown_203F3E0 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x28 - ldrb r0, [r0] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r0, r2, 0 - adds r0, 0x54 - adds r0, r1 - ldrh r1, [r0] - movs r3, 0x8A - lsls r3, 1 - adds r0, r2, r3 - strh r1, [r0] - movs r0, 0x6 - bl sub_8152090 - ldr r0, _08151194 @ =0x00000137 - movs r1, 0x4 - bl FadeOutAndPlayNewMapMusic -_0815118A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08151190: .4byte gUnknown_203F3E0 -_08151194: .4byte 0x00000137 - thumb_func_end sub_815109C - - thumb_func_start sub_8151198 -sub_8151198: @ 8151198 - push {r4-r6,lr} - sub sp, 0x4 - ldr r6, _081511B0 @ =gUnknown_203F3E0 - ldr r0, [r6] - ldrb r4, [r0, 0x10] - cmp r4, 0x1 - beq _081511DC - cmp r4, 0x1 - bgt _081511B4 - cmp r4, 0 - beq _081511BE - b _0815129C - .align 2, 0 -_081511B0: .4byte gUnknown_203F3E0 -_081511B4: - cmp r4, 0x2 - beq _08151202 - cmp r4, 0x3 - beq _0815121C - b _0815129C -_081511BE: - bl sub_81531FC - movs r0, 0x1 - bl sub_81540DC - bl sub_81544F0 - movs r0, 0x1 - bl sub_81545BC - movs r0, 0x2 - bl sub_81549D4 - ldr r1, [r6] - b _0815128A -_081511DC: - bl sub_8155E68 - cmp r0, 0 - bne _081512AA - mov r0, sp - strb r4, [r0] - movs r0, 0x5 - bl sub_81549D4 - bl sub_8155E8C - mov r1, sp - strb r0, [r1] - movs r0, 0 - movs r2, 0x1 - bl SendBlock - ldr r1, [r6] - b _0815128A -_08151202: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _081512AA - ldr r1, [r6] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1, 0x10] - ldr r0, [r6] - strb r2, [r0, 0x8] - b _081512AA -_0815121C: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - b _0815125A -_08151228: - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _08151252 - ldr r2, [r6] - adds r2, r4, r2 - movs r0, 0x86 - lsls r0, 1 - adds r2, r0 - lsls r0, r4, 8 - ldr r1, _08151294 @ =gBlockRecvBuffer - adds r0, r1 - ldrb r0, [r0] - strb r0, [r2] - adds r0, r4, 0 - bl ResetBlockReceivedFlag - ldr r1, [r6] - ldrb r0, [r1, 0x8] - adds r0, 0x1 - strb r0, [r1, 0x8] -_08151252: - lsrs r5, 1 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_0815125A: - ldr r0, [r6] - adds r0, 0x24 - ldrb r0, [r0] - cmp r4, r0 - bcc _08151228 - ldr r4, _08151298 @ =gUnknown_203F3E0 - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0x24 - ldrb r0, [r2, 0x8] - ldrb r1, [r1] - cmp r0, r1 - bcc _081512AA - ldrb r0, [r2, 0x14] - adds r0, 0x1 - strb r0, [r2, 0x14] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x77 - bls _081512AA - movs r0, 0x6 - bl sub_81549D4 - ldr r1, [r4] -_0815128A: - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - b _081512AA - .align 2, 0 -_08151294: .4byte gBlockRecvBuffer -_08151298: .4byte gUnknown_203F3E0 -_0815129C: - bl sub_8155E68 - cmp r0, 0 - bne _081512AA - movs r0, 0x7 - bl sub_8152090 -_081512AA: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8151198 - - thumb_func_start sub_81512B4 -sub_81512B4: @ 81512B4 - push {r4-r7,lr} - sub sp, 0x4 - ldr r5, _081512D0 @ =gUnknown_203F3E0 - ldr r0, [r5] - ldrb r0, [r0, 0x10] - cmp r0, 0x6 - bls _081512C4 - b _0815144A -_081512C4: - lsls r0, 2 - ldr r1, _081512D4 @ =_081512D8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081512D0: .4byte gUnknown_203F3E0 -_081512D4: .4byte _081512D8 - .align 2, 0 -_081512D8: - .4byte _081512F4 - .4byte _08151314 - .4byte _08151330 - .4byte _08151344 - .4byte _08151360 - .4byte _0815138C - .4byte _081513AC -_081512F4: - bl sub_81534AC - ldr r1, _0815130C @ =0x00000bb7 - cmp r0, r1 - bls _08151304 - movs r0, 0x4 - bl sub_81549D4 -_08151304: - ldr r0, _08151310 @ =gUnknown_203F3E0 - ldr r1, [r0] - b _0815142A - .align 2, 0 -_0815130C: .4byte 0x00000bb7 -_08151310: .4byte gUnknown_203F3E0 -_08151314: - bl sub_8155E68 - cmp r0, 0 - beq _0815131E - b _08151480 -_0815131E: - movs r0, 0x3 - bl sub_81549D4 - ldr r0, _0815132C @ =gUnknown_203F3E0 - ldr r1, [r0] - b _0815142A - .align 2, 0 -_0815132C: .4byte gUnknown_203F3E0 -_08151330: - bl sub_81546C0 - bl sub_8153048 - ldr r0, _08151340 @ =gUnknown_203F3E0 - ldr r1, [r0] - b _0815142A - .align 2, 0 -_08151340: .4byte gUnknown_203F3E0 -_08151344: - bl sub_8155E8C - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - strb r0, [r1] - cmp r0, 0 - bne _08151356 - b _08151480 -_08151356: - ldr r0, _0815135C @ =gUnknown_203F3E0 - ldr r1, [r0] - b _0815142A - .align 2, 0 -_0815135C: .4byte gUnknown_203F3E0 -_08151360: - bl sub_8155E68 - cmp r0, 0 - beq _0815136A - b _08151480 -_0815136A: - movs r0, 0x5 - bl sub_81549D4 - bl sub_8155E8C - mov r1, sp - strb r0, [r1] - movs r0, 0 - movs r2, 0x1 - bl SendBlock - ldr r0, _08151388 @ =gUnknown_203F3E0 - ldr r1, [r0] - b _0815142A - .align 2, 0 -_08151388: .4byte gUnknown_203F3E0 -_0815138C: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08151480 - ldr r3, _081513A8 @ =gUnknown_203F3E0 - ldr r1, [r3] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1, 0x10] - ldr r0, [r3] - strb r2, [r0, 0x8] - b _08151480 - .align 2, 0 -_081513A8: .4byte gUnknown_203F3E0 -_081513AC: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r7, _08151434 @ =gUnknown_203F3E0 - ldr r0, [r7] - adds r0, 0x24 - ldrb r0, [r0] - cmp r4, r0 - bcs _08151400 - adds r6, r7, 0 -_081513C4: - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _081513EE - ldr r2, [r6] - adds r2, r4, r2 - movs r0, 0x86 - lsls r0, 1 - adds r2, r0 - lsls r0, r4, 8 - ldr r1, _08151438 @ =gBlockRecvBuffer - adds r0, r1 - ldrb r0, [r0] - strb r0, [r2] - adds r0, r4, 0 - bl ResetBlockReceivedFlag - ldr r1, [r6] - ldrb r0, [r1, 0x8] - adds r0, 0x1 - strb r0, [r1, 0x8] -_081513EE: - lsrs r5, 1 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, [r7] - adds r0, 0x24 - ldrb r0, [r0] - cmp r4, r0 - bcc _081513C4 -_08151400: - ldr r4, _08151434 @ =gUnknown_203F3E0 - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0x24 - ldrb r0, [r2, 0x8] - ldrb r1, [r1] - cmp r0, r1 - bcc _0815143C - ldrb r0, [r2, 0x14] - adds r0, 0x1 - strb r0, [r2, 0x14] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x77 - bls _08151480 - bl sub_815336C - movs r0, 0x6 - bl sub_81549D4 - ldr r1, [r4] -_0815142A: - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - b _08151480 - .align 2, 0 -_08151434: .4byte gUnknown_203F3E0 -_08151438: .4byte gBlockRecvBuffer -_0815143C: - bl sub_81532B8 - b _08151480 -_08151442: - movs r0, 0x8 - bl sub_8152090 - b _08151480 -_0815144A: - bl sub_8155E68 - cmp r0, 0 - bne _08151480 - movs r4, 0 - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x24 - ldrb r0, [r0] - cmp r4, r0 - bcs _0815147A - movs r3, 0x86 - lsls r3, 1 - adds r2, r1, r3 - adds r1, r0, 0 -_08151468: - adds r0, r2, r4 - ldrb r0, [r0] - cmp r0, 0x2 - beq _08151442 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r1 - bcc _08151468 -_0815147A: - movs r0, 0xA - bl sub_8152090 -_08151480: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81512B4 - - thumb_func_start sub_8151488 -sub_8151488: @ 8151488 - push {r4,lr} - ldr r4, _081514A0 @ =gUnknown_203F3E0 - ldr r0, [r4] - ldrb r0, [r0, 0x10] - cmp r0, 0x1 - beq _081514B6 - cmp r0, 0x1 - bgt _081514A4 - cmp r0, 0 - beq _081514AA - b _081514D6 - .align 2, 0 -_081514A0: .4byte gUnknown_203F3E0 -_081514A4: - cmp r0, 0x2 - beq _081514C0 - b _081514D6 -_081514AA: - bl sub_800AAC0 - movs r0, 0x7 - bl sub_81549D4 - b _081514CC -_081514B6: - bl sub_8155E68 - cmp r0, 0 - bne _081514E4 - b _081514CC -_081514C0: - bl sub_8155E8C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bne _081514E4 -_081514CC: - ldr r1, [r4] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - b _081514E4 -_081514D6: - ldr r0, _081514EC @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _081514E4 - movs r0, 0x9 - bl sub_8152090 -_081514E4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081514EC: .4byte gReceivedRemoteLinkPlayers - thumb_func_end sub_8151488 - - thumb_func_start sub_81514F0 -sub_81514F0: @ 81514F0 - push {r4,lr} - sub sp, 0x4 - ldr r4, _08151508 @ =gUnknown_203F3E0 - ldr r0, [r4] - ldrb r1, [r0, 0x10] - cmp r1, 0x1 - beq _08151524 - cmp r1, 0x1 - bgt _0815150C - cmp r1, 0 - beq _08151512 - b _0815156C - .align 2, 0 -_08151508: .4byte gUnknown_203F3E0 -_0815150C: - cmp r1, 0x2 - beq _0815153C - b _0815156C -_08151512: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _0815155E -_08151524: - bl UpdatePaletteFade - ldr r0, _08151538 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08151590 - b _0815155E - .align 2, 0 -_08151538: .4byte gPaletteFade -_0815153C: - bl sub_8154274 - bl sub_8153ED8 - ldr r0, [r4] - adds r0, 0x24 - ldrb r0, [r0] - bl sub_8153D08 - bl sub_8154578 - ldr r1, _08151568 @ =gUnknown_3002044 - movs r0, 0x1 - str r0, [r1] - movs r0, 0x8 - bl sub_81549D4 -_0815155E: - ldr r1, [r4] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - b _08151590 - .align 2, 0 -_08151568: .4byte gUnknown_3002044 -_0815156C: - bl sub_8155E68 - cmp r0, 0 - bne _08151590 - ldr r4, _08151598 @ =gUnknown_203F3E0 - ldr r0, [r4] - ldr r0, [r0] - bl SetMainCallback2 - ldr r0, [r4] - ldrb r0, [r0, 0x4] - bl DestroyTask - ldr r0, [r4] - bl Free - bl FreeAllWindowBuffers -_08151590: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08151598: .4byte gUnknown_203F3E0 - thumb_func_end sub_81514F0 - - thumb_func_start sub_815159C -sub_815159C: @ 815159C - push {r4,lr} - sub sp, 0x4 - ldr r4, _081515B4 @ =gUnknown_203F3E0 - ldr r1, [r4] - ldrb r0, [r1, 0x10] - cmp r0, 0x6 - bhi _0815169C - lsls r0, 2 - ldr r1, _081515B8 @ =_081515BC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081515B4: .4byte gUnknown_203F3E0 -_081515B8: .4byte _081515BC - .align 2, 0 -_081515BC: - .4byte _081515D8 - .4byte _08151676 - .4byte _081515F0 - .4byte _08151642 - .4byte _08151648 - .4byte _08151656 - .4byte _08151676 -_081515D8: - movs r0, 0x9 - bl sub_81549D4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _08151686 -_081515F0: - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - b _08151686 -_08151642: - bl StopMapMusic - b _08151686 -_08151648: - movs r0, 0xA5 - lsls r0, 1 - bl PlayNewMapMusic - bl sub_8154540 - b _08151686 -_08151656: - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _08151686 -_08151676: - bl UpdatePaletteFade - ldr r0, _08151694 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081516CC -_08151686: - ldr r0, _08151698 @ =gUnknown_203F3E0 - ldr r1, [r0] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - b _081516CC - .align 2, 0 -_08151694: .4byte gPaletteFade -_08151698: .4byte gUnknown_203F3E0 -_0815169C: - ldrb r0, [r1, 0x4] - bl DestroyTask - ldr r0, _081516D4 @ =sub_81516DC - bl sub_815206C - bl sub_8154730 - ldr r0, [r4] - bl sub_81508EC - ldr r0, _081516D8 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _081516C2 - ldr r0, [r4] - adds r0, 0x24 - movs r1, 0x1 - strb r1, [r0] -_081516C2: - bl sub_8153150 - movs r0, 0 - bl sub_81545BC -_081516CC: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081516D4: .4byte sub_81516DC -_081516D8: .4byte gReceivedRemoteLinkPlayers - thumb_func_end sub_815159C - - thumb_func_start sub_81516DC -sub_81516DC: @ 81516DC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _081516F8 @ =gUnknown_203F3E0 - ldr r0, [r1] - ldrb r0, [r0, 0x10] - adds r4, r1, 0 - cmp r0, 0x1 - beq _08151708 - cmp r0, 0x1 - bgt _081516FC - cmp r0, 0 - beq _08151702 - b _08151720 - .align 2, 0 -_081516F8: .4byte gUnknown_203F3E0 -_081516FC: - cmp r0, 0x2 - beq _0815170E - b _08151720 -_08151702: - bl sub_81520B4 - b _08151712 -_08151708: - bl sub_8153DD8 - b _08151716 -_0815170E: - bl sub_8153F1C -_08151712: - cmp r0, 0x1 - bne _08151744 -_08151716: - ldr r1, [r4] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - b _08151744 -_08151720: - ldr r0, [r4] - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0 - beq _08151738 - ldr r0, _08151734 @ =sub_8150C08 - bl sub_815206C - b _0815173E - .align 2, 0 -_08151734: .4byte sub_8150C08 -_08151738: - ldr r0, _0815174C @ =sub_8150C40 - bl sub_815206C -_0815173E: - adds r0, r5, 0 - bl DestroyTask -_08151744: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0815174C: .4byte sub_8150C40 - thumb_func_end sub_81516DC - - thumb_func_start sub_8151750 -sub_8151750: @ 8151750 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _08151774 @ =gTasks+0x8 - adds r6, r0, r1 - movs r0, 0 - ldrsh r5, [r6, r0] - cmp r5, 0x1 - beq _081517A8 - cmp r5, 0x1 - bgt _08151778 - cmp r5, 0 - beq _0815177E - b _08151836 - .align 2, 0 -_08151774: .4byte gTasks+0x8 -_08151778: - cmp r5, 0x2 - beq _081517BA - b _08151836 -_0815177E: - ldr r4, _081517A0 @ =gUnknown_203F3E0 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x28 - ldrb r0, [r0] - lsls r0, 2 - ldr r2, _081517A4 @ =0x0000318c - adds r0, r2 - adds r1, r0 - movs r0, 0 - movs r2, 0x1 - bl SendBlock - ldr r0, [r4] - strb r5, [r0, 0x8] - b _081517B2 - .align 2, 0 -_081517A0: .4byte gUnknown_203F3E0 -_081517A4: .4byte 0x0000318c -_081517A8: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08151836 -_081517B2: - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - b _08151836 -_081517BA: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r3, _08151840 @ =gUnknown_203F3E0 - ldr r0, [r3] - adds r0, 0x24 - ldrb r0, [r0] - cmp r4, r0 - bcs _08151812 - adds r6, r3, 0 -_081517D2: - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _08151800 - ldr r0, [r6] - lsls r2, r4, 2 - adds r2, r0 - ldr r0, _08151844 @ =0x0000318c - adds r2, r0 - lsls r0, r4, 8 - ldr r1, _08151848 @ =gBlockRecvBuffer - adds r0, r1 - ldrb r0, [r0] - strb r0, [r2] - adds r0, r4, 0 - str r3, [sp] - bl ResetBlockReceivedFlag - ldr r1, [r6] - ldrb r0, [r1, 0x8] - adds r0, 0x1 - strb r0, [r1, 0x8] - ldr r3, [sp] -_08151800: - lsrs r5, 1 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, [r3] - adds r0, 0x24 - ldrb r0, [r0] - cmp r4, r0 - bcc _081517D2 -_08151812: - ldr r4, _08151840 @ =gUnknown_203F3E0 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x24 - ldrb r0, [r0, 0x8] - ldrb r1, [r1] - cmp r0, r1 - bcc _08151836 - adds r0, r7, 0 - bl DestroyTask - movs r0, 0x6 - bl sub_81549D4 - ldr r1, [r4] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] -_08151836: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08151840: .4byte gUnknown_203F3E0 -_08151844: .4byte 0x0000318c -_08151848: .4byte gBlockRecvBuffer - thumb_func_end sub_8151750 - - thumb_func_start sub_815184C -sub_815184C: @ 815184C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x18 - ldr r6, _08151928 @ =gUnknown_203F3E0 - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x24 - ldrb r7, [r1] - ldr r2, _0815192C @ =0x000031a0 - adds r1, r0, r2 - ldr r3, _08151930 @ =0x000031cc - adds r2, r0, r3 - ldr r4, _08151934 @ =0x00003208 - adds r3, r0, r4 - ldr r5, _08151938 @ =0x00003244 - adds r4, r0, r5 - str r4, [sp] - adds r5, 0x3C - adds r4, r0, r5 - str r4, [sp, 0x4] - adds r5, 0x3C - adds r4, r0, r5 - str r4, [sp, 0x8] - adds r4, r0, 0 - adds r4, 0x40 - str r4, [sp, 0xC] - movs r5, 0x90 - lsls r5, 1 - adds r4, r0, r5 - str r4, [sp, 0x10] - movs r4, 0x96 - lsls r4, 1 - adds r0, r4 - str r0, [sp, 0x14] - movs r0, 0 - bl sub_815A950 - ldr r1, [r6] - ldr r5, _0815193C @ =0x000031b0 - adds r2, r1, r5 - str r0, [r2] - movs r0, 0x94 - lsls r0, 1 - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] - movs r5, 0x1 - cmp r5, r7 - bcs _081518F4 -_081518B0: - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0xA8 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0 - bne _081518EA - lsls r0, r5, 4 - subs r0, r5 - lsls r4, r0, 2 - adds r1, r4, r1 - ldr r2, _08151930 @ =0x000031cc - adds r1, r2 - adds r0, r5, 0 - bl sub_815AB04 - adds r1, r0, 0 - cmp r1, 0 - bne _081518EA - ldr r0, [r6] - adds r0, r4 - ldr r3, _08151930 @ =0x000031cc - adds r0, r3 - strb r1, [r0] - ldr r0, [r6] - movs r4, 0x94 - lsls r4, 1 - adds r0, r4 - strb r1, [r0] -_081518EA: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r7 - bcc _081518B0 -_081518F4: - ldr r5, _08151928 @ =gUnknown_203F3E0 - ldr r1, [r5] - movs r6, 0x92 - lsls r6, 1 - adds r1, r6 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3B - bls _08151952 - ldr r1, [r5] - movs r2, 0x94 - lsls r2, 1 - adds r0, r1, r2 - ldrb r4, [r0] - cmp r4, 0 - beq _08151940 - bl sub_80FBA44 - ldr r0, [r5] - adds r0, r6 - movs r1, 0 - strb r1, [r0] - b _08151952 - .align 2, 0 -_08151928: .4byte gUnknown_203F3E0 -_0815192C: .4byte 0x000031a0 -_08151930: .4byte 0x000031cc -_08151934: .4byte 0x00003208 -_08151938: .4byte 0x00003244 -_0815193C: .4byte 0x000031b0 -_08151940: - adds r0, r1, r6 - ldrb r0, [r0] - cmp r0, 0x46 - bls _08151952 - bl sub_80FBA44 - ldr r0, [r5] - adds r0, r6 - strb r4, [r0] -_08151952: - movs r5, 0 - cmp r5, r7 - bcs _08151A46 - ldr r3, _0815199C @ =0x000031cc - mov r12, r3 - ldr r4, _081519A0 @ =gUnknown_203F3E0 - mov r8, r4 -_08151960: - mov r6, r8 - ldr r2, [r6] - lsls r0, r5, 4 - subs r1, r0, r5 - lsls r1, 2 - adds r1, r2, r1 - add r1, r12 - ldrb r1, [r1] - adds r6, r0, 0 - cmp r1, 0 - beq _08151986 - adds r0, r2, 0 - adds r0, 0xA8 - adds r1, r0, r5 - ldrb r0, [r1] - cmp r0, 0 - bne _08151986 - movs r0, 0x1 - strb r0, [r1] -_08151986: - adds r3, r4, 0 - ldr r1, [r3] - adds r0, r1, 0 - adds r0, 0xA8 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0x3 - bgt _081519A4 - cmp r0, 0x1 - bge _081519AA - b _08151A3C - .align 2, 0 -_0815199C: .4byte 0x000031cc -_081519A0: .4byte gUnknown_203F3E0 -_081519A4: - cmp r0, 0x4 - beq _081519F8 - b _08151A3C -_081519AA: - adds r1, 0xB0 - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bls _08151A3C - ldr r0, [r3] - adds r0, 0xB0 - adds r0, r5 - strb r2, [r0] - ldr r0, [r3] - adds r0, 0xA8 - adds r0, r5 - strb r2, [r0] - ldr r0, [r3] - subs r1, r6, r5 - lsls r1, 2 - adds r0, r1 - add r0, r12 - strb r2, [r0] - ldr r0, [r3] - adds r0, r1 - ldr r6, _081519F0 @ =0x000031d0 - adds r0, r6 - strb r2, [r0] - ldr r0, [r3] - adds r0, r1 - ldr r1, _081519F4 @ =0x000031d4 - adds r0, r1 - b _08151A3A - .align 2, 0 -_081519F0: .4byte 0x000031d0 -_081519F4: .4byte 0x000031d4 -_081519F8: - adds r1, 0xB0 - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x27 - bls _08151A3C - ldr r0, [r4] - adds r0, 0xB0 - adds r0, r5 - strb r2, [r0] - ldr r0, [r4] - adds r0, 0xA8 - adds r0, r5 - strb r2, [r0] - ldr r0, [r4] - subs r1, r6, r5 - lsls r1, 2 - adds r0, r1 - add r0, r12 - strb r2, [r0] - ldr r0, [r4] - adds r0, r1 - ldr r3, _08151A54 @ =0x000031d0 - adds r0, r3 - strb r2, [r0] - ldr r0, [r4] - adds r0, r1 - ldr r6, _08151A58 @ =0x000031d4 - adds r0, r6 -_08151A3A: - strb r2, [r0] -_08151A3C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r7 - bcc _08151960 -_08151A46: - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08151A54: .4byte 0x000031d0 -_08151A58: .4byte 0x000031d4 - thumb_func_end sub_815184C - - thumb_func_start sub_8151A5C -sub_8151A5C: @ 8151A5C - push {r4-r7,lr} - sub sp, 0x18 - ldr r5, _08151B20 @ =gUnknown_203F3E0 - ldr r0, [r5] - adds r1, r0, 0 - adds r1, 0x24 - ldrb r6, [r1] - ldr r2, _08151B24 @ =0x000031a0 - adds r1, r0, r2 - ldr r3, _08151B28 @ =0x000031cc - adds r2, r0, r3 - ldr r4, _08151B2C @ =0x00003208 - adds r3, r0, r4 - ldr r7, _08151B30 @ =0x00003244 - adds r4, r0, r7 - str r4, [sp] - adds r7, 0x3C - adds r4, r0, r7 - str r4, [sp, 0x4] - adds r7, 0x3C - adds r4, r0, r7 - str r4, [sp, 0x8] - adds r4, r0, 0 - adds r4, 0x40 - str r4, [sp, 0xC] - movs r7, 0x90 - lsls r7, 1 - adds r4, r0, r7 - str r4, [sp, 0x10] - movs r4, 0x96 - lsls r4, 1 - adds r0, r4 - str r0, [sp, 0x14] - movs r0, 0 - bl sub_815A950 - ldr r1, [r5] - ldr r7, _08151B34 @ =0x000031b0 - adds r2, r1, r7 - str r0, [r2] - movs r0, 0x94 - lsls r0, 1 - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] - movs r4, 0x1 - cmp r4, r6 - bcs _08151AEC -_08151ABC: - adds r0, r4, 0 - bl sub_815AB60 - cmp r0, 0 - beq _08151AE2 - ldr r0, _08151B20 @ =gUnknown_203F3E0 - ldr r2, [r0] - lsls r1, r4, 2 - movs r3, 0x98 - lsls r3, 1 - adds r0, r2, r3 - adds r0, r1 - movs r1, 0x1 - str r1, [r0] - movs r7, 0x94 - lsls r7, 1 - adds r1, r2, r7 - movs r0, 0 - strb r0, [r1] -_08151AE2: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _08151ABC -_08151AEC: - ldr r5, _08151B20 @ =gUnknown_203F3E0 - ldr r1, [r5] - movs r6, 0x92 - lsls r6, 1 - adds r1, r6 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3B - bls _08151B4A - ldr r1, [r5] - movs r2, 0x94 - lsls r2, 1 - adds r0, r1, r2 - ldrb r4, [r0] - cmp r4, 0 - beq _08151B38 - bl sub_80FBA44 - ldr r0, [r5] - adds r0, r6 - movs r1, 0 - strb r1, [r0] - b _08151B4A - .align 2, 0 -_08151B20: .4byte gUnknown_203F3E0 -_08151B24: .4byte 0x000031a0 -_08151B28: .4byte 0x000031cc -_08151B2C: .4byte 0x00003208 -_08151B30: .4byte 0x00003244 -_08151B34: .4byte 0x000031b0 -_08151B38: - adds r0, r1, r6 - ldrb r0, [r0] - cmp r0, 0x46 - bls _08151B4A - bl sub_80FBA44 - ldr r0, [r5] - adds r0, r6 - strb r4, [r0] -_08151B4A: - add sp, 0x18 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8151A5C - - thumb_func_start sub_8151B54 -sub_8151B54: @ 8151B54 - push {r4,r5,lr} - ldr r5, _08151B6C @ =gUnknown_203F3E0 - ldr r0, [r5] - ldrb r0, [r0, 0x18] - cmp r0, 0x4 - beq _08151B90 - cmp r0, 0x4 - bgt _08151B70 - cmp r0, 0x3 - beq _08151B76 - b _08151B9A - .align 2, 0 -_08151B6C: .4byte gUnknown_203F3E0 -_08151B70: - cmp r0, 0xB - beq _08151B96 - b _08151B9A -_08151B76: - bl sub_8152A00 - adds r4, r0, 0 - cmp r4, 0x1 - bne _08151B9A - bl sub_8152A70 - ldr r0, [r5] - movs r1, 0x8E - lsls r1, 1 - adds r0, r1 - str r4, [r0] - b _08151B9A -_08151B90: - bl sub_815184C - b _08151B9A -_08151B96: - bl sub_8151A5C -_08151B9A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8151B54 - - thumb_func_start sub_8151BA0 -sub_8151BA0: @ 8151BA0 - push {r4-r6,lr} - sub sp, 0x14 - ldr r0, _08151BB4 @ =gUnknown_203F3E0 - ldr r5, [r0] - ldrb r0, [r5, 0x18] - cmp r0, 0x4 - beq _08151BB8 - cmp r0, 0xB - beq _08151C08 - b _08151C44 - .align 2, 0 -_08151BB4: .4byte gUnknown_203F3E0 -_08151BB8: - ldr r1, _08151BF8 @ =0x000032cc - adds r0, r5, r1 - ldr r2, _08151BFC @ =0x000031cc - adds r1, r5, r2 - ldr r3, _08151C00 @ =0x00003208 - adds r2, r5, r3 - ldr r4, _08151C04 @ =0x00003244 - adds r3, r5, r4 - movs r6, 0xCA - lsls r6, 6 - adds r4, r5, r6 - str r4, [sp] - adds r6, 0x3C - adds r4, r5, r6 - str r4, [sp, 0x4] - adds r4, r5, 0 - adds r4, 0x40 - ldrb r4, [r4] - str r4, [sp, 0x8] - movs r6, 0x90 - lsls r6, 1 - adds r4, r5, r6 - ldr r4, [r4] - str r4, [sp, 0xC] - adds r6, 0xC - adds r4, r5, r6 - ldr r4, [r4] - str r4, [sp, 0x10] - bl sub_815A61C - b _08151C44 - .align 2, 0 -_08151BF8: .4byte 0x000032cc -_08151BFC: .4byte 0x000031cc -_08151C00: .4byte 0x00003208 -_08151C04: .4byte 0x00003244 -_08151C08: - ldr r1, _08151C4C @ =0x000032cc - adds r0, r5, r1 - ldr r2, _08151C50 @ =0x000031cc - adds r1, r5, r2 - ldr r3, _08151C54 @ =0x00003208 - adds r2, r5, r3 - ldr r4, _08151C58 @ =0x00003244 - adds r3, r5, r4 - movs r6, 0xCA - lsls r6, 6 - adds r4, r5, r6 - str r4, [sp] - adds r6, 0x3C - adds r4, r5, r6 - str r4, [sp, 0x4] - adds r4, r5, 0 - adds r4, 0x40 - ldrb r4, [r4] - str r4, [sp, 0x8] - movs r6, 0x90 - lsls r6, 1 - adds r4, r5, r6 - ldr r4, [r4] - str r4, [sp, 0xC] - adds r6, 0xC - adds r4, r5, r6 - ldr r4, [r4] - str r4, [sp, 0x10] - bl sub_815A61C -_08151C44: - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08151C4C: .4byte 0x000032cc -_08151C50: .4byte 0x000031cc -_08151C54: .4byte 0x00003208 -_08151C58: .4byte 0x00003244 - thumb_func_end sub_8151BA0 - - thumb_func_start sub_8151C5C -sub_8151C5C: @ 8151C5C - push {r4-r6,lr} - sub sp, 0x18 - ldr r0, _08151C70 @ =gUnknown_203F3E0 - ldr r5, [r0] - ldrb r0, [r5, 0x18] - cmp r0, 0x4 - beq _08151C74 - cmp r0, 0xB - beq _08151CCC - b _08151D10 - .align 2, 0 -_08151C70: .4byte gUnknown_203F3E0 -_08151C74: - adds r0, r5, 0 - adds r0, 0x28 - ldrb r0, [r0] - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 2 - ldr r2, _08151CBC @ =0x000031a0 - adds r1, r2 - adds r1, r5, r1 - ldr r3, _08151CC0 @ =0x000031cc - adds r2, r5, r3 - ldr r4, _08151CC4 @ =0x00003208 - adds r3, r5, r4 - ldr r6, _08151CC8 @ =0x00003244 - adds r4, r5, r6 - str r4, [sp] - adds r6, 0x3C - adds r4, r5, r6 - str r4, [sp, 0x4] - adds r6, 0x3C - adds r4, r5, r6 - str r4, [sp, 0x8] - adds r4, r5, 0 - adds r4, 0x40 - str r4, [sp, 0xC] - movs r6, 0x90 - lsls r6, 1 - adds r4, r5, r6 - str r4, [sp, 0x10] - adds r6, 0xC - adds r4, r5, r6 - str r4, [sp, 0x14] - bl sub_815A950 - b _08151D10 - .align 2, 0 -_08151CBC: .4byte 0x000031a0 -_08151CC0: .4byte 0x000031cc -_08151CC4: .4byte 0x00003208 -_08151CC8: .4byte 0x00003244 -_08151CCC: - adds r0, r5, 0 - adds r0, 0x28 - ldrb r0, [r0] - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 2 - ldr r2, _08151D18 @ =0x000031a0 - adds r1, r2 - adds r1, r5, r1 - ldr r3, _08151D1C @ =0x000031cc - adds r2, r5, r3 - ldr r4, _08151D20 @ =0x00003208 - adds r3, r5, r4 - ldr r6, _08151D24 @ =0x00003244 - adds r4, r5, r6 - str r4, [sp] - adds r6, 0x3C - adds r4, r5, r6 - str r4, [sp, 0x4] - adds r6, 0x3C - adds r4, r5, r6 - str r4, [sp, 0x8] - adds r4, r5, 0 - adds r4, 0x40 - str r4, [sp, 0xC] - movs r6, 0x90 - lsls r6, 1 - adds r4, r5, r6 - str r4, [sp, 0x10] - adds r6, 0xC - adds r4, r5, r6 - str r4, [sp, 0x14] - bl sub_815A950 -_08151D10: - add sp, 0x18 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08151D18: .4byte 0x000031a0 -_08151D1C: .4byte 0x000031cc -_08151D20: .4byte 0x00003208 -_08151D24: .4byte 0x00003244 - thumb_func_end sub_8151C5C - - thumb_func_start sub_8151D28 -sub_8151D28: @ 8151D28 - push {r4,lr} - ldr r4, _08151D40 @ =gUnknown_203F3E0 - ldr r1, [r4] - ldrb r0, [r1, 0x18] - cmp r0, 0x4 - beq _08151D5E - cmp r0, 0x4 - bgt _08151D44 - cmp r0, 0x3 - beq _08151D4A - b _08151D90 - .align 2, 0 -_08151D40: .4byte gUnknown_203F3E0 -_08151D44: - cmp r0, 0xB - beq _08151D74 - b _08151D90 -_08151D4A: - movs r0, 0x1 - bl sub_815A5BC - ldr r0, [r4] - movs r1, 0x8E - lsls r1, 1 - adds r0, r1 - movs r1, 0x1 - str r1, [r0] - b _08151D90 -_08151D5E: - ldr r2, _08151D70 @ =0x000032f8 - adds r1, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _08151D90 - bl sub_815AAD8 - b _08151D90 - .align 2, 0 -_08151D70: .4byte 0x000032f8 -_08151D74: - movs r2, 0x90 - lsls r2, 1 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0 - bne _08151D90 - adds r2, 0xC - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0 - bne _08151D90 - movs r0, 0x1 - bl sub_815AB3C -_08151D90: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8151D28 - - thumb_func_start sub_8151D98 -sub_8151D98: @ 8151D98 - push {r4-r6,lr} - ldr r6, _08151DD0 @ =gUnknown_203F3E0 - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0x28 - ldrb r1, [r0] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r1, r2, r0 - ldr r3, _08151DD4 @ =0x000031cc - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _08151DD8 - bl IsSEPlaying - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _08151E3A - ldr r0, [r6] - movs r2, 0xA2 - lsls r2, 1 - adds r0, r2 - strb r1, [r0] - b _08151E3A - .align 2, 0 -_08151DD0: .4byte gUnknown_203F3E0 -_08151DD4: .4byte 0x000031cc -_08151DD8: - ldr r3, _08151E04 @ =0x000031d0 - adds r0, r1, r3 - ldrb r4, [r0] - cmp r4, 0x1 - bne _08151E08 - movs r1, 0xA2 - lsls r1, 1 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08151E3A - movs r0, 0x19 - bl m4aSongNumStop - movs r0, 0x19 - bl PlaySE - ldr r0, [r6] - movs r2, 0xA2 - lsls r2, 1 - adds r0, r2 - b _08151E38 - .align 2, 0 -_08151E04: .4byte 0x000031d0 -_08151E08: - ldr r3, _08151E64 @ =0x000031d4 - adds r0, r1, r3 - ldrb r4, [r0] - cmp r4, 0x1 - bne _08151E3A - movs r5, 0xA2 - lsls r5, 1 - adds r0, r2, r5 - ldrb r0, [r0] - cmp r0, 0 - bne _08151E3A - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - bne _08151E3A - movs r0, 0x16 - bl PlaySE - movs r0, 0x1 - bl sub_8153BC0 - ldr r0, [r6] - adds r0, r5 -_08151E38: - strb r4, [r0] -_08151E3A: - ldr r0, _08151E68 @ =gUnknown_203F3E0 - ldr r2, [r0] - movs r5, 0xAA - lsls r5, 1 - adds r1, r2, r5 - ldrb r1, [r1] - adds r4, r0, 0 - cmp r1, 0 - bne _08151E6C - adds r0, r2, 0 - adds r0, 0x40 - ldrb r0, [r0] - cmp r0, 0x9 - bls _08151E6C - bl StopMapMusic - ldr r0, [r4] - adds r0, r5 - movs r1, 0x1 - b _08151E8A - .align 2, 0 -_08151E64: .4byte 0x000031d4 -_08151E68: .4byte gUnknown_203F3E0 -_08151E6C: - ldr r0, [r4] - movs r1, 0xAA - lsls r1, 1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08151E8C - movs r0, 0xA - bl PlayFanfareByFanfareNum - ldr r0, [r4] - movs r2, 0xAA - lsls r2, 1 - adds r0, r2 - movs r1, 0x2 -_08151E8A: - strb r1, [r0] -_08151E8C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8151D98 - - thumb_func_start sub_8151E94 -sub_8151E94: @ 8151E94 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r6, _08151EE0 @ =gUnknown_203F3E0 - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0x44 - ldrb r0, [r0] - mov r8, r0 - adds r0, r2, 0 - adds r0, 0x48 - ldrb r7, [r0] - subs r0, 0x20 - ldrb r1, [r0] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r1, r2, r0 - ldr r3, _08151EE4 @ =0x000031cc - adds r0, r1, r3 - ldrb r3, [r0] - cmp r3, 0 - bne _08151EEC - ldr r4, _08151EE8 @ =0x000031d0 - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08151F4E - adds r4, 0x4 - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08151F4E - movs r1, 0xA2 - lsls r1, 1 - adds r0, r2, r1 - strb r3, [r0] - b _08151F4E - .align 2, 0 -_08151EE0: .4byte gUnknown_203F3E0 -_08151EE4: .4byte 0x000031cc -_08151EE8: .4byte 0x000031d0 -_08151EEC: - ldr r3, _08151F18 @ =0x000031d0 - adds r0, r1, r3 - ldrb r4, [r0] - cmp r4, 0x1 - bne _08151F1C - movs r1, 0xA2 - lsls r1, 1 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08151F4E - movs r0, 0x19 - bl m4aSongNumStop - movs r0, 0x19 - bl PlaySE - ldr r0, [r6] - movs r3, 0xA2 - lsls r3, 1 - adds r0, r3 - b _08151F4C - .align 2, 0 -_08151F18: .4byte 0x000031d0 -_08151F1C: - ldr r4, _08151FA0 @ =0x000031d4 - adds r0, r1, r4 - ldrb r4, [r0] - cmp r4, 0x1 - bne _08151F4E - movs r5, 0xA2 - lsls r5, 1 - adds r0, r2, r5 - ldrb r0, [r0] - cmp r0, 0 - bne _08151F4E - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - bne _08151F4E - movs r0, 0x16 - bl PlaySE - movs r0, 0x1 - bl sub_8153BC0 - ldr r0, [r6] - adds r0, r5 -_08151F4C: - strb r4, [r0] -_08151F4E: - mov r4, r8 - cmp r4, r7 - bcs _08151FC2 - ldr r5, _08151FA4 @ =gUnknown_203F3E0 -_08151F56: - ldr r2, [r5] - adds r0, r2, 0 - adds r0, 0x28 - ldrb r1, [r0] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - ldr r1, _08151FA8 @ =0x000031a0 - adds r0, r1 - adds r0, r2, r0 - adds r1, r0, 0 - adds r1, 0x14 - adds r0, 0x1F - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0x9 - bls _08151FAC - movs r3, 0xA4 - lsls r3, 1 - adds r0, r2, r3 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _08151FB8 - adds r0, r1, r4 - ldrb r0, [r0] - adds r0, 0x43 - bl PlaySE - ldr r0, [r5] - movs r1, 0xA4 - lsls r1, 1 - adds r0, r1 - adds r0, r4 - movs r1, 0x1 - b _08151FB6 - .align 2, 0 -_08151FA0: .4byte 0x000031d4 -_08151FA4: .4byte gUnknown_203F3E0 -_08151FA8: .4byte 0x000031a0 -_08151FAC: - movs r3, 0xA4 - lsls r3, 1 - adds r0, r2, r3 - adds r0, r4 - movs r1, 0 -_08151FB6: - strb r1, [r0] -_08151FB8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r7 - bcc _08151F56 -_08151FC2: - ldr r0, _08151FEC @ =gUnknown_203F3E0 - ldr r2, [r0] - movs r5, 0xAA - lsls r5, 1 - adds r1, r2, r5 - ldrb r1, [r1] - adds r4, r0, 0 - cmp r1, 0 - bne _08151FF0 - adds r0, r2, 0 - adds r0, 0x40 - ldrb r0, [r0] - cmp r0, 0x9 - bls _08151FF0 - bl StopMapMusic - ldr r0, [r4] - adds r0, r5 - movs r1, 0x1 - b _0815200E - .align 2, 0 -_08151FEC: .4byte gUnknown_203F3E0 -_08151FF0: - ldr r0, [r4] - movs r1, 0xAA - lsls r1, 1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08152010 - movs r0, 0xA - bl PlayFanfareByFanfareNum - ldr r0, [r4] - movs r3, 0xAA - lsls r3, 1 - adds r0, r3 - movs r1, 0x2 -_0815200E: - strb r1, [r0] -_08152010: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8151E94 - - thumb_func_start sub_815201C -sub_815201C: @ 815201C - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_815201C - - thumb_func_start sub_8152034 -sub_8152034: @ 8152034 - push {lr} - bl TransferPlttBuffer - bl LoadOam - bl ProcessSpriteCopyRequests - pop {r0} - bx r0 - thumb_func_end sub_8152034 - - thumb_func_start sub_8152048 -sub_8152048: @ 8152048 - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - bl IsMonShiny - strb r0, [r4] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8152048 - - thumb_func_start sub_815205C -sub_815205C: @ 815205C - push {lr} - lsls r1, 24 - lsrs r1, 24 - bl CreateTask - pop {r0} - bx r0 - thumb_func_end sub_815205C - - thumb_func_start sub_815206C -sub_815206C: @ 815206C - push {lr} - movs r1, 0x1 - bl CreateTask - ldr r1, _0815208C @ =gUnknown_203F3E0 - ldr r3, [r1] - movs r2, 0 - strb r0, [r3, 0x4] - ldr r0, [r1] - strb r2, [r0, 0x10] - ldr r0, [r1] - strb r2, [r0, 0xC] - ldr r0, [r1] - strb r2, [r0, 0x14] - pop {r0} - bx r0 - .align 2, 0 -_0815208C: .4byte gUnknown_203F3E0 - thumb_func_end sub_815206C - - thumb_func_start sub_8152090 -sub_8152090: @ 8152090 - push {r4,lr} - ldr r2, _081520B0 @ =gUnknown_203F3E0 - ldr r1, [r2] - ldrb r3, [r1, 0x18] - movs r4, 0 - strb r3, [r1, 0x1C] - ldr r1, [r2] - strb r0, [r1, 0x18] - ldr r0, [r2] - strb r4, [r0, 0x10] - ldr r0, [r2] - strb r4, [r0, 0x14] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081520B0: .4byte gUnknown_203F3E0 - thumb_func_end sub_8152090 - - thumb_func_start sub_81520B4 -sub_81520B4: @ 81520B4 - push {r4,lr} - ldr r3, _081520E8 @ =gUnknown_203F3E0 - ldr r1, [r3] - ldrb r0, [r1, 0x14] - lsrs r2, r0, 2 - adds r0, 0x1 - strb r0, [r1, 0x14] - cmp r2, 0 - beq _08152108 - ldr r3, [r3] - ldrb r0, [r3, 0x14] - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08152108 - ldr r1, _081520EC @ =sUnknown_8475548 - adds r0, r3, 0 - adds r0, 0x24 - ldrb r0, [r0] - subs r0, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r2, r0 - bcc _081520F0 - movs r0, 0x1 - b _0815210A - .align 2, 0 -_081520E8: .4byte gUnknown_203F3E0 -_081520EC: .4byte sUnknown_8475548 -_081520F0: - lsls r4, r2, 3 - adds r1, r4, 0 - movs r0, 0x14 - bl SetGpuReg - negs r4, r4 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x18 - adds r1, r4, 0 - bl SetGpuReg -_08152108: - movs r0, 0 -_0815210A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81520B4 - - thumb_func_start sub_8152110 -sub_8152110: @ 8152110 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r2, _08152168 @ =gUnknown_203F3E0 - ldr r0, [r2] - adds r1, r0, 0 - adds r1, 0x44 - adds r0, 0x48 - ldrb r5, [r0] - ldrb r1, [r1] - cmp r1, r5 - bcs _0815215C - mov r8, r2 - ldr r0, _0815216C @ =0x000032e0 - mov r12, r0 - movs r7, 0 - movs r6, 0x1 -_08152132: - mov r2, r8 - ldr r0, [r2] - mov r2, r12 - adds r4, r0, r2 - ldr r2, _08152170 @ =0x000032eb - adds r0, r2 - adds r2, r0, r1 - movs r3, 0 - adds r0, r1, 0 - ands r0, r6 - cmp r0, 0 - bne _0815214C - movs r3, 0x1 -_0815214C: - strb r3, [r2] - adds r0, r4, r1 - strb r7, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, r5 - bcc _08152132 -_0815215C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08152168: .4byte gUnknown_203F3E0 -_0815216C: .4byte 0x000032e0 -_08152170: .4byte 0x000032eb - thumb_func_end sub_8152110 - - thumb_func_start sub_8152174 -sub_8152174: @ 8152174 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - ldr r0, _08152248 @ =gUnknown_203F3E0 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x44 - ldrb r0, [r0] - str r0, [sp] - adds r0, r1, 0 - adds r0, 0x48 - ldrb r0, [r0] - str r0, [sp, 0x4] - adds r0, r1, 0 - adds r0, 0x24 - ldrb r0, [r0] - str r0, [sp, 0x8] - adds r0, r1, 0 - adds r0, 0x40 - ldrb r0, [r0] - cmp r0, 0x9 - bls _081521A8 - b _08152464 -_081521A8: - movs r6, 0 - ldr r0, [sp, 0x8] - cmp r6, r0 - bcs _08152290 -_081521B0: - ldr r3, _08152248 @ =gUnknown_203F3E0 - lsls r0, r6, 4 - subs r1, r0, r6 - lsls r1, 2 - ldr r2, [r3] - adds r1, r2 - ldr r4, _0815224C @ =0x000031cc - adds r4, r1 - mov r8, r4 - ldrb r1, [r4] - mov r9, r0 - adds r0, r6, 0x1 - str r0, [sp, 0xC] - cmp r1, 0 - beq _08152284 - adds r0, r2, 0 - adds r0, 0xA8 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08152284 - ldr r1, [sp] - mov r10, r1 - ldr r2, [sp, 0x4] - cmp r10, r2 - bcs _08152284 - adds r7, r3, 0 -_081521E6: - ldr r0, _08152250 @ =sUnknown_8471F50 - add r0, r10 - ldrb r5, [r0] - ldr r1, [r7] - lsls r4, r5, 1 - adds r0, r1, 0 - adds r0, 0xF4 - adds r0, r4 - ldrb r0, [r0] - cmp r0, r6 - beq _08152284 - adds r0, r1, 0 - adds r0, 0xF5 - adds r0, r4 - ldrb r0, [r0] - cmp r0, r6 - beq _08152284 - mov r0, r8 - ldrb r1, [r0] - adds r0, r6, 0 - adds r2, r5, 0 - bl sub_8152484 - cmp r0, 0x1 - bne _08152260 - movs r2, 0 - ldr r3, _08152248 @ =gUnknown_203F3E0 - mov r8, r4 -_0815221E: - ldr r0, [r3] - mov r4, r8 - adds r1, r2, r4 - adds r0, 0xF4 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0xFF - bne _08152254 - strb r6, [r1] - ldr r0, [r3] - adds r0, 0xA8 - adds r0, r6 - movs r1, 0x2 - strb r1, [r0] - ldr r0, [r3] - adds r0, 0xC4 - adds r0, r5 - movs r1, 0x1 - strb r1, [r0] - b _08152284 - .align 2, 0 -_08152248: .4byte gUnknown_203F3E0 -_0815224C: .4byte 0x000031cc -_08152250: .4byte sUnknown_8471F50 -_08152254: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1 - bls _0815221E - b _08152284 -_08152260: - ldr r0, [r7] - mov r2, r9 - subs r1, r2, r6 - lsls r1, 2 - adds r0, r1 - ldr r4, _08152354 @ =0x000031d4 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08152284 - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r0, [sp, 0x4] - cmp r10, r0 - bcc _081521E6 -_08152284: - ldr r1, [sp, 0xC] - lsls r0, r1, 24 - lsrs r6, r0, 24 - ldr r2, [sp, 0x8] - cmp r6, r2 - bcc _081521B0 -_08152290: - ldr r4, [sp] - mov r10, r4 - ldr r0, [sp, 0x4] - cmp r10, r0 - bcc _0815229C - b _08152464 -_0815229C: - ldr r1, _08152358 @ =gUnknown_203F3E0 - mov r9, r1 -_081522A0: - movs r6, 0xFF - ldr r0, _0815235C @ =sUnknown_8471F50 - add r0, r10 - ldrb r5, [r0] - mov r2, r9 - ldr r0, [r2] - adds r0, 0xC4 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0x1 - beq _081522B8 - b _08152452 -_081522B8: - adds r0, r5, 0 - bl sub_8152BD4 - mov r1, r9 - ldr r4, [r1] - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - adds r1, 0x90 - adds r1, r0 - ldrb r0, [r1] - movs r1, 0x7 - bl __udivsi3 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1 - bls _081522DE - movs r3, 0x2 -_081522DE: - ldr r2, _08152360 @ =sUnknown_847553C - ldr r0, _08152364 @ =0x000031b4 - adds r1, r4, r0 - adds r1, r5 - lsls r0, r3, 1 - adds r0, r3 - ldrb r1, [r1] - adds r0, r1 - adds r0, r2 - ldrb r1, [r0] - adds r0, r4, 0 - adds r0, 0xD0 - adds r0, r5 - ldrb r0, [r0] - subs r2, r1, r0 - cmp r2, 0x5 - bgt _0815230C - adds r1, r4, 0 - adds r1, 0x9C - adds r1, r5 - ldrb r0, [r1] - adds r0, r2 - strb r0, [r1] -_0815230C: - mov r2, r9 - ldr r1, [r2] - adds r1, 0x9C - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - movs r4, 0xFF - ands r0, r4 - cmp r0, 0x5 - bhi _08152326 - b _08152452 -_08152326: - mov r1, r9 - ldr r0, [r1] - adds r0, 0x9C - adds r0, r5 - strb r2, [r0] - ldr r3, [r1] - lsls r1, r5, 1 - adds r0, r3, 0 - adds r0, 0xF4 - adds r2, r0, r1 - ldrb r0, [r2] - mov r8, r1 - cmp r0, 0xFF - bne _08152368 - adds r0, r3, 0 - adds r0, 0xF5 - add r0, r8 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08152350 - b _08152452 -_08152350: - b _08152378 - .align 2, 0 -_08152354: .4byte 0x000031d4 -_08152358: .4byte gUnknown_203F3E0 -_0815235C: .4byte sUnknown_8471F50 -_08152360: .4byte sUnknown_847553C -_08152364: .4byte 0x000031b4 -_08152368: - adds r0, r3, 0 - adds r0, 0xF5 - add r0, r8 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08152378 - ldrb r4, [r2] - b _0815239E -_08152378: - mov r2, r9 - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0xF4 - add r0, r8 - ldrb r7, [r0] - adds r1, 0xF5 - add r1, r8 - ldrb r6, [r1] - bl Random - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - bne _0815239A - adds r4, r7, 0 - b _0815239E -_0815239A: - adds r4, r6, 0 - adds r6, r7, 0 -_0815239E: - mov r1, r9 - ldr r0, [r1] - ldr r2, _08152474 @ =0x000032eb - adds r0, r2 - adds r0, r5 - movs r1, 0x7 - strb r1, [r0] - mov r1, r9 - ldr r0, [r1] - adds r0, 0xC4 - adds r0, r5 - movs r1, 0x2 - strb r1, [r0] - mov r2, r9 - ldr r0, [r2] - adds r0, 0xA8 - adds r0, r4 - movs r1, 0x3 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0xB8 - adds r0, r5 - strb r4, [r0] - ldr r1, [r2] - lsls r0, r4, 4 - subs r0, r4 - lsls r0, 2 - adds r1, r0 - ldr r2, _08152478 @ =0x000031d0 - adds r1, r2 - movs r0, 0x1 - strb r0, [r1] - mov r2, r9 - ldr r1, [r2] - lsls r0, r6, 4 - subs r0, r6 - lsls r0, 2 - adds r1, r0 - ldr r0, _0815247C @ =0x000031d4 - adds r1, r0 - movs r2, 0x1 - strb r2, [r1] - mov r0, r9 - ldr r1, [r0] - lsls r0, r4, 1 - adds r1, 0x86 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_8152D34 - movs r0, 0x1 - bl sub_8152F94 - adds r0, r4, 0 - bl sub_8152B64 - mov r1, r9 - ldr r0, [r1] - adds r1, r0, 0 - adds r1, 0xE8 - adds r1, r5 - ldr r2, _08152480 @ =0x000032e0 - adds r0, r2 - adds r0, r5 - ldrb r0, [r0] - strb r0, [r1] - mov r4, r9 - ldr r0, [r4] - adds r0, r2 - adds r0, r5 - movs r1, 0x3 - strb r1, [r0] - ldr r1, [r4] - adds r1, 0xF4 - add r1, r8 - ldrb r0, [r1] - movs r2, 0xFF - orrs r0, r2 - strb r0, [r1] - ldr r1, [r4] - adds r1, 0xF5 - add r1, r8 - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] -_08152452: - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r4, [sp, 0x4] - cmp r10, r4 - bcs _08152464 - b _081522A0 -_08152464: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08152474: .4byte 0x000032eb -_08152478: .4byte 0x000031d0 -_0815247C: .4byte 0x000031d4 -_08152480: .4byte 0x000032e0 - thumb_func_end sub_8152174 - - thumb_func_start sub_8152484 -sub_8152484: @ 8152484 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - movs r7, 0 - ldr r2, _081524B8 @ =gUnknown_203F3E0 - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0x24 - ldrb r0, [r0] - subs r0, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _081524BC @ =0x000032e0 - adds r1, r0 - mov r12, r2 - cmp r3, 0x2 - beq _081524C0 - cmp r3, 0x2 - bgt _081524C6 - cmp r3, 0x1 - beq _081524C4 - b _081524C6 - .align 2, 0 -_081524B8: .4byte gUnknown_203F3E0 -_081524BC: .4byte 0x000032e0 -_081524C0: - movs r7, 0x1 - b _081524C6 -_081524C4: - movs r7, 0x2 -_081524C6: - adds r0, r1, 0 - adds r0, 0xB - adds r0, r6 - ldrb r0, [r0] - subs r0, 0x6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _08152524 - ldr r0, _08152518 @ =sUnknown_8472063 - lsls r1, r4, 1 - adds r1, r4 - adds r1, r7, r1 - lsls r2, r5, 4 - subs r2, r5 - adds r1, r2 - adds r1, r0 - ldrb r1, [r1] - cmp r6, r1 - bne _0815255A - mov r0, r12 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0xC4 - adds r0, r6 - ldrb r0, [r0] - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _08152520 - lsls r0, r4, 4 - subs r0, r4 - lsls r0, 2 - adds r0, r1, r0 - ldr r1, _0815251C @ =0x000031d4 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - b _0815255A - .align 2, 0 -_08152518: .4byte sUnknown_8472063 -_0815251C: .4byte 0x000031d4 -_08152520: - movs r0, 0x1 - b _0815255C -_08152524: - ldr r0, _08152564 @ =sUnknown_8472063 - lsls r1, r4, 1 - adds r1, r4 - adds r1, r7, r1 - lsls r2, r5, 4 - subs r2, r5 - adds r1, r2 - adds r1, r0 - ldrb r1, [r1] - cmp r6, r1 - bne _0815255A - mov r1, r12 - ldr r0, [r1] - adds r0, 0xA8 - adds r0, r4 - movs r1, 0x4 - strb r1, [r0] - mov r0, r12 - ldr r1, [r0] - lsls r0, r4, 4 - subs r0, r4 - lsls r0, 2 - adds r1, r0 - ldr r0, _08152568 @ =0x000031d4 - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] -_0815255A: - movs r0, 0 -_0815255C: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08152564: .4byte sUnknown_8472063 -_08152568: .4byte 0x000031d4 - thumb_func_end sub_8152484 - - thumb_func_start sub_815256C -sub_815256C: @ 815256C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r2, _08152640 @ =gUnknown_203F3E0 - ldr r4, [r2] - adds r0, r4, 0 - adds r0, 0x44 - ldrb r1, [r0] - adds r0, 0x4 - ldrb r0, [r0] - mov r9, r0 - movs r3, 0 - mov r10, r3 - movs r5, 0x90 - lsls r5, 1 - adds r0, r4, r5 - str r3, [r0] - adds r5, r1, 0 - mov r0, r9 - subs r0, 0x1 - cmp r5, r0 - blt _0815259E - b _081527BC -_0815259E: - mov r8, r2 -_081525A0: - mov r0, r8 - ldr r4, [r0] - adds r0, r4, 0 - adds r0, 0xC4 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0x1 - bls _081525B2 - b _081526BC -_081525B2: - movs r1, 0x90 - lsls r1, 1 - adds r0, r4, r1 - movs r2, 0x1 - str r2, [r0] - ldr r1, _08152644 @ =0x000032eb - adds r0, r4, r1 - adds r6, r0, r5 - ldrb r0, [r6] - cmp r0, 0x9 - bls _0815264C - movs r7, 0 - movs r0, 0xA - strb r0, [r6] - mov r1, r8 - ldr r0, [r1] - adds r0, 0xC4 - adds r0, r5 - movs r1, 0x3 - strb r1, [r0] - mov r1, r8 - ldr r0, [r1] - movs r6, 0xA4 - lsls r6, 1 - adds r0, r6 - adds r1, r0, r5 - ldrb r0, [r1] - cmp r0, 0 - bne _081525FC - strb r2, [r1] - ldr r2, _08152648 @ =0x000032e0 - adds r0, r4, r2 - adds r0, r5 - ldrb r0, [r0] - adds r0, 0x43 - bl PlaySE -_081525FC: - mov r0, r8 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x40 - ldrb r0, [r0] - cmp r0, 0x9 - bls _08152612 - mov r2, r10 - cmp r2, 0x1 - beq _08152612 - b _081527AC -_08152612: - movs r0, 0x1 - mov r10, r0 - adds r0, r1, r6 - adds r0, r5 - strb r7, [r0] - mov r1, r8 - ldr r0, [r1] - adds r1, r0, 0 - adds r1, 0x40 - ldrb r0, [r1] - cmp r0, 0x9 - bhi _0815262E - adds r0, 0x1 - strb r0, [r1] -_0815262E: - movs r0, 0x3 - adds r1, r5, 0 - movs r2, 0 - bl sub_8152D34 - movs r0, 0 - bl sub_8152F94 - b _081527AC - .align 2, 0 -_08152640: .4byte gUnknown_203F3E0 -_08152644: .4byte 0x000032eb -_08152648: .4byte 0x000032e0 -_0815264C: - adds r0, r5, 0 - bl sub_8152BD4 - mov r2, r8 - ldr r7, [r2] - lsls r0, 24 - lsrs r0, 24 - adds r1, r7, 0 - adds r1, 0x90 - adds r1, r0 - ldrb r0, [r1] - movs r1, 0x7 - bl __udivsi3 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1 - bls _08152672 - movs r3, 0x2 -_08152672: - ldr r2, _081526B4 @ =sUnknown_847553C - ldr r0, _081526B8 @ =0x000032e0 - adds r1, r4, r0 - adds r1, r5 - lsls r0, r3, 1 - adds r0, r3 - ldrb r1, [r1] - adds r0, r1 - adds r0, r2 - ldrb r2, [r0] - adds r1, r7, 0 - adds r1, 0xD0 - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - movs r3, 0 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, r2 - bcc _081526AC - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] - mov r1, r8 - ldr r0, [r1] - adds r0, 0xD0 - adds r0, r5 - strb r3, [r0] -_081526AC: - bl sub_8152174 - b _081527AC - .align 2, 0 -_081526B4: .4byte sUnknown_847553C -_081526B8: .4byte 0x000032e0 -_081526BC: - cmp r0, 0x2 - bne _0815273C - adds r1, r4, 0 - adds r1, 0xDC - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - movs r3, 0 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x13 - bls _081527AC - mov r0, r8 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0xB8 - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r2, r0 - ldr r1, _08152730 @ =0x000031d0 - adds r2, r1 - strb r3, [r2] - mov r2, r8 - ldr r0, [r2] - adds r0, 0xDC - adds r0, r5 - strb r3, [r0] - ldr r0, [r2] - adds r0, 0xD0 - adds r0, r5 - strb r3, [r0] - ldr r0, [r2] - adds r0, 0xC4 - adds r0, r5 - strb r3, [r0] - ldr r1, _08152734 @ =0x000032eb - adds r0, r4, r1 - adds r0, r5 - movs r1, 0x1 - strb r1, [r0] - adds r0, r5, 0 - bl sub_8152BD4 - lsls r0, 24 - lsrs r0, 24 - adds r1, r5, 0 - bl sub_8152BF8 - ldr r2, _08152738 @ =0x000032e0 - adds r1, r4, r2 - adds r1, r5 - strb r0, [r1] - b _081527AC - .align 2, 0 -_08152730: .4byte 0x000031d0 -_08152734: .4byte 0x000032eb -_08152738: .4byte 0x000032e0 -_0815273C: - cmp r0, 0x3 - bne _081527AC - adds r1, r4, 0 - adds r1, 0xDC - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x13 - bls _081527AC - mov r0, r8 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x40 - ldrb r0, [r0] - cmp r0, 0x9 - bhi _081527AC - adds r0, r1, 0 - adds r0, 0xDC - adds r0, r5 - strb r2, [r0] - mov r1, r8 - ldr r0, [r1] - adds r0, 0xD0 - adds r0, r5 - strb r2, [r0] - ldr r0, [r1] - adds r0, 0xC4 - adds r0, r5 - strb r2, [r0] - ldr r2, _081527CC @ =0x000032eb - adds r0, r4, r2 - adds r0, r5 - movs r1, 0x1 - strb r1, [r0] - mov r0, r8 - ldr r1, [r0] - adds r1, 0xE8 - adds r1, r5 - subs r2, 0xB - adds r4, r2 - adds r4, r5 - ldrb r0, [r4] - strb r0, [r1] - adds r0, r5, 0 - bl sub_8152BD4 - lsls r0, 24 - lsrs r0, 24 - adds r1, r5, 0 - bl sub_8152BF8 - strb r0, [r4] -_081527AC: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r9 - subs r0, 0x1 - cmp r5, r0 - bge _081527BC - b _081525A0 -_081527BC: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081527CC: .4byte 0x000032eb - thumb_func_end sub_815256C - - thumb_func_start sub_81527D0 -sub_81527D0: @ 81527D0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _08152838 @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0x44 - adds r0, 0x48 - ldrb r0, [r0] - mov r8, r0 - ldrb r6, [r1] - cmp r6, r8 - bcs _081528C2 - ldr r0, _0815283C @ =sUnknown_8471F50 - mov r9, r0 -_081527F0: - ldr r0, _08152838 @ =gUnknown_203F3E0 - ldr r3, [r0] - adds r0, r3, 0 - adds r0, 0x28 - ldrb r1, [r0] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - ldr r2, _08152840 @ =0x000031a0 - adds r0, r2 - adds r7, r3, r0 - movs r0, 0xB - adds r2, r1, 0 - muls r2, r0 - adds r2, r6, r2 - adds r3, 0x24 - ldrb r1, [r3] - subs r1, 0x1 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 3 - subs r0, r1 - adds r2, r0 - add r2, r9 - ldrb r4, [r2] - adds r0, r7, 0 - adds r0, 0x1F - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _08152844 - adds r0, r6, 0 - movs r1, 0 - bl sub_81542EC - b _0815284C - .align 2, 0 -_08152838: .4byte gUnknown_203F3E0 -_0815283C: .4byte sUnknown_8471F50 -_08152840: .4byte 0x000031a0 -_08152844: - adds r0, r6, 0 - movs r1, 0x1 - bl sub_81542EC -_0815284C: - adds r0, r7, 0 - adds r0, 0x1F - adds r5, r0, r4 - ldrb r0, [r5] - cmp r0, 0x9 - bls _08152878 - adds r0, r7, 0 - adds r0, 0x14 - adds r0, r4 - ldrb r1, [r0] - adds r1, 0x3 - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl sub_8154398 - ldrb r1, [r5] - lsls r1, 25 - movs r0, 0xFF - lsls r0, 24 - adds r1, r0 - b _0815289A -_08152878: - adds r0, r7, 0 - adds r0, 0x14 - adds r3, r0, r4 - ldrb r0, [r3] - cmp r0, 0x3 - bne _081528A4 - movs r0, 0x7 - strb r0, [r5] - adds r0, r6, 0 - movs r1, 0x6 - bl sub_8154398 - ldrb r1, [r5] - lsls r1, 25 - movs r2, 0xFF - lsls r2, 24 - adds r1, r2 -_0815289A: - lsrs r1, 24 - adds r0, r6, 0 - bl sub_8154370 - b _081528B8 -_081528A4: - ldrb r1, [r3] - adds r0, r6, 0 - bl sub_8154398 - ldrb r1, [r5] - lsls r1, 25 - lsrs r1, 24 - adds r0, r6, 0 - bl sub_8154370 -_081528B8: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, r8 - bcc _081527F0 -_081528C2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81527D0 - - thumb_func_start sub_81528D0 -sub_81528D0: @ 81528D0 - push {r4-r6,lr} - ldr r1, _08152908 @ =gUnknown_203F3E0 - ldr r0, [r1] - adds r0, 0x24 - ldrb r5, [r0] - movs r4, 0 - cmp r4, r5 - bcs _08152902 - adds r6, r1, 0 -_081528E2: - lsls r0, r4, 4 - subs r0, r4 - lsls r0, 2 - ldr r1, [r6] - adds r0, r1 - ldr r1, _0815290C @ =0x000031cc - adds r0, r1 - ldrb r1, [r0] - adds r0, r4, 0 - bl sub_8153DA8 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _081528E2 -_08152902: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08152908: .4byte gUnknown_203F3E0 -_0815290C: .4byte 0x000031cc - thumb_func_end sub_81528D0 - - thumb_func_start sub_8152910 -sub_8152910: @ 8152910 - push {r4,r5,lr} - ldr r0, _08152938 @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x24 - ldrb r5, [r0] - movs r4, 0 - cmp r4, r5 - bcs _08152932 -_08152920: - adds r0, r4, 0 - movs r1, 0x4 - bl sub_8153DA8 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08152920 -_08152932: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08152938: .4byte gUnknown_203F3E0 - thumb_func_end sub_8152910 - - thumb_func_start sub_815293C -sub_815293C: @ 815293C - push {lr} - bl sub_81527D0 - ldr r0, _08152954 @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x40 - ldrb r0, [r0] - cmp r0, 0x9 - bls _08152958 - bl sub_8152910 - b _0815295C - .align 2, 0 -_08152954: .4byte gUnknown_203F3E0 -_08152958: - bl sub_81528D0 -_0815295C: - ldr r0, _0815296C @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x40 - ldrb r0, [r0] - bl sub_8153FC8 - pop {r0} - bx r0 - .align 2, 0 -_0815296C: .4byte gUnknown_203F3E0 - thumb_func_end sub_815293C - - thumb_func_start sub_8152970 -sub_8152970: @ 8152970 - push {lr} - bl sub_81527D0 - ldr r0, _08152988 @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x40 - ldrb r0, [r0] - cmp r0, 0x9 - bls _0815298C - bl sub_8152910 - b _08152990 - .align 2, 0 -_08152988: .4byte gUnknown_203F3E0 -_0815298C: - bl sub_81528D0 -_08152990: - ldr r0, _081529A0 @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x40 - ldrb r0, [r0] - bl sub_8153FC8 - pop {r0} - bx r0 - .align 2, 0 -_081529A0: .4byte gUnknown_203F3E0 - thumb_func_end sub_8152970 - - thumb_func_start sub_81529A4 -sub_81529A4: @ 81529A4 - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x4 - bhi _081529FC - lsls r0, 2 - ldr r1, _081529BC @ =_081529C0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081529BC: .4byte _081529C0 - .align 2, 0 -_081529C0: - .4byte _081529D4 - .4byte _081529DC - .4byte _081529E4 - .4byte _081529EC - .4byte _081529F4 -_081529D4: - movs r0, 0x4 - strb r0, [r3] - movs r0, 0x7 - b _081529FA -_081529DC: - movs r0, 0x3 - strb r0, [r3] - movs r0, 0x8 - b _081529FA -_081529E4: - movs r0, 0x2 - strb r0, [r3] - movs r0, 0x9 - b _081529FA -_081529EC: - movs r0, 0x1 - strb r0, [r3] - movs r0, 0xA - b _081529FA -_081529F4: - movs r0, 0 - strb r0, [r3] - movs r0, 0xB -_081529FA: - strb r0, [r2] -_081529FC: - pop {r0} - bx r0 - thumb_func_end sub_81529A4 - - thumb_func_start sub_8152A00 -sub_8152A00: @ 8152A00 - push {r4-r6,lr} - ldr r1, _08152A58 @ =gUnknown_203F3E0 - ldr r0, [r1] - adds r0, 0x24 - ldrb r5, [r0] - movs r4, 0x1 - cmp r4, r5 - bcs _08152A66 - adds r6, r1, 0 -_08152A12: - ldr r0, [r6] - movs r1, 0xAC - lsls r1, 1 - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _08152A34 - adds r0, r4, 0 - bl sub_815A5E8 - ldr r1, [r6] - movs r2, 0xAC - lsls r2, 1 - adds r1, r2 - adds r1, r4 - strb r0, [r1] -_08152A34: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08152A12 - cmp r4, r5 - bcs _08152A66 - ldr r0, _08152A58 @ =gUnknown_203F3E0 - ldr r0, [r0] - movs r2, 0xAC - lsls r2, 1 - adds r1, r0, r2 -_08152A4C: - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _08152A5C - movs r0, 0 - b _08152A68 - .align 2, 0 -_08152A58: .4byte gUnknown_203F3E0 -_08152A5C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08152A4C -_08152A66: - movs r0, 0x1 -_08152A68: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8152A00 - - thumb_func_start sub_8152A70 -sub_8152A70: @ 8152A70 - push {r4,lr} - movs r1, 0 - ldr r4, _08152A94 @ =gUnknown_203F3E0 - movs r3, 0xAC - lsls r3, 1 - movs r2, 0 -_08152A7C: - ldr r0, [r4] - adds r0, r3 - adds r0, r1 - strb r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x4 - bls _08152A7C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08152A94: .4byte gUnknown_203F3E0 - thumb_func_end sub_8152A70 - - thumb_func_start sub_8152A98 -sub_8152A98: @ 8152A98 - push {r4,lr} - ldr r3, _08152ACC @ =gUnknown_203F3E0 - ldr r1, [r3] - adds r2, r1, 0 - adds r2, 0x40 - ldrb r0, [r2] - cmp r0, 0x9 - bls _08152AD0 - movs r4, 0x90 - lsls r4, 1 - adds r0, r1, r4 - ldr r0, [r0] - cmp r0, 0 - bne _08152AD0 - movs r0, 0xA - strb r0, [r2] - ldr r0, [r3] - movs r1, 0x96 - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _08152AD0 - movs r0, 0x1 - b _08152AD2 - .align 2, 0 -_08152ACC: .4byte gUnknown_203F3E0 -_08152AD0: - movs r0, 0 -_08152AD2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8152A98 - - thumb_func_start sub_8152AD8 -sub_8152AD8: @ 8152AD8 - push {r4-r6,lr} - ldr r4, _08152B50 @ =gUnknown_203F3E0 - ldr r1, [r4] - adds r2, r1, 0 - adds r2, 0x40 - ldrb r0, [r2] - cmp r0, 0x9 - bls _08152B5C - adds r0, r1, 0 - adds r0, 0x44 - ldrb r3, [r0] - adds r0, 0x4 - ldrb r5, [r0] - movs r0, 0xA - strb r0, [r2] - ldr r4, [r4] - mov r12, r4 - movs r0, 0x96 - lsls r0, 1 - add r0, r12 - ldr r0, [r0] - cmp r0, 0 - beq _08152B5C - adds r4, r3, 0 - cmp r4, r5 - bcs _08152B4C - mov r0, r12 - adds r0, 0x28 - ldrb r3, [r0] - lsls r1, r3, 4 - subs r1, r3 - lsls r1, 2 - ldr r6, _08152B54 @ =sUnknown_8471F50 - subs r0, 0x4 - ldrb r2, [r0] - subs r2, 0x1 - add r1, r12 - movs r0, 0xB - muls r3, r0 - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 3 - subs r2, r0, r2 - ldr r0, _08152B58 @ =0x000031bf - adds r1, r0 -_08152B32: - adds r0, r4, r3 - adds r0, r2 - adds r0, r6 - ldrb r0, [r0] - adds r0, r1, r0 - ldrb r0, [r0] - cmp r0, 0xA - bne _08152B5C - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08152B32 -_08152B4C: - movs r0, 0x1 - b _08152B5E - .align 2, 0 -_08152B50: .4byte gUnknown_203F3E0 -_08152B54: .4byte sUnknown_8471F50 -_08152B58: .4byte 0x000031bf -_08152B5C: - movs r0, 0 -_08152B5E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8152AD8 - - thumb_func_start sub_8152B64 -sub_8152B64: @ 8152B64 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _08152BCC @ =sUnknown_8475550 - mov r8, r0 - ldr r0, _08152BD0 @ =gUnknown_203F3E0 - ldr r6, [r0] - adds r0, r6, 0 - adds r0, 0x90 - adds r0, r5 - mov r9, r0 - ldrb r7, [r0] - adds r0, r7, 0 - movs r1, 0x7 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - add r4, r8 - adds r0, r7, 0 - movs r1, 0x7 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldrb r4, [r4] - adds r0, r4 - lsls r0, 24 - lsls r5, 1 - adds r6, 0x86 - adds r6, r5 - ldrh r1, [r6] - lsrs r0, 24 - cmp r1, r0 - bcc _08152BBE - adds r0, r7, 0x1 - mov r1, r9 - strb r0, [r1] -_08152BBE: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08152BCC: .4byte sUnknown_8475550 -_08152BD0: .4byte gUnknown_203F3E0 - thumb_func_end sub_8152B64 - - thumb_func_start sub_8152BD4 -sub_8152BD4: @ 8152BD4 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _08152BF0 @ =sUnknown_84720FC - ldr r1, _08152BF4 @ =gUnknown_203F3E0 - ldr r1, [r1] - adds r1, 0x24 - ldrb r1, [r1] - subs r1, 0x1 - movs r2, 0xB - muls r1, r2 - adds r0, r1 - adds r0, r3 - ldrb r0, [r0] - bx lr - .align 2, 0 -_08152BF0: .4byte sUnknown_84720FC -_08152BF4: .4byte gUnknown_203F3E0 - thumb_func_end sub_8152BD4 - - thumb_func_start sub_8152BF8 -sub_8152BF8: @ 8152BF8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r4, _08152C78 @ =gUnknown_203F3E0 - ldr r1, [r4] - adds r1, 0x24 - ldrb r2, [r1] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _08152C7C @ =sUnknown_84720AE - lsls r1, r0, 1 - adds r1, r0 - lsls r0, r2, 4 - subs r0, r2 - adds r1, r0 - adds r0, r1, r3 - ldrb r0, [r0] - mov r12, r0 - adds r0, r3, 0x1 - adds r0, r1, r0 - ldrb r7, [r0] - adds r3, 0x2 - adds r1, r3 - ldrb r1, [r1] - mov r8, r1 - movs r3, 0 - ldr r1, _08152C80 @ =sUnknown_8472133 - lsls r0, r2, 2 - adds r2, r0, r2 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08152C60 - adds r6, r1, 0 -_08152C46: - adds r0, r3, r2 - adds r0, r6 - ldrb r0, [r0] - cmp r5, r0 - beq _08152C84 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r3, r2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08152C46 -_08152C60: - ldr r0, [r4] - adds r0, 0x90 - mov r1, r12 - adds r2, r0, r1 - adds r1, r0, r7 - ldrb r0, [r2] - ldrb r3, [r1] - cmp r0, r3 - bls _08152C8E - adds r1, r0, 0 - b _08152C90 - .align 2, 0 -_08152C78: .4byte gUnknown_203F3E0 -_08152C7C: .4byte sUnknown_84720AE -_08152C80: .4byte sUnknown_8472133 -_08152C84: - ldr r0, [r4] - adds r0, 0x90 - adds r0, r7 - ldrb r0, [r0] - b _08152CA2 -_08152C8E: - ldrb r1, [r1] -_08152C90: - ldr r0, [r4] - adds r0, 0x90 - mov r2, r8 - adds r4, r0, r2 - ldrb r0, [r4] - cmp r0, r1 - bls _08152CA0 - adds r1, r0, 0 -_08152CA0: - adds r0, r1, 0 -_08152CA2: - adds r1, r5, 0 - bl sub_8152CB8 - lsls r0, 24 - lsrs r0, 24 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8152BF8 - - thumb_func_start sub_8152CB8 -sub_8152CB8: @ 8152CB8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _08152CE4 @ =gUnknown_203F3E0 - ldr r2, [r2] - adds r2, 0xE8 - adds r2, r1 - ldrb r4, [r2] - movs r1, 0x7 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bhi _08152D26 - lsls r0, 2 - ldr r1, _08152CE8 @ =_08152CEC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08152CE4: .4byte gUnknown_203F3E0 -_08152CE8: .4byte _08152CEC - .align 2, 0 -_08152CEC: - .4byte _08152D26 - .4byte _08152D1E - .4byte _08152D2A - .4byte _08152D08 - .4byte _08152D0E - .4byte _08152D14 - .4byte _08152D1A -_08152D08: - cmp r4, 0 - beq _08152D1E - b _08152D26 -_08152D0E: - cmp r4, 0 - beq _08152D2A - b _08152D26 -_08152D14: - cmp r4, 0x2 - beq _08152D1E - b _08152D2A -_08152D1A: - cmp r4, 0 - bne _08152D22 -_08152D1E: - movs r0, 0x1 - b _08152D2C -_08152D22: - cmp r4, 0x1 - beq _08152D2A -_08152D26: - movs r0, 0 - b _08152D2C -_08152D2A: - movs r0, 0x2 -_08152D2C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8152CB8 - - thumb_func_start sub_8152D34 -sub_8152D34: @ 8152D34 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r1, _08152D60 @ =gUnknown_203F3E0 - ldr r2, [r1] - adds r0, r2, 0 - adds r0, 0x24 - ldrb r0, [r0] - adds r5, r1, 0 - cmp r4, 0 - bge _08152D54 - b _08152F8E -_08152D54: - cmp r4, 0x2 - ble _08152D64 - cmp r4, 0x3 - beq _08152D94 - b _08152F8E - .align 2, 0 -_08152D60: .4byte gUnknown_203F3E0 -_08152D64: - ldr r1, _08152D8C @ =0x000031b4 - adds r0, r2, r1 - adds r0, r3 - ldrb r4, [r0] - lsls r4, 1 - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - adds r4, r0 - adds r0, r2, 0 - adds r0, 0x4A - adds r0, r4 - ldrh r0, [r0] - ldr r1, _08152D90 @ =0x00004e20 - bl sub_815378C - ldr r1, [r5] - adds r1, 0x4A - adds r1, r4 - b _08152F8C - .align 2, 0 -_08152D8C: .4byte 0x000031b4 -_08152D90: .4byte 0x00004e20 -_08152D94: - cmp r0, 0x3 - bne _08152D9A - b _08152EE0 -_08152D9A: - cmp r0, 0x3 - bgt _08152DA6 - cmp r0, 0x2 - bne _08152DA4 - b _08152F4A -_08152DA4: - b _08152F8E -_08152DA6: - cmp r0, 0x4 - beq _08152E56 - cmp r0, 0x5 - beq _08152DB0 - b _08152F8E -_08152DB0: - cmp r3, 0x9 - bls _08152DB6 - b _08152F8E -_08152DB6: - lsls r0, r3, 2 - ldr r1, _08152DC0 @ =_08152DC4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08152DC0: .4byte _08152DC4 - .align 2, 0 -_08152DC4: - .4byte _08152DEC - .4byte _08152DFC - .4byte _08152E02 - .4byte _08152E12 - .4byte _08152E18 - .4byte _08152E28 - .4byte _08152E2E - .4byte _08152E3C - .4byte _08152E40 - .4byte _08152E50 -_08152DEC: - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x68 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x74 - b _08152F88 -_08152DFC: - ldr r1, [r5] - adds r1, 0x74 - b _08152F88 -_08152E02: - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x74 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x80 - b _08152F88 -_08152E12: - ldr r1, [r5] - adds r1, 0x80 - b _08152F88 -_08152E18: - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x80 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x50 - b _08152F88 -_08152E28: - ldr r1, [r5] - adds r1, 0x50 - b _08152F88 -_08152E2E: - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x50 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - b _08152F86 -_08152E3C: - ldr r1, [r5] - b _08152F86 -_08152E40: - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x5C - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x68 - b _08152F88 -_08152E50: - ldr r1, [r5] - adds r1, 0x68 - b _08152F88 -_08152E56: - subs r0, r3, 0x1 - cmp r0, 0x7 - bls _08152E5E - b _08152F8E -_08152E5E: - lsls r0, 2 - ldr r1, _08152E68 @ =_08152E6C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08152E68: .4byte _08152E6C - .align 2, 0 -_08152E6C: - .4byte _08152E8C - .4byte _08152E9C - .4byte _08152EA2 - .4byte _08152EB2 - .4byte _08152EB8 - .4byte _08152EC6 - .4byte _08152ECA - .4byte _08152EDA -_08152E8C: - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x68 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x74 - b _08152F88 -_08152E9C: - ldr r1, [r5] - adds r1, 0x74 - b _08152F88 -_08152EA2: - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x74 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x50 - b _08152F88 -_08152EB2: - ldr r1, [r5] - adds r1, 0x50 - b _08152F88 -_08152EB8: - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x50 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - b _08152F86 -_08152EC6: - ldr r1, [r5] - b _08152F86 -_08152ECA: - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x5C - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x68 - b _08152F88 -_08152EDA: - ldr r1, [r5] - adds r1, 0x68 - b _08152F88 -_08152EE0: - subs r0, r3, 0x2 - cmp r0, 0x5 - bhi _08152F8E - lsls r0, 2 - ldr r1, _08152EF0 @ =_08152EF4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08152EF0: .4byte _08152EF4 - .align 2, 0 -_08152EF4: - .4byte _08152F0C - .4byte _08152F1C - .4byte _08152F22 - .4byte _08152F32 - .4byte _08152F38 - .4byte _08152F46 -_08152F0C: - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x5C - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x68 - b _08152F88 -_08152F1C: - ldr r1, [r5] - adds r1, 0x68 - b _08152F88 -_08152F22: - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x68 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x50 - b _08152F88 -_08152F32: - ldr r1, [r5] - adds r1, 0x50 - b _08152F88 -_08152F38: - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x50 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - b _08152F86 -_08152F46: - ldr r1, [r5] - b _08152F86 -_08152F4A: - cmp r3, 0x4 - beq _08152F70 - cmp r3, 0x4 - bgt _08152F58 - cmp r3, 0x3 - beq _08152F62 - b _08152F8E -_08152F58: - cmp r3, 0x5 - beq _08152F76 - cmp r3, 0x6 - beq _08152F84 - b _08152F8E -_08152F62: - adds r1, r2, 0 - adds r1, 0x50 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - adds r1, 0xC - b _08152F88 -_08152F70: - adds r1, r2, 0 - adds r1, 0x50 - b _08152F88 -_08152F76: - adds r1, r2, 0 - adds r1, 0x50 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - adds r1, 0xC - b _08152F88 -_08152F84: - adds r1, r2, 0 -_08152F86: - adds r1, 0x5C -_08152F88: - ldrh r0, [r1] - adds r0, 0x1 -_08152F8C: - strh r0, [r1] -_08152F8E: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8152D34 - - thumb_func_start sub_8152F94 -sub_8152F94: @ 8152F94 - push {r4,r5,lr} - adds r1, r0, 0 - ldr r4, _08152FD8 @ =gUnknown_203F3E0 - ldr r3, [r4] - adds r0, r3, 0 - adds r0, 0x24 - ldrb r0, [r0] - cmp r0, 0x5 - bne _08152FFE - cmp r1, 0x1 - bne _08152FE0 - movs r5, 0x89 - lsls r5, 1 - adds r1, r3, r5 - ldrh r0, [r1] - adds r2, r0, 0x1 - strh r2, [r1] - movs r0, 0x8A - lsls r0, 1 - adds r1, r3, r0 - lsls r0, r2, 16 - lsrs r0, 16 - ldrh r3, [r1] - cmp r0, r3 - bls _08152FC8 - strh r2, [r1] -_08152FC8: - ldr r0, [r4] - adds r2, r0, r5 - ldrh r0, [r2] - ldr r1, _08152FDC @ =0x0000270f - cmp r0, r1 - bls _08152FFE - strh r1, [r2] - b _08152FFE - .align 2, 0 -_08152FD8: .4byte gUnknown_203F3E0 -_08152FDC: .4byte 0x0000270f -_08152FE0: - movs r2, 0x89 - lsls r2, 1 - adds r0, r3, r2 - movs r5, 0x8A - lsls r5, 1 - adds r1, r3, r5 - ldrh r0, [r0] - ldrh r3, [r1] - cmp r0, r3 - bls _08152FF6 - strh r0, [r1] -_08152FF6: - ldr r0, [r4] - adds r0, r2 - movs r1, 0 - strh r1, [r0] -_08152FFE: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8152F94 - - thumb_func_start sub_8153004 -sub_8153004: @ 8153004 - push {r4,r5,lr} - movs r3, 0 - ldr r2, _08153044 @ =gUnknown_203F3E0 - ldr r0, [r2] - adds r0, 0x24 - ldrb r0, [r0] - cmp r3, r0 - bcs _0815303C - adds r5, r2, 0 - movs r4, 0x8A - lsls r4, 1 -_0815301A: - ldr r2, [r5] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r1, r2, 0 - adds r1, 0x54 - adds r1, r0 - adds r0, r2, r4 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r2, 0x24 - ldrb r2, [r2] - cmp r3, r2 - bcc _0815301A -_0815303C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08153044: .4byte gUnknown_203F3E0 - thumb_func_end sub_8153004 - - thumb_func_start sub_8153048 -sub_8153048: @ 8153048 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r5, 0 - ldr r7, _08153138 @ =gUnknown_203F3E0 - movs r4, 0 - ldr r0, _0815313C @ =0x000031bf - mov r10, r0 -_0815305C: - movs r2, 0 - lsls r6, r5, 4 - lsls r1, r5, 1 - mov r8, r1 - lsls r0, r5, 3 - mov r12, r0 - adds r1, r5, 0x1 - mov r9, r1 - subs r0, r6, r5 - lsls r3, r0, 2 -_08153070: - ldr r0, [r7] - adds r1, r2, r3 - add r0, r10 - adds r0, r1 - strb r4, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xA - bls _08153070 - ldr r0, [r7] - subs r1, r6, r5 - lsls r1, 2 - adds r0, r1 - ldr r2, _08153140 @ =0x000031cc - adds r0, r2 - strb r4, [r0] - ldr r0, [r7] - adds r0, r1 - ldr r1, _08153144 @ =0x000031d0 - adds r0, r1 - strb r4, [r0] - ldr r0, [r7] - adds r0, 0x90 - adds r0, r5 - strb r4, [r0] - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0x86 - add r0, r8 - strh r4, [r0] - add r1, r12 - ldr r2, _08153148 @ =0x00003308 - adds r1, r2 - strb r4, [r1] - ldr r2, [r7] - ldr r1, _0815314C @ =0x0000330c - adds r0, r2, r1 - add r0, r12 - str r4, [r0] - mov r0, r8 - adds r1, r0, r5 - lsls r1, 2 - adds r0, r2, 0 - adds r0, 0x4A - adds r0, r1 - strh r4, [r0] - adds r0, r2, 0 - adds r0, 0x4C - adds r0, r1 - strh r4, [r0] - adds r0, r2, 0 - adds r0, 0x4E - adds r0, r1 - strh r4, [r0] - adds r0, r2, 0 - adds r0, 0x50 - adds r0, r1 - strh r4, [r0] - adds r0, r2, 0 - adds r0, 0x52 - adds r0, r1 - strh r4, [r0] - adds r0, r2, 0 - adds r0, 0x54 - adds r0, r1 - strh r4, [r0] - mov r1, r9 - lsls r0, r1, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _0815305C - ldr r2, _08153138 @ =gUnknown_203F3E0 - ldr r0, [r2] - movs r1, 0xAA - lsls r1, 1 - adds r0, r1 - movs r2, 0 - strb r2, [r0] - ldr r1, _08153138 @ =gUnknown_203F3E0 - ldr r0, [r1] - movs r1, 0x89 - lsls r1, 1 - adds r3, r0, r1 - movs r1, 0 - strh r2, [r3] - adds r0, 0x40 - strb r1, [r0] - bl sub_81528D0 - bl sub_81527D0 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08153138: .4byte gUnknown_203F3E0 -_0815313C: .4byte 0x000031bf -_08153140: .4byte 0x000031cc -_08153144: .4byte 0x000031d0 -_08153148: .4byte 0x00003308 -_0815314C: .4byte 0x0000330c - thumb_func_end sub_8153048 - - thumb_func_start sub_8153150 -sub_8153150: @ 8153150 - push {r4,r5,lr} - movs r4, 0 - ldr r0, _08153168 @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x24 - ldrb r0, [r0] - cmp r0, 0x4 - beq _0815316C - cmp r0, 0x5 - beq _08153170 - b _08153172 - .align 2, 0 -_08153168: .4byte gUnknown_203F3E0 -_0815316C: - movs r4, 0x1 - b _08153172 -_08153170: - movs r4, 0x2 -_08153172: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r3, 0 - lsls r1, r4, 2 - ldr r5, _081531B4 @ =gUnknown_203F3E0 - ldr r2, _081531B8 @ =sUnknown_8475558 - adds r1, r4 - lsls r1, 1 - adds r0, r1 - adds r0, r2 - ldrb r2, [r0] -_08153196: - ldr r1, [r5] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r1, 0x52 - adds r1, r0 - strh r2, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x4 - bls _08153196 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081531B4: .4byte gUnknown_203F3E0 -_081531B8: .4byte sUnknown_8475558 - thumb_func_end sub_8153150 - - thumb_func_start sub_81531BC -sub_81531BC: @ 81531BC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _081531F4 @ =gUnknown_203F3E0 - ldr r2, [r1] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r0, r2, 0 - adds r0, 0x4A - adds r0, r1 - ldrh r3, [r0] - adds r0, r2, 0 - adds r0, 0x4C - adds r0, r1 - ldrh r0, [r0] - adds r2, 0x4E - adds r2, r1 - adds r3, r0 - ldrh r2, [r2] - adds r0, r3, r2 - ldr r1, _081531F8 @ =0x0000270f - cmp r0, r1 - bls _081531EE - adds r0, r1, 0 -_081531EE: - pop {r1} - bx r1 - .align 2, 0 -_081531F4: .4byte gUnknown_203F3E0 -_081531F8: .4byte 0x0000270f - thumb_func_end sub_81531BC - - thumb_func_start sub_81531FC -sub_81531FC: @ 81531FC - push {r4-r6,lr} - ldr r5, _08153264 @ =gUnknown_203F3E0 - ldr r0, [r5] - adds r0, 0x28 - ldrb r0, [r0] - bl sub_81531BC - ldr r1, _08153268 @ =0x0000270f - bl sub_815379C - adds r4, r0, 0 - ldr r0, [r5] - adds r0, 0x28 - ldrb r0, [r0] - bl sub_8153424 - ldr r1, _0815326C @ =0x000f4236 - bl sub_815379C - adds r2, r0, 0 - ldr r3, _08153270 @ =gSaveBlock2Ptr - ldr r0, [r3] - movs r6, 0xB1 - lsls r6, 4 - adds r1, r0, r6 - ldr r0, [r1] - cmp r0, r2 - bcs _08153236 - str r2, [r1] -_08153236: - ldr r0, [r3] - ldr r2, _08153274 @ =0x00000b14 - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, r4 - bcs _08153244 - strh r4, [r1] -_08153244: - ldr r0, [r3] - ldr r6, _08153278 @ =0x00000b16 - adds r2, r0, r6 - ldr r0, [r5] - movs r1, 0x8A - lsls r1, 1 - adds r0, r1 - ldrh r1, [r0] - ldrh r0, [r2] - cmp r0, r1 - bcs _0815325C - strh r1, [r2] -_0815325C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08153264: .4byte gUnknown_203F3E0 -_08153268: .4byte 0x0000270f -_0815326C: .4byte 0x000f4236 -_08153270: .4byte gSaveBlock2Ptr -_08153274: .4byte 0x00000b14 -_08153278: .4byte 0x00000b16 - thumb_func_end sub_81531FC - - thumb_func_start sub_815327C -sub_815327C: @ 815327C - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _081532B4 @ =gUnknown_203F3E0 - ldr r0, [r1] - adds r0, 0x9B - ldrb r6, [r0] - movs r3, 0x3 - adds r5, r1, 0 - adds r4, r5, 0 -_08153290: - ldr r0, [r4] - adds r0, 0x98 - adds r2, r0, r3 - subs r1, r3, 0x1 - adds r0, r1 - ldrb r0, [r0] - strb r0, [r2] - lsls r1, 24 - lsrs r3, r1, 24 - cmp r3, 0 - bne _08153290 - ldr r0, [r5] - adds r0, 0x98 - strb r7, [r0] - adds r0, r6, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081532B4: .4byte gUnknown_203F3E0 - thumb_func_end sub_815327C - - thumb_func_start sub_81532B8 -sub_81532B8: @ 81532B8 - push {r4,lr} - ldr r4, _081532EC @ =gUnknown_203F3E0 - ldr r3, [r4] - adds r0, r3, 0 - adds r0, 0x28 - ldrb r1, [r0] - adds r0, 0x88 - adds r2, r0, r1 - ldrb r0, [r2] - cmp r0, 0 - bne _08153360 - ldr r0, _081532F0 @ =gMain - ldrh r2, [r0, 0x2E] - movs r0, 0x40 - ands r0, r2 - cmp r0, 0 - beq _081532F8 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r0, r3, r0 - ldr r1, _081532F4 @ =0x000031cc - adds r0, r1 - movs r1, 0x2 - b _0815332E - .align 2, 0 -_081532EC: .4byte gUnknown_203F3E0 -_081532F0: .4byte gMain -_081532F4: .4byte 0x000031cc -_081532F8: - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - beq _08153314 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r0, r3, r0 - ldr r1, _08153310 @ =0x000031cc - adds r0, r1 - movs r1, 0x3 - b _0815332E - .align 2, 0 -_08153310: .4byte 0x000031cc -_08153314: - movs r0, 0x10 - ands r0, r2 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _0815334C - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r0, r3, r0 - ldr r1, _08153348 @ =0x000031cc - adds r0, r1 - movs r1, 0x1 -_0815332E: - strb r1, [r0] - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x28 - adds r0, 0xB0 - ldrb r1, [r1] - adds r0, r1 - movs r1, 0x6 - strb r1, [r0] - movs r0, 0xCD - bl PlaySE - b _08153364 - .align 2, 0 -_08153348: .4byte 0x000031cc -_0815334C: - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 2 - adds r0, r3, r0 - ldr r1, _0815335C @ =0x000031cc - adds r0, r1 - strb r2, [r0] - b _08153364 - .align 2, 0 -_0815335C: .4byte 0x000031cc -_08153360: - subs r0, 0x1 - strb r0, [r2] -_08153364: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81532B8 - - thumb_func_start sub_815336C -sub_815336C: @ 815336C - ldr r0, _08153388 @ =gUnknown_203F3E0 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x28 - ldrb r2, [r0] - lsls r0, r2, 4 - subs r0, r2 - lsls r0, 2 - adds r1, r0 - ldr r0, _0815338C @ =0x000031cc - adds r1, r0 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_08153388: .4byte gUnknown_203F3E0 -_0815338C: .4byte 0x000031cc - thumb_func_end sub_815336C - - thumb_func_start sub_8153390 -sub_8153390: @ 8153390 - ldr r0, _081533B0 @ =gUnknown_203F3E0 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x28 - ldrb r2, [r0] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r1, 0x52 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x85 - lsls r0, 16 - lsrs r0, 16 - bx lr - .align 2, 0 -_081533B0: .4byte gUnknown_203F3E0 - thumb_func_end sub_8153390 - - thumb_func_start sub_81533B4 -sub_81533B4: @ 81533B4 - ldr r0, _081533C0 @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x24 - ldrb r0, [r0] - bx lr - .align 2, 0 -_081533C0: .4byte gUnknown_203F3E0 - thumb_func_end sub_81533B4 - - thumb_func_start sub_81533C4 -sub_81533C4: @ 81533C4 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _081533E4 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _081533F0 - ldr r0, _081533E8 @ =gUnknown_203F3E0 - lsls r1, r2, 4 - subs r1, r2 - lsls r1, 2 - ldr r2, _081533EC @ =0x000031a0 - adds r1, r2 - ldr r0, [r0] - b _081533F8 - .align 2, 0 -_081533E4: .4byte gReceivedRemoteLinkPlayers -_081533E8: .4byte gUnknown_203F3E0 -_081533EC: .4byte 0x000031a0 -_081533F0: - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - ldr r1, _08153400 @ =gLinkPlayers + 8 -_081533F8: - adds r0, r1 - pop {r1} - bx r1 - .align 2, 0 -_08153400: .4byte gLinkPlayers + 8 - thumb_func_end sub_81533C4 - - thumb_func_start sub_8153404 -sub_8153404: @ 8153404 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r2, _08153420 @ =gUnknown_203F3E0 - ldr r3, [r2] - lsrs r1, 23 - lsls r2, r0, 1 - adds r2, r0 - lsls r2, 2 - adds r1, r2 - adds r3, 0x4A - adds r3, r1 - ldrh r0, [r3] - bx lr - .align 2, 0 -_08153420: .4byte gUnknown_203F3E0 - thumb_func_end sub_8153404 - - thumb_func_start sub_8153424 -sub_8153424: @ 8153424 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0 - movs r3, 0 - ldr r0, _08153490 @ =gUnknown_203F3E0 - mov r9, r0 - ldr r2, _08153494 @ =sUnknown_84755D8 - mov r10, r2 - ldr r2, [r0] - lsls r1, r4, 1 - adds r0, r1, r4 - lsls r0, 2 - str r0, [sp] - adds r6, r2, 0 - adds r6, 0x4A - mov r12, r1 - mov r8, r10 -_08153452: - lsls r1, r3, 1 - ldr r7, [sp] - adds r0, r1, r7 - adds r0, r6, r0 - ldrh r2, [r0] - add r1, r8 - movs r7, 0 - ldrsh r0, [r1, r7] - muls r0, r2 - adds r5, r0 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x2 - bls _08153452 - mov r0, r9 - ldr r1, [r0] - mov r2, r12 - adds r0, r2, r4 - lsls r0, 2 - adds r1, 0x50 - adds r1, r0 - ldrh r1, [r1] - mov r3, r10 - movs r7, 0x6 - ldrsh r0, [r3, r7] - muls r0, r1 - cmp r5, r0 - bls _08153498 - subs r0, r5, r0 - b _0815349A - .align 2, 0 -_08153490: .4byte gUnknown_203F3E0 -_08153494: .4byte sUnknown_84755D8 -_08153498: - movs r0, 0 -_0815349A: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8153424 - - thumb_func_start sub_81534AC -sub_81534AC: @ 81534AC - push {r4-r6,lr} - ldr r0, _081534E8 @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x24 - ldrb r6, [r0] - movs r0, 0 - bl sub_8153424 - adds r5, r0, 0 - movs r4, 0x1 - cmp r4, r6 - bcs _081534DA -_081534C4: - adds r0, r4, 0 - bl sub_8153424 - cmp r0, r5 - bls _081534D0 - adds r5, r0, 0 -_081534D0: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _081534C4 -_081534DA: - ldr r1, _081534EC @ =0x000f4236 - adds r0, r5, 0 - bl sub_815379C - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_081534E8: .4byte gUnknown_203F3E0 -_081534EC: .4byte 0x000f4236 - thumb_func_end sub_81534AC - - thumb_func_start sub_81534F0 -sub_81534F0: @ 81534F0 - push {r4,r5,lr} - lsls r0, 24 - ldr r1, _08153530 @ =gUnknown_203F3E0 - ldr r2, [r1] - adds r1, r2, 0 - adds r1, 0x24 - ldrb r5, [r1] - lsrs r4, r0, 23 - adds r2, 0x4A - adds r0, r2, r4 - ldrh r3, [r0] - movs r1, 0 - cmp r1, r5 - bcs _08153528 -_0815350C: - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4, r0 - adds r0, r2, r0 - ldrh r0, [r0] - cmp r0, r3 - bls _0815351E - adds r3, r0, 0 -_0815351E: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, r5 - bcc _0815350C -_08153528: - adds r0, r3, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08153530: .4byte gUnknown_203F3E0 - thumb_func_end sub_81534F0 - - thumb_func_start sub_8153534 -sub_8153534: @ 8153534 - push {r4-r7,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r7, r0, 24 - movs r6, 0x1 - ldr r0, _081535AC @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x24 - ldrb r5, [r0] - movs r4, 0 - cmp r4, r5 - bcs _08153562 -_0815354C: - adds r0, r4, 0 - bl sub_8153424 - lsls r1, r4, 2 - add r1, sp - str r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _0815354C -_08153562: - lsls r7, 2 - mov r12, r7 - cmp r6, 0 - beq _0815359C - subs r7, r5, 0x1 -_0815356C: - movs r6, 0 - movs r4, 0 - cmp r6, r7 - bge _08153598 - adds r5, r7, 0 -_08153576: - lsls r0, r4, 2 - mov r2, sp - adds r1, r2, r0 - adds r4, 0x1 - lsls r0, r4, 2 - adds r3, r2, r0 - ldr r0, [r1] - ldr r2, [r3] - cmp r0, r2 - bcs _08153590 - str r2, [r1] - str r0, [r3] - movs r6, 0x1 -_08153590: - lsls r0, r4, 24 - lsrs r4, r0, 24 - cmp r4, r5 - blt _08153576 -_08153598: - cmp r6, 0 - bne _0815356C -_0815359C: - mov r0, sp - add r0, r12 - ldr r0, [r0] - add sp, 0x14 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081535AC: .4byte gUnknown_203F3E0 - thumb_func_end sub_8153534 - - thumb_func_start sub_81535B0 -sub_81535B0: @ 81535B0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r0, 0 - mov r10, r0 - mov r8, r0 - mov r9, r0 - ldr r6, _08153690 @ =gUnknown_203F3E0 - ldr r0, [r6] - adds r0, 0x24 - ldrb r5, [r0] - bl sub_81534AC - bl sub_81534AC - cmp r0, 0 - bne _08153604 - movs r4, 0 - cmp r9, r5 - bcs _08153604 - adds r2, r6, 0 - ldr r1, _08153694 @ =0x00003308 - mov r12, r1 - movs r7, 0 - movs r6, 0x4 - ldr r3, _08153698 @ =0x0000330c -_081535E8: - ldr r0, [r2] - lsls r1, r4, 3 - adds r0, r1 - add r0, r12 - strb r6, [r0] - ldr r0, [r2] - adds r0, r3 - adds r0, r1 - str r7, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _081535E8 -_08153604: - movs r4, 0 - cmp r4, r5 - bcs _0815362E -_0815360A: - adds r0, r4, 0 - bl sub_8153424 - ldr r1, _0815369C @ =0x000f4236 - bl sub_815379C - ldr r1, _08153690 @ =gUnknown_203F3E0 - ldr r1, [r1] - lsls r2, r4, 3 - ldr r3, _08153698 @ =0x0000330c - adds r1, r3 - adds r1, r2 - str r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _0815360A -_0815362E: - mov r0, r10 - bl sub_8153534 - adds r6, r0, 0 - mov r3, r8 - movs r4, 0 - cmp r4, r5 - bcs _0815367A - ldr r7, _08153690 @ =gUnknown_203F3E0 - mov r10, r7 -_08153642: - mov r0, r10 - ldr r2, [r0] - lsls r1, r4, 3 - ldr r7, _08153698 @ =0x0000330c - adds r0, r2, r7 - adds r0, r1 - ldr r0, [r0] - cmp r6, r0 - bne _08153670 - adds r0, r2, r1 - ldr r1, _08153694 @ =0x00003308 - adds r0, r1 - strb r3, [r0] - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_08153670: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08153642 -_0815367A: - mov r10, r8 - cmp r9, r5 - bcc _0815362E - movs r0, 0 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08153690: .4byte gUnknown_203F3E0 -_08153694: .4byte 0x00003308 -_08153698: .4byte 0x0000330c -_0815369C: .4byte 0x000f4236 - thumb_func_end sub_81535B0 - - thumb_func_start sub_81536A0 -sub_81536A0: @ 81536A0 - lsls r1, 24 - ldr r2, _081536B8 @ =gUnknown_203F3E0 - ldr r2, [r2] - lsrs r1, 21 - ldr r3, _081536BC @ =0x00003308 - adds r2, r3 - adds r2, r1 - ldr r1, [r2] - ldr r2, [r2, 0x4] - str r1, [r0] - str r2, [r0, 0x4] - bx lr - .align 2, 0 -_081536B8: .4byte gUnknown_203F3E0 -_081536BC: .4byte 0x00003308 - thumb_func_end sub_81536A0 - - thumb_func_start sub_81536C0 -sub_81536C0: @ 81536C0 - push {r4-r7,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r6, r0, 24 - movs r7, 0 - ldr r0, _08153728 @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x24 - ldrb r5, [r0] - mov r0, sp - movs r1, 0 - movs r2, 0x14 - bl memset - movs r4, 0 - cmp r7, r5 - bcs _081536F8 -_081536E2: - adds r0, r4, 0 - bl sub_8153424 - lsls r1, r4, 2 - add r1, sp - str r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _081536E2 -_081536F8: - lsls r0, r6, 2 - add r0, sp - ldr r1, [r0] - movs r4, 0 -_08153700: - cmp r4, r6 - beq _08153714 - lsls r0, r4, 2 - add r0, sp - ldr r0, [r0] - cmp r1, r0 - bcs _08153714 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_08153714: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _08153700 - adds r0, r7, 0 - add sp, 0x14 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08153728: .4byte gUnknown_203F3E0 - thumb_func_end sub_81536C0 - - thumb_func_start sub_815372C -sub_815372C: @ 815372C - push {r4-r6,lr} - ldr r0, _08153754 @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x28 - ldrb r4, [r0] - bl sub_8153390 - lsls r0, 16 - lsrs r5, r0, 16 - adds r6, r5, 0 - adds r0, r4, 0 - bl sub_8153424 - adds r4, r0, 0 - bl sub_81534AC - cmp r4, r0 - beq _08153758 - movs r0, 0x3 - b _08153786 - .align 2, 0 -_08153754: .4byte gUnknown_203F3E0 -_08153758: - adds r0, r5, 0 - movs r1, 0x1 - bl CheckBagHasSpace - lsls r0, 24 - cmp r0, 0 - bne _0815376A - movs r0, 0x2 - b _08153786 -_0815376A: - adds r0, r6, 0 - movs r1, 0x1 - bl AddBagItem - adds r0, r6, 0 - movs r1, 0x1 - bl CheckBagHasSpace - lsls r0, 24 - cmp r0, 0 - beq _08153784 - movs r0, 0 - b _08153786 -_08153784: - movs r0, 0x1 -_08153786: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_815372C - - thumb_func_start sub_815378C -sub_815378C: @ 815378C - push {lr} - adds r2, r0, 0 - adds r0, r1, 0 - cmp r2, r0 - bcs _08153798 - adds r0, r2, 0x1 -_08153798: - pop {r1} - bx r1 - thumb_func_end sub_815378C - - thumb_func_start sub_815379C -sub_815379C: @ 815379C - push {lr} - adds r2, r0, 0 - adds r0, r1, 0 - cmp r2, r0 - bcs _081537A8 - adds r0, r2, 0 -_081537A8: - pop {r1} - bx r1 - thumb_func_end sub_815379C - - thumb_func_start sub_81537AC -sub_81537AC: @ 81537AC - lsls r0, 24 - lsrs r0, 24 - ldr r1, _081537BC @ =gUnknown_203F3E0 - ldr r1, [r1] - adds r1, 0x34 - adds r1, r0 - ldrb r0, [r1] - bx lr - .align 2, 0 -_081537BC: .4byte gUnknown_203F3E0 - thumb_func_end sub_81537AC - - thumb_func_start IsDodrioInParty -IsDodrioInParty: @ 81537C0 - push {r4-r6,lr} - movs r5, 0 - ldr r6, _081537F0 @ =gSpecialVar_Result -_081537C6: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _081537F4 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _081537F8 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0x55 - bne _081537F8 - movs r0, 0x1 - strh r0, [r6] - b _08153804 - .align 2, 0 -_081537F0: .4byte gSpecialVar_Result -_081537F4: .4byte gPlayerParty -_081537F8: - adds r5, 0x1 - cmp r5, 0x5 - ble _081537C6 - ldr r1, _0815380C @ =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] -_08153804: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0815380C: .4byte gSpecialVar_Result - thumb_func_end IsDodrioInParty - - thumb_func_start ShowDodrioBerryPickingRecords -ShowDodrioBerryPickingRecords: @ 8153810 - push {r4,lr} - ldr r4, _0815382C @ =sub_8153830 - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0815382C: .4byte sub_8153830 - thumb_func_end ShowDodrioBerryPickingRecords - - thumb_func_start sub_8153830 -sub_8153830: @ 8153830 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08153854 @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0815387C - cmp r0, 0x1 - bgt _08153858 - cmp r0, 0 - beq _08153862 - b _081538CA - .align 2, 0 -_08153854: .4byte gTasks+0x8 -_08153858: - cmp r0, 0x2 - beq _08153888 - cmp r0, 0x3 - beq _081538B0 - b _081538CA -_08153862: - ldr r0, _08153878 @ =sUnknown_84755E0 - bl AddWindow - strh r0, [r4, 0x2] - lsls r0, 24 - lsrs r0, 24 - bl sub_81538D0 - ldrb r0, [r4, 0x2] - movs r1, 0x3 - b _0815389E - .align 2, 0 -_08153878: .4byte sUnknown_84755E0 -_0815387C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081538CA - b _081538A2 -_08153888: - ldr r0, _081538AC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _081538CA - ldrb r0, [r4, 0x2] - bl rbox_fill_rectangle - ldrb r0, [r4, 0x2] - movs r1, 0x1 -_0815389E: - bl CopyWindowToVram -_081538A2: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _081538CA - .align 2, 0 -_081538AC: .4byte gMain -_081538B0: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081538CA - ldrb r0, [r4, 0x2] - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts -_081538CA: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8153830 - - thumb_func_start sub_81538D0 -sub_81538D0: @ 81538D0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x30 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _081539CC @ =gSaveBlock2Ptr - ldr r1, [r0] - ldr r2, _081539D0 @ =0x00000b14 - adds r0, r1, r2 - ldrh r0, [r0] - str r0, [sp, 0xC] - subs r2, 0x4 - adds r0, r1, r2 - ldr r0, [r0] - str r0, [sp, 0x10] - ldr r0, _081539D4 @ =0x00000b16 - adds r1, r0 - ldrh r0, [r1] - str r0, [sp, 0x14] - ldr r4, _081539D8 @ =0x0000021d - adds r0, r7, 0 - adds r1, r4, 0 - movs r2, 0xD0 - bl TextWindow_SetStdFrame0_WithPal - adds r0, r7, 0 - adds r1, r4, 0 - movs r2, 0xD - bl DrawTextBorderOuter - adds r0, r7, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, _081539DC @ =sUnknown_84755E8 - ldr r2, [r0] - movs r0, 0x1 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r7, 0 - movs r1, 0x2 - movs r3, 0x1 - bl AddTextPrinterParameterized - movs r4, 0 - add r2, sp, 0x18 - mov r8, r2 - movs r0, 0xFF - mov r10, r0 - mov r9, r4 - mov r2, sp - adds r2, 0xC - str r2, [sp, 0x2C] -_08153946: - ldr r0, [sp, 0x2C] - ldm r0!, {r1} - str r0, [sp, 0x2C] - ldr r0, _081539E0 @ =sUnknown_84755F8 - adds r0, r4, r0 - ldrb r3, [r0] - mov r0, r8 - movs r2, 0 - bl ConvertIntToDecimalStringN - movs r0, 0x2 - mov r1, r8 - movs r2, 0x1 - negs r2, r2 - bl GetStringWidth - adds r5, r0, 0 - ldr r1, _081539DC @ =sUnknown_84755E8 - adds r6, r4, 0x1 - lsls r0, r6, 2 - adds r0, r1 - ldr r2, [r0] - ldr r0, _081539E4 @ =sUnknown_84755FC - lsls r4, 1 - adds r0, r4, r0 - ldrb r0, [r0] - str r0, [sp] - mov r0, r10 - str r0, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - adds r0, r7, 0 - movs r1, 0x2 - movs r3, 0x1 - bl AddTextPrinterParameterized - movs r3, 0xE0 - subs r3, r5 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _081539E8 @ =sUnknown_8475602 - adds r4, r0 - ldrb r0, [r4] - str r0, [sp] - mov r2, r10 - str r2, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - adds r0, r7, 0 - movs r1, 0x2 - mov r2, r8 - bl AddTextPrinterParameterized - adds r4, r6, 0 - cmp r4, 0x2 - ble _08153946 - adds r0, r7, 0 - bl PutWindowTilemap - add sp, 0x30 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081539CC: .4byte gSaveBlock2Ptr -_081539D0: .4byte 0x00000b14 -_081539D4: .4byte 0x00000b16 -_081539D8: .4byte 0x0000021d -_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 -sub_81539EC: @ 81539EC - push {lr} - bl GetLinkPlayerCount - ldr r1, _08153A00 @ =gUnknown_203F3E0 - ldr r1, [r1] - adds r1, 0x24 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08153A00: .4byte gUnknown_203F3E0 - thumb_func_end sub_81539EC - - thumb_func_start sub_8153A04 -sub_8153A04: @ 8153A04 - push {r4-r7,lr} - ldr r0, _08153A8C @ =gUnknown_203F3E0 - ldr r0, [r0] - adds r0, 0x24 - ldrb r4, [r0] - cmp r4, 0x4 - bhi _08153A32 - ldr r5, _08153A90 @ =sUnknown_8475648 -_08153A14: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - ldr r1, _08153A94 @ =gLinkPlayers + 8 - adds r0, r1 - lsls r1, r4, 2 - adds r1, r5 - ldr r1, [r1] - bl StringCopy - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _08153A14 -_08153A32: - ldr r0, _08153A8C @ =gUnknown_203F3E0 - ldr r1, [r0] - adds r1, 0x24 - movs r2, 0x5 - strb r2, [r1] - movs r1, 0 - mov r12, r0 -_08153A40: - movs r4, 0 - mov r2, r12 - ldr r0, [r2] - adds r0, 0x24 - adds r5, r1, 0x1 - ldrb r0, [r0] - cmp r4, r0 - bcs _08153A7E - ldr r7, _08153A8C @ =gUnknown_203F3E0 - lsls r3, r1, 1 - ldr r6, _08153A98 @ =sUnknown_8475608 -_08153A56: - ldr r2, [r7] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r3, r0 - adds r1, r2, 0 - adds r1, 0x4A - adds r1, r0 - lsls r0, r4, 3 - adds r0, r3, r0 - adds r0, r6 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r2, 0x24 - ldrb r2, [r2] - cmp r4, r2 - bcc _08153A56 -_08153A7E: - lsls r0, r5, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bls _08153A40 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08153A8C: .4byte gUnknown_203F3E0 -_08153A90: .4byte sUnknown_8475648 -_08153A94: .4byte gLinkPlayers + 8 -_08153A98: .4byte sUnknown_8475608 - thumb_func_end sub_8153A04 - - thumb_func_start sub_8153A9C -sub_8153A9C: @ 8153A9C - push {r4,r5,lr} - sub sp, 0x18 - movs r5, 0xC0 - lsls r5, 6 - adds r0, r5, 0 - bl AllocZeroed - adds r4, r0, 0 - ldr r0, _08153AF0 @ =gUnknown_8478D90 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x8] - str r1, [sp, 0xC] - ldr r0, _08153AF4 @ =gUnknown_8478D98 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x10] - str r1, [sp, 0x14] - ldr r0, _08153AF8 @ =sDodrioBerryPkmnGfx - adds r1, r4, 0 - bl LZ77UnCompWram - cmp r4, 0 - beq _08153ADC - str r4, [sp] - str r5, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - adds r0, r4, 0 - bl Free -_08153ADC: - add r0, sp, 0x8 - bl LoadSpritePalette - add r0, sp, 0x10 - bl LoadSpritePalette - add sp, 0x18 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08153AF0: .4byte gUnknown_8478D90 -_08153AF4: .4byte gUnknown_8478D98 -_08153AF8: .4byte sDodrioBerryPkmnGfx - thumb_func_end sub_8153A9C - - thumb_func_start sub_8153AFC -sub_8153AFC: @ 8153AFC - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x30 - adds r6, r1, 0 - mov r8, r2 - adds r5, r3, 0 - lsls r6, 24 - lsrs r6, 24 - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r5, 24 - lsrs r5, 24 - add r1, sp, 0x18 - movs r3, 0 - strh r3, [r1] - ldrb r2, [r0] - mov r0, sp - adds r0, 0x1A - strh r2, [r0] - ldr r0, _08153B88 @ =sOamData_8478C98 - str r0, [sp, 0x1C] - ldr r0, _08153B8C @ =sSpriteAnimTable_8478CE0 - str r0, [sp, 0x20] - str r3, [sp, 0x24] - ldr r0, _08153B90 @ =gDummySpriteAffineAnimTable - str r0, [sp, 0x28] - ldr r0, _08153B94 @ =sub_8153B9C - str r0, [sp, 0x2C] - mov r0, sp - movs r2, 0x18 - bl memcpy - movs r0, 0x4 - bl AllocZeroed - ldr r1, _08153B98 @ =gUnknown_203F3E4 - mov r2, r8 - lsls r4, r2, 2 - adds r4, r1 - str r0, [r4] - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_8154608 - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - mov r0, sp - movs r2, 0x88 - movs r3, 0x3 - bl CreateSprite - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1] - movs r0, 0x1 - mov r1, r8 - bl sub_8153D48 - add sp, 0x30 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08153B88: .4byte sOamData_8478C98 -_08153B8C: .4byte sSpriteAnimTable_8478CE0 -_08153B90: .4byte gDummySpriteAffineAnimTable -_08153B94: .4byte sub_8153B9C -_08153B98: .4byte gUnknown_203F3E4 - thumb_func_end sub_8153AFC - - thumb_func_start sub_8153B9C -sub_8153B9C: @ 8153B9C - push {lr} - movs r2, 0x2E - ldrsh r1, [r0, r2] - cmp r1, 0x1 - beq _08153BB0 - cmp r1, 0x1 - ble _08153BBA - cmp r1, 0x2 - beq _08153BB6 - b _08153BBA -_08153BB0: - bl sub_8153C30 - b _08153BBA -_08153BB6: - bl sub_8153CA0 -_08153BBA: - pop {r0} - bx r0 - thumb_func_end sub_8153B9C - - thumb_func_start sub_8153BC0 -sub_8153BC0: @ 8153BC0 - push {lr} - bl GetMultiplayerId - ldr r1, _08153BF0 @ =gUnknown_203F3E4 - lsls r0, 24 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08153BF4 @ =gSprites - adds r0, r1 - movs r2, 0 - movs r1, 0x1 - strh r1, [r0, 0x2E] - strh r2, [r0, 0x30] - strh r2, [r0, 0x32] - strh r2, [r0, 0x34] - strh r2, [r0, 0x36] - pop {r0} - bx r0 - .align 2, 0 -_08153BF0: .4byte gUnknown_203F3E4 -_08153BF4: .4byte gSprites - thumb_func_end sub_8153BC0 - - thumb_func_start sub_8153BF8 -sub_8153BF8: @ 8153BF8 - push {lr} - bl GetMultiplayerId - ldr r1, _08153C28 @ =gUnknown_203F3E4 - lsls r0, 24 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08153C2C @ =gSprites - adds r0, r1 - movs r2, 0 - movs r1, 0x2 - strh r1, [r0, 0x2E] - strh r2, [r0, 0x30] - strh r2, [r0, 0x32] - strh r2, [r0, 0x34] - strh r2, [r0, 0x36] - pop {r0} - bx r0 - .align 2, 0 -_08153C28: .4byte gUnknown_203F3E4 -_08153C2C: .4byte gSprites - thumb_func_end sub_8153BF8 - - thumb_func_start sub_8153C30 -sub_8153C30: @ 8153C30 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r2, r0, 16 - lsrs r0, 31 - adds r0, r2, r0 - asrs r1, r0, 1 - adds r0, r1, 0 - cmp r1, 0 - bge _08153C4C - adds r0, r1, 0x3 -_08153C4C: - asrs r0, 2 - lsls r0, 2 - subs r0, r1, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r2, 0x2 - ble _08153C96 - cmp r0, 0x2 - bgt _08153C62 - cmp r0, 0x1 - bge _08153C66 -_08153C62: - movs r0, 0x1 - b _08153C68 -_08153C66: - movs r0, 0xFF -_08153C68: - lsls r0, 24 - asrs r0, 24 - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x27 - ble _08153C96 - movs r0, 0 - strh r0, [r4, 0x2E] - bl sub_81533B4 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl sub_8154608 - strh r0, [r4, 0x20] -_08153C96: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8153C30 - - thumb_func_start sub_8153CA0 -sub_8153CA0: @ 8153CA0 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] - lsls r0, 16 - asrs r0, 16 - movs r1, 0xD - bl __divsi3 - lsls r0, 16 - asrs r1, r0, 16 - adds r0, r1, 0 - cmp r1, 0 - bge _08153CC0 - adds r0, r1, 0x3 -_08153CC0: - asrs r0, 2 - lsls r0, 2 - subs r0, r1, r0 - lsls r0, 24 - lsrs r4, r0, 24 - movs r1, 0x30 - ldrsh r0, [r5, r1] - movs r1, 0xD - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _08153CE4 - cmp r4, 0 - beq _08153CE4 - movs r0, 0xCD - bl PlaySE -_08153CE4: - movs r1, 0x30 - ldrsh r0, [r5, r1] - cmp r0, 0x67 - ble _08153CF2 - movs r0, 0 - strh r0, [r5, 0x2E] - movs r4, 0 -_08153CF2: - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - bl sub_8153DA8 - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8153CA0 - - thumb_func_start sub_8153D08 -sub_8153D08: @ 8153D08 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _08153D3A - ldr r6, _08153D40 @ =gUnknown_203F3E4 -_08153D16: - lsls r0, r4, 2 - adds r0, r6 - ldr r0, [r0] - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08153D44 @ =gSprites - adds r0, r1 - cmp r0, 0 - beq _08153D30 - bl DestroySpriteAndFreeResources -_08153D30: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08153D16 -_08153D3A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08153D40: .4byte gUnknown_203F3E4 -_08153D44: .4byte gSprites - thumb_func_end sub_8153D08 - - thumb_func_start sub_8153D48 -sub_8153D48: @ 8153D48 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r3, _08153D78 @ =gSprites - ldr r2, _08153D7C @ =gUnknown_203F3E4 - lsrs r1, 22 - adds r1, r2 - ldr r1, [r1] - ldrh r1, [r1] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r3 - adds r2, 0x3E - movs r1, 0x1 - ands r0, r1 - lsls r0, 2 - ldrb r3, [r2] - movs r1, 0x5 - negs r1, r1 - ands r1, r3 - orrs r1, r0 - strb r1, [r2] - bx lr - .align 2, 0 -_08153D78: .4byte gSprites -_08153D7C: .4byte gUnknown_203F3E4 - thumb_func_end sub_8153D48 - - thumb_func_start sub_8153D80 -sub_8153D80: @ 8153D80 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - movs r4, 0 - cmp r4, r5 - bcs _08153DA2 -_08153D90: - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_8153D48 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08153D90 -_08153DA2: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8153D80 - - thumb_func_start sub_8153DA8 -sub_8153DA8: @ 8153DA8 - push {lr} - lsls r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _08153DCC @ =gUnknown_203F3E4 - lsrs r0, 22 - adds r0, r2 - ldr r0, [r0] - ldrh r2, [r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - ldr r2, _08153DD0 @ =gSprites - adds r0, r2 - bl StartSpriteAnim - pop {r0} - bx r0 - .align 2, 0 -_08153DCC: .4byte gUnknown_203F3E4 -_08153DD0: .4byte gSprites - thumb_func_end sub_8153DA8 - - thumb_func_start nullsub_97 -nullsub_97: @ 8153DD4 - bx lr - thumb_func_end nullsub_97 - - thumb_func_start sub_8153DD8 -sub_8153DD8: @ 8153DD8 - push {r4-r7,lr} - movs r4, 0 - ldr r0, _08153E20 @ =gSprites - mov r12, r0 - movs r6, 0 - ldr r5, _08153E24 @ =gUnknown_203F43C -_08153DE4: - ldr r3, [r5] - lsls r1, r4, 1 - adds r0, r3, 0 - adds r0, 0x2A - adds r0, r1 - ldrh r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r12 - lsls r0, r4, 4 - adds r0, 0x30 - strh r0, [r1, 0x20] - lsls r2, r4, 3 - movs r7, 0x8 - negs r7, r7 - adds r0, r7, 0 - subs r0, r2 - strh r0, [r1, 0x22] - adds r3, 0xC - adds r3, r4 - strb r6, [r3] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _08153DE4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08153E20: .4byte gSprites -_08153E24: .4byte gUnknown_203F43C - thumb_func_end sub_8153DD8 - - thumb_func_start sub_8153E28 -sub_8153E28: @ 8153E28 - push {r4-r6,lr} - sub sp, 0x28 - movs r4, 0xC0 - lsls r4, 1 - adds r0, r4, 0 - bl AllocZeroed - adds r6, r0, 0 - ldr r0, _08153EC8 @ =gUnknown_8478DA0 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x20] - str r1, [sp, 0x24] - ldr r0, _08153ECC @ =sDodrioBerryStatusGfx - adds r1, r6, 0 - bl LZ77UnCompWram - cmp r6, 0 - beq _08153EB8 - str r6, [sp, 0x18] - add r5, sp, 0x18 - movs r0, 0x80 - lsls r0, 9 - orrs r0, r4 - str r0, [r5, 0x4] - mov r1, sp - ldr r0, _08153ED0 @ =gUnknown_8478DA8 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldr r4, _08153ED4 @ =gUnknown_203F43C - movs r0, 0x40 - bl AllocZeroed - str r0, [r4] - adds r0, r5, 0 - bl LoadSpriteSheet - add r0, sp, 0x20 - bl LoadSpritePalette - movs r4, 0 -_08153E7E: - lsls r1, r4, 20 - movs r0, 0xC0 - lsls r0, 14 - adds r1, r0 - asrs r1, 16 - lsls r0, r4, 3 - movs r3, 0x8 - negs r3, r3 - adds r2, r3, 0 - subs r2, r0 - lsls r2, 16 - asrs r2, 16 - mov r0, sp - movs r3, 0 - bl CreateSprite - ldr r1, _08153ED4 @ =gUnknown_203F43C - ldr r1, [r1] - lsls r2, r4, 1 - adds r1, 0x2A - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _08153E7E -_08153EB8: - adds r0, r6, 0 - bl Free - add sp, 0x28 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08153EC8: .4byte gUnknown_8478DA0 -_08153ECC: .4byte sDodrioBerryStatusGfx -_08153ED0: .4byte gUnknown_8478DA8 -_08153ED4: .4byte gUnknown_203F43C - thumb_func_end sub_8153E28 - - thumb_func_start sub_8153ED8 -sub_8153ED8: @ 8153ED8 - push {r4,r5,lr} - movs r4, 0 -_08153EDC: - ldr r5, _08153F14 @ =gUnknown_203F43C - ldr r0, [r5] - lsls r1, r4, 1 - adds r0, 0x2A - adds r0, r1 - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08153F18 @ =gSprites - adds r0, r1 - cmp r0, 0 - beq _08153EFA - bl DestroySpriteAndFreeResources -_08153EFA: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _08153EDC - ldr r0, [r5] - bl Free - movs r0, 0 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08153F14: .4byte gUnknown_203F43C -_08153F18: .4byte gSprites - thumb_func_end sub_8153ED8 - - thumb_func_start sub_8153F1C -sub_8153F1C: @ 8153F1C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - movs r3, 0 - movs r6, 0 - ldr r0, _08153FAC @ =gUnknown_203F43C - mov r9, r0 -_08153F2E: - mov r7, r9 - ldr r2, [r7] - lsls r5, r6, 1 - adds r0, r2, 0 - adds r0, 0x2A - adds r0, r5 - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08153FB0 @ =gSprites - adds r4, r0, r1 - adds r0, r2, 0 - adds r0, 0x16 - adds r0, r5 - movs r1, 0x2 - strh r1, [r0] - adds r0, r2, 0 - adds r0, 0xC - adds r2, r0, r6 - ldrb r1, [r2] - cmp r1, 0 - beq _08153F64 - movs r7, 0x22 - ldrsh r0, [r4, r7] - cmp r0, 0x8 - beq _08153F9A -_08153F64: - movs r3, 0x1 - movs r7, 0x22 - ldrsh r0, [r4, r7] - cmp r0, 0x8 - bne _08153F8A - cmp r1, 0 - bne _08153F9A - strb r3, [r2] - mov r1, r9 - ldr r0, [r1] - adds r0, 0x16 - adds r0, r5 - ldr r1, _08153FB4 @ =0x0000fff0 - strh r1, [r0] - movs r0, 0x1E - str r3, [sp] - bl PlaySE - ldr r3, [sp] -_08153F8A: - mov r7, r9 - ldr r0, [r7] - adds r0, 0x16 - adds r0, r5 - ldrh r0, [r0] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] -_08153F9A: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x9 - bls _08153F2E - cmp r3, 0 - bne _08153FB8 - movs r0, 0x1 - b _08153FBA - .align 2, 0 -_08153FAC: .4byte gUnknown_203F43C -_08153FB0: .4byte gSprites -_08153FB4: .4byte 0x0000fff0 -_08153FB8: - movs r0, 0 -_08153FBA: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8153F1C - - thumb_func_start sub_8153FC8 -sub_8153FC8: @ 8153FC8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xA - bls _08154004 - movs r4, 0 -_08153FD4: - ldr r0, _08153FFC @ =gUnknown_203F43C - ldr r0, [r0] - lsls r1, r4, 1 - adds r0, 0x2A - adds r0, r1 - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08154000 @ =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _08153FD4 - b _081540CE - .align 2, 0 -_08153FFC: .4byte gUnknown_203F43C -_08154000: .4byte gSprites -_08154004: - movs r4, 0 - movs r0, 0xA - subs r0, r5 - cmp r4, r0 - bge _081540CA - ldr r6, _08154034 @ =gSprites -_08154010: - cmp r5, 0x6 - bls _08154078 - ldr r0, _08154038 @ =gUnknown_203F43C - ldr r2, [r0] - ldr r1, _0815403C @ =0x0000fffa - adds r0, r1, 0 - ldrh r1, [r2, 0x3E] - adds r0, r1 - adds r0, r5 - movs r1, 0 - strh r0, [r2, 0x3E] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1E - bls _08154040 - strh r1, [r2, 0x3E] - b _08154092 - .align 2, 0 -_08154034: .4byte gSprites -_08154038: .4byte gUnknown_203F43C -_0815403C: .4byte 0x0000fffa -_08154040: - cmp r0, 0xA - bls _0815405E - lsls r1, r4, 1 - adds r0, r2, 0 - adds r0, 0x2A - adds r0, r1 - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x2 - bl StartSpriteAnim - b _08154092 -_0815405E: - lsls r1, r4, 1 - adds r0, r2, 0 - adds r0, 0x2A - adds r0, r1 - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0 - bl StartSpriteAnim - b _08154092 -_08154078: - ldr r0, _081540A4 @ =gUnknown_203F43C - ldr r0, [r0] - lsls r1, r4, 1 - adds r0, 0x2A - adds r0, r1 - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0 - bl StartSpriteAnim -_08154092: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0xA - subs r0, r5 - cmp r4, r0 - blt _08154010 - b _081540CA - .align 2, 0 -_081540A4: .4byte gUnknown_203F43C -_081540A8: - ldr r0, _081540D4 @ =gUnknown_203F43C - ldr r0, [r0] - lsls r1, r4, 1 - adds r0, 0x2A - adds r0, r1 - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _081540D8 @ =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_081540CA: - cmp r4, 0x9 - bls _081540A8 -_081540CE: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081540D4: .4byte gUnknown_203F43C -_081540D8: .4byte gSprites - thumb_func_end sub_8153FC8 - - thumb_func_start sub_81540DC -sub_81540DC: @ 81540DC - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - movs r3, 0 - ldr r7, _08154120 @ =gSprites - movs r1, 0x1 - ands r0, r1 - lsls r4, r0, 2 - movs r6, 0x5 - negs r6, r6 - ldr r5, _08154124 @ =gUnknown_203F43C -_081540F2: - ldr r0, [r5] - lsls r1, r3, 1 - adds r0, 0x2A - adds r0, r1 - ldrh r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r6, 0 - ands r0, r2 - orrs r0, r4 - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x9 - bls _081540F2 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08154120: .4byte gSprites -_08154124: .4byte gUnknown_203F43C - thumb_func_end sub_81540DC - - thumb_func_start sub_8154128 -sub_8154128: @ 8154128 - push {r4,r5,lr} - sub sp, 0x10 - movs r5, 0x90 - lsls r5, 3 - adds r0, r5, 0 - bl AllocZeroed - adds r4, r0, 0 - ldr r0, _08154174 @ =gUnknown_8478DCC - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x8] - str r1, [sp, 0xC] - ldr r0, _08154178 @ =sDodrioBerrySpritesGfx - adds r1, r4, 0 - bl LZ77UnCompWram - cmp r4, 0 - beq _0815415E - str r4, [sp] - movs r0, 0x80 - lsls r0, 10 - orrs r0, r5 - str r0, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet -_0815415E: - add r0, sp, 0x8 - bl LoadSpritePalette - adds r0, r4, 0 - bl Free - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08154174: .4byte gUnknown_8478DCC -_08154178: .4byte sDodrioBerrySpritesGfx - thumb_func_end sub_8154128 - - thumb_func_start sub_815417C -sub_815417C: @ 815417C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x30 - mov r1, sp - ldr r0, _0815420C @ =gUnknown_8478DDC - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - add r2, sp, 0x18 - adds r1, r2, 0 - ldr r0, _08154210 @ =gUnknown_8478DF4 - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - movs r5, 0 - mov r9, r2 -_081541A4: - movs r0, 0x4 - bl AllocZeroed - ldr r1, _08154214 @ =gUnknown_203F400 - lsls r4, r5, 2 - adds r4, r1 - str r0, [r4] - lsls r0, r5, 3 - lsls r1, r5, 4 - adds r1, r0 - mov r0, sp - movs r2, 0x8 - movs r3, 0x1 - bl CreateSprite - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1] - adds r0, r5, 0 - movs r1, 0x1 - bl sub_81542EC - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xA - bls _081541A4 - movs r5, 0 - ldr r7, _08154218 @ =gUnknown_203F42C - ldr r4, _0815421C @ =sUnknown_8478DD4 - mov r8, r4 -_081541E4: - movs r0, 0x4 - bl AllocZeroed - lsls r1, r5, 2 - adds r4, r1, r7 - str r0, [r4] - adds r6, r1, 0 - cmp r5, 0x3 - bne _08154220 - mov r0, r8 - movs r2, 0x6 - ldrsh r1, [r0, r2] - mov r0, r9 - movs r2, 0x39 - movs r3, 0 - bl CreateSprite - ldr r1, [r7, 0xC] - b _08154234 - .align 2, 0 -_0815420C: .4byte gUnknown_8478DDC -_08154210: .4byte gUnknown_8478DF4 -_08154214: .4byte gUnknown_203F400 -_08154218: .4byte gUnknown_203F42C -_0815421C: .4byte sUnknown_8478DD4 -_08154220: - lsls r0, r5, 1 - add r0, r8 - movs r3, 0 - ldrsh r1, [r0, r3] - mov r0, r9 - movs r2, 0x3C - movs r3, 0 - bl CreateSprite - ldr r1, [r4] -_08154234: - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1] - adds r0, r6, r7 - ldr r0, [r0] - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08154270 @ =gSprites - adds r0, r1 - adds r1, r5, 0 - bl StartSpriteAnim - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _081541E4 - movs r0, 0x1 - bl sub_8154324 - add sp, 0x30 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08154270: .4byte gSprites - thumb_func_end sub_815417C - - thumb_func_start sub_8154274 -sub_8154274: @ 8154274 - push {r4-r6,lr} - movs r5, 0 - ldr r6, _081542E0 @ =gUnknown_203F400 -_0815427A: - lsls r0, r5, 2 - adds r4, r0, r6 - ldr r0, [r4] - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _081542E4 @ =gSprites - adds r0, r1 - cmp r0, 0 - beq _08154294 - bl DestroySprite -_08154294: - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xA - bls _0815427A - movs r5, 0 - ldr r6, _081542E8 @ =gUnknown_203F42C -_081542AC: - lsls r0, r5, 2 - adds r4, r0, r6 - ldr r0, [r4] - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _081542E4 @ =gSprites - adds r0, r1 - cmp r0, 0 - beq _081542C6 - bl DestroySprite -_081542C6: - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _081542AC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081542E0: .4byte gUnknown_203F400 -_081542E4: .4byte gSprites -_081542E8: .4byte gUnknown_203F42C - thumb_func_end sub_8154274 - - thumb_func_start sub_81542EC -sub_81542EC: @ 81542EC - lsls r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _0815431C @ =gSprites - ldr r2, _08154320 @ =gUnknown_203F400 - lsrs r0, 22 - adds r0, r2 - ldr r0, [r0] - ldrh r0, [r0] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - adds r2, 0x3E - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - bx lr - .align 2, 0 -_0815431C: .4byte gSprites -_08154320: .4byte gUnknown_203F400 - thumb_func_end sub_81542EC - - thumb_func_start sub_8154324 -sub_8154324: @ 8154324 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - movs r3, 0 - ldr r7, _08154368 @ =gSprites - ldr r6, _0815436C @ =gUnknown_203F42C - movs r1, 0x1 - ands r0, r1 - lsls r4, r0, 2 - movs r5, 0x5 - negs r5, r5 -_0815433A: - lsls r0, r3, 2 - adds r0, r6 - ldr r0, [r0] - ldrh r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r5, 0 - ands r0, r2 - orrs r0, r4 - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - bls _0815433A - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08154368: .4byte gSprites -_0815436C: .4byte gUnknown_203F42C - thumb_func_end sub_8154324 - - thumb_func_start sub_8154370 -sub_8154370: @ 8154370 - lsls r0, 24 - lsls r1, 24 - ldr r3, _08154390 @ =gSprites - ldr r2, _08154394 @ =gUnknown_203F400 - lsrs r0, 22 - adds r0, r2 - ldr r0, [r0] - ldrh r2, [r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - lsrs r1, 21 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_08154390: .4byte gSprites -_08154394: .4byte gUnknown_203F400 - thumb_func_end sub_8154370 - - thumb_func_start sub_8154398 -sub_8154398: @ 8154398 - push {lr} - lsls r0, 16 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _081543BC @ =gUnknown_203F400 - lsrs r0, 14 - adds r0, r2 - ldr r0, [r0] - ldrh r2, [r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - ldr r2, _081543C0 @ =gSprites - adds r0, r2 - bl StartSpriteAnim - pop {r0} - bx r0 - .align 2, 0 -_081543BC: .4byte gUnknown_203F400 -_081543C0: .4byte gSprites - thumb_func_end sub_8154398 - - thumb_func_start sub_81543C4 -sub_81543C4: @ 81543C4 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _081543E4 @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, 0x32 - strh r1, [r2, 0x20] - movs r0, 0x32 - strh r0, [r2, 0x22] - bx lr - .align 2, 0 -_081543E4: .4byte gSprites - thumb_func_end sub_81543C4 - - thumb_func_start sub_81543E8 -sub_81543E8: @ 81543E8 - push {r4-r7,lr} - adds r4, r0, 0 - adds r0, 0x42 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - beq _0815442A - movs r3, 0 - ldr r7, _08154430 @ =gUnknown_8478E0C - ldr r6, _08154434 @ =gUnknown_203F3F8 - movs r5, 0 -_081543FE: - lsls r0, r3, 2 - adds r2, r0, r6 - ldr r1, [r2] - ldrh r0, [r1, 0x2] - adds r0, 0x1 - strh r0, [r1, 0x2] - adds r1, r3, r7 - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1] - cmp r0, r1 - bls _08154420 - ldrh r0, [r4, 0x20] - subs r0, 0x1 - strh r0, [r4, 0x20] - ldr r0, [r2] - strh r5, [r0, 0x2] -_08154420: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1 - bls _081543FE -_0815442A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08154430: .4byte gUnknown_8478E0C -_08154434: .4byte gUnknown_203F3F8 - thumb_func_end sub_81543E8 - - thumb_func_start sub_8154438 -sub_8154438: @ 8154438 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x28 - movs r4, 0x80 - lsls r4, 3 - adds r0, r4, 0 - bl AllocZeroed - adds r6, r0, 0 - ldr r0, _081544DC @ =gUnknown_8478E18 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x20] - str r1, [sp, 0x24] - ldr r0, _081544E0 @ =sDodrioBerryPlatformGfx - adds r1, r6, 0 - bl LZ77UnCompWram - cmp r6, 0 - beq _081544C6 - str r6, [sp, 0x18] - add r0, sp, 0x18 - movs r1, 0xA0 - lsls r1, 11 - orrs r1, r4 - str r1, [r0, 0x4] - mov r2, sp - ldr r1, _081544E4 @ =gUnknown_8478E20 - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - bl LoadSpriteSheet - add r0, sp, 0x20 - bl LoadSpritePalette - movs r5, 0 - ldr r7, _081544E8 @ =gUnknown_8478E0E - adds r0, r7, 0x2 - mov r9, r0 - ldr r1, _081544EC @ =gUnknown_203F3F8 - mov r8, r1 -_08154492: - movs r0, 0x4 - bl AllocZeroed - lsls r2, r5, 2 - mov r3, r8 - adds r4, r2, r3 - str r0, [r4] - adds r0, r2, r7 - movs r3, 0 - ldrsh r1, [r0, r3] - add r2, r9 - movs r0, 0 - ldrsh r2, [r2, r0] - mov r0, sp - movs r3, 0x4 - bl CreateSprite - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bls _08154492 -_081544C6: - adds r0, r6, 0 - bl Free - add sp, 0x28 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081544DC: .4byte gUnknown_8478E18 -_081544E0: .4byte sDodrioBerryPlatformGfx -_081544E4: .4byte gUnknown_8478E20 -_081544E8: .4byte gUnknown_8478E0E -_081544EC: .4byte gUnknown_203F3F8 - thumb_func_end sub_8154438 - - thumb_func_start sub_81544F0 -sub_81544F0: @ 81544F0 - push {r4-r7,lr} - movs r3, 0 - ldr r0, _08154534 @ =gUnknown_203F3F8 - mov r12, r0 - ldr r4, _08154538 @ =gUnknown_8478E0E - adds r7, r4, 0x2 - ldr r6, _0815453C @ =gSprites - movs r5, 0x1 -_08154500: - lsls r2, r3, 2 - mov r1, r12 - adds r0, r2, r1 - ldr r0, [r0] - ldrh r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - adds r0, r1, 0 - adds r0, 0x42 - strh r5, [r0] - adds r0, r2, r4 - ldrh r0, [r0] - strh r0, [r1, 0x20] - adds r2, r7 - ldrh r0, [r2] - strh r0, [r1, 0x22] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1 - bls _08154500 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08154534: .4byte gUnknown_203F3F8 -_08154538: .4byte gUnknown_8478E0E -_0815453C: .4byte gSprites - thumb_func_end sub_81544F0 - - thumb_func_start sub_8154540 -sub_8154540: @ 8154540 - push {r4,r5,lr} - movs r2, 0 - ldr r5, _08154570 @ =gUnknown_203F3F8 - ldr r4, _08154574 @ =gSprites - movs r3, 0 -_0815454A: - lsls r0, r2, 2 - adds r0, r5 - ldr r0, [r0] - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x42 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1 - bls _0815454A - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08154570: .4byte gUnknown_203F3F8 -_08154574: .4byte gSprites - thumb_func_end sub_8154540 - - thumb_func_start sub_8154578 -sub_8154578: @ 8154578 - push {r4-r6,lr} - movs r5, 0 - ldr r6, _081545B4 @ =gUnknown_203F3F8 -_0815457E: - lsls r0, r5, 2 - adds r4, r0, r6 - ldr r0, [r4] - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _081545B8 @ =gSprites - adds r0, r1 - cmp r0, 0 - beq _08154598 - bl DestroySprite -_08154598: - ldr r0, [r4] - bl Free - movs r0, 0 - str r0, [r4] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bls _0815457E - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081545B4: .4byte gUnknown_203F3F8 -_081545B8: .4byte gSprites - thumb_func_end sub_8154578 - - thumb_func_start sub_81545BC -sub_81545BC: @ 81545BC - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - movs r3, 0 - ldr r7, _08154600 @ =gSprites - ldr r6, _08154604 @ =gUnknown_203F3F8 - movs r1, 0x1 - ands r0, r1 - lsls r4, r0, 2 - movs r5, 0x5 - negs r5, r5 -_081545D2: - lsls r0, r3, 2 - adds r0, r6 - ldr r0, [r0] - ldrh r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r5, 0 - ands r0, r2 - orrs r0, r4 - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1 - bls _081545D2 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08154600: .4byte gSprites -_08154604: .4byte gUnknown_203F3F8 - thumb_func_end sub_81545BC - - thumb_func_start sub_8154608 -sub_8154608: @ 8154608 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r1, 24 - movs r3, 0 - subs r0, r1, 0x1 - cmp r0, 0x4 - bhi _081546BA - lsls r0, 2 - ldr r1, _08154624 @ =_08154628 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08154624: .4byte _08154628 - .align 2, 0 -_08154628: - .4byte _081546A8 - .4byte _0815463C - .4byte _08154646 - .4byte _0815465A - .4byte _08154682 -_0815463C: - cmp r2, 0 - beq _08154672 - cmp r2, 0x1 - bne _081546BA - b _08154676 -_08154646: - cmp r2, 0x1 - beq _081546AC - cmp r2, 0x1 - bgt _08154654 - cmp r2, 0 - beq _081546A8 - b _081546BA -_08154654: - cmp r2, 0x2 - bne _081546BA - b _081546B8 -_0815465A: - cmp r2, 0x1 - beq _08154676 - cmp r2, 0x1 - bgt _08154668 - cmp r2, 0 - beq _08154672 - b _081546BA -_08154668: - cmp r2, 0x2 - beq _0815467A - cmp r2, 0x3 - beq _0815467E - b _081546BA -_08154672: - movs r3, 0xC - b _081546BA -_08154676: - movs r3, 0x12 - b _081546BA -_0815467A: - movs r3, 0x18 - b _081546BA -_0815467E: - movs r3, 0x6 - b _081546BA -_08154682: - cmp r2, 0x4 - bhi _081546BA - lsls r0, r2, 2 - ldr r1, _08154690 @ =_08154694 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08154690: .4byte _08154694 - .align 2, 0 -_08154694: - .4byte _081546A8 - .4byte _081546AC - .4byte _081546B0 - .4byte _081546B4 - .4byte _081546B8 -_081546A8: - movs r3, 0xF - b _081546BA -_081546AC: - movs r3, 0x15 - b _081546BA -_081546B0: - movs r3, 0x1B - b _081546BA -_081546B4: - movs r3, 0x3 - b _081546BA -_081546B8: - movs r3, 0x9 -_081546BA: - lsls r0, r3, 3 - pop {r1} - bx r1 - thumb_func_end sub_8154608 - - thumb_func_start sub_81546C0 -sub_81546C0: @ 81546C0 - push {r4,lr} - movs r4, 0 -_081546C4: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81542EC - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8154370 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xA - bls _081546C4 - movs r0, 0 - bl sub_81540DC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81546C0 - - thumb_func_start sub_81546EC -sub_81546EC: @ 81546EC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl GetUserFrameGraphicsInfo - ldr r1, [r0] - movs r2, 0x90 - lsls r2, 1 - movs r0, 0 - movs r3, 0x1 - bl LoadBgTiles - adds r0, r4, 0 - bl GetUserFrameGraphicsInfo - ldr r0, [r0, 0x4] - movs r1, 0xA0 - movs r2, 0x20 - bl LoadPalette - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81546EC - - thumb_func_start sub_8154720 -sub_8154720: @ 8154720 - push {lr} - movs r0, 0 - movs r1, 0xA - movs r2, 0xB0 - bl TextWindow_SetStdFrame0_WithPal - pop {r0} - bx r0 - thumb_func_end sub_8154720 - - thumb_func_start sub_8154730 -sub_8154730: @ 8154730 - ldr r3, _08154760 @ =gUnknown_203F440 - ldr r0, [r3] - movs r2, 0xC0 - lsls r2, 6 - adds r1, r0, r2 - movs r2, 0 - str r2, [r1] - ldr r1, _08154764 @ =0x00003014 - adds r0, r1 - strb r2, [r0] - ldr r0, [r3] - adds r1, 0x4 - adds r0, r1 - strb r2, [r0] - ldr r0, [r3] - adds r1, 0x8 - adds r0, r1 - strb r2, [r0] - ldr r0, [r3] - adds r1, 0x4 - adds r0, r1 - strb r2, [r0] - bx lr - .align 2, 0 -_08154760: .4byte gUnknown_203F440 -_08154764: .4byte 0x00003014 - thumb_func_end sub_8154730 - - thumb_func_start sub_8154768 -sub_8154768: @ 8154768 - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r6, 0xA - ldrb r2, [r4, 0x1] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4, 0x2] - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - movs r5, 0x1 - str r5, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0x1 - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x1] - ldrb r3, [r4, 0x2] - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - ldrb r0, [r4, 0x3] - str r0, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0x2 - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x3] - ldrb r0, [r4, 0x1] - adds r2, r0 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4, 0x2] - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - str r5, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0x3 - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x1] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4, 0x2] - str r5, [sp] - ldrb r0, [r4, 0x4] - str r0, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0x4 - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x3] - ldrb r0, [r4, 0x1] - adds r2, r0 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4, 0x2] - str r5, [sp] - ldrb r0, [r4, 0x4] - str r0, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0x6 - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x1] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4, 0x4] - ldrb r0, [r4, 0x2] - adds r3, r0 - lsls r3, 24 - lsrs r3, 24 - str r5, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0x7 - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x1] - ldrb r3, [r4, 0x4] - ldrb r0, [r4, 0x2] - adds r3, r0 - lsls r3, 24 - lsrs r3, 24 - ldrb r0, [r4, 0x3] - str r0, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0x8 - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x3] - ldrb r0, [r4, 0x1] - adds r2, r0 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4, 0x4] - ldrb r4, [r4, 0x2] - adds r3, r4 - lsls r3, 24 - lsrs r3, 24 - str r5, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0x9 - bl FillBgTilemapBufferRect - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8154768 - - thumb_func_start sub_8154868 -sub_8154868: @ 8154868 - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r6, 0xB - ldrb r2, [r4, 0x1] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4, 0x2] - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - movs r5, 0x1 - str r5, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0xA - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x1] - ldrb r3, [r4, 0x2] - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - ldrb r0, [r4, 0x3] - str r0, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0xB - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x3] - ldrb r0, [r4, 0x1] - adds r2, r0 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4, 0x2] - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - str r5, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0xC - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x1] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4, 0x2] - str r5, [sp] - ldrb r0, [r4, 0x4] - str r0, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0xD - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x3] - ldrb r0, [r4, 0x1] - adds r2, r0 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4, 0x2] - str r5, [sp] - ldrb r0, [r4, 0x4] - str r0, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0xF - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x1] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4, 0x4] - ldrb r0, [r4, 0x2] - adds r3, r0 - lsls r3, 24 - lsrs r3, 24 - str r5, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0x10 - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x1] - ldrb r3, [r4, 0x4] - ldrb r0, [r4, 0x2] - adds r3, r0 - lsls r3, 24 - lsrs r3, 24 - ldrb r0, [r4, 0x3] - str r0, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0x11 - bl FillBgTilemapBufferRect - ldrb r2, [r4, 0x3] - ldrb r0, [r4, 0x1] - adds r2, r0 - lsls r2, 24 - lsrs r2, 24 - ldrb r3, [r4, 0x4] - ldrb r4, [r4, 0x2] - adds r3, r4 - lsls r3, 24 - lsrs r3, 24 - str r5, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0 - movs r1, 0x12 - bl FillBgTilemapBufferRect - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8154868 - - thumb_func_start sub_8154968 -sub_8154968: @ 8154968 - push {r4,lr} - ldr r4, _081549B0 @ =gUnknown_203F440 - str r0, [r4] - movs r2, 0xC0 - lsls r2, 6 - adds r1, r0, r2 - movs r2, 0 - str r2, [r1] - ldr r3, _081549B4 @ =0x00003014 - adds r1, r0, r3 - strb r2, [r1] - ldr r1, _081549B8 @ =0x00003018 - adds r0, r1 - strb r2, [r0] - ldr r0, [r4] - adds r3, 0xC - adds r0, r3 - strb r2, [r0] - ldr r0, [r4] - adds r1, 0xC - adds r0, r1 - strb r2, [r0] - ldr r0, _081549BC @ =sub_8154A08 - movs r1, 0x3 - bl CreateTask - ldr r1, [r4] - ldr r2, _081549C0 @ =0x00003004 - adds r1, r2 - strb r0, [r1] - ldr r0, _081549C4 @ =sub_8154A2C - bl sub_8155E24 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081549B0: .4byte gUnknown_203F440 -_081549B4: .4byte 0x00003014 -_081549B8: .4byte 0x00003018 -_081549BC: .4byte sub_8154A08 -_081549C0: .4byte 0x00003004 -_081549C4: .4byte sub_8154A2C - thumb_func_end sub_8154968 - - thumb_func_start sub_81549C8 -sub_81549C8: @ 81549C8 - push {lr} - bl FreeAllWindowBuffers - pop {r0} - bx r0 - thumb_func_end sub_81549C8 - - thumb_func_start sub_81549D4 -sub_81549D4: @ 81549D4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - ldr r5, _08154A04 @ =gUnknown_8478EC4 - adds r7, r5, 0x4 -_081549E0: - lsls r1, r4, 3 - adds r0, r1, r5 - ldrb r0, [r0] - cmp r0, r6 - bne _081549F2 - adds r0, r1, r7 - ldr r0, [r0] - bl sub_8155E24 -_081549F2: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _081549E0 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08154A04: .4byte gUnknown_8478EC4 - thumb_func_end sub_81549D4 - - thumb_func_start sub_8154A08 -sub_8154A08: @ 8154A08 - push {lr} - ldr r0, _08154A28 @ =gUnknown_203F440 - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 6 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - bne _08154A22 - bl sub_8155E54 - bl _call_via_r0 -_08154A22: - pop {r0} - bx r0 - .align 2, 0 -_08154A28: .4byte gUnknown_203F440 - thumb_func_end sub_8154A08 - - thumb_func_start sub_8154A2C -sub_8154A2C: @ 8154A2C - push {lr} - ldr r0, _08154A48 @ =gUnknown_203F440 - ldr r1, [r0] - ldr r2, _08154A4C @ =0x00003014 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x4 - bhi _08154B24 - lsls r0, 2 - ldr r1, _08154A50 @ =_08154A54 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08154A48: .4byte gUnknown_203F440 -_08154A4C: .4byte 0x00003014 -_08154A50: .4byte _08154A54 - .align 2, 0 -_08154A54: - .4byte _08154A68 - .4byte _08154A6E - .4byte _08154A88 - .4byte _08154ACC - .4byte _08154AF8 -_08154A68: - bl sub_8155EA0 - b _08154B08 -_08154A6E: - bl sub_8155FE0 - cmp r0, 0x1 - bne _08154B2E - ldr r0, _08154A80 @ =gUnknown_203F440 - ldr r1, [r0] - ldr r2, _08154A84 @ =0x00003014 - adds r1, r2 - b _08154B10 - .align 2, 0 -_08154A80: .4byte gUnknown_203F440 -_08154A84: .4byte 0x00003014 -_08154A88: - ldr r1, _08154AC0 @ =sDodrioBerryBgTilemap1 - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - ldr r1, _08154AC4 @ =sDodrioBerryBgTilemap2Left - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - ldr r1, _08154AC8 @ =sDodrioBerryBgTilemap2Right - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - b _08154B08 - .align 2, 0 -_08154AC0: .4byte sDodrioBerryBgTilemap1 -_08154AC4: .4byte sDodrioBerryBgTilemap2Left -_08154AC8: .4byte sDodrioBerryBgTilemap2Right -_08154ACC: - movs r0, 0 - bl ShowBg - movs r0, 0x3 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - ldr r0, _08154AF0 @ =gUnknown_203F440 - ldr r1, [r0] - ldr r2, _08154AF4 @ =0x00003014 - adds r1, r2 - b _08154B10 - .align 2, 0 -_08154AF0: .4byte gUnknown_203F440 -_08154AF4: .4byte 0x00003014 -_08154AF8: - ldr r0, _08154B18 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x14] - lsrs r0, 3 - bl sub_81546EC - bl sub_8154720 -_08154B08: - ldr r0, _08154B1C @ =gUnknown_203F440 - ldr r1, [r0] - ldr r0, _08154B20 @ =0x00003014 - adds r1, r0 -_08154B10: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08154B2E - .align 2, 0 -_08154B18: .4byte gSaveBlock2Ptr -_08154B1C: .4byte gUnknown_203F440 -_08154B20: .4byte 0x00003014 -_08154B24: - movs r2, 0xC0 - lsls r2, 6 - adds r1, r2 - movs r0, 0x1 - str r0, [r1] -_08154B2E: - pop {r0} - bx r0 - thumb_func_end sub_8154A2C - - thumb_func_start sub_8154B34 -sub_8154B34: @ 8154B34 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - ldr r4, _08154B74 @ =gUnknown_203F440 - ldr r0, [r4] - ldr r2, _08154B78 @ =0x00003014 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _08154B7C - cmp r0, 0x1 - bne _08154B54 - b _08154CE0 -_08154B54: - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xB4 - bhi _08154B62 - b _08154D82 -_08154B62: - bl sub_81533B4 - lsls r0, 24 - lsrs r7, r0, 24 - movs r6, 0 - cmp r6, r7 - bcc _08154B72 - b _08154D5A -_08154B72: - b _08154D34 - .align 2, 0 -_08154B74: .4byte gUnknown_203F440 -_08154B78: .4byte 0x00003014 -_08154B7C: - bl sub_81533B4 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _08154CB8 @ =sUnknown_8478E80 - subs r0, r7, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r5, [r0] - ldr r2, _08154CBC @ =0xffffff00 - ldr r0, [sp, 0xC] - ands r0, r2 - ldr r1, _08154CC0 @ =0x00ffffff - ands r0, r1 - movs r1, 0xE0 - lsls r1, 19 - orrs r0, r1 - str r0, [sp, 0xC] - ldr r0, [sp, 0x10] - ands r0, r2 - movs r1, 0x2 - orrs r0, r1 - ldr r1, _08154CC4 @ =0xffff00ff - ands r0, r1 - movs r1, 0xD0 - lsls r1, 4 - orrs r0, r1 - ldr r1, _08154CC8 @ =0x0000ffff - ands r0, r1 - movs r1, 0x98 - lsls r1, 13 - orrs r0, r1 - str r0, [sp, 0x10] - movs r6, 0 - cmp r6, r7 - bcs _08154CAC - mov r3, sp - adds r3, 0xC - str r3, [sp, 0x18] - mov r10, r4 - ldr r0, _08154CCC @ =0x00003008 - mov r9, r0 -_08154BD0: - movs r1, 0 - mov r8, r1 - adds r0, r6, 0 - bl sub_81537AC - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - bl sub_81533C4 - adds r1, r0, 0 - movs r0, 0 - movs r2, 0x1 - negs r2, r2 - bl GetStringWidth - movs r1, 0x38 - subs r1, r0 - lsrs r1, 1 - str r1, [sp, 0x14] - ldrb r0, [r5] - lsls r0, 8 - ldr r2, _08154CC4 @ =0xffff00ff - ldr r1, [sp, 0xC] - ands r1, r2 - orrs r1, r0 - str r1, [sp, 0xC] - ldrb r2, [r5, 0x1] - lsls r2, 16 - ldr r0, _08154CD0 @ =0xff00ffff - ands r0, r1 - orrs r0, r2 - str r0, [sp, 0xC] - add r0, sp, 0xC - bl AddWindow - mov r2, r10 - ldr r1, [r2] - add r1, r9 - adds r1, r6 - strb r0, [r1] - ldr r0, [r2] - add r0, r9 - adds r0, r6 - ldrb r0, [r0] - bl ClearWindowTilemap - mov r3, r10 - ldr r0, [r3] - add r0, r9 - adds r0, r6 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _08154C4E - movs r0, 0x2 - mov r8, r0 -_08154C4E: - adds r0, r4, 0 - bl sub_81533C4 - adds r4, r0, 0 - mov r1, r10 - ldr r0, [r1] - add r0, r9 - adds r0, r6 - ldrb r0, [r0] - ldr r3, [sp, 0x14] - lsls r2, r3, 24 - lsrs r2, 24 - mov r3, r8 - lsls r1, r3, 1 - add r1, r8 - ldr r3, _08154CD4 @ =sUnknown_8478E38 - adds r1, r3 - str r1, [sp] - movs r1, 0x1 - negs r1, r1 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0 - movs r3, 0x1 - bl AddTextPrinterParameterized3 - mov r2, r10 - ldr r0, [r2] - add r0, r9 - adds r0, r6 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - ldr r3, [sp, 0x18] - ldrh r0, [r3, 0x6] - adds r0, 0xE - strh r0, [r3, 0x6] - add r0, sp, 0xC - bl sub_8154868 - adds r5, 0x4 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, r7 - bcc _08154BD0 -_08154CAC: - ldr r0, _08154CD8 @ =gUnknown_203F440 - ldr r1, [r0] - ldr r0, _08154CDC @ =0x00003014 - adds r1, r0 - b _08154D1E - .align 2, 0 -_08154CB8: .4byte sUnknown_8478E80 -_08154CBC: .4byte 0xffffff00 -_08154CC0: .4byte 0x00ffffff -_08154CC4: .4byte 0xffff00ff -_08154CC8: .4byte 0x0000ffff -_08154CCC: .4byte 0x00003008 -_08154CD0: .4byte 0xff00ffff -_08154CD4: .4byte sUnknown_8478E38 -_08154CD8: .4byte gUnknown_203F440 -_08154CDC: .4byte 0x00003014 -_08154CE0: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08154D82 - bl sub_81533B4 - lsls r0, 24 - lsrs r7, r0, 24 - movs r6, 0 - cmp r6, r7 - bcs _08154D10 -_08154CF8: - ldr r0, [r4] - ldr r1, _08154D28 @ =0x00003008 - adds r0, r1 - adds r0, r6 - ldrb r0, [r0] - bl PutWindowTilemap - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, r7 - bcc _08154CF8 -_08154D10: - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, _08154D2C @ =gUnknown_203F440 - ldr r1, [r0] - ldr r2, _08154D30 @ =0x00003014 - adds r1, r2 -_08154D1E: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08154D82 - .align 2, 0 -_08154D28: .4byte 0x00003008 -_08154D2C: .4byte gUnknown_203F440 -_08154D30: .4byte 0x00003014 -_08154D34: - ldr r5, _08154D94 @ =gUnknown_203F440 - ldr r0, [r5] - ldr r4, _08154D98 @ =0x00003008 - adds r0, r4 - adds r0, r6 - ldrb r0, [r0] - bl ClearWindowTilemap - ldr r0, [r5] - adds r0, r4 - adds r0, r6 - ldrb r0, [r0] - bl RemoveWindow - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, r7 - bcc _08154D34 -_08154D5A: - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, _08154D94 @ =gUnknown_203F440 - ldr r0, [r0] - movs r3, 0xC0 - lsls r3, 6 - adds r0, r3 - movs r1, 0x1 - str r1, [r0] -_08154D82: - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08154D94: .4byte gUnknown_203F440 -_08154D98: .4byte 0x00003008 - thumb_func_end sub_8154B34 - - thumb_func_start sub_8154D9C -sub_8154D9C: @ 8154D9C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x70 - lsls r0, 24 - movs r1, 0 - mov r8, r1 - movs r6, 0 - lsrs r7, r0, 24 - add r4, sp, 0x2C - ldr r1, _08154F64 @ =gUnknown_8478F14 - adds r0, r4, 0 - movs r2, 0x5 - bl memcpy - movs r5, 0 - cmp r5, r7 - bcs _08154DEC - add r4, sp, 0x34 -_08154DC6: - mov r0, sp - adds r0, r5 - adds r0, 0x2C - strb r5, [r0] - add r0, sp, 0x5C - adds r1, r5, 0 - bl sub_81536A0 - lsls r2, r5, 3 - adds r2, r4, r2 - ldr r0, [sp, 0x5C] - ldr r1, [sp, 0x60] - str r0, [r2] - str r1, [r2, 0x4] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r7 - bcc _08154DC6 -_08154DEC: - bl sub_81534AC - cmp r0, 0 - beq _08154E22 -_08154DF4: - movs r5, 0 - cmp r5, r7 - bcs _08154E1C - add r2, sp, 0x34 - add r1, sp, 0x2C -_08154DFE: - lsls r0, r5, 3 - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, r8 - bne _08154E12 - adds r0, r1, r6 - strb r5, [r0] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08154E12: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r7 - bcc _08154DFE -_08154E1C: - mov r8, r6 - cmp r6, r7 - bcc _08154DF4 -_08154E22: - movs r5, 0 - ldr r4, _08154F68 @ =gText_SpacePoints - cmp r5, r7 - bcs _08154E48 - add r1, sp, 0x34 - add r6, sp, 0x38 - subs r3, r7, 0x1 -_08154E30: - lsls r2, r5, 3 - adds r0, r6, r2 - ldr r0, [r0] - cmp r0, 0 - bne _08154E3E - adds r0, r1, r2 - strb r3, [r0] -_08154E3E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r7 - bcc _08154E30 -_08154E48: - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - movs r1, 0xD8 - subs r1, r0 - str r1, [sp, 0x64] - movs r5, 0 - cmp r5, r7 - bcs _08154F52 - mov r2, sp - adds r2, 0x34 - str r2, [sp, 0x68] - ldr r3, _08154F6C @ =0x00003009 - mov r10, r3 - adds r0, r1, 0 - subs r0, 0x23 - lsls r0, 24 - str r0, [sp, 0x6C] -_08154E70: - movs r4, 0 - mov r8, r4 - mov r0, sp - adds r0, r5 - adds r0, 0x2C - ldrb r0, [r0] - adds r4, r0, 0 - lsls r1, r4, 3 - add r0, sp, 0x38 - adds r0, r1 - ldr r0, [r0] - mov r9, r0 - ldr r2, _08154F70 @ =gUnknown_203F440 - ldr r0, [r2] - add r0, r10 - ldrb r0, [r0] - 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 @ =sUnknown_8478EBA - lsls r1, r5, 1 - adds r1, r3 - ldrb r6, [r1] - str r6, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - mov r3, r8 - str r3, [sp, 0x8] - movs r1, 0 - movs r3, 0x8 - bl AddTextPrinterParameterized - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _08154EC8 - movs r0, 0x2 - mov r8, r0 -_08154EC8: - adds r0, r4, 0 - bl sub_81533C4 - adds r3, r0, 0 - ldr r1, _08154F70 @ =gUnknown_203F440 - ldr r0, [r1] - add r0, r10 - ldrb r0, [r0] - mov r2, r8 - lsls r1, r2, 1 - add r1, r8 - ldr r2, _08154F7C @ =sUnknown_8478E38 - adds r1, r2 - str r1, [sp] - movs r4, 0x1 - negs r4, r4 - str r4, [sp, 0x4] - str r3, [sp, 0x8] - movs r1, 0 - movs r2, 0x1C - adds r3, r6, 0 - bl AddTextPrinterParameterized3 - add r0, sp, 0xC - mov r1, r9 - movs r2, 0x1 - movs r3, 0x7 - bl ConvertIntToDecimalStringN - movs r0, 0 - add r1, sp, 0xC - adds r2, r4, 0 - bl GetStringWidth - ldr r1, _08154F70 @ =gUnknown_203F440 - ldr r0, [r1] - add r0, r10 - ldrb r0, [r0] - str r6, [sp] - movs r2, 0xFF - str r2, [sp, 0x4] - movs r3, 0 - str r3, [sp, 0x8] - movs r1, 0 - add r2, sp, 0xC - ldr r4, [sp, 0x6C] - lsrs r3, r4, 24 - bl AddTextPrinterParameterized - ldr r1, _08154F70 @ =gUnknown_203F440 - ldr r0, [r1] - add r0, r10 - ldrb r0, [r0] - ldr r2, [sp, 0x64] - lsls r3, r2, 24 - str r6, [sp] - movs r4, 0xFF - str r4, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - ldr r2, _08154F68 @ =gText_SpacePoints - lsrs r3, 24 - bl AddTextPrinterParameterized - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r7 - bcc _08154E70 -_08154F52: - add sp, 0x70 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08154F64: .4byte gUnknown_8478F14 -_08154F68: .4byte gText_SpacePoints -_08154F6C: .4byte 0x00003009 -_08154F70: .4byte gUnknown_203F440 -_08154F74: .4byte sUnknown_8478E94 -_08154F78: .4byte sUnknown_8478EBA -_08154F7C: .4byte sUnknown_8478E38 - thumb_func_end sub_8154D9C - - thumb_func_start sub_8154F80 -sub_8154F80: @ 8154F80 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8C - bl sub_81533B4 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x84] - ldr r6, _08154FB0 @ =gUnknown_203F440 - ldr r1, [r6] - ldr r2, _08154FB4 @ =0x00003014 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0xB - bls _08154FA6 - b _08155678 -_08154FA6: - lsls r0, 2 - ldr r1, _08154FB8 @ =_08154FBC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08154FB0: .4byte gUnknown_203F440 -_08154FB4: .4byte 0x00003014 -_08154FB8: .4byte _08154FBC - .align 2, 0 -_08154FBC: - .4byte _08154FEC - .4byte _08155008 - .4byte _08155060 - .4byte _0815524C - .4byte _08155298 - .4byte _081552DC - .4byte _08155340 - .4byte _0815537C - .4byte _081553C0 - .4byte _08155480 - .4byte _081555D8 - .4byte _0815562C -_08154FEC: - bl sub_81535B0 - ldr r0, _08155000 @ =gUnknown_203F440 - ldr r1, [r0] - ldr r0, _08155004 @ =0x0000301c - adds r2, r1, r0 - movs r0, 0 - strh r0, [r2] - b _0815565A - .align 2, 0 -_08155000: .4byte gUnknown_203F440 -_08155004: .4byte 0x0000301c -_08155008: - ldr r6, _08155050 @ =sUnknown_8475674 - adds r0, r6, 0 - bl AddWindow - ldr r4, _08155054 @ =gUnknown_203F440 - ldr r1, [r4] - ldr r2, _08155058 @ =0x00003008 - mov r8, r2 - add r1, r8 - strb r0, [r1] - movs r0, 0x8 - adds r0, r6 - mov r9, r0 - bl AddWindow - ldr r1, [r4] - ldr r5, _0815505C @ =0x00003009 - adds r1, r5 - strb r0, [r1] - ldr r0, [r4] - add r0, r8 - ldrb r0, [r0] - bl ClearWindowTilemap - ldr r0, [r4] - adds r0, r5 - ldrb r0, [r0] - bl ClearWindowTilemap - adds r0, r6, 0 - bl sub_8154868 - mov r0, r9 - bl sub_8154868 - b _08155658 - .align 2, 0 -_08155050: .4byte sUnknown_8475674 -_08155054: .4byte gUnknown_203F440 -_08155058: .4byte 0x00003008 -_0815505C: .4byte 0x00003009 -_08155060: - ldr r4, _081551A8 @ =gUnknown_203F440 - ldr r0, [r4] - ldr r5, _081551AC @ =0x00003008 - adds r0, r5 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, [r4] - ldr r1, _081551B0 @ =0x00003009 - mov r9, r1 - add r0, r9 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, _081551B4 @ =gText_BerryPickingResults - mov r8, r2 - movs r2, 0x1 - negs r2, r2 - movs r0, 0 - mov r1, r8 - bl GetStringWidth - adds r1, r0, 0 - movs r0, 0xE0 - subs r0, r1 - lsrs r3, r0, 1 - ldr r0, [r4] - adds r0, r5 - ldrb r0, [r0] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x2 - str r1, [sp] - movs r6, 0xFF - str r6, [sp, 0x4] - movs r5, 0 - str r5, [sp, 0x8] - movs r1, 0 - mov r2, r8 - bl AddTextPrinterParameterized - ldr r0, [r4] - add r0, r9 - ldrb r0, [r0] - ldr r2, _081551B8 @ =gText_10P30P50P50P - movs r1, 0x10 - str r1, [sp] - str r6, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0 - movs r3, 0x44 - bl AddTextPrinterParameterized - movs r0, 0 - mov r9, r0 - ldr r1, [sp, 0x84] - cmp r9, r1 - bcc _081550DA - b _08155214 -_081550DA: - movs r5, 0 - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - cmp r9, r0 - bne _081550EA - movs r5, 0x2 -_081550EA: - mov r0, r9 - bl sub_81533C4 - adds r6, r0, 0 - ldr r0, _081551A8 @ =gUnknown_203F440 - ldr r0, [r0] - ldr r2, _081551B0 @ =0x00003009 - adds r0, r2 - ldrb r0, [r0] - 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 @ =sUnknown_8478E38 - adds r1, r2 - str r1, [sp] - movs r5, 0x1 - negs r5, r5 - str r5, [sp, 0x4] - str r6, [sp, 0x8] - movs r1, 0 - movs r2, 0x2 - bl AddTextPrinterParameterized3 - movs r7, 0 - mov r0, r9 - adds r0, 0x1 - str r0, [sp, 0x88] - mov r8, r4 - ldr r1, _081551C4 @ =sUnknown_8478EA8 - mov r10, r1 -_0815512E: - mov r0, r9 - adds r1, r7, 0 - bl sub_8153404 - lsls r0, 16 - lsrs r0, 16 - ldr r1, _081551C8 @ =0x0000270f - bl sub_815379C - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r7, 0 - bl sub_81534F0 - ldr r1, _081551C8 @ =0x0000270f - bl sub_815379C - lsls r0, 16 - lsrs r6, r0, 16 - add r0, sp, 0xC - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - movs r0, 0 - add r1, sp, 0xC - movs r2, 0x1 - negs r2, r2 - bl GetStringWidth - adds r5, r0, 0 - cmp r6, r4 - bne _081551D0 - cmp r6, 0 - beq _081551D0 - ldr r0, _081551A8 @ =gUnknown_203F440 - ldr r0, [r0] - ldr r2, _081551B0 @ =0x00003009 - adds r0, r2 - ldrb r0, [r0] - lsls r1, r7, 1 - add r1, r10 - ldrb r2, [r1] - subs r2, r5 - lsls r2, 24 - lsrs r2, 24 - mov r1, r8 - ldrb r3, [r1] - ldr r1, _081551CC @ =sUnknown_8478E38+0x3 - str r1, [sp] - movs r1, 0x1 - negs r1, r1 - str r1, [sp, 0x4] - add r1, sp, 0xC - str r1, [sp, 0x8] - movs r1, 0 - bl AddTextPrinterParameterized3 - b _081551FA - .align 2, 0 -_081551A8: .4byte gUnknown_203F440 -_081551AC: .4byte 0x00003008 -_081551B0: .4byte 0x00003009 -_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 sUnknown_8478E38+0x3 -_081551D0: - ldr r0, _0815523C @ =gUnknown_203F440 - ldr r0, [r0] - ldr r2, _08155240 @ =0x00003009 - adds r0, r2 - ldrb r0, [r0] - lsls r1, r7, 1 - add r1, r10 - ldrb r3, [r1] - subs r3, r5 - lsls r3, 24 - lsrs r3, 24 - mov r2, r8 - ldrb r1, [r2] - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - add r2, sp, 0xC - bl AddTextPrinterParameterized -_081551FA: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x3 - bls _0815512E - ldr r1, [sp, 0x88] - lsls r0, r1, 24 - lsrs r0, 24 - mov r9, r0 - ldr r2, [sp, 0x84] - cmp r9, r2 - bcs _08155214 - b _081550DA -_08155214: - ldr r4, _0815523C @ =gUnknown_203F440 - ldr r0, [r4] - ldr r1, _08155244 @ =0x00003008 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - ldr r0, [r4] - ldr r2, _08155240 @ =0x00003009 - adds r0, r2 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - ldr r1, [r4] - ldr r0, _08155248 @ =0x00003014 - adds r1, r0 - b _0815565E - .align 2, 0 -_0815523C: .4byte gUnknown_203F440 -_08155240: .4byte 0x00003009 -_08155244: .4byte 0x00003008 -_08155248: .4byte 0x00003014 -_0815524C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08155270 - ldr r4, _08155288 @ =gUnknown_203F440 - ldr r0, [r4] - ldr r1, _0815528C @ =0x00003008 - adds r0, r1 - ldrb r0, [r0] - bl PutWindowTilemap - ldr r0, [r4] - ldr r2, _08155290 @ =0x00003009 - adds r0, r2 - ldrb r0, [r0] - bl PutWindowTilemap -_08155270: - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0 - bl sub_8154324 - ldr r0, _08155288 @ =gUnknown_203F440 - ldr r1, [r0] - ldr r0, _08155294 @ =0x00003014 - adds r1, r0 - b _0815565E - .align 2, 0 -_08155288: .4byte gUnknown_203F440 -_0815528C: .4byte 0x00003008 -_08155290: .4byte 0x00003009 -_08155294: .4byte 0x00003014 -_08155298: - ldr r4, _081552D0 @ =gUnknown_203F440 - ldr r0, [r4] - ldr r1, _081552D4 @ =0x0000301c - adds r2, r0, r1 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1D - bhi _081552B0 - b _081556C8 -_081552B0: - ldr r0, _081552D8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081552BE - b _081556C8 -_081552BE: - movs r0, 0 - strh r0, [r2] - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl sub_8154324 - b _08155658 - .align 2, 0 -_081552D0: .4byte gUnknown_203F440 -_081552D4: .4byte 0x0000301c -_081552D8: .4byte gMain -_081552DC: - ldr r4, _08155330 @ =gUnknown_203F440 - ldr r0, [r4] - ldr r5, _08155334 @ =0x00003008 - adds r0, r5 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, [r4] - ldr r1, _08155338 @ =0x00003009 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r6, _0815533C @ =gText_AnnouncingRankings - movs r2, 0x1 - negs r2, r2 - movs r0, 0 - adds r1, r6, 0 - bl GetStringWidth - adds r1, r0, 0 - movs r0, 0xE0 - subs r0, r1 - lsrs r3, r0, 1 - ldr r0, [r4] - adds r0, r5 - ldrb r0, [r0] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x2 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - adds r2, r6, 0 - bl AddTextPrinterParameterized - b _08155658 - .align 2, 0 -_08155330: .4byte gUnknown_203F440 -_08155334: .4byte 0x00003008 -_08155338: .4byte 0x00003009 -_0815533C: .4byte gText_AnnouncingRankings -_08155340: - ldr r0, [sp, 0x84] - bl sub_8154D9C - ldr r4, _0815536C @ =gUnknown_203F440 - ldr r0, [r4] - ldr r1, _08155370 @ =0x00003008 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - ldr r0, [r4] - ldr r2, _08155374 @ =0x00003009 - adds r0, r2 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - ldr r1, [r4] - ldr r0, _08155378 @ =0x00003014 - adds r1, r0 - b _0815565E - .align 2, 0 -_0815536C: .4byte gUnknown_203F440 -_08155370: .4byte 0x00003008 -_08155374: .4byte 0x00003009 -_08155378: .4byte 0x00003014 -_0815537C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081553A0 - ldr r4, _081553B0 @ =gUnknown_203F440 - ldr r0, [r4] - ldr r1, _081553B4 @ =0x00003008 - adds r0, r1 - ldrb r0, [r0] - bl PutWindowTilemap - ldr r0, [r4] - ldr r2, _081553B8 @ =0x00003009 - adds r0, r2 - ldrb r0, [r0] - bl PutWindowTilemap -_081553A0: - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, _081553B0 @ =gUnknown_203F440 - ldr r1, [r0] - ldr r0, _081553BC @ =0x00003014 - adds r1, r0 - b _0815565E - .align 2, 0 -_081553B0: .4byte gUnknown_203F440 -_081553B4: .4byte 0x00003008 -_081553B8: .4byte 0x00003009 -_081553BC: .4byte 0x00003014 -_081553C0: - ldr r4, _08155408 @ =gUnknown_203F440 - ldr r0, [r4] - ldr r1, _0815540C @ =0x0000301c - adds r2, r0, r1 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1D - bhi _081553D8 - b _081556C8 -_081553D8: - ldr r0, _08155410 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081553E6 - b _081556C8 -_081553E6: - movs r0, 0 - strh r0, [r2] - movs r0, 0x5 - bl PlaySE - bl sub_81534AC - ldr r1, _08155414 @ =0x00000bb7 - cmp r0, r1 - bhi _0815541C - ldr r0, [r4] - ldr r2, _08155418 @ =0x00003014 - adds r0, r2 - movs r1, 0x7F - strb r1, [r0] - b _0815542C - .align 2, 0 -_08155408: .4byte gUnknown_203F440 -_0815540C: .4byte 0x0000301c -_08155410: .4byte gMain -_08155414: .4byte 0x00000bb7 -_08155418: .4byte 0x00003014 -_0815541C: - bl StopMapMusic - ldr r1, [r4] - ldr r0, _08155470 @ =0x00003014 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0815542C: - movs r0, 0x1E - str r0, [sp] - movs r0, 0xF - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x5 - bl FillBgTilemapBufferRect_Palette0 - ldr r5, _08155474 @ =gUnknown_203F440 - ldr r0, [r5] - ldr r4, _08155478 @ =0x00003009 - adds r0, r4 - ldrb r0, [r0] - bl RemoveWindow - ldr r6, _0815547C @ =sUnknown_8475684 - adds r0, r6, 0 - bl AddWindow - ldr r1, [r5] - adds r1, r4 - strb r0, [r1] - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl ClearWindowTilemap - adds r0, r6, 0 - bl sub_8154868 - b _081556C8 - .align 2, 0 -_08155470: .4byte 0x00003014 -_08155474: .4byte gUnknown_203F440 -_08155478: .4byte 0x00003009 -_0815547C: .4byte sUnknown_8475684 -_08155480: - ldr r0, _08155558 @ =0x00000101 - bl PlayNewMapMusic - ldr r4, _0815555C @ =gUnknown_203F440 - ldr r0, [r4] - ldr r6, _08155560 @ =0x00003008 - adds r0, r6 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, [r4] - ldr r1, _08155564 @ =0x00003009 - mov r10, r1 - add r0, r10 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r5, _08155568 @ =gText_AnnouncingPrizes - movs r2, 0x1 - negs r2, r2 - movs r0, 0 - adds r1, r5, 0 - bl GetStringWidth - adds r1, r0, 0 - movs r0, 0xE0 - subs r0, r1 - lsrs r3, r0, 1 - ldr r0, [r4] - adds r0, r6 - ldrb r0, [r0] - lsls r3, 24 - lsrs r3, 24 - movs r2, 0x2 - mov r9, r2 - str r2, [sp] - movs r1, 0xFF - mov r8, r1 - str r1, [sp, 0x4] - movs r6, 0 - str r6, [sp, 0x8] - movs r1, 0 - adds r2, r5, 0 - bl AddTextPrinterParameterized - bl DynamicPlaceholderTextUtil_Reset - bl sub_8153390 - lsls r0, 16 - lsrs r0, 16 - add r5, sp, 0x70 - adds r1, r5, 0 - bl CopyItemName - movs r0, 0 - adds r1, r5, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - ldr r1, _0815556C @ =gText_FirstPlacePrize - add r0, sp, 0xC - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - ldr r0, [r4] - add r0, r10 - ldrb r0, [r0] - mov r2, r9 - str r2, [sp] - mov r1, r8 - str r1, [sp, 0x4] - str r6, [sp, 0x8] - movs r1, 0 - add r2, sp, 0xC - movs r3, 0x8 - bl AddTextPrinterParameterized - bl sub_815372C - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - cmp r4, 0 - beq _0815559E - cmp r4, 0x3 - beq _0815559E - bl DynamicPlaceholderTextUtil_Reset - bl sub_8153390 - lsls r0, 16 - lsrs r0, 16 - adds r1, r5, 0 - bl CopyItemName - movs r0, 0 - adds r1, r5, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - cmp r4, 0x2 - bne _08155574 - ldr r1, _08155570 @ =gText_CantHoldAnyMore - add r0, sp, 0xC - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - b _08155580 - .align 2, 0 -_08155558: .4byte 0x00000101 -_0815555C: .4byte gUnknown_203F440 -_08155560: .4byte 0x00003008 -_08155564: .4byte 0x00003009 -_08155568: .4byte gText_AnnouncingPrizes -_0815556C: .4byte gText_FirstPlacePrize -_08155570: .4byte gText_CantHoldAnyMore -_08155574: - cmp r6, 0x1 - bne _08155580 - ldr r1, _081555C4 @ =gText_FilledStorageSpace - add r0, sp, 0xC - bl DynamicPlaceholderTextUtil_ExpandPlaceholders -_08155580: - ldr r0, _081555C8 @ =gUnknown_203F440 - ldr r0, [r0] - ldr r2, _081555CC @ =0x00003009 - adds r0, r2 - ldrb r0, [r0] - movs r1, 0x28 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - add r2, sp, 0xC - movs r3, 0x8 - bl AddTextPrinterParameterized -_0815559E: - ldr r4, _081555C8 @ =gUnknown_203F440 - ldr r0, [r4] - ldr r1, _081555D0 @ =0x00003008 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - ldr r0, [r4] - ldr r2, _081555CC @ =0x00003009 - adds r0, r2 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - ldr r1, [r4] - ldr r0, _081555D4 @ =0x00003014 - adds r1, r0 - b _0815565E - .align 2, 0 -_081555C4: .4byte gText_FilledStorageSpace -_081555C8: .4byte gUnknown_203F440 -_081555CC: .4byte 0x00003009 -_081555D0: .4byte 0x00003008 -_081555D4: .4byte 0x00003014 -_081555D8: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081555FC - ldr r4, _08155618 @ =gUnknown_203F440 - ldr r0, [r4] - ldr r1, _0815561C @ =0x00003008 - adds r0, r1 - ldrb r0, [r0] - bl PutWindowTilemap - ldr r0, [r4] - ldr r2, _08155620 @ =0x00003009 - adds r0, r2 - ldrb r0, [r0] - bl PutWindowTilemap -_081555FC: - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, _08155624 @ =0x00000137 - movs r1, 0x14 - movs r2, 0xA - bl FadeOutAndFadeInNewMapMusic - ldr r0, _08155618 @ =gUnknown_203F440 - ldr r1, [r0] - ldr r0, _08155628 @ =0x00003014 - adds r1, r0 - b _0815565E - .align 2, 0 -_08155618: .4byte gUnknown_203F440 -_0815561C: .4byte 0x00003008 -_08155620: .4byte 0x00003009 -_08155624: .4byte 0x00000137 -_08155628: .4byte 0x00003014 -_0815562C: - ldr r4, _08155668 @ =gUnknown_203F440 - ldr r0, [r4] - ldr r1, _0815566C @ =0x0000301c - adds r2, r0, r1 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1D - bls _081556C8 - ldr r0, _08155670 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081556C8 - movs r0, 0 - strh r0, [r2] - movs r0, 0x5 - bl PlaySE -_08155658: - ldr r1, [r4] -_0815565A: - ldr r2, _08155674 @ =0x00003014 - adds r1, r2 -_0815565E: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _081556C8 - .align 2, 0 -_08155668: .4byte gUnknown_203F440 -_0815566C: .4byte 0x0000301c -_08155670: .4byte gMain -_08155674: .4byte 0x00003014 -_08155678: - ldr r5, _081556D8 @ =0x00003008 - adds r0, r1, r5 - ldrb r0, [r0] - bl ClearWindowTilemap - ldr r0, [r6] - ldr r4, _081556DC @ =0x00003009 - adds r0, r4 - ldrb r0, [r0] - bl ClearWindowTilemap - ldr r0, [r6] - adds r0, r5 - ldrb r0, [r0] - bl RemoveWindow - ldr r0, [r6] - adds r0, r4 - ldrb r0, [r0] - bl RemoveWindow - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, [r6] - movs r1, 0xC0 - lsls r1, 6 - adds r0, r1 - movs r1, 0x1 - str r1, [r0] -_081556C8: - add sp, 0x8C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081556D8: .4byte 0x00003008 -_081556DC: .4byte 0x00003009 - thumb_func_end sub_8154F80 - - thumb_func_start sub_81556E0 -sub_81556E0: @ 81556E0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - ldr r1, _08155708 @ =gUnknown_203F440 - ldr r2, [r1] - ldr r0, _0815570C @ =0x00003014 - mov r9, r0 - adds r0, r2, r0 - ldrb r7, [r0] - mov r10, r1 - cmp r7, 0x1 - beq _0815579C - cmp r7, 0x1 - bgt _08155710 - cmp r7, 0 - beq _0815571E - b _081559EC - .align 2, 0 -_08155708: .4byte gUnknown_203F440 -_0815570C: .4byte 0x00003014 -_08155710: - cmp r7, 0x2 - bne _08155716 - b _08155868 -_08155716: - cmp r7, 0x3 - bne _0815571C - b _081558A4 -_0815571C: - b _081559EC -_0815571E: - ldr r5, _08155788 @ =sUnknown_847568C - adds r0, r5, 0 - bl AddWindow - mov r2, r10 - ldr r1, [r2] - ldr r3, _0815578C @ =0x00003008 - adds r1, r3 - strb r0, [r1] - movs r0, 0x8 - adds r0, r5 - mov r8, r0 - bl AddWindow - mov r2, r10 - ldr r1, [r2] - ldr r4, _08155790 @ =0x00003009 - adds r1, r4 - strb r0, [r1] - ldr r0, [r2] - ldr r3, _0815578C @ =0x00003008 - adds r0, r3 - ldrb r0, [r0] - bl ClearWindowTilemap - mov r1, r10 - ldr r0, [r1] - adds r0, r4 - ldrb r0, [r0] - bl ClearWindowTilemap - adds r0, r5, 0 - bl sub_8154868 - mov r0, r8 - bl sub_8154768 - mov r2, r10 - ldr r1, [r2] - add r1, r9 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - ldr r3, _08155794 @ =0x00003020 - adds r0, r3 - strb r7, [r0] - ldr r0, [r2] - ldr r1, _08155798 @ =0x00003024 - adds r0, r1 - strb r7, [r0] - b _08155A58 - .align 2, 0 -_08155788: .4byte sUnknown_847568C -_0815578C: .4byte 0x00003008 -_08155790: .4byte 0x00003009 -_08155794: .4byte 0x00003020 -_08155798: .4byte 0x00003024 -_0815579C: - ldr r3, _0815584C @ =0x00003008 - mov r8, r3 - adds r0, r2, r3 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - mov r1, r10 - ldr r0, [r1] - ldr r7, _08155850 @ =0x00003009 - adds r0, r7 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - mov r2, r10 - ldr r0, [r2] - add r0, r8 - ldrb r0, [r0] - ldr r2, _08155854 @ =gText_WantToPlayAgain - movs r1, 0x6 - str r1, [sp] - movs r5, 0xFF - str r5, [sp, 0x4] - movs r4, 0 - str r4, [sp, 0x8] - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized - mov r3, r10 - ldr r0, [r3] - adds r0, r7 - ldrb r0, [r0] - ldr r2, _08155858 @ =gText_Yes - movs r1, 0x2 - mov r9, r1 - str r1, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r3, 0x8 - bl AddTextPrinterParameterized - mov r2, r10 - ldr r0, [r2] - adds r0, r7 - ldrb r0, [r0] - ldr r2, _0815585C @ =gText_No - movs r1, 0x10 - str r1, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - movs r3, 0x8 - bl AddTextPrinterParameterized - mov r3, r10 - ldr r0, [r3] - adds r0, r7 - ldrb r0, [r0] - ldr r2, _08155860 @ =gFameCheckerText_ListMenuCursor - mov r1, r9 - str r1, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized - mov r2, r10 - ldr r0, [r2] - add r0, r8 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - mov r3, r10 - ldr r0, [r3] - adds r0, r7 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - mov r0, r10 - ldr r1, [r0] - ldr r2, _08155864 @ =0x00003014 - adds r1, r2 - b _081559DA - .align 2, 0 -_0815584C: .4byte 0x00003008 -_08155850: .4byte 0x00003009 -_08155854: .4byte gText_WantToPlayAgain -_08155858: .4byte gText_Yes -_0815585C: .4byte gText_No -_08155860: .4byte gFameCheckerText_ListMenuCursor -_08155864: .4byte 0x00003014 -_08155868: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0815588E - mov r3, r10 - ldr r0, [r3] - ldr r1, _0815589C @ =0x00003008 - adds r0, r1 - ldrb r0, [r0] - bl PutWindowTilemap - mov r2, r10 - ldr r0, [r2] - ldr r3, _081558A0 @ =0x00003009 - adds r0, r3 - ldrb r0, [r0] - bl PutWindowTilemap -_0815588E: - movs r0, 0 - bl CopyBgTilemapBufferToVram - mov r0, r10 - ldr r1, [r0] - add r1, r9 - b _081559DA - .align 2, 0 -_0815589C: .4byte 0x00003008 -_081558A0: .4byte 0x00003009 -_081558A4: - ldr r1, _0815590C @ =0x00003020 - adds r0, r2, r1 - ldrb r7, [r0] - cmp r7, 0 - bne _081558B0 - movs r7, 0x1 -_081558B0: - ldr r4, _08155910 @ =0x00003009 - adds r0, r2, r4 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - mov r2, r10 - ldr r0, [r2] - adds r0, r4 - ldrb r0, [r0] - ldr r2, _08155914 @ =gText_Yes - movs r3, 0x2 - mov r8, r3 - str r3, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r5, 0 - str r5, [sp, 0x8] - movs r1, 0x2 - movs r3, 0x8 - bl AddTextPrinterParameterized - mov r2, r10 - ldr r0, [r2] - adds r0, r4 - ldrb r0, [r0] - ldr r2, _08155918 @ =gText_No - movs r6, 0x10 - str r6, [sp] - movs r3, 0xFF - str r3, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0x2 - movs r3, 0x8 - bl AddTextPrinterParameterized - mov r1, r10 - ldr r0, [r1] - adds r0, r4 - ldrb r1, [r0] - ldr r2, _0815591C @ =gFameCheckerText_ListMenuCursor - cmp r7, 0x1 - bne _08155920 - mov r3, r8 - str r3, [sp] - b _08155922 - .align 2, 0 -_0815590C: .4byte 0x00003020 -_08155910: .4byte 0x00003009 -_08155914: .4byte gText_Yes -_08155918: .4byte gText_No -_0815591C: .4byte gFameCheckerText_ListMenuCursor -_08155920: - str r6, [sp] -_08155922: - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r1, 0 - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r4, _08155970 @ =gUnknown_203F440 - ldr r0, [r4] - ldr r1, _08155974 @ =0x00003009 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, _08155978 @ =gMain - ldrh r1, [r0, 0x2E] - movs r5, 0x1 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08155984 - movs r0, 0x5 - bl PlaySE - ldr r0, [r4] - ldr r2, _0815597C @ =0x00003020 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - bne _08155966 - strb r5, [r1] -_08155966: - ldr r1, [r4] - ldr r3, _08155980 @ =0x00003014 - adds r1, r3 - b _081559DA - .align 2, 0 -_08155970: .4byte gUnknown_203F440 -_08155974: .4byte 0x00003009 -_08155978: .4byte gMain -_0815597C: .4byte 0x00003020 -_08155980: .4byte 0x00003014 -_08155984: - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0 - beq _081559BC - movs r0, 0x5 - bl PlaySE - ldr r0, [r4] - ldr r2, _081559A8 @ =0x00003020 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0x1 - beq _081559B2 - cmp r0, 0x1 - bgt _081559AC - cmp r0, 0 - beq _081559B2 - b _08155A58 - .align 2, 0 -_081559A8: .4byte 0x00003020 -_081559AC: - cmp r0, 0x2 - beq _081559B8 - b _08155A58 -_081559B2: - movs r0, 0x2 - strb r0, [r1] - b _08155A58 -_081559B8: - strb r5, [r1] - b _08155A58 -_081559BC: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08155A58 - movs r0, 0x5 - bl PlaySE - ldr r0, [r4] - ldr r3, _081559E4 @ =0x00003020 - adds r0, r3 - movs r1, 0x2 - strb r1, [r0] - ldr r1, [r4] - ldr r0, _081559E8 @ =0x00003014 - adds r1, r0 -_081559DA: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08155A58 - .align 2, 0 -_081559E4: .4byte 0x00003020 -_081559E8: .4byte 0x00003014 -_081559EC: - mov r1, r10 - ldr r0, [r1] - ldr r2, _08155A68 @ =0x00003020 - adds r1, r0, r2 - ldrb r1, [r1] - ldr r3, _08155A6C @ =0x00003024 - adds r0, r3 - strb r1, [r0] - mov r1, r10 - ldr r0, [r1] - ldr r5, _08155A70 @ =0x00003008 - adds r0, r5 - ldrb r0, [r0] - bl ClearWindowTilemap - mov r2, r10 - ldr r0, [r2] - ldr r4, _08155A74 @ =0x00003009 - adds r0, r4 - ldrb r0, [r0] - bl ClearWindowTilemap - mov r3, r10 - ldr r0, [r3] - adds r0, r5 - ldrb r0, [r0] - bl RemoveWindow - mov r1, r10 - ldr r0, [r1] - adds r0, r4 - ldrb r0, [r0] - bl RemoveWindow - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - mov r2, r10 - ldr r0, [r2] - movs r3, 0xC0 - lsls r3, 6 - adds r0, r3 - movs r1, 0x1 - str r1, [r0] -_08155A58: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08155A68: .4byte 0x00003020 -_08155A6C: .4byte 0x00003024 -_08155A70: .4byte 0x00003008 -_08155A74: .4byte 0x00003009 - thumb_func_end sub_81556E0 - - thumb_func_start sub_8155A78 -sub_8155A78: @ 8155A78 - push {r4-r6,lr} - sub sp, 0x10 - ldr r5, _08155A94 @ =gUnknown_203F440 - ldr r0, [r5] - ldr r6, _08155A98 @ =0x00003014 - adds r0, r6 - ldrb r4, [r0] - cmp r4, 0x1 - beq _08155AD0 - cmp r4, 0x1 - bgt _08155A9C - cmp r4, 0 - beq _08155AA6 - b _08155B18 - .align 2, 0 -_08155A94: .4byte gUnknown_203F440 -_08155A98: .4byte 0x00003014 -_08155A9C: - cmp r4, 0x2 - beq _08155AE4 - cmp r4, 0x3 - beq _08155AFC - b _08155B18 -_08155AA6: - movs r0, 0 - movs r1, 0 - bl DrawDialogueFrame - ldr r2, _08155ACC @ =gText_SavingDontTurnOffThePower2 - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized2 - b _08155B08 - .align 2, 0 -_08155ACC: .4byte gText_SavingDontTurnOffThePower2 -_08155AD0: - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r1, [r5] - ldr r0, _08155AE0 @ =0x00003014 - adds r1, r0 - b _08155B0C - .align 2, 0 -_08155AE0: .4byte 0x00003014 -_08155AE4: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08155B40 - ldr r0, _08155AF8 @ =sub_80DA634 - movs r1, 0 - bl CreateTask - b _08155B08 - .align 2, 0 -_08155AF8: .4byte sub_80DA634 -_08155AFC: - ldr r0, _08155B14 @ =sub_80DA634 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _08155B40 -_08155B08: - ldr r1, [r5] - adds r1, r6 -_08155B0C: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08155B40 - .align 2, 0 -_08155B14: .4byte sub_80DA634 -_08155B18: - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, _08155B48 @ =gUnknown_203F440 - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 6 - adds r0, r1 - movs r1, 0x1 - str r1, [r0] -_08155B40: - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08155B48: .4byte gUnknown_203F440 - thumb_func_end sub_8155A78 - - thumb_func_start sub_8155B4C -sub_8155B4C: @ 8155B4C - push {r4-r6,lr} - sub sp, 0xC - ldr r1, _08155B6C @ =gUnknown_203F440 - ldr r2, [r1] - ldr r6, _08155B70 @ =0x00003014 - adds r0, r2, r6 - ldrb r0, [r0] - adds r5, r1, 0 - cmp r0, 0x1 - beq _08155BA4 - cmp r0, 0x1 - bgt _08155B74 - cmp r0, 0 - beq _08155B7A - b _08155C18 - .align 2, 0 -_08155B6C: .4byte gUnknown_203F440 -_08155B70: .4byte 0x00003014 -_08155B74: - cmp r0, 0x2 - beq _08155BEC - b _08155C18 -_08155B7A: - ldr r4, _08155B9C @ =sUnknown_84756A4 - adds r0, r4, 0 - bl AddWindow - ldr r1, [r5] - ldr r2, _08155BA0 @ =0x00003008 - adds r1, r2 - strb r0, [r1] - ldr r0, [r5] - adds r0, r2 - ldrb r0, [r0] - bl ClearWindowTilemap - adds r0, r4, 0 - bl sub_8154868 - b _08155C08 - .align 2, 0 -_08155B9C: .4byte sUnknown_84756A4 -_08155BA0: .4byte 0x00003008 -_08155BA4: - ldr r4, _08155BE0 @ =0x00003008 - adds r0, r2, r4 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - ldr r2, _08155BE4 @ =gText_CommunicationStandby3 - movs r1, 0x6 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - ldr r1, [r5] - ldr r0, _08155BE8 @ =0x00003014 - adds r1, r0 - b _08155C0C - .align 2, 0 -_08155BE0: .4byte 0x00003008 -_08155BE4: .4byte gText_CommunicationStandby3 -_08155BE8: .4byte 0x00003014 -_08155BEC: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08155C02 - ldr r0, [r5] - ldr r1, _08155C14 @ =0x00003008 - adds r0, r1 - ldrb r0, [r0] - bl PutWindowTilemap -_08155C02: - movs r0, 0 - bl CopyBgTilemapBufferToVram -_08155C08: - ldr r1, [r5] - adds r1, r6 -_08155C0C: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08155C24 - .align 2, 0 -_08155C14: .4byte 0x00003008 -_08155C18: - ldr r0, [r5] - movs r1, 0xC0 - lsls r1, 6 - adds r0, r1 - movs r1, 0x1 - str r1, [r0] -_08155C24: - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8155B4C - - thumb_func_start sub_8155C2C -sub_8155C2C: @ 8155C2C - push {r4,r5,lr} - sub sp, 0x8 - ldr r5, _08155C78 @ =gUnknown_203F440 - ldr r0, [r5] - ldr r4, _08155C7C @ =0x00003008 - adds r0, r4 - ldrb r0, [r0] - bl ClearWindowTilemap - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl RemoveWindow - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, [r5] - movs r1, 0xC0 - lsls r1, 6 - adds r0, r1 - movs r1, 0x1 - str r1, [r0] - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08155C78: .4byte gUnknown_203F440 -_08155C7C: .4byte 0x00003008 - thumb_func_end sub_8155C2C - - thumb_func_start sub_8155C80 -sub_8155C80: @ 8155C80 - push {r4-r7,lr} - sub sp, 0xC - ldr r0, _08155CA0 @ =gUnknown_203F440 - ldr r1, [r0] - ldr r7, _08155CA4 @ =0x00003014 - adds r2, r1, r7 - ldrb r5, [r2] - adds r6, r0, 0 - cmp r5, 0x1 - beq _08155D08 - cmp r5, 0x1 - bgt _08155CA8 - cmp r5, 0 - beq _08155CB2 - b _08155D9C - .align 2, 0 -_08155CA0: .4byte gUnknown_203F440 -_08155CA4: .4byte 0x00003014 -_08155CA8: - cmp r5, 0x2 - beq _08155D50 - cmp r5, 0x3 - beq _08155D7C - b _08155D9C -_08155CB2: - ldr r4, _08155CF8 @ =sUnknown_847569C - adds r0, r4, 0 - bl AddWindow - ldr r1, [r6] - ldr r2, _08155CFC @ =0x00003008 - adds r1, r2 - strb r0, [r1] - ldr r0, [r6] - adds r0, r2 - ldrb r0, [r0] - bl ClearWindowTilemap - adds r0, r4, 0 - bl sub_8154868 - ldr r1, [r6] - adds r1, r7 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r6] - ldr r2, _08155D00 @ =0x0000301c - adds r1, r0, r2 - movs r2, 0 - strh r5, [r1] - ldr r1, _08155D04 @ =0x00003020 - adds r0, r1 - strb r2, [r0] - ldr r0, [r6] - adds r1, 0x4 - adds r0, r1 - strb r2, [r0] - b _08155DE2 - .align 2, 0 -_08155CF8: .4byte sUnknown_847569C -_08155CFC: .4byte 0x00003008 -_08155D00: .4byte 0x0000301c -_08155D04: .4byte 0x00003020 -_08155D08: - ldr r4, _08155D44 @ =0x00003008 - adds r0, r1, r4 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, [r6] - adds r0, r4 - ldrb r0, [r0] - ldr r2, _08155D48 @ =gText_SomeoneDroppedOut - movs r1, 0x6 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r0, [r6] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - ldr r1, [r6] - ldr r2, _08155D4C @ =0x00003014 - adds r1, r2 - b _08155D70 - .align 2, 0 -_08155D44: .4byte 0x00003008 -_08155D48: .4byte gText_SomeoneDroppedOut -_08155D4C: .4byte 0x00003014 -_08155D50: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08155D66 - ldr r0, [r6] - ldr r1, _08155D78 @ =0x00003008 - adds r0, r1 - ldrb r0, [r0] - bl PutWindowTilemap -_08155D66: - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r1, [r6] - adds r1, r7 -_08155D70: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08155DE2 - .align 2, 0 -_08155D78: .4byte 0x00003008 -_08155D7C: - ldr r0, _08155D98 @ =0x0000301c - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x77 - bls _08155DE2 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - b _08155DE2 - .align 2, 0 -_08155D98: .4byte 0x0000301c -_08155D9C: - ldr r0, [r6] - ldr r1, _08155DEC @ =0x00003024 - adds r0, r1 - movs r1, 0x5 - strb r1, [r0] - ldr r0, [r6] - ldr r4, _08155DF0 @ =0x00003008 - adds r0, r4 - ldrb r0, [r0] - bl ClearWindowTilemap - ldr r0, [r6] - adds r0, r4 - ldrb r0, [r0] - bl RemoveWindow - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, [r6] - movs r2, 0xC0 - lsls r2, 6 - adds r0, r2 - movs r1, 0x1 - str r1, [r0] -_08155DE2: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08155DEC: .4byte 0x00003024 -_08155DF0: .4byte 0x00003008 - thumb_func_end sub_8155C80 - - thumb_func_start unused_0 -unused_0: @ 8155DF4 - push {r4,lr} - ldr r4, _08155E18 @ =gUnknown_203F440 - ldr r0, [r4] - ldr r1, _08155E1C @ =0x00003004 - adds r0, r1 - ldrb r0, [r0] - bl DestroyTask - ldr r0, [r4] - movs r1, 0xC0 - lsls r1, 6 - adds r0, r1 - movs r1, 0x1 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08155E18: .4byte gUnknown_203F440 -_08155E1C: .4byte 0x00003004 - thumb_func_end unused_0 - - thumb_func_start nullsub_98 -nullsub_98: @ 8155E20 - bx lr - thumb_func_end nullsub_98 - - thumb_func_start sub_8155E24 -sub_8155E24: @ 8155E24 - push {r4,lr} - ldr r2, _08155E48 @ =gUnknown_203F440 - ldr r1, [r2] - ldr r3, _08155E4C @ =0x00003014 - adds r1, r3 - movs r3, 0 - strb r3, [r1] - ldr r1, [r2] - movs r4, 0xC0 - lsls r4, 6 - adds r2, r1, r4 - str r3, [r2] - ldr r2, _08155E50 @ =0x00003028 - adds r1, r2 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08155E48: .4byte gUnknown_203F440 -_08155E4C: .4byte 0x00003014 -_08155E50: .4byte 0x00003028 - thumb_func_end sub_8155E24 - - thumb_func_start sub_8155E54 -sub_8155E54: @ 8155E54 - ldr r0, _08155E60 @ =gUnknown_203F440 - ldr r0, [r0] - ldr r1, _08155E64 @ =0x00003028 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_08155E60: .4byte gUnknown_203F440 -_08155E64: .4byte 0x00003028 - thumb_func_end sub_8155E54 - - thumb_func_start sub_8155E68 -sub_8155E68: @ 8155E68 - push {lr} - ldr r0, _08155E80 @ =gUnknown_203F440 - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 6 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x1 - beq _08155E84 - movs r0, 0x1 - b _08155E86 - .align 2, 0 -_08155E80: .4byte gUnknown_203F440 -_08155E84: - movs r0, 0 -_08155E86: - pop {r1} - bx r1 - thumb_func_end sub_8155E68 - - thumb_func_start sub_8155E8C -sub_8155E8C: @ 8155E8C - ldr r0, _08155E98 @ =gUnknown_203F440 - ldr r0, [r0] - ldr r1, _08155E9C @ =0x00003024 - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_08155E98: .4byte gUnknown_203F440 -_08155E9C: .4byte 0x00003024 - thumb_func_end sub_8155E8C - - thumb_func_start sub_8155EA0 -sub_8155EA0: @ 8155EA0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - add r0, sp, 0x4 - mov r8, r0 - mov r2, sp - movs r6, 0 - ldr r1, _08155FD0 @ =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, _08155FD4 @ =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_08155EC6: - strh r6, [r2] - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r5 - subs r4, r5 - cmp r4, r5 - bhi _08155EC6 - strh r6, [r2] - mov r2, sp - str r2, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp, 0x4] - ldr r2, _08155FD0 @ =0x040000d4 - mov r1, r8 - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xA0 - lsls r1, 19 - mov r0, sp - strh r4, [r0] - str r0, [r2] - str r1, [r2, 0x4] - lsrs r3, 1 - movs r0, 0x81 - lsls r0, 24 - orrs r3, r0 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _08155FD8 @ =sUnknown_847565C - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - bl InitStandardTextBoxWindows - bl ResetBg0 - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r4, _08155FDC @ =gUnknown_203F440 - ldr r1, [r4] - movs r0, 0x3 - bl SetBgTilemapBuffer - ldr r1, [r4] - movs r2, 0x80 - lsls r2, 5 - adds r1, r2 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - movs r0, 0x80 - lsls r0, 6 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08155FD0: .4byte 0x040000d4 -_08155FD4: .4byte 0x81000800 -_08155FD8: .4byte sUnknown_847565C -_08155FDC: .4byte gUnknown_203F440 - thumb_func_end sub_8155EA0 - - thumb_func_start sub_8155FE0 -sub_8155FE0: @ 8155FE0 - push {lr} - sub sp, 0x4 - ldr r0, _08155FFC @ =gUnknown_203F440 - ldr r0, [r0] - ldr r2, _08156000 @ =0x00003018 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0x5 - bhi _0815607A - lsls r0, 2 - ldr r1, _08156004 @ =_08156008 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08155FFC: .4byte gUnknown_203F440 -_08156000: .4byte 0x00003018 -_08156004: .4byte _08156008 - .align 2, 0 -_08156008: - .4byte _08156020 - .4byte _08156030 - .4byte _08156036 - .4byte _08156044 - .4byte _0815605C - .4byte _0815606A -_08156020: - ldr r0, _0815602C @ =sDodrioBerryBgPal1 - movs r1, 0 - movs r2, 0x40 - bl LoadPalette - b _08156082 - .align 2, 0 -_0815602C: .4byte sDodrioBerryBgPal1 -_08156030: - bl ResetTempTileDataBuffers - b _08156082 -_08156036: - ldr r1, _08156040 @ =sDodrioBerryBgGfx1 - movs r0, 0 - str r0, [sp] - movs r0, 0x3 - b _0815604C - .align 2, 0 -_08156040: .4byte sDodrioBerryBgGfx1 -_08156044: - ldr r1, _08156058 @ =sDodrioBerryBgGfx2 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 -_0815604C: - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - b _08156082 - .align 2, 0 -_08156058: .4byte sDodrioBerryBgGfx2 -_0815605C: - bl FreeTempTileDataBuffersIfPossible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08156082 - b _08156090 -_0815606A: - movs r0, 0x3 - bl stdpal_get - movs r1, 0xD0 - movs r2, 0x20 - bl LoadPalette - b _08156082 -_0815607A: - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - b _08156092 -_08156082: - ldr r0, _08156098 @ =gUnknown_203F440 - ldr r1, [r0] - ldr r0, _0815609C @ =0x00003018 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08156090: - movs r0, 0 -_08156092: - add sp, 0x4 - pop {r1} - bx r1 - .align 2, 0 -_08156098: .4byte gUnknown_203F440 -_0815609C: .4byte 0x00003018 - thumb_func_end sub_8155FE0 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/dodrio_berry_picking_2.s b/asm/dodrio_berry_picking_2.s deleted file mode 100644 index 792dc4b0f..000000000 --- a/asm/dodrio_berry_picking_2.s +++ /dev/null @@ -1,734 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_815A61C -sub_815A61C: @ 815A61C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - ldr r4, [sp, 0x48] - lsls r4, 24 - str r4, [sp, 0x1C] - movs r4, 0x14 - adds r4, r0 - mov r9, r4 - mov r5, sp - movs r4, 0x2 - strb r4, [r5] - mov r10, sp - mov r5, r9 - ldrb r4, [r5, 0xB] - movs r7, 0xF - adds r5, r7, 0 - ands r5, r4 - mov r6, r10 - ldrb r6, [r6, 0x1] - mov r8, r6 - movs r4, 0x10 - negs r4, r4 - mov r6, r8 - ands r4, r6 - orrs r4, r5 - mov r5, r10 - strb r4, [r5, 0x1] - mov r8, sp - mov r6, r9 - ldrb r5, [r6, 0xC] - lsls r5, 4 - ands r4, r7 - orrs r4, r5 - mov r5, r8 - strb r4, [r5, 0x1] - ldrb r5, [r6, 0xD] - movs r6, 0xF - ands r5, r6 - mov r4, r10 - ldrb r4, [r4, 0x2] - mov r8, r4 - movs r4, 0x10 - negs r4, r4 - mov r6, r8 - ands r4, r6 - orrs r4, r5 - mov r5, r10 - strb r4, [r5, 0x2] - mov r8, sp - mov r6, r9 - ldrb r5, [r6, 0xE] - lsls r5, 4 - ands r4, r7 - orrs r4, r5 - mov r5, r8 - strb r4, [r5, 0x2] - ldrb r5, [r6, 0xF] - movs r6, 0xF - ands r5, r6 - mov r4, r10 - ldrb r4, [r4, 0x3] - mov r8, r4 - movs r4, 0x10 - negs r4, r4 - mov r6, r8 - ands r4, r6 - orrs r4, r5 - mov r5, r10 - strb r4, [r5, 0x3] - mov r8, sp - mov r6, r9 - ldrb r5, [r6, 0x10] - lsls r5, 4 - ands r4, r7 - orrs r4, r5 - mov r5, r8 - strb r4, [r5, 0x3] - ldrb r5, [r6, 0x11] - movs r6, 0xF - ands r5, r6 - mov r4, r10 - ldrb r4, [r4, 0x4] - mov r8, r4 - movs r4, 0x10 - negs r4, r4 - mov r6, r8 - ands r4, r6 - orrs r4, r5 - mov r5, r10 - strb r4, [r5, 0x4] - mov r8, sp - mov r6, r9 - ldrb r5, [r6, 0x12] - lsls r5, 4 - ands r4, r7 - orrs r4, r5 - mov r5, r8 - strb r4, [r5, 0x4] - ldrb r4, [r6, 0x13] - movs r6, 0xF - ands r4, r6 - mov r6, r8 - ldrb r5, [r6, 0x5] - movs r6, 0x10 - negs r6, r6 - ands r6, r5 - orrs r6, r4 - str r6, [sp, 0xC] - mov r4, r8 - strb r6, [r4, 0x5] - mov r5, sp - mov r6, r9 - ldrb r4, [r6, 0x14] - lsls r4, 4 - ldr r6, [sp, 0xC] - ands r6, r7 - orrs r6, r4 - strb r6, [r5, 0x5] - mov r7, sp - movs r4, 0x3 - mov r8, r4 - ldrb r0, [r0, 0x14] - mov r5, r8 - ands r0, r5 - ldrb r5, [r7, 0x6] - movs r6, 0x4 - negs r6, r6 - mov r10, r6 - mov r4, r10 - ands r4, r5 - orrs r4, r0 - strb r4, [r7, 0x6] - mov r5, r9 - ldrb r0, [r5, 0x1] - mov r6, r8 - ands r0, r6 - lsls r0, 2 - movs r5, 0xD - negs r5, r5 - ands r5, r4 - orrs r5, r0 - strb r5, [r7, 0x6] - mov r0, r9 - ldrb r4, [r0, 0x2] - ands r4, r6 - lsls r4, 4 - movs r0, 0x31 - negs r0, r0 - ands r0, r5 - orrs r0, r4 - strb r0, [r7, 0x6] - mov r5, sp - mov r6, r9 - ldrb r4, [r6, 0x3] - lsls r4, 6 - movs r6, 0x3F - ands r0, r6 - orrs r0, r4 - strb r0, [r5, 0x6] - mov r4, r9 - ldrb r0, [r4, 0x4] - mov r5, r8 - ands r0, r5 - ldrb r5, [r7, 0x7] - mov r4, r10 - ands r4, r5 - orrs r4, r0 - strb r4, [r7, 0x7] - mov r6, r9 - ldrb r0, [r6, 0x5] - mov r5, r8 - ands r0, r5 - lsls r0, 2 - movs r5, 0xD - negs r5, r5 - ands r5, r4 - orrs r5, r0 - strb r5, [r7, 0x7] - ldrb r4, [r6, 0x6] - mov r6, r8 - ands r4, r6 - lsls r4, 4 - movs r0, 0x31 - negs r0, r0 - ands r0, r5 - orrs r0, r4 - strb r0, [r7, 0x7] - mov r5, sp - mov r6, r9 - ldrb r4, [r6, 0x7] - lsls r4, 6 - movs r6, 0x3F - ands r0, r6 - orrs r0, r4 - strb r0, [r5, 0x7] - mov r8, sp - mov r0, r9 - ldrb r4, [r0, 0x8] - movs r7, 0x3 - adds r0, r7, 0 - ands r0, r4 - mov r4, r8 - ldrb r5, [r4, 0x8] - mov r4, r10 - ands r4, r5 - orrs r4, r0 - mov r5, r8 - strb r4, [r5, 0x8] - mov r6, r9 - ldrb r5, [r6, 0x9] - adds r0, r7, 0 - ands r0, r5 - lsls r0, 2 - movs r5, 0xD - negs r5, r5 - ands r5, r4 - orrs r5, r0 - mov r0, r8 - strb r5, [r0, 0x8] - ldrb r0, [r1] - adds r4, r7, 0 - ands r4, r0 - lsls r4, 4 - movs r0, 0x31 - negs r0, r0 - ands r0, r5 - orrs r0, r4 - mov r4, r8 - strb r0, [r4, 0x8] - mov r5, sp - ldrb r4, [r2] - lsls r4, 6 - movs r6, 0x3F - ands r0, r6 - orrs r0, r4 - strb r0, [r5, 0x8] - ldrb r4, [r3] - adds r0, r7, 0 - ands r0, r4 - ldrb r4, [r5, 0x9] - mov r6, r10 - ands r6, r4 - orrs r6, r0 - mov r10, r6 - strb r6, [r5, 0x9] - ldr r0, [sp, 0x40] - ldrb r4, [r0] - adds r0, r7, 0 - ands r0, r4 - lsls r0, 2 - movs r4, 0xD - negs r4, r4 - ands r6, r4 - orrs r6, r0 - str r6, [sp, 0x10] - strb r6, [r5, 0x9] - mov r4, sp - ldr r5, [sp, 0x44] - ldrb r0, [r5] - adds r6, r7, 0 - ands r6, r0 - lsls r0, r6, 4 - subs r7, 0x34 - ldr r5, [sp, 0x10] - ands r7, r5 - orrs r7, r0 - strb r7, [r4, 0x9] - mov r5, sp - ldrb r0, [r1, 0x4] - movs r6, 0x1 - mov r12, r6 - mov r4, r12 - ands r4, r0 - lsls r4, 6 - movs r0, 0x41 - negs r0, r0 - mov r10, r0 - ands r0, r7 - orrs r0, r4 - strb r0, [r5, 0x9] - ldrb r4, [r2, 0x4] - lsls r4, 7 - movs r5, 0x7F - ands r0, r5 - orrs r0, r4 - mov r4, r8 - strb r0, [r4, 0x9] - ldrb r4, [r3, 0x4] - mov r0, r12 - ands r0, r4 - mov r5, r8 - ldrb r4, [r5, 0xA] - movs r7, 0x2 - negs r7, r7 - adds r5, r7, 0 - ands r5, r4 - orrs r5, r0 - mov r6, r8 - strb r5, [r6, 0xA] - mov r9, sp - ldr r4, [sp, 0x40] - ldrb r0, [r4, 0x4] - mov r4, r12 - ands r4, r0 - lsls r4, 1 - movs r6, 0x3 - negs r6, r6 - mov r8, r6 - mov r0, r8 - ands r0, r5 - orrs r0, r4 - mov r4, r9 - strb r0, [r4, 0xA] - ldr r6, [sp, 0x44] - ldrb r5, [r6, 0x4] - mov r4, r12 - ands r4, r5 - lsls r4, 2 - movs r5, 0x5 - negs r5, r5 - ands r0, r5 - orrs r0, r4 - mov r4, r9 - strb r0, [r4, 0xA] - mov r4, sp - ldrb r1, [r1, 0x8] - mov r0, r12 - ands r0, r1 - lsls r0, 2 - ldrb r1, [r4, 0xB] - ands r5, r1 - orrs r5, r0 - strb r5, [r4, 0xB] - ldrb r1, [r2, 0x8] - mov r0, r12 - ands r0, r1 - lsls r0, 3 - movs r1, 0x9 - negs r1, r1 - ands r1, r5 - orrs r1, r0 - strb r1, [r4, 0xB] - ldrb r2, [r3, 0x8] - mov r0, r12 - ands r0, r2 - lsls r0, 4 - movs r2, 0x11 - negs r2, r2 - ands r2, r1 - orrs r2, r0 - strb r2, [r4, 0xB] - mov r3, sp - ldr r5, [sp, 0x40] - ldrb r0, [r5, 0x8] - mov r1, r12 - ands r1, r0 - lsls r1, 5 - movs r0, 0x21 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0xB] - mov r2, sp - ldrb r1, [r6, 0x8] - mov r6, r12 - ands r6, r1 - lsls r1, r6, 6 - mov r3, r10 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0xB] - ldr r4, [sp, 0x1C] - lsrs r3, r4, 21 - ldrb r1, [r2, 0xA] - movs r0, 0x7 - ands r0, r1 - orrs r0, r3 - strb r0, [r2, 0xA] - mov r1, sp - ldr r5, [sp, 0x4C] - movs r6, 0x1 - ands r5, r6 - lsls r2, r5, 1 - ldrb r0, [r1, 0xB] - mov r3, r8 - ands r3, r0 - orrs r3, r2 - mov r8, r3 - strb r3, [r1, 0xB] - mov r0, sp - ldr r4, [sp, 0x50] - ands r4, r6 - mov r5, r8 - ands r5, r7 - orrs r5, r4 - strb r5, [r0, 0xB] - bl sub_80F9E2C - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_815A61C - - thumb_func_start sub_815A950 -sub_815A950: @ 815A950 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r1, 0 - adds r5, r2, 0 - adds r6, r3, 0 - ldr r0, [sp, 0x1C] - mov r12, r0 - ldr r1, [sp, 0x20] - mov r8, r1 - ldr r0, [sp, 0x24] - mov r9, r0 - adds r2, r7, 0 - adds r2, 0x14 - ldr r4, _0815A98C @ =gRecvCmds - ldrh r0, [r4] - movs r1, 0xFF - lsls r1, 8 - ands r1, r0 - movs r0, 0xBC - lsls r0, 6 - cmp r1, r0 - bne _0815A988 - adds r3, r4, 0x2 - ldrb r0, [r4, 0x2] - cmp r0, 0x2 - beq _0815A990 -_0815A988: - movs r0, 0 - b _0815AACA - .align 2, 0 -_0815A98C: .4byte gRecvCmds -_0815A990: - ldrb r0, [r3, 0x1] - lsls r0, 28 - lsrs r0, 28 - strb r0, [r2, 0xB] - ldrb r0, [r3, 0x1] - lsrs r0, 4 - strb r0, [r2, 0xC] - ldrb r0, [r3, 0x2] - lsls r0, 28 - lsrs r0, 28 - strb r0, [r2, 0xD] - ldrb r0, [r3, 0x2] - lsrs r0, 4 - strb r0, [r2, 0xE] - ldrb r0, [r3, 0x3] - lsls r0, 28 - lsrs r0, 28 - strb r0, [r2, 0xF] - ldrb r0, [r3, 0x3] - lsrs r0, 4 - strb r0, [r2, 0x10] - ldrb r0, [r3, 0x4] - lsls r0, 28 - lsrs r0, 28 - strb r0, [r2, 0x11] - ldrb r0, [r3, 0x4] - lsrs r0, 4 - strb r0, [r2, 0x12] - ldrb r0, [r3, 0x5] - lsls r0, 28 - lsrs r0, 28 - strb r0, [r2, 0x13] - ldrb r0, [r3, 0x5] - lsrs r0, 4 - strb r0, [r2, 0x14] - ldrb r0, [r3, 0x1] - lsls r0, 28 - lsrs r0, 28 - strb r0, [r2, 0x15] - ldrb r0, [r3, 0x6] - lsls r0, 30 - lsrs r0, 30 - strb r0, [r7, 0x14] - ldrb r0, [r3, 0x6] - lsls r0, 28 - lsrs r0, 30 - strb r0, [r2, 0x1] - ldrb r0, [r3, 0x6] - lsls r0, 26 - lsrs r0, 30 - strb r0, [r2, 0x2] - ldrb r0, [r3, 0x6] - lsrs r0, 6 - strb r0, [r2, 0x3] - ldrb r0, [r3, 0x7] - lsls r0, 30 - lsrs r0, 30 - strb r0, [r2, 0x4] - ldrb r0, [r3, 0x7] - lsls r0, 28 - lsrs r0, 30 - strb r0, [r2, 0x5] - ldrb r0, [r3, 0x7] - lsls r0, 26 - lsrs r0, 30 - strb r0, [r2, 0x6] - ldrb r0, [r3, 0x7] - lsrs r0, 6 - strb r0, [r2, 0x7] - ldrb r0, [r3, 0x8] - lsls r0, 30 - lsrs r0, 30 - strb r0, [r2, 0x8] - ldrb r0, [r3, 0x8] - lsls r0, 28 - lsrs r0, 30 - strb r0, [r2, 0x9] - ldrb r0, [r3, 0x6] - lsls r0, 30 - lsrs r0, 30 - strb r0, [r2, 0xA] - ldrb r0, [r3, 0x8] - lsls r0, 26 - lsrs r0, 30 - strb r0, [r5] - ldrb r0, [r3, 0x9] - lsls r0, 25 - lsrs r0, 31 - strb r0, [r5, 0x4] - ldrb r0, [r3, 0xB] - lsls r0, 29 - lsrs r0, 31 - strb r0, [r5, 0x8] - ldrb r0, [r3, 0x8] - lsrs r0, 6 - strb r0, [r6] - ldrb r0, [r3, 0x9] - lsrs r0, 7 - strb r0, [r6, 0x4] - ldrb r0, [r3, 0xB] - lsls r0, 28 - lsrs r0, 31 - strb r0, [r6, 0x8] - ldrb r0, [r3, 0x9] - lsls r0, 30 - lsrs r0, 30 - mov r1, r12 - strb r0, [r1] - ldrb r0, [r3, 0xA] - lsls r0, 31 - lsrs r0, 31 - strb r0, [r1, 0x4] - ldrb r0, [r3, 0xB] - lsls r0, 27 - lsrs r0, 31 - strb r0, [r1, 0x8] - ldrb r0, [r3, 0x9] - lsls r0, 28 - lsrs r0, 30 - mov r1, r8 - strb r0, [r1] - ldrb r0, [r3, 0xA] - lsls r0, 30 - lsrs r0, 31 - strb r0, [r1, 0x4] - ldrb r0, [r3, 0xB] - lsls r0, 26 - lsrs r0, 31 - strb r0, [r1, 0x8] - ldrb r0, [r3, 0x9] - lsls r0, 26 - lsrs r0, 30 - mov r1, r9 - strb r0, [r1] - ldrb r0, [r3, 0xA] - lsls r0, 29 - lsrs r0, 31 - strb r0, [r1, 0x4] - ldrb r0, [r3, 0xB] - lsls r0, 25 - lsrs r0, 31 - strb r0, [r1, 0x8] - ldrb r0, [r3, 0xA] - lsrs r0, 3 - ldr r1, [sp, 0x28] - strb r0, [r1] - ldrb r0, [r3, 0xB] - lsls r0, 30 - lsrs r0, 31 - ldr r1, [sp, 0x2C] - str r0, [r1] - ldrb r0, [r3, 0xB] - lsls r0, 31 - lsrs r0, 31 - ldr r1, [sp, 0x30] - str r0, [r1] - movs r0, 0x1 -_0815AACA: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_815A950 - - thumb_func_start sub_815AAD8 -sub_815AAD8: @ 815AAD8 - push {lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _0815AB00 @ =0xffffff00 - ldr r1, [sp] - ands r1, r3 - movs r2, 0x3 - orrs r1, r2 - str r1, [sp] - ldr r1, [sp, 0x4] - ands r1, r3 - orrs r1, r0 - str r1, [sp, 0x4] - mov r0, sp - bl sub_80F9E2C - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0815AB00: .4byte 0xffffff00 - thumb_func_end sub_815AAD8 - - thumb_func_start sub_815AB04 -sub_815AB04: @ 815AB04 - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - ldr r3, _0815AB2C @ =gRecvCmds - ldrh r0, [r3] - movs r1, 0xFF - lsls r1, 8 - ands r1, r0 - movs r0, 0xBC - lsls r0, 6 - cmp r1, r0 - bne _0815AB28 - lsls r0, r2, 4 - adds r1, r3, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0x3 - beq _0815AB30 -_0815AB28: - movs r0, 0 - b _0815AB36 - .align 2, 0 -_0815AB2C: .4byte gRecvCmds -_0815AB30: - ldrb r0, [r1, 0x4] - strb r0, [r4] - movs r0, 0x1 -_0815AB36: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_815AB04 - - thumb_func_start sub_815AB3C -sub_815AB3C: @ 815AB3C - push {lr} - sub sp, 0x8 - ldr r2, _0815AB5C @ =0xffffff00 - ldr r1, [sp] - ands r1, r2 - movs r2, 0x4 - orrs r1, r2 - str r1, [sp] - str r0, [sp, 0x4] - mov r0, sp - bl sub_80F9E2C - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0815AB5C: .4byte 0xffffff00 - thumb_func_end sub_815AB3C - - thumb_func_start sub_815AB60 -sub_815AB60: @ 815AB60 - push {lr} - adds r2, r0, 0 - ldr r3, _0815AB88 @ =gRecvCmds - ldrh r0, [r3] - movs r1, 0xFF - lsls r1, 8 - ands r1, r0 - movs r0, 0xBC - lsls r0, 6 - cmp r1, r0 - bne _0815AB82 - lsls r0, r2, 4 - adds r1, r3, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0x4 - beq _0815AB8C -_0815AB82: - movs r0, 0 - b _0815AB8E - .align 2, 0 -_0815AB88: .4byte gRecvCmds -_0815AB8C: - ldr r0, [r1, 0x4] -_0815AB8E: - pop {r1} - bx r1 - thumb_func_end sub_815AB60 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/easy_chat_2.s b/asm/easy_chat_2.s deleted file mode 100644 index c88c5deeb..000000000 --- a/asm/easy_chat_2.s +++ /dev/null @@ -1,7654 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start DoEasyChatScreen -DoEasyChatScreen: @ 80FEBAC - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - adds r6, r1, 0 - mov r8, r2 - lsls r5, 24 - lsrs r5, 24 - bl ResetTasks - ldr r0, _080FEC00 @ =sub_80FEC54 - movs r1, 0 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080FEC04 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0xA] - adds r0, r4, 0 - movs r1, 0x2 - adds r2, r6, 0 - bl SetWordTaskArg - adds r0, r4, 0 - movs r1, 0x4 - mov r2, r8 - bl SetWordTaskArg - ldr r0, _080FEC08 @ =sub_80FEC0C - bl SetMainCallback2 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080FEC00: .4byte sub_80FEC54 -_080FEC04: .4byte gTasks -_080FEC08: .4byte sub_80FEC0C - thumb_func_end DoEasyChatScreen - - thumb_func_start sub_80FEC0C -sub_80FEC0C: @ 80FEC0C - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80FEC0C - - thumb_func_start sub_80FEC24 -sub_80FEC24: @ 80FEC24 - push {lr} - bl TransferPlttBuffer - bl LoadOam - bl ProcessSpriteCopyRequests - pop {r0} - bx r0 - thumb_func_end sub_80FEC24 - - thumb_func_start sub_80FEC38 -sub_80FEC38: @ 80FEC38 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _080FEC50 @ =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r3 - str r1, [r2] - movs r0, 0 - strh r0, [r2, 0x8] - bx lr - .align 2, 0 -_080FEC50: .4byte gTasks - thumb_func_end sub_80FEC38 - - thumb_func_start sub_80FEC54 -sub_80FEC54: @ 80FEC54 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl IsUpdateLinkStateCBActive - cmp r0, 0 - bne _080FEC70 -_080FEC62: - adds r0, r4, 0 - bl sub_80FED80 - lsls r0, 24 - cmp r0, 0 - bne _080FEC62 - b _080FEC7E -_080FEC70: - adds r0, r4, 0 - bl sub_80FED80 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080FEC86 -_080FEC7E: - ldr r1, _080FEC8C @ =sub_80FEC90 - adds r0, r4, 0 - bl sub_80FEC38 -_080FEC86: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FEC8C: .4byte sub_80FEC90 - thumb_func_end sub_80FEC54 - - thumb_func_start sub_80FEC90 -sub_80FEC90: @ 80FEC90 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080FECB4 @ =gTasks+0x8 - adds r6, r0, r1 - movs r0, 0 - ldrsh r5, [r6, r0] - cmp r5, 0x1 - beq _080FECEC - cmp r5, 0x1 - bgt _080FECB8 - cmp r5, 0 - beq _080FECC2 - b _080FED6E - .align 2, 0 -_080FECB4: .4byte gTasks+0x8 -_080FECB8: - cmp r5, 0x2 - beq _080FED28 - cmp r5, 0x3 - beq _080FED38 - b _080FED6E -_080FECC2: - ldr r0, _080FECE8 @ =sub_80FEC24 - bl SetVBlankCallback - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - str r5, [sp] - adds r0, r4, 0 - adds r1, r4, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _080FED20 - .align 2, 0 -_080FECE8: .4byte sub_80FEC24 -_080FECEC: - bl sub_80FF028 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x17 - bne _080FED10 - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x3 - strh r0, [r6] - b _080FED6E -_080FED10: - cmp r4, 0 - beq _080FED6E - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_8100134 -_080FED20: - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - b _080FED6E -_080FED28: - bl sub_810014C - lsls r0, 24 - cmp r0, 0 - bne _080FED6E - movs r0, 0x1 - strh r0, [r6] - b _080FED6E -_080FED38: - ldr r0, _080FED78 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080FED6E - movs r1, 0x2 - ldrsh r0, [r6, r1] - cmp r0, 0xE - bne _080FED50 - bl sub_80FEF4C -_080FED50: - movs r1, 0x2 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080FED62 - ldr r0, _080FED7C @ =0x0000082d - bl FlagSet - bl sub_80FEF2C -_080FED62: - adds r0, r4, 0 - movs r1, 0x4 - bl GetWordTaskArg - bl sub_80FEE24 -_080FED6E: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080FED78: .4byte gPaletteFade -_080FED7C: .4byte 0x0000082d - thumb_func_end sub_80FEC90 - - thumb_func_start sub_80FED80 -sub_80FED80: @ 80FED80 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080FEDA4 @ =gTasks+0x8 - adds r6, r0, r1 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0x4 - bhi _080FEE12 - lsls r0, 2 - ldr r1, _080FEDA8 @ =_080FEDAC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080FEDA4: .4byte gTasks+0x8 -_080FEDA8: .4byte _080FEDAC - .align 2, 0 -_080FEDAC: - .4byte _080FEDC0 - .4byte _080FEDD4 - .4byte _080FEDDA - .4byte _080FEDEE - .4byte _080FEE06 -_080FEDC0: - movs r0, 0 - bl SetVBlankCallback - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetPaletteFade - b _080FEE16 -_080FEDD4: - bl InitEasyChatSelection - b _080FEDF2 -_080FEDDA: - ldrb r4, [r6, 0x2] - adds r0, r5, 0 - movs r1, 0x2 - bl GetWordTaskArg - adds r1, r0, 0 - adds r0, r4, 0 - bl sub_80FEF6C - b _080FEDF2 -_080FEDEE: - bl sub_80FFF80 -_080FEDF2: - lsls r0, 24 - cmp r0, 0 - bne _080FEE16 - adds r0, r5, 0 - movs r1, 0x4 - bl GetWordTaskArg - bl sub_80FEE24 - b _080FEE16 -_080FEE06: - bl sub_80FFF98 - lsls r0, 24 - cmp r0, 0 - beq _080FEE16 - b _080FEE1C -_080FEE12: - movs r0, 0 - b _080FEE1E -_080FEE16: - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] -_080FEE1C: - movs r0, 0x1 -_080FEE1E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80FED80 - - thumb_func_start sub_80FEE24 -sub_80FEE24: @ 80FEE24 - push {r4,lr} - adds r4, r0, 0 - bl DestroyEasyChatSelectionData - bl sub_80FF010 - bl sub_810011C - bl FreeAllWindowBuffers - adds r0, r4, 0 - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FEE24 - - thumb_func_start sub_80FEE44 -sub_80FEE44: @ 80FEE44 - push {lr} - ldr r0, _080FEE58 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0xE - bhi _080FEF12 - lsls r0, 2 - ldr r1, _080FEE5C @ =_080FEE60 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080FEE58: .4byte gSpecialVar_0x8004 -_080FEE5C: .4byte _080FEE60 - .align 2, 0 -_080FEE60: - .4byte _080FEE9C - .4byte _080FEEB0 - .4byte _080FEEC4 - .4byte _080FEED8 - .4byte _080FEEF4 - .4byte _080FEF12 - .4byte _080FEF12 - .4byte _080FEF12 - .4byte _080FEF12 - .4byte _080FEF12 - .4byte _080FEF12 - .4byte _080FEF12 - .4byte _080FEF12 - .4byte _080FEF12 - .4byte _080FEEEC -_080FEE9C: - ldr r0, _080FEEA8 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, _080FEEAC @ =0x00002ca0 - adds r1, r0, r2 - b _080FEF08 - .align 2, 0 -_080FEEA8: .4byte gSaveBlock1Ptr -_080FEEAC: .4byte 0x00002ca0 -_080FEEB0: - ldr r0, _080FEEBC @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, _080FEEC0 @ =0x00002cac - adds r1, r0, r2 - b _080FEF08 - .align 2, 0 -_080FEEBC: .4byte gSaveBlock1Ptr -_080FEEC0: .4byte 0x00002cac -_080FEEC4: - ldr r0, _080FEED0 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, _080FEED4 @ =0x00002cb8 - adds r1, r0, r2 - b _080FEF08 - .align 2, 0 -_080FEED0: .4byte gSaveBlock1Ptr -_080FEED4: .4byte 0x00002cb8 -_080FEED8: - ldr r0, _080FEEE4 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, _080FEEE8 @ =0x00002cc4 - adds r1, r0, r2 - b _080FEF08 - .align 2, 0 -_080FEEE4: .4byte gSaveBlock1Ptr -_080FEEE8: .4byte 0x00002cc4 -_080FEEEC: - bl GetMEventProfileECWordsMaybe - adds r1, r0, 0 - b _080FEF08 -_080FEEF4: - ldr r2, _080FEF18 @ =gSaveBlock1Ptr - ldr r0, _080FEF1C @ =gSpecialVar_0x8005 - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080FEF20 @ =0x00002cd0 - adds r0, r1 - ldr r1, [r2] - adds r1, r0 -_080FEF08: - ldr r0, _080FEF24 @ =gSpecialVar_0x8004 - ldrb r0, [r0] - ldr r2, _080FEF28 @ =sub_80568C4 - bl DoEasyChatScreen -_080FEF12: - pop {r0} - bx r0 - .align 2, 0 -_080FEF18: .4byte gSaveBlock1Ptr -_080FEF1C: .4byte gSpecialVar_0x8005 -_080FEF20: .4byte 0x00002cd0 -_080FEF24: .4byte gSpecialVar_0x8004 -_080FEF28: .4byte sub_80568C4 - thumb_func_end sub_80FEE44 - - thumb_func_start sub_80FEF2C -sub_80FEF2C: @ 80FEF2C - push {r4,lr} - ldr r4, _080FEF44 @ =gSpecialVar_0x8004 - ldr r0, _080FEF48 @ =gUnknown_843F29C - movs r1, 0x4 - bl sub_80FFEDC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FEF44: .4byte gSpecialVar_0x8004 -_080FEF48: .4byte gUnknown_843F29C - thumb_func_end sub_80FEF2C - - thumb_func_start sub_80FEF4C -sub_80FEF4C: @ 80FEF4C - push {r4,lr} - ldr r4, _080FEF64 @ =gSpecialVar_0x8004 - ldr r0, _080FEF68 @ =gUnknown_843F2A4 - movs r1, 0x4 - bl sub_80FFEDC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FEF64: .4byte gSpecialVar_0x8004 -_080FEF68: .4byte gUnknown_843F2A4 - thumb_func_end sub_80FEF4C - - thumb_func_start sub_80FEF6C -sub_80FEF6C: @ 80FEF6C - push {r4-r6,lr} - adds r6, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _080FEF88 @ =gUnknown_203ACE8 - movs r0, 0x2C - bl Alloc - str r0, [r4] - cmp r0, 0 - bne _080FEF8C - movs r0, 0 - b _080FF006 - .align 2, 0 -_080FEF88: .4byte gUnknown_203ACE8 -_080FEF8C: - movs r1, 0 - strb r5, [r0] - ldr r0, [r4] - str r6, [r0, 0x14] - strb r1, [r0, 0x4] - ldr r0, [r4] - strb r1, [r0, 0x5] - ldr r0, [r4] - strb r1, [r0, 0x6] - ldr r0, [r4] - strb r1, [r0, 0x9] - adds r0, r5, 0 - bl sub_80FFF1C - lsls r0, 24 - lsrs r0, 24 - ldr r3, [r4] - ldr r2, _080FF00C @ =gUnknown_843F2AC - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r2, [r1, 0x1] - strb r2, [r3, 0x2] - ldr r2, [r4] - ldrb r1, [r1, 0x2] - strb r1, [r2, 0x3] - ldr r1, [r4] - ldrb r3, [r1, 0x2] - ldrb r2, [r1, 0x3] - adds r5, r3, 0 - muls r5, r2 - adds r2, r5, 0 - strb r2, [r1, 0x7] - ldr r1, [r4] - strb r0, [r1, 0x1] - ldr r1, [r4] - ldrb r0, [r1, 0x7] - cmp r0, 0x9 - bls _080FEFE0 - movs r0, 0x9 - strb r0, [r1, 0x7] -_080FEFE0: - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x18 - ldrb r2, [r0, 0x7] - adds r0, r6, 0 - bl CpuSet - bl GetNumDisplayableGroups - ldr r2, [r4] - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0x1 - strb r0, [r2, 0xD] - movs r0, 0x1 -_080FF006: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080FF00C: .4byte gUnknown_843F2AC - thumb_func_end sub_80FEF6C - - thumb_func_start sub_80FF010 -sub_80FF010: @ 80FF010 - push {lr} - ldr r0, _080FF024 @ =gUnknown_203ACE8 - ldr r0, [r0] - cmp r0, 0 - beq _080FF01E - bl Free -_080FF01E: - pop {r0} - bx r0 - .align 2, 0 -_080FF024: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FF010 - - thumb_func_start sub_80FF028 -sub_80FF028: @ 80FF028 - push {lr} - ldr r0, _080FF040 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r0, 0x6 - bhi _080FF092 - lsls r0, 2 - ldr r1, _080FF044 @ =_080FF048 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080FF040: .4byte gUnknown_203ACE8 -_080FF044: .4byte _080FF048 - .align 2, 0 -_080FF048: - .4byte _080FF064 - .4byte _080FF06A - .4byte _080FF070 - .4byte _080FF076 - .4byte _080FF07C - .4byte _080FF082 - .4byte _080FF088 -_080FF064: - bl sub_80FF098 - b _080FF08C -_080FF06A: - bl sub_80FF20C - b _080FF08C -_080FF070: - bl sub_80FF360 - b _080FF08C -_080FF076: - bl sub_80FF41C - b _080FF08C -_080FF07C: - bl sub_80FF4A8 - b _080FF08C -_080FF082: - bl sub_80FF544 - b _080FF08C -_080FF088: - bl sub_80FF4F0 -_080FF08C: - lsls r0, 16 - lsrs r0, 16 - b _080FF094 -_080FF092: - movs r0, 0 -_080FF094: - pop {r1} - bx r1 - thumb_func_end sub_80FF028 - - thumb_func_start sub_80FF098 -sub_80FF098: @ 80FF098 - push {r4-r7,lr} - ldr r0, _080FF0C0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080FF0E4 - ldr r1, _080FF0C4 @ =gUnknown_203ACE8 - ldr r3, [r1] - movs r2, 0 - movs r0, 0x2 - strb r0, [r3, 0x4] - ldr r0, [r1] - strb r2, [r0, 0xA] - ldr r0, [r1] - strb r2, [r0, 0xB] - ldr r0, [r1] - strb r2, [r0, 0xC] - movs r0, 0x9 - b _080FF1FC - .align 2, 0 -_080FF0C0: .4byte gMain -_080FF0C4: .4byte gUnknown_203ACE8 -_080FF0C8: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _080FF194 - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080FF184 - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _080FF174 - movs r0, 0 - b _080FF1FC -_080FF0E4: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080FF1A4 - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _080FF1AA - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080FF0C8 - ldr r2, _080FF16C @ =gUnknown_203ACE8 - ldr r1, [r2] - ldrb r0, [r1, 0x6] - subs r0, 0x1 -_080FF104: - strb r0, [r1, 0x6] -_080FF106: - adds r7, r2, 0 - adds r4, r7, 0 - ldr r2, [r4] - movs r0, 0x6 - ldrsb r0, [r2, r0] - ldr r6, _080FF170 @ =gUnknown_843F2AC - cmp r0, 0 - bge _080FF124 - ldrb r0, [r2, 0x1] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r6 - ldrb r0, [r1, 0x2] - strb r0, [r2, 0x6] -_080FF124: - ldr r3, [r4] - movs r2, 0x6 - ldrsb r2, [r3, r2] - adds r5, r6, 0 - ldrb r1, [r3, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - ldrb r0, [r0, 0x2] - cmp r2, r0 - ble _080FF140 - movs r0, 0 - strb r0, [r3, 0x6] -_080FF140: - ldr r3, [r4] - movs r2, 0x6 - ldrsb r2, [r3, r2] - ldrb r1, [r3, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r1, r0, r5 - ldrb r0, [r1, 0x2] - cmp r2, r0 - bne _080FF1B4 - movs r0, 0x5 - ldrsb r0, [r3, r0] - cmp r0, 0x2 - ble _080FF162 - movs r0, 0x2 - strb r0, [r3, 0x5] -_080FF162: - ldr r1, [r4] - movs r0, 0x1 - strb r0, [r1, 0x4] - movs r0, 0x3 - b _080FF1FC - .align 2, 0 -_080FF16C: .4byte gUnknown_203ACE8 -_080FF170: .4byte gUnknown_843F2AC -_080FF174: - ldr r2, _080FF180 @ =gUnknown_203ACE8 - ldr r1, [r2] - ldrb r0, [r1, 0x5] - adds r0, 0x1 - strb r0, [r1, 0x5] - b _080FF106 - .align 2, 0 -_080FF180: .4byte gUnknown_203ACE8 -_080FF184: - ldr r2, _080FF190 @ =gUnknown_203ACE8 - ldr r1, [r2] - ldrb r0, [r1, 0x6] - adds r0, 0x1 - b _080FF104 - .align 2, 0 -_080FF190: .4byte gUnknown_203ACE8 -_080FF194: - ldr r2, _080FF1A0 @ =gUnknown_203ACE8 - ldr r1, [r2] - ldrb r0, [r1, 0x5] - subs r0, 0x1 - strb r0, [r1, 0x5] - b _080FF106 - .align 2, 0 -_080FF1A0: .4byte gUnknown_203ACE8 -_080FF1A4: - bl sub_80FF590 - b _080FF1AE -_080FF1AA: - bl sub_80FF5C0 -_080FF1AE: - lsls r0, 16 - lsrs r0, 16 - b _080FF1FC -_080FF1B4: - movs r0, 0x5 - ldrsb r0, [r3, r0] - cmp r0, 0 - bge _080FF1C2 - ldrb r0, [r1, 0x1] - subs r0, 0x1 - strb r0, [r3, 0x5] -_080FF1C2: - ldr r3, [r4] - movs r2, 0x5 - ldrsb r2, [r3, r2] - ldrb r1, [r3, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - ldrb r0, [r0, 0x1] - cmp r2, r0 - blt _080FF1DC - movs r0, 0 - strb r0, [r3, 0x5] -_080FF1DC: - bl sub_80FFCE0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080FF1FA - ldr r2, [r7] - ldr r0, [r2, 0x4] - ldr r1, _080FF204 @ =0x00ffff00 - ands r0, r1 - ldr r1, _080FF208 @ =0x00040100 - cmp r0, r1 - bne _080FF1FA - movs r0, 0 - strb r0, [r2, 0x5] -_080FF1FA: - movs r0, 0x2 -_080FF1FC: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080FF204: .4byte 0x00ffff00 -_080FF208: .4byte 0x00040100 - thumb_func_end sub_80FF098 - - thumb_func_start sub_80FF20C -sub_80FF20C: @ 80FF20C - push {r4-r6,lr} - ldr r2, _080FF22C @ =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080FF270 - ldr r0, _080FF230 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - beq _080FF26A - b _080FF254 - .align 2, 0 -_080FF22C: .4byte gMain -_080FF230: .4byte gUnknown_203ACE8 -_080FF234: - movs r0, 0x20 - ands r0, r2 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - bne _080FF2F8 - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - bne _080FF2E8 - movs r0, 0x10 - ands r0, r2 - cmp r0, 0 - bne _080FF2D8 - movs r0, 0 - b _080FF34E -_080FF254: - cmp r0, 0x1 - bgt _080FF25E - cmp r0, 0 - beq _080FF264 - b _080FF270 -_080FF25E: - cmp r0, 0x2 - beq _080FF30E - b _080FF270 -_080FF264: - bl sub_80FF5A8 - b _080FF312 -_080FF26A: - bl sub_80FF590 - b _080FF312 -_080FF270: - ldrh r2, [r2, 0x2E] - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - bne _080FF308 - movs r0, 0x8 - ands r0, r2 - cmp r0, 0 - bne _080FF30E - movs r0, 0x40 - ands r0, r2 - cmp r0, 0 - beq _080FF234 - ldr r2, _080FF2D0 @ =gUnknown_203ACE8 - ldr r1, [r2] - ldrb r0, [r1, 0x6] - subs r0, 0x1 - strb r0, [r1, 0x6] -_080FF294: - adds r6, r2, 0 -_080FF296: - adds r5, r6, 0 - ldr r4, [r5] - movs r3, 0x6 - ldrsb r3, [r4, r3] - ldr r2, _080FF2D4 @ =gUnknown_843F2AC - ldrb r1, [r4, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r1, r0, r2 - ldrb r0, [r1, 0x2] - cmp r3, r0 - bne _080FF318 - movs r0, 0x5 - ldrsb r0, [r4, r0] - cmp r0, 0 - bge _080FF2BC - movs r0, 0x2 - strb r0, [r4, 0x5] -_080FF2BC: - ldr r1, [r5] - movs r0, 0x5 - ldrsb r0, [r1, r0] - cmp r0, 0x2 - ble _080FF2CA - movs r0, 0 - strb r0, [r1, 0x5] -_080FF2CA: - movs r0, 0x3 - b _080FF34E - .align 2, 0 -_080FF2D0: .4byte gUnknown_203ACE8 -_080FF2D4: .4byte gUnknown_843F2AC -_080FF2D8: - ldr r2, _080FF2E4 @ =gUnknown_203ACE8 - ldr r1, [r2] - ldrb r0, [r1, 0x5] - adds r0, 0x1 - strb r0, [r1, 0x5] - b _080FF294 - .align 2, 0 -_080FF2E4: .4byte gUnknown_203ACE8 -_080FF2E8: - ldr r1, _080FF2F4 @ =gUnknown_203ACE8 - ldr r0, [r1] - strb r3, [r0, 0x6] - adds r6, r1, 0 - b _080FF296 - .align 2, 0 -_080FF2F4: .4byte gUnknown_203ACE8 -_080FF2F8: - ldr r2, _080FF304 @ =gUnknown_203ACE8 - ldr r1, [r2] - ldrb r0, [r1, 0x5] - subs r0, 0x1 - strb r0, [r1, 0x5] - b _080FF294 - .align 2, 0 -_080FF304: .4byte gUnknown_203ACE8 -_080FF308: - bl sub_80FF590 - b _080FF312 -_080FF30E: - bl sub_80FF5C0 -_080FF312: - lsls r0, 16 - lsrs r0, 16 - b _080FF34E -_080FF318: - movs r0, 0x5 - ldrsb r0, [r4, r0] - ldrb r1, [r1, 0x1] - cmp r0, r1 - blt _080FF326 - subs r0, r1, 0x1 - strb r0, [r4, 0x5] -_080FF326: - bl sub_80FFCE0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080FF344 - ldr r2, [r6] - ldr r0, [r2, 0x4] - ldr r1, _080FF354 @ =0x00ffff00 - ands r0, r1 - ldr r1, _080FF358 @ =0x00040100 - cmp r0, r1 - bne _080FF344 - movs r0, 0 - strb r0, [r2, 0x5] -_080FF344: - ldr r0, _080FF35C @ =gUnknown_203ACE8 - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x4] - movs r0, 0x2 -_080FF34E: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080FF354: .4byte 0x00ffff00 -_080FF358: .4byte 0x00040100 -_080FF35C: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FF20C - - thumb_func_start sub_80FF360 -sub_80FF360: @ 80FF360 - push {lr} - ldr r1, _080FF378 @ =gMain - ldrh r2, [r1, 0x2E] - movs r0, 0x2 - ands r0, r2 - adds r3, r1, 0 - cmp r0, 0 - beq _080FF37C - bl sub_80FF678 - b _080FF412 - .align 2, 0 -_080FF378: .4byte gMain -_080FF37C: - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - beq _080FF3CA - ldr r0, _080FF39C @ =gUnknown_203ACE8 - ldr r2, [r0] - movs r1, 0xA - ldrsb r1, [r2, r1] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080FF3A0 - bl sub_80FF5FC - b _080FF412 - .align 2, 0 -_080FF39C: .4byte gUnknown_203ACE8 -_080FF3A0: - movs r0, 0xB - ldrsb r0, [r2, r0] - cmp r0, 0x1 - beq _080FF3BE - cmp r0, 0x1 - bgt _080FF3B2 - cmp r0, 0 - beq _080FF3B8 - b _080FF3CA -_080FF3B2: - cmp r0, 0x2 - beq _080FF3C4 - b _080FF3CA -_080FF3B8: - bl sub_80FF688 - b _080FF412 -_080FF3BE: - bl sub_80FF6B4 - b _080FF412 -_080FF3C4: - bl sub_80FF678 - b _080FF412 -_080FF3CA: - ldrh r1, [r3, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080FF3DA - bl sub_80FF688 - b _080FF412 -_080FF3DA: - ldrh r1, [r3, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080FF3E8 - movs r0, 0x2 - b _080FF40E -_080FF3E8: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080FF3F4 - movs r0, 0x3 - b _080FF40E -_080FF3F4: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080FF400 - movs r0, 0x1 - b _080FF40E -_080FF400: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _080FF40C - movs r0, 0 - b _080FF416 -_080FF40C: - movs r0, 0 -_080FF40E: - bl sub_80FF7CC -_080FF412: - lsls r0, 16 - lsrs r0, 16 -_080FF416: - pop {r1} - bx r1 - thumb_func_end sub_80FF360 - - thumb_func_start sub_80FF41C -sub_80FF41C: @ 80FF41C - push {lr} - ldr r2, _080FF438 @ =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080FF440 - ldr r0, _080FF43C @ =gUnknown_203ACE8 - ldr r1, [r0] - movs r0, 0x2 - strb r0, [r1, 0x4] - movs r0, 0xD - b _080FF4A2 - .align 2, 0 -_080FF438: .4byte gMain -_080FF43C: .4byte gUnknown_203ACE8 -_080FF440: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080FF44E - bl sub_80FF6C8 - b _080FF49E -_080FF44E: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080FF45A - movs r0, 0x4 - b _080FF49A -_080FF45A: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080FF466 - movs r0, 0x5 - b _080FF49A -_080FF466: - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080FF474 - movs r0, 0x2 - b _080FF49A -_080FF474: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080FF480 - movs r0, 0x3 - b _080FF49A -_080FF480: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080FF48C - movs r0, 0x1 - b _080FF49A -_080FF48C: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _080FF498 - movs r0, 0 - b _080FF4A2 -_080FF498: - movs r0, 0 -_080FF49A: - bl sub_80FFA38 -_080FF49E: - lsls r0, 16 - lsrs r0, 16 -_080FF4A2: - pop {r1} - bx r1 - thumb_func_end sub_80FF41C - - thumb_func_start sub_80FF4A8 -sub_80FF4A8: @ 80FF4A8 - push {lr} - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080FF4DC - cmp r1, 0 - bgt _080FF4C4 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080FF4C8 - b _080FF4E8 -_080FF4C4: - cmp r1, 0x1 - bne _080FF4E8 -_080FF4C8: - bl sub_80FF5F0 - ldr r1, _080FF4D8 @ =gUnknown_203ACE8 - ldr r1, [r1] - strb r0, [r1, 0x4] - movs r0, 0x7 - b _080FF4EA - .align 2, 0 -_080FF4D8: .4byte gUnknown_203ACE8 -_080FF4DC: - ldr r0, _080FF4E4 @ =gSpecialVar_Result - strh r1, [r0] - movs r0, 0x17 - b _080FF4EA - .align 2, 0 -_080FF4E4: .4byte gSpecialVar_Result -_080FF4E8: - movs r0, 0 -_080FF4EA: - pop {r1} - bx r1 - thumb_func_end sub_80FF4A8 - - thumb_func_start sub_80FF4F0 -sub_80FF4F0: @ 80FF4F0 - push {r4,lr} - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080FF524 - cmp r1, 0 - bgt _080FF50C - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080FF510 - b _080FF53C -_080FF50C: - cmp r1, 0x1 - bne _080FF53C -_080FF510: - bl sub_80FF5F0 - ldr r1, _080FF520 @ =gUnknown_203ACE8 - ldr r1, [r1] - strb r0, [r1, 0x4] - movs r0, 0x7 - b _080FF53E - .align 2, 0 -_080FF520: .4byte gUnknown_203ACE8 -_080FF524: - ldr r4, _080FF538 @ =gSpecialVar_Result - bl sub_80FF78C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - bl sub_80FF6F0 - movs r0, 0x17 - b _080FF53E - .align 2, 0 -_080FF538: .4byte gSpecialVar_Result -_080FF53C: - movs r0, 0 -_080FF53E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80FF4F0 - - thumb_func_start sub_80FF544 -sub_80FF544: @ 80FF544 - push {lr} - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _080FF574 - cmp r1, 0 - bgt _080FF560 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080FF564 - b _080FF588 -_080FF560: - cmp r1, 0x1 - bne _080FF588 -_080FF564: - ldr r0, _080FF570 @ =gUnknown_203ACE8 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1, 0x4] - movs r0, 0x7 - b _080FF58A - .align 2, 0 -_080FF570: .4byte gUnknown_203ACE8 -_080FF574: - bl sub_80FF728 - ldr r0, _080FF584 @ =gUnknown_203ACE8 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1, 0x4] - movs r0, 0x8 - b _080FF58A - .align 2, 0 -_080FF584: .4byte gUnknown_203ACE8 -_080FF588: - movs r0, 0 -_080FF58A: - pop {r1} - bx r1 - thumb_func_end sub_80FF544 - - thumb_func_start sub_80FF590 -sub_80FF590: @ 80FF590 - ldr r2, _080FF5A4 @ =gUnknown_203ACE8 - ldr r1, [r2] - ldrb r0, [r1, 0x4] - strb r0, [r1, 0x8] - ldr r1, [r2] - movs r0, 0x4 - strb r0, [r1, 0x4] - movs r0, 0x5 - bx lr - .align 2, 0 -_080FF5A4: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FF590 - - thumb_func_start sub_80FF5A8 -sub_80FF5A8: @ 80FF5A8 - ldr r2, _080FF5BC @ =gUnknown_203ACE8 - ldr r1, [r2] - ldrb r0, [r1, 0x4] - strb r0, [r1, 0x8] - ldr r1, [r2] - movs r0, 0x5 - strb r0, [r1, 0x4] - movs r0, 0x4 - bx lr - .align 2, 0 -_080FF5BC: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FF5A8 - - thumb_func_start sub_80FF5C0 -sub_80FF5C0: @ 80FF5C0 - push {r4,lr} - ldr r4, _080FF5DC @ =gUnknown_203ACE8 - ldr r0, [r4] - ldrb r1, [r0, 0x4] - strb r1, [r0, 0x8] - bl sub_80FFF48 - cmp r0, 0 - bne _080FF5E0 - ldr r1, [r4] - movs r0, 0x6 - strb r0, [r1, 0x4] - b _080FF5E8 - .align 2, 0 -_080FF5DC: .4byte gUnknown_203ACE8 -_080FF5E0: - ldr r1, [r4] - movs r0, 0x4 - strb r0, [r1, 0x4] - movs r0, 0x5 -_080FF5E8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80FF5C0 - - thumb_func_start sub_80FF5F0 -sub_80FF5F0: @ 80FF5F0 - ldr r0, _080FF5F8 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0, 0x8] - bx lr - .align 2, 0 -_080FF5F8: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FF5F0 - - thumb_func_start sub_80FF5FC -sub_80FF5FC: @ 80FF5FC - push {lr} - ldr r0, _080FF624 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0, 0x9] - cmp r0, 0 - bne _080FF628 - bl sub_80FFB8C - lsls r0, 24 - lsrs r0, 24 - bl GetSelectedGroupByIndex - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - bl GetUnlockedECWords - b _080FF638 - .align 2, 0 -_080FF624: .4byte gUnknown_203ACE8 -_080FF628: - bl sub_80FFBAC - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1 - bl GetUnlockedECWords -_080FF638: - bl GetNumDisplayedWords - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _080FF670 - ldr r2, _080FF66C @ =gUnknown_203ACE8 - ldr r3, [r2] - subs r0, 0x1 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - movs r1, 0 - strb r0, [r3, 0xF] - ldr r0, [r2] - strb r1, [r0, 0xE] - ldr r0, [r2] - strb r1, [r0, 0x10] - ldr r0, [r2] - strb r1, [r0, 0x11] - ldr r1, [r2] - movs r0, 0x3 - strb r0, [r1, 0x4] - movs r0, 0xB - b _080FF672 - .align 2, 0 -_080FF66C: .4byte gUnknown_203ACE8 -_080FF670: - movs r0, 0 -_080FF672: - pop {r1} - bx r1 - thumb_func_end sub_80FF5FC - - thumb_func_start sub_80FF678 -sub_80FF678: @ 80FF678 - ldr r0, _080FF684 @ =gUnknown_203ACE8 - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x4] - movs r0, 0xA - bx lr - .align 2, 0 -_080FF684: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FF678 - - thumb_func_start sub_80FF688 -sub_80FF688: @ 80FF688 - push {lr} - ldr r1, _080FF6A8 @ =gUnknown_203ACE8 - ldr r0, [r1] - movs r2, 0 - strb r2, [r0, 0xA] - ldr r0, [r1] - strb r2, [r0, 0xB] - ldr r0, [r1] - strb r2, [r0, 0xC] - ldr r1, [r1] - ldrb r0, [r1, 0x9] - cmp r0, 0 - bne _080FF6AC - movs r0, 0x1 - strb r0, [r1, 0x9] - b _080FF6AE - .align 2, 0 -_080FF6A8: .4byte gUnknown_203ACE8 -_080FF6AC: - strb r2, [r1, 0x9] -_080FF6AE: - movs r0, 0x16 - pop {r1} - bx r1 - thumb_func_end sub_80FF688 - - thumb_func_start sub_80FF6B4 -sub_80FF6B4: @ 80FF6B4 - push {lr} - ldr r0, _080FF6C4 @ =0x0000ffff - bl sub_80FF768 - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_080FF6C4: .4byte 0x0000ffff - thumb_func_end sub_80FF6B4 - - thumb_func_start sub_80FF6C8 -sub_80FF6C8: @ 80FF6C8 - push {lr} - bl sub_80FFBE4 - lsls r0, 16 - lsrs r0, 16 - bl GetDisplayedWordByIndex - lsls r0, 16 - lsrs r0, 16 - bl sub_80FF768 - ldr r0, _080FF6EC @ =gUnknown_203ACE8 - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x4] - movs r0, 0xC - pop {r1} - bx r1 - .align 2, 0 -_080FF6EC: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FF6C8 - - thumb_func_start sub_80FF6F0 -sub_80FF6F0: @ 80FF6F0 - push {r4,r5,lr} - movs r4, 0 - ldr r3, _080FF724 @ =gUnknown_203ACE8 - ldr r0, [r3] - ldrb r0, [r0, 0x7] - cmp r4, r0 - bcs _080FF71E - adds r5, r3, 0 -_080FF700: - ldr r3, [r5] - ldr r1, [r3, 0x14] - lsls r2, r4, 1 - adds r1, r2, r1 - adds r0, r3, 0 - adds r0, 0x18 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldrb r3, [r3, 0x7] - cmp r4, r3 - bcc _080FF700 -_080FF71E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080FF724: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FF6F0 - - thumb_func_start sub_80FF728 -sub_80FF728: @ 80FF728 - push {r4,r5,lr} - movs r3, 0 - ldr r2, _080FF760 @ =gUnknown_203ACE8 - ldr r0, [r2] - ldrb r0, [r0, 0x7] - cmp r3, r0 - bcs _080FF758 - adds r5, r2, 0 - ldr r0, _080FF764 @ =0x0000ffff - adds r4, r0, 0 -_080FF73C: - ldr r2, [r5] - lsls r0, r3, 1 - adds r1, r2, 0 - adds r1, 0x18 - adds r1, r0 - ldrh r0, [r1] - orrs r0, r4 - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - ldrb r2, [r2, 0x7] - cmp r3, r2 - bcc _080FF73C -_080FF758: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080FF760: .4byte gUnknown_203ACE8 -_080FF764: .4byte 0x0000ffff - thumb_func_end sub_80FF728 - - thumb_func_start sub_80FF768 -sub_80FF768: @ 80FF768 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_80FFB6C - lsls r0, 16 - ldr r1, _080FF788 @ =gUnknown_203ACE8 - ldr r1, [r1] - lsrs r0, 15 - adds r1, 0x18 - adds r1, r0 - strh r4, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FF788: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FF768 - - thumb_func_start sub_80FF78C -sub_80FF78C: @ 80FF78C - push {r4,r5,lr} - movs r2, 0 - ldr r0, _080FF7B4 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r1, [r0, 0x7] - cmp r2, r1 - bcs _080FF7C2 - adds r5, r1, 0 - adds r4, r0, 0 - adds r4, 0x18 - ldr r3, [r0, 0x14] -_080FF7A2: - lsls r0, r2, 1 - adds r1, r4, r0 - adds r0, r3 - ldrh r1, [r1] - ldrh r0, [r0] - cmp r1, r0 - beq _080FF7B8 - movs r0, 0x1 - b _080FF7C4 - .align 2, 0 -_080FF7B4: .4byte gUnknown_203ACE8 -_080FF7B8: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, r5 - bcc _080FF7A2 -_080FF7C2: - movs r0, 0 -_080FF7C4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80FF78C - - thumb_func_start sub_80FF7CC -sub_80FF7CC: @ 80FF7CC - push {lr} - adds r2, r0, 0 - ldr r0, _080FF7F0 @ =gUnknown_203ACE8 - ldr r3, [r0] - movs r1, 0xA - ldrsb r1, [r3, r1] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080FF7FC - ldrb r0, [r3, 0x9] - cmp r0, 0 - bne _080FF7F4 - adds r0, r2, 0 - bl sub_80FF80C - b _080FF802 - .align 2, 0 -_080FF7F0: .4byte gUnknown_203ACE8 -_080FF7F4: - adds r0, r2, 0 - bl sub_80FF8D8 - b _080FF802 -_080FF7FC: - adds r0, r2, 0 - bl sub_80FF968 -_080FF802: - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_80FF7CC - - thumb_func_start sub_80FF80C -sub_80FF80C: @ 80FF80C - push {r4,lr} - cmp r0, 0x1 - beq _080FF882 - cmp r0, 0x1 - bcc _080FF8A2 - cmp r0, 0x2 - beq _080FF820 - cmp r0, 0x3 - beq _080FF848 - b _080FF8CE -_080FF820: - ldr r0, _080FF83C @ =gUnknown_203ACE8 - ldr r1, [r0] - movs r0, 0xB - ldrsb r0, [r1, r0] - ldrb r3, [r1, 0xC] - cmn r0, r3 - beq _080FF8CE - ldrb r2, [r1, 0xB] - cmp r0, 0 - beq _080FF840 - subs r0, r2, 0x1 - strb r0, [r1, 0xB] -_080FF838: - movs r0, 0xE - b _080FF8D0 - .align 2, 0 -_080FF83C: .4byte gUnknown_203ACE8 -_080FF840: - subs r0, r3, 0x1 - strb r0, [r1, 0xC] - movs r0, 0x10 - b _080FF8D0 -_080FF848: - ldr r0, _080FF870 @ =gUnknown_203ACE8 - ldr r2, [r0] - movs r1, 0xB - ldrsb r1, [r2, r1] - ldrb r3, [r2, 0xC] - adds r1, r3 - ldrb r0, [r2, 0xD] - subs r0, 0x1 - cmp r1, r0 - bge _080FF8CE - ldrb r1, [r2, 0xB] - movs r0, 0xB - ldrsb r0, [r2, r0] - cmp r0, 0x2 - bgt _080FF874 - adds r0, r1, 0x1 - strb r0, [r2, 0xB] - movs r4, 0xE - b _080FF87A - .align 2, 0 -_080FF870: .4byte gUnknown_203ACE8 -_080FF874: - adds r0, r3, 0x1 - strb r0, [r2, 0xC] - movs r4, 0xF -_080FF87A: - bl sub_80FFC1C - adds r0, r4, 0 - b _080FF8D0 -_080FF882: - ldr r0, _080FF898 @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r2, [r1, 0xA] - movs r0, 0xA - ldrsb r0, [r1, r0] - cmp r0, 0 - beq _080FF89C - subs r0, r2, 0x1 - strb r0, [r1, 0xA] - b _080FF838 - .align 2, 0 -_080FF898: .4byte gUnknown_203ACE8 -_080FF89C: - bl sub_80FF9E8 - b _080FF838 -_080FF8A2: - ldr r0, _080FF8C4 @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r2, [r1, 0xA] - movs r0, 0xA - ldrsb r0, [r1, r0] - cmp r0, 0 - bgt _080FF8C8 - adds r0, r2, 0x1 - strb r0, [r1, 0xA] - bl sub_80FFC6C - lsls r0, 24 - cmp r0, 0 - beq _080FF838 - bl sub_80FF9E8 - b _080FF838 - .align 2, 0 -_080FF8C4: .4byte gUnknown_203ACE8 -_080FF8C8: - bl sub_80FF9E8 - b _080FF838 -_080FF8CE: - movs r0, 0 -_080FF8D0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80FF80C - - thumb_func_start sub_80FF8D8 -sub_80FF8D8: @ 80FF8D8 - push {lr} - cmp r0, 0x1 - beq _080FF944 - cmp r0, 0x1 - bcc _080FF928 - cmp r0, 0x2 - beq _080FF8EE - cmp r0, 0x3 - beq _080FF90E - movs r0, 0 - b _080FF960 -_080FF8EE: - ldr r0, _080FF900 @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r2, [r1, 0xB] - movs r0, 0xB - ldrsb r0, [r1, r0] - cmp r0, 0 - ble _080FF904 - subs r0, r2, 0x1 - b _080FF906 - .align 2, 0 -_080FF900: .4byte gUnknown_203ACE8 -_080FF904: - movs r0, 0x3 -_080FF906: - strb r0, [r1, 0xB] - bl sub_80FFC1C - b _080FF95E -_080FF90E: - ldr r0, _080FF920 @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r2, [r1, 0xB] - movs r0, 0xB - ldrsb r0, [r1, r0] - cmp r0, 0x2 - bgt _080FF924 - adds r0, r2, 0x1 - b _080FF906 - .align 2, 0 -_080FF920: .4byte gUnknown_203ACE8 -_080FF924: - movs r0, 0 - b _080FF906 -_080FF928: - ldr r0, _080FF940 @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r0, [r1, 0xA] - adds r0, 0x1 - strb r0, [r1, 0xA] - bl sub_80FFC6C - lsls r0, 24 - cmp r0, 0 - beq _080FF95E - b _080FF95A - .align 2, 0 -_080FF940: .4byte gUnknown_203ACE8 -_080FF944: - ldr r2, _080FF964 @ =gUnknown_203ACE8 - ldr r1, [r2] - ldrb r0, [r1, 0xA] - subs r0, 0x1 - strb r0, [r1, 0xA] - ldr r0, [r2] - ldrb r0, [r0, 0xA] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bge _080FF95E -_080FF95A: - bl sub_80FF9E8 -_080FF95E: - movs r0, 0xE -_080FF960: - pop {r1} - bx r1 - .align 2, 0 -_080FF964: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FF8D8 - - thumb_func_start sub_80FF968 -sub_80FF968: @ 80FF968 - push {lr} - adds r2, r0, 0 - cmp r2, 0x1 - beq _080FF9B8 - cmp r2, 0x1 - bcc _080FF9CC - cmp r2, 0x2 - beq _080FF980 - cmp r2, 0x3 - beq _080FF99C - movs r0, 0 - b _080FF9DE -_080FF980: - ldr r0, _080FF994 @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r3, [r1, 0xB] - movs r0, 0xB - ldrsb r0, [r1, r0] - cmp r0, 0 - beq _080FF998 - subs r0, r3, 0x1 - b _080FF9DA - .align 2, 0 -_080FF994: .4byte gUnknown_203ACE8 -_080FF998: - strb r2, [r1, 0xB] - b _080FF9DC -_080FF99C: - ldr r0, _080FF9B0 @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r2, [r1, 0xB] - movs r0, 0xB - ldrsb r0, [r1, r0] - cmp r0, 0x1 - bgt _080FF9B4 - adds r0, r2, 0x1 - b _080FF9DA - .align 2, 0 -_080FF9B0: .4byte gUnknown_203ACE8 -_080FF9B4: - movs r0, 0 - b _080FF9DA -_080FF9B8: - ldr r0, _080FF9C8 @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r0, [r1, 0xB] - adds r0, 0x1 - strb r0, [r1, 0xB] - bl sub_80FFA0C - b _080FF9DC - .align 2, 0 -_080FF9C8: .4byte gUnknown_203ACE8 -_080FF9CC: - ldr r2, _080FF9E4 @ =gUnknown_203ACE8 - ldr r1, [r2] - movs r0, 0 - strb r0, [r1, 0xA] - ldr r1, [r2] - ldrb r0, [r1, 0xB] - adds r0, 0x1 -_080FF9DA: - strb r0, [r1, 0xB] -_080FF9DC: - movs r0, 0xE -_080FF9DE: - pop {r1} - bx r1 - .align 2, 0 -_080FF9E4: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FF968 - - thumb_func_start sub_80FF9E8 -sub_80FF9E8: @ 80FF9E8 - push {lr} - ldr r2, _080FFA08 @ =gUnknown_203ACE8 - ldr r1, [r2] - movs r0, 0xFF - strb r0, [r1, 0xA] - ldr r2, [r2] - ldrb r1, [r2, 0xB] - movs r0, 0xB - ldrsb r0, [r2, r0] - cmp r0, 0 - beq _080FFA02 - subs r0, r1, 0x1 - strb r0, [r2, 0xB] -_080FFA02: - pop {r0} - bx r0 - .align 2, 0 -_080FFA08: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FF9E8 - - thumb_func_start sub_80FFA0C -sub_80FFA0C: @ 80FFA0C - push {r4,lr} - ldr r4, _080FFA24 @ =gUnknown_203ACE8 - ldr r1, [r4] - ldrb r0, [r1, 0x9] - cmp r0, 0 - bne _080FFA28 - movs r0, 0x1 - strb r0, [r1, 0xA] - bl sub_80FFC1C - b _080FFA32 - .align 2, 0 -_080FFA24: .4byte gUnknown_203ACE8 -_080FFA28: - ldrb r0, [r1, 0xB] - bl sub_80FFC04 - ldr r1, [r4] - strb r0, [r1, 0xA] -_080FFA32: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80FFA0C - - thumb_func_start sub_80FFA38 -sub_80FFA38: @ 80FFA38 - push {r4,lr} - cmp r0, 0x5 - bls _080FFA40 - b _080FFB64 -_080FFA40: - lsls r0, 2 - ldr r1, _080FFA4C @ =_080FFA50 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080FFA4C: .4byte _080FFA50 - .align 2, 0 -_080FFA50: - .4byte _080FFAEC - .4byte _080FFACA - .4byte _080FFA68 - .4byte _080FFA94 - .4byte _080FFB14 - .4byte _080FFB34 -_080FFA68: - ldr r0, _080FFA88 @ =gUnknown_203ACE8 - ldr r1, [r0] - movs r0, 0x11 - ldrsb r0, [r1, r0] - ldrb r3, [r1, 0xE] - adds r0, r3 - cmp r0, 0 - bgt _080FFA7A - b _080FFB64 -_080FFA7A: - ldrb r2, [r1, 0x11] - movs r0, 0x11 - ldrsb r0, [r1, r0] - cmp r0, 0 - ble _080FFA8C - subs r0, r2, 0x1 - b _080FFAB2 - .align 2, 0 -_080FFA88: .4byte gUnknown_203ACE8 -_080FFA8C: - subs r0, r3, 0x1 - strb r0, [r1, 0xE] - movs r4, 0x12 - b _080FFAC2 -_080FFA94: - ldr r0, _080FFAB8 @ =gUnknown_203ACE8 - ldr r1, [r0] - movs r0, 0x11 - ldrsb r0, [r1, r0] - ldrb r3, [r1, 0xE] - adds r0, r3 - ldrb r2, [r1, 0xF] - cmp r0, r2 - bge _080FFB64 - ldrb r2, [r1, 0x11] - movs r0, 0x11 - ldrsb r0, [r1, r0] - cmp r0, 0x2 - bgt _080FFABC - adds r0, r2, 0x1 -_080FFAB2: - strb r0, [r1, 0x11] - movs r4, 0x11 - b _080FFAC2 - .align 2, 0 -_080FFAB8: .4byte gUnknown_203ACE8 -_080FFABC: - adds r0, r3, 0x1 - strb r0, [r1, 0xE] - movs r4, 0x13 -_080FFAC2: - bl sub_80FFC44 - adds r0, r4, 0 - b _080FFB66 -_080FFACA: - ldr r0, _080FFADC @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r2, [r1, 0x10] - movs r0, 0x10 - ldrsb r0, [r1, r0] - cmp r0, 0 - ble _080FFAE0 - subs r0, r2, 0x1 - b _080FFAE2 - .align 2, 0 -_080FFADC: .4byte gUnknown_203ACE8 -_080FFAE0: - movs r0, 0x1 -_080FFAE2: - strb r0, [r1, 0x10] - bl sub_80FFC44 -_080FFAE8: - movs r0, 0x11 - b _080FFB66 -_080FFAEC: - ldr r4, _080FFB10 @ =gUnknown_203ACE8 - ldr r1, [r4] - ldrb r2, [r1, 0x10] - movs r0, 0x10 - ldrsb r0, [r1, r0] - cmp r0, 0 - bgt _080FFB0A - adds r0, r2, 0x1 - strb r0, [r1, 0x10] - bl sub_80FFCC0 - lsls r0, 24 - cmp r0, 0 - beq _080FFAE8 - ldr r1, [r4] -_080FFB0A: - movs r0, 0 - strb r0, [r1, 0x10] - b _080FFAE8 - .align 2, 0 -_080FFB10: .4byte gUnknown_203ACE8 -_080FFB14: - ldr r0, _080FFB28 @ =gUnknown_203ACE8 - ldr r2, [r0] - ldrb r0, [r2, 0xE] - adds r1, r0, 0 - cmp r1, 0 - beq _080FFB64 - cmp r1, 0x3 - bls _080FFB2C - subs r0, 0x4 - b _080FFB2E - .align 2, 0 -_080FFB28: .4byte gUnknown_203ACE8 -_080FFB2C: - movs r0, 0 -_080FFB2E: - strb r0, [r2, 0xE] - movs r0, 0x14 - b _080FFB66 -_080FFB34: - ldr r3, _080FFB60 @ =gUnknown_203ACE8 - ldr r1, [r3] - ldrb r2, [r1, 0xE] - ldrb r0, [r1, 0xF] - subs r0, 0x4 - cmp r2, r0 - bgt _080FFB64 - adds r0, r2, 0x4 - strb r0, [r1, 0xE] - ldr r2, [r3] - ldrb r1, [r2, 0xE] - ldrb r3, [r2, 0xF] - subs r0, r3, 0x3 - cmp r1, r0 - ble _080FFB58 - adds r0, r3, 0 - adds r0, 0xFD - strb r0, [r2, 0xE] -_080FFB58: - bl sub_80FFC44 - movs r0, 0x15 - b _080FFB66 - .align 2, 0 -_080FFB60: .4byte gUnknown_203ACE8 -_080FFB64: - movs r0, 0 -_080FFB66: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80FFA38 - - thumb_func_start sub_80FFB6C -sub_80FFB6C: @ 80FFB6C - ldr r0, _080FFB88 @ =gUnknown_203ACE8 - ldr r0, [r0] - movs r2, 0x6 - ldrsb r2, [r0, r2] - ldrb r1, [r0, 0x2] - muls r1, r2 - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bx lr - .align 2, 0 -_080FFB88: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFB6C - - thumb_func_start sub_80FFB8C -sub_80FFB8C: @ 80FFB8C - ldr r0, _080FFBA8 @ =gUnknown_203ACE8 - ldr r0, [r0] - movs r1, 0xB - ldrsb r1, [r0, r1] - ldrb r2, [r0, 0xC] - adds r1, r2 - lsls r1, 1 - ldrb r0, [r0, 0xA] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bx lr - .align 2, 0 -_080FFBA8: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFB8C - - thumb_func_start sub_80FFBAC -sub_80FFBAC: @ 80FFBAC - push {lr} - ldr r0, _080FFBDC @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r0, [r1, 0xA] - movs r3, 0 - cmp r0, 0x6 - bhi _080FFBBE - movs r3, 0xA - ldrsb r3, [r1, r3] -_080FFBBE: - ldrb r0, [r1, 0xB] - movs r2, 0 - cmp r0, 0x3 - bhi _080FFBCA - movs r2, 0xB - ldrsb r2, [r1, r2] -_080FFBCA: - ldr r0, _080FFBE0 @ =gUnknown_843F39C - lsls r1, r2, 3 - subs r1, r2 - adds r1, r3, r1 - adds r1, r0 - ldrb r0, [r1] - pop {r1} - bx r1 - .align 2, 0 -_080FFBDC: .4byte gUnknown_203ACE8 -_080FFBE0: .4byte gUnknown_843F39C - thumb_func_end sub_80FFBAC - - thumb_func_start sub_80FFBE4 -sub_80FFBE4: @ 80FFBE4 - ldr r0, _080FFC00 @ =gUnknown_203ACE8 - ldr r0, [r0] - movs r1, 0x11 - ldrsb r1, [r0, r1] - ldrb r2, [r0, 0xE] - adds r1, r2 - lsls r1, 1 - ldrb r0, [r0, 0x10] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bx lr - .align 2, 0 -_080FFC00: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFBE4 - - thumb_func_start sub_80FFC04 -sub_80FFC04: @ 80FFC04 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080FFC12 - cmp r0, 0x1 - beq _080FFC16 -_080FFC12: - movs r0, 0x6 - b _080FFC18 -_080FFC16: - movs r0, 0x5 -_080FFC18: - pop {r1} - bx r1 - thumb_func_end sub_80FFC04 - - thumb_func_start sub_80FFC1C -sub_80FFC1C: @ 80FFC1C - push {lr} - b _080FFC32 -_080FFC20: - ldr r0, _080FFC40 @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r2, [r1, 0xA] - movs r0, 0xA - ldrsb r0, [r1, r0] - cmp r0, 0 - beq _080FFC3C - subs r0, r2, 0x1 - strb r0, [r1, 0xA] -_080FFC32: - bl sub_80FFC6C - lsls r0, 24 - cmp r0, 0 - bne _080FFC20 -_080FFC3C: - pop {r0} - bx r0 - .align 2, 0 -_080FFC40: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFC1C - - thumb_func_start sub_80FFC44 -sub_80FFC44: @ 80FFC44 - push {lr} - b _080FFC5A -_080FFC48: - ldr r0, _080FFC68 @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r2, [r1, 0x10] - movs r0, 0x10 - ldrsb r0, [r1, r0] - cmp r0, 0 - beq _080FFC64 - subs r0, r2, 0x1 - strb r0, [r1, 0x10] -_080FFC5A: - bl sub_80FFCC0 - lsls r0, 24 - cmp r0, 0 - bne _080FFC48 -_080FFC64: - pop {r0} - bx r0 - .align 2, 0 -_080FFC68: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFC44 - - thumb_func_start sub_80FFC6C -sub_80FFC6C: @ 80FFC6C - push {r4,lr} - ldr r4, _080FFC98 @ =gUnknown_203ACE8 - ldr r1, [r4] - ldrb r0, [r1, 0x9] - cmp r0, 0 - bne _080FFC9C - bl sub_80FFB8C - adds r4, r0, 0 - bl GetNumDisplayableGroups - movs r1, 0 - lsls r0, 24 - lsls r4, 16 - lsrs r4, 16 - lsrs r0, 24 - cmp r4, r0 - bcc _080FFC92 - movs r1, 0x1 -_080FFC92: - adds r0, r1, 0 - b _080FFCB8 - .align 2, 0 -_080FFC98: .4byte gUnknown_203ACE8 -_080FFC9C: - ldrb r0, [r1, 0xB] - bl sub_80FFC04 - movs r2, 0 - ldr r1, [r4] - ldrb r1, [r1, 0xA] - lsls r1, 24 - asrs r1, 24 - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - ble _080FFCB6 - movs r2, 0x1 -_080FFCB6: - adds r0, r2, 0 -_080FFCB8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80FFC6C - - thumb_func_start sub_80FFCC0 -sub_80FFCC0: @ 80FFCC0 - push {r4,lr} - bl sub_80FFBE4 - adds r4, r0, 0 - bl GetNumDisplayedWords - movs r1, 0 - lsls r4, 16 - lsls r0, 16 - cmp r4, r0 - bcc _080FFCD8 - movs r1, 0x1 -_080FFCD8: - adds r0, r1, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80FFCC0 - - thumb_func_start sub_80FFCE0 -sub_80FFCE0: @ 80FFCE0 - ldr r2, _080FFCF4 @ =gUnknown_843F2AC - ldr r0, _080FFCF8 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r1, [r0, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x3] - bx lr - .align 2, 0 -_080FFCF4: .4byte gUnknown_843F2AC -_080FFCF8: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFCE0 - - thumb_func_start sub_80FFCFC -sub_80FFCFC: @ 80FFCFC - ldr r2, _080FFD14 @ =gUnknown_843F2AC - ldr r0, _080FFD18 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r1, [r0, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, 0x4 - adds r0, r2 - ldr r0, [r0] - bx lr - .align 2, 0 -_080FFD14: .4byte gUnknown_843F2AC -_080FFD18: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFCFC - - thumb_func_start sub_80FFD1C -sub_80FFD1C: @ 80FFD1C - ldr r0, _080FFD24 @ =gUnknown_203ACE8 - ldr r0, [r0] - adds r0, 0x18 - bx lr - .align 2, 0 -_080FFD24: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFD1C - - thumb_func_start sub_80FFD28 -sub_80FFD28: @ 80FFD28 - ldr r0, _080FFD30 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0, 0x3] - bx lr - .align 2, 0 -_080FFD30: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFD28 - - thumb_func_start sub_80FFD34 -sub_80FFD34: @ 80FFD34 - ldr r0, _080FFD3C @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0, 0x2] - bx lr - .align 2, 0 -_080FFD3C: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFD34 - - thumb_func_start sub_80FFD40 -sub_80FFD40: @ 80FFD40 - ldr r0, _080FFD48 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0, 0x5] - bx lr - .align 2, 0 -_080FFD48: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFD40 - - thumb_func_start sub_80FFD4C -sub_80FFD4C: @ 80FFD4C - ldr r0, _080FFD54 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0, 0x6] - bx lr - .align 2, 0 -_080FFD54: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFD4C - - thumb_func_start sub_80FFD58 -sub_80FFD58: @ 80FFD58 - push {r4,r5,lr} - ldr r4, _080FFD88 @ =gUnknown_843F2AC - ldr r2, _080FFD8C @ =gUnknown_203ACE8 - ldr r5, [r2] - ldrb r3, [r5, 0x1] - lsls r2, r3, 1 - adds r2, r3 - lsls r2, 3 - adds r3, r4, 0 - adds r3, 0x8 - adds r2, r3 - ldr r2, [r2] - str r2, [r0] - ldrb r2, [r5, 0x1] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r4, 0xC - adds r0, r4 - ldr r0, [r0] - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080FFD88: .4byte gUnknown_843F2AC -_080FFD8C: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFD58 - - thumb_func_start sub_80FFD90 -sub_80FFD90: @ 80FFD90 - push {r4,r5,lr} - ldr r4, _080FFDC0 @ =gUnknown_843F2AC - ldr r2, _080FFDC4 @ =gUnknown_203ACE8 - ldr r5, [r2] - ldrb r3, [r5, 0x1] - lsls r2, r3, 1 - adds r2, r3 - lsls r2, 3 - adds r3, r4, 0 - adds r3, 0x10 - adds r2, r3 - ldr r2, [r2] - str r2, [r0] - ldrb r2, [r5, 0x1] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r4, 0x14 - adds r0, r4 - ldr r0, [r0] - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080FFDC0: .4byte gUnknown_843F2AC -_080FFDC4: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFD90 - - thumb_func_start sub_80FFDC8 -sub_80FFDC8: @ 80FFDC8 - push {lr} - adds r2, r0, 0 - ldr r0, _080FFDDC @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x4 - bne _080FFDE4 - ldr r0, _080FFDE0 @ =gUnknown_84189EE - b _080FFDE6 - .align 2, 0 -_080FFDDC: .4byte gUnknown_203ACE8 -_080FFDE0: .4byte gUnknown_84189EE -_080FFDE4: - ldr r0, _080FFDF0 @ =gUnknown_84189E0 -_080FFDE6: - str r0, [r2] - movs r0, 0 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080FFDF0: .4byte gUnknown_84189E0 - thumb_func_end sub_80FFDC8 - - thumb_func_start sub_80FFDF4 -sub_80FFDF4: @ 80FFDF4 - ldr r2, _080FFE00 @ =gUnknown_8418937 - str r2, [r0] - ldr r0, _080FFE04 @ =gUnknown_8418956 - str r0, [r1] - bx lr - .align 2, 0 -_080FFE00: .4byte gUnknown_8418937 -_080FFE04: .4byte gUnknown_8418956 - thumb_func_end sub_80FFDF4 - - thumb_func_start sub_80FFE08 -sub_80FFE08: @ 80FFE08 - ldr r2, _080FFE18 @ =gUnknown_203ACE8 - ldr r3, [r2] - ldrb r2, [r3, 0xA] - strb r2, [r0] - ldrb r0, [r3, 0xB] - strb r0, [r1] - bx lr - .align 2, 0 -_080FFE18: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFE08 - - thumb_func_start sub_80FFE1C -sub_80FFE1C: @ 80FFE1C - ldr r0, _080FFE24 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0, 0x9] - bx lr - .align 2, 0 -_080FFE24: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFE1C - - thumb_func_start sub_80FFE28 -sub_80FFE28: @ 80FFE28 - ldr r0, _080FFE30 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0, 0xC] - bx lr - .align 2, 0 -_080FFE30: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFE28 - - thumb_func_start sub_80FFE34 -sub_80FFE34: @ 80FFE34 - ldr r2, _080FFE44 @ =gUnknown_203ACE8 - ldr r3, [r2] - ldrb r2, [r3, 0x10] - strb r2, [r0] - ldrb r0, [r3, 0x11] - strb r0, [r1] - bx lr - .align 2, 0 -_080FFE44: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFE34 - - thumb_func_start sub_80FFE48 -sub_80FFE48: @ 80FFE48 - ldr r0, _080FFE50 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0, 0xE] - bx lr - .align 2, 0 -_080FFE50: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFE48 - - thumb_func_start sub_80FFE54 -sub_80FFE54: @ 80FFE54 - ldr r0, _080FFE5C @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r0, [r0, 0xF] - bx lr - .align 2, 0 -_080FFE5C: .4byte gUnknown_203ACE8 - thumb_func_end sub_80FFE54 - - thumb_func_start sub_80FFE60 -sub_80FFE60: @ 80FFE60 - movs r0, 0 - bx lr - thumb_func_end sub_80FFE60 - - thumb_func_start sub_80FFE64 -sub_80FFE64: @ 80FFE64 - push {lr} - ldr r0, _080FFE78 @ =gUnknown_203ACE8 - ldr r1, [r0] - ldrb r0, [r1, 0x4] - cmp r0, 0x2 - beq _080FFE7C - cmp r0, 0x3 - beq _080FFE86 - b _080FFE90 - .align 2, 0 -_080FFE78: .4byte gUnknown_203ACE8 -_080FFE7C: - ldrb r0, [r1, 0x9] - cmp r0, 0 - bne _080FFE90 - ldrb r0, [r1, 0xC] - b _080FFE88 -_080FFE86: - ldrb r0, [r1, 0xE] -_080FFE88: - cmp r0, 0 - beq _080FFE90 - movs r0, 0x1 - b _080FFE92 -_080FFE90: - movs r0, 0 -_080FFE92: - pop {r1} - bx r1 - thumb_func_end sub_80FFE64 - - thumb_func_start sub_80FFE98 -sub_80FFE98: @ 80FFE98 - push {lr} - ldr r0, _080FFEAC @ =gUnknown_203ACE8 - ldr r2, [r0] - ldrb r0, [r2, 0x4] - cmp r0, 0x2 - beq _080FFEB0 - cmp r0, 0x3 - beq _080FFEC6 - b _080FFED4 - .align 2, 0 -_080FFEAC: .4byte gUnknown_203ACE8 -_080FFEB0: - ldrb r0, [r2, 0x9] - cmp r0, 0 - bne _080FFED4 - ldrb r1, [r2, 0xC] - adds r1, 0x4 - ldrb r0, [r2, 0xD] - subs r0, 0x1 - cmp r1, r0 - bgt _080FFED4 - movs r0, 0x1 - b _080FFED6 -_080FFEC6: - ldrb r0, [r2, 0xE] - adds r0, 0x4 - ldrb r2, [r2, 0xF] - cmp r0, r2 - bgt _080FFED4 - movs r0, 0x1 - b _080FFED6 -_080FFED4: - movs r0, 0 -_080FFED6: - pop {r1} - bx r1 - thumb_func_end sub_80FFE98 - - thumb_func_start sub_80FFEDC -sub_80FFEDC: @ 80FFEDC - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r3, r1, 24 - movs r2, 0 - cmp r2, r3 - bcs _080FFF12 - ldr r0, _080FFF04 @ =gUnknown_203ACE8 - ldr r0, [r0] - adds r4, r0, 0 - adds r4, 0x18 -_080FFEF2: - lsls r0, r2, 1 - adds r1, r0, r5 - adds r0, r4, r0 - ldrh r1, [r1] - ldrh r0, [r0] - cmp r1, r0 - beq _080FFF08 - movs r0, 0x1 - b _080FFF14 - .align 2, 0 -_080FFF04: .4byte gUnknown_203ACE8 -_080FFF08: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r3 - bcc _080FFEF2 -_080FFF12: - movs r0, 0 -_080FFF14: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80FFEDC - - thumb_func_start sub_80FFF1C -sub_80FFF1C: @ 80FFF1C - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - movs r1, 0 - ldr r2, _080FFF34 @ =gUnknown_843F2AC -_080FFF26: - ldrb r0, [r2] - cmp r0, r3 - bne _080FFF38 - lsls r0, r1, 24 - lsrs r0, 24 - b _080FFF42 - .align 2, 0 -_080FFF34: .4byte gUnknown_843F2AC -_080FFF38: - adds r2, 0x18 - adds r1, 0x1 - cmp r1, 0x9 - bls _080FFF26 - movs r0, 0 -_080FFF42: - pop {r1} - bx r1 - thumb_func_end sub_80FFF1C - - thumb_func_start sub_80FFF48 -sub_80FFF48: @ 80FFF48 - push {r4,lr} - movs r2, 0 - ldr r0, _080FFF68 @ =gUnknown_203ACE8 - ldr r0, [r0] - ldrb r1, [r0, 0x7] - cmp r2, r1 - bge _080FFF78 - ldr r4, _080FFF6C @ =0x0000ffff - adds r3, r1, 0 - adds r1, r0, 0 - adds r1, 0x18 -_080FFF5E: - ldrh r0, [r1] - cmp r0, r4 - beq _080FFF70 - movs r0, 0 - b _080FFF7A - .align 2, 0 -_080FFF68: .4byte gUnknown_203ACE8 -_080FFF6C: .4byte 0x0000ffff -_080FFF70: - adds r1, 0x2 - adds r2, 0x1 - cmp r2, r3 - blt _080FFF5E -_080FFF78: - movs r0, 0x1 -_080FFF7A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80FFF48 - - thumb_func_start sub_80FFF80 -sub_80FFF80: @ 80FFF80 - push {lr} - bl sub_8100BF4 - lsls r0, 24 - cmp r0, 0 - beq _080FFF90 - movs r0, 0x1 - b _080FFF92 -_080FFF90: - movs r0, 0 -_080FFF92: - pop {r1} - bx r1 - thumb_func_end sub_80FFF80 - - thumb_func_start sub_80FFF98 -sub_80FFF98: @ 80FFF98 - push {r4,lr} - sub sp, 0x8 - ldr r0, _080FFFB4 @ =gUnknown_203ACEC - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x5 - bls _080FFFA8 - b _08100100 -_080FFFA8: - lsls r0, 2 - ldr r1, _080FFFB8 @ =_080FFFBC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080FFFB4: .4byte gUnknown_203ACEC -_080FFFB8: .4byte _080FFFBC - .align 2, 0 -_080FFFBC: - .4byte _080FFFD4 - .4byte _08100038 - .4byte _0810006C - .4byte _0810009C - .4byte _081000AE - .4byte _081000B8 -_080FFFD4: - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _08100028 @ =gUnknown_843F8A0 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r4, _0810002C @ =gUnknown_203ACEC - ldr r1, [r4] - movs r0, 0xB0 - lsls r0, 4 - adds r1, r0 - movs r0, 0x3 - bl SetBgTilemapBuffer - ldr r1, [r4] - movs r0, 0xC0 - lsls r0, 2 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r0, _08100030 @ =gUnknown_843F8B0 - bl InitWindows - bl DeactivateAllTextPrinters - bl sub_8100CBC - bl sub_8100C5C - movs r0, 0 - str r0, [sp, 0x4] - movs r1, 0xE0 - lsls r1, 19 - ldr r2, _08100034 @ =0x01000100 - add r0, sp, 0x4 - bl CpuFastSet - b _08100104 - .align 2, 0 -_08100028: .4byte gUnknown_843F8A0 -_0810002C: .4byte gUnknown_203ACEC -_08100030: .4byte gUnknown_843F8B0 -_08100034: .4byte 0x01000100 -_08100038: - ldr r1, _08100064 @ =gUnknown_8E99DAC - movs r0, 0 - str r0, [sp] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - ldr r1, _08100068 @ =gUnknown_8E99E74 - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - bl sub_8100F44 - bl sub_8102428 - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - b _08100104 - .align 2, 0 -_08100064: .4byte gUnknown_8E99DAC -_08100068: .4byte gUnknown_8E99E74 -_0810006C: - ldr r0, _08100094 @ =gUnknown_203ACEC - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 2 - adds r0, r1 - bl sub_8101100 - ldr r1, _08100098 @ =gUnknown_843F7AC - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - b _08100104 - .align 2, 0 -_08100094: .4byte gUnknown_203ACEC -_08100098: .4byte gUnknown_843F7AC -_0810009C: - bl sub_8100D24 - bl sub_8100E34 - bl sub_8100FDC - bl sub_81012CC - b _08100104 -_081000AE: - bl sub_8101A90 - bl sub_8101AC4 - b _08100104 -_081000B8: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0810010E - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_8101A5C - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x3B - bl SetGpuReg - movs r0, 0x3 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0 - bl ShowBg - bl sub_81021D4 - bl sub_8102320 - b _08100104 -_08100100: - movs r0, 0 - b _08100110 -_08100104: - ldr r0, _08100118 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0810010E: - movs r0, 0x1 -_08100110: - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08100118: .4byte gUnknown_203ACEC - thumb_func_end sub_80FFF98 - - thumb_func_start sub_810011C -sub_810011C: @ 810011C - push {lr} - ldr r0, _08100130 @ =gUnknown_203ACEC - ldr r0, [r0] - cmp r0, 0 - beq _0810012A - bl Free -_0810012A: - pop {r0} - bx r0 - .align 2, 0 -_08100130: .4byte gUnknown_203ACEC - thumb_func_end sub_810011C - - thumb_func_start sub_8100134 -sub_8100134: @ 8100134 - push {lr} - ldr r1, _08100148 @ =gUnknown_203ACEC - ldr r1, [r1] - movs r2, 0 - strh r0, [r1, 0x4] - strh r2, [r1] - bl sub_810014C - pop {r0} - bx r0 - .align 2, 0 -_08100148: .4byte gUnknown_203ACEC - thumb_func_end sub_8100134 - - thumb_func_start sub_810014C -sub_810014C: @ 810014C - push {lr} - ldr r0, _08100164 @ =gUnknown_203ACEC - ldr r0, [r0] - ldrh r0, [r0, 0x4] - cmp r0, 0x16 - bhi _08100250 - lsls r0, 2 - ldr r1, _08100168 @ =_0810016C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08100164: .4byte gUnknown_203ACEC -_08100168: .4byte _0810016C - .align 2, 0 -_0810016C: - .4byte _08100250 - .4byte _081001C8 - .4byte _081001CE - .4byte _081001D4 - .4byte _081001DA - .4byte _081001E0 - .4byte _081001E6 - .4byte _081001EC - .4byte _081001F2 - .4byte _081001F8 - .4byte _081001FE - .4byte _08100204 - .4byte _0810020A - .4byte _08100210 - .4byte _08100216 - .4byte _0810021C - .4byte _08100222 - .4byte _08100228 - .4byte _0810022E - .4byte _08100234 - .4byte _0810023A - .4byte _08100240 - .4byte _08100246 -_081001C8: - bl sub_8100258 - b _0810024A -_081001CE: - bl sub_8100290 - b _0810024A -_081001D4: - bl sub_8100374 - b _0810024A -_081001DA: - bl sub_8100430 - b _0810024A -_081001E0: - bl sub_81003A8 - b _0810024A -_081001E6: - bl sub_81003EC - b _0810024A -_081001EC: - bl sub_8100474 - b _0810024A -_081001F2: - bl sub_81004B8 - b _0810024A -_081001F8: - bl sub_81004F4 - b _0810024A -_081001FE: - bl sub_81005C0 - b _0810024A -_08100204: - bl sub_81007D0 - b _0810024A -_0810020A: - bl sub_8100890 - b _0810024A -_08100210: - bl sub_810093C - b _0810024A -_08100216: - bl sub_8100720 - b _0810024A -_0810021C: - bl sub_810072C - b _0810024A -_08100222: - bl sub_8100774 - b _0810024A -_08100228: - bl sub_81009F8 - b _0810024A -_0810022E: - bl sub_8100A78 - b _0810024A -_08100234: - bl sub_8100A04 - b _0810024A -_0810023A: - bl sub_8100B70 - b _0810024A -_08100240: - bl sub_8100AE8 - b _0810024A -_08100246: - bl sub_8100660 -_0810024A: - lsls r0, 24 - lsrs r0, 24 - b _08100252 -_08100250: - movs r0, 0 -_08100252: - pop {r1} - bx r1 - thumb_func_end sub_810014C - - thumb_func_start sub_8100258 -sub_8100258: @ 8100258 - push {r4,lr} - ldr r4, _0810026C @ =gUnknown_203ACEC - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _08100270 - cmp r0, 0x1 - beq _0810027E - b _08100288 - .align 2, 0 -_0810026C: .4byte gUnknown_203ACEC -_08100270: - bl sub_8100FDC - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08100288 -_0810027E: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0810028A -_08100288: - movs r0, 0x1 -_0810028A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8100258 - - thumb_func_start sub_8100290 -sub_8100290: @ 8100290 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x40 - bl sub_80FFD1C - adds r4, r0, 0 - bl sub_80FFCE0 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - bl sub_80FFD40 - lsls r0, 24 - lsrs r7, r0, 24 - bl sub_80FFD4C - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - bl sub_80FFD34 - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - lsls r0, 1 - adds r4, r0 - ldr r1, _08100304 @ =gUnknown_843F888 - mov r2, r9 - lsls r0, r2, 2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 19 - movs r1, 0xD0 - lsls r1, 12 - adds r0, r1 - lsrs r6, r0, 16 - movs r5, 0 - cmp r5, r7 - bcs _0810033A - ldr r2, _08100308 @ =0x0000ffff - mov r10, r2 -_081002EE: - ldrh r0, [r4] - cmp r0, r10 - bne _08100310 - movs r0, 0x1 - ldr r1, _0810030C @ =gUnknown_843F8D8 - movs r2, 0 - bl GetStringWidth - lsls r1, r0, 3 - subs r0, r1, r0 - b _08100322 - .align 2, 0 -_08100304: .4byte gUnknown_843F888 -_08100308: .4byte 0x0000ffff -_0810030C: .4byte gUnknown_843F8D8 -_08100310: - ldrh r1, [r4] - mov r0, sp - bl CopyEasyChatWord - movs r0, 0x1 - mov r1, sp - movs r2, 0 - bl GetStringWidth -_08100322: - adds r0, 0x11 - lsls r1, r6, 16 - asrs r1, 16 - adds r1, r0 - lsls r1, 16 - lsrs r6, r1, 16 - adds r4, 0x2 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r7 - bcc _081002EE -_0810033A: - ldr r1, _08100370 @ =gUnknown_843F888 - mov r2, r9 - lsls r0, r2, 2 - adds r0, r1 - mov r2, r8 - lsls r1, r2, 1 - ldrb r0, [r0, 0x1] - adds r1, r0 - adds r1, 0x1 - lsls r1, 3 - adds r1, 0x1 - lsls r0, r6, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - bl sub_8101B58 - movs r0, 0 - add sp, 0x40 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08100370: .4byte gUnknown_843F888 - thumb_func_end sub_8100290 - - thumb_func_start sub_8100374 -sub_8100374: @ 8100374 - push {lr} - bl sub_80FFD40 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08100396 - cmp r0, 0x1 - bgt _0810038C - cmp r0, 0 - beq _08100392 - b _081003A2 -_0810038C: - cmp r0, 0x2 - beq _0810039A - b _081003A2 -_08100392: - movs r0, 0x1C - b _0810039C -_08100396: - movs r0, 0x73 - b _0810039C -_0810039A: - movs r0, 0xBF -_0810039C: - movs r1, 0x61 - bl sub_8101B58 -_081003A2: - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_8100374 - - thumb_func_start sub_81003A8 -sub_81003A8: @ 81003A8 - push {r4,lr} - ldr r4, _081003BC @ =gUnknown_203ACEC - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _081003C0 - cmp r0, 0x1 - beq _081003DA - b _081003E4 - .align 2, 0 -_081003BC: .4byte gUnknown_203ACEC -_081003C0: - bl sub_8101B88 - movs r0, 0x2 - bl sub_8100E7C - movs r0, 0x1 - bl sub_8100F18 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _081003E4 -_081003DA: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _081003E6 -_081003E4: - movs r0, 0x1 -_081003E6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81003A8 - - thumb_func_start sub_81003EC -sub_81003EC: @ 81003EC - push {r4,lr} - ldr r4, _08100400 @ =gUnknown_203ACEC - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _08100404 - cmp r0, 0x1 - beq _0810041E - b _08100428 - .align 2, 0 -_08100400: .4byte gUnknown_203ACEC -_08100404: - bl sub_8101B88 - movs r0, 0x3 - bl sub_8100E7C - movs r0, 0 - bl sub_8100F18 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08100428 -_0810041E: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0810042A -_08100428: - movs r0, 0x1 -_0810042A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81003EC - - thumb_func_start sub_8100430 -sub_8100430: @ 8100430 - push {r4,lr} - ldr r4, _08100444 @ =gUnknown_203ACEC - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _08100448 - cmp r0, 0x1 - beq _08100462 - b _0810046C - .align 2, 0 -_08100444: .4byte gUnknown_203ACEC -_08100448: - bl sub_8101B88 - movs r0, 0x1 - bl sub_8100E7C - movs r0, 0x1 - bl sub_8100F18 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0810046C -_08100462: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0810046E -_0810046C: - movs r0, 0x1 -_0810046E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8100430 - - thumb_func_start sub_8100474 -sub_8100474: @ 8100474 - push {r4,lr} - ldr r4, _08100488 @ =gUnknown_203ACEC - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _0810048C - cmp r0, 0x1 - beq _081004A6 - b _081004B0 - .align 2, 0 -_08100488: .4byte gUnknown_203ACEC -_0810048C: - bl sub_8101BA8 - movs r0, 0 - bl sub_8100E7C - movs r0, 0 - bl ShowBg - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _081004B0 -_081004A6: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _081004B2 -_081004B0: - movs r0, 0x1 -_081004B2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8100474 - - thumb_func_start sub_81004B8 -sub_81004B8: @ 81004B8 - push {r4,lr} - ldr r4, _081004CC @ =gUnknown_203ACEC - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _081004D0 - cmp r0, 0x1 - beq _081004E6 - movs r0, 0x1 - b _081004EE - .align 2, 0 -_081004CC: .4byte gUnknown_203ACEC -_081004D0: - bl sub_8101BA8 - movs r0, 0 - bl sub_8100E7C - bl sub_8100FDC - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_081004E6: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 -_081004EE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81004B8 - - thumb_func_start sub_81004F4 -sub_81004F4: @ 81004F4 - push {lr} - ldr r0, _0810050C @ =gUnknown_203ACEC - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x4 - bhi _081005AE - lsls r0, 2 - ldr r1, _08100510 @ =_08100514 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810050C: .4byte gUnknown_203ACEC -_08100510: .4byte _08100514 - .align 2, 0 -_08100514: - .4byte _08100528 - .4byte _08100544 - .4byte _08100556 - .4byte _0810056C - .4byte _0810058C -_08100528: - bl sub_8101B88 - movs r0, 0 - bl HideBg - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_8101A5C - bl sub_810131C - b _0810057A -_08100544: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081005B8 - movs r0, 0 - bl sub_81015D4 - b _0810057A -_08100556: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081005B8 - bl sub_81016AC - lsls r0, 24 - cmp r0, 0 - bne _081005B8 - b _0810057A -_0810056C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081005B8 - bl sub_8101FAC -_0810057A: - ldr r0, _08100588 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _081005B8 - .align 2, 0 -_08100588: .4byte gUnknown_203ACEC -_0810058C: - bl sub_8102018 - lsls r0, 24 - cmp r0, 0 - bne _081005B8 - bl sub_8101BC0 - movs r0, 0 - bl sub_81022E0 - bl sub_810224C - ldr r0, _081005B4 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_081005AE: - movs r0, 0 - b _081005BA - .align 2, 0 -_081005B4: .4byte gUnknown_203ACEC -_081005B8: - movs r0, 0x1 -_081005BA: - pop {r1} - bx r1 - thumb_func_end sub_81004F4 - - thumb_func_start sub_81005C0 -sub_81005C0: @ 81005C0 - push {lr} - ldr r0, _081005D8 @ =gUnknown_203ACEC - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x4 - bhi _08100658 - lsls r0, 2 - ldr r1, _081005DC @ =_081005E0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081005D8: .4byte gUnknown_203ACEC -_081005DC: .4byte _081005E0 - .align 2, 0 -_081005E0: - .4byte _081005F4 - .4byte _08100602 - .4byte _0810061E - .4byte _08100630 - .4byte _08100654 -_081005F4: - bl sub_8101C48 - bl sub_81020AC - bl sub_81022B0 - b _08100644 -_08100602: - bl sub_81020D0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08100658 - movs r0, 0x1 - bl sub_81015D4 - ldr r0, _0810062C @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0810061E: - bl sub_81016AC - lsls r0, 24 - cmp r0, 0 - bne _08100658 - b _08100644 - .align 2, 0 -_0810062C: .4byte gUnknown_203ACEC -_08100630: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08100658 - bl sub_8101BA8 - movs r0, 0 - bl ShowBg -_08100644: - ldr r0, _08100650 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08100658 - .align 2, 0 -_08100650: .4byte gUnknown_203ACEC -_08100654: - movs r0, 0 - b _0810065A -_08100658: - movs r0, 0x1 -_0810065A: - pop {r1} - bx r1 - thumb_func_end sub_81005C0 - - thumb_func_start sub_8100660 -sub_8100660: @ 8100660 - push {lr} - ldr r0, _08100678 @ =gUnknown_203ACEC - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x4 - bhi _08100718 - lsls r0, 2 - ldr r1, _0810067C @ =_08100680 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08100678: .4byte gUnknown_203ACEC -_0810067C: .4byte _08100680 - .align 2, 0 -_08100680: - .4byte _08100694 - .4byte _081006A8 - .4byte _081006C2 - .4byte _081006E8 - .4byte _0810070E -_08100694: - bl sub_8101C48 - bl sub_81022B0 - bl sub_810215C - movs r0, 0x5 - bl sub_81015D4 - b _081006D6 -_081006A8: - bl sub_81016AC - lsls r0, 24 - cmp r0, 0 - bne _08100718 - bl sub_81021B8 - lsls r0, 24 - cmp r0, 0 - bne _08100718 - bl sub_810131C - b _081006D6 -_081006C2: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08100718 - movs r0, 0x6 - bl sub_81015D4 - bl sub_8102178 -_081006D6: - ldr r0, _081006E4 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08100718 - .align 2, 0 -_081006E4: .4byte gUnknown_203ACEC -_081006E8: - bl sub_81016AC - lsls r0, 24 - cmp r0, 0 - bne _08100718 - bl sub_81021B8 - lsls r0, 24 - cmp r0, 0 - bne _08100718 - bl sub_810224C - bl sub_8101BC0 - ldr r0, _08100714 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0810070E: - movs r0, 0 - b _0810071A - .align 2, 0 -_08100714: .4byte gUnknown_203ACEC -_08100718: - movs r0, 0x1 -_0810071A: - pop {r1} - bx r1 - thumb_func_end sub_8100660 - - thumb_func_start sub_8100720 -sub_8100720: @ 8100720 - push {lr} - bl sub_8101C80 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_8100720 - - thumb_func_start sub_810072C -sub_810072C: @ 810072C - push {r4,lr} - ldr r4, _08100740 @ =gUnknown_203ACEC - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _08100744 - cmp r0, 0x1 - beq _08100754 - b _0810076A - .align 2, 0 -_08100740: .4byte gUnknown_203ACEC -_08100744: - movs r0, 0x1 - movs r1, 0x2 - bl sub_81019B0 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_08100754: - bl sub_8101A10 - lsls r0, 24 - cmp r0, 0 - bne _0810076A - bl sub_8101C80 - bl sub_810224C - movs r0, 0 - b _0810076C -_0810076A: - movs r0, 0x1 -_0810076C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_810072C - - thumb_func_start sub_8100774 -sub_8100774: @ 8100774 - push {r4,lr} - ldr r4, _0810078C @ =gUnknown_203ACEC - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0x1 - beq _081007A8 - cmp r0, 0x1 - bgt _08100790 - cmp r0, 0 - beq _08100796 - b _081007C8 - .align 2, 0 -_0810078C: .4byte gUnknown_203ACEC -_08100790: - cmp r0, 0x2 - beq _081007C0 - b _081007C8 -_08100796: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x2 - bl sub_81019B0 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_081007A8: - bl sub_8101A10 - lsls r0, 24 - cmp r0, 0 - bne _081007C8 - bl sub_810224C - ldr r0, _081007C4 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_081007C0: - movs r0, 0 - b _081007CA - .align 2, 0 -_081007C4: .4byte gUnknown_203ACEC -_081007C8: - movs r0, 0x1 -_081007CA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8100774 - - thumb_func_start sub_81007D0 -sub_81007D0: @ 81007D0 - push {lr} - ldr r0, _081007E8 @ =gUnknown_203ACEC - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x5 - bhi _08100888 - lsls r0, 2 - ldr r1, _081007EC @ =_081007F0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081007E8: .4byte gUnknown_203ACEC -_081007EC: .4byte _081007F0 - .align 2, 0 -_081007F0: - .4byte _08100808 - .4byte _08100816 - .4byte _08100826 - .4byte _08100838 - .4byte _08100858 - .4byte _0810087E -_08100808: - bl sub_8101C48 - bl sub_81020AC - bl sub_81022B0 - b _08100848 -_08100816: - bl sub_81020D0 - lsls r0, 24 - cmp r0, 0 - bne _08100888 - bl sub_81015BC - b _08100848 -_08100826: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08100888 - movs r0, 0x2 - bl sub_81015D4 - b _08100848 -_08100838: - bl sub_81016AC - lsls r0, 24 - cmp r0, 0 - bne _08100888 - movs r0, 0x2 - bl sub_81012E0 -_08100848: - ldr r0, _08100854 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08100888 - .align 2, 0 -_08100854: .4byte gUnknown_203ACEC -_08100858: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08100888 - bl sub_8101E80 - movs r0, 0x1 - bl sub_81022E0 - bl sub_810224C - bl sub_8102394 - ldr r0, _08100884 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0810087E: - movs r0, 0 - b _0810088A - .align 2, 0 -_08100884: .4byte gUnknown_203ACEC -_08100888: - movs r0, 0x1 -_0810088A: - pop {r1} - bx r1 - thumb_func_end sub_81007D0 - - thumb_func_start sub_8100890 -sub_8100890: @ 8100890 - push {lr} - ldr r0, _081008A8 @ =gUnknown_203ACEC - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x5 - bhi _08100934 - lsls r0, 2 - ldr r1, _081008AC @ =_081008B0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081008A8: .4byte gUnknown_203ACEC -_081008AC: .4byte _081008B0 - .align 2, 0 -_081008B0: - .4byte _081008C8 - .4byte _081008CE - .4byte _081008E0 - .4byte _081008F2 - .4byte _08100914 - .4byte _0810092C -_081008C8: - bl sub_8100FDC - b _08100902 -_081008CE: - bl sub_8101F80 - bl sub_81022B0 - bl sub_81023F8 - bl sub_81015BC - b _08100902 -_081008E0: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08100934 - movs r0, 0x3 - bl sub_81015D4 - b _08100902 -_081008F2: - bl sub_81016AC - lsls r0, 24 - cmp r0, 0 - bne _08100934 - movs r0, 0 - bl ShowBg -_08100902: - ldr r0, _08100910 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08100934 - .align 2, 0 -_08100910: .4byte gUnknown_203ACEC -_08100914: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08100934 - bl sub_8101BA8 - ldr r0, _08100930 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0810092C: - movs r0, 0 - b _08100936 - .align 2, 0 -_08100930: .4byte gUnknown_203ACEC -_08100934: - movs r0, 0x1 -_08100936: - pop {r1} - bx r1 - thumb_func_end sub_8100890 - - thumb_func_start sub_810093C -sub_810093C: @ 810093C - push {lr} - ldr r0, _08100954 @ =gUnknown_203ACEC - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x4 - bhi _081009F0 - lsls r0, 2 - ldr r1, _08100958 @ =_0810095C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08100954: .4byte gUnknown_203ACEC -_08100958: .4byte _0810095C - .align 2, 0 -_0810095C: - .4byte _08100970 - .4byte _08100982 - .4byte _08100994 - .4byte _081009A4 - .4byte _081009C4 -_08100970: - bl sub_8101F80 - bl sub_81022B0 - bl sub_81023F8 - bl sub_81015BC - b _081009B2 -_08100982: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081009F0 - movs r0, 0x4 - bl sub_81015D4 - b _081009B2 -_08100994: - bl sub_81016AC - lsls r0, 24 - cmp r0, 0 - bne _081009F0 - bl sub_810131C - b _081009B2 -_081009A4: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _081009F0 - bl sub_8101FAC -_081009B2: - ldr r0, _081009C0 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _081009F0 - .align 2, 0 -_081009C0: .4byte gUnknown_203ACEC -_081009C4: - bl sub_8102018 - lsls r0, 24 - cmp r0, 0 - bne _081009F0 - bl sub_8101BC0 - movs r0, 0 - bl sub_81022E0 - bl sub_810224C - ldr r0, _081009EC @ =gUnknown_203ACEC - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0 - b _081009F2 - .align 2, 0 -_081009EC: .4byte gUnknown_203ACEC -_081009F0: - movs r0, 0x1 -_081009F2: - pop {r1} - bx r1 - thumb_func_end sub_810093C - - thumb_func_start sub_81009F8 -sub_81009F8: @ 81009F8 - push {lr} - bl sub_8101F04 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_81009F8 - - thumb_func_start sub_8100A04 -sub_8100A04: @ 8100A04 - push {r4,lr} - ldr r4, _08100A1C @ =gUnknown_203ACEC - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0x1 - beq _08100A30 - cmp r0, 0x1 - bgt _08100A20 - cmp r0, 0 - beq _08100A2A - b _08100A6E - .align 2, 0 -_08100A1C: .4byte gUnknown_203ACEC -_08100A20: - cmp r0, 0x2 - beq _08100A4C - cmp r0, 0x3 - beq _08100A6A - b _08100A6E -_08100A2A: - bl sub_81013EC - b _08100A42 -_08100A30: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08100A6E - movs r0, 0x1 - movs r1, 0x2 - bl sub_81019B0 -_08100A42: - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08100A6E -_08100A4C: - bl sub_8101A10 - lsls r0, 24 - cmp r0, 0 - bne _08100A6E - bl sub_8101F04 - bl sub_810224C - bl sub_8102394 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_08100A6A: - movs r0, 0 - b _08100A70 -_08100A6E: - movs r0, 0x1 -_08100A70: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8100A04 - - thumb_func_start sub_8100A78 -sub_8100A78: @ 8100A78 - push {r4,lr} - ldr r4, _08100A90 @ =gUnknown_203ACEC - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0x1 - beq _08100AA4 - cmp r0, 0x1 - bgt _08100A94 - cmp r0, 0 - beq _08100A9E - b _08100AE0 - .align 2, 0 -_08100A90: .4byte gUnknown_203ACEC -_08100A94: - cmp r0, 0x2 - beq _08100AC2 - cmp r0, 0x3 - beq _08100ADC - b _08100AE0 -_08100A9E: - bl sub_8101410 - b _08100AB8 -_08100AA4: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08100AE0 - movs r0, 0x1 - negs r0, r0 - movs r1, 0x2 - bl sub_81019B0 -_08100AB8: - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08100AE0 -_08100AC2: - bl sub_8101A10 - lsls r0, 24 - cmp r0, 0 - bne _08100AE0 - bl sub_810224C - bl sub_8102394 - ldr r1, [r4] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_08100ADC: - movs r0, 0 - b _08100AE2 -_08100AE0: - movs r0, 0x1 -_08100AE2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8100A78 - - thumb_func_start sub_8100AE8 -sub_8100AE8: @ 8100AE8 - push {r4,r5,lr} - ldr r5, _08100B00 @ =gUnknown_203ACEC - ldr r0, [r5] - ldrh r0, [r0] - cmp r0, 0x1 - beq _08100B14 - cmp r0, 0x1 - bgt _08100B04 - cmp r0, 0 - beq _08100B0E - b _08100B66 - .align 2, 0 -_08100B00: .4byte gUnknown_203ACEC -_08100B04: - cmp r0, 0x2 - beq _08100B44 - cmp r0, 0x3 - beq _08100B62 - b _08100B66 -_08100B0E: - bl sub_8101434 - b _08100B3A -_08100B14: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08100B66 - bl sub_80FFE48 - adds r4, r0, 0 - bl sub_8101A48 - lsls r4, 24 - lsrs r4, 24 - subs r4, r0 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - movs r1, 0x4 - bl sub_81019B0 -_08100B3A: - ldr r1, [r5] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08100B66 -_08100B44: - bl sub_8101A10 - lsls r0, 24 - cmp r0, 0 - bne _08100B66 - bl sub_8101F04 - bl sub_810224C - bl sub_8102394 - ldr r1, [r5] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_08100B62: - movs r0, 0 - b _08100B68 -_08100B66: - movs r0, 0x1 -_08100B68: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8100AE8 - - thumb_func_start sub_8100B70 -sub_8100B70: @ 8100B70 - push {r4,r5,lr} - ldr r5, _08100B88 @ =gUnknown_203ACEC - ldr r0, [r5] - ldrh r0, [r0] - cmp r0, 0x1 - beq _08100B9C - cmp r0, 0x1 - bgt _08100B8C - cmp r0, 0 - beq _08100B96 - b _08100BEA - .align 2, 0 -_08100B88: .4byte gUnknown_203ACEC -_08100B8C: - cmp r0, 0x2 - beq _08100BCC - cmp r0, 0x3 - beq _08100BE6 - b _08100BEA -_08100B96: - bl sub_8101478 - b _08100BC2 -_08100B9C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08100BEA - bl sub_80FFE48 - adds r4, r0, 0 - bl sub_8101A48 - lsls r4, 24 - lsrs r4, 24 - subs r4, r0 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - movs r1, 0x4 - bl sub_81019B0 -_08100BC2: - ldr r1, [r5] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _08100BEA -_08100BCC: - bl sub_8101A10 - lsls r0, 24 - cmp r0, 0 - bne _08100BEA - bl sub_810224C - bl sub_8102394 - ldr r1, [r5] - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_08100BE6: - movs r0, 0 - b _08100BEC -_08100BEA: - movs r0, 0x1 -_08100BEC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8100B70 - - thumb_func_start sub_8100BF4 -sub_8100BF4: @ 8100BF4 - push {r4,lr} - ldr r4, _08100C50 @ =gUnknown_203ACEC - movs r0, 0x98 - lsls r0, 5 - bl Alloc - adds r2, r0, 0 - str r2, [r4] - cmp r2, 0 - beq _08100C54 - movs r1, 0 - strh r1, [r2] - movs r3, 0xB6 - lsls r3, 2 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - adds r3, 0x4 - adds r0, r2, r3 - str r1, [r0] - movs r0, 0x1 - b _08100C56 - .align 2, 0 -_08100C50: .4byte gUnknown_203ACEC -_08100C54: - movs r0, 0 -_08100C56: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8100BF4 - - thumb_func_start sub_8100C5C -sub_8100C5C: @ 8100C5C - push {lr} - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r1, 0xC1 - lsls r1, 6 - movs r0, 0 - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_8100C5C - - thumb_func_start sub_8100CBC -sub_8100CBC: @ 8100CBC - push {r4,lr} - bl ResetPaletteFade - ldr r0, _08100D10 @ =gUnknown_8E99D8C - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _08100D14 @ =gUnknown_843F76C - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - ldr r0, _08100D18 @ =gUnknown_843F78C - movs r1, 0x40 - movs r2, 0x20 - bl LoadPalette - ldr r0, _08100D1C @ =gUnknown_843F874 - movs r1, 0xA0 - movs r2, 0x8 - bl LoadPalette - ldr r4, _08100D20 @ =gUnknown_843F87C - adds r0, r4, 0 - movs r1, 0xB0 - movs r2, 0xA - bl LoadPalette - adds r0, r4, 0 - movs r1, 0xF0 - movs r2, 0xA - bl LoadPalette - adds r0, r4, 0 - movs r1, 0x30 - movs r2, 0xA - bl LoadPalette - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08100D10: .4byte gUnknown_8E99D8C -_08100D14: .4byte gUnknown_843F76C -_08100D18: .4byte gUnknown_843F78C -_08100D1C: .4byte gUnknown_843F874 -_08100D20: .4byte gUnknown_843F87C - thumb_func_end sub_8100CBC - - thumb_func_start sub_8100D24 -sub_8100D24: @ 8100D24 - push {r4,r5,lr} - sub sp, 0x14 - bl sub_80FFCFC - adds r5, r0, 0 - cmp r5, 0 - beq _08100D7A - movs r0, 0x1 - adds r1, r5, 0 - movs r2, 0 - bl GetStringWidth - movs r4, 0x80 - subs r4, r0 - lsrs r4, 1 - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - lsls r4, 24 - lsrs r4, 24 - movs r1, 0 - str r1, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - str r1, [sp, 0x8] - movs r0, 0x2 - str r0, [sp, 0xC] - movs r0, 0x3 - str r0, [sp, 0x10] - movs r0, 0 - movs r1, 0x1 - adds r2, r5, 0 - adds r3, r4, 0 - bl sub_8100DC4 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram -_08100D7A: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8100D24 - - thumb_func_start sub_8100D84 -sub_8100D84: @ 8100D84 - push {r4-r6,lr} - sub sp, 0xC - adds r6, r2, 0 - ldr r2, [sp, 0x1C] - ldr r4, [sp, 0x20] - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r2, 24 - lsrs r0, r2, 24 - lsls r4, 24 - lsrs r4, 24 - cmp r1, 0x1 - bne _08100DAC - adds r0, 0x2 - lsls r0, 24 - lsrs r0, 24 -_08100DAC: - str r0, [sp] - str r4, [sp, 0x4] - ldr r0, [sp, 0x24] - str r0, [sp, 0x8] - adds r0, r5, 0 - adds r2, r6, 0 - bl AddTextPrinterParameterized - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8100D84 - - thumb_func_start sub_8100DC4 -sub_8100DC4: @ 8100DC4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - mov r9, r2 - ldr r2, [sp, 0x2C] - ldr r4, [sp, 0x30] - ldr r5, [sp, 0x34] - ldr r6, [sp, 0x38] - ldr r7, [sp, 0x3C] - mov r8, r7 - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - lsls r1, 24 - lsrs r1, 24 - lsls r3, 24 - lsrs r7, r3, 24 - lsls r2, 24 - lsrs r3, r2, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r1, 0x1 - bne _08100E0A - adds r0, r3, 0x2 - lsls r0, 24 - lsrs r3, r0, 24 -_08100E0A: - add r0, sp, 0xC - strb r5, [r0] - strb r6, [r0, 0x1] - strb r2, [r0, 0x2] - str r0, [sp] - lsls r0, r4, 24 - asrs r0, 24 - str r0, [sp, 0x4] - mov r0, r9 - str r0, [sp, 0x8] - mov r0, r12 - adds r2, r7, 0 - bl AddTextPrinterParameterized3 - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8100DC4 - - thumb_func_start sub_8100E34 -sub_8100E34: @ 8100E34 - push {lr} - sub sp, 0xC - movs r0, 0x20 - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0xE0 - bl TextWindow_SetUserSelectedFrame - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0xE - bl DrawTextBorderOuter - movs r0, 0 - bl sub_8100E7C - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl CopyBgTilemapBufferToVram - add sp, 0xC - pop {r0} - bx r0 - thumb_func_end sub_8100E34 - - thumb_func_start sub_8100E7C -sub_8100E7C: @ 8100E7C - push {lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r1, r0, 24 - adds r2, r1, 0 - movs r0, 0 - str r0, [sp, 0x10] - str r0, [sp, 0xC] - cmp r1, 0x1 - beq _08100EC2 - cmp r1, 0x1 - bgt _08100E9A - cmp r1, 0 - beq _08100EA4 - b _08100ECA -_08100E9A: - cmp r2, 0x2 - beq _08100EAE - cmp r2, 0x3 - beq _08100EB8 - b _08100ECA -_08100EA4: - add r1, sp, 0x10 - add r0, sp, 0xC - bl sub_80FFD58 - b _08100ECA -_08100EAE: - add r1, sp, 0x10 - add r0, sp, 0xC - bl sub_80FFDC8 - b _08100ECA -_08100EB8: - add r1, sp, 0x10 - add r0, sp, 0xC - bl sub_80FFD90 - b _08100ECA -_08100EC2: - add r1, sp, 0x10 - add r0, sp, 0xC - bl sub_80FFDF4 -_08100ECA: - movs r0, 0x1 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, [sp, 0xC] - cmp r2, 0 - beq _08100EEC - movs r1, 0 - str r1, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - str r1, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0 - bl sub_8100D84 -_08100EEC: - ldr r2, [sp, 0x10] - cmp r2, 0 - beq _08100F08 - movs r0, 0x10 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r3, 0 - bl sub_8100D84 -_08100F08: - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x14 - pop {r0} - bx r0 - thumb_func_end sub_8100E7C - - thumb_func_start sub_8100F18 -sub_8100F18: @ 8100F18 - push {lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08100F40 @ =gUnknown_843F8D0 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xE - str r1, [sp, 0x4] - str r0, [sp, 0x8] - adds r0, r2, 0 - movs r1, 0x1 - movs r2, 0 - movs r3, 0x2 - bl CreateYesNoMenu - add sp, 0xC - pop {r0} - bx r0 - .align 2, 0 -_08100F40: .4byte gUnknown_843F8D0 - thumb_func_end sub_8100F18 - - thumb_func_start sub_8100F44 -sub_8100F44: @ 8100F44 - push {r4,r5,lr} - sub sp, 0x8 - bl sub_80FFCE0 - lsls r0, 24 - ldr r5, _08100FC0 @ =0xffffff00 - ldr r3, [sp] - ands r3, r5 - movs r1, 0x3 - orrs r3, r1 - str r3, [sp] - ldr r1, _08100FC4 @ =gUnknown_843F888 - lsrs r0, 22 - adds r0, r1 - ldrb r2, [r0] - lsls r2, 8 - ldr r4, _08100FC8 @ =0xffff00ff - adds r1, r4, 0 - ands r1, r3 - orrs r1, r2 - str r1, [sp] - ldrb r2, [r0, 0x1] - lsls r2, 16 - ldr r3, _08100FCC @ =0xff00ffff - ands r3, r1 - orrs r3, r2 - str r3, [sp] - ldrb r2, [r0, 0x2] - lsls r2, 24 - ldr r1, _08100FD0 @ =0x00ffffff - ands r1, r3 - orrs r1, r2 - str r1, [sp] - ldrb r1, [r0, 0x3] - ldr r0, [sp, 0x4] - ands r0, r5 - orrs r0, r1 - ands r0, r4 - movs r1, 0xB0 - lsls r1, 4 - orrs r0, r1 - ldr r1, _08100FD4 @ =0x0000ffff - ands r0, r1 - movs r1, 0xC0 - lsls r1, 15 - orrs r0, r1 - str r0, [sp, 0x4] - mov r0, sp - bl AddWindow - ldr r1, _08100FD8 @ =gUnknown_203ACEC - ldr r1, [r1] - strh r0, [r1, 0x2] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08100FC0: .4byte 0xffffff00 -_08100FC4: .4byte gUnknown_843F888 -_08100FC8: .4byte 0xffff00ff -_08100FCC: .4byte 0xff00ffff -_08100FD0: .4byte 0x00ffffff -_08100FD4: .4byte 0x0000ffff -_08100FD8: .4byte gUnknown_203ACEC - thumb_func_end sub_8100F44 - - thumb_func_start sub_8100FDC -sub_8100FDC: @ 8100FDC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - bl sub_80FFD1C - adds r4, r0, 0 - bl sub_80FFD34 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - bl sub_80FFD28 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0xC] - bl sub_80FFCE0 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x10] - ldr r0, _0810101C @ =gUnknown_203ACEC - ldr r0, [r0] - ldrb r0, [r0, 0x2] - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r6, 0 - b _081010D6 - .align 2, 0 -_0810101C: .4byte gUnknown_203ACEC -_08101020: - ldr r0, _0810105C @ =gUnknown_203ACEC - ldr r1, [r0] - adds r2, r1, 0 - adds r2, 0xA - movs r0, 0xFF - strb r0, [r1, 0xA] - adds r0, r2, 0 - ldr r1, _08101060 @ =gUnknown_843F8DB - bl StringAppend - adds r2, r0, 0 - movs r5, 0 - lsls r7, r6, 28 - adds r0, r6, 0x1 - mov r9, r0 - cmp r5, r8 - bge _081010B4 - ldr r0, _08101064 @ =0x0000ffff - mov r10, r0 -_08101046: - ldrh r0, [r4] - cmp r0, r10 - beq _08101068 - adds r1, r0, 0 - adds r0, r2, 0 - bl CopyEasyChatWord - adds r2, r0, 0 - adds r4, 0x2 - b _08101096 - .align 2, 0 -_0810105C: .4byte gUnknown_203ACEC -_08101060: .4byte gUnknown_843F8DB -_08101064: .4byte 0x0000ffff -_08101068: - adds r0, r2, 0 - movs r1, 0 - movs r2, 0x4 - bl WriteColorChangeControlCode - adds r2, r0, 0 - adds r4, 0x2 - movs r3, 0xF9 - movs r1, 0x9 - movs r0, 0x6 -_0810107C: - strb r3, [r2] - adds r2, 0x1 - strb r1, [r2] - adds r2, 0x1 - subs r0, 0x1 - cmp r0, 0 - bge _0810107C - adds r0, r2, 0 - movs r1, 0 - movs r2, 0x2 - bl WriteColorChangeControlCode - adds r2, r0, 0 -_08101096: - adds r0, r2, 0 - ldr r1, _081010F8 @ =gUnknown_843F8DB - bl StringAppend - adds r2, r0, 0 - ldr r0, [sp, 0x10] - cmp r0, 0x2 - bne _081010AE - cmp r5, 0 - bne _081010AE - cmp r6, 0x4 - beq _081010B4 -_081010AE: - adds r5, 0x1 - cmp r5, r8 - blt _08101046 -_081010B4: - movs r0, 0xFF - strb r0, [r2] - ldr r0, _081010FC @ =gUnknown_203ACEC - ldr r2, [r0] - ldrb r0, [r2, 0x2] - adds r2, 0xA - lsrs r1, r7, 24 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl sub_8100D84 - mov r6, r9 -_081010D6: - ldr r0, [sp, 0xC] - cmp r6, r0 - blt _08101020 - ldr r0, _081010FC @ =gUnknown_203ACEC - ldr r0, [r0] - ldrb r0, [r0, 0x2] - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081010F8: .4byte gUnknown_843F8DB -_081010FC: .4byte gUnknown_203ACEC - thumb_func_end sub_8100FDC - - thumb_func_start sub_8101100 -sub_8101100: @ 8101100 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r8, r0 - bl sub_80FFCE0 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0 - str r0, [sp] - ldr r2, _08101194 @ =0x01000200 - mov r0, sp - mov r1, r8 - bl CpuFastSet - cmp r5, 0x2 - bne _081011A4 - ldr r0, _08101198 @ =gUnknown_843F888 - adds r1, r0, 0 - adds r1, 0x8 - ldrb r5, [r0, 0x8] - ldrb r0, [r1, 0x2] - adds r4, r5, r0 - ldrb r2, [r1, 0x1] - ldrb r0, [r1, 0x3] - adds r0, r2 - mov r12, r0 - adds r7, r2, 0 - cmp r7, r12 - blt _08101144 - b _08101296 -_08101144: - adds r3, r5, 0 - lsls r0, r3, 1 - mov r9, r0 -_0810114A: - subs r6, r3, 0x1 - lsls r0, r7, 5 - adds r1, r0, r6 - lsls r1, 1 - add r1, r8 - ldr r5, _0810119C @ =0x00001005 - adds r2, r5, 0 - strh r2, [r1] - adds r6, r3, 0 - adds r5, r0, 0 - adds r2, r7, 0x1 - cmp r6, r4 - bge _0810117E - movs r0, 0x80 - lsls r0, 5 - adds r1, r0, 0 - lsls r0, r7, 6 - add r0, r8 - add r0, r9 - subs r6, r4, r6 -_08101172: - strh r1, [r0] - adds r0, 0x2 - subs r6, 0x1 - cmp r6, 0 - bne _08101172 - adds r6, r4, 0 -_0810117E: - adds r0, r5, r6 - lsls r0, 1 - add r0, r8 - ldr r5, _081011A0 @ =0x00001007 - adds r1, r5, 0 - strh r1, [r0] - adds r7, r2, 0 - cmp r7, r12 - blt _0810114A - b _08101296 - .align 2, 0 -_08101194: .4byte 0x01000200 -_08101198: .4byte gUnknown_843F888 -_0810119C: .4byte 0x00001005 -_081011A0: .4byte 0x00001007 -_081011A4: - ldr r6, _081012A8 @ =gUnknown_843F888 - mov r9, r6 - lsls r5, 2 - adds r1, r5, r6 - ldrb r3, [r1, 0x1] - subs r7, r3, 0x1 - ldrb r2, [r1] - subs r6, r2, 0x1 - ldrb r0, [r1, 0x2] - adds r4, r2, r0 - ldrb r0, [r1, 0x3] - adds r3, r0 - mov r12, r3 - lsls r0, r7, 5 - adds r0, r6 - lsls r0, 1 - add r0, r8 - ldr r3, _081012AC @ =0x00001001 - adds r1, r3, 0 - strh r1, [r0] - adds r6, r2, 0 - mov r10, r9 - mov r9, r5 - cmp r6, r4 - bge _081011F0 - ldr r5, _081012B0 @ =0x00001002 - adds r2, r5, 0 - lsls r1, r6, 1 - lsls r0, r7, 6 - add r0, r8 - adds r1, r0 - subs r6, r4, r6 -_081011E4: - strh r2, [r1] - adds r1, 0x2 - subs r6, 0x1 - cmp r6, 0 - bne _081011E4 - adds r6, r4, 0 -_081011F0: - lsls r0, r7, 5 - adds r0, r6 - lsls r0, 1 - add r0, r8 - ldr r6, _081012B4 @ =0x00001003 - adds r1, r6, 0 - strh r1, [r0] - adds r7, 0x1 - cmp r7, r12 - bge _08101252 - ldr r0, _081012A8 @ =gUnknown_843F888 - add r0, r9 - ldrb r3, [r0] - lsls r5, r3, 1 -_0810120C: - subs r6, r3, 0x1 - lsls r0, r7, 5 - adds r0, r6 - lsls r0, 1 - add r0, r8 - ldr r2, _081012B8 @ =0x00001005 - adds r1, r2, 0 - strh r1, [r0] - adds r6, r3, 0 - adds r2, r7, 0x1 - cmp r6, r4 - bge _0810123E - movs r0, 0x80 - lsls r0, 5 - adds r1, r0, 0 - lsls r0, r7, 6 - add r0, r8 - adds r0, r5, r0 - subs r6, r4, r6 -_08101232: - strh r1, [r0] - adds r0, 0x2 - subs r6, 0x1 - cmp r6, 0 - bne _08101232 - adds r6, r4, 0 -_0810123E: - lsls r0, r7, 5 - adds r0, r6 - lsls r0, 1 - add r0, r8 - ldr r6, _081012BC @ =0x00001007 - adds r1, r6, 0 - strh r1, [r0] - adds r7, r2, 0 - cmp r7, r12 - blt _0810120C -_08101252: - mov r0, r9 - add r0, r10 - ldrb r3, [r0] - subs r6, r3, 0x1 - lsls r2, r7, 5 - adds r0, r2, r6 - lsls r0, 1 - add r0, r8 - ldr r5, _081012C0 @ =0x00001009 - adds r1, r5, 0 - strh r1, [r0] - adds r6, r3, 0 - adds r5, r2, 0 - cmp r6, r4 - bge _0810128A - ldr r0, _081012C4 @ =0x0000100a - adds r2, r0, 0 - lsls r1, r6, 1 - lsls r0, r7, 6 - add r0, r8 - adds r0, r1, r0 - subs r6, r4, r6 -_0810127E: - strh r2, [r0] - adds r0, 0x2 - subs r6, 0x1 - cmp r6, 0 - bne _0810127E - adds r6, r4, 0 -_0810128A: - adds r0, r5, r6 - lsls r0, 1 - add r0, r8 - ldr r2, _081012C8 @ =0x0000100b - adds r1, r2, 0 - strh r1, [r0] -_08101296: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081012A8: .4byte gUnknown_843F888 -_081012AC: .4byte 0x00001001 -_081012B0: .4byte 0x00001002 -_081012B4: .4byte 0x00001003 -_081012B8: .4byte 0x00001005 -_081012BC: .4byte 0x00001007 -_081012C0: .4byte 0x00001009 -_081012C4: .4byte 0x0000100a -_081012C8: .4byte 0x0000100b - thumb_func_end sub_8101100 - - thumb_func_start sub_81012CC -sub_81012CC: @ 81012CC - push {lr} - movs r0, 0x2 - bl PutWindowTilemap - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - pop {r0} - bx r0 - thumb_func_end sub_81012CC - - thumb_func_start sub_81012E0 -sub_81012E0: @ 81012E0 - push {r4,lr} - adds r4, r0, 0 - bl sub_810198C - movs r0, 0x2 - movs r1, 0x11 - bl FillWindowPixelBuffer - cmp r4, 0x1 - beq _08101304 - cmp r4, 0x1 - bcc _081012FE - cmp r4, 0x2 - beq _0810130A - b _0810130E -_081012FE: - bl sub_810133C - b _0810130E -_08101304: - bl sub_81013A0 - b _0810130E -_0810130A: - bl sub_81013DC -_0810130E: - movs r0, 0x2 - movs r1, 0x2 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81012E0 - - thumb_func_start sub_810131C -sub_810131C: @ 810131C - push {lr} - bl sub_80FFE1C - lsls r0, 24 - cmp r0, 0 - bne _08101330 - movs r0, 0 - bl sub_81012E0 - b _08101336 -_08101330: - movs r0, 0x1 - bl sub_81012E0 -_08101336: - pop {r0} - bx r0 - thumb_func_end sub_810131C - - thumb_func_start sub_810133C -sub_810133C: @ 810133C - push {r4-r7,lr} - sub sp, 0xC - movs r5, 0 - movs r7, 0x60 -_08101344: - movs r4, 0 - lsls r0, r7, 24 - lsrs r6, r0, 24 -_0810134A: - lsls r0, r5, 24 - lsrs r0, 24 - adds r5, 0x1 - bl GetSelectedGroupByIndex - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x16 - beq _0810138A - bl GetEasyChatWordGroupName - adds r2, r0, 0 - movs r0, 0x54 - adds r3, r4, 0 - muls r3, r0 - adds r3, 0xA - lsls r3, 24 - lsrs r3, 24 - str r6, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x1 - bl sub_8100D84 - adds r4, 0x1 - cmp r4, 0x1 - ble _0810134A - adds r7, 0x10 - b _08101344 -_0810138A: - bl sub_80FFE28 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_81019B0 - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_810133C - - thumb_func_start sub_81013A0 -sub_81013A0: @ 81013A0 - push {r4-r6,lr} - sub sp, 0xC - movs r5, 0 - movs r4, 0xC0 - lsls r4, 23 - ldr r6, _081013D8 @ =gUnknown_843F8E0 -_081013AC: - ldm r6!, {r2} - lsrs r0, r4, 24 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x1 - movs r3, 0xA - bl sub_8100D84 - movs r0, 0x80 - lsls r0, 21 - adds r4, r0 - adds r5, 0x1 - cmp r5, 0x3 - bls _081013AC - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081013D8: .4byte gUnknown_843F8E0 - thumb_func_end sub_81013A0 - - thumb_func_start sub_81013DC -sub_81013DC: @ 81013DC - push {lr} - movs r0, 0 - movs r1, 0x4 - bl sub_81014AC - pop {r0} - bx r0 - thumb_func_end sub_81013DC - - thumb_func_start sub_81013EC -sub_81013EC: @ 81013EC - push {r4,lr} - bl sub_80FFE48 - adds r4, r0, 0 - adds r4, 0x3 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8101558 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81014AC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81013EC - - thumb_func_start sub_8101410 -sub_8101410: @ 8101410 - push {r4,lr} - bl sub_80FFE48 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8101558 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81014AC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8101410 - - thumb_func_start sub_8101434 -sub_8101434: @ 8101434 - push {r4,r5,lr} - bl sub_80FFE48 - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - adds r0, r5, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80FFE54 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bls _08101456 - adds r4, r0, 0 -_08101456: - cmp r5, r4 - bcs _08101470 - subs r4, r5 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8101558 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_81014AC -_08101470: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8101434 - - thumb_func_start sub_8101478 -sub_8101478: @ 8101478 - push {r4,r5,lr} - bl sub_80FFE48 - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_8101A48 - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bcs _081014A4 - subs r4, r0, r5 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8101558 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_81014AC -_081014A4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8101478 - - thumb_func_start sub_81014AC -sub_81014AC: @ 81014AC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - lsls r4, r0, 1 - lsls r0, 4 - adds r1, r0, 0 - adds r1, 0x60 - movs r0, 0xFF - ands r1, r0 - movs r0, 0 - cmp r0, r10 - bge _08101538 - ldr r2, _08101550 @ =gUnknown_203ACEC - mov r9, r2 -_081014D8: - movs r5, 0 - movs r2, 0x10 - adds r2, r1 - mov r8, r2 - adds r7, r0, 0x1 - lsls r0, r1, 24 - lsrs r6, r0, 24 -_081014E6: - lsls r0, r4, 16 - lsrs r0, 16 - adds r4, 0x1 - bl GetDisplayedWordByIndex - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, _08101554 @ =0x0000ffff - cmp r1, r0 - beq _0810152A - mov r2, r9 - ldr r0, [r2] - adds r0, 0xCB - movs r2, 0 - bl CopyEasyChatWordPadded - mov r0, r9 - ldr r2, [r0] - adds r2, 0xCB - movs r0, 0xD - adds r3, r5, 0 - muls r3, r0 - adds r3, 0x3 - lsls r3, 27 - lsrs r3, 24 - str r6, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x1 - bl sub_8100D84 -_0810152A: - adds r5, 0x1 - cmp r5, 0x1 - ble _081014E6 - mov r1, r8 - adds r0, r7, 0 - cmp r0, r10 - blt _081014D8 -_08101538: - movs r0, 0x2 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08101550: .4byte gUnknown_203ACEC -_08101554: .4byte 0x0000ffff - thumb_func_end sub_81014AC - - thumb_func_start sub_8101558 -sub_8101558: @ 8101558 - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsls r1, 24 - lsrs r0, 20 - adds r3, r0, 0 - adds r3, 0x60 - movs r0, 0xFF - ands r3, r0 - lsrs r0, r1, 20 - adds r1, r3, r0 - cmp r1, 0xFF - ble _08101584 - ldr r0, _08101580 @ =0xffffff00 - adds r4, r1, r0 - movs r0, 0x80 - lsls r0, 1 - subs r0, r3 - b _08101586 - .align 2, 0 -_08101580: .4byte 0xffffff00 -_08101584: - movs r4, 0 -_08101586: - movs r5, 0xE0 - str r5, [sp] - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r1, 0x11 - movs r2, 0 - bl FillWindowPixelRect - cmp r4, 0 - beq _081015B2 - str r5, [sp] - lsls r0, r4, 16 - lsrs r0, 16 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect -_081015B2: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8101558 - - thumb_func_start sub_81015BC -sub_81015BC: @ 81015BC - push {lr} - movs r0, 0x2 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0x2 - movs r1, 0x2 - bl CopyWindowToVram - pop {r0} - bx r0 - thumb_func_end sub_81015BC - - thumb_func_start sub_81015D4 -sub_81015D4: @ 81015D4 - push {lr} - ldr r1, _081015E8 @ =gUnknown_203ACEC - cmp r0, 0x6 - bhi _0810168E - lsls r0, 2 - ldr r1, _081015EC @ =_081015F0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081015E8: .4byte gUnknown_203ACEC -_081015EC: .4byte _081015F0 - .align 2, 0 -_081015F0: - .4byte _0810160C - .4byte _08101620 - .4byte _08101630 - .4byte _08101644 - .4byte _08101658 - .4byte _0810166C - .4byte _08101680 -_0810160C: - ldr r1, _0810161C @ =gUnknown_203ACEC - ldr r2, [r1] - movs r0, 0 - strb r0, [r2, 0x6] - ldr r2, [r1] - movs r0, 0xA - b _0810168C - .align 2, 0 -_0810161C: .4byte gUnknown_203ACEC -_08101620: - ldr r1, _0810162C @ =gUnknown_203ACEC - ldr r2, [r1] - movs r3, 0 - movs r0, 0x9 - b _0810164C - .align 2, 0 -_0810162C: .4byte gUnknown_203ACEC -_08101630: - ldr r1, _08101640 @ =gUnknown_203ACEC - ldr r2, [r1] - movs r0, 0xB - strb r0, [r2, 0x6] - ldr r2, [r1] - movs r0, 0x11 - b _0810168C - .align 2, 0 -_08101640: .4byte gUnknown_203ACEC -_08101644: - ldr r1, _08101654 @ =gUnknown_203ACEC - ldr r2, [r1] - movs r3, 0 - movs r0, 0x11 -_0810164C: - strb r0, [r2, 0x6] - ldr r0, [r1] - strb r3, [r0, 0x7] - b _0810168E - .align 2, 0 -_08101654: .4byte gUnknown_203ACEC -_08101658: - ldr r1, _08101668 @ =gUnknown_203ACEC - ldr r2, [r1] - movs r0, 0x11 - strb r0, [r2, 0x6] - ldr r2, [r1] - movs r0, 0xA - b _0810168C - .align 2, 0 -_08101668: .4byte gUnknown_203ACEC -_0810166C: - ldr r1, _0810167C @ =gUnknown_203ACEC - ldr r2, [r1] - movs r0, 0x12 - strb r0, [r2, 0x6] - ldr r2, [r1] - movs r0, 0x16 - b _0810168C - .align 2, 0 -_0810167C: .4byte gUnknown_203ACEC -_08101680: - ldr r1, _081016A8 @ =gUnknown_203ACEC - ldr r2, [r1] - movs r0, 0x16 - strb r0, [r2, 0x6] - ldr r2, [r1] - movs r0, 0x12 -_0810168C: - strb r0, [r2, 0x7] -_0810168E: - ldr r1, [r1] - ldrb r0, [r1, 0x6] - movs r3, 0x1 - negs r3, r3 - adds r2, r3, 0 - ldrb r3, [r1, 0x7] - cmp r0, r3 - bcs _081016A0 - movs r2, 0x1 -_081016A0: - strb r2, [r1, 0x8] - pop {r0} - bx r0 - .align 2, 0 -_081016A8: .4byte gUnknown_203ACEC - thumb_func_end sub_81015D4 - - thumb_func_start sub_81016AC -sub_81016AC: @ 81016AC - push {r4,lr} - ldr r4, _081016D8 @ =gUnknown_203ACEC - ldr r1, [r4] - ldrb r2, [r1, 0x6] - ldrb r0, [r1, 0x7] - cmp r2, r0 - beq _081016DC - ldrb r0, [r1, 0x8] - adds r0, r2, r0 - strb r0, [r1, 0x6] - ldr r0, [r4] - ldrb r0, [r0, 0x6] - bl sub_81016E4 - ldr r0, [r4] - ldrb r1, [r0, 0x6] - ldrb r0, [r0, 0x7] - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - b _081016DE - .align 2, 0 -_081016D8: .4byte gUnknown_203ACEC -_081016DC: - movs r0, 0 -_081016DE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81016AC - - thumb_func_start sub_81016E4 -sub_81016E4: @ 81016E4 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1E - str r0, [sp] - movs r0, 0xA - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0xA - bl FillBgTilemapBufferRect_Palette0 - cmp r4, 0x16 - bls _08101706 - b _08101822 -_08101706: - lsls r0, r4, 2 - ldr r1, _08101710 @ =_08101714 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08101710: .4byte _08101714 - .align 2, 0 -_08101714: - .4byte _08101822 - .4byte _08101770 - .4byte _08101778 - .4byte _08101780 - .4byte _08101788 - .4byte _08101790 - .4byte _08101798 - .4byte _08101808 - .4byte _081017FA - .4byte _081017EC - .4byte _081017DE - .4byte _081017A6 - .4byte _081017AE - .4byte _081017B6 - .4byte _081017BE - .4byte _081017C6 - .4byte _081017CE - .4byte _081017D6 - .4byte _081017DE - .4byte _081017EC - .4byte _081017FA - .4byte _08101808 - .4byte _08101816 -_08101770: - movs r0, 0xB - movs r1, 0xE - movs r2, 0x3 - b _0810179E -_08101778: - movs r0, 0x9 - movs r1, 0xE - movs r2, 0x7 - b _0810179E -_08101780: - movs r0, 0x7 - movs r1, 0xE - movs r2, 0xB - b _0810179E -_08101788: - movs r0, 0x5 - movs r1, 0xE - movs r2, 0xF - b _0810179E -_08101790: - movs r0, 0x3 - movs r1, 0xE - movs r2, 0x13 - b _0810179E -_08101798: - movs r0, 0x1 - movs r1, 0xE - movs r2, 0x17 -_0810179E: - movs r3, 0x2 - bl sub_8101830 - b _08101822 -_081017A6: - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x18 - b _081017E4 -_081017AE: - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x19 - b _081017E4 -_081017B6: - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x1A - b _081017E4 -_081017BE: - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x1B - b _081017E4 -_081017C6: - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x1C - b _081017E4 -_081017CE: - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x1D - b _081017E4 -_081017D6: - movs r0, 0 - movs r1, 0xA - movs r2, 0x1E - b _081017E4 -_081017DE: - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x17 -_081017E4: - movs r3, 0xA - bl sub_8101830 - b _08101822 -_081017EC: - movs r0, 0x1 - movs r1, 0xB - movs r2, 0x17 - movs r3, 0x8 - bl sub_8101830 - b _08101822 -_081017FA: - movs r0, 0x1 - movs r1, 0xC - movs r2, 0x17 - movs r3, 0x6 - bl sub_8101830 - b _08101822 -_08101808: - movs r0, 0x1 - movs r1, 0xD - movs r2, 0x17 - movs r3, 0x4 - bl sub_8101830 - b _08101822 -_08101816: - movs r0, 0x1 - movs r1, 0xE - movs r2, 0x17 - movs r3, 0x2 - bl sub_8101830 -_08101822: - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81016E4 - - thumb_func_start sub_8101830 -sub_8101830: @ 8101830 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - mov r12, r0 - adds r7, r1, 0 - mov r9, r2 - mov r10, r3 - ldr r0, _08101968 @ =gUnknown_203ACEC - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 2 - adds r6, r0, r1 - mov r0, r12 - add r0, r9 - subs r5, r0, 0x1 - adds r0, r7, r3 - subs r0, 0x1 - mov r8, r0 - mov r2, r12 - adds r3, r7, 0 - lsls r0, r3, 5 - adds r0, r2 - lsls r0, 1 - adds r0, r6 - ldr r4, _0810196C @ =0x00004001 - adds r1, r4, 0 - strh r1, [r0] - adds r2, 0x1 - cmp r2, r5 - bge _0810188C - ldr r0, _08101970 @ =0x00004002 - adds r4, r0, 0 - lsls r1, r2, 1 - lsls r0, r3, 6 - adds r0, r6 - adds r1, r0 - subs r2, r5, r2 -_08101880: - strh r4, [r1] - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bne _08101880 - adds r2, r5, 0 -_0810188C: - lsls r0, r3, 5 - adds r0, r2 - lsls r0, 1 - adds r0, r6 - ldr r2, _08101974 @ =0x00004003 - adds r1, r2, 0 - strh r1, [r0] - adds r3, 0x1 - mov r4, r12 - adds r4, 0x1 - adds r0, r7, 0x1 - str r0, [sp, 0x4] - mov r1, r9 - subs r1, 0x2 - str r1, [sp] - movs r2, 0x2 - negs r2, r2 - add r10, r2 - cmp r3, r8 - bge _081018FC - lsls r7, r4, 1 - mov r9, r7 -_081018B8: - lsls r0, r3, 5 - add r0, r12 - lsls r0, 1 - adds r0, r6 - ldr r2, _08101978 @ =0x00004005 - adds r1, r2, 0 - strh r1, [r0] - adds r2, r4, 0 - adds r7, r3, 0x1 - cmp r4, r5 - bge _081018E8 - movs r0, 0x80 - lsls r0, 7 - adds r1, r0, 0 - lsls r0, r3, 6 - adds r0, r6 - add r0, r9 - subs r2, r5, r4 -_081018DC: - strh r1, [r0] - adds r0, 0x2 - subs r2, 0x1 - cmp r2, 0 - bne _081018DC - adds r2, r5, 0 -_081018E8: - lsls r0, r3, 5 - adds r0, r2 - lsls r0, 1 - adds r0, r6 - ldr r2, _0810197C @ =0x00004007 - adds r1, r2, 0 - strh r1, [r0] - adds r3, r7, 0 - cmp r3, r8 - blt _081018B8 -_081018FC: - lsls r0, r3, 5 - mov r7, r12 - adds r1, r0, r7 - lsls r1, 1 - adds r1, r6 - ldr r7, _08101980 @ =0x00004009 - adds r2, r7, 0 - strh r2, [r1] - adds r2, r4, 0 - mov r12, r0 - cmp r4, r5 - bge _0810192E - ldr r0, _08101984 @ =0x0000400a - adds r7, r0, 0 - lsls r1, r4, 1 - lsls r0, r3, 6 - adds r0, r6 - adds r0, r1, r0 - subs r2, r5, r4 -_08101922: - strh r7, [r0] - adds r0, 0x2 - subs r2, 0x1 - cmp r2, 0 - bne _08101922 - adds r2, r5, 0 -_0810192E: - mov r1, r12 - adds r0, r1, r2 - lsls r0, 1 - adds r0, r6 - ldr r2, _08101988 @ =0x0000400b - adds r1, r2, 0 - strh r1, [r0] - lsls r0, r4, 27 - lsrs r0, 24 - ldr r3, [sp, 0x4] - lsls r1, r3, 27 - lsrs r1, 24 - ldr r4, [sp] - lsls r2, r4, 27 - lsrs r2, 24 - mov r7, r10 - lsls r3, r7, 27 - lsrs r3, 24 - bl sub_8101A5C - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08101968: .4byte gUnknown_203ACEC -_0810196C: .4byte 0x00004001 -_08101970: .4byte 0x00004002 -_08101974: .4byte 0x00004003 -_08101978: .4byte 0x00004005 -_0810197C: .4byte 0x00004007 -_08101980: .4byte 0x00004009 -_08101984: .4byte 0x0000400a -_08101988: .4byte 0x0000400b - thumb_func_end sub_8101830 - - thumb_func_start sub_810198C -sub_810198C: @ 810198C - push {lr} - movs r1, 0x80 - lsls r1, 4 - movs r0, 0x2 - movs r2, 0 - bl ChangeBgY - ldr r0, _081019AC @ =gUnknown_203ACEC - ldr r0, [r0] - movs r1, 0xB3 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - strh r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_081019AC: .4byte gUnknown_203ACEC - thumb_func_end sub_810198C - - thumb_func_start sub_81019B0 -sub_81019B0: @ 81019B0 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r1, 24 - lsrs r5, r1, 24 - movs r0, 0x2 - bl GetBgY - adds r2, r0, 0 - ldr r0, _081019FC @ =gUnknown_203ACEC - ldr r3, [r0] - movs r0, 0xB3 - lsls r0, 2 - adds r1, r3, r0 - ldrh r0, [r1] - adds r0, r4 - strh r0, [r1] - lsls r4, 20 - asrs r4, 16 - lsls r0, r4, 8 - adds r2, r0 - cmp r5, 0 - beq _08101A00 - movs r1, 0xB4 - lsls r1, 2 - adds r0, r3, r1 - str r2, [r0] - movs r0, 0xB5 - lsls r0, 2 - adds r1, r3, r0 - lsls r0, r5, 8 - str r0, [r1] - cmp r4, 0 - bge _08101A0A - negs r0, r0 - str r0, [r1] - b _08101A0A - .align 2, 0 -_081019FC: .4byte gUnknown_203ACEC -_08101A00: - movs r0, 0x2 - adds r1, r2, 0 - movs r2, 0 - bl ChangeBgY -_08101A0A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81019B0 - - thumb_func_start sub_8101A10 -sub_8101A10: @ 8101A10 - push {lr} - movs r0, 0x2 - bl GetBgY - ldr r1, _08101A3C @ =gUnknown_203ACEC - ldr r2, [r1] - movs r3, 0xB4 - lsls r3, 2 - adds r1, r2, r3 - ldr r1, [r1] - cmp r0, r1 - beq _08101A40 - movs r1, 0xB5 - lsls r1, 2 - adds r0, r2, r1 - ldr r1, [r0] - movs r0, 0x2 - movs r2, 0x1 - bl ChangeBgY - movs r0, 0x1 - b _08101A42 - .align 2, 0 -_08101A3C: .4byte gUnknown_203ACEC -_08101A40: - movs r0, 0 -_08101A42: - pop {r1} - bx r1 - thumb_func_end sub_8101A10 - - thumb_func_start sub_8101A48 -sub_8101A48: @ 8101A48 - ldr r0, _08101A58 @ =gUnknown_203ACEC - ldr r0, [r0] - movs r1, 0xB3 - lsls r1, 2 - adds r0, r1 - ldrh r0, [r0] - bx lr - .align 2, 0 -_08101A58: .4byte gUnknown_203ACEC - thumb_func_end sub_8101A48 - - thumb_func_start sub_8101A5C -sub_8101A5C: @ 8101A5C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, r0, 8 - adds r0, r2 - orrs r4, r0 - lsls r5, r1, 8 - adds r1, r3 - orrs r5, r1 - movs r0, 0x40 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x44 - adds r1, r5, 0 - bl SetGpuReg - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8101A5C - - thumb_func_start sub_8101A90 -sub_8101A90: @ 8101A90 - push {r4,r5,lr} - ldr r0, _08101AB8 @ =gUnknown_843F8F0 - bl LoadSpriteSheets - ldr r0, _08101ABC @ =gUnknown_843F910 - bl LoadSpritePalettes - movs r5, 0 - ldr r4, _08101AC0 @ =gUnknown_843F938 -_08101AA2: - adds r0, r4, 0 - bl LoadCompressedSpriteSheet - adds r4, 0x8 - adds r5, 0x1 - cmp r5, 0x3 - bls _08101AA2 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08101AB8: .4byte gUnknown_843F8F0 -_08101ABC: .4byte gUnknown_843F910 -_08101AC0: .4byte gUnknown_843F938 - thumb_func_end sub_8101A90 - - thumb_func_start sub_8101AC4 -sub_8101AC4: @ 8101AC4 - push {lr} - bl sub_80FFCE0 - lsls r0, 24 - ldr r1, _08101B10 @ =gUnknown_843F888 - lsrs r0, 22 - adds r0, r1 - ldrb r1, [r0] - lsls r1, 19 - ldrb r2, [r0, 0x1] - adds r2, 0x1 - lsls r2, 3 - adds r2, 0x1 - ldr r0, _08101B14 @ =gUnknown_843F968 - movs r3, 0xD0 - lsls r3, 12 - adds r1, r3 - asrs r1, 16 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08101B18 @ =gUnknown_203ACEC - ldr r2, [r1] - movs r1, 0xB6 - lsls r1, 2 - adds r2, r1 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08101B1C @ =gSprites - adds r1, r0 - str r1, [r2] - movs r0, 0x1 - strh r0, [r1, 0x30] - pop {r0} - bx r0 - .align 2, 0 -_08101B10: .4byte gUnknown_843F888 -_08101B14: .4byte gUnknown_843F968 -_08101B18: .4byte gUnknown_203ACEC -_08101B1C: .4byte gSprites - thumb_func_end sub_8101AC4 - - thumb_func_start sub_8101B20 -sub_8101B20: @ 8101B20 - push {lr} - adds r1, r0, 0 - movs r2, 0x30 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _08101B4E - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _08101B4E - movs r0, 0 - strh r0, [r1, 0x2E] - ldrh r0, [r1, 0x24] - adds r0, 0x1 - strh r0, [r1, 0x24] - lsls r0, 16 - cmp r0, 0 - ble _08101B4E - ldr r0, _08101B54 @ =0x0000fffa - strh r0, [r1, 0x24] -_08101B4E: - pop {r0} - bx r0 - .align 2, 0 -_08101B54: .4byte 0x0000fffa - thumb_func_end sub_8101B20 - - thumb_func_start sub_8101B58 -sub_8101B58: @ 8101B58 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _08101B84 @ =gUnknown_203ACEC - ldr r2, [r2] - movs r3, 0xB6 - lsls r3, 2 - adds r2, r3 - ldr r3, [r2] - movs r4, 0 - strh r0, [r3, 0x20] - ldr r0, [r2] - strh r1, [r0, 0x22] - ldr r0, [r2] - strh r4, [r0, 0x24] - ldr r0, [r2] - strh r4, [r0, 0x2E] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08101B84: .4byte gUnknown_203ACEC - thumb_func_end sub_8101B58 - - thumb_func_start sub_8101B88 -sub_8101B88: @ 8101B88 - ldr r0, _08101BA4 @ =gUnknown_203ACEC - ldr r1, [r0] - movs r0, 0xB6 - lsls r0, 2 - adds r1, r0 - ldr r0, [r1] - movs r2, 0 - strh r2, [r0, 0x2E] - ldr r0, [r1] - strh r2, [r0, 0x30] - ldr r0, [r1] - strh r2, [r0, 0x24] - bx lr - .align 2, 0 -_08101BA4: .4byte gUnknown_203ACEC - thumb_func_end sub_8101B88 - - thumb_func_start sub_8101BA8 -sub_8101BA8: @ 8101BA8 - ldr r0, _08101BBC @ =gUnknown_203ACEC - ldr r0, [r0] - movs r1, 0xB6 - lsls r1, 2 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x1 - strh r0, [r1, 0x30] - bx lr - .align 2, 0 -_08101BBC: .4byte gUnknown_203ACEC - thumb_func_end sub_8101BA8 - - thumb_func_start sub_8101BC0 -sub_8101BC0: @ 8101BC0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r6, _08101C38 @ =gUnknown_843F9B8 - adds r0, r6, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r5, _08101C3C @ =gUnknown_203ACEC - ldr r2, [r5] - movs r1, 0xB7 - lsls r1, 2 - mov r8, r1 - add r2, r8 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r4, _08101C40 @ =gSprites - adds r1, r4 - str r1, [r2] - movs r0, 0x20 - strh r0, [r1, 0x24] - adds r0, r6, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, [r5] - movs r1, 0xB8 - lsls r1, 2 - adds r3, r2, r1 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - str r1, [r3] - ldr r0, _08101C44 @ =0x0000ffe0 - strh r0, [r1, 0x24] - add r2, r8 - ldr r1, [r2] - adds r1, 0x3F - ldrb r0, [r1] - movs r2, 0x1 - orrs r0, r2 - strb r0, [r1] - bl sub_8101C80 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08101C38: .4byte gUnknown_843F9B8 -_08101C3C: .4byte gUnknown_203ACEC -_08101C40: .4byte gSprites -_08101C44: .4byte 0x0000ffe0 - thumb_func_end sub_8101BC0 - - thumb_func_start sub_8101C48 -sub_8101C48: @ 8101C48 - push {r4-r6,lr} - ldr r5, _08101C7C @ =gUnknown_203ACEC - ldr r0, [r5] - movs r4, 0xB7 - lsls r4, 2 - adds r0, r4 - ldr r0, [r0] - bl DestroySprite - ldr r0, [r5] - adds r4, r0, r4 - movs r6, 0 - str r6, [r4] - movs r4, 0xB8 - lsls r4, 2 - adds r0, r4 - ldr r0, [r0] - bl DestroySprite - ldr r0, [r5] - adds r0, r4 - str r6, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08101C7C: .4byte gUnknown_203ACEC - thumb_func_end sub_8101C48 - - thumb_func_start sub_8101C80 -sub_8101C80: @ 8101C80 - push {r4,lr} - sub sp, 0x4 - ldr r0, _08101CC8 @ =gUnknown_203ACEC - ldr r1, [r0] - movs r2, 0xB7 - lsls r2, 2 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0 - beq _08101CDC - adds r2, 0x4 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0 - beq _08101CDC - mov r4, sp - adds r4, 0x1 - mov r0, sp - adds r1, r4, 0 - bl sub_80FFE08 - bl sub_80FFE1C - lsls r0, 24 - cmp r0, 0 - bne _08101CCC - mov r0, sp - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - movs r1, 0 - ldrsb r1, [r4, r1] - bl sub_8101CE4 - b _08101CDC - .align 2, 0 -_08101CC8: .4byte gUnknown_203ACEC -_08101CCC: - mov r0, sp - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - movs r1, 0 - ldrsb r1, [r4, r1] - bl sub_8101D9C -_08101CDC: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8101C80 - - thumb_func_start sub_8101CE4 -sub_8101CE4: @ 8101CE4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r1, 24 - lsrs r7, r1, 24 - lsls r0, 24 - asrs r5, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r5, r0 - beq _08101D48 - ldr r0, _08101D44 @ =gUnknown_203ACEC - mov r8, r0 - ldr r0, [r0] - movs r4, 0xB7 - lsls r4, 2 - adds r0, r4 - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAnim - mov r2, r8 - ldr r1, [r2] - adds r4, r1, r4 - ldr r2, [r4] - movs r0, 0x54 - muls r5, r0 - adds r5, 0x3A - strh r5, [r2, 0x20] - ldr r0, [r4] - lsls r4, r7, 24 - asrs r4, 20 - adds r4, 0x60 - strh r4, [r0, 0x22] - movs r6, 0xB8 - lsls r6, 2 - adds r1, r6 - ldr r0, [r1] - movs r1, 0 - bl StartSpriteAnim - mov r1, r8 - ldr r0, [r1] - adds r0, r6 - ldr r1, [r0] - strh r5, [r1, 0x20] - b _08101D8A - .align 2, 0 -_08101D44: .4byte gUnknown_203ACEC -_08101D48: - ldr r6, _08101D98 @ =gUnknown_203ACEC - ldr r0, [r6] - movs r4, 0xB7 - lsls r4, 2 - adds r0, r4 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim - ldr r1, [r6] - adds r4, r1, r4 - ldr r0, [r4] - movs r2, 0xD8 - mov r8, r2 - mov r2, r8 - strh r2, [r0, 0x20] - ldr r0, [r4] - lsls r4, r7, 24 - asrs r4, 20 - adds r4, 0x70 - strh r4, [r0, 0x22] - movs r5, 0xB8 - lsls r5, 2 - adds r1, r5 - ldr r0, [r1] - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, [r6] - adds r0, r5 - ldr r1, [r0] - mov r2, r8 - strh r2, [r1, 0x20] -_08101D8A: - ldr r0, [r0] - strh r4, [r0, 0x22] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08101D98: .4byte gUnknown_203ACEC - thumb_func_end sub_8101CE4 - - thumb_func_start sub_8101D9C -sub_8101D9C: @ 8101D9C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - lsrs r4, r0, 24 - asrs r2, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r2, r0 - beq _08101E2C - lsls r0, r5, 24 - asrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, 0x60 - mov r8, r0 - movs r7, 0x20 - cmp r2, 0x6 - bne _08101DCE - cmp r1, 0 - bne _08101DCE - movs r7, 0x9D - movs r6, 0x2 - b _08101DE4 -_08101DCE: - ldr r3, _08101E24 @ =gUnknown_843F958 - lsls r1, r4, 24 - lsrs r0, r1, 24 - movs r2, 0 - cmp r0, 0x6 - bhi _08101DDC - asrs r2, r1, 24 -_08101DDC: - adds r0, r2, r3 - ldrb r0, [r0] - adds r7, r0 - movs r6, 0x3 -_08101DE4: - ldr r5, _08101E28 @ =gUnknown_203ACEC - ldr r0, [r5] - movs r4, 0xB7 - lsls r4, 2 - adds r0, r4 - ldr r0, [r0] - adds r1, r6, 0 - bl StartSpriteAnim - ldr r1, [r5] - adds r4, r1, r4 - ldr r0, [r4] - strh r7, [r0, 0x20] - ldr r0, [r4] - mov r2, r8 - strh r2, [r0, 0x22] - movs r4, 0xB8 - lsls r4, 2 - adds r1, r4 - ldr r0, [r1] - adds r1, r6, 0 - bl StartSpriteAnim - ldr r0, [r5] - adds r0, r4 - ldr r1, [r0] - strh r7, [r1, 0x20] - ldr r0, [r0] - mov r1, r8 - strh r1, [r0, 0x22] - b _08101E72 - .align 2, 0 -_08101E24: .4byte gUnknown_843F958 -_08101E28: .4byte gUnknown_203ACEC -_08101E2C: - ldr r6, _08101E7C @ =gUnknown_203ACEC - ldr r0, [r6] - movs r4, 0xB7 - lsls r4, 2 - adds r0, r4 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim - ldr r1, [r6] - adds r4, r1, r4 - ldr r0, [r4] - movs r2, 0xD8 - mov r8, r2 - mov r2, r8 - strh r2, [r0, 0x20] - ldr r0, [r4] - lsls r4, r5, 24 - asrs r4, 20 - adds r4, 0x70 - strh r4, [r0, 0x22] - movs r5, 0xB8 - lsls r5, 2 - adds r1, r5 - ldr r0, [r1] - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, [r6] - adds r0, r5 - ldr r1, [r0] - mov r2, r8 - strh r2, [r1, 0x20] - ldr r0, [r0] - strh r4, [r0, 0x22] -_08101E72: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08101E7C: .4byte gUnknown_203ACEC - thumb_func_end sub_8101D9C - - thumb_func_start sub_8101E80 -sub_8101E80: @ 8101E80 - push {lr} - ldr r0, _08101EC4 @ =gUnknown_843F968 - movs r1, 0 - movs r2, 0 - movs r3, 0x4 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08101EC8 @ =gUnknown_203ACEC - ldr r2, [r1] - movs r1, 0xB9 - lsls r1, 2 - adds r2, r1 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08101ECC @ =gSprites - adds r1, r0 - str r1, [r2] - ldr r0, _08101ED0 @ =sub_8101ED4 - str r0, [r1, 0x1C] - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r2, 0x8 - orrs r0, r2 - strb r0, [r1, 0x5] - bl sub_8101F04 - pop {r0} - bx r0 - .align 2, 0 -_08101EC4: .4byte gUnknown_843F968 -_08101EC8: .4byte gUnknown_203ACEC -_08101ECC: .4byte gSprites -_08101ED0: .4byte sub_8101ED4 - thumb_func_end sub_8101E80 - - thumb_func_start sub_8101ED4 -sub_8101ED4: @ 8101ED4 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _08101EFA - movs r0, 0 - strh r0, [r1, 0x2E] - ldrh r0, [r1, 0x24] - adds r0, 0x1 - strh r0, [r1, 0x24] - lsls r0, 16 - cmp r0, 0 - ble _08101EFA - ldr r0, _08101F00 @ =0x0000fffa - strh r0, [r1, 0x24] -_08101EFA: - pop {r0} - bx r0 - .align 2, 0 -_08101F00: .4byte 0x0000fffa - thumb_func_end sub_8101ED4 - - thumb_func_start sub_8101F04 -sub_8101F04: @ 8101F04 - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x1 - mov r0, sp - adds r1, r4, 0 - bl sub_80FFE34 - mov r0, sp - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0xD - muls r0, r1 - adds r0, 0x3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - ldrsb r1, [r4, r1] - lsls r1, 25 - movs r2, 0xB0 - lsls r2, 20 - adds r1, r2 - lsrs r1, 24 - bl sub_8101F40 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8101F04 - - thumb_func_start sub_8101F40 -sub_8101F40: @ 8101F40 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r0, _08101F7C @ =gUnknown_203ACEC - ldr r0, [r0] - movs r1, 0xB9 - lsls r1, 2 - adds r3, r0, r1 - ldr r1, [r3] - cmp r1, 0 - beq _08101F74 - lsls r0, r2, 3 - adds r0, 0x4 - movs r2, 0 - strh r0, [r1, 0x20] - ldr r1, [r3] - adds r0, r4, 0x1 - lsls r0, 3 - adds r0, 0x1 - strh r0, [r1, 0x22] - ldr r0, [r3] - strh r2, [r0, 0x24] - ldr r0, [r3] - strh r2, [r0, 0x2E] -_08101F74: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08101F7C: .4byte gUnknown_203ACEC - thumb_func_end sub_8101F40 - - thumb_func_start sub_8101F80 -sub_8101F80: @ 8101F80 - push {r4,lr} - ldr r4, _08101FA8 @ =gUnknown_203ACEC - ldr r0, [r4] - movs r1, 0xB9 - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _08101FA2 - bl DestroySprite - ldr r0, [r4] - movs r1, 0xB9 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - str r1, [r0] -_08101FA2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08101FA8: .4byte gUnknown_203ACEC - thumb_func_end sub_8101F80 - - thumb_func_start sub_8101FAC -sub_8101FAC: @ 8101FAC - push {r4-r6,lr} - ldr r0, _08102004 @ =gUnknown_843FA40 - movs r1, 0xD0 - movs r2, 0x80 - movs r3, 0x6 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r5, _08102008 @ =gUnknown_203ACEC - ldr r2, [r5] - movs r1, 0xBA - lsls r1, 2 - adds r2, r1 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r4, _0810200C @ =gSprites - adds r1, r4 - str r1, [r2] - movs r6, 0 - ldr r0, _08102010 @ =0x0000ffc0 - strh r0, [r1, 0x24] - ldr r0, _08102014 @ =gUnknown_843FA20 - movs r1, 0xD0 - movs r2, 0x50 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, [r5] - movs r1, 0xBB - lsls r1, 2 - adds r3, r2, r1 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - str r1, [r3] - strb r6, [r2, 0x9] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08102004: .4byte gUnknown_843FA40 -_08102008: .4byte gUnknown_203ACEC -_0810200C: .4byte gSprites -_08102010: .4byte 0x0000ffc0 -_08102014: .4byte gUnknown_843FA20 - thumb_func_end sub_8101FAC - - thumb_func_start sub_8102018 -sub_8102018: @ 8102018 - push {r4,lr} - ldr r4, _0810202C @ =gUnknown_203ACEC - ldr r2, [r4] - ldrb r3, [r2, 0x9] - cmp r3, 0 - beq _08102030 - cmp r3, 0x1 - beq _08102088 - movs r0, 0 - b _081020A6 - .align 2, 0 -_0810202C: .4byte gUnknown_203ACEC -_08102030: - movs r0, 0xBA - lsls r0, 2 - adds r2, r0 - ldr r1, [r2] - ldrh r0, [r1, 0x24] - adds r0, 0x8 - strh r0, [r1, 0x24] - ldr r2, [r2] - movs r1, 0x24 - ldrsh r0, [r2, r1] - cmp r0, 0 - blt _081020A4 - strh r3, [r2, 0x24] - bl sub_80FFE1C - lsls r0, 24 - cmp r0, 0 - bne _08102066 - ldr r0, [r4] - movs r1, 0xBB - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim - b _08102076 -_08102066: - ldr r0, [r4] - movs r1, 0xBB - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x2 - bl StartSpriteAnim -_08102076: - ldr r0, _08102084 @ =gUnknown_203ACEC - ldr r1, [r0] - ldrb r0, [r1, 0x9] - adds r0, 0x1 - strb r0, [r1, 0x9] - b _081020A4 - .align 2, 0 -_08102084: .4byte gUnknown_203ACEC -_08102088: - movs r1, 0xBB - lsls r1, 2 - adds r0, r2, r1 - ldr r0, [r0] - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _081020A4 - movs r0, 0x2 - strb r0, [r2, 0x9] - movs r0, 0 - b _081020A6 -_081020A4: - movs r0, 0x1 -_081020A6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8102018 - - thumb_func_start sub_81020AC -sub_81020AC: @ 81020AC - push {lr} - ldr r2, _081020CC @ =gUnknown_203ACEC - ldr r1, [r2] - movs r0, 0 - strb r0, [r1, 0x9] - ldr r0, [r2] - movs r1, 0xBB - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x3 - bl StartSpriteAnim - pop {r0} - bx r0 - .align 2, 0 -_081020CC: .4byte gUnknown_203ACEC - thumb_func_end sub_81020AC - - thumb_func_start sub_81020D0 -sub_81020D0: @ 81020D0 - push {r4-r6,lr} - ldr r5, _081020E4 @ =gUnknown_203ACEC - ldr r3, [r5] - ldrb r0, [r3, 0x9] - cmp r0, 0 - beq _081020E8 - cmp r0, 0x1 - beq _08102102 - movs r0, 0 - b _08102154 - .align 2, 0 -_081020E4: .4byte gUnknown_203ACEC -_081020E8: - movs r1, 0xBB - lsls r1, 2 - adds r0, r3, r1 - ldr r0, [r0] - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08102152 - movs r0, 0x1 - strb r0, [r3, 0x9] - b _08102152 -_08102102: - movs r0, 0xBA - lsls r0, 2 - adds r2, r3, r0 - ldr r1, [r2] - ldrh r0, [r1, 0x24] - subs r0, 0x8 - movs r6, 0 - strh r0, [r1, 0x24] - ldr r0, [r2] - movs r2, 0x24 - ldrsh r1, [r0, r2] - movs r0, 0x40 - negs r0, r0 - cmp r1, r0 - bgt _08102152 - movs r4, 0xBB - lsls r4, 2 - adds r0, r3, r4 - ldr r0, [r0] - bl DestroySprite - ldr r0, [r5] - movs r1, 0xBA - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - bl DestroySprite - ldr r1, [r5] - adds r4, r1, r4 - str r6, [r4] - movs r2, 0xBA - lsls r2, 2 - adds r0, r1, r2 - str r6, [r0] - ldrb r0, [r1, 0x9] - adds r0, 0x1 - strb r0, [r1, 0x9] - movs r0, 0 - b _08102154 -_08102152: - movs r0, 0x1 -_08102154: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81020D0 - - thumb_func_start sub_810215C -sub_810215C: @ 810215C - push {lr} - ldr r0, _08102174 @ =gUnknown_203ACEC - ldr r0, [r0] - movs r1, 0xBB - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x4 - bl StartSpriteAnim - pop {r0} - bx r0 - .align 2, 0 -_08102174: .4byte gUnknown_203ACEC - thumb_func_end sub_810215C - - thumb_func_start sub_8102178 -sub_8102178: @ 8102178 - push {lr} - bl sub_80FFE1C - lsls r0, 24 - cmp r0, 0 - bne _0810219C - ldr r0, _08102198 @ =gUnknown_203ACEC - ldr r0, [r0] - movs r1, 0xBB - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim - b _081021AE - .align 2, 0 -_08102198: .4byte gUnknown_203ACEC -_0810219C: - ldr r0, _081021B4 @ =gUnknown_203ACEC - ldr r0, [r0] - movs r1, 0xBB - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x2 - bl StartSpriteAnim -_081021AE: - pop {r0} - bx r0 - .align 2, 0 -_081021B4: .4byte gUnknown_203ACEC - thumb_func_end sub_8102178 - - thumb_func_start sub_81021B8 -sub_81021B8: @ 81021B8 - ldr r0, _081021D0 @ =gUnknown_203ACEC - ldr r0, [r0] - movs r1, 0xBB - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - adds r0, 0x3F - ldrb r1, [r0] - lsrs r1, 4 - movs r0, 0x1 - bics r0, r1 - bx lr - .align 2, 0 -_081021D0: .4byte gUnknown_203ACEC - thumb_func_end sub_81021B8 - - thumb_func_start sub_81021D4 -sub_81021D4: @ 81021D4 - push {r4,lr} - ldr r4, _08102240 @ =gUnknown_843FA98 - adds r0, r4, 0 - movs r1, 0x60 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _08102202 - ldr r0, _08102244 @ =gUnknown_203ACEC - ldr r2, [r0] - movs r0, 0xBC - lsls r0, 2 - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08102248 @ =gSprites - adds r0, r1 - str r0, [r2] -_08102202: - adds r0, r4, 0 - movs r1, 0x60 - movs r2, 0x9C - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _08102236 - ldr r0, _08102244 @ =gUnknown_203ACEC - ldr r2, [r0] - movs r0, 0xBD - lsls r0, 2 - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08102248 @ =gSprites - adds r0, r1 - str r0, [r2] - adds r0, 0x3F - ldrb r1, [r0] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] -_08102236: - bl sub_81022B0 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08102240: .4byte gUnknown_843FA98 -_08102244: .4byte gUnknown_203ACEC -_08102248: .4byte gSprites - thumb_func_end sub_81021D4 - - thumb_func_start sub_810224C -sub_810224C: @ 810224C - push {r4-r6,lr} - bl sub_80FFE64 - ldr r6, _081022AC @ =gUnknown_203ACEC - ldr r1, [r6] - movs r2, 0xBC - lsls r2, 2 - adds r1, r2 - ldr r1, [r1] - movs r2, 0 - cmp r0, 0 - bne _08102266 - movs r2, 0x1 -_08102266: - adds r3, r1, 0 - adds r3, 0x3E - movs r4, 0x1 - lsls r2, 2 - ldrb r1, [r3] - movs r5, 0x5 - negs r5, r5 - adds r0, r5, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r3] - bl sub_80FFE98 - ldr r1, [r6] - movs r2, 0xBD - lsls r2, 2 - adds r1, r2 - ldr r1, [r1] - movs r2, 0 - cmp r0, 0 - bne _08102292 - movs r2, 0x1 -_08102292: - adds r3, r1, 0 - adds r3, 0x3E - adds r1, r4, 0 - ands r1, r2 - lsls r1, 2 - ldrb r2, [r3] - adds r0, r5, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081022AC: .4byte gUnknown_203ACEC - thumb_func_end sub_810224C - - thumb_func_start sub_81022B0 -sub_81022B0: @ 81022B0 - ldr r3, _081022DC @ =gUnknown_203ACEC - ldr r0, [r3] - movs r1, 0xBC - lsls r1, 2 - adds r0, r1 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r0, [r3] - movs r1, 0xBD - lsls r1, 2 - adds r0, r1 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] - bx lr - .align 2, 0 -_081022DC: .4byte gUnknown_203ACEC - thumb_func_end sub_81022B0 - - thumb_func_start sub_81022E0 -sub_81022E0: @ 81022E0 - push {lr} - cmp r0, 0 - bne _081022FC - ldr r0, _081022F8 @ =gUnknown_203ACEC - ldr r2, [r0] - movs r1, 0xBC - lsls r1, 2 - adds r0, r2, r1 - ldr r0, [r0] - movs r1, 0x60 - b _0810230A - .align 2, 0 -_081022F8: .4byte gUnknown_203ACEC -_081022FC: - ldr r0, _0810231C @ =gUnknown_203ACEC - ldr r2, [r0] - movs r1, 0xBC - lsls r1, 2 - adds r0, r2, r1 - ldr r0, [r0] - movs r1, 0x78 -_0810230A: - strh r1, [r0, 0x20] - movs r3, 0xBD - lsls r3, 2 - adds r0, r2, r3 - ldr r0, [r0] - strh r1, [r0, 0x20] - pop {r0} - bx r0 - .align 2, 0 -_0810231C: .4byte gUnknown_203ACEC - thumb_func_end sub_81022E0 - - thumb_func_start sub_8102320 -sub_8102320: @ 8102320 - push {r4,lr} - ldr r4, _08102388 @ =gUnknown_843FA80 - adds r0, r4, 0 - movs r1, 0xDC - movs r2, 0x54 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _0810234E - ldr r0, _0810238C @ =gUnknown_203ACEC - ldr r2, [r0] - movs r0, 0xBE - lsls r0, 2 - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08102390 @ =gSprites - adds r0, r1 - str r0, [r2] -_0810234E: - adds r0, r4, 0 - movs r1, 0xDC - movs r2, 0x9C - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _0810237E - ldr r0, _0810238C @ =gUnknown_203ACEC - ldr r2, [r0] - movs r0, 0xBF - lsls r0, 2 - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08102390 @ =gSprites - adds r0, r1 - str r0, [r2] - movs r1, 0x1 - bl StartSpriteAnim -_0810237E: - bl sub_81023F8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08102388: .4byte gUnknown_843FA80 -_0810238C: .4byte gUnknown_203ACEC -_08102390: .4byte gSprites - thumb_func_end sub_8102320 - - thumb_func_start sub_8102394 -sub_8102394: @ 8102394 - push {r4-r6,lr} - bl sub_80FFE64 - ldr r6, _081023F4 @ =gUnknown_203ACEC - ldr r1, [r6] - movs r2, 0xBE - lsls r2, 2 - adds r1, r2 - ldr r1, [r1] - movs r2, 0 - cmp r0, 0 - bne _081023AE - movs r2, 0x1 -_081023AE: - adds r3, r1, 0 - adds r3, 0x3E - movs r4, 0x1 - lsls r2, 2 - ldrb r1, [r3] - movs r5, 0x5 - negs r5, r5 - adds r0, r5, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r3] - bl sub_80FFE98 - ldr r1, [r6] - movs r2, 0xBF - lsls r2, 2 - adds r1, r2 - ldr r1, [r1] - movs r2, 0 - cmp r0, 0 - bne _081023DA - movs r2, 0x1 -_081023DA: - adds r3, r1, 0 - adds r3, 0x3E - adds r1, r4, 0 - ands r1, r2 - lsls r1, 2 - ldrb r2, [r3] - adds r0, r5, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081023F4: .4byte gUnknown_203ACEC - thumb_func_end sub_8102394 - - thumb_func_start sub_81023F8 -sub_81023F8: @ 81023F8 - ldr r3, _08102424 @ =gUnknown_203ACEC - ldr r0, [r3] - movs r1, 0xBE - lsls r1, 2 - adds r0, r1 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r0, [r3] - movs r1, 0xBF - lsls r1, 2 - adds r0, r1 - ldr r1, [r0] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] - bx lr - .align 2, 0 -_08102424: .4byte gUnknown_203ACEC - thumb_func_end sub_81023F8 - - thumb_func_start sub_8102428 -sub_8102428: @ 8102428 - push {r4,lr} - sub sp, 0x14 - ldr r3, _081024A8 @ =0xffffff00 - ldr r0, [sp, 0xC] - ands r0, r3 - movs r1, 0x3 - orrs r0, r1 - ldr r2, _081024AC @ =0xffff00ff - ands r0, r2 - movs r1, 0x80 - lsls r1, 3 - orrs r0, r1 - ldr r1, _081024B0 @ =0xff00ffff - ands r0, r1 - movs r1, 0xB0 - lsls r1, 12 - orrs r0, r1 - ldr r1, _081024B4 @ =0x00ffffff - ands r0, r1 - movs r1, 0xC0 - lsls r1, 21 - orrs r0, r1 - str r0, [sp, 0xC] - ldr r0, [sp, 0x10] - ands r0, r3 - movs r1, 0x2 - orrs r0, r1 - ands r0, r2 - movs r1, 0xB0 - lsls r1, 4 - orrs r0, r1 - ldr r1, _081024B8 @ =0x0000ffff - ands r0, r1 - movs r1, 0xC0 - lsls r1, 14 - orrs r0, r1 - str r0, [sp, 0x10] - add r0, sp, 0xC - bl AddWindow - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, _081024BC @ =gUnknown_841EE2B - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x1 - movs r3, 0 - bl sub_8100D84 - adds r0, r4, 0 - bl PutWindowTilemap - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081024A8: .4byte 0xffffff00 -_081024AC: .4byte 0xffff00ff -_081024B0: .4byte 0xff00ffff -_081024B4: .4byte 0x00ffffff -_081024B8: .4byte 0x0000ffff -_081024BC: .4byte gUnknown_841EE2B - thumb_func_end sub_8102428 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/event_object_80688E4.s b/asm/event_object_80688E4.s deleted file mode 100644 index e850e2200..000000000 --- a/asm/event_object_80688E4.s +++ /dev/null @@ -1,1503 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start FreezeObjectEvent -FreezeObjectEvent: @ 80688E4 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r1, [r5] - movs r0, 0xA0 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - bne _0806896C - ldrb r0, [r5, 0x1] - movs r4, 0x1 - orrs r0, r4 - strb r0, [r5, 0x1] - ldr r3, _08068968 @ =gSprites - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x2C - ldrb r1, [r0] - lsls r1, 25 - lsrs r1, 31 - lsls r1, 7 - ldrb r2, [r5, 0x2] - movs r0, 0x7F - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x2] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x2C - ldrb r1, [r0] - lsrs r1, 7 - ands r1, r4 - ldrb r2, [r5, 0x3] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x3] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - movs r0, 0 - b _0806896E - .align 2, 0 -_08068968: .4byte gSprites -_0806896C: - movs r0, 0x1 -_0806896E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FreezeObjectEvent - - thumb_func_start FreezeObjectEvents -FreezeObjectEvents: @ 8068974 - push {r4,r5,lr} - movs r4, 0 - ldr r5, _080689A8 @ =gObjectEvents -_0806897A: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _08068998 - ldr r0, _080689AC @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - cmp r4, r0 - beq _08068998 - adds r0, r1, 0 - bl FreezeObjectEvent -_08068998: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _0806897A - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080689A8: .4byte gObjectEvents -_080689AC: .4byte gPlayerAvatar - thumb_func_end FreezeObjectEvents - - thumb_func_start FreezeObjectEventsExceptOne -FreezeObjectEventsExceptOne: @ 80689B0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r6, _080689EC @ =gObjectEvents -_080689BA: - cmp r4, r5 - beq _080689DC - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, r0, r6 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _080689DC - ldr r0, _080689F0 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - cmp r4, r0 - beq _080689DC - adds r0, r1, 0 - bl FreezeObjectEvent -_080689DC: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _080689BA - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080689EC: .4byte gObjectEvents -_080689F0: .4byte gPlayerAvatar - thumb_func_end FreezeObjectEventsExceptOne - - thumb_func_start UnfreezeObjectEvent -UnfreezeObjectEvent: @ 80689F4 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r2, [r5] - ldr r1, _08068A54 @ =0x00000101 - adds r0, r1, 0 - ands r0, r2 - cmp r0, r1 - bne _08068A4C - ldrb r1, [r5, 0x1] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x1] - ldr r4, _08068A58 @ =gSprites - ldrb r0, [r5, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r5, 0x2] - adds r1, 0x2C - lsrs r2, 7 - lsls r2, 6 - ldrb r3, [r1] - movs r0, 0x41 - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1] - ldrb r0, [r5, 0x4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - ldrb r1, [r5, 0x3] - lsls r1, 31 - lsrs r1, 31 - adds r2, 0x2C - lsls r1, 7 - ldrb r3, [r2] - movs r0, 0x7F - ands r0, r3 - orrs r0, r1 - strb r0, [r2] -_08068A4C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08068A54: .4byte 0x00000101 -_08068A58: .4byte gSprites - thumb_func_end UnfreezeObjectEvent - - thumb_func_start UnfreezeObjectEvents -UnfreezeObjectEvents: @ 8068A5C - push {r4,r5,lr} - movs r4, 0 - ldr r5, _08068A88 @ =gObjectEvents -_08068A62: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _08068A78 - adds r0, r1, 0 - bl UnfreezeObjectEvent -_08068A78: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _08068A62 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08068A88: .4byte gObjectEvents - thumb_func_end UnfreezeObjectEvents - - thumb_func_start little_step -little_step: @ 8068A8C - lsls r1, 24 - ldr r2, _08068AA8 @ =sDirectionToVectors - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_08068AA8: .4byte sDirectionToVectors - thumb_func_end little_step - - thumb_func_start double_little_steps -double_little_steps: @ 8068AAC - lsls r1, 24 - ldr r2, _08068ACC @ =sDirectionToVectors - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - lsls r2, 1 - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - lsls r1, 1 - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_08068ACC: .4byte sDirectionToVectors - thumb_func_end double_little_steps - - thumb_func_start triple_little_steps -triple_little_steps: @ 8068AD0 - lsls r1, 24 - ldr r2, _08068AF4 @ =sDirectionToVectors - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - lsls r3, r2, 1 - adds r2, r3 - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - lsls r2, r1, 1 - adds r1, r2 - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_08068AF4: .4byte sDirectionToVectors - thumb_func_end triple_little_steps - - thumb_func_start quad_little_steps -quad_little_steps: @ 8068AF8 - lsls r1, 24 - ldr r2, _08068B18 @ =sDirectionToVectors - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - lsls r2, 2 - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - lsls r1, 2 - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_08068B18: .4byte sDirectionToVectors - thumb_func_end quad_little_steps - - thumb_func_start oct_little_steps -oct_little_steps: @ 8068B1C - lsls r1, 24 - ldr r2, _08068B3C @ =sDirectionToVectors - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - lsls r2, 3 - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - lsls r1, 3 - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_08068B3C: .4byte sDirectionToVectors - thumb_func_end oct_little_steps - - thumb_func_start oamt_npc_ministep_reset -oamt_npc_ministep_reset: @ 8068B40 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - movs r3, 0 - strh r1, [r0, 0x34] - strh r2, [r0, 0x36] - strh r3, [r0, 0x38] - bx lr - thumb_func_end oamt_npc_ministep_reset - - thumb_func_start obj_npc_ministep -obj_npc_ministep: @ 8068B54 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _08068BAC @ =gUnknown_83A71B0 - movs r0, 0x36 - ldrsh r2, [r4, r0] - lsls r0, r2, 1 - adds r0, r5 - movs r3, 0x38 - ldrsh r1, [r4, r3] - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r1, r0 - bge _08068BB4 - ldr r1, _08068BB0 @ =gUnknown_83A719C - lsls r0, r2, 2 - adds r0, r1 - movs r1, 0x38 - ldrsh r2, [r4, r1] - ldr r0, [r0] - lsls r2, 2 - adds r2, r0 - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - ldr r2, [r2] - adds r0, r4, 0 - bl _call_via_r2 - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - movs r2, 0x36 - ldrsh r1, [r4, r2] - lsls r1, 1 - adds r1, r5 - lsls r0, 16 - asrs r0, 16 - movs r3, 0 - ldrsh r1, [r1, r3] - cmp r0, r1 - blt _08068BB4 - movs r0, 0x1 - b _08068BB6 - .align 2, 0 -_08068BAC: .4byte gUnknown_83A71B0 -_08068BB0: .4byte gUnknown_83A719C -_08068BB4: - movs r0, 0 -_08068BB6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end obj_npc_ministep - - thumb_func_start sub_8068BBC -sub_8068BBC: @ 8068BBC - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - strh r1, [r0, 0x34] - strh r2, [r0, 0x36] - strh r2, [r0, 0x38] - bx lr - thumb_func_end sub_8068BBC - - thumb_func_start sub_8068BCC -sub_8068BCC: @ 8068BCC - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x36] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08068BEC - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl little_step - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] -_08068BEC: - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0xF - bgt _08068BFE - movs r0, 0 - b _08068C00 -_08068BFE: - movs r0, 0x1 -_08068C00: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8068BCC - - thumb_func_start sub_8068C08 -sub_8068C08: @ 8068C08 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - strh r1, [r0, 0x34] - strh r2, [r0, 0x36] - strh r2, [r0, 0x38] - bx lr - thumb_func_end sub_8068C08 - - thumb_func_start sub_8068C18 -sub_8068C18: @ 8068C18 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bgt _08068C3E - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl little_step - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - b _08068C42 -_08068C3E: - movs r0, 0 - strh r0, [r4, 0x36] -_08068C42: - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0xF - bgt _08068C4E - movs r0, 0 - b _08068C50 -_08068C4E: - movs r0, 0x1 -_08068C50: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8068C18 - - thumb_func_start sub_8068C58 -sub_8068C58: @ 8068C58 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - strh r1, [r0, 0x34] - strh r2, [r0, 0x36] - strh r2, [r0, 0x38] - bx lr - thumb_func_end sub_8068C58 - - thumb_func_start sub_8068C68 -sub_8068C68: @ 8068C68 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - ble _08068C90 - movs r0, 0 - strh r0, [r4, 0x36] - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl little_step - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] -_08068C90: - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0xF - bgt _08068C9C - movs r0, 0 - b _08068C9E -_08068C9C: - movs r0, 0x1 -_08068C9E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8068C68 - - thumb_func_start sub_8068CA4 -sub_8068CA4: @ 8068CA4 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - strh r1, [r0, 0x34] - strh r2, [r0, 0x36] - strh r2, [r0, 0x38] - bx lr - thumb_func_end sub_8068CA4 - - thumb_func_start sub_8068CB4 -sub_8068CB4: @ 8068CB4 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08068CD8 - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl little_step - ldrh r0, [r4, 0x38] - adds r0, 0x1 - b _08068CE8 -_08068CD8: - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl double_little_steps - ldrh r0, [r4, 0x38] - adds r0, 0x2 -_08068CE8: - strh r0, [r4, 0x38] - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0xF - bgt _08068CF6 - movs r0, 0 - b _08068CF8 -_08068CF6: - movs r0, 0x1 -_08068CF8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8068CB4 - - thumb_func_start sub_8068D00 -sub_8068D00: @ 8068D00 - lsls r1, 24 - ldr r2, _08068D18 @ =gUnknown_83A71EC - lsrs r1, 22 - adds r1, r2 - lsls r0, 16 - asrs r0, 16 - ldr r1, [r1] - adds r1, r0 - movs r0, 0 - ldrsb r0, [r1, r0] - bx lr - .align 2, 0 -_08068D18: .4byte gUnknown_83A71EC - thumb_func_end sub_8068D00 - - thumb_func_start sub_8068D1C -sub_8068D1C: @ 8068D1C - push {r4,lr} - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - movs r4, 0 - strh r1, [r0, 0x34] - strh r2, [r0, 0x36] - strh r3, [r0, 0x38] - strh r4, [r0, 0x3A] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8068D1C - - thumb_func_start sub_8068D3C -sub_8068D3C: @ 8068D3C - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - ldr r1, _08068DBC @ =gUnknown_83A71F8 - mov r0, sp - movs r2, 0x6 - bl memcpy - add r5, sp, 0x8 - ldr r1, _08068DC0 @ =gUnknown_83A71FE - adds r0, r5, 0 - movs r2, 0x3 - bl memcpy - movs r6, 0 - movs r1, 0x36 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08068D6E - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl little_step -_08068D6E: - movs r2, 0x3A - ldrsh r0, [r4, r2] - movs r2, 0x36 - ldrsh r1, [r4, r2] - adds r1, r5, r1 - ldrb r1, [r1] - asrs r0, r1 - ldrh r1, [r4, 0x38] - lsls r1, 24 - lsrs r1, 24 - bl sub_8068D00 - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x3A] - adds r1, 0x1 - strh r1, [r4, 0x3A] - movs r2, 0x36 - ldrsh r0, [r4, r2] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - lsls r0, 16 - asrs r2, r0, 16 - lsls r1, 16 - asrs r1, 16 - asrs r0, 17 - cmp r1, r0 - bne _08068DA8 - movs r6, 0x1 -_08068DA8: - cmp r1, r2 - blt _08068DB2 - movs r0, 0 - strh r0, [r4, 0x26] - movs r6, 0xFF -_08068DB2: - adds r0, r6, 0 - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08068DBC: .4byte gUnknown_83A71F8 -_08068DC0: .4byte gUnknown_83A71FE - thumb_func_end sub_8068D3C - - thumb_func_start sub_8068DC4 -sub_8068DC4: @ 8068DC4 - push {r4-r6,lr} - sub sp, 0xC - adds r5, r0, 0 - ldr r1, _08068E50 @ =gUnknown_83A7202 - mov r0, sp - movs r2, 0x6 - bl memcpy - add r4, sp, 0x8 - ldr r1, _08068E54 @ =gUnknown_83A7208 - adds r0, r4, 0 - movs r2, 0x3 - bl memcpy - movs r6, 0 - movs r1, 0x36 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08068E00 - ldrh r1, [r5, 0x3A] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08068E00 - ldrh r1, [r5, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl little_step -_08068E00: - movs r2, 0x3A - ldrsh r0, [r5, r2] - movs r2, 0x36 - ldrsh r1, [r5, r2] - adds r1, r4, r1 - ldrb r1, [r1] - asrs r0, r1 - ldrh r1, [r5, 0x38] - lsls r1, 24 - lsrs r1, 24 - bl sub_8068D00 - strh r0, [r5, 0x26] - ldrh r1, [r5, 0x3A] - adds r1, 0x1 - strh r1, [r5, 0x3A] - movs r2, 0x36 - ldrsh r0, [r5, r2] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - lsls r0, 16 - asrs r2, r0, 16 - lsls r1, 16 - asrs r1, 16 - asrs r0, 17 - cmp r1, r0 - bne _08068E3A - movs r6, 0x1 -_08068E3A: - cmp r1, r2 - blt _08068E44 - movs r0, 0 - strh r0, [r5, 0x26] - movs r6, 0xFF -_08068E44: - adds r0, r6, 0 - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08068E50: .4byte gUnknown_83A7202 -_08068E54: .4byte gUnknown_83A7208 - thumb_func_end sub_8068DC4 - - thumb_func_start SetMovementDelay -SetMovementDelay: @ 8068E58 - strh r1, [r0, 0x34] - bx lr - thumb_func_end SetMovementDelay - - thumb_func_start WaitForMovementDelay -WaitForMovementDelay: @ 8068E5C - push {lr} - ldrh r1, [r0, 0x34] - subs r1, 0x1 - strh r1, [r0, 0x34] - lsls r1, 16 - cmp r1, 0 - beq _08068E6E - movs r0, 0 - b _08068E70 -_08068E6E: - movs r0, 0x1 -_08068E70: - pop {r1} - bx r1 - thumb_func_end WaitForMovementDelay - - thumb_func_start SetAndStartSpriteAnim -SetAndStartSpriteAnim: @ 8068E74 - push {r4,lr} - lsls r2, 24 - lsrs r2, 24 - adds r3, r0, 0 - adds r3, 0x2A - strb r1, [r3] - adds r4, r0, 0 - adds r4, 0x2C - ldrb r3, [r4] - movs r1, 0x41 - negs r1, r1 - ands r1, r3 - strb r1, [r4] - adds r1, r2, 0 - bl SeekSpriteAnim - pop {r4} - pop {r0} - bx r0 - thumb_func_end SetAndStartSpriteAnim - - thumb_func_start SpriteAnimEnded -SpriteAnimEnded: @ 8068E9C - push {lr} - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _08068EAE - movs r0, 0 - b _08068EB0 -_08068EAE: - movs r0, 0x1 -_08068EB0: - pop {r1} - bx r1 - thumb_func_end SpriteAnimEnded - - thumb_func_start sub_8068EB4 -sub_8068EB4: @ 8068EB4 - push {r4-r6,lr} - mov r12, r0 - lsls r1, 24 - lsrs r1, 24 - mov r3, r12 - adds r3, 0x3E - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08068F1C - mov r0, r12 - ldrh r1, [r0, 0x24] - ldrh r2, [r0, 0x20] - adds r1, r2 - mov r4, r12 - adds r4, 0x28 - movs r0, 0 - ldrsb r0, [r4, r0] - ldr r2, _08068F14 @ =gSpriteCoordOffsetX - adds r0, r1 - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - lsrs r6, r0, 16 - mov r0, r12 - ldrh r1, [r0, 0x26] - ldrh r2, [r0, 0x22] - adds r1, r2 - subs r3, 0x15 - movs r0, 0 - ldrsb r0, [r3, r0] - ldr r2, _08068F18 @ =gSpriteCoordOffsetY - adds r0, r1 - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - lsrs r5, r0, 16 - adds r2, r3, 0 - b _08068F4A - .align 2, 0 -_08068F14: .4byte gSpriteCoordOffsetX -_08068F18: .4byte gSpriteCoordOffsetY -_08068F1C: - mov r0, r12 - ldrh r1, [r0, 0x24] - ldrh r2, [r0, 0x20] - adds r1, r2 - mov r3, r12 - adds r3, 0x28 - movs r0, 0 - ldrsb r0, [r3, r0] - adds r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - mov r0, r12 - ldrh r1, [r0, 0x26] - ldrh r2, [r0, 0x22] - adds r1, r2 - mov r2, r12 - adds r2, 0x29 - movs r0, 0 - ldrsb r0, [r2, r0] - adds r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r4, r3, 0 -_08068F4A: - ldrb r0, [r4] - lsls r0, 24 - asrs r0, 25 - subs r0, r6, r0 - lsls r0, 16 - lsrs r3, r0, 16 - ldrb r0, [r2] - lsls r0, 24 - asrs r0, 25 - subs r0, r5, r0 - lsls r0, 16 - lsrs r2, r0, 16 - lsls r0, r6, 16 - asrs r0, 16 - cmp r0, 0xFF - bgt _08068F76 - lsls r0, r3, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bge _08068F82 -_08068F76: - mov r4, r12 - adds r4, 0x3E - ldrb r0, [r4] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4] -_08068F82: - lsls r0, r5, 16 - asrs r0, 16 - cmp r0, 0xAF - bgt _08068F96 - lsls r0, r2, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bge _08068FA2 -_08068F96: - mov r0, r12 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_08068FA2: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8068EB4 - - thumb_func_start UpdateObjectEventSpriteSubpriorityAndVisibility -UpdateObjectEventSpriteSubpriorityAndVisibility: @ 8068FA8 - push {r4,lr} - adds r4, r0, 0 - bl sub_8069248 - ldrh r0, [r4, 0x30] - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - movs r2, 0x1 - bl SetObjectSubpriorityByZCoord - ldrh r1, [r4, 0x32] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_8068EB4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end UpdateObjectEventSpriteSubpriorityAndVisibility - - thumb_func_start sub_8068FD0 -sub_8068FD0: @ 8068FD0 - push {r4,r5,lr} - movs r5, 0 - movs r4, 0x3F -_08068FD6: - ldr r0, _08069004 @ =gSprites - adds r2, r5, r0 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08068FF6 - ldr r1, [r2, 0x1C] - ldr r0, _08069008 @ =UpdateObjectEventSpriteSubpriorityAndVisibility - cmp r1, r0 - bne _08068FF6 - adds r0, r2, 0 - bl DestroySprite -_08068FF6: - adds r5, 0x44 - subs r4, 0x1 - cmp r4, 0 - bge _08068FD6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069004: .4byte gSprites -_08069008: .4byte UpdateObjectEventSpriteSubpriorityAndVisibility - thumb_func_end sub_8068FD0 - - thumb_func_start sub_806900C -sub_806900C: @ 806900C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r3, 0 - ldr r6, _08069040 @ =gSprites - movs r4, 0 -_08069018: - adds r2, r4, r6 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08069048 - ldr r1, [r2, 0x1C] - ldr r0, _08069044 @ =UpdateObjectEventSpriteSubpriorityAndVisibility - cmp r1, r0 - bne _08069048 - ldrh r0, [r2, 0x2E] - lsls r0, 24 - lsrs r0, 24 - cmp r0, r5 - bne _08069048 - adds r0, r3, 0 - b _08069052 - .align 2, 0 -_08069040: .4byte gSprites -_08069044: .4byte UpdateObjectEventSpriteSubpriorityAndVisibility -_08069048: - adds r4, 0x44 - adds r3, 0x1 - cmp r3, 0x3F - ble _08069018 - movs r0, 0x40 -_08069052: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_806900C - - thumb_func_start sub_8069058 -sub_8069058: @ 8069058 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - bl sub_806900C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0806908A - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _08069090 @ =gSprites - adds r4, r0 - adds r0, r5, 0 - bl GetFaceDirectionAnimNum - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim -_0806908A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069090: .4byte gSprites - thumb_func_end sub_8069058 - - thumb_func_start sub_8069094 -sub_8069094: @ 8069094 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - bl sub_806900C - adds r1, r0, 0 - cmp r1, 0x40 - beq _0806911E - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080690F8 @ =gSprites - adds r4, r0, r1 - adds r0, r5, 0 - bl GetObjectEventGraphicsInfo - ldrh r3, [r4, 0x4] - lsls r3, 22 - ldr r1, [r0, 0x10] - ldr r2, [r1, 0x4] - ldr r1, [r1] - str r1, [r4] - str r2, [r4, 0x4] - lsrs r3, 22 - ldrh r2, [r4, 0x4] - ldr r1, _080690FC @ =0xfffffc00 - ands r1, r2 - orrs r1, r3 - strh r1, [r4, 0x4] - ldrb r2, [r0, 0xC] - lsls r2, 28 - lsrs r2, 24 - ldrb r3, [r4, 0x5] - movs r1, 0xF - ands r1, r3 - orrs r1, r2 - strb r1, [r4, 0x5] - ldr r1, [r0, 0x1C] - str r1, [r4, 0xC] - ldr r1, [r0, 0x14] - cmp r1, 0 - bne _08069100 - str r1, [r4, 0x18] - adds r0, r4, 0 - adds r0, 0x42 - strb r1, [r0] - b _08069116 - .align 2, 0 -_080690F8: .4byte gSprites -_080690FC: .4byte 0xfffffc00 -_08069100: - adds r0, r4, 0 - bl SetSubspriteTables - adds r2, r4, 0 - adds r2, 0x42 - ldrb r0, [r2] - movs r1, 0x3F - ands r1, r0 - movs r0, 0x80 - orrs r1, r0 - strb r1, [r2] -_08069116: - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim -_0806911E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8069094 - - thumb_func_start sub_8069124 -sub_8069124: @ 8069124 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - bl sub_806900C - lsls r0, 24 - lsrs r2, r0, 24 - adds r3, r2, 0 - cmp r2, 0x40 - beq _08069160 - cmp r4, 0 - beq _08069154 - ldr r0, _08069150 @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x32] - b _08069160 - .align 2, 0 -_08069150: .4byte gSprites -_08069154: - ldr r1, _08069168 @ =gSprites - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - strh r4, [r0, 0x32] -_08069160: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08069168: .4byte gSprites - thumb_func_end sub_8069124 - - thumb_func_start sub_806916C -sub_806916C: @ 806916C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_806900C - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - bne _08069182 - movs r0, 0 - b _0806919A -_08069182: - movs r3, 0 - ldr r0, _080691A0 @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - movs r2, 0x32 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - bne _08069198 - movs r3, 0x1 -_08069198: - adds r0, r3, 0 -_0806919A: - pop {r1} - bx r1 - .align 2, 0 -_080691A0: .4byte gSprites - thumb_func_end sub_806916C - - thumb_func_start sub_80691A4 -sub_80691A4: @ 80691A4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - bl sub_806900C - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080691CA - ldr r0, _080691D0 @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - movs r0, 0 - strh r4, [r1, 0x34] - strh r0, [r1, 0x36] -_080691CA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080691D0: .4byte gSprites - thumb_func_end sub_80691A4 - - thumb_func_start sub_80691D4 -sub_80691D4: @ 80691D4 - push {lr} - adds r2, r0, 0 - movs r1, 0x36 - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _080691E6 - cmp r0, 0x1 - beq _080691EE - b _0806920C -_080691E6: - strh r0, [r2, 0x26] - ldrh r0, [r2, 0x36] - adds r0, 0x1 - strh r0, [r2, 0x36] -_080691EE: - ldrh r0, [r2, 0x26] - subs r0, 0x8 - movs r3, 0 - strh r0, [r2, 0x26] - lsls r0, 16 - asrs r0, 16 - movs r1, 0xA0 - negs r1, r1 - cmp r0, r1 - bne _0806920C - strh r3, [r2, 0x26] - movs r0, 0x1 - strh r0, [r2, 0x32] - strh r3, [r2, 0x34] - strh r3, [r2, 0x36] -_0806920C: - pop {r0} - bx r0 - thumb_func_end sub_80691D4 - - thumb_func_start sub_8069210 -sub_8069210: @ 8069210 - push {lr} - adds r1, r0, 0 - movs r2, 0x36 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _08069222 - cmp r0, 0x1 - beq _0806922C - b _0806923E -_08069222: - ldr r0, _08069244 @ =0x0000ff60 - strh r0, [r1, 0x26] - ldrh r0, [r1, 0x36] - adds r0, 0x1 - strh r0, [r1, 0x36] -_0806922C: - ldrh r0, [r1, 0x26] - adds r0, 0x8 - strh r0, [r1, 0x26] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bne _0806923E - strh r0, [r1, 0x34] - strh r0, [r1, 0x36] -_0806923E: - pop {r0} - bx r0 - .align 2, 0 -_08069244: .4byte 0x0000ff60 - thumb_func_end sub_8069210 - - thumb_func_start sub_8069248 -sub_8069248: @ 8069248 - push {lr} - adds r1, r0, 0 - movs r2, 0x34 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - beq _08069264 - cmp r0, 0x1 - bgt _0806925E - cmp r0, 0 - beq _08069284 - b _08069274 -_0806925E: - cmp r0, 0x2 - beq _0806926C - b _08069274 -_08069264: - adds r0, r1, 0 - bl sub_8069210 - b _08069284 -_0806926C: - adds r0, r1, 0 - bl sub_80691D4 - b _08069284 -_08069274: - movs r0, 0 - strh r0, [r1, 0x34] - ldr r0, _08069288 @ =gUnknown_83A720C "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/evobjmv.c" - ldr r1, _0806928C @ =0x00003413 - ldr r2, _08069290 @ =gUnknown_83A7240 "0" - movs r3, 0x1 - bl AGBAssert -_08069284: - pop {r0} - bx r0 - .align 2, 0 -_08069288: .4byte gUnknown_83A720C -_0806928C: .4byte 0x00003413 -_08069290: .4byte gUnknown_83A7240 - thumb_func_end sub_8069248 - - thumb_func_start sub_8069294 -sub_8069294: @ 8069294 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_806900C - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080692B8 - ldr r0, _080692BC @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - movs r2, 0x34 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080692C0 -_080692B8: - movs r0, 0 - b _080692C2 - .align 2, 0 -_080692BC: .4byte gSprites -_080692C0: - movs r0, 0x1 -_080692C2: - pop {r1} - bx r1 - thumb_func_end sub_8069294 - - thumb_func_start oe_exec_and_other_stuff -oe_exec_and_other_stuff: @ 80692C8 - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080692EC @ =gFieldEffectArguments - adds r2, r1, 0x4 - adds r3, r1, 0 - adds r3, 0x8 - bl ObjectEventGetLocalIdAndMap - adds r0, r4, 0 - bl FieldEffectStart - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080692EC: .4byte gFieldEffectArguments - thumb_func_end oe_exec_and_other_stuff - - thumb_func_start DoShadowFieldEffect -DoShadowFieldEffect: @ 80692F0 - push {lr} - adds r1, r0, 0 - ldrb r2, [r1, 0x2] - lsls r0, r2, 25 - cmp r0, 0 - blt _08069308 - movs r0, 0x40 - orrs r0, r2 - strb r0, [r1, 0x2] - movs r0, 0x3 - bl oe_exec_and_other_stuff -_08069308: - pop {r0} - bx r0 - thumb_func_end DoShadowFieldEffect - - thumb_func_start DoRippleFieldEffect -DoRippleFieldEffect: @ 806930C - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x5] - bl GetObjectEventGraphicsInfo - ldr r2, _08069344 @ =gFieldEffectArguments - movs r3, 0x20 - ldrsh r1, [r4, r3] - str r1, [r2] - movs r3, 0x22 - ldrsh r1, [r4, r3] - ldrh r0, [r0, 0xA] - lsls r0, 16 - asrs r0, 17 - adds r1, r0 - subs r1, 0x2 - str r1, [r2, 0x4] - movs r0, 0x97 - str r0, [r2, 0x8] - movs r0, 0x3 - str r0, [r2, 0xC] - movs r0, 0x5 - bl FieldEffectStart - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08069344: .4byte gFieldEffectArguments - thumb_func_end DoRippleFieldEffect - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/event_object_movement.s b/asm/event_object_movement.s index 06e977258..0b3eb41af 100644 --- a/asm/event_object_movement.s +++ b/asm/event_object_movement.s @@ -4,4 +4,1891 @@ .syntax unified .text + + thumb_func_start GetAllGroundEffectFlags_OnSpawn +GetAllGroundEffectFlags_OnSpawn: @ 8067B34 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + bl ObjectEventUpdateMetatileBehaviors + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_Reflection + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_TallGrassOnSpawn + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_LongGrassOnSpawn + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_SandHeap + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_ShallowFlowingWater + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_ShortGrass + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_HotSprings + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end GetAllGroundEffectFlags_OnSpawn + + thumb_func_start GetAllGroundEffectFlags_OnBeginStep +GetAllGroundEffectFlags_OnBeginStep: @ 8067B7C + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + bl ObjectEventUpdateMetatileBehaviors + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_Reflection + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_TallGrassOnBeginStep + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_LongGrassOnBeginStep + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_Tracks + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_SandHeap + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_ShallowFlowingWater + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_Puddle + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_ShortGrass + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_HotSprings + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end GetAllGroundEffectFlags_OnBeginStep + + thumb_func_start GetAllGroundEffectFlags_OnFinishStep +GetAllGroundEffectFlags_OnFinishStep: @ 8067BD4 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + bl ObjectEventUpdateMetatileBehaviors + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_ShallowFlowingWater + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_SandHeap + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_Puddle + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_Ripple + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_ShortGrass + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_HotSprings + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_Seaweed + adds r0, r4, 0 + adds r1, r5, 0 + bl GetGroundEffectFlags_JumpLanding + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end GetAllGroundEffectFlags_OnFinishStep + + thumb_func_start ObjectEventUpdateMetatileBehaviors +ObjectEventUpdateMetatileBehaviors: @ 8067C24 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x14 + ldrsh r0, [r4, r1] + movs r2, 0x16 + ldrsh r1, [r4, r2] + bl MapGridGetMetatileBehaviorAt + strb r0, [r4, 0x1F] + movs r1, 0x10 + ldrsh r0, [r4, r1] + movs r2, 0x12 + ldrsh r1, [r4, r2] + bl MapGridGetMetatileBehaviorAt + strb r0, [r4, 0x1E] + pop {r4} + pop {r0} + bx r0 + thumb_func_end ObjectEventUpdateMetatileBehaviors + + thumb_func_start GetGroundEffectFlags_Reflection +GetGroundEffectFlags_Reflection: @ 8067C4C + push {r4,r5,lr} + sub sp, 0x8 + adds r4, r0, 0 + adds r5, r1, 0 + ldr r0, _08067C90 @ =gUnknown_83A7024 + ldr r1, [r0, 0x4] + ldr r0, [r0] + str r0, [sp] + str r1, [sp, 0x4] + adds r0, r4, 0 + bl sub_8067F88 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0 + beq _08067C94 + ldrb r1, [r4, 0x2] + lsls r0, r1, 30 + cmp r0, 0 + blt _08067C9E + movs r0, 0x3 + negs r0, r0 + ands r0, r1 + movs r1, 0x2 + orrs r0, r1 + strb r0, [r4, 0x2] + subs r0, r2, 0x1 + lsls r0, 2 + add r0, sp + ldr r1, [r5] + ldr r0, [r0] + orrs r1, r0 + str r1, [r5] + b _08067C9E + .align 2, 0 +_08067C90: .4byte gUnknown_83A7024 +_08067C94: + ldrb r1, [r4, 0x2] + movs r0, 0x3 + negs r0, r0 + ands r0, r1 + strb r0, [r4, 0x2] +_08067C9E: + add sp, 0x8 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_Reflection + + thumb_func_start GetGroundEffectFlags_TallGrassOnSpawn +GetGroundEffectFlags_TallGrassOnSpawn: @ 8067CA8 + push {r4,lr} + adds r4, r1, 0 + ldrb r0, [r0, 0x1E] + bl MetatileBehavior_IsTallGrass_2 + lsls r0, 24 + cmp r0, 0 + beq _08067CC0 + ldr r0, [r4] + movs r1, 0x1 + orrs r0, r1 + str r0, [r4] +_08067CC0: + pop {r4} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_TallGrassOnSpawn + + thumb_func_start GetGroundEffectFlags_TallGrassOnBeginStep +GetGroundEffectFlags_TallGrassOnBeginStep: @ 8067CC8 + push {r4,lr} + adds r4, r1, 0 + ldrb r0, [r0, 0x1E] + bl MetatileBehavior_IsTallGrass_2 + lsls r0, 24 + cmp r0, 0 + beq _08067CE0 + ldr r0, [r4] + movs r1, 0x2 + orrs r0, r1 + str r0, [r4] +_08067CE0: + pop {r4} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_TallGrassOnBeginStep + + thumb_func_start GetGroundEffectFlags_LongGrassOnSpawn +GetGroundEffectFlags_LongGrassOnSpawn: @ 8067CE8 + push {r4,lr} + adds r4, r1, 0 + ldrb r0, [r0, 0x1E] + bl MetatileBehavior_IsLongGrass + lsls r0, 24 + cmp r0, 0 + beq _08067D00 + ldr r0, [r4] + movs r1, 0x4 + orrs r0, r1 + str r0, [r4] +_08067D00: + pop {r4} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_LongGrassOnSpawn + + thumb_func_start GetGroundEffectFlags_LongGrassOnBeginStep +GetGroundEffectFlags_LongGrassOnBeginStep: @ 8067D08 + push {r4,lr} + adds r4, r1, 0 + ldrb r0, [r0, 0x1E] + bl MetatileBehavior_IsLongGrass + lsls r0, 24 + cmp r0, 0 + beq _08067D20 + ldr r0, [r4] + movs r1, 0x8 + orrs r0, r1 + str r0, [r4] +_08067D20: + pop {r4} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_LongGrassOnBeginStep + + thumb_func_start GetGroundEffectFlags_Tracks +GetGroundEffectFlags_Tracks: @ 8067D28 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4, 0x1F] + bl MetatileBehavior_ReturnFalse + lsls r0, 24 + cmp r0, 0 + beq _08067D42 + ldr r0, [r5] + movs r1, 0x80 + lsls r1, 1 + b _08067D5E +_08067D42: + ldrb r0, [r4, 0x1F] + bl MetatileBehavior_IsMB21OrSand + lsls r0, 24 + cmp r0, 0 + bne _08067D5A + ldrb r0, [r4, 0x1F] + bl MetatileBehavior_ReturnFalse_5 + lsls r0, 24 + cmp r0, 0 + beq _08067D62 +_08067D5A: + ldr r0, [r5] + movs r1, 0x80 +_08067D5E: + orrs r0, r1 + str r0, [r5] +_08067D62: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_Tracks + + thumb_func_start GetGroundEffectFlags_SandHeap +GetGroundEffectFlags_SandHeap: @ 8067D68 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4, 0x1E] + bl MetatileBehavior_ReturnFalse + lsls r0, 24 + cmp r0, 0 + beq _08067DA6 + ldrb r0, [r4, 0x1F] + bl MetatileBehavior_ReturnFalse + lsls r0, 24 + cmp r0, 0 + beq _08067DA6 + ldrb r1, [r4, 0x2] + lsls r0, r1, 27 + cmp r0, 0 + blt _08067DB0 + movs r0, 0x11 + negs r0, r0 + ands r0, r1 + movs r1, 0x10 + orrs r0, r1 + strb r0, [r4, 0x2] + ldr r0, [r5] + movs r1, 0x80 + lsls r1, 4 + orrs r0, r1 + str r0, [r5] + b _08067DB0 +_08067DA6: + ldrb r1, [r4, 0x2] + movs r0, 0x11 + negs r0, r0 + ands r0, r1 + strb r0, [r4, 0x2] +_08067DB0: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_SandHeap + + thumb_func_start GetGroundEffectFlags_ShallowFlowingWater +GetGroundEffectFlags_ShallowFlowingWater: @ 8067DB8 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4, 0x1E] + bl MetatileBehavior_IsWaterfallBottom + lsls r0, 24 + cmp r0, 0 + beq _08067DD6 + ldrb r0, [r4, 0x1F] + bl MetatileBehavior_IsWaterfallBottom + lsls r0, 24 + cmp r0, 0 + bne _08067DEE +_08067DD6: + ldrb r0, [r4, 0x1E] + bl MetatileBehavior_ReturnFalse_10 + lsls r0, 24 + cmp r0, 0 + beq _08067E0C + ldrb r0, [r4, 0x1F] + bl MetatileBehavior_ReturnFalse_10 + lsls r0, 24 + cmp r0, 0 + beq _08067E0C +_08067DEE: + ldrb r1, [r4, 0x2] + lsls r0, r1, 28 + cmp r0, 0 + blt _08067E16 + movs r0, 0x9 + negs r0, r0 + ands r0, r1 + movs r1, 0x8 + orrs r0, r1 + strb r0, [r4, 0x2] + ldr r0, [r5] + movs r1, 0x40 + orrs r0, r1 + str r0, [r5] + b _08067E16 +_08067E0C: + ldrb r1, [r4, 0x2] + movs r0, 0x9 + negs r0, r0 + ands r0, r1 + strb r0, [r4, 0x2] +_08067E16: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_ShallowFlowingWater + + thumb_func_start GetGroundEffectFlags_Puddle +GetGroundEffectFlags_Puddle: @ 8067E1C + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4, 0x1E] + bl MetatileBehavior_IsPuddle + lsls r0, 24 + cmp r0, 0 + beq _08067E44 + ldrb r0, [r4, 0x1F] + bl MetatileBehavior_IsPuddle + lsls r0, 24 + cmp r0, 0 + beq _08067E44 + ldr r0, [r5] + movs r1, 0x80 + lsls r1, 3 + orrs r0, r1 + str r0, [r5] +_08067E44: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_Puddle + + thumb_func_start GetGroundEffectFlags_Ripple +GetGroundEffectFlags_Ripple: @ 8067E4C + push {r4,lr} + adds r4, r1, 0 + ldrb r0, [r0, 0x1E] + bl MetatileBehavior_IsPondWaterOrPuddle + lsls r0, 24 + cmp r0, 0 + beq _08067E66 + ldr r0, [r4] + movs r1, 0x80 + lsls r1, 2 + orrs r0, r1 + str r0, [r4] +_08067E66: + pop {r4} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_Ripple + + thumb_func_start GetGroundEffectFlags_ShortGrass +GetGroundEffectFlags_ShortGrass: @ 8067E6C + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4, 0x1E] + bl MetatileBehavior_ReturnFalse_8 + lsls r0, 24 + cmp r0, 0 + beq _08067EAA + ldrb r0, [r4, 0x1F] + bl MetatileBehavior_ReturnFalse_8 + lsls r0, 24 + cmp r0, 0 + beq _08067EAA + ldrb r1, [r4, 0x2] + lsls r0, r1, 29 + cmp r0, 0 + blt _08067EB4 + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + movs r1, 0x4 + orrs r0, r1 + strb r0, [r4, 0x2] + ldr r0, [r5] + movs r1, 0x80 + lsls r1, 10 + orrs r0, r1 + str r0, [r5] + b _08067EB4 +_08067EAA: + ldrb r1, [r4, 0x2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r4, 0x2] +_08067EB4: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_ShortGrass + + thumb_func_start GetGroundEffectFlags_HotSprings +GetGroundEffectFlags_HotSprings: @ 8067EBC + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4, 0x1E] + bl MetatileBehavior_IsHotSprings + lsls r0, 24 + cmp r0, 0 + beq _08067EFA + ldrb r0, [r4, 0x1F] + bl MetatileBehavior_IsHotSprings + lsls r0, 24 + cmp r0, 0 + beq _08067EFA + ldrb r1, [r4, 0x2] + lsls r0, r1, 26 + cmp r0, 0 + blt _08067F04 + movs r0, 0x21 + negs r0, r0 + ands r0, r1 + movs r1, 0x20 + orrs r0, r1 + strb r0, [r4, 0x2] + ldr r0, [r5] + movs r1, 0x80 + lsls r1, 11 + orrs r0, r1 + str r0, [r5] + b _08067F04 +_08067EFA: + ldrb r1, [r4, 0x2] + movs r0, 0x21 + negs r0, r0 + ands r0, r1 + strb r0, [r4, 0x2] +_08067F04: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_HotSprings + + thumb_func_start GetGroundEffectFlags_Seaweed +GetGroundEffectFlags_Seaweed: @ 8067F0C + push {r4,lr} + adds r4, r1, 0 + ldrb r0, [r0, 0x1E] + bl MetatileBehavior_IsMB22 + lsls r0, 24 + cmp r0, 0 + beq _08067F26 + ldr r0, [r4] + movs r1, 0x80 + lsls r1, 12 + orrs r0, r1 + str r0, [r4] +_08067F26: + pop {r4} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_Seaweed + + thumb_func_start GetGroundEffectFlags_JumpLanding +GetGroundEffectFlags_JumpLanding: @ 8067F2C + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r7, r0, 0 + adds r6, r1, 0 + ldr r0, [r7] + ldr r1, _08067F68 @ =0x02000020 + ands r0, r1 + cmp r0, 0x20 + bne _08067F7E + movs r5, 0 + ldr r0, _08067F6C @ =gUnknown_83A702C + mov r8, r0 +_08067F46: + lsls r4, r5, 2 + mov r0, r8 + adds r1, r4, r0 + ldrb r0, [r7, 0x1E] + ldr r1, [r1] + bl _call_via_r1 + lsls r0, 24 + cmp r0, 0 + beq _08067F74 + ldr r0, _08067F70 @ =gUnknown_83A7044 + adds r0, r4, r0 + ldr r1, [r6] + ldr r0, [r0] + orrs r1, r0 + str r1, [r6] + b _08067F7E + .align 2, 0 +_08067F68: .4byte 0x02000020 +_08067F6C: .4byte gUnknown_83A702C +_08067F70: .4byte gUnknown_83A7044 +_08067F74: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x5 + bls _08067F46 +_08067F7E: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end GetGroundEffectFlags_JumpLanding + + thumb_func_start sub_8067F88 +sub_8067F88: @ 8067F88 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + adds r5, r0, 0 + ldrb r0, [r5, 0x5] + bl GetObjectEventGraphicsInfo + movs r4, 0 + movs r0, 0x1 + mov r10, r0 +_08067FA0: + movs r1, 0x10 + ldrsh r0, [r5, r1] + ldrh r1, [r5, 0x12] + add r1, r10 + lsls r4, 16 + asrs r6, r4, 16 + adds r1, r6, r1 + lsls r1, 16 + asrs r1, 16 + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r0, 24 + bl GetReflectionTypeByMetatileBehavior + lsls r0, 24 + lsrs r0, 24 + mov r9, r4 + cmp r0, 0 + bne _080680BA + movs r3, 0x14 + ldrsh r0, [r5, r3] + ldrh r1, [r5, 0x16] + add r1, r10 + adds r1, r6, r1 + lsls r1, 16 + asrs r1, 16 + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r0, 24 + bl GetReflectionTypeByMetatileBehavior + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + bne _080680BA + movs r2, 0x1 + lsls r0, r2, 16 + asrs r1, r0, 16 + mov r8, r0 + cmp r2, r1 + bge _080680A8 + movs r0, 0x80 + lsls r0, 9 + asrs r7, r0, 16 +_08067FFC: + ldrh r0, [r5, 0x10] + lsls r1, r2, 16 + asrs r4, r1, 16 + adds r0, r4, r0 + lsls r0, 16 + asrs r0, 16 + ldrh r1, [r5, 0x12] + adds r1, r7, r1 + adds r1, r6, r1 + lsls r1, 16 + asrs r1, 16 + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r0, 24 + bl GetReflectionTypeByMetatileBehavior + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + bne _080680BA + ldrh r0, [r5, 0x10] + subs r0, r4 + lsls r0, 16 + asrs r0, 16 + ldrh r1, [r5, 0x12] + adds r1, r7, r1 + adds r1, r6, r1 + lsls r1, 16 + asrs r1, 16 + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r0, 24 + bl GetReflectionTypeByMetatileBehavior + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + bne _080680BA + ldrh r0, [r5, 0x14] + adds r0, r4, r0 + lsls r0, 16 + asrs r0, 16 + ldrh r1, [r5, 0x16] + adds r1, r7, r1 + adds r1, r6, r1 + lsls r1, 16 + asrs r1, 16 + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r0, 24 + bl GetReflectionTypeByMetatileBehavior + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + bne _080680BA + ldrh r0, [r5, 0x14] + subs r0, r4 + lsls r0, 16 + asrs r0, 16 + ldrh r1, [r5, 0x16] + adds r1, r7, r1 + adds r1, r6, r1 + lsls r1, 16 + asrs r1, 16 + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r0, 24 + bl GetReflectionTypeByMetatileBehavior + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + bne _080680BA + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + asrs r0, 16 + mov r3, r8 + asrs r1, r3, 16 + cmp r0, r1 + blt _08067FFC +_080680A8: + movs r0, 0x80 + lsls r0, 9 + add r0, r9 + lsrs r4, r0, 16 + asrs r0, 16 + cmp r0, 0x2 + bge _080680B8 + b _08067FA0 +_080680B8: + movs r0, 0 +_080680BA: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8067F88 + + thumb_func_start GetReflectionTypeByMetatileBehavior +GetReflectionTypeByMetatileBehavior: @ 80680C8 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + bl MetatileBehavior_IsIce + lsls r0, 24 + cmp r0, 0 + beq _080680DE + movs r0, 0x1 + b _080680F0 +_080680DE: + adds r0, r4, 0 + bl MetatileBehavior_IsReflective + lsls r0, 24 + cmp r0, 0 + bne _080680EE + movs r0, 0 + b _080680F0 +_080680EE: + movs r0, 0x2 +_080680F0: + pop {r4} + pop {r1} + bx r1 + thumb_func_end GetReflectionTypeByMetatileBehavior + + thumb_func_start GetLedgeJumpDirection +GetLedgeJumpDirection: @ 80680F8 + push {r4,lr} + lsls r0, 16 + lsrs r3, r0, 16 + lsls r1, 16 + lsrs r1, 16 + lsls r2, 24 + lsrs r4, r2, 24 + cmp r4, 0 + beq _0806813E + cmp r4, 0x4 + bls _08068114 + subs r0, r4, 0x4 + lsls r0, 24 + lsrs r4, r0, 24 +_08068114: + subs r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r3, 16 + asrs r0, 16 + lsls r1, 16 + asrs r1, 16 + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08068144 @ =gUnknown_83A705C + lsls r1, r4, 2 + adds r1, r2 + ldr r1, [r1] + bl _call_via_r1 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08068148 +_0806813E: + movs r0, 0 + b _0806814E + .align 2, 0 +_08068144: .4byte gUnknown_83A705C +_08068148: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r0, 24 +_0806814E: + pop {r4} + pop {r1} + bx r1 + thumb_func_end GetLedgeJumpDirection + + thumb_func_start ObjectEventSetSpriteOamTableForLongGrass +ObjectEventSetSpriteOamTableForLongGrass: @ 8068154 + push {r4-r6,lr} + adds r5, r0, 0 + adds r4, r1, 0 + ldrb r0, [r5] + lsls r0, 27 + cmp r0, 0 + blt _080681A8 + ldrb r0, [r5, 0x1E] + bl MetatileBehavior_IsLongGrass + lsls r0, 24 + cmp r0, 0 + beq _080681A8 + ldrb r0, [r5, 0x1F] + bl MetatileBehavior_IsLongGrass + lsls r0, 24 + cmp r0, 0 + beq _080681A8 + adds r4, 0x42 + ldrb r1, [r4] + movs r6, 0x40 + negs r6, r6 + adds r0, r6, 0 + ands r0, r1 + movs r1, 0x4 + orrs r0, r1 + strb r0, [r4] + ldrb r0, [r5, 0xB] + lsrs r0, 4 + bl ZCoordToPriority + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080681A8 + ldrb r0, [r4] + adds r1, r6, 0 + ands r1, r0 + movs r0, 0x5 + orrs r1, r0 + strb r1, [r4] +_080681A8: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end ObjectEventSetSpriteOamTableForLongGrass + + thumb_func_start IsZCoordMismatchAt +IsZCoordMismatchAt: @ 80681B0 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r1, 16 + lsrs r0, r1, 16 + lsls r2, 16 + lsrs r1, r2, 16 + cmp r4, 0 + beq _080681DE + lsls r0, 16 + asrs r0, 16 + lsls r1, 16 + asrs r1, 16 + bl MapGridGetZCoordAt + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + beq _080681DE + cmp r0, 0xF + beq _080681DE + cmp r0, r4 + bne _080681E2 +_080681DE: + movs r0, 0 + b _080681E4 +_080681E2: + movs r0, 0x1 +_080681E4: + pop {r4} + pop {r1} + bx r1 + thumb_func_end IsZCoordMismatchAt + + thumb_func_start ObjectEventUpdateZCoordAndPriority +ObjectEventUpdateZCoordAndPriority: @ 80681EC + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4, 0x3] + lsls r0, 29 + cmp r0, 0 + blt _0806823A + adds r0, r4, 0 + bl ObjectEventUpdateZCoord + ldr r1, _08068240 @ =gUnknown_83A708C + ldrb r2, [r4, 0xB] + lsls r2, 24 + lsrs r0, r2, 28 + adds r0, r1 + ldrb r0, [r0] + adds r4, r5, 0 + adds r4, 0x42 + movs r1, 0x3F + ands r1, r0 + ldrb r3, [r4] + movs r0, 0x40 + negs r0, r0 + ands r0, r3 + orrs r0, r1 + strb r0, [r4] + ldr r0, _08068244 @ =gUnknown_83A707C + lsrs r2, 28 + adds r2, r0 + movs r0, 0x3 + ldrb r1, [r2] + ands r1, r0 + lsls r1, 2 + ldrb r2, [r5, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x5] +_0806823A: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08068240: .4byte gUnknown_83A708C +_08068244: .4byte gUnknown_83A707C + thumb_func_end ObjectEventUpdateZCoordAndPriority + + thumb_func_start InitObjectPriorityByZCoord +InitObjectPriorityByZCoord: @ 8068248 + push {r4,lr} + lsls r1, 24 + lsrs r1, 24 + ldr r2, _0806828C @ =gUnknown_83A708C + adds r2, r1, r2 + ldrb r2, [r2] + movs r3, 0x42 + adds r3, r0 + mov r12, r3 + movs r3, 0x3F + ands r3, r2 + mov r2, r12 + ldrb r4, [r2] + movs r2, 0x40 + negs r2, r2 + ands r2, r4 + orrs r2, r3 + mov r3, r12 + strb r2, [r3] + ldr r2, _08068290 @ =gUnknown_83A707C + adds r1, r2 + movs r3, 0x3 + ldrb r2, [r1] + ands r2, r3 + lsls r2, 2 + ldrb r3, [r0, 0x5] + movs r1, 0xD + negs r1, r1 + ands r1, r3 + orrs r1, r2 + strb r1, [r0, 0x5] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0806828C: .4byte gUnknown_83A708C +_08068290: .4byte gUnknown_83A707C + thumb_func_end InitObjectPriorityByZCoord + + thumb_func_start ZCoordToPriority +ZCoordToPriority: @ 8068294 + lsls r0, 24 + lsrs r0, 24 + ldr r1, _080682A0 @ =gUnknown_83A707C + adds r0, r1 + ldrb r0, [r0] + bx lr + .align 2, 0 +_080682A0: .4byte gUnknown_83A707C + thumb_func_end ZCoordToPriority + + thumb_func_start ObjectEventUpdateZCoord +ObjectEventUpdateZCoord: @ 80682A4 + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x10 + ldrsh r0, [r4, r1] + movs r2, 0x12 + ldrsh r1, [r4, r2] + bl MapGridGetZCoordAt + lsls r0, 24 + lsrs r5, r0, 24 + movs r1, 0x14 + ldrsh r0, [r4, r1] + movs r2, 0x16 + ldrsh r1, [r4, r2] + bl MapGridGetZCoordAt + lsls r0, 24 + lsrs r0, 24 + cmp r5, 0xF + beq _080682F2 + cmp r0, 0xF + beq _080682F2 + movs r3, 0xF + adds r0, r5, 0 + ands r0, r3 + ldrb r1, [r4, 0xB] + movs r2, 0x10 + negs r2, r2 + ands r2, r1 + orrs r2, r0 + strb r2, [r4, 0xB] + cmp r5, 0 + beq _080682F2 + cmp r5, 0xF + beq _080682F2 + lsls r0, r5, 4 + ands r2, r3 + orrs r2, r0 + strb r2, [r4, 0xB] +_080682F2: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end ObjectEventUpdateZCoord + + thumb_func_start SetObjectSubpriorityByZCoord +SetObjectSubpriorityByZCoord: @ 80682F8 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r2, 24 + lsrs r2, 24 + adds r3, r1, 0 + adds r3, 0x29 + movs r5, 0 + ldrsb r5, [r3, r5] + ldrh r4, [r1, 0x22] + ldr r3, _08068338 @ =gSpriteCoordOffsetY + subs r4, r5 + ldrh r3, [r3] + adds r4, r3 + adds r4, 0x8 + movs r3, 0xFF + ands r4, r3 + lsrs r4, 4 + movs r3, 0x10 + subs r3, r4 + lsls r3, 17 + ldr r4, _0806833C @ =gUnknown_83A706C + adds r0, r4 + lsrs r3, 16 + ldrb r0, [r0] + adds r3, r0 + adds r2, r3 + adds r1, 0x43 + strb r2, [r1] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08068338: .4byte gSpriteCoordOffsetY +_0806833C: .4byte gUnknown_83A706C + thumb_func_end SetObjectSubpriorityByZCoord + + thumb_func_start ObjectEventUpdateSubpriority +ObjectEventUpdateSubpriority: @ 8068340 + push {lr} + adds r2, r0, 0 + ldrb r0, [r2, 0x3] + lsls r0, 29 + cmp r0, 0 + blt _08068356 + ldrb r0, [r2, 0xB] + lsrs r0, 4 + movs r2, 0x1 + bl SetObjectSubpriorityByZCoord +_08068356: + pop {r0} + bx r0 + thumb_func_end ObjectEventUpdateSubpriority + + thumb_func_start AreZCoordsCompatible +AreZCoordsCompatible: @ 806835C + push {lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r1, 24 + cmp r0, 0 + beq _08068372 + cmp r1, 0 + beq _08068372 + cmp r0, r1 + bne _08068376 +_08068372: + movs r0, 0x1 + b _08068378 +_08068376: + movs r0, 0 +_08068378: + pop {r1} + bx r1 + thumb_func_end AreZCoordsCompatible + + thumb_func_start GroundEffect_SpawnOnTallGrass +GroundEffect_SpawnOnTallGrass: @ 806837C + push {lr} + ldr r3, _080683C0 @ =gFieldEffectArguments + movs r2, 0x10 + ldrsh r1, [r0, r2] + str r1, [r3] + movs r2, 0x12 + ldrsh r1, [r0, r2] + str r1, [r3, 0x4] + ldrb r1, [r0, 0xB] + lsrs r1, 4 + str r1, [r3, 0x8] + movs r1, 0x2 + str r1, [r3, 0xC] + ldrb r1, [r0, 0x8] + lsls r1, 8 + ldrb r2, [r0, 0x9] + orrs r1, r2 + str r1, [r3, 0x10] + ldrb r0, [r0, 0xA] + str r0, [r3, 0x14] + ldr r0, _080683C4 @ =gSaveBlock1Ptr + ldr r1, [r0] + ldrb r0, [r1, 0x5] + lsls r0, 8 + ldrb r1, [r1, 0x4] + orrs r0, r1 + str r0, [r3, 0x18] + movs r0, 0x1 + str r0, [r3, 0x1C] + movs r0, 0x4 + bl FieldEffectStart + pop {r0} + bx r0 + .align 2, 0 +_080683C0: .4byte gFieldEffectArguments +_080683C4: .4byte gSaveBlock1Ptr + thumb_func_end GroundEffect_SpawnOnTallGrass + + thumb_func_start GroundEffect_StepOnTallGrass +GroundEffect_StepOnTallGrass: @ 80683C8 + push {lr} + ldr r3, _0806840C @ =gFieldEffectArguments + movs r2, 0x10 + ldrsh r1, [r0, r2] + str r1, [r3] + movs r2, 0x12 + ldrsh r1, [r0, r2] + str r1, [r3, 0x4] + ldrb r1, [r0, 0xB] + lsrs r1, 4 + str r1, [r3, 0x8] + movs r1, 0x2 + str r1, [r3, 0xC] + ldrb r1, [r0, 0x8] + lsls r1, 8 + ldrb r2, [r0, 0x9] + orrs r1, r2 + str r1, [r3, 0x10] + ldrb r0, [r0, 0xA] + str r0, [r3, 0x14] + ldr r0, _08068410 @ =gSaveBlock1Ptr + ldr r1, [r0] + ldrb r0, [r1, 0x5] + lsls r0, 8 + ldrb r1, [r1, 0x4] + orrs r0, r1 + str r0, [r3, 0x18] + movs r0, 0 + str r0, [r3, 0x1C] + movs r0, 0x4 + bl FieldEffectStart + pop {r0} + bx r0 + .align 2, 0 +_0806840C: .4byte gFieldEffectArguments +_08068410: .4byte gSaveBlock1Ptr + thumb_func_end GroundEffect_StepOnTallGrass + + thumb_func_start GroundEffect_SpawnOnLongGrass +GroundEffect_SpawnOnLongGrass: @ 8068414 + push {lr} + ldr r3, _08068458 @ =gFieldEffectArguments + movs r2, 0x10 + ldrsh r1, [r0, r2] + str r1, [r3] + movs r2, 0x12 + ldrsh r1, [r0, r2] + str r1, [r3, 0x4] + ldrb r1, [r0, 0xB] + lsrs r1, 4 + str r1, [r3, 0x8] + movs r1, 0x2 + str r1, [r3, 0xC] + ldrb r1, [r0, 0x8] + lsls r1, 8 + ldrb r2, [r0, 0x9] + orrs r1, r2 + str r1, [r3, 0x10] + ldrb r0, [r0, 0xA] + str r0, [r3, 0x14] + ldr r0, _0806845C @ =gSaveBlock1Ptr + ldr r1, [r0] + ldrb r0, [r1, 0x5] + lsls r0, 8 + ldrb r1, [r1, 0x4] + orrs r0, r1 + str r0, [r3, 0x18] + movs r0, 0x1 + str r0, [r3, 0x1C] + movs r0, 0x11 + bl FieldEffectStart + pop {r0} + bx r0 + .align 2, 0 +_08068458: .4byte gFieldEffectArguments +_0806845C: .4byte gSaveBlock1Ptr + thumb_func_end GroundEffect_SpawnOnLongGrass + + thumb_func_start GroundEffect_StepOnLongGrass +GroundEffect_StepOnLongGrass: @ 8068460 + push {lr} + ldr r3, _080684A4 @ =gFieldEffectArguments + movs r2, 0x10 + ldrsh r1, [r0, r2] + str r1, [r3] + movs r2, 0x12 + ldrsh r1, [r0, r2] + str r1, [r3, 0x4] + ldrb r1, [r0, 0xB] + lsrs r1, 4 + str r1, [r3, 0x8] + movs r1, 0x2 + str r1, [r3, 0xC] + ldrb r1, [r0, 0x8] + lsls r1, 8 + ldrb r2, [r0, 0x9] + orrs r1, r2 + str r1, [r3, 0x10] + ldrb r0, [r0, 0xA] + str r0, [r3, 0x14] + ldr r0, _080684A8 @ =gSaveBlock1Ptr + ldr r1, [r0] + ldrb r0, [r1, 0x5] + lsls r0, 8 + ldrb r1, [r1, 0x4] + orrs r0, r1 + str r0, [r3, 0x18] + movs r0, 0 + str r0, [r3, 0x1C] + movs r0, 0x11 + bl FieldEffectStart + pop {r0} + bx r0 + .align 2, 0 +_080684A4: .4byte gFieldEffectArguments +_080684A8: .4byte gSaveBlock1Ptr + thumb_func_end GroundEffect_StepOnLongGrass + + thumb_func_start GroundEffect_WaterReflection +GroundEffect_WaterReflection: @ 80684AC + push {lr} + movs r2, 0 + bl SetUpReflection + pop {r0} + bx r0 + thumb_func_end GroundEffect_WaterReflection + + thumb_func_start GroundEffect_IceReflection +GroundEffect_IceReflection: @ 80684B8 + push {lr} + movs r2, 0x1 + bl SetUpReflection + pop {r0} + bx r0 + thumb_func_end GroundEffect_IceReflection + + thumb_func_start GroundEffect_FlowingWater +GroundEffect_FlowingWater: @ 80684C4 + push {lr} + adds r1, r0, 0 + movs r0, 0x22 + bl oe_exec_and_other_stuff + pop {r0} + bx r0 + thumb_func_end GroundEffect_FlowingWater + + thumb_func_start GroundEffect_SandTracks +GroundEffect_SandTracks: @ 80684D4 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4, 0x5] + bl GetObjectEventGraphicsInfo + ldr r1, _080684FC @ =gUnknown_83A709C + ldrb r0, [r0, 0xD] + lsls r0, 2 + adds r0, r1 + ldr r3, [r0] + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0 + bl _call_via_r3 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080684FC: .4byte gUnknown_83A709C + thumb_func_end GroundEffect_SandTracks + + thumb_func_start GroundEffect_DeepSandTracks +GroundEffect_DeepSandTracks: @ 8068500 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4, 0x5] + bl GetObjectEventGraphicsInfo + ldr r1, _08068528 @ =gUnknown_83A709C + ldrb r0, [r0, 0xD] + lsls r0, 2 + adds r0, r1 + ldr r3, [r0] + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0x1 + bl _call_via_r3 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08068528: .4byte gUnknown_83A709C + thumb_func_end GroundEffect_DeepSandTracks + + thumb_func_start nullsub_26 +nullsub_26: @ 806852C + bx lr + thumb_func_end nullsub_26 + + thumb_func_start DoTracksGroundEffect_Footprints +DoTracksGroundEffect_Footprints: @ 8068530 + push {r4,r5,lr} + sub sp, 0x4 + adds r5, r0, 0 + lsls r4, r2, 24 + lsrs r4, 24 + ldr r1, _08068578 @ =gUnknown_83A70A8 + mov r0, sp + movs r2, 0x4 + bl memcpy + ldr r1, _0806857C @ =gFieldEffectArguments + movs r2, 0x14 + ldrsh r0, [r5, r2] + str r0, [r1] + movs r2, 0x16 + ldrsh r0, [r5, r2] + str r0, [r1, 0x4] + movs r0, 0x95 + str r0, [r1, 0x8] + movs r0, 0x2 + str r0, [r1, 0xC] + ldrb r0, [r5, 0x18] + lsls r0, 28 + lsrs r0, 28 + str r0, [r1, 0x10] + lsls r4, 1 + mov r1, sp + adds r0, r1, r4 + ldrb r0, [r0] + bl FieldEffectStart + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08068578: .4byte gUnknown_83A70A8 +_0806857C: .4byte gFieldEffectArguments + thumb_func_end DoTracksGroundEffect_Footprints + + thumb_func_start DoTracksGroundEffect_BikeTireTracks +DoTracksGroundEffect_BikeTireTracks: @ 8068580 + push {r4,lr} + adds r4, r0, 0 + ldr r1, [r4, 0x10] + ldr r0, [r4, 0x14] + cmp r1, r0 + beq _080685C2 + ldr r2, _080685C8 @ =gFieldEffectArguments + movs r1, 0x14 + ldrsh r0, [r4, r1] + str r0, [r2] + movs r1, 0x16 + ldrsh r0, [r4, r1] + str r0, [r2, 0x4] + movs r0, 0x95 + str r0, [r2, 0x8] + movs r0, 0x2 + str r0, [r2, 0xC] + ldr r3, _080685CC @ =gUnknown_83A70AC + ldrb r1, [r4, 0x18] + lsls r1, 28 + lsrs r1, 28 + adds r0, r4, 0 + adds r0, 0x20 + ldrb r0, [r0] + lsls r0, 2 + subs r0, 0x5 + adds r1, r0 + adds r1, r3 + ldrb r0, [r1] + str r0, [r2, 0x10] + movs r0, 0x23 + bl FieldEffectStart +_080685C2: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080685C8: .4byte gFieldEffectArguments +_080685CC: .4byte gUnknown_83A70AC + thumb_func_end DoTracksGroundEffect_BikeTireTracks + + thumb_func_start GroundEffect_Ripple +GroundEffect_Ripple: @ 80685D0 + push {lr} + bl DoRippleFieldEffect + pop {r0} + bx r0 + thumb_func_end GroundEffect_Ripple + + thumb_func_start GroundEffect_StepOnPuddle +GroundEffect_StepOnPuddle: @ 80685DC + push {lr} + adds r1, r0, 0 + movs r0, 0xF + bl oe_exec_and_other_stuff + pop {r0} + bx r0 + thumb_func_end GroundEffect_StepOnPuddle + + thumb_func_start GroundEffect_SandHeap +GroundEffect_SandHeap: @ 80685EC + push {lr} + adds r1, r0, 0 + movs r0, 0x27 + bl oe_exec_and_other_stuff + pop {r0} + bx r0 + thumb_func_end GroundEffect_SandHeap + + thumb_func_start GroundEffect_JumpOnTallGrass +GroundEffect_JumpOnTallGrass: @ 80685FC + push {r4-r7,lr} + sub sp, 0x4 + adds r5, r0, 0 + adds r6, r1, 0 + ldr r1, _08068650 @ =gFieldEffectArguments + movs r2, 0x10 + ldrsh r0, [r5, r2] + str r0, [r1] + movs r4, 0x12 + ldrsh r0, [r5, r4] + str r0, [r1, 0x4] + ldrb r0, [r5, 0xB] + lsrs r0, 4 + str r0, [r1, 0x8] + movs r0, 0x2 + str r0, [r1, 0xC] + movs r0, 0xC + bl FieldEffectStart + ldrb r0, [r5, 0x8] + ldrb r1, [r5, 0x9] + ldrb r2, [r5, 0xA] + movs r7, 0x10 + ldrsh r3, [r5, r7] + movs r7, 0x12 + ldrsh r4, [r5, r7] + str r4, [sp] + bl FindTallGrassFieldEffectSpriteId + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x40 + bne _08068646 + adds r0, r5, 0 + adds r1, r6, 0 + bl GroundEffect_SpawnOnTallGrass +_08068646: + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08068650: .4byte gFieldEffectArguments + thumb_func_end GroundEffect_JumpOnTallGrass + + thumb_func_start GroundEffect_JumpOnLongGrass +GroundEffect_JumpOnLongGrass: @ 8068654 + push {lr} + ldr r2, _08068678 @ =gFieldEffectArguments + movs r3, 0x10 + ldrsh r1, [r0, r3] + str r1, [r2] + movs r3, 0x12 + ldrsh r1, [r0, r3] + str r1, [r2, 0x4] + ldrb r0, [r0, 0xB] + lsrs r0, 4 + str r0, [r2, 0x8] + movs r0, 0x2 + str r0, [r2, 0xC] + movs r0, 0x12 + bl FieldEffectStart + pop {r0} + bx r0 + .align 2, 0 +_08068678: .4byte gFieldEffectArguments + thumb_func_end GroundEffect_JumpOnLongGrass + + thumb_func_start GroundEffect_JumpOnShallowWater +GroundEffect_JumpOnShallowWater: @ 806867C + push {r4,lr} + ldr r3, _080686A8 @ =gFieldEffectArguments + movs r4, 0x10 + ldrsh r2, [r0, r4] + str r2, [r3] + movs r4, 0x12 + ldrsh r2, [r0, r4] + str r2, [r3, 0x4] + ldrb r0, [r0, 0xB] + lsrs r0, 4 + str r0, [r3, 0x8] + ldrb r0, [r1, 0x5] + lsls r0, 28 + lsrs r0, 30 + str r0, [r3, 0xC] + movs r0, 0x10 + bl FieldEffectStart + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080686A8: .4byte gFieldEffectArguments + thumb_func_end GroundEffect_JumpOnShallowWater + + thumb_func_start GroundEffect_JumpOnWater +GroundEffect_JumpOnWater: @ 80686AC + push {r4,lr} + ldr r3, _080686D8 @ =gFieldEffectArguments + movs r4, 0x10 + ldrsh r2, [r0, r4] + str r2, [r3] + movs r4, 0x12 + ldrsh r2, [r0, r4] + str r2, [r3, 0x4] + ldrb r0, [r0, 0xB] + lsrs r0, 4 + str r0, [r3, 0x8] + ldrb r0, [r1, 0x5] + lsls r0, 28 + lsrs r0, 30 + str r0, [r3, 0xC] + movs r0, 0xE + bl FieldEffectStart + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080686D8: .4byte gFieldEffectArguments + thumb_func_end GroundEffect_JumpOnWater + + thumb_func_start GroundEffect_JumpLandingDust +GroundEffect_JumpLandingDust: @ 80686DC + push {r4,lr} + ldr r3, _08068708 @ =gFieldEffectArguments + movs r4, 0x10 + ldrsh r2, [r0, r4] + str r2, [r3] + movs r4, 0x12 + ldrsh r2, [r0, r4] + str r2, [r3, 0x4] + ldrb r0, [r0, 0xB] + lsrs r0, 4 + str r0, [r3, 0x8] + ldrb r0, [r1, 0x5] + lsls r0, 28 + lsrs r0, 30 + str r0, [r3, 0xC] + movs r0, 0xA + bl FieldEffectStart + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08068708: .4byte gFieldEffectArguments + thumb_func_end GroundEffect_JumpLandingDust + + thumb_func_start GroundEffect_ShortGrass +GroundEffect_ShortGrass: @ 806870C + push {lr} + adds r1, r0, 0 + movs r0, 0x29 + bl oe_exec_and_other_stuff + pop {r0} + bx r0 + thumb_func_end GroundEffect_ShortGrass + + thumb_func_start GroundEffect_HotSprings +GroundEffect_HotSprings: @ 806871C + push {lr} + adds r1, r0, 0 + movs r0, 0x2A + bl oe_exec_and_other_stuff + pop {r0} + bx r0 + thumb_func_end GroundEffect_HotSprings + + thumb_func_start GroundEffect_Seaweed +GroundEffect_Seaweed: @ 806872C + push {lr} + ldr r2, _08068748 @ =gFieldEffectArguments + movs r3, 0x10 + ldrsh r1, [r0, r3] + str r1, [r2] + movs r1, 0x12 + ldrsh r0, [r0, r1] + str r0, [r2, 0x4] + movs r0, 0x35 + bl FieldEffectStart + pop {r0} + bx r0 + .align 2, 0 +_08068748: .4byte gFieldEffectArguments + thumb_func_end GroundEffect_Seaweed + + thumb_func_start DoFlaggedGroundEffects +DoFlaggedGroundEffects: @ 806874C + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r0, 0 + adds r7, r1, 0 + adds r5, r2, 0 + ldrb r0, [r6, 0x8] + cmp r0, 0x7F + bne _08068766 + ldrb r0, [r6, 0x1] + lsls r0, 26 + cmp r0, 0 + blt _0806878E +_08068766: + movs r4, 0 + ldr r0, _08068798 @ =gUnknown_83A70BC + mov r8, r0 +_0806876C: + movs r0, 0x1 + ands r0, r5 + cmp r0, 0 + beq _08068782 + lsls r0, r4, 2 + add r0, r8 + ldr r2, [r0] + adds r0, r6, 0 + adds r1, r7, 0 + bl _call_via_r2 +_08068782: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + lsrs r5, 1 + cmp r4, 0x13 + bls _0806876C +_0806878E: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08068798: .4byte gUnknown_83A70BC + thumb_func_end DoFlaggedGroundEffects + + thumb_func_start filters_out_some_ground_effects +filters_out_some_ground_effects: @ 806879C + push {lr} + adds r2, r0, 0 + adds r3, r1, 0 + ldrb r0, [r2] + lsls r0, 27 + cmp r0, 0 + bge _080687CA + ldrb r1, [r2, 0x2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + movs r1, 0x11 + negs r1, r1 + ands r0, r1 + adds r1, 0x8 + ands r0, r1 + subs r1, 0x18 + ands r0, r1 + strb r0, [r2, 0x2] + ldr r0, [r3] + ldr r1, _080687D0 @ =0xfff9f7bd + ands r0, r1 + str r0, [r3] +_080687CA: + pop {r0} + bx r0 + .align 2, 0 +_080687D0: .4byte 0xfff9f7bd + thumb_func_end filters_out_some_ground_effects + + thumb_func_start FilterOutStepOnPuddleGroundEffectIfJumping +FilterOutStepOnPuddleGroundEffectIfJumping: @ 80687D4 + push {lr} + adds r2, r1, 0 + ldrb r0, [r0] + lsls r0, 26 + cmp r0, 0 + bge _080687E8 + ldr r0, [r2] + ldr r1, _080687EC @ =0xfffffbff + ands r0, r1 + str r0, [r2] +_080687E8: + pop {r0} + bx r0 + .align 2, 0 +_080687EC: .4byte 0xfffffbff + thumb_func_end FilterOutStepOnPuddleGroundEffectIfJumping + + thumb_func_start DoGroundEffects_OnSpawn +DoGroundEffects_OnSpawn: @ 80687F0 + push {r4,r5,lr} + sub sp, 0x4 + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4] + lsls r0, 29 + cmp r0, 0 + bge _08068834 + movs r0, 0 + str r0, [sp] + adds r0, r4, 0 + bl ObjectEventUpdateZCoordAndPriority + adds r0, r4, 0 + mov r1, sp + bl GetAllGroundEffectFlags_OnSpawn + adds r0, r4, 0 + adds r1, r5, 0 + bl ObjectEventSetSpriteOamTableForLongGrass + ldr r2, [sp] + adds r0, r4, 0 + adds r1, r5, 0 + bl DoFlaggedGroundEffects + ldrb r1, [r4] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + movs r1, 0x11 + negs r1, r1 + ands r0, r1 + strb r0, [r4] +_08068834: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end DoGroundEffects_OnSpawn + + thumb_func_start DoGroundEffects_OnBeginStep +DoGroundEffects_OnBeginStep: @ 806883C + push {r4,r5,lr} + sub sp, 0x4 + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4] + lsls r0, 29 + cmp r0, 0 + bge _08068888 + movs r0, 0 + str r0, [sp] + adds r0, r4, 0 + bl ObjectEventUpdateZCoordAndPriority + adds r0, r4, 0 + mov r1, sp + bl GetAllGroundEffectFlags_OnBeginStep + adds r0, r4, 0 + adds r1, r5, 0 + bl ObjectEventSetSpriteOamTableForLongGrass + adds r0, r4, 0 + mov r1, sp + bl filters_out_some_ground_effects + ldr r2, [sp] + adds r0, r4, 0 + adds r1, r5, 0 + bl DoFlaggedGroundEffects + ldrb r1, [r4] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + movs r1, 0x11 + negs r1, r1 + ands r0, r1 + strb r0, [r4] +_08068888: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end DoGroundEffects_OnBeginStep + + thumb_func_start DoGroundEffects_OnFinishStep +DoGroundEffects_OnFinishStep: @ 8068890 + push {r4,r5,lr} + sub sp, 0x4 + adds r4, r0, 0 + adds r5, r1, 0 + ldrb r0, [r4] + lsls r0, 28 + cmp r0, 0 + bge _080688DC + movs r0, 0 + str r0, [sp] + adds r0, r4, 0 + bl ObjectEventUpdateZCoordAndPriority + adds r0, r4, 0 + mov r1, sp + bl GetAllGroundEffectFlags_OnFinishStep + adds r0, r4, 0 + adds r1, r5, 0 + bl ObjectEventSetSpriteOamTableForLongGrass + adds r0, r4, 0 + mov r1, sp + bl FilterOutStepOnPuddleGroundEffectIfJumping + ldr r2, [sp] + adds r0, r4, 0 + adds r1, r5, 0 + bl DoFlaggedGroundEffects + ldrb r1, [r4] + movs r0, 0x9 + negs r0, r0 + ands r0, r1 + movs r1, 0x21 + negs r1, r1 + ands r0, r1 + strb r0, [r4] +_080688DC: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end DoGroundEffects_OnFinishStep + .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_camera.s b/asm/field_camera.s deleted file mode 100644 index 86a1c0e76..000000000 --- a/asm/field_camera.s +++ /dev/null @@ -1,1299 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start move_tilemap_camera_to_upper_left_corner_ -move_tilemap_camera_to_upper_left_corner_: @ 805A5A8 - movs r1, 0 - strb r1, [r0, 0x2] - strb r1, [r0, 0x3] - strb r1, [r0] - strb r1, [r0, 0x1] - movs r1, 0x1 - strb r1, [r0, 0x4] - bx lr - thumb_func_end move_tilemap_camera_to_upper_left_corner_ - - thumb_func_start tilemap_move_something -tilemap_move_something: @ 805A5B8 - ldrb r3, [r0, 0x2] - adds r3, r1 - strb r3, [r0, 0x2] - ldrb r1, [r0, 0x2] - movs r3, 0x1F - ands r1, r3 - strb r1, [r0, 0x2] - ldrb r1, [r0, 0x3] - adds r1, r2 - strb r1, [r0, 0x3] - ldrb r1, [r0, 0x3] - ands r1, r3 - strb r1, [r0, 0x3] - bx lr - thumb_func_end tilemap_move_something - - thumb_func_start coords8_add -coords8_add: @ 805A5D4 - ldrb r3, [r0] - adds r3, r1 - strb r3, [r0] - ldrb r1, [r0, 0x1] - adds r1, r2 - strb r1, [r0, 0x1] - bx lr - thumb_func_end coords8_add - - thumb_func_start move_tilemap_camera_to_upper_left_corner -move_tilemap_camera_to_upper_left_corner: @ 805A5E4 - push {lr} - ldr r0, _0805A5F0 @ =gUnknown_3000E90 - bl move_tilemap_camera_to_upper_left_corner_ - pop {r0} - bx r0 - .align 2, 0 -_0805A5F0: .4byte gUnknown_3000E90 - thumb_func_end move_tilemap_camera_to_upper_left_corner - - thumb_func_start FieldUpdateBgTilemapScroll -FieldUpdateBgTilemapScroll: @ 805A5F4 - push {r4,r5,lr} - ldr r1, _0805A64C @ =gUnknown_3000E90 - ldr r0, _0805A650 @ =gUnknown_3000E98 - movs r2, 0 - ldrsh r5, [r0, r2] - ldrb r0, [r1] - adds r5, r0 - ldr r0, _0805A654 @ =gUnknown_3000E9A - movs r2, 0 - ldrsh r4, [r0, r2] - ldrb r1, [r1, 0x1] - adds r4, r1 - adds r4, 0x8 - lsls r5, 16 - lsrs r5, 16 - movs r0, 0x14 - adds r1, r5, 0 - bl SetGpuReg - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x16 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x18 - adds r1, r5, 0 - bl SetGpuReg - movs r0, 0x1A - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x1C - adds r1, r5, 0 - bl SetGpuReg - movs r0, 0x1E - adds r1, r4, 0 - bl SetGpuReg - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805A64C: .4byte gUnknown_3000E90 -_0805A650: .4byte gUnknown_3000E98 -_0805A654: .4byte gUnknown_3000E9A - thumb_func_end FieldUpdateBgTilemapScroll - - thumb_func_start sub_805A658 -sub_805A658: @ 805A658 - push {r4,lr} - ldr r3, _0805A678 @ =gUnknown_3000E90 - ldr r2, _0805A67C @ =gUnknown_3000E98 - ldrh r2, [r2] - ldrb r4, [r3] - adds r2, r4 - strh r2, [r0] - ldr r0, _0805A680 @ =gUnknown_3000E9A - ldrh r0, [r0] - ldrb r3, [r3, 0x1] - adds r0, r3 - adds r0, 0x8 - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805A678: .4byte gUnknown_3000E90 -_0805A67C: .4byte gUnknown_3000E98 -_0805A680: .4byte gUnknown_3000E9A - thumb_func_end sub_805A658 - - thumb_func_start DrawWholeMapView -DrawWholeMapView: @ 805A684 - push {lr} - ldr r0, _0805A6A0 @ =gSaveBlock1Ptr - ldr r1, [r0] - movs r2, 0 - ldrsh r0, [r1, r2] - movs r2, 0x2 - ldrsh r1, [r1, r2] - ldr r2, _0805A6A4 @ =gMapHeader - ldr r2, [r2] - bl DrawWholeMapViewInternal - pop {r0} - bx r0 - .align 2, 0 -_0805A6A0: .4byte gSaveBlock1Ptr -_0805A6A4: .4byte gMapHeader - thumb_func_end DrawWholeMapView - - thumb_func_start DrawWholeMapViewInternal -DrawWholeMapViewInternal: @ 805A6A8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r10, r0 - mov r9, r1 - mov r8, r2 - movs r1, 0 -_0805A6BC: - ldr r2, _0805A728 @ =gUnknown_3000E90 - ldrb r0, [r2, 0x3] - adds r0, r1, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _0805A6D0 - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_0805A6D0: - lsls r6, r0, 5 - movs r4, 0 - adds r7, r1, 0x2 - str r7, [sp] - lsrs r5, r1, 1 -_0805A6DA: - ldr r1, _0805A728 @ =gUnknown_3000E90 - ldrb r0, [r1, 0x2] - adds r0, r4, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _0805A6EE - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_0805A6EE: - adds r1, r6, r0 - lsls r1, 16 - lsrs r1, 16 - lsrs r2, r4, 1 - add r2, r10 - mov r0, r8 - mov r7, r9 - adds r3, r7, r5 - bl sub_805A948 - adds r0, r4, 0x2 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1F - bls _0805A6DA - ldr r1, [sp] - lsls r0, r1, 24 - lsrs r1, r0, 24 - cmp r1, 0x1F - bls _0805A6BC - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805A728: .4byte gUnknown_3000E90 - thumb_func_end DrawWholeMapViewInternal - - thumb_func_start RedrawMapSlicesForCameraUpdate -RedrawMapSlicesForCameraUpdate: @ 805A72C - push {r4-r7,lr} - adds r5, r0, 0 - adds r6, r1, 0 - adds r7, r2, 0 - ldr r0, _0805A774 @ =gMapHeader - ldr r4, [r0] - cmp r6, 0 - ble _0805A744 - adds r0, r5, 0 - adds r1, r4, 0 - bl RedrawMapSliceWest -_0805A744: - cmp r6, 0 - bge _0805A750 - adds r0, r5, 0 - adds r1, r4, 0 - bl RedrawMapSliceEast -_0805A750: - cmp r7, 0 - ble _0805A75C - adds r0, r5, 0 - adds r1, r4, 0 - bl RedrawMapSliceNorth -_0805A75C: - cmp r7, 0 - bge _0805A768 - adds r0, r5, 0 - adds r1, r4, 0 - bl RedrawMapSliceSouth -_0805A768: - movs r0, 0x1 - strb r0, [r5, 0x4] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805A774: .4byte gMapHeader - thumb_func_end RedrawMapSlicesForCameraUpdate - - thumb_func_start RedrawMapSliceNorth -RedrawMapSliceNorth: @ 805A778 - push {r4-r7,lr} - adds r5, r0, 0 - adds r7, r1, 0 - ldrb r0, [r5, 0x3] - adds r0, 0x1C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _0805A790 - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_0805A790: - lsls r6, r0, 5 - movs r4, 0 -_0805A794: - ldrb r0, [r5, 0x2] - adds r0, r4, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _0805A7A6 - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_0805A7A6: - adds r1, r6, r0 - lsls r1, 16 - lsrs r1, 16 - ldr r0, _0805A7D4 @ =gSaveBlock1Ptr - ldr r3, [r0] - movs r0, 0 - ldrsh r2, [r3, r0] - lsrs r0, r4, 1 - adds r2, r0 - movs r0, 0x2 - ldrsh r3, [r3, r0] - adds r3, 0xE - adds r0, r7, 0 - bl sub_805A948 - adds r0, r4, 0x2 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1F - bls _0805A794 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805A7D4: .4byte gSaveBlock1Ptr - thumb_func_end RedrawMapSliceNorth - - thumb_func_start RedrawMapSliceSouth -RedrawMapSliceSouth: @ 805A7D8 - push {r4-r7,lr} - adds r5, r0, 0 - adds r7, r1, 0 - ldrb r0, [r5, 0x3] - lsls r6, r0, 5 - movs r4, 0 -_0805A7E4: - ldrb r0, [r5, 0x2] - adds r0, r4, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _0805A7F6 - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_0805A7F6: - adds r1, r6, r0 - ldr r0, _0805A820 @ =gSaveBlock1Ptr - ldr r3, [r0] - movs r0, 0 - ldrsh r2, [r3, r0] - lsrs r0, r4, 1 - adds r2, r0 - movs r0, 0x2 - ldrsh r3, [r3, r0] - adds r0, r7, 0 - bl sub_805A948 - adds r0, r4, 0x2 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1F - bls _0805A7E4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805A820: .4byte gSaveBlock1Ptr - thumb_func_end RedrawMapSliceSouth - - thumb_func_start RedrawMapSliceEast -RedrawMapSliceEast: @ 805A824 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - mov r8, r1 - ldrb r6, [r5, 0x2] - movs r4, 0 -_0805A832: - ldrb r0, [r5, 0x3] - adds r0, r4, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _0805A844 - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_0805A844: - lsls r1, r0, 5 - adds r1, r6 - lsls r1, 16 - lsrs r1, 16 - ldr r0, _0805A878 @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r3, 0 - ldrsh r2, [r0, r3] - movs r7, 0x2 - ldrsh r3, [r0, r7] - lsrs r0, r4, 1 - adds r3, r0 - mov r0, r8 - bl sub_805A948 - adds r0, r4, 0x2 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1F - bls _0805A832 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805A878: .4byte gSaveBlock1Ptr - thumb_func_end RedrawMapSliceEast - - thumb_func_start RedrawMapSliceWest -RedrawMapSliceWest: @ 805A87C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - mov r8, r1 - ldrb r0, [r6, 0x2] - adds r0, 0x1C - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1F - bls _0805A89A - adds r0, r5, 0 - subs r0, 0x20 - lsls r0, 24 - lsrs r5, r0, 24 -_0805A89A: - movs r4, 0 -_0805A89C: - ldrb r0, [r6, 0x3] - adds r0, r4, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1F - bls _0805A8AE - subs r0, 0x20 - lsls r0, 24 - lsrs r0, 24 -_0805A8AE: - lsls r1, r0, 5 - adds r1, r5 - lsls r1, 16 - lsrs r1, 16 - ldr r0, _0805A8E4 @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r3, 0 - ldrsh r2, [r0, r3] - adds r2, 0xE - movs r7, 0x2 - ldrsh r3, [r0, r7] - lsrs r0, r4, 1 - adds r3, r0 - mov r0, r8 - bl sub_805A948 - adds r0, r4, 0x2 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1F - bls _0805A89C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805A8E4: .4byte gSaveBlock1Ptr - thumb_func_end RedrawMapSliceWest - - thumb_func_start CurrentMapDrawMetatileAt -CurrentMapDrawMetatileAt: @ 805A8E8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, _0805A914 @ =gUnknown_3000E90 - adds r1, r4, 0 - adds r2, r5, 0 - bl MapPosToBgTilemapOffset - adds r1, r0, 0 - cmp r1, 0 - blt _0805A90E - ldr r0, _0805A918 @ =gMapHeader - ldr r0, [r0] - lsls r1, 16 - lsrs r1, 16 - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_805A948 -_0805A90E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805A914: .4byte gUnknown_3000E90 -_0805A918: .4byte gMapHeader - thumb_func_end CurrentMapDrawMetatileAt - - thumb_func_start DrawDoorMetatileAt -DrawDoorMetatileAt: @ 805A91C - push {r4,r5,lr} - adds r3, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - ldr r0, _0805A944 @ =gUnknown_3000E90 - adds r1, r3, 0 - adds r2, r4, 0 - bl MapPosToBgTilemapOffset - cmp r0, 0 - blt _0805A93E - lsls r2, r0, 16 - lsrs r2, 16 - movs r0, 0x1 - adds r1, r5, 0 - bl DrawMetatile -_0805A93E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805A944: .4byte gUnknown_3000E90 - thumb_func_end DrawDoorMetatileAt - - thumb_func_start sub_805A948 -sub_805A948: @ 805A948 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - adds r6, r2, 0 - adds r7, r3, 0 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - adds r0, r6, 0 - adds r1, r7, 0 - bl MapGridGetMetatileIdAt - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0x80 - lsls r0, 3 - cmp r4, r0 - bls _0805A970 - movs r4, 0 -_0805A970: - ldr r0, _0805A97C @ =0x0000027f - cmp r4, r0 - bhi _0805A980 - ldr r0, [r5, 0x10] - ldr r5, [r0, 0xC] - b _0805A98C - .align 2, 0 -_0805A97C: .4byte 0x0000027f -_0805A980: - ldr r0, [r5, 0x14] - ldr r5, [r0, 0xC] - ldr r1, _0805A9B0 @ =0xfffffd80 - adds r0, r4, r1 - lsls r0, 16 - lsrs r4, r0, 16 -_0805A98C: - lsls r0, r6, 16 - asrs r0, 16 - lsls r1, r7, 16 - asrs r1, 16 - bl MapGridGetMetatileLayerTypeAt - lsls r0, 24 - lsrs r0, 24 - lsls r1, r4, 4 - adds r1, r5, r1 - mov r2, r8 - bl DrawMetatile - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805A9B0: .4byte 0xfffffd80 - thumb_func_end sub_805A948 - - thumb_func_start DrawMetatile -DrawMetatile: @ 805A9B4 - push {r4,lr} - adds r4, r1, 0 - lsls r2, 16 - lsrs r2, 16 - cmp r0, 0x1 - beq _0805AA0C - cmp r0, 0x1 - bgt _0805A9CA - cmp r0, 0 - beq _0805AA6C - b _0805AABE -_0805A9CA: - cmp r0, 0x2 - bne _0805AABE - ldr r0, _0805AA04 @ =gUnknown_300501C - ldr r0, [r0] - lsls r3, r2, 1 - adds r0, r3, r0 - ldrh r1, [r4] - strh r1, [r0] - ldrh r1, [r4, 0x2] - strh r1, [r0, 0x2] - adds r2, r0, 0 - adds r2, 0x40 - ldrh r1, [r4, 0x4] - strh r1, [r2] - adds r0, 0x42 - ldrh r1, [r4, 0x6] - strh r1, [r0] - ldr r0, _0805AA08 @ =gUnknown_3005014 - ldr r0, [r0] - adds r0, r3, r0 - movs r2, 0 - strh r2, [r0] - strh r2, [r0, 0x2] - adds r1, r0, 0 - adds r1, 0x40 - strh r2, [r1] - adds r0, 0x42 - strh r2, [r0] - b _0805AAA2 - .align 2, 0 -_0805AA04: .4byte gUnknown_300501C -_0805AA08: .4byte gUnknown_3005014 -_0805AA0C: - ldr r0, _0805AA60 @ =gUnknown_300501C - ldr r0, [r0] - lsls r3, r2, 1 - adds r0, r3, r0 - ldrh r1, [r4] - strh r1, [r0] - ldrh r1, [r4, 0x2] - strh r1, [r0, 0x2] - adds r2, r0, 0 - adds r2, 0x40 - ldrh r1, [r4, 0x4] - strh r1, [r2] - adds r0, 0x42 - ldrh r1, [r4, 0x6] - strh r1, [r0] - ldr r0, _0805AA64 @ =gUnknown_3005014 - ldr r0, [r0] - adds r0, r3, r0 - ldrh r1, [r4, 0x8] - strh r1, [r0] - ldrh r1, [r4, 0xA] - strh r1, [r0, 0x2] - adds r2, r0, 0 - adds r2, 0x40 - ldrh r1, [r4, 0xC] - strh r1, [r2] - adds r0, 0x42 - ldrh r1, [r4, 0xE] - strh r1, [r0] - ldr r0, _0805AA68 @ =gUnknown_3005018 - ldr r0, [r0] - adds r3, r0 - movs r1, 0 - strh r1, [r3] - strh r1, [r3, 0x2] - adds r0, r3, 0 - adds r0, 0x40 - strh r1, [r0] - adds r3, 0x42 - strh r1, [r3] - b _0805AABE - .align 2, 0 -_0805AA60: .4byte gUnknown_300501C -_0805AA64: .4byte gUnknown_3005014 -_0805AA68: .4byte gUnknown_3005018 -_0805AA6C: - ldr r0, _0805AAD8 @ =gUnknown_300501C - ldr r0, [r0] - lsls r3, r2, 1 - adds r0, r3, r0 - ldr r1, _0805AADC @ =0x00003014 - adds r2, r1, 0 - strh r2, [r0] - strh r2, [r0, 0x2] - adds r1, r0, 0 - adds r1, 0x40 - strh r2, [r1] - adds r0, 0x42 - strh r2, [r0] - ldr r0, _0805AAE0 @ =gUnknown_3005014 - ldr r0, [r0] - adds r0, r3, r0 - ldrh r1, [r4] - strh r1, [r0] - ldrh r1, [r4, 0x2] - strh r1, [r0, 0x2] - adds r2, r0, 0 - adds r2, 0x40 - ldrh r1, [r4, 0x4] - strh r1, [r2] - adds r0, 0x42 - ldrh r1, [r4, 0x6] - strh r1, [r0] -_0805AAA2: - ldr r0, _0805AAE4 @ =gUnknown_3005018 - ldr r0, [r0] - adds r3, r0 - ldrh r0, [r4, 0x8] - strh r0, [r3] - ldrh r0, [r4, 0xA] - strh r0, [r3, 0x2] - adds r1, r3, 0 - adds r1, 0x40 - ldrh r0, [r4, 0xC] - strh r0, [r1] - adds r3, 0x42 - ldrh r0, [r4, 0xE] - strh r0, [r3] -_0805AABE: - movs r0, 0x1 - bl ScheduleBgCopyTilemapToVram - movs r0, 0x2 - bl ScheduleBgCopyTilemapToVram - movs r0, 0x3 - bl ScheduleBgCopyTilemapToVram - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805AAD8: .4byte gUnknown_300501C -_0805AADC: .4byte 0x00003014 -_0805AAE0: .4byte gUnknown_3005014 -_0805AAE4: .4byte gUnknown_3005018 - thumb_func_end DrawMetatile - - thumb_func_start MapPosToBgTilemapOffset -MapPosToBgTilemapOffset: @ 805AAE8 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, _0805AB18 @ =gSaveBlock1Ptr - ldr r3, [r0] - movs r5, 0 - ldrsh r0, [r3, r5] - subs r1, r0 - lsls r1, 1 - cmp r1, 0x1F - bhi _0805AB12 - ldrb r0, [r4, 0x2] - adds r1, r0 - cmp r1, 0x1F - ble _0805AB06 - subs r1, 0x20 -_0805AB06: - movs r5, 0x2 - ldrsh r0, [r3, r5] - subs r0, r2, r0 - lsls r2, r0, 1 - cmp r2, 0x1F - bls _0805AB1C -_0805AB12: - movs r0, 0x1 - negs r0, r0 - b _0805AB2A - .align 2, 0 -_0805AB18: .4byte gSaveBlock1Ptr -_0805AB1C: - ldrb r0, [r4, 0x3] - adds r2, r0 - cmp r2, 0x1F - ble _0805AB26 - subs r2, 0x20 -_0805AB26: - lsls r0, r2, 5 - adds r0, r1 -_0805AB2A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end MapPosToBgTilemapOffset - - thumb_func_start CameraUpdateCallback -CameraUpdateCallback: @ 805AB30 - push {lr} - adds r3, r0, 0 - ldr r2, [r3, 0x4] - cmp r2, 0 - beq _0805AB50 - ldr r1, _0805AB54 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - movs r2, 0x32 - ldrsh r1, [r0, r2] - str r1, [r3, 0x8] - movs r1, 0x34 - ldrsh r0, [r0, r1] - str r0, [r3, 0xC] -_0805AB50: - pop {r0} - bx r0 - .align 2, 0 -_0805AB54: .4byte gSprites - thumb_func_end CameraUpdateCallback - - thumb_func_start ResetCameraUpdateInfo -ResetCameraUpdateInfo: @ 805AB58 - ldr r1, _0805AB6C @ =gFieldCamera - movs r0, 0 - str r0, [r1, 0x8] - str r0, [r1, 0xC] - str r0, [r1, 0x10] - str r0, [r1, 0x14] - str r0, [r1, 0x4] - str r0, [r1] - bx lr - .align 2, 0 -_0805AB6C: .4byte gFieldCamera - thumb_func_end ResetCameraUpdateInfo - - thumb_func_start InitCameraUpdateCallback -InitCameraUpdateCallback: @ 805AB70 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _0805ABA4 @ =gFieldCamera - ldr r1, [r4, 0x4] - cmp r1, 0 - beq _0805AB8C - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805ABA8 @ =gSprites - adds r0, r1 - bl DestroySprite -_0805AB8C: - adds r0, r5, 0 - bl AddCameraObject - lsls r0, 24 - lsrs r0, 24 - str r0, [r4, 0x4] - ldr r0, _0805ABAC @ =CameraUpdateCallback - str r0, [r4] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0805ABA4: .4byte gFieldCamera -_0805ABA8: .4byte gSprites -_0805ABAC: .4byte CameraUpdateCallback - thumb_func_end InitCameraUpdateCallback - - thumb_func_start CameraUpdate -CameraUpdate: @ 805ABB0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r6, _0805ACA4 @ =gFieldCamera - ldr r1, [r6] - cmp r1, 0 - beq _0805ABC4 - adds r0, r6, 0 - bl _call_via_r1 -_0805ABC4: - ldr r7, [r6, 0x8] - ldr r0, [r6, 0xC] - mov r8, r0 - movs r4, 0 - movs r5, 0 - ldr r1, [r6, 0x10] - ldr r0, [r6, 0x14] - cmp r1, 0 - bne _0805ABE2 - cmp r7, 0 - beq _0805ABE2 - subs r4, 0x1 - cmp r7, 0 - ble _0805ABE2 - movs r4, 0x1 -_0805ABE2: - cmp r0, 0 - bne _0805ABF6 - mov r2, r8 - cmp r2, 0 - beq _0805ABF6 - movs r5, 0x1 - negs r5, r5 - cmp r2, 0 - ble _0805ABF6 - movs r5, 0x1 -_0805ABF6: - cmp r1, 0 - beq _0805AC08 - cmn r1, r7 - bne _0805AC08 - movs r4, 0x1 - negs r4, r4 - cmp r7, 0 - ble _0805AC08 - movs r4, 0x1 -_0805AC08: - cmp r0, 0 - beq _0805AC1C - mov r3, r8 - cmn r0, r3 - bne _0805AC1C - movs r4, 0x1 - negs r4, r4 - cmp r3, 0 - ble _0805AC1C - movs r4, 0x1 -_0805AC1C: - ldr r2, _0805ACA4 @ =gFieldCamera - ldr r0, [r2, 0x10] - adds r1, r0, r7 - str r1, [r2, 0x10] - adds r0, r1, 0 - cmp r1, 0 - bge _0805AC2C - adds r0, 0xF -_0805AC2C: - asrs r0, 4 - lsls r0, 4 - subs r0, r1, r0 - str r0, [r2, 0x10] - ldr r0, [r2, 0x14] - mov r3, r8 - adds r1, r0, r3 - str r1, [r2, 0x14] - adds r0, r1, 0 - cmp r1, 0 - bge _0805AC44 - adds r0, 0xF -_0805AC44: - asrs r0, 4 - lsls r0, 4 - subs r0, r1, r0 - str r0, [r2, 0x14] - cmp r4, 0 - bne _0805AC54 - cmp r5, 0 - beq _0805AC7E -_0805AC54: - adds r0, r4, 0 - adds r1, r5, 0 - bl CameraMove - adds r0, r4, 0 - adds r1, r5, 0 - bl UpdateObjectEventsForCameraUpdate - ldr r6, _0805ACA8 @ =gUnknown_3000E90 - lsls r4, 1 - lsls r5, 1 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl tilemap_move_something - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl RedrawMapSlicesForCameraUpdate -_0805AC7E: - ldr r0, _0805ACA8 @ =gUnknown_3000E90 - adds r1, r7, 0 - mov r2, r8 - bl coords8_add - ldr r1, _0805ACAC @ =gTotalCameraPixelOffsetX - ldrh r0, [r1] - subs r0, r7 - strh r0, [r1] - ldr r1, _0805ACB0 @ =gTotalCameraPixelOffsetY - ldrh r0, [r1] - mov r2, r8 - subs r0, r2 - strh r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805ACA4: .4byte gFieldCamera -_0805ACA8: .4byte gUnknown_3000E90 -_0805ACAC: .4byte gTotalCameraPixelOffsetX -_0805ACB0: .4byte gTotalCameraPixelOffsetY - thumb_func_end CameraUpdate - - thumb_func_start sub_805ACB4 -sub_805ACB4: @ 805ACB4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl CameraMove - lsls r0, r4, 16 - asrs r0, 16 - lsls r1, r5, 16 - asrs r1, 16 - bl UpdateObjectEventsForCameraUpdate - bl DrawWholeMapView - ldr r1, _0805ACE8 @ =gTotalCameraPixelOffsetX - lsls r4, 4 - ldrh r0, [r1] - subs r0, r4 - strh r0, [r1] - ldr r1, _0805ACEC @ =gTotalCameraPixelOffsetY - lsls r5, 4 - ldrh r0, [r1] - subs r0, r5 - strh r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805ACE8: .4byte gTotalCameraPixelOffsetX -_0805ACEC: .4byte gTotalCameraPixelOffsetY - thumb_func_end sub_805ACB4 - - thumb_func_start sub_805ACF0 -sub_805ACF0: @ 805ACF0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _0805ADCC @ =gFieldCamera - ldr r1, [r4] - cmp r1, 0 - beq _0805AD04 - adds r0, r4, 0 - bl _call_via_r1 -_0805AD04: - ldr r7, [r4, 0x8] - ldr r0, [r4, 0xC] - mov r8, r0 - movs r5, 0 - movs r6, 0 - ldr r1, [r4, 0x10] - ldr r0, [r4, 0x14] - cmp r1, 0 - bne _0805AD22 - cmp r7, 0 - beq _0805AD22 - subs r5, 0x1 - cmp r7, 0 - ble _0805AD22 - movs r5, 0x1 -_0805AD22: - cmp r0, 0 - bne _0805AD36 - mov r2, r8 - cmp r2, 0 - beq _0805AD36 - movs r6, 0x1 - negs r6, r6 - cmp r2, 0 - ble _0805AD36 - movs r6, 0x1 -_0805AD36: - cmp r1, 0 - beq _0805AD48 - cmn r1, r7 - bne _0805AD48 - movs r5, 0x1 - negs r5, r5 - cmp r7, 0 - ble _0805AD48 - movs r5, 0x1 -_0805AD48: - cmp r0, 0 - beq _0805AD5C - mov r3, r8 - cmn r0, r3 - bne _0805AD5C - movs r5, 0x1 - negs r5, r5 - cmp r3, 0 - ble _0805AD5C - movs r5, 0x1 -_0805AD5C: - ldr r2, _0805ADCC @ =gFieldCamera - ldr r0, [r2, 0x10] - adds r1, r0, r7 - str r1, [r2, 0x10] - adds r0, r1, 0 - cmp r1, 0 - bge _0805AD6C - adds r0, 0xF -_0805AD6C: - asrs r0, 4 - lsls r0, 4 - subs r0, r1, r0 - str r0, [r2, 0x10] - ldr r0, [r2, 0x14] - mov r3, r8 - adds r1, r0, r3 - str r1, [r2, 0x14] - adds r0, r1, 0 - cmp r1, 0 - bge _0805AD84 - adds r0, 0xF -_0805AD84: - asrs r0, 4 - lsls r0, 4 - subs r0, r1, r0 - str r0, [r2, 0x14] - cmp r5, 0 - bne _0805AD94 - cmp r6, 0 - beq _0805ADB6 -_0805AD94: - adds r0, r5, 0 - adds r1, r6, 0 - bl CameraMove - ldr r4, _0805ADD0 @ =gUnknown_3000E90 - lsls r5, 1 - lsls r6, 1 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl tilemap_move_something - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl RedrawMapSlicesForCameraUpdate -_0805ADB6: - ldr r0, _0805ADD0 @ =gUnknown_3000E90 - adds r1, r7, 0 - mov r2, r8 - bl coords8_add - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805ADCC: .4byte gFieldCamera -_0805ADD0: .4byte gUnknown_3000E90 - thumb_func_end sub_805ACF0 - - thumb_func_start SetCameraPanningCallback -SetCameraPanningCallback: @ 805ADD4 - ldr r1, _0805ADDC @ =gUnknown_3000EA0 - str r0, [r1] - bx lr - .align 2, 0 -_0805ADDC: .4byte gUnknown_3000EA0 - thumb_func_end SetCameraPanningCallback - - thumb_func_start SetCameraPanning -SetCameraPanning: @ 805ADE0 - ldr r2, _0805ADF0 @ =gUnknown_3000E98 - strh r0, [r2] - ldr r0, _0805ADF4 @ =gUnknown_3000E9A - lsls r1, 16 - asrs r1, 16 - adds r1, 0x20 - strh r1, [r0] - bx lr - .align 2, 0 -_0805ADF0: .4byte gUnknown_3000E98 -_0805ADF4: .4byte gUnknown_3000E9A - thumb_func_end SetCameraPanning - - thumb_func_start InstallCameraPanAheadCallback -InstallCameraPanAheadCallback: @ 805ADF8 - ldr r1, _0805AE14 @ =gUnknown_3000EA0 - ldr r0, _0805AE18 @ =CameraPanningCB_PanAhead - str r0, [r1] - ldr r1, _0805AE1C @ =gUnknown_3000E9C - movs r0, 0 - strb r0, [r1] - ldr r1, _0805AE20 @ =gUnknown_3000E98 - movs r0, 0 - strh r0, [r1] - ldr r1, _0805AE24 @ =gUnknown_3000E9A - movs r0, 0x20 - strh r0, [r1] - bx lr - .align 2, 0 -_0805AE14: .4byte gUnknown_3000EA0 -_0805AE18: .4byte CameraPanningCB_PanAhead -_0805AE1C: .4byte gUnknown_3000E9C -_0805AE20: .4byte gUnknown_3000E98 -_0805AE24: .4byte gUnknown_3000E9A - thumb_func_end InstallCameraPanAheadCallback - - thumb_func_start UpdateCameraPanning -UpdateCameraPanning: @ 805AE28 - push {lr} - ldr r0, _0805AE58 @ =gUnknown_3000EA0 - ldr r0, [r0] - cmp r0, 0 - beq _0805AE36 - bl _call_via_r0 -_0805AE36: - ldr r2, _0805AE5C @ =gSpriteCoordOffsetX - ldr r0, _0805AE60 @ =gTotalCameraPixelOffsetX - ldr r1, _0805AE64 @ =gUnknown_3000E98 - ldrh r0, [r0] - ldrh r1, [r1] - subs r0, r1 - strh r0, [r2] - ldr r2, _0805AE68 @ =gSpriteCoordOffsetY - ldr r0, _0805AE6C @ =gTotalCameraPixelOffsetY - ldr r1, _0805AE70 @ =gUnknown_3000E9A - ldrh r0, [r0] - ldrh r1, [r1] - subs r0, r1 - subs r0, 0x8 - strh r0, [r2] - pop {r0} - bx r0 - .align 2, 0 -_0805AE58: .4byte gUnknown_3000EA0 -_0805AE5C: .4byte gSpriteCoordOffsetX -_0805AE60: .4byte gTotalCameraPixelOffsetX -_0805AE64: .4byte gUnknown_3000E98 -_0805AE68: .4byte gSpriteCoordOffsetY -_0805AE6C: .4byte gTotalCameraPixelOffsetY -_0805AE70: .4byte gUnknown_3000E9A - thumb_func_end UpdateCameraPanning - - thumb_func_start CameraPanningCB_PanAhead -CameraPanningCB_PanAhead: @ 805AE74 - push {lr} - ldr r0, _0805AE84 @ =gUnknown_2036E2C - ldrb r0, [r0] - cmp r0, 0 - bne _0805AE88 - bl InstallCameraPanAheadCallback - b _0805AF10 - .align 2, 0 -_0805AE84: .4byte gUnknown_2036E2C -_0805AE88: - ldr r0, _0805AEA0 @ =gPlayerAvatar - ldrb r0, [r0, 0x3] - cmp r0, 0x1 - bne _0805AEA8 - ldr r0, _0805AEA4 @ =gUnknown_3000E9C - ldrb r1, [r0] - movs r2, 0x1 - eors r1, r2 - strb r1, [r0] - cmp r1, 0 - beq _0805AF10 - b _0805AEAE - .align 2, 0 -_0805AEA0: .4byte gPlayerAvatar -_0805AEA4: .4byte gUnknown_3000E9C -_0805AEA8: - ldr r1, _0805AED0 @ =gUnknown_3000E9C - movs r0, 0 - strb r0, [r1] -_0805AEAE: - bl GetPlayerMovementDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0805AED8 - ldr r2, _0805AED4 @ =gUnknown_3000E9A - ldrh r3, [r2] - movs r0, 0 - ldrsh r1, [r2, r0] - movs r0, 0x8 - negs r0, r0 - cmp r1, r0 - ble _0805AF10 - subs r0, r3, 0x2 - b _0805AF0E - .align 2, 0 -_0805AED0: .4byte gUnknown_3000E9C -_0805AED4: .4byte gUnknown_3000E9A -_0805AED8: - cmp r0, 0x1 - bne _0805AEF4 - ldr r1, _0805AEF0 @ =gUnknown_3000E9A - ldrh r2, [r1] - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0x47 - bgt _0805AF10 - adds r0, r2, 0x2 - strh r0, [r1] - b _0805AF10 - .align 2, 0 -_0805AEF0: .4byte gUnknown_3000E9A -_0805AEF4: - ldr r2, _0805AF04 @ =gUnknown_3000E9A - ldrh r0, [r2] - movs r3, 0 - ldrsh r1, [r2, r3] - cmp r1, 0x1F - bgt _0805AF08 - adds r0, 0x2 - b _0805AF0E - .align 2, 0 -_0805AF04: .4byte gUnknown_3000E9A -_0805AF08: - cmp r1, 0x20 - ble _0805AF10 - subs r0, 0x2 -_0805AF0E: - strh r0, [r2] -_0805AF10: - pop {r0} - bx r0 - thumb_func_end CameraPanningCB_PanAhead - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index 07b7ea3ed..09c516bd8 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -332,7 +332,7 @@ sub_806CAC8: @ 806CAC8 movs r2, 0x2 ldrsh r1, [r4, r2] movs r2, 0xFF - bl sub_8058F48 + bl MapGridGetMetatileAttributeAt mov r8, r0 mov r0, sp movs r1, 0 @@ -798,7 +798,7 @@ sub_806CEA0: @ 806CEA0 movs r0, 0 b _0806CED2 _0806CEB8: - ldr r0, _0806CED8 @ =gUnknown_8168CE4 + ldr r0, _0806CED8 @ =PalletTown_PlayersHouse_2F_EventScript_PC cmp r4, r0 beq _0806CECA ldr r0, _0806CEDC @ =EventScript_PC @@ -815,7 +815,7 @@ _0806CED2: pop {r1} bx r1 .align 2, 0 -_0806CED8: .4byte gUnknown_8168CE4 +_0806CED8: .4byte PalletTown_PlayersHouse_2F_EventScript_PC _0806CEDC: .4byte EventScript_PC thumb_func_end sub_806CEA0 @@ -1330,10 +1330,10 @@ _0806D2F0: lsrs r0, 24 cmp r0, 0x1 bne _0806D308 - ldr r0, _0806D304 @ =EventScript_1C549C + ldr r0, _0806D304 @ =TrainerTower_EventScript_ShowTime b _0806D53E .align 2, 0 -_0806D304: .4byte EventScript_1C549C +_0806D304: .4byte TrainerTower_EventScript_ShowTime _0806D308: adds r0, r4, 0 adds r1, r5, 0 @@ -1530,10 +1530,10 @@ _0806D4A0: lsrs r0, 24 cmp r0, 0x1 bne _0806D4B8 - ldr r0, _0806D4B4 @ =gUnknown_81A7702 + ldr r0, _0806D4B4 @ =EventScript_Questionnaire b _0806D53E .align 2, 0 -_0806D4B4: .4byte gUnknown_81A7702 +_0806D4B4: .4byte EventScript_Questionnaire _0806D4B8: adds r0, r4, 0 adds r1, r5, 0 @@ -1664,16 +1664,16 @@ _0806D5A4: lsrs r0, 24 cmp r0, 0x1 bne _0806D5D8 - ldr r0, _0806D5D4 @ =EventScript_InteractWithWaterfall + ldr r0, _0806D5D4 @ =EventScript_Waterfall b _0806D5E2 .align 2, 0 _0806D5D0: .4byte 0x00000826 -_0806D5D4: .4byte EventScript_InteractWithWaterfall +_0806D5D4: .4byte EventScript_Waterfall _0806D5D8: - ldr r0, _0806D5DC @ =EventScript_81BE2FF + ldr r0, _0806D5DC @ =EventScript_CantUseWaterfall b _0806D5E2 .align 2, 0 -_0806D5DC: .4byte EventScript_81BE2FF +_0806D5DC: .4byte EventScript_CantUseWaterfall _0806D5E0: movs r0, 0 _0806D5E2: @@ -1822,11 +1822,11 @@ _0806D6EC: lsrs r0, 24 cmp r0, 0x1 bne _0806D704 - ldr r0, _0806D700 @ =EventScript_PoisonWhiteOut + ldr r0, _0806D700 @ =EventScript_FieldPoison bl ScriptContext1_SetupScript b _0806D730 .align 2, 0 -_0806D700: .4byte EventScript_PoisonWhiteOut +_0806D700: .4byte EventScript_FieldPoison _0806D704: bl ShouldEggHatch lsls r0, 24 diff --git a/asm/field_effect.s b/asm/field_effect.s deleted file mode 100644 index 4e0fee5c8..000000000 --- a/asm/field_effect.s +++ /dev/null @@ -1,9666 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start FieldEffectStart -FieldEffectStart: @ 8083444 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl FieldEffectActiveListAdd - ldr r0, _08083484 @ =gUnknown_81D96AC - lsls r4, 2 - adds r4, r0 - ldr r0, [r4] - str r0, [sp] - add r4, sp, 0x4 - ldr r5, _08083488 @ =gUnknown_83CBE30 -_08083462: - ldr r0, [sp] - ldrb r0, [r0] - lsls r0, 2 - adds r0, r5 - ldr r2, [r0] - mov r0, sp - adds r1, r4, 0 - bl _call_via_r2 - lsls r0, 24 - cmp r0, 0 - bne _08083462 - ldr r0, [sp, 0x4] - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08083484: .4byte gUnknown_81D96AC -_08083488: .4byte gUnknown_83CBE30 - thumb_func_end FieldEffectStart - - thumb_func_start FieldEffectCmd_loadtiles -FieldEffectCmd_loadtiles: @ 808348C - push {lr} - ldr r1, [r0] - adds r1, 0x1 - str r1, [r0] - bl FieldEffectScript_LoadTiles - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end FieldEffectCmd_loadtiles - - thumb_func_start FieldEffectCmd_loadfadedpal -FieldEffectCmd_loadfadedpal: @ 80834A0 - push {lr} - ldr r1, [r0] - adds r1, 0x1 - str r1, [r0] - bl sub_8083614 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end FieldEffectCmd_loadfadedpal - - thumb_func_start FieldEffectCmd_loadpal -FieldEffectCmd_loadpal: @ 80834B4 - push {lr} - ldr r1, [r0] - adds r1, 0x1 - str r1, [r0] - bl sub_808365C - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end FieldEffectCmd_loadpal - - thumb_func_start FieldEffectCmd_callnative -FieldEffectCmd_callnative: @ 80834C8 - push {lr} - ldr r2, [r0] - adds r2, 0x1 - str r2, [r0] - bl FieldEffectScript_CallNative - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end FieldEffectCmd_callnative - - thumb_func_start sub_80834DC -sub_80834DC: @ 80834DC - movs r0, 0 - bx lr - thumb_func_end sub_80834DC - - thumb_func_start FieldEffectCmd_loadgfx_callnative -FieldEffectCmd_loadgfx_callnative: @ 80834E0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - adds r0, r4, 0 - bl FieldEffectScript_LoadTiles - adds r0, r4, 0 - bl sub_8083614 - adds r0, r4, 0 - adds r1, r5, 0 - bl FieldEffectScript_CallNative - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FieldEffectCmd_loadgfx_callnative - - thumb_func_start FieldEffectCmd_loadtiles_callnative -FieldEffectCmd_loadtiles_callnative: @ 8083508 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - adds r0, r4, 0 - bl FieldEffectScript_LoadTiles - adds r0, r4, 0 - adds r1, r5, 0 - bl FieldEffectScript_CallNative - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FieldEffectCmd_loadtiles_callnative - - thumb_func_start FieldEffectCmd_loadfadedpal_callnative -FieldEffectCmd_loadfadedpal_callnative: @ 808352C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - adds r0, r4, 0 - bl sub_8083614 - adds r0, r4, 0 - adds r1, r5, 0 - bl FieldEffectScript_CallNative - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FieldEffectCmd_loadfadedpal_callnative - - thumb_func_start FieldEffectScript_ReadWord -FieldEffectScript_ReadWord: @ 8083550 - ldr r2, [r0] - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - ldrb r1, [r2, 0x2] - lsls r1, 16 - adds r0, r1 - ldrb r1, [r2, 0x3] - lsls r1, 24 - adds r0, r1 - bx lr - thumb_func_end FieldEffectScript_ReadWord - - thumb_func_start FieldEffectScript_LoadTiles -FieldEffectScript_LoadTiles: @ 8083568 - push {r4,r5,lr} - adds r4, r0, 0 - bl FieldEffectScript_ReadWord - adds r5, r0, 0 - ldrh r0, [r5, 0x6] - bl GetSpriteTileStartByTag - lsls r0, 16 - ldr r1, _08083594 @ =0xffff0000 - cmp r0, r1 - bne _08083586 - adds r0, r5, 0 - bl LoadSpriteSheet -_08083586: - ldr r0, [r4] - adds r0, 0x4 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08083594: .4byte 0xffff0000 - thumb_func_end FieldEffectScript_LoadTiles - - thumb_func_start sub_8083598 -sub_8083598: @ 8083598 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080835B4 @ =gUnknown_2036E28 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080835B8 - cmp r0, 0x1 - ble _08083606 - cmp r0, 0x2 - beq _080835CC - cmp r0, 0x3 - beq _080835E0 - b _08083606 - .align 2, 0 -_080835B4: .4byte gUnknown_2036E28 -_080835B8: - adds r4, 0x10 - lsls r0, r4, 5 - ldr r1, _080835C8 @ =gPlttBufferUnfaded - adds r0, r1 - movs r1, 0x10 - bl TintPalette_GrayScale - b _080835F6 - .align 2, 0 -_080835C8: .4byte gPlttBufferUnfaded -_080835CC: - adds r4, 0x10 - lsls r0, r4, 5 - ldr r1, _080835DC @ =gPlttBufferUnfaded - adds r0, r1 - movs r1, 0x10 - bl TintPalette_SepiaTone - b _080835F6 - .align 2, 0 -_080835DC: .4byte gPlttBufferUnfaded -_080835E0: - adds r4, 0x10 - lsls r0, r4, 4 - movs r1, 0x10 - bl sub_8111F38 - lsls r0, r4, 5 - ldr r1, _0808360C @ =gPlttBufferUnfaded - adds r0, r1 - movs r1, 0x10 - bl TintPalette_GrayScale -_080835F6: - lsls r1, r4, 5 - ldr r0, _0808360C @ =gPlttBufferUnfaded - adds r0, r1, r0 - ldr r2, _08083610 @ =gPlttBufferFaded - adds r1, r2 - movs r2, 0x8 - bl CpuFastSet -_08083606: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808360C: .4byte gPlttBufferUnfaded -_08083610: .4byte gPlttBufferFaded - thumb_func_end sub_8083598 - - thumb_func_start sub_8083614 -sub_8083614: @ 8083614 - push {r4-r6,lr} - adds r6, r0, 0 - bl FieldEffectScript_ReadWord - adds r5, r0, 0 - ldrh r0, [r5, 0x4] - bl IndexOfSpritePaletteTag - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - bl LoadSpritePalette - cmp r4, 0xFF - bne _08083642 - ldrh r0, [r5, 0x4] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - bl sub_8083598 -_08083642: - ldrh r0, [r5, 0x4] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - bl sub_807AA8C - ldr r0, [r6] - adds r0, 0x4 - str r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8083614 - - thumb_func_start sub_808365C -sub_808365C: @ 808365C - push {r4-r6,lr} - adds r6, r0, 0 - bl FieldEffectScript_ReadWord - adds r5, r0, 0 - ldrh r0, [r5, 0x4] - bl IndexOfSpritePaletteTag - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - bl LoadSpritePalette - cmp r4, 0xFF - beq _0808368A - ldrh r0, [r5, 0x4] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - bl sub_8083598 -_0808368A: - ldr r0, [r6] - adds r0, 0x4 - str r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_808365C - - thumb_func_start FieldEffectScript_CallNative -FieldEffectScript_CallNative: @ 8083698 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl FieldEffectScript_ReadWord - bl _call_via_r0 - str r0, [r5] - ldr r0, [r4] - adds r0, 0x4 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end FieldEffectScript_CallNative - - thumb_func_start FieldEffectFreeGraphicsResources -FieldEffectFreeGraphicsResources: @ 80836B4 - push {r4,r5,lr} - adds r1, r0, 0 - adds r1, 0x40 - ldrh r5, [r1] - ldrb r4, [r0, 0x5] - lsrs r4, 4 - bl DestroySprite - adds r0, r5, 0 - bl FieldEffectFreeTilesIfUnused - adds r0, r4, 0 - bl FieldEffectFreePaletteIfUnused - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end FieldEffectFreeGraphicsResources - - thumb_func_start FieldEffectStop -FieldEffectStop: @ 80836D8 - push {r4,lr} - lsls r4, r1, 24 - lsrs r4, 24 - bl FieldEffectFreeGraphicsResources - adds r0, r4, 0 - bl FieldEffectActiveListRemove - pop {r4} - pop {r0} - bx r0 - thumb_func_end FieldEffectStop - - thumb_func_start FieldEffectFreeTilesIfUnused -FieldEffectFreeTilesIfUnused: @ 80836F0 - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl GetSpriteTileTagByTileStart - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, _0808374C @ =0x0000ffff - cmp r3, r0 - beq _08083744 - movs r2, 0 - ldr r5, _08083750 @ =gSprites -_0808370A: - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r5 - adds r0, r1, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - beq _08083734 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 25 - cmp r0, 0 - bge _08083734 - adds r0, r1, 0 - adds r0, 0x40 - ldrh r0, [r0] - cmp r4, r0 - beq _08083744 -_08083734: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3F - bls _0808370A - adds r0, r3, 0 - bl FreeSpriteTilesByTag -_08083744: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808374C: .4byte 0x0000ffff -_08083750: .4byte gSprites - thumb_func_end FieldEffectFreeTilesIfUnused - - thumb_func_start FieldEffectFreePaletteIfUnused -FieldEffectFreePaletteIfUnused: @ 8083754 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl GetSpritePaletteTagByPaletteNum - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _080837A4 @ =0x0000ffff - cmp r5, r0 - beq _0808379C - movs r2, 0 - ldr r6, _080837A8 @ =gSprites - adds r3, r4, 0 -_08083770: - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r6 - adds r0, r1, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - beq _0808378C - ldrb r0, [r1, 0x5] - lsrs r0, 4 - cmp r0, r3 - beq _0808379C -_0808378C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3F - bls _08083770 - adds r0, r5, 0 - bl FreeSpritePaletteByTag -_0808379C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080837A4: .4byte 0x0000ffff -_080837A8: .4byte gSprites - thumb_func_end FieldEffectFreePaletteIfUnused - - thumb_func_start FieldEffectActiveListClear -FieldEffectActiveListClear: @ 80837AC - push {r4,lr} - movs r2, 0 - ldr r4, _080837CC @ =gUnknown_3000FC8 - movs r3, 0xFF -_080837B4: - adds r0, r2, r4 - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1F - bls _080837B4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080837CC: .4byte gUnknown_3000FC8 - thumb_func_end FieldEffectActiveListClear - - thumb_func_start FieldEffectActiveListAdd -FieldEffectActiveListAdd: @ 80837D0 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - movs r2, 0 - ldr r4, _080837E8 @ =gUnknown_3000FC8 -_080837DA: - adds r1, r2, r4 - ldrb r0, [r1] - cmp r0, 0xFF - bne _080837EC - strb r3, [r1] - b _080837F6 - .align 2, 0 -_080837E8: .4byte gUnknown_3000FC8 -_080837EC: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1F - bls _080837DA -_080837F6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end FieldEffectActiveListAdd - - thumb_func_start FieldEffectActiveListRemove -FieldEffectActiveListRemove: @ 80837FC - push {r4,r5,lr} - lsls r0, 24 - lsrs r3, r0, 24 - movs r2, 0 - ldr r4, _08083818 @ =gUnknown_3000FC8 - movs r5, 0xFF -_08083808: - adds r1, r2, r4 - ldrb r0, [r1] - cmp r0, r3 - bne _0808381C - orrs r0, r5 - strb r0, [r1] - b _08083826 - .align 2, 0 -_08083818: .4byte gUnknown_3000FC8 -_0808381C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1F - bls _08083808 -_08083826: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end FieldEffectActiveListRemove - - thumb_func_start FieldEffectActiveListContains -FieldEffectActiveListContains: @ 808382C - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0 - ldr r3, _08083844 @ =gUnknown_3000FC8 -_08083836: - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, r2 - bne _08083848 - movs r0, 0x1 - b _08083854 - .align 2, 0 -_08083844: .4byte gUnknown_3000FC8 -_08083848: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x1F - bls _08083836 - movs r0, 0 -_08083854: - pop {r1} - bx r1 - thumb_func_end FieldEffectActiveListContains - - thumb_func_start CreateTrainerSprite -CreateTrainerSprite: @ 8083858 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - mov r9, r3 - ldr r7, [sp, 0x34] - lsls r4, 24 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 16 - lsrs r6, 16 - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsrs r4, 21 - ldr r3, _080838E0 @ =gTrainerFrontPicPaletteTable - mov r8, r3 - add r8, r4 - mov r0, r8 - adds r1, r7, 0 - bl LoadCompressedSpritePaletteOverrideBuffer - ldr r0, _080838E4 @ =gTrainerFrontPicTable - adds r4, r0 - adds r0, r4, 0 - adds r1, r7, 0 - bl LoadCompressedSpriteSheetOverrideBuffer - mov r1, sp - ldrh r0, [r4, 0x6] - movs r2, 0 - strh r0, [r1] - mov r3, r8 - ldrh r0, [r3, 0x4] - strh r0, [r1, 0x2] - ldr r0, _080838E8 @ =gUnknown_83CBE50 - str r0, [sp, 0x4] - ldr r0, _080838EC @ =gDummySpriteAnimTable - str r0, [sp, 0x8] - str r2, [sp, 0xC] - ldr r0, _080838F0 @ =gDummySpriteAffineAnimTable - str r0, [sp, 0x10] - ldr r0, _080838F4 @ =SpriteCallbackDummy - str r0, [sp, 0x14] - lsls r5, 16 - asrs r5, 16 - lsls r6, 16 - asrs r6, 16 - mov r0, sp - adds r1, r5, 0 - adds r2, r6, 0 - mov r3, r9 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080838E0: .4byte gTrainerFrontPicPaletteTable -_080838E4: .4byte gTrainerFrontPicTable -_080838E8: .4byte gUnknown_83CBE50 -_080838EC: .4byte gDummySpriteAnimTable -_080838F0: .4byte gDummySpriteAffineAnimTable -_080838F4: .4byte SpriteCallbackDummy - thumb_func_end CreateTrainerSprite - - thumb_func_start LoadTrainerGfx_TrainerCard -LoadTrainerGfx_TrainerCard: @ 80838F8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r1, r2, 0 - lsls r4, 24 - lsls r5, 16 - lsrs r5, 16 - ldr r0, _08083928 @ =gTrainerFrontPicTable - lsrs r4, 21 - adds r0, r4, r0 - ldr r0, [r0] - bl LZDecompressVram - ldr r0, _0808392C @ =gTrainerFrontPicPaletteTable - adds r4, r0 - ldr r0, [r4] - adds r1, r5, 0 - movs r2, 0x20 - bl LoadCompressedPalette - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08083928: .4byte gTrainerFrontPicTable -_0808392C: .4byte gTrainerFrontPicPaletteTable - thumb_func_end LoadTrainerGfx_TrainerCard - - thumb_func_start AddNewGameBirchObject -AddNewGameBirchObject: @ 8083930 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 24 - lsrs r6, 24 - ldr r0, _08083968 @ =gUnknown_83CBE70 - bl LoadSpritePalette - ldr r0, _0808396C @ =gUnknown_83CBE84 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08083968: .4byte gUnknown_83CBE70 -_0808396C: .4byte gUnknown_83CBE84 - thumb_func_end AddNewGameBirchObject - - thumb_func_start sub_8083970 -sub_8083970: @ 8083970 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 16 - lsrs r0, 16 - movs r3, 0x80 - lsls r3, 8 - lsls r1, 16 - asrs r1, 16 - str r1, [sp] - lsls r2, 16 - asrs r2, 16 - str r2, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - ldr r1, _080839C0 @ =gMonPaletteTable - lsls r4, r0, 3 - adds r4, r1 - ldrh r1, [r4, 0x4] - str r1, [sp, 0xC] - movs r1, 0 - adds r2, r3, 0 - movs r3, 0x1 - bl CreateMonPicSprite_HandleDeoxys - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r0, [r4, 0x4] - bl IndexOfSpritePaletteTag - adds r0, 0x10 - lsls r0, 24 - lsrs r0, 24 - bl sub_807B084 - ldr r0, _080839C4 @ =0x0000ffff - cmp r5, r0 - beq _080839C8 - lsls r0, r5, 24 - lsrs r0, 24 - b _080839CA - .align 2, 0 -_080839C0: .4byte gMonPaletteTable -_080839C4: .4byte 0x0000ffff -_080839C8: - movs r0, 0x40 -_080839CA: - add sp, 0x10 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8083970 - - thumb_func_start sub_80839D4 -sub_80839D4: @ 80839D4 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x10 - adds r6, r0, 0 - mov r9, r1 - mov r10, r2 - adds r4, r3, 0 - ldr r5, [sp, 0x2C] - lsls r6, 16 - lsrs r6, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - adds r0, r6, 0 - bl GetMonSpritePalStructFromOtIdPersonality - mov r8, r0 - lsls r4, 16 - asrs r4, 16 - str r4, [sp] - lsls r5, 16 - asrs r5, 16 - str r5, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - mov r1, r8 - ldrh r0, [r1, 0x4] - str r0, [sp, 0xC] - adds r0, r6, 0 - mov r1, r9 - mov r2, r10 - movs r3, 0x1 - bl CreateMonPicSprite_HandleDeoxys - lsls r0, 16 - lsrs r4, r0, 16 - mov r1, r8 - ldrh r0, [r1, 0x4] - bl IndexOfSpritePaletteTag - adds r0, 0x10 - lsls r0, 24 - lsrs r0, 24 - bl sub_807B084 - ldr r0, _08083A44 @ =0x0000ffff - cmp r4, r0 - beq _08083A48 - lsls r0, r4, 24 - lsrs r0, 24 - b _08083A4A - .align 2, 0 -_08083A44: .4byte 0x0000ffff -_08083A48: - movs r0, 0x40 -_08083A4A: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80839D4 - - thumb_func_start sub_8083A5C -sub_8083A5C: @ 8083A5C - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - bl sub_807B0B4 - ldrb r0, [r4, 0x1] - lsls r0, 30 - cmp r0, 0 - beq _08083A7A - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix -_08083A7A: - adds r0, r5, 0 - bl FreeAndDestroyMonPicSprite - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8083A5C - - thumb_func_start MultiplyInvertedPaletteRGBComponents -MultiplyInvertedPaletteRGBComponents: @ 8083A88 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 16 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r4, _08083B0C @ =gPlttBufferUnfaded - lsrs r0, 15 - adds r4, r0, r4 - ldrh r4, [r4] - movs r5, 0x1F - mov r9, r5 - mov r8, r4 - mov r6, r8 - ands r6, r5 - mov r8, r6 - movs r6, 0xF8 - lsls r6, 2 - ands r6, r4 - lsrs r6, 5 - movs r5, 0xF8 - lsls r5, 7 - ands r4, r5 - lsrs r4, 10 - mov r7, r9 - mov r5, r8 - subs r7, r5 - mov r12, r7 - mov r7, r12 - muls r7, r1 - adds r1, r7, 0 - asrs r1, 4 - add r8, r1 - mov r5, r9 - subs r1, r5, r6 - muls r1, r2 - asrs r1, 4 - adds r6, r1 - subs r5, r4 - mov r9, r5 - mov r1, r9 - muls r1, r3 - asrs r1, 4 - adds r4, r1 - mov r7, r8 - lsls r7, 16 - lsls r6, 21 - orrs r6, r7 - lsls r4, 26 - orrs r4, r6 - lsrs r4, 16 - ldr r1, _08083B10 @ =gPlttBufferFaded - adds r0, r1 - strh r4, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08083B0C: .4byte gPlttBufferUnfaded -_08083B10: .4byte gPlttBufferFaded - thumb_func_end MultiplyInvertedPaletteRGBComponents - - thumb_func_start MultiplyPaletteRGBComponents -MultiplyPaletteRGBComponents: @ 8083B14 - push {r4-r6,lr} - mov r6, r8 - push {r6} - lsls r0, 16 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r4, _08083B84 @ =gPlttBufferUnfaded - lsrs r0, 15 - adds r4, r0, r4 - ldrh r4, [r4] - movs r5, 0x1F - mov r8, r5 - mov r6, r8 - ands r6, r4 - mov r8, r6 - movs r5, 0xF8 - lsls r5, 2 - ands r5, r4 - lsrs r5, 5 - movs r6, 0xF8 - lsls r6, 7 - ands r4, r6 - lsrs r4, 10 - mov r6, r8 - muls r6, r1 - adds r1, r6, 0 - asrs r1, 4 - mov r6, r8 - subs r6, r1 - adds r1, r5, 0 - muls r1, r2 - asrs r1, 4 - subs r5, r1 - adds r1, r4, 0 - muls r1, r3 - asrs r1, 4 - subs r4, r1 - lsls r6, 16 - lsls r5, 21 - orrs r5, r6 - lsls r4, 26 - orrs r4, r5 - lsrs r4, 16 - ldr r1, _08083B88 @ =gPlttBufferFaded - adds r0, r1 - strh r4, [r0] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08083B84: .4byte gPlttBufferUnfaded -_08083B88: .4byte gPlttBufferFaded - thumb_func_end MultiplyPaletteRGBComponents - - thumb_func_start sub_8083B8C -sub_8083B8C: @ 8083B8C - push {r4,lr} - bl CalculatePlayerPartyCount - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08083BC8 @ =sub_8083BD0 - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08083BCC @ =gTasks - adds r1, r0 - strh r4, [r1, 0xA] - movs r0, 0x5D - strh r0, [r1, 0xC] - movs r0, 0x24 - strh r0, [r1, 0xE] - movs r0, 0x80 - strh r0, [r1, 0x10] - movs r0, 0x18 - strh r0, [r1, 0x12] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08083BC8: .4byte sub_8083BD0 -_08083BCC: .4byte gTasks - thumb_func_end sub_8083B8C - - thumb_func_start sub_8083BD0 -sub_8083BD0: @ 8083BD0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08083BF8 @ =gTasks - adds r1, r0 - ldr r2, _08083BFC @ =gUnknown_83CBFD0 - movs r3, 0x8 - ldrsh r0, [r1, r3] - lsls r0, 2 - adds r0, r2 - ldr r2, [r0] - adds r0, r1, 0 - bl _call_via_r2 - pop {r0} - bx r0 - .align 2, 0 -_08083BF8: .4byte gTasks -_08083BFC: .4byte gUnknown_83CBFD0 - thumb_func_end sub_8083BD0 - - thumb_func_start PokecenterHealEffect_0 -PokecenterHealEffect_0: @ 8083C00 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r2, 0xC - ldrsh r1, [r4, r2] - movs r3, 0xE - ldrsh r2, [r4, r3] - movs r3, 0x1 - bl sub_8083E14 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x14] - movs r1, 0x10 - ldrsh r0, [r4, r1] - movs r2, 0x12 - ldrsh r1, [r4, r2] - bl PokecenterHealEffectHelper - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x16] - pop {r4} - pop {r0} - bx r0 - thumb_func_end PokecenterHealEffect_0 - - thumb_func_start PokecenterHealEffect_1 -PokecenterHealEffect_1: @ 8083C3C - push {r4,lr} - adds r2, r0, 0 - ldr r3, _08083C74 @ =gSprites - movs r1, 0x14 - ldrsh r0, [r2, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - movs r4, 0x2E - ldrsh r0, [r1, r4] - cmp r0, 0x1 - ble _08083C6E - movs r0, 0x16 - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x2E] - adds r1, 0x1 - strh r1, [r0, 0x2E] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] -_08083C6E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08083C74: .4byte gSprites - thumb_func_end PokecenterHealEffect_1 - - thumb_func_start sub_8083C78 -sub_8083C78: @ 8083C78 - push {lr} - adds r3, r0, 0 - ldr r2, _08083C9C @ =gSprites - movs r0, 0x14 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x2E - ldrsh r0, [r0, r1] - cmp r0, 0x4 - ble _08083C98 - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_08083C98: - pop {r0} - bx r0 - .align 2, 0 -_08083C9C: .4byte gSprites - thumb_func_end sub_8083C78 - - thumb_func_start PokecenterHealEffect_3 -PokecenterHealEffect_3: @ 8083CA0 - push {lr} - ldr r2, _08083CD8 @ =gSprites - movs r3, 0x14 - ldrsh r1, [r0, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0x6 - ble _08083CD2 - adds r0, r1, 0 - bl DestroySprite - movs r0, 0x19 - bl FieldEffectActiveListRemove - ldr r0, _08083CDC @ =sub_8083BD0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08083CD2: - pop {r0} - bx r0 - .align 2, 0 -_08083CD8: .4byte gSprites -_08083CDC: .4byte sub_8083BD0 - thumb_func_end PokecenterHealEffect_3 - - thumb_func_start sub_8083CE0 -sub_8083CE0: @ 8083CE0 - push {r4,lr} - bl CalculatePlayerPartyCount - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08083D14 @ =sub_8083D1C - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08083D18 @ =gTasks - adds r1, r0 - strh r4, [r1, 0xA] - movs r0, 0x75 - strh r0, [r1, 0xC] - movs r0, 0x3C - strh r0, [r1, 0xE] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08083D14: .4byte sub_8083D1C -_08083D18: .4byte gTasks - thumb_func_end sub_8083CE0 - - thumb_func_start sub_8083D1C -sub_8083D1C: @ 8083D1C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08083D44 @ =gTasks - adds r1, r0 - ldr r2, _08083D48 @ =gUnknown_83CBFE0 - movs r3, 0x8 - ldrsh r0, [r1, r3] - lsls r0, 2 - adds r0, r2 - ldr r2, [r0] - adds r0, r1, 0 - bl _call_via_r2 - pop {r0} - bx r0 - .align 2, 0 -_08083D44: .4byte gTasks -_08083D48: .4byte gUnknown_83CBFE0 - thumb_func_end sub_8083D1C - - thumb_func_start HallOfFameRecordEffect_0 -HallOfFameRecordEffect_0: @ 8083D4C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r2, 0xC - ldrsh r1, [r4, r2] - movs r3, 0xE - ldrsh r2, [r4, r3] - movs r3, 0 - bl sub_8083E14 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x14] - pop {r4} - pop {r0} - bx r0 - thumb_func_end HallOfFameRecordEffect_0 - - thumb_func_start sub_8083D74 -sub_8083D74: @ 8083D74 - push {r4,lr} - adds r4, r0, 0 - ldr r2, _08083DA8 @ =gSprites - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x2E - ldrsh r0, [r0, r1] - cmp r0, 0x1 - ble _08083DA2 - movs r0, 0x78 - movs r1, 0x19 - bl sub_808428C - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08083DA2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08083DA8: .4byte gSprites - thumb_func_end sub_8083D74 - - thumb_func_start sub_8083DAC -sub_8083DAC: @ 8083DAC - push {lr} - adds r3, r0, 0 - ldr r2, _08083DD0 @ =gSprites - movs r0, 0x14 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x2E - ldrsh r0, [r0, r1] - cmp r0, 0x4 - ble _08083DCC - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_08083DCC: - pop {r0} - bx r0 - .align 2, 0 -_08083DD0: .4byte gSprites - thumb_func_end sub_8083DAC - - thumb_func_start sub_8083DD4 -sub_8083DD4: @ 8083DD4 - push {lr} - ldr r2, _08083E0C @ =gSprites - movs r3, 0x14 - ldrsh r1, [r0, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0x6 - ble _08083E06 - adds r0, r1, 0 - bl DestroySprite - movs r0, 0x3E - bl FieldEffectActiveListRemove - ldr r0, _08083E10 @ =sub_8083D1C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08083E06: - pop {r0} - bx r0 - .align 2, 0 -_08083E0C: .4byte gSprites -_08083E10: .4byte sub_8083D1C - thumb_func_end sub_8083DD4 - - thumb_func_start sub_8083E14 -sub_8083E14: @ 8083E14 - push {r4-r6,lr} - mov r6, r8 - push {r6} - mov r8, r0 - adds r4, r1, 0 - adds r5, r2, 0 - adds r6, r3, 0 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 16 - lsrs r6, 16 - ldr r0, _08083E68 @ =sub_8083E70 - bl CreateInvisibleSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r2, _08083E6C @ =gSprites - adds r1, r2 - strh r4, [r1, 0x24] - strh r5, [r1, 0x26] - adds r3, r1, 0 - adds r3, 0x43 - movs r2, 0xFF - strb r2, [r3] - strh r6, [r1, 0x38] - mov r2, r8 - strh r2, [r1, 0x3A] - strh r0, [r1, 0x3C] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08083E68: .4byte sub_8083E70 -_08083E6C: .4byte gSprites - thumb_func_end sub_8083E14 - - thumb_func_start sub_8083E70 -sub_8083E70: @ 8083E70 - push {lr} - ldr r2, _08083E88 @ =gUnknown_83CBFF0 - movs r3, 0x2E - ldrsh r1, [r0, r3] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08083E88: .4byte gUnknown_83CBFF0 - thumb_func_end sub_8083E70 - - thumb_func_start PokeballGlowEffect_0 -PokeballGlowEffect_0: @ 8083E8C - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08083EA4 - subs r0, r1, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _08083F00 -_08083EA4: - movs r0, 0x19 - strh r0, [r4, 0x30] - ldr r0, _08083F18 @ =gUnknown_83CBF88 - ldr r1, _08083F1C @ =gUnknown_83CC010 - movs r2, 0x32 - ldrsh r3, [r4, r2] - lsls r3, 2 - adds r3, r1 - ldrh r1, [r4, 0x24] - ldrh r2, [r3] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - ldrh r2, [r4, 0x26] - ldrh r3, [r3, 0x2] - adds r2, r3 - lsls r2, 16 - asrs r2, 16 - movs r3, 0xFF - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08083F20 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r2, 0x8 - orrs r0, r2 - strb r0, [r1, 0x5] - ldrh r0, [r4, 0x3C] - strh r0, [r1, 0x2E] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x3A] - subs r0, 0x1 - strh r0, [r4, 0x3A] - movs r0, 0x17 - bl PlaySE -_08083F00: - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08083F12 - movs r0, 0x20 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_08083F12: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08083F18: .4byte gUnknown_83CBF88 -_08083F1C: .4byte gUnknown_83CC010 -_08083F20: .4byte gSprites - thumb_func_end PokeballGlowEffect_0 - - thumb_func_start PokeballGlowEffect_1 -PokeballGlowEffect_1: @ 8083F24 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - subs r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - bne _08083F54 - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - movs r0, 0x8 - strh r0, [r1, 0x30] - strh r2, [r1, 0x32] - strh r2, [r1, 0x34] - movs r2, 0x38 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _08083F54 - movs r0, 0x80 - lsls r0, 1 - bl PlayFanfare -_08083F54: - pop {r0} - bx r0 - thumb_func_end PokeballGlowEffect_1 - - thumb_func_start PokeballGlowEffect_2 -PokeballGlowEffect_2: @ 8083F58 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r7, r0, 0 - ldrh r0, [r7, 0x30] - subs r0, 0x1 - strh r0, [r7, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _08083F88 - movs r0, 0x8 - strh r0, [r7, 0x30] - ldrh r0, [r7, 0x32] - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - strh r0, [r7, 0x32] - cmp r0, 0 - bne _08083F88 - ldrh r0, [r7, 0x34] - adds r0, 0x1 - strh r0, [r7, 0x34] -_08083F88: - ldrh r4, [r7, 0x32] - adds r4, 0x3 - movs r0, 0x3 - mov r8, r0 - mov r1, r8 - ands r4, r1 - ldr r3, _08084080 @ =0x00001007 - mov r10, r3 - mov r0, r10 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - movs r1, 0x84 - lsls r1, 17 - adds r0, r1 - lsrs r0, 16 - ldr r6, _08084084 @ =gUnknown_83CC028 - adds r1, r4, r6 - ldrb r1, [r1] - ldr r5, _08084088 @ =gUnknown_83CC02C - adds r2, r4, r5 - ldrb r2, [r2] - ldr r3, _0808408C @ =gUnknown_83CC030 - mov r9, r3 - add r4, r9 - ldrb r3, [r4] - bl MultiplyInvertedPaletteRGBComponents - ldrh r4, [r7, 0x32] - adds r4, 0x2 - mov r0, r8 - ands r4, r0 - mov r0, r10 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - movs r1, 0x83 - lsls r1, 17 - adds r0, r1 - lsrs r0, 16 - adds r1, r4, r6 - ldrb r1, [r1] - adds r2, r4, r5 - ldrb r2, [r2] - add r4, r9 - ldrb r3, [r4] - bl MultiplyInvertedPaletteRGBComponents - ldrh r4, [r7, 0x32] - adds r4, 0x1 - mov r3, r8 - ands r4, r3 - mov r0, r10 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - movs r1, 0x81 - lsls r1, 17 - adds r0, r1 - lsrs r0, 16 - adds r1, r4, r6 - ldrb r1, [r1] - adds r2, r4, r5 - ldrb r2, [r2] - add r4, r9 - ldrb r3, [r4] - bl MultiplyInvertedPaletteRGBComponents - ldrh r4, [r7, 0x32] - lsls r4, 24 - lsrs r4, 24 - mov r0, r10 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - ldr r3, _08084090 @ =0x01050000 - adds r0, r3 - lsrs r0, 16 - adds r6, r4, r6 - ldrb r6, [r6] - adds r5, r4, r5 - ldrb r5, [r5] - add r4, r9 - ldrb r4, [r4] - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl MultiplyInvertedPaletteRGBComponents - mov r0, r10 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - ldr r1, _08084094 @ =0x01030000 - adds r0, r1 - lsrs r0, 16 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl MultiplyInvertedPaletteRGBComponents - movs r3, 0x34 - ldrsh r0, [r7, r3] - cmp r0, 0x2 - ble _08084072 - ldrh r0, [r7, 0x2E] - adds r0, 0x1 - movs r1, 0 - strh r0, [r7, 0x2E] - movs r0, 0x8 - strh r0, [r7, 0x30] - strh r1, [r7, 0x32] -_08084072: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08084080: .4byte 0x00001007 -_08084084: .4byte gUnknown_83CC028 -_08084088: .4byte gUnknown_83CC02C -_0808408C: .4byte gUnknown_83CC030 -_08084090: .4byte 0x01050000 -_08084094: .4byte 0x01030000 - thumb_func_end PokeballGlowEffect_2 - - thumb_func_start PokeballGlowEffect_3 -PokeballGlowEffect_3: @ 8084098 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r2, r0, 0 - ldrh r0, [r2, 0x30] - subs r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _080840C8 - movs r0, 0x8 - strh r0, [r2, 0x30] - ldrh r0, [r2, 0x32] - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - strh r0, [r2, 0x32] - cmp r0, 0x3 - bne _080840C8 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - movs r0, 0x1E - strh r0, [r2, 0x30] -_080840C8: - ldrh r4, [r2, 0x32] - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08084174 @ =0x00001007 - mov r8, r0 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - movs r1, 0x84 - lsls r1, 17 - adds r0, r1 - lsrs r0, 16 - ldr r1, _08084178 @ =gUnknown_83CC028 - adds r1, r4, r1 - ldrb r6, [r1] - ldr r1, _0808417C @ =gUnknown_83CC02C - adds r1, r4, r1 - ldrb r5, [r1] - ldr r1, _08084180 @ =gUnknown_83CC030 - adds r4, r1 - ldrb r4, [r4] - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl MultiplyInvertedPaletteRGBComponents - mov r0, r8 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - movs r1, 0x83 - lsls r1, 17 - adds r0, r1 - lsrs r0, 16 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl MultiplyInvertedPaletteRGBComponents - mov r0, r8 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - movs r1, 0x81 - lsls r1, 17 - adds r0, r1 - lsrs r0, 16 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl MultiplyInvertedPaletteRGBComponents - mov r0, r8 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - ldr r1, _08084184 @ =0x01050000 - adds r0, r1 - lsrs r0, 16 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl MultiplyInvertedPaletteRGBComponents - mov r0, r8 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - ldr r1, _08084188 @ =0x01030000 - adds r0, r1 - lsrs r0, 16 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r4, 0 - bl MultiplyInvertedPaletteRGBComponents - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08084174: .4byte 0x00001007 -_08084178: .4byte gUnknown_83CC028 -_0808417C: .4byte gUnknown_83CC02C -_08084180: .4byte gUnknown_83CC030 -_08084184: .4byte 0x01050000 -_08084188: .4byte 0x01030000 - thumb_func_end PokeballGlowEffect_3 - - thumb_func_start PokeballGlowEffect_4 -PokeballGlowEffect_4: @ 808418C - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - subs r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _080841A2 - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] -_080841A2: - pop {r0} - bx r0 - thumb_func_end PokeballGlowEffect_4 - - thumb_func_start PokeballGlowEffect_5 -PokeballGlowEffect_5: @ 80841A8 - ldrh r1, [r0, 0x2E] - adds r1, 0x1 - strh r1, [r0, 0x2E] - bx lr - thumb_func_end PokeballGlowEffect_5 - - thumb_func_start PokeballGlowEffect_6 -PokeballGlowEffect_6: @ 80841B0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080841C6 - bl IsFanfareTaskInactive - lsls r0, 24 - cmp r0, 0 - beq _080841CC -_080841C6: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_080841CC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end PokeballGlowEffect_6 - - thumb_func_start nullsub_50 -nullsub_50: @ 80841D4 - bx lr - thumb_func_end nullsub_50 - - thumb_func_start SpriteCB_PokeballGlow -SpriteCB_PokeballGlow: @ 80841D8 - push {lr} - adds r3, r0, 0 - ldr r2, _080841FC @ =gSprites - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x2E - ldrsh r0, [r0, r1] - cmp r0, 0x4 - ble _080841F8 - adds r0, r3, 0 - bl FieldEffectFreeGraphicsResources -_080841F8: - pop {r0} - bx r0 - .align 2, 0 -_080841FC: .4byte gSprites - thumb_func_end SpriteCB_PokeballGlow - - thumb_func_start PokecenterHealEffectHelper -PokecenterHealEffectHelper: @ 8084200 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - ldr r0, _08084244 @ =gUnknown_83CBFA0 - lsls r3, 16 - asrs r3, 16 - lsls r2, 16 - asrs r2, 16 - adds r1, r3, 0 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r1, _08084248 @ =gSprites - adds r2, r1 - ldrb r3, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - movs r3, 0x8 - orrs r1, r3 - strb r1, [r2, 0x5] - adds r2, 0x3E - ldrb r1, [r2] - movs r3, 0x4 - orrs r1, r3 - strb r1, [r2] - pop {r1} - bx r1 - .align 2, 0 -_08084244: .4byte gUnknown_83CBFA0 -_08084248: .4byte gSprites - thumb_func_end PokecenterHealEffectHelper - - thumb_func_start sub_808424C -sub_808424C: @ 808424C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08084270 - movs r0, 0 - strh r0, [r4, 0x2E] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - subs r0, 0x5 - ands r0, r1 - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim -_08084270: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08084284 - adds r0, r4, 0 - bl FieldEffectFreeGraphicsResources -_08084284: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_808424C - - thumb_func_start sub_808428C -sub_808428C: @ 808428C - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - ldr r0, _080842A8 @ =gUnknown_83CBFB8 - lsls r3, 16 - asrs r3, 16 - lsls r2, 16 - asrs r2, 16 - adds r1, r3, 0 - movs r3, 0 - bl CreateSpriteAtEnd - pop {r0} - bx r0 - .align 2, 0 -_080842A8: .4byte gUnknown_83CBFB8 - thumb_func_end sub_808428C - - thumb_func_start sub_80842AC -sub_80842AC: @ 80842AC - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080842C2 - adds r0, r2, 0 - bl FieldEffectFreeGraphicsResources -_080842C2: - pop {r0} - bx r0 - thumb_func_end sub_80842AC - - thumb_func_start sub_80842C8 -sub_80842C8: @ 80842C8 - push {lr} - ldr r0, _080842DC @ =CB2_ReturnToField - bl SetMainCallback2 - ldr r1, _080842E0 @ =gFieldCallback - ldr r0, _080842E4 @ =mapldr_080842E8 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080842DC: .4byte CB2_ReturnToField -_080842E0: .4byte gFieldCallback -_080842E4: .4byte mapldr_080842E8 - thumb_func_end sub_80842C8 - - thumb_func_start mapldr_080842E8 -mapldr_080842E8: @ 80842E8 - push {lr} - bl sub_807DC00 - ldr r0, _08084308 @ =task00_8084310 - movs r1, 0 - bl CreateTask - bl ScriptContext2_Enable - bl FreezeObjectEvents - ldr r1, _0808430C @ =gFieldCallback - movs r0, 0 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08084308: .4byte task00_8084310 -_0808430C: .4byte gFieldCallback - thumb_func_end mapldr_080842E8 - - thumb_func_start task00_8084310 -task00_8084310: @ 8084310 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0808437C @ =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r6, [r4, r0] - cmp r6, 0 - bne _08084350 - bl IsWeatherNotFadingIn - lsls r0, 24 - cmp r0, 0 - beq _08084376 - bl GetCursorSelectionMonId - ldr r1, _08084380 @ =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - cmp r0, 0x5 - ble _08084344 - str r6, [r1] -_08084344: - movs r0, 0x1F - bl FieldEffectStart - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08084350: - movs r0, 0x1F - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _08084376 - bl sub_8054CA0 - bl WarpIntoMap - ldr r0, _08084384 @ =CB2_LoadMap - bl SetMainCallback2 - ldr r1, _08084388 @ =gFieldCallback - ldr r0, _0808438C @ =mapldr_08084390 - str r0, [r1] - adds r0, r5, 0 - bl DestroyTask -_08084376: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0808437C: .4byte gTasks -_08084380: .4byte gFieldEffectArguments -_08084384: .4byte CB2_LoadMap -_08084388: .4byte gFieldCallback -_0808438C: .4byte mapldr_08084390 - thumb_func_end task00_8084310 - - thumb_func_start mapldr_08084390 -mapldr_08084390: @ 8084390 - push {r4,lr} - bl Overworld_PlaySpecialMapMusic - bl sub_807DC00 - ldr r0, _080843E8 @ =c3_080843F8 - movs r1, 0 - bl CreateTask - ldr r4, _080843EC @ =gObjectEvents - ldr r3, _080843F0 @ =gPlayerAvatar - ldrb r1, [r3, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x1] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0, 0x1] - ldrb r1, [r3] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080843D2 - ldrb r1, [r3, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x3 - bl ObjectEventTurn -_080843D2: - bl ScriptContext2_Enable - bl FreezeObjectEvents - ldr r1, _080843F4 @ =gFieldCallback - movs r0, 0 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080843E8: .4byte c3_080843F8 -_080843EC: .4byte gObjectEvents -_080843F0: .4byte gPlayerAvatar -_080843F4: .4byte gFieldCallback - thumb_func_end mapldr_08084390 - - thumb_func_start c3_080843F8 -c3_080843F8: @ 80843F8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0808444C @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0808442A - ldr r0, _08084450 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08084444 - movs r0, 0x20 - bl FieldEffectStart - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0808442A: - movs r0, 0x20 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _08084444 - bl ScriptContext2_Disable - bl UnfreezeObjectEvents - adds r0, r5, 0 - bl DestroyTask -_08084444: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808444C: .4byte gTasks -_08084450: .4byte gPaletteFade - thumb_func_end c3_080843F8 - - thumb_func_start sub_8084454 -sub_8084454: @ 8084454 - push {lr} - bl Overworld_PlaySpecialMapMusic - bl pal_fill_for_maplights - bl sub_8111CF0 - bl ScriptContext2_Enable - bl FreezeObjectEvents - ldr r0, _0808447C @ =sub_8084484 - movs r1, 0 - bl CreateTask - ldr r1, _08084480 @ =gFieldCallback - movs r0, 0 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0808447C: .4byte sub_8084484 -_08084480: .4byte gFieldCallback - thumb_func_end sub_8084454 - - thumb_func_start sub_8084484 -sub_8084484: @ 8084484 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080844B4 @ =gTasks - adds r4, r1, r0 - ldr r5, _080844B8 @ =gUnknown_83CC034 -_08084496: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08084496 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080844B4: .4byte gTasks -_080844B8: .4byte gUnknown_83CC034 - thumb_func_end sub_8084484 - - thumb_func_start sub_80844BC -sub_80844BC: @ 80844BC - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - mov r9, r0 - ldr r6, _08084558 @ =gPlayerAvatar - ldrb r0, [r6, 0x5] - lsls r5, r0, 3 - adds r5, r0 - lsls r5, 2 - ldr r0, _0808455C @ =gObjectEvents - mov r8, r0 - add r5, r8 - ldrb r0, [r6, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _08084560 @ =gSprites - adds r4, r0 - bl CameraObjectReset2 - ldrb r1, [r6, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldrb r1, [r0, 0x1] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0, 0x1] - movs r0, 0x1 - strb r0, [r6, 0x6] - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - bl GetFaceDirectionMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl ObjectEventSetHeldMovement - adds r3, r4, 0 - adds r3, 0x42 - ldrb r0, [r3] - lsrs r0, 6 - mov r1, r9 - strh r0, [r1, 0x10] - ldrb r0, [r5, 0x3] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r5, 0x3] - ldrb r1, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x5] - ldrb r1, [r3] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r3] - mov r1, r9 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0x1 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08084558: .4byte gPlayerAvatar -_0808455C: .4byte gObjectEvents -_08084560: .4byte gSprites - thumb_func_end sub_80844BC - - thumb_func_start sub_8084564 -sub_8084564: @ 8084564 - push {r4,lr} - adds r4, r0, 0 - bl IsWeatherNotFadingIn - lsls r0, 24 - cmp r0, 0 - beq _08084578 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08084578: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8084564 - - thumb_func_start sub_8084580 -sub_8084580: @ 8084580 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, _080845E4 @ =gPlayerAvatar - ldrb r0, [r6, 0x4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080845E8 @ =gSprites - adds r2, r0 - adds r0, r2, 0 - adds r0, 0x29 - movs r4, 0 - ldrsb r4, [r0, r4] - lsls r0, r4, 17 - negs r0, r0 - ldrh r1, [r2, 0x22] - ldr r3, _080845EC @ =gSpriteCoordOffsetY - adds r1, r4 - ldrh r3, [r3] - adds r1, r3 - asrs r0, 16 - adds r0, r1 - negs r0, r0 - movs r1, 0 - strh r0, [r2, 0x26] - movs r0, 0x1 - strh r0, [r5, 0xA] - strh r1, [r5, 0xC] - ldr r2, _080845F0 @ =gObjectEvents - ldrb r0, [r6, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x1] - movs r0, 0x25 - bl PlaySE - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080845E4: .4byte gPlayerAvatar -_080845E8: .4byte gSprites -_080845EC: .4byte gSpriteCoordOffsetY -_080845F0: .4byte gObjectEvents - thumb_func_end sub_8084580 - - thumb_func_start sub_80845F4 -sub_80845F4: @ 80845F4 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r2, _080846A0 @ =gPlayerAvatar - ldrb r1, [r2, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080846A4 @ =gObjectEvents - adds r6, r0, r1 - ldrb r1, [r2, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080846A8 @ =gSprites - adds r5, r0, r1 - ldrh r0, [r4, 0xA] - ldrh r1, [r5, 0x26] - adds r0, r1 - strh r0, [r5, 0x26] - ldrh r2, [r4, 0xA] - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x7 - bgt _08084636 - ldrh r1, [r4, 0xC] - adds r0, r2, r1 - strh r0, [r4, 0xC] - movs r1, 0xF - ands r0, r1 - cmp r0, 0 - beq _08084636 - lsls r0, r2, 1 - strh r0, [r4, 0xA] -_08084636: - ldrh r2, [r4, 0xE] - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08084674 - movs r0, 0x26 - ldrsh r1, [r5, r0] - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - blt _08084674 - adds r0, r2, 0x1 - strh r0, [r4, 0xE] - ldrb r1, [r6, 0x3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r6, 0x3] - ldrb r1, [r4, 0x10] - adds r3, r5, 0 - adds r3, 0x42 - lsls r1, 6 - ldrb r2, [r3] - movs r0, 0x3F - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrb r0, [r6] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r6] -_08084674: - movs r1, 0x26 - ldrsh r0, [r5, r1] - cmp r0, 0 - blt _08084698 - movs r0, 0xCF - bl PlaySE - ldrb r0, [r6] - movs r1, 0x8 - orrs r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r6] - movs r0, 0 - strh r0, [r5, 0x26] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08084698: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080846A0: .4byte gPlayerAvatar -_080846A4: .4byte gObjectEvents -_080846A8: .4byte gSprites - thumb_func_end sub_80845F4 - - thumb_func_start sub_80846AC -sub_80846AC: @ 80846AC - push {lr} - ldrh r1, [r0, 0x8] - adds r1, 0x1 - movs r2, 0 - strh r1, [r0, 0x8] - movs r1, 0x4 - strh r1, [r0, 0xA] - strh r2, [r0, 0xC] - movs r0, 0 - bl SetCameraPanningCallback - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_80846AC - - thumb_func_start sub_80846C8 -sub_80846C8: @ 80846C8 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0 - bl SetCameraPanning - ldrh r0, [r4, 0xA] - negs r2, r0 - strh r2, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _080846F0 - lsls r0, r2, 16 - asrs r0, 17 - strh r0, [r4, 0xA] -_080846F0: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080846FE - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080846FE: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80846C8 - - thumb_func_start sub_8084708 -sub_8084708: @ 8084708 - push {r4,lr} - sub sp, 0x4 - ldr r1, _08084778 @ =gPlayerAvatar - movs r0, 0 - strb r0, [r1, 0x6] - bl ScriptContext2_Disable - bl CameraObjectReset1 - bl UnfreezeObjectEvents - bl InstallCameraPanAheadCallback - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 16 - lsrs r0, 16 - bl sub_8055B38 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08084760 - ldr r0, _0808477C @ =0x00004001 - movs r1, 0x1 - bl VarSet - movs r0, 0x8 - bl SetPlayerAvatarTransitionFlags - movs r0, 0x16 - bl HelpSystem_SetSomeVariable2 -_08084760: - ldr r0, _08084780 @ =sub_8084484 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08084778: .4byte gPlayerAvatar -_0808477C: .4byte 0x00004001 -_08084780: .4byte sub_8084484 - thumb_func_end sub_8084708 - - thumb_func_start sub_8084784 -sub_8084784: @ 8084784 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _080847B8 @ =sub_80847C0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080847BC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0xA] - cmp r4, 0x6A - bne _080847B0 - movs r0, 0x1 - strh r0, [r1, 0xA] -_080847B0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080847B8: .4byte sub_80847C0 -_080847BC: .4byte gTasks - thumb_func_end sub_8084784 - - thumb_func_start sub_80847C0 -sub_80847C0: @ 80847C0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080847F0 @ =gTasks - adds r4, r1, r0 - ldr r5, _080847F4 @ =gUnknown_83CC050 -_080847D2: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080847D2 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080847F0: .4byte gTasks -_080847F4: .4byte gUnknown_83CC050 - thumb_func_end sub_80847C0 - - thumb_func_start sub_80847F8 -sub_80847F8: @ 80847F8 - push {r4,lr} - adds r4, r0, 0 - bl FreezeObjectEvents - bl CameraObjectReset2 - ldrb r0, [r4, 0xA] - bl sub_809C448 - movs r0, 0x1 - bl sub_81128BC - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80847F8 - - thumb_func_start sub_8084820 -sub_8084820: @ 8084820 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _08084888 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0808488C @ =gObjectEvents - adds r4, r0, r1 - adds r0, r4, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _0808484A - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _0808487E -_0808484A: - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - bl GetFaceDirectionMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x8] - adds r0, 0x1 - movs r1, 0 - strh r0, [r5, 0x8] - strh r1, [r5, 0xC] - strh r1, [r5, 0xE] - ldrb r0, [r5, 0xA] - cmp r0, 0 - bne _08084878 - movs r0, 0x4 - strh r0, [r5, 0x8] -_08084878: - movs r0, 0x49 - bl PlaySE -_0808487E: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08084888: .4byte gPlayerAvatar -_0808488C: .4byte gObjectEvents - thumb_func_end sub_8084820 - - thumb_func_start sub_8084890 -sub_8084890: @ 8084890 - push {r4,lr} - adds r4, r0, 0 - bl sub_80848F8 - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x3 - ble _080848AA - bl sub_8084990 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080848AA: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8084890 - - thumb_func_start sub_80848B4 -sub_80848B4: @ 80848B4 - push {lr} - bl sub_80848F8 - bl sub_80849A0 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_80848B4 - - thumb_func_start sub_80848C4 -sub_80848C4: @ 80848C4 - push {r4,lr} - adds r4, r0, 0 - bl sub_8084944 - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x3 - ble _080848DE - bl sub_8084990 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080848DE: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80848C4 - - thumb_func_start sub_80848E8 -sub_80848E8: @ 80848E8 - push {lr} - bl sub_8084944 - bl sub_80849A0 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_80848E8 - - thumb_func_start sub_80848F8 -sub_80848F8: @ 80848F8 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _0808493C @ =gPlayerAvatar - ldrb r0, [r0, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _08084940 @ =gSprites - adds r4, r0 - movs r0, 0xC - ldrsh r1, [r5, r0] - movs r0, 0x84 - bl Cos - strh r0, [r4, 0x24] - movs r0, 0xC - ldrsh r1, [r5, r0] - movs r0, 0x94 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r5, 0xE] - adds r0, 0x1 - strh r0, [r5, 0xE] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08084936 - ldrh r0, [r5, 0xC] - adds r0, 0x1 - strh r0, [r5, 0xC] -_08084936: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808493C: .4byte gPlayerAvatar -_08084940: .4byte gSprites - thumb_func_end sub_80848F8 - - thumb_func_start sub_8084944 -sub_8084944: @ 8084944 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _08084988 @ =gPlayerAvatar - ldrb r0, [r0, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _0808498C @ =gSprites - adds r4, r0 - movs r0, 0xC - ldrsh r1, [r5, r0] - movs r0, 0x7C - bl Cos - strh r0, [r4, 0x24] - movs r0, 0xC - ldrsh r1, [r5, r0] - movs r0, 0x76 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r5, 0xE] - adds r0, 0x1 - strh r0, [r5, 0xE] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08084982 - ldrh r0, [r5, 0xC] - adds r0, 0x1 - strh r0, [r5, 0xC] -_08084982: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08084988: .4byte gPlayerAvatar -_0808498C: .4byte gSprites - thumb_func_end sub_8084944 - - thumb_func_start sub_8084990 -sub_8084990: @ 8084990 - push {lr} - bl sub_8055F88 - bl sub_807DC18 - pop {r0} - bx r0 - thumb_func_end sub_8084990 - - thumb_func_start sub_80849A0 -sub_80849A0: @ 80849A0 - push {lr} - ldr r0, _080849E0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080849DC - bl BGMusicStopped - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080849DC - bl sub_809C460 - bl WarpIntoMap - ldr r1, _080849E4 @ =gFieldCallback - ldr r0, _080849E8 @ =sub_80849F4 - str r0, [r1] - ldr r0, _080849EC @ =CB2_LoadMap - bl SetMainCallback2 - ldr r0, _080849F0 @ =sub_80847C0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080849DC: - pop {r0} - bx r0 - .align 2, 0 -_080849E0: .4byte gPaletteFade -_080849E4: .4byte gFieldCallback -_080849E8: .4byte sub_80849F4 -_080849EC: .4byte CB2_LoadMap -_080849F0: .4byte sub_80847C0 - thumb_func_end sub_80849A0 - - thumb_func_start sub_80849F4 -sub_80849F4: @ 80849F4 - push {lr} - bl Overworld_PlaySpecialMapMusic - bl pal_fill_for_maplights - bl sub_8111CF0 - bl ScriptContext2_Enable - bl FreezeObjectEvents - ldr r0, _08084A1C @ =sub_8084A24 - movs r1, 0 - bl CreateTask - ldr r1, _08084A20 @ =gFieldCallback - movs r0, 0 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08084A1C: .4byte sub_8084A24 -_08084A20: .4byte gFieldCallback - thumb_func_end sub_80849F4 - - thumb_func_start sub_8084A24 -sub_8084A24: @ 8084A24 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08084A54 @ =gTasks - adds r4, r1, r0 - ldr r5, _08084A58 @ =gUnknown_83CC068 -_08084A36: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08084A36 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08084A54: .4byte gTasks -_08084A58: .4byte gUnknown_83CC068 - thumb_func_end sub_8084A24 - - thumb_func_start sub_8084A5C -sub_8084A5C: @ 8084A5C - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - bl CameraObjectReset2 - ldr r0, _08084ABC @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _08084AC0 @ =gObjectEvents - adds r4, r0 - movs r0, 0x4 - bl GetFaceDirectionMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r1, r0, 24 - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0x10 - strh r0, [r5, 0xA] - cmp r1, 0x6B - bne _08084AC4 - movs r1, 0x1 - movs r0, 0x3 - strh r0, [r5, 0x8] - b _08084AC6 - .align 2, 0 -_08084ABC: .4byte gPlayerAvatar -_08084AC0: .4byte gObjectEvents -_08084AC4: - movs r1, 0 -_08084AC6: - adds r0, r1, 0 - bl sub_809C448 - movs r0, 0x1 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8084A5C - - thumb_func_start sub_8084AD8 -sub_8084AD8: @ 8084AD8 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _08084B10 @ =gPlayerAvatar - ldrb r0, [r0, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _08084B14 @ =gSprites - adds r4, r0 - movs r0, 0xA - ldrsh r1, [r5, r0] - movs r0, 0x84 - bl Cos - strh r0, [r4, 0x24] - movs r0, 0xA - ldrsh r1, [r5, r0] - movs r0, 0x94 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08084B10: .4byte gPlayerAvatar -_08084B14: .4byte gSprites - thumb_func_end sub_8084AD8 - - thumb_func_start sub_8084B18 -sub_8084B18: @ 8084B18 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, _08084B70 @ =gPlayerAvatar - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08084B74 @ =gSprites - adds r5, r0, r1 - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0x84 - bl Cos - strh r0, [r5, 0x24] - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0x94 - bl Sin - strh r0, [r5, 0x26] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08084B56 - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] -_08084B56: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08084B66 - strh r0, [r5, 0x24] - strh r0, [r5, 0x26] - movs r0, 0x5 - strh r0, [r4, 0x8] -_08084B66: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08084B70: .4byte gPlayerAvatar -_08084B74: .4byte gSprites - thumb_func_end sub_8084B18 - - thumb_func_start sub_8084B78 -sub_8084B78: @ 8084B78 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _08084BB0 @ =gPlayerAvatar - ldrb r0, [r0, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _08084BB4 @ =gSprites - adds r4, r0 - movs r0, 0xA - ldrsh r1, [r5, r0] - movs r0, 0x7C - bl Cos - strh r0, [r4, 0x24] - movs r0, 0xA - ldrsh r1, [r5, r0] - movs r0, 0x76 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08084BB0: .4byte gPlayerAvatar -_08084BB4: .4byte gSprites - thumb_func_end sub_8084B78 - - thumb_func_start sub_8084BB8 -sub_8084BB8: @ 8084BB8 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, _08084C10 @ =gPlayerAvatar - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08084C14 @ =gSprites - adds r5, r0, r1 - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0x7C - bl Cos - strh r0, [r5, 0x24] - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0x76 - bl Sin - strh r0, [r5, 0x26] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08084BF6 - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] -_08084BF6: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08084C08 - strh r0, [r5, 0x24] - strh r0, [r5, 0x26] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08084C08: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08084C10: .4byte gPlayerAvatar -_08084C14: .4byte gSprites - thumb_func_end sub_8084BB8 - - thumb_func_start sub_8084C18 -sub_8084C18: @ 8084C18 - push {r4,lr} - adds r4, r0, 0 - bl sub_809C474 - lsls r0, 24 - cmp r0, 0 - bne _08084C34 - bl sub_809C460 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - b _08084C36 -_08084C34: - movs r0, 0 -_08084C36: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8084C18 - - thumb_func_start sub_8084C3C -sub_8084C3C: @ 8084C3C - push {r4,lr} - ldr r0, _08084C94 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08084C98 @ =gObjectEvents - adds r4, r0, r1 - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _08084C8A - bl CameraObjectReset1 - bl ScriptContext2_Disable - bl UnfreezeObjectEvents - movs r0, 0x4 - bl GetWalkNormalMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - ldr r0, _08084C9C @ =sub_8084A24 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0x2 - bl sub_81128BC -_08084C8A: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08084C94: .4byte gPlayerAvatar -_08084C98: .4byte gObjectEvents -_08084C9C: .4byte sub_8084A24 - thumb_func_end sub_8084C3C - - thumb_func_start oei_waterfall -oei_waterfall: @ 8084CA0 - push {r4,lr} - ldr r4, _08084CCC @ =sub_8084CD8 - adds r0, r4, 0 - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08084CD0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _08084CD4 @ =gFieldEffectArguments - ldr r2, [r2] - strh r2, [r1, 0xA] - bl _call_via_r4 - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08084CCC: .4byte sub_8084CD8 -_08084CD0: .4byte gTasks -_08084CD4: .4byte gFieldEffectArguments - thumb_func_end oei_waterfall - - thumb_func_start sub_8084CD8 -sub_8084CD8: @ 8084CD8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _08084D14 @ =gUnknown_83CC084 - ldr r2, _08084D18 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08084CEA: - movs r0, 0x8 - ldrsh r2, [r4, r0] - lsls r2, 2 - adds r2, r5 - ldr r0, _08084D1C @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _08084D20 @ =gObjectEvents - adds r1, r0 - ldr r2, [r2] - adds r0, r4, 0 - bl _call_via_r2 - lsls r0, 24 - cmp r0, 0 - bne _08084CEA - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08084D14: .4byte gUnknown_83CC084 -_08084D18: .4byte gTasks -_08084D1C: .4byte gPlayerAvatar -_08084D20: .4byte gObjectEvents - thumb_func_end sub_8084CD8 - - thumb_func_start sub_8084D24 -sub_8084D24: @ 8084D24 - push {r4,lr} - adds r4, r0, 0 - bl ScriptContext2_Enable - ldr r1, _08084D40 @ =gPlayerAvatar - movs r0, 0x1 - strb r0, [r1, 0x6] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08084D40: .4byte gPlayerAvatar - thumb_func_end sub_8084D24 - - thumb_func_start waterfall_1_do_anim_probably -waterfall_1_do_anim_probably: @ 8084D44 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl ScriptContext2_Enable - adds r0, r5, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - bne _08084D74 - adds r0, r5, 0 - bl ObjectEventClearHeldMovementIfFinished - ldr r1, _08084D7C @ =gFieldEffectArguments - movs r2, 0xA - ldrsh r0, [r4, r2] - str r0, [r1] - movs r0, 0x3B - bl FieldEffectStart - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08084D74: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08084D7C: .4byte gFieldEffectArguments - thumb_func_end waterfall_1_do_anim_probably - - thumb_func_start waterfall_2_wait_anim_finish_probably -waterfall_2_wait_anim_finish_probably: @ 8084D80 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _08084D9A - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - b _08084D9C -_08084D9A: - movs r0, 0 -_08084D9C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end waterfall_2_wait_anim_finish_probably - - thumb_func_start sub_8084DA4 -sub_8084DA4: @ 8084DA4 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r0, 0x2 - bl sub_8063F2C - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8084DA4 - - thumb_func_start sub_8084DCC -sub_8084DCC: @ 8084DCC - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - bne _08084DE2 - movs r0, 0 - b _08084E1E -_08084DE2: - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsWaterfall - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08084E18 - bl ScriptContext2_Disable - ldr r0, _08084E10 @ =gPlayerAvatar - strb r4, [r0, 0x6] - ldr r0, _08084E14 @ =sub_8084CD8 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0x2B - bl FieldEffectActiveListRemove - movs r0, 0 - b _08084E1E - .align 2, 0 -_08084E10: .4byte gPlayerAvatar -_08084E14: .4byte sub_8084CD8 -_08084E18: - movs r0, 0x3 - strh r0, [r5, 0x8] - movs r0, 0x1 -_08084E1E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8084DCC - - thumb_func_start FldEff_UseDive -FldEff_UseDive: @ 8084E24 - push {r4,lr} - ldr r4, _08084E54 @ =sub_8084E60 - adds r0, r4, 0 - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08084E58 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _08084E5C @ =gFieldEffectArguments - ldr r2, [r3] - strh r2, [r1, 0x26] - ldr r2, [r3, 0x4] - strh r2, [r1, 0x24] - bl _call_via_r4 - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08084E54: .4byte sub_8084E60 -_08084E58: .4byte gTasks -_08084E5C: .4byte gFieldEffectArguments - thumb_func_end FldEff_UseDive - - thumb_func_start sub_8084E60 -sub_8084E60: @ 8084E60 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _08084E90 @ =gUnknown_83CC098 - ldr r2, _08084E94 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08084E72: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _08084E72 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08084E90: .4byte gUnknown_83CC098 -_08084E94: .4byte gTasks - thumb_func_end sub_8084E60 - - thumb_func_start dive_1_lock -dive_1_lock: @ 8084E98 - ldr r2, _08084EA8 @ =gPlayerAvatar - movs r1, 0x1 - strb r1, [r2, 0x6] - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - movs r0, 0 - bx lr - .align 2, 0 -_08084EA8: .4byte gPlayerAvatar - thumb_func_end dive_1_lock - - thumb_func_start dive_2_unknown -dive_2_unknown: @ 8084EAC - push {r4,lr} - adds r4, r0, 0 - bl ScriptContext2_Enable - ldr r1, _08084ED0 @ =gFieldEffectArguments - movs r2, 0x26 - ldrsh r0, [r4, r2] - str r0, [r1] - movs r0, 0x3B - bl FieldEffectStart - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08084ED0: .4byte gFieldEffectArguments - thumb_func_end dive_2_unknown - - thumb_func_start dive_3_unknown -dive_3_unknown: @ 8084ED4 - push {lr} - sub sp, 0x8 - mov r1, sp - adds r1, 0x2 - mov r0, sp - bl PlayerGetDestCoords - movs r0, 0x6 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _08084F18 - ldr r2, _08084F20 @ =gObjectEvents - ldr r0, _08084F24 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x1E] - mov r0, sp - bl dive_warp - ldr r0, _08084F28 @ =sub_8084E60 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0x2C - bl FieldEffectActiveListRemove -_08084F18: - movs r0, 0 - add sp, 0x8 - pop {r1} - bx r1 - .align 2, 0 -_08084F20: .4byte gObjectEvents -_08084F24: .4byte gPlayerAvatar -_08084F28: .4byte sub_8084E60 - thumb_func_end dive_3_unknown - - thumb_func_start sub_8084F2C -sub_8084F2C: @ 8084F2C - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _08084F40 @ =sub_8084F44 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_08084F40: .4byte sub_8084F44 - thumb_func_end sub_8084F2C - - thumb_func_start sub_8084F44 -sub_8084F44: @ 8084F44 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r6, _08084F8C @ =gUnknown_83CC0A4 - ldr r2, _08084F90 @ =gTasks - ldr r5, _08084F94 @ =gPlayerAvatar - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_08084F58: - movs r0, 0x8 - ldrsh r3, [r4, r0] - lsls r3, 2 - adds r3, r6 - ldrb r0, [r5, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _08084F98 @ =gObjectEvents - adds r1, r0 - ldrb r0, [r5, 0x4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _08084F9C @ =gSprites - adds r2, r0 - ldr r3, [r3] - adds r0, r4, 0 - bl _call_via_r3 - lsls r0, 24 - cmp r0, 0 - bne _08084F58 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08084F8C: .4byte gUnknown_83CC0A4 -_08084F90: .4byte gTasks -_08084F94: .4byte gPlayerAvatar -_08084F98: .4byte gObjectEvents -_08084F9C: .4byte gSprites - thumb_func_end sub_8084F44 - - thumb_func_start sub_8084FA0 -sub_8084FA0: @ 8084FA0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl FreezeObjectEvents - bl CameraObjectReset2 - movs r0, 0 - bl SetCameraPanningCallback - ldr r0, _08084FD4 @ =gPlayerAvatar - movs r2, 0x1 - strb r2, [r0, 0x6] - ldrb r0, [r5, 0x3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r5, 0x3] - strh r2, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08084FD4: .4byte gPlayerAvatar - thumb_func_end sub_8084FA0 - - thumb_func_start sub_8084FD8 -sub_8084FD8: @ 8084FD8 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0 - bl SetCameraPanning - ldrh r0, [r4, 0xA] - negs r0, r0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _08085004 - movs r0, 0 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08085004: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8084FD8 - - thumb_func_start sub_808500C -sub_808500C: @ 808500C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0 - strh r0, [r2, 0x26] - movs r0, 0x1 - strh r0, [r4, 0xE] - ldr r3, _08085054 @ =gFieldEffectArguments - movs r5, 0x10 - ldrsh r0, [r1, r5] - str r0, [r3] - movs r5, 0x12 - ldrsh r0, [r1, r5] - str r0, [r3, 0x4] - adds r0, r2, 0 - adds r0, 0x43 - ldrb r0, [r0] - subs r0, 0x1 - str r0, [r3, 0x8] - ldrb r0, [r2, 0x5] - lsls r0, 28 - lsrs r0, 30 - str r0, [r3, 0xC] - movs r0, 0x32 - bl FieldEffectStart - movs r0, 0xAB - bl PlaySE - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08085054: .4byte gFieldEffectArguments - thumb_func_end sub_808500C - - thumb_func_start sub_8085058 -sub_8085058: @ 8085058 - push {r4-r7,lr} - adds r4, r0, 0 - adds r6, r1, 0 - adds r5, r2, 0 - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0 - bl SetCameraPanning - ldrh r0, [r4, 0xA] - negs r2, r0 - strh r2, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r1, r0, 0x1 - strh r1, [r4, 0xC] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x11 - bgt _08085092 - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - bne _080850A4 - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x3 - bgt _080850A4 - lsls r0, r2, 1 - b _080850A2 -_08085092: - movs r0, 0x4 - ands r1, r0 - cmp r1, 0 - bne _080850A4 - lsls r0, r2, 16 - cmp r0, 0 - ble _080850A4 - asrs r0, 17 -_080850A2: - strh r0, [r4, 0xA] -_080850A4: - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x6 - ble _080850F0 - adds r0, r5, 0 - adds r0, 0x29 - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r2, r1, 17 - negs r2, r2 - movs r7, 0x26 - ldrsh r3, [r5, r7] - movs r7, 0x22 - ldrsh r0, [r5, r7] - adds r0, r1 - ldr r1, _080850E8 @ =gSpriteCoordOffsetY - movs r7, 0 - ldrsh r1, [r1, r7] - adds r0, r1 - asrs r2, 16 - adds r0, r2 - cmn r3, r0 - ble _080850EC - ldrh r0, [r5, 0x26] - ldrh r1, [r4, 0xE] - subs r0, r1 - strh r0, [r5, 0x26] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x7 - bgt _080850F0 - adds r0, r1, 0x1 - strh r0, [r4, 0xE] - b _080850F0 - .align 2, 0 -_080850E8: .4byte gSpriteCoordOffsetY -_080850EC: - movs r0, 0x1 - strh r0, [r4, 0x10] -_080850F0: - ldrh r2, [r4, 0x12] - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0808512E - movs r7, 0x26 - ldrsh r1, [r5, r7] - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - bge _0808512E - adds r0, r2, 0x1 - strh r0, [r4, 0x12] - ldrb r0, [r6, 0x3] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r6, 0x3] - ldrb r1, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] - adds r2, r5, 0 - adds r2, 0x42 - ldrb r1, [r2] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] -_0808512E: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08085144 - movs r7, 0x10 - ldrsh r0, [r4, r7] - cmp r0, 0 - beq _08085144 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08085144: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8085058 - - thumb_func_start sub_808514C -sub_808514C: @ 808514C - push {r4,lr} - adds r4, r0, 0 - bl sub_8055F88 - bl sub_807DC18 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_808514C - - thumb_func_start sub_8085168 -sub_8085168: @ 8085168 - push {lr} - ldr r0, _080851A8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080851A0 - bl BGMusicStopped - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080851A0 - bl WarpIntoMap - ldr r1, _080851AC @ =gFieldCallback - ldr r0, _080851B0 @ =mapldr_080851BC - str r0, [r1] - ldr r0, _080851B4 @ =CB2_LoadMap - bl SetMainCallback2 - ldr r0, _080851B8 @ =sub_8084F44 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080851A0: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080851A8: .4byte gPaletteFade -_080851AC: .4byte gFieldCallback -_080851B0: .4byte mapldr_080851BC -_080851B4: .4byte CB2_LoadMap -_080851B8: .4byte sub_8084F44 - thumb_func_end sub_8085168 - - thumb_func_start mapldr_080851BC -mapldr_080851BC: @ 80851BC - push {lr} - bl Overworld_PlaySpecialMapMusic - bl pal_fill_for_maplights - bl sub_8111CF0 - bl ScriptContext2_Enable - ldr r0, _080851E0 @ =gFieldCallback - movs r1, 0 - str r1, [r0] - ldr r0, _080851E4 @ =sub_80851E8 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080851E0: .4byte gFieldCallback -_080851E4: .4byte sub_80851E8 - thumb_func_end mapldr_080851BC - - thumb_func_start sub_80851E8 -sub_80851E8: @ 80851E8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r6, _08085230 @ =gUnknown_83CC0BC - ldr r2, _08085234 @ =gTasks - ldr r5, _08085238 @ =gPlayerAvatar - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_080851FC: - movs r0, 0x8 - ldrsh r3, [r4, r0] - lsls r3, 2 - adds r3, r6 - ldrb r0, [r5, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _0808523C @ =gObjectEvents - adds r1, r0 - ldrb r0, [r5, 0x4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _08085240 @ =gSprites - adds r2, r0 - ldr r3, [r3] - adds r0, r4, 0 - bl _call_via_r3 - lsls r0, 24 - cmp r0, 0 - bne _080851FC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08085230: .4byte gUnknown_83CC0BC -_08085234: .4byte gTasks -_08085238: .4byte gPlayerAvatar -_0808523C: .4byte gObjectEvents -_08085240: .4byte gSprites - thumb_func_end sub_80851E8 - - thumb_func_start sub_8085244 -sub_8085244: @ 8085244 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - bl CameraObjectReset2 - bl FreezeObjectEvents - ldr r1, _08085270 @ =gPlayerAvatar - movs r0, 0x1 - strb r0, [r1, 0x6] - ldrb r0, [r4, 0x1] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08085270: .4byte gPlayerAvatar - thumb_func_end sub_8085244 - - thumb_func_start sub_8085274 -sub_8085274: @ 8085274 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - bl IsWeatherNotFadingIn - lsls r0, 24 - cmp r0, 0 - beq _080852B4 - ldr r1, _080852BC @ =gFieldEffectArguments - movs r2, 0x10 - ldrsh r0, [r5, r2] - str r0, [r1] - movs r2, 0x12 - ldrsh r0, [r5, r2] - str r0, [r1, 0x4] - adds r0, r6, 0 - adds r0, 0x43 - ldrb r0, [r0] - subs r0, 0x1 - str r0, [r1, 0x8] - ldrb r0, [r6, 0x5] - lsls r0, 28 - lsrs r0, 30 - str r0, [r1, 0xC] - movs r0, 0x31 - bl FieldEffectStart - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080852B4: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080852BC: .4byte gFieldEffectArguments - thumb_func_end sub_8085274 - - thumb_func_start sub_80852C0 -sub_80852C0: @ 80852C0 - push {r4,lr} - adds r2, r0, 0 - adds r4, r1, 0 - movs r0, 0xA - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08085310 @ =gSprites - adds r0, r1 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0x1 - bls _08085308 - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - ldrb r1, [r4, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - bl CameraObjectReset1 - movs r0, 0xA8 - bl PlaySE - movs r0, 0x4 - bl GetJumpMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement -_08085308: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08085310: .4byte gSprites - thumb_func_end sub_80852C0 - - thumb_func_start sub_8085314 -sub_8085314: @ 8085314 - push {lr} - adds r0, r1, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _0808533E - ldr r1, _08085344 @ =gPlayerAvatar - movs r0, 0 - strb r0, [r1, 0x6] - bl ScriptContext2_Disable - bl UnfreezeObjectEvents - ldr r0, _08085348 @ =sub_80851E8 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_0808533E: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08085344: .4byte gPlayerAvatar -_08085348: .4byte sub_80851E8 - thumb_func_end sub_8085314 - - thumb_func_start FldEff_LavaridgeGymWarp -FldEff_LavaridgeGymWarp: @ 808534C - push {r4,lr} - ldr r4, _080853A4 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080853A8 @ =gFieldEffectObjectTemplatePointers - adds r0, 0x84 - ldr r0, [r0] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080853AC @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - movs r1, 0x3 - ldrb r3, [r4, 0xC] - ands r3, r1 - lsls r3, 2 - ldrb r4, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r4 - orrs r1, r3 - strb r1, [r2, 0x5] - adds r2, 0x3E - ldrb r1, [r2] - movs r3, 0x2 - orrs r1, r3 - strb r1, [r2] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080853A4: .4byte gFieldEffectArguments -_080853A8: .4byte gFieldEffectObjectTemplatePointers -_080853AC: .4byte gSprites - thumb_func_end FldEff_LavaridgeGymWarp - - thumb_func_start sub_80853B0 -sub_80853B0: @ 80853B0 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080853C8 - adds r0, r2, 0 - movs r1, 0x32 - bl FieldEffectStop -_080853C8: - pop {r0} - bx r0 - thumb_func_end sub_80853B0 - - thumb_func_start sub_80853CC -sub_80853CC: @ 80853CC - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _080853E0 @ =sub_80853E4 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080853E0: .4byte sub_80853E4 - thumb_func_end sub_80853CC - - thumb_func_start sub_80853E4 -sub_80853E4: @ 80853E4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r6, _0808542C @ =gUnknown_83CC0CC - ldr r2, _08085430 @ =gTasks - ldr r5, _08085434 @ =gPlayerAvatar - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_080853F8: - movs r0, 0x8 - ldrsh r3, [r4, r0] - lsls r3, 2 - adds r3, r6 - ldrb r0, [r5, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _08085438 @ =gObjectEvents - adds r1, r0 - ldrb r0, [r5, 0x4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _0808543C @ =gSprites - adds r2, r0 - ldr r3, [r3] - adds r0, r4, 0 - bl _call_via_r3 - lsls r0, 24 - cmp r0, 0 - bne _080853F8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0808542C: .4byte gUnknown_83CC0CC -_08085430: .4byte gTasks -_08085434: .4byte gPlayerAvatar -_08085438: .4byte gObjectEvents -_0808543C: .4byte gSprites - thumb_func_end sub_80853E4 - - thumb_func_start sub_8085440 -sub_8085440: @ 8085440 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - bl FreezeObjectEvents - bl CameraObjectReset2 - ldr r1, _0808546C @ =gPlayerAvatar - movs r0, 0x1 - strb r0, [r1, 0x6] - ldrb r0, [r4, 0x3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4, 0x3] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0808546C: .4byte gPlayerAvatar - thumb_func_end sub_8085440 - - thumb_func_start sub_8085470 -sub_8085470: @ 8085470 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r6, r2, 0 - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _080854E4 - ldrh r1, [r5, 0xA] - movs r2, 0xA - ldrsh r0, [r5, r2] - cmp r0, 0x3 - ble _080854C4 - ldr r1, _080854C0 @ =gFieldEffectArguments - movs r2, 0x10 - ldrsh r0, [r4, r2] - str r0, [r1] - movs r2, 0x12 - ldrsh r0, [r4, r2] - str r0, [r1, 0x4] - adds r0, r6, 0 - adds r0, 0x43 - ldrb r0, [r0] - subs r0, 0x1 - str r0, [r1, 0x8] - ldrb r0, [r6, 0x5] - lsls r0, 28 - lsrs r0, 30 - str r0, [r1, 0xC] - movs r0, 0x31 - bl FieldEffectStart - strh r0, [r5, 0xA] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080854E4 - .align 2, 0 -_080854C0: .4byte gFieldEffectArguments -_080854C4: - adds r0, r1, 0x1 - strh r0, [r5, 0xA] - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetWalkInPlaceFastMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - movs r0, 0x21 - bl PlaySE -_080854E4: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8085470 - - thumb_func_start sub_80854EC -sub_80854EC: @ 80854EC - push {r4,lr} - adds r3, r0, 0 - adds r4, r1, 0 - ldr r2, _08085520 @ =gSprites - movs r0, 0xA - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0x2 - bne _08085516 - ldrb r0, [r4, 0x1] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_08085516: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08085520: .4byte gSprites - thumb_func_end sub_80854EC - - thumb_func_start sub_8085524 -sub_8085524: @ 8085524 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x31 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _08085542 - bl sub_8055F88 - bl sub_807DC18 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08085542: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8085524 - - thumb_func_start sub_808554C -sub_808554C: @ 808554C - push {lr} - ldr r0, _0808558C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08085584 - bl BGMusicStopped - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08085584 - bl WarpIntoMap - ldr r1, _08085590 @ =gFieldCallback - ldr r0, _08085594 @ =sub_8084454 - str r0, [r1] - ldr r0, _08085598 @ =CB2_LoadMap - bl SetMainCallback2 - ldr r0, _0808559C @ =sub_80853E4 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08085584: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0808558C: .4byte gPaletteFade -_08085590: .4byte gFieldCallback -_08085594: .4byte sub_8084454 -_08085598: .4byte CB2_LoadMap -_0808559C: .4byte sub_80853E4 - thumb_func_end sub_808554C - - thumb_func_start FldEff_PopOutOfAsh -FldEff_PopOutOfAsh: @ 80855A0 - push {r4,lr} - ldr r4, _080855F8 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080855FC @ =gFieldEffectObjectTemplatePointers - adds r0, 0x80 - ldr r0, [r0] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08085600 @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - movs r1, 0x3 - ldrb r3, [r4, 0xC] - ands r3, r1 - lsls r3, 2 - ldrb r4, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r4 - orrs r1, r3 - strb r1, [r2, 0x5] - adds r2, 0x3E - ldrb r1, [r2] - movs r3, 0x2 - orrs r1, r3 - strb r1, [r2] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080855F8: .4byte gFieldEffectArguments -_080855FC: .4byte gFieldEffectObjectTemplatePointers -_08085600: .4byte gSprites - thumb_func_end FldEff_PopOutOfAsh - - thumb_func_start sub_8085604 -sub_8085604: @ 8085604 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0808561C - adds r0, r2, 0 - movs r1, 0x31 - bl FieldEffectStop -_0808561C: - pop {r0} - bx r0 - thumb_func_end sub_8085604 - - thumb_func_start sub_8085620 -sub_8085620: @ 8085620 - push {lr} - bl ScriptContext2_Enable - bl FreezeObjectEvents - ldr r0, _08085638 @ =sub_808563C - movs r1, 0x50 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_08085638: .4byte sub_808563C - thumb_func_end sub_8085620 - - thumb_func_start sub_808563C -sub_808563C: @ 808563C - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08085664 @ =gUnknown_83CC0E0 - ldr r2, _08085668 @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08085664: .4byte gUnknown_83CC0E0 -_08085668: .4byte gTasks - thumb_func_end sub_808563C - - thumb_func_start sub_808566C -sub_808566C: @ 808566C - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - movs r5, 0 - strh r0, [r4, 0x8] - movs r0, 0x40 - strh r0, [r4, 0x22] - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x24] - strh r5, [r4, 0x26] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_808566C - - thumb_func_start sub_8085690 -sub_8085690: @ 8085690 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r0, _080856D4 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080856D8 @ =gObjectEvents - adds r6, r0, r1 - adds r4, r5, 0 - adds r4, 0x8 - adds r1, r5, 0 - adds r1, 0xA - adds r2, r5, 0 - adds r2, 0xC - adds r0, r6, 0 - bl sub_808576C - ldrh r1, [r4, 0x6] - movs r2, 0x6 - ldrsh r0, [r4, r2] - cmp r0, 0x3B - bgt _080856DC - adds r0, r1, 0x1 - strh r0, [r4, 0x6] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bne _08085702 - movs r0, 0x27 - bl PlaySE - b _08085702 - .align 2, 0 -_080856D4: .4byte gPlayerAvatar -_080856D8: .4byte gObjectEvents -_080856DC: - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08085702 - adds r1, r5, 0 - adds r1, 0x12 - adds r2, r5, 0 - adds r2, 0x14 - adds r0, r6, 0 - bl sub_80857F0 - cmp r0, 0 - bne _08085702 - bl sub_8055F88 - bl sub_807DC18 - movs r0, 0x1 - strh r0, [r4, 0x8] -_08085702: - movs r2, 0x8 - ldrsh r0, [r4, r2] - cmp r0, 0x1 - bne _08085750 - ldr r0, _08085758 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08085750 - bl BGMusicStopped - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08085750 - ldrh r1, [r5, 0x26] - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl SetObjectEventDirection - bl sub_80555E0 - bl WarpIntoMap - ldr r1, _0808575C @ =gFieldCallback - ldr r0, _08085760 @ =sub_80859D4 - str r0, [r1] - ldr r0, _08085764 @ =CB2_LoadMap - bl SetMainCallback2 - ldr r0, _08085768 @ =sub_808563C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08085750: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08085758: .4byte gPaletteFade -_0808575C: .4byte gFieldCallback -_08085760: .4byte sub_80859D4 -_08085764: .4byte CB2_LoadMap -_08085768: .4byte sub_808563C - thumb_func_end sub_8085690 - - thumb_func_start sub_808576C -sub_808576C: @ 808576C - push {r4-r7,lr} - adds r4, r0, 0 - adds r6, r1, 0 - adds r5, r2, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _0808578A - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _080857E4 -_0808578A: - ldrh r1, [r6] - movs r2, 0 - ldrsh r0, [r6, r2] - cmp r0, 0 - beq _0808579E - subs r0, r1, 0x1 - strh r0, [r6] - lsls r0, 16 - cmp r0, 0 - bne _080857E4 -_0808579E: - ldr r7, _080857E0 @ =gUnknown_83CC0E8 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - adds r0, r7 - ldrb r0, [r0] - bl GetFaceDirectionMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - ldrh r1, [r5] - movs r2, 0 - ldrsh r0, [r5, r2] - cmp r0, 0xB - bgt _080857C8 - adds r0, r1, 0x1 - strh r0, [r5] -_080857C8: - movs r0, 0 - ldrsh r1, [r5, r0] - movs r0, 0xC - asrs r0, r1 - strh r0, [r6] - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - adds r0, r7 - ldrb r0, [r0] - b _080857EA - .align 2, 0 -_080857E0: .4byte gUnknown_83CC0E8 -_080857E4: - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 -_080857EA: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_808576C - - thumb_func_start sub_80857F0 -sub_80857F0: @ 80857F0 - push {r4-r7,lr} - adds r7, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - ldrb r0, [r7, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08085818 @ =gSprites - adds r4, r1, r0 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _08085830 - cmp r0, 0x1 - bgt _0808581C - cmp r0, 0 - beq _08085826 - b _0808589A - .align 2, 0 -_08085818: .4byte gSprites -_0808581C: - cmp r0, 0x2 - beq _08085878 - cmp r0, 0x3 - beq _08085896 - b _0808589A -_08085826: - bl CameraObjectReset2 - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_08085830: - ldrh r0, [r4, 0x26] - subs r0, 0x8 - strh r0, [r4, 0x26] - ldrh r0, [r6] - subs r0, 0x8 - strh r0, [r6] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bgt _0808589A - ldrb r0, [r7, 0x3] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r7, 0x3] - ldrb r1, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x5] - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0 - strb r0, [r1] - adds r2, r4, 0 - adds r2, 0x42 - ldrb r1, [r2] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - b _0808589A -_08085878: - ldrh r0, [r4, 0x26] - subs r0, 0x8 - strh r0, [r4, 0x26] - ldrh r0, [r6] - subs r0, 0x8 - strh r0, [r6] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x58 - negs r1, r1 - cmp r0, r1 - bgt _0808589A - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_08085896: - movs r0, 0 - b _0808589C -_0808589A: - movs r0, 0x1 -_0808589C: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80857F0 - - thumb_func_start sub_80858A4 -sub_80858A4: @ 80858A4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r6, r0, 0 - adds r5, r1, 0 - adds r7, r2, 0 - mov r9, r3 - ldr r0, [sp, 0x20] - mov r10, r0 - ldrb r0, [r6, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080858D8 @ =gSprites - adds r4, r1, r0 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _08085948 - cmp r0, 0x1 - bgt _080858DC - cmp r0, 0 - beq _080858E6 - b _080859C2 - .align 2, 0 -_080858D8: .4byte gSprites -_080858DC: - cmp r0, 0x2 - beq _0808599C - cmp r0, 0x3 - beq _080859BE - b _080859C2 -_080858E6: - bl CameraObjectReset2 - movs r2, 0x58 - negs r2, r2 - adds r0, r2, 0 - strh r0, [r7] - ldrh r0, [r4, 0x26] - subs r0, 0x58 - movs r3, 0 - strh r0, [r4, 0x26] - ldrb r0, [r4, 0x5] - lsls r0, 28 - lsrs r0, 30 - mov r1, r9 - strh r0, [r1] - movs r2, 0x43 - adds r2, r4 - mov r8, r2 - ldrb r0, [r2] - mov r1, r10 - strh r0, [r1] - movs r2, 0x42 - adds r2, r4 - mov r12, r2 - ldrb r0, [r2] - lsrs r0, 6 - ldr r1, [sp, 0x24] - strh r0, [r1] - ldrb r0, [r6, 0x3] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r6, 0x3] - ldrb r1, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x5] - mov r2, r8 - strb r3, [r2] - mov r0, r12 - ldrb r1, [r0] - movs r0, 0x3F - ands r0, r1 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_08085948: - ldrh r0, [r4, 0x26] - adds r0, 0x4 - strh r0, [r4, 0x26] - ldrh r0, [r7] - adds r0, 0x4 - strh r0, [r7] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - blt _080859C2 - movs r0, 0x3 - mov r2, r9 - ldrb r1, [r2] - ands r1, r0 - lsls r1, 2 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - mov r1, r10 - ldrh r0, [r1] - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldr r2, [sp, 0x24] - ldrb r1, [r2] - adds r3, r4, 0 - adds r3, 0x42 - lsls r1, 6 - ldrb r2, [r3] - movs r0, 0x3F - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - b _080859C2 -_0808599C: - ldrh r0, [r4, 0x26] - adds r0, 0x4 - strh r0, [r4, 0x26] - ldrh r0, [r7] - adds r0, 0x4 - strh r0, [r7] - lsls r0, 16 - cmp r0, 0 - blt _080859C2 - movs r0, 0x1E - bl PlaySE - bl CameraObjectReset1 - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_080859BE: - movs r0, 0 - b _080859C4 -_080859C2: - movs r0, 0x1 -_080859C4: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80858A4 - - thumb_func_start sub_80859D4 -sub_80859D4: @ 80859D4 - push {lr} - bl Overworld_PlaySpecialMapMusic - bl pal_fill_for_maplights - bl sub_8111CF0 - bl ScriptContext2_Enable - bl FreezeObjectEvents - ldr r1, _08085A14 @ =gFieldCallback - movs r0, 0 - str r0, [r1] - ldr r2, _08085A18 @ =gObjectEvents - ldr r0, _08085A1C @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x1] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0, 0x1] - ldr r0, _08085A20 @ =sub_8085A24 - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_08085A14: .4byte gFieldCallback -_08085A18: .4byte gObjectEvents -_08085A1C: .4byte gPlayerAvatar -_08085A20: .4byte sub_8085A24 - thumb_func_end sub_80859D4 - - thumb_func_start sub_8085A24 -sub_8085A24: @ 8085A24 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08085A4C @ =gUnknown_83CC0F0 - ldr r2, _08085A50 @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08085A4C: .4byte gUnknown_83CC0F0 -_08085A50: .4byte gTasks - thumb_func_end sub_8085A24 - - thumb_func_start sub_8085A54 -sub_8085A54: @ 8085A54 - push {r4,lr} - adds r4, r0, 0 - bl IsWeatherNotFadingIn - lsls r0, 24 - cmp r0, 0 - beq _08085A78 - movs r0, 0x28 - bl PlaySE - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08085A78: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8085A54 - - thumb_func_start sub_8085A80 -sub_8085A80: @ 8085A80 - push {r4-r7,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r4, 0 - adds r5, 0x8 - ldr r0, _08085AD4 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08085AD8 @ =gObjectEvents - adds r6, r0, r1 - adds r1, r4, 0 - adds r1, 0xA - adds r2, r4, 0 - adds r2, 0xC - adds r3, r4, 0 - adds r3, 0xE - adds r0, r5, 0 - adds r0, 0x8 - str r0, [sp] - adds r0, r4, 0 - adds r0, 0x12 - str r0, [sp, 0x4] - adds r0, r6, 0 - bl sub_80858A4 - adds r7, r0, 0 - ldrb r1, [r6, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r6, 0x1] - ldrh r1, [r5, 0xC] - movs r2, 0xC - ldrsh r0, [r5, r2] - cmp r0, 0x7 - bgt _08085ADC - adds r0, r1, 0x1 - strh r0, [r5, 0xC] - b _08085B10 - .align 2, 0 -_08085AD4: .4byte gPlayerAvatar -_08085AD8: .4byte gObjectEvents -_08085ADC: - movs r2, 0xE - ldrsh r0, [r5, r2] - cmp r0, 0 - bne _08085B10 - adds r0, r1, 0x1 - strh r0, [r5, 0xC] - adds r1, r4, 0 - adds r1, 0x1A - adds r2, r4, 0 - adds r2, 0x1C - adds r0, r6, 0 - bl sub_808576C - lsls r0, 24 - lsrs r1, r0, 24 - strh r1, [r5, 0x10] - movs r2, 0xC - ldrsh r0, [r5, r2] - cmp r0, 0x31 - ble _08085B10 - movs r2, 0x1E - ldrsh r0, [r5, r2] - cmp r1, r0 - bne _08085B10 - movs r0, 0x1 - strh r0, [r5, 0xE] -_08085B10: - cmp r7, 0 - bne _08085B58 - movs r0, 0x10 - ldrsh r1, [r5, r0] - movs r2, 0x1E - ldrsh r0, [r5, r2] - cmp r1, r0 - bne _08085B58 - adds r0, r6, 0 - bl ObjectEventCheckHeldMovementStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08085B58 - ldrb r1, [r6, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r6, 0x1] - ldrb r1, [r6, 0x3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r6, 0x3] - bl ScriptContext2_Disable - bl UnfreezeObjectEvents - ldr r0, _08085B60 @ =sub_8085A24 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08085B58: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08085B60: .4byte sub_8085A24 - thumb_func_end sub_8085A80 - - thumb_func_start CreateTeleportFieldEffectTask -CreateTeleportFieldEffectTask: @ 8085B64 - push {lr} - ldr r0, _08085B74 @ =sub_8085B78 - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_08085B74: .4byte sub_8085B78 - thumb_func_end CreateTeleportFieldEffectTask - - thumb_func_start sub_8085B78 -sub_8085B78: @ 8085B78 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08085BA0 @ =gUnknown_83CC0F8 - ldr r2, _08085BA4 @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08085BA0: .4byte gUnknown_83CC0F8 -_08085BA4: .4byte gTasks - thumb_func_end sub_8085B78 - - thumb_func_start sub_8085BA8 -sub_8085BA8: @ 8085BA8 - push {r4,lr} - adds r4, r0, 0 - bl ScriptContext2_Enable - bl FreezeObjectEvents - bl CameraObjectReset2 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8085BA8 - - thumb_func_start sub_8085BD0 -sub_8085BD0: @ 8085BD0 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r1, _08085C54 @ =gUnknown_83CC108 - mov r0, sp - movs r2, 0x5 - bl memcpy - ldr r0, _08085C58 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08085C5C @ =gObjectEvents - adds r5, r0, r1 - ldrh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08085C02 - subs r0, r1, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bne _08085C1C -_08085C02: - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - add r0, sp - ldrb r1, [r0] - adds r0, r5, 0 - bl ObjectEventTurn - movs r0, 0x8 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] -_08085C1C: - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x7 - ble _08085C4A - movs r2, 0x26 - ldrsh r1, [r4, r2] - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - cmp r1, r0 - bne _08085C4A - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x4 - strh r0, [r4, 0xA] - movs r0, 0x8 - strh r0, [r4, 0xC] - movs r0, 0x1 - strh r0, [r4, 0xE] - movs r0, 0x27 - bl PlaySE -_08085C4A: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08085C54: .4byte gUnknown_83CC108 -_08085C58: .4byte gPlayerAvatar -_08085C5C: .4byte gObjectEvents - thumb_func_end sub_8085BD0 - - thumb_func_start sub_8085C60 -sub_8085C60: @ 8085C60 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r1, _08085D24 @ =gUnknown_83CC108 - mov r0, sp - movs r2, 0x5 - bl memcpy - ldr r2, _08085D28 @ =gPlayerAvatar - ldrb r1, [r2, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08085D2C @ =gObjectEvents - adds r3, r0, r1 - ldrb r1, [r2, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08085D30 @ =gSprites - adds r5, r0, r1 - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bgt _08085CAA - movs r0, 0x4 - strh r0, [r4, 0xA] - ldrb r0, [r3, 0x18] - lsls r0, 28 - lsrs r0, 28 - add r0, sp - ldrb r1, [r0] - adds r0, r3, 0 - bl ObjectEventTurn -_08085CAA: - ldrh r0, [r5, 0x22] - ldrh r1, [r4, 0xE] - subs r0, r1 - strh r0, [r5, 0x22] - ldrh r1, [r4, 0xE] - ldrh r2, [r4, 0x10] - adds r0, r1, r2 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bgt _08085CD6 - movs r0, 0x4 - strh r0, [r4, 0xC] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x7 - bgt _08085CD6 - lsls r0, r1, 1 - strh r0, [r4, 0xE] -_08085CD6: - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0x8 - ble _08085D04 - ldrb r1, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r5, 0x5] - adds r2, r5, 0 - adds r2, 0x42 - ldrb r1, [r2] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0 - beq _08085D04 - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] -_08085D04: - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r0, 0xA7 - ble _08085D1A - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - bl sub_8055F88 - bl sub_807DC18 -_08085D1A: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08085D24: .4byte gUnknown_83CC108 -_08085D28: .4byte gPlayerAvatar -_08085D2C: .4byte gObjectEvents -_08085D30: .4byte gSprites - thumb_func_end sub_8085C60 - - thumb_func_start sub_8085D34 -sub_8085D34: @ 8085D34 - push {lr} - ldr r0, _08085D74 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08085D70 - bl BGMusicStopped - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08085D70 - bl copy_saved_warp3_bank_and_enter_x_to_warp1 - bl WarpIntoMap - ldr r0, _08085D78 @ =CB2_LoadMap - bl SetMainCallback2 - ldr r1, _08085D7C @ =gFieldCallback - ldr r0, _08085D80 @ =mapldr_08085D88 - str r0, [r1] - ldr r0, _08085D84 @ =sub_8085B78 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08085D70: - pop {r0} - bx r0 - .align 2, 0 -_08085D74: .4byte gPaletteFade -_08085D78: .4byte CB2_LoadMap -_08085D7C: .4byte gFieldCallback -_08085D80: .4byte mapldr_08085D88 -_08085D84: .4byte sub_8085B78 - thumb_func_end sub_8085D34 - - thumb_func_start mapldr_08085D88 -mapldr_08085D88: @ 8085D88 - push {lr} - bl Overworld_PlaySpecialMapMusic - bl pal_fill_for_maplights - bl sub_8111CF0 - bl ScriptContext2_Enable - bl FreezeObjectEvents - ldr r1, _08085DCC @ =gFieldCallback - movs r0, 0 - str r0, [r1] - ldr r2, _08085DD0 @ =gObjectEvents - ldr r0, _08085DD4 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x1] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0, 0x1] - bl CameraObjectReset2 - ldr r0, _08085DD8 @ =sub_8085DDC - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_08085DCC: .4byte gFieldCallback -_08085DD0: .4byte gObjectEvents -_08085DD4: .4byte gPlayerAvatar -_08085DD8: .4byte sub_8085DDC - thumb_func_end mapldr_08085D88 - - thumb_func_start sub_8085DDC -sub_8085DDC: @ 8085DDC - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08085E04 @ =gUnknown_83CC110 - ldr r2, _08085E08 @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08085E04: .4byte gUnknown_83CC110 -_08085E08: .4byte gTasks - thumb_func_end sub_8085DDC - - thumb_func_start sub_8085E0C -sub_8085E0C: @ 8085E0C - push {r4-r6,lr} - adds r6, r0, 0 - bl IsWeatherNotFadingIn - lsls r0, 24 - cmp r0, 0 - beq _08085E82 - ldr r5, _08085E88 @ =gPlayerAvatar - ldrb r0, [r5, 0x4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _08085E8C @ =gSprites - adds r2, r0 - adds r0, r2, 0 - adds r0, 0x29 - movs r4, 0 - ldrsb r4, [r0, r4] - lsls r0, r4, 17 - negs r0, r0 - ldrh r1, [r2, 0x22] - ldr r3, _08085E90 @ =gSpriteCoordOffsetY - adds r1, r4 - ldrh r3, [r3] - adds r1, r3 - asrs r0, 16 - adds r0, r1 - negs r0, r0 - strh r0, [r2, 0x26] - ldr r3, _08085E94 @ =gObjectEvents - ldrb r0, [r5, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r3, [r1, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r3 - strb r0, [r1, 0x1] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - movs r0, 0x8 - strh r0, [r6, 0xA] - movs r0, 0x1 - strh r0, [r6, 0xC] - adds r2, 0x42 - ldrb r0, [r2] - lsrs r0, 6 - strh r0, [r6, 0x24] - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x26] - movs r0, 0x27 - bl PlaySE -_08085E82: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08085E88: .4byte gPlayerAvatar -_08085E8C: .4byte gSprites -_08085E90: .4byte gSpriteCoordOffsetY -_08085E94: .4byte gObjectEvents - thumb_func_end sub_8085E0C - - thumb_func_start sub_8085E98 -sub_8085E98: @ 8085E98 - push {r4-r7,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r1, _08085F00 @ =gUnknown_83CC108 - mov r0, sp - movs r2, 0x5 - bl memcpy - ldr r2, _08085F04 @ =gPlayerAvatar - ldrb r1, [r2, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08085F08 @ =gObjectEvents - adds r6, r0, r1 - ldrb r1, [r2, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08085F0C @ =gSprites - adds r5, r0, r1 - ldrh r0, [r4, 0xA] - ldrh r1, [r5, 0x26] - adds r0, r1 - strh r0, [r5, 0x26] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x8 - negs r1, r1 - cmp r0, r1 - blt _08085F10 - ldrh r1, [r4, 0x22] - movs r2, 0x22 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08085F36 - adds r0, r1, 0x1 - strh r0, [r4, 0x22] - ldrb r0, [r6] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r6] - ldrh r1, [r4, 0x24] - adds r3, r5, 0 - adds r3, 0x42 - lsls r1, 6 - ldrb r2, [r3] - movs r0, 0x3F - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _08085F36 - .align 2, 0 -_08085F00: .4byte gUnknown_83CC108 -_08085F04: .4byte gPlayerAvatar -_08085F08: .4byte gObjectEvents -_08085F0C: .4byte gSprites -_08085F10: - ldrb r1, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r5, 0x5] - adds r2, r5, 0 - adds r2, 0x42 - ldrb r1, [r2] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0 - beq _08085F36 - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] -_08085F36: - ldrh r2, [r5, 0x26] - movs r3, 0x26 - ldrsh r1, [r5, r3] - movs r0, 0x30 - negs r0, r0 - cmp r1, r0 - blt _08085F5A - ldrh r1, [r4, 0xA] - movs r3, 0xA - ldrsh r0, [r4, r3] - cmp r0, 0x1 - ble _08085F5A - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - bne _08085F5A - subs r0, r1, 0x1 - strh r0, [r4, 0xA] -_08085F5A: - ldrh r0, [r4, 0xC] - subs r0, 0x1 - movs r7, 0 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bne _08085F7C - movs r0, 0x4 - strh r0, [r4, 0xC] - ldrb r0, [r6, 0x18] - lsls r0, 28 - lsrs r0, 28 - add r0, sp - ldrb r1, [r0] - adds r0, r6, 0 - bl ObjectEventTurn -_08085F7C: - movs r1, 0x26 - ldrsh r0, [r5, r1] - cmp r0, 0 - blt _08085F92 - strh r7, [r5, 0x26] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - strh r0, [r4, 0xA] - strh r7, [r4, 0xC] -_08085F92: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8085E98 - - thumb_func_start sub_8085F9C -sub_8085F9C: @ 8085F9C - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r1, _08086018 @ =gUnknown_83CC108 - mov r0, sp - movs r2, 0x5 - bl memcpy - ldr r0, _0808601C @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08086020 @ =gObjectEvents - adds r5, r0, r1 - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bne _08086010 - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - add r0, sp - ldrb r1, [r0] - adds r0, r5, 0 - bl ObjectEventTurn - movs r0, 0x8 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _08086010 - movs r0, 0x24 - ldrsh r1, [r4, r0] - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - cmp r1, r0 - bne _08086010 - bl ScriptContext2_Disable - bl CameraObjectReset1 - bl UnfreezeObjectEvents - ldr r0, _08086024 @ =sub_8085DDC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08086010: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08086018: .4byte gUnknown_83CC108 -_0808601C: .4byte gPlayerAvatar -_08086020: .4byte gObjectEvents -_08086024: .4byte sub_8085DDC - thumb_func_end sub_8085F9C - - thumb_func_start FldEff_FieldMoveShowMon -FldEff_FieldMoveShowMon: @ 8086028 - push {r4,lr} - bl GetCurrentMapType - lsls r0, 24 - lsrs r0, 24 - bl IsMapTypeOutdoors - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08086048 - ldr r0, _08086044 @ =sub_80860E0 - b _0808604A - .align 2, 0 -_08086044: .4byte sub_80860E0 -_08086048: - ldr r0, _08086078 @ =sub_8086468 -_0808604A: - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - ldr r2, _0808607C @ =gFieldEffectArguments - ldr r0, [r2] - ldr r1, [r2, 0x4] - ldr r2, [r2, 0x8] - bl sub_8086860 - ldr r2, _08086080 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x26] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08086078: .4byte sub_8086468 -_0808607C: .4byte gFieldEffectArguments -_08086080: .4byte gTasks - thumb_func_end FldEff_FieldMoveShowMon - - thumb_func_start FldEff_FieldMoveShowMonInit -FldEff_FieldMoveShowMonInit: @ 8086084 - push {r4-r6,lr} - ldr r5, _080860D8 @ =gFieldEffectArguments - ldr r0, [r5] - movs r6, 0x80 - lsls r6, 24 - ands r6, r0 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - adds r4, r0, 0 - muls r4, r1 - ldr r0, _080860DC @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - str r0, [r5] - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - str r0, [r5, 0x4] - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - str r0, [r5, 0x8] - ldr r0, [r5] - orrs r0, r6 - str r0, [r5] - movs r0, 0x6 - bl FieldEffectStart - movs r0, 0x3B - bl FieldEffectActiveListRemove - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080860D8: .4byte gFieldEffectArguments -_080860DC: .4byte gPlayerParty - thumb_func_end FldEff_FieldMoveShowMonInit - - thumb_func_start sub_80860E0 -sub_80860E0: @ 80860E0 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08086108 @ =gUnknown_83CC11C - ldr r2, _0808610C @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08086108: .4byte gUnknown_83CC11C -_0808610C: .4byte gTasks - thumb_func_end sub_80860E0 - - thumb_func_start sub_8086110 -sub_8086110: @ 8086110 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x48 - bl GetGpuReg - strh r0, [r4, 0x1E] - movs r0, 0x4A - bl GetGpuReg - strh r0, [r4, 0x20] - adds r0, r4, 0 - adds r0, 0x22 - ldr r1, _08086170 @ =gMain - ldr r1, [r1, 0xC] - bl StoreWordInTwoHalfwords - ldr r1, _08086174 @ =0x0000f0f1 - strh r1, [r4, 0xA] - ldr r0, _08086178 @ =0x00005051 - strh r0, [r4, 0xC] - movs r0, 0x3F - strh r0, [r4, 0xE] - movs r0, 0x3E - strh r0, [r4, 0x10] - movs r0, 0x40 - bl SetGpuReg - ldrh r1, [r4, 0xC] - movs r0, 0x44 - bl SetGpuReg - ldrh r1, [r4, 0xE] - movs r0, 0x48 - bl SetGpuReg - ldrh r1, [r4, 0x10] - movs r0, 0x4A - bl SetGpuReg - ldr r0, _0808617C @ =sub_80863C0 - bl SetVBlankCallback - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08086170: .4byte gMain -_08086174: .4byte 0x0000f0f1 -_08086178: .4byte 0x00005051 -_0808617C: .4byte sub_80863C0 - thumb_func_end sub_8086110 - - thumb_func_start sub_8086180 -sub_8086180: @ 8086180 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - mov r8, r0 - movs r0, 0x8 - bl GetGpuReg - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 18 - lsls r4, 30 - lsrs r4, 16 - movs r0, 0x8 - bl GetGpuReg - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 24 - lsls r5, 27 - lsrs r5, 16 - ldr r0, _080861F0 @ =gUnknown_83CB5F0 - movs r6, 0xC0 - lsls r6, 19 - adds r4, r6 - movs r2, 0x80 - lsls r2, 1 - adds r1, r4, 0 - bl CpuSet - movs r0, 0 - str r0, [sp] - adds r6, r5, r6 - ldr r2, _080861F4 @ =0x05000200 - mov r0, sp - adds r1, r6, 0 - bl CpuSet - ldr r0, _080861F8 @ =gUnknown_83CB7F0 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - adds r0, r5, 0 - bl sub_8086428 - mov r1, r8 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080861F0: .4byte gUnknown_83CB5F0 -_080861F4: .4byte 0x05000200 -_080861F8: .4byte gUnknown_83CB7F0 - thumb_func_end sub_8086180 - - thumb_func_start sub_80861FC -sub_80861FC: @ 80861FC - push {r4-r7,lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x12] - subs r0, 0x10 - strh r0, [r3, 0x12] - ldrh r6, [r3, 0xA] - ldrh r2, [r3, 0xC] - movs r7, 0xFF - lsrs r1, r6, 8 - subs r1, 0x10 - lsls r1, 16 - lsrs r0, r2, 8 - subs r0, 0x2 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r7, 0 - ands r0, r2 - adds r5, r0, 0x2 - lsrs r2, r1, 16 - cmp r1, 0 - bge _08086228 - movs r2, 0 -_08086228: - lsls r0, r4, 16 - asrs r0, 16 - cmp r0, 0x27 - bgt _08086232 - movs r4, 0x28 -_08086232: - cmp r5, 0x78 - ble _08086238 - movs r5, 0x78 -_08086238: - lsls r2, 16 - asrs r2, 16 - lsls r1, r2, 8 - adds r0, r7, 0 - ands r0, r6 - orrs r1, r0 - strh r1, [r3, 0xA] - lsls r0, r4, 16 - asrs r4, r0, 16 - lsls r0, r4, 8 - adds r1, r5, 0 - orrs r0, r1 - strh r0, [r3, 0xC] - cmp r2, 0 - bne _08086278 - cmp r4, 0x28 - bne _08086278 - cmp r1, 0x78 - bne _08086278 - ldr r2, _08086280 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _08086284 @ =sub_80868C0 - str r1, [r0] - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_08086278: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08086280: .4byte gSprites -_08086284: .4byte sub_80868C0 - thumb_func_end sub_80861FC - - thumb_func_start sub_8086288 -sub_8086288: @ 8086288 - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x12] - subs r0, 0x10 - strh r0, [r3, 0x12] - ldr r2, _080862B4 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x3C - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _080862AE - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_080862AE: - pop {r0} - bx r0 - .align 2, 0 -_080862B4: .4byte gSprites - thumb_func_end sub_8086288 - - thumb_func_start sub_80862B8 -sub_80862B8: @ 80862B8 - push {r4,lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x12] - subs r0, 0x10 - strh r0, [r3, 0x12] - ldrh r2, [r3, 0xC] - lsls r1, r2, 16 - movs r0, 0xFF - asrs r1, 24 - adds r1, 0x6 - lsls r1, 16 - ands r0, r2 - subs r0, 0x6 - lsls r0, 16 - lsrs r2, r0, 16 - lsrs r4, r1, 16 - asrs r1, 16 - cmp r1, 0x50 - ble _080862E0 - movs r4, 0x50 -_080862E0: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x50 - bgt _080862EA - movs r2, 0x51 -_080862EA: - lsls r0, r4, 16 - asrs r0, 16 - lsls r1, r0, 8 - lsls r2, 16 - asrs r2, 16 - orrs r1, r2 - strh r1, [r3, 0xC] - cmp r0, 0x50 - bne _08086306 - cmp r2, 0x51 - bne _08086306 - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] -_08086306: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80862B8 - - thumb_func_start sub_808630C -sub_808630C: @ 808630C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r0, 0x8 - bl GetGpuReg - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 24 - lsls r1, 27 - lsrs r1, 16 - movs r0, 0 - str r0, [sp] - movs r0, 0xC0 - lsls r0, 19 - adds r1, r0 - ldr r2, _08086354 @ =0x05000200 - mov r0, sp - bl CpuSet - movs r0, 0xF1 - strh r0, [r4, 0xA] - movs r0, 0xA1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x1E] - strh r0, [r4, 0xE] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x10] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08086354: .4byte 0x05000200 - thumb_func_end sub_808630C - - thumb_func_start sub_8086358 -sub_8086358: @ 8086358 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r0, 0x22 - mov r1, sp - bl LoadWordFromTwoHalfwords - ldr r0, [sp] - bl SetVBlankCallback - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - bl Menu_LoadStdPal - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080863B8 @ =gSprites - adds r0, r1 - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - bl sub_8083A5C - movs r0, 0x6 - bl FieldEffectActiveListRemove - ldr r0, _080863BC @ =sub_80860E0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080863B8: .4byte gSprites -_080863BC: .4byte sub_80860E0 - thumb_func_end sub_8086358 - - thumb_func_start sub_80863C0 -sub_80863C0: @ 80863C0 - push {r4,lr} - sub sp, 0x4 - ldr r0, _08086420 @ =sub_80860E0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _08086424 @ =gTasks - adds r4, r0 - adds r0, r4, 0 - adds r0, 0x22 - mov r1, sp - bl LoadWordFromTwoHalfwords - ldr r0, [sp] - bl _call_via_r0 - ldrh r1, [r4, 0xA] - movs r0, 0x40 - bl SetGpuReg - ldrh r1, [r4, 0xC] - movs r0, 0x44 - bl SetGpuReg - ldrh r1, [r4, 0xE] - movs r0, 0x48 - bl SetGpuReg - ldrh r1, [r4, 0x10] - movs r0, 0x4A - bl SetGpuReg - ldrh r1, [r4, 0x12] - movs r0, 0x10 - bl SetGpuReg - ldrh r1, [r4, 0x14] - movs r0, 0x12 - bl SetGpuReg - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08086420: .4byte sub_80860E0 -_08086424: .4byte gTasks - thumb_func_end sub_80863C0 - - thumb_func_start sub_8086428 -sub_8086428: @ 8086428 - push {r4,r5,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0808645C @ =0x06000140 - adds r2, r0, r1 - movs r1, 0 - ldr r5, _08086460 @ =gUnknown_83CB810 - movs r0, 0xF0 - lsls r0, 8 - adds r4, r0, 0 - ldr r3, _08086464 @ =0x0000013f -_0808643E: - lsls r0, r1, 1 - adds r0, r5 - ldrh r0, [r0] - orrs r0, r4 - strh r0, [r2] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - adds r2, 0x2 - cmp r1, r3 - bls _0808643E - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808645C: .4byte 0x06000140 -_08086460: .4byte gUnknown_83CB810 -_08086464: .4byte 0x0000013f - thumb_func_end sub_8086428 - - thumb_func_start sub_8086468 -sub_8086468: @ 8086468 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08086490 @ =gUnknown_83CC138 - ldr r2, _08086494 @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08086490: .4byte gUnknown_83CC138 -_08086494: .4byte gTasks - thumb_func_end sub_8086468 - - thumb_func_start sub_8086498 -sub_8086498: @ 8086498 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0xA] - movs r0, 0x10 - bl SetGpuReg - ldrh r1, [r4, 0xC] - movs r0, 0x12 - bl SetGpuReg - adds r0, r4, 0 - adds r0, 0x22 - ldr r1, _080864CC @ =gMain - ldr r1, [r1, 0xC] - bl StoreWordInTwoHalfwords - ldr r0, _080864D0 @ =sub_80866E0 - bl SetVBlankCallback - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080864CC: .4byte gMain -_080864D0: .4byte sub_80866E0 - thumb_func_end sub_8086498 - - thumb_func_start sub_80864D4 -sub_80864D4: @ 80864D4 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - mov r9, r0 - movs r0, 0x8 - bl GetGpuReg - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 18 - lsls r5, 30 - lsrs r5, 16 - movs r0, 0x8 - bl GetGpuReg - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 24 - lsls r4, 27 - lsrs r4, 16 - movs r0, 0 - mov r8, r0 - mov r1, r9 - strh r4, [r1, 0x20] - ldr r0, _08086548 @ =gUnknown_83CBA90 - movs r6, 0xC0 - lsls r6, 19 - adds r5, r6 - adds r1, r5, 0 - movs r2, 0x40 - bl CpuSet - mov r0, r8 - str r0, [sp] - adds r4, r6 - ldr r2, _0808654C @ =0x05000200 - mov r0, sp - adds r1, r4, 0 - bl CpuSet - ldr r0, _08086550 @ =gUnknown_83CBB10 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - mov r1, r9 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08086548: .4byte gUnknown_83CBA90 -_0808654C: .4byte 0x05000200 -_08086550: .4byte gUnknown_83CBB10 - thumb_func_end sub_80864D4 - - thumb_func_start sub_8086554 -sub_8086554: @ 8086554 - push {r4,lr} - adds r4, r0, 0 - bl sub_8086738 - lsls r0, 24 - cmp r0, 0 - beq _080865A6 - movs r0, 0x48 - bl GetGpuReg - strh r0, [r4, 0x12] - movs r1, 0xFF - ands r1, r0 - movs r2, 0x88 - lsls r2, 5 - adds r0, r2, 0 - orrs r1, r0 - movs r0, 0x48 - bl SetGpuReg - movs r0, 0x42 - movs r1, 0xF0 - bl SetGpuReg - ldr r1, _080865B4 @ =0x00002878 - movs r0, 0x46 - bl SetGpuReg - ldr r2, _080865B8 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _080865BC @ =sub_80868C0 - str r1, [r0] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080865A6: - adds r0, r4, 0 - bl sub_8086728 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080865B4: .4byte 0x00002878 -_080865B8: .4byte gSprites -_080865BC: .4byte sub_80868C0 - thumb_func_end sub_8086554 - - thumb_func_start sub_80865C0 -sub_80865C0: @ 80865C0 - push {r4,lr} - adds r4, r0, 0 - bl sub_8086728 - ldr r2, _080865EC @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x3C - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _080865E4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080865E4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080865EC: .4byte gSprites - thumb_func_end sub_80865C0 - - thumb_func_start sub_80865F0 -sub_80865F0: @ 80865F0 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_8086728 - ldrh r1, [r4, 0xA] - movs r0, 0x7 - ands r0, r1 - movs r1, 0 - strh r0, [r4, 0xE] - strh r1, [r4, 0x10] - ldr r5, _0808662C @ =0x0000ffff - movs r0, 0x42 - adds r1, r5, 0 - bl SetGpuReg - movs r0, 0x46 - adds r1, r5, 0 - bl SetGpuReg - ldrh r1, [r4, 0x12] - movs r0, 0x48 - bl SetGpuReg - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808662C: .4byte 0x0000ffff - thumb_func_end sub_80865F0 - - thumb_func_start sub_8086630 -sub_8086630: @ 8086630 - push {r4,lr} - adds r4, r0, 0 - bl sub_8086728 - adds r0, r4, 0 - bl sub_80867F0 - lsls r0, 24 - cmp r0, 0 - beq _0808664A - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0808664A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8086630 - - thumb_func_start sub_8086650 -sub_8086650: @ 8086650 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - movs r0, 0x8 - bl GetGpuReg - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 24 - lsls r1, 27 - lsrs r1, 16 - movs r0, 0 - str r0, [sp] - movs r0, 0xC0 - lsls r0, 19 - adds r1, r0 - ldr r2, _080866D4 @ =0x05000200 - mov r0, sp - bl CpuSet - adds r0, r4, 0 - adds r0, 0x22 - add r1, sp, 0x4 - bl LoadWordFromTwoHalfwords - ldr r0, [sp, 0x4] - bl SetVBlankCallback - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - bl Menu_LoadStdPal - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080866D8 @ =gSprites - adds r0, r1 - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - bl sub_8083A5C - movs r0, 0x6 - bl FieldEffectActiveListRemove - ldr r0, _080866DC @ =sub_8086468 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080866D4: .4byte 0x05000200 -_080866D8: .4byte gSprites -_080866DC: .4byte sub_8086468 - thumb_func_end sub_8086650 - - thumb_func_start sub_80866E0 -sub_80866E0: @ 80866E0 - push {r4,lr} - sub sp, 0x4 - ldr r0, _08086720 @ =sub_8086468 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _08086724 @ =gTasks - adds r4, r0 - adds r0, r4, 0 - adds r0, 0x22 - mov r1, sp - bl LoadWordFromTwoHalfwords - ldr r0, [sp] - bl _call_via_r0 - ldrh r1, [r4, 0xA] - movs r0, 0x10 - bl SetGpuReg - ldrh r1, [r4, 0xC] - movs r0, 0x12 - bl SetGpuReg - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08086720: .4byte sub_8086468 -_08086724: .4byte gTasks - thumb_func_end sub_80866E0 - - thumb_func_start sub_8086728 -sub_8086728: @ 8086728 - ldrh r1, [r0, 0xA] - subs r1, 0x10 - strh r1, [r0, 0xA] - ldrh r1, [r0, 0xE] - adds r1, 0x10 - strh r1, [r0, 0xE] - bx lr - thumb_func_end sub_8086728 - - thumb_func_start sub_8086738 -sub_8086738: @ 8086738 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r5, r0, 0 - ldrh r2, [r5, 0x10] - movs r1, 0x10 - ldrsh r0, [r5, r1] - cmp r0, 0x1F - ble _08086754 - movs r0, 0x1 - b _080867D8 -_08086754: - ldrh r0, [r5, 0xE] - lsls r0, 16 - asrs r3, r0, 19 - movs r1, 0x1F - ands r3, r1 - movs r4, 0x10 - ldrsh r0, [r5, r4] - cmp r3, r0 - blt _080867D6 - movs r0, 0x20 - subs r3, r0, r3 - ands r3, r1 - subs r0, r2 - mov r12, r0 - mov r7, r12 - ands r7, r1 - mov r12, r7 - ldrh r0, [r5, 0x20] - ldr r1, _080867E8 @ =0x06000140 - adds r1, r0 - mov r8, r1 - movs r4, 0 - ldr r7, _080867EC @ =gUnknown_83CBB30 - mov r10, r7 - movs r0, 0xF0 - lsls r0, 8 - mov r9, r0 - adds r1, r3, 0x1 - movs r0, 0x1F - ands r1, r0 - str r1, [sp] - mov r6, r12 - adds r6, 0x1 - ands r6, r0 -_08086798: - lsls r1, r4, 5 - adds r2, r1, r3 - lsls r2, 1 - add r2, r8 - mov r7, r12 - adds r0, r7, r1 - lsls r0, 1 - add r0, r10 - ldrh r0, [r0] - mov r7, r9 - orrs r0, r7 - strh r0, [r2] - ldr r0, [sp] - adds r2, r1, r0 - lsls r2, 1 - add r2, r8 - adds r1, r6, r1 - lsls r1, 1 - add r1, r10 - ldrh r0, [r1] - mov r1, r9 - orrs r0, r1 - strh r0, [r2] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x9 - bls _08086798 - ldrh r0, [r5, 0x10] - adds r0, 0x2 - strh r0, [r5, 0x10] -_080867D6: - movs r0, 0 -_080867D8: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080867E8: .4byte 0x06000140 -_080867EC: .4byte gUnknown_83CBB30 - thumb_func_end sub_8086738 - - thumb_func_start sub_80867F0 -sub_80867F0: @ 80867F0 - push {r4-r7,lr} - adds r5, r0, 0 - movs r1, 0x10 - ldrsh r0, [r5, r1] - cmp r0, 0x1F - ble _08086800 - movs r0, 0x1 - b _08086854 -_08086800: - ldrh r0, [r5, 0xE] - lsls r0, 16 - asrs r0, 19 - lsls r0, 16 - lsrs r2, r0, 16 - movs r1, 0x10 - ldrsh r0, [r5, r1] - cmp r2, r0 - blt _08086852 - ldrh r0, [r5, 0xA] - lsls r0, 16 - asrs r2, r0, 19 - movs r0, 0x1F - ands r2, r0 - ldrh r0, [r5, 0x20] - ldr r1, _0808685C @ =0x06000140 - adds r6, r0, r1 - movs r3, 0 - movs r0, 0xF0 - lsls r0, 8 - adds r7, r0, 0 - adds r4, r2, 0x1 - movs r0, 0x1F - ands r4, r0 -_08086830: - lsls r0, r3, 5 - adds r1, r0, r2 - lsls r1, 1 - adds r1, r6 - strh r7, [r1] - adds r0, r4 - lsls r0, 1 - adds r0, r6 - strh r7, [r0] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x9 - bls _08086830 - ldrh r0, [r5, 0x10] - adds r0, 0x2 - strh r0, [r5, 0x10] -_08086852: - movs r0, 0 -_08086854: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0808685C: .4byte 0x06000140 - thumb_func_end sub_80867F0 - - thumb_func_start sub_8086860 -sub_8086860: @ 8086860 - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - movs r5, 0x80 - lsls r5, 24 - ands r5, r6 - lsrs r5, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r0, _080868B4 @ =0x7fffffff - ands r6, r0 - lsls r0, r6, 16 - lsrs r0, 16 - movs r3, 0xA0 - lsls r3, 1 - movs r4, 0x50 - str r4, [sp] - movs r4, 0 - str r4, [sp, 0x4] - bl sub_80839D4 - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r1, _080868B8 @ =gSprites - adds r2, r1 - ldr r1, _080868BC @ =SpriteCallbackDummy - str r1, [r2, 0x1C] - ldrb r3, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - strb r1, [r2, 0x5] - strh r6, [r2, 0x2E] - strh r5, [r2, 0x3A] - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080868B4: .4byte 0x7fffffff -_080868B8: .4byte gSprites -_080868BC: .4byte SpriteCallbackDummy - thumb_func_end sub_8086860 - - thumb_func_start sub_80868C0 -sub_80868C0: @ 80868C0 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x20] - subs r0, 0x14 - strh r0, [r1, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x78 - bgt _08086900 - movs r0, 0x78 - strh r0, [r1, 0x20] - movs r0, 0x1E - strh r0, [r1, 0x30] - ldr r0, _080868F4 @ =sub_8086904 - str r0, [r1, 0x1C] - movs r2, 0x3A - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _080868F8 - ldrh r0, [r1, 0x2E] - movs r1, 0 - movs r2, 0x7D - movs r3, 0xA - bl PlayCry2 - b _08086900 - .align 2, 0 -_080868F4: .4byte sub_8086904 -_080868F8: - ldrh r0, [r1, 0x2E] - movs r1, 0 - bl PlayCry1 -_08086900: - pop {r0} - bx r0 - thumb_func_end sub_80868C0 - - thumb_func_start sub_8086904 -sub_8086904: @ 8086904 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - subs r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _08086918 - ldr r0, _0808691C @ =sub_8086920 - str r0, [r1, 0x1C] -_08086918: - pop {r0} - bx r0 - .align 2, 0 -_0808691C: .4byte sub_8086920 - thumb_func_end sub_8086904 - - thumb_func_start sub_8086920 -sub_8086920: @ 8086920 - push {lr} - adds r2, r0, 0 - ldrh r3, [r2, 0x20] - movs r0, 0x20 - ldrsh r1, [r2, r0] - movs r0, 0x40 - negs r0, r0 - cmp r1, r0 - bge _08086938 - movs r0, 0x1 - strh r0, [r2, 0x3C] - b _0808693E -_08086938: - adds r0, r3, 0 - subs r0, 0x14 - strh r0, [r2, 0x20] -_0808693E: - pop {r0} - bx r0 - thumb_func_end sub_8086920 - - thumb_func_start sub_8086944 -sub_8086944: @ 8086944 - push {r4,lr} - ldr r0, _08086980 @ =sub_8086990 - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08086984 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _08086988 @ =gFieldEffectArguments - ldr r0, [r0] - strh r0, [r1, 0x26] - bl sav1_reset_battle_music_maybe - ldr r4, _0808698C @ =0x00000131 - adds r0, r4, 0 - bl sub_8056124 - cmp r0, 0 - beq _08086978 - adds r0, r4, 0 - bl Overworld_ChangeMusicTo -_08086978: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08086980: .4byte sub_8086990 -_08086984: .4byte gTasks -_08086988: .4byte gFieldEffectArguments -_0808698C: .4byte 0x00000131 - thumb_func_end sub_8086944 - - thumb_func_start sub_8086990 -sub_8086990: @ 8086990 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _080869B8 @ =gUnknown_83CC154 - ldr r2, _080869BC @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_080869B8: .4byte gUnknown_83CC154 -_080869BC: .4byte gTasks - thumb_func_end sub_8086990 - - thumb_func_start sub_80869C0 -sub_80869C0: @ 80869C0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - bl ScriptContext2_Enable - bl FreezeObjectEvents - ldr r5, _08086A18 @ =gPlayerAvatar - movs r0, 0x1 - strb r0, [r5, 0x6] - movs r0, 0x8 - bl SetPlayerAvatarStateMask - adds r6, r4, 0 - adds r6, 0xA - movs r0, 0xC - adds r0, r4 - mov r8, r0 - adds r0, r6, 0 - mov r1, r8 - bl PlayerGetDestCoords - ldr r2, _08086A1C @ =gObjectEvents - ldrb r1, [r5, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x18] - lsrs r0, 4 - adds r1, r6, 0 - mov r2, r8 - bl MoveCoords - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08086A18: .4byte gPlayerAvatar -_08086A1C: .4byte gObjectEvents - thumb_func_end sub_80869C0 - - thumb_func_start sub_8086A20 -sub_8086A20: @ 8086A20 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _08086A64 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08086A68 @ =gObjectEvents - adds r4, r0, r1 - adds r0, r4, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _08086A4A - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _08086A5C -_08086A4A: - bl sub_805CB70 - adds r0, r4, 0 - movs r1, 0x45 - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_08086A5C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08086A64: .4byte gPlayerAvatar -_08086A68: .4byte gObjectEvents - thumb_func_end sub_8086A20 - - thumb_func_start sub_8086A6C -sub_8086A6C: @ 8086A6C - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08086AA8 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08086AAC @ =gObjectEvents - adds r0, r1 - bl ObjectEventCheckHeldMovementStatus - lsls r0, 24 - cmp r0, 0 - beq _08086AA2 - ldr r2, _08086AB0 @ =gFieldEffectArguments - movs r1, 0x26 - ldrsh r0, [r4, r1] - movs r1, 0x80 - lsls r1, 24 - orrs r0, r1 - str r0, [r2] - movs r0, 0x3B - bl FieldEffectStart - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08086AA2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08086AA8: .4byte gPlayerAvatar -_08086AAC: .4byte gObjectEvents -_08086AB0: .4byte gFieldEffectArguments - thumb_func_end sub_8086A6C - - thumb_func_start sub_8086AB4 -sub_8086AB4: @ 8086AB4 - push {r4-r6,lr} - adds r6, r0, 0 - movs r0, 0x6 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _08086B1E - ldr r5, _08086B24 @ =gPlayerAvatar - ldrb r0, [r5, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _08086B28 @ =gObjectEvents - adds r4, r0 - movs r0, 0x2 - bl sub_805C808 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetGraphicsId - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl sub_80641C0 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - ldr r1, _08086B2C @ =gFieldEffectArguments - movs r2, 0xA - ldrsh r0, [r6, r2] - str r0, [r1] - movs r2, 0xC - ldrsh r0, [r6, r2] - str r0, [r1, 0x4] - ldrb r0, [r5, 0x5] - str r0, [r1, 0x8] - movs r0, 0x8 - bl FieldEffectStart - strb r0, [r4, 0x1A] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] -_08086B1E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08086B24: .4byte gPlayerAvatar -_08086B28: .4byte gObjectEvents -_08086B2C: .4byte gFieldEffectArguments - thumb_func_end sub_8086AB4 - - thumb_func_start sub_8086B30 -sub_8086B30: @ 8086B30 - push {r4,r5,lr} - ldr r5, _08086B9C @ =gPlayerAvatar - ldrb r1, [r5, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08086BA0 @ =gObjectEvents - adds r4, r0, r1 - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _08086B96 - movs r0, 0 - strb r0, [r5, 0x6] - ldrb r1, [r5] - movs r0, 0xDF - ands r0, r1 - strb r0, [r5] - ldrb r0, [r4, 0x18] - lsrs r0, 4 - bl GetFaceDirectionMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - ldrb r0, [r4, 0x1A] - movs r1, 0x1 - bl sub_80DC44C - bl UnfreezeObjectEvents - bl ScriptContext2_Disable - movs r0, 0x9 - bl FieldEffectActiveListRemove - ldr r0, _08086BA4 @ =sub_8086990 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0x16 - bl HelpSystem_SetSomeVariable2 -_08086B96: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08086B9C: .4byte gPlayerAvatar -_08086BA0: .4byte gObjectEvents -_08086BA4: .4byte sub_8086990 - thumb_func_end sub_8086B30 - - thumb_func_start sub_8086BA8 -sub_8086BA8: @ 8086BA8 - push {lr} - ldr r0, _08086BC8 @ =gQuestLogState - ldrb r0, [r0] - cmp r0, 0x1 - bne _08086BBA - movs r0, 0x8 - movs r1, 0x59 - bl sub_811278C -_08086BBA: - ldr r0, _08086BCC @ =sub_8086BD0 - movs r1, 0xFF - bl CreateTask - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08086BC8: .4byte gQuestLogState -_08086BCC: .4byte sub_8086BD0 - thumb_func_end sub_8086BA8 - - thumb_func_start sub_8086BD0 -sub_8086BD0: @ 8086BD0 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08086BF8 @ =gUnknown_83CC168 - ldr r2, _08086BFC @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08086BF8: .4byte gUnknown_83CC168 -_08086BFC: .4byte gTasks - thumb_func_end sub_8086BD0 - - thumb_func_start sub_8086C00 -sub_8086C00: @ 8086C00 - push {r4,lr} - adds r4, r0, 0 - bl ScriptContext2_Enable - bl FreezeObjectEvents - ldr r1, _08086C20 @ =gPlayerAvatar - movs r0, 0x1 - strb r0, [r1, 0x6] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08086C20: .4byte gPlayerAvatar - thumb_func_end sub_8086C00 - - thumb_func_start sub_8086C24 -sub_8086C24: @ 8086C24 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _08086C68 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08086C6C @ =gObjectEvents - adds r4, r0, r1 - adds r0, r4, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _08086C4E - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _08086C60 -_08086C4E: - bl sub_805CBE8 - adds r0, r4, 0 - movs r1, 0x45 - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_08086C60: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08086C68: .4byte gPlayerAvatar -_08086C6C: .4byte gObjectEvents - thumb_func_end sub_8086C24 - - thumb_func_start sub_8086C70 -sub_8086C70: @ 8086C70 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r5, _08086C9C @ =gPlayerAvatar - ldrb r1, [r5, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08086CA0 @ =gObjectEvents - adds r4, r0, r1 - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _08086CEE - ldrb r1, [r5] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - beq _08086CA4 - movs r0, 0x1 - b _08086CAE - .align 2, 0 -_08086C9C: .4byte gPlayerAvatar -_08086CA0: .4byte gObjectEvents -_08086CA4: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08086CC0 - movs r0, 0x2 -_08086CAE: - bl sub_805C808 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetGraphicsId - b _08086CD2 -_08086CC0: - movs r0, 0 - bl sub_805C808 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetGraphicsId -_08086CD2: - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventForceSetHeldMovement - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] -_08086CEE: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8086C70 - - thumb_func_start sub_8086CF4 -sub_8086CF4: @ 8086CF4 - push {r4,lr} - ldr r4, _08086D2C @ =gPlayerAvatar - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08086D30 @ =gObjectEvents - adds r0, r1 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _08086D26 - movs r0, 0 - strb r0, [r4, 0x6] - movs r0, 0x41 - bl FieldEffectActiveListRemove - ldr r0, _08086D34 @ =sub_8086BD0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_08086D26: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08086D2C: .4byte gPlayerAvatar -_08086D30: .4byte gObjectEvents -_08086D34: .4byte sub_8086BD0 - thumb_func_end sub_8086CF4 - - thumb_func_start sub_8086D38 -sub_8086D38: @ 8086D38 - push {r4,lr} - ldr r0, _08086D84 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x68] - movs r1, 0x78 - movs r2, 0 - movs r3, 0x1 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r2, r4, 4 - adds r2, r4 - lsls r2, 2 - ldr r0, _08086D88 @ =gSprites - adds r2, r0 - ldrb r1, [r2, 0x5] - movs r0, 0xF - ands r0, r1 - movs r1, 0xD - negs r1, r1 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, _08086D8C @ =sub_8086D94 - str r0, [r2, 0x1C] - ldr r0, _08086D90 @ =gFieldEffectArguments - ldr r0, [r0] - strh r0, [r2, 0x30] - movs r0, 0x97 - bl PlaySE - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08086D84: .4byte gFieldEffectObjectTemplatePointers -_08086D88: .4byte gSprites -_08086D8C: .4byte sub_8086D94 -_08086D90: .4byte gFieldEffectArguments - thumb_func_end sub_8086D38 - - thumb_func_start sub_8086D94 -sub_8086D94: @ 8086D94 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r1, 0x8C - bl Cos - movs r5, 0 - strh r0, [r4, 0x24] - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0x48 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x4 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x32] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08086DF6 - movs r2, 0x30 - ldrsh r0, [r4, r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08086E0C @ =gSprites - adds r1, r0 - adds r3, r1, 0 - adds r3, 0x3E - ldrb r2, [r3] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - strb r0, [r3] - ldrh r0, [r4, 0x24] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r1, 0x20] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - subs r0, 0x8 - strh r0, [r1, 0x22] - strh r5, [r1, 0x24] - strh r5, [r1, 0x26] -_08086DF6: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x7F - ble _08086E06 - adds r0, r4, 0 - movs r1, 0x1E - bl FieldEffectStop -_08086E06: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08086E0C: .4byte gSprites - thumb_func_end sub_8086D94 - - thumb_func_start FldEff_UseFly -FldEff_UseFly: @ 8086E10 - push {lr} - ldr r0, _08086E34 @ =sub_8086E40 - movs r1, 0xFE - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08086E38 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _08086E3C @ =gFieldEffectArguments - ldr r0, [r0] - strh r0, [r1, 0xA] - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08086E34: .4byte sub_8086E40 -_08086E38: .4byte gTasks -_08086E3C: .4byte gFieldEffectArguments - thumb_func_end FldEff_UseFly - - thumb_func_start sub_8086E40 -sub_8086E40: @ 8086E40 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08086E68 @ =gUnknown_83CC178 - ldr r2, _08086E6C @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_08086E68: .4byte gUnknown_83CC178 -_08086E6C: .4byte gTasks - thumb_func_end sub_8086E40 - - thumb_func_start sub_8086E70 -sub_8086E70: @ 8086E70 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, _08086EC0 @ =gPlayerAvatar - ldrb r1, [r6, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08086EC4 @ =gObjectEvents - adds r4, r0, r1 - adds r0, r4, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _08086E9A - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _08086EB8 -_08086E9A: - ldrb r0, [r6] - strh r0, [r5, 0x26] - movs r0, 0x1 - strb r0, [r6, 0x6] - bl SetPlayerAvatarStateMask - bl sub_805CB70 - adds r0, r4, 0 - movs r1, 0x45 - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_08086EB8: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08086EC0: .4byte gPlayerAvatar -_08086EC4: .4byte gObjectEvents - thumb_func_end sub_8086E70 - - thumb_func_start sub_8086EC8 -sub_8086EC8: @ 8086EC8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08086F00 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08086F04 @ =gObjectEvents - adds r0, r1 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _08086EF8 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldr r1, _08086F08 @ =gFieldEffectArguments - movs r2, 0xA - ldrsh r0, [r4, r2] - str r0, [r1] - movs r0, 0x3B - bl FieldEffectStart -_08086EF8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08086F00: .4byte gPlayerAvatar -_08086F04: .4byte gObjectEvents -_08086F08: .4byte gFieldEffectArguments - thumb_func_end sub_8086EC8 - - thumb_func_start sub_8086F0C -sub_8086F0C: @ 8086F0C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _08086F54 - ldr r0, _08086F5C @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08086F60 @ =gObjectEvents - adds r5, r0, r1 - ldrh r1, [r4, 0x26] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08086F44 - ldrb r0, [r5, 0x1A] - movs r1, 0x2 - bl sub_80DC44C - ldrb r0, [r5, 0x1A] - movs r1, 0 - bl sub_80DC478 -_08086F44: - bl sub_8087168 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08086F54: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08086F5C: .4byte gPlayerAvatar -_08086F60: .4byte gObjectEvents - thumb_func_end sub_8086F0C - - thumb_func_start sub_8086F64 -sub_8086F64: @ 8086F64 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0xA] - bl sub_80871AC - lsls r0, 24 - cmp r0, 0 - beq _08086F98 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x10 - strh r0, [r4, 0xC] - movs r0, 0x1 - bl SetPlayerAvatarTransitionFlags - ldr r0, _08086FA0 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08086FA4 @ =gObjectEvents - adds r0, r1 - movs r1, 0x2 - bl ObjectEventSetHeldMovement -_08086F98: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08086FA0: .4byte gPlayerAvatar -_08086FA4: .4byte gObjectEvents - thumb_func_end sub_8086F64 - - thumb_func_start sub_8086FA8 -sub_8086FA8: @ 8086FA8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08086FF4 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08086FF8 @ =gObjectEvents - adds r2, r0, r1 - ldrh r1, [r4, 0xC] - movs r3, 0xC - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _08086FCE - subs r0, r1, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bne _08086FEC -_08086FCE: - adds r0, r2, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _08086FEC - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x97 - bl PlaySE - ldrb r0, [r4, 0xA] - bl sub_80871C8 -_08086FEC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08086FF4: .4byte gPlayerAvatar -_08086FF8: .4byte gObjectEvents - thumb_func_end sub_8086FA8 - - thumb_func_start sub_8086FFC -sub_8086FFC: @ 8086FFC - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0xC] - adds r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _0808705A - ldr r0, _08087060 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _08087064 @ =gObjectEvents - adds r4, r0 - movs r0, 0x2 - bl sub_805C808 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetGraphicsId - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08087068 @ =gSprites - adds r0, r1 - movs r1, 0x16 - bl StartSpriteAnim - ldrb r0, [r4, 0x1] - movs r1, 0x10 - orrs r0, r1 - strb r0, [r4, 0x1] - adds r0, r4, 0 - movs r1, 0x54 - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - strh r0, [r5, 0xC] -_0808705A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08087060: .4byte gPlayerAvatar -_08087064: .4byte gObjectEvents -_08087068: .4byte gSprites - thumb_func_end sub_8086FFC - - thumb_func_start sub_808706C -sub_808706C: @ 808706C - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0xC] - adds r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - ble _080870FC - ldr r0, _08087104 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _08087108 @ =gObjectEvents - adds r4, r0 - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfActive - ldrb r1, [r4, 0x1] - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - ldrb r1, [r4, 0x2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] - ldrb r0, [r5, 0xA] - ldrb r1, [r4, 0x4] - bl sub_8087204 - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0808710C @ =gSprites - adds r0, r4 - ldr r1, _08087110 @ =gSaveBlock2Ptr - ldr r1, [r1] - ldrb r1, [r1, 0x8] - lsls r1, 1 - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - bl sub_80877FC - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, 0x1C - adds r0, r4 - ldr r1, _08087114 @ =sub_8087828 - str r1, [r0] - bl CameraObjectReset2 - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080870FC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08087104: .4byte gPlayerAvatar -_08087108: .4byte gObjectEvents -_0808710C: .4byte gSprites -_08087110: .4byte gSaveBlock2Ptr -_08087114: .4byte sub_8087828 - thumb_func_end sub_808706C - - thumb_func_start sub_8087118 -sub_8087118: @ 8087118 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0xA] - bl sub_80871AC - lsls r0, 24 - cmp r0, 0 - beq _08087132 - bl sub_807DC18 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08087132: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8087118 - - thumb_func_start sub_8087138 -sub_8087138: @ 8087138 - push {lr} - ldr r0, _08087160 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0808715A - movs r0, 0x1F - bl FieldEffectActiveListRemove - ldr r0, _08087164 @ =sub_8086E40 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_0808715A: - pop {r0} - bx r0 - .align 2, 0 -_08087160: .4byte gPaletteFade -_08087164: .4byte sub_8086E40 - thumb_func_end sub_8087138 - - thumb_func_start sub_8087168 -sub_8087168: @ 8087168 - push {lr} - ldr r0, _080871A0 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x68] - movs r1, 0xFF - movs r2, 0xB4 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r1, _080871A4 @ =gSprites - adds r2, r1 - ldrb r3, [r2, 0x5] - movs r1, 0xF - ands r1, r3 - movs r3, 0xD - negs r3, r3 - ands r1, r3 - movs r3, 0x4 - orrs r1, r3 - strb r1, [r2, 0x5] - ldr r1, _080871A8 @ =sub_8087220 - str r1, [r2, 0x1C] - pop {r1} - bx r1 - .align 2, 0 -_080871A0: .4byte gFieldEffectObjectTemplatePointers -_080871A4: .4byte gSprites -_080871A8: .4byte sub_8087220 - thumb_func_end sub_8087168 - - thumb_func_start sub_80871AC -sub_80871AC: @ 80871AC - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080871C4 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x3C] - lsls r0, 24 - lsrs r0, 24 - bx lr - .align 2, 0 -_080871C4: .4byte gSprites - thumb_func_end sub_80871AC - - thumb_func_start sub_80871C8 -sub_80871C8: @ 80871C8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _080871FC @ =gSprites - adds r4, r0 - ldr r0, _08087200 @ =sub_80872F0 - str r0, [r4, 0x1C] - movs r1, 0 - movs r0, 0x78 - strh r0, [r4, 0x20] - strh r1, [r4, 0x22] - strh r1, [r4, 0x24] - strh r1, [r4, 0x26] - adds r0, r4, 0 - adds r0, 0x2E - movs r2, 0x10 - bl memset - movs r0, 0x40 - strh r0, [r4, 0x3A] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080871FC: .4byte gSprites -_08087200: .4byte sub_80872F0 - thumb_func_end sub_80871C8 - - thumb_func_start sub_8087204 -sub_8087204: @ 8087204 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _0808721C @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - strh r1, [r2, 0x3A] - bx lr - .align 2, 0 -_0808721C: .4byte gSprites - thumb_func_end sub_8087204 - - thumb_func_start sub_8087220 -sub_8087220: @ 8087220 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080872E2 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0808727A - ldrb r0, [r4, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r0, _0808725C @ =gUnknown_83CC1CC - str r0, [r4, 0x10] - adds r0, r4, 0 - bl InitSpriteAffineAnim - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAffineAnim - ldr r0, _08087260 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08087264 - movs r0, 0x80 - b _08087266 - .align 2, 0 -_0808725C: .4byte gUnknown_83CC1CC -_08087260: .4byte gSaveBlock2Ptr -_08087264: - movs r0, 0x76 -_08087266: - strh r0, [r4, 0x20] - ldr r0, _080872E8 @ =0x0000ffd0 - strh r0, [r4, 0x22] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0x40 - strh r0, [r4, 0x30] - adds r0, 0xC0 - strh r0, [r4, 0x32] -_0808727A: - ldrh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r4, 0x30] - adds r0, r1 - strh r0, [r4, 0x30] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x78 - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x78 - bl Sin - strh r0, [r4, 0x26] - ldrh r2, [r4, 0x32] - movs r0, 0x32 - ldrsh r1, [r4, r0] - ldr r0, _080872EC @ =0x000007ff - cmp r1, r0 - bgt _080872B0 - adds r0, r2, 0 - adds r0, 0x60 - strh r0, [r4, 0x32] -_080872B0: - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x81 - ble _080872E2 - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r1, [r4, 0x1] - lsrs r1, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - adds r0, r4, 0 - movs r3, 0 - bl CalcCenterToCornerVec -_080872E2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080872E8: .4byte 0x0000ffd0 -_080872EC: .4byte 0x000007ff - thumb_func_end sub_8087220 - - thumb_func_start sub_80872F0 -sub_80872F0: @ 80872F0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r1, 0x8C - bl Cos - movs r5, 0 - strh r0, [r4, 0x24] - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0x48 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x4 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x32] - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0x40 - beq _0808734E - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08087360 @ =gSprites - adds r1, r0 - adds r3, r1, 0 - adds r3, 0x3E - ldrb r2, [r3] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - strb r0, [r3] - ldrh r0, [r4, 0x24] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r1, 0x20] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - subs r0, 0x8 - strh r0, [r1, 0x22] - strh r5, [r1, 0x24] - strh r5, [r1, 0x26] -_0808734E: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x7F - ble _0808735A - movs r0, 0x1 - strh r0, [r4, 0x3C] -_0808735A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08087360: .4byte gSprites - thumb_func_end sub_80872F0 - - thumb_func_start sub_8087364 -sub_8087364: @ 8087364 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0808744E - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080873C4 - ldrb r0, [r4, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r0, _080873A0 @ =gUnknown_83CC1CC - str r0, [r4, 0x10] - adds r0, r4, 0 - bl InitSpriteAffineAnim - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r0, _080873A4 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _080873A8 - movs r0, 0x70 - b _080873AA - .align 2, 0 -_080873A0: .4byte gUnknown_83CC1CC -_080873A4: .4byte gSaveBlock2Ptr -_080873A8: - movs r0, 0x64 -_080873AA: - strh r0, [r4, 0x20] - ldr r0, _08087454 @ =0x0000ffe0 - strh r0, [r4, 0x22] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0xF0 - strh r0, [r4, 0x30] - movs r0, 0x80 - lsls r0, 4 - strh r0, [r4, 0x32] - movs r0, 0x80 - strh r0, [r4, 0x36] -_080873C4: - ldrh r1, [r4, 0x32] - lsls r1, 16 - asrs r1, 24 - ldrh r2, [r4, 0x30] - adds r2, r1 - ldrh r0, [r4, 0x34] - adds r0, r1 - strh r0, [r4, 0x34] - movs r0, 0xFF - ands r2, r0 - strh r2, [r4, 0x30] - movs r3, 0x30 - ldrsh r0, [r4, r3] - movs r1, 0x20 - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x78 - bl Sin - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x32] - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r2, 0x80 - lsls r2, 1 - cmp r0, r2 - ble _08087406 - ldrh r0, [r4, 0x36] - subs r0, r1, r0 - strh r0, [r4, 0x32] -_08087406: - ldrh r1, [r4, 0x36] - movs r3, 0x36 - ldrsh r0, [r4, r3] - cmp r0, 0xFF - bgt _08087416 - adds r0, r1, 0 - adds r0, 0x18 - strh r0, [r4, 0x36] -_08087416: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0xFF - bgt _08087420 - strh r2, [r4, 0x32] -_08087420: - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r0, 0x3B - ble _0808744E - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_0808744E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08087454: .4byte 0x0000ffe0 - thumb_func_end sub_8087364 - - thumb_func_start sub_8087458 -sub_8087458: @ 8087458 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_80871C8 - ldr r1, _0808747C @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r1, 0x1C - adds r0, r1 - ldr r1, _08087480 @ =sub_8087364 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808747C: .4byte gSprites -_08087480: .4byte sub_8087364 - thumb_func_end sub_8087458 - - thumb_func_start FldEff_FlyIn -FldEff_FlyIn: @ 8087484 - push {lr} - ldr r0, _08087494 @ =sub_8087498 - movs r1, 0xFE - bl CreateTask - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08087494: .4byte sub_8087498 - thumb_func_end FldEff_FlyIn - - thumb_func_start sub_8087498 -sub_8087498: @ 8087498 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _080874C0 @ =gUnknown_83CC1D4 - ldr r2, _080874C4 @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_080874C0: .4byte gUnknown_83CC1D4 -_080874C4: .4byte gTasks - thumb_func_end sub_8087498 - - thumb_func_start sub_80874C8 -sub_80874C8: @ 80874C8 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r4, _080875B4 @ =gPlayerAvatar - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080875B8 @ =gObjectEvents - adds r5, r0, r1 - adds r0, r5, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _080874F2 - adds r0, r5, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _080875AE -_080874F2: - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - movs r0, 0x21 - strh r0, [r6, 0xC] - ldrb r0, [r4] - strh r0, [r6, 0x26] - movs r0, 0x1 - strb r0, [r4, 0x6] - bl SetPlayerAvatarStateMask - ldrh r1, [r6, 0x26] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0808751A - ldrb r0, [r5, 0x1A] - movs r1, 0 - bl sub_80DC44C -_0808751A: - movs r0, 0x2 - bl sub_805C808 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl ObjectEventSetGraphicsId - bl CameraObjectReset2 - adds r0, r5, 0 - movs r1, 0x3 - bl ObjectEventTurn - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _080875BC @ =gSprites - adds r0, r4 - movs r1, 0x16 - bl StartSpriteAnim - ldrb r1, [r5, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x1] - bl sub_8087168 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0xA] - bl sub_80871C8 - ldrb r0, [r6, 0xA] - ldrb r1, [r5, 0x4] - bl sub_8087204 - movs r0, 0xA - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _080875C0 @ =gSaveBlock2Ptr - ldr r1, [r1] - ldrb r1, [r1, 0x8] - lsls r1, 25 - movs r2, 0x80 - lsls r2, 18 - adds r1, r2 - lsrs r1, 24 - bl StartSpriteAnim - movs r0, 0xA - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - bl sub_80877FC - movs r2, 0xA - ldrsh r1, [r6, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, 0x1C - adds r0, r4 - ldr r1, _080875C4 @ =sub_8087828 - str r1, [r0] -_080875AE: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080875B4: .4byte gPlayerAvatar -_080875B8: .4byte gObjectEvents -_080875BC: .4byte gSprites -_080875C0: .4byte gSaveBlock2Ptr -_080875C4: .4byte sub_8087828 - thumb_func_end sub_80874C8 - - thumb_func_start sub_80875C8 -sub_80875C8: @ 80875C8 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r6, _08087638 @ =gSprites - adds r0, r6 - bl sub_80878C0 - ldrh r1, [r5, 0xC] - movs r2, 0xC - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _080875F2 - subs r0, r1, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - cmp r0, 0 - bne _08087630 -_080875F2: - ldr r0, _0808763C @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08087640 @ =gObjectEvents - adds r0, r1 - ldrb r0, [r0, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r4, r6 - ldrb r0, [r5, 0xA] - movs r1, 0x40 - bl sub_8087204 - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - strh r1, [r4, 0x24] - strh r1, [r4, 0x26] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - strh r1, [r5, 0xC] -_08087630: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08087638: .4byte gSprites -_0808763C: .4byte gPlayerAvatar -_08087640: .4byte gObjectEvents - thumb_func_end sub_80875C8 - - thumb_func_start sub_8087644 -sub_8087644: @ 8087644 - push {r4,lr} - sub sp, 0x24 - adds r4, r0, 0 - ldr r1, _0808768C @ =gUnknown_83CC1F0 - mov r0, sp - movs r2, 0x24 - bl memcpy - ldr r0, _08087690 @ =gPlayerAvatar - ldrb r0, [r0, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08087694 @ =gSprites - adds r1, r0 - movs r2, 0xC - ldrsh r0, [r4, r2] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r1, 0x26] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x11 - ble _08087682 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_08087682: - add sp, 0x24 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808768C: .4byte gUnknown_83CC1F0 -_08087690: .4byte gPlayerAvatar -_08087694: .4byte gSprites - thumb_func_end sub_8087644 - - thumb_func_start sub_8087698 -sub_8087698: @ 8087698 - push {r4-r6,lr} - adds r6, r0, 0 - ldrb r0, [r6, 0xA] - bl sub_80871AC - lsls r0, 24 - cmp r0, 0 - beq _080876FC - ldr r0, _08087704 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r5, r0, 3 - adds r5, r0 - lsls r5, 2 - ldr r0, _08087708 @ =gObjectEvents - adds r5, r0 - ldrb r0, [r5, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _0808770C @ =gSprites - adds r4, r0 - ldrb r1, [r5, 0x1] - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x1] - movs r0, 0x10 - ldrsh r1, [r5, r0] - movs r0, 0x12 - ldrsh r2, [r5, r0] - adds r0, r5, 0 - bl MoveObjectEventToMapCoords - movs r0, 0 - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - adds r4, 0x3E - ldrb r0, [r4] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4] - bl sub_805CB70 - adds r0, r5, 0 - movs r1, 0x45 - bl ObjectEventSetHeldMovement - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] -_080876FC: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08087704: .4byte gPlayerAvatar -_08087708: .4byte gObjectEvents -_0808770C: .4byte gSprites - thumb_func_end sub_8087698 - - thumb_func_start sub_8087710 -sub_8087710: @ 8087710 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08087740 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08087744 @ =gObjectEvents - adds r0, r1 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _08087738 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldrb r0, [r4, 0xA] - bl sub_8087458 -_08087738: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08087740: .4byte gPlayerAvatar -_08087744: .4byte gObjectEvents - thumb_func_end sub_8087710 - - thumb_func_start sub_8087748 -sub_8087748: @ 8087748 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0xA] - bl sub_80871AC - lsls r0, 24 - cmp r0, 0 - beq _08087774 - movs r0, 0xA - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0808777C @ =gSprites - adds r0, r1 - bl DestroySprite - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x10 - strh r0, [r4, 0xA] -_08087774: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808777C: .4byte gSprites - thumb_func_end sub_8087748 - - thumb_func_start fishE -fishE: @ 8087780 - push {r4-r7,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0xA] - subs r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - cmp r0, 0 - bne _080877EA - ldr r6, _080877F0 @ =gPlayerAvatar - ldrb r1, [r6, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080877F4 @ =gObjectEvents - adds r4, r0, r1 - movs r7, 0 - ldrh r1, [r5, 0x26] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080877B4 - movs r7, 0x2 - ldrb r0, [r4, 0x1A] - movs r1, 0x1 - bl sub_80DC44C -_080877B4: - adds r0, r7, 0 - bl sub_805C808 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetGraphicsId - adds r0, r4, 0 - movs r1, 0x1 - bl ObjectEventTurn - ldrh r0, [r5, 0x26] - strb r0, [r6] - movs r0, 0 - strb r0, [r6, 0x6] - movs r0, 0x20 - bl FieldEffectActiveListRemove - ldr r0, _080877F8 @ =sub_8087498 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080877EA: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080877F0: .4byte gPlayerAvatar -_080877F4: .4byte gObjectEvents -_080877F8: .4byte sub_8087498 - thumb_func_end fishE - - thumb_func_start sub_80877FC -sub_80877FC: @ 80877FC - push {r4,r5,lr} - adds r4, r0, 0 - lsls r5, r1, 24 - lsrs r5, 24 - ldrb r0, [r4, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r0, _08087824 @ =gUnknown_83CC23C - str r0, [r4, 0x10] - adds r0, r4, 0 - bl InitSpriteAffineAnim - adds r0, r4, 0 - adds r1, r5, 0 - bl StartSpriteAffineAnim - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08087824: .4byte gUnknown_83CC23C - thumb_func_end sub_80877FC - - thumb_func_start sub_8087828 -sub_8087828: @ 8087828 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r1, 0xB4 - bl Cos - movs r5, 0 - strh r0, [r4, 0x24] - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0x48 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x32] - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0x40 - beq _08087886 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080878BC @ =gSprites - adds r1, r0 - adds r3, r1, 0 - adds r3, 0x3E - ldrb r2, [r3] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - strb r0, [r3] - ldrh r0, [r4, 0x24] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r1, 0x20] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - subs r0, 0x8 - strh r0, [r1, 0x22] - strh r5, [r1, 0x24] - strh r5, [r1, 0x26] -_08087886: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x7F - ble _080878B4 - movs r0, 0x1 - strh r0, [r4, 0x3C] - ldrb r1, [r4, 0x1] - subs r0, 0x5 - ands r0, r1 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r1, [r4, 0x1] - lsrs r1, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - adds r0, r4, 0 - movs r3, 0 - bl CalcCenterToCornerVec -_080878B4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080878BC: .4byte gSprites - thumb_func_end sub_8087828 - - thumb_func_start sub_80878C0 -sub_80878C0: @ 80878C0 - push {r4-r6,lr} - adds r4, r0, 0 - ldrb r5, [r4, 0x1] - lsls r0, r5, 30 - cmp r0, 0 - beq _08087916 - ldr r1, _0808791C @ =gOamMatrices - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r3, r0, 27 - lsls r0, r3, 3 - adds r1, r0, r1 - movs r2, 0 - ldrsh r0, [r1, r2] - movs r2, 0x80 - lsls r2, 1 - cmp r0, r2 - beq _080878EC - movs r6, 0x6 - ldrsh r0, [r1, r6] - cmp r0, r2 - bne _08087916 -_080878EC: - movs r0, 0x4 - negs r0, r0 - ands r0, r5 - strb r0, [r4, 0x1] - adds r0, r3, 0 - bl FreeOamMatrix - ldrb r1, [r4, 0x1] - lsrs r1, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - adds r0, r4, 0 - movs r3, 0 - bl CalcCenterToCornerVec - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim - ldr r0, _08087920 @ =sub_80872F0 - str r0, [r4, 0x1C] -_08087916: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0808791C: .4byte gOamMatrices -_08087920: .4byte sub_80872F0 - thumb_func_end sub_80878C0 - - thumb_func_start sub_8087924 -sub_8087924: @ 8087924 - push {r4-r7,lr} - sub sp, 0x4 - ldr r7, _080879C4 @ =gFieldEffectArguments - ldrb r0, [r7] - ldrb r1, [r7, 0x4] - ldrb r2, [r7, 0x8] - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080879BA - mov r0, sp - ldrb r0, [r0] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _080879C8 @ =gObjectEvents - adds r4, r0 - movs r0, 0x10 - ldrsh r5, [r4, r0] - subs r5, 0x7 - movs r0, 0x12 - ldrsh r6, [r4, r0] - subs r6, 0x7 - ldr r1, [r7, 0xC] - subs r5, r1, r5 - lsls r5, 4 - ldr r2, [r7, 0x10] - subs r6, r2, r6 - lsls r6, 4 - adds r1, 0x7 - lsls r1, 16 - asrs r1, 16 - adds r2, 0x7 - lsls r2, 16 - asrs r2, 16 - adds r0, r4, 0 - bl ShiftObjectEventCoords - ldr r0, _080879CC @ =sub_80879D8 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080879D0 @ =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r1 - ldrb r0, [r4, 0x4] - strh r0, [r2, 0xA] - ldr r3, _080879D4 @ =gSprites - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x20] - adds r0, r5 - strh r0, [r2, 0xC] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x22] - adds r0, r6 - strh r0, [r2, 0xE] - ldr r0, [r7, 0x14] - strh r0, [r2, 0x18] - mov r0, sp - ldrb r0, [r0] - strh r0, [r2, 0x1A] -_080879BA: - movs r0, 0 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080879C4: .4byte gFieldEffectArguments -_080879C8: .4byte gObjectEvents -_080879CC: .4byte sub_80879D8 -_080879D0: .4byte gTasks -_080879D4: .4byte gSprites - thumb_func_end sub_8087924 - - thumb_func_start sub_80879D8 -sub_80879D8: @ 80879D8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _08087A04 @ =gTasks+0x8 - adds r5, r0, r1 - movs r0, 0x2 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08087A08 @ =gSprites - adds r6, r0, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08087A0C - cmp r0, 0x1 - beq _08087A4A - b _08087AA8 - .align 2, 0 -_08087A04: .4byte gTasks+0x8 -_08087A08: .4byte gSprites -_08087A0C: - ldrh r0, [r6, 0x20] - lsls r0, 4 - strh r0, [r5, 0x8] - ldrh r0, [r6, 0x22] - lsls r0, 4 - strh r0, [r5, 0xA] - movs r2, 0x4 - ldrsh r0, [r5, r2] - lsls r0, 4 - movs r2, 0x8 - ldrsh r1, [r5, r2] - subs r0, r1 - movs r2, 0x10 - ldrsh r1, [r5, r2] - bl __divsi3 - strh r0, [r5, 0xC] - movs r1, 0x6 - ldrsh r0, [r5, r1] - lsls r0, 4 - movs r2, 0xA - ldrsh r1, [r5, r2] - subs r0, r1 - movs r2, 0x10 - ldrsh r1, [r5, r2] - bl __divsi3 - strh r0, [r5, 0xE] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_08087A4A: - ldrh r1, [r5, 0x10] - movs r2, 0x10 - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _08087A78 - subs r0, r1, 0x1 - strh r0, [r5, 0x10] - ldrh r1, [r5, 0xC] - ldrh r0, [r5, 0x8] - adds r1, r0 - strh r1, [r5, 0x8] - ldrh r0, [r5, 0xE] - ldrh r2, [r5, 0xA] - adds r0, r2 - strh r0, [r5, 0xA] - lsls r1, 16 - asrs r1, 20 - strh r1, [r6, 0x20] - ldrh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 20 - strh r0, [r6, 0x22] - b _08087AA8 -_08087A78: - movs r1, 0x12 - ldrsh r0, [r5, r1] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _08087AB0 @ =gObjectEvents - adds r4, r0 - ldrh r0, [r5, 0x4] - strh r0, [r6, 0x20] - ldrh r0, [r5, 0x6] - strh r0, [r6, 0x22] - adds r0, r4, 0 - bl ShiftStillObjectEventCoords - ldrb r0, [r4] - movs r1, 0x8 - orrs r0, r1 - strb r0, [r4] - movs r0, 0x43 - bl FieldEffectActiveListRemove - adds r0, r7, 0 - bl DestroyTask -_08087AA8: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08087AB0: .4byte gObjectEvents - thumb_func_end sub_80879D8 - - thumb_func_start sub_8087AB4 -sub_8087AB4: @ 8087AB4 - push {r4,lr} - sub sp, 0x4 - ldr r4, _08087AF8 @ =gFieldEffectArguments - ldrb r0, [r4] - ldrb r1, [r4, 0x4] - ldrb r2, [r4, 0x8] - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _08087B04 - ldr r0, _08087AFC @ =sub_8087BC0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08087B00 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - mov r0, sp - ldrb r0, [r0] - strh r0, [r1, 0xC] - ldr r0, [r4] - strh r0, [r1, 0x14] - ldr r0, [r4, 0x4] - strh r0, [r1, 0x16] - ldr r0, [r4, 0x8] - strh r0, [r1, 0x18] - b _08087B0A - .align 2, 0 -_08087AF8: .4byte gFieldEffectArguments -_08087AFC: .4byte sub_8087BC0 -_08087B00: .4byte gTasks -_08087B04: - movs r0, 0x44 - bl FieldEffectActiveListRemove -_08087B0A: - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8087AB4 - - thumb_func_start sub_8087B14 -sub_8087B14: @ 8087B14 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08087B4C @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08087B50 - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _08087B54 - movs r0, 0 - strh r0, [r4, 0xC] - ldrh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08087B54 - subs r0, r1, 0x1 - b _08087B52 - .align 2, 0 -_08087B4C: .4byte gTasks+0x8 -_08087B50: - movs r0, 0x4 -_08087B52: - strh r0, [r4, 0xA] -_08087B54: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _08087B8E - movs r0, 0 - strh r0, [r4] - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08087B84 - ldrh r1, [r4, 0xA] - negs r1, r1 - lsls r1, 16 - asrs r1, 16 - movs r0, 0 - bl SetCameraPanning - b _08087B8E -_08087B84: - movs r0, 0xA - ldrsh r1, [r4, r0] - movs r0, 0 - bl SetCameraPanning -_08087B8E: - bl UpdateCameraPanning - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08087BA0 - adds r0, r5, 0 - bl DestroyTask -_08087BA0: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8087B14 - - thumb_func_start sub_8087BA8 -sub_8087BA8: @ 8087BA8 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08087BBC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x1 - strh r0, [r1, 0x16] - bx lr - .align 2, 0 -_08087BBC: .4byte gTasks - thumb_func_end sub_8087BA8 - - thumb_func_start sub_8087BC0 -sub_8087BC0: @ 8087BC0 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _08087BF8 @ =gTasks+0x8 - adds r4, r0 - bl InstallCameraPanAheadCallback - movs r0, 0 - bl SetCameraPanningCallback - ldr r1, _08087BFC @ =gUnknown_83CC244 - movs r2, 0x2 - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r2, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - bl _call_via_r2 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08087BF8: .4byte gTasks+0x8 -_08087BFC: .4byte gUnknown_83CC244 - thumb_func_end sub_8087BC0 - - thumb_func_start sub_8087C00 -sub_8087C00: @ 8087C00 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _08087C28 @ =sub_8087B14 - movs r1, 0x5A - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x51 - bl PlaySE - strh r4, [r5, 0xA] - ldrh r0, [r5, 0x2] - adds r0, 0x1 - strh r0, [r5, 0x2] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08087C28: .4byte sub_8087B14 - thumb_func_end sub_8087C00 - - thumb_func_start sub_8087C2C -sub_8087C2C: @ 8087C2C - push {r4-r7,lr} - sub sp, 0x4 - adds r7, r0, 0 - ldrh r0, [r7, 0x6] - adds r0, 0x1 - strh r0, [r7, 0x6] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x78 - ble _08087C9A - ldr r2, _08087CA4 @ =gObjectEvents - movs r1, 0x4 - ldrsh r0, [r7, r1] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _08087CA8 @ =gSprites - adds r4, r0 - ldrb r0, [r1, 0x1] - movs r2, 0x20 - orrs r0, r2 - strb r0, [r1, 0x1] - ldr r6, _08087CAC @ =0x0000ffff - ldr r5, _08087CB0 @ =0x00007fff - adds r0, r6, 0 - movs r1, 0x10 - adds r2, r5, 0 - bl BlendPalettes - str r5, [sp] - adds r0, r6, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - adds r0, r4, 0 - bl sub_8087CFC - movs r0, 0x50 - bl PlaySE - ldrb r0, [r7, 0xA] - bl sub_8087BA8 - movs r0, 0 - strh r0, [r7, 0x6] - ldrh r0, [r7, 0x2] - adds r0, 0x1 - strh r0, [r7, 0x2] -_08087C9A: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08087CA4: .4byte gObjectEvents -_08087CA8: .4byte gSprites -_08087CAC: .4byte 0x0000ffff -_08087CB0: .4byte 0x00007fff - thumb_func_end sub_8087C2C - - thumb_func_start sub_8087CB4 -sub_8087CB4: @ 8087CB4 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, _08087CF4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08087CEE - ldr r0, _08087CF8 @ =sub_8087B14 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _08087CEE - bl InstallCameraPanAheadCallback - ldrb r0, [r4, 0xC] - ldrb r1, [r4, 0xE] - ldrb r2, [r4, 0x10] - bl RemoveObjectEventByLocalIdAndMap - movs r0, 0x44 - bl FieldEffectActiveListRemove - adds r0, r5, 0 - bl DestroyTask -_08087CEE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08087CF4: .4byte gPaletteFade -_08087CF8: .4byte sub_8087B14 - thumb_func_end sub_8087CB4 - - thumb_func_start sub_8087CFC -sub_8087CFC: @ 8087CFC - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - ldr r0, _08087D80 @ =gTotalCameraPixelOffsetX - movs r1, 0 - ldrsh r2, [r0, r1] - movs r3, 0x20 - ldrsh r0, [r6, r3] - adds r2, r0 - movs r1, 0x24 - ldrsh r0, [r6, r1] - adds r2, r0 - ldr r0, _08087D84 @ =gTotalCameraPixelOffsetY - movs r3, 0 - ldrsh r0, [r0, r3] - movs r3, 0x22 - ldrsh r1, [r6, r3] - adds r0, r1 - movs r3, 0x26 - ldrsh r1, [r6, r3] - adds r0, r1 - subs r0, 0x4 - movs r5, 0 - lsls r2, 16 - mov r8, r2 - lsls r7, r0, 16 -_08087D32: - ldr r0, _08087D88 @ =gUnknown_83CC2A0 - mov r2, r8 - asrs r1, r2, 16 - asrs r2, r7, 16 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _08087D6E - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _08087D8C @ =gSprites - adds r4, r0 - lsls r1, r5, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - strh r5, [r4, 0x2E] - ldrb r1, [r6, 0x5] - lsrs r1, 4 - lsls r1, 4 - ldrb r2, [r4, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] -_08087D6E: - adds r5, 0x1 - cmp r5, 0x3 - ble _08087D32 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08087D80: .4byte gTotalCameraPixelOffsetX -_08087D84: .4byte gTotalCameraPixelOffsetY -_08087D88: .4byte gUnknown_83CC2A0 -_08087D8C: .4byte gSprites - thumb_func_end sub_8087CFC - - thumb_func_start sub_8087D90 -sub_8087D90: @ 8087D90 - push {lr} - adds r1, r0, 0 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0x1 - beq _08087DBC - cmp r0, 0x1 - bgt _08087DA6 - cmp r0, 0 - beq _08087DB0 - b _08087DDA -_08087DA6: - cmp r0, 0x2 - beq _08087DC8 - cmp r0, 0x3 - beq _08087DCE - b _08087DDA -_08087DB0: - ldrh r0, [r1, 0x20] - subs r0, 0x10 - strh r0, [r1, 0x20] - ldrh r0, [r1, 0x22] - subs r0, 0xC - b _08087DD8 -_08087DBC: - ldrh r0, [r1, 0x20] - adds r0, 0x10 - strh r0, [r1, 0x20] - ldrh r0, [r1, 0x22] - subs r0, 0xC - b _08087DD8 -_08087DC8: - ldrh r0, [r1, 0x20] - subs r0, 0x10 - b _08087DD2 -_08087DCE: - ldrh r0, [r1, 0x20] - adds r0, 0x10 -_08087DD2: - strh r0, [r1, 0x20] - ldrh r0, [r1, 0x22] - adds r0, 0xC -_08087DD8: - strh r0, [r1, 0x22] -_08087DDA: - ldrh r0, [r1, 0x20] - adds r0, 0x4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xF8 - bhi _08087DF6 - movs r0, 0x22 - ldrsh r2, [r1, r0] - movs r0, 0x4 - negs r0, r0 - cmp r2, r0 - blt _08087DF6 - cmp r2, 0xA4 - ble _08087DFC -_08087DF6: - adds r0, r1, 0 - bl DestroySprite -_08087DFC: - pop {r0} - bx r0 - thumb_func_end sub_8087D90 - - thumb_func_start sub_8087E00 -sub_8087E00: @ 8087E00 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08087E24 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08087E1E - movs r0, 0x45 - bl FieldEffectActiveListRemove - adds r0, r4, 0 - bl DestroyTask -_08087E1E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08087E24: .4byte gPaletteFade - thumb_func_end sub_8087E00 - - thumb_func_start sub_8087E28 -sub_8087E28: @ 8087E28 - push {r4,r5,lr} - sub sp, 0x4 - movs r4, 0x1 - negs r4, r4 - ldr r5, _08087E5C @ =0x00007fff - adds r0, r4, 0 - movs r1, 0x10 - adds r2, r5, 0 - bl BlendPalettes - str r5, [sp] - adds r0, r4, 0 - adds r1, r4, 0 - movs r2, 0xF - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _08087E60 @ =sub_8087E00 - movs r1, 0x5A - bl CreateTask - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08087E5C: .4byte 0x00007fff -_08087E60: .4byte sub_8087E00 - thumb_func_end sub_8087E28 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s deleted file mode 100644 index a2f2de676..000000000 --- a/asm/field_effect_helpers.s +++ /dev/null @@ -1,4308 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start SetUpReflection -SetUpReflection: @ 80DAD7C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r4, r1, 0 - lsls r5, r2, 24 - lsrs r5, 24 - movs r0, 0x20 - ldrsh r1, [r4, r0] - movs r0, 0x22 - ldrsh r2, [r4, r0] - adds r0, r4, 0 - movs r3, 0x98 - bl CreateCopySpriteAt - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080DAE2C @ =gSprites - adds r7, r1, r0 - ldr r0, _080DAE30 @ =sub_80DAF50 - str r0, [r7, 0x1C] - ldrb r1, [r7, 0x5] - movs r0, 0xC - orrs r1, r0 - strb r1, [r7, 0x5] - ldr r2, _080DAE34 @ =gReflectionEffectPaletteMap - lsrs r0, r1, 4 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 4 - movs r2, 0xF - ands r1, r2 - orrs r1, r0 - strb r1, [r7, 0x5] - movs r1, 0x3F - adds r1, r7 - mov r8, r1 - ldrb r0, [r1] - movs r1, 0x40 - orrs r0, r1 - mov r1, r8 - strb r0, [r1] - ldr r0, _080DAE38 @ =gDummySpriteAnimTable - str r0, [r7, 0x8] - adds r0, r7, 0 - movs r1, 0 - bl StartSpriteAnim - ldr r0, _080DAE3C @ =gDummySpriteAffineAnimTable - str r0, [r7, 0x10] - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x8 - orrs r0, r1 - mov r1, r8 - strb r0, [r1] - adds r2, r7, 0 - adds r2, 0x42 - ldrb r1, [r2] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x2E] - strh r0, [r7, 0x2E] - ldrb r0, [r6, 0x8] - strh r0, [r7, 0x30] - strh r5, [r7, 0x3C] - adds r0, r6, 0 - adds r1, r7, 0 - bl npc_pal_op - cmp r5, 0 - bne _080DAE22 - ldrb r0, [r7, 0x1] - movs r1, 0x4 - negs r1, r1 - ands r1, r0 - movs r0, 0x1 - orrs r1, r0 - strb r1, [r7, 0x1] -_080DAE22: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080DAE2C: .4byte gSprites -_080DAE30: .4byte sub_80DAF50 -_080DAE34: .4byte gReflectionEffectPaletteMap -_080DAE38: .4byte gDummySpriteAnimTable -_080DAE3C: .4byte gDummySpriteAffineAnimTable - thumb_func_end SetUpReflection - - thumb_func_start sub_80DAE40 -sub_80DAE40: @ 80DAE40 - push {lr} - ldrb r0, [r0, 0x5] - bl GetObjectEventGraphicsInfo - ldrh r0, [r0, 0xA] - subs r0, 0x2 - lsls r0, 16 - asrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_80DAE40 - - thumb_func_start npc_pal_op -npc_pal_op: @ 80DAE54 - push {r4,r5,lr} - sub sp, 0x8 - adds r5, r0, 0 - adds r4, r1, 0 - ldr r1, _080DAEAC @ =gUnknown_83FECCC - mov r0, sp - movs r2, 0x6 - bl memcpy - movs r0, 0 - strh r0, [r4, 0x32] - ldrb r0, [r5, 0x5] - bl GetObjectEventGraphicsInfo - ldrb r1, [r0, 0xC] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080DAEB0 - ldrb r0, [r5, 0x1F] - bl MetatileBehavior_GetBridgeType - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080DAE96 - ldrb r0, [r5, 0x1E] - bl MetatileBehavior_GetBridgeType - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080DAEB0 -_080DAE96: - subs r0, 0x1 - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x32] - ldrb r1, [r4, 0x5] - lsrs r1, 4 - adds r0, r5, 0 - bl npc_pal_op_A - b _080DAEBA - .align 2, 0 -_080DAEAC: .4byte gUnknown_83FECCC -_080DAEB0: - ldrb r1, [r4, 0x5] - lsrs r1, 4 - adds r0, r5, 0 - bl npc_pal_op_B -_080DAEBA: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end npc_pal_op - - thumb_func_start npc_pal_op_B -npc_pal_op_B: @ 80DAEC4 - push {r4,lr} - lsls r1, 24 - lsrs r4, r1, 24 - ldrb r0, [r0, 0x5] - bl GetObjectEventGraphicsInfo - adds r2, r0, 0 - ldrh r1, [r2, 0x4] - ldr r0, _080DAEF0 @ =0x000011ff - cmp r1, r0 - beq _080DAF18 - ldrb r0, [r2, 0xC] - movs r1, 0xF - ands r1, r0 - cmp r1, 0 - bne _080DAEF4 - ldrh r0, [r2, 0x2] - adds r1, r4, 0 - bl LoadPlayerObjectReflectionPalette - b _080DAF12 - .align 2, 0 -_080DAEF0: .4byte 0x000011ff -_080DAEF4: - cmp r1, 0xA - bne _080DAF02 - ldrh r0, [r2, 0x2] - adds r1, r4, 0 - bl LoadSpecialObjectReflectionPalette - b _080DAF12 -_080DAF02: - adds r0, r4, 0 - bl GetObjectPaletteTag - lsls r0, 16 - lsrs r0, 16 - adds r1, r4, 0 - bl PatchObjectPalette -_080DAF12: - adds r0, r4, 0 - bl sub_807AA8C -_080DAF18: - pop {r4} - pop {r0} - bx r0 - thumb_func_end npc_pal_op_B - - thumb_func_start npc_pal_op_A -npc_pal_op_A: @ 80DAF20 - push {r4,lr} - lsls r1, 24 - lsrs r4, r1, 24 - ldrb r0, [r0, 0x5] - bl GetObjectEventGraphicsInfo - adds r2, r0, 0 - ldrh r1, [r2, 0x4] - ldr r0, _080DAF4C @ =0x000011ff - cmp r1, r0 - beq _080DAF44 - adds r0, r1, 0 - adds r1, r4, 0 - bl PatchObjectPalette - adds r0, r4, 0 - bl sub_807AA8C -_080DAF44: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DAF4C: .4byte 0x000011ff - thumb_func_end npc_pal_op_A - - thumb_func_start sub_80DAF50 -sub_80DAF50: @ 80DAF50 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r4, r0, 0 - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DAF98 @ =gObjectEvents - adds r7, r0, r1 - ldrb r1, [r7, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DAF9C @ =gSprites - adds r5, r0, r1 - ldr r0, [r7] - ldr r1, _080DAFA0 @ =0x00020001 - ands r0, r1 - cmp r0, r1 - bne _080DAF88 - ldrb r1, [r7, 0x8] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r1, r0 - beq _080DAFA4 -_080DAF88: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - b _080DB0AE - .align 2, 0 -_080DAF98: .4byte gObjectEvents -_080DAF9C: .4byte gSprites -_080DAFA0: .4byte 0x00020001 -_080DAFA4: - ldr r1, _080DB0BC @ =gReflectionEffectPaletteMap - ldrb r0, [r5, 0x5] - lsrs r0, 4 - adds r0, r1 - ldrb r1, [r0] - lsls r1, 4 - ldrb r2, [r4, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - ldrb r1, [r5, 0x1] - lsrs r1, 6 - lsls r1, 6 - ldrb r2, [r4, 0x1] - movs r3, 0x3F - adds r0, r3, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r0, [r5, 0x3] - lsrs r0, 6 - lsls r0, 6 - ldrb r2, [r4, 0x3] - adds r1, r3, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x3] - ldrb r0, [r5, 0x3] - lsls r0, 26 - lsrs r0, 27 - movs r2, 0x10 - orrs r0, r2 - lsls r0, 1 - subs r2, 0x4F - mov r9, r2 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x3] - ldrh r1, [r5, 0x4] - lsls r1, 22 - lsrs r1, 22 - ldrh r2, [r4, 0x4] - ldr r0, _080DB0C0 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - ldr r0, [r5, 0x18] - str r0, [r4, 0x18] - adds r0, r5, 0 - adds r0, 0x42 - ldrb r0, [r0] - lsls r0, 26 - lsrs r0, 26 - adds r2, r4, 0 - adds r2, 0x42 - ands r3, r0 - ldrb r1, [r2] - movs r0, 0x40 - negs r0, r0 - ands r0, r1 - orrs r0, r3 - strb r0, [r2] - movs r0, 0x3E - adds r0, r5 - mov r8, r0 - ldrb r0, [r0] - adds r6, r4, 0 - adds r6, 0x3E - movs r1, 0x4 - ands r1, r0 - ldrb r2, [r6] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6] - ldrh r0, [r5, 0x20] - strh r0, [r4, 0x20] - adds r0, r7, 0 - bl sub_80DAE40 - ldrh r1, [r5, 0x22] - adds r0, r1 - ldrh r1, [r4, 0x32] - adds r1, r0 - strh r1, [r4, 0x22] - adds r0, r5, 0 - adds r0, 0x28 - ldrb r1, [r0] - adds r0, r4, 0 - adds r0, 0x28 - strb r1, [r0] - adds r0, r5, 0 - adds r0, 0x29 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x29 - strb r0, [r1] - ldrh r0, [r5, 0x24] - strh r0, [r4, 0x24] - ldrh r0, [r5, 0x26] - negs r0, r0 - strh r0, [r4, 0x26] - mov r2, r8 - ldrb r0, [r2] - movs r1, 0x2 - ands r1, r0 - ldrb r2, [r6] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6] - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080DB0AE - ldrb r0, [r4, 0x3] - mov r2, r9 - ands r2, r0 - strb r2, [r4, 0x3] - ldrb r0, [r5, 0x3] - lsls r0, 26 - lsrs r0, 27 - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080DB0AE - movs r1, 0x2 - adds r0, r2, 0 - orrs r0, r1 - strb r0, [r4, 0x3] -_080DB0AE: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080DB0BC: .4byte gReflectionEffectPaletteMap -_080DB0C0: .4byte 0xfffffc00 - thumb_func_end sub_80DAF50 - - thumb_func_start CreateWarpArrowSprite -CreateWarpArrowSprite: @ 80DB0C4 - push {r4,lr} - ldr r0, _080DB10C @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x20] - movs r1, 0 - movs r2, 0 - movs r3, 0x52 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - cmp r0, 0x40 - beq _080DB102 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080DB110 @ =gSprites - adds r1, r0 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r3, 0x4 - orrs r0, r3 - strb r0, [r1, 0x5] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x2 - orrs r0, r2 - orrs r0, r3 - strb r0, [r1] -_080DB102: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DB10C: .4byte gFieldEffectObjectTemplatePointers -_080DB110: .4byte gSprites - thumb_func_end CreateWarpArrowSprite - - thumb_func_start objid_set_invisible -objid_set_invisible: @ 80DB114 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080DB130 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - bx lr - .align 2, 0 -_080DB130: .4byte gSprites - thumb_func_end objid_set_invisible - - thumb_func_start sub_80DB134 -sub_80DB134: @ 80DB134 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r2, 16 - lsrs r7, r2, 16 - lsls r3, 16 - lsrs r6, r3, 16 - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - ldr r1, _080DB1D8 @ =gSprites - adds r2, r0, r1 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080DB17E - movs r0, 0x2E - ldrsh r1, [r2, r0] - lsls r0, r7, 16 - asrs r0, 16 - cmp r1, r0 - bne _080DB17E - movs r0, 0x30 - ldrsh r1, [r2, r0] - lsls r0, r6, 16 - asrs r0, 16 - cmp r1, r0 - beq _080DB1CA -_080DB17E: - lsls r0, r7, 16 - asrs r0, 16 - lsls r1, r6, 16 - asrs r1, 16 - mov r4, sp - adds r4, 0x2 - mov r2, sp - adds r3, r4, 0 - bl SetSpritePosToMapCoords - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - ldr r1, _080DB1D8 @ =gSprites - adds r2, r0, r1 - mov r0, sp - ldrh r0, [r0] - adds r0, 0x8 - strh r0, [r2, 0x20] - ldrh r0, [r4] - adds r0, 0x8 - strh r0, [r2, 0x22] - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - strh r7, [r2, 0x2E] - strh r6, [r2, 0x30] - mov r1, r8 - subs r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - adds r0, r2, 0 - bl StartSpriteAnim -_080DB1CA: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080DB1D8: .4byte gSprites - thumb_func_end sub_80DB134 - - thumb_func_start oei_shadow -oei_shadow: @ 80DB1DC - push {r4,r5,lr} - ldr r5, _080DB268 @ =gFieldEffectArguments - ldrb r0, [r5] - ldrb r1, [r5, 0x4] - ldrb r2, [r5, 0x8] - bl GetObjectEventIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080DB26C @ =gObjectEvents - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x5] - bl GetObjectEventGraphicsInfo - adds r4, r0, 0 - ldr r2, _080DB270 @ =gFieldEffectObjectTemplatePointers - ldr r1, _080DB274 @ =gUnknown_83FECD2 - ldrb r0, [r4, 0xC] - lsls r0, 26 - lsrs r0, 30 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - movs r1, 0 - movs r2, 0 - movs r3, 0x94 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080DB260 - ldr r0, _080DB278 @ =gSprites - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - ldr r0, [r5] - strh r0, [r2, 0x2E] - ldr r0, [r5, 0x4] - strh r0, [r2, 0x30] - ldr r0, [r5, 0x8] - strh r0, [r2, 0x32] - ldrh r1, [r4, 0xA] - lsls r1, 16 - asrs r1, 17 - ldr r3, _080DB27C @ =gUnknown_83FECD6 - ldrb r0, [r4, 0xC] - lsls r0, 26 - lsrs r0, 30 - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - subs r1, r0 - strh r1, [r2, 0x34] -_080DB260: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080DB268: .4byte gFieldEffectArguments -_080DB26C: .4byte gObjectEvents -_080DB270: .4byte gFieldEffectObjectTemplatePointers -_080DB274: .4byte gUnknown_83FECD2 -_080DB278: .4byte gSprites -_080DB27C: .4byte gUnknown_83FECD6 - thumb_func_end oei_shadow - - thumb_func_start oamc_shadow -oamc_shadow: @ 80DB280 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - ldrh r0, [r5, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r5, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - beq _080DB2AE - adds r0, r5, 0 - movs r1, 0x3 - bl FieldEffectStop - b _080DB334 -_080DB2AE: - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DB33C @ =gObjectEvents - adds r4, r0, r1 - ldrb r0, [r4, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080DB340 @ =gSprites - adds r1, r0 - ldrb r0, [r1, 0x5] - movs r2, 0xC - ands r2, r0 - ldrb r3, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r5, 0x5] - ldrh r0, [r1, 0x20] - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x34] - ldrh r1, [r1, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] - ldr r0, [r4] - ldr r1, _080DB344 @ =0x00400001 - ands r0, r1 - cmp r0, r1 - bne _080DB32C - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsPokeGrass - lsls r0, 24 - cmp r0, 0 - bne _080DB32C - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsSurfable - lsls r0, 24 - cmp r0, 0 - bne _080DB32C - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsSurfable - lsls r0, 24 - cmp r0, 0 - bne _080DB32C - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsReflective - lsls r0, 24 - cmp r0, 0 - bne _080DB32C - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsReflective - lsls r0, 24 - cmp r0, 0 - beq _080DB334 -_080DB32C: - adds r0, r5, 0 - movs r1, 0x3 - bl FieldEffectStop -_080DB334: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DB33C: .4byte gObjectEvents -_080DB340: .4byte gSprites -_080DB344: .4byte 0x00400001 - thumb_func_end oamc_shadow - - thumb_func_start oei_grass_normal -oei_grass_normal: @ 80DB348 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _080DB3E0 @ =gFieldEffectArguments - ldrh r1, [r5] - mov r0, sp - strh r1, [r0] - ldrh r0, [r5, 0x4] - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - mov r0, sp - adds r1, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DB3E4 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x10] - mov r1, sp - movs r2, 0 - ldrsh r1, [r1, r2] - movs r3, 0 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080DB3D4 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DB3E8 @ =gSprites - adds r3, r0, r1 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x3 - ldrb r1, [r5, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x5] - ldr r0, [r5, 0x8] - strh r0, [r3, 0x2E] - ldr r0, [r5] - strh r0, [r3, 0x30] - ldr r0, [r5, 0x4] - strh r0, [r3, 0x32] - ldr r0, [r5, 0x10] - strh r0, [r3, 0x34] - ldr r0, [r5, 0x14] - strh r0, [r3, 0x36] - ldr r0, [r5, 0x18] - strh r0, [r3, 0x38] - ldr r0, [r5, 0x1C] - cmp r0, 0 - beq _080DB3D4 - adds r0, r3, 0 - movs r1, 0x4 - bl SeekSpriteAnim -_080DB3D4: - movs r0, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080DB3E0: .4byte gFieldEffectArguments -_080DB3E4: .4byte gFieldEffectObjectTemplatePointers -_080DB3E8: .4byte gSprites - thumb_func_end oei_grass_normal - - thumb_func_start unc_grass_normal -unc_grass_normal: @ 80DB3EC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r5, r0, 0 - ldrh r0, [r5, 0x38] - lsrs r4, r0, 8 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r3, _080DB498 @ =gCamera - ldrb r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080DB438 - ldr r0, _080DB49C @ =gSaveBlock1Ptr - ldr r2, [r0] - movs r0, 0x5 - ldrsb r0, [r2, r0] - cmp r0, r4 - bne _080DB41E - movs r0, 0x4 - ldrsb r0, [r2, r0] - cmp r0, r7 - beq _080DB438 -_080DB41E: - ldr r1, [r3, 0x4] - ldrh r0, [r5, 0x30] - subs r0, r1 - strh r0, [r5, 0x30] - ldr r1, [r3, 0x8] - ldrh r0, [r5, 0x32] - subs r0, r1 - strh r0, [r5, 0x32] - ldrb r1, [r2, 0x5] - lsls r1, 8 - ldrb r0, [r2, 0x4] - orrs r0, r1 - strh r0, [r5, 0x38] -_080DB438: - ldrh r0, [r5, 0x34] - lsrs r1, r0, 8 - mov r8, r1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrh r0, [r5, 0x36] - lsls r0, 24 - lsrs r7, r0, 24 - movs r2, 0x30 - ldrsh r0, [r5, r2] - movs r2, 0x32 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r6, r0, 24 - mov r0, r8 - adds r1, r4, 0 - adds r2, r7, 0 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080DB48C - adds r0, r6, 0 - bl MetatileBehavior_IsTallGrass_2 - lsls r0, 24 - cmp r0, 0 - beq _080DB48C - movs r1, 0x3C - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080DB4A0 - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080DB4A0 -_080DB48C: - adds r0, r5, 0 - movs r1, 0x4 - bl FieldEffectStop - b _080DB4E4 - .align 2, 0 -_080DB498: .4byte gCamera -_080DB49C: .4byte gSaveBlock1Ptr -_080DB4A0: - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DB4F0 @ =gObjectEvents - adds r2, r0, r1 - ldr r0, [r2, 0x10] - ldr r1, [r5, 0x30] - cmp r0, r1 - beq _080DB4C0 - ldr r0, [r2, 0x14] - cmp r0, r1 - beq _080DB4C0 - movs r0, 0x1 - strh r0, [r5, 0x3C] -_080DB4C0: - movs r6, 0 - adds r0, r5, 0 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0 - bne _080DB4CE - movs r6, 0x4 -_080DB4CE: - adds r0, r5, 0 - movs r1, 0 - bl sub_8068EB4 - ldrh r1, [r5, 0x2E] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - adds r2, r6, 0 - bl sub_80DCD48 -_080DB4E4: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080DB4F0: .4byte gObjectEvents - thumb_func_end unc_grass_normal - - thumb_func_start FldEff_JumpTallGrass -FldEff_JumpTallGrass: @ 80DB4F4 - push {r4,lr} - ldr r4, _080DB558 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0xC - bl sub_8063BC4 - ldr r0, _080DB55C @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x28] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DB550 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080DB560 @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r4, 0x8] - strh r0, [r2, 0x2E] - movs r0, 0xC - strh r0, [r2, 0x30] -_080DB550: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DB558: .4byte gFieldEffectArguments -_080DB55C: .4byte gFieldEffectObjectTemplatePointers -_080DB560: .4byte gSprites - thumb_func_end FldEff_JumpTallGrass - - thumb_func_start sub_80DB564 -sub_80DB564: @ 80DB564 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, [sp, 0x18] - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - movs r5, 0 - ldr r0, _080DB5D4 @ =gSprites - mov r8, r0 - lsls r3, 16 - asrs r3, 16 - lsls r4, 16 - asrs r4, 16 -_080DB588: - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - mov r1, r8 - adds r2, r0, r1 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - beq _080DB5DC - ldr r1, [r2, 0x1C] - ldr r0, _080DB5D8 @ =unc_grass_normal - cmp r1, r0 - bne _080DB5DC - movs r1, 0x30 - ldrsh r0, [r2, r1] - cmp r3, r0 - bne _080DB5DC - movs r1, 0x32 - ldrsh r0, [r2, r1] - cmp r4, r0 - bne _080DB5DC - ldrh r1, [r2, 0x34] - lsls r0, r1, 16 - asrs r0, 24 - cmp r12, r0 - bne _080DB5DC - movs r0, 0xFF - ands r0, r1 - cmp r7, r0 - bne _080DB5DC - movs r1, 0x36 - ldrsh r0, [r2, r1] - cmp r6, r0 - bne _080DB5DC - adds r0, r5, 0 - b _080DB5E8 - .align 2, 0 -_080DB5D4: .4byte gSprites -_080DB5D8: .4byte unc_grass_normal -_080DB5DC: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3F - bls _080DB588 - movs r0, 0x40 -_080DB5E8: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80DB564 - - thumb_func_start FldEff_LongGrass -FldEff_LongGrass: @ 80DB5F4 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _080DB690 @ =gFieldEffectArguments - ldrh r1, [r5] - mov r0, sp - strh r1, [r0] - ldrh r0, [r5, 0x4] - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - mov r0, sp - adds r1, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DB694 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x3C] - mov r1, sp - movs r2, 0 - ldrsh r1, [r1, r2] - movs r3, 0 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080DB684 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DB698 @ =gSprites - adds r4, r0, r1 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r5, 0x8] - bl ZCoordToPriority - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - ldr r0, [r5, 0x8] - strh r0, [r4, 0x2E] - ldr r0, [r5] - strh r0, [r4, 0x30] - ldr r0, [r5, 0x4] - strh r0, [r4, 0x32] - ldr r0, [r5, 0x10] - strh r0, [r4, 0x34] - ldr r0, [r5, 0x14] - strh r0, [r4, 0x36] - ldr r0, [r5, 0x18] - strh r0, [r4, 0x38] - ldr r0, [r5, 0x1C] - cmp r0, 0 - beq _080DB684 - adds r0, r4, 0 - movs r1, 0x6 - bl SeekSpriteAnim -_080DB684: - movs r0, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080DB690: .4byte gFieldEffectArguments -_080DB694: .4byte gFieldEffectObjectTemplatePointers -_080DB698: .4byte gSprites - thumb_func_end FldEff_LongGrass - - thumb_func_start unc_grass_tall -unc_grass_tall: @ 80DB69C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r5, r0, 0 - ldrh r0, [r5, 0x38] - lsrs r7, r0, 8 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r3, _080DB748 @ =gCamera - ldrb r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080DB6E8 - ldr r0, _080DB74C @ =gSaveBlock1Ptr - ldr r2, [r0] - movs r0, 0x5 - ldrsb r0, [r2, r0] - cmp r0, r7 - bne _080DB6CE - movs r0, 0x4 - ldrsb r0, [r2, r0] - cmp r0, r6 - beq _080DB6E8 -_080DB6CE: - ldr r1, [r3, 0x4] - ldrh r0, [r5, 0x30] - subs r0, r1 - strh r0, [r5, 0x30] - ldr r1, [r3, 0x8] - ldrh r0, [r5, 0x32] - subs r0, r1 - strh r0, [r5, 0x32] - ldrb r1, [r2, 0x5] - lsls r1, 8 - ldrb r0, [r2, 0x4] - orrs r0, r1 - strh r0, [r5, 0x38] -_080DB6E8: - ldrh r0, [r5, 0x34] - lsrs r1, r0, 8 - mov r8, r1 - lsls r0, 24 - lsrs r7, r0, 24 - ldrh r0, [r5, 0x36] - lsls r0, 24 - lsrs r6, r0, 24 - movs r2, 0x30 - ldrsh r0, [r5, r2] - movs r2, 0x32 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - mov r0, r8 - adds r1, r7, 0 - adds r2, r6, 0 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080DB73C - adds r0, r4, 0 - bl MetatileBehavior_IsLongGrass - lsls r0, 24 - cmp r0, 0 - beq _080DB73C - movs r1, 0x3C - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080DB750 - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080DB750 -_080DB73C: - adds r0, r5, 0 - movs r1, 0x11 - bl FieldEffectStop - b _080DB786 - .align 2, 0 -_080DB748: .4byte gCamera -_080DB74C: .4byte gSaveBlock1Ptr -_080DB750: - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DB794 @ =gObjectEvents - adds r2, r0, r1 - ldr r0, [r2, 0x10] - ldr r1, [r5, 0x30] - cmp r0, r1 - beq _080DB770 - ldr r0, [r2, 0x14] - cmp r0, r1 - beq _080DB770 - movs r0, 0x1 - strh r0, [r5, 0x3C] -_080DB770: - adds r0, r5, 0 - movs r1, 0 - bl sub_8068EB4 - ldrh r1, [r5, 0x2E] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - movs r2, 0 - bl sub_80DCD48 -_080DB786: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080DB794: .4byte gObjectEvents - thumb_func_end unc_grass_tall - - thumb_func_start FldEff_JumpLongGrass -FldEff_JumpLongGrass: @ 80DB798 - push {r4,lr} - ldr r4, _080DB7FC @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DB800 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x40] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DB7F4 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080DB804 @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r4, 0x8] - strh r0, [r2, 0x2E] - movs r0, 0x12 - strh r0, [r2, 0x30] -_080DB7F4: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DB7FC: .4byte gFieldEffectArguments -_080DB800: .4byte gFieldEffectObjectTemplatePointers -_080DB804: .4byte gSprites - thumb_func_end FldEff_JumpLongGrass - - thumb_func_start sub_80DB808 -sub_80DB808: @ 80DB808 - push {r4-r6,lr} - ldr r6, _080DB89C @ =gFieldEffectArguments - ldrb r0, [r6] - ldrb r1, [r6, 0x4] - ldrb r2, [r6, 0x8] - bl GetObjectEventIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _080DB8A0 @ =gObjectEvents - adds r5, r1, r0 - ldr r0, _080DB8A4 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x78] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DB894 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r4, _080DB8A8 @ =gSprites - adds r2, r4 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x5] - movs r1, 0xC - ands r1, r0 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r6] - strh r0, [r2, 0x2E] - ldr r0, [r6, 0x4] - strh r0, [r2, 0x30] - ldr r0, [r6, 0x8] - strh r0, [r2, 0x32] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x20] - strh r0, [r2, 0x34] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x22] - strh r0, [r2, 0x36] -_080DB894: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080DB89C: .4byte gFieldEffectArguments -_080DB8A0: .4byte gObjectEvents -_080DB8A4: .4byte gFieldEffectObjectTemplatePointers -_080DB8A8: .4byte gSprites - thumb_func_end sub_80DB808 - - thumb_func_start sub_80DB8AC -sub_80DB8AC: @ 80DB8AC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080DB8EA - ldr r5, _080DB8F4 @ =gObjectEvents - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1, 0x2] - lsls r0, 29 - cmp r0, 0 - blt _080DB8F8 -_080DB8EA: - adds r0, r4, 0 - movs r1, 0x29 - bl FieldEffectStop - b _080DB98E - .align 2, 0 -_080DB8F4: .4byte gObjectEvents -_080DB8F8: - ldrb r0, [r1, 0x5] - bl GetObjectEventGraphicsInfo - mov r8, r0 - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DB99C @ =gSprites - adds r6, r0, r1 - ldrh r5, [r6, 0x22] - ldrh r7, [r6, 0x20] - movs r0, 0x20 - ldrsh r1, [r6, r0] - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _080DB934 - lsls r0, r5, 16 - asrs r0, 16 - movs r2, 0x36 - ldrsh r1, [r4, r2] - cmp r0, r1 - beq _080DB94E -_080DB934: - strh r7, [r4, 0x34] - strh r5, [r4, 0x36] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080DB94E - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim -_080DB94E: - strh r7, [r4, 0x20] - strh r5, [r4, 0x22] - mov r1, r8 - ldrh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 17 - subs r0, 0x8 - strh r0, [r4, 0x26] - adds r0, r6, 0 - adds r0, 0x43 - ldrb r0, [r0] - subs r0, 0x1 - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldrb r0, [r6, 0x5] - movs r1, 0xC - ands r1, r0 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - adds r0, r6, 0 - adds r0, 0x3E - ldrb r1, [r0] - lsls r1, 29 - lsrs r1, 31 - adds r0, r4, 0 - bl sub_8068EB4 -_080DB98E: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080DB99C: .4byte gSprites - thumb_func_end sub_80DB8AC - - thumb_func_start FldEff_SandFootprints -FldEff_SandFootprints: @ 80DB9A0 - push {r4,lr} - ldr r4, _080DBA08 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DBA0C @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x2C] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080DB9FE - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DBA10 @ =gSprites - adds r0, r1 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - movs r1, 0x3 - ldrb r2, [r4, 0xC] - ands r2, r1 - lsls r2, 2 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - movs r1, 0xD - strh r1, [r0, 0x3C] - ldrb r1, [r4, 0x10] - bl StartSpriteAnim -_080DB9FE: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DBA08: .4byte gFieldEffectArguments -_080DBA0C: .4byte gFieldEffectObjectTemplatePointers -_080DBA10: .4byte gSprites - thumb_func_end FldEff_SandFootprints - - thumb_func_start FldEff_DeepSandFootprints -FldEff_DeepSandFootprints: @ 80DBA14 - push {r4,r5,lr} - ldr r4, _080DBA7C @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DBA80 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x5C] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - adds r5, r1, 0 - cmp r1, 0x40 - beq _080DBA74 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DBA84 @ =gSprites - adds r0, r1 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - movs r1, 0x3 - ldrb r2, [r4, 0xC] - ands r2, r1 - lsls r2, 2 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - movs r1, 0x18 - strh r1, [r0, 0x3C] - ldrb r1, [r4, 0x10] - bl StartSpriteAnim -_080DBA74: - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080DBA7C: .4byte gFieldEffectArguments -_080DBA80: .4byte gFieldEffectObjectTemplatePointers -_080DBA84: .4byte gSprites - thumb_func_end FldEff_DeepSandFootprints - - thumb_func_start FldEff_BikeTireTracks -FldEff_BikeTireTracks: @ 80DBA88 - push {r4,r5,lr} - ldr r4, _080DBAF0 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DBAF4 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x6C] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - adds r5, r1, 0 - cmp r1, 0x40 - beq _080DBAE8 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DBAF8 @ =gSprites - adds r0, r1 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - movs r1, 0x3 - ldrb r2, [r4, 0xC] - ands r2, r1 - lsls r2, 2 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - movs r1, 0x23 - strh r1, [r0, 0x3C] - ldrb r1, [r4, 0x10] - bl StartSpriteAnim -_080DBAE8: - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080DBAF0: .4byte gFieldEffectArguments -_080DBAF4: .4byte gFieldEffectObjectTemplatePointers -_080DBAF8: .4byte gSprites - thumb_func_end FldEff_BikeTireTracks - - thumb_func_start sub_80DBAFC -sub_80DBAFC: @ 80DBAFC - push {lr} - ldr r2, _080DBB14 @ =gUnknown_83FECE0 - movs r3, 0x2E - ldrsh r1, [r0, r3] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_080DBB14: .4byte gUnknown_83FECE0 - thumb_func_end sub_80DBAFC - - thumb_func_start sub_80DBB18 -sub_80DBB18: @ 80DBB18 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x28 - ble _080DBB2E - movs r0, 0x1 - strh r0, [r1, 0x2E] -_080DBB2E: - adds r0, r1, 0 - movs r1, 0 - bl sub_8068EB4 - pop {r0} - bx r0 - thumb_func_end sub_80DBB18 - - thumb_func_start sub_80DBB3C -sub_80DBB3C: @ 80DBB3C - push {r4,lr} - adds r4, r0, 0 - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - ldrb r1, [r3] - lsls r1, 29 - lsrs r1, 31 - adds r0, r4, 0 - bl sub_8068EB4 - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x38 - ble _080DBB80 - ldrh r1, [r4, 0x3C] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldEffectStop -_080DBB80: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80DBB3C - - thumb_func_start FldEff_Splash -FldEff_Splash: @ 80DBB88 - push {r4-r6,lr} - ldr r6, _080DBC1C @ =gFieldEffectArguments - ldrb r0, [r6] - ldrb r1, [r6, 0x4] - ldrb r2, [r6, 0x8] - bl GetObjectEventIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _080DBC20 @ =gObjectEvents - adds r5, r1, r0 - ldr r0, _080DBC24 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x34] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x40 - beq _080DBC12 - ldrb r0, [r5, 0x5] - bl GetObjectEventGraphicsInfo - lsls r3, r4, 4 - adds r3, r4 - lsls r3, 2 - ldr r4, _080DBC28 @ =gSprites - adds r3, r4 - movs r1, 0x3E - adds r1, r3 - mov r12, r1 - ldrb r1, [r1] - movs r2, 0x2 - orrs r1, r2 - mov r2, r12 - strb r1, [r2] - ldrb r2, [r5, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrb r1, [r1, 0x5] - movs r2, 0xC - ands r2, r1 - ldrb r4, [r3, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r4 - orrs r1, r2 - strb r1, [r3, 0x5] - ldr r1, [r6] - strh r1, [r3, 0x2E] - ldr r1, [r6, 0x4] - strh r1, [r3, 0x30] - ldr r1, [r6, 0x8] - strh r1, [r3, 0x32] - ldrh r0, [r0, 0xA] - lsls r0, 16 - asrs r0, 17 - subs r0, 0x4 - strh r0, [r3, 0x26] - movs r0, 0x3F - bl PlaySE -_080DBC12: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080DBC1C: .4byte gFieldEffectArguments -_080DBC20: .4byte gObjectEvents -_080DBC24: .4byte gFieldEffectObjectTemplatePointers -_080DBC28: .4byte gSprites - thumb_func_end FldEff_Splash - - thumb_func_start sub_80DBC2C -sub_80DBC2C: @ 80DBC2C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _080DBC5C - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - beq _080DBC66 -_080DBC5C: - adds r0, r4, 0 - movs r1, 0xF - bl FieldEffectStop - b _080DBCA6 -_080DBC66: - ldr r3, _080DBCB0 @ =gSprites - ldr r2, _080DBCB4 @ =gObjectEvents - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x20] - strh r0, [r4, 0x20] - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x22] - strh r0, [r4, 0x22] - adds r0, r4, 0 - movs r1, 0 - bl sub_8068EB4 -_080DBCA6: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DBCB0: .4byte gSprites -_080DBCB4: .4byte gObjectEvents - thumb_func_end sub_80DBC2C - - thumb_func_start FldEff_JumpSmallSplash -FldEff_JumpSmallSplash: @ 80DBCB8 - push {r4,lr} - ldr r4, _080DBD1C @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0xC - bl sub_8063BC4 - ldr r0, _080DBD20 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x38] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DBD14 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080DBD24 @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r4, 0x8] - strh r0, [r2, 0x2E] - movs r0, 0x10 - strh r0, [r2, 0x30] -_080DBD14: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DBD1C: .4byte gFieldEffectArguments -_080DBD20: .4byte gFieldEffectObjectTemplatePointers -_080DBD24: .4byte gSprites - thumb_func_end FldEff_JumpSmallSplash - - thumb_func_start oei_water_drop_tall -oei_water_drop_tall: @ 80DBD28 - push {r4,lr} - ldr r4, _080DBD8C @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DBD90 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x30] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DBD84 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080DBD94 @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r4, 0x8] - strh r0, [r2, 0x2E] - movs r0, 0xE - strh r0, [r2, 0x30] -_080DBD84: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DBD8C: .4byte gFieldEffectArguments -_080DBD90: .4byte gFieldEffectObjectTemplatePointers -_080DBD94: .4byte gSprites - thumb_func_end oei_water_drop_tall - - thumb_func_start FldEff_FeetInFlowingWater -FldEff_FeetInFlowingWater: @ 80DBD98 - push {r4-r7,lr} - ldr r7, _080DBE38 @ =gFieldEffectArguments - ldrb r0, [r7] - ldrb r1, [r7, 0x4] - ldrb r2, [r7, 0x8] - bl GetObjectEventIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _080DBE3C @ =gObjectEvents - adds r6, r1, r0 - ldr r0, _080DBE40 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x34] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x40 - beq _080DBE2E - ldrb r0, [r6, 0x5] - bl GetObjectEventGraphicsInfo - adds r4, r0, 0 - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - ldr r3, _080DBE44 @ =gSprites - adds r0, r3 - ldr r1, _080DBE48 @ =sub_80DBE50 - str r1, [r0, 0x1C] - adds r5, r0, 0 - adds r5, 0x3E - ldrb r1, [r5] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r5] - ldrb r2, [r6, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - ldrb r1, [r1, 0x5] - movs r2, 0xC - ands r2, r1 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r1, [r7] - strh r1, [r0, 0x2E] - ldr r1, [r7, 0x4] - strh r1, [r0, 0x30] - ldr r1, [r7, 0x8] - strh r1, [r0, 0x32] - ldr r1, _080DBE4C @ =0x0000ffff - strh r1, [r0, 0x34] - movs r1, 0x1 - negs r1, r1 - strh r1, [r0, 0x36] - ldrh r1, [r4, 0xA] - lsls r1, 16 - asrs r1, 17 - subs r1, 0x4 - strh r1, [r0, 0x26] - movs r1, 0x1 - bl StartSpriteAnim -_080DBE2E: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080DBE38: .4byte gFieldEffectArguments -_080DBE3C: .4byte gObjectEvents -_080DBE40: .4byte gFieldEffectObjectTemplatePointers -_080DBE44: .4byte gSprites -_080DBE48: .4byte sub_80DBE50 -_080DBE4C: .4byte 0x0000ffff - thumb_func_end FldEff_FeetInFlowingWater - - thumb_func_start sub_80DBE50 -sub_80DBE50: @ 80DBE50 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080DBE8A - ldr r2, _080DBE94 @ =gObjectEvents - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r5, r0, r2 - ldrb r0, [r5, 0x2] - lsls r0, 28 - cmp r0, 0 - blt _080DBE98 -_080DBE8A: - adds r0, r4, 0 - movs r1, 0x22 - bl FieldEffectStop - b _080DBEE2 - .align 2, 0 -_080DBE94: .4byte gObjectEvents -_080DBE98: - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DBEEC @ =gSprites - adds r0, r1 - ldrh r1, [r0, 0x20] - strh r1, [r4, 0x20] - ldrh r1, [r0, 0x22] - strh r1, [r4, 0x22] - adds r0, 0x43 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0 - bl sub_8068EB4 - ldr r1, [r5, 0x10] - ldr r0, [r4, 0x34] - cmp r1, r0 - beq _080DBEE2 - ldrh r0, [r5, 0x10] - strh r0, [r4, 0x34] - ldrh r0, [r5, 0x12] - strh r0, [r4, 0x36] - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080DBEE2 - movs r0, 0x3F - bl PlaySE -_080DBEE2: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DBEEC: .4byte gSprites - thumb_func_end sub_80DBE50 - - thumb_func_start oei_ripples -oei_ripples: @ 80DBEF0 - push {r4,lr} - ldr r0, _080DBF44 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x14] - ldr r4, _080DBF48 @ =gFieldEffectArguments - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DBF3C - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080DBF4C @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - movs r0, 0x5 - strh r0, [r2, 0x2E] -_080DBF3C: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DBF44: .4byte gFieldEffectObjectTemplatePointers -_080DBF48: .4byte gFieldEffectArguments -_080DBF4C: .4byte gSprites - thumb_func_end oei_ripples - - thumb_func_start sub_80DBF50 -sub_80DBF50: @ 80DBF50 - push {r4-r6,lr} - ldr r6, _080DBFE4 @ =gFieldEffectArguments - ldrb r0, [r6] - ldrb r1, [r6, 0x4] - ldrb r2, [r6, 0x8] - bl GetObjectEventIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _080DBFE8 @ =gObjectEvents - adds r5, r1, r0 - ldr r0, _080DBFEC @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x7C] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DBFDC - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r4, _080DBFF0 @ =gSprites - adds r2, r4 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x5] - movs r1, 0xC - ands r1, r0 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r6] - strh r0, [r2, 0x2E] - ldr r0, [r6, 0x4] - strh r0, [r2, 0x30] - ldr r0, [r6, 0x8] - strh r0, [r2, 0x32] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x20] - strh r0, [r2, 0x34] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x22] - strh r0, [r2, 0x36] -_080DBFDC: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080DBFE4: .4byte gFieldEffectArguments -_080DBFE8: .4byte gObjectEvents -_080DBFEC: .4byte gFieldEffectObjectTemplatePointers -_080DBFF0: .4byte gSprites - thumb_func_end sub_80DBF50 - - thumb_func_start sub_80DBFF4 -sub_80DBFF4: @ 80DBFF4 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080DC02E - ldr r5, _080DC038 @ =gObjectEvents - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1, 0x2] - lsls r0, 26 - cmp r0, 0 - blt _080DC03C -_080DC02E: - adds r0, r4, 0 - movs r1, 0x2A - bl FieldEffectStop - b _080DC080 - .align 2, 0 -_080DC038: .4byte gObjectEvents -_080DC03C: - ldrb r0, [r1, 0x5] - bl GetObjectEventGraphicsInfo - mov r1, sp - ldrb r2, [r1] - lsls r1, r2, 3 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - ldrb r2, [r1, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r2, _080DC088 @ =gSprites - adds r1, r2 - ldrh r2, [r1, 0x20] - strh r2, [r4, 0x20] - ldrh r0, [r0, 0xA] - lsls r0, 16 - asrs r0, 17 - ldrh r2, [r1, 0x22] - adds r0, r2 - subs r0, 0x8 - strh r0, [r4, 0x22] - adds r1, 0x43 - ldrb r0, [r1] - subs r0, 0x1 - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0 - bl sub_8068EB4 -_080DC080: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DC088: .4byte gSprites - thumb_func_end sub_80DBFF4 - - thumb_func_start FldEff_Unknown19 -FldEff_Unknown19: @ 80DC08C - push {r4,lr} - ldr r4, _080DC0EC @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DC0F0 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x44] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DC0E4 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080DC0F4 @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - movs r0, 0x13 - strh r0, [r2, 0x2E] -_080DC0E4: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DC0EC: .4byte gFieldEffectArguments -_080DC0F0: .4byte gFieldEffectObjectTemplatePointers -_080DC0F4: .4byte gSprites - thumb_func_end FldEff_Unknown19 - - thumb_func_start FldEff_Unknown20 -FldEff_Unknown20: @ 80DC0F8 - push {r4,lr} - ldr r4, _080DC158 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DC15C @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x48] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DC150 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080DC160 @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - movs r0, 0x14 - strh r0, [r2, 0x2E] -_080DC150: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DC158: .4byte gFieldEffectArguments -_080DC15C: .4byte gFieldEffectObjectTemplatePointers -_080DC160: .4byte gSprites - thumb_func_end FldEff_Unknown20 - - thumb_func_start FldEff_Unknown21 -FldEff_Unknown21: @ 80DC164 - push {r4,lr} - ldr r4, _080DC1C4 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DC1C8 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x4C] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DC1BC - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080DC1CC @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - movs r0, 0x15 - strh r0, [r2, 0x2E] -_080DC1BC: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DC1C4: .4byte gFieldEffectArguments -_080DC1C8: .4byte gFieldEffectObjectTemplatePointers -_080DC1CC: .4byte gSprites - thumb_func_end FldEff_Unknown21 - - thumb_func_start FldEff_Unknown22 -FldEff_Unknown22: @ 80DC1D0 - push {r4,lr} - ldr r4, _080DC230 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DC234 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x50] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DC228 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080DC238 @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - movs r0, 0x16 - strh r0, [r2, 0x2E] -_080DC228: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DC230: .4byte gFieldEffectArguments -_080DC234: .4byte gFieldEffectObjectTemplatePointers -_080DC238: .4byte gSprites - thumb_func_end FldEff_Unknown22 - - thumb_func_start StartAshFieldEffect -StartAshFieldEffect: @ 80DC23C - push {r4,lr} - lsls r2, 16 - lsrs r2, 16 - ldr r4, _080DC26C @ =gFieldEffectArguments - lsls r0, 16 - asrs r0, 16 - str r0, [r4] - lsls r1, 16 - asrs r1, 16 - str r1, [r4, 0x4] - movs r0, 0x52 - str r0, [r4, 0x8] - movs r0, 0x1 - str r0, [r4, 0xC] - str r2, [r4, 0x10] - lsls r3, 16 - asrs r3, 16 - str r3, [r4, 0x14] - movs r0, 0x7 - bl FieldEffectStart - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DC26C: .4byte gFieldEffectArguments - thumb_func_end StartAshFieldEffect - - thumb_func_start oei_ash -oei_ash: @ 80DC270 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _080DC2F0 @ =gFieldEffectArguments - ldrh r1, [r5] - mov r0, sp - strh r1, [r0] - ldrh r0, [r5, 0x4] - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - mov r0, sp - adds r1, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DC2F4 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x18] - mov r1, sp - movs r2, 0 - ldrsh r1, [r1, r2] - movs r3, 0 - ldrsh r2, [r4, r3] - ldrb r3, [r5, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DC2E6 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080DC2F8 @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r5, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r5] - strh r0, [r2, 0x30] - ldr r0, [r5, 0x4] - strh r0, [r2, 0x32] - ldr r0, [r5, 0x10] - strh r0, [r2, 0x34] - ldr r0, [r5, 0x14] - strh r0, [r2, 0x36] -_080DC2E6: - movs r0, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080DC2F0: .4byte gFieldEffectArguments -_080DC2F4: .4byte gFieldEffectObjectTemplatePointers -_080DC2F8: .4byte gSprites - thumb_func_end oei_ash - - thumb_func_start sub_80DC2FC -sub_80DC2FC: @ 80DC2FC - push {lr} - ldr r2, _080DC314 @ =gUnknown_83FECE8 - movs r3, 0x2E - ldrsh r1, [r0, r3] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_080DC314: .4byte gUnknown_83FECE8 - thumb_func_end sub_80DC2FC - - thumb_func_start sub_80DC318 -sub_80DC318: @ 80DC318 - push {lr} - adds r3, r0, 0 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - subs r2, 0x12 - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r3, 0x36] - subs r0, 0x1 - strh r0, [r3, 0x36] - lsls r0, 16 - cmp r0, 0 - bne _080DC342 - movs r0, 0x1 - strh r0, [r3, 0x2E] -_080DC342: - pop {r0} - bx r0 - thumb_func_end sub_80DC318 - - thumb_func_start sub_80DC348 -sub_80DC348: @ 80DC348 - push {r4,lr} - adds r4, r0, 0 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - subs r2, 0x12 - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r2, 0x32 - ldrsh r1, [r4, r2] - ldrh r2, [r4, 0x34] - bl MapGridSetMetatileIdAt - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r2, 0x32 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt - ldr r2, _080DC3A0 @ =gObjectEvents - ldr r0, _080DC3A4 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - movs r0, 0x2 - strh r0, [r4, 0x2E] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DC3A0: .4byte gObjectEvents -_080DC3A4: .4byte gPlayerAvatar - thumb_func_end sub_80DC348 - - thumb_func_start sub_80DC3A8 -sub_80DC3A8: @ 80DC3A8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - bl sub_8068EB4 - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080DC3C8 - adds r0, r4, 0 - movs r1, 0x7 - bl FieldEffectStop -_080DC3C8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80DC3A8 - - thumb_func_start sub_80DC3D0 -sub_80DC3D0: @ 80DC3D0 - push {r4,r5,lr} - ldr r4, _080DC43C @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DC440 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x1C] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0x96 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - cmp r0, 0x40 - beq _080DC42C - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080DC444 @ =gSprites - adds r1, r0 - adds r3, r1, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r3] - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - strb r0, [r1, 0x5] - ldr r0, [r4, 0x8] - movs r2, 0 - strh r0, [r1, 0x32] - strh r2, [r1, 0x34] - ldr r0, _080DC448 @ =0x0000ffff - strh r0, [r1, 0x3A] - movs r0, 0x1 - negs r0, r0 - strh r0, [r1, 0x3C] -_080DC42C: - movs r0, 0x8 - bl FieldEffectActiveListRemove - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080DC43C: .4byte gFieldEffectArguments -_080DC440: .4byte gFieldEffectObjectTemplatePointers -_080DC444: .4byte gSprites -_080DC448: .4byte 0x0000ffff - thumb_func_end sub_80DC3D0 - - thumb_func_start sub_80DC44C -sub_80DC44C: @ 80DC44C - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r3, _080DC474 @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - ldrh r0, [r2, 0x2E] - movs r3, 0x10 - negs r3, r3 - ands r3, r0 - movs r0, 0xF0 - lsls r0, 20 - ands r0, r1 - lsrs r0, 24 - orrs r0, r3 - strh r0, [r2, 0x2E] - bx lr - .align 2, 0 -_080DC474: .4byte gSprites - thumb_func_end sub_80DC44C - - thumb_func_start sub_80DC478 -sub_80DC478: @ 80DC478 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r3, _080DC4A0 @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - ldrh r0, [r2, 0x2E] - movs r3, 0xF1 - negs r3, r3 - ands r3, r0 - movs r0, 0xF0 - lsls r0, 20 - ands r0, r1 - lsrs r0, 20 - orrs r3, r0 - strh r3, [r2, 0x2E] - bx lr - .align 2, 0 -_080DC4A0: .4byte gSprites - thumb_func_end sub_80DC478 - - thumb_func_start sub_80DC4A4 -sub_80DC4A4: @ 80DC4A4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r4, _080DC4D0 @ =gSprites - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - adds r3, r4 - ldrh r0, [r3, 0x2E] - ldr r4, _080DC4D4 @ =0xfffff0ff - ands r4, r0 - movs r0, 0xF0 - lsls r0, 20 - ands r0, r1 - lsrs r0, 16 - orrs r4, r0 - strh r4, [r3, 0x2E] - strh r2, [r3, 0x30] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DC4D0: .4byte gSprites -_080DC4D4: .4byte 0xfffff0ff - thumb_func_end sub_80DC4A4 - - thumb_func_start sub_80DC4D8 -sub_80DC4D8: @ 80DC4D8 - ldrh r1, [r0, 0x2E] - movs r0, 0xF - ands r0, r1 - bx lr - thumb_func_end sub_80DC4D8 - - thumb_func_start sub_80DC4E0 -sub_80DC4E0: @ 80DC4E0 - ldrh r1, [r0, 0x2E] - movs r0, 0xF0 - ands r0, r1 - lsrs r0, 4 - bx lr - thumb_func_end sub_80DC4E0 - - thumb_func_start sub_80DC4EC -sub_80DC4EC: @ 80DC4EC - ldrh r1, [r0, 0x2E] - movs r0, 0xF0 - lsls r0, 4 - ands r0, r1 - lsrs r0, 8 - bx lr - thumb_func_end sub_80DC4EC - - thumb_func_start sub_80DC4F8 -sub_80DC4F8: @ 80DC4F8 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x32 - ldrsh r0, [r6, r1] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _080DC548 @ =gObjectEvents - adds r4, r0 - ldrb r0, [r4, 0x4] - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - ldr r0, _080DC54C @ =gSprites - adds r5, r0 - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_80DC550 - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_80DC588 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl sub_80DC61C - ldrb r0, [r5, 0x5] - movs r1, 0xC - ands r1, r0 - ldrb r2, [r6, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6, 0x5] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080DC548: .4byte gObjectEvents -_080DC54C: .4byte gSprites - thumb_func_end sub_80DC4F8 - - thumb_func_start sub_80DC550 -sub_80DC550: @ 80DC550 - push {r4,r5,lr} - sub sp, 0x8 - adds r5, r0, 0 - adds r4, r1, 0 - ldr r1, _080DC584 @ =gUnknown_83FECF4 - mov r0, sp - movs r2, 0x5 - bl memcpy - adds r0, r4, 0 - bl sub_80DC4E0 - lsls r0, 24 - cmp r0, 0 - bne _080DC57C - ldrb r0, [r5, 0x18] - lsrs r0, 4 - add r0, sp - ldrb r1, [r0] - adds r0, r4, 0 - bl StartSpriteAnimIfDifferent -_080DC57C: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DC584: .4byte gUnknown_83FECF4 - thumb_func_end sub_80DC550 - - thumb_func_start sub_80DC588 -sub_80DC588: @ 80DC588 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r4, r1, 0 - ldrh r2, [r0, 0x10] - mov r1, sp - strh r2, [r1] - ldrh r1, [r0, 0x12] - mov r0, sp - adds r0, 0x2 - strh r1, [r0] - movs r2, 0x26 - ldrsh r3, [r4, r2] - mov r8, r0 - cmp r3, 0 - bne _080DC610 - mov r0, sp - movs r5, 0 - ldrsh r2, [r0, r5] - movs r5, 0x3A - ldrsh r0, [r4, r5] - cmp r2, r0 - bne _080DC5C4 - lsls r0, r1, 16 - asrs r0, 16 - movs r5, 0x3C - ldrsh r1, [r4, r5] - cmp r0, r1 - beq _080DC610 -_080DC5C4: - strh r3, [r4, 0x38] - strh r2, [r4, 0x3A] - mov r1, r8 - movs r2, 0 - ldrsh r0, [r1, r2] - strh r0, [r4, 0x3C] - movs r5, 0x1 - mov r7, r8 - mov r6, sp -_080DC5D6: - adds r0, r5, 0 - mov r1, sp - adds r2, r7, 0 - bl MoveCoords - movs r1, 0 - ldrsh r0, [r6, r1] - movs r2, 0 - ldrsh r1, [r7, r2] - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _080DC5FC - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - b _080DC610 -_080DC5FC: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrh r0, [r4, 0x3A] - strh r0, [r6] - ldrh r0, [r4, 0x3C] - mov r1, r8 - strh r0, [r1] - cmp r5, 0x4 - bls _080DC5D6 -_080DC610: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80DC588 - - thumb_func_start sub_80DC61C -sub_80DC61C: @ 80DC61C - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r1, 0 - adds r4, r2, 0 - ldr r1, _080DC680 @ =gUnknown_83FECFA - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r0, r4, 0 - bl sub_80DC4D8 - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - cmp r2, 0 - beq _080DC6A6 - ldrh r1, [r4, 0x36] - adds r1, 0x1 - strh r1, [r4, 0x36] - movs r3, 0x38 - ldrsh r0, [r4, r3] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _080DC65C - ldrh r0, [r4, 0x34] - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] -_080DC65C: - ldrh r1, [r4, 0x36] - movs r0, 0x1F - ands r0, r1 - cmp r0, 0 - bne _080DC66C - ldrh r0, [r4, 0x34] - negs r0, r0 - strh r0, [r4, 0x34] -_080DC66C: - cmp r2, 0x2 - beq _080DC6A6 - adds r0, r4, 0 - bl sub_80DC4EC - lsls r0, 24 - cmp r0, 0 - bne _080DC684 - ldrh r0, [r4, 0x26] - b _080DC68A - .align 2, 0 -_080DC680: .4byte gUnknown_83FECFA -_080DC684: - ldrh r0, [r4, 0x26] - ldrh r3, [r4, 0x30] - adds r0, r3 -_080DC68A: - strh r0, [r5, 0x26] - adds r0, r4, 0 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0 - beq _080DC69C - ldrh r0, [r5, 0x26] - adds r0, 0x1 - strh r0, [r5, 0x26] -_080DC69C: - ldrh r0, [r5, 0x20] - strh r0, [r4, 0x20] - ldrh r0, [r5, 0x22] - adds r0, 0x8 - strh r0, [r4, 0x22] -_080DC6A6: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80DC61C - - thumb_func_start sub_80DC6B0 -sub_80DC6B0: @ 80DC6B0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080DC6F4 @ =gDummySpriteTemplate - movs r1, 0 - movs r2, 0 - movs r3, 0xFF - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r1, _080DC6F8 @ =gSprites - adds r2, r1 - ldr r1, _080DC6FC @ =sub_80DC700 - str r1, [r2, 0x1C] - movs r1, 0x3E - adds r1, r2 - mov r12, r1 - ldrb r1, [r1] - movs r3, 0x4 - orrs r1, r3 - mov r3, r12 - strb r1, [r3] - strh r4, [r2, 0x2E] - movs r1, 0x1 - strh r1, [r2, 0x30] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DC6F4: .4byte gDummySpriteTemplate -_080DC6F8: .4byte gSprites -_080DC6FC: .4byte sub_80DC700 - thumb_func_end sub_80DC6B0 - - thumb_func_start sub_80DC700 -sub_80DC700: @ 80DC700 - push {lr} - adds r2, r0, 0 - movs r0, 0x2E - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DC73C @ =gSprites - adds r3, r0, r1 - ldrh r1, [r2, 0x32] - adds r0, r1, 0x1 - strh r0, [r2, 0x32] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _080DC728 - ldrh r0, [r2, 0x30] - ldrh r1, [r3, 0x26] - adds r0, r1 - strh r0, [r3, 0x26] -_080DC728: - ldrh r1, [r2, 0x32] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _080DC738 - ldrh r0, [r2, 0x30] - negs r0, r0 - strh r0, [r2, 0x30] -_080DC738: - pop {r0} - bx r0 - .align 2, 0 -_080DC73C: .4byte gSprites - thumb_func_end sub_80DC700 - - thumb_func_start FldEff_Dust -FldEff_Dust: @ 80DC740 - push {r4,lr} - ldr r4, _080DC7A4 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0xC - bl sub_8063BC4 - ldr r0, _080DC7A8 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x24] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DC79C - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080DC7AC @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r4, 0x8] - strh r0, [r2, 0x2E] - movs r0, 0xA - strh r0, [r2, 0x30] -_080DC79C: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DC7A4: .4byte gFieldEffectArguments -_080DC7A8: .4byte gFieldEffectObjectTemplatePointers -_080DC7AC: .4byte gSprites - thumb_func_end FldEff_Dust - - thumb_func_start FldEff_SandPile -FldEff_SandPile: @ 80DC7B0 - push {r4-r7,lr} - ldr r7, _080DC85C @ =gFieldEffectArguments - ldrb r0, [r7] - ldrb r1, [r7, 0x4] - ldrb r2, [r7, 0x8] - bl GetObjectEventIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _080DC860 @ =gObjectEvents - adds r6, r1, r0 - ldr r0, _080DC864 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x74] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x40 - beq _080DC854 - ldrb r0, [r6, 0x5] - bl GetObjectEventGraphicsInfo - adds r5, r0, 0 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r4, _080DC868 @ =gSprites - adds r0, r4 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - ldrb r2, [r6, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrb r1, [r1, 0x5] - movs r2, 0xC - ands r2, r1 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r1, [r7] - strh r1, [r0, 0x2E] - ldr r1, [r7, 0x4] - strh r1, [r0, 0x30] - ldr r1, [r7, 0x8] - strh r1, [r0, 0x32] - ldrb r2, [r6, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrh r1, [r1, 0x20] - strh r1, [r0, 0x34] - ldrb r2, [r6, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrh r1, [r1, 0x22] - strh r1, [r0, 0x36] - ldrh r1, [r5, 0xA] - lsls r1, 16 - asrs r1, 17 - subs r1, 0x2 - strh r1, [r0, 0x26] - movs r1, 0x2 - bl SeekSpriteAnim -_080DC854: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080DC85C: .4byte gFieldEffectArguments -_080DC860: .4byte gObjectEvents -_080DC864: .4byte gFieldEffectObjectTemplatePointers -_080DC868: .4byte gSprites - thumb_func_end FldEff_SandPile - - thumb_func_start sub_80DC86C -sub_80DC86C: @ 80DC86C - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080DC8A6 - ldr r2, _080DC8B0 @ =gObjectEvents - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - ldrb r0, [r1, 0x2] - lsls r0, 27 - cmp r0, 0 - blt _080DC8B4 -_080DC8A6: - adds r0, r4, 0 - movs r1, 0x27 - bl FieldEffectStop - b _080DC926 - .align 2, 0 -_080DC8B0: .4byte gObjectEvents -_080DC8B4: - ldr r2, _080DC930 @ =gSprites - ldrb r1, [r1, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r5, [r0, 0x22] - ldrh r6, [r0, 0x20] - movs r2, 0x20 - ldrsh r1, [r0, r2] - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _080DC8DC - lsls r0, r5, 16 - asrs r0, 16 - movs r2, 0x36 - ldrsh r1, [r4, r2] - cmp r0, r1 - beq _080DC8F6 -_080DC8DC: - strh r6, [r4, 0x34] - strh r5, [r4, 0x36] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080DC8F6 - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim -_080DC8F6: - strh r6, [r4, 0x20] - strh r5, [r4, 0x22] - ldr r3, _080DC930 @ =gSprites - ldr r2, _080DC934 @ =gObjectEvents - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x43 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0 - bl sub_8068EB4 -_080DC926: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080DC930: .4byte gSprites -_080DC934: .4byte gObjectEvents - thumb_func_end sub_80DC86C - - thumb_func_start FldEff_Bubbles -FldEff_Bubbles: @ 80DC938 - push {r4,lr} - ldr r4, _080DC990 @ =gFieldEffectArguments - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0 - bl sub_8063BC4 - ldr r0, _080DC994 @ =gFieldEffectObjectTemplatePointers - adds r0, 0x88 - ldr r0, [r0] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0x52 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DC988 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080DC998 @ =gSprites - adds r1, r0 - adds r3, r1, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r3] - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1, 0x5] -_080DC988: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DC990: .4byte gFieldEffectArguments -_080DC994: .4byte gFieldEffectObjectTemplatePointers -_080DC998: .4byte gSprites - thumb_func_end FldEff_Bubbles - - thumb_func_start sub_80DC99C -sub_80DC99C: @ 80DC99C - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x80 - movs r1, 0x80 - lsls r1, 1 - ands r0, r1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r4, 0x22] - subs r1, r0 - strh r1, [r4, 0x22] - adds r0, r4, 0 - movs r1, 0 - bl sub_8068EB4 - ldrh r1, [r4, 0x3E] - ldr r0, _080DC9D8 @ =0x00001004 - ands r0, r1 - cmp r0, 0 - beq _080DC9D0 - adds r0, r4, 0 - movs r1, 0x35 - bl FieldEffectStop -_080DC9D0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DC9D8: .4byte 0x00001004 - thumb_func_end sub_80DC99C - - thumb_func_start sub_80DC9DC -sub_80DC9DC: @ 80DC9DC - movs r0, 0 - bx lr - thumb_func_end sub_80DC9DC - - thumb_func_start ShowTreeDisguiseFieldEffect -ShowTreeDisguiseFieldEffect: @ 80DC9E0 - push {lr} - movs r0, 0x1C - movs r1, 0x18 - movs r2, 0x4 - bl ShowDisguiseFieldEffect - pop {r1} - bx r1 - thumb_func_end ShowTreeDisguiseFieldEffect - - thumb_func_start ShowMountainDisguiseFieldEffect -ShowMountainDisguiseFieldEffect: @ 80DC9F0 - push {lr} - movs r0, 0x1D - movs r1, 0x19 - movs r2, 0x3 - bl ShowDisguiseFieldEffect - pop {r1} - bx r1 - thumb_func_end ShowMountainDisguiseFieldEffect - - thumb_func_start ShowSandDisguiseFieldEffect -ShowSandDisguiseFieldEffect: @ 80DCA00 - push {lr} - movs r0, 0x24 - movs r1, 0x1C - movs r2, 0x2 - bl ShowDisguiseFieldEffect - pop {r1} - bx r1 - thumb_func_end ShowSandDisguiseFieldEffect - - thumb_func_start ShowDisguiseFieldEffect -ShowDisguiseFieldEffect: @ 80DCA10 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - mov r8, r4 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r7, r2, 24 - ldr r5, _080DCA44 @ =gFieldEffectArguments - ldrb r0, [r5] - ldrb r1, [r5, 0x4] - ldrb r2, [r5, 0x8] - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - beq _080DCA48 - adds r0, r4, 0 - bl FieldEffectActiveListRemove - movs r0, 0x40 - b _080DCAB4 - .align 2, 0 -_080DCA44: .4byte gFieldEffectArguments -_080DCA48: - ldr r1, _080DCAC0 @ =gFieldEffectObjectTemplatePointers - lsls r0, r6, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSpriteAtEnd - mov r1, sp - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080DCAB0 - mov r0, sp - ldrb r0, [r0] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _080DCAC4 @ =gSprites - adds r2, r0 - movs r0, 0x3E - adds r0, r2 - mov r12, r0 - ldrb r3, [r0] - lsls r1, r3, 30 - lsrs r1, 31 - adds r1, 0x1 - movs r0, 0x1 - ands r1, r0 - lsls r1, 1 - movs r0, 0x3 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - lsls r3, r7, 4 - ldrb r1, [r2, 0x5] - movs r0, 0xF - ands r0, r1 - orrs r0, r3 - strb r0, [r2, 0x5] - mov r0, r8 - strh r0, [r2, 0x30] - ldr r0, [r5] - strh r0, [r2, 0x32] - ldr r0, [r5, 0x4] - strh r0, [r2, 0x34] - ldr r0, [r5, 0x8] - strh r0, [r2, 0x36] -_080DCAB0: - mov r0, sp - ldrb r0, [r0] -_080DCAB4: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080DCAC0: .4byte gFieldEffectObjectTemplatePointers -_080DCAC4: .4byte gSprites - thumb_func_end ShowDisguiseFieldEffect - - thumb_func_start sub_80DCAC8 -sub_80DCAC8: @ 80DCAC8 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - ldrh r0, [r5, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x34] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r5, 0x36] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - beq _080DCAF8 - ldrh r1, [r5, 0x30] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl FieldEffectStop -_080DCAF8: - ldr r4, _080DCBB0 @ =gObjectEvents - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x5] - bl GetObjectEventGraphicsInfo - mov r1, sp - ldrb r2, [r1] - lsls r1, r2, 3 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrb r1, [r1, 0x4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - ldr r1, _080DCBB4 @ =gSprites - adds r2, r1 - adds r1, r2, 0 - adds r1, 0x3E - ldrb r1, [r1] - movs r3, 0x3E - adds r3, r5 - mov r12, r3 - movs r3, 0x4 - ands r3, r1 - mov r1, r12 - ldrb r4, [r1] - movs r1, 0x5 - negs r1, r1 - ands r1, r4 - orrs r1, r3 - mov r3, r12 - strb r1, [r3] - ldrh r1, [r2, 0x20] - strh r1, [r5, 0x20] - ldrh r0, [r0, 0xA] - lsls r0, 16 - asrs r0, 17 - ldrh r1, [r2, 0x22] - adds r0, r1 - subs r0, 0x10 - strh r0, [r5, 0x22] - adds r2, 0x43 - ldrb r0, [r2] - subs r0, 0x1 - adds r1, r5, 0 - adds r1, 0x43 - strb r0, [r1] - ldrh r1, [r5, 0x2E] - movs r2, 0x2E - ldrsh r0, [r5, r2] - cmp r0, 0x1 - bne _080DCB78 - adds r0, r1, 0x1 - strh r0, [r5, 0x2E] - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim -_080DCB78: - movs r3, 0x2E - ldrsh r0, [r5, r3] - ldrh r2, [r5, 0x2E] - cmp r0, 0x2 - bne _080DCB94 - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080DCB94 - movs r0, 0x1 - strh r0, [r5, 0x3C] -_080DCB94: - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _080DCBA8 - ldrh r1, [r5, 0x30] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl FieldEffectStop -_080DCBA8: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DCBB0: .4byte gObjectEvents -_080DCBB4: .4byte gSprites - thumb_func_end sub_80DCAC8 - - thumb_func_start sub_80DCBB8 -sub_80DCBB8: @ 80DCBB8 - push {lr} - adds r1, r0, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080DCBD6 - ldr r2, _080DCBDC @ =gSprites - ldrb r1, [r1, 0x1A] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x2E] - adds r1, 0x1 - strh r1, [r0, 0x2E] -_080DCBD6: - pop {r0} - bx r0 - .align 2, 0 -_080DCBDC: .4byte gSprites - thumb_func_end sub_80DCBB8 - - thumb_func_start sub_80DCBE0 -sub_80DCBE0: @ 80DCBE0 - push {lr} - adds r2, r0, 0 - adds r2, 0x21 - ldrb r1, [r2] - cmp r1, 0x2 - beq _080DCC16 - cmp r1, 0 - beq _080DCC16 - ldrb r1, [r0, 0x1A] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DCC08 @ =gSprites - adds r1, r0, r1 - movs r3, 0x3C - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _080DCC0C - movs r0, 0 - b _080DCC18 - .align 2, 0 -_080DCC08: .4byte gSprites -_080DCC0C: - movs r0, 0x2 - strb r0, [r2] - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] -_080DCC16: - movs r0, 0x1 -_080DCC18: - pop {r1} - bx r1 - thumb_func_end sub_80DCBE0 - - thumb_func_start FldEff_Sparkle -FldEff_Sparkle: @ 80DCC1C - push {r4,lr} - ldr r4, _080DCC84 @ =gFieldEffectArguments - ldr r0, [r4] - adds r0, 0x7 - str r0, [r4] - ldr r0, [r4, 0x4] - adds r0, 0x7 - str r0, [r4, 0x4] - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8063BC4 - ldr r0, _080DCC88 @ =gFieldEffectObjectTemplatePointers - adds r0, 0x8C - ldr r0, [r0] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0x52 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080DCC7C - ldr r0, _080DCC8C @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - movs r0, 0x3 - ldrb r2, [r4, 0x8] - ands r2, r0 - lsls r2, 2 - ldrb r3, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x5] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r1] -_080DCC7C: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080DCC84: .4byte gFieldEffectArguments -_080DCC88: .4byte gFieldEffectObjectTemplatePointers -_080DCC8C: .4byte gSprites - thumb_func_end FldEff_Sparkle - - thumb_func_start sub_80DCC90 -sub_80DCC90: @ 80DCC90 - push {lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _080DCCC4 - adds r0, r2, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080DCCBC - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] -_080DCCBC: - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _080DCCDA -_080DCCC4: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x22 - ble _080DCCDA - adds r0, r2, 0 - movs r1, 0x36 - bl FieldEffectStop -_080DCCDA: - pop {r0} - bx r0 - thumb_func_end sub_80DCC90 - - thumb_func_start sub_80DCCE0 -sub_80DCCE0: @ 80DCCE0 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080DCCFE - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldEffectStop - b _080DCD14 -_080DCCFE: - adds r0, r4, 0 - movs r1, 0 - bl sub_8068EB4 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - movs r2, 0 - bl SetObjectSubpriorityByZCoord -_080DCD14: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80DCCE0 - - thumb_func_start sub_80DCD1C -sub_80DCD1C: @ 80DCD1C - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080DCD3A - ldrh r1, [r2, 0x2E] - lsls r1, 24 - lsrs r1, 24 - adds r0, r2, 0 - bl FieldEffectStop - b _080DCD42 -_080DCD3A: - adds r0, r2, 0 - movs r1, 0 - bl sub_8068EB4 -_080DCD42: - pop {r0} - bx r0 - thumb_func_end sub_80DCD1C - - thumb_func_start sub_80DCD48 -sub_80DCD48: @ 80DCD48 - push {r4-r7,lr} - adds r6, r0, 0 - adds r0, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - adds r1, r6, 0 - bl SetObjectSubpriorityByZCoord - movs r7, 0 -_080DCD5E: - lsls r0, r7, 3 - adds r0, r7 - lsls r0, 2 - ldr r1, _080DCDF8 @ =gObjectEvents - adds r4, r0, r1 - ldrb r0, [r4] - lsls r0, 31 - cmp r0, 0 - beq _080DCE00 - ldrb r0, [r4, 0x5] - bl GetObjectEventGraphicsInfo - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080DCDFC @ =gSprites - adds r5, r0, r1 - adds r0, r6, 0 - adds r0, 0x28 - movs r2, 0 - ldrsb r2, [r0, r2] - ldrh r0, [r6, 0x20] - adds r1, r0, r2 - subs r0, r2 - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - asrs r1, 16 - movs r0, 0x20 - ldrsh r2, [r5, r0] - cmp r1, r2 - bge _080DCE00 - lsls r0, r4, 16 - asrs r0, 16 - cmp r0, r2 - ble _080DCE00 - adds r0, r5, 0 - adds r0, 0x29 - movs r3, 0 - ldrsb r3, [r0, r3] - ldrh r2, [r5, 0x22] - adds r2, r3 - ldrh r4, [r5, 0x22] - adds r0, r6, 0 - adds r0, 0x29 - movs r1, 0 - ldrsb r1, [r0, r1] - ldrh r0, [r6, 0x22] - subs r0, r1 - lsls r0, 16 - asrs r0, 16 - adds r3, r0, r3 - lsls r2, 16 - asrs r2, 16 - lsls r3, 16 - asrs r3, 16 - cmp r2, r3 - blt _080DCDD8 - cmp r2, r0 - bge _080DCE00 -_080DCDD8: - lsls r0, r4, 16 - asrs r0, 16 - cmp r0, r3 - ble _080DCE00 - adds r2, r6, 0 - adds r2, 0x43 - adds r0, r5, 0 - adds r0, 0x43 - ldrb r1, [r0] - ldrb r0, [r2] - cmp r0, r1 - bhi _080DCE00 - adds r0, r1, 0x2 - strb r0, [r2] - b _080DCE0A - .align 2, 0 -_080DCDF8: .4byte gObjectEvents -_080DCDFC: .4byte gSprites -_080DCE00: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0xF - bls _080DCD5E -_080DCE0A: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80DCD48 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_ground_effect.s b/asm/field_ground_effect.s deleted file mode 100644 index b9f0c842d..000000000 --- a/asm/field_ground_effect.s +++ /dev/null @@ -1,1894 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start GetAllGroundEffectFlags_OnSpawn -GetAllGroundEffectFlags_OnSpawn: @ 8067B34 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl ObjectEventUpdateMetatileBehaviors - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Reflection - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_TallGrassOnSpawn - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_LongGrassOnSpawn - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_SandHeap - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShallowFlowingWater - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShortGrass - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_HotSprings - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetAllGroundEffectFlags_OnSpawn - - thumb_func_start GetAllGroundEffectFlags_OnBeginStep -GetAllGroundEffectFlags_OnBeginStep: @ 8067B7C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl ObjectEventUpdateMetatileBehaviors - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Reflection - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_TallGrassOnBeginStep - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_LongGrassOnBeginStep - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Tracks - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_SandHeap - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShallowFlowingWater - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Puddle - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShortGrass - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_HotSprings - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetAllGroundEffectFlags_OnBeginStep - - thumb_func_start GetAllGroundEffectFlags_OnFinishStep -GetAllGroundEffectFlags_OnFinishStep: @ 8067BD4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl ObjectEventUpdateMetatileBehaviors - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShallowFlowingWater - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_SandHeap - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Puddle - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Ripple - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShortGrass - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_HotSprings - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Seaweed - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_JumpLanding - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetAllGroundEffectFlags_OnFinishStep - - thumb_func_start ObjectEventUpdateMetatileBehaviors -ObjectEventUpdateMetatileBehaviors: @ 8067C24 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x14 - ldrsh r0, [r4, r1] - movs r2, 0x16 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - strb r0, [r4, 0x1F] - movs r1, 0x10 - ldrsh r0, [r4, r1] - movs r2, 0x12 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - strb r0, [r4, 0x1E] - pop {r4} - pop {r0} - bx r0 - thumb_func_end ObjectEventUpdateMetatileBehaviors - - thumb_func_start GetGroundEffectFlags_Reflection -GetGroundEffectFlags_Reflection: @ 8067C4C - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, _08067C90 @ =gUnknown_83A7024 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - adds r0, r4, 0 - bl sub_8067F88 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _08067C94 - ldrb r1, [r4, 0x2] - lsls r0, r1, 30 - cmp r0, 0 - blt _08067C9E - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4, 0x2] - subs r0, r2, 0x1 - lsls r0, 2 - add r0, sp - ldr r1, [r5] - ldr r0, [r0] - orrs r1, r0 - str r1, [r5] - b _08067C9E - .align 2, 0 -_08067C90: .4byte gUnknown_83A7024 -_08067C94: - ldrb r1, [r4, 0x2] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_08067C9E: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Reflection - - thumb_func_start GetGroundEffectFlags_TallGrassOnSpawn -GetGroundEffectFlags_TallGrassOnSpawn: @ 8067CA8 - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsTallGrass_2 - lsls r0, 24 - cmp r0, 0 - beq _08067CC0 - ldr r0, [r4] - movs r1, 0x1 - orrs r0, r1 - str r0, [r4] -_08067CC0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_TallGrassOnSpawn - - thumb_func_start GetGroundEffectFlags_TallGrassOnBeginStep -GetGroundEffectFlags_TallGrassOnBeginStep: @ 8067CC8 - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsTallGrass_2 - lsls r0, 24 - cmp r0, 0 - beq _08067CE0 - ldr r0, [r4] - movs r1, 0x2 - orrs r0, r1 - str r0, [r4] -_08067CE0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_TallGrassOnBeginStep - - thumb_func_start GetGroundEffectFlags_LongGrassOnSpawn -GetGroundEffectFlags_LongGrassOnSpawn: @ 8067CE8 - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsLongGrass - lsls r0, 24 - cmp r0, 0 - beq _08067D00 - ldr r0, [r4] - movs r1, 0x4 - orrs r0, r1 - str r0, [r4] -_08067D00: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_LongGrassOnSpawn - - thumb_func_start GetGroundEffectFlags_LongGrassOnBeginStep -GetGroundEffectFlags_LongGrassOnBeginStep: @ 8067D08 - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsLongGrass - lsls r0, 24 - cmp r0, 0 - beq _08067D20 - ldr r0, [r4] - movs r1, 0x8 - orrs r0, r1 - str r0, [r4] -_08067D20: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_LongGrassOnBeginStep - - thumb_func_start GetGroundEffectFlags_Tracks -GetGroundEffectFlags_Tracks: @ 8067D28 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_ReturnFalse - lsls r0, 24 - cmp r0, 0 - beq _08067D42 - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 1 - b _08067D5E -_08067D42: - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsMB21OrSand - lsls r0, 24 - cmp r0, 0 - bne _08067D5A - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_ReturnFalse_5 - lsls r0, 24 - cmp r0, 0 - beq _08067D62 -_08067D5A: - ldr r0, [r5] - movs r1, 0x80 -_08067D5E: - orrs r0, r1 - str r0, [r5] -_08067D62: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Tracks - - thumb_func_start GetGroundEffectFlags_SandHeap -GetGroundEffectFlags_SandHeap: @ 8067D68 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_ReturnFalse - lsls r0, 24 - cmp r0, 0 - beq _08067DA6 - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_ReturnFalse - lsls r0, 24 - cmp r0, 0 - beq _08067DA6 - ldrb r1, [r4, 0x2] - lsls r0, r1, 27 - cmp r0, 0 - blt _08067DB0 - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - movs r1, 0x10 - orrs r0, r1 - strb r0, [r4, 0x2] - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 4 - orrs r0, r1 - str r0, [r5] - b _08067DB0 -_08067DA6: - ldrb r1, [r4, 0x2] - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_08067DB0: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_SandHeap - - thumb_func_start GetGroundEffectFlags_ShallowFlowingWater -GetGroundEffectFlags_ShallowFlowingWater: @ 8067DB8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsWaterfallBottom - lsls r0, 24 - cmp r0, 0 - beq _08067DD6 - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsWaterfallBottom - lsls r0, 24 - cmp r0, 0 - bne _08067DEE -_08067DD6: - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_ReturnFalse_10 - lsls r0, 24 - cmp r0, 0 - beq _08067E0C - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_ReturnFalse_10 - lsls r0, 24 - cmp r0, 0 - beq _08067E0C -_08067DEE: - ldrb r1, [r4, 0x2] - lsls r0, r1, 28 - cmp r0, 0 - blt _08067E16 - movs r0, 0x9 - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r4, 0x2] - ldr r0, [r5] - movs r1, 0x40 - orrs r0, r1 - str r0, [r5] - b _08067E16 -_08067E0C: - ldrb r1, [r4, 0x2] - movs r0, 0x9 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_08067E16: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_ShallowFlowingWater - - thumb_func_start GetGroundEffectFlags_Puddle -GetGroundEffectFlags_Puddle: @ 8067E1C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsPuddle - lsls r0, 24 - cmp r0, 0 - beq _08067E44 - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsPuddle - lsls r0, 24 - cmp r0, 0 - beq _08067E44 - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 3 - orrs r0, r1 - str r0, [r5] -_08067E44: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Puddle - - thumb_func_start GetGroundEffectFlags_Ripple -GetGroundEffectFlags_Ripple: @ 8067E4C - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsPondWaterOrPuddle - lsls r0, 24 - cmp r0, 0 - beq _08067E66 - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 2 - orrs r0, r1 - str r0, [r4] -_08067E66: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Ripple - - thumb_func_start GetGroundEffectFlags_ShortGrass -GetGroundEffectFlags_ShortGrass: @ 8067E6C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_ReturnFalse_8 - lsls r0, 24 - cmp r0, 0 - beq _08067EAA - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_ReturnFalse_8 - lsls r0, 24 - cmp r0, 0 - beq _08067EAA - ldrb r1, [r4, 0x2] - lsls r0, r1, 29 - cmp r0, 0 - blt _08067EB4 - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4, 0x2] - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 10 - orrs r0, r1 - str r0, [r5] - b _08067EB4 -_08067EAA: - ldrb r1, [r4, 0x2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_08067EB4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_ShortGrass - - thumb_func_start GetGroundEffectFlags_HotSprings -GetGroundEffectFlags_HotSprings: @ 8067EBC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsHotSprings - lsls r0, 24 - cmp r0, 0 - beq _08067EFA - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsHotSprings - lsls r0, 24 - cmp r0, 0 - beq _08067EFA - ldrb r1, [r4, 0x2] - lsls r0, r1, 26 - cmp r0, 0 - blt _08067F04 - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r4, 0x2] - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 11 - orrs r0, r1 - str r0, [r5] - b _08067F04 -_08067EFA: - ldrb r1, [r4, 0x2] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_08067F04: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_HotSprings - - thumb_func_start GetGroundEffectFlags_Seaweed -GetGroundEffectFlags_Seaweed: @ 8067F0C - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsMB22 - lsls r0, 24 - cmp r0, 0 - beq _08067F26 - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 12 - orrs r0, r1 - str r0, [r4] -_08067F26: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Seaweed - - thumb_func_start GetGroundEffectFlags_JumpLanding -GetGroundEffectFlags_JumpLanding: @ 8067F2C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - adds r6, r1, 0 - ldr r0, [r7] - ldr r1, _08067F68 @ =0x02000020 - ands r0, r1 - cmp r0, 0x20 - bne _08067F7E - movs r5, 0 - ldr r0, _08067F6C @ =gUnknown_83A702C - mov r8, r0 -_08067F46: - lsls r4, r5, 2 - mov r0, r8 - adds r1, r4, r0 - ldrb r0, [r7, 0x1E] - ldr r1, [r1] - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - beq _08067F74 - ldr r0, _08067F70 @ =gUnknown_83A7044 - adds r0, r4, r0 - ldr r1, [r6] - ldr r0, [r0] - orrs r1, r0 - str r1, [r6] - b _08067F7E - .align 2, 0 -_08067F68: .4byte 0x02000020 -_08067F6C: .4byte gUnknown_83A702C -_08067F70: .4byte gUnknown_83A7044 -_08067F74: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _08067F46 -_08067F7E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_JumpLanding - - thumb_func_start sub_8067F88 -sub_8067F88: @ 8067F88 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r5, r0, 0 - ldrb r0, [r5, 0x5] - bl GetObjectEventGraphicsInfo - movs r4, 0 - movs r0, 0x1 - mov r10, r0 -_08067FA0: - movs r1, 0x10 - ldrsh r0, [r5, r1] - ldrh r1, [r5, 0x12] - add r1, r10 - lsls r4, 16 - asrs r6, r4, 16 - adds r1, r6, r1 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl GetReflectionTypeByMetatileBehavior - lsls r0, 24 - lsrs r0, 24 - mov r9, r4 - cmp r0, 0 - bne _080680BA - movs r3, 0x14 - ldrsh r0, [r5, r3] - ldrh r1, [r5, 0x16] - add r1, r10 - adds r1, r6, r1 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl GetReflectionTypeByMetatileBehavior - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080680BA - movs r2, 0x1 - lsls r0, r2, 16 - asrs r1, r0, 16 - mov r8, r0 - cmp r2, r1 - bge _080680A8 - movs r0, 0x80 - lsls r0, 9 - asrs r7, r0, 16 -_08067FFC: - ldrh r0, [r5, 0x10] - lsls r1, r2, 16 - asrs r4, r1, 16 - adds r0, r4, r0 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r5, 0x12] - adds r1, r7, r1 - adds r1, r6, r1 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl GetReflectionTypeByMetatileBehavior - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080680BA - ldrh r0, [r5, 0x10] - subs r0, r4 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r5, 0x12] - adds r1, r7, r1 - adds r1, r6, r1 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl GetReflectionTypeByMetatileBehavior - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080680BA - ldrh r0, [r5, 0x14] - adds r0, r4, r0 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r5, 0x16] - adds r1, r7, r1 - adds r1, r6, r1 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl GetReflectionTypeByMetatileBehavior - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080680BA - ldrh r0, [r5, 0x14] - subs r0, r4 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r5, 0x16] - adds r1, r7, r1 - adds r1, r6, r1 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl GetReflectionTypeByMetatileBehavior - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080680BA - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - asrs r0, 16 - mov r3, r8 - asrs r1, r3, 16 - cmp r0, r1 - blt _08067FFC -_080680A8: - movs r0, 0x80 - lsls r0, 9 - add r0, r9 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bge _080680B8 - b _08067FA0 -_080680B8: - movs r0, 0 -_080680BA: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8067F88 - - thumb_func_start GetReflectionTypeByMetatileBehavior -GetReflectionTypeByMetatileBehavior: @ 80680C8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsIce - lsls r0, 24 - cmp r0, 0 - beq _080680DE - movs r0, 0x1 - b _080680F0 -_080680DE: - adds r0, r4, 0 - bl MetatileBehavior_IsReflective - lsls r0, 24 - cmp r0, 0 - bne _080680EE - movs r0, 0 - b _080680F0 -_080680EE: - movs r0, 0x2 -_080680F0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetReflectionTypeByMetatileBehavior - - thumb_func_start GetLedgeJumpDirection -GetLedgeJumpDirection: @ 80680F8 - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 24 - lsrs r4, r2, 24 - cmp r4, 0 - beq _0806813E - cmp r4, 0x4 - bls _08068114 - subs r0, r4, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 -_08068114: - subs r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r3, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08068144 @ =gUnknown_83A705C - lsls r1, r4, 2 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08068148 -_0806813E: - movs r0, 0 - b _0806814E - .align 2, 0 -_08068144: .4byte gUnknown_83A705C -_08068148: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r0, 24 -_0806814E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetLedgeJumpDirection - - thumb_func_start ObjectEventSetSpriteOamTableForLongGrass -ObjectEventSetSpriteOamTableForLongGrass: @ 8068154 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldrb r0, [r5] - lsls r0, 27 - cmp r0, 0 - blt _080681A8 - ldrb r0, [r5, 0x1E] - bl MetatileBehavior_IsLongGrass - lsls r0, 24 - cmp r0, 0 - beq _080681A8 - ldrb r0, [r5, 0x1F] - bl MetatileBehavior_IsLongGrass - lsls r0, 24 - cmp r0, 0 - beq _080681A8 - adds r4, 0x42 - ldrb r1, [r4] - movs r6, 0x40 - negs r6, r6 - adds r0, r6, 0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4] - ldrb r0, [r5, 0xB] - lsrs r0, 4 - bl ZCoordToPriority - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080681A8 - ldrb r0, [r4] - adds r1, r6, 0 - ands r1, r0 - movs r0, 0x5 - orrs r1, r0 - strb r1, [r4] -_080681A8: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end ObjectEventSetSpriteOamTableForLongGrass - - thumb_func_start IsZCoordMismatchAt -IsZCoordMismatchAt: @ 80681B0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 16 - lsrs r0, r1, 16 - lsls r2, 16 - lsrs r1, r2, 16 - cmp r4, 0 - beq _080681DE - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080681DE - cmp r0, 0xF - beq _080681DE - cmp r0, r4 - bne _080681E2 -_080681DE: - movs r0, 0 - b _080681E4 -_080681E2: - movs r0, 0x1 -_080681E4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end IsZCoordMismatchAt - - thumb_func_start ObjectEventUpdateZCoordAndPriority -ObjectEventUpdateZCoordAndPriority: @ 80681EC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x3] - lsls r0, 29 - cmp r0, 0 - blt _0806823A - adds r0, r4, 0 - bl ObjectEventUpdateZCoord - ldr r1, _08068240 @ =gUnknown_83A708C - ldrb r2, [r4, 0xB] - lsls r2, 24 - lsrs r0, r2, 28 - adds r0, r1 - ldrb r0, [r0] - adds r4, r5, 0 - adds r4, 0x42 - movs r1, 0x3F - ands r1, r0 - ldrb r3, [r4] - movs r0, 0x40 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r4] - ldr r0, _08068244 @ =gUnknown_83A707C - lsrs r2, 28 - adds r2, r0 - movs r0, 0x3 - ldrb r1, [r2] - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] -_0806823A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08068240: .4byte gUnknown_83A708C -_08068244: .4byte gUnknown_83A707C - thumb_func_end ObjectEventUpdateZCoordAndPriority - - thumb_func_start InitObjectPriorityByZCoord -InitObjectPriorityByZCoord: @ 8068248 - push {r4,lr} - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0806828C @ =gUnknown_83A708C - adds r2, r1, r2 - ldrb r2, [r2] - movs r3, 0x42 - adds r3, r0 - mov r12, r3 - movs r3, 0x3F - ands r3, r2 - mov r2, r12 - ldrb r4, [r2] - movs r2, 0x40 - negs r2, r2 - ands r2, r4 - orrs r2, r3 - mov r3, r12 - strb r2, [r3] - ldr r2, _08068290 @ =gUnknown_83A707C - adds r1, r2 - movs r3, 0x3 - ldrb r2, [r1] - ands r2, r3 - lsls r2, 2 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806828C: .4byte gUnknown_83A708C -_08068290: .4byte gUnknown_83A707C - thumb_func_end InitObjectPriorityByZCoord - - thumb_func_start ZCoordToPriority -ZCoordToPriority: @ 8068294 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080682A0 @ =gUnknown_83A707C - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080682A0: .4byte gUnknown_83A707C - thumb_func_end ZCoordToPriority - - thumb_func_start ObjectEventUpdateZCoord -ObjectEventUpdateZCoord: @ 80682A4 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x10 - ldrsh r0, [r4, r1] - movs r2, 0x12 - ldrsh r1, [r4, r2] - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0x14 - ldrsh r0, [r4, r1] - movs r2, 0x16 - ldrsh r1, [r4, r2] - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - cmp r5, 0xF - beq _080682F2 - cmp r0, 0xF - beq _080682F2 - movs r3, 0xF - adds r0, r5, 0 - ands r0, r3 - ldrb r1, [r4, 0xB] - movs r2, 0x10 - negs r2, r2 - ands r2, r1 - orrs r2, r0 - strb r2, [r4, 0xB] - cmp r5, 0 - beq _080682F2 - cmp r5, 0xF - beq _080682F2 - lsls r0, r5, 4 - ands r2, r3 - orrs r2, r0 - strb r2, [r4, 0xB] -_080682F2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end ObjectEventUpdateZCoord - - thumb_func_start SetObjectSubpriorityByZCoord -SetObjectSubpriorityByZCoord: @ 80682F8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - adds r3, r1, 0 - adds r3, 0x29 - movs r5, 0 - ldrsb r5, [r3, r5] - ldrh r4, [r1, 0x22] - ldr r3, _08068338 @ =gSpriteCoordOffsetY - subs r4, r5 - ldrh r3, [r3] - adds r4, r3 - adds r4, 0x8 - movs r3, 0xFF - ands r4, r3 - lsrs r4, 4 - movs r3, 0x10 - subs r3, r4 - lsls r3, 17 - ldr r4, _0806833C @ =gUnknown_83A706C - adds r0, r4 - lsrs r3, 16 - ldrb r0, [r0] - adds r3, r0 - adds r2, r3 - adds r1, 0x43 - strb r2, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08068338: .4byte gSpriteCoordOffsetY -_0806833C: .4byte gUnknown_83A706C - thumb_func_end SetObjectSubpriorityByZCoord - - thumb_func_start ObjectEventUpdateSubpriority -ObjectEventUpdateSubpriority: @ 8068340 - push {lr} - adds r2, r0, 0 - ldrb r0, [r2, 0x3] - lsls r0, 29 - cmp r0, 0 - blt _08068356 - ldrb r0, [r2, 0xB] - lsrs r0, 4 - movs r2, 0x1 - bl SetObjectSubpriorityByZCoord -_08068356: - pop {r0} - bx r0 - thumb_func_end ObjectEventUpdateSubpriority - - thumb_func_start AreZCoordsCompatible -AreZCoordsCompatible: @ 806835C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - cmp r0, 0 - beq _08068372 - cmp r1, 0 - beq _08068372 - cmp r0, r1 - bne _08068376 -_08068372: - movs r0, 0x1 - b _08068378 -_08068376: - movs r0, 0 -_08068378: - pop {r1} - bx r1 - thumb_func_end AreZCoordsCompatible - - thumb_func_start GroundEffect_SpawnOnTallGrass -GroundEffect_SpawnOnTallGrass: @ 806837C - push {lr} - ldr r3, _080683C0 @ =gFieldEffectArguments - movs r2, 0x10 - ldrsh r1, [r0, r2] - str r1, [r3] - movs r2, 0x12 - ldrsh r1, [r0, r2] - str r1, [r3, 0x4] - ldrb r1, [r0, 0xB] - lsrs r1, 4 - str r1, [r3, 0x8] - movs r1, 0x2 - str r1, [r3, 0xC] - ldrb r1, [r0, 0x8] - lsls r1, 8 - ldrb r2, [r0, 0x9] - orrs r1, r2 - str r1, [r3, 0x10] - ldrb r0, [r0, 0xA] - str r0, [r3, 0x14] - ldr r0, _080683C4 @ =gSaveBlock1Ptr - ldr r1, [r0] - ldrb r0, [r1, 0x5] - lsls r0, 8 - ldrb r1, [r1, 0x4] - orrs r0, r1 - str r0, [r3, 0x18] - movs r0, 0x1 - str r0, [r3, 0x1C] - movs r0, 0x4 - bl FieldEffectStart - pop {r0} - bx r0 - .align 2, 0 -_080683C0: .4byte gFieldEffectArguments -_080683C4: .4byte gSaveBlock1Ptr - thumb_func_end GroundEffect_SpawnOnTallGrass - - thumb_func_start GroundEffect_StepOnTallGrass -GroundEffect_StepOnTallGrass: @ 80683C8 - push {lr} - ldr r3, _0806840C @ =gFieldEffectArguments - movs r2, 0x10 - ldrsh r1, [r0, r2] - str r1, [r3] - movs r2, 0x12 - ldrsh r1, [r0, r2] - str r1, [r3, 0x4] - ldrb r1, [r0, 0xB] - lsrs r1, 4 - str r1, [r3, 0x8] - movs r1, 0x2 - str r1, [r3, 0xC] - ldrb r1, [r0, 0x8] - lsls r1, 8 - ldrb r2, [r0, 0x9] - orrs r1, r2 - str r1, [r3, 0x10] - ldrb r0, [r0, 0xA] - str r0, [r3, 0x14] - ldr r0, _08068410 @ =gSaveBlock1Ptr - ldr r1, [r0] - ldrb r0, [r1, 0x5] - lsls r0, 8 - ldrb r1, [r1, 0x4] - orrs r0, r1 - str r0, [r3, 0x18] - movs r0, 0 - str r0, [r3, 0x1C] - movs r0, 0x4 - bl FieldEffectStart - pop {r0} - bx r0 - .align 2, 0 -_0806840C: .4byte gFieldEffectArguments -_08068410: .4byte gSaveBlock1Ptr - thumb_func_end GroundEffect_StepOnTallGrass - - thumb_func_start GroundEffect_SpawnOnLongGrass -GroundEffect_SpawnOnLongGrass: @ 8068414 - push {lr} - ldr r3, _08068458 @ =gFieldEffectArguments - movs r2, 0x10 - ldrsh r1, [r0, r2] - str r1, [r3] - movs r2, 0x12 - ldrsh r1, [r0, r2] - str r1, [r3, 0x4] - ldrb r1, [r0, 0xB] - lsrs r1, 4 - str r1, [r3, 0x8] - movs r1, 0x2 - str r1, [r3, 0xC] - ldrb r1, [r0, 0x8] - lsls r1, 8 - ldrb r2, [r0, 0x9] - orrs r1, r2 - str r1, [r3, 0x10] - ldrb r0, [r0, 0xA] - str r0, [r3, 0x14] - ldr r0, _0806845C @ =gSaveBlock1Ptr - ldr r1, [r0] - ldrb r0, [r1, 0x5] - lsls r0, 8 - ldrb r1, [r1, 0x4] - orrs r0, r1 - str r0, [r3, 0x18] - movs r0, 0x1 - str r0, [r3, 0x1C] - movs r0, 0x11 - bl FieldEffectStart - pop {r0} - bx r0 - .align 2, 0 -_08068458: .4byte gFieldEffectArguments -_0806845C: .4byte gSaveBlock1Ptr - thumb_func_end GroundEffect_SpawnOnLongGrass - - thumb_func_start GroundEffect_StepOnLongGrass -GroundEffect_StepOnLongGrass: @ 8068460 - push {lr} - ldr r3, _080684A4 @ =gFieldEffectArguments - movs r2, 0x10 - ldrsh r1, [r0, r2] - str r1, [r3] - movs r2, 0x12 - ldrsh r1, [r0, r2] - str r1, [r3, 0x4] - ldrb r1, [r0, 0xB] - lsrs r1, 4 - str r1, [r3, 0x8] - movs r1, 0x2 - str r1, [r3, 0xC] - ldrb r1, [r0, 0x8] - lsls r1, 8 - ldrb r2, [r0, 0x9] - orrs r1, r2 - str r1, [r3, 0x10] - ldrb r0, [r0, 0xA] - str r0, [r3, 0x14] - ldr r0, _080684A8 @ =gSaveBlock1Ptr - ldr r1, [r0] - ldrb r0, [r1, 0x5] - lsls r0, 8 - ldrb r1, [r1, 0x4] - orrs r0, r1 - str r0, [r3, 0x18] - movs r0, 0 - str r0, [r3, 0x1C] - movs r0, 0x11 - bl FieldEffectStart - pop {r0} - bx r0 - .align 2, 0 -_080684A4: .4byte gFieldEffectArguments -_080684A8: .4byte gSaveBlock1Ptr - thumb_func_end GroundEffect_StepOnLongGrass - - thumb_func_start GroundEffect_WaterReflection -GroundEffect_WaterReflection: @ 80684AC - push {lr} - movs r2, 0 - bl SetUpReflection - pop {r0} - bx r0 - thumb_func_end GroundEffect_WaterReflection - - thumb_func_start GroundEffect_IceReflection -GroundEffect_IceReflection: @ 80684B8 - push {lr} - movs r2, 0x1 - bl SetUpReflection - pop {r0} - bx r0 - thumb_func_end GroundEffect_IceReflection - - thumb_func_start GroundEffect_FlowingWater -GroundEffect_FlowingWater: @ 80684C4 - push {lr} - adds r1, r0, 0 - movs r0, 0x22 - bl oe_exec_and_other_stuff - pop {r0} - bx r0 - thumb_func_end GroundEffect_FlowingWater - - thumb_func_start GroundEffect_SandTracks -GroundEffect_SandTracks: @ 80684D4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x5] - bl GetObjectEventGraphicsInfo - ldr r1, _080684FC @ =gUnknown_83A709C - ldrb r0, [r0, 0xD] - lsls r0, 2 - adds r0, r1 - ldr r3, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl _call_via_r3 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080684FC: .4byte gUnknown_83A709C - thumb_func_end GroundEffect_SandTracks - - thumb_func_start GroundEffect_DeepSandTracks -GroundEffect_DeepSandTracks: @ 8068500 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x5] - bl GetObjectEventGraphicsInfo - ldr r1, _08068528 @ =gUnknown_83A709C - ldrb r0, [r0, 0xD] - lsls r0, 2 - adds r0, r1 - ldr r3, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x1 - bl _call_via_r3 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08068528: .4byte gUnknown_83A709C - thumb_func_end GroundEffect_DeepSandTracks - - thumb_func_start nullsub_26 -nullsub_26: @ 806852C - bx lr - thumb_func_end nullsub_26 - - thumb_func_start DoTracksGroundEffect_Footprints -DoTracksGroundEffect_Footprints: @ 8068530 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r4, r2, 24 - lsrs r4, 24 - ldr r1, _08068578 @ =gUnknown_83A70A8 - mov r0, sp - movs r2, 0x4 - bl memcpy - ldr r1, _0806857C @ =gFieldEffectArguments - movs r2, 0x14 - ldrsh r0, [r5, r2] - str r0, [r1] - movs r2, 0x16 - ldrsh r0, [r5, r2] - str r0, [r1, 0x4] - movs r0, 0x95 - str r0, [r1, 0x8] - movs r0, 0x2 - str r0, [r1, 0xC] - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - str r0, [r1, 0x10] - lsls r4, 1 - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - bl FieldEffectStart - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08068578: .4byte gUnknown_83A70A8 -_0806857C: .4byte gFieldEffectArguments - thumb_func_end DoTracksGroundEffect_Footprints - - thumb_func_start DoTracksGroundEffect_BikeTireTracks -DoTracksGroundEffect_BikeTireTracks: @ 8068580 - push {r4,lr} - adds r4, r0, 0 - ldr r1, [r4, 0x10] - ldr r0, [r4, 0x14] - cmp r1, r0 - beq _080685C2 - ldr r2, _080685C8 @ =gFieldEffectArguments - movs r1, 0x14 - ldrsh r0, [r4, r1] - str r0, [r2] - movs r1, 0x16 - ldrsh r0, [r4, r1] - str r0, [r2, 0x4] - movs r0, 0x95 - str r0, [r2, 0x8] - movs r0, 0x2 - str r0, [r2, 0xC] - ldr r3, _080685CC @ =gUnknown_83A70AC - ldrb r1, [r4, 0x18] - lsls r1, 28 - lsrs r1, 28 - adds r0, r4, 0 - adds r0, 0x20 - ldrb r0, [r0] - lsls r0, 2 - subs r0, 0x5 - adds r1, r0 - adds r1, r3 - ldrb r0, [r1] - str r0, [r2, 0x10] - movs r0, 0x23 - bl FieldEffectStart -_080685C2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080685C8: .4byte gFieldEffectArguments -_080685CC: .4byte gUnknown_83A70AC - thumb_func_end DoTracksGroundEffect_BikeTireTracks - - thumb_func_start GroundEffect_Ripple -GroundEffect_Ripple: @ 80685D0 - push {lr} - bl DoRippleFieldEffect - pop {r0} - bx r0 - thumb_func_end GroundEffect_Ripple - - thumb_func_start GroundEffect_StepOnPuddle -GroundEffect_StepOnPuddle: @ 80685DC - push {lr} - adds r1, r0, 0 - movs r0, 0xF - bl oe_exec_and_other_stuff - pop {r0} - bx r0 - thumb_func_end GroundEffect_StepOnPuddle - - thumb_func_start GroundEffect_SandHeap -GroundEffect_SandHeap: @ 80685EC - push {lr} - adds r1, r0, 0 - movs r0, 0x27 - bl oe_exec_and_other_stuff - pop {r0} - bx r0 - thumb_func_end GroundEffect_SandHeap - - thumb_func_start GroundEffect_JumpOnTallGrass -GroundEffect_JumpOnTallGrass: @ 80685FC - push {r4-r7,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - ldr r1, _08068650 @ =gFieldEffectArguments - movs r2, 0x10 - ldrsh r0, [r5, r2] - str r0, [r1] - movs r4, 0x12 - ldrsh r0, [r5, r4] - str r0, [r1, 0x4] - ldrb r0, [r5, 0xB] - lsrs r0, 4 - str r0, [r1, 0x8] - movs r0, 0x2 - str r0, [r1, 0xC] - movs r0, 0xC - bl FieldEffectStart - ldrb r0, [r5, 0x8] - ldrb r1, [r5, 0x9] - ldrb r2, [r5, 0xA] - movs r7, 0x10 - ldrsh r3, [r5, r7] - movs r7, 0x12 - ldrsh r4, [r5, r7] - str r4, [sp] - bl sub_80DB564 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - bne _08068646 - adds r0, r5, 0 - adds r1, r6, 0 - bl GroundEffect_SpawnOnTallGrass -_08068646: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08068650: .4byte gFieldEffectArguments - thumb_func_end GroundEffect_JumpOnTallGrass - - thumb_func_start GroundEffect_JumpOnLongGrass -GroundEffect_JumpOnLongGrass: @ 8068654 - push {lr} - ldr r2, _08068678 @ =gFieldEffectArguments - movs r3, 0x10 - ldrsh r1, [r0, r3] - str r1, [r2] - movs r3, 0x12 - ldrsh r1, [r0, r3] - str r1, [r2, 0x4] - ldrb r0, [r0, 0xB] - lsrs r0, 4 - str r0, [r2, 0x8] - movs r0, 0x2 - str r0, [r2, 0xC] - movs r0, 0x12 - bl FieldEffectStart - pop {r0} - bx r0 - .align 2, 0 -_08068678: .4byte gFieldEffectArguments - thumb_func_end GroundEffect_JumpOnLongGrass - - thumb_func_start GroundEffect_JumpOnShallowWater -GroundEffect_JumpOnShallowWater: @ 806867C - push {r4,lr} - ldr r3, _080686A8 @ =gFieldEffectArguments - movs r4, 0x10 - ldrsh r2, [r0, r4] - str r2, [r3] - movs r4, 0x12 - ldrsh r2, [r0, r4] - str r2, [r3, 0x4] - ldrb r0, [r0, 0xB] - lsrs r0, 4 - str r0, [r3, 0x8] - ldrb r0, [r1, 0x5] - lsls r0, 28 - lsrs r0, 30 - str r0, [r3, 0xC] - movs r0, 0x10 - bl FieldEffectStart - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080686A8: .4byte gFieldEffectArguments - thumb_func_end GroundEffect_JumpOnShallowWater - - thumb_func_start GroundEffect_JumpOnWater -GroundEffect_JumpOnWater: @ 80686AC - push {r4,lr} - ldr r3, _080686D8 @ =gFieldEffectArguments - movs r4, 0x10 - ldrsh r2, [r0, r4] - str r2, [r3] - movs r4, 0x12 - ldrsh r2, [r0, r4] - str r2, [r3, 0x4] - ldrb r0, [r0, 0xB] - lsrs r0, 4 - str r0, [r3, 0x8] - ldrb r0, [r1, 0x5] - lsls r0, 28 - lsrs r0, 30 - str r0, [r3, 0xC] - movs r0, 0xE - bl FieldEffectStart - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080686D8: .4byte gFieldEffectArguments - thumb_func_end GroundEffect_JumpOnWater - - thumb_func_start GroundEffect_JumpLandingDust -GroundEffect_JumpLandingDust: @ 80686DC - push {r4,lr} - ldr r3, _08068708 @ =gFieldEffectArguments - movs r4, 0x10 - ldrsh r2, [r0, r4] - str r2, [r3] - movs r4, 0x12 - ldrsh r2, [r0, r4] - str r2, [r3, 0x4] - ldrb r0, [r0, 0xB] - lsrs r0, 4 - str r0, [r3, 0x8] - ldrb r0, [r1, 0x5] - lsls r0, 28 - lsrs r0, 30 - str r0, [r3, 0xC] - movs r0, 0xA - bl FieldEffectStart - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08068708: .4byte gFieldEffectArguments - thumb_func_end GroundEffect_JumpLandingDust - - thumb_func_start GroundEffect_ShortGrass -GroundEffect_ShortGrass: @ 806870C - push {lr} - adds r1, r0, 0 - movs r0, 0x29 - bl oe_exec_and_other_stuff - pop {r0} - bx r0 - thumb_func_end GroundEffect_ShortGrass - - thumb_func_start GroundEffect_HotSprings -GroundEffect_HotSprings: @ 806871C - push {lr} - adds r1, r0, 0 - movs r0, 0x2A - bl oe_exec_and_other_stuff - pop {r0} - bx r0 - thumb_func_end GroundEffect_HotSprings - - thumb_func_start GroundEffect_Seaweed -GroundEffect_Seaweed: @ 806872C - push {lr} - ldr r2, _08068748 @ =gFieldEffectArguments - movs r3, 0x10 - ldrsh r1, [r0, r3] - str r1, [r2] - movs r1, 0x12 - ldrsh r0, [r0, r1] - str r0, [r2, 0x4] - movs r0, 0x35 - bl FieldEffectStart - pop {r0} - bx r0 - .align 2, 0 -_08068748: .4byte gFieldEffectArguments - thumb_func_end GroundEffect_Seaweed - - thumb_func_start DoFlaggedGroundEffects -DoFlaggedGroundEffects: @ 806874C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r7, r1, 0 - adds r5, r2, 0 - ldrb r0, [r6, 0x8] - cmp r0, 0x7F - bne _08068766 - ldrb r0, [r6, 0x1] - lsls r0, 26 - cmp r0, 0 - blt _0806878E -_08068766: - movs r4, 0 - ldr r0, _08068798 @ =gUnknown_83A70BC - mov r8, r0 -_0806876C: - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _08068782 - lsls r0, r4, 2 - add r0, r8 - ldr r2, [r0] - adds r0, r6, 0 - adds r1, r7, 0 - bl _call_via_r2 -_08068782: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - lsrs r5, 1 - cmp r4, 0x13 - bls _0806876C -_0806878E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08068798: .4byte gUnknown_83A70BC - thumb_func_end DoFlaggedGroundEffects - - thumb_func_start filters_out_some_ground_effects -filters_out_some_ground_effects: @ 806879C - push {lr} - adds r2, r0, 0 - adds r3, r1, 0 - ldrb r0, [r2] - lsls r0, 27 - cmp r0, 0 - bge _080687CA - ldrb r1, [r2, 0x2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - adds r1, 0x8 - ands r0, r1 - subs r1, 0x18 - ands r0, r1 - strb r0, [r2, 0x2] - ldr r0, [r3] - ldr r1, _080687D0 @ =0xfff9f7bd - ands r0, r1 - str r0, [r3] -_080687CA: - pop {r0} - bx r0 - .align 2, 0 -_080687D0: .4byte 0xfff9f7bd - thumb_func_end filters_out_some_ground_effects - - thumb_func_start FilterOutStepOnPuddleGroundEffectIfJumping -FilterOutStepOnPuddleGroundEffectIfJumping: @ 80687D4 - push {lr} - adds r2, r1, 0 - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _080687E8 - ldr r0, [r2] - ldr r1, _080687EC @ =0xfffffbff - ands r0, r1 - str r0, [r2] -_080687E8: - pop {r0} - bx r0 - .align 2, 0 -_080687EC: .4byte 0xfffffbff - thumb_func_end FilterOutStepOnPuddleGroundEffectIfJumping - - thumb_func_start DoGroundEffects_OnSpawn -DoGroundEffects_OnSpawn: @ 80687F0 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4] - lsls r0, 29 - cmp r0, 0 - bge _08068834 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - bl ObjectEventUpdateZCoordAndPriority - adds r0, r4, 0 - mov r1, sp - bl GetAllGroundEffectFlags_OnSpawn - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSpriteOamTableForLongGrass - ldr r2, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - bl DoFlaggedGroundEffects - ldrb r1, [r4] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - strb r0, [r4] -_08068834: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end DoGroundEffects_OnSpawn - - thumb_func_start DoGroundEffects_OnBeginStep -DoGroundEffects_OnBeginStep: @ 806883C - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4] - lsls r0, 29 - cmp r0, 0 - bge _08068888 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - bl ObjectEventUpdateZCoordAndPriority - adds r0, r4, 0 - mov r1, sp - bl GetAllGroundEffectFlags_OnBeginStep - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSpriteOamTableForLongGrass - adds r0, r4, 0 - mov r1, sp - bl filters_out_some_ground_effects - ldr r2, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - bl DoFlaggedGroundEffects - ldrb r1, [r4] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - strb r0, [r4] -_08068888: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end DoGroundEffects_OnBeginStep - - thumb_func_start DoGroundEffects_OnFinishStep -DoGroundEffects_OnFinishStep: @ 8068890 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4] - lsls r0, 28 - cmp r0, 0 - bge _080688DC - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - bl ObjectEventUpdateZCoordAndPriority - adds r0, r4, 0 - mov r1, sp - bl GetAllGroundEffectFlags_OnFinishStep - adds r0, r4, 0 - adds r1, r5, 0 - bl ObjectEventSetSpriteOamTableForLongGrass - adds r0, r4, 0 - mov r1, sp - bl FilterOutStepOnPuddleGroundEffectIfJumping - ldr r2, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - bl DoFlaggedGroundEffects - ldrb r1, [r4] - movs r0, 0x9 - negs r0, r0 - ands r0, r1 - movs r1, 0x21 - negs r1, r1 - ands r0, r1 - strb r0, [r4] -_080688DC: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end DoGroundEffects_OnFinishStep - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_message_box.s b/asm/field_message_box.s deleted file mode 100644 index b823956b7..000000000 --- a/asm/field_message_box.s +++ /dev/null @@ -1,306 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8069348 -sub_8069348: @ 8069348 - ldr r1, _08069368 @ =gUnknown_203709C - movs r0, 0 - strb r0, [r1] - ldr r2, _0806936C @ =gTextFlags - ldrb r1, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - movs r1, 0x3 - negs r1, r1 - ands r0, r1 - subs r1, 0x2 - ands r0, r1 - strb r0, [r2] - bx lr - .align 2, 0 -_08069368: .4byte gUnknown_203709C -_0806936C: .4byte gTextFlags - thumb_func_end sub_8069348 - - thumb_func_start sub_8069370 -sub_8069370: @ 8069370 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _08069394 @ =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080693DA - cmp r0, 0x1 - bgt _08069398 - cmp r0, 0 - beq _0806939E - b _08069402 - .align 2, 0 -_08069394: .4byte gTasks -_08069398: - cmp r0, 0x2 - beq _080693EA - b _08069402 -_0806939E: - ldr r0, _080693BC @ =gQuestLogState - ldrb r0, [r0] - cmp r0, 0x2 - bne _080693C4 - ldr r2, _080693C0 @ =gTextFlags - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r1, 0x80 - lsls r1, 2 - movs r0, 0 - bl TextWindow_LoadTilesStdFrame1 - b _080693E2 - .align 2, 0 -_080693BC: .4byte gQuestLogState -_080693C0: .4byte gTextFlags -_080693C4: - bl IsMsgSignPost - lsls r0, 24 - cmp r0, 0 - bne _080693D4 - bl LoadStdWindowFrameGfx - b _080693E2 -_080693D4: - bl sub_80F79A4 - b _080693E2 -_080693DA: - movs r0, 0 - movs r1, 0x1 - bl DrawDialogueFrame -_080693E2: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _08069402 -_080693EA: - bl RunTextPrinters_CheckPrinter0Active - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - beq _08069402 - ldr r1, _08069408 @ =gUnknown_203709C - movs r0, 0 - strb r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_08069402: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069408: .4byte gUnknown_203709C - thumb_func_end sub_8069370 - - thumb_func_start task_add_textbox -task_add_textbox: @ 806940C - push {lr} - ldr r0, _0806941C @ =sub_8069370 - movs r1, 0x50 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0806941C: .4byte sub_8069370 - thumb_func_end task_add_textbox - - thumb_func_start task_del_textbox -task_del_textbox: @ 8069420 - push {lr} - ldr r0, _08069438 @ =sub_8069370 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _08069434 - bl DestroyTask -_08069434: - pop {r0} - bx r0 - .align 2, 0 -_08069438: .4byte sub_8069370 - thumb_func_end task_del_textbox - - thumb_func_start ShowFieldMessage -ShowFieldMessage: @ 806943C - push {r4,lr} - adds r1, r0, 0 - ldr r4, _08069458 @ =gUnknown_203709C - ldrb r0, [r4] - cmp r0, 0 - bne _0806945C - adds r0, r1, 0 - bl textbox_fdecode_auto_and_task_add - movs r0, 0x2 - strb r0, [r4] - movs r0, 0x1 - b _0806945E - .align 2, 0 -_08069458: .4byte gUnknown_203709C -_0806945C: - movs r0, 0 -_0806945E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end ShowFieldMessage - - thumb_func_start ShowFieldAutoScrollMessage -ShowFieldAutoScrollMessage: @ 8069464 - push {lr} - adds r1, r0, 0 - ldr r2, _08069480 @ =gUnknown_203709C - ldrb r0, [r2] - cmp r0, 0 - bne _08069484 - movs r0, 0x3 - strb r0, [r2] - adds r0, r1, 0 - bl textbox_fdecode_auto_and_task_add - movs r0, 0x1 - b _08069486 - .align 2, 0 -_08069480: .4byte gUnknown_203709C -_08069484: - movs r0, 0 -_08069486: - pop {r1} - bx r1 - thumb_func_end ShowFieldAutoScrollMessage - - thumb_func_start sub_806948C -sub_806948C: @ 806948C - push {lr} - ldr r2, _080694A0 @ =gUnknown_203709C - movs r1, 0x3 - strb r1, [r2] - bl textbox_fdecode_auto_and_task_add - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_080694A0: .4byte gUnknown_203709C - thumb_func_end sub_806948C - - thumb_func_start sub_80694A4 -sub_80694A4: @ 80694A4 - push {lr} - ldr r1, _080694BC @ =gUnknown_203709C - ldrb r0, [r1] - cmp r0, 0 - bne _080694C0 - movs r0, 0x2 - strb r0, [r1] - bl textbox_auto_and_task_add - movs r0, 0x1 - b _080694C2 - .align 2, 0 -_080694BC: .4byte gUnknown_203709C -_080694C0: - movs r0, 0 -_080694C2: - pop {r1} - bx r1 - thumb_func_end sub_80694A4 - - thumb_func_start textbox_fdecode_auto_and_task_add -textbox_fdecode_auto_and_task_add: @ 80694C8 - push {lr} - adds r1, r0, 0 - ldr r0, _080694E0 @ =gStringVar4 - bl StringExpandPlaceholders - movs r0, 0x1 - bl AddTextPrinterDiffStyle - bl task_add_textbox - pop {r0} - bx r0 - .align 2, 0 -_080694E0: .4byte gStringVar4 - thumb_func_end textbox_fdecode_auto_and_task_add - - thumb_func_start textbox_auto_and_task_add -textbox_auto_and_task_add: @ 80694E4 - push {lr} - movs r0, 0x1 - bl AddTextPrinterDiffStyle - bl task_add_textbox - pop {r0} - bx r0 - thumb_func_end textbox_auto_and_task_add - - thumb_func_start HideFieldMessageBox -HideFieldMessageBox: @ 80694F4 - push {lr} - bl task_del_textbox - movs r0, 0 - movs r1, 0x1 - bl ClearDialogWindowAndFrame - ldr r1, _0806950C @ =gUnknown_203709C - movs r0, 0 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0806950C: .4byte gUnknown_203709C - thumb_func_end HideFieldMessageBox - - thumb_func_start textbox_any_visible -textbox_any_visible: @ 8069510 - ldr r0, _08069518 @ =gUnknown_203709C - ldrb r0, [r0] - bx lr - .align 2, 0 -_08069518: .4byte gUnknown_203709C - thumb_func_end textbox_any_visible - - thumb_func_start IsFieldMessageBoxHidden -IsFieldMessageBoxHidden: @ 806951C - push {lr} - ldr r0, _0806952C @ =gUnknown_203709C - ldrb r0, [r0] - cmp r0, 0 - beq _08069530 - movs r0, 0 - b _08069532 - .align 2, 0 -_0806952C: .4byte gUnknown_203709C -_08069530: - movs r0, 0x1 -_08069532: - pop {r1} - bx r1 - thumb_func_end IsFieldMessageBoxHidden - - thumb_func_start sub_8069538 -sub_8069538: @ 8069538 - push {lr} - bl task_del_textbox - movs r0, 0 - movs r1, 0x1 - bl DrawStdWindowFrame - ldr r1, _08069550 @ =gUnknown_203709C - movs r0, 0 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08069550: .4byte gUnknown_203709C - thumb_func_end sub_8069538 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index 9fc806779..31123a703 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -2759,8 +2759,8 @@ GetPlayerAvatarGraphicsIdByStateIdAndGender: @ 805C7E0 _0805C7F4: .4byte gUnknown_835B874 thumb_func_end GetPlayerAvatarGraphicsIdByStateIdAndGender - thumb_func_start sub_805C7F8 -sub_805C7F8: @ 805C7F8 + thumb_func_start GetHoennLinkPartnerGraphicsIdByGender +GetHoennLinkPartnerGraphicsIdByGender: @ 805C7F8 lsls r0, 24 lsrs r0, 24 ldr r1, _0805C804 @ =gUnknown_835B880 @@ -2769,10 +2769,10 @@ sub_805C7F8: @ 805C7F8 bx lr .align 2, 0 _0805C804: .4byte gUnknown_835B880 - thumb_func_end sub_805C7F8 + thumb_func_end GetHoennLinkPartnerGraphicsIdByGender - thumb_func_start sub_805C808 -sub_805C808: @ 805C808 + thumb_func_start GetPlayerAvatarGraphicsIdByStateId +GetPlayerAvatarGraphicsIdByStateId: @ 805C808 push {lr} lsls r0, 24 lsrs r0, 24 @@ -2785,7 +2785,7 @@ sub_805C808: @ 805C808 bx r1 .align 2, 0 _0805C820: .4byte gPlayerAvatar - thumb_func_end sub_805C808 + thumb_func_end GetPlayerAvatarGraphicsIdByStateId thumb_func_start GetPlayerAvatarGenderByGraphicsId GetPlayerAvatarGenderByGraphicsId: @ 805C824 @@ -2921,7 +2921,7 @@ IsPlayerFacingSurfableFishableWater: @ 805C8B0 ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r5, r2] - bl sub_805C938 + bl MetatileAtCoordsIsWaterTile lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -2940,24 +2940,24 @@ _0805C92E: bx r1 thumb_func_end IsPlayerFacingSurfableFishableWater - thumb_func_start sub_805C938 -sub_805C938: @ 805C938 + thumb_func_start MetatileAtCoordsIsWaterTile +MetatileAtCoordsIsWaterTile: @ 805C938 push {lr} lsls r0, 16 asrs r0, 16 lsls r1, 16 asrs r1, 16 movs r2, 0x1 - bl sub_8058F48 + bl MapGridGetMetatileAttributeAt lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl sub_805A2BC + bl TestMetatileAttributeBit lsls r0, 24 lsrs r0, 24 pop {r1} bx r1 - thumb_func_end sub_805C938 + thumb_func_end MetatileAtCoordsIsWaterTile thumb_func_start ClearPlayerAvatarInfo ClearPlayerAvatarInfo: @ 805C95C @@ -3252,7 +3252,7 @@ sub_805CB70: @ 805CB70 ldr r0, _0805CBB0 @ =gObjectEvents adds r4, r0 movs r0, 0x3 - bl sub_805C808 + bl GetPlayerAvatarGraphicsIdByStateId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -3285,7 +3285,7 @@ sub_805CBB8: @ 805CBB8 cmp r0, 0 bne _0805CBD8 movs r0, 0x5 - bl sub_805C808 + bl GetPlayerAvatarGraphicsIdByStateId lsls r0, 24 lsrs r0, 24 b _0805CBE0 @@ -3403,7 +3403,7 @@ _0805CC62: movs r1, 0 ldrsh r3, [r7, r1] adds r1, r6, 0 - bl sub_80DB134 + bl ShowWarpArrowSprite b _0805CCC2 .align 2, 0 _0805CCA4: .4byte gUnknown_835B890 @@ -3419,7 +3419,7 @@ _0805CCA8: cmp r1, 0x3 ble _0805CC62 ldrb r0, [r5, 0x1B] - bl objid_set_invisible + bl SetSpriteInvisible _0805CCC2: add sp, 0x4 pop {r3,r4} @@ -4129,7 +4129,7 @@ sub_805D240: @ 805D240 cmp r0, 0 beq _0805D2AE movs r0, 0 - bl sub_805C808 + bl GetPlayerAvatarGraphicsIdByStateId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -4157,7 +4157,7 @@ sub_805D240: @ 805D240 bl DestroySprite adds r0, r5, 0 bl DestroyTask - bl sub_812B35C + bl SetHelpContextForMap _0805D2AE: pop {r4-r6} pop {r0} diff --git a/asm/field_weather.s b/asm/field_weather.s index 7960543a6..c5204def2 100644 --- a/asm/field_weather.s +++ b/asm/field_weather.s @@ -1906,8 +1906,8 @@ _0807AA84: .4byte gUnknown_2037F34 _0807AA88: .4byte 0x000006c6 thumb_func_end IsWeatherNotFadingIn - thumb_func_start sub_807AA8C -sub_807AA8C: @ 807AA8C + thumb_func_start UpdateSpritePaletteWithWeather +UpdateSpritePaletteWithWeather: @ 807AA8C push {r4-r6,lr} lsls r0, 24 lsrs r0, 8 @@ -2017,7 +2017,7 @@ _0807AB68: bx r0 .align 2, 0 _0807AB70: .4byte 0x000073fc - thumb_func_end sub_807AA8C + thumb_func_end UpdateSpritePaletteWithWeather thumb_func_start sub_807AB74 sub_807AB74: @ 807AB74 @@ -2078,7 +2078,7 @@ sub_807ABC0: @ 807ABC0 movs r2, 0x20 bl LoadPalette ldrb r0, [r4] - bl sub_807AA8C + bl UpdateSpritePaletteWithWeather pop {r4} pop {r0} bx r0 @@ -2698,8 +2698,8 @@ _0807B07C: .4byte gUnknown_2037F34 _0807B080: .4byte 0x000006c6 thumb_func_end sub_807B070 - thumb_func_start sub_807B084 -sub_807B084: @ 807B084 + thumb_func_start PreservePaletteInWeather +PreservePaletteInWeather: @ 807B084 push {r4,r5,lr} adds r4, r0, 0 lsls r4, 24 @@ -2721,10 +2721,10 @@ sub_807B084: @ 807B084 _0807B0A8: .4byte gUnknown_83C2CC0 _0807B0AC: .4byte gUnknown_2038684 _0807B0B0: .4byte gUnknown_20386A4 - thumb_func_end sub_807B084 + thumb_func_end PreservePaletteInWeather - thumb_func_start sub_807B0B4 -sub_807B0B4: @ 807B0B4 + thumb_func_start ResetPreservedPalettesInWeather +ResetPreservedPalettesInWeather: @ 807B0B4 ldr r1, _0807B0BC @ =gUnknown_20386A4 ldr r0, _0807B0C0 @ =gUnknown_83C2CC0 str r0, [r1] @@ -2732,7 +2732,7 @@ sub_807B0B4: @ 807B0B4 .align 2, 0 _0807B0BC: .4byte gUnknown_20386A4 _0807B0C0: .4byte gUnknown_83C2CC0 - thumb_func_end sub_807B0B4 + thumb_func_end ResetPreservedPalettesInWeather thumb_func_start sub_807B0C4 sub_807B0C4: @ 807B0C4 diff --git a/asm/field_weather_effects.s b/asm/field_weather_effects.s index 24ccbcf94..decfe4078 100644 --- a/asm/field_weather_effects.s +++ b/asm/field_weather_effects.s @@ -526,8 +526,8 @@ sub_807B6BC: @ 807B6BC bx lr thumb_func_end sub_807B6BC - thumb_func_start sub_807B6C0 -sub_807B6C0: @ 807B6C0 + thumb_func_start StartDroughtWeatherBlend +StartDroughtWeatherBlend: @ 807B6C0 push {lr} ldr r0, _0807B6D0 @ =task50_0807B6D4 movs r1, 0x50 @@ -536,7 +536,7 @@ sub_807B6C0: @ 807B6C0 bx r0 .align 2, 0 _0807B6D0: .4byte task50_0807B6D4 - thumb_func_end sub_807B6C0 + thumb_func_end StartDroughtWeatherBlend thumb_func_start task50_0807B6D4 task50_0807B6D4: @ 807B6D4 diff --git a/asm/fldeff_cut.s b/asm/fldeff_cut.s deleted file mode 100644 index c0266194e..000000000 --- a/asm/fldeff_cut.s +++ /dev/null @@ -1,535 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8097874 -sub_8097874: @ 8097874 - push {lr} - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - movs r2, 0x1 - bl sub_8058F48 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_805A2BC - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8097874 - - thumb_func_start SetUpFieldMove_Cut -SetUpFieldMove_Cut: @ 8097898 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r4, _080978CC @ =gUnknown_2039874 - movs r0, 0 - strb r0, [r4] - bl CutMoveRuinValleyCheck - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080978E0 - movs r0, 0x5F - bl CheckObjectGraphicsInFrontOfPlayer - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08097904 - ldr r1, _080978D0 @ =gFieldCallback2 - ldr r0, _080978D4 @ =FieldCallback_PrepareFadeInFromMenu - str r0, [r1] - ldr r1, _080978D8 @ =gPostMenuFieldCallback - ldr r0, _080978DC @ =sub_80979D0 - b _080978EC - .align 2, 0 -_080978CC: .4byte gUnknown_2039874 -_080978D0: .4byte gFieldCallback2 -_080978D4: .4byte FieldCallback_PrepareFadeInFromMenu -_080978D8: .4byte gPostMenuFieldCallback -_080978DC: .4byte sub_80979D0 -_080978E0: - strb r0, [r4] -_080978E2: - ldr r1, _080978F4 @ =gFieldCallback2 - ldr r0, _080978F8 @ =FieldCallback_PrepareFadeInFromMenu - str r0, [r1] - ldr r1, _080978FC @ =gPostMenuFieldCallback - ldr r0, _08097900 @ =sub_8097984 -_080978EC: - str r0, [r1] - movs r0, 0x1 - b _08097970 - .align 2, 0 -_080978F4: .4byte gFieldCallback2 -_080978F8: .4byte FieldCallback_PrepareFadeInFromMenu -_080978FC: .4byte gPostMenuFieldCallback -_08097900: .4byte sub_8097984 -_08097904: - ldr r4, _0809797C @ =gPlayerFacingPosition - adds r1, r4, 0x2 - adds r0, r4, 0 - bl PlayerGetDestCoords - movs r7, 0 - adds r2, r4, 0 - ldr r0, _08097980 @ =0x0000ffff - mov r8, r0 -_08097916: - mov r1, r8 - adds r0, r1, r7 - ldrh r1, [r2, 0x2] - adds r0, r1 - movs r6, 0 - lsls r0, 16 - asrs r5, r0, 16 -_08097924: - mov r1, r8 - adds r0, r1, r6 - ldrh r1, [r2] - adds r0, r1 - lsls r0, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - adds r1, r5, 0 - str r2, [sp] - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - ldr r2, [sp] - movs r1, 0x4 - ldrsb r1, [r2, r1] - cmp r0, r1 - bne _0809795A - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8097874 - lsls r0, 24 - lsrs r0, 24 - ldr r2, [sp] - cmp r0, 0x1 - beq _080978E2 -_0809795A: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bls _08097924 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x2 - bls _08097916 - movs r0, 0 -_08097970: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0809797C: .4byte gPlayerFacingPosition -_08097980: .4byte 0x0000ffff - thumb_func_end SetUpFieldMove_Cut - - thumb_func_start sub_8097984 -sub_8097984: @ 8097984 - push {lr} - movs r0, 0x1 - bl FieldEffectStart - bl GetCursorSelectionMonId - ldr r1, _0809799C @ =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0809799C: .4byte gFieldEffectArguments - thumb_func_end sub_8097984 - - thumb_func_start sub_80979A0 -sub_80979A0: @ 80979A0 - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080979C8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _080979CC @ =sub_8097A20 - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0x12 - bl IncrementGameStat - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080979C8: .4byte gTasks -_080979CC: .4byte sub_8097A20 - thumb_func_end sub_80979A0 - - thumb_func_start sub_80979D0 -sub_80979D0: @ 80979D0 - push {lr} - bl GetCursorSelectionMonId - ldr r1, _080979E8 @ =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - ldr r0, _080979EC @ =EventScript_FldEffCut - bl ScriptContext1_SetupScript - pop {r0} - bx r0 - .align 2, 0 -_080979E8: .4byte gFieldEffectArguments -_080979EC: .4byte EventScript_FldEffCut - thumb_func_end sub_80979D0 - - thumb_func_start sub_80979F0 -sub_80979F0: @ 80979F0 - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08097A18 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _08097A1C @ =sub_8097C6C - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0x12 - bl IncrementGameStat - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08097A18: .4byte gTasks -_08097A1C: .4byte sub_8097C6C - thumb_func_end sub_80979F0 - - thumb_func_start sub_8097A20 -sub_8097A20: @ 8097A20 - push {lr} - movs r0, 0x1 - bl FieldEffectActiveListRemove - ldr r0, _08097A38 @ =gUnknown_2039874 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08097A3C - bl CutMoveOpenDottedHoleDoor - b _08097A42 - .align 2, 0 -_08097A38: .4byte gUnknown_2039874 -_08097A3C: - movs r0, 0x3A - bl FieldEffectStart -_08097A42: - pop {r0} - bx r0 - thumb_func_end sub_8097A20 - - thumb_func_start sub_8097A48 -sub_8097A48: @ 8097A48 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r7, 0 - movs r0, 0x79 - bl PlaySE - ldr r4, _08097B38 @ =gPlayerFacingPosition - adds r1, r4, 0x2 - adds r0, r4, 0 - bl PlayerGetDestCoords - mov r8, r4 - ldr r0, _08097B3C @ =0x0000ffff - mov r9, r0 -_08097A68: - mov r1, r9 - adds r0, r1, r7 - mov r2, r8 - ldrh r2, [r2, 0x2] - adds r0, r2 - movs r6, 0 - lsls r0, 16 - asrs r5, r0, 16 -_08097A78: - mov r1, r9 - adds r0, r1, r6 - mov r2, r8 - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - mov r2, r8 - movs r1, 0x4 - ldrsb r1, [r2, r1] - cmp r0, r1 - bne _08097ABC - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8097874 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08097ABC - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8097B50 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_805F378 -_08097ABC: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bls _08097A78 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x2 - bls _08097A68 - bl DrawWholeMapView - ldr r4, _08097B40 @ =gUnknown_2039870 - movs r0, 0x8 - bl Alloc - str r0, [r4] - movs r7, 0 - ldr r5, _08097B44 @ =gSprites -_08097AE2: - ldr r0, _08097B48 @ =gPlayerAvatar - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x2] - lsls r1, 23 - lsrs r1, 7 - movs r2, 0x80 - lsls r2, 12 - adds r1, r2 - asrs r1, 16 - ldrb r2, [r0] - adds r2, 0x14 - ldr r0, _08097B4C @ =gUnknown_83D414C - movs r3, 0 - bl CreateSprite - ldr r1, [r4] - adds r1, r7 - strb r0, [r1] - ldr r0, [r4] - adds r0, r7 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - lsls r1, r7, 5 - strh r1, [r0, 0x32] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x7 - bls _08097AE2 - movs r0, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08097B38: .4byte gPlayerFacingPosition -_08097B3C: .4byte 0x0000ffff -_08097B40: .4byte gUnknown_2039870 -_08097B44: .4byte gSprites -_08097B48: .4byte gPlayerAvatar -_08097B4C: .4byte gUnknown_83D414C - thumb_func_end sub_8097A48 - - thumb_func_start sub_8097B50 -sub_8097B50: @ 8097B50 - push {r4-r7,lr} - lsls r0, 16 - lsls r1, 16 - movs r4, 0 - lsrs r6, r0, 16 - asrs r0, 16 - lsrs r7, r1, 16 - asrs r1, 16 - bl MapGridGetMetatileIdAt - lsls r0, 16 - lsrs r2, r0, 16 - ldr r1, _08097B84 @ =gUnknown_83D4100 - ldr r5, _08097B88 @ =0x0000ffff - mov r12, r1 -_08097B6E: - lsls r3, r4, 2 - adds r0, r3, r1 - ldrh r0, [r0] - cmp r0, r5 - beq _08097BA0 - cmp r0, r2 - beq _08097B8C - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - b _08097B6E - .align 2, 0 -_08097B84: .4byte gUnknown_83D4100 -_08097B88: .4byte 0x0000ffff -_08097B8C: - lsls r0, r6, 16 - asrs r0, 16 - lsls r1, r7, 16 - asrs r1, 16 - mov r2, r12 - adds r2, 0x2 - adds r2, r3, r2 - ldrh r2, [r2] - bl MapGridSetMetatileIdAt -_08097BA0: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8097B50 - - thumb_func_start objc_8097BA8 -objc_8097BA8: @ 8097BA8 - movs r2, 0 - movs r1, 0x8 - strh r1, [r0, 0x2E] - strh r2, [r0, 0x30] - strh r2, [r0, 0x34] - ldr r1, _08097BB8 @ =objc_8097BBC - str r1, [r0, 0x1C] - bx lr - .align 2, 0 -_08097BB8: .4byte objc_8097BBC - thumb_func_end objc_8097BA8 - - thumb_func_start objc_8097BBC -objc_8097BBC: @ 8097BBC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x8 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x32] - ldrh r1, [r4, 0x2E] - adds r1, 0x1 - ldrh r2, [r4, 0x34] - lsls r0, r2, 16 - asrs r0, 18 - adds r1, r0 - strh r1, [r4, 0x2E] - adds r2, 0x1 - strh r2, [r4, 0x34] - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0x1C - beq _08097C08 - adds r0, r1, 0x1 - strh r0, [r4, 0x30] - b _08097C0C -_08097C08: - ldr r0, _08097C14 @ =sub_8097C18 - str r0, [r4, 0x1C] -_08097C0C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08097C14: .4byte sub_8097C18 - thumb_func_end objc_8097BBC - - thumb_func_start sub_8097C18 -sub_8097C18: @ 8097C18 - push {r4-r6,lr} - movs r4, 0x1 -_08097C1C: - ldr r6, _08097C64 @ =gUnknown_2039870 - ldr r0, [r6] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _08097C68 @ =gSprites - adds r0, r5 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x7 - bls _08097C1C - ldr r0, [r6] - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x3A - bl FieldEffectStop - ldr r0, [r6] - bl Free - bl sub_80696C0 - bl ScriptContext2_Disable - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08097C64: .4byte gUnknown_2039870 -_08097C68: .4byte gSprites - thumb_func_end sub_8097C18 - - thumb_func_start sub_8097C6C -sub_8097C6C: @ 8097C6C - push {lr} - movs r0, 0x79 - bl PlaySE - movs r0, 0x2 - bl FieldEffectActiveListRemove - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_8097C6C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/fldeff_flash.s b/asm/fldeff_flash.s deleted file mode 100644 index f550d2291..000000000 --- a/asm/fldeff_flash.s +++ /dev/null @@ -1,964 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start SetUpFieldMove_Flash -SetUpFieldMove_Flash: @ 80C9B2C - push {lr} - ldr r0, _080C9B54 @ =gMapHeader - ldrb r0, [r0, 0x15] - cmp r0, 0x1 - bne _080C9B6C - ldr r0, _080C9B58 @ =0x00000806 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _080C9B6C - ldr r1, _080C9B5C @ =gFieldCallback2 - ldr r0, _080C9B60 @ =FieldCallback_PrepareFadeInFromMenu - str r0, [r1] - ldr r1, _080C9B64 @ =gPostMenuFieldCallback - ldr r0, _080C9B68 @ =sub_80C9B74 - str r0, [r1] - movs r0, 0x1 - b _080C9B6E - .align 2, 0 -_080C9B54: .4byte gMapHeader -_080C9B58: .4byte 0x00000806 -_080C9B5C: .4byte gFieldCallback2 -_080C9B60: .4byte FieldCallback_PrepareFadeInFromMenu -_080C9B64: .4byte gPostMenuFieldCallback -_080C9B68: .4byte sub_80C9B74 -_080C9B6C: - movs r0, 0 -_080C9B6E: - pop {r1} - bx r1 - thumb_func_end SetUpFieldMove_Flash - - thumb_func_start sub_80C9B74 -sub_80C9B74: @ 80C9B74 - push {r4,lr} - bl oei_task_add - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl GetCursorSelectionMonId - ldr r1, _080C9BA4 @ =gFieldEffectArguments - lsls r0, 24 - lsrs r0, 24 - str r0, [r1] - ldr r1, _080C9BA8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r2, _080C9BAC @ =sub_80C9BB0 - lsrs r1, r2, 16 - strh r1, [r0, 0x18] - strh r2, [r0, 0x1A] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C9BA4: .4byte gFieldEffectArguments -_080C9BA8: .4byte gTasks -_080C9BAC: .4byte sub_80C9BB0 - thumb_func_end sub_80C9B74 - - thumb_func_start sub_80C9BB0 -sub_80C9BB0: @ 80C9BB0 - push {lr} - movs r0, 0xC8 - bl PlaySE - ldr r0, _080C9BC8 @ =0x00000806 - bl FlagSet - ldr r0, _080C9BCC @ =EventScript_FldEffFlash - bl ScriptContext1_SetupScript - pop {r0} - bx r0 - .align 2, 0 -_080C9BC8: .4byte 0x00000806 -_080C9BCC: .4byte EventScript_FldEffFlash - thumb_func_end sub_80C9BB0 - - thumb_func_start sub_80C9BD0 -sub_80C9BD0: @ 80C9BD0 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80C9BD0 - - thumb_func_start sub_80C9BE8 -sub_80C9BE8: @ 80C9BE8 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_80C9BE8 - - thumb_func_start sub_80C9BFC -sub_80C9BFC: @ 80C9BFC - push {lr} - sub sp, 0x8 - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0xC - movs r1, 0 - bl SetGpuReg - movs r0, 0xA - movs r1, 0 - bl SetGpuReg - movs r0, 0x8 - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, _080C9CC8 @ =0x040000d4 - mov r0, sp - str r0, [r1] - movs r0, 0xC0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _080C9CCC @ =0x8100c000 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r2, 0 - str r2, [sp, 0x4] - add r0, sp, 0x4 - str r0, [r1] - movs r0, 0xE0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _080C9CD0 @ =0x85000100 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r0, sp - strh r2, [r0] - str r0, [r1] - ldr r0, _080C9CD4 @ =0x05000002 - str r0, [r1, 0x4] - ldr r0, _080C9CD8 @ =0x810001ff - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl ResetPaletteFade - bl ResetTasks - bl ResetSpriteData - movs r0, 0x1 - bl EnableInterrupts - ldr r0, _080C9CDC @ =sub_80C9BE8 - bl SetVBlankCallback - ldr r0, _080C9CE0 @ =sub_80C9BD0 - bl SetMainCallback2 - bl sub_80C9CE8 - lsls r0, 24 - cmp r0, 0 - bne _080C9CC2 - ldr r0, _080C9CE4 @ =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_080C9CC2: - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_080C9CC8: .4byte 0x040000d4 -_080C9CCC: .4byte 0x8100c000 -_080C9CD0: .4byte 0x85000100 -_080C9CD4: .4byte 0x05000002 -_080C9CD8: .4byte 0x810001ff -_080C9CDC: .4byte sub_80C9BE8 -_080C9CE0: .4byte sub_80C9BD0 -_080C9CE4: .4byte gMain - thumb_func_end sub_80C9BFC - - thumb_func_start sub_80C9CE8 -sub_80C9CE8: @ 80C9CE8 - push {r4-r7,lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r7, r0, 24 - bl GetCurrentMapType - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - bl sub_80561B4 - ldr r5, _080C9D24 @ =gMapHeader - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r5, 0x14] - cmp r0, r1 - beq _080C9D36 - ldrb r0, [r5, 0x14] - movs r1, 0 - bl sub_80F8154 - cmp r0, 0x1 - bne _080C9D36 - ldrb r0, [r5, 0x14] - bl sub_80CA160 - movs r0, 0x1 - b _080C9D70 - .align 2, 0 -_080C9D24: .4byte gMapHeader -_080C9D28: - adds r0, r3, 0x4 - adds r0, r2, r0 - ldr r0, [r0] - bl _call_via_r0 - movs r0, 0x1 - b _080C9D70 -_080C9D36: - ldr r5, _080C9D78 @ =gUnknown_83F5738 - lsls r1, r4, 1 - adds r0, r1, r4 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0 - beq _080C9D6E - adds r3, r5, 0 -_080C9D48: - adds r0, r1, r4 - lsls r2, r0, 2 - adds r1, r2, r3 - ldrb r0, [r1] - cmp r0, r7 - bne _080C9D5A - ldrb r0, [r1, 0x1] - cmp r0, r6 - beq _080C9D28 -_080C9D5A: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, r4, 1 - adds r0, r1, r4 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0 - bne _080C9D48 -_080C9D6E: - movs r0, 0 -_080C9D70: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080C9D78: .4byte gUnknown_83F5738 - thumb_func_end sub_80C9CE8 - - thumb_func_start sub_80C9D7C -sub_80C9D7C: @ 80C9D7C - push {r4-r6,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r0, 24 - lsrs r4, r1, 24 - movs r3, 0 - ldr r1, _080C9DAC @ =gUnknown_83F5738 - ldrb r0, [r1] - cmp r0, 0 - beq _080C9DC4 - adds r6, r1, 0 -_080C9D92: - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, r5 - bne _080C9DB0 - ldrb r0, [r2, 0x1] - cmp r0, r4 - bne _080C9DB0 - ldrb r0, [r2, 0x2] - b _080C9DC6 - .align 2, 0 -_080C9DAC: .4byte gUnknown_83F5738 -_080C9DB0: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080C9D92 -_080C9DC4: - movs r0, 0 -_080C9DC6: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80C9D7C - - thumb_func_start sub_80C9DCC -sub_80C9DCC: @ 80C9DCC - push {r4-r6,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r0, 24 - lsrs r4, r1, 24 - movs r3, 0 - ldr r1, _080C9DFC @ =gUnknown_83F5738 - ldrb r0, [r1] - cmp r0, 0 - beq _080C9E14 - adds r6, r1, 0 -_080C9DE2: - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, r5 - bne _080C9E00 - ldrb r0, [r2, 0x1] - cmp r0, r4 - bne _080C9E00 - ldrb r0, [r2, 0x3] - b _080C9E16 - .align 2, 0 -_080C9DFC: .4byte gUnknown_83F5738 -_080C9E00: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080C9DE2 -_080C9E14: - movs r0, 0 -_080C9E16: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80C9DCC - - thumb_func_start sub_80C9E1C -sub_80C9E1C: @ 80C9E1C - push {lr} - ldr r0, _080C9E2C @ =sub_80C9E30 - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080C9E2C: .4byte sub_80C9E30 - thumb_func_end sub_80C9E1C - - thumb_func_start sub_80C9E30 -sub_80C9E30: @ 80C9E30 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C9E44 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080C9E48 @ =sub_80C9E4C - str r0, [r1] - bx lr - .align 2, 0 -_080C9E44: .4byte gTasks -_080C9E48: .4byte sub_80C9E4C - thumb_func_end sub_80C9E30 - - thumb_func_start sub_80C9E4C -sub_80C9E4C: @ 80C9E4C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0 - bl SetGpuReg - ldr r0, _080C9EC8 @ =gUnknown_83F5A44 - ldr r1, _080C9ECC @ =0x0600c000 - bl LZ77UnCompVram - ldr r0, _080C9ED0 @ =gUnknown_83F5864 - ldr r1, _080C9ED4 @ =0x0600f800 - bl LZ77UnCompVram - ldr r0, _080C9ED8 @ =gUnknown_83F5804 - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _080C9EDC @ =gUnknown_83F5844 + 0x10 - movs r1, 0xE0 - movs r2, 0x10 - bl LoadPalette - ldr r1, _080C9EE0 @ =0x00003e41 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r1, _080C9EE4 @ =0x00001f0c =BGCNT_PRIORITY(0) | BGCNT_CHARBASE(3) | BGCNT_SCREENBASE(31) - movs r0, 0x8 - bl SetGpuReg - movs r1, 0x8A - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r1, _080C9EE8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080C9EEC @ =sub_80C9EF0 - str r1, [r0] - movs r2, 0 - movs r1, 0x10 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C9EC8: .4byte gUnknown_83F5A44 -_080C9ECC: .4byte 0x0600c000 -_080C9ED0: .4byte gUnknown_83F5864 -_080C9ED4: .4byte 0x0600f800 -_080C9ED8: .4byte gUnknown_83F5804 -_080C9EDC: .4byte gUnknown_83F5844 + 0x10 -_080C9EE0: .4byte 0x00003e41 -_080C9EE4: .4byte 0x00001f0c -_080C9EE8: .4byte gTasks -_080C9EEC: .4byte sub_80C9EF0 - thumb_func_end sub_80C9E4C - - thumb_func_start sub_80C9EF0 -sub_80C9EF0: @ 80C9EF0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C9F20 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - ldrh r4, [r5, 0xA] - movs r0, 0x80 - lsls r0, 5 - adds r1, r4, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - cmp r4, 0x10 - bhi _080C9F24 - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - b _080C9F2C - .align 2, 0 -_080C9F20: .4byte gTasks -_080C9F24: - movs r0, 0 - strh r0, [r5, 0xC] - ldr r0, _080C9F34 @ =sub_80C9F38 - str r0, [r5] -_080C9F2C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C9F34: .4byte sub_80C9F38 - thumb_func_end sub_80C9EF0 - - thumb_func_start sub_80C9F38 -sub_80C9F38: @ 80C9F38 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080C9F74 @ =0x00001010 - movs r0, 0x52 - bl SetGpuReg - ldr r1, _080C9F78 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r1 - ldrh r1, [r4, 0xC] - cmp r1, 0x7 - bhi _080C9F80 - adds r0, r1, 0x1 - strh r0, [r4, 0xC] - lsls r1, 1 - ldr r0, _080C9F7C @ =gUnknown_83F5844 + 0x10 - adds r0, r1, r0 - movs r2, 0x10 - subs r2, r1 - lsls r2, 16 - lsrs r2, 16 - movs r1, 0xE0 - bl LoadPalette - b _080C9F92 - .align 2, 0 -_080C9F74: .4byte 0x00001010 -_080C9F78: .4byte gTasks -_080C9F7C: .4byte gUnknown_83F5844 + 0x10 -_080C9F80: - ldr r0, _080C9F98 @ =gUnknown_83F5804 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _080C9F9C @ =sub_80C9FA0 - str r0, [r4] - movs r0, 0x8 - strh r0, [r4, 0xC] -_080C9F92: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C9F98: .4byte gUnknown_83F5804 -_080C9F9C: .4byte sub_80C9FA0 - thumb_func_end sub_80C9F38 - - thumb_func_start sub_80C9FA0 -sub_80C9FA0: @ 80C9FA0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C9FC0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _080C9FC4 - subs r0, r2, 0x1 - strh r0, [r1, 0xC] - b _080C9FCC - .align 2, 0 -_080C9FC0: .4byte gTasks -_080C9FC4: - ldr r0, _080C9FD0 @ =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_080C9FCC: - pop {r0} - bx r0 - .align 2, 0 -_080C9FD0: .4byte gMain - thumb_func_end sub_80C9FA0 - - thumb_func_start sub_80C9FD4 -sub_80C9FD4: @ 80C9FD4 - push {lr} - ldr r0, _080C9FE4 @ =sub_80C9FE8 - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080C9FE4: .4byte sub_80C9FE8 - thumb_func_end sub_80C9FD4 - - thumb_func_start sub_80C9FE8 -sub_80C9FE8: @ 80C9FE8 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C9FFC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080CA000 @ =sub_80CA004 - str r0, [r1] - bx lr - .align 2, 0 -_080C9FFC: .4byte gTasks -_080CA000: .4byte sub_80CA004 - thumb_func_end sub_80C9FE8 - - thumb_func_start sub_80CA004 -sub_80CA004: @ 80CA004 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0 - bl SetGpuReg - ldr r0, _080CA080 @ =gUnknown_83F5A44 - ldr r1, _080CA084 @ =0x0600c000 - bl LZ77UnCompVram - ldr r0, _080CA088 @ =gUnknown_83F5864 - ldr r1, _080CA08C @ =0x0600f800 - bl LZ77UnCompVram - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r1, _080CA090 @ =0x00001f0c - movs r0, 0x8 - bl SetGpuReg - movs r1, 0x8A - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r0, _080CA094 @ =gUnknown_83F5804 - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _080CA098 @ =gUnknown_83F5824 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r1, _080CA09C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080CA0A0 @ =sub_80CA0A4 - str r1, [r0] - movs r2, 0 - movs r1, 0x10 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - strh r2, [r0, 0xC] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CA080: .4byte gUnknown_83F5A44 -_080CA084: .4byte 0x0600c000 -_080CA088: .4byte gUnknown_83F5864 -_080CA08C: .4byte 0x0600f800 -_080CA090: .4byte 0x00001f0c -_080CA094: .4byte gUnknown_83F5804 -_080CA098: .4byte gUnknown_83F5824 -_080CA09C: .4byte gTasks -_080CA0A0: .4byte sub_80CA0A4 - thumb_func_end sub_80CA004 - - thumb_func_start sub_80CA0A4 -sub_80CA0A4: @ 80CA0A4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080CA0D8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r1, [r4, 0xC] - cmp r1, 0xF - bhi _080CA0E0 - adds r2, r1, 0x1 - adds r0, r2, 0x1 - strh r0, [r4, 0xC] - movs r0, 0xF - subs r0, r1 - lsls r0, 1 - ldr r1, _080CA0DC @ =gUnknown_83F5844 - adds r0, r1 - lsls r2, 17 - lsrs r2, 16 - movs r1, 0xE0 - bl LoadPalette - b _080CA0F4 - .align 2, 0 -_080CA0D8: .4byte gTasks -_080CA0DC: .4byte gUnknown_83F5844 -_080CA0E0: - ldr r1, _080CA0FC @ =0x00001010 - movs r0, 0x52 - bl SetGpuReg - ldr r1, _080CA100 @ =0x00003e41 - movs r0, 0x50 - bl SetGpuReg - ldr r0, _080CA104 @ =sub_80CA108 - str r0, [r4] -_080CA0F4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CA0FC: .4byte 0x00001010 -_080CA100: .4byte 0x00003e41 -_080CA104: .4byte sub_80CA108 - thumb_func_end sub_80CA0A4 - - thumb_func_start sub_80CA108 -sub_80CA108: @ 80CA108 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080CA13C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - ldrh r0, [r5, 0xA] - movs r1, 0x10 - subs r1, r0 - lsls r1, 16 - lsrs r4, r1, 16 - movs r0, 0x80 - lsls r0, 21 - adds r1, r0 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - cmp r4, 0 - beq _080CA140 - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - b _080CA152 - .align 2, 0 -_080CA13C: .4byte gTasks -_080CA140: - ldr r0, _080CA158 @ =gUnknown_83F5824 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _080CA15C @ =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_080CA152: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CA158: .4byte gUnknown_83F5824 -_080CA15C: .4byte gMain - thumb_func_end sub_80CA108 - - thumb_func_start sub_80CA160 -sub_80CA160: @ 80CA160 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080CA188 @ =sub_80CA190 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080CA18C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0xE] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CA188: .4byte sub_80CA190 -_080CA18C: .4byte gTasks - thumb_func_end sub_80CA160 - - thumb_func_start sub_80CA190 -sub_80CA190: @ 80CA190 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080CA1B8 @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bls _080CA1AC - b _080CA2D2 -_080CA1AC: - lsls r0, 2 - ldr r1, _080CA1BC @ =_080CA1C0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080CA1B8: .4byte gTasks+0x8 -_080CA1BC: .4byte _080CA1C0 - .align 2, 0 -_080CA1C0: - .4byte _080CA1D8 - .4byte _080CA208 - .4byte _080CA224 - .4byte _080CA24E - .4byte _080CA262 - .4byte _080CA2A4 -_080CA1D8: - ldr r0, _080CA204 @ =gMain - ldr r2, [r0, 0xC] - adds r0, r5, 0 - movs r1, 0x5 - bl SetWordTaskArg - movs r0, 0 - bl SetVBlankCallback - bl sub_80F8180 - ldrb r0, [r4, 0x6] - bl sub_80F819C - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - b _080CA294 - .align 2, 0 -_080CA204: .4byte gMain -_080CA208: - bl sub_80F8258 - cmp r0, 0 - bne _080CA2D2 - ldrb r0, [r4, 0x6] - bl sub_80F8318 - strh r0, [r4, 0x8] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl CopyWindowToVram - b _080CA294 -_080CA224: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080CA2D2 - movs r1, 0x1 - negs r1, r1 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - adds r0, r5, 0 - movs r1, 0x5 - bl GetWordTaskArg - bl SetVBlankCallback - b _080CA294 -_080CA24E: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080CA2D2 - ldrb r0, [r4, 0x6] - bl sub_80F856C - strh r0, [r4, 0x4] - b _080CA294 -_080CA262: - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x4 - ldrsh r1, [r4, r2] - cmp r0, r1 - bgt _080CA280 - ldr r0, _080CA29C @ =gMain - ldrh r1, [r0, 0x2C] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080CA2D2 -_080CA280: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x2 - negs r1, r1 - ldr r2, _080CA2A0 @ =0x00007fff - str r2, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_080CA294: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _080CA2D2 - .align 2, 0 -_080CA29C: .4byte gMain -_080CA2A0: .4byte 0x00007fff -_080CA2A4: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080CA2D2 - lsls r6, r5, 2 - movs r1, 0 - adds r0, r4, 0 - adds r0, 0x1E -_080CA2B6: - strh r1, [r0] - subs r0, 0x2 - cmp r0, r4 - bge _080CA2B6 - movs r1, 0x8 - ldrsh r0, [r4, r1] - bl sub_80F8234 - ldr r1, _080CA2DC @ =gTasks - adds r0, r6, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080CA2E0 @ =sub_80CA004 - str r1, [r0] -_080CA2D2: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CA2DC: .4byte gTasks -_080CA2E0: .4byte sub_80CA004 - thumb_func_end sub_80CA190 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/librfu_intr.s b/asm/librfu_intr.s deleted file mode 100644 index 2cc761554..000000000 --- a/asm/librfu_intr.s +++ /dev/null @@ -1,697 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - arm_func_start IntrSIO32 -IntrSIO32: @ 81DFC50 - mov r12, sp - stmdb sp!, {r11,r12,lr,pc} - ldr r3, _081DFCB0 @ =gSTWIStatus - ldr r0, [r3] - ldr r2, [r0] - sub r11, r12, 0x4 - cmp r2, 0xA - bne _081DFC8C - ldr r0, [r0, 0x20] - cmp r0, 0 - ldmdbeq r11, {r11,sp,lr} - bxeq lr - bl Callback_Dummy_ID - ldmdb r11, {r11,sp,lr} - bx lr -_081DFC8C: - ldrb r3, [r0, 0x14] - cmp r3, 0x1 - bne _081DFCA4 - bl sio32intr_clock_master - ldmdb r11, {r11,sp,lr} - bx lr -_081DFCA4: - bl sio32intr_clock_slave - ldmdb r11, {r11,sp,lr} - bx lr - .align 2, 0 -_081DFCB0: .4byte gSTWIStatus - arm_func_end IntrSIO32 - - arm_func_start sio32intr_clock_master -sio32intr_clock_master: @ 81DFCB4 - mov r12, sp - stmdb sp!, {r4-r6,r11,r12,lr,pc} - mov r0, 0x50 - sub r11, r12, 0x4 - bl STWI_set_timer_in_RAM - mov r4, 0x120 - ldr r2, _081DFF28 @ =gSTWIStatus - add r4, r4, 0x4000000 - ldr lr, [r4] - ldr r12, [r2] - ldr r3, [r12] - mov r6, r2 - cmp r3, 0 - bne _081DFD34 - cmp lr, 0x80000000 - bne _081DFDB4 - ldrb r2, [r12, 0x5] - ldrb r3, [r12, 0x4] - cmp r2, r3 - bhi _081DFD24 - ldr r3, [r12, 0x24] - mov r1, r2 - ldr r2, [r3, r1, lsl 2] - str r2, [r4] - ldrb r3, [r12, 0x5] - add r3, r3, 0x1 - strb r3, [r12, 0x5] - b _081DFE10 -_081DFD24: - mov r3, 0x1 - str r3, [r12] - str lr, [r4] - b _081DFE10 -_081DFD34: - ldr r3, [r12] - cmp r3, 0x1 - bne _081DFDC4 - mov r3, 0x99000000 - add r3, r3, 0x660000 - mov r5, 0x80000000 - and r2, lr, r5, asr 15 - cmp r2, r3 - bne _081DFDB4 - mov r3, 0 - strb r3, [r12, 0x8] - ldr r1, [r6] - ldrb r0, [r1, 0x8] - ldr r2, [r1, 0x28] - str lr, [r2, r0, lsl 2] - ldrb r3, [r1, 0x8] - add r3, r3, 0x1 - strb r3, [r1, 0x8] - ldr r2, [r6] - strb lr, [r2, 0x9] - ldr r3, [r6] - mov r2, lr, lsr 8 - strb r2, [r3, 0x7] - ldr r1, [r6] - ldrb r2, [r1, 0x7] - ldrb r3, [r1, 0x8] - cmp r2, r3 - bcc _081DFDFC - mov r3, 0x2 - str r3, [r1] - str r5, [r4] - b _081DFE10 -_081DFDB4: - bl STWI_stop_timer_in_RAM - mov r0, 0x82 - bl STWI_set_timer_in_RAM - b _081DFF3C -_081DFDC4: - ldr r3, [r12] - cmp r3, 0x2 - bne _081DFE10 - ldrb r1, [r12, 0x8] - ldr r2, [r12, 0x28] - str lr, [r2, r1, lsl 2] - ldrb r3, [r12, 0x8] - add r3, r3, 0x1 - strb r3, [r12, 0x8] - ldr r1, [r6] - ldrb r2, [r1, 0x7] - ldrb r3, [r1, 0x8] - cmp r2, r3 - bcs _081DFE08 -_081DFDFC: - mov r3, 0x3 - str r3, [r1] - b _081DFE10 -_081DFE08: - mov r3, 0x80000000 - str r3, [r4] -_081DFE10: - mov r0, 0x1 - bl handshake_wait - mov r0, r0, lsl 16 - cmp r0, 0x10000 - beq _081DFF3C - mov r4, 0x128 - add r4, r4, 0x4000000 - mov r5, 0x5000 - add r3, r5, 0xB - strh r3, [r4] - mov r0, 0 - bl handshake_wait - mov r0, r0, lsl 16 - cmp r0, 0x10000 - beq _081DFF3C - bl STWI_stop_timer_in_RAM - ldr r1, [r6] - ldr r0, [r1] - cmp r0, 0x3 - bne _081DFF2C - ldrb r3, [r1, 0x9] - cmp r3, 0xA5 - cmpne r3, 0xA7 - beq _081DFE84 - and r3, r3, 0xFF - cmp r3, 0xB5 - beq _081DFE84 - cmp r3, 0xB7 - bne _081DFECC -_081DFE84: - mov r1, 0x120 - add r1, r1, 0x4000000 - mov r12, 0x128 - add r12, r12, 0x4000000 - ldr r0, [r6] - mov r3, 0 - strb r3, [r0, 0x14] - mov r2, 0x80000000 - str r2, [r1] - add r3, r3, 0x5000 - add r2, r3, 0x2 - strh r2, [r12] - add r3, r3, 0x82 - strh r3, [r12] - ldr r2, [r6] - mov r3, 0x5 - str r3, [r2] - b _081DFEFC -_081DFECC: - cmp r3, 0xEE - bne _081DFEEC - add r3, r5, 0x3 - strh r3, [r4] - mov r2, 0x4 - str r2, [r1] - strh r0, [r1, 0x12] - b _081DFEFC -_081DFEEC: - add r3, r5, 0x3 - strh r3, [r4] - mov r2, 0x4 - str r2, [r1] -_081DFEFC: - ldr r2, [r6] - mov r3, 0 - strb r3, [r2, 0x2C] - ldr r0, [r6] - ldr r2, [r0, 0x18] - cmp r2, r3 - beq _081DFF3C - ldrh r1, [r0, 0x12] - ldrb r0, [r0, 0x6] - bl Callback_Dummy_M - b _081DFF3C - .align 2, 0 -_081DFF28: .4byte gSTWIStatus -_081DFF2C: - add r3, r5, 0x3 - strh r3, [r4] - add r2, r5, 0x83 - strh r2, [r4] -_081DFF3C: - ldmdb r11, {r4-r6,r11,sp,lr} - bx lr - arm_func_end sio32intr_clock_master - - arm_func_start sio32intr_clock_slave -sio32intr_clock_slave: @ 81DFF44 - mov r12, sp - stmdb sp!, {r4-r6,r11,r12,lr,pc} - ldr r4, _081E02F0 @ =gSTWIStatus - mov r0, 0x64 - ldr r3, [r4] - mov r6, 0 - strb r6, [r3, 0x10] - sub r11, r12, 0x4 - bl STWI_set_timer_in_RAM - mov r0, r6 - bl handshake_wait - mov r0, r0, lsl 16 - cmp r0, 0x10000 - mov r5, r4 - beq _081E0348 - mov r3, 0x128 - add r3, r3, 0x4000000 - mov r2, 0x5000 - add r2, r2, 0xA - strh r2, [r3] - mov lr, 0x120 - ldr r0, [r5] - add lr, lr, 0x4000000 - ldr r12, [lr] - ldr r3, [r0] - cmp r3, 0x5 - bne _081E0074 - ldr r3, [r0, 0x28] - mov r4, 0x1 - mov r0, 0x99000000 - str r12, [r3] - add r0, r0, 0x660000 - ldr r2, [r5] - mov r3, r0, lsr 16 - strb r4, [r2, 0x5] - cmp r3, r12, lsr 16 - bne _081E01C0 - ldr r3, [r5] - mov r2, r12, lsr 8 - strb r2, [r3, 0x4] - ldr r2, [r5] - strb r12, [r2, 0x6] - ldr r1, [r5] - ldrb r3, [r1, 0x4] - cmp r3, r6 - bne _081E0058 - ldrb r2, [r1, 0x6] - sub r3, r2, 0x27 - cmp r2, 0x36 - cmpne r3, 0x2 - bhi _081E002C - add r3, r2, 0x80 - strb r3, [r1, 0x9] - ldr r2, [r5] - ldrb r3, [r2, 0x9] - ldr r1, [r2, 0x24] - add r3, r3, r0 - b _081E00DC -_081E002C: - ldr r2, [r1, 0x24] - ldr r3, _081E02F4 @ =0x996601ee - str r3, [r2] - ldr r2, [r5] - ldrb r3, [r2, 0x6] - sub r3, r3, 0x10 - cmp r3, 0x2D - bhi _081E0114 - ldr r3, [r2, 0x24] - str r4, [r3, 0x4] - b _081E0120 -_081E0058: - mov r3, 0x80000000 - str r3, [lr] - strb r4, [r1, 0x5] - ldr r2, [r5] - add r3, r3, 0x80000006 - str r3, [r2] - b _081E01D0 -_081E0074: - ldr r3, [r0] - cmp r3, 0x6 - bne _081E0174 - ldrb r1, [r0, 0x5] - ldr r2, [r0, 0x28] - str r12, [r2, r1, lsl 2] - ldrb r3, [r0, 0x5] - add r3, r3, 0x1 - strb r3, [r0, 0x5] - ldr r1, [r5] - ldrb r2, [r1, 0x4] - ldrb r3, [r1, 0x5] - cmp r2, r3 - bcs _081E0168 - ldrb r2, [r1, 0x6] - sub r3, r2, 0x28 - cmp r2, 0x36 - cmpne r3, 0x1 - bhi _081E00EC - add r3, r2, 0x80 - strb r3, [r1, 0x9] - ldr r2, [r5] - ldrb r3, [r2, 0x9] - ldr r1, [r2, 0x24] - orr r3, r3, 0x99000000 - orr r3, r3, 0x660000 -_081E00DC: - str r3, [r1] - ldr r2, [r5] - strb r6, [r2, 0x7] - b _081E0138 -_081E00EC: - ldr r2, [r1, 0x24] - ldr r3, _081E02F4 @ =0x996601ee - str r3, [r2] - ldr r2, [r5] - ldrb r3, [r2, 0x6] - sub r3, r3, 0x10 - cmp r3, 0x2D - ldrls r2, [r2, 0x24] - movls r3, 0x1 - bls _081E011C -_081E0114: - ldr r2, [r2, 0x24] - mov r3, 0x2 -_081E011C: - str r3, [r2, 0x4] -_081E0120: - ldr r2, [r5] - mov r3, 0x1 - strb r3, [r2, 0x7] - ldr r1, [r5] - add r3, r3, 0x2 - strh r3, [r1, 0x12] -_081E0138: - ldr r0, [r5] - ldr r2, [r0, 0x24] - mov r3, 0x120 - ldr r1, [r2] - add r3, r3, 0x4000000 - str r1, [r3] - mov r2, 0x1 - strb r2, [r0, 0x8] - ldr r1, [r5] - mov r3, 0x7 - str r3, [r1] - b _081E01D0 -_081E0168: - mov r3, 0x80000000 - str r3, [lr] - b _081E01D0 -_081E0174: - ldr r3, [r0] - cmp r3, 0x7 - bne _081E01D0 - cmp r12, 0x80000000 - bne _081E01C0 - ldrb r2, [r0, 0x7] - ldrb r3, [r0, 0x8] - cmp r2, r3 - movcc r3, 0x8 - strcc r3, [r0] - bcc _081E01D0 - ldrb r1, [r0, 0x8] - ldr r3, [r0, 0x24] - ldr r2, [r3, r1, lsl 2] - str r2, [lr] - ldrb r3, [r0, 0x8] - add r3, r3, 0x1 - strb r3, [r0, 0x8] - b _081E01D0 -_081E01C0: - bl STWI_stop_timer_in_RAM - mov r0, 0x64 - bl STWI_set_timer_in_RAM - b _081E0348 -_081E01D0: - mov r0, 0x1 - bl handshake_wait - mov r0, r0, lsl 16 - cmp r0, 0x10000 - beq _081E0348 - mov r6, r5 - ldr r3, [r6] - ldr r2, [r3] - cmp r2, 0x8 - bne _081E0298 - mov r4, 0x128 - add r4, r4, 0x4000000 - mov r3, 0x5000 - add r3, r3, 0x2 - strh r3, [r4] - bl STWI_stop_timer_in_RAM - ldr r0, [r6] - ldrh r3, [r0, 0x12] - cmp r3, 0x3 - bne _081E0244 - bl STWI_init_slave - ldr r3, [r6] - ldr r1, [r3, 0x1C] - cmp r1, 0 - beq _081E0348 - mov r0, 0x1EC - add r0, r0, 0x2 - bl Callback_Dummy_S - b _081E0348 -_081E0244: - mov r3, 0x120 - add r3, r3, 0x4000000 - mov r1, 0 - str r1, [r3] - mov r2, 0x5000 - strh r1, [r4] - add r2, r2, 0x3 - strh r2, [r4] - mov r3, 0x1 - strb r3, [r0, 0x14] - ldr r0, [r5] - ldr r2, [r0, 0x1C] - str r1, [r0] - cmp r2, r1 - beq _081E0348 - ldrb r3, [r0, 0x4] - ldrb r0, [r0, 0x6] - mov r1, r2 - orr r0, r0, r3, lsl 8 - bl Callback_Dummy_S - b _081E0348 -_081E0298: - mov r3, 0x208 - add r3, r3, 0x4000000 - mov r2, 0 - strh r2, [r3] - mov r1, 0x100 - add r2, r1, 0x4000002 - ldrh r3, [r2] - tst r3, 0x80 - beq _081E031C - ldrh r3, [r2] - tst r3, 0x3 - bne _081E02F8 - mov r2, 0xFF00 - add r1, r1, 0x4000000 - ldrh r3, [r1] - add r2, r2, 0x9B - cmp r3, r2 - bls _081E031C -_081E02E0: - ldrh r3, [r1] - cmp r3, r2 - bhi _081E02E0 - b _081E031C - .align 2, 0 -_081E02F0: .4byte gSTWIStatus -_081E02F4: .4byte 0x996601ee -_081E02F8: - mov r2, 0xFF00 - add r1, r1, 0x4000000 - ldrh r3, [r1] - add r2, r2, 0xFE - cmp r3, r2 - bls _081E031C -_081E0310: - ldrh r3, [r1] - cmp r3, r2 - bhi _081E0310 -_081E031C: - mov r1, 0x128 - add r1, r1, 0x4000000 - mov r0, 0x208 - add r0, r0, 0x4000000 - mov r3, 0x5000 - add r2, r3, 0x2 - strh r2, [r1] - add r3, r3, 0x82 - strh r3, [r1] - mov r2, 0x1 - strh r2, [r0] -_081E0348: - ldmdb r11, {r4-r6,r11,sp,lr} - bx lr - arm_func_end sio32intr_clock_slave - - arm_func_start handshake_wait -handshake_wait: @ 81E0350 - mov r12, sp - stmdb sp!, {r11,r12,lr,pc} - mov r1, 0x128 - add r1, r1, 0x4000000 - mov r0, r0, lsl 16 - ldr r2, _081E03B4 @ =gSTWIStatus - sub r11, r12, 0x4 - mov lr, r0, lsr 14 - ldr r12, [r2] -_081E0374: - ldrb r3, [r12, 0x10] - and r0, r3, 0xFF - cmp r0, 0x1 - beq _081E03A0 - ldrh r3, [r1] - and r3, r3, 0x4 - cmp r3, lr - bne _081E0374 - mov r0, 0 - ldmdb r11, {r11,sp,lr} - bx lr -_081E03A0: - ldr r2, [r2] - mov r3, 0 - strb r3, [r2, 0x10] - ldmdb r11, {r11,sp,lr} - bx lr - .align 2, 0 -_081E03B4: .4byte gSTWIStatus - arm_func_end handshake_wait - - arm_func_start STWI_set_timer_in_RAM -STWI_set_timer_in_RAM: @ 81E03B8 - mov r12, sp - stmdb sp!, {r4,r5,r11,r12,lr,pc} - mov r1, 0x208 - add r1, r1, 0x4000000 - mov r3, 0 - sub r11, r12, 0x4 - ldr r12, _081E0470 @ =gSTWIStatus - and lr, r0, 0xFF - ldr r2, [r12] - cmp lr, 0x50 - ldrb r0, [r2, 0xA] - mov r4, r12 - mov r2, lr - strh r3, [r1] - mov r0, r0, lsl 2 - add r3, r3, 0x100 - add r1, r3, 0x4000000 - add r3, r3, 0x4000002 - add r5, r0, r3 - beq _081E0440 - bgt _081E0418 - cmp lr, 0x32 - beq _081E042C - b _081E048C -_081E0418: - cmp r2, 0x64 - beq _081E0458 - cmp r2, 0x82 - beq _081E0474 - b _081E048C -_081E042C: - mvn r3, 0x334 - strh r3, [r0, r1] - ldr r2, [r4] - mov r3, 0x1 - b _081E0488 -_081E0440: - mov r3, 0xAE000000 - mov r3, r3, asr 20 - strh r3, [r0, r1] - ldr r2, [r4] - mov r3, 0x2 - b _081E0488 -_081E0458: - mvn r3, 0x660 - sub r3, r3, 0x9 - strh r3, [r0, r1] - ldr r2, [r4] - mov r3, 0x3 - b _081E0488 - .align 2, 0 -_081E0470: .4byte gSTWIStatus -_081E0474: - mvn r3, 0x850 - sub r3, r3, 0x2 - strh r3, [r0, r1] - ldr r2, [r4] - mov r3, 0x4 -_081E0488: - str r3, [r2, 0xC] -_081E048C: - mov r12, 0x200 - add r12, r12, 0x4000002 - mov r3, 0xC3 - strh r3, [r5] - mov r1, 0x208 - ldr r2, [r4] - add r1, r1, 0x4000000 - ldrb r0, [r2, 0xA] - sub r3, r3, 0xBB - mov r3, r3, lsl r0 - strh r3, [r12] - mov r2, 0x1 - strh r2, [r1] - ldmdb r11, {r4,r5,r11,sp,lr} - bx lr - arm_func_end STWI_set_timer_in_RAM - - arm_func_start STWI_stop_timer_in_RAM -STWI_stop_timer_in_RAM: @ 81E04C8 - mov r12, sp - stmdb sp!, {r11,r12,lr,pc} - mov r1, 0x100 - ldr lr, _081E0514 @ =gSTWIStatus - add r0, r1, 0x4000000 - ldr r2, [lr] - sub r11, r12, 0x4 - ldrb r3, [r2, 0xA] - mov r12, 0 - str r12, [r2, 0xC] - mov r3, r3, lsl 2 - strh r12, [r3, r0] - ldr r2, [lr] - ldrb r3, [r2, 0xA] - add r1, r1, 0x4000002 - mov r3, r3, lsl 2 - strh r12, [r3, r1] - ldmdb r11, {r11,sp,lr} - bx lr - .align 2, 0 -_081E0514: .4byte gSTWIStatus - arm_func_end STWI_stop_timer_in_RAM - - arm_func_start STWI_init_slave -STWI_init_slave: @ 81E0518 - mov r12, sp - stmdb sp!, {r11,r12,lr,pc} - ldr r0, _081E05A0 @ =gSTWIStatus - ldr r2, [r0] - mov r3, 0x5 - str r3, [r2] - mov r1, 0 - strb r1, [r2, 0x14] - ldr r3, [r0] - strb r1, [r3, 0x4] - ldr r2, [r0] - strb r1, [r2, 0x5] - ldr r3, [r0] - strb r1, [r3, 0x6] - ldr r2, [r0] - strb r1, [r2, 0x7] - ldr r3, [r0] - strb r1, [r3, 0x8] - ldr r2, [r0] - strb r1, [r2, 0x9] - ldr r3, [r0] - str r1, [r3, 0xC] - sub r11, r12, 0x4 - strb r1, [r3, 0x10] - mov r2, 0x128 - ldr r12, [r0] - add r2, r2, 0x4000000 - strh r1, [r12, 0x12] - mov r3, 0x5000 - strb r1, [r12, 0x15] - add r3, r3, 0x82 - strh r3, [r2] - ldmdb r11, {r11,sp,lr} - bx lr - .align 2, 0 -_081E05A0: .4byte gSTWIStatus - arm_func_end STWI_init_slave - - arm_func_start Callback_Dummy_M -Callback_Dummy_M: @ 81E05A4 - bx r2 - arm_func_end Callback_Dummy_M - - arm_func_start Callback_Dummy_S -Callback_Dummy_S: @ 81E05A8 - bx r1 - arm_func_end Callback_Dummy_S - - arm_func_start Callback_Dummy_ID -Callback_Dummy_ID: @ 81E05AC - bx r0 - arm_func_end Callback_Dummy_ID diff --git a/asm/macros.inc b/asm/macros.inc index ffbe3db29..0e53dc2a2 100644 --- a/asm/macros.inc +++ b/asm/macros.inc @@ -5,6 +5,7 @@ .include "asm/macros/ec.inc" .include "asm/macros/map.inc" .include "asm/macros/m4a.inc" + .include "asm/macros/trainer_tower.inc" .macro region_map_location x, y, width, height, name .byte \x diff --git a/asm/macros/event.inc b/asm/macros/event.inc index 51f8e7330..35314ac3f 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -1629,7 +1629,7 @@ @ Jumps to dest if the Quest Log is currently showing playback scenes (dest is usually a release/end) .macro goto_if_questlog dest:req - special Special_GetQuestLogState + special GetQuestLogState compare VAR_RESULT, 2 goto_if_eq \dest .endm diff --git a/asm/macros/map.inc b/asm/macros/map.inc index d903899fe..881ffdbb4 100644 --- a/asm/macros/map.inc +++ b/asm/macros/map.inc @@ -14,9 +14,10 @@ .4byte \address .endm - .macro object_event index:req, gfx:req, x:req, y:req, elevation:req, movement_type:req, x_radius:req, y_radius:req, trainer_type:req, sight_radius_tree_etc:req, script:req, event_flag:req + .macro object_event index:req, gfx:req, in_connection:req x:req, y:req, elevation:req, movement_type:req, x_radius:req, y_radius:req, trainer_type:req, sight_radius_tree_etc:req, script:req, event_flag:req .byte \index - .2byte \gfx + .byte \gfx + .byte \in_connection .byte 0 .2byte \x, \y .byte \elevation, \movement_type, ((\y_radius << 4) | \x_radius), 0 @@ -88,3 +89,8 @@ map \map .space 2 .endm + + .macro map_header_flags allow_cycling:req, allow_escaping:req, allow_running:req, show_map_name:req + .byte \allow_cycling + .byte ((\show_map_name & 1) << 2) | ((\allow_running & 1) << 1) | ((\allow_escaping & 1) << 0) + .endm diff --git a/asm/macros/movement.inc b/asm/macros/movement.inc index c4ca78010..9f11f4460 100644 --- a/asm/macros/movement.inc +++ b/asm/macros/movement.inc @@ -109,7 +109,7 @@ create_movement emote_x create_movement emote_double_exclamation_mark create_movement emote_smile - create_movement step_67 + create_movement reveal_trainer create_movement rock_smash_break create_movement cut_tree diff --git a/asm/macros/trainer_tower.inc b/asm/macros/trainer_tower.inc new file mode 100644 index 000000000..94d9efe77 --- /dev/null +++ b/asm/macros/trainer_tower.inc @@ -0,0 +1,133 @@ + @ Sets NPC gfx and the floor layout depending on current challenge and floor + .macro ttower_initfloor + setvar VAR_0x8004, TRAINER_TOWER_FUNC_INIT_FLOOR + special CallTrainerTowerFunc + .endm + + @ Buffers the opponents battle speech to gStringVar4. speech is any TRAINER_TOWER_TEXT_*. + .macro ttower_getspeech speech:req, trainer=0xFF + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_SPEECH + setvar VAR_0x8005, \speech + .if \trainer >= VARS_START && \trainer != 0xFF + copyvar VAR_0x8006, \trainer + .elseif \trainer != 0xFF + setvar VAR_0x8006, \trainer + .endif + special CallTrainerTowerFunc + .endm + + @ Starts a trainer tower battle. VAR_0x8005 is unused + .macro ttower_dobattle + setvar VAR_0x8004, TRAINER_TOWER_FUNC_DO_BATTLE + setvar VAR_0x8005, 0 + special CallTrainerTowerFunc + .endm + + @ Returns the current challenge type (CHALLENGE_TYPE_*). Mixed challenges use different types for each floor. If VAR_0x8005 is != FALSE, does nothing + .macro ttower_getchallengetype + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_CHALLENGE_TYPE + setvar VAR_0x8005, FALSE + special CallTrainerTowerFunc + .endm + + @ Adds 1 to the number of floors cleared (all trainers on floor defeated) + .macro ttower_clearedfloor + setvar VAR_0x8004, TRAINER_TOWER_FUNC_CLEARED_FLOOR + special CallTrainerTowerFunc + .endm + + @ TRUE if the trainers on this floor were already beaten, FALSE otherwise + .macro ttower_isfloorcleared + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_FLOOR_CLEARED + special CallTrainerTowerFunc + .endm + + @ Initializes the Trainer Tower challenge and starts the timer + .macro ttower_startchallenge + setvar VAR_0x8004, TRAINER_TOWER_FUNC_START_CHALLENGE + special CallTrainerTowerFunc + .endm + + @ 0 if not spoken to yet, 1 if spoken to but not received prize, 2 if received prize + .macro ttower_getownerstate + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_OWNER_STATE + special CallTrainerTowerFunc + .endm + + @ Tries to give prize. 0 if given successfully, 1 if no room for prize, 2 if giving prize should be skipped + .macro ttower_giveprize + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GIVE_PRIZE + special CallTrainerTowerFunc + .endm + + @ Checks the final challenge time. 0 if new record, 1 if not, 2 if time has already been checked + .macro ttower_checkfinaltime + setvar VAR_0x8004, TRAINER_TOWER_FUNC_CHECK_FINAL_TIME + special CallTrainerTowerFunc + .endm + + @ Resumes the challenge timer (or starts, if the timer is 0) + .macro ttower_resumetimer + setvar VAR_0x8004, TRAINER_TOWER_FUNC_RESUME_TIMER + special CallTrainerTowerFunc + .endm + + @ Sets that the player lost the challenge + .macro ttower_setlost + setvar VAR_0x8004, TRAINER_TOWER_FUNC_SET_LOST + special CallTrainerTowerFunc + .endm + + @ Returns the status of the current Trainer Tower challenge (CHALLENGE_STATUS_*) + .macro ttower_getchallengestatus + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_CHALLENGE_STATUS + special CallTrainerTowerFunc + .endm + + @ Buffers the current challenge time (min in gStringVar1, sec in gStringVar2, fraction sec in gStringVar3) + .macro ttower_gettime + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_TIME + special CallTrainerTowerFunc + .endm + + @ Unused. Displays Trainer Tower results. Handled by ShowBattleRecords instead + .macro ttower_showresults + setvar VAR_0x8004, TRAINER_TOWER_FUNC_SHOW_RESULTS + special CallTrainerTowerFunc + .endm + + @ Unused. See above + .macro ttower_closeresults + setvar VAR_0x8004, TRAINER_TOWER_FUNC_CLOSE_RESULTS + special CallTrainerTowerFunc + .endm + + @ Returns the eligibility of the players party for a double battle (using GetMonsStateToDoubles) + .macro ttower_checkdoubles + setvar VAR_0x8004, TRAINER_TOWER_FUNC_CHECK_DOUBLES + special CallTrainerTowerFunc + .endm + + @ For the unused E-Reader challenges, gets the number of floors used. Otherwise returns FALSE (all floors used) + .macro ttower_getnumfloors + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_NUM_FLOORS + special CallTrainerTowerFunc + .endm + + @ Dummied, always returns FALSE + .macro ttower_shouldexit + setvar VAR_0x8004, TRAINER_TOWER_FUNC_SHOULD_WARP_TO_COUNTER + special CallTrainerTowerFunc + .endm + + @ Plays the encounter music for the trainer number in VAR_TEMP_1 + .macro ttower_encountermusic + setvar VAR_0x8004, TRAINER_TOWER_FUNC_ENCOUNTER_MUSIC + special CallTrainerTowerFunc + .endm + + @ TRUE if the player reached the Battle Tower owner, FALSE otherwise + .macro ttower_getbeatchallenge + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_BEAT_CHALLENGE + special CallTrainerTowerFunc + .endm diff --git a/asm/naming_screen.s b/asm/naming_screen.s deleted file mode 100644 index 105d156ce..000000000 --- a/asm/naming_screen.s +++ /dev/null @@ -1,4594 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start DoNamingScreen -DoNamingScreen: @ 809D954 - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r1 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r2, 16 - lsrs r5, r2, 16 - lsls r3, 16 - lsrs r6, r3, 16 - ldr r4, _0809D980 @ =gUnknown_203998C - movs r0, 0xF2 - lsls r0, 5 - bl Alloc - str r0, [r4] - cmp r0, 0 - bne _0809D984 - ldr r0, [sp, 0x1C] - bl SetMainCallback2 - b _0809D9BE - .align 2, 0 -_0809D980: .4byte gUnknown_203998C -_0809D984: - ldr r1, _0809D9C8 @ =0x00001e2c - adds r0, r1 - strb r7, [r0] - ldr r0, [r4] - ldr r2, _0809D9CC @ =0x00001e34 - adds r1, r0, r2 - strh r5, [r1] - adds r2, 0x2 - adds r1, r0, r2 - strh r6, [r1] - ldr r1, _0809D9D0 @ =0x00001e38 - adds r2, r0, r1 - ldr r1, [sp, 0x18] - str r1, [r2] - ldr r2, _0809D9D4 @ =0x00001e30 - adds r1, r0, r2 - mov r2, r8 - str r2, [r1] - ldr r1, _0809D9D8 @ =0x00001e3c - adds r0, r1 - ldr r2, [sp, 0x1C] - str r2, [r0] - cmp r7, 0 - bne _0809D9B8 - bl StartTimer1 -_0809D9B8: - ldr r0, _0809D9DC @ =c2_choose_name_or_words_screen - bl SetMainCallback2 -_0809D9BE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809D9C8: .4byte 0x00001e2c -_0809D9CC: .4byte 0x00001e34 -_0809D9D0: .4byte 0x00001e38 -_0809D9D4: .4byte 0x00001e30 -_0809D9D8: .4byte 0x00001e3c -_0809D9DC: .4byte c2_choose_name_or_words_screen - thumb_func_end DoNamingScreen - - thumb_func_start c2_choose_name_or_words_screen -c2_choose_name_or_words_screen: @ 809D9E0 - push {lr} - ldr r0, _0809D9FC @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x7 - bhi _0809DA78 - lsls r0, 2 - ldr r1, _0809DA00 @ =_0809DA04 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809D9FC: .4byte gMain -_0809DA00: .4byte _0809DA04 - .align 2, 0 -_0809DA04: - .4byte _0809DA24 - .4byte _0809DA2E - .4byte _0809DA34 - .4byte _0809DA3A - .4byte _0809DA44 - .4byte _0809DA4A - .4byte _0809DA50 - .4byte _0809DA56 -_0809DA24: - bl sub_809FB88 - bl sub_809DA84 - b _0809DA62 -_0809DA2E: - bl choose_name_or_words_screen_init_bgs - b _0809DA62 -_0809DA34: - bl ResetPaletteFade - b _0809DA62 -_0809DA3A: - bl ResetSpriteData - bl FreeAllSpritePalettes - b _0809DA62 -_0809DA44: - bl ResetTasks - b _0809DA62 -_0809DA4A: - bl choose_name_or_words_screen_apply_bg_pals - b _0809DA62 -_0809DA50: - bl choose_name_or_words_screen_load_bg_tile_patterns - b _0809DA62 -_0809DA56: - bl sub_809E898 - bl UpdatePaletteFade - bl sub_809FC34 -_0809DA62: - ldr r1, _0809DA74 @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0809DA80 - .align 2, 0 -_0809DA74: .4byte gMain -_0809DA78: - bl sub_809F8C0 - bl sub_809DD60 -_0809DA80: - pop {r0} - bx r0 - thumb_func_end c2_choose_name_or_words_screen - - thumb_func_start sub_809DA84 -sub_809DA84: @ 809DA84 - push {r4-r6,lr} - ldr r4, _0809DB3C @ =gUnknown_203998C - ldr r0, [r4] - ldr r1, _0809DB40 @ =0x00001e10 - adds r0, r1 - movs r2, 0 - strb r2, [r0] - ldr r1, [r4] - ldr r3, _0809DB44 @ =0x00001e18 - adds r0, r1, r3 - movs r5, 0 - strh r2, [r0] - ldr r6, _0809DB48 @ =0x00001e1a - adds r0, r1, r6 - strh r2, [r0] - ldr r0, _0809DB4C @ =0x00001e1c - adds r2, r1, r0 - movs r3, 0x1 - movs r0, 0x1 - strh r0, [r2] - adds r6, 0x4 - adds r2, r1, r6 - movs r0, 0x2 - strh r0, [r2] - movs r0, 0xF1 - lsls r0, 5 - adds r1, r0 - strb r5, [r1] - ldr r0, [r4] - ldr r1, _0809DB50 @ =0x00001e21 - adds r0, r1 - strb r3, [r0] - ldr r1, [r4] - ldr r5, _0809DB54 @ =0x00001e28 - adds r3, r1, r5 - ldr r2, _0809DB58 @ =gUnknown_83E248C - adds r6, 0xE - adds r0, r1, r6 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - str r0, [r3] - ldrb r0, [r0, 0x4] - ldr r2, _0809DB5C @ =0x00001e22 - adds r1, r2 - strb r0, [r1] - ldr r2, [r4] - adds r0, r2, r5 - ldr r0, [r0] - ldrb r1, [r0, 0x1] - lsls r1, 3 - movs r0, 0xF0 - subs r0, r1 - asrs r0, 1 - adds r0, 0x6 - ldr r3, _0809DB60 @ =0x00001e16 - adds r1, r2, r3 - strh r0, [r1] - ldr r6, _0809DB64 @ =gKeyRepeatStartDelay - ldrh r0, [r6] - ldr r1, _0809DB68 @ =0x00001e25 - adds r2, r1 - strb r0, [r2] - ldr r0, [r4] - movs r2, 0xC0 - lsls r2, 5 - adds r0, r2 - movs r1, 0xFF - movs r2, 0x10 - bl memset - ldr r1, [r4] - adds r5, r1, r5 - ldr r0, [r5] - ldrb r0, [r0] - cmp r0, 0 - beq _0809DB30 - movs r3, 0xC0 - lsls r3, 5 - adds r0, r1, r3 - ldr r2, _0809DB6C @ =0x00001e30 - adds r1, r2 - ldr r1, [r1] - bl StringCopy -_0809DB30: - movs r0, 0x10 - strh r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809DB3C: .4byte gUnknown_203998C -_0809DB40: .4byte 0x00001e10 -_0809DB44: .4byte 0x00001e18 -_0809DB48: .4byte 0x00001e1a -_0809DB4C: .4byte 0x00001e1c -_0809DB50: .4byte 0x00001e21 -_0809DB54: .4byte 0x00001e28 -_0809DB58: .4byte gUnknown_83E248C -_0809DB5C: .4byte 0x00001e22 -_0809DB60: .4byte 0x00001e16 -_0809DB64: .4byte gKeyRepeatStartDelay -_0809DB68: .4byte 0x00001e25 -_0809DB6C: .4byte 0x00001e30 - thumb_func_end sub_809DA84 - - thumb_func_start sub_809DB70 -sub_809DB70: @ 809DB70 - push {r4,r5,lr} - movs r3, 0 - ldr r4, _0809DBAC @ =gSprites - movs r5, 0x5 - negs r5, r5 -_0809DB7A: - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - adds r0, r4 - adds r2, r0, 0 - adds r2, 0x3E - ldrb r1, [r2] - lsls r0, r1, 31 - cmp r0, 0 - beq _0809DB94 - adds r0, r5, 0 - ands r0, r1 - strb r0, [r2] -_0809DB94: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3F - bls _0809DB7A - movs r0, 0 - bl sub_809EA0C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809DBAC: .4byte gSprites - thumb_func_end sub_809DB70 - - thumb_func_start choose_name_or_words_screen_init_bgs -choose_name_or_words_screen_init_bgs: @ 809DBB0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - add r0, sp, 0xC - mov r8, r0 - add r2, sp, 0x8 - movs r6, 0 - ldr r1, _0809DD44 @ =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, _0809DD48 @ =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_0809DBD6: - strh r6, [r2] - add r0, sp, 0x8 - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r5 - subs r4, r5 - cmp r4, r5 - bhi _0809DBD6 - strh r6, [r2] - add r2, sp, 0x8 - str r2, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp, 0xC] - ldr r2, _0809DD44 @ =0x040000d4 - mov r1, r8 - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xA0 - lsls r1, 19 - add r0, sp, 0x8 - strh r4, [r0] - str r0, [r2] - str r1, [r2, 0x4] - lsrs r3, 1 - movs r0, 0x81 - lsls r0, 24 - orrs r3, r0 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _0809DD4C @ =gUnknown_83E2290 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - bl InitStandardTextBoxWindows - bl ResetBg0 -_0809DCA4: - lsls r0, r4, 3 - ldr r1, _0809DD50 @ =gUnknown_83E22A0 - adds r0, r1 - bl AddWindow - ldr r5, _0809DD54 @ =gUnknown_203998C - ldr r1, [r5] - ldr r2, _0809DD58 @ =0x00001e11 - adds r1, r2 - adds r1, r4 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _0809DCA4 - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r1, 0xC8 - lsls r1, 3 - movs r0, 0x50 - bl SetGpuReg - ldr r1, _0809DD5C @ =0x0000080c - movs r0, 0x52 - bl SetGpuReg - ldr r1, [r5] - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r5] - movs r0, 0x80 - lsls r0, 4 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - ldr r1, [r5] - movs r2, 0x80 - lsls r2, 5 - adds r1, r2 - movs r0, 0x3 - bl SetBgTilemapBuffer - movs r4, 0x20 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809DD44: .4byte 0x040000d4 -_0809DD48: .4byte 0x81000800 -_0809DD4C: .4byte gUnknown_83E2290 -_0809DD50: .4byte gUnknown_83E22A0 -_0809DD54: .4byte gUnknown_203998C -_0809DD58: .4byte 0x00001e11 -_0809DD5C: .4byte 0x0000080c - thumb_func_end choose_name_or_words_screen_init_bgs - - thumb_func_start sub_809DD60 -sub_809DD60: @ 809DD60 - push {lr} - ldr r0, _0809DD80 @ =sub_809DD88 - movs r1, 0x2 - bl CreateTask - ldr r0, _0809DD84 @ =sub_809FB70 - bl SetMainCallback2 - bl HelpSystem_BackupSomeVariable - movs r0, 0x3 - bl HelpSystem_SetSomeVariable2 - pop {r0} - bx r0 - .align 2, 0 -_0809DD80: .4byte sub_809DD88 -_0809DD84: .4byte sub_809FB70 - thumb_func_end sub_809DD60 - - thumb_func_start sub_809DD88 -sub_809DD88: @ 809DD88 - push {lr} - ldr r0, _0809DDA4 @ =gUnknown_203998C - ldr r0, [r0] - ldr r1, _0809DDA8 @ =0x00001e10 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x9 - bhi _0809DE1A - lsls r0, 2 - ldr r1, _0809DDAC @ =_0809DDB0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809DDA4: .4byte gUnknown_203998C -_0809DDA8: .4byte 0x00001e10 -_0809DDAC: .4byte _0809DDB0 - .align 2, 0 -_0809DDB0: - .4byte _0809DDD8 - .4byte _0809DDE6 - .4byte _0809DDEC - .4byte _0809DDF2 - .4byte _0809DDF8 - .4byte _0809DDFE - .4byte _0809DE04 - .4byte _0809DE0A - .4byte _0809DE10 - .4byte _0809DE16 -_0809DDD8: - bl sub_809DE70 - bl sub_809DB70 - bl sub_809FB9C - b _0809DE1A -_0809DDE6: - bl sub_809DF28 - b _0809DE1A -_0809DDEC: - bl sub_809DF64 - b _0809DE1A -_0809DDF2: - bl sub_809DF74 - b _0809DE1A -_0809DDF8: - bl sub_809E210 - b _0809DE1A -_0809DDFE: - bl sub_809E250 - b _0809DE1A -_0809DE04: - bl pokemon_store - b _0809DE1A -_0809DE0A: - bl sub_809E1D4 - b _0809DE1A -_0809DE10: - bl sub_809E014 - b _0809DE1A -_0809DE16: - bl sub_809E048 -_0809DE1A: - pop {r0} - bx r0 - thumb_func_end sub_809DD88 - - thumb_func_start sub_809DE20 -sub_809DE20: @ 809DE20 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0809DE2C @ =gUnknown_83E234B - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0809DE2C: .4byte gUnknown_83E234B - thumb_func_end sub_809DE20 - - thumb_func_start sub_809DE30 -sub_809DE30: @ 809DE30 - ldr r1, _0809DE44 @ =gUnknown_83E234E - ldr r0, _0809DE48 @ =gUnknown_203998C - ldr r0, [r0] - ldr r2, _0809DE4C @ =0x00001e22 - adds r0, r2 - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0809DE44: .4byte gUnknown_83E234E -_0809DE48: .4byte gUnknown_203998C -_0809DE4C: .4byte 0x00001e22 - thumb_func_end sub_809DE30 - - thumb_func_start sub_809DE50 -sub_809DE50: @ 809DE50 - ldr r1, _0809DE64 @ =gUnknown_83E2351 - ldr r0, _0809DE68 @ =gUnknown_203998C - ldr r0, [r0] - ldr r2, _0809DE6C @ =0x00001e22 - adds r0, r2 - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0809DE64: .4byte gUnknown_83E2351 -_0809DE68: .4byte gUnknown_203998C -_0809DE6C: .4byte 0x00001e22 - thumb_func_end sub_809DE50 - - thumb_func_start sub_809DE70 -sub_809DE70: @ 809DE70 - push {r4-r6,lr} - sub sp, 0x4 - ldr r1, _0809DF08 @ =gUnknown_8E982BC - movs r0, 0x3 - bl sub_809F900 - ldr r5, _0809DF0C @ =gUnknown_203998C - ldr r0, [r5] - ldr r1, _0809DF10 @ =0x00001e22 - adds r0, r1 - movs r6, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r1, _0809DF14 @ =gUnknown_8E98458 - movs r0, 0x2 - bl sub_809F900 - ldr r1, _0809DF18 @ =gUnknown_8E98398 - movs r0, 0x1 - bl sub_809F900 - ldr r0, [r5] - ldr r1, _0809DF1C @ =0x00001e12 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_809F9E8 - ldr r0, [r5] - ldr r1, _0809DF20 @ =0x00001e11 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0x1 - bl sub_809F9E8 - bl sub_809F914 - bl sub_809F56C - bl sub_809FAE4 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - str r6, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, [r5] - ldr r0, _0809DF24 @ =0x00001e10 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0809DF08: .4byte gUnknown_8E982BC -_0809DF0C: .4byte gUnknown_203998C -_0809DF10: .4byte 0x00001e22 -_0809DF14: .4byte gUnknown_8E98458 -_0809DF18: .4byte gUnknown_8E98398 -_0809DF1C: .4byte 0x00001e12 -_0809DF20: .4byte 0x00001e11 -_0809DF24: .4byte 0x00001e10 - thumb_func_end sub_809DE70 - - thumb_func_start sub_809DF28 -sub_809DF28: @ 809DF28 - push {lr} - ldr r0, _0809DF58 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0809DF50 - movs r0, 0x1 - bl SetInputState - movs r0, 0x1 - bl sub_809EA64 - ldr r0, _0809DF5C @ =gUnknown_203998C - ldr r1, [r0] - ldr r0, _0809DF60 @ =0x00001e10 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0809DF50: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0809DF58: .4byte gPaletteFade -_0809DF5C: .4byte gUnknown_203998C -_0809DF60: .4byte 0x00001e10 - thumb_func_end sub_809DF28 - - thumb_func_start sub_809DF64 -sub_809DF64: @ 809DF64 - push {lr} - bl sub_809F0CC - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_809DF64 - - thumb_func_start sub_809DF74 -sub_809DF74: @ 809DF74 - push {lr} - bl sub_809EAD4 - lsls r0, 24 - cmp r0, 0 - beq _0809DF96 - movs r0, 0x1 - bl SetInputState - bl sub_809E9F8 - ldr r0, _0809DF9C @ =gUnknown_203998C - ldr r0, [r0] - ldr r1, _0809DFA0 @ =0x00001e10 - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] -_0809DF96: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0809DF9C: .4byte gUnknown_203998C -_0809DFA0: .4byte 0x00001e10 - thumb_func_end sub_809DF74 - - thumb_func_start pokemon_store -pokemon_store: @ 809DFA4 - push {r4,lr} - bl sub_809F7EC - movs r0, 0 - bl SetInputState - movs r0, 0 - bl sub_809EA64 - movs r0, 0x3 - movs r1, 0 - movs r2, 0x1 - bl sub_809E518 - ldr r4, _0809DFEC @ =gUnknown_203998C - ldr r0, [r4] - ldr r1, _0809DFF0 @ =0x00001e2c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x2 - bne _0809DFF8 - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bls _0809DFF8 - bl pokemon_transfer_to_pc_with_message - ldr r0, [r4] - ldr r1, _0809DFF4 @ =0x00001e10 - adds r0, r1 - movs r1, 0x7 - strb r1, [r0] - movs r0, 0 - b _0809E006 - .align 2, 0 -_0809DFEC: .4byte gUnknown_203998C -_0809DFF0: .4byte 0x00001e2c -_0809DFF4: .4byte 0x00001e10 -_0809DFF8: - ldr r0, _0809E00C @ =gUnknown_203998C - ldr r0, [r0] - ldr r1, _0809E010 @ =0x00001e10 - adds r0, r1 - movs r1, 0x8 - strb r1, [r0] - movs r0, 0x1 -_0809E006: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0809E00C: .4byte gUnknown_203998C -_0809E010: .4byte 0x00001e10 - thumb_func_end pokemon_store - - thumb_func_start sub_809E014 -sub_809E014: @ 809E014 - push {lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _0809E040 @ =gUnknown_203998C - ldr r1, [r0] - ldr r0, _0809E044 @ =0x00001e10 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 - add sp, 0x4 - pop {r1} - bx r1 - .align 2, 0 -_0809E040: .4byte gUnknown_203998C -_0809E044: .4byte 0x00001e10 - thumb_func_end sub_809E014 - - thumb_func_start sub_809E048 -sub_809E048: @ 809E048 - push {r4,r5,lr} - ldr r0, _0809E0A0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0809E096 - ldr r4, _0809E0A4 @ =gUnknown_203998C - ldr r0, [r4] - ldr r1, _0809E0A8 @ =0x00001e2c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0809E06C - bl SeedRngAndSetTrainerId -_0809E06C: - ldr r0, [r4] - ldr r1, _0809E0AC @ =0x00001e3c - adds r0, r1 - ldr r0, [r0] - bl SetMainCallback2 - ldr r0, _0809E0B0 @ =sub_809DD88 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl FreeAllWindowBuffers - ldr r0, [r4] - bl Free - str r5, [r4] - bl HelpSystem_RestoreSomeVariable -_0809E096: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0809E0A0: .4byte gPaletteFade -_0809E0A4: .4byte gUnknown_203998C -_0809E0A8: .4byte 0x00001e2c -_0809E0AC: .4byte 0x00001e3c -_0809E0B0: .4byte sub_809DD88 - thumb_func_end sub_809E048 - - thumb_func_start pokemon_transfer_to_pc_with_message -pokemon_transfer_to_pc_with_message: @ 809E0B4 - push {r4,r5,lr} - sub sp, 0x10 - movs r5, 0 - bl IsDestinationBoxFull - lsls r0, 24 - cmp r0, 0 - bne _0809E104 - ldr r4, _0809E0F0 @ =gStringVar1 - ldr r0, _0809E0F4 @ =0x00004037 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - ldr r0, _0809E0F8 @ =gStringVar2 - ldr r1, _0809E0FC @ =gUnknown_203998C - ldr r1, [r1] - ldr r2, _0809E100 @ =0x00001e30 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - b _0809E144 - .align 2, 0 -_0809E0F0: .4byte gStringVar1 -_0809E0F4: .4byte 0x00004037 -_0809E0F8: .4byte gStringVar2 -_0809E0FC: .4byte gUnknown_203998C -_0809E100: .4byte 0x00001e30 -_0809E104: - ldr r4, _0809E1AC @ =gStringVar1 - ldr r0, _0809E1B0 @ =0x00004037 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - ldr r0, _0809E1B4 @ =gStringVar2 - ldr r1, _0809E1B8 @ =gUnknown_203998C - ldr r1, [r1] - ldr r2, _0809E1BC @ =0x00001e30 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - ldr r4, _0809E1C0 @ =gStringVar3 - bl GetPCBoxToSendMon - lsls r0, 24 - lsrs r0, 24 - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - movs r5, 0x2 -_0809E144: - ldr r0, _0809E1C4 @ =0x00000834 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0809E156 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0809E156: - ldr r4, _0809E1C8 @ =gStringVar4 - ldr r1, _0809E1CC @ =gUnknown_83E2280 - lsls r0, r5, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - movs r1, 0 - bl DrawDialogueFrame - ldr r2, _0809E1D0 @ =gTextFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - bl GetTextSpeedSetting - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x2 - adds r2, r4, 0 - bl AddTextPrinterParameterized2 - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809E1AC: .4byte gStringVar1 -_0809E1B0: .4byte 0x00004037 -_0809E1B4: .4byte gStringVar2 -_0809E1B8: .4byte gUnknown_203998C -_0809E1BC: .4byte 0x00001e30 -_0809E1C0: .4byte gStringVar3 -_0809E1C4: .4byte 0x00000834 -_0809E1C8: .4byte gStringVar4 -_0809E1CC: .4byte gUnknown_83E2280 -_0809E1D0: .4byte gTextFlags - thumb_func_end pokemon_transfer_to_pc_with_message - - thumb_func_start sub_809E1D4 -sub_809E1D4: @ 809E1D4 - push {lr} - bl RunTextPrinters - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _0809E1FE - ldr r0, _0809E204 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809E1FE - ldr r0, _0809E208 @ =gUnknown_203998C - ldr r0, [r0] - ldr r1, _0809E20C @ =0x00001e10 - adds r0, r1 - movs r1, 0x8 - strb r1, [r0] -_0809E1FE: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0809E204: .4byte gMain -_0809E208: .4byte gUnknown_203998C -_0809E20C: .4byte 0x00001e10 - thumb_func_end sub_809E1D4 - - thumb_func_start sub_809E210 -sub_809E210: @ 809E210 - push {lr} - movs r0, 0 - bl SetInputState - bl sub_809EC20 - bl sub_809E30C - movs r0, 0x1 - bl sub_809EA0C - movs r0, 0 - movs r1, 0 - movs r2, 0x1 - bl sub_809E518 - movs r0, 0x6 - bl PlaySE - ldr r0, _0809E248 @ =gUnknown_203998C - ldr r0, [r0] - ldr r1, _0809E24C @ =0x00001e10 - adds r0, r1 - movs r1, 0x5 - strb r1, [r0] - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0809E248: .4byte gUnknown_203998C -_0809E24C: .4byte 0x00001e10 - thumb_func_end sub_809E210 - - thumb_func_start sub_809E250 -sub_809E250: @ 809E250 - push {r4-r6,lr} - sub sp, 0x4 - bl sub_809E364 - lsls r0, 24 - cmp r0, 0 - beq _0809E302 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl sub_809E9CC - bl sub_809EB40 - movs r5, 0 - mov r1, sp - movs r2, 0 - ldrsh r1, [r1, r2] - lsls r0, 24 - lsrs r0, 24 - adds r6, r4, 0 - cmp r1, r0 - bne _0809E282 - movs r5, 0x1 -_0809E282: - ldr r2, _0809E2B8 @ =gUnknown_203998C - ldr r0, [r2] - ldr r1, _0809E2BC @ =0x00001e10 - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] - ldr r1, [r2] - ldr r3, _0809E2C0 @ =0x00001e22 - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r4, [r2] - adds r4, r3 - ldrb r0, [r4] - movs r1, 0x3 - bl __umodsi3 - strb r0, [r4] - cmp r5, 0 - beq _0809E2C4 - mov r4, sp - bl sub_809EB40 - lsls r0, 24 - lsrs r0, 24 - b _0809E2E2 - .align 2, 0 -_0809E2B8: .4byte gUnknown_203998C -_0809E2BC: .4byte 0x00001e10 -_0809E2C0: .4byte 0x00001e22 -_0809E2C4: - mov r0, sp - movs r2, 0 - ldrsh r4, [r0, r2] - bl sub_809EB40 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - blt _0809E2E4 - mov r4, sp - bl sub_809EB40 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 -_0809E2E2: - strh r0, [r4] -_0809E2E4: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r6, r2] - bl sub_809E948 - bl sub_809FA60 - movs r0, 0x1 - bl SetInputState - movs r0, 0 - bl sub_809EA0C -_0809E302: - movs r0, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_809E250 - - thumb_func_start sub_809E30C -sub_809E30C: @ 809E30C - push {r4,lr} - ldr r4, _0809E328 @ =sub_809E32C - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809E328: .4byte sub_809E32C - thumb_func_end sub_809E30C - - thumb_func_start sub_809E32C -sub_809E32C: @ 809E32C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _0809E35C @ =gUnknown_83E2354 - ldr r2, _0809E360 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0809E33E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0809E33E - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809E35C: .4byte gUnknown_83E2354 -_0809E360: .4byte gTasks - thumb_func_end sub_809E32C - - thumb_func_start sub_809E364 -sub_809E364: @ 809E364 - push {lr} - ldr r0, _0809E378 @ =sub_809E32C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0809E37C - movs r0, 0 - b _0809E37E - .align 2, 0 -_0809E378: .4byte sub_809E32C -_0809E37C: - movs r0, 0x1 -_0809E37E: - pop {r1} - bx r1 - thumb_func_end sub_809E364 - - thumb_func_start sub_809E384 -sub_809E384: @ 809E384 - ldr r1, _0809E3A0 @ =gUnknown_203998C - ldr r1, [r1] - ldr r3, _0809E3A4 @ =0x00001e18 - adds r2, r1, r3 - movs r3, 0 - strh r3, [r2] - ldr r2, _0809E3A8 @ =0x00001e1a - adds r1, r2 - strh r3, [r1] - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - movs r0, 0 - bx lr - .align 2, 0 -_0809E3A0: .4byte gUnknown_203998C -_0809E3A4: .4byte 0x00001e18 -_0809E3A8: .4byte 0x00001e1a - thumb_func_end sub_809E384 - - thumb_func_start sub_809E3AC -sub_809E3AC: @ 809E3AC - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r5, _0809E42C @ =gUnknown_203998C - ldr r0, [r5] - ldr r2, _0809E430 @ =0x00001e1a - adds r1, r0, r2 - str r1, [sp] - ldr r1, _0809E434 @ =0x00001e18 - adds r0, r1 - str r0, [sp, 0x4] - ldrh r0, [r4, 0xA] - adds r0, 0x4 - strh r0, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - movs r1, 0x28 - bl Sin - ldr r1, [r5] - movs r2, 0xF1 - lsls r2, 5 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 2 - add r1, sp - ldr r1, [r1] - strh r0, [r1] - ldrh r0, [r4, 0xA] - adds r0, 0x80 - movs r1, 0xFF - ands r0, r1 - movs r1, 0x28 - bl Sin - ldr r1, [r5] - ldr r2, _0809E438 @ =0x00001e21 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 2 - add r1, sp - ldr r1, [r1] - strh r0, [r1] - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x3F - ble _0809E422 - ldr r0, [r5] - ldr r1, _0809E43C @ =0x00001e1c - adds r2, r0, r1 - ldrb r3, [r2] - adds r1, 0x2 - adds r0, r1 - ldrh r1, [r0] - strh r1, [r2] - strh r3, [r0] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0809E422: - movs r0, 0 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0809E42C: .4byte gUnknown_203998C -_0809E430: .4byte 0x00001e1a -_0809E434: .4byte 0x00001e18 -_0809E438: .4byte 0x00001e21 -_0809E43C: .4byte 0x00001e1c - thumb_func_end sub_809E3AC - - thumb_func_start sub_809E440 -sub_809E440: @ 809E440 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r5, _0809E4C4 @ =gUnknown_203998C - ldr r0, [r5] - ldr r2, _0809E4C8 @ =0x00001e1a - adds r1, r0, r2 - str r1, [sp] - ldr r3, _0809E4CC @ =0x00001e18 - adds r0, r3 - str r0, [sp, 0x4] - ldrh r0, [r4, 0xA] - adds r0, 0x4 - strh r0, [r4, 0xA] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r1, 0x28 - bl Sin - ldr r1, [r5] - movs r2, 0xF1 - lsls r2, 5 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 2 - add r1, sp - ldr r1, [r1] - strh r0, [r1] - ldrh r0, [r4, 0xA] - adds r0, 0x80 - movs r1, 0xFF - ands r0, r1 - movs r1, 0x28 - bl Sin - ldr r1, [r5] - ldr r3, _0809E4D0 @ =0x00001e21 - adds r1, r3 - ldrb r1, [r1] - lsls r1, 2 - add r1, sp - ldr r1, [r1] - strh r0, [r1] - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x7F - ble _0809E4BA - ldr r0, [r5] - movs r2, 0xF1 - lsls r2, 5 - adds r1, r0, r2 - ldrb r2, [r1] - adds r0, r3 - ldrb r0, [r0] - strb r0, [r1] - ldr r0, [r5] - adds r0, r3 - strb r2, [r0] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0809E4BA: - movs r0, 0 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0809E4C4: .4byte gUnknown_203998C -_0809E4C8: .4byte 0x00001e1a -_0809E4CC: .4byte 0x00001e18 -_0809E4D0: .4byte 0x00001e21 - thumb_func_end sub_809E440 - - thumb_func_start sub_809E4D4 -sub_809E4D4: @ 809E4D4 - push {lr} - ldr r0, _0809E4EC @ =sub_809E32C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0809E4EC: .4byte sub_809E32C - thumb_func_end sub_809E4D4 - - thumb_func_start sub_809E4F0 -sub_809E4F0: @ 809E4F0 - push {lr} - ldr r0, _0809E510 @ =c3_0809E58C - movs r1, 0x3 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0809E514 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x3 - strh r0, [r1, 0x8] - pop {r0} - bx r0 - .align 2, 0 -_0809E510: .4byte c3_0809E58C -_0809E514: .4byte gTasks - thumb_func_end sub_809E4F0 - - thumb_func_start sub_809E518 -sub_809E518: @ 809E518 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r0, _0809E550 @ =c3_0809E58C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0809E554 @ =gTasks - adds r4, r1, r0 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r5, r0 - bne _0809E558 - cmp r6, 0 - bne _0809E558 - strh r7, [r4, 0xA] - movs r0, 0x1 - strh r0, [r4, 0xC] - b _0809E584 - .align 2, 0 -_0809E550: .4byte c3_0809E58C -_0809E554: .4byte gTasks -_0809E558: - cmp r5, 0x3 - bne _0809E568 - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0809E568 - cmp r6, 0 - beq _0809E584 -_0809E568: - ldrh r1, [r4, 0x8] - movs r2, 0x8 - ldrsh r0, [r4, r2] - cmp r0, 0x3 - beq _0809E57A - lsls r0, r1, 24 - lsrs r0, 24 - bl sub_809E6B8 -_0809E57A: - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r7, 0 - bl sub_809E6E0 -_0809E584: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809E518 - - thumb_func_start c3_0809E58C -c3_0809E58C: @ 809E58C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0809E5F4 @ =gTasks - adds r4, r1, r0 - ldrh r1, [r4, 0x8] - movs r2, 0x8 - ldrsh r0, [r4, r2] - cmp r0, 0x3 - beq _0809E63E - movs r3, 0xC - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _0809E63E - lsls r0, r1, 24 - lsrs r0, 24 - bl sub_809E644 - lsls r0, 16 - lsrs r0, 16 - ldrb r3, [r4, 0xE] - adds r1, r3, 0 - adds r2, r3, 0 - bl MultiplyInvertedPaletteRGBComponents - ldrh r1, [r4, 0x12] - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0809E5D8 - subs r0, r1, 0x1 - strh r0, [r4, 0x12] - lsls r0, 16 - cmp r0, 0 - bne _0809E63E -_0809E5D8: - movs r0, 0x2 - strh r0, [r4, 0x12] - ldrh r1, [r4, 0x10] - movs r3, 0x10 - ldrsh r0, [r4, r3] - cmp r0, 0 - blt _0809E602 - ldrh r2, [r4, 0xE] - movs r3, 0xE - ldrsh r0, [r4, r3] - cmp r0, 0xD - bgt _0809E5F8 - adds r0, r2, r1 - b _0809E606 - .align 2, 0 -_0809E5F4: .4byte gTasks -_0809E5F8: - movs r0, 0x10 - strh r0, [r4, 0xE] - ldrh r0, [r4, 0x14] - adds r0, 0x1 - b _0809E60C -_0809E602: - ldrh r3, [r4, 0xE] - adds r0, r1, r3 -_0809E606: - strh r0, [r4, 0xE] - ldrh r2, [r4, 0x14] - adds r0, r1, r2 -_0809E60C: - strh r0, [r4, 0x14] - movs r3, 0xE - ldrsh r0, [r4, r3] - ldrh r1, [r4, 0xE] - cmp r0, 0x10 - bne _0809E62C - movs r2, 0x14 - ldrsh r0, [r4, r2] - cmp r0, 0x16 - bne _0809E62C - ldr r0, _0809E628 @ =0x0000fffc - strh r0, [r4, 0x10] - b _0809E63E - .align 2, 0 -_0809E628: .4byte 0x0000fffc -_0809E62C: - lsls r0, r1, 16 - asrs r1, r0, 16 - cmp r1, 0 - bne _0809E63E - ldrh r0, [r4, 0xA] - strh r0, [r4, 0xC] - movs r0, 0x2 - strh r0, [r4, 0x10] - strh r1, [r4, 0x14] -_0809E63E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end c3_0809E58C - - thumb_func_start sub_809E644 -sub_809E644: @ 809E644 - push {r4-r6,lr} - sub sp, 0x10 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x4 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - movs r1, 0x87 - lsls r1, 1 - adds r5, r1, 0 - adds r0, r5 - add r6, sp, 0x8 - strh r0, [r6] - movs r0, 0x6 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - adds r0, r5 - mov r1, sp - adds r1, 0xA - strh r0, [r1] - movs r0, 0x7 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - adds r0, r5 - add r1, sp, 0xC - strh r0, [r1] - movs r0, 0x7 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - ldr r1, _0809E6B4 @ =0x00000101 - adds r0, r1 - mov r1, sp - adds r1, 0xE - strh r0, [r1] - mov r0, sp - adds r1, r6, 0 - movs r2, 0x8 - bl memcpy - lsls r4, 1 - mov r1, sp - adds r0, r1, r4 - ldrh r0, [r0] - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0809E6B4: .4byte 0x00000101 - thumb_func_end sub_809E644 - - thumb_func_start sub_809E6B8 -sub_809E6B8: @ 809E6B8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_809E644 - lsls r0, 16 - ldr r2, _0809E6D8 @ =gPlttBufferFaded - lsrs r0, 15 - adds r2, r0, r2 - ldr r1, _0809E6DC @ =gPlttBufferUnfaded - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - pop {r0} - bx r0 - .align 2, 0 -_0809E6D8: .4byte gPlttBufferFaded -_0809E6DC: .4byte gPlttBufferUnfaded - thumb_func_end sub_809E6B8 - - thumb_func_start sub_809E6E0 -sub_809E6E0: @ 809E6E0 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - movs r3, 0 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - movs r1, 0x1 - strh r1, [r0, 0xC] - movs r2, 0x4 - strh r2, [r0, 0xE] - movs r1, 0x2 - strh r1, [r0, 0x10] - strh r3, [r0, 0x12] - strh r2, [r0, 0x14] - bx lr - thumb_func_end sub_809E6E0 - - thumb_func_start sub_809E700 -sub_809E700: @ 809E700 - push {r4-r6,lr} - adds r5, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0809E718 - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAnim -_0809E718: - ldrh r0, [r5, 0x36] - movs r1, 0xFF - ands r1, r0 - adds r6, r5, 0 - adds r6, 0x3E - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r6] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6] - movs r0, 0x2E - ldrsh r4, [r5, r0] - bl sub_809EB40 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _0809E74C - ldrb r0, [r6] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r6] -_0809E74C: - ldrb r1, [r6] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _0809E77C - movs r1, 0x36 - ldrsh r0, [r5, r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _0809E77C - movs r2, 0x2E - ldrsh r1, [r5, r2] - movs r2, 0x32 - ldrsh r0, [r5, r2] - cmp r1, r0 - bne _0809E77C - movs r0, 0x30 - ldrsh r1, [r5, r0] - movs r2, 0x34 - ldrsh r0, [r5, r2] - cmp r1, r0 - beq _0809E786 -_0809E77C: - movs r0, 0 - strh r0, [r5, 0x38] - movs r0, 0x2 - strh r0, [r5, 0x3A] - strh r0, [r5, 0x3C] -_0809E786: - ldrh r0, [r5, 0x3C] - subs r0, 0x1 - strh r0, [r5, 0x3C] - lsls r0, 16 - cmp r0, 0 - bne _0809E7AE - ldrh r1, [r5, 0x3A] - ldrh r2, [r5, 0x38] - adds r0, r1, r2 - strh r0, [r5, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - beq _0809E7A6 - cmp r0, 0 - bne _0809E7AA -_0809E7A6: - negs r0, r1 - strh r0, [r5, 0x3A] -_0809E7AA: - movs r0, 0x2 - strh r0, [r5, 0x3C] -_0809E7AE: - movs r1, 0x36 - ldrsh r0, [r5, r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _0809E7E4 - ldrh r4, [r5, 0x38] - lsls r5, r4, 24 - lsrs r5, 24 - lsls r4, 16 - asrs r4, 17 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 4 - ldr r2, _0809E7EC @ =0x01010000 - adds r0, r2 - lsrs r0, 16 - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r5, 0 - bl MultiplyInvertedPaletteRGBComponents -_0809E7E4: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809E7EC: .4byte 0x01010000 - thumb_func_end sub_809E700 - - thumb_func_start sub_809E7F0 -sub_809E7F0: @ 809E7F0 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r1, _0809E838 @ =gUnknown_83E2364 - mov r0, sp - movs r2, 0x8 - bl memcpy - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0809E814 - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _0809E822 -_0809E814: - movs r0, 0x8 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - strh r0, [r4, 0x30] -_0809E822: - movs r1, 0x30 - ldrsh r0, [r4, r1] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x24] - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809E838: .4byte gUnknown_83E2364 - thumb_func_end sub_809E7F0 - - thumb_func_start sub_809E83C -sub_809E83C: @ 809E83C - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r1, _0809E864 @ =gUnknown_83E236C - mov r0, sp - movs r2, 0x8 - bl memcpy - bl sub_809F668 - lsls r0, 24 - ldrh r1, [r4, 0x2E] - lsls r1, 24 - cmp r0, r1 - beq _0809E868 - movs r0, 0 - strh r0, [r4, 0x26] - strh r0, [r4, 0x30] - b _0809E88E - .align 2, 0 -_0809E864: .4byte gUnknown_83E236C -_0809E868: - movs r1, 0x30 - ldrsh r0, [r4, r1] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _0809E890 - ldrh r0, [r4, 0x30] - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - strh r0, [r4, 0x30] - movs r0, 0 -_0809E88E: - strh r0, [r4, 0x32] -_0809E890: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_809E83C - - thumb_func_start sub_809E898 -sub_809E898: @ 809E898 - push {lr} - bl sub_809E8B4 - bl sub_809EB5C - bl sub_809EDE8 - bl sub_809EE60 - bl sub_809EF24 - pop {r0} - bx r0 - thumb_func_end sub_809E898 - - thumb_func_start sub_809E8B4 -sub_809E8B4: @ 809E8B4 - push {r4-r6,lr} - ldr r0, _0809E938 @ =gUnknown_83E25EC - movs r1, 0x26 - movs r2, 0x58 - movs r3, 0x1 - bl CreateSprite - ldr r5, _0809E93C @ =gUnknown_203998C - ldr r1, [r5] - ldr r4, _0809E940 @ =0x00001e23 - adds r1, r4 - strb r0, [r1] - movs r0, 0x1 - bl sub_809EA0C - ldr r6, _0809E944 @ =gSprites - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r3, [r1, 0x5] - movs r2, 0xD - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - movs r3, 0x4 - orrs r0, r3 - strb r0, [r1, 0x5] - ldr r0, [r5] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0, 0x1] - ands r2, r1 - orrs r2, r3 - strb r2, [r0, 0x1] - ldr r2, [r5] - adds r2, r4 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x1 - strh r1, [r0, 0x3A] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x2 - strh r1, [r0, 0x3A] - movs r0, 0 - movs r1, 0 - bl sub_809E948 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809E938: .4byte gUnknown_83E25EC -_0809E93C: .4byte gUnknown_203998C -_0809E940: .4byte 0x00001e23 -_0809E944: .4byte gSprites - thumb_func_end sub_809E8B4 - - thumb_func_start sub_809E948 -sub_809E948: @ 809E948 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsls r1, 16 - lsrs r7, r1, 16 - ldr r1, _0809E994 @ =gUnknown_203998C - ldr r1, [r1] - ldr r2, _0809E998 @ =0x00001e23 - adds r1, r2 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r2, _0809E99C @ =gSprites - adds r5, r1, r2 - lsrs r1, r0, 16 - mov r8, r1 - asrs r6, r0, 16 - ldr r4, _0809E9A0 @ =gUnknown_83E2330 - bl sub_809DE50 - lsls r0, 24 - lsrs r0, 24 - adds r0, r4 - ldrb r0, [r0] - cmp r6, r0 - bge _0809E9A8 - bl sub_809DE50 - ldr r1, _0809E9A4 @ =gUnknown_83E2333 - lsls r0, 24 - lsrs r0, 21 - adds r0, r6, r0 - adds r0, r1 - ldrb r0, [r0] - adds r0, 0x26 - b _0809E9AA - .align 2, 0 -_0809E994: .4byte gUnknown_203998C -_0809E998: .4byte 0x00001e23 -_0809E99C: .4byte gSprites -_0809E9A0: .4byte gUnknown_83E2330 -_0809E9A4: .4byte gUnknown_83E2333 -_0809E9A8: - movs r0, 0 -_0809E9AA: - strh r0, [r5, 0x20] - lsls r0, r7, 16 - asrs r0, 12 - adds r0, 0x58 - strh r0, [r5, 0x22] - ldrh r0, [r5, 0x2E] - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x30] - strh r0, [r5, 0x34] - mov r2, r8 - strh r2, [r5, 0x2E] - strh r7, [r5, 0x30] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809E948 - - thumb_func_start sub_809E9CC -sub_809E9CC: @ 809E9CC - ldr r2, _0809E9EC @ =gUnknown_203998C - ldr r2, [r2] - ldr r3, _0809E9F0 @ =0x00001e23 - adds r2, r3 - ldrb r3, [r2] - lsls r2, r3, 4 - adds r2, r3 - lsls r2, 2 - ldr r3, _0809E9F4 @ =gSprites - adds r2, r3 - ldrh r3, [r2, 0x2E] - strh r3, [r0] - ldrh r0, [r2, 0x30] - strh r0, [r1] - bx lr - .align 2, 0 -_0809E9EC: .4byte gUnknown_203998C -_0809E9F0: .4byte 0x00001e23 -_0809E9F4: .4byte gSprites - thumb_func_end sub_809E9CC - - thumb_func_start sub_809E9F8 -sub_809E9F8: @ 809E9F8 - push {lr} - bl sub_809EB40 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_809E948 - pop {r0} - bx r0 - thumb_func_end sub_809E9F8 - - thumb_func_start sub_809EA0C -sub_809EA0C: @ 809EA0C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _0809EA54 @ =gSprites - ldr r1, _0809EA58 @ =gUnknown_203998C - ldr r4, [r1] - ldr r1, _0809EA5C @ =0x00001e23 - adds r4, r1 - ldrb r1, [r4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r5 - ldrh r3, [r2, 0x36] - ldr r1, _0809EA60 @ =0xffffff00 - ands r1, r3 - strh r1, [r2, 0x36] - ldrb r2, [r4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - ldrh r2, [r1, 0x36] - orrs r0, r2 - strh r0, [r1, 0x36] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0 - bl StartSpriteAnim - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809EA54: .4byte gSprites -_0809EA58: .4byte gUnknown_203998C -_0809EA5C: .4byte 0x00001e23 -_0809EA60: .4byte 0xffffff00 - thumb_func_end sub_809EA0C - - thumb_func_start sub_809EA64 -sub_809EA64: @ 809EA64 - push {r4,r5,lr} - lsls r0, 24 - ldr r5, _0809EA9C @ =gSprites - ldr r1, _0809EAA0 @ =gUnknown_203998C - ldr r4, [r1] - ldr r1, _0809EAA4 @ =0x00001e23 - adds r4, r1 - ldrb r1, [r4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r5 - ldrh r3, [r2, 0x36] - movs r1, 0xFF - ands r1, r3 - strh r1, [r2, 0x36] - ldrb r2, [r4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - lsrs r0, 16 - ldrh r2, [r1, 0x36] - orrs r0, r2 - strh r0, [r1, 0x36] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809EA9C: .4byte gSprites -_0809EAA0: .4byte gUnknown_203998C -_0809EAA4: .4byte 0x00001e23 - thumb_func_end sub_809EA64 - - thumb_func_start sub_809EAA8 -sub_809EAA8: @ 809EAA8 - push {lr} - ldr r0, _0809EAC8 @ =gUnknown_203998C - ldr r0, [r0] - ldr r1, _0809EACC @ =0x00001e23 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0809EAD0 @ =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - pop {r0} - bx r0 - .align 2, 0 -_0809EAC8: .4byte gUnknown_203998C -_0809EACC: .4byte 0x00001e23 -_0809EAD0: .4byte gSprites - thumb_func_end sub_809EAA8 - - thumb_func_start sub_809EAD4 -sub_809EAD4: @ 809EAD4 - ldr r2, _0809EAF4 @ =gSprites - ldr r0, _0809EAF8 @ =gUnknown_203998C - ldr r0, [r0] - ldr r1, _0809EAFC @ =0x00001e23 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - lsrs r0, 31 - bx lr - .align 2, 0 -_0809EAF4: .4byte gSprites -_0809EAF8: .4byte gUnknown_203998C -_0809EAFC: .4byte 0x00001e23 - thumb_func_end sub_809EAD4 - - thumb_func_start sub_809EB00 -sub_809EB00: @ 809EB00 - push {r4,r5,lr} - sub sp, 0x4 - mov r5, sp - adds r5, 0x2 - mov r0, sp - adds r1, r5, 0 - bl sub_809E9CC - mov r0, sp - movs r1, 0 - ldrsh r4, [r0, r1] - bl sub_809EB40 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - blt _0809EB34 - ldr r0, _0809EB30 @ =gUnknown_83E2374 - movs r2, 0 - ldrsh r1, [r5, r2] - adds r1, r0 - ldrb r0, [r1] - b _0809EB36 - .align 2, 0 -_0809EB30: .4byte gUnknown_83E2374 -_0809EB34: - movs r0, 0 -_0809EB36: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_809EB00 - - thumb_func_start sub_809EB40 -sub_809EB40: @ 809EB40 - push {r4,lr} - ldr r4, _0809EB58 @ =gUnknown_83E2330 - bl sub_809DE50 - lsls r0, 24 - lsrs r0, 24 - adds r0, r4 - ldrb r0, [r0] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0809EB58: .4byte gUnknown_83E2330 - thumb_func_end sub_809EB40 - - thumb_func_start sub_809EB5C -sub_809EB5C: @ 809EB5C - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r0, _0809EC00 @ =gUnknown_83E2574 - movs r1, 0xCC - movs r2, 0x58 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0809EC04 @ =gUnknown_203998C - ldr r1, [r1] - ldr r2, _0809EC08 @ =0x00001e24 - adds r1, r2 - strb r0, [r1] - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - ldr r0, _0809EC0C @ =gSprites - mov r8, r0 - add r5, r8 - ldr r1, _0809EC10 @ =gUnknown_83E2504 - adds r0, r5, 0 - bl SetSubspriteTables - adds r1, r5, 0 - adds r1, 0x3E - ldrb r0, [r1] - movs r6, 0x4 - orrs r0, r6 - strb r0, [r1] - ldr r0, _0809EC14 @ =gUnknown_83E25A4 - movs r1, 0xCC - movs r2, 0x54 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x3A] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - add r4, r8 - ldr r1, _0809EC18 @ =gUnknown_83E250C - adds r0, r4, 0 - bl SetSubspriteTables - adds r4, 0x3E - ldrb r0, [r4] - orrs r0, r6 - strb r0, [r4] - ldr r0, _0809EC1C @ =gUnknown_83E258C - movs r1, 0xCC - movs r2, 0x53 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - add r2, r8 - ldrb r3, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r6 - strb r1, [r2, 0x5] - strh r0, [r5, 0x3C] - adds r2, 0x3E - ldrb r0, [r2] - orrs r0, r6 - strb r0, [r2] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809EC00: .4byte gUnknown_83E2574 -_0809EC04: .4byte gUnknown_203998C -_0809EC08: .4byte 0x00001e24 -_0809EC0C: .4byte gSprites -_0809EC10: .4byte gUnknown_83E2504 -_0809EC14: .4byte gUnknown_83E25A4 -_0809EC18: .4byte gUnknown_83E250C -_0809EC1C: .4byte gUnknown_83E258C - thumb_func_end sub_809EB5C - - thumb_func_start sub_809EC20 -sub_809EC20: @ 809EC20 - ldr r0, _0809EC44 @ =gUnknown_203998C - ldr r2, [r0] - ldr r1, _0809EC48 @ =0x00001e24 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0809EC4C @ =gSprites - adds r0, r1 - movs r1, 0x2 - strh r1, [r0, 0x2E] - ldr r1, _0809EC50 @ =0x00001e22 - adds r2, r1 - ldrb r1, [r2] - strh r1, [r0, 0x30] - bx lr - .align 2, 0 -_0809EC44: .4byte gUnknown_203998C -_0809EC48: .4byte 0x00001e24 -_0809EC4C: .4byte gSprites -_0809EC50: .4byte 0x00001e22 - thumb_func_end sub_809EC20 - - thumb_func_start sub_809EC54 -sub_809EC54: @ 809EC54 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _0809EC78 @ =gUnknown_83E2378 -_0809EC5A: - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0809EC5A - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809EC78: .4byte gUnknown_83E2378 - thumb_func_end sub_809EC54 - - thumb_func_start sub_809EC7C -sub_809EC7C: @ 809EC7C - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x3A - ldrsh r0, [r6, r1] - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - ldr r1, _0809ECC4 @ =gSprites - adds r5, r1 - movs r2, 0x3C - ldrsh r0, [r6, r2] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r4, r1 - ldr r0, _0809ECC8 @ =gUnknown_203998C - ldr r0, [r0] - ldr r1, _0809ECCC @ =0x00001e22 - adds r0, r1 - ldrb r0, [r0] - bl sub_809DE20 - lsls r0, 24 - lsrs r0, 24 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_809ED88 - ldrh r0, [r6, 0x2E] - adds r0, 0x1 - strh r0, [r6, 0x2E] - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0809ECC4: .4byte gSprites -_0809ECC8: .4byte gUnknown_203998C -_0809ECCC: .4byte 0x00001e22 - thumb_func_end sub_809EC7C - - thumb_func_start sub_809ECD0 -sub_809ECD0: @ 809ECD0 - movs r0, 0 - bx lr - thumb_func_end sub_809ECD0 - - thumb_func_start sub_809ECD4 -sub_809ECD4: @ 809ECD4 - push {r4,r5,lr} - adds r3, r0, 0 - movs r0, 0x3A - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r2, _0809ED40 @ =gSprites - adds r4, r0, r2 - movs r0, 0x3C - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r5, r0, r2 - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _0809ED38 - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - ldr r0, _0809ED44 @ =0x0000fffc - strh r0, [r4, 0x26] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r3, 0x30] - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 - movs r1, 0x3 - bl __modsi3 - lsls r0, 24 - lsrs r0, 24 - bl sub_809DE20 - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_809ED88 -_0809ED38: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0809ED40: .4byte gSprites -_0809ED44: .4byte 0x0000fffc - thumb_func_end sub_809ECD4 - - thumb_func_start sub_809ED48 -sub_809ED48: @ 809ED48 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x3A - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0809ED84 @ =gSprites - adds r2, r0, r1 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - ldrh r0, [r2, 0x26] - adds r0, 0x1 - strh r0, [r2, 0x26] - lsls r0, 16 - cmp r0, 0 - blt _0809ED7C - movs r0, 0 - strh r0, [r2, 0x26] - movs r0, 0x1 - strh r0, [r4, 0x2E] -_0809ED7C: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0809ED84: .4byte gSprites - thumb_func_end sub_809ED48 - - thumb_func_start sub_809ED88 -sub_809ED88: @ 809ED88 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - adds r6, r1, 0 - mov r8, r2 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _0809EDE0 @ =gUnknown_83E2388 - lsls r4, r5, 1 - adds r0, r4, r0 - ldrh r0, [r0] - bl IndexOfSpritePaletteTag - lsls r0, 4 - mov r1, r8 - ldrb r2, [r1, 0x5] - movs r1, 0xF - ands r1, r2 - orrs r1, r0 - mov r0, r8 - strb r1, [r0, 0x5] - ldr r0, _0809EDE4 @ =gUnknown_83E238E - adds r4, r0 - ldrh r0, [r4] - bl GetSpriteTileStartByTag - adds r1, r6, 0 - adds r1, 0x40 - strh r0, [r1] - adds r6, 0x42 - movs r1, 0x3F - ands r1, r5 - ldrb r2, [r6] - movs r0, 0x40 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809EDE0: .4byte gUnknown_83E2388 -_0809EDE4: .4byte gUnknown_83E238E - thumb_func_end sub_809ED88 - - thumb_func_start sub_809EDE8 -sub_809EDE8: @ 809EDE8 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r0, _0809EE50 @ =gUnknown_83E25BC - movs r1, 0xCC - movs r2, 0x74 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r6, _0809EE54 @ =gSprites - adds r4, r6 - ldr r0, _0809EE58 @ =gUnknown_83E2524 - mov r8, r0 - adds r0, r4, 0 - mov r1, r8 - bl SetSubspriteTables - adds r4, 0x3E - ldrb r0, [r4] - movs r5, 0x4 - orrs r0, r5 - strb r0, [r4] - ldr r0, _0809EE5C @ =gUnknown_83E25D4 - movs r1, 0xCC - movs r2, 0x8C - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r4, r6 - adds r0, r4, 0 - mov r1, r8 - bl SetSubspriteTables - adds r4, 0x3E - ldrb r0, [r4] - orrs r0, r5 - strb r0, [r4] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809EE50: .4byte gUnknown_83E25BC -_0809EE54: .4byte gSprites -_0809EE58: .4byte gUnknown_83E2524 -_0809EE5C: .4byte gUnknown_83E25D4 - thumb_func_end sub_809EDE8 - - thumb_func_start sub_809EE60 -sub_809EE60: @ 809EE60 - push {r4-r6,lr} - ldr r5, _0809EF0C @ =gUnknown_203998C - ldr r0, [r5] - ldr r4, _0809EF10 @ =0x00001e16 - adds r0, r4 - ldrh r1, [r0] - subs r1, 0x5 - ldr r0, _0809EF14 @ =gUnknown_83E2604 - lsls r1, 16 - asrs r1, 16 - movs r2, 0x38 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - ldr r3, _0809EF18 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r5] - adds r4, r0, r4 - ldrh r1, [r4] - movs r5, 0 - ldr r2, _0809EF1C @ =0x00001e28 - adds r0, r2 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r5, r0 - bcs _0809EF04 - adds r6, r3, 0 -_0809EEB2: - lsls r1, 16 - asrs r4, r1, 16 - movs r0, 0xC0 - lsls r0, 10 - adds r1, r0 - asrs r1, 16 - ldr r0, _0809EF20 @ =gUnknown_83E261C - movs r2, 0x3C - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - strh r5, [r0, 0x2E] - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x8 - lsls r4, 16 - lsrs r1, r4, 16 - ldr r0, _0809EF0C @ =gUnknown_203998C - ldr r0, [r0] - ldr r2, _0809EF1C @ =0x00001e28 - adds r0, r2 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r5, r0 - bcc _0809EEB2 -_0809EF04: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809EF0C: .4byte gUnknown_203998C -_0809EF10: .4byte 0x00001e16 -_0809EF14: .4byte gUnknown_83E2604 -_0809EF18: .4byte gSprites -_0809EF1C: .4byte 0x00001e28 -_0809EF20: .4byte gUnknown_83E261C - thumb_func_end sub_809EE60 - - thumb_func_start sub_809EF24 -sub_809EF24: @ 809EF24 - push {lr} - ldr r1, _0809EF44 @ =gUnknown_83E2394 - ldr r0, _0809EF48 @ =gUnknown_203998C - ldr r0, [r0] - ldr r2, _0809EF4C @ =0x00001e28 - adds r0, r2 - ldr r0, [r0] - ldrb r0, [r0, 0x2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .align 2, 0 -_0809EF44: .4byte gUnknown_83E2394 -_0809EF48: .4byte gUnknown_203998C -_0809EF4C: .4byte 0x00001e28 - thumb_func_end sub_809EF24 - - thumb_func_start nullsub_54 -nullsub_54: @ 809EF50 - bx lr - thumb_func_end nullsub_54 - - thumb_func_start sub_809EF54 -sub_809EF54: @ 809EF54 - push {lr} - sub sp, 0x4 - ldr r0, _0809EFA0 @ =gUnknown_203998C - ldr r0, [r0] - ldr r1, _0809EFA4 @ =0x00001e34 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0 - bl sub_805C7C8 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0809EFA8 @ =SpriteCallbackDummy - movs r2, 0 - str r2, [sp] - movs r2, 0x38 - movs r3, 0x25 - bl AddPseudoObjectEvent - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0809EFAC @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - movs r1, 0x4 - bl StartSpriteAnim - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0809EFA0: .4byte gUnknown_203998C -_0809EFA4: .4byte 0x00001e34 -_0809EFA8: .4byte SpriteCallbackDummy -_0809EFAC: .4byte gSprites - thumb_func_end sub_809EF54 - - thumb_func_start sub_809EFB0 -sub_809EFB0: @ 809EFB0 - push {r4,lr} - ldr r0, _0809EFE4 @ =gUnknown_83E2634 - movs r1, 0x38 - movs r2, 0x29 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _0809EFE8 @ =gSprites - adds r4, r0 - ldr r1, _0809EFEC @ =gUnknown_83E252C - adds r0, r4, 0 - bl SetSubspriteTables - ldrb r0, [r4, 0x5] - movs r1, 0xC - orrs r0, r1 - strb r0, [r4, 0x5] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809EFE4: .4byte gUnknown_83E2634 -_0809EFE8: .4byte gSprites -_0809EFEC: .4byte gUnknown_83E252C - thumb_func_end sub_809EFB0 - - thumb_func_start sub_809EFF0 -sub_809EFF0: @ 809EFF0 - push {lr} - sub sp, 0xC - bl LoadMonIconPalettes - ldr r0, _0809F038 @ =gUnknown_203998C - ldr r3, [r0] - ldr r1, _0809F03C @ =0x00001e34 - adds r0, r3, r1 - ldrh r0, [r0] - ldr r1, _0809F040 @ =SpriteCallbackDummy - movs r2, 0 - str r2, [sp] - ldr r2, _0809F044 @ =0x00001e38 - adds r3, r2 - ldr r2, [r3] - str r2, [sp, 0x4] - movs r2, 0x1 - str r2, [sp, 0x8] - movs r2, 0x38 - movs r3, 0x28 - bl CreateMonIcon - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0809F048 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x5] - movs r2, 0xC - orrs r0, r2 - strb r0, [r1, 0x5] - add sp, 0xC - pop {r0} - bx r0 - .align 2, 0 -_0809F038: .4byte gUnknown_203998C -_0809F03C: .4byte 0x00001e34 -_0809F040: .4byte SpriteCallbackDummy -_0809F044: .4byte 0x00001e38 -_0809F048: .4byte gSprites - thumb_func_end sub_809EFF0 - - thumb_func_start sub_809F04C -sub_809F04C: @ 809F04C - push {r4,lr} - sub sp, 0x2C - ldr r0, _0809F0B8 @ =gUnknown_83E23C0 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x1C] - str r1, [sp, 0x20] - ldr r0, _0809F0BC @ =gUnknown_83E23C8 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x24] - str r1, [sp, 0x28] - ldr r1, _0809F0C0 @ =SpriteCallbackDummy - add r3, sp, 0x18 - movs r0, 0 - mov r2, sp - bl MakeObjectTemplateFromObjectEventGraphicsInfo - mov r2, sp - add r0, sp, 0x1C - ldrh r1, [r0, 0x6] - strh r1, [r2] - add r4, sp, 0x24 - ldrh r1, [r4, 0x4] - strh r1, [r2, 0x2] - ldr r1, _0809F0C4 @ =gUnknown_83E23BC - str r1, [sp, 0x8] - bl LoadSpriteSheet - adds r0, r4, 0 - bl LoadSpritePalette - mov r0, sp - movs r1, 0x38 - movs r2, 0x25 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0809F0C8 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x5] - movs r2, 0xC - orrs r0, r2 - strb r0, [r1, 0x5] - add sp, 0x2C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809F0B8: .4byte gUnknown_83E23C0 -_0809F0BC: .4byte gUnknown_83E23C8 -_0809F0C0: .4byte SpriteCallbackDummy -_0809F0C4: .4byte gUnknown_83E23BC -_0809F0C8: .4byte gSprites - thumb_func_end sub_809F04C - - thumb_func_start sub_809F0CC -sub_809F0CC: @ 809F0CC - push {r4,r5,lr} - bl GetInputEvent - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_809EB00 - lsls r0, 24 - lsrs r0, 24 - cmp r4, 0x8 - bne _0809F0EA - bl sub_809F1F0 - b _0809F106 -_0809F0EA: - cmp r4, 0x6 - bne _0809F0F4 - bl sub_809F700 - b _0809F114 -_0809F0F4: - cmp r5, 0x9 - beq _0809F110 - ldr r1, _0809F10C @ =gUnknown_83E23D0 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 -_0809F106: - lsls r0, 24 - lsrs r0, 24 - b _0809F116 - .align 2, 0 -_0809F10C: .4byte gUnknown_83E23D0 -_0809F110: - bl sub_809E9F8 -_0809F114: - movs r0, 0 -_0809F116: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_809F0CC - - thumb_func_start sub_809F11C -sub_809F11C: @ 809F11C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl sub_809E518 - cmp r4, 0x5 - bne _0809F156 - bl sub_809F75C - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_809EAA8 - cmp r4, 0 - beq _0809F156 - movs r0, 0 - bl SetInputState - ldr r0, _0809F160 @ =gUnknown_203998C - ldr r0, [r0] - ldr r1, _0809F164 @ =0x00001e10 - adds r0, r1 - movs r1, 0x3 - strb r1, [r0] -_0809F156: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0809F160: .4byte gUnknown_203998C -_0809F164: .4byte 0x00001e10 - thumb_func_end sub_809F11C - - thumb_func_start KeyboardKeyHandler_Page -KeyboardKeyHandler_Page: @ 809F168 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0x1 - movs r2, 0 - bl sub_809E518 - cmp r4, 0x5 - beq _0809F182 - movs r0, 0 - b _0809F18A -_0809F182: - bl sub_809F1F0 - lsls r0, 24 - lsrs r0, 24 -_0809F18A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end KeyboardKeyHandler_Page - - thumb_func_start KeyboardKeyHandler_Backspace -KeyboardKeyHandler_Backspace: @ 809F190 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl sub_809E518 - cmp r4, 0x5 - bne _0809F1AA - bl sub_809F700 -_0809F1AA: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end KeyboardKeyHandler_Backspace - - thumb_func_start KeyboardKeyHandler_OK -KeyboardKeyHandler_OK: @ 809F1B4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0 - bl sub_809E518 - cmp r4, 0x5 - beq _0809F1CE - movs r0, 0 - b _0809F1E2 -_0809F1CE: - movs r0, 0x5 - bl PlaySE - ldr r0, _0809F1E8 @ =gUnknown_203998C - ldr r0, [r0] - ldr r1, _0809F1EC @ =0x00001e10 - adds r0, r1 - movs r1, 0x6 - strb r1, [r0] - movs r0, 0x1 -_0809F1E2: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0809F1E8: .4byte gUnknown_203998C -_0809F1EC: .4byte 0x00001e10 - thumb_func_end KeyboardKeyHandler_OK - - thumb_func_start sub_809F1F0 -sub_809F1F0: @ 809F1F0 - ldr r0, _0809F200 @ =gUnknown_203998C - ldr r0, [r0] - ldr r1, _0809F204 @ =0x00001e10 - adds r0, r1 - movs r1, 0x4 - strb r1, [r0] - movs r0, 0x1 - bx lr - .align 2, 0 -_0809F200: .4byte gUnknown_203998C -_0809F204: .4byte 0x00001e10 - thumb_func_end sub_809F1F0 - - thumb_func_start InputInit -InputInit: @ 809F208 - push {lr} - ldr r0, _0809F218 @ =sub_809F26C - movs r1, 0x1 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0809F218: .4byte sub_809F26C - thumb_func_end InputInit - - thumb_func_start GetInputEvent -GetInputEvent: @ 809F21C - push {lr} - ldr r0, _0809F238 @ =sub_809F26C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0809F23C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0xA] - pop {r1} - bx r1 - .align 2, 0 -_0809F238: .4byte sub_809F26C -_0809F23C: .4byte gTasks - thumb_func_end GetInputEvent - - thumb_func_start SetInputState -SetInputState: @ 809F240 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0809F264 @ =sub_809F26C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0809F268 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809F264: .4byte sub_809F26C -_0809F268: .4byte gTasks - thumb_func_end SetInputState - - thumb_func_start sub_809F26C -sub_809F26C: @ 809F26C - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _0809F294 @ =gUnknown_83E23E0 - ldr r2, _0809F298 @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_0809F294: .4byte gUnknown_83E23E0 -_0809F298: .4byte gTasks - thumb_func_end sub_809F26C - - thumb_func_start InputState_Disabled -InputState_Disabled: @ 809F29C - movs r1, 0 - strh r1, [r0, 0xA] - bx lr - thumb_func_end InputState_Disabled - - thumb_func_start InputState_Enabled -InputState_Enabled: @ 809F2A4 - push {lr} - adds r2, r0, 0 - movs r0, 0 - strh r0, [r2, 0xA] - ldr r0, _0809F2C0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809F2C4 - movs r0, 0x5 - strh r0, [r2, 0xA] - b _0809F2F4 - .align 2, 0 -_0809F2C0: .4byte gMain -_0809F2C4: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0809F2D2 - movs r0, 0x6 - strh r0, [r2, 0xA] - b _0809F2F4 -_0809F2D2: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0809F2E0 - movs r0, 0x8 - strh r0, [r2, 0xA] - b _0809F2F4 -_0809F2E0: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0809F2EE - movs r0, 0x9 - strh r0, [r2, 0xA] - b _0809F2F4 -_0809F2EE: - adds r0, r2, 0 - bl sub_809F2F8 -_0809F2F4: - pop {r0} - bx r0 - thumb_func_end InputState_Enabled - - thumb_func_start sub_809F2F8 -sub_809F2F8: @ 809F2F8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x34 - mov r9, r0 - ldr r1, _0809F3E4 @ =gUnknown_83E23E8 - mov r0, sp - movs r2, 0xA - bl memcpy - add r0, sp, 0xC - mov r10, r0 - ldr r1, _0809F3E8 @ =gUnknown_83E23F2 - movs r2, 0xA - bl memcpy - mov r1, sp - adds r1, 0x18 - str r1, [sp, 0x2C] - ldr r1, _0809F3EC @ =gUnknown_83E23FC - ldr r0, [sp, 0x2C] - movs r2, 0x8 - bl memcpy - mov r2, sp - adds r2, 0x20 - str r2, [sp, 0x30] - ldr r1, _0809F3F0 @ =gUnknown_83E2404 - adds r0, r2, 0 - movs r2, 0x6 - bl memcpy - add r4, sp, 0x28 - mov r5, sp - adds r5, 0x2A - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_809E9CC - ldr r0, _0809F3F4 @ =gMain - ldrh r2, [r0, 0x30] - movs r0, 0x40 - ands r0, r2 - lsls r0, 16 - lsrs r0, 16 - negs r0, r0 - lsrs r1, r0, 31 - movs r0, 0x80 - ands r0, r2 - adds r6, r4, 0 - cmp r0, 0 - beq _0809F366 - movs r1, 0x2 -_0809F366: - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - beq _0809F370 - movs r1, 0x3 -_0809F370: - movs r0, 0x10 - ands r0, r2 - cmp r0, 0 - beq _0809F37A - movs r1, 0x4 -_0809F37A: - ldrh r0, [r6] - mov r8, r0 - lsls r1, 1 - mov r2, sp - adds r7, r2, r1 - ldrh r0, [r7] - add r0, r8 - strh r0, [r6] - add r1, r10 - ldrh r0, [r1] - ldrh r1, [r5] - adds r0, r1 - strh r0, [r5] - movs r2, 0 - ldrsh r0, [r6, r2] - cmp r0, 0 - bge _0809F3A6 - bl sub_809EB40 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6] -_0809F3A6: - movs r0, 0 - ldrsh r4, [r6, r0] - bl sub_809EB40 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - ble _0809F3BA - movs r0, 0 - strh r0, [r6] -_0809F3BA: - movs r1, 0 - ldrsh r0, [r7, r1] - cmp r0, 0 - beq _0809F426 - movs r2, 0 - ldrsh r4, [r6, r2] - bl sub_809EB40 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _0809F3F8 - ldrh r0, [r5] - mov r1, r9 - strh r0, [r1, 0xC] - movs r2, 0 - ldrsh r0, [r5, r2] - lsls r0, 1 - ldr r1, [sp, 0x2C] - adds r0, r1, r0 - b _0809F422 - .align 2, 0 -_0809F3E4: .4byte gUnknown_83E23E8 -_0809F3E8: .4byte gUnknown_83E23F2 -_0809F3EC: .4byte gUnknown_83E23FC -_0809F3F0: .4byte gUnknown_83E2404 -_0809F3F4: .4byte gMain -_0809F3F8: - mov r2, r8 - lsls r4, r2, 16 - asrs r4, 16 - bl sub_809EB40 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _0809F426 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _0809F418 - mov r2, r9 - ldrh r0, [r2, 0xC] - b _0809F424 -_0809F418: - movs r1, 0 - ldrsh r0, [r5, r1] - lsls r0, 1 - ldr r2, [sp, 0x30] - adds r0, r2, r0 -_0809F422: - ldrh r0, [r0] -_0809F424: - strh r0, [r5] -_0809F426: - movs r0, 0 - ldrsh r4, [r6, r0] - bl sub_809EB40 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _0809F468 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - bge _0809F442 - movs r0, 0x2 - strh r0, [r5] -_0809F442: - movs r2, 0 - ldrsh r0, [r5, r2] - cmp r0, 0x2 - ble _0809F44E - movs r0, 0 - strh r0, [r5] -_0809F44E: - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0809F45E - movs r0, 0x1 - mov r2, r9 - strh r0, [r2, 0xC] - b _0809F480 -_0809F45E: - cmp r0, 0x2 - bne _0809F480 - mov r1, r9 - strh r0, [r1, 0xC] - b _0809F480 -_0809F468: - movs r2, 0 - ldrsh r0, [r5, r2] - cmp r0, 0 - bge _0809F474 - movs r0, 0x3 - strh r0, [r5] -_0809F474: - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x3 - ble _0809F480 - movs r0, 0 - strh r0, [r5] -_0809F480: - movs r2, 0 - ldrsh r0, [r6, r2] - movs r2, 0 - ldrsh r1, [r5, r2] - bl sub_809E948 - add sp, 0x34 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809F2F8 - - thumb_func_start sub_809F49C -sub_809F49C: @ 809F49C - push {r4,r5,lr} - sub sp, 0xC - ldr r5, _0809F4E4 @ =gUnknown_203998C - ldr r0, [r5] - ldr r4, _0809F4E8 @ =0x00001e14 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, [r5] - adds r0, r1, r4 - ldrb r0, [r0] - ldr r2, _0809F4EC @ =0x00001e28 - adds r1, r2 - ldr r1, [r1] - ldr r2, [r1, 0x8] - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0x1 - bl AddTextPrinterParameterized - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl PutWindowTilemap - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809F4E4: .4byte gUnknown_203998C -_0809F4E8: .4byte 0x00001e14 -_0809F4EC: .4byte 0x00001e28 - thumb_func_end sub_809F49C - - thumb_func_start sub_809F4F0 -sub_809F4F0: @ 809F4F0 - push {r4,r5,lr} - sub sp, 0x2C - ldr r5, _0809F558 @ =gUnknown_203998C - ldr r0, [r5] - ldr r1, _0809F55C @ =0x00001e34 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0xB - muls r1, r0 - ldr r0, _0809F560 @ =gSpeciesNames - adds r1, r0 - add r0, sp, 0xC - bl StringCopy - ldr r0, [r5] - ldr r1, _0809F564 @ =0x00001e28 - adds r0, r1 - ldr r0, [r0] - ldr r1, [r0, 0x8] - add r0, sp, 0xC - movs r2, 0xF - bl StringAppendN - ldr r0, [r5] - ldr r4, _0809F568 @ =0x00001e14 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - add r2, sp, 0xC - movs r3, 0x1 - bl AddTextPrinterParameterized - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl PutWindowTilemap - add sp, 0x2C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809F558: .4byte gUnknown_203998C -_0809F55C: .4byte 0x00001e34 -_0809F560: .4byte gSpeciesNames -_0809F564: .4byte 0x00001e28 -_0809F568: .4byte 0x00001e14 - thumb_func_end sub_809F4F0 - - thumb_func_start sub_809F56C -sub_809F56C: @ 809F56C - push {lr} - ldr r1, _0809F588 @ =gUnknown_83E240C - ldr r0, _0809F58C @ =gUnknown_203998C - ldr r0, [r0] - ldr r2, _0809F590 @ =0x00001e2c - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .align 2, 0 -_0809F588: .4byte gUnknown_83E240C -_0809F58C: .4byte gUnknown_203998C -_0809F590: .4byte 0x00001e2c - thumb_func_end sub_809F56C - - thumb_func_start sub_809F594 -sub_809F594: @ 809F594 - push {lr} - ldr r1, _0809F5B4 @ =gUnknown_83E2420 - ldr r0, _0809F5B8 @ =gUnknown_203998C - ldr r0, [r0] - ldr r2, _0809F5BC @ =0x00001e28 - adds r0, r2 - ldr r0, [r0] - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r0} - bx r0 - .align 2, 0 -_0809F5B4: .4byte gUnknown_83E2420 -_0809F5B8: .4byte gUnknown_203998C -_0809F5BC: .4byte 0x00001e28 - thumb_func_end sub_809F594 - - thumb_func_start nullsub_55 -nullsub_55: @ 809F5C0 - bx lr - thumb_func_end nullsub_55 - - thumb_func_start sub_809F5C4 -sub_809F5C4: @ 809F5C4 - push {r4,r5,lr} - sub sp, 0x10 - movs r4, 0 - ldr r1, _0809F61C @ =gText_MaleSymbol - add r0, sp, 0xC - bl StringCopy - ldr r5, _0809F620 @ =gUnknown_203998C - ldr r0, [r5] - ldr r1, _0809F624 @ =0x00001e36 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0xFF - beq _0809F614 - cmp r0, 0xFE - bne _0809F5EE - ldr r1, _0809F628 @ =gText_FemaleSymbol - add r0, sp, 0xC - bl StringCopy - movs r4, 0x1 -_0809F5EE: - ldr r0, [r5] - ldr r1, _0809F62C @ =0x00001e13 - adds r0, r1 - ldrb r0, [r0] - lsls r1, r4, 1 - adds r1, r4 - ldr r2, _0809F630 @ =gUnknown_83E2428 - adds r1, r2 - str r1, [sp] - movs r1, 0x1 - negs r1, r1 - str r1, [sp, 0x4] - add r1, sp, 0xC - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0x68 - movs r3, 0x1 - bl AddTextPrinterParameterized3 -_0809F614: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809F61C: .4byte gText_MaleSymbol -_0809F620: .4byte gUnknown_203998C -_0809F624: .4byte 0x00001e36 -_0809F628: .4byte gText_FemaleSymbol -_0809F62C: .4byte 0x00001e13 -_0809F630: .4byte gUnknown_83E2428 - thumb_func_end sub_809F5C4 - - thumb_func_start sub_809F634 -sub_809F634: @ 809F634 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r6, _0809F664 @ =gUnknown_83E22D0 - bl sub_809DE50 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 13 - adds r4, r5 - lsls r0, 24 - lsrs r0, 19 - adds r4, r0 - adds r4, r6 - ldrb r0, [r4] - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0809F664: .4byte gUnknown_83E22D0 - thumb_func_end sub_809F634 - - thumb_func_start sub_809F668 -sub_809F668: @ 809F668 - push {r4,r5,lr} - movs r2, 0 - ldr r0, _0809F690 @ =gUnknown_203998C - ldr r4, [r0] - ldr r3, _0809F694 @ =0x00001e28 - adds r1, r4, r3 - ldr r1, [r1] - ldrb r3, [r1, 0x1] - adds r5, r0, 0 - cmp r2, r3 - bcs _0809F6A2 - movs r0, 0xC0 - lsls r0, 5 - adds r1, r4, r0 -_0809F684: - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0809F698 - adds r0, r2, 0 - b _0809F6B2 - .align 2, 0 -_0809F690: .4byte gUnknown_203998C -_0809F694: .4byte 0x00001e28 -_0809F698: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r3 - bcc _0809F684 -_0809F6A2: - ldr r0, [r5] - ldr r1, _0809F6B8 @ =0x00001e28 - adds r0, r1 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 -_0809F6B2: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0809F6B8: .4byte 0x00001e28 - thumb_func_end sub_809F668 - - thumb_func_start sub_809F6BC -sub_809F6BC: @ 809F6BC - push {lr} - ldr r0, _0809F6E8 @ =gUnknown_203998C - ldr r2, [r0] - ldr r1, _0809F6EC @ =0x00001e28 - adds r0, r2, r1 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - subs r0, 0x1 - lsls r1, r0, 24 - cmp r1, 0 - ble _0809F6F8 - movs r0, 0xC0 - lsls r0, 5 - adds r3, r2, r0 -_0809F6D8: - asrs r2, r1, 24 - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, 0xFF - beq _0809F6F0 - lsrs r0, r1, 24 - b _0809F6FA - .align 2, 0 -_0809F6E8: .4byte gUnknown_203998C -_0809F6EC: .4byte 0x00001e28 -_0809F6F0: - subs r0, r2, 0x1 - lsls r1, r0, 24 - cmp r1, 0 - bgt _0809F6D8 -_0809F6F8: - movs r0, 0 -_0809F6FA: - pop {r1} - bx r1 - thumb_func_end sub_809F6BC - - thumb_func_start sub_809F700 -sub_809F700: @ 809F700 - push {r4-r6,lr} - bl sub_809F6BC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r6, _0809F758 @ =gUnknown_203998C - ldr r0, [r6] - movs r5, 0xC0 - lsls r5, 5 - adds r0, r5 - adds r0, r4 - movs r1, 0 - strb r1, [r0] - bl sub_809F914 - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - ldr r0, [r6] - adds r0, r5 - adds r0, r4 - movs r1, 0xFF - strb r1, [r0] - bl sub_809EB00 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0809F740 - cmp r0, 0x2 - bne _0809F74A -_0809F740: - movs r0, 0x1 - movs r1, 0 - movs r2, 0x1 - bl sub_809E518 -_0809F74A: - movs r0, 0x17 - bl PlaySE - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809F758: .4byte gUnknown_203998C - thumb_func_end sub_809F700 - - thumb_func_start sub_809F75C -sub_809F75C: @ 809F75C - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl sub_809E9CC - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl sub_809F634 - lsls r0, 24 - lsrs r0, 24 - bl sub_809F7C4 - bl sub_809F914 - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - movs r0, 0x5 - bl PlaySE - bl sub_809F6BC - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0809F7B0 @ =gUnknown_203998C - ldr r1, [r1] - ldr r2, _0809F7B4 @ =0x00001e28 - adds r1, r2 - ldr r1, [r1] - ldrb r1, [r1, 0x1] - subs r1, 0x1 - cmp r0, r1 - bne _0809F7B8 - movs r0, 0x1 - b _0809F7BA - .align 2, 0 -_0809F7B0: .4byte gUnknown_203998C -_0809F7B4: .4byte 0x00001e28 -_0809F7B8: - movs r0, 0 -_0809F7BA: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_809F75C - - thumb_func_start sub_809F7C4 -sub_809F7C4: @ 809F7C4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_809F668 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0809F7E8 @ =gUnknown_203998C - ldr r1, [r1] - movs r2, 0xC0 - lsls r2, 5 - adds r1, r2 - adds r1, r0 - strb r4, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809F7E8: .4byte gUnknown_203998C - thumb_func_end sub_809F7C4 - - thumb_func_start sub_809F7EC -sub_809F7EC: @ 809F7EC - push {r4,r5,lr} - movs r2, 0 - ldr r1, _0809F800 @ =gUnknown_203998C - ldr r0, [r1] - ldr r4, _0809F804 @ =0x00001e28 - adds r0, r4 - ldr r0, [r0] - adds r5, r1, 0 - b _0809F84C - .align 2, 0 -_0809F800: .4byte gUnknown_203998C -_0809F804: .4byte 0x00001e28 -_0809F808: - ldr r1, [r1] - movs r0, 0xC0 - lsls r0, 5 - adds r3, r1, r0 - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _0809F83C - cmp r0, 0xFF - beq _0809F83C - ldr r2, _0809F838 @ =0x00001e30 - adds r0, r1, r2 - ldr r0, [r0] - adds r1, r4 - ldr r1, [r1] - ldrb r2, [r1, 0x1] - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - adds r1, r3, 0 - bl StringCopyN - b _0809F852 - .align 2, 0 -_0809F838: .4byte 0x00001e30 -_0809F83C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r1, r5, 0 - ldr r0, [r1] - ldr r4, _0809F858 @ =0x00001e28 - adds r0, r4 - ldr r0, [r0] -_0809F84C: - ldrb r0, [r0, 0x1] - cmp r2, r0 - bcc _0809F808 -_0809F852: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809F858: .4byte 0x00001e28 - thumb_func_end sub_809F7EC - - thumb_func_start choose_name_or_words_screen_load_bg_tile_patterns -choose_name_or_words_screen_load_bg_tile_patterns: @ 809F85C - push {r4-r6,lr} - ldr r0, _0809F8AC @ =gUnknown_8E980E4 - ldr r6, _0809F8B0 @ =gUnknown_203998C - ldr r1, [r6] - ldr r4, _0809F8B4 @ =0x00001810 - adds r1, r4 - bl LZ77UnCompWram - ldr r1, [r6] - adds r1, r4 - movs r5, 0xC0 - lsls r5, 3 - movs r0, 0x1 - adds r2, r5, 0 - movs r3, 0 - bl LoadBgTiles - ldr r1, [r6] - adds r1, r4 - movs r0, 0x2 - adds r2, r5, 0 - movs r3, 0 - bl LoadBgTiles - ldr r1, [r6] - adds r1, r4 - movs r0, 0x3 - adds r2, r5, 0 - movs r3, 0 - bl LoadBgTiles - ldr r0, _0809F8B8 @ =gUnknown_83E267C - bl LoadSpriteSheets - ldr r0, _0809F8BC @ =gUnknown_83E26E4 - bl LoadSpritePalettes - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809F8AC: .4byte gUnknown_8E980E4 -_0809F8B0: .4byte gUnknown_203998C -_0809F8B4: .4byte 0x00001810 -_0809F8B8: .4byte gUnknown_83E267C -_0809F8BC: .4byte gUnknown_83E26E4 - thumb_func_end choose_name_or_words_screen_load_bg_tile_patterns - - thumb_func_start sub_809F8C0 -sub_809F8C0: @ 809F8C0 - push {lr} - bl InputInit - bl sub_809E4F0 - pop {r0} - bx r0 - thumb_func_end sub_809F8C0 - - thumb_func_start choose_name_or_words_screen_apply_bg_pals -choose_name_or_words_screen_apply_bg_pals: @ 809F8D0 - push {lr} - ldr r0, _0809F8F8 @ =gUnknown_8E98024 - movs r1, 0 - movs r2, 0xC0 - bl LoadPalette - ldr r0, _0809F8FC @ =gUnknown_8E97FE4 - movs r1, 0xA0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0x2 - bl stdpal_get - movs r1, 0xB0 - movs r2, 0x20 - bl LoadPalette - pop {r0} - bx r0 - .align 2, 0 -_0809F8F8: .4byte gUnknown_8E98024 -_0809F8FC: .4byte gUnknown_8E97FE4 - thumb_func_end choose_name_or_words_screen_apply_bg_pals - - thumb_func_start sub_809F900 -sub_809F900: @ 809F900 - push {lr} - lsls r0, 24 - lsrs r0, 24 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - pop {r0} - bx r0 - thumb_func_end sub_809F900 - - thumb_func_start sub_809F914 -sub_809F914: @ 809F914 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - ldr r7, _0809F9D8 @ =gUnknown_203998C - ldr r1, [r7] - ldr r2, _0809F9DC @ =0x00001e28 - adds r0, r1, r2 - ldr r0, [r0] - ldrb r6, [r0, 0x1] - subs r2, 0x12 - adds r0, r1, r2 - ldrh r0, [r0] - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - ldr r0, _0809F9E0 @ =0x00001e13 - adds r1, r0 - ldrb r0, [r1] - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r4, 0 - cmp r4, r6 - bcs _0809F9AA - add r5, sp, 0xC - mov r10, r4 - ldr r0, _0809F9E4 @ =gExpandedPlaceholder_Empty - ldrb r0, [r0] - mov r8, r0 -_0809F956: - ldr r0, [r7] - movs r1, 0xC0 - lsls r1, 5 - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - strb r0, [r5] - mov r2, r8 - strb r2, [r5, 0x1] - ldrb r0, [r5] - bl sub_809FC54 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - cmp r0, 0x1 - bne _0809F97A - movs r1, 0x2 -_0809F97A: - ldr r0, [r7] - ldr r2, _0809F9E0 @ =0x00001e13 - adds r0, r2 - ldrb r0, [r0] - lsls r3, r4, 3 - add r3, r9 - adds r3, r1 - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - mov r1, r10 - str r1, [sp, 0x8] - movs r1, 0x2 - add r2, sp, 0xC - bl AddTextPrinterParameterized - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r6 - bcc _0809F956 -_0809F9AA: - bl sub_809F594 - ldr r5, _0809F9D8 @ =gUnknown_203998C - ldr r0, [r5] - ldr r4, _0809F9E0 @ =0x00001e13 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl PutWindowTilemap - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809F9D8: .4byte gUnknown_203998C -_0809F9DC: .4byte 0x00001e28 -_0809F9E0: .4byte 0x00001e13 -_0809F9E4: .4byte gExpandedPlaceholder_Empty - thumb_func_end sub_809F914 - - thumb_func_start sub_809F9E8 -sub_809F9E8: @ 809F9E8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, _0809FA54 @ =gUnknown_83E243C - adds r0, r5, r0 - ldrb r1, [r0] - adds r0, r6, 0 - bl FillWindowPixelBuffer - movs r4, 0 - ldr r1, _0809FA58 @ =gUnknown_83E2440 - lsls r0, r5, 2 - adds r0, r1 - ldr r7, [r0] - ldr r0, _0809FA5C @ =gUnknown_83E264C - mov r8, r0 -_0809FA12: - lsls r3, r4, 4 - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - str r7, [sp] - movs r0, 0 - str r0, [sp, 0x4] - lsls r0, r4, 2 - lsls r1, r5, 4 - adds r0, r1 - add r0, r8 - ldr r0, [r0] - str r0, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x1 - movs r2, 0 - bl AddTextPrinterParameterized3 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _0809FA12 - adds r0, r6, 0 - bl PutWindowTilemap - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809FA54: .4byte gUnknown_83E243C -_0809FA58: .4byte gUnknown_83E2440 -_0809FA5C: .4byte gUnknown_83E264C - thumb_func_end sub_809F9E8 - - thumb_func_start sub_809FA60 -sub_809FA60: @ 809FA60 - push {r4,r5,lr} - movs r0, 0xA - bl GetGpuReg - adds r4, r0, 0 - movs r5, 0x3 - ands r4, r5 - movs r0, 0xC - bl GetGpuReg - ands r0, r5 - cmp r4, r0 - bls _0809FA90 - movs r2, 0x1 - movs r5, 0x1 - ldr r1, _0809FA88 @ =gUnknown_203998C - ldr r0, [r1] - ldr r3, _0809FA8C @ =0x00001e11 - b _0809FA9A - .align 2, 0 -_0809FA88: .4byte gUnknown_203998C -_0809FA8C: .4byte 0x00001e11 -_0809FA90: - movs r2, 0x2 - movs r5, 0x2 - ldr r1, _0809FAD4 @ =gUnknown_203998C - ldr r0, [r1] - ldr r3, _0809FAD8 @ =0x00001e12 -_0809FA9A: - adds r0, r3 - ldrb r4, [r0] - adds r0, r1, 0 - ldr r1, _0809FADC @ =gUnknown_83E244C - ldr r0, [r0] - ldr r3, _0809FAE0 @ =0x00001e22 - adds r0, r3 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r2, 0 - bl sub_809F900 - bl sub_809DE30 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_809F9E8 - adds r0, r5, 0 - bl CopyBgTilemapBufferToVram - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809FAD4: .4byte gUnknown_203998C -_0809FAD8: .4byte 0x00001e12 -_0809FADC: .4byte gUnknown_83E244C -_0809FAE0: .4byte 0x00001e22 - thumb_func_end sub_809FA60 - - thumb_func_start sub_809FAE4 -sub_809FAE4: @ 809FAE4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x10 - ldr r1, _0809FB60 @ =gUnknown_83E2458 - add r0, sp, 0xC - movs r2, 0x3 - bl memcpy - ldr r0, _0809FB64 @ =gUnknown_8418E77 - mov r8, r0 - movs r0, 0 - mov r1, r8 - movs r2, 0 - bl GetStringWidth - adds r6, r0, 0 - ldr r5, _0809FB68 @ =gUnknown_203998C - ldr r0, [r5] - ldr r4, _0809FB6C @ =0x00001e15 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0xFF - bl FillWindowPixelBuffer - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x14 - negs r1, r1 - adds r2, r1, 0 - subs r2, r6 - lsls r2, 24 - lsrs r2, 24 - add r1, sp, 0xC - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - mov r1, r8 - str r1, [sp, 0x8] - movs r1, 0 - movs r3, 0 - bl AddTextPrinterParameterized3 - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl PutWindowTilemap - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809FB60: .4byte gUnknown_83E2458 -_0809FB64: .4byte gUnknown_8418E77 -_0809FB68: .4byte gUnknown_203998C -_0809FB6C: .4byte 0x00001e15 - thumb_func_end sub_809FAE4 - - thumb_func_start sub_809FB70 -sub_809FB70: @ 809FB70 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_809FB70 - - thumb_func_start sub_809FB88 -sub_809FB88: @ 809FB88 - push {lr} - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - pop {r0} - bx r0 - thumb_func_end sub_809FB88 - - thumb_func_start sub_809FB9C -sub_809FB9C: @ 809FB9C - push {lr} - ldr r0, _0809FBA8 @ =sub_809FBAC - bl SetVBlankCallback - pop {r0} - bx r0 - .align 2, 0 -_0809FBA8: .4byte sub_809FBAC - thumb_func_end sub_809FB9C - - thumb_func_start sub_809FBAC -sub_809FBAC: @ 809FBAC - push {r4,r5,lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - ldr r5, _0809FC1C @ =gUnknown_203998C - ldr r0, [r5] - ldr r1, _0809FC20 @ =0x00001e18 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x16 - bl SetGpuReg - ldr r0, [r5] - ldr r1, _0809FC24 @ =0x00001e1a - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x1A - bl SetGpuReg - movs r0, 0xA - bl GetGpuReg - ldr r4, _0809FC28 @ =0x0000fffc - adds r1, r4, 0 - ands r1, r0 - movs r0, 0xA - bl SetGpuReg - ldr r0, [r5] - ldr r1, _0809FC2C @ =0x00001e1c - adds r0, r1 - ldrh r1, [r0] - movs r0, 0xA - bl SetGpuRegBits - movs r0, 0xC - bl GetGpuReg - ands r4, r0 - movs r0, 0xC - adds r1, r4, 0 - bl SetGpuReg - ldr r0, [r5] - ldr r1, _0809FC30 @ =0x00001e1e - adds r0, r1 - ldrh r1, [r0] - movs r0, 0xC - bl SetGpuRegBits - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809FC1C: .4byte gUnknown_203998C -_0809FC20: .4byte 0x00001e18 -_0809FC24: .4byte 0x00001e1a -_0809FC28: .4byte 0x0000fffc -_0809FC2C: .4byte 0x00001e1c -_0809FC30: .4byte 0x00001e1e - thumb_func_end sub_809FBAC - - thumb_func_start sub_809FC34 -sub_809FC34: @ 809FC34 - push {lr} - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - pop {r0} - bx r0 - thumb_func_end sub_809FC34 - - thumb_func_start sub_809FC54 -sub_809FC54: @ 809FC54 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r2, 0 - ldr r0, _0809FC74 @ =gUnknown_8418E8A - ldrb r1, [r0] - adds r3, r0, 0 - cmp r1, 0xFF - beq _0809FC86 - adds r1, r3, 0 -_0809FC68: - adds r0, r2, r1 - ldrb r0, [r0] - cmp r4, r0 - bne _0809FC78 - movs r0, 0x1 - b _0809FC88 - .align 2, 0 -_0809FC74: .4byte gUnknown_8418E8A -_0809FC78: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0809FC68 -_0809FC86: - movs r0, 0 -_0809FC88: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_809FC54 - - thumb_func_start sub_809FC90 -sub_809FC90: @ 809FC90 - push {lr} - sub sp, 0x8 - ldr r0, _0809FCB0 @ =gSaveBlock2Ptr - ldr r1, [r0] - ldrb r2, [r1, 0x8] - movs r0, 0 - str r0, [sp] - ldr r0, _0809FCB4 @ =CB2_ReturnToFieldWithOpenMenu - str r0, [sp, 0x4] - movs r0, 0 - movs r3, 0 - bl DoNamingScreen - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0809FCB0: .4byte gSaveBlock2Ptr -_0809FCB4: .4byte CB2_ReturnToFieldWithOpenMenu - thumb_func_end sub_809FC90 - - thumb_func_start sub_809FCB8 -sub_809FCB8: @ 809FCB8 - push {lr} - sub sp, 0x8 - ldr r0, _0809FCD8 @ =gSaveBlock2Ptr - ldr r1, [r0] - ldrb r2, [r1, 0x8] - movs r0, 0 - str r0, [sp] - ldr r0, _0809FCDC @ =CB2_ReturnToFieldWithOpenMenu - str r0, [sp, 0x4] - movs r0, 0x1 - movs r3, 0 - bl DoNamingScreen - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0809FCD8: .4byte gSaveBlock2Ptr -_0809FCDC: .4byte CB2_ReturnToFieldWithOpenMenu - thumb_func_end sub_809FCB8 - - thumb_func_start sub_809FCE0 -sub_809FCE0: @ 809FCE0 - push {lr} - sub sp, 0x8 - ldr r0, _0809FD00 @ =gSaveBlock2Ptr - ldr r1, [r0] - ldrb r2, [r1, 0x8] - movs r0, 0 - str r0, [sp] - ldr r0, _0809FD04 @ =CB2_ReturnToFieldWithOpenMenu - str r0, [sp, 0x4] - movs r0, 0x2 - movs r3, 0 - bl DoNamingScreen - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0809FD00: .4byte gSaveBlock2Ptr -_0809FD04: .4byte CB2_ReturnToFieldWithOpenMenu - thumb_func_end sub_809FCE0 - - thumb_func_start sub_809FD08 -sub_809FD08: @ 809FD08 - push {lr} - sub sp, 0x8 - ldr r0, _0809FD28 @ =gSaveBlock2Ptr - ldr r1, [r0] - ldrb r2, [r1, 0x8] - movs r0, 0 - str r0, [sp] - ldr r0, _0809FD2C @ =CB2_ReturnToFieldWithOpenMenu - str r0, [sp, 0x4] - movs r0, 0x3 - movs r3, 0 - bl DoNamingScreen - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0809FD28: .4byte gSaveBlock2Ptr -_0809FD2C: .4byte CB2_ReturnToFieldWithOpenMenu - thumb_func_end sub_809FD08 - - thumb_func_start sub_809FD30 -sub_809FD30: @ 809FD30 - push {lr} - sub sp, 0x8 - ldr r0, _0809FD50 @ =gSaveBlock2Ptr - ldr r1, [r0] - ldrb r2, [r1, 0x8] - movs r0, 0 - str r0, [sp] - ldr r0, _0809FD54 @ =CB2_ReturnToFieldWithOpenMenu - str r0, [sp, 0x4] - movs r0, 0x4 - movs r3, 0 - bl DoNamingScreen - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0809FD50: .4byte gSaveBlock2Ptr -_0809FD54: .4byte CB2_ReturnToFieldWithOpenMenu - thumb_func_end sub_809FD30 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/overworld.s b/asm/overworld.s index 214d06092..27235fa18 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -8,7 +8,7 @@ thumb_func_start sub_8054BC8 sub_8054BC8: @ 8054BC8 push {r4,lr} - ldr r0, _08054BFC @ =gUnknown_81A654B + ldr r0, _08054BFC @ =EventScript_ResetEliteFourEnd bl ScriptContext2_RunNewScript ldr r0, _08054C00 @ =gSaveBlock1Ptr ldr r4, [r0] @@ -27,7 +27,7 @@ sub_8054BC8: @ 8054BC8 pop {r0} bx r0 .align 2, 0 -_08054BFC: .4byte gUnknown_81A654B +_08054BFC: .4byte EventScript_ResetEliteFourEnd _08054C00: .4byte gSaveBlock1Ptr thumb_func_end sub_8054BC8 @@ -66,8 +66,8 @@ _08054C40: .4byte sWhiteOutMoneyLossMultipliers _08054C44: .4byte gSaveBlock1Ptr thumb_func_end ComputeWhiteOutMoneyLoss - thumb_func_start Special_OverworldWhiteOutGetMoneyLoss -Special_OverworldWhiteOutGetMoneyLoss: @ 8054C48 + thumb_func_start OverworldWhiteOutGetMoneyLoss +OverworldWhiteOutGetMoneyLoss: @ 8054C48 push {r4,r5,lr} bl ComputeWhiteOutMoneyLoss adds r4, r0, 0 @@ -85,7 +85,7 @@ Special_OverworldWhiteOutGetMoneyLoss: @ 8054C48 bx r0 .align 2, 0 _08054C6C: .4byte gStringVar1 - thumb_func_end Special_OverworldWhiteOutGetMoneyLoss + thumb_func_end OverworldWhiteOutGetMoneyLoss thumb_func_start CountBadgesForOverworldWhiteOutLossCalculation CountBadgesForOverworldWhiteOutLossCalculation: @ 8054C70 @@ -115,8 +115,8 @@ _08054C8A: _08054C9C: .4byte sWhiteOutMoneyLossBadgeFlagIDs thumb_func_end CountBadgesForOverworldWhiteOutLossCalculation - thumb_func_start sub_8054CA0 -sub_8054CA0: @ 8054CA0 + thumb_func_start Overworld_ResetStateAfterFly +Overworld_ResetStateAfterFly: @ 8054CA0 push {lr} bl ResetInitialPlayerAvatarState movs r0, 0x83 @@ -152,7 +152,7 @@ _08054CF8: .4byte 0x00000805 _08054CFC: .4byte 0x00000806 _08054D00: .4byte 0x00000808 _08054D04: .4byte 0x0000404d - thumb_func_end sub_8054CA0 + thumb_func_end Overworld_ResetStateAfterFly thumb_func_start Overworld_ResetStateAfterTeleport Overworld_ResetStateAfterTeleport: @ 8054D08 @@ -1718,7 +1718,7 @@ sub_8055864: @ 8055864 bl sav1_reset_battle_music_maybe bl mapheader_run_script_with_tag_x3 bl TryRegenerateRenewableHiddenItems - bl not_trainer_hill_battle_pyramid + bl InitMap ldr r4, _0805591C @ =gMapHeader ldr r0, [r4] bl copy_map_tileset2_to_vram_2 @@ -1739,7 +1739,7 @@ _080558D4: bl DoCurrentWeather bl ResetFieldTasksArgs bl mapheader_run_script_with_tag_x5 - bl sub_80561B4 + bl GetLastUsedWarpMapSectionId ldr r1, _0805591C @ =gMapHeader lsls r0, 24 lsrs r0, 24 @@ -1798,7 +1798,7 @@ _08055974: bl UpdateLocationHistoryForRoamer bl RoamerMoveToOtherLocationSet bl sub_8110920 - bl not_trainer_hill_battle_pyramid + bl InitMap pop {r4} pop {r0} bx r0 @@ -1823,7 +1823,7 @@ sub_80559A8: @ 80559A8 bl sub_8110920 bl sub_8111708 bl set_current_map_header_from_sav1 - bl not_trainer_hill_battle_pyramid + bl InitMap pop {r0} bx r0 .align 2, 0 @@ -2597,7 +2597,7 @@ GetMapMusicFadeoutSpeed: @ 8055F68 push {lr} bl warp1_get_mapheader ldrb r0, [r0, 0x17] - bl is_light_level_8_or_9 + bl IsMapTypeIndoors lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -2611,8 +2611,8 @@ _08055F82: bx r1 thumb_func_end GetMapMusicFadeoutSpeed - thumb_func_start sub_8055F88 -sub_8055F88: @ 8055F88 + thumb_func_start TryFadeOutOldMapMusic +TryFadeOutOldMapMusic: @ 8055F88 push {r4,lr} bl sub_8055DA4 lsls r0, 16 @@ -2638,7 +2638,7 @@ _08055FB8: bx r0 .align 2, 0 _08055FC0: .4byte 0x00004001 - thumb_func_end sub_8055F88 + thumb_func_end TryFadeOutOldMapMusic thumb_func_start BGMusicStopped BGMusicStopped: @ 8055FC4 @@ -2899,8 +2899,8 @@ GetCurrentMapType: @ 8056188 _0805619C: .4byte gSaveBlock1Ptr thumb_func_end GetCurrentMapType - thumb_func_start get_map_light_from_warp0 -get_map_light_from_warp0: @ 80561A0 + thumb_func_start GetLastUsedWarpMapType +GetLastUsedWarpMapType: @ 80561A0 push {lr} ldr r0, _080561B0 @ =gUnknown_2031DB4 bl get_map_light_level_from_warp @@ -2910,10 +2910,10 @@ get_map_light_from_warp0: @ 80561A0 bx r1 .align 2, 0 _080561B0: .4byte gUnknown_2031DB4 - thumb_func_end get_map_light_from_warp0 + thumb_func_end GetLastUsedWarpMapType - thumb_func_start sub_80561B4 -sub_80561B4: @ 80561B4 + thumb_func_start GetLastUsedWarpMapSectionId +GetLastUsedWarpMapSectionId: @ 80561B4 push {lr} ldr r1, _080561D4 @ =gUnknown_2031DB4 movs r0, 0 @@ -2931,7 +2931,7 @@ sub_80561B4: @ 80561B4 bx r1 .align 2, 0 _080561D4: .4byte gUnknown_2031DB4 - thumb_func_end sub_80561B4 + thumb_func_end GetLastUsedWarpMapSectionId thumb_func_start IsMapTypeOutdoors IsMapTypeOutdoors: @ 80561D8 @@ -2981,8 +2981,8 @@ _08056218: bx r1 thumb_func_end Overworld_MapTypeAllowsTeleportAndFly - thumb_func_start is_light_level_8_or_9 -is_light_level_8_or_9: @ 805621C + thumb_func_start IsMapTypeIndoors +IsMapTypeIndoors: @ 805621C push {lr} lsls r0, 24 movs r1, 0xF8 @@ -2998,10 +2998,10 @@ _08056230: _08056232: pop {r1} bx r1 - thumb_func_end is_light_level_8_or_9 + thumb_func_end IsMapTypeIndoors - thumb_func_start sav1_saved_warp2_map_get_name -sav1_saved_warp2_map_get_name: @ 8056238 + thumb_func_start GetSavedWarpRegionMapSectionId +GetSavedWarpRegionMapSectionId: @ 8056238 push {lr} ldr r0, _0805625C @ =gSaveBlock1Ptr ldr r1, [r0] @@ -3020,7 +3020,7 @@ sav1_saved_warp2_map_get_name: @ 8056238 bx r1 .align 2, 0 _0805625C: .4byte gSaveBlock1Ptr - thumb_func_end sav1_saved_warp2_map_get_name + thumb_func_end GetSavedWarpRegionMapSectionId thumb_func_start GetCurrentRegionMapSectionId GetCurrentRegionMapSectionId: @ 8056260 @@ -3044,8 +3044,8 @@ GetCurrentRegionMapSectionId: @ 8056260 _08056284: .4byte gSaveBlock1Ptr thumb_func_end GetCurrentRegionMapSectionId - thumb_func_start sav1_map_get_battletype -sav1_map_get_battletype: @ 8056288 + thumb_func_start GetCurrentMapBattleScene +GetCurrentMapBattleScene: @ 8056288 push {lr} ldr r0, _080562AC @ =gSaveBlock1Ptr ldr r1, [r0] @@ -3064,10 +3064,10 @@ sav1_map_get_battletype: @ 8056288 bx r1 .align 2, 0 _080562AC: .4byte gSaveBlock1Ptr - thumb_func_end sav1_map_get_battletype + thumb_func_end GetCurrentMapBattleScene - thumb_func_start sub_80562B0 -sub_80562B0: @ 80562B0 + thumb_func_start InitOverworldBgs +InitOverworldBgs: @ 80562B0 push {r4-r6,lr} mov r6, r8 push {r6} @@ -3091,7 +3091,7 @@ sub_80562B0: @ 80562B0 movs r1, 0x5 movs r2, 0x1 bl SetBgAttribute - ldr r0, _08056348 @ =gUnknown_3005018 + ldr r0, _08056348 @ =gBGTilemapBuffers2 mov r8, r0 movs r4, 0x80 lsls r4, 4 @@ -3099,11 +3099,11 @@ sub_80562B0: @ 80562B0 bl AllocZeroed mov r1, r8 str r0, [r1] - ldr r6, _0805634C @ =gUnknown_3005014 + ldr r6, _0805634C @ =gBGTilemapBuffers1 adds r0, r4, 0 bl AllocZeroed str r0, [r6] - ldr r5, _08056350 @ =gUnknown_300501C + ldr r5, _08056350 @ =gBGTilemapBuffers3 adds r0, r4, 0 bl AllocZeroed str r0, [r5] @@ -3127,10 +3127,10 @@ sub_80562B0: @ 80562B0 bx r0 .align 2, 0 _08056344: .4byte gUnknown_826D320 -_08056348: .4byte gUnknown_3005018 -_0805634C: .4byte gUnknown_3005014 -_08056350: .4byte gUnknown_300501C - thumb_func_end sub_80562B0 +_08056348: .4byte gBGTilemapBuffers2 +_0805634C: .4byte gBGTilemapBuffers1 +_08056350: .4byte gBGTilemapBuffers3 + thumb_func_end InitOverworldBgs thumb_func_start sub_8056354 sub_8056354: @ 8056354 @@ -3155,7 +3155,7 @@ sub_8056354: @ 8056354 movs r1, 0x5 movs r2, 0x1 bl SetBgAttribute - ldr r0, _080563E4 @ =gUnknown_3005018 + ldr r0, _080563E4 @ =gBGTilemapBuffers2 mov r8, r0 movs r4, 0x80 lsls r4, 4 @@ -3163,11 +3163,11 @@ sub_8056354: @ 8056354 bl AllocZeroed mov r1, r8 str r0, [r1] - ldr r6, _080563E8 @ =gUnknown_3005014 + ldr r6, _080563E8 @ =gBGTilemapBuffers1 adds r0, r4, 0 bl AllocZeroed str r0, [r6] - ldr r5, _080563EC @ =gUnknown_300501C + ldr r5, _080563EC @ =gBGTilemapBuffers3 adds r0, r4, 0 bl AllocZeroed str r0, [r5] @@ -3191,30 +3191,30 @@ sub_8056354: @ 8056354 bx r0 .align 2, 0 _080563E0: .4byte gUnknown_826D320 -_080563E4: .4byte gUnknown_3005018 -_080563E8: .4byte gUnknown_3005014 -_080563EC: .4byte gUnknown_300501C +_080563E4: .4byte gBGTilemapBuffers2 +_080563E8: .4byte gBGTilemapBuffers1 +_080563EC: .4byte gBGTilemapBuffers3 thumb_func_end sub_8056354 thumb_func_start CleanupOverworldWindowsAndTilemaps CleanupOverworldWindowsAndTilemaps: @ 80563F0 push {lr} bl FreeAllOverworldWindowBuffers - ldr r0, _08056414 @ =gUnknown_300501C + ldr r0, _08056414 @ =gBGTilemapBuffers3 ldr r0, [r0] bl Free - ldr r0, _08056418 @ =gUnknown_3005014 + ldr r0, _08056418 @ =gBGTilemapBuffers1 ldr r0, [r0] bl Free - ldr r0, _0805641C @ =gUnknown_3005018 + ldr r0, _0805641C @ =gBGTilemapBuffers2 ldr r0, [r0] bl Free pop {r0} bx r0 .align 2, 0 -_08056414: .4byte gUnknown_300501C -_08056418: .4byte gUnknown_3005014 -_0805641C: .4byte gUnknown_3005018 +_08056414: .4byte gBGTilemapBuffers3 +_08056418: .4byte gBGTilemapBuffers1 +_0805641C: .4byte gBGTilemapBuffers2 thumb_func_end CleanupOverworldWindowsAndTilemaps thumb_func_start sub_8056420 @@ -3347,8 +3347,8 @@ _08056522: _08056530: .4byte gUnknown_3005E90 thumb_func_end sub_80564C8 - thumb_func_start sub_8056534 -sub_8056534: @ 8056534 + thumb_func_start CB1_Overworld +CB1_Overworld: @ 8056534 push {r4,lr} ldr r4, _0805655C @ =gMain ldr r1, [r4, 0x4] @@ -3379,7 +3379,7 @@ _08056570: pop {r4} pop {r0} bx r0 - thumb_func_end sub_8056534 + thumb_func_end CB1_Overworld thumb_func_start sub_8056578 sub_8056578: @ 8056578 @@ -3430,14 +3430,14 @@ _080565D4: _080565DC: .4byte gPaletteFade thumb_func_end sub_80565B4 - thumb_func_start sub_80565E0 -sub_80565E0: @ 80565E0 + thumb_func_start SetMainCallback1 +SetMainCallback1: @ 80565E0 ldr r1, _080565E8 @ =gMain str r0, [r1] bx lr .align 2, 0 _080565E8: .4byte gMain - thumb_func_end sub_80565E0 + thumb_func_end SetMainCallback1 thumb_func_start map_post_load_hook_exec map_post_load_hook_exec: @ 80565EC @@ -3490,7 +3490,7 @@ _08056640: .4byte gFieldCallback thumb_func_start CB2_NewGame CB2_NewGame: @ 8056644 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks bl StopMapMusic bl sub_8056420 bl NewGameInitData @@ -3507,8 +3507,8 @@ CB2_NewGame: @ 8056644 ldr r0, _08056698 @ =gMain + 0x438 bl do_load_map_stuff_loop bl SetFieldVBlankCallback - ldr r0, _0805669C @ =sub_8056534 - bl sub_80565E0 + ldr r0, _0805669C @ =CB1_Overworld + bl SetMainCallback1 ldr r0, _080566A0 @ =sub_80565B4 bl SetMainCallback2 pop {r0} @@ -3518,7 +3518,7 @@ _0805668C: .4byte gFieldCallback _08056690: .4byte sub_807DF7C _08056694: .4byte gFieldCallback2 _08056698: .4byte gMain + 0x438 -_0805669C: .4byte sub_8056534 +_0805669C: .4byte CB1_Overworld _080566A0: .4byte sub_80565B4 thumb_func_end CB2_NewGame @@ -3537,7 +3537,7 @@ CB2_WhiteOut: @ 80566A4 lsrs r0, 24 cmp r0, 0x77 bls _08056702 - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks bl StopMapMusic bl sub_8056420 bl sub_8054BC8 @@ -3555,8 +3555,8 @@ CB2_WhiteOut: @ 80566A4 bl do_load_map_stuff_loop bl sub_8112364 bl SetFieldVBlankCallback - ldr r0, _08056714 @ =sub_8056534 - bl sub_80565E0 + ldr r0, _08056714 @ =CB1_Overworld + bl SetMainCallback1 ldr r0, _08056718 @ =sub_80565B4 bl SetMainCallback2 _08056702: @@ -3567,19 +3567,19 @@ _08056702: _08056708: .4byte gMain _0805670C: .4byte gFieldCallback _08056710: .4byte sub_807F5F0 -_08056714: .4byte sub_8056534 +_08056714: .4byte CB1_Overworld _08056718: .4byte sub_80565B4 thumb_func_end CB2_WhiteOut thumb_func_start CB2_LoadMap CB2_LoadMap: @ 805671C push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks bl ScriptContext1_Init bl ScriptContext2_Disable movs r0, 0 - bl sub_80565E0 - ldr r0, _08056740 @ =sub_80C9BFC + bl SetMainCallback1 + ldr r0, _08056740 @ =CB2_DoChangeMap bl SetMainCallback2 ldr r1, _08056744 @ =gMain ldr r0, _08056748 @ =sub_805674C @@ -3587,7 +3587,7 @@ CB2_LoadMap: @ 805671C pop {r0} bx r0 .align 2, 0 -_08056740: .4byte sub_80C9BFC +_08056740: .4byte CB2_DoChangeMap _08056744: .4byte gMain _08056748: .4byte sub_805674C thumb_func_end CB2_LoadMap @@ -3608,24 +3608,24 @@ sub_805674C: @ 805674C _08056768: .4byte gMain + 0x438 _0805676C: bl SetFieldVBlankCallback - ldr r0, _08056780 @ =sub_8056534 - bl sub_80565E0 + ldr r0, _08056780 @ =CB1_Overworld + bl SetMainCallback1 ldr r0, _08056784 @ =sub_80565B4 bl SetMainCallback2 _0805677C: pop {r0} bx r0 .align 2, 0 -_08056780: .4byte sub_8056534 +_08056780: .4byte CB1_Overworld _08056784: .4byte sub_80565B4 thumb_func_end sub_805674C - thumb_func_start sub_8056788 -sub_8056788: @ 8056788 + thumb_func_start CB2_ReturnToFieldCableClub +CB2_ReturnToFieldCableClub: @ 8056788 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks ldr r0, _080567A0 @ =gFieldCallback - ldr r1, _080567A4 @ =sub_807DE58 + ldr r1, _080567A4 @ =FieldCB_ReturnToFieldWirelessLink str r1, [r0] ldr r0, _080567A8 @ =c2_80567AC bl SetMainCallback2 @@ -3633,20 +3633,20 @@ sub_8056788: @ 8056788 bx r0 .align 2, 0 _080567A0: .4byte gFieldCallback -_080567A4: .4byte sub_807DE58 +_080567A4: .4byte FieldCB_ReturnToFieldWirelessLink _080567A8: .4byte c2_80567AC - thumb_func_end sub_8056788 + thumb_func_end CB2_ReturnToFieldCableClub thumb_func_start c2_80567AC c2_80567AC: @ 80567AC push {lr} ldr r0, _080567D0 @ =gMain + 0x438 - bl sub_8056A5C + bl map_loading_iteration_3 cmp r0, 0 beq _080567CC bl SetFieldVBlankCallback ldr r0, _080567D4 @ =c1_link_related - bl sub_80565E0 + bl SetMainCallback1 bl sub_80578D8 ldr r0, _080567D8 @ =sub_80565B4 bl SetMainCallback2 @@ -3671,7 +3671,7 @@ CB2_ReturnToField: @ 80567DC .align 2, 0 _080567F0: .4byte c2_exit_to_overworld_2_link _080567F4: - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks ldr r0, _08056804 @ =c2_exit_to_overworld_2_local bl SetMainCallback2 _080567FE: @@ -3722,26 +3722,26 @@ _08056850: .4byte sub_80565B4 thumb_func_start c2_8056854 c2_8056854: @ 8056854 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks bl StopMapMusic ldr r0, _08056878 @ =c1_link_related - bl sub_80565E0 + bl SetMainCallback1 bl sub_80578D8 ldr r0, _0805687C @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _08056888 ldr r1, _08056880 @ =gFieldCallback - ldr r0, _08056884 @ =sub_807DE58 + ldr r0, _08056884 @ =FieldCB_ReturnToFieldWirelessLink b _0805688C .align 2, 0 _08056878: .4byte c1_link_related _0805687C: .4byte gWirelessCommType _08056880: .4byte gFieldCallback -_08056884: .4byte sub_807DE58 +_08056884: .4byte FieldCB_ReturnToFieldWirelessLink _08056888: ldr r1, _080568A0 @ =gFieldCallback - ldr r0, _080568A4 @ =sub_807DDD0 + ldr r0, _080568A4 @ =FieldCB_ReturnToFieldWiredLink _0805688C: str r0, [r1] bl ScriptContext1_Init @@ -3751,13 +3751,13 @@ _0805688C: bx r0 .align 2, 0 _080568A0: .4byte gFieldCallback -_080568A4: .4byte sub_807DDD0 +_080568A4: .4byte FieldCB_ReturnToFieldWiredLink thumb_func_end c2_8056854 thumb_func_start CB2_ReturnToFieldWithOpenMenu CB2_ReturnToFieldWithOpenMenu: @ 80568A8 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks ldr r1, _080568BC @ =gFieldCallback2 ldr r0, _080568C0 @ =FieldCB2_ReturnToStartMenuInit str r0, [r1] @@ -3772,7 +3772,7 @@ _080568C0: .4byte FieldCB2_ReturnToStartMenuInit thumb_func_start sub_80568C4 sub_80568C4: @ 80568C4 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks ldr r1, _080568D8 @ =gFieldCallback ldr r0, _080568DC @ =sub_807DD44 str r0, [r1] @@ -3787,7 +3787,7 @@ _080568DC: .4byte sub_807DD44 thumb_func_start CB2_ReturnToFieldContinueScriptPlayMapMusic CB2_ReturnToFieldContinueScriptPlayMapMusic: @ 80568E0 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks ldr r1, _080568F4 @ =gFieldCallback ldr r0, _080568F8 @ =FieldCallback_ReturnToEventScript2 str r0, [r1] @@ -3802,7 +3802,7 @@ _080568F8: .4byte FieldCallback_ReturnToEventScript2 thumb_func_start CB2_Overworld CB2_Overworld: @ 80568FC push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks ldr r1, _08056910 @ =gFieldCallback ldr r0, _08056914 @ =sub_807DF7C str r0, [r1] @@ -3836,14 +3836,14 @@ _08056934: .4byte gMapHeader thumb_func_start CB2_ContinueSavedGame CB2_ContinueSavedGame: @ 8056938 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks bl StopMapMusic bl sub_8056420 bl set_current_map_header_from_sav1 bl sub_80550A8 bl UnfreezeObjectEvents bl sub_8054E40 - bl sub_80589E8 + bl InitMapFromSavedGame bl PlayTimeCounter_Start bl ScriptContext1_Init bl ScriptContext2_Disable @@ -3870,8 +3870,8 @@ _0805699C: ldr r0, _080569B0 @ =gFieldCallback ldr r1, _080569B4 @ =sub_8056918 str r1, [r0] - ldr r0, _080569B8 @ =sub_8056534 - bl sub_80565E0 + ldr r0, _080569B8 @ =CB1_Overworld + bl SetMainCallback1 bl CB2_ReturnToField _080569AC: pop {r0} @@ -3879,11 +3879,11 @@ _080569AC: .align 2, 0 _080569B0: .4byte gFieldCallback _080569B4: .4byte sub_8056918 -_080569B8: .4byte sub_8056534 +_080569B8: .4byte CB1_Overworld thumb_func_end CB2_ContinueSavedGame - thumb_func_start sub_80569BC -sub_80569BC: @ 80569BC + thumb_func_start FieldClearVBlankHBlankCallbacks +FieldClearVBlankHBlankCallbacks: @ 80569BC push {lr} bl sub_80CC87C lsls r0, 24 @@ -3915,7 +3915,7 @@ _080569F4: bl SetHBlankCallback pop {r0} bx r0 - thumb_func_end sub_80569BC + thumb_func_end FieldClearVBlankHBlankCallbacks thumb_func_start SetFieldVBlankCallback SetFieldVBlankCallback: @ 8056A04 @@ -3962,8 +3962,8 @@ _08056A52: _08056A58: .4byte gFlashEffectParams thumb_func_end InitCurrentFlashLevelScanlineEffect - thumb_func_start sub_8056A5C -sub_8056A5C: @ 8056A5C + thumb_func_start map_loading_iteration_3 +map_loading_iteration_3: @ 8056A5C push {r4,lr} adds r4, r0, 0 ldrb r0, [r4] @@ -3995,7 +3995,7 @@ _08056A78: .4byte _08056B58 .4byte _08056B6A _08056AB0: - bl sub_80562B0 + bl InitOverworldBgs bl ScriptContext1_Init bl ScriptContext2_Disable b _08056B62 @@ -4012,7 +4012,7 @@ _08056ACE: bl sub_8057074 bl sub_80571A8 bl sub_8057140 - bl sub_812B35C + bl SetHelpContextForMap b _08056B62 _08056AE4: bl InitCurrentFlashLevelScanlineEffect @@ -4084,7 +4084,7 @@ _08056B70: pop {r4} pop {r1} bx r1 - thumb_func_end sub_8056A5C + thumb_func_end map_loading_iteration_3 thumb_func_start sub_8056B78 sub_8056B78: @ 8056B78 @@ -4121,8 +4121,8 @@ _08056B94: .4byte _08056CC0 .4byte _08056BFA _08056BD0: - bl sub_80562B0 - bl sub_80569BC + bl InitOverworldBgs + bl FieldClearVBlankHBlankCallbacks adds r0, r5, 0 bl sub_8055920 b _08056CCA @@ -4152,7 +4152,7 @@ _08056BFE: bl sub_80CC534 bl sub_80CC59C _08056C16: - bl sub_812B35C + bl SetHelpContextForMap b _08056CCA .align 2, 0 _08056C1C: .4byte gQuestLogState @@ -4196,7 +4196,7 @@ _08056C72: bl InitTilesetAnimations b _08056CCA _08056C78: - bl sub_80561B4 + bl GetLastUsedWarpMapSectionId ldr r5, _08056CA4 @ =gMapHeader lsls r0, 24 lsrs r0, 24 @@ -4205,13 +4205,13 @@ _08056C78: beq _08056CA8 ldrb r0, [r5, 0x14] movs r1, 0x1 - bl sub_80F8154 + bl MapHasPreviewScreen_HandleQLState2 cmp r0, 0x1 bne _08056CA8 ldrb r0, [r5, 0x14] - bl sub_80F819C + bl MapPreview_LoadGfx ldrb r0, [r5, 0x14] - bl sub_80F8268 + bl MapPreview_StartForestTransition b _08056CCA .align 2, 0 _08056CA4: .4byte gMapHeader @@ -4266,7 +4266,7 @@ _08056CF0: .4byte _08056D26 .4byte _08056D38 _08056D04: - bl sub_80562B0 + bl InitOverworldBgs bl sub_8111F14 movs r0, 0 bl sub_8057024 @@ -4275,7 +4275,7 @@ _08056D04: b _08056D30 _08056D1C: bl sub_8056F08 - bl sub_812B35C + bl SetHelpContextForMap b _08056D30 _08056D26: bl map_post_load_hook_exec @@ -4331,8 +4331,8 @@ _08056D60: .4byte _08056E34 .4byte _08056E46 _08056D98: - bl sub_80562B0 - bl sub_80569BC + bl InitOverworldBgs + bl FieldClearVBlankHBlankCallbacks b _08056E3E _08056DA2: bl sub_8111F14 @@ -4343,7 +4343,7 @@ _08056DAE: bl sub_8057230 bl sub_8057100 bl sub_805715C - bl sub_812B35C + bl SetHelpContextForMap b _08056E3E _08056DC0: bl InitCurrentFlashLevelScanlineEffect @@ -4914,15 +4914,15 @@ _08057268: .4byte gLinkPlayers thumb_func_start sub_805726C sub_805726C: @ 805726C push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks ldr r1, _08057298 @ =gUnknown_2036E28 movs r0, 0x1 strb r0, [r1] bl ScriptContext1_Init bl ScriptContext2_Disable movs r0, 0 - bl sub_80565E0 - ldr r0, _0805729C @ =sub_80C9BFC + bl SetMainCallback1 + ldr r0, _0805729C @ =CB2_DoChangeMap bl SetMainCallback2 ldr r1, _080572A0 @ =gMain ldr r0, _080572A4 @ =sub_80572D8 @@ -4931,7 +4931,7 @@ sub_805726C: @ 805726C bx r0 .align 2, 0 _08057298: .4byte gUnknown_2036E28 -_0805729C: .4byte sub_80C9BFC +_0805729C: .4byte CB2_DoChangeMap _080572A0: .4byte gMain _080572A4: .4byte sub_80572D8 thumb_func_end sub_805726C @@ -4939,7 +4939,7 @@ _080572A4: .4byte sub_80572D8 thumb_func_start sub_80572A8 sub_80572A8: @ 80572A8 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks ldr r0, _080572D0 @ =gUnknown_2036E28 movs r1, 0x1 strb r1, [r0] @@ -4947,7 +4947,7 @@ sub_80572A8: @ 80572A8 bl ScriptContext1_Init bl ScriptContext2_Disable movs r0, 0 - bl sub_80565E0 + bl SetMainCallback1 ldr r0, _080572D4 @ =sub_80572D8 bl SetMainCallback2 pop {r0} @@ -4963,15 +4963,15 @@ sub_80572D8: @ 80572D8 ldr r0, _080572F4 @ =gMain + 0x438 bl sub_8057300 bl SetFieldVBlankCallback - ldr r0, _080572F8 @ =sub_8056534 - bl sub_80565E0 + ldr r0, _080572F8 @ =CB1_Overworld + bl SetMainCallback1 ldr r0, _080572FC @ =sub_80565B4 bl SetMainCallback2 pop {r0} bx r0 .align 2, 0 _080572F4: .4byte gMain + 0x438 -_080572F8: .4byte sub_8056534 +_080572F8: .4byte CB1_Overworld _080572FC: .4byte sub_80565B4 thumb_func_end sub_80572D8 @@ -5019,8 +5019,8 @@ _08057330: .4byte _08057404 .4byte _0805740A _0805735C: - bl sub_80562B0 - bl sub_80569BC + bl InitOverworldBgs + bl FieldClearVBlankHBlankCallbacks bl sub_8111F14 bl sub_81113E4 bl sub_8111438 @@ -5118,7 +5118,7 @@ _0805742A: thumb_func_start sub_8057430 sub_8057430: @ 8057430 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks bl StopMapMusic ldr r1, _08057484 @ =gUnknown_2036E28 movs r0, 0x3 @@ -5128,7 +5128,7 @@ sub_8057430: @ 8057430 bl sub_80550A8 bl UnfreezeObjectEvents bl sub_8054E40 - bl sub_80589E8 + bl InitMapFromSavedGame bl PlayTimeCounter_Start bl ScriptContext1_Init ldr r1, _08057488 @ =gUnknown_2031DE0 @@ -5148,14 +5148,14 @@ _08057484: .4byte gUnknown_2036E28 _08057488: .4byte gUnknown_2031DE0 _0805748C: .4byte CB2_LoadMap _08057490: - ldr r0, _080574A0 @ =sub_8056534 - bl sub_80565E0 + ldr r0, _080574A0 @ =CB1_Overworld + bl SetMainCallback1 bl CB2_ReturnToField _0805749A: pop {r0} bx r0 .align 2, 0 -_080574A0: .4byte sub_8056534 +_080574A0: .4byte CB1_Overworld thumb_func_end sub_8057430 thumb_func_start Overworld_CreditsMainCB @@ -5313,7 +5313,7 @@ _08057560: bl ScriptContext1_Init bl ScriptContext2_Disable movs r0, 0 - bl sub_80565E0 + bl SetMainCallback1 ldr r1, _08057614 @ =gFieldCallback2 ldr r0, _08057618 @ =sub_80574EC str r0, [r1] @@ -6809,7 +6809,7 @@ _080580F4: .4byte gUnknown_3000E80 _080580F8: .4byte CableClub_EventScript_TooBusyToNotice _080580FC: adds r0, r2, 0 - bl sub_8081A34 + bl GetSeeingLinkPlayerCardMsg cmp r0, 0 bne _08058110 ldr r0, _0805810C @ =CableClub_EventScript_ReadTrainerCard @@ -7880,7 +7880,7 @@ _080588BC: ldrb r0, [r4] lsls r0, 30 lsrs r0, 31 - bl sub_805C7F8 + bl GetHoennLinkPartnerGraphicsIdByGender _080588C6: lsls r0, 24 lsrs r0, 24 @@ -7979,7 +7979,7 @@ _08058978: _0805898A: adds r0, r5, 0 movs r1, 0 - bl sub_8068EB4 + bl UpdateObjectEventSpriteVisibility ldrb r0, [r6] lsls r0, 29 cmp r0, 0 diff --git a/asm/pokedex_screen.s b/asm/pokedex_screen.s index 345f3c83c..9dbbabd6f 100644 --- a/asm/pokedex_screen.s +++ b/asm/pokedex_screen.s @@ -1839,7 +1839,7 @@ _08106478: bl FillWindowPixelBuffer movs r0, 0xB0 movs r1, 0x1 - bl sub_8107D38 + bl ListMenuLoadStdPalAt mov r0, r10 cmp r0, 0 beq _08106504 diff --git a/asm/pokemon_jump.s b/asm/pokemon_jump.s deleted file mode 100644 index d94a5c8db..000000000 --- a/asm/pokemon_jump.s +++ /dev/null @@ -1,642 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81475C0 -sub_81475C0: @ 81475C0 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _08147600 @ =sub_8147654 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _08147604 @ =gTasks - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x8] - strh r5, [r0, 0xA] - ldr r0, _08147608 @ =gUnknown_846B4AC - lsls r5, 4 - adds r5, r0 - ldr r1, [r5] - adds r0, r4, 0 - bl _call_via_r1 - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08147600: .4byte sub_8147654 -_08147604: .4byte gTasks -_08147608: .4byte gUnknown_846B4AC - thumb_func_end sub_81475C0 - - thumb_func_start sub_814760C -sub_814760C: @ 814760C - push {lr} - ldr r0, _08147630 @ =sub_8147654 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _08147638 - ldr r0, _08147634 @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - movs r0, 0x2 - strh r0, [r1, 0x8] - movs r0, 0x1 - b _0814763A - .align 2, 0 -_08147630: .4byte sub_8147654 -_08147634: .4byte gTasks -_08147638: - movs r0, 0 -_0814763A: - pop {r1} - bx r1 - thumb_func_end sub_814760C - - thumb_func_start sub_8147640 -sub_8147640: @ 8147640 - push {lr} - ldr r0, _08147650 @ =sub_8147654 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_08147650: .4byte sub_8147654 - thumb_func_end sub_8147640 - - thumb_func_start sub_8147654 -sub_8147654: @ 8147654 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08147678 @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x3 - beq _081476A0 - cmp r0, 0x3 - bgt _0814767C - cmp r0, 0x2 - beq _08147682 - b _081476D6 - .align 2, 0 -_08147678: .4byte gTasks+0x8 -_0814767C: - cmp r0, 0x4 - beq _081476BC - b _081476D6 -_08147682: - ldr r1, _0814769C @ =gUnknown_846B4AC - movs r2, 0x2 - ldrsh r0, [r4, r2] - lsls r0, 4 - adds r1, 0x8 - adds r0, r1 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 - movs r0, 0x3 - strh r0, [r4] - b _081476D6 - .align 2, 0 -_0814769C: .4byte gUnknown_846B4AC -_081476A0: - ldr r0, _081476B8 @ =gUnknown_846B4AC - movs r2, 0x2 - ldrsh r1, [r4, r2] - lsls r1, 4 - adds r0, 0xC - adds r1, r0 - ldr r1, [r1] - adds r0, r5, 0 - bl _call_via_r1 - b _081476D6 - .align 2, 0 -_081476B8: .4byte gUnknown_846B4AC -_081476BC: - ldr r0, _081476DC @ =gUnknown_846B4AC - movs r2, 0x2 - ldrsh r1, [r4, r2] - lsls r1, 4 - adds r0, 0x4 - adds r1, r0 - ldr r1, [r1] - adds r0, r5, 0 - bl _call_via_r1 - adds r0, r5, 0 - bl DestroyTask -_081476D6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081476DC: .4byte gUnknown_846B4AC - thumb_func_end sub_8147654 - - thumb_func_start sub_81476E0 -sub_81476E0: @ 81476E0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r1, 0x6 - ldrsh r0, [r4, r1] - lsls r0, 3 - ldr r1, _081477B0 @ =gUnknown_846B42C - adds r0, r1 - bl LoadCompressedSpriteSheet - movs r2, 0x8 - ldrsh r0, [r4, r2] - lsls r0, 3 - ldr r1, _081477B4 @ =gUnknown_846B43C - adds r0, r1 - bl LoadSpritePalette - movs r5, 0 - movs r3, 0x10 - ldrsh r0, [r4, r3] - cmp r5, r0 - bge _08147748 -_08147714: - movs r0, 0x4 - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - ldr r1, _081477B8 @ =gUnknown_846B494 - adds r0, r1 - movs r2, 0x12 - ldrsh r1, [r4, r2] - movs r3, 0x14 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0xE] - bl CreateSprite - lsls r1, r5, 1 - adds r1, r4 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x1A] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r5, r0 - blt _08147714 -_08147748: - movs r5, 0 - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r5, r0 - bge _081477A4 - movs r7, 0x3 - movs r3, 0xD - negs r3, r3 - mov r12, r3 - ldr r6, _081477BC @ =gSprites -_0814775C: - lsls r0, r5, 1 - adds r0, r4 - movs r1, 0x1A - ldrsh r0, [r0, r1] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r6 - ldrb r1, [r4, 0xC] - ands r1, r7 - lsls r1, 2 - ldrb r3, [r2, 0x5] - mov r0, r12 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r4, 0xA] - strh r0, [r2, 0x30] - mov r3, r8 - strh r3, [r2, 0x34] - strh r5, [r2, 0x36] - ldrh r0, [r4, 0x1A] - strh r0, [r2, 0x38] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r5, r0 - blt _0814775C -_081477A4: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081477B0: .4byte gUnknown_846B42C -_081477B4: .4byte gUnknown_846B43C -_081477B8: .4byte gUnknown_846B494 -_081477BC: .4byte gSprites - thumb_func_end sub_81476E0 - - thumb_func_start sub_81477C0 -sub_81477C0: @ 81477C0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r1, _08147840 @ =gTasks+0x8 - adds r4, r1 - movs r5, 0 - strh r5, [r4, 0x4] - strh r5, [r4, 0x6] - strh r5, [r4, 0x8] - movs r1, 0x3C - strh r1, [r4, 0xA] - strh r5, [r4, 0xC] - strh r5, [r4, 0xE] - movs r1, 0x3 - strh r1, [r4, 0x10] - movs r1, 0x78 - strh r1, [r4, 0x12] - movs r1, 0x58 - strh r1, [r4, 0x14] - adds r1, r4, 0 - bl sub_81476E0 - movs r0, 0x1C - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _08147844 @ =gSprites - adds r0, r5 - movs r1, 0x4 - bl StartSpriteAnim - movs r0, 0x1C - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _08147848 @ =0x0000ffe0 - strh r1, [r0, 0x24] - movs r0, 0x1E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x5 - bl StartSpriteAnim - movs r0, 0x1E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x20 - strh r1, [r0, 0x24] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08147840: .4byte gTasks+0x8 -_08147844: .4byte gSprites -_08147848: .4byte 0x0000ffe0 - thumb_func_end sub_81477C0 - - thumb_func_start sub_814784C -sub_814784C: @ 814784C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08147860 @ =gTasks+0x8 - adds r4, r1, r0 - b _08147880 - .align 2, 0 -_08147860: .4byte gTasks+0x8 -_08147864: - lsls r0, r5, 1 - adds r0, r4 - movs r2, 0x1A - ldrsh r1, [r0, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _081478B0 @ =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_08147880: - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r5, r0 - blt _08147864 - ldr r1, _081478B4 @ =gUnknown_846B42C - movs r2, 0x6 - ldrsh r0, [r4, r2] - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x6] - bl FreeSpriteTilesByTag - ldr r1, _081478B8 @ =gUnknown_846B43C - movs r2, 0x8 - ldrsh r0, [r4, r2] - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081478B0: .4byte gSprites -_081478B4: .4byte gUnknown_846B42C -_081478B8: .4byte gUnknown_846B43C - thumb_func_end sub_814784C - - thumb_func_start sub_81478BC -sub_81478BC: @ 81478BC - push {r4-r6,lr} - adds r6, r0, 0 - movs r0, 0x34 - ldrsh r1, [r6, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _08147900 @ =gTasks+0x8 - adds r5, r0, r1 - movs r1, 0x16 - ldrsh r0, [r5, r1] - movs r2, 0xA - ldrsh r1, [r5, r2] - bl __modsi3 - cmp r0, 0 - bne _081479CE - ldrh r2, [r5, 0x16] - movs r3, 0x16 - ldrsh r1, [r5, r3] - movs r3, 0x14 - ldrsh r0, [r5, r3] - cmp r1, r0 - beq _081479CE - strh r2, [r5, 0x14] - movs r1, 0x32 - ldrsh r0, [r6, r1] - cmp r0, 0x4 - bhi _081479C8 - lsls r0, 2 - ldr r1, _08147904 @ =_08147908 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08147900: .4byte gTasks+0x8 -_08147904: .4byte _08147908 - .align 2, 0 -_08147908: - .4byte _0814791C - .4byte _0814792A - .4byte _0814792A - .4byte _0814793E - .4byte _08147988 -_0814791C: - adds r2, r6, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_0814792A: - movs r0, 0x31 - bl PlaySE - ldrh r1, [r6, 0x32] - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl StartSpriteAnim - b _081479C8 -_0814793E: - movs r0, 0x15 - bl PlaySE - ldrh r1, [r6, 0x32] - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl StartSpriteAnim - ldr r4, _08147984 @ =gSprites - movs r2, 0x1C - ldrsh r0, [r5, r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - movs r3, 0x1E - ldrsh r1, [r5, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - b _081479C8 - .align 2, 0 -_08147984: .4byte gSprites -_08147988: - adds r1, r6, 0 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r3, _081479C4 @ =gSprites - movs r0, 0x1C - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - movs r0, 0x1E - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - movs r0, 0x4 - strh r0, [r5] - b _081479CE - .align 2, 0 -_081479C4: .4byte gSprites -_081479C8: - ldrh r0, [r6, 0x32] - adds r0, 0x1 - strh r0, [r6, 0x32] -_081479CE: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81478BC - - thumb_func_start sub_81479D4 -sub_81479D4: @ 81479D4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r5, _08147A28 @ =gTasks+0x8 - adds r6, r4, r5 - movs r0, 0x31 - bl PlaySE - ldr r2, _08147A2C @ =gSprites - movs r0, 0x1A - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r2, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _08147A30 @ =sub_81478BC - str r1, [r0] - movs r0, 0x1A - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - subs r5, 0x8 - adds r4, r5 - movs r0, 0x3 - strh r0, [r4, 0x8] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08147A28: .4byte gTasks+0x8 -_08147A2C: .4byte gSprites -_08147A30: .4byte sub_81478BC - thumb_func_end sub_81479D4 - - thumb_func_start sub_8147A34 -sub_8147A34: @ 8147A34 - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08147A88 @ =gTasks+0x8 - adds r4, r1, r0 - ldr r0, _08147A8C @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08147A98 - ldr r1, _08147A90 @ =gRecvCmds - ldrh r0, [r1, 0x2] - ldr r5, _08147A94 @ =0x00007fff - cmp r0, r5 - bne _08147A5C - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x16] -_08147A5C: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _08147A9E - ldrh r0, [r4, 0x18] - adds r0, 0x1 - strh r0, [r4, 0x18] - mov r0, sp - movs r1, 0 - movs r2, 0xC - bl memset - mov r0, sp - strh r5, [r0] - mov r1, sp - ldrh r0, [r4, 0x18] - strh r0, [r1, 0x2] - mov r0, sp - bl sub_80F9E2C - b _08147A9E - .align 2, 0 -_08147A88: .4byte gTasks+0x8 -_08147A8C: .4byte gReceivedRemoteLinkPlayers -_08147A90: .4byte gRecvCmds -_08147A94: .4byte 0x00007fff -_08147A98: - ldrh r0, [r4, 0x16] - adds r0, 0x1 - strh r0, [r4, 0x16] -_08147A9E: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8147A34 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_jump_2.s b/asm/pokemon_jump_2.s deleted file mode 100644 index 5e6327c81..000000000 --- a/asm/pokemon_jump_2.s +++ /dev/null @@ -1,8055 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8147AA8 -sub_8147AA8: @ 8147AA8 - push {r4-r7,lr} - adds r6, r1, 0 - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, _08147B20 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08147B3C - ldr r5, _08147B24 @ =gUnknown_203F3D4 - ldr r0, _08147B28 @ =0x000083b0 - bl Alloc - str r0, [r5] - cmp r0, 0 - beq _08147B3C - bl ResetTasks - ldr r0, _08147B2C @ =sub_8147DA0 - movs r1, 0x1 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, [r5] - movs r1, 0 - strh r1, [r0, 0x8] - str r6, [r0] - strb r4, [r0, 0x4] - bl GetMultiplayerId - ldr r1, [r5] - strb r0, [r1, 0x6] - ldr r0, [r5] - ldrb r2, [r0, 0x6] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - ldr r2, _08147B30 @ =0x000082a8 - adds r1, r2 - adds r0, r1 - movs r1, 0x64 - muls r1, r7 - ldr r2, _08147B34 @ =gPlayerParty - adds r1, r2 - bl sub_8147D2C - ldr r0, [r5] - bl sub_8147B60 - ldr r2, [r5] - adds r0, r4, 0 - movs r1, 0x2 - bl SetWordTaskArg - ldr r0, _08147B38 @ =sub_8147D6C - bl SetMainCallback2 - b _08147B42 - .align 2, 0 -_08147B20: .4byte gReceivedRemoteLinkPlayers -_08147B24: .4byte gUnknown_203F3D4 -_08147B28: .4byte 0x000083b0 -_08147B2C: .4byte sub_8147DA0 -_08147B30: .4byte 0x000082a8 -_08147B34: .4byte gPlayerParty -_08147B38: .4byte sub_8147D6C -_08147B3C: - adds r0, r6, 0 - bl SetMainCallback2 -_08147B42: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8147AA8 - - thumb_func_start sub_8147B48 -sub_8147B48: @ 8147B48 - push {lr} - bl sub_8149D24 - ldr r0, _08147B5C @ =gUnknown_203F3D4 - ldr r0, [r0] - bl Free - pop {r0} - bx r0 - .align 2, 0 -_08147B5C: .4byte gUnknown_203F3D4 - thumb_func_end sub_8147B48 - - thumb_func_start sub_8147B60 -sub_8147B60: @ 8147B60 - push {r4,lr} - adds r4, r0, 0 - bl GetLinkPlayerCount - movs r2, 0 - strb r0, [r4, 0x5] - adds r1, r4, 0 - adds r1, 0x70 - movs r0, 0x5 - strb r0, [r1] - adds r0, r4, 0 - adds r0, 0x72 - strh r2, [r0] - bl sub_8147C20 - adds r0, r4, 0 - bl sub_8147B94 - ldrb r0, [r4, 0x5] - cmp r0, 0x5 - bne _08147B8E - bl sub_814B4E8 -_08147B8E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8147B60 - - thumb_func_start sub_8147B94 -sub_8147B94: @ 8147B94 - push {r4-r6,lr} - adds r4, r0, 0 - movs r0, 0x6 - str r0, [r4, 0x14] - str r0, [r4, 0x18] - adds r0, r4, 0 - adds r0, 0x4A - movs r6, 0 - movs r5, 0 - strh r5, [r0] - str r5, [r4, 0x1C] - str r5, [r4, 0x5C] - bl GetMultiplayerId - movs r1, 0 - lsls r0, 24 - cmp r0, 0 - bne _08147BBA - movs r1, 0x1 -_08147BBA: - adds r0, r4, 0 - adds r0, 0x47 - strb r1, [r0] - strh r5, [r4, 0x8] - strh r5, [r4, 0xA] - strh r5, [r4, 0xC] - strh r5, [r4, 0xE] - str r5, [r4, 0x58] - strh r5, [r4, 0x3A] - subs r0, 0x3 - strb r6, [r0] - str r5, [r4, 0x54] - adds r0, 0x2 - strb r6, [r0] - adds r0, 0x3 - strb r6, [r0] - subs r0, 0x1 - movs r1, 0x1 - strb r1, [r0] - str r5, [r4, 0x78] - adds r0, 0x29 - strb r6, [r0] - adds r0, 0x3 - strh r5, [r0] - str r1, [r4, 0x60] - subs r0, 0x27 - strb r6, [r0] - str r5, [r4, 0x68] - str r5, [r4, 0x64] - str r5, [r4, 0x2C] - str r5, [r4, 0x30] - bl sub_8147C98 - bl sub_81491E4 - movs r2, 0 - adds r5, r4, 0 - adds r5, 0x7C - movs r3, 0 - adds r1, r4, 0 - adds r1, 0x9A -_08147C0C: - adds r0, r5, r2 - strb r3, [r0] - strh r3, [r1] - adds r1, 0x2 - adds r2, 0x1 - cmp r2, 0x4 - ble _08147C0C - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8147B94 - - thumb_func_start sub_8147C20 -sub_8147C20: @ 8147C20 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r7, _08147C80 @ =gUnknown_203F3D4 - movs r6, 0 - movs r5, 0 - ldr r0, _08147C84 @ =gUnknown_846B4BC - mov r8, r0 - movs r4, 0x4 -_08147C32: - ldr r0, [r7] - adds r0, r5 - ldr r1, _08147C88 @ =0x000082a8 - adds r0, r1 - ldrh r0, [r0] - bl sub_8147D00 - lsls r0, 16 - ldr r1, [r7] - adds r1, r6 - asrs r0, 14 - add r0, r8 - ldrh r0, [r0, 0x2] - ldr r2, _08147C8C @ =0x000082f0 - adds r1, r2 - strh r0, [r1] - adds r6, 0x28 - adds r5, 0xC - subs r4, 0x1 - cmp r4, 0 - bge _08147C32 - ldr r0, _08147C80 @ =gUnknown_203F3D4 - ldr r1, [r0] - ldr r0, _08147C90 @ =0x000083ac - adds r3, r1, r0 - ldrb r2, [r1, 0x6] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r2, _08147C94 @ =0x000082e4 - adds r0, r2 - adds r1, r0 - str r1, [r3] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08147C80: .4byte gUnknown_203F3D4 -_08147C84: .4byte gUnknown_846B4BC -_08147C88: .4byte 0x000082a8 -_08147C8C: .4byte 0x000082f0 -_08147C90: .4byte 0x000083ac -_08147C94: .4byte 0x000082e4 - thumb_func_end sub_8147C20 - - thumb_func_start sub_8147C98 -sub_8147C98: @ 8147C98 - push {r4-r7,lr} - movs r5, 0 - ldr r6, _08147CE8 @ =gUnknown_203F3D4 - movs r4, 0 - movs r3, 0 -_08147CA2: - ldr r2, [r6] - adds r1, r2, r3 - ldr r7, _08147CEC @ =0x000082f2 - adds r0, r1, r7 - strh r4, [r0] - adds r7, 0x2 - adds r0, r1, r7 - strh r4, [r0] - ldr r0, _08147CF0 @ =0x000082f6 - adds r1, r0 - strh r4, [r1] - ldr r1, _08147CF4 @ =0x000082e4 - adds r0, r2, r1 - adds r0, r3 - str r4, [r0] - subs r7, 0xC - adds r0, r2, r7 - adds r0, r3 - ldr r1, _08147CF8 @ =0x7fffffff - str r1, [r0] - ldr r1, _08147CFC @ =0x000082f8 - adds r0, r2, r1 - adds r0, r3 - str r4, [r0] - adds r2, 0x8B - adds r2, r5 - movs r0, 0x9 - strb r0, [r2] - adds r3, 0x28 - adds r5, 0x1 - cmp r5, 0x4 - ble _08147CA2 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08147CE8: .4byte gUnknown_203F3D4 -_08147CEC: .4byte 0x000082f2 -_08147CF0: .4byte 0x000082f6 -_08147CF4: .4byte 0x000082e4 -_08147CF8: .4byte 0x7fffffff -_08147CFC: .4byte 0x000082f8 - thumb_func_end sub_8147C98 - - thumb_func_start sub_8147D00 -sub_8147D00: @ 8147D00 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r1, 0 - ldr r2, _08147D18 @ =gUnknown_846B4BC -_08147D0A: - ldrh r0, [r2] - cmp r0, r3 - bne _08147D1C - lsls r0, r1, 16 - asrs r0, 16 - b _08147D28 - .align 2, 0 -_08147D18: .4byte gUnknown_846B4BC -_08147D1C: - adds r2, 0x4 - adds r1, 0x1 - cmp r1, 0x63 - bls _08147D0A - movs r0, 0x1 - negs r0, r0 -_08147D28: - pop {r1} - bx r1 - thumb_func_end sub_8147D00 - - thumb_func_start sub_8147D2C -sub_8147D2C: @ 8147D2C - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - strh r0, [r5] - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - str r0, [r5, 0x4] - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - str r0, [r5, 0x8] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8147D2C - - thumb_func_start sub_8147D58 -sub_8147D58: @ 8147D58 - push {lr} - bl TransferPlttBuffer - bl LoadOam - bl ProcessSpriteCopyRequests - pop {r0} - bx r0 - thumb_func_end sub_8147D58 - - thumb_func_start sub_8147D6C -sub_8147D6C: @ 8147D6C - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_8147D6C - - thumb_func_start sub_8147D84 -sub_8147D84: @ 8147D84 - push {lr} - movs r1, 0x1 - bl CreateTask - ldr r2, _08147D9C @ =gUnknown_203F3D4 - ldr r1, [r2] - movs r3, 0 - strb r0, [r1, 0x4] - ldr r0, [r2] - strh r3, [r0, 0x8] - pop {r0} - bx r0 - .align 2, 0 -_08147D9C: .4byte gUnknown_203F3D4 - thumb_func_end sub_8147D84 - - thumb_func_start sub_8147DA0 -sub_8147DA0: @ 8147DA0 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08147DC0 @ =gUnknown_203F3D4 - ldr r0, [r1] - ldrh r0, [r0, 0x8] - adds r2, r1, 0 - cmp r0, 0x5 - bls _08147DB6 - b _08147F04 -_08147DB6: - lsls r0, 2 - ldr r1, _08147DC4 @ =_08147DC8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08147DC0: .4byte gUnknown_203F3D4 -_08147DC4: .4byte _08147DC8 - .align 2, 0 -_08147DC8: - .4byte _08147DE0 - .4byte _08147E0C - .4byte _08147E3C - .4byte _08147E64 - .4byte _08147EA0 - .4byte _08147ECC -_08147DE0: - movs r0, 0 - bl SetVBlankCallback - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, _08147E04 @ =sub_8148E80 - movs r1, 0x5 - bl sub_8148F5C - movs r0, 0x4 - bl FadeOutMapMusic - ldr r0, _08147E08 @ =gUnknown_203F3D4 - ldr r1, [r0] - b _08147EBC - .align 2, 0 -_08147E04: .4byte sub_8148E80 -_08147E08: .4byte gUnknown_203F3D4 -_08147E0C: - ldr r0, _08147E34 @ =sub_8148E80 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _08147F04 - ldr r4, _08147E38 @ =gUnknown_203F3D4 - ldr r0, [r4] - adds r0, 0xA4 - bl sub_8149CEC - bl LoadWirelessStatusIndicatorSpriteGfx - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - ldr r1, [r4] - b _08147EBC - .align 2, 0 -_08147E34: .4byte sub_8148E80 -_08147E38: .4byte gUnknown_203F3D4 -_08147E3C: - bl sub_8149D68 - cmp r0, 0 - bne _08147F04 - bl IsNotWaitingForBGMStop - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08147F04 - movs r0, 0xA3 - lsls r0, 1 - movs r1, 0x8 - bl FadeOutAndPlayNewMapMusic - ldr r0, _08147E60 @ =gUnknown_203F3D4 - ldr r1, [r0] - b _08147EBC - .align 2, 0 -_08147E60: .4byte gUnknown_203F3D4 -_08147E64: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08147F04 - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - adds r1, r4, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _08147E98 @ =sub_8147D58 - bl SetVBlankCallback - ldr r0, _08147E9C @ =gUnknown_203F3D4 - ldr r1, [r0] - b _08147EBC - .align 2, 0 -_08147E98: .4byte sub_8147D58 -_08147E9C: .4byte gUnknown_203F3D4 -_08147EA0: - bl UpdatePaletteFade - ldr r0, _08147EC4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _08147F04 - ldr r1, _08147EC8 @ =gUnknown_203F3D4 - ldr r0, [r1] - strb r2, [r0, 0x7] - ldr r1, [r1] -_08147EBC: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _08147F04 - .align 2, 0 -_08147EC4: .4byte gPaletteFade -_08147EC8: .4byte gUnknown_203F3D4 -_08147ECC: - ldr r0, [r2] - ldrb r1, [r0, 0x7] - adds r1, 0x1 - strb r1, [r0, 0x7] - ldr r1, [r2] - ldrb r0, [r1, 0x7] - cmp r0, 0x13 - bls _08147F04 - adds r0, r1, 0 - adds r0, 0x47 - ldrb r0, [r0] - cmp r0, 0 - beq _08147EF4 - ldr r0, _08147EF0 @ =sub_814807C - bl sub_8147D84 - b _08147EFA - .align 2, 0 -_08147EF0: .4byte sub_814807C -_08147EF4: - ldr r0, _08147F0C @ =sub_8148290 - bl sub_8147D84 -_08147EFA: - bl sub_8148F7C - adds r0, r4, 0 - bl DestroyTask -_08147F04: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08147F0C: .4byte sub_8148290 - thumb_func_end sub_8147DA0 - - thumb_func_start sub_8147F10 -sub_8147F10: @ 8147F10 - push {lr} - adds r1, r0, 0 - cmp r1, 0 - bne _08147F30 - ldr r0, _08147F28 @ =gUnknown_203F3D4 - ldr r1, [r0] - ldr r0, _08147F2C @ =0x00001111 - str r0, [r1, 0x30] - movs r0, 0x1 - str r0, [r1, 0x2C] - b _08147F42 - .align 2, 0 -_08147F28: .4byte gUnknown_203F3D4 -_08147F2C: .4byte 0x00001111 -_08147F30: - ldr r0, _08147F48 @ =gUnknown_203F3D4 - ldr r2, [r0] - subs r1, 0x1 - movs r0, 0x1 - lsls r0, r1 - subs r0, 0x1 - str r0, [r2, 0x30] - movs r0, 0 - str r0, [r2, 0x2C] -_08147F42: - pop {r0} - bx r0 - .align 2, 0 -_08147F48: .4byte gUnknown_203F3D4 - thumb_func_end sub_8147F10 - - thumb_func_start sub_8147F4C -sub_8147F4C: @ 8147F4C - push {r4-r6,lr} - ldr r4, _08147F98 @ =gUnknown_203F3D4 - ldr r1, [r4] - adds r1, 0x70 - movs r2, 0 - strb r0, [r1] - ldr r0, [r4] - movs r3, 0 - strh r2, [r0, 0x8] - strh r2, [r0, 0xA] - adds r0, 0x48 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x49 - strb r3, [r0] - movs r3, 0x1 - ldr r0, [r4] - ldrb r0, [r0, 0x5] - cmp r3, r0 - bge _08147F90 - adds r6, r4, 0 - ldr r5, _08147F9C @ =0x000082fc - movs r4, 0 - movs r2, 0x28 -_08147F7E: - ldr r1, [r6] - adds r0, r1, r5 - adds r0, r2 - str r4, [r0] - adds r2, 0x28 - adds r3, 0x1 - ldrb r1, [r1, 0x5] - cmp r3, r1 - blt _08147F7E -_08147F90: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08147F98: .4byte gUnknown_203F3D4 -_08147F9C: .4byte 0x000082fc - thumb_func_end sub_8147F4C - - thumb_func_start sub_8147FA0 -sub_8147FA0: @ 8147FA0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r4, 0x1 - movs r0, 0 - str r0, [sp, 0x4] - ldr r7, _08148068 @ =gUnknown_203F3D4 - ldr r0, [r7] - ldrb r0, [r0, 0x5] - cmp r4, r0 - bge _08148044 - adds r1, r7, 0 - mov r10, r1 - movs r2, 0x2 - add r2, sp - mov r8, r2 - ldr r3, _0814806C @ =0x0000830c - mov r9, r3 - movs r6, 0x28 -_08147FCC: - mov r1, r10 - ldr r0, [r1] - adds r1, r0, r6 - ldr r2, _08148070 @ =0x000082f4 - adds r1, r2 - ldrh r5, [r1] - add r0, r9 - adds r1, r4, 0 - mov r2, sp - mov r3, r8 - bl sub_8149C24 - cmp r0, 0 - beq _0814800C - ldr r2, [r7] - lsls r1, r4, 1 - adds r0, r2, 0 - adds r0, 0x90 - adds r0, r1 - mov r3, r8 - ldrh r1, [r3] - strh r1, [r0] - adds r2, 0x8B - adds r2, r4 - mov r0, sp - ldrb r0, [r0] - strb r0, [r2] - ldr r0, [r7] - adds r0, r6 - ldr r1, _08148074 @ =0x000082f6 - adds r0, r1 - strh r5, [r0] -_0814800C: - mov r2, r10 - ldr r1, [r2] - ldr r3, _08148078 @ =0x000082fc - adds r0, r1, r3 - adds r0, r6 - ldr r0, [r0] - cmp r0, 0 - beq _08148032 - adds r0, r1, 0 - adds r0, 0x8B - adds r0, r4 - adds r1, 0x70 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bne _08148032 - ldr r0, [sp, 0x4] - adds r0, 0x1 - str r0, [sp, 0x4] -_08148032: - movs r1, 0x28 - add r9, r1 - adds r6, 0x28 - adds r4, 0x1 - ldr r7, _08148068 @ =gUnknown_203F3D4 - ldr r0, [r7] - ldrb r0, [r0, 0x5] - cmp r4, r0 - blt _08147FCC -_08148044: - ldr r2, _08148068 @ =gUnknown_203F3D4 - ldr r1, [r2] - ldrb r0, [r1, 0x5] - subs r0, 0x1 - ldr r3, [sp, 0x4] - cmp r3, r0 - bne _08148058 - adds r1, 0x49 - movs r0, 0x1 - strb r0, [r1] -_08148058: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08148068: .4byte gUnknown_203F3D4 -_0814806C: .4byte 0x0000830c -_08148070: .4byte 0x000082f4 -_08148074: .4byte 0x000082f6 -_08148078: .4byte 0x000082fc - thumb_func_end sub_8147FA0 - - thumb_func_start sub_814807C -sub_814807C: @ 814807C - push {r4,r5,lr} - bl sub_8147FA0 - bl sub_8149534 - ldr r0, _081480F8 @ =gUnknown_203F3D4 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x48 - ldrb r0, [r0] - cmp r0, 0 - bne _081480AE - adds r0, r1, 0 - adds r0, 0x49 - ldrb r0, [r0] - cmp r0, 0 - beq _081480AE - adds r0, r1, 0 - adds r0, 0x4C - ldrb r0, [r0] - bl sub_8147F4C - movs r0, 0x3 - bl sub_8147F10 -_081480AE: - ldr r4, _081480F8 @ =gUnknown_203F3D4 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x48 - ldrb r5, [r0] - cmp r5, 0x1 - bne _081480EA - ldr r1, _081480FC @ =gUnknown_846B64C - adds r0, 0x28 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - adds r1, r0, 0 - cmp r1, 0 - bne _081480EA - ldr r0, [r4] - adds r0, 0x48 - strb r1, [r0] - ldr r1, [r4] - ldrb r2, [r1, 0x6] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r2, _08148100 @ =0x000082fc - adds r1, r2 - adds r1, r0 - str r5, [r1] -_081480EA: - bl sub_81492D8 - bl sub_8148104 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081480F8: .4byte gUnknown_203F3D4 -_081480FC: .4byte gUnknown_846B64C -_08148100: .4byte 0x000082fc - thumb_func_end sub_814807C - - thumb_func_start sub_8148104 -sub_8148104: @ 8148104 - push {r4,lr} - ldr r4, _08148134 @ =gUnknown_203F3D4 - ldr r1, [r4] - ldr r0, [r1, 0x2C] - cmp r0, 0 - bne _0814811A - ldr r2, _08148138 @ =0x000082e4 - adds r0, r1, r2 - adds r1, 0x70 - bl sub_8149AF8 -_0814811A: - ldr r1, [r4] - ldr r2, [r1, 0x30] - ldr r0, _0814813C @ =0x00001111 - cmp r2, r0 - beq _0814812C - ldr r0, [r1, 0x2C] - adds r0, 0x1 - ands r0, r2 - str r0, [r1, 0x2C] -_0814812C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08148134: .4byte gUnknown_203F3D4 -_08148138: .4byte 0x000082e4 -_0814813C: .4byte 0x00001111 - thumb_func_end sub_8148104 - - thumb_func_start sub_8148140 -sub_8148140: @ 8148140 - ldr r2, _0814816C @ =gUnknown_203F3D4 - ldr r1, [r2] - adds r1, 0x70 - movs r3, 0 - strb r0, [r1] - ldr r0, [r2] - strh r3, [r0, 0x8] - strh r3, [r0, 0xA] - adds r0, 0x48 - movs r1, 0x1 - strb r1, [r0] - ldr r1, [r2] - ldrb r2, [r1, 0x6] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r2, _08148170 @ =0x000082fc - adds r1, r2 - adds r1, r0 - str r3, [r1] - bx lr - .align 2, 0 -_0814816C: .4byte gUnknown_203F3D4 -_08148170: .4byte 0x000082fc - thumb_func_end sub_8148140 - - thumb_func_start sub_8148174 -sub_8148174: @ 8148174 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - ldr r4, _081481F0 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldr r2, _081481F4 @ =0x000082f4 - adds r1, r0, r2 - ldrh r1, [r1] - mov r8, r1 - ldr r3, _081481F8 @ =0x000082e4 - adds r0, r3 - mov r1, sp - bl sub_8149B7C - cmp r0, 0 - beq _08148224 - ldr r2, [r4] - ldrb r0, [r2, 0x6] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r3, _081481FC @ =0x000082fc - adds r0, r2, r3 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x1 - bne _081481C2 - mov r0, sp - adds r1, r2, 0 - adds r1, 0x70 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - beq _081481C2 - mov r0, sp - ldrb r0, [r0] - bl sub_8148140 -_081481C2: - ldr r3, _081481F0 @ =gUnknown_203F3D4 - ldr r2, [r3] - ldr r0, [r2, 0x78] - ldr r1, [sp, 0x8] - cmp r0, r1 - beq _08148204 - str r1, [r2, 0x78] - movs r4, 0x1 - str r4, [r2, 0x5C] - mov r0, sp - ldrb r1, [r0, 0x1] - adds r0, r2, 0 - adds r0, 0x71 - strb r1, [r0] - ldr r0, [r3] - adds r1, r0, 0 - adds r1, 0x71 - ldrb r1, [r1] - cmp r1, 0 - beq _08148200 - adds r0, 0x4D - strb r4, [r0] - b _08148204 - .align 2, 0 -_081481F0: .4byte gUnknown_203F3D4 -_081481F4: .4byte 0x000082f4 -_081481F8: .4byte 0x000082e4 -_081481FC: .4byte 0x000082fc -_08148200: - adds r0, 0x4D - strb r1, [r0] -_08148204: - ldr r0, _08148280 @ =gUnknown_203F3D4 - ldr r1, [r0] - mov r0, sp - ldrh r0, [r0, 0x2] - adds r2, r1, 0 - adds r2, 0x72 - strh r0, [r2] - mov r0, sp - ldrh r2, [r0, 0x4] - adds r0, r1, 0 - adds r0, 0x74 - strh r2, [r0] - ldr r0, _08148284 @ =0x000082f6 - adds r1, r0 - mov r2, r8 - strh r2, [r1] -_08148224: - movs r4, 0x1 - ldr r2, _08148280 @ =gUnknown_203F3D4 - ldr r0, [r2] - ldrb r0, [r0, 0x5] - cmp r4, r0 - bge _08148272 - adds r7, r2, 0 - ldr r6, _08148288 @ =0x0000830c - movs r5, 0x28 -_08148236: - ldr r1, [r7] - ldrb r3, [r1, 0x6] - cmp r4, r3 - beq _08148264 - adds r0, r1, r5 - ldr r3, _0814828C @ =0x000082f4 - adds r0, r3 - ldrh r0, [r0] - mov r8, r0 - adds r0, r1, r6 - adds r1, r4, 0 - str r2, [sp, 0xC] - bl sub_8149C90 - ldr r2, [sp, 0xC] - cmp r0, 0 - beq _08148264 - ldr r0, [r7] - adds r0, r5 - ldr r1, _08148284 @ =0x000082f6 - adds r0, r1 - mov r3, r8 - strh r3, [r0] -_08148264: - adds r6, 0x28 - adds r5, 0x28 - adds r4, 0x1 - ldr r0, [r2] - ldrb r0, [r0, 0x5] - cmp r4, r0 - blt _08148236 -_08148272: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08148280: .4byte gUnknown_203F3D4 -_08148284: .4byte 0x000082f6 -_08148288: .4byte 0x0000830c -_0814828C: .4byte 0x000082f4 - thumb_func_end sub_8148174 - - thumb_func_start sub_8148290 -sub_8148290: @ 8148290 - push {r4,lr} - bl sub_8148174 - ldr r4, _081482EC @ =gUnknown_203F3D4 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x48 - ldrb r0, [r0] - cmp r0, 0 - beq _081482DC - ldr r1, _081482F0 @ =gUnknown_846B670 - adds r0, r2, 0 - adds r0, 0x70 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - adds r1, r0, 0 - cmp r1, 0 - bne _081482DC - ldr r0, [r4] - adds r0, 0x48 - strb r1, [r0] - ldr r1, [r4] - ldrb r2, [r1, 0x6] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r2, _081482F4 @ =0x000082fc - adds r1, r2 - adds r1, r0 - movs r0, 0x1 - str r0, [r1] - movs r0, 0x3 - bl sub_8147F10 -_081482DC: - bl sub_81492D8 - bl sub_81482F8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081482EC: .4byte gUnknown_203F3D4 -_081482F0: .4byte gUnknown_846B670 -_081482F4: .4byte 0x000082fc - thumb_func_end sub_8148290 - - thumb_func_start sub_81482F8 -sub_81482F8: @ 81482F8 - push {r4,lr} - ldr r4, _08148338 @ =gUnknown_203F3D4 - ldr r2, [r4] - ldr r0, [r2, 0x2C] - cmp r0, 0 - bne _08148320 - ldrb r1, [r2, 0x6] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _0814833C @ =0x000082e4 - adds r0, r1 - adds r0, r2, r0 - adds r1, r2, 0 - adds r1, 0x70 - ldrb r1, [r1] - adds r2, 0x42 - ldrh r2, [r2] - bl sub_8149BF4 -_08148320: - ldr r1, [r4] - ldr r2, [r1, 0x30] - ldr r0, _08148340 @ =0x00001111 - cmp r2, r0 - beq _08148332 - ldr r0, [r1, 0x2C] - adds r0, 0x1 - ands r0, r2 - str r0, [r1, 0x2C] -_08148332: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08148338: .4byte gUnknown_203F3D4 -_0814833C: .4byte 0x000082e4 -_08148340: .4byte 0x00001111 - thumb_func_end sub_81482F8 - - thumb_func_start sub_8148344 -sub_8148344: @ 8148344 - push {r4,lr} - ldr r4, _08148358 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _0814835C - cmp r0, 0x1 - beq _0814836A - b _08148390 - .align 2, 0 -_08148358: .4byte gUnknown_203F3D4 -_0814835C: - movs r0, 0x3 - bl sub_8147F10 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0814836A: - bl sub_81488DC - cmp r0, 0 - bne _08148390 - ldr r0, _0814838C @ =gUnknown_203F3D4 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x4A - ldrh r0, [r0] - adds r2, r1, 0 - adds r2, 0x72 - strh r0, [r2] - adds r1, 0x4C - movs r0, 0x1 - strb r0, [r1] - movs r0, 0 - b _08148392 - .align 2, 0 -_0814838C: .4byte gUnknown_203F3D4 -_08148390: - movs r0, 0x1 -_08148392: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8148344 - - thumb_func_start sub_8148398 -sub_8148398: @ 8148398 - push {r4,lr} - ldr r4, _081483AC @ =gUnknown_203F3D4 - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _081483B0 - cmp r0, 0x1 - beq _081483C6 - movs r0, 0x1 - b _081483CA - .align 2, 0 -_081483AC: .4byte gUnknown_203F3D4 -_081483B0: - movs r0, 0 - bl sub_8147F10 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x72 - ldrh r0, [r0] - str r0, [r1, 0x24] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_081483C6: - bl sub_81488DC -_081483CA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8148398 - - thumb_func_start sub_81483D0 -sub_81483D0: @ 81483D0 - push {r4,lr} - ldr r4, _081483E4 @ =gUnknown_203F3D4 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - cmp r0, 0 - beq _081483E8 - cmp r0, 0x1 - beq _081483FC - b _08148410 - .align 2, 0 -_081483E4: .4byte gUnknown_203F3D4 -_081483E8: - bl sub_81491E4 - movs r0, 0x5 - bl sub_8147F10 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _08148410 -_081483FC: - adds r0, r1, 0 - adds r0, 0x49 - ldrb r0, [r0] - cmp r0, 0 - beq _08148410 - adds r1, 0x4C - movs r0, 0x2 - strb r0, [r1] - movs r0, 0 - b _08148412 -_08148410: - movs r0, 0x1 -_08148412: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81483D0 - - thumb_func_start sub_8148418 -sub_8148418: @ 8148418 - push {r4,lr} - ldr r4, _0814842C @ =gUnknown_203F3D4 - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _08148430 - cmp r0, 0x1 - beq _0814844E - b _0814845A - .align 2, 0 -_0814842C: .4byte gUnknown_203F3D4 -_08148430: - bl sub_81491E4 - movs r0, 0 - bl sub_8147F10 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x72 - ldrh r0, [r0] - adds r2, r1, 0 - adds r2, 0x4A - strh r0, [r2] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0814844E: - bl sub_8149804 - cmp r0, 0 - beq _0814845A - movs r0, 0 - b _0814845C -_0814845A: - movs r0, 0x1 -_0814845C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8148418 - - thumb_func_start sub_8148464 -sub_8148464: @ 8148464 - push {lr} - bl sub_81489C8 - cmp r0, 0 - bne _0814848C - ldr r0, _08148488 @ =gUnknown_203F3D4 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x4A - ldrh r0, [r0] - adds r2, r1, 0 - adds r2, 0x72 - strh r0, [r2] - adds r1, 0x4C - movs r0, 0x1 - strb r0, [r1] - b _081484A6 - .align 2, 0 -_08148488: .4byte gUnknown_203F3D4 -_0814848C: - bl sub_8149630 - cmp r0, 0 - beq _08148498 - movs r0, 0x1 - b _081484A8 -_08148498: - bl sub_81491B4 - ldr r0, _081484AC @ =gUnknown_203F3D4 - ldr r0, [r0] - adds r0, 0x4C - movs r1, 0x3 - strb r1, [r0] -_081484A6: - movs r0, 0 -_081484A8: - pop {r1} - bx r1 - .align 2, 0 -_081484AC: .4byte gUnknown_203F3D4 - thumb_func_end sub_8148464 - - thumb_func_start sub_81484B0 -sub_81484B0: @ 81484B0 - push {lr} - bl sub_81489C8 - cmp r0, 0 - beq _081484CA - bl sub_8149630 - cmp r0, 0 - beq _081484C6 - movs r0, 0x1 - b _081484CC -_081484C6: - bl sub_81491B4 -_081484CA: - movs r0, 0 -_081484CC: - pop {r1} - bx r1 - thumb_func_end sub_81484B0 - - thumb_func_start sub_81484D0 -sub_81484D0: @ 81484D0 - push {r4,lr} - ldr r4, _081484E8 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0x1 - beq _08148508 - cmp r0, 0x1 - bgt _081484EC - cmp r0, 0 - beq _081484F2 - b _08148564 - .align 2, 0 -_081484E8: .4byte gUnknown_203F3D4 -_081484EC: - cmp r0, 0x2 - beq _0814855C - b _08148564 -_081484F2: - bl sub_8149630 - bl sub_81496D4 - cmp r0, 0 - beq _08148564 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _08148564 -_08148508: - bl sub_8148A60 - cmp r0, 0 - bne _08148564 - bl sub_81498B4 - cmp r0, 0 - beq _0814852A - bl sub_81498D8 - ldr r1, [r4] - adds r2, r1, 0 - adds r2, 0x72 - strh r0, [r2] - adds r1, 0x4C - movs r0, 0x7 - b _08148550 -_0814852A: - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x74 - ldrh r0, [r0] - cmp r0, 0xC7 - bls _08148544 - ldrh r0, [r1, 0xE] - adds r2, r1, 0 - adds r2, 0x72 - strh r0, [r2] - adds r1, 0x4C - movs r0, 0x8 - b _08148550 -_08148544: - ldrh r0, [r1, 0xE] - adds r2, r1, 0 - adds r2, 0x72 - strh r0, [r2] - adds r1, 0x4C - movs r0, 0x4 -_08148550: - strb r0, [r1] - ldr r0, _08148560 @ =gUnknown_203F3D4 - ldr r1, [r0] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0814855C: - movs r0, 0 - b _08148566 - .align 2, 0 -_08148560: .4byte gUnknown_203F3D4 -_08148564: - movs r0, 0x1 -_08148566: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81484D0 - - thumb_func_start sub_814856C -sub_814856C: @ 814856C - push {r4,lr} - ldr r4, _08148584 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0x1 - beq _081485AC - cmp r0, 0x1 - bgt _08148588 - cmp r0, 0 - beq _0814858E - b _081485C0 - .align 2, 0 -_08148584: .4byte gUnknown_203F3D4 -_08148588: - cmp r0, 0x2 - beq _081485BC - b _081485C0 -_0814858E: - bl sub_8149630 - cmp r0, 0 - bne _0814859A - bl sub_81491B4 -_0814859A: - bl sub_81496D4 - cmp r0, 0 - beq _081485C0 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _081485C0 -_081485AC: - bl sub_8148A60 - cmp r0, 0 - bne _081485C0 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_081485BC: - movs r0, 0 - b _081485C2 -_081485C0: - movs r0, 0x1 -_081485C2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814856C - - thumb_func_start sub_81485C8 -sub_81485C8: @ 81485C8 - push {r4,lr} - ldr r4, _081485E0 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldrh r1, [r0, 0x8] - cmp r1, 0x1 - beq _081485FC - cmp r1, 0x1 - bgt _081485E4 - cmp r1, 0 - beq _081485EE - b _0814865C - .align 2, 0 -_081485E0: .4byte gUnknown_203F3D4 -_081485E4: - cmp r1, 0x2 - beq _08148628 - cmp r1, 0x3 - beq _08148652 - b _0814865C -_081485EE: - movs r0, 0x4 - bl sub_8147F10 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_081485FC: - bl sub_8148C80 - cmp r0, 0 - bne _0814865C - ldr r4, _08148624 @ =gUnknown_203F3D4 - ldr r2, [r4] - ldr r0, [r2, 0x78] - adds r1, r2, 0 - adds r1, 0x74 - ldrh r1, [r1] - adds r2, 0x72 - ldrh r2, [r2] - bl sub_814B494 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0814865C - .align 2, 0 -_08148624: .4byte gUnknown_203F3D4 -_08148628: - adds r0, 0x49 - ldrb r0, [r0] - cmp r0, 0 - beq _0814865C - bl sub_8149748 - cmp r0, 0 - beq _08148640 - ldr r0, [r4] - adds r0, 0x4C - movs r1, 0x5 - b _08148646 -_08148640: - ldr r0, [r4] - adds r0, 0x4C - movs r1, 0x6 -_08148646: - strb r1, [r0] - ldr r0, _08148658 @ =gUnknown_203F3D4 - ldr r1, [r0] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_08148652: - movs r0, 0 - b _0814865E - .align 2, 0 -_08148658: .4byte gUnknown_203F3D4 -_0814865C: - movs r0, 0x1 -_0814865E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81485C8 - - thumb_func_start sub_8148664 -sub_8148664: @ 8148664 - push {r4,lr} - ldr r4, _08148678 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _0814867C - cmp r0, 0x1 - beq _0814868A - b _081486BC - .align 2, 0 -_08148678: .4byte gUnknown_203F3D4 -_0814867C: - movs r0, 0 - bl sub_8147F10 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_0814868A: - bl sub_8148C80 - cmp r0, 0 - bne _081486BC - ldr r4, _081486B8 @ =gUnknown_203F3D4 - ldr r2, [r4] - ldr r0, [r2, 0x78] - adds r1, r2, 0 - adds r1, 0x74 - ldrh r1, [r1] - adds r2, 0x72 - ldrh r2, [r2] - bl sub_814B494 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x45 - ldrb r1, [r1] - adds r0, 0x42 - strh r1, [r0] - movs r0, 0 - b _081486BE - .align 2, 0 -_081486B8: .4byte gUnknown_203F3D4 -_081486BC: - movs r0, 0x1 -_081486BE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8148664 - - thumb_func_start sub_81486C4 -sub_81486C4: @ 81486C4 - push {r4,lr} - ldr r4, _081486D8 @ =gUnknown_203F3D4 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - cmp r0, 0 - beq _081486DC - cmp r0, 0x1 - beq _081486EE - b _0814871A - .align 2, 0 -_081486D8: .4byte gUnknown_203F3D4 -_081486DC: - bl sub_8148E2C - cmp r0, 0 - bne _0814871A - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0814871A -_081486EE: - adds r0, r1, 0 - adds r0, 0x49 - ldrb r0, [r0] - cmp r0, 0 - beq _0814871A - adds r0, r1, 0 - bl sub_8147B94 - bl Random - ldr r1, [r4] - lsls r0, 16 - lsrs r0, 16 - str r0, [r1, 0x24] - adds r3, r1, 0 - adds r3, 0x72 - movs r2, 0 - strh r0, [r3] - adds r1, 0x4C - strb r2, [r1] - movs r0, 0 - b _0814871C -_0814871A: - movs r0, 0x1 -_0814871C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81486C4 - - thumb_func_start sub_8148724 -sub_8148724: @ 8148724 - push {r4,lr} - ldr r4, _08148738 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _0814873C - cmp r0, 0x1 - beq _08148752 - b _08148756 - .align 2, 0 -_08148738: .4byte gUnknown_203F3D4 -_0814873C: - bl sub_8148E2C - cmp r0, 0 - bne _08148756 - ldr r0, [r4] - bl sub_8147B94 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_08148752: - movs r0, 0 - b _08148758 -_08148756: - movs r0, 0x1 -_08148758: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8148724 - - thumb_func_start sub_8148760 -sub_8148760: @ 8148760 - push {r4,lr} - ldr r4, _08148778 @ =gUnknown_203F3D4 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - cmp r0, 0x1 - beq _08148788 - cmp r0, 0x1 - bgt _0814877C - cmp r0, 0 - beq _08148782 - b _081487AC - .align 2, 0 -_08148778: .4byte gUnknown_203F3D4 -_0814877C: - cmp r0, 0x2 - beq _08148798 - b _081487AC -_08148782: - movs r0, 0x1 - strh r0, [r1, 0x8] - b _081487AC -_08148788: - movs r0, 0 - bl sub_8147F10 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _081487AC -_08148798: - bl sub_8148D5C - cmp r0, 0 - bne _081487AC - ldr r0, [r4] - ldr r0, [r0] - bl SetMainCallback2 - bl sub_8147B48 -_081487AC: - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8148760 - - thumb_func_start sub_81487B4 -sub_81487B4: @ 81487B4 - push {r4,lr} - ldr r4, _081487C8 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldrh r0, [r0, 0x8] - cmp r0, 0 - beq _081487CC - cmp r0, 0x1 - beq _081487DC - b _081487F8 - .align 2, 0 -_081487C8: .4byte gUnknown_203F3D4 -_081487CC: - movs r0, 0x4 - bl sub_8147F10 - ldr r1, [r4] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _081487F8 -_081487DC: - bl sub_8148B54 - cmp r0, 0 - bne _081487F8 - ldr r0, [r4] - ldrh r1, [r0, 0xE] - adds r2, r0, 0 - adds r2, 0x72 - strh r1, [r2] - adds r0, 0x4C - movs r1, 0x8 - strb r1, [r0] - movs r0, 0 - b _081487FA -_081487F8: - movs r0, 0x1 -_081487FA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81487B4 - - thumb_func_start sub_8148800 -sub_8148800: @ 8148800 - push {lr} - movs r0, 0 - bl sub_8147F10 - bl sub_8148B54 - cmp r0, 0 - beq _08148814 - movs r0, 0x1 - b _08148816 -_08148814: - movs r0, 0 -_08148816: - pop {r1} - bx r1 - thumb_func_end sub_8148800 - - thumb_func_start sub_814881C -sub_814881C: @ 814881C - push {r4,lr} - ldr r1, _08148834 @ =gUnknown_203F3D4 - ldr r0, [r1] - ldrh r0, [r0, 0x8] - adds r4, r1, 0 - cmp r0, 0x4 - bhi _081488D4 - lsls r0, 2 - ldr r1, _08148838 @ =_0814883C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08148834: .4byte gUnknown_203F3D4 -_08148838: .4byte _0814883C - .align 2, 0 -_0814883C: - .4byte _08148850 - .4byte _0814886C - .4byte _0814887C - .4byte _08148894 - .4byte _081488B8 -_08148850: - ldr r2, [r4] - ldr r0, [r2, 0x78] - adds r1, r2, 0 - adds r1, 0x74 - ldrh r1, [r1] - adds r2, 0x72 - ldrh r2, [r2] - bl sub_814B494 - movs r0, 0x5 - bl sub_8149D40 - ldr r1, [r4] - b _081488A8 -_0814886C: - bl sub_8149D68 - cmp r0, 0 - bne _081488D4 - movs r0, 0 - bl sub_8147F10 - b _081488A4 -_0814887C: - bl sub_8149804 - cmp r0, 0 - beq _081488D4 - ldr r0, _08148890 @ =sub_80DA634 - movs r1, 0x6 - bl CreateTask - b _081488A4 - .align 2, 0 -_08148890: .4byte sub_80DA634 -_08148894: - ldr r0, _081488B0 @ =sub_80DA634 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _081488D4 - bl sub_814A6CC -_081488A4: - ldr r0, _081488B4 @ =gUnknown_203F3D4 - ldr r1, [r0] -_081488A8: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _081488D4 - .align 2, 0 -_081488B0: .4byte sub_80DA634 -_081488B4: .4byte gUnknown_203F3D4 -_081488B8: - bl sub_814A6FC - cmp r0, 0 - bne _081488D4 - ldr r0, _081488D0 @ =gUnknown_203F3D4 - ldr r0, [r0] - adds r0, 0x4C - movs r1, 0x4 - strb r1, [r0] - movs r0, 0 - b _081488D6 - .align 2, 0 -_081488D0: .4byte gUnknown_203F3D4 -_081488D4: - movs r0, 0x1 -_081488D6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814881C - - thumb_func_start sub_81488DC -sub_81488DC: @ 81488DC - push {r4,r5,lr} - ldr r1, _081488F4 @ =gUnknown_203F3D4 - ldr r0, [r1] - ldrh r0, [r0, 0xA] - adds r4, r1, 0 - cmp r0, 0x7 - bhi _081489C0 - lsls r0, 2 - ldr r1, _081488F8 @ =_081488FC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081488F4: .4byte gUnknown_203F3D4 -_081488F8: .4byte _081488FC - .align 2, 0 -_081488FC: - .4byte _0814891C - .4byte _08148928 - .4byte _08148948 - .4byte _08148962 - .4byte _08148974 - .4byte _0814897C - .4byte _0814899C - .4byte _081489B6 -_0814891C: - movs r0, 0x2 - bl sub_8149D40 - bl sub_814AAA0 - b _0814898C -_08148928: - bl sub_8149D68 - adds r5, r0, 0 - cmp r5, 0 - bne _081489C0 - ldr r4, _08148944 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldrb r0, [r0, 0x6] - bl sub_814AAB4 - ldr r1, [r4] - strh r5, [r1, 0x3C] - b _08148990 - .align 2, 0 -_08148944: .4byte gUnknown_203F3D4 -_08148948: - ldr r1, [r4] - ldrh r0, [r1, 0x3C] - adds r0, 0x1 - strh r0, [r1, 0x3C] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x78 - bls _081489C0 - movs r0, 0x3 - bl sub_8149D40 - ldr r1, [r4] - b _08148990 -_08148962: - bl sub_8149D68 - cmp r0, 0x1 - beq _081489C0 - bl sub_814AAC8 - cmp r0, 0x1 - beq _081489C0 - b _0814898C -_08148974: - movs r0, 0x9 - bl sub_8149D40 - b _0814898C -_0814897C: - bl sub_8149D68 - cmp r0, 0 - bne _081489C0 - bl sub_814935C - bl sub_814A3E4 -_0814898C: - ldr r0, _08148998 @ =gUnknown_203F3D4 - ldr r1, [r0] -_08148990: - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - b _081489C0 - .align 2, 0 -_08148998: .4byte gUnknown_203F3D4 -_0814899C: - bl sub_814A408 - cmp r0, 0 - bne _081489C0 - bl sub_814936C - bl sub_8148F9C - ldr r0, _081489BC @ =gUnknown_203F3D4 - ldr r1, [r0] - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] -_081489B6: - movs r0, 0 - b _081489C2 - .align 2, 0 -_081489BC: .4byte gUnknown_203F3D4 -_081489C0: - movs r0, 0x1 -_081489C2: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81488DC - - thumb_func_start sub_81489C8 -sub_81489C8: @ 81489C8 - push {r4,r5,lr} - bl sub_8148FE0 - ldr r5, _081489E0 @ =gUnknown_203F3D4 - ldr r1, [r5] - ldrh r4, [r1, 0x36] - cmp r4, 0 - beq _081489E4 - movs r0, 0 - strh r0, [r1, 0x36] - b _08148A58 - .align 2, 0 -_081489E0: .4byte gUnknown_203F3D4 -_081489E4: - ldrh r0, [r1, 0xA] - cmp r0, 0x1 - beq _08148A10 - cmp r0, 0x1 - bgt _081489F4 - cmp r0, 0 - beq _081489FE - b _08148A56 -_081489F4: - cmp r0, 0x2 - beq _08148A34 - cmp r0, 0x3 - beq _08148A48 - b _08148A56 -_081489FE: - movs r0, 0 - bl sub_814922C - cmp r0, 0 - beq _08148A56 - ldr r1, [r5] - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] -_08148A10: - ldr r0, _08148A2C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08148A56 - bl sub_8149260 - movs r0, 0x3 - bl sub_8147F10 - ldr r0, _08148A30 @ =gUnknown_203F3D4 - ldr r1, [r0] - b _08148A40 - .align 2, 0 -_08148A2C: .4byte gMain -_08148A30: .4byte gUnknown_203F3D4 -_08148A34: - movs r0, 0x1 - bl sub_814922C - cmp r0, 0x1 - bne _08148A56 - ldr r1, [r5] -_08148A40: - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - b _08148A56 -_08148A48: - movs r0, 0 - bl sub_814922C - cmp r0, 0x1 - bne _08148A56 - ldr r0, [r5] - strh r4, [r0, 0xA] -_08148A56: - movs r0, 0x1 -_08148A58: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81489C8 - - thumb_func_start sub_8148A60 -sub_8148A60: @ 8148A60 - push {r4-r6,lr} - ldr r1, _08148A78 @ =gUnknown_203F3D4 - ldr r0, [r1] - ldrh r0, [r0, 0xA] - adds r5, r1, 0 - cmp r0, 0x4 - bhi _08148B4C - lsls r0, 2 - ldr r1, _08148A7C @ =_08148A80 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08148A78: .4byte gUnknown_203F3D4 -_08148A7C: .4byte _08148A80 - .align 2, 0 -_08148A80: - .4byte _08148A94 - .4byte _08148AB8 - .4byte _08148AFC - .4byte _08148B20 - .4byte _08148B42 -_08148A94: - movs r4, 0 - ldr r0, [r5] - ldrb r0, [r0, 0x5] - cmp r4, r0 - bge _08148AB4 - adds r6, r5, 0 -_08148AA0: - adds r0, r4, 0 - bl sub_814AA78 - cmp r0, 0x1 - beq _08148B4C - adds r4, 0x1 - ldr r0, [r6] - ldrb r0, [r0, 0x5] - cmp r4, r0 - blt _08148AA0 -_08148AB4: - ldr r1, [r5] - b _08148B18 -_08148AB8: - movs r4, 0 - ldr r0, [r5] - ldrb r0, [r0, 0x5] - cmp r4, r0 - bge _08148AE8 - adds r6, r5, 0 - movs r5, 0 -_08148AC6: - ldr r0, [r6] - adds r0, r5 - ldr r1, _08148AF4 @ =0x000082f4 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0x2 - bne _08148ADC - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_814AA60 -_08148ADC: - adds r5, 0x28 - adds r4, 0x1 - ldr r0, [r6] - ldrb r0, [r0, 0x5] - cmp r4, r0 - blt _08148AC6 -_08148AE8: - movs r0, 0x1 - bl sub_8149D40 - ldr r0, _08148AF8 @ =gUnknown_203F3D4 - ldr r1, [r0] - b _08148B14 - .align 2, 0 -_08148AF4: .4byte 0x000082f4 -_08148AF8: .4byte gUnknown_203F3D4 -_08148AFC: - ldr r1, [r5] - ldrh r0, [r1, 0x3C] - adds r0, 0x1 - strh r0, [r1, 0x3C] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x64 - bls _08148B4C - movs r0, 0x3 - bl sub_8149D40 - ldr r1, [r5] -_08148B14: - movs r0, 0 - strh r0, [r1, 0x3C] -_08148B18: - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - b _08148B4C -_08148B20: - bl sub_8149D68 - adds r5, r0, 0 - cmp r5, 0 - bne _08148B4C - bl sub_814AA8C - ldr r4, _08148B48 @ =gUnknown_203F3D4 - ldr r0, [r4] - adds r0, 0x71 - strb r5, [r0] - bl sub_8149210 - ldr r1, [r4] - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] -_08148B42: - movs r0, 0 - b _08148B4E - .align 2, 0 -_08148B48: .4byte gUnknown_203F3D4 -_08148B4C: - movs r0, 0x1 -_08148B4E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8148A60 - - thumb_func_start sub_8148B54 -sub_8148B54: @ 8148B54 - push {r4,lr} - ldr r1, _08148B70 @ =gUnknown_203F3D4 - ldr r0, [r1] - ldrh r0, [r0, 0xA] - adds r4, r1, 0 - cmp r0, 0x6 - bls _08148B64 - b _08148C78 -_08148B64: - lsls r0, 2 - ldr r1, _08148B74 @ =_08148B78 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08148B70: .4byte gUnknown_203F3D4 -_08148B74: .4byte _08148B78 - .align 2, 0 -_08148B78: - .4byte _08148B94 - .4byte _08148BB4 - .4byte _08148BCC - .4byte _08148BFC - .4byte _08148BB4 - .4byte _08148BCC - .4byte _08148C6C -_08148B94: - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x72 - ldrh r0, [r0] - adds r1, r2, 0 - adds r1, 0x3E - adds r2, 0x40 - bl sub_8149900 - ldr r1, [r4] - ldrh r0, [r1, 0x3E] - adds r1, 0x40 - ldrh r1, [r1] - bl sub_814A468 - b _08148BEC -_08148BB4: - bl sub_814A62C - adds r2, r0, 0 - cmp r2, 0 - bne _08148C78 - ldr r0, _08148BC8 @ =gUnknown_203F3D4 - ldr r1, [r0] - strh r2, [r1, 0x3C] - b _08148BEE - .align 2, 0 -_08148BC8: .4byte gUnknown_203F3D4 -_08148BCC: - ldr r1, [r4] - ldrh r0, [r1, 0x3C] - adds r2, r0, 0x1 - strh r2, [r1, 0x3C] - ldr r0, _08148BF8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08148BE8 - lsls r0, r2, 16 - lsrs r0, 16 - cmp r0, 0xB4 - bls _08148C78 -_08148BE8: - bl sub_814A6CC -_08148BEC: - ldr r1, [r4] -_08148BEE: - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - b _08148C78 - .align 2, 0 -_08148BF8: .4byte gMain -_08148BFC: - bl sub_814A6FC - cmp r0, 0 - bne _08148C78 - ldr r4, _08148C48 @ =gUnknown_203F3D4 - ldr r1, [r4] - ldrh r0, [r1, 0x3E] - adds r1, 0x40 - ldrh r1, [r1] - bl sub_8149978 - ldr r1, [r4] - adds r2, r1, 0 - adds r2, 0x40 - strh r0, [r2] - lsls r0, 16 - cmp r0, 0 - beq _08148C54 - ldrh r0, [r1, 0x3E] - ldrh r1, [r2] - bl AddBagItem - lsls r0, 24 - cmp r0, 0 - beq _08148C54 - ldr r0, [r4] - ldrh r0, [r0, 0x3E] - movs r1, 0x1 - bl CheckBagHasSpace - lsls r0, 24 - cmp r0, 0 - bne _08148C4C - ldr r0, [r4] - ldrh r0, [r0, 0x3E] - bl sub_814A53C - b _08148C5E - .align 2, 0 -_08148C48: .4byte gUnknown_203F3D4 -_08148C4C: - ldr r1, [r4] - movs r0, 0x6 - strh r0, [r1, 0xA] - b _08148C78 -_08148C54: - ldr r4, _08148C68 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldrh r0, [r0, 0x3E] - bl sub_814A5B4 -_08148C5E: - ldr r1, [r4] - movs r0, 0x4 - strh r0, [r1, 0xA] - b _08148C78 - .align 2, 0 -_08148C68: .4byte gUnknown_203F3D4 -_08148C6C: - bl sub_814A6FC - cmp r0, 0 - bne _08148C78 - movs r0, 0 - b _08148C7A -_08148C78: - movs r0, 0x1 -_08148C7A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8148B54 - - thumb_func_start sub_8148C80 -sub_8148C80: @ 8148C80 - push {r4,lr} - ldr r0, _08148C98 @ =gUnknown_203F3D4 - ldr r0, [r0] - ldrh r0, [r0, 0xA] - cmp r0, 0x6 - bhi _08148D54 - lsls r0, 2 - ldr r1, _08148C9C @ =_08148CA0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08148C98: .4byte gUnknown_203F3D4 -_08148C9C: .4byte _08148CA0 - .align 2, 0 -_08148CA0: - .4byte _08148CBC - .4byte _08148CC0 - .4byte _08148CCA - .4byte _08148D18 - .4byte _08148D22 - .4byte _08148D38 - .4byte _08148D4A -_08148CBC: - movs r0, 0x4 - b _08148D24 -_08148CC0: - bl sub_8149D68 - cmp r0, 0 - bne _08148D54 - b _08148D28 -_08148CCA: - bl sub_814A744 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _08148D00 - cmp r1, 0 - bgt _08148CE4 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08148CE8 - b _08148D54 -_08148CE4: - cmp r1, 0x1 - bne _08148D54 -_08148CE8: - ldr r4, _08148CFC @ =gUnknown_203F3D4 - ldr r0, [r4] - adds r0, 0x45 - movs r1, 0x1 - strb r1, [r0] - movs r0, 0x6 - bl sub_8149D40 - ldr r1, [r4] - b _08148D2C - .align 2, 0 -_08148CFC: .4byte gUnknown_203F3D4 -_08148D00: - ldr r4, _08148D14 @ =gUnknown_203F3D4 - ldr r0, [r4] - adds r0, 0x45 - movs r1, 0x2 - strb r1, [r0] - movs r0, 0x6 - bl sub_8149D40 - ldr r1, [r4] - b _08148D2C - .align 2, 0 -_08148D14: .4byte gUnknown_203F3D4 -_08148D18: - bl sub_8149D68 - cmp r0, 0 - bne _08148D54 - b _08148D28 -_08148D22: - movs r0, 0x8 -_08148D24: - bl sub_8149D40 -_08148D28: - ldr r0, _08148D34 @ =gUnknown_203F3D4 - ldr r1, [r0] -_08148D2C: - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - b _08148D54 - .align 2, 0 -_08148D34: .4byte gUnknown_203F3D4 -_08148D38: - bl sub_8149D68 - cmp r0, 0 - bne _08148D54 - ldr r0, _08148D50 @ =gUnknown_203F3D4 - ldr r1, [r0] - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] -_08148D4A: - movs r0, 0 - b _08148D56 - .align 2, 0 -_08148D50: .4byte gUnknown_203F3D4 -_08148D54: - movs r0, 0x1 -_08148D56: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8148C80 - - thumb_func_start sub_8148D5C -sub_8148D5C: @ 8148D5C - push {r4,lr} - sub sp, 0x4 - ldr r1, _08148D78 @ =gUnknown_203F3D4 - ldr r0, [r1] - ldrh r0, [r0, 0xA] - adds r4, r1, 0 - cmp r0, 0x5 - bhi _08148E20 - lsls r0, 2 - ldr r1, _08148D7C @ =_08148D80 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08148D78: .4byte gUnknown_203F3D4 -_08148D7C: .4byte _08148D80 - .align 2, 0 -_08148D80: - .4byte _08148D98 - .4byte _08148D9E - .4byte _08148DAE - .4byte _08148DC4 - .4byte _08148DEA - .4byte _08148E10 -_08148D98: - bl sub_814A6CC - b _08148DFA -_08148D9E: - bl sub_814A6FC - cmp r0, 0 - bne _08148E20 - movs r0, 0x7 - bl sub_8149D40 - b _08148DFA -_08148DAE: - bl sub_8149D68 - adds r2, r0, 0 - cmp r2, 0 - bne _08148E20 - ldr r0, _08148DC0 @ =gUnknown_203F3D4 - ldr r1, [r0] - strh r2, [r1, 0x3C] - b _08148DFE - .align 2, 0 -_08148DC0: .4byte gUnknown_203F3D4 -_08148DC4: - ldr r1, [r4] - ldrh r0, [r1, 0x3C] - adds r0, 0x1 - strh r0, [r1, 0x3C] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x78 - bls _08148E20 - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r4] - b _08148DFE -_08148DEA: - ldr r0, _08148E08 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08148E20 - bl sub_800AAC0 -_08148DFA: - ldr r0, _08148E0C @ =gUnknown_203F3D4 - ldr r1, [r0] -_08148DFE: - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - b _08148E20 - .align 2, 0 -_08148E08: .4byte gPaletteFade -_08148E0C: .4byte gUnknown_203F3D4 -_08148E10: - ldr r0, _08148E1C @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08148E20 - movs r0, 0 - b _08148E22 - .align 2, 0 -_08148E1C: .4byte gReceivedRemoteLinkPlayers -_08148E20: - movs r0, 0x1 -_08148E22: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8148D5C - - thumb_func_start sub_8148E2C -sub_8148E2C: @ 8148E2C - push {r4,lr} - ldr r4, _08148E44 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldrh r0, [r0, 0xA] - cmp r0, 0x1 - beq _08148E62 - cmp r0, 0x1 - bgt _08148E48 - cmp r0, 0 - beq _08148E4E - b _08148E76 - .align 2, 0 -_08148E44: .4byte gUnknown_203F3D4 -_08148E48: - cmp r0, 0x2 - beq _08148E72 - b _08148E76 -_08148E4E: - bl sub_814A6CC - movs r0, 0 - bl sub_814AA24 - ldr r1, [r4] - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - b _08148E76 -_08148E62: - bl sub_814A6FC - cmp r0, 0 - bne _08148E76 - ldr r1, [r4] - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] -_08148E72: - movs r0, 0 - b _08148E78 -_08148E76: - movs r0, 0x1 -_08148E78: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8148E2C - - thumb_func_start sub_8148E80 -sub_8148E80: @ 8148E80 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r0, 2 - add r0, r10 - lsls r0, 3 - ldr r1, _08148EB4 @ =gTasks+0x8 - adds r6, r0, r1 - mov r0, r10 - movs r1, 0xE - bl GetWordTaskArg - mov r8, r0 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _08148EC4 - cmp r0, 0x1 - beq _08148ED8 - b _08148F44 - .align 2, 0 -_08148EB4: .4byte gTasks+0x8 -_08148EB8: - bl sub_8147C20 - mov r0, r10 - bl DestroyTask - b _08148F44 -_08148EC4: - movs r1, 0 - adds r0, r6, 0 - adds r0, 0x8 -_08148ECA: - strh r1, [r0, 0x4] - subs r0, 0x2 - cmp r0, r6 - bge _08148ECA - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] -_08148ED8: - mov r3, r8 - ldrb r1, [r3, 0x6] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r4, _08148F54 @ =0x000082a8 - adds r0, r4 - add r0, r8 - bl sub_8149A6C - movs r2, 0 - adds r5, r6, 0x4 - mov r9, r2 - movs r7, 0x83 - lsls r7, 8 - add r7, r8 - add r4, r8 -_08148EFA: - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _08148F34 - adds r0, r2, 0 - adds r1, r4, 0 - str r2, [sp] - bl sub_8149A90 - ldr r2, [sp] - cmp r0, 0 - beq _08148F34 - ldr r1, _08148F58 @ =gLinkPlayers + 8 - add r1, r9 - adds r0, r7, 0 - bl StringCopy - movs r0, 0x1 - strh r0, [r5] - ldrh r0, [r6, 0x2] - adds r0, 0x1 - strh r0, [r6, 0x2] - movs r3, 0x2 - ldrsh r0, [r6, r3] - ldr r2, [sp] - mov r1, r8 - ldrb r1, [r1, 0x5] - cmp r0, r1 - beq _08148EB8 -_08148F34: - adds r5, 0x2 - movs r3, 0x1C - add r9, r3 - adds r7, 0x28 - adds r4, 0xC - adds r2, 0x1 - cmp r2, 0x4 - ble _08148EFA -_08148F44: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08148F54: .4byte 0x000082a8 -_08148F58: .4byte gLinkPlayers + 8 - thumb_func_end sub_8148E80 - - thumb_func_start sub_8148F5C -sub_8148F5C: @ 8148F5C - push {lr} - lsls r1, 24 - lsrs r1, 24 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08148F78 @ =gUnknown_203F3D4 - ldr r2, [r1] - movs r1, 0xE - bl SetWordTaskArg - pop {r0} - bx r0 - .align 2, 0 -_08148F78: .4byte gUnknown_203F3D4 - thumb_func_end sub_8148F5C - - thumb_func_start sub_8148F7C -sub_8148F7C: @ 8148F7C - ldr r0, _08148F98 @ =gUnknown_203F3D4 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x4A - movs r1, 0 - strh r1, [r0] - movs r0, 0x6 - str r0, [r2, 0x14] - strh r1, [r2, 0x34] - str r1, [r2, 0x1C] - strh r1, [r2, 0x36] - str r1, [r2, 0x10] - bx lr - .align 2, 0 -_08148F98: .4byte gUnknown_203F3D4 - thumb_func_end sub_8148F7C - - thumb_func_start sub_8148F9C -sub_8148F9C: @ 8148F9C - push {r4,lr} - ldr r3, _08148FD8 @ =gUnknown_203F3D4 - ldr r0, [r3] - adds r1, r0, 0 - adds r1, 0x4A - movs r4, 0 - movs r2, 0 - strh r2, [r1] - ldr r1, _08148FDC @ =0x000006ff - strh r1, [r0, 0x34] - movs r1, 0x7 - str r1, [r0, 0x14] - strh r2, [r0, 0x36] - str r2, [r0, 0x10] - adds r0, 0x51 - strb r4, [r0] - ldr r0, [r3] - adds r0, 0x50 - strb r4, [r0] - ldr r0, [r3] - str r2, [r0, 0x20] - adds r1, r0, 0 - adds r1, 0x4E - strh r2, [r1] - str r2, [r0, 0x6C] - bl sub_8149078 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08148FD8: .4byte gUnknown_203F3D4 -_08148FDC: .4byte 0x000006ff - thumb_func_end sub_8148F9C - - thumb_func_start sub_8148FE0 -sub_8148FE0: @ 8148FE0 - push {r4,lr} - ldr r4, _08149038 @ =gUnknown_203F3D4 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x46 - ldrb r0, [r0] - cmp r0, 0 - beq _08149030 - adds r1, 0x4A - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - bl sub_8149044 - ldr r3, [r4] - ldrh r1, [r3, 0x34] - adds r2, r1, r0 - strh r2, [r3, 0x34] - lsls r1, r2, 16 - ldr r0, _0814903C @ =0x09fe0000 - cmp r1, r0 - bls _08149012 - ldr r1, _08149040 @ =0xfffff601 - adds r0, r2, r1 - strh r0, [r3, 0x34] -_08149012: - ldr r1, [r4] - ldr r2, [r1, 0x14] - str r2, [r1, 0x18] - ldrh r0, [r1, 0x34] - lsrs r0, 8 - str r0, [r1, 0x14] - cmp r0, 0x6 - bls _08149030 - cmp r2, 0x6 - bhi _08149030 - ldrh r0, [r1, 0x36] - adds r0, 0x1 - strh r0, [r1, 0x36] - bl sub_8149078 -_08149030: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08149038: .4byte gUnknown_203F3D4 -_0814903C: .4byte 0x09fe0000 -_08149040: .4byte 0xfffff601 - thumb_func_end sub_8148FE0 - - thumb_func_start sub_8149044 -sub_8149044: @ 8149044 - push {lr} - ldr r0, _08149054 @ =gUnknown_203F3D4 - ldr r2, [r0] - ldr r0, [r2, 0x10] - cmp r0, 0 - beq _08149058 - movs r0, 0 - b _0814906E - .align 2, 0 -_08149054: .4byte gUnknown_203F3D4 -_08149058: - ldr r3, [r2, 0x1C] - ldrh r1, [r2, 0x34] - ldr r0, _08149074 @ =0x000005ff - cmp r1, r0 - bhi _0814906C - ldr r0, [r2, 0x20] - adds r0, 0x50 - str r0, [r2, 0x20] - lsrs r0, 8 - adds r3, r0 -_0814906C: - adds r0, r3, 0 -_0814906E: - pop {r1} - bx r1 - .align 2, 0 -_08149074: .4byte 0x000005ff - thumb_func_end sub_8149044 - - thumb_func_start sub_8149078 -sub_8149078: @ 8149078 - push {r4,lr} - ldr r4, _081490A8 @ =gUnknown_203F3D4 - ldr r3, [r4] - movs r0, 0 - str r0, [r3, 0x20] - adds r1, r3, 0 - adds r1, 0x4E - ldrh r0, [r1] - cmp r0, 0 - beq _081490BC - subs r0, 0x1 - strh r0, [r1] - ldr r0, [r3, 0x6C] - cmp r0, 0 - beq _08149186 - bl sub_8149194 - movs r1, 0x3 - ands r1, r0 - cmp r1, 0 - beq _081490AC - ldr r1, [r4] - b _08149182 - .align 2, 0 -_081490A8: .4byte gUnknown_203F3D4 -_081490AC: - ldr r1, [r4] - ldr r0, [r1, 0x28] - cmp r0, 0x36 - bls _081490B8 - movs r0, 0x1E - b _08149184 -_081490B8: - movs r0, 0x52 - b _08149184 -_081490BC: - adds r2, r3, 0 - adds r2, 0x50 - ldrb r1, [r2] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _08149110 - ldr r0, _08149108 @ =gUnknown_846B694 - ldrb r1, [r2] - lsls r1, 1 - adds r1, r0 - adds r0, r3, 0 - adds r0, 0x51 - ldrb r2, [r0] - lsls r0, r2, 3 - subs r0, r2 - ldrh r1, [r1] - adds r0, r1 - str r0, [r3, 0x28] - bl sub_8149194 - ldr r2, [r4] - ldr r3, _0814910C @ =gUnknown_846B6A4 - movs r1, 0x3 - ands r1, r0 - lsls r1, 1 - adds r1, r3 - ldrh r0, [r1] - adds r0, 0x2 - adds r1, r2, 0 - adds r1, 0x4E - strh r0, [r1] - adds r2, 0x50 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - b _0814917E - .align 2, 0 -_08149108: .4byte gUnknown_846B694 -_0814910C: .4byte gUnknown_846B6A4 -_08149110: - lsls r0, r1, 24 - lsrs r0, 24 - cmp r0, 0x8 - bne _0814912C - adds r1, r3, 0 - adds r1, 0x51 - ldrb r0, [r1] - cmp r0, 0x2 - bhi _08149128 - adds r0, 0x1 - strb r0, [r1] - b _0814912C -_08149128: - movs r0, 0x1 - str r0, [r3, 0x6C] -_0814912C: - ldr r2, _0814918C @ =gUnknown_846B694 - ldr r4, _08149190 @ =gUnknown_203F3D4 - ldr r0, [r4] - mov r12, r0 - mov r3, r12 - adds r3, 0x50 - ldrb r0, [r3] - movs r1, 0xF - subs r1, r0 - lsls r1, 1 - adds r1, r2 - mov r0, r12 - adds r0, 0x51 - ldrb r2, [r0] - lsls r0, r2, 3 - subs r0, r2 - ldrh r1, [r1] - adds r0, r1 - mov r1, r12 - str r0, [r1, 0x28] - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xF - bls _0814917E - bl sub_8149194 - movs r1, 0x3 - ands r1, r0 - cmp r1, 0 - bne _08149176 - ldr r1, [r4] - ldr r0, [r1, 0x28] - subs r0, 0x5 - str r0, [r1, 0x28] -_08149176: - ldr r0, [r4] - adds r0, 0x50 - movs r1, 0 - strb r1, [r0] -_0814917E: - ldr r0, _08149190 @ =gUnknown_203F3D4 - ldr r1, [r0] -_08149182: - ldr r0, [r1, 0x28] -_08149184: - str r0, [r1, 0x1C] -_08149186: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814918C: .4byte gUnknown_846B694 -_08149190: .4byte gUnknown_203F3D4 - thumb_func_end sub_8149078 - - thumb_func_start sub_8149194 -sub_8149194: @ 8149194 - ldr r0, _081491A8 @ =gUnknown_203F3D4 - ldr r2, [r0] - ldr r1, [r2, 0x24] - ldr r0, _081491AC @ =0x41c64e6d - muls r0, r1 - ldr r1, _081491B0 @ =0x00006073 - adds r0, r1 - str r0, [r2, 0x24] - lsrs r0, 16 - bx lr - .align 2, 0 -_081491A8: .4byte gUnknown_203F3D4 -_081491AC: .4byte 0x41c64e6d -_081491B0: .4byte 0x00006073 - thumb_func_end sub_8149194 - - thumb_func_start sub_81491B4 -sub_81491B4: @ 81491B4 - push {lr} - ldr r0, _081491D0 @ =gUnknown_203F3D4 - ldr r1, [r0] - movs r0, 0x1 - str r0, [r1, 0x10] - movs r0, 0x6 - str r0, [r1, 0x14] - ldr r0, _081491D4 @ =0x000005ff - strh r0, [r1, 0x34] - bl sub_814936C - pop {r0} - bx r0 - .align 2, 0 -_081491D0: .4byte gUnknown_203F3D4 -_081491D4: .4byte 0x000005ff - thumb_func_end sub_81491B4 - - thumb_func_start sub_81491D8 -sub_81491D8: @ 81491D8 - ldr r0, _081491E0 @ =gUnknown_203F3D4 - ldr r0, [r0] - ldr r0, [r0, 0x10] - bx lr - .align 2, 0 -_081491E0: .4byte gUnknown_203F3D4 - thumb_func_end sub_81491D8 - - thumb_func_start sub_81491E4 -sub_81491E4: @ 81491E4 - push {r4,r5,lr} - ldr r5, _08149208 @ =gUnknown_203F3D4 - ldr r4, _0814920C @ =0x000082f8 - movs r3, 0 - movs r2, 0 - movs r1, 0x4 -_081491F0: - ldr r0, [r5] - adds r0, r4 - adds r0, r2 - str r3, [r0] - adds r2, 0x28 - subs r1, 0x1 - cmp r1, 0 - bge _081491F0 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08149208: .4byte gUnknown_203F3D4 -_0814920C: .4byte 0x000082f8 - thumb_func_end sub_81491E4 - - thumb_func_start sub_8149210 -sub_8149210: @ 8149210 - ldr r0, _08149224 @ =gUnknown_203F3D4 - ldr r0, [r0] - ldr r1, _08149228 @ =0x000083ac - adds r0, r1 - ldr r1, [r0] - movs r2, 0 - strh r2, [r1, 0x10] - ldr r0, [r0] - strh r2, [r0, 0x12] - bx lr - .align 2, 0 -_08149224: .4byte gUnknown_203F3D4 -_08149228: .4byte 0x000083ac - thumb_func_end sub_8149210 - - thumb_func_start sub_814922C -sub_814922C: @ 814922C - push {lr} - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08149250 @ =gUnknown_203F3D4 - ldr r2, [r1] - ldrb r3, [r2, 0x6] - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r2, r1 - ldr r1, _08149254 @ =0x000082f4 - adds r2, r1 - ldrh r1, [r2] - cmp r1, r0 - beq _08149258 - movs r0, 0 - b _0814925A - .align 2, 0 -_08149250: .4byte gUnknown_203F3D4 -_08149254: .4byte 0x000082f4 -_08149258: - movs r0, 0x1 -_0814925A: - pop {r1} - bx r1 - thumb_func_end sub_814922C - - thumb_func_start sub_8149260 -sub_8149260: @ 8149260 - ldr r0, _08149280 @ =gUnknown_203F3D4 - ldr r0, [r0] - ldr r1, _08149284 @ =0x000083ac - adds r2, r0, r1 - ldr r1, [r2] - adds r0, 0x4A - ldrh r0, [r0] - strh r0, [r1, 0xE] - ldr r1, [r2] - ldrh r0, [r1, 0x10] - strh r0, [r1, 0x12] - ldr r1, [r2] - movs r0, 0x1 - strh r0, [r1, 0x10] - bx lr - .align 2, 0 -_08149280: .4byte gUnknown_203F3D4 -_08149284: .4byte 0x000083ac - thumb_func_end sub_8149260 - - thumb_func_start sub_8149288 -sub_8149288: @ 8149288 - push {r4,lr} - ldr r0, _081492B0 @ =gUnknown_203F3D4 - ldr r2, [r0] - ldr r0, _081492B4 @ =0x000083ac - adds r3, r2, r0 - ldr r1, [r3] - ldrh r0, [r1, 0x10] - strh r0, [r1, 0x12] - ldr r0, [r3] - movs r4, 0x2 - strh r4, [r0, 0x10] - ldr r1, [r3] - adds r2, 0x4A - ldrh r0, [r2] - strh r0, [r1, 0xE] - ldr r0, [r3] - str r4, [r0, 0x14] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081492B0: .4byte gUnknown_203F3D4 -_081492B4: .4byte 0x000083ac - thumb_func_end sub_8149288 - - thumb_func_start sub_81492B8 -sub_81492B8: @ 81492B8 - ldr r0, _081492D0 @ =gUnknown_203F3D4 - ldr r0, [r0] - ldr r1, _081492D4 @ =0x000083ac - adds r0, r1 - ldr r1, [r0] - ldrh r2, [r1, 0x10] - movs r3, 0 - strh r2, [r1, 0x12] - ldr r0, [r0] - strh r3, [r0, 0x10] - bx lr - .align 2, 0 -_081492D0: .4byte gUnknown_203F3D4 -_081492D4: .4byte 0x000083ac - thumb_func_end sub_81492B8 - - thumb_func_start sub_81492D8 -sub_81492D8: @ 81492D8 - push {r4,r5,lr} - ldr r4, _08149334 @ =gUnknown_203F3D4 - ldr r1, [r4] - ldr r0, [r1, 0x5C] - cmp r0, 0 - beq _08149318 - ldr r0, [r1, 0x78] - bl sub_814AA24 - ldr r1, [r4] - movs r5, 0 - str r5, [r1, 0x5C] - adds r0, r1, 0 - adds r0, 0x4D - ldrb r0, [r0] - cmp r0, 0 - beq _08149318 - adds r0, r1, 0 - adds r0, 0x71 - ldrb r0, [r0] - bl sub_814A98C - ldr r1, _08149338 @ =gUnknown_846B6AC - subs r0, 0x2 - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - bl PlaySE - ldr r0, [r4] - adds r0, 0x4D - strb r5, [r0] -_08149318: - ldr r0, _08149334 @ =gUnknown_203F3D4 - ldr r0, [r0] - adds r0, 0x74 - ldrh r0, [r0] - bl sub_814AA34 - bl sub_814937C - bl sub_814933C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08149334: .4byte gUnknown_203F3D4 -_08149338: .4byte gUnknown_846B6AC - thumb_func_end sub_81492D8 - - thumb_func_start sub_814933C -sub_814933C: @ 814933C - push {lr} - ldr r0, _08149358 @ =gUnknown_203F3D4 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x46 - ldrb r0, [r0] - cmp r0, 0 - beq _08149352 - ldr r0, [r1, 0x14] - bl sub_814A95C -_08149352: - pop {r0} - bx r0 - .align 2, 0 -_08149358: .4byte gUnknown_203F3D4 - thumb_func_end sub_814933C - - thumb_func_start sub_814935C -sub_814935C: @ 814935C - ldr r0, _08149368 @ =gUnknown_203F3D4 - ldr r0, [r0] - adds r0, 0x46 - movs r1, 0 - strb r1, [r0] - bx lr - .align 2, 0 -_08149368: .4byte gUnknown_203F3D4 - thumb_func_end sub_814935C - - thumb_func_start sub_814936C -sub_814936C: @ 814936C - ldr r0, _08149378 @ =gUnknown_203F3D4 - ldr r0, [r0] - adds r0, 0x46 - movs r1, 0x1 - strb r1, [r0] - bx lr - .align 2, 0 -_08149378: .4byte gUnknown_203F3D4 - thumb_func_end sub_814936C - - thumb_func_start sub_814937C -sub_814937C: @ 814937C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r6, 0 - ldr r2, _081493B8 @ =gUnknown_203F3D4 - ldr r0, [r2] - ldrb r0, [r0, 0x5] - mov r9, r0 - movs r5, 0 - cmp r6, r9 - bge _0814945C - mov r10, r2 - mov r8, r5 - movs r7, 0 -_0814939E: - mov r0, r10 - ldr r3, [r0] - adds r1, r3, r7 - ldr r2, _081493BC @ =0x000082f4 - adds r0, r1, r2 - ldrh r2, [r0] - cmp r2, 0x1 - beq _081493D0 - cmp r2, 0x1 - bgt _081493C0 - cmp r2, 0 - beq _081493C6 - b _08149450 - .align 2, 0 -_081493B8: .4byte gUnknown_203F3D4 -_081493BC: .4byte 0x000082f4 -_081493C0: - cmp r2, 0x2 - beq _08149434 - b _08149450 -_081493C6: - adds r0, r5, 0 - movs r1, 0 - bl sub_814A940 - b _08149450 -_081493D0: - ldr r0, _08149424 @ =0x000082f6 - adds r4, r1, r0 - ldrh r0, [r4] - cmp r0, 0x1 - bne _081493F2 - ldr r0, _08149428 @ =0x000082f2 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x9A - add r1, r8 - str r1, [sp] - ldrh r1, [r0] - mov r12, r1 - ldr r0, [sp] - ldrh r0, [r0] - cmp r12, r0 - beq _0814941A -_081493F2: - ldrb r3, [r3, 0x6] - cmp r5, r3 - bne _081493FA - strh r2, [r4] -_081493FA: - orrs r6, r2 - mov r1, r10 - ldr r2, [r1] - ldr r1, _0814942C @ =0x000082e8 - adds r0, r2, r1 - adds r0, r7 - ldr r1, _08149430 @ =0x7fffffff - str r1, [r0] - adds r1, r2, 0 - adds r1, 0x9A - add r1, r8 - adds r2, r7 - ldr r0, _08149428 @ =0x000082f2 - adds r2, r0 - ldrh r0, [r2] - strh r0, [r1] -_0814941A: - adds r0, r5, 0 - bl sub_8149490 - b _08149450 - .align 2, 0 -_08149424: .4byte 0x000082f6 -_08149428: .4byte 0x000082f2 -_0814942C: .4byte 0x000082e8 -_08149430: .4byte 0x7fffffff -_08149434: - ldr r0, _0814946C @ =0x000082f6 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0x2 - beq _08149450 - ldrb r3, [r3, 0x6] - cmp r5, r3 - bne _08149446 - strh r2, [r1] -_08149446: - orrs r6, r2 - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_814AA48 -_08149450: - movs r1, 0x2 - add r8, r1 - adds r7, 0x28 - adds r5, 0x1 - cmp r5, r9 - blt _0814939E -_0814945C: - movs r0, 0x2 - ands r0, r6 - cmp r0, 0 - beq _08149470 - movs r0, 0xFF - bl PlaySE - b _0814947E - .align 2, 0 -_0814946C: .4byte 0x000082f6 -_08149470: - movs r0, 0x1 - ands r6, r0 - cmp r6, 0 - beq _0814947E - movs r0, 0xA - bl PlaySE -_0814947E: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_814937C - - thumb_func_start sub_8149490 -sub_8149490: @ 8149490 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r0, _081494BC @ =gUnknown_203F3D4 - ldr r2, [r0] - ldr r0, [r2, 0x68] - cmp r0, 0 - bne _0814952A - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _081494C0 @ =0x000082e4 - adds r0, r1 - adds r5, r2, r0 - ldr r1, [r5, 0x4] - ldr r0, _081494C4 @ =0x7fffffff - cmp r1, r0 - beq _081494C8 - adds r0, r1, 0x1 - str r0, [r5, 0x4] - adds r3, r0, 0 - b _081494E0 - .align 2, 0 -_081494BC: .4byte gUnknown_203F3D4 -_081494C0: .4byte 0x000082e4 -_081494C4: .4byte 0x7fffffff -_081494C8: - adds r0, r2, 0 - adds r0, 0x4A - ldrh r1, [r0] - ldrh r0, [r5, 0xE] - subs r3, r1, r0 - ldr r0, _08149500 @ =0x0000fde7 - cmp r3, r0 - ble _081494DE - ldr r0, _08149504 @ =0xffff0218 - adds r3, r0 - adds r3, r1 -_081494DE: - str r3, [r5, 0x4] -_081494E0: - cmp r3, 0x3 - ble _0814952A - subs r3, 0x4 - cmp r3, 0x2F - bgt _0814950C - ldr r2, _08149508 @ =gUnknown_846B6B4 - ldrh r1, [r5, 0xC] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 4 - adds r0, r3, r0 - adds r0, r2 - movs r4, 0 - ldrsb r4, [r0, r4] - b _0814950E - .align 2, 0 -_08149500: .4byte 0x0000fde7 -_08149504: .4byte 0xffff0218 -_08149508: .4byte gUnknown_846B6B4 -_0814950C: - movs r4, 0 -_0814950E: - adds r1, r4, 0 - adds r0, r6, 0 - bl sub_814A940 - cmp r4, 0 - bne _08149528 - ldr r0, _08149530 @ =gUnknown_203F3D4 - ldr r0, [r0] - ldrb r0, [r0, 0x6] - cmp r6, r0 - bne _08149528 - bl sub_81492B8 -_08149528: - str r4, [r5] -_0814952A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08149530: .4byte gUnknown_203F3D4 - thumb_func_end sub_8149490 - - thumb_func_start sub_8149534 -sub_8149534: @ 8149534 - push {r4,r5,lr} - ldr r5, _08149560 @ =gUnknown_203F3D4 - ldr r1, [r5] - ldr r0, [r1, 0x14] - cmp r0, 0x8 - bne _081495C6 - ldr r0, [r1, 0x18] - cmp r0, 0x7 - bne _081495C6 - ldr r4, [r1, 0x58] - cmp r4, 0 - bne _08149564 - bl sub_8149878 - ldr r0, [r5] - str r4, [r0, 0x54] - movs r1, 0x1 - str r1, [r0, 0x58] - adds r0, 0x71 - strb r4, [r0] - b _081495C6 - .align 2, 0 -_08149560: .4byte gUnknown_203F3D4 -_08149564: - ldr r0, [r1, 0x54] - cmp r0, 0x5 - bne _08149578 - ldrh r0, [r1, 0xC] - adds r0, 0x1 - strh r0, [r1, 0xC] - ldrh r0, [r1, 0xC] - bl sub_8149898 - b _0814957C -_08149578: - movs r0, 0 - strh r0, [r1, 0xC] -_0814957C: - ldr r4, _08149628 @ =gUnknown_203F3D4 - ldr r1, [r4] - ldr r0, [r1, 0x54] - cmp r0, 0x1 - ble _08149596 - movs r0, 0x1 - str r0, [r1, 0x64] - adds r0, r1, 0 - adds r0, 0x86 - adds r1, 0x81 - movs r2, 0x5 - bl memcpy -_08149596: - bl sub_8149878 - ldr r0, [r4] - movs r2, 0 - str r2, [r0, 0x54] - movs r1, 0x1 - str r1, [r0, 0x58] - adds r0, 0x71 - strb r2, [r0] - ldr r0, [r4] - adds r2, r0, 0 - adds r2, 0x74 - ldrh r1, [r2] - ldr r0, _0814962C @ =0x0000270e - cmp r1, r0 - bhi _081495BA - adds r0, r1, 0x1 - strh r0, [r2] -_081495BA: - movs r0, 0xA - bl sub_8149780 - movs r0, 0x3 - bl sub_8147F10 -_081495C6: - ldr r4, _08149628 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldr r0, [r0, 0x64] - cmp r0, 0 - beq _081495FC - bl sub_8149710 - cmp r0, 0x1 - beq _081495E0 - ldr r0, [r4] - ldr r0, [r0, 0x14] - cmp r0, 0 - bne _081495FC -_081495E0: - ldr r0, [r4] - adds r0, 0x86 - bl sub_8149834 - bl sub_8149888 - bl sub_8149780 - movs r0, 0x3 - bl sub_8147F10 - ldr r1, [r4] - movs r0, 0 - str r0, [r1, 0x64] -_081495FC: - ldr r4, _08149628 @ =gUnknown_203F3D4 - ldr r0, [r4] - ldr r0, [r0, 0x58] - cmp r0, 0 - beq _08149622 - bl sub_81497A8 - adds r2, r0, 0 - ldr r1, [r4] - ldr r0, [r1, 0x54] - cmp r2, r0 - ble _08149622 - str r2, [r1, 0x54] - adds r0, r1, 0 - adds r0, 0x81 - adds r1, 0x7C - movs r2, 0x5 - bl memcpy -_08149622: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08149628: .4byte gUnknown_203F3D4 -_0814962C: .4byte 0x0000270e - thumb_func_end sub_8149534 - - thumb_func_start sub_8149630 -sub_8149630: @ 8149630 - push {r4,r5,lr} - ldr r5, _08149664 @ =gUnknown_203F3D4 - ldr r1, [r5] - ldr r0, [r1, 0x14] - cmp r0, 0x6 - bne _0814967A - ldr r4, _08149668 @ =0x000083ac - adds r0, r1, r4 - ldr r1, [r0] - ldr r0, [r1] - cmp r0, 0 - bne _0814967A - ldrh r0, [r1, 0x12] - cmp r0, 0x1 - bne _08149670 - bl sub_81491D8 - adds r1, r0, 0 - cmp r1, 0x1 - bne _08149670 - ldr r0, [r5] - adds r0, r4 - ldr r0, [r0] - str r1, [r0, 0x14] - b _0814967A - .align 2, 0 -_08149664: .4byte gUnknown_203F3D4 -_08149668: .4byte 0x000083ac -_0814966C: - movs r0, 0 - b _081496C2 -_08149670: - bl sub_8149288 - movs r0, 0x3 - bl sub_8147F10 -_0814967A: - ldr r0, _081496C8 @ =gUnknown_203F3D4 - ldr r1, [r0] - ldr r0, [r1, 0x14] - cmp r0, 0x7 - bne _081496A0 - ldr r0, [r1, 0x18] - cmp r0, 0x6 - bne _081496A0 - ldr r2, _081496CC @ =0x000083ac - adds r0, r1, r2 - ldr r1, [r0] - ldrh r0, [r1, 0x10] - cmp r0, 0x2 - beq _081496A0 - movs r0, 0x1 - str r0, [r1, 0x14] - movs r0, 0x3 - bl sub_8147F10 -_081496A0: - movs r2, 0 - ldr r0, _081496C8 @ =gUnknown_203F3D4 - ldr r0, [r0] - ldrb r1, [r0, 0x5] - cmp r2, r1 - bge _081496C0 - adds r3, r1, 0 - ldr r4, _081496D0 @ =0x000082f4 - adds r1, r0, r4 -_081496B2: - ldrh r0, [r1] - cmp r0, 0x2 - beq _0814966C - adds r1, 0x28 - adds r2, 0x1 - cmp r2, r3 - blt _081496B2 -_081496C0: - movs r0, 0x1 -_081496C2: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_081496C8: .4byte gUnknown_203F3D4 -_081496CC: .4byte 0x000083ac -_081496D0: .4byte 0x000082f4 - thumb_func_end sub_8149630 - - thumb_func_start sub_81496D4 -sub_81496D4: @ 81496D4 - push {r4,lr} - ldr r0, _08149708 @ =gUnknown_203F3D4 - ldr r0, [r0] - ldrb r3, [r0, 0x5] - movs r4, 0 - cmp r4, r3 - bge _081496F8 - ldr r1, _0814970C @ =0x000082f8 - adds r2, r0, r1 - adds r1, r3, 0 -_081496E8: - ldr r0, [r2] - cmp r0, 0 - beq _081496F0 - adds r4, 0x1 -_081496F0: - adds r2, 0x28 - subs r1, 0x1 - cmp r1, 0 - bne _081496E8 -_081496F8: - movs r0, 0 - cmp r4, r3 - bne _08149700 - movs r0, 0x1 -_08149700: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08149708: .4byte gUnknown_203F3D4 -_0814970C: .4byte 0x000082f8 - thumb_func_end sub_81496D4 - - thumb_func_start sub_8149710 -sub_8149710: @ 8149710 - push {r4,lr} - movs r2, 0 - ldr r0, _08149730 @ =gUnknown_203F3D4 - ldr r0, [r0] - ldrb r1, [r0, 0x5] - cmp r2, r1 - bge _08149740 - adds r3, r1, 0 - ldr r4, _08149734 @ =0x000082f8 - adds r1, r0, r4 -_08149724: - ldr r0, [r1] - cmp r0, 0x1 - beq _08149738 - movs r0, 0 - b _08149742 - .align 2, 0 -_08149730: .4byte gUnknown_203F3D4 -_08149734: .4byte 0x000082f8 -_08149738: - adds r1, 0x28 - adds r2, 0x1 - cmp r2, r3 - blt _08149724 -_08149740: - movs r0, 0x1 -_08149742: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8149710 - - thumb_func_start sub_8149748 -sub_8149748: @ 8149748 - push {lr} - ldr r0, _0814975C @ =gUnknown_203F3D4 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x45 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08149760 -_08149758: - movs r0, 0 - b _0814977C - .align 2, 0 -_0814975C: .4byte gUnknown_203F3D4 -_08149760: - movs r2, 0x1 - ldrb r0, [r1, 0x5] - cmp r2, r0 - bge _0814977A - adds r3, r0, 0 - adds r1, 0x92 -_0814976C: - ldrh r0, [r1] - cmp r0, 0x1 - beq _08149758 - adds r1, 0x2 - adds r2, 0x1 - cmp r2, r3 - blt _0814976C -_0814977A: - movs r0, 0x1 -_0814977C: - pop {r1} - bx r1 - thumb_func_end sub_8149748 - - thumb_func_start sub_8149780 -sub_8149780: @ 8149780 - push {lr} - ldr r1, _081497A0 @ =gUnknown_203F3D4 - ldr r2, [r1] - ldr r1, [r2, 0x78] - adds r1, r0 - str r1, [r2, 0x78] - movs r0, 0x1 - str r0, [r2, 0x5C] - ldr r0, _081497A4 @ =0x00018695 - cmp r1, r0 - bls _0814979A - adds r0, 0x1 - str r0, [r2, 0x78] -_0814979A: - pop {r0} - bx r0 - .align 2, 0 -_081497A0: .4byte gUnknown_203F3D4 -_081497A4: .4byte 0x00018695 - thumb_func_end sub_8149780 - - thumb_func_start sub_81497A8 -sub_81497A8: @ 81497A8 - push {r4-r7,lr} - movs r5, 0 - ldr r1, _081497E0 @ =gUnknown_203F3D4 - ldr r0, [r1] - ldrb r4, [r0, 0x5] - movs r2, 0 - cmp r5, r4 - bge _081497FA - mov r12, r1 - movs r3, 0 - ldr r7, _081497E4 @ =0x000082e4 - movs r6, 0x1E - negs r6, r6 -_081497C2: - mov r0, r12 - ldr r1, [r0] - adds r0, r1, r7 - adds r0, r3 - ldr r0, [r0] - cmp r0, r6 - bne _081497E8 - adds r0, r1, 0 - adds r0, 0x7C - adds r0, r2 - movs r1, 0x1 - strb r1, [r0] - adds r5, 0x1 - b _081497F2 - .align 2, 0 -_081497E0: .4byte gUnknown_203F3D4 -_081497E4: .4byte 0x000082e4 -_081497E8: - adds r0, r1, 0 - adds r0, 0x7C - adds r0, r2 - movs r1, 0 - strb r1, [r0] -_081497F2: - adds r3, 0x28 - adds r2, 0x1 - cmp r2, r4 - blt _081497C2 -_081497FA: - adds r0, r5, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81497A8 - - thumb_func_start sub_8149804 -sub_8149804: @ 8149804 - push {lr} - movs r2, 0 - ldr r1, _08149828 @ =Rfu - ldr r3, _0814982C @ =0x0000069e - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _08149820 - ldr r3, _08149830 @ =0x000008d2 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _08149820 - movs r2, 0x1 -_08149820: - adds r0, r2, 0 - pop {r1} - bx r1 - .align 2, 0 -_08149828: .4byte Rfu -_0814982C: .4byte 0x0000069e -_08149830: .4byte 0x000008d2 - thumb_func_end sub_8149804 - - thumb_func_start sub_8149834 -sub_8149834: @ 8149834 - push {r4-r6,lr} - adds r4, r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - ldr r6, _08149874 @ =gUnknown_203F3D4 - movs r5, 0x1 -_08149842: - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08149852 - adds r0, r5, 0 - lsls r0, r1 - orrs r2, r0 - adds r3, 0x1 -_08149852: - adds r1, 0x1 - cmp r1, 0x4 - ble _08149842 - ldr r0, [r6] - adds r0, 0x71 - strb r2, [r0] - cmp r2, 0 - beq _0814986A - ldr r0, [r6] - adds r0, 0x4D - movs r1, 0x1 - strb r1, [r0] -_0814986A: - adds r0, r3, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08149874: .4byte gUnknown_203F3D4 - thumb_func_end sub_8149834 - - thumb_func_start sub_8149878 -sub_8149878: @ 8149878 - ldr r0, _08149884 @ =gUnknown_203F3D4 - ldr r0, [r0] - adds r0, 0x44 - movs r1, 0 - strb r1, [r0] - bx lr - .align 2, 0 -_08149884: .4byte gUnknown_203F3D4 - thumb_func_end sub_8149878 - - thumb_func_start sub_8149888 -sub_8149888: @ 8149888 - ldr r1, _08149894 @ =gUnknown_846B744 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_08149894: .4byte gUnknown_846B744 - thumb_func_end sub_8149888 - - thumb_func_start sub_8149898 -sub_8149898: @ 8149898 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, _081498B0 @ =gUnknown_203F3D4 - ldr r0, [r0] - ldrh r2, [r0, 0xE] - cmp r1, r2 - bls _081498AA - strh r1, [r0, 0xE] -_081498AA: - pop {r0} - bx r0 - .align 2, 0 -_081498B0: .4byte gUnknown_203F3D4 - thumb_func_end sub_8149898 - - thumb_func_start sub_81498B4 -sub_81498B4: @ 81498B4 - push {lr} - ldr r0, _081498C8 @ =gUnknown_203F3D4 - ldr r0, [r0] - ldr r1, _081498CC @ =gUnknown_846B76C - ldr r2, [r0, 0x78] - ldr r0, [r1] - cmp r2, r0 - bcs _081498D0 - movs r0, 0 - b _081498D2 - .align 2, 0 -_081498C8: .4byte gUnknown_203F3D4 -_081498CC: .4byte gUnknown_846B76C -_081498D0: - movs r0, 0x1 -_081498D2: - pop {r1} - bx r1 - thumb_func_end sub_81498B4 - - thumb_func_start sub_81498D8 -sub_81498D8: @ 81498D8 - push {r4,lr} - bl sub_8149910 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_8149930 - lsls r0, 16 - lsrs r0, 4 - ldr r1, _081498FC @ =0x00000fff - ands r4, r1 - orrs r0, r4 - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_081498FC: .4byte 0x00000fff - thumb_func_end sub_81498D8 - - thumb_func_start sub_8149900 -sub_8149900: @ 8149900 - lsls r0, 16 - lsrs r3, r0, 28 - strh r3, [r2] - lsls r0, 4 - lsrs r0, 20 - strh r0, [r1] - bx lr - thumb_func_end sub_8149900 - - thumb_func_start sub_8149910 -sub_8149910: @ 8149910 - push {lr} - bl Random - lsls r0, 16 - movs r1, 0xE0 - lsls r1, 11 - ands r1, r0 - ldr r0, _0814992C @ =gUnknown_846B75C - lsrs r1, 15 - adds r1, r0 - ldrh r0, [r1] - pop {r1} - bx r1 - .align 2, 0 -_0814992C: .4byte gUnknown_846B75C - thumb_func_end sub_8149910 - - thumb_func_start sub_8149930 -sub_8149930: @ 8149930 - push {r4-r6,lr} - movs r5, 0 - movs r4, 0 - ldr r3, _08149964 @ =gUnknown_203F3D4 - ldr r0, [r3] - ldr r2, _08149968 @ =gUnknown_846B76C - ldr r1, [r0, 0x78] - ldr r0, [r2] - cmp r1, r0 - bcc _0814996C - ldr r5, [r2, 0x4] - adds r6, r3, 0 - adds r3, r2, 0x4 -_0814994A: - adds r3, 0x8 - adds r2, 0x8 - adds r4, 0x1 - cmp r4, 0x4 - bhi _0814996C - ldr r0, [r6] - ldr r1, [r0, 0x78] - ldr r0, [r2] - cmp r1, r0 - bcc _0814996C - ldr r5, [r3] - b _0814994A - .align 2, 0 -_08149964: .4byte gUnknown_203F3D4 -_08149968: .4byte gUnknown_846B76C -_0814996C: - lsls r0, r5, 16 - lsrs r0, 16 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8149930 - - thumb_func_start sub_8149978 -sub_8149978: @ 8149978 - push {r4,r5,lr} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 16 - lsrs r4, r1, 16 - b _0814998A -_08149984: - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 -_0814998A: - cmp r4, 0 - beq _0814999C - adds r0, r5, 0 - adds r1, r4, 0 - bl CheckBagHasSpace - lsls r0, 24 - cmp r0, 0 - beq _08149984 -_0814999C: - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8149978 - - thumb_func_start sub_81499A4 -sub_81499A4: @ 81499A4 - push {lr} - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_81499A4 - - thumb_func_start sub_81499B4 -sub_81499B4: @ 81499B4 - ldr r0, _081499BC @ =gUnknown_203F3D4 - ldr r0, [r0] - ldrb r0, [r0, 0x6] - bx lr - .align 2, 0 -_081499BC: .4byte gUnknown_203F3D4 - thumb_func_end sub_81499B4 - - thumb_func_start sub_81499C0 -sub_81499C0: @ 81499C0 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _081499D8 @ =gUnknown_203F3D4 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - ldr r0, _081499DC @ =0x000082a8 - adds r1, r0 - ldr r0, [r2] - adds r0, r1 - bx lr - .align 2, 0 -_081499D8: .4byte gUnknown_203F3D4 -_081499DC: .4byte 0x000082a8 - thumb_func_end sub_81499C0 - - thumb_func_start sub_81499E0 -sub_81499E0: @ 81499E0 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _081499FC @ =gUnknown_203F3D4 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, [r2] - adds r0, r1 - movs r1, 0x83 - lsls r1, 8 - adds r0, r1 - bx lr - .align 2, 0 -_081499FC: .4byte gUnknown_203F3D4 - thumb_func_end sub_81499E0 - - thumb_func_start IsSpeciesAllowedInPokemonJump -IsSpeciesAllowedInPokemonJump: @ 8149A00 - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl sub_8147D00 - lsls r0, 16 - asrs r0, 16 - mvns r0, r0 - lsrs r0, 31 - pop {r1} - bx r1 - thumb_func_end IsSpeciesAllowedInPokemonJump - - thumb_func_start IsPokemonJumpSpeciesInParty -IsPokemonJumpSpeciesInParty: @ 8149A18 - push {r4,r5,lr} - movs r5, 0 -_08149A1C: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _08149A4C @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _08149A54 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl IsSpeciesAllowedInPokemonJump - cmp r0, 0 - beq _08149A54 - ldr r1, _08149A50 @ =gSpecialVar_Result - movs r0, 0x1 - b _08149A5E - .align 2, 0 -_08149A4C: .4byte gPlayerParty -_08149A50: .4byte gSpecialVar_Result -_08149A54: - adds r5, 0x1 - cmp r5, 0x5 - ble _08149A1C - ldr r1, _08149A68 @ =gSpecialVar_Result - movs r0, 0 -_08149A5E: - strh r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08149A68: .4byte gSpecialVar_Result - thumb_func_end IsPokemonJumpSpeciesInParty - - thumb_func_start sub_8149A6C -sub_8149A6C: @ 8149A6C - push {lr} - sub sp, 0xC - mov r2, sp - movs r1, 0x1 - strb r1, [r2] - ldrh r1, [r0] - strh r1, [r2, 0x2] - ldr r1, [r0, 0x4] - str r1, [sp, 0x8] - ldr r0, [r0, 0x8] - str r0, [sp, 0x4] - mov r0, sp - bl sub_80F9E2C - add sp, 0xC - pop {r0} - bx r0 - thumb_func_end sub_8149A6C - - thumb_func_start sub_8149A90 -sub_8149A90: @ 8149A90 - push {r4,lr} - sub sp, 0xC - adds r4, r1, 0 - ldr r3, _08149AC4 @ =gRecvCmds - lsls r2, r0, 4 - adds r0, r2, r3 - ldrh r1, [r0] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - movs r1, 0xBC - lsls r1, 6 - cmp r0, r1 - bne _08149AC0 - adds r1, r3, 0x2 - adds r1, r2, r1 - mov r0, sp - movs r2, 0xC - bl memcpy - mov r0, sp - ldrb r0, [r0] - cmp r0, 0x1 - beq _08149AC8 -_08149AC0: - movs r0, 0 - b _08149AD8 - .align 2, 0 -_08149AC4: .4byte gRecvCmds -_08149AC8: - mov r0, sp - ldrh r0, [r0, 0x2] - strh r0, [r4] - ldr r0, [sp, 0x8] - str r0, [r4, 0x4] - ldr r0, [sp, 0x4] - str r0, [r4, 0x8] - movs r0, 0x1 -_08149AD8: - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8149A90 - - thumb_func_start sub_8149AE0 -sub_8149AE0: @ 8149AE0 - push {lr} - sub sp, 0xC - mov r2, sp - movs r1, 0x2 - strb r1, [r2] - str r0, [sp, 0x4] - mov r0, sp - bl sub_80F9E2C - add sp, 0xC - pop {r0} - bx r0 - thumb_func_end sub_8149AE0 - - thumb_func_start sub_8149AF8 -sub_8149AF8: @ 8149AF8 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0xC - mov r3, sp - movs r2, 0x3 - strb r2, [r3] - ldr r3, [r1, 0x8] - lsls r3, 15 - ldr r2, [sp, 0x8] - ldr r4, _08149B74 @ =0x00007fff - mov r8, r4 - ands r2, r4 - orrs r2, r3 - str r2, [sp, 0x8] - mov r6, sp - ldrb r2, [r1, 0x1] - movs r5, 0x1F - adds r3, r5, 0 - ands r3, r2 - ldrb r4, [r6, 0x3] - movs r2, 0x20 - negs r2, r2 - ands r2, r4 - orrs r2, r3 - strb r2, [r6, 0x3] - mov r3, sp - ldrb r2, [r1] - strb r2, [r3, 0x1] - ldrh r2, [r1, 0x2] - strh r2, [r3, 0x6] - mov r4, sp - ldrh r2, [r1, 0x4] - mov r1, r8 - ands r2, r1 - ldrh r3, [r4, 0x8] - ldr r1, _08149B78 @ =0xffff8000 - ands r1, r3 - orrs r1, r2 - strh r1, [r4, 0x8] - mov r2, sp - ldrh r1, [r0, 0x10] - strb r1, [r2, 0x2] - mov r3, sp - ldr r1, [r0, 0x14] - lsls r1, 5 - ldrb r2, [r3, 0x3] - ands r5, r2 - orrs r5, r1 - strb r5, [r3, 0x3] - mov r1, sp - ldrh r0, [r0, 0xE] - strh r0, [r1, 0x4] - mov r0, sp - bl sub_80F9E2C - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08149B74: .4byte 0x00007fff -_08149B78: .4byte 0xffff8000 - thumb_func_end sub_8149AF8 - - thumb_func_start sub_8149B7C -sub_8149B7C: @ 8149B7C - push {r4,r5,lr} - sub sp, 0xC - adds r5, r0, 0 - adds r4, r1, 0 - ldr r2, _08149BE4 @ =gRecvCmds - ldrh r0, [r2] - movs r1, 0xFF - lsls r1, 8 - ands r1, r0 - movs r0, 0xBC - lsls r0, 6 - cmp r1, r0 - bne _08149BE8 - adds r1, r2, 0x2 - mov r0, sp - movs r2, 0xC - bl memcpy - mov r0, sp - ldrb r0, [r0] - cmp r0, 0x3 - bne _08149BE8 - ldr r0, [sp, 0x8] - lsrs r0, 15 - str r0, [r4, 0x8] - mov r0, sp - ldrb r1, [r0, 0x3] - lsls r0, r1, 27 - lsrs r0, 27 - strb r0, [r4, 0x1] - mov r0, sp - ldrb r0, [r0, 0x1] - strb r0, [r4] - mov r0, sp - ldrh r0, [r0, 0x6] - strh r0, [r4, 0x2] - mov r0, sp - ldrh r0, [r0, 0x8] - lsls r0, 17 - lsrs r0, 17 - strh r0, [r4, 0x4] - mov r0, sp - ldrb r0, [r0, 0x2] - strh r0, [r5, 0x10] - lsls r1, 24 - lsrs r1, 29 - str r1, [r5, 0x14] - mov r0, sp - ldrh r0, [r0, 0x4] - strh r0, [r5, 0xE] - movs r0, 0x1 - b _08149BEA - .align 2, 0 -_08149BE4: .4byte gRecvCmds -_08149BE8: - movs r0, 0 -_08149BEA: - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8149B7C - - thumb_func_start sub_8149BF4 -sub_8149BF4: @ 8149BF4 - push {r4,lr} - sub sp, 0xC - mov r4, sp - movs r3, 0x4 - strb r3, [r4] - ldrh r3, [r0, 0x10] - strb r3, [r4, 0x1] - ldr r3, [r0, 0x14] - strb r3, [r4, 0x2] - ldr r3, [r0, 0x18] - strb r3, [r4, 0x3] - mov r3, sp - ldrh r0, [r0, 0xE] - strh r0, [r3, 0x4] - mov r0, sp - strb r1, [r0, 0x6] - strh r2, [r0, 0x8] - bl sub_80F9E2C - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8149BF4 - - thumb_func_start sub_8149C24 -sub_8149C24: @ 8149C24 - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - adds r5, r2, 0 - adds r6, r3, 0 - ldr r3, _08149C80 @ =gRecvCmds - lsls r2, r1, 4 - adds r0, r2, r3 - ldrh r1, [r0] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - movs r1, 0xBC - lsls r1, 6 - cmp r0, r1 - bne _08149C84 - adds r1, r3, 0x2 - adds r1, r2, r1 - mov r0, sp - movs r2, 0xC - bl memcpy - mov r0, sp - ldrb r0, [r0] - cmp r0, 0x4 - bne _08149C84 - mov r0, sp - ldrb r0, [r0, 0x1] - strh r0, [r4, 0x10] - mov r0, sp - ldrb r0, [r0, 0x2] - str r0, [r4, 0x14] - mov r0, sp - ldrb r0, [r0, 0x3] - str r0, [r4, 0x18] - mov r0, sp - ldrh r0, [r0, 0x4] - strh r0, [r4, 0xE] - mov r0, sp - ldrb r0, [r0, 0x6] - strb r0, [r5] - mov r0, sp - ldrh r0, [r0, 0x8] - strh r0, [r6] - movs r0, 0x1 - b _08149C86 - .align 2, 0 -_08149C80: .4byte gRecvCmds -_08149C84: - movs r0, 0 -_08149C86: - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8149C24 - - thumb_func_start sub_8149C90 -sub_8149C90: @ 8149C90 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - ldr r3, _08149CDC @ =gRecvCmds - lsls r2, r1, 4 - adds r0, r2, r3 - ldrh r1, [r0] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - movs r1, 0xBC - lsls r1, 6 - cmp r0, r1 - bne _08149CE0 - adds r1, r3, 0x2 - adds r1, r2, r1 - mov r0, sp - movs r2, 0xC - bl memcpy - mov r0, sp - ldrb r0, [r0] - cmp r0, 0x4 - bne _08149CE0 - mov r0, sp - ldrb r0, [r0, 0x1] - strh r0, [r4, 0x10] - mov r0, sp - ldrb r0, [r0, 0x2] - str r0, [r4, 0x14] - mov r0, sp - ldrb r0, [r0, 0x3] - str r0, [r4, 0x18] - mov r0, sp - ldrh r0, [r0, 0x4] - strh r0, [r4, 0xE] - movs r0, 0x1 - b _08149CE2 - .align 2, 0 -_08149CDC: .4byte gRecvCmds -_08149CE0: - movs r0, 0 -_08149CE2: - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8149C90 - - thumb_func_start sub_8149CEC -sub_8149CEC: @ 8149CEC - push {r4,lr} - ldr r4, _08149D18 @ =gUnknown_203F3D8 - str r0, [r4] - bl sub_8149D34 - ldr r0, _08149D1C @ =sub_8149DA4 - movs r1, 0x3 - bl CreateTask - ldr r1, [r4] - strb r0, [r1, 0x6] - ldr r2, [r4] - ldrb r0, [r2, 0x6] - movs r1, 0x2 - bl SetWordTaskArg - ldr r0, _08149D20 @ =sub_8149DC8 - bl sub_8149D80 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08149D18: .4byte gUnknown_203F3D8 -_08149D1C: .4byte sub_8149DA4 -_08149D20: .4byte sub_8149DC8 - thumb_func_end sub_8149CEC - - thumb_func_start sub_8149D24 -sub_8149D24: @ 8149D24 - push {lr} - bl FreeAllWindowBuffers - bl sub_815C9F4 - pop {r0} - bx r0 - thumb_func_end sub_8149D24 - - thumb_func_start sub_8149D34 -sub_8149D34: @ 8149D34 - movs r1, 0 - strh r1, [r0, 0x4] - str r1, [r0] - movs r1, 0xFF - strh r1, [r0, 0x12] - bx lr - thumb_func_end sub_8149D34 - - thumb_func_start sub_8149D40 -sub_8149D40: @ 8149D40 - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - ldr r4, _08149D64 @ =gUnknown_846D8FC -_08149D48: - ldr r0, [r4] - cmp r0, r6 - bne _08149D54 - ldr r0, [r4, 0x4] - bl sub_8149D80 -_08149D54: - adds r4, 0x8 - adds r5, 0x1 - cmp r5, 0x9 - bls _08149D48 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08149D64: .4byte gUnknown_846D8FC - thumb_func_end sub_8149D40 - - thumb_func_start sub_8149D68 -sub_8149D68: @ 8149D68 - ldr r0, _08149D7C @ =gUnknown_203F3D8 - ldr r0, [r0] - ldr r1, [r0] - movs r0, 0x1 - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - bx lr - .align 2, 0 -_08149D7C: .4byte gUnknown_203F3D8 - thumb_func_end sub_8149D68 - - thumb_func_start sub_8149D80 -sub_8149D80: @ 8149D80 - push {r4,lr} - adds r2, r0, 0 - ldr r4, _08149DA0 @ =gUnknown_203F3D8 - ldr r0, [r4] - ldrb r0, [r0, 0x6] - movs r1, 0 - bl SetWordTaskArg - ldr r1, [r4] - movs r0, 0 - strh r0, [r1, 0x4] - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08149DA0: .4byte gUnknown_203F3D8 - thumb_func_end sub_8149D80 - - thumb_func_start sub_8149DA4 -sub_8149DA4: @ 8149DA4 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _08149DC4 @ =gUnknown_203F3D8 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0 - bne _08149DC0 - adds r0, r1, 0 - movs r1, 0 - bl GetWordTaskArg - bl _call_via_r0 -_08149DC0: - pop {r0} - bx r0 - .align 2, 0 -_08149DC4: .4byte gUnknown_203F3D8 - thumb_func_end sub_8149DA4 - - thumb_func_start sub_8149DC8 -sub_8149DC8: @ 8149DC8 - push {r4-r6,lr} - sub sp, 0x8 - ldr r6, _08149DE4 @ =gUnknown_203F3D8 - ldr r1, [r6] - ldrh r5, [r1, 0x4] - cmp r5, 0x1 - bne _08149DD8 - b _08149F18 -_08149DD8: - cmp r5, 0x1 - bgt _08149DE8 - cmp r5, 0 - beq _08149DF0 - b _08149F5A - .align 2, 0 -_08149DE4: .4byte gUnknown_203F3D8 -_08149DE8: - cmp r5, 0x2 - bne _08149DEE - b _08149F56 -_08149DEE: - b _08149F5A -_08149DF0: - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _08149EE8 @ =gUnknown_846D8D4 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r0, _08149EEC @ =gUnknown_846D8E4 - bl InitWindows - bl ResetBgPositions - bl ResetTempTileDataBuffers - ldr r0, [r6] - bl sub_814AD6C - bl sub_814A9C8 - ldr r0, _08149EF0 @ =gUnknown_846B7B4 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r1, _08149EF4 @ =gUnknown_846B7D4 - str r5, [sp] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - ldr r1, _08149EF8 @ =gUnknown_846BA00 - movs r4, 0x1 - str r4, [sp] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - ldr r0, _08149EFC @ =gUnknown_846BBB0 - movs r1, 0x30 - movs r2, 0x20 - bl LoadPalette - ldr r1, _08149F00 @ =gUnknown_846BBD0 - str r5, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - ldr r1, _08149F04 @ =gUnknown_846C520 - str r4, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - ldr r0, _08149F08 @ =gUnknown_846C8D8 - movs r1, 0x10 - movs r2, 0x20 - bl LoadPalette - ldr r1, _08149F0C @ =gUnknown_846C8F8 - str r5, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - ldr r1, _08149F10 @ =gUnknown_846D3A8 - str r4, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - ldr r0, _08149F14 @ =gUnknown_846B794 - movs r1, 0x20 - movs r2, 0x20 - bl LoadPalette - ldr r1, [r6] - movs r0, 0xD3 - lsls r0, 1 - adds r1, r0 - movs r0, 0 - bl SetBgTilemapBuffer - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - bl sub_814A84C - movs r0, 0 - bl sub_814AA24 - movs r0, 0 - movs r1, 0x1 - movs r2, 0xE0 - bl sub_814FDA0 - movs r0, 0 - movs r1, 0xA - movs r2, 0xD0 - bl LoadUserWindowBorderGfx - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - b _08149F4C - .align 2, 0 -_08149EE8: .4byte gUnknown_846D8D4 -_08149EEC: .4byte gUnknown_846D8E4 -_08149EF0: .4byte gUnknown_846B7B4 -_08149EF4: .4byte gUnknown_846B7D4 -_08149EF8: .4byte gUnknown_846BA00 -_08149EFC: .4byte gUnknown_846BBB0 -_08149F00: .4byte gUnknown_846BBD0 -_08149F04: .4byte gUnknown_846C520 -_08149F08: .4byte gUnknown_846C8D8 -_08149F0C: .4byte gUnknown_846C8F8 -_08149F10: .4byte gUnknown_846D3A8 -_08149F14: .4byte gUnknown_846B794 -_08149F18: - bl FreeTempTileDataBuffersIfPossible - lsls r0, 24 - cmp r0, 0 - bne _08149F5A - bl sub_814A8B8 - ldr r0, [r6] - bl sub_814B294 - ldr r0, [r6] - movs r1, 0x6 - bl sub_814B348 - movs r0, 0x3 - bl ShowBg - movs r0, 0 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x1 - bl HideBg -_08149F4C: - ldr r1, [r6] - ldrh r0, [r1, 0x4] - adds r0, 0x1 - strh r0, [r1, 0x4] - b _08149F5A -_08149F56: - movs r0, 0x1 - str r0, [r1] -_08149F5A: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8149DC8 - - thumb_func_start sub_8149F64 -sub_8149F64: @ 8149F64 - push {r4,lr} - ldr r4, _08149F7C @ =gUnknown_203F3D8 - ldr r0, [r4] - ldrh r0, [r0, 0x4] - cmp r0, 0x1 - beq _08149F90 - cmp r0, 0x1 - bgt _08149F80 - cmp r0, 0 - beq _08149F8A - b _08149FCA - .align 2, 0 -_08149F7C: .4byte gUnknown_203F3D8 -_08149F80: - cmp r0, 0x2 - beq _08149FA2 - cmp r0, 0x3 - beq _08149FBA - b _08149FCA -_08149F8A: - bl sub_814AADC - b _08149FB0 -_08149F90: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08149FCA - movs r0, 0 - bl sub_814AC30 - b _08149FB0 -_08149FA2: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08149FCA - bl sub_814AC94 -_08149FB0: - ldr r1, [r4] - ldrh r0, [r1, 0x4] - adds r0, 0x1 - strh r0, [r1, 0x4] - b _08149FCA -_08149FBA: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08149FCA - ldr r1, [r4] - movs r0, 0x1 - str r0, [r1] -_08149FCA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8149F64 - - thumb_func_start sub_8149FD0 -sub_8149FD0: @ 8149FD0 - push {r4,lr} - ldr r4, _08149FE8 @ =gUnknown_203F3D8 - ldr r0, [r4] - ldrh r0, [r0, 0x4] - cmp r0, 0x1 - beq _08149FFC - cmp r0, 0x1 - bgt _08149FEC - cmp r0, 0 - beq _08149FF6 - b _0814A036 - .align 2, 0 -_08149FE8: .4byte gUnknown_203F3D8 -_08149FEC: - cmp r0, 0x2 - beq _0814A00E - cmp r0, 0x3 - beq _0814A026 - b _0814A036 -_08149FF6: - bl sub_814AADC - b _0814A01C -_08149FFC: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A036 - movs r0, 0x1 - bl sub_814AC30 - b _0814A01C -_0814A00E: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A036 - bl sub_814AC94 -_0814A01C: - ldr r1, [r4] - ldrh r0, [r1, 0x4] - adds r0, 0x1 - strh r0, [r1, 0x4] - b _0814A036 -_0814A026: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A036 - ldr r1, [r4] - movs r0, 0x1 - str r0, [r1] -_0814A036: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8149FD0 - - thumb_func_start sub_814A03C -sub_814A03C: @ 814A03C - push {r4,r5,lr} - bl sub_81499A4 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _0814A058 @ =gUnknown_203F3D8 - ldr r0, [r0] - ldrh r0, [r0, 0x4] - cmp r0, 0 - beq _0814A05C - cmp r0, 0x1 - beq _0814A090 - b _0814A0BE - .align 2, 0 -_0814A058: .4byte gUnknown_203F3D8 -_0814A05C: - movs r4, 0 - cmp r4, r5 - bge _0814A078 -_0814A062: - ldr r0, _0814A08C @ =gUnknown_203F3D8 - ldr r0, [r0] - lsls r1, r4, 1 - adds r0, 0x1C - adds r0, r1 - ldrb r0, [r0] - bl ClearWindowTilemap - adds r4, 0x1 - cmp r4, r5 - blt _0814A062 -_0814A078: - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, _0814A08C @ =gUnknown_203F3D8 - ldr r1, [r0] - ldrh r0, [r1, 0x4] - adds r0, 0x1 - strh r0, [r1, 0x4] - b _0814A0BE - .align 2, 0 -_0814A08C: .4byte gUnknown_203F3D8 -_0814A090: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A0BE - movs r4, 0 - cmp r4, r5 - bge _0814A0B6 -_0814A0A0: - ldr r0, _0814A0C4 @ =gUnknown_203F3D8 - ldr r0, [r0] - lsls r1, r4, 1 - adds r0, 0x1C - adds r0, r1 - ldrb r0, [r0] - bl RemoveWindow - adds r4, 0x1 - cmp r4, r5 - blt _0814A0A0 -_0814A0B6: - ldr r0, _0814A0C4 @ =gUnknown_203F3D8 - ldr r1, [r0] - movs r0, 0x1 - str r0, [r1] -_0814A0BE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0814A0C4: .4byte gUnknown_203F3D8 - thumb_func_end sub_814A03C - - thumb_func_start sub_814A0C8 -sub_814A0C8: @ 814A0C8 - push {r4,r5,lr} - sub sp, 0xC - ldr r5, _0814A0E0 @ =gUnknown_203F3D8 - ldr r0, [r5] - ldrh r4, [r0, 0x4] - cmp r4, 0x1 - beq _0814A124 - cmp r4, 0x1 - bgt _0814A0E4 - cmp r4, 0 - beq _0814A0EA - b _0814A16C - .align 2, 0 -_0814A0E0: .4byte gUnknown_203F3D8 -_0814A0E4: - cmp r4, 0x2 - beq _0814A15C - b _0814A16C -_0814A0EA: - movs r0, 0x1 - movs r1, 0x8 - movs r2, 0x14 - movs r3, 0x2 - bl sub_814A754 - ldr r1, [r5] - strh r0, [r1, 0x12] - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0814A120 @ =gUnknown_841CBFD - movs r1, 0x2 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r0, [r5] - ldrb r0, [r0, 0x12] - movs r1, 0x2 - bl CopyWindowToVram - b _0814A152 - .align 2, 0 -_0814A120: .4byte gUnknown_841CBFD -_0814A124: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A16C - ldr r0, [r5] - ldrb r0, [r0, 0x12] - bl PutWindowTilemap - ldr r0, [r5] - ldrb r0, [r0, 0x12] - movs r1, 0x1 - movs r2, 0xE - bl DrawTextBorderOuter - movs r0, 0x17 - movs r1, 0x7 - movs r2, 0 - bl sub_814A7D0 - movs r0, 0 - bl CopyBgTilemapBufferToVram -_0814A152: - ldr r1, [r5] - ldrh r0, [r1, 0x4] - adds r0, 0x1 - strh r0, [r1, 0x4] - b _0814A16C -_0814A15C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A16C - ldr r1, [r5] - movs r0, 0x1 - str r0, [r1] -_0814A16C: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_814A0C8 - - thumb_func_start sub_814A174 -sub_814A174: @ 814A174 - push {r4,r5,lr} - sub sp, 0xC - ldr r5, _0814A18C @ =gUnknown_203F3D8 - ldr r0, [r5] - ldrh r4, [r0, 0x4] - cmp r4, 0x1 - beq _0814A1D0 - cmp r4, 0x1 - bgt _0814A190 - cmp r4, 0 - beq _0814A196 - b _0814A20E - .align 2, 0 -_0814A18C: .4byte gUnknown_203F3D8 -_0814A190: - cmp r4, 0x2 - beq _0814A1FE - b _0814A20E -_0814A196: - movs r0, 0x2 - movs r1, 0x7 - movs r2, 0x1A - movs r3, 0x4 - bl sub_814A754 - ldr r1, [r5] - strh r0, [r1, 0x12] - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0814A1CC @ =gUnknown_841CC42 - movs r1, 0x2 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r0, [r5] - ldrb r0, [r0, 0x12] - movs r1, 0x2 - bl CopyWindowToVram - b _0814A1F4 - .align 2, 0 -_0814A1CC: .4byte gUnknown_841CC42 -_0814A1D0: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A20E - ldr r0, [r5] - ldrb r0, [r0, 0x12] - bl PutWindowTilemap - ldr r0, [r5] - ldrb r0, [r0, 0x12] - movs r1, 0x1 - movs r2, 0xE - bl DrawTextBorderOuter - movs r0, 0 - bl CopyBgTilemapBufferToVram -_0814A1F4: - ldr r1, [r5] - ldrh r0, [r1, 0x4] - adds r0, 0x1 - strh r0, [r1, 0x4] - b _0814A20E -_0814A1FE: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A20E - ldr r1, [r5] - movs r0, 0x1 - str r0, [r1] -_0814A20E: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_814A174 - - thumb_func_start sub_814A218 -sub_814A218: @ 814A218 - push {r4,r5,lr} - ldr r5, _0814A22C @ =gUnknown_203F3D8 - ldr r0, [r5] - ldrh r4, [r0, 0x4] - cmp r4, 0 - beq _0814A230 - cmp r4, 0x1 - beq _0814A248 - b _0814A25E - .align 2, 0 -_0814A22C: .4byte gUnknown_203F3D8 -_0814A230: - bl sub_814A6CC - bl DestroyYesNoMenu - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r1, [r5] - ldrh r0, [r1, 0x4] - adds r0, 0x1 - strh r0, [r1, 0x4] - b _0814A25E -_0814A248: - bl sub_814A6FC - cmp r0, 0 - bne _0814A25E - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A25E - ldr r0, [r5] - str r4, [r0] -_0814A25E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_814A218 - - thumb_func_start sub_814A264 -sub_814A264: @ 814A264 - push {r4,r5,lr} - sub sp, 0xC - ldr r5, _0814A27C @ =gUnknown_203F3D8 - ldr r0, [r5] - ldrh r4, [r0, 0x4] - cmp r4, 0x1 - beq _0814A2C0 - cmp r4, 0x1 - bgt _0814A280 - cmp r4, 0 - beq _0814A286 - b _0814A2FE - .align 2, 0 -_0814A27C: .4byte gUnknown_203F3D8 -_0814A280: - cmp r4, 0x2 - beq _0814A2EE - b _0814A2FE -_0814A286: - movs r0, 0x2 - movs r1, 0x8 - movs r2, 0x16 - movs r3, 0x4 - bl sub_814A754 - ldr r1, [r5] - strh r0, [r1, 0x12] - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0814A2BC @ =gUnknown_841CC11 - movs r1, 0x2 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r0, [r5] - ldrb r0, [r0, 0x12] - movs r1, 0x2 - bl CopyWindowToVram - b _0814A2E4 - .align 2, 0 -_0814A2BC: .4byte gUnknown_841CC11 -_0814A2C0: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A2FE - ldr r0, [r5] - ldrb r0, [r0, 0x12] - bl PutWindowTilemap - ldr r0, [r5] - ldrb r0, [r0, 0x12] - movs r1, 0x1 - movs r2, 0xE - bl DrawTextBorderOuter - movs r0, 0 - bl CopyBgTilemapBufferToVram -_0814A2E4: - ldr r1, [r5] - ldrh r0, [r1, 0x4] - adds r0, 0x1 - strh r0, [r1, 0x4] - b _0814A2FE -_0814A2EE: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A2FE - ldr r1, [r5] - movs r0, 0x1 - str r0, [r1] -_0814A2FE: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_814A264 - - thumb_func_start sub_814A308 -sub_814A308: @ 814A308 - push {r4,r5,lr} - sub sp, 0xC - ldr r5, _0814A320 @ =gUnknown_203F3D8 - ldr r0, [r5] - ldrh r4, [r0, 0x4] - cmp r4, 0x1 - beq _0814A364 - cmp r4, 0x1 - bgt _0814A324 - cmp r4, 0 - beq _0814A32A - b _0814A3A2 - .align 2, 0 -_0814A320: .4byte gUnknown_203F3D8 -_0814A324: - cmp r4, 0x2 - beq _0814A392 - b _0814A3A2 -_0814A32A: - movs r0, 0x7 - movs r1, 0xA - movs r2, 0x10 - movs r3, 0x2 - bl sub_814A754 - ldr r1, [r5] - strh r0, [r1, 0x12] - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0814A360 @ =gUnknown_841CC64 - movs r1, 0x2 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - str r4, [sp, 0x8] - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r0, [r5] - ldrb r0, [r0, 0x12] - movs r1, 0x2 - bl CopyWindowToVram - b _0814A388 - .align 2, 0 -_0814A360: .4byte gUnknown_841CC64 -_0814A364: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A3A2 - ldr r0, [r5] - ldrb r0, [r0, 0x12] - bl PutWindowTilemap - ldr r0, [r5] - ldrb r0, [r0, 0x12] - movs r1, 0x1 - movs r2, 0xE - bl DrawTextBorderOuter - movs r0, 0 - bl CopyBgTilemapBufferToVram -_0814A388: - ldr r1, [r5] - ldrh r0, [r1, 0x4] - adds r0, 0x1 - strh r0, [r1, 0x4] - b _0814A3A2 -_0814A392: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A3A2 - ldr r1, [r5] - movs r0, 0x1 - str r0, [r1] -_0814A3A2: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_814A308 - - thumb_func_start sub_814A3AC -sub_814A3AC: @ 814A3AC - push {r4,r5,lr} - ldr r5, _0814A3C0 @ =gUnknown_203F3D8 - ldr r0, [r5] - ldrh r4, [r0, 0x4] - cmp r4, 0 - beq _0814A3C4 - cmp r4, 0x1 - beq _0814A3D2 - b _0814A3DE - .align 2, 0 -_0814A3C0: .4byte gUnknown_203F3D8 -_0814A3C4: - bl sub_814B43C - ldr r1, [r5] - ldrh r0, [r1, 0x4] - adds r0, 0x1 - strh r0, [r1, 0x4] - b _0814A3DE -_0814A3D2: - bl sub_814B460 - cmp r0, 0 - bne _0814A3DE - ldr r0, [r5] - str r4, [r0] -_0814A3DE: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_814A3AC - - thumb_func_start sub_814A3E4 -sub_814A3E4: @ 814A3E4 - push {lr} - ldr r1, _0814A404 @ =gUnknown_203F3D8 - ldr r0, [r1] - movs r2, 0 - strb r2, [r0, 0xA] - ldr r0, [r1] - strb r2, [r0, 0xB] - ldr r2, [r1] - movs r0, 0x6 - strb r0, [r2, 0xC] - ldr r0, [r1] - ldrb r0, [r0, 0xC] - bl sub_814A95C - pop {r0} - bx r0 - .align 2, 0 -_0814A404: .4byte gUnknown_203F3D8 - thumb_func_end sub_814A3E4 - - thumb_func_start sub_814A408 -sub_814A408: @ 814A408 - push {r4,lr} - ldr r0, _0814A41C @ =gUnknown_203F3D8 - ldr r2, [r0] - ldrb r3, [r2, 0xA] - adds r4, r0, 0 - cmp r3, 0 - beq _0814A420 - cmp r3, 0x1 - beq _0814A45A - b _0814A45E - .align 2, 0 -_0814A41C: .4byte gUnknown_203F3D8 -_0814A420: - ldrb r0, [r2, 0xB] - adds r0, 0x1 - strb r0, [r2, 0xB] - ldr r1, [r4] - ldrb r0, [r1, 0xB] - cmp r0, 0xA - bls _0814A44A - strb r3, [r1, 0xB] - ldr r0, [r4] - ldrb r1, [r0, 0xC] - adds r1, 0x1 - strb r1, [r0, 0xC] - ldr r1, [r4] - ldrb r0, [r1, 0xC] - cmp r0, 0x9 - bls _0814A44A - strb r3, [r1, 0xC] - ldr r1, [r4] - ldrb r0, [r1, 0xA] - adds r0, 0x1 - strb r0, [r1, 0xA] -_0814A44A: - ldr r0, [r4] - ldrb r0, [r0, 0xC] - bl sub_814A95C - ldr r0, [r4] - ldrb r0, [r0, 0xC] - cmp r0, 0x7 - bne _0814A45E -_0814A45A: - movs r0, 0 - b _0814A460 -_0814A45E: - movs r0, 0x1 -_0814A460: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814A408 - - thumb_func_start sub_814A468 -sub_814A468: @ 814A468 - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r1, 16 - lsrs r6, r1, 16 - ldr r5, _0814A52C @ =gUnknown_203F3D8 - ldr r1, [r5] - adds r1, 0x26 - adds r0, r4, 0 - bl CopyItemName - ldr r0, [r5] - adds r0, 0x66 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - subs r4, 0x85 - lsls r4, 16 - lsrs r4, 16 - cmp r4, 0x29 - bhi _0814A4C2 - cmp r6, 0x1 - bls _0814A4C2 - ldr r0, [r5] - adds r0, 0x26 - bl StringLength - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _0814A4C2 - ldr r0, [r5] - adds r0, r1, r0 - adds r0, 0x25 - movs r1, 0xFF - strb r1, [r0] - ldr r0, [r5] - adds r0, 0x26 - ldr r1, _0814A530 @ =gUnknown_846D94C - bl StringAppend -_0814A4C2: - bl DynamicPlaceholderTextUtil_Reset - ldr r4, _0814A52C @ =gUnknown_203F3D8 - ldr r1, [r4] - adds r1, 0x26 - movs r0, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - ldr r1, [r4] - adds r1, 0x66 - movs r0, 0x1 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - ldr r0, [r4] - adds r0, 0xA6 - ldr r1, _0814A534 @ =gUnknown_841CBA9 - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - movs r0, 0x4 - movs r1, 0x8 - movs r2, 0x16 - movs r3, 0x4 - bl sub_814A754 - ldr r2, [r4] - movs r5, 0 - movs r3, 0 - strh r0, [r2, 0x12] - lsls r0, 24 - lsrs r0, 24 - adds r2, 0xA6 - movs r1, 0x2 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - str r3, [sp, 0x8] - movs r1, 0x2 - bl AddTextPrinterParameterized - ldr r0, [r4] - ldrb r0, [r0, 0x12] - movs r1, 0x2 - bl CopyWindowToVram - ldr r1, [r4] - ldr r0, _0814A538 @ =0x00000101 - strh r0, [r1, 0x14] - strb r5, [r1, 0xD] - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0814A52C: .4byte gUnknown_203F3D8 -_0814A530: .4byte gUnknown_846D94C -_0814A534: .4byte gUnknown_841CBA9 -_0814A538: .4byte 0x00000101 - thumb_func_end sub_814A468 - - thumb_func_start sub_814A53C -sub_814A53C: @ 814A53C - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 16 - lsrs r0, 16 - ldr r4, _0814A5AC @ =gUnknown_203F3D8 - ldr r1, [r4] - adds r1, 0x26 - bl CopyItemName - bl DynamicPlaceholderTextUtil_Reset - ldr r1, [r4] - adds r1, 0x26 - movs r0, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - ldr r0, [r4] - adds r0, 0xA6 - ldr r1, _0814A5B0 @ =gUnknown_841CBCA - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - movs r0, 0x4 - movs r1, 0x8 - movs r2, 0x16 - movs r3, 0x4 - bl sub_814A754 - ldr r2, [r4] - movs r6, 0 - movs r5, 0 - strh r0, [r2, 0x12] - lsls r0, 24 - lsrs r0, 24 - adds r2, 0xA6 - movs r1, 0x2 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r0, [r4] - ldrb r0, [r0, 0x12] - movs r1, 0x2 - bl CopyWindowToVram - ldr r0, [r4] - strh r5, [r0, 0x14] - strb r6, [r0, 0xD] - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0814A5AC: .4byte gUnknown_203F3D8 -_0814A5B0: .4byte gUnknown_841CBCA - thumb_func_end sub_814A53C - - thumb_func_start sub_814A5B4 -sub_814A5B4: @ 814A5B4 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 16 - lsrs r0, 16 - ldr r4, _0814A624 @ =gUnknown_203F3D8 - ldr r1, [r4] - adds r1, 0x26 - bl CopyItemName - bl DynamicPlaceholderTextUtil_Reset - ldr r1, [r4] - adds r1, 0x26 - movs r0, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - ldr r0, [r4] - adds r0, 0xA6 - ldr r1, _0814A628 @ =gUnknown_841CBE4 - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - movs r0, 0x4 - movs r1, 0x9 - movs r2, 0x16 - movs r3, 0x2 - bl sub_814A754 - ldr r2, [r4] - movs r6, 0 - movs r5, 0 - strh r0, [r2, 0x12] - lsls r0, 24 - lsrs r0, 24 - adds r2, 0xA6 - movs r1, 0x2 - str r1, [sp] - movs r1, 0xFF - str r1, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r0, [r4] - ldrb r0, [r0, 0x12] - movs r1, 0x2 - bl CopyWindowToVram - ldr r0, [r4] - strh r5, [r0, 0x14] - strb r6, [r0, 0xD] - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0814A624: .4byte gUnknown_203F3D8 -_0814A628: .4byte gUnknown_841CBE4 - thumb_func_end sub_814A5B4 - - thumb_func_start sub_814A62C -sub_814A62C: @ 814A62C - push {r4,lr} - ldr r4, _0814A644 @ =gUnknown_203F3D8 - ldr r0, [r4] - ldrb r0, [r0, 0xD] - cmp r0, 0x1 - beq _0814A680 - cmp r0, 0x1 - bgt _0814A648 - cmp r0, 0 - beq _0814A652 - b _0814A6C4 - .align 2, 0 -_0814A644: .4byte gUnknown_203F3D8 -_0814A648: - cmp r0, 0x2 - beq _0814A6A6 - cmp r0, 0x3 - beq _0814A6BA - b _0814A6C4 -_0814A652: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A6C4 - ldr r0, [r4] - ldrb r0, [r0, 0x12] - bl PutWindowTilemap - ldr r0, [r4] - ldrb r0, [r0, 0x12] - movs r1, 0x1 - movs r2, 0xE - bl DrawTextBorderOuter - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r1, [r4] - ldrb r0, [r1, 0xD] - adds r0, 0x1 - strb r0, [r1, 0xD] - b _0814A6C4 -_0814A680: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A6C4 - ldr r1, [r4] - ldrh r0, [r1, 0x14] - cmp r0, 0 - bne _0814A698 - ldrb r0, [r1, 0xD] - adds r0, 0x2 - b _0814A6B8 -_0814A698: - ldrh r0, [r1, 0x14] - bl PlayFanfare - ldr r1, [r4] - ldrb r0, [r1, 0xD] - adds r0, 0x1 - strb r0, [r1, 0xD] -_0814A6A6: - bl IsFanfareTaskInactive - lsls r0, 24 - cmp r0, 0 - beq _0814A6C4 - ldr r0, _0814A6C0 @ =gUnknown_203F3D8 - ldr r1, [r0] - ldrb r0, [r1, 0xD] - adds r0, 0x1 -_0814A6B8: - strb r0, [r1, 0xD] -_0814A6BA: - movs r0, 0 - b _0814A6C6 - .align 2, 0 -_0814A6C0: .4byte gUnknown_203F3D8 -_0814A6C4: - movs r0, 0x1 -_0814A6C6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814A62C - - thumb_func_start sub_814A6CC -sub_814A6CC: @ 814A6CC - push {r4,lr} - ldr r4, _0814A6F8 @ =gUnknown_203F3D8 - ldr r0, [r4] - ldrh r0, [r0, 0x12] - cmp r0, 0xFF - beq _0814A6F0 - lsls r0, 24 - lsrs r0, 24 - bl rbox_fill_rectangle - ldr r0, [r4] - ldrb r0, [r0, 0x12] - movs r1, 0x1 - bl CopyWindowToVram - ldr r1, [r4] - movs r0, 0 - strb r0, [r1, 0xD] -_0814A6F0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814A6F8: .4byte gUnknown_203F3D8 - thumb_func_end sub_814A6CC - - thumb_func_start sub_814A6FC -sub_814A6FC: @ 814A6FC - push {r4,lr} - ldr r4, _0814A70C @ =gUnknown_203F3D8 - ldr r1, [r4] - ldrh r0, [r1, 0x12] - cmp r0, 0xFF - bne _0814A710 -_0814A708: - movs r0, 0 - b _0814A73C - .align 2, 0 -_0814A70C: .4byte gUnknown_203F3D8 -_0814A710: - ldrb r0, [r1, 0xD] - cmp r0, 0 - bne _0814A736 - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814A73A - ldr r0, [r4] - ldrb r0, [r0, 0x12] - bl RemoveWindow - ldr r1, [r4] - movs r0, 0xFF - strh r0, [r1, 0x12] - ldrb r0, [r1, 0xD] - adds r0, 0x1 - strb r0, [r1, 0xD] - b _0814A708 -_0814A736: - cmp r0, 0x1 - beq _0814A708 -_0814A73A: - movs r0, 0x1 -_0814A73C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814A6FC - - thumb_func_start sub_814A744 -sub_814A744: @ 814A744 - push {lr} - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_814A744 - - thumb_func_start sub_814A754 -sub_814A754: @ 814A754 - push {r4-r6,lr} - sub sp, 0x8 - ldr r6, _0814A7BC @ =0xffffff00 - ldr r4, [sp] - ands r4, r6 - lsls r0, 24 - lsrs r0, 16 - ldr r5, _0814A7C0 @ =0xffff00ff - ands r4, r5 - orrs r4, r0 - lsls r1, 24 - lsrs r1, 8 - ldr r0, _0814A7C4 @ =0xff00ffff - ands r4, r0 - orrs r4, r1 - lsls r2, 24 - ldr r0, _0814A7C8 @ =0x00ffffff - ands r4, r0 - orrs r4, r2 - str r4, [sp] - lsls r3, 24 - lsrs r3, 24 - ldr r0, [sp, 0x4] - ands r0, r6 - orrs r0, r3 - ands r0, r5 - movs r1, 0xF0 - lsls r1, 4 - orrs r0, r1 - ldr r1, _0814A7CC @ =0x0000ffff - ands r0, r1 - movs r1, 0x86 - lsls r1, 15 - orrs r0, r1 - str r0, [sp, 0x4] - mov r0, sp - bl AddWindow - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r0, r4, 24 - lsrs r0, 24 - movs r1, 0x11 - bl FillWindowPixelBuffer - adds r0, r4, 0 - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0814A7BC: .4byte 0xffffff00 -_0814A7C0: .4byte 0xffff00ff -_0814A7C4: .4byte 0xff00ffff -_0814A7C8: .4byte 0x00ffffff -_0814A7CC: .4byte 0x0000ffff - thumb_func_end sub_814A754 - - thumb_func_start sub_814A7D0 -sub_814A7D0: @ 814A7D0 - push {r4,r5,lr} - sub sp, 0x14 - lsls r2, 24 - lsrs r2, 24 - ldr r5, _0814A838 @ =0xffffff00 - ldr r3, [sp, 0xC] - ands r3, r5 - lsls r0, 24 - lsrs r0, 16 - ldr r4, _0814A83C @ =0xffff00ff - ands r3, r4 - orrs r3, r0 - lsls r1, 24 - lsrs r1, 8 - ldr r0, _0814A840 @ =0xff00ffff - ands r3, r0 - orrs r3, r1 - ldr r0, _0814A844 @ =0x00ffffff - ands r3, r0 - movs r0, 0xC0 - lsls r0, 19 - orrs r3, r0 - str r3, [sp, 0xC] - ldr r0, [sp, 0x10] - ands r0, r5 - movs r1, 0x4 - orrs r0, r1 - ands r0, r4 - movs r1, 0x80 - lsls r1, 2 - orrs r0, r1 - ldr r1, _0814A848 @ =0x0000ffff - ands r0, r1 - movs r1, 0xAC - lsls r1, 14 - orrs r0, r1 - str r0, [sp, 0x10] - movs r0, 0xA - str r0, [sp] - movs r0, 0xD - str r0, [sp, 0x4] - str r2, [sp, 0x8] - add r0, sp, 0xC - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl CreateYesNoMenu - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0814A838: .4byte 0xffffff00 -_0814A83C: .4byte 0xffff00ff -_0814A840: .4byte 0xff00ffff -_0814A844: .4byte 0x00ffffff -_0814A848: .4byte 0x0000ffff - thumb_func_end sub_814A7D0 - - thumb_func_start sub_814A84C -sub_814A84C: @ 814A84C - push {r4,lr} - sub sp, 0x10 - ldr r1, _0814A8AC @ =gUnknown_846D950 - add r0, sp, 0xC - movs r2, 0x3 - bl memcpy - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - add r0, sp, 0xC - str r0, [sp] - movs r4, 0 - str r4, [sp, 0x4] - ldr r0, _0814A8B0 @ =gUnknown_841CB52 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x2 - bl AddTextPrinterParameterized3 - add r0, sp, 0xC - str r0, [sp] - str r4, [sp, 0x4] - ldr r0, _0814A8B4 @ =gUnknown_841CB5A - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0x2 - bl AddTextPrinterParameterized3 - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814A8AC: .4byte gUnknown_846D950 -_0814A8B0: .4byte gUnknown_841CB52 -_0814A8B4: .4byte gUnknown_841CB5A - thumb_func_end sub_814A84C - - thumb_func_start sub_814A8B8 -sub_814A8B8: @ 814A8B8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - bl sub_81499A4 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - ldr r1, _0814A934 @ =gUnknown_846D9D4 - subs r0, 0x2 - lsls r0, 2 - adds r0, r1 - ldr r5, [r0] - movs r6, 0 - cmp r6, r10 - bge _0814A922 - ldr r0, _0814A938 @ =gMonFrontPicCoords - mov r9, r0 - ldr r1, _0814A93C @ =gUnknown_203F3D8 - mov r8, r1 -_0814A8E6: - lsls r4, r6, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_81499C0 - adds r1, r0, 0 - ldrh r0, [r1] - lsls r0, 2 - add r0, r9 - ldrb r3, [r0, 0x1] - mov r2, r8 - ldr r0, [r2] - movs r7, 0 - ldrsh r2, [r5, r7] - adds r3, 0x70 - str r4, [sp] - bl sub_814ADCC - mov r1, r8 - ldr r0, [r1] - movs r2, 0 - ldrsh r1, [r5, r2] - movs r2, 0x70 - adds r3, r4, 0 - bl sub_814B240 - adds r5, 0x2 - adds r6, 0x1 - cmp r6, r10 - blt _0814A8E6 -_0814A922: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814A934: .4byte gUnknown_846D9D4 -_0814A938: .4byte gMonFrontPicCoords -_0814A93C: .4byte gUnknown_203F3D8 - thumb_func_end sub_814A8B8 - - thumb_func_start sub_814A940 -sub_814A940: @ 814A940 - ldr r2, _0814A954 @ =gUnknown_203F3D8 - ldr r2, [r2] - lsls r0, 2 - ldr r3, _0814A958 @ =0x000081a8 - adds r2, r3 - adds r2, r0 - ldr r0, [r2] - strh r1, [r0, 0x26] - bx lr - .align 2, 0 -_0814A954: .4byte gUnknown_203F3D8 -_0814A958: .4byte 0x000081a8 - thumb_func_end sub_814A940 - - thumb_func_start sub_814A95C -sub_814A95C: @ 814A95C - push {r4,lr} - adds r4, r0, 0 - ldr r0, _0814A984 @ =gUnknown_203F3D8 - ldr r0, [r0] - adds r1, r4, 0 - bl sub_814B348 - ldr r0, _0814A988 @ =gUnknown_846D953 - adds r4, r0 - ldrb r0, [r4] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 13 - movs r0, 0x2 - movs r2, 0 - bl ChangeBgY - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814A984: .4byte gUnknown_203F3D8 -_0814A988: .4byte gUnknown_846D953 - thumb_func_end sub_814A95C - - thumb_func_start sub_814A98C -sub_814A98C: @ 814A98C - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0 - movs r6, 0 -_0814A996: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _0814A9AA - ldr r0, _0814A9C4 @ =gUnknown_203F3D8 - ldr r0, [r0] - adds r1, r5, 0 - bl sub_814AF0C - adds r6, 0x1 -_0814A9AA: - lsrs r4, 1 - adds r5, 0x1 - cmp r5, 0x4 - ble _0814A996 - subs r0, r6, 0x2 - lsls r0, 24 - lsrs r0, 24 - bl sub_814ACCC - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0814A9C4: .4byte gUnknown_203F3D8 - thumb_func_end sub_814A98C - - thumb_func_start sub_814A9C8 -sub_814A9C8: @ 814A9C8 - push {r4,lr} - sub sp, 0x10 - mov r1, sp - movs r0, 0x40 - strb r0, [r1] - movs r0, 0x5 - strb r0, [r1, 0x1] - movs r0, 0x8 - strb r0, [r1, 0x2] - movs r0, 0x6C - strh r0, [r1, 0x4] - movs r4, 0x6 - strh r4, [r1, 0x6] - ldr r0, _0814AA1C @ =gUnknown_846D960 - str r0, [sp, 0x8] - ldr r0, _0814AA20 @ =gUnknown_846D968 - str r0, [sp, 0xC] - movs r0, 0x2 - bl sub_815C980 - movs r0, 0 - movs r1, 0 - mov r2, sp - bl sub_815CA40 - mov r1, sp - movs r0, 0x4 - strb r0, [r1, 0x1] - movs r0, 0x1E - strh r0, [r1, 0x4] - mov r0, sp - strh r4, [r0, 0x6] - movs r0, 0x1 - movs r1, 0 - mov r2, sp - bl sub_815CA40 - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814AA1C: .4byte gUnknown_846D960 -_0814AA20: .4byte gUnknown_846D968 - thumb_func_end sub_814A9C8 - - thumb_func_start sub_814AA24 -sub_814AA24: @ 814AA24 - push {lr} - adds r1, r0, 0 - movs r0, 0 - bl sub_815CD70 - pop {r0} - bx r0 - thumb_func_end sub_814AA24 - - thumb_func_start sub_814AA34 -sub_814AA34: @ 814AA34 - push {lr} - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x1 - bl sub_815CD70 - pop {r0} - bx r0 - thumb_func_end sub_814AA34 - - thumb_func_start sub_814AA48 -sub_814AA48: @ 814AA48 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _0814AA5C @ =gUnknown_203F3D8 - ldr r0, [r0] - bl sub_814AFE8 - pop {r0} - bx r0 - .align 2, 0 -_0814AA5C: .4byte gUnknown_203F3D8 - thumb_func_end sub_814AA48 - - thumb_func_start sub_814AA60 -sub_814AA60: @ 814AA60 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _0814AA74 @ =gUnknown_203F3D8 - ldr r0, [r0] - bl sub_814B080 - pop {r0} - bx r0 - .align 2, 0 -_0814AA74: .4byte gUnknown_203F3D8 - thumb_func_end sub_814AA60 - - thumb_func_start sub_814AA78 -sub_814AA78: @ 814AA78 - push {lr} - adds r1, r0, 0 - ldr r0, _0814AA88 @ =gUnknown_203F3D8 - ldr r0, [r0] - bl sub_814B010 - pop {r1} - bx r1 - .align 2, 0 -_0814AA88: .4byte gUnknown_203F3D8 - thumb_func_end sub_814AA78 - - thumb_func_start sub_814AA8C -sub_814AA8C: @ 814AA8C - push {lr} - ldr r0, _0814AA9C @ =gUnknown_203F3D8 - ldr r0, [r0] - bl sub_814B0A8 - pop {r0} - bx r0 - .align 2, 0 -_0814AA9C: .4byte gUnknown_203F3D8 - thumb_func_end sub_814AA8C - - thumb_func_start sub_814AAA0 -sub_814AAA0: @ 814AAA0 - push {lr} - ldr r0, _0814AAB0 @ =gUnknown_203F3D8 - ldr r0, [r0] - bl sub_814B134 - pop {r0} - bx r0 - .align 2, 0 -_0814AAB0: .4byte gUnknown_203F3D8 - thumb_func_end sub_814AAA0 - - thumb_func_start sub_814AAB4 -sub_814AAB4: @ 814AAB4 - push {lr} - adds r1, r0, 0 - ldr r0, _0814AAC4 @ =gUnknown_203F3D8 - ldr r0, [r0] - bl sub_814B168 - pop {r0} - bx r0 - .align 2, 0 -_0814AAC4: .4byte gUnknown_203F3D8 - thumb_func_end sub_814AAB4 - - thumb_func_start sub_814AAC8 -sub_814AAC8: @ 814AAC8 - push {lr} - ldr r0, _0814AAD8 @ =gUnknown_203F3D8 - ldr r0, [r0] - bl sub_814B190 - pop {r1} - bx r1 - .align 2, 0 -_0814AAD8: .4byte gUnknown_203F3D8 - thumb_func_end sub_814AAC8 - - thumb_func_start sub_814AADC -sub_814AADC: @ 814AADC - push {r4-r7,lr} - sub sp, 0x8 - bl sub_81499A4 - lsls r0, 16 - lsrs r7, r0, 16 - ldr r1, _0814AB7C @ =gUnknown_846D9A8 - subs r0, r7, 0x2 - lsls r0, 2 - adds r0, r1 - ldr r4, [r0] - ldr r2, _0814AB80 @ =0xffffff00 - ldr r0, [sp] - ands r0, r2 - ldr r1, _0814AB84 @ =0x00ffffff - ands r0, r1 - movs r1, 0x80 - lsls r1, 20 - orrs r0, r1 - str r0, [sp] - ldr r0, [sp, 0x4] - ands r0, r2 - movs r1, 0x2 - orrs r0, r1 - ldr r1, _0814AB88 @ =0xffff00ff - ands r0, r1 - movs r1, 0x80 - lsls r1, 2 - orrs r0, r1 - ldr r1, _0814AB8C @ =0x0000ffff - ands r0, r1 - movs r1, 0xAC - lsls r1, 14 - orrs r0, r1 - str r0, [sp, 0x4] - movs r5, 0 - cmp r5, r7 - bge _0814AB6C - mov r6, sp -_0814AB2A: - ldrb r0, [r4] - lsls r0, 8 - ldr r2, _0814AB88 @ =0xffff00ff - ldr r1, [sp] - ands r1, r2 - orrs r1, r0 - str r1, [sp] - ldrb r2, [r4, 0x2] - lsls r2, 16 - ldr r0, _0814AB90 @ =0xff00ffff - ands r0, r1 - orrs r0, r2 - str r0, [sp] - mov r0, sp - bl AddWindow - ldr r1, _0814AB94 @ =gUnknown_203F3D8 - ldr r1, [r1] - lsls r2, r5, 1 - adds r1, 0x1C - adds r1, r2 - strh r0, [r1] - lsls r0, 24 - lsrs r0, 24 - bl ClearWindowTilemap - ldrh r0, [r6, 0x6] - adds r0, 0x10 - strh r0, [r6, 0x6] - adds r4, 0x4 - adds r5, 0x1 - cmp r5, r7 - blt _0814AB2A -_0814AB6C: - movs r0, 0 - bl CopyBgTilemapBufferToVram - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814AB7C: .4byte gUnknown_846D9A8 -_0814AB80: .4byte 0xffffff00 -_0814AB84: .4byte 0x00ffffff -_0814AB88: .4byte 0xffff00ff -_0814AB8C: .4byte 0x0000ffff -_0814AB90: .4byte 0xff00ffff -_0814AB94: .4byte gUnknown_203F3D8 - thumb_func_end sub_814AADC - - thumb_func_start sub_814AB98 -sub_814AB98: @ 814AB98 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x10 - adds r5, r0, 0 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - add r0, sp, 0xC - strb r1, [r0] - strb r2, [r0, 0x1] - strb r3, [r0, 0x2] - ldr r6, _0814AC2C @ =gUnknown_203F3D8 - ldr r0, [r6] - lsls r1, r5, 1 - mov r8, r1 - adds r0, 0x1C - add r0, r8 - ldrb r0, [r0] - movs r1, 0 - bl FillWindowPixelBuffer - lsls r5, 24 - lsrs r5, 24 - adds r0, r5, 0 - bl sub_81499E0 - adds r1, r0, 0 - movs r2, 0x1 - negs r2, r2 - mov r9, r2 - movs r0, 0 - bl GetStringWidth - movs r4, 0x40 - subs r4, r0 - lsrs r4, 1 - adds r0, r5, 0 - bl sub_81499E0 - adds r1, r0, 0 - ldr r0, [r6] - adds r0, 0x1C - add r0, r8 - ldrb r0, [r0] - lsls r4, 24 - lsrs r4, 24 - add r2, sp, 0xC - str r2, [sp] - mov r2, r9 - str r2, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0 - adds r2, r4, 0 - movs r3, 0x2 - bl AddTextPrinterParameterized3 - ldr r0, [r6] - adds r0, 0x1C - add r0, r8 - ldrb r0, [r0] - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0814AC2C: .4byte gUnknown_203F3D8 - thumb_func_end sub_814AB98 - - thumb_func_start sub_814AC30 -sub_814AC30: @ 814AC30 - push {r4-r6,lr} - adds r4, r0, 0 - bl sub_81499A4 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r4, 0 - bne _0814AC5A - movs r4, 0 - cmp r4, r5 - bge _0814AC8C -_0814AC46: - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x2 - movs r3, 0x3 - bl sub_814AB98 - adds r4, 0x1 - cmp r4, r5 - blt _0814AC46 - b _0814AC8C -_0814AC5A: - bl sub_81499B4 - lsls r0, 16 - lsrs r6, r0, 16 - movs r4, 0 - cmp r4, r5 - bge _0814AC8C -_0814AC68: - cmp r6, r4 - beq _0814AC7A - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x2 - movs r3, 0x3 - bl sub_814AB98 - b _0814AC86 -_0814AC7A: - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x4 - movs r3, 0x5 - bl sub_814AB98 -_0814AC86: - adds r4, 0x1 - cmp r4, r5 - blt _0814AC68 -_0814AC8C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_814AC30 - - thumb_func_start sub_814AC94 -sub_814AC94: @ 814AC94 - push {r4,r5,lr} - bl sub_81499A4 - lsls r0, 16 - lsrs r5, r0, 16 - movs r4, 0 - cmp r4, r5 - bge _0814ACBA -_0814ACA4: - ldr r0, _0814ACC8 @ =gUnknown_203F3D8 - ldr r0, [r0] - lsls r1, r4, 1 - adds r0, 0x1C - adds r0, r1 - ldrb r0, [r0] - bl PutWindowTilemap - adds r4, 0x1 - cmp r4, r5 - blt _0814ACA4 -_0814ACBA: - movs r0, 0 - bl CopyBgTilemapBufferToVram - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0814ACC8: .4byte gUnknown_203F3D8 - thumb_func_end sub_814AC94 - - thumb_func_start sub_814ACCC -sub_814ACCC: @ 814ACCC - push {r4,lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r0, _0814AD10 @ =gUnknown_203F3D8 - ldr r2, [r0] - movs r0, 0 - str r0, [r2, 0x18] - lsrs r1, 25 - lsls r1, 16 - movs r0, 0x1 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - ands r4, r0 - lsls r4, 8 - subs r4, 0x28 - lsls r4, 8 - adds r1, r4, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - bl ShowBg - ldr r0, _0814AD14 @ =sub_814AD50 - movs r1, 0x4 - bl CreateTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814AD10: .4byte gUnknown_203F3D8 -_0814AD14: .4byte sub_814AD50 - thumb_func_end sub_814ACCC - - thumb_func_start sub_814AD18 -sub_814AD18: @ 814AD18 - push {r4,lr} - ldr r4, _0814AD28 @ =gUnknown_203F3D8 - ldr r0, [r4] - ldr r0, [r0, 0x18] - cmp r0, 0x1F - bls _0814AD2C - movs r0, 0 - b _0814AD4A - .align 2, 0 -_0814AD28: .4byte gUnknown_203F3D8 -_0814AD2C: - movs r0, 0x1 - movs r1, 0x80 - movs r2, 0x1 - bl ChangeBgY - ldr r1, [r4] - ldr r0, [r1, 0x18] - adds r0, 0x1 - str r0, [r1, 0x18] - cmp r0, 0x1F - bls _0814AD48 - movs r0, 0x1 - bl HideBg -_0814AD48: - movs r0, 0x1 -_0814AD4A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_814AD18 - - thumb_func_start sub_814AD50 -sub_814AD50: @ 814AD50 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_814AD18 - cmp r0, 0 - bne _0814AD64 - adds r0, r4, 0 - bl DestroyTask -_0814AD64: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_814AD50 - - thumb_func_start sub_814AD6C -sub_814AD6C: @ 814AD6C - push {r4-r6,lr} - adds r6, r0, 0 - movs r4, 0 - ldr r5, _0814ADAC @ =gUnknown_846E0B0 -_0814AD74: - adds r0, r5, 0 - bl LoadCompressedSpriteSheet - adds r5, 0x8 - adds r4, 0x1 - cmp r4, 0x4 - bls _0814AD74 - movs r4, 0 - ldr r5, _0814ADB0 @ =gUnknown_846E0D8 -_0814AD86: - adds r0, r5, 0 - bl LoadSpritePalette - adds r5, 0x8 - adds r4, 0x1 - cmp r4, 0x1 - bls _0814AD86 - movs r0, 0x5 - bl IndexOfSpritePaletteTag - strb r0, [r6, 0xE] - movs r0, 0x6 - bl IndexOfSpritePaletteTag - strb r0, [r6, 0xF] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0814ADAC: .4byte gUnknown_846E0B0 -_0814ADB0: .4byte gUnknown_846E0D8 - thumb_func_end sub_814AD6C - - thumb_func_start sub_814ADB4 -sub_814ADB4: @ 814ADB4 - push {lr} - movs r2, 0 - movs r1, 0x7 - adds r0, 0x3C -_0814ADBC: - strh r2, [r0] - subs r0, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _0814ADBC - pop {r0} - bx r0 - thumb_func_end sub_814ADB4 - - thumb_func_start sub_814ADCC -sub_814ADCC: @ 814ADCC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x34 - mov r9, r0 - adds r7, r1, 0 - ldr r0, [sp, 0x54] - lsls r2, 16 - lsrs r2, 16 - str r2, [sp, 0x28] - lsls r3, 16 - lsrs r3, 16 - str r3, [sp, 0x2C] - lsls r0, 24 - lsrs r6, r0, 24 - mov r1, sp - ldr r0, _0814AE20 @ =gUnknown_846E0E8 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - movs r0, 0x80 - lsls r0, 6 - bl Alloc - mov r8, r0 - movs r0, 0x80 - lsls r0, 4 - bl Alloc - mov r10, r0 - bl sub_81499B4 - lsls r0, 16 - lsrs r0, 16 - cmp r6, r0 - bne _0814AE24 - movs r0, 0x3 - b _0814AE2A - .align 2, 0 -_0814AE20: .4byte gUnknown_846E0E8 -_0814AE24: - adds r0, r6, 0x4 - lsls r0, 24 - lsrs r0, 24 -_0814AE2A: - str r0, [sp, 0x30] - mov r1, r8 - cmp r1, 0 - beq _0814AEEC - mov r2, r10 - cmp r2, 0 - beq _0814AEEC - ldrh r2, [r7] - lsls r0, r2, 3 - ldr r1, _0814AED8 @ =gMonFrontPicTable - adds r0, r1 - ldr r3, [r7, 0x8] - mov r1, r8 - bl HandleLoadSpecialPokePic - mov r3, r8 - str r3, [sp, 0x18] - adds r4, r6, 0 - add r0, sp, 0x18 - ldr r5, _0814AEDC @ =0xffff0000 - lsls r1, r4, 16 - movs r2, 0x80 - lsls r2, 4 - orrs r1, r2 - str r1, [r0, 0x4] - bl LoadSpriteSheet - ldrh r0, [r7] - ldr r1, [r7, 0x4] - ldr r2, [r7, 0x8] - bl GetMonSpritePalFromSpeciesAndPersonality - str r0, [sp, 0x20] - add r0, sp, 0x20 - ldr r1, [r0, 0x4] - ands r1, r5 - orrs r1, r4 - str r1, [r0, 0x4] - bl LoadCompressedSpritePalette - mov r0, r8 - bl Free - mov r0, r10 - bl Free - mov r1, sp - mov r0, sp - ldrh r0, [r0] - adds r0, r6 - strh r0, [r1] - mov r0, sp - ldrh r0, [r0, 0x2] - adds r0, r6 - strh r0, [r1, 0x2] - ldr r4, [sp, 0x28] - lsls r1, r4, 16 - asrs r1, 16 - ldr r0, [sp, 0x2C] - lsls r2, r0, 16 - asrs r2, 16 - mov r0, sp - ldr r3, [sp, 0x30] - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _0814AEEC - lsls r0, r6, 2 - ldr r2, _0814AEE0 @ =0x000081a8 - add r2, r9 - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0814AEE4 @ =gSprites - adds r0, r1 - str r0, [r2] - ldr r0, _0814AEE8 @ =0x000081fc - add r0, r9 - adds r0, r6 - add r1, sp, 0x30 - ldrb r1, [r1] - strb r1, [r0] - b _0814AEF8 - .align 2, 0 -_0814AED8: .4byte gMonFrontPicTable -_0814AEDC: .4byte 0xffff0000 -_0814AEE0: .4byte 0x000081a8 -_0814AEE4: .4byte gSprites -_0814AEE8: .4byte 0x000081fc -_0814AEEC: - lsls r0, r6, 2 - ldr r1, _0814AF08 @ =0x000081a8 - add r1, r9 - adds r1, r0 - movs r0, 0 - str r0, [r1] -_0814AEF8: - add sp, 0x34 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814AF08: .4byte 0x000081a8 - thumb_func_end sub_814ADCC - - thumb_func_start sub_814AF0C -sub_814AF0C: @ 814AF0C - push {r4-r6,lr} - adds r4, r0, 0 - lsls r6, r1, 2 - ldr r0, _0814AF64 @ =0x000081bc - adds r5, r4, r0 - adds r5, r6 - ldr r0, [r5] - bl sub_814ADB4 - ldr r2, [r5] - ldr r0, _0814AF68 @ =0x000081a8 - adds r4, r0 - adds r4, r6 - ldr r1, [r4] - ldr r0, _0814AF6C @ =gSprites - subs r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r1, r0, 8 - adds r0, r1 - lsls r1, r0, 16 - adds r0, r1 - negs r0, r0 - asrs r0, 2 - strh r0, [r2, 0x3C] - ldr r1, [r5] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r1, [r5] - movs r0, 0x60 - strh r0, [r1, 0x22] - ldr r0, [r5] - ldr r1, _0814AF70 @ =sub_814AF74 - str r1, [r0, 0x1C] - movs r1, 0x1 - bl StartSpriteAnim - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0814AF64: .4byte 0x000081bc -_0814AF68: .4byte 0x000081a8 -_0814AF6C: .4byte gSprites -_0814AF70: .4byte sub_814AF74 - thumb_func_end sub_814AF0C - - thumb_func_start sub_814AF74 -sub_814AF74: @ 814AF74 - push {lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0x1 - beq _0814AFA0 - cmp r0, 0x1 - bgt _0814AF8A - cmp r0, 0 - beq _0814AF90 - b _0814AFDE -_0814AF8A: - cmp r0, 0x2 - beq _0814AFC0 - b _0814AFDE -_0814AF90: - adds r0, r2, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0814AFDE - b _0814AFCE -_0814AFA0: - ldrh r1, [r2, 0x22] - subs r1, 0x1 - strh r1, [r2, 0x22] - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x48 - bgt _0814AFDE - movs r0, 0x48 - strh r0, [r2, 0x22] - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - b _0814AFDE -_0814AFC0: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2F - ble _0814AFDE -_0814AFCE: - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3] - ldr r0, _0814AFE4 @ =SpriteCallbackDummy - str r0, [r2, 0x1C] -_0814AFDE: - pop {r0} - bx r0 - .align 2, 0 -_0814AFE4: .4byte SpriteCallbackDummy - thumb_func_end sub_814AF74 - - thumb_func_start sub_814AFE8 -sub_814AFE8: @ 814AFE8 - push {lr} - lsls r1, 2 - ldr r2, _0814B008 @ =0x000081a8 - adds r0, r2 - adds r0, r1 - ldr r2, [r0] - ldr r1, _0814B00C @ =sub_814B038 - str r1, [r2, 0x1C] - movs r1, 0 - strh r1, [r2, 0x26] - ldr r0, [r0] - bl sub_814ADB4 - pop {r0} - bx r0 - .align 2, 0 -_0814B008: .4byte 0x000081a8 -_0814B00C: .4byte sub_814B038 - thumb_func_end sub_814AFE8 - - thumb_func_start sub_814B010 -sub_814B010: @ 814B010 - push {lr} - movs r2, 0 - lsls r1, 2 - ldr r3, _0814B030 @ =0x000081a8 - adds r0, r3 - adds r0, r1 - ldr r0, [r0] - ldr r1, [r0, 0x1C] - ldr r0, _0814B034 @ =sub_814B038 - cmp r1, r0 - bne _0814B028 - movs r2, 0x1 -_0814B028: - adds r0, r2, 0 - pop {r1} - bx r1 - .align 2, 0 -_0814B030: .4byte 0x000081a8 -_0814B034: .4byte sub_814B038 - thumb_func_end sub_814B010 - - thumb_func_start sub_814B038 -sub_814B038: @ 814B038 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0814B064 - ldrh r0, [r2, 0x32] - adds r0, 0x1 - strh r0, [r2, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0814B05C - movs r0, 0x2 - b _0814B05E -_0814B05C: - ldr r0, _0814B078 @ =0x0000fffe -_0814B05E: - strh r0, [r2, 0x26] - movs r0, 0 - strh r0, [r2, 0x30] -_0814B064: - movs r1, 0x32 - ldrsh r0, [r2, r1] - cmp r0, 0xC - ble _0814B074 - movs r0, 0 - strh r0, [r2, 0x26] - ldr r0, _0814B07C @ =SpriteCallbackDummy - str r0, [r2, 0x1C] -_0814B074: - pop {r0} - bx r0 - .align 2, 0 -_0814B078: .4byte 0x0000fffe -_0814B07C: .4byte SpriteCallbackDummy - thumb_func_end sub_814B038 - - thumb_func_start sub_814B080 -sub_814B080: @ 814B080 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 2 - ldr r0, _0814B0A0 @ =0x000081a8 - adds r4, r0 - adds r4, r1 - ldr r0, [r4] - bl sub_814ADB4 - ldr r1, [r4] - ldr r0, _0814B0A4 @ =sub_814B100 - str r0, [r1, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814B0A0: .4byte 0x000081a8 -_0814B0A4: .4byte sub_814B100 - thumb_func_end sub_814B080 - - thumb_func_start sub_814B0A8 -sub_814B0A8: @ 814B0A8 - push {r4-r7,lr} - adds r4, r0, 0 - bl sub_81499A4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _0814B0EC - movs r1, 0x5 - negs r1, r1 - mov r12, r1 - ldr r1, _0814B0F4 @ =0x000081a8 - adds r3, r4, r1 - ldr r7, _0814B0F8 @ =sub_814B100 - ldr r6, _0814B0FC @ =SpriteCallbackDummy - movs r5, 0xA - adds r4, r0, 0 -_0814B0CA: - ldr r2, [r3] - ldr r0, [r2, 0x1C] - cmp r0, r7 - bne _0814B0E4 - adds r2, 0x3E - ldrb r1, [r2] - mov r0, r12 - ands r0, r1 - strb r0, [r2] - ldr r0, [r3] - str r6, [r0, 0x1C] - adds r0, 0x43 - strb r5, [r0] -_0814B0E4: - adds r3, 0x4 - subs r4, 0x1 - cmp r4, 0 - bne _0814B0CA -_0814B0EC: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814B0F4: .4byte 0x000081a8 -_0814B0F8: .4byte sub_814B100 -_0814B0FC: .4byte SpriteCallbackDummy - thumb_func_end sub_814B0A8 - - thumb_func_start sub_814B100 -sub_814B100: @ 814B100 - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _0814B12E - movs r0, 0 - strh r0, [r3, 0x2E] - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_0814B12E: - pop {r0} - bx r0 - thumb_func_end sub_814B100 - - thumb_func_start sub_814B134 -sub_814B134: @ 814B134 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_81499A4 - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - cmp r2, r3 - bge _0814B15E - ldr r0, _0814B164 @ =0x000081fc - adds r5, r4, r0 - subs r0, 0x54 - adds r4, r0 -_0814B14E: - ldm r4!, {r0} - adds r1, r5, r2 - ldrb r1, [r1] - adds r0, 0x43 - strb r1, [r0] - adds r2, 0x1 - cmp r2, r3 - blt _0814B14E -_0814B15E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0814B164: .4byte 0x000081fc - thumb_func_end sub_814B134 - - thumb_func_start sub_814B168 -sub_814B168: @ 814B168 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 2 - ldr r0, _0814B188 @ =0x000081a8 - adds r4, r0 - adds r4, r1 - ldr r0, [r4] - bl sub_814ADB4 - ldr r1, [r4] - ldr r0, _0814B18C @ =sub_814B1CC - str r0, [r1, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814B188: .4byte 0x000081a8 -_0814B18C: .4byte sub_814B1CC - thumb_func_end sub_814B168 - - thumb_func_start sub_814B190 -sub_814B190: @ 814B190 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_81499A4 - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - cmp r2, r3 - bge _0814B1C4 - ldr r5, _0814B1B4 @ =sub_814B1CC - ldr r0, _0814B1B8 @ =0x000081a8 - adds r1, r4, r0 -_0814B1A8: - ldr r0, [r1] - ldr r0, [r0, 0x1C] - cmp r0, r5 - bne _0814B1BC - movs r0, 0x1 - b _0814B1C6 - .align 2, 0 -_0814B1B4: .4byte sub_814B1CC -_0814B1B8: .4byte 0x000081a8 -_0814B1BC: - adds r1, 0x4 - adds r2, 0x1 - cmp r2, r3 - blt _0814B1A8 -_0814B1C4: - movs r0, 0 -_0814B1C6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_814B190 - - thumb_func_start sub_814B1CC -sub_814B1CC: @ 814B1CC - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0x2E - ldrsh r4, [r5, r0] - cmp r4, 0 - beq _0814B1DE - cmp r4, 0x1 - beq _0814B1EC - b _0814B234 -_0814B1DE: - movs r0, 0x1C - bl PlaySE - strh r4, [r5, 0x30] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] -_0814B1EC: - ldrh r0, [r5, 0x30] - adds r0, 0x4 - strh r0, [r5, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7F - ble _0814B1FE - movs r0, 0 - strh r0, [r5, 0x30] -_0814B1FE: - ldr r1, _0814B22C @ =gSineTable - movs r2, 0x30 - ldrsh r0, [r5, r2] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 19 - negs r0, r0 - strh r0, [r5, 0x26] - movs r0, 0x30 - ldrsh r1, [r5, r0] - cmp r1, 0 - bne _0814B234 - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bgt _0814B230 - strh r1, [r5, 0x2E] - b _0814B234 - .align 2, 0 -_0814B22C: .4byte gSineTable -_0814B230: - ldr r0, _0814B23C @ =SpriteCallbackDummy - str r0, [r5, 0x1C] -_0814B234: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0814B23C: .4byte SpriteCallbackDummy - thumb_func_end sub_814B1CC - - thumb_func_start sub_814B240 -sub_814B240: @ 814B240 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r3, 24 - lsrs r4, r3, 24 - ldr r0, _0814B288 @ =gUnknown_846E2B4 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _0814B280 - ldr r0, _0814B28C @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - adds r3, r1, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r3] - lsls r2, r4, 2 - ldr r3, _0814B290 @ =0x000081bc - adds r0, r5, r3 - adds r0, r2 - str r1, [r0] -_0814B280: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0814B288: .4byte gUnknown_846E2B4 -_0814B28C: .4byte gSprites -_0814B290: .4byte 0x000081bc - thumb_func_end sub_814B240 - - thumb_func_start sub_814B294 -sub_814B294: @ 814B294 - push {r4-r7,lr} - adds r7, r0, 0 - movs r5, 0 - movs r4, 0 - ldr r6, _0814B334 @ =gUnknown_846E100 -_0814B29E: - ldr r1, _0814B338 @ =gUnknown_846E160 - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - ldr r2, _0814B33C @ =gUnknown_846E150 - lsls r1, r5, 1 - adds r1, r2 - movs r2, 0 - ldrsh r1, [r1, r2] - movs r3, 0 - ldrsh r2, [r6, r3] - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r5, 2 - ldr r3, _0814B340 @ =0x000081d0 - adds r2, r7, r3 - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0814B344 @ =gSprites - adds r0, r1 - str r0, [r2] - adds r5, 0x1 - adds r6, 0x14 - adds r4, 0x1 - cmp r4, 0x3 - ble _0814B29E - movs r4, 0x3 - movs r6, 0x3C -_0814B2E0: - ldr r1, _0814B338 @ =gUnknown_846E160 - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - ldr r2, _0814B33C @ =gUnknown_846E150 - lsls r1, r5, 1 - adds r1, r2 - movs r2, 0 - ldrsh r1, [r1, r2] - ldr r2, _0814B334 @ =gUnknown_846E100 - adds r2, r6, r2 - movs r3, 0 - ldrsh r2, [r2, r3] - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r5, 2 - ldr r3, _0814B340 @ =0x000081d0 - adds r2, r7, r3 - adds r2, r0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0814B344 @ =gSprites - adds r0, r1 - str r0, [r2] - adds r0, 0x3F - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - adds r5, 0x1 - subs r6, 0x14 - subs r4, 0x1 - cmp r4, 0 - bge _0814B2E0 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814B334: .4byte gUnknown_846E100 -_0814B338: .4byte gUnknown_846E160 -_0814B33C: .4byte gUnknown_846E150 -_0814B340: .4byte 0x000081d0 -_0814B344: .4byte gSprites - thumb_func_end sub_814B294 - - thumb_func_start sub_814B348 -sub_814B348: @ 814B348 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - str r0, [sp, 0x8] - cmp r1, 0x5 - ble _0814B368 - movs r0, 0xA - subs r1, r0, r1 - movs r0, 0x3 - str r0, [sp] - ldr r2, [sp, 0x8] - ldrb r0, [r2, 0xF] - b _0814B370 -_0814B368: - movs r3, 0x2 - str r3, [sp] - ldr r7, [sp, 0x8] - ldrb r0, [r7, 0xE] -_0814B370: - movs r6, 0 - lsls r2, r1, 1 - str r2, [sp, 0x4] - lsls r0, 4 - mov r9, r0 - lsls r1, 24 - mov r8, r1 - ldr r0, _0814B434 @ =gUnknown_846E100 - adds r4, r2, r0 - ldr r3, [sp] - lsls r3, 2 - mov r10, r3 - movs r5, 0x3 -_0814B38A: - lsls r0, r6, 2 - ldr r7, [sp, 0x8] - ldr r1, _0814B438 @ =0x000081d0 - adds r2, r7, r1 - adds r2, r0 - ldr r1, [r2] - ldrh r0, [r4] - strh r0, [r1, 0x22] - ldr r3, [r2] - ldrb r0, [r3, 0x5] - movs r7, 0xD - negs r7, r7 - adds r1, r7, 0 - ands r0, r1 - mov r1, r10 - orrs r0, r1 - strb r0, [r3, 0x5] - ldr r3, [r2] - ldrb r1, [r3, 0x5] - movs r0, 0xF - ands r0, r1 - mov r7, r9 - orrs r0, r7 - strb r0, [r3, 0x5] - ldr r0, [r2] - mov r2, r8 - lsrs r1, r2, 24 - bl StartSpriteAnim - adds r6, 0x1 - adds r4, 0x14 - subs r5, 0x1 - cmp r5, 0 - bge _0814B38A - movs r5, 0x3 - ldr r0, _0814B434 @ =gUnknown_846E100 - ldr r3, [sp, 0x4] - adds r0, r3, r0 - adds r4, r0, 0 - adds r4, 0x3C - ldr r7, [sp] - lsls r7, 2 - mov r10, r7 -_0814B3E0: - lsls r0, r6, 2 - ldr r1, [sp, 0x8] - ldr r3, _0814B438 @ =0x000081d0 - adds r2, r1, r3 - adds r2, r0 - ldr r1, [r2] - ldrh r0, [r4] - strh r0, [r1, 0x22] - ldr r3, [r2] - ldrb r0, [r3, 0x5] - movs r7, 0xD - negs r7, r7 - adds r1, r7, 0 - ands r0, r1 - mov r1, r10 - orrs r0, r1 - strb r0, [r3, 0x5] - ldr r3, [r2] - ldrb r1, [r3, 0x5] - movs r0, 0xF - ands r0, r1 - mov r7, r9 - orrs r0, r7 - strb r0, [r3, 0x5] - ldr r0, [r2] - mov r2, r8 - lsrs r1, r2, 24 - bl StartSpriteAnim - adds r6, 0x1 - subs r4, 0x14 - subs r5, 0x1 - cmp r5, 0 - bge _0814B3E0 - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814B434: .4byte gUnknown_846E100 -_0814B438: .4byte 0x000081d0 - thumb_func_end sub_814B348 - - thumb_func_start sub_814B43C -sub_814B43C: @ 814B43C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r0, 0 - str r0, [sp] - movs r0, 0x9 - movs r1, 0x7 - movs r2, 0x78 - movs r3, 0x50 - bl sub_815F138 - adds r0, r4, 0 - bl sub_814B134 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_814B43C - - thumb_func_start sub_814B460 -sub_814B460: @ 814B460 - push {lr} - bl sub_815F198 - pop {r1} - bx r1 - thumb_func_end sub_814B460 - - thumb_func_start sub_814B46C -sub_814B46C: @ 814B46C - ldr r0, _0814B478 @ =gSaveBlock2Ptr - ldr r0, [r0] - movs r1, 0xB0 - lsls r1, 4 - adds r0, r1 - bx lr - .align 2, 0 -_0814B478: .4byte gSaveBlock2Ptr - thumb_func_end sub_814B46C - - thumb_func_start ResetPokeJumpResults -ResetPokeJumpResults: @ 814B47C - push {lr} - bl sub_814B46C - movs r1, 0 - strh r1, [r0] - str r1, [r0, 0xC] - strh r1, [r0, 0x4] - strh r1, [r0, 0x6] - str r1, [r0, 0x8] - strh r1, [r0, 0x2] - pop {r0} - bx r0 - thumb_func_end ResetPokeJumpResults - - thumb_func_start sub_814B494 -sub_814B494: @ 814B494 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - lsls r2, 16 - lsrs r6, r2, 16 - bl sub_814B46C - adds r1, r0, 0 - movs r2, 0 - ldr r0, [r1, 0xC] - cmp r0, r4 - bcs _0814B4B8 - ldr r0, _0814B4E0 @ =0x00018696 - cmp r4, r0 - bhi _0814B4B8 - str r4, [r1, 0xC] - movs r2, 0x1 -_0814B4B8: - ldrh r0, [r1] - cmp r0, r5 - bcs _0814B4C8 - ldr r0, _0814B4E4 @ =0x0000270f - cmp r5, r0 - bhi _0814B4C8 - strh r5, [r1] - movs r2, 0x1 -_0814B4C8: - ldrh r0, [r1, 0x4] - cmp r0, r6 - bcs _0814B4D8 - ldr r0, _0814B4E4 @ =0x0000270f - cmp r6, r0 - bhi _0814B4D8 - strh r6, [r1, 0x4] - movs r2, 0x1 -_0814B4D8: - adds r0, r2, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0814B4E0: .4byte 0x00018696 -_0814B4E4: .4byte 0x0000270f - thumb_func_end sub_814B494 - - thumb_func_start sub_814B4E8 -sub_814B4E8: @ 814B4E8 - push {lr} - bl sub_814B46C - adds r2, r0, 0 - ldrh r1, [r2, 0x6] - ldr r0, _0814B500 @ =0x0000270e - cmp r1, r0 - bhi _0814B4FC - adds r0, r1, 0x1 - strh r0, [r2, 0x6] -_0814B4FC: - pop {r0} - bx r0 - .align 2, 0 -_0814B500: .4byte 0x0000270e - thumb_func_end sub_814B4E8 - - thumb_func_start ShowPokemonJumpRecords -ShowPokemonJumpRecords: @ 814B504 - push {r4,lr} - ldr r4, _0814B520 @ =sub_814B524 - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814B520: .4byte sub_814B524 - thumb_func_end ShowPokemonJumpRecords - - thumb_func_start sub_814B524 -sub_814B524: @ 814B524 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0814B548 @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0814B570 - cmp r0, 0x1 - bgt _0814B54C - cmp r0, 0 - beq _0814B556 - b _0814B5BE - .align 2, 0 -_0814B548: .4byte gTasks+0x8 -_0814B54C: - cmp r0, 0x2 - beq _0814B57C - cmp r0, 0x3 - beq _0814B5A4 - b _0814B5BE -_0814B556: - ldr r0, _0814B56C @ =gUnknown_846E2CC - bl AddWindow - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x2] - bl sub_814B5C4 - ldrb r0, [r4, 0x2] - movs r1, 0x3 - b _0814B592 - .align 2, 0 -_0814B56C: .4byte gUnknown_846E2CC -_0814B570: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814B5BE - b _0814B596 -_0814B57C: - ldr r0, _0814B5A0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _0814B5BE - ldrb r0, [r4, 0x2] - bl rbox_fill_rectangle - ldrb r0, [r4, 0x2] - movs r1, 0x1 -_0814B592: - bl CopyWindowToVram -_0814B596: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _0814B5BE - .align 2, 0 -_0814B5A0: .4byte gMain -_0814B5A4: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0814B5BE - ldrb r0, [r4, 0x2] - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts -_0814B5BE: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_814B524 - - thumb_func_start sub_814B5C4 -sub_814B5C4: @ 814B5C4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x30 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x28] - bl sub_814B46C - ldrh r1, [r0] - str r1, [sp, 0x14] - ldr r1, [r0, 0xC] - str r1, [sp, 0x18] - ldrh r0, [r0, 0x4] - str r0, [sp, 0x1C] - ldr r0, [sp, 0x28] - lsls r4, r0, 24 - lsrs r4, 24 - ldr r5, _0814B6C8 @ =0x0000021d - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0xD0 - bl TextWindow_SetStdFrame0_WithPal - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0xD - bl DrawTextBorderOuter - adds r0, r4, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, _0814B6CC @ =gUnknown_841CB63 - movs r1, 0 - str r1, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - str r1, [sp, 0x8] - movs r0, 0x1 - str r0, [sp, 0xC] - str r1, [sp, 0x10] - adds r0, r4, 0 - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized5 - movs r7, 0 - mov r8, r4 - movs r1, 0xFF - mov r10, r1 - movs r6, 0 - mov r0, sp - adds r0, 0x14 - str r0, [sp, 0x2C] - movs r1, 0xA0 - lsls r1, 21 - mov r9, r1 - add r5, sp, 0x20 -_0814B63E: - ldr r1, _0814B6D0 @ =gUnknown_846E2D4 - lsls r0, r7, 2 - adds r0, r1 - ldr r2, [r0] - mov r0, r9 - lsrs r4, r0, 24 - str r4, [sp] - mov r1, r10 - str r1, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0x1 - str r0, [sp, 0xC] - str r6, [sp, 0x10] - mov r0, r8 - movs r1, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized5 - ldr r0, [sp, 0x2C] - ldm r0!, {r1} - str r0, [sp, 0x2C] - adds r0, r5, 0 - movs r2, 0 - movs r3, 0x5 - bl ConvertIntToDecimalStringN - adds r0, r5, 0 - bl sub_814B6D4 - movs r0, 0x2 - adds r1, r5, 0 - movs r2, 0 - bl GetStringWidth - movs r3, 0xDE - subs r3, r0 - lsls r3, 24 - lsrs r3, 24 - str r4, [sp] - mov r1, r10 - str r1, [sp, 0x4] - str r6, [sp, 0x8] - str r6, [sp, 0xC] - str r6, [sp, 0x10] - mov r0, r8 - movs r1, 0x2 - adds r2, r5, 0 - bl AddTextPrinterParameterized5 - movs r0, 0xE0 - lsls r0, 20 - add r9, r0 - adds r7, 0x1 - ldr r1, [sp, 0x28] - lsls r0, r1, 24 - cmp r7, 0x2 - bls _0814B63E - lsrs r0, 24 - bl PutWindowTilemap - add sp, 0x30 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814B6C8: .4byte 0x0000021d -_0814B6CC: .4byte gUnknown_841CB63 -_0814B6D0: .4byte gUnknown_846E2D4 - thumb_func_end sub_814B5C4 - - thumb_func_start sub_814B6D4 -sub_814B6D4: @ 814B6D4 - push {lr} - adds r1, r0, 0 - b _0814B6DC -_0814B6DA: - adds r1, 0x1 -_0814B6DC: - ldrb r0, [r1] - cmp r0, 0xFF - beq _0814B6EA - cmp r0, 0 - bne _0814B6DA - movs r0, 0xFF - strb r0, [r1] -_0814B6EA: - pop {r0} - bx r0 - thumb_func_end sub_814B6D4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 115c9567b..3227d5dcd 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -1411,8 +1411,8 @@ _0808C3CC: .4byte _0808C5A6 .4byte _0808C680 _0808C3E0: - movs r0, 0x1C - bl HelpSystem_SetSomeVariable2 + movs r0, 0x1C @ HELPCONTEXT_BILLS_PC + bl SetHelpContext ldrb r0, [r5, 0xA] adds r1, r5, 0 adds r1, 0x26 @@ -1795,13 +1795,13 @@ mapldr_0808C6D8: @ 808C6D8 adds r1, r2 movs r2, 0 strh r2, [r1, 0x8] - ldr r2, _0808C728 @ =gUnknown_20397A8 + ldr r2, _0808C728 @ =sPreviousBoxOption ldrb r2, [r2] strh r2, [r1, 0xA] bl _call_via_r4 adds r0, r5, 0 bl SetVBlankCallback - bl sub_807DC00 + bl FadeInFromBlack pop {r4,r5} pop {r0} bx r0 @@ -1809,7 +1809,7 @@ mapldr_0808C6D8: @ 808C6D8 _0808C71C: .4byte gMain _0808C720: .4byte c3_0808C39C _0808C724: .4byte gTasks -_0808C728: .4byte gUnknown_20397A8 +_0808C728: .4byte sPreviousBoxOption thumb_func_end mapldr_0808C6D8 thumb_func_start sub_808C72C @@ -1881,7 +1881,7 @@ _0808C7B0: .4byte gUnknown_83CDA20 sub_808C7B4: @ 808C7B4 push {lr} bl sub_808FDF0 - ldr r1, _0808C7D0 @ =gUnknown_20397A8 + ldr r1, _0808C7D0 @ =sPreviousBoxOption strb r0, [r1] ldr r1, _0808C7D4 @ =gFieldCallback ldr r0, _0808C7D8 @ =mapldr_0808C6D8 @@ -1891,7 +1891,7 @@ sub_808C7B4: @ 808C7B4 pop {r0} bx r0 .align 2, 0 -_0808C7D0: .4byte gUnknown_20397A8 +_0808C7D0: .4byte sPreviousBoxOption _0808C7D4: .4byte gFieldCallback _0808C7D8: .4byte mapldr_0808C6D8 _0808C7DC: .4byte CB2_ReturnToField @@ -2651,7 +2651,7 @@ sub_808CD98: @ 808CD98 bl ProcessSpriteCopyRequests bl sub_8096BF8 bl TransferPlttBuffer - ldr r0, _0808CDC0 @ =gUnknown_20397B0 + ldr r0, _0808CDC0 @ =sPSSData ldr r0, [r0] movs r1, 0xB3 lsls r1, 2 @@ -2662,7 +2662,7 @@ sub_808CD98: @ 808CD98 pop {r0} bx r0 .align 2, 0 -_0808CDC0: .4byte gUnknown_20397B0 +_0808CDC0: .4byte sPSSData thumb_func_end sub_808CD98 thumb_func_start c2_Box @@ -2684,9 +2684,9 @@ sub_808CDE4: @ 808CDE4 lsls r0, 24 lsrs r5, r0, 24 bl ResetTasks - ldr r0, _0808CE08 @ =gUnknown_20397B5 + ldr r0, _0808CE08 @ =sCurrentBoxOption strb r5, [r0] - ldr r4, _0808CE0C @ =gUnknown_20397B0 + ldr r4, _0808CE0C @ =sPSSData ldr r0, _0808CE10 @ =0x000062bc bl Alloc str r0, [r4] @@ -2696,8 +2696,8 @@ sub_808CDE4: @ 808CDE4 bl SetMainCallback2 b _0808CE4A .align 2, 0 -_0808CE08: .4byte gUnknown_20397B5 -_0808CE0C: .4byte gUnknown_20397B0 +_0808CE08: .4byte sCurrentBoxOption +_0808CE0C: .4byte sPSSData _0808CE10: .4byte 0x000062bc _0808CE14: .4byte sub_808C7B4 _0808CE18: @@ -2715,10 +2715,10 @@ _0808CE18: bl CreateTask ldr r1, [r4] strb r0, [r1, 0x4] - movs r0, 0x1C - bl HelpSystem_SetSomeVariable2 + movs r0, 0x1C @ HELPCONTEXT_BILLS_PC + bl SetHelpContext bl StorageGetCurrentBox - ldr r1, _0808CE58 @ =gUnknown_20397B8 + ldr r1, _0808CE58 @ =sLastUsedBox strb r0, [r1] ldr r0, _0808CE5C @ =c2_Box bl SetMainCallback2 @@ -2729,7 +2729,7 @@ _0808CE4A: .align 2, 0 _0808CE50: .4byte gUnknown_20397BA _0808CE54: .4byte task_box_related_3 -_0808CE58: .4byte gUnknown_20397B8 +_0808CE58: .4byte sLastUsedBox _0808CE5C: .4byte c2_Box thumb_func_end sub_808CDE4 @@ -2737,7 +2737,7 @@ _0808CE5C: .4byte c2_Box sub_808CE60: @ 808CE60 push {r4,lr} bl ResetTasks - ldr r4, _0808CE80 @ =gUnknown_20397B0 + ldr r4, _0808CE80 @ =sPSSData ldr r0, _0808CE84 @ =0x000062bc bl Alloc adds r1, r0, 0 @@ -2748,11 +2748,11 @@ sub_808CE60: @ 808CE60 bl SetMainCallback2 b _0808CEB6 .align 2, 0 -_0808CE80: .4byte gUnknown_20397B0 +_0808CE80: .4byte sPSSData _0808CE84: .4byte 0x000062bc _0808CE88: .4byte sub_808C7B4 _0808CE8C: - ldr r0, _0808CEBC @ =gUnknown_20397B5 + ldr r0, _0808CEBC @ =sCurrentBoxOption ldrb r0, [r0] movs r2, 0 strb r0, [r1, 0x1] @@ -2766,8 +2766,8 @@ _0808CE8C: bl CreateTask ldr r1, [r4] strb r0, [r1, 0x4] - movs r0, 0x1C - bl HelpSystem_SetSomeVariable2 + movs r0, 0x1C @ HELPCONTEXT_BILLS_PC + bl SetHelpContext ldr r0, _0808CEC4 @ =c2_Box bl SetMainCallback2 _0808CEB6: @@ -2775,7 +2775,7 @@ _0808CEB6: pop {r0} bx r0 .align 2, 0 -_0808CEBC: .4byte gUnknown_20397B5 +_0808CEBC: .4byte sCurrentBoxOption _0808CEC0: .4byte task_box_related_3 _0808CEC4: .4byte c2_Box thumb_func_end sub_808CE60 @@ -2825,7 +2825,7 @@ sub_808CF10: @ 808CF10 lsls r2, 2 adds r0, r2, 0 strh r0, [r1] - ldr r4, _0808CF84 @ =gUnknown_20397B0 + ldr r4, _0808CF84 @ =sPSSData ldr r1, [r4] adds r0, r1, 0 adds r0, 0x8 @@ -2860,7 +2860,7 @@ sub_808CF10: @ 808CF10 bx r0 .align 2, 0 _0808CF80: .4byte gReservedSpriteTileCount -_0808CF84: .4byte gUnknown_20397B0 +_0808CF84: .4byte sPSSData _0808CF88: .4byte gKeyRepeatStartDelay _0808CF8C: .4byte gUnknown_83CE6F8 _0808CF90: .4byte 0x000002c7 @@ -2870,9 +2870,9 @@ _0808CF90: .4byte 0x000002c7 sub_808CF94: @ 808CF94 push {lr} bl sub_8092B50 - ldr r2, _0808CFB8 @ =gUnknown_20397B4 + ldr r2, _0808CFB8 @ =sInPartyMenu movs r1, 0 - ldr r0, _0808CFBC @ =gUnknown_20397B0 + ldr r0, _0808CFBC @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x1 @@ -2886,15 +2886,15 @@ _0808CFAA: pop {r0} bx r0 .align 2, 0 -_0808CFB8: .4byte gUnknown_20397B4 -_0808CFBC: .4byte gUnknown_20397B0 +_0808CFB8: .4byte sInPartyMenu +_0808CFBC: .4byte sPSSData _0808CFC0: .4byte gUnknown_20397B6 thumb_func_end sub_808CF94 thumb_func_start sub_808CFC4 sub_808CFC4: @ 808CFC4 push {lr} - ldr r0, _0808CFF0 @ =gUnknown_20397B0 + ldr r0, _0808CFF0 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -2914,7 +2914,7 @@ _0808CFE2: pop {r0} bx r0 .align 2, 0 -_0808CFF0: .4byte gUnknown_20397B0 +_0808CFF0: .4byte sPSSData _0808CFF4: .4byte 0x00000b07 thumb_func_end sub_808CFC4 @@ -2922,7 +2922,7 @@ _0808CFF4: .4byte 0x00000b07 add_to_c3_somehow: @ 808CFF8 push {r4,lr} ldr r4, _0808D018 @ =gTasks - ldr r1, _0808D01C @ =gUnknown_20397B0 + ldr r1, _0808D01C @ =sPSSData ldr r3, [r1] ldrb r2, [r3, 0x4] lsls r1, r2, 2 @@ -2937,14 +2937,14 @@ add_to_c3_somehow: @ 808CFF8 bx r0 .align 2, 0 _0808D018: .4byte gTasks -_0808D01C: .4byte gUnknown_20397B0 +_0808D01C: .4byte sPSSData thumb_func_end add_to_c3_somehow thumb_func_start task_box_related_3 task_box_related_3: @ 808D020 push {lr} sub sp, 0x4 - ldr r0, _0808D03C @ =gUnknown_20397B0 + ldr r0, _0808D03C @ =sPSSData ldr r0, [r0] ldrb r0, [r0] cmp r0, 0xA @@ -2957,7 +2957,7 @@ _0808D030: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808D03C: .4byte gUnknown_20397B0 +_0808D03C: .4byte sPSSData _0808D040: .4byte _0808D044 .align 2, 0 _0808D044: @@ -2979,12 +2979,12 @@ _0808D070: movs r1, 0 bl SetGpuReg bl sub_808CF10 - ldr r0, _0808D0A0 @ =gUnknown_20397B0 + ldr r0, _0808D0A0 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x3] cmp r0, 0 beq _0808D0BE - ldr r0, _0808D0A4 @ =gUnknown_20397B7 + ldr r0, _0808D0A4 @ =sWhichToReshow ldrb r0, [r0] cmp r0, 0x1 beq _0808D0AE @@ -2994,8 +2994,8 @@ _0808D070: beq _0808D0B4 b _0808D0BE .align 2, 0 -_0808D0A0: .4byte gUnknown_20397B0 -_0808D0A4: .4byte gUnknown_20397B7 +_0808D0A0: .4byte sPSSData +_0808D0A4: .4byte sWhichToReshow _0808D0A8: cmp r0, 0x2 beq _0808D0BA @@ -3041,7 +3041,7 @@ _0808D0D6: _0808D100: .4byte 0x05000080 _0808D104: bl sub_808CEC8 - ldr r0, _0808D11C @ =gUnknown_20397B0 + ldr r0, _0808D11C @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x3] cmp r0, 0 @@ -3051,10 +3051,10 @@ _0808D114: bl sub_808CF94 b _0808D20C .align 2, 0 -_0808D11C: .4byte gUnknown_20397B0 +_0808D11C: .4byte sPSSData _0808D120: bl sub_808FFAC - ldr r0, _0808D134 @ =gUnknown_20397B0 + ldr r0, _0808D134 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x3] cmp r0, 0 @@ -3062,7 +3062,7 @@ _0808D120: bl sub_80922C0 b _0808D20C .align 2, 0 -_0808D134: .4byte gUnknown_20397B0 +_0808D134: .4byte sPSSData _0808D138: bl sub_8092340 b _0808D20C @@ -3098,7 +3098,7 @@ _0808D178: lsls r0, 24 cmp r0, 0 bne _0808D216 - ldr r0, _0808D1A8 @ =gUnknown_20397B0 + ldr r0, _0808D1A8 @ =sPSSData ldr r2, [r0] ldrb r0, [r2, 0x1] cmp r0, 0x3 @@ -3116,7 +3116,7 @@ _0808D178: bl LoadMonMarkingsFrameGfx b _0808D20C .align 2, 0 -_0808D1A8: .4byte gUnknown_20397B0 +_0808D1A8: .4byte sPSSData _0808D1AC: .4byte 0x00000da2 _0808D1B0: .4byte 0x0000dace _0808D1B4: @@ -3125,7 +3125,7 @@ _0808D1B4: b _0808D20C _0808D1BE: bl sub_808CFC4 - ldr r0, _0808D1E0 @ =gUnknown_20397B0 + ldr r0, _0808D1E0 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x3] cmp r0, 0 @@ -3139,7 +3139,7 @@ _0808D1BE: bl add_to_c3_somehow b _0808D1FA .align 2, 0 -_0808D1E0: .4byte gUnknown_20397B0 +_0808D1E0: .4byte sPSSData _0808D1E4: .4byte sub_808D220 _0808D1E8: movs r0, 0x1 @@ -3157,7 +3157,7 @@ _0808D1FA: _0808D204: .4byte sub_808D26C _0808D208: .4byte sub_808CD98 _0808D20C: - ldr r0, _0808D21C @ =gUnknown_20397B0 + ldr r0, _0808D21C @ =sPSSData ldr r1, [r0] ldrb r0, [r1] adds r0, 0x1 @@ -3167,13 +3167,13 @@ _0808D216: pop {r0} bx r0 .align 2, 0 -_0808D21C: .4byte gUnknown_20397B0 +_0808D21C: .4byte sPSSData thumb_func_end task_box_related_3 thumb_func_start sub_808D220 sub_808D220: @ 808D220 push {r4,lr} - ldr r4, _0808D234 @ =gUnknown_20397B0 + ldr r4, _0808D234 @ =sPSSData ldr r0, [r4] ldrb r0, [r0] cmp r0, 0 @@ -3182,7 +3182,7 @@ sub_808D220: @ 808D220 beq _0808D252 b _0808D262 .align 2, 0 -_0808D234: .4byte gUnknown_20397B0 +_0808D234: .4byte sPSSData _0808D238: movs r0, 0x2 bl PlaySE @@ -3214,7 +3214,7 @@ _0808D268: .4byte sub_808D2BC sub_808D26C: @ 808D26C push {r4,lr} sub sp, 0x4 - ldr r4, _0808D280 @ =gUnknown_20397B0 + ldr r4, _0808D280 @ =sPSSData ldr r0, [r4] ldrb r0, [r0] cmp r0, 0 @@ -3223,7 +3223,7 @@ sub_808D26C: @ 808D26C beq _0808D29E b _0808D2AE .align 2, 0 -_0808D280: .4byte gUnknown_20397B0 +_0808D280: .4byte sPSSData _0808D284: movs r1, 0x1 negs r1, r1 @@ -3256,7 +3256,7 @@ _0808D2B8: .4byte sub_808D2BC thumb_func_start sub_808D2BC sub_808D2BC: @ 808D2BC push {r4,r5,lr} - ldr r0, _0808D2D4 @ =gUnknown_20397B0 + ldr r0, _0808D2D4 @ =sPSSData ldr r0, [r0] ldrb r0, [r0] cmp r0, 0xB @@ -3269,7 +3269,7 @@ _0808D2CA: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808D2D4: .4byte gUnknown_20397B0 +_0808D2D4: .4byte sPSSData _0808D2D8: .4byte _0808D2DC .align 2, 0 _0808D2DC: @@ -3332,15 +3332,15 @@ _0808D32C: _0808D394: movs r0, 0x5 bl PlaySE - ldr r0, _0808D3A4 @ =gUnknown_20397B0 + ldr r0, _0808D3A4 @ =sPSSData ldr r1, [r0] movs r0, 0x1 strb r0, [r1] b _0808D7B2 .align 2, 0 -_0808D3A4: .4byte gUnknown_20397B0 +_0808D3A4: .4byte sPSSData _0808D3A8: - ldr r4, _0808D3C8 @ =gUnknown_20397B0 + ldr r4, _0808D3C8 @ =sPSSData ldr r0, [r4] ldrb r0, [r0, 0x1] subs r0, 0x2 @@ -3355,7 +3355,7 @@ _0808D3A8: strb r0, [r1] b _0808D7B2 .align 2, 0 -_0808D3C8: .4byte gUnknown_20397B0 +_0808D3C8: .4byte sPSSData _0808D3CC: bl sub_8092B50 ldr r0, _0808D3D8 @ =sub_808D7BC @@ -3364,7 +3364,7 @@ _0808D3CC: .align 2, 0 _0808D3D8: .4byte sub_808D7BC _0808D3DC: - ldr r4, _0808D408 @ =gUnknown_20397B0 + ldr r4, _0808D408 @ =sPSSData ldr r0, [r4] ldrb r0, [r0, 0x1] cmp r0, 0x2 @@ -3385,7 +3385,7 @@ _0808D3DC: _0808D404: b _0808D416 .align 2, 0 -_0808D408: .4byte gUnknown_20397B0 +_0808D408: .4byte sPSSData _0808D40C: .4byte 0x00000ce2 _0808D410: cmp r0, 0x3 @@ -3427,7 +3427,7 @@ _0808D45C: movs r0, 0x5 bl PlaySE bl StorageGetCurrentBox - ldr r4, _0808D48C @ =gUnknown_20397B0 + ldr r4, _0808D48C @ =sPSSData ldr r1, [r4] lsls r0, 24 lsrs r0, 24 @@ -3447,13 +3447,13 @@ _0808D47E: adds r0, r1, r2 b _0808D78A .align 2, 0 -_0808D48C: .4byte gUnknown_20397B0 +_0808D48C: .4byte sPSSData _0808D490: .4byte 0x000002ca _0808D494: movs r0, 0x5 bl PlaySE bl StorageGetCurrentBox - ldr r4, _0808D4C4 @ =gUnknown_20397B0 + ldr r4, _0808D4C4 @ =sPSSData ldr r1, [r4] lsls r0, 24 lsrs r0, 24 @@ -3473,7 +3473,7 @@ _0808D4B6: adds r0, r1, r2 b _0808D78A .align 2, 0 -_0808D4C4: .4byte gUnknown_20397B0 +_0808D4C4: .4byte sPSSData _0808D4C8: .4byte 0x000002ca _0808D4CC: bl sub_8094D60 @@ -3486,7 +3486,7 @@ _0808D4D8: lsls r0, 24 cmp r0, 0 bne _0808D538 - ldr r4, _0808D500 @ =gUnknown_20397B0 + ldr r4, _0808D500 @ =sPSSData ldr r0, [r4] ldr r1, _0808D504 @ =0x00000ce2 adds r0, r1 @@ -3501,7 +3501,7 @@ _0808D4F6: strb r0, [r1] b _0808D7B2 .align 2, 0 -_0808D500: .4byte gUnknown_20397B0 +_0808D500: .4byte sPSSData _0808D504: .4byte 0x00000ce2 _0808D508: movs r0, 0x5 @@ -3525,13 +3525,13 @@ _0808D52E: cmp r0, 0 bne _0808D548 _0808D538: - ldr r0, _0808D544 @ =gUnknown_20397B0 + ldr r0, _0808D544 @ =sPSSData ldr r1, [r0] movs r0, 0x4 strb r0, [r1] b _0808D7B2 .align 2, 0 -_0808D544: .4byte gUnknown_20397B0 +_0808D544: .4byte sPSSData _0808D548: movs r0, 0x5 bl PlaySE @@ -3588,13 +3588,13 @@ _0808D5C0: _0808D5CA: movs r0, 0x1 bl sub_80950BC - ldr r0, _0808D5DC @ =gUnknown_20397B0 + ldr r0, _0808D5DC @ =sPSSData ldr r1, [r0] movs r0, 0x8 strb r0, [r1] b _0808D7B2 .align 2, 0 -_0808D5DC: .4byte gUnknown_20397B0 +_0808D5DC: .4byte sPSSData _0808D5E0: movs r0, 0x5 bl PlaySE @@ -3609,13 +3609,13 @@ _0808D5EE: movs r0, 0x4 _0808D5F6: bl sub_80950BC - ldr r0, _0808D604 @ =gUnknown_20397B0 + ldr r0, _0808D604 @ =sPSSData ldr r1, [r0] movs r0, 0x9 strb r0, [r1] b _0808D7B2 .align 2, 0 -_0808D604: .4byte gUnknown_20397B0 +_0808D604: .4byte sPSSData _0808D608: movs r0, 0x5 bl PlaySE @@ -3624,13 +3624,13 @@ _0808D608: movs r0, 0x5 _0808D616: bl sub_80950BC - ldr r0, _0808D624 @ =gUnknown_20397B0 + ldr r0, _0808D624 @ =sPSSData ldr r1, [r0] movs r0, 0x7 strb r0, [r1] b _0808D7B2 .align 2, 0 -_0808D624: .4byte gUnknown_20397B0 +_0808D624: .4byte sPSSData _0808D628: movs r0, 0x1A bl PlaySE @@ -3651,7 +3651,7 @@ _0808D63C: _0808D64C: bl sub_808F974 _0808D650: - ldr r4, _0808D668 @ =gUnknown_20397B0 + ldr r4, _0808D668 @ =sPSSData ldr r0, [r4] ldr r1, _0808D66C @ =0x00000ce6 adds r0, r1 @@ -3663,7 +3663,7 @@ _0808D662: ldr r1, [r4] b _0808D6DC .align 2, 0 -_0808D668: .4byte gUnknown_20397B0 +_0808D668: .4byte sPSSData _0808D66C: .4byte 0x00000ce6 _0808D670: bl sub_80915FC @@ -3672,13 +3672,13 @@ _0808D670: beq _0808D67C b _0808D7B2 _0808D67C: - ldr r0, _0808D6BC @ =gUnknown_20397B0 + ldr r0, _0808D6BC @ =sPSSData ldr r0, [r0] ldr r1, _0808D6C0 @ =0x000002ca adds r0, r1 ldrb r0, [r0] bl sub_808BA00 - ldr r0, _0808D6C4 @ =gUnknown_20397B4 + ldr r0, _0808D6C4 @ =sInPartyMenu ldrb r0, [r0] cmp r0, 0 bne _0808D6A4 @@ -3689,7 +3689,7 @@ _0808D67C: bl sub_8092F54 bl BoxSetMosaic _0808D6A4: - ldr r4, _0808D6BC @ =gUnknown_20397B0 + ldr r4, _0808D6BC @ =sPSSData ldr r1, [r4] ldrb r0, [r1, 0x1] cmp r0, 0x3 @@ -3700,9 +3700,9 @@ _0808D6A4: strb r0, [r1] b _0808D7B2 .align 2, 0 -_0808D6BC: .4byte gUnknown_20397B0 +_0808D6BC: .4byte sPSSData _0808D6C0: .4byte 0x000002ca -_0808D6C4: .4byte gUnknown_20397B4 +_0808D6C4: .4byte sInPartyMenu _0808D6C8: ldr r0, _0808D6E4 @ =gMain ldrh r1, [r0, 0x2E] @@ -3711,7 +3711,7 @@ _0808D6C8: cmp r0, 0 beq _0808D7B2 bl sub_808FD20 - ldr r0, _0808D6E8 @ =gUnknown_20397B0 + ldr r0, _0808D6E8 @ =sPSSData ldr r1, [r0] _0808D6DC: movs r0, 0 @@ -3719,7 +3719,7 @@ _0808D6DC: b _0808D7B2 .align 2, 0 _0808D6E4: .4byte gMain -_0808D6E8: .4byte gUnknown_20397B0 +_0808D6E8: .4byte sPSSData _0808D6EC: movs r0, 0x1A bl PlaySE @@ -3731,13 +3731,13 @@ _0808D6F6: movs r0, 0x16 _0808D6FE: bl sub_808FBA4 - ldr r0, _0808D70C @ =gUnknown_20397B0 + ldr r0, _0808D70C @ =sPSSData ldr r1, [r0] movs r0, 0x6 strb r0, [r1] b _0808D7B2 .align 2, 0 -_0808D70C: .4byte gUnknown_20397B0 +_0808D70C: .4byte sPSSData _0808D710: ldr r0, _0808D728 @ =gMain ldrh r1, [r0, 0x2E] @@ -3772,7 +3772,7 @@ _0808D74C: lsrs r4, r0, 24 cmp r4, 0 bne _0808D7B2 - ldr r5, _0808D770 @ =gUnknown_20397B0 + ldr r5, _0808D770 @ =sPSSData ldr r0, [r5] ldr r1, _0808D774 @ =0x00000ce6 adds r0, r1 @@ -3785,14 +3785,14 @@ _0808D76A: strb r4, [r0] b _0808D7B2 .align 2, 0 -_0808D770: .4byte gUnknown_20397B0 +_0808D770: .4byte sPSSData _0808D774: .4byte 0x00000ce6 _0808D778: bl sub_809610C lsls r0, 24 cmp r0, 0 bne _0808D7B2 - ldr r4, _0808D798 @ =gUnknown_20397B0 + ldr r4, _0808D798 @ =sPSSData ldr r0, [r4] ldr r1, _0808D79C @ =0x000002ca adds r0, r1 @@ -3804,7 +3804,7 @@ _0808D78A: strb r0, [r1] b _0808D7B2 .align 2, 0 -_0808D798: .4byte gUnknown_20397B0 +_0808D798: .4byte sPSSData _0808D79C: .4byte 0x000002ca _0808D7A0: bl sub_809610C @@ -3813,7 +3813,7 @@ _0808D7A4: lsrs r1, r0, 24 cmp r1, 0 bne _0808D7B2 - ldr r0, _0808D7B8 @ =gUnknown_20397B0 + ldr r0, _0808D7B8 @ =sPSSData ldr r0, [r0] strb r1, [r0] _0808D7B2: @@ -3821,13 +3821,13 @@ _0808D7B2: pop {r0} bx r0 .align 2, 0 -_0808D7B8: .4byte gUnknown_20397B0 +_0808D7B8: .4byte sPSSData thumb_func_end sub_808D2BC thumb_func_start sub_808D7BC sub_808D7BC: @ 808D7BC push {r4,lr} - ldr r4, _0808D7D0 @ =gUnknown_20397B0 + ldr r4, _0808D7D0 @ =sPSSData ldr r0, [r4] ldrb r0, [r0] cmp r0, 0 @@ -3836,7 +3836,7 @@ sub_808D7BC: @ 808D7BC beq _0808D7E2 b _0808D7F2 .align 2, 0 -_0808D7D0: .4byte gUnknown_20397B0 +_0808D7D0: .4byte sPSSData _0808D7D4: bl sub_808FAD4 ldr r1, [r4] @@ -3862,7 +3862,7 @@ _0808D7F8: .4byte sub_808D2BC thumb_func_start sub_808D7FC sub_808D7FC: @ 808D7FC push {r4,lr} - ldr r4, _0808D814 @ =gUnknown_20397B0 + ldr r4, _0808D814 @ =sPSSData ldr r0, [r4] ldrb r0, [r0] cmp r0, 0x1 @@ -3873,7 +3873,7 @@ sub_808D7FC: @ 808D7FC beq _0808D81E b _0808D86A .align 2, 0 -_0808D814: .4byte gUnknown_20397B0 +_0808D814: .4byte sPSSData _0808D818: cmp r0, 0x2 beq _0808D84A @@ -3925,7 +3925,7 @@ _0808D874: .4byte sub_808D2BC thumb_func_start sub_808D878 sub_808D878: @ 808D878 push {r4,lr} - ldr r0, _0808D890 @ =gUnknown_20397B0 + ldr r0, _0808D890 @ =sPSSData ldr r0, [r0] ldrb r0, [r0] cmp r0, 0x6 @@ -3938,7 +3938,7 @@ _0808D886: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808D890: .4byte gUnknown_20397B0 +_0808D890: .4byte sPSSData _0808D894: .4byte _0808D898 .align 2, 0 _0808D898: @@ -3958,7 +3958,7 @@ _0808D8B4: _0808D8C0: movs r0, 0x5 bl PlaySE - ldr r4, _0808D8D8 @ =gUnknown_20397B0 + ldr r4, _0808D8D8 @ =sPSSData ldr r0, [r4] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -3967,7 +3967,7 @@ _0808D8C0: bl sub_808FBA4 b _0808D906 .align 2, 0 -_0808D8D8: .4byte gUnknown_20397B0 +_0808D8D8: .4byte sPSSData _0808D8DC: bl sub_809616C lsls r0, 24 @@ -3990,13 +3990,13 @@ _0808D900: bl sub_808FBA4 _0808D906: bl sub_8094E88 - ldr r0, _0808D914 @ =gUnknown_20397B0 + ldr r0, _0808D914 @ =sPSSData ldr r1, [r0] movs r0, 0x1 strb r0, [r1] b _0808DB86 .align 2, 0 -_0808D914: .4byte gUnknown_20397B0 +_0808D914: .4byte sPSSData _0808D918: bl sub_8094F90 lsls r0, 24 @@ -4004,13 +4004,13 @@ _0808D918: beq _0808D924 b _0808DB86 _0808D924: - ldr r0, _0808D930 @ =gUnknown_20397B0 + ldr r0, _0808D930 @ =sPSSData ldr r1, [r0] movs r0, 0x2 strb r0, [r1] b _0808DB86 .align 2, 0 -_0808D930: .4byte gUnknown_20397B0 +_0808D930: .4byte sPSSData _0808D934: bl sub_8094F94 adds r0, 0x1 @@ -4104,7 +4104,7 @@ _0808DA20: lsls r0, 24 cmp r0, 0 bne _0808DA66 - ldr r4, _0808DA50 @ =gUnknown_20397B0 + ldr r4, _0808DA50 @ =sPSSData ldr r0, [r4] ldr r2, _0808DA54 @ =0x00000ce2 adds r0, r2 @@ -4120,7 +4120,7 @@ _0808DA20: bl add_to_c3_somehow b _0808DB86 .align 2, 0 -_0808DA50: .4byte gUnknown_20397B0 +_0808DA50: .4byte sPSSData _0808DA54: .4byte 0x00000ce2 _0808DA58: .4byte sub_808DD88 _0808DA5C: @@ -4129,15 +4129,15 @@ _0808DA5C: cmp r0, 0 beq _0808DA74 _0808DA66: - ldr r0, _0808DA70 @ =gUnknown_20397B0 + ldr r0, _0808DA70 @ =sPSSData ldr r1, [r0] movs r0, 0x3 strb r0, [r1] b _0808DB86 .align 2, 0 -_0808DA70: .4byte gUnknown_20397B0 +_0808DA70: .4byte sPSSData _0808DA74: - ldr r4, _0808DA88 @ =gUnknown_20397B0 + ldr r4, _0808DA88 @ =sPSSData ldr r1, [r4] ldr r2, _0808DA8C @ =0x00000ce9 adds r0, r1, r2 @@ -4148,7 +4148,7 @@ _0808DA74: strb r0, [r1] b _0808DB86 .align 2, 0 -_0808DA88: .4byte gUnknown_20397B0 +_0808DA88: .4byte sPSSData _0808DA8C: .4byte 0x00000ce9 _0808DA90: ldr r2, _0808DAA8 @ =0x00000ce2 @@ -4245,13 +4245,13 @@ _0808DB54: movs r0, 0x16 _0808DB5C: bl sub_808FBA4 - ldr r0, _0808DB6C @ =gUnknown_20397B0 + ldr r0, _0808DB6C @ =sPSSData ldr r1, [r0] movs r0, 0x6 strb r0, [r1] b _0808DB86 .align 2, 0 -_0808DB6C: .4byte gUnknown_20397B0 +_0808DB6C: .4byte sPSSData _0808DB70: ldr r0, _0808DB8C @ =gMain ldrh r1, [r0, 0x2E] @@ -4274,7 +4274,7 @@ _0808DB90: .4byte sub_808D2BC thumb_func_start sub_808DB94 sub_808DB94: @ 808DB94 push {r4,lr} - ldr r4, _0808DBA8 @ =gUnknown_20397B0 + ldr r4, _0808DBA8 @ =sPSSData ldr r0, [r4] ldrb r0, [r0] cmp r0, 0 @@ -4283,7 +4283,7 @@ sub_808DB94: @ 808DB94 beq _0808DBBC b _0808DBE6 .align 2, 0 -_0808DBA8: .4byte gUnknown_20397B0 +_0808DBA8: .4byte sPSSData _0808DBAC: movs r0, 0 bl sub_8092B7C @@ -4297,7 +4297,7 @@ _0808DBBC: lsls r0, 24 cmp r0, 0 bne _0808DBE6 - ldr r0, _0808DBD8 @ =gUnknown_20397B4 + ldr r0, _0808DBD8 @ =sInPartyMenu ldrb r0, [r0] cmp r0, 0 beq _0808DBE0 @@ -4305,7 +4305,7 @@ _0808DBBC: bl add_to_c3_somehow b _0808DBE6 .align 2, 0 -_0808DBD8: .4byte gUnknown_20397B4 +_0808DBD8: .4byte sInPartyMenu _0808DBDC: .4byte sub_808E688 _0808DBE0: ldr r0, _0808DBEC @ =sub_808D2BC @@ -4321,7 +4321,7 @@ _0808DBEC: .4byte sub_808D2BC thumb_func_start sub_808DBF0 sub_808DBF0: @ 808DBF0 push {r4,lr} - ldr r4, _0808DC04 @ =gUnknown_20397B0 + ldr r4, _0808DC04 @ =sPSSData ldr r0, [r4] ldrb r0, [r0] cmp r0, 0 @@ -4330,7 +4330,7 @@ sub_808DBF0: @ 808DBF0 beq _0808DC1E b _0808DC46 .align 2, 0 -_0808DC04: .4byte gUnknown_20397B0 +_0808DC04: .4byte sPSSData _0808DC08: movs r0, 0x1 bl sub_808FE54 @@ -4346,7 +4346,7 @@ _0808DC1E: lsls r0, 24 cmp r0, 0 bne _0808DC46 - ldr r0, _0808DC38 @ =gUnknown_20397B4 + ldr r0, _0808DC38 @ =sInPartyMenu ldrb r0, [r0] cmp r0, 0 beq _0808DC40 @@ -4354,7 +4354,7 @@ _0808DC1E: bl add_to_c3_somehow b _0808DC46 .align 2, 0 -_0808DC38: .4byte gUnknown_20397B4 +_0808DC38: .4byte sInPartyMenu _0808DC3C: .4byte sub_808E688 _0808DC40: ldr r0, _0808DC4C @ =sub_808D2BC @@ -4370,7 +4370,7 @@ _0808DC4C: .4byte sub_808D2BC thumb_func_start sub_808DC50 sub_808DC50: @ 808DC50 push {r4,lr} - ldr r4, _0808DC64 @ =gUnknown_20397B0 + ldr r4, _0808DC64 @ =sPSSData ldr r0, [r4] ldrb r0, [r0] cmp r0, 0 @@ -4379,7 +4379,7 @@ sub_808DC50: @ 808DC50 beq _0808DC7E b _0808DC92 .align 2, 0 -_0808DC64: .4byte gUnknown_20397B0 +_0808DC64: .4byte sPSSData _0808DC68: movs r0, 0 bl sub_808FE54 @@ -4409,7 +4409,7 @@ _0808DC98: .4byte sub_808D2BC thumb_func_start sub_808DC9C sub_808DC9C: @ 808DC9C push {lr} - ldr r0, _0808DCB4 @ =gUnknown_20397B0 + ldr r0, _0808DCB4 @ =sPSSData ldr r0, [r0] ldrb r0, [r0] cmp r0, 0x5 @@ -4420,7 +4420,7 @@ sub_808DC9C: @ 808DC9C ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808DCB4: .4byte gUnknown_20397B0 +_0808DCB4: .4byte sPSSData _0808DCB8: .4byte _0808DCBC .align 2, 0 _0808DCBC: @@ -4438,24 +4438,24 @@ _0808DCD4: bne _0808DCF4 movs r0, 0xE bl sub_808FBA4 - ldr r0, _0808DCF0 @ =gUnknown_20397B0 + ldr r0, _0808DCF0 @ =sPSSData ldr r1, [r0] movs r0, 0x1 strb r0, [r1] b _0808DD7E .align 2, 0 -_0808DCF0: .4byte gUnknown_20397B0 +_0808DCF0: .4byte sPSSData _0808DCF4: bl sub_8092B5C movs r0, 0 bl sub_8092B7C - ldr r0, _0808DD08 @ =gUnknown_20397B0 + ldr r0, _0808DD08 @ =sPSSData ldr r1, [r0] movs r0, 0x2 strb r0, [r1] b _0808DD7E .align 2, 0 -_0808DD08: .4byte gUnknown_20397B0 +_0808DD08: .4byte sPSSData _0808DD0C: ldr r0, _0808DD24 @ =gMain ldrh r1, [r0, 0x2E] @@ -4496,14 +4496,14 @@ _0808DD5A: bne _0808DD7E bl sub_808FAA8 _0808DD68: - ldr r0, _0808DD74 @ =gUnknown_20397B0 + ldr r0, _0808DD74 @ =sPSSData ldr r1, [r0] ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] b _0808DD7E .align 2, 0 -_0808DD74: .4byte gUnknown_20397B0 +_0808DD74: .4byte sPSSData _0808DD78: ldr r0, _0808DD84 @ =sub_808D7FC bl add_to_c3_somehow @@ -4518,7 +4518,7 @@ _0808DD84: .4byte sub_808D7FC sub_808DD88: @ 808DD88 push {r4,lr} sub sp, 0x4 - ldr r0, _0808DDA4 @ =gUnknown_20397B0 + ldr r0, _0808DDA4 @ =sPSSData ldr r0, [r0] ldrb r0, [r0] cmp r0, 0x4 @@ -4531,7 +4531,7 @@ _0808DD98: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808DDA4: .4byte gUnknown_20397B0 +_0808DDA4: .4byte sPSSData _0808DDA8: .4byte _0808DDAC .align 2, 0 _0808DDAC: @@ -4543,7 +4543,7 @@ _0808DDAC: _0808DDC0: movs r0, 0x6 bl sub_808FBA4 - ldr r4, _0808DDEC @ =gUnknown_20397B0 + ldr r4, _0808DDEC @ =sPSSData ldr r0, [r4] ldr r1, _0808DDF0 @ =0x00001e58 adds r0, r1 @@ -4561,7 +4561,7 @@ _0808DDC0: adds r0, 0x1 b _0808DEB8 .align 2, 0 -_0808DDEC: .4byte gUnknown_20397B0 +_0808DDEC: .4byte sPSSData _0808DDF0: .4byte 0x00001e58 _0808DDF4: .4byte 0x0000dac7 _0808DDF8: .4byte gUnknown_20397B6 @@ -4591,32 +4591,32 @@ _0808DE1C: bl sub_808FD20 bl sub_808C950 bl sub_808C8FC - ldr r0, _0808DE4C @ =gUnknown_20397B0 + ldr r0, _0808DE4C @ =sPSSData ldr r1, [r0] movs r0, 0x2 b _0808DEB8 .align 2, 0 _0808DE48: .4byte gUnknown_20397B6 -_0808DE4C: .4byte gUnknown_20397B0 +_0808DE4C: .4byte sPSSData _0808DE50: movs r0, 0x8 bl sub_808FBA4 - ldr r0, _0808DE60 @ =gUnknown_20397B0 + ldr r0, _0808DE60 @ =sPSSData ldr r1, [r0] movs r0, 0x4 b _0808DEB8 .align 2, 0 -_0808DE60: .4byte gUnknown_20397B0 +_0808DE60: .4byte sPSSData _0808DE64: bl CompactPartySlots bl sub_80909F4 - ldr r0, _0808DE78 @ =gUnknown_20397B0 + ldr r0, _0808DE78 @ =sPSSData ldr r1, [r0] ldrb r0, [r1] adds r0, 0x1 b _0808DEB8 .align 2, 0 -_0808DE78: .4byte gUnknown_20397B0 +_0808DE78: .4byte sPSSData _0808DE7C: bl sub_8090A60 lsls r0, 24 @@ -4640,7 +4640,7 @@ _0808DEA0: beq _0808DEBA movs r0, 0x6 bl sub_808FBA4 - ldr r0, _0808DEC8 @ =gUnknown_20397B0 + ldr r0, _0808DEC8 @ =sPSSData ldr r1, [r0] movs r0, 0x1 _0808DEB8: @@ -4652,13 +4652,13 @@ _0808DEBA: bx r0 .align 2, 0 _0808DEC4: .4byte gMain -_0808DEC8: .4byte gUnknown_20397B0 +_0808DEC8: .4byte sPSSData thumb_func_end sub_808DD88 thumb_func_start sub_808DECC sub_808DECC: @ 808DECC push {lr} - ldr r0, _0808DEE4 @ =gUnknown_20397B0 + ldr r0, _0808DEE4 @ =sPSSData ldr r0, [r0] ldrb r0, [r0] cmp r0, 0xD @@ -4671,7 +4671,7 @@ _0808DEDA: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808DEE4: .4byte gUnknown_20397B0 +_0808DEE4: .4byte sPSSData _0808DEE8: .4byte _0808DEEC .align 2, 0 _0808DEEC: @@ -4694,7 +4694,7 @@ _0808DF24: bl sub_808FBA4 movs r0, 0x1 bl sub_808FCE8 - ldr r0, _0808DF54 @ =gUnknown_20397B0 + ldr r0, _0808DF54 @ =sPSSData ldr r1, [r0] ldrb r0, [r1] adds r0, 0x1 @@ -4713,7 +4713,7 @@ _0808DF3A: beq _0808DF5E b _0808E0AE .align 2, 0 -_0808DF54: .4byte gUnknown_20397B0 +_0808DF54: .4byte sPSSData _0808DF58: cmp r1, 0x1 beq _0808DF5E @@ -4772,7 +4772,7 @@ _0808DFBC: cmp r0, 0 beq _0808E0AE bl sub_808FD20 - ldr r0, _0808DFE4 @ =gUnknown_20397B4 + ldr r0, _0808DFE4 @ =sInPartyMenu ldrb r0, [r0] cmp r0, 0 beq _0808DFE8 @@ -4781,15 +4781,15 @@ _0808DFBC: b _0808E074 .align 2, 0 _0808DFE0: .4byte gMain -_0808DFE4: .4byte gUnknown_20397B4 +_0808DFE4: .4byte sInPartyMenu _0808DFE8: - ldr r0, _0808DFF4 @ =gUnknown_20397B0 + ldr r0, _0808DFF4 @ =sPSSData ldr r1, [r0] movs r0, 0x7 strb r0, [r1] b _0808E0AE .align 2, 0 -_0808DFF4: .4byte gUnknown_20397B0 +_0808DFF4: .4byte sPSSData _0808DFF8: bl sub_8090A60 lsls r0, 24 @@ -4850,7 +4850,7 @@ _0808E062: _0808E070: bl sub_808FBA4 _0808E074: - ldr r0, _0808E084 @ =gUnknown_20397B0 + ldr r0, _0808E084 @ =sPSSData ldr r1, [r0] ldrb r0, [r1] adds r0, 0x1 @@ -4858,15 +4858,15 @@ _0808E074: b _0808E0AE .align 2, 0 _0808E080: .4byte gMain -_0808E084: .4byte gUnknown_20397B0 +_0808E084: .4byte sPSSData _0808E088: - ldr r0, _0808E094 @ =gUnknown_20397B0 + ldr r0, _0808E094 @ =sPSSData ldr r1, [r0] movs r0, 0x8 strb r0, [r1] b _0808E0AE .align 2, 0 -_0808E094: .4byte gUnknown_20397B0 +_0808E094: .4byte sPSSData _0808E098: ldr r0, _0808E0B4 @ =gMain ldrh r1, [r0, 0x2E] @@ -4888,7 +4888,7 @@ _0808E0B8: .4byte sub_808D2BC thumb_func_start sub_808E0BC sub_808E0BC: @ 808E0BC push {r4,lr} - ldr r4, _0808E0D0 @ =gUnknown_20397B0 + ldr r4, _0808E0D0 @ =sPSSData ldr r0, [r4] ldrb r0, [r0] cmp r0, 0 @@ -4897,7 +4897,7 @@ sub_808E0BC: @ 808E0BC beq _0808E108 b _0808E130 .align 2, 0 -_0808E0D0: .4byte gUnknown_20397B0 +_0808E0D0: .4byte sPSSData _0808E0D4: movs r0, 0xC bl sub_808FBA4 @@ -4949,7 +4949,7 @@ _0808E13C: .4byte sub_808D2BC thumb_func_start sub_808E140 sub_808E140: @ 808E140 push {r4,r5,lr} - ldr r5, _0808E158 @ =gUnknown_20397B0 + ldr r5, _0808E158 @ =sPSSData ldr r0, [r5] ldrb r1, [r0] cmp r1, 0x1 @@ -4960,7 +4960,7 @@ sub_808E140: @ 808E140 beq _0808E166 b _0808E1EA .align 2, 0 -_0808E158: .4byte gUnknown_20397B0 +_0808E158: .4byte sPSSData _0808E15C: cmp r1, 0x2 beq _0808E1B4 @@ -4988,7 +4988,7 @@ _0808E188: .4byte sub_808E6D0 _0808E18C: movs r0, 0x2 bl sub_8094D14 - ldr r0, _0808E1B0 @ =gUnknown_20397B4 + ldr r0, _0808E1B0 @ =sInPartyMenu ldrb r0, [r0] negs r4, r0 orrs r4, r0 @@ -5001,7 +5001,7 @@ _0808E18C: bl sub_8095D84 b _0808E1D0 .align 2, 0 -_0808E1B0: .4byte gUnknown_20397B4 +_0808E1B0: .4byte sInPartyMenu _0808E1B4: bl sub_809610C lsls r0, 24 @@ -5036,7 +5036,7 @@ _0808E1F0: .4byte sub_808D2BC thumb_func_start sub_808E1F4 sub_808E1F4: @ 808E1F4 push {r4,lr} - ldr r0, _0808E20C @ =gUnknown_20397B0 + ldr r0, _0808E20C @ =sPSSData ldr r0, [r0] ldrb r0, [r0] cmp r0, 0x4 @@ -5047,7 +5047,7 @@ sub_808E1F4: @ 808E1F4 ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808E20C: .4byte gUnknown_20397B0 +_0808E20C: .4byte sPSSData _0808E210: .4byte _0808E214 .align 2, 0 _0808E214: @@ -5059,7 +5059,7 @@ _0808E214: _0808E228: movs r0, 0x2 bl sub_8094D14 - ldr r0, _0808E24C @ =gUnknown_20397B4 + ldr r0, _0808E24C @ =sInPartyMenu ldrb r0, [r0] negs r4, r0 orrs r4, r0 @@ -5072,7 +5072,7 @@ _0808E228: bl sub_8095F74 b _0808E280 .align 2, 0 -_0808E24C: .4byte gUnknown_20397B4 +_0808E24C: .4byte sInPartyMenu _0808E250: bl sub_809610C lsls r0, 24 @@ -5095,7 +5095,7 @@ _0808E270: _0808E27C: bl sub_808FD20 _0808E280: - ldr r0, _0808E290 @ =gUnknown_20397B0 + ldr r0, _0808E290 @ =sPSSData ldr r1, [r0] ldrb r0, [r1] adds r0, 0x1 @@ -5103,7 +5103,7 @@ _0808E280: b _0808E2A4 .align 2, 0 _0808E28C: .4byte gMain -_0808E290: .4byte gUnknown_20397B0 +_0808E290: .4byte sPSSData _0808E294: bl IsDma3ManagerBusyWithBgCopy lsls r0, 24 @@ -5122,7 +5122,7 @@ _0808E2AC: .4byte sub_808D2BC thumb_func_start sub_808E2B0 sub_808E2B0: @ 808E2B0 push {r4,r5,lr} - ldr r1, _0808E2CC @ =gUnknown_20397B0 + ldr r1, _0808E2CC @ =sPSSData ldr r0, [r1] ldrb r0, [r0] adds r5, r1, 0 @@ -5136,7 +5136,7 @@ _0808E2C0: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808E2CC: .4byte gUnknown_20397B0 +_0808E2CC: .4byte sPSSData _0808E2D0: .4byte _0808E2D4 .align 2, 0 _0808E2D4: @@ -5168,7 +5168,7 @@ _0808E310: .4byte 0x00000ce2 _0808E314: movs r0, 0x5 bl PlaySE - ldr r0, _0808E33C @ =gUnknown_20397B4 + ldr r0, _0808E33C @ =sInPartyMenu ldrb r0, [r0] negs r4, r0 orrs r4, r0 @@ -5184,7 +5184,7 @@ _0808E314: strb r0, [r1] b _0808E3BA .align 2, 0 -_0808E33C: .4byte gUnknown_20397B4 +_0808E33C: .4byte sInPartyMenu _0808E340: bl sub_809610C lsls r0, 24 @@ -5192,13 +5192,13 @@ _0808E340: bne _0808E3BA movs r0, 0x19 bl sub_808FBA4 - ldr r0, _0808E35C @ =gUnknown_20397B0 + ldr r0, _0808E35C @ =sPSSData ldr r1, [r0] movs r0, 0x2 strb r0, [r1] b _0808E3BA .align 2, 0 -_0808E35C: .4byte gUnknown_20397B0 +_0808E35C: .4byte sPSSData _0808E360: ldr r0, _0808E384 @ =gMain ldrh r1, [r0, 0x2E] @@ -5209,14 +5209,14 @@ _0808E360: bl sub_808FD20 bl sub_8092F54 bl sub_808F49C - ldr r0, _0808E388 @ =gUnknown_20397B0 + ldr r0, _0808E388 @ =sPSSData ldr r1, [r0] movs r0, 0x4 strb r0, [r1] b _0808E3BA .align 2, 0 _0808E384: .4byte gMain -_0808E388: .4byte gUnknown_20397B0 +_0808E388: .4byte sPSSData _0808E38C: bl IsDma3ManagerBusyWithBgCopy lsls r0, 24 @@ -5249,7 +5249,7 @@ _0808E3C4: .4byte sub_808D2BC thumb_func_start sub_808E3C8 sub_808E3C8: @ 808E3C8 push {r4,lr} - ldr r1, _0808E3E0 @ =gUnknown_20397B0 + ldr r1, _0808E3E0 @ =sPSSData ldr r0, [r1] ldrb r0, [r0] adds r4, r1, 0 @@ -5261,7 +5261,7 @@ sub_808E3C8: @ 808E3C8 ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808E3E0: .4byte gUnknown_20397B0 +_0808E3E0: .4byte sPSSData _0808E3E4: .4byte _0808E3E8 .align 2, 0 _0808E3E8: @@ -5293,7 +5293,7 @@ _0808E424: .4byte sub_808E6D0 _0808E428: movs r0, 0x2 bl sub_8094D14 - ldr r0, _0808E44C @ =gUnknown_20397B4 + ldr r0, _0808E44C @ =sInPartyMenu ldrb r0, [r0] negs r4, r0 orrs r4, r0 @@ -5306,7 +5306,7 @@ _0808E428: bl sub_8095EA0 b _0808E480 .align 2, 0 -_0808E44C: .4byte gUnknown_20397B4 +_0808E44C: .4byte sInPartyMenu _0808E450: bl sub_809610C lsls r0, 24 @@ -5328,7 +5328,7 @@ _0808E470: beq _0808E4A4 bl sub_808FD20 _0808E480: - ldr r0, _0808E490 @ =gUnknown_20397B0 + ldr r0, _0808E490 @ =sPSSData ldr r1, [r0] _0808E484: ldrb r0, [r1] @@ -5337,7 +5337,7 @@ _0808E484: b _0808E4A4 .align 2, 0 _0808E48C: .4byte gMain -_0808E490: .4byte gUnknown_20397B0 +_0808E490: .4byte sPSSData _0808E494: bl IsDma3ManagerBusyWithBgCopy lsls r0, 24 @@ -5356,7 +5356,7 @@ _0808E4AC: .4byte sub_808D2BC thumb_func_start sub_808E4B0 sub_808E4B0: @ 808E4B0 push {lr} - ldr r0, _0808E4C8 @ =gUnknown_20397B0 + ldr r0, _0808E4C8 @ =sPSSData ldr r0, [r0] ldrb r0, [r0] cmp r0, 0x6 @@ -5367,7 +5367,7 @@ sub_808E4B0: @ 808E4B0 ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808E4C8: .4byte gUnknown_20397B0 +_0808E4C8: .4byte sPSSData _0808E4CC: .4byte _0808E4D0 .align 2, 0 _0808E4D0: @@ -5416,14 +5416,14 @@ _0808E534: cmp r0, 0 bne _0808E55C _0808E53A: - ldr r0, _0808E548 @ =gUnknown_20397B0 + ldr r0, _0808E548 @ =sPSSData ldr r1, [r0] ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] b _0808E55C .align 2, 0 -_0808E548: .4byte gUnknown_20397B0 +_0808E548: .4byte sPSSData _0808E54C: bl IsDma3ManagerBusyWithBgCopy lsls r0, 24 @@ -5441,7 +5441,7 @@ _0808E560: .4byte sub_808D2BC thumb_func_start sub_808E564 sub_808E564: @ 808E564 push {r4,lr} - ldr r0, _0808E57C @ =gUnknown_20397B0 + ldr r0, _0808E57C @ =sPSSData ldr r0, [r0] ldrb r0, [r0] cmp r0, 0x5 @@ -5454,7 +5454,7 @@ _0808E572: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808E57C: .4byte gUnknown_20397B0 +_0808E57C: .4byte sPSSData _0808E580: .4byte _0808E584 .align 2, 0 _0808E584: @@ -5471,13 +5471,13 @@ _0808E59C: bl sub_808FBA4 movs r0, 0 bl sub_808FCE8 - ldr r0, _0808E5B8 @ =gUnknown_20397B0 + ldr r0, _0808E5B8 @ =sPSSData ldr r1, [r0] movs r0, 0x1 strb r0, [r1] b _0808E67C .align 2, 0 -_0808E5B8: .4byte gUnknown_20397B0 +_0808E5B8: .4byte sPSSData _0808E5BC: bl Menu_ProcessInputNoWrapClearOnChoose lsls r0, 24 @@ -5498,7 +5498,7 @@ _0808E5DA: bl sub_808FD20 b _0808E660 _0808E5E0: - ldr r4, _0808E604 @ =gUnknown_20397B0 + ldr r4, _0808E604 @ =sPSSData ldr r0, [r4] ldr r1, _0808E608 @ =0x00002224 adds r0, r1 @@ -5515,7 +5515,7 @@ _0808E5E0: strb r0, [r1] b _0808E67C .align 2, 0 -_0808E604: .4byte gUnknown_20397B0 +_0808E604: .4byte sPSSData _0808E608: .4byte 0x00002224 _0808E60C: movs r0, 0x1A @@ -5532,23 +5532,23 @@ _0808E61A: cmp r0, 0 beq _0808E67C bl sub_808FD20 - ldr r0, _0808E638 @ =gUnknown_20397B0 + ldr r0, _0808E638 @ =sPSSData ldr r1, [r0] movs r0, 0x5 strb r0, [r1] b _0808E67C .align 2, 0 _0808E634: .4byte gMain -_0808E638: .4byte gUnknown_20397B0 +_0808E638: .4byte sPSSData _0808E63C: bl sub_8096088 - ldr r0, _0808E64C @ =gUnknown_20397B0 + ldr r0, _0808E64C @ =sPSSData ldr r1, [r0] movs r0, 0x4 strb r0, [r1] b _0808E67C .align 2, 0 -_0808E64C: .4byte gUnknown_20397B0 +_0808E64C: .4byte sPSSData _0808E650: bl sub_809610C lsls r0, 24 @@ -5580,7 +5580,7 @@ _0808E684: .4byte sub_808D2BC thumb_func_start sub_808E688 sub_808E688: @ 808E688 push {r4,lr} - ldr r4, _0808E69C @ =gUnknown_20397B0 + ldr r4, _0808E69C @ =sPSSData ldr r0, [r4] ldrb r0, [r0] cmp r0, 0 @@ -5589,7 +5589,7 @@ sub_808E688: @ 808E688 beq _0808E6B2 b _0808E6C6 .align 2, 0 -_0808E69C: .4byte gUnknown_20397B0 +_0808E69C: .4byte sPSSData _0808E6A0: bl CompactPartySlots bl sub_80909F4 @@ -5617,7 +5617,7 @@ _0808E6CC: .4byte sub_808D2BC thumb_func_start sub_808E6D0 sub_808E6D0: @ 808E6D0 push {r4,lr} - ldr r4, _0808E6E8 @ =gUnknown_20397B0 + ldr r4, _0808E6E8 @ =sPSSData ldr r0, [r4] ldrb r0, [r0] cmp r0, 0x1 @@ -5628,7 +5628,7 @@ sub_808E6D0: @ 808E6D0 beq _0808E6F6 b _0808E738 .align 2, 0 -_0808E6E8: .4byte gUnknown_20397B0 +_0808E6E8: .4byte sPSSData _0808E6EC: cmp r0, 0x2 beq _0808E70A @@ -5679,7 +5679,7 @@ _0808E740: .4byte sub_808D2BC thumb_func_start box_related box_related: @ 808E744 push {r4,lr} - ldr r4, _0808E75C @ =gUnknown_20397B0 + ldr r4, _0808E75C @ =sPSSData ldr r0, [r4] ldrb r0, [r0] cmp r0, 0x1 @@ -5690,7 +5690,7 @@ box_related: @ 808E744 beq _0808E766 b _0808E830 .align 2, 0 -_0808E75C: .4byte gUnknown_20397B0 +_0808E75C: .4byte sPSSData _0808E760: cmp r0, 0x2 beq _0808E78C @@ -5785,7 +5785,7 @@ _0808E838: .4byte sub_808E9A0 thumb_func_start sub_808E83C sub_808E83C: @ 808E83C push {r4,r5,lr} - ldr r0, _0808E854 @ =gUnknown_20397B0 + ldr r0, _0808E854 @ =sPSSData ldr r0, [r0] ldrb r0, [r0] cmp r0, 0x5 @@ -5798,7 +5798,7 @@ _0808E84A: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808E854: .4byte gUnknown_20397B0 +_0808E854: .4byte sPSSData _0808E858: .4byte _0808E85C .align 2, 0 _0808E85C: @@ -5812,11 +5812,11 @@ _0808E874: bl sub_808FD34 movs r0, 0x2 bl sub_808FBA4 - ldr r0, _0808E884 @ =gUnknown_20397B0 + ldr r0, _0808E884 @ =sPSSData ldr r1, [r0] b _0808E976 .align 2, 0 -_0808E884: .4byte gUnknown_20397B0 +_0808E884: .4byte sPSSData _0808E888: bl sub_8094F90 lsls r0, 24 @@ -5824,14 +5824,14 @@ _0808E888: beq _0808E894 b _0808E994 _0808E894: - ldr r0, _0808E89C @ =gUnknown_20397B0 + ldr r0, _0808E89C @ =sPSSData ldr r1, [r0] b _0808E976 .align 2, 0 -_0808E89C: .4byte gUnknown_20397B0 +_0808E89C: .4byte sPSSData _0808E8A0: bl sub_8094F94 - ldr r5, _0808E8CC @ =gUnknown_20397B0 + ldr r5, _0808E8CC @ =sPSSData ldr r1, [r5] ldr r4, _0808E8D0 @ =0x0000078e adds r1, r4 @@ -5849,7 +5849,7 @@ _0808E8A0: bl add_to_c3_somehow b _0808E994 .align 2, 0 -_0808E8CC: .4byte gUnknown_20397B0 +_0808E8CC: .4byte sPSSData _0808E8D0: .4byte 0x0000078e _0808E8D4: .4byte sub_808D2BC _0808E8D8: @@ -5873,7 +5873,7 @@ _0808E8FA: lsls r0, 24 cmp r0, 0 bne _0808E994 - ldr r4, _0808E91C @ =gUnknown_20397B0 + ldr r4, _0808E91C @ =sPSSData ldr r0, [r4] ldr r1, _0808E920 @ =0x0000078e adds r0, r1 @@ -5883,11 +5883,11 @@ _0808E8FA: bl sub_808FBA4 b _0808E974 .align 2, 0 -_0808E91C: .4byte gUnknown_20397B0 +_0808E91C: .4byte sPSSData _0808E920: .4byte 0x0000078e _0808E924: bl sub_8094F94 - ldr r4, _0808E954 @ =gUnknown_20397B0 + ldr r4, _0808E954 @ =sPSSData ldr r1, [r4] movs r5, 0xF2 lsls r5, 3 @@ -5908,7 +5908,7 @@ _0808E924: strb r0, [r1] b _0808E994 .align 2, 0 -_0808E954: .4byte gUnknown_20397B0 +_0808E954: .4byte sPSSData _0808E958: movs r0, 0x5 bl PlaySE @@ -5949,7 +5949,7 @@ _0808E99C: .4byte sub_808D2BC sub_808E9A0: @ 808E9A0 push {r4,r5,lr} sub sp, 0x4 - ldr r5, _0808E9B8 @ =gUnknown_20397B0 + ldr r5, _0808E9B8 @ =sPSSData ldr r0, [r5] ldrb r4, [r0] cmp r4, 0x1 @@ -5960,7 +5960,7 @@ sub_808E9A0: @ 808E9A0 beq _0808E9C6 b _0808EA80 .align 2, 0 -_0808E9B8: .4byte gUnknown_20397B0 +_0808E9B8: .4byte sPSSData _0808E9BC: cmp r4, 0x2 beq _0808EA4C @@ -6062,7 +6062,7 @@ _0808EA8C: .4byte sub_808D2BC sub_808EA90: @ 808EA90 push {r4,r5,lr} sub sp, 0x4 - ldr r5, _0808EAA4 @ =gUnknown_20397B0 + ldr r5, _0808EAA4 @ =sPSSData ldr r0, [r5] ldrb r4, [r0] cmp r4, 0 @@ -6071,7 +6071,7 @@ sub_808EA90: @ 808EA90 beq _0808EAC6 b _0808EAE0 .align 2, 0 -_0808EAA4: .4byte gUnknown_20397B0 +_0808EAA4: .4byte sPSSData _0808EAA8: bl sub_8093630 movs r0, 0x1 @@ -6091,7 +6091,7 @@ _0808EAC6: lsls r0, 24 cmp r0, 0 bne _0808EAE0 - ldr r0, _0808EAE8 @ =gUnknown_20397B7 + ldr r0, _0808EAE8 @ =sWhichToReshow strb r4, [r0] ldr r1, [r5] movs r0, 0x2 @@ -6104,7 +6104,7 @@ _0808EAE0: pop {r0} bx r0 .align 2, 0 -_0808EAE8: .4byte gUnknown_20397B7 +_0808EAE8: .4byte sWhichToReshow _0808EAEC: .4byte sub_808EE18 thumb_func_end sub_808EA90 @@ -6112,7 +6112,7 @@ _0808EAEC: .4byte sub_808EE18 sub_808EAF0: @ 808EAF0 push {r4,r5,lr} sub sp, 0x4 - ldr r5, _0808EB04 @ =gUnknown_20397B0 + ldr r5, _0808EB04 @ =sPSSData ldr r0, [r5] ldrb r4, [r0] cmp r4, 0 @@ -6121,7 +6121,7 @@ sub_808EAF0: @ 808EAF0 beq _0808EB26 b _0808EB40 .align 2, 0 -_0808EB04: .4byte gUnknown_20397B0 +_0808EB04: .4byte sPSSData _0808EB08: bl sub_80936B8 movs r0, 0x1 @@ -6142,7 +6142,7 @@ _0808EB26: lsrs r1, r0, 24 cmp r1, 0 bne _0808EB40 - ldr r0, _0808EB48 @ =gUnknown_20397B7 + ldr r0, _0808EB48 @ =sWhichToReshow strb r1, [r0] ldr r0, [r5] strb r4, [r0, 0x2] @@ -6154,7 +6154,7 @@ _0808EB40: pop {r0} bx r0 .align 2, 0 -_0808EB48: .4byte gUnknown_20397B7 +_0808EB48: .4byte sWhichToReshow _0808EB4C: .4byte sub_808EE18 thumb_func_end sub_808EAF0 @@ -6162,7 +6162,7 @@ _0808EB4C: .4byte sub_808EE18 sub_808EB50: @ 808EB50 push {r4,lr} sub sp, 0x4 - ldr r4, _0808EB64 @ =gUnknown_20397B0 + ldr r4, _0808EB64 @ =sPSSData ldr r0, [r4] ldrb r1, [r0] cmp r1, 0 @@ -6171,7 +6171,7 @@ sub_808EB50: @ 808EB50 beq _0808EB82 b _0808EB9E .align 2, 0 -_0808EB64: .4byte gUnknown_20397B0 +_0808EB64: .4byte sPSSData _0808EB68: movs r0, 0x1 negs r0, r0 @@ -6190,7 +6190,7 @@ _0808EB82: lsls r0, 24 cmp r0, 0 bne _0808EB9E - ldr r1, _0808EBA8 @ =gUnknown_20397B7 + ldr r1, _0808EBA8 @ =sWhichToReshow movs r0, 0x2 strb r0, [r1] ldr r1, [r4] @@ -6204,14 +6204,14 @@ _0808EB9E: pop {r0} bx r0 .align 2, 0 -_0808EBA8: .4byte gUnknown_20397B7 +_0808EBA8: .4byte sWhichToReshow _0808EBAC: .4byte sub_808EE18 thumb_func_end sub_808EB50 thumb_func_start sub_808EBB0 sub_808EBB0: @ 808EBB0 push {r4,lr} - ldr r0, _0808EBC8 @ =gUnknown_20397B0 + ldr r0, _0808EBC8 @ =sPSSData ldr r0, [r0] ldrb r0, [r0] cmp r0, 0x4 @@ -6224,7 +6224,7 @@ _0808EBBE: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808EBC8: .4byte gUnknown_20397B0 +_0808EBC8: .4byte sPSSData _0808EBCC: .4byte _0808EBD0 .align 2, 0 _0808EBD0: @@ -6242,13 +6242,13 @@ _0808EBE4: bl PlaySE movs r0, 0xF bl sub_808FBA4 - ldr r0, _0808EC04 @ =gUnknown_20397B0 + ldr r0, _0808EC04 @ =sPSSData ldr r1, [r0] movs r0, 0x1 strb r0, [r1] b _0808ECD0 .align 2, 0 -_0808EC04: .4byte gUnknown_20397B0 +_0808EC04: .4byte sPSSData _0808EC08: bl sub_809616C lsls r0, 24 @@ -6266,13 +6266,13 @@ _0808EC20: bl sub_808FBA4 movs r0, 0 bl sub_808FCE8 - ldr r0, _0808EC3C @ =gUnknown_20397B0 + ldr r0, _0808EC3C @ =sPSSData ldr r1, [r0] movs r0, 0x2 strb r0, [r1] b _0808ECD0 .align 2, 0 -_0808EC3C: .4byte gUnknown_20397B0 +_0808EC3C: .4byte sPSSData _0808EC40: ldr r0, _0808EC50 @ =gMain ldrh r1, [r0, 0x2E] @@ -6317,14 +6317,14 @@ _0808EC90: movs r2, 0x1 bl sub_80A0A70 _0808EC9A: - ldr r0, _0808ECA8 @ =gUnknown_20397B0 + ldr r0, _0808ECA8 @ =sPSSData ldr r1, [r0] ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] b _0808ECD0 .align 2, 0 -_0808ECA8: .4byte gUnknown_20397B0 +_0808ECA8: .4byte sPSSData _0808ECAC: bl sub_80A0AAC lsls r0, 24 @@ -6335,7 +6335,7 @@ _0808ECAC: bl CalculatePlayerPartyCount ldr r1, _0808ECD8 @ =gPlayerPartyCount strb r0, [r1] - ldr r0, _0808ECDC @ =gUnknown_20397B0 + ldr r0, _0808ECDC @ =sPSSData ldr r0, [r0] strb r4, [r0, 0x2] ldr r0, _0808ECE0 @ =sub_808EE18 @@ -6346,14 +6346,14 @@ _0808ECD0: bx r0 .align 2, 0 _0808ECD8: .4byte gPlayerPartyCount -_0808ECDC: .4byte gUnknown_20397B0 +_0808ECDC: .4byte sPSSData _0808ECE0: .4byte sub_808EE18 thumb_func_end sub_808EBB0 thumb_func_start sub_808ECE4 sub_808ECE4: @ 808ECE4 push {r4,lr} - ldr r0, _0808ECFC @ =gUnknown_20397B0 + ldr r0, _0808ECFC @ =sPSSData ldr r0, [r0] ldrb r0, [r0] cmp r0, 0x4 @@ -6366,7 +6366,7 @@ _0808ECF2: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0808ECFC: .4byte gUnknown_20397B0 +_0808ECFC: .4byte sPSSData _0808ED00: .4byte _0808ED04 .align 2, 0 _0808ED04: @@ -6384,13 +6384,13 @@ _0808ED18: bl PlaySE movs r0, 0xF bl sub_808FBA4 - ldr r0, _0808ED38 @ =gUnknown_20397B0 + ldr r0, _0808ED38 @ =sPSSData ldr r1, [r0] movs r0, 0x1 strb r0, [r1] b _0808EE04 .align 2, 0 -_0808ED38: .4byte gUnknown_20397B0 +_0808ED38: .4byte sPSSData _0808ED3C: bl sub_809616C lsls r0, 24 @@ -6408,13 +6408,13 @@ _0808ED54: bl sub_808FBA4 movs r0, 0 bl sub_808FCE8 - ldr r0, _0808ED70 @ =gUnknown_20397B0 + ldr r0, _0808ED70 @ =sPSSData ldr r1, [r0] movs r0, 0x2 strb r0, [r1] b _0808EE04 .align 2, 0 -_0808ED70: .4byte gUnknown_20397B0 +_0808ED70: .4byte sPSSData _0808ED74: ldr r0, _0808ED84 @ =gMain ldrh r1, [r0, 0x2E] @@ -6460,14 +6460,14 @@ _0808EDC4: movs r2, 0 bl sub_80A0A70 _0808EDCE: - ldr r0, _0808EDDC @ =gUnknown_20397B0 + ldr r0, _0808EDDC @ =sPSSData ldr r1, [r0] ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] b _0808EE04 .align 2, 0 -_0808EDDC: .4byte gUnknown_20397B0 +_0808EDDC: .4byte sPSSData _0808EDE0: bl sub_80A0AAC lsls r0, 24 @@ -6478,7 +6478,7 @@ _0808EDE0: bl CalculatePlayerPartyCount ldr r1, _0808EE0C @ =gPlayerPartyCount strb r0, [r1] - ldr r0, _0808EE10 @ =gUnknown_20397B0 + ldr r0, _0808EE10 @ =sPSSData ldr r0, [r0] strb r4, [r0, 0x2] ldr r0, _0808EE14 @ =sub_808EE18 @@ -6489,7 +6489,7 @@ _0808EE04: bx r0 .align 2, 0 _0808EE0C: .4byte gPlayerPartyCount -_0808EE10: .4byte gUnknown_20397B0 +_0808EE10: .4byte sPSSData _0808EE14: .4byte sub_808EE18 thumb_func_end sub_808ECE4 @@ -6501,7 +6501,7 @@ sub_808EE18: @ 808EE18 sub sp, 0x8 lsls r0, 24 lsrs r7, r0, 24 - ldr r0, _0808EE44 @ =gUnknown_20397B0 + ldr r0, _0808EE44 @ =sPSSData ldr r0, [r0] ldrb r4, [r0, 0x2] ldrb r0, [r0, 0x1] @@ -6516,7 +6516,7 @@ sub_808EE18: @ 808EE18 ldr r1, _0808EE48 @ =gUnknown_20397BA b _0808EE50 .align 2, 0 -_0808EE44: .4byte gUnknown_20397B0 +_0808EE44: .4byte sPSSData _0808EE48: .4byte gUnknown_20397BA _0808EE4C: ldr r1, _0808EE70 @ =gUnknown_20397BA @@ -6540,7 +6540,7 @@ _0808EE62: _0808EE70: .4byte gUnknown_20397BA _0808EE74: .4byte sub_808C7B4 _0808EE78: - ldr r0, _0808EEAC @ =gUnknown_20397B0 + ldr r0, _0808EEAC @ =sPSSData ldr r1, [r0] ldr r2, _0808EEB0 @ =0x0000217c adds r0, r1, r2 @@ -6564,7 +6564,7 @@ _0808EE78: bl ShowPokemonSummaryScreen b _0808EEF6 .align 2, 0 -_0808EEAC: .4byte gUnknown_20397B0 +_0808EEAC: .4byte sPSSData _0808EEB0: .4byte 0x0000217c _0808EEB4: .4byte 0x0000217a _0808EEB8: .4byte sub_808CE60 @@ -6618,7 +6618,7 @@ sub_808EF0C: @ 808EF0C bl sub_8094CC8 lsls r0, 24 lsrs r1, r0, 24 - ldr r0, _0808EF44 @ =gUnknown_20397B4 + ldr r0, _0808EF44 @ =sInPartyMenu ldrb r0, [r0] cmp r0, 0 beq _0808EF4C @@ -6632,7 +6632,7 @@ sub_808EF0C: @ 808EF0C b _0808EF56 .align 2, 0 _0808EF40: .4byte gSpecialVar_ItemId -_0808EF44: .4byte gUnknown_20397B4 +_0808EF44: .4byte sInPartyMenu _0808EF48: .4byte gPlayerParty _0808EF4C: adds r0, r1, 0 @@ -6655,7 +6655,7 @@ sub_808EF68: @ 808EF68 push {r4,lr} bl sub_80F7B2C bl sub_80950A4 - ldr r4, _0808EF88 @ =gUnknown_20397B0 + ldr r4, _0808EF88 @ =sPSSData ldr r0, [r4] bl Free movs r0, 0 @@ -6665,7 +6665,7 @@ sub_808EF68: @ 808EF68 pop {r0} bx r0 .align 2, 0 -_0808EF88: .4byte gUnknown_20397B0 +_0808EF88: .4byte sPSSData thumb_func_end sub_808EF68 thumb_func_start sub_808EF8C @@ -6726,7 +6726,7 @@ sub_808EFE4: @ 808EFE4 movs r3, 0 bl DecompressAndLoadBgGfxUsingHeap ldr r0, _0808F038 @ =gUnknown_83CE5FC - ldr r5, _0808F03C @ =gUnknown_20397B0 + ldr r5, _0808F03C @ =sPSSData ldr r1, [r5] ldr r4, _0808F040 @ =0x00005abc adds r1, r4 @@ -6747,7 +6747,7 @@ sub_808EFE4: @ 808EFE4 _0808F030: .4byte gUnknown_83CEA50 _0808F034: .4byte gUnknown_8E9C438 _0808F038: .4byte gUnknown_83CE5FC -_0808F03C: .4byte gUnknown_20397B0 +_0808F03C: .4byte sPSSData _0808F040: .4byte 0x00005abc thumb_func_end sub_808EFE4 @@ -6797,7 +6797,7 @@ sub_808F078: @ 808F078 movs r1, 0xF0 movs r2, 0x20 bl LoadPalette - ldr r0, _0808F0BC @ =gUnknown_20397B0 + ldr r0, _0808F0BC @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -6811,7 +6811,7 @@ sub_808F078: @ 808F078 _0808F0B0: .4byte gUnknown_8E9C3F8 _0808F0B4: .4byte gUnknown_8E9C418 _0808F0B8: .4byte gUnknown_83CEA10 -_0808F0BC: .4byte gUnknown_20397B0 +_0808F0BC: .4byte sPSSData _0808F0C0: .4byte gUnknown_83CE738 _0808F0C4: ldr r0, _0808F0EC @ =gUnknown_83CE758 @@ -6840,7 +6840,7 @@ sub_808F0F4: @ 808F0F4 movs r0, 0x10 movs r2, 0 bl CreateMonMarkingSprite_AllOff - ldr r4, _0808F158 @ =gUnknown_20397B0 + ldr r4, _0808F158 @ =sPSSData ldr r1, [r4] movs r3, 0xD9 lsls r3, 4 @@ -6882,7 +6882,7 @@ sub_808F0F4: @ 808F0F4 bx r0 .align 2, 0 _0808F154: .4byte 0x0000dac8 -_0808F158: .4byte gUnknown_20397B0 +_0808F158: .4byte sPSSData _0808F15C: .4byte 0x00000d9c _0808F160: .4byte 0x06010000 thumb_func_end sub_808F0F4 @@ -6911,7 +6911,7 @@ _0808F17A: bl CreateSprite lsls r0, 24 lsrs r0, 24 - ldr r1, _0808F1C4 @ =gUnknown_20397B0 + ldr r1, _0808F1C4 @ =sPSSData ldr r2, [r1] lsls r1, r4, 2 ldr r3, _0808F1C8 @ =0x00000d94 @@ -6935,7 +6935,7 @@ _0808F17A: .align 2, 0 _0808F1BC: .4byte gUnknown_83CEA68 _0808F1C0: .4byte gUnknown_83CEBD8 -_0808F1C4: .4byte gUnknown_20397B0 +_0808F1C4: .4byte sPSSData _0808F1C8: .4byte 0x00000d94 _0808F1CC: .4byte gSprites thumb_func_end sub_808F164 @@ -6943,7 +6943,7 @@ _0808F1CC: .4byte gSprites thumb_func_start sub_808F1D0 sub_808F1D0: @ 808F1D0 push {lr} - ldr r0, _0808F1FC @ =gUnknown_20397B0 + ldr r0, _0808F1FC @ =sPSSData ldr r1, [r0] movs r2, 0xCE lsls r2, 4 @@ -6960,14 +6960,14 @@ sub_808F1D0: @ 808F1D0 pop {r0} bx r0 .align 2, 0 -_0808F1FC: .4byte gUnknown_20397B0 +_0808F1FC: .4byte sPSSData thumb_func_end sub_808F1D0 thumb_func_start BoxSetMosaic BoxSetMosaic: @ 808F200 push {lr} bl sub_808F1D0 - ldr r3, _0808F24C @ =gUnknown_20397B0 + ldr r3, _0808F24C @ =sPSSData ldr r0, [r3] ldr r1, _0808F250 @ =0x00002238 adds r0, r1 @@ -7003,14 +7003,14 @@ _0808F248: pop {r0} bx r0 .align 2, 0 -_0808F24C: .4byte gUnknown_20397B0 +_0808F24C: .4byte sPSSData _0808F250: .4byte 0x00002238 _0808F254: .4byte BoxSetMosaic2 thumb_func_end BoxSetMosaic thumb_func_start sub_808F258 sub_808F258: @ 808F258 - ldr r0, _0808F26C @ =gUnknown_20397B0 + ldr r0, _0808F26C @ =sPSSData ldr r0, [r0] ldr r1, _0808F270 @ =0x00002238 adds r0, r1 @@ -7020,7 +7020,7 @@ sub_808F258: @ 808F258 lsrs r0, 31 bx lr .align 2, 0 -_0808F26C: .4byte gUnknown_20397B0 +_0808F26C: .4byte sPSSData _0808F270: .4byte 0x00002238 thumb_func_end sub_808F258 @@ -7069,7 +7069,7 @@ _0808F2B8: .4byte SpriteCallbackDummy sub_808F2BC: @ 808F2BC push {r4-r7,lr} sub sp, 0x28 - ldr r0, _0808F350 @ =gUnknown_20397B0 + ldr r0, _0808F350 @ =sPSSData mov r12, r0 ldr r1, [r0] ldr r4, _0808F354 @ =0x000022bc @@ -7107,7 +7107,7 @@ _0808F2F6: cmp r6, r1 bls _0808F2F6 movs r6, 0 - ldr r5, _0808F350 @ =gUnknown_20397B0 + ldr r5, _0808F350 @ =sPSSData ldr r4, _0808F358 @ =0x0000223c movs r2, 0 _0808F310: @@ -7121,7 +7121,7 @@ _0808F310: lsrs r6, r0, 16 cmp r6, 0xF bls _0808F310 - ldr r0, _0808F350 @ =gUnknown_20397B0 + ldr r0, _0808F350 @ =sPSSData ldr r0, [r0] ldr r6, _0808F368 @ =0x00002238 adds r0, r6 @@ -7141,7 +7141,7 @@ _0808F310: beq _0808F3C8 b _0808F3B4 .align 2, 0 -_0808F350: .4byte gUnknown_20397B0 +_0808F350: .4byte sPSSData _0808F354: .4byte 0x000022bc _0808F358: .4byte 0x0000223c _0808F35C: .4byte 0x0000dac6 @@ -7149,7 +7149,7 @@ _0808F360: .4byte gUnknown_83CEA70 _0808F364: .4byte 0x000007ff _0808F368: .4byte 0x00002238 _0808F36C: - ldr r0, _0808F39C @ =gUnknown_20397B0 + ldr r0, _0808F39C @ =sPSSData ldr r2, [r0] ldr r7, _0808F3A0 @ =0x00002238 adds r3, r2, r7 @@ -7174,7 +7174,7 @@ _0808F36C: str r0, [r2] b _0808F3C8 .align 2, 0 -_0808F39C: .4byte gUnknown_20397B0 +_0808F39C: .4byte sPSSData _0808F3A0: .4byte 0x00002238 _0808F3A4: .4byte gSprites _0808F3A8: .4byte 0x00002232 @@ -7191,7 +7191,7 @@ _0808F3B4: cmp r1, 0x40 bne _0808F36C _0808F3C8: - ldr r0, _0808F3EC @ =gUnknown_20397B0 + ldr r0, _0808F3EC @ =sPSSData ldr r0, [r0] ldr r1, _0808F3F0 @ =0x00002238 adds r0, r1 @@ -7208,7 +7208,7 @@ _0808F3E2: pop {r0} bx r0 .align 2, 0 -_0808F3EC: .4byte gUnknown_20397B0 +_0808F3EC: .4byte sPSSData _0808F3F0: .4byte 0x00002238 _0808F3F4: .4byte 0x0000dac6 thumb_func_end sub_808F2BC @@ -7219,7 +7219,7 @@ sub_808F3F8: @ 808F3F8 adds r3, r1, 0 lsls r0, 16 lsrs r2, r0, 16 - ldr r6, _0808F468 @ =gUnknown_20397B0 + ldr r6, _0808F468 @ =sPSSData ldr r4, [r6] ldr r7, _0808F46C @ =0x00002238 adds r0, r4, r7 @@ -7268,7 +7268,7 @@ sub_808F3F8: @ 808F3F8 strb r0, [r1] b _0808F496 .align 2, 0 -_0808F468: .4byte gUnknown_20397B0 +_0808F468: .4byte sPSSData _0808F46C: .4byte 0x00002238 _0808F470: .4byte gMonFrontPicTable _0808F474: .4byte 0x000022bc @@ -7298,7 +7298,7 @@ sub_808F49C: @ 808F49C movs r0, 0 movs r1, 0x11 bl FillWindowPixelBuffer - ldr r6, _0808F51C @ =gUnknown_20397B0 + ldr r6, _0808F51C @ =sPSSData ldr r2, [r6] ldrb r0, [r2, 0x1] cmp r0, 0x3 @@ -7339,7 +7339,7 @@ _0808F4D4: lsrs r5, r0, 16 cmp r4, 0x2 bls _0808F4BC - ldr r0, _0808F51C @ =gUnknown_20397B0 + ldr r0, _0808F51C @ =sPSSData ldr r2, [r0] ldr r0, _0808F524 @ =0x00000d61 adds r2, r0 @@ -7355,7 +7355,7 @@ _0808F4D4: bl AddTextPrinterParameterized b _0808F57E .align 2, 0 -_0808F51C: .4byte gUnknown_20397B0 +_0808F51C: .4byte sPSSData _0808F520: .4byte 0x00000cf5 _0808F524: .4byte 0x00000d61 _0808F528: @@ -7406,7 +7406,7 @@ _0808F57E: movs r0, 0 movs r1, 0x2 bl CopyWindowToVram - ldr r4, _0808F5C4 @ =gUnknown_20397B0 + ldr r4, _0808F5C4 @ =sPSSData ldr r1, [r4] movs r2, 0xCE lsls r2, 4 @@ -7435,7 +7435,7 @@ _0808F57E: .align 2, 0 _0808F5BC: .4byte 0x00000d61 _0808F5C0: .4byte 0x00000cf5 -_0808F5C4: .4byte gUnknown_20397B0 +_0808F5C4: .4byte sPSSData _0808F5C8: movs r2, 0xD9 lsls r2, 4 @@ -7459,7 +7459,7 @@ _0808F5D8: sub_808F5E8: @ 808F5E8 push {r4,lr} sub sp, 0x4 - ldr r0, _0808F634 @ =gUnknown_20397B0 + ldr r0, _0808F634 @ =sPSSData ldr r0, [r0] movs r1, 0xCE lsls r1, 4 @@ -7476,7 +7476,7 @@ sub_808F5E8: @ 808F5E8 bl sub_80F7CE8 movs r4, 0 _0808F60E: - ldr r0, _0808F634 @ =gUnknown_20397B0 + ldr r0, _0808F634 @ =sPSSData ldr r0, [r0] lsls r1, r4, 2 ldr r2, _0808F638 @ =0x00000d94 @@ -7495,7 +7495,7 @@ _0808F60E: bls _0808F60E b _0808F66E .align 2, 0 -_0808F634: .4byte gUnknown_20397B0 +_0808F634: .4byte sPSSData _0808F638: .4byte 0x00000d94 _0808F63C: movs r0, 0x2 @@ -7507,7 +7507,7 @@ _0808F63C: bl sub_80F7CE8 movs r4, 0 _0808F64E: - ldr r0, _0808F684 @ =gUnknown_20397B0 + ldr r0, _0808F684 @ =sPSSData ldr r0, [r0] lsls r1, r4, 2 ldr r2, _0808F688 @ =0x00000d94 @@ -7532,7 +7532,7 @@ _0808F66E: pop {r0} bx r0 .align 2, 0 -_0808F684: .4byte gUnknown_20397B0 +_0808F684: .4byte sPSSData _0808F688: .4byte 0x00000d94 thumb_func_end sub_808F5E8 @@ -7541,7 +7541,7 @@ sub_808F68C: @ 808F68C push {r4,lr} sub sp, 0x4 ldr r0, _0808F704 @ =gUnknown_8E9CAEC - ldr r4, _0808F708 @ =gUnknown_20397B0 + ldr r4, _0808F708 @ =sPSSData ldr r1, [r4] adds r1, 0xB0 bl LZ77UnCompWram @@ -7573,7 +7573,7 @@ sub_808F68C: @ 808F68C movs r2, 0 bl sub_80F7CAC bl sub_808F9FC - ldr r0, _0808F714 @ =gUnknown_20397B4 + ldr r0, _0808F714 @ =sInPartyMenu ldrb r0, [r0] cmp r0, 0 beq _0808F718 @@ -7588,10 +7588,10 @@ sub_808F68C: @ 808F68C b _0808F73A .align 2, 0 _0808F704: .4byte gUnknown_8E9CAEC -_0808F708: .4byte gUnknown_20397B0 +_0808F708: .4byte sPSSData _0808F70C: .4byte gUnknown_8E9C3D8 _0808F710: .4byte gUnknown_83CE778 -_0808F714: .4byte gUnknown_20397B4 +_0808F714: .4byte sInPartyMenu _0808F718: movs r0, 0x2 str r0, [sp] @@ -7609,7 +7609,7 @@ _0808F718: _0808F73A: movs r0, 0x1 bl ScheduleBgCopyTilemapToVram - ldr r0, _0808F754 @ =gUnknown_20397B0 + ldr r0, _0808F754 @ =sPSSData ldr r0, [r0] ldr r1, _0808F758 @ =0x000002c7 adds r0, r1 @@ -7620,14 +7620,14 @@ _0808F73A: pop {r0} bx r0 .align 2, 0 -_0808F754: .4byte gUnknown_20397B0 +_0808F754: .4byte sPSSData _0808F758: .4byte 0x000002c7 thumb_func_end sub_808F68C thumb_func_start sub_808F75C sub_808F75C: @ 808F75C push {lr} - ldr r0, _0808F788 @ =gUnknown_20397B0 + ldr r0, _0808F788 @ =sPSSData ldr r1, [r0] movs r0, 0xB0 lsls r0, 2 @@ -7647,7 +7647,7 @@ sub_808F75C: @ 808F75C pop {r0} bx r0 .align 2, 0 -_0808F788: .4byte gUnknown_20397B0 +_0808F788: .4byte sPSSData _0808F78C: .4byte 0x000002c2 _0808F790: .4byte 0x000002c5 thumb_func_end sub_808F75C @@ -7655,7 +7655,7 @@ _0808F790: .4byte 0x000002c5 thumb_func_start sub_808F794 sub_808F794: @ 808F794 push {r4,lr} - ldr r4, _0808F7F0 @ =gUnknown_20397B0 + ldr r4, _0808F7F0 @ =sPSSData ldr r2, [r4] ldr r1, _0808F7F4 @ =0x000002c5 adds r0, r2, r1 @@ -7696,11 +7696,11 @@ sub_808F794: @ 808F794 movs r0, 0x1 b _0808F804 .align 2, 0 -_0808F7F0: .4byte gUnknown_20397B0 +_0808F7F0: .4byte sPSSData _0808F7F4: .4byte 0x000002c5 _0808F7F8: .4byte 0x000002c2 _0808F7FC: - ldr r1, _0808F80C @ =gUnknown_20397B4 + ldr r1, _0808F80C @ =sInPartyMenu movs r0, 0x1 strb r0, [r1] _0808F802: @@ -7710,13 +7710,13 @@ _0808F804: pop {r1} bx r1 .align 2, 0 -_0808F80C: .4byte gUnknown_20397B4 +_0808F80C: .4byte sInPartyMenu thumb_func_end sub_808F794 thumb_func_start sub_808F810 sub_808F810: @ 808F810 push {r4,lr} - ldr r4, _0808F844 @ =gUnknown_20397B0 + ldr r4, _0808F844 @ =sPSSData ldr r1, [r4] movs r0, 0xB0 lsls r0, 2 @@ -7741,7 +7741,7 @@ _0808F83C: pop {r0} bx r0 .align 2, 0 -_0808F844: .4byte gUnknown_20397B0 +_0808F844: .4byte sPSSData _0808F848: .4byte 0x000002c2 _0808F84C: .4byte 0x000002c5 thumb_func_end sub_808F810 @@ -7750,7 +7750,7 @@ _0808F84C: .4byte 0x000002c5 sub_808F850: @ 808F850 push {r4,r5,lr} sub sp, 0x8 - ldr r5, _0808F8C8 @ =gUnknown_20397B0 + ldr r5, _0808F8C8 @ =sPSSData ldr r2, [r5] ldr r1, _0808F8CC @ =0x000002c5 adds r0, r2, r1 @@ -7804,11 +7804,11 @@ sub_808F850: @ 808F850 movs r0, 0x1 b _0808F8FE .align 2, 0 -_0808F8C8: .4byte gUnknown_20397B0 +_0808F8C8: .4byte sPSSData _0808F8CC: .4byte 0x000002c5 _0808F8D0: .4byte 0x000002c2 _0808F8D4: - ldr r0, _0808F908 @ =gUnknown_20397B4 + ldr r0, _0808F908 @ =sInPartyMenu movs r1, 0 strb r1, [r0] bl sub_8090C44 @@ -7831,7 +7831,7 @@ _0808F8FE: pop {r1} bx r1 .align 2, 0 -_0808F908: .4byte gUnknown_20397B4 +_0808F908: .4byte sInPartyMenu thumb_func_end sub_808F850 thumb_func_start sub_808F90C @@ -7867,7 +7867,7 @@ _0808F934: thumb_func_start sub_808F948 sub_808F948: @ 808F948 - ldr r2, _0808F968 @ =gUnknown_20397B0 + ldr r2, _0808F968 @ =sPSSData ldr r0, [r2] ldr r1, _0808F96C @ =0x000002c7 adds r0, r1 @@ -7884,7 +7884,7 @@ sub_808F948: @ 808F948 strb r3, [r0] bx lr .align 2, 0 -_0808F968: .4byte gUnknown_20397B0 +_0808F968: .4byte sPSSData _0808F96C: .4byte 0x000002c7 _0808F970: .4byte 0x000002c9 thumb_func_end sub_808F948 @@ -7892,7 +7892,7 @@ _0808F970: .4byte 0x000002c9 thumb_func_start sub_808F974 sub_808F974: @ 808F974 push {lr} - ldr r0, _0808F994 @ =gUnknown_20397B0 + ldr r0, _0808F994 @ =sPSSData ldr r0, [r0] ldr r2, _0808F998 @ =0x000002c7 adds r1, r0, r2 @@ -7907,14 +7907,14 @@ _0808F98E: pop {r0} bx r0 .align 2, 0 -_0808F994: .4byte gUnknown_20397B0 +_0808F994: .4byte sPSSData _0808F998: .4byte 0x000002c7 thumb_func_end sub_808F974 thumb_func_start sub_808F99C sub_808F99C: @ 808F99C push {r4,lr} - ldr r3, _0808F9F0 @ =gUnknown_20397B0 + ldr r3, _0808F9F0 @ =sPSSData ldr r1, [r3] ldr r2, _0808F9F4 @ =0x000002c7 adds r0, r1, r2 @@ -7956,7 +7956,7 @@ _0808F9E8: pop {r0} bx r0 .align 2, 0 -_0808F9F0: .4byte gUnknown_20397B0 +_0808F9F0: .4byte sPSSData _0808F9F4: .4byte 0x000002c7 _0808F9F8: .4byte 0x000002c9 thumb_func_end sub_808F99C @@ -8012,7 +8012,7 @@ _0808FA40: adds r0, r1 lsrs r3, r0, 16 movs r0, 0 - ldr r1, _0808FAA4 @ =gUnknown_20397B0 + ldr r1, _0808FAA4 @ =sPSSData mov r12, r1 _0808FA5C: movs r2, 0 @@ -8050,7 +8050,7 @@ _0808FA68: .align 2, 0 _0808FA9C: .4byte gUnknown_83CE7D8 _0808FAA0: .4byte gUnknown_83CE7C0 -_0808FAA4: .4byte gUnknown_20397B0 +_0808FAA4: .4byte sPSSData thumb_func_end sub_808FA30 thumb_func_start sub_808FAA8 @@ -8077,7 +8077,7 @@ sub_808FAA8: @ 808FAA8 thumb_func_start sub_808FAD4 sub_808FAD4: @ 808FAD4 push {lr} - ldr r0, _0808FAF0 @ =gUnknown_20397B0 + ldr r0, _0808FAF0 @ =sPSSData ldr r0, [r0] ldr r1, _0808FAF4 @ =0x000002c6 adds r0, r1 @@ -8089,14 +8089,14 @@ sub_808FAD4: @ 808FAD4 pop {r0} bx r0 .align 2, 0 -_0808FAF0: .4byte gUnknown_20397B0 +_0808FAF0: .4byte sPSSData _0808FAF4: .4byte 0x000002c6 thumb_func_end sub_808FAD4 thumb_func_start sub_808FAF8 sub_808FAF8: @ 808FAF8 push {r4,r5,lr} - ldr r4, _0808FB14 @ =gUnknown_20397B0 + ldr r4, _0808FB14 @ =sPSSData ldr r0, [r4] ldr r5, _0808FB18 @ =0x000002c6 adds r0, r5 @@ -8109,7 +8109,7 @@ sub_808FAF8: @ 808FAF8 beq _0808FB22 b _0808FB60 .align 2, 0 -_0808FB14: .4byte gUnknown_20397B0 +_0808FB14: .4byte sPSSData _0808FB18: .4byte 0x000002c6 _0808FB1C: cmp r0, 0x2 @@ -8216,16 +8216,16 @@ _0808FBD0: .4byte _0808FC04 .4byte _0808FC1C _0808FBF0: - ldr r0, _0808FBFC @ =gUnknown_20397B0 + ldr r0, _0808FBFC @ =sPSSData ldr r1, [r0] ldr r0, _0808FC00 @ =0x00000cea adds r1, r0 b _0808FC0C .align 2, 0 -_0808FBFC: .4byte gUnknown_20397B0 +_0808FBFC: .4byte sPSSData _0808FC00: .4byte 0x00000cea _0808FC04: - ldr r0, _0808FC14 @ =gUnknown_20397B0 + ldr r0, _0808FC14 @ =sPSSData ldr r1, [r0] ldr r2, _0808FC18 @ =0x000021d0 adds r1, r2 @@ -8234,14 +8234,14 @@ _0808FC0C: bl DynamicPlaceholderTextUtil_SetPlaceholderPtr b _0808FC7C .align 2, 0 -_0808FC14: .4byte gUnknown_20397B0 +_0808FC14: .4byte sPSSData _0808FC18: .4byte 0x000021d0 _0808FC1C: bl sub_809616C lsls r0, 24 cmp r0, 0 beq _0808FC40 - ldr r0, _0808FC38 @ =gUnknown_20397B0 + ldr r0, _0808FC38 @ =sPSSData ldr r4, [r0] ldr r0, _0808FC3C @ =0x000021db adds r4, r0 @@ -8250,10 +8250,10 @@ _0808FC1C: adds r0, r4, 0 b _0808FC4C .align 2, 0 -_0808FC38: .4byte gUnknown_20397B0 +_0808FC38: .4byte sPSSData _0808FC3C: .4byte 0x000021db _0808FC40: - ldr r0, _0808FC54 @ =gUnknown_20397B0 + ldr r0, _0808FC54 @ =sPSSData ldr r1, [r0] ldr r2, _0808FC58 @ =0x000021db adds r0, r1, r2 @@ -8264,7 +8264,7 @@ _0808FC4C: adds r2, r0, 0 b _0808FC62 .align 2, 0 -_0808FC54: .4byte gUnknown_20397B0 +_0808FC54: .4byte sPSSData _0808FC58: .4byte 0x000021db _0808FC5C: .4byte 0x00000d61 _0808FC60: @@ -8276,14 +8276,14 @@ _0808FC62: beq _0808FC60 movs r0, 0xFF strb r0, [r2] - ldr r0, _0808FCDC @ =gUnknown_20397B0 + ldr r0, _0808FCDC @ =sPSSData ldr r1, [r0] ldr r0, _0808FCE0 @ =0x000021db adds r1, r0 movs r0, 0 bl DynamicPlaceholderTextUtil_SetPlaceholderPtr _0808FC7C: - ldr r5, _0808FCDC @ =gUnknown_20397B0 + ldr r5, _0808FCDC @ =sPSSData ldr r0, [r5] movs r4, 0x86 lsls r4, 6 @@ -8324,7 +8324,7 @@ _0808FC7C: pop {r0} bx r0 .align 2, 0 -_0808FCDC: .4byte gUnknown_20397B0 +_0808FCDC: .4byte sPSSData _0808FCE0: .4byte 0x000021db _0808FCE4: .4byte gUnknown_83CEA88 thumb_func_end sub_808FBA4 @@ -8455,11 +8455,11 @@ _0808FDE6: thumb_func_start sub_808FDF0 sub_808FDF0: @ 808FDF0 - ldr r0, _0808FDF8 @ =gUnknown_20397B5 + ldr r0, _0808FDF8 @ =sCurrentBoxOption ldrb r0, [r0] bx lr .align 2, 0 -_0808FDF8: .4byte gUnknown_20397B5 +_0808FDF8: .4byte sCurrentBoxOption thumb_func_end sub_808FDF0 thumb_func_start sub_808FDFC @@ -8469,7 +8469,7 @@ sub_808FDFC: @ 808FDFC lsls r0, 24 cmp r0, 0 bne _0808FE38 - ldr r0, _0808FE24 @ =gUnknown_20397B4 + ldr r0, _0808FE24 @ =sInPartyMenu ldrb r0, [r0] cmp r0, 0 beq _0808FE28 @@ -8481,7 +8481,7 @@ sub_808FDFC: @ 808FDFC bl sub_8095C84 b _0808FE38 .align 2, 0 -_0808FE24: .4byte gUnknown_20397B4 +_0808FE24: .4byte sInPartyMenu _0808FE28: bl sub_8094CC8 adds r1, r0, 0 @@ -8512,13 +8512,13 @@ sub_808FE54: @ 808FE54 bl sub_8094D34 lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0808FE90 @ =gUnknown_20397B0 + ldr r0, _0808FE90 @ =sPSSData ldr r0, [r0] movs r1, 0xCE lsls r1, 4 adds r0, r1 ldrh r7, [r0] - ldr r0, _0808FE94 @ =gUnknown_20397B4 + ldr r0, _0808FE94 @ =sInPartyMenu ldrb r0, [r0] cmp r0, 0 beq _0808FE9C @@ -8534,8 +8534,8 @@ sub_808FE54: @ 808FE54 bl GetMonData b _0808FEB2 .align 2, 0 -_0808FE90: .4byte gUnknown_20397B0 -_0808FE94: .4byte gUnknown_20397B4 +_0808FE90: .4byte sPSSData +_0808FE94: .4byte sInPartyMenu _0808FE98: .4byte gPlayerParty _0808FE9C: bl StorageGetCurrentBox @@ -8549,7 +8549,7 @@ _0808FE9C: _0808FEB2: lsls r0, 16 lsrs r3, r0, 16 - ldr r0, _0808FECC @ =gUnknown_20397B0 + ldr r0, _0808FECC @ =sPSSData ldr r0, [r0] ldr r2, _0808FED0 @ =0x00002228 adds r1, r0, r2 @@ -8561,7 +8561,7 @@ _0808FEB2: beq _0808FEDE b _0808FF6A .align 2, 0 -_0808FECC: .4byte gUnknown_20397B0 +_0808FECC: .4byte sPSSData _0808FED0: .4byte 0x00002228 _0808FED4: cmp r5, 0x2 @@ -8570,7 +8570,7 @@ _0808FED4: beq _0808FF58 b _0808FF6A _0808FEDE: - ldr r0, _0808FEF0 @ =gUnknown_20397B4 + ldr r0, _0808FEF0 @ =sInPartyMenu ldrb r0, [r0] cmp r0, 0 beq _0808FEF4 @@ -8580,7 +8580,7 @@ _0808FEEA: movs r2, 0x16 b _0808FF02 .align 2, 0 -_0808FEF0: .4byte gUnknown_20397B4 +_0808FEF0: .4byte sInPartyMenu _0808FEF4: cmp r4, 0xE beq _0808FEEA @@ -8601,7 +8601,7 @@ _0808FF08: strb r4, [r1, 0x4] movs r0, 0xFF strb r0, [r1, 0x5] - ldr r0, _0808FF24 @ =gUnknown_20397B4 + ldr r0, _0808FF24 @ =sInPartyMenu ldrb r0, [r0] cmp r0, 0 beq _0808FF28 @@ -8610,7 +8610,7 @@ _0808FF08: movs r2, 0x19 b _0808FF64 .align 2, 0 -_0808FF24: .4byte gUnknown_20397B4 +_0808FF24: .4byte sInPartyMenu _0808FF28: cmp r4, 0xE bne _0808FF32 @@ -8659,7 +8659,7 @@ _0808FF6A: thumb_func_start sub_808FF70 sub_808FF70: @ 808FF70 push {r4,lr} - ldr r4, _0808FFA0 @ =gUnknown_20397B8 + ldr r4, _0808FFA0 @ =sLastUsedBox bl StorageGetCurrentBox ldrb r1, [r4] lsls r0, 24 @@ -8680,7 +8680,7 @@ _0808FF9A: pop {r0} bx r0 .align 2, 0 -_0808FFA0: .4byte gUnknown_20397B8 +_0808FFA0: .4byte sLastUsedBox _0808FFA4: .4byte 0x00000843 _0808FFA8: .4byte 0x00004037 thumb_func_end sub_808FF70 @@ -8690,7 +8690,7 @@ sub_808FFAC: @ 808FFAC push {r4-r6,lr} bl LoadMonIconPalettes movs r2, 0 - ldr r3, _0809003C @ =gUnknown_20397B0 + ldr r3, _0809003C @ =sPSSData ldr r5, _08090040 @ =0x00000b04 movs r4, 0 adds r6, r3, 0 @@ -8706,7 +8706,7 @@ _0808FFBC: cmp r2, 0x27 bls _0808FFBC movs r2, 0 - ldr r5, _0809003C @ =gUnknown_20397B0 + ldr r5, _0809003C @ =sPSSData ldr r4, _08090044 @ =0x00000b54 movs r3, 0 _0808FFD8: @@ -8721,7 +8721,7 @@ _0808FFD8: cmp r2, 0x27 bls _0808FFD8 movs r2, 0 - ldr r5, _0809003C @ =gUnknown_20397B0 + ldr r5, _0809003C @ =sPSSData ldr r4, _08090048 @ =0x00000a6c movs r3, 0 _0808FFF4: @@ -8736,7 +8736,7 @@ _0808FFF4: cmp r2, 0x5 bls _0808FFF4 movs r2, 0 - ldr r5, _0809003C @ =gUnknown_20397B0 + ldr r5, _0809003C @ =sPSSData ldr r4, _0809004C @ =0x00000a84 movs r3, 0 _08090010: @@ -8762,7 +8762,7 @@ _08090010: pop {r0} bx r0 .align 2, 0 -_0809003C: .4byte gUnknown_20397B0 +_0809003C: .4byte sPSSData _08090040: .4byte 0x00000b04 _08090044: .4byte 0x00000b54 _08090048: .4byte 0x00000a6c @@ -8790,7 +8790,7 @@ _08090068: sub_8090070: @ 8090070 push {r4-r6,lr} sub sp, 0x8 - ldr r5, _080900C4 @ =gUnknown_20397B0 + ldr r5, _080900C4 @ =sPSSData ldr r0, [r5] ldr r4, _080900C8 @ =0x000020a0 adds r0, r4 @@ -8826,7 +8826,7 @@ sub_8090070: @ 8090070 pop {r0} bx r0 .align 2, 0 -_080900C4: .4byte gUnknown_20397B0 +_080900C4: .4byte sPSSData _080900C8: .4byte 0x000020a0 _080900CC: .4byte 0x00000a68 _080900D0: .4byte sub_80911B0 @@ -8888,7 +8888,7 @@ _080900F4: adds r0, r4, 0 asrs r3, 16 bl sub_80912E0 - ldr r1, _08090154 @ =gUnknown_20397B0 + ldr r1, _08090154 @ =sPSSData ldr r1, [r1] mov r3, r8 lsls r2, r3, 2 @@ -8898,10 +8898,10 @@ _080900F4: str r0, [r1] b _0809016C .align 2, 0 -_08090154: .4byte gUnknown_20397B0 +_08090154: .4byte sPSSData _08090158: .4byte 0x00000a84 _0809015C: - ldr r0, _080901E4 @ =gUnknown_20397B0 + ldr r0, _080901E4 @ =sPSSData ldr r0, [r0] mov r2, r8 lsls r1, r2, 2 @@ -8928,7 +8928,7 @@ _0809016C: lsrs r7, r0, 16 cmp r7, 0x4 bls _080900EE - ldr r0, _080901E4 @ =gUnknown_20397B0 + ldr r0, _080901E4 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -8944,7 +8944,7 @@ _080901A2: bl GetBoxMonDataFromAnyBox cmp r0, 0 bne _080901C8 - ldr r0, _080901E4 @ =gUnknown_20397B0 + ldr r0, _080901E4 @ =sPSSData ldr r0, [r0] lsls r1, r6, 2 ldr r3, _080901E8 @ =0x00000a84 @@ -8972,7 +8972,7 @@ _080901D2: pop {r0} bx r0 .align 2, 0 -_080901E4: .4byte gUnknown_20397B0 +_080901E4: .4byte sPSSData _080901E8: .4byte 0x00000a84 thumb_func_end sub_80900D4 @@ -9033,7 +9033,7 @@ sub_80901EC: @ 80901EC adds r3, r4, 0 bl sub_80912E0 adds r3, r0, 0 - ldr r0, _08090294 @ =gUnknown_20397B0 + ldr r0, _08090294 @ =sPSSData ldr r2, [r0] lsls r1, r7, 2 ldr r4, _08090298 @ =0x00000a84 @@ -9058,7 +9058,7 @@ _08090286: pop {r0} bx r0 .align 2, 0 -_08090294: .4byte gUnknown_20397B0 +_08090294: .4byte sPSSData _08090298: .4byte 0x00000a84 thumb_func_end sub_80901EC @@ -9068,7 +9068,7 @@ sub_809029C: @ 809029C lsls r0, 16 lsrs r3, r0, 16 movs r2, 0 - ldr r7, _080902D4 @ =gUnknown_20397B0 + ldr r7, _080902D4 @ =sPSSData ldr r6, _080902D8 @ =0x00000a84 movs r5, 0x1 ldr r4, _080902DC @ =sub_8090324 @@ -9095,7 +9095,7 @@ _080902C4: pop {r0} bx r0 .align 2, 0 -_080902D4: .4byte gUnknown_20397B0 +_080902D4: .4byte sPSSData _080902D8: .4byte 0x00000a84 _080902DC: .4byte sub_8090324 thumb_func_end sub_809029C @@ -9117,7 +9117,7 @@ sub_80902E0: @ 80902E0 strh r0, [r2, 0x20] b _08090312 _080902FC: - ldr r0, _08090318 @ =gUnknown_20397B0 + ldr r0, _08090318 @ =sPSSData ldr r1, [r0] ldr r3, _0809031C @ =0x00000c62 adds r1, r3 @@ -9132,7 +9132,7 @@ _08090312: pop {r0} bx r0 .align 2, 0 -_08090318: .4byte gUnknown_20397B0 +_08090318: .4byte sPSSData _0809031C: .4byte 0x00000c62 _08090320: .4byte SpriteCallbackDummy thumb_func_end sub_80902E0 @@ -9177,7 +9177,7 @@ sub_809035C: @ 809035C lsls r0, 24 lsrs r5, r0, 24 movs r6, 0 - ldr r7, _0809039C @ =gUnknown_20397B0 + ldr r7, _0809039C @ =sPSSData _08090366: ldr r0, [r7] lsls r4, r5, 2 @@ -9207,7 +9207,7 @@ _08090386: pop {r0} bx r0 .align 2, 0 -_0809039C: .4byte gUnknown_20397B0 +_0809039C: .4byte sPSSData _080903A0: .4byte 0x00000a84 thumb_func_end sub_809035C @@ -9253,7 +9253,7 @@ sub_80903A4: @ 80903A4 movs r3, 0 mov r9, r3 adds r5, r0, 0 - ldr r1, _08090488 @ =gUnknown_20397B0 + ldr r1, _08090488 @ =sPSSData ldr r0, [r1] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -9262,7 +9262,7 @@ sub_80903A4: @ 80903A4 lsls r2, 16 mov r10, r2 _08090404: - ldr r6, _08090488 @ =gUnknown_20397B0 + ldr r6, _08090488 @ =sPSSData ldr r2, [r6] lsls r0, r5, 1 ldr r3, _0809048C @ =0x00000ba4 @@ -9288,7 +9288,7 @@ _08090404: asrs r2, r6, 16 bl sub_80912E0 adds r2, r0, 0 - ldr r1, _08090488 @ =gUnknown_20397B0 + ldr r1, _08090488 @ =sPSSData ldr r0, [r1] ldr r3, _08090490 @ =0x00000a84 adds r0, r3 @@ -9329,7 +9329,7 @@ _08090470: bge _08090404 b _08090550 .align 2, 0 -_08090488: .4byte gUnknown_20397B0 +_08090488: .4byte sPSSData _0809048C: .4byte 0x00000ba4 _08090490: .4byte 0x00000a84 _08090494: .4byte sub_80902E0 @@ -9452,7 +9452,7 @@ sub_8090574: @ 8090574 lsrs r0, 24 lsls r4, 24 lsrs r4, 24 - ldr r6, _080905D0 @ =gUnknown_20397B0 + ldr r6, _080905D0 @ =sPSSData ldr r1, [r6] ldr r2, _080905D4 @ =0x00000c66 adds r1, r2 @@ -9492,7 +9492,7 @@ sub_8090574: @ 8090574 movs r1, 0 b _080905F4 .align 2, 0 -_080905D0: .4byte gUnknown_20397B0 +_080905D0: .4byte sPSSData _080905D4: .4byte 0x00000c66 _080905D8: .4byte 0x00000c67 _080905DC: .4byte 0x00000c65 @@ -9506,7 +9506,7 @@ _080905EC: movs r1, 0x5 _080905F4: strb r1, [r0] - ldr r0, _08090624 @ =gUnknown_20397B0 + ldr r0, _08090624 @ =sPSSData ldr r2, [r0] ldr r7, _08090620 @ =0x00000c64 adds r0, r2, r7 @@ -9528,14 +9528,14 @@ _080905F4: bx r0 .align 2, 0 _08090620: .4byte 0x00000c64 -_08090624: .4byte gUnknown_20397B0 +_08090624: .4byte sPSSData _08090628: .4byte 0x00000c5e thumb_func_end sub_8090574 thumb_func_start sub_809062C sub_809062C: @ 809062C push {r4-r6,lr} - ldr r5, _08090658 @ =gUnknown_20397B0 + ldr r5, _08090658 @ =sPSSData ldr r0, [r5] ldr r4, _0809065C @ =0x00000c5c adds r1, r0, r4 @@ -9557,7 +9557,7 @@ _08090640: beq _0809066C b _08090782 .align 2, 0 -_08090658: .4byte gUnknown_20397B0 +_08090658: .4byte sPSSData _0809065C: .4byte 0x00000c5c _08090660: .4byte 0x00000c66 _08090664: @@ -9653,7 +9653,7 @@ _0809070C: cmp r0, 0 bne _08090740 _08090718: - ldr r0, _08090738 @ =gUnknown_20397B0 + ldr r0, _08090738 @ =sPSSData ldr r1, [r0] ldr r2, _0809073C @ =0x00000c66 adds r1, r2 @@ -9666,10 +9666,10 @@ _08090728: .4byte 0x00000c5e _0809072C: .4byte 0x00000c64 _08090730: .4byte 0x00000c62 _08090734: .4byte 0x00000c65 -_08090738: .4byte gUnknown_20397B0 +_08090738: .4byte sPSSData _0809073C: .4byte 0x00000c66 _08090740: - ldr r3, _08090760 @ =gUnknown_20397B0 + ldr r3, _08090760 @ =sPSSData ldr r0, [r3] ldr r6, _08090764 @ =0x00000c64 adds r1, r0, r6 @@ -9686,7 +9686,7 @@ _08090740: strb r2, [r0] b _0809078C .align 2, 0 -_08090760: .4byte gUnknown_20397B0 +_08090760: .4byte sPSSData _08090764: .4byte 0x00000c64 _08090768: .4byte 0x00000c65 _0809076C: .4byte 0x00000c66 @@ -9723,7 +9723,7 @@ sub_8090794: @ 8090794 lsrs r6, r0, 24 movs r5, 0 movs r0, 0 - ldr r1, _08090810 @ =gUnknown_20397B0 + ldr r1, _08090810 @ =sPSSData mov r9, r1 _080907A8: adds r0, 0x1 @@ -9766,7 +9766,7 @@ _080907EA: mov r0, r8 cmp r0, 0x4 ble _080907A8 - ldr r0, _08090810 @ =gUnknown_20397B0 + ldr r0, _08090810 @ =sPSSData ldr r0, [r0] ldr r1, _08090818 @ =0x00000c58 adds r0, r1 @@ -9778,7 +9778,7 @@ _080907EA: pop {r0} bx r0 .align 2, 0 -_08090810: .4byte gUnknown_20397B0 +_08090810: .4byte sPSSData _08090814: .4byte 0x00000ba4 _08090818: .4byte 0x00000c58 thumb_func_end sub_8090794 @@ -9787,7 +9787,7 @@ _08090818: .4byte 0x00000c58 sub_809081C: @ 809081C push {r4,r5,lr} lsls r0, 24 - ldr r5, _08090848 @ =gUnknown_20397B0 + ldr r5, _08090848 @ =sPSSData ldr r1, [r5] lsrs r4, r0, 22 ldr r0, _0809084C @ =0x00000a84 @@ -9808,7 +9808,7 @@ _08090842: pop {r0} bx r0 .align 2, 0 -_08090848: .4byte gUnknown_20397B0 +_08090848: .4byte sPSSData _0809084C: .4byte 0x00000a84 thumb_func_end sub_809081C @@ -9818,7 +9818,7 @@ sub_8090850: @ 8090850 lsls r0, 24 lsls r1, 24 lsrs r2, r1, 24 - ldr r1, _08090884 @ =gUnknown_20397B0 + ldr r1, _08090884 @ =sPSSData ldr r1, [r1] lsrs r0, 22 ldr r3, _08090888 @ =0x00000a84 @@ -9841,7 +9841,7 @@ _0809087E: pop {r0} bx r0 .align 2, 0 -_08090884: .4byte gUnknown_20397B0 +_08090884: .4byte sPSSData _08090888: .4byte 0x00000a84 thumb_func_end sub_8090850 @@ -9872,7 +9872,7 @@ sub_809088C: @ 809088C movs r2, 0x68 movs r3, 0x40 bl sub_80912E0 - ldr r1, _08090930 @ =gUnknown_20397B0 + ldr r1, _08090930 @ =sPSSData ldr r1, [r1] ldr r2, _08090934 @ =0x00000a6c adds r1, r2 @@ -9911,7 +9911,7 @@ _080908D2: adds r0, r5, 0 movs r2, 0x98 bl sub_80912E0 - ldr r1, _08090930 @ =gUnknown_20397B0 + ldr r1, _08090930 @ =sPSSData ldr r1, [r1] lsls r2, r6, 2 ldr r3, _08090934 @ =0x00000a6c @@ -9924,10 +9924,10 @@ _080908D2: b _08090946 .align 2, 0 _0809092C: .4byte gPlayerParty -_08090930: .4byte gUnknown_20397B0 +_08090930: .4byte sPSSData _08090934: .4byte 0x00000a6c _08090938: - ldr r0, _080909E8 @ =gUnknown_20397B0 + ldr r0, _080909E8 @ =sPSSData ldr r0, [r0] lsls r1, r6, 2 ldr r2, _080909EC @ =0x00000a6c @@ -9940,7 +9940,7 @@ _08090946: lsrs r6, r0, 16 cmp r6, 0x5 bls _080908D2 - ldr r3, _080909E8 @ =gUnknown_20397B0 + ldr r3, _080909E8 @ =sPSSData mov r0, r8 cmp r0, 0 bne _0809098A @@ -10020,7 +10020,7 @@ _080909DA: pop {r0} bx r0 .align 2, 0 -_080909E8: .4byte gUnknown_20397B0 +_080909E8: .4byte sPSSData _080909EC: .4byte 0x00000a6c _080909F0: .4byte gPlayerParty thumb_func_end sub_809088C @@ -10029,7 +10029,7 @@ _080909F0: .4byte gPlayerParty sub_80909F4: @ 80909F4 push {r4-r7,lr} sub sp, 0x4 - ldr r0, _08090A54 @ =gUnknown_20397B0 + ldr r0, _08090A54 @ =sPSSData ldr r1, [r0] ldr r2, _08090A58 @ =0x00000c5a adds r1, r2 @@ -10078,21 +10078,21 @@ _08090A42: pop {r0} bx r0 .align 2, 0 -_08090A54: .4byte gUnknown_20397B0 +_08090A54: .4byte sPSSData _08090A58: .4byte 0x00000c5a _08090A5C: .4byte 0x00000a6c thumb_func_end sub_80909F4 thumb_func_start sub_8090A60 sub_8090A60: @ 8090A60 - ldr r0, _08090A6C @ =gUnknown_20397B0 + ldr r0, _08090A6C @ =sPSSData ldr r0, [r0] ldr r1, _08090A70 @ =0x00000c5a adds r0, r1 ldrb r0, [r0] bx lr .align 2, 0 -_08090A6C: .4byte gUnknown_20397B0 +_08090A6C: .4byte sPSSData _08090A70: .4byte 0x00000c5a thumb_func_end sub_8090A60 @@ -10206,7 +10206,7 @@ _08090B32: strh r0, [r3, 0x22] ldr r0, _08090B5C @ =SpriteCallbackDummy str r0, [r3, 0x1C] - ldr r0, _08090B60 @ =gUnknown_20397B0 + ldr r0, _08090B60 @ =sPSSData ldr r2, [r0] movs r0, 0x30 ldrsh r1, [r3, r0] @@ -10226,7 +10226,7 @@ _08090B54: bx r0 .align 2, 0 _08090B5C: .4byte SpriteCallbackDummy -_08090B60: .4byte gUnknown_20397B0 +_08090B60: .4byte sPSSData _08090B64: .4byte 0x00000a6c _08090B68: .4byte 0x00000c5a thumb_func_end sub_8090AE0 @@ -10234,7 +10234,7 @@ _08090B68: .4byte 0x00000c5a thumb_func_start sub_8090B6C sub_8090B6C: @ 8090B6C push {r4,lr} - ldr r4, _08090B90 @ =gUnknown_20397B0 + ldr r4, _08090B90 @ =sPSSData ldr r0, [r4] ldr r1, _08090B94 @ =0x00000a68 adds r0, r1 @@ -10252,7 +10252,7 @@ _08090B8A: pop {r0} bx r0 .align 2, 0 -_08090B90: .4byte gUnknown_20397B0 +_08090B90: .4byte sPSSData _08090B94: .4byte 0x00000a68 thumb_func_end sub_8090B6C @@ -10260,7 +10260,7 @@ _08090B94: .4byte 0x00000a68 sub_8090B98: @ 8090B98 push {r4-r6,lr} movs r3, 0 - ldr r6, _08090BEC @ =gUnknown_20397B0 + ldr r6, _08090BEC @ =sPSSData lsls r0, 16 asrs r4, r0, 16 movs r5, 0x5 @@ -10302,7 +10302,7 @@ _08090BA6: strb r1, [r0] b _08090BFE .align 2, 0 -_08090BEC: .4byte gUnknown_20397B0 +_08090BEC: .4byte sPSSData _08090BF0: .4byte 0x00000a6c _08090BF4: adds r2, 0x3E @@ -10325,7 +10325,7 @@ _08090BFE: sub_8090C10: @ 8090C10 push {r4,r5,lr} lsls r0, 24 - ldr r5, _08090C3C @ =gUnknown_20397B0 + ldr r5, _08090C3C @ =sPSSData ldr r1, [r5] lsrs r4, r0, 22 ldr r0, _08090C40 @ =0x00000a6c @@ -10346,7 +10346,7 @@ _08090C36: pop {r0} bx r0 .align 2, 0 -_08090C3C: .4byte gUnknown_20397B0 +_08090C3C: .4byte sPSSData _08090C40: .4byte 0x00000a6c thumb_func_end sub_8090C10 @@ -10354,7 +10354,7 @@ _08090C40: .4byte 0x00000a6c sub_8090C44: @ 8090C44 push {r4-r6,lr} movs r5, 0 - ldr r6, _08090C7C @ =gUnknown_20397B0 + ldr r6, _08090C7C @ =sPSSData _08090C4A: ldr r0, [r6] lsls r4, r5, 2 @@ -10381,7 +10381,7 @@ _08090C6A: pop {r0} bx r0 .align 2, 0 -_08090C7C: .4byte gUnknown_20397B0 +_08090C7C: .4byte sPSSData _08090C80: .4byte 0x00000a6c thumb_func_end sub_8090C44 @@ -10391,7 +10391,7 @@ sub_8090C84: @ 8090C84 lsls r0, 24 lsls r1, 24 lsrs r2, r1, 24 - ldr r1, _08090CB8 @ =gUnknown_20397B0 + ldr r1, _08090CB8 @ =sPSSData ldr r1, [r1] lsrs r0, 22 ldr r3, _08090CBC @ =0x00000a6c @@ -10414,7 +10414,7 @@ _08090CB2: pop {r0} bx r0 .align 2, 0 -_08090CB8: .4byte gUnknown_20397B0 +_08090CB8: .4byte sPSSData _08090CBC: .4byte 0x00000a6c thumb_func_end sub_8090C84 @@ -10428,7 +10428,7 @@ sub_8090CC0: @ 8090CC0 adds r5, r1, 0 cmp r4, 0 bne _08090CF0 - ldr r3, _08090CE8 @ =gUnknown_20397B0 + ldr r3, _08090CE8 @ =sPSSData ldr r0, [r3] ldr r5, _08090CEC @ =0x00000a68 adds r2, r0, r5 @@ -10441,12 +10441,12 @@ sub_8090CC0: @ 8090CC0 str r4, [r0] b _08090D0C .align 2, 0 -_08090CE8: .4byte gUnknown_20397B0 +_08090CE8: .4byte sPSSData _08090CEC: .4byte 0x00000a68 _08090CF0: cmp r4, 0x1 bne _08090D42 - ldr r3, _08090D48 @ =gUnknown_20397B0 + ldr r3, _08090D48 @ =sPSSData ldr r0, [r3] ldr r1, _08090D4C @ =0x00000a68 adds r2, r0, r1 @@ -10490,7 +10490,7 @@ _08090D42: pop {r0} bx r0 .align 2, 0 -_08090D48: .4byte gUnknown_20397B0 +_08090D48: .4byte sPSSData _08090D4C: .4byte 0x00000a68 _08090D50: .4byte 0x00000a84 _08090D54: .4byte sub_80911B0 @@ -10505,7 +10505,7 @@ sub_8090D58: @ 8090D58 lsrs r6, r1, 24 cmp r0, 0xE bne _08090DA4 - ldr r3, _08090D98 @ =gUnknown_20397B0 + ldr r3, _08090D98 @ =sPSSData ldr r1, [r3] lsls r5, r6, 2 ldr r4, _08090D9C @ =0x00000a6c @@ -10531,11 +10531,11 @@ sub_8090D58: @ 8090D58 strb r1, [r0] b _08090DE0 .align 2, 0 -_08090D98: .4byte gUnknown_20397B0 +_08090D98: .4byte sPSSData _08090D9C: .4byte 0x00000a6c _08090DA0: .4byte 0x00000a68 _08090DA4: - ldr r5, _08090DF8 @ =gUnknown_20397B0 + ldr r5, _08090DF8 @ =sPSSData ldr r1, [r5] lsls r4, r6, 2 ldr r3, _08090DFC @ =0x00000a84 @@ -10577,7 +10577,7 @@ _08090DE0: pop {r0} bx r0 .align 2, 0 -_08090DF8: .4byte gUnknown_20397B0 +_08090DF8: .4byte sPSSData _08090DFC: .4byte 0x00000a84 _08090E00: .4byte 0x00000a68 _08090E04: .4byte SpriteCallbackDummy @@ -10592,7 +10592,7 @@ sub_8090E08: @ 8090E08 lsrs r4, r1, 24 cmp r0, 0xE bne _08090E30 - ldr r3, _08090E24 @ =gUnknown_20397B0 + ldr r3, _08090E24 @ =sPSSData ldr r1, [r3] ldr r0, _08090E28 @ =0x00000afc adds r2, r1, r0 @@ -10600,11 +10600,11 @@ sub_8090E08: @ 8090E08 ldr r4, _08090E2C @ =0x00000a6c b _08090E3C .align 2, 0 -_08090E24: .4byte gUnknown_20397B0 +_08090E24: .4byte sPSSData _08090E28: .4byte 0x00000afc _08090E2C: .4byte 0x00000a6c _08090E30: - ldr r3, _08090E5C @ =gUnknown_20397B0 + ldr r3, _08090E5C @ =sPSSData ldr r1, [r3] ldr r0, _08090E60 @ =0x00000afc adds r2, r1, r0 @@ -10628,7 +10628,7 @@ _08090E3C: pop {r0} bx r0 .align 2, 0 -_08090E5C: .4byte gUnknown_20397B0 +_08090E5C: .4byte sPSSData _08090E60: .4byte 0x00000afc _08090E64: .4byte 0x00000a84 _08090E68: .4byte 0x00000a68 @@ -10642,7 +10642,7 @@ sub_8090E74: @ 8090E74 mov r7, r9 mov r6, r8 push {r6,r7} - ldr r6, _08090E90 @ =gUnknown_20397B0 + ldr r6, _08090E90 @ =sPSSData ldr r0, [r6] ldr r1, _08090E94 @ =0x00000c59 mov r9, r1 @@ -10653,7 +10653,7 @@ sub_8090E74: @ 8090E74 movs r0, 0 b _08090FA0 .align 2, 0 -_08090E90: .4byte gUnknown_20397B0 +_08090E90: .4byte sPSSData _08090E94: .4byte 0x00000c59 _08090E98: adds r0, 0x1 @@ -10828,7 +10828,7 @@ _08090FDE: beq _0809101C b _08091072 _08090FE4: - ldr r3, _08090FF4 @ =gUnknown_20397B0 + ldr r3, _08090FF4 @ =sPSSData ldr r1, [r3] movs r0, 0xB0 lsls r0, 4 @@ -10837,10 +10837,10 @@ _08090FE4: ldr r4, _08090FF8 @ =0x00000a6c b _0809100A .align 2, 0 -_08090FF4: .4byte gUnknown_20397B0 +_08090FF4: .4byte sPSSData _08090FF8: .4byte 0x00000a6c _08090FFC: - ldr r3, _08091014 @ =gUnknown_20397B0 + ldr r3, _08091014 @ =sPSSData ldr r1, [r3] movs r0, 0xB0 lsls r0, 4 @@ -10854,10 +10854,10 @@ _0809100A: adds r4, r3, 0 b _0809102E .align 2, 0 -_08091014: .4byte gUnknown_20397B0 +_08091014: .4byte sPSSData _08091018: .4byte 0x00000a84 _0809101C: - ldr r0, _08091078 @ =gUnknown_20397B0 + ldr r0, _08091078 @ =sPSSData ldr r1, [r0] movs r3, 0xB0 lsls r3, 4 @@ -10904,7 +10904,7 @@ _08091072: pop {r0} bx r0 .align 2, 0 -_08091078: .4byte gUnknown_20397B0 +_08091078: .4byte sPSSData _0809107C: .4byte 0x00000a68 _08091080: .4byte gUnknown_83CEC38 thumb_func_end sub_8090FC4 @@ -10912,7 +10912,7 @@ _08091080: .4byte gUnknown_83CEC38 thumb_func_start sub_8091084 sub_8091084: @ 8091084 push {lr} - ldr r0, _080910AC @ =gUnknown_20397B0 + ldr r0, _080910AC @ =sPSSData ldr r0, [r0] movs r1, 0xB0 lsls r1, 4 @@ -10932,7 +10932,7 @@ _080910A6: movs r0, 0 b _080910C6 .align 2, 0 -_080910AC: .4byte gUnknown_20397B0 +_080910AC: .4byte sPSSData _080910B0: adds r0, r1, 0 adds r0, 0x3F @@ -10954,7 +10954,7 @@ _080910C6: thumb_func_start sub_80910CC sub_80910CC: @ 80910CC push {r4,lr} - ldr r4, _08091110 @ =gUnknown_20397B0 + ldr r4, _08091110 @ =sPSSData ldr r0, [r4] movs r1, 0xB0 lsls r1, 4 @@ -10986,13 +10986,13 @@ _08091108: pop {r0} bx r0 .align 2, 0 -_08091110: .4byte gUnknown_20397B0 +_08091110: .4byte sPSSData thumb_func_end sub_80910CC thumb_func_start sub_8091114 sub_8091114: @ 8091114 push {lr} - ldr r3, _0809114C @ =gUnknown_20397B0 + ldr r3, _0809114C @ =sPSSData ldr r0, [r3] movs r1, 0xB0 lsls r1, 4 @@ -11020,13 +11020,13 @@ _08091148: pop {r0} bx r0 .align 2, 0 -_0809114C: .4byte gUnknown_20397B0 +_0809114C: .4byte sPSSData thumb_func_end sub_8091114 thumb_func_start sub_8091150 sub_8091150: @ 8091150 push {lr} - ldr r0, _08091168 @ =gUnknown_20397B0 + ldr r0, _08091168 @ =sPSSData ldr r0, [r0] movs r1, 0xB0 lsls r1, 4 @@ -11037,7 +11037,7 @@ sub_8091150: @ 8091150 movs r0, 0 b _08091180 .align 2, 0 -_08091168: .4byte gUnknown_20397B0 +_08091168: .4byte sPSSData _0809116C: ldr r0, [r0] adds r0, 0x3F @@ -11059,7 +11059,7 @@ _08091180: sub_8091184: @ 8091184 lsls r0, 24 lsrs r0, 24 - ldr r1, _080911A8 @ =gUnknown_20397B0 + ldr r1, _080911A8 @ =sPSSData ldr r1, [r1] ldr r2, _080911AC @ =0x00000a68 adds r1, r2 @@ -11075,13 +11075,13 @@ sub_8091184: @ 8091184 strb r1, [r3, 0x5] bx lr .align 2, 0 -_080911A8: .4byte gUnknown_20397B0 +_080911A8: .4byte sPSSData _080911AC: .4byte 0x00000a68 thumb_func_end sub_8091184 thumb_func_start sub_80911B0 sub_80911B0: @ 80911B0 - ldr r1, _080911D0 @ =gUnknown_20397B0 + ldr r1, _080911D0 @ =sPSSData ldr r1, [r1] movs r2, 0xCB lsls r2, 4 @@ -11097,7 +11097,7 @@ sub_80911B0: @ 80911B0 strh r1, [r0, 0x22] bx lr .align 2, 0 -_080911D0: .4byte gUnknown_20397B0 +_080911D0: .4byte sPSSData thumb_func_end sub_80911B0 thumb_func_start sub_80911D4 @@ -11106,7 +11106,7 @@ sub_80911D4: @ 80911D4 lsls r0, 16 lsrs r3, r0, 16 movs r4, 0 - ldr r1, _0809123C @ =gUnknown_20397B0 + ldr r1, _0809123C @ =sPSSData ldr r0, [r1] ldr r2, _08091240 @ =0x00000b54 adds r0, r2 @@ -11159,7 +11159,7 @@ _08091234: ldr r0, _08091244 @ =0x0000ffff b _0809127A .align 2, 0 -_0809123C: .4byte gUnknown_20397B0 +_0809123C: .4byte sPSSData _08091240: .4byte 0x00000b54 _08091244: .4byte 0x0000ffff _08091248: @@ -11203,7 +11203,7 @@ sub_8091290: @ 8091290 lsls r0, 16 lsrs r5, r0, 16 movs r3, 0 - ldr r6, _080912C4 @ =gUnknown_20397B0 + ldr r6, _080912C4 @ =sPSSData _0809129A: ldr r1, [r6] lsls r2, r3, 1 @@ -11226,7 +11226,7 @@ _0809129A: strh r0, [r4] b _080912DA .align 2, 0 -_080912C4: .4byte gUnknown_20397B0 +_080912C4: .4byte sPSSData _080912C8: .4byte 0x00000b54 _080912CC: .4byte 0x00000b04 _080912D0: @@ -11432,7 +11432,7 @@ _0809144C: .4byte _080914D6 .4byte _080914FC _08091460: - ldr r1, _0809148C @ =gUnknown_20397B0 + ldr r1, _0809148C @ =sPSSData ldr r0, [r1] ldr r2, _08091490 @ =0x000002d2 adds r0, r2 @@ -11453,7 +11453,7 @@ _08091460: strh r0, [r4, 0xA] b _08091508 .align 2, 0 -_0809148C: .4byte gUnknown_20397B0 +_0809148C: .4byte sPSSData _08091490: .4byte 0x000002d2 _08091494: .4byte 0x00004abc _08091498: @@ -11466,7 +11466,7 @@ _08091498: negs r1, r1 cmp r0, r1 beq _0809150E - ldr r0, _080914C4 @ =gUnknown_20397B0 + ldr r0, _080914C4 @ =sPSSData ldr r1, [r0] ldr r2, _080914C8 @ =0x00004abc adds r1, r2 @@ -11476,7 +11476,7 @@ _08091498: bl ShowBg b _08091508 .align 2, 0 -_080914C4: .4byte gUnknown_20397B0 +_080914C4: .4byte sPSSData _080914C8: .4byte 0x00004abc _080914CC: ldrb r0, [r4, 0xC] @@ -11529,7 +11529,7 @@ sub_8091514: @ 8091514 lsls r0, 24 lsrs r0, 24 adds r6, r0, 0 - ldr r5, _080915D8 @ =gUnknown_20397B0 + ldr r5, _080915D8 @ =sPSSData ldr r2, [r5] lsls r0, r6, 24 asrs r3, r0, 24 @@ -11621,7 +11621,7 @@ _0809159A: pop {r0} bx r0 .align 2, 0 -_080915D8: .4byte gUnknown_20397B0 +_080915D8: .4byte sPSSData _080915DC: .4byte 0x000002ce _080915E0: .4byte 0x000002d3 _080915E4: .4byte 0x000002d6 @@ -11635,7 +11635,7 @@ _080915F8: .4byte 0x00000a63 thumb_func_start sub_80915FC sub_80915FC: @ 80915FC push {r4-r6,lr} - ldr r4, _08091618 @ =gUnknown_20397B0 + ldr r4, _08091618 @ =sPSSData ldr r1, [r4] ldr r5, _0809161C @ =0x00000a63 adds r0, r1, r5 @@ -11648,7 +11648,7 @@ sub_80915FC: @ 80915FC beq _08091626 b _080916D4 .align 2, 0 -_08091618: .4byte gUnknown_20397B0 +_08091618: .4byte sPSSData _0809161C: .4byte 0x00000a63 _08091620: cmp r0, 0x2 @@ -11673,7 +11673,7 @@ _08091644: bl sub_809196C cmp r0, 0 beq _080916E2 - ldr r6, _0809168C @ =gUnknown_20397B0 + ldr r6, _0809168C @ =sPSSData ldr r1, [r6] ldr r4, _08091688 @ =0x00000a64 adds r0, r1, r4 @@ -11701,7 +11701,7 @@ _08091644: b _080916D4 .align 2, 0 _08091688: .4byte 0x00000a64 -_0809168C: .4byte gUnknown_20397B0 +_0809168C: .4byte sPSSData _08091690: .4byte 0x00000a65 _08091694: bl sub_809062C @@ -11735,7 +11735,7 @@ _080916D0: adds r0, r5, 0 b _080916E4 _080916D4: - ldr r0, _080916EC @ =gUnknown_20397B0 + ldr r0, _080916EC @ =sPSSData ldr r1, [r0] ldr r4, _080916F0 @ =0x00000a63 adds r1, r4 @@ -11749,7 +11749,7 @@ _080916E4: pop {r1} bx r1 .align 2, 0 -_080916EC: .4byte gUnknown_20397B0 +_080916EC: .4byte sPSSData _080916F0: .4byte 0x00000a63 thumb_func_end sub_80915FC @@ -11800,7 +11800,7 @@ sub_8091730: @ 8091730 lsrs r0, 24 adds r1, r4, 0 bl sub_808BDBC - ldr r0, _08091758 @ =gUnknown_20397B0 + ldr r0, _08091758 @ =sPSSData ldr r0, [r0] ldr r1, _0809175C @ =0x00000a62 adds r0, r1 @@ -11810,7 +11810,7 @@ sub_8091730: @ 8091730 pop {r0} bx r0 .align 2, 0 -_08091758: .4byte gUnknown_20397B0 +_08091758: .4byte sPSSData _0809175C: .4byte 0x00000a62 thumb_func_end sub_8091730 @@ -11818,7 +11818,7 @@ _0809175C: .4byte 0x00000a62 sub_8091760: @ 8091760 push {r4,lr} sub sp, 0x4 - ldr r1, _08091780 @ =gUnknown_20397B0 + ldr r1, _08091780 @ =sPSSData ldr r0, [r1] ldr r2, _08091784 @ =0x00000a62 adds r0, r2 @@ -11832,7 +11832,7 @@ sub_8091760: @ 8091760 ldr r0, [r0] mov pc, r0 .align 2, 0 -_08091780: .4byte gUnknown_20397B0 +_08091780: .4byte sPSSData _08091784: .4byte 0x00000a62 _08091788: .4byte _0809178C .align 2, 0 @@ -11877,7 +11877,7 @@ _080917E2: cmp r0, 0x1 bne _08091844 bl sub_8091EF0 - ldr r4, _08091810 @ =gUnknown_20397B0 + ldr r4, _08091810 @ =sPSSData ldr r0, [r4] movs r1, 0xE7 lsls r1, 3 @@ -11894,7 +11894,7 @@ _080917E2: adds r1, r2 b _0809182E .align 2, 0 -_08091810: .4byte gUnknown_20397B0 +_08091810: .4byte sPSSData _08091814: .4byte 0x0000ffff _08091818: .4byte 0x00000a62 _0809181C: @@ -11903,7 +11903,7 @@ _0809181C: cmp r0, 0 bne _08091844 _08091826: - ldr r0, _08091838 @ =gUnknown_20397B0 + ldr r0, _08091838 @ =sPSSData ldr r1, [r0] ldr r0, _0809183C @ =0x00000a62 adds r1, r0 @@ -11913,7 +11913,7 @@ _0809182E: strb r0, [r1] b _08091844 .align 2, 0 -_08091838: .4byte gUnknown_20397B0 +_08091838: .4byte sPSSData _0809183C: .4byte 0x00000a62 _08091840: movs r0, 0 @@ -11931,7 +11931,7 @@ _08091846: sub_8091850: @ 8091850 push {r4-r7,lr} sub sp, 0x4 - ldr r4, _08091904 @ =gUnknown_20397B0 + ldr r4, _08091904 @ =sPSSData ldr r2, [r4] ldr r3, _08091908 @ =0x000006f9 adds r2, r3 @@ -11965,7 +11965,7 @@ _0809188A: adds r0, r1 bl sub_8091A24 _08091896: - ldr r6, _08091904 @ =gUnknown_20397B0 + ldr r6, _08091904 @ =sPSSData ldr r0, [r6] ldr r2, _0809190C @ =0x000006fa adds r0, r2 @@ -12016,7 +12016,7 @@ _08091896: bl LoadPalette b _08091938 .align 2, 0 -_08091904: .4byte gUnknown_20397B0 +_08091904: .4byte sPSSData _08091908: .4byte 0x000006f9 _0809190C: .4byte 0x000006fa _08091910: .4byte 0x000006fb @@ -12036,7 +12036,7 @@ _08091924: bl CpuSet _08091938: ldr r1, [r7] - ldr r0, _08091968 @ =gUnknown_20397B0 + ldr r0, _08091968 @ =sPSSData ldr r0, [r0] ldr r3, _08091960 @ =0x000002d2 adds r0, r3 @@ -12056,7 +12056,7 @@ _08091938: .align 2, 0 _08091960: .4byte 0x000002d2 _08091964: .4byte gPlttBufferUnfaded + 0x80 -_08091968: .4byte gUnknown_20397B0 +_08091968: .4byte sPSSData thumb_func_end sub_8091850 thumb_func_start sub_809196C @@ -12083,7 +12083,7 @@ sub_8091984: @ 8091984 lsls r3, 24 lsrs r3, 24 lsls r5, r3, 17 - ldr r0, _080919F0 @ =gUnknown_20397B0 + ldr r0, _080919F0 @ =sPSSData ldr r0, [r0] movs r4, 0xB3 lsls r4, 2 @@ -12132,7 +12132,7 @@ sub_8091984: @ 8091984 adds r0, r1 b _080919FA .align 2, 0 -_080919F0: .4byte gUnknown_20397B0 +_080919F0: .4byte sPSSData _080919F4: lsls r0, r6, 16 ldr r4, _08091A20 @ =0xfffc0000 @@ -12164,7 +12164,7 @@ _08091A20: .4byte 0xfffc0000 sub_8091A24: @ 8091A24 push {r4-r6,lr} adds r2, r0, 0 - ldr r0, _08091A50 @ =gUnknown_20397B0 + ldr r0, _08091A50 @ =sPSSData ldr r0, [r0] movs r1, 0xB3 lsls r1, 2 @@ -12184,7 +12184,7 @@ sub_8091A24: @ 8091A24 adds r0, r6 b _08091A5C .align 2, 0 -_08091A50: .4byte gUnknown_20397B0 +_08091A50: .4byte sPSSData _08091A54: lsls r0, 1 movs r1, 0xC8 @@ -12236,7 +12236,7 @@ sub_8091A94: @ 8091A94 lsls r0, 24 lsrs r0, 24 mov r8, r0 - ldr r1, _08091C1C @ =gUnknown_20397B0 + ldr r1, _08091C1C @ =sPSSData mov r10, r1 ldr r1, [r1] movs r2, 0xBE @@ -12374,7 +12374,7 @@ _08091BBC: adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 - ldr r5, _08091C1C @ =gUnknown_20397B0 + ldr r5, _08091C1C @ =sPSSData ldr r2, [r5] lsls r0, r4, 2 movs r3, 0xE4 @@ -12410,7 +12410,7 @@ _08091BBC: pop {r0} bx r0 .align 2, 0 -_08091C1C: .4byte gUnknown_20397B0 +_08091C1C: .4byte sPSSData _08091C20: .4byte 0x00030200 _08091C24: .4byte 0x000006fc _08091C28: .4byte 0x0000dac9 @@ -12437,7 +12437,7 @@ sub_8091C48: @ 8091C48 lsls r1, 24 lsrs r1, 24 mov r10, r1 - ldr r4, _08091CC4 @ =gUnknown_20397B0 + ldr r4, _08091CC4 @ =sPSSData ldr r2, [r4] movs r1, 0xBE lsls r1, 2 @@ -12488,7 +12488,7 @@ _08091C9C: mov r9, r0 b _08091CFC .align 2, 0 -_08091CC4: .4byte gUnknown_20397B0 +_08091CC4: .4byte sPSSData _08091CC8: .4byte 0x0000ffff _08091CCC: .4byte 0x00030200 _08091CD0: .4byte gUnknown_83D2B7C @@ -12659,7 +12659,7 @@ _08091E30: .4byte sub_8091EB8 thumb_func_start sub_8091E34 sub_8091E34: @ 8091E34 push {lr} - ldr r0, _08091E50 @ =gUnknown_20397B0 + ldr r0, _08091E50 @ =sPSSData ldr r0, [r0] movs r1, 0xDF lsls r1, 3 @@ -12671,12 +12671,12 @@ sub_8091E34: @ 8091E34 bl FreeSpriteTilesByTag b _08091E5A .align 2, 0 -_08091E50: .4byte gUnknown_20397B0 +_08091E50: .4byte sPSSData _08091E54: movs r0, 0x3 bl FreeSpriteTilesByTag _08091E5A: - ldr r0, _08091E7C @ =gUnknown_20397B0 + ldr r0, _08091E7C @ =sPSSData ldr r0, [r0] movs r3, 0xE4 lsls r3, 3 @@ -12694,7 +12694,7 @@ _08091E5A: pop {r0} bx r0 .align 2, 0 -_08091E7C: .4byte gUnknown_20397B0 +_08091E7C: .4byte sPSSData _08091E80: .4byte 0x00000724 thumb_func_end sub_8091E34 @@ -12771,7 +12771,7 @@ sub_8091EF0: @ 8091EF0 bl sub_808BD94 lsls r0, 24 lsrs r1, r0, 24 - ldr r0, _08091F2C @ =gUnknown_20397B0 + ldr r0, _08091F2C @ =sPSSData ldr r2, [r0] movs r3, 0xDF lsls r3, 3 @@ -12792,7 +12792,7 @@ sub_8091EF0: @ 8091EF0 bl CpuSet b _08091F50 .align 2, 0 -_08091F2C: .4byte gUnknown_20397B0 +_08091F2C: .4byte sPSSData _08091F30: .4byte gUnknown_83D29D0 _08091F34: .4byte gPlttBufferUnfaded _08091F38: @@ -12874,7 +12874,7 @@ _08091F8A: adds r0, r1, 0 _08091FCA: strh r0, [r4, 0x34] - ldr r0, _08092008 @ =gUnknown_20397B0 + ldr r0, _08092008 @ =sPSSData ldr r0, [r0] lsls r1, r5, 2 movs r2, 0xE6 @@ -12902,7 +12902,7 @@ _08091FF6: _08091FFC: .4byte gUnknown_83D2B54 _08092000: .4byte gUnknown_83D2BB4 _08092004: .4byte gSprites -_08092008: .4byte gUnknown_20397B0 +_08092008: .4byte sPSSData thumb_func_end sub_8091F80 thumb_func_start sub_809200C @@ -12911,7 +12911,7 @@ sub_809200C: @ 809200C lsls r0, 24 lsrs r5, r0, 24 movs r2, 0 - ldr r7, _08092060 @ =gUnknown_20397B0 + ldr r7, _08092060 @ =sPSSData mov r12, r7 movs r6, 0xE6 lsls r6, 3 @@ -12951,7 +12951,7 @@ _08092020: movs r2, 0x48 b _08092084 .align 2, 0 -_08092060: .4byte gUnknown_20397B0 +_08092060: .4byte sPSSData _08092064: .4byte 0x00000734 _08092068: ldr r1, [r7] @@ -12998,7 +12998,7 @@ sub_80920AC: @ 80920AC movs r5, 0 movs r6, 0x5 negs r6, r6 - ldr r4, _080920F8 @ =gUnknown_20397B0 + ldr r4, _080920F8 @ =sPSSData _080920B8: ldr r1, [r4] lsls r0, r3, 2 @@ -13031,7 +13031,7 @@ _080920B8: pop {r0} bx r0 .align 2, 0 -_080920F8: .4byte gUnknown_20397B0 +_080920F8: .4byte sPSSData thumb_func_end sub_80920AC thumb_func_start sub_80920FC @@ -13041,7 +13041,7 @@ sub_80920FC: @ 80920FC cmp r0, 0 beq _08092138 movs r2, 0 - ldr r6, _08092134 @ =gUnknown_20397B0 + ldr r6, _08092134 @ =sPSSData movs r5, 0xE6 lsls r5, 3 movs r3, 0 @@ -13066,10 +13066,10 @@ _08092110: bls _08092110 b _08092158 .align 2, 0 -_08092134: .4byte gUnknown_20397B0 +_08092134: .4byte sPSSData _08092138: movs r2, 0 - ldr r5, _08092160 @ =gUnknown_20397B0 + ldr r5, _08092160 @ =sPSSData movs r4, 0xE6 lsls r4, 3 movs r3, 0 @@ -13090,7 +13090,7 @@ _08092158: pop {r0} bx r0 .align 2, 0 -_08092160: .4byte gUnknown_20397B0 +_08092160: .4byte sPSSData thumb_func_end sub_80920FC thumb_func_start sub_8092164 @@ -13148,7 +13148,7 @@ _080921C8: strh r0, [r2, 0x2E] b _08092230 _080921CE: - ldr r0, _08092218 @ =gUnknown_20397B0 + ldr r0, _08092218 @ =sPSSData ldr r1, [r0] ldr r0, _0809221C @ =0x000002ce adds r1, r0 @@ -13187,10 +13187,10 @@ _080921F4: strh r0, [r2, 0x2E] b _08092230 .align 2, 0 -_08092218: .4byte gUnknown_20397B0 +_08092218: .4byte sPSSData _0809221C: .4byte 0x000002ce _08092220: - ldr r0, _08092234 @ =gUnknown_20397B0 + ldr r0, _08092234 @ =sPSSData ldr r0, [r0] ldr r1, _08092238 @ =0x000002ce adds r0, r1 @@ -13202,7 +13202,7 @@ _08092230: pop {r0} bx r0 .align 2, 0 -_08092234: .4byte gUnknown_20397B0 +_08092234: .4byte sPSSData _08092238: .4byte 0x000002ce thumb_func_end sub_8092164 @@ -13276,36 +13276,36 @@ _080922B6: thumb_func_start sub_80922C0 sub_80922C0: @ 80922C0 push {lr} - ldr r0, _080922D4 @ =gUnknown_20397B0 + ldr r0, _080922D4 @ =sPSSData ldr r0, [r0] ldrb r1, [r0, 0x1] cmp r1, 0x1 beq _080922DC - ldr r1, _080922D8 @ =gUnknown_2039820 + ldr r1, _080922D8 @ =sBoxCursorArea movs r0, 0 strb r0, [r1] b _080922E0 .align 2, 0 -_080922D4: .4byte gUnknown_20397B0 -_080922D8: .4byte gUnknown_2039820 +_080922D4: .4byte sPSSData +_080922D8: .4byte sBoxCursorArea _080922DC: - ldr r0, _0809231C @ =gUnknown_2039820 + ldr r0, _0809231C @ =sBoxCursorArea strb r1, [r0] _080922E0: - ldr r0, _08092320 @ =gUnknown_2039821 + ldr r0, _08092320 @ =sBoxCursorPosition movs r1, 0 strb r1, [r0] - ldr r0, _08092324 @ =gUnknown_2039822 + ldr r0, _08092324 @ =sIsMonBeingMoved strb r1, [r0] - ldr r0, _08092328 @ =gUnknown_2039823 + ldr r0, _08092328 @ =sMovingMonOrigBoxId strb r1, [r0] - ldr r0, _0809232C @ =gUnknown_2039824 + ldr r0, _0809232C @ =sMovingMonOrigBoxPos strb r1, [r0] - ldr r0, _08092330 @ =gUnknown_2039825 + ldr r0, _08092330 @ =sCanOnlyMove strb r1, [r0] bl sub_8092B50 bl sub_8094AD8 - ldr r2, _08092334 @ =gUnknown_20397B0 + ldr r2, _08092334 @ =sPSSData ldr r0, [r2] ldr r1, _08092338 @ =0x00000cd2 adds r0, r1 @@ -13320,13 +13320,13 @@ _080922E0: pop {r0} bx r0 .align 2, 0 -_0809231C: .4byte gUnknown_2039820 -_08092320: .4byte gUnknown_2039821 -_08092324: .4byte gUnknown_2039822 -_08092328: .4byte gUnknown_2039823 -_0809232C: .4byte gUnknown_2039824 -_08092330: .4byte gUnknown_2039825 -_08092334: .4byte gUnknown_20397B0 +_0809231C: .4byte sBoxCursorArea +_08092320: .4byte sBoxCursorPosition +_08092324: .4byte sIsMonBeingMoved +_08092328: .4byte sMovingMonOrigBoxId +_0809232C: .4byte sMovingMonOrigBoxPos +_08092330: .4byte sCanOnlyMove +_08092334: .4byte sPSSData _08092338: .4byte 0x00000cd2 _0809233C: .4byte 0x000021ef thumb_func_end sub_80922C0 @@ -13336,7 +13336,7 @@ sub_8092340: @ 8092340 push {lr} bl sub_8094AD8 bl sub_8093AAC - ldr r3, _08092380 @ =gUnknown_20397B0 + ldr r3, _08092380 @ =sPSSData ldr r0, [r3] ldr r1, _08092384 @ =0x00000cd2 adds r0, r1 @@ -13347,7 +13347,7 @@ sub_8092340: @ 8092340 ldr r1, _08092388 @ =0x000021ef adds r0, r1 strb r2, [r0] - ldr r0, _0809238C @ =gUnknown_2039822 + ldr r0, _0809238C @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _0809237A @@ -13362,10 +13362,10 @@ _0809237A: pop {r0} bx r0 .align 2, 0 -_08092380: .4byte gUnknown_20397B0 +_08092380: .4byte sPSSData _08092384: .4byte 0x00000cd2 _08092388: .4byte 0x000021ef -_0809238C: .4byte gUnknown_2039822 +_0809238C: .4byte sIsMonBeingMoved _08092390: .4byte 0x000020a0 _08092394: .4byte gUnknown_20397BC thumb_func_end sub_8092340 @@ -13446,7 +13446,7 @@ _08092422: movs r0, 0xC b _0809244E _0809242A: - ldr r0, _08092444 @ =gUnknown_2039822 + ldr r0, _08092444 @ =sIsMonBeingMoved ldrb r0, [r0] movs r1, 0xE cmp r0, 0 @@ -13460,7 +13460,7 @@ _08092436: strh r0, [r4] b _08092450 .align 2, 0 -_08092444: .4byte gUnknown_2039822 +_08092444: .4byte sIsMonBeingMoved _08092448: movs r0, 0xA0 strh r0, [r4] @@ -13476,7 +13476,7 @@ _08092450: thumb_func_start sub_8092458 sub_8092458: @ 8092458 push {lr} - ldr r0, _08092480 @ =gUnknown_2039820 + ldr r0, _08092480 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -13484,7 +13484,7 @@ sub_8092458: @ 8092458 beq _0809248C cmp r0, 0x1 bne _080924A0 - ldr r0, _08092484 @ =gUnknown_2039821 + ldr r0, _08092484 @ =sBoxCursorPosition movs r1, 0 ldrsb r1, [r0, r1] movs r0, 0x64 @@ -13495,11 +13495,11 @@ sub_8092458: @ 8092458 bl GetMonData b _08092496 .align 2, 0 -_08092480: .4byte gUnknown_2039820 -_08092484: .4byte gUnknown_2039821 +_08092480: .4byte sBoxCursorArea +_08092484: .4byte sBoxCursorPosition _08092488: .4byte gPlayerParty _0809248C: - ldr r0, _0809249C @ =gUnknown_2039821 + ldr r0, _0809249C @ =sBoxCursorPosition ldrb r0, [r0] movs r1, 0xB bl GetBoxMonDataFromSelectedBox @@ -13508,7 +13508,7 @@ _08092496: lsrs r0, 16 b _080924A2 .align 2, 0 -_0809249C: .4byte gUnknown_2039821 +_0809249C: .4byte sBoxCursorPosition _080924A0: movs r0, 0 _080924A2: @@ -13519,7 +13519,7 @@ _080924A2: thumb_func_start sub_80924A8 sub_80924A8: @ 80924A8 push {r4-r7,lr} - ldr r7, _080924C4 @ =gUnknown_20397B0 + ldr r7, _080924C4 @ =sPSSData ldr r5, [r7] ldr r0, _080924C8 @ =0x00000ccc adds r1, r5, r0 @@ -13532,7 +13532,7 @@ sub_80924A8: @ 80924A8 movs r0, 0 b _080925F4 .align 2, 0 -_080924C4: .4byte gUnknown_20397B0 +_080924C4: .4byte sPSSData _080924C8: .4byte 0x00000ccc _080924CC: bl sub_809610C @@ -13710,7 +13710,7 @@ sub_8092604: @ 8092604 mov r2, sp adds r3, r6, 0 bl sub_8092398 - ldr r1, _08092654 @ =gUnknown_20397B0 + ldr r1, _08092654 @ =sPSSData ldr r0, [r1] movs r2, 0xCD lsls r2, 4 @@ -13735,7 +13735,7 @@ sub_8092604: @ 8092604 pop {r0} bx r0 .align 2, 0 -_08092654: .4byte gUnknown_20397B0 +_08092654: .4byte sPSSData _08092658: .4byte 0x00000cd1 _0809265C: .4byte 0x00000cca thumb_func_end sub_8092604 @@ -13743,7 +13743,7 @@ _0809265C: .4byte 0x00000cca thumb_func_start sub_8092660 sub_8092660: @ 8092660 push {r4-r7,lr} - ldr r0, _0809267C @ =gUnknown_20397B0 + ldr r0, _0809267C @ =sPSSData ldr r2, [r0] ldr r3, _08092680 @ =0x00000cce adds r1, r2, r3 @@ -13756,7 +13756,7 @@ sub_8092660: @ 8092660 movs r0, 0xC b _0809268E .align 2, 0 -_0809267C: .4byte gUnknown_20397B0 +_0809267C: .4byte sPSSData _08092680: .4byte 0x00000cce _08092684: .4byte 0x00000ccc _08092688: @@ -13944,7 +13944,7 @@ sub_80927E8: @ 80927E8 adds r1, r6, 0 bl sub_8092604 bl sub_8092660 - ldr r5, _0809282C @ =gUnknown_20397B0 + ldr r5, _0809282C @ =sPSSData ldr r1, [r5] ldrb r0, [r1, 0x1] cmp r0, 0x3 @@ -13954,7 +13954,7 @@ sub_80927E8: @ 80927E8 ldrb r0, [r0] cmp r0, 0 bne _08092852 - ldr r0, _08092834 @ =gUnknown_2039822 + ldr r0, _08092834 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 bne _08092852 @@ -13966,9 +13966,9 @@ sub_80927E8: @ 80927E8 bl StartSpriteAnim b _08092852 .align 2, 0 -_0809282C: .4byte gUnknown_20397B0 +_0809282C: .4byte sPSSData _08092830: .4byte 0x000021ef -_08092834: .4byte gUnknown_2039822 +_08092834: .4byte sIsMonBeingMoved _08092838: bl sub_809616C lsls r0, 24 @@ -13982,30 +13982,30 @@ _08092838: movs r1, 0x1 bl StartSpriteAnim _08092852: - ldr r0, _08092874 @ =gUnknown_20397B0 + ldr r0, _08092874 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x3 bne _080928AC - ldr r0, _08092878 @ =gUnknown_2039820 + ldr r0, _08092878 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0 bne _08092880 - ldr r0, _0809287C @ =gUnknown_2039821 + ldr r0, _0809287C @ =sBoxCursorPosition ldrb r1, [r0] movs r0, 0 bl sub_8095D44 b _0809288E .align 2, 0 -_08092874: .4byte gUnknown_20397B0 -_08092878: .4byte gUnknown_2039820 -_0809287C: .4byte gUnknown_2039821 +_08092874: .4byte sPSSData +_08092878: .4byte sBoxCursorArea +_0809287C: .4byte sBoxCursorPosition _08092880: cmp r0, 0x1 bne _0809288E - ldr r0, _0809289C @ =gUnknown_2039821 + ldr r0, _0809289C @ =sBoxCursorPosition ldrb r1, [r0] movs r0, 0x1 bl sub_8095D44 @@ -14017,7 +14017,7 @@ _0809288E: bl sub_8095C84 b _080928AC .align 2, 0 -_0809289C: .4byte gUnknown_2039821 +_0809289C: .4byte sBoxCursorPosition _080928A0: cmp r4, 0x1 bne _080928D8 @@ -14027,13 +14027,13 @@ _080928A0: _080928AC: cmp r4, 0x1 bne _080928D8 - ldr r0, _08092920 @ =gUnknown_2039820 + ldr r0, _08092920 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0x1 beq _080928D8 - ldr r1, _08092924 @ =gUnknown_20397B0 + ldr r1, _08092924 @ =sPSSData ldr r0, [r1] ldr r2, _08092928 @ =0x00000cd2 adds r0, r2 @@ -14054,7 +14054,7 @@ _080928D8: blt _080929A0 cmp r4, 0x3 bgt _080929A0 - ldr r5, _08092924 @ =gUnknown_20397B0 + ldr r5, _08092924 @ =sPSSData ldr r0, [r5] movs r2, 0xCB lsls r2, 4 @@ -14085,12 +14085,12 @@ _080928D8: strb r2, [r1, 0x5] b _080929A0 .align 2, 0 -_08092920: .4byte gUnknown_2039820 -_08092924: .4byte gUnknown_20397B0 +_08092920: .4byte sBoxCursorArea +_08092924: .4byte sPSSData _08092928: .4byte 0x00000cd2 _0809292C: .4byte 0x00000cb4 _08092930: - ldr r3, _08092964 @ =gUnknown_20397B0 + ldr r3, _08092964 @ =sPSSData ldr r1, [r3] ldr r2, _08092968 @ =0x000021ef adds r0, r1, r2 @@ -14117,7 +14117,7 @@ _08092930: strb r0, [r1] b _080929A0 .align 2, 0 -_08092964: .4byte gUnknown_20397B0 +_08092964: .4byte sPSSData _08092968: .4byte 0x000021ef _0809296C: .4byte 0x00000cb4 _08092970: @@ -14132,13 +14132,13 @@ _08092970: movs r1, 0x8 orrs r0, r1 strb r0, [r2, 0x5] - ldr r0, _080929A8 @ =gUnknown_2039820 + ldr r0, _080929A8 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0 bne _080929A0 - ldr r0, _080929AC @ =gUnknown_2039822 + ldr r0, _080929AC @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _080929A0 @@ -14149,22 +14149,22 @@ _080929A0: pop {r0} bx r0 .align 2, 0 -_080929A8: .4byte gUnknown_2039820 -_080929AC: .4byte gUnknown_2039822 +_080929A8: .4byte sBoxCursorArea +_080929AC: .4byte sIsMonBeingMoved thumb_func_end sub_80927E8 thumb_func_start sub_80929B0 sub_80929B0: @ 80929B0 push {r4,lr} - ldr r1, _080929F4 @ =gUnknown_2039820 - ldr r4, _080929F8 @ =gUnknown_20397B0 + ldr r1, _080929F4 @ =sBoxCursorArea + ldr r4, _080929F8 @ =sPSSData ldr r2, [r4] movs r3, 0xCD lsls r3, 4 adds r0, r2, r3 ldrb r0, [r0] strb r0, [r1] - ldr r1, _080929FC @ =gUnknown_2039821 + ldr r1, _080929FC @ =sBoxCursorPosition adds r3, 0x1 adds r0, r2, r3 ldrb r0, [r0] @@ -14177,7 +14177,7 @@ sub_80929B0: @ 80929B0 ldrb r0, [r0] cmp r0, 0 bne _08092A22 - ldr r0, _08092A04 @ =gUnknown_2039822 + ldr r0, _08092A04 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 bne _08092A22 @@ -14188,11 +14188,11 @@ sub_80929B0: @ 80929B0 bl StartSpriteAnim b _08092A22 .align 2, 0 -_080929F4: .4byte gUnknown_2039820 -_080929F8: .4byte gUnknown_20397B0 -_080929FC: .4byte gUnknown_2039821 +_080929F4: .4byte sBoxCursorArea +_080929F8: .4byte sPSSData +_080929FC: .4byte sBoxCursorPosition _08092A00: .4byte 0x000021ef -_08092A04: .4byte gUnknown_2039822 +_08092A04: .4byte sIsMonBeingMoved _08092A08: bl sub_809616C lsls r0, 24 @@ -14207,7 +14207,7 @@ _08092A08: bl StartSpriteAnim _08092A22: bl sub_8093A10 - ldr r0, _08092A3C @ =gUnknown_2039820 + ldr r0, _08092A3C @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -14219,7 +14219,7 @@ _08092A22: beq _08092A74 b _08092AD0 .align 2, 0 -_08092A3C: .4byte gUnknown_2039820 +_08092A3C: .4byte sBoxCursorArea _08092A40: cmp r0, 0x2 beq _08092A4A @@ -14231,7 +14231,7 @@ _08092A4A: bl sub_80920FC b _08092AD0 _08092A52: - ldr r0, _08092A6C @ =gUnknown_20397B0 + ldr r0, _08092A6C @ =sPSSData ldr r0, [r0] ldr r2, _08092A70 @ =0x00000cb4 adds r0, r2 @@ -14244,10 +14244,10 @@ _08092A62: bl sub_8091184 b _08092AD0 .align 2, 0 -_08092A6C: .4byte gUnknown_20397B0 +_08092A6C: .4byte sPSSData _08092A70: .4byte 0x00000cb4 _08092A74: - ldr r4, _08092AD8 @ =gUnknown_20397B0 + ldr r4, _08092AD8 @ =sPSSData ldr r1, [r4] ldr r3, _08092ADC @ =0x000021ef adds r0, r1, r3 @@ -14297,7 +14297,7 @@ _08092AD0: pop {r0} bx r0 .align 2, 0 -_08092AD8: .4byte gUnknown_20397B0 +_08092AD8: .4byte sPSSData _08092ADC: .4byte 0x000021ef _08092AE0: .4byte 0x00000cb4 thumb_func_end sub_80929B0 @@ -14305,14 +14305,14 @@ _08092AE0: .4byte 0x00000cb4 thumb_func_start sub_8092AE4 sub_8092AE4: @ 8092AE4 push {lr} - ldr r0, _08092AF4 @ =gUnknown_2039822 + ldr r0, _08092AF4 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 bne _08092AF8 movs r3, 0 b _08092B06 .align 2, 0 -_08092AF4: .4byte gUnknown_2039822 +_08092AF4: .4byte sIsMonBeingMoved _08092AF8: bl CalculatePlayerPartyCount lsls r0, 24 @@ -14321,7 +14321,7 @@ _08092AF8: bls _08092B06 movs r3, 0x5 _08092B06: - ldr r0, _08092B34 @ =gUnknown_20397B0 + ldr r0, _08092B34 @ =sPSSData ldr r2, [r0] movs r1, 0xCB lsls r1, 4 @@ -14344,7 +14344,7 @@ _08092B26: pop {r0} bx r0 .align 2, 0 -_08092B34: .4byte gUnknown_20397B0 +_08092B34: .4byte sPSSData _08092B38: .4byte 0x00000cd3 thumb_func_end sub_8092AE4 @@ -14373,13 +14373,13 @@ _08092B58: .4byte gUnknown_2039826 thumb_func_start sub_8092B5C sub_8092B5C: @ 8092B5C ldr r0, _08092B68 @ =gUnknown_2039826 - ldr r1, _08092B6C @ =gUnknown_2039821 + ldr r1, _08092B6C @ =sBoxCursorPosition ldrb r1, [r1] strb r1, [r0] bx lr .align 2, 0 _08092B68: .4byte gUnknown_2039826 -_08092B6C: .4byte gUnknown_2039821 +_08092B6C: .4byte sBoxCursorPosition thumb_func_end sub_8092B5C thumb_func_start sub_8092B70 @@ -14394,7 +14394,7 @@ _08092B78: .4byte gUnknown_2039826 thumb_func_start sub_8092B7C sub_8092B7C: @ 8092B7C lsls r0, 24 - ldr r1, _08092B9C @ =gUnknown_20397B0 + ldr r1, _08092B9C @ =sPSSData ldr r1, [r1] ldr r2, _08092BA0 @ =0x00000d88 adds r3, r1, r2 @@ -14409,7 +14409,7 @@ sub_8092B7C: @ 8092B7C strb r0, [r1] bx lr .align 2, 0 -_08092B9C: .4byte gUnknown_20397B0 +_08092B9C: .4byte sPSSData _08092BA0: .4byte 0x00000d88 _08092BA4: .4byte gUnknown_83D346C _08092BA8: .4byte 0x00000d8c @@ -14421,18 +14421,18 @@ sub_8092BAC: @ 8092BAC lsls r0, 24 cmp r0, 0 bne _08092BCC - ldr r0, _08092BC0 @ =gUnknown_20397B0 + ldr r0, _08092BC0 @ =sPSSData ldr r1, [r0] ldr r2, _08092BC4 @ =0x00000d88 adds r1, r2 ldr r2, _08092BC8 @ =sub_8092E00 b _08092BD6 .align 2, 0 -_08092BC0: .4byte gUnknown_20397B0 +_08092BC0: .4byte sPSSData _08092BC4: .4byte 0x00000d88 _08092BC8: .4byte sub_8092E00 _08092BCC: - ldr r0, _08092BE8 @ =gUnknown_20397B0 + ldr r0, _08092BE8 @ =sPSSData ldr r1, [r0] ldr r2, _08092BEC @ =0x00000d88 adds r1, r2 @@ -14447,7 +14447,7 @@ _08092BD6: pop {r0} bx r0 .align 2, 0 -_08092BE8: .4byte gUnknown_20397B0 +_08092BE8: .4byte sPSSData _08092BEC: .4byte 0x00000d88 _08092BF0: .4byte sub_8092E10 _08092BF4: .4byte 0x00000d8c @@ -14456,7 +14456,7 @@ _08092BF4: .4byte 0x00000d8c thumb_func_start sub_8092BF8 sub_8092BF8: @ 8092BF8 push {lr} - ldr r0, _08092C10 @ =gUnknown_20397B0 + ldr r0, _08092C10 @ =sPSSData ldr r0, [r0] ldr r1, _08092C14 @ =0x00000d88 adds r0, r1 @@ -14467,14 +14467,14 @@ sub_8092BF8: @ 8092BF8 pop {r1} bx r1 .align 2, 0 -_08092C10: .4byte gUnknown_20397B0 +_08092C10: .4byte sPSSData _08092C14: .4byte 0x00000d88 thumb_func_end sub_8092BF8 thumb_func_start sub_8092C18 sub_8092C18: @ 8092C18 push {r4,r5,lr} - ldr r4, _08092C34 @ =gUnknown_20397B0 + ldr r4, _08092C34 @ =sPSSData ldr r1, [r4] ldr r5, _08092C38 @ =0x00000d8c adds r0, r1, r5 @@ -14487,7 +14487,7 @@ sub_8092C18: @ 8092C18 beq _08092C46 b _08092C9C .align 2, 0 -_08092C34: .4byte gUnknown_20397B0 +_08092C34: .4byte sPSSData _08092C38: .4byte 0x00000d8c _08092C3C: cmp r0, 0x2 @@ -14496,7 +14496,7 @@ _08092C3C: beq _08092C4E b _08092C9C _08092C46: - ldr r0, _08092C54 @ =gUnknown_2039822 + ldr r0, _08092C54 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _08092C58 @@ -14504,7 +14504,7 @@ _08092C4E: movs r0, 0 b _08092C9E .align 2, 0 -_08092C54: .4byte gUnknown_2039822 +_08092C54: .4byte sIsMonBeingMoved _08092C58: movs r2, 0xCB lsls r2, 4 @@ -14549,7 +14549,7 @@ _08092C9E: thumb_func_start sub_8092CA4 sub_8092CA4: @ 8092CA4 push {r4,r5,lr} - ldr r4, _08092CC0 @ =gUnknown_20397B0 + ldr r4, _08092CC0 @ =sPSSData ldr r0, [r4] ldr r5, _08092CC4 @ =0x00000d8c adds r0, r5 @@ -14562,7 +14562,7 @@ sub_8092CA4: @ 8092CA4 beq _08092CCE b _08092D18 .align 2, 0 -_08092CC0: .4byte gUnknown_20397B0 +_08092CC0: .4byte sPSSData _08092CC4: .4byte 0x00000d8c _08092CC8: cmp r0, 0x2 @@ -14615,7 +14615,7 @@ _08092D1A: thumb_func_start sub_8092D20 sub_8092D20: @ 8092D20 push {r4,r5,lr} - ldr r4, _08092D3C @ =gUnknown_20397B0 + ldr r4, _08092D3C @ =sPSSData ldr r1, [r4] ldr r5, _08092D40 @ =0x00000d8c adds r0, r1, r5 @@ -14628,14 +14628,14 @@ sub_8092D20: @ 8092D20 beq _08092D4A b _08092DF8 .align 2, 0 -_08092D3C: .4byte gUnknown_20397B0 +_08092D3C: .4byte sPSSData _08092D40: .4byte 0x00000d8c _08092D44: cmp r0, 0x2 beq _08092DF4 b _08092DF8 _08092D4A: - ldr r0, _08092D64 @ =gUnknown_2039820 + ldr r0, _08092D64 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -14648,7 +14648,7 @@ _08092D4A: movs r0, 0xE b _08092D76 .align 2, 0 -_08092D64: .4byte gUnknown_2039820 +_08092D64: .4byte sBoxCursorArea _08092D68: .4byte 0x00000d8d _08092D6C: bl StorageGetCurrentBox @@ -14657,7 +14657,7 @@ _08092D6C: adds r1, r2 _08092D76: strb r0, [r1] - ldr r4, _08092DA8 @ =gUnknown_20397B0 + ldr r4, _08092DA8 @ =sPSSData ldr r0, [r4] movs r1, 0xCB lsls r1, 4 @@ -14669,7 +14669,7 @@ _08092D76: ldr r2, _08092DA4 @ =0x00000d8d adds r0, r2 ldrb r0, [r0] - ldr r1, _08092DAC @ =gUnknown_2039821 + ldr r1, _08092DAC @ =sBoxCursorPosition ldrb r1, [r1] bl sub_8090E08 ldr r1, [r4] @@ -14678,8 +14678,8 @@ _08092D76: b _08092DE2 .align 2, 0 _08092DA4: .4byte 0x00000d8d -_08092DA8: .4byte gUnknown_20397B0 -_08092DAC: .4byte gUnknown_2039821 +_08092DA8: .4byte sPSSData +_08092DAC: .4byte sBoxCursorPosition _08092DB0: .4byte 0x00000d8c _08092DB4: bl sub_8090E74 @@ -14697,7 +14697,7 @@ _08092DB4: ldr r2, _08092DEC @ =0x00000d8d adds r0, r2 ldrb r0, [r0] - ldr r1, _08092DF0 @ =gUnknown_2039821 + ldr r1, _08092DF0 @ =sBoxCursorPosition ldrb r1, [r1] bl diegohint1 ldr r1, [r4] @@ -14709,7 +14709,7 @@ _08092DE2: b _08092DF8 .align 2, 0 _08092DEC: .4byte 0x00000d8d -_08092DF0: .4byte gUnknown_2039821 +_08092DF0: .4byte sBoxCursorPosition _08092DF4: movs r0, 0 b _08092DFA @@ -14744,7 +14744,7 @@ sub_8092E10: @ 8092E10 thumb_func_start sub_8092E20 sub_8092E20: @ 8092E20 push {lr} - ldr r0, _08092E44 @ =gUnknown_20397B0 + ldr r0, _08092E44 @ =sPSSData ldr r0, [r0] movs r1, 0xCB lsls r1, 4 @@ -14762,7 +14762,7 @@ _08092E3A: strh r0, [r1, 0x26] b _08092E4C .align 2, 0 -_08092E44: .4byte gUnknown_20397B0 +_08092E44: .4byte sPSSData _08092E48: movs r0, 0 b _08092E4E @@ -14776,7 +14776,7 @@ _08092E4E: thumb_func_start sub_8092E54 sub_8092E54: @ 8092E54 push {lr} - ldr r0, _08092E74 @ =gUnknown_20397B0 + ldr r0, _08092E74 @ =sPSSData ldr r0, [r0] movs r1, 0xCB lsls r1, 4 @@ -14792,7 +14792,7 @@ sub_8092E54: @ 8092E54 movs r0, 0x1 b _08092E7A .align 2, 0 -_08092E74: .4byte gUnknown_20397B0 +_08092E74: .4byte sPSSData _08092E78: movs r0, 0 _08092E7A: @@ -14803,7 +14803,7 @@ _08092E7A: thumb_func_start sub_8092E80 sub_8092E80: @ 8092E80 push {r4,lr} - ldr r0, _08092EA8 @ =gUnknown_2039820 + ldr r0, _08092EA8 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -14811,7 +14811,7 @@ sub_8092E80: @ 8092E80 beq _08092EB0 cmp r0, 0x1 bne _08092EDC - ldr r4, _08092EAC @ =gUnknown_2039821 + ldr r4, _08092EAC @ =sBoxCursorPosition ldrb r1, [r4] movs r0, 0xE bl sub_8092F60 @@ -14820,10 +14820,10 @@ sub_8092E80: @ 8092E80 bl sub_8090CC0 b _08092ED6 .align 2, 0 -_08092EA8: .4byte gUnknown_2039820 -_08092EAC: .4byte gUnknown_2039821 +_08092EA8: .4byte sBoxCursorArea +_08092EAC: .4byte sBoxCursorPosition _08092EB0: - ldr r0, _08092EE4 @ =gUnknown_20397B0 + ldr r0, _08092EE4 @ =sPSSData ldr r0, [r0] ldr r1, _08092EE8 @ =0x000021ef adds r0, r1 @@ -14833,14 +14833,14 @@ _08092EB0: bl StorageGetCurrentBox lsls r0, 24 lsrs r0, 24 - ldr r4, _08092EEC @ =gUnknown_2039821 + ldr r4, _08092EEC @ =sBoxCursorPosition ldrb r1, [r4] bl sub_8092F60 ldrb r1, [r4] movs r0, 0x1 bl sub_8090CC0 _08092ED6: - ldr r1, _08092EF0 @ =gUnknown_2039822 + ldr r1, _08092EF0 @ =sIsMonBeingMoved movs r0, 0x1 strb r0, [r1] _08092EDC: @@ -14848,16 +14848,16 @@ _08092EDC: pop {r0} bx r0 .align 2, 0 -_08092EE4: .4byte gUnknown_20397B0 +_08092EE4: .4byte sPSSData _08092EE8: .4byte 0x000021ef -_08092EEC: .4byte gUnknown_2039821 -_08092EF0: .4byte gUnknown_2039822 +_08092EEC: .4byte sBoxCursorPosition +_08092EF0: .4byte sIsMonBeingMoved thumb_func_end sub_8092E80 thumb_func_start sub_8092EF4 sub_8092EF4: @ 8092EF4 push {r4,r5,lr} - ldr r0, _08092F1C @ =gUnknown_2039820 + ldr r0, _08092F1C @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -14865,7 +14865,7 @@ sub_8092EF4: @ 8092EF4 beq _08092F24 cmp r0, 0x1 bne _08092F46 - ldr r4, _08092F20 @ =gUnknown_2039821 + ldr r4, _08092F20 @ =sBoxCursorPosition ldrb r1, [r4] movs r0, 0xE bl diegohint2 @@ -14874,14 +14874,14 @@ sub_8092EF4: @ 8092EF4 bl sub_8090D58 b _08092F40 .align 2, 0 -_08092F1C: .4byte gUnknown_2039820 -_08092F20: .4byte gUnknown_2039821 +_08092F1C: .4byte sBoxCursorArea +_08092F20: .4byte sBoxCursorPosition _08092F24: bl StorageGetCurrentBox adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r5, _08092F4C @ =gUnknown_2039821 + ldr r5, _08092F4C @ =sBoxCursorPosition ldrb r1, [r5] adds r0, r4, 0 bl diegohint2 @@ -14889,7 +14889,7 @@ _08092F24: adds r0, r4, 0 bl sub_8090D58 _08092F40: - ldr r1, _08092F50 @ =gUnknown_2039822 + ldr r1, _08092F50 @ =sIsMonBeingMoved movs r0, 0 strb r0, [r1] _08092F46: @@ -14897,8 +14897,8 @@ _08092F46: pop {r0} bx r0 .align 2, 0 -_08092F4C: .4byte gUnknown_2039821 -_08092F50: .4byte gUnknown_2039822 +_08092F4C: .4byte sBoxCursorPosition +_08092F50: .4byte sIsMonBeingMoved thumb_func_end sub_8092EF4 thumb_func_start sub_8092F54 @@ -14918,12 +14918,12 @@ sub_8092F60: @ 8092F60 lsrs r5, r1, 24 cmp r4, 0xE bne _08092F9C - ldr r0, _08092F8C @ =gUnknown_20397B0 + ldr r0, _08092F8C @ =sPSSData ldr r0, [r0] ldr r1, _08092F90 @ =0x000020a0 adds r0, r1 ldr r3, _08092F94 @ =gPlayerParty - ldr r1, _08092F98 @ =gUnknown_2039821 + ldr r1, _08092F98 @ =sBoxCursorPosition movs r2, 0 ldrsb r2, [r1, r2] movs r1, 0x64 @@ -14933,12 +14933,12 @@ sub_8092F60: @ 8092F60 bl memcpy b _08092FAC .align 2, 0 -_08092F8C: .4byte gUnknown_20397B0 +_08092F8C: .4byte sPSSData _08092F90: .4byte 0x000020a0 _08092F94: .4byte gPlayerParty -_08092F98: .4byte gUnknown_2039821 +_08092F98: .4byte sBoxCursorPosition _08092F9C: - ldr r0, _08092FC4 @ =gUnknown_20397B0 + ldr r0, _08092FC4 @ =sPSSData ldr r2, [r0] ldr r0, _08092FC8 @ =0x000020a0 adds r2, r0 @@ -14949,18 +14949,18 @@ _08092FAC: adds r0, r4, 0 adds r1, r5, 0 bl sub_8093030 - ldr r0, _08092FCC @ =gUnknown_2039823 + ldr r0, _08092FCC @ =sMovingMonOrigBoxId strb r4, [r0] - ldr r0, _08092FD0 @ =gUnknown_2039824 + ldr r0, _08092FD0 @ =sMovingMonOrigBoxPos strb r5, [r0] pop {r4,r5} pop {r0} bx r0 .align 2, 0 -_08092FC4: .4byte gUnknown_20397B0 +_08092FC4: .4byte sPSSData _08092FC8: .4byte 0x000020a0 -_08092FCC: .4byte gUnknown_2039823 -_08092FD0: .4byte gUnknown_2039824 +_08092FCC: .4byte sMovingMonOrigBoxId +_08092FD0: .4byte sMovingMonOrigBoxPos thumb_func_end sub_8092F60 thumb_func_start diegohint2 @@ -14976,7 +14976,7 @@ diegohint2: @ 8092FD4 movs r0, 0x64 muls r0, r7 adds r0, r1 - ldr r1, _08093000 @ =gUnknown_20397B0 + ldr r1, _08093000 @ =sPSSData ldr r1, [r1] ldr r2, _08093004 @ =0x000020a0 adds r1, r2 @@ -14985,10 +14985,10 @@ diegohint2: @ 8092FD4 b _08093020 .align 2, 0 _08092FFC: .4byte gPlayerParty -_08093000: .4byte gUnknown_20397B0 +_08093000: .4byte sPSSData _08093004: .4byte 0x000020a0 _08093008: - ldr r5, _08093028 @ =gUnknown_20397B0 + ldr r5, _08093028 @ =sPSSData ldr r0, [r5] ldr r4, _0809302C @ =0x000020a0 adds r0, r4 @@ -15003,7 +15003,7 @@ _08093020: pop {r0} bx r0 .align 2, 0 -_08093028: .4byte gUnknown_20397B0 +_08093028: .4byte sPSSData _0809302C: .4byte 0x000020a0 thumb_func_end diegohint2 @@ -15040,7 +15040,7 @@ diegohint1: @ 8093058 lsrs r7, r1, 24 cmp r6, 0xE bne _0809308C - ldr r0, _08093080 @ =gUnknown_20397B0 + ldr r0, _08093080 @ =sPSSData ldr r0, [r0] ldr r1, _08093084 @ =0x00002104 adds r0, r1 @@ -15052,11 +15052,11 @@ diegohint1: @ 8093058 bl memcpy b _0809309C .align 2, 0 -_08093080: .4byte gUnknown_20397B0 +_08093080: .4byte sPSSData _08093084: .4byte 0x00002104 _08093088: .4byte gPlayerParty _0809308C: - ldr r0, _080930D0 @ =gUnknown_20397B0 + ldr r0, _080930D0 @ =sPSSData ldr r2, [r0] ldr r0, _080930D4 @ =0x00002104 adds r2, r0 @@ -15067,7 +15067,7 @@ _0809309C: adds r0, r6, 0 adds r1, r7, 0 bl diegohint2 - ldr r5, _080930D0 @ =gUnknown_20397B0 + ldr r5, _080930D0 @ =sPSSData ldr r1, [r5] ldr r4, _080930D8 @ =0x000020a0 adds r0, r1, r4 @@ -15079,19 +15079,19 @@ _0809309C: adds r0, r4 movs r1, 0 bl sub_8093AD0 - ldr r0, _080930DC @ =gUnknown_2039823 + ldr r0, _080930DC @ =sMovingMonOrigBoxId strb r6, [r0] - ldr r0, _080930E0 @ =gUnknown_2039824 + ldr r0, _080930E0 @ =sMovingMonOrigBoxPos strb r7, [r0] pop {r4-r7} pop {r0} bx r0 .align 2, 0 -_080930D0: .4byte gUnknown_20397B0 +_080930D0: .4byte sPSSData _080930D4: .4byte 0x00002104 _080930D8: .4byte 0x000020a0 -_080930DC: .4byte gUnknown_2039823 -_080930E0: .4byte gUnknown_2039824 +_080930DC: .4byte sMovingMonOrigBoxId +_080930E0: .4byte sMovingMonOrigBoxPos thumb_func_end diegohint1 thumb_func_start sub_80930E4 @@ -15111,7 +15111,7 @@ sub_80930E4: @ 80930E4 movs r0, 0 b _08093164 _08093102: - ldr r5, _08093120 @ =gUnknown_2039822 + ldr r5, _08093120 @ =sIsMonBeingMoved ldrb r0, [r5] cmp r0, 0 beq _08093124 @@ -15124,9 +15124,9 @@ _08093102: strb r0, [r5] b _0809313E .align 2, 0 -_08093120: .4byte gUnknown_2039822 +_08093120: .4byte sIsMonBeingMoved _08093124: - ldr r5, _0809316C @ =gUnknown_2039821 + ldr r5, _0809316C @ =sBoxCursorPosition ldrb r1, [r5] movs r0, 0xE bl sub_8092F60 @@ -15145,7 +15145,7 @@ _0809313E: lsrs r0, r4, 24 bl sub_80901EC _08093150: - ldr r0, _08093170 @ =gUnknown_20397B0 + ldr r0, _08093170 @ =sPSSData ldr r0, [r0] movs r1, 0xCB lsls r1, 4 @@ -15159,14 +15159,14 @@ _08093164: pop {r1} bx r1 .align 2, 0 -_0809316C: .4byte gUnknown_2039821 -_08093170: .4byte gUnknown_20397B0 +_0809316C: .4byte sBoxCursorPosition +_08093170: .4byte sPSSData thumb_func_end sub_80930E4 thumb_func_start sub_8093174 sub_8093174: @ 8093174 push {lr} - ldr r0, _08093190 @ =gUnknown_20397B0 + ldr r0, _08093190 @ =sPSSData ldr r0, [r0] movs r1, 0xCB lsls r1, 4 @@ -15178,22 +15178,22 @@ sub_8093174: @ 8093174 pop {r0} bx r0 .align 2, 0 -_08093190: .4byte gUnknown_20397B0 +_08093190: .4byte sPSSData thumb_func_end sub_8093174 thumb_func_start sub_8093194 sub_8093194: @ 8093194 push {lr} - ldr r0, _080931A4 @ =gUnknown_2039822 + ldr r0, _080931A4 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _080931A8 movs r2, 0x2 b _080931B8 .align 2, 0 -_080931A4: .4byte gUnknown_2039822 +_080931A4: .4byte sIsMonBeingMoved _080931A8: - ldr r0, _080931D8 @ =gUnknown_2039820 + ldr r0, _080931D8 @ =sBoxCursorArea movs r1, 0 ldrsb r1, [r0, r1] movs r2, 0x1 @@ -15202,11 +15202,11 @@ _080931A8: orrs r0, r1 lsrs r2, r0, 31 _080931B8: - ldr r0, _080931DC @ =gUnknown_2039821 + ldr r0, _080931DC @ =sBoxCursorPosition ldrb r1, [r0] adds r0, r2, 0 bl sub_8090FC4 - ldr r0, _080931E0 @ =gUnknown_20397B0 + ldr r0, _080931E0 @ =sPSSData ldr r1, [r0] ldr r2, _080931E4 @ =0x000021d0 adds r0, r1, r2 @@ -15216,9 +15216,9 @@ _080931B8: pop {r0} bx r0 .align 2, 0 -_080931D8: .4byte gUnknown_2039820 -_080931DC: .4byte gUnknown_2039821 -_080931E0: .4byte gUnknown_20397B0 +_080931D8: .4byte sBoxCursorArea +_080931DC: .4byte sBoxCursorPosition +_080931E0: .4byte sPSSData _080931E4: .4byte 0x000021d0 _080931E8: .4byte 0x00000cea thumb_func_end sub_8093194 @@ -15233,7 +15233,7 @@ sub_80931EC: @ 80931EC movs r0, 0x1 b _08093210 _080931FC: - ldr r0, _08093214 @ =gUnknown_20397B0 + ldr r0, _08093214 @ =sPSSData ldr r0, [r0] movs r1, 0xCB lsls r1, 4 @@ -15246,14 +15246,14 @@ _08093210: pop {r1} bx r1 .align 2, 0 -_08093214: .4byte gUnknown_20397B0 +_08093214: .4byte sPSSData thumb_func_end sub_80931EC thumb_func_start sub_8093218 sub_8093218: @ 8093218 push {lr} bl sub_80910CC - ldr r1, _0809322C @ =gUnknown_2039822 + ldr r1, _0809322C @ =sIsMonBeingMoved ldrb r0, [r1] cmp r0, 0 beq _08093230 @@ -15261,9 +15261,9 @@ sub_8093218: @ 8093218 strb r0, [r1] b _08093256 .align 2, 0 -_0809322C: .4byte gUnknown_2039822 +_0809322C: .4byte sIsMonBeingMoved _08093230: - ldr r0, _08093240 @ =gUnknown_2039820 + ldr r0, _08093240 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -15272,13 +15272,13 @@ _08093230: movs r2, 0xE b _0809324C .align 2, 0 -_08093240: .4byte gUnknown_2039820 +_08093240: .4byte sBoxCursorArea _08093244: bl StorageGetCurrentBox lsls r0, 24 lsrs r2, r0, 24 _0809324C: - ldr r0, _08093260 @ =gUnknown_2039821 + ldr r0, _08093260 @ =sBoxCursorPosition ldrb r1, [r0] adds r0, r2, 0 bl sub_8093030 @@ -15287,17 +15287,17 @@ _08093256: pop {r0} bx r0 .align 2, 0 -_08093260: .4byte gUnknown_2039821 +_08093260: .4byte sBoxCursorPosition thumb_func_end sub_8093218 thumb_func_start sub_8093264 sub_8093264: @ 8093264 push {lr} - ldr r0, _08093284 @ =gUnknown_2039822 + ldr r0, _08093284 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _08093280 - ldr r0, _08093288 @ =gUnknown_20397B0 + ldr r0, _08093288 @ =sPSSData ldr r0, [r0] movs r1, 0xCB lsls r1, 4 @@ -15309,18 +15309,18 @@ _08093280: pop {r0} bx r0 .align 2, 0 -_08093284: .4byte gUnknown_2039822 -_08093288: .4byte gUnknown_20397B0 +_08093284: .4byte sIsMonBeingMoved +_08093288: .4byte sPSSData thumb_func_end sub_8093264 thumb_func_start sub_809328C sub_809328C: @ 809328C push {r4-r6,lr} - ldr r0, _080932C0 @ =gUnknown_2039822 + ldr r0, _080932C0 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _080932D8 - ldr r4, _080932C4 @ =gUnknown_20397B0 + ldr r4, _080932C4 @ =sPSSData ldr r1, [r4] ldr r2, _080932C8 @ =0x00002104 adds r0, r1, r2 @@ -15340,25 +15340,25 @@ sub_809328C: @ 809328C negs r1, r1 b _08093354 .align 2, 0 -_080932C0: .4byte gUnknown_2039822 -_080932C4: .4byte gUnknown_20397B0 +_080932C0: .4byte sIsMonBeingMoved +_080932C4: .4byte sPSSData _080932C8: .4byte 0x00002104 _080932CC: .4byte 0x000020a0 _080932D0: .4byte 0x0000216e _080932D4: .4byte 0x0000216f _080932D8: - ldr r0, _0809330C @ =gUnknown_2039820 + ldr r0, _0809330C @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0x1 bne _08093324 - ldr r4, _08093310 @ =gUnknown_20397B0 + ldr r4, _08093310 @ =sPSSData ldr r0, [r4] ldr r3, _08093314 @ =0x00002104 adds r0, r3 ldr r3, _08093318 @ =gPlayerParty - ldr r1, _0809331C @ =gUnknown_2039821 + ldr r1, _0809331C @ =sBoxCursorPosition movs r2, 0 ldrsb r2, [r1, r2] movs r1, 0x64 @@ -15373,19 +15373,19 @@ _080932D8: strb r1, [r0] b _08093348 .align 2, 0 -_0809330C: .4byte gUnknown_2039820 -_08093310: .4byte gUnknown_20397B0 +_0809330C: .4byte sBoxCursorArea +_08093310: .4byte sPSSData _08093314: .4byte 0x00002104 _08093318: .4byte gPlayerParty -_0809331C: .4byte gUnknown_2039821 +_0809331C: .4byte sBoxCursorPosition _08093320: .4byte 0x0000216e _08093324: bl StorageGetCurrentBox lsls r0, 24 lsrs r0, 24 - ldr r1, _080933BC @ =gUnknown_2039821 + ldr r1, _080933BC @ =sBoxCursorPosition ldrb r1, [r1] - ldr r4, _080933C0 @ =gUnknown_20397B0 + ldr r4, _080933C0 @ =sPSSData ldr r2, [r4] ldr r3, _080933C4 @ =0x00002104 adds r2, r3 @@ -15396,15 +15396,15 @@ _08093324: adds r1, r2 strb r0, [r1] _08093348: - ldr r0, _080933C0 @ =gUnknown_20397B0 + ldr r0, _080933C0 @ =sPSSData ldr r0, [r0] - ldr r1, _080933BC @ =gUnknown_2039821 + ldr r1, _080933BC @ =sBoxCursorPosition ldrb r1, [r1] ldr r3, _080933CC @ =0x0000216f adds r0, r3 _08093354: strb r1, [r0] - ldr r6, _080933C0 @ =gUnknown_20397B0 + ldr r6, _080933C0 @ =sPSSData ldr r0, [r6] ldr r4, _080933D0 @ =0x0000216a adds r0, r4 @@ -15455,8 +15455,8 @@ _08093354: strb r0, [r1] b _080933FE .align 2, 0 -_080933BC: .4byte gUnknown_2039821 -_080933C0: .4byte gUnknown_20397B0 +_080933BC: .4byte sBoxCursorPosition +_080933C0: .4byte sPSSData _080933C4: .4byte 0x00002104 _080933C8: .4byte 0x0000216e _080933CC: .4byte 0x0000216f @@ -15477,7 +15477,7 @@ _080933F0: adds r0, r1 strb r2, [r0] _080933FE: - ldr r0, _08093418 @ =gUnknown_20397B0 + ldr r0, _08093418 @ =sPSSData ldr r0, [r0] ldr r2, _0809341C @ =0x00002170 adds r0, r2 @@ -15489,7 +15489,7 @@ _080933FE: .align 2, 0 _08093410: .4byte 0x00002169 _08093414: .4byte 0x00002168 -_08093418: .4byte gUnknown_20397B0 +_08093418: .4byte sPSSData _0809341C: .4byte 0x00002170 thumb_func_end sub_809328C @@ -15498,7 +15498,7 @@ sub_8093420: @ 8093420 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r0, _08093444 @ =gUnknown_20397B0 + ldr r0, _08093444 @ =sPSSData ldr r3, [r0] ldr r2, _08093448 @ =0x00002169 adds r1, r3, r2 @@ -15513,7 +15513,7 @@ sub_8093420: @ 8093420 asrs r0, 24 b _08093604 .align 2, 0 -_08093444: .4byte gUnknown_20397B0 +_08093444: .4byte sPSSData _08093448: .4byte 0x00002169 _0809344C: .4byte 0x00002168 _08093450: @@ -15569,7 +15569,7 @@ _08093488: _080934AE: movs r0, 0x2 ands r4, r0 - ldr r0, _08093510 @ =gUnknown_20397B0 + ldr r0, _08093510 @ =sPSSData mov r12, r0 cmp r4, 0 beq _080934C2 @@ -15614,7 +15614,7 @@ _08093500: .4byte 0x0000216e _08093504: .4byte gPlayerParty _08093508: .4byte 0x00002172 _0809350C: .4byte 0x0000216a -_08093510: .4byte gUnknown_20397B0 +_08093510: .4byte sPSSData _08093514: .4byte 0x0000216b _08093518: .4byte 0x0000216c _0809351C: .4byte 0x0000216d @@ -15686,7 +15686,7 @@ _0809358E: movs r1, 0 strb r1, [r0] _080935A0: - ldr r2, _08093628 @ =gUnknown_20397B0 + ldr r2, _08093628 @ =sPSSData ldr r1, [r2] ldr r0, _08093618 @ =0x0000216d adds r1, r0 @@ -15753,19 +15753,19 @@ _08093618: .4byte 0x0000216d _0809361C: .4byte 0x0000216e _08093620: .4byte 0x0000216a _08093624: .4byte 0x0000216b -_08093628: .4byte gUnknown_20397B0 +_08093628: .4byte sPSSData _0809362C: .4byte 0x00002168 thumb_func_end sub_8093420 thumb_func_start sub_8093630 sub_8093630: @ 8093630 push {lr} - ldr r0, _08093650 @ =gUnknown_2039822 + ldr r0, _08093650 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _0809364A ldr r0, _08093654 @ =gUnknown_20397BC - ldr r1, _08093658 @ =gUnknown_20397B0 + ldr r1, _08093658 @ =sPSSData ldr r1, [r1] ldr r2, _0809365C @ =0x000020a0 adds r1, r2 @@ -15775,24 +15775,24 @@ _0809364A: pop {r0} bx r0 .align 2, 0 -_08093650: .4byte gUnknown_2039822 +_08093650: .4byte sIsMonBeingMoved _08093654: .4byte gUnknown_20397BC -_08093658: .4byte gUnknown_20397B0 +_08093658: .4byte sPSSData _0809365C: .4byte 0x000020a0 thumb_func_end sub_8093630 thumb_func_start sub_8093660 sub_8093660: @ 8093660 push {lr} - ldr r0, _08093684 @ =gUnknown_2039822 + ldr r0, _08093684 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _080936A8 - ldr r0, _08093688 @ =gUnknown_2039823 + ldr r0, _08093688 @ =sMovingMonOrigBoxId ldrb r0, [r0] cmp r0, 0xE bne _08093698 - ldr r0, _0809368C @ =gUnknown_20397B0 + ldr r0, _0809368C @ =sPSSData ldr r0, [r0] ldr r1, _08093690 @ =0x000020a0 adds r0, r1 @@ -15801,13 +15801,13 @@ sub_8093660: @ 8093660 bl memcpy b _080936A8 .align 2, 0 -_08093684: .4byte gUnknown_2039822 -_08093688: .4byte gUnknown_2039823 -_0809368C: .4byte gUnknown_20397B0 +_08093684: .4byte sIsMonBeingMoved +_08093688: .4byte sMovingMonOrigBoxId +_0809368C: .4byte sPSSData _08093690: .4byte 0x000020a0 _08093694: .4byte gUnknown_20397BC _08093698: - ldr r0, _080936AC @ =gUnknown_20397B0 + ldr r0, _080936AC @ =sPSSData ldr r0, [r0] ldr r1, _080936B0 @ =0x000020a0 adds r0, r1 @@ -15818,7 +15818,7 @@ _080936A8: pop {r0} bx r0 .align 2, 0 -_080936AC: .4byte gUnknown_20397B0 +_080936AC: .4byte sPSSData _080936B0: .4byte 0x000020a0 _080936B4: .4byte gUnknown_20397BC thumb_func_end sub_8093660 @@ -15826,12 +15826,12 @@ _080936B4: .4byte gUnknown_20397BC thumb_func_start sub_80936B8 sub_80936B8: @ 80936B8 push {r4,r5,lr} - ldr r0, _080936EC @ =gUnknown_2039822 + ldr r0, _080936EC @ =sIsMonBeingMoved ldrb r5, [r0] cmp r5, 0 beq _08093708 bl sub_8093630 - ldr r3, _080936F0 @ =gUnknown_20397B0 + ldr r3, _080936F0 @ =sPSSData ldr r1, [r3] ldr r0, _080936F4 @ =0x0000217c adds r2, r1, r0 @@ -15851,27 +15851,27 @@ sub_80936B8: @ 80936B8 strb r2, [r0] b _0809379A .align 2, 0 -_080936EC: .4byte gUnknown_2039822 -_080936F0: .4byte gUnknown_20397B0 +_080936EC: .4byte sIsMonBeingMoved +_080936F0: .4byte sPSSData _080936F4: .4byte 0x0000217c _080936F8: .4byte gUnknown_20397BC _080936FC: .4byte 0x00002179 _08093700: .4byte 0x00002178 _08093704: .4byte 0x0000217a _08093708: - ldr r0, _08093744 @ =gUnknown_2039820 + ldr r0, _08093744 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0x1 bne _08093764 - ldr r4, _08093748 @ =gUnknown_20397B0 + ldr r4, _08093748 @ =sPSSData ldr r1, [r4] ldr r0, _0809374C @ =0x0000217c adds r2, r1, r0 ldr r0, _08093750 @ =gPlayerParty str r0, [r2] - ldr r0, _08093754 @ =gUnknown_2039821 + ldr r0, _08093754 @ =sBoxCursorPosition ldrb r0, [r0] ldr r2, _08093758 @ =0x00002179 adds r1, r2 @@ -15888,11 +15888,11 @@ _08093708: strb r5, [r0] b _0809379A .align 2, 0 -_08093744: .4byte gUnknown_2039820 -_08093748: .4byte gUnknown_20397B0 +_08093744: .4byte sBoxCursorArea +_08093748: .4byte sPSSData _0809374C: .4byte 0x0000217c _08093750: .4byte gPlayerParty -_08093754: .4byte gUnknown_2039821 +_08093754: .4byte sBoxCursorPosition _08093758: .4byte 0x00002179 _0809375C: .4byte 0x00002178 _08093760: .4byte 0x0000217a @@ -15902,12 +15902,12 @@ _08093764: lsrs r0, 24 movs r1, 0 bl GetBoxedMonPtr - ldr r3, _080937A0 @ =gUnknown_20397B0 + ldr r3, _080937A0 @ =sPSSData ldr r2, [r3] ldr r4, _080937A4 @ =0x0000217c adds r1, r2, r4 str r0, [r1] - ldr r0, _080937A8 @ =gUnknown_2039821 + ldr r0, _080937A8 @ =sBoxCursorPosition ldrb r0, [r0] ldr r1, _080937AC @ =0x00002179 adds r2, r1 @@ -15927,9 +15927,9 @@ _0809379A: pop {r0} bx r0 .align 2, 0 -_080937A0: .4byte gUnknown_20397B0 +_080937A0: .4byte sPSSData _080937A4: .4byte 0x0000217c -_080937A8: .4byte gUnknown_2039821 +_080937A8: .4byte sBoxCursorPosition _080937AC: .4byte 0x00002179 _080937B0: .4byte 0x00002178 thumb_func_end sub_80936B8 @@ -15937,16 +15937,16 @@ _080937B0: .4byte 0x00002178 thumb_func_start sub_80937B4 sub_80937B4: @ 80937B4 push {r4,lr} - ldr r0, _080937C4 @ =gUnknown_2039822 + ldr r0, _080937C4 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _080937C8 bl sub_8093660 b _080937D0 .align 2, 0 -_080937C4: .4byte gUnknown_2039822 +_080937C4: .4byte sIsMonBeingMoved _080937C8: - ldr r4, _080937D8 @ =gUnknown_2039821 + ldr r4, _080937D8 @ =sBoxCursorPosition bl GetLastViewedMonIndex strb r0, [r4] _080937D0: @@ -15954,7 +15954,7 @@ _080937D0: pop {r0} bx r0 .align 2, 0 -_080937D8: .4byte gUnknown_2039821 +_080937D8: .4byte sBoxCursorPosition thumb_func_end sub_80937B4 thumb_func_start CompactPartySlots @@ -16048,12 +16048,12 @@ sub_8093878: @ 8093878 lsrs r0, 24 mov r1, sp strb r0, [r1] - ldr r2, _080938A8 @ =gUnknown_20397B0 + ldr r2, _080938A8 @ =sPSSData ldr r1, [r2] ldr r3, _080938AC @ =0x00000ce7 adds r1, r3 strb r0, [r1] - ldr r0, _080938B0 @ =gUnknown_2039822 + ldr r0, _080938B0 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _080938B8 @@ -16065,17 +16065,17 @@ sub_8093878: @ 8093878 bl SetMonData b _080938EC .align 2, 0 -_080938A8: .4byte gUnknown_20397B0 +_080938A8: .4byte sPSSData _080938AC: .4byte 0x00000ce7 -_080938B0: .4byte gUnknown_2039822 +_080938B0: .4byte sIsMonBeingMoved _080938B4: .4byte 0x000020a0 _080938B8: - ldr r4, _080938F4 @ =gUnknown_2039820 + ldr r4, _080938F4 @ =sBoxCursorArea movs r0, 0 ldrsb r0, [r4, r0] cmp r0, 0x1 bne _080938D8 - ldr r0, _080938F8 @ =gUnknown_2039821 + ldr r0, _080938F8 @ =sBoxCursorPosition movs r1, 0 ldrsb r1, [r0, r1] movs r0, 0x64 @@ -16090,7 +16090,7 @@ _080938D8: ldrsb r0, [r4, r0] cmp r0, 0 bne _080938EC - ldr r0, _080938F8 @ =gUnknown_2039821 + ldr r0, _080938F8 @ =sBoxCursorPosition ldrb r0, [r0] movs r1, 0x8 mov r2, sp @@ -16101,25 +16101,25 @@ _080938EC: pop {r0} bx r0 .align 2, 0 -_080938F4: .4byte gUnknown_2039820 -_080938F8: .4byte gUnknown_2039821 +_080938F4: .4byte sBoxCursorArea +_080938F8: .4byte sBoxCursorPosition _080938FC: .4byte gPlayerParty thumb_func_end sub_8093878 thumb_func_start sub_8093900 sub_8093900: @ 8093900 push {lr} - ldr r0, _08093928 @ =gUnknown_2039820 + ldr r0, _08093928 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0x1 bne _08093934 - ldr r0, _0809392C @ =gUnknown_2039822 + ldr r0, _0809392C @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 bne _08093934 - ldr r0, _08093930 @ =gUnknown_2039821 + ldr r0, _08093930 @ =sBoxCursorPosition ldrb r0, [r0] bl CountPartyAliveNonEggMonsExcept lsls r0, 24 @@ -16128,9 +16128,9 @@ sub_8093900: @ 8093900 movs r0, 0x1 b _08093936 .align 2, 0 -_08093928: .4byte gUnknown_2039820 -_0809392C: .4byte gUnknown_2039822 -_08093930: .4byte gUnknown_2039821 +_08093928: .4byte sBoxCursorArea +_0809392C: .4byte sIsMonBeingMoved +_08093930: .4byte sBoxCursorPosition _08093934: movs r0, 0 _08093936: @@ -16141,23 +16141,23 @@ _08093936: thumb_func_start sub_809393C sub_809393C: @ 809393C push {lr} - ldr r0, _08093980 @ =gUnknown_2039822 + ldr r0, _08093980 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _08093998 - ldr r0, _08093984 @ =gUnknown_2039820 + ldr r0, _08093984 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0x1 bne _0809397C - ldr r0, _08093988 @ =gUnknown_2039821 + ldr r0, _08093988 @ =sBoxCursorPosition ldrb r0, [r0] bl CountPartyAliveNonEggMonsExcept lsls r0, 24 cmp r0, 0 bne _0809397C - ldr r0, _0809398C @ =gUnknown_20397B0 + ldr r0, _0809398C @ =sPSSData ldr r1, [r0] ldr r2, _08093990 @ =0x00000ce9 adds r0, r1, r2 @@ -16174,10 +16174,10 @@ _0809397C: movs r0, 0x1 b _0809399A .align 2, 0 -_08093980: .4byte gUnknown_2039822 -_08093984: .4byte gUnknown_2039820 -_08093988: .4byte gUnknown_2039821 -_0809398C: .4byte gUnknown_20397B0 +_08093980: .4byte sIsMonBeingMoved +_08093984: .4byte sBoxCursorArea +_08093988: .4byte sBoxCursorPosition +_0809398C: .4byte sPSSData _08093990: .4byte 0x00000ce9 _08093994: .4byte 0x000020a0 _08093998: @@ -16189,18 +16189,18 @@ _0809399A: thumb_func_start sub_80939A0 sub_80939A0: @ 80939A0 - ldr r0, _080939A8 @ =gUnknown_2039822 + ldr r0, _080939A8 @ =sIsMonBeingMoved ldrb r0, [r0] bx lr .align 2, 0 -_080939A8: .4byte gUnknown_2039822 +_080939A8: .4byte sIsMonBeingMoved thumb_func_end sub_80939A0 thumb_func_start sub_80939AC sub_80939AC: @ 80939AC push {lr} movs r1, 0 - ldr r0, _080939C4 @ =gUnknown_2039820 + ldr r0, _080939C4 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -16212,20 +16212,20 @@ _080939BE: pop {r1} bx r1 .align 2, 0 -_080939C4: .4byte gUnknown_2039820 +_080939C4: .4byte sBoxCursorArea thumb_func_end sub_80939AC thumb_func_start sub_80939C8 sub_80939C8: @ 80939C8 push {lr} movs r1, 0 - ldr r0, _080939EC @ =gUnknown_2039820 + ldr r0, _080939EC @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0x3 bne _080939E6 - ldr r0, _080939F0 @ =gUnknown_2039821 + ldr r0, _080939F0 @ =sBoxCursorPosition ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -16237,15 +16237,15 @@ _080939E6: pop {r1} bx r1 .align 2, 0 -_080939EC: .4byte gUnknown_2039820 -_080939F0: .4byte gUnknown_2039821 +_080939EC: .4byte sBoxCursorArea +_080939F0: .4byte sBoxCursorPosition thumb_func_end sub_80939C8 thumb_func_start sub_80939F4 sub_80939F4: @ 80939F4 push {lr} movs r1, 0 - ldr r0, _08093A0C @ =gUnknown_2039820 + ldr r0, _08093A0C @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -16257,16 +16257,16 @@ _08093A06: pop {r1} bx r1 .align 2, 0 -_08093A0C: .4byte gUnknown_2039820 +_08093A0C: .4byte sBoxCursorArea thumb_func_end sub_80939F4 thumb_func_start sub_8093A10 sub_8093A10: @ 8093A10 push {r4,lr} - ldr r0, _08093A44 @ =gUnknown_20397B0 + ldr r0, _08093A44 @ =sPSSData ldr r1, [r0] movs r2, 0 - ldr r3, _08093A48 @ =gUnknown_2039822 + ldr r3, _08093A48 @ =sIsMonBeingMoved ldrb r0, [r3] cmp r0, 0 bne _08093A22 @@ -16278,7 +16278,7 @@ _08093A22: ldrb r0, [r3] cmp r0, 0 bne _08093AA0 - ldr r0, _08093A50 @ =gUnknown_2039820 + ldr r0, _08093A50 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -16290,16 +16290,16 @@ _08093A22: beq _08093A8A b _08093AA0 .align 2, 0 -_08093A44: .4byte gUnknown_20397B0 -_08093A48: .4byte gUnknown_2039822 +_08093A44: .4byte sPSSData +_08093A48: .4byte sIsMonBeingMoved _08093A4C: .4byte 0x00000ce6 -_08093A50: .4byte gUnknown_2039820 +_08093A50: .4byte sBoxCursorArea _08093A54: cmp r0, 0x3 bgt _08093AA0 b _08093A80 _08093A5A: - ldr r1, _08093A78 @ =gUnknown_2039821 + ldr r1, _08093A78 @ =sBoxCursorPosition movs r0, 0 ldrsb r0, [r1, r0] cmp r0, 0x5 @@ -16313,7 +16313,7 @@ _08093A5A: bl sub_8093AD0 b _08093AA0 .align 2, 0 -_08093A78: .4byte gUnknown_2039821 +_08093A78: .4byte sBoxCursorPosition _08093A7C: .4byte gPlayerParty _08093A80: movs r0, 0 @@ -16324,7 +16324,7 @@ _08093A8A: bl StorageGetCurrentBox lsls r0, 24 lsrs r0, 24 - ldr r1, _08093AA8 @ =gUnknown_2039821 + ldr r1, _08093AA8 @ =sBoxCursorPosition ldrb r1, [r1] bl GetBoxedMonPtr movs r1, 0x1 @@ -16334,13 +16334,13 @@ _08093AA0: pop {r0} bx r0 .align 2, 0 -_08093AA8: .4byte gUnknown_2039821 +_08093AA8: .4byte sBoxCursorPosition thumb_func_end sub_8093A10 thumb_func_start sub_8093AAC sub_8093AAC: @ 8093AAC push {lr} - ldr r0, _08093AC0 @ =gUnknown_2039822 + ldr r0, _08093AC0 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _08093AC8 @@ -16349,7 +16349,7 @@ sub_8093AAC: @ 8093AAC bl sub_8093AD0 b _08093ACC .align 2, 0 -_08093AC0: .4byte gUnknown_2039822 +_08093AC0: .4byte sIsMonBeingMoved _08093AC4: .4byte gUnknown_20397BC _08093AC8: bl sub_8093A10 @@ -16369,7 +16369,7 @@ sub_8093AD0: @ 8093AD0 lsls r1, 24 lsrs r1, 24 adds r5, r1, 0 - ldr r0, _08093B38 @ =gUnknown_20397B0 + ldr r0, _08093B38 @ =sPSSData mov r8, r0 ldr r1, [r0] ldr r3, _08093B3C @ =0x00000ce2 @@ -16411,7 +16411,7 @@ _08093B16: strb r1, [r0] b _08093B56 .align 2, 0 -_08093B38: .4byte gUnknown_20397B0 +_08093B38: .4byte sPSSData _08093B3C: .4byte 0x00000ce2 _08093B40: .4byte 0x00000ce9 _08093B44: @@ -16424,7 +16424,7 @@ _08093B44: adds r1, r2 strb r0, [r1] _08093B56: - ldr r4, _08093BD0 @ =gUnknown_20397B0 + ldr r4, _08093BD0 @ =sPSSData ldr r2, [r4] ldr r5, _08093BD4 @ =0x00000cea adds r2, r5 @@ -16476,7 +16476,7 @@ _08093B56: b _08093CFC .align 2, 0 _08093BCC: .4byte 0x00000ce9 -_08093BD0: .4byte gUnknown_20397B0 +_08093BD0: .4byte sPSSData _08093BD4: .4byte 0x00000cea _08093BD8: .4byte 0x00000ce8 _08093BDC: .4byte 0x00000ce7 @@ -16533,7 +16533,7 @@ _08093C3C: adds r1, r2 strb r0, [r1] _08093C4E: - ldr r5, _08093CD4 @ =gUnknown_20397B0 + ldr r5, _08093CD4 @ =sPSSData ldr r2, [r5] ldr r4, _08093CD8 @ =0x00000cea adds r2, r4 @@ -16591,7 +16591,7 @@ _08093C4E: b _08093CFC .align 2, 0 _08093CD0: .4byte 0x00000ce9 -_08093CD4: .4byte gUnknown_20397B0 +_08093CD4: .4byte sPSSData _08093CD8: .4byte 0x00000cea _08093CDC: .4byte 0x00000ce8 _08093CE0: .4byte 0x00000ce7 @@ -16606,7 +16606,7 @@ _08093CF0: strh r1, [r0] strh r1, [r2] _08093CFC: - ldr r0, _08093D50 @ =gUnknown_20397B0 + ldr r0, _08093D50 @ =sPSSData ldr r1, [r0] movs r2, 0xCE lsls r2, 4 @@ -16615,7 +16615,7 @@ _08093CFC: cmp r2, 0 bne _08093D68 _08093D0C: - ldr r4, _08093D50 @ =gUnknown_20397B0 + ldr r4, _08093D50 @ =sPSSData ldr r0, [r4] ldr r3, _08093D54 @ =0x00000cea adds r0, r3 @@ -16645,7 +16645,7 @@ _08093D0C: adds r0, r1 b _08093DC6 .align 2, 0 -_08093D50: .4byte gUnknown_20397B0 +_08093D50: .4byte sPSSData _08093D54: .4byte 0x00000cea _08093D58: .4byte 0x00000cf5 _08093D5C: .4byte 0x00000d19 @@ -16679,7 +16679,7 @@ _08093D94: movs r3, 0x8 bl StringCopyPadded _08093DA2: - ldr r4, _08093DD8 @ =gUnknown_20397B0 + ldr r4, _08093DD8 @ =sPSSData ldr r0, [r4] ldr r3, _08093DDC @ =0x00000d19 adds r0, r3 @@ -16703,7 +16703,7 @@ _08093DC6: .align 2, 0 _08093DD0: .4byte 0x00000cf5 _08093DD4: .4byte gText_EggNickname -_08093DD8: .4byte gUnknown_20397B0 +_08093DD8: .4byte sPSSData _08093DDC: .4byte 0x00000d19 _08093DE0: .4byte 0x00000d3d _08093DE4: .4byte 0x00000d61 @@ -16716,7 +16716,7 @@ _08093DF0: movs r3, 0xFF mov r9, r3 _08093DF4: - ldr r4, _08093E78 @ =gUnknown_20397B0 + ldr r4, _08093E78 @ =sPSSData ldr r1, [r4] ldr r2, _08093E7C @ =0x00000cf5 adds r0, r1, r2 @@ -16780,7 +16780,7 @@ _08093DF4: adds r2, r4, r0 b _08093EF2 .align 2, 0 -_08093E78: .4byte gUnknown_20397B0 +_08093E78: .4byte sPSSData _08093E7C: .4byte 0x00000cf5 _08093E80: .4byte 0x00000cea _08093E84: .4byte 0x00000d19 @@ -16855,7 +16855,7 @@ _08093EF2: movs r0, 0x5 strb r0, [r2] adds r2, 0x1 - ldr r4, _08093F68 @ =gUnknown_20397B0 + ldr r4, _08093F68 @ =sPSSData ldr r0, [r4] ldr r1, _08093F6C @ =0x00000ce8 adds r0, r1 @@ -16886,7 +16886,7 @@ _08093EF2: .align 2, 0 _08093F60: .4byte 0x00000d41 _08093F64: .4byte 0x00000d42 -_08093F68: .4byte gUnknown_20397B0 +_08093F68: .4byte sPSSData _08093F6C: .4byte 0x00000ce8 _08093F70: .4byte 0x00000ce2 _08093F74: .4byte 0x00000d61 @@ -16911,7 +16911,7 @@ _08093F94: .4byte 0x00000d61 thumb_func_start sub_8093F98 sub_8093F98: @ 8093F98 push {lr} - ldr r0, _08093FB8 @ =gUnknown_20397B0 + ldr r0, _08093FB8 @ =sPSSData ldr r0, [r0] ldr r1, _08093FBC @ =0x000021ef adds r0, r1 @@ -16926,7 +16926,7 @@ _08093FB0: bl sub_8093FD4 b _08093FCA .align 2, 0 -_08093FB8: .4byte gUnknown_20397B0 +_08093FB8: .4byte sPSSData _08093FBC: .4byte 0x000021ef _08093FC0: bl sub_8094240 @@ -16947,12 +16947,12 @@ sub_8093FD4: @ 8093FD4 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r0, _08094058 @ =gUnknown_2039820 + ldr r0, _08094058 @ =sBoxCursorArea ldrb r0, [r0] mov r8, r0 - ldr r2, _0809405C @ =gUnknown_2039821 + ldr r2, _0809405C @ =sBoxCursorPosition ldrb r4, [r2] - ldr r5, _08094060 @ =gUnknown_20397B0 + ldr r5, _08094060 @ =sPSSData ldr r0, [r5] ldr r1, _08094064 @ =0x00000cce mov r10, r1 @@ -17009,9 +17009,9 @@ _08094034: strb r6, [r0] b _08094224 .align 2, 0 -_08094058: .4byte gUnknown_2039820 -_0809405C: .4byte gUnknown_2039821 -_08094060: .4byte gUnknown_20397B0 +_08094058: .4byte sBoxCursorArea +_0809405C: .4byte sBoxCursorPosition +_08094060: .4byte sPSSData _08094064: .4byte 0x00000cce _08094068: .4byte 0x00000ccf _0809406C: .4byte 0x00000cd3 @@ -17089,20 +17089,20 @@ _080940EC: lsls r0, 24 cmp r0, 0 beq _080941B0 - ldr r0, _0809410C @ =gUnknown_2039825 + ldr r0, _0809410C @ =sCanOnlyMove ldrb r0, [r0] cmp r0, 0 bne _08094110 movs r0, 0x8 b _08094232 .align 2, 0 -_0809410C: .4byte gUnknown_2039825 +_0809410C: .4byte sCanOnlyMove _08094110: ldr r1, [r5] ldrb r0, [r1, 0x1] cmp r0, 0x2 bne _08094120 - ldr r0, _0809413C @ =gUnknown_2039822 + ldr r0, _0809413C @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0x1 bne _080941A0 @@ -17120,7 +17120,7 @@ _08094120: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0809413C: .4byte gUnknown_2039822 +_0809413C: .4byte sIsMonBeingMoved _08094140: .4byte _08094144 .align 2, 0 _08094144: @@ -17267,7 +17267,7 @@ sub_8094240: @ 8094240 ands r0, r1 cmp r0, 0 beq _08094278 - ldr r4, _08094274 @ =gUnknown_2039821 + ldr r4, _08094274 @ =sBoxCursorPosition movs r0, 0 ldrsb r0, [r4, r0] movs r1, 0x6 @@ -17280,13 +17280,13 @@ sub_8094240: @ 8094240 b _080942DA .align 2, 0 _08094270: .4byte gMain -_08094274: .4byte gUnknown_2039821 +_08094274: .4byte sBoxCursorPosition _08094278: movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _08094298 - ldr r1, _08094294 @ =gUnknown_2039821 + ldr r1, _08094294 @ =sBoxCursorPosition movs r0, 0 ldrsb r0, [r1, r0] adds r0, 0x6 @@ -17296,13 +17296,13 @@ _08094278: adds r1, 0x6 b _080942DA .align 2, 0 -_08094294: .4byte gUnknown_2039821 +_08094294: .4byte sBoxCursorPosition _08094298: movs r0, 0x20 ands r0, r1 cmp r0, 0 beq _080942BC - ldr r4, _080942B8 @ =gUnknown_2039821 + ldr r4, _080942B8 @ =sBoxCursorPosition movs r0, 0 ldrsb r0, [r4, r0] movs r1, 0x6 @@ -17314,13 +17314,13 @@ _08094298: subs r1, 0x1 b _080942DA .align 2, 0 -_080942B8: .4byte gUnknown_2039821 +_080942B8: .4byte sBoxCursorPosition _080942BC: movs r0, 0x10 ands r0, r1 cmp r0, 0 beq _080942F0 - ldr r4, _080942E8 @ =gUnknown_2039821 + ldr r4, _080942E8 @ =sBoxCursorPosition movs r0, 0 ldrsb r0, [r4, r0] adds r0, 0x1 @@ -17338,7 +17338,7 @@ _080942DA: movs r0, 0x15 b _08094364 .align 2, 0 -_080942E8: .4byte gUnknown_2039821 +_080942E8: .4byte sBoxCursorPosition _080942EC: movs r0, 0x18 b _08094364 @@ -17349,14 +17349,14 @@ _080942F4: bl sub_8095AA0 lsls r0, 24 lsrs r0, 24 - ldr r1, _08094330 @ =gUnknown_2039821 + ldr r1, _08094330 @ =sBoxCursorPosition ldrb r1, [r1] lsls r1, 24 asrs r1, 24 cmp r0, r1 beq _08094344 - ldr r2, _08094334 @ =gUnknown_2039822 - ldr r0, _08094338 @ =gUnknown_20397B0 + ldr r2, _08094334 @ =sIsMonBeingMoved + ldr r0, _08094338 @ =sPSSData ldr r1, [r0] movs r3, 0xCE lsls r3, 4 @@ -17370,18 +17370,18 @@ _080942F4: movs r0, 0x2 strb r0, [r1] bl StorageGetCurrentBox - ldr r1, _08094340 @ =gUnknown_2039823 + ldr r1, _08094340 @ =sMovingMonOrigBoxId strb r0, [r1] movs r0, 0x17 b _08094364 .align 2, 0 -_08094330: .4byte gUnknown_2039821 -_08094334: .4byte gUnknown_2039822 -_08094338: .4byte gUnknown_20397B0 +_08094330: .4byte sBoxCursorPosition +_08094334: .4byte sIsMonBeingMoved +_08094338: .4byte sPSSData _0809433C: .4byte 0x000021ef -_08094340: .4byte gUnknown_2039823 +_08094340: .4byte sMovingMonOrigBoxId _08094344: - ldr r1, _0809436C @ =gUnknown_20397B0 + ldr r1, _0809436C @ =sPSSData ldr r0, [r1] ldr r2, _08094370 @ =0x000021ef adds r0, r2 @@ -17402,7 +17402,7 @@ _08094364: pop {r1} bx r1 .align 2, 0 -_0809436C: .4byte gUnknown_20397B0 +_0809436C: .4byte sPSSData _08094370: .4byte 0x000021ef _08094374: .4byte 0x00000cb4 thumb_func_end sub_8094240 @@ -17421,13 +17421,13 @@ sub_8094378: @ 8094378 lsls r0, 24 cmp r0, 0 beq _08094450 - ldr r0, _080943A0 @ =gUnknown_2039821 + ldr r0, _080943A0 @ =sBoxCursorPosition ldrb r1, [r0] subs r1, 0x6 b _08094402 .align 2, 0 _0809439C: .4byte gMain -_080943A0: .4byte gUnknown_2039821 +_080943A0: .4byte sBoxCursorPosition _080943A4: movs r0, 0x80 ands r0, r1 @@ -17438,12 +17438,12 @@ _080943A4: lsls r0, 24 cmp r0, 0 beq _08094450 - ldr r0, _080943C0 @ =gUnknown_2039821 + ldr r0, _080943C0 @ =sBoxCursorPosition ldrb r1, [r0] adds r1, 0x6 b _08094402 .align 2, 0 -_080943C0: .4byte gUnknown_2039821 +_080943C0: .4byte sBoxCursorPosition _080943C4: movs r0, 0x20 ands r0, r1 @@ -17454,12 +17454,12 @@ _080943C4: lsls r0, 24 cmp r0, 0 beq _0809446A - ldr r0, _080943E0 @ =gUnknown_2039821 + ldr r0, _080943E0 @ =sBoxCursorPosition ldrb r1, [r0] subs r1, 0x1 b _08094402 .align 2, 0 -_080943E0: .4byte gUnknown_2039821 +_080943E0: .4byte sBoxCursorPosition _080943E4: movs r0, 0x10 ands r0, r1 @@ -17472,7 +17472,7 @@ _080943E4: lsls r0, 24 cmp r0, 0 beq _0809447E - ldr r0, _08094410 @ =gUnknown_2039821 + ldr r0, _08094410 @ =sBoxCursorPosition ldrb r1, [r0] adds r1, 0x1 _08094402: @@ -17483,7 +17483,7 @@ _08094402: movs r0, 0x19 b _08094484 .align 2, 0 -_08094410: .4byte gUnknown_2039821 +_08094410: .4byte sBoxCursorPosition _08094414: ldrh r1, [r2, 0x2E] movs r0, 0x1 @@ -17494,9 +17494,9 @@ _08094414: lsls r0, 24 cmp r0, 0 beq _08094450 - ldr r0, _0809443C @ =gUnknown_2039822 + ldr r0, _0809443C @ =sIsMonBeingMoved strb r4, [r0] - ldr r0, _08094440 @ =gUnknown_20397B0 + ldr r0, _08094440 @ =sPSSData ldr r0, [r0] ldr r1, _08094444 @ =0x000021ef adds r0, r1 @@ -17504,8 +17504,8 @@ _08094414: movs r0, 0x1A b _08094484 .align 2, 0 -_0809443C: .4byte gUnknown_2039822 -_08094440: .4byte gUnknown_20397B0 +_0809443C: .4byte sIsMonBeingMoved +_08094440: .4byte sPSSData _08094444: .4byte 0x000021ef _08094448: movs r0, 0x2 @@ -17555,12 +17555,12 @@ sub_809448C: @ 809448C mov r7, r9 mov r6, r8 push {r6,r7} - ldr r0, _080944FC @ =gUnknown_2039820 + ldr r0, _080944FC @ =sBoxCursorArea ldrb r0, [r0] mov r9, r0 - ldr r6, _08094500 @ =gUnknown_2039821 + ldr r6, _08094500 @ =sBoxCursorPosition ldrb r4, [r6] - ldr r2, _08094504 @ =gUnknown_20397B0 + ldr r2, _08094504 @ =sPSSData ldr r0, [r2] ldr r1, _08094508 @ =0x00000ccf adds r0, r1 @@ -17611,9 +17611,9 @@ _080944F8: movs r7, 0x1 b _08094692 .align 2, 0 -_080944FC: .4byte gUnknown_2039820 -_08094500: .4byte gUnknown_2039821 -_08094504: .4byte gUnknown_20397B0 +_080944FC: .4byte sBoxCursorArea +_08094500: .4byte sBoxCursorPosition +_08094504: .4byte sPSSData _08094508: .4byte 0x00000ccf _0809450C: .4byte 0x00000cce _08094510: .4byte gMain @@ -17687,14 +17687,14 @@ _0809458C: lsls r0, 24 cmp r0, 0 beq _08094624 - ldr r0, _080945A4 @ =gUnknown_2039825 + ldr r0, _080945A4 @ =sCanOnlyMove ldrb r0, [r0] cmp r0, 0 bne _080945A8 movs r0, 0x8 b _080946A0 .align 2, 0 -_080945A4: .4byte gUnknown_2039825 +_080945A4: .4byte sCanOnlyMove _080945A8: movs r0, 0 bl sub_8094E50 @@ -17759,7 +17759,7 @@ _08094624: mov r12, r2 cmp r0, 0 beq _0809464C - ldr r0, _08094644 @ =gUnknown_20397B0 + ldr r0, _08094644 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x1 @@ -17768,7 +17768,7 @@ _08094624: b _080946A0 .align 2, 0 _08094640: .4byte gMain -_08094644: .4byte gUnknown_20397B0 +_08094644: .4byte sPSSData _08094648: movs r1, 0x1 mov r8, r1 @@ -17831,7 +17831,7 @@ _080946A0: thumb_func_start sub_80946AC sub_80946AC: @ 80946AC push {r4-r6,lr} - ldr r3, _080946E8 @ =gUnknown_20397B0 + ldr r3, _080946E8 @ =sPSSData ldr r0, [r3] ldr r1, _080946EC @ =0x00000ccf adds r0, r1 @@ -17860,7 +17860,7 @@ sub_80946AC: @ 80946AC movs r6, 0x2 b _0809477E .align 2, 0 -_080946E8: .4byte gUnknown_20397B0 +_080946E8: .4byte sPSSData _080946EC: .4byte 0x00000ccf _080946F0: .4byte 0x00000cce _080946F4: .4byte 0x00000cd3 @@ -17961,13 +17961,13 @@ sub_80947A0: @ 80947A0 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r0, _080947F0 @ =gUnknown_2039820 + ldr r0, _080947F0 @ =sBoxCursorArea ldrb r0, [r0] mov r8, r0 - ldr r0, _080947F4 @ =gUnknown_2039821 + ldr r0, _080947F4 @ =sBoxCursorPosition mov r12, r0 ldrb r2, [r0] - ldr r3, _080947F8 @ =gUnknown_20397B0 + ldr r3, _080947F8 @ =sPSSData ldr r0, [r3] ldr r1, _080947FC @ =0x00000ccf adds r0, r1 @@ -17999,9 +17999,9 @@ sub_80947A0: @ 80947A0 ldr r0, [r4] b _08094898 .align 2, 0 -_080947F0: .4byte gUnknown_2039820 -_080947F4: .4byte gUnknown_2039821 -_080947F8: .4byte gUnknown_20397B0 +_080947F0: .4byte sBoxCursorArea +_080947F4: .4byte sBoxCursorPosition +_080947F8: .4byte sPSSData _080947FC: .4byte 0x00000ccf _08094800: .4byte 0x00000cce _08094804: .4byte 0x00000cd3 @@ -18111,7 +18111,7 @@ sub_80948B4: @ 80948B4 adds r4, r0, 0 cmp r1, 0 beq _080948F8 - ldr r5, _080948E4 @ =gUnknown_2039820 + ldr r5, _080948E4 @ =sBoxCursorArea _080948C4: lsls r0, r3, 3 adds r2, r0, r4 @@ -18128,7 +18128,7 @@ _080948C4: b _080948FA .align 2, 0 _080948E0: .4byte gUnknown_83D3478 -_080948E4: .4byte gUnknown_2039820 +_080948E4: .4byte sBoxCursorArea _080948E8: adds r0, r3, 0x1 lsls r0, 16 @@ -18166,7 +18166,7 @@ sub_8094900: @ 8094900 sub_8094924: @ 8094924 push {lr} bl sub_8094DA8 - ldr r0, _0809493C @ =gUnknown_20397B0 + ldr r0, _0809493C @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -18174,7 +18174,7 @@ sub_8094924: @ 8094924 bl sub_8094A0C b _08094944 .align 2, 0 -_0809493C: .4byte gUnknown_20397B0 +_0809493C: .4byte sPSSData _08094940: bl sub_809494C _08094944: @@ -18190,7 +18190,7 @@ sub_809494C: @ 809494C bl sub_8092458 lsls r0, 16 lsrs r1, r0, 16 - ldr r0, _0809496C @ =gUnknown_20397B0 + ldr r0, _0809496C @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x1 @@ -18201,7 +18201,7 @@ sub_809494C: @ 809494C beq _08094982 b _080949BC .align 2, 0 -_0809496C: .4byte gUnknown_20397B0 +_0809496C: .4byte sPSSData _08094970: cmp r0, 0x2 beq _0809498E @@ -18219,7 +18219,7 @@ _08094982: bl sub_8094DEC b _080949C0 _0809498E: - ldr r0, _080949A4 @ =gUnknown_2039822 + ldr r0, _080949A4 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _080949B0 @@ -18229,7 +18229,7 @@ _0809498E: bl sub_8094DEC b _080949C0 .align 2, 0 -_080949A4: .4byte gUnknown_2039822 +_080949A4: .4byte sIsMonBeingMoved _080949A8: movs r0, 0x5 bl sub_8094DEC @@ -18246,12 +18246,12 @@ _080949BC: _080949C0: movs r0, 0x6 bl sub_8094DEC - ldr r0, _080949E4 @ =gUnknown_20397B0 + ldr r0, _080949E4 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x2 bne _080949F2 - ldr r0, _080949E8 @ =gUnknown_2039820 + ldr r0, _080949E8 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -18261,8 +18261,8 @@ _080949C0: bl sub_8094DEC b _080949F2 .align 2, 0 -_080949E4: .4byte gUnknown_20397B0 -_080949E8: .4byte gUnknown_2039820 +_080949E4: .4byte sPSSData +_080949E8: .4byte sBoxCursorArea _080949EC: movs r0, 0x1 bl sub_8094DEC @@ -18282,7 +18282,7 @@ _08094A06: thumb_func_start sub_8094A0C sub_8094A0C: @ 8094A0C push {r4,r5,lr} - ldr r4, _08094A48 @ =gUnknown_20397B0 + ldr r4, _08094A48 @ =sPSSData ldr r0, [r4] movs r5, 0xCE lsls r5, 4 @@ -18310,7 +18310,7 @@ sub_8094A0C: @ 8094A0C bl sub_8094DEC b _08094AA8 .align 2, 0 -_08094A48: .4byte gUnknown_20397B0 +_08094A48: .4byte sPSSData _08094A4C: .4byte 0x00000ce2 _08094A50: ldrh r0, [r1] @@ -18367,7 +18367,7 @@ _08094AB0: thumb_func_start sub_8094AB8 sub_8094AB8: @ 8094AB8 - ldr r1, _08094AD4 @ =gUnknown_20397B0 + ldr r1, _08094AD4 @ =sPSSData ldr r1, [r1] movs r2, 0xCB lsls r2, 4 @@ -18381,7 +18381,7 @@ sub_8094AB8: @ 8094AB8 strh r1, [r0, 0x22] bx lr .align 2, 0 -_08094AD4: .4byte gUnknown_20397B0 +_08094AD4: .4byte sPSSData thumb_func_end sub_8094AB8 thumb_func_start sub_8094AD8 @@ -18407,7 +18407,7 @@ sub_8094AD8: @ 8094AD8 bl LoadSpritePalettes ldr r0, _08094BAC @ =0x0000daca bl IndexOfSpritePaletteTag - ldr r6, _08094BB0 @ =gUnknown_20397B0 + ldr r6, _08094BB0 @ =sPSSData ldr r1, [r6] ldr r4, _08094BB4 @ =0x00000cd4 adds r1, r4 @@ -18418,9 +18418,9 @@ sub_8094AD8: @ 8094AD8 ldr r5, _08094BBC @ =0x00000cd5 adds r1, r5 strb r0, [r1] - ldr r0, _08094BC0 @ =gUnknown_2039820 + ldr r0, _08094BC0 @ =sBoxCursorArea ldrb r0, [r0] - ldr r1, _08094BC4 @ =gUnknown_2039821 + ldr r1, _08094BC4 @ =sBoxCursorPosition ldrb r1, [r1] add r4, sp, 0x28 mov r5, sp @@ -18449,7 +18449,7 @@ sub_8094AD8: @ 8094AD8 ldr r0, _08094BCC @ =gSprites adds r1, r0 str r1, [r3] - ldr r0, _08094BD0 @ =gUnknown_2039825 + ldr r0, _08094BD0 @ =sCanOnlyMove ldr r5, _08094BB4 @ =0x00000cd4 adds r2, r5 ldrb r0, [r0] @@ -18471,7 +18471,7 @@ sub_8094AD8: @ 8094AD8 movs r1, 0x4 orrs r0, r1 strb r0, [r2, 0x5] - ldr r0, _08094BD4 @ =gUnknown_2039822 + ldr r0, _08094BD4 @ =sIsMonBeingMoved ldrb r0, [r0] cmp r0, 0 beq _08094BE4 @@ -18485,16 +18485,16 @@ sub_8094AD8: @ 8094AD8 _08094BA4: .4byte gUnknown_83D34A0 _08094BA8: .4byte gUnknown_83D34B8 _08094BAC: .4byte 0x0000daca -_08094BB0: .4byte gUnknown_20397B0 +_08094BB0: .4byte sPSSData _08094BB4: .4byte 0x00000cd4 _08094BB8: .4byte 0x0000dac7 _08094BBC: .4byte 0x00000cd5 -_08094BC0: .4byte gUnknown_2039820 -_08094BC4: .4byte gUnknown_2039821 +_08094BC0: .4byte sBoxCursorArea +_08094BC4: .4byte sBoxCursorPosition _08094BC8: .4byte gUnknown_83D350C _08094BCC: .4byte gSprites -_08094BD0: .4byte gUnknown_2039825 -_08094BD4: .4byte gUnknown_2039822 +_08094BD0: .4byte sCanOnlyMove +_08094BD4: .4byte sIsMonBeingMoved _08094BD8: ldr r0, [r6] movs r1, 0xCB @@ -18503,7 +18503,7 @@ _08094BD8: movs r1, 0 str r1, [r0] _08094BE4: - ldr r0, _08094BF8 @ =gUnknown_2039820 + ldr r0, _08094BF8 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -18513,7 +18513,7 @@ _08094BE4: movs r4, 0x1 b _08094C00 .align 2, 0 -_08094BF8: .4byte gUnknown_2039820 +_08094BF8: .4byte sBoxCursorArea _08094BFC: movs r3, 0x15 movs r4, 0x2 @@ -18526,7 +18526,7 @@ _08094C00: lsrs r0, 24 cmp r0, 0x40 beq _08094C68 - ldr r5, _08094C58 @ =gUnknown_20397B0 + ldr r5, _08094C58 @ =sPSSData ldr r2, [r5] ldr r3, _08094C5C @ =0x00000cb4 adds r2, r3 @@ -18543,7 +18543,7 @@ _08094C00: ands r0, r2 orrs r0, r3 strb r0, [r1, 0x5] - ldr r0, _08094C64 @ =gUnknown_2039820 + ldr r0, _08094C64 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 @@ -18561,12 +18561,12 @@ _08094C00: b _08094C74 .align 2, 0 _08094C54: .4byte gUnknown_83D3524 -_08094C58: .4byte gUnknown_20397B0 +_08094C58: .4byte sPSSData _08094C5C: .4byte 0x00000cb4 _08094C60: .4byte gSprites -_08094C64: .4byte gUnknown_2039820 +_08094C64: .4byte sBoxCursorArea _08094C68: - ldr r0, _08094C7C @ =gUnknown_20397B0 + ldr r0, _08094C7C @ =sPSSData ldr r0, [r0] ldr r5, _08094C80 @ =0x00000cb4 adds r0, r5 @@ -18578,14 +18578,14 @@ _08094C74: pop {r0} bx r0 .align 2, 0 -_08094C7C: .4byte gUnknown_20397B0 +_08094C7C: .4byte sPSSData _08094C80: .4byte 0x00000cb4 thumb_func_end sub_8094AD8 thumb_func_start sub_8094C84 sub_8094C84: @ 8094C84 push {lr} - ldr r2, _08094CBC @ =gUnknown_2039825 + ldr r2, _08094CBC @ =sCanOnlyMove movs r1, 0 ldrb r0, [r2] cmp r0, 0 @@ -18593,7 +18593,7 @@ sub_8094C84: @ 8094C84 movs r1, 0x1 _08094C92: strb r1, [r2] - ldr r0, _08094CC0 @ =gUnknown_20397B0 + ldr r0, _08094CC0 @ =sPSSData ldr r0, [r0] movs r3, 0xCB lsls r3, 4 @@ -18613,18 +18613,18 @@ _08094C92: pop {r0} bx r0 .align 2, 0 -_08094CBC: .4byte gUnknown_2039825 -_08094CC0: .4byte gUnknown_20397B0 +_08094CBC: .4byte sCanOnlyMove +_08094CC0: .4byte sPSSData _08094CC4: .4byte 0x00000cd4 thumb_func_end sub_8094C84 thumb_func_start sub_8094CC8 sub_8094CC8: @ 8094CC8 - ldr r0, _08094CD0 @ =gUnknown_2039821 + ldr r0, _08094CD0 @ =sBoxCursorPosition ldrb r0, [r0] bx lr .align 2, 0 -_08094CD0: .4byte gUnknown_2039821 +_08094CD0: .4byte sBoxCursorPosition thumb_func_end sub_8094CC8 thumb_func_start sub_8094CD4 @@ -18632,13 +18632,13 @@ sub_8094CD4: @ 8094CD4 push {r4-r6,lr} adds r5, r0, 0 adds r6, r1, 0 - ldr r0, _08094D00 @ =gUnknown_2039820 + ldr r0, _08094D00 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0 bne _08094D08 - ldr r4, _08094D04 @ =gUnknown_2039821 + ldr r4, _08094D04 @ =sBoxCursorPosition movs r0, 0 ldrsb r0, [r4, r0] movs r1, 0x6 @@ -18650,8 +18650,8 @@ sub_8094CD4: @ 8094CD4 bl __divsi3 b _08094D0C .align 2, 0 -_08094D00: .4byte gUnknown_2039820 -_08094D04: .4byte gUnknown_2039821 +_08094D00: .4byte sBoxCursorArea +_08094D04: .4byte sBoxCursorPosition _08094D08: movs r0, 0 strb r0, [r5] @@ -18668,7 +18668,7 @@ sub_8094D14: @ 8094D14 adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 - ldr r0, _08094D30 @ =gUnknown_20397B0 + ldr r0, _08094D30 @ =sPSSData ldr r0, [r0] movs r2, 0xCB lsls r2, 4 @@ -18678,21 +18678,21 @@ sub_8094D14: @ 8094D14 pop {r0} bx r0 .align 2, 0 -_08094D30: .4byte gUnknown_20397B0 +_08094D30: .4byte sPSSData thumb_func_end sub_8094D14 thumb_func_start sub_8094D34 sub_8094D34: @ 8094D34 - ldr r0, _08094D3C @ =gUnknown_2039823 + ldr r0, _08094D3C @ =sMovingMonOrigBoxId ldrb r0, [r0] bx lr .align 2, 0 -_08094D3C: .4byte gUnknown_2039823 +_08094D3C: .4byte sMovingMonOrigBoxId thumb_func_end sub_8094D34 thumb_func_start sub_8094D40 sub_8094D40: @ 8094D40 - ldr r0, _08094D5C @ =gUnknown_20397B0 + ldr r0, _08094D5C @ =sPSSData ldr r0, [r0] movs r1, 0xCB lsls r1, 4 @@ -18707,19 +18707,19 @@ sub_8094D40: @ 8094D40 strb r0, [r2, 0x5] bx lr .align 2, 0 -_08094D5C: .4byte gUnknown_20397B0 +_08094D5C: .4byte sPSSData thumb_func_end sub_8094D40 thumb_func_start sub_8094D60 sub_8094D60: @ 8094D60 push {lr} - ldr r0, _08094D7C @ =gUnknown_2039820 + ldr r0, _08094D7C @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0 bne _08094D78 - ldr r0, _08094D80 @ =gUnknown_2039821 + ldr r0, _08094D80 @ =sBoxCursorPosition ldrb r1, [r0] movs r0, 0 bl sub_8095D44 @@ -18727,20 +18727,20 @@ _08094D78: pop {r0} bx r0 .align 2, 0 -_08094D7C: .4byte gUnknown_2039820 -_08094D80: .4byte gUnknown_2039821 +_08094D7C: .4byte sBoxCursorArea +_08094D80: .4byte sBoxCursorPosition thumb_func_end sub_8094D60 thumb_func_start sub_8094D84 sub_8094D84: @ 8094D84 push {lr} - ldr r0, _08094DA0 @ =gUnknown_2039820 + ldr r0, _08094DA0 @ =sBoxCursorArea ldrb r0, [r0] lsls r0, 24 asrs r0, 24 cmp r0, 0 bne _08094D9C - ldr r0, _08094DA4 @ =gUnknown_2039821 + ldr r0, _08094DA4 @ =sBoxCursorPosition ldrb r1, [r0] movs r0, 0 bl sub_8095C84 @@ -18748,13 +18748,13 @@ _08094D9C: pop {r0} bx r0 .align 2, 0 -_08094DA0: .4byte gUnknown_2039820 -_08094DA4: .4byte gUnknown_2039821 +_08094DA0: .4byte sBoxCursorArea +_08094DA4: .4byte sBoxCursorPosition thumb_func_end sub_8094D84 thumb_func_start sub_8094DA8 sub_8094DA8: @ 8094DA8 - ldr r2, _08094DDC @ =gUnknown_20397B0 + ldr r2, _08094DDC @ =sPSSData ldr r0, [r2] ldr r1, _08094DE0 @ =0x00000ca8 adds r0, r1 @@ -18780,7 +18780,7 @@ sub_8094DA8: @ 8094DA8 strh r1, [r0] bx lr .align 2, 0 -_08094DDC: .4byte gUnknown_20397B0 +_08094DDC: .4byte sPSSData _08094DE0: .4byte 0x00000ca8 _08094DE4: .4byte 0x00000ca9 _08094DE8: .4byte 0x00000c6d @@ -18791,7 +18791,7 @@ sub_8094DEC: @ 8094DEC push {r4,r5,lr} lsls r0, 24 lsrs r3, r0, 24 - ldr r4, _08094E40 @ =gUnknown_20397B0 + ldr r4, _08094E40 @ =sPSSData ldr r2, [r4] ldr r5, _08094E44 @ =0x00000ca8 adds r1, r2, r5 @@ -18831,7 +18831,7 @@ _08094E38: pop {r0} bx r0 .align 2, 0 -_08094E40: .4byte gUnknown_20397B0 +_08094E40: .4byte sPSSData _08094E44: .4byte 0x00000ca8 _08094E48: .4byte gUnknown_83D353C _08094E4C: .4byte 0x00000ca9 @@ -18842,7 +18842,7 @@ sub_8094E50: @ 8094E50 push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _08094E74 @ =gUnknown_20397B0 + ldr r0, _08094E74 @ =sPSSData ldr r1, [r0] ldr r3, _08094E78 @ =0x00000ca8 adds r0, r1, r3 @@ -18857,7 +18857,7 @@ sub_8094E50: @ 8094E50 ldrsb r0, [r1, r0] b _08094E84 .align 2, 0 -_08094E74: .4byte gUnknown_20397B0 +_08094E74: .4byte sPSSData _08094E78: .4byte 0x00000ca8 _08094E7C: .4byte 0x00000c74 _08094E80: @@ -18876,7 +18876,7 @@ sub_8094E88: @ 8094E88 mov r4, r8 push {r4-r6} sub sp, 0xC - ldr r5, _08094F6C @ =gUnknown_20397B0 + ldr r5, _08094F6C @ =sPSSData ldr r1, [r5] ldr r2, _08094F70 @ =0x00000ca9 adds r0, r1, r2 @@ -18978,7 +18978,7 @@ sub_8094E88: @ 8094E88 pop {r0} bx r0 .align 2, 0 -_08094F6C: .4byte gUnknown_20397B0 +_08094F6C: .4byte sPSSData _08094F70: .4byte 0x00000ca9 _08094F74: .4byte 0x00000ca8 _08094F78: .4byte 0x00000c6c @@ -19050,7 +19050,7 @@ _08094FF2: _08094FFE: cmp r5, 0 blt _08095010 - ldr r0, _0809501C @ =gUnknown_20397B0 + ldr r0, _0809501C @ =sPSSData ldr r0, [r0] lsls r1, r5, 3 ldr r2, _08095020 @ =0x00000c74 @@ -19064,14 +19064,14 @@ _08095010: pop {r1} bx r1 .align 2, 0 -_0809501C: .4byte gUnknown_20397B0 +_0809501C: .4byte sPSSData _08095020: .4byte 0x00000c74 thumb_func_end sub_8094F94 thumb_func_start sub_8095024 sub_8095024: @ 8095024 push {r4,r5,lr} - ldr r5, _08095048 @ =gUnknown_20397B0 + ldr r5, _08095048 @ =sPSSData ldr r0, [r5] ldr r4, _0809504C @ =0x00000cac adds r0, r4 @@ -19086,7 +19086,7 @@ sub_8095024: @ 8095024 pop {r0} bx r0 .align 2, 0 -_08095048: .4byte gUnknown_20397B0 +_08095048: .4byte sPSSData _0809504C: .4byte 0x00000cac thumb_func_end sub_8095024 @@ -19102,7 +19102,7 @@ sub_8095050: @ 8095050 ldr r0, _08095090 @ =gUnknown_83D35D4 bl AddWindow8Bit adds r1, r0, 0 - ldr r0, _08095094 @ =gUnknown_20397B0 + ldr r0, _08095094 @ =sPSSData ldr r0, [r0] ldr r2, _08095098 @ =0x000021f0 adds r0, r2 @@ -19121,7 +19121,7 @@ sub_8095050: @ 8095050 _08095088: .4byte gUnknown_2039828 _0809508C: .4byte 0x00000974 _08095090: .4byte gUnknown_83D35D4 -_08095094: .4byte gUnknown_20397B0 +_08095094: .4byte sPSSData _08095098: .4byte 0x000021f0 _0809509C: movs r0, 0 @@ -19264,7 +19264,7 @@ _08095168: movs r2, 0 movs r3, 0 bl FillBgTilemapBufferRect_Palette0 - ldr r5, _08095208 @ =gUnknown_20397B0 + ldr r5, _08095208 @ =sPSSData ldr r0, [r5] ldr r4, _0809520C @ =0x000021f0 adds r0, r4 @@ -19306,7 +19306,7 @@ _080951F8: b _08095228 .align 2, 0 _08095204: .4byte 0xfffffc00 -_08095208: .4byte gUnknown_20397B0 +_08095208: .4byte sPSSData _0809520C: .4byte 0x000021f0 _08095210: .4byte 0x00007fff _08095214: @@ -19412,7 +19412,7 @@ _080952B8: ldr r1, [r4] ldrb r0, [r1, 0x7] strb r0, [r1, 0x5] - ldr r0, _080952F8 @ =gUnknown_20397B0 + ldr r0, _080952F8 @ =sPSSData ldr r0, [r0] ldr r1, _080952FC @ =0x000021f0 adds r0, r1 @@ -19425,7 +19425,7 @@ _080952B8: strb r0, [r1, 0x1] b _0809530A .align 2, 0 -_080952F8: .4byte gUnknown_20397B0 +_080952F8: .4byte sPSSData _080952FC: .4byte 0x000021f0 _08095300: bl IsDma3ManagerBusyWithBgCopy @@ -19958,7 +19958,7 @@ sub_80956A4: @ 80956A4 adds r0, 0x8 lsls r0, 24 lsrs r0, 24 - ldr r1, _08095724 @ =gUnknown_20397B0 + ldr r1, _08095724 @ =sPSSData ldr r1, [r1] ldr r2, _08095728 @ =0x000021f0 adds r1, r2 @@ -19986,7 +19986,7 @@ _0809571A: pop {r0} bx r0 .align 2, 0 -_08095724: .4byte gUnknown_20397B0 +_08095724: .4byte sPSSData _08095728: .4byte 0x000021f0 thumb_func_end sub_80956A4 @@ -20009,7 +20009,7 @@ sub_809572C: @ 809572C lsls r0, 16 cmp r0, 0 beq _0809576E - ldr r0, _08095778 @ =gUnknown_20397B0 + ldr r0, _08095778 @ =sPSSData ldr r0, [r0] ldr r1, _0809577C @ =0x000021f0 adds r0, r1 @@ -20029,7 +20029,7 @@ _0809576E: pop {r0} bx r0 .align 2, 0 -_08095778: .4byte gUnknown_20397B0 +_08095778: .4byte sPSSData _0809577C: .4byte 0x000021f0 thumb_func_end sub_809572C @@ -20575,7 +20575,7 @@ sub_8095B5C: @ 8095B5C mov r5, r8 push {r5-r7} sub sp, 0x20 - ldr r3, _08095C58 @ =gUnknown_20397B0 + ldr r3, _08095C58 @ =sPSSData ldr r0, [r3] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -20679,7 +20679,7 @@ _08095B9C: cmp r7, 0x2 ble _08095B9C _08095C3C: - ldr r0, _08095C58 @ =gUnknown_20397B0 + ldr r0, _08095C58 @ =sPSSData ldr r0, [r0] ldr r4, _08095C80 @ =0x00002224 adds r0, r4 @@ -20694,7 +20694,7 @@ _08095C3C: pop {r0} bx r0 .align 2, 0 -_08095C58: .4byte gUnknown_20397B0 +_08095C58: .4byte sPSSData _08095C5C: .4byte gUnknown_3000FE8 _08095C60: .4byte 0xffff0000 _08095C64: .4byte gUnknown_83D3728 @@ -20717,7 +20717,7 @@ sub_8095C84: @ 8095C84 mov r8, r0 lsls r1, 24 lsrs r7, r1, 24 - ldr r0, _08095CB8 @ =gUnknown_20397B0 + ldr r0, _08095CB8 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -20734,7 +20734,7 @@ sub_8095C84: @ 8095C84 beq _08095CD2 b _08095D36 .align 2, 0 -_08095CB8: .4byte gUnknown_20397B0 +_08095CB8: .4byte sPSSData _08095CBC: adds r0, r7, 0 movs r1, 0x5 @@ -20805,7 +20805,7 @@ sub_8095D44: @ 8095D44 lsrs r6, r0, 24 lsls r1, 24 lsrs r5, r1, 24 - ldr r0, _08095D80 @ =gUnknown_20397B0 + ldr r0, _08095D80 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -20829,7 +20829,7 @@ _08095D7A: pop {r0} bx r0 .align 2, 0 -_08095D80: .4byte gUnknown_20397B0 +_08095D80: .4byte sPSSData thumb_func_end sub_8095D44 thumb_func_start sub_8095D84 @@ -20841,7 +20841,7 @@ sub_8095D84: @ 8095D84 lsls r1, 24 lsrs r5, r1, 24 adds r7, r5, 0 - ldr r0, _08095DE8 @ =gUnknown_20397B0 + ldr r0, _08095DE8 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -20878,7 +20878,7 @@ sub_8095D84: @ 8095D84 bl sub_8090850 b _08095E04 .align 2, 0 -_08095DE8: .4byte gUnknown_20397B0 +_08095DE8: .4byte sPSSData _08095DEC: movs r0, 0x64 muls r0, r7 @@ -20891,7 +20891,7 @@ _08095DEC: movs r1, 0x1 bl sub_8090C84 _08095E04: - ldr r0, _08095E20 @ =gUnknown_20397B0 + ldr r0, _08095E20 @ =sPSSData ldr r0, [r0] ldr r2, _08095E24 @ =0x00000ce2 adds r1, r0, r2 @@ -20906,7 +20906,7 @@ _08095E14: bx r0 .align 2, 0 _08095E1C: .4byte gPlayerParty -_08095E20: .4byte gUnknown_20397B0 +_08095E20: .4byte sPSSData _08095E24: .4byte 0x00000ce2 _08095E28: .4byte 0x00002224 thumb_func_end sub_8095D84 @@ -20948,7 +20948,7 @@ sub_8095E2C: @ 8095E2C adds r0, r4, 0 movs r1, 0x1 bl sub_8096624 - ldr r0, _08095E98 @ =gUnknown_20397B0 + ldr r0, _08095E98 @ =sPSSData ldr r0, [r0] ldr r1, _08095E9C @ =0x00002224 adds r0, r1 @@ -20959,7 +20959,7 @@ sub_8095E2C: @ 8095E2C pop {r0} bx r0 .align 2, 0 -_08095E98: .4byte gUnknown_20397B0 +_08095E98: .4byte sPSSData _08095E9C: .4byte 0x00002224 thumb_func_end sub_8095E2C @@ -20974,7 +20974,7 @@ sub_8095EA0: @ 8095EA0 mov r9, r0 lsls r1, 24 lsrs r7, r1, 24 - ldr r0, _08095F08 @ =gUnknown_20397B0 + ldr r0, _08095F08 @ =sPSSData mov r8, r0 ldr r0, [r0] ldrb r0, [r0, 0x1] @@ -21013,7 +21013,7 @@ sub_8095EA0: @ 8095EA0 adds r0, r4 b _08095F3C .align 2, 0 -_08095F08: .4byte gUnknown_20397B0 +_08095F08: .4byte sPSSData _08095F0C: .4byte 0x00002224 _08095F10: movs r0, 0x64 @@ -21073,7 +21073,7 @@ sub_8095F74: @ 8095F74 lsls r1, 24 lsrs r5, r1, 24 mov r8, r5 - ldr r6, _08095FCC @ =gUnknown_20397B0 + ldr r6, _08095FCC @ =sPSSData ldr r0, [r6] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -21105,7 +21105,7 @@ sub_8095F74: @ 8095F74 bl sub_8090850 b _08095FF4 .align 2, 0 -_08095FCC: .4byte gUnknown_20397B0 +_08095FCC: .4byte sPSSData _08095FD0: .4byte 0x00002224 _08095FD4: movs r0, 0x64 @@ -21142,7 +21142,7 @@ sub_8096008: @ 8096008 lsls r1, 24 lsrs r5, r1, 24 adds r7, r5, 0 - ldr r0, _08096060 @ =gUnknown_20397B0 + ldr r0, _08096060 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -21175,7 +21175,7 @@ sub_8096008: @ 8096008 bl sub_8090850 b _0809607C .align 2, 0 -_08096060: .4byte gUnknown_20397B0 +_08096060: .4byte sPSSData _08096064: movs r0, 0x64 muls r0, r7 @@ -21199,7 +21199,7 @@ _08096084: .4byte gPlayerParty thumb_func_start sub_8096088 sub_8096088: @ 8096088 push {r4,lr} - ldr r0, _080960BC @ =gUnknown_20397B0 + ldr r0, _080960BC @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x3 @@ -21223,20 +21223,20 @@ _080960B6: pop {r0} bx r0 .align 2, 0 -_080960BC: .4byte gUnknown_20397B0 +_080960BC: .4byte sPSSData thumb_func_end sub_8096088 thumb_func_start sub_80960C0 sub_80960C0: @ 80960C0 push {r4,lr} - ldr r0, _08096108 @ =gUnknown_20397B0 + ldr r0, _08096108 @ =sPSSData ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x3 bne _08096100 movs r4, 0 _080960CE: - ldr r0, _08096108 @ =gUnknown_20397B0 + ldr r0, _08096108 @ =sPSSData ldr r1, [r0] lsls r0, r4, 4 adds r1, r0 @@ -21266,14 +21266,14 @@ _08096100: pop {r0} bx r0 .align 2, 0 -_08096108: .4byte gUnknown_20397B0 +_08096108: .4byte sPSSData thumb_func_end sub_80960C0 thumb_func_start sub_809610C sub_809610C: @ 809610C push {r4,r5,lr} movs r5, 0 - ldr r0, _08096148 @ =gUnknown_20397B0 + ldr r0, _08096148 @ =sPSSData ldr r0, [r0] ldr r1, _0809614C @ =0x000021f4 adds r4, r0, r1 @@ -21304,7 +21304,7 @@ _08096144: movs r0, 0x1 b _08096164 .align 2, 0 -_08096148: .4byte gUnknown_20397B0 +_08096148: .4byte sPSSData _0809614C: .4byte 0x000021f4 _08096150: .4byte SpriteCallbackDummy _08096154: .4byte sub_80969BC @@ -21324,7 +21324,7 @@ _08096164: thumb_func_start sub_809616C sub_809616C: @ 809616C push {lr} - ldr r0, _08096190 @ =gUnknown_20397B0 + ldr r0, _08096190 @ =sPSSData ldr r1, [r0] ldrb r0, [r1, 0x1] cmp r0, 0x3 @@ -21342,7 +21342,7 @@ _0809617E: movs r0, 0x1 b _080961A2 .align 2, 0 -_08096190: .4byte gUnknown_20397B0 +_08096190: .4byte sPSSData _08096194: .4byte 0x000021fe _08096198: adds r1, 0x10 @@ -21359,7 +21359,7 @@ _080961A2: thumb_func_start sub_80961A8 sub_80961A8: @ 80961A8 push {lr} - ldr r0, _080961BC @ =gUnknown_20397B0 + ldr r0, _080961BC @ =sPSSData ldr r0, [r0] ldr r1, _080961C0 @ =0x00002224 adds r0, r1 @@ -21368,20 +21368,20 @@ sub_80961A8: @ 80961A8 pop {r1} bx r1 .align 2, 0 -_080961BC: .4byte gUnknown_20397B0 +_080961BC: .4byte sPSSData _080961C0: .4byte 0x00002224 thumb_func_end sub_80961A8 thumb_func_start sub_80961C4 sub_80961C4: @ 80961C4 - ldr r0, _080961D0 @ =gUnknown_20397B0 + ldr r0, _080961D0 @ =sPSSData ldr r0, [r0] ldr r1, _080961D4 @ =0x00002224 adds r0, r1 ldrh r0, [r0] bx lr .align 2, 0 -_080961D0: .4byte gUnknown_20397B0 +_080961D0: .4byte sPSSData _080961D4: .4byte 0x00002224 thumb_func_end sub_80961C4 @@ -21389,7 +21389,7 @@ _080961D4: .4byte 0x00002224 sub_80961D8: @ 80961D8 push {r4,r5,lr} movs r2, 0 - ldr r5, _080961F8 @ =gUnknown_20397B0 + ldr r5, _080961F8 @ =sPSSData movs r3, 0x88 lsls r3, 6 movs r4, 0x1 @@ -21405,7 +21405,7 @@ _080961E4: adds r0, r2, 0 b _08096208 .align 2, 0 -_080961F8: .4byte gUnknown_20397B0 +_080961F8: .4byte sPSSData _080961FC: adds r0, r2, 0x1 lsls r0, 24 @@ -21427,7 +21427,7 @@ sub_8096210: @ 8096210 lsls r1, 24 lsrs r1, 24 movs r3, 0 - ldr r0, _08096244 @ =gUnknown_20397B0 + ldr r0, _08096244 @ =sPSSData ldr r2, [r0] _08096220: movs r5, 0x88 @@ -21449,7 +21449,7 @@ _08096220: movs r0, 0x1 b _08096252 .align 2, 0 -_08096244: .4byte gUnknown_20397B0 +_08096244: .4byte sPSSData _08096248: adds r2, 0x10 adds r3, 0x1 @@ -21470,7 +21470,7 @@ sub_8096258: @ 8096258 lsls r1, 24 lsrs r4, r1, 24 movs r3, 0 - ldr r0, _08096290 @ =gUnknown_20397B0 + ldr r0, _08096290 @ =sPSSData ldr r1, [r0] _08096268: lsls r0, r3, 4 @@ -21494,7 +21494,7 @@ _08096268: adds r0, r3, 0 b _080962A0 .align 2, 0 -_08096290: .4byte gUnknown_20397B0 +_08096290: .4byte sPSSData _08096294: adds r0, r3, 0x1 lsls r0, 24 @@ -21513,7 +21513,7 @@ sub_80962A8: @ 80962A8 push {r4-r6,lr} adds r5, r0, 0 movs r2, 0 - ldr r0, _080962D4 @ =gUnknown_20397B0 + ldr r0, _080962D4 @ =sPSSData ldr r3, [r0] ldr r0, _080962D8 @ =0x000021f4 adds r4, r3, r0 @@ -21533,7 +21533,7 @@ _080962BA: adds r0, r2, 0 b _080962E8 .align 2, 0 -_080962D4: .4byte gUnknown_20397B0 +_080962D4: .4byte sPSSData _080962D8: .4byte 0x000021f4 _080962DC: adds r0, r2, 0x1 @@ -21566,11 +21566,11 @@ sub_80962F0: @ 80962F0 beq _0809631C cmp r1, 0x1 beq _08096378 - ldr r4, _08096318 @ =gUnknown_20397B0 + ldr r4, _08096318 @ =sPSSData lsls r3, r5, 4 b _080963D8 .align 2, 0 -_08096318: .4byte gUnknown_20397B0 +_08096318: .4byte sPSSData _0809631C: adds r0, r7, 0 movs r1, 0x6 @@ -21583,7 +21583,7 @@ _0809631C: bl __udivsi3 lsls r0, 24 lsrs r0, 24 - ldr r6, _08096370 @ =gUnknown_20397B0 + ldr r6, _08096370 @ =sPSSData ldr r2, [r6] lsls r5, 4 ldr r1, _08096374 @ =0x000021f4 @@ -21613,12 +21613,12 @@ _0809631C: adds r3, r5, 0 b _080963D8 .align 2, 0 -_08096370: .4byte gUnknown_20397B0 +_08096370: .4byte sPSSData _08096374: .4byte 0x000021f4 _08096378: cmp r7, 0 bne _080963A0 - ldr r4, _08096398 @ =gUnknown_20397B0 + ldr r4, _08096398 @ =sPSSData ldr r0, [r4] lsls r3, r5, 4 ldr r1, _0809639C @ =0x000021f4 @@ -21632,10 +21632,10 @@ _08096378: strh r0, [r1, 0x22] b _080963C0 .align 2, 0 -_08096398: .4byte gUnknown_20397B0 +_08096398: .4byte sPSSData _0809639C: .4byte 0x000021f4 _080963A0: - ldr r4, _080963F8 @ =gUnknown_20397B0 + ldr r4, _080963F8 @ =sPSSData ldr r0, [r4] lsls r3, r5, 4 ldr r1, _080963FC @ =0x000021f4 @@ -21683,7 +21683,7 @@ _080963EE: pop {r0} bx r0 .align 2, 0 -_080963F8: .4byte gUnknown_20397B0 +_080963F8: .4byte sPSSData _080963FC: .4byte 0x000021f4 _08096400: .4byte 0x000021fe _08096404: .4byte 0x000021ff @@ -21704,7 +21704,7 @@ sub_8096408: @ 8096408 bhi _08096490 movs r0, 0 str r0, [sp] - ldr r4, _080964A0 @ =gUnknown_20397B0 + ldr r4, _080964A0 @ =sPSSData ldr r1, [r4] ldr r6, _080964A4 @ =0x000042bc adds r1, r6 @@ -21731,7 +21731,7 @@ _08096446: subs r4, 0x1 cmp r4, 0 bge _08096446 - ldr r5, _080964A0 @ =gUnknown_20397B0 + ldr r5, _080964A0 @ =sPSSData ldr r1, [r5] ldr r4, _080964A4 @ =0x000042bc adds r0, r1, r4 @@ -21763,7 +21763,7 @@ _08096490: pop {r0} bx r0 .align 2, 0 -_080964A0: .4byte gUnknown_20397B0 +_080964A0: .4byte sPSSData _080964A4: .4byte 0x000042bc _080964A8: .4byte 0x01000080 _080964AC: .4byte 0x000022bc @@ -21780,7 +21780,7 @@ sub_80964B8: @ 80964B8 lsrs r3, r1, 24 cmp r2, 0x2 bhi _080964DA - ldr r0, _080964E0 @ =gUnknown_20397B0 + ldr r0, _080964E0 @ =sPSSData ldr r0, [r0] lsls r1, r2, 4 ldr r2, _080964E4 @ =0x000021f4 @@ -21793,7 +21793,7 @@ _080964DA: pop {r0} bx r0 .align 2, 0 -_080964E0: .4byte gUnknown_20397B0 +_080964E0: .4byte sPSSData _080964E4: .4byte 0x000021f4 thumb_func_end sub_80964B8 @@ -21834,7 +21834,7 @@ _08096514: .4byte _08096612 .4byte _08096600 _08096534: - ldr r0, _0809654C @ =gUnknown_20397B0 + ldr r0, _0809654C @ =sPSSData ldr r0, [r0] lsls r1, r4, 4 ldr r2, _08096550 @ =0x000021f4 @@ -21846,11 +21846,11 @@ _08096534: ldr r0, _08096554 @ =sub_809692C b _08096610 .align 2, 0 -_0809654C: .4byte gUnknown_20397B0 +_0809654C: .4byte sPSSData _08096550: .4byte 0x000021f4 _08096554: .4byte sub_809692C _08096558: - ldr r0, _08096570 @ =gUnknown_20397B0 + ldr r0, _08096570 @ =sPSSData ldr r0, [r0] lsls r1, r4, 4 ldr r2, _08096574 @ =0x000021f4 @@ -21863,11 +21863,11 @@ _08096558: ldr r0, _08096578 @ =sub_8096958 b _08096610 .align 2, 0 -_08096570: .4byte gUnknown_20397B0 +_08096570: .4byte sPSSData _08096574: .4byte 0x000021f4 _08096578: .4byte sub_8096958 _0809657C: - ldr r0, _0809659C @ =gUnknown_20397B0 + ldr r0, _0809659C @ =sPSSData ldr r0, [r0] lsls r1, r4, 4 ldr r2, _080965A0 @ =0x000021f4 @@ -21884,11 +21884,11 @@ _0809657C: ldr r0, _080965A4 @ =sub_80969F4 b _08096610 .align 2, 0 -_0809659C: .4byte gUnknown_20397B0 +_0809659C: .4byte sPSSData _080965A0: .4byte 0x000021f4 _080965A4: .4byte sub_80969F4 _080965A8: - ldr r0, _080965C8 @ =gUnknown_20397B0 + ldr r0, _080965C8 @ =sPSSData ldr r0, [r0] lsls r1, r4, 4 ldr r2, _080965CC @ =0x000021f4 @@ -21905,11 +21905,11 @@ _080965A8: strh r3, [r0, 0x3C] b _08096612 .align 2, 0 -_080965C8: .4byte gUnknown_20397B0 +_080965C8: .4byte sPSSData _080965CC: .4byte 0x000021f4 _080965D0: .4byte sub_8096A74 _080965D4: - ldr r0, _080965F4 @ =gUnknown_20397B0 + ldr r0, _080965F4 @ =sPSSData ldr r0, [r0] lsls r1, r4, 4 ldr r2, _080965F8 @ =0x000021f4 @@ -21926,11 +21926,11 @@ _080965D4: ldr r0, _080965FC @ =sub_8096B10 b _08096610 .align 2, 0 -_080965F4: .4byte gUnknown_20397B0 +_080965F4: .4byte sPSSData _080965F8: .4byte 0x000021f4 _080965FC: .4byte sub_8096B10 _08096600: - ldr r0, _08096618 @ =gUnknown_20397B0 + ldr r0, _08096618 @ =sPSSData ldr r0, [r0] lsls r1, r4, 4 ldr r2, _0809661C @ =0x000021f4 @@ -21945,7 +21945,7 @@ _08096612: pop {r0} bx r0 .align 2, 0 -_08096618: .4byte gUnknown_20397B0 +_08096618: .4byte sPSSData _0809661C: .4byte 0x000021f4 _08096620: .4byte sub_8096BAC thumb_func_end sub_80964E8 @@ -21959,7 +21959,7 @@ sub_8096624: @ 8096624 lsrs r4, r1, 24 cmp r2, 0x2 bhi _08096666 - ldr r1, _0809666C @ =gUnknown_20397B0 + ldr r1, _0809666C @ =sPSSData ldr r0, [r1] lsls r2, 4 adds r0, r2 @@ -21991,7 +21991,7 @@ _08096666: pop {r0} bx r0 .align 2, 0 -_0809666C: .4byte gUnknown_20397B0 +_0809666C: .4byte sPSSData _08096670: .4byte 0x000021f4 thumb_func_end sub_8096624 @@ -22025,15 +22025,15 @@ sub_8096694: @ 8096694 lsls r0, 24 cmp r0, 0 beq _080966B4 - ldr r0, _080966AC @ =gUnknown_20397B0 + ldr r0, _080966AC @ =sPSSData ldr r0, [r0] ldr r1, _080966B0 @ =0x00002224 b _080966BA .align 2, 0 -_080966AC: .4byte gUnknown_20397B0 +_080966AC: .4byte sPSSData _080966B0: .4byte 0x00002224 _080966B4: - ldr r0, _080966EC @ =gUnknown_20397B0 + ldr r0, _080966EC @ =sPSSData ldr r0, [r0] ldr r1, _080966F0 @ =0x00000ce2 _080966BA: @@ -22060,14 +22060,14 @@ _080966BA: pop {r0} bx r0 .align 2, 0 -_080966EC: .4byte gUnknown_20397B0 +_080966EC: .4byte sPSSData _080966F0: .4byte 0x00000ce2 thumb_func_end sub_8096694 thumb_func_start sub_80966F4 sub_80966F4: @ 80966F4 push {lr} - ldr r0, _0809671C @ =gUnknown_20397B0 + ldr r0, _0809671C @ =sPSSData ldr r0, [r0] ldr r1, _08096720 @ =0x00002226 adds r0, r1 @@ -22084,7 +22084,7 @@ sub_80966F4: @ 80966F4 pop {r0} bx r0 .align 2, 0 -_0809671C: .4byte gUnknown_20397B0 +_0809671C: .4byte sPSSData _08096720: .4byte 0x00002226 _08096724: .4byte gUnknown_83D35DC thumb_func_end sub_80966F4 @@ -22093,7 +22093,7 @@ _08096724: .4byte gUnknown_83D35DC sub_8096728: @ 8096728 push {r4,r5,lr} sub sp, 0x10 - ldr r0, _08096740 @ =gUnknown_20397B0 + ldr r0, _08096740 @ =sPSSData ldr r0, [r0] ldr r2, _08096744 @ =0x00002226 adds r1, r0, r2 @@ -22103,7 +22103,7 @@ sub_8096728: @ 8096728 movs r0, 0 b _080967AE .align 2, 0 -_08096740: .4byte gUnknown_20397B0 +_08096740: .4byte sPSSData _08096744: .4byte 0x00002226 _08096748: subs r0, 0x1 @@ -22119,7 +22119,7 @@ _08096758: movs r1, 0xA bl GetBgAttribute adds r1, r0, 0 - ldr r0, _080967B8 @ =gUnknown_20397B0 + ldr r0, _080967B8 @ =sPSSData ldr r0, [r0] ldr r2, _080967BC @ =0x00002226 adds r0, r2 @@ -22148,7 +22148,7 @@ _08096758: _08096798: adds r0, r5, 0 bl sub_8096898 - ldr r0, _080967B8 @ =gUnknown_20397B0 + ldr r0, _080967B8 @ =sPSSData ldr r0, [r0] ldr r1, _080967BC @ =0x00002226 adds r0, r1 @@ -22162,7 +22162,7 @@ _080967AE: pop {r1} bx r1 .align 2, 0 -_080967B8: .4byte gUnknown_20397B0 +_080967B8: .4byte sPSSData _080967BC: .4byte 0x00002226 thumb_func_end sub_8096728 @@ -22170,7 +22170,7 @@ _080967BC: .4byte 0x00002226 sub_80967C0: @ 80967C0 push {r4,r5,lr} sub sp, 0x10 - ldr r5, _080967D8 @ =gUnknown_20397B0 + ldr r5, _080967D8 @ =sPSSData ldr r0, [r5] ldr r4, _080967DC @ =0x00002226 adds r0, r4 @@ -22180,7 +22180,7 @@ sub_80967C0: @ 80967C0 movs r0, 0 b _08096886 .align 2, 0 -_080967D8: .4byte gUnknown_20397B0 +_080967D8: .4byte sPSSData _080967DC: .4byte 0x00002226 _080967E0: cmp r0, 0 @@ -22213,7 +22213,7 @@ _08096812: movs r1, 0xA bl GetBgAttribute adds r1, r0, 0 - ldr r0, _08096890 @ =gUnknown_20397B0 + ldr r0, _08096890 @ =sPSSData ldr r0, [r0] ldr r2, _08096894 @ =0x00002226 adds r0, r2 @@ -22254,7 +22254,7 @@ _08096852: movs r1, 0 movs r3, 0xB bl FillBgTilemapBufferRect - ldr r0, _08096890 @ =gUnknown_20397B0 + ldr r0, _08096890 @ =sPSSData ldr r0, [r0] ldr r1, _08096894 @ =0x00002226 adds r0, r1 @@ -22270,7 +22270,7 @@ _08096886: pop {r1} bx r1 .align 2, 0 -_08096890: .4byte gUnknown_20397B0 +_08096890: .4byte sPSSData _08096894: .4byte 0x00002226 thumb_func_end sub_80967C0 @@ -22429,7 +22429,7 @@ _080969B8: .4byte sub_80969BC thumb_func_start sub_80969BC sub_80969BC: @ 80969BC - ldr r1, _080969F0 @ =gUnknown_20397B0 + ldr r1, _080969F0 @ =sPSSData ldr r3, [r1] movs r1, 0xCB lsls r1, 4 @@ -22456,7 +22456,7 @@ sub_80969BC: @ 80969BC strb r1, [r0, 0x5] bx lr .align 2, 0 -_080969F0: .4byte gUnknown_20397B0 +_080969F0: .4byte sPSSData thumb_func_end sub_80969BC thumb_func_start sub_80969F4 diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index d6c3f548f..b0c2b9a87 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -106,8 +106,8 @@ _081345D0: cmp r0, 0x5 beq _08134604 _081345D4: - movs r0, 0x6 - bl HelpSystem_SetSomeVariable2 + movs r0, 0x6 @ HELPCONTEXT_POKEMON_INFO + bl SetHelpContext ldr r2, _081345F8 @ =gUnknown_203B140 ldr r0, [r2] ldr r3, _081345FC @ =0x00003214 @@ -127,8 +127,8 @@ _081345F8: .4byte gUnknown_203B140 _081345FC: .4byte 0x00003214 _08134600: .4byte 0x00003234 _08134604: - movs r0, 0x6 - bl HelpSystem_SetSomeVariable2 + movs r0, 0x6 @ HELPCONTEXT_POKEMON_INFO + bl SetHelpContext ldr r0, [r4] ldr r3, _08134628 @ =0x00003214 adds r0, r3 @@ -148,8 +148,8 @@ _08134628: .4byte 0x00003214 _0813462C: .4byte 0x0000321c _08134630: .4byte 0x00003234 _08134634: - movs r0, 0x8 - bl HelpSystem_SetSomeVariable2 + movs r0, 0x8 @ HELPCONTEXT_POKEMON_MOVES + bl SetHelpContext ldr r0, [r4] ldr r3, _08134710 @ =0x00003214 adds r0, r3 @@ -3187,7 +3187,7 @@ _08135FC8: .4byte gUnknown_8E9B310 _08135FCC: movs r0, 0x60 movs r1, 0x1 - bl sub_8107D38 + bl ListMenuLoadStdPalAt ldr r0, _08135FE0 @ =gUnknown_84636C0 movs r1, 0x70 _08135FD8: @@ -7600,15 +7600,15 @@ _08138460: .4byte 0x00003214 _08138464: cmp r0, 0x3 bgt _08138476 - movs r0, 0x8 + movs r0, 0x8 @ HELPCONTEXT_POKEMON_MOVES b _08138472 _0813846C: - movs r0, 0x6 + movs r0, 0x6 @ HELPCONTEXT_POKEMON_INFO b _08138472 _08138470: - movs r0, 0x7 + movs r0, 0x7 @ HELPCONTEXT_POKEMON_SKILLS _08138472: - bl HelpSystem_SetSomeVariable2 + bl SetHelpContext _08138476: pop {r0} bx r0 diff --git a/asm/script_movement.s b/asm/script_movement.s deleted file mode 100644 index 04b3ab9b9..000000000 --- a/asm/script_movement.s +++ /dev/null @@ -1,602 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start ScriptMovement_StartObjectMovementScript -ScriptMovement_StartObjectMovementScript: @ 8097434 - push {r4,lr} - sub sp, 0x4 - adds r4, r3, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - beq _08097456 - movs r0, 0x1 - b _0809747E -_08097456: - ldr r0, _08097488 @ =Task_80A244C - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _08097468 - movs r0, 0x32 - bl sub_80974F8 -_08097468: - bl sub_8097540 - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - ldrb r1, [r1] - adds r2, r4, 0 - bl sub_8097554 - lsls r0, 24 - lsrs r0, 24 -_0809747E: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08097488: .4byte Task_80A244C - thumb_func_end ScriptMovement_StartObjectMovementScript - - thumb_func_start ScriptMovement_IsObjectMovementFinished -ScriptMovement_IsObjectMovementFinished: @ 809748C - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080974CE - bl sub_8097540 - lsls r0, 24 - lsrs r4, r0, 24 - mov r0, sp - ldrb r1, [r0] - adds r0, r4, 0 - bl sub_80975C0 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x10 - beq _080974CE - adds r0, r4, 0 - bl sub_80976D0 - lsls r0, 24 - lsrs r0, 24 - b _080974D0 -_080974CE: - movs r0, 0x1 -_080974D0: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end ScriptMovement_IsObjectMovementFinished - - thumb_func_start sub_80974D8 -sub_80974D8: @ 80974D8 - push {r4,lr} - bl sub_8097540 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xFF - beq _080974F2 - adds r0, r4, 0 - bl UnfreezeObjects - adds r0, r4, 0 - bl DestroyTask -_080974F2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80974D8 - - thumb_func_start sub_80974F8 -sub_80974F8: @ 80974F8 - push {r4,r5,lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _08097534 @ =Task_80A244C - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x1 - lsls r1, r0, 2 - adds r1, r0 - lsls r3, r1, 3 - ldr r5, _08097538 @ =gTasks+0x8 - ldr r0, _0809753C @ =0x0000ffff - adds r4, r0, 0 -_08097518: - lsls r0, r2, 1 - adds r0, r3 - adds r0, r5 - ldrh r1, [r0] - orrs r1, r4 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bls _08097518 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08097534: .4byte Task_80A244C -_08097538: .4byte gTasks+0x8 -_0809753C: .4byte 0x0000ffff - thumb_func_end sub_80974F8 - - thumb_func_start sub_8097540 -sub_8097540: @ 8097540 - push {lr} - ldr r0, _08097550 @ =Task_80A244C - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_08097550: .4byte Task_80A244C - thumb_func_end sub_8097540 - - thumb_func_start sub_8097554 -sub_8097554: @ 8097554 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r9, r2 - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, r5, 0 - lsls r1, 24 - lsrs r6, r1, 24 - mov r8, r6 - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_80975C0 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x10 - beq _08097590 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80976D0 - lsls r0, 24 - cmp r0, 0 - beq _080975B0 - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r6, 0 - b _080975A6 -_08097590: - adds r0, r7, 0 - movs r1, 0xFF - bl sub_80975C0 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x10 - beq _080975B0 - adds r0, r7, 0 - adds r1, r4, 0 - mov r2, r8 -_080975A6: - mov r3, r9 - bl sub_8097728 - movs r0, 0 - b _080975B2 -_080975B0: - movs r0, 0x1 -_080975B2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8097554 - - thumb_func_start sub_80975C0 -sub_80975C0: @ 80975C0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080975E4 @ =gTasks+0x8 - adds r1, r0 - adds r1, 0x2 - movs r2, 0 -_080975D8: - ldrb r0, [r1] - cmp r0, r3 - bne _080975E8 - adds r0, r2, 0 - b _080975F6 - .align 2, 0 -_080975E4: .4byte gTasks+0x8 -_080975E8: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - adds r1, 0x1 - cmp r2, 0xF - bls _080975D8 - movs r0, 0x10 -_080975F6: - pop {r1} - bx r1 - thumb_func_end sub_80975C0 - - thumb_func_start sub_80975FC -sub_80975FC: @ 80975FC - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0809762C @ =gTasks+0x8 - adds r1, r0 - adds r1, 0x2 - str r1, [r2] - movs r0, 0 - cmp r0, r3 - bcs _08097628 -_0809761A: - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - adds r1, 0x1 - cmp r0, r3 - bcc _0809761A - str r1, [r2] -_08097628: - pop {r0} - bx r0 - .align 2, 0 -_0809762C: .4byte gTasks+0x8 - thumb_func_end sub_80975FC - - thumb_func_start sub_8097630 -sub_8097630: @ 8097630 - push {r4,lr} - sub sp, 0x4 - adds r4, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r4, 24 - lsrs r4, 24 - mov r2, sp - bl sub_80975FC - ldr r0, [sp] - strb r4, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8097630 - - thumb_func_start sub_8097654 -sub_8097654: @ 8097654 - push {r4,lr} - sub sp, 0x4 - adds r4, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r2, sp - bl sub_80975FC - ldr r0, [sp] - ldrb r0, [r0] - strb r0, [r4] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8097654 - - thumb_func_start sub_8097678 -sub_8097678: @ 8097678 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r2, _080976A0 @ =gBitTable - lsrs r1, 22 - adds r1, r2 - ldr r2, [r1] - mvns r2, r2 - lsls r2, 16 - lsrs r2, 16 - ldr r3, _080976A4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - ldrh r0, [r1, 0x8] - ands r2, r0 - strh r2, [r1, 0x8] - bx lr - .align 2, 0 -_080976A0: .4byte gBitTable -_080976A4: .4byte gTasks - thumb_func_end sub_8097678 - - thumb_func_start sub_80976A8 -sub_80976A8: @ 80976A8 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r3, _080976C8 @ =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r3 - ldr r0, _080976CC @ =gBitTable - lsrs r1, 22 - adds r1, r0 - ldr r0, [r1] - ldrh r1, [r2, 0x8] - orrs r0, r1 - strh r0, [r2, 0x8] - bx lr - .align 2, 0 -_080976C8: .4byte gTasks -_080976CC: .4byte gBitTable - thumb_func_end sub_80976A8 - - thumb_func_start sub_80976D0 -sub_80976D0: @ 80976D0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - ldr r3, _080976F8 @ =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r3 - ldr r0, _080976FC @ =gBitTable - lsrs r1, 22 - adds r1, r0 - ldr r0, [r1] - ldrh r1, [r2, 0x8] - ands r0, r1 - cmp r0, 0 - bne _08097700 - movs r0, 0 - b _08097702 - .align 2, 0 -_080976F8: .4byte gTasks -_080976FC: .4byte gBitTable -_08097700: - movs r0, 0x1 -_08097702: - pop {r1} - bx r1 - thumb_func_end sub_80976D0 - - thumb_func_start npc_obj_offscreen_culling_and_flag_update -npc_obj_offscreen_culling_and_flag_update: @ 8097708 - lsls r0, 24 - ldr r2, _08097714 @ =gUnknown_2039830 - lsrs r0, 22 - adds r0, r2 - str r1, [r0] - bx lr - .align 2, 0 -_08097714: .4byte gUnknown_2039830 - thumb_func_end npc_obj_offscreen_culling_and_flag_update - - thumb_func_start sub_8097718 -sub_8097718: @ 8097718 - lsls r0, 24 - ldr r1, _08097724 @ =gUnknown_2039830 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_08097724: .4byte gUnknown_2039830 - thumb_func_end sub_8097718 - - thumb_func_start sub_8097728 -sub_8097728: @ 8097728 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - adds r4, r1, 0 - adds r6, r2, 0 - mov r8, r3 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8097678 - adds r0, r4, 0 - mov r1, r8 - bl npc_obj_offscreen_culling_and_flag_update - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r6, 0 - bl sub_8097630 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8097728 - - thumb_func_start UnfreezeObjects -UnfreezeObjects: @ 8097768 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080977A4 @ =gTasks+0x8 - adds r1, r0 - adds r4, r1, 0x2 - movs r5, 0 -_0809777C: - ldrb r0, [r4] - cmp r0, 0xFF - beq _08097792 - adds r1, r0, 0 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080977A8 @ =gObjectEvents - adds r0, r1 - bl UnfreezeObjectEvent -_08097792: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x1 - cmp r5, 0xF - bls _0809777C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080977A4: .4byte gTasks+0x8 -_080977A8: .4byte gObjectEvents - thumb_func_end UnfreezeObjects - - thumb_func_start Task_80A244C -Task_80A244C: @ 80977AC - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - movs r5, 0 - mov r6, sp -_080977B8: - adds r0, r7, 0 - adds r1, r5, 0 - mov r2, sp - bl sub_8097654 - ldrb r0, [r6] - cmp r0, 0xFF - beq _080977DC - adds r4, r0, 0 - adds r0, r5, 0 - bl sub_8097718 - adds r3, r0, 0 - adds r0, r7, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_80977F0 -_080977DC: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _080977B8 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end Task_80A244C - - thumb_func_start sub_80977F0 -sub_80977F0: @ 80977F0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r3, 0 - lsls r0, 24 - lsrs r0, 24 - adds r7, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - mov r8, r5 - lsls r2, 24 - lsrs r4, r2, 24 - adds r1, r5, 0 - bl sub_80976D0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0809786A - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - ldr r1, _08097850 @ =gObjectEvents - adds r4, r0, r1 - adds r0, r4, 0 - bl ObjectEventIsHeldMovementActive - lsls r0, 24 - cmp r0, 0 - beq _08097838 - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _0809786A -_08097838: - ldrb r1, [r6] - cmp r1, 0xFE - bne _08097854 - adds r0, r7, 0 - adds r1, r5, 0 - bl sub_80976A8 - adds r0, r4, 0 - bl FreezeObjectEvent - b _0809786A - .align 2, 0 -_08097850: .4byte gObjectEvents -_08097854: - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - lsls r0, 24 - cmp r0, 0 - bne _0809786A - adds r6, 0x1 - mov r0, r8 - adds r1, r6, 0 - bl npc_obj_offscreen_culling_and_flag_update -_0809786A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80977F0 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/trainer_see.s b/asm/trainer_see.s deleted file mode 100644 index dee50b60f..000000000 --- a/asm/trainer_see.s +++ /dev/null @@ -1,1628 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start CheckForTrainersWantingBattle -CheckForTrainersWantingBattle: @ 8081B30 - push {r4,r5,lr} - bl sub_8111C2C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08081B44 - b _08081B78 -_08081B40: - movs r0, 0x1 - b _08081B7A -_08081B44: - movs r4, 0 - ldr r5, _08081B80 @ =gObjectEvents -_08081B48: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _08081B6E - ldrb r0, [r1, 0x7] - cmp r0, 0x1 - beq _08081B62 - cmp r0, 0x3 - bne _08081B6E -_08081B62: - adds r0, r4, 0 - bl sub_8081B84 - lsls r0, 24 - cmp r0, 0 - bne _08081B40 -_08081B6E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _08081B48 -_08081B78: - movs r0, 0 -_08081B7A: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08081B80: .4byte gObjectEvents - thumb_func_end CheckForTrainersWantingBattle - - thumb_func_start sub_8081B84 -sub_8081B84: @ 8081B84 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl GetObjectEventScriptPointerByObjectEventId - adds r6, r0, 0 - bl GetTrainerFlagFromScriptPointer - cmp r0, 0 - bne _08081BE4 - lsls r4, r5, 3 - adds r0, r4, r5 - lsls r0, 2 - ldr r1, _08081BE0 @ =gObjectEvents - adds r0, r1 - bl sub_8081BEC - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0 - beq _08081BE4 - ldrb r0, [r6, 0x1] - cmp r0, 0x4 - bne _08081BC0 - bl GetMonsStateToDoubles - lsls r0, 24 - cmp r0, 0 - bne _08081BE4 -_08081BC0: - adds r0, r5, 0 - adds r1, r6, 0 - bl ConfigureAndSetUpOneTrainerBattle - adds r0, r4, r5 - lsls r0, 2 - ldr r1, _08081BE0 @ =gObjectEvents - adds r0, r1 - subs r1, r7, 0x1 - lsls r1, 24 - lsrs r1, 24 - bl sub_8081E68 - movs r0, 0x1 - b _08081BE6 - .align 2, 0 -_08081BE0: .4byte gObjectEvents -_08081BE4: - movs r0, 0 -_08081BE6: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8081B84 - - thumb_func_start sub_8081BEC -sub_8081BEC: @ 8081BEC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r7, r0, 0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - ldrb r0, [r7, 0x7] - mov r8, r4 - cmp r0, 0x1 - bne _08081C4C - ldr r1, _08081C44 @ =gUnknown_83C7248 - ldrb r0, [r7, 0x18] - lsls r0, 28 - lsrs r0, 26 - subs r0, 0x4 - adds r0, r1 - ldrb r1, [r7, 0x1D] - mov r2, sp - movs r3, 0 - ldrsh r2, [r2, r3] - movs r5, 0 - ldrsh r3, [r4, r5] - ldr r4, [r0] - adds r0, r7, 0 - bl _call_via_r4 - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r2, [r7, 0x18] - lsls r2, 28 - lsrs r2, 28 - adds r0, r7, 0 - adds r1, r6, 0 - bl CheckPathBetweenTrainerAndPlayer - lsls r0, 24 - lsrs r0, 24 - b _08081C8C - .align 2, 0 -_08081C44: .4byte gUnknown_83C7248 -_08081C48: - adds r0, r6, 0 - b _08081C8C -_08081C4C: - movs r5, 0 -_08081C4E: - ldr r0, _08081C98 @ =gUnknown_83C7248 - lsls r4, r5, 2 - adds r4, r0 - ldrb r1, [r7, 0x1D] - mov r0, sp - movs r6, 0 - ldrsh r2, [r0, r6] - mov r0, r8 - movs r6, 0 - ldrsh r3, [r0, r6] - ldr r4, [r4] - adds r0, r7, 0 - bl _call_via_r4 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl CheckPathBetweenTrainerAndPlayer - lsls r0, 24 - cmp r0, 0 - bne _08081C48 - adds r5, r4, 0 - cmp r5, 0x3 - bls _08081C4E - movs r0, 0 -_08081C8C: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08081C98: .4byte gUnknown_83C7248 - thumb_func_end sub_8081BEC - - thumb_func_start IsTrainerInRangeSouth -IsTrainerInRangeSouth: @ 8081C9C - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 16 - lsls r3, 16 - lsrs r5, r3, 16 - movs r3, 0x10 - ldrsh r0, [r4, r3] - lsls r2, 16 - asrs r2, 16 - cmp r0, r2 - bne _08081CE4 - lsls r0, r5, 16 - asrs r2, r0, 16 - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r2, r0 - ble _08081CE4 - lsls r1, 16 - asrs r1, 16 - adds r0, r1 - cmp r2, r0 - bgt _08081CE4 - cmp r1, 0x3 - ble _08081CDA - bl GetFirstInactiveObjectEventId - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x10 - beq _08081CE4 -_08081CDA: - ldrb r0, [r4, 0x12] - subs r0, r5, r0 - lsls r0, 24 - lsrs r0, 24 - b _08081CE6 -_08081CE4: - movs r0, 0 -_08081CE6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end IsTrainerInRangeSouth - - thumb_func_start IsTrainerInRangeNorth -IsTrainerInRangeNorth: @ 8081CEC - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r3, 16 - lsrs r5, r3, 16 - movs r1, 0x10 - ldrsh r0, [r4, r1] - lsls r2, 16 - asrs r2, 16 - cmp r0, r2 - bne _08081D26 - lsls r0, r5, 16 - asrs r2, r0, 16 - ldrh r3, [r4, 0x12] - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r2, r0 - bge _08081D26 - adds r1, r0, 0 - lsls r0, r6, 16 - asrs r0, 16 - subs r1, r0 - cmp r2, r1 - blt _08081D26 - subs r0, r3, r5 - lsls r0, 24 - lsrs r0, 24 - b _08081D28 -_08081D26: - movs r0, 0 -_08081D28: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsTrainerInRangeNorth - - thumb_func_start IsTrainerInRangeWest -IsTrainerInRangeWest: @ 8081D30 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r3, 16 - asrs r3, 16 - cmp r0, r3 - bne _08081D6A - lsls r0, r5, 16 - asrs r3, r0, 16 - ldrh r2, [r4, 0x10] - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r3, r0 - bge _08081D6A - adds r1, r0, 0 - lsls r0, r6, 16 - asrs r0, 16 - subs r1, r0 - cmp r3, r1 - blt _08081D6A - subs r0, r2, r5 - lsls r0, 24 - lsrs r0, 24 - b _08081D6C -_08081D6A: - movs r0, 0 -_08081D6C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsTrainerInRangeWest - - thumb_func_start IsTrainerInRangeEast -IsTrainerInRangeEast: @ 8081D74 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r3, 16 - asrs r3, 16 - cmp r0, r3 - bne _08081DAE - lsls r0, r5, 16 - asrs r3, r0, 16 - ldrh r2, [r4, 0x10] - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r3, r0 - ble _08081DAE - adds r1, r0, 0 - lsls r0, r6, 16 - asrs r0, 16 - adds r1, r0 - cmp r3, r1 - bgt _08081DAE - subs r0, r5, r2 - lsls r0, 24 - lsrs r0, 24 - b _08081DB0 -_08081DAE: - movs r0, 0 -_08081DB0: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsTrainerInRangeEast - - thumb_func_start CheckPathBetweenTrainerAndPlayer -CheckPathBetweenTrainerAndPlayer: @ 8081DB8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r6, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsrs r7, r2, 24 - cmp r1, 0 - beq _08081E54 - ldrh r1, [r6, 0x10] - mov r0, sp - strh r1, [r0] - ldrh r0, [r6, 0x12] - mov r1, sp - adds r1, 0x2 - strh r0, [r1] - movs r4, 0 - mov r8, r1 - mov r5, r9 - subs r5, 0x1 - cmp r4, r5 - bgt _08081E26 -_08081DEC: - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - mov r3, r8 - movs r0, 0 - ldrsh r2, [r3, r0] - adds r0, r6, 0 - adds r3, r7, 0 - bl GetCollisionFlagsAtCoords - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08081E12 - movs r0, 0x2 - negs r0, r0 - ands r1, r0 - cmp r1, 0 - bne _08081E54 -_08081E12: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r7, 0 - mov r1, sp - mov r2, r8 - bl MoveCoords - cmp r4, r5 - ble _08081DEC -_08081E26: - ldrb r4, [r6, 0x19] - lsls r5, r4, 28 - lsrs r5, 28 - lsrs r4, 4 - movs r0, 0 - strb r0, [r6, 0x19] - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - mov r3, r8 - movs r0, 0 - ldrsh r2, [r3, r0] - adds r0, r6, 0 - adds r3, r7, 0 - bl GetCollisionAtCoords - lsls r0, 24 - lsrs r1, r0, 24 - lsls r4, 4 - orrs r5, r4 - strb r5, [r6, 0x19] - cmp r1, 0x4 - beq _08081E58 -_08081E54: - movs r0, 0 - b _08081E5A -_08081E58: - mov r0, r9 -_08081E5A: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckPathBetweenTrainerAndPlayer - - thumb_func_start sub_8081E68 -sub_8081E68: @ 8081E68 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r4, r1, 24 - lsrs r4, 24 - ldr r0, _08081E94 @ =RunTrainerSeeFuncList - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08081E98 @ =gTasks - adds r1, r0 - lsrs r0, r5, 16 - strh r0, [r1, 0xA] - strh r5, [r1, 0xC] - strh r4, [r1, 0xE] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08081E94: .4byte RunTrainerSeeFuncList -_08081E98: .4byte gTasks - thumb_func_end sub_8081E68 - - thumb_func_start sub_8081E9C -sub_8081E9C: @ 8081E9C - push {r4-r6,lr} - adds r6, r0, 0 - ldr r5, _08081ED4 @ =RunTrainerSeeFuncList - adds r0, r5, 0 - bl FindTaskIdByFunc - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl SetTaskFuncWithFollowupFunc - ldr r1, _08081ED8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x8] - adds r0, r4, 0 - bl _call_via_r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08081ED4: .4byte RunTrainerSeeFuncList -_08081ED8: .4byte gTasks - thumb_func_end sub_8081E9C - - thumb_func_start RunTrainerSeeFuncList -RunTrainerSeeFuncList: @ 8081EDC - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _08081F08 @ =gTasks - adds r5, r0, r1 - movs r1, 0xA - ldrsh r0, [r5, r1] - lsls r4, r0, 16 - ldrh r0, [r5, 0xC] - orrs r4, r0 - ldrb r0, [r4] - lsls r0, 31 - cmp r0, 0 - bne _08081F0C - adds r0, r6, 0 - bl SwitchTaskToFollowupFunc - b _08081F28 - .align 2, 0 -_08081F08: .4byte gTasks -_08081F0C: - ldr r7, _08081F30 @ =gUnknown_83C7258 -_08081F0E: - movs r1, 0x8 - ldrsh r0, [r5, r1] - lsls r0, 2 - adds r0, r7 - ldr r3, [r0] - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl _call_via_r3 - lsls r0, 24 - cmp r0, 0 - bne _08081F0E -_08081F28: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08081F30: .4byte gUnknown_83C7258 - thumb_func_end RunTrainerSeeFuncList - - thumb_func_start sub_8081F34 -sub_8081F34: @ 8081F34 - movs r0, 0 - bx lr - thumb_func_end sub_8081F34 - - thumb_func_start sub_8081F38 -sub_8081F38: @ 8081F38 - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - ldrb r1, [r4, 0x18] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x1 - bne _08081F54 - movs r1, 0xE - ldrsh r0, [r5, r1] - cmp r0, 0x2 - ble _08081F54 - movs r0, 0xC - b _08081F82 -_08081F54: - ldr r1, _08081F8C @ =gFieldEffectArguments - adds r2, r1, 0x4 - adds r3, r1, 0 - adds r3, 0x8 - adds r0, r4, 0 - bl ObjectEventGetLocalIdAndMap - movs r0, 0 - bl FieldEffectStart - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x8] - adds r0, 0x1 -_08081F82: - strh r0, [r5, 0x8] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08081F8C: .4byte gFieldEffectArguments - thumb_func_end sub_8081F38 - - thumb_func_start sub_8081F90 -sub_8081F90: @ 8081F90 - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - movs r0, 0 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - beq _08081FA6 - movs r0, 0 - b _08081FC8 -_08081FA6: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - ldrb r0, [r5, 0x6] - subs r0, 0x39 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _08081FBC - movs r0, 0x6 - strh r0, [r4, 0x8] -_08081FBC: - ldrb r0, [r5, 0x6] - cmp r0, 0x3F - bne _08081FC6 - movs r0, 0x8 - strh r0, [r4, 0x8] -_08081FC6: - movs r0, 0x1 -_08081FC8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8081F90 - - thumb_func_start sub_8081FD0 -sub_8081FD0: @ 8081FD0 - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - adds r0, r4, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _08081FEE - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _08082022 -_08081FEE: - movs r1, 0xE - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08082014 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetWalkNormalMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0xE] - subs r0, 0x1 - strh r0, [r5, 0xE] - b _08082022 -_08082014: - adds r0, r4, 0 - movs r1, 0x4A - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_08082022: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8081FD0 - - thumb_func_start sub_808202C -sub_808202C: @ 808202C - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - adds r0, r4, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _0808204A - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _080820AC -_0808204A: - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetTrainerFacingDirectionMovementType - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl SetTrainerMovementType - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetTrainerFacingDirectionMovementType - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl OverrideMovementTypeForObjectEvent - adds r0, r4, 0 - bl OverrideTemplateCoordsForObjectEvent - ldr r0, _080820B4 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080820B8 @ =gObjectEvents - adds r4, r0, r1 - adds r0, r4, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _080820A2 - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _080820AC -_080820A2: - bl sub_805C774 - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080820AC: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080820B4: .4byte gPlayerAvatar -_080820B8: .4byte gObjectEvents - thumb_func_end sub_808202C - - thumb_func_start sub_80820BC -sub_80820BC: @ 80820BC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080820F8 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080820FC @ =gObjectEvents - adds r4, r0, r1 - adds r0, r4, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _080820E8 - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _080820EE -_080820E8: - adds r0, r5, 0 - bl SwitchTaskToFollowupFunc -_080820EE: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080820F8: .4byte gPlayerAvatar -_080820FC: .4byte gObjectEvents - thumb_func_end sub_80820BC - - thumb_func_start sub_8082100 -sub_8082100: @ 8082100 - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - adds r0, r4, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _0808211E - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _0808212C -_0808211E: - adds r0, r4, 0 - movs r1, 0x67 - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_0808212C: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8082100 - - thumb_func_start sub_8082134 -sub_8082134: @ 8082134 - push {r4,lr} - adds r4, r1, 0 - adds r0, r2, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _08082148 - movs r0, 0x3 - strh r0, [r4, 0x8] -_08082148: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8082134 - - thumb_func_start sub_8082150 -sub_8082150: @ 8082150 - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - adds r0, r4, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _0808216E - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _0808217C -_0808216E: - adds r0, r4, 0 - movs r1, 0x4A - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_0808217C: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8082150 - - thumb_func_start sub_8082184 -sub_8082184: @ 8082184 - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - adds r0, r4, 0 - bl ObjectEventCheckHeldMovementStatus - lsls r0, 24 - cmp r0, 0 - beq _080821CA - ldr r2, _080821D4 @ =gFieldEffectArguments - movs r1, 0x10 - ldrsh r0, [r4, r1] - str r0, [r2] - movs r1, 0x12 - ldrsh r0, [r4, r1] - str r0, [r2, 0x4] - ldr r3, _080821D8 @ =gSprites - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x43 - ldrb r0, [r0] - subs r0, 0x1 - str r0, [r2, 0x8] - movs r0, 0x2 - str r0, [r2, 0xC] - movs r0, 0x31 - bl FieldEffectStart - strh r0, [r5, 0x10] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_080821CA: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080821D4: .4byte gFieldEffectArguments -_080821D8: .4byte gSprites - thumb_func_end sub_8082184 - - thumb_func_start sub_80821DC -sub_80821DC: @ 80821DC - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - ldr r2, _0808224C @ =gSprites - movs r1, 0x10 - ldrsh r0, [r5, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x2B - ldrb r0, [r1] - cmp r0, 0x2 - bne _08082244 - ldrb r1, [r4, 0x3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x3] - ldrb r0, [r4] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x5] - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetJumpInPlaceMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_08082244: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0808224C: .4byte gSprites - thumb_func_end sub_80821DC - - thumb_func_start sub_8082250 -sub_8082250: @ 8082250 - push {r4,lr} - adds r4, r1, 0 - movs r0, 0x31 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _08082264 - movs r0, 0x3 - strh r0, [r4, 0x8] -_08082264: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8082250 - - thumb_func_start sub_808226C -sub_808226C: @ 808226C - push {r4,lr} - sub sp, 0x8 - adds r4, r1, 0 - movs r0, 0 - strh r0, [r4, 0x12] - ldr r0, _080822C4 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r3, [r0] - adds r3, 0x7 - lsls r3, 16 - asrs r3, 16 - ldrh r0, [r0, 0x2] - adds r0, 0x7 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - movs r0, 0x12 - movs r1, 0x7 - movs r2, 0x7F - bl SpawnSpecialObjectEventParameterized - ldr r2, _080822C8 @ =gObjectEvents - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x1] - movs r2, 0x20 - orrs r0, r2 - strb r0, [r1, 0x1] - ldrb r0, [r1, 0x4] - bl CameraObjectSetFollowedObjectId - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080822C4: .4byte gSaveBlock1Ptr -_080822C8: .4byte gObjectEvents - thumb_func_end sub_808226C - - thumb_func_start sub_80822CC -sub_80822CC: @ 80822CC - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r1, 0 - adds r6, r2, 0 - ldr r0, _08082348 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x7F - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r4, _0808234C @ =gObjectEvents - adds r0, r4 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _08082312 - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _0808236E -_08082312: - movs r0, 0x12 - ldrsh r1, [r5, r0] - movs r2, 0xE - ldrsh r0, [r5, r2] - subs r0, 0x1 - cmp r1, r0 - beq _08082350 - mov r0, sp - ldrb r0, [r0] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _0808234C @ =gObjectEvents - adds r4, r0 - movs r0, 0x2 - bl GetWalkFastMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x12] - adds r0, 0x1 - strh r0, [r5, 0x12] - b _0808236E - .align 2, 0 -_08082348: .4byte gSaveBlock1Ptr -_0808234C: .4byte gObjectEvents -_08082350: - ldr r1, _08082378 @ =gFieldEffectArguments - adds r2, r1, 0x4 - adds r3, r1, 0 - adds r3, 0x8 - adds r0, r6, 0 - bl ObjectEventGetLocalIdAndMap - movs r0, 0 - bl FieldEffectStart - movs r0, 0 - strh r0, [r5, 0x12] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] -_0808236E: - movs r0, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08082378: .4byte gFieldEffectArguments - thumb_func_end sub_80822CC - - thumb_func_start sub_808237C -sub_808237C: @ 808237C - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r1, 0 - ldr r0, _08082404 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x7F - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - movs r0, 0 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _0808242E - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r4, _08082408 @ =gObjectEvents - adds r0, r4 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _080823CC - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _0808242E -_080823CC: - movs r0, 0x12 - ldrsh r1, [r5, r0] - movs r2, 0xE - ldrsh r0, [r5, r2] - subs r0, 0x1 - cmp r1, r0 - beq _0808240C - mov r0, sp - ldrb r0, [r0] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _08082408 @ =gObjectEvents - adds r4, r0 - movs r0, 0x1 - bl GetWalkFastMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - ldrh r0, [r5, 0x12] - adds r0, 0x1 - strh r0, [r5, 0x12] - b _0808242E - .align 2, 0 -_08082404: .4byte gSaveBlock1Ptr -_08082408: .4byte gObjectEvents -_0808240C: - bl GetPlayerAvatarObjectId - lsls r0, 24 - lsrs r0, 24 - bl CameraObjectSetFollowedObjectId - ldr r0, _08082438 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x7F - bl RemoveObjectEventByLocalIdAndMap - movs r0, 0 - strh r0, [r5, 0x12] - movs r0, 0x2 - strh r0, [r5, 0x8] -_0808242E: - movs r0, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08082438: .4byte gSaveBlock1Ptr - thumb_func_end sub_808237C - - thumb_func_start sub_808243C -sub_808243C: @ 808243C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080824D0 @ =gTasks - adds r4, r0, r1 - adds r0, r4, 0 - adds r0, 0xA - mov r1, sp - bl LoadWordFromTwoHalfwords - movs r1, 0x16 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0808246E - ldr r0, [sp] - bl ObjectEventClearHeldMovement - ldrh r0, [r4, 0x16] - adds r0, 0x1 - strh r0, [r4, 0x16] -_0808246E: - ldr r1, _080824D4 @ =gUnknown_83C7294 - movs r2, 0x8 - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r1 - ldr r2, [sp] - ldr r3, [r0] - adds r0, r5, 0 - adds r1, r4, 0 - bl _call_via_r3 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x3 - bne _080824D8 - movs r0, 0x31 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _080824D8 - ldr r4, [sp] - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetTrainerFacingDirectionMovementType - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl SetTrainerMovementType - ldr r4, [sp] - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetTrainerFacingDirectionMovementType - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl OverrideMovementTypeForObjectEvent - adds r0, r5, 0 - bl DestroyTask - b _080824E2 - .align 2, 0 -_080824D0: .4byte gTasks -_080824D4: .4byte gUnknown_83C7294 -_080824D8: - ldr r2, [sp] - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] -_080824E2: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_808243C - - thumb_func_start sub_80824EC -sub_80824EC: @ 80824EC - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08082518 @ =sub_808243C - movs r1, 0 - bl CreateTask - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _0808251C @ =gTasks+0x8 - adds r0, r1 - adds r0, 0x2 - adds r1, r4, 0 - bl StoreWordInTwoHalfwords - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08082518: .4byte sub_808243C -_0808251C: .4byte gTasks+0x8 - thumb_func_end sub_80824EC - - thumb_func_start ScrSpecial_EndTrainerApproach -ScrSpecial_EndTrainerApproach: @ 8082520 - push {lr} - ldr r0, _0808252C @ =sub_8082530 - bl sub_8081E9C - pop {r0} - bx r0 - .align 2, 0 -_0808252C: .4byte sub_8082530 - thumb_func_end ScrSpecial_EndTrainerApproach - - thumb_func_start sub_8082530 -sub_8082530: @ 8082530 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_8082530 - - thumb_func_start FldEff_ExclamationMarkIcon1 -FldEff_ExclamationMarkIcon1: @ 8082544 - push {lr} - ldr r0, _08082574 @ =gUnknown_83C7388 - movs r1, 0 - movs r2, 0 - movs r3, 0x53 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _0808256C - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08082578 @ =gSprites - adds r0, r1 - movs r1, 0 - movs r2, 0 - bl sub_808265C -_0808256C: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08082574: .4byte gUnknown_83C7388 -_08082578: .4byte gSprites - thumb_func_end FldEff_ExclamationMarkIcon1 - - thumb_func_start sub_808257C -sub_808257C: @ 808257C - push {lr} - ldr r0, _080825AC @ =gUnknown_83C7388 - movs r1, 0 - movs r2, 0 - movs r3, 0x52 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080825A4 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080825B0 @ =gSprites - adds r0, r1 - movs r1, 0x42 - movs r2, 0x1 - bl sub_808265C -_080825A4: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080825AC: .4byte gUnknown_83C7388 -_080825B0: .4byte gSprites - thumb_func_end sub_808257C - - thumb_func_start sub_80825B4 -sub_80825B4: @ 80825B4 - push {lr} - ldr r0, _080825E4 @ =gUnknown_83C7388 - movs r1, 0 - movs r2, 0 - movs r3, 0x52 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _080825DC - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080825E8 @ =gSprites - adds r0, r1 - movs r1, 0x2E - movs r2, 0x2 - bl sub_808265C -_080825DC: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080825E4: .4byte gUnknown_83C7388 -_080825E8: .4byte gSprites - thumb_func_end sub_80825B4 - - thumb_func_start sub_80825EC -sub_80825EC: @ 80825EC - push {lr} - ldr r0, _0808261C @ =gUnknown_83C7388 - movs r1, 0 - movs r2, 0 - movs r3, 0x52 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _08082614 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08082620 @ =gSprites - adds r0, r1 - movs r1, 0x40 - movs r2, 0x3 - bl sub_808265C -_08082614: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0808261C: .4byte gUnknown_83C7388 -_08082620: .4byte gSprites - thumb_func_end sub_80825EC - - thumb_func_start sub_8082624 -sub_8082624: @ 8082624 - push {lr} - ldr r0, _08082654 @ =gUnknown_83C7388 - movs r1, 0 - movs r2, 0 - movs r3, 0x52 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _0808264C - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08082658 @ =gSprites - adds r0, r1 - movs r1, 0x21 - movs r2, 0x4 - bl sub_808265C -_0808264C: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08082654: .4byte gUnknown_83C7388 -_08082658: .4byte gSprites - thumb_func_end sub_8082624 - - thumb_func_start sub_808265C -sub_808265C: @ 808265C - push {r4,lr} - lsls r2, 24 - lsrs r2, 24 - ldrb r4, [r0, 0x5] - movs r3, 0xD - negs r3, r3 - ands r3, r4 - movs r4, 0x4 - orrs r3, r4 - strb r3, [r0, 0x5] - movs r3, 0x3E - adds r3, r0 - mov r12, r3 - ldrb r3, [r3] - movs r4, 0x2 - orrs r3, r4 - mov r4, r12 - strb r3, [r4] - ldr r4, _080826A0 @ =gFieldEffectArguments - ldr r3, [r4] - strh r3, [r0, 0x2E] - ldr r3, [r4, 0x4] - strh r3, [r0, 0x30] - ldr r3, [r4, 0x8] - strh r3, [r0, 0x32] - ldr r3, _080826A4 @ =0x0000fffb - strh r3, [r0, 0x34] - strh r1, [r0, 0x3C] - adds r1, r2, 0 - bl StartSpriteAnim - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080826A0: .4byte gFieldEffectArguments -_080826A4: .4byte 0x0000fffb - thumb_func_end sub_808265C - - thumb_func_start objc_exclamation_mark_probably -objc_exclamation_mark_probably: @ 80826A8 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _080826DA - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080826E8 -_080826DA: - ldrh r1, [r4, 0x3C] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldEffectStop - b _08082736 -_080826E8: - ldr r2, _0808272C @ =gObjectEvents - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08082730 @ =gSprites - adds r1, r0 - ldrh r3, [r4, 0x34] - ldrh r0, [r4, 0x36] - adds r2, r3, r0 - strh r2, [r4, 0x36] - ldrh r0, [r1, 0x20] - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x22] - subs r0, 0x10 - strh r0, [r4, 0x22] - ldrh r0, [r1, 0x24] - strh r0, [r4, 0x24] - ldrh r0, [r1, 0x26] - adds r0, r2 - strh r0, [r4, 0x26] - lsls r2, 16 - asrs r2, 16 - cmp r2, 0 - beq _08082734 - adds r0, r3, 0x1 - strh r0, [r4, 0x34] - b _08082736 - .align 2, 0 -_0808272C: .4byte gObjectEvents -_08082730: .4byte gSprites -_08082734: - strh r2, [r4, 0x34] -_08082736: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end objc_exclamation_mark_probably - - .align 2, 0 @ Don't pad with nop. diff --git a/common_syms/AgbRfu_LinkManager.txt b/common_syms/AgbRfu_LinkManager.txt new file mode 100644 index 000000000..7ff8cd53d --- /dev/null +++ b/common_syms/AgbRfu_LinkManager.txt @@ -0,0 +1 @@ +lman diff --git a/common_syms/cable_club.txt b/common_syms/cable_club.txt new file mode 100644 index 000000000..9cdf633b5 --- /dev/null +++ b/common_syms/cable_club.txt @@ -0,0 +1 @@ +UnusedVarNeededToMatch diff --git a/common_syms/field_camera.txt b/common_syms/field_camera.txt new file mode 100644 index 000000000..02301ce23 --- /dev/null +++ b/common_syms/field_camera.txt @@ -0,0 +1,3 @@ +gFieldCamera +gTotalCameraPixelOffsetY +gTotalCameraPixelOffsetX diff --git a/common_syms/help_system_812B1E0.txt b/common_syms/help_system_812B1E0.txt index 5e56cc230..20475eeb9 100644 --- a/common_syms/help_system_812B1E0.txt +++ b/common_syms/help_system_812B1E0.txt @@ -1,2 +1,2 @@ -gUnknown_3005E9C -gSomeVariableBackup +gHelpSystemState +gHelpContextIdBackup diff --git a/common_syms/link.txt b/common_syms/link.txt index 32c25d708..82cf757a1 100644 --- a/common_syms/link.txt +++ b/common_syms/link.txt @@ -10,11 +10,11 @@ gFiller_3003EC0 gLinkHeldKeys gRecvCmds gLinkStatus -gUnknown_3003F24 +gLinkAllAcked5FFF gUnknown_3003F28 -gUnknown_3003F2C -gUnknown_3003F30 -gUnknown_3003F34 +gLinkCommand2FFEAck +gLinkCommand5FFFAck +gLinkCmd5FFFparam gSuppressLinkErrorMessage gWirelessCommType gSavedLinkPlayerCount diff --git a/common_syms/link_rfu.txt b/common_syms/link_rfu.txt deleted file mode 100644 index add61fde8..000000000 --- a/common_syms/link_rfu.txt +++ /dev/null @@ -1 +0,0 @@ -gUnknown_3005E10 diff --git a/common_syms/mevent.txt b/common_syms/mevent.txt index cfaf59d33..af4db66e6 100644 --- a/common_syms/mevent.txt +++ b/common_syms/mevent.txt @@ -1 +1 @@ -gUnknown_3005ED0 +sMEventSendToEReaderManager diff --git a/data/battle_bg.s b/data/battle_bg.s deleted file mode 100644 index a6c67612e..000000000 --- a/data/battle_bg.s +++ /dev/null @@ -1,583 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gUnknown_824829C:: @ 824829C - .byte 1, 2, 0 - - .align 2 -gOamData_82482A0:: - .4byte 0xc0000300, 0x00000000 - -gOamData_82482A8:: - .4byte 0xc0000300, 0x00000040 - -gUnknown_82482B0:: - obj_rot_scal_anim_frame 0x80, 0x80, 0, 0 - obj_rot_scal_anim_end - -gUnknown_82482C0:: - obj_rot_scal_anim_frame 0x80, 0x80, 0, 0 - obj_rot_scal_anim_frame 0x18, 0x18, 0, 0x80 - obj_rot_scal_anim_frame 0x18, 0x18, 0, 0x80 - obj_rot_scal_anim_end - -gAffineAnimTable_82482E0:: - .4byte gUnknown_82482B0 - .4byte gUnknown_82482C0 - -gUnknown_82482E8:: @ 82482E8 - spr_template 10000, 10000, gOamData_82482A0, gDummySpriteAnimTable, NULL, gAffineAnimTable_82482E0, nullsub_9 - -gUnknown_8248300:: @ 8248300 - spr_template 10000, 10000, gOamData_82482A8, gDummySpriteAnimTable, NULL, gAffineAnimTable_82482E0, nullsub_9 - -gUnknown_8248318:: @ 8248318 - obj_tiles gFile_graphics_battle_transitions_vs_sheet, 0x1000, 10000 - -gBattleBgTemplates:: @ 8248320 - .4byte 0x00000580 - @ { - @ .bg = 0, - @ .charBaseIndex = 0, - @ .mapBaseIndex = 24, - @ .screenSize = 2, - @ .paletteMode = 0, - @ .priority = 0, - @ .baseTile = 0x0000 - @ } - .4byte 0x000005c5 - @ { - @ .bg = 1, - @ .charBaseIndex = 1, - @ .mapBaseIndex = 28, - @ .screenSize = 2, - @ .paletteMode = 0, - @ .priority = 0, - @ .baseTile = 0x0000 - @ } - .4byte 0x000013e6 - @ { - @ .bg = 2, - @ .charBaseIndex = 1, - @ .mapBaseIndex = 30, - @ .screenSize = 1, - @ .paletteMode = 0, - @ .priority = 1, - @ .baseTile = 0x0000 - @ } - .4byte 0x000033ab - @ { - @ .bg = 3, - @ .charBaseIndex = 2, - @ .mapBaseIndex = 26, - @ .screenSize = 1, - @ .paletteMode = 0, - @ .priority = 3, - @ .baseTile = 0x0000 - @ } - -gUnknown_8248330:: @ 8248330 - .byte 0, 1, 15, 28, 4, 0 - .2byte 0x0090 - @ { - @ .bg = 0, - @ .tilemapLeft = 1, - @ .tilemapTop = 15, - @ .width = 28, - @ .height = 4, - @ .paletteNum = 0, - @ .baseBlock = 0x0090 - @ } - .byte 0, 1, 35, 14, 4, 0 - .2byte 0x01c0 - @ { - @ .bg = 0, - @ .tilemapLeft = 1, - @ .tilemapTop = 35, - @ .width = 14, - @ .height = 4, - @ .paletteNum = 0, - @ .baseBlock = 0x01c0 - @ } - .byte 0, 17, 35, 12, 4, 5 - .2byte 0x0190 - @ { - @ .bg = 0, - @ .tilemapLeft = 17, - @ .tilemapTop = 35, - @ .width = 12, - @ .height = 4, - @ .paletteNum = 5, - @ .baseBlock = 0x0190 - @ } - .byte 0, 2, 55, 8, 2, 5 - .2byte 0x0300 - @ { - @ .bg = 0, - @ .tilemapLeft = 2, - @ .tilemapTop = 55, - @ .width = 8, - @ .height = 2, - @ .paletteNum = 5, - @ .baseBlock = 0x0300 - @ } - .byte 0, 11, 55, 8, 2, 5 - .2byte 0x0310 - @ { - @ .bg = 0, - @ .tilemapLeft = 11, - @ .tilemapTop = 55, - @ .width = 8, - @ .height = 2, - @ .paletteNum = 5, - @ .baseBlock = 0x0310 - @ } - .byte 0, 2, 57, 8, 2, 5 - .2byte 0x0320 - @ { - @ .bg = 0, - @ .tilemapLeft = 2, - @ .tilemapTop = 57, - @ .width = 8, - @ .height = 2, - @ .paletteNum = 5, - @ .baseBlock = 0x0320 - @ } - .byte 0, 11, 57, 8, 2, 5 - .2byte 0x0330 - @ { - @ .bg = 0, - @ .tilemapLeft = 11, - @ .tilemapTop = 57, - @ .width = 8, - @ .height = 2, - @ .paletteNum = 5, - @ .baseBlock = 0x0330 - @ } - .byte 0, 21, 55, 3, 2, 5 - .2byte 0x0290 - @ { - @ .bg = 0, - @ .tilemapLeft = 21, - @ .tilemapTop = 55, - @ .width = 3, - @ .height = 2, - @ .paletteNum = 5, - @ .baseBlock = 0x0290 - @ } - .byte 0, 21, 57, 8, 2, 5 - .2byte 0x0296 - @ { - @ .bg = 0, - @ .tilemapLeft = 21, - @ .tilemapTop = 57, - @ .width = 8, - @ .height = 2, - @ .paletteNum = 5, - @ .baseBlock = 0x0296 - @ } - .byte 0, 24, 55, 5, 2, 5 - .2byte 0x02a6 - @ { - @ .bg = 0, - @ .tilemapLeft = 24, - @ .tilemapTop = 55, - @ .width = 5, - @ .height = 2, - @ .paletteNum = 5, - @ .baseBlock = 0x02a6 - @ } - .byte 0, 25, 57, 0, 0, 5 - .2byte 0x02b0 - @ { - @ .bg = 0, - @ .tilemapLeft = 25, - @ .tilemapTop = 57, - @ .width = 0, - @ .height = 0, - @ .paletteNum = 5, - @ .baseBlock = 0x02b0 - @ } - .byte 0, 21, 55, 8, 4, 5 - .2byte 0x02b0 - @ { - @ .bg = 0, - @ .tilemapLeft = 21, - @ .tilemapTop = 55, - @ .width = 8, - @ .height = 4, - @ .paletteNum = 5, - @ .baseBlock = 0x02b0 - @ } - .byte 1, 19, 8, 10, 11, 5 - .2byte 0x0100 - @ { - @ .bg = 1, - @ .tilemapLeft = 19, - @ .tilemapTop = 8, - @ .width = 10, - @ .height = 11, - @ .paletteNum = 5, - @ .baseBlock = 0x0100 - @ } - .byte 2, 18, 0, 12, 3, 6 - .2byte 0x016e - @ { - @ .bg = 2, - @ .tilemapLeft = 18, - @ .tilemapTop = 0, - @ .width = 12, - @ .height = 3, - @ .paletteNum = 6, - @ .baseBlock = 0x016e - @ } - .byte 0, 25, 9, 4, 4, 5 - .2byte 0x0100 - @ { - @ .bg = 0, - @ .tilemapLeft = 25, - @ .tilemapTop = 9, - @ .width = 4, - @ .height = 4, - @ .paletteNum = 5, - @ .baseBlock = 0x0100 - @ } - .byte 1, 2, 3, 7, 2, 5 - .2byte 0x0020 - @ { - @ .bg = 1, - @ .tilemapLeft = 2, - @ .tilemapTop = 3, - @ .width = 7, - @ .height = 2, - @ .paletteNum = 5, - @ .baseBlock = 0x0020 - @ } - .byte 2, 2, 3, 7, 2, 5 - .2byte 0x0040 - @ { - @ .bg = 2, - @ .tilemapLeft = 2, - @ .tilemapTop = 3, - @ .width = 7, - @ .height = 2, - @ .paletteNum = 5, - @ .baseBlock = 0x0040 - @ } - .byte 1, 2, 2, 7, 2, 5 - .2byte 0x0020 - @ { - @ .bg = 1, - @ .tilemapLeft = 2, - @ .tilemapTop = 2, - @ .width = 7, - @ .height = 2, - @ .paletteNum = 5, - @ .baseBlock = 0x0020 - @ } - .byte 2, 2, 2, 7, 2, 5 - .2byte 0x0040 - @ { - @ .bg = 2, - @ .tilemapLeft = 2, - @ .tilemapTop = 2, - @ .width = 7, - @ .height = 2, - @ .paletteNum = 5, - @ .baseBlock = 0x0040 - @ } - .byte 1, 2, 6, 7, 2, 5 - .2byte 0x0060 - @ { - @ .bg = 1, - @ .tilemapLeft = 2, - @ .tilemapTop = 6, - @ .width = 7, - @ .height = 2, - @ .paletteNum = 5, - @ .baseBlock = 0x0060 - @ } - .byte 2, 2, 6, 7, 2, 5 - .2byte 0x0080 - @ { - @ .bg = 2, - @ .tilemapLeft = 2, - @ .tilemapTop = 6, - @ .width = 7, - @ .height = 2, - @ .paletteNum = 5, - @ .baseBlock = 0x0080 - @ } - .byte 0, 11, 2, 8, 2, 0 - .2byte 0x00a0 - @ { - @ .bg = 0, - @ .tilemapLeft = 11, - @ .tilemapTop = 2, - @ .width = 8, - @ .height = 2, - @ .paletteNum = 0, - @ .baseBlock = 0x00a0 - @ } - .byte 0, 4, 2, 8, 2, 0 - .2byte 0x00a0 - @ { - @ .bg = 0, - @ .tilemapLeft = 4, - @ .tilemapTop = 2, - @ .width = 8, - @ .height = 2, - @ .paletteNum = 0, - @ .baseBlock = 0x00a0 - @ } - .byte 0, 19, 2, 8, 2, 0 - .2byte 0x00b0 - @ { - @ .bg = 0, - @ .tilemapLeft = 19, - @ .tilemapTop = 2, - @ .width = 8, - @ .height = 2, - @ .paletteNum = 0, - @ .baseBlock = 0x00b0 - @ } - .byte 0, 2, 15, 26, 4, 7 - .2byte 0x0090 - @ { - @ .bg = 0, - @ .tilemapLeft = 2, - @ .tilemapTop = 15, - @ .width = 26, - @ .height = 4, - @ .paletteNum = 7, - @ .baseBlock = 0x0090 - @ } - .byte 255, 0, 0, 0, 0, 0 - .2byte 0x0000 - @ { - @ .bg = 255, - @ .tilemapLeft = 0, - @ .tilemapTop = 0, - @ .width = 0, - @ .height = 0, - @ .paletteNum = 0, - @ .baseBlock = 0x0000 - @ } - -gUnknown_8248400:: @ 8248400 - .incbin "graphics/battle/unk_8248400.gbapal.lz" - -gUnknown_824844C:: @ 824844C - .incbin "graphics/battle/unk_824844C.4bpp.lz" - -gUnknown_82489A8:: @ 82489A8 - .incbin "graphics/battle/unk_82489A8.bin.lz" - -gUnknown_8248C68:: @ 8248C68 - .incbin "graphics/battle/unk_8248C68.4bpp.lz" - -gUnknown_8248F58:: @ 8248F58 - .incbin "graphics/battle/unk_8248F58.bin.lz" - -gUnknown_8249074:: @ 8249074 - .incbin "graphics/battle/unk_8249074.gbapal.lz" - -gUnknown_82490C4:: @ 82490C4 - .incbin "graphics/battle/unk_82490C4.4bpp.lz" - -gUnknown_8249620:: @ 8249620 - .incbin "graphics/battle/unk_8249620.bin.lz" - -gUnknown_82498DC:: @ 82498DC - .incbin "graphics/battle/unk_82498DC.4bpp.lz" - -gUnknown_8249E10:: @ 8249E10 - .incbin "graphics/battle/unk_8249E10.bin.lz" - -gUnknown_8249F98:: @ 8249F98 - .incbin "graphics/battle/unk_8249F98.gbapal.lz" - -gUnknown_8249FE4:: @ 8249FE4 - .incbin "graphics/battle/unk_8249FE4.4bpp.lz" - -gUnknown_824A37C:: @ 824A37C - .incbin "graphics/battle/unk_824A37C.bin.lz" - -gUnknown_824A618:: @ 824A618 - .incbin "graphics/battle/unk_824A618.4bpp.lz" - -gUnknown_824A844:: @ 824A844 - .incbin "graphics/battle/unk_824A844.bin.lz" - -gUnknown_824A940:: @ 824A940 - .incbin "graphics/battle/unk_824A940.gbapal.lz" - -gUnknown_824A990:: @ 824A990 - .incbin "graphics/battle/unk_824A990.4bpp.lz" - -gUnknown_824ACD0:: @ 824ACD0 - .incbin "graphics/battle/unk_824ACD0.bin.lz" - -gUnknown_824AF70:: @ 824AF70 - .incbin "graphics/battle/unk_824AF70.4bpp.lz" - -gUnknown_824B0DC:: @ 824B0DC - .incbin "graphics/battle/unk_824B0DC.bin.lz" - -gUnknown_824B19C:: @ 824B19C - .incbin "graphics/battle/unk_824B19C.gbapal.lz" - -gUnknown_824B1EC:: @ 824B1EC - .incbin "graphics/battle/unk_824B1EC.4bpp.lz" - -gUnknown_824B608:: @ 824B608 - .incbin "graphics/battle/unk_824B608.bin.lz" - -gUnknown_824B8A8:: @ 824B8A8 - .incbin "graphics/battle/unk_824B8A8.4bpp.lz" - -gUnknown_824BBE0:: @ 824BBE0 - .incbin "graphics/battle/unk_824BBE0.bin.lz" - -gUnknown_824BCE0:: @ 824BCE0 - .incbin "graphics/battle/unk_824BCE0.gbapal.lz" - -gUnknown_824BD38:: @ 824BD38 - .incbin "graphics/battle/unk_824BD38.4bpp.lz" - -gUnknown_824C07C:: @ 824C07C - .incbin "graphics/battle/unk_824C07C.bin.lz" - -gUnknown_824C314:: @ 824C314 - .incbin "graphics/battle/unk_824C314.4bpp.lz" - -gUnknown_824C520:: @ 824C520 - .incbin "graphics/battle/unk_824C520.bin.lz" - -gUnknown_824C5D8:: @ 824C5D8 - .incbin "graphics/battle/unk_824C5D8.gbapal.lz" - -gUnknown_824C624:: @ 824C624 - .incbin "graphics/battle/unk_824C624.4bpp.lz" - -gUnknown_824C958:: @ 824C958 - .incbin "graphics/battle/unk_824C958.bin.lz" - -gUnknown_824CBF8:: @ 824CBF8 - .incbin "graphics/battle/unk_824CBF8.4bpp.lz" - -gUnknown_824CEC8:: @ 824CEC8 - .incbin "graphics/battle/unk_824CEC8.bin.lz" - -gUnknown_824CF98:: @ 824CF98 - .incbin "graphics/battle/unk_824CF98.gbapal.lz" - -gUnknown_824CFEC:: @ 824CFEC - .incbin "graphics/battle/unk_824CFEC.4bpp.lz" - -gUnknown_824D418:: @ 824D418 - .incbin "graphics/battle/unk_824D418.bin.lz" - -gUnknown_824D6B8:: @ 824D6B8 - .incbin "graphics/battle/unk_824D6B8.4bpp.lz" - -gUnknown_824DC98:: @ 824DC98 - .incbin "graphics/battle/unk_824DC98.bin.lz" - -gUnknown_824DDF0:: @ 824DDF0 - .incbin "graphics/battle/unk_824DDF0.gbapal.lz" - -gUnknown_824DE34:: @ 824DE34 - .incbin "graphics/battle/unk_824DE34.4bpp.lz" - -gUnknown_824E16C:: @ 824E16C - .incbin "graphics/battle/unk_824E16C.bin.lz" - -gUnknown_824E410:: @ 824E410 - .incbin "graphics/battle/unk_824E410.4bpp.lz" - -gUnknown_824E490:: @ 824E490 - .incbin "graphics/battle/unk_824E490.bin.lz" - -gUnknown_824E528:: @ 824E528 - .incbin "graphics/battle/unk_824E528.gbapal.lz" - -gUnknown_824E56C:: @ 824E56C - .incbin "graphics/battle/unk_824E56C.gbapal.lz" - -gUnknown_824E5B8:: @ 824E5B8 - .incbin "graphics/battle/unk_824E5B8.gbapal.lz" - -gUnknown_824E604:: @ 824E604 - .incbin "graphics/battle/unk_824E604.gbapal.lz" - -gUnknown_824E650:: @ 824E650 - .incbin "graphics/battle/unk_824E650.gbapal.lz" - -gUnknown_824E6A4:: @ 824E6A4 - .incbin "graphics/battle/unk_824E6A4.gbapal.lz" - -gUnknown_824E6F0:: @ 824E6F0 - .incbin "graphics/battle/unk_824E6F0.gbapal.lz" - -gUnknown_824E740:: @ 824E740 - .incbin "graphics/battle/unk_824E740.gbapal.lz" - -gUnknown_824E78C:: @ 824E78C - .incbin "graphics/battle/unk_824E78C.gbapal.lz" - -gUnknown_824E7DC:: @ 824E7DC - .incbin "graphics/battle/unk_824E7DC.gbapal.lz" - -gUnknown_824E81C:: @ 824E81C - .incbin "graphics/battle/unk_824E81C.gbapal.lz" - -gUnknown_824E858:: @ 824E858 - .incbin "graphics/battle/unk_824E858.4bpp.lz" - -gUnknown_824EB90:: @ 824EB90 - .incbin "graphics/battle/unk_824EB90.bin.lz" - -gUnknown_824EE34:: @ 824EE34 - .4byte gUnknown_824844C, gUnknown_82489A8, gUnknown_8248C68, gUnknown_8248F58, gUnknown_8248400 - .4byte gUnknown_82490C4, gUnknown_8249620, gUnknown_82498DC, gUnknown_8249E10, gUnknown_8249074 - .4byte gUnknown_8249FE4, gUnknown_824A37C, gUnknown_824A618, gUnknown_824A844, gUnknown_8249F98 - .4byte gUnknown_824A990, gUnknown_824ACD0, gUnknown_824AF70, gUnknown_824B0DC, gUnknown_824A940 - .4byte gUnknown_824B1EC, gUnknown_824B608, gUnknown_824B8A8, gUnknown_824BBE0, gUnknown_824B19C - .4byte gUnknown_824BD38, gUnknown_824C07C, gUnknown_824C314, gUnknown_824C520, gUnknown_824BCE0 - .4byte gUnknown_824C624, gUnknown_824C958, gUnknown_824CBF8, gUnknown_824CEC8, gUnknown_824C5D8 - .4byte gUnknown_824CFEC, gUnknown_824D418, gUnknown_824D6B8, gUnknown_824DC98, gUnknown_824CF98 - .4byte gUnknown_824DE34, gUnknown_824E16C, gUnknown_824E410, gUnknown_824E490, gUnknown_824DDF0 - .4byte gUnknown_824DE34, gUnknown_824E16C, gUnknown_824E410, gUnknown_824E490, gUnknown_824E81C - .4byte gUnknown_824DE34, gUnknown_824E16C, gUnknown_824E410, gUnknown_824E490, gUnknown_824E528 - .4byte gUnknown_824DE34, gUnknown_824E16C, gUnknown_824E410, gUnknown_824E490, gUnknown_824E56C - .4byte gUnknown_824DE34, gUnknown_824E16C, gUnknown_824E410, gUnknown_824E490, gUnknown_824E5B8 - .4byte gUnknown_824E858, gUnknown_824EB90, gUnknown_824E410, gUnknown_824E490, gUnknown_824E604 - .4byte gUnknown_824E858, gUnknown_824EB90, gUnknown_824E410, gUnknown_824E490, gUnknown_824E650 - .4byte gUnknown_824E858, gUnknown_824EB90, gUnknown_824E410, gUnknown_824E490, gUnknown_824E6A4 - .4byte gUnknown_824E858, gUnknown_824EB90, gUnknown_824E410, gUnknown_824E490, gUnknown_824E6F0 - .4byte gUnknown_824E858, gUnknown_824EB90, gUnknown_824E410, gUnknown_824E490, gUnknown_824E740 - .4byte gUnknown_824E858, gUnknown_824EB90, gUnknown_824E410, gUnknown_824E490, gUnknown_824E78C - .4byte gUnknown_824E858, gUnknown_824EB90, gUnknown_824E410, gUnknown_824E490, gUnknown_824E7DC - -@ struct {u8; u8;} -gUnknown_824EFC4:: @ 824EFC4 - .byte 0x01, 0x0b - .align 2 - .byte 0x02, 0x0e - .align 2 - .byte 0x03, 0x0d - .align 2 - .byte 0x04, 0x0f - .align 2 - .byte 0x05, 0x10 - .align 2 - .byte 0x06, 0x11 - .align 2 - .byte 0x07, 0x12 - .align 2 - .byte 0x08, 0x0a - .align 2 diff --git a/data/berry_crush.s b/data/berry_crush.s deleted file mode 100644 index cc7ae23fd..000000000 --- a/data/berry_crush.s +++ /dev/null @@ -1,365 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 -gUnknown_846E2E0:: @ 846E2E0 - .byte 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 - -gUnknown_846E2E8:: @ 846E2E8 - .byte 0x00, 0x01, 0x02, 0x03, 0x05, 0x00, 0x00, 0x00 - -gUnknown_846E2F0:: @ 846E2F0 - .byte 0x04, 0x01, 0x00, 0xff - .byte 0x00, 0x00, 0x00, 0x04 - .byte 0x02, 0x00, 0xff, 0x00 - .byte 0x00, 0x00, 0x04, 0x02 - .byte 0x00, 0xfe, 0x00, 0x00 - .byte 0x00, 0x06, 0x03, 0x01 - .byte 0xff, 0xfd, 0xff, 0x00 - .byte 0x06, 0x04, 0x01, 0xfe - .byte 0xfc, 0xfe, 0x00, 0x00 - -gUnknown_846E314:: @ 846E314 - .byte 0x03, 0x02, 0x01, 0x00 - .byte 0x03, 0x03, 0x01, 0x00 - .byte 0x03, 0x03, 0x02, 0x00 - .byte 0x03, 0x04, 0x02, 0x00 - .byte 0x03, 0x05, 0x03, 0x00 - -gUnknown_846E328:: @ 846E328 - .4byte gUnknown_841CE3C - .4byte gUnknown_841CE78 - .4byte gUnknown_841CEA8 - .4byte gUnknown_841CF14 - .4byte gUnknown_841CF50 - .4byte gUnknown_841CF70 - .4byte gUnknown_841CFA0 - .4byte gUnknown_841CFD4 - .4byte gUnknown_841D008 - -gUnknown_846E34C:: @ 846E34C - .4byte NULL - .4byte sub_814BBB8 - .4byte sub_814BC10 - .4byte sub_814BC74 - .4byte sub_814BD7C - .4byte sub_814BD9C - .4byte sub_814BDBC - .4byte sub_814BE0C - .4byte sub_814BE64 - .4byte sub_814BE7C - .4byte sub_814BFD0 - .4byte sub_814C118 - .4byte sub_814C24C - .4byte sub_814C850 - .4byte sub_814C8F8 - .4byte sub_814C990 - .4byte sub_814CB20 - .4byte sub_814CC0C - .4byte sub_814CFA8 - .4byte sub_814D094 - .4byte sub_814D188 - .4byte sub_814D240 - .4byte sub_814D31C - .4byte sub_814D3A4 - .4byte sub_814D468 - .4byte sub_814D4C8 - -gUnknown_846E3B4:: @ 846E3B4 - .byte 0x02, 0x04, 0x06, 0x07 - .byte 0x03, 0x05, 0x08, 0x0b - .byte 0x03, 0x07, 0x0b, 0x0f - .byte 0x04, 0x08, 0x0c, 0x11 - -gUnknown_846E3C4:: @ 846E3C4 - .byte 0x05, 0x07, 0x09, 0x0c - -gUnknown_846E3C8:: @ 846E3C8 - .byte 0x03, 0x07, 0x0f, 0x1f - -gUnknown_846E3CC:: @ 846E3CC - .4byte 0x000000f8 - @ { - @ .bg = 0, - @ .charBaseIndex = 2, - @ .mapBaseIndex = 15, - @ .screenSize = 0, - @ .paletteMode = 0, - @ .priority = 0, - @ .baseTile = 0x0000 - @ } - .4byte 0x000014d1 - @ { - @ .bg = 1, - @ .charBaseIndex = 0, - @ .mapBaseIndex = 13, - @ .screenSize = 2, - @ .paletteMode = 0, - @ .priority = 1, - @ .baseTile = 0x0000 - @ } - .4byte 0x000020c2 - @ { - @ .bg = 2, - @ .charBaseIndex = 0, - @ .mapBaseIndex = 12, - @ .screenSize = 0, - @ .paletteMode = 0, - @ .priority = 2, - @ .baseTile = 0x0000 - @ } - .4byte 0x000030b3 - @ { - @ .bg = 3, - @ .charBaseIndex = 0, - @ .mapBaseIndex = 11, - @ .screenSize = 0, - @ .paletteMode = 0, - @ .priority = 3, - @ .baseTile = 0x0000 - @ } - -gUnknown_846E3DC:: @ 846E3DC - .byte 0x01, 0x02, 0x03 - -gUnknown_846E3DF:: @ 846E3DF - .byte 0x00, 0x01, 0x02 - -gUnknown_846E3E2:: @ 846E3E2 - .byte 0x00, 0x03, 0x04 - -gUnknown_846E3E5:: @ 846E3E5 - .byte 0x01, 0x08, 0x09 - .byte 0x01, 0x06, 0x07 - -gUnknown_846E3EB:: @ 846E3EB - .byte 0x01, 0x04, 0x05 - - .align 2 -gUnknown_846E3F0:: @ 846E3F0 - .byte 0, 3, 4, 24, 13, 15 - .2byte 0x0001 - -gUnknown_846E3F8:: @ 846E3F8 - .byte 0, 0, 0, 9, 2, 8 - .2byte 0x03ed - .byte 0, 0, 3, 9, 2, 8 - .2byte 0x03db - .byte 0, 0, 6, 9, 2, 8 - .2byte 0x03c9 - .byte 0, 21, 3, 9, 2, 8 - .2byte 0x03b7 - .byte 0, 21, 6, 9, 2, 8 - .2byte 0x03a5 - .byte 255, 0, 0, 0, 0, 0 - .2byte 0x0000 - .byte 0, 4, 2, 22, 16, 15 - .2byte 0x0001 - .byte 0, 4, 2, 22, 16, 15 - .2byte 0x0001 - .byte 0, 3, 2, 24, 16, 15 - .2byte 0x0001 - .byte 255, 0, 0, 0, 0, 0 - .2byte 0x0000 - -gUnknown_846E448:: @ 846E448 - .byte 0x06, 0x08, 0x09, 0x0b - .byte 0x0c, 0x0e, 0x0f, 0x10 - -gUnknown_846E450:: @ 846E450 - .4byte 50000000, 25000000, 12500000, 6250000, 3125000, 1562500, 781250, 390625 - -gUnknown_846E470:: @ 846E470 gbapal - .incbin "graphics/link_games/unk_846E4D0.gbapal" - -gUnknown_846E490:: @ 846E490 gbapal - .incbin "graphics/link_games/unk_846E7FC.gbapal" - -gUnknown_846E4B0:: @ 846E4B0 gbapal - .incbin "graphics/link_games/unk_846ECC4.gbapal" - -gUnknown_846E4D0:: @ 846E4D0 4bpp.lz - .incbin "graphics/link_games/unk_846E4D0.4bpp.lz" - -gUnknown_846E7FC:: @ 846E7FC 4bpp.lz - .incbin "graphics/link_games/unk_846E7FC.4bpp.lz" - -gUnknown_846EB78:: @ 846EB78 4bpp.lz - .incbin "graphics/link_games/unk_846EB78.4bpp.lz" - -gUnknown_846ECC4:: @ 846ECC4 4bpp.lz - .incbin "graphics/link_games/unk_846ECC4.4bpp.lz" - -gUnknown_846ED90:: @ 846ED90 bin.lz - .incbin "graphics/link_games/unk_846ED90.bin.lz" - -gUnknown_846EEC0:: @ 846EEC0 bin.lz - .incbin "graphics/link_games/unk_846EEC0.bin.lz" - -gUnknown_846F058:: @ 846F058 bin.lz - .incbin "graphics/link_games/unk_846F058.bin.lz" - -gUnknown_846F280:: @ 846F280 - .byte 0x01, 0x03, 0x00, 0x00, 0x00 - .byte 0x00, 0x01, 0x03, 0x00, 0x00 - .byte 0x01, 0x03, 0x02, 0x04, 0x00 - .byte 0x00, 0x01, 0x03, 0x02, 0x04 - -gUnknown_846F294:: @ 846F294 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x03, 0x00, 0xe4, 0xff, 0xfc, 0xff, 0xe8, 0xff, 0x10, 0x00 - .byte 0x02, 0x00, 0x06, 0x00, 0xf0, 0xff, 0x14, 0x00, 0xf8, 0xff, 0x10, 0x00 - .byte 0x03, 0x14, 0x03, 0x00, 0x1c, 0x00, 0xfc, 0xff, 0x20, 0x00, 0xf8, 0xff - .byte 0x04, 0x14, 0x06, 0x00, 0x10, 0x00, 0x14, 0x00, 0x10, 0x00, 0xf8, 0xff - -gUnknown_846F2D0:: @ 846F2D0 - .byte 0x00, 0x00 - .byte 0xff, 0x00 - .byte 0x01, 0x01 - -gUnknown_846F2D6:: @ 846F2D6 - .byte 0x00, 0x00 - .byte 0xf0, 0xfc - .byte 0x10, 0xfc - .byte 0xf8, 0xfe - .byte 0x08, 0xfe - .byte 0xe8, 0xf8 - .byte 0x18, 0xf8 - .byte 0xe0, 0xf4 - .byte 0x20, 0xf4 - .byte 0xd8, 0xf0 - .byte 0x28, 0xf0 - -gUnknown_846F2EC:: @ 846F2EC - .2byte 5, 6, 7, 8, 9 - - .align 2 -gUnknown_846F2F8:: @ 846F2F8 - obj_tiles gUnknown_846E4D0, 0x0800, 1 - obj_tiles gUnknown_846E7FC, 0x0e00, 2 - obj_tiles gUnknown_846EB78, 0x0700, 3 - obj_tiles gUnknown_846ECC4, 0x02c0, 4 - obj_tiles NULL, 0x0000, 0 - -gUnknown_846F320:: @ 846F320 - obj_pal gUnknown_846E470, 1 - obj_pal gUnknown_846E490, 2 - obj_pal gUnknown_846E4B0, 4 - obj_pal NULL, 0 - -gUnknown_846F340:: - obj_image_anim_frame 0x0000, 0 - obj_image_anim_end - -gUnknown_846F348:: - obj_image_anim_frame 0x0000, 4 - obj_image_anim_frame 0x0010, 4 - obj_image_anim_frame 0x0020, 4 - obj_image_anim_end - -gUnknown_846F358:: - obj_image_anim_frame 0x0030, 2 - obj_image_anim_frame 0x0040, 2 - obj_image_anim_frame 0x0050, 2 - obj_image_anim_frame 0x0060, 2 - obj_image_anim_end - -gUnknown_846F36C:: - obj_image_anim_frame 0x0000, 2 - obj_image_anim_frame 0x0004, 2 - obj_image_anim_frame 0x0008, 2 - obj_image_anim_frame 0x000c, 2 - obj_image_anim_frame 0x0010, 2 - obj_image_anim_frame 0x0014, 2 - obj_image_anim_jump 0 - -gUnknown_846F388:: - obj_image_anim_frame 0x0018, 4 - obj_image_anim_frame 0x001c, 4 - obj_image_anim_frame 0x0020, 4 - obj_image_anim_frame 0x0024, 4 - obj_image_anim_frame 0x0028, 4 - obj_image_anim_frame 0x002c, 4 - obj_image_anim_frame 0x0030, 4 - obj_image_anim_frame 0x0034, 4 - obj_image_anim_jump 0 - -gUnknown_846F3AC:: - obj_image_anim_frame 0x0014, 0 - obj_image_anim_end - -gUnknown_846F3B4:: - obj_image_anim_frame 0x0000, 0 - obj_image_anim_end - -gUnknown_846F3BC:: - obj_rot_scal_anim_frame 256, 256, 0, 0 - obj_rot_scal_anim_frame 0, 0, 2, 1 - obj_rot_scal_anim_jump 1 - -gUnknown_846F3D4:: - obj_rot_scal_anim_frame 256, 256, 0, 0 - obj_rot_scal_anim_frame 0, 0, 254, 1 - obj_rot_scal_anim_jump 1 - -gUnknown_846F3EC:: - .4byte gUnknown_846F340 - -gUnknown_846F3F0:: - .4byte gUnknown_846F348 - .4byte gUnknown_846F358 - -gUnknown_846F3F8:: - .4byte gUnknown_846F36C - .4byte gUnknown_846F388 - -gUnknown_846F400:: - .4byte gUnknown_846F3AC - -gUnknown_846F404:: - .4byte gUnknown_846F3B4 - -gUnknown_846F408:: - .4byte gUnknown_846F3BC - .4byte gUnknown_846F3D4 - -gUnknown_846F410:: @ 846F410 - spr_template 1, 1, gOamData_AffineOff_ObjNormal_64x64, gUnknown_846F3EC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_846F428:: @ 846F428 - spr_template 2, 2, gOamData_AffineOff_ObjNormal_32x32, gUnknown_846F3F0, NULL, gDummySpriteAffineAnimTable, sub_814EFD0 - -gUnknown_846F440:: @ 846F440 - spr_template 3, 2, gOamData_AffineOff_ObjNormal_16x16, gUnknown_846F3F8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_846F458:: @ 846F458 - spr_template 4, 4, gOamData_AffineOff_ObjNormal_8x16, gUnknown_846F400, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_846F470:: @ 846F470 - spr_template 5, 5, gOamData_AffineDouble_ObjNormal_32x32, gUnknown_846F404, NULL, gUnknown_846F408, SpriteCallbackDummy - -gUnknown_846F488:: @ 846F488 struct UnkStruct3? perhaps not - .byte 9, 2, 8 - .align 2 - .2byte 0x9c, 0x00 - .4byte gUnknown_846F2F8 + 0x18 - .4byte gUnknown_846F320 + 0x10 - .byte 8, 2, 8 - .align 2 - .2byte 0xb4, 0x00 - .4byte gUnknown_846F2F8 + 0x18 - .4byte gUnknown_846F320 + 0x10 - .byte 8, 2, 8 - .align 2 - .2byte 0xcc, 0x00 - .4byte gUnknown_846F2F8 + 0x18 - .4byte gUnknown_846F320 + 0x10 - -gUnknown_846F4B8:: @ 846F4B8 - .4byte gUnknown_841D034 - .4byte gUnknown_841D03C - .4byte gUnknown_841D044 - .4byte gUnknown_841D0D4 - .4byte gUnknown_841D0E8 - .4byte gUnknown_841D100 diff --git a/data/berry_powder.s b/data/berry_powder.s deleted file mode 100644 index 0f812d79d..000000000 --- a/data/berry_powder.s +++ /dev/null @@ -1,36 +0,0 @@ - .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/cable_club.s b/data/cable_club.s deleted file mode 100644 index 8ea8b9167..000000000 --- a/data/cable_club.s +++ /dev/null @@ -1,15 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnknown_83C6AB0:: @ 83C6AB0 - .byte 0, 16, 11, 11, 2, 15 - .2byte 0x125 - -gUnknown_83C6AB8:: @ 83C6AB8 - .4byte gUnknown_841DF8B - .4byte gUnknown_841DF92 - .4byte gUnknown_841DF99 - .4byte gUnknown_841DFA0 diff --git a/data/clear_save_data_screen.s b/data/clear_save_data_screen.s deleted file mode 100644 index 32a2d422a..000000000 --- a/data/clear_save_data_screen.s +++ /dev/null @@ -1,30 +0,0 @@ -#include "constants/region_map.h" -#include "constants/flags.h" -#include "constants/moves.h" - .include "asm/macros.inc" - .include "constants/constants.inc" - .section .rodata - .align 2 - -gUnknown_841EE64:: @ 841EE64 - .4byte 0x000001f0 - @ { - @ .bg = 0, - @ .charBaseIndex = 0, - @ .mapBaseIndex = 31, - @ .screenSize = 0, - @ .paletteMode = 0, - @ .priority = 0, - @ .baseTile = 0x0000 - @ } - -gUnknown_841EE68:: @ 841EE68 - .byte 0, 3, 5, 6, 4, 15 - .2byte 0x000a - .byte 0, 3, 15, 23, 4, 15 - .2byte 0x0022 - .byte 255, 0, 0, 0, 0, 0 - .2byte 0x0000 - -gUnknown_841EE80:: @ 841EE80 - .byte 0x01, 0x02, 0x03 diff --git a/data/data_8479668.s b/data/data_8479668.s index 393a5cc44..5c00ff639 100644 --- a/data/data_8479668.s +++ b/data/data_8479668.s @@ -13,213 +13,10 @@ .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} $" - -gText_UnionRoomChatKeyboard_ABCDE:: - .string "ABCDE$" - -gText_UnionRoomChatKeyboard_FGHIJ:: - .string "FGHIJ$" - -gText_UnionRoomChatKeyboard_KLMNO:: - .string "KLMNO$" - -gText_UnionRoomChatKeyboard_PQRST:: - .string "PQRST$" - -gText_UnionRoomChatKeyboard_UVWXY:: - .string "UVWXY$" - -gText_UnionRoomChatKeyboard_Z:: - .string "Z $" - -gText_UnionRoomChatKeyboard_01234Upper:: - .string "01234$" - -gText_UnionRoomChatKeyboard_56789Upper:: - .string "56789$" - -gText_UnionRoomChatKeyboard_PunctuationUpper:: - .string ".,!? $" - -gText_UnionRoomChatKeyboard_SymbolsUpper:: - .string "-/&… $" - -gText_UnionRoomChatKeyboard_abcde:: - .string "abcde$" - -gText_UnionRoomChatKeyboard_fghij:: - .string "fghij$" - -gText_UnionRoomChatKeyboard_klmno:: - .string "klmno$" - -gText_UnionRoomChatKeyboard_pqrst:: - .string "pqrst$" - -gText_UnionRoomChatKeyboard_uvwxy:: - .string "uvwxy$" - -gText_UnionRoomChatKeyboard_z:: - .string "z $" - -gText_UnionRoomChatKeyboard_01234Lower:: - .string "01234$" - -gText_UnionRoomChatKeyboard_56789Lower:: - .string "56789$" - -gText_UnionRoomChatKeyboard_PunctuationLower:: - .string ".,!? $" - -gText_UnionRoomChatKeyboard_SymbolsLower:: - .string "-/&… $" - - .string "$" - .string "$" - .string "$" - .string "$" - .string "$" - .string "$" - .string "$" - .string "$" - -gText_UnionRoomChatKeyboard_Emoji1:: - .string "{EXTRA 245}{EXTRA 246}{EXTRA 247}{EXTRA 248}{EXTRA 254}$" - -gText_UnionRoomChatKeyboard_Emoji2:: - .string "{EXTRA 249}{EXTRA 250}{EXTRA 252}{EXTRA 251}{EXTRA 253}$" - -gText_UnionRoomChatKeyboard_Emoji3:: - .string "{EXTRA 236}{EXTRA 237}{EXTRA 238}{EXTRA 235}{EXTRA 234}$" - -gText_UnionRoomChatKeyboard_Emoji4:: - .string "♂♀{EXTRA 212}{EXTRA 213}{EXTRA 211}$" - -gText_UnionRoomChatKeyboard_Emoji5:: - .string "{EXTRA 216}{EXTRA 217}{EXTRA 242}{EXTRA 243}{EXTRA 244}$" - -gText_UnionRoomChatKeyboard_Emoji6:: - .string "{EXTRA 218}{EXTRA 241}{EXTRA 224}{EXTRA 226}{EXTRA 227}$" - -gText_UnionRoomChatKeyboard_Emoji7:: - .string "{EXTRA 240}{EXTRA 239}{EXTRA 225}{EXTRA 214}{EXTRA 215}$" - -gText_UnionRoomChatKeyboard_Emoji8:: - .string "{EXTRA 228}{EXTRA 229}{EXTRA 230}{EXTRA 231}{EXTRA 232}$" - -gText_UnionRoomChatKeyboard_Emoji9:: - .string "{EXTRA 233}{EXTRA 220}{EXTRA 221}{EXTRA 222}{EXTRA 209}$" - -gText_UnionRoomChatKeyboard_Emoji10:: - .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 diff --git a/data/easy_chat_2.s b/data/easy_chat_2.s deleted file mode 100644 index 79be01714..000000000 --- a/data/easy_chat_2.s +++ /dev/null @@ -1,296 +0,0 @@ -#include "constants/region_map.h" -#include "constants/flags.h" -#include "constants/moves.h" -#define RGB(r, g, b) ((r) | ((g) << 5) | ((b) << 10)) - .include "asm/macros.inc" - .include "constants/constants.inc" - .section .rodata - .align 2 - -gUnknown_843F29C:: @ 843F29C - .2byte 0x143a, 0x1817, 0x100b, 0x200f - -gUnknown_843F2A4:: @ 843F2A4 - .2byte 0x0209, 0x140b, 0x1030, 0x102a - -gUnknown_843F2AC:: @ 843F2AC - .byte 0, 2, 2, 0 - .4byte gUnknown_8418A2B - .4byte gUnknown_84186D1 - .4byte gUnknown_84186EF - .4byte gUnknown_841880E - .4byte gUnknown_8418902 - .byte 1, 2, 3, 1 - .4byte gUnknown_8418A33 - .4byte gUnknown_8418706 - .4byte gUnknown_8418725 - .4byte gUnknown_841881B - .4byte gUnknown_8418902 - .byte 2, 2, 3, 1 - .4byte gUnknown_8418A4A - .4byte gUnknown_8418706 - .4byte gUnknown_8418725 - .4byte gUnknown_841883E - .4byte gUnknown_8418902 - .byte 3, 2, 3, 1 - .4byte gUnknown_8418A61 - .4byte gUnknown_8418706 - .4byte gUnknown_8418725 - .4byte gUnknown_841885F - .4byte gUnknown_8418902 - .byte 4, 2, 5, 2 - .4byte NULL - .4byte gUnknown_8418780 - .4byte gUnknown_841879E - .4byte gUnknown_841888C - .4byte gUnknown_8418902 - .byte 5, 2, 2, 0 - .4byte NULL - .4byte gUnknown_8418780 - .4byte gUnknown_841879E - .4byte NULL - .4byte NULL - .byte 6, 2, 3, 1 - .4byte gUnknown_8418A77 - .4byte gUnknown_84187B2 - .4byte gUnknown_84187D1 - .4byte gUnknown_84188AC - .4byte gUnknown_8418902 - .byte 7, 2, 3, 1 - .4byte gUnknown_8418AA1 - .4byte gUnknown_8418745 - .4byte gUnknown_8418763 - .4byte gUnknown_8418881 - .4byte gUnknown_8418902 - .byte 9, 2, 1, 3 - .4byte gUnknown_8418A87 - .4byte gUnknown_84188B9 - .4byte gUnknown_84188D6 - .4byte gUnknown_84188F0 - .4byte gUnknown_8418902 - .byte 14, 2, 2, 0 - .4byte gUnknown_8418AB2 - .4byte gUnknown_84186D1 - .4byte gUnknown_84187EE - .4byte gUnknown_8418881 - .4byte gUnknown_8418902 - -gUnknown_843F39C:: @ 843F39C data8 4x7 - .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x00 - .byte 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x00 - .byte 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13 - .byte 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a - -gUnknown_843F3B8:: @ 843F3B8 gbapal - .incbin "graphics/link_rfu/unk_843F3F8.gbapal" - -gUnknown_843F3D8:: @ 843F3D8 gbapal - .incbin "graphics/link_rfu/unk_8E9BD28.gbapal" - -gUnknown_843F3F8:: @ 843F3F8 4bpp - .incbin "graphics/link_rfu/unk_843F3F8.4bpp" - -gUnknown_843F418:: @ 843F418 4bpp - .incbin "graphics/link_rfu/unk_843F418.4bpp" - -gUnknown_843F518:: @ 843F518 4bpp - .incbin "graphics/link_rfu/unk_843F518.4bpp" - -gUnknown_843F618:: @ 843F618 gbapal - .incbin "graphics/link_rfu/unk_843F638.gbapal" - -gUnknown_843F638:: @ 843F638 4bpp.lz - .incbin "graphics/link_rfu/unk_843F638.4bpp.lz" - -gUnknown_843F76C:: @ 843F76C gbapal - .incbin "graphics/link_rfu/unk_843F76C.gbapal" - -gUnknown_843F78C:: @ 843F78C gbapal - .incbin "graphics/link_rfu/unk_843F78C.gbapal" - -gUnknown_843F7AC:: @ 843F7AC 4bpp.lz - .incbin "graphics/link_rfu/unk_843F7AC.4bpp.lz" - -gUnknown_843F874:: @ 843F874 gbapal - .2byte RGB(0, 0, 0) - .2byte RGB(0, 0, 0) - .2byte RGB(7, 25, 31) - .2byte RGB(21, 21, 29) - -gUnknown_843F87C:: @ 843F87C gbapal - .2byte RGB(0, 0, 0) - .2byte RGB(31, 31, 31) - .2byte RGB(12, 12, 12) - .2byte RGB(27, 26, 27) - .2byte RGB(8, 17, 9) - - .align 2 -gUnknown_843F888:: @ 843F888 data8 6x4 - .byte 0x03, 0x04, 0x18, 0x04 - .byte 0x01, 0x04, 0x1b, 0x04 - .byte 0x03, 0x00, 0x18, 0x0a - .byte 0x06, 0x06, 0x12, 0x04 - .byte 0x10, 0x04, 0x09, 0x02 - .byte 0x0e, 0x04, 0x12, 0x04 - -gUnknown_843F8A0:: @ 843F8A0 bg_template - .4byte 0x000001c0, 0x000011dd, 0x002021e2, 0x000031fb - -gUnknown_843F8B0:: @ 843F8B0 window_template - .align 2 - .byte 0x01, 0x07, 0x00, 0x10, 0x02, 0x0a - .2byte 0x0010 - @ {0x01, 0x07, 0x00, 0x10, 0x02, 0x0a, 0x0010} - .align 2 - .byte 0x00, 0x04, 0x0f, 0x16, 0x04, 0x0f - .2byte 0x000a - @ {0x00, 0x04, 0x0f, 0x16, 0x04, 0x0f, 0x000a} - .align 2 - .byte 0x02, 0x01, 0x00, 0x1c, 0x20, 0x03 - .2byte 0x0000 - @ {0x02, 0x01, 0x00, 0x1c, 0x20, 0x03, 0x0000} - .align 2 - .byte 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 - .2byte 0x0000 - @ {0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000} - -gUnknown_843F8D0:: @ 843F8D0 window_template - .align 2 - .byte 0x00, 0x16, 0x09, 0x05, 0x04, 0x0f - .2byte 0x0062 - @ {0x00, 0x16, 0x09, 0x05, 0x04, 0x0f, 0x0062} - -gUnknown_843F8D8:: @ 843F8D8 text - .string "{UNDERSCORE}$" - -gUnknown_843F8DB:: @ 843F8DB text - .string "{CLEAR 17}$" - - .align 2 -gUnknown_843F8E0:: @ 843F8E0 - .4byte gUnknown_847A8D8 - .4byte gUnknown_847A8FA - .4byte gUnknown_847A913 - .4byte gUnknown_847A934 - -gUnknown_843F8F0:: @ 843F8F0 sprite_sheet - obj_tiles gUnknown_843F3F8, 0x0020, 0 - obj_tiles gUnknown_843F418, 0x0100, 2 - obj_tiles gUnknown_843F518, 0x0100, 3 - null_obj_tiles - -gUnknown_843F910:: @ 843F910 sprite_palette - obj_pal gUnknown_843F3B8, 0 - obj_pal gUnknown_843F3D8, 1 - obj_pal gUnknown_8E99F24, 2 - obj_pal gUnknown_843F618, 3 - null_obj_pal - -gUnknown_843F938:: @ 843F938 sprite_sheet - obj_tiles gUnknown_843F638, 0x0800, 5 - obj_tiles gUnknown_8E9BD28, 0x1000, 1 - obj_tiles gUnknown_8E99F44, 0x0800, 6 - obj_tiles gUnknown_8E9A168, 0x1000, 4 - -gUnknown_843F958:: @ 843F958 data8 - .byte 0x00, 0x0c, 0x18, 0x38, 0x44, 0x50, 0x5c, 0x00 - -gUnknown_843F960:: - .4byte 0x00000000, 0x00000c00 - -gUnknown_843F968:: @ 843F968 sprite_template - spr_template 0, 0, gUnknown_843F960, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8101B20 - -gUnknown_843F980:: - .4byte 0xc0004000, 0x00000400 - -gUnknown_843F988:: - obj_image_anim_frame 0x0000, 0 - obj_image_anim_end - -gUnknown_843F990:: - obj_image_anim_frame 0x0020, 0 - obj_image_anim_end - -gUnknown_843F998:: - obj_image_anim_frame 0x0040, 0 - obj_image_anim_end - -gUnknown_843F9A0:: - obj_image_anim_frame 0x0060, 0 - obj_image_anim_end - -gUnknown_843F9A8:: - .4byte gUnknown_843F988 - .4byte gUnknown_843F990 - .4byte gUnknown_843F998 - .4byte gUnknown_843F9A0 - -gUnknown_843F9B8:: @ 843F9B8 sprite_template - spr_template 1, 1, gUnknown_843F980, gUnknown_843F9A8, NULL, gDummySpriteAffineAnimTable, sub_8101B20 - -gUnknown_843F9D0:: - .4byte 0xc0004000, 0x00000400 - -gUnknown_843F9D8:: - obj_image_anim_frame 0x0060, 0 - obj_image_anim_end - -gUnknown_843F9E0:: - obj_image_anim_frame 0x0040, 4 - obj_image_anim_frame 0x0020, 4 - obj_image_anim_end - -gUnknown_843F9EC:: - obj_image_anim_frame 0x0040, 4 - obj_image_anim_frame 0x0000, 4 - obj_image_anim_end - -gUnknown_843F9F8:: - obj_image_anim_frame 0x0040, 4 - obj_image_anim_frame 0x0060, 0 - obj_image_anim_end - -gUnknown_843FA04:: - obj_image_anim_frame 0x0040, 4 - obj_image_anim_end - -gUnknown_843FA0C:: - .4byte gUnknown_843F9D8 - .4byte gUnknown_843F9E0 - .4byte gUnknown_843F9EC - .4byte gUnknown_843F9F8 - .4byte gUnknown_843FA04 - -gUnknown_843FA20:: @ 843FA20 sprite_template - spr_template 4, 2, gUnknown_843F9D0, gUnknown_843FA0C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_843FA38:: - .4byte 0xc0000000, 0x00000c00 - -gUnknown_843FA40:: @ 843FA40 sprite_template - spr_template 6, 2, gUnknown_843FA38, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_843FA58:: - .4byte 0x40004000, 0x00000400 - -gUnknown_843FA60:: - .4byte 0x40000000, 0x00000400 - -gUnknown_843FA68:: - obj_image_anim_frame 0x0000, 0 - obj_image_anim_end - -gUnknown_843FA70:: - obj_image_anim_frame 0x0004, 0 - obj_image_anim_end - -gUnknown_843FA78:: - .4byte gUnknown_843FA68 - .4byte gUnknown_843FA70 - -gUnknown_843FA80:: @ 843FA80 sprite_template - spr_template 3, 2, gUnknown_843FA58, gUnknown_843FA78, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_843FA98:: @ 843FA98 sprite_template - spr_template 2, 2, gUnknown_843FA60, gUnknown_843FA78, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy diff --git a/data/event_object_80688E4.s b/data/event_object_80688E4.s deleted file mode 100644 index 8d1917825..000000000 --- a/data/event_object_80688E4.s +++ /dev/null @@ -1,97 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - .section .rodata - .align 2 - -gUnknown_83A710C:: - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - -gUnknown_83A714C:: - .4byte double_little_steps - .4byte double_little_steps - .4byte double_little_steps - .4byte double_little_steps - .4byte double_little_steps - .4byte double_little_steps - .4byte double_little_steps - .4byte double_little_steps - -gUnknown_83A716C:: - .4byte double_little_steps - .4byte triple_little_steps - .4byte triple_little_steps - .4byte double_little_steps - .4byte triple_little_steps - .4byte triple_little_steps - -gUnknown_83A7184:: - .4byte quad_little_steps - .4byte quad_little_steps - .4byte quad_little_steps - .4byte quad_little_steps - -gUnknown_83A7194:: - .4byte oct_little_steps - .4byte oct_little_steps - -gUnknown_83A719C:: @ 83A719C - .4byte gUnknown_83A710C - .4byte gUnknown_83A714C - .4byte gUnknown_83A716C - .4byte gUnknown_83A7184 - .4byte gUnknown_83A7194 - -gUnknown_83A71B0:: @ 83A71B0 - .2byte 0x0010, 0x0008, 0x0006, 0x0004, 0x0002 - -gUnknown_83A71BA:: - .byte 0xfc, 0xfa, 0xf8, 0xf6, 0xf5, 0xf4, 0xf4, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xfa, 0xfc, 0x00, 0x00 - -gUnknown_83A71CA:: - .byte 0x00, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfc, 0xfd, 0xfe, 0x00, 0x00, 0x00 - -gUnknown_83A71DA:: - .byte 0xfe, 0xfc, 0xfa, 0xf8, 0xf7, 0xf6, 0xf6, 0xf6, 0xf7, 0xf8, 0xfa, 0xfb, 0xfd, 0xfe, 0x00, 0x00 - - .align 2 -gUnknown_83A71EC:: @ 83A71EC - .4byte gUnknown_83A71BA - .4byte gUnknown_83A71CA - .4byte gUnknown_83A71DA - - .align 1 -gUnknown_83A71F8:: @ 83A71F8 - .2byte 0x10, 0x10, 0x20 - -gUnknown_83A71FE:: @ 83A71FE - .byte 0, 0, 1 - - .align 1 -gUnknown_83A7202:: @ 83A7202 - .2byte 0x20, 0x20, 0x40 - -gUnknown_83A7208:: @ 83A7208 - .byte 1, 1, 2 - - .align 2 -gUnknown_83A720C:: @ 83A720C - abspath "evobjmv.c" - - .align 2 -gUnknown_83A7240:: @ 83A7240 - .asciz "0" diff --git a/data/event_object_movement.s b/data/event_object_movement.s index 070426b47..55a9ca5b3 100644 --- a/data/event_object_movement.s +++ b/data/event_object_movement.s @@ -6325,16 +6325,16 @@ gUnknown_83A5374:: @ 83A5374 obj_frame_tiles gUnknown_8398128, 0x400 gUnknown_83A537C:: @ 83A537C - spr_template 65535, 65535, gObjectEventBaseOam_128x64, gUnknown_83A5358, gUnknown_83A535C, gDummySpriteAffineAnimTable, oamc_shadow + spr_template 65535, 65535, gObjectEventBaseOam_128x64, gUnknown_83A5358, gUnknown_83A535C, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect gUnknown_83A5394:: @ 83A5394 - spr_template 65535, 65535, gObjectEventBaseOam_Unknown1, gUnknown_83A5358, gUnknown_83A5364, gDummySpriteAffineAnimTable, oamc_shadow + spr_template 65535, 65535, gObjectEventBaseOam_Unknown1, gUnknown_83A5358, gUnknown_83A5364, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect gUnknown_83A53AC:: @ 83A53AC - spr_template 65535, 65535, gObjectEventBaseOam_Unknown2, gUnknown_83A5358, gUnknown_83A536C, gDummySpriteAffineAnimTable, oamc_shadow + spr_template 65535, 65535, gObjectEventBaseOam_Unknown2, gUnknown_83A5358, gUnknown_83A536C, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect gUnknown_83A53C4:: @ 83A53C4 - spr_template 65535, 65535, gObjectEventBaseOam_Unknown3, gUnknown_83A5358, gUnknown_83A5374, gDummySpriteAffineAnimTable, oamc_shadow + spr_template 65535, 65535, gObjectEventBaseOam_Unknown3, gUnknown_83A5358, gUnknown_83A5374, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect gUnknown_83A53DC:: @ 83A53DC overworld_frame gUnknown_839A008, 2, 2, 0 @@ -6355,7 +6355,7 @@ gUnknown_83A541C:: @ 83A541C .4byte gUnknown_83A5404 gUnknown_83A5420:: @ 83A5420 - spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A541C, gUnknown_83A53DC, gDummySpriteAffineAnimTable, unc_grass_normal + spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A541C, gUnknown_83A53DC, gDummySpriteAffineAnimTable, UpdateTallGrassFieldEffect gUnknown_83A5438:: @ 83A5438 overworld_frame gUnknown_83986A8, 2, 2, 0 @@ -6379,7 +6379,7 @@ gUnknown_83A5484:: @ 83A5484 .4byte gUnknown_83A5460 gUnknown_83A5488:: @ 83A5488 - spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5484, gUnknown_83A5438, gDummySpriteAffineAnimTable, sub_80DCD1C + spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5484, gUnknown_83A5438, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim gUnknown_83A54A0:: @ 83A54A0 overworld_frame gUnknown_8398928, 2, 2, 0 @@ -6400,7 +6400,7 @@ gUnknown_83A54E0:: @ 83A54E0 .4byte gUnknown_83A54C8 gUnknown_83A54E4:: @ 83A54E4 - spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A54E0, gUnknown_83A54A0, gDummySpriteAffineAnimTable, sub_80DC2FC + spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A54E0, gUnknown_83A54A0, gDummySpriteAffineAnimTable, UpdateAshFieldEffect gUnknown_83A54FC:: @ 83A54FC overworld_frame gUnknown_8396B08, 2, 8, 0 @@ -6437,7 +6437,7 @@ gUnknown_83A555C:: @ 83A555C .4byte gUnknown_83A5550 gUnknown_83A556C:: @ 83A556C - spr_template 0xFFFF, 0xFFFF, gObjectEventBaseOam_32x32, gUnknown_83A555C, gUnknown_83A54FC, gDummySpriteAffineAnimTable, sub_80DC4F8 + spr_template 0xFFFF, 0xFFFF, gObjectEventBaseOam_32x32, gUnknown_83A555C, gUnknown_83A54FC, gDummySpriteAffineAnimTable, UpdateSurfBlobFieldEffect gUnknown_83A5584:: @ 83A5584 overworld_frame gUnknown_8398BA8, 2, 2, 0 @@ -6542,7 +6542,7 @@ gUnknown_83A56E0:: @ 83A56E0 .4byte gUnknown_83A56D8 gUnknown_83A56F4:: @ 83A56F4 - spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A56E0, gUnknown_83A56B0, gDummySpriteAffineAnimTable, sub_80DBAFC + spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A56E0, gUnknown_83A56B0, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect gUnknown_83A570C:: @ 83A570C overworld_frame gUnknown_839A488, 2, 2, 0 @@ -6572,7 +6572,7 @@ gUnknown_83A573C:: @ 83A573C .4byte gUnknown_83A5734 gUnknown_83A5750:: @ 83A5750 - spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A573C, gUnknown_83A570C, gDummySpriteAffineAnimTable, sub_80DBAFC + spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A573C, gUnknown_83A570C, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect gUnknown_83A5768:: @ 83A5768 overworld_frame gUnknown_839A588, 2, 2, 0 @@ -6624,7 +6624,7 @@ gUnknown_83A57C8:: @ 83A57C8 .4byte gUnknown_83A57C0 gUnknown_83A57EC:: @ 83A57EC - spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A57C8, gUnknown_83A5768, gDummySpriteAffineAnimTable, sub_80DBAFC + spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A57C8, gUnknown_83A5768, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect gUnknown_83A5804:: @ 83A5804 overworld_frame gUnknown_839AA48, 2, 2, 0 @@ -6670,7 +6670,7 @@ gUnknown_83A5894:: @ 83A5894 .4byte gUnknown_83A5870 gUnknown_83A589C:: @ 83A589C - spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_Unknown1, gUnknown_83A5894, gUnknown_83A5854, gDummySpriteAffineAnimTable, sub_80DBC2C + spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_Unknown1, gUnknown_83A5894, gUnknown_83A5854, gDummySpriteAffineAnimTable, UpdateSplashFieldEffect gUnknown_83A58B4:: @ 83A58B4 overworld_frame gUnknown_839ACC8, 2, 1, 0 @@ -6709,7 +6709,7 @@ gUnknown_83A5938:: @ 83A5938 .4byte gUnknown_83A5918 gUnknown_83A593C:: @ 83A593C - spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5938, gUnknown_83A58F8, gDummySpriteAffineAnimTable, unc_grass_tall + spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5938, gUnknown_83A58F8, gDummySpriteAffineAnimTable, UpdateLongGrassFieldEffect gUnknown_83A5954:: @ 83A5954 overworld_frame gUnknown_8399488, 2, 2, 0 @@ -6761,7 +6761,7 @@ gUnknown_83A5A2C:: @ 83A5A2C .4byte gUnknown_83A5A04 gUnknown_83A5A30:: @ 83A5A30 - spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5A2C, gUnknown_83A59BC, gDummySpriteAffineAnimTable, sub_80DCD1C + spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5A2C, gUnknown_83A59BC, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim gUnknown_83A5A48:: @ 83A5A48 overworld_frame gUnknown_8399C08, 2, 2, 0 @@ -6782,7 +6782,7 @@ gUnknown_83A5A84:: @ 83A5A84 .4byte gUnknown_83A5A68 gUnknown_83A5A88:: @ 83A5A88 - spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5A84, gUnknown_83A5A48, gDummySpriteAffineAnimTable, sub_80DCD1C + spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5A84, gUnknown_83A5A48, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim gUnknown_83A5AA0:: @ 83A5AA0 overworld_frame gUnknown_839A788, 2, 2, 0 @@ -6801,7 +6801,7 @@ gUnknown_83A5AD4:: @ 83A5AD4 .4byte gUnknown_83A5AC0 gUnknown_83A5AD8:: @ 83A5AD8 - spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A5AD4, gUnknown_83A5AA0, gDummySpriteAffineAnimTable, sub_80DCD1C + spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A5AD4, gUnknown_83A5AA0, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim gUnknown_83A5AF0:: @ 83A5AF0 overworld_frame gUnknown_839A988, 2, 1, 0 @@ -6818,7 +6818,7 @@ gUnknown_83A5B18:: @ 83A5B18 .4byte gUnknown_83A5B08 gUnknown_83A5B1C:: @ 83A5B1C - spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_Unknown1, gUnknown_83A5B18, gUnknown_83A5AF0, gDummySpriteAffineAnimTable, sub_80DC86C + spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_Unknown1, gUnknown_83A5B18, gUnknown_83A5AF0, gDummySpriteAffineAnimTable, UpdateSandPileFieldEffect gUnknown_83A5B34:: @ 83A5B34 overworld_frame gUnknown_839AD88, 2, 2, 0 @@ -6839,7 +6839,7 @@ gUnknown_83A5B70:: @ 83A5B70 .4byte gUnknown_83A5B54 gUnknown_83A5B74:: @ 83A5B74 - spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A5B70, gUnknown_83A5B34, gDummySpriteAffineAnimTable, sub_80DCD1C + spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A5B70, gUnknown_83A5B34, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim gUnknown_83A5B8C:: @ 83A5B8C obj_rot_scal_anim_frame -256, 256, 128, 0 @@ -6900,7 +6900,7 @@ gUnknown_83A5CAC:: @ 83A5CAC .4byte gUnknown_83A5C8C gUnknown_83A5CB4:: @ 83A5CB4 - spr_template 0xFFFF, 0xFFFF, gObjectEventBaseOam_16x32, gUnknown_83A5CAC, gUnknown_83A5C4C, gDummySpriteAffineAnimTable, sub_80DCAC8 + spr_template 0xFFFF, 0xFFFF, gObjectEventBaseOam_16x32, gUnknown_83A5CAC, gUnknown_83A5C4C, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect gUnknown_83A5CCC:: @ 83A5CCC overworld_frame gUnknown_839B708, 2, 4, 0 @@ -6930,7 +6930,7 @@ gUnknown_83A5D2C:: @ 83A5D2C .4byte gUnknown_83A5D0C gUnknown_83A5D34:: @ 83A5D34 - spr_template 0xFFFF, 0xFFFF, gObjectEventBaseOam_16x32, gUnknown_83A5D2C, gUnknown_83A5CCC, gDummySpriteAffineAnimTable, sub_80DCAC8 + spr_template 0xFFFF, 0xFFFF, gObjectEventBaseOam_16x32, gUnknown_83A5D2C, gUnknown_83A5CCC, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect gUnknown_83A5D4C:: @ 83A5D4C overworld_frame gUnknown_839BE08, 2, 4, 0 @@ -6942,7 +6942,7 @@ gUnknown_83A5D4C:: @ 83A5D4C overworld_frame gUnknown_839BE08, 2, 4, 6 gUnknown_83A5D84:: @ 83A5D84 - spr_template 0xFFFF, 0xFFFF, gObjectEventBaseOam_16x32, gUnknown_83A5CAC, gUnknown_83A5D4C, gDummySpriteAffineAnimTable, sub_80DCAC8 + spr_template 0xFFFF, 0xFFFF, gObjectEventBaseOam_16x32, gUnknown_83A5CAC, gUnknown_83A5D4C, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect gUnknown_83A5D9C:: @ 83A5D9C overworld_frame gUnknown_839D3C8, 8, 8, 0 @@ -6994,7 +6994,7 @@ gUnknown_83A5E34:: @ 83A5E34 .4byte gUnknown_83A5E28 gUnknown_83A5E38:: @ 83A5E38 - spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5E34, gUnknown_83A5E18, gDummySpriteAffineAnimTable, sub_80DB8AC + spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5E34, gUnknown_83A5E18, gDummySpriteAffineAnimTable, UpdateShortGrassFieldEffect gUnknown_83A5E50:: @ 83A5E50 overworld_frame gUnknown_839C508, 2, 2, 0 @@ -7007,7 +7007,7 @@ gUnknown_83A5E60:: @ 83A5E60 .4byte gUnknown_83A5E58 gUnknown_83A5E64:: @ 83A5E64 - spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5E60, gUnknown_83A5E50, gDummySpriteAffineAnimTable, sub_80DBFF4 + spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5E60, gUnknown_83A5E50, gDummySpriteAffineAnimTable, UpdateHotSpringsWaterFieldEffect gUnknown_83A5E7C:: @ 83A5E7C overworld_frame gUnknown_839C5A8, 2, 2, 0 @@ -7028,7 +7028,7 @@ gUnknown_83A5EBC:: @ 83A5EBC .4byte gUnknown_83A5EA4 gUnknown_83A5EC0:: @ 83A5EC0 - spr_template 0xFFFF, 0x100D, gObjectEventBaseOam_16x16, gUnknown_83A5EBC, gUnknown_83A5E7C, gDummySpriteAffineAnimTable, sub_8085604 + spr_template 0xFFFF, 0x100D, gObjectEventBaseOam_16x16, gUnknown_83A5EBC, gUnknown_83A5E7C, gDummySpriteAffineAnimTable, SpriteCB_PopOutOfAsh gUnknown_83A5ED8:: @ 83A5ED8 obj_pal gUnknown_839C588, 0x100D @@ -7052,7 +7052,7 @@ gUnknown_83A5F20:: @ 83A5F20 .4byte gUnknown_83A5F08 gUnknown_83A5F24:: @ 83A5F24 - spr_template 0xFFFF, 0x100D, gObjectEventBaseOam_16x16, gUnknown_83A5F20, gUnknown_83A5EE0, gDummySpriteAffineAnimTable, sub_80853B0 + spr_template 0xFFFF, 0x100D, gObjectEventBaseOam_16x16, gUnknown_83A5F20, gUnknown_83A5EE0, gDummySpriteAffineAnimTable, SpriteCB_LavaridgeGymWarp gUnknown_83A5F3C:: @ 83A5F3C overworld_frame gUnknown_839CAA8, 2, 4, 0 @@ -7079,7 +7079,7 @@ gUnknown_83A5FA0:: @ 83A5FA0 .4byte gUnknown_83A5F7C gUnknown_83A5FA4:: @ 83A5FA4 - spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x32, gUnknown_83A5FA0, gUnknown_83A5F3C, gDummySpriteAffineAnimTable, sub_80DC99C + spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x32, gUnknown_83A5FA0, gUnknown_83A5F3C, gDummySpriteAffineAnimTable, UpdateBubblesFieldEffect gUnknown_83A5FBC:: @ 83A5FBC overworld_frame gUnknown_839D2A8, 2, 2, 0 @@ -7095,7 +7095,7 @@ gUnknown_83A5FDC:: @ 83A5FDC .4byte gUnknown_83A5FCC gUnknown_83A5FE0:: @ 83A5FE0 - spr_template 0xFFFF, 0x100F, gObjectEventBaseOam_16x16, gUnknown_83A5FDC, gUnknown_83A5FBC, gDummySpriteAffineAnimTable, sub_80DCC90 + spr_template 0xFFFF, 0x100F, gObjectEventBaseOam_16x16, gUnknown_83A5FDC, gUnknown_83A5FBC, gDummySpriteAffineAnimTable, UpdateSparkleFieldEffect gUnknown_83A5FF8:: obj_pal gUnknown_839D3A8, 0x100F @@ -7667,17 +7667,16 @@ gUnknown_83A6404:: @ 83A6404 .4byte sub_80633D4 .4byte sub_80633F4 -@ gFaceDirectionAnimNums ? gFaceDirectionAnimNums:: @ 83A640C - .byte 0x00 - .byte 0x00 - .byte 0x01 - .byte 0x02 - .byte 0x03 - .byte 0x00 - .byte 0x00 - .byte 0x01 - .byte 0x01 + .byte 0x00 @ DIR_NONE + .byte 0x00 @ DIR_SOUTH + .byte 0x01 @ DIR_NORTH + .byte 0x02 @ DIR_WEST + .byte 0x03 @ DIR_EAST + .byte 0x00 @ DIR_SOUTHWEST + .byte 0x00 @ DIR_SOUTHEAST + .byte 0x01 @ DIR_NORTHWEST + .byte 0x01 @ DIR_NORTHEAST gMoveDirectionAnimNums:: @ 83A6415 .byte 0x4 @ DIR_NONE @@ -7767,6 +7766,7 @@ gAcroEndWheelieDirectionAnimNums:: @ 83A6454 .byte 0x1D @ DIR_NORTHWEST .byte 0x1D @ DIR_NORTHEAST +@ gAcroUnusedActionDirectionAnimNums? gAcroUnusedActionDirectionAnimNums:: @ 83A645D .byte 0x18 @ DIR_NONE .byte 0x18 @ DIR_SOUTH @@ -7778,6 +7778,7 @@ gAcroUnusedActionDirectionAnimNums:: @ 83A645D .byte 0x1A @ DIR_NORTHWEST .byte 0x1B @ DIR_NORTHEAST +@ gAcroWheeliePedalDirectionAnimNums? gAcroWheeliePedalDirectionAnimNums:: @ 83A6466 .byte 0x20 @ DIR_NONE .byte 0x20 @ DIR_SOUTH @@ -7789,6 +7790,7 @@ gAcroWheeliePedalDirectionAnimNums:: @ 83A6466 .byte 0x21 @ DIR_NORTHWEST .byte 0x21 @ DIR_NORTHEAST +@ ??? gFishingDirectionAnimNums:: @ 83A646F .byte 0x24 @ DIR_NONE .byte 0x24 @ DIR_SOUTH @@ -7800,6 +7802,7 @@ gFishingDirectionAnimNums:: @ 83A646F .byte 0x25 @ DIR_NORTHWEST .byte 0x25 @ DIR_NORTHEAST +@ gFishingDirectionAnimNums? gFishingNoCatchDirectionAnimNums:: @ 83A6478 .byte 0x0 @ DIR_NONE .byte 0x0 @ DIR_SOUTH @@ -7811,6 +7814,7 @@ gFishingNoCatchDirectionAnimNums:: @ 83A6478 .byte 0x1 @ DIR_NORTHWEST .byte 0x1 @ DIR_NORTHEAST +@ gFishingNoCatchDirectionAnimNums? gFishingBiteDirectionAnimNums:: @ 83A6481 .byte 0x4 @ DIR_NONE .byte 0x4 @ DIR_SOUTH @@ -7822,6 +7826,7 @@ gFishingBiteDirectionAnimNums:: @ 83A6481 .byte 0x5 @ DIR_NORTHWEST .byte 0x5 @ DIR_NORTHEAST +@ gFishingBiteDirectionAnimNums? gUnknown_83A648A:: @ 83A648A .byte 0x8 @ DIR_NONE .byte 0x8 @ DIR_SOUTH @@ -7833,6 +7838,7 @@ gUnknown_83A648A:: @ 83A648A .byte 0x9 @ DIR_NORTHWEST .byte 0x9 @ DIR_NORTHEAST +@ gRunningDirectionAnimNums? gRunningDirectionAnimNums:: @ 83A6493 .byte 0x14 @ DIR_NONE .byte 0x14 @ DIR_SOUTH @@ -7845,19 +7851,17 @@ gRunningDirectionAnimNums:: @ 83A6493 .byte 0x15 @ DIR_NORTHEAST gTrainerFacingDirectionMovementTypes:: @ 83A649C - .byte 0x08 - .byte 0x08 - .byte 0x07 - .byte 0x09 - .byte 0x0A - .byte 0x08 - .byte 0x08 - .byte 0x07 - .byte 0x07 - .byte 0x00 - .byte 0x00 - .byte 0x00 + .byte 0x08 @ DIR_NONE + .byte 0x08 @ DIR_SOUTH + .byte 0x07 @ DIR_NORTH + .byte 0x09 @ DIR_WEST + .byte 0x0A @ DIR_EAST + .byte 0x08 @ DIR_SOUTHWEST + .byte 0x08 @ DIR_SOUTHEAST + .byte 0x07 @ DIR_NORTHWEST + .byte 0x07 @ DIR_NORTHEAST + .align 2 gOppositeDirectionBlockedMetatileFuncs:: @ 83A64A8 .4byte MetatileBehavior_IsSouthBlocked .4byte MetatileBehavior_IsNorthBlocked @@ -8164,192 +8168,191 @@ gUnknown_83A65A9:: @ 83A65A9 .byte 0x00 .byte 0x00 -@ gMovementActionFuncs gMovementActionFuncs:: @ 83A65BC - .4byte gUnknown_83A6864 - .4byte gUnknown_83A686C - .4byte gUnknown_83A6874 - .4byte gUnknown_83A687C - .4byte gUnknown_83A6A30 - .4byte gUnknown_83A6A38 - .4byte gUnknown_83A6A40 - .4byte gUnknown_83A6A48 - .4byte gUnknown_83A68C8 - .4byte gUnknown_83A68D4 - .4byte gUnknown_83A68E0 - .4byte gUnknown_83A68EC - .4byte gUnknown_83A6904 - .4byte gUnknown_83A68F8 - .4byte gUnknown_83A6910 - .4byte gUnknown_83A691C - .4byte gUnknown_83A6928 - .4byte gUnknown_83A6934 - .4byte gUnknown_83A6940 - .4byte gUnknown_83A694C - .4byte gUnknown_83A6964 - .4byte gUnknown_83A6970 - .4byte gUnknown_83A697C - .4byte gUnknown_83A6988 - .4byte gUnknown_83A6994 - .4byte gUnknown_83A69A0 - .4byte gUnknown_83A69AC - .4byte gUnknown_83A69B8 - .4byte gUnknown_83A69C4 - .4byte gUnknown_83A69D0 - .4byte gUnknown_83A69DC - .4byte gUnknown_83A69E8 - .4byte gUnknown_83A69F4 - .4byte gUnknown_83A6A50 - .4byte gUnknown_83A6A5C - .4byte gUnknown_83A6A68 - .4byte gUnknown_83A6A74 - .4byte gUnknown_83A6A80 - .4byte gUnknown_83A6A8C - .4byte gUnknown_83A6A98 - .4byte gUnknown_83A6AA4 - .4byte gUnknown_83A6AB0 - .4byte gUnknown_83A6ABC - .4byte gUnknown_83A6AC8 - .4byte gUnknown_83A6AD4 - .4byte gUnknown_83A6AE0 - .4byte gUnknown_83A6AEC - .4byte gUnknown_83A6AF8 - .4byte gUnknown_83A6B04 - .4byte gUnknown_83A6B10 - .4byte gUnknown_83A6B1C - .4byte gUnknown_83A6B28 - .4byte gUnknown_83A6B34 - .4byte gUnknown_83A6B40 - .4byte gUnknown_83A6B4C - .4byte gUnknown_83A6B58 - .4byte gUnknown_83A6B64 - .4byte gUnknown_83A6B70 - .4byte gUnknown_83A6B7C - .4byte gUnknown_83A6B88 - .4byte gUnknown_83A6B94 - .4byte gUnknown_83A6BA0 - .4byte gUnknown_83A6BAC - .4byte gUnknown_83A6BB8 - .4byte gUnknown_83A6BC4 - .4byte gUnknown_83A6BD0 - .4byte gUnknown_83A6BDC - .4byte gUnknown_83A6BE8 - .4byte gUnknown_83A6BF4 - .4byte gUnknown_83A6C00 - .4byte gUnknown_83A6C0C - .4byte gUnknown_83A6C18 - .4byte gUnknown_83A6C24 - .4byte gUnknown_83A6C30 - .4byte gUnknown_83A6C6C - .4byte gUnknown_83A6C74 - .4byte gUnknown_83A6C7C - .4byte gUnknown_83A6C84 - .4byte gUnknown_83A6C8C - .4byte gUnknown_83A6C98 - .4byte gUnknown_83A6CA4 - .4byte gUnknown_83A6CB0 - .4byte gUnknown_83A6CBC - .4byte gUnknown_83A6CC8 - .4byte gUnknown_83A6CD4 - .4byte gUnknown_83A6CE0 - .4byte gUnknown_83A6CEC - .4byte gUnknown_83A6CF8 - .4byte gUnknown_83A6D04 - .4byte gUnknown_83A6D10 - .4byte gUnknown_83A6D1C - .4byte gUnknown_83A6D24 - .4byte gUnknown_83A6D30 - .4byte gUnknown_83A6D38 - .4byte gUnknown_83A6D40 - .4byte gUnknown_83A6D48 - .4byte gUnknown_83A6D50 - .4byte gUnknown_83A6D58 - .4byte gUnknown_83A6D60 - .4byte gUnknown_83A6D68 - .4byte gUnknown_83A6D70 - .4byte gUnknown_83A6D78 - .4byte gUnknown_83A6D80 - .4byte gUnknown_83A6D88 - .4byte gUnknown_83A6D94 - .4byte gUnknown_83A6DA4 - .4byte gUnknown_83A6DB4 - .4byte gUnknown_83A6DBC - .4byte gUnknown_83A6DC4 - .4byte gUnknown_83A6DCC - .4byte gUnknown_83A6DD4 - .4byte gUnknown_83A6DE0 - .4byte gUnknown_83A6DEC - .4byte gUnknown_83A6DF4 - .4byte gUnknown_83A6DFC - .4byte gUnknown_83A6E04 - .4byte gUnknown_83A6E0C - .4byte gUnknown_83A6E18 - .4byte gUnknown_83A6E24 - .4byte gUnknown_83A6E30 - .4byte gUnknown_83A6E3C - .4byte gUnknown_83A6E48 - .4byte gUnknown_83A6E54 - .4byte gUnknown_83A6E60 - .4byte gUnknown_83A6E9C - .4byte gUnknown_83A6EA8 - .4byte gUnknown_83A6EB4 - .4byte gUnknown_83A6EC0 - .4byte gUnknown_83A6ECC - .4byte gUnknown_83A6ED8 - .4byte gUnknown_83A6EE4 - .4byte gUnknown_83A6EF0 - .4byte gUnknown_83A6EFC - .4byte gUnknown_83A6F08 - .4byte gUnknown_83A6F14 - .4byte gUnknown_83A6F20 - .4byte gUnknown_83A6F2C - .4byte gUnknown_83A6F38 - .4byte gUnknown_83A6F44 - .4byte gUnknown_83A6F50 - .4byte gUnknown_83A6F5C - .4byte gUnknown_83A6F68 - .4byte gUnknown_83A6F74 - .4byte gUnknown_83A6F80 - .4byte gUnknown_83A6F8C - .4byte gUnknown_83A6F98 - .4byte gUnknown_83A6FA4 - .4byte gUnknown_83A6FB0 - .4byte gUnknown_83A6FBC - .4byte gUnknown_83A6FC8 - .4byte gUnknown_83A6FD4 - .4byte gUnknown_83A6FE0 - .4byte gUnknown_83A6FEC - .4byte gUnknown_83A6FF4 - .4byte gUnknown_83A6FFC - .4byte gUnknown_83A6898 - .4byte gUnknown_83A68A4 - .4byte gUnknown_83A68B0 - .4byte gUnknown_83A68BC - .4byte gUnknown_83A7004 - .4byte gUnknown_83A6A00 - .4byte gUnknown_83A6A0C - .4byte gUnknown_83A6A18 - .4byte gUnknown_83A6A24 - .4byte gUnknown_83A700C - .4byte gUnknown_83A7018 - .4byte gUnknown_83A6C3C - .4byte gUnknown_83A6C48 - .4byte gUnknown_83A6C54 - .4byte gUnknown_83A6C60 + .4byte sMovementActionFuncs_x00 + .4byte sMovementActionFuncs_x01 + .4byte sMovementActionFuncs_x02 + .4byte sMovementActionFuncs_x03 + .4byte sMovementActionFuncs_x04 + .4byte sMovementActionFuncs_x05 + .4byte sMovementActionFuncs_x06 + .4byte sMovementActionFuncs_x07 + .4byte sMovementActionFuncs_x08 + .4byte sMovementActionFuncs_x09 + .4byte sMovementActionFuncs_x0A + .4byte sMovementActionFuncs_x0B + .4byte sMovementActionFuncs_x0C + .4byte sMovementActionFuncs_x0D + .4byte sMovementActionFuncs_x0E + .4byte sMovementActionFuncs_x0F + .4byte sMovementActionFuncs_x10 + .4byte sMovementActionFuncs_x11 + .4byte sMovementActionFuncs_x12 + .4byte sMovementActionFuncs_x13 + .4byte sMovementActionFuncs_x14 + .4byte sMovementActionFuncs_x15 + .4byte sMovementActionFuncs_x16 + .4byte sMovementActionFuncs_x17 + .4byte sMovementActionFuncs_x18 + .4byte sMovementActionFuncs_x19 + .4byte sMovementActionFuncs_x1A + .4byte sMovementActionFuncs_x1B + .4byte sMovementActionFuncs_x1C + .4byte sMovementActionFuncs_x1D + .4byte sMovementActionFuncs_x1E + .4byte sMovementActionFuncs_x1F + .4byte sMovementActionFuncs_x20 + .4byte sMovementActionFuncs_x21 + .4byte sMovementActionFuncs_x22 + .4byte sMovementActionFuncs_x23 + .4byte sMovementActionFuncs_x24 + .4byte sMovementActionFuncs_x25 + .4byte sMovementActionFuncs_x26 + .4byte sMovementActionFuncs_x27 + .4byte sMovementActionFuncs_x28 + .4byte sMovementActionFuncs_x29 + .4byte sMovementActionFuncs_x2A + .4byte sMovementActionFuncs_x2B + .4byte sMovementActionFuncs_x2C + .4byte sMovementActionFuncs_x2D + .4byte sMovementActionFuncs_x2E + .4byte sMovementActionFuncs_x2F + .4byte sMovementActionFuncs_x30 + .4byte sMovementActionFuncs_x31 + .4byte sMovementActionFuncs_x32 + .4byte sMovementActionFuncs_x33 + .4byte sMovementActionFuncs_x34 + .4byte sMovementActionFuncs_x35 + .4byte sMovementActionFuncs_x36 + .4byte sMovementActionFuncs_x37 + .4byte sMovementActionFuncs_x38 + .4byte sMovementActionFuncs_x39 + .4byte sMovementActionFuncs_x3A + .4byte sMovementActionFuncs_x3B + .4byte sMovementActionFuncs_x3C + .4byte sMovementActionFuncs_x3D + .4byte sMovementActionFuncs_x3E + .4byte sMovementActionFuncs_x3F + .4byte sMovementActionFuncs_x40 + .4byte sMovementActionFuncs_x41 + .4byte sMovementActionFuncs_x42 + .4byte sMovementActionFuncs_x43 + .4byte sMovementActionFuncs_x44 + .4byte sMovementActionFuncs_x45 + .4byte sMovementActionFuncs_x46 + .4byte sMovementActionFuncs_x47 + .4byte sMovementActionFuncs_x48 + .4byte sMovementActionFuncs_x49 + .4byte sMovementActionFuncs_x4A + .4byte sMovementActionFuncs_x4B + .4byte sMovementActionFuncs_x4C + .4byte sMovementActionFuncs_x4D + .4byte sMovementActionFuncs_x4E + .4byte sMovementActionFuncs_x4F + .4byte sMovementActionFuncs_x50 + .4byte sMovementActionFuncs_x51 + .4byte sMovementActionFuncs_x52 + .4byte sMovementActionFuncs_x53 + .4byte sMovementActionFuncs_x54 + .4byte sMovementActionFuncs_x55 + .4byte sMovementActionFuncs_x56 + .4byte sMovementActionFuncs_x57 + .4byte sMovementActionFuncs_x58 + .4byte sMovementActionFuncs_x59 + .4byte sMovementActionFuncs_x5A + .4byte sMovementActionFuncs_x5B + .4byte sMovementActionFuncs_x5C + .4byte sMovementActionFuncs_x5D + .4byte sMovementActionFuncs_x5E + .4byte sMovementActionFuncs_x5F + .4byte sMovementActionFuncs_x60 + .4byte sMovementActionFuncs_x61 + .4byte sMovementActionFuncs_x62 + .4byte sMovementActionFuncs_x63 + .4byte sMovementActionFuncs_x64 + .4byte sMovementActionFuncs_x65 + .4byte sMovementActionFuncs_x66 + .4byte sMovementActionFuncs_x67 + .4byte sMovementActionFuncs_x68 + .4byte sMovementActionFuncs_x69 + .4byte sMovementActionFuncs_x6A + .4byte sMovementActionFuncs_x6B + .4byte sMovementActionFuncs_x6C + .4byte sMovementActionFuncs_x6D + .4byte sMovementActionFuncs_x6E + .4byte sMovementActionFuncs_x6F + .4byte sMovementActionFuncs_x70 + .4byte sMovementActionFuncs_x71 + .4byte sMovementActionFuncs_x72 + .4byte sMovementActionFuncs_x73 + .4byte sMovementActionFuncs_x74 + .4byte sMovementActionFuncs_x75 + .4byte sMovementActionFuncs_x76 + .4byte sMovementActionFuncs_x77 + .4byte sMovementActionFuncs_x78 + .4byte sMovementActionFuncs_x79 + .4byte sMovementActionFuncs_x7A + .4byte sMovementActionFuncs_x7B + .4byte sMovementActionFuncs_x7C + .4byte sMovementActionFuncs_x7D + .4byte sMovementActionFuncs_x7E + .4byte sMovementActionFuncs_x7F + .4byte sMovementActionFuncs_x80 + .4byte sMovementActionFuncs_x81 + .4byte sMovementActionFuncs_x82 + .4byte sMovementActionFuncs_x83 + .4byte sMovementActionFuncs_x84 + .4byte sMovementActionFuncs_x85 + .4byte sMovementActionFuncs_x86 + .4byte sMovementActionFuncs_x87 + .4byte sMovementActionFuncs_x88 + .4byte sMovementActionFuncs_x89 + .4byte sMovementActionFuncs_x8A + .4byte sMovementActionFuncs_x8B + .4byte sMovementActionFuncs_x8C + .4byte sMovementActionFuncs_x8D + .4byte sMovementActionFuncs_x8E + .4byte sMovementActionFuncs_x8F + .4byte sMovementActionFuncs_x90 + .4byte sMovementActionFuncs_x91 + .4byte sMovementActionFuncs_x92 + .4byte sMovementActionFuncs_x93 + .4byte sMovementActionFuncs_x94 + .4byte sMovementActionFuncs_x95 + .4byte sMovementActionFuncs_x96 + .4byte sMovementActionFuncs_x97 + .4byte sMovementActionFuncs_x98 + .4byte sMovementActionFuncs_x99 + .4byte sMovementActionFuncs_x9A + .4byte sMovementActionFuncs_x9B + .4byte sMovementActionFuncs_x9C + .4byte sMovementActionFuncs_x9D + .4byte sMovementActionFuncs_x9E + .4byte sMovementActionFuncs_x9F + .4byte sMovementActionFuncs_xA0 + .4byte sMovementActionFuncs_xA1 + .4byte sMovementActionFuncs_xA2 + .4byte sMovementActionFuncs_xA3 + .4byte sMovementActionFuncs_xA4 + .4byte sMovementActionFuncs_xA5 + .4byte sMovementActionFuncs_xA6 + .4byte sMovementActionFuncs_xA7 + .4byte sMovementActionFuncs_xA8 + .4byte sMovementActionFuncs_xA9 -gUnknown_83A6864:: @ 83A6864 +sMovementActionFuncs_x00:: @ 83A6864 .4byte MovementAction_FaceDown_Step0 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A686C:: @ 83A686C +sMovementActionFuncs_x01:: @ 83A686C .4byte MovementAction_FaceUp_Step0 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6874:: @ 83A6874 +sMovementActionFuncs_x02:: @ 83A6874 .4byte MovementAction_FaceLeft_Step0 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A687C:: @ 83A687C +sMovementActionFuncs_x03:: @ 83A687C .4byte MovementAction_FaceRight_Step0 .4byte MovementAction_PauseSpriteAnim @@ -8360,82 +8363,82 @@ gUnknown_83A6884:: @ 83A6884 .4byte GetMoveDirectionFasterAnimNum .4byte GetMoveDirectionFastestAnimNum -gUnknown_83A6898:: @ 83A6898 - .4byte sub_8064968 - .4byte sub_8064988 +sMovementActionFuncs_x9B:: @ 83A6898 + .4byte MovementActionFunc_x9B_0 + .4byte MovementActionFunc_x9B_1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A68A4:: @ 83A68A4 - .4byte sub_80649A8 - .4byte sub_80649C8 +sMovementActionFuncs_x9C:: @ 83A68A4 + .4byte MovementActionFunc_x9C_0 + .4byte MovementActionFunc_x9C_1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A68B0:: @ 83A68B0 - .4byte sub_80649E8 - .4byte sub_8064A08 +sMovementActionFuncs_x9D:: @ 83A68B0 + .4byte MovementActionFunc_x9D_0 + .4byte MovementActionFunc_x9D_1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A68BC:: @ 83A68BC - .4byte sub_8064A28 - .4byte sub_8064A48 +sMovementActionFuncs_x9E:: @ 83A68BC + .4byte MovementActionFunc_x9E_0 + .4byte MovementActionFunc_x9E_1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A68C8:: @ 83A68C8 - .4byte sub_8064A68 - .4byte sub_8064A88 +sMovementActionFuncs_x08:: @ 83A68C8 + .4byte MovementActionFunc_x08_0 + .4byte MovementActionFunc_x08_1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A68D4:: @ 83A68D4 - .4byte sub_8064AA8 - .4byte sub_8064AC8 +sMovementActionFuncs_x09:: @ 83A68D4 + .4byte MovementActionFunc_x09_0 + .4byte MovementActionFunc_x09_1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A68E0:: @ 83A68E0 - .4byte sub_8064AE8 - .4byte sub_8064B08 +sMovementActionFuncs_x0A:: @ 83A68E0 + .4byte MovementActionFunc_x0A_0 + .4byte MovementActionFunc_x0A_1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A68EC:: @ 83A68EC - .4byte sub_8064B28 - .4byte sub_8064B48 +sMovementActionFuncs_x0B:: @ 83A68EC + .4byte MovementActionFunc_x0B_0 + .4byte MovementActionFunc_x0B_1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A68F8:: @ 83A68F8 - .4byte sub_8064C3C - .4byte sub_8064C5C +sMovementActionFuncs_x0D:: @ 83A68F8 + .4byte MovementActionFunc_x0D_0 + .4byte MovementActionFunc_x0D_1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6904:: @ 83A6904 - .4byte sub_8064C7C - .4byte sub_8064C9C +sMovementActionFuncs_x0C:: @ 83A6904 + .4byte MovementActionFunc_x0C_0 + .4byte MovementActionFunc_x0C_1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6910:: @ 83A6910 - .4byte sub_8064CBC - .4byte sub_8064CDC +sMovementActionFuncs_x0E:: @ 83A6910 + .4byte MovementActionFunc_x0E_0 + .4byte MovementActionFunc_x0E_1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A691C:: @ 83A691C - .4byte sub_8064CFC - .4byte sub_8064D1C +sMovementActionFuncs_x0F:: @ 83A691C + .4byte MovementActionFunc_x0F_0 + .4byte MovementActionFunc_x0F_1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6928:: @ 83A6928 +sMovementActionFuncs_x10:: @ 83A6928 .4byte MovementAction_WalkNormalDown_Step0 .4byte MovementAction_WalkNormalDown_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6934:: @ 83A6934 +sMovementActionFuncs_x11:: @ 83A6934 .4byte MovementAction_WalkNormalUp_Step0 .4byte MovementAction_WalkNormalUp_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6940:: @ 83A6940 +sMovementActionFuncs_x12:: @ 83A6940 .4byte MovementAction_WalkNormalLeft_Step0 .4byte MovementAction_WalkNormalLeft_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A694C:: @ 83A694C +sMovementActionFuncs_x13:: @ 83A694C .4byte MovementAction_WalkNormalRight_Step0 .4byte MovementAction_WalkNormalRight_Step1 .4byte MovementAction_PauseSpriteAnim @@ -8450,556 +8453,556 @@ gUnknown_83A695E:: @ 83A695E .2byte 0x0000 .2byte 0x0001 -gUnknown_83A6964:: @ 83A6964 +sMovementActionFuncs_x14:: @ 83A6964 .4byte MovementAction_Jump2Down_Step0 .4byte MovementAction_Jump2Down_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6970:: @ 83A6970 +sMovementActionFuncs_x15:: @ 83A6970 .4byte MovementAction_Jump2Up_Step0 .4byte MovementAction_Jump2Up_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A697C:: @ 83A697C +sMovementActionFuncs_x16:: @ 83A697C .4byte MovementAction_Jump2Left_Step0 .4byte MovementAction_Jump2Left_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6988:: @ 83A6988 +sMovementActionFuncs_x17:: @ 83A6988 .4byte MovementAction_Jump2Right_Step0 .4byte MovementAction_Jump2Right_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6994:: @ 83A6994 +sMovementActionFuncs_x18:: @ 83A6994 .4byte MovementAction_Delay1_Step0 .4byte MovementAction_Delay_Step1 .4byte MovementAction_Finish -gUnknown_83A69A0:: @ 83A69A0 +sMovementActionFuncs_x19:: @ 83A69A0 .4byte MovementAction_Delay2_Step0 .4byte MovementAction_Delay_Step1 .4byte MovementAction_Finish -gUnknown_83A69AC:: @ 83A69AC +sMovementActionFuncs_x1A:: @ 83A69AC .4byte MovementAction_Delay4_Step0 .4byte MovementAction_Delay_Step1 .4byte MovementAction_Finish -gUnknown_83A69B8:: @ 83A69B8 +sMovementActionFuncs_x1B:: @ 83A69B8 .4byte MovementAction_Delay8_Step0 .4byte MovementAction_Delay_Step1 .4byte MovementAction_Finish -gUnknown_83A69C4:: @ 83A69C4 +sMovementActionFuncs_x1C:: @ 83A69C4 .4byte MovementAction_Delay16_Step0 .4byte MovementAction_Delay_Step1 .4byte MovementAction_Finish -gUnknown_83A69D0:: @ 83A69D0 +sMovementActionFuncs_x1D:: @ 83A69D0 .4byte MovementAction_WalkFastDown_Step0 .4byte MovementAction_WalkFastDown_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A69DC:: @ 83A69DC +sMovementActionFuncs_x1E:: @ 83A69DC .4byte MovementAction_WalkFastUp_Step0 .4byte MovementAction_WalkFastUp_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A69E8:: @ 83A69E8 +sMovementActionFuncs_x1F:: @ 83A69E8 .4byte MovementAction_WalkFastLeft_Step0 .4byte MovementAction_WalkFastLeft_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A69F4:: @ 83A69F4 +sMovementActionFuncs_x20:: @ 83A69F4 .4byte MovementAction_WalkFastRight_Step0 .4byte MovementAction_WalkFastRight_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6A00:: @ 83A6A00 - .4byte sub_80653F8 - .4byte sub_8065438 +sMovementActionFuncs_xA0:: @ 83A6A00 + .4byte MovementActionFunc_xA0_0 + .4byte MovementActionFunc_xA0_1 .4byte MovementAction_Finish -gUnknown_83A6A0C:: @ 83A6A0C - .4byte sub_8065464 - .4byte sub_80654A4 +sMovementActionFuncs_xA1:: @ 83A6A0C + .4byte MovementActionFunc_xA1_0 + .4byte MovementActionFunc_xA1_1 .4byte MovementAction_Finish -gUnknown_83A6A18:: @ 83A6A18 - .4byte sub_80654D0 - .4byte sub_8065510 +sMovementActionFuncs_xA2:: @ 83A6A18 + .4byte MovementActionFunc_xA2_0 + .4byte MovementActionFunc_xA2_1 .4byte MovementAction_Finish -gUnknown_83A6A24:: @ 83A6A24 - .4byte sub_806553C - .4byte sub_806557C +sMovementActionFuncs_xA3:: @ 83A6A24 + .4byte MovementActionFunc_xA3_0 + .4byte MovementActionFunc_xA3_1 .4byte MovementAction_Finish -gUnknown_83A6A30:: @ 83A6A30 - .4byte sub_80655D4 +sMovementActionFuncs_x04:: @ 83A6A30 + .4byte MovementActionFunc_x04_0 .4byte MovementAction_Finish -gUnknown_83A6A38:: @ 83A6A38 - .4byte sub_8065610 +sMovementActionFuncs_x05:: @ 83A6A38 + .4byte MovementActionFunc_x05_0 .4byte MovementAction_Finish -gUnknown_83A6A40:: @ 83A6A40 - .4byte sub_806564C +sMovementActionFuncs_x06:: @ 83A6A40 + .4byte MovementActionFunc_x06_0 .4byte MovementAction_Finish -gUnknown_83A6A48:: @ 83A6A48 - .4byte sub_8065688 +sMovementActionFuncs_x07:: @ 83A6A48 + .4byte MovementActionFunc_x07_0 .4byte MovementAction_Finish -gUnknown_83A6A50:: @ 83A6A50 +sMovementActionFuncs_x21:: @ 83A6A50 .4byte MovementAction_WalkInPlaceSlowDown_Step0 .4byte MovementAction_WalkInPlaceSlow_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6A5C:: @ 83A6A5C +sMovementActionFuncs_x22:: @ 83A6A5C .4byte MovementAction_WalkInPlaceSlowUp_Step0 .4byte MovementAction_WalkInPlaceSlow_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6A68:: @ 83A6A68 +sMovementActionFuncs_x23:: @ 83A6A68 .4byte MovementAction_WalkInPlaceSlowLeft_Step0 .4byte MovementAction_WalkInPlaceSlow_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6A74:: @ 83A6A74 +sMovementActionFuncs_x24:: @ 83A6A74 .4byte MovementAction_WalkInPlaceSlowRight_Step0 .4byte MovementAction_WalkInPlaceSlow_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6A80:: @ 83A6A80 +sMovementActionFuncs_x25:: @ 83A6A80 .4byte MovementAction_WalkInPlaceNormalDown_Step0 .4byte MovementAction_WalkInPlace_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6A8C:: @ 83A6A8C +sMovementActionFuncs_x26:: @ 83A6A8C .4byte MovementAction_WalkInPlaceNormalUp_Step0 .4byte MovementAction_WalkInPlace_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6A98:: @ 83A6A98 +sMovementActionFuncs_x27:: @ 83A6A98 .4byte MovementAction_WalkInPlaceNormalLeft_Step0 .4byte MovementAction_WalkInPlace_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6AA4:: @ 83A6AA4 +sMovementActionFuncs_x28:: @ 83A6AA4 .4byte MovementAction_WalkInPlaceNormalRight_Step0 .4byte MovementAction_WalkInPlace_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6AB0:: @ 83A6AB0 +sMovementActionFuncs_x29:: @ 83A6AB0 .4byte MovementAction_WalkInPlaceFastDown_Step0 .4byte MovementAction_WalkInPlace_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6ABC:: @ 83A6ABC +sMovementActionFuncs_x2A:: @ 83A6ABC .4byte MovementAction_WalkInPlaceFastUp_Step0 .4byte MovementAction_WalkInPlace_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6AC8:: @ 83A6AC8 +sMovementActionFuncs_x2B:: @ 83A6AC8 .4byte MovementAction_WalkInPlaceFastLeft_Step0 .4byte MovementAction_WalkInPlace_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6AD4:: @ 83A6AD4 +sMovementActionFuncs_x2C:: @ 83A6AD4 .4byte MovementAction_WalkInPlaceFastRight_Step0 .4byte MovementAction_WalkInPlace_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6AE0:: @ 83A6AE0 +sMovementActionFuncs_x2D:: @ 83A6AE0 .4byte MovementAction_WalkInPlaceFastestDown_Step0 .4byte MovementAction_WalkInPlace_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6AEC:: @ 83A6AEC +sMovementActionFuncs_x2E:: @ 83A6AEC .4byte MovementAction_WalkInPlaceFastestUp_Step0 .4byte MovementAction_WalkInPlace_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6AF8:: @ 83A6AF8 +sMovementActionFuncs_x2F:: @ 83A6AF8 .4byte MovementAction_WalkInPlaceFastestLeft_Step0 .4byte MovementAction_WalkInPlace_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6B04:: @ 83A6B04 +sMovementActionFuncs_x30:: @ 83A6B04 .4byte MovementAction_WalkInPlaceFastestRight_Step0 .4byte MovementAction_WalkInPlace_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6B10:: @ 83A6B10 +sMovementActionFuncs_x31:: @ 83A6B10 .4byte MovementAction_RideWaterCurrentDown_Step0 .4byte MovementAction_RideWaterCurrentDown_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6B1C:: @ 83A6B1C +sMovementActionFuncs_x32:: @ 83A6B1C .4byte MovementAction_RideWaterCurrentUp_Step0 .4byte MovementAction_RideWaterCurrentUp_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6B28:: @ 83A6B28 +sMovementActionFuncs_x33:: @ 83A6B28 .4byte MovementAction_RideWaterCurrentLeft_Step0 .4byte MovementAction_RideWaterCurrentLeft_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6B34:: @ 83A6B34 +sMovementActionFuncs_x34:: @ 83A6B34 .4byte MovementAction_RideWaterCurrentRight_Step0 .4byte MovementAction_RideWaterCurrentRight_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6B40:: @ 83A6B40 +sMovementActionFuncs_x35:: @ 83A6B40 .4byte MovementAction_WalkFastestDown_Step0 .4byte MovementAction_WalkFastestDown_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6B4C:: @ 83A6B4C +sMovementActionFuncs_x36:: @ 83A6B4C .4byte MovementAction_WalkFastestUp_Step0 .4byte MovementAction_WalkFastestUp_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6B58:: @ 83A6B58 +sMovementActionFuncs_x37:: @ 83A6B58 .4byte MovementAction_WalkFastestLeft_Step0 .4byte MovementAction_WalkFastestLeft_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6B64:: @ 83A6B64 +sMovementActionFuncs_x38:: @ 83A6B64 .4byte MovementAction_WalkFastestRight_Step0 .4byte MovementAction_WalkFastestRight_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6B70:: @ 83A6B70 +sMovementActionFuncs_x39:: @ 83A6B70 .4byte MovementAction_SlideDown_Step0 .4byte MovementAction_SlideDown_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6B7C:: @ 83A6B7C +sMovementActionFuncs_x3A:: @ 83A6B7C .4byte MovementAction_SlideUp_Step0 .4byte MovementAction_SlideUp_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6B88:: @ 83A6B88 +sMovementActionFuncs_x3B:: @ 83A6B88 .4byte MovementAction_SlideLeft_Step0 .4byte MovementAction_SlideLeft_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6B94:: @ 83A6B94 +sMovementActionFuncs_x3C:: @ 83A6B94 .4byte MovementAction_SlideRight_Step0 .4byte MovementAction_SlideRight_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6BA0:: @ 83A6BA0 +sMovementActionFuncs_x3D:: @ 83A6BA0 .4byte MovementAction_PlayerRunDown_Step0 .4byte MovementAction_PlayerRunDown_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6BAC:: @ 83A6BAC +sMovementActionFuncs_x3E:: @ 83A6BAC .4byte MovementAction_PlayerRunUp_Step0 .4byte MovementAction_PlayerRunUp_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6BB8:: @ 83A6BB8 +sMovementActionFuncs_x3F:: @ 83A6BB8 .4byte MovementAction_PlayerRunLeft_Step0 .4byte MovementAction_PlayerRunLeft_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6BC4:: @ 83A6BC4 +sMovementActionFuncs_x40:: @ 83A6BC4 .4byte MovementAction_PlayerRunRight_Step0 .4byte MovementAction_PlayerRunRight_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6BD0:: @ 83A6BD0 - .4byte sub_8065FC4 - .4byte sub_8065FE4 +sMovementActionFuncs_x41:: @ 83A6BD0 + .4byte MovementActionFunc_x41_0 + .4byte MovementActionFunc_x41_1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6BDC:: @ 83A6BDC - .4byte sub_8066004 - .4byte sub_8066024 +sMovementActionFuncs_x42:: @ 83A6BDC + .4byte MovementActionFunc_x42_0 + .4byte MovementActionFunc_x42_1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6BE8:: @ 83A6BE8 - .4byte sub_8066044 - .4byte sub_8066064 +sMovementActionFuncs_x43:: @ 83A6BE8 + .4byte MovementActionFunc_x43_0 + .4byte MovementActionFunc_x43_1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6BF4:: @ 83A6BF4 - .4byte sub_8066084 - .4byte sub_80660A4 +sMovementActionFuncs_x44:: @ 83A6BF4 + .4byte MovementActionFunc_x44_0 + .4byte MovementActionFunc_x44_1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6C00:: @ 83A6C00 +sMovementActionFuncs_x45:: @ 83A6C00 .4byte MovementAction_StartAnimInDirection_Step0 .4byte MovementAction_WaitSpriteAnim .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6C0C:: @ 83A6C0C +sMovementActionFuncs_x46:: @ 83A6C0C .4byte MovementAction_JumpSpecialDown_Step0 .4byte MovementAction_JumpSpecialDown_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6C18:: @ 83A6C18 +sMovementActionFuncs_x47:: @ 83A6C18 .4byte MovementAction_JumpSpecialUp_Step0 .4byte MovementAction_JumpSpecialUp_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6C24:: @ 83A6C24 +sMovementActionFuncs_x48:: @ 83A6C24 .4byte MovementAction_JumpSpecialLeft_Step0 .4byte MovementAction_JumpSpecialLeft_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6C30:: @ 83A6C30 +sMovementActionFuncs_x49:: @ 83A6C30 .4byte MovementAction_JumpSpecialRight_Step0 .4byte MovementAction_JumpSpecialRight_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6C3C:: @ 83A6C3C - .4byte sub_806627C - .4byte sub_806629C +sMovementActionFuncs_xA6:: @ 83A6C3C + .4byte MovementActionFunc_xA6_0 + .4byte MovementActionFunc_xA6_1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6C48:: @ 83A6C48 - .4byte sub_80662BC - .4byte sub_80662DC +sMovementActionFuncs_xA7:: @ 83A6C48 + .4byte MovementActionFunc_xA7_0 + .4byte MovementActionFunc_xA7_1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6C54:: @ 83A6C54 - .4byte sub_80662FC - .4byte sub_806631C +sMovementActionFuncs_xA8:: @ 83A6C54 + .4byte MovementActionFunc_xA8_0 + .4byte MovementActionFunc_xA8_1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6C60:: @ 83A6C60 - .4byte sub_806633C - .4byte sub_806635C +sMovementActionFuncs_xA9:: @ 83A6C60 + .4byte MovementActionFunc_xA9_0 + .4byte MovementActionFunc_xA9_1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6C6C:: @ 83A6C6C +sMovementActionFuncs_x4A:: @ 83A6C6C .4byte MovementAction_FacePlayer_Step0 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6C74:: @ 83A6C74 +sMovementActionFuncs_x4B:: @ 83A6C74 .4byte MovementAction_FaceAwayPlayer_Step0 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6C7C:: @ 83A6C7C +sMovementActionFuncs_x4C:: @ 83A6C7C .4byte MovementAction_LockFacingDirection_Step0 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6C84:: @ 83A6C84 +sMovementActionFuncs_x4D:: @ 83A6C84 .4byte MovementAction_UnlockFacingDirection_Step0 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6C8C:: @ 83A6C8C +sMovementActionFuncs_x4E:: @ 83A6C8C .4byte MovementAction_JumpDown_Step0 .4byte MovementAction_JumpDown_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6C98:: @ 83A6C98 +sMovementActionFuncs_x4F:: @ 83A6C98 .4byte MovementAction_JumpUp_Step0 .4byte MovementAction_JumpUp_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6CA4:: @ 83A6CA4 +sMovementActionFuncs_x50:: @ 83A6CA4 .4byte MovementAction_JumpLeft_Step0 .4byte MovementAction_JumpLeft_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6CB0:: @ 83A6CB0 +sMovementActionFuncs_x51:: @ 83A6CB0 .4byte MovementAction_JumpRight_Step0 .4byte MovementAction_JumpRight_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6CBC:: @ 83A6CBC +sMovementActionFuncs_x52:: @ 83A6CBC .4byte MovementAction_JumpInPlaceDown_Step0 .4byte MovementAction_JumpInPlaceDown_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6CC8:: @ 83A6CC8 +sMovementActionFuncs_x53:: @ 83A6CC8 .4byte MovementAction_JumpInPlaceUp_Step0 .4byte MovementAction_JumpInPlaceUp_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6CD4:: @ 83A6CD4 +sMovementActionFuncs_x54:: @ 83A6CD4 .4byte MovementAction_JumpInPlaceLeft_Step0 .4byte MovementAction_JumpInPlaceLeft_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6CE0:: @ 83A6CE0 +sMovementActionFuncs_x55:: @ 83A6CE0 .4byte MovementAction_JumpInPlaceRight_Step0 .4byte MovementAction_JumpInPlaceRight_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6CEC:: @ 83A6CEC +sMovementActionFuncs_x56:: @ 83A6CEC .4byte MovementAction_JumpInPlaceDownUp_Step0 .4byte MovementAction_JumpInPlaceDownUp_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6CF8:: @ 83A6CF8 +sMovementActionFuncs_x57:: @ 83A6CF8 .4byte MovementAction_JumpInPlaceUpDown_Step0 .4byte MovementAction_JumpInPlaceUpDown_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6D04:: @ 83A6D04 +sMovementActionFuncs_x58:: @ 83A6D04 .4byte MovementAction_JumpInPlaceLeftRight_Step0 .4byte MovementAction_JumpInPlaceLeftRight_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6D10:: @ 83A6D10 +sMovementActionFuncs_x59:: @ 83A6D10 .4byte MovementAction_JumpInPlaceRightLeft_Step0 .4byte MovementAction_JumpInPlaceRightLeft_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6D1C:: @ 83A6D1C +sMovementActionFuncs_x5A:: @ 83A6D1C .4byte MovementAction_FaceOriginalDirection_Step0 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6D24:: @ 83A6D24 +sMovementActionFuncs_x5B:: @ 83A6D24 .4byte MovementAction_NurseJoyBowDown_Step0 .4byte MovementAction_WaitSpriteAnim .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6D30:: @ 83A6D30 +sMovementActionFuncs_x5C:: @ 83A6D30 .4byte MovementAction_EnableJumpLandingGroundEffect_Step0 .4byte MovementAction_Finish -gUnknown_83A6D38:: @ 83A6D38 +sMovementActionFuncs_x5D:: @ 83A6D38 .4byte MovementAction_DisableJumpLandingGroundEffect_Step0 .4byte MovementAction_Finish -gUnknown_83A6D40:: @ 83A6D40 +sMovementActionFuncs_x5E:: @ 83A6D40 .4byte MovementAction_DisableAnimation_Step0 .4byte MovementAction_Finish -gUnknown_83A6D48:: @ 83A6D48 +sMovementActionFuncs_x5F:: @ 83A6D48 .4byte MovementAction_RestoreAnimation_Step0 .4byte MovementAction_Finish -gUnknown_83A6D50:: @ 83A6D50 +sMovementActionFuncs_x60:: @ 83A6D50 .4byte MovementAction_SetInvisible_Step0 .4byte MovementAction_Finish -gUnknown_83A6D58:: @ 83A6D58 +sMovementActionFuncs_x61:: @ 83A6D58 .4byte MovementAction_SetVisible_Step0 .4byte MovementAction_Finish -gUnknown_83A6D60:: @ 83A6D60 +sMovementActionFuncs_x62:: @ 83A6D60 .4byte MovementAction_EmoteExclamationMark_Step0 .4byte MovementAction_Finish -gUnknown_83A6D68:: @ 83A6D68 +sMovementActionFuncs_x63:: @ 83A6D68 .4byte MovementAction_EmoteQuestionMark_Step0 .4byte MovementAction_Finish -gUnknown_83A6D70:: @ 83A6D70 +sMovementActionFuncs_x64:: @ 83A6D70 .4byte MovementAction_EmoteHeart_Step0 .4byte MovementAction_Finish -gUnknown_83A6D78:: @ 83A6D78 - .4byte sub_806698C +sMovementActionFuncs_x65:: @ 83A6D78 + .4byte do_double_excl_bubble .4byte MovementAction_Finish -gUnknown_83A6D80:: @ 83A6D80 - .4byte sub_80669B0 +sMovementActionFuncs_x66:: @ 83A6D80 + .4byte do_smile_bubble .4byte MovementAction_Finish -gUnknown_83A6D88:: @ 83A6D88 +sMovementActionFuncs_x67:: @ 83A6D88 .4byte MovementAction_RevealTrainer_Step0 .4byte MovementAction_RevealTrainer_Step1 .4byte MovementAction_Finish -gUnknown_83A6D94:: @ 83A6D94 +sMovementActionFuncs_x68:: @ 83A6D94 .4byte MovementAction_RockSmashBreak_Step0 .4byte MovementAction_RockSmashBreak_Step1 .4byte MovementAction_RockSmashBreak_Step2 .4byte MovementAction_Finish -gUnknown_83A6DA4:: @ 83A6DA4 +sMovementActionFuncs_x69:: @ 83A6DA4 .4byte MovementAction_CutTree_Step0 .4byte MovementAction_CutTree_Step1 .4byte MovementAction_CutTree_Step2 .4byte MovementAction_Finish -gUnknown_83A6DB4:: @ 83A6DB4 +sMovementActionFuncs_x6A:: @ 83A6DB4 .4byte MovementAction_SetFixedPriority_Step0 .4byte MovementAction_Finish -gUnknown_83A6DBC:: @ 83A6DBC +sMovementActionFuncs_x6B:: @ 83A6DBC .4byte MovementAction_ClearFixedPriority_Step0 .4byte MovementAction_Finish -gUnknown_83A6DC4:: @ 83A6DC4 +sMovementActionFuncs_x6C:: @ 83A6DC4 .4byte MovementAction_InitAffineAnim_Step0 .4byte MovementAction_Finish -gUnknown_83A6DCC:: @ 83A6DCC +sMovementActionFuncs_x6D:: @ 83A6DCC .4byte MovementAction_ClearAffineAnim_Step0 .4byte MovementAction_Finish -gUnknown_83A6DD4:: @ 83A6DD4 +sMovementActionFuncs_x6E:: @ 83A6DD4 .4byte MovementAction_WalkDownStartAffine_Step0 .4byte MovementAction_WalkDownStartAffine_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6DE0:: @ 83A6DE0 +sMovementActionFuncs_x6F:: @ 83A6DE0 .4byte MovementAction_WalkDownAffine_Step0 .4byte MovementAction_WalkDownAffine_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6DEC:: @ 83A6DEC - .4byte sub_8066CB0 +sMovementActionFuncs_x70:: @ 83A6DEC + .4byte MovementActionFunc_x70_0 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6DF4:: @ 83A6DF4 - .4byte sub_8066CC0 +sMovementActionFuncs_x71:: @ 83A6DF4 + .4byte MovementActionFunc_x71_0 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6DFC:: @ 83A6DFC - .4byte sub_8066CD0 +sMovementActionFuncs_x72:: @ 83A6DFC + .4byte MovementActionFunc_x72_0 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6E04:: @ 83A6E04 - .4byte sub_8066CE0 +sMovementActionFuncs_x73:: @ 83A6E04 + .4byte MovementActionFunc_x73_0 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6E0C:: @ 83A6E0C +sMovementActionFuncs_x74:: @ 83A6E0C .4byte MovementAction_AcroPopWheelieDown_Step0 .4byte MovementAction_WaitSpriteAnim .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6E18:: @ 83A6E18 +sMovementActionFuncs_x75:: @ 83A6E18 .4byte MovementAction_AcroPopWheelieUp_Step0 .4byte MovementAction_WaitSpriteAnim .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6E24:: @ 83A6E24 +sMovementActionFuncs_x76:: @ 83A6E24 .4byte MovementAction_AcroPopWheelieLeft_Step0 .4byte MovementAction_WaitSpriteAnim .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6E30:: @ 83A6E30 +sMovementActionFuncs_x77:: @ 83A6E30 .4byte MovementAction_AcroPopWheelieRight_Step0 .4byte MovementAction_WaitSpriteAnim .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6E3C:: @ 83A6E3C +sMovementActionFuncs_x78:: @ 83A6E3C .4byte MovementAction_AcroEndWheelieFaceDown_Step0 .4byte MovementAction_WaitSpriteAnim .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6E48:: @ 83A6E48 +sMovementActionFuncs_x79:: @ 83A6E48 .4byte MovementAction_AcroEndWheelieFaceUp_Step0 .4byte MovementAction_WaitSpriteAnim .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6E54:: @ 83A6E54 +sMovementActionFuncs_x7A:: @ 83A6E54 .4byte MovementAction_AcroEndWheelieFaceLeft_Step0 .4byte MovementAction_WaitSpriteAnim .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6E60:: @ 83A6E60 +sMovementActionFuncs_x7B:: @ 83A6E60 .4byte MovementAction_AcroEndWheelieFaceRight_Step0 .4byte MovementAction_WaitSpriteAnim .4byte MovementAction_PauseSpriteAnim @@ -9016,168 +9019,231 @@ gUnknown_83A6E60:: @ 83A6E60 .4byte MovementAction_WaitSpriteAnim .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6E9C:: @ 83A6E9C +sMovementActionFuncs_x7C:: @ 83A6E9C .4byte MovementAction_AcroWheelieHopFaceDown_Step0 .4byte MovementAction_AcroWheelieHopFaceDown_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6EA8:: @ 83A6EA8 +sMovementActionFuncs_x7D:: @ 83A6EA8 .4byte MovementAction_AcroWheelieHopFaceUp_Step0 .4byte MovementAction_AcroWheelieHopFaceUp_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6EB4:: @ 83A6EB4 +sMovementActionFuncs_x7E:: @ 83A6EB4 .4byte MovementAction_AcroWheelieHopFaceLeft_Step0 .4byte MovementAction_AcroWheelieHopFaceLeft_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6EC0:: @ 83A6EC0 +sMovementActionFuncs_x7F:: @ 83A6EC0 .4byte MovementAction_AcroWheelieHopFaceRight_Step0 .4byte MovementAction_AcroWheelieHopFaceRight_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6ECC:: @ 83A6ECC +sMovementActionFuncs_x80:: @ 83A6ECC .4byte MovementAction_AcroWheelieHopDown_Step0 .4byte MovementAction_AcroWheelieHopDown_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6ED8:: @ 83A6ED8 +sMovementActionFuncs_x81:: @ 83A6ED8 .4byte MovementAction_AcroWheelieHopUp_Step0 .4byte MovementAction_AcroWheelieHopUp_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6EE4:: @ 83A6EE4 +sMovementActionFuncs_x82:: @ 83A6EE4 .4byte MovementAction_AcroWheelieHopLeft_Step0 .4byte MovementAction_AcroWheelieHopLeft_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6EF0:: @ 83A6EF0 +sMovementActionFuncs_x83:: @ 83A6EF0 .4byte MovementAction_AcroWheelieHopRight_Step0 .4byte MovementAction_AcroWheelieHopRight_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6EFC:: @ 83A6EFC +sMovementActionFuncs_x84:: @ 83A6EFC .4byte MovementAction_AcroWheelieJumpDown_Step0 .4byte MovementAction_AcroWheelieJumpDown_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6F08:: @ 83A6F08 +sMovementActionFuncs_x85:: @ 83A6F08 .4byte MovementAction_AcroWheelieJumpUp_Step0 .4byte MovementAction_AcroWheelieJumpUp_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6F14:: @ 83A6F14 +sMovementActionFuncs_x86:: @ 83A6F14 .4byte MovementAction_AcroWheelieJumpLeft_Step0 .4byte MovementAction_AcroWheelieJumpLeft_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6F20:: @ 83A6F20 +sMovementActionFuncs_x87:: @ 83A6F20 .4byte MovementAction_AcroWheelieJumpRight_Step0 .4byte MovementAction_AcroWheelieJumpRight_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6F2C:: @ 83A6F2C - .4byte sub_8067304 +sMovementActionFuncs_x88:: @ 83A6F2C + .4byte MovementActionFunc_x88_0 .4byte MovementAction_WalkInPlace_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6F38:: @ 83A6F38 - .4byte sub_806733C +sMovementActionFuncs_x89:: @ 83A6F38 + .4byte MovementActionFunc_x89_0 .4byte MovementAction_WalkInPlace_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6F44:: @ 83A6F44 - .4byte sub_8067374 +sMovementActionFuncs_x8A:: @ 83A6F44 + .4byte MovementActionFunc_x8A_0 .4byte MovementAction_WalkInPlace_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6F50:: @ 83A6F50 - .4byte sub_80673AC +sMovementActionFuncs_x8B:: @ 83A6F50 + .4byte MovementActionFunc_x8B_0 .4byte MovementAction_WalkInPlace_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6F5C:: @ 83A6F5C +sMovementActionFuncs_x8C:: @ 83A6F5C .4byte MovementAction_AcroPopWheelieMoveDown_Step0 .4byte MovementAction_AcroPopWheelieMoveDown_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6F68:: @ 83A6F68 +sMovementActionFuncs_x8D:: @ 83A6F68 .4byte MovementAction_AcroPopWheelieMoveUp_Step0 .4byte MovementAction_AcroPopWheelieMoveUp_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6F74:: @ 83A6F74 +sMovementActionFuncs_x8E:: @ 83A6F74 .4byte MovementAction_AcroPopWheelieMoveLeft_Step0 .4byte MovementAction_AcroPopWheelieMoveLeft_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6F80:: @ 83A6F80 +sMovementActionFuncs_x8F:: @ 83A6F80 .4byte MovementAction_AcroPopWheelieMoveRight_Step0 .4byte MovementAction_AcroPopWheelieMoveRight_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6F8C:: @ 83A6F8C +sMovementActionFuncs_x90:: @ 83A6F8C .4byte MovementAction_AcroWheelieMoveDown_Step0 .4byte MovementAction_AcroWheelieMoveDown_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6F98:: @ 83A6F98 +sMovementActionFuncs_x91:: @ 83A6F98 .4byte MovementAction_AcroWheelieMoveUp_Step0 .4byte MovementAction_AcroWheelieMoveUp_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6FA4:: @ 83A6FA4 +sMovementActionFuncs_x92:: @ 83A6FA4 .4byte MovementAction_AcroWheelieMoveLeft_Step0 .4byte MovementAction_AcroWheelieMoveLeft_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6FB0:: @ 83A6FB0 +sMovementActionFuncs_x93:: @ 83A6FB0 .4byte MovementAction_AcroWheelieMoveRight_Step0 .4byte MovementAction_AcroWheelieMoveRight_Step1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6FBC:: @ 83A6FBC - .4byte sub_8067684 - .4byte sub_80676A4 +sMovementActionFuncs_x94:: @ 83A6FBC + .4byte MovementActionFunc_x94_0 + .4byte MovementActionFunc_x94_1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6FC8:: @ 83A6FC8 - .4byte sub_80676C4 - .4byte sub_80676E4 +sMovementActionFuncs_x95:: @ 83A6FC8 + .4byte MovementActionFunc_x95_0 + .4byte MovementActionFunc_x95_1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6FD4:: @ 83A6FD4 - .4byte sub_8067704 - .4byte sub_8067724 +sMovementActionFuncs_x96:: @ 83A6FD4 + .4byte MovementActionFunc_x96_0 + .4byte MovementActionFunc_x96_1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6FE0:: @ 83A6FE0 - .4byte sub_8067744 - .4byte sub_8067764 +sMovementActionFuncs_x97:: @ 83A6FE0 + .4byte MovementActionFunc_x97_0 + .4byte MovementActionFunc_x97_1 .4byte MovementAction_PauseSpriteAnim -gUnknown_83A6FEC:: @ 83A6FEC - .4byte sub_8067784 - .4byte sub_80677C0 +sMovementActionFuncs_x98:: @ 83A6FEC + .4byte MovementActionFunc_x98_0 + .4byte MovementActionFunc_x98_1 -gUnknown_83A6FF4:: @ 83A6FF4 - .4byte sub_8067784 - .4byte sub_80677CC +sMovementActionFuncs_x99:: @ 83A6FF4 + .4byte MovementActionFunc_x98_0 + .4byte MovementActionFunc_x99_1 -gUnknown_83A6FFC:: @ 83A6FFC - .4byte sub_8067784 - .4byte sub_80678C0 +sMovementActionFuncs_x9A:: @ 83A6FFC + .4byte MovementActionFunc_x98_0 + .4byte MovementActionFunc_x9A_1 -gUnknown_83A7004:: @ 83A7004 - .4byte sub_80678F0 - .4byte sub_8067924 +sMovementActionFuncs_x9F:: @ 83A7004 + .4byte MovementActionFunc_x9F_0 + .4byte MovementActionFunc_x9F_1 -gUnknown_83A700C:: @ 83A700C - .4byte sub_8067944 - .4byte sub_8067954 - .4byte sub_80679A8 +sMovementActionFuncs_xA4:: @ 83A700C + .4byte MovementActionFunc_xA4_0 + .4byte MovementActionFunc_xA4_1 + .4byte MovementActionFunc_xA4_2 -gUnknown_83A7018:: @ 83A7018 - .4byte sub_8067978 - .4byte sub_806798C - .4byte sub_80679A8 +sMovementActionFuncs_xA5:: @ 83A7018 + .4byte MovementActionFunc_xA5_0 + .4byte MovementActionFunc_xA5_1 + .4byte MovementActionFunc_xA4_2 + + .align 2 +gUnknown_83A7024:: @ 83A7024 + .4byte 0x00000020, 0x00000010 + +gUnknown_83A702C:: @ 83A702C + .4byte MetatileBehavior_IsTallGrass_2 + .4byte MetatileBehavior_IsLongGrass + .4byte MetatileBehavior_IsPuddle + .4byte MetatileBehavior_IsSurfable + .4byte MetatileBehavior_IsWaterfallBottom + .4byte MetatileBehavior_UnusedReturnTrue + +gUnknown_83A7044:: @ 83A7044 + .4byte 0x00001000, 0x00002000, 0x00004000, 0x00008000, 0x00004000, 0x00010000 + +gUnknown_83A705C:: @ 83A705C + .4byte MetatileBehavior_IsJumpSouth + .4byte MetatileBehavior_IsJumpNorth + .4byte MetatileBehavior_IsJumpWest + .4byte MetatileBehavior_IsJumpEast + +gUnknown_83A706C:: @ 83A706C + .byte 0x73, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x00, 0x00, 0x73 + +gUnknown_83A707C:: @ 83A707C + .byte 0x02, 0x02, 0x02, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x02 + +gUnknown_83A708C:: @ 83A708C + .byte 0x01, 0x01, 0x01, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x01 + +gUnknown_83A709C:: @ 83A709C + .4byte nullsub_26 + .4byte DoTracksGroundEffect_Footprints + .4byte DoTracksGroundEffect_BikeTireTracks + +gUnknown_83A70A8:: @ 83A70A8 + .byte 0x0d, 0x00, 0x18, 0x00 + +gUnknown_83A70AC:: @ 83A70AC + .byte 0x01, 0x02, 0x07, 0x08, 0x01, 0x02, 0x06, 0x05, 0x05, 0x08, 0x03, 0x04, 0x06, 0x07, 0x03, 0x04 + +gUnknown_83A70BC:: @ 83A70BC + .4byte GroundEffect_SpawnOnTallGrass + .4byte GroundEffect_StepOnTallGrass + .4byte GroundEffect_SpawnOnLongGrass + .4byte GroundEffect_StepOnLongGrass + .4byte GroundEffect_WaterReflection + .4byte GroundEffect_IceReflection + .4byte GroundEffect_FlowingWater + .4byte GroundEffect_SandTracks + .4byte GroundEffect_DeepSandTracks + .4byte GroundEffect_Ripple + .4byte GroundEffect_StepOnPuddle + .4byte GroundEffect_SandHeap + .4byte GroundEffect_JumpOnTallGrass + .4byte GroundEffect_JumpOnLongGrass + .4byte GroundEffect_JumpOnShallowWater + .4byte GroundEffect_JumpOnWater + .4byte GroundEffect_JumpLandingDust + .4byte GroundEffect_ShortGrass + .4byte GroundEffect_HotSprings + .4byte GroundEffect_Seaweed diff --git a/data/event_scripts.s b/data/event_scripts.s index e28093686..0940cf955 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -17,19 +17,25 @@ #include "constants/spawn_points.h" #include "constants/field_effects.h" #include "constants/trainers.h" -#include "constants/object_events.h" +#include "constants/trainer_tower.h" #include "constants/fame_checker.h" #include "constants/seagallop.h" #include "constants/game_stat.h" +#include "constants/coins.h" #include "constants/menu.h" #include "constants/battle_setup.h" #include "constants/map_scripts.h" #include "constants/cable_club.h" +#include "constants/field_tasks.h" #include "constants/field_weather.h" +#include "constants/weather.h" #include "constants/union_room.h" #include "constants/trade.h" #include "constants/quest_log.h" #include "constants/daycare.h" +#include "constants/easy_chat.h" +#include "constants/trainer_card.h" +#include "constants/help_system.h" .include "asm/macros.inc" .include "asm/macros/event.inc" .set FALSE, 0 @@ -61,7 +67,7 @@ gSpecialVars:: @ 815FD0C .4byte gSpecialVar_MonBoxPos .4byte gSpecialVar_TextColor .4byte gSpecialVar_PrevTextColor - .4byte gUnknown_20370DE + .4byte gSpecialVar_0x8014 .include "data/specials.inc" @@ -208,17 +214,17 @@ gStdScriptsEnd:: .include "data/maps/SixIsland_PatternBush/scripts.inc" .include "data/maps/SixIsland_AlteringCave/scripts.inc" .include "data/maps/NavelRock_Exterior/scripts.inc" - .include "data/maps/SevenIsland_TrainerTower_1F/scripts.inc" - .include "data/maps/SevenIsland_TrainerTower_2F/scripts.inc" - .include "data/maps/SevenIsland_TrainerTower_3F/scripts.inc" - .include "data/maps/SevenIsland_TrainerTower_4F/scripts.inc" - .include "data/maps/SevenIsland_TrainerTower_5F/scripts.inc" - .include "data/maps/SevenIsland_TrainerTower_6F/scripts.inc" - .include "data/maps/SevenIsland_TrainerTower_7F/scripts.inc" - .include "data/maps/SevenIsland_TrainerTower_8F/scripts.inc" - .include "data/maps/SevenIsland_TrainerTower_Roof/scripts.inc" - .include "data/maps/SevenIsland_TrainerTower_Lobby/scripts.inc" - .include "data/maps/SevenIsland_TrainerTower_Elevator/scripts.inc" + .include "data/maps/TrainerTower_1F/scripts.inc" + .include "data/maps/TrainerTower_2F/scripts.inc" + .include "data/maps/TrainerTower_3F/scripts.inc" + .include "data/maps/TrainerTower_4F/scripts.inc" + .include "data/maps/TrainerTower_5F/scripts.inc" + .include "data/maps/TrainerTower_6F/scripts.inc" + .include "data/maps/TrainerTower_7F/scripts.inc" + .include "data/maps/TrainerTower_8F/scripts.inc" + .include "data/maps/TrainerTower_Roof/scripts.inc" + .include "data/maps/TrainerTower_Lobby/scripts.inc" + .include "data/maps/TrainerTower_Elevator/scripts.inc" .include "data/maps/FiveIsland_LostCave_Entrance/scripts.inc" .include "data/maps/FiveIsland_LostCave_Room1/scripts.inc" .include "data/maps/FiveIsland_LostCave_Room2/scripts.inc" @@ -278,7 +284,7 @@ gStdScriptsEnd:: .include "data/maps/CinnabarIsland/scripts.inc" .include "data/maps/IndigoPlateau_Exterior/scripts.inc" .include "data/maps/SaffronCity/scripts.inc" - .include "data/maps/SaffronCity_Classic/scripts.inc" + .include "data/maps/SaffronCity_Connection/scripts.inc" .include "data/maps/OneIsland/scripts.inc" .include "data/maps/TwoIsland/scripts.inc" .include "data/maps/ThreeIsland/scripts.inc" @@ -317,10 +323,10 @@ gStdScriptsEnd:: .include "data/maps/TwoIsland_CapeBrink/scripts.inc" .include "data/maps/ThreeIsland_BondBridge/scripts.inc" .include "data/maps/ThreeIsland_Port/scripts.inc" - .include "data/maps/UnknownMap_03_50/scripts.inc" - .include "data/maps/UnknownMap_03_51/scripts.inc" - .include "data/maps/UnknownMap_03_52/scripts.inc" - .include "data/maps/UnknownMap_03_53/scripts.inc" + .include "data/maps/Prototype_SeviiIsle_6/scripts.inc" + .include "data/maps/Prototype_SeviiIsle_7/scripts.inc" + .include "data/maps/Prototype_SeviiIsle_8/scripts.inc" + .include "data/maps/Prototype_SeviiIsle_9/scripts.inc" .include "data/maps/FiveIsland_ResortGorgeous/scripts.inc" .include "data/maps/FiveIsland_WaterLabyrinth/scripts.inc" .include "data/maps/FiveIsland_Meadow/scripts.inc" @@ -415,15 +421,15 @@ gStdScriptsEnd:: .include "data/maps/CinnabarIsland_Mart/scripts.inc" .include "data/maps/IndigoPlateau_PokemonCenter_1F/scripts.inc" .include "data/maps/IndigoPlateau_PokemonCenter_2F/scripts.inc" - .include "data/maps/SaffronCity_House1_1F/scripts.inc" - .include "data/maps/SaffronCity_House1_2F/scripts.inc" + .include "data/maps/SaffronCity_CopycatsHouse_1F/scripts.inc" + .include "data/maps/SaffronCity_CopycatsHouse_2F/scripts.inc" .include "data/maps/SaffronCity_Dojo/scripts.inc" .include "data/maps/SaffronCity_Gym/scripts.inc" - .include "data/maps/SaffronCity_House2/scripts.inc" + .include "data/maps/SaffronCity_House/scripts.inc" .include "data/maps/SaffronCity_Mart/scripts.inc" .include "data/maps/SaffronCity_PokemonCenter_1F/scripts.inc" .include "data/maps/SaffronCity_PokemonCenter_2F/scripts.inc" - .include "data/maps/SaffronCity_House3/scripts.inc" + .include "data/maps/SaffronCity_MrPsychicsHouse/scripts.inc" .include "data/maps/SaffronCity_PokemonTrainerFanClub/scripts.inc" .include "data/maps/Route2_ViridianForest_SouthEntrance/scripts.inc" .include "data/maps/Route2_House/scripts.inc" @@ -593,7 +599,7 @@ gStdScriptsEnd:: .include "data/maps/FiveIsland_RocketWarehouse/text.inc" .include "data/maps/SixIsland_DottedHole_SapphireRoom/text.inc" .include "data/maps/SixIsland_PatternBush/text.inc" - .include "data/maps/SevenIsland_TrainerTower_Lobby/text.inc" + .include "data/maps/TrainerTower_Lobby/text.inc" .include "data/maps/FiveIsland_LostCave_Room1/text.inc" .include "data/maps/FiveIsland_LostCave_Room4/text.inc" .include "data/maps/FiveIsland_LostCave_Room10/text.inc" @@ -658,6 +664,7 @@ gStdScriptsEnd:: .include "data/maps/SevenIsland_TrainerTower/text.inc" .include "data/maps/SevenIsland_SevaultCanyon_Entrance/text.inc" .include "data/maps/SevenIsland_SevaultCanyon/text.inc" + .include "data/maps/SevenIsland_TanobyRuins/text.inc" .include "data/maps/PalletTown_PlayersHouse_1F/text.inc" .include "data/maps/PalletTown_PlayersHouse_2F/text.inc" .include "data/maps/PalletTown_GarysHouse/text.inc" @@ -730,14 +737,14 @@ gStdScriptsEnd:: .include "data/maps/CinnabarIsland_PokemonCenter_1F/text.inc" .include "data/maps/CinnabarIsland_Mart/text.inc" .include "data/maps/IndigoPlateau_PokemonCenter_1F/text.inc" - .include "data/maps/SaffronCity_House1_1F/text.inc" - .include "data/maps/SaffronCity_House1_2F/text.inc" + .include "data/maps/SaffronCity_CopycatsHouse_1F/text.inc" + .include "data/maps/SaffronCity_CopycatsHouse_2F/text.inc" .include "data/maps/SaffronCity_Dojo/text.inc" .include "data/maps/SaffronCity_Gym/text.inc" - .include "data/maps/SaffronCity_House2/text.inc" + .include "data/maps/SaffronCity_House/text.inc" .include "data/maps/SaffronCity_Mart/text.inc" .include "data/maps/SaffronCity_PokemonCenter_1F/text.inc" - .include "data/maps/SaffronCity_House3/text.inc" + .include "data/maps/SaffronCity_MrPsychicsHouse/text.inc" .include "data/maps/SaffronCity_PokemonTrainerFanClub/text.inc" .include "data/maps/Route2_ViridianForest_SouthEntrance/text.inc" .include "data/maps/Route2_House/text.inc" @@ -790,6 +797,7 @@ gStdScriptsEnd:: .include "data/maps/SixIsland_House/text.inc" .include "data/maps/SixIsland_Mart/text.inc" .include "data/maps/FiveIsland_ResortGorgeous_House/text.inc" + .include "data/maps/TwoIsland_CapeBrink_House/text.inc" .include "data/maps/SixIsland_WaterPath_House1/text.inc" .include "data/maps/SixIsland_WaterPath_House2/text.inc" .include "data/maps/SevenIsland_SevaultCanyon_House/text.inc" @@ -806,33 +814,20 @@ Text_WouldYouLikeToMixRecords:: @ 81A5028 Text_WeHopeToSeeYouAgain2:: @ 81A505B .string "We hope to see you again!$" -Text_BootedUpPC:: @ 81A5075 - .string "{PLAYER} booted up the PC.$" + .include "data/text/pc.inc" -Text_AccessWhichPC:: @ 81A508A - .string "Which PC should be accessed?$" - -Text_AccessedSomeonesPC:: @ 81A50A7 - .string "Accessed Someone's PC.$" - -Text_OpenedPkmnStorage:: @ 81A50BE - .string "POKéMON Storage System opened.$" - -Text_AccessedPlayersPC:: @ 81A50DD - .string "Accessed {PLAYER}'s PC.$" - -Text_AccessedBillsPC:: @ 81A50EF - .string "Accessed BILL's PC.$" - -Text_1A5103:: @ 81A5103 +@ Unused +Text_WelcomeTradeCenter:: @ 81A5103 .string "Welcome to the POKéMON CABLE CLUB\n" .string "TRADE CENTER.$" -Text_1A5133:: @ 81A5133 +@ Unused +Text_WelcomeColosseum:: @ 81A5133 .string "Welcome to the POKéMON CABLE CLUB\n" .string "COLOSSEUM.$" -Text_1A5160:: @ 81A5160 +@ Unused +Text_WelcomeTimeCapsule:: @ 81A5160 .string "Welcome to the POKéMON CABLE CLUB\n" .string "TIME CAPSULE.$" @@ -851,7 +846,7 @@ Text_PlayerWhatCanIDoForYou:: @ 81A51D0 .include "data/text/obtain_item.inc" -Text_1A5351:: @ 81A5351 +Text_MakingPreparations:: @ 81A5351 .string "じゅんびちゅうです!$" Text_WantWhichFloor:: @ 81A535C @@ -861,7 +856,8 @@ Text_BagItemCanBeRegistered:: @ 81A5375 .string "An item in the BAG can be\n" .string "registered to SELECT for easy use.$" -Text_1A53B2:: @ 81A53B2 +@ Unused (email from R/S Rivals computer) +Text_TrainerSchoolEmail:: @ 81A53B2 .string "パソコンに\n" .string "ポケモン トレーナー こうざの\l" .string "メールが きている!\p" @@ -874,7 +870,8 @@ Text_1A53B2:: @ 81A53B2 Text_PlayerBootedUpPC:: @ 81A5420 .string "{PLAYER} booted up the PC.$" -Text_1A5435:: @ 81A5435 +@ Unused +Text_LinkWasCanceled:: @ 81A5435 .string "つうしんは キャンセルされました$" @ Unused @@ -924,7 +921,7 @@ Text_AppearsToBeUndergoingAdjustments:: @ 81A5667 .string "It appears to be undergoing\n" .string "adjustments…$" -Text_1A5690:: @ 81A5690 +Text_HandedOverItem:: @ 81A5690 .string "{PLAYER} handed over the\n" .string "{STR_VAR_1}.$" @@ -932,16 +929,7 @@ Text_GiveNicknameToThisMon:: @ 81A56A7 .string "Do you want to give a nickname to\n" .string "this {STR_VAR_1}?$" -Text_1A56D2:: @ 81A56D2 - .string "おッ! ダウジングマシンが\n" - .string "はんのう してるぞ!\p" - .string "ましたに どうぐが うまってる!\n" - .string "‥‥‥$" - -Text_DugUpItemFromGround:: @ 81A5700 - .string "{PLAYER} dug up one {STR_VAR_2}\n" - .string "from deep in the ground.$" - + .include "data/text/itemfinder.inc" .include "data/text/route23.inc" .include "data/text/aide.inc" .include "data/text/ingame_trade.inc" @@ -966,96 +954,43 @@ Text_HavePokedexRated:: @ 81A5C03 Text_ClosedLinkToProfOaksPC:: @ 81A5C2E .string "Closed link to PROF. OAK's PC.$" -Text_1A5C4D:: @ 81A5C4D +Text_VoiceRangOutDontRunAway:: @ 81A5C4D .string "Someone's voice rang out,\n" .string "“Don't run away!”$" -Text_1A5C79:: @ 81A5C79 +@ Uncear what the below unused JP texts were for +Text_IdLikeToSeeRequest:: @ 81A5C79 .string "えっとー\n" .string "{STR_VAR_2}が みてみたいなー\p" .string "それも {STR_VAR_1}{STR_VAR_3}\n" .string "{STR_VAR_2}が みてみたいなー$" -Text_1A5C9F:: @ 81A5C9F +Text_ThankYouForShowingMe:: @ 81A5C9F .string "わぁー すごい!\n" .string "{STR_VAR_1}{STR_VAR_3}{STR_VAR_2}だー!\p" .string "ありがとー\n" .string "また よろしくねー!$" -Text_1A5CC3:: @ 81A5CC3 +Text_ThatsNotRight:: @ 81A5CC3 .string "それっ ちがうよー!$" -Text_1A5CCE:: @ 81A5CCE +Text_ISee:: @ 81A5CCE .string "そっか‥$" -Text_1A5CD3:: @ 81A5CD3 +Text_TheDoorIsClosed:: @ 81A5CD3 .string "ドアは しまっている‥$" Text_TheDoorIsOpen:: @ 81A5CDF .string "The door is open…$" .include "data/text/pc_transfer.inc" - -Text_1A5E89:: @ 81A5E89 - .string "First, you should restore your\n" - .string "POKéMON to full health.$" - -Text_1A5EC0:: @ 81A5EC0 - .string "Your POKéMON have been healed\n" - .string "to perfect health.\p" - .string "If your POKéMON's energy, HP,\n" - .string "is down, please come see us.\p" - .string "If you're planning to go far in the\n" - .string "field, you should buy some POTIONS\l" - .string "at the POKéMON MART.\p" - .string "We hope you excel!$" - -Text_1A5F9B:: @ 81A5F9B - .string "Your POKéMON have been healed\n" - .string "to perfect health.\p" - .string "We hope you excel!$" - -Text_1A5FDF:: @ 81A5FDF - .string "MOM: {PLAYER}!\n" - .string "Welcome home.\p" - .string "It sounds like you had quite\n" - .string "an experience.\p" - .string "Maybe you should take a quick\n" - .string "rest.$" - -Text_1A6046:: @ 81A6046 - .string "MOM: Oh, good! You and your\n" - .string "POKéMON are looking great.\p" - .string "I just heard from PROF. OAK.\p" - .string "He said that POKéMON's energy is\n" - .string "measured in HP.\p" - .string "If your POKéMON lose their HP,\n" - .string "you can restore them at any\l" - .string "POKéMON CENTER.\p" - .string "If you're going to travel far away,\n" - .string "the smart TRAINER stocks up on\l" - .string "POTIONS at the POKéMON MART.\p" - .string "Make me proud, honey!\p" - .string "Take care!$" - -Text_1A6197:: @ 81A6197 - .string "{PLAYER} is out of usable\n" - .string "POKéMON!\p" - .string "{PLAYER} panicked and lost ¥{STR_VAR_1}…\p" - .string "… … … …\p" - .string "{PLAYER} whited out!$" - -Text_1A61E5:: @ 81A61E5 - .string "{PLAYER} is out of usable\n" - .string "POKéMON!\p" - .string "{PLAYER} whited out!$" - + .include "data/text/white_out.inc" .include "data/text/poke_mart.inc" Text_MonFlewAway:: @ 81A63C4 .string "The {STR_VAR_1} flew away!$" -Text_1A63D6:: @ 81A63D6 +Text_TheresBedLetsRest:: @ 81A63D6 .string "ベッドが ある‥‥\n" .string "やすんでいこう$" @@ -1126,53 +1061,14 @@ EventScript_ResetAllMapFlags:: @ 81A6481 setvar VAR_MASSAGE_COOLDOWN_STEP_COUNTER, 500 end -EventScript_1A651A:: @ 81A651A - clearflag FLAG_HIDE_POSTGAME_GOSSIPERS - call EventScript_ResetEliteFour - special Special_UpdateTrainerFanClubGameClear - specialvar VAR_RESULT, IsNationalPokedexEnabled - compare VAR_RESULT, FALSE - call_if_eq EventScript_1A653B - call EventScript_ResetLegendaries - return - -EventScript_1A653B:: @ 81A653B - setvar VAR_MAP_SCENE_PALLET_TOWN_OAK, 2 - return - -EventScript_ResetLegendaries:: @ 81A6541 - clearflag FLAG_LUGIA_FLEW_AWAY - clearflag FLAG_HO_OH_FLEW_AWAY - clearflag FLAG_DEOXYS_FLEW_AWAY - return - -gUnknown_81A654B:: @ 81A654B - call EventScript_ResetEliteFour - end - -EventScript_ResetEliteFour:: @ 81A6551 - clearflag FLAG_DEFEATED_LORELEI - clearflag FLAG_DEFEATED_BRUNO - clearflag FLAG_DEFEATED_AGATHA - clearflag FLAG_DEFEATED_LANCE - clearflag FLAG_DEFEATED_CHAMP - cleartrainerflag TRAINER_CHAMPION_FIRST_SQUIRTLE - cleartrainerflag TRAINER_CHAMPION_FIRST_BULBASAUR - cleartrainerflag TRAINER_CHAMPION_FIRST_CHARMANDER - cleartrainerflag TRAINER_CHAMPION_REMATCH_SQUIRTLE - cleartrainerflag TRAINER_CHAMPION_REMATCH_BULBASAUR - cleartrainerflag TRAINER_CHAMPION_REMATCH_CHARMANDER - setvar VAR_MAP_SCENE_POKEMON_LEAGUE, 0 - return - + .include "data/scripts/hall_of_fame.inc" .include "data/scripts/pkmn_center_nurse.inc" .include "data/scripts/obtain_item.inc" .include "data/scripts/pc.inc" -@ DoEasyChatScreen? -EventScript_1A6AC0:: @ 81A6AC0 +Common_ShowEasyChatScreen:: @ 81A6AC0 fadescreen FADE_TO_BLACK - special sub_80FEE44 + special ShowEasyChatScreen fadescreen FADE_FROM_BLACK return @@ -1199,49 +1095,14 @@ EventScript_WallTownMap:: @ 81A6C32 msgbox Text_ATownMap goto_if_questlog EventScript_ReleaseEnd fadescreen FADE_TO_BLACK - special Special_TownMap + special ShowTownMap waitstate releaseall end .include "data/text/pokedex_rating.inc" .include "data/scripts/pokedex_rating.inc" - -EventScript_1A7493:: @ 81A7493 - lockall - setvar VAR_TEMP_1, 1 - goto EventScript_1A74B7 - end - -EventScript_1A749F:: @ 81A749F - lockall - setvar VAR_TEMP_2, 1 - goto EventScript_1A74B7 - end - -EventScript_1A74AB:: @ 81A74AB - lockall - setvar VAR_TEMP_3, 1 - goto EventScript_1A74B7 - end - -EventScript_1A74B7:: @ 81A74B7 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 1 - setvar VAR_0x8006, 8 - setvar VAR_0x8007, 5 - special Special_ShakeScreen - waitstate - releaseall - end - -EventScript_1A74D1:: @ 81A74D1 - setvar VAR_TEMP_1, 1 - setvar VAR_TEMP_2, 1 - setvar VAR_TEMP_3, 1 - setvar VAR_TEMP_4, 1 - setvar VAR_TEMP_5, 1 - return + .include "data/scripts/cave_of_origin.inc" EventScript_ChangePokemonNickname:: @ 81A74EB fadescreen FADE_TO_BLACK @@ -1249,131 +1110,20 @@ EventScript_ChangePokemonNickname:: @ 81A74EB waitstate return -EventScript_1A74F2:: @ 81A74F2 +@ Unused +EventScript_HandOverItem:: @ 81A74F2 getitemname 0, VAR_0x8004 playfanfare MUS_ME_WAZA - message Text_1A5690 + message Text_HandedOverItem waitmessage waitfanfare removeitem VAR_0x8004, 1 return -EventScript_1A7506:: @ 81A7506 - applymovement OBJ_EVENT_ID_PLAYER, Movement_Delay32 - waitmovement 0 - playse SE_DOOR - call EventScript_1A7538 - special DrawWholeMapView - setflag FLAG_TEMP_4 - return - -EventScript_1A751F:: @ 81A751F - applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkUp5 - waitmovement 0 - setflag FLAG_TEMP_2 - playse SE_KI_GASYAN - call EventScript_1A759C - special DrawWholeMapView - return - -EventScript_1A7538:: @ 81A7538 - setmetatile 6, 1, 654, 1 - setmetatile 6, 2, 662, 0 - return - -EventScript_1A754B:: @ 81A754B - lockall - textcolor 0 - msgbox Text_1A5C4D - closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_1A75D3 - waitmovement 0 - releaseall - end - -EventScript_1A7563:: @ 81A7563 - applymovement OBJ_EVENT_ID_PLAYER, Movement_Delay32 - waitmovement 0 - playse SE_DOOR - setmetatile 6, 4, 654, 1 - setmetatile 6, 5, 662, 0 - special DrawWholeMapView - setflag FLAG_TEMP_4 - return - -EventScript_1A7589:: @ 81A7589 - setmetatile 6, 4, 654, 1 - setmetatile 6, 5, 662, 0 - return - -EventScript_1A759C:: @ 81A759C - setmetatile 5, 11, 669, 1 - setmetatile 6, 11, 670, 1 - setmetatile 7, 11, 671, 1 - setmetatile 5, 12, 677, 1 - setmetatile 6, 12, 678, 1 - setmetatile 7, 12, 679, 1 - return - -Movement_1A75D3:: @ 81A75D3 - walk_up - step_end - -EventScript_1A75D5:: @ 81A75D5 - special Special_PokemonLeagueLightingEffect - return - + .include "data/scripts/pokemon_league.inc" .include "data/scripts/movement.inc" .include "data/scripts/flavor_text.inc" - -gUnknown_81A7702:: @ 81A7702 - lockall - textcolor 3 - msgbox Text_FillOutQuestionnaire, MSGBOX_YESNO - compare VAR_RESULT, NO - goto_if_eq EventScript_1A778A - setvar VAR_0x8004, 14 - call EventScript_1A6AC0 - lock - faceplayer - specialvar VAR_0x8008, Special_GetMartClerkObjectId - textcolor 0 - compare VAR_0x8004, 0 - goto_if_eq EventScript_1A774D - compare VAR_RESULT, 0 - goto_if_eq EventScript_1A778A - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A778C - end - -EventScript_1A774D:: @ 81A774D - applymovement VAR_0x8008, Movement_FaceDown - waitmovement 0 - playse SE_PIN - applymovement VAR_0x8008, Movement_ExclamationMark - waitmovement 0 - applymovement VAR_0x8008, Movement_Delay48 - waitmovement 0 - msgbox Text_YouKnowThoseWords - setflag FLAG_SYS_MYSTERY_GIFT_ENABLED - textcolor 3 - special sub_80699BC - signmsg - msgbox Text_YouCanAccessMysteryGift - normalmsg - releaseall - end - -EventScript_1A778A:: @ 81A778A - releaseall - end - -EventScript_1A778C:: @ 81A778C - applymovement VAR_0x8008, Movement_FaceDown - waitmovement 0 - msgbox Text_QuestionnaireThankYou - releaseall - end + .include "data/scripts/questionnaire.inc" EventScript_BagItemCanBeRegistered:: @ 81A77A0 msgbox Text_BagItemCanBeRegistered, MSGBOX_SIGN @@ -1390,16 +1140,14 @@ EventScript_SetResultFalse:: @ 81A77B0 setvar VAR_RESULT, FALSE return -Route16_NorthEntrance_1F_EventScript_1A77B6:: @ 81A77B6 -Route18_EastEntrance_1F_EventScript_1A77B6:: @ 81A77B6 +EventScript_SetExitingCyclingRoad:: @ 81A77B6 lockall clearflag FLAG_SYS_ON_CYCLING_ROAD setvar VAR_MAP_SCENE_ROUTE16, 0 releaseall end -Route16_NorthEntrance_1F_EventScript_1A77C1:: @ 81A77C1 -Route18_EastEntrance_1F_EventScript_1A77C1:: @ 81A77C1 +EventScript_SetEnteringCyclingRoad:: @ 81A77C1 lockall setvar VAR_MAP_SCENE_ROUTE16, 1 releaseall @@ -1407,8 +1155,8 @@ Route18_EastEntrance_1F_EventScript_1A77C1:: @ 81A77C1 .include "data/scripts/route23.inc" -EventScript_1A7AB9:: @ 81A7AB9 - special Special_GetElevatorFloor +EventScript_GetElevatorFloor:: @ 81A7AB9 + special GetElevatorFloor return .include "data/scripts/aide.inc" @@ -1424,7 +1172,8 @@ EventScript_ReleaseEnd:: @ 81A7AE0 .include "data/scripts/pokemon_mansion.inc" -EventScript_1A80FE:: @ 81A80FE +@ Unused +EventScript_DelayedLookAround:: @ 81A80FE lockall applymovement VAR_0x8004, Movement_WalkInPlaceFastestLeft waitmovement 0 @@ -1451,7 +1200,7 @@ EventScript_GetInGameTradeSpeciesInfo:: @ 81A8CAD return EventScript_ChooseMonForInGameTrade:: @ 81A8CBD - special Special_ChooseMonFromParty + special ChoosePartyMon waitstate lock faceplayer @@ -1511,155 +1260,60 @@ VermilionCity_PokemonCenter_1F_EventScript_ExplainVSSeeker:: @ 81A8D3F release end -EventScript_ItemfinderDigUpUnderfootItem:: @ 81A8D49 - lockall - textcolor 3 - waitse - call EventScript_TryPickUpHiddenItem - compare VAR_0x8007, TRUE - goto_if_eq EventScript_DigUpItemPutInPocket - compare VAR_0x8007, FALSE - goto_if_eq EventScript_DigUpItemBagIsFull - end - -EventScript_DigUpItemPutInPocket:: - message Text_DugUpItemFromGround - waitfanfare - waitmessage - delay 60 - msgbox Text_PutItemAway - special Special_SetHiddenItemFlag - releaseall - end - -EventScript_DigUpItemBagIsFull:: - msgbox Text_DugUpItemFromGround - msgbox Text_TooBadBagFull - setvar VAR_RESULT, 0 - releaseall - end - -EventScript_AfterWhiteOutHeal:: @ 81A8D97 - lockall - textcolor 1 - msgbox Text_1A5E89 - call EventScript_PkmnCenterNurse_TakeAndHealPkmn - call_if_unset FLAG_DEFEATED_BROCK, EventScript_1A8DC6 - call_if_set FLAG_DEFEATED_BROCK, EventScript_1A8DCF - applymovement VAR_LAST_TALKED, Movement_Bow - waitmovement 0 - fadedefaultbgm - releaseall - end - -EventScript_1A8DC6:: @ 81A8DC6 - msgbox Text_1A5EC0 - return - -EventScript_1A8DCF:: @ 81A8DCF - msgbox Text_1A5F9B - return - -EventScript_MomHeal:: @ 81A8DD8 - lockall - textcolor 1 - applymovement 1, Movement_WalkInPlaceFastestDown - waitmovement 0 - msgbox Text_1A5FDF - call EventScript_OutOfCenterPartyHeal - msgbox Text_1A6046 - fadedefaultbgm - releaseall - end - -EventScript_PoisonWhiteOut:: @ 81A8DFD - lockall - textcolor 3 - special ExecuteWhiteOut - waitstate - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A8E11 - releaseall - end - -EventScript_1A8E11:: @ 81A8E11 - checkmoney 1, 0 - compare VAR_RESULT, FALSE - goto_if_eq EventScript_1A8E2E - compare VAR_RESULT, TRUE - goto_if_eq EventScript_1A8E3C - end - -EventScript_1A8E2E:: @ 81A8E2E - msgbox Text_1A61E5 - goto EventScript_1A8E4D - end - -EventScript_1A8E3C:: @ 81A8E3C - special Special_OverworldWhiteOutGetMoneyLoss - msgbox Text_1A6197 - goto EventScript_1A8E4D - end - -EventScript_1A8E4D:: @ 81A8E4D - special sub_807F0B0 - waitstate - fadescreen FADE_TO_BLACK - special sp0C8_whiteout_maybe - waitstate - end + .include "data/scripts/itemfinder.inc" + .include "data/scripts/white_out.inc" Std_PutItemAway:: @ 81A8E58 bufferitemnameplural 1, VAR_0x8000, VAR_0x8001 checkitemtype VAR_0x8000 - call EventScript_1A8E6F + call EventScript_BufferPutAwayPocketName msgbox Text_PutItemAway return -EventScript_1A8E6F:: @ 81A8E6F +EventScript_BufferPutAwayPocketName:: @ 81A8E6F switch VAR_RESULT - case POCKET_ITEMS, EventScript_1A8EAC - case POCKET_KEY_ITEMS, EventScript_1A8EB1 - case POCKET_POKE_BALLS, EventScript_1A8EB6 - case POCKET_TM_CASE, EventScript_1A8EBB - case POCKET_BERRY_POUCH, EventScript_1A8EC0 + case POCKET_ITEMS, EventScript_BufferPutAwayPocketItems + case POCKET_KEY_ITEMS, EventScript_BufferPutAwayPocketKeyItems + case POCKET_POKE_BALLS, EventScript_BufferPutAwayPocketPokeBalls + case POCKET_TM_CASE, EventScript_BufferPutAwayPocketTMCase + case POCKET_BERRY_POUCH, EventScript_BufferPutAwayPocketBerryPouch end -EventScript_1A8EAC:: @ 81A8EAC +EventScript_BufferPutAwayPocketItems:: @ 81A8EAC getstdstring 2, STDSTRING_ITEMS_POCKET return -EventScript_1A8EB1:: @ 81A8EB1 +EventScript_BufferPutAwayPocketKeyItems:: @ 81A8EB1 getstdstring 2, STDSTRING_KEY_ITEMS_POCKET return -EventScript_1A8EB6:: @ 81A8EB6 +EventScript_BufferPutAwayPocketPokeBalls:: @ 81A8EB6 getstdstring 2, STDSTRING_POKEBALLS_POCKET return -EventScript_1A8EBB:: @ 81A8EBB +EventScript_BufferPutAwayPocketTMCase:: @ 81A8EBB getstdstring 2, STDSTRING_TM_CASE return -EventScript_1A8EC0:: @ 81A8EC0 +EventScript_BufferPutAwayPocketBerryPouch:: @ 81A8EC0 getstdstring 2, STDSTRING_BERRY_POUCH return .include "data/scripts/seagallop.inc" .include "data/scripts/static_pokemon.inc" -EventScript_1A925E:: @ 81A925E +EventScript_TryDarkenRuins:: @ 81A925E goto_if_set FLAG_SYS_UNLOCKED_TANOBY_RUINS, EventScript_Return - setweather 11 + setweather WEATHER_SHADE doweather return EventScript_BrailleCursorWaitButton:: @ 81A926C - special Special_BrailleCursorToggle + special BrailleCursorToggle waitbuttonpress playse SE_SELECT setvar VAR_0x8006, 1 - special Special_BrailleCursorToggle + special BrailleCursorToggle return EventScript_NoMoreRoomForPokemon:: @ 81A927C @@ -1673,426 +1327,15 @@ EventScript_NoMoreRoomForPokemon:: @ 81A927C @ Test message! @ Welcome to the world of Pokémon! -Text_1ACD45:: @ 81ACD45 +Text_TestMsg:: @ 81ACD45 .string "テストよう メッセージです!\n" .string "ポケモンの せかいへ ようこそ!$" .include "data/scripts/fame_checker.inc" .include "data/text/fame_checker.inc" - -CeladonCity_GameCorner_EventScript_1B2867:: @ 81B2867 - lockall - showmoneybox 0, 0, 0 - msgbox gUnknown_81B1D7D, MSGBOX_YESNO - compare VAR_RESULT, NO - goto_if_eq EventScript_1B2926 - checkmoney 50, 0 - compare VAR_RESULT, FALSE - goto_if_eq EventScript_1B292B - playse SE_SHOP - removemoney 50, 0 - updatemoneybox 0, 0, 0 - waitse - message gUnknown_81B1E24 - waitmessage - multichoice 21, 0, MULTICHOICE_TRAINER_CARD_ICON_TINT, TRUE - switch VAR_RESULT - case 0, EventScript_1B28DB - case 1, EventScript_1B28E6 - case 2, EventScript_1B28F1 - case 3, EventScript_1B28FC - end - -EventScript_1B28DB:: @ 81B28DB - setvar VAR_0x8004, 0 - goto EventScript_1B2907 - -EventScript_1B28E5:: @ 81B28E5 - end - -EventScript_1B28E6:: @ 81B28E6 - setvar VAR_0x8004, 1 - goto EventScript_1B2907 - -EventScript_1B28F0:: @ 81B28F0 - end - -EventScript_1B28F1:: @ 81B28F1 - setvar VAR_0x8004, 2 - goto EventScript_1B2907 - -EventScript_1B28FB:: @ 81B28FB - end - -EventScript_1B28FC:: @ 81B28FC - setvar VAR_0x8004, 3 - goto EventScript_1B2907 - -EventScript_1B2906:: @ 81B2906 - end - -EventScript_1B2907:: @ 81B2907 - message gUnknown_81B1E42 - waitmessage - playse MUS_ME_PHOTO - dofieldeffect FLDEFF_UNK_45 - delay 60 - special Special_UpdateTrainerCardPhotoIcons - msgbox gUnknown_81B1E7D - hidemoneybox 0, 0 - releaseall - end - -EventScript_1B2926:: @ 81B2926 - hidemoneybox 0, 0 - releaseall - end - -EventScript_1B292B:: @ 81B292B - msgbox gUnknown_81B1E07 - hidemoneybox 0, 0 - releaseall - end - -FourIsland_House2_EventScript_1B2938:: @ 81B2938 - lock - specialvar VAR_0x8008, Special_StickerLadyGetBragFlags - goto_if_unset FLAG_MET_STICKER_LADY, EventScript_1B2951 - goto_if_set FLAG_MET_STICKER_LADY, EventScript_1B2994 - end - -EventScript_1B2951:: @ 81B2951 - setflag FLAG_MET_STICKER_LADY - msgbox gUnknown_81B1EB3 - applymovement 1, Movement_FacePlayer - waitmovement 0 - playse SE_PIN - applymovement 1, Movement_ExclamationMark - waitmovement 0 - applymovement 1, Movement_Delay48 - waitmovement 0 - compare VAR_0x8008, 0 - goto_if_eq EventScript_1B2B8E - message gUnknown_81B1EF8 - waitmessage - goto EventScript_1B29D0 - -EventScript_1B2993:: @ 81B2993 - end - -EventScript_1B2994:: @ 81B2994 - applymovement 1, Movement_FacePlayer - waitmovement 0 - goto_if_questlog EventScript_ReleaseEnd - special sub_8112364 - compare VAR_0x8008, 0 - goto_if_eq EventScript_1B29C6 - message gUnknown_81B2025 - waitmessage - goto EventScript_1B29D0 - -EventScript_1B29C5:: @ 81B29C5 - end - -EventScript_1B29C6:: @ 81B29C6 - msgbox gUnknown_81B1FEF - release - end - -EventScript_1B29D0:: @ 81B29D0 - switch VAR_0x8008 - case 1, EventScript_1B2A23 - case 2, EventScript_1B2A4F - case 4, EventScript_1B2A7B - case 3, EventScript_1B2AA7 - case 5, EventScript_1B2ADE - case 6, EventScript_1B2B15 - case 7, EventScript_1B2B4C - end - -EventScript_1B2A23:: @ 81B2A23 - multichoice 15, 8, MULTICHOICE_HOF_QUIT, FALSE - switch VAR_RESULT - case 0, EventScript_1B2B98 - case 1, EventScript_1B2DF6 - case SCR_MENU_CANCEL, EventScript_1B2DF6 - end - -EventScript_1B2A4F:: @ 81B2A4F - multichoice 16, 8, MULTICHOICE_EGGS_QUIT, FALSE - switch VAR_RESULT - case 0, EventScript_1B2C62 - case 1, EventScript_1B2DF6 - case SCR_MENU_CANCEL, EventScript_1B2DF6 - end - -EventScript_1B2A7B:: @ 81B2A7B - multichoice 15, 8, MULTICHOICE_VICTORIES_QUIT, FALSE - switch VAR_RESULT - case 0, EventScript_1B2D2C - case 1, EventScript_1B2DF6 - case SCR_MENU_CANCEL, EventScript_1B2DF6 - end - -EventScript_1B2AA7:: @ 81B2AA7 - multichoice 15, 6, MULTICHOICE_HOF_EGGS_QUIT, FALSE - switch VAR_RESULT - case 0, EventScript_1B2B98 - case 1, EventScript_1B2C62 - case 2, EventScript_1B2DF6 - case SCR_MENU_CANCEL, EventScript_1B2DF6 - end - -EventScript_1B2ADE:: @ 81B2ADE - multichoice 15, 6, MULTICHOICE_HOF_VICTORIES_QUIT, FALSE - switch VAR_RESULT - case 0, EventScript_1B2B98 - case 1, EventScript_1B2D2C - case 2, EventScript_1B2DF6 - case SCR_MENU_CANCEL, EventScript_1B2DF6 - end - -EventScript_1B2B15:: @ 81B2B15 - multichoice 15, 6, MULTICHOICE_EGGS_VICTORIES_QUIT, FALSE - switch VAR_RESULT - case 0, EventScript_1B2C62 - case 1, EventScript_1B2D2C - case 2, EventScript_1B2DF6 - case SCR_MENU_CANCEL, EventScript_1B2DF6 - end - -EventScript_1B2B4C:: @ 81B2B4C - multichoice 15, 5, MULTICHOICE_HOF_EGGS_VICTORIES_QUIT, FALSE - switch VAR_RESULT - case 0, EventScript_1B2B98 - case 1, EventScript_1B2C62 - case 2, EventScript_1B2D2C - case 3, EventScript_1B2DF6 - case SCR_MENU_CANCEL, EventScript_1B2DF6 - end - -EventScript_1B2B8E:: @ 81B2B8E - msgbox gUnknown_81B1EF8 - release - end - -EventScript_1B2B98:: @ 81B2B98 - compare VAR_0x8004, 39 - goto_if_le EventScript_1B2BC5 - compare VAR_0x8004, 99 - goto_if_le EventScript_1B2BE3 - compare VAR_0x8004, 199 - goto_if_le EventScript_1B2C01 - compare VAR_0x8004, 200 - goto_if_ge EventScript_1B2C1F - end - -EventScript_1B2BC5:: @ 81B2BC5 - compare VAR_HOF_BRAG_STATE, 1 - goto_if_eq EventScript_1B2C3D - setvar VAR_HOF_BRAG_STATE, 1 - msgbox gUnknown_81B206E - goto EventScript_1B2C51 - -EventScript_1B2BE2:: @ 81B2BE2 - end - -EventScript_1B2BE3:: @ 81B2BE3 - compare VAR_HOF_BRAG_STATE, 2 - goto_if_eq EventScript_1B2C3D - setvar VAR_HOF_BRAG_STATE, 2 - msgbox gUnknown_81B20CF - goto EventScript_1B2C51 - -EventScript_1B2C00:: @ 81B2C00 - end - -EventScript_1B2C01:: @ 81B2C01 - compare VAR_HOF_BRAG_STATE, 3 - goto_if_eq EventScript_1B2C3D - setvar VAR_HOF_BRAG_STATE, 3 - msgbox gUnknown_81B2133 - goto EventScript_1B2C51 - -EventScript_1B2C1E:: @ 81B2C1E - end - -EventScript_1B2C1F:: @ 81B2C1F - compare VAR_HOF_BRAG_STATE, 4 - goto_if_eq EventScript_1B2C47 - setvar VAR_HOF_BRAG_STATE, 4 - msgbox gUnknown_81B21C4 - goto EventScript_1B2C51 - -EventScript_1B2C3C:: @ 81B2C3C - end - -EventScript_1B2C3D:: @ 81B2C3D - msgbox gUnknown_81B227C - release - end - -EventScript_1B2C47:: @ 81B2C47 - msgbox gUnknown_81B22B0 - release - end - -EventScript_1B2C51:: @ 81B2C51 - textcolor 3 - playfanfare MUS_FANFA1 - message gUnknown_81B2242 - waitmessage - waitfanfare - delay 90 - release - end - -EventScript_1B2C62:: @ 81B2C62 - compare VAR_0x8005, 99 - goto_if_le EventScript_1B2C8F - compare VAR_0x8005, 199 - goto_if_le EventScript_1B2CAD - compare VAR_0x8005, 299 - goto_if_le EventScript_1B2CCB - compare VAR_0x8005, 300 - goto_if_ge EventScript_1B2CE9 - end - -EventScript_1B2C8F:: @ 81B2C8F - compare VAR_EGG_BRAG_STATE, 1 - goto_if_eq EventScript_1B2D07 - setvar VAR_EGG_BRAG_STATE, 1 - msgbox gUnknown_81B2308 - goto EventScript_1B2D1B - -EventScript_1B2CAC:: @ 81B2CAC - end - -EventScript_1B2CAD:: @ 81B2CAD - compare VAR_EGG_BRAG_STATE, 2 - goto_if_eq EventScript_1B2D07 - setvar VAR_EGG_BRAG_STATE, 2 - msgbox gUnknown_81B2372 - goto EventScript_1B2D1B - -EventScript_1B2CCA:: @ 81B2CCA - end - -EventScript_1B2CCB:: @ 81B2CCB - compare VAR_EGG_BRAG_STATE, 3 - goto_if_eq EventScript_1B2D07 - setvar VAR_EGG_BRAG_STATE, 3 - msgbox gUnknown_81B23E0 - goto EventScript_1B2D1B - -EventScript_1B2CE8:: @ 81B2CE8 - end - -EventScript_1B2CE9:: @ 81B2CE9 - compare VAR_EGG_BRAG_STATE, 4 - goto_if_eq EventScript_1B2D11 - setvar VAR_EGG_BRAG_STATE, 4 - msgbox gUnknown_81B2448 - goto EventScript_1B2D1B - -EventScript_1B2D06:: @ 81B2D06 - end - -EventScript_1B2D07:: @ 81B2D07 - msgbox gUnknown_81B251B - release - end - -EventScript_1B2D11:: @ 81B2D11 - msgbox gUnknown_81B254F - release - end - -EventScript_1B2D1B:: @ 81B2D1B - textcolor 3 - playfanfare MUS_FANFA1 - message gUnknown_81B24EA - waitmessage - waitfanfare - delay 90 - release - end - -EventScript_1B2D2C:: @ 81B2D2C - compare VAR_0x8006, 19 - goto_if_le EventScript_1B2D59 - compare VAR_0x8006, 49 - goto_if_le EventScript_1B2D77 - compare VAR_0x8006, 99 - goto_if_le EventScript_1B2D95 - compare VAR_0x8006, 100 - goto_if_ge EventScript_1B2DB3 - end - -EventScript_1B2D59:: @ 81B2D59 - compare VAR_LINK_WIN_BRAG_STATE, 1 - goto_if_eq EventScript_1B2DD1 - setvar VAR_LINK_WIN_BRAG_STATE, 1 - msgbox gUnknown_81B25A7 - goto EventScript_1B2DE5 - -EventScript_1B2D76:: @ 81B2D76 - end - -EventScript_1B2D77:: @ 81B2D77 - compare VAR_LINK_WIN_BRAG_STATE, 2 - goto_if_eq EventScript_1B2DD1 - setvar VAR_LINK_WIN_BRAG_STATE, 2 - msgbox gUnknown_81B2609 - goto EventScript_1B2DE5 - -EventScript_1B2D94:: @ 81B2D94 - end - -EventScript_1B2D95:: @ 81B2D95 - compare VAR_LINK_WIN_BRAG_STATE, 3 - goto_if_eq EventScript_1B2DD1 - setvar VAR_LINK_WIN_BRAG_STATE, 3 - msgbox gUnknown_81B267B - goto EventScript_1B2DE5 - -EventScript_1B2DB2:: @ 81B2DB2 - end - -EventScript_1B2DB3:: @ 81B2DB3 - compare VAR_LINK_WIN_BRAG_STATE, 4 - goto_if_eq EventScript_1B2DDB - setvar VAR_LINK_WIN_BRAG_STATE, 4 - msgbox gUnknown_81B26F6 - goto EventScript_1B2DE5 - -EventScript_1B2DD0:: @ 81B2DD0 - end - -EventScript_1B2DD1:: @ 81B2DD1 - msgbox gUnknown_81B27DB - release - end - -EventScript_1B2DDB:: @ 81B2DDB - msgbox gUnknown_81B280F - release - end - -EventScript_1B2DE5:: @ 81B2DE5 - textcolor 3 - playfanfare MUS_FANFA1 - message gUnknown_81B27A6 - waitmessage - waitfanfare - delay 90 - release - end - -EventScript_1B2DF6:: @ 81B2DF6 - release - end - + .include "data/text/sign_lady.inc" + .include "data/text/trainer_card.inc" + .include "data/scripts/trainer_card.inc" .include "data/text/help_system.inc" .include "data/scripts/cable_club.inc" .include "data/scripts/field_moves.inc" @@ -2115,4 +1358,4 @@ EventScript_1B2DF6:: @ 81B2DF6 .include "data/scripts/test.inc" .include "data/text/save.inc" .include "data/text/new_game_intro.inc" - .include "data/text/poke_dude.inc" + .include "data/text/pokedude.inc" diff --git a/data/field_effect.s b/data/field_effect.s deleted file mode 100644 index 7e797c560..000000000 --- a/data/field_effect.s +++ /dev/null @@ -1,432 +0,0 @@ -#include "constants/maps.h" -#include "constants/species.h" - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnknown_83CA770:: @ 3CA770 4bpp - .incbin "graphics/field_effects/unk_83CA770.4bpp" - -gUnknown_83CAF70:: @ 83CAF70 gbapal - .incbin "graphics/field_effects/unk_83CAF70.gbapal" - -gUnknown_83CAF90:: @ 83CAF90 4bpp - .incbin "graphics/field_effects/unk_83CAF90.4bpp" - -gUnknown_83CAFB0:: @ 83CAFB0 gbapal - .incbin "graphics/field_effects/unk_83CAFB0.gbapal" - -gUnknown_83CAFD0:: @ 83CAFD0 4bpp - .incbin "graphics/field_effects/unk_83CAFD0.4bpp" - -gUnknown_83CB3D0:: @ 83CB3D0 gbapal - .incbin "graphics/field_effects/unk_83CB3D0.gbapal" - -gUnknown_83CB3F0:: @ 83CB3F0 4bpp - .incbin "graphics/field_effects/unk_83CB3F0.4bpp" - -gUnknown_83CB5F0:: @ 83CB5F0 4bpp - .incbin "graphics/field_effects/unk_83CB5F0.4bpp" - -gUnknown_83CB7F0:: @ 83CB7F0 gbapal gUnknown_83CB5F0 - .incbin "graphics/field_effects/unk_83CB7F0.gbapal" - -gUnknown_83CB810:: @ 83CB810 4bpp - .incbin "graphics/field_effects/unk_83CB810.bin" - -gUnknown_83CBA90:: @ 83CBA90 4bpp - .incbin "graphics/field_effects/unk_83CBA90.4bpp" - -gUnknown_83CBB10:: @ 83CBB10 gbapal gUnknown_83CBA90 - .incbin "graphics/field_effects/unk_83CBB10.gbapal" - -gUnknown_83CBB30:: @ 83CBB30 4bpp - .incbin "graphics/field_effects/unk_83CBB30.bin" - -gUnknown_83CBDB0:: - .incbin "graphics/field_effects/unk_83CBDB0.4bpp" - - .align 2 -gUnknown_83CBE30:: @ 83CBE30 dataptr - .4byte FieldEffectCmd_loadtiles - .4byte FieldEffectCmd_loadfadedpal - .4byte FieldEffectCmd_loadpal - .4byte FieldEffectCmd_callnative - .4byte sub_80834DC - .4byte FieldEffectCmd_loadgfx_callnative - .4byte FieldEffectCmd_loadtiles_callnative - .4byte FieldEffectCmd_loadfadedpal_callnative - -gUnknown_83CBE50:: @ 83CBE50 oamdata - .4byte 0xc0000000, 0x00000000 - -gOamData_83CBE58:: @ 83CBE58 oamdata - .4byte 0x00000000, 0x00000000 - -gOamData_83CBE60:: @ 83CBE60 oamdata - .4byte 0x40000000, 0x00000000 - -gUnknown_83CBE68:: @ 83CBE68 sprite_frames - obj_frame_tiles gUnknown_83CA770, 0x0800 - -gUnknown_83CBE70:: @ 83CBE70 sprite_palette - obj_pal gUnknown_83CAF70, 4102 - -gUnknown_83CBE78:: @ 83CBE78 - obj_image_anim_frame 0x0000, 1 - obj_image_anim_end - - .align 2 -gUnknown_83CBE80:: @ 83CBE80 dataptr - .4byte gUnknown_83CBE78 - -gUnknown_83CBE84:: @ 83CBE84 spr_template - spr_template 65535, 4102, gUnknown_83CBE50, gUnknown_83CBE80, gUnknown_83CBE68, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_83CBE9C:: @ 83CBE9C sprite_palette - obj_pal gUnknown_83CAFB0, 4103 - -gUnknown_83CBEA4:: @ 83CBEA4 sprite_palette - obj_pal gUnknown_83CB3D0, 4112 - -gOamData_83CBEAC:: @ 83CBEAC oam_data - .4byte 0x80004000, 0x00000000 - -gUnknown_83CBEB4:: @ 83CBEB4 sprite_frames - obj_frame_tiles gUnknown_83CAF90, 0x0020 - -gUnknown_83CBEBC:: @ 83CBEBC sprite_frames - obj_frame_tiles gUnknown_83CAFD0 + 0x000, 0x0100 - obj_frame_tiles gUnknown_83CAFD0 + 0x100, 0x0100 - obj_frame_tiles gUnknown_83CAFD0 + 0x200, 0x0100 - obj_frame_tiles gUnknown_83CAFD0 + 0x300, 0x0100 - -gUnknown_83CBEDC:: @ 83CBEDC sprite_frames - obj_frame_tiles gUnknown_83CB3F0 + 0x000, 0x0080 - obj_frame_tiles gUnknown_83CB3F0 + 0x080, 0x0080 - obj_frame_tiles gUnknown_83CB3F0 + 0x100, 0x0080 - obj_frame_tiles gUnknown_83CB3F0 + 0x180, 0x0080 - -gUnknown_83CBEFC:: @ 83CBEFC unknown - .byte 0xf4, 0xf8, 0x01, 0x80 - .byte 0x04, 0xf8, 0x20, 0x80 - .byte 0xf4, 0x00, 0x31, 0x80 - .byte 0x04, 0x00, 0x50, 0x80 - .byte 0x04, 0x00, 0x00, 0x00 - -gUnknown_83CBF10:: @ 83CBF10 dataptr - .4byte gUnknown_83CBEFC - -gUnknown_83CBF14:: @ 83CBF14 unknown - .byte 0xe0, 0xf8, 0x05, 0x80 - .byte 0x00, 0xf8, 0x45, 0x80 - .byte 0xe0, 0x00, 0x85, 0x80 - .byte 0x00, 0x00, 0xc5, 0x80 - .byte 0x04, 0x00, 0x00, 0x00 - -gUnknown_83CBF28:: @ 83CBE28 dataptr - .4byte gUnknown_83CBF14 - -gUnknown_83CBF2C:: @ 83CBF2C animcmd - obj_image_anim_frame 0x0000, 1 - obj_image_anim_jump 0 - -gUnknown_83CBF34:: @ 83CBF34 animcmd - obj_image_anim_frame 0x0001, 5 - obj_image_anim_frame 0x0002, 5 - obj_image_anim_frame 0x0003, 7 - obj_image_anim_frame 0x0002, 5 - obj_image_anim_frame 0x0001, 5 - obj_image_anim_frame 0x0000, 5 - obj_image_anim_loop 3 - obj_image_anim_end - - .align 2 -gUnknown_83CBF54:: @ 83CBF54 dataptr - .4byte gUnknown_83CBF2C - .4byte gUnknown_83CBF34 - -gUnknown_83CBF5C:: @ 83CBF5C animcmd - obj_image_anim_frame 0x0003, 8 - obj_image_anim_frame 0x0002, 8 - obj_image_anim_frame 0x0001, 8 - obj_image_anim_frame 0x0000, 8 - obj_image_anim_frame 0x0001, 8 - obj_image_anim_frame 0x0002, 8 - obj_image_anim_loop 2 - obj_image_anim_frame 0x0001, 8 - obj_image_anim_frame 0x0000, 8 - obj_image_anim_end - - .align 2 -gUnknown_83CBF84:: @ 83CBF84 dataptr - .4byte gUnknown_83CBF5C - -gUnknown_83CBF88:: @ 83CBF88 spr_template - spr_template 65535, 4103, gOamData_83CBE58, gUnknown_83CBF54, gUnknown_83CBEB4, gDummySpriteAffineAnimTable, SpriteCB_PokeballGlow - -gUnknown_83CBFA0:: @ 83CBFA0 spr_template - spr_template 65535, 4103, gOamData_83CBEAC, gUnknown_83CBF54, gUnknown_83CBEBC, gDummySpriteAffineAnimTable, sub_808424C - -gUnknown_83CBFB8:: @ 83CBFB8 spr_template - spr_template 65535, 4112, gOamData_83CBE60, gUnknown_83CBF84, gUnknown_83CBEDC, gDummySpriteAffineAnimTable, sub_80842AC - - .align 2 -gUnknown_83CBFD0:: @ 83CBFD0 dataptr - .4byte PokecenterHealEffect_0 - .4byte PokecenterHealEffect_1 - .4byte sub_8083C78 - .4byte PokecenterHealEffect_3 - - .align 2 -gUnknown_83CBFE0:: @ 83CBFE0 dataptr - .4byte HallOfFameRecordEffect_0 - .4byte sub_8083D74 - .4byte sub_8083DAC - .4byte sub_8083DD4 - - .align 2 -gUnknown_83CBFF0:: @ 83CBFF0 dataptr - .4byte PokeballGlowEffect_0 - .4byte PokeballGlowEffect_1 - .4byte PokeballGlowEffect_2 - .4byte PokeballGlowEffect_3 - .4byte PokeballGlowEffect_4 - .4byte PokeballGlowEffect_5 - .4byte PokeballGlowEffect_6 - .4byte nullsub_50 - -gUnknown_83CC010:: @ 83CC010 data16 - .2byte 0x0000, 0x0000, 0x0006, 0x0000, 0x0000, 0x0004, 0x0006, 0x0004, 0x0000, 0x0008, 0x0006, 0x0008 - -gUnknown_83CC028:: @ 83CC028 data8 - .byte 0x10, 0x0c, 0x08, 0x00 - -gUnknown_83CC02C:: @ 83CC02C data8 - .byte 0x10, 0x0c, 0x08, 0x00 - -gUnknown_83CC030:: @ 83CC030 data8 - .byte 0x00, 0x00, 0x00, 0x00 - - .align 2 -gUnknown_83CC034:: @ 83CC034 dataptr - .4byte sub_80844BC - .4byte sub_8084564 - .4byte sub_8084580 - .4byte sub_80845F4 - .4byte sub_80846AC - .4byte sub_80846C8 - .4byte sub_8084708 - - .align 2 -gUnknown_83CC050:: @ 83CC050 dataptr - .4byte sub_80847F8 - .4byte sub_8084820 - .4byte sub_8084890 - .4byte sub_80848B4 - .4byte sub_80848C4 - .4byte sub_80848E8 - - .align 2 -gUnknown_83CC068:: @ 83CC068 dataptr - .4byte sub_8084A5C - .4byte sub_8084AD8 - .4byte sub_8084B18 - .4byte sub_8084B78 - .4byte sub_8084BB8 - .4byte sub_8084C18 - .4byte sub_8084C3C - - .align 2 -gUnknown_83CC084:: @ 83CC084 dataptr - .4byte sub_8084D24 - .4byte waterfall_1_do_anim_probably - .4byte waterfall_2_wait_anim_finish_probably - .4byte sub_8084DA4 - .4byte sub_8084DCC - - .align 2 -gUnknown_83CC098:: @ 83CC098 dataptr - .4byte dive_1_lock - .4byte dive_2_unknown - .4byte dive_3_unknown - - .align 2 -gUnknown_83CC0A4:: @ 83CC0A4 dataptr - .4byte sub_8084FA0 - .4byte sub_8084FD8 - .4byte sub_808500C - .4byte sub_8085058 - .4byte sub_808514C - .4byte sub_8085168 - - .align 2 -gUnknown_83CC0BC:: @ 83CC0BC dataptr - .4byte sub_8085244 - .4byte sub_8085274 - .4byte sub_80852C0 - .4byte sub_8085314 - - .align 2 -gUnknown_83CC0CC:: @ 83CC0CC dataptr - .4byte sub_8085440 - .4byte sub_8085470 - .4byte sub_80854EC - .4byte sub_8085524 - .4byte sub_808554C - - .align 2 -gUnknown_83CC0E0:: @ 83CC0E0 dataptr - .4byte sub_808566C - .4byte sub_8085690 - -gUnknown_83CC0E8:: @ 83CC0E8 data8 - .byte 0x01, 0x03, 0x04, 0x02, 0x01 - - .align 2 -gUnknown_83CC0F0:: @ 83CC0F0 dataptr - .4byte sub_8085A54 - .4byte sub_8085A80 - - .align 2 -gUnknown_83CC0F8:: @ 83CC0F8 dataptr - .4byte sub_8085BA8 - .4byte sub_8085BD0 - .4byte sub_8085C60 - .4byte sub_8085D34 - -gUnknown_83CC108:: @ 83CC108 data8 - .byte 0x01, 0x03, 0x04, 0x02, 0x01 - - .align 2 -gUnknown_83CC110:: @ 83CC110 dataptr - .4byte sub_8085E0C - .4byte sub_8085E98 - .4byte sub_8085F9C - - .align 2 -gUnknown_83CC11C:: @ 83CC11C dataptr - .4byte sub_8086110 - .4byte sub_8086180 - .4byte sub_80861FC - .4byte sub_8086288 - .4byte sub_80862B8 - .4byte sub_808630C - .4byte sub_8086358 - - .align 2 -gUnknown_83CC138:: @ 83CC138 dataptr - .4byte sub_8086498 - .4byte sub_80864D4 - .4byte sub_8086554 - .4byte sub_80865C0 - .4byte sub_80865F0 - .4byte sub_8086630 - .4byte sub_8086650 - - .align 2 -gUnknown_83CC154:: @ 83CC154 dataptr - .4byte sub_80869C0 - .4byte sub_8086A20 - .4byte sub_8086A6C - .4byte sub_8086AB4 - .4byte sub_8086B30 - - .align 2 -gUnknown_83CC168:: @ 83CC168 dataptr - .4byte sub_8086C00 - .4byte sub_8086C24 - .4byte sub_8086C70 - .4byte sub_8086CF4 - -gUnknown_83CC178:: @ 83CC178 dataptr (incomplete) - .4byte sub_8086E70 - .4byte sub_8086EC8 - .4byte sub_8086F0C - .4byte sub_8086F64 - .4byte sub_8086FA8 - .4byte sub_8086FFC - .4byte sub_808706C - .4byte sub_8087118 - .4byte sub_8087138 - -gUnknown_83CC19C:: @ 83CC19C affineanimcmd - obj_rot_scal_anim_frame 8, 8, 226, 0 - obj_rot_scal_anim_frame 28, 28, 0, 30 - obj_rot_scal_anim_end - -gUnknown_83CC1B4:: @ 83CC1B4 affineanimcmd - obj_rot_scal_anim_frame 256, 256, 64, 0 - obj_rot_scal_anim_frame -10, -10, 0, 22 - obj_rot_scal_anim_end - - .align 2 -gUnknown_83CC1CC:: @ 83CC1CC dataptr - .4byte gUnknown_83CC19C - .4byte gUnknown_83CC1B4 - - .align 2 -gUnknown_83CC1D4:: @ 83CC1D4 dataptr - .4byte sub_80874C8 - .4byte sub_80875C8 - .4byte sub_8087644 - .4byte sub_8087698 - .4byte sub_8087710 - .4byte sub_8087748 - .4byte fishE - -gUnknown_83CC1F0:: @ 83CC1F0 data16 - .2byte 0xfffe, 0xfffc, 0xfffb, 0xfffa, 0xfff9, 0xfff8, 0xfff8, 0xfff8, 0xfff9, 0xfff9, 0xfffa, 0xfffb, 0xfffd, 0xfffe, 0x0000, 0x0002 - .2byte 0x0004, 0x0008 - -gUnknown_83CC214:: @ 83CC214 affineanimcmd - obj_rot_scal_anim_frame 24, 24, 0, 1 - obj_rot_scal_anim_jump 0 - -gUnknown_83CC224:: @ 83CC224 affineanimcmd - obj_rot_scal_anim_frame 512, 512, 0, 1 - obj_rot_scal_anim_frame -16, -16, 0, 1 - obj_rot_scal_anim_jump 1 - - .align 2 -gUnknown_83CC23C:: @ 83CC23C dataptr - .4byte gUnknown_83CC214 - .4byte gUnknown_83CC224 - -gUnknown_83CC244:: @ 83CC244 dataptr - .4byte sub_8087C00 - .4byte sub_8087C2C - .4byte sub_8087CB4 - -gUnknown_83CC250:: @ 83CC250 sprite_frames - obj_frame_tiles gUnknown_83CBDB0 + 0x00, 0x0020 - obj_frame_tiles gUnknown_83CBDB0 + 0x20, 0x0020 - obj_frame_tiles gUnknown_83CBDB0 + 0x40, 0x0020 - obj_frame_tiles gUnknown_83CBDB0 + 0x60, 0x0020 - -gUnknown_83CC270:: @ 83CC270 animcmd - obj_image_anim_frame 0x0000, 0 - obj_image_anim_end - -gUnknown_83CC278:: @ 83CC278 animcmd - obj_image_anim_frame 0x0001, 0 - obj_image_anim_end - -gUnknown_83CC280:: @ 83CC280 animcmd - obj_image_anim_frame 0x0002, 0 - obj_image_anim_end - -gUnknown_83CC288:: @ 83CC288 animcmd - obj_image_anim_frame 0x0003, 0 - obj_image_anim_end - -gUnknown_83CC290:: @ 83CC290 dataptr - .4byte gUnknown_83CC270 - .4byte gUnknown_83CC278 - .4byte gUnknown_83CC280 - .4byte gUnknown_83CC288 - -gUnknown_83CC2A0:: @ 83CC2A0 spr_template - spr_template 65535, 4371, gOamData_83CBE58, gUnknown_83CC290, gUnknown_83CC250, gDummySpriteAffineAnimTable, sub_8087D90 diff --git a/data/field_effect_helpers.s b/data/field_effect_helpers.s deleted file mode 100644 index 7ad7b168a..000000000 --- a/data/field_effect_helpers.s +++ /dev/null @@ -1,34 +0,0 @@ -#include "constants/region_map.h" -#include "constants/flags.h" -#include "constants/moves.h" - .include "asm/macros.inc" - .include "constants/constants.inc" - .section .rodata - .align 2 - -gUnknown_83FECCC:: @ 83FECCC - .2byte 0x0c, 0x1c, 0x2c - -gUnknown_83FECD2:: @ 83FECD2 - .byte 0, 1, 2, 3 - -gUnknown_83FECD6:: @ 83FECD6 - .2byte 0x0004, 0x0004, 0x0004, 0x0010 - - .align 2 -gUnknown_83FECE0:: @ 83FECE0 - .4byte sub_80DBB18 - .4byte sub_80DBB3C - - .align 2 -gUnknown_83FECE8:: @ 83FECE8 - .4byte sub_80DC318 - .4byte sub_80DC348 - .4byte sub_80DC3A8 - -gUnknown_83FECF4:: @ 83FECF4 - .byte 0, 0, 1, 2, 3 - - .align 1 -gUnknown_83FECFA:: @ 83FECFA - .2byte 0x0007, 0x000f diff --git a/data/field_effect_scripts.s b/data/field_effect_scripts.s index 98685da05..43698653d 100644 --- a/data/field_effect_scripts.s +++ b/data/field_effect_scripts.s @@ -1,8 +1,8 @@ .include "asm/macros/field_effect_script.inc" .section script_data, "aw", %progbits .align 2 -gUnknown_81D96AC:: @ 81D96AC - .4byte gFldEffScript_ExclamationMarkIcon1 +gFieldEffectScriptPointers:: @ 81D96AC + .4byte gFldEffScript_ExclamationMarkIcon .4byte gFldEffScript_UseCutOnGrass .4byte gFldEffScript_UseCutOnTree .4byte gFldEffScript_Shadow @@ -35,7 +35,7 @@ gUnknown_81D96AC:: @ 81D96AC .4byte gFldEffScript_NpcflyOut .4byte gFldEffScript_UseFly .4byte gFldEffScript_FlyIn - .4byte gFldEffScript_ExclamationMarkIcon2 + .4byte gFldEffScript_QuestionMarkIcon .4byte gFldEffScript_FeetInFlowingWater .4byte gFldEffScript_BikeTireTracks .4byte gFldEffScript_SandDisguise @@ -66,35 +66,35 @@ gUnknown_81D96AC:: @ 81D96AC .4byte gFldEffScript_PcturnOn .4byte gFldEffScript_HallOfFameRecord .4byte gFldEffScript_UseTeleport - .4byte gFldEffScript_Unk40 - .4byte gFldEffScript_Unk41 - .4byte gFldEffScript_Unk42 - .4byte gFldEffScript_Unk43 + .4byte gFldEffScript_SmileyFaceIcon + .4byte gFldEffScript_UseVsSeeker + .4byte gFldEffScript_DoubleExclMarkIcon + .4byte gFldEffScript_MoveDeoxysRock .4byte gFldEffScript_Unk44 .4byte gFldEffScript_Unk45 -gFldEffScript_ExclamationMarkIcon1:: @ 81D97C4 +gFldEffScript_ExclamationMarkIcon:: @ 81D97C4 callnative FldEff_ExclamationMarkIcon1 end gFldEffScript_UseCutOnGrass:: @ 81D97CA - callnative sub_80979A0 + callnative FldEff_UseCutOnGrass end gFldEffScript_UseCutOnTree:: @ 81D97D0 - callnative sub_80979F0 + callnative FldEff_UseCutOnTree end gFldEffScript_Shadow:: @ 81D97D6 - callnative oei_shadow + callnative FldEff_Shadow end gFldEffScript_TallGrass:: @ 81D97DC - loadfadedpal_callnative gUnknown_83A5348, oei_grass_normal + loadfadedpal_callnative gUnknown_83A5348, FldEff_TallGrass end gFldEffScript_Ripple:: @ 81D97E6 - loadfadedpal_callnative gUnknown_83A5348, oei_ripples + loadfadedpal_callnative gUnknown_83A5348, FldEff_Ripple end gFldEffScript_FieldMoveShowMon:: @ 81D97F0 @@ -102,15 +102,15 @@ gFldEffScript_FieldMoveShowMon:: @ 81D97F0 end gFldEffScript_Ash:: @ 81D97F6 - loadfadedpal_callnative gUnknown_83A5348, oei_ash + loadfadedpal_callnative gUnknown_83A5348, FldEff_Ash end gFldEffScript_SurfBlob:: @ 81D9800 - callnative sub_80DC3D0 + callnative FldEff_SurfBlob end gFldEffScript_UseSurf:: @ 81D9806 - callnative sub_8086944 + callnative FldEff_UseSurf end gFldEffScript_Dust:: @ 81D980C @@ -129,7 +129,7 @@ gFldEffScript_SandFootprints:: @ 81D9821 end gFldEffScript_JumpBigSplash:: @ 81D982B - loadfadedpal_callnative gUnknown_83A5340, oei_water_drop_tall + loadfadedpal_callnative gUnknown_83A5340, FldEff_JumpBigSplash end gFldEffScript_Splash:: @ 81D9835 @@ -165,7 +165,7 @@ gFldEffScript_Unknown22:: @ 81D987B end gFldEffScript_BerryTreeGrowthSparkle:: @ 81D9885 - callnative sub_80DC9DC + callnative FldEff_BerryTreeGrowthSparkle end gFldEffScript_DeepSandFootprints:: @ 81D988B @@ -174,7 +174,7 @@ gFldEffScript_DeepSandFootprints:: @ 81D988B gFldEffScript_PokecenterHeal:: @ 81D9895 loadfadedpal gUnknown_83CBE9C - loadfadedpal_callnative gUnknown_83A5340, sub_8083B8C + loadfadedpal_callnative gUnknown_83A5340, FldEff_PokecenterHeal end gFldEffScript_UseSecretPowerTree:: @ 81D98A4 @@ -192,7 +192,7 @@ gFldEffScript_MountainDisguise:: @ 81D98AC end gFldEffScript_NpcflyOut:: @ 81D98B2 - callnative sub_8086D38 + callnative FldEff_NpcFlyOut end gFldEffScript_UseFly:: @ 81D98B8 @@ -203,8 +203,8 @@ gFldEffScript_FlyIn:: @ 81D98BE callnative FldEff_FlyIn end -gFldEffScript_ExclamationMarkIcon2:: @ 81D98C4 - callnative sub_8082624 +gFldEffScript_QuestionMarkIcon:: @ 81D98C4 + callnative FldEff_QuestionMarkIcon end gFldEffScript_FeetInFlowingWater:: @ 81D98CA @@ -224,7 +224,7 @@ gFldEffScript_UseRockSmash:: @ 81D98E4 end gFldEffScript_UseStrength:: @ 81D98EA - callnative sub_80D0860 + callnative FldEff_UseStrength end gFldEffScript_UseDig:: @ 81D98F0 @@ -236,15 +236,15 @@ gFldEffScript_SandPile:: @ 81D98F6 end gFldEffScript_ShortGrass:: @ 81D9900 - loadfadedpal_callnative gUnknown_83A5348, sub_80DB808 + loadfadedpal_callnative gUnknown_83A5348, FldEff_ShortGrass end gFldEffScript_HotSpringsWater:: @ 81D990A - loadfadedpal_callnative gUnknown_83A5348, sub_80DBF50 + loadfadedpal_callnative gUnknown_83A5348, FldEff_HotSpringsWater end gFldEffScript_UseWaterfall:: @ 81D9914 - callnative oei_waterfall + callnative FldEff_UseWaterfall end gFldEffScript_UseDive:: @ 81D991A @@ -257,7 +257,7 @@ gFldEffScript_Pokeball:: @ 81D9920 end gFldEffScript_HeartIcon:: @ 81D992B - callnative sub_80825B4 + callnative FldEff_XIcon end gFldEffScript_Nop47:: @ 81D9931 @@ -299,7 +299,7 @@ gFldEffScript_SecretPowerShrub:: @ 81D9964 end gFldEffScript_CutGrass:: @ 81D9965 - loadfadedpal_callnative gUnknown_83D4144, sub_8097A48 + loadfadedpal_callnative gFldEffPalette_CutGrass, FldEff_CutGrass end gFldEffScript_FieldMoveShowMonInit:: @ 81D996F @@ -314,33 +314,33 @@ gFldEffScript_PcturnOn:: @ 81D9976 gFldEffScript_HallOfFameRecord:: @ 81D9977 loadfadedpal gUnknown_83CBE9C - loadfadedpal_callnative gUnknown_83CBEA4, sub_8083CE0 + loadfadedpal_callnative gUnknown_83CBEA4, FldEff_HallOfFameRecord end gFldEffScript_UseTeleport:: @ 81D9986 callnative FldEff_UseTeleport end -gFldEffScript_Unk40:: @ 81D998C - callnative sub_80825EC +gFldEffScript_SmileyFaceIcon:: @ 81D998C + callnative FldEff_SmileyFaceIcon end -gFldEffScript_Unk41:: @ 81D9992 - callnative sub_8086BA8 +gFldEffScript_UseVsSeeker:: @ 81D9992 + callnative FldEff_UseVsSeeker end -gFldEffScript_Unk42:: @ 81D9998 - callnative sub_808257C +gFldEffScript_DoubleExclMarkIcon:: @ 81D9998 + callnative FldEff_DoubleExclMarkIcon end -gFldEffScript_Unk43:: @ 81D999E - callnative sub_8087924 +gFldEffScript_MoveDeoxysRock:: @ 81D999E + callnative FldEff_MoveDeoxysRock end gFldEffScript_Unk44:: @ 81D99A4 - callnative sub_8087AB4 + callnative FldEff_Unk44 end gFldEffScript_Unk45:: @ 81D99AA - callnative sub_8087E28 + callnative FldEff_Unk45 end diff --git a/data/field_ground_effect.s b/data/field_ground_effect.s deleted file mode 100644 index c871b2d4b..000000000 --- a/data/field_ground_effect.s +++ /dev/null @@ -1,63 +0,0 @@ - .section .rodata - .align 2 -gUnknown_83A7024:: @ 83A7024 - .4byte 0x00000020, 0x00000010 - -gUnknown_83A702C:: @ 83A702C - .4byte MetatileBehavior_IsTallGrass_2 - .4byte MetatileBehavior_IsLongGrass - .4byte MetatileBehavior_IsPuddle - .4byte MetatileBehavior_IsSurfable - .4byte MetatileBehavior_IsWaterfallBottom - .4byte MetatileBehavior_UnusedReturnTrue - -gUnknown_83A7044:: @ 83A7044 - .4byte 0x00001000, 0x00002000, 0x00004000, 0x00008000, 0x00004000, 0x00010000 - -gUnknown_83A705C:: @ 83A705C - .4byte MetatileBehavior_IsJumpSouth - .4byte MetatileBehavior_IsJumpNorth - .4byte MetatileBehavior_IsJumpWest - .4byte MetatileBehavior_IsJumpEast - -gUnknown_83A706C:: @ 83A706C - .byte 0x73, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x00, 0x00, 0x73 - -gUnknown_83A707C:: @ 83A707C - .byte 0x02, 0x02, 0x02, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x02 - -gUnknown_83A708C:: @ 83A708C - .byte 0x01, 0x01, 0x01, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x01 - -gUnknown_83A709C:: @ 83A709C - .4byte nullsub_26 - .4byte DoTracksGroundEffect_Footprints - .4byte DoTracksGroundEffect_BikeTireTracks - -gUnknown_83A70A8:: @ 83A70A8 - .byte 0x0d, 0x00, 0x18, 0x00 - -gUnknown_83A70AC:: @ 83A70AC - .byte 0x01, 0x02, 0x07, 0x08, 0x01, 0x02, 0x06, 0x05, 0x05, 0x08, 0x03, 0x04, 0x06, 0x07, 0x03, 0x04 - -gUnknown_83A70BC:: @ 83A70BC - .4byte GroundEffect_SpawnOnTallGrass - .4byte GroundEffect_StepOnTallGrass - .4byte GroundEffect_SpawnOnLongGrass - .4byte GroundEffect_StepOnLongGrass - .4byte GroundEffect_WaterReflection - .4byte GroundEffect_IceReflection - .4byte GroundEffect_FlowingWater - .4byte GroundEffect_SandTracks - .4byte GroundEffect_DeepSandTracks - .4byte GroundEffect_Ripple - .4byte GroundEffect_StepOnPuddle - .4byte GroundEffect_SandHeap - .4byte GroundEffect_JumpOnTallGrass - .4byte GroundEffect_JumpOnLongGrass - .4byte GroundEffect_JumpOnShallowWater - .4byte GroundEffect_JumpOnWater - .4byte GroundEffect_JumpLandingDust - .4byte GroundEffect_ShortGrass - .4byte GroundEffect_HotSprings - .4byte GroundEffect_Seaweed diff --git a/data/field_player_avatar.s b/data/field_player_avatar.s index d89daa03c..be4036928 100644 --- a/data/field_player_avatar.s +++ b/data/field_player_avatar.s @@ -1,3 +1,4 @@ +#include "constants/event_objects.h" .include "asm/macros.inc" .include "constants/constants.inc" .section .rodata @@ -36,11 +37,11 @@ gUnknown_835B820:: @ 835B820 .align 2 gUnknown_835B828:: @ 835B828 - .4byte MetatileBehavior_ReturnFalse_14 - .4byte MetatileBehavior_ReturnFalse_15 - .4byte MetatileBehavior_ReturnFalse_16 - .4byte MetatileBehavior_ReturnFalse_17 - .4byte MetatileBehavior_ReturnFalse_18 + .4byte MetatileBehavior_ReturnFalse_14 // Related to Acro Bike + .4byte MetatileBehavior_ReturnFalse_15 // Related to Acro Bike + .4byte MetatileBehavior_ReturnFalse_16 // Related to Acro Bike + .4byte MetatileBehavior_ReturnFalse_17 // Related to Acro Bike + .4byte MetatileBehavior_ReturnFalse_18 // Related to Acro Bike gUnknown_835B83C:: @ 835B83C .byte 0x09, 0x0a, 0x0b, 0x0c, 0x0d @@ -63,16 +64,30 @@ gUnknown_835B864:: @ 835B864 .4byte MetatileBehavior_IsEastArrowWarp gUnknown_835B874:: @ 835B874 - .byte 0x00, 0x07, 0x01, 0x08, 0x02, 0x09, 0x03, 0x0a, 0x04, 0x0b, 0x05, 0x0c + .byte OBJ_EVENT_GFX_RED_NORMAL, OBJ_EVENT_GFX_GREEN_NORMAL + .byte OBJ_EVENT_GFX_RED_BIKE, OBJ_EVENT_GFX_GREEN_BIKE + .byte OBJ_EVENT_GFX_RED_SURF, OBJ_EVENT_GFX_GREEN_SURF + .byte OBJ_EVENT_GFX_RED_ITEM, OBJ_EVENT_GFX_GREEN_ITEM + .byte OBJ_EVENT_GFX_RED_FISH, OBJ_EVENT_GFX_GREEN_FISH + .byte OBJ_EVENT_GFX_RED_ITEM_COPY, OBJ_EVENT_GFX_GREEN_ITEM_COPY gUnknown_835B880:: @ 835B880 - .byte 0x0e, 0x0f + .byte OBJ_EVENT_GFX_RS_BRENDAN + .byte OBJ_EVENT_GFX_RS_MAY gUnknown_835B882:: @ 835B882 - .byte 0x00, 0x01, 0x01, 0x02, 0x02, 0x08, 0x07, 0x01, 0x08, 0x02, 0x09, 0x08 + @ Male + .byte OBJ_EVENT_GFX_RED_NORMAL, 0x01 + .byte OBJ_EVENT_GFX_RED_BIKE, 0x02 + .byte OBJ_EVENT_GFX_RED_SURF, 0x08 + @ Female + .byte OBJ_EVENT_GFX_GREEN_NORMAL, 0x01 + .byte OBJ_EVENT_GFX_GREEN_BIKE, 0x02 + .byte OBJ_EVENT_GFX_GREEN_SURF, 0x08 gUnknown_835B88E:: @ 835B88E - .byte 0x06, 0x0d + .byte OBJ_EVENT_GFX_RED_VS_SEEKER + .byte OBJ_EVENT_GFX_GREEN_VS_SEEKER gUnknown_835B890:: @ 835B890 .4byte MetatileBehavior_IsSouthArrowWarp diff --git a/data/field_weather.s b/data/field_weather.s index c8acca001..d872998bf 100644 --- a/data/field_weather.s +++ b/data/field_weather.s @@ -1,4 +1,4 @@ -#include "constants/region_map.h" +#include "constants/region_map_sections.h" #include "constants/flags.h" #include "constants/moves.h" #define RGB(r, g, b) ((r) | ((g) << 5) | ((b) << 10)) diff --git a/data/fldeff_cut.s b/data/fldeff_cut.s deleted file mode 100644 index ca25b396a..000000000 --- a/data/fldeff_cut.s +++ /dev/null @@ -1,40 +0,0 @@ -#include "constants/maps.h" -#include "constants/species.h" - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnknown_83D4100:: @ 83D4100 - .2byte 0x000d, 0x0001 - .2byte 0x000a, 0x0013 - .2byte 0x000b, 0x000e - .2byte 0x000c, 0x000f - .2byte 0x0352, 0x033e - .2byte 0x0300, 0x0310 - .2byte 0x0301, 0x0311 - .2byte 0x0302, 0x0312 - .2byte 0x0284, 0x0281 - .2byte 0xffff, 0xffff - - .align 2 -gOamData_83D4128:: - .4byte 0x00000000, 0x00001401 - -gAnimCmd_83D4130:: - obj_image_anim_frame 0, 30 - obj_image_anim_jump 0 - -gSpriteAnimTable_83D4138:: - .4byte gAnimCmd_83D4130 - -gUnknown_83D413C:: - obj_frame_tiles gUnknown_8398648, 0x20 - -gUnknown_83D4144:: - obj_pal gUnknown_8398688, 4096 - -gUnknown_83D414C:: @ 83D414C - spr_template 0xFFFF, 4096, gOamData_83D4128, gSpriteAnimTable_83D4138, gUnknown_83D413C, gDummySpriteAffineAnimTable, objc_8097BA8 - diff --git a/data/fldeff_flash.s b/data/fldeff_flash.s deleted file mode 100644 index ddffff5c1..000000000 --- a/data/fldeff_flash.s +++ /dev/null @@ -1,74 +0,0 @@ -#include "constants/species.h" -#include "constants/items.h" - .include "asm/macros.inc" - .include "constants/constants.inc" - .section .rodata - .align 2 - -gUnknown_83F5738:: @ 83F5738 - .byte 1, 4, 1, 0 - .4byte sub_80C9FD4 - .4byte sub_80CA160 - .byte 2, 4, 1, 0 - .4byte sub_80C9FD4 - .4byte sub_80CA160 - .byte 3, 4, 1, 0 - .4byte sub_80C9FD4 - .4byte sub_80CA160 - .byte 5, 4, 1, 0 - .4byte sub_80C9FD4 - .4byte sub_80CA160 - .byte 6, 4, 1, 0 - .4byte sub_80C9FD4 - .4byte sub_80CA160 - .byte 7, 4, 1, 0 - .4byte sub_80C9FD4 - .4byte sub_80CA160 - .byte 8, 4, 1, 0 - .4byte sub_80C9FD4 - .4byte sub_80CA160 - .byte 9, 4, 1, 0 - .4byte sub_80C9FD4 - .4byte sub_80CA160 - .byte 4, 1, 0, 1 - .4byte sub_80C9E1C - .4byte sub_80CA160 - .byte 4, 2, 0, 1 - .4byte sub_80C9E1C - .4byte sub_80CA160 - .byte 4, 3, 0, 1 - .4byte sub_80C9E1C - .4byte sub_80CA160 - .byte 4, 5, 0, 1 - .4byte sub_80C9E1C - .4byte sub_80CA160 - .byte 4, 6, 0, 1 - .4byte sub_80C9E1C - .4byte sub_80CA160 - .byte 4, 7, 0, 1 - .4byte sub_80C9E1C - .4byte sub_80CA160 - .byte 4, 8, 0, 1 - .4byte sub_80C9E1C - .4byte sub_80CA160 - .byte 4, 9, 0, 1 - .4byte sub_80C9E1C - .4byte sub_80CA160 - .byte 0, 0, 0, 0 - .4byte NULL - .4byte NULL - -gUnknown_83F5804:: @ 83F5804 - .incbin "graphics/field_effects/flash_white.gbapal" - -gUnknown_83F5824:: @ 83F5824 - .incbin "graphics/field_effects/flash_black.gbapal" - -gUnknown_83F5844:: @ 83F5844 - .incbin "graphics/field_effects/flash_gradient.gbapal" - -gUnknown_83F5864:: @ 83F5864 - .incbin "graphics/field_effects/flash_effect_map.bin.lz" - -gUnknown_83F5A44:: @ 83F5A44 - .incbin "graphics/field_effects/flash_effect_tiles.4bpp.lz" diff --git a/data/graphics.s b/data/graphics.s deleted file mode 100644 index 247a5d230..000000000 --- a/data/graphics.s +++ /dev/null @@ -1,16631 +0,0 @@ - .section gfx_data, "aw", %progbits - - .align 2 -gBattleTextboxTiles:: @ 8D00000 - .incbin "graphics/battle_interface/window.4bpp.lz" - - .align 2 -gBattleTextboxPalette:: @ 8D004D8 - .incbin "graphics/battle_interface/window.gbapal.lz" - - .align 2 -gFile_graphics_interface_menu_map_tilemap:: @ 8D0051C - .incbin "graphics/interface/menu_map.bin.lz" - - .align 2 -gMonFrontPic_CircledQuestionMark:: @ 8D00748 - .incbin "graphics/pokemon/circled_question_mark/circled/front.4bpp.lz" - - .align 2 -gMonBackPic_CircledQuestionMark:: @ 8D0098C - .incbin "graphics/pokemon/circled_question_mark/circled/back.4bpp.lz" - - .align 2 -gMonPalette_CircledQuestionMark:: @ 8D00BD0 - .incbin "graphics/pokemon/circled_question_mark/circled/normal.gbapal.lz" - - .align 2 -gMonShinyPalette_CircledQuestionMark:: @ 8D00BE8 - .incbin "graphics/pokemon/circled_question_mark/circled/shiny.gbapal.lz" - - .align 2 -gFile_graphics_unused_old_charmap_sheet:: @ 8D00C00 - .incbin "graphics/unused/old_charmap.4bpp.lz" @from ruby - - .align 2 -gFile_graphics_unused_old_charmap_tilemap:: @ 8D013D8 - .incbin "graphics/unused/old_charmap.bin.lz" @from ruby - - .align 2 -gFile_graphics_unused_old_charmap_palette:: @ 8D01604 - .incbin "graphics/unused/old_charmap.gbapal.lz" @from ruby - - .align 2 -gFile_graphics_battle_anims_sprites_smokescreen_impact_sheet:: @ 8D0162C - .incbin "graphics/battle_anims/sprites/smokescreen_impact.4bpp.lz" - - .align 2 -gFile_graphics_battle_anims_sprites_smokescreen_impact_palette:: @ 8D0170C - .incbin "graphics/battle_anims/sprites/smokescreen_impact.gbapal.lz" - - .align 2 -gInterfaceGfx_PokeBall:: @ 8D01724 - .incbin "graphics/interface/ball/poke.4bpp.lz" - - .align 2 -gInterfacePal_PokeBall:: @ 8D017E0 - .incbin "graphics/interface/ball/poke.gbapal.lz" - - .align 2 -gInterfaceGfx_GreatBall:: @ 8D01800 - .incbin "graphics/interface/ball/great.4bpp.lz" - - .align 2 -gInterfacePal_GreatBall:: @ 8D018BC - .incbin "graphics/interface/ball/great.gbapal.lz" - - .align 2 -gInterfaceGfx_SafariBall:: @ 8D018E0 - .incbin "graphics/interface/ball/safari.4bpp.lz" - - .align 2 -gInterfacePal_SafariBall:: @ 8D019A4 - .incbin "graphics/interface/ball/safari.gbapal.lz" - - .align 2 -gInterfaceGfx_UltraBall:: @ 8D019C8 - .incbin "graphics/interface/ball/ultra.4bpp.lz" - - .align 2 -gInterfacePal_UltraBall:: @ 8D01A7C - .incbin "graphics/interface/ball/ultra.gbapal.lz" - - .align 2 -gInterfaceGfx_MasterBall:: @ 8D01A9C - .incbin "graphics/interface/ball/master.4bpp.lz" - - .align 2 -gInterfacePal_MasterBall:: @ 8D01B5C - .incbin "graphics/interface/ball/master.gbapal.lz" - - .align 2 -gInterfaceGfx_NetBall:: @ 8D01B80 - .incbin "graphics/interface/ball/net.4bpp.lz" - - .align 2 -gInterfacePal_NetBall:: @ 8D01C40 - .incbin "graphics/interface/ball/net.gbapal.lz" - - .align 2 -gInterfaceGfx_DiveBall:: @ 8D01C60 - .incbin "graphics/interface/ball/dive.4bpp.lz" - - .align 2 -gInterfacePal_DiveBall:: @ 8D01D74 - .incbin "graphics/interface/ball/dive.gbapal.lz" - - .align 2 -gInterfaceGfx_NestBall:: @ 8D01D9C - .incbin "graphics/interface/ball/nest.4bpp.lz" - - .align 2 -gInterfacePal_NestBall:: @ 8D01E60 - .incbin "graphics/interface/ball/nest.gbapal.lz" - - .align 2 -gInterfaceGfx_RepeatBall:: @ 8D01E84 - .incbin "graphics/interface/ball/repeat.4bpp.lz" - - .align 2 -gInterfacePal_RepeatBall:: @ 8D01F44 - .incbin "graphics/interface/ball/repeat.gbapal.lz" - - .align 2 -gInterfaceGfx_TimerBall:: @ 8D01F68 - .incbin "graphics/interface/ball/timer.4bpp.lz" - - .align 2 -gInterfacePal_TimerBall:: @ 8D02060 - .incbin "graphics/interface/ball/timer.gbapal.lz" - - .align 2 -gInterfaceGfx_LuxuryBall:: @ 8D02084 - .incbin "graphics/interface/ball/luxury.4bpp.lz" - - .align 2 -gInterfacePal_LuxuryBall:: @ 8D021B0 - .incbin "graphics/interface/ball/luxury.gbapal.lz" - - .align 2 -gInterfaceGfx_PremierBall:: @ 8D021D8 - .incbin "graphics/interface/ball/premier.4bpp.lz" - - .align 2 -gInterfacePal_PremierBall:: @ 8D022C8 - .incbin "graphics/interface/ball/premier.gbapal.lz" - - .align 2 -gOpenPokeballGfx:: @ 8D022E8 - .incbin "graphics/interface/ball_open.4bpp.lz" - - .align 2 -gBlankGfxCompressed:: @ 8D02364 - .incbin "graphics/interface/blank.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Bubble:: @ 8D02460 - .incbin "graphics/battle_anims/sprites/146.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Bone:: @ 8D02520 - .incbin "graphics/battle_anims/sprites/000.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_AirWave:: @ 8D025D0 - .incbin "graphics/battle_anims/sprites/003.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Orb:: @ 8D02644 - .incbin "graphics/battle_anims/sprites/004.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Sword:: @ 8D026F4 - .incbin "graphics/battle_anims/sprites/005.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Seed:: @ 8D027C8 - .incbin "graphics/battle_anims/sprites/006.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_RainDrops:: @ 8D02894 - .incbin "graphics/battle_anims/sprites/115.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_Bone:: @ 8D028B4 - .incbin "graphics/battle_anims/sprites/000.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_AirWave:: @ 8D028D8 - .incbin "graphics/battle_anims/sprites/003.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_Orb:: @ 8D02900 - .incbin "graphics/battle_anims/sprites/004.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_Sword:: @ 8D02914 - .incbin "graphics/battle_anims/sprites/005.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_Seed:: @ 8D0293C - .incbin "graphics/battle_anims/sprites/006.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Needle:: @ 8D02964 - .incbin "graphics/battle_anims/sprites/161.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Needle:: @ 8D0298C - .incbin "graphics/battle_anims/sprites/161.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Explosion6:: @ 8D029B4 - .incbin "graphics/battle_anims/sprites/007.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Explosion6:: @ 8D02B30 - .incbin "graphics/battle_anims/sprites/007.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_PinkOrb:: @ 8D02B50 - .incbin "graphics/battle_anims/sprites/008.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_PinkOrb:: @ 8D02B70 - .incbin "graphics/battle_anims/sprites/008.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_IceCube:: @ 8D02B8C - .incbin "graphics/battle_anims/sprites/010.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_IceCube:: @ 8D02BAC - .incbin "graphics/battle_anims/sprites/010.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Gust:: @ 8D02F8C - .incbin "graphics/battle_anims/sprites/009.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Gust:: @ 8D03274 - .incbin "graphics/battle_anims/sprites/009.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Spark2:: @ 8D03294 - .incbin "graphics/battle_anims/sprites/011.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Spark2:: @ 8D0330C - .incbin "graphics/battle_anims/sprites/011.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Orange:: @ 8D03334 - .incbin "graphics/battle_anims/sprites/012.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Orange:: @ 8D0339C - .incbin "graphics/battle_anims/sprites/012.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Spikes:: @ 8D033B4 - .incbin "graphics/battle_anims/sprites/152.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Spikes:: @ 8D033FC - .incbin "graphics/battle_anims/sprites/152.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_YellowBall:: @ 8D03420 - .incbin "graphics/battle_anims/sprites/013.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_YellowBall:: @ 8D03454 - .incbin "graphics/battle_anims/sprites/013.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_TiedBag:: @ 8D0346C - .incbin "graphics/battle_anims/sprites/015.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_TiedBag:: @ 8D034D8 - .incbin "graphics/battle_anims/sprites/015.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_BlackSmoke:: @ 8D03500 - .incbin "graphics/battle_anims/sprites/016.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_BlackSmoke:: @ 8D03570 - .incbin "graphics/battle_anims/sprites/016.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_BlackBall:: @ 8D03580 - .incbin "graphics/battle_anims/sprites/017.4bpp.lz" - - .align 2 -gFile_graphics_unknown_Unknown_8D035A0_sheet:: @ 8D035A0 - .incbin "graphics/unknown/unknown_D035A0.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Glass:: @ 8D035C4 - .incbin "graphics/battle_anims/sprites/019.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Glass:: @ 8D035E0 - .incbin "graphics/battle_anims/sprites/019.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_HornHit:: @ 8D036A0 - .incbin "graphics/battle_anims/sprites/020.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_HornHit:: @ 8D0376C - .incbin "graphics/battle_anims/sprites/020.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_BlueShards:: @ 8D03794 - .incbin "graphics/battle_anims/sprites/023.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_BlueShards:: @ 8D037BC - .incbin "graphics/battle_anims/sprites/023.4bpp.lz" - - .align 2 -gFile_graphics_unused_battle_anim_023_palette:: @ 8D038C4 - .incbin "graphics/unused/battle_anim_023.gbapal.lz" - - .align 2 -gFile_graphics_unused_music_notes_sheet:: @ 8D038EC - .incbin "graphics/unused/music_notes.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Hit:: @ 8D039E8 - .incbin "graphics/battle_anims/sprites/021.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Hit:: @ 8D03A10 - .incbin "graphics/battle_anims/sprites/021.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Hit2:: @ 8D03D48 - .incbin "graphics/battle_anims/sprites/022.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_WavingHand:: @ 8D03D70 - .incbin "graphics/battle_anims/sprites/025.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_WavingHand:: @ 8D03D98 - .incbin "graphics/battle_anims/sprites/025.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_ClosingEye:: @ 8D03E88 - .incbin "graphics/battle_anims/sprites/024.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_ClosingEye:: @ 8D03F54 - .incbin "graphics/battle_anims/sprites/024.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_BlueStar:: @ 8D03F68 - .incbin "graphics/battle_anims/sprites/031.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_BlueStar:: @ 8D04348 - .incbin "graphics/battle_anims/sprites/031.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_BubbleBurst:: @ 8D04368 - .incbin "graphics/battle_anims/sprites/032.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_BubbleBurst:: @ 8D04390 - .incbin "graphics/battle_anims/sprites/032.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_HitDuplicate:: @ 8D0447C - .incbin "graphics/battle_anims/sprites/026.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_HitDuplicate:: @ 8D047B4 - .incbin "graphics/battle_anims/sprites/026.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_Leer:: @ 8D047DC - .incbin "graphics/battle_anims/sprites/027.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Leer:: @ 8D04804 - .incbin "graphics/battle_anims/sprites/027.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_BlueBurst:: @ 8D04B00 - .incbin "graphics/battle_anims/sprites/028.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_BlueBurst:: @ 8D04B28 - .incbin "graphics/battle_anims/sprites/028.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_SmallEmber:: @ 8D04E78 - .incbin "graphics/battle_anims/sprites/029.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_SmallEmber:: @ 8D05130 - .incbin "graphics/battle_anims/sprites/029.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_GraySmoke:: @ 8D05158 - .incbin "graphics/battle_anims/sprites/030.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_GraySmoke:: @ 8D05518 - .incbin "graphics/battle_anims/sprites/030.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_Fire:: @ 8D0553C - .incbin "graphics/battle_anims/sprites/033.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Fire:: @ 8D05564 - .incbin "graphics/battle_anims/sprites/033.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_SpinningFire:: @ 8D05ED4 - .incbin "graphics/battle_anims/sprites/034.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_FirePlume:: @ 8D062A0 - .incbin "graphics/battle_anims/sprites/035.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Lightning2:: @ 8D06638 - .incbin "graphics/battle_anims/sprites/036.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Lightning2:: @ 8D06660 - .incbin "graphics/battle_anims/sprites/036.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Lightning:: @ 8D06A34 - .incbin "graphics/battle_anims/sprites/037.4bpp.lz" - - .align 2 -gFile_graphics_unknown_unknown_D06D80_sheet:: @ 8D06D80 - .incbin "graphics/unknown/unknown_D06D80.4bpp.lz" - - .align 2 -gFile_graphics_unknown_unknown_D06D80_palette:: @ 8D06DC4 - .incbin "graphics/unknown/unknown_D06D80.gbapal.lz" - - .align 2 -gFile_graphics_unknown_unknown_D06D80_2_palette:: @ 8D06DD8 - .incbin "graphics/unknown/unknown_D06D80_2.gbapal.lz" - - .align 2 -gFile_graphics_unused_obi1_sheet:: @ 8D06E0C - .incbin "graphics/unused/obi1.4bpp.lz" - - .align 2 -gFile_graphics_unused_obi_palpak1_palette:: @ 8D07170 - .incbin "graphics/unused/obi_palpak1.gbapal.lz" - - .align 2 -gFile_graphics_unused_old_pal4_palette:: @ 8D071B4 - .incbin "graphics/unused/old_pal4.gbapal.lz" - - .align 2 -gFile_graphics_unused_obi_palpak3_palette:: @ 8D071CC - .incbin "graphics/unused/obi_palpak3.gbapal.lz" - - .align 2 -gFile_graphics_unused_obi2_sheet:: @ 8D07224 - .incbin "graphics/unused/obi2.4bpp.lz" - - .align 2 -gFile_graphics_unused_old_battle_interface_tilemap:: @ 8D077EC - .incbin "graphics/unused/old_battle_interface_tilemap.bin.lz" - - .align 2 -gBattleAnimSpritePal_ClawSlash2:: @ 8D078FC - .incbin "graphics/battle_anims/sprites/038.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_ClawSlash:: @ 8D07924 - .incbin "graphics/battle_anims/sprites/039.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_ClawSlash2:: @ 8D0794C - .incbin "graphics/battle_anims/sprites/038.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_ClawSlash:: @ 8D07B70 - .incbin "graphics/battle_anims/sprites/039.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Scratch3:: @ 8D07E6C - .incbin "graphics/battle_anims/sprites/040.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Scratch2:: @ 8D08078 - .incbin "graphics/battle_anims/sprites/041.4bpp.lz" - - .align 2 -gFile_graphics_interface_party_menu_hpbar_sheet:: @ 8D08218 - .incbin "graphics/interface/party_menu_hpbar.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_BubbleBurst2:: @ 8D082AC - .incbin "graphics/battle_anims/sprites/042.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_BubbleBurst2:: @ 8D0857C - .incbin "graphics/battle_anims/sprites/042.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_IceChunk:: @ 8D085A4 - .incbin "graphics/battle_anims/sprites/043.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_IceChunk:: @ 8D089A4 - .incbin "graphics/battle_anims/sprites/043.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_Glass2:: @ 8D089CC - .incbin "graphics/battle_anims/sprites/044.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Glass2:: @ 8D089F4 - .incbin "graphics/battle_anims/sprites/044.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_PinkHeart2:: @ 8D08C60 - .incbin "graphics/battle_anims/sprites/045.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_PinkHeart2:: @ 8D08C88 - .incbin "graphics/battle_anims/sprites/045.4bpp.lz" - - .align 2 -gFile_graphics_battle_interface_unused_window_sheet:: @ 8D08EF4 - .incbin "graphics/battle_interface/unused_window.4bpp.lz" - - .align 2 -gFile_graphics_battle_interface_unused_window_palette:: @ 8D093B0 - .incbin "graphics/battle_interface/unused_window.gbapal.lz" - - .align 2 -gFile_graphics_interface_hp_numbers:: @ 8D093D8 - .incbin "graphics/interface/hp_numbers.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_SapDrip:: @ 8D095EC - .incbin "graphics/battle_anims/sprites/046.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_SapDrip:: @ 8D099CC - .incbin "graphics/battle_anims/sprites/046.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_SapDrip2:: @ 8D099EC - .incbin "graphics/battle_anims/sprites/047.gbapal.lz" - - .align 2 -gFile_graphics_battle_interface_unused_window2_sheet:: @ 8D09A10 - .incbin "graphics/battle_interface/unused_window2.4bpp.lz" - - .align 2 -gFile_graphics_battle_interface_unused_window2bar_sheet:: @ 8D09CAC - .incbin "graphics/battle_interface/unused_window2bar.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Sparkle1:: @ 8D09CD8 - .incbin "graphics/battle_anims/sprites/048.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Sparkle1:: @ 8D09F70 - .incbin "graphics/battle_anims/sprites/048.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_Sparkle2:: @ 8D09F98 - .incbin "graphics/battle_anims/sprites/049.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_HumanoidFoot:: @ 8D09FC0 - .incbin "graphics/battle_anims/sprites/050.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_HumanoidFoot:: @ 8D09FE4 - .incbin "graphics/battle_anims/sprites/050.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_MonsterFoot:: @ 8D0A084 - .incbin "graphics/battle_anims/sprites/051.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_HumanoidHand:: @ 8D0A130 - .incbin "graphics/battle_anims/sprites/052.4bpp.lz" - - .align 2 -gFile_graphics_unused_line_sketch_sheet:: @ 8D0A1FC - .incbin "graphics/unused/line_sketch.4bpp.lz" - - .align 2 -gFile_graphics_unused_line_sketch_palette:: @ 8D0A380 - .incbin "graphics/unused/line_sketch.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_YellowUnk:: @ 8D0A390 - .incbin "graphics/battle_anims/sprites/054.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_YellowUnk:: @ 8D0A3BC - .incbin "graphics/battle_anims/sprites/054.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_SlamHit:: @ 8D0A3D4 - .incbin "graphics/battle_anims/sprites/056.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_SlamHit:: @ 8D0A87C - .incbin "graphics/battle_anims/sprites/056.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_RedFist:: @ 8D0A8A4 - .incbin "graphics/battle_anims/sprites/055.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Ring:: @ 8D0A968 - .incbin "graphics/battle_anims/sprites/057.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Ring:: @ 8D0A9F0 - .incbin "graphics/battle_anims/sprites/057.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Rocks:: @ 8D0AA14 - .incbin "graphics/battle_anims/sprites/058.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Rocks:: @ 8D0AE7C - .incbin "graphics/battle_anims/sprites/058.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Z:: @ 8D0AEA4 - .incbin "graphics/battle_anims/sprites/059.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Z:: @ 8D0AF04 - .incbin "graphics/battle_anims/sprites/059.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_YellowUnk2:: @ 8D0AF20 - .incbin "graphics/battle_anims/sprites/060.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_YellowUnk2:: @ 8D0AF48 - .incbin "graphics/battle_anims/sprites/060.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_AirSlash:: @ 8D0AF64 - .incbin "graphics/battle_anims/sprites/061.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_AirSlash:: @ 8D0B014 - .incbin "graphics/battle_anims/sprites/061.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_SpinningGreenOrbs:: @ 8D0B034 - .incbin "graphics/battle_anims/sprites/062.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_SpinningGreenOrbs:: @ 8D0B404 - .incbin "graphics/battle_anims/sprites/062.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Leaf:: @ 8D0B42C - .incbin "graphics/battle_anims/sprites/063.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Leaf:: @ 8D0B5E8 - .incbin "graphics/battle_anims/sprites/063.gbapal.lz" - - .align 2 -gFile_graphics_unused_metronome_hand_small_sheet:: @ 8D0B610 - .incbin "graphics/unused/metronome_hand_small.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Clapping:: @ 8D0B680 - .incbin "graphics/battle_anims/sprites/091.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_PoisonPowder:: @ 8D0B6A4 - .incbin "graphics/battle_anims/sprites/065.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_PoisonPowder:: @ 8D0B7B8 - .incbin "graphics/battle_anims/sprites/065.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_BrownTriangle:: @ 8D0B7D8 - .incbin "graphics/battle_anims/sprites/066.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_BrownTriangle:: @ 8D0B824 - .incbin "graphics/battle_anims/sprites/066.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Sparkle3:: @ 8D0B84C - .incbin "graphics/battle_anims/sprites/070.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Sparkle3:: @ 8D0B8CC - .incbin "graphics/battle_anims/sprites/070.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Sparkle4:: @ 8D0B8F4 - .incbin "graphics/battle_anims/sprites/071.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_MusicNotes:: @ 8D0BB20 - .incbin "graphics/battle_anims/sprites/072.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_MusicNotes:: @ 8D0BBF0 - .incbin "graphics/battle_anims/sprites/072.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Duck:: @ 8D0BC08 - .incbin "graphics/battle_anims/sprites/073.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Duck:: @ 8D0BD24 - .incbin "graphics/battle_anims/sprites/073.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Alert:: @ 8D0BD44 - .incbin "graphics/battle_anims/sprites/075.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Alert:: @ 8D0BFC0 - .incbin "graphics/battle_anims/sprites/075.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Shock4:: @ 8D0BFE4 - .incbin "graphics/battle_anims/sprites/078.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Shock4:: @ 8D0C17C - .incbin "graphics/battle_anims/sprites/078.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Shock:: @ 8D0C1A4 - .incbin "graphics/battle_anims/sprites/079.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Bell2:: @ 8D0C5D4 - .incbin "graphics/battle_anims/sprites/080.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Bell2:: @ 8D0C938 - .incbin "graphics/battle_anims/sprites/080.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_PinkGlove:: @ 8D0C95C - .incbin "graphics/battle_anims/sprites/081.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_PinkGlove:: @ 8D0C9E0 - .incbin "graphics/battle_anims/sprites/081.gbapal.lz" - - .align 2 -gFile_graphics_unknown_unknown_D0CA04:: @ 8D0CA04 - .incbin "graphics/unknown/unknown_D0CA04.bin" - - .align 2 -gFile_graphics_unknown_unknown_D0CA28:: @ 8D0CA28 - .incbin "graphics/unknown/unknown_D0CA28.bin" - - .align 2 -gFile_graphics_unknown_unknown_D0CA4C:: @ 8D0CA4C - .incbin "graphics/unknown/unknown_D0CA4C.bin" - - .align 2 -gFile_graphics_unused_line_sketch_2_sheet:: @ 8D0CA70 - .incbin "graphics/unused/line_sketch_2.8bpp.lz" - - .align 2 -gFile_graphics_unknown_unknown_D0CAC8:: @ 8D0CAC8 - .incbin "graphics/unknown/unknown_D0CAC8.bin" - - .align 2 -gFile_graphics_unused_line_sketch_2_tilemap:: @ 8D0CAE8 - .incbin "graphics/unused/line_sketch_2.bin.lz" - - .align 2 -gBattleAnimSpriteGfx_BlueLines:: @ 8D0CB78 - .incbin "graphics/battle_anims/sprites/082.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_BlueLines:: @ 8D0CB9C - .incbin "graphics/battle_anims/sprites/082.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_Impact3:: @ 8D0CBB0 - .incbin "graphics/battle_anims/sprites/083.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_Impact2:: @ 8D0CBD8 - .incbin "graphics/battle_anims/sprites/084.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_Reticle:: @ 8D0CC00 - .incbin "graphics/battle_anims/sprites/085.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_Breath:: @ 8D0CC18 - .incbin "graphics/battle_anims/sprites/086.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_Snowball:: @ 8D0CC40 - .incbin "graphics/battle_anims/sprites/088.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_Vine:: @ 8D0CC5C - .incbin "graphics/battle_anims/sprites/089.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_Sword2:: @ 8D0CC84 - .incbin "graphics/battle_anims/sprites/090.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_RedTube:: @ 8D0CCA8 - .incbin "graphics/battle_anims/sprites/092.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_Amnesia:: @ 8D0CCC4 - .incbin "graphics/battle_anims/sprites/093.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_String2:: @ 8D0CCEC - .incbin "graphics/battle_anims/sprites/094.gbapal.lz" - - .align 2 -gFile_graphics_unknown_unknown_D0CD0C:: @ 8D0CD0C - .incbin "graphics/unknown/unknown_D0CD0C.bin.lz" - - .align 2 -gBattleAnimSpritePal_Pencil2:: @ 8D0CD2C - .incbin "graphics/battle_anims/sprites/095.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_Petal:: @ 8D0CD54 - .incbin "graphics/battle_anims/sprites/096.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_BentSpoon:: @ 8D0CD70 - .incbin "graphics/battle_anims/sprites/097.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_Coin:: @ 8D0CD98 - .incbin "graphics/battle_anims/sprites/100.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_CrackedEgg:: @ 8D0CDB4 - .incbin "graphics/battle_anims/sprites/101.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_FreshEgg:: @ 8D0CDDC - .incbin "graphics/battle_anims/sprites/103.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Impact3:: @ 8D0CE00 - .incbin "graphics/battle_anims/sprites/083.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Impact2:: @ 8D0D2A4 - .incbin "graphics/battle_anims/sprites/084.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Reticle:: @ 8D0D668 - .incbin "graphics/battle_anims/sprites/085.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Breath:: @ 8D0D720 - .incbin "graphics/battle_anims/sprites/086.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Snowball:: @ 8D0D890 - .incbin "graphics/battle_anims/sprites/088.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Vine:: @ 8D0D8E0 - .incbin "graphics/battle_anims/sprites/089.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Sword2:: @ 8D0DB54 - .incbin "graphics/battle_anims/sprites/090.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Clapping:: @ 8D0DBE4 - .incbin "graphics/battle_anims/sprites/091.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_RedTube:: @ 8D0DD18 - .incbin "graphics/battle_anims/sprites/092.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Amnesia:: @ 8D0DD94 - .incbin "graphics/battle_anims/sprites/093.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_String2:: @ 8D0E464 - .incbin "graphics/battle_anims/sprites/094.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Pencil2:: @ 8D0E608 - .incbin "graphics/battle_anims/sprites/095.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Petal:: @ 8D0E6B8 - .incbin "graphics/battle_anims/sprites/096.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_BentSpoon:: @ 8D0E828 - .incbin "graphics/battle_anims/sprites/097.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Web:: @ 8D0EA08 - .incbin "graphics/battle_anims/sprites/098.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Coin:: @ 8D0EB40 - .incbin "graphics/battle_anims/sprites/100.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_CrackedEgg:: @ 8D0EC40 - .incbin "graphics/battle_anims/sprites/101.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_HatchedEgg:: @ 8D0ED70 - .incbin "graphics/battle_anims/sprites/102.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_FreshEgg:: @ 8D0EF08 - .incbin "graphics/battle_anims/sprites/103.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Fangs:: @ 8D0EF74 - .incbin "graphics/battle_anims/sprites/104.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Fangs:: @ 8D0F134 - .incbin "graphics/battle_anims/sprites/104.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Explosion2:: @ 8D0F15C - .incbin "graphics/battle_anims/sprites/105.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Explosion2:: @ 8D0F6E0 - .incbin "graphics/battle_anims/sprites/105.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Explosion3:: @ 8D0F708 - .incbin "graphics/battle_anims/sprites/106.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_WaterDroplet:: @ 8D0F7F8 - .incbin "graphics/battle_anims/sprites/107.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_WaterDroplet:: @ 8D0FBA4 - .incbin "graphics/battle_anims/sprites/107.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_WaterDroplet2:: @ 8D0FBCC - .incbin "graphics/battle_anims/sprites/108.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Seed2:: @ 8D0FF50 - .incbin "graphics/battle_anims/sprites/109.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Seed2:: @ 8D0FF78 - .incbin "graphics/battle_anims/sprites/109.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Sprout:: @ 8D0FFA0 - .incbin "graphics/battle_anims/sprites/110.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_RedWand:: @ 8D10384 - .incbin "graphics/battle_anims/sprites/111.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_RedWand:: @ 8D103C8 - .incbin "graphics/battle_anims/sprites/111.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_PurpleGreenUnk:: @ 8D103EC - .incbin "graphics/battle_anims/sprites/112.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_PurpleGreenUnk:: @ 8D10714 - .incbin "graphics/battle_anims/sprites/112.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_WaterColumn:: @ 8D1073C - .incbin "graphics/battle_anims/sprites/113.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_WaterColumn:: @ 8D109A8 - .incbin "graphics/battle_anims/sprites/113.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_MudUnk:: @ 8D109D0 - .incbin "graphics/battle_anims/sprites/114.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_MudUnk:: @ 8D10AC4 - .incbin "graphics/battle_anims/sprites/114.gbapal.lz" - - .align 2 -gFile_graphics_unused_blue_frame_tilemap:: @ 8D10AEC - .incbin "graphics/unused/blue_frame.bin.lz" - - .align 2 -gFile_graphics_unused_redyellowgreen_frame_tilemap:: @ 8D10C04 - .incbin "graphics/unused/redyellowgreen_frame.bin.lz" - - .align 2 -gFile_graphics_unused_color_frames_sheet:: @ 8D11004 - .incbin "graphics/unused/color_frames.4bpp.lz" - - .align 2 -gFile_graphics_unused_color_frames_palette:: @ 8D115A4 - .incbin "graphics/unused/color_frames.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_RainDrops:: @ 8D115CC - .incbin "graphics/battle_anims/sprites/115.4bpp.lz" - - .align 2 -gFile_graphics_unused_water_splash_sheet:: @ 8D116FC - .incbin "graphics/unused/water_splash.8bpp.lz" - - .align 2 -gFile_graphics_unused_water_splash_tilemap:: @ 8D11884 - .incbin "graphics/unused/water_splash.bin.lz" - - .align 2 -gFile_graphics_unused_water_splash_palette:: @ 8D11964 - .incbin "graphics/unused/water_splash.gbapal.lz" - - .align 2 -gFile_graphics_unused_basic_frame_sheet:: @ 8D119C4 - .incbin "graphics/unused/basic_frame.4bpp.lz" - - .align 2 -gFile_graphics_unused_basic_frame_palette:: @ 8D11A50 - .incbin "graphics/unused/basic_frame.gbapal.lz" - - .align 2 -gFile_graphics_unused_basic_frame_tilemap:: @ 8D11A78 - .incbin "graphics/unused/basic_frame.bin.lz" - - .align 2 -gBattleInterface_BallStatusBarPal:: @ 8D11B84 - .incbin "graphics/battle_interface/ball_status_bar.gbapal" - -gBattleInterface_BallDisplayPal:: @ 8D11BA4 - .incbin "graphics/battle_interface/ball_display.gbapal" - -@ Originally an array? -gHealthboxElementsGfxTable:: @ 8D11BC4 - .incbin "graphics/battle_interface/hp_bar.4bpp" - -gHealthboxElementsGfxTable_ExpBar:: - .incbin "graphics/battle_interface/exp_bar.4bpp" - -gHealthboxElementsGfxTable_StatusPsn:: - .incbin "graphics/battle_interface/status_psn.4bpp" - -gHealthboxElementsGfxTable_StatusPar:: - .incbin "graphics/battle_interface/status_par.4bpp" - -gHealthboxElementsGfxTable_StatusSlp:: - .incbin "graphics/battle_interface/status_slp.4bpp" - -gHealthboxElementsGfxTable_StatusFrz:: - .incbin "graphics/battle_interface/status_frz.4bpp" - -gHealthboxElementsGfxTable_StatusBrn:: - .incbin "graphics/battle_interface/status_brn.4bpp" - -gHealthboxElementsGfxTable_Misc:: - .incbin "graphics/battle_interface/misc.4bpp" - -gHealthboxElementsGfxTable_HpBarAnim:: - .incbin "graphics/battle_interface/hp_bar_anim.4bpp" - -gHealthboxElementsGfxTable_MiscFrameEnd:: - .incbin "graphics/battle_interface/misc_frame_end.4bpp" - -gUnknown_8D12404:: - .incbin "graphics/battle_interface/ball_display.4bpp" - -gUnknown_8D12484:: - .incbin "graphics/battle_interface/ball_display_unused_extra.4bpp" - -gBattleInterfaceGfx_Status2:: - .incbin "graphics/battle_interface/status2.4bpp" - -gBattleInterfaceGfx_Status3:: - .incbin "graphics/battle_interface/status3.4bpp" - -gBattleInterfaceGfx_Status4:: - .incbin "graphics/battle_interface/status4.4bpp" - -gUnknown_8D12A44:: - .incbin "graphics/unknown/unknown_D12A44.4bpp" - -gUnknown_8D12A64:: - .incbin "graphics/unknown/unknown_D12A64.4bpp" - - .align 2 -gFile_graphics_battle_interface_unused_window3_sheet:: @ 8D12AC4 - .incbin "graphics/battle_interface/unused_window3.4bpp.lz" - - .align 2 -gFile_graphics_battle_interface_unused_window4_sheet:: @ 8D12C00 - .incbin "graphics/battle_interface/unused_window4.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_FurySwipes:: @ 8D12EB0 - .incbin "graphics/battle_anims/sprites/116.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_FurySwipes:: @ 8D1315C - .incbin "graphics/battle_anims/sprites/116.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Vine2:: @ 8D13184 - .incbin "graphics/battle_anims/sprites/117.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Vine2:: @ 8D133C0 - .incbin "graphics/battle_anims/sprites/117.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Teeth:: @ 8D133DC - .incbin "graphics/battle_anims/sprites/118.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Teeth:: @ 8D13574 - .incbin "graphics/battle_anims/sprites/118.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Bone2:: @ 8D13590 - .incbin "graphics/battle_anims/sprites/119.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Bone2:: @ 8D13820 - .incbin "graphics/battle_anims/sprites/119.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_WhiteBag:: @ 8D13848 - .incbin "graphics/battle_anims/sprites/120.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_WhiteBag:: @ 8D1393C - .incbin "graphics/battle_anims/sprites/120.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Unknown:: @ 8D13964 - .incbin "graphics/battle_anims/sprites/121.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Unknown:: @ 8D13990 - .incbin "graphics/battle_anims/sprites/121.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_PurpleCoral:: @ 8D139B4 - .incbin "graphics/battle_anims/sprites/122.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_PurpleCoral:: @ 8D13AB0 - .incbin "graphics/battle_anims/sprites/122.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_PurpleDroplet:: @ 8D13ACC - .incbin "graphics/battle_anims/sprites/123.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Shock2:: @ 8D13C08 - .incbin "graphics/battle_anims/sprites/124.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Shock2:: @ 8D13EA0 - .incbin "graphics/battle_anims/sprites/124.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_ClosingEye2:: @ 8D13EC8 - .incbin "graphics/battle_anims/sprites/125.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_ClosingEye2:: @ 8D13FB4 - .incbin "graphics/battle_anims/sprites/125.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_MetalBall:: @ 8D13FDC - .incbin "graphics/battle_anims/sprites/126.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_MetalBall:: @ 8D14044 - .incbin "graphics/battle_anims/sprites/126.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_MonsterDoll:: @ 8D14064 - .incbin "graphics/battle_anims/sprites/127.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_MonsterDoll:: @ 8D14204 - .incbin "graphics/battle_anims/sprites/127.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Whirlwind:: @ 8D14228 - .incbin "graphics/battle_anims/sprites/128.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Whirlwind:: @ 8D14494 - .incbin "graphics/battle_anims/sprites/128.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Whirlwind2:: @ 8D144B4 - .incbin "graphics/battle_anims/sprites/129.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Explosion4:: @ 8D14518 - .incbin "graphics/battle_anims/sprites/130.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Explosion4:: @ 8D148E8 - .incbin "graphics/battle_anims/sprites/130.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Explosion5:: @ 8D14910 - .incbin "graphics/battle_anims/sprites/131.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Tongue:: @ 8D14A80 - .incbin "graphics/battle_anims/sprites/132.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Tongue:: @ 8D14B80 - .incbin "graphics/battle_anims/sprites/132.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Smoke:: @ 8D14BA0 - .incbin "graphics/battle_anims/sprites/133.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Smoke:: @ 8D14C1C - .incbin "graphics/battle_anims/sprites/133.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Smoke2:: @ 8D14C44 - .incbin "graphics/battle_anims/sprites/134.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_BlueFlames:: @ 8D14D14 - .incbin "graphics/battle_anims/sprites/076.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_BlueFlames:: @ 8D14F50 - .incbin "graphics/battle_anims/sprites/076.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_BlueFlames2:: @ 8D14F78 - .incbin "graphics/battle_anims/sprites/077.4bpp.lz" - - .align 2 -gFile_graphics_unused_old_contest_sheet:: @ 8D1504C - .incbin "graphics/unused/old_contest.4bpp.lz" - - .align 2 -gFile_graphics_unused_old_contest_palette:: @ 8D15960 - .incbin "graphics/unused/old_contest.gbapal.lz" - - .align 2 -gFile_graphics_unused_old_contest_tilemap:: @ 8D15A64 - .incbin "graphics/unused/old_contest.bin.lz" - - .align 2 -gFile_graphics_unknown_unknown_D15BE8_tilemap:: @ 8D15BE8 - .incbin "graphics/unknown/unknown_D15BE8.bin.lz" - - .align 2 -gFile_graphics_unused_numbers_sheet:: @ 8D15EA8 - .incbin "graphics/unused/numbers.4bpp.lz" @from ruby - - .align 2 -gFile_graphics_unused_numbers_palette:: @ 8D15F98 - .incbin "graphics/unused/numbers.gbapal.lz" @from ruby - - .align 2 -gFile_graphics_unused_old_contest_2_sheet:: @ 8D15FB8 - .incbin "graphics/unused/old_contest_2.4bpp.lz" - - .align 2 -gFile_graphics_unused_old_contest_2_palette:: @ 8D16FC8 - .incbin "graphics/unused/old_contest_2.gbapal.lz" - - .align 2 -gFile_graphics_unused_old_contest_2_tilemap:: @ 8D170E0 - .incbin "graphics/unused/old_contest_2.bin.lz" - - .align 2 -gFile_graphics_unknown_unknown_D172A8_tilemap:: @ 8D172A8 - .incbin "graphics/unknown/unknown_D172A8.bin.lz" - - .align 2 -gFile_graphics_unknown_unknown_D17548_tilemap:: @ 8D17548 - .incbin "graphics/unknown/unknown_D17548.bin.lz" - - .align 2 -gFile_graphics_unknown_unknown_D17654_tilemap:: @ 8D17654 - .incbin "graphics/unknown/unknown_D17654.bin.lz" - - .align 2 -gFile_graphics_unknown_unknown_D17AB8_tilemap:: @ 8D17AB8 - .incbin "graphics/unknown/unknown_D17AB8.bin.lz" - - .align 2 -gContestMiscGfx:: @ 8D17BE8 - .incbin "graphics/contest/misc.4bpp.lz" @ huh? this is the JP one... - - .align 2 -gFile_graphics_contest_audience_sheet:: @ 8D18780 - .incbin "graphics/contest/audience.4bpp.lz" - - .align 2 -gFile_graphics_contest_faces_sheet:: @ 8D193DC - .incbin "graphics/contest/faces.4bpp.lz" - - .align 2 -gFile_graphics_contest_judge_symbols_sheet:: @ 8D194F8 - .incbin "graphics/contest/judge_symbols.4bpp.lz" - - .align 2 -gFile_graphics_contest_judge_symbols_palette:: @ 8D1969C - .incbin "graphics/contest/judge_symbols.gbapal.lz" - - .align 2 -gFile_graphics_contest_heart:: @ 8D196C4 - .incbin "graphics/contest/heart.4bpp" - - .align 2 -gFile_graphics_unknown_unknown_D196E4_sheet:: @ 8D196E4 - .incbin "graphics/unknown/unknown_D196E4.4bpp.lz" - - .align 2 -gFile_graphics_unknown_unknown_D196E4_palette:: @ 8D197D4 - .incbin "graphics/unknown/unknown_D196E4.gbapal.lz" - - .align 2 -gUnknown_8D197FC:: @ 8D197FC - .incbin "graphics/contest/misc_2.4bpp.lz" @ still in JP... - - .align 2 -gFile_graphics_contest_misc_2_tilemap_1_tilemap:: @ 8D1A064 - .incbin "graphics/contest/misc_2_tilemap_1.bin.lz" - - .align 2 -gFile_graphics_contest_misc_2_tilemap_2_tilemap:: @ 8D1A178 - .incbin "graphics/contest/misc_2_tilemap_2.bin.lz" - - .align 2 -gFile_graphics_contest_misc_2_tilemap_3_tilemap:: @ 8D1A2A4 - .incbin "graphics/contest/misc_2_tilemap_3.bin.lz" - - .align 2 -gFile_graphics_contest_misc_2_palette:: @ 8D1A42C - .incbin "graphics/contest/misc_2.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Impact:: @ 8D1A518 - .incbin "graphics/battle_anims/sprites/135.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Impact:: @ 8D1A5F0 - .incbin "graphics/battle_anims/sprites/135.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Particles:: @ 8D1A608 - .incbin "graphics/battle_anims/sprites/particles.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_CircleImpact:: @ 8D1A6B8 - .incbin "graphics/battle_anims/sprites/136.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_CircleImpact:: @ 8D1A6DC - .incbin "graphics/battle_anims/sprites/136.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Scratch:: @ 8D1A704 - .incbin "graphics/battle_anims/sprites/137.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_SharpTeeth:: @ 8D1A908 - .incbin "graphics/battle_anims/sprites/139.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_SharpTeeth:: @ 8D1AAF8 - .incbin "graphics/battle_anims/sprites/139.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Clamp:: @ 8D1AB18 - .incbin "graphics/battle_anims/sprites/145.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Cut:: @ 8D1ACB8 - .incbin "graphics/battle_anims/sprites/138.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_RainbowRings:: @ 8D1AE04 - .incbin "graphics/battle_anims/sprites/140.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_RainbowRings:: @ 8D1AE84 - .incbin "graphics/battle_anims/sprites/140.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_IceCrystals:: @ 8D1AEA4 - .incbin "graphics/battle_anims/sprites/141.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_IceCrystals:: @ 8D1AFAC - .incbin "graphics/battle_anims/sprites/141.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_IceSpikes:: @ 8D1AFCC - .incbin "graphics/battle_anims/sprites/142.4bpp.lz" - - .align 2 -gFile_graphics_unused_old_beatup_sheet:: @ 8D1B02C - .incbin "graphics/unused/old_beatup.4bpp.lz" - - .align 2 -gFile_graphics_unused_old_beatup_palette:: @ 8D1B0C8 - .incbin "graphics/unused/old_beatup.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Orbs:: @ 8D1B0E4 - .incbin "graphics/battle_anims/sprites/147.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Orbs:: @ 8D1B1F8 - .incbin "graphics/battle_anims/sprites/147.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_WaterOrb:: @ 8D1B220 - .incbin "graphics/battle_anims/sprites/149.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_WaterImpact:: @ 8D1B2F0 - .incbin "graphics/battle_anims/sprites/148.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_WaterImpact:: @ 8D1B3D4 - .incbin "graphics/battle_anims/sprites/148.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_BrownOrb:: @ 8D1B3F4 - .incbin "graphics/battle_anims/sprites/259.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_MudSand:: @ 8D1B414 - .incbin "graphics/battle_anims/sprites/074.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_MudSand:: @ 8D1B47C - .incbin "graphics/battle_anims/sprites/074.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_PoisonBubble:: @ 8D1B4A0 - .incbin "graphics/battle_anims/sprites/150.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_PoisonBubble:: @ 8D1B574 - .incbin "graphics/battle_anims/sprites/150.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_ToxicBubble:: @ 8D1B590 - .incbin "graphics/battle_anims/sprites/151.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_HornHit2:: @ 8D1B688 - .incbin "graphics/battle_anims/sprites/153.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_HornHit2:: @ 8D1B6F4 - .incbin "graphics/battle_anims/sprites/153.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_AirWave2:: @ 8D1B70C - .incbin "graphics/battle_anims/sprites/154.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_AirWave2:: @ 8D1B7B8 - .incbin "graphics/battle_anims/sprites/154.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_SmallBubbles:: @ 8D1B7D8 - .incbin "graphics/battle_anims/sprites/155.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_SmallBubbles:: @ 8D1B8A0 - .incbin "graphics/battle_anims/sprites/155.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_RoundShadow:: @ 8D1B8C0 - .incbin "graphics/battle_anims/sprites/156.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_RoundShadow:: @ 8D1BAD8 - .incbin "graphics/battle_anims/sprites/156.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Sunlight:: @ 8D1BB00 - .incbin "graphics/battle_anims/sprites/157.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Sunlight:: @ 8D1BB64 - .incbin "graphics/battle_anims/sprites/157.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Spore:: @ 8D1BB7C - .incbin "graphics/battle_anims/sprites/158.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Spore:: @ 8D1BC44 - .incbin "graphics/battle_anims/sprites/158.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Flower:: @ 8D1BC68 - .incbin "graphics/battle_anims/sprites/159.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Flower:: @ 8D1BCE4 - .incbin "graphics/battle_anims/sprites/159.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_RazorLeaf:: @ 8D1BD0C - .incbin "graphics/battle_anims/sprites/160.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_RazorLeaf:: @ 8D1BDB4 - .incbin "graphics/battle_anims/sprites/160.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_MistCloud:: @ 8D1BDDC - .incbin "graphics/battle_anims/sprites/144.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_MistCloud:: @ 8D1BE54 - .incbin "graphics/battle_anims/sprites/144.gbapal.lz" - - .align 2 -gFile_graphics_unknown_unknown_D1BE74_sheet:: @ 8D1BE74 - .incbin "graphics/unknown/unknown_D1BE74.4bpp.lz" - - .align 2 -gFile_graphics_unknown_unknown_D1BE74_palette:: @ 8D1BE9C - .incbin "graphics/unknown/unknown_D1BE74.gbapal.lz" - - .align 2 -gFile_graphics_unknown_unknown_D1BE74_tilemap:: @ 8D1BEB4 - .incbin "graphics/unknown/unknown_D1BE74.bin.lz" - - .align 2 -gBattleAnimSpriteGfx_WhirlwindLines:: @ 8D1BFB8 - .incbin "graphics/battle_anims/sprites/162.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_WhirlwindLines:: @ 8D1C03C - .incbin "graphics/battle_anims/sprites/162.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_GoldRing:: @ 8D1C05C - .incbin "graphics/battle_anims/sprites/163.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_GoldRing:: @ 8D1C0BC - .incbin "graphics/battle_anims/sprites/163.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_BlueRing2:: @ 8D1C0D4 - .incbin "graphics/battle_anims/sprites/288.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_PurpleRing:: @ 8D1C0EC - .incbin "graphics/battle_anims/sprites/164.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_BlueRing:: @ 8D1C104 - .incbin "graphics/battle_anims/sprites/165.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_GreenLightWall:: @ 8D1C11C - .incbin "graphics/battle_anims/sprites/166.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_GreenLightWall:: @ 8D1C428 - .incbin "graphics/battle_anims/sprites/166.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_BlueLightWall:: @ 8D1C448 - .incbin "graphics/battle_anims/sprites/167.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_RedLightWall:: @ 8D1C468 - .incbin "graphics/battle_anims/sprites/168.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_GrayLightWall:: @ 8D1C488 - .incbin "graphics/battle_anims/sprites/169.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_OrangeLightWall:: @ 8D1C4A8 - .incbin "graphics/battle_anims/sprites/170.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_BlackBall2:: @ 8D1C4C8 - .incbin "graphics/battle_anims/sprites/171.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_BlackBall2:: @ 8D1C514 - .incbin "graphics/battle_anims/sprites/171.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_PurpleGasCloud:: @ 8D1C53C - .incbin "graphics/battle_anims/sprites/172.gbapal.lz" - - .align 2 -gFile_graphics_contest_judge_sheet:: @ 8D1C55C - .incbin "graphics/contest/judge.4bpp.lz" - - .align 2 -gFile_graphics_contest_judge_palette:: @ 8D1C830 - .incbin "graphics/contest/judge.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Spark:: @ 8D1C858 - .incbin "graphics/battle_anims/sprites/001.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Spark:: @ 8D1C90C - .incbin "graphics/battle_anims/sprites/001.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_SparkH:: @ 8D1C934 - .incbin "graphics/battle_anims/sprites/173.4bpp.lz" - - .align 2 -gBattleAnimBgImage_Dark:: @ 8D1C9BC - .incbin "graphics/battle_anims/backgrounds/00.4bpp.lz" - - .align 2 -gBattleAnimBgPalette_Dark:: @ 8D1CFB4 - .incbin "graphics/battle_anims/backgrounds/00.gbapal.lz" - - .align 2 -gBattleAnimBgTilemap_Dark:: @ 8D1CFD4 - .incbin "graphics/battle_anims/backgrounds/00.bin.lz" - - .align 2 -gMetalShineGfx:: @ 8D1D224 - .incbin "graphics/battle_anims/masks/metal_shine.4bpp.lz" - - .align 2 -gMetalShinePalette:: @ 8D1D360 - .incbin "graphics/battle_anims/masks/metal_shine.gbapal.lz" - - .align 2 -gMetalShineTilemap:: @ 8D1D388 - .incbin "graphics/battle_anims/masks/metal_shine.bin.lz" - - .align 2 -gFile_graphics_unused_goosuto_sheet:: @ 8D1D4FC - .incbin "graphics/unused/goosuto.4bpp.lz" - - .align 2 -gFile_graphics_unused_goosuto_palette:: @ 8D1D60C - .incbin "graphics/unused/goosuto.gbapal.lz" - - .align 2 -gFile_graphics_unused_goosuto_tilemap:: @ 8D1D624 - .incbin "graphics/unused/goosuto.bin.lz" - - .align 2 -gBattleAnimSpriteGfx_YellowStar:: @ 8D1D774 - .incbin "graphics/battle_anims/sprites/174.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_YellowStar:: @ 8D1D814 - .incbin "graphics/battle_anims/sprites/174.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_LargeFreshEgg:: @ 8D1D83C - .incbin "graphics/battle_anims/sprites/175.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_LargeFreshEgg:: @ 8D1D8A0 - .incbin "graphics/battle_anims/sprites/175.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_ShadowBall:: @ 8D1D8C8 - .incbin "graphics/battle_anims/sprites/176.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_ShadowBall:: @ 8D1DA20 - .incbin "graphics/battle_anims/sprites/176.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Lick:: @ 8D1DA48 - .incbin "graphics/battle_anims/sprites/177.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Lick:: @ 8D1DB0C - .incbin "graphics/battle_anims/sprites/177.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_VoidLines:: @ 8D1DB24 - .incbin "graphics/battle_anims/sprites/178.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_VoidLines:: @ 8D1DC8C - .incbin "graphics/battle_anims/sprites/178.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_String:: @ 8D1DCB4 - .incbin "graphics/battle_anims/sprites/179.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_String:: @ 8D1DCDC - .incbin "graphics/battle_anims/sprites/179.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_WebThread:: @ 8D1DDB8 - .incbin "graphics/battle_anims/sprites/180.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_SpiderWeb:: @ 8D1DDD0 - .incbin "graphics/battle_anims/sprites/181.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Lightbulb:: @ 8D1E160 - .incbin "graphics/battle_anims/sprites/182.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Lightbulb:: @ 8D1E204 - .incbin "graphics/battle_anims/sprites/182.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Slash:: @ 8D1E22C - .incbin "graphics/battle_anims/sprites/183.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Slash:: @ 8D1E4A4 - .incbin "graphics/battle_anims/sprites/183.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_FocusEnergy:: @ 8D1E4CC - .incbin "graphics/battle_anims/sprites/184.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_FocusEnergy:: @ 8D1E620 - .incbin "graphics/battle_anims/sprites/184.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_SphereToCube:: @ 8D1E648 - .incbin "graphics/battle_anims/sprites/185.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_SphereToCube:: @ 8D1EA5C - .incbin "graphics/battle_anims/sprites/185.gbapal.lz" - - .align 2 -gBattleAnimBgImage_Psychic:: @ 8D1EA84 - .incbin "graphics/battle_anims/backgrounds/03.4bpp.lz" - - .align 2 -gBattleAnimBgPalette_Psychic:: @ 8D1EC54 - .incbin "graphics/battle_anims/backgrounds/03.gbapal.lz" - - .align 2 -gBattleAnimBgTilemap_Psychic:: @ 8D1EC78 - .incbin "graphics/battle_anims/backgrounds/03.bin.lz" - - .align 2 -gBattleAnimSpriteGfx_Eye:: @ 8D1ED40 - .incbin "graphics/battle_anims/sprites/187.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Eye:: @ 8D1EF30 - .incbin "graphics/battle_anims/sprites/187.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Tendrils:: @ 8D1EF50 - .incbin "graphics/battle_anims/sprites/186.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Tendrils:: @ 8D1F31C - .incbin "graphics/battle_anims/sprites/186.gbapal.lz" - - .align 2 -gHealthboxSinglesPlayerGfx:: @ 8D1F340 - .incbin "graphics/battle_interface/healthbox_singles_player.4bpp.lz" - - .align 2 -gHealthboxSinglesOpponentGfx:: @ 8D1F604 - .incbin "graphics/battle_interface/healthbox_singles_opponent.4bpp.lz" - - .align 2 -gHealthboxDoublesPlayerGfx:: @ 8D1F794 - .incbin "graphics/battle_interface/healthbox_doubles_player.4bpp.lz" - - .align 2 -gHealthboxDoublesOpponentGfx:: @ 8D1F928 - .incbin "graphics/battle_interface/healthbox_doubles_opponent.4bpp.lz" - - .align 2 -gHealthboxSafariGfx:: @ 8D1FABC - .incbin "graphics/battle_interface/healthbox_safari.4bpp.lz" - - .align 2 -gFile_graphics_unused_shadow_sheet:: @ 8D1FD34 - .incbin "graphics/unused/shadow.4bpp.lz" - - .align 2 -gFile_graphics_unused_shadow_palette:: @ 8D1FD94 - .incbin "graphics/unused/shadow.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_LockOn:: @ 8D1FDA8 - .incbin "graphics/battle_anims/sprites/014.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_LockOn:: @ 8D1FE3C - .incbin "graphics/battle_anims/sprites/014.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_OpeningEye:: @ 8D1FE58 - .incbin "graphics/battle_anims/sprites/190.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_OpeningEye:: @ 8D200B4 - .incbin "graphics/battle_anims/sprites/190.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_RoundWhiteHalo:: @ 8D200D8 - .incbin "graphics/battle_anims/sprites/191.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_RoundWhiteHalo:: @ 8D20344 - .incbin "graphics/battle_anims/sprites/191.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_TealAlert:: @ 8D2036C - .incbin "graphics/battle_anims/sprites/189.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_TealAlert:: @ 8D203F0 - .incbin "graphics/battle_anims/sprites/189.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_FangAttack:: @ 8D20410 - .incbin "graphics/battle_anims/sprites/192.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_FangAttack:: @ 8D20690 - .incbin "graphics/battle_anims/sprites/192.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_PurpleHandOutline:: @ 8D206B8 - .incbin "graphics/battle_anims/sprites/193.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_PurpleHandOutline:: @ 8D20814 - .incbin "graphics/battle_anims/sprites/193.gbapal.lz" - - .align 2 -gFile_graphics_battle_anims_masks_curse_sheet:: @ 8D2083C - .incbin "graphics/battle_anims/masks/curse.4bpp.lz" - - .align 2 -gFile_graphics_battle_anims_masks_curse_tilemap:: @ 8D20858 - .incbin "graphics/battle_anims/masks/curse.bin.lz" - - .align 2 -gBattleAnimSpriteGfx_Pencil:: @ 8D20958 - .incbin "graphics/battle_anims/sprites/002.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Pencil:: @ 8D20A3C - .incbin "graphics/battle_anims/sprites/002.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Spiral:: @ 8D20A64 - .incbin "graphics/battle_anims/sprites/196.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Spiral:: @ 8D20E08 - .incbin "graphics/battle_anims/sprites/196.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Moon:: @ 8D20E20 - .incbin "graphics/battle_anims/sprites/194.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Moon:: @ 8D21158 - .incbin "graphics/battle_anims/sprites/194.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_GreenSparkle:: @ 8D21180 - .incbin "graphics/battle_anims/sprites/195.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_GreenSparkle:: @ 8D21238 - .incbin "graphics/battle_anims/sprites/195.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_SnoreZ:: @ 8D21258 - .incbin "graphics/battle_anims/sprites/197.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_SnoreZ:: @ 8D213C8 - .incbin "graphics/battle_anims/sprites/197.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Explosion:: @ 8D213F0 - .incbin "graphics/battle_anims/sprites/198.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Explosion:: @ 8D217E0 - .incbin "graphics/battle_anims/sprites/198.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Nail:: @ 8D21808 - .incbin "graphics/battle_anims/sprites/199.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Nail:: @ 8D218D0 - .incbin "graphics/battle_anims/sprites/199.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_GhostlySpirit:: @ 8D218EC - .incbin "graphics/battle_anims/sprites/200.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_GhostlySpirit:: @ 8D21A2C - .incbin "graphics/battle_anims/sprites/200.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_WarmRock:: @ 8D21A48 - .incbin "graphics/battle_anims/sprites/201.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_WarmRock:: @ 8D220B8 - .incbin "graphics/battle_anims/sprites/201.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_PunchImpact:: @ 8D220E0 - .incbin "graphics/battle_anims/sprites/204.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_PunchImpact:: @ 8D22254 - .incbin "graphics/battle_anims/sprites/204.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_BreakingEgg:: @ 8D2227C - .incbin "graphics/battle_anims/sprites/202.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_BreakingEgg:: @ 8D223E4 - .incbin "graphics/battle_anims/sprites/202.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_ThinRing:: @ 8D22408 - .incbin "graphics/battle_anims/sprites/203.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_ThinRing:: @ 8D225B4 - .incbin "graphics/battle_anims/sprites/203.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_MusicNotes2:: @ 8D225D8 - .incbin "graphics/battle_anims/sprites/206.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_MusicNotes2:: @ 8D227E4 - .incbin "graphics/battle_anims/sprites/206.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Bell:: @ 8D22878 - .incbin "graphics/battle_anims/sprites/205.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Bell:: @ 8D22AAC - .incbin "graphics/battle_anims/sprites/205.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_SpeedDust:: @ 8D22AD0 - .incbin "graphics/battle_anims/sprites/207.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_SpeedDust:: @ 8D22B9C - .incbin "graphics/battle_anims/sprites/207.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_TornMetal:: @ 8D22BC0 - .incbin "graphics/battle_anims/sprites/208.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_ThoughtBubble:: @ 8D22FB0 - .incbin "graphics/battle_anims/sprites/209.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_ThoughtBubble:: @ 8D232B8 - .incbin "graphics/battle_anims/sprites/209.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Finger:: @ 8D232D8 - .incbin "graphics/battle_anims/sprites/064.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Finger:: @ 8D233C8 - .incbin "graphics/battle_anims/sprites/064.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_MagentaHeart:: @ 8D233EC - .incbin "graphics/battle_anims/sprites/210.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_PinkHeart:: @ 8D23454 - .incbin "graphics/battle_anims/sprites/219.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_MagentaHeart:: @ 8D23474 - .incbin "graphics/battle_anims/sprites/210.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_RedHeart:: @ 8D23494 - .incbin "graphics/battle_anims/sprites/216.gbapal.lz" - - .align 2 -gBattleAnimBg_AttractGfx:: @ 8D234B4 - .incbin "graphics/battle_anims/backgrounds/attract.4bpp.lz" - - .align 2 -gBattleAnimBg_AttractPal:: @ 8D23F24 - .incbin "graphics/battle_anims/backgrounds/attract.gbapal.lz" - - .align 2 -gBattleAnimBg_AttractTilemap:: @ 8D23F4C - .incbin "graphics/battle_anims/backgrounds/attract.bin.lz" - - .align 2 -gBattleAnimSpriteGfx_RedOrb:: @ 8D241C8 - .incbin "graphics/battle_anims/sprites/217.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_RedOrb:: @ 8D24230 - .incbin "graphics/battle_anims/sprites/217.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_CircleOfLight:: @ 8D24250 - .incbin "graphics/battle_anims/sprites/212.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_ElectricOrbs:: @ 8D24484 - .incbin "graphics/battle_anims/sprites/211.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Electricity:: @ 8D244D4 - .incbin "graphics/battle_anims/sprites/213.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_ElectricOrbs:: @ 8D24740 - .incbin "graphics/battle_anims/sprites/211.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Finger2:: @ 8D24764 - .incbin "graphics/battle_anims/sprites/214.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_MovementWaves:: @ 8D249F4 - .incbin "graphics/battle_anims/sprites/215.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_MovementWaves:: @ 8D24B80 - .incbin "graphics/battle_anims/sprites/215.gbapal.lz" - - .align 2 -gBattleAnim_ScaryFacePal:: @ 8D24BA4 - .incbin "graphics/battle_anims/backgrounds/scary_face.gbapal.lz" - - .align 2 -gBattleAnim_ScaryFaceGfx:: @ 8D24BCC - .incbin "graphics/battle_anims/backgrounds/scary_face.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_EyeSparkle:: @ 8D24DFC - .incbin "graphics/battle_anims/sprites/218.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_EyeSparkle:: @ 8D24E24 - .incbin "graphics/battle_anims/sprites/218.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Anger:: @ 8D24ED0 - .incbin "graphics/battle_anims/sprites/087.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Anger:: @ 8D24F28 - .incbin "graphics/battle_anims/sprites/087.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Conversion:: @ 8D24F50 - .incbin "graphics/battle_anims/sprites/018.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Conversion:: @ 8D24F8C - .incbin "graphics/battle_anims/sprites/018.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_Angel:: @ 8D24FA8 - .incbin "graphics/battle_anims/sprites/220.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Angel:: @ 8D24FD0 - .incbin "graphics/battle_anims/sprites/220.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Devil:: @ 8D250FC - .incbin "graphics/battle_anims/sprites/221.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Devil:: @ 8D2511C - .incbin "graphics/battle_anims/sprites/221.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Swipe:: @ 8D25380 - .incbin "graphics/battle_anims/sprites/222.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Swipe:: @ 8D2566C - .incbin "graphics/battle_anims/sprites/222.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_Roots:: @ 8D25694 - .incbin "graphics/battle_anims/sprites/223.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Roots:: @ 8D256B4 - .incbin "graphics/battle_anims/sprites/223.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_ItemBag:: @ 8D25948 - .incbin "graphics/battle_anims/sprites/224.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_ItemBag:: @ 8D25968 - .incbin "graphics/battle_anims/sprites/224.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_TriForceTriangle:: @ 8D25A64 - .incbin "graphics/battle_anims/sprites/230.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_TriForceTriangle:: @ 8D25A8C - .incbin "graphics/battle_anims/sprites/230.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_LetterZ:: @ 8D25CD0 - .incbin "graphics/battle_anims/sprites/228.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_LetterZ:: @ 8D25CF0 - .incbin "graphics/battle_anims/sprites/228.4bpp.lz" - - .align 2 -gBattleAnimBgPalette_Impact:: @ 8D25D98 - .incbin "graphics/battle_anims/backgrounds/04.gbapal.lz" - - .align 2 -gBattleAnimBgImage_Impact:: @ 8D25DC0 - .incbin "graphics/battle_anims/backgrounds/04.4bpp.lz" - - .align 2 -gBattleAnimBgTilemap_ImpactOpponent:: @ 8D26B2C - .incbin "graphics/battle_anims/backgrounds/04.bin.lz" - - .align 2 -gBattleAnimBgTilemap_ImpactPlayer:: @ 8D27028 - .incbin "graphics/battle_anims/backgrounds/05.bin.lz" - - .align 2 -gBattleAnimBgTilemap_ImpactContests:: @ 8D274F8 - .incbin "graphics/battle_anims/backgrounds/06.bin.lz" - - .align 2 -gBattleAnimSpriteGfx_JaggedMusicNote:: @ 8D27938 - .incbin "graphics/battle_anims/sprites/225.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_JaggedMusicNote:: @ 8D27ABC - .incbin "graphics/battle_anims/sprites/225.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Spotlight:: @ 8D27AE4 - .incbin "graphics/battle_anims/sprites/227.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Pokeball:: @ 8D27C2C - .incbin "graphics/battle_anims/sprites/226.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Pokeball:: @ 8D27CB8 - .incbin "graphics/battle_anims/sprites/226.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_RapidSpin:: @ 8D27CDC - .incbin "graphics/battle_anims/sprites/229.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_RapidSpin:: @ 8D27E98 - .incbin "graphics/battle_anims/sprites/229.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_MilkBottle:: @ 8D27EC0 - .incbin "graphics/battle_anims/sprites/099.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_MilkBottle:: @ 8D27FE0 - .incbin "graphics/battle_anims/sprites/099.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_WispFire:: @ 8D28008 - .incbin "graphics/battle_anims/sprites/232.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_WispOrb:: @ 8D28540 - .incbin "graphics/battle_anims/sprites/231.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_WispOrb:: @ 8D28568 - .incbin "graphics/battle_anims/sprites/231.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_GoldStars:: @ 8D28738 - .incbin "graphics/battle_anims/sprites/233.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_GoldStars:: @ 8D287BC - .incbin "graphics/battle_anims/sprites/233.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_EclipsingOrb:: @ 8D287E4 - .incbin "graphics/battle_anims/sprites/234.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_EclipsingOrb:: @ 8D289A4 - .incbin "graphics/battle_anims/sprites/234.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_PinkPetal:: @ 8D289C8 - .incbin "graphics/battle_anims/sprites/238.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_PinkPetal:: @ 8D28A30 - .incbin "graphics/battle_anims/sprites/238.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_GrayOrb:: @ 8D28A54 - .incbin "graphics/battle_anims/sprites/235.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_GrayOrb:: @ 8D28AA4 - .incbin "graphics/battle_anims/sprites/235.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_BlueOrb:: @ 8D28AC0 - .incbin "graphics/battle_anims/sprites/236.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_RedOrb2:: @ 8D28ADC - .incbin "graphics/battle_anims/sprites/237.gbapal.lz" - - .align 2 -gBattleAnimBgImage_Drill:: @ 8D28AF8 - .incbin "graphics/battle_anims/backgrounds/07.4bpp.lz" - - .align 2 -gBattleAnimBgPalette_Drill:: @ 8D28CA0 - .incbin "graphics/battle_anims/backgrounds/07.gbapal.lz" - - .align 2 -gBattleAnimBgPalette_Sky:: @ 8D28CC8 - .incbin "graphics/battle_anims/backgrounds/18.gbapal.lz" - - .align 2 -gBattleAnimBgTilemap_Drill:: @ 8D28CF0 - .incbin "graphics/battle_anims/backgrounds/07.bin.lz" - - .align 2 -gBattleAnimBgTilemap_DrillContests:: @ 8D28E80 - .incbin "graphics/battle_anims/backgrounds/08.bin.lz" - - .align 2 -gBattleAnimBgImage_Aurora:: @ 8D2900C - .incbin "graphics/battle_anims/backgrounds/20.4bpp.lz" - - .align 2 -gBattleAnimBgPalette_Aurora:: @ 8D29A34 - .incbin "graphics/battle_anims/backgrounds/20.gbapal.lz" - - .align 2 -gBattleAnimBgTilemap_Aurora:: @ 8D29A54 - .incbin "graphics/battle_anims/backgrounds/20.bin.lz" - - .align 2 -gBattleAnimBgTilemap_HighspeedOpponent:: @ 8D29C58 - .incbin "graphics/battle_anims/backgrounds/09.bin.lz" - - .align 2 -gBattleAnimBgPalette_Highspeed:: @ 8D29F50 - .incbin "graphics/battle_anims/backgrounds/09.gbapal.lz" - - .align 2 -gBattleAnimBgPalette_Bug:: @ 8D29F70 - .incbin "graphics/battle_anims/backgrounds/22.gbapal.lz" - - .align 2 -gBattleAnimBgImage_Highspeed:: @ 8D29F90 - .incbin "graphics/battle_anims/backgrounds/09.4bpp.lz" - - .align 2 -gBattleAnimBgTilemap_HighspeedPlayer:: @ 8D2A510 - .incbin "graphics/battle_anims/backgrounds/10.bin.lz" - - .align 2 -gBattleAnim_MorningSunGfx:: @ 8D2A808 - .incbin "graphics/battle_anims/masks/morning_sun.4bpp.lz" - - .align 2 -gBattleAnim_MorningSunPal:: @ 8D2A8A8 - .incbin "graphics/battle_anims/masks/morning_sun.gbapal.lz" - - .align 2 -gBattleAnim_MorningSunTilemap:: @ 8D2A8C0 - .incbin "graphics/battle_anims/masks/morning_sun.bin.lz" - - .align 2 -gBattleAnimBgTilemap_GuillotineOpponent:: @ 8D2A9DC - .incbin "graphics/battle_anims/backgrounds/12.bin.lz" - - .align 2 -gBattleAnimBgTilemap_GuillotinePlayer:: @ 8D2ACA4 - .incbin "graphics/battle_anims/backgrounds/13.bin.lz" - - .align 2 -gBattleAnimBgTilemap_GuillotineContests:: @ 8D2AFA0 - .incbin "graphics/battle_anims/backgrounds/14.bin.lz" - - .align 2 -gBattleAnimBgImage_Guillotine:: @ 8D2B230 - .incbin "graphics/battle_anims/backgrounds/12.4bpp.lz" - - .align 2 -gBattleAnimBgPalette_Guillotine:: @ 8D2BF98 - .incbin "graphics/battle_anims/backgrounds/12.gbapal.lz" - - .align 2 -gBattleAnimBgImage_Thunder:: @ 8D2BFB8 - .incbin "graphics/battle_anims/backgrounds/11.4bpp.lz" - - .align 2 -gBattleAnimBgPalette_Thunder:: @ 8D2C954 - .incbin "graphics/battle_anims/backgrounds/11.gbapal.lz" - - .align 2 -gBattleAnimBgTilemap_Thunder:: @ 8D2C97C - .incbin "graphics/battle_anims/backgrounds/11.bin.lz" - - .align 2 -gBattleAnimSpriteGfx_PainSplit:: @ 8D2CC74 - .incbin "graphics/battle_anims/sprites/239.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_PainSplit:: @ 8D2CD58 - .incbin "graphics/battle_anims/sprites/239.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_HandsAndFeet:: @ 8D2CD80 - .incbin "graphics/battle_anims/sprites/143.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_HandsAndFeet:: @ 8D2CFB0 - .incbin "graphics/battle_anims/sprites/143.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Confetti:: @ 8D2CFC8 - .incbin "graphics/battle_anims/sprites/240.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Confetti:: @ 8D2D068 - .incbin "graphics/battle_anims/sprites/240.gbapal.lz" - - .align 2 -gSubstituteDollPal:: @ 8D2D090 - .incbin "graphics/battle_anims/sprites/substitute.gbapal.lz" - - .align 2 -gSubstituteDollGfx:: @ 8D2D0B4 - .incbin "graphics/battle_anims/sprites/substitute.4bpp.lz" - - .align 2 -gSubstituteDollTilemap:: @ 8D2D2F4 - .incbin "graphics/battle_anims/sprites/substitute.bin.lz" - - .align 2 -gBattleAnimSpriteGfx_GreenStar:: @ 8D2D51C - .incbin "graphics/battle_anims/sprites/241.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_GreenStar:: @ 8D2D5E0 - .incbin "graphics/battle_anims/sprites/241.gbapal.lz" - - .align 2 -gFile_graphics_misc_confetti_sheet:: @ 8D2D5FC - .incbin "graphics/misc/confetti.4bpp.lz" - - .align 2 -gFile_graphics_misc_confetti_palette:: @ 8D2D71C - .incbin "graphics/misc/confetti.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_PinkCloud:: @ 8D2D744 - .incbin "graphics/battle_anims/sprites/242.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_PinkCloud:: @ 8D2D880 - .incbin "graphics/battle_anims/sprites/242.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_SweatDrop:: @ 8D2D8A4 - .incbin "graphics/battle_anims/sprites/243.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_SweatDrop:: @ 8D2D8CC - .incbin "graphics/battle_anims/sprites/243.gbapal.lz" - - .align 2 -gBattleStatMask_Gfx:: @ 8D2D8F4 - .incbin "graphics/battle_anims/masks/stat.4bpp.lz" - - .align 2 -gBattleStatMask1_Tilemap:: @ 8D2DB04 - .incbin "graphics/battle_anims/masks/stat_tilemap_1.bin.lz" - - .align 2 -gBattleStatMask2_Tilemap:: @ 8D2DC20 - .incbin "graphics/battle_anims/masks/stat_tilemap_2.bin.lz" - - .align 2 -gBattleStatMask1_Pal:: @ 8D2DD3C - .incbin "graphics/battle_anims/masks/stat1.gbapal.lz" - - .align 2 -gBattleStatMask2_Pal:: @ 8D2DD5C - .incbin "graphics/battle_anims/masks/stat2.gbapal.lz" - - .align 2 -gBattleStatMask3_Pal:: @ 8D2DD7C - .incbin "graphics/battle_anims/masks/stat3.gbapal.lz" - - .align 2 -gBattleStatMask4_Pal:: @ 8D2DD9C - .incbin "graphics/battle_anims/masks/stat4.gbapal.lz" - - .align 2 -gBattleStatMask5_Pal:: @ 8D2DDBC - .incbin "graphics/battle_anims/masks/stat5.gbapal.lz" - - .align 2 -gBattleStatMask6_Pal:: @ 8D2DDDC - .incbin "graphics/battle_anims/masks/stat6.gbapal.lz" - - .align 2 -gBattleStatMask7_Pal:: @ 8D2DDFC - .incbin "graphics/battle_anims/masks/stat7.gbapal.lz" - - .align 2 -gBattleStatMask8_Pal:: @ 8D2DE1C - .incbin "graphics/battle_anims/masks/stat8.gbapal.lz" - - .align 2 -gCureBubblesGfx:: @ 8D2DE3C - .incbin "graphics/battle_anims/masks/cure_bubbles.4bpp.lz" - - .align 2 -gCureBubblesPal:: @ 8D2DF78 - .incbin "graphics/battle_anims/masks/cure_bubbles.gbapal.lz" - - .align 2 -gCureBubblesTilemap:: @ 8D2DF98 - .incbin "graphics/battle_anims/masks/cure_bubbles.bin.lz" - - .align 2 -gBattleAnimSpritePal_PurpleScratch:: @ 8D2E0B4 - .incbin "graphics/battle_anims/sprites/245.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_PurpleScratch:: @ 8D2E0DC - .incbin "graphics/battle_anims/sprites/245.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_PurpleSwipe:: @ 8D2E280 - .incbin "graphics/battle_anims/sprites/246.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_GuardRing:: @ 8D2E728 - .incbin "graphics/battle_anims/sprites/244.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_GuardRing:: @ 8D2E804 - .incbin "graphics/battle_anims/sprites/244.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_TagHand:: @ 8D2E820 - .incbin "graphics/battle_anims/sprites/247.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_NoiseLine:: @ 8D2EA04 - .incbin "graphics/battle_anims/sprites/053.4bpp.lz" - - .align 2 -gUnknown_D2EC24_Gfx:: @ 8D2EC24 - .incbin "graphics/battle_anims/masks/unknown_D2EC24.4bpp.lz" - - .align 2 -gUnknown_D2EC24_Tilemap:: @ 8D2EC70 - .incbin "graphics/battle_anims/masks/unknown_D2EC24.bin.lz" - - .align 2 -gBattleAnimSpriteGfx_SmallRedEye:: @ 8D2ED78 - .incbin "graphics/battle_anims/sprites/248.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_SmallRedEye:: @ 8D2ED90 - .incbin "graphics/battle_anims/sprites/248.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_HollowOrb:: @ 8D2EDA8 - .incbin "graphics/battle_anims/sprites/249.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_HollowOrb:: @ 8D2EDF8 - .incbin "graphics/battle_anims/sprites/249.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_XSign:: @ 8D2EE18 - .incbin "graphics/battle_anims/sprites/250.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_BluegreenOrb:: @ 8D2F00C - .incbin "graphics/battle_anims/sprites/251.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_BluegreenOrb:: @ 8D2F070 - .incbin "graphics/battle_anims/sprites/251.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_PawPrint:: @ 8D2F088 - .incbin "graphics/battle_anims/sprites/252.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_PawPrint:: @ 8D2F1A0 - .incbin "graphics/battle_anims/sprites/252.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_PurpleFlame:: @ 8D2F1C4 - .incbin "graphics/battle_anims/sprites/253.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_PurpleFlame:: @ 8D2F3A0 - .incbin "graphics/battle_anims/sprites/253.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_RedBall:: @ 8D2F3C8 - .incbin "graphics/battle_anims/sprites/254.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_RedBall:: @ 8D2F500 - .incbin "graphics/battle_anims/sprites/254.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_SmellingsaltEffect:: @ 8D2F528 - .incbin "graphics/battle_anims/sprites/255.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_SmellingsaltEffect:: @ 8D2F5A0 - .incbin "graphics/battle_anims/sprites/255.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_MagnifyingGlass:: @ 8D2F5B4 - .incbin "graphics/battle_anims/sprites/258.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_MagnifyingGlass:: @ 8D2F69C - .incbin "graphics/battle_anims/sprites/258.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Meteor:: @ 8D2F6C4 - .incbin "graphics/battle_anims/sprites/256.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Meteor:: @ 8D2FA50 - .incbin "graphics/battle_anims/sprites/256.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_FlatRock:: @ 8D2FA78 - .incbin "graphics/battle_anims/sprites/257.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_FlatRock:: @ 8D2FB94 - .incbin "graphics/battle_anims/sprites/257.gbapal.lz" - - .align 2 -gUnknown_8D2FBB4:: @ 8D2FBB4 - .incbin "graphics/interface/unk_8D2FBB4.gbapal" - - .align 2 -gMonFrontPic_Bulbasaur:: @ 8D2FBD4 - .incbin "graphics/pokemon/bulbasaur/front.4bpp.lz" - - .align 2 -gMonPalette_Bulbasaur:: @ 8D2FE78 - .incbin "graphics/pokemon/bulbasaur/normal.gbapal.lz" - - .align 2 -gMonBackPic_Bulbasaur:: @ 8D2FEA0 - .incbin "graphics/pokemon/bulbasaur/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Bulbasaur:: @ 8D30164 - .incbin "graphics/pokemon/bulbasaur/shiny.gbapal.lz" - - .align 2 -gMonIcon_Bulbasaur:: @ 8D3018C - .incbin "graphics/pokemon/bulbasaur/icon.4bpp" - - .align 2 -gMonFootprint_Bulbasaur:: @ 8D3058C - .incbin "graphics/pokemon/bulbasaur/footprint.1bpp" - - .align 2 -gMonFrontPic_Ivysaur:: @ 8D305AC - .incbin "graphics/pokemon/ivysaur/front.4bpp.lz" - - .align 2 -gMonPalette_Ivysaur:: @ 8D308E8 - .incbin "graphics/pokemon/ivysaur/normal.gbapal.lz" - - .align 2 -gMonBackPic_Ivysaur:: @ 8D30910 - .incbin "graphics/pokemon/ivysaur/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Ivysaur:: @ 8D30C64 - .incbin "graphics/pokemon/ivysaur/shiny.gbapal.lz" - - .align 2 -gMonIcon_Ivysaur:: @ 8D30C8C - .incbin "graphics/pokemon/ivysaur/icon.4bpp" - - .align 2 -gMonFootprint_Ivysaur:: @ 8D3108C - .incbin "graphics/pokemon/ivysaur/footprint.1bpp" - - .align 2 -gMonFrontPic_Venusaur:: @ 8D310AC - .incbin "graphics/pokemon/venusaur/front.4bpp.lz" - - .align 2 -gMonPalette_Venusaur:: @ 8D315EC - .incbin "graphics/pokemon/venusaur/normal.gbapal.lz" - - .align 2 -gMonBackPic_Venusaur:: @ 8D31614 - .incbin "graphics/pokemon/venusaur/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Venusaur:: @ 8D31ADC - .incbin "graphics/pokemon/venusaur/shiny.gbapal.lz" - - .align 2 -gMonIcon_Venusaur:: @ 8D31B04 - .incbin "graphics/pokemon/venusaur/icon.4bpp" - - .align 2 -gMonFootprint_Venusaur:: @ 8D31F04 - .incbin "graphics/pokemon/venusaur/footprint.1bpp" - - .align 2 -gMonFrontPic_Charmander:: @ 8D31F24 - .incbin "graphics/pokemon/charmander/front.4bpp.lz" - - .align 2 -gMonPalette_Charmander:: @ 8D321C4 - .incbin "graphics/pokemon/charmander/normal.gbapal.lz" - - .align 2 -gMonBackPic_Charmander:: @ 8D321EC - .incbin "graphics/pokemon/charmander/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Charmander:: @ 8D32470 - .incbin "graphics/pokemon/charmander/shiny.gbapal.lz" - - .align 2 -gMonIcon_Charmander:: @ 8D32498 - .incbin "graphics/pokemon/charmander/icon.4bpp" - - .align 2 -gMonFootprint_Charmander:: @ 8D32898 - .incbin "graphics/pokemon/charmander/footprint.1bpp" - - .align 2 -gMonFrontPic_Charmeleon:: @ 8D328B8 - .incbin "graphics/pokemon/charmeleon/front.4bpp.lz" - - .align 2 -gMonPalette_Charmeleon:: @ 8D32C64 - .incbin "graphics/pokemon/charmeleon/normal.gbapal.lz" - - .align 2 -gMonBackPic_Charmeleon:: @ 8D32C8C - .incbin "graphics/pokemon/charmeleon/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Charmeleon:: @ 8D32F80 - .incbin "graphics/pokemon/charmeleon/shiny.gbapal.lz" - - .align 2 -gMonIcon_Charmeleon:: @ 8D32FA8 - .incbin "graphics/pokemon/charmeleon/icon.4bpp" - - .align 2 -gMonFootprint_Charmeleon:: @ 8D333A8 - .incbin "graphics/pokemon/charmeleon/footprint.1bpp" - - .align 2 -gMonFrontPic_Charizard:: @ 8D333C8 - .incbin "graphics/pokemon/charizard/front.4bpp.lz" - - .align 2 -gMonPalette_Charizard:: @ 8D338C4 - .incbin "graphics/pokemon/charizard/normal.gbapal.lz" - - .align 2 -gMonBackPic_Charizard:: @ 8D338EC - .incbin "graphics/pokemon/charizard/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Charizard:: @ 8D33CF8 - .incbin "graphics/pokemon/charizard/shiny.gbapal.lz" - - .align 2 -gMonIcon_Charizard:: @ 8D33D20 - .incbin "graphics/pokemon/charizard/icon.4bpp" - - .align 2 -gMonFootprint_Charizard:: @ 8D34120 - .incbin "graphics/pokemon/charizard/footprint.1bpp" - - .align 2 -gMonFrontPic_Squirtle:: @ 8D34140 - .incbin "graphics/pokemon/squirtle/front.4bpp.lz" - - .align 2 -gMonPalette_Squirtle:: @ 8D343DC - .incbin "graphics/pokemon/squirtle/normal.gbapal.lz" - - .align 2 -gMonBackPic_Squirtle:: @ 8D34404 - .incbin "graphics/pokemon/squirtle/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Squirtle:: @ 8D3468C - .incbin "graphics/pokemon/squirtle/shiny.gbapal.lz" - - .align 2 -gMonIcon_Squirtle:: @ 8D346B4 - .incbin "graphics/pokemon/squirtle/icon.4bpp" - - .align 2 -gMonFootprint_Squirtle:: @ 8D34AB4 - .incbin "graphics/pokemon/squirtle/footprint.1bpp" - - .align 2 -gMonFrontPic_Wartortle:: @ 8D34AD4 - .incbin "graphics/pokemon/wartortle/front.4bpp.lz" - - .align 2 -gMonPalette_Wartortle:: @ 8D34E80 - .incbin "graphics/pokemon/wartortle/normal.gbapal.lz" - - .align 2 -gMonBackPic_Wartortle:: @ 8D34EA8 - .incbin "graphics/pokemon/wartortle/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Wartortle:: @ 8D351F0 - .incbin "graphics/pokemon/wartortle/shiny.gbapal.lz" - - .align 2 -gMonIcon_Wartortle:: @ 8D35218 - .incbin "graphics/pokemon/wartortle/icon.4bpp" - - .align 2 -gMonFootprint_Wartortle:: @ 8D35618 - .incbin "graphics/pokemon/wartortle/footprint.1bpp" - - .align 2 -gMonFrontPic_Blastoise:: @ 8D35638 - .incbin "graphics/pokemon/blastoise/front.4bpp.lz" - - .align 2 -gMonPalette_Blastoise:: @ 8D35B3C - .incbin "graphics/pokemon/blastoise/normal.gbapal.lz" - - .align 2 -gMonBackPic_Blastoise:: @ 8D35B64 - .incbin "graphics/pokemon/blastoise/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Blastoise:: @ 8D35F78 - .incbin "graphics/pokemon/blastoise/shiny.gbapal.lz" - - .align 2 -gMonIcon_Blastoise:: @ 8D35FA0 - .incbin "graphics/pokemon/blastoise/icon.4bpp" - - .align 2 -gMonFootprint_Blastoise:: @ 8D363A0 - .incbin "graphics/pokemon/blastoise/footprint.1bpp" - - .align 2 -gMonFrontPic_Caterpie:: @ 8D363C0 - .incbin "graphics/pokemon/caterpie/front.4bpp.lz" - - .align 2 -gMonPalette_Caterpie:: @ 8D36618 - .incbin "graphics/pokemon/caterpie/normal.gbapal.lz" - - .align 2 -gMonBackPic_Caterpie:: @ 8D36640 - .incbin "graphics/pokemon/caterpie/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Caterpie:: @ 8D368C8 - .incbin "graphics/pokemon/caterpie/shiny.gbapal.lz" - - .align 2 -gMonIcon_Caterpie:: @ 8D368F0 - .incbin "graphics/pokemon/caterpie/icon.4bpp" - - .align 2 -gMonFootprint_Caterpie:: @ 8D36CF0 - .incbin "graphics/pokemon/caterpie/footprint.1bpp" - - .align 2 -gMonFrontPic_Metapod:: @ 8D36D10 - .incbin "graphics/pokemon/metapod/front.4bpp.lz" - - .align 2 -gMonPalette_Metapod:: @ 8D36F2C - .incbin "graphics/pokemon/metapod/normal.gbapal.lz" - - .align 2 -gMonBackPic_Metapod:: @ 8D36F4C - .incbin "graphics/pokemon/metapod/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Metapod:: @ 8D37168 - .incbin "graphics/pokemon/metapod/shiny.gbapal.lz" - - .align 2 -gMonIcon_Metapod:: @ 8D37188 - .incbin "graphics/pokemon/metapod/icon.4bpp" - - .align 2 -gMonFootprint_Metapod:: @ 8D37588 - .incbin "graphics/pokemon/metapod/footprint.1bpp" - - .align 2 -gMonFrontPic_Butterfree:: @ 8D375A8 - .incbin "graphics/pokemon/butterfree/front.4bpp.lz" - - .align 2 -gMonPalette_Butterfree:: @ 8D37920 - .incbin "graphics/pokemon/butterfree/normal.gbapal.lz" - - .align 2 -gMonBackPic_Butterfree:: @ 8D37948 - .incbin "graphics/pokemon/butterfree/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Butterfree:: @ 8D37D4C - .incbin "graphics/pokemon/butterfree/shiny.gbapal.lz" - - .align 2 -gMonIcon_Butterfree:: @ 8D37D74 - .incbin "graphics/pokemon/butterfree/icon.4bpp" - - .align 2 -gMonFootprint_Butterfree:: @ 8D38174 - .incbin "graphics/pokemon/butterfree/footprint.1bpp" - - .align 2 -gMonFrontPic_Weedle:: @ 8D38194 - .incbin "graphics/pokemon/weedle/front.4bpp.lz" - - .align 2 -gMonPalette_Weedle:: @ 8D383D0 - .incbin "graphics/pokemon/weedle/normal.gbapal.lz" - - .align 2 -gMonBackPic_Weedle:: @ 8D383F8 - .incbin "graphics/pokemon/weedle/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Weedle:: @ 8D38660 - .incbin "graphics/pokemon/weedle/shiny.gbapal.lz" - - .align 2 -gMonIcon_Weedle:: @ 8D38688 - .incbin "graphics/pokemon/weedle/icon.4bpp" - - .align 2 -gMonFootprint_Weedle:: @ 8D38A88 - .incbin "graphics/pokemon/weedle/footprint.1bpp" - - .align 2 -gMonFrontPic_Kakuna:: @ 8D38AA8 - .incbin "graphics/pokemon/kakuna/front.4bpp.lz" - - .align 2 -gMonPalette_Kakuna:: @ 8D38CE8 - .incbin "graphics/pokemon/kakuna/normal.gbapal.lz" - - .align 2 -gMonBackPic_Kakuna:: @ 8D38D0C - .incbin "graphics/pokemon/kakuna/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Kakuna:: @ 8D38F90 - .incbin "graphics/pokemon/kakuna/shiny.gbapal.lz" - - .align 2 -gMonIcon_Kakuna:: @ 8D38FB4 - .incbin "graphics/pokemon/kakuna/icon.4bpp" - - .align 2 -gMonFootprint_Kakuna:: @ 8D393B4 - .incbin "graphics/pokemon/kakuna/footprint.1bpp" - - .align 2 -gMonFrontPic_Beedrill:: @ 8D393D4 - .incbin "graphics/pokemon/beedrill/front.4bpp.lz" - - .align 2 -gMonPalette_Beedrill:: @ 8D397F4 - .incbin "graphics/pokemon/beedrill/normal.gbapal.lz" - - .align 2 -gMonBackPic_Beedrill:: @ 8D3981C - .incbin "graphics/pokemon/beedrill/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Beedrill:: @ 8D39B90 - .incbin "graphics/pokemon/beedrill/shiny.gbapal.lz" - - .align 2 -gMonIcon_Beedrill:: @ 8D39BB8 - .incbin "graphics/pokemon/beedrill/icon.4bpp" - - .align 2 -gMonFootprint_Beedrill:: @ 8D39FB8 - .incbin "graphics/pokemon/beedrill/footprint.1bpp" - - .align 2 -gMonFrontPic_Pidgey:: @ 8D39FD8 - .incbin "graphics/pokemon/pidgey/front.4bpp.lz" - - .align 2 -gMonPalette_Pidgey:: @ 8D3A250 - .incbin "graphics/pokemon/pidgey/normal.gbapal.lz" - - .align 2 -gMonBackPic_Pidgey:: @ 8D3A278 - .incbin "graphics/pokemon/pidgey/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Pidgey:: @ 8D3A5CC - .incbin "graphics/pokemon/pidgey/shiny.gbapal.lz" - - .align 2 -gMonIcon_Pidgey:: @ 8D3A5F4 - .incbin "graphics/pokemon/pidgey/icon.4bpp" - - .align 2 -gMonFootprint_Pidgey:: @ 8D3A9F4 - .incbin "graphics/pokemon/pidgey/footprint.1bpp" - - .align 2 -gMonFrontPic_Pidgeotto:: @ 8D3AA14 - .incbin "graphics/pokemon/pidgeotto/front.4bpp.lz" - - .align 2 -gMonPalette_Pidgeotto:: @ 8D3ADAC - .incbin "graphics/pokemon/pidgeotto/normal.gbapal.lz" - - .align 2 -gMonBackPic_Pidgeotto:: @ 8D3ADD4 - .incbin "graphics/pokemon/pidgeotto/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Pidgeotto:: @ 8D3B120 - .incbin "graphics/pokemon/pidgeotto/shiny.gbapal.lz" - - .align 2 -gMonIcon_Pidgeotto:: @ 8D3B148 - .incbin "graphics/pokemon/pidgeotto/icon.4bpp" - - .align 2 -gMonFootprint_Pidgeotto:: @ 8D3B548 - .incbin "graphics/pokemon/pidgeotto/footprint.1bpp" - - .align 2 -gMonFrontPic_Pidgeot:: @ 8D3B568 - .incbin "graphics/pokemon/pidgeot/front.4bpp.lz" - - .align 2 -gMonPalette_Pidgeot:: @ 8D3BA54 - .incbin "graphics/pokemon/pidgeot/normal.gbapal.lz" - - .align 2 -gMonBackPic_Pidgeot:: @ 8D3BA7C - .incbin "graphics/pokemon/pidgeot/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Pidgeot:: @ 8D3BE64 - .incbin "graphics/pokemon/pidgeot/shiny.gbapal.lz" - - .align 2 -gMonIcon_Pidgeot:: @ 8D3BE8C - .incbin "graphics/pokemon/pidgeot/icon.4bpp" - - .align 2 -gMonFootprint_Pidgeot:: @ 8D3C28C - .incbin "graphics/pokemon/pidgeot/footprint.1bpp" - - .align 2 -gMonFrontPic_Rattata:: @ 8D3C2AC - .incbin "graphics/pokemon/rattata/front.4bpp.lz" - - .align 2 -gMonPalette_Rattata:: @ 8D3C504 - .incbin "graphics/pokemon/rattata/normal.gbapal.lz" - - .align 2 -gMonBackPic_Rattata:: @ 8D3C52C - .incbin "graphics/pokemon/rattata/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Rattata:: @ 8D3C7E4 - .incbin "graphics/pokemon/rattata/shiny.gbapal.lz" - - .align 2 -gMonIcon_Rattata:: @ 8D3C80C - .incbin "graphics/pokemon/rattata/icon.4bpp" - - .align 2 -gMonFootprint_Rattata:: @ 8D3CC0C - .incbin "graphics/pokemon/rattata/footprint.1bpp" - - .align 2 -gMonFrontPic_Raticate:: @ 8D3CC2C - .incbin "graphics/pokemon/raticate/front.4bpp.lz" - - .align 2 -gMonPalette_Raticate:: @ 8D3CFBC - .incbin "graphics/pokemon/raticate/normal.gbapal.lz" - - .align 2 -gMonBackPic_Raticate:: @ 8D3CFE4 - .incbin "graphics/pokemon/raticate/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Raticate:: @ 8D3D2F4 - .incbin "graphics/pokemon/raticate/shiny.gbapal.lz" - - .align 2 -gMonIcon_Raticate:: @ 8D3D31C - .incbin "graphics/pokemon/raticate/icon.4bpp" - - .align 2 -gMonFootprint_Raticate:: @ 8D3D71C - .incbin "graphics/pokemon/raticate/footprint.1bpp" - - .align 2 -gMonFrontPic_Spearow:: @ 8D3D73C - .incbin "graphics/pokemon/spearow/front.4bpp.lz" - - .align 2 -gMonPalette_Spearow:: @ 8D3D9FC - .incbin "graphics/pokemon/spearow/normal.gbapal.lz" - - .align 2 -gMonBackPic_Spearow:: @ 8D3DA24 - .incbin "graphics/pokemon/spearow/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Spearow:: @ 8D3DD00 - .incbin "graphics/pokemon/spearow/shiny.gbapal.lz" - - .align 2 -gMonIcon_Spearow:: @ 8D3DD28 - .incbin "graphics/pokemon/spearow/icon.4bpp" - - .align 2 -gMonFootprint_Spearow:: @ 8D3E128 - .incbin "graphics/pokemon/spearow/footprint.1bpp" - - .align 2 -gMonFrontPic_Fearow:: @ 8D3E148 - .incbin "graphics/pokemon/fearow/front.4bpp.lz" - - .align 2 -gMonPalette_Fearow:: @ 8D3E604 - .incbin "graphics/pokemon/fearow/normal.gbapal.lz" - - .align 2 -gMonBackPic_Fearow:: @ 8D3E62C - .incbin "graphics/pokemon/fearow/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Fearow:: @ 8D3E924 - .incbin "graphics/pokemon/fearow/shiny.gbapal.lz" - - .align 2 -gMonIcon_Fearow:: @ 8D3E94C - .incbin "graphics/pokemon/fearow/icon.4bpp" - - .align 2 -gMonFootprint_Fearow:: @ 8D3ED4C - .incbin "graphics/pokemon/fearow/footprint.1bpp" - - .align 2 -gMonFrontPic_Ekans:: @ 8D3ED6C - .incbin "graphics/pokemon/ekans/front.4bpp.lz" - - .align 2 -gMonPalette_Ekans:: @ 8D3F034 - .incbin "graphics/pokemon/ekans/normal.gbapal.lz" - - .align 2 -gMonBackPic_Ekans:: @ 8D3F05C - .incbin "graphics/pokemon/ekans/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Ekans:: @ 8D3F34C - .incbin "graphics/pokemon/ekans/shiny.gbapal.lz" - - .align 2 -gMonIcon_Ekans:: @ 8D3F374 - .incbin "graphics/pokemon/ekans/icon.4bpp" - - .align 2 -gMonFootprint_Ekans:: @ 8D3F774 - .incbin "graphics/pokemon/ekans/footprint.1bpp" - - .align 2 -gMonFrontPic_Arbok:: @ 8D3F794 - .incbin "graphics/pokemon/arbok/front.4bpp.lz" - - .align 2 -gMonPalette_Arbok:: @ 8D3FC08 - .incbin "graphics/pokemon/arbok/normal.gbapal.lz" - - .align 2 -gMonBackPic_Arbok:: @ 8D3FC30 - .incbin "graphics/pokemon/arbok/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Arbok:: @ 8D3FEB8 - .incbin "graphics/pokemon/arbok/shiny.gbapal.lz" - - .align 2 -gMonIcon_Arbok:: @ 8D3FEE0 - .incbin "graphics/pokemon/arbok/icon.4bpp" - - .align 2 -gMonFootprint_Arbok:: @ 8D402E0 - .incbin "graphics/pokemon/arbok/footprint.1bpp" - - .align 2 -gMonFrontPic_Pikachu:: @ 8D40300 - .incbin "graphics/pokemon/pikachu/front.4bpp.lz" - - .align 2 -gMonPalette_Pikachu:: @ 8D405D0 - .incbin "graphics/pokemon/pikachu/normal.gbapal.lz" - - .align 2 -gMonBackPic_Pikachu:: @ 8D405F8 - .incbin "graphics/pokemon/pikachu/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Pikachu:: @ 8D408D0 - .incbin "graphics/pokemon/pikachu/shiny.gbapal.lz" - - .align 2 -gMonIcon_Pikachu:: @ 8D408F8 - .incbin "graphics/pokemon/pikachu/icon.4bpp" - - .align 2 -gMonFootprint_Pikachu:: @ 8D40CF8 - .incbin "graphics/pokemon/pikachu/footprint.1bpp" - - .align 2 -gMonFrontPic_Raichu:: @ 8D40D18 - .incbin "graphics/pokemon/raichu/front.4bpp.lz" - - .align 2 -gMonPalette_Raichu:: @ 8D41110 - .incbin "graphics/pokemon/raichu/normal.gbapal.lz" - - .align 2 -gMonBackPic_Raichu:: @ 8D41138 - .incbin "graphics/pokemon/raichu/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Raichu:: @ 8D41458 - .incbin "graphics/pokemon/raichu/shiny.gbapal.lz" - - .align 2 -gMonIcon_Raichu:: @ 8D41480 - .incbin "graphics/pokemon/raichu/icon.4bpp" - - .align 2 -gMonFootprint_Raichu:: @ 8D41880 - .incbin "graphics/pokemon/raichu/footprint.1bpp" - - .align 2 -gMonFrontPic_Sandshrew:: @ 8D418A0 - .incbin "graphics/pokemon/sandshrew/front.4bpp.lz" - - .align 2 -gMonPalette_Sandshrew:: @ 8D41B7C - .incbin "graphics/pokemon/sandshrew/normal.gbapal.lz" - - .align 2 -gMonBackPic_Sandshrew:: @ 8D41BA4 - .incbin "graphics/pokemon/sandshrew/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Sandshrew:: @ 8D41ECC - .incbin "graphics/pokemon/sandshrew/shiny.gbapal.lz" - - .align 2 -gMonIcon_Sandshrew:: @ 8D41EF4 - .incbin "graphics/pokemon/sandshrew/icon.4bpp" - - .align 2 -gMonFootprint_Sandshrew:: @ 8D422F4 - .incbin "graphics/pokemon/sandshrew/footprint.1bpp" - - .align 2 -gMonFrontPic_Sandslash:: @ 8D42314 - .incbin "graphics/pokemon/sandslash/front.4bpp.lz" - - .align 2 -gMonPalette_Sandslash:: @ 8D4272C - .incbin "graphics/pokemon/sandslash/normal.gbapal.lz" - - .align 2 -gMonBackPic_Sandslash:: @ 8D42754 - .incbin "graphics/pokemon/sandslash/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Sandslash:: @ 8D42B70 - .incbin "graphics/pokemon/sandslash/shiny.gbapal.lz" - - .align 2 -gMonIcon_Sandslash:: @ 8D42B98 - .incbin "graphics/pokemon/sandslash/icon.4bpp" - - .align 2 -gMonFootprint_Sandslash:: @ 8D42F98 - .incbin "graphics/pokemon/sandslash/footprint.1bpp" - - .align 2 -gMonFrontPic_NidoranF:: @ 8D42FB8 - .incbin "graphics/pokemon/nidoran_f/front.4bpp.lz" - - .align 2 -gMonPalette_NidoranF:: @ 8D4321C - .incbin "graphics/pokemon/nidoran_f/normal.gbapal.lz" - - .align 2 -gMonBackPic_NidoranF:: @ 8D43244 - .incbin "graphics/pokemon/nidoran_f/back.4bpp.lz" - - .align 2 -gMonShinyPalette_NidoranF:: @ 8D43524 - .incbin "graphics/pokemon/nidoran_f/shiny.gbapal.lz" - - .align 2 -gMonIcon_NidoranF:: @ 8D4354C - .incbin "graphics/pokemon/nidoran_f/icon.4bpp" - - .align 2 -gMonFootprint_NidoranF:: @ 8D4394C - .incbin "graphics/pokemon/nidoran_f/footprint.1bpp" - - .align 2 -gMonFrontPic_Nidorina:: @ 8D4396C - .incbin "graphics/pokemon/nidorina/front.4bpp.lz" - - .align 2 -gMonPalette_Nidorina:: @ 8D43C8C - .incbin "graphics/pokemon/nidorina/normal.gbapal.lz" - - .align 2 -gMonBackPic_Nidorina:: @ 8D43CB4 - .incbin "graphics/pokemon/nidorina/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Nidorina:: @ 8D44048 - .incbin "graphics/pokemon/nidorina/shiny.gbapal.lz" - - .align 2 -gMonIcon_Nidorina:: @ 8D44070 - .incbin "graphics/pokemon/nidorina/icon.4bpp" - - .align 2 -gMonFootprint_Nidorina:: @ 8D44470 - .incbin "graphics/pokemon/nidorina/footprint.1bpp" - - .align 2 -gMonFrontPic_Nidoqueen:: @ 8D44490 - .incbin "graphics/pokemon/nidoqueen/front.4bpp.lz" - - .align 2 -gMonPalette_Nidoqueen:: @ 8D448BC - .incbin "graphics/pokemon/nidoqueen/normal.gbapal.lz" - - .align 2 -gMonBackPic_Nidoqueen:: @ 8D448E4 - .incbin "graphics/pokemon/nidoqueen/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Nidoqueen:: @ 8D44CA8 - .incbin "graphics/pokemon/nidoqueen/shiny.gbapal.lz" - - .align 2 -gMonIcon_Nidoqueen:: @ 8D44CD0 - .incbin "graphics/pokemon/nidoqueen/icon.4bpp" - - .align 2 -gMonFootprint_Nidoqueen:: @ 8D450D0 - .incbin "graphics/pokemon/nidoqueen/footprint.1bpp" - - .align 2 -gMonFrontPic_NidoranM:: @ 8D450F0 - .incbin "graphics/pokemon/nidoran_m/front.4bpp.lz" - - .align 2 -gMonPalette_NidoranM:: @ 8D4537C - .incbin "graphics/pokemon/nidoran_m/normal.gbapal.lz" - - .align 2 -gMonBackPic_NidoranM:: @ 8D453A4 - .incbin "graphics/pokemon/nidoran_m/back.4bpp.lz" - - .align 2 -gMonShinyPalette_NidoranM:: @ 8D456D8 - .incbin "graphics/pokemon/nidoran_m/shiny.gbapal.lz" - - .align 2 -gMonIcon_NidoranM:: @ 8D45700 - .incbin "graphics/pokemon/nidoran_m/icon.4bpp" - - .align 2 -gMonFootprint_NidoranM:: @ 8D45B00 - .incbin "graphics/pokemon/nidoran_m/footprint.1bpp" - - .align 2 -gMonFrontPic_Nidorino:: @ 8D45B20 - .incbin "graphics/pokemon/nidorino/front.4bpp.lz" - - .align 2 -gMonPalette_Nidorino:: @ 8D45EA4 - .incbin "graphics/pokemon/nidorino/normal.gbapal.lz" - - .align 2 -gMonBackPic_Nidorino:: @ 8D45ECC - .incbin "graphics/pokemon/nidorino/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Nidorino:: @ 8D46288 - .incbin "graphics/pokemon/nidorino/shiny.gbapal.lz" - - .align 2 -gMonIcon_Nidorino:: @ 8D462B0 - .incbin "graphics/pokemon/nidorino/icon.4bpp" - - .align 2 -gMonFootprint_Nidorino:: @ 8D466B0 - .incbin "graphics/pokemon/nidorino/footprint.1bpp" - - .align 2 -gMonFrontPic_Nidoking:: @ 8D466D0 - .incbin "graphics/pokemon/nidoking/front.4bpp.lz" - - .align 2 -gMonPalette_Nidoking:: @ 8D46C0C - .incbin "graphics/pokemon/nidoking/normal.gbapal.lz" - - .align 2 -gMonBackPic_Nidoking:: @ 8D46C34 - .incbin "graphics/pokemon/nidoking/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Nidoking:: @ 8D47070 - .incbin "graphics/pokemon/nidoking/shiny.gbapal.lz" - - .align 2 -gMonIcon_Nidoking:: @ 8D47098 - .incbin "graphics/pokemon/nidoking/icon.4bpp" - - .align 2 -gMonFootprint_Nidoking:: @ 8D47498 - .incbin "graphics/pokemon/nidoking/footprint.1bpp" - - .align 2 -gMonFrontPic_Clefairy:: @ 8D474B8 - .incbin "graphics/pokemon/clefairy/front.4bpp.lz" - - .align 2 -gMonPalette_Clefairy:: @ 8D47754 - .incbin "graphics/pokemon/clefairy/normal.gbapal.lz" - - .align 2 -gMonBackPic_Clefairy:: @ 8D4777C - .incbin "graphics/pokemon/clefairy/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Clefairy:: @ 8D47A4C - .incbin "graphics/pokemon/clefairy/shiny.gbapal.lz" - - .align 2 -gMonIcon_Clefairy:: @ 8D47A74 - .incbin "graphics/pokemon/clefairy/icon.4bpp" - - .align 2 -gMonFootprint_Clefairy:: @ 8D47E74 - .incbin "graphics/pokemon/clefairy/footprint.1bpp" - - .align 2 -gMonFrontPic_Clefable:: @ 8D47E94 - .incbin "graphics/pokemon/clefable/front.4bpp.lz" - - .align 2 -gMonPalette_Clefable:: @ 8D481D4 - .incbin "graphics/pokemon/clefable/normal.gbapal.lz" - - .align 2 -gMonBackPic_Clefable:: @ 8D481FC - .incbin "graphics/pokemon/clefable/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Clefable:: @ 8D48534 - .incbin "graphics/pokemon/clefable/shiny.gbapal.lz" - - .align 2 -gMonIcon_Clefable:: @ 8D4855C - .incbin "graphics/pokemon/clefable/icon.4bpp" - - .align 2 -gMonFootprint_Clefable:: @ 8D4895C - .incbin "graphics/pokemon/clefable/footprint.1bpp" - - .align 2 -gMonFrontPic_Vulpix:: @ 8D4897C - .incbin "graphics/pokemon/vulpix/front.4bpp.lz" - - .align 2 -gMonPalette_Vulpix:: @ 8D48CA8 - .incbin "graphics/pokemon/vulpix/normal.gbapal.lz" - - .align 2 -gMonBackPic_Vulpix:: @ 8D48CD0 - .incbin "graphics/pokemon/vulpix/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Vulpix:: @ 8D48FD4 - .incbin "graphics/pokemon/vulpix/shiny.gbapal.lz" - - .align 2 -gMonIcon_Vulpix:: @ 8D48FFC - .incbin "graphics/pokemon/vulpix/icon.4bpp" - - .align 2 -gMonFootprint_Vulpix:: @ 8D493FC - .incbin "graphics/pokemon/vulpix/footprint.1bpp" - - .align 2 -gMonFrontPic_Ninetales:: @ 8D4941C - .incbin "graphics/pokemon/ninetales/front.4bpp.lz" - - .align 2 -gMonPalette_Ninetales:: @ 8D49870 - .incbin "graphics/pokemon/ninetales/normal.gbapal.lz" - - .align 2 -gMonBackPic_Ninetales:: @ 8D49894 - .incbin "graphics/pokemon/ninetales/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Ninetales:: @ 8D49C84 - .incbin "graphics/pokemon/ninetales/shiny.gbapal.lz" - - .align 2 -gMonIcon_Ninetales:: @ 8D49CA8 - .incbin "graphics/pokemon/ninetales/icon.4bpp" - - .align 2 -gMonFootprint_Ninetales:: @ 8D4A0A8 - .incbin "graphics/pokemon/ninetales/footprint.1bpp" - - .align 2 -gMonFrontPic_Jigglypuff:: @ 8D4A0C8 - .incbin "graphics/pokemon/jigglypuff/front.4bpp.lz" - - .align 2 -gMonPalette_Jigglypuff:: @ 8D4A34C - .incbin "graphics/pokemon/jigglypuff/normal.gbapal.lz" - - .align 2 -gMonBackPic_Jigglypuff:: @ 8D4A374 - .incbin "graphics/pokemon/jigglypuff/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Jigglypuff:: @ 8D4A5D0 - .incbin "graphics/pokemon/jigglypuff/shiny.gbapal.lz" - - .align 2 -gMonIcon_Jigglypuff:: @ 8D4A5F8 - .incbin "graphics/pokemon/jigglypuff/icon.4bpp" - - .align 2 -gMonFootprint_Jigglypuff:: @ 8D4A9F8 - .incbin "graphics/pokemon/jigglypuff/footprint.1bpp" - - .align 2 -gMonFrontPic_Wigglytuff:: @ 8D4AA18 - .incbin "graphics/pokemon/wigglytuff/front.4bpp.lz" - - .align 2 -gMonPalette_Wigglytuff:: @ 8D4AD8C - .incbin "graphics/pokemon/wigglytuff/normal.gbapal.lz" - - .align 2 -gMonBackPic_Wigglytuff:: @ 8D4ADB4 - .incbin "graphics/pokemon/wigglytuff/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Wigglytuff:: @ 8D4B04C - .incbin "graphics/pokemon/wigglytuff/shiny.gbapal.lz" - - .align 2 -gMonIcon_Wigglytuff:: @ 8D4B074 - .incbin "graphics/pokemon/wigglytuff/icon.4bpp" - - .align 2 -gMonFootprint_Wigglytuff:: @ 8D4B474 - .incbin "graphics/pokemon/wigglytuff/footprint.1bpp" - - .align 2 -gMonFrontPic_Zubat:: @ 8D4B494 - .incbin "graphics/pokemon/zubat/front.4bpp.lz" - - .align 2 -gMonPalette_Zubat:: @ 8D4B750 - .incbin "graphics/pokemon/zubat/normal.gbapal.lz" - - .align 2 -gMonBackPic_Zubat:: @ 8D4B778 - .incbin "graphics/pokemon/zubat/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Zubat:: @ 8D4BA34 - .incbin "graphics/pokemon/zubat/shiny.gbapal.lz" - - .align 2 -gMonIcon_Zubat:: @ 8D4BA5C - .incbin "graphics/pokemon/zubat/icon.4bpp" - - .align 2 -gMonFootprint_Zubat:: @ 8D4BE5C - .incbin "graphics/pokemon/zubat/footprint.1bpp" - - .align 2 -gMonFrontPic_Golbat:: @ 8D4BE7C - .incbin "graphics/pokemon/golbat/front.4bpp.lz" - - .align 2 -gMonPalette_Golbat:: @ 8D4C21C - .incbin "graphics/pokemon/golbat/normal.gbapal.lz" - - .align 2 -gMonBackPic_Golbat:: @ 8D4C244 - .incbin "graphics/pokemon/golbat/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Golbat:: @ 8D4C500 - .incbin "graphics/pokemon/golbat/shiny.gbapal.lz" - - .align 2 -gMonIcon_Golbat:: @ 8D4C528 - .incbin "graphics/pokemon/golbat/icon.4bpp" - - .align 2 -gMonFootprint_Golbat:: @ 8D4C928 - .incbin "graphics/pokemon/golbat/footprint.1bpp" - - .align 2 -gMonFrontPic_Oddish:: @ 8D4C948 - .incbin "graphics/pokemon/oddish/front.4bpp.lz" - - .align 2 -gMonPalette_Oddish:: @ 8D4CB88 - .incbin "graphics/pokemon/oddish/normal.gbapal.lz" - - .align 2 -gMonBackPic_Oddish:: @ 8D4CBB0 - .incbin "graphics/pokemon/oddish/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Oddish:: @ 8D4CE74 - .incbin "graphics/pokemon/oddish/shiny.gbapal.lz" - - .align 2 -gMonIcon_Oddish:: @ 8D4CE9C - .incbin "graphics/pokemon/oddish/icon.4bpp" - - .align 2 -gMonFootprint_Oddish:: @ 8D4D29C - .incbin "graphics/pokemon/oddish/footprint.1bpp" - - .align 2 -gMonFrontPic_Gloom:: @ 8D4D2BC - .incbin "graphics/pokemon/gloom/front.4bpp.lz" - - .align 2 -gMonPalette_Gloom:: @ 8D4D624 - .incbin "graphics/pokemon/gloom/normal.gbapal.lz" - - .align 2 -gMonBackPic_Gloom:: @ 8D4D64C - .incbin "graphics/pokemon/gloom/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Gloom:: @ 8D4D9CC - .incbin "graphics/pokemon/gloom/shiny.gbapal.lz" - - .align 2 -gMonIcon_Gloom:: @ 8D4D9F4 - .incbin "graphics/pokemon/gloom/icon.4bpp" - - .align 2 -gMonFootprint_Gloom:: @ 8D4DDF4 - .incbin "graphics/pokemon/gloom/footprint.1bpp" - - .align 2 -gMonFrontPic_Vileplume:: @ 8D4DE14 - .incbin "graphics/pokemon/vileplume/front.4bpp.lz" - - .align 2 -gMonPalette_Vileplume:: @ 8D4E168 - .incbin "graphics/pokemon/vileplume/normal.gbapal.lz" - - .align 2 -gMonBackPic_Vileplume:: @ 8D4E190 - .incbin "graphics/pokemon/vileplume/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Vileplume:: @ 8D4E5DC - .incbin "graphics/pokemon/vileplume/shiny.gbapal.lz" - - .align 2 -gMonIcon_Vileplume:: @ 8D4E604 - .incbin "graphics/pokemon/vileplume/icon.4bpp" - - .align 2 -gMonFootprint_Vileplume:: @ 8D4EA04 - .incbin "graphics/pokemon/vileplume/footprint.1bpp" - - .align 2 -gMonFrontPic_Paras:: @ 8D4EA24 - .incbin "graphics/pokemon/paras/front.4bpp.lz" - - .align 2 -gMonPalette_Paras:: @ 8D4EC90 - .incbin "graphics/pokemon/paras/normal.gbapal.lz" - - .align 2 -gMonBackPic_Paras:: @ 8D4ECB8 - .incbin "graphics/pokemon/paras/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Paras:: @ 8D4EF58 - .incbin "graphics/pokemon/paras/shiny.gbapal.lz" - - .align 2 -gMonIcon_Paras:: @ 8D4EF80 - .incbin "graphics/pokemon/paras/icon.4bpp" - - .align 2 -gMonFootprint_Paras:: @ 8D4F380 - .incbin "graphics/pokemon/paras/footprint.1bpp" - - .align 2 -gMonFrontPic_Parasect:: @ 8D4F3A0 - .incbin "graphics/pokemon/parasect/front.4bpp.lz" - - .align 2 -gMonPalette_Parasect:: @ 8D4F730 - .incbin "graphics/pokemon/parasect/normal.gbapal.lz" - - .align 2 -gMonBackPic_Parasect:: @ 8D4F758 - .incbin "graphics/pokemon/parasect/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Parasect:: @ 8D4FA54 - .incbin "graphics/pokemon/parasect/shiny.gbapal.lz" - - .align 2 -gMonIcon_Parasect:: @ 8D4FA7C - .incbin "graphics/pokemon/parasect/icon.4bpp" - - .align 2 -gMonFootprint_Parasect:: @ 8D4FE7C - .incbin "graphics/pokemon/parasect/footprint.1bpp" - - .align 2 -gMonFrontPic_Venonat:: @ 8D4FE9C - .incbin "graphics/pokemon/venonat/front.4bpp.lz" - - .align 2 -gMonPalette_Venonat:: @ 8D501BC - .incbin "graphics/pokemon/venonat/normal.gbapal.lz" - - .align 2 -gMonBackPic_Venonat:: @ 8D501E4 - .incbin "graphics/pokemon/venonat/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Venonat:: @ 8D50514 - .incbin "graphics/pokemon/venonat/shiny.gbapal.lz" - - .align 2 -gMonIcon_Venonat:: @ 8D5053C - .incbin "graphics/pokemon/venonat/icon.4bpp" - - .align 2 -gMonFootprint_Venonat:: @ 8D5093C - .incbin "graphics/pokemon/venonat/footprint.1bpp" - - .align 2 -gMonFrontPic_Venomoth:: @ 8D5095C - .incbin "graphics/pokemon/venomoth/front.4bpp.lz" - - .align 2 -gMonPalette_Venomoth:: @ 8D50D60 - .incbin "graphics/pokemon/venomoth/normal.gbapal.lz" - - .align 2 -gMonBackPic_Venomoth:: @ 8D50D88 - .incbin "graphics/pokemon/venomoth/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Venomoth:: @ 8D5112C - .incbin "graphics/pokemon/venomoth/shiny.gbapal.lz" - - .align 2 -gMonIcon_Venomoth:: @ 8D51154 - .incbin "graphics/pokemon/venomoth/icon.4bpp" - - .align 2 -gMonFootprint_Venomoth:: @ 8D51554 - .incbin "graphics/pokemon/venomoth/footprint.1bpp" - - .align 2 -gMonFrontPic_Diglett:: @ 8D51574 - .incbin "graphics/pokemon/diglett/front.4bpp.lz" - - .align 2 -gMonPalette_Diglett:: @ 8D51784 - .incbin "graphics/pokemon/diglett/normal.gbapal.lz" - - .align 2 -gMonBackPic_Diglett:: @ 8D517AC - .incbin "graphics/pokemon/diglett/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Diglett:: @ 8D519B8 - .incbin "graphics/pokemon/diglett/shiny.gbapal.lz" - - .align 2 -gMonIcon_Diglett:: @ 8D519E0 - .incbin "graphics/pokemon/diglett/icon.4bpp" - - .align 2 -gMonFootprint_Diglett:: @ 8D51DE0 - .incbin "graphics/pokemon/diglett/footprint.1bpp" - - .align 2 -gMonFrontPic_Dugtrio:: @ 8D51E00 - .incbin "graphics/pokemon/dugtrio/front.4bpp.lz" - - .align 2 -gMonPalette_Dugtrio:: @ 8D5212C - .incbin "graphics/pokemon/dugtrio/normal.gbapal.lz" - - .align 2 -gMonBackPic_Dugtrio:: @ 8D52154 - .incbin "graphics/pokemon/dugtrio/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Dugtrio:: @ 8D52400 - .incbin "graphics/pokemon/dugtrio/shiny.gbapal.lz" - - .align 2 -gMonIcon_Dugtrio:: @ 8D52428 - .incbin "graphics/pokemon/dugtrio/icon.4bpp" - - .align 2 -gMonFootprint_Dugtrio:: @ 8D52828 - .incbin "graphics/pokemon/dugtrio/footprint.1bpp" - - .align 2 -gMonFrontPic_Meowth:: @ 8D52848 - .incbin "graphics/pokemon/meowth/front.4bpp.lz" - - .align 2 -gMonPalette_Meowth:: @ 8D52B34 - .incbin "graphics/pokemon/meowth/normal.gbapal.lz" - - .align 2 -gMonBackPic_Meowth:: @ 8D52B5C - .incbin "graphics/pokemon/meowth/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Meowth:: @ 8D52E40 - .incbin "graphics/pokemon/meowth/shiny.gbapal.lz" - - .align 2 -gMonIcon_Meowth:: @ 8D52E68 - .incbin "graphics/pokemon/meowth/icon.4bpp" - - .align 2 -gMonFootprint_Meowth:: @ 8D53268 - .incbin "graphics/pokemon/meowth/footprint.1bpp" - - .align 2 -gMonFrontPic_Persian:: @ 8D53288 - .incbin "graphics/pokemon/persian/front.4bpp.lz" - - .align 2 -gMonPalette_Persian:: @ 8D53600 - .incbin "graphics/pokemon/persian/normal.gbapal.lz" - - .align 2 -gMonBackPic_Persian:: @ 8D53628 - .incbin "graphics/pokemon/persian/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Persian:: @ 8D53968 - .incbin "graphics/pokemon/persian/shiny.gbapal.lz" - - .align 2 -gMonIcon_Persian:: @ 8D53990 - .incbin "graphics/pokemon/persian/icon.4bpp" - - .align 2 -gMonFootprint_Persian:: @ 8D53D90 - .incbin "graphics/pokemon/persian/footprint.1bpp" - - .align 2 -gMonFrontPic_Psyduck:: @ 8D53DB0 - .incbin "graphics/pokemon/psyduck/front.4bpp.lz" - - .align 2 -gMonPalette_Psyduck:: @ 8D54094 - .incbin "graphics/pokemon/psyduck/normal.gbapal.lz" - - .align 2 -gMonBackPic_Psyduck:: @ 8D540BC - .incbin "graphics/pokemon/psyduck/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Psyduck:: @ 8D54358 - .incbin "graphics/pokemon/psyduck/shiny.gbapal.lz" - - .align 2 -gMonIcon_Psyduck:: @ 8D54380 - .incbin "graphics/pokemon/psyduck/icon.4bpp" - - .align 2 -gMonFootprint_Psyduck:: @ 8D54780 - .incbin "graphics/pokemon/psyduck/footprint.1bpp" - - .align 2 -gMonFrontPic_Golduck:: @ 8D547A0 - .incbin "graphics/pokemon/golduck/front.4bpp.lz" - - .align 2 -gMonPalette_Golduck:: @ 8D54B58 - .incbin "graphics/pokemon/golduck/normal.gbapal.lz" - - .align 2 -gMonBackPic_Golduck:: @ 8D54B80 - .incbin "graphics/pokemon/golduck/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Golduck:: @ 8D54EAC - .incbin "graphics/pokemon/golduck/shiny.gbapal.lz" - - .align 2 -gMonIcon_Golduck:: @ 8D54ED4 - .incbin "graphics/pokemon/golduck/icon.4bpp" - - .align 2 -gMonFootprint_Golduck:: @ 8D552D4 - .incbin "graphics/pokemon/golduck/footprint.1bpp" - - .align 2 -gMonFrontPic_Mankey:: @ 8D552F4 - .incbin "graphics/pokemon/mankey/front.4bpp.lz" - - .align 2 -gMonPalette_Mankey:: @ 8D555EC - .incbin "graphics/pokemon/mankey/normal.gbapal.lz" - - .align 2 -gMonBackPic_Mankey:: @ 8D55614 - .incbin "graphics/pokemon/mankey/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Mankey:: @ 8D5597C - .incbin "graphics/pokemon/mankey/shiny.gbapal.lz" - - .align 2 -gMonIcon_Mankey:: @ 8D559A4 - .incbin "graphics/pokemon/mankey/icon.4bpp" - - .align 2 -gMonFootprint_Mankey:: @ 8D55DA4 - .incbin "graphics/pokemon/mankey/footprint.1bpp" - - .align 2 -gMonFrontPic_Primeape:: @ 8D55DC4 - .incbin "graphics/pokemon/primeape/front.4bpp.lz" - - .align 2 -gMonPalette_Primeape:: @ 8D56150 - .incbin "graphics/pokemon/primeape/normal.gbapal.lz" - - .align 2 -gMonBackPic_Primeape:: @ 8D56178 - .incbin "graphics/pokemon/primeape/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Primeape:: @ 8D564E8 - .incbin "graphics/pokemon/primeape/shiny.gbapal.lz" - - .align 2 -gMonIcon_Primeape:: @ 8D56510 - .incbin "graphics/pokemon/primeape/icon.4bpp" - - .align 2 -gMonFootprint_Primeape:: @ 8D56910 - .incbin "graphics/pokemon/primeape/footprint.1bpp" - - .align 2 -gMonFrontPic_Growlithe:: @ 8D56930 - .incbin "graphics/pokemon/growlithe/front.4bpp.lz" - - .align 2 -gMonPalette_Growlithe:: @ 8D56C58 - .incbin "graphics/pokemon/growlithe/normal.gbapal.lz" - - .align 2 -gMonBackPic_Growlithe:: @ 8D56C80 - .incbin "graphics/pokemon/growlithe/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Growlithe:: @ 8D56FBC - .incbin "graphics/pokemon/growlithe/shiny.gbapal.lz" - - .align 2 -gMonIcon_Growlithe:: @ 8D56FE4 - .incbin "graphics/pokemon/growlithe/icon.4bpp" - - .align 2 -gMonFootprint_Growlithe:: @ 8D573E4 - .incbin "graphics/pokemon/growlithe/footprint.1bpp" - - .align 2 -gMonFrontPic_Arcanine:: @ 8D57404 - .incbin "graphics/pokemon/arcanine/front.4bpp.lz" - - .align 2 -gMonPalette_Arcanine:: @ 8D57900 - .incbin "graphics/pokemon/arcanine/normal.gbapal.lz" - - .align 2 -gMonBackPic_Arcanine:: @ 8D57928 - .incbin "graphics/pokemon/arcanine/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Arcanine:: @ 8D57D08 - .incbin "graphics/pokemon/arcanine/shiny.gbapal.lz" - - .align 2 -gMonIcon_Arcanine:: @ 8D57D30 - .incbin "graphics/pokemon/arcanine/icon.4bpp" - - .align 2 -gMonFootprint_Arcanine:: @ 8D58130 - .incbin "graphics/pokemon/arcanine/footprint.1bpp" - - .align 2 -gMonFrontPic_Poliwag:: @ 8D58150 - .incbin "graphics/pokemon/poliwag/front.4bpp.lz" - - .align 2 -gMonPalette_Poliwag:: @ 8D583EC - .incbin "graphics/pokemon/poliwag/normal.gbapal.lz" - - .align 2 -gMonBackPic_Poliwag:: @ 8D58414 - .incbin "graphics/pokemon/poliwag/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Poliwag:: @ 8D58678 - .incbin "graphics/pokemon/poliwag/shiny.gbapal.lz" - - .align 2 -gMonIcon_Poliwag:: @ 8D586A0 - .incbin "graphics/pokemon/poliwag/icon.4bpp" - - .align 2 -gMonFootprint_Poliwag:: @ 8D58AA0 - .incbin "graphics/pokemon/poliwag/footprint.1bpp" - - .align 2 -gMonFrontPic_Poliwhirl:: @ 8D58AC0 - .incbin "graphics/pokemon/poliwhirl/front.4bpp.lz" - - .align 2 -gMonPalette_Poliwhirl:: @ 8D58E40 - .incbin "graphics/pokemon/poliwhirl/normal.gbapal.lz" - - .align 2 -gMonBackPic_Poliwhirl:: @ 8D58E68 - .incbin "graphics/pokemon/poliwhirl/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Poliwhirl:: @ 8D590E4 - .incbin "graphics/pokemon/poliwhirl/shiny.gbapal.lz" - - .align 2 -gMonIcon_Poliwhirl:: @ 8D5910C - .incbin "graphics/pokemon/poliwhirl/icon.4bpp" - - .align 2 -gMonFootprint_Poliwhirl:: @ 8D5950C - .incbin "graphics/pokemon/poliwhirl/footprint.1bpp" - - .align 2 -gMonFrontPic_Poliwrath:: @ 8D5952C - .incbin "graphics/pokemon/poliwrath/front.4bpp.lz" - - .align 2 -gMonPalette_Poliwrath:: @ 8D598F0 - .incbin "graphics/pokemon/poliwrath/normal.gbapal.lz" - - .align 2 -gMonBackPic_Poliwrath:: @ 8D59918 - .incbin "graphics/pokemon/poliwrath/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Poliwrath:: @ 8D59C0C - .incbin "graphics/pokemon/poliwrath/shiny.gbapal.lz" - - .align 2 -gMonIcon_Poliwrath:: @ 8D59C34 - .incbin "graphics/pokemon/poliwrath/icon.4bpp" - - .align 2 -gMonFootprint_Poliwrath:: @ 8D5A034 - .incbin "graphics/pokemon/poliwrath/footprint.1bpp" - - .align 2 -gMonFrontPic_Abra:: @ 8D5A054 - .incbin "graphics/pokemon/abra/front.4bpp.lz" - - .align 2 -gMonPalette_Abra:: @ 8D5A328 - .incbin "graphics/pokemon/abra/normal.gbapal.lz" - - .align 2 -gMonBackPic_Abra:: @ 8D5A34C - .incbin "graphics/pokemon/abra/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Abra:: @ 8D5A620 - .incbin "graphics/pokemon/abra/shiny.gbapal.lz" - - .align 2 -gMonIcon_Abra:: @ 8D5A644 - .incbin "graphics/pokemon/abra/icon.4bpp" - - .align 2 -gMonFootprint_Abra:: @ 8D5AA44 - .incbin "graphics/pokemon/abra/footprint.1bpp" - - .align 2 -gMonFrontPic_Kadabra:: @ 8D5AA64 - .incbin "graphics/pokemon/kadabra/front.4bpp.lz" - - .align 2 -gMonPalette_Kadabra:: @ 8D5AF2C - .incbin "graphics/pokemon/kadabra/normal.gbapal.lz" - - .align 2 -gMonBackPic_Kadabra:: @ 8D5AF54 - .incbin "graphics/pokemon/kadabra/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Kadabra:: @ 8D5B300 - .incbin "graphics/pokemon/kadabra/shiny.gbapal.lz" - - .align 2 -gMonIcon_Kadabra:: @ 8D5B328 - .incbin "graphics/pokemon/kadabra/icon.4bpp" - - .align 2 -gMonFootprint_Kadabra:: @ 8D5B728 - .incbin "graphics/pokemon/kadabra/footprint.1bpp" - - .align 2 -gMonFrontPic_Alakazam:: @ 8D5B748 - .incbin "graphics/pokemon/alakazam/front.4bpp.lz" - - .align 2 -gMonPalette_Alakazam:: @ 8D5BBE0 - .incbin "graphics/pokemon/alakazam/normal.gbapal.lz" - - .align 2 -gMonBackPic_Alakazam:: @ 8D5BC08 - .incbin "graphics/pokemon/alakazam/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Alakazam:: @ 8D5BF88 - .incbin "graphics/pokemon/alakazam/shiny.gbapal.lz" - - .align 2 -gMonIcon_Alakazam:: @ 8D5BFB0 - .incbin "graphics/pokemon/alakazam/icon.4bpp" - - .align 2 -gMonFootprint_Alakazam:: @ 8D5C3B0 - .incbin "graphics/pokemon/alakazam/footprint.1bpp" - - .align 2 -gMonFrontPic_Machop:: @ 8D5C3D0 - .incbin "graphics/pokemon/machop/front.4bpp.lz" - - .align 2 -gMonPalette_Machop:: @ 8D5C65C - .incbin "graphics/pokemon/machop/normal.gbapal.lz" - - .align 2 -gMonBackPic_Machop:: @ 8D5C684 - .incbin "graphics/pokemon/machop/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Machop:: @ 8D5C964 - .incbin "graphics/pokemon/machop/shiny.gbapal.lz" - - .align 2 -gMonIcon_Machop:: @ 8D5C98C - .incbin "graphics/pokemon/machop/icon.4bpp" - - .align 2 -gMonFootprint_Machop:: @ 8D5CD8C - .incbin "graphics/pokemon/machop/footprint.1bpp" - - .align 2 -gMonFrontPic_Machoke:: @ 8D5CDAC - .incbin "graphics/pokemon/machoke/front.4bpp.lz" - - .align 2 -gMonPalette_Machoke:: @ 8D5D178 - .incbin "graphics/pokemon/machoke/normal.gbapal.lz" - - .align 2 -gMonBackPic_Machoke:: @ 8D5D1A0 - .incbin "graphics/pokemon/machoke/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Machoke:: @ 8D5D4F0 - .incbin "graphics/pokemon/machoke/shiny.gbapal.lz" - - .align 2 -gMonIcon_Machoke:: @ 8D5D518 - .incbin "graphics/pokemon/machoke/icon.4bpp" - - .align 2 -gMonFootprint_Machoke:: @ 8D5D918 - .incbin "graphics/pokemon/machoke/footprint.1bpp" - - .align 2 -gMonFrontPic_Machamp:: @ 8D5D938 - .incbin "graphics/pokemon/machamp/front.4bpp.lz" - - .align 2 -gMonPalette_Machamp:: @ 8D5DE24 - .incbin "graphics/pokemon/machamp/normal.gbapal.lz" - - .align 2 -gMonBackPic_Machamp:: @ 8D5DE4C - .incbin "graphics/pokemon/machamp/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Machamp:: @ 8D5E2A8 - .incbin "graphics/pokemon/machamp/shiny.gbapal.lz" - - .align 2 -gMonIcon_Machamp:: @ 8D5E2D0 - .incbin "graphics/pokemon/machamp/icon.4bpp" - - .align 2 -gMonFootprint_Machamp:: @ 8D5E6D0 - .incbin "graphics/pokemon/machamp/footprint.1bpp" - - .align 2 -gMonFrontPic_Bellsprout:: @ 8D5E6F0 - .incbin "graphics/pokemon/bellsprout/front.4bpp.lz" - - .align 2 -gMonPalette_Bellsprout:: @ 8D5E97C - .incbin "graphics/pokemon/bellsprout/normal.gbapal.lz" - - .align 2 -gMonBackPic_Bellsprout:: @ 8D5E9A4 - .incbin "graphics/pokemon/bellsprout/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Bellsprout:: @ 8D5EC40 - .incbin "graphics/pokemon/bellsprout/shiny.gbapal.lz" - - .align 2 -gMonIcon_Bellsprout:: @ 8D5EC68 - .incbin "graphics/pokemon/bellsprout/icon.4bpp" - - .align 2 -gMonFootprint_Bellsprout:: @ 8D5F068 - .incbin "graphics/pokemon/bellsprout/footprint.1bpp" - - .align 2 -gMonFrontPic_Weepinbell:: @ 8D5F088 - .incbin "graphics/pokemon/weepinbell/front.4bpp.lz" - - .align 2 -gMonPalette_Weepinbell:: @ 8D5F3AC - .incbin "graphics/pokemon/weepinbell/normal.gbapal.lz" - - .align 2 -gMonBackPic_Weepinbell:: @ 8D5F3D4 - .incbin "graphics/pokemon/weepinbell/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Weepinbell:: @ 8D5F6D0 - .incbin "graphics/pokemon/weepinbell/shiny.gbapal.lz" - - .align 2 -gMonIcon_Weepinbell:: @ 8D5F6F8 - .incbin "graphics/pokemon/weepinbell/icon.4bpp" - - .align 2 -gMonFootprint_Weepinbell:: @ 8D5FAF8 - .incbin "graphics/pokemon/weepinbell/footprint.1bpp" - - .align 2 -gMonFrontPic_Victreebel:: @ 8D5FB18 - .incbin "graphics/pokemon/victreebel/front.4bpp.lz" - - .align 2 -gMonPalette_Victreebel:: @ 8D5FF44 - .incbin "graphics/pokemon/victreebel/normal.gbapal.lz" - - .align 2 -gMonBackPic_Victreebel:: @ 8D5FF6C - .incbin "graphics/pokemon/victreebel/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Victreebel:: @ 8D60304 - .incbin "graphics/pokemon/victreebel/shiny.gbapal.lz" - - .align 2 -gMonIcon_Victreebel:: @ 8D6032C - .incbin "graphics/pokemon/victreebel/icon.4bpp" - - .align 2 -gMonFootprint_Victreebel:: @ 8D6072C - .incbin "graphics/pokemon/victreebel/footprint.1bpp" - - .align 2 -gMonFrontPic_Tentacool:: @ 8D6074C - .incbin "graphics/pokemon/tentacool/front.4bpp.lz" - - .align 2 -gMonPalette_Tentacool:: @ 8D609F4 - .incbin "graphics/pokemon/tentacool/normal.gbapal.lz" - - .align 2 -gMonBackPic_Tentacool:: @ 8D60A1C - .incbin "graphics/pokemon/tentacool/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Tentacool:: @ 8D60CE8 - .incbin "graphics/pokemon/tentacool/shiny.gbapal.lz" - - .align 2 -gMonIcon_Tentacool:: @ 8D60D10 - .incbin "graphics/pokemon/tentacool/icon.4bpp" - - .align 2 -gMonFootprint_Tentacool:: @ 8D61110 - .incbin "graphics/pokemon/tentacool/footprint.1bpp" - - .align 2 -gMonFrontPic_Tentacruel:: @ 8D61130 - .incbin "graphics/pokemon/tentacruel/front.4bpp.lz" - - .align 2 -gMonPalette_Tentacruel:: @ 8D61624 - .incbin "graphics/pokemon/tentacruel/normal.gbapal.lz" - - .align 2 -gMonBackPic_Tentacruel:: @ 8D6164C - .incbin "graphics/pokemon/tentacruel/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Tentacruel:: @ 8D619E8 - .incbin "graphics/pokemon/tentacruel/shiny.gbapal.lz" - - .align 2 -gMonIcon_Tentacruel:: @ 8D61A10 - .incbin "graphics/pokemon/tentacruel/icon.4bpp" - - .align 2 -gMonFootprint_Tentacruel:: @ 8D61E10 - .incbin "graphics/pokemon/tentacruel/footprint.1bpp" - - .align 2 -gMonFrontPic_Geodude:: @ 8D61E30 - .incbin "graphics/pokemon/geodude/front.4bpp.lz" - - .align 2 -gMonPalette_Geodude:: @ 8D620C4 - .incbin "graphics/pokemon/geodude/normal.gbapal.lz" - - .align 2 -gMonBackPic_Geodude:: @ 8D620E0 - .incbin "graphics/pokemon/geodude/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Geodude:: @ 8D62374 - .incbin "graphics/pokemon/geodude/shiny.gbapal.lz" - - .align 2 -gMonIcon_Geodude:: @ 8D62390 - .incbin "graphics/pokemon/geodude/icon.4bpp" - - .align 2 -gMonFootprint_Geodude:: @ 8D62790 - .incbin "graphics/pokemon/geodude/footprint.1bpp" - - .align 2 -gMonFrontPic_Graveler:: @ 8D627B0 - .incbin "graphics/pokemon/graveler/front.4bpp.lz" - - .align 2 -gMonPalette_Graveler:: @ 8D62BAC - .incbin "graphics/pokemon/graveler/normal.gbapal.lz" - - .align 2 -gMonBackPic_Graveler:: @ 8D62BD0 - .incbin "graphics/pokemon/graveler/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Graveler:: @ 8D62E4C - .incbin "graphics/pokemon/graveler/shiny.gbapal.lz" - - .align 2 -gMonIcon_Graveler:: @ 8D62E70 - .incbin "graphics/pokemon/graveler/icon.4bpp" - - .align 2 -gMonFootprint_Graveler:: @ 8D63270 - .incbin "graphics/pokemon/graveler/footprint.1bpp" - - .align 2 -gMonFrontPic_Golem:: @ 8D63290 - .incbin "graphics/pokemon/golem/front.4bpp.lz" - - .align 2 -gMonPalette_Golem:: @ 8D636C0 - .incbin "graphics/pokemon/golem/normal.gbapal.lz" - - .align 2 -gMonBackPic_Golem:: @ 8D636E8 - .incbin "graphics/pokemon/golem/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Golem:: @ 8D639A8 - .incbin "graphics/pokemon/golem/shiny.gbapal.lz" - - .align 2 -gMonIcon_Golem:: @ 8D639D0 - .incbin "graphics/pokemon/golem/icon.4bpp" - - .align 2 -gMonFootprint_Golem:: @ 8D63DD0 - .incbin "graphics/pokemon/golem/footprint.1bpp" - - .align 2 -gMonFrontPic_Ponyta:: @ 8D63DF0 - .incbin "graphics/pokemon/ponyta/front.4bpp.lz" - - .align 2 -gMonPalette_Ponyta:: @ 8D64180 - .incbin "graphics/pokemon/ponyta/normal.gbapal.lz" - - .align 2 -gMonBackPic_Ponyta:: @ 8D641A8 - .incbin "graphics/pokemon/ponyta/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Ponyta:: @ 8D644E4 - .incbin "graphics/pokemon/ponyta/shiny.gbapal.lz" - - .align 2 -gMonIcon_Ponyta:: @ 8D6450C - .incbin "graphics/pokemon/ponyta/icon.4bpp" - - .align 2 -gMonFootprint_Ponyta:: @ 8D6490C - .incbin "graphics/pokemon/ponyta/footprint.1bpp" - - .align 2 -gMonFrontPic_Rapidash:: @ 8D6492C - .incbin "graphics/pokemon/rapidash/front.4bpp.lz" - - .align 2 -gMonPalette_Rapidash:: @ 8D64DB4 - .incbin "graphics/pokemon/rapidash/normal.gbapal.lz" - - .align 2 -gMonBackPic_Rapidash:: @ 8D64DDC - .incbin "graphics/pokemon/rapidash/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Rapidash:: @ 8D651EC - .incbin "graphics/pokemon/rapidash/shiny.gbapal.lz" - - .align 2 -gMonIcon_Rapidash:: @ 8D65214 - .incbin "graphics/pokemon/rapidash/icon.4bpp" - - .align 2 -gMonFootprint_Rapidash:: @ 8D65614 - .incbin "graphics/pokemon/rapidash/footprint.1bpp" - - .align 2 -gMonFrontPic_Slowpoke:: @ 8D65634 - .incbin "graphics/pokemon/slowpoke/front.4bpp.lz" - - .align 2 -gMonPalette_Slowpoke:: @ 8D65908 - .incbin "graphics/pokemon/slowpoke/normal.gbapal.lz" - - .align 2 -gMonBackPic_Slowpoke:: @ 8D65930 - .incbin "graphics/pokemon/slowpoke/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Slowpoke:: @ 8D65B94 - .incbin "graphics/pokemon/slowpoke/shiny.gbapal.lz" - - .align 2 -gMonIcon_Slowpoke:: @ 8D65BBC - .incbin "graphics/pokemon/slowpoke/icon.4bpp" - - .align 2 -gMonFootprint_Slowpoke:: @ 8D65FBC - .incbin "graphics/pokemon/slowpoke/footprint.1bpp" - - .align 2 -gMonFrontPic_Slowbro:: @ 8D65FDC - .incbin "graphics/pokemon/slowbro/front.4bpp.lz" - - .align 2 -gMonPalette_Slowbro:: @ 8D6647C - .incbin "graphics/pokemon/slowbro/normal.gbapal.lz" - - .align 2 -gMonBackPic_Slowbro:: @ 8D664A4 - .incbin "graphics/pokemon/slowbro/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Slowbro:: @ 8D66840 - .incbin "graphics/pokemon/slowbro/shiny.gbapal.lz" - - .align 2 -gMonIcon_Slowbro:: @ 8D66868 - .incbin "graphics/pokemon/slowbro/icon.4bpp" - - .align 2 -gMonFootprint_Slowbro:: @ 8D66C68 - .incbin "graphics/pokemon/slowbro/footprint.1bpp" - - .align 2 -gMonFrontPic_Magnemite:: @ 8D66C88 - .incbin "graphics/pokemon/magnemite/front.4bpp.lz" - - .align 2 -gMonPalette_Magnemite:: @ 8D66E60 - .incbin "graphics/pokemon/magnemite/normal.gbapal.lz" - - .align 2 -gMonBackPic_Magnemite:: @ 8D66E88 - .incbin "graphics/pokemon/magnemite/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Magnemite:: @ 8D67070 - .incbin "graphics/pokemon/magnemite/shiny.gbapal.lz" - - .align 2 -gMonIcon_Magnemite:: @ 8D67094 - .incbin "graphics/pokemon/magnemite/icon.4bpp" - - .align 2 -gMonFootprint_Magnemite:: @ 8D67494 - .incbin "graphics/pokemon/magnemite/footprint.1bpp" - - .align 2 -gMonFrontPic_Magneton:: @ 8D674B4 - .incbin "graphics/pokemon/magneton/front.4bpp.lz" - - .align 2 -gMonPalette_Magneton:: @ 8D677F0 - .incbin "graphics/pokemon/magneton/normal.gbapal.lz" - - .align 2 -gMonBackPic_Magneton:: @ 8D67818 - .incbin "graphics/pokemon/magneton/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Magneton:: @ 8D67B98 - .incbin "graphics/pokemon/magneton/shiny.gbapal.lz" - - .align 2 -gMonIcon_Magneton:: @ 8D67BC0 - .incbin "graphics/pokemon/magneton/icon.4bpp" - - .align 2 -gMonFootprint_Magneton:: @ 8D67FC0 - .incbin "graphics/pokemon/magneton/footprint.1bpp" - - .align 2 -gMonFrontPic_Farfetchd:: @ 8D67FE0 - .incbin "graphics/pokemon/farfetch_d/front.4bpp.lz" - - .align 2 -gMonPalette_Farfetchd:: @ 8D68334 - .incbin "graphics/pokemon/farfetch_d/normal.gbapal.lz" - - .align 2 -gMonBackPic_Farfetchd:: @ 8D6835C - .incbin "graphics/pokemon/farfetch_d/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Farfetchd:: @ 8D686C8 - .incbin "graphics/pokemon/farfetch_d/shiny.gbapal.lz" - - .align 2 -gMonIcon_Farfetchd:: @ 8D686F0 - .incbin "graphics/pokemon/farfetch_d/icon.4bpp" - - .align 2 -gMonFootprint_Farfetchd:: @ 8D68AF0 - .incbin "graphics/pokemon/farfetch_d/footprint.1bpp" - - .align 2 -gMonFrontPic_Doduo:: @ 8D68B10 - .incbin "graphics/pokemon/doduo/front.4bpp.lz" - - .align 2 -gMonPalette_Doduo:: @ 8D68DFC - .incbin "graphics/pokemon/doduo/normal.gbapal.lz" - - .align 2 -gMonBackPic_Doduo:: @ 8D68E20 - .incbin "graphics/pokemon/doduo/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Doduo:: @ 8D69138 - .incbin "graphics/pokemon/doduo/shiny.gbapal.lz" - - .align 2 -gMonIcon_Doduo:: @ 8D6915C - .incbin "graphics/pokemon/doduo/icon.4bpp" - - .align 2 -gMonFootprint_Doduo:: @ 8D6955C - .incbin "graphics/pokemon/doduo/footprint.1bpp" - - .align 2 -gMonFrontPic_Dodrio:: @ 8D6957C - .incbin "graphics/pokemon/dodrio/front.4bpp.lz" - - .align 2 -gMonPalette_Dodrio:: @ 8D699BC - .incbin "graphics/pokemon/dodrio/normal.gbapal.lz" - - .align 2 -gMonBackPic_Dodrio:: @ 8D699E4 - .incbin "graphics/pokemon/dodrio/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Dodrio:: @ 8D69E48 - .incbin "graphics/pokemon/dodrio/shiny.gbapal.lz" - - .align 2 -gMonIcon_Dodrio:: @ 8D69E70 - .incbin "graphics/pokemon/dodrio/icon.4bpp" - - .align 2 -gMonFootprint_Dodrio:: @ 8D6A270 - .incbin "graphics/pokemon/dodrio/footprint.1bpp" - - .align 2 -gMonFrontPic_Seel:: @ 8D6A290 - .incbin "graphics/pokemon/seel/front.4bpp.lz" - - .align 2 -gMonPalette_Seel:: @ 8D6A5B4 - .incbin "graphics/pokemon/seel/normal.gbapal.lz" - - .align 2 -gMonBackPic_Seel:: @ 8D6A5DC - .incbin "graphics/pokemon/seel/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Seel:: @ 8D6A8C8 - .incbin "graphics/pokemon/seel/shiny.gbapal.lz" - - .align 2 -gMonIcon_Seel:: @ 8D6A8F0 - .incbin "graphics/pokemon/seel/icon.4bpp" - - .align 2 -gMonFootprint_Seel:: @ 8D6ACF0 - .incbin "graphics/pokemon/seel/footprint.1bpp" - - .align 2 -gMonFrontPic_Dewgong:: @ 8D6AD10 - .incbin "graphics/pokemon/dewgong/front.4bpp.lz" - - .align 2 -gMonPalette_Dewgong:: @ 8D6B0E0 - .incbin "graphics/pokemon/dewgong/normal.gbapal.lz" - - .align 2 -gMonBackPic_Dewgong:: @ 8D6B104 - .incbin "graphics/pokemon/dewgong/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Dewgong:: @ 8D6B398 - .incbin "graphics/pokemon/dewgong/shiny.gbapal.lz" - - .align 2 -gMonIcon_Dewgong:: @ 8D6B3BC - .incbin "graphics/pokemon/dewgong/icon.4bpp" - - .align 2 -gMonFootprint_Dewgong:: @ 8D6B7BC - .incbin "graphics/pokemon/dewgong/footprint.1bpp" - - .align 2 -gMonFrontPic_Grimer:: @ 8D6B7DC - .incbin "graphics/pokemon/grimer/front.4bpp.lz" - - .align 2 -gMonPalette_Grimer:: @ 8D6BB04 - .incbin "graphics/pokemon/grimer/normal.gbapal.lz" - - .align 2 -gMonBackPic_Grimer:: @ 8D6BB28 - .incbin "graphics/pokemon/grimer/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Grimer:: @ 8D6BDEC - .incbin "graphics/pokemon/grimer/shiny.gbapal.lz" - - .align 2 -gMonIcon_Grimer:: @ 8D6BE10 - .incbin "graphics/pokemon/grimer/icon.4bpp" - - .align 2 -gMonFootprint_Grimer:: @ 8D6C210 - .incbin "graphics/pokemon/grimer/footprint.1bpp" - - .align 2 -gMonFrontPic_Muk:: @ 8D6C230 - .incbin "graphics/pokemon/muk/front.4bpp.lz" - - .align 2 -gMonPalette_Muk:: @ 8D6C5C0 - .incbin "graphics/pokemon/muk/normal.gbapal.lz" - - .align 2 -gMonBackPic_Muk:: @ 8D6C5E4 - .incbin "graphics/pokemon/muk/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Muk:: @ 8D6C8DC - .incbin "graphics/pokemon/muk/shiny.gbapal.lz" - - .align 2 -gMonIcon_Muk:: @ 8D6C900 - .incbin "graphics/pokemon/muk/icon.4bpp" - - .align 2 -gMonFootprint_Muk:: @ 8D6CD00 - .incbin "graphics/pokemon/muk/footprint.1bpp" - - .align 2 -gMonFrontPic_Shellder:: @ 8D6CD20 - .incbin "graphics/pokemon/shellder/front.4bpp.lz" - - .align 2 -gMonPalette_Shellder:: @ 8D6CF94 - .incbin "graphics/pokemon/shellder/normal.gbapal.lz" - - .align 2 -gMonBackPic_Shellder:: @ 8D6CFB8 - .incbin "graphics/pokemon/shellder/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Shellder:: @ 8D6D2CC - .incbin "graphics/pokemon/shellder/shiny.gbapal.lz" - - .align 2 -gMonIcon_Shellder:: @ 8D6D2F0 - .incbin "graphics/pokemon/shellder/icon.4bpp" - - .align 2 -gMonFootprint_Shellder:: @ 8D6D6F0 - .incbin "graphics/pokemon/shellder/footprint.1bpp" - - .align 2 -gMonFrontPic_Cloyster:: @ 8D6D710 - .incbin "graphics/pokemon/cloyster/front.4bpp.lz" - - .align 2 -gMonPalette_Cloyster:: @ 8D6DB4C - .incbin "graphics/pokemon/cloyster/normal.gbapal.lz" - - .align 2 -gMonBackPic_Cloyster:: @ 8D6DB70 - .incbin "graphics/pokemon/cloyster/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Cloyster:: @ 8D6DF7C - .incbin "graphics/pokemon/cloyster/shiny.gbapal.lz" - - .align 2 -gMonIcon_Cloyster:: @ 8D6DFA0 - .incbin "graphics/pokemon/cloyster/icon.4bpp" - - .align 2 -gMonFootprint_Cloyster:: @ 8D6E3A0 - .incbin "graphics/pokemon/cloyster/footprint.1bpp" - - .align 2 -gMonFrontPic_Gastly:: @ 8D6E3C0 - .incbin "graphics/pokemon/gastly/front.4bpp.lz" - - .align 2 -gMonPalette_Gastly:: @ 8D6E778 - .incbin "graphics/pokemon/gastly/normal.gbapal.lz" - - .align 2 -gMonBackPic_Gastly:: @ 8D6E7A0 - .incbin "graphics/pokemon/gastly/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Gastly:: @ 8D6EAC4 - .incbin "graphics/pokemon/gastly/shiny.gbapal.lz" - - .align 2 -gMonIcon_Gastly:: @ 8D6EAEC - .incbin "graphics/pokemon/gastly/icon.4bpp" - - .align 2 -gMonFootprint_Gastly:: @ 8D6EEEC - .incbin "graphics/pokemon/gastly/footprint.1bpp" - - .align 2 -gMonFrontPic_Haunter:: @ 8D6EF0C - .incbin "graphics/pokemon/haunter/front.4bpp.lz" - - .align 2 -gMonPalette_Haunter:: @ 8D6F2F4 - .incbin "graphics/pokemon/haunter/normal.gbapal.lz" - - .align 2 -gMonBackPic_Haunter:: @ 8D6F318 - .incbin "graphics/pokemon/haunter/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Haunter:: @ 8D6F5FC - .incbin "graphics/pokemon/haunter/shiny.gbapal.lz" - - .align 2 -gMonIcon_Haunter:: @ 8D6F620 - .incbin "graphics/pokemon/haunter/icon.4bpp" - - .align 2 -gMonFootprint_Haunter:: @ 8D6FA20 - .incbin "graphics/pokemon/haunter/footprint.1bpp" - - .align 2 -gMonFrontPic_Gengar:: @ 8D6FA40 - .incbin "graphics/pokemon/gengar/front.4bpp.lz" - - .align 2 -gMonPalette_Gengar:: @ 8D6FD9C - .incbin "graphics/pokemon/gengar/normal.gbapal.lz" - - .align 2 -gMonBackPic_Gengar:: @ 8D6FDC0 - .incbin "graphics/pokemon/gengar/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Gengar:: @ 8D70104 - .incbin "graphics/pokemon/gengar/shiny.gbapal.lz" - - .align 2 -gMonIcon_Gengar:: @ 8D70128 - .incbin "graphics/pokemon/gengar/icon.4bpp" - - .align 2 -gMonFootprint_Gengar:: @ 8D70528 - .incbin "graphics/pokemon/gengar/footprint.1bpp" - - .align 2 -gMonFrontPic_Onix:: @ 8D70548 - .incbin "graphics/pokemon/onix/front.4bpp.lz" - - .align 2 -gMonPalette_Onix:: @ 8D70A18 - .incbin "graphics/pokemon/onix/normal.gbapal.lz" - - .align 2 -gMonBackPic_Onix:: @ 8D70A34 - .incbin "graphics/pokemon/onix/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Onix:: @ 8D70DB0 - .incbin "graphics/pokemon/onix/shiny.gbapal.lz" - - .align 2 -gMonIcon_Onix:: @ 8D70DCC - .incbin "graphics/pokemon/onix/icon.4bpp" - - .align 2 -gMonFootprint_Onix:: @ 8D711CC - .incbin "graphics/pokemon/onix/footprint.1bpp" - - .align 2 -gMonFrontPic_Drowzee:: @ 8D711EC - .incbin "graphics/pokemon/drowzee/front.4bpp.lz" - - .align 2 -gMonPalette_Drowzee:: @ 8D7152C - .incbin "graphics/pokemon/drowzee/normal.gbapal.lz" - - .align 2 -gMonBackPic_Drowzee:: @ 8D71550 - .incbin "graphics/pokemon/drowzee/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Drowzee:: @ 8D7178C - .incbin "graphics/pokemon/drowzee/shiny.gbapal.lz" - - .align 2 -gMonIcon_Drowzee:: @ 8D717B0 - .incbin "graphics/pokemon/drowzee/icon.4bpp" - - .align 2 -gMonFootprint_Drowzee:: @ 8D71BB0 - .incbin "graphics/pokemon/drowzee/footprint.1bpp" - - .align 2 -gMonFrontPic_Hypno:: @ 8D71BD0 - .incbin "graphics/pokemon/hypno/front.4bpp.lz" - - .align 2 -gMonPalette_Hypno:: @ 8D72008 - .incbin "graphics/pokemon/hypno/normal.gbapal.lz" - - .align 2 -gMonBackPic_Hypno:: @ 8D7202C - .incbin "graphics/pokemon/hypno/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Hypno:: @ 8D7235C - .incbin "graphics/pokemon/hypno/shiny.gbapal.lz" - - .align 2 -gMonIcon_Hypno:: @ 8D72380 - .incbin "graphics/pokemon/hypno/icon.4bpp" - - .align 2 -gMonFootprint_Hypno:: @ 8D72780 - .incbin "graphics/pokemon/hypno/footprint.1bpp" - - .align 2 -gMonFrontPic_Krabby:: @ 8D727A0 - .incbin "graphics/pokemon/krabby/front.4bpp.lz" - - .align 2 -gMonPalette_Krabby:: @ 8D72AC4 - .incbin "graphics/pokemon/krabby/normal.gbapal.lz" - - .align 2 -gMonBackPic_Krabby:: @ 8D72AEC - .incbin "graphics/pokemon/krabby/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Krabby:: @ 8D72E78 - .incbin "graphics/pokemon/krabby/shiny.gbapal.lz" - - .align 2 -gMonIcon_Krabby:: @ 8D72EA0 - .incbin "graphics/pokemon/krabby/icon.4bpp" - - .align 2 -gMonFootprint_Krabby:: @ 8D732A0 - .incbin "graphics/pokemon/krabby/footprint.1bpp" - - .align 2 -gMonFrontPic_Kingler:: @ 8D732C0 - .incbin "graphics/pokemon/kingler/front.4bpp.lz" - - .align 2 -gMonPalette_Kingler:: @ 8D73740 - .incbin "graphics/pokemon/kingler/normal.gbapal.lz" - - .align 2 -gMonBackPic_Kingler:: @ 8D73768 - .incbin "graphics/pokemon/kingler/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Kingler:: @ 8D73AEC - .incbin "graphics/pokemon/kingler/shiny.gbapal.lz" - - .align 2 -gMonIcon_Kingler:: @ 8D73B14 - .incbin "graphics/pokemon/kingler/icon.4bpp" - - .align 2 -gMonFootprint_Kingler:: @ 8D73F14 - .incbin "graphics/pokemon/kingler/footprint.1bpp" - - .align 2 -gMonFrontPic_Voltorb:: @ 8D73F34 - .incbin "graphics/pokemon/voltorb/front.4bpp.lz" - - .align 2 -gMonPalette_Voltorb:: @ 8D7413C - .incbin "graphics/pokemon/voltorb/normal.gbapal.lz" - - .align 2 -gMonBackPic_Voltorb:: @ 8D74160 - .incbin "graphics/pokemon/voltorb/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Voltorb:: @ 8D743D4 - .incbin "graphics/pokemon/voltorb/shiny.gbapal.lz" - - .align 2 -gMonIcon_Voltorb:: @ 8D743F8 - .incbin "graphics/pokemon/voltorb/icon.4bpp" - - .align 2 -gMonFootprint_Voltorb:: @ 8D747F8 - .incbin "graphics/pokemon/voltorb/footprint.1bpp" - - .align 2 -gMonFrontPic_Electrode:: @ 8D74818 - .incbin "graphics/pokemon/electrode/front.4bpp.lz" - - .align 2 -gMonPalette_Electrode:: @ 8D74A84 - .incbin "graphics/pokemon/electrode/normal.gbapal.lz" - - .align 2 -gMonBackPic_Electrode:: @ 8D74AA8 - .incbin "graphics/pokemon/electrode/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Electrode:: @ 8D74D18 - .incbin "graphics/pokemon/electrode/shiny.gbapal.lz" - - .align 2 -gMonIcon_Electrode:: @ 8D74D3C - .incbin "graphics/pokemon/electrode/icon.4bpp" - - .align 2 -gMonFootprint_Electrode:: @ 8D7513C - .incbin "graphics/pokemon/electrode/footprint.1bpp" - - .align 2 -gMonFrontPic_Exeggcute:: @ 8D7515C - .incbin "graphics/pokemon/exeggcute/front.4bpp.lz" - - .align 2 -gMonPalette_Exeggcute:: @ 8D754EC - .incbin "graphics/pokemon/exeggcute/normal.gbapal.lz" - - .align 2 -gMonBackPic_Exeggcute:: @ 8D75510 - .incbin "graphics/pokemon/exeggcute/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Exeggcute:: @ 8D75818 - .incbin "graphics/pokemon/exeggcute/shiny.gbapal.lz" - - .align 2 -gMonIcon_Exeggcute:: @ 8D7583C - .incbin "graphics/pokemon/exeggcute/icon.4bpp" - - .align 2 -gMonFootprint_Exeggcute:: @ 8D75C3C - .incbin "graphics/pokemon/exeggcute/footprint.1bpp" - - .align 2 -gMonFrontPic_Exeggutor:: @ 8D75C5C - .incbin "graphics/pokemon/exeggutor/front.4bpp.lz" - - .align 2 -gMonPalette_Exeggutor:: @ 8D760AC - .incbin "graphics/pokemon/exeggutor/normal.gbapal.lz" - - .align 2 -gMonBackPic_Exeggutor:: @ 8D760D4 - .incbin "graphics/pokemon/exeggutor/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Exeggutor:: @ 8D764A0 - .incbin "graphics/pokemon/exeggutor/shiny.gbapal.lz" - - .align 2 -gMonIcon_Exeggutor:: @ 8D764C8 - .incbin "graphics/pokemon/exeggutor/icon.4bpp" - - .align 2 -gMonFootprint_Exeggutor:: @ 8D768C8 - .incbin "graphics/pokemon/exeggutor/footprint.1bpp" - - .align 2 -gMonFrontPic_Cubone:: @ 8D768E8 - .incbin "graphics/pokemon/cubone/front.4bpp.lz" - - .align 2 -gMonPalette_Cubone:: @ 8D76BA4 - .incbin "graphics/pokemon/cubone/normal.gbapal.lz" - - .align 2 -gMonBackPic_Cubone:: @ 8D76BCC - .incbin "graphics/pokemon/cubone/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Cubone:: @ 8D76F0C - .incbin "graphics/pokemon/cubone/shiny.gbapal.lz" - - .align 2 -gMonIcon_Cubone:: @ 8D76F34 - .incbin "graphics/pokemon/cubone/icon.4bpp" - - .align 2 -gMonFootprint_Cubone:: @ 8D77334 - .incbin "graphics/pokemon/cubone/footprint.1bpp" - - .align 2 -gMonFrontPic_Marowak:: @ 8D77354 - .incbin "graphics/pokemon/marowak/front.4bpp.lz" - - .align 2 -gMonPalette_Marowak:: @ 8D776D4 - .incbin "graphics/pokemon/marowak/normal.gbapal.lz" - - .align 2 -gMonBackPic_Marowak:: @ 8D776FC - .incbin "graphics/pokemon/marowak/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Marowak:: @ 8D77A10 - .incbin "graphics/pokemon/marowak/shiny.gbapal.lz" - - .align 2 -gMonIcon_Marowak:: @ 8D77A38 - .incbin "graphics/pokemon/marowak/icon.4bpp" - - .align 2 -gMonFootprint_Marowak:: @ 8D77E38 - .incbin "graphics/pokemon/marowak/footprint.1bpp" - - .align 2 -gMonFrontPic_Hitmonlee:: @ 8D77E58 - .incbin "graphics/pokemon/hitmonlee/front.4bpp.lz" - - .align 2 -gMonPalette_Hitmonlee:: @ 8D781CC - .incbin "graphics/pokemon/hitmonlee/normal.gbapal.lz" - - .align 2 -gMonBackPic_Hitmonlee:: @ 8D781F4 - .incbin "graphics/pokemon/hitmonlee/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Hitmonlee:: @ 8D78498 - .incbin "graphics/pokemon/hitmonlee/shiny.gbapal.lz" - - .align 2 -gMonIcon_Hitmonlee:: @ 8D784C0 - .incbin "graphics/pokemon/hitmonlee/icon.4bpp" - - .align 2 -gMonFootprint_Hitmonlee:: @ 8D788C0 - .incbin "graphics/pokemon/hitmonlee/footprint.1bpp" - - .align 2 -gMonFrontPic_Hitmonchan:: @ 8D788E0 - .incbin "graphics/pokemon/hitmonchan/front.4bpp.lz" - - .align 2 -gMonPalette_Hitmonchan:: @ 8D78C20 - .incbin "graphics/pokemon/hitmonchan/normal.gbapal.lz" - - .align 2 -gMonBackPic_Hitmonchan:: @ 8D78C48 - .incbin "graphics/pokemon/hitmonchan/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Hitmonchan:: @ 8D78F8C - .incbin "graphics/pokemon/hitmonchan/shiny.gbapal.lz" - - .align 2 -gMonIcon_Hitmonchan:: @ 8D78FB4 - .incbin "graphics/pokemon/hitmonchan/icon.4bpp" - - .align 2 -gMonFootprint_Hitmonchan:: @ 8D793B4 - .incbin "graphics/pokemon/hitmonchan/footprint.1bpp" - - .align 2 -gMonFrontPic_Lickitung:: @ 8D793D4 - .incbin "graphics/pokemon/lickitung/front.4bpp.lz" - - .align 2 -gMonPalette_Lickitung:: @ 8D797AC - .incbin "graphics/pokemon/lickitung/normal.gbapal.lz" - - .align 2 -gMonBackPic_Lickitung:: @ 8D797D4 - .incbin "graphics/pokemon/lickitung/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Lickitung:: @ 8D79A78 - .incbin "graphics/pokemon/lickitung/shiny.gbapal.lz" - - .align 2 -gMonIcon_Lickitung:: @ 8D79AA0 - .incbin "graphics/pokemon/lickitung/icon.4bpp" - - .align 2 -gMonFootprint_Lickitung:: @ 8D79EA0 - .incbin "graphics/pokemon/lickitung/footprint.1bpp" - - .align 2 -gMonFrontPic_Koffing:: @ 8D79EC0 - .incbin "graphics/pokemon/koffing/front.4bpp.lz" - - .align 2 -gMonPalette_Koffing:: @ 8D7A1C0 - .incbin "graphics/pokemon/koffing/normal.gbapal.lz" - - .align 2 -gMonBackPic_Koffing:: @ 8D7A1E8 - .incbin "graphics/pokemon/koffing/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Koffing:: @ 8D7A4E8 - .incbin "graphics/pokemon/koffing/shiny.gbapal.lz" - - .align 2 -gMonIcon_Koffing:: @ 8D7A510 - .incbin "graphics/pokemon/koffing/icon.4bpp" - - .align 2 -gMonFootprint_Koffing:: @ 8D7A910 - .incbin "graphics/pokemon/koffing/footprint.1bpp" - - .align 2 -gMonFrontPic_Weezing:: @ 8D7A930 - .incbin "graphics/pokemon/weezing/front.4bpp.lz" - - .align 2 -gMonPalette_Weezing:: @ 8D7ADEC - .incbin "graphics/pokemon/weezing/normal.gbapal.lz" - - .align 2 -gMonBackPic_Weezing:: @ 8D7AE14 - .incbin "graphics/pokemon/weezing/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Weezing:: @ 8D7B198 - .incbin "graphics/pokemon/weezing/shiny.gbapal.lz" - - .align 2 -gMonIcon_Weezing:: @ 8D7B1C0 - .incbin "graphics/pokemon/weezing/icon.4bpp" - - .align 2 -gMonFootprint_Weezing:: @ 8D7B5C0 - .incbin "graphics/pokemon/weezing/footprint.1bpp" - - .align 2 -gMonFrontPic_Rhyhorn:: @ 8D7B5E0 - .incbin "graphics/pokemon/rhyhorn/front.4bpp.lz" - - .align 2 -gMonPalette_Rhyhorn:: @ 8D7B9DC - .incbin "graphics/pokemon/rhyhorn/normal.gbapal.lz" - - .align 2 -gMonBackPic_Rhyhorn:: @ 8D7B9FC - .incbin "graphics/pokemon/rhyhorn/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Rhyhorn:: @ 8D7BD44 - .incbin "graphics/pokemon/rhyhorn/shiny.gbapal.lz" - - .align 2 -gMonIcon_Rhyhorn:: @ 8D7BD64 - .incbin "graphics/pokemon/rhyhorn/icon.4bpp" - - .align 2 -gMonFootprint_Rhyhorn:: @ 8D7C164 - .incbin "graphics/pokemon/rhyhorn/footprint.1bpp" - - .align 2 -gMonFrontPic_Rhydon:: @ 8D7C184 - .incbin "graphics/pokemon/rhydon/front.4bpp.lz" - - .align 2 -gMonPalette_Rhydon:: @ 8D7C678 - .incbin "graphics/pokemon/rhydon/normal.gbapal.lz" - - .align 2 -gMonBackPic_Rhydon:: @ 8D7C6A0 - .incbin "graphics/pokemon/rhydon/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Rhydon:: @ 8D7CAF0 - .incbin "graphics/pokemon/rhydon/shiny.gbapal.lz" - - .align 2 -gMonIcon_Rhydon:: @ 8D7CB18 - .incbin "graphics/pokemon/rhydon/icon.4bpp" - - .align 2 -gMonFootprint_Rhydon:: @ 8D7CF18 - .incbin "graphics/pokemon/rhydon/footprint.1bpp" - - .align 2 -gMonFrontPic_Chansey:: @ 8D7CF38 - .incbin "graphics/pokemon/chansey/front.4bpp.lz" - - .align 2 -gMonPalette_Chansey:: @ 8D7D274 - .incbin "graphics/pokemon/chansey/normal.gbapal.lz" - - .align 2 -gMonBackPic_Chansey:: @ 8D7D298 - .incbin "graphics/pokemon/chansey/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Chansey:: @ 8D7D4E8 - .incbin "graphics/pokemon/chansey/shiny.gbapal.lz" - - .align 2 -gMonIcon_Chansey:: @ 8D7D50C - .incbin "graphics/pokemon/chansey/icon.4bpp" - - .align 2 -gMonFootprint_Chansey:: @ 8D7D90C - .incbin "graphics/pokemon/chansey/footprint.1bpp" - - .align 2 -gMonFrontPic_Tangela:: @ 8D7D92C - .incbin "graphics/pokemon/tangela/front.4bpp.lz" - - .align 2 -gMonPalette_Tangela:: @ 8D7DD00 - .incbin "graphics/pokemon/tangela/normal.gbapal.lz" - - .align 2 -gMonBackPic_Tangela:: @ 8D7DD24 - .incbin "graphics/pokemon/tangela/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Tangela:: @ 8D7E0D0 - .incbin "graphics/pokemon/tangela/shiny.gbapal.lz" - - .align 2 -gMonIcon_Tangela:: @ 8D7E0F4 - .incbin "graphics/pokemon/tangela/icon.4bpp" - - .align 2 -gMonFootprint_Tangela:: @ 8D7E4F4 - .incbin "graphics/pokemon/tangela/footprint.1bpp" - - .align 2 -gMonFrontPic_Kangaskhan:: @ 8D7E514 - .incbin "graphics/pokemon/kangaskhan/front.4bpp.lz" - - .align 2 -gMonPalette_Kangaskhan:: @ 8D7E9BC - .incbin "graphics/pokemon/kangaskhan/normal.gbapal.lz" - - .align 2 -gMonBackPic_Kangaskhan:: @ 8D7E9E4 - .incbin "graphics/pokemon/kangaskhan/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Kangaskhan:: @ 8D7EE14 - .incbin "graphics/pokemon/kangaskhan/shiny.gbapal.lz" - - .align 2 -gMonIcon_Kangaskhan:: @ 8D7EE3C - .incbin "graphics/pokemon/kangaskhan/icon.4bpp" - - .align 2 -gMonFootprint_Kangaskhan:: @ 8D7F23C - .incbin "graphics/pokemon/kangaskhan/footprint.1bpp" - - .align 2 -gMonFrontPic_Horsea:: @ 8D7F25C - .incbin "graphics/pokemon/horsea/front.4bpp.lz" - - .align 2 -gMonPalette_Horsea:: @ 8D7F4C8 - .incbin "graphics/pokemon/horsea/normal.gbapal.lz" - - .align 2 -gMonBackPic_Horsea:: @ 8D7F4F0 - .incbin "graphics/pokemon/horsea/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Horsea:: @ 8D7F7D0 - .incbin "graphics/pokemon/horsea/shiny.gbapal.lz" - - .align 2 -gMonIcon_Horsea:: @ 8D7F7F8 - .incbin "graphics/pokemon/horsea/icon.4bpp" - - .align 2 -gMonFootprint_Horsea:: @ 8D7FBF8 - .incbin "graphics/pokemon/horsea/footprint.1bpp" - - .align 2 -gMonFrontPic_Seadra:: @ 8D7FC18 - .incbin "graphics/pokemon/seadra/front.4bpp.lz" - - .align 2 -gMonPalette_Seadra:: @ 8D7FFA0 - .incbin "graphics/pokemon/seadra/normal.gbapal.lz" - - .align 2 -gMonBackPic_Seadra:: @ 8D7FFC8 - .incbin "graphics/pokemon/seadra/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Seadra:: @ 8D80368 - .incbin "graphics/pokemon/seadra/shiny.gbapal.lz" - - .align 2 -gMonIcon_Seadra:: @ 8D80390 - .incbin "graphics/pokemon/seadra/icon.4bpp" - - .align 2 -gMonFootprint_Seadra:: @ 8D80790 - .incbin "graphics/pokemon/seadra/footprint.1bpp" - - .align 2 -gMonFrontPic_Goldeen:: @ 8D807B0 - .incbin "graphics/pokemon/goldeen/front.4bpp.lz" - - .align 2 -gMonPalette_Goldeen:: @ 8D80B18 - .incbin "graphics/pokemon/goldeen/normal.gbapal.lz" - - .align 2 -gMonBackPic_Goldeen:: @ 8D80B40 - .incbin "graphics/pokemon/goldeen/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Goldeen:: @ 8D80EB0 - .incbin "graphics/pokemon/goldeen/shiny.gbapal.lz" - - .align 2 -gMonIcon_Goldeen:: @ 8D80ED8 - .incbin "graphics/pokemon/goldeen/icon.4bpp" - - .align 2 -gMonFootprint_Goldeen:: @ 8D812D8 - .incbin "graphics/pokemon/goldeen/footprint.1bpp" - - .align 2 -gMonFrontPic_Seaking:: @ 8D812F8 - .incbin "graphics/pokemon/seaking/front.4bpp.lz" - - .align 2 -gMonPalette_Seaking:: @ 8D8176C - .incbin "graphics/pokemon/seaking/normal.gbapal.lz" - - .align 2 -gMonBackPic_Seaking:: @ 8D81794 - .incbin "graphics/pokemon/seaking/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Seaking:: @ 8D81AE4 - .incbin "graphics/pokemon/seaking/shiny.gbapal.lz" - - .align 2 -gMonIcon_Seaking:: @ 8D81B0C - .incbin "graphics/pokemon/seaking/icon.4bpp" - - .align 2 -gMonFootprint_Seaking:: @ 8D81F0C - .incbin "graphics/pokemon/seaking/footprint.1bpp" - - .align 2 -gMonFrontPic_Staryu:: @ 8D81F2C - .incbin "graphics/pokemon/staryu/front.4bpp.lz" - - .align 2 -gMonPalette_Staryu:: @ 8D821DC - .incbin "graphics/pokemon/staryu/normal.gbapal.lz" - - .align 2 -gMonBackPic_Staryu:: @ 8D82204 - .incbin "graphics/pokemon/staryu/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Staryu:: @ 8D8246C - .incbin "graphics/pokemon/staryu/shiny.gbapal.lz" - - .align 2 -gMonIcon_Staryu:: @ 8D82494 - .incbin "graphics/pokemon/staryu/icon.4bpp" - - .align 2 -gMonFootprint_Staryu:: @ 8D82894 - .incbin "graphics/pokemon/staryu/footprint.1bpp" - - .align 2 -gMonFrontPic_Starmie:: @ 8D828B4 - .incbin "graphics/pokemon/starmie/front.4bpp.lz" - - .align 2 -gMonPalette_Starmie:: @ 8D82C54 - .incbin "graphics/pokemon/starmie/normal.gbapal.lz" - - .align 2 -gMonBackPic_Starmie:: @ 8D82C7C - .incbin "graphics/pokemon/starmie/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Starmie:: @ 8D82F20 - .incbin "graphics/pokemon/starmie/shiny.gbapal.lz" - - .align 2 -gMonIcon_Starmie:: @ 8D82F48 - .incbin "graphics/pokemon/starmie/icon.4bpp" - - .align 2 -gMonFootprint_Starmie:: @ 8D83348 - .incbin "graphics/pokemon/starmie/footprint.1bpp" - - .align 2 -gMonFrontPic_Mrmime:: @ 8D83368 - .incbin "graphics/pokemon/mr_mime/front.4bpp.lz" - - .align 2 -gMonPalette_Mrmime:: @ 8D83724 - .incbin "graphics/pokemon/mr_mime/normal.gbapal.lz" - - .align 2 -gMonBackPic_Mrmime:: @ 8D8374C - .incbin "graphics/pokemon/mr_mime/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Mrmime:: @ 8D83A80 - .incbin "graphics/pokemon/mr_mime/shiny.gbapal.lz" - - .align 2 -gMonIcon_Mrmime:: @ 8D83AA8 - .incbin "graphics/pokemon/mr_mime/icon.4bpp" - - .align 2 -gMonFootprint_Mrmime:: @ 8D83EA8 - .incbin "graphics/pokemon/mr_mime/footprint.1bpp" - - .align 2 -gMonFrontPic_Scyther:: @ 8D83EC8 - .incbin "graphics/pokemon/scyther/front.4bpp.lz" - - .align 2 -gMonPalette_Scyther:: @ 8D842F0 - .incbin "graphics/pokemon/scyther/normal.gbapal.lz" - - .align 2 -gMonBackPic_Scyther:: @ 8D84318 - .incbin "graphics/pokemon/scyther/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Scyther:: @ 8D84730 - .incbin "graphics/pokemon/scyther/shiny.gbapal.lz" - - .align 2 -gMonIcon_Scyther:: @ 8D84758 - .incbin "graphics/pokemon/scyther/icon.4bpp" - - .align 2 -gMonFootprint_Scyther:: @ 8D84B58 - .incbin "graphics/pokemon/scyther/footprint.1bpp" - - .align 2 -gMonFrontPic_Jynx:: @ 8D84B78 - .incbin "graphics/pokemon/jynx/front.4bpp.lz" - - .align 2 -gMonPalette_Jynx:: @ 8D84F44 - .incbin "graphics/pokemon/jynx/normal.gbapal.lz" - - .align 2 -gMonBackPic_Jynx:: @ 8D84F6C - .incbin "graphics/pokemon/jynx/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Jynx:: @ 8D85258 - .incbin "graphics/pokemon/jynx/shiny.gbapal.lz" - - .align 2 -gMonIcon_Jynx:: @ 8D85280 - .incbin "graphics/pokemon/jynx/icon.4bpp" - - .align 2 -gMonFootprint_Jynx:: @ 8D85680 - .incbin "graphics/pokemon/jynx/footprint.1bpp" - - .align 2 -gMonFrontPic_Electabuzz:: @ 8D856A0 - .incbin "graphics/pokemon/electabuzz/front.4bpp.lz" - - .align 2 -gMonPalette_Electabuzz:: @ 8D85AF8 - .incbin "graphics/pokemon/electabuzz/normal.gbapal.lz" - - .align 2 -gMonBackPic_Electabuzz:: @ 8D85B20 - .incbin "graphics/pokemon/electabuzz/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Electabuzz:: @ 8D85E30 - .incbin "graphics/pokemon/electabuzz/shiny.gbapal.lz" - - .align 2 -gMonIcon_Electabuzz:: @ 8D85E58 - .incbin "graphics/pokemon/electabuzz/icon.4bpp" - - .align 2 -gMonFootprint_Electabuzz:: @ 8D86258 - .incbin "graphics/pokemon/electabuzz/footprint.1bpp" - - .align 2 -gMonFrontPic_Magmar:: @ 8D86278 - .incbin "graphics/pokemon/magmar/front.4bpp.lz" - - .align 2 -gMonPalette_Magmar:: @ 8D866A8 - .incbin "graphics/pokemon/magmar/normal.gbapal.lz" - - .align 2 -gMonBackPic_Magmar:: @ 8D866D0 - .incbin "graphics/pokemon/magmar/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Magmar:: @ 8D86A08 - .incbin "graphics/pokemon/magmar/shiny.gbapal.lz" - - .align 2 -gMonIcon_Magmar:: @ 8D86A30 - .incbin "graphics/pokemon/magmar/icon.4bpp" - - .align 2 -gMonFootprint_Magmar:: @ 8D86E30 - .incbin "graphics/pokemon/magmar/footprint.1bpp" - - .align 2 -gMonFrontPic_Pinsir:: @ 8D86E50 - .incbin "graphics/pokemon/pinsir/front.4bpp.lz" - - .align 2 -gMonPalette_Pinsir:: @ 8D87280 - .incbin "graphics/pokemon/pinsir/normal.gbapal.lz" - - .align 2 -gMonBackPic_Pinsir:: @ 8D872A4 - .incbin "graphics/pokemon/pinsir/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Pinsir:: @ 8D875F8 - .incbin "graphics/pokemon/pinsir/shiny.gbapal.lz" - - .align 2 -gMonIcon_Pinsir:: @ 8D8761C - .incbin "graphics/pokemon/pinsir/icon.4bpp" - - .align 2 -gMonFootprint_Pinsir:: @ 8D87A1C - .incbin "graphics/pokemon/pinsir/footprint.1bpp" - - .align 2 -gMonFrontPic_Tauros:: @ 8D87A3C - .incbin "graphics/pokemon/tauros/front.4bpp.lz" - - .align 2 -gMonPalette_Tauros:: @ 8D87E9C - .incbin "graphics/pokemon/tauros/normal.gbapal.lz" - - .align 2 -gMonBackPic_Tauros:: @ 8D87EC4 - .incbin "graphics/pokemon/tauros/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Tauros:: @ 8D88178 - .incbin "graphics/pokemon/tauros/shiny.gbapal.lz" - - .align 2 -gMonIcon_Tauros:: @ 8D881A0 - .incbin "graphics/pokemon/tauros/icon.4bpp" - - .align 2 -gMonFootprint_Tauros:: @ 8D885A0 - .incbin "graphics/pokemon/tauros/footprint.1bpp" - - .align 2 -gMonFrontPic_Magikarp:: @ 8D885C0 - .incbin "graphics/pokemon/magikarp/front.4bpp.lz" - - .align 2 -gMonPalette_Magikarp:: @ 8D88908 - .incbin "graphics/pokemon/magikarp/normal.gbapal.lz" - - .align 2 -gMonBackPic_Magikarp:: @ 8D88930 - .incbin "graphics/pokemon/magikarp/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Magikarp:: @ 8D88C60 - .incbin "graphics/pokemon/magikarp/shiny.gbapal.lz" - - .align 2 -gMonIcon_Magikarp:: @ 8D88C88 - .incbin "graphics/pokemon/magikarp/icon.4bpp" - - .align 2 -gMonFootprint_Magikarp:: @ 8D89088 - .incbin "graphics/pokemon/magikarp/footprint.1bpp" - - .align 2 -gMonFrontPic_Gyarados:: @ 8D890A8 - .incbin "graphics/pokemon/gyarados/front.4bpp.lz" - - .align 2 -gMonPalette_Gyarados:: @ 8D8964C - .incbin "graphics/pokemon/gyarados/normal.gbapal.lz" - - .align 2 -gMonBackPic_Gyarados:: @ 8D89674 - .incbin "graphics/pokemon/gyarados/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Gyarados:: @ 8D89B2C - .incbin "graphics/pokemon/gyarados/shiny.gbapal.lz" - - .align 2 -gMonIcon_Gyarados:: @ 8D89B54 - .incbin "graphics/pokemon/gyarados/icon.4bpp" - - .align 2 -gMonFootprint_Gyarados:: @ 8D89F54 - .incbin "graphics/pokemon/gyarados/footprint.1bpp" - - .align 2 -gMonFrontPic_Lapras:: @ 8D89F74 - .incbin "graphics/pokemon/lapras/front.4bpp.lz" - - .align 2 -gMonPalette_Lapras:: @ 8D8A354 - .incbin "graphics/pokemon/lapras/normal.gbapal.lz" - - .align 2 -gMonBackPic_Lapras:: @ 8D8A37C - .incbin "graphics/pokemon/lapras/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Lapras:: @ 8D8A6C0 - .incbin "graphics/pokemon/lapras/shiny.gbapal.lz" - - .align 2 -gMonIcon_Lapras:: @ 8D8A6E8 - .incbin "graphics/pokemon/lapras/icon.4bpp" - - .align 2 -gMonFootprint_Lapras:: @ 8D8AAE8 - .incbin "graphics/pokemon/lapras/footprint.1bpp" - - .align 2 -gMonFrontPic_Ditto:: @ 8D8AB08 - .incbin "graphics/pokemon/ditto/front.4bpp.lz" - - .align 2 -gMonPalette_Ditto:: @ 8D8ACF8 - .incbin "graphics/pokemon/ditto/normal.gbapal.lz" - - .align 2 -gMonBackPic_Ditto:: @ 8D8AD18 - .incbin "graphics/pokemon/ditto/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Ditto:: @ 8D8AF18 - .incbin "graphics/pokemon/ditto/shiny.gbapal.lz" - - .align 2 -gMonIcon_Ditto:: @ 8D8AF38 - .incbin "graphics/pokemon/ditto/icon.4bpp" - - .align 2 -gMonFootprint_Ditto:: @ 8D8B338 - .incbin "graphics/pokemon/ditto/footprint.1bpp" - - .align 2 -gMonFrontPic_Eevee:: @ 8D8B358 - .incbin "graphics/pokemon/eevee/front.4bpp.lz" - - .align 2 -gMonPalette_Eevee:: @ 8D8B644 - .incbin "graphics/pokemon/eevee/normal.gbapal.lz" - - .align 2 -gMonBackPic_Eevee:: @ 8D8B66C - .incbin "graphics/pokemon/eevee/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Eevee:: @ 8D8B994 - .incbin "graphics/pokemon/eevee/shiny.gbapal.lz" - - .align 2 -gMonIcon_Eevee:: @ 8D8B9BC - .incbin "graphics/pokemon/eevee/icon.4bpp" - - .align 2 -gMonFootprint_Eevee:: @ 8D8BDBC - .incbin "graphics/pokemon/eevee/footprint.1bpp" - - .align 2 -gMonFrontPic_Vaporeon:: @ 8D8BDDC - .incbin "graphics/pokemon/vaporeon/front.4bpp.lz" - - .align 2 -gMonPalette_Vaporeon:: @ 8D8C170 - .incbin "graphics/pokemon/vaporeon/normal.gbapal.lz" - - .align 2 -gMonBackPic_Vaporeon:: @ 8D8C198 - .incbin "graphics/pokemon/vaporeon/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Vaporeon:: @ 8D8C460 - .incbin "graphics/pokemon/vaporeon/shiny.gbapal.lz" - - .align 2 -gMonIcon_Vaporeon:: @ 8D8C488 - .incbin "graphics/pokemon/vaporeon/icon.4bpp" - - .align 2 -gMonFootprint_Vaporeon:: @ 8D8C888 - .incbin "graphics/pokemon/vaporeon/footprint.1bpp" - - .align 2 -gMonFrontPic_Jolteon:: @ 8D8C8A8 - .incbin "graphics/pokemon/jolteon/front.4bpp.lz" - - .align 2 -gMonPalette_Jolteon:: @ 8D8CBF8 - .incbin "graphics/pokemon/jolteon/normal.gbapal.lz" - - .align 2 -gMonBackPic_Jolteon:: @ 8D8CC20 - .incbin "graphics/pokemon/jolteon/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Jolteon:: @ 8D8CFCC - .incbin "graphics/pokemon/jolteon/shiny.gbapal.lz" - - .align 2 -gMonIcon_Jolteon:: @ 8D8CFF4 - .incbin "graphics/pokemon/jolteon/icon.4bpp" - - .align 2 -gMonFootprint_Jolteon:: @ 8D8D3F4 - .incbin "graphics/pokemon/jolteon/footprint.1bpp" - - .align 2 -gMonFrontPic_Flareon:: @ 8D8D414 - .incbin "graphics/pokemon/flareon/front.4bpp.lz" - - .align 2 -gMonPalette_Flareon:: @ 8D8D798 - .incbin "graphics/pokemon/flareon/normal.gbapal.lz" - - .align 2 -gMonBackPic_Flareon:: @ 8D8D7C0 - .incbin "graphics/pokemon/flareon/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Flareon:: @ 8D8DB50 - .incbin "graphics/pokemon/flareon/shiny.gbapal.lz" - - .align 2 -gMonIcon_Flareon:: @ 8D8DB78 - .incbin "graphics/pokemon/flareon/icon.4bpp" - - .align 2 -gMonFootprint_Flareon:: @ 8D8DF78 - .incbin "graphics/pokemon/flareon/footprint.1bpp" - - .align 2 -gMonFrontPic_Porygon:: @ 8D8DF98 - .incbin "graphics/pokemon/porygon/front.4bpp.lz" - - .align 2 -gMonPalette_Porygon:: @ 8D8E250 - .incbin "graphics/pokemon/porygon/normal.gbapal.lz" - - .align 2 -gMonBackPic_Porygon:: @ 8D8E274 - .incbin "graphics/pokemon/porygon/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Porygon:: @ 8D8E52C - .incbin "graphics/pokemon/porygon/shiny.gbapal.lz" - - .align 2 -gMonIcon_Porygon:: @ 8D8E550 - .incbin "graphics/pokemon/porygon/icon.4bpp" - - .align 2 -gMonFootprint_Porygon:: @ 8D8E950 - .incbin "graphics/pokemon/porygon/footprint.1bpp" - - .align 2 -gMonFrontPic_Omanyte:: @ 8D8E970 - .incbin "graphics/pokemon/omanyte/front.4bpp.lz" - - .align 2 -gMonPalette_Omanyte:: @ 8D8EC00 - .incbin "graphics/pokemon/omanyte/normal.gbapal.lz" - - .align 2 -gMonBackPic_Omanyte:: @ 8D8EC28 - .incbin "graphics/pokemon/omanyte/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Omanyte:: @ 8D8EF74 - .incbin "graphics/pokemon/omanyte/shiny.gbapal.lz" - - .align 2 -gMonIcon_Omanyte:: @ 8D8EF9C - .incbin "graphics/pokemon/omanyte/icon.4bpp" - - .align 2 -gMonFootprint_Omanyte:: @ 8D8F39C - .incbin "graphics/pokemon/omanyte/footprint.1bpp" - - .align 2 -gMonFrontPic_Omastar:: @ 8D8F3BC - .incbin "graphics/pokemon/omastar/front.4bpp.lz" - - .align 2 -gMonPalette_Omastar:: @ 8D8F77C - .incbin "graphics/pokemon/omastar/normal.gbapal.lz" - - .align 2 -gMonBackPic_Omastar:: @ 8D8F7A4 - .incbin "graphics/pokemon/omastar/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Omastar:: @ 8D8FAE4 - .incbin "graphics/pokemon/omastar/shiny.gbapal.lz" - - .align 2 -gMonIcon_Omastar:: @ 8D8FB0C - .incbin "graphics/pokemon/omastar/icon.4bpp" - - .align 2 -gMonFootprint_Omastar:: @ 8D8FF0C - .incbin "graphics/pokemon/omastar/footprint.1bpp" - - .align 2 -gMonFrontPic_Kabuto:: @ 8D8FF2C - .incbin "graphics/pokemon/kabuto/front.4bpp.lz" - - .align 2 -gMonPalette_Kabuto:: @ 8D90154 - .incbin "graphics/pokemon/kabuto/normal.gbapal.lz" - - .align 2 -gMonBackPic_Kabuto:: @ 8D9017C - .incbin "graphics/pokemon/kabuto/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Kabuto:: @ 8D90414 - .incbin "graphics/pokemon/kabuto/shiny.gbapal.lz" - - .align 2 -gMonIcon_Kabuto:: @ 8D9043C - .incbin "graphics/pokemon/kabuto/icon.4bpp" - - .align 2 -gMonFootprint_Kabuto:: @ 8D9083C - .incbin "graphics/pokemon/kabuto/footprint.1bpp" - - .align 2 -gMonFrontPic_Kabutops:: @ 8D9085C - .incbin "graphics/pokemon/kabutops/front.4bpp.lz" - - .align 2 -gMonPalette_Kabutops:: @ 8D90C6C - .incbin "graphics/pokemon/kabutops/normal.gbapal.lz" - - .align 2 -gMonBackPic_Kabutops:: @ 8D90C90 - .incbin "graphics/pokemon/kabutops/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Kabutops:: @ 8D91034 - .incbin "graphics/pokemon/kabutops/shiny.gbapal.lz" - - .align 2 -gMonIcon_Kabutops:: @ 8D91058 - .incbin "graphics/pokemon/kabutops/icon.4bpp" - - .align 2 -gMonFootprint_Kabutops:: @ 8D91458 - .incbin "graphics/pokemon/kabutops/footprint.1bpp" - - .align 2 -gMonFrontPic_Aerodactyl:: @ 8D91478 - .incbin "graphics/pokemon/aerodactyl/front.4bpp.lz" - - .align 2 -gMonPalette_Aerodactyl:: @ 8D918C8 - .incbin "graphics/pokemon/aerodactyl/normal.gbapal.lz" - - .align 2 -gMonBackPic_Aerodactyl:: @ 8D918F0 - .incbin "graphics/pokemon/aerodactyl/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Aerodactyl:: @ 8D91BF4 - .incbin "graphics/pokemon/aerodactyl/shiny.gbapal.lz" - - .align 2 -gMonIcon_Aerodactyl:: @ 8D91C1C - .incbin "graphics/pokemon/aerodactyl/icon.4bpp" - - .align 2 -gMonFootprint_Aerodactyl:: @ 8D9201C - .incbin "graphics/pokemon/aerodactyl/footprint.1bpp" - - .align 2 -gMonFrontPic_Snorlax:: @ 8D9203C - .incbin "graphics/pokemon/snorlax/front.4bpp.lz" - - .align 2 -gMonPalette_Snorlax:: @ 8D92410 - .incbin "graphics/pokemon/snorlax/normal.gbapal.lz" - - .align 2 -gMonBackPic_Snorlax:: @ 8D92438 - .incbin "graphics/pokemon/snorlax/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Snorlax:: @ 8D92654 - .incbin "graphics/pokemon/snorlax/shiny.gbapal.lz" - - .align 2 -gMonIcon_Snorlax:: @ 8D9267C - .incbin "graphics/pokemon/snorlax/icon.4bpp" - - .align 2 -gMonFootprint_Snorlax:: @ 8D92A7C - .incbin "graphics/pokemon/snorlax/footprint.1bpp" - - .align 2 -gMonFrontPic_Articuno:: @ 8D92A9C - .incbin "graphics/pokemon/articuno/front.4bpp.lz" - - .align 2 -gMonPalette_Articuno:: @ 8D92F94 - .incbin "graphics/pokemon/articuno/normal.gbapal.lz" - - .align 2 -gMonBackPic_Articuno:: @ 8D92FBC - .incbin "graphics/pokemon/articuno/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Articuno:: @ 8D93218 - .incbin "graphics/pokemon/articuno/shiny.gbapal.lz" - - .align 2 -gMonIcon_Articuno:: @ 8D93240 - .incbin "graphics/pokemon/articuno/icon.4bpp" - - .align 2 -gMonFootprint_Articuno:: @ 8D93640 - .incbin "graphics/pokemon/articuno/footprint.1bpp" - - .align 2 -gMonFrontPic_Zapdos:: @ 8D93660 - .incbin "graphics/pokemon/zapdos/front.4bpp.lz" - - .align 2 -gMonPalette_Zapdos:: @ 8D93AB0 - .incbin "graphics/pokemon/zapdos/normal.gbapal.lz" - - .align 2 -gMonBackPic_Zapdos:: @ 8D93AD8 - .incbin "graphics/pokemon/zapdos/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Zapdos:: @ 8D93E14 - .incbin "graphics/pokemon/zapdos/shiny.gbapal.lz" - - .align 2 -gMonIcon_Zapdos:: @ 8D93E3C - .incbin "graphics/pokemon/zapdos/icon.4bpp" - - .align 2 -gMonFootprint_Zapdos:: @ 8D9423C - .incbin "graphics/pokemon/zapdos/footprint.1bpp" - - .align 2 -gMonFrontPic_Moltres:: @ 8D9425C - .incbin "graphics/pokemon/moltres/front.4bpp.lz" - - .align 2 -gMonPalette_Moltres:: @ 8D94728 - .incbin "graphics/pokemon/moltres/normal.gbapal.lz" - - .align 2 -gMonBackPic_Moltres:: @ 8D94750 - .incbin "graphics/pokemon/moltres/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Moltres:: @ 8D94A8C - .incbin "graphics/pokemon/moltres/shiny.gbapal.lz" - - .align 2 -gMonIcon_Moltres:: @ 8D94AB4 - .incbin "graphics/pokemon/moltres/icon.4bpp" - - .align 2 -gMonFootprint_Moltres:: @ 8D94EB4 - .incbin "graphics/pokemon/moltres/footprint.1bpp" - - .align 2 -gMonFrontPic_Dratini:: @ 8D94ED4 - .incbin "graphics/pokemon/dratini/front.4bpp.lz" - - .align 2 -gMonPalette_Dratini:: @ 8D95190 - .incbin "graphics/pokemon/dratini/normal.gbapal.lz" - - .align 2 -gMonBackPic_Dratini:: @ 8D951B4 - .incbin "graphics/pokemon/dratini/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Dratini:: @ 8D95444 - .incbin "graphics/pokemon/dratini/shiny.gbapal.lz" - - .align 2 -gMonIcon_Dratini:: @ 8D95468 - .incbin "graphics/pokemon/dratini/icon.4bpp" - - .align 2 -gMonFootprint_Dratini:: @ 8D95868 - .incbin "graphics/pokemon/dratini/footprint.1bpp" - - .align 2 -gMonFrontPic_Dragonair:: @ 8D95888 - .incbin "graphics/pokemon/dragonair/front.4bpp.lz" - - .align 2 -gMonPalette_Dragonair:: @ 8D95C20 - .incbin "graphics/pokemon/dragonair/normal.gbapal.lz" - - .align 2 -gMonBackPic_Dragonair:: @ 8D95C48 - .incbin "graphics/pokemon/dragonair/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Dragonair:: @ 8D95F58 - .incbin "graphics/pokemon/dragonair/shiny.gbapal.lz" - - .align 2 -gMonIcon_Dragonair:: @ 8D95F80 - .incbin "graphics/pokemon/dragonair/icon.4bpp" - - .align 2 -gMonFootprint_Dragonair:: @ 8D96380 - .incbin "graphics/pokemon/dragonair/footprint.1bpp" - - .align 2 -gMonFrontPic_Dragonite:: @ 8D963A0 - .incbin "graphics/pokemon/dragonite/front.4bpp.lz" - - .align 2 -gMonPalette_Dragonite:: @ 8D968F0 - .incbin "graphics/pokemon/dragonite/normal.gbapal.lz" - - .align 2 -gMonBackPic_Dragonite:: @ 8D96918 - .incbin "graphics/pokemon/dragonite/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Dragonite:: @ 8D96C10 - .incbin "graphics/pokemon/dragonite/shiny.gbapal.lz" - - .align 2 -gMonIcon_Dragonite:: @ 8D96C38 - .incbin "graphics/pokemon/dragonite/icon.4bpp" - - .align 2 -gMonFootprint_Dragonite:: @ 8D97038 - .incbin "graphics/pokemon/dragonite/footprint.1bpp" - - .align 2 -gMonFrontPic_Mewtwo:: @ 8D97058 - .incbin "graphics/pokemon/mewtwo/front.4bpp.lz" - - .align 2 -gMonPalette_Mewtwo:: @ 8D97494 - .incbin "graphics/pokemon/mewtwo/normal.gbapal.lz" - - .align 2 -gMonBackPic_Mewtwo:: @ 8D974B8 - .incbin "graphics/pokemon/mewtwo/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Mewtwo:: @ 8D97884 - .incbin "graphics/pokemon/mewtwo/shiny.gbapal.lz" - - .align 2 -gMonIcon_Mewtwo:: @ 8D978A8 - .incbin "graphics/pokemon/mewtwo/icon.4bpp" - - .align 2 -gMonFootprint_Mewtwo:: @ 8D97CA8 - .incbin "graphics/pokemon/mewtwo/footprint.1bpp" - - .align 2 -gMonFrontPic_Mew:: @ 8D97CC8 - .incbin "graphics/pokemon/mew/front.4bpp.lz" - - .align 2 -gMonPalette_Mew:: @ 8D97F88 - .incbin "graphics/pokemon/mew/normal.gbapal.lz" - - .align 2 -gMonBackPic_Mew:: @ 8D97FAC - .incbin "graphics/pokemon/mew/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Mew:: @ 8D982FC - .incbin "graphics/pokemon/mew/shiny.gbapal.lz" - - .align 2 -gMonIcon_Mew:: @ 8D98320 - .incbin "graphics/pokemon/mew/icon.4bpp" - - .align 2 -gMonFootprint_Mew:: @ 8D98720 - .incbin "graphics/pokemon/mew/footprint.1bpp" - - .align 2 -gMonFrontPic_Chikorita:: @ 8D98740 - .incbin "graphics/pokemon/chikorita/front.4bpp.lz" - - .align 2 -gMonPalette_Chikorita:: @ 8D989A8 - .incbin "graphics/pokemon/chikorita/normal.gbapal.lz" - - .align 2 -gMonBackPic_Chikorita:: @ 8D989D0 - .incbin "graphics/pokemon/chikorita/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Chikorita:: @ 8D98C94 - .incbin "graphics/pokemon/chikorita/shiny.gbapal.lz" - - .align 2 -gMonIcon_Chikorita:: @ 8D98CBC - .incbin "graphics/pokemon/chikorita/icon.4bpp" - - .align 2 -gMonFootprint_Chikorita:: @ 8D990BC - .incbin "graphics/pokemon/chikorita/footprint.1bpp" - - .align 2 -gMonFrontPic_Bayleef:: @ 8D990DC - .incbin "graphics/pokemon/bayleef/front.4bpp.lz" - - .align 2 -gMonPalette_Bayleef:: @ 8D994B0 - .incbin "graphics/pokemon/bayleef/normal.gbapal.lz" - - .align 2 -gMonBackPic_Bayleef:: @ 8D994D8 - .incbin "graphics/pokemon/bayleef/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Bayleef:: @ 8D99868 - .incbin "graphics/pokemon/bayleef/shiny.gbapal.lz" - - .align 2 -gMonIcon_Bayleef:: @ 8D99890 - .incbin "graphics/pokemon/bayleef/icon.4bpp" - - .align 2 -gMonFootprint_Bayleef:: @ 8D99C90 - .incbin "graphics/pokemon/bayleef/footprint.1bpp" - - .align 2 -gMonFrontPic_Meganium:: @ 8D99CB0 - .incbin "graphics/pokemon/meganium/front.4bpp.lz" - - .align 2 -gMonPalette_Meganium:: @ 8D9A20C - .incbin "graphics/pokemon/meganium/normal.gbapal.lz" - - .align 2 -gMonBackPic_Meganium:: @ 8D9A234 - .incbin "graphics/pokemon/meganium/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Meganium:: @ 8D9A584 - .incbin "graphics/pokemon/meganium/shiny.gbapal.lz" - - .align 2 -gMonIcon_Meganium:: @ 8D9A5AC - .incbin "graphics/pokemon/meganium/icon.4bpp" - - .align 2 -gMonFootprint_Meganium:: @ 8D9A9AC - .incbin "graphics/pokemon/meganium/footprint.1bpp" - - .align 2 -gMonFrontPic_Cyndaquil:: @ 8D9A9CC - .incbin "graphics/pokemon/cyndaquil/front.4bpp.lz" - - .align 2 -gMonPalette_Cyndaquil:: @ 8D9AC58 - .incbin "graphics/pokemon/cyndaquil/normal.gbapal.lz" - - .align 2 -gMonBackPic_Cyndaquil:: @ 8D9AC80 - .incbin "graphics/pokemon/cyndaquil/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Cyndaquil:: @ 8D9AFAC - .incbin "graphics/pokemon/cyndaquil/shiny.gbapal.lz" - - .align 2 -gMonIcon_Cyndaquil:: @ 8D9AFD4 - .incbin "graphics/pokemon/cyndaquil/icon.4bpp" - - .align 2 -gMonFootprint_Cyndaquil:: @ 8D9B3D4 - .incbin "graphics/pokemon/cyndaquil/footprint.1bpp" - - .align 2 -gMonFrontPic_Quilava:: @ 8D9B3F4 - .incbin "graphics/pokemon/quilava/front.4bpp.lz" - - .align 2 -gMonPalette_Quilava:: @ 8D9B710 - .incbin "graphics/pokemon/quilava/normal.gbapal.lz" - - .align 2 -gMonBackPic_Quilava:: @ 8D9B738 - .incbin "graphics/pokemon/quilava/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Quilava:: @ 8D9BAAC - .incbin "graphics/pokemon/quilava/shiny.gbapal.lz" - - .align 2 -gMonIcon_Quilava:: @ 8D9BAD4 - .incbin "graphics/pokemon/quilava/icon.4bpp" - - .align 2 -gMonFootprint_Quilava:: @ 8D9BED4 - .incbin "graphics/pokemon/quilava/footprint.1bpp" - - .align 2 -gMonFrontPic_Typhlosion:: @ 8D9BEF4 - .incbin "graphics/pokemon/typhlosion/front.4bpp.lz" - - .align 2 -gMonPalette_Typhlosion:: @ 8D9C31C - .incbin "graphics/pokemon/typhlosion/normal.gbapal.lz" - - .align 2 -gMonBackPic_Typhlosion:: @ 8D9C344 - .incbin "graphics/pokemon/typhlosion/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Typhlosion:: @ 8D9C748 - .incbin "graphics/pokemon/typhlosion/shiny.gbapal.lz" - - .align 2 -gMonIcon_Typhlosion:: @ 8D9C770 - .incbin "graphics/pokemon/typhlosion/icon.4bpp" - - .align 2 -gMonFootprint_Typhlosion:: @ 8D9CB70 - .incbin "graphics/pokemon/typhlosion/footprint.1bpp" - - .align 2 -gMonFrontPic_Totodile:: @ 8D9CB90 - .incbin "graphics/pokemon/totodile/front.4bpp.lz" - - .align 2 -gMonPalette_Totodile:: @ 8D9CE34 - .incbin "graphics/pokemon/totodile/normal.gbapal.lz" - - .align 2 -gMonBackPic_Totodile:: @ 8D9CE5C - .incbin "graphics/pokemon/totodile/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Totodile:: @ 8D9D13C - .incbin "graphics/pokemon/totodile/shiny.gbapal.lz" - - .align 2 -gMonIcon_Totodile:: @ 8D9D164 - .incbin "graphics/pokemon/totodile/icon.4bpp" - - .align 2 -gMonFootprint_Totodile:: @ 8D9D564 - .incbin "graphics/pokemon/totodile/footprint.1bpp" - - .align 2 -gMonFrontPic_Croconaw:: @ 8D9D584 - .incbin "graphics/pokemon/croconaw/front.4bpp.lz" - - .align 2 -gMonPalette_Croconaw:: @ 8D9D8EC - .incbin "graphics/pokemon/croconaw/normal.gbapal.lz" - - .align 2 -gMonBackPic_Croconaw:: @ 8D9D914 - .incbin "graphics/pokemon/croconaw/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Croconaw:: @ 8D9DC64 - .incbin "graphics/pokemon/croconaw/shiny.gbapal.lz" - - .align 2 -gMonIcon_Croconaw:: @ 8D9DC8C - .incbin "graphics/pokemon/croconaw/icon.4bpp" - - .align 2 -gMonFootprint_Croconaw:: @ 8D9E08C - .incbin "graphics/pokemon/croconaw/footprint.1bpp" - - .align 2 -gMonFrontPic_Feraligatr:: @ 8D9E0AC - .incbin "graphics/pokemon/feraligatr/front.4bpp.lz" - - .align 2 -gMonPalette_Feraligatr:: @ 8D9E618 - .incbin "graphics/pokemon/feraligatr/normal.gbapal.lz" - - .align 2 -gMonBackPic_Feraligatr:: @ 8D9E640 - .incbin "graphics/pokemon/feraligatr/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Feraligatr:: @ 8D9EB0C - .incbin "graphics/pokemon/feraligatr/shiny.gbapal.lz" - - .align 2 -gMonIcon_Feraligatr:: @ 8D9EB34 - .incbin "graphics/pokemon/feraligatr/icon.4bpp" - - .align 2 -gMonFootprint_Feraligatr:: @ 8D9EF34 - .incbin "graphics/pokemon/feraligatr/footprint.1bpp" - - .align 2 -gMonFrontPic_Sentret:: @ 8D9EF54 - .incbin "graphics/pokemon/sentret/front.4bpp.lz" - - .align 2 -gMonPalette_Sentret:: @ 8D9F230 - .incbin "graphics/pokemon/sentret/normal.gbapal.lz" - - .align 2 -gMonBackPic_Sentret:: @ 8D9F258 - .incbin "graphics/pokemon/sentret/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Sentret:: @ 8D9F4FC - .incbin "graphics/pokemon/sentret/shiny.gbapal.lz" - - .align 2 -gMonIcon_Sentret:: @ 8D9F524 - .incbin "graphics/pokemon/sentret/icon.4bpp" - - .align 2 -gMonFootprint_Sentret:: @ 8D9F924 - .incbin "graphics/pokemon/sentret/footprint.1bpp" - - .align 2 -gMonFrontPic_Furret:: @ 8D9F944 - .incbin "graphics/pokemon/furret/front.4bpp.lz" - - .align 2 -gMonPalette_Furret:: @ 8D9FC78 - .incbin "graphics/pokemon/furret/normal.gbapal.lz" - - .align 2 -gMonBackPic_Furret:: @ 8D9FCA0 - .incbin "graphics/pokemon/furret/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Furret:: @ 8D9FFC8 - .incbin "graphics/pokemon/furret/shiny.gbapal.lz" - - .align 2 -gMonIcon_Furret:: @ 8D9FFF0 - .incbin "graphics/pokemon/furret/icon.4bpp" - - .align 2 -gMonFootprint_Furret:: @ 8DA03F0 - .incbin "graphics/pokemon/furret/footprint.1bpp" - - .align 2 -gMonFrontPic_Hoothoot:: @ 8DA0410 - .incbin "graphics/pokemon/hoothoot/front.4bpp.lz" - - .align 2 -gMonPalette_Hoothoot:: @ 8DA0694 - .incbin "graphics/pokemon/hoothoot/normal.gbapal.lz" - - .align 2 -gMonBackPic_Hoothoot:: @ 8DA06BC - .incbin "graphics/pokemon/hoothoot/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Hoothoot:: @ 8DA09C4 - .incbin "graphics/pokemon/hoothoot/shiny.gbapal.lz" - - .align 2 -gMonIcon_Hoothoot:: @ 8DA09EC - .incbin "graphics/pokemon/hoothoot/icon.4bpp" - - .align 2 -gMonFootprint_Hoothoot:: @ 8DA0DEC - .incbin "graphics/pokemon/hoothoot/footprint.1bpp" - - .align 2 -gMonFrontPic_Noctowl:: @ 8DA0E0C - .incbin "graphics/pokemon/noctowl/front.4bpp.lz" - - .align 2 -gMonPalette_Noctowl:: @ 8DA1160 - .incbin "graphics/pokemon/noctowl/normal.gbapal.lz" - - .align 2 -gMonBackPic_Noctowl:: @ 8DA1188 - .incbin "graphics/pokemon/noctowl/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Noctowl:: @ 8DA14E4 - .incbin "graphics/pokemon/noctowl/shiny.gbapal.lz" - - .align 2 -gMonIcon_Noctowl:: @ 8DA150C - .incbin "graphics/pokemon/noctowl/icon.4bpp" - - .align 2 -gMonFootprint_Noctowl:: @ 8DA190C - .incbin "graphics/pokemon/noctowl/footprint.1bpp" - - .align 2 -gMonFrontPic_Ledyba:: @ 8DA192C - .incbin "graphics/pokemon/ledyba/front.4bpp.lz" - - .align 2 -gMonPalette_Ledyba:: @ 8DA1C20 - .incbin "graphics/pokemon/ledyba/normal.gbapal.lz" - - .align 2 -gMonBackPic_Ledyba:: @ 8DA1C48 - .incbin "graphics/pokemon/ledyba/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Ledyba:: @ 8DA1F78 - .incbin "graphics/pokemon/ledyba/shiny.gbapal.lz" - - .align 2 -gMonIcon_Ledyba:: @ 8DA1FA0 - .incbin "graphics/pokemon/ledyba/icon.4bpp" - - .align 2 -gMonFootprint_Ledyba:: @ 8DA23A0 - .incbin "graphics/pokemon/ledyba/footprint.1bpp" - - .align 2 -gMonFrontPic_Ledian:: @ 8DA23C0 - .incbin "graphics/pokemon/ledian/front.4bpp.lz" - - .align 2 -gMonPalette_Ledian:: @ 8DA2748 - .incbin "graphics/pokemon/ledian/normal.gbapal.lz" - - .align 2 -gMonBackPic_Ledian:: @ 8DA2770 - .incbin "graphics/pokemon/ledian/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Ledian:: @ 8DA2AC8 - .incbin "graphics/pokemon/ledian/shiny.gbapal.lz" - - .align 2 -gMonIcon_Ledian:: @ 8DA2AF0 - .incbin "graphics/pokemon/ledian/icon.4bpp" - - .align 2 -gMonFootprint_Ledian:: @ 8DA2EF0 - .incbin "graphics/pokemon/ledian/footprint.1bpp" - - .align 2 -gMonFrontPic_Spinarak:: @ 8DA2F10 - .incbin "graphics/pokemon/spinarak/front.4bpp.lz" - - .align 2 -gMonPalette_Spinarak:: @ 8DA3184 - .incbin "graphics/pokemon/spinarak/normal.gbapal.lz" - - .align 2 -gMonBackPic_Spinarak:: @ 8DA31AC - .incbin "graphics/pokemon/spinarak/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Spinarak:: @ 8DA3410 - .incbin "graphics/pokemon/spinarak/shiny.gbapal.lz" - - .align 2 -gMonIcon_Spinarak:: @ 8DA3438 - .incbin "graphics/pokemon/spinarak/icon.4bpp" - - .align 2 -gMonFootprint_Spinarak:: @ 8DA3838 - .incbin "graphics/pokemon/spinarak/footprint.1bpp" - - .align 2 -gMonFrontPic_Ariados:: @ 8DA3858 - .incbin "graphics/pokemon/ariados/front.4bpp.lz" - - .align 2 -gMonPalette_Ariados:: @ 8DA3C18 - .incbin "graphics/pokemon/ariados/normal.gbapal.lz" - - .align 2 -gMonBackPic_Ariados:: @ 8DA3C40 - .incbin "graphics/pokemon/ariados/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Ariados:: @ 8DA3FB8 - .incbin "graphics/pokemon/ariados/shiny.gbapal.lz" - - .align 2 -gMonIcon_Ariados:: @ 8DA3FE0 - .incbin "graphics/pokemon/ariados/icon.4bpp" - - .align 2 -gMonFootprint_Ariados:: @ 8DA43E0 - .incbin "graphics/pokemon/ariados/footprint.1bpp" - - .align 2 -gMonFrontPic_Crobat:: @ 8DA4400 - .incbin "graphics/pokemon/crobat/front.4bpp.lz" - - .align 2 -gMonPalette_Crobat:: @ 8DA47B0 - .incbin "graphics/pokemon/crobat/normal.gbapal.lz" - - .align 2 -gMonBackPic_Crobat:: @ 8DA47D8 - .incbin "graphics/pokemon/crobat/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Crobat:: @ 8DA4AE0 - .incbin "graphics/pokemon/crobat/shiny.gbapal.lz" - - .align 2 -gMonIcon_Crobat:: @ 8DA4B08 - .incbin "graphics/pokemon/crobat/icon.4bpp" - - .align 2 -gMonFootprint_Crobat:: @ 8DA4F08 - .incbin "graphics/pokemon/crobat/footprint.1bpp" - - .align 2 -gMonFrontPic_Chinchou:: @ 8DA4F28 - .incbin "graphics/pokemon/chinchou/front.4bpp.lz" - - .align 2 -gMonPalette_Chinchou:: @ 8DA5200 - .incbin "graphics/pokemon/chinchou/normal.gbapal.lz" - - .align 2 -gMonBackPic_Chinchou:: @ 8DA5228 - .incbin "graphics/pokemon/chinchou/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Chinchou:: @ 8DA5520 - .incbin "graphics/pokemon/chinchou/shiny.gbapal.lz" - - .align 2 -gMonIcon_Chinchou:: @ 8DA5548 - .incbin "graphics/pokemon/chinchou/icon.4bpp" - - .align 2 -gMonFootprint_Chinchou:: @ 8DA5948 - .incbin "graphics/pokemon/chinchou/footprint.1bpp" - - .align 2 -gMonFrontPic_Lanturn:: @ 8DA5968 - .incbin "graphics/pokemon/lanturn/front.4bpp.lz" - - .align 2 -gMonPalette_Lanturn:: @ 8DA5CD8 - .incbin "graphics/pokemon/lanturn/normal.gbapal.lz" - - .align 2 -gMonBackPic_Lanturn:: @ 8DA5D00 - .incbin "graphics/pokemon/lanturn/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Lanturn:: @ 8DA6000 - .incbin "graphics/pokemon/lanturn/shiny.gbapal.lz" - - .align 2 -gMonIcon_Lanturn:: @ 8DA6028 - .incbin "graphics/pokemon/lanturn/icon.4bpp" - - .align 2 -gMonFootprint_Lanturn:: @ 8DA6428 - .incbin "graphics/pokemon/lanturn/footprint.1bpp" - - .align 2 -gMonFrontPic_Pichu:: @ 8DA6448 - .incbin "graphics/pokemon/pichu/front.4bpp.lz" - - .align 2 -gMonPalette_Pichu:: @ 8DA6664 - .incbin "graphics/pokemon/pichu/normal.gbapal.lz" - - .align 2 -gMonBackPic_Pichu:: @ 8DA668C - .incbin "graphics/pokemon/pichu/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Pichu:: @ 8DA68E8 - .incbin "graphics/pokemon/pichu/shiny.gbapal.lz" - - .align 2 -gMonIcon_Pichu:: @ 8DA6910 - .incbin "graphics/pokemon/pichu/icon.4bpp" - - .align 2 -gMonFootprint_Pichu:: @ 8DA6D10 - .incbin "graphics/pokemon/pichu/footprint.1bpp" - - .align 2 -gMonFrontPic_Cleffa:: @ 8DA6D30 - .incbin "graphics/pokemon/cleffa/front.4bpp.lz" - - .align 2 -gMonPalette_Cleffa:: @ 8DA6F10 - .incbin "graphics/pokemon/cleffa/normal.gbapal.lz" - - .align 2 -gMonBackPic_Cleffa:: @ 8DA6F38 - .incbin "graphics/pokemon/cleffa/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Cleffa:: @ 8DA7174 - .incbin "graphics/pokemon/cleffa/shiny.gbapal.lz" - - .align 2 -gMonIcon_Cleffa:: @ 8DA719C - .incbin "graphics/pokemon/cleffa/icon.4bpp" - - .align 2 -gMonFootprint_Cleffa:: @ 8DA759C - .incbin "graphics/pokemon/cleffa/footprint.1bpp" - - .align 2 -gMonFrontPic_Igglybuff:: @ 8DA75BC - .incbin "graphics/pokemon/igglybuff/front.4bpp.lz" - - .align 2 -gMonPalette_Igglybuff:: @ 8DA77A4 - .incbin "graphics/pokemon/igglybuff/normal.gbapal.lz" - - .align 2 -gMonBackPic_Igglybuff:: @ 8DA77CC - .incbin "graphics/pokemon/igglybuff/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Igglybuff:: @ 8DA7A08 - .incbin "graphics/pokemon/igglybuff/shiny.gbapal.lz" - - .align 2 -gMonIcon_Igglybuff:: @ 8DA7A30 - .incbin "graphics/pokemon/igglybuff/icon.4bpp" - - .align 2 -gMonFootprint_Igglybuff:: @ 8DA7E30 - .incbin "graphics/pokemon/igglybuff/footprint.1bpp" - - .align 2 -gMonFrontPic_Togepi:: @ 8DA7E50 - .incbin "graphics/pokemon/togepi/front.4bpp.lz" - - .align 2 -gMonPalette_Togepi:: @ 8DA8024 - .incbin "graphics/pokemon/togepi/normal.gbapal.lz" - - .align 2 -gMonBackPic_Togepi:: @ 8DA804C - .incbin "graphics/pokemon/togepi/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Togepi:: @ 8DA82C0 - .incbin "graphics/pokemon/togepi/shiny.gbapal.lz" - - .align 2 -gMonIcon_Togepi:: @ 8DA82E8 - .incbin "graphics/pokemon/togepi/icon.4bpp" - - .align 2 -gMonFootprint_Togepi:: @ 8DA86E8 - .incbin "graphics/pokemon/togepi/footprint.1bpp" - - .align 2 -gMonFrontPic_Togetic:: @ 8DA8708 - .incbin "graphics/pokemon/togetic/front.4bpp.lz" - - .align 2 -gMonPalette_Togetic:: @ 8DA897C - .incbin "graphics/pokemon/togetic/normal.gbapal.lz" - - .align 2 -gMonBackPic_Togetic:: @ 8DA89A4 - .incbin "graphics/pokemon/togetic/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Togetic:: @ 8DA8CD0 - .incbin "graphics/pokemon/togetic/shiny.gbapal.lz" - - .align 2 -gMonIcon_Togetic:: @ 8DA8CF8 - .incbin "graphics/pokemon/togetic/icon.4bpp" - - .align 2 -gMonFootprint_Togetic:: @ 8DA90F8 - .incbin "graphics/pokemon/togetic/footprint.1bpp" - - .align 2 -gMonFrontPic_Natu:: @ 8DA9118 - .incbin "graphics/pokemon/natu/front.4bpp.lz" - - .align 2 -gMonPalette_Natu:: @ 8DA92E4 - .incbin "graphics/pokemon/natu/normal.gbapal.lz" - - .align 2 -gMonBackPic_Natu:: @ 8DA930C - .incbin "graphics/pokemon/natu/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Natu:: @ 8DA9520 - .incbin "graphics/pokemon/natu/shiny.gbapal.lz" - - .align 2 -gMonIcon_Natu:: @ 8DA9548 - .incbin "graphics/pokemon/natu/icon.4bpp" - - .align 2 -gMonFootprint_Natu:: @ 8DA9948 - .incbin "graphics/pokemon/natu/footprint.1bpp" - - .align 2 -gMonFrontPic_Xatu:: @ 8DA9968 - .incbin "graphics/pokemon/xatu/front.4bpp.lz" - - .align 2 -gMonPalette_Xatu:: @ 8DA9C44 - .incbin "graphics/pokemon/xatu/normal.gbapal.lz" - - .align 2 -gMonBackPic_Xatu:: @ 8DA9C6C - .incbin "graphics/pokemon/xatu/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Xatu:: @ 8DA9FE4 - .incbin "graphics/pokemon/xatu/shiny.gbapal.lz" - - .align 2 -gMonIcon_Xatu:: @ 8DAA00C - .incbin "graphics/pokemon/xatu/icon.4bpp" - - .align 2 -gMonFootprint_Xatu:: @ 8DAA40C - .incbin "graphics/pokemon/xatu/footprint.1bpp" - - .align 2 -gMonFrontPic_Mareep:: @ 8DAA42C - .incbin "graphics/pokemon/mareep/front.4bpp.lz" - - .align 2 -gMonPalette_Mareep:: @ 8DAA6E0 - .incbin "graphics/pokemon/mareep/normal.gbapal.lz" - - .align 2 -gMonBackPic_Mareep:: @ 8DAA708 - .incbin "graphics/pokemon/mareep/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Mareep:: @ 8DAA9FC - .incbin "graphics/pokemon/mareep/shiny.gbapal.lz" - - .align 2 -gMonIcon_Mareep:: @ 8DAAA24 - .incbin "graphics/pokemon/mareep/icon.4bpp" - - .align 2 -gMonFootprint_Mareep:: @ 8DAAE24 - .incbin "graphics/pokemon/mareep/footprint.1bpp" - - .align 2 -gMonFrontPic_Flaaffy:: @ 8DAAE44 - .incbin "graphics/pokemon/flaaffy/front.4bpp.lz" - - .align 2 -gMonPalette_Flaaffy:: @ 8DAB144 - .incbin "graphics/pokemon/flaaffy/normal.gbapal.lz" - - .align 2 -gMonBackPic_Flaaffy:: @ 8DAB16C - .incbin "graphics/pokemon/flaaffy/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Flaaffy:: @ 8DAB488 - .incbin "graphics/pokemon/flaaffy/shiny.gbapal.lz" - - .align 2 -gMonIcon_Flaaffy:: @ 8DAB4B0 - .incbin "graphics/pokemon/flaaffy/icon.4bpp" - - .align 2 -gMonFootprint_Flaaffy:: @ 8DAB8B0 - .incbin "graphics/pokemon/flaaffy/footprint.1bpp" - - .align 2 -gMonFrontPic_Ampharos:: @ 8DAB8D0 - .incbin "graphics/pokemon/ampharos/front.4bpp.lz" - - .align 2 -gMonPalette_Ampharos:: @ 8DABC2C - .incbin "graphics/pokemon/ampharos/normal.gbapal.lz" - - .align 2 -gMonBackPic_Ampharos:: @ 8DABC54 - .incbin "graphics/pokemon/ampharos/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Ampharos:: @ 8DABFCC - .incbin "graphics/pokemon/ampharos/shiny.gbapal.lz" - - .align 2 -gMonIcon_Ampharos:: @ 8DABFF4 - .incbin "graphics/pokemon/ampharos/icon.4bpp" - - .align 2 -gMonFootprint_Ampharos:: @ 8DAC3F4 - .incbin "graphics/pokemon/ampharos/footprint.1bpp" - - .align 2 -gMonFrontPic_Bellossom:: @ 8DAC414 - .incbin "graphics/pokemon/bellossom/front.4bpp.lz" - - .align 2 -gMonPalette_Bellossom:: @ 8DAC684 - .incbin "graphics/pokemon/bellossom/normal.gbapal.lz" - - .align 2 -gMonBackPic_Bellossom:: @ 8DAC6AC - .incbin "graphics/pokemon/bellossom/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Bellossom:: @ 8DAC9D0 - .incbin "graphics/pokemon/bellossom/shiny.gbapal.lz" - - .align 2 -gMonIcon_Bellossom:: @ 8DAC9F8 - .incbin "graphics/pokemon/bellossom/icon.4bpp" - - .align 2 -gMonFootprint_Bellossom:: @ 8DACDF8 - .incbin "graphics/pokemon/bellossom/footprint.1bpp" - - .align 2 -gMonFrontPic_Marill:: @ 8DACE18 - .incbin "graphics/pokemon/marill/front.4bpp.lz" - - .align 2 -gMonPalette_Marill:: @ 8DAD0DC - .incbin "graphics/pokemon/marill/normal.gbapal.lz" - - .align 2 -gMonBackPic_Marill:: @ 8DAD104 - .incbin "graphics/pokemon/marill/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Marill:: @ 8DAD3B0 - .incbin "graphics/pokemon/marill/shiny.gbapal.lz" - - .align 2 -gMonIcon_Marill:: @ 8DAD3D8 - .incbin "graphics/pokemon/marill/icon.4bpp" - - .align 2 -gMonFootprint_Marill:: @ 8DAD7D8 - .incbin "graphics/pokemon/marill/footprint.1bpp" - - .align 2 -gMonFrontPic_Azumarill:: @ 8DAD7F8 - .incbin "graphics/pokemon/azumarill/front.4bpp.lz" - - .align 2 -gMonPalette_Azumarill:: @ 8DADAF8 - .incbin "graphics/pokemon/azumarill/normal.gbapal.lz" - - .align 2 -gMonBackPic_Azumarill:: @ 8DADB20 - .incbin "graphics/pokemon/azumarill/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Azumarill:: @ 8DADDDC - .incbin "graphics/pokemon/azumarill/shiny.gbapal.lz" - - .align 2 -gMonIcon_Azumarill:: @ 8DADE04 - .incbin "graphics/pokemon/azumarill/icon.4bpp" - - .align 2 -gMonFootprint_Azumarill:: @ 8DAE204 - .incbin "graphics/pokemon/azumarill/footprint.1bpp" - - .align 2 -gMonFrontPic_Sudowoodo:: @ 8DAE224 - .incbin "graphics/pokemon/sudowoodo/front.4bpp.lz" - - .align 2 -gMonPalette_Sudowoodo:: @ 8DAE53C - .incbin "graphics/pokemon/sudowoodo/normal.gbapal.lz" - - .align 2 -gMonBackPic_Sudowoodo:: @ 8DAE564 - .incbin "graphics/pokemon/sudowoodo/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Sudowoodo:: @ 8DAE8C0 - .incbin "graphics/pokemon/sudowoodo/shiny.gbapal.lz" - - .align 2 -gMonIcon_Sudowoodo:: @ 8DAE8E8 - .incbin "graphics/pokemon/sudowoodo/icon.4bpp" - - .align 2 -gMonFootprint_Sudowoodo:: @ 8DAECE8 - .incbin "graphics/pokemon/sudowoodo/footprint.1bpp" - - .align 2 -gMonFrontPic_Politoed:: @ 8DAED08 - .incbin "graphics/pokemon/politoed/front.4bpp.lz" - - .align 2 -gMonPalette_Politoed:: @ 8DAF044 - .incbin "graphics/pokemon/politoed/normal.gbapal.lz" - - .align 2 -gMonBackPic_Politoed:: @ 8DAF06C - .incbin "graphics/pokemon/politoed/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Politoed:: @ 8DAF328 - .incbin "graphics/pokemon/politoed/shiny.gbapal.lz" - - .align 2 -gMonIcon_Politoed:: @ 8DAF350 - .incbin "graphics/pokemon/politoed/icon.4bpp" - - .align 2 -gMonFootprint_Politoed:: @ 8DAF750 - .incbin "graphics/pokemon/politoed/footprint.1bpp" - - .align 2 -gMonFrontPic_Hoppip:: @ 8DAF770 - .incbin "graphics/pokemon/hoppip/front.4bpp.lz" - - .align 2 -gMonPalette_Hoppip:: @ 8DAFA24 - .incbin "graphics/pokemon/hoppip/normal.gbapal.lz" - - .align 2 -gMonBackPic_Hoppip:: @ 8DAFA4C - .incbin "graphics/pokemon/hoppip/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Hoppip:: @ 8DAFD2C - .incbin "graphics/pokemon/hoppip/shiny.gbapal.lz" - - .align 2 -gMonIcon_Hoppip:: @ 8DAFD54 - .incbin "graphics/pokemon/hoppip/icon.4bpp" - - .align 2 -gMonFootprint_Hoppip:: @ 8DB0154 - .incbin "graphics/pokemon/hoppip/footprint.1bpp" - - .align 2 -gMonFrontPic_Skiploom:: @ 8DB0174 - .incbin "graphics/pokemon/skiploom/front.4bpp.lz" - - .align 2 -gMonPalette_Skiploom:: @ 8DB03FC - .incbin "graphics/pokemon/skiploom/normal.gbapal.lz" - - .align 2 -gMonBackPic_Skiploom:: @ 8DB0424 - .incbin "graphics/pokemon/skiploom/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Skiploom:: @ 8DB0704 - .incbin "graphics/pokemon/skiploom/shiny.gbapal.lz" - - .align 2 -gMonIcon_Skiploom:: @ 8DB072C - .incbin "graphics/pokemon/skiploom/icon.4bpp" - - .align 2 -gMonFootprint_Skiploom:: @ 8DB0B2C - .incbin "graphics/pokemon/skiploom/footprint.1bpp" - - .align 2 -gMonFrontPic_Jumpluff:: @ 8DB0B4C - .incbin "graphics/pokemon/jumpluff/front.4bpp.lz" - - .align 2 -gMonPalette_Jumpluff:: @ 8DB0EB8 - .incbin "graphics/pokemon/jumpluff/normal.gbapal.lz" - - .align 2 -gMonBackPic_Jumpluff:: @ 8DB0EE0 - .incbin "graphics/pokemon/jumpluff/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Jumpluff:: @ 8DB12D8 - .incbin "graphics/pokemon/jumpluff/shiny.gbapal.lz" - - .align 2 -gMonIcon_Jumpluff:: @ 8DB1300 - .incbin "graphics/pokemon/jumpluff/icon.4bpp" - - .align 2 -gMonFootprint_Jumpluff:: @ 8DB1700 - .incbin "graphics/pokemon/jumpluff/footprint.1bpp" - - .align 2 -gMonFrontPic_Aipom:: @ 8DB1720 - .incbin "graphics/pokemon/aipom/front.4bpp.lz" - - .align 2 -gMonPalette_Aipom:: @ 8DB1A1C - .incbin "graphics/pokemon/aipom/normal.gbapal.lz" - - .align 2 -gMonBackPic_Aipom:: @ 8DB1A44 - .incbin "graphics/pokemon/aipom/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Aipom:: @ 8DB1D38 - .incbin "graphics/pokemon/aipom/shiny.gbapal.lz" - - .align 2 -gMonIcon_Aipom:: @ 8DB1D60 - .incbin "graphics/pokemon/aipom/icon.4bpp" - - .align 2 -gMonFootprint_Aipom:: @ 8DB2160 - .incbin "graphics/pokemon/aipom/footprint.1bpp" - - .align 2 -gMonFrontPic_Sunkern:: @ 8DB2180 - .incbin "graphics/pokemon/sunkern/front.4bpp.lz" - - .align 2 -gMonPalette_Sunkern:: @ 8DB23B8 - .incbin "graphics/pokemon/sunkern/normal.gbapal.lz" - - .align 2 -gMonBackPic_Sunkern:: @ 8DB23E0 - .incbin "graphics/pokemon/sunkern/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Sunkern:: @ 8DB26A4 - .incbin "graphics/pokemon/sunkern/shiny.gbapal.lz" - - .align 2 -gMonIcon_Sunkern:: @ 8DB26CC - .incbin "graphics/pokemon/sunkern/icon.4bpp" - - .align 2 -gMonFootprint_Sunkern:: @ 8DB2ACC - .incbin "graphics/pokemon/sunkern/footprint.1bpp" - - .align 2 -gMonFrontPic_Sunflora:: @ 8DB2AEC - .incbin "graphics/pokemon/sunflora/front.4bpp.lz" - - .align 2 -gMonPalette_Sunflora:: @ 8DB2E44 - .incbin "graphics/pokemon/sunflora/normal.gbapal.lz" - - .align 2 -gMonBackPic_Sunflora:: @ 8DB2E6C - .incbin "graphics/pokemon/sunflora/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Sunflora:: @ 8DB320C - .incbin "graphics/pokemon/sunflora/shiny.gbapal.lz" - - .align 2 -gMonIcon_Sunflora:: @ 8DB3234 - .incbin "graphics/pokemon/sunflora/icon.4bpp" - - .align 2 -gMonFootprint_Sunflora:: @ 8DB3634 - .incbin "graphics/pokemon/sunflora/footprint.1bpp" - - .align 2 -gMonFrontPic_Yanma:: @ 8DB3654 - .incbin "graphics/pokemon/yanma/front.4bpp.lz" - - .align 2 -gMonPalette_Yanma:: @ 8DB39D8 - .incbin "graphics/pokemon/yanma/normal.gbapal.lz" - - .align 2 -gMonBackPic_Yanma:: @ 8DB3A00 - .incbin "graphics/pokemon/yanma/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Yanma:: @ 8DB3DB4 - .incbin "graphics/pokemon/yanma/shiny.gbapal.lz" - - .align 2 -gMonIcon_Yanma:: @ 8DB3DDC - .incbin "graphics/pokemon/yanma/icon.4bpp" - - .align 2 -gMonFootprint_Yanma:: @ 8DB41DC - .incbin "graphics/pokemon/yanma/footprint.1bpp" - - .align 2 -gMonFrontPic_Wooper:: @ 8DB41FC - .incbin "graphics/pokemon/wooper/front.4bpp.lz" - - .align 2 -gMonPalette_Wooper:: @ 8DB443C - .incbin "graphics/pokemon/wooper/normal.gbapal.lz" - - .align 2 -gMonBackPic_Wooper:: @ 8DB4464 - .incbin "graphics/pokemon/wooper/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Wooper:: @ 8DB46F0 - .incbin "graphics/pokemon/wooper/shiny.gbapal.lz" - - .align 2 -gMonIcon_Wooper:: @ 8DB4718 - .incbin "graphics/pokemon/wooper/icon.4bpp" - - .align 2 -gMonFootprint_Wooper:: @ 8DB4B18 - .incbin "graphics/pokemon/wooper/footprint.1bpp" - - .align 2 -gMonFrontPic_Quagsire:: @ 8DB4B38 - .incbin "graphics/pokemon/quagsire/front.4bpp.lz" - - .align 2 -gMonPalette_Quagsire:: @ 8DB4EAC - .incbin "graphics/pokemon/quagsire/normal.gbapal.lz" - - .align 2 -gMonBackPic_Quagsire:: @ 8DB4ED4 - .incbin "graphics/pokemon/quagsire/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Quagsire:: @ 8DB51D0 - .incbin "graphics/pokemon/quagsire/shiny.gbapal.lz" - - .align 2 -gMonIcon_Quagsire:: @ 8DB51F8 - .incbin "graphics/pokemon/quagsire/icon.4bpp" - - .align 2 -gMonFootprint_Quagsire:: @ 8DB55F8 - .incbin "graphics/pokemon/quagsire/footprint.1bpp" - - .align 2 -gMonFrontPic_Espeon:: @ 8DB5618 - .incbin "graphics/pokemon/espeon/front.4bpp.lz" - - .align 2 -gMonPalette_Espeon:: @ 8DB5958 - .incbin "graphics/pokemon/espeon/normal.gbapal.lz" - - .align 2 -gMonBackPic_Espeon:: @ 8DB597C - .incbin "graphics/pokemon/espeon/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Espeon:: @ 8DB5C58 - .incbin "graphics/pokemon/espeon/shiny.gbapal.lz" - - .align 2 -gMonIcon_Espeon:: @ 8DB5C7C - .incbin "graphics/pokemon/espeon/icon.4bpp" - - .align 2 -gMonFootprint_Espeon:: @ 8DB607C - .incbin "graphics/pokemon/espeon/footprint.1bpp" - - .align 2 -gMonFrontPic_Umbreon:: @ 8DB609C - .incbin "graphics/pokemon/umbreon/front.4bpp.lz" - - .align 2 -gMonPalette_Umbreon:: @ 8DB63B0 - .incbin "graphics/pokemon/umbreon/normal.gbapal.lz" - - .align 2 -gMonBackPic_Umbreon:: @ 8DB63D8 - .incbin "graphics/pokemon/umbreon/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Umbreon:: @ 8DB66EC - .incbin "graphics/pokemon/umbreon/shiny.gbapal.lz" - - .align 2 -gMonIcon_Umbreon:: @ 8DB6714 - .incbin "graphics/pokemon/umbreon/icon.4bpp" - - .align 2 -gMonFootprint_Umbreon:: @ 8DB6B14 - .incbin "graphics/pokemon/umbreon/footprint.1bpp" - - .align 2 -gMonFrontPic_Murkrow:: @ 8DB6B34 - .incbin "graphics/pokemon/murkrow/front.4bpp.lz" - - .align 2 -gMonPalette_Murkrow:: @ 8DB6E14 - .incbin "graphics/pokemon/murkrow/normal.gbapal.lz" - - .align 2 -gMonBackPic_Murkrow:: @ 8DB6E3C - .incbin "graphics/pokemon/murkrow/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Murkrow:: @ 8DB7154 - .incbin "graphics/pokemon/murkrow/shiny.gbapal.lz" - - .align 2 -gMonIcon_Murkrow:: @ 8DB717C - .incbin "graphics/pokemon/murkrow/icon.4bpp" - - .align 2 -gMonFootprint_Murkrow:: @ 8DB757C - .incbin "graphics/pokemon/murkrow/footprint.1bpp" - - .align 2 -gMonFrontPic_Slowking:: @ 8DB759C - .incbin "graphics/pokemon/slowking/front.4bpp.lz" - - .align 2 -gMonPalette_Slowking:: @ 8DB7950 - .incbin "graphics/pokemon/slowking/normal.gbapal.lz" - - .align 2 -gMonBackPic_Slowking:: @ 8DB7978 - .incbin "graphics/pokemon/slowking/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Slowking:: @ 8DB7D04 - .incbin "graphics/pokemon/slowking/shiny.gbapal.lz" - - .align 2 -gMonIcon_Slowking:: @ 8DB7D2C - .incbin "graphics/pokemon/slowking/icon.4bpp" - - .align 2 -gMonFootprint_Slowking:: @ 8DB812C - .incbin "graphics/pokemon/slowking/footprint.1bpp" - - .align 2 -gMonFrontPic_Misdreavus:: @ 8DB814C - .incbin "graphics/pokemon/misdreavus/front.4bpp.lz" - - .align 2 -gMonPalette_Misdreavus:: @ 8DB840C - .incbin "graphics/pokemon/misdreavus/normal.gbapal.lz" - - .align 2 -gMonBackPic_Misdreavus:: @ 8DB8434 - .incbin "graphics/pokemon/misdreavus/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Misdreavus:: @ 8DB8758 - .incbin "graphics/pokemon/misdreavus/shiny.gbapal.lz" - - .align 2 -gMonIcon_Misdreavus:: @ 8DB8780 - .incbin "graphics/pokemon/misdreavus/icon.4bpp" - - .align 2 -gMonFootprint_Misdreavus:: @ 8DB8B80 - .incbin "graphics/pokemon/misdreavus/footprint.1bpp" - - .align 2 -gMonFrontPic_UnownA:: @ 8DB8BA0 - .incbin "graphics/pokemon/unown/a/front.4bpp.lz" - - .align 2 -gMonPalette_Unown:: @ 8DB8D74 - .incbin "graphics/pokemon/unown/normal.gbapal.lz" - - .align 2 -gMonBackPic_UnownA:: @ 8DB8D94 - .incbin "graphics/pokemon/unown/a/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Unown:: @ 8DB8F94 - .incbin "graphics/pokemon/unown/shiny.gbapal.lz" - - .align 2 -gMonIcon_UnownA:: @ 8DB8FB4 - .incbin "graphics/pokemon/unown/a/icon.4bpp" - - .align 2 -gMonFootprint_Unown:: @ 8DB93B4 - .incbin "graphics/pokemon/unown/footprint.1bpp" - - .align 2 -gMonFrontPic_Wobbuffet:: @ 8DB93D4 - .incbin "graphics/pokemon/wobbuffet/front.4bpp.lz" - - .align 2 -gMonPalette_Wobbuffet:: @ 8DB9724 - .incbin "graphics/pokemon/wobbuffet/normal.gbapal.lz" - - .align 2 -gMonBackPic_Wobbuffet:: @ 8DB974C - .incbin "graphics/pokemon/wobbuffet/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Wobbuffet:: @ 8DB9990 - .incbin "graphics/pokemon/wobbuffet/shiny.gbapal.lz" - - .align 2 -gMonIcon_Wobbuffet:: @ 8DB99B8 - .incbin "graphics/pokemon/wobbuffet/icon.4bpp" - - .align 2 -gMonFootprint_Wobbuffet:: @ 8DB9DB8 - .incbin "graphics/pokemon/wobbuffet/footprint.1bpp" - - .align 2 -gMonFrontPic_Girafarig:: @ 8DB9DD8 - .incbin "graphics/pokemon/girafarig/front.4bpp.lz" - - .align 2 -gMonPalette_Girafarig:: @ 8DBA1DC - .incbin "graphics/pokemon/girafarig/normal.gbapal.lz" - - .align 2 -gMonBackPic_Girafarig:: @ 8DBA204 - .incbin "graphics/pokemon/girafarig/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Girafarig:: @ 8DBA5B0 - .incbin "graphics/pokemon/girafarig/shiny.gbapal.lz" - - .align 2 -gMonIcon_Girafarig:: @ 8DBA5D8 - .incbin "graphics/pokemon/girafarig/icon.4bpp" - - .align 2 -gMonFootprint_Girafarig:: @ 8DBA9D8 - .incbin "graphics/pokemon/girafarig/footprint.1bpp" - - .align 2 -gMonFrontPic_Pineco:: @ 8DBA9F8 - .incbin "graphics/pokemon/pineco/front.4bpp.lz" - - .align 2 -gMonPalette_Pineco:: @ 8DBAD38 - .incbin "graphics/pokemon/pineco/normal.gbapal.lz" - - .align 2 -gMonBackPic_Pineco:: @ 8DBAD5C - .incbin "graphics/pokemon/pineco/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Pineco:: @ 8DBB034 - .incbin "graphics/pokemon/pineco/shiny.gbapal.lz" - - .align 2 -gMonIcon_Pineco:: @ 8DBB058 - .incbin "graphics/pokemon/pineco/icon.4bpp" - - .align 2 -gMonFootprint_Pineco:: @ 8DBB458 - .incbin "graphics/pokemon/pineco/footprint.1bpp" - - .align 2 -gMonFrontPic_Forretress:: @ 8DBB478 - .incbin "graphics/pokemon/forretress/front.4bpp.lz" - - .align 2 -gMonPalette_Forretress:: @ 8DBB894 - .incbin "graphics/pokemon/forretress/normal.gbapal.lz" - - .align 2 -gMonBackPic_Forretress:: @ 8DBB8BC - .incbin "graphics/pokemon/forretress/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Forretress:: @ 8DBBB7C - .incbin "graphics/pokemon/forretress/shiny.gbapal.lz" - - .align 2 -gMonIcon_Forretress:: @ 8DBBBA4 - .incbin "graphics/pokemon/forretress/icon.4bpp" - - .align 2 -gMonFootprint_Forretress:: @ 8DBBFA4 - .incbin "graphics/pokemon/forretress/footprint.1bpp" - - .align 2 -gMonFrontPic_Dunsparce:: @ 8DBBFC4 - .incbin "graphics/pokemon/dunsparce/front.4bpp.lz" - - .align 2 -gMonPalette_Dunsparce:: @ 8DBC2D4 - .incbin "graphics/pokemon/dunsparce/normal.gbapal.lz" - - .align 2 -gMonBackPic_Dunsparce:: @ 8DBC2FC - .incbin "graphics/pokemon/dunsparce/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Dunsparce:: @ 8DBC5F8 - .incbin "graphics/pokemon/dunsparce/shiny.gbapal.lz" - - .align 2 -gMonIcon_Dunsparce:: @ 8DBC620 - .incbin "graphics/pokemon/dunsparce/icon.4bpp" - - .align 2 -gMonFootprint_Dunsparce:: @ 8DBCA20 - .incbin "graphics/pokemon/dunsparce/footprint.1bpp" - - .align 2 -gMonFrontPic_Gligar:: @ 8DBCA40 - .incbin "graphics/pokemon/gligar/front.4bpp.lz" - - .align 2 -gMonPalette_Gligar:: @ 8DBCE68 - .incbin "graphics/pokemon/gligar/normal.gbapal.lz" - - .align 2 -gMonBackPic_Gligar:: @ 8DBCE90 - .incbin "graphics/pokemon/gligar/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Gligar:: @ 8DBD268 - .incbin "graphics/pokemon/gligar/shiny.gbapal.lz" - - .align 2 -gMonIcon_Gligar:: @ 8DBD290 - .incbin "graphics/pokemon/gligar/icon.4bpp" - - .align 2 -gMonFootprint_Gligar:: @ 8DBD690 - .incbin "graphics/pokemon/gligar/footprint.1bpp" - - .align 2 -gMonFrontPic_Steelix:: @ 8DBD6B0 - .incbin "graphics/pokemon/steelix/front.4bpp.lz" - - .align 2 -gMonPalette_Steelix:: @ 8DBDB78 - .incbin "graphics/pokemon/steelix/normal.gbapal.lz" - - .align 2 -gMonBackPic_Steelix:: @ 8DBDB9C - .incbin "graphics/pokemon/steelix/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Steelix:: @ 8DBDFA8 - .incbin "graphics/pokemon/steelix/shiny.gbapal.lz" - - .align 2 -gMonIcon_Steelix:: @ 8DBDFCC - .incbin "graphics/pokemon/steelix/icon.4bpp" - - .align 2 -gMonFootprint_Steelix:: @ 8DBE3CC - .incbin "graphics/pokemon/steelix/footprint.1bpp" - - .align 2 -gMonFrontPic_Snubbull:: @ 8DBE3EC - .incbin "graphics/pokemon/snubbull/front.4bpp.lz" - - .align 2 -gMonPalette_Snubbull:: @ 8DBE6C0 - .incbin "graphics/pokemon/snubbull/normal.gbapal.lz" - - .align 2 -gMonBackPic_Snubbull:: @ 8DBE6E8 - .incbin "graphics/pokemon/snubbull/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Snubbull:: @ 8DBEA10 - .incbin "graphics/pokemon/snubbull/shiny.gbapal.lz" - - .align 2 -gMonIcon_Snubbull:: @ 8DBEA38 - .incbin "graphics/pokemon/snubbull/icon.4bpp" - - .align 2 -gMonFootprint_Snubbull:: @ 8DBEE38 - .incbin "graphics/pokemon/snubbull/footprint.1bpp" - - .align 2 -gMonFrontPic_Granbull:: @ 8DBEE58 - .incbin "graphics/pokemon/granbull/front.4bpp.lz" - - .align 2 -gMonPalette_Granbull:: @ 8DBF1E4 - .incbin "graphics/pokemon/granbull/normal.gbapal.lz" - - .align 2 -gMonBackPic_Granbull:: @ 8DBF20C - .incbin "graphics/pokemon/granbull/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Granbull:: @ 8DBF530 - .incbin "graphics/pokemon/granbull/shiny.gbapal.lz" - - .align 2 -gMonIcon_Granbull:: @ 8DBF558 - .incbin "graphics/pokemon/granbull/icon.4bpp" - - .align 2 -gMonFootprint_Granbull:: @ 8DBF958 - .incbin "graphics/pokemon/granbull/footprint.1bpp" - - .align 2 -gMonFrontPic_Qwilfish:: @ 8DBF978 - .incbin "graphics/pokemon/qwilfish/front.4bpp.lz" - - .align 2 -gMonPalette_Qwilfish:: @ 8DBFC38 - .incbin "graphics/pokemon/qwilfish/normal.gbapal.lz" - - .align 2 -gMonBackPic_Qwilfish:: @ 8DBFC60 - .incbin "graphics/pokemon/qwilfish/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Qwilfish:: @ 8DBFF40 - .incbin "graphics/pokemon/qwilfish/shiny.gbapal.lz" - - .align 2 -gMonIcon_Qwilfish:: @ 8DBFF68 - .incbin "graphics/pokemon/qwilfish/icon.4bpp" - - .align 2 -gMonFootprint_Qwilfish:: @ 8DC0368 - .incbin "graphics/pokemon/qwilfish/footprint.1bpp" - - .align 2 -gMonFrontPic_Scizor:: @ 8DC0388 - .incbin "graphics/pokemon/scizor/front.4bpp.lz" - - .align 2 -gMonPalette_Scizor:: @ 8DC0870 - .incbin "graphics/pokemon/scizor/normal.gbapal.lz" - - .align 2 -gMonBackPic_Scizor:: @ 8DC0898 - .incbin "graphics/pokemon/scizor/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Scizor:: @ 8DC0C18 - .incbin "graphics/pokemon/scizor/shiny.gbapal.lz" - - .align 2 -gMonIcon_Scizor:: @ 8DC0C40 - .incbin "graphics/pokemon/scizor/icon.4bpp" - - .align 2 -gMonFootprint_Scizor:: @ 8DC1040 - .incbin "graphics/pokemon/scizor/footprint.1bpp" - - .align 2 -gMonFrontPic_Shuckle:: @ 8DC1060 - .incbin "graphics/pokemon/shuckle/front.4bpp.lz" - - .align 2 -gMonPalette_Shuckle:: @ 8DC1328 - .incbin "graphics/pokemon/shuckle/normal.gbapal.lz" - - .align 2 -gMonBackPic_Shuckle:: @ 8DC1350 - .incbin "graphics/pokemon/shuckle/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Shuckle:: @ 8DC15A8 - .incbin "graphics/pokemon/shuckle/shiny.gbapal.lz" - - .align 2 -gMonIcon_Shuckle:: @ 8DC15D0 - .incbin "graphics/pokemon/shuckle/icon.4bpp" - - .align 2 -gMonFootprint_Shuckle:: @ 8DC19D0 - .incbin "graphics/pokemon/shuckle/footprint.1bpp" - - .align 2 -gMonFrontPic_Heracross:: @ 8DC19F0 - .incbin "graphics/pokemon/heracross/front.4bpp.lz" - - .align 2 -gMonPalette_Heracross:: @ 8DC1DE0 - .incbin "graphics/pokemon/heracross/normal.gbapal.lz" - - .align 2 -gMonBackPic_Heracross:: @ 8DC1E08 - .incbin "graphics/pokemon/heracross/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Heracross:: @ 8DC2178 - .incbin "graphics/pokemon/heracross/shiny.gbapal.lz" - - .align 2 -gMonIcon_Heracross:: @ 8DC21A0 - .incbin "graphics/pokemon/heracross/icon.4bpp" - -gUnknown_heracross_icon:: @ 8DC25A0 - .incbin "graphics/pokemon/heracross/unk_icon.4bpp" - - .align 2 -gMonFootprint_Heracross:: @ 8DC29A0 - .incbin "graphics/pokemon/heracross/footprint.1bpp" - - .align 2 -gMonFrontPic_Sneasel:: @ 8DC29C0 - .incbin "graphics/pokemon/sneasel/front.4bpp.lz" - - .align 2 -gMonPalette_Sneasel:: @ 8DC2D04 - .incbin "graphics/pokemon/sneasel/normal.gbapal.lz" - - .align 2 -gMonBackPic_Sneasel:: @ 8DC2D2C - .incbin "graphics/pokemon/sneasel/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Sneasel:: @ 8DC3050 - .incbin "graphics/pokemon/sneasel/shiny.gbapal.lz" - - .align 2 -gMonIcon_Sneasel:: @ 8DC3078 - .incbin "graphics/pokemon/sneasel/icon.4bpp" - - .align 2 -gMonFootprint_Sneasel:: @ 8DC3478 - .incbin "graphics/pokemon/sneasel/footprint.1bpp" - - .align 2 -gMonFrontPic_Teddiursa:: @ 8DC3498 - .incbin "graphics/pokemon/teddiursa/front.4bpp.lz" - - .align 2 -gMonPalette_Teddiursa:: @ 8DC3740 - .incbin "graphics/pokemon/teddiursa/normal.gbapal.lz" - - .align 2 -gMonBackPic_Teddiursa:: @ 8DC3768 - .incbin "graphics/pokemon/teddiursa/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Teddiursa:: @ 8DC39E0 - .incbin "graphics/pokemon/teddiursa/shiny.gbapal.lz" - - .align 2 -gMonIcon_Teddiursa:: @ 8DC3A08 - .incbin "graphics/pokemon/teddiursa/icon.4bpp" - - .align 2 -gMonFootprint_Teddiursa:: @ 8DC3E08 - .incbin "graphics/pokemon/teddiursa/footprint.1bpp" - - .align 2 -gMonFrontPic_Ursaring:: @ 8DC3E28 - .incbin "graphics/pokemon/ursaring/front.4bpp.lz" - - .align 2 -gMonPalette_Ursaring:: @ 8DC4260 - .incbin "graphics/pokemon/ursaring/normal.gbapal.lz" - - .align 2 -gMonBackPic_Ursaring:: @ 8DC4288 - .incbin "graphics/pokemon/ursaring/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Ursaring:: @ 8DC4610 - .incbin "graphics/pokemon/ursaring/shiny.gbapal.lz" - - .align 2 -gMonIcon_Ursaring:: @ 8DC4638 - .incbin "graphics/pokemon/ursaring/icon.4bpp" - - .align 2 -gMonFootprint_Ursaring:: @ 8DC4A38 - .incbin "graphics/pokemon/ursaring/footprint.1bpp" - - .align 2 -gMonFrontPic_Slugma:: @ 8DC4A58 - .incbin "graphics/pokemon/slugma/front.4bpp.lz" - - .align 2 -gMonPalette_Slugma:: @ 8DC4CCC - .incbin "graphics/pokemon/slugma/normal.gbapal.lz" - - .align 2 -gMonBackPic_Slugma:: @ 8DC4CF0 - .incbin "graphics/pokemon/slugma/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Slugma:: @ 8DC4FD8 - .incbin "graphics/pokemon/slugma/shiny.gbapal.lz" - - .align 2 -gMonIcon_Slugma:: @ 8DC4FFC - .incbin "graphics/pokemon/slugma/icon.4bpp" - - .align 2 -gMonFootprint_Slugma:: @ 8DC53FC - .incbin "graphics/pokemon/slugma/footprint.1bpp" - - .align 2 -gMonFrontPic_Magcargo:: @ 8DC541C - .incbin "graphics/pokemon/magcargo/front.4bpp.lz" - - .align 2 -gMonPalette_Magcargo:: @ 8DC5764 - .incbin "graphics/pokemon/magcargo/normal.gbapal.lz" - - .align 2 -gMonBackPic_Magcargo:: @ 8DC578C - .incbin "graphics/pokemon/magcargo/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Magcargo:: @ 8DC5BA4 - .incbin "graphics/pokemon/magcargo/shiny.gbapal.lz" - - .align 2 -gMonIcon_Magcargo:: @ 8DC5BCC - .incbin "graphics/pokemon/magcargo/icon.4bpp" - - .align 2 -gMonFootprint_Magcargo:: @ 8DC5FCC - .incbin "graphics/pokemon/magcargo/footprint.1bpp" - - .align 2 -gMonFrontPic_Swinub:: @ 8DC5FEC - .incbin "graphics/pokemon/swinub/front.4bpp.lz" - - .align 2 -gMonPalette_Swinub:: @ 8DC61E8 - .incbin "graphics/pokemon/swinub/normal.gbapal.lz" - - .align 2 -gMonBackPic_Swinub:: @ 8DC6210 - .incbin "graphics/pokemon/swinub/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Swinub:: @ 8DC644C - .incbin "graphics/pokemon/swinub/shiny.gbapal.lz" - - .align 2 -gMonIcon_Swinub:: @ 8DC6474 - .incbin "graphics/pokemon/swinub/icon.4bpp" - - .align 2 -gMonFootprint_Swinub:: @ 8DC6874 - .incbin "graphics/pokemon/swinub/footprint.1bpp" - - .align 2 -gMonFrontPic_Piloswine:: @ 8DC6894 - .incbin "graphics/pokemon/piloswine/front.4bpp.lz" - - .align 2 -gMonPalette_Piloswine:: @ 8DC6BBC - .incbin "graphics/pokemon/piloswine/normal.gbapal.lz" - - .align 2 -gMonBackPic_Piloswine:: @ 8DC6BE4 - .incbin "graphics/pokemon/piloswine/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Piloswine:: @ 8DC6E30 - .incbin "graphics/pokemon/piloswine/shiny.gbapal.lz" - - .align 2 -gMonIcon_Piloswine:: @ 8DC6E58 - .incbin "graphics/pokemon/piloswine/icon.4bpp" - - .align 2 -gMonFootprint_Piloswine:: @ 8DC7258 - .incbin "graphics/pokemon/piloswine/footprint.1bpp" - - .align 2 -gMonFrontPic_Corsola:: @ 8DC7278 - .incbin "graphics/pokemon/corsola/front.4bpp.lz" - - .align 2 -gMonPalette_Corsola:: @ 8DC7560 - .incbin "graphics/pokemon/corsola/normal.gbapal.lz" - - .align 2 -gMonBackPic_Corsola:: @ 8DC7588 - .incbin "graphics/pokemon/corsola/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Corsola:: @ 8DC7848 - .incbin "graphics/pokemon/corsola/shiny.gbapal.lz" - - .align 2 -gMonIcon_Corsola:: @ 8DC7870 - .incbin "graphics/pokemon/corsola/icon.4bpp" - - .align 2 -gMonFootprint_Corsola:: @ 8DC7C70 - .incbin "graphics/pokemon/corsola/footprint.1bpp" - - .align 2 -gMonFrontPic_Remoraid:: @ 8DC7C90 - .incbin "graphics/pokemon/remoraid/front.4bpp.lz" - - .align 2 -gMonPalette_Remoraid:: @ 8DC7EF8 - .incbin "graphics/pokemon/remoraid/normal.gbapal.lz" - - .align 2 -gMonBackPic_Remoraid:: @ 8DC7F20 - .incbin "graphics/pokemon/remoraid/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Remoraid:: @ 8DC8234 - .incbin "graphics/pokemon/remoraid/shiny.gbapal.lz" - - .align 2 -gMonIcon_Remoraid:: @ 8DC825C - .incbin "graphics/pokemon/remoraid/icon.4bpp" - - .align 2 -gMonFootprint_Remoraid:: @ 8DC865C - .incbin "graphics/pokemon/remoraid/footprint.1bpp" - - .align 2 -gMonFrontPic_Octillery:: @ 8DC867C - .incbin "graphics/pokemon/octillery/front.4bpp.lz" - - .align 2 -gMonPalette_Octillery:: @ 8DC89B0 - .incbin "graphics/pokemon/octillery/normal.gbapal.lz" - - .align 2 -gMonBackPic_Octillery:: @ 8DC89D8 - .incbin "graphics/pokemon/octillery/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Octillery:: @ 8DC8C90 - .incbin "graphics/pokemon/octillery/shiny.gbapal.lz" - - .align 2 -gMonIcon_Octillery:: @ 8DC8CB8 - .incbin "graphics/pokemon/octillery/icon.4bpp" - - .align 2 -gMonFootprint_Octillery:: @ 8DC90B8 - .incbin "graphics/pokemon/octillery/footprint.1bpp" - - .align 2 -gMonFrontPic_Delibird:: @ 8DC90D8 - .incbin "graphics/pokemon/delibird/front.4bpp.lz" - - .align 2 -gMonPalette_Delibird:: @ 8DC9448 - .incbin "graphics/pokemon/delibird/normal.gbapal.lz" - - .align 2 -gMonBackPic_Delibird:: @ 8DC9470 - .incbin "graphics/pokemon/delibird/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Delibird:: @ 8DC9830 - .incbin "graphics/pokemon/delibird/shiny.gbapal.lz" - - .align 2 -gMonIcon_Delibird:: @ 8DC9858 - .incbin "graphics/pokemon/delibird/icon.4bpp" - - .align 2 -gMonFootprint_Delibird:: @ 8DC9C58 - .incbin "graphics/pokemon/delibird/footprint.1bpp" - - .align 2 -gMonFrontPic_Mantine:: @ 8DC9C78 - .incbin "graphics/pokemon/mantine/front.4bpp.lz" - - .align 2 -gMonPalette_Mantine:: @ 8DCA114 - .incbin "graphics/pokemon/mantine/normal.gbapal.lz" - - .align 2 -gMonBackPic_Mantine:: @ 8DCA13C - .incbin "graphics/pokemon/mantine/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Mantine:: @ 8DCA3DC - .incbin "graphics/pokemon/mantine/shiny.gbapal.lz" - - .align 2 -gMonIcon_Mantine:: @ 8DCA404 - .incbin "graphics/pokemon/mantine/icon.4bpp" - - .align 2 -gMonFootprint_Mantine:: @ 8DCA804 - .incbin "graphics/pokemon/mantine/footprint.1bpp" - - .align 2 -gMonFrontPic_Skarmory:: @ 8DCA824 - .incbin "graphics/pokemon/skarmory/front.4bpp.lz" - - .align 2 -gMonPalette_Skarmory:: @ 8DCAD04 - .incbin "graphics/pokemon/skarmory/normal.gbapal.lz" - - .align 2 -gMonBackPic_Skarmory:: @ 8DCAD2C - .incbin "graphics/pokemon/skarmory/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Skarmory:: @ 8DCB030 - .incbin "graphics/pokemon/skarmory/shiny.gbapal.lz" - - .align 2 -gMonIcon_Skarmory:: @ 8DCB058 - .incbin "graphics/pokemon/skarmory/icon.4bpp" - - .align 2 -gMonFootprint_Skarmory:: @ 8DCB458 - .incbin "graphics/pokemon/skarmory/footprint.1bpp" - - .align 2 -gMonFrontPic_Houndour:: @ 8DCB478 - .incbin "graphics/pokemon/houndour/front.4bpp.lz" - - .align 2 -gMonPalette_Houndour:: @ 8DCB730 - .incbin "graphics/pokemon/houndour/normal.gbapal.lz" - - .align 2 -gMonBackPic_Houndour:: @ 8DCB758 - .incbin "graphics/pokemon/houndour/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Houndour:: @ 8DCB9D8 - .incbin "graphics/pokemon/houndour/shiny.gbapal.lz" - - .align 2 -gMonIcon_Houndour:: @ 8DCBA00 - .incbin "graphics/pokemon/houndour/icon.4bpp" - - .align 2 -gMonFootprint_Houndour:: @ 8DCBE00 - .incbin "graphics/pokemon/houndour/footprint.1bpp" - - .align 2 -gMonFrontPic_Houndoom:: @ 8DCBE20 - .incbin "graphics/pokemon/houndoom/front.4bpp.lz" - - .align 2 -gMonPalette_Houndoom:: @ 8DCC220 - .incbin "graphics/pokemon/houndoom/normal.gbapal.lz" - - .align 2 -gMonBackPic_Houndoom:: @ 8DCC248 - .incbin "graphics/pokemon/houndoom/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Houndoom:: @ 8DCC56C - .incbin "graphics/pokemon/houndoom/shiny.gbapal.lz" - - .align 2 -gMonIcon_Houndoom:: @ 8DCC594 - .incbin "graphics/pokemon/houndoom/icon.4bpp" - - .align 2 -gMonFootprint_Houndoom:: @ 8DCC994 - .incbin "graphics/pokemon/houndoom/footprint.1bpp" - - .align 2 -gMonFrontPic_Kingdra:: @ 8DCC9B4 - .incbin "graphics/pokemon/kingdra/front.4bpp.lz" - - .align 2 -gMonPalette_Kingdra:: @ 8DCCDD4 - .incbin "graphics/pokemon/kingdra/normal.gbapal.lz" - - .align 2 -gMonBackPic_Kingdra:: @ 8DCCDFC - .incbin "graphics/pokemon/kingdra/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Kingdra:: @ 8DCD1B0 - .incbin "graphics/pokemon/kingdra/shiny.gbapal.lz" - - .align 2 -gMonIcon_Kingdra:: @ 8DCD1D8 - .incbin "graphics/pokemon/kingdra/icon.4bpp" - - .align 2 -gMonFootprint_Kingdra:: @ 8DCD5D8 - .incbin "graphics/pokemon/kingdra/footprint.1bpp" - - .align 2 -gMonFrontPic_Phanpy:: @ 8DCD5F8 - .incbin "graphics/pokemon/phanpy/front.4bpp.lz" - - .align 2 -gMonPalette_Phanpy:: @ 8DCD854 - .incbin "graphics/pokemon/phanpy/normal.gbapal.lz" - - .align 2 -gMonBackPic_Phanpy:: @ 8DCD87C - .incbin "graphics/pokemon/phanpy/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Phanpy:: @ 8DCDB40 - .incbin "graphics/pokemon/phanpy/shiny.gbapal.lz" - - .align 2 -gMonIcon_Phanpy:: @ 8DCDB68 - .incbin "graphics/pokemon/phanpy/icon.4bpp" - - .align 2 -gMonFootprint_Phanpy:: @ 8DCDF68 - .incbin "graphics/pokemon/phanpy/footprint.1bpp" - - .align 2 -gMonFrontPic_Donphan:: @ 8DCDF88 - .incbin "graphics/pokemon/donphan/front.4bpp.lz" - - .align 2 -gMonPalette_Donphan:: @ 8DCE3FC - .incbin "graphics/pokemon/donphan/normal.gbapal.lz" - - .align 2 -gMonBackPic_Donphan:: @ 8DCE424 - .incbin "graphics/pokemon/donphan/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Donphan:: @ 8DCE720 - .incbin "graphics/pokemon/donphan/shiny.gbapal.lz" - - .align 2 -gMonIcon_Donphan:: @ 8DCE748 - .incbin "graphics/pokemon/donphan/icon.4bpp" - - .align 2 -gMonFootprint_Donphan:: @ 8DCEB48 - .incbin "graphics/pokemon/donphan/footprint.1bpp" - - .align 2 -gMonFrontPic_Porygon2:: @ 8DCEB68 - .incbin "graphics/pokemon/porygon2/front.4bpp.lz" - - .align 2 -gMonPalette_Porygon2:: @ 8DCEDF0 - .incbin "graphics/pokemon/porygon2/normal.gbapal.lz" - - .align 2 -gMonBackPic_Porygon2:: @ 8DCEE18 - .incbin "graphics/pokemon/porygon2/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Porygon2:: @ 8DCF134 - .incbin "graphics/pokemon/porygon2/shiny.gbapal.lz" - - .align 2 -gMonIcon_Porygon2:: @ 8DCF15C - .incbin "graphics/pokemon/porygon2/icon.4bpp" - - .align 2 -gMonFootprint_Porygon2:: @ 8DCF55C - .incbin "graphics/pokemon/porygon2/footprint.1bpp" - - .align 2 -gMonFrontPic_Stantler:: @ 8DCF57C - .incbin "graphics/pokemon/stantler/front.4bpp.lz" - - .align 2 -gMonPalette_Stantler:: @ 8DCF990 - .incbin "graphics/pokemon/stantler/normal.gbapal.lz" - - .align 2 -gMonBackPic_Stantler:: @ 8DCF9B8 - .incbin "graphics/pokemon/stantler/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Stantler:: @ 8DCFD04 - .incbin "graphics/pokemon/stantler/shiny.gbapal.lz" - - .align 2 -gMonIcon_Stantler:: @ 8DCFD2C - .incbin "graphics/pokemon/stantler/icon.4bpp" - - .align 2 -gMonFootprint_Stantler:: @ 8DD012C - .incbin "graphics/pokemon/stantler/footprint.1bpp" - - .align 2 -gMonFrontPic_Smeargle:: @ 8DD014C - .incbin "graphics/pokemon/smeargle/front.4bpp.lz" - - .align 2 -gMonPalette_Smeargle:: @ 8DD04E0 - .incbin "graphics/pokemon/smeargle/normal.gbapal.lz" - - .align 2 -gMonBackPic_Smeargle:: @ 8DD0508 - .incbin "graphics/pokemon/smeargle/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Smeargle:: @ 8DD082C - .incbin "graphics/pokemon/smeargle/shiny.gbapal.lz" - - .align 2 -gMonIcon_Smeargle:: @ 8DD0854 - .incbin "graphics/pokemon/smeargle/icon.4bpp" - - .align 2 -gMonFootprint_Smeargle:: @ 8DD0C54 - .incbin "graphics/pokemon/smeargle/footprint.1bpp" - - .align 2 -gMonFrontPic_Tyrogue:: @ 8DD0C74 - .incbin "graphics/pokemon/tyrogue/front.4bpp.lz" - - .align 2 -gMonPalette_Tyrogue:: @ 8DD0F00 - .incbin "graphics/pokemon/tyrogue/normal.gbapal.lz" - - .align 2 -gMonBackPic_Tyrogue:: @ 8DD0F28 - .incbin "graphics/pokemon/tyrogue/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Tyrogue:: @ 8DD1244 - .incbin "graphics/pokemon/tyrogue/shiny.gbapal.lz" - - .align 2 -gMonIcon_Tyrogue:: @ 8DD126C - .incbin "graphics/pokemon/tyrogue/icon.4bpp" - - .align 2 -gMonFootprint_Tyrogue:: @ 8DD166C - .incbin "graphics/pokemon/tyrogue/footprint.1bpp" - - .align 2 -gMonFrontPic_Hitmontop:: @ 8DD168C - .incbin "graphics/pokemon/hitmontop/front.4bpp.lz" - - .align 2 -gMonPalette_Hitmontop:: @ 8DD1A18 - .incbin "graphics/pokemon/hitmontop/normal.gbapal.lz" - - .align 2 -gMonBackPic_Hitmontop:: @ 8DD1A40 - .incbin "graphics/pokemon/hitmontop/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Hitmontop:: @ 8DD1E68 - .incbin "graphics/pokemon/hitmontop/shiny.gbapal.lz" - - .align 2 -gMonIcon_Hitmontop:: @ 8DD1E90 - .incbin "graphics/pokemon/hitmontop/icon.4bpp" - - @ this might be undefined memory garbage. Its all 00s except for 1 0F. Its also not referenced. - .align 2 -gUndefined_8DD1E90:: @ 8DD2290 - .incbin "data/garbage_8DD2290.bin" - - .align 2 -gMonFootprint_Hitmontop:: @ 8DD2490 - .incbin "graphics/pokemon/hitmontop/footprint.1bpp" - - .align 2 -gMonFrontPic_Smoochum:: @ 8DD24B0 - .incbin "graphics/pokemon/smoochum/front.4bpp.lz" - - .align 2 -gMonPalette_Smoochum:: @ 8DD2708 - .incbin "graphics/pokemon/smoochum/normal.gbapal.lz" - - .align 2 -gMonBackPic_Smoochum:: @ 8DD2730 - .incbin "graphics/pokemon/smoochum/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Smoochum:: @ 8DD29A8 - .incbin "graphics/pokemon/smoochum/shiny.gbapal.lz" - - .align 2 -gMonIcon_Smoochum:: @ 8DD29D0 - .incbin "graphics/pokemon/smoochum/icon.4bpp" - - .align 2 -gMonFootprint_Smoochum:: @ 8DD2DD0 - .incbin "graphics/pokemon/smoochum/footprint.1bpp" - - .align 2 -gMonFrontPic_Elekid:: @ 8DD2DF0 - .incbin "graphics/pokemon/elekid/front.4bpp.lz" - - .align 2 -gMonPalette_Elekid:: @ 8DD30F8 - .incbin "graphics/pokemon/elekid/normal.gbapal.lz" - - .align 2 -gMonBackPic_Elekid:: @ 8DD3120 - .incbin "graphics/pokemon/elekid/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Elekid:: @ 8DD3478 - .incbin "graphics/pokemon/elekid/shiny.gbapal.lz" - - .align 2 -gMonIcon_Elekid:: @ 8DD34A0 - .incbin "graphics/pokemon/elekid/icon.4bpp" - - .align 2 -gMonFootprint_Elekid:: @ 8DD38A0 - .incbin "graphics/pokemon/elekid/footprint.1bpp" - - .align 2 -gMonFrontPic_Magby:: @ 8DD38C0 - .incbin "graphics/pokemon/magby/front.4bpp.lz" - - .align 2 -gMonPalette_Magby:: @ 8DD3B44 - .incbin "graphics/pokemon/magby/normal.gbapal.lz" - - .align 2 -gMonBackPic_Magby:: @ 8DD3B6C - .incbin "graphics/pokemon/magby/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Magby:: @ 8DD3E18 - .incbin "graphics/pokemon/magby/shiny.gbapal.lz" - - .align 2 -gMonIcon_Magby:: @ 8DD3E40 - .incbin "graphics/pokemon/magby/icon.4bpp" - - .align 2 -gMonFootprint_Magby:: @ 8DD4240 - .incbin "graphics/pokemon/magby/footprint.1bpp" - - .align 2 -gMonFrontPic_Miltank:: @ 8DD4260 - .incbin "graphics/pokemon/miltank/front.4bpp.lz" - - .align 2 -gMonPalette_Miltank:: @ 8DD4610 - .incbin "graphics/pokemon/miltank/normal.gbapal.lz" - - .align 2 -gMonBackPic_Miltank:: @ 8DD4638 - .incbin "graphics/pokemon/miltank/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Miltank:: @ 8DD49D4 - .incbin "graphics/pokemon/miltank/shiny.gbapal.lz" - - .align 2 -gMonIcon_Miltank:: @ 8DD49FC - .incbin "graphics/pokemon/miltank/icon.4bpp" - - .align 2 -gMonFootprint_Miltank:: @ 8DD4DFC - .incbin "graphics/pokemon/miltank/footprint.1bpp" - - .align 2 -gMonFrontPic_Blissey:: @ 8DD4E1C - .incbin "graphics/pokemon/blissey/front.4bpp.lz" - - .align 2 -gMonPalette_Blissey:: @ 8DD5204 - .incbin "graphics/pokemon/blissey/normal.gbapal.lz" - - .align 2 -gMonBackPic_Blissey:: @ 8DD522C - .incbin "graphics/pokemon/blissey/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Blissey:: @ 8DD54F8 - .incbin "graphics/pokemon/blissey/shiny.gbapal.lz" - - .align 2 -gMonIcon_Blissey:: @ 8DD5520 - .incbin "graphics/pokemon/blissey/icon.4bpp" - - .align 2 -gMonFootprint_Blissey:: @ 8DD5920 - .incbin "graphics/pokemon/blissey/footprint.1bpp" - - .align 2 -gMonFrontPic_Raikou:: @ 8DD5940 - .incbin "graphics/pokemon/raikou/front.4bpp.lz" - - .align 2 -gMonPalette_Raikou:: @ 8DD5EBC - .incbin "graphics/pokemon/raikou/normal.gbapal.lz" - - .align 2 -gMonBackPic_Raikou:: @ 8DD5EE4 - .incbin "graphics/pokemon/raikou/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Raikou:: @ 8DD628C - .incbin "graphics/pokemon/raikou/shiny.gbapal.lz" - - .align 2 -gMonIcon_Raikou:: @ 8DD62B4 - .incbin "graphics/pokemon/raikou/icon.4bpp" - - .align 2 -gMonFootprint_Raikou:: @ 8DD66B4 - .incbin "graphics/pokemon/raikou/footprint.1bpp" - - .align 2 -gMonFrontPic_Entei:: @ 8DD66D4 - .incbin "graphics/pokemon/entei/front.4bpp.lz" - - .align 2 -gMonPalette_Entei:: @ 8DD6CD0 - .incbin "graphics/pokemon/entei/normal.gbapal.lz" - - .align 2 -gMonBackPic_Entei:: @ 8DD6CF8 - .incbin "graphics/pokemon/entei/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Entei:: @ 8DD711C - .incbin "graphics/pokemon/entei/shiny.gbapal.lz" - - .align 2 -gMonIcon_Entei:: @ 8DD7144 - .incbin "graphics/pokemon/entei/icon.4bpp" - - .align 2 -gMonFootprint_Entei:: @ 8DD7544 - .incbin "graphics/pokemon/entei/footprint.1bpp" - - .align 2 -gMonFrontPic_Suicune:: @ 8DD7564 - .incbin "graphics/pokemon/suicune/front.4bpp.lz" - - .align 2 -gMonPalette_Suicune:: @ 8DD7AE8 - .incbin "graphics/pokemon/suicune/normal.gbapal.lz" - - .align 2 -gMonBackPic_Suicune:: @ 8DD7B10 - .incbin "graphics/pokemon/suicune/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Suicune:: @ 8DD7FEC - .incbin "graphics/pokemon/suicune/shiny.gbapal.lz" - - .align 2 -gMonIcon_Suicune:: @ 8DD8014 - .incbin "graphics/pokemon/suicune/icon.4bpp" - - .align 2 -gMonFootprint_Suicune:: @ 8DD8414 - .incbin "graphics/pokemon/suicune/footprint.1bpp" - - .align 2 -gMonFrontPic_Larvitar:: @ 8DD8434 - .incbin "graphics/pokemon/larvitar/front.4bpp.lz" - - .align 2 -gMonPalette_Larvitar:: @ 8DD8690 - .incbin "graphics/pokemon/larvitar/normal.gbapal.lz" - - .align 2 -gMonBackPic_Larvitar:: @ 8DD86B8 - .incbin "graphics/pokemon/larvitar/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Larvitar:: @ 8DD8964 - .incbin "graphics/pokemon/larvitar/shiny.gbapal.lz" - - .align 2 -gMonIcon_Larvitar:: @ 8DD898C - .incbin "graphics/pokemon/larvitar/icon.4bpp" - - .align 2 -gMonFootprint_Larvitar:: @ 8DD8D8C - .incbin "graphics/pokemon/larvitar/footprint.1bpp" - - .align 2 -gMonFrontPic_Pupitar:: @ 8DD8DAC - .incbin "graphics/pokemon/pupitar/front.4bpp.lz" - - .align 2 -gMonPalette_Pupitar:: @ 8DD909C - .incbin "graphics/pokemon/pupitar/normal.gbapal.lz" - - .align 2 -gMonBackPic_Pupitar:: @ 8DD90C4 - .incbin "graphics/pokemon/pupitar/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Pupitar:: @ 8DD93FC - .incbin "graphics/pokemon/pupitar/shiny.gbapal.lz" - - .align 2 -gMonIcon_Pupitar:: @ 8DD9424 - .incbin "graphics/pokemon/pupitar/icon.4bpp" - - .align 2 -gMonFootprint_Pupitar:: @ 8DD9824 - .incbin "graphics/pokemon/pupitar/footprint.1bpp" - - .align 2 -gMonFrontPic_Tyranitar:: @ 8DD9844 - .incbin "graphics/pokemon/tyranitar/front.4bpp.lz" - - .align 2 -gMonPalette_Tyranitar:: @ 8DD9D80 - .incbin "graphics/pokemon/tyranitar/normal.gbapal.lz" - - .align 2 -gMonBackPic_Tyranitar:: @ 8DD9DA8 - .incbin "graphics/pokemon/tyranitar/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Tyranitar:: @ 8DDA194 - .incbin "graphics/pokemon/tyranitar/shiny.gbapal.lz" - - .align 2 -gMonIcon_Tyranitar:: @ 8DDA1BC - .incbin "graphics/pokemon/tyranitar/icon.4bpp" - - .align 2 -gMonFootprint_Tyranitar:: @ 8DDA5BC - .incbin "graphics/pokemon/tyranitar/footprint.1bpp" - - .align 2 -gMonFrontPic_Lugia:: @ 8DDA5DC - .incbin "graphics/pokemon/lugia/front.4bpp.lz" - - .align 2 -gMonPalette_Lugia:: @ 8DDAAA0 - .incbin "graphics/pokemon/lugia/normal.gbapal.lz" - - .align 2 -gMonBackPic_Lugia:: @ 8DDAAC8 - .incbin "graphics/pokemon/lugia/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Lugia:: @ 8DDAE9C - .incbin "graphics/pokemon/lugia/shiny.gbapal.lz" - - .align 2 -gMonIcon_Lugia:: @ 8DDAEC4 - .incbin "graphics/pokemon/lugia/icon.4bpp" - - .align 2 -gMonFootprint_Lugia:: @ 8DDB2C4 - .incbin "graphics/pokemon/lugia/footprint.1bpp" - - .align 2 -gMonFrontPic_HoOh:: @ 8DDB2E4 - .incbin "graphics/pokemon/ho_oh/front.4bpp.lz" - - .align 2 -gMonPalette_HoOh:: @ 8DDB938 - .incbin "graphics/pokemon/ho_oh/normal.gbapal.lz" - - .align 2 -gMonBackPic_HoOh:: @ 8DDB960 - .incbin "graphics/pokemon/ho_oh/back.4bpp.lz" - - .align 2 -gMonShinyPalette_HoOh:: @ 8DDBD70 - .incbin "graphics/pokemon/ho_oh/shiny.gbapal.lz" - - .align 2 -gMonIcon_HoOh:: @ 8DDBD98 - .incbin "graphics/pokemon/ho_oh/icon.4bpp" - - .align 2 -gMonFootprint_HoOh:: @ 8DDC198 - .incbin "graphics/pokemon/ho_oh/footprint.1bpp" - - .align 2 -gMonFrontPic_Celebi:: @ 8DDC1B8 - .incbin "graphics/pokemon/celebi/front.4bpp.lz" - - .align 2 -gMonPalette_Celebi:: @ 8DDC430 - .incbin "graphics/pokemon/celebi/normal.gbapal.lz" - - .align 2 -gMonBackPic_Celebi:: @ 8DDC458 - .incbin "graphics/pokemon/celebi/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Celebi:: @ 8DDC804 - .incbin "graphics/pokemon/celebi/shiny.gbapal.lz" - - .align 2 -gMonIcon_Celebi:: @ 8DDC82C - .incbin "graphics/pokemon/celebi/icon.4bpp" - - .align 2 -gMonFootprint_Celebi:: @ 8DDCC2C - .incbin "graphics/pokemon/celebi/footprint.1bpp" - - .align 2 -gMonFrontPic_DoubleQuestionMark:: @ 8DDCC4C - .incbin "graphics/pokemon/circled_question_mark/double/front.4bpp.lz" - - .align 2 -gMonPalette_DoubleQuestionMark:: @ 8DDCDD0 - .incbin "graphics/pokemon/circled_question_mark/double/normal.gbapal.lz" - - .align 2 -gMonBackPic_DoubleQuestionMark:: @ 8DDCDE4 - .incbin "graphics/pokemon/circled_question_mark/double/back.4bpp.lz" - - .align 2 -gMonShinyPalette_DoubleQuestionMark:: @ 8DDCF68 - .incbin "graphics/pokemon/circled_question_mark/double/shiny.gbapal.lz" - - .align 2 -gMonFrontPic_Treecko:: @ 8DDCF7C - .incbin "graphics/pokemon/treecko/front.4bpp.lz" - - .align 2 -gMonPalette_Treecko:: @ 8DDD284 - .incbin "graphics/pokemon/treecko/normal.gbapal.lz" - - .align 2 -gMonBackPic_Treecko:: @ 8DDD2AC - .incbin "graphics/pokemon/treecko/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Treecko:: @ 8DDD5AC - .incbin "graphics/pokemon/treecko/shiny.gbapal.lz" - - .align 2 -gMonIcon_Treecko:: @ 8DDD5D4 - .incbin "graphics/pokemon/treecko/icon.4bpp" - - .align 2 -gMonFootprint_Treecko:: @ 8DDD9D4 - .incbin "graphics/pokemon/treecko/footprint.1bpp" - - .align 2 -gMonFrontPic_Grovyle:: @ 8DDD9F4 - .incbin "graphics/pokemon/grovyle/front.4bpp.lz" - - .align 2 -gMonPalette_Grovyle:: @ 8DDDE80 - .incbin "graphics/pokemon/grovyle/normal.gbapal.lz" - - .align 2 -gMonBackPic_Grovyle:: @ 8DDDEA8 - .incbin "graphics/pokemon/grovyle/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Grovyle:: @ 8DDE1E4 - .incbin "graphics/pokemon/grovyle/shiny.gbapal.lz" - - .align 2 -gMonIcon_Grovyle:: @ 8DDE20C - .incbin "graphics/pokemon/grovyle/icon.4bpp" - - .align 2 -gMonFootprint_Grovyle:: @ 8DDE60C - .incbin "graphics/pokemon/grovyle/footprint.1bpp" - - .align 2 -gMonFrontPic_Sceptile:: @ 8DDE62C - .incbin "graphics/pokemon/sceptile/front.4bpp.lz" - - .align 2 -gMonPalette_Sceptile:: @ 8DDEB30 - .incbin "graphics/pokemon/sceptile/normal.gbapal.lz" - - .align 2 -gMonBackPic_Sceptile:: @ 8DDEB58 - .incbin "graphics/pokemon/sceptile/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Sceptile:: @ 8DDEF54 - .incbin "graphics/pokemon/sceptile/shiny.gbapal.lz" - - .align 2 -gMonIcon_Sceptile:: @ 8DDEF7C - .incbin "graphics/pokemon/sceptile/icon.4bpp" - - .align 2 -gMonFootprint_Sceptile:: @ 8DDF37C - .incbin "graphics/pokemon/sceptile/footprint.1bpp" - - .align 2 -gMonFrontPic_Torchic:: @ 8DDF39C - .incbin "graphics/pokemon/torchic/front.4bpp.lz" - - .align 2 -gMonPalette_Torchic:: @ 8DDF638 - .incbin "graphics/pokemon/torchic/normal.gbapal.lz" - - .align 2 -gMonBackPic_Torchic:: @ 8DDF660 - .incbin "graphics/pokemon/torchic/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Torchic:: @ 8DDF938 - .incbin "graphics/pokemon/torchic/shiny.gbapal.lz" - - .align 2 -gMonIcon_Torchic:: @ 8DDF960 - .incbin "graphics/pokemon/torchic/icon.4bpp" - - .align 2 -gMonFootprint_Torchic:: @ 8DDFD60 - .incbin "graphics/pokemon/torchic/footprint.1bpp" - - .align 2 -gMonFrontPic_Combusken:: @ 8DDFD80 - .incbin "graphics/pokemon/combusken/front.4bpp.lz" - - .align 2 -gMonPalette_Combusken:: @ 8DE016C - .incbin "graphics/pokemon/combusken/normal.gbapal.lz" - - .align 2 -gMonBackPic_Combusken:: @ 8DE0194 - .incbin "graphics/pokemon/combusken/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Combusken:: @ 8DE0564 - .incbin "graphics/pokemon/combusken/shiny.gbapal.lz" - - .align 2 -gMonIcon_Combusken:: @ 8DE058C - .incbin "graphics/pokemon/combusken/icon.4bpp" - - .align 2 -gMonFootprint_Combusken:: @ 8DE098C - .incbin "graphics/pokemon/combusken/footprint.1bpp" - - .align 2 -gMonFrontPic_Blaziken:: @ 8DE09AC - .incbin "graphics/pokemon/blaziken/front.4bpp.lz" - - .align 2 -gMonPalette_Blaziken:: @ 8DE0E24 - .incbin "graphics/pokemon/blaziken/normal.gbapal.lz" - - .align 2 -gMonBackPic_Blaziken:: @ 8DE0E4C - .incbin "graphics/pokemon/blaziken/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Blaziken:: @ 8DE1228 - .incbin "graphics/pokemon/blaziken/shiny.gbapal.lz" - - .align 2 -gMonIcon_Blaziken:: @ 8DE1250 - .incbin "graphics/pokemon/blaziken/icon.4bpp" - - .align 2 -gMonFootprint_Blaziken:: @ 8DE1650 - .incbin "graphics/pokemon/blaziken/footprint.1bpp" - - .align 2 -gMonFrontPic_Mudkip:: @ 8DE1670 - .incbin "graphics/pokemon/mudkip/front.4bpp.lz" - - .align 2 -gMonPalette_Mudkip:: @ 8DE1928 - .incbin "graphics/pokemon/mudkip/normal.gbapal.lz" - - .align 2 -gMonBackPic_Mudkip:: @ 8DE1950 - .incbin "graphics/pokemon/mudkip/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Mudkip:: @ 8DE1C30 - .incbin "graphics/pokemon/mudkip/shiny.gbapal.lz" - - .align 2 -gMonIcon_Mudkip:: @ 8DE1C58 - .incbin "graphics/pokemon/mudkip/icon.4bpp" - - .align 2 -gMonFootprint_Mudkip:: @ 8DE2058 - .incbin "graphics/pokemon/mudkip/footprint.1bpp" - - .align 2 -gMonFrontPic_Marshtomp:: @ 8DE2078 - .incbin "graphics/pokemon/marshtomp/front.4bpp.lz" - - .align 2 -gMonPalette_Marshtomp:: @ 8DE2400 - .incbin "graphics/pokemon/marshtomp/normal.gbapal.lz" - - .align 2 -gMonBackPic_Marshtomp:: @ 8DE2428 - .incbin "graphics/pokemon/marshtomp/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Marshtomp:: @ 8DE27D8 - .incbin "graphics/pokemon/marshtomp/shiny.gbapal.lz" - - .align 2 -gMonIcon_Marshtomp:: @ 8DE2800 - .incbin "graphics/pokemon/marshtomp/icon.4bpp" - - .align 2 -gMonFootprint_Marshtomp:: @ 8DE2C00 - .incbin "graphics/pokemon/marshtomp/footprint.1bpp" - - .align 2 -gMonFrontPic_Swampert:: @ 8DE2C20 - .incbin "graphics/pokemon/swampert/front.4bpp.lz" - - .align 2 -gMonPalette_Swampert:: @ 8DE319C - .incbin "graphics/pokemon/swampert/normal.gbapal.lz" - - .align 2 -gMonBackPic_Swampert:: @ 8DE31C4 - .incbin "graphics/pokemon/swampert/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Swampert:: @ 8DE3578 - .incbin "graphics/pokemon/swampert/shiny.gbapal.lz" - - .align 2 -gMonIcon_Swampert:: @ 8DE35A0 - .incbin "graphics/pokemon/swampert/icon.4bpp" - - .align 2 -gMonFootprint_Swampert:: @ 8DE39A0 - .incbin "graphics/pokemon/swampert/footprint.1bpp" - - .align 2 -gMonFrontPic_Poochyena:: @ 8DE39C0 - .incbin "graphics/pokemon/poochyena/front.4bpp.lz" - - .align 2 -gMonPalette_Poochyena:: @ 8DE3C88 - .incbin "graphics/pokemon/poochyena/normal.gbapal.lz" - - .align 2 -gMonBackPic_Poochyena:: @ 8DE3CB0 - .incbin "graphics/pokemon/poochyena/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Poochyena:: @ 8DE3FDC - .incbin "graphics/pokemon/poochyena/shiny.gbapal.lz" - - .align 2 -gMonIcon_Poochyena:: @ 8DE4004 - .incbin "graphics/pokemon/poochyena/icon.4bpp" - - .align 2 -gMonFootprint_Poochyena:: @ 8DE4404 - .incbin "graphics/pokemon/poochyena/footprint.1bpp" - - .align 2 -gMonFrontPic_Mightyena:: @ 8DE4424 - .incbin "graphics/pokemon/mightyena/front.4bpp.lz" - - .align 2 -gMonPalette_Mightyena:: @ 8DE485C - .incbin "graphics/pokemon/mightyena/normal.gbapal.lz" - - .align 2 -gMonBackPic_Mightyena:: @ 8DE4884 - .incbin "graphics/pokemon/mightyena/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Mightyena:: @ 8DE4BFC - .incbin "graphics/pokemon/mightyena/shiny.gbapal.lz" - - .align 2 -gMonIcon_Mightyena:: @ 8DE4C24 - .incbin "graphics/pokemon/mightyena/icon.4bpp" - - .align 2 -gMonFootprint_Mightyena:: @ 8DE5024 - .incbin "graphics/pokemon/mightyena/footprint.1bpp" - - .align 2 -gMonFrontPic_Zigzagoon:: @ 8DE5044 - .incbin "graphics/pokemon/zigzagoon/front.4bpp.lz" - - .align 2 -gMonPalette_Zigzagoon:: @ 8DE5414 - .incbin "graphics/pokemon/zigzagoon/normal.gbapal.lz" - - .align 2 -gMonBackPic_Zigzagoon:: @ 8DE543C - .incbin "graphics/pokemon/zigzagoon/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Zigzagoon:: @ 8DE577C - .incbin "graphics/pokemon/zigzagoon/shiny.gbapal.lz" - - .align 2 -gMonIcon_Zigzagoon:: @ 8DE57A4 - .incbin "graphics/pokemon/zigzagoon/icon.4bpp" - - .align 2 -gMonFootprint_Zigzagoon:: @ 8DE5BA4 - .incbin "graphics/pokemon/zigzagoon/footprint.1bpp" - - .align 2 -gMonFrontPic_Linoone:: @ 8DE5BC4 - .incbin "graphics/pokemon/linoone/front.4bpp.lz" - - .align 2 -gMonPalette_Linoone:: @ 8DE5F34 - .incbin "graphics/pokemon/linoone/normal.gbapal.lz" - - .align 2 -gMonBackPic_Linoone:: @ 8DE5F5C - .incbin "graphics/pokemon/linoone/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Linoone:: @ 8DE6230 - .incbin "graphics/pokemon/linoone/shiny.gbapal.lz" - - .align 2 -gMonIcon_Linoone:: @ 8DE6258 - .incbin "graphics/pokemon/linoone/icon.4bpp" - - .align 2 -gMonFootprint_Linoone:: @ 8DE6658 - .incbin "graphics/pokemon/linoone/footprint.1bpp" - - .align 2 -gMonFrontPic_Wurmple:: @ 8DE6678 - .incbin "graphics/pokemon/wurmple/front.4bpp.lz" - - .align 2 -gMonPalette_Wurmple:: @ 8DE6900 - .incbin "graphics/pokemon/wurmple/normal.gbapal.lz" - - .align 2 -gMonBackPic_Wurmple:: @ 8DE6928 - .incbin "graphics/pokemon/wurmple/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Wurmple:: @ 8DE6B74 - .incbin "graphics/pokemon/wurmple/shiny.gbapal.lz" - - .align 2 -gMonIcon_Wurmple:: @ 8DE6B9C - .incbin "graphics/pokemon/wurmple/icon.4bpp" - - .align 2 -gMonFootprint_Wurmple:: @ 8DE6F9C - .incbin "graphics/pokemon/wurmple/footprint.1bpp" - - .align 2 -gMonFrontPic_Silcoon:: @ 8DE6FBC - .incbin "graphics/pokemon/silcoon/front.4bpp.lz" - - .align 2 -gMonPalette_Silcoon:: @ 8DE723C - .incbin "graphics/pokemon/silcoon/normal.gbapal.lz" - - .align 2 -gMonBackPic_Silcoon:: @ 8DE7264 - .incbin "graphics/pokemon/silcoon/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Silcoon:: @ 8DE7480 - .incbin "graphics/pokemon/silcoon/shiny.gbapal.lz" - - .align 2 -gMonIcon_Silcoon:: @ 8DE74A8 - .incbin "graphics/pokemon/silcoon/icon.4bpp" - - .align 2 -gMonFootprint_Silcoon:: @ 8DE78A8 - .incbin "graphics/pokemon/silcoon/footprint.1bpp" - - .align 2 -gMonFrontPic_Beautifly:: @ 8DE78C8 - .incbin "graphics/pokemon/beautifly/front.4bpp.lz" - - .align 2 -gMonPalette_Beautifly:: @ 8DE7C20 - .incbin "graphics/pokemon/beautifly/normal.gbapal.lz" - - .align 2 -gMonBackPic_Beautifly:: @ 8DE7C48 - .incbin "graphics/pokemon/beautifly/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Beautifly:: @ 8DE7FF8 - .incbin "graphics/pokemon/beautifly/shiny.gbapal.lz" - - .align 2 -gMonIcon_Beautifly:: @ 8DE8020 - .incbin "graphics/pokemon/beautifly/icon.4bpp" - - .align 2 -gMonFootprint_Beautifly:: @ 8DE8420 - .incbin "graphics/pokemon/beautifly/footprint.1bpp" - - .align 2 -gMonFrontPic_Cascoon:: @ 8DE8440 - .incbin "graphics/pokemon/cascoon/front.4bpp.lz" - - .align 2 -gMonPalette_Cascoon:: @ 8DE86AC - .incbin "graphics/pokemon/cascoon/normal.gbapal.lz" - - .align 2 -gMonBackPic_Cascoon:: @ 8DE86D4 - .incbin "graphics/pokemon/cascoon/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Cascoon:: @ 8DE88E4 - .incbin "graphics/pokemon/cascoon/shiny.gbapal.lz" - - .align 2 -gMonIcon_Cascoon:: @ 8DE890C - .incbin "graphics/pokemon/cascoon/icon.4bpp" - - .align 2 -gMonFootprint_Cascoon:: @ 8DE8D0C - .incbin "graphics/pokemon/cascoon/footprint.1bpp" - - .align 2 -gMonFrontPic_Dustox:: @ 8DE8D2C - .incbin "graphics/pokemon/dustox/front.4bpp.lz" - - .align 2 -gMonPalette_Dustox:: @ 8DE9094 - .incbin "graphics/pokemon/dustox/normal.gbapal.lz" - - .align 2 -gMonBackPic_Dustox:: @ 8DE90BC - .incbin "graphics/pokemon/dustox/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Dustox:: @ 8DE9314 - .incbin "graphics/pokemon/dustox/shiny.gbapal.lz" - - .align 2 -gMonIcon_Dustox:: @ 8DE933C - .incbin "graphics/pokemon/dustox/icon.4bpp" - - .align 2 -gMonFootprint_Dustox:: @ 8DE973C - .incbin "graphics/pokemon/dustox/footprint.1bpp" - - .align 2 -gMonFrontPic_Lotad:: @ 8DE975C - .incbin "graphics/pokemon/lotad/front.4bpp.lz" - - .align 2 -gMonPalette_Lotad:: @ 8DE99BC - .incbin "graphics/pokemon/lotad/normal.gbapal.lz" - - .align 2 -gMonBackPic_Lotad:: @ 8DE99E4 - .incbin "graphics/pokemon/lotad/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Lotad:: @ 8DE9CCC - .incbin "graphics/pokemon/lotad/shiny.gbapal.lz" - - .align 2 -gMonIcon_Lotad:: @ 8DE9CF4 - .incbin "graphics/pokemon/lotad/icon.4bpp" - - .align 2 -gMonFootprint_Lotad:: @ 8DEA0F4 - .incbin "graphics/pokemon/lotad/footprint.1bpp" - - .align 2 -gMonFrontPic_Lombre:: @ 8DEA114 - .incbin "graphics/pokemon/lombre/front.4bpp.lz" - - .align 2 -gMonPalette_Lombre:: @ 8DEA42C - .incbin "graphics/pokemon/lombre/normal.gbapal.lz" - - .align 2 -gMonBackPic_Lombre:: @ 8DEA454 - .incbin "graphics/pokemon/lombre/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Lombre:: @ 8DEA750 - .incbin "graphics/pokemon/lombre/shiny.gbapal.lz" - - .align 2 -gMonIcon_Lombre:: @ 8DEA778 - .incbin "graphics/pokemon/lombre/icon.4bpp" - - .align 2 -gMonFootprint_Lombre:: @ 8DEAB78 - .incbin "graphics/pokemon/lombre/footprint.1bpp" - - .align 2 -gMonFrontPic_Ludicolo:: @ 8DEAB98 - .incbin "graphics/pokemon/ludicolo/front.4bpp.lz" - - .align 2 -gMonPalette_Ludicolo:: @ 8DEB07C - .incbin "graphics/pokemon/ludicolo/normal.gbapal.lz" - - .align 2 -gMonBackPic_Ludicolo:: @ 8DEB0A4 - .incbin "graphics/pokemon/ludicolo/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Ludicolo:: @ 8DEB3A0 - .incbin "graphics/pokemon/ludicolo/shiny.gbapal.lz" - - .align 2 -gMonIcon_Ludicolo:: @ 8DEB3C8 - .incbin "graphics/pokemon/ludicolo/icon.4bpp" - - .align 2 -gMonFootprint_Ludicolo:: @ 8DEB7C8 - .incbin "graphics/pokemon/ludicolo/footprint.1bpp" - - .align 2 -gMonFrontPic_Seedot:: @ 8DEB7E8 - .incbin "graphics/pokemon/seedot/front.4bpp.lz" - - .align 2 -gMonPalette_Seedot:: @ 8DEBA7C - .incbin "graphics/pokemon/seedot/normal.gbapal.lz" - - .align 2 -gMonBackPic_Seedot:: @ 8DEBAA4 - .incbin "graphics/pokemon/seedot/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Seedot:: @ 8DEBD84 - .incbin "graphics/pokemon/seedot/shiny.gbapal.lz" - - .align 2 -gMonIcon_Seedot:: @ 8DEBDAC - .incbin "graphics/pokemon/seedot/icon.4bpp" - - .align 2 -gMonFootprint_Seedot:: @ 8DEC1AC - .incbin "graphics/pokemon/seedot/footprint.1bpp" - - .align 2 -gMonFrontPic_Nuzleaf:: @ 8DEC1CC - .incbin "graphics/pokemon/nuzleaf/front.4bpp.lz" - - .align 2 -gMonPalette_Nuzleaf:: @ 8DEC4B8 - .incbin "graphics/pokemon/nuzleaf/normal.gbapal.lz" - - .align 2 -gMonBackPic_Nuzleaf:: @ 8DEC4E0 - .incbin "graphics/pokemon/nuzleaf/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Nuzleaf:: @ 8DEC7A8 - .incbin "graphics/pokemon/nuzleaf/shiny.gbapal.lz" - - .align 2 -gMonIcon_Nuzleaf:: @ 8DEC7D0 - .incbin "graphics/pokemon/nuzleaf/icon.4bpp" - - .align 2 -gMonFootprint_Nuzleaf:: @ 8DECBD0 - .incbin "graphics/pokemon/nuzleaf/footprint.1bpp" - - .align 2 -gMonFrontPic_Shiftry:: @ 8DECBF0 - .incbin "graphics/pokemon/shiftry/front.4bpp.lz" - - .align 2 -gMonPalette_Shiftry:: @ 8DED0AC - .incbin "graphics/pokemon/shiftry/normal.gbapal.lz" - - .align 2 -gMonBackPic_Shiftry:: @ 8DED0D4 - .incbin "graphics/pokemon/shiftry/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Shiftry:: @ 8DED398 - .incbin "graphics/pokemon/shiftry/shiny.gbapal.lz" - - .align 2 -gMonIcon_Shiftry:: @ 8DED3C0 - .incbin "graphics/pokemon/shiftry/icon.4bpp" - - .align 2 -gMonFootprint_Shiftry:: @ 8DED7C0 - .incbin "graphics/pokemon/shiftry/footprint.1bpp" - - .align 2 -gMonFrontPic_Nincada:: @ 8DED7E0 - .incbin "graphics/pokemon/nincada/front.4bpp.lz" - - .align 2 -gMonPalette_Nincada:: @ 8DEDA80 - .incbin "graphics/pokemon/nincada/normal.gbapal.lz" - - .align 2 -gMonBackPic_Nincada:: @ 8DEDAA8 - .incbin "graphics/pokemon/nincada/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Nincada:: @ 8DEDD60 - .incbin "graphics/pokemon/nincada/shiny.gbapal.lz" - - .align 2 -gMonIcon_Nincada:: @ 8DEDD88 - .incbin "graphics/pokemon/nincada/icon.4bpp" - - .align 2 -gMonFootprint_Nincada:: @ 8DEE188 - .incbin "graphics/pokemon/nincada/footprint.1bpp" - - .align 2 -gMonFrontPic_Ninjask:: @ 8DEE1A8 - .incbin "graphics/pokemon/ninjask/front.4bpp.lz" - - .align 2 -gMonPalette_Ninjask:: @ 8DEE518 - .incbin "graphics/pokemon/ninjask/normal.gbapal.lz" - - .align 2 -gMonBackPic_Ninjask:: @ 8DEE540 - .incbin "graphics/pokemon/ninjask/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Ninjask:: @ 8DEE90C - .incbin "graphics/pokemon/ninjask/shiny.gbapal.lz" - - .align 2 -gMonIcon_Ninjask:: @ 8DEE934 - .incbin "graphics/pokemon/ninjask/icon.4bpp" - - .align 2 -gMonFootprint_Ninjask:: @ 8DEED34 - .incbin "graphics/pokemon/ninjask/footprint.1bpp" - - .align 2 -gMonFrontPic_Shedinja:: @ 8DEED54 - .incbin "graphics/pokemon/shedinja/front.4bpp.lz" - - .align 2 -gMonPalette_Shedinja:: @ 8DEF074 - .incbin "graphics/pokemon/shedinja/normal.gbapal.lz" - - .align 2 -gMonBackPic_Shedinja:: @ 8DEF09C - .incbin "graphics/pokemon/shedinja/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Shedinja:: @ 8DEF43C - .incbin "graphics/pokemon/shedinja/shiny.gbapal.lz" - - .align 2 -gMonIcon_Shedinja:: @ 8DEF464 - .incbin "graphics/pokemon/shedinja/icon.4bpp" - - .align 2 -gMonFootprint_Shedinja:: @ 8DEF864 - .incbin "graphics/pokemon/shedinja/footprint.1bpp" - - .align 2 -gMonFrontPic_Taillow:: @ 8DEF884 - .incbin "graphics/pokemon/taillow/front.4bpp.lz" - - .align 2 -gMonPalette_Taillow:: @ 8DEFADC - .incbin "graphics/pokemon/taillow/normal.gbapal.lz" - - .align 2 -gMonBackPic_Taillow:: @ 8DEFB04 - .incbin "graphics/pokemon/taillow/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Taillow:: @ 8DEFD24 - .incbin "graphics/pokemon/taillow/shiny.gbapal.lz" - - .align 2 -gMonIcon_Taillow:: @ 8DEFD4C - .incbin "graphics/pokemon/taillow/icon.4bpp" - - .align 2 -gMonFootprint_Taillow:: @ 8DF014C - .incbin "graphics/pokemon/taillow/footprint.1bpp" - - .align 2 -gMonFrontPic_Swellow:: @ 8DF016C - .incbin "graphics/pokemon/swellow/front.4bpp.lz" - - .align 2 -gMonPalette_Swellow:: @ 8DF0530 - .incbin "graphics/pokemon/swellow/normal.gbapal.lz" - - .align 2 -gMonBackPic_Swellow:: @ 8DF0558 - .incbin "graphics/pokemon/swellow/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Swellow:: @ 8DF0890 - .incbin "graphics/pokemon/swellow/shiny.gbapal.lz" - - .align 2 -gMonIcon_Swellow:: @ 8DF08B8 - .incbin "graphics/pokemon/swellow/icon.4bpp" - - .align 2 -gMonFootprint_Swellow:: @ 8DF0CB8 - .incbin "graphics/pokemon/swellow/footprint.1bpp" - - .align 2 -gMonFrontPic_Shroomish:: @ 8DF0CD8 - .incbin "graphics/pokemon/shroomish/front.4bpp.lz" - - .align 2 -gMonPalette_Shroomish:: @ 8DF0F40 - .incbin "graphics/pokemon/shroomish/normal.gbapal.lz" - - .align 2 -gMonBackPic_Shroomish:: @ 8DF0F68 - .incbin "graphics/pokemon/shroomish/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Shroomish:: @ 8DF1248 - .incbin "graphics/pokemon/shroomish/shiny.gbapal.lz" - - .align 2 -gMonIcon_Shroomish:: @ 8DF1270 - .incbin "graphics/pokemon/shroomish/icon.4bpp" - - .align 2 -gMonFootprint_Shroomish:: @ 8DF1670 - .incbin "graphics/pokemon/shroomish/footprint.1bpp" - - .align 2 -gMonFrontPic_Breloom:: @ 8DF1690 - .incbin "graphics/pokemon/breloom/front.4bpp.lz" - - .align 2 -gMonPalette_Breloom:: @ 8DF1A78 - .incbin "graphics/pokemon/breloom/normal.gbapal.lz" - - .align 2 -gMonBackPic_Breloom:: @ 8DF1AA0 - .incbin "graphics/pokemon/breloom/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Breloom:: @ 8DF1E80 - .incbin "graphics/pokemon/breloom/shiny.gbapal.lz" - - .align 2 -gMonIcon_Breloom:: @ 8DF1EA8 - .incbin "graphics/pokemon/breloom/icon.4bpp" - - .align 2 -gMonFootprint_Breloom:: @ 8DF22A8 - .incbin "graphics/pokemon/breloom/footprint.1bpp" - - .align 2 -gMonFrontPic_Spinda:: @ 8DF22C8 - .incbin "graphics/pokemon/spinda/front.4bpp.lz" - - .align 2 -gMonPalette_Spinda:: @ 8DF25C8 - .incbin "graphics/pokemon/spinda/normal.gbapal.lz" - - .align 2 -gMonBackPic_Spinda:: @ 8DF25F0 - .incbin "graphics/pokemon/spinda/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Spinda:: @ 8DF292C - .incbin "graphics/pokemon/spinda/shiny.gbapal.lz" - - .align 2 -gMonIcon_Spinda:: @ 8DF2954 - .incbin "graphics/pokemon/spinda/icon.4bpp" - - .align 2 -gMonFootprint_Spinda:: @ 8DF2D54 - .incbin "graphics/pokemon/spinda/footprint.1bpp" - - .align 2 -gMonFrontPic_Wingull:: @ 8DF2D74 - .incbin "graphics/pokemon/wingull/front.4bpp.lz" - - .align 2 -gMonPalette_Wingull:: @ 8DF2FB0 - .incbin "graphics/pokemon/wingull/normal.gbapal.lz" - - .align 2 -gMonBackPic_Wingull:: @ 8DF2FD8 - .incbin "graphics/pokemon/wingull/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Wingull:: @ 8DF3328 - .incbin "graphics/pokemon/wingull/shiny.gbapal.lz" - - .align 2 -gMonIcon_Wingull:: @ 8DF3350 - .incbin "graphics/pokemon/wingull/icon.4bpp" - - .align 2 -gMonFootprint_Wingull:: @ 8DF3750 - .incbin "graphics/pokemon/wingull/footprint.1bpp" - - .align 2 -gMonFrontPic_Pelipper:: @ 8DF3770 - .incbin "graphics/pokemon/pelipper/front.4bpp.lz" - - .align 2 -gMonPalette_Pelipper:: @ 8DF3B08 - .incbin "graphics/pokemon/pelipper/normal.gbapal.lz" - - .align 2 -gMonBackPic_Pelipper:: @ 8DF3B30 - .incbin "graphics/pokemon/pelipper/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Pelipper:: @ 8DF3EB0 - .incbin "graphics/pokemon/pelipper/shiny.gbapal.lz" - - .align 2 -gMonIcon_Pelipper:: @ 8DF3ED8 - .incbin "graphics/pokemon/pelipper/icon.4bpp" - - .align 2 -gMonFootprint_Pelipper:: @ 8DF42D8 - .incbin "graphics/pokemon/pelipper/footprint.1bpp" - - .align 2 -gMonFrontPic_Surskit:: @ 8DF42F8 - .incbin "graphics/pokemon/surskit/front.4bpp.lz" - - .align 2 -gMonPalette_Surskit:: @ 8DF4504 - .incbin "graphics/pokemon/surskit/normal.gbapal.lz" - - .align 2 -gMonBackPic_Surskit:: @ 8DF452C - .incbin "graphics/pokemon/surskit/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Surskit:: @ 8DF4764 - .incbin "graphics/pokemon/surskit/shiny.gbapal.lz" - - .align 2 -gMonIcon_Surskit:: @ 8DF478C - .incbin "graphics/pokemon/surskit/icon.4bpp" - - .align 2 -gMonFootprint_Surskit:: @ 8DF4B8C - .incbin "graphics/pokemon/surskit/footprint.1bpp" - - .align 2 -gMonFrontPic_Masquerain:: @ 8DF4BAC - .incbin "graphics/pokemon/masquerain/front.4bpp.lz" - - .align 2 -gMonPalette_Masquerain:: @ 8DF4F48 - .incbin "graphics/pokemon/masquerain/normal.gbapal.lz" - - .align 2 -gMonBackPic_Masquerain:: @ 8DF4F70 - .incbin "graphics/pokemon/masquerain/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Masquerain:: @ 8DF52C8 - .incbin "graphics/pokemon/masquerain/shiny.gbapal.lz" - - .align 2 -gMonIcon_Masquerain:: @ 8DF52F0 - .incbin "graphics/pokemon/masquerain/icon.4bpp" - - .align 2 -gMonFootprint_Masquerain:: @ 8DF56F0 - .incbin "graphics/pokemon/masquerain/footprint.1bpp" - - .align 2 -gMonFrontPic_Wailmer:: @ 8DF5710 - .incbin "graphics/pokemon/wailmer/front.4bpp.lz" - - .align 2 -gMonPalette_Wailmer:: @ 8DF59F0 - .incbin "graphics/pokemon/wailmer/normal.gbapal.lz" - - .align 2 -gMonBackPic_Wailmer:: @ 8DF5A18 - .incbin "graphics/pokemon/wailmer/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Wailmer:: @ 8DF5BFC - .incbin "graphics/pokemon/wailmer/shiny.gbapal.lz" - - .align 2 -gMonIcon_Wailmer:: @ 8DF5C24 - .incbin "graphics/pokemon/wailmer/icon.4bpp" - - .align 2 -gMonFootprint_Wailmer:: @ 8DF6024 - .incbin "graphics/pokemon/wailmer/footprint.1bpp" - - .align 2 -gMonFrontPic_Wailord:: @ 8DF6044 - .incbin "graphics/pokemon/wailord/front.4bpp.lz" - - .align 2 -gMonPalette_Wailord:: @ 8DF6408 - .incbin "graphics/pokemon/wailord/normal.gbapal.lz" - - .align 2 -gMonBackPic_Wailord:: @ 8DF6430 - .incbin "graphics/pokemon/wailord/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Wailord:: @ 8DF6648 - .incbin "graphics/pokemon/wailord/shiny.gbapal.lz" - - .align 2 -gMonIcon_Wailord:: @ 8DF6670 - .incbin "graphics/pokemon/wailord/icon.4bpp" - - .align 2 -gMonFootprint_Wailord:: @ 8DF6A70 - .incbin "graphics/pokemon/wailord/footprint.1bpp" - - .align 2 -gMonFrontPic_Skitty:: @ 8DF6A90 - .incbin "graphics/pokemon/skitty/front.4bpp.lz" - - .align 2 -gMonPalette_Skitty:: @ 8DF6D90 - .incbin "graphics/pokemon/skitty/normal.gbapal.lz" - - .align 2 -gMonBackPic_Skitty:: @ 8DF6DB8 - .incbin "graphics/pokemon/skitty/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Skitty:: @ 8DF7100 - .incbin "graphics/pokemon/skitty/shiny.gbapal.lz" - - .align 2 -gMonIcon_Skitty:: @ 8DF7128 - .incbin "graphics/pokemon/skitty/icon.4bpp" - - .align 2 -gMonFootprint_Skitty:: @ 8DF7528 - .incbin "graphics/pokemon/skitty/footprint.1bpp" - - .align 2 -gMonFrontPic_Delcatty:: @ 8DF7548 - .incbin "graphics/pokemon/delcatty/front.4bpp.lz" - - .align 2 -gMonPalette_Delcatty:: @ 8DF78D4 - .incbin "graphics/pokemon/delcatty/normal.gbapal.lz" - - .align 2 -gMonBackPic_Delcatty:: @ 8DF78FC - .incbin "graphics/pokemon/delcatty/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Delcatty:: @ 8DF7C98 - .incbin "graphics/pokemon/delcatty/shiny.gbapal.lz" - - .align 2 -gMonIcon_Delcatty:: @ 8DF7CC0 - .incbin "graphics/pokemon/delcatty/icon.4bpp" - - .align 2 -gMonFootprint_Delcatty:: @ 8DF80C0 - .incbin "graphics/pokemon/delcatty/footprint.1bpp" - - .align 2 -gMonFrontPic_Kecleon:: @ 8DF80E0 - .incbin "graphics/pokemon/kecleon/front.4bpp.lz" - - .align 2 -gMonPalette_Kecleon:: @ 8DF8460 - .incbin "graphics/pokemon/kecleon/normal.gbapal.lz" - - .align 2 -gMonBackPic_Kecleon:: @ 8DF8488 - .incbin "graphics/pokemon/kecleon/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Kecleon:: @ 8DF8860 - .incbin "graphics/pokemon/kecleon/shiny.gbapal.lz" - - .align 2 -gMonIcon_Kecleon:: @ 8DF8888 - .incbin "graphics/pokemon/kecleon/icon.4bpp" - - .align 2 -gMonFootprint_Kecleon:: @ 8DF8C88 - .incbin "graphics/pokemon/kecleon/footprint.1bpp" - - .align 2 -gMonFrontPic_Baltoy:: @ 8DF8CA8 - .incbin "graphics/pokemon/baltoy/front.4bpp.lz" - - .align 2 -gMonPalette_Baltoy:: @ 8DF8ECC - .incbin "graphics/pokemon/baltoy/normal.gbapal.lz" - - .align 2 -gMonBackPic_Baltoy:: @ 8DF8EEC - .incbin "graphics/pokemon/baltoy/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Baltoy:: @ 8DF9194 - .incbin "graphics/pokemon/baltoy/shiny.gbapal.lz" - - .align 2 -gMonIcon_Baltoy:: @ 8DF91B4 - .incbin "graphics/pokemon/baltoy/icon.4bpp" - - .align 2 -gMonFootprint_Baltoy:: @ 8DF95B4 - .incbin "graphics/pokemon/baltoy/footprint.1bpp" - - .align 2 -gMonFrontPic_Claydol:: @ 8DF95D4 - .incbin "graphics/pokemon/claydol/front.4bpp.lz" - - .align 2 -gMonPalette_Claydol:: @ 8DF998C - .incbin "graphics/pokemon/claydol/normal.gbapal.lz" - - .align 2 -gMonBackPic_Claydol:: @ 8DF99B4 - .incbin "graphics/pokemon/claydol/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Claydol:: @ 8DF9D88 - .incbin "graphics/pokemon/claydol/shiny.gbapal.lz" - - .align 2 -gMonIcon_Claydol:: @ 8DF9DB0 - .incbin "graphics/pokemon/claydol/icon.4bpp" - - .align 2 -gMonFootprint_Claydol:: @ 8DFA1B0 - .incbin "graphics/pokemon/claydol/footprint.1bpp" - - .align 2 -gMonFrontPic_Nosepass:: @ 8DFA1D0 - .incbin "graphics/pokemon/nosepass/front.4bpp.lz" - - .align 2 -gMonPalette_Nosepass:: @ 8DFA49C - .incbin "graphics/pokemon/nosepass/normal.gbapal.lz" - - .align 2 -gMonBackPic_Nosepass:: @ 8DFA4C4 - .incbin "graphics/pokemon/nosepass/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Nosepass:: @ 8DFA764 - .incbin "graphics/pokemon/nosepass/shiny.gbapal.lz" - - .align 2 -gMonIcon_Nosepass:: @ 8DFA78C - .incbin "graphics/pokemon/nosepass/icon.4bpp" - - .align 2 -gMonFootprint_Nosepass:: @ 8DFAB8C - .incbin "graphics/pokemon/nosepass/footprint.1bpp" - - .align 2 -gMonFrontPic_Torkoal:: @ 8DFABAC - .incbin "graphics/pokemon/torkoal/front.4bpp.lz" - - .align 2 -gMonPalette_Torkoal:: @ 8DFB058 - .incbin "graphics/pokemon/torkoal/normal.gbapal.lz" - - .align 2 -gMonBackPic_Torkoal:: @ 8DFB080 - .incbin "graphics/pokemon/torkoal/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Torkoal:: @ 8DFB348 - .incbin "graphics/pokemon/torkoal/shiny.gbapal.lz" - - .align 2 -gMonIcon_Torkoal:: @ 8DFB370 - .incbin "graphics/pokemon/torkoal/icon.4bpp" - - .align 2 -gMonFootprint_Torkoal:: @ 8DFB770 - .incbin "graphics/pokemon/torkoal/footprint.1bpp" - - .align 2 -gMonFrontPic_Sableye:: @ 8DFB790 - .incbin "graphics/pokemon/sableye/front.4bpp.lz" - - .align 2 -gMonPalette_Sableye:: @ 8DFBA64 - .incbin "graphics/pokemon/sableye/normal.gbapal.lz" - - .align 2 -gMonBackPic_Sableye:: @ 8DFBA8C - .incbin "graphics/pokemon/sableye/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Sableye:: @ 8DFBDB4 - .incbin "graphics/pokemon/sableye/shiny.gbapal.lz" - - .align 2 -gMonIcon_Sableye:: @ 8DFBDDC - .incbin "graphics/pokemon/sableye/icon.4bpp" - - .align 2 -gMonFootprint_Sableye:: @ 8DFC1DC - .incbin "graphics/pokemon/sableye/footprint.1bpp" - - .align 2 -gMonFrontPic_Barboach:: @ 8DFC1FC - .incbin "graphics/pokemon/barboach/front.4bpp.lz" - - .align 2 -gMonPalette_Barboach:: @ 8DFC48C - .incbin "graphics/pokemon/barboach/normal.gbapal.lz" - - .align 2 -gMonBackPic_Barboach:: @ 8DFC4B4 - .incbin "graphics/pokemon/barboach/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Barboach:: @ 8DFC744 - .incbin "graphics/pokemon/barboach/shiny.gbapal.lz" - - .align 2 -gMonIcon_Barboach:: @ 8DFC76C - .incbin "graphics/pokemon/barboach/icon.4bpp" - - .align 2 -gMonFootprint_Barboach:: @ 8DFCB6C - .incbin "graphics/pokemon/barboach/footprint.1bpp" - - .align 2 -gMonFrontPic_Whiscash:: @ 8DFCB8C - .incbin "graphics/pokemon/whiscash/front.4bpp.lz" - - .align 2 -gMonPalette_Whiscash:: @ 8DFCF04 - .incbin "graphics/pokemon/whiscash/normal.gbapal.lz" - - .align 2 -gMonBackPic_Whiscash:: @ 8DFCF2C - .incbin "graphics/pokemon/whiscash/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Whiscash:: @ 8DFD278 - .incbin "graphics/pokemon/whiscash/shiny.gbapal.lz" - - .align 2 -gMonIcon_Whiscash:: @ 8DFD2A0 - .incbin "graphics/pokemon/whiscash/icon.4bpp" - - .align 2 -gMonFootprint_Whiscash:: @ 8DFD6A0 - .incbin "graphics/pokemon/whiscash/footprint.1bpp" - - .align 2 -gMonFrontPic_Luvdisc:: @ 8DFD6C0 - .incbin "graphics/pokemon/luvdisc/front.4bpp.lz" - - .align 2 -gMonPalette_Luvdisc:: @ 8DFD880 - .incbin "graphics/pokemon/luvdisc/normal.gbapal.lz" - - .align 2 -gMonBackPic_Luvdisc:: @ 8DFD8A4 - .incbin "graphics/pokemon/luvdisc/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Luvdisc:: @ 8DFDA78 - .incbin "graphics/pokemon/luvdisc/shiny.gbapal.lz" - - .align 2 -gMonIcon_Luvdisc:: @ 8DFDA9C - .incbin "graphics/pokemon/luvdisc/icon.4bpp" - - .align 2 -gMonFootprint_Luvdisc:: @ 8DFDE9C - .incbin "graphics/pokemon/luvdisc/footprint.1bpp" - - .align 2 -gMonFrontPic_Corphish:: @ 8DFDEBC - .incbin "graphics/pokemon/corphish/front.4bpp.lz" - - .align 2 -gMonPalette_Corphish:: @ 8DFE218 - .incbin "graphics/pokemon/corphish/normal.gbapal.lz" - - .align 2 -gMonBackPic_Corphish:: @ 8DFE240 - .incbin "graphics/pokemon/corphish/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Corphish:: @ 8DFE55C - .incbin "graphics/pokemon/corphish/shiny.gbapal.lz" - - .align 2 -gMonIcon_Corphish:: @ 8DFE584 - .incbin "graphics/pokemon/corphish/icon.4bpp" - - .align 2 -gMonFootprint_Corphish:: @ 8DFE984 - .incbin "graphics/pokemon/corphish/footprint.1bpp" - - .align 2 -gMonFrontPic_Crawdaunt:: @ 8DFE9A4 - .incbin "graphics/pokemon/crawdaunt/front.4bpp.lz" - - .align 2 -gMonPalette_Crawdaunt:: @ 8DFEE34 - .incbin "graphics/pokemon/crawdaunt/normal.gbapal.lz" - - .align 2 -gMonBackPic_Crawdaunt:: @ 8DFEE5C - .incbin "graphics/pokemon/crawdaunt/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Crawdaunt:: @ 8DFF240 - .incbin "graphics/pokemon/crawdaunt/shiny.gbapal.lz" - - .align 2 -gMonIcon_Crawdaunt:: @ 8DFF268 - .incbin "graphics/pokemon/crawdaunt/icon.4bpp" - - .align 2 -gMonFootprint_Crawdaunt:: @ 8DFF668 - .incbin "graphics/pokemon/crawdaunt/footprint.1bpp" - - .align 2 -gMonFrontPic_Feebas:: @ 8DFF688 - .incbin "graphics/pokemon/feebas/front.4bpp.lz" - - .align 2 -gMonPalette_Feebas:: @ 8DFF914 - .incbin "graphics/pokemon/feebas/normal.gbapal.lz" - - .align 2 -gMonBackPic_Feebas:: @ 8DFF93C - .incbin "graphics/pokemon/feebas/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Feebas:: @ 8DFFC74 - .incbin "graphics/pokemon/feebas/shiny.gbapal.lz" - - .align 2 -gMonIcon_Feebas:: @ 8DFFC9C - .incbin "graphics/pokemon/feebas/icon.4bpp" - - .align 2 -gMonFootprint_Feebas:: @ 8E0009C - .incbin "graphics/pokemon/feebas/footprint.1bpp" - - .align 2 -gMonFrontPic_Milotic:: @ 8E000BC - .incbin "graphics/pokemon/milotic/front.4bpp.lz" - - .align 2 -gMonPalette_Milotic:: @ 8E0054C - .incbin "graphics/pokemon/milotic/normal.gbapal.lz" - - .align 2 -gMonBackPic_Milotic:: @ 8E00574 - .incbin "graphics/pokemon/milotic/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Milotic:: @ 8E00868 - .incbin "graphics/pokemon/milotic/shiny.gbapal.lz" - - .align 2 -gMonIcon_Milotic:: @ 8E00890 - .incbin "graphics/pokemon/milotic/icon.4bpp" - - .align 2 -gMonFootprint_Milotic:: @ 8E00C90 - .incbin "graphics/pokemon/milotic/footprint.1bpp" - - .align 2 -gMonFrontPic_Carvanha:: @ 8E00CB0 - .incbin "graphics/pokemon/carvanha/front.4bpp.lz" - - .align 2 -gMonPalette_Carvanha:: @ 8E00FDC - .incbin "graphics/pokemon/carvanha/normal.gbapal.lz" - - .align 2 -gMonBackPic_Carvanha:: @ 8E01004 - .incbin "graphics/pokemon/carvanha/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Carvanha:: @ 8E01314 - .incbin "graphics/pokemon/carvanha/shiny.gbapal.lz" - - .align 2 -gMonIcon_Carvanha:: @ 8E0133C - .incbin "graphics/pokemon/carvanha/icon.4bpp" - - .align 2 -gMonFootprint_Carvanha:: @ 8E0173C - .incbin "graphics/pokemon/carvanha/footprint.1bpp" - - .align 2 -gMonFrontPic_Sharpedo:: @ 8E0175C - .incbin "graphics/pokemon/sharpedo/front.4bpp.lz" - - .align 2 -gMonPalette_Sharpedo:: @ 8E01AEC - .incbin "graphics/pokemon/sharpedo/normal.gbapal.lz" - - .align 2 -gMonBackPic_Sharpedo:: @ 8E01B14 - .incbin "graphics/pokemon/sharpedo/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Sharpedo:: @ 8E01E6C - .incbin "graphics/pokemon/sharpedo/shiny.gbapal.lz" - - .align 2 -gMonIcon_Sharpedo:: @ 8E01E94 - .incbin "graphics/pokemon/sharpedo/icon.4bpp" - - .align 2 -gMonFootprint_Sharpedo:: @ 8E02294 - .incbin "graphics/pokemon/sharpedo/footprint.1bpp" - - .align 2 -gMonFrontPic_Trapinch:: @ 8E022B4 - .incbin "graphics/pokemon/trapinch/front.4bpp.lz" - - .align 2 -gMonPalette_Trapinch:: @ 8E024D0 - .incbin "graphics/pokemon/trapinch/normal.gbapal.lz" - - .align 2 -gMonBackPic_Trapinch:: @ 8E024F8 - .incbin "graphics/pokemon/trapinch/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Trapinch:: @ 8E02718 - .incbin "graphics/pokemon/trapinch/shiny.gbapal.lz" - - .align 2 -gMonIcon_Trapinch:: @ 8E02740 - .incbin "graphics/pokemon/trapinch/icon.4bpp" - - .align 2 -gMonFootprint_Trapinch:: @ 8E02B40 - .incbin "graphics/pokemon/trapinch/footprint.1bpp" - - .align 2 -gMonFrontPic_Vibrava:: @ 8E02B60 - .incbin "graphics/pokemon/vibrava/front.4bpp.lz" - - .align 2 -gMonPalette_Vibrava:: @ 8E02ED0 - .incbin "graphics/pokemon/vibrava/normal.gbapal.lz" - - .align 2 -gMonBackPic_Vibrava:: @ 8E02EF8 - .incbin "graphics/pokemon/vibrava/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Vibrava:: @ 8E03170 - .incbin "graphics/pokemon/vibrava/shiny.gbapal.lz" - - .align 2 -gMonIcon_Vibrava:: @ 8E03198 - .incbin "graphics/pokemon/vibrava/icon.4bpp" - - .align 2 -gMonFootprint_Vibrava:: @ 8E03598 - .incbin "graphics/pokemon/vibrava/footprint.1bpp" - - .align 2 -gMonFrontPic_Flygon:: @ 8E035B8 - .incbin "graphics/pokemon/flygon/front.4bpp.lz" - - .align 2 -gMonPalette_Flygon:: @ 8E03AA8 - .incbin "graphics/pokemon/flygon/normal.gbapal.lz" - - .align 2 -gMonBackPic_Flygon:: @ 8E03AD0 - .incbin "graphics/pokemon/flygon/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Flygon:: @ 8E03F0C - .incbin "graphics/pokemon/flygon/shiny.gbapal.lz" - - .align 2 -gMonIcon_Flygon:: @ 8E03F34 - .incbin "graphics/pokemon/flygon/icon.4bpp" - - .align 2 -gMonFootprint_Flygon:: @ 8E04334 - .incbin "graphics/pokemon/flygon/footprint.1bpp" - - .align 2 -gMonFrontPic_Makuhita:: @ 8E04354 - .incbin "graphics/pokemon/makuhita/front.4bpp.lz" - - .align 2 -gMonPalette_Makuhita:: @ 8E0466C - .incbin "graphics/pokemon/makuhita/normal.gbapal.lz" - - .align 2 -gMonBackPic_Makuhita:: @ 8E04694 - .incbin "graphics/pokemon/makuhita/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Makuhita:: @ 8E04984 - .incbin "graphics/pokemon/makuhita/shiny.gbapal.lz" - - .align 2 -gMonIcon_Makuhita:: @ 8E049A8 - .incbin "graphics/pokemon/makuhita/icon.4bpp" - - .align 2 -gMonFootprint_Makuhita:: @ 8E04DA8 - .incbin "graphics/pokemon/makuhita/footprint.1bpp" - - .align 2 -gMonFrontPic_Hariyama:: @ 8E04DC8 - .incbin "graphics/pokemon/hariyama/front.4bpp.lz" - - .align 2 -gMonPalette_Hariyama:: @ 8E05278 - .incbin "graphics/pokemon/hariyama/normal.gbapal.lz" - - .align 2 -gMonBackPic_Hariyama:: @ 8E052A0 - .incbin "graphics/pokemon/hariyama/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Hariyama:: @ 8E05680 - .incbin "graphics/pokemon/hariyama/shiny.gbapal.lz" - - .align 2 -gMonIcon_Hariyama:: @ 8E056A8 - .incbin "graphics/pokemon/hariyama/icon.4bpp" - - .align 2 -gMonFootprint_Hariyama:: @ 8E05AA8 - .incbin "graphics/pokemon/hariyama/footprint.1bpp" - - .align 2 -gMonFrontPic_Electrike:: @ 8E05AC8 - .incbin "graphics/pokemon/electrike/front.4bpp.lz" - - .align 2 -gMonPalette_Electrike:: @ 8E05D58 - .incbin "graphics/pokemon/electrike/normal.gbapal.lz" - - .align 2 -gMonBackPic_Electrike:: @ 8E05D80 - .incbin "graphics/pokemon/electrike/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Electrike:: @ 8E0600C - .incbin "graphics/pokemon/electrike/shiny.gbapal.lz" - - .align 2 -gMonIcon_Electrike:: @ 8E06034 - .incbin "graphics/pokemon/electrike/icon.4bpp" - - .align 2 -gMonFootprint_Electrike:: @ 8E06434 - .incbin "graphics/pokemon/electrike/footprint.1bpp" - - .align 2 -gMonFrontPic_Manectric:: @ 8E06454 - .incbin "graphics/pokemon/manectric/front.4bpp.lz" - - .align 2 -gMonPalette_Manectric:: @ 8E06784 - .incbin "graphics/pokemon/manectric/normal.gbapal.lz" - - .align 2 -gMonBackPic_Manectric:: @ 8E067AC - .incbin "graphics/pokemon/manectric/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Manectric:: @ 8E069D8 - .incbin "graphics/pokemon/manectric/shiny.gbapal.lz" - - .align 2 -gMonIcon_Manectric:: @ 8E06A00 - .incbin "graphics/pokemon/manectric/icon.4bpp" - - .align 2 -gMonFootprint_Manectric:: @ 8E06E00 - .incbin "graphics/pokemon/manectric/footprint.1bpp" - - .align 2 -gMonFrontPic_Numel:: @ 8E06E20 - .incbin "graphics/pokemon/numel/front.4bpp.lz" - - .align 2 -gMonPalette_Numel:: @ 8E070F0 - .incbin "graphics/pokemon/numel/normal.gbapal.lz" - - .align 2 -gMonBackPic_Numel:: @ 8E07118 - .incbin "graphics/pokemon/numel/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Numel:: @ 8E073D4 - .incbin "graphics/pokemon/numel/shiny.gbapal.lz" - - .align 2 -gMonIcon_Numel:: @ 8E073FC - .incbin "graphics/pokemon/numel/icon.4bpp" - - .align 2 -gMonFootprint_Numel:: @ 8E077FC - .incbin "graphics/pokemon/numel/footprint.1bpp" - - .align 2 -gMonFrontPic_Camerupt:: @ 8E0781C - .incbin "graphics/pokemon/camerupt/front.4bpp.lz" - - .align 2 -gMonPalette_Camerupt:: @ 8E07C34 - .incbin "graphics/pokemon/camerupt/normal.gbapal.lz" - - .align 2 -gMonBackPic_Camerupt:: @ 8E07C5C - .incbin "graphics/pokemon/camerupt/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Camerupt:: @ 8E07F20 - .incbin "graphics/pokemon/camerupt/shiny.gbapal.lz" - - .align 2 -gMonIcon_Camerupt:: @ 8E07F48 - .incbin "graphics/pokemon/camerupt/icon.4bpp" - - .align 2 -gMonFootprint_Camerupt:: @ 8E08348 - .incbin "graphics/pokemon/camerupt/footprint.1bpp" - - .align 2 -gMonFrontPic_Spheal:: @ 8E08368 - .incbin "graphics/pokemon/spheal/front.4bpp.lz" - - .align 2 -gMonPalette_Spheal:: @ 8E085DC - .incbin "graphics/pokemon/spheal/normal.gbapal.lz" - - .align 2 -gMonBackPic_Spheal:: @ 8E08604 - .incbin "graphics/pokemon/spheal/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Spheal:: @ 8E08800 - .incbin "graphics/pokemon/spheal/shiny.gbapal.lz" - - .align 2 -gMonIcon_Spheal:: @ 8E08828 - .incbin "graphics/pokemon/spheal/icon.4bpp" - - .align 2 -gMonFootprint_Spheal:: @ 8E08C28 - .incbin "graphics/pokemon/spheal/footprint.1bpp" - - .align 2 -gMonFrontPic_Sealeo:: @ 8E08C48 - .incbin "graphics/pokemon/sealeo/front.4bpp.lz" - - .align 2 -gMonPalette_Sealeo:: @ 8E08FC8 - .incbin "graphics/pokemon/sealeo/normal.gbapal.lz" - - .align 2 -gMonBackPic_Sealeo:: @ 8E08FF0 - .incbin "graphics/pokemon/sealeo/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Sealeo:: @ 8E0926C - .incbin "graphics/pokemon/sealeo/shiny.gbapal.lz" - - .align 2 -gMonIcon_Sealeo:: @ 8E09294 - .incbin "graphics/pokemon/sealeo/icon.4bpp" - - .align 2 -gMonFootprint_Sealeo:: @ 8E09694 - .incbin "graphics/pokemon/sealeo/footprint.1bpp" - - .align 2 -gMonFrontPic_Walrein:: @ 8E096B4 - .incbin "graphics/pokemon/walrein/front.4bpp.lz" - - .align 2 -gMonPalette_Walrein:: @ 8E09B54 - .incbin "graphics/pokemon/walrein/normal.gbapal.lz" - - .align 2 -gMonBackPic_Walrein:: @ 8E09B7C - .incbin "graphics/pokemon/walrein/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Walrein:: @ 8E09F04 - .incbin "graphics/pokemon/walrein/shiny.gbapal.lz" - - .align 2 -gMonIcon_Walrein:: @ 8E09F2C - .incbin "graphics/pokemon/walrein/icon.4bpp" - - .align 2 -gMonFootprint_Walrein:: @ 8E0A32C - .incbin "graphics/pokemon/walrein/footprint.1bpp" - - .align 2 -gMonFrontPic_Cacnea:: @ 8E0A34C - .incbin "graphics/pokemon/cacnea/front.4bpp.lz" - - .align 2 -gMonPalette_Cacnea:: @ 8E0A65C - .incbin "graphics/pokemon/cacnea/normal.gbapal.lz" - - .align 2 -gMonBackPic_Cacnea:: @ 8E0A684 - .incbin "graphics/pokemon/cacnea/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Cacnea:: @ 8E0A9E4 - .incbin "graphics/pokemon/cacnea/shiny.gbapal.lz" - - .align 2 -gMonIcon_Cacnea:: @ 8E0AA0C - .incbin "graphics/pokemon/cacnea/icon.4bpp" - - .align 2 -gMonFootprint_Cacnea:: @ 8E0AE0C - .incbin "graphics/pokemon/cacnea/footprint.1bpp" - - .align 2 -gMonFrontPic_Cacturne:: @ 8E0AE2C - .incbin "graphics/pokemon/cacturne/front.4bpp.lz" - - .align 2 -gMonPalette_Cacturne:: @ 8E0B264 - .incbin "graphics/pokemon/cacturne/normal.gbapal.lz" - - .align 2 -gMonBackPic_Cacturne:: @ 8E0B28C - .incbin "graphics/pokemon/cacturne/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Cacturne:: @ 8E0B58C - .incbin "graphics/pokemon/cacturne/shiny.gbapal.lz" - - .align 2 -gMonIcon_Cacturne:: @ 8E0B5B4 - .incbin "graphics/pokemon/cacturne/icon.4bpp" - - .align 2 -gMonFootprint_Cacturne:: @ 8E0B9B4 - .incbin "graphics/pokemon/cacturne/footprint.1bpp" - - .align 2 -gMonFrontPic_Snorunt:: @ 8E0B9D4 - .incbin "graphics/pokemon/snorunt/front.4bpp.lz" - - .align 2 -gMonPalette_Snorunt:: @ 8E0BC98 - .incbin "graphics/pokemon/snorunt/normal.gbapal.lz" - - .align 2 -gMonBackPic_Snorunt:: @ 8E0BCC0 - .incbin "graphics/pokemon/snorunt/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Snorunt:: @ 8E0BFA4 - .incbin "graphics/pokemon/snorunt/shiny.gbapal.lz" - - .align 2 -gMonIcon_Snorunt:: @ 8E0BFCC - .incbin "graphics/pokemon/snorunt/icon.4bpp" - - .align 2 -gMonFootprint_Snorunt:: @ 8E0C3CC - .incbin "graphics/pokemon/snorunt/footprint.1bpp" - - .align 2 -gMonFrontPic_Glalie:: @ 8E0C3EC - .incbin "graphics/pokemon/glalie/front.4bpp.lz" - - .align 2 -gMonPalette_Glalie:: @ 8E0C7B4 - .incbin "graphics/pokemon/glalie/normal.gbapal.lz" - - .align 2 -gMonBackPic_Glalie:: @ 8E0C7DC - .incbin "graphics/pokemon/glalie/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Glalie:: @ 8E0CB8C - .incbin "graphics/pokemon/glalie/shiny.gbapal.lz" - - .align 2 -gMonIcon_Glalie:: @ 8E0CBB4 - .incbin "graphics/pokemon/glalie/icon.4bpp" - - .align 2 -gMonFootprint_Glalie:: @ 8E0CFB4 - .incbin "graphics/pokemon/glalie/footprint.1bpp" - - .align 2 -gMonFrontPic_Lunatone:: @ 8E0CFD4 - .incbin "graphics/pokemon/lunatone/front.4bpp.lz" - - .align 2 -gMonPalette_Lunatone:: @ 8E0D2FC - .incbin "graphics/pokemon/lunatone/normal.gbapal.lz" - - .align 2 -gMonBackPic_Lunatone:: @ 8E0D324 - .incbin "graphics/pokemon/lunatone/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Lunatone:: @ 8E0D67C - .incbin "graphics/pokemon/lunatone/shiny.gbapal.lz" - - .align 2 -gMonIcon_Lunatone:: @ 8E0D6A4 - .incbin "graphics/pokemon/lunatone/icon.4bpp" - - .align 2 -gMonFootprint_Lunatone:: @ 8E0DAA4 - .incbin "graphics/pokemon/lunatone/footprint.1bpp" - - .align 2 -gMonFrontPic_Solrock:: @ 8E0DAC4 - .incbin "graphics/pokemon/solrock/front.4bpp.lz" - - .align 2 -gMonPalette_Solrock:: @ 8E0DF10 - .incbin "graphics/pokemon/solrock/normal.gbapal.lz" - - .align 2 -gMonBackPic_Solrock:: @ 8E0DF38 - .incbin "graphics/pokemon/solrock/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Solrock:: @ 8E0E324 - .incbin "graphics/pokemon/solrock/shiny.gbapal.lz" - - .align 2 -gMonIcon_Solrock:: @ 8E0E34C - .incbin "graphics/pokemon/solrock/icon.4bpp" - - .align 2 -gMonFootprint_Solrock:: @ 8E0E74C - .incbin "graphics/pokemon/solrock/footprint.1bpp" - - .align 2 -gMonFrontPic_Azurill:: @ 8E0E76C - .incbin "graphics/pokemon/azurill/front.4bpp.lz" - - .align 2 -gMonPalette_Azurill:: @ 8E0EA34 - .incbin "graphics/pokemon/azurill/normal.gbapal.lz" - - .align 2 -gMonBackPic_Azurill:: @ 8E0EA5C - .incbin "graphics/pokemon/azurill/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Azurill:: @ 8E0ED74 - .incbin "graphics/pokemon/azurill/shiny.gbapal.lz" - - .align 2 -gMonIcon_Azurill:: @ 8E0ED9C - .incbin "graphics/pokemon/azurill/icon.4bpp" - - .align 2 -gMonFootprint_Azurill:: @ 8E0F19C - .incbin "graphics/pokemon/azurill/footprint.1bpp" - - .align 2 -gMonFrontPic_Spoink:: @ 8E0F1BC - .incbin "graphics/pokemon/spoink/front.4bpp.lz" - - .align 2 -gMonPalette_Spoink:: @ 8E0F428 - .incbin "graphics/pokemon/spoink/normal.gbapal.lz" - - .align 2 -gMonBackPic_Spoink:: @ 8E0F450 - .incbin "graphics/pokemon/spoink/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Spoink:: @ 8E0F690 - .incbin "graphics/pokemon/spoink/shiny.gbapal.lz" - - .align 2 -gMonIcon_Spoink:: @ 8E0F6B8 - .incbin "graphics/pokemon/spoink/icon.4bpp" - - .align 2 -gMonFootprint_Spoink:: @ 8E0FAB8 - .incbin "graphics/pokemon/spoink/footprint.1bpp" - - .align 2 -gMonFrontPic_Grumpig:: @ 8E0FAD8 - .incbin "graphics/pokemon/grumpig/front.4bpp.lz" - - .align 2 -gMonPalette_Grumpig:: @ 8E0FE94 - .incbin "graphics/pokemon/grumpig/normal.gbapal.lz" - - .align 2 -gMonBackPic_Grumpig:: @ 8E0FEBC - .incbin "graphics/pokemon/grumpig/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Grumpig:: @ 8E1021C - .incbin "graphics/pokemon/grumpig/shiny.gbapal.lz" - - .align 2 -gMonIcon_Grumpig:: @ 8E10244 - .incbin "graphics/pokemon/grumpig/icon.4bpp" - - .align 2 -gMonFootprint_Grumpig:: @ 8E10644 - .incbin "graphics/pokemon/grumpig/footprint.1bpp" - - .align 2 -gMonFrontPic_Plusle:: @ 8E10664 - .incbin "graphics/pokemon/plusle/front.4bpp.lz" - - .align 2 -gMonPalette_Plusle:: @ 8E108F0 - .incbin "graphics/pokemon/plusle/normal.gbapal.lz" - - .align 2 -gMonBackPic_Plusle:: @ 8E10918 - .incbin "graphics/pokemon/plusle/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Plusle:: @ 8E10BD0 - .incbin "graphics/pokemon/plusle/shiny.gbapal.lz" - - .align 2 -gMonIcon_Plusle:: @ 8E10BF8 - .incbin "graphics/pokemon/plusle/icon.4bpp" - - .align 2 -gMonFootprint_Plusle:: @ 8E10FF8 - .incbin "graphics/pokemon/plusle/footprint.1bpp" - - .align 2 -gMonFrontPic_Minun:: @ 8E11018 - .incbin "graphics/pokemon/minun/front.4bpp.lz" - - .align 2 -gMonPalette_Minun:: @ 8E11280 - .incbin "graphics/pokemon/minun/normal.gbapal.lz" - - .align 2 -gMonBackPic_Minun:: @ 8E112A8 - .incbin "graphics/pokemon/minun/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Minun:: @ 8E11570 - .incbin "graphics/pokemon/minun/shiny.gbapal.lz" - - .align 2 -gMonIcon_Minun:: @ 8E11598 - .incbin "graphics/pokemon/minun/icon.4bpp" - - .align 2 -gMonFootprint_Minun:: @ 8E11998 - .incbin "graphics/pokemon/minun/footprint.1bpp" - - .align 2 -gMonFrontPic_Mawile:: @ 8E119B8 - .incbin "graphics/pokemon/mawile/front.4bpp.lz" - - .align 2 -gMonPalette_Mawile:: @ 8E11D74 - .incbin "graphics/pokemon/mawile/normal.gbapal.lz" - - .align 2 -gMonBackPic_Mawile:: @ 8E11D9C - .incbin "graphics/pokemon/mawile/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Mawile:: @ 8E1219C - .incbin "graphics/pokemon/mawile/shiny.gbapal.lz" - - .align 2 -gMonIcon_Mawile:: @ 8E121C4 - .incbin "graphics/pokemon/mawile/icon.4bpp" - - .align 2 -gMonFootprint_Mawile:: @ 8E125C4 - .incbin "graphics/pokemon/mawile/footprint.1bpp" - - .align 2 -gMonFrontPic_Meditite:: @ 8E125E4 - .incbin "graphics/pokemon/meditite/front.4bpp.lz" - - .align 2 -gMonPalette_Meditite:: @ 8E1289C - .incbin "graphics/pokemon/meditite/normal.gbapal.lz" - - .align 2 -gMonBackPic_Meditite:: @ 8E128C4 - .incbin "graphics/pokemon/meditite/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Meditite:: @ 8E12B8C - .incbin "graphics/pokemon/meditite/shiny.gbapal.lz" - - .align 2 -gMonIcon_Meditite:: @ 8E12BB0 - .incbin "graphics/pokemon/meditite/icon.4bpp" - - .align 2 -gMonFootprint_Meditite:: @ 8E12FB0 - .incbin "graphics/pokemon/meditite/footprint.1bpp" - - .align 2 -gMonFrontPic_Medicham:: @ 8E12FD0 - .incbin "graphics/pokemon/medicham/front.4bpp.lz" - - .align 2 -gMonPalette_Medicham:: @ 8E13300 - .incbin "graphics/pokemon/medicham/normal.gbapal.lz" - - .align 2 -gMonBackPic_Medicham:: @ 8E13328 - .incbin "graphics/pokemon/medicham/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Medicham:: @ 8E13660 - .incbin "graphics/pokemon/medicham/shiny.gbapal.lz" - - .align 2 -gMonIcon_Medicham:: @ 8E13688 - .incbin "graphics/pokemon/medicham/icon.4bpp" - - .align 2 -gMonFootprint_Medicham:: @ 8E13A88 - .incbin "graphics/pokemon/medicham/footprint.1bpp" - - .align 2 -gMonFrontPic_Swablu:: @ 8E13AA8 - .incbin "graphics/pokemon/swablu/front.4bpp.lz" - - .align 2 -gMonPalette_Swablu:: @ 8E13D80 - .incbin "graphics/pokemon/swablu/normal.gbapal.lz" - - .align 2 -gMonBackPic_Swablu:: @ 8E13DA8 - .incbin "graphics/pokemon/swablu/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Swablu:: @ 8E14160 - .incbin "graphics/pokemon/swablu/shiny.gbapal.lz" - - .align 2 -gMonIcon_Swablu:: @ 8E14188 - .incbin "graphics/pokemon/swablu/icon.4bpp" - - .align 2 -gMonFootprint_Swablu:: @ 8E14588 - .incbin "graphics/pokemon/swablu/footprint.1bpp" - - .align 2 -gMonFrontPic_Altaria:: @ 8E145A8 - .incbin "graphics/pokemon/altaria/front.4bpp.lz" - - .align 2 -gMonPalette_Altaria:: @ 8E14984 - .incbin "graphics/pokemon/altaria/normal.gbapal.lz" - - .align 2 -gMonBackPic_Altaria:: @ 8E149AC - .incbin "graphics/pokemon/altaria/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Altaria:: @ 8E14D24 - .incbin "graphics/pokemon/altaria/shiny.gbapal.lz" - - .align 2 -gMonIcon_Altaria:: @ 8E14D4C - .incbin "graphics/pokemon/altaria/icon.4bpp" - - .align 2 -gMonFootprint_Altaria:: @ 8E1514C - .incbin "graphics/pokemon/altaria/footprint.1bpp" - - .align 2 -gMonFrontPic_Wynaut:: @ 8E1516C - .incbin "graphics/pokemon/wynaut/front.4bpp.lz" - - .align 2 -gMonPalette_Wynaut:: @ 8E15404 - .incbin "graphics/pokemon/wynaut/normal.gbapal.lz" - - .align 2 -gMonBackPic_Wynaut:: @ 8E1542C - .incbin "graphics/pokemon/wynaut/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Wynaut:: @ 8E156BC - .incbin "graphics/pokemon/wynaut/shiny.gbapal.lz" - - .align 2 -gMonIcon_Wynaut:: @ 8E156E4 - .incbin "graphics/pokemon/wynaut/icon.4bpp" - - .align 2 -gMonFootprint_Wynaut:: @ 8E15AE4 - .incbin "graphics/pokemon/wynaut/footprint.1bpp" - - .align 2 -gMonFrontPic_Duskull:: @ 8E15B04 - .incbin "graphics/pokemon/duskull/front.4bpp.lz" - - .align 2 -gMonPalette_Duskull:: @ 8E15DF4 - .incbin "graphics/pokemon/duskull/normal.gbapal.lz" - - .align 2 -gMonBackPic_Duskull:: @ 8E15E1C - .incbin "graphics/pokemon/duskull/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Duskull:: @ 8E160CC - .incbin "graphics/pokemon/duskull/shiny.gbapal.lz" - - .align 2 -gMonIcon_Duskull:: @ 8E160F4 - .incbin "graphics/pokemon/duskull/icon.4bpp" - - .align 2 -gMonFootprint_Duskull:: @ 8E164F4 - .incbin "graphics/pokemon/duskull/footprint.1bpp" - - .align 2 -gMonFrontPic_Dusclops:: @ 8E16514 - .incbin "graphics/pokemon/dusclops/front.4bpp.lz" - - .align 2 -gMonPalette_Dusclops:: @ 8E168B4 - .incbin "graphics/pokemon/dusclops/normal.gbapal.lz" - - .align 2 -gMonBackPic_Dusclops:: @ 8E168DC - .incbin "graphics/pokemon/dusclops/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Dusclops:: @ 8E16BC8 - .incbin "graphics/pokemon/dusclops/shiny.gbapal.lz" - - .align 2 -gMonIcon_Dusclops:: @ 8E16BF0 - .incbin "graphics/pokemon/dusclops/icon.4bpp" - - .align 2 -gMonFootprint_Dusclops:: @ 8E16FF0 - .incbin "graphics/pokemon/dusclops/footprint.1bpp" - - .align 2 -gMonFrontPic_Roselia:: @ 8E17010 - .incbin "graphics/pokemon/roselia/front.4bpp.lz" - - .align 2 -gMonPalette_Roselia:: @ 8E1737C - .incbin "graphics/pokemon/roselia/normal.gbapal.lz" - - .align 2 -gMonBackPic_Roselia:: @ 8E173A4 - .incbin "graphics/pokemon/roselia/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Roselia:: @ 8E1776C - .incbin "graphics/pokemon/roselia/shiny.gbapal.lz" - - .align 2 -gMonIcon_Roselia:: @ 8E17794 - .incbin "graphics/pokemon/roselia/icon.4bpp" - - .align 2 -gMonFootprint_Roselia:: @ 8E17B94 - .incbin "graphics/pokemon/roselia/footprint.1bpp" - - .align 2 -gMonFrontPic_Slakoth:: @ 8E17BB4 - .incbin "graphics/pokemon/slakoth/front.4bpp.lz" - - .align 2 -gMonPalette_Slakoth:: @ 8E17E9C - .incbin "graphics/pokemon/slakoth/normal.gbapal.lz" - - .align 2 -gMonBackPic_Slakoth:: @ 8E17EC4 - .incbin "graphics/pokemon/slakoth/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Slakoth:: @ 8E181AC - .incbin "graphics/pokemon/slakoth/shiny.gbapal.lz" - - .align 2 -gMonIcon_Slakoth:: @ 8E181D4 - .incbin "graphics/pokemon/slakoth/icon.4bpp" - - .align 2 -gMonFootprint_Slakoth:: @ 8E185D4 - .incbin "graphics/pokemon/slakoth/footprint.1bpp" - - .align 2 -gMonFrontPic_Vigoroth:: @ 8E185F4 - .incbin "graphics/pokemon/vigoroth/front.4bpp.lz" - - .align 2 -gMonPalette_Vigoroth:: @ 8E189F0 - .incbin "graphics/pokemon/vigoroth/normal.gbapal.lz" - - .align 2 -gMonBackPic_Vigoroth:: @ 8E18A18 - .incbin "graphics/pokemon/vigoroth/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Vigoroth:: @ 8E18CE0 - .incbin "graphics/pokemon/vigoroth/shiny.gbapal.lz" - - .align 2 -gMonIcon_Vigoroth:: @ 8E18D08 - .incbin "graphics/pokemon/vigoroth/icon.4bpp" - - .align 2 -gMonFootprint_Vigoroth:: @ 8E19108 - .incbin "graphics/pokemon/vigoroth/footprint.1bpp" - - .align 2 -gMonFrontPic_Slaking:: @ 8E19128 - .incbin "graphics/pokemon/slaking/front.4bpp.lz" - - .align 2 -gMonPalette_Slaking:: @ 8E195FC - .incbin "graphics/pokemon/slaking/normal.gbapal.lz" - - .align 2 -gMonBackPic_Slaking:: @ 8E19624 - .incbin "graphics/pokemon/slaking/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Slaking:: @ 8E199E8 - .incbin "graphics/pokemon/slaking/shiny.gbapal.lz" - - .align 2 -gMonIcon_Slaking:: @ 8E19A10 - .incbin "graphics/pokemon/slaking/icon.4bpp" - - .align 2 -gMonFootprint_Slaking:: @ 8E19E10 - .incbin "graphics/pokemon/slaking/footprint.1bpp" - - .align 2 -gMonFrontPic_Gulpin:: @ 8E19E30 - .incbin "graphics/pokemon/gulpin/front.4bpp.lz" - - .align 2 -gMonPalette_Gulpin:: @ 8E1A048 - .incbin "graphics/pokemon/gulpin/normal.gbapal.lz" - - .align 2 -gMonBackPic_Gulpin:: @ 8E1A070 - .incbin "graphics/pokemon/gulpin/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Gulpin:: @ 8E1A2F4 - .incbin "graphics/pokemon/gulpin/shiny.gbapal.lz" - - .align 2 -gMonIcon_Gulpin:: @ 8E1A31C - .incbin "graphics/pokemon/gulpin/icon.4bpp" - - .align 2 -gMonFootprint_Gulpin:: @ 8E1A71C - .incbin "graphics/pokemon/gulpin/footprint.1bpp" - - .align 2 -gMonFrontPic_Swalot:: @ 8E1A73C - .incbin "graphics/pokemon/swalot/front.4bpp.lz" - - .align 2 -gMonPalette_Swalot:: @ 8E1AA80 - .incbin "graphics/pokemon/swalot/normal.gbapal.lz" - - .align 2 -gMonBackPic_Swalot:: @ 8E1AAA8 - .incbin "graphics/pokemon/swalot/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Swalot:: @ 8E1ADF0 - .incbin "graphics/pokemon/swalot/shiny.gbapal.lz" - - .align 2 -gMonIcon_Swalot:: @ 8E1AE18 - .incbin "graphics/pokemon/swalot/icon.4bpp" - - .align 2 -gMonFootprint_Swalot:: @ 8E1B218 - .incbin "graphics/pokemon/swalot/footprint.1bpp" - - .align 2 -gMonFrontPic_Tropius:: @ 8E1B238 - .incbin "graphics/pokemon/tropius/front.4bpp.lz" - - .align 2 -gMonPalette_Tropius:: @ 8E1B7B0 - .incbin "graphics/pokemon/tropius/normal.gbapal.lz" - - .align 2 -gMonBackPic_Tropius:: @ 8E1B7D8 - .incbin "graphics/pokemon/tropius/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Tropius:: @ 8E1BAFC - .incbin "graphics/pokemon/tropius/shiny.gbapal.lz" - - .align 2 -gMonIcon_Tropius:: @ 8E1BB24 - .incbin "graphics/pokemon/tropius/icon.4bpp" - - .align 2 -gMonFootprint_Tropius:: @ 8E1BF24 - .incbin "graphics/pokemon/tropius/footprint.1bpp" - - .align 2 -gMonFrontPic_Whismur:: @ 8E1BF44 - .incbin "graphics/pokemon/whismur/front.4bpp.lz" - - .align 2 -gMonPalette_Whismur:: @ 8E1C1D8 - .incbin "graphics/pokemon/whismur/normal.gbapal.lz" - - .align 2 -gMonBackPic_Whismur:: @ 8E1C200 - .incbin "graphics/pokemon/whismur/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Whismur:: @ 8E1C470 - .incbin "graphics/pokemon/whismur/shiny.gbapal.lz" - - .align 2 -gMonIcon_Whismur:: @ 8E1C498 - .incbin "graphics/pokemon/whismur/icon.4bpp" - - .align 2 -gMonFootprint_Whismur:: @ 8E1C898 - .incbin "graphics/pokemon/whismur/footprint.1bpp" - - .align 2 -gMonFrontPic_Loudred:: @ 8E1C8B8 - .incbin "graphics/pokemon/loudred/front.4bpp.lz" - - .align 2 -gMonPalette_Loudred:: @ 8E1CD30 - .incbin "graphics/pokemon/loudred/normal.gbapal.lz" - - .align 2 -gMonBackPic_Loudred:: @ 8E1CD58 - .incbin "graphics/pokemon/loudred/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Loudred:: @ 8E1D0C8 - .incbin "graphics/pokemon/loudred/shiny.gbapal.lz" - - .align 2 -gMonIcon_Loudred:: @ 8E1D0F0 - .incbin "graphics/pokemon/loudred/icon.4bpp" - - .align 2 -gMonFootprint_Loudred:: @ 8E1D4F0 - .incbin "graphics/pokemon/loudred/footprint.1bpp" - - .align 2 -gMonFrontPic_Exploud:: @ 8E1D510 - .incbin "graphics/pokemon/exploud/front.4bpp.lz" - - .align 2 -gMonPalette_Exploud:: @ 8E1DA78 - .incbin "graphics/pokemon/exploud/normal.gbapal.lz" - - .align 2 -gMonBackPic_Exploud:: @ 8E1DAA0 - .incbin "graphics/pokemon/exploud/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Exploud:: @ 8E1DEAC - .incbin "graphics/pokemon/exploud/shiny.gbapal.lz" - - .align 2 -gMonIcon_Exploud:: @ 8E1DED4 - .incbin "graphics/pokemon/exploud/icon.4bpp" - - .align 2 -gMonFootprint_Exploud:: @ 8E1E2D4 - .incbin "graphics/pokemon/exploud/footprint.1bpp" - - .align 2 -gMonFrontPic_Clamperl:: @ 8E1E2F4 - .incbin "graphics/pokemon/clamperl/front.4bpp.lz" - - .align 2 -gMonPalette_Clamperl:: @ 8E1E5CC - .incbin "graphics/pokemon/clamperl/normal.gbapal.lz" - - .align 2 -gMonBackPic_Clamperl:: @ 8E1E5F4 - .incbin "graphics/pokemon/clamperl/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Clamperl:: @ 8E1E888 - .incbin "graphics/pokemon/clamperl/shiny.gbapal.lz" - - .align 2 -gMonIcon_Clamperl:: @ 8E1E8B0 - .incbin "graphics/pokemon/clamperl/icon.4bpp" - - .align 2 -gMonFootprint_Clamperl:: @ 8E1ECB0 - .incbin "graphics/pokemon/clamperl/footprint.1bpp" - - .align 2 -gMonFrontPic_Huntail:: @ 8E1ECD0 - .incbin "graphics/pokemon/huntail/front.4bpp.lz" - - .align 2 -gMonPalette_Huntail:: @ 8E1F09C - .incbin "graphics/pokemon/huntail/normal.gbapal.lz" - - .align 2 -gMonBackPic_Huntail:: @ 8E1F0C4 - .incbin "graphics/pokemon/huntail/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Huntail:: @ 8E1F418 - .incbin "graphics/pokemon/huntail/shiny.gbapal.lz" - - .align 2 -gMonIcon_Huntail:: @ 8E1F440 - .incbin "graphics/pokemon/huntail/icon.4bpp" - - .align 2 -gMonFootprint_Huntail:: @ 8E1F840 - .incbin "graphics/pokemon/huntail/footprint.1bpp" - - .align 2 -gMonFrontPic_Gorebyss:: @ 8E1F860 - .incbin "graphics/pokemon/gorebyss/front.4bpp.lz" - - .align 2 -gMonPalette_Gorebyss:: @ 8E1FB70 - .incbin "graphics/pokemon/gorebyss/normal.gbapal.lz" - - .align 2 -gMonBackPic_Gorebyss:: @ 8E1FB98 - .incbin "graphics/pokemon/gorebyss/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Gorebyss:: @ 8E1FE80 - .incbin "graphics/pokemon/gorebyss/shiny.gbapal.lz" - - .align 2 -gMonIcon_Gorebyss:: @ 8E1FEA8 - .incbin "graphics/pokemon/gorebyss/icon.4bpp" - - .align 2 -gMonFootprint_Gorebyss:: @ 8E202A8 - .incbin "graphics/pokemon/gorebyss/footprint.1bpp" - - .align 2 -gMonFrontPic_Absol:: @ 8E202C8 - .incbin "graphics/pokemon/absol/front.4bpp.lz" - - .align 2 -gMonPalette_Absol:: @ 8E206F8 - .incbin "graphics/pokemon/absol/normal.gbapal.lz" - - .align 2 -gMonBackPic_Absol:: @ 8E20720 - .incbin "graphics/pokemon/absol/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Absol:: @ 8E20A80 - .incbin "graphics/pokemon/absol/shiny.gbapal.lz" - - .align 2 -gMonIcon_Absol:: @ 8E20AA8 - .incbin "graphics/pokemon/absol/icon.4bpp" - - .align 2 -gMonFootprint_Absol:: @ 8E20EA8 - .incbin "graphics/pokemon/absol/footprint.1bpp" - - .align 2 -gMonFrontPic_Shuppet:: @ 8E20EC8 - .incbin "graphics/pokemon/shuppet/front.4bpp.lz" - - .align 2 -gMonPalette_Shuppet:: @ 8E21100 - .incbin "graphics/pokemon/shuppet/normal.gbapal.lz" - - .align 2 -gMonBackPic_Shuppet:: @ 8E21128 - .incbin "graphics/pokemon/shuppet/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Shuppet:: @ 8E213C0 - .incbin "graphics/pokemon/shuppet/shiny.gbapal.lz" - - .align 2 -gMonIcon_Shuppet:: @ 8E213E8 - .incbin "graphics/pokemon/shuppet/icon.4bpp" - - .align 2 -gMonFootprint_Shuppet:: @ 8E217E8 - .incbin "graphics/pokemon/shuppet/footprint.1bpp" - - .align 2 -gMonFrontPic_Banette:: @ 8E21808 - .incbin "graphics/pokemon/banette/front.4bpp.lz" - - .align 2 -gMonPalette_Banette:: @ 8E21ABC - .incbin "graphics/pokemon/banette/normal.gbapal.lz" - - .align 2 -gMonBackPic_Banette:: @ 8E21AE4 - .incbin "graphics/pokemon/banette/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Banette:: @ 8E21D60 - .incbin "graphics/pokemon/banette/shiny.gbapal.lz" - - .align 2 -gMonIcon_Banette:: @ 8E21D88 - .incbin "graphics/pokemon/banette/icon.4bpp" - - .align 2 -gMonFootprint_Banette:: @ 8E22188 - .incbin "graphics/pokemon/banette/footprint.1bpp" - - .align 2 -gMonFrontPic_Seviper:: @ 8E221A8 - .incbin "graphics/pokemon/seviper/front.4bpp.lz" - - .align 2 -gMonPalette_Seviper:: @ 8E225C8 - .incbin "graphics/pokemon/seviper/normal.gbapal.lz" - - .align 2 -gMonBackPic_Seviper:: @ 8E225F0 - .incbin "graphics/pokemon/seviper/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Seviper:: @ 8E22A7C - .incbin "graphics/pokemon/seviper/shiny.gbapal.lz" - - .align 2 -gMonIcon_Seviper:: @ 8E22AA4 - .incbin "graphics/pokemon/seviper/icon.4bpp" - - .align 2 -gMonFootprint_Seviper:: @ 8E22EA4 - .incbin "graphics/pokemon/seviper/footprint.1bpp" - - .align 2 -gMonFrontPic_Zangoose:: @ 8E22EC4 - .incbin "graphics/pokemon/zangoose/front.4bpp.lz" - - .align 2 -gMonPalette_Zangoose:: @ 8E23290 - .incbin "graphics/pokemon/zangoose/normal.gbapal.lz" - - .align 2 -gMonBackPic_Zangoose:: @ 8E232B8 - .incbin "graphics/pokemon/zangoose/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Zangoose:: @ 8E2362C - .incbin "graphics/pokemon/zangoose/shiny.gbapal.lz" - - .align 2 -gMonIcon_Zangoose:: @ 8E23654 - .incbin "graphics/pokemon/zangoose/icon.4bpp" - - .align 2 -gMonFootprint_Zangoose:: @ 8E23A54 - .incbin "graphics/pokemon/zangoose/footprint.1bpp" - - .align 2 -gMonFrontPic_Relicanth:: @ 8E23A74 - .incbin "graphics/pokemon/relicanth/front.4bpp.lz" - - .align 2 -gMonPalette_Relicanth:: @ 8E23E08 - .incbin "graphics/pokemon/relicanth/normal.gbapal.lz" - - .align 2 -gMonBackPic_Relicanth:: @ 8E23E30 - .incbin "graphics/pokemon/relicanth/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Relicanth:: @ 8E24188 - .incbin "graphics/pokemon/relicanth/shiny.gbapal.lz" - - .align 2 -gMonIcon_Relicanth:: @ 8E241B0 - .incbin "graphics/pokemon/relicanth/icon.4bpp" - - .align 2 -gMonFootprint_Relicanth:: @ 8E245B0 - .incbin "graphics/pokemon/relicanth/footprint.1bpp" - - .align 2 -gMonFrontPic_Aron:: @ 8E245D0 - .incbin "graphics/pokemon/aron/front.4bpp.lz" - - .align 2 -gMonPalette_Aron:: @ 8E247B8 - .incbin "graphics/pokemon/aron/normal.gbapal.lz" - - .align 2 -gMonBackPic_Aron:: @ 8E247E0 - .incbin "graphics/pokemon/aron/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Aron:: @ 8E24A08 - .incbin "graphics/pokemon/aron/shiny.gbapal.lz" - - .align 2 -gMonIcon_Aron:: @ 8E24A30 - .incbin "graphics/pokemon/aron/icon.4bpp" - - .align 2 -gMonFootprint_Aron:: @ 8E24E30 - .incbin "graphics/pokemon/aron/footprint.1bpp" - - .align 2 -gMonFrontPic_Lairon:: @ 8E24E50 - .incbin "graphics/pokemon/lairon/front.4bpp.lz" - - .align 2 -gMonPalette_Lairon:: @ 8E2521C - .incbin "graphics/pokemon/lairon/normal.gbapal.lz" - - .align 2 -gMonBackPic_Lairon:: @ 8E25244 - .incbin "graphics/pokemon/lairon/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Lairon:: @ 8E25530 - .incbin "graphics/pokemon/lairon/shiny.gbapal.lz" - - .align 2 -gMonIcon_Lairon:: @ 8E25558 - .incbin "graphics/pokemon/lairon/icon.4bpp" - - .align 2 -gMonFootprint_Lairon:: @ 8E25958 - .incbin "graphics/pokemon/lairon/footprint.1bpp" - - .align 2 -gMonFrontPic_Aggron:: @ 8E25978 - .incbin "graphics/pokemon/aggron/front.4bpp.lz" - - .align 2 -gMonPalette_Aggron:: @ 8E25EF4 - .incbin "graphics/pokemon/aggron/normal.gbapal.lz" - - .align 2 -gMonBackPic_Aggron:: @ 8E25F1C - .incbin "graphics/pokemon/aggron/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Aggron:: @ 8E26344 - .incbin "graphics/pokemon/aggron/shiny.gbapal.lz" - - .align 2 -gMonIcon_Aggron:: @ 8E2636C - .incbin "graphics/pokemon/aggron/icon.4bpp" - - .align 2 -gMonFootprint_Aggron:: @ 8E2676C - .incbin "graphics/pokemon/aggron/footprint.1bpp" - - .align 2 -gMonFrontPic_Castform:: @ 8E2678C - .incbin "graphics/pokemon/castform/front.4bpp.lz" - - .align 2 -gMonPalette_Castform:: @ 8E27214 - .incbin "graphics/pokemon/castform/normal.gbapal.lz" - - .align 2 -gMonBackPic_Castform:: @ 8E27294 - .incbin "graphics/pokemon/castform/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Castform:: @ 8E27C50 - .incbin "graphics/pokemon/castform/shiny.gbapal.lz" - - .align 2 -gMonIcon_Castform:: @ 8E27CCC - .incbin "graphics/pokemon/castform/icon.4bpp" - - .align 2 -gMonFootprint_Castform:: @ 8E280CC - .incbin "graphics/pokemon/castform/footprint.1bpp" - - .align 2 -gMonFrontPic_Volbeat:: @ 8E280EC - .incbin "graphics/pokemon/volbeat/front.4bpp.lz" - - .align 2 -gMonPalette_Volbeat:: @ 8E2847C - .incbin "graphics/pokemon/volbeat/normal.gbapal.lz" - - .align 2 -gMonBackPic_Volbeat:: @ 8E284A4 - .incbin "graphics/pokemon/volbeat/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Volbeat:: @ 8E28804 - .incbin "graphics/pokemon/volbeat/shiny.gbapal.lz" - - .align 2 -gMonIcon_Volbeat:: @ 8E2882C - .incbin "graphics/pokemon/volbeat/icon.4bpp" - - .align 2 -gMonFootprint_Volbeat:: @ 8E28C2C - .incbin "graphics/pokemon/volbeat/footprint.1bpp" - - .align 2 -gMonFrontPic_Illumise:: @ 8E28C4C - .incbin "graphics/pokemon/illumise/front.4bpp.lz" - - .align 2 -gMonPalette_Illumise:: @ 8E28FC0 - .incbin "graphics/pokemon/illumise/normal.gbapal.lz" - - .align 2 -gMonBackPic_Illumise:: @ 8E28FE8 - .incbin "graphics/pokemon/illumise/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Illumise:: @ 8E29304 - .incbin "graphics/pokemon/illumise/shiny.gbapal.lz" - - .align 2 -gMonIcon_Illumise:: @ 8E2932C - .incbin "graphics/pokemon/illumise/icon.4bpp" - - .align 2 -gMonFootprint_Illumise:: @ 8E2972C - .incbin "graphics/pokemon/illumise/footprint.1bpp" - - .align 2 -gMonFrontPic_Lileep:: @ 8E2974C - .incbin "graphics/pokemon/lileep/front.4bpp.lz" - - .align 2 -gMonPalette_Lileep:: @ 8E29A90 - .incbin "graphics/pokemon/lileep/normal.gbapal.lz" - - .align 2 -gMonBackPic_Lileep:: @ 8E29AB8 - .incbin "graphics/pokemon/lileep/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Lileep:: @ 8E29DFC - .incbin "graphics/pokemon/lileep/shiny.gbapal.lz" - - .align 2 -gMonIcon_Lileep:: @ 8E29E24 - .incbin "graphics/pokemon/lileep/icon.4bpp" - - .align 2 -gMonFootprint_Lileep:: @ 8E2A224 - .incbin "graphics/pokemon/lileep/footprint.1bpp" - - .align 2 -gMonFrontPic_Cradily:: @ 8E2A244 - .incbin "graphics/pokemon/cradily/front.4bpp.lz" - - .align 2 -gMonPalette_Cradily:: @ 8E2A660 - .incbin "graphics/pokemon/cradily/normal.gbapal.lz" - - .align 2 -gMonBackPic_Cradily:: @ 8E2A688 - .incbin "graphics/pokemon/cradily/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Cradily:: @ 8E2AA84 - .incbin "graphics/pokemon/cradily/shiny.gbapal.lz" - - .align 2 -gMonIcon_Cradily:: @ 8E2AAAC - .incbin "graphics/pokemon/cradily/icon.4bpp" - - .align 2 -gMonFootprint_Cradily:: @ 8E2AEAC - .incbin "graphics/pokemon/cradily/footprint.1bpp" - - .align 2 -gMonFrontPic_Anorith:: @ 8E2AECC - .incbin "graphics/pokemon/anorith/front.4bpp.lz" - - .align 2 -gMonPalette_Anorith:: @ 8E2B1F0 - .incbin "graphics/pokemon/anorith/normal.gbapal.lz" - - .align 2 -gMonBackPic_Anorith:: @ 8E2B218 - .incbin "graphics/pokemon/anorith/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Anorith:: @ 8E2B460 - .incbin "graphics/pokemon/anorith/shiny.gbapal.lz" - - .align 2 -gMonIcon_Anorith:: @ 8E2B488 - .incbin "graphics/pokemon/anorith/icon.4bpp" - - .align 2 -gMonFootprint_Anorith:: @ 8E2B888 - .incbin "graphics/pokemon/anorith/footprint.1bpp" - - .align 2 -gMonFrontPic_Armaldo:: @ 8E2B8A8 - .incbin "graphics/pokemon/armaldo/front.4bpp.lz" - - .align 2 -gMonPalette_Armaldo:: @ 8E2BE28 - .incbin "graphics/pokemon/armaldo/normal.gbapal.lz" - - .align 2 -gMonBackPic_Armaldo:: @ 8E2BE50 - .incbin "graphics/pokemon/armaldo/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Armaldo:: @ 8E2C288 - .incbin "graphics/pokemon/armaldo/shiny.gbapal.lz" - - .align 2 -gMonIcon_Armaldo:: @ 8E2C2B0 - .incbin "graphics/pokemon/armaldo/icon.4bpp" - - .align 2 -gMonFootprint_Armaldo:: @ 8E2C6B0 - .incbin "graphics/pokemon/armaldo/footprint.1bpp" - - .align 2 -gMonFrontPic_Ralts:: @ 8E2C6D0 - .incbin "graphics/pokemon/ralts/front.4bpp.lz" - - .align 2 -gMonPalette_Ralts:: @ 8E2C900 - .incbin "graphics/pokemon/ralts/normal.gbapal.lz" - - .align 2 -gMonBackPic_Ralts:: @ 8E2C928 - .incbin "graphics/pokemon/ralts/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Ralts:: @ 8E2CB64 - .incbin "graphics/pokemon/ralts/shiny.gbapal.lz" - - .align 2 -gMonIcon_Ralts:: @ 8E2CB8C - .incbin "graphics/pokemon/ralts/icon.4bpp" - - .align 2 -gMonFootprint_Ralts:: @ 8E2CF8C - .incbin "graphics/pokemon/ralts/footprint.1bpp" - - .align 2 -gMonFrontPic_Kirlia:: @ 8E2CFAC - .incbin "graphics/pokemon/kirlia/front.4bpp.lz" - - .align 2 -gMonPalette_Kirlia:: @ 8E2D2A8 - .incbin "graphics/pokemon/kirlia/normal.gbapal.lz" - - .align 2 -gMonBackPic_Kirlia:: @ 8E2D2D0 - .incbin "graphics/pokemon/kirlia/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Kirlia:: @ 8E2D644 - .incbin "graphics/pokemon/kirlia/shiny.gbapal.lz" - - .align 2 -gMonIcon_Kirlia:: @ 8E2D66C - .incbin "graphics/pokemon/kirlia/icon.4bpp" - - .align 2 -gMonFootprint_Kirlia:: @ 8E2DA6C - .incbin "graphics/pokemon/kirlia/footprint.1bpp" - - .align 2 -gMonFrontPic_Gardevoir:: @ 8E2DA8C - .incbin "graphics/pokemon/gardevoir/front.4bpp.lz" - - .align 2 -gMonPalette_Gardevoir:: @ 8E2DE08 - .incbin "graphics/pokemon/gardevoir/normal.gbapal.lz" - - .align 2 -gMonBackPic_Gardevoir:: @ 8E2DE30 - .incbin "graphics/pokemon/gardevoir/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Gardevoir:: @ 8E2E164 - .incbin "graphics/pokemon/gardevoir/shiny.gbapal.lz" - - .align 2 -gMonIcon_Gardevoir:: @ 8E2E18C - .incbin "graphics/pokemon/gardevoir/icon.4bpp" - - .align 2 -gMonFootprint_Gardevoir:: @ 8E2E58C - .incbin "graphics/pokemon/gardevoir/footprint.1bpp" - - .align 2 -gMonFrontPic_Bagon:: @ 8E2E5AC - .incbin "graphics/pokemon/bagon/front.4bpp.lz" - - .align 2 -gMonPalette_Bagon:: @ 8E2E824 - .incbin "graphics/pokemon/bagon/normal.gbapal.lz" - - .align 2 -gMonBackPic_Bagon:: @ 8E2E84C - .incbin "graphics/pokemon/bagon/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Bagon:: @ 8E2EB34 - .incbin "graphics/pokemon/bagon/shiny.gbapal.lz" - - .align 2 -gMonIcon_Bagon:: @ 8E2EB5C - .incbin "graphics/pokemon/bagon/icon.4bpp" - - .align 2 -gMonFootprint_Bagon:: @ 8E2EF5C - .incbin "graphics/pokemon/bagon/footprint.1bpp" - - .align 2 -gMonFrontPic_Shelgon:: @ 8E2EF7C - .incbin "graphics/pokemon/shelgon/front.4bpp.lz" - - .align 2 -gMonPalette_Shelgon:: @ 8E2F280 - .incbin "graphics/pokemon/shelgon/normal.gbapal.lz" - - .align 2 -gMonBackPic_Shelgon:: @ 8E2F2A8 - .incbin "graphics/pokemon/shelgon/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Shelgon:: @ 8E2F590 - .incbin "graphics/pokemon/shelgon/shiny.gbapal.lz" - - .align 2 -gMonIcon_Shelgon:: @ 8E2F5B8 - .incbin "graphics/pokemon/shelgon/icon.4bpp" - - .align 2 -gMonFootprint_Shelgon:: @ 8E2F9B8 - .incbin "graphics/pokemon/shelgon/footprint.1bpp" - - .align 2 -gMonFrontPic_Salamence:: @ 8E2F9D8 - .incbin "graphics/pokemon/salamence/front.4bpp.lz" - - .align 2 -gMonPalette_Salamence:: @ 8E2FE3C - .incbin "graphics/pokemon/salamence/normal.gbapal.lz" - - .align 2 -gMonBackPic_Salamence:: @ 8E2FE64 - .incbin "graphics/pokemon/salamence/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Salamence:: @ 8E30148 - .incbin "graphics/pokemon/salamence/shiny.gbapal.lz" - - .align 2 -gMonIcon_Salamence:: @ 8E30170 - .incbin "graphics/pokemon/salamence/icon.4bpp" - - .align 2 -gMonFootprint_Salamence:: @ 8E30570 - .incbin "graphics/pokemon/salamence/footprint.1bpp" - - .align 2 -gMonFrontPic_Beldum:: @ 8E30590 - .incbin "graphics/pokemon/beldum/front.4bpp.lz" - - .align 2 -gMonPalette_Beldum:: @ 8E30800 - .incbin "graphics/pokemon/beldum/normal.gbapal.lz" - - .align 2 -gMonBackPic_Beldum:: @ 8E30828 - .incbin "graphics/pokemon/beldum/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Beldum:: @ 8E30B18 - .incbin "graphics/pokemon/beldum/shiny.gbapal.lz" - - .align 2 -gMonIcon_Beldum:: @ 8E30B40 - .incbin "graphics/pokemon/beldum/icon.4bpp" - - .align 2 -gMonFootprint_Beldum:: @ 8E30F40 - .incbin "graphics/pokemon/beldum/footprint.1bpp" - - .align 2 -gMonFrontPic_Metang:: @ 8E30F60 - .incbin "graphics/pokemon/metang/front.4bpp.lz" - - .align 2 -gMonPalette_Metang:: @ 8E313BC - .incbin "graphics/pokemon/metang/normal.gbapal.lz" - - .align 2 -gMonBackPic_Metang:: @ 8E313E4 - .incbin "graphics/pokemon/metang/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Metang:: @ 8E31708 - .incbin "graphics/pokemon/metang/shiny.gbapal.lz" - - .align 2 -gMonIcon_Metang:: @ 8E31730 - .incbin "graphics/pokemon/metang/icon.4bpp" - - .align 2 -gMonFootprint_Metang:: @ 8E31B30 - .incbin "graphics/pokemon/metang/footprint.1bpp" - - .align 2 -gMonFrontPic_Metagross:: @ 8E31B50 - .incbin "graphics/pokemon/metagross/front.4bpp.lz" - - .align 2 -gMonPalette_Metagross:: @ 8E31FB4 - .incbin "graphics/pokemon/metagross/normal.gbapal.lz" - - .align 2 -gMonBackPic_Metagross:: @ 8E31FDC - .incbin "graphics/pokemon/metagross/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Metagross:: @ 8E322A8 - .incbin "graphics/pokemon/metagross/shiny.gbapal.lz" - - .align 2 -gMonIcon_Metagross:: @ 8E322D0 - .incbin "graphics/pokemon/metagross/icon.4bpp" - - .align 2 -gMonFootprint_Metagross:: @ 8E326D0 - .incbin "graphics/pokemon/metagross/footprint.1bpp" - - .align 2 -gMonFrontPic_Regirock:: @ 8E326F0 - .incbin "graphics/pokemon/regirock/front.4bpp.lz" - - .align 2 -gMonPalette_Regirock:: @ 8E32BAC - .incbin "graphics/pokemon/regirock/normal.gbapal.lz" - - .align 2 -gMonBackPic_Regirock:: @ 8E32BD4 - .incbin "graphics/pokemon/regirock/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Regirock:: @ 8E33020 - .incbin "graphics/pokemon/regirock/shiny.gbapal.lz" - - .align 2 -gMonIcon_Regirock:: @ 8E33048 - .incbin "graphics/pokemon/regirock/icon.4bpp" - - .align 2 -gMonFootprint_Regirock:: @ 8E33448 - .incbin "graphics/pokemon/regirock/footprint.1bpp" - - .align 2 -gMonFrontPic_Regice:: @ 8E33468 - .incbin "graphics/pokemon/regice/front.4bpp.lz" - - .align 2 -gMonPalette_Regice:: @ 8E338B0 - .incbin "graphics/pokemon/regice/normal.gbapal.lz" - - .align 2 -gMonBackPic_Regice:: @ 8E338D8 - .incbin "graphics/pokemon/regice/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Regice:: @ 8E33BC8 - .incbin "graphics/pokemon/regice/shiny.gbapal.lz" - - .align 2 -gMonIcon_Regice:: @ 8E33BF0 - .incbin "graphics/pokemon/regice/icon.4bpp" - - .align 2 -gMonFootprint_Regice:: @ 8E33FF0 - .incbin "graphics/pokemon/regice/footprint.1bpp" - - .align 2 -gMonFrontPic_Registeel:: @ 8E34010 - .incbin "graphics/pokemon/registeel/front.4bpp.lz" - - .align 2 -gMonPalette_Registeel:: @ 8E34498 - .incbin "graphics/pokemon/registeel/normal.gbapal.lz" - - .align 2 -gMonBackPic_Registeel:: @ 8E344C0 - .incbin "graphics/pokemon/registeel/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Registeel:: @ 8E347F8 - .incbin "graphics/pokemon/registeel/shiny.gbapal.lz" - - .align 2 -gMonIcon_Registeel:: @ 8E34820 - .incbin "graphics/pokemon/registeel/icon.4bpp" - - .align 2 -gMonFootprint_Registeel:: @ 8E34C20 - .incbin "graphics/pokemon/registeel/footprint.1bpp" - - .align 2 -gMonFrontPic_Kyogre:: @ 8E34C40 - .incbin "graphics/pokemon/kyogre/front.4bpp.lz" - - .align 2 -gMonPalette_Kyogre:: @ 8E350B0 - .incbin "graphics/pokemon/kyogre/normal.gbapal.lz" - - .align 2 -gMonBackPic_Kyogre:: @ 8E350D8 - .incbin "graphics/pokemon/kyogre/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Kyogre:: @ 8E35350 - .incbin "graphics/pokemon/kyogre/shiny.gbapal.lz" - - .align 2 -gMonIcon_Kyogre:: @ 8E35378 - .incbin "graphics/pokemon/kyogre/icon.4bpp" - - .align 2 -gMonFootprint_Kyogre:: @ 8E35778 - .incbin "graphics/pokemon/kyogre/footprint.1bpp" - - .align 2 -gMonFrontPic_Groudon:: @ 8E35798 - .incbin "graphics/pokemon/groudon/front.4bpp.lz" - - .align 2 -gMonPalette_Groudon:: @ 8E35D2C - .incbin "graphics/pokemon/groudon/normal.gbapal.lz" - - .align 2 -gMonBackPic_Groudon:: @ 8E35D54 - .incbin "graphics/pokemon/groudon/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Groudon:: @ 8E361BC - .incbin "graphics/pokemon/groudon/shiny.gbapal.lz" - - .align 2 -gMonIcon_Groudon:: @ 8E361E4 - .incbin "graphics/pokemon/groudon/icon.4bpp" - - .align 2 -gMonFootprint_Groudon:: @ 8E365E4 - .incbin "graphics/pokemon/groudon/footprint.1bpp" - - .align 2 -gMonFrontPic_Rayquaza:: @ 8E36604 - .incbin "graphics/pokemon/rayquaza/front.4bpp.lz" - - .align 2 -gMonPalette_Rayquaza:: @ 8E36B14 - .incbin "graphics/pokemon/rayquaza/normal.gbapal.lz" - - .align 2 -gMonBackPic_Rayquaza:: @ 8E36B3C - .incbin "graphics/pokemon/rayquaza/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Rayquaza:: @ 8E36E74 - .incbin "graphics/pokemon/rayquaza/shiny.gbapal.lz" - - .align 2 -gMonIcon_Rayquaza:: @ 8E36E9C - .incbin "graphics/pokemon/rayquaza/icon.4bpp" - - .align 2 -gMonFootprint_Rayquaza:: @ 8E3729C - .incbin "graphics/pokemon/rayquaza/footprint.1bpp" - - .align 2 -gMonFrontPic_Latias:: @ 8E372BC - .incbin "graphics/pokemon/latias/front.4bpp.lz" - - .align 2 -gMonPalette_Latias:: @ 8E376E0 - .incbin "graphics/pokemon/latias/normal.gbapal.lz" - - .align 2 -gMonBackPic_Latias:: @ 8E37708 - .incbin "graphics/pokemon/latias/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Latias:: @ 8E37A04 - .incbin "graphics/pokemon/latias/shiny.gbapal.lz" - - .align 2 -gMonIcon_Latias:: @ 8E37A2C - .incbin "graphics/pokemon/latias/icon.4bpp" - - .align 2 -gMonFootprint_Latias:: @ 8E37E2C - .incbin "graphics/pokemon/latias/footprint.1bpp" - - .align 2 -gMonFrontPic_Latios:: @ 8E37E4C - .incbin "graphics/pokemon/latios/front.4bpp.lz" - - .align 2 -gMonPalette_Latios:: @ 8E382A0 - .incbin "graphics/pokemon/latios/normal.gbapal.lz" - - .align 2 -gMonBackPic_Latios:: @ 8E382C8 - .incbin "graphics/pokemon/latios/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Latios:: @ 8E38628 - .incbin "graphics/pokemon/latios/shiny.gbapal.lz" - - .align 2 -gMonIcon_Latios:: @ 8E38650 - .incbin "graphics/pokemon/latios/icon.4bpp" - - .align 2 -gMonFootprint_Latios:: @ 8E38A50 - .incbin "graphics/pokemon/latios/footprint.1bpp" - - .align 2 -gMonFrontPic_Jirachi:: @ 8E38A70 - .incbin "graphics/pokemon/jirachi/front.4bpp.lz" - - .align 2 -gMonPalette_Jirachi:: @ 8E38D7C - .incbin "graphics/pokemon/jirachi/normal.gbapal.lz" - - .align 2 -gMonBackPic_Jirachi:: @ 8E38DA4 - .incbin "graphics/pokemon/jirachi/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Jirachi:: @ 8E39144 - .incbin "graphics/pokemon/jirachi/shiny.gbapal.lz" - - .align 2 -gMonIcon_Jirachi:: @ 8E3916C - .incbin "graphics/pokemon/jirachi/icon.4bpp" - - .align 2 -gMonFootprint_Jirachi:: @ 8E3956C - .incbin "graphics/pokemon/jirachi/footprint.1bpp" - - .align 2 -gMonFrontPic_Deoxys:: @ 8E3958C - .ifdef FIRERED - .incbin "graphics/pokemon/deoxys/front.4bpp.lz" - .else - .ifdef LEAFGREEN - .incbin "graphics/pokemon/deoxys/front_def.4bpp.lz" - .endif - .endif - - .align 2 -gMonPalette_Deoxys:: @ 8E39D48 - .incbin "graphics/pokemon/deoxys/normal.gbapal.lz" - - .align 2 -gMonBackPic_Deoxys:: @ 8E39D70 - .ifdef FIRERED - .incbin "graphics/pokemon/deoxys/back.4bpp.lz" - .else - .ifdef LEAFGREEN - .incbin "graphics/pokemon/deoxys/back_def.4bpp.lz" - .endif - .endif - - .align 2 -gMonShinyPalette_Deoxys:: @ 8E3A360 - .incbin "graphics/pokemon/deoxys/shiny.gbapal.lz" - - .align 2 -gMonIcon_Deoxys:: @ 8E3A388 - .incbin "graphics/pokemon/deoxys/icon.4bpp" - @ Referenced as part of the same array as normal deoxys - .ifdef FIRERED - .incbin "graphics/pokemon/deoxys/icon_attack.4bpp" - .else - .ifdef LEAFGREEN - .incbin "graphics/pokemon/deoxys/icon_defense.4bpp" - .endif - .endif - - .align 2 -gMonFootprint_Deoxys:: @ 8E3AB88 - .incbin "graphics/pokemon/deoxys/footprint.1bpp" - - .align 2 -gMonFrontPic_Chimecho:: @ 8E3ABA8 - .incbin "graphics/pokemon/chimecho/front.4bpp.lz" - - .align 2 -gMonPalette_Chimecho:: @ 8E3ADF4 - .incbin "graphics/pokemon/chimecho/normal.gbapal.lz" - - .align 2 -gMonBackPic_Chimecho:: @ 8E3AE1C - .incbin "graphics/pokemon/chimecho/back.4bpp.lz" - - .align 2 -gMonShinyPalette_Chimecho:: @ 8E3B090 - .incbin "graphics/pokemon/chimecho/shiny.gbapal.lz" - - .align 2 -gMonIcon_Chimecho:: @ 8E3B0B8 - .incbin "graphics/pokemon/chimecho/icon.4bpp" - - .align 2 -gMonFootprint_Chimecho:: @ 8E3B4B8 - .incbin "graphics/pokemon/chimecho/footprint.1bpp" - - .align 2 -gMonFrontPic_Egg:: @ 8E3B4D8 - .incbin "graphics/pokemon/egg/front.4bpp.lz" - - .align 2 -gMonPalette_Egg:: @ 8E3B68C - .incbin "graphics/pokemon/egg/normal.gbapal.lz" - - .align 2 -gMonFrontPic_UnownB:: @ 8E3B6AC - .incbin "graphics/pokemon/unown/b/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownB:: @ 8E3B884 - .incbin "graphics/pokemon/unown/b/back.4bpp.lz" - - .align 2 -gMonIcon_UnownB:: @ 8E3BA88 - .incbin "graphics/pokemon/unown/b/icon.4bpp" - - .align 2 -gMonFrontPic_UnownC:: @ 8E3BE88 - .incbin "graphics/pokemon/unown/c/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownC:: @ 8E3C09C - .incbin "graphics/pokemon/unown/c/back.4bpp.lz" - - .align 2 -gMonIcon_UnownC:: @ 8E3C348 - .incbin "graphics/pokemon/unown/c/icon.4bpp" - - .align 2 -gMonFrontPic_UnownD:: @ 8E3C748 - .incbin "graphics/pokemon/unown/d/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownD:: @ 8E3C940 - .incbin "graphics/pokemon/unown/d/back.4bpp.lz" - - .align 2 -gMonIcon_UnownD:: @ 8E3CB98 - .incbin "graphics/pokemon/unown/d/icon.4bpp" - - .align 2 -gMonFrontPic_UnownE:: @ 8E3CF98 - .incbin "graphics/pokemon/unown/e/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownE:: @ 8E3D150 - .incbin "graphics/pokemon/unown/e/back.4bpp.lz" - - .align 2 -gMonIcon_UnownE:: @ 8E3D350 - .incbin "graphics/pokemon/unown/e/icon.4bpp" - - .align 2 -gMonFrontPic_UnownF:: @ 8E3D750 - .incbin "graphics/pokemon/unown/f/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownF:: @ 8E3D944 - .incbin "graphics/pokemon/unown/f/back.4bpp.lz" - - .align 2 -gMonIcon_UnownF:: @ 8E3DB60 - .incbin "graphics/pokemon/unown/f/icon.4bpp" - - .align 2 -gMonFrontPic_UnownG:: @ 8E3DF60 - .incbin "graphics/pokemon/unown/g/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownG:: @ 8E3E13C - .incbin "graphics/pokemon/unown/g/back.4bpp.lz" - - .align 2 -gMonIcon_UnownG:: @ 8E3E388 - .incbin "graphics/pokemon/unown/g/icon.4bpp" - - .align 2 -gMonFrontPic_UnownH:: @ 8E3E788 - .incbin "graphics/pokemon/unown/h/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownH:: @ 8E3E9CC - .incbin "graphics/pokemon/unown/h/back.4bpp.lz" - - .align 2 -gMonIcon_UnownH:: @ 8E3EC90 - .incbin "graphics/pokemon/unown/h/icon.4bpp" - - .align 2 -gMonFrontPic_UnownI:: @ 8E3F090 - .incbin "graphics/pokemon/unown/i/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownI:: @ 8E3F228 - .incbin "graphics/pokemon/unown/i/back.4bpp.lz" - - .align 2 -gMonIcon_UnownI:: @ 8E3F3D0 - .incbin "graphics/pokemon/unown/i/icon.4bpp" - - .align 2 -gMonFrontPic_UnownJ:: @ 8E3F7D0 - .incbin "graphics/pokemon/unown/j/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownJ:: @ 8E3F994 - .incbin "graphics/pokemon/unown/j/back.4bpp.lz" - - .align 2 -gMonIcon_UnownJ:: @ 8E3FB7C - .incbin "graphics/pokemon/unown/j/icon.4bpp" - - .align 2 -gMonFrontPic_UnownK:: @ 8E3FF7C - .incbin "graphics/pokemon/unown/k/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownK:: @ 8E4014C - .incbin "graphics/pokemon/unown/k/back.4bpp.lz" - - .align 2 -gMonIcon_UnownK:: @ 8E40344 - .incbin "graphics/pokemon/unown/k/icon.4bpp" - - .align 2 -gMonFrontPic_UnownL:: @ 8E40744 - .incbin "graphics/pokemon/unown/l/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownL:: @ 8E408F4 - .incbin "graphics/pokemon/unown/l/back.4bpp.lz" - - .align 2 -gMonIcon_UnownL:: @ 8E40AC8 - .incbin "graphics/pokemon/unown/l/icon.4bpp" - - .align 2 -gMonFrontPic_UnownM:: @ 8E40EC8 - .incbin "graphics/pokemon/unown/m/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownM:: @ 8E410EC - .incbin "graphics/pokemon/unown/m/back.4bpp.lz" - - .align 2 -gMonIcon_UnownM:: @ 8E41394 - .incbin "graphics/pokemon/unown/m/icon.4bpp" - - .align 2 -gMonFrontPic_UnownN:: @ 8E41794 - .incbin "graphics/pokemon/unown/n/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownN:: @ 8E4198C - .incbin "graphics/pokemon/unown/n/back.4bpp.lz" - - .align 2 -gMonIcon_UnownN:: @ 8E41BF8 - .incbin "graphics/pokemon/unown/n/icon.4bpp" - - .align 2 -gMonFrontPic_UnownO:: @ 8E41FF8 - .incbin "graphics/pokemon/unown/o/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownO:: @ 8E42230 - .incbin "graphics/pokemon/unown/o/back.4bpp.lz" - - .align 2 -gMonIcon_UnownO:: @ 8E424F0 - .incbin "graphics/pokemon/unown/o/icon.4bpp" - - .align 2 -gMonFrontPic_UnownP:: @ 8E428F0 - .incbin "graphics/pokemon/unown/p/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownP:: @ 8E42A90 - .incbin "graphics/pokemon/unown/p/back.4bpp.lz" - - .align 2 -gMonIcon_UnownP:: @ 8E42C54 - .incbin "graphics/pokemon/unown/p/icon.4bpp" - - .align 2 -gMonFrontPic_UnownQ:: @ 8E43054 - .incbin "graphics/pokemon/unown/q/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownQ:: @ 8E43208 - .incbin "graphics/pokemon/unown/q/back.4bpp.lz" - - .align 2 -gMonIcon_UnownQ:: @ 8E433D4 - .incbin "graphics/pokemon/unown/q/icon.4bpp" - - .align 2 -gMonFrontPic_UnownR:: @ 8E437D4 - .incbin "graphics/pokemon/unown/r/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownR:: @ 8E43978 - .incbin "graphics/pokemon/unown/r/back.4bpp.lz" - - .align 2 -gMonIcon_UnownR:: @ 8E43B40 - .incbin "graphics/pokemon/unown/r/icon.4bpp" - - .align 2 -gMonFrontPic_UnownS:: @ 8E43F40 - .incbin "graphics/pokemon/unown/s/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownS:: @ 8E44128 - .incbin "graphics/pokemon/unown/s/back.4bpp.lz" - - .align 2 -gMonIcon_UnownS:: @ 8E4437C - .incbin "graphics/pokemon/unown/s/icon.4bpp" - - .align 2 -gMonFrontPic_UnownT:: @ 8E4477C - .incbin "graphics/pokemon/unown/t/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownT:: @ 8E4492C - .incbin "graphics/pokemon/unown/t/back.4bpp.lz" - - .align 2 -gMonIcon_UnownT:: @ 8E44AE0 - .incbin "graphics/pokemon/unown/t/icon.4bpp" - - .align 2 -gMonFrontPic_UnownU:: @ 8E44EE0 - .incbin "graphics/pokemon/unown/u/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownU:: @ 8E450F8 - .incbin "graphics/pokemon/unown/u/back.4bpp.lz" - - .align 2 -gMonIcon_UnownU:: @ 8E4534C - .incbin "graphics/pokemon/unown/u/icon.4bpp" - - .align 2 -gMonFrontPic_UnownV:: @ 8E4574C - .incbin "graphics/pokemon/unown/v/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownV:: @ 8E45930 - .incbin "graphics/pokemon/unown/v/back.4bpp.lz" - - .align 2 -gMonIcon_UnownV:: @ 8E45B60 - .incbin "graphics/pokemon/unown/v/icon.4bpp" - - .align 2 -gMonFrontPic_UnownW:: @ 8E45F60 - .incbin "graphics/pokemon/unown/w/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownW:: @ 8E46134 - .incbin "graphics/pokemon/unown/w/back.4bpp.lz" - - .align 2 -gMonIcon_UnownW:: @ 8E46338 - .incbin "graphics/pokemon/unown/w/icon.4bpp" - - .align 2 -gMonFrontPic_UnownX:: @ 8E46738 - .incbin "graphics/pokemon/unown/x/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownX:: @ 8E468FC - .incbin "graphics/pokemon/unown/x/back.4bpp.lz" - - .align 2 -gMonIcon_UnownX:: @ 8E46AEC - .incbin "graphics/pokemon/unown/x/icon.4bpp" - - .align 2 -gMonFrontPic_UnownY:: @ 8E46EEC - .incbin "graphics/pokemon/unown/y/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownY:: @ 8E470C4 - .incbin "graphics/pokemon/unown/y/back.4bpp.lz" - - .align 2 -gMonIcon_UnownY:: @ 8E472B8 - .incbin "graphics/pokemon/unown/y/icon.4bpp" - - .align 2 -gMonFrontPic_UnownZ:: @ 8E476B8 - .incbin "graphics/pokemon/unown/z/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownZ:: @ 8E47868 - .incbin "graphics/pokemon/unown/z/back.4bpp.lz" - - .align 2 -gMonIcon_UnownZ:: @ 8E47A44 - .incbin "graphics/pokemon/unown/z/icon.4bpp" - - .align 2 -gMonFrontPic_UnownExclamationMark:: @ 8E47E44 - .incbin "graphics/pokemon/unown/exclamation_mark/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownExclamationMark:: @ 8E47FD4 - .incbin "graphics/pokemon/unown/exclamation_mark/back.4bpp.lz" - - .align 2 -gMonIcon_UnownExclamationMark:: @ 8E4819C - .incbin "graphics/pokemon/unown/exclamation_mark/icon.4bpp" - - .align 2 -gMonFrontPic_UnownQuestionMark:: @ 8E4859C - .incbin "graphics/pokemon/unown/question_mark/front.4bpp.lz" - - .align 2 -gMonBackPic_UnownQuestionMark:: @ 8E48758 - .incbin "graphics/pokemon/unown/question_mark/back.4bpp.lz" - - .align 2 -gMonIcon_UnownQuestionMark:: @ 8E48958 - .incbin "graphics/pokemon/unown/question_mark/icon.4bpp" - - .align 2 -gTrainerFrontPic_AquaLeaderArchie:: @ 8E48D58 - .incbin "graphics/trainers/front_pics/aqua_leader_archie_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_AquaLeaderArchie:: @ 8E49094 - .incbin "graphics/trainers/palettes/aqua_leader_archie.gbapal.lz" - - .align 2 -gTrainerFrontPic_AquaGruntM:: @ 8E490BC - .incbin "graphics/trainers/front_pics/aqua_grunt_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_AquaGruntM:: @ 8E4941C - .incbin "graphics/trainers/palettes/aqua_grunt_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_AquaGruntF:: @ 8E49444 - .incbin "graphics/trainers/front_pics/aqua_grunt_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_AquaGruntF:: @ 8E49780 - .incbin "graphics/trainers/palettes/aqua_grunt_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSAromaLady:: @ 8E497A8 - .incbin "graphics/trainers/front_pics/rs_aroma_lady_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSAromaLady:: @ 8E49A6C - .incbin "graphics/trainers/palettes/rs_aroma_lady.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSRuinManiac:: @ 8E49A94 - .incbin "graphics/trainers/front_pics/rs_ruin_maniac_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSRuinManiac:: @ 8E49E30 - .incbin "graphics/trainers/palettes/rs_ruin_maniac.gbapal.lz" - - .align 2 -gTrainerFrontPic_Interviewer:: @ 8E49E58 - .incbin "graphics/trainers/front_pics/interviewer_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Interviewer:: @ 8E4A2FC - .incbin "graphics/trainers/palettes/interviewer.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSTuberF:: @ 8E4A324 - .incbin "graphics/trainers/front_pics/rs_tuber_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSTuberF:: @ 8E4A5C8 - .incbin "graphics/trainers/palettes/rs_tuber_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_TuberM:: @ 8E4A5F0 - .incbin "graphics/trainers/front_pics/tuber_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_TuberM:: @ 8E4A87C - .incbin "graphics/trainers/palettes/tuber_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSCooltrainerM:: @ 8E4A8A4 - .incbin "graphics/trainers/front_pics/rs_cool_trainer_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSCooltrainerM:: @ 8E4AB8C - .incbin "graphics/trainers/palettes/rs_cool_trainer_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSCooltrainerF:: @ 8E4ABB4 - .incbin "graphics/trainers/front_pics/rs_cool_trainer_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSCooltrainerF:: @ 8E4AEC8 - .incbin "graphics/trainers/palettes/rs_cool_trainer_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_HexManiac:: @ 8E4AEF0 - .incbin "graphics/trainers/front_pics/hex_maniac_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_HexManiac:: @ 8E4B25C - .incbin "graphics/trainers/palettes/hex_maniac.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSLady:: @ 8E4B284 - .incbin "graphics/trainers/front_pics/rs_lady_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSLady:: @ 8E4B638 - .incbin "graphics/trainers/palettes/rs_lady.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSBeauty:: @ 8E4B660 - .incbin "graphics/trainers/front_pics/rs_beauty_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSBeauty:: @ 8E4B948 - .incbin "graphics/trainers/palettes/rs_beauty.gbapal.lz" - - .align 2 -gTrainerFrontPic_RichBoy:: @ 8E4B970 - .incbin "graphics/trainers/front_pics/rich_boy_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RichBoy:: @ 8E4BC24 - .incbin "graphics/trainers/palettes/rich_boy.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSPokeManiac:: @ 8E4BC4C - .incbin "graphics/trainers/front_pics/rs_pokemaniac_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSPokeManiac:: @ 8E4BFBC - .incbin "graphics/trainers/palettes/rs_pokemaniac.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSSwimmerM:: @ 8E4BFE4 - .incbin "graphics/trainers/front_pics/rs_swimmer_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSSwimmerM:: @ 8E4C2A4 - .incbin "graphics/trainers/palettes/rs_swimmer_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSBlackBelt:: @ 8E4C2CC - .incbin "graphics/trainers/front_pics/rs_black_belt_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSBlackBelt:: @ 8E4C630 - .incbin "graphics/trainers/palettes/rs_black_belt.gbapal.lz" - - .align 2 -gTrainerFrontPic_Guitarist:: @ 8E4C658 - .incbin "graphics/trainers/front_pics/guitarist_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Guitarist:: @ 8E4C9DC - .incbin "graphics/trainers/palettes/guitarist.gbapal.lz" - - .align 2 -gTrainerFrontPic_Kindler:: @ 8E4CA04 - .incbin "graphics/trainers/front_pics/kindler_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Kindler:: @ 8E4CD70 - .incbin "graphics/trainers/palettes/kindler.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSCamper:: @ 8E4CD98 - .incbin "graphics/trainers/front_pics/rs_camper_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSCamper:: @ 8E4D080 - .incbin "graphics/trainers/palettes/rs_camper.gbapal.lz" - - .align 2 -gTrainerFrontPic_BugManiac:: @ 8E4D0A8 - .incbin "graphics/trainers/front_pics/bug_maniac_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_BugManiac:: @ 8E4D4F8 - .incbin "graphics/trainers/palettes/bug_maniac.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSPsychicM:: @ 8E4D520 - .incbin "graphics/trainers/front_pics/rs_psychic_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSPsychicM:: @ 8E4D84C - .incbin "graphics/trainers/palettes/rs_psychic_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSPsychicF:: @ 8E4D874 - .incbin "graphics/trainers/front_pics/rs_psychic_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSPsychicF:: @ 8E4DB9C - .incbin "graphics/trainers/palettes/rs_psychic_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSGentleman:: @ 8E4DBC4 - .incbin "graphics/trainers/front_pics/rs_gentleman_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSGentleman:: @ 8E4DEC4 - .incbin "graphics/trainers/palettes/rs_gentleman.gbapal.lz" - - .align 2 -gTrainerFrontPic_EliteFourSidney:: @ 8E4DEEC - .incbin "graphics/trainers/front_pics/elite_four_sidney_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_EliteFourSidney:: @ 8E4E220 - .incbin "graphics/trainers/palettes/elite_four_sidney.gbapal.lz" - - .align 2 -gTrainerFrontPic_EliteFourPhoebe:: @ 8E4E248 - .incbin "graphics/trainers/front_pics/elite_four_phoebe_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_EliteFourPhoebe:: @ 8E4E548 - .incbin "graphics/trainers/palettes/elite_four_phoebe.gbapal.lz" - - .align 2 -gTrainerFrontPic_LeaderRoxanne:: @ 8E4E570 - .incbin "graphics/trainers/front_pics/leader_roxanne_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_LeaderRoxanne:: @ 8E4E85C - .incbin "graphics/trainers/palettes/leader_roxanne.gbapal.lz" - - .align 2 -gTrainerFrontPic_LeaderBrawly:: @ 8E4E884 - .incbin "graphics/trainers/front_pics/leader_brawly_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_LeaderBrawly:: @ 8E4EC18 - .incbin "graphics/trainers/palettes/leader_brawly.gbapal.lz" - - .align 2 -gTrainerFrontPic_LeaderTateAndLiza:: @ 8E4EC40 - .incbin "graphics/trainers/front_pics/leader_tate_and_liza_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_LeaderTateAndLiza:: @ 8E4F084 - .incbin "graphics/trainers/palettes/leader_tate_and_liza.gbapal.lz" - - .align 2 -gTrainerFrontPic_SchoolKidM:: @ 8E4F0AC - .incbin "graphics/trainers/front_pics/school_kid_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_SchoolKidM:: @ 8E4F36C - .incbin "graphics/trainers/palettes/school_kid_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_SchoolKidF:: @ 8E4F394 - .incbin "graphics/trainers/front_pics/school_kid_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_SchoolKidF:: @ 8E4F630 - .incbin "graphics/trainers/palettes/school_kid_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_SrAndJr:: @ 8E4F658 - .incbin "graphics/trainers/front_pics/sr_and_jr_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_SrAndJr:: @ 8E4FAC8 - .incbin "graphics/trainers/palettes/sr_and_jr.gbapal.lz" - - .align 2 -gTrainerFrontPic_PokefanM:: @ 8E4FAF0 - .incbin "graphics/trainers/front_pics/pokefan_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_PokefanM:: @ 8E4FEAC - .incbin "graphics/trainers/palettes/pokefan_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_PokefanF:: @ 8E4FED4 - .incbin "graphics/trainers/front_pics/pokefan_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_PokefanF:: @ 8E502A0 - .incbin "graphics/trainers/palettes/pokefan_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_ExpertM:: @ 8E502C8 - .incbin "graphics/trainers/front_pics/expert_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_ExpertM:: @ 8E50608 - .incbin "graphics/trainers/palettes/expert_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_ExpertF:: @ 8E50630 - .incbin "graphics/trainers/front_pics/expert_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_ExpertF:: @ 8E5094C - .incbin "graphics/trainers/palettes/expert_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSYoungster:: @ 8E50974 - .incbin "graphics/trainers/front_pics/rs_youngster_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSYoungster:: @ 8E50C1C - .incbin "graphics/trainers/palettes/rs_youngster.gbapal.lz" - - .align 2 -gTrainerFrontPic_ChampionSteven:: @ 8E50C44 - .incbin "graphics/trainers/front_pics/champion_steven_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_ChampionSteven:: @ 8E50F7C - .incbin "graphics/trainers/palettes/champion_steven.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSFisherman:: @ 8E50FA4 - .incbin "graphics/trainers/front_pics/rs_fisherman_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSFisherman:: @ 8E51388 - .incbin "graphics/trainers/palettes/rs_fisherman.gbapal.lz" - - .align 2 -gTrainerFrontPic_CyclingTriathleteM:: @ 8E513B0 - .incbin "graphics/trainers/front_pics/cycling_triathlete_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_CyclingTriathleteM:: @ 8E517C0 - .incbin "graphics/trainers/palettes/cycling_triathlete_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_CyclingTriathleteF:: @ 8E517E8 - .incbin "graphics/trainers/front_pics/cycling_triathlete_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_CyclingTriathleteF:: @ 8E51BF4 - .incbin "graphics/trainers/palettes/cycling_triathlete_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_RunningTriathleteM:: @ 8E51C1C - .incbin "graphics/trainers/front_pics/running_triathlete_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RunningTriathleteM:: @ 8E51ED4 - .incbin "graphics/trainers/palettes/running_triathlete_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_RunningTriathleteF:: @ 8E51EFC - .incbin "graphics/trainers/front_pics/running_triathlete_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RunningTriathleteF:: @ 8E521A0 - .incbin "graphics/trainers/palettes/running_triathlete_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_SwimmingTriathleteM:: @ 8E521C8 - .incbin "graphics/trainers/front_pics/swimming_triathlete_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_SwimmingTriathleteM:: @ 8E524F4 - .incbin "graphics/trainers/palettes/swimming_triathlete_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_SwimmingTriathleteF:: @ 8E5251C - .incbin "graphics/trainers/front_pics/swimming_triathlete_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_SwimmingTriathleteF:: @ 8E527F8 - .incbin "graphics/trainers/palettes/swimming_triathlete_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_DragonTamer:: @ 8E52820 - .incbin "graphics/trainers/front_pics/dragon_tamer_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_DragonTamer:: @ 8E52B74 - .incbin "graphics/trainers/palettes/dragon_tamer.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSBirdKeeper:: @ 8E52B9C - .incbin "graphics/trainers/front_pics/rs_bird_keeper_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSBirdKeeper:: @ 8E52ED4 - .incbin "graphics/trainers/palettes/rs_bird_keeper.gbapal.lz" - - .align 2 -gTrainerFrontPic_NinjaBoy:: @ 8E52EFC - .incbin "graphics/trainers/front_pics/ninja_boy_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_NinjaBoy:: @ 8E531D8 - .incbin "graphics/trainers/palettes/ninja_boy.gbapal.lz" - - .align 2 -gTrainerFrontPic_BattleGirl:: @ 8E53200 - .incbin "graphics/trainers/front_pics/battle_girl_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_BattleGirl:: @ 8E53520 - .incbin "graphics/trainers/palettes/battle_girl.gbapal.lz" - - .align 2 -gTrainerFrontPic_ParasolLady:: @ 8E53548 - .incbin "graphics/trainers/front_pics/parasol_lady_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_ParasolLady:: @ 8E53880 - .incbin "graphics/trainers/palettes/parasol_lady.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSSwimmerF:: @ 8E538A8 - .incbin "graphics/trainers/front_pics/rs_swimmer_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSSwimmerF:: @ 8E53B78 - .incbin "graphics/trainers/palettes/rs_swimmer_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSPicnicker:: @ 8E53BA0 - .incbin "graphics/trainers/front_pics/rs_picnicker_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSPicnicker:: @ 8E53E80 - .incbin "graphics/trainers/palettes/rs_picnicker.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSTwins:: @ 8E53EA8 - .incbin "graphics/trainers/front_pics/rs_twins_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSTwins:: @ 8E5426C - .incbin "graphics/trainers/palettes/rs_twins.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSSailor:: @ 8E54294 - .incbin "graphics/trainers/front_pics/rs_sailor_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSSailor:: @ 8E54644 - .incbin "graphics/trainers/palettes/rs_sailor.gbapal.lz" - - .align 2 -gTrainerFrontPic_Collector:: @ 8E5466C - .incbin "graphics/trainers/front_pics/collector_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Collector:: @ 8E54A70 - .incbin "graphics/trainers/palettes/collector.gbapal.lz" - - .align 2 -gTrainerFrontPic_Wally:: @ 8E54A98 - .incbin "graphics/trainers/front_pics/wally_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Wally:: @ 8E54D68 - .incbin "graphics/trainers/palettes/wally.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSBrendan1:: @ 8E54D90 - .incbin "graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSBrendan1:: @ 8E550A4 - .incbin "graphics/trainers/palettes/ruby_sapphire_brendan.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSMay1:: @ 8E550CC - .incbin "graphics/trainers/front_pics/ruby_sapphire_may_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSMay1:: @ 8E553CC - .incbin "graphics/trainers/palettes/ruby_sapphire_may.gbapal.lz" - - .align 2 -gTrainerFrontPic_PokemonBreederM:: @ 8E553F4 - .incbin "graphics/trainers/front_pics/pokemon_breeder_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_PokemonBreederM:: @ 8E55724 - .incbin "graphics/trainers/palettes/pokemon_breeder_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSPokemonBreederF:: @ 8E5574C - .incbin "graphics/trainers/front_pics/rs_pokemon_breeder_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSPokemonBreederF:: @ 8E55A80 - .incbin "graphics/trainers/palettes/rs_pokemon_breeder_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSPokemonRangerM:: @ 8E55AA8 - .incbin "graphics/trainers/front_pics/rs_pokemon_ranger_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSPokemonRangerM:: @ 8E55DF0 - .incbin "graphics/trainers/palettes/rs_pokemon_ranger_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSPokemonRangerF:: @ 8E55E18 - .incbin "graphics/trainers/front_pics/rs_pokemon_ranger_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSPokemonRangerF:: @ 8E5614C - .incbin "graphics/trainers/palettes/rs_pokemon_ranger_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_MagmaLeaderMaxie:: @ 8E56174 - .incbin "graphics/trainers/front_pics/magma_leader_maxie_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_MagmaLeaderMaxie:: @ 8E56468 - .incbin "graphics/trainers/palettes/magma_leader_maxie.gbapal.lz" - - .align 2 -gTrainerFrontPic_MagmaGruntM:: @ 8E56490 - .incbin "graphics/trainers/front_pics/magma_grunt_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_MagmaGruntM:: @ 8E56810 - .incbin "graphics/trainers/palettes/magma_grunt_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_MagmaGruntF:: @ 8E56838 - .incbin "graphics/trainers/front_pics/magma_grunt_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_MagmaGruntF:: @ 8E56BC4 - .incbin "graphics/trainers/palettes/magma_grunt_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSLass:: @ 8E56BEC - .incbin "graphics/trainers/front_pics/rs_lass_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSLass:: @ 8E56EC4 - .incbin "graphics/trainers/palettes/rs_lass.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSBugCatcher:: @ 8E56EEC - .incbin "graphics/trainers/front_pics/rs_bug_catcher_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSBugCatcher:: @ 8E57218 - .incbin "graphics/trainers/palettes/rs_bug_catcher.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSHiker:: @ 8E57240 - .incbin "graphics/trainers/front_pics/rs_hiker_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSHiker:: @ 8E576C0 - .incbin "graphics/trainers/palettes/rs_hiker.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSYoungCouple:: @ 8E576E8 - .incbin "graphics/trainers/front_pics/rs_young_couple_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSYoungCouple:: @ 8E57AA8 - .incbin "graphics/trainers/palettes/rs_young_couple.gbapal.lz" - - .align 2 -gTrainerFrontPic_OldCouple:: @ 8E57AD0 - .incbin "graphics/trainers/front_pics/old_couple_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_OldCouple:: @ 8E57FE0 - .incbin "graphics/trainers/palettes/old_couple.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSSisAndBro:: @ 8E58008 - .incbin "graphics/trainers/front_pics/rs_sis_and_bro_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSSisAndBro:: @ 8E58454 - .incbin "graphics/trainers/palettes/rs_sis_and_bro.gbapal.lz" - - .align 2 -gTrainerFrontPic_AquaAdminM:: @ 8E5847C - .incbin "graphics/trainers/front_pics/aqua_admin_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_AquaAdminM:: @ 8E58830 - .incbin "graphics/trainers/palettes/aqua_admin_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_AquaAdminF:: @ 8E58858 - .incbin "graphics/trainers/front_pics/aqua_admin_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_AquaAdminF:: @ 8E58C1C - .incbin "graphics/trainers/palettes/aqua_admin_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_MagmaAdminM:: @ 8E58C44 - .incbin "graphics/trainers/front_pics/magma_admin_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_MagmaAdminM:: @ 8E5901C - .incbin "graphics/trainers/palettes/magma_admin_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_MagmaAdminF:: @ 8E59044 - .incbin "graphics/trainers/front_pics/magma_admin_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_MagmaAdminF:: @ 8E593F4 - .incbin "graphics/trainers/palettes/magma_admin_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_LeaderWattson:: @ 8E5941C - .incbin "graphics/trainers/front_pics/leader_wattson_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_LeaderWattson:: @ 8E59764 - .incbin "graphics/trainers/palettes/leader_wattson.gbapal.lz" - - .align 2 -gTrainerFrontPic_LeaderFlannery:: @ 8E5978C - .incbin "graphics/trainers/front_pics/leader_flannery_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_LeaderFlannery:: @ 8E59B0C - .incbin "graphics/trainers/palettes/leader_flannery.gbapal.lz" - - .align 2 -gTrainerFrontPic_LeaderNorman:: @ 8E59B34 - .incbin "graphics/trainers/front_pics/leader_norman_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_LeaderNorman:: @ 8E59E70 - .incbin "graphics/trainers/palettes/leader_norman.gbapal.lz" - - .align 2 -gTrainerFrontPic_LeaderWinona:: @ 8E59E98 - .incbin "graphics/trainers/front_pics/leader_winona_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_LeaderWinona:: @ 8E5A218 - .incbin "graphics/trainers/palettes/leader_winona.gbapal.lz" - - .align 2 -gTrainerFrontPic_LeaderWallace:: @ 8E5A240 - .incbin "graphics/trainers/front_pics/leader_wallace_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_LeaderWallace:: @ 8E5A5B8 - .incbin "graphics/trainers/palettes/leader_wallace.gbapal.lz" - - .align 2 -gTrainerFrontPic_EliteFourGlacia:: @ 8E5A5E0 - .incbin "graphics/trainers/front_pics/elite_four_glacia_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_EliteFourGlacia:: @ 8E5A964 - .incbin "graphics/trainers/palettes/elite_four_glacia.gbapal.lz" - - .align 2 -gTrainerFrontPic_EliteFourDrake:: @ 8E5A98C - .incbin "graphics/trainers/front_pics/elite_four_drake_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_EliteFourDrake:: @ 8E5AD34 - .incbin "graphics/trainers/palettes/elite_four_drake.gbapal.lz" - - .align 2 -gTrainerFrontPic_Youngster:: @ 8E5AD5C - .incbin "graphics/trainers/front_pics/youngster_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Youngster:: @ 8E5AFFC - .incbin "graphics/trainers/palettes/youngster.gbapal.lz" - - .align 2 -gTrainerFrontPic_BugCatcher:: @ 8E5B024 - .incbin "graphics/trainers/front_pics/bug_catcher_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_BugCatcher:: @ 8E5B36C - .incbin "graphics/trainers/palettes/bug_catcher.gbapal.lz" - - .align 2 -gTrainerFrontPic_Lass:: @ 8E5B394 - .incbin "graphics/trainers/front_pics/lass_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Lass:: @ 8E5B680 - .incbin "graphics/trainers/palettes/lass.gbapal.lz" - - .align 2 -gTrainerFrontPic_Sailor:: @ 8E5B6A8 - .incbin "graphics/trainers/front_pics/sailor_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Sailor:: @ 8E5B9C8 - .incbin "graphics/trainers/palettes/sailor.gbapal.lz" - - .align 2 -gTrainerFrontPic_Camper:: @ 8E5B9F0 - .incbin "graphics/trainers/front_pics/camper_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Camper:: @ 8E5BCD0 - .incbin "graphics/trainers/palettes/camper.gbapal.lz" - - .align 2 -gTrainerFrontPic_Picnicker:: @ 8E5BCF8 - .incbin "graphics/trainers/front_pics/picnicker_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Picnicker:: @ 8E5BFE0 - .incbin "graphics/trainers/palettes/picnicker.gbapal.lz" - - .align 2 -gTrainerFrontPic_PokeManiac:: @ 8E5C008 - .incbin "graphics/trainers/front_pics/pokemaniac_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_PokeManiac:: @ 8E5C3C4 - .incbin "graphics/trainers/palettes/pokemaniac.gbapal.lz" - - .align 2 -gTrainerFrontPic_SuperNerd:: @ 8E5C3EC - .incbin "graphics/trainers/front_pics/super_nerd_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_SuperNerd:: @ 8E5C704 - .incbin "graphics/trainers/palettes/super_nerd.gbapal.lz" - - .align 2 -gTrainerFrontPic_Hiker:: @ 8E5C72C - .incbin "graphics/trainers/front_pics/hiker_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Hiker:: @ 8E5CB9C - .incbin "graphics/trainers/palettes/hiker.gbapal.lz" - - .align 2 -gTrainerFrontPic_Biker:: @ 8E5CBC4 - .incbin "graphics/trainers/front_pics/biker_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Biker:: @ 8E5D12C - .incbin "graphics/trainers/palettes/biker.gbapal.lz" - - .align 2 -gTrainerFrontPic_Burglar:: @ 8E5D154 - .incbin "graphics/trainers/front_pics/burglar_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Burglar:: @ 8E5D4A0 - .incbin "graphics/trainers/palettes/burglar.gbapal.lz" - - .align 2 -gTrainerFrontPic_Engineer:: @ 8E5D4C8 - .incbin "graphics/trainers/front_pics/engineer_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Engineer:: @ 8E5D8D4 - .incbin "graphics/trainers/palettes/engineer.gbapal.lz" - - .align 2 -gTrainerFrontPic_Fisherman:: @ 8E5D8FC - .incbin "graphics/trainers/front_pics/fisherman_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Fisherman:: @ 8E5DCA8 - .incbin "graphics/trainers/palettes/fisherman.gbapal.lz" - - .align 2 -gTrainerFrontPic_SwimmerM:: @ 8E5DCD0 - .incbin "graphics/trainers/front_pics/swimmer_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_SwimmerM:: @ 8E5DFA8 - .incbin "graphics/trainers/palettes/swimmer_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_CueBall:: @ 8E5DFD0 - .incbin "graphics/trainers/front_pics/cue_ball_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_CueBall:: @ 8E5E598 - .incbin "graphics/trainers/palettes/cue_ball.gbapal.lz" - - .align 2 -gTrainerFrontPic_Gamer:: @ 8E5E5C0 - .incbin "graphics/trainers/front_pics/gamer_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Gamer:: @ 8E5E954 - .incbin "graphics/trainers/palettes/gamer.gbapal.lz" - - .align 2 -gTrainerFrontPic_Beauty:: @ 8E5E97C - .incbin "graphics/trainers/front_pics/beauty_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Beauty:: @ 8E5ECD8 - .incbin "graphics/trainers/palettes/beauty.gbapal.lz" - - .align 2 -gTrainerFrontPic_SwimmerF:: @ 8E5ED00 - .incbin "graphics/trainers/front_pics/swimmer_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_SwimmerF:: @ 8E5EFEC - .incbin "graphics/trainers/palettes/swimmer_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_PsychicM:: @ 8E5F014 - .incbin "graphics/trainers/front_pics/psychic_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_PsychicM:: @ 8E5F374 - .incbin "graphics/trainers/palettes/psychic_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_Rocker:: @ 8E5F39C - .incbin "graphics/trainers/front_pics/rocker_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Rocker:: @ 8E5F7F8 - .incbin "graphics/trainers/palettes/rocker.gbapal.lz" - - .align 2 -gTrainerFrontPic_Juggler:: @ 8E5F820 - .incbin "graphics/trainers/front_pics/juggler_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Juggler:: @ 8E5FC5C - .incbin "graphics/trainers/palettes/juggler.gbapal.lz" - - .align 2 -gTrainerFrontPic_Tamer:: @ 8E5FC84 - .incbin "graphics/trainers/front_pics/tamer_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Tamer:: @ 8E60038 - .incbin "graphics/trainers/palettes/tamer.gbapal.lz" - - .align 2 -gTrainerFrontPic_BirdKeeper:: @ 8E60060 - .incbin "graphics/trainers/front_pics/bird_keeper_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_BirdKeeper:: @ 8E60424 - .incbin "graphics/trainers/palettes/bird_keeper.gbapal.lz" - - .align 2 -gTrainerFrontPic_BlackBelt:: @ 8E6044C - .incbin "graphics/trainers/front_pics/black_belt_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_BlackBelt:: @ 8E6086C - .incbin "graphics/trainers/palettes/black_belt.gbapal.lz" - - .align 2 -gTrainerFrontPic_Rival1:: @ 8E60894 - .incbin "graphics/trainers/front_pics/rival_1_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Rival1:: @ 8E60B4C - .incbin "graphics/trainers/palettes/rival_1.gbapal.lz" - - .align 2 -gTrainerFrontPic_Scientist:: @ 8E60B74 - .incbin "graphics/trainers/front_pics/scientist_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Scientist:: @ 8E60F50 - .incbin "graphics/trainers/palettes/scientist.gbapal.lz" - - .align 2 -gTrainerFrontPic_LeaderGiovanni:: @ 8E60F78 - .incbin "graphics/trainers/front_pics/leader_giovanni_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_LeaderGiovanni:: @ 8E61288 - .incbin "graphics/trainers/palettes/leader_giovanni.gbapal.lz" - - .align 2 -gTrainerFrontPic_RocketGruntM:: @ 8E612B0 - .incbin "graphics/trainers/front_pics/rocket_grunt_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RocketGruntM:: @ 8E615E4 - .incbin "graphics/trainers/palettes/rocket_grunt_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_CooltrainerM:: @ 8E6160C - .incbin "graphics/trainers/front_pics/cool_trainer_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_CooltrainerM:: @ 8E618DC - .incbin "graphics/trainers/palettes/cool_trainer_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_CooltrainerF:: @ 8E61904 - .incbin "graphics/trainers/front_pics/cool_trainer_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_CooltrainerF:: @ 8E61C1C - .incbin "graphics/trainers/palettes/cool_trainer_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_EliteFourLorelei:: @ 8E61C44 - .incbin "graphics/trainers/front_pics/elite_four_lorelei_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_EliteFourLorelei:: @ 8E61F70 - .incbin "graphics/trainers/palettes/elite_four_lorelei.gbapal.lz" - - .align 2 -gTrainerFrontPic_EliteFourBruno:: @ 8E61F98 - .incbin "graphics/trainers/front_pics/elite_four_bruno_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_EliteFourBruno:: @ 8E623E4 - .incbin "graphics/trainers/palettes/elite_four_bruno.gbapal.lz" - - .align 2 -gTrainerFrontPic_EliteFourAgatha:: @ 8E6240C - .incbin "graphics/trainers/front_pics/elite_four_agatha_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_EliteFourAgatha:: @ 8E62728 - .incbin "graphics/trainers/palettes/elite_four_agatha.gbapal.lz" - - .align 2 -gTrainerFrontPic_EliteFourLance:: @ 8E62750 - .incbin "graphics/trainers/front_pics/elite_four_lance_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_EliteFourLance:: @ 8E62B18 - .incbin "graphics/trainers/palettes/elite_four_lance.gbapal.lz" - - .align 2 -gTrainerFrontPic_LeaderBrock:: @ 8E62B40 - .incbin "graphics/trainers/front_pics/leader_brock_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_LeaderBrock:: @ 8E62E8C - .incbin "graphics/trainers/palettes/leader_brock.gbapal.lz" - - .align 2 -gTrainerFrontPic_LeaderMisty:: @ 8E62EB4 - .incbin "graphics/trainers/front_pics/leader_misty_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_LeaderMisty:: @ 8E631B4 - .incbin "graphics/trainers/palettes/leader_misty.gbapal.lz" - - .align 2 -gTrainerFrontPic_LeaderLtSurge:: @ 8E631DC - .incbin "graphics/trainers/front_pics/leader_lt_surge_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_LeaderLtSurge:: @ 8E6356C - .incbin "graphics/trainers/palettes/leader_lt_surge.gbapal.lz" - - .align 2 -gTrainerFrontPic_LeaderErika:: @ 8E63594 - .incbin "graphics/trainers/front_pics/leader_erika_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_LeaderErika:: @ 8E63888 - .incbin "graphics/trainers/palettes/leader_erika.gbapal.lz" - - .align 2 -gTrainerFrontPic_LeaderKoga:: @ 8E638B0 - .incbin "graphics/trainers/front_pics/leader_koga_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_LeaderKoga:: @ 8E63C18 - .incbin "graphics/trainers/palettes/leader_koga.gbapal.lz" - - .align 2 -gTrainerFrontPic_LeaderBlaine:: @ 8E63C40 - .incbin "graphics/trainers/front_pics/leader_blaine_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_LeaderBlaine:: @ 8E6404C - .incbin "graphics/trainers/palettes/leader_blaine.gbapal.lz" - - .align 2 -gTrainerFrontPic_LeaderSabrina:: @ 8E64074 - .incbin "graphics/trainers/front_pics/leader_sabrina_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_LeaderSabrina:: @ 8E6437C - .incbin "graphics/trainers/palettes/leader_sabrina.gbapal.lz" - - .align 2 -gTrainerFrontPic_Gentleman:: @ 8E643A4 - .incbin "graphics/trainers/front_pics/gentleman_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Gentleman:: @ 8E646DC - .incbin "graphics/trainers/palettes/gentleman.gbapal.lz" - - .align 2 -gTrainerFrontPic_Rival2:: @ 8E64704 - .incbin "graphics/trainers/front_pics/rival_2_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Rival2:: @ 8E649F8 - .incbin "graphics/trainers/palettes/rival_2.gbapal.lz" - - .align 2 -gTrainerFrontPic_ChampionRival:: @ 8E64A20 - .incbin "graphics/trainers/front_pics/champion_rival_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_ChampionRival:: @ 8E64D1C - .incbin "graphics/trainers/palettes/champion_rival.gbapal.lz" - - .align 2 -gTrainerFrontPic_Channeler:: @ 8E64D44 - .incbin "graphics/trainers/front_pics/channeler_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Channeler:: @ 8E6511C - .incbin "graphics/trainers/palettes/channeler.gbapal.lz" - - .align 2 -gTrainerFrontPic_Twins:: @ 8E65144 - .incbin "graphics/trainers/front_pics/twins_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Twins:: @ 8E65494 - .incbin "graphics/trainers/palettes/twins.gbapal.lz" - - .align 2 -gTrainerFrontPic_CoolCouple:: @ 8E654BC - .incbin "graphics/trainers/front_pics/cool_couple_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_CoolCouple:: @ 8E6599C - .incbin "graphics/trainers/palettes/cool_couple.gbapal.lz" - - .align 2 -gTrainerFrontPic_YoungCouple:: @ 8E659C4 - .incbin "graphics/trainers/front_pics/young_couple_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_YoungCouple:: @ 8E65E10 - .incbin "graphics/trainers/palettes/young_couple.gbapal.lz" - - .align 2 -gTrainerFrontPic_CrushKin:: @ 8E65E38 - .incbin "graphics/trainers/front_pics/crush_kin_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_CrushKin:: @ 8E663D8 - .incbin "graphics/trainers/palettes/crush_kin.gbapal.lz" - - .align 2 -gTrainerFrontPic_SisAndBro:: @ 8E66400 - .incbin "graphics/trainers/front_pics/sis_and_bro_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_SisAndBro:: @ 8E66860 - .incbin "graphics/trainers/palettes/sis_and_bro.gbapal.lz" - - .align 2 -gTrainerFrontPic_ProfessorOak:: @ 8E66888 - .incbin "graphics/trainers/front_pics/professor_oak_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_ProfessorOak:: @ 8E66BF4 - .incbin "graphics/trainers/palettes/professor_oak.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSBrendan2:: @ 8E66C1C - .incbin "graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSBrendan2:: @ 8E66F30 - .incbin "graphics/trainers/palettes/ruby_sapphire_brendan.gbapal.lz" - - .align 2 -gTrainerFrontPic_RSMay2:: @ 8E66F58 - .incbin "graphics/trainers/front_pics/ruby_sapphire_may_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RSMay2:: @ 8E67258 - .incbin "graphics/trainers/palettes/ruby_sapphire_may.gbapal.lz" - - .align 2 -gTrainerFrontPic_Red:: @ 8E67280 - .incbin "graphics/trainers/front_pics/red_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Red:: @ 8E6758C - .incbin "graphics/trainers/palettes/red.gbapal.lz" - - .align 2 -gTrainerFrontPic_Leaf:: @ 8E675B4 - .incbin "graphics/trainers/front_pics/leaf_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Leaf:: @ 8E678F0 - .incbin "graphics/trainers/palettes/leaf.gbapal.lz" - - .align 2 -gTrainerFrontPic_RocketGruntF:: @ 8E67918 - .incbin "graphics/trainers/front_pics/rocket_grunt_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RocketGruntF:: @ 8E67C30 - .incbin "graphics/trainers/palettes/rocket_grunt_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_PsychicF:: @ 8E67C58 - .incbin "graphics/trainers/front_pics/psychic_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_PsychicF:: @ 8E67FF8 - .incbin "graphics/trainers/palettes/psychic_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_CrushGirl:: @ 8E68020 - .incbin "graphics/trainers/front_pics/crush_girl_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_CrushGirl:: @ 8E6832C - .incbin "graphics/trainers/palettes/crush_girl.gbapal.lz" - - .align 2 -gTrainerFrontPic_TuberF:: @ 8E68354 - .incbin "graphics/trainers/front_pics/tuber_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_TuberF:: @ 8E68658 - .incbin "graphics/trainers/palettes/tuber_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_PokemonBreederF:: @ 8E68680 - .incbin "graphics/trainers/front_pics/pokemon_breeder_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_PokemonBreederF:: @ 8E689C0 - .incbin "graphics/trainers/palettes/pokemon_breeder_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_PokemonRangerM:: @ 8E689E8 - .incbin "graphics/trainers/front_pics/pokemon_ranger_m_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_PokemonRangerM:: @ 8E68D48 - .incbin "graphics/trainers/palettes/pokemon_ranger_m.gbapal.lz" - - .align 2 -gTrainerFrontPic_PokemonRangerF:: @ 8E68D70 - .incbin "graphics/trainers/front_pics/pokemon_ranger_f_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_PokemonRangerF:: @ 8E690A4 - .incbin "graphics/trainers/palettes/pokemon_ranger_f.gbapal.lz" - - .align 2 -gTrainerFrontPic_AromaLady:: @ 8E690CC - .incbin "graphics/trainers/front_pics/aroma_lady_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_AromaLady:: @ 8E6941C - .incbin "graphics/trainers/palettes/aroma_lady.gbapal.lz" - - .align 2 -gTrainerFrontPic_RuinManiac:: @ 8E69444 - .incbin "graphics/trainers/front_pics/ruin_maniac_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_RuinManiac:: @ 8E69850 - .incbin "graphics/trainers/palettes/ruin_maniac.gbapal.lz" - - .align 2 -gTrainerFrontPic_Lady:: @ 8E69878 - .incbin "graphics/trainers/front_pics/lady_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Lady:: @ 8E69BA0 - .incbin "graphics/trainers/palettes/lady.gbapal.lz" - - .align 2 -gTrainerFrontPic_Painter:: @ 8E69BC8 - .incbin "graphics/trainers/front_pics/painter_front_pic.4bpp.lz" - - .align 2 -gTrainerPalette_Painter:: @ 8E69E94 - .incbin "graphics/trainers/palettes/painter.gbapal.lz" - - .align 2 -gTrainerBackPic_Red:: @ 8E69EBC - .incbin "graphics/trainers/back_pics/red_back_pic.4bpp" - - .align 2 -gTrainerBackPic_Leaf:: @ 8E6C6BC - .incbin "graphics/trainers/back_pics/leaf_back_pic.4bpp" - - .align 2 -gTrainerBackPic_Pokedude:: @ 8E6EEBC - .incbin "graphics/trainers/back_pics/pokedude_back_pic.4bpp" - - .align 2 -gTrainerBackPic_OldMan:: @ 8E70EBC - .incbin "graphics/trainers/back_pics/old_man_back_pic.4bpp" - - .align 2 -gTrainerBackPic_RSBrendan:: @ 8E72EBC - .incbin "graphics/trainers/back_pics/ruby_sapphire_brendan_back_pic.4bpp" - - .align 2 -gTrainerBackPic_RSMay:: @ 8E74EBC - .incbin "graphics/trainers/back_pics/ruby_sapphire_may_back_pic.4bpp" - - .align 2 -gTrainerPalette_RedBackPic:: @ 8E76EBC - .incbin "graphics/trainers/palettes/leaf_back_pic.gbapal.lz" - - .align 2 -gTrainerPalette_LeafBackPic:: @ 8E76EE4 - .incbin "graphics/trainers/palettes/red_back_pic.gbapal.lz" - - .align 2 -gTrainerPalette_PokedudeBackPic:: @ 8E76F0C - .incbin "graphics/trainers/palettes/pokedude_back_pic.gbapal.lz" - - .align 2 -gTrainerPalette_OldManBackPic:: @ 8E76F34 - .incbin "graphics/trainers/palettes/old_man_back_pic.gbapal.lz" - - .align 2 -gMonIcon_QuestionMark:: @ 8E76F5C - .incbin "graphics/pokemon/circled_question_mark/icon.4bpp" - - .align 2 -gMonFootprint_QuestionMark:: @ 8E7735C - .incbin "graphics/pokemon/circled_question_mark/footprint.1bpp" - - .align 2 -gFile_graphics_battle_transitions_vs_frame_sheet:: @ 8E7737C - .incbin "graphics/battle_transitions/vs_frame.4bpp.lz" - - .align 2 -gFile_graphics_battle_transitions_vs_frame_tilemap:: @ 8E77464 - .incbin "graphics/battle_transitions/vs_frame.bin.lz" - - .align 2 -gFile_graphics_battle_transitions_vs_frame_palette:: @ 8E77570 - .incbin "graphics/battle_transitions/vs_frame.gbapal.lz" - - .align 2 -gFile_graphics_battle_transitions_vs_sheet:: @ 8E77598 - .incbin "graphics/battle_transitions/vs.4bpp.lz" @from ruby - - .align 2 -gFile_graphics_battle_terrain_plain_palette_palette:: @ 8E777A8 - .incbin "graphics/battle_terrain/plain/palette.gbapal.lz" - - .align 2 -gFile_graphics_battle_terrain_building_tiles_sheet:: @ 8E777E4 - .incbin "graphics/battle_terrain/building/tiles.4bpp.lz" - - .align 2 -gFile_graphics_battle_terrain_stadium_battle_frontier_palette:: @ 8E77D90 - .incbin "graphics/battle_terrain/stadium/battle_frontier.gbapal.lz" - - .align 2 -gFile_graphics_battle_terrain_building_map_tilemap:: @ 8E77DCC - .incbin "graphics/battle_terrain/building/map.bin.lz" - - .align 2 -gFile_graphics_battle_terrain_stadium_tiles_sheet:: @ 8E7807C - .incbin "graphics/battle_terrain/stadium/tiles.4bpp.lz" - - .align 2 -gFile_graphics_battle_terrain_stadium_map_tilemap:: @ 8E78684 - .incbin "graphics/battle_terrain/stadium/map.bin.lz" - - .align 2 -gFile_graphics_battle_terrain_building_palette_palette:: @ 8E78934 - .incbin "graphics/battle_terrain/building/palette.gbapal.lz" - - .align 2 -gFile_graphics_battle_terrain_water_kyogre_palette:: @ 8E78974 - .incbin "graphics/battle_terrain/water/kyogre.gbapal.lz" - - .align 2 -gFile_graphics_battle_terrain_cave_groudon_palette:: @ 8E789B0 - .incbin "graphics/battle_terrain/cave/groudon.gbapal.lz" - - .align 2 -gFile_graphics_battle_terrain_building_palette2_palette:: @ 8E78A08 - .incbin "graphics/battle_terrain/building/palette2.gbapal.lz" - - .align 2 -gFile_graphics_battle_terrain_building_palette3_palette:: @ 8E78A44 - .incbin "graphics/battle_terrain/building/palette3.gbapal.lz" - - .align 2 -gFile_graphics_battle_terrain_stadium_palette1_palette:: @ 8E78A80 - .incbin "graphics/battle_terrain/stadium/palette1.gbapal.lz" - - .align 2 -gFile_graphics_battle_terrain_stadium_palette2_palette:: @ 8E78AE0 - .incbin "graphics/battle_terrain/stadium/palette2.gbapal.lz" - - .align 2 -gFile_graphics_battle_terrain_stadium_palette3_palette:: @ 8E78B4C - .incbin "graphics/battle_terrain/stadium/palette3.gbapal.lz" - - .align 2 -gFile_graphics_battle_terrain_stadium_palette4_palette:: @ 8E78B9C - .incbin "graphics/battle_terrain/stadium/palette4.gbapal.lz" - - .align 2 -gFile_graphics_battle_terrain_stadium_palette5_palette:: @ 8E78BE4 - .incbin "graphics/battle_terrain/stadium/palette5.gbapal.lz" - - .align 2 -gFile_graphics_battle_terrain_stadium_palette6_palette:: @ 8E78C28 - .incbin "graphics/battle_terrain/stadium/palette6.gbapal.lz" - - .align 2 -gFile_graphics_battle_terrain_stadium_palette7_palette:: @ 8E78C78 - .incbin "graphics/battle_terrain/stadium/palette7.gbapal.lz" @from ruby - - .align 2 -gFile_graphics_battle_terrain_building_anim_tiles_sheet:: @ 8E78CB4 - .incbin "graphics/battle_terrain/building/anim_tiles.4bpp.lz" - - .align 2 -gFile_graphics_battle_terrain_building_anim_map_tilemap:: @ 8E790C4 - .incbin "graphics/battle_terrain/building/anim_map.bin.lz" - - .align 2 -gBattleAnimSpriteGfx_FlyingDirt:: @ 8E791E8 - .incbin "graphics/battle_anims/sprites/261.4bpp.lz" - - .align 2 -gFile_graphics_battle_anims_backgrounds_sandstorm_brew_tilemap:: @ 8E79354 - .incbin "graphics/battle_anims/backgrounds/sandstorm_brew.bin.lz" - - .align 2 -gFile_graphics_battle_anims_backgrounds_sandstorm_brew_sheet:: @ 8E794D0 - .incbin "graphics/battle_anims/backgrounds/sandstorm_brew.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_FlyingDirt:: @ 8E799FC - .incbin "graphics/battle_anims/sprites/261.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_MetalSoundWaves:: @ 8E79A24 - .incbin "graphics/battle_anims/sprites/260.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_MetalSoundWaves:: @ 8E79BE0 - .incbin "graphics/battle_anims/sprites/260.gbapal.lz" - - .align 2 -gBattleAnimBgImage_Ice:: @ 8E79BF8 - .incbin "graphics/battle_anims/backgrounds/15.4bpp.lz" - - .align 2 -gBattleAnimBgPalette_Ice:: @ 8E7A568 - .incbin "graphics/battle_anims/backgrounds/15.gbapal.lz" - - .align 2 -gBattleAnimBgTilemap_Ice:: @ 8E7A58C - .incbin "graphics/battle_anims/backgrounds/15.bin.lz" - - .align 2 -gBattleAnimSpriteGfx_IcicleSpear:: @ 8E7A784 - .incbin "graphics/battle_anims/sprites/262.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_IcicleSpear:: @ 8E7A858 - .incbin "graphics/battle_anims/sprites/262.gbapal.lz" - - .align 2 -gContestNextTurnGfx:: @ 8E7A880 - .incbin "graphics/contest/next_turn.4bpp.lz" - - .align 2 -gFile_graphics_contest_nextturn_numbers:: @ 8E7A8DC - .incbin "graphics/contest/next_turn_numbers.4bpp" - - .align 2 -gFile_graphics_contest_nextturn_random:: @ 8E7A95C - .incbin "graphics/contest/next_turn_random.4bpp" - - .align 2 -gBattleAnimSpriteGfx_GlowyRedOrb:: @ 8E7A97C - .incbin "graphics/battle_anims/sprites/264.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_GlowyRedOrb:: @ 8E7A99C - .incbin "graphics/battle_anims/sprites/264.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_GlowyGreenOrb:: @ 8E7A9B4 - .incbin "graphics/battle_anims/sprites/265.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_SleepPowder:: @ 8E7A9CC - .incbin "graphics/battle_anims/sprites/067.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_StunSpore:: @ 8E7A9EC - .incbin "graphics/battle_anims/sprites/068.gbapal.lz" - - .align 2 -gContestApplauseGfx:: @ 8E7AA0C - .incbin "graphics/contest/applause.4bpp.lz" - - .align 2 -gFile_graphics_contest_applause_meter:: @ 8E7AB38 - .incbin "graphics/contest/applause_meter.4bpp" - - .align 2 -gFile_graphics_contest_nextturn:: @ 8E7ABB8 - .incbin "graphics/contest/next_turn.gbapal" - - .align 2 -gBattleAnimSpriteGfx_Splash:: @ 8E7ABD8 - .incbin "graphics/battle_anims/sprites/272.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Splash:: @ 8E7ADF4 - .incbin "graphics/battle_anims/sprites/272.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_SweatBead:: @ 8E7AE18 - .incbin "graphics/battle_anims/sprites/273.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Pokeblock:: @ 8E7AE40 - .incbin "graphics/battle_anims/sprites/269.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Pokeblock:: @ 8E7AE94 - .incbin "graphics/battle_anims/sprites/269.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Gem1:: @ 8E7AEAC - .incbin "graphics/battle_anims/sprites/274.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Gem2:: @ 8E7B02C - .incbin "graphics/battle_anims/sprites/275.4bpp.lz" - - .align 2 -gBattleAnimSpriteGfx_Gem3:: @ 8E7B198 - .incbin "graphics/battle_anims/sprites/276.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Gem1:: @ 8E7B300 - .incbin "graphics/battle_anims/sprites/274.gbapal.lz" - - .align 2 -gBattleAnimBgImage_InAir:: @ 8E7B328 - .incbin "graphics/battle_anims/backgrounds/17.4bpp.lz" - - .align 2 -gBattleAnimBgPalette_InAir:: @ 8E7B484 - .incbin "graphics/battle_anims/backgrounds/17.gbapal.lz" - - .align 2 -gBattleAnimBgTilemap_InAir:: @ 8E7B4AC - .incbin "graphics/battle_anims/backgrounds/17.bin.lz" - - .align 2 -gBattleAnimSpriteGfx_Protect:: @ 8E7B694 - .incbin "graphics/battle_anims/sprites/280.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Protect:: @ 8E7BA90 - .incbin "graphics/battle_anims/sprites/280.gbapal.lz" - - .align 2 -gFile_graphics_battle_anims_backgrounds_water_muddy_palette:: @ 8E7BAB0 - .incbin "graphics/battle_anims/backgrounds/water_muddy.gbapal.lz" - - .align 2 -gFile_graphics_battle_interface_enemy_mon_shadow_sheet:: @ 8E7BAD4 - .incbin "graphics/battle_interface/enemy_mon_shadow.4bpp.lz" - - .align 2 -gFile_graphics_battle_interface_ball_status_bar_sheet:: @ 8E7BB04 - .incbin "graphics/battle_interface/ball_status_bar.4bpp.lz" - - .align 2 -gMonIcon_Egg:: @ 8E7BB88 - .incbin "graphics/pokemon/egg/icon.4bpp" - - .align 2 -gBattleAnimBgImage_Ghost:: @ 8E7BF88 - .incbin "graphics/battle_anims/backgrounds/02.4bpp.lz" - - .align 2 -gBattleAnimBgPalette_Ghost:: @ 8E7CC50 - .incbin "graphics/battle_anims/backgrounds/02.gbapal.lz" - - .align 2 -gBattleAnimBgTilemap_Ghost:: @ 8E7CC6C - .incbin "graphics/battle_anims/backgrounds/02.bin.lz" - - .align 2 -gBattleAnimSpritePal_WhipHit:: @ 8E7CF60 - .incbin "graphics/battle_anims/sprites/287.gbapal.lz" - - .align 2 -gBattleAnimBgPalette_Solarbeam:: @ 8E7CF88 - .incbin "graphics/battle_anims/backgrounds/24.gbapal.lz" - - .align 2 -gFile_graphics_unknown_unknown_E7CFB0_tilemap:: @ 8E7CFB0 - .incbin "graphics/unknown/unknown_E7CFB0.bin.lz" - - .align 2 -gFile_graphics_berry_blender_center_sheet:: @ 8E7D4AC - .incbin "graphics/berry_blender/center.8bpp.lz" - - .align 2 -gFile_graphics_berry_blender_outer_sheet:: @ 8E7DCCC - .incbin "graphics/berry_blender/outer.4bpp.lz" - - .align 2 -gFile_graphics_berry_blender_outer_map_tilemap:: @ 8E7E700 - .incbin "graphics/berry_blender/outer_map.bin.lz" - - .align 2 -gBattleAnimBgPalette_Cosmic:: @ 8E7EA14 - .incbin "graphics/battle_anims/backgrounds/16.gbapal.lz" - - .align 2 -gBattleAnimBgImage_Cosmic:: @ 8E7EA3C - .incbin "graphics/battle_anims/backgrounds/16.4bpp.lz" - - .align 2 -gBattleAnimBgTilemap_Cosmic:: @ 8E7EC9C - .incbin "graphics/battle_anims/backgrounds/16.bin.lz" - - .align 2 -gBattleAnimSpritePal_SlamHit2:: @ 8E7EDD8 - .incbin "graphics/battle_anims/sprites/277.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_SlamHit2:: @ 8E7EE00 - .incbin "graphics/battle_anims/sprites/277.4bpp.lz" - - .align 2 -gBattleAnimFogTilemap:: @ 8E7F1F4 - .incbin "graphics/battle_anims/backgrounds/fog.bin.lz" - - .align 2 -gBattleAnimSpritePal_WeatherBall:: @ 8E7F36C - .incbin "graphics/battle_anims/sprites/283.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_WeatherBall:: @ 8E7F388 - .incbin "graphics/battle_anims/sprites/283.4bpp.lz" - - .align 2 -gBattleAnimBgTilemap_ScaryFacePlayer:: @ 8E7F4AC - .incbin "graphics/battle_anims/backgrounds/scary_face_player.bin.lz" - - .align 2 -gBattleAnimBgTilemap_ScaryFaceOpponent:: @ 8E7F690 - .incbin "graphics/battle_anims/backgrounds/scary_face_opponent.bin.lz" - - .align 2 -gBattleAnimBgTilemap_ScaryFaceContest:: @ 8E7F874 - .incbin "graphics/battle_anims/backgrounds/scary_face_contest.bin.lz" - - .align 2 -gBattleAnimSpriteGfx_Hail:: @ 8E7FA58 - .incbin "graphics/battle_anims/sprites/263.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Hail:: @ 8E7FA98 - .incbin "graphics/battle_anims/sprites/263.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_GreenSpike:: @ 8E7FAB0 - .incbin "graphics/battle_anims/sprites/266.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_GreenSpike:: @ 8E7FAF0 - .incbin "graphics/battle_anims/sprites/266.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_WhiteCircleOfLight:: @ 8E7FB08 - .incbin "graphics/battle_anims/sprites/267.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_GlowyBlueOrb:: @ 8E7FB20 - .incbin "graphics/battle_anims/sprites/268.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Recycle:: @ 8E7FB38 - .incbin "graphics/battle_anims/sprites/278.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Recycle:: @ 8E7FD44 - .incbin "graphics/battle_anims/sprites/278.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_RedParticles:: @ 8E7FD60 - .incbin "graphics/battle_anims/sprites/279.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_RedParticles:: @ 8E7FDAC - .incbin "graphics/battle_anims/sprites/279.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_DirtMound:: @ 8E7FDC8 - .incbin "graphics/battle_anims/sprites/281.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_DirtMound:: @ 8E7FF50 - .incbin "graphics/battle_anims/sprites/281.gbapal.lz" - - .align 2 -gBattleAnimBgImage_Fissure:: @ 8E7FF70 - .incbin "graphics/battle_anims/backgrounds/21.4bpp.lz" - - .align 2 -gBattleAnimBgPalette_Fissure:: @ 8E80264 - .incbin "graphics/battle_anims/backgrounds/21.gbapal.lz" - - .align 2 -gBattleAnimBgTilemap_Fissure:: @ 8E80280 - .incbin "graphics/battle_anims/backgrounds/21.bin.lz" - - .align 2 -gBattleAnimSpriteGfx_Bird:: @ 8E8056C - .incbin "graphics/battle_anims/sprites/284.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Bird:: @ 8E808E8 - .incbin "graphics/battle_anims/sprites/284.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_CrossImpact:: @ 8E80904 - .incbin "graphics/battle_anims/sprites/285.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_CrossImpact:: @ 8E809A4 - .incbin "graphics/battle_anims/sprites/285.gbapal.lz" - - .align 2 -gFile_graphics_battle_anims_backgrounds_water_sheet:: @ 8E809CC - .incbin "graphics/battle_anims/backgrounds/water.4bpp.lz" - - .align 2 -gFile_graphics_battle_anims_backgrounds_water_palette:: @ 8E81CEC - .incbin "graphics/battle_anims/backgrounds/water.gbapal.lz" - - .align 2 -gFile_graphics_unknown_unknown_E81D14_tilemap:: @ 8E81D14 - .incbin "graphics/unknown/unknown_E81D14.bin.lz" - - .align 2 -gFile_graphics_unknown_unknown_E81FE4_tilemap:: @ 8E81FE4 - .incbin "graphics/unknown/unknown_E81FE4.bin.lz" - - .align 2 -gFile_graphics_unknown_unknown_E822B8_tilemap:: @ 8E822B8 - .incbin "graphics/unknown/unknown_E822B8.bin.lz" - - .align 2 -gBattleAnimSpritePal_Slash2:: @ 8E825AC - .incbin "graphics/battle_anims/sprites/286.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_WhiteShadow:: @ 8E825D4 - .incbin "graphics/battle_anims/sprites/188.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_WhiteShadow:: @ 8E826E8 - .incbin "graphics/battle_anims/sprites/188.gbapal.lz" - - .align 2 -gPartyMenuBg_Gfx:: @ 8E82700 - .incbin "graphics/interface/party_menu_misc.4bpp.lz" - - .align 2 -gPartyMenuBg_Pal:: @ 8E829C8 - .incbin "graphics/interface/party_menu_misc.gbapal.lz" - - .align 2 -gPartyMenuBg_Tilemap:: @ 8E82AB0 - .incbin "graphics/interface/party_menu_misc.bin.lz" - - .align 2 -gPartyMenuPokeball_Gfx:: @ 8E82BE8 - .incbin "graphics/interface/party_menu_pokeball.4bpp.lz" - - .align 2 -gPartyMenuPokeballSmall_Gfx:: @ 8E82D68 - .incbin "graphics/interface/party_menu_pokeball_small.4bpp.lz" - - .align 2 -gPartyMenuPokeball_Pal:: @ 8E82E7C - .incbin "graphics/interface/party_menu_pokeball.gbapal.lz" - - .align 2 -gStatusGfx_Icons:: @ 8E82EA0 - .incbin "graphics/interface/status_icons.4bpp.lz" - - .align 2 -gStatusPal_Icons:: @ 8E830A4 - .incbin "graphics/interface/status_icons.gbapal.lz" - - .align 2 -gUnknown_8E830CC:: @ 8E830CC - .incbin "graphics/item_menu/bag_tiles.4bpp.lz" @ bag tiles - - .align 2 -gUnknown_8E832C0:: @ 8E832C0 - .incbin "graphics/item_menu/bag_tilemap1.bin.lz" @ bag menu - - .align 2 -gUnknown_8E83444:: @ 8E83444 - .incbin "graphics/item_menu/bag_tilemap2.bin.lz" @ PC deposit items - - .align 2 -gBagBgPalette:: @ 8E835B4 - .incbin "graphics/item_menu/bag_pal1.gbapal.lz" @ palette 1 (Boy + misc Pal) - - .align 2 -gBagBgPalette_FemaleOverride:: @ 8E83604 - .incbin "graphics/item_menu/bag_pal2.gbapal.lz" @ palette 2 (Girl) - -gUnknown_8E8362C:: @ 8E8362C - .incbin "graphics/interface/unk_8E8362C.4bpp.lz" - -gUnknown_8E83DBC:: @ 8E83DBC - .incbin "graphics/interface/unk_8E83DBC.4bpp.lz" - -gUnknown_8E84560:: @ 8E84560 - .incbin "graphics/interface/unk_8E84560.gbapal.lz" - - .align 2 -gFile_graphics_interface_bag_swap_sheet:: @ 8E84588 - .incbin "graphics/interface/bag_swap.4bpp.lz" - - .align 2 -gFile_graphics_interface_bag_swap_palette:: @ 8E845C8 - .incbin "graphics/interface/bag_swap.gbapal.lz" - - .align 2 -gUnknown_8E845D8:: @ 8E845D8 - .incbin "graphics/tm_case/unk_8E845D8.4bpp.lz" - -gUnknown_8E84A24:: @ 8E84A24 - .incbin "graphics/tm_case/unk_8E84A24.bin.lz" - -gUnknown_8E84B70:: @ 8E84B70 - .incbin "graphics/tm_case/unk_8E84B70.bin.lz" - -gUnknown_8E84CB0:: @ 8E84CB0 - .incbin "graphics/tm_case/unk_8E84CB0.gbapal.lz" - -gUnknown_8E84D20:: @ 8E84D20 - .incbin "graphics/tm_case/unk_8E84D20.gbapal.lz" - -gTMCase_TMSpriteGfx:: @ 8E84D90 - .incbin "graphics/tm_case/unk_8E84D90.4bpp.lz" - -gUnknown_8E84F20:: @ 8E84F20 - .incbin "graphics/tm_case/unk_8E84F20.gbapal.lz" - -gUnknown_8E85068:: @ 8E85068 - .incbin "graphics/tm_case/unk_8E85068.gbapal.lz" - -gItemPcTiles:: @ 8E85090 - .incbin "graphics/item_pc/unk_8E85090.4bpp.lz" - -gItemPcBgPals:: @ 8E85408 - .incbin "graphics/item_pc/unk_8E85408.gbapal.lz" - -gItemPcTilemap:: @ 8E85458 - .incbin "graphics/item_pc/unk_8E85458.bin.lz" - -gBerryPouchSpriteTiles:: @ 8E8560C - .incbin "graphics/berry_pouch/unk_8E8560C.4bpp.lz" - -gBerryPouchBgGfx:: @ 8E859D0 - .incbin "graphics/berry_pouch/unk_8E859D0.4bpp.lz" - -gBerryPouchBgPals:: @ 8E85BA4 - .incbin "graphics/berry_pouch/unk_8E85BA4.gbapal.lz" - -gBerryPouchBgPal0FemaleOverride:: @ 8E85BF4 - .incbin "graphics/berry_pouch/unk_8E85BF4.gbapal.lz" - -gBerryPouchSpritePalette:: @ 8E85C1C - .incbin "graphics/berry_pouch/unk_8E85C1C.gbapal.lz" - -gBerryPouchBg1Tilemap:: @ 8E85C44 - .incbin "graphics/berry_pouch/unk_8E85C44.bin.lz" - -gBuyMenuFrame_Gfx:: @ 8E85DC8 - .incbin "graphics/shop_menu/shop_menu.4bpp.lz" - -gBuyMenuFrame_Tilemap:: @ 8E85EFC - .incbin "graphics/shop_menu/shop_tilemap.bin" - -gBuyMenuFrame_TmHmTilemap:: @ 8E86038 - .incbin "graphics/shop_menu/shop_tm_hm_tilemap.bin" - -gBuyMenuFrame_Pal:: @ 8E86170 - .incbin "graphics/shop_menu/shop_menu.gbapal.lz" - -gUnknown_8E861A8:: @ 8E861A8 - .incbin "graphics/unknown/unknown_E861A8.bin.lz" @ hmm what is this. - -gUnknown_8E86240:: @ 8E86240 - .incbin "graphics/teachy_tv/tiles.4bpp.lz" - -gUnknown_8E86BE8:: @ 8E86BE8 - .incbin "graphics/teachy_tv/bg1_tilemap.bin.lz" - -gUnknown_8E86D6C:: @ 8E86D6C - .incbin "graphics/teachy_tv/bg2_tilemap.bin.lz" - -gUnknown_8E86F98:: @ 8E86F98 - .incbin "graphics/teachy_tv/palettes.gbapal.lz" - -gUnknown_8E87010:: @ 8E87010 - .incbin "graphics/unknown/unknown_E87010.gbapal.lz" - - @ THIS IS ITEM ICONS - .align 2 -gFile_graphics_items_icons_question_mark_sheet:: @ 8E87028 - .incbin "graphics/items/icons/question_mark.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_question_mark_palette:: @ 8E870A0 - .incbin "graphics/items/icon_palettes/question_mark.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_return_to_field_arrow_sheet:: @ 8E870B4 - .incbin "graphics/items/icons/return_to_field_arrow.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_return_to_field_arrow_palette:: @ 8E8713C - .incbin "graphics/items/icon_palettes/return_to_field_arrow.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_master_ball_sheet:: @ 8E87154 - .incbin "graphics/items/icons/master_ball.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_master_ball_palette:: @ 8E87224 - .incbin "graphics/items/icon_palettes/master_ball.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_ultra_ball_sheet:: @ 8E8724C - .incbin "graphics/items/icons/ultra_ball.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_ultra_ball_palette:: @ 8E8730C - .incbin "graphics/items/icon_palettes/ultra_ball.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_great_ball_sheet:: @ 8E87334 - .incbin "graphics/items/icons/great_ball.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_great_ball_palette:: @ 8E87404 - .incbin "graphics/items/icon_palettes/great_ball.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_poke_ball_sheet:: @ 8E8742C - .incbin "graphics/items/icons/poke_ball.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_poke_ball_palette:: @ 8E874DC - .incbin "graphics/items/icon_palettes/poke_ball.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_safari_ball_sheet:: @ 8E87500 - .incbin "graphics/items/icons/safari_ball.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_safari_ball_palette:: @ 8E875D0 - .incbin "graphics/items/icon_palettes/safari_ball.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_net_ball_sheet:: @ 8E875F8 - .incbin "graphics/items/icons/net_ball.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_net_ball_palette:: @ 8E876CC - .incbin "graphics/items/icon_palettes/net_ball.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_dive_ball_sheet:: @ 8E876F0 - .incbin "graphics/items/icons/dive_ball.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_dive_ball_palette:: @ 8E877B8 - .incbin "graphics/items/icon_palettes/dive_ball.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_nest_ball_sheet:: @ 8E877DC - .incbin "graphics/items/icons/nest_ball.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_nest_ball_palette:: @ 8E878A0 - .incbin "graphics/items/icon_palettes/nest_ball.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_repeat_ball_sheet:: @ 8E878C8 - .incbin "graphics/items/icons/repeat_ball.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_repeat_ball_palette:: @ 8E8798C - .incbin "graphics/items/icon_palettes/repeat_ball.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_timer_ball_sheet:: @ 8E879B4 - .incbin "graphics/items/icons/timer_ball.4bpp.lz" - - .align 2 -gFile_graphics_items_icons_luxury_ball_sheet:: @ 8E87A7C - .incbin "graphics/items/icons/luxury_ball.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_luxury_ball_palette:: @ 8E87B38 - .incbin "graphics/items/icon_palettes/luxury_ball.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_premier_ball_sheet:: @ 8E87B60 - .incbin "graphics/items/icons/premier_ball.4bpp.lz" - - .align 2 -gFile_graphics_items_icons_potion_sheet:: @ 8E87C04 - .incbin "graphics/items/icons/potion.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_potion_palette:: @ 8E87CCC - .incbin "graphics/items/icon_palettes/potion.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_antidote_sheet:: @ 8E87CF0 - .incbin "graphics/items/icons/antidote.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_antidote_palette:: @ 8E87DA0 - .incbin "graphics/items/icon_palettes/antidote.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_burn_heal_palette:: @ 8E87DC4 - .incbin "graphics/items/icon_palettes/burn_heal.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_ice_heal_palette:: @ 8E87DE8 - .incbin "graphics/items/icon_palettes/ice_heal.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_status_heal_sheet:: @ 8E87E0C - .incbin "graphics/items/icons/status_heal.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_awakening_palette:: @ 8E87EBC - .incbin "graphics/items/icon_palettes/awakening.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_paralyze_heal_palette:: @ 8E87EE0 - .incbin "graphics/items/icon_palettes/paralyze_heal.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_large_potion_sheet:: @ 8E87F04 - .incbin "graphics/items/icons/large_potion.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_full_restore_palette:: @ 8E87FE8 - .incbin "graphics/items/icon_palettes/full_restore.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_max_potion_palette:: @ 8E8800C - .incbin "graphics/items/icon_palettes/max_potion.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_hyper_potion_palette:: @ 8E88030 - .incbin "graphics/items/icon_palettes/hyper_potion.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_super_potion_palette:: @ 8E88054 - .incbin "graphics/items/icon_palettes/super_potion.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_full_heal_sheet:: @ 8E88078 - .incbin "graphics/items/icons/full_heal.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_full_heal_palette:: @ 8E88120 - .incbin "graphics/items/icon_palettes/full_heal.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_revive_sheet:: @ 8E88148 - .incbin "graphics/items/icons/revive.4bpp.lz" - - .align 2 -gFile_graphics_items_icons_max_revive_sheet:: @ 8E881A4 - .incbin "graphics/items/icons/max_revive.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_revive_palette:: @ 8E88270 - .incbin "graphics/items/icon_palettes/revive.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_fresh_water_sheet:: @ 8E8828C - .incbin "graphics/items/icons/fresh_water.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_fresh_water_palette:: @ 8E8833C - .incbin "graphics/items/icon_palettes/fresh_water.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_soda_pop_sheet:: @ 8E88360 - .incbin "graphics/items/icons/soda_pop.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_soda_pop_palette:: @ 8E883F4 - .incbin "graphics/items/icon_palettes/soda_pop.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_lemonade_sheet:: @ 8E8841C - .incbin "graphics/items/icons/lemonade.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_lemonade_palette:: @ 8E884DC - .incbin "graphics/items/icon_palettes/lemonade.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_moomoo_milk_sheet:: @ 8E88504 - .incbin "graphics/items/icons/moomoo_milk.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_moomoo_milk_palette:: @ 8E885B4 - .incbin "graphics/items/icon_palettes/moomoo_milk.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_powder_sheet:: @ 8E885DC - .incbin "graphics/items/icons/powder.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_energy_powder_palette:: @ 8E88668 - .incbin "graphics/items/icon_palettes/energy_powder.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_energy_root_sheet:: @ 8E88688 - .incbin "graphics/items/icons/energy_root.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_energy_root_palette:: @ 8E88754 - .incbin "graphics/items/icon_palettes/energy_root.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_heal_powder_palette:: @ 8E88770 - .incbin "graphics/items/icon_palettes/heal_powder.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_revival_herb_sheet:: @ 8E88790 - .incbin "graphics/items/icons/revival_herb.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_revival_herb_palette:: @ 8E88860 - .incbin "graphics/items/icon_palettes/revival_herb.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_ether_sheet:: @ 8E88880 - .incbin "graphics/items/icons/ether.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_ether_palette:: @ 8E88940 - .incbin "graphics/items/icon_palettes/ether.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_max_ether_palette:: @ 8E88964 - .incbin "graphics/items/icon_palettes/max_ether.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_elixir_palette:: @ 8E88988 - .incbin "graphics/items/icon_palettes/elixir.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_max_elixir_palette:: @ 8E889AC - .incbin "graphics/items/icon_palettes/max_elixir.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_lava_cookie_sheet:: @ 8E889D0 - .incbin "graphics/items/icons/lava_cookie.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_lava_cookie_and_letter_palette:: @ 8E88A9C - .incbin "graphics/items/icon_palettes/lava_cookie_and_letter.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_flute_sheet:: @ 8E88AC0 - .incbin "graphics/items/icons/flute.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_blue_flute_palette:: @ 8E88B74 - .incbin "graphics/items/icon_palettes/blue_flute.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_yellow_flute_palette:: @ 8E88B98 - .incbin "graphics/items/icon_palettes/yellow_flute.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_red_flute_palette:: @ 8E88BBC - .incbin "graphics/items/icon_palettes/red_flute.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_black_flute_palette:: @ 8E88BE0 - .incbin "graphics/items/icon_palettes/black_flute.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_white_flute_palette:: @ 8E88C04 - .incbin "graphics/items/icon_palettes/white_flute.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_berry_juice_sheet:: @ 8E88C28 - .incbin "graphics/items/icons/berry_juice.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_berry_juice_palette:: @ 8E88D08 - .incbin "graphics/items/icon_palettes/berry_juice.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_sacred_ash_sheet:: @ 8E88D30 - .incbin "graphics/items/icons/sacred_ash.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_sacred_ash_palette:: @ 8E88DF0 - .incbin "graphics/items/icon_palettes/sacred_ash.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_shoal_salt_palette:: @ 8E88E14 - .incbin "graphics/items/icon_palettes/shoal_salt.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_shoal_shell_sheet:: @ 8E88E34 - .incbin "graphics/items/icons/shoal_shell.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_shell_palette:: @ 8E88F28 - .incbin "graphics/items/icon_palettes/shell.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_shard_sheet:: @ 8E88F50 - .incbin "graphics/items/icons/shard.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_red_shard_palette:: @ 8E88FAC - .incbin "graphics/items/icon_palettes/red_shard.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_blue_shard_palette:: @ 8E88FC4 - .incbin "graphics/items/icon_palettes/blue_shard.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_yellow_shard_palette:: @ 8E88FDC - .incbin "graphics/items/icon_palettes/yellow_shard.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_green_shard_palette:: @ 8E88FF4 - .incbin "graphics/items/icon_palettes/green_shard.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_hp_up_sheet:: @ 8E8900C - .incbin "graphics/items/icons/hp_up.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_hp_up_palette:: @ 8E890C4 - .incbin "graphics/items/icon_palettes/hp_up.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_vitamin_sheet:: @ 8E890EC - .incbin "graphics/items/icons/vitamin.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_protein_palette:: @ 8E8919C - .incbin "graphics/items/icon_palettes/protein.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_iron_palette:: @ 8E891C4 - .incbin "graphics/items/icon_palettes/iron.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_carbos_palette:: @ 8E891EC - .incbin "graphics/items/icon_palettes/carbos.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_calcium_palette:: @ 8E89214 - .incbin "graphics/items/icon_palettes/calcium.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_rare_candy_sheet:: @ 8E8923C - .incbin "graphics/items/icons/rare_candy.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_rare_candy_palette:: @ 8E89300 - .incbin "graphics/items/icon_palettes/rare_candy.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_pp_up_sheet:: @ 8E8931C - .incbin "graphics/items/icons/pp_up.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_pp_up_palette:: @ 8E893CC - .incbin "graphics/items/icon_palettes/pp_up.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_zinc_palette:: @ 8E893F4 - .incbin "graphics/items/icon_palettes/zinc.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_pp_max_sheet:: @ 8E8941C - .incbin "graphics/items/icons/pp_max.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_pp_max_palette:: @ 8E894C4 - .incbin "graphics/items/icon_palettes/pp_max.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_guard_spec_palette:: @ 8E894EC - .incbin "graphics/items/icon_palettes/guard_spec.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_dire_hit_palette:: @ 8E89510 - .incbin "graphics/items/icon_palettes/dire_hit.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_x_attack_palette:: @ 8E89534 - .incbin "graphics/items/icon_palettes/x_attack.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_battle_stat_item_sheet:: @ 8E89558 - .incbin "graphics/items/icons/battle_stat_item.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_x_defend_palette:: @ 8E8963C - .incbin "graphics/items/icon_palettes/x_defend.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_x_speed_palette:: @ 8E89660 - .incbin "graphics/items/icon_palettes/x_speed.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_x_accuracy_palette:: @ 8E89684 - .incbin "graphics/items/icon_palettes/x_accuracy.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_x_special_palette:: @ 8E896A8 - .incbin "graphics/items/icon_palettes/x_special.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_poke_doll_sheet:: @ 8E896CC - .incbin "graphics/items/icons/poke_doll.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_poke_doll_palette:: @ 8E897BC - .incbin "graphics/items/icon_palettes/poke_doll.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_fluffy_tail_sheet:: @ 8E897D8 - .incbin "graphics/items/icons/fluffy_tail.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_fluffy_tail_palette:: @ 8E898C8 - .incbin "graphics/items/icon_palettes/fluffy_tail.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_repel_sheet:: @ 8E898EC - .incbin "graphics/items/icons/repel.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_super_repel_palette:: @ 8E8998C - .incbin "graphics/items/icon_palettes/super_repel.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_max_repel_palette:: @ 8E899B4 - .incbin "graphics/items/icon_palettes/max_repel.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_escape_rope_sheet:: @ 8E899DC - .incbin "graphics/items/icons/escape_rope.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_escape_rope_palette:: @ 8E89A90 - .incbin "graphics/items/icon_palettes/escape_rope.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_repel_palette:: @ 8E89AB4 - .incbin "graphics/items/icon_palettes/repel.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_sun_stone_sheet:: @ 8E89ADC - .incbin "graphics/items/icons/sun_stone.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_sun_stone_palette:: @ 8E89BD4 - .incbin "graphics/items/icon_palettes/sun_stone.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_moon_stone_sheet:: @ 8E89BF0 - .incbin "graphics/items/icons/moon_stone.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_moon_stone_palette:: @ 8E89CC4 - .incbin "graphics/items/icon_palettes/moon_stone.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_fire_stone_sheet:: @ 8E89CE4 - .incbin "graphics/items/icons/fire_stone.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_fire_stone_palette:: @ 8E89DD8 - .incbin "graphics/items/icon_palettes/fire_stone.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_thunder_stone_sheet:: @ 8E89E00 - .incbin "graphics/items/icons/thunder_stone.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_thunder_stone_palette:: @ 8E89EE8 - .incbin "graphics/items/icon_palettes/thunder_stone.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_water_stone_sheet:: @ 8E89F08 - .incbin "graphics/items/icons/water_stone.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_water_stone_palette:: @ 8E89FE8 - .incbin "graphics/items/icon_palettes/water_stone.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_leaf_stone_sheet:: @ 8E8A00C - .incbin "graphics/items/icons/leaf_stone.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_leaf_stone_palette:: @ 8E8A100 - .incbin "graphics/items/icon_palettes/leaf_stone.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_tiny_mushroom_sheet:: @ 8E8A128 - .incbin "graphics/items/icons/tiny_mushroom.4bpp.lz" - - .align 2 -gFile_graphics_items_icons_big_mushroom_sheet:: @ 8E8A1A8 - .incbin "graphics/items/icons/big_mushroom.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_mushroom_palette:: @ 8E8A260 - .incbin "graphics/items/icon_palettes/mushroom.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_pearl_sheet:: @ 8E8A284 - .incbin "graphics/items/icons/pearl.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_pearl_palette:: @ 8E8A300 - .incbin "graphics/items/icon_palettes/pearl.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_big_pearl_sheet:: @ 8E8A328 - .incbin "graphics/items/icons/big_pearl.4bpp.lz" - - .align 2 -gFile_graphics_items_icons_stardust_sheet:: @ 8E8A3E0 - .incbin "graphics/items/icons/stardust.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_star_palette:: @ 8E8A4A0 - .incbin "graphics/items/icon_palettes/star.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_star_piece_sheet:: @ 8E8A4C4 - .incbin "graphics/items/icons/star_piece.4bpp.lz" - - .align 2 -gFile_graphics_items_icons_nugget_sheet:: @ 8E8A548 - .incbin "graphics/items/icons/nugget.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_nugget_palette:: @ 8E8A5D4 - .incbin "graphics/items/icon_palettes/nugget.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_heart_scale_sheet:: @ 8E8A5F4 - .incbin "graphics/items/icons/heart_scale.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_heart_scale_palette:: @ 8E8A694 - .incbin "graphics/items/icon_palettes/heart_scale.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_orange_mail_sheet:: @ 8E8A6B0 - .incbin "graphics/items/icons/orange_mail.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_orange_mail_palette:: @ 8E8A784 - .incbin "graphics/items/icon_palettes/orange_mail.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_harbor_mail_sheet:: @ 8E8A7A4 - .incbin "graphics/items/icons/harbor_mail.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_harbor_mail_palette:: @ 8E8A86C - .incbin "graphics/items/icon_palettes/harbor_mail.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_glitter_mail_sheet:: @ 8E8A88C - .incbin "graphics/items/icons/glitter_mail.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_glitter_mail_palette:: @ 8E8A968 - .incbin "graphics/items/icon_palettes/glitter_mail.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_mech_mail_sheet:: @ 8E8A990 - .incbin "graphics/items/icons/mech_mail.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_mech_mail_palette:: @ 8E8AA6C - .incbin "graphics/items/icon_palettes/mech_mail.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_wood_mail_sheet:: @ 8E8AA8C - .incbin "graphics/items/icons/wood_mail.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_wood_mail_palette:: @ 8E8AB6C - .incbin "graphics/items/icon_palettes/wood_mail.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_wave_mail_sheet:: @ 8E8AB8C - .incbin "graphics/items/icons/wave_mail.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_wave_mail_palette:: @ 8E8AC64 - .incbin "graphics/items/icon_palettes/wave_mail.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_bead_mail_sheet:: @ 8E8AC84 - .incbin "graphics/items/icons/bead_mail.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_bead_mail_palette:: @ 8E8AD44 - .incbin "graphics/items/icon_palettes/bead_mail.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_shadow_mail_sheet:: @ 8E8AD64 - .incbin "graphics/items/icons/shadow_mail.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_shadow_mail_palette:: @ 8E8AE38 - .incbin "graphics/items/icon_palettes/shadow_mail.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_tropic_mail_sheet:: @ 8E8AE5C - .incbin "graphics/items/icons/tropic_mail.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_tropic_mail_palette:: @ 8E8AF40 - .incbin "graphics/items/icon_palettes/tropic_mail.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_dream_mail_sheet:: @ 8E8AF64 - .incbin "graphics/items/icons/dream_mail.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_dream_mail_palette:: @ 8E8B044 - .incbin "graphics/items/icon_palettes/dream_mail.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_fab_mail_sheet:: @ 8E8B064 - .incbin "graphics/items/icons/fab_mail.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_fab_mail_palette:: @ 8E8B12C - .incbin "graphics/items/icon_palettes/fab_mail.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_retro_mail_sheet:: @ 8E8B148 - .incbin "graphics/items/icons/retro_mail.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_retro_mail_palette:: @ 8E8B1E0 - .incbin "graphics/items/icon_palettes/retro_mail.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_cheri_berry_sheet:: @ 8E8B200 - .incbin "graphics/items/icons/cheri_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_cheri_berry_palette:: @ 8E8B2E8 - .incbin "graphics/items/icon_palettes/cheri_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_chesto_berry_sheet:: @ 8E8B310 - .incbin "graphics/items/icons/chesto_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_chesto_berry_palette:: @ 8E8B3D0 - .incbin "graphics/items/icon_palettes/chesto_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_pecha_berry_sheet:: @ 8E8B3F4 - .incbin "graphics/items/icons/pecha_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_pecha_berry_palette:: @ 8E8B4B4 - .incbin "graphics/items/icon_palettes/pecha_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_rawst_berry_sheet:: @ 8E8B4D8 - .incbin "graphics/items/icons/rawst_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_rawst_berry_palette:: @ 8E8B5BC - .incbin "graphics/items/icon_palettes/rawst_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_aspear_berry_sheet:: @ 8E8B5E0 - .incbin "graphics/items/icons/aspear_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_aspear_berry_palette:: @ 8E8B6C8 - .incbin "graphics/items/icon_palettes/aspear_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_leppa_berry_sheet:: @ 8E8B6EC - .incbin "graphics/items/icons/leppa_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_leppa_berry_palette:: @ 8E8B7A4 - .incbin "graphics/items/icon_palettes/leppa_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_oran_berry_sheet:: @ 8E8B7C8 - .incbin "graphics/items/icons/oran_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_oran_berry_palette:: @ 8E8B88C - .incbin "graphics/items/icon_palettes/oran_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_persim_berry_sheet:: @ 8E8B8B0 - .incbin "graphics/items/icons/persim_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_persim_berry_palette:: @ 8E8B984 - .incbin "graphics/items/icon_palettes/persim_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_lum_berry_sheet:: @ 8E8B9A8 - .incbin "graphics/items/icons/lum_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_lum_berry_palette:: @ 8E8BA60 - .incbin "graphics/items/icon_palettes/lum_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_sitrus_berry_sheet:: @ 8E8BA7C - .incbin "graphics/items/icons/sitrus_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_sitrus_berry_palette:: @ 8E8BB48 - .incbin "graphics/items/icon_palettes/sitrus_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_figy_berry_sheet:: @ 8E8BB6C - .incbin "graphics/items/icons/figy_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_figy_berry_palette:: @ 8E8BC34 - .incbin "graphics/items/icon_palettes/figy_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_wiki_berry_sheet:: @ 8E8BC58 - .incbin "graphics/items/icons/wiki_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_wiki_berry_palette:: @ 8E8BD3C - .incbin "graphics/items/icon_palettes/wiki_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_mago_berry_sheet:: @ 8E8BD60 - .incbin "graphics/items/icons/mago_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_mago_berry_palette:: @ 8E8BE1C - .incbin "graphics/items/icon_palettes/mago_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_aguav_berry_sheet:: @ 8E8BE40 - .incbin "graphics/items/icons/aguav_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_aguav_berry_palette:: @ 8E8BF2C - .incbin "graphics/items/icon_palettes/aguav_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_iapapa_berry_sheet:: @ 8E8BF4C - .incbin "graphics/items/icons/iapapa_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_iapapa_berry_palette:: @ 8E8C034 - .incbin "graphics/items/icon_palettes/iapapa_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_razz_berry_sheet:: @ 8E8C058 - .incbin "graphics/items/icons/razz_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_razz_berry_palette:: @ 8E8C138 - .incbin "graphics/items/icon_palettes/razz_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_bluk_berry_sheet:: @ 8E8C15C - .incbin "graphics/items/icons/bluk_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_bluk_berry_palette:: @ 8E8C24C - .incbin "graphics/items/icon_palettes/bluk_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_nanab_berry_sheet:: @ 8E8C270 - .incbin "graphics/items/icons/nanab_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_nanab_berry_palette:: @ 8E8C354 - .incbin "graphics/items/icon_palettes/nanab_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_wepear_berry_sheet:: @ 8E8C378 - .incbin "graphics/items/icons/wepear_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_wepear_berry_palette:: @ 8E8C440 - .incbin "graphics/items/icon_palettes/wepear_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_pinap_berry_sheet:: @ 8E8C45C - .incbin "graphics/items/icons/pinap_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_pinap_berry_palette:: @ 8E8C550 - .incbin "graphics/items/icon_palettes/pinap_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_pomeg_berry_sheet:: @ 8E8C574 - .incbin "graphics/items/icons/pomeg_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_pomeg_berry_palette:: @ 8E8C628 - .incbin "graphics/items/icon_palettes/pomeg_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_kelpsy_berry_sheet:: @ 8E8C64C - .incbin "graphics/items/icons/kelpsy_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_kelpsy_berry_palette:: @ 8E8C71C - .incbin "graphics/items/icon_palettes/kelpsy_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_qualot_berry_sheet:: @ 8E8C73C - .incbin "graphics/items/icons/qualot_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_qualot_berry_palette:: @ 8E8C808 - .incbin "graphics/items/icon_palettes/qualot_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_hondew_berry_sheet:: @ 8E8C82C - .incbin "graphics/items/icons/hondew_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_hondew_berry_palette:: @ 8E8C90C - .incbin "graphics/items/icon_palettes/hondew_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_grepa_berry_sheet:: @ 8E8C930 - .incbin "graphics/items/icons/grepa_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_grepa_berry_palette:: @ 8E8C9E4 - .incbin "graphics/items/icon_palettes/grepa_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_tamato_berry_sheet:: @ 8E8CA08 - .incbin "graphics/items/icons/tamato_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_tamato_berry_palette:: @ 8E8CAE4 - .incbin "graphics/items/icon_palettes/tamato_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_cornn_berry_sheet:: @ 8E8CB08 - .incbin "graphics/items/icons/cornn_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_cornn_berry_palette:: @ 8E8CBF4 - .incbin "graphics/items/icon_palettes/cornn_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_magost_berry_sheet:: @ 8E8CC1C - .incbin "graphics/items/icons/magost_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_magost_berry_palette:: @ 8E8CCC4 - .incbin "graphics/items/icon_palettes/magost_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_rabuta_berry_sheet:: @ 8E8CCE8 - .incbin "graphics/items/icons/rabuta_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_rabuta_berry_palette:: @ 8E8CDE4 - .incbin "graphics/items/icon_palettes/rabuta_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_nomel_berry_sheet:: @ 8E8CE08 - .incbin "graphics/items/icons/nomel_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_nomel_berry_palette:: @ 8E8CEAC - .incbin "graphics/items/icon_palettes/nomel_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_spelon_berry_sheet:: @ 8E8CEC8 - .incbin "graphics/items/icons/spelon_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_spelon_berry_palette:: @ 8E8CF8C - .incbin "graphics/items/icon_palettes/spelon_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_pamtre_berry_sheet:: @ 8E8CFAC - .incbin "graphics/items/icons/pamtre_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_pamtre_berry_palette:: @ 8E8D08C - .incbin "graphics/items/icon_palettes/pamtre_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_watmel_berry_sheet:: @ 8E8D0B4 - .incbin "graphics/items/icons/watmel_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_watmel_berry_palette:: @ 8E8D1C4 - .incbin "graphics/items/icon_palettes/watmel_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_durin_berry_sheet:: @ 8E8D1E8 - .incbin "graphics/items/icons/durin_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_durin_berry_palette:: @ 8E8D2EC - .incbin "graphics/items/icon_palettes/durin_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_belue_berry_sheet:: @ 8E8D310 - .incbin "graphics/items/icons/belue_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_belue_berry_palette:: @ 8E8D3F4 - .incbin "graphics/items/icon_palettes/belue_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_liechi_berry_sheet:: @ 8E8D418 - .incbin "graphics/items/icons/liechi_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_liechi_berry_palette:: @ 8E8D4F8 - .incbin "graphics/items/icon_palettes/liechi_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_ganlon_berry_sheet:: @ 8E8D518 - .incbin "graphics/items/icons/ganlon_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_ganlon_berry_palette:: @ 8E8D5F8 - .incbin "graphics/items/icon_palettes/ganlon_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_salac_berry_sheet:: @ 8E8D618 - .incbin "graphics/items/icons/salac_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_salac_berry_palette:: @ 8E8D700 - .incbin "graphics/items/icon_palettes/salac_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_petaya_berry_sheet:: @ 8E8D720 - .incbin "graphics/items/icons/petaya_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_petaya_berry_palette:: @ 8E8D818 - .incbin "graphics/items/icon_palettes/petaya_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_apicot_berry_sheet:: @ 8E8D83C - .incbin "graphics/items/icons/apicot_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_apicot_berry_palette:: @ 8E8D8F4 - .incbin "graphics/items/icon_palettes/apicot_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_lansat_berry_sheet:: @ 8E8D91C - .incbin "graphics/items/icons/lansat_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_lansat_berry_palette:: @ 8E8D9FC - .incbin "graphics/items/icon_palettes/lansat_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_starf_berry_sheet:: @ 8E8DA20 - .incbin "graphics/items/icons/starf_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_starf_berry_palette:: @ 8E8DAF0 - .incbin "graphics/items/icon_palettes/starf_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_enigma_berry_sheet:: @ 8E8DB14 - .incbin "graphics/items/icons/enigma_berry.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_enigma_berry_palette:: @ 8E8DBE0 - .incbin "graphics/items/icon_palettes/enigma_berry.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_bright_powder_sheet:: @ 8E8DC00 - .incbin "graphics/items/icons/bright_powder.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_bright_powder_palette:: @ 8E8DCBC - .incbin "graphics/items/icon_palettes/bright_powder.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_in_battle_herb_sheet:: @ 8E8DCDC - .incbin "graphics/items/icons/in_battle_herb.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_white_herb_palette:: @ 8E8DD88 - .incbin "graphics/items/icon_palettes/white_herb.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_macho_brace_sheet:: @ 8E8DDA8 - .incbin "graphics/items/icons/macho_brace.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_macho_brace_palette:: @ 8E8DE94 - .incbin "graphics/items/icon_palettes/macho_brace.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_exp_share_sheet:: @ 8E8DEBC - .incbin "graphics/items/icons/exp_share.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_exp_share_palette:: @ 8E8DFA8 - .incbin "graphics/items/icon_palettes/exp_share.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_quick_claw_sheet:: @ 8E8DFD0 - .incbin "graphics/items/icons/quick_claw.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_quick_claw_palette:: @ 8E8E068 - .incbin "graphics/items/icon_palettes/quick_claw.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_soothe_bell_sheet:: @ 8E8E088 - .incbin "graphics/items/icons/soothe_bell.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_soothe_bell_palette:: @ 8E8E14C - .incbin "graphics/items/icon_palettes/soothe_bell.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_mental_herb_palette:: @ 8E8E170 - .incbin "graphics/items/icon_palettes/mental_herb.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_choice_band_sheet:: @ 8E8E190 - .incbin "graphics/items/icons/choice_band.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_choice_band_palette:: @ 8E8E27C - .incbin "graphics/items/icon_palettes/choice_band.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_kings_rock_sheet:: @ 8E8E2A4 - .incbin "graphics/items/icons/kings_rock.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_kings_rock_palette:: @ 8E8E394 - .incbin "graphics/items/icon_palettes/kings_rock.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_silver_powder_sheet:: @ 8E8E3B0 - .incbin "graphics/items/icons/silver_powder.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_silver_powder_palette:: @ 8E8E43C - .incbin "graphics/items/icon_palettes/silver_powder.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_amulet_coin_sheet:: @ 8E8E460 - .incbin "graphics/items/icons/amulet_coin.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_amulet_coin_palette:: @ 8E8E4F8 - .incbin "graphics/items/icon_palettes/amulet_coin.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_cleanse_tag_sheet:: @ 8E8E51C - .incbin "graphics/items/icons/cleanse_tag.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_cleanse_tag_palette:: @ 8E8E5C0 - .incbin "graphics/items/icon_palettes/cleanse_tag.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_soul_dew_sheet:: @ 8E8E5E0 - .incbin "graphics/items/icons/soul_dew.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_soul_dew_palette:: @ 8E8E674 - .incbin "graphics/items/icon_palettes/soul_dew.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_deep_sea_tooth_sheet:: @ 8E8E694 - .incbin "graphics/items/icons/deep_sea_tooth.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_deep_sea_tooth_palette:: @ 8E8E748 - .incbin "graphics/items/icon_palettes/deep_sea_tooth.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_deep_sea_scale_sheet:: @ 8E8E76C - .incbin "graphics/items/icons/deep_sea_scale.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_deep_sea_scale_palette:: @ 8E8E814 - .incbin "graphics/items/icon_palettes/deep_sea_scale.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_smoke_ball_sheet:: @ 8E8E834 - .incbin "graphics/items/icons/smoke_ball.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_smoke_ball_palette:: @ 8E8E8EC - .incbin "graphics/items/icon_palettes/smoke_ball.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_everstone_sheet:: @ 8E8E910 - .incbin "graphics/items/icons/everstone.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_everstone_palette:: @ 8E8E9C4 - .incbin "graphics/items/icon_palettes/everstone.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_focus_band_sheet:: @ 8E8E9E0 - .incbin "graphics/items/icons/focus_band.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_focus_band_palette:: @ 8E8EAD0 - .incbin "graphics/items/icon_palettes/focus_band.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_lucky_egg_sheet:: @ 8E8EAF8 - .incbin "graphics/items/icons/lucky_egg.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_lucky_egg_palette:: @ 8E8EB80 - .incbin "graphics/items/icon_palettes/lucky_egg.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_scope_lens_sheet:: @ 8E8EB98 - .incbin "graphics/items/icons/scope_lens.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_scope_lens_palette:: @ 8E8EC98 - .incbin "graphics/items/icon_palettes/scope_lens.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_metal_coat_sheet:: @ 8E8ECC0 - .incbin "graphics/items/icons/metal_coat.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_metal_coat_palette:: @ 8E8ED7C - .incbin "graphics/items/icon_palettes/metal_coat.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_leftovers_sheet:: @ 8E8ED9C - .incbin "graphics/items/icons/leftovers.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_leftovers_palette:: @ 8E8EE40 - .incbin "graphics/items/icon_palettes/leftovers.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_dragon_scale_sheet:: @ 8E8EE64 - .incbin "graphics/items/icons/dragon_scale.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_dragon_scale_palette:: @ 8E8EF18 - .incbin "graphics/items/icon_palettes/dragon_scale.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_light_ball_sheet:: @ 8E8EF38 - .incbin "graphics/items/icons/light_ball.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_light_ball_palette:: @ 8E8EFCC - .incbin "graphics/items/icon_palettes/light_ball.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_soft_sand_sheet:: @ 8E8EFF0 - .incbin "graphics/items/icons/soft_sand.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_soft_sand_palette:: @ 8E8F0AC - .incbin "graphics/items/icon_palettes/soft_sand.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_hard_stone_sheet:: @ 8E8F0CC - .incbin "graphics/items/icons/hard_stone.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_hard_stone_palette:: @ 8E8F180 - .incbin "graphics/items/icon_palettes/hard_stone.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_miracle_seed_sheet:: @ 8E8F1A4 - .incbin "graphics/items/icons/miracle_seed.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_miracle_seed_palette:: @ 8E8F254 - .incbin "graphics/items/icon_palettes/miracle_seed.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_black_glasses_sheet:: @ 8E8F270 - .incbin "graphics/items/icons/black_glasses.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_black_type_enhancing_item_palette:: @ 8E8F2F8 - .incbin "graphics/items/icon_palettes/black_type_enhancing_item.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_black_belt_sheet:: @ 8E8F310 - .incbin "graphics/items/icons/black_belt.4bpp.lz" - - .align 2 -gFile_graphics_items_icons_magnet_sheet:: @ 8E8F3D8 - .incbin "graphics/items/icons/magnet.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_magnet_palette:: @ 8E8F488 - .incbin "graphics/items/icon_palettes/magnet.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_mystic_water_sheet:: @ 8E8F4B0 - .incbin "graphics/items/icons/mystic_water.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_mystic_water_palette:: @ 8E8F548 - .incbin "graphics/items/icon_palettes/mystic_water.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_sharp_beak_sheet:: @ 8E8F568 - .incbin "graphics/items/icons/sharp_beak.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_sharp_beak_palette:: @ 8E8F624 - .incbin "graphics/items/icon_palettes/sharp_beak.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_poison_barb_sheet:: @ 8E8F644 - .incbin "graphics/items/icons/poison_barb.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_poison_barb_palette:: @ 8E8F6CC - .incbin "graphics/items/icon_palettes/poison_barb.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_never_melt_ice_sheet:: @ 8E8F6EC - .incbin "graphics/items/icons/never_melt_ice.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_never_melt_ice_palette:: @ 8E8F7B8 - .incbin "graphics/items/icon_palettes/never_melt_ice.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_spell_tag_sheet:: @ 8E8F7D4 - .incbin "graphics/items/icons/spell_tag.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_spell_tag_palette:: @ 8E8F874 - .incbin "graphics/items/icon_palettes/spell_tag.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_twisted_spoon_sheet:: @ 8E8F894 - .incbin "graphics/items/icons/twisted_spoon.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_twisted_spoon_palette:: @ 8E8F934 - .incbin "graphics/items/icon_palettes/twisted_spoon.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_charcoal_sheet:: @ 8E8F94C - .incbin "graphics/items/icons/charcoal.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_charcoal_palette:: @ 8E8FA1C - .incbin "graphics/items/icon_palettes/charcoal.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_dragon_fang_sheet:: @ 8E8FA38 - .incbin "graphics/items/icons/dragon_fang.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_dragon_fang_palette:: @ 8E8FAEC - .incbin "graphics/items/icon_palettes/dragon_fang.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_silk_scarf_sheet:: @ 8E8FB0C - .incbin "graphics/items/icons/silk_scarf.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_silk_scarf_palette:: @ 8E8FC14 - .incbin "graphics/items/icon_palettes/silk_scarf.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_up_grade_sheet:: @ 8E8FC34 - .incbin "graphics/items/icons/up_grade.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_up_grade_palette:: @ 8E8FCF0 - .incbin "graphics/items/icon_palettes/up_grade.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_shell_bell_sheet:: @ 8E8FD18 - .incbin "graphics/items/icons/shell_bell.4bpp.lz" - - .align 2 -gFile_graphics_items_icons_sea_incense_sheet:: @ 8E8FDF8 - .incbin "graphics/items/icons/sea_incense.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_sea_incense_palette:: @ 8E8FEE0 - .incbin "graphics/items/icon_palettes/sea_incense.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_lax_incense_sheet:: @ 8E8FF08 - .incbin "graphics/items/icons/lax_incense.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_lax_incense_palette:: @ 8E8FFF0 - .incbin "graphics/items/icon_palettes/lax_incense.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_lucky_punch_sheet:: @ 8E90018 - .incbin "graphics/items/icons/lucky_punch.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_lucky_punch_palette:: @ 8E900DC - .incbin "graphics/items/icon_palettes/lucky_punch.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_metal_powder_sheet:: @ 8E900FC - .incbin "graphics/items/icons/metal_powder.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_metal_powder_palette:: @ 8E901BC - .incbin "graphics/items/icon_palettes/metal_powder.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_thick_club_sheet:: @ 8E901E0 - .incbin "graphics/items/icons/thick_club.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_thick_club_palette:: @ 8E90274 - .incbin "graphics/items/icon_palettes/thick_club.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_stick_sheet:: @ 8E90290 - .incbin "graphics/items/icons/stick.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_stick_palette:: @ 8E90330 - .incbin "graphics/items/icon_palettes/stick.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_scarf_sheet:: @ 8E90354 - .incbin "graphics/items/icons/scarf.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_red_scarf_palette:: @ 8E90420 - .incbin "graphics/items/icon_palettes/red_scarf.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_blue_scarf_palette:: @ 8E9043C - .incbin "graphics/items/icon_palettes/blue_scarf.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_pink_scarf_palette:: @ 8E90458 - .incbin "graphics/items/icon_palettes/pink_scarf.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_green_scarf_palette:: @ 8E90474 - .incbin "graphics/items/icon_palettes/green_scarf.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_yellow_scarf_palette:: @ 8E90490 - .incbin "graphics/items/icon_palettes/yellow_scarf.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_mach_bike_sheet:: @ 8E904AC - .incbin "graphics/items/icons/mach_bike.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_mach_bike_palette:: @ 8E905B4 - .incbin "graphics/items/icon_palettes/mach_bike.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_coin_case_sheet:: @ 8E905D8 - .incbin "graphics/items/icons/coin_case.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_coin_case_palette:: @ 8E90698 - .incbin "graphics/items/icon_palettes/coin_case.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_itemfinder_sheet:: @ 8E906B8 - .incbin "graphics/items/icons/itemfinder.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_itemfinder_palette:: @ 8E90774 - .incbin "graphics/items/icon_palettes/itemfinder.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_old_rod_sheet:: @ 8E9079C - .incbin "graphics/items/icons/old_rod.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_old_rod_palette:: @ 8E90848 - .incbin "graphics/items/icon_palettes/old_rod.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_good_rod_sheet:: @ 8E9086C - .incbin "graphics/items/icons/good_rod.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_good_rod_palette:: @ 8E90908 - .incbin "graphics/items/icon_palettes/good_rod.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_super_rod_sheet:: @ 8E90930 - .incbin "graphics/items/icons/super_rod.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_super_rod_palette:: @ 8E909E0 - .incbin "graphics/items/icon_palettes/super_rod.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_ss_ticket_sheet:: @ 8E90A08 - .incbin "graphics/items/icons/ss_ticket.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_ss_ticket_palette:: @ 8E90A9C - .incbin "graphics/items/icon_palettes/ss_ticket.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_contest_pass_sheet:: @ 8E90AB4 - .incbin "graphics/items/icons/contest_pass.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_contest_pass_palette:: @ 8E90B60 - .incbin "graphics/items/icon_palettes/contest_pass.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_wailmer_pail_sheet:: @ 8E90B88 - .incbin "graphics/items/icons/wailmer_pail.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_wailmer_pail_palette:: @ 8E90C54 - .incbin "graphics/items/icon_palettes/wailmer_pail.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_devon_goods_sheet:: @ 8E90C78 - .incbin "graphics/items/icons/devon_goods.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_devon_goods_palette:: @ 8E90D20 - .incbin "graphics/items/icon_palettes/devon_goods.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_soot_sack_sheet:: @ 8E90D3C - .incbin "graphics/items/icons/soot_sack.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_soot_sack_palette:: @ 8E90E14 - .incbin "graphics/items/icon_palettes/soot_sack.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_basement_key_sheet:: @ 8E90E3C - .incbin "graphics/items/icons/basement_key.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_old_key_palette:: @ 8E90EE4 - .incbin "graphics/items/icon_palettes/old_key.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_acro_bike_sheet:: @ 8E90F0C - .incbin "graphics/items/icons/acro_bike.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_acro_bike_palette:: @ 8E91008 - .incbin "graphics/items/icon_palettes/acro_bike.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_pokeblock_case_sheet:: @ 8E91028 - .incbin "graphics/items/icons/pokeblock_case.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_pokeblock_case_palette:: @ 8E91110 - .incbin "graphics/items/icon_palettes/pokeblock_case.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_letter_sheet:: @ 8E91138 - .incbin "graphics/items/icons/letter.4bpp.lz" - - .align 2 -gFile_graphics_items_icons_eon_ticket_sheet:: @ 8E911B8 - .incbin "graphics/items/icons/eon_ticket.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_eon_ticket_palette:: @ 8E91254 - .incbin "graphics/items/icon_palettes/eon_ticket.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_orb_sheet:: @ 8E91278 - .incbin "graphics/items/icons/orb.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_red_orb_palette:: @ 8E91330 - .incbin "graphics/items/icon_palettes/red_orb.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_blue_orb_palette:: @ 8E9134C - .incbin "graphics/items/icon_palettes/blue_orb.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_scanner_sheet:: @ 8E91368 - .incbin "graphics/items/icons/scanner.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_scanner_palette:: @ 8E91430 - .incbin "graphics/items/icon_palettes/scanner.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_go_goggles_sheet:: @ 8E91454 - .incbin "graphics/items/icons/go_goggles.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_go_goggles_palette:: @ 8E91508 - .incbin "graphics/items/icon_palettes/go_goggles.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_meteorite_sheet:: @ 8E91528 - .incbin "graphics/items/icons/meteorite.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_meteorite_palette:: @ 8E91608 - .incbin "graphics/items/icon_palettes/meteorite.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_room1_key_sheet:: @ 8E91628 - .incbin "graphics/items/icons/room1_key.4bpp.lz" - - .align 2 -gFile_graphics_items_icons_room2_key_sheet:: @ 8E916E0 - .incbin "graphics/items/icons/room2_key.4bpp.lz" - - .align 2 -gFile_graphics_items_icons_room4_key_sheet:: @ 8E9179C - .incbin "graphics/items/icons/room4_key.4bpp.lz" - - .align 2 -gFile_graphics_items_icons_room6_key_sheet:: @ 8E9185C - .incbin "graphics/items/icons/room6_key.4bpp.lz" - - .align 2 -gFile_graphics_items_icons_storage_key_sheet:: @ 8E91918 - .incbin "graphics/items/icons/storage_key.4bpp.lz" - - .align 2 -gFile_graphics_items_icons_root_fossil_sheet:: @ 8E919C0 - .incbin "graphics/items/icons/root_fossil.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_hoenn_fossil_palette:: @ 8E91ACC - .incbin "graphics/items/icon_palettes/hoenn_fossil.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_claw_fossil_sheet:: @ 8E91AF4 - .incbin "graphics/items/icons/claw_fossil.4bpp.lz" - - .align 2 -gFile_graphics_items_icons_devon_scope_sheet:: @ 8E91BE4 - .incbin "graphics/items/icons/devon_scope.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_devon_scope_palette:: @ 8E91CA0 - .incbin "graphics/items/icon_palettes/devon_scope.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_tm_sheet:: @ 8E91CC8 - .incbin "graphics/items/icons/tm.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_fighting_tm_hm_palette:: @ 8E91DC4 - .incbin "graphics/items/icon_palettes/fighting_tm_hm.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_dragon_tm_hm_palette:: @ 8E91DEC - .incbin "graphics/items/icon_palettes/dragon_tm_hm.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_water_tm_hm_palette:: @ 8E91E14 - .incbin "graphics/items/icon_palettes/water_tm_hm.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_psychic_tm_hm_palette:: @ 8E91E3C - .incbin "graphics/items/icon_palettes/psychic_tm_hm.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_normal_tm_hm_palette:: @ 8E91E64 - .incbin "graphics/items/icon_palettes/normal_tm_hm.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_poison_tm_hm_palette:: @ 8E91E8C - .incbin "graphics/items/icon_palettes/poison_tm_hm.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_ice_tm_hm_palette:: @ 8E91EB4 - .incbin "graphics/items/icon_palettes/ice_tm_hm.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_grass_tm_hm_palette:: @ 8E91EDC - .incbin "graphics/items/icon_palettes/grass_tm_hm.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_fire_tm_hm_palette:: @ 8E91F04 - .incbin "graphics/items/icon_palettes/fire_tm_hm.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_dark_tm_hm_palette:: @ 8E91F2C - .incbin "graphics/items/icon_palettes/dark_tm_hm.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_steel_tm_hm_palette:: @ 8E91F54 - .incbin "graphics/items/icon_palettes/steel_tm_hm.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_electric_tm_hm_palette:: @ 8E91F7C - .incbin "graphics/items/icon_palettes/electric_tm_hm.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_ground_tm_hm_palette:: @ 8E91FA4 - .incbin "graphics/items/icon_palettes/ground_tm_hm.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_ghost_tm_hm_palette:: @ 8E91FCC - .incbin "graphics/items/icon_palettes/ghost_tm_hm.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_rock_tm_hm_palette:: @ 8E91FF4 - .incbin "graphics/items/icon_palettes/rock_tm_hm.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_flying_tm_hm_palette:: @ 8E9201C - .incbin "graphics/items/icon_palettes/flying_tm_hm.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_oaks_parcel_sheet:: @ 8E92044 - .incbin "graphics/items/icons/oaks_parcel.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_oaks_parcel_palette:: @ 8E920FC - .incbin "graphics/items/icon_palettes/oaks_parcel.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_poke_flute_sheet:: @ 8E9211C - .incbin "graphics/items/icons/poke_flute.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_poke_flute_palette:: @ 8E921E0 - .incbin "graphics/items/icon_palettes/poke_flute.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_secret_key_sheet:: @ 8E92208 - .incbin "graphics/items/icons/secret_key.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_secret_key_palette:: @ 8E922D4 - .incbin "graphics/items/icon_palettes/secret_key.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_bike_voucher_sheet:: @ 8E922FC - .incbin "graphics/items/icons/bike_voucher.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_bike_voucher_palette:: @ 8E9239C - .incbin "graphics/items/icon_palettes/bike_voucher.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_gold_teeth_sheet:: @ 8E923BC - .incbin "graphics/items/icons/gold_teeth.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_gold_teeth_palette:: @ 8E924A8 - .incbin "graphics/items/icon_palettes/gold_teeth.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_old_amber_sheet:: @ 8E924CC - .incbin "graphics/items/icons/old_amber.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_old_amber_palette:: @ 8E925AC - .incbin "graphics/items/icon_palettes/old_amber.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_card_key_sheet:: @ 8E925D0 - .incbin "graphics/items/icons/card_key.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_card_key_palette:: @ 8E92678 - .incbin "graphics/items/icon_palettes/card_key.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_lift_key_sheet:: @ 8E92698 - .incbin "graphics/items/icons/lift_key.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_key_palette:: @ 8E92754 - .incbin "graphics/items/icon_palettes/key.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_helix_fossil_sheet:: @ 8E92774 - .incbin "graphics/items/icons/helix_fossil.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_kanto_fossil_palette:: @ 8E92868 - .incbin "graphics/items/icon_palettes/kanto_fossil.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_dome_fossil_sheet:: @ 8E92888 - .incbin "graphics/items/icons/dome_fossil.4bpp.lz" - - .align 2 -gFile_graphics_items_icons_silph_scope_sheet:: @ 8E92978 - .incbin "graphics/items/icons/silph_scope.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_silph_scope_palette:: @ 8E92A4C - .incbin "graphics/items/icon_palettes/silph_scope.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_bicycle_sheet:: @ 8E92A70 - .incbin "graphics/items/icons/bicycle.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_bicycle_palette:: @ 8E92B74 - .incbin "graphics/items/icon_palettes/bicycle.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_town_map_sheet:: @ 8E92B94 - .incbin "graphics/items/icons/town_map.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_town_map_palette:: @ 8E92C50 - .incbin "graphics/items/icon_palettes/town_map.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_vs_seeker_sheet:: @ 8E92C78 - .incbin "graphics/items/icons/vs_seeker.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_vs_seeker_palette:: @ 8E92D40 - .incbin "graphics/items/icon_palettes/vs_seeker.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_fame_checker_sheet:: @ 8E92D60 - .incbin "graphics/items/icons/fame_checker.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_fame_checker_palette:: @ 8E92E18 - .incbin "graphics/items/icon_palettes/fame_checker.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_tm_case_sheet:: @ 8E92E3C - .incbin "graphics/items/icons/tm_case.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_tm_case_palette:: @ 8E92F00 - .incbin "graphics/items/icon_palettes/tm_case.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_berry_pouch_sheet:: @ 8E92F28 - .incbin "graphics/items/icons/berry_pouch.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_berry_pouch_palette:: @ 8E93028 - .incbin "graphics/items/icon_palettes/berry_pouch.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_teachy_tv_sheet:: @ 8E93050 - .incbin "graphics/items/icons/teachy_tv.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_teachy_tv_palette:: @ 8E93148 - .incbin "graphics/items/icon_palettes/teachy_tv.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_tri_pass_sheet:: @ 8E93170 - .incbin "graphics/items/icons/tri_pass.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_tri_pass_palette:: @ 8E93214 - .incbin "graphics/items/icon_palettes/tri_pass.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_rainbow_pass_sheet:: @ 8E93234 - .incbin "graphics/items/icons/rainbow_pass.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_rainbow_pass_palette:: @ 8E932DC - .incbin "graphics/items/icon_palettes/rainbow_pass.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_tea_sheet:: @ 8E93304 - .incbin "graphics/items/icons/tea.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_tea_palette:: @ 8E933CC - .incbin "graphics/items/icon_palettes/tea.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_mystic_ticket_sheet:: @ 8E933F0 - .incbin "graphics/items/icons/mystic_ticket.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_mystic_ticket_palette:: @ 8E93488 - .incbin "graphics/items/icon_palettes/mystic_ticket.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_aurora_ticket_sheet:: @ 8E934A8 - .incbin "graphics/items/icons/aurora_ticket.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_aurora_ticket_palette:: @ 8E93544 - .incbin "graphics/items/icon_palettes/aurora_ticket.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_powder_jar_sheet:: @ 8E93568 - .incbin "graphics/items/icons/powder_jar.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_powder_jar_palette:: @ 8E93608 - .incbin "graphics/items/icon_palettes/powder_jar.gbapal.lz" - - .align 2 -gFile_graphics_items_icon_palettes_ruby_palette:: @ 8E93630 - .incbin "graphics/items/icon_palettes/ruby.gbapal.lz" - - .align 2 -gFile_graphics_items_icons_gem_sheet:: @ 8E93658 - .incbin "graphics/items/icons/gem.4bpp.lz" - - .align 2 -gFile_graphics_items_icon_palettes_sapphire_palette:: @ 8E93720 - .incbin "graphics/items/icon_palettes/sapphire.gbapal.lz" - - .align 2 -gBattleAnimSpritePal_Shock3:: @ 8E93748 - .incbin "graphics/battle_anims/sprites/282.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Shock3:: @ 8E93770 - .incbin "graphics/battle_anims/sprites/282.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_WhiteFeather:: @ 8E93958 - .incbin "graphics/battle_anims/sprites/270.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_WhiteFeather:: @ 8E93974 - .incbin "graphics/battle_anims/sprites/270.4bpp.lz" - - .align 2 -gBattleAnimSpritePal_Sparkle6:: @ 8E93A9C - .incbin "graphics/battle_anims/sprites/271.gbapal.lz" - - .align 2 -gBattleAnimSpriteGfx_Sparkle6:: @ 8E93AB4 - .incbin "graphics/battle_anims/sprites/271.4bpp.lz" - - .align 2 -gGhostPalette:: @ 8E93B14 - .incbin "graphics/pokemon/ghost/front.gbapal.lz" - - .align 2 -gGhostFrontPic:: @ 8E93B38 - .incbin "graphics/pokemon/ghost/front.4bpp.lz" - -gFile_graphics_mail_orange_palette_pal:: @ 8E93EA0 - .incbin "graphics/mail/orange/palette.gbapal" - -gFile_graphics_mail_harbor_palette_pal:: @ 8E93EC0 - .incbin "graphics/mail/harbor/palette.gbapal" - -gFile_graphics_mail_glitter_palette_pal:: @ 8E93EE0 - .incbin "graphics/mail/glitter/palette.gbapal" - -gFile_graphics_mail_mech_palette_pal:: @ 8E93F00 - .incbin "graphics/mail/mech/palette.gbapal" - -gFile_graphics_mail_wood_palette_pal:: @ 8E93F20 - .incbin "graphics/mail/wood/palette.gbapal" - -gFile_graphics_mail_wave_palette_pal:: @ 8E93F40 - .incbin "graphics/mail/wave/palette.gbapal" - -gFile_graphics_mail_bead_palette_pal:: @ 8E93F60 - .incbin "graphics/mail/bead/palette.gbapal" - -gFile_graphics_mail_shadow_palette_pal:: @ 8E93F80 - .incbin "graphics/mail/shadow/palette.gbapal" - -gFile_graphics_mail_tropic_palette_pal:: @ 8E93FA0 - .incbin "graphics/mail/tropic/palette.gbapal" - -gFile_graphics_mail_dream_palette_pal:: @ 8E93FC0 - .incbin "graphics/mail/dream/palette.gbapal" - -gFile_graphics_mail_fab_palette_pal:: @ 8E93FE0 - .incbin "graphics/mail/fab/palette.gbapal" - -gFile_graphics_mail_retro_palette_pal:: @ 8E94000 - .incbin "graphics/mail/retro/palette.gbapal" - - .align 2 -gFile_graphics_mail_orange_tiles_sheet:: @ 8E94020 - .incbin "graphics/mail/orange/tiles.4bpp.lz" - - .align 2 -gFile_graphics_mail_harbor_tiles_sheet:: @ 8E941C0 - .incbin "graphics/mail/harbor/tiles.4bpp.lz" - - .align 2 -gFile_graphics_mail_glitter_tiles_sheet:: @ 8E942FC - .incbin "graphics/mail/glitter/tiles.4bpp.lz" - - .align 2 -gFile_graphics_mail_mech_tiles_sheet:: @ 8E9450C - .incbin "graphics/mail/mech/tiles.4bpp.lz" - - .align 2 -gFile_graphics_mail_wood_tiles_sheet:: @ 8E945E4 - .incbin "graphics/mail/wood/tiles.4bpp.lz" - - .align 2 -gFile_graphics_mail_wave_tiles_sheet:: @ 8E947DC - .incbin "graphics/mail/wave/tiles.4bpp.lz" - - .align 2 -gFile_graphics_mail_bead_tiles_sheet:: @ 8E9495C - .incbin "graphics/mail/bead/tiles.4bpp.lz" - - .align 2 -gFile_graphics_mail_shadow_tiles_sheet:: @ 8E94A04 - .incbin "graphics/mail/shadow/tiles.4bpp.lz" - - .align 2 -gFile_graphics_mail_tropic_tiles_sheet:: @ 8E94B94 - .incbin "graphics/mail/tropic/tiles.4bpp.lz" - - .align 2 -gFile_graphics_mail_dream_tiles_sheet:: @ 8E94CD4 - .incbin "graphics/mail/dream/tiles.4bpp.lz" - - .align 2 -gFile_graphics_mail_fab_tiles_sheet:: @ 8E94E3C - .incbin "graphics/mail/fab/tiles.4bpp.lz" - - .align 2 -gFile_graphics_mail_retro_tiles_sheet:: @ 8E94F8C - .incbin "graphics/mail/retro/tiles.4bpp.lz" - - .align 2 -gFile_graphics_mail_orange_map_tilemap:: @ 8E9522C - .incbin "graphics/mail/orange/map.bin.lz" - - .align 2 -gFile_graphics_mail_harbor_map_tilemap:: @ 8E95304 - .incbin "graphics/mail/harbor/map.bin.lz" - - .align 2 -gFile_graphics_mail_glitter_map_tilemap:: @ 8E953E4 - .incbin "graphics/mail/glitter/map.bin.lz" - - .align 2 -gFile_graphics_mail_mech_map_tilemap:: @ 8E954F0 - .incbin "graphics/mail/mech/map.bin.lz" - - .align 2 -gFile_graphics_mail_wood_map_tilemap:: @ 8E955CC - .incbin "graphics/mail/wood/map.bin.lz" - - .align 2 -gFile_graphics_mail_wave_map_tilemap:: @ 8E956BC - .incbin "graphics/mail/wave/map.bin.lz" - - .align 2 -gFile_graphics_mail_bead_map_tilemap:: @ 8E9579C - .incbin "graphics/mail/bead/map.bin.lz" - - .align 2 -gFile_graphics_mail_shadow_map_tilemap:: @ 8E9587C - .incbin "graphics/mail/shadow/map.bin.lz" - - .align 2 -gFile_graphics_mail_tropic_map_tilemap:: @ 8E95988 - .incbin "graphics/mail/tropic/map.bin.lz" - - .align 2 -gFile_graphics_mail_dream_map_tilemap:: @ 8E95A78 - .incbin "graphics/mail/dream/map.bin.lz" - - .align 2 -gFile_graphics_mail_fab_map_tilemap:: @ 8E95B70 - .incbin "graphics/mail/fab/map.bin.lz" - - .align 2 -gFile_graphics_mail_retro_map_tilemap:: @ 8E95C88 - .incbin "graphics/mail/retro/map.bin.lz" - - .align 2 -gFireRedMenuElements1_Pal:: @ 8E95D9C - .incbin "graphics/interface/dex_caught_pokeball.gbapal" - -gFireRedMenuElements2_Pal:: @ 8E95DBC - .incbin "graphics/interface/pokemon_types.gbapal" - -gFireRedMenuElements_Gfx:: @ 8E95DDC - .incbin "graphics/interface/dex_caught_pokeball_and_pokemon_types.4bpp" - -gUnknown_8E97DDC:: @ 8E97DDC - .incbin "graphics/interface/learn_move.gbapal" - -gUnknown_8E97DFC:: @ 8E97DFC - .incbin "graphics/interface/learn_move.4bpp.lz" - -gUnknown_8E97EC4:: @ 8E97EC4 - .incbin "graphics/interface/learn_move.bin.lz" - -gUnknown_8E97FE4:: @ 8E97FE4 - .incbin "graphics/interface/naming_screen_8E97FE4.gbapal" @ TODO: Find the image this goes with - -gUnknown_8E98004:: @ 8E98004 - .incbin "graphics/interface/naming_screen_8E98004.gbapal" - -gUnknown_8E98024:: @ 8E98024 - .incbin "graphics/interface/naming_screen_8E98024.gbapal" - -gUnknown_8E98044:: @ 8E98044 - .incbin "graphics/interface/naming_screen_8E98044.gbapal" - -gUnknown_8E98064:: @ 8E98064 - .incbin "graphics/interface/naming_screen_8E98064.gbapal" - -gUnknown_8E98084:: @ 8E98084 - .incbin "graphics/interface/naming_screen_8E98084.gbapal" - -gUnknown_8E980A4:: @ 8E980A4 - .incbin "graphics/interface/naming_screen_8E980A4.gbapal" - -gUnknown_8E980C4:: @ 8E980C4 - .incbin "graphics/interface/naming_screen_8E980C4.gbapal" - -gUnknown_8E980E4:: @ 8E980E4 - .incbin "graphics/interface/naming_screen_menu.4bpp.lz" - -gUnknown_8E982BC:: @ 8E982BC - .incbin "graphics/interface/naming_screen_menu.bin.lz" - -gUnknown_8E98398:: @ 8E98398 - .incbin "graphics/interface/naming_screen_E98398.bin.lz" - -gUnknown_8E98458:: @ 8E98458 - .incbin "graphics/interface/naming_screen_E98458.bin.lz" - -gUnknown_8E98518:: @ 8E98518 - .incbin "graphics/interface/naming_screen_E98518.bin.lz" - -gUnknown_8E985D8:: @ 8E985D8 - .incbin "graphics/interface/naming_screen_8E985D8.4bpp" - -gUnknown_8E98858:: @ 8E98858 - .incbin "graphics/interface/naming_screen_8E98858.4bpp" - -gUnknown_8E98A38:: @ 8E98A38 - .incbin "graphics/interface/naming_screen_8E98A38.4bpp" - -gUnknown_8E98C18:: @ 8E98C18 - .incbin "graphics/interface/naming_screen_8E98C18.4bpp" - -gUnknown_8E98CB8:: @ 8E98CB8 - .incbin "graphics/interface/naming_screen_8E98CB8.4bpp" - -gUnknown_8E98D58:: @ 8E98D58 - .incbin "graphics/interface/naming_screen_8E98D58.4bpp" - -gUnknown_8E98DF8:: @ 8E98DF8 - .incbin "graphics/interface/naming_screen_8E98DF8.4bpp" - -gUnknown_8E98E98:: @ 8E98E98 - .incbin "graphics/interface/naming_screen_8E98E98.4bpp" - -gUnknown_8E98F38:: @ 8E98F38 - .incbin "graphics/interface/naming_screen_8E98F38.4bpp" - -gUnknown_8E98FD8:: @ 8E98FD8 - .incbin "graphics/interface/naming_screen_8E98FD8.4bpp" - -gUnknown_8E990D8:: @ 8E990D8 - .incbin "graphics/interface/naming_screen_8E990D8.4bpp" - -gUnknown_8E990F8:: @ 8E990F8 - .incbin "graphics/interface/naming_screen_8E990F8.4bpp" - -gUnknown_8E99118:: @ 8E99118 - .incbin "graphics/tm_case/unk_8E99118.4bpp" - -gFireRedTrainerCard_Pal:: @ 8E99198 - .incbin "graphics/trainer_card/0star.gbapal" - -gFireRedTrainerCard_Gfx:: @ 8E991F8 - .incbin "graphics/trainer_card/card.4bpp.lz" - -gEmeraldTrainerCard_Pal:: @ 8E9986C - .incbin "graphics/trainer_card/0star_em.gbapal" - -gEmeraldTrainerCard_Gfx:: @ 8E998CC - .incbin "graphics/trainer_card/card_em.4bpp.lz" - -gUnknown_8E99D8C:: @ 8E99D8C - .incbin "graphics/link_rfu/unk_8E99DAC.gbapal" - -gUnknown_8E99DAC:: @ 8E99DAC - .incbin "graphics/link_rfu/unk_8E99DAC.4bpp.lz" - -gUnknown_8E99E74:: @ 8E99E74 - .incbin "graphics/link_rfu/unk_8E99E74.bin.lz" - -gUnknown_8E99F24:: @ 8E99F24 - .incbin "graphics/link_rfu/unk_8E9A168.gbapal" - -gUnknown_8E99F44:: @ 8E99F44 - .incbin "graphics/link_rfu/unk_8E99F44.4bpp.lz" - -gUnknown_8E9A168:: @ 8E9A168 - .incbin "graphics/link_rfu/unk_8E9A168.4bpp.lz" - -gUnknown_8E9A460:: @ 8E9A460 - .incbin "graphics/interface/trainer_memo.4bpp.lz" - -gUnknown_8E9B310:: @ 8E9B310 - .incbin "graphics/interface/trainer_memo_pal1.gbapal" - -gUnknown_8E9B3B0:: @ 8E9B3B0 - .incbin "graphics/interface/trainer_memo_pal2.gbapal" - -gUnknown_8E9B3D0:: @ 8E9B3D0 - .incbin "graphics/interface/trainer_memo_pal3.gbapal" - -gUnknown_8E9B3F0:: @ 8E9B3F0 - .incbin "graphics/interface/summary_exp_bar.4bpp.lz" - -gUnknown_8E9B4B8:: @ 8E9B4B8 - .incbin "graphics/interface/summary_hp_bar.4bpp.lz" - -gUnknown_8E9B578:: @ 8E9B578 - .incbin "graphics/interface/summary_exp_bar.gbapal" @ hp bar uses this too - -gUnknown_8E9B598:: @ 8E9B598 - .incbin "graphics/interface/trainer_memo.bin.lz" - -gUnknown_8E9B750:: @ 8E9B750 - .incbin "graphics/interface/trainer_memo_2.bin.lz" - -gUnknown_8E9B950:: @ 8E9B950 - .incbin "graphics/interface/trainer_memo_3.bin.lz" - -gUnknown_8E9BA9C:: @ 8E9BA9C - .incbin "graphics/interface/trainer_memo_4.bin.lz" - -gUnknown_8E9BBCC:: @ 8E9BBCC - .incbin "graphics/interface/trainer_memo_5.bin.lz" - -gUnknown_8E9BD08:: @ 8E9BD08 - .incbin "graphics/unknown/unknown_E9BD08.gbapal" @ might be an alternate unused palette of the link_rfu gfx below. - -gUnknown_8E9BD28:: @ 8E9BD28 - .incbin "graphics/interface/link_rfu_frame.4bpp.lz" - -gUnknown_8E9BF28:: @ 8E9BF28 - .incbin "graphics/interface/link_rfu_frame.gbapal" - -gUnknown_8E9BF48:: @ 8E9BF48 - .incbin "graphics/interface/link_rfu_status.4bpp.lz" - -gUnknown_8E9C14C:: @ 8E9C14C - .incbin "graphics/interface/pokedex_abc.gbapal" - -gUnknown_8E9C16C:: @ 8E9C16C - .incbin "graphics/interface/pokedex_abc.4bpp.lz" - -gUnknown_8E9C3D8:: @ 8E9C3D8 - .incbin "graphics/interface/box_tiles_pal1.gbapal" - -gUnknown_8E9C3F8:: @ 8E9C3F8 - .incbin "graphics/interface/box_tiles_pal2.gbapal" - -gUnknown_8E9C418:: @ 8E9C418 - .incbin "graphics/interface/box_tiles_pal3.gbapal" - -gUnknown_8E9C438:: @ 8E9C438 - .incbin "graphics/interface/box_tiles.4bpp.lz" - -gUnknown_8E9CAEC:: @ 8E9CAEC - .incbin "graphics/unknown/unknown_E9CAEC.bin.lz" - -gUnknown_8E9CB9C:: @ 8E9CB9C - .incbin "graphics/misc/markings2.gbapal" - -gUnknown_8E9CBBC:: @ 8E9CBBC - .incbin "graphics/misc/markings2.4bpp" - -gTradeMenu_Pal:: @ 8E9CEDC - .incbin "graphics/trade/menu.gbapal" - -gTradeButtons_Pal:: @ E9CF3C - .incbin "graphics/trade/unknown_DDB444.gbapal" - -gTradeMenu_Gfx:: @ 8E9CF5C - .incbin "graphics/trade/menu.4bpp" - -gTradeButtons_Gfx:: @ E9E1DC - .incbin "graphics/trade/buttons.4bpp" - -gUnknown_8E9E9DC:: @ E9E9DC - .incbin "graphics/unused/unused_DDCEE4.bin" - -gUnknown_8E9E9FC:: @ 8E9E9FC - .incbin "graphics/trade/unknown_DDCF04.bin" - -gTradeMenuMonBox_Tilemap:: @ 8E9F1FC - .incbin "graphics/trade/menu_mon_box.bin" - -gFameCheckerBgPals:: @ 8E9F220 - .incbin "data/graphics/fame_checker_bg.gbapal" - -gFameCheckerBgTiles:: @ 8E9F260 - .incbin "data/graphics/fame_checker_bg.4bpp" - -gFameCheckerBg3Tilemap:: @ 8EA0700 - .incbin "data/graphics/fame_checker_tilemap3.bin" - -gFameCheckerBg2Tilemap:: @ 8EA0F00 - .incbin "data/graphics/fame_checker_tilemap2.bin" - -gLinkMiscMenu_Pal:: @ 8EA1700 - .incbin "graphics/interface/union_room_chat.gbapal" - -gLinkMiscMenu_Gfx:: @ 8EA1720 - .incbin "graphics/interface/union_room_chat.4bpp.lz" - -gLinkMiscMenu_Tilemap:: @ 8EA1958 - .incbin "graphics/interface/union_room_chat.bin.lz" - -gUnionRoomChatIcons:: @ 8EA1A50 - .incbin "graphics/interface/union_room_chat_icons.4bpp.lz" - - .align 2 -gTilesetPalettes_8EA1B68:: @ 8EA1B68 - .incbin "data/tilesets/primary/82D4A94/palettes/0.gbapal" - .incbin "data/tilesets/primary/82D4A94/palettes/1.gbapal" - .incbin "data/tilesets/primary/82D4A94/palettes/2.gbapal" - .incbin "data/tilesets/primary/82D4A94/palettes/3.gbapal" - .incbin "data/tilesets/primary/82D4A94/palettes/4.gbapal" - .incbin "data/tilesets/primary/82D4A94/palettes/5.gbapal" - .incbin "data/tilesets/primary/82D4A94/palettes/6.gbapal" - .incbin "data/tilesets/primary/82D4A94/palettes/7.gbapal" - .incbin "data/tilesets/primary/82D4A94/palettes/8.gbapal" - .incbin "data/tilesets/primary/82D4A94/palettes/9.gbapal" - .incbin "data/tilesets/primary/82D4A94/palettes/10.gbapal" - .incbin "data/tilesets/primary/82D4A94/palettes/11.gbapal" - .incbin "data/tilesets/primary/82D4A94/palettes/12.gbapal" - .incbin "data/tilesets/primary/82D4A94/palettes/13.gbapal" - .incbin "data/tilesets/primary/82D4A94/palettes/14.gbapal" - .incbin "data/tilesets/primary/82D4A94/palettes/15.gbapal" - -gTilesetTiles_8EA1D68:: @ 8EA1D68 - .incbin "data/tilesets/primary/82D4A94/tiles.4bpp.lz" - -gBerryFixGameboy_Pal:: @ 8EA463C - .incbin "graphics/berry_fix/gba_small.gbapal" - -gBerryFixGameboy_Gfx:: @ 8EA467C - .incbin "graphics/berry_fix/gba_small.4bpp.lz" - -gBerryFixGameboy_Tilemap:: @ 8EA52B8 - .incbin "graphics/berry_fix/gba_small.bin.lz" - -gBerryFixGameboyLogo_Pal:: @ 8EA5604 - .incbin "graphics/berry_fix/logo.gbapal" - -gBerryFixGameboyLogo_Gfx:: @ 8EA5664 - .incbin "graphics/berry_fix/logo.4bpp.lz" - -gBerryFixGameboyLogo_Tilemap:: @ 8EA60C8 - .incbin "graphics/berry_fix/logo.bin.lz" - -gBerryFixGbaTransfer_Pal:: @ 8EA63C8 - .incbin "graphics/berry_fix/gba_transfer.gbapal" - -gBerryFixGbaTransfer_Gfx:: @ 8EA6408 - .incbin "graphics/berry_fix/gba_transfer.4bpp.lz" - -gBerryFixGbaTransfer_Tilemap:: @ 8EA7028 - .incbin "graphics/berry_fix/gba_transfer.bin.lz" - -gBerryFixGbaTransferHighlight_Pal:: @ 8EA72E0 - .incbin "graphics/berry_fix/gba_transfer_highlight.gbapal" - -gBerryFixGbaTransferHighlight_Gfx:: @ 8EA7320 - .incbin "graphics/berry_fix/gba_transfer_highlight.4bpp.lz" - -gBerryFixGbaTransferHighlight_Tilemap:: @ 8EA8118 - .incbin "graphics/berry_fix/gba_transfer_highlight.bin.lz" - -gBerryFixGbaTransferError_Pal:: @ 8EA83C8 - .incbin "graphics/berry_fix/gba_transfer_error.gbapal" - -gBerryFixGbaTransferError_Gfx:: @ 8EA8408 - .incbin "graphics/berry_fix/gba_transfer_error.4bpp.lz" - -gBerryFixGbaTransferError_Tilemap:: @ 8EA8CC8 - .incbin "graphics/berry_fix/gba_transfer_error.bin.lz" - -gBerryFixWindow_Pal:: @ 8EA8F00 - .incbin "graphics/berry_fix/window.gbapal" - -gBerryFixWindow_Gfx:: @ 8EA8F40 - .incbin "graphics/berry_fix/window.4bpp.lz" - -gBerryFixWindow_Tilemap:: @ 8EA9588 - .incbin "graphics/berry_fix/window.bin.lz" - - .align 2 -gTilesetPalettes_8EA97F4:: @ 8EA97F4 - .incbin "data/tilesets/secondary/82D4C74/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4C74/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4C74/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4C74/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4C74/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4C74/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4C74/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4C74/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4C74/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4C74/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4C74/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4C74/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4C74/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4C74/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4C74/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4C74/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8EA99F4:: @ 8EA99F4 - .incbin "data/tilesets/secondary/82D4C74/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8EA9D88:: @ 8EA9D88 - .incbin "data/tilesets/secondary/82D4E6C/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4E6C/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4E6C/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4E6C/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4E6C/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4E6C/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4E6C/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4E6C/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4E6C/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4E6C/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4E6C/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4E6C/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4E6C/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4E6C/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4E6C/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4E6C/palettes/15.gbapal" - - -gTilesetTiles_8EA9F88:: @ 8EA9F88 - .incbin "data/tilesets/secondary/82D4E6C/tiles.4bpp.lz" - -gUnionRoomChatPanelBgPal_7:: @ 8EAA9F0 - .incbin "graphics/interface/union_room_chat_panel.gbapal" - -gUnionRoomChatPanelBgTiles:: @ 8EAAA10 - .incbin "graphics/interface/union_room_chat_panel.4bpp.lz" - -gUnionRoomChatPanelBgMap:: @ 8EAAA6C - .incbin "graphics/interface/union_room_chat_panel.bin.lz" - -gCreditsMonBackdropPals:: @ 8EAAB18 - .incbin "graphics/credits/charizard.gbapal" - .incbin "graphics/credits/venusaur.gbapal" - .incbin "graphics/credits/blastoise.gbapal" - .incbin "graphics/credits/pikachu.gbapal" - -gCreditsPokeballBgGfxTiles:: @ 8EAAB98 - .incbin "graphics/credits/unk_8EAAB98.4bpp.lz" - -gCreditsPokeballBgGfxMap:: @ 8EAB30C - .incbin "graphics/credits/unk_8EAB30C.bin.lz" - - @ title_screen - .ifdef FIRERED -gGraphics_TitleScreen_GameTitleLogoPals:: @ 8EAB6C4 - .incbin "graphics/title_screen/unk_8eab6c4.gbapal" - -gGraphics_TitleScreen_GameTitleLogoTiles:: @ 8EAB8C4 - .incbin "graphics/title_screen/unk_8eab8c4.8bpp.lz" - -gGraphics_TitleScreen_GameTitleLogoMap:: @ 8EAD390 - .incbin "graphics/title_screen/unk_8ead390.bin.lz" - -gGraphics_TitleScreen_BoxArtMonPals:: @ 8EAD5E8 - .incbin "graphics/title_screen/unk_8ead5e8.gbapal" - -gGraphics_TitleScreen_BoxArtMonTiles:: @ 8EAD608 - .incbin "graphics/title_screen/unk_8ead608.4bpp.lz" - -gGraphics_TitleScreen_BoxArtMonMap:: @ 8EADEE4 - .incbin "graphics/title_screen/unk_8eadee4.bin.lz" - -gGraphics_TitleScreen_BackgroundPals:: @ 8EAE094 - .incbin "graphics/title_screen/unk_8eae094.gbapal" - .else - .ifdef LEAFGREEN -gGraphics_TitleScreen_GameTitleLogoPals:: @ 8EAB6C4 - .incbin "graphics/title_screen/unk_lg_8eab744.gbapal" - -gGraphics_TitleScreen_GameTitleLogoTiles:: @ 8EAB8C4 - .incbin "graphics/title_screen/unk_lg_8eab944.8bpp.lz" - -gGraphics_TitleScreen_GameTitleLogoMap:: @ 8EAD390 - .incbin "graphics/title_screen/unk_lg_8ead508.bin.lz" - -gGraphics_TitleScreen_BoxArtMonPals:: @ 8EAD5E8 - .incbin "graphics/title_screen/unk_lg_8ead768.gbapal" - -gGraphics_TitleScreen_BoxArtMonTiles:: @ 8EAD608 - .incbin "graphics/title_screen/unk_lg_8ead788.4bpp.lz" - -gGraphics_TitleScreen_BoxArtMonMap:: @ 8EADEE4 - .incbin "graphics/title_screen/unk_lg_8eae1ec.bin.lz" - -gGraphics_TitleScreen_BackgroundPals:: @ 8EAE094 - .incbin "graphics/title_screen/unk_lg_8eae388.gbapal" - .endif - .endif - -gGraphics_TitleScreen_CopyrightPressStartTiles:: @ 8EAE0B4 - .incbin "graphics/title_screen/unk_8eae0b4.4bpp.lz" - -gGraphics_TitleScreen_CopyrightPressStartMap:: @ 8EAE374 - .incbin "graphics/title_screen/unk_8eae374.bin.lz" - - .ifdef FIRERED -gGraphics_TitleScreen_FireOrLeafPals:: @ 8EAE488 - .incbin "graphics/title_screen/unk_8eae488.gbapal" - .else - .ifdef LEAFGREEN -gGraphics_TitleScreen_FireOrLeafPals:: @ 8EAE488 - .incbin "graphics/title_screen/unk_lg_8eae77c.gbapal" - .endif - .endif - -gGraphics_TitleScreen_BlankObjTiles:: @ 8EAE4A8 - .incbin "graphics/title_screen/unk_8eae4a8.4bpp.lz" - -gCreditsAllRightsReservedGfxPal:: @ 8EAE528 - .incbin "graphics/credits/unk_8EAE548.gbapal" - -gCreditsAllRightsReservedGfxTiles:: @ 8EAE548 - .incbin "graphics/credits/unk_8EAE548.4bpp.lz" - -gCreditsAllRightsReservedGfxMap:: @ 8EAE900 - .incbin "graphics/credits/unk_8EAE548.bin.lz" - -gUnknown_8EAEA00:: @ 8EAEA00 - .incbin "graphics/link/gba.gbapal" - -gTradeGba2_Pal:: @ 8EAEA20 - .incbin "graphics/link/gba_pal2.gbapal" - -gTradeGba_Gfx:: @ 8EAEA80 - .incbin "graphics/link/gba.4bpp" - -gUnknown_8EAFE80:: @ 8EAFE80 - .incbin "graphics/interface/blank2.gbapal" - -gUnknown_8EAFEA0:: @ 8EAFEA0 - .incbin "graphics/berry_crush/berry_crush.gbapal" - -gUnknown_8EAFF60:: @ 8EAFF60 - .incbin "graphics/unknown/unknown_EAFF60.gbapal" @ seems to be unused. Loaded palette for above is 0xC0 so this is unused. - -gUnknown_8EAFFC0:: @ 8EAFFC0 - .incbin "graphics/berry_crush/berry_crush.4bpp.lz" - -gUnknown_8EB0ADC:: @ 8EB0ADC - .incbin "graphics/berry_crush/data_EB0ADC.bin.lz" @ TODO: What is this? - - @ EOF diff --git a/data/layouts/SaffronCity_House1_1F/border.bin b/data/layouts/CeladonCity_Hotel_Duplicate/border.bin similarity index 100% rename from data/layouts/SaffronCity_House1_1F/border.bin rename to data/layouts/CeladonCity_Hotel_Duplicate/border.bin diff --git a/data/layouts/UnusedLayout_833902C/map.bin b/data/layouts/CeladonCity_Hotel_Duplicate/map.bin similarity index 100% rename from data/layouts/UnusedLayout_833902C/map.bin rename to data/layouts/CeladonCity_Hotel_Duplicate/map.bin diff --git a/data/layouts/SaffronCity_House1_2F/border.bin b/data/layouts/CeladonCity_Restaurant_Duplicate/border.bin similarity index 100% rename from data/layouts/SaffronCity_House1_2F/border.bin rename to data/layouts/CeladonCity_Restaurant_Duplicate/border.bin diff --git a/data/layouts/UnusedLayout_8338E90/map.bin b/data/layouts/CeladonCity_Restaurant_Duplicate/map.bin similarity index 100% rename from data/layouts/UnusedLayout_8338E90/map.bin rename to data/layouts/CeladonCity_Restaurant_Duplicate/map.bin diff --git a/data/layouts/UnusedLayout_82D6144/border.bin b/data/layouts/EverGrandeCity_HallOfFame/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82D6144/border.bin rename to data/layouts/EverGrandeCity_HallOfFame/border.bin diff --git a/data/layouts/UnusedLayout_82DCA70/map.bin b/data/layouts/EverGrandeCity_HallOfFame/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82DCA70/map.bin rename to data/layouts/EverGrandeCity_HallOfFame/map.bin diff --git a/data/layouts/UnusedLayout_82D6654/border.bin b/data/layouts/FortreeCity_DecorationShop/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82D6654/border.bin rename to data/layouts/FortreeCity_DecorationShop/border.bin diff --git a/data/layouts/UnusedLayout_82DB4F0/map.bin b/data/layouts/FortreeCity_DecorationShop/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82DB4F0/map.bin rename to data/layouts/FortreeCity_DecorationShop/map.bin diff --git a/data/layouts/UnusedLayout_82D672C/border.bin b/data/layouts/FortreeCity_House1/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82D672C/border.bin rename to data/layouts/FortreeCity_House1/border.bin diff --git a/data/layouts/UnusedLayout_82D7674/map.bin b/data/layouts/FortreeCity_House1/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82D7674/map.bin rename to data/layouts/FortreeCity_House1/map.bin diff --git a/data/layouts/UnusedLayout_82D75F0/border.bin b/data/layouts/FortreeCity_House2/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82D75F0/border.bin rename to data/layouts/FortreeCity_House2/border.bin diff --git a/data/layouts/UnusedLayout_82D7CC8/map.bin b/data/layouts/FortreeCity_House2/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82D7CC8/map.bin rename to data/layouts/FortreeCity_House2/map.bin diff --git a/data/layouts/UnusedLayout_82D88C8/border.bin b/data/layouts/LavaridgeTown_HerbShop/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82D88C8/border.bin rename to data/layouts/LavaridgeTown_HerbShop/border.bin diff --git a/data/layouts/UnusedLayout_82D6144/map.bin b/data/layouts/LavaridgeTown_HerbShop/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82D6144/map.bin rename to data/layouts/LavaridgeTown_HerbShop/map.bin diff --git a/data/layouts/UnusedLayout_82D54D8/border.bin b/data/layouts/LittlerootTown_MaysHouse_2F/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82D54D8/border.bin rename to data/layouts/LittlerootTown_MaysHouse_2F/border.bin diff --git a/data/layouts/UnusedLayout_82D54D8/map.bin b/data/layouts/LittlerootTown_MaysHouse_2F/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82D54D8/map.bin rename to data/layouts/LittlerootTown_MaysHouse_2F/map.bin diff --git a/data/layouts/UnusedLayout_82DCA70/border.bin b/data/layouts/MossdeepCity_EReaderTrainerHouse_1F/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82DCA70/border.bin rename to data/layouts/MossdeepCity_EReaderTrainerHouse_1F/border.bin diff --git a/data/layouts/UnusedLayout_82DCB44/map.bin b/data/layouts/MossdeepCity_EReaderTrainerHouse_1F/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82DCB44/map.bin rename to data/layouts/MossdeepCity_EReaderTrainerHouse_1F/map.bin diff --git a/data/layouts/UnusedLayout_82DCB44/border.bin b/data/layouts/MossdeepCity_EReaderTrainerHouse_2F/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82DCB44/border.bin rename to data/layouts/MossdeepCity_EReaderTrainerHouse_2F/border.bin diff --git a/data/layouts/UnusedLayout_82DCC40/map.bin b/data/layouts/MossdeepCity_EReaderTrainerHouse_2F/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82DCC40/map.bin rename to data/layouts/MossdeepCity_EReaderTrainerHouse_2F/map.bin diff --git a/data/layouts/UnusedLayout_82D7674/border.bin b/data/layouts/PacifidlogTown_House1/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82D7674/border.bin rename to data/layouts/PacifidlogTown_House1/border.bin diff --git a/data/layouts/UnusedLayout_82D6654/map.bin b/data/layouts/PacifidlogTown_House1/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82D6654/map.bin rename to data/layouts/PacifidlogTown_House1/map.bin diff --git a/data/layouts/UnusedLayout_82D7CC8/border.bin b/data/layouts/PacifidlogTown_House2/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82D7CC8/border.bin rename to data/layouts/PacifidlogTown_House2/border.bin diff --git a/data/layouts/UnusedLayout_82D672C/map.bin b/data/layouts/PacifidlogTown_House2/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82D672C/map.bin rename to data/layouts/PacifidlogTown_House2/map.bin diff --git a/data/layouts/UnknownMap_03_50/border.bin b/data/layouts/Prototype_SeviiIsle_22/border.bin similarity index 100% rename from data/layouts/UnknownMap_03_50/border.bin rename to data/layouts/Prototype_SeviiIsle_22/border.bin diff --git a/data/layouts/UnusedLayout_833614C/map.bin b/data/layouts/Prototype_SeviiIsle_22/map.bin similarity index 100% rename from data/layouts/UnusedLayout_833614C/map.bin rename to data/layouts/Prototype_SeviiIsle_22/map.bin diff --git a/data/layouts/UnknownMap_03_51/border.bin b/data/layouts/Prototype_SeviiIsle_23_East/border.bin similarity index 100% rename from data/layouts/UnknownMap_03_51/border.bin rename to data/layouts/Prototype_SeviiIsle_23_East/border.bin diff --git a/data/layouts/UnusedLayout_83377F0/map.bin b/data/layouts/Prototype_SeviiIsle_23_East/map.bin similarity index 100% rename from data/layouts/UnusedLayout_83377F0/map.bin rename to data/layouts/Prototype_SeviiIsle_23_East/map.bin diff --git a/data/layouts/UnknownMap_03_52/border.bin b/data/layouts/Prototype_SeviiIsle_23_West/border.bin similarity index 100% rename from data/layouts/UnknownMap_03_52/border.bin rename to data/layouts/Prototype_SeviiIsle_23_West/border.bin diff --git a/data/layouts/UnusedLayout_8338354/map.bin b/data/layouts/Prototype_SeviiIsle_23_West/map.bin similarity index 100% rename from data/layouts/UnusedLayout_8338354/map.bin rename to data/layouts/Prototype_SeviiIsle_23_West/map.bin diff --git a/data/layouts/UnknownMap_03_53/border.bin b/data/layouts/Prototype_SeviiIsle_24/border.bin similarity index 100% rename from data/layouts/UnknownMap_03_53/border.bin rename to data/layouts/Prototype_SeviiIsle_24/border.bin diff --git a/data/layouts/UnusedLayout_8338738/map.bin b/data/layouts/Prototype_SeviiIsle_24/map.bin similarity index 100% rename from data/layouts/UnusedLayout_8338738/map.bin rename to data/layouts/Prototype_SeviiIsle_24/map.bin diff --git a/data/layouts/UnusedLayout_833614C/border.bin b/data/layouts/Prototype_SeviiIsle_6/border.bin similarity index 100% rename from data/layouts/UnusedLayout_833614C/border.bin rename to data/layouts/Prototype_SeviiIsle_6/border.bin diff --git a/data/layouts/UnknownMap_03_50/map.bin b/data/layouts/Prototype_SeviiIsle_6/map.bin similarity index 100% rename from data/layouts/UnknownMap_03_50/map.bin rename to data/layouts/Prototype_SeviiIsle_6/map.bin diff --git a/data/layouts/UnusedLayout_83377F0/border.bin b/data/layouts/Prototype_SeviiIsle_7/border.bin similarity index 100% rename from data/layouts/UnusedLayout_83377F0/border.bin rename to data/layouts/Prototype_SeviiIsle_7/border.bin diff --git a/data/layouts/UnknownMap_03_51/map.bin b/data/layouts/Prototype_SeviiIsle_7/map.bin similarity index 100% rename from data/layouts/UnknownMap_03_51/map.bin rename to data/layouts/Prototype_SeviiIsle_7/map.bin diff --git a/data/layouts/UnusedLayout_8338354/border.bin b/data/layouts/Prototype_SeviiIsle_8/border.bin similarity index 100% rename from data/layouts/UnusedLayout_8338354/border.bin rename to data/layouts/Prototype_SeviiIsle_8/border.bin diff --git a/data/layouts/UnknownMap_03_52/map.bin b/data/layouts/Prototype_SeviiIsle_8/map.bin similarity index 100% rename from data/layouts/UnknownMap_03_52/map.bin rename to data/layouts/Prototype_SeviiIsle_8/map.bin diff --git a/data/layouts/UnusedLayout_8338738/border.bin b/data/layouts/Prototype_SeviiIsle_9/border.bin similarity index 100% rename from data/layouts/UnusedLayout_8338738/border.bin rename to data/layouts/Prototype_SeviiIsle_9/border.bin diff --git a/data/layouts/UnknownMap_03_53/map.bin b/data/layouts/Prototype_SeviiIsle_9/map.bin similarity index 100% rename from data/layouts/UnknownMap_03_53/map.bin rename to data/layouts/Prototype_SeviiIsle_9/map.bin diff --git a/data/layouts/UnusedLayout_82DBBE0/border.bin b/data/layouts/RS_BattleTower/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82DBBE0/border.bin rename to data/layouts/RS_BattleTower/border.bin diff --git a/data/layouts/UnusedLayout_82DBBE0/map.bin b/data/layouts/RS_BattleTower/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82DBBE0/map.bin rename to data/layouts/RS_BattleTower/map.bin diff --git a/data/layouts/UnusedLayout_82D6490/border.bin b/data/layouts/RS_PokemonCenter_1F/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82D6490/border.bin rename to data/layouts/RS_PokemonCenter_1F/border.bin diff --git a/data/layouts/UnusedLayout_82D6490/map.bin b/data/layouts/RS_PokemonCenter_1F/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82D6490/map.bin rename to data/layouts/RS_PokemonCenter_1F/map.bin diff --git a/data/layouts/UnusedLayout_82DCC40/border.bin b/data/layouts/RS_SafariZone_Entrance/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82DCC40/border.bin rename to data/layouts/RS_SafariZone_Entrance/border.bin diff --git a/data/layouts/UnusedLayout_82D88C8/map.bin b/data/layouts/RS_SafariZone_Entrance/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82D88C8/map.bin rename to data/layouts/RS_SafariZone_Entrance/map.bin diff --git a/data/layouts/UnusedLayout_82D9B24/border.bin b/data/layouts/RS_SafariZone_Northeast/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82D9B24/border.bin rename to data/layouts/RS_SafariZone_Northeast/border.bin diff --git a/data/layouts/UnusedLayout_82D9B24/map.bin b/data/layouts/RS_SafariZone_Northeast/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82D9B24/map.bin rename to data/layouts/RS_SafariZone_Northeast/map.bin diff --git a/data/layouts/UnusedLayout_82DD0DC/border.bin b/data/layouts/RS_SafariZone_RestHouse/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82DD0DC/border.bin rename to data/layouts/RS_SafariZone_RestHouse/border.bin diff --git a/data/layouts/UnusedLayout_82DD0DC/map.bin b/data/layouts/RS_SafariZone_RestHouse/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82DD0DC/map.bin rename to data/layouts/RS_SafariZone_RestHouse/map.bin diff --git a/data/layouts/UnusedLayout_82DA7C8/border.bin b/data/layouts/RS_SafariZone_Southeast/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82DA7C8/border.bin rename to data/layouts/RS_SafariZone_Southeast/border.bin diff --git a/data/layouts/UnusedLayout_82DB46C/map.bin b/data/layouts/RS_SafariZone_Southeast/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82DB46C/map.bin rename to data/layouts/RS_SafariZone_Southeast/map.bin diff --git a/data/layouts/UnusedLayout_82DB46C/border.bin b/data/layouts/RS_SafariZone_Southwest/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82DB46C/border.bin rename to data/layouts/RS_SafariZone_Southwest/border.bin diff --git a/data/layouts/UnusedLayout_82DA7C8/map.bin b/data/layouts/RS_SafariZone_Southwest/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82DA7C8/map.bin rename to data/layouts/RS_SafariZone_Southwest/map.bin diff --git a/data/layouts/UnusedLayout_82DB4F0/border.bin b/data/layouts/RustboroCity_CuttersHouse/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82DB4F0/border.bin rename to data/layouts/RustboroCity_CuttersHouse/border.bin diff --git a/data/layouts/UnusedLayout_82D75F0/map.bin b/data/layouts/RustboroCity_CuttersHouse/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82D75F0/map.bin rename to data/layouts/RustboroCity_CuttersHouse/map.bin diff --git a/data/layouts/UnusedLayout_82DBDD8/border.bin b/data/layouts/RustboroCity_Flat1_1F/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82DBDD8/border.bin rename to data/layouts/RustboroCity_Flat1_1F/border.bin diff --git a/data/layouts/UnusedLayout_82DCF00/map.bin b/data/layouts/RustboroCity_Flat1_1F/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82DCF00/map.bin rename to data/layouts/RustboroCity_Flat1_1F/map.bin diff --git a/data/layouts/UnusedLayout_82DBFB8/border.bin b/data/layouts/RustboroCity_Flat1_2F/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82DBFB8/border.bin rename to data/layouts/RustboroCity_Flat1_2F/border.bin diff --git a/data/layouts/UnusedLayout_82DD004/map.bin b/data/layouts/RustboroCity_Flat1_2F/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82DD004/map.bin rename to data/layouts/RustboroCity_Flat1_2F/map.bin diff --git a/data/layouts/UnusedLayout_82DC4EC/border.bin b/data/layouts/RustboroCity_Flat2_1F/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82DC4EC/border.bin rename to data/layouts/RustboroCity_Flat2_1F/border.bin diff --git a/data/layouts/UnusedLayout_82DC60C/map.bin b/data/layouts/RustboroCity_Flat2_1F/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82DC60C/map.bin rename to data/layouts/RustboroCity_Flat2_1F/map.bin diff --git a/data/layouts/UnusedLayout_82DC60C/border.bin b/data/layouts/RustboroCity_Flat2_2F/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82DC60C/border.bin rename to data/layouts/RustboroCity_Flat2_2F/border.bin diff --git a/data/layouts/UnusedLayout_82DC72C/map.bin b/data/layouts/RustboroCity_Flat2_2F/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82DC72C/map.bin rename to data/layouts/RustboroCity_Flat2_2F/map.bin diff --git a/data/layouts/UnusedLayout_82DC72C/border.bin b/data/layouts/RustboroCity_Flat2_3F/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82DC72C/border.bin rename to data/layouts/RustboroCity_Flat2_3F/border.bin diff --git a/data/layouts/UnusedLayout_82DC84C/map.bin b/data/layouts/RustboroCity_Flat2_3F/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82DC84C/map.bin rename to data/layouts/RustboroCity_Flat2_3F/map.bin diff --git a/data/layouts/UnusedLayout_82DC84C/border.bin b/data/layouts/SSTidal_Corridor/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82DC84C/border.bin rename to data/layouts/SSTidal_Corridor/border.bin diff --git a/data/layouts/UnusedLayout_82DBDD8/map.bin b/data/layouts/SSTidal_Corridor/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82DBDD8/map.bin rename to data/layouts/SSTidal_Corridor/map.bin diff --git a/data/layouts/UnusedLayout_82DCCD4/border.bin b/data/layouts/SSTidal_LowerDeck/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82DCCD4/border.bin rename to data/layouts/SSTidal_LowerDeck/border.bin diff --git a/data/layouts/UnusedLayout_82DBFB8/map.bin b/data/layouts/SSTidal_LowerDeck/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82DBFB8/map.bin rename to data/layouts/SSTidal_LowerDeck/map.bin diff --git a/data/layouts/UnusedLayout_82DCD68/border.bin b/data/layouts/SSTidal_Rooms/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82DCD68/border.bin rename to data/layouts/SSTidal_Rooms/border.bin diff --git a/data/layouts/UnusedLayout_82DC4EC/map.bin b/data/layouts/SSTidal_Rooms/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82DC4EC/map.bin rename to data/layouts/SSTidal_Rooms/map.bin diff --git a/data/layouts/SaffronCity_Classic/border.bin b/data/layouts/SaffronCity_Connection/border.bin similarity index 100% rename from data/layouts/SaffronCity_Classic/border.bin rename to data/layouts/SaffronCity_Connection/border.bin diff --git a/data/layouts/SaffronCity_Classic/map.bin b/data/layouts/SaffronCity_Connection/map.bin similarity index 100% rename from data/layouts/SaffronCity_Classic/map.bin rename to data/layouts/SaffronCity_Connection/map.bin diff --git a/data/layouts/SevenIsland_TrainerTower_1F/border.bin b/data/layouts/SaffronCity_CopycatsHouse_1F/border.bin similarity index 100% rename from data/layouts/SevenIsland_TrainerTower_1F/border.bin rename to data/layouts/SaffronCity_CopycatsHouse_1F/border.bin diff --git a/data/layouts/SaffronCity_House1_1F/map.bin b/data/layouts/SaffronCity_CopycatsHouse_1F/map.bin similarity index 100% rename from data/layouts/SaffronCity_House1_1F/map.bin rename to data/layouts/SaffronCity_CopycatsHouse_1F/map.bin diff --git a/data/layouts/SevenIsland_TrainerTower_2F/border.bin b/data/layouts/SaffronCity_CopycatsHouse_2F/border.bin similarity index 100% rename from data/layouts/SevenIsland_TrainerTower_2F/border.bin rename to data/layouts/SaffronCity_CopycatsHouse_2F/border.bin diff --git a/data/layouts/SaffronCity_House1_2F/map.bin b/data/layouts/SaffronCity_CopycatsHouse_2F/map.bin similarity index 100% rename from data/layouts/SaffronCity_House1_2F/map.bin rename to data/layouts/SaffronCity_CopycatsHouse_2F/map.bin diff --git a/data/layouts/SevenIsland_TrainerTower_3F/border.bin b/data/layouts/SevenIsland_House_Room1_DoorOpen/border.bin similarity index 100% rename from data/layouts/SevenIsland_TrainerTower_3F/border.bin rename to data/layouts/SevenIsland_House_Room1_DoorOpen/border.bin diff --git a/data/layouts/UnusedLayout_8338B4C/map.bin b/data/layouts/SevenIsland_House_Room1_DoorOpen/map.bin similarity index 100% rename from data/layouts/UnusedLayout_8338B4C/map.bin rename to data/layouts/SevenIsland_House_Room1_DoorOpen/map.bin diff --git a/data/layouts/UnusedLayout_82DCDFC/border.bin b/data/layouts/SootopolisCity_House1/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82DCDFC/border.bin rename to data/layouts/SootopolisCity_House1/border.bin diff --git a/data/layouts/UnusedLayout_82DCCD4/map.bin b/data/layouts/SootopolisCity_House1/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82DCCD4/map.bin rename to data/layouts/SootopolisCity_House1/map.bin diff --git a/data/layouts/UnusedLayout_82DCF00/border.bin b/data/layouts/SootopolisCity_House2/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82DCF00/border.bin rename to data/layouts/SootopolisCity_House2/border.bin diff --git a/data/layouts/UnusedLayout_82DCD68/map.bin b/data/layouts/SootopolisCity_House2/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82DCD68/map.bin rename to data/layouts/SootopolisCity_House2/map.bin diff --git a/data/layouts/UnusedLayout_82DD004/border.bin b/data/layouts/SootopolisCity_House3/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82DD004/border.bin rename to data/layouts/SootopolisCity_House3/border.bin diff --git a/data/layouts/UnusedLayout_82DCDFC/map.bin b/data/layouts/SootopolisCity_House3/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82DCDFC/map.bin rename to data/layouts/SootopolisCity_House3/map.bin diff --git a/data/layouts/UnusedLayout_83453C0/border.bin b/data/layouts/ThreeIsland_DunsparceTunnel_DugOut/border.bin similarity index 100% rename from data/layouts/UnusedLayout_83453C0/border.bin rename to data/layouts/ThreeIsland_DunsparceTunnel_DugOut/border.bin diff --git a/data/layouts/UnusedLayout_83453C0/map.bin b/data/layouts/ThreeIsland_DunsparceTunnel_DugOut/map.bin similarity index 100% rename from data/layouts/UnusedLayout_83453C0/map.bin rename to data/layouts/ThreeIsland_DunsparceTunnel_DugOut/map.bin diff --git a/data/layouts/SevenIsland_TrainerTower_4F/border.bin b/data/layouts/TrainerTower_1F/border.bin similarity index 100% rename from data/layouts/SevenIsland_TrainerTower_4F/border.bin rename to data/layouts/TrainerTower_1F/border.bin diff --git a/data/layouts/SevenIsland_TrainerTower_1F/map.bin b/data/layouts/TrainerTower_1F/map.bin similarity index 100% rename from data/layouts/SevenIsland_TrainerTower_1F/map.bin rename to data/layouts/TrainerTower_1F/map.bin diff --git a/data/layouts/SevenIsland_TrainerTower_5F/border.bin b/data/layouts/TrainerTower_1F_Doubles/border.bin similarity index 100% rename from data/layouts/SevenIsland_TrainerTower_5F/border.bin rename to data/layouts/TrainerTower_1F_Doubles/border.bin diff --git a/data/layouts/UnusedLayout_834BC2C/map.bin b/data/layouts/TrainerTower_1F_Doubles/map.bin similarity index 100% rename from data/layouts/UnusedLayout_834BC2C/map.bin rename to data/layouts/TrainerTower_1F_Doubles/map.bin diff --git a/data/layouts/SevenIsland_TrainerTower_6F/border.bin b/data/layouts/TrainerTower_1F_Knockout/border.bin similarity index 100% rename from data/layouts/SevenIsland_TrainerTower_6F/border.bin rename to data/layouts/TrainerTower_1F_Knockout/border.bin diff --git a/data/layouts/UnusedLayout_834D06C/map.bin b/data/layouts/TrainerTower_1F_Knockout/map.bin similarity index 100% rename from data/layouts/UnusedLayout_834D06C/map.bin rename to data/layouts/TrainerTower_1F_Knockout/map.bin diff --git a/data/layouts/SevenIsland_TrainerTower_7F/border.bin b/data/layouts/TrainerTower_2F/border.bin similarity index 100% rename from data/layouts/SevenIsland_TrainerTower_7F/border.bin rename to data/layouts/TrainerTower_2F/border.bin diff --git a/data/layouts/SevenIsland_TrainerTower_2F/map.bin b/data/layouts/TrainerTower_2F/map.bin similarity index 100% rename from data/layouts/SevenIsland_TrainerTower_2F/map.bin rename to data/layouts/TrainerTower_2F/map.bin diff --git a/data/layouts/SevenIsland_TrainerTower_8F/border.bin b/data/layouts/TrainerTower_2F_Doubles/border.bin similarity index 100% rename from data/layouts/SevenIsland_TrainerTower_8F/border.bin rename to data/layouts/TrainerTower_2F_Doubles/border.bin diff --git a/data/layouts/UnusedLayout_834BEB4/map.bin b/data/layouts/TrainerTower_2F_Doubles/map.bin similarity index 100% rename from data/layouts/UnusedLayout_834BEB4/map.bin rename to data/layouts/TrainerTower_2F_Doubles/map.bin diff --git a/data/layouts/SevenIsland_TrainerTower_Elevator/border.bin b/data/layouts/TrainerTower_2F_Knockout/border.bin similarity index 100% rename from data/layouts/SevenIsland_TrainerTower_Elevator/border.bin rename to data/layouts/TrainerTower_2F_Knockout/border.bin diff --git a/data/layouts/UnusedLayout_834D2F4/map.bin b/data/layouts/TrainerTower_2F_Knockout/map.bin similarity index 100% rename from data/layouts/UnusedLayout_834D2F4/map.bin rename to data/layouts/TrainerTower_2F_Knockout/map.bin diff --git a/data/layouts/SevenIsland_TrainerTower_Lobby/border.bin b/data/layouts/TrainerTower_3F/border.bin similarity index 100% rename from data/layouts/SevenIsland_TrainerTower_Lobby/border.bin rename to data/layouts/TrainerTower_3F/border.bin diff --git a/data/layouts/SevenIsland_TrainerTower_3F/map.bin b/data/layouts/TrainerTower_3F/map.bin similarity index 100% rename from data/layouts/SevenIsland_TrainerTower_3F/map.bin rename to data/layouts/TrainerTower_3F/map.bin diff --git a/data/layouts/UnusedLayout_82D6C34/border.bin b/data/layouts/TrainerTower_3F_Doubles/border.bin similarity index 100% rename from data/layouts/UnusedLayout_82D6C34/border.bin rename to data/layouts/TrainerTower_3F_Doubles/border.bin diff --git a/data/layouts/UnusedLayout_834C13C/map.bin b/data/layouts/TrainerTower_3F_Doubles/map.bin similarity index 100% rename from data/layouts/UnusedLayout_834C13C/map.bin rename to data/layouts/TrainerTower_3F_Doubles/map.bin diff --git a/data/layouts/UnusedLayout_8338B4C/border.bin b/data/layouts/TrainerTower_3F_Knockout/border.bin similarity index 100% rename from data/layouts/UnusedLayout_8338B4C/border.bin rename to data/layouts/TrainerTower_3F_Knockout/border.bin diff --git a/data/layouts/UnusedLayout_834D57C/map.bin b/data/layouts/TrainerTower_3F_Knockout/map.bin similarity index 100% rename from data/layouts/UnusedLayout_834D57C/map.bin rename to data/layouts/TrainerTower_3F_Knockout/map.bin diff --git a/data/layouts/UnusedLayout_8338E90/border.bin b/data/layouts/TrainerTower_4F/border.bin similarity index 100% rename from data/layouts/UnusedLayout_8338E90/border.bin rename to data/layouts/TrainerTower_4F/border.bin diff --git a/data/layouts/SevenIsland_TrainerTower_4F/map.bin b/data/layouts/TrainerTower_4F/map.bin similarity index 100% rename from data/layouts/SevenIsland_TrainerTower_4F/map.bin rename to data/layouts/TrainerTower_4F/map.bin diff --git a/data/layouts/UnusedLayout_833902C/border.bin b/data/layouts/TrainerTower_4F_Doubles/border.bin similarity index 100% rename from data/layouts/UnusedLayout_833902C/border.bin rename to data/layouts/TrainerTower_4F_Doubles/border.bin diff --git a/data/layouts/UnusedLayout_834C3C4/map.bin b/data/layouts/TrainerTower_4F_Doubles/map.bin similarity index 100% rename from data/layouts/UnusedLayout_834C3C4/map.bin rename to data/layouts/TrainerTower_4F_Doubles/map.bin diff --git a/data/layouts/UnusedLayout_834BC2C/border.bin b/data/layouts/TrainerTower_4F_Knockout/border.bin similarity index 100% rename from data/layouts/UnusedLayout_834BC2C/border.bin rename to data/layouts/TrainerTower_4F_Knockout/border.bin diff --git a/data/layouts/UnusedLayout_834D804/map.bin b/data/layouts/TrainerTower_4F_Knockout/map.bin similarity index 100% rename from data/layouts/UnusedLayout_834D804/map.bin rename to data/layouts/TrainerTower_4F_Knockout/map.bin diff --git a/data/layouts/UnusedLayout_834BEB4/border.bin b/data/layouts/TrainerTower_5F/border.bin similarity index 100% rename from data/layouts/UnusedLayout_834BEB4/border.bin rename to data/layouts/TrainerTower_5F/border.bin diff --git a/data/layouts/SevenIsland_TrainerTower_5F/map.bin b/data/layouts/TrainerTower_5F/map.bin similarity index 100% rename from data/layouts/SevenIsland_TrainerTower_5F/map.bin rename to data/layouts/TrainerTower_5F/map.bin diff --git a/data/layouts/UnusedLayout_834C13C/border.bin b/data/layouts/TrainerTower_5F_Doubles/border.bin similarity index 100% rename from data/layouts/UnusedLayout_834C13C/border.bin rename to data/layouts/TrainerTower_5F_Doubles/border.bin diff --git a/data/layouts/UnusedLayout_834C64C/map.bin b/data/layouts/TrainerTower_5F_Doubles/map.bin similarity index 100% rename from data/layouts/UnusedLayout_834C64C/map.bin rename to data/layouts/TrainerTower_5F_Doubles/map.bin diff --git a/data/layouts/UnusedLayout_834C3C4/border.bin b/data/layouts/TrainerTower_5F_Knockout/border.bin similarity index 100% rename from data/layouts/UnusedLayout_834C3C4/border.bin rename to data/layouts/TrainerTower_5F_Knockout/border.bin diff --git a/data/layouts/UnusedLayout_834DA8C/map.bin b/data/layouts/TrainerTower_5F_Knockout/map.bin similarity index 100% rename from data/layouts/UnusedLayout_834DA8C/map.bin rename to data/layouts/TrainerTower_5F_Knockout/map.bin diff --git a/data/layouts/UnusedLayout_834C64C/border.bin b/data/layouts/TrainerTower_6F/border.bin similarity index 100% rename from data/layouts/UnusedLayout_834C64C/border.bin rename to data/layouts/TrainerTower_6F/border.bin diff --git a/data/layouts/SevenIsland_TrainerTower_6F/map.bin b/data/layouts/TrainerTower_6F/map.bin similarity index 100% rename from data/layouts/SevenIsland_TrainerTower_6F/map.bin rename to data/layouts/TrainerTower_6F/map.bin diff --git a/data/layouts/UnusedLayout_834C8D4/border.bin b/data/layouts/TrainerTower_6F_Doubles/border.bin similarity index 100% rename from data/layouts/UnusedLayout_834C8D4/border.bin rename to data/layouts/TrainerTower_6F_Doubles/border.bin diff --git a/data/layouts/UnusedLayout_834C8D4/map.bin b/data/layouts/TrainerTower_6F_Doubles/map.bin similarity index 100% rename from data/layouts/UnusedLayout_834C8D4/map.bin rename to data/layouts/TrainerTower_6F_Doubles/map.bin diff --git a/data/layouts/UnusedLayout_834CB5C/border.bin b/data/layouts/TrainerTower_6F_Knockout/border.bin similarity index 100% rename from data/layouts/UnusedLayout_834CB5C/border.bin rename to data/layouts/TrainerTower_6F_Knockout/border.bin diff --git a/data/layouts/UnusedLayout_834DD14/map.bin b/data/layouts/TrainerTower_6F_Knockout/map.bin similarity index 100% rename from data/layouts/UnusedLayout_834DD14/map.bin rename to data/layouts/TrainerTower_6F_Knockout/map.bin diff --git a/data/layouts/UnusedLayout_834CDE4/border.bin b/data/layouts/TrainerTower_7F/border.bin similarity index 100% rename from data/layouts/UnusedLayout_834CDE4/border.bin rename to data/layouts/TrainerTower_7F/border.bin diff --git a/data/layouts/SevenIsland_TrainerTower_7F/map.bin b/data/layouts/TrainerTower_7F/map.bin similarity index 100% rename from data/layouts/SevenIsland_TrainerTower_7F/map.bin rename to data/layouts/TrainerTower_7F/map.bin diff --git a/data/layouts/UnusedLayout_834D06C/border.bin b/data/layouts/TrainerTower_7F_Doubles/border.bin similarity index 100% rename from data/layouts/UnusedLayout_834D06C/border.bin rename to data/layouts/TrainerTower_7F_Doubles/border.bin diff --git a/data/layouts/UnusedLayout_834CB5C/map.bin b/data/layouts/TrainerTower_7F_Doubles/map.bin similarity index 100% rename from data/layouts/UnusedLayout_834CB5C/map.bin rename to data/layouts/TrainerTower_7F_Doubles/map.bin diff --git a/data/layouts/UnusedLayout_834D2F4/border.bin b/data/layouts/TrainerTower_7F_Knockout/border.bin similarity index 100% rename from data/layouts/UnusedLayout_834D2F4/border.bin rename to data/layouts/TrainerTower_7F_Knockout/border.bin diff --git a/data/layouts/UnusedLayout_834DF9C/map.bin b/data/layouts/TrainerTower_7F_Knockout/map.bin similarity index 100% rename from data/layouts/UnusedLayout_834DF9C/map.bin rename to data/layouts/TrainerTower_7F_Knockout/map.bin diff --git a/data/layouts/UnusedLayout_834D57C/border.bin b/data/layouts/TrainerTower_8F/border.bin similarity index 100% rename from data/layouts/UnusedLayout_834D57C/border.bin rename to data/layouts/TrainerTower_8F/border.bin diff --git a/data/layouts/SevenIsland_TrainerTower_8F/map.bin b/data/layouts/TrainerTower_8F/map.bin similarity index 100% rename from data/layouts/SevenIsland_TrainerTower_8F/map.bin rename to data/layouts/TrainerTower_8F/map.bin diff --git a/data/layouts/UnusedLayout_834D804/border.bin b/data/layouts/TrainerTower_8F_Doubles/border.bin similarity index 100% rename from data/layouts/UnusedLayout_834D804/border.bin rename to data/layouts/TrainerTower_8F_Doubles/border.bin diff --git a/data/layouts/UnusedLayout_834CDE4/map.bin b/data/layouts/TrainerTower_8F_Doubles/map.bin similarity index 100% rename from data/layouts/UnusedLayout_834CDE4/map.bin rename to data/layouts/TrainerTower_8F_Doubles/map.bin diff --git a/data/layouts/UnusedLayout_834DA8C/border.bin b/data/layouts/TrainerTower_8F_Knockout/border.bin similarity index 100% rename from data/layouts/UnusedLayout_834DA8C/border.bin rename to data/layouts/TrainerTower_8F_Knockout/border.bin diff --git a/data/layouts/UnusedLayout_834E224/map.bin b/data/layouts/TrainerTower_8F_Knockout/map.bin similarity index 100% rename from data/layouts/UnusedLayout_834E224/map.bin rename to data/layouts/TrainerTower_8F_Knockout/map.bin diff --git a/data/layouts/UnusedLayout_834DD14/border.bin b/data/layouts/TrainerTower_Elevator/border.bin similarity index 100% rename from data/layouts/UnusedLayout_834DD14/border.bin rename to data/layouts/TrainerTower_Elevator/border.bin diff --git a/data/layouts/SevenIsland_TrainerTower_Elevator/map.bin b/data/layouts/TrainerTower_Elevator/map.bin similarity index 100% rename from data/layouts/SevenIsland_TrainerTower_Elevator/map.bin rename to data/layouts/TrainerTower_Elevator/map.bin diff --git a/data/layouts/UnusedLayout_834DF9C/border.bin b/data/layouts/TrainerTower_Lobby/border.bin similarity index 100% rename from data/layouts/UnusedLayout_834DF9C/border.bin rename to data/layouts/TrainerTower_Lobby/border.bin diff --git a/data/layouts/SevenIsland_TrainerTower_Lobby/map.bin b/data/layouts/TrainerTower_Lobby/map.bin similarity index 100% rename from data/layouts/SevenIsland_TrainerTower_Lobby/map.bin rename to data/layouts/TrainerTower_Lobby/map.bin diff --git a/data/layouts/SevenIsland_TrainerTower_Roof/border.bin b/data/layouts/TrainerTower_Roof/border.bin similarity index 100% rename from data/layouts/SevenIsland_TrainerTower_Roof/border.bin rename to data/layouts/TrainerTower_Roof/border.bin diff --git a/data/layouts/SevenIsland_TrainerTower_Roof/map.bin b/data/layouts/TrainerTower_Roof/map.bin similarity index 100% rename from data/layouts/SevenIsland_TrainerTower_Roof/map.bin rename to data/layouts/TrainerTower_Roof/map.bin diff --git a/data/layouts/UnusedLayout_834E224/border.bin b/data/layouts/Unused1/border.bin similarity index 100% rename from data/layouts/UnusedLayout_834E224/border.bin rename to data/layouts/Unused1/border.bin diff --git a/data/layouts/UnusedLayout_82D6C34/map.bin b/data/layouts/Unused1/map.bin similarity index 100% rename from data/layouts/UnusedLayout_82D6C34/map.bin rename to data/layouts/Unused1/map.bin diff --git a/data/layouts/layouts.json b/data/layouts/layouts.json index 63fc06562..a9911aed4 100644 --- a/data/layouts/layouts.json +++ b/data/layouts/layouts.json @@ -8,8 +8,8 @@ "height": 10, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4C74", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding1", "border_filepath": "data/layouts/PalletTown_PlayersHouse_1F/border.bin", "blockdata_filepath": "data/layouts/PalletTown_PlayersHouse_1F/map.bin" }, @@ -20,8 +20,8 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4C74", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding1", "border_filepath": "data/layouts/PalletTown_PlayersHouse_2F/border.bin", "blockdata_filepath": "data/layouts/PalletTown_PlayersHouse_2F/map.bin" }, @@ -32,22 +32,22 @@ "height": 10, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E84", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding2", "border_filepath": "data/layouts/PalletTown_GarysHouse/border.bin", "blockdata_filepath": "data/layouts/PalletTown_GarysHouse/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82D54D8", - "name": "UnusedLayout_82D54D8_Layout", + "id": "LAYOUT_LITTLEROOT_TOWN_MAYS_HOUSE_2F", + "name": "LittlerootTown_MaysHouse_2F_Layout", "width": 9, "height": 8, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4C74", - "border_filepath": "data/layouts/UnusedLayout_82D54D8/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82D54D8/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding1", + "border_filepath": "data/layouts/LittlerootTown_MaysHouse_2F/border.bin", + "blockdata_filepath": "data/layouts/LittlerootTown_MaysHouse_2F/map.bin" }, { "id": "LAYOUT_PALLET_TOWN_PROFESSOR_OAKS_LAB", @@ -56,8 +56,8 @@ "height": 14, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4C8C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_Lab", "border_filepath": "data/layouts/PalletTown_ProfessorOaksLab/border.bin", "blockdata_filepath": "data/layouts/PalletTown_ProfessorOaksLab/map.bin" }, @@ -68,8 +68,8 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4C74", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding1", "border_filepath": "data/layouts/House1/border.bin", "blockdata_filepath": "data/layouts/House1/map.bin" }, @@ -80,8 +80,8 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E84", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding2", "border_filepath": "data/layouts/House2/border.bin", "blockdata_filepath": "data/layouts/House2/map.bin" }, @@ -92,8 +92,8 @@ "height": 10, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4BE4", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PokemonCenter", "border_filepath": "data/layouts/PokemonCenter_1F/border.bin", "blockdata_filepath": "data/layouts/PokemonCenter_1F/map.bin" }, @@ -104,8 +104,8 @@ "height": 10, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4BE4", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PokemonCenter", "border_filepath": "data/layouts/PokemonCenter_2F/border.bin", "blockdata_filepath": "data/layouts/PokemonCenter_2F/map.bin" }, @@ -116,8 +116,8 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4BCC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_Mart", "border_filepath": "data/layouts/Mart/border.bin", "blockdata_filepath": "data/layouts/Mart/map.bin" }, @@ -128,8 +128,8 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E84", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding2", "border_filepath": "data/layouts/House3/border.bin", "blockdata_filepath": "data/layouts/House3/map.bin" }, @@ -140,8 +140,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4D1C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_CeruleanGym", "border_filepath": "data/layouts/CeruleanCity_Gym/border.bin", "blockdata_filepath": "data/layouts/CeruleanCity_Gym/map.bin" }, @@ -152,22 +152,22 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E84", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding2", "border_filepath": "data/layouts/House4/border.bin", "blockdata_filepath": "data/layouts/House4/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82D6144", - "name": "UnusedLayout_82D6144_Layout", + "id": "LAYOUT_LAVARIDGE_TOWN_HERB_SHOP", + "name": "LavaridgeTown_HerbShop_Layout", "width": 11, "height": 8, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4BCC", - "border_filepath": "data/layouts/UnusedLayout_82D6144/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82D6144/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_Mart", + "border_filepath": "data/layouts/LavaridgeTown_HerbShop/border.bin", + "blockdata_filepath": "data/layouts/LavaridgeTown_HerbShop/map.bin" }, { "id": "LAYOUT_CELADON_CITY_GYM", @@ -176,22 +176,22 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4D4C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_CeladonGym", "border_filepath": "data/layouts/CeladonCity_Gym/border.bin", "blockdata_filepath": "data/layouts/CeladonCity_Gym/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82D6490", - "name": "UnusedLayout_82D6490_Layout", + "id": "LAYOUT_RS_POKEMON_CENTER_1F", + "name": "RS_PokemonCenter_1F_Layout", "width": 14, "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4BE4", - "border_filepath": "data/layouts/UnusedLayout_82D6490/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82D6490/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PokemonCenter", + "border_filepath": "data/layouts/RS_PokemonCenter_1F/border.bin", + "blockdata_filepath": "data/layouts/RS_PokemonCenter_1F/map.bin" }, { "id": "LAYOUT_FIVE_ISLAND_RESORT_GORGEOUS_HOUSE", @@ -200,34 +200,34 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4C2C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_Museum", "border_filepath": "data/layouts/FiveIsland_ResortGorgeous_House/border.bin", "blockdata_filepath": "data/layouts/FiveIsland_ResortGorgeous_House/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82D6654", - "name": "UnusedLayout_82D6654_Layout", + "id": "LAYOUT_PACIFIDLOG_TOWN_HOUSE1", + "name": "PacifidlogTown_House1_Layout", "width": 10, "height": 9, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4CD4", - "border_filepath": "data/layouts/UnusedLayout_82D6654/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82D6654/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_HoennBuilding", + "border_filepath": "data/layouts/PacifidlogTown_House1/border.bin", + "blockdata_filepath": "data/layouts/PacifidlogTown_House1/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82D672C", - "name": "UnusedLayout_82D672C_Layout", + "id": "LAYOUT_PACIFIDLOG_TOWN_HOUSE2", + "name": "PacifidlogTown_House2_Layout", "width": 10, "height": 9, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4CD4", - "border_filepath": "data/layouts/UnusedLayout_82D672C/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82D672C/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_HoennBuilding", + "border_filepath": "data/layouts/PacifidlogTown_House2/border.bin", + "blockdata_filepath": "data/layouts/PacifidlogTown_House2/map.bin" }, { "id": "LAYOUT_FUCHSIA_CITY_GYM", @@ -236,8 +236,8 @@ "height": 23, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4CA4", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_FuchsiaGym", "border_filepath": "data/layouts/FuchsiaCity_Gym/border.bin", "blockdata_filepath": "data/layouts/FuchsiaCity_Gym/map.bin" }, @@ -248,24 +248,24 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4C74", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding1", "border_filepath": "data/layouts/House5/border.bin", "blockdata_filepath": "data/layouts/House5/map.bin" }, {}, {}, { - "id": "LAYOUT_UNUSED_LAYOUT_82D6C34", - "name": "UnusedLayout_82D6C34_Layout", + "id": "LAYOUT_UNUSED1", + "name": "Unused1_Layout", "width": 12, "height": 12, "border_width": 2, "border_height": 2, "primary_tileset": "NULL", - "secondary_tileset": "gTileset_82D4C14", - "border_filepath": "data/layouts/UnusedLayout_82D6C34/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82D6C34/map.bin" + "secondary_tileset": "gTileset_Dummy1", + "border_filepath": "data/layouts/Unused1/border.bin", + "blockdata_filepath": "data/layouts/Unused1/map.bin" }, { "id": "LAYOUT_VERMILION_CITY_GYM", @@ -274,8 +274,8 @@ "height": 21, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4D34", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_VermilionGym", "border_filepath": "data/layouts/VermilionCity_Gym/border.bin", "blockdata_filepath": "data/layouts/VermilionCity_Gym/map.bin" }, @@ -286,8 +286,8 @@ "height": 10, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4C5C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_BikeShop", "border_filepath": "data/layouts/CeruleanCity_BikeShop/border.bin", "blockdata_filepath": "data/layouts/CeruleanCity_BikeShop/map.bin" }, @@ -298,8 +298,8 @@ "height": 15, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4CEC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GameCorner", "border_filepath": "data/layouts/CeladonCity_GameCorner/border.bin", "blockdata_filepath": "data/layouts/CeladonCity_GameCorner/map.bin" }, @@ -310,8 +310,8 @@ "height": 16, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4D04", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PewterGym", "border_filepath": "data/layouts/PewterCity_Gym/border.bin", "blockdata_filepath": "data/layouts/PewterCity_Gym/map.bin" }, @@ -323,8 +323,8 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4F14", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SafariZoneBuilding", "border_filepath": "data/layouts/FourIsland_LoreleisHouse/border.bin", "blockdata_filepath": "data/layouts/FourIsland_LoreleisHouse/map.bin" }, @@ -335,34 +335,34 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4C8C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_Lab", "border_filepath": "data/layouts/ThreeIsland_House1/border.bin", "blockdata_filepath": "data/layouts/ThreeIsland_House1/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82D75F0", - "name": "UnusedLayout_82D75F0_Layout", + "id": "LAYOUT_RUSTBORO_CITY_CUTTERS_HOUSE", + "name": "RustboroCity_CuttersHouse_Layout", "width": 11, "height": 9, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4CD4", - "border_filepath": "data/layouts/UnusedLayout_82D75F0/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82D75F0/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_HoennBuilding", + "border_filepath": "data/layouts/RustboroCity_CuttersHouse/border.bin", + "blockdata_filepath": "data/layouts/RustboroCity_CuttersHouse/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82D7674", - "name": "UnusedLayout_82D7674_Layout", + "id": "LAYOUT_FORTREE_CITY_HOUSE1", + "name": "FortreeCity_House1_Layout", "width": 8, "height": 6, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4CD4", - "border_filepath": "data/layouts/UnusedLayout_82D7674/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82D7674/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_HoennBuilding", + "border_filepath": "data/layouts/FortreeCity_House1/border.bin", + "blockdata_filepath": "data/layouts/FortreeCity_House1/map.bin" }, { "id": "LAYOUT_SAFFRON_CITY_GYM", @@ -371,22 +371,22 @@ "height": 25, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4D64", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SaffronGym", "border_filepath": "data/layouts/SaffronCity_Gym/border.bin", "blockdata_filepath": "data/layouts/SaffronCity_Gym/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82D7CC8", - "name": "UnusedLayout_82D7CC8_Layout", + "id": "LAYOUT_FORTREE_CITY_HOUSE2", + "name": "FortreeCity_House2_Layout", "width": 8, "height": 6, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4CD4", - "border_filepath": "data/layouts/UnusedLayout_82D7CC8/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82D7CC8/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_HoennBuilding", + "border_filepath": "data/layouts/FortreeCity_House2/border.bin", + "blockdata_filepath": "data/layouts/FortreeCity_House2/map.bin" }, { "id": "LAYOUT_CINNABAR_ISLAND_GYM", @@ -395,8 +395,8 @@ "height": 25, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4D7C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_CinnabarGym", "border_filepath": "data/layouts/CinnabarIsland_Gym/border.bin", "blockdata_filepath": "data/layouts/CinnabarIsland_Gym/map.bin" }, @@ -407,8 +407,8 @@ "height": 24, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4CBC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_ViridianGym", "border_filepath": "data/layouts/ViridianCity_Gym/border.bin", "blockdata_filepath": "data/layouts/ViridianCity_Gym/map.bin" }, @@ -421,16 +421,16 @@ {}, {}, { - "id": "LAYOUT_UNUSED_LAYOUT_82D88C8", - "name": "UnusedLayout_82D88C8_Layout", + "id": "LAYOUT_RS_SAFARI_ZONE_ENTRANCE", + "name": "RS_SafariZone_Entrance_Layout", "width": 18, "height": 14, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4BCC", - "border_filepath": "data/layouts/UnusedLayout_82D88C8/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82D88C8/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_Mart", + "border_filepath": "data/layouts/RS_SafariZone_Entrance/border.bin", + "blockdata_filepath": "data/layouts/RS_SafariZone_Entrance/map.bin" }, { "id": "LAYOUT_BATTLE_COLOSSEUM_2P", @@ -439,8 +439,8 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4C44", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_CableClub", "border_filepath": "data/layouts/BattleColosseum_2P/border.bin", "blockdata_filepath": "data/layouts/BattleColosseum_2P/map.bin" }, @@ -451,8 +451,8 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4C44", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_CableClub", "border_filepath": "data/layouts/TradeCenter/border.bin", "blockdata_filepath": "data/layouts/TradeCenter/map.bin" }, @@ -463,8 +463,8 @@ "height": 10, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4C44", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_CableClub", "border_filepath": "data/layouts/RecordCenter/border.bin", "blockdata_filepath": "data/layouts/RecordCenter/map.bin" }, @@ -475,8 +475,8 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4C44", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_CableClub", "border_filepath": "data/layouts/BattleColosseum_4P/border.bin", "blockdata_filepath": "data/layouts/BattleColosseum_4P/map.bin" }, @@ -487,256 +487,256 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4F14", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SafariZoneBuilding", "border_filepath": "data/layouts/FuchsiaCity_SafariZone_Entrance/border.bin", "blockdata_filepath": "data/layouts/FuchsiaCity_SafariZone_Entrance/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82D9B24", - "name": "UnusedLayout_82D9B24_Layout", + "id": "LAYOUT_RS_SAFARI_ZONE_NORTHEAST", + "name": "RS_SafariZone_Northeast_Layout", "width": 40, "height": 40, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B6C", - "border_filepath": "data/layouts/UnusedLayout_82D9B24/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82D9B24/map.bin" + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_CinnabarIsland", + "border_filepath": "data/layouts/RS_SafariZone_Northeast/border.bin", + "blockdata_filepath": "data/layouts/RS_SafariZone_Northeast/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82DA7C8", - "name": "UnusedLayout_82DA7C8_Layout", + "id": "LAYOUT_RS_SAFARI_ZONE_SOUTHWEST", + "name": "RS_SafariZone_Southwest_Layout", "width": 40, "height": 40, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B6C", - "border_filepath": "data/layouts/UnusedLayout_82DA7C8/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82DA7C8/map.bin" + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_CinnabarIsland", + "border_filepath": "data/layouts/RS_SafariZone_Southwest/border.bin", + "blockdata_filepath": "data/layouts/RS_SafariZone_Southwest/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82DB46C", - "name": "UnusedLayout_82DB46C_Layout", + "id": "LAYOUT_RS_SAFARI_ZONE_SOUTHEAST", + "name": "RS_SafariZone_Southeast_Layout", "width": 40, "height": 40, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B6C", - "border_filepath": "data/layouts/UnusedLayout_82DB46C/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82DB46C/map.bin" + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_CinnabarIsland", + "border_filepath": "data/layouts/RS_SafariZone_Southeast/border.bin", + "blockdata_filepath": "data/layouts/RS_SafariZone_Southeast/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82DB4F0", - "name": "UnusedLayout_82DB4F0_Layout", + "id": "LAYOUT_FORTREE_CITY_DECORATION_SHOP", + "name": "FortreeCity_DecorationShop_Layout", "width": 8, "height": 6, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4CD4", - "border_filepath": "data/layouts/UnusedLayout_82DB4F0/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82DB4F0/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_HoennBuilding", + "border_filepath": "data/layouts/FortreeCity_DecorationShop/border.bin", + "blockdata_filepath": "data/layouts/FortreeCity_DecorationShop/map.bin" }, {}, { - "id": "LAYOUT_UNUSED_LAYOUT_82DBBE0", - "name": "UnusedLayout_82DBBE0_Layout", + "id": "LAYOUT_RS_BATTLE_TOWER", + "name": "RS_BattleTower_Layout", "width": 29, "height": 30, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4ADC", - "border_filepath": "data/layouts/UnusedLayout_82DBBE0/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82DBBE0/map.bin" + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_PewterCity", + "border_filepath": "data/layouts/RS_BattleTower/border.bin", + "blockdata_filepath": "data/layouts/RS_BattleTower/map.bin" }, {}, {}, {}, {}, { - "id": "LAYOUT_UNUSED_LAYOUT_82DBDD8", - "name": "UnusedLayout_82DBDD8_Layout", + "id": "LAYOUT_SS_TIDAL_CORRIDOR", + "name": "SSTidal_Corridor_Layout", "width": 18, "height": 13, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4D94", - "border_filepath": "data/layouts/UnusedLayout_82DBDD8/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82DBDD8/map.bin" + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SSAnne", + "border_filepath": "data/layouts/SSTidal_Corridor/border.bin", + "blockdata_filepath": "data/layouts/SSTidal_Corridor/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82DBFB8", - "name": "UnusedLayout_82DBFB8_Layout", + "id": "LAYOUT_SS_TIDAL_LOWER_DECK", + "name": "SSTidal_LowerDeck_Layout", "width": 17, "height": 13, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4D94", - "border_filepath": "data/layouts/UnusedLayout_82DBFB8/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82DBFB8/map.bin" + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SSAnne", + "border_filepath": "data/layouts/SSTidal_LowerDeck/border.bin", + "blockdata_filepath": "data/layouts/SSTidal_LowerDeck/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82DC4EC", - "name": "UnusedLayout_82DC4EC_Layout", + "id": "LAYOUT_SS_TIDAL_ROOMS", + "name": "SSTidal_Rooms_Layout", "width": 36, "height": 18, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4D94", - "border_filepath": "data/layouts/UnusedLayout_82DC4EC/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82DC4EC/map.bin" + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SSAnne", + "border_filepath": "data/layouts/SSTidal_Rooms/border.bin", + "blockdata_filepath": "data/layouts/SSTidal_Rooms/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82DC60C", - "name": "UnusedLayout_82DC60C_Layout", + "id": "LAYOUT_RUSTBORO_CITY_FLAT2_1F", + "name": "RustboroCity_Flat2_1F_Layout", "width": 14, "height": 9, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4CD4", - "border_filepath": "data/layouts/UnusedLayout_82DC60C/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82DC60C/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_HoennBuilding", + "border_filepath": "data/layouts/RustboroCity_Flat2_1F/border.bin", + "blockdata_filepath": "data/layouts/RustboroCity_Flat2_1F/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82DC72C", - "name": "UnusedLayout_82DC72C_Layout", + "id": "LAYOUT_RUSTBORO_CITY_FLAT2_2F", + "name": "RustboroCity_Flat2_2F_Layout", "width": 14, "height": 9, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4CD4", - "border_filepath": "data/layouts/UnusedLayout_82DC72C/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82DC72C/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_HoennBuilding", + "border_filepath": "data/layouts/RustboroCity_Flat2_2F/border.bin", + "blockdata_filepath": "data/layouts/RustboroCity_Flat2_2F/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82DC84C", - "name": "UnusedLayout_82DC84C_Layout", + "id": "LAYOUT_RUSTBORO_CITY_FLAT2_3F", + "name": "RustboroCity_Flat2_3F_Layout", "width": 14, "height": 9, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4CD4", - "border_filepath": "data/layouts/UnusedLayout_82DC84C/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82DC84C/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_HoennBuilding", + "border_filepath": "data/layouts/RustboroCity_Flat2_3F/border.bin", + "blockdata_filepath": "data/layouts/RustboroCity_Flat2_3F/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82DCA70", - "name": "UnusedLayout_82DCA70_Layout", + "id": "LAYOUT_EVER_GRANDE_CITY_HALL_OF_FAME", + "name": "EverGrandeCity_HallOfFame_Layout", "width": 15, "height": 17, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4C44", - "border_filepath": "data/layouts/UnusedLayout_82DCA70/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82DCA70/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_CableClub", + "border_filepath": "data/layouts/EverGrandeCity_HallOfFame/border.bin", + "blockdata_filepath": "data/layouts/EverGrandeCity_HallOfFame/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82DCB44", - "name": "UnusedLayout_82DCB44_Layout", + "id": "LAYOUT_MOSSDEEP_CITY_EREADER_TRAINER_HOUSE_1F", + "name": "MossdeepCity_EReaderTrainerHouse_1F_Layout", "width": 11, "height": 8, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4CD4", - "border_filepath": "data/layouts/UnusedLayout_82DCB44/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82DCB44/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_HoennBuilding", + "border_filepath": "data/layouts/MossdeepCity_EReaderTrainerHouse_1F/border.bin", + "blockdata_filepath": "data/layouts/MossdeepCity_EReaderTrainerHouse_1F/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82DCC40", - "name": "UnusedLayout_82DCC40_Layout", + "id": "LAYOUT_MOSSDEEP_CITY_EREADER_TRAINER_HOUSE_2F", + "name": "MossdeepCity_EReaderTrainerHouse_2F_Layout", "width": 12, "height": 9, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4CD4", - "border_filepath": "data/layouts/UnusedLayout_82DCC40/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82DCC40/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_HoennBuilding", + "border_filepath": "data/layouts/MossdeepCity_EReaderTrainerHouse_2F/border.bin", + "blockdata_filepath": "data/layouts/MossdeepCity_EReaderTrainerHouse_2F/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82DCCD4", - "name": "UnusedLayout_82DCCD4_Layout", + "id": "LAYOUT_SOOTOPOLIS_CITY_HOUSE1", + "name": "SootopolisCity_House1_Layout", "width": 8, "height": 7, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4CD4", - "border_filepath": "data/layouts/UnusedLayout_82DCCD4/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82DCCD4/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_HoennBuilding", + "border_filepath": "data/layouts/SootopolisCity_House1/border.bin", + "blockdata_filepath": "data/layouts/SootopolisCity_House1/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82DCD68", - "name": "UnusedLayout_82DCD68_Layout", + "id": "LAYOUT_SOOTOPOLIS_CITY_HOUSE2", + "name": "SootopolisCity_House2_Layout", "width": 8, "height": 7, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4CD4", - "border_filepath": "data/layouts/UnusedLayout_82DCD68/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82DCD68/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_HoennBuilding", + "border_filepath": "data/layouts/SootopolisCity_House2/border.bin", + "blockdata_filepath": "data/layouts/SootopolisCity_House2/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82DCDFC", - "name": "UnusedLayout_82DCDFC_Layout", + "id": "LAYOUT_SOOTOPOLIS_CITY_HOUSE3", + "name": "SootopolisCity_House3_Layout", "width": 8, "height": 7, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4CD4", - "border_filepath": "data/layouts/UnusedLayout_82DCDFC/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82DCDFC/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_HoennBuilding", + "border_filepath": "data/layouts/SootopolisCity_House3/border.bin", + "blockdata_filepath": "data/layouts/SootopolisCity_House3/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82DCF00", - "name": "UnusedLayout_82DCF00_Layout", + "id": "LAYOUT_RUSTBORO_CITY_FLAT1_1F", + "name": "RustboroCity_Flat1_1F_Layout", "width": 14, "height": 8, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4CD4", - "border_filepath": "data/layouts/UnusedLayout_82DCF00/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82DCF00/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_HoennBuilding", + "border_filepath": "data/layouts/RustboroCity_Flat1_1F/border.bin", + "blockdata_filepath": "data/layouts/RustboroCity_Flat1_1F/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_82DD004", - "name": "UnusedLayout_82DD004_Layout", + "id": "LAYOUT_RUSTBORO_CITY_FLAT1_2F", + "name": "RustboroCity_Flat1_2F_Layout", "width": 14, "height": 8, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4CD4", - "border_filepath": "data/layouts/UnusedLayout_82DD004/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82DD004/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_HoennBuilding", + "border_filepath": "data/layouts/RustboroCity_Flat1_2F/border.bin", + "blockdata_filepath": "data/layouts/RustboroCity_Flat1_2F/map.bin" }, {}, { - "id": "LAYOUT_UNUSED_LAYOUT_82DD0DC", - "name": "UnusedLayout_82DD0DC_Layout", + "id": "LAYOUT_RS_SAFARI_ZONE_REST_HOUSE", + "name": "RS_SafariZone_RestHouse_Layout", "width": 10, "height": 9, "border_width": 0, "border_height": 0, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4CD4", - "border_filepath": "data/layouts/UnusedLayout_82DD0DC/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_82DD0DC/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_HoennBuilding", + "border_filepath": "data/layouts/RS_SafariZone_RestHouse/border.bin", + "blockdata_filepath": "data/layouts/RS_SafariZone_RestHouse/map.bin" }, { "id": "LAYOUT_PALLET_TOWN", @@ -745,8 +745,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4AAC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_PalletTown", "border_filepath": "data/layouts/PalletTown/border.bin", "blockdata_filepath": "data/layouts/PalletTown/map.bin" }, @@ -757,8 +757,8 @@ "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4AC4", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_ViridianCity", "border_filepath": "data/layouts/ViridianCity/border.bin", "blockdata_filepath": "data/layouts/ViridianCity/map.bin" }, @@ -769,8 +769,8 @@ "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4ADC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_PewterCity", "border_filepath": "data/layouts/PewterCity/border.bin", "blockdata_filepath": "data/layouts/PewterCity/map.bin" }, @@ -781,8 +781,8 @@ "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4AF4", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_CeruleanCity", "border_filepath": "data/layouts/CeruleanCity/border.bin", "blockdata_filepath": "data/layouts/CeruleanCity/map.bin" }, @@ -793,8 +793,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B0C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_LavenderTown", "border_filepath": "data/layouts/LavenderTown/border.bin", "blockdata_filepath": "data/layouts/LavenderTown/map.bin" }, @@ -805,8 +805,8 @@ "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B24", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_VermilionCity", "border_filepath": "data/layouts/VermilionCity/border.bin", "blockdata_filepath": "data/layouts/VermilionCity/map.bin" }, @@ -817,8 +817,8 @@ "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B3C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_CeladonCity", "border_filepath": "data/layouts/CeladonCity/border.bin", "blockdata_filepath": "data/layouts/CeladonCity/map.bin" }, @@ -829,8 +829,8 @@ "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B54", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_FuchsiaCity", "border_filepath": "data/layouts/FuchsiaCity/border.bin", "blockdata_filepath": "data/layouts/FuchsiaCity/map.bin" }, @@ -841,8 +841,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B6C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_CinnabarIsland", "border_filepath": "data/layouts/CinnabarIsland/border.bin", "blockdata_filepath": "data/layouts/CinnabarIsland/map.bin" }, @@ -853,22 +853,22 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B84", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_IndigoPlateau", "border_filepath": "data/layouts/IndigoPlateau_Exterior/border.bin", "blockdata_filepath": "data/layouts/IndigoPlateau_Exterior/map.bin" }, { - "id": "LAYOUT_SAFFRON_CITY_CLASSIC", - "name": "SaffronCity_Classic_Layout", + "id": "LAYOUT_SAFFRON_CITY_CONNECTION", + "name": "SaffronCity_Connection_Layout", "width": 48, "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B9C", - "border_filepath": "data/layouts/SaffronCity_Classic/border.bin", - "blockdata_filepath": "data/layouts/SaffronCity_Classic/map.bin" + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SaffronCity", + "border_filepath": "data/layouts/SaffronCity_Connection/border.bin", + "blockdata_filepath": "data/layouts/SaffronCity_Connection/map.bin" }, { "id": "LAYOUT_ROUTE1", @@ -877,8 +877,8 @@ "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4AAC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_PalletTown", "border_filepath": "data/layouts/Route1/border.bin", "blockdata_filepath": "data/layouts/Route1/map.bin" }, @@ -889,8 +889,8 @@ "height": 80, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4AC4", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_ViridianCity", "border_filepath": "data/layouts/Route2/border.bin", "blockdata_filepath": "data/layouts/Route2/map.bin" }, @@ -901,8 +901,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4ADC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_PewterCity", "border_filepath": "data/layouts/Route3/border.bin", "blockdata_filepath": "data/layouts/Route3/map.bin" }, @@ -913,8 +913,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4AF4", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_CeruleanCity", "border_filepath": "data/layouts/Route4/border.bin", "blockdata_filepath": "data/layouts/Route4/map.bin" }, @@ -925,8 +925,8 @@ "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4AF4", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_CeruleanCity", "border_filepath": "data/layouts/Route5/border.bin", "blockdata_filepath": "data/layouts/Route5/map.bin" }, @@ -937,8 +937,8 @@ "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B24", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_VermilionCity", "border_filepath": "data/layouts/Route6/border.bin", "blockdata_filepath": "data/layouts/Route6/map.bin" }, @@ -949,8 +949,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B3C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_CeladonCity", "border_filepath": "data/layouts/Route7/border.bin", "blockdata_filepath": "data/layouts/Route7/map.bin" }, @@ -961,8 +961,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B0C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_LavenderTown", "border_filepath": "data/layouts/Route8/border.bin", "blockdata_filepath": "data/layouts/Route8/map.bin" }, @@ -973,8 +973,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4AF4", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_CeruleanCity", "border_filepath": "data/layouts/Route9/border.bin", "blockdata_filepath": "data/layouts/Route9/map.bin" }, @@ -985,8 +985,8 @@ "height": 80, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B0C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_LavenderTown", "border_filepath": "data/layouts/Route10/border.bin", "blockdata_filepath": "data/layouts/Route10/map.bin" }, @@ -997,8 +997,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B24", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_VermilionCity", "border_filepath": "data/layouts/Route11/border.bin", "blockdata_filepath": "data/layouts/Route11/map.bin" }, @@ -1009,8 +1009,8 @@ "height": 120, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B0C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_LavenderTown", "border_filepath": "data/layouts/Route12/border.bin", "blockdata_filepath": "data/layouts/Route12/map.bin" }, @@ -1021,8 +1021,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B0C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_LavenderTown", "border_filepath": "data/layouts/Route13/border.bin", "blockdata_filepath": "data/layouts/Route13/map.bin" }, @@ -1033,8 +1033,8 @@ "height": 60, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B0C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_LavenderTown", "border_filepath": "data/layouts/Route14/border.bin", "blockdata_filepath": "data/layouts/Route14/map.bin" }, @@ -1045,8 +1045,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B54", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_FuchsiaCity", "border_filepath": "data/layouts/Route15/border.bin", "blockdata_filepath": "data/layouts/Route15/map.bin" }, @@ -1057,8 +1057,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B3C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_CeladonCity", "border_filepath": "data/layouts/Route16/border.bin", "blockdata_filepath": "data/layouts/Route16/map.bin" }, @@ -1069,8 +1069,8 @@ "height": 160, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B3C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_CeladonCity", "border_filepath": "data/layouts/Route17/border.bin", "blockdata_filepath": "data/layouts/Route17/map.bin" }, @@ -1081,8 +1081,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B3C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_CeladonCity", "border_filepath": "data/layouts/Route18/border.bin", "blockdata_filepath": "data/layouts/Route18/map.bin" }, @@ -1093,8 +1093,8 @@ "height": 60, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B54", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_FuchsiaCity", "border_filepath": "data/layouts/Route19/border.bin", "blockdata_filepath": "data/layouts/Route19/map.bin" }, @@ -1105,8 +1105,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B6C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_CinnabarIsland", "border_filepath": "data/layouts/Route20/border.bin", "blockdata_filepath": "data/layouts/Route20/map.bin" }, @@ -1117,8 +1117,8 @@ "height": 50, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4AAC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_PalletTown", "border_filepath": "data/layouts/Route21_North/border.bin", "blockdata_filepath": "data/layouts/Route21_North/map.bin" }, @@ -1129,8 +1129,8 @@ "height": 24, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4AC4", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_ViridianCity", "border_filepath": "data/layouts/Route22/border.bin", "blockdata_filepath": "data/layouts/Route22/map.bin" }, @@ -1141,8 +1141,8 @@ "height": 160, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B84", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_IndigoPlateau", "border_filepath": "data/layouts/Route23/border.bin", "blockdata_filepath": "data/layouts/Route23/map.bin" }, @@ -1153,8 +1153,8 @@ "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4AF4", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_CeruleanCity", "border_filepath": "data/layouts/Route24/border.bin", "blockdata_filepath": "data/layouts/Route24/map.bin" }, @@ -1165,8 +1165,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4AF4", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_CeruleanCity", "border_filepath": "data/layouts/Route25/border.bin", "blockdata_filepath": "data/layouts/Route25/map.bin" }, @@ -1177,8 +1177,8 @@ "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4BFC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_Cave", "border_filepath": "data/layouts/MtMoon_1F/border.bin", "blockdata_filepath": "data/layouts/MtMoon_1F/map.bin" }, @@ -1189,8 +1189,8 @@ "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4BFC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_Cave", "border_filepath": "data/layouts/MtMoon_B1F/border.bin", "blockdata_filepath": "data/layouts/MtMoon_B1F/map.bin" }, @@ -1201,8 +1201,8 @@ "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4BFC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_Cave", "border_filepath": "data/layouts/MtMoon_B2F/border.bin", "blockdata_filepath": "data/layouts/MtMoon_B2F/map.bin" }, @@ -1213,8 +1213,8 @@ "height": 69, "border_width": 3, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4DC4", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_ViridianForest", "border_filepath": "data/layouts/ViridianForest/border.bin", "blockdata_filepath": "data/layouts/ViridianForest/map.bin" }, @@ -1225,8 +1225,8 @@ "height": 32, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B24", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_VermilionCity", "border_filepath": "data/layouts/SSAnne_Exterior/border.bin", "blockdata_filepath": "data/layouts/SSAnne_Exterior/map.bin" }, @@ -1237,8 +1237,8 @@ "height": 21, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4D94", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SSAnne", "border_filepath": "data/layouts/SSAnne_1F_Corridor/border.bin", "blockdata_filepath": "data/layouts/SSAnne_1F_Corridor/map.bin" }, @@ -1249,8 +1249,8 @@ "height": 16, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4D94", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SSAnne", "border_filepath": "data/layouts/SSAnne_2F_Corridor/border.bin", "blockdata_filepath": "data/layouts/SSAnne_2F_Corridor/map.bin" }, @@ -1261,8 +1261,8 @@ "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4D94", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SSAnne", "border_filepath": "data/layouts/SSAnne_3F_Corridor/border.bin", "blockdata_filepath": "data/layouts/SSAnne_3F_Corridor/map.bin" }, @@ -1273,8 +1273,8 @@ "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4D94", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SSAnne", "border_filepath": "data/layouts/SSAnne_B1F_Corridor/border.bin", "blockdata_filepath": "data/layouts/SSAnne_B1F_Corridor/map.bin" }, @@ -1285,8 +1285,8 @@ "height": 19, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4D94", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SSAnne", "border_filepath": "data/layouts/SSAnne_Deck/border.bin", "blockdata_filepath": "data/layouts/SSAnne_Deck/map.bin" }, @@ -1297,8 +1297,8 @@ "height": 80, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4E0C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_DiglettsCave", "border_filepath": "data/layouts/DiglettsCave_B1F/border.bin", "blockdata_filepath": "data/layouts/DiglettsCave_B1F/map.bin" }, @@ -1309,8 +1309,8 @@ "height": 22, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4BFC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_Cave", "border_filepath": "data/layouts/VictoryRoad_1F/border.bin", "blockdata_filepath": "data/layouts/VictoryRoad_1F/map.bin" }, @@ -1321,8 +1321,8 @@ "height": 22, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4BFC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_Cave", "border_filepath": "data/layouts/VictoryRoad_2F/border.bin", "blockdata_filepath": "data/layouts/VictoryRoad_2F/map.bin" }, @@ -1333,8 +1333,8 @@ "height": 22, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4BFC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_Cave", "border_filepath": "data/layouts/VictoryRoad_3F/border.bin", "blockdata_filepath": "data/layouts/VictoryRoad_3F/map.bin" }, @@ -1345,8 +1345,8 @@ "height": 34, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4ECC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SilphCo", "border_filepath": "data/layouts/RocketHideout_B1F/border.bin", "blockdata_filepath": "data/layouts/RocketHideout_B1F/map.bin" }, @@ -1357,8 +1357,8 @@ "height": 22, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4ECC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SilphCo", "border_filepath": "data/layouts/RocketHideout_B2F/border.bin", "blockdata_filepath": "data/layouts/RocketHideout_B2F/map.bin" }, @@ -1369,8 +1369,8 @@ "height": 27, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4ECC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SilphCo", "border_filepath": "data/layouts/RocketHideout_B3F/border.bin", "blockdata_filepath": "data/layouts/RocketHideout_B3F/map.bin" }, @@ -1381,8 +1381,8 @@ "height": 26, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4ECC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SilphCo", "border_filepath": "data/layouts/RocketHideout_B4F/border.bin", "blockdata_filepath": "data/layouts/RocketHideout_B4F/map.bin" }, @@ -1393,8 +1393,8 @@ "height": 22, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4ECC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SilphCo", "border_filepath": "data/layouts/SilphCo_1F/border.bin", "blockdata_filepath": "data/layouts/SilphCo_1F/map.bin" }, @@ -1405,8 +1405,8 @@ "height": 22, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4ECC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SilphCo", "border_filepath": "data/layouts/SilphCo_2F/border.bin", "blockdata_filepath": "data/layouts/SilphCo_2F/map.bin" }, @@ -1417,8 +1417,8 @@ "height": 22, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4ECC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SilphCo", "border_filepath": "data/layouts/SilphCo_3F/border.bin", "blockdata_filepath": "data/layouts/SilphCo_3F/map.bin" }, @@ -1429,8 +1429,8 @@ "height": 22, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4ECC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SilphCo", "border_filepath": "data/layouts/SilphCo_4F/border.bin", "blockdata_filepath": "data/layouts/SilphCo_4F/map.bin" }, @@ -1441,8 +1441,8 @@ "height": 22, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4ECC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SilphCo", "border_filepath": "data/layouts/SilphCo_5F/border.bin", "blockdata_filepath": "data/layouts/SilphCo_5F/map.bin" }, @@ -1453,8 +1453,8 @@ "height": 19, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4ECC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SilphCo", "border_filepath": "data/layouts/SilphCo_6F/border.bin", "blockdata_filepath": "data/layouts/SilphCo_6F/map.bin" }, @@ -1465,8 +1465,8 @@ "height": 19, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4ECC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SilphCo", "border_filepath": "data/layouts/SilphCo_7F/border.bin", "blockdata_filepath": "data/layouts/SilphCo_7F/map.bin" }, @@ -1477,8 +1477,8 @@ "height": 19, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4ECC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SilphCo", "border_filepath": "data/layouts/SilphCo_8F/border.bin", "blockdata_filepath": "data/layouts/SilphCo_8F/map.bin" }, @@ -1489,8 +1489,8 @@ "height": 19, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4ECC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SilphCo", "border_filepath": "data/layouts/SilphCo_9F/border.bin", "blockdata_filepath": "data/layouts/SilphCo_9F/map.bin" }, @@ -1501,8 +1501,8 @@ "height": 19, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4ECC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SilphCo", "border_filepath": "data/layouts/SilphCo_10F/border.bin", "blockdata_filepath": "data/layouts/SilphCo_10F/map.bin" }, @@ -1513,8 +1513,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4ECC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SilphCo", "border_filepath": "data/layouts/SilphCo_11F/border.bin", "blockdata_filepath": "data/layouts/SilphCo_11F/map.bin" }, @@ -1525,8 +1525,8 @@ "height": 35, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4F2C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PokemonMansion", "border_filepath": "data/layouts/PokemonMansion_1F/border.bin", "blockdata_filepath": "data/layouts/PokemonMansion_1F/map.bin" }, @@ -1537,8 +1537,8 @@ "height": 38, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4F2C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PokemonMansion", "border_filepath": "data/layouts/PokemonMansion_2F/border.bin", "blockdata_filepath": "data/layouts/PokemonMansion_2F/map.bin" }, @@ -1549,8 +1549,8 @@ "height": 35, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4F2C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PokemonMansion", "border_filepath": "data/layouts/PokemonMansion_3F/border.bin", "blockdata_filepath": "data/layouts/PokemonMansion_3F/map.bin" }, @@ -1561,8 +1561,8 @@ "height": 35, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4F2C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PokemonMansion", "border_filepath": "data/layouts/PokemonMansion_B1F/border.bin", "blockdata_filepath": "data/layouts/PokemonMansion_B1F/map.bin" }, @@ -1573,8 +1573,8 @@ "height": 36, "border_width": 3, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B54", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_FuchsiaCity", "border_filepath": "data/layouts/SafariZone_Center/border.bin", "blockdata_filepath": "data/layouts/SafariZone_Center/map.bin" }, @@ -1585,8 +1585,8 @@ "height": 35, "border_width": 3, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B54", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_FuchsiaCity", "border_filepath": "data/layouts/SafariZone_East/border.bin", "blockdata_filepath": "data/layouts/SafariZone_East/map.bin" }, @@ -1597,8 +1597,8 @@ "height": 40, "border_width": 3, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B54", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_FuchsiaCity", "border_filepath": "data/layouts/SafariZone_North/border.bin", "blockdata_filepath": "data/layouts/SafariZone_North/map.bin" }, @@ -1609,8 +1609,8 @@ "height": 36, "border_width": 3, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B54", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_FuchsiaCity", "border_filepath": "data/layouts/SafariZone_West/border.bin", "blockdata_filepath": "data/layouts/SafariZone_West/map.bin" }, @@ -1621,8 +1621,8 @@ "height": 23, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4E54", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_CeruleanCave", "border_filepath": "data/layouts/CeruleanCave_1F/border.bin", "blockdata_filepath": "data/layouts/CeruleanCave_1F/map.bin" }, @@ -1633,8 +1633,8 @@ "height": 23, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4E54", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_CeruleanCave", "border_filepath": "data/layouts/CeruleanCave_2F/border.bin", "blockdata_filepath": "data/layouts/CeruleanCave_2F/map.bin" }, @@ -1645,8 +1645,8 @@ "height": 23, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4E54", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_CeruleanCave", "border_filepath": "data/layouts/CeruleanCave_B1F/border.bin", "blockdata_filepath": "data/layouts/CeruleanCave_B1F/map.bin" }, @@ -1657,8 +1657,8 @@ "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4DF4", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_RockTunnel", "border_filepath": "data/layouts/RockTunnel_1F/border.bin", "blockdata_filepath": "data/layouts/RockTunnel_1F/map.bin" }, @@ -1669,8 +1669,8 @@ "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4DF4", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_RockTunnel", "border_filepath": "data/layouts/RockTunnel_B1F/border.bin", "blockdata_filepath": "data/layouts/RockTunnel_B1F/map.bin" }, @@ -1681,8 +1681,8 @@ "height": 24, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4E24", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeafoamIslands", "border_filepath": "data/layouts/SeafoamIslands_1F/border.bin", "blockdata_filepath": "data/layouts/SeafoamIslands_1F/map.bin" }, @@ -1693,8 +1693,8 @@ "height": 23, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4E24", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeafoamIslands", "border_filepath": "data/layouts/SeafoamIslands_B1F/border.bin", "blockdata_filepath": "data/layouts/SeafoamIslands_B1F/map.bin" }, @@ -1705,8 +1705,8 @@ "height": 24, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4E24", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeafoamIslands", "border_filepath": "data/layouts/SeafoamIslands_B2F/border.bin", "blockdata_filepath": "data/layouts/SeafoamIslands_B2F/map.bin" }, @@ -1717,8 +1717,8 @@ "height": 24, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4E24", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeafoamIslands", "border_filepath": "data/layouts/SeafoamIslands_B3F/border.bin", "blockdata_filepath": "data/layouts/SeafoamIslands_B3F/map.bin" }, @@ -1729,8 +1729,8 @@ "height": 24, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4E24", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeafoamIslands", "border_filepath": "data/layouts/SeafoamIslands_B4F/border.bin", "blockdata_filepath": "data/layouts/SeafoamIslands_B4F/map.bin" }, @@ -1741,8 +1741,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4EFC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PokemonTower", "border_filepath": "data/layouts/PokemonTower_1F/border.bin", "blockdata_filepath": "data/layouts/PokemonTower_1F/map.bin" }, @@ -1753,8 +1753,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4EFC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PokemonTower", "border_filepath": "data/layouts/PokemonTower_2F/border.bin", "blockdata_filepath": "data/layouts/PokemonTower_2F/map.bin" }, @@ -1765,8 +1765,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4EFC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PokemonTower", "border_filepath": "data/layouts/PokemonTower_3F/border.bin", "blockdata_filepath": "data/layouts/PokemonTower_3F/map.bin" }, @@ -1777,8 +1777,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4EFC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PokemonTower", "border_filepath": "data/layouts/PokemonTower_4F/border.bin", "blockdata_filepath": "data/layouts/PokemonTower_4F/map.bin" }, @@ -1789,8 +1789,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4EFC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PokemonTower", "border_filepath": "data/layouts/PokemonTower_5F/border.bin", "blockdata_filepath": "data/layouts/PokemonTower_5F/map.bin" }, @@ -1801,8 +1801,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4EFC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PokemonTower", "border_filepath": "data/layouts/PokemonTower_6F/border.bin", "blockdata_filepath": "data/layouts/PokemonTower_6F/map.bin" }, @@ -1813,8 +1813,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4EFC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PokemonTower", "border_filepath": "data/layouts/PokemonTower_7F/border.bin", "blockdata_filepath": "data/layouts/PokemonTower_7F/map.bin" }, @@ -1825,8 +1825,8 @@ "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E9C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PowerPlant", "border_filepath": "data/layouts/PowerPlant/border.bin", "blockdata_filepath": "data/layouts/PowerPlant/map.bin" }, @@ -1837,8 +1837,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4EB4", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SeaCottage", "border_filepath": "data/layouts/Route25_SeaCottage/border.bin", "blockdata_filepath": "data/layouts/Route25_SeaCottage/map.bin" }, @@ -1849,8 +1849,8 @@ "height": 14, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4D94", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SSAnne", "border_filepath": "data/layouts/SSAnne_Kitchen/border.bin", "blockdata_filepath": "data/layouts/SSAnne_Kitchen/map.bin" }, @@ -1861,8 +1861,8 @@ "height": 10, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4D94", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SSAnne", "border_filepath": "data/layouts/SSAnne_CaptainsOffice/border.bin", "blockdata_filepath": "data/layouts/SSAnne_CaptainsOffice/map.bin" }, @@ -1873,8 +1873,8 @@ "height": 10, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E84", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding2", "border_filepath": "data/layouts/UndergroundPath_Entrance/border.bin", "blockdata_filepath": "data/layouts/UndergroundPath_Entrance/map.bin" }, @@ -1885,8 +1885,8 @@ "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4EE4", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_UndergroundPath", "border_filepath": "data/layouts/UndergroundPath_EastWestTunnel/border.bin", "blockdata_filepath": "data/layouts/UndergroundPath_EastWestTunnel/map.bin" }, @@ -1897,8 +1897,8 @@ "height": 63, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4EE4", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_UndergroundPath", "border_filepath": "data/layouts/UndergroundPath_NorthSouthTunnel/border.bin", "blockdata_filepath": "data/layouts/UndergroundPath_NorthSouthTunnel/map.bin" }, @@ -1910,8 +1910,8 @@ "height": 13, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E84", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding2", "border_filepath": "data/layouts/Route12_NorthEntrance_1F/border.bin", "blockdata_filepath": "data/layouts/Route12_NorthEntrance_1F/map.bin" }, @@ -1922,8 +1922,8 @@ "height": 8, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4D94", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SSAnne", "border_filepath": "data/layouts/SSAnne_Room1/border.bin", "blockdata_filepath": "data/layouts/SSAnne_Room1/map.bin" }, @@ -1934,8 +1934,8 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4D94", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SSAnne", "border_filepath": "data/layouts/SSAnne_Room2/border.bin", "blockdata_filepath": "data/layouts/SSAnne_Room2/map.bin" }, @@ -1946,8 +1946,8 @@ "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4ECC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SilphCo", "border_filepath": "data/layouts/CeladonCity_DepartmentStore_Elevator/border.bin", "blockdata_filepath": "data/layouts/CeladonCity_DepartmentStore_Elevator/map.bin" }, @@ -1958,8 +1958,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4C2C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_Museum", "border_filepath": "data/layouts/PewterCity_Museum_1F/border.bin", "blockdata_filepath": "data/layouts/PewterCity_Museum_1F/map.bin" }, @@ -1970,8 +1970,8 @@ "height": 10, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4C2C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_Museum", "border_filepath": "data/layouts/PewterCity_Museum_2F/border.bin", "blockdata_filepath": "data/layouts/PewterCity_Museum_2F/map.bin" }, @@ -1982,8 +1982,8 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4FA4", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_BurgledHouse", "border_filepath": "data/layouts/CeruleanCity_House2/border.bin", "blockdata_filepath": "data/layouts/CeruleanCity_House2/map.bin" }, @@ -1994,8 +1994,8 @@ "height": 10, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E84", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding2", "border_filepath": "data/layouts/CeruleanCity_House1/border.bin", "blockdata_filepath": "data/layouts/CeruleanCity_House1/map.bin" }, @@ -2006,8 +2006,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4F8C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_Condominiums", "border_filepath": "data/layouts/CeladonCity_Condominiums_1F/border.bin", "blockdata_filepath": "data/layouts/CeladonCity_Condominiums_1F/map.bin" }, @@ -2018,8 +2018,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4F8C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_Condominiums", "border_filepath": "data/layouts/CeladonCity_Condominiums_2F/border.bin", "blockdata_filepath": "data/layouts/CeladonCity_Condominiums_2F/map.bin" }, @@ -2030,8 +2030,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4F8C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_Condominiums", "border_filepath": "data/layouts/CeladonCity_Condominiums_3F/border.bin", "blockdata_filepath": "data/layouts/CeladonCity_Condominiums_3F/map.bin" }, @@ -2042,8 +2042,8 @@ "height": 23, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4F8C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_Condominiums", "border_filepath": "data/layouts/CeladonCity_Condominiums_Roof/border.bin", "blockdata_filepath": "data/layouts/CeladonCity_Condominiums_Roof/map.bin" }, @@ -2054,8 +2054,8 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4F5C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_School", "border_filepath": "data/layouts/CeladonCity_Condominiums_RoofRoom/border.bin", "blockdata_filepath": "data/layouts/CeladonCity_Condominiums_RoofRoom/map.bin" }, @@ -2066,8 +2066,8 @@ "height": 10, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4CEC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GameCorner", "border_filepath": "data/layouts/CeladonCity_GameCorner_PrizeRoom/border.bin", "blockdata_filepath": "data/layouts/CeladonCity_GameCorner_PrizeRoom/map.bin" }, @@ -2078,8 +2078,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4F44", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_RestaurantHotel", "border_filepath": "data/layouts/CeladonCity_Restaurant/border.bin", "blockdata_filepath": "data/layouts/CeladonCity_Restaurant/map.bin" }, @@ -2090,8 +2090,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4F44", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_RestaurantHotel", "border_filepath": "data/layouts/CeladonCity_Hotel/border.bin", "blockdata_filepath": "data/layouts/CeladonCity_Hotel/map.bin" }, @@ -2102,8 +2102,8 @@ "height": 16, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E6C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_DepartmentStore", "border_filepath": "data/layouts/CeladonCity_DepartmentStore_1F/border.bin", "blockdata_filepath": "data/layouts/CeladonCity_DepartmentStore_1F/map.bin" }, @@ -2114,8 +2114,8 @@ "height": 15, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E6C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_DepartmentStore", "border_filepath": "data/layouts/CeladonCity_DepartmentStore_2F/border.bin", "blockdata_filepath": "data/layouts/CeladonCity_DepartmentStore_2F/map.bin" }, @@ -2126,8 +2126,8 @@ "height": 15, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E6C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_DepartmentStore", "border_filepath": "data/layouts/CeladonCity_DepartmentStore_3F/border.bin", "blockdata_filepath": "data/layouts/CeladonCity_DepartmentStore_3F/map.bin" }, @@ -2138,8 +2138,8 @@ "height": 15, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E6C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_DepartmentStore", "border_filepath": "data/layouts/CeladonCity_DepartmentStore_4F/border.bin", "blockdata_filepath": "data/layouts/CeladonCity_DepartmentStore_4F/map.bin" }, @@ -2150,8 +2150,8 @@ "height": 15, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E6C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_DepartmentStore", "border_filepath": "data/layouts/CeladonCity_DepartmentStore_5F/border.bin", "blockdata_filepath": "data/layouts/CeladonCity_DepartmentStore_5F/map.bin" }, @@ -2162,8 +2162,8 @@ "height": 14, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E6C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_DepartmentStore", "border_filepath": "data/layouts/CeladonCity_DepartmentStore_Roof/border.bin", "blockdata_filepath": "data/layouts/CeladonCity_DepartmentStore_Roof/map.bin" }, @@ -2174,8 +2174,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4F14", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SafariZoneBuilding", "border_filepath": "data/layouts/SafariZone_RestHouse/border.bin", "blockdata_filepath": "data/layouts/SafariZone_RestHouse/map.bin" }, @@ -2186,8 +2186,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4F14", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SafariZoneBuilding", "border_filepath": "data/layouts/SafariZone_SecretHouse/border.bin", "blockdata_filepath": "data/layouts/SafariZone_SecretHouse/map.bin" }, @@ -2198,8 +2198,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4F14", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SafariZoneBuilding", "border_filepath": "data/layouts/FuchsiaCity_SafariZone_Office/border.bin", "blockdata_filepath": "data/layouts/FuchsiaCity_SafariZone_Office/map.bin" }, @@ -2210,8 +2210,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4C2C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_Museum", "border_filepath": "data/layouts/FuchsiaCity_WardensHouse/border.bin", "blockdata_filepath": "data/layouts/FuchsiaCity_WardensHouse/map.bin" }, @@ -2222,8 +2222,8 @@ "height": 10, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4C2C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_Museum", "border_filepath": "data/layouts/FuchsiaCity_House2/border.bin", "blockdata_filepath": "data/layouts/FuchsiaCity_House2/map.bin" }, @@ -2234,8 +2234,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4C8C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_Lab", "border_filepath": "data/layouts/CinnabarIsland_PokemonLab_Entrance/border.bin", "blockdata_filepath": "data/layouts/CinnabarIsland_PokemonLab_Entrance/map.bin" }, @@ -2246,8 +2246,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4C8C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_Lab", "border_filepath": "data/layouts/CinnabarIsland_PokemonLab_Lounge/border.bin", "blockdata_filepath": "data/layouts/CinnabarIsland_PokemonLab_Lounge/map.bin" }, @@ -2258,8 +2258,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4C8C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_Lab", "border_filepath": "data/layouts/CinnabarIsland_PokemonLab_ResearchRoom/border.bin", "blockdata_filepath": "data/layouts/CinnabarIsland_PokemonLab_ResearchRoom/map.bin" }, @@ -2270,8 +2270,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4C8C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_Lab", "border_filepath": "data/layouts/CinnabarIsland_PokemonLab_ExperimentRoom/border.bin", "blockdata_filepath": "data/layouts/CinnabarIsland_PokemonLab_ExperimentRoom/map.bin" }, @@ -2282,8 +2282,8 @@ "height": 55, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B9C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SaffronCity", "border_filepath": "data/layouts/SaffronCity/border.bin", "blockdata_filepath": "data/layouts/SaffronCity/map.bin" }, @@ -2294,8 +2294,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E84", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding2", "border_filepath": "data/layouts/SaffronCity_NorthSouthEntrance/border.bin", "blockdata_filepath": "data/layouts/SaffronCity_NorthSouthEntrance/map.bin" }, @@ -2306,8 +2306,8 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E84", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding2", "border_filepath": "data/layouts/SaffronCity_EastWestEntrance/border.bin", "blockdata_filepath": "data/layouts/SaffronCity_EastWestEntrance/map.bin" }, @@ -2318,8 +2318,8 @@ "height": 8, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4E0C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_DiglettsCave", "border_filepath": "data/layouts/DiglettsCave_NorthEntrance/border.bin", "blockdata_filepath": "data/layouts/DiglettsCave_NorthEntrance/map.bin" }, @@ -2330,8 +2330,8 @@ "height": 8, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4E0C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_DiglettsCave", "border_filepath": "data/layouts/DiglettsCave_SouthEntrance/border.bin", "blockdata_filepath": "data/layouts/DiglettsCave_SouthEntrance/map.bin" }, @@ -2342,8 +2342,8 @@ "height": 18, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4BE4", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PokemonCenter", "border_filepath": "data/layouts/IndigoPlateau_PokemonCenter_1F/border.bin", "blockdata_filepath": "data/layouts/IndigoPlateau_PokemonCenter_1F/map.bin" }, @@ -2354,8 +2354,8 @@ "height": 13, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D50C4", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PokemonLeague", "border_filepath": "data/layouts/PokemonLeague_LoreleisRoom/border.bin", "blockdata_filepath": "data/layouts/PokemonLeague_LoreleisRoom/map.bin" }, @@ -2366,8 +2366,8 @@ "height": 13, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D50C4", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PokemonLeague", "border_filepath": "data/layouts/PokemonLeague_BrunosRoom/border.bin", "blockdata_filepath": "data/layouts/PokemonLeague_BrunosRoom/map.bin" }, @@ -2378,8 +2378,8 @@ "height": 13, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D50C4", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PokemonLeague", "border_filepath": "data/layouts/PokemonLeague_AgathasRoom/border.bin", "blockdata_filepath": "data/layouts/PokemonLeague_AgathasRoom/map.bin" }, @@ -2390,8 +2390,8 @@ "height": 24, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D50C4", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PokemonLeague", "border_filepath": "data/layouts/PokemonLeague_LancesRoom/border.bin", "blockdata_filepath": "data/layouts/PokemonLeague_LancesRoom/map.bin" }, @@ -2402,8 +2402,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D50C4", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PokemonLeague", "border_filepath": "data/layouts/PokemonLeague_ChampionsRoom/border.bin", "blockdata_filepath": "data/layouts/PokemonLeague_ChampionsRoom/map.bin" }, @@ -2414,8 +2414,8 @@ "height": 13, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D50DC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_HallOfFame", "border_filepath": "data/layouts/PokemonLeague_HallOfFame/border.bin", "blockdata_filepath": "data/layouts/PokemonLeague_HallOfFame/map.bin" }, @@ -2426,8 +2426,8 @@ "height": 50, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B6C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_CinnabarIsland", "border_filepath": "data/layouts/Route21_South/border.bin", "blockdata_filepath": "data/layouts/Route21_South/map.bin" }, @@ -2438,8 +2438,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E84", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding2", "border_filepath": "data/layouts/Entrance_2F/border.bin", "blockdata_filepath": "data/layouts/Entrance_2F/map.bin" }, @@ -2450,8 +2450,8 @@ "height": 12, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E84", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding2", "border_filepath": "data/layouts/Route2_Entrance/border.bin", "blockdata_filepath": "data/layouts/Route2_Entrance/map.bin" }, @@ -2462,8 +2462,8 @@ "height": 12, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E84", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding2", "border_filepath": "data/layouts/Route22_NorthEntrance/border.bin", "blockdata_filepath": "data/layouts/Route22_NorthEntrance/map.bin" }, @@ -2474,8 +2474,8 @@ "height": 18, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E84", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding2", "border_filepath": "data/layouts/Route16_NorthEntrance_1F/border.bin", "blockdata_filepath": "data/layouts/Route16_NorthEntrance_1F/map.bin" }, @@ -2486,8 +2486,8 @@ "height": 12, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E84", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding2", "border_filepath": "data/layouts/Entrance_1F/border.bin", "blockdata_filepath": "data/layouts/Entrance_1F/map.bin" }, @@ -2498,34 +2498,34 @@ "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4ECC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SilphCo", "border_filepath": "data/layouts/RocketHideout_Elevator/border.bin", "blockdata_filepath": "data/layouts/RocketHideout_Elevator/map.bin" }, { - "id": "LAYOUT_SAFFRON_CITY_HOUSE1_1F", - "name": "SaffronCity_House1_1F_Layout", + "id": "LAYOUT_SAFFRON_CITY_COPYCATS_HOUSE_1F", + "name": "SaffronCity_CopycatsHouse_1F_Layout", "width": 13, "height": 10, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4C74", - "border_filepath": "data/layouts/SaffronCity_House1_1F/border.bin", - "blockdata_filepath": "data/layouts/SaffronCity_House1_1F/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding1", + "border_filepath": "data/layouts/SaffronCity_CopycatsHouse_1F/border.bin", + "blockdata_filepath": "data/layouts/SaffronCity_CopycatsHouse_1F/map.bin" }, { - "id": "LAYOUT_SAFFRON_CITY_HOUSE1_2F", - "name": "SaffronCity_House1_2F_Layout", + "id": "LAYOUT_SAFFRON_CITY_COPYCATS_HOUSE_2F", + "name": "SaffronCity_CopycatsHouse_2F_Layout", "width": 12, "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4C74", - "border_filepath": "data/layouts/SaffronCity_House1_2F/border.bin", - "blockdata_filepath": "data/layouts/SaffronCity_House1_2F/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding1", + "border_filepath": "data/layouts/SaffronCity_CopycatsHouse_2F/border.bin", + "blockdata_filepath": "data/layouts/SaffronCity_CopycatsHouse_2F/map.bin" }, { "id": "LAYOUT_SAFFRON_CITY_DOJO", @@ -2534,8 +2534,8 @@ "height": 16, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4D04", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PewterGym", "border_filepath": "data/layouts/SaffronCity_Dojo/border.bin", "blockdata_filepath": "data/layouts/SaffronCity_Dojo/map.bin" }, @@ -2546,8 +2546,8 @@ "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4ECC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SilphCo", "border_filepath": "data/layouts/SilphCo_Elevator/border.bin", "blockdata_filepath": "data/layouts/SilphCo_Elevator/map.bin" }, @@ -2558,8 +2558,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D504C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands123", "border_filepath": "data/layouts/OneIsland/border.bin", "blockdata_filepath": "data/layouts/OneIsland/map.bin" }, @@ -2570,8 +2570,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D504C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands123", "border_filepath": "data/layouts/TwoIsland/border.bin", "blockdata_filepath": "data/layouts/TwoIsland/map.bin" }, @@ -2582,8 +2582,8 @@ "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D504C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands123", "border_filepath": "data/layouts/ThreeIsland/border.bin", "blockdata_filepath": "data/layouts/ThreeIsland/map.bin" }, @@ -2594,8 +2594,8 @@ "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D5064", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands45", "border_filepath": "data/layouts/FourIsland/border.bin", "blockdata_filepath": "data/layouts/FourIsland/map.bin" }, @@ -2606,8 +2606,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D5064", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands45", "border_filepath": "data/layouts/FiveIsland/border.bin", "blockdata_filepath": "data/layouts/FiveIsland/map.bin" }, @@ -2618,8 +2618,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D507C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands67", "border_filepath": "data/layouts/SevenIsland/border.bin", "blockdata_filepath": "data/layouts/SevenIsland/map.bin" }, @@ -2630,8 +2630,8 @@ "height": 30, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D507C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands67", "border_filepath": "data/layouts/SixIsland/border.bin", "blockdata_filepath": "data/layouts/SixIsland/map.bin" }, @@ -2642,8 +2642,8 @@ "height": 140, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D504C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands123", "border_filepath": "data/layouts/OneIsland_KindleRoad/border.bin", "blockdata_filepath": "data/layouts/OneIsland_KindleRoad/map.bin" }, @@ -2654,8 +2654,8 @@ "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D504C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands123", "border_filepath": "data/layouts/OneIsland_TreasureBeach/border.bin", "blockdata_filepath": "data/layouts/OneIsland_TreasureBeach/map.bin" }, @@ -2666,8 +2666,8 @@ "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D504C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands123", "border_filepath": "data/layouts/TwoIsland_CapeBrink/border.bin", "blockdata_filepath": "data/layouts/TwoIsland_CapeBrink/map.bin" }, @@ -2678,8 +2678,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D504C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands123", "border_filepath": "data/layouts/ThreeIsland_BondBridge/border.bin", "blockdata_filepath": "data/layouts/ThreeIsland_BondBridge/map.bin" }, @@ -2690,58 +2690,58 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D504C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands123", "border_filepath": "data/layouts/ThreeIsland_Port/border.bin", "blockdata_filepath": "data/layouts/ThreeIsland_Port/map.bin" }, { - "id": "LAYOUT_UNKNOWN_MAP_03_50", - "name": "UnknownMap_03_50_Layout", + "id": "LAYOUT_PROTOTYPE_SEVII_ISLE_6", + "name": "Prototype_SeviiIsle_6_Layout", "width": 1, "height": 1, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B3C", - "border_filepath": "data/layouts/UnknownMap_03_50/border.bin", - "blockdata_filepath": "data/layouts/UnknownMap_03_50/map.bin" + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_CeladonCity", + "border_filepath": "data/layouts/Prototype_SeviiIsle_6/border.bin", + "blockdata_filepath": "data/layouts/Prototype_SeviiIsle_6/map.bin" }, { - "id": "LAYOUT_UNKNOWN_MAP_03_51", - "name": "UnknownMap_03_51_Layout", + "id": "LAYOUT_PROTOTYPE_SEVII_ISLE_7", + "name": "Prototype_SeviiIsle_7_Layout", "width": 1, "height": 1, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B3C", - "border_filepath": "data/layouts/UnknownMap_03_51/border.bin", - "blockdata_filepath": "data/layouts/UnknownMap_03_51/map.bin" + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_CeladonCity", + "border_filepath": "data/layouts/Prototype_SeviiIsle_7/border.bin", + "blockdata_filepath": "data/layouts/Prototype_SeviiIsle_7/map.bin" }, { - "id": "LAYOUT_UNKNOWN_MAP_03_52", - "name": "UnknownMap_03_52_Layout", + "id": "LAYOUT_PROTOTYPE_SEVII_ISLE_8", + "name": "Prototype_SeviiIsle_8_Layout", "width": 84, "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B3C", - "border_filepath": "data/layouts/UnknownMap_03_52/border.bin", - "blockdata_filepath": "data/layouts/UnknownMap_03_52/map.bin" + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_CeladonCity", + "border_filepath": "data/layouts/Prototype_SeviiIsle_8/border.bin", + "blockdata_filepath": "data/layouts/Prototype_SeviiIsle_8/map.bin" }, { - "id": "LAYOUT_UNKNOWN_MAP_03_53", - "name": "UnknownMap_03_53_Layout", + "id": "LAYOUT_PROTOTYPE_SEVII_ISLE_9", + "name": "Prototype_SeviiIsle_9_Layout", "width": 24, "height": 60, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4B3C", - "border_filepath": "data/layouts/UnknownMap_03_53/border.bin", - "blockdata_filepath": "data/layouts/UnknownMap_03_53/map.bin" + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_CeladonCity", + "border_filepath": "data/layouts/Prototype_SeviiIsle_9/border.bin", + "blockdata_filepath": "data/layouts/Prototype_SeviiIsle_9/map.bin" }, { "id": "LAYOUT_FIVE_ISLAND_RESORT_GORGEOUS", @@ -2750,8 +2750,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D5064", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands45", "border_filepath": "data/layouts/FiveIsland_ResortGorgeous/border.bin", "blockdata_filepath": "data/layouts/FiveIsland_ResortGorgeous/map.bin" }, @@ -2762,8 +2762,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D5064", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands45", "border_filepath": "data/layouts/FiveIsland_WaterLabyrinth/border.bin", "blockdata_filepath": "data/layouts/FiveIsland_WaterLabyrinth/map.bin" }, @@ -2774,8 +2774,8 @@ "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D5064", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands45", "border_filepath": "data/layouts/FiveIsland_Meadow/border.bin", "blockdata_filepath": "data/layouts/FiveIsland_Meadow/map.bin" }, @@ -2786,8 +2786,8 @@ "height": 60, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D5064", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands45", "border_filepath": "data/layouts/FiveIsland_MemorialPillar/border.bin", "blockdata_filepath": "data/layouts/FiveIsland_MemorialPillar/map.bin" }, @@ -2798,8 +2798,8 @@ "height": 80, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D507C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands67", "border_filepath": "data/layouts/SixIsland_OutcastIsland/border.bin", "blockdata_filepath": "data/layouts/SixIsland_OutcastIsland/map.bin" }, @@ -2810,8 +2810,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D507C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands67", "border_filepath": "data/layouts/SixIsland_GreenPath/border.bin", "blockdata_filepath": "data/layouts/SixIsland_GreenPath/map.bin" }, @@ -2822,8 +2822,8 @@ "height": 100, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D507C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands67", "border_filepath": "data/layouts/SixIsland_WaterPath/border.bin", "blockdata_filepath": "data/layouts/SixIsland_WaterPath/map.bin" }, @@ -2834,8 +2834,8 @@ "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D507C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands67", "border_filepath": "data/layouts/SixIsland_RuinValley/border.bin", "blockdata_filepath": "data/layouts/SixIsland_RuinValley/map.bin" }, @@ -2846,8 +2846,8 @@ "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D507C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands67", "border_filepath": "data/layouts/SevenIsland_TrainerTower/border.bin", "blockdata_filepath": "data/layouts/SevenIsland_TrainerTower/map.bin" }, @@ -2858,8 +2858,8 @@ "height": 40, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D507C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands67", "border_filepath": "data/layouts/SevenIsland_SevaultCanyon_Entrance/border.bin", "blockdata_filepath": "data/layouts/SevenIsland_SevaultCanyon_Entrance/map.bin" }, @@ -2870,8 +2870,8 @@ "height": 80, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D507C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands67", "border_filepath": "data/layouts/SevenIsland_SevaultCanyon/border.bin", "blockdata_filepath": "data/layouts/SevenIsland_SevaultCanyon/map.bin" }, @@ -2882,58 +2882,58 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D507C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands67", "border_filepath": "data/layouts/SevenIsland_TanobyRuins/border.bin", "blockdata_filepath": "data/layouts/SevenIsland_TanobyRuins/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_833614C", - "name": "UnusedLayout_833614C_Layout", + "id": "LAYOUT_PROTOTYPE_SEVII_ISLE_22", + "name": "Prototype_SeviiIsle_22_Layout", "width": 24, "height": 60, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4AAC", - "border_filepath": "data/layouts/UnusedLayout_833614C/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_833614C/map.bin" + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_PalletTown", + "border_filepath": "data/layouts/Prototype_SeviiIsle_22/border.bin", + "blockdata_filepath": "data/layouts/Prototype_SeviiIsle_22/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_83377F0", - "name": "UnusedLayout_83377F0_Layout", + "id": "LAYOUT_PROTOTYPE_SEVII_ISLE_23_EAST", + "name": "Prototype_SeviiIsle_23_East_Layout", "width": 144, "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4AAC", - "border_filepath": "data/layouts/UnusedLayout_83377F0/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_83377F0/map.bin" + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_PalletTown", + "border_filepath": "data/layouts/Prototype_SeviiIsle_23_East/border.bin", + "blockdata_filepath": "data/layouts/Prototype_SeviiIsle_23_East/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_8338354", - "name": "UnusedLayout_8338354_Layout", + "id": "LAYOUT_PROTOTYPE_SEVII_ISLE_23_WEST", + "name": "Prototype_SeviiIsle_23_West_Layout", "width": 24, "height": 60, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4AAC", - "border_filepath": "data/layouts/UnusedLayout_8338354/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_8338354/map.bin" + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_PalletTown", + "border_filepath": "data/layouts/Prototype_SeviiIsle_23_West/border.bin", + "blockdata_filepath": "data/layouts/Prototype_SeviiIsle_23_West/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_8338738", - "name": "UnusedLayout_8338738_Layout", + "id": "LAYOUT_PROTOTYPE_SEVII_ISLE_24", + "name": "Prototype_SeviiIsle_24_Layout", "width": 24, "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4AAC", - "border_filepath": "data/layouts/UnusedLayout_8338738/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_8338738/map.bin" + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_PalletTown", + "border_filepath": "data/layouts/Prototype_SeviiIsle_24/border.bin", + "blockdata_filepath": "data/layouts/Prototype_SeviiIsle_24/map.bin" }, { "id": "LAYOUT_UNION_ROOM", @@ -2942,8 +2942,8 @@ "height": 12, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D50DC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_HallOfFame", "border_filepath": "data/layouts/UnionRoom/border.bin", "blockdata_filepath": "data/layouts/UnionRoom/map.bin" }, @@ -2954,22 +2954,22 @@ "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4F74", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_FanClubDaycare", "border_filepath": "data/layouts/SaffronCity_PokemonTrainerFanClub/border.bin", "blockdata_filepath": "data/layouts/SaffronCity_PokemonTrainerFanClub/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_8338B4C", - "name": "UnusedLayout_8338B4C_Layout", + "id": "LAYOUT_SEVEN_ISLAND_HOUSE_ROOM1_DOOR_OPEN", + "name": "SevenIsland_House_Room1_DoorOpen_Layout", "width": 11, "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E84", - "border_filepath": "data/layouts/UnusedLayout_8338B4C/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_8338B4C/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding2", + "border_filepath": "data/layouts/SevenIsland_House_Room1_DoorOpen/border.bin", + "blockdata_filepath": "data/layouts/SevenIsland_House_Room1_DoorOpen/map.bin" }, { "id": "LAYOUT_SEVEN_ISLAND_HOUSE_ROOM2", @@ -2978,8 +2978,8 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E84", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding2", "border_filepath": "data/layouts/SevenIsland_House_Room2/border.bin", "blockdata_filepath": "data/layouts/SevenIsland_House_Room2/map.bin" }, @@ -2990,34 +2990,34 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4F5C", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_School", "border_filepath": "data/layouts/ViridianCity_House2/border.bin", "blockdata_filepath": "data/layouts/ViridianCity_House2/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_8338E90", - "name": "UnusedLayout_8338E90_Layout", + "id": "LAYOUT_CELADON_CITY_RESTAURANT_DUPLICATE", + "name": "CeladonCity_Restaurant_Duplicate_Layout", "width": 15, "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4F44", - "border_filepath": "data/layouts/UnusedLayout_8338E90/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_8338E90/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_RestaurantHotel", + "border_filepath": "data/layouts/CeladonCity_Restaurant_Duplicate/border.bin", + "blockdata_filepath": "data/layouts/CeladonCity_Restaurant_Duplicate/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_833902C", - "name": "UnusedLayout_833902C_Layout", + "id": "LAYOUT_CELADON_CITY_HOTEL_DUPLICATE", + "name": "CeladonCity_Hotel_Duplicate_Layout", "width": 17, "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4F44", - "border_filepath": "data/layouts/UnusedLayout_833902C/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_833902C/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_RestaurantHotel", + "border_filepath": "data/layouts/CeladonCity_Hotel_Duplicate/border.bin", + "blockdata_filepath": "data/layouts/CeladonCity_Hotel_Duplicate/map.bin" }, { "id": "LAYOUT_MT_EMBER_RUBY_PATH_B4F", @@ -3026,8 +3026,8 @@ "height": 16, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4FEC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_MtEmber", "border_filepath": "data/layouts/MtEmber_RubyPath_B4F/border.bin", "blockdata_filepath": "data/layouts/MtEmber_RubyPath_B4F/map.bin" }, @@ -3038,8 +3038,8 @@ "height": 47, "border_width": 3, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D5004", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_BerryForest", "border_filepath": "data/layouts/ThreeIsland_BerryForest/border.bin", "blockdata_filepath": "data/layouts/ThreeIsland_BerryForest/map.bin" }, @@ -3050,8 +3050,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4BE4", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PokemonCenter", "border_filepath": "data/layouts/OneIsland_PokemonCenter_1F/border.bin", "blockdata_filepath": "data/layouts/OneIsland_PokemonCenter_1F/map.bin" }, @@ -3062,8 +3062,8 @@ "height": 10, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4CEC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GameCorner", "border_filepath": "data/layouts/TwoIsland_JoyfulGameCorner/border.bin", "blockdata_filepath": "data/layouts/TwoIsland_JoyfulGameCorner/map.bin" }, @@ -3074,8 +3074,8 @@ "height": 12, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4F74", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_FanClubDaycare", "border_filepath": "data/layouts/VermilionCity_PokemonFanClub/border.bin", "blockdata_filepath": "data/layouts/VermilionCity_PokemonFanClub/map.bin" }, @@ -3086,8 +3086,8 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4F74", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_FanClubDaycare", "border_filepath": "data/layouts/LavenderTown_VolunteerPokemonHouse/border.bin", "blockdata_filepath": "data/layouts/LavenderTown_VolunteerPokemonHouse/map.bin" }, @@ -3098,8 +3098,8 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4F74", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_FanClubDaycare", "border_filepath": "data/layouts/Route5_PokemonDayCare/border.bin", "blockdata_filepath": "data/layouts/Route5_PokemonDayCare/map.bin" }, @@ -3110,8 +3110,8 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E84", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding2", "border_filepath": "data/layouts/ViridianCity_House1/border.bin", "blockdata_filepath": "data/layouts/ViridianCity_House1/map.bin" }, @@ -3122,8 +3122,8 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4F74", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_FanClubDaycare", "border_filepath": "data/layouts/FourIsland_PokemonDayCare/border.bin", "blockdata_filepath": "data/layouts/FourIsland_PokemonDayCare/map.bin" }, @@ -3134,8 +3134,8 @@ "height": 24, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4E24", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeafoamIslands", "border_filepath": "data/layouts/SeafoamIslands_B3F_CurrentStopped/border.bin", "blockdata_filepath": "data/layouts/SeafoamIslands_B3F_CurrentStopped/map.bin" }, @@ -3146,8 +3146,8 @@ "height": 24, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4E24", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeafoamIslands", "border_filepath": "data/layouts/SeafoamIslands_B4F_CurrentStopped/border.bin", "blockdata_filepath": "data/layouts/SeafoamIslands_B4F_CurrentStopped/map.bin" }, @@ -3158,8 +3158,8 @@ "height": 54, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D504C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands123", "border_filepath": "data/layouts/MtEmber_Exterior/border.bin", "blockdata_filepath": "data/layouts/MtEmber_Exterior/map.bin" }, @@ -3170,8 +3170,8 @@ "height": 22, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D504C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands123", "border_filepath": "data/layouts/MtEmber_Summit/border.bin", "blockdata_filepath": "data/layouts/MtEmber_Summit/map.bin" }, @@ -3182,8 +3182,8 @@ "height": 18, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4FEC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_MtEmber", "border_filepath": "data/layouts/MtEmber_SummitPath_1F/border.bin", "blockdata_filepath": "data/layouts/MtEmber_SummitPath_1F/map.bin" }, @@ -3194,8 +3194,8 @@ "height": 46, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4FEC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_MtEmber", "border_filepath": "data/layouts/MtEmber_SummitPath_2F/border.bin", "blockdata_filepath": "data/layouts/MtEmber_SummitPath_2F/map.bin" }, @@ -3206,8 +3206,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4FEC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_MtEmber", "border_filepath": "data/layouts/MtEmber_SummitPath_3F/border.bin", "blockdata_filepath": "data/layouts/MtEmber_SummitPath_3F/map.bin" }, @@ -3218,8 +3218,8 @@ "height": 19, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4FEC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_MtEmber", "border_filepath": "data/layouts/MtEmber_RubyPath_1F/border.bin", "blockdata_filepath": "data/layouts/MtEmber_RubyPath_1F/map.bin" }, @@ -3230,8 +3230,8 @@ "height": 23, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4FEC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_MtEmber", "border_filepath": "data/layouts/MtEmber_RubyPath_B1F/border.bin", "blockdata_filepath": "data/layouts/MtEmber_RubyPath_B1F/map.bin" }, @@ -3242,8 +3242,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4FEC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_MtEmber", "border_filepath": "data/layouts/MtEmber_RubyPath_B2F/border.bin", "blockdata_filepath": "data/layouts/MtEmber_RubyPath_B2F/map.bin" }, @@ -3254,8 +3254,8 @@ "height": 23, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4FEC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_MtEmber", "border_filepath": "data/layouts/MtEmber_RubyPath_B3F/border.bin", "blockdata_filepath": "data/layouts/MtEmber_RubyPath_B3F/map.bin" }, @@ -3266,8 +3266,8 @@ "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4FEC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_MtEmber", "border_filepath": "data/layouts/MtEmber_RubyPath_B1F_Stairs/border.bin", "blockdata_filepath": "data/layouts/MtEmber_RubyPath_B1F_Stairs/map.bin" }, @@ -3278,8 +3278,8 @@ "height": 6, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4FEC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_MtEmber", "border_filepath": "data/layouts/MtEmber_RubyPath_B2F_Stairs/border.bin", "blockdata_filepath": "data/layouts/MtEmber_RubyPath_B2F_Stairs/map.bin" }, @@ -3290,8 +3290,8 @@ "height": 15, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4FEC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_MtEmber", "border_filepath": "data/layouts/MtEmber_RubyPath_B5F/border.bin", "blockdata_filepath": "data/layouts/MtEmber_RubyPath_B5F/map.bin" }, @@ -3302,8 +3302,8 @@ "height": 27, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4ECC", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SilphCo", "border_filepath": "data/layouts/FiveIsland_RocketWarehouse/border.bin", "blockdata_filepath": "data/layouts/FiveIsland_RocketWarehouse/map.bin" }, @@ -3314,8 +3314,8 @@ "height": 36, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4E24", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeafoamIslands", "border_filepath": "data/layouts/FourIsland_IcefallCave_Entrance/border.bin", "blockdata_filepath": "data/layouts/FourIsland_IcefallCave_Entrance/map.bin" }, @@ -3326,8 +3326,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4E24", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeafoamIslands", "border_filepath": "data/layouts/FourIsland_IcefallCave_1F/border.bin", "blockdata_filepath": "data/layouts/FourIsland_IcefallCave_1F/map.bin" }, @@ -3338,8 +3338,8 @@ "height": 20, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4E24", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeafoamIslands", "border_filepath": "data/layouts/FourIsland_IcefallCave_B1F/border.bin", "blockdata_filepath": "data/layouts/FourIsland_IcefallCave_B1F/map.bin" }, @@ -3350,142 +3350,142 @@ "height": 26, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4E24", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeafoamIslands", "border_filepath": "data/layouts/FourIsland_IcefallCave_Back/border.bin", "blockdata_filepath": "data/layouts/FourIsland_IcefallCave_Back/map.bin" }, { - "id": "LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_LOBBY", - "name": "SevenIsland_TrainerTower_Lobby_Layout", + "id": "LAYOUT_TRAINER_TOWER_LOBBY", + "name": "TrainerTower_Lobby_Layout", "width": 19, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/SevenIsland_TrainerTower_Lobby/border.bin", - "blockdata_filepath": "data/layouts/SevenIsland_TrainerTower_Lobby/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_Lobby/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_Lobby/map.bin" }, { - "id": "LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_1F", - "name": "SevenIsland_TrainerTower_1F_Layout", + "id": "LAYOUT_TRAINER_TOWER_1F", + "name": "TrainerTower_1F_Layout", "width": 18, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/SevenIsland_TrainerTower_1F/border.bin", - "blockdata_filepath": "data/layouts/SevenIsland_TrainerTower_1F/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_1F/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_1F/map.bin" }, { - "id": "LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_2F", - "name": "SevenIsland_TrainerTower_2F_Layout", + "id": "LAYOUT_TRAINER_TOWER_2F", + "name": "TrainerTower_2F_Layout", "width": 18, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/SevenIsland_TrainerTower_2F/border.bin", - "blockdata_filepath": "data/layouts/SevenIsland_TrainerTower_2F/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_2F/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_2F/map.bin" }, { - "id": "LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_3F", - "name": "SevenIsland_TrainerTower_3F_Layout", + "id": "LAYOUT_TRAINER_TOWER_3F", + "name": "TrainerTower_3F_Layout", "width": 18, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/SevenIsland_TrainerTower_3F/border.bin", - "blockdata_filepath": "data/layouts/SevenIsland_TrainerTower_3F/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_3F/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_3F/map.bin" }, { - "id": "LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_4F", - "name": "SevenIsland_TrainerTower_4F_Layout", + "id": "LAYOUT_TRAINER_TOWER_4F", + "name": "TrainerTower_4F_Layout", "width": 18, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/SevenIsland_TrainerTower_4F/border.bin", - "blockdata_filepath": "data/layouts/SevenIsland_TrainerTower_4F/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_4F/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_4F/map.bin" }, { - "id": "LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_5F", - "name": "SevenIsland_TrainerTower_5F_Layout", + "id": "LAYOUT_TRAINER_TOWER_5F", + "name": "TrainerTower_5F_Layout", "width": 18, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/SevenIsland_TrainerTower_5F/border.bin", - "blockdata_filepath": "data/layouts/SevenIsland_TrainerTower_5F/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_5F/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_5F/map.bin" }, { - "id": "LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_6F", - "name": "SevenIsland_TrainerTower_6F_Layout", + "id": "LAYOUT_TRAINER_TOWER_6F", + "name": "TrainerTower_6F_Layout", "width": 18, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/SevenIsland_TrainerTower_6F/border.bin", - "blockdata_filepath": "data/layouts/SevenIsland_TrainerTower_6F/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_6F/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_6F/map.bin" }, { - "id": "LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_7F", - "name": "SevenIsland_TrainerTower_7F_Layout", + "id": "LAYOUT_TRAINER_TOWER_7F", + "name": "TrainerTower_7F_Layout", "width": 18, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/SevenIsland_TrainerTower_7F/border.bin", - "blockdata_filepath": "data/layouts/SevenIsland_TrainerTower_7F/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_7F/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_7F/map.bin" }, { - "id": "LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_8F", - "name": "SevenIsland_TrainerTower_8F_Layout", + "id": "LAYOUT_TRAINER_TOWER_8F", + "name": "TrainerTower_8F_Layout", "width": 18, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/SevenIsland_TrainerTower_8F/border.bin", - "blockdata_filepath": "data/layouts/SevenIsland_TrainerTower_8F/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_8F/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_8F/map.bin" }, { - "id": "LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_ROOF", - "name": "SevenIsland_TrainerTower_Roof_Layout", + "id": "LAYOUT_TRAINER_TOWER_ROOF", + "name": "TrainerTower_Roof_Layout", "width": 18, "height": 16, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/SevenIsland_TrainerTower_Roof/border.bin", - "blockdata_filepath": "data/layouts/SevenIsland_TrainerTower_Roof/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_Roof/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_Roof/map.bin" }, { - "id": "LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_ELEVATOR", - "name": "SevenIsland_TrainerTower_Elevator_Layout", + "id": "LAYOUT_TRAINER_TOWER_ELEVATOR", + "name": "TrainerTower_Elevator_Layout", "width": 5, "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4ECC", - "border_filepath": "data/layouts/SevenIsland_TrainerTower_Elevator/border.bin", - "blockdata_filepath": "data/layouts/SevenIsland_TrainerTower_Elevator/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SilphCo", + "border_filepath": "data/layouts/TrainerTower_Elevator/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_Elevator/map.bin" }, { "id": "LAYOUT_CERULEAN_CITY_HOUSE5", @@ -3494,8 +3494,8 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E84", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_GenericBuilding2", "border_filepath": "data/layouts/CeruleanCity_House5/border.bin", "blockdata_filepath": "data/layouts/CeruleanCity_House5/map.bin" }, @@ -3506,8 +3506,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/SixIsland_DottedHole_1F/border.bin", "blockdata_filepath": "data/layouts/SixIsland_DottedHole_1F/map.bin" }, @@ -3518,8 +3518,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/SixIsland_DottedHole_B1F/border.bin", "blockdata_filepath": "data/layouts/SixIsland_DottedHole_B1F/map.bin" }, @@ -3530,8 +3530,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/SixIsland_DottedHole_B2F/border.bin", "blockdata_filepath": "data/layouts/SixIsland_DottedHole_B2F/map.bin" }, @@ -3542,8 +3542,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/SixIsland_DottedHole_B3F/border.bin", "blockdata_filepath": "data/layouts/SixIsland_DottedHole_B3F/map.bin" }, @@ -3554,8 +3554,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/SixIsland_DottedHole_B4F/border.bin", "blockdata_filepath": "data/layouts/SixIsland_DottedHole_B4F/map.bin" }, @@ -3566,8 +3566,8 @@ "height": 15, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/SixIsland_DottedHole_SapphireRoom/border.bin", "blockdata_filepath": "data/layouts/SixIsland_DottedHole_SapphireRoom/map.bin" }, @@ -3578,8 +3578,8 @@ "height": 13, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D50AC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_IslandHarbor", "border_filepath": "data/layouts/Island_Harbor/border.bin", "blockdata_filepath": "data/layouts/Island_Harbor/map.bin" }, @@ -3590,8 +3590,8 @@ "height": 10, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4BE4", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_PokemonCenter", "border_filepath": "data/layouts/OneIsland_PokemonCenter_2F/border.bin", "blockdata_filepath": "data/layouts/OneIsland_PokemonCenter_2F/map.bin" }, @@ -3602,8 +3602,8 @@ "height": 32, "border_width": 3, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4DC4", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_ViridianForest", "border_filepath": "data/layouts/SixIsland_PatternBush/border.bin", "blockdata_filepath": "data/layouts/SixIsland_PatternBush/map.bin" }, @@ -3614,22 +3614,22 @@ "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4BFC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_Cave", "border_filepath": "data/layouts/ThreeIsland_DunsparceTunnel/border.bin", "blockdata_filepath": "data/layouts/ThreeIsland_DunsparceTunnel/map.bin" }, { - "id": "LAYOUT_THREE_ISLAND_DUNSPARCE_TUNNEL_2", - "name": "UnusedLayout_83453C0_Layout", + "id": "LAYOUT_THREE_ISLAND_DUNSPARCE_TUNNEL_DUG_OUT", + "name": "ThreeIsland_DunsparceTunnel_DugOut_Layout", "width": 30, "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4BFC", - "border_filepath": "data/layouts/UnusedLayout_83453C0/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_83453C0/map.bin" + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_Cave", + "border_filepath": "data/layouts/ThreeIsland_DunsparceTunnel_DugOut/border.bin", + "blockdata_filepath": "data/layouts/ThreeIsland_DunsparceTunnel_DugOut/map.bin" }, { "id": "LAYOUT_FIVE_ISLAND_LOST_CAVE_ENTRANCE", @@ -3638,8 +3638,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4BFC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_Cave", "border_filepath": "data/layouts/FiveIsland_LostCave_Entrance/border.bin", "blockdata_filepath": "data/layouts/FiveIsland_LostCave_Entrance/map.bin" }, @@ -3650,8 +3650,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4BFC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_Cave", "border_filepath": "data/layouts/FiveIsland_LostCave_Room1/border.bin", "blockdata_filepath": "data/layouts/FiveIsland_LostCave_Room1/map.bin" }, @@ -3662,8 +3662,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4BFC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_Cave", "border_filepath": "data/layouts/FiveIsland_LostCave_Room2/border.bin", "blockdata_filepath": "data/layouts/FiveIsland_LostCave_Room2/map.bin" }, @@ -3674,8 +3674,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4BFC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_Cave", "border_filepath": "data/layouts/FiveIsland_LostCave_Room3/border.bin", "blockdata_filepath": "data/layouts/FiveIsland_LostCave_Room3/map.bin" }, @@ -3686,8 +3686,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4BFC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_Cave", "border_filepath": "data/layouts/FiveIsland_LostCave_Room4/border.bin", "blockdata_filepath": "data/layouts/FiveIsland_LostCave_Room4/map.bin" }, @@ -3698,8 +3698,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4BFC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_Cave", "border_filepath": "data/layouts/FiveIsland_LostCave_Room5/border.bin", "blockdata_filepath": "data/layouts/FiveIsland_LostCave_Room5/map.bin" }, @@ -3710,8 +3710,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4BFC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_Cave", "border_filepath": "data/layouts/FiveIsland_LostCave_Room6/border.bin", "blockdata_filepath": "data/layouts/FiveIsland_LostCave_Room6/map.bin" }, @@ -3722,8 +3722,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4BFC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_Cave", "border_filepath": "data/layouts/FiveIsland_LostCave_Room7/border.bin", "blockdata_filepath": "data/layouts/FiveIsland_LostCave_Room7/map.bin" }, @@ -3734,8 +3734,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4BFC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_Cave", "border_filepath": "data/layouts/FiveIsland_LostCave_Room8/border.bin", "blockdata_filepath": "data/layouts/FiveIsland_LostCave_Room8/map.bin" }, @@ -3746,8 +3746,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4BFC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_Cave", "border_filepath": "data/layouts/FiveIsland_LostCave_Room9/border.bin", "blockdata_filepath": "data/layouts/FiveIsland_LostCave_Room9/map.bin" }, @@ -3758,8 +3758,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4BFC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_Cave", "border_filepath": "data/layouts/FiveIsland_LostCave_Room10/border.bin", "blockdata_filepath": "data/layouts/FiveIsland_LostCave_Room10/map.bin" }, @@ -3770,8 +3770,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4BFC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_Cave", "border_filepath": "data/layouts/FiveIsland_LostCave_Room11/border.bin", "blockdata_filepath": "data/layouts/FiveIsland_LostCave_Room11/map.bin" }, @@ -3782,8 +3782,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4BFC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_Cave", "border_filepath": "data/layouts/FiveIsland_LostCave_Room12/border.bin", "blockdata_filepath": "data/layouts/FiveIsland_LostCave_Room12/map.bin" }, @@ -3794,8 +3794,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4BFC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_Cave", "border_filepath": "data/layouts/FiveIsland_LostCave_Room13/border.bin", "blockdata_filepath": "data/layouts/FiveIsland_LostCave_Room13/map.bin" }, @@ -3806,8 +3806,8 @@ "height": 11, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4BFC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_Cave", "border_filepath": "data/layouts/FiveIsland_LostCave_Room14/border.bin", "blockdata_filepath": "data/layouts/FiveIsland_LostCave_Room14/map.bin" }, @@ -3818,8 +3818,8 @@ "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5034", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TanobyRuins", "border_filepath": "data/layouts/SevenIsland_TanobyRuins_MoneanChamber/border.bin", "blockdata_filepath": "data/layouts/SevenIsland_TanobyRuins_MoneanChamber/map.bin" }, @@ -3830,8 +3830,8 @@ "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5034", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TanobyRuins", "border_filepath": "data/layouts/SevenIsland_TanobyRuins_LiptooChamber/border.bin", "blockdata_filepath": "data/layouts/SevenIsland_TanobyRuins_LiptooChamber/map.bin" }, @@ -3842,8 +3842,8 @@ "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5034", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TanobyRuins", "border_filepath": "data/layouts/SevenIsland_TanobyRuins_WeepthChamber/border.bin", "blockdata_filepath": "data/layouts/SevenIsland_TanobyRuins_WeepthChamber/map.bin" }, @@ -3854,8 +3854,8 @@ "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5034", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TanobyRuins", "border_filepath": "data/layouts/SevenIsland_TanobyRuins_DilfordChamber/border.bin", "blockdata_filepath": "data/layouts/SevenIsland_TanobyRuins_DilfordChamber/map.bin" }, @@ -3866,8 +3866,8 @@ "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5034", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TanobyRuins", "border_filepath": "data/layouts/SevenIsland_TanobyRuins_ScufibChamber/border.bin", "blockdata_filepath": "data/layouts/SevenIsland_TanobyRuins_ScufibChamber/map.bin" }, @@ -3878,8 +3878,8 @@ "height": 24, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4DF4", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_RockTunnel", "border_filepath": "data/layouts/SixIsland_AlteringCave/border.bin", "blockdata_filepath": "data/layouts/SixIsland_AlteringCave/map.bin" }, @@ -3890,8 +3890,8 @@ "height": 16, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4E0C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_DiglettsCave", "border_filepath": "data/layouts/SevenIsland_SevaultCanyon_TanobyKey/border.bin", "blockdata_filepath": "data/layouts/SevenIsland_SevaultCanyon_TanobyKey/map.bin" }, @@ -3902,8 +3902,8 @@ "height": 30, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D507C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands67", "border_filepath": "data/layouts/BirthIsland_Exterior/border.bin", "blockdata_filepath": "data/layouts/BirthIsland_Exterior/map.bin" }, @@ -3914,8 +3914,8 @@ "height": 23, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D504C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_SeviiIslands123", "border_filepath": "data/layouts/NavelRock_Exterior/border.bin", "blockdata_filepath": "data/layouts/NavelRock_Exterior/map.bin" }, @@ -3926,8 +3926,8 @@ "height": 26, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/NavelRock_1F/border.bin", "blockdata_filepath": "data/layouts/NavelRock_1F/map.bin" }, @@ -3938,8 +3938,8 @@ "height": 25, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/NavelRock_Summit/border.bin", "blockdata_filepath": "data/layouts/NavelRock_Summit/map.bin" }, @@ -3950,8 +3950,8 @@ "height": 23, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/NavelRock_Base/border.bin", "blockdata_filepath": "data/layouts/NavelRock_Base/map.bin" }, @@ -3962,8 +3962,8 @@ "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/NavelRock_SummitPath_2F/border.bin", "blockdata_filepath": "data/layouts/NavelRock_SummitPath_2F/map.bin" }, @@ -3974,8 +3974,8 @@ "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/NavelRock_SummitPath_3F/border.bin", "blockdata_filepath": "data/layouts/NavelRock_SummitPath_3F/map.bin" }, @@ -3986,8 +3986,8 @@ "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/NavelRock_SummitPath_4F/border.bin", "blockdata_filepath": "data/layouts/NavelRock_SummitPath_4F/map.bin" }, @@ -3998,8 +3998,8 @@ "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/NavelRock_SummitPath_5F/border.bin", "blockdata_filepath": "data/layouts/NavelRock_SummitPath_5F/map.bin" }, @@ -4010,8 +4010,8 @@ "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/NavelRock_BasePath_B1F/border.bin", "blockdata_filepath": "data/layouts/NavelRock_BasePath_B1F/map.bin" }, @@ -4022,8 +4022,8 @@ "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/NavelRock_BasePath_B2F/border.bin", "blockdata_filepath": "data/layouts/NavelRock_BasePath_B2F/map.bin" }, @@ -4034,8 +4034,8 @@ "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/NavelRock_BasePath_B3F/border.bin", "blockdata_filepath": "data/layouts/NavelRock_BasePath_B3F/map.bin" }, @@ -4046,8 +4046,8 @@ "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/NavelRock_BasePath_B4F/border.bin", "blockdata_filepath": "data/layouts/NavelRock_BasePath_B4F/map.bin" }, @@ -4058,8 +4058,8 @@ "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/NavelRock_BasePath_B5F/border.bin", "blockdata_filepath": "data/layouts/NavelRock_BasePath_B5F/map.bin" }, @@ -4070,8 +4070,8 @@ "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/NavelRock_BasePath_B6F/border.bin", "blockdata_filepath": "data/layouts/NavelRock_BasePath_B6F/map.bin" }, @@ -4082,8 +4082,8 @@ "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/NavelRock_BasePath_B7F/border.bin", "blockdata_filepath": "data/layouts/NavelRock_BasePath_B7F/map.bin" }, @@ -4094,8 +4094,8 @@ "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/NavelRock_BasePath_B8F/border.bin", "blockdata_filepath": "data/layouts/NavelRock_BasePath_B8F/map.bin" }, @@ -4106,8 +4106,8 @@ "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/NavelRock_BasePath_B9F/border.bin", "blockdata_filepath": "data/layouts/NavelRock_BasePath_B9F/map.bin" }, @@ -4118,8 +4118,8 @@ "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/NavelRock_BasePath_B10F/border.bin", "blockdata_filepath": "data/layouts/NavelRock_BasePath_B10F/map.bin" }, @@ -4130,8 +4130,8 @@ "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/NavelRock_BasePath_B11F/border.bin", "blockdata_filepath": "data/layouts/NavelRock_BasePath_B11F/map.bin" }, @@ -4142,8 +4142,8 @@ "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5034", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TanobyRuins", "border_filepath": "data/layouts/SevenIsland_TanobyRuins_RixyChamber/border.bin", "blockdata_filepath": "data/layouts/SevenIsland_TanobyRuins_RixyChamber/map.bin" }, @@ -4154,8 +4154,8 @@ "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5034", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TanobyRuins", "border_filepath": "data/layouts/SevenIsland_TanobyRuins_ViapoisChamber/border.bin", "blockdata_filepath": "data/layouts/SevenIsland_TanobyRuins_ViapoisChamber/map.bin" }, @@ -4166,8 +4166,8 @@ "height": 7, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/NavelRock_B1F/border.bin", "blockdata_filepath": "data/layouts/NavelRock_B1F/map.bin" }, @@ -4178,202 +4178,202 @@ "height": 100, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D501C", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_NavelRock", "border_filepath": "data/layouts/NavelRock_Fork/border.bin", "blockdata_filepath": "data/layouts/NavelRock_Fork/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_834BC2C", - "name": "UnusedLayout_834BC2C_Layout", + "id": "LAYOUT_TRAINER_TOWER_1F_DOUBLES", + "name": "TrainerTower_1F_Doubles_Layout", "width": 18, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/UnusedLayout_834BC2C/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_834BC2C/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_1F_Doubles/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_1F_Doubles/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_834BEB4", - "name": "UnusedLayout_834BEB4_Layout", + "id": "LAYOUT_TRAINER_TOWER_2F_DOUBLES", + "name": "TrainerTower_2F_Doubles_Layout", "width": 18, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/UnusedLayout_834BEB4/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_834BEB4/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_2F_Doubles/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_2F_Doubles/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_834C13C", - "name": "UnusedLayout_834C13C_Layout", + "id": "LAYOUT_TRAINER_TOWER_3F_DOUBLES", + "name": "TrainerTower_3F_Doubles_Layout", "width": 18, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/UnusedLayout_834C13C/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_834C13C/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_3F_Doubles/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_3F_Doubles/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_834C3C4", - "name": "UnusedLayout_834C3C4_Layout", + "id": "LAYOUT_TRAINER_TOWER_4F_DOUBLES", + "name": "TrainerTower_4F_Doubles_Layout", "width": 18, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/UnusedLayout_834C3C4/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_834C3C4/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_4F_Doubles/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_4F_Doubles/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_834C64C", - "name": "UnusedLayout_834C64C_Layout", + "id": "LAYOUT_TRAINER_TOWER_5F_DOUBLES", + "name": "TrainerTower_5F_Doubles_Layout", "width": 18, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/UnusedLayout_834C64C/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_834C64C/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_5F_Doubles/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_5F_Doubles/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_834C8D4", - "name": "UnusedLayout_834C8D4_Layout", + "id": "LAYOUT_TRAINER_TOWER_6F_DOUBLES", + "name": "TrainerTower_6F_Doubles_Layout", "width": 18, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/UnusedLayout_834C8D4/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_834C8D4/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_6F_Doubles/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_6F_Doubles/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_834CB5C", - "name": "UnusedLayout_834CB5C_Layout", + "id": "LAYOUT_TRAINER_TOWER_7F_DOUBLES", + "name": "TrainerTower_7F_Doubles_Layout", "width": 18, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/UnusedLayout_834CB5C/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_834CB5C/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_7F_Doubles/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_7F_Doubles/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_834CDE4", - "name": "UnusedLayout_834CDE4_Layout", + "id": "LAYOUT_TRAINER_TOWER_8F_DOUBLES", + "name": "TrainerTower_8F_Doubles_Layout", "width": 18, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/UnusedLayout_834CDE4/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_834CDE4/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_8F_Doubles/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_8F_Doubles/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_834D06C", - "name": "UnusedLayout_834D06C_Layout", + "id": "LAYOUT_TRAINER_TOWER_1F_KNOCKOUT", + "name": "TrainerTower_1F_Knockout_Layout", "width": 18, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/UnusedLayout_834D06C/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_834D06C/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_1F_Knockout/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_1F_Knockout/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_834D2F4", - "name": "UnusedLayout_834D2F4_Layout", + "id": "LAYOUT_TRAINER_TOWER_2F_KNOCKOUT", + "name": "TrainerTower_2F_Knockout_Layout", "width": 18, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/UnusedLayout_834D2F4/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_834D2F4/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_2F_Knockout/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_2F_Knockout/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_834D57C", - "name": "UnusedLayout_834D57C_Layout", + "id": "LAYOUT_TRAINER_TOWER_3F_KNOCKOUT", + "name": "TrainerTower_3F_Knockout_Layout", "width": 18, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/UnusedLayout_834D57C/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_834D57C/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_3F_Knockout/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_3F_Knockout/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_834D804", - "name": "UnusedLayout_834D804_Layout", + "id": "LAYOUT_TRAINER_TOWER_4F_KNOCKOUT", + "name": "TrainerTower_4F_Knockout_Layout", "width": 18, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/UnusedLayout_834D804/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_834D804/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_4F_Knockout/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_4F_Knockout/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_834DA8C", - "name": "UnusedLayout_834DA8C_Layout", + "id": "LAYOUT_TRAINER_TOWER_5F_KNOCKOUT", + "name": "TrainerTower_5F_Knockout_Layout", "width": 18, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/UnusedLayout_834DA8C/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_834DA8C/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_5F_Knockout/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_5F_Knockout/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_834DD14", - "name": "UnusedLayout_834DD14_Layout", + "id": "LAYOUT_TRAINER_TOWER_6F_KNOCKOUT", + "name": "TrainerTower_6F_Knockout_Layout", "width": 18, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/UnusedLayout_834DD14/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_834DD14/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_6F_Knockout/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_6F_Knockout/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_834DF9C", - "name": "UnusedLayout_834DF9C_Layout", + "id": "LAYOUT_TRAINER_TOWER_7F_KNOCKOUT", + "name": "TrainerTower_7F_Knockout_Layout", "width": 18, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/UnusedLayout_834DF9C/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_834DF9C/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_7F_Knockout/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_7F_Knockout/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_834E224", - "name": "UnusedLayout_834E224_Layout", + "id": "LAYOUT_TRAINER_TOWER_8F_KNOCKOUT", + "name": "TrainerTower_8F_Knockout_Layout", "width": 18, "height": 17, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D5094", - "border_filepath": "data/layouts/UnusedLayout_834E224/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_834E224/map.bin" + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_TrainerTower", + "border_filepath": "data/layouts/TrainerTower_8F_Knockout/border.bin", + "blockdata_filepath": "data/layouts/TrainerTower_8F_Knockout/map.bin" }, { "id": "LAYOUT_SEVEN_ISLAND_HOUSE_ROOM1", @@ -4382,8 +4382,8 @@ "height": 9, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4BB4", - "secondary_tileset": "gTileset_82D4E24", + "primary_tileset": "gTileset_Building", + "secondary_tileset": "gTileset_SeafoamIslands", "border_filepath": "data/layouts/SevenIsland_House_Room1/border.bin", "blockdata_filepath": "data/layouts/SevenIsland_House_Room1/map.bin" }, @@ -4394,8 +4394,8 @@ "height": 39, "border_width": 2, "border_height": 2, - "primary_tileset": "gTileset_82D4A94", - "secondary_tileset": "gTileset_82D4FEC", + "primary_tileset": "gTileset_General", + "secondary_tileset": "gTileset_MtEmber", "border_filepath": "data/layouts/OneIsland_KindleRoad_EmberSpa/border.bin", "blockdata_filepath": "data/layouts/OneIsland_KindleRoad_EmberSpa/map.bin" } diff --git a/data/map_events.s b/data/map_events.s index ce4d9efc3..9255e3396 100644 --- a/data/map_events.s +++ b/data/map_events.s @@ -1,4 +1,4 @@ -@#include "constants/bg_event_constants.h" +#include "constants/event_bg.h" #include "constants/event_object_movement.h" #include "constants/event_objects.h" #include "constants/flags.h" @@ -6,11 +6,8 @@ #include "constants/map_scripts.h" #include "constants/layouts.h" #include "constants/maps.h" -@#include "constants/secret_bases.h" #include "constants/vars.h" #include "constants/weather.h" -@#include "constants/trainer_hill.h" -#include "constants/object_events.h" .include "asm/macros.inc" .include "constants/constants.inc" .include "constants/item_data_constants.inc" diff --git a/data/maps.s b/data/maps.s index a0ff008cd..ad3f9c993 100644 --- a/data/maps.s +++ b/data/maps.s @@ -1,7 +1,6 @@ #include "constants/layouts.h" -@#include "constants/map_types.h" #include "constants/maps.h" -#include "constants/region_map.h" +#include "constants/region_map_sections.h" #include "constants/songs.h" #include "constants/items.h" #include "constants/weather.h" diff --git a/data/maps/BattleColosseum_2P/map.json b/data/maps/BattleColosseum_2P/map.json index bd1e8ca3e..b2f6c9186 100644 --- a/data/maps/BattleColosseum_2P/map.json +++ b/data/maps/BattleColosseum_2P/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SPECIAL_AREA", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_8", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_LINK", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_UNION_ROOM_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_UNION_ROOM_RECEPTIONIST", "x": 9, "y": 3, "elevation": 3, diff --git a/data/maps/BattleColosseum_4P/map.json b/data/maps/BattleColosseum_4P/map.json index 53bdf260b..c36a5beca 100644 --- a/data/maps/BattleColosseum_4P/map.json +++ b/data/maps/BattleColosseum_4P/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_SPECIAL_AREA", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_8", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_LINK", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/BirthIsland_Exterior/map.json b/data/maps/BirthIsland_Exterior/map.json index 79a032876..77bbc7ec0 100644 --- a/data/maps/BirthIsland_Exterior/map.json +++ b/data/maps/BirthIsland_Exterior/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_BIRTH_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_3", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_METEORITE", + "graphics_id": "OBJ_EVENT_GFX_METEORITE", "x": 15, "y": 12, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "FLAG_HIDE_BIRTH_ISLAND_METEORITE" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_0", + "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 15, "y": 3, "elevation": 3, diff --git a/data/maps/BirthIsland_Exterior/scripts.inc b/data/maps/BirthIsland_Exterior/scripts.inc index d58a16b85..2f26f58ab 100644 --- a/data/maps/BirthIsland_Exterior/scripts.inc +++ b/data/maps/BirthIsland_Exterior/scripts.inc @@ -5,12 +5,12 @@ BirthIsland_Exterior_MapScripts:: @ 8165203 .byte 0 BirthIsland_Exterior_OnReturnToField:: @ 8165213 - special Special_SetDeoxysTriangleObjectPal + special SetDeoxysTrianglePalette end BirthIsland_Exterior_OnTransition:: @ 8165217 setworldmapflag FLAG_WORLD_MAP_BIRTH_ISLAND_EXTERIOR - setvar VAR_OBJ_GFX_ID_0, OBJECT_EVENT_GFX_DEOXYS_N + setvar VAR_OBJ_GFX_ID_0, OBJ_EVENT_GFX_DEOXYS_N setvar VAR_DEOXYS_INTERACTION_STEP_COUNTER, 0 setvar VAR_DEOXYS_INTERACTION_NUM, 0 call_if_set FLAG_FOUGHT_DEOXYS, BirthIsland_Exterior_EventScript_HideDeoxysAndPuzzle @@ -33,7 +33,7 @@ BirthIsland_Exterior_OnResume:: @ 8165253 end BirthIsland_Exterior_EventScript_TryRemoveDeoxys:: @ 816525D - specialvar VAR_RESULT, Special_GetBattleOutcome + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne EventScript_Return removeobject 2 @@ -44,7 +44,7 @@ BirthIsland_Exterior_EventScript_Triangle:: @ 8165271 faceplayer goto_if_questlog EventScript_ReleaseEnd special sub_8112364 - special DoDeoxysRockInteraction + special DoDeoxysTriangleInteraction waitstate switch VAR_RESULT case 0, BirthIsland_Exterior_EventScript_NotSolved1 @@ -86,10 +86,10 @@ BirthIsland_Exterior_EventScript_Deoxys:: @ 81652C0 setvar VAR_0x8006, ITEM_NONE special CreateObedientEnemyMon setflag FLAG_SYS_SPECIAL_WILD_BATTLE - special Special_StartLegendaryBattle + special StartLegendaryBattle waitstate clearflag FLAG_SYS_SPECIAL_WILD_BATTLE - specialvar VAR_RESULT, Special_GetBattleOutcome + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, B_OUTCOME_WON goto_if_eq BirthIsland_Exterior_EventScript_DefeatedDeoxys compare VAR_RESULT, B_OUTCOME_RAN diff --git a/data/maps/BirthIsland_Harbor/map.json b/data/maps/BirthIsland_Harbor/map.json index bab2d1b5e..7f5ad6124 100644 --- a/data/maps/BirthIsland_Harbor/map.json +++ b/data/maps/BirthIsland_Harbor/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_BIRTH_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SEAGALLOP", + "graphics_id": "OBJ_EVENT_GFX_SEAGALLOP", "x": 8, "y": 9, "elevation": 0, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 8, "y": 6, "elevation": 3, diff --git a/data/maps/CeladonCity/map.json b/data/maps/CeladonCity/map.json index 5a4644854..34395c3f8 100644 --- a/data/maps/CeladonCity/map.json +++ b/data/maps/CeladonCity/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_CELADON_CITY", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_1", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_TOWN", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ROUTE16", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 48, "y": 15, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_EventScript_166CFA", + "script": "CeladonCity_EventScript_RocketGrunt1", "flag": "FLAG_HIDE_CELADON_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_FAT_MAN", + "graphics_id": "OBJ_EVENT_GFX_FAT_MAN", "x": 38, "y": 14, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_EventScript_166CC5", + "script": "CeladonCity_EventScript_FatMan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_POLIWRATH", + "graphics_id": "OBJ_EVENT_GFX_POLIWRATH", "x": 36, "y": 14, "elevation": 3, @@ -60,11 +62,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_EventScript_166CDC", + "script": "CeladonCity_EventScript_Poliwrath", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 11, "y": 18, "elevation": 3, @@ -73,11 +75,11 @@ "movement_range_y": 4, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_EventScript_166C99", + "script": "CeladonCity_EventScript_LittleGirl", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 18, "y": 22, "elevation": 3, @@ -86,11 +88,11 @@ "movement_range_y": 5, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_EventScript_166CAD", + "script": "CeladonCity_EventScript_Woman", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 30, "y": 24, "elevation": 3, @@ -99,11 +101,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_EventScript_166CB6", + "script": "CeladonCity_EventScript_OldMan2", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_2", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_2", "x": 26, "y": 19, "elevation": 3, @@ -116,7 +118,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 38, "y": 31, "elevation": 3, @@ -125,11 +127,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_EventScript_166D03", + "script": "CeladonCity_EventScript_RocketGrunt2", "flag": "FLAG_HIDE_CELADON_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 9, "y": 30, "elevation": 3, @@ -138,11 +140,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_EventScript_166CA2", + "script": "CeladonCity_EventScript_OldMan1", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 52, "y": 22, "elevation": 3, @@ -151,11 +153,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_14" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 40, "y": 35, "elevation": 0, @@ -164,11 +166,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_13" }, { - "graphics_id": "OBJECT_EVENT_GFX_BOY", + "graphics_id": "OBJ_EVENT_GFX_BOY", "x": 25, "y": 10, "elevation": 3, @@ -177,12 +179,13 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_EventScript_166D0C", + "script": "CeladonCity_EventScript_Boy", "flag": "0" }, { - "graphics_id": "65375", - "x": 65529, + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", + "in_connection": true, + "x": -7, "y": 21, "elevation": 7, "movement_type": "MOVEMENT_TYPE_NONE", @@ -194,7 +197,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 5, "y": 3, "elevation": 3, @@ -207,7 +210,7 @@ "flag": "FLAG_HIDE_CELADON_CITY_ETHER" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 47, "y": 24, "elevation": 3, @@ -216,7 +219,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_EventScript_166D15", + "script": "CeladonCity_EventScript_SilphCoScientist", "flag": "FLAG_HIDE_CELADON_ROCKETS" } ], @@ -316,60 +319,68 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 45, "y": 23, "elevation": 0, - "script": "CeladonCity_EventScript_166D5A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_EventScript_TrainerTips2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 38, "y": 23, "elevation": 0, - "script": "CeladonCity_EventScript_166D63" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_EventScript_PrizeExchangeSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 33, "y": 23, "elevation": 0, - "script": "CeladonCity_EventScript_166D6C" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_EventScript_GameCornerSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 22, "y": 18, "elevation": 3, - "script": "CeladonCity_EventScript_166D27" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_EventScript_CitySign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 26, "y": 11, "elevation": 0, - "script": "CeladonCity_EventScript_166D48" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_EventScript_MansionSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 33, "y": 16, "elevation": 0, - "script": "CeladonCity_EventScript_166D1E" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_EventScript_TrainerTips1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 18, "y": 14, "elevation": 3, - "script": "CeladonCity_EventScript_166D51" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_EventScript_DeptStoreSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 16, "y": 31, "elevation": 0, - "script": "CeladonCity_EventScript_166D30" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_EventScript_GymSign" }, { "type": "hidden_item", diff --git a/data/maps/CeladonCity/scripts.inc b/data/maps/CeladonCity/scripts.inc index b27d12178..a7d7eddc4 100644 --- a/data/maps/CeladonCity/scripts.inc +++ b/data/maps/CeladonCity/scripts.inc @@ -6,44 +6,44 @@ CeladonCity_OnTransition:: @ 8166C95 setworldmapflag FLAG_WORLD_MAP_CELADON_CITY end -CeladonCity_EventScript_166C99:: @ 8166C99 - msgbox gUnknown_817FEC3, MSGBOX_NPC +CeladonCity_EventScript_LittleGirl:: @ 8166C99 + msgbox CeladonCity_Text_GotMyKoffingInCinnabar, MSGBOX_NPC end -CeladonCity_EventScript_166CA2:: @ 8166CA2 +CeladonCity_EventScript_OldMan1:: @ 8166CA2 lock - msgbox gUnknown_817FF1C + msgbox CeladonCity_Text_GymIsGreatFullOfWomen release end -CeladonCity_EventScript_166CAD:: @ 8166CAD - msgbox gUnknown_817FF4A, MSGBOX_NPC +CeladonCity_EventScript_Woman:: @ 8166CAD + msgbox CeladonCity_Text_GameCornerIsBadForCitysImage, MSGBOX_NPC end -CeladonCity_EventScript_166CB6:: @ 8166CB6 - msgbox gUnknown_817FFC5, MSGBOX_NPC +CeladonCity_EventScript_OldMan2:: @ 8166CB6 + msgbox CeladonCity_Text_BlewItAllAtSlots, MSGBOX_NPC end CeladonCity_EventScript_SoftboiledTutor:: @ 8166CBF goto EventScript_SoftboiledTutor end -CeladonCity_EventScript_166CC5:: @ 8166CC5 +CeladonCity_EventScript_FatMan:: @ 8166CC5 lock faceplayer - msgbox gUnknown_818001B + msgbox CeladonCity_Text_MyTrustedPalPoliwrath closemessage applymovement 2, Movement_FaceOriginalDirection waitmovement 0 release end -CeladonCity_EventScript_166CDC:: @ 8166CDC +CeladonCity_EventScript_Poliwrath:: @ 8166CDC lock faceplayer waitse playmoncry SPECIES_POLIWRATH, 0 - msgbox gUnknown_8180075 + msgbox CeladonCity_Text_Poliwrath closemessage waitmoncry applymovement 3, Movement_FaceOriginalDirection @@ -51,53 +51,53 @@ CeladonCity_EventScript_166CDC:: @ 8166CDC release end -CeladonCity_EventScript_166CFA:: @ 8166CFA - msgbox gUnknown_81800C2, MSGBOX_NPC +CeladonCity_EventScript_RocketGrunt1:: @ 8166CFA + msgbox CeladonCity_Text_KeepOutOfTeamRocketsWay, MSGBOX_NPC end -CeladonCity_EventScript_166D03:: @ 8166D03 - msgbox gUnknown_818008C, MSGBOX_NPC +CeladonCity_EventScript_RocketGrunt2:: @ 8166D03 + msgbox CeladonCity_Text_GetLostOrIllPunchYou, MSGBOX_NPC end -CeladonCity_EventScript_166D0C:: @ 8166D0C - msgbox gUnknown_8180300, MSGBOX_NPC +CeladonCity_EventScript_Boy:: @ 8166D0C + msgbox CeladonCity_Text_ScaldedTongueOnTea, MSGBOX_NPC end -CeladonCity_EventScript_166D15:: @ 8166D15 - msgbox gUnknown_81804E1, MSGBOX_NPC +CeladonCity_EventScript_SilphCoScientist:: @ 8166D15 + msgbox CeladonCity_Text_SomeoneStoleSilphScope, MSGBOX_NPC end -CeladonCity_EventScript_166D1E:: @ 8166D1E - msgbox gUnknown_81800E1, MSGBOX_SIGN +CeladonCity_EventScript_TrainerTips1:: @ 8166D1E + msgbox CeladonCity_Text_ExplainXAccuracyDireHit, MSGBOX_SIGN end -CeladonCity_EventScript_166D27:: @ 8166D27 - msgbox gUnknown_818017A, MSGBOX_SIGN +CeladonCity_EventScript_CitySign:: @ 8166D27 + msgbox CeladonCity_Text_CitySign, MSGBOX_SIGN end -CeladonCity_EventScript_166D30:: @ 8166D30 +CeladonCity_EventScript_GymSign:: @ 8166D30 lockall famechecker FAMECHECKER_ERIKA, 0 - msgbox gUnknown_81801A2 + msgbox CeladonCity_Text_GymSign releaseall end -CeladonCity_EventScript_166D48:: @ 8166D48 - msgbox gUnknown_81801E5, MSGBOX_SIGN +CeladonCity_EventScript_MansionSign:: @ 8166D48 + msgbox CeladonCity_Text_MansionSign, MSGBOX_SIGN end -CeladonCity_EventScript_166D51:: @ 8166D51 - msgbox gUnknown_81801F5, MSGBOX_SIGN +CeladonCity_EventScript_DeptStoreSign:: @ 8166D51 + msgbox CeladonCity_Text_DeptStoreSign, MSGBOX_SIGN end -CeladonCity_EventScript_166D5A:: @ 8166D5A - msgbox gUnknown_8180224, MSGBOX_SIGN +CeladonCity_EventScript_TrainerTips2:: @ 8166D5A + msgbox CeladonCity_Text_GuardSpecProtectsFromStatus, MSGBOX_SIGN end -CeladonCity_EventScript_166D63:: @ 8166D63 - msgbox gUnknown_81802A4, MSGBOX_SIGN +CeladonCity_EventScript_PrizeExchangeSign:: @ 8166D63 + msgbox CeladonCity_Text_PrizeExchangeSign, MSGBOX_SIGN end -CeladonCity_EventScript_166D6C:: @ 8166D6C - msgbox gUnknown_81802CF, MSGBOX_SIGN +CeladonCity_EventScript_GameCornerSign:: @ 8166D6C + msgbox CeladonCity_Text_GameCornerSign, MSGBOX_SIGN end diff --git a/data/maps/CeladonCity/text.inc b/data/maps/CeladonCity/text.inc index 40f489e3c..a61cdba6d 100644 --- a/data/maps/CeladonCity/text.inc +++ b/data/maps/CeladonCity/text.inc @@ -1,40 +1,40 @@ -gUnknown_817FEC3:: @ 817FEC3 +CeladonCity_Text_GotMyKoffingInCinnabar:: @ 817FEC3 .string "I got my KOFFING in CINNABAR.\p" .string "It's usually nice, but it breathes\n" .string "poison when it's angry.$" -gUnknown_817FF1C:: @ 817FF1C +CeladonCity_Text_GymIsGreatFullOfWomen:: @ 817FF1C .string "Heheh! This GYM is great!\n" .string "It's full of women!$" -gUnknown_817FF4A:: @ 817FF4A +CeladonCity_Text_GameCornerIsBadForCitysImage:: @ 817FF4A .string "CELADON takes pride in its efforts\n" .string "to keep the city beautiful.\p" .string "That's why the new GAME CORNER is\n" .string "bad for our city's image.$" -gUnknown_817FFC5:: @ 817FFC5 +CeladonCity_Text_BlewItAllAtSlots:: @ 817FFC5 .string "Moan…\n" .string "I blew it all at the slots!\p" .string "I knew I should have cashed in my\n" .string "COINS for prizes!$" -gUnknown_818001B:: @ 818001B +CeladonCity_Text_MyTrustedPalPoliwrath:: @ 818001B .string "This is my trusted pal, POLIWRATH.\p" .string "It evolved from a POLIWHIRL when\n" .string "I used a WATER STONE.$" -gUnknown_8180075:: @ 8180075 +CeladonCity_Text_Poliwrath:: @ 8180075 .string "POLIWRATH: Ribi ribit!$" -gUnknown_818008C:: @ 818008C +CeladonCity_Text_GetLostOrIllPunchYou:: @ 818008C .string "What are you staring at?\n" .string "Get lost, or I'll punch you.$" -gUnknown_81800C2:: @ 81800C2 +CeladonCity_Text_KeepOutOfTeamRocketsWay:: @ 81800C2 .string "Keep out of TEAM ROCKET's way!$" -gUnknown_81800E1:: @ 81800E1 +CeladonCity_Text_ExplainXAccuracyDireHit:: @ 81800E1 .string "TRAINER TIPS\p" .string "X ACCURACY boosts the accuracy of\n" .string "techniques.\p" @@ -43,23 +43,23 @@ gUnknown_81800E1:: @ 81800E1 .string "Get your items at the CELADON\n" .string "DEPT. STORE!$" -gUnknown_818017A:: @ 818017A +CeladonCity_Text_CitySign:: @ 818017A .string "CELADON CITY\n" .string "The City of Rainbow Dreams$" -gUnknown_81801A2:: @ 81801A2 +CeladonCity_Text_GymSign:: @ 81801A2 .string "CELADON CITY POKéMON GYM\n" .string "LEADER: ERIKA\l" .string "The Nature-Loving Princess!$" -gUnknown_81801E5:: @ 81801E5 +CeladonCity_Text_MansionSign:: @ 81801E5 .string "CELADON MANSION$" -gUnknown_81801F5:: @ 81801F5 +CeladonCity_Text_DeptStoreSign:: @ 81801F5 .string "Find what you need at the\n" .string "CELADON DEPT. STORE!$" -gUnknown_8180224:: @ 8180224 +CeladonCity_Text_GuardSpecProtectsFromStatus:: @ 8180224 .string "TRAINER TIPS\p" .string "GUARD SPEC. protects POKéMON\n" .string "from status-reduction moves during\l" @@ -67,15 +67,15 @@ gUnknown_8180224:: @ 8180224 .string "Get your items at the\n" .string "CELADON DEPT. STORE!$" -gUnknown_81802A4:: @ 81802A4 +CeladonCity_Text_PrizeExchangeSign:: @ 81802A4 .string "COINS exchanged for prizes!\n" .string "PRIZE EXCHANGE$" -gUnknown_81802CF:: @ 81802CF +CeladonCity_Text_GameCornerSign:: @ 81802CF .string "ROCKET GAME CORNER\n" .string "The playground for grown-ups!$" -gUnknown_8180300:: @ 8180300 +CeladonCity_Text_ScaldedTongueOnTea:: @ 8180300 .string "Aaaagh, ow…\n" .string "I scalded my tongue!\p" .string "This nice old lady in the MANSION\n" @@ -104,7 +104,7 @@ Text_SoftboiledWhichMon:: @ 8180484 Text_SoftboiledTaught:: @ 81804C4 .string "I wish you the best of luck!$" -gUnknown_81804E1:: @ 81804E1 +CeladonCity_Text_SomeoneStoleSilphScope:: @ 81804E1 .string "Oh, what am I to do…\p" .string "Someone stole our SILPH SCOPE.\p" .string "The thief came running this way,\n" diff --git a/data/maps/CeladonCity_Condominiums_1F/map.json b/data/maps/CeladonCity_Condominiums_1F/map.json index a6f29e9d7..0d4d0c599 100644 --- a/data/maps/CeladonCity_Condominiums_1F/map.json +++ b/data/maps/CeladonCity_Condominiums_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CELADON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_MEOWTH", + "graphics_id": "OBJ_EVENT_GFX_MEOWTH", "x": 1, "y": 9, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_Condominiums_1F_EventScript_16C38E", + "script": "CeladonCity_Condominiums_1F_EventScript_Meowth", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CLEFAIRY", + "graphics_id": "OBJ_EVENT_GFX_CLEFAIRY", "x": 5, "y": 13, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_Condominiums_1F_EventScript_16C3A1", + "script": "CeladonCity_Condominiums_1F_EventScript_Clefairy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_NIDORAN_F", + "graphics_id": "OBJ_EVENT_GFX_NIDORAN_F", "x": 5, "y": 8, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_Condominiums_1F_EventScript_16C3B4", + "script": "CeladonCity_Condominiums_1F_EventScript_Nidoran", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_WOMAN", + "graphics_id": "OBJ_EVENT_GFX_OLD_WOMAN", "x": 2, "y": 9, "elevation": 3, @@ -62,7 +64,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_Condominiums_1F_EventScript_16C321", + "script": "CeladonCity_Condominiums_1F_EventScript_TeaWoman", "flag": "0" } ], @@ -113,18 +115,20 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 12, "elevation": 0, - "script": "CeladonCity_Condominiums_1F_EventScript_16C3C7" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_Condominiums_1F_EventScript_SuiteSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 7, "y": 12, "elevation": 0, - "script": "CeladonCity_Condominiums_1F_EventScript_16C3C7" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_Condominiums_1F_EventScript_SuiteSign" } ] } diff --git a/data/maps/CeladonCity_Condominiums_1F/scripts.inc b/data/maps/CeladonCity_Condominiums_1F/scripts.inc index 41912748b..0703d8cc4 100644 --- a/data/maps/CeladonCity_Condominiums_1F/scripts.inc +++ b/data/maps/CeladonCity_Condominiums_1F/scripts.inc @@ -1,63 +1,63 @@ CeladonCity_Condominiums_1F_MapScripts:: @ 816C320 .byte 0 -CeladonCity_Condominiums_1F_EventScript_16C321:: @ 816C321 +CeladonCity_Condominiums_1F_EventScript_TeaWoman:: @ 816C321 lock faceplayer - goto_if_set FLAG_TALKED_TO_TEA_LADY_AFTER_HOF, EventScript_16C36A - goto_if_set FLAG_SYS_GAME_CLEAR, EventScript_16C374 - goto_if_set FLAG_GOT_TEA, EventScript_16C36A - msgbox gUnknown_81960C9 + goto_if_set FLAG_TALKED_TO_TEA_LADY_AFTER_HOF, CeladonCity_Condominiums_1F_EventScript_TeaWomanAfterTea + goto_if_set FLAG_SYS_GAME_CLEAR, CeladonCity_Condominiums_1F_EventScript_TeaWomanMentionDaisy + goto_if_set FLAG_GOT_TEA, CeladonCity_Condominiums_1F_EventScript_TeaWomanAfterTea + msgbox CeladonCity_Condominiums_1F_Text_TryThisDrinkInstead setflag FLAG_GOT_TEA giveitem ITEM_TEA compare VAR_RESULT, FALSE goto_if_eq EventScript_BagIsFull - msgbox gUnknown_8196109 + msgbox CeladonCity_Condominiums_1F_Text_NothingBeatsThirstLikeTea release end -EventScript_16C36A:: @ 816C36A - msgbox gUnknown_8196148 +CeladonCity_Condominiums_1F_EventScript_TeaWomanAfterTea:: @ 816C36A + msgbox CeladonCity_Condominiums_1F_Text_MyDearMonsKeepMeCompany release end -EventScript_16C374:: @ 816C374 +CeladonCity_Condominiums_1F_EventScript_TeaWomanMentionDaisy:: @ 816C374 famechecker FAMECHECKER_DAISY, 4 setflag FLAG_TALKED_TO_TEA_LADY_AFTER_HOF - msgbox gUnknown_8196188 + msgbox CeladonCity_Condominiums_1F_Text_DaisyComesToBuyTea release end -CeladonCity_Condominiums_1F_EventScript_16C38E:: @ 816C38E +CeladonCity_Condominiums_1F_EventScript_Meowth:: @ 816C38E lock faceplayer waitse playmoncry SPECIES_MEOWTH, 0 - msgbox gUnknown_81960BB + msgbox CeladonCity_Condominiums_1F_Text_Meowth waitmoncry release end -CeladonCity_Condominiums_1F_EventScript_16C3A1:: @ 816C3A1 +CeladonCity_Condominiums_1F_EventScript_Clefairy:: @ 816C3A1 lock faceplayer waitse playmoncry SPECIES_CLEFAIRY, 0 - msgbox gUnknown_819625B + msgbox CeladonCity_Condominiums_1F_Text_Clefairy waitmoncry release end -CeladonCity_Condominiums_1F_EventScript_16C3B4:: @ 816C3B4 +CeladonCity_Condominiums_1F_EventScript_Nidoran:: @ 816C3B4 lock faceplayer waitse playmoncry SPECIES_NIDORAN_F, 0 - msgbox gUnknown_8196272 + msgbox CeladonCity_Condominiums_1F_Text_Nidoran waitmoncry release end -CeladonCity_Condominiums_1F_EventScript_16C3C7:: @ 816C3C7 - msgbox gUnknown_8196287, MSGBOX_SIGN +CeladonCity_Condominiums_1F_EventScript_SuiteSign:: @ 816C3C7 + msgbox CeladonCity_Condominiums_1F_Text_ManagersSuite, MSGBOX_SIGN end diff --git a/data/maps/CeladonCity_Condominiums_1F/text.inc b/data/maps/CeladonCity_Condominiums_1F/text.inc index 7cfb9c2a1..fa0512f76 100644 --- a/data/maps/CeladonCity_Condominiums_1F/text.inc +++ b/data/maps/CeladonCity_Condominiums_1F/text.inc @@ -1,21 +1,21 @@ -gUnknown_81960BB:: @ 81960BB +CeladonCity_Condominiums_1F_Text_Meowth:: @ 81960BB .string "MEOWTH: Meow!$" -gUnknown_81960C9:: @ 81960C9 +CeladonCity_Condominiums_1F_Text_TryThisDrinkInstead:: @ 81960C9 .string "You shouldn't spend all your money\n" .string "on drinks.\p" .string "Try this instead.$" -gUnknown_8196109:: @ 8196109 +CeladonCity_Condominiums_1F_Text_NothingBeatsThirstLikeTea:: @ 8196109 .string "Nothing beats thirst like some hot\n" .string "TEA.\p" .string "It really is the best.$" -gUnknown_8196148:: @ 8196148 +CeladonCity_Condominiums_1F_Text_MyDearMonsKeepMeCompany:: @ 8196148 .string "My dear POKéMON keep me company.\n" .string "MEOWTH even brings money home!$" -gUnknown_8196188:: @ 8196188 +CeladonCity_Condominiums_1F_Text_DaisyComesToBuyTea:: @ 8196188 .string "Oh, hello, dearie.\n" .string "Did you enjoy my TEA?\p" .string "By the way, dear. Are you, by any\n" @@ -25,13 +25,13 @@ gUnknown_8196188:: @ 8196188 .string "She visits the CELADON DEPT. STORE\n" .string "to buy some TEA.$" -gUnknown_819625B:: @ 819625B +CeladonCity_Condominiums_1F_Text_Clefairy:: @ 819625B .string "CLEFAIRY: Pi pippippi!$" -gUnknown_8196272:: @ 8196272 +CeladonCity_Condominiums_1F_Text_Nidoran:: @ 8196272 .string "NIDORAN♀: Kya kyaoo!$" -gUnknown_8196287:: @ 8196287 +CeladonCity_Condominiums_1F_Text_ManagersSuite:: @ 8196287 .string "CELADON MANSION\n" .string "Manager's Suite$" diff --git a/data/maps/CeladonCity_Condominiums_2F/map.json b/data/maps/CeladonCity_Condominiums_2F/map.json index 33248a953..60931f16b 100644 --- a/data/maps/CeladonCity_Condominiums_2F/map.json +++ b/data/maps/CeladonCity_Condominiums_2F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_CELADON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_Condominiums_2F_EventScript_1ACE9D", + "script": "CeladonCity_Condominiums_2F_EventScript_PokemonJournalErika", "flag": "FLAG_HIDE_FAME_CHECKER_ERIKA_JOURNALS" }, { @@ -36,7 +38,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_Condominiums_2F_EventScript_1ACE9D", + "script": "CeladonCity_Condominiums_2F_EventScript_PokemonJournalErika", "flag": "FLAG_HIDE_FAME_CHECKER_ERIKA_JOURNALS" } ], @@ -73,18 +75,20 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 12, "elevation": 0, - "script": "CeladonCity_Condominiums_2F_EventScript_16C3D1" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_Condominiums_2F_EventScript_MeetingRoomSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 7, "y": 12, "elevation": 0, - "script": "CeladonCity_Condominiums_2F_EventScript_16C3D1" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_Condominiums_2F_EventScript_MeetingRoomSign" } ] } diff --git a/data/maps/CeladonCity_Condominiums_2F/scripts.inc b/data/maps/CeladonCity_Condominiums_2F/scripts.inc index 53c0a90c0..9d952f2d7 100644 --- a/data/maps/CeladonCity_Condominiums_2F/scripts.inc +++ b/data/maps/CeladonCity_Condominiums_2F/scripts.inc @@ -1,6 +1,6 @@ CeladonCity_Condominiums_2F_MapScripts:: @ 816C3D0 .byte 0 -CeladonCity_Condominiums_2F_EventScript_16C3D1:: @ 816C3D1 - msgbox gUnknown_81962A7, MSGBOX_SIGN +CeladonCity_Condominiums_2F_EventScript_MeetingRoomSign:: @ 816C3D1 + msgbox CeladonCity_Condominiums_2F_Text_GameFreakMeetingRoom, MSGBOX_SIGN end diff --git a/data/maps/CeladonCity_Condominiums_2F/text.inc b/data/maps/CeladonCity_Condominiums_2F/text.inc index 1913e1529..30ab60a1d 100644 --- a/data/maps/CeladonCity_Condominiums_2F/text.inc +++ b/data/maps/CeladonCity_Condominiums_2F/text.inc @@ -1,3 +1,3 @@ -gUnknown_81962A7:: @ 81962A7 +CeladonCity_Condominiums_2F_Text_GameFreakMeetingRoom:: @ 81962A7 .string "GAME FREAK Meeting Room$" diff --git a/data/maps/CeladonCity_Condominiums_3F/map.json b/data/maps/CeladonCity_Condominiums_3F/map.json index e491e8112..303754f6b 100644 --- a/data/maps/CeladonCity_Condominiums_3F/map.json +++ b/data/maps/CeladonCity_Condominiums_3F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CELADON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 0, "y": 10, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_Condominiums_3F_EventScript_16C3DB", + "script": "CeladonCity_Condominiums_3F_EventScript_Programmer", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 3, "y": 8, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_Condominiums_3F_EventScript_16C3F6", + "script": "CeladonCity_Condominiums_3F_EventScript_Designer", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SUPER_NERD", + "graphics_id": "OBJ_EVENT_GFX_SUPER_NERD", "x": 4, "y": 10, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_Condominiums_3F_EventScript_16C3E4", + "script": "CeladonCity_Condominiums_3F_EventScript_GraphicArtist", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_FAT_MAN", + "graphics_id": "OBJ_EVENT_GFX_FAT_MAN", "x": 0, "y": 13, "elevation": 3, @@ -62,7 +64,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_Condominiums_3F_EventScript_16C3ED", + "script": "CeladonCity_Condominiums_3F_EventScript_Writer", "flag": "0" } ], @@ -99,60 +101,68 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 12, "elevation": 0, - "script": "CeladonCity_Condominiums_3F_EventScript_16C435" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_Condominiums_3F_EventScript_DevelopmentRoomSign" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 1, "y": 9, "elevation": 0, - "script": "CeladonCity_Condominiums_3F_EventScript_16C43E" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", + "script": "CeladonCity_Condominiums_3F_EventScript_Computer1" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 5, "y": 9, "elevation": 0, - "script": "CeladonCity_Condominiums_3F_EventScript_16C447" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", + "script": "CeladonCity_Condominiums_3F_EventScript_Computer2" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 1, "y": 12, "elevation": 0, - "script": "CeladonCity_Condominiums_3F_EventScript_16C450" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", + "script": "CeladonCity_Condominiums_3F_EventScript_Computer3" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 7, "y": 12, "elevation": 0, - "script": "CeladonCity_Condominiums_3F_EventScript_16C435" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_Condominiums_3F_EventScript_DevelopmentRoomSign" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 0, "y": 12, "elevation": 0, - "script": "CeladonCity_Condominiums_3F_EventScript_16C450" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", + "script": "CeladonCity_Condominiums_3F_EventScript_Computer3" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 0, "y": 9, "elevation": 0, - "script": "CeladonCity_Condominiums_3F_EventScript_16C43E" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", + "script": "CeladonCity_Condominiums_3F_EventScript_Computer1" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 4, "y": 9, "elevation": 0, - "script": "CeladonCity_Condominiums_3F_EventScript_16C447" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", + "script": "CeladonCity_Condominiums_3F_EventScript_Computer2" } ] } diff --git a/data/maps/CeladonCity_Condominiums_3F/scripts.inc b/data/maps/CeladonCity_Condominiums_3F/scripts.inc index d7bb14293..655993ac9 100644 --- a/data/maps/CeladonCity_Condominiums_3F/scripts.inc +++ b/data/maps/CeladonCity_Condominiums_3F/scripts.inc @@ -1,54 +1,54 @@ CeladonCity_Condominiums_3F_MapScripts:: @ 816C3DA .byte 0 -CeladonCity_Condominiums_3F_EventScript_16C3DB:: @ 816C3DB - msgbox gUnknown_81962BF, MSGBOX_NPC +CeladonCity_Condominiums_3F_EventScript_Programmer:: @ 816C3DB + msgbox CeladonCity_Condominiums_3F_Text_ImTheProgrammer, MSGBOX_NPC end -CeladonCity_Condominiums_3F_EventScript_16C3E4:: @ 816C3E4 - msgbox gUnknown_81962D7, MSGBOX_NPC +CeladonCity_Condominiums_3F_EventScript_GraphicArtist:: @ 816C3E4 + msgbox CeladonCity_Condominiums_3F_Text_ImTheGraphicArtist, MSGBOX_NPC end -CeladonCity_Condominiums_3F_EventScript_16C3ED:: @ 816C3ED - msgbox gUnknown_81962FB, MSGBOX_NPC +CeladonCity_Condominiums_3F_EventScript_Writer:: @ 816C3ED + msgbox CeladonCity_Condominiums_3F_Text_IWroteTheStory, MSGBOX_NPC end -CeladonCity_Condominiums_3F_EventScript_16C3F6:: @ 816C3F6 +CeladonCity_Condominiums_3F_EventScript_Designer:: @ 816C3F6 lock faceplayer specialvar VAR_RESULT, HasAllKantoMons - compare VAR_RESULT, 1 - goto_if_eq EventScript_16C412 - msgbox gUnknown_8196356 + compare VAR_RESULT, TRUE + goto_if_eq CeladonCity_Condominiums_3F_EventScript_CompletedPokedex + msgbox CeladonCity_Condominiums_3F_Text_ImGameDesignerShowMeFinishedPokedex release end -EventScript_16C412:: @ 816C412 - goto EventScript_16C418 +CeladonCity_Condominiums_3F_EventScript_CompletedPokedex:: @ 816C412 + goto CeladonCity_Condominiums_3F_EventScript_ShowDiploma end -EventScript_16C418:: @ 816C418 - message Text_1963CD +CeladonCity_Condominiums_3F_EventScript_ShowDiploma:: @ 816C418 + message CeladonCity_Condominiums_3F_Text_CompletedPokedexCongratulations waitmessage delay 60 goto_if_questlog EventScript_ReleaseEnd - special Special_ShowDiploma + special ShowDiploma waitstate release end -CeladonCity_Condominiums_3F_EventScript_16C435:: @ 816C435 - msgbox gUnknown_81964A8, MSGBOX_SIGN +CeladonCity_Condominiums_3F_EventScript_DevelopmentRoomSign:: @ 816C435 + msgbox CeladonCity_Condominiums_3F_Text_GameFreakDevelopmentRoom, MSGBOX_SIGN end -CeladonCity_Condominiums_3F_EventScript_16C43E:: @ 816C43E - msgbox gUnknown_819640C, MSGBOX_SIGN +CeladonCity_Condominiums_3F_EventScript_Computer1:: @ 816C43E + msgbox CeladonCity_Condominiums_3F_Text_ItsTheGameProgram, MSGBOX_SIGN end -CeladonCity_Condominiums_3F_EventScript_16C447:: @ 816C447 - msgbox gUnknown_819644B, MSGBOX_SIGN +CeladonCity_Condominiums_3F_EventScript_Computer2:: @ 816C447 + msgbox CeladonCity_Condominiums_3F_Text_SomeonesPlayingGame, MSGBOX_SIGN end -CeladonCity_Condominiums_3F_EventScript_16C450:: @ 816C450 - msgbox gUnknown_8196478, MSGBOX_SIGN +CeladonCity_Condominiums_3F_EventScript_Computer3:: @ 816C450 + msgbox CeladonCity_Condominiums_3F_Text_ItsScriptBetterNotLookAtEnding, MSGBOX_SIGN end diff --git a/data/maps/CeladonCity_Condominiums_3F/text.inc b/data/maps/CeladonCity_Condominiums_3F/text.inc index 3f7179dfe..d4f91594a 100644 --- a/data/maps/CeladonCity_Condominiums_3F/text.inc +++ b/data/maps/CeladonCity_Condominiums_3F/text.inc @@ -1,42 +1,42 @@ -gUnknown_81962BF:: @ 81962BF +CeladonCity_Condominiums_3F_Text_ImTheProgrammer:: @ 81962BF .string "Me?\n" .string "I'm the programmer!$" -gUnknown_81962D7:: @ 81962D7 +CeladonCity_Condominiums_3F_Text_ImTheGraphicArtist:: @ 81962D7 .string "I'm the graphic artist!\n" .string "I drew you!$" -gUnknown_81962FB:: @ 81962FB +CeladonCity_Condominiums_3F_Text_IWroteTheStory:: @ 81962FB .string "I wrote the story!\n" .string "Isn't ERIKA cute?\p" .string "I like MISTY a lot, too!\n" .string "Oh, and SABRINA, I like her!$" -gUnknown_8196356:: @ 8196356 +CeladonCity_Condominiums_3F_Text_ImGameDesignerShowMeFinishedPokedex:: @ 8196356 .string "Is that right?\p" .string "I'm the game designer!\p" .string "Filling up your POKéDEX is tough,\n" .string "but don't quit!\p" .string "When you finish, come tell me!$" -Text_1963CD:: @ 81963CD +CeladonCity_Condominiums_3F_Text_CompletedPokedexCongratulations:: @ 81963CD .string "Wow! Excellent!\n" .string "You completed your POKéDEX!\l" .string "Congratulations!\l" .string "…$" -gUnknown_819640C:: @ 819640C +CeladonCity_Condominiums_3F_Text_ItsTheGameProgram:: @ 819640C .string "It's the game program! Messing with\n" .string "it could bug out the game!$" -gUnknown_819644B:: @ 819644B +CeladonCity_Condominiums_3F_Text_SomeonesPlayingGame:: @ 819644B .string "Someone's playing a game instead of\n" .string "working!$" -gUnknown_8196478:: @ 8196478 +CeladonCity_Condominiums_3F_Text_ItsScriptBetterNotLookAtEnding:: @ 8196478 .string "It's the script!\n" .string "Better not look at the ending!$" -gUnknown_81964A8:: @ 81964A8 +CeladonCity_Condominiums_3F_Text_GameFreakDevelopmentRoom:: @ 81964A8 .string "GAME FREAK Development Room$" diff --git a/data/maps/CeladonCity_Condominiums_Roof/map.json b/data/maps/CeladonCity_Condominiums_Roof/map.json index 7680f5f68..c5d43e4ef 100644 --- a/data/maps/CeladonCity_Condominiums_Roof/map.json +++ b/data/maps/CeladonCity_Condominiums_Roof/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_CELADON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ @@ -39,18 +41,20 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 12, "elevation": 0, - "script": "CeladonCity_Condominiums_Roof_EventScript_16C45A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_Condominiums_Roof_EventScript_Sign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 3, "y": 12, "elevation": 0, - "script": "CeladonCity_Condominiums_Roof_EventScript_16C45A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_Condominiums_Roof_EventScript_Sign" } ] } diff --git a/data/maps/CeladonCity_Condominiums_Roof/scripts.inc b/data/maps/CeladonCity_Condominiums_Roof/scripts.inc index 59631d86c..98013e38f 100644 --- a/data/maps/CeladonCity_Condominiums_Roof/scripts.inc +++ b/data/maps/CeladonCity_Condominiums_Roof/scripts.inc @@ -1,6 +1,6 @@ CeladonCity_Condominiums_Roof_MapScripts:: @ 816C459 .byte 0 -CeladonCity_Condominiums_Roof_EventScript_16C45A:: @ 816C45A - msgbox gUnknown_81964C4, MSGBOX_SIGN +CeladonCity_Condominiums_Roof_EventScript_Sign:: @ 816C45A + msgbox CeladonCity_Condominiums_Roof_Text_IKnowEverything, MSGBOX_SIGN end diff --git a/data/maps/CeladonCity_Condominiums_Roof/text.inc b/data/maps/CeladonCity_Condominiums_Roof/text.inc index 02398e70b..f3012fd31 100644 --- a/data/maps/CeladonCity_Condominiums_Roof/text.inc +++ b/data/maps/CeladonCity_Condominiums_Roof/text.inc @@ -1,3 +1,3 @@ -gUnknown_81964C4:: @ 81964C4 +CeladonCity_Condominiums_Roof_Text_IKnowEverything:: @ 81964C4 .string "I KNOW EVERYTHING!$" diff --git a/data/maps/CeladonCity_Condominiums_RoofRoom/map.json b/data/maps/CeladonCity_Condominiums_RoofRoom/map.json index 717bfc4a1..edb1ec528 100644 --- a/data/maps/CeladonCity_Condominiums_RoofRoom/map.json +++ b/data/maps/CeladonCity_Condominiums_RoofRoom/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CELADON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BLACKBELT", + "graphics_id": "OBJ_EVENT_GFX_BLACKBELT", "x": 3, "y": 5, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_Condominiums_RoofRoom_EventScript_16C464", + "script": "CeladonCity_Condominiums_RoofRoom_EventScript_BlackBelt", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 7, "y": 3, "elevation": 0, @@ -36,7 +38,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_Condominiums_RoofRoom_EventScript_16C46D", + "script": "CeladonCity_Condominiums_RoofRoom_EventScript_EeveeBall", "flag": "FLAG_HIDE_EEVEE_BALL" } ], @@ -66,25 +68,28 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 1, "elevation": 0, - "script": "CeladonCity_Condominiums_RoofRoom_EventScript_16C522" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_Condominiums_RoofRoom_EventScript_Blackboard" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 1, "elevation": 0, - "script": "CeladonCity_Condominiums_RoofRoom_EventScript_16C522" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_Condominiums_RoofRoom_EventScript_Blackboard" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 4, "elevation": 0, - "script": "CeladonCity_Condominiums_RoofRoom_EventScript_16C519" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_Condominiums_RoofRoom_EventScript_TMsPamphlet" } ] } diff --git a/data/maps/CeladonCity_Condominiums_RoofRoom/scripts.inc b/data/maps/CeladonCity_Condominiums_RoofRoom/scripts.inc index 73c55afd8..3f3363674 100644 --- a/data/maps/CeladonCity_Condominiums_RoofRoom/scripts.inc +++ b/data/maps/CeladonCity_Condominiums_RoofRoom/scripts.inc @@ -1,109 +1,109 @@ CeladonCity_Condominiums_RoofRoom_MapScripts:: @ 816C463 .byte 0 -CeladonCity_Condominiums_RoofRoom_EventScript_16C464:: @ 816C464 - msgbox gUnknown_81964D7, MSGBOX_NPC +CeladonCity_Condominiums_RoofRoom_EventScript_BlackBelt:: @ 816C464 + msgbox CeladonCity_Condominiums_RoofRoom_Text_TheresNothingIDontKnow, MSGBOX_NPC end -CeladonCity_Condominiums_RoofRoom_EventScript_16C46D:: @ 816C46D +CeladonCity_Condominiums_RoofRoom_EventScript_EeveeBall:: @ 816C46D lock faceplayer setvar VAR_TEMP_1, SPECIES_EEVEE givemon SPECIES_EEVEE, 25, ITEM_NONE compare VAR_RESULT, 0 - goto_if_eq EventScript_16C4A6 + goto_if_eq CeladonCity_Condominiums_RoofRoom_EventScript_GetEeeveeParty compare VAR_RESULT, 1 - goto_if_eq EventScript_16C4DA + goto_if_eq CeladonCity_Condominiums_RoofRoom_EventScript_GetEeeveePC compare VAR_RESULT, 2 goto_if_eq EventScript_NoMoreRoomForPokemon release end -EventScript_16C4A6:: @ 816C4A6 +CeladonCity_Condominiums_RoofRoom_EventScript_GetEeeveeParty:: @ 816C4A6 removeobject 2 playfanfare MUS_FANFA1 - message Text_196591 + message CeladonCity_Condominiums_RoofRoom_Text_ObtainedAnEevee waitmessage waitfanfare getspeciesname 0, SPECIES_EEVEE msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_16C514 + goto_if_eq CeladonCity_Condominiums_RoofRoom_EventScript_SetGotEevee call EventScript_GetGiftMonPartySlot call EventScript_ChangePokemonNickname - goto EventScript_16C514 + goto CeladonCity_Condominiums_RoofRoom_EventScript_SetGotEevee end -EventScript_16C4DA:: @ 816C4DA +CeladonCity_Condominiums_RoofRoom_EventScript_GetEeeveePC:: @ 816C4DA removeobject 2 playfanfare MUS_FANFA1 - message Text_196591 + message CeladonCity_Condominiums_RoofRoom_Text_ObtainedAnEevee waitmessage waitfanfare getspeciesname 0, SPECIES_EEVEE msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_16C509 + goto_if_eq CeladonCity_Condominiums_RoofRoom_EventScript_TransferEeveeToPC call EventScript_NameReceivedBoxMon - goto EventScript_16C509 + goto CeladonCity_Condominiums_RoofRoom_EventScript_TransferEeveeToPC end -EventScript_16C509:: @ 816C509 +CeladonCity_Condominiums_RoofRoom_EventScript_TransferEeveeToPC:: @ 816C509 call EventScript_TransferredToPC - goto EventScript_16C514 + goto CeladonCity_Condominiums_RoofRoom_EventScript_SetGotEevee end -EventScript_16C514:: @ 816C514 +CeladonCity_Condominiums_RoofRoom_EventScript_SetGotEevee:: @ 816C514 setflag FLAG_GOT_EEVEE release end -CeladonCity_Condominiums_RoofRoom_EventScript_16C519:: @ 816C519 - msgbox gUnknown_81967E3, MSGBOX_SIGN +CeladonCity_Condominiums_RoofRoom_EventScript_TMsPamphlet:: @ 816C519 + msgbox CeladonCity_Condominiums_RoofRoom_Text_PamphletOnTMs, MSGBOX_SIGN end -CeladonCity_Condominiums_RoofRoom_EventScript_16C522:: @ 816C522 +CeladonCity_Condominiums_RoofRoom_EventScript_Blackboard:: @ 816C522 lockall - msgbox gUnknown_81965C2 - message Text_1965F4 + msgbox CeladonCity_Condominiums_RoofRoom_Text_WirelessAdapterLecture + message CeladonCity_Condominiums_RoofRoom_Text_ReadWhichHeading waitmessage setvar VAR_0x8004, 4 multichoice 0, 0, MULTICHOICE_LINKED_DIRECT_UNION, FALSE switch VAR_RESULT - case 0, EventScript_16C5C0 - case 1, EventScript_16C5CE - case 2, EventScript_16C5DC - case 3, EventScript_16C5EA - case 127, EventScript_16C5EA + case 0, CeladonCity_Condominiums_RoofRoom_EventScript_WirelessClub + case 1, CeladonCity_Condominiums_RoofRoom_EventScript_DirectCorner + case 2, CeladonCity_Condominiums_RoofRoom_EventScript_UnionRoom + case 3, CeladonCity_Condominiums_RoofRoom_EventScript_ExitBlackboard + case 127, CeladonCity_Condominiums_RoofRoom_EventScript_ExitBlackboard end -EventScript_16C578:: @ 816C578 - message Text_1965F4 +CeladonCity_Condominiums_RoofRoom_EventScript_ReadAnotherHeading:: @ 816C578 + message CeladonCity_Condominiums_RoofRoom_Text_ReadWhichHeading waitmessage multichoice 0, 0, MULTICHOICE_LINKED_DIRECT_UNION, FALSE switch VAR_RESULT - case 0, EventScript_16C5C0 - case 1, EventScript_16C5CE - case 2, EventScript_16C5DC - case 3, EventScript_16C5EA - case 127, EventScript_16C5EA + case 0, CeladonCity_Condominiums_RoofRoom_EventScript_WirelessClub + case 1, CeladonCity_Condominiums_RoofRoom_EventScript_DirectCorner + case 2, CeladonCity_Condominiums_RoofRoom_EventScript_UnionRoom + case 3, CeladonCity_Condominiums_RoofRoom_EventScript_ExitBlackboard + case 127, CeladonCity_Condominiums_RoofRoom_EventScript_ExitBlackboard end -EventScript_16C5C0:: @ 816C5C0 - msgbox gUnknown_8196617 - goto EventScript_16C578 +CeladonCity_Condominiums_RoofRoom_EventScript_WirelessClub:: @ 816C5C0 + msgbox CeladonCity_Condominiums_RoofRoom_Text_ExplainWirelessClub + goto CeladonCity_Condominiums_RoofRoom_EventScript_ReadAnotherHeading end -EventScript_16C5CE:: @ 816C5CE - msgbox gUnknown_8196695 - goto EventScript_16C578 +CeladonCity_Condominiums_RoofRoom_EventScript_DirectCorner:: @ 816C5CE + msgbox CeladonCity_Condominiums_RoofRoom_Text_ExplainDirectCorner + goto CeladonCity_Condominiums_RoofRoom_EventScript_ReadAnotherHeading end -EventScript_16C5DC:: @ 816C5DC - msgbox gUnknown_819673C - goto EventScript_16C578 +CeladonCity_Condominiums_RoofRoom_EventScript_UnionRoom:: @ 816C5DC + msgbox CeladonCity_Condominiums_RoofRoom_Text_ExplainUnionRoom + goto CeladonCity_Condominiums_RoofRoom_EventScript_ReadAnotherHeading end -EventScript_16C5EA:: @ 816C5EA +CeladonCity_Condominiums_RoofRoom_EventScript_ExitBlackboard:: @ 816C5EA releaseall end diff --git a/data/maps/CeladonCity_Condominiums_RoofRoom/text.inc b/data/maps/CeladonCity_Condominiums_RoofRoom/text.inc index bb09c8ce3..9e43f06ce 100644 --- a/data/maps/CeladonCity_Condominiums_RoofRoom/text.inc +++ b/data/maps/CeladonCity_Condominiums_RoofRoom/text.inc @@ -1,4 +1,4 @@ -gUnknown_81964D7:: @ 81964D7 +CeladonCity_Condominiums_RoofRoom_Text_TheresNothingIDontKnow:: @ 81964D7 .string "There is nothing that I don't know,\n" .string "like I wrote on the blackboard.\p" .string "I know about the world of POKéMON\n" @@ -6,27 +6,27 @@ gUnknown_81964D7:: @ 81964D7 .string "Get together with your friends and\n" .string "enjoy trading POKéMON!$" -Text_196591:: @ 8196591 +CeladonCity_Condominiums_RoofRoom_Text_ObtainedAnEevee:: @ 8196591 .string "{PLAYER} obtained an EEVEE!$" -Text_1965A7:: @ 81965A7 +CeladonCity_Condominiums_RoofRoom_Text_BoxIsFull:: @ 81965A7 .string "ポケモンが いっぱいだ\n" .string "ボックスを かえて きなさい$" -gUnknown_81965C2:: @ 81965C2 +CeladonCity_Condominiums_RoofRoom_Text_WirelessAdapterLecture:: @ 81965C2 .string "POKéMON Lecture\p" .string "Playing with the Wireless Adapter$" -Text_1965F4:: @ 81965F4 +CeladonCity_Condominiums_RoofRoom_Text_ReadWhichHeading:: @ 81965F4 .string "Which heading do you want to read?$" -gUnknown_8196617:: @ 8196617 +CeladonCity_Condominiums_RoofRoom_Text_ExplainWirelessClub:: @ 8196617 .string "The POKéMON WIRELESS CLUB is\n" .string "upstairs at any POKéMON CENTER.\p" .string "Visit one to link up with friend(s)\n" .string "using your Wireless Adapter.$" -gUnknown_8196695:: @ 8196695 +CeladonCity_Condominiums_RoofRoom_Text_ExplainDirectCorner:: @ 8196695 .string "To link only with a friend, go to\n" .string "the DIRECT CORNER.\p" .string "It is the right counter at the\n" @@ -34,7 +34,7 @@ gUnknown_8196695:: @ 8196695 .string "Go into the TRADE CORNER or the\n" .string "COLOSSEUM with your friend.$" -gUnknown_819673C:: @ 819673C +CeladonCity_Condominiums_RoofRoom_Text_ExplainUnionRoom:: @ 819673C .string "To link and communicate with\n" .string "anyone, go to the UNION ROOM.\p" .string "It is the left counter at the\n" @@ -42,7 +42,7 @@ gUnknown_819673C:: @ 819673C .string "Go to the UNION ROOM and enjoy\n" .string "meeting other TRAINERS.$" -gUnknown_81967E3:: @ 81967E3 +CeladonCity_Condominiums_RoofRoom_Text_PamphletOnTMs:: @ 81967E3 .string "It's a pamphlet on TMs.\p" .string "… …\p" .string "There are fifty TMs in all.\p" diff --git a/data/maps/CeladonCity_DepartmentStore_1F/map.json b/data/maps/CeladonCity_DepartmentStore_1F/map.json index afa57c1aa..6cff44808 100644 --- a/data/maps/CeladonCity_DepartmentStore_1F/map.json +++ b/data/maps/CeladonCity_DepartmentStore_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CELADON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 4, - "elevator_flag": 1, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": true, + "floor_number": 1, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_F", + "graphics_id": "OBJ_EVENT_GFX_WORKER_F", "x": 6, "y": 10, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_DepartmentStore_1F_EventScript_16BAD9", + "script": "CeladonCity_DepartmentStore_1F_EventScript_Receptionist", "flag": "0" } ], @@ -88,18 +90,20 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 9, "y": 11, "elevation": 0, - "script": "CeladonCity_DepartmentStore_1F_EventScript_16BAE2" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_DepartmentStore_1F_EventScript_LayoutSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 1, "elevation": 0, - "script": "CeladonCity_DepartmentStore_1F_EventScript_16BAEB" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_DepartmentStore_1F_EventScript_FloorSign" } ] } diff --git a/data/maps/CeladonCity_DepartmentStore_1F/scripts.inc b/data/maps/CeladonCity_DepartmentStore_1F/scripts.inc index 4e5bcc05e..08aa687f8 100644 --- a/data/maps/CeladonCity_DepartmentStore_1F/scripts.inc +++ b/data/maps/CeladonCity_DepartmentStore_1F/scripts.inc @@ -1,14 +1,14 @@ CeladonCity_DepartmentStore_1F_MapScripts:: @ 816BAD8 .byte 0 -CeladonCity_DepartmentStore_1F_EventScript_16BAD9:: @ 816BAD9 - msgbox gUnknown_81954DD, MSGBOX_NPC +CeladonCity_DepartmentStore_1F_EventScript_Receptionist:: @ 816BAD9 + msgbox CeladonCity_DepartmentStore_1F_Text_WelcomeToDeptStore, MSGBOX_NPC end -CeladonCity_DepartmentStore_1F_EventScript_16BAE2:: @ 816BAE2 - msgbox gUnknown_8195537, MSGBOX_SIGN +CeladonCity_DepartmentStore_1F_EventScript_LayoutSign:: @ 816BAE2 + msgbox CeladonCity_DepartmentStore_1F_Text_FloorDescriptions, MSGBOX_SIGN end -CeladonCity_DepartmentStore_1F_EventScript_16BAEB:: @ 816BAEB - msgbox gUnknown_81955B3, MSGBOX_SIGN +CeladonCity_DepartmentStore_1F_EventScript_FloorSign:: @ 816BAEB + msgbox CeladonCity_DepartmentStore_1F_Text_ServiceCounter, MSGBOX_SIGN end diff --git a/data/maps/CeladonCity_DepartmentStore_1F/text.inc b/data/maps/CeladonCity_DepartmentStore_1F/text.inc index e78a8c6d2..f1d1877e4 100644 --- a/data/maps/CeladonCity_DepartmentStore_1F/text.inc +++ b/data/maps/CeladonCity_DepartmentStore_1F/text.inc @@ -1,10 +1,10 @@ -gUnknown_81954DD:: @ 81954DD +CeladonCity_DepartmentStore_1F_Text_WelcomeToDeptStore:: @ 81954DD .string "Hello!\n" .string "Welcome to CELADON DEPT. STORE.\p" .string "The board on the right describes\n" .string "the store layout.$" -gUnknown_8195537:: @ 8195537 +CeladonCity_DepartmentStore_1F_Text_FloorDescriptions:: @ 8195537 .string "1F: SERVICE COUNTER\p" .string "2F: TRAINER'S MARKET\p" .string "3F: TV GAME SHOP\p" @@ -12,6 +12,6 @@ gUnknown_8195537:: @ 8195537 .string "5F: DRUGSTORE\p" .string "ROOFTOP SQUARE: VENDING MACHINES$" -gUnknown_81955B3:: @ 81955B3 +CeladonCity_DepartmentStore_1F_Text_ServiceCounter:: @ 81955B3 .string "1F: SERVICE COUNTER$" diff --git a/data/maps/CeladonCity_DepartmentStore_2F/map.json b/data/maps/CeladonCity_DepartmentStore_2F/map.json index fdb27ab7e..589eda654 100644 --- a/data/maps/CeladonCity_DepartmentStore_2F/map.json +++ b/data/maps/CeladonCity_DepartmentStore_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CELADON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 4, - "elevator_flag": 2, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": true, + "floor_number": 2, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 5, "y": 10, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_DepartmentStore_2F_EventScript_16BAFE", + "script": "CeladonCity_DepartmentStore_2F_EventScript_Lass", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CLERK", + "graphics_id": "OBJ_EVENT_GFX_CLERK", "x": 1, "y": 8, "elevation": 0, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_DepartmentStore_2F_EventScript_16BB10", + "script": "CeladonCity_DepartmentStore_2F_EventScript_ClerkItems", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CLERK", + "graphics_id": "OBJ_EVENT_GFX_CLERK", "x": 1, "y": 6, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_DepartmentStore_2F_EventScript_16BB4E", + "script": "CeladonCity_DepartmentStore_2F_EventScript_ClerkTMs", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_1", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_1", "x": 11, "y": 6, "elevation": 3, @@ -62,7 +64,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_DepartmentStore_2F_EventScript_1AD053", + "script": "CeladonCity_DepartmentStore_2F_EventScript_Woman", "flag": "FLAG_HIDE_POSTGAME_GOSSIPERS" } ], @@ -92,11 +94,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 1, "elevation": 0, - "script": "CeladonCity_DepartmentStore_2F_EventScript_16BB07" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_DepartmentStore_2F_EventScript_FloorSign" } ] } diff --git a/data/maps/CeladonCity_DepartmentStore_2F/scripts.inc b/data/maps/CeladonCity_DepartmentStore_2F/scripts.inc index 24d4771b2..f7e89886d 100644 --- a/data/maps/CeladonCity_DepartmentStore_2F/scripts.inc +++ b/data/maps/CeladonCity_DepartmentStore_2F/scripts.inc @@ -1,31 +1,31 @@ CeladonCity_DepartmentStore_2F_MapScripts:: @ 816BAF4 .byte 0 -CeladonCity_DepartmentStore_2F_EventScript_16BAF5:: @ 816BAF5 - msgbox gUnknown_81955C7, MSGBOX_NPC +CeladonCity_DepartmentStore_2F_EventScript_UnusedNPC:: @ 816BAF5 + msgbox CeladonCity_DepartmentStore_2F_Text_SuperRepelMorePowerfulRepel, MSGBOX_NPC end -CeladonCity_DepartmentStore_2F_EventScript_16BAFE:: @ 816BAFE - msgbox gUnknown_819560F, MSGBOX_NPC +CeladonCity_DepartmentStore_2F_EventScript_Lass:: @ 816BAFE + msgbox CeladonCity_DepartmentStore_2F_Text_BuyReviveForLongOutings, MSGBOX_NPC end -CeladonCity_DepartmentStore_2F_EventScript_16BB07:: @ 816BB07 - msgbox gUnknown_8195638, MSGBOX_SIGN +CeladonCity_DepartmentStore_2F_EventScript_FloorSign:: @ 816BB07 + msgbox CeladonCity_DepartmentStore_2F_Text_FloorSign, MSGBOX_SIGN end -CeladonCity_DepartmentStore_2F_EventScript_16BB10:: @ 816BB10 +CeladonCity_DepartmentStore_2F_EventScript_ClerkItems:: @ 816BB10 goto_if_questlog EventScript_ReleaseEnd lock faceplayer message Text_MayIHelpYou waitmessage - pokemart Items_16BB38 + pokemart CeladonCity_DepartmentStore_2F_Items msgbox Text_PleaseComeAgain release end .align 2 -Items_16BB38:: @ 816BB38 +CeladonCity_DepartmentStore_2F_Items:: @ 816BB38 .2byte ITEM_GREAT_BALL .2byte ITEM_SUPER_POTION .2byte ITEM_REVIVE @@ -39,19 +39,19 @@ Items_16BB38:: @ 816BB38 release end -CeladonCity_DepartmentStore_2F_EventScript_16BB4E:: @ 816BB4E +CeladonCity_DepartmentStore_2F_EventScript_ClerkTMs:: @ 816BB4E goto_if_questlog EventScript_ReleaseEnd lock faceplayer message Text_MayIHelpYou waitmessage - pokemart Items_16BB74 + pokemart CeladonCity_DepartmentStore_2F_TMs msgbox Text_PleaseComeAgain release end .align 2 -Items_16BB74:: @ 816BB74 +CeladonCity_DepartmentStore_2F_TMs:: @ 816BB74 .2byte ITEM_TM05 .2byte ITEM_TM15 .2byte ITEM_TM28 diff --git a/data/maps/CeladonCity_DepartmentStore_2F/text.inc b/data/maps/CeladonCity_DepartmentStore_2F/text.inc index 22bf6b36c..77466521a 100644 --- a/data/maps/CeladonCity_DepartmentStore_2F/text.inc +++ b/data/maps/CeladonCity_DepartmentStore_2F/text.inc @@ -1,13 +1,19 @@ -gUnknown_81955C7:: @ 81955C7 +CeladonCity_DepartmentStore_2F_Text_SuperRepelMorePowerfulRepel:: @ 81955C7 .string "SUPER REPEL keeps weak POKéMON at\n" .string "bay…\p" .string "Hmm, it's a more powerful REPEL.$" -gUnknown_819560F:: @ 819560F +CeladonCity_DepartmentStore_2F_Text_BuyReviveForLongOutings:: @ 819560F .string "For long outings, you should buy\n" .string "REVIVE.$" -gUnknown_8195638:: @ 8195638 +CeladonCity_DepartmentStore_2F_Text_FloorSign:: @ 8195638 .string "Top-Grade Items for TRAINERS!\p" .string "2F: TRAINER'S MARKET$" +CeladonCity_DepartmentStore_2F_Text_LanceComesToBuyCapes:: @ 819566B + .string "We have a customer, LANCE, who\n" + .string "occasionally comes.\p" + .string "He always buys capes.\p" + .string "I wonder… Does he have many\n" + .string "identical capes at home?$" diff --git a/data/maps/CeladonCity_DepartmentStore_3F/map.json b/data/maps/CeladonCity_DepartmentStore_3F/map.json index 76bc95d25..e97292c6c 100644 --- a/data/maps/CeladonCity_DepartmentStore_3F/map.json +++ b/data/maps/CeladonCity_DepartmentStore_3F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CELADON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 4, - "elevator_flag": 3, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": true, + "floor_number": 3, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CLERK", + "graphics_id": "OBJ_EVENT_GFX_CLERK", "x": 10, "y": 9, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GBA_KID", + "graphics_id": "OBJ_EVENT_GFX_GBA_KID", "x": 11, "y": 6, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_DepartmentStore_3F_EventScript_16BB8B", + "script": "CeladonCity_DepartmentStore_3F_EventScript_GBAKid1", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GBA_KID", + "graphics_id": "OBJ_EVENT_GFX_GBA_KID", "x": 4, "y": 9, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_DepartmentStore_3F_EventScript_16BB9D", + "script": "CeladonCity_DepartmentStore_3F_EventScript_GBAKid3", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GBA_KID", + "graphics_id": "OBJ_EVENT_GFX_GBA_KID", "x": 1, "y": 9, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_DepartmentStore_3F_EventScript_16BB94", + "script": "CeladonCity_DepartmentStore_3F_EventScript_GBAKid2", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 9, "y": 14, "elevation": 3, @@ -75,7 +77,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_DepartmentStore_3F_EventScript_16BBA6", + "script": "CeladonCity_DepartmentStore_3F_EventScript_LittleGirl", "flag": "0" } ], @@ -105,81 +107,92 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 1, "elevation": 0, - "script": "CeladonCity_DepartmentStore_3F_EventScript_16BBDC" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_DepartmentStore_3F_EventScript_FloorSign" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 2, "y": 8, "elevation": 0, - "script": "CeladonCity_DepartmentStore_3F_EventScript_16BBB8" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", + "script": "CeladonCity_DepartmentStore_3F_EventScript_TV1" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 5, "y": 8, "elevation": 0, - "script": "CeladonCity_DepartmentStore_3F_EventScript_16BBC1" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", + "script": "CeladonCity_DepartmentStore_3F_EventScript_TV2" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 2, "y": 11, "elevation": 0, - "script": "CeladonCity_DepartmentStore_3F_EventScript_16BBCA" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", + "script": "CeladonCity_DepartmentStore_3F_EventScript_TV3" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 5, "y": 11, "elevation": 0, - "script": "CeladonCity_DepartmentStore_3F_EventScript_16BBD3" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", + "script": "CeladonCity_DepartmentStore_3F_EventScript_TV4" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 1, "y": 8, "elevation": 0, - "script": "CeladonCity_DepartmentStore_3F_EventScript_16BBAF" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_DepartmentStore_3F_EventScript_SuperNES" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 1, "y": 11, "elevation": 0, - "script": "CeladonCity_DepartmentStore_3F_EventScript_16BBAF" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_DepartmentStore_3F_EventScript_SuperNES" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 8, "elevation": 0, - "script": "CeladonCity_DepartmentStore_3F_EventScript_16BBAF" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_DepartmentStore_3F_EventScript_SuperNES" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 11, "elevation": 0, - "script": "CeladonCity_DepartmentStore_3F_EventScript_16BBAF" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_DepartmentStore_3F_EventScript_SuperNES" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 2, "y": 4, "elevation": 0, - "script": "CeladonCity_DepartmentStore_3F_EventScript_16BBE5" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", + "script": "CeladonCity_DepartmentStore_3F_EventScript_Poster" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 0, "y": 4, "elevation": 0, - "script": "CeladonCity_DepartmentStore_3F_EventScript_16BBE5" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", + "script": "CeladonCity_DepartmentStore_3F_EventScript_Poster" } ] } diff --git a/data/maps/CeladonCity_DepartmentStore_3F/scripts.inc b/data/maps/CeladonCity_DepartmentStore_3F/scripts.inc index f4faca037..e7af53078 100644 --- a/data/maps/CeladonCity_DepartmentStore_3F/scripts.inc +++ b/data/maps/CeladonCity_DepartmentStore_3F/scripts.inc @@ -5,46 +5,46 @@ CeladonCity_DepartmentStore_3F_EventScript_CounterTutor:: @ 816BB85 goto EventScript_CounterTutor end -CeladonCity_DepartmentStore_3F_EventScript_16BB8B:: @ 816BB8B - msgbox gUnknown_81956E9, MSGBOX_NPC +CeladonCity_DepartmentStore_3F_EventScript_GBAKid1:: @ 816BB8B + msgbox CeladonCity_DepartmentStore_3F_Text_OTStandsForOriginalTrainer, MSGBOX_NPC end -CeladonCity_DepartmentStore_3F_EventScript_16BB94:: @ 816BB94 - msgbox gUnknown_8195769, MSGBOX_NPC +CeladonCity_DepartmentStore_3F_EventScript_GBAKid2:: @ 816BB94 + msgbox CeladonCity_DepartmentStore_3F_Text_BuddyTradingKangaskhanForHaunter, MSGBOX_NPC end -CeladonCity_DepartmentStore_3F_EventScript_16BB9D:: @ 816BB9D - msgbox gUnknown_81957B0, MSGBOX_NPC +CeladonCity_DepartmentStore_3F_EventScript_GBAKid3:: @ 816BB9D + msgbox CeladonCity_DepartmentStore_3F_Text_HaunterEvolvedOnTrade, MSGBOX_NPC end -CeladonCity_DepartmentStore_3F_EventScript_16BBA6:: @ 816BBA6 - msgbox gUnknown_8195823, MSGBOX_NPC +CeladonCity_DepartmentStore_3F_EventScript_LittleGirl:: @ 816BBA6 + msgbox CeladonCity_DepartmentStore_3F_Text_CanIdentifyTradeMonsByID, MSGBOX_NPC end -CeladonCity_DepartmentStore_3F_EventScript_16BBAF:: @ 816BBAF - msgbox gUnknown_8195863, MSGBOX_SIGN +CeladonCity_DepartmentStore_3F_EventScript_SuperNES:: @ 816BBAF + msgbox CeladonCity_DepartmentStore_3F_Text_ItsSuperNES, MSGBOX_SIGN end -CeladonCity_DepartmentStore_3F_EventScript_16BBB8:: @ 816BBB8 - msgbox gUnknown_8195875, MSGBOX_SIGN +CeladonCity_DepartmentStore_3F_EventScript_TV1:: @ 816BBB8 + msgbox CeladonCity_DepartmentStore_3F_Text_AnRPG, MSGBOX_SIGN end -CeladonCity_DepartmentStore_3F_EventScript_16BBC1:: @ 816BBC1 - msgbox gUnknown_8195897, MSGBOX_SIGN +CeladonCity_DepartmentStore_3F_EventScript_TV2:: @ 816BBC1 + msgbox CeladonCity_DepartmentStore_3F_Text_SportsGame, MSGBOX_SIGN end -CeladonCity_DepartmentStore_3F_EventScript_16BBCA:: @ 816BBCA - msgbox gUnknown_81958B8, MSGBOX_SIGN +CeladonCity_DepartmentStore_3F_EventScript_TV3:: @ 816BBCA + msgbox CeladonCity_DepartmentStore_3F_Text_PuzzleGame, MSGBOX_SIGN end -CeladonCity_DepartmentStore_3F_EventScript_16BBD3:: @ 816BBD3 - msgbox gUnknown_81958D8, MSGBOX_SIGN +CeladonCity_DepartmentStore_3F_EventScript_TV4:: @ 816BBD3 + msgbox CeladonCity_DepartmentStore_3F_Text_FightingGame, MSGBOX_SIGN end -CeladonCity_DepartmentStore_3F_EventScript_16BBDC:: @ 816BBDC - msgbox gUnknown_81958F6, MSGBOX_SIGN +CeladonCity_DepartmentStore_3F_EventScript_FloorSign:: @ 816BBDC + msgbox CeladonCity_DepartmentStore_3F_Text_TVGameShop, MSGBOX_SIGN end -CeladonCity_DepartmentStore_3F_EventScript_16BBE5:: @ 816BBE5 - msgbox gUnknown_8195907, MSGBOX_SIGN +CeladonCity_DepartmentStore_3F_EventScript_Poster:: @ 816BBE5 + msgbox CeladonCity_DepartmentStore_3F_Text_RedGreenBothArePokemon, MSGBOX_SIGN end diff --git a/data/maps/CeladonCity_DepartmentStore_3F/text.inc b/data/maps/CeladonCity_DepartmentStore_3F/text.inc index 7d4db12cc..3533884a5 100644 --- a/data/maps/CeladonCity_DepartmentStore_3F/text.inc +++ b/data/maps/CeladonCity_DepartmentStore_3F/text.inc @@ -1,22 +1,15 @@ -Text_19566B:: @ 819566B - .string "We have a customer, LANCE, who\n" - .string "occasionally comes.\p" - .string "He always buys capes.\p" - .string "I wonder… Does he have many\n" - .string "identical capes at home?$" - -gUnknown_81956E9:: @ 81956E9 +CeladonCity_DepartmentStore_3F_Text_OTStandsForOriginalTrainer:: @ 81956E9 .string "Captured POKéMON are registered\n" .string "with an ID No. and the OT.\p" .string "OT stands for “Original TRAINER” -\n" .string "the TRAINER that caught it first.$" -gUnknown_8195769:: @ 8195769 +CeladonCity_DepartmentStore_3F_Text_BuddyTradingKangaskhanForHaunter:: @ 8195769 .string "All right!\p" .string "My buddy's going to trade me his\n" .string "KANGASKHAN for my HAUNTER!$" -gUnknown_81957B0:: @ 81957B0 +CeladonCity_DepartmentStore_3F_Text_HaunterEvolvedOnTrade:: @ 81957B0 .string "Come on, HAUNTER!\p" .string "I love HAUNTER!\n" .string "I collect them!\p" @@ -24,33 +17,54 @@ gUnknown_81957B0:: @ 81957B0 .string "HAUNTER turned into a different\n" .string "POKéMON while being traded!$" -gUnknown_8195823:: @ 8195823 +CeladonCity_DepartmentStore_3F_Text_CanIdentifyTradeMonsByID:: @ 8195823 .string "You can identify POKéMON you get\n" .string "in trades by their ID Numbers.$" -gUnknown_8195863:: @ 8195863 +CeladonCity_DepartmentStore_3F_Text_ItsSuperNES:: @ 8195863 .string "It's a Super NES.$" -gUnknown_8195875:: @ 8195875 +CeladonCity_DepartmentStore_3F_Text_AnRPG:: @ 8195875 .string "An RPG!\n" .string "There's no time for that!$" -gUnknown_8195897:: @ 8195897 +CeladonCity_DepartmentStore_3F_Text_SportsGame:: @ 8195897 .string "A sports game!\n" .string "Dad'll like that!$" -gUnknown_81958B8:: @ 81958B8 +CeladonCity_DepartmentStore_3F_Text_PuzzleGame:: @ 81958B8 .string "A puzzle game!\n" .string "Looks addictive!$" -gUnknown_81958D8:: @ 81958D8 +CeladonCity_DepartmentStore_3F_Text_FightingGame:: @ 81958D8 .string "A fighting game!\n" .string "Looks tough!$" -gUnknown_81958F6:: @ 81958F6 +CeladonCity_DepartmentStore_3F_Text_TVGameShop:: @ 81958F6 .string "3F: TV GAME SHOP$" -gUnknown_8195907:: @ 8195907 +CeladonCity_DepartmentStore_3F_Text_RedGreenBothArePokemon:: @ 8195907 .string "Red and Green!\n" .string "Both are POKéMON!$" +Text_CounterTeach:: @ 8195928 + .string "Oh, hi!\n" + .string "I finally finished POKéMON.\p" + .string "Not done yet? How about I teach\n" + .string "you a good move?\p" + .string "The move I have in mind is\n" + .string "COUNTER.\p" + .string "Not like the one I'm leaning on,\n" + .string "mind you!$" + +Text_CounterDeclined:: @ 81959CC + .string "You're not interested? Come see\n" + .string "me if you change your mind.$" + +Text_CounterWhichMon:: @ 8195A08 + .string "Which POKéMON should I teach\n" + .string "COUNTER to?$" + +Text_CounterTaught:: @ 8195A31 + .string "Are you using that COUNTER move\n" + .string "I taught your POKéMON?$" diff --git a/data/maps/CeladonCity_DepartmentStore_4F/map.json b/data/maps/CeladonCity_DepartmentStore_4F/map.json index 059ff30e3..f32fa8c70 100644 --- a/data/maps/CeladonCity_DepartmentStore_4F/map.json +++ b/data/maps/CeladonCity_DepartmentStore_4F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CELADON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 4, - "elevator_flag": 4, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": true, + "floor_number": 4, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 6, "y": 6, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_DepartmentStore_4F_EventScript_16BBEF", + "script": "CeladonCity_DepartmentStore_4F_EventScript_Man", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 10, "y": 11, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_DepartmentStore_4F_EventScript_16BBF8", + "script": "CeladonCity_DepartmentStore_4F_EventScript_Youngster", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CLERK", + "graphics_id": "OBJ_EVENT_GFX_CLERK", "x": 3, "y": 13, "elevation": 0, @@ -49,7 +51,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_DepartmentStore_4F_EventScript_16BC0A", + "script": "CeladonCity_DepartmentStore_4F_EventScript_Clerk", "flag": "0" } ], @@ -79,11 +81,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 1, "elevation": 0, - "script": "CeladonCity_DepartmentStore_4F_EventScript_16BC01" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_DepartmentStore_4F_EventScript_FloorSign" } ] } diff --git a/data/maps/CeladonCity_DepartmentStore_4F/scripts.inc b/data/maps/CeladonCity_DepartmentStore_4F/scripts.inc index f04968b1e..e9aba025a 100644 --- a/data/maps/CeladonCity_DepartmentStore_4F/scripts.inc +++ b/data/maps/CeladonCity_DepartmentStore_4F/scripts.inc @@ -1,31 +1,31 @@ CeladonCity_DepartmentStore_4F_MapScripts:: @ 816BBEE .byte 0 -CeladonCity_DepartmentStore_4F_EventScript_16BBEF:: @ 816BBEF - msgbox gUnknown_8195A68, MSGBOX_NPC +CeladonCity_DepartmentStore_4F_EventScript_Man:: @ 816BBEF + msgbox CeladonCity_DepartmentStore_4F_Text_GettingPokeDollAsPresent, MSGBOX_NPC end -CeladonCity_DepartmentStore_4F_EventScript_16BBF8:: @ 816BBF8 - msgbox gUnknown_8195AC9, MSGBOX_NPC +CeladonCity_DepartmentStore_4F_EventScript_Youngster:: @ 816BBF8 + msgbox CeladonCity_DepartmentStore_4F_Text_CanRunAwayWithPokeDoll, MSGBOX_NPC end -CeladonCity_DepartmentStore_4F_EventScript_16BC01:: @ 816BC01 - msgbox gUnknown_8195B5B, MSGBOX_SIGN +CeladonCity_DepartmentStore_4F_EventScript_FloorSign:: @ 816BC01 + msgbox CeladonCity_DepartmentStore_4F_Text_FloorSign, MSGBOX_SIGN end -CeladonCity_DepartmentStore_4F_EventScript_16BC0A:: @ 816BC0A +CeladonCity_DepartmentStore_4F_EventScript_Clerk:: @ 816BC0A goto_if_questlog EventScript_ReleaseEnd lock faceplayer message Text_MayIHelpYou waitmessage - pokemart Items_16BC30 + pokemart CeladonCity_DepartmentStore_4F_Items msgbox Text_PleaseComeAgain release end .align 2 -Items_16BC30:: @ 816BC30 +CeladonCity_DepartmentStore_4F_Items:: @ 816BC30 .2byte ITEM_POKE_DOLL .2byte ITEM_RETRO_MAIL .2byte ITEM_FIRE_STONE diff --git a/data/maps/CeladonCity_DepartmentStore_4F/text.inc b/data/maps/CeladonCity_DepartmentStore_4F/text.inc index 426cc2c82..80121023e 100644 --- a/data/maps/CeladonCity_DepartmentStore_4F/text.inc +++ b/data/maps/CeladonCity_DepartmentStore_4F/text.inc @@ -1,41 +1,18 @@ -Text_CounterTeach:: @ 8195928 - .string "Oh, hi!\n" - .string "I finally finished POKéMON.\p" - .string "Not done yet? How about I teach\n" - .string "you a good move?\p" - .string "The move I have in mind is\n" - .string "COUNTER.\p" - .string "Not like the one I'm leaning on,\n" - .string "mind you!$" - -Text_CounterDeclined:: @ 81959CC - .string "You're not interested? Come see\n" - .string "me if you change your mind.$" - -Text_CounterWhichMon:: @ 8195A08 - .string "Which POKéMON should I teach\n" - .string "COUNTER to?$" - -Text_CounterTaught:: @ 8195A31 - .string "Are you using that COUNTER move\n" - .string "I taught your POKéMON?$" - -gUnknown_8195A68:: @ 8195A68 +CeladonCity_DepartmentStore_4F_Text_GettingPokeDollAsPresent:: @ 8195A68 .string "I'm getting a present for my\n" .string "girlfriend.\p" .string "I guess a POKé DOLL will be it.\n" .string "It's the popular thing.$" -gUnknown_8195AC9:: @ 8195AC9 +CeladonCity_DepartmentStore_4F_Text_CanRunAwayWithPokeDoll:: @ 8195AC9 .string "I heard something useful.\p" .string "If a wild POKéMON appears, you can\n" .string "distract it with a POKé DOLL.\p" .string "You can run away while the wild\n" .string "POKéMON is distracted.$" -gUnknown_8195B5B:: @ 8195B5B +CeladonCity_DepartmentStore_4F_Text_FloorSign:: @ 8195B5B .string "Express yourself with gifts!\n" .string "4F: WISE MAN GIFTS\p" .string "Evolution Special!\n" .string "Element STONES on sale now!$" - diff --git a/data/maps/CeladonCity_DepartmentStore_5F/map.json b/data/maps/CeladonCity_DepartmentStore_5F/map.json index 65b0fe9bc..8d1ba57ae 100644 --- a/data/maps/CeladonCity_DepartmentStore_5F/map.json +++ b/data/maps/CeladonCity_DepartmentStore_5F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CELADON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 4, - "elevator_flag": 5, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": true, + "floor_number": 5, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 11, "y": 6, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_DepartmentStore_5F_EventScript_16BC41", + "script": "CeladonCity_DepartmentStore_5F_EventScript_Gentleman", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 6, "y": 8, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_DepartmentStore_5F_EventScript_16BC4A", + "script": "CeladonCity_DepartmentStore_5F_EventScript_Sailor", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CLERK", + "graphics_id": "OBJ_EVENT_GFX_CLERK", "x": 1, "y": 7, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_DepartmentStore_5F_EventScript_16BC5C", + "script": "CeladonCity_DepartmentStore_5F_EventScript_ClerkXItems", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CLERK", + "graphics_id": "OBJ_EVENT_GFX_CLERK", "x": 1, "y": 6, "elevation": 3, @@ -62,7 +64,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_DepartmentStore_5F_EventScript_16BC96", + "script": "CeladonCity_DepartmentStore_5F_EventScript_ClerkVitamins", "flag": "0" } ], @@ -92,11 +94,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 1, "elevation": 0, - "script": "CeladonCity_DepartmentStore_5F_EventScript_16BC53" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_DepartmentStore_5F_EventScript_FloorSign" } ] } diff --git a/data/maps/CeladonCity_DepartmentStore_5F/scripts.inc b/data/maps/CeladonCity_DepartmentStore_5F/scripts.inc index 9056d2b2d..e854a6a65 100644 --- a/data/maps/CeladonCity_DepartmentStore_5F/scripts.inc +++ b/data/maps/CeladonCity_DepartmentStore_5F/scripts.inc @@ -1,31 +1,31 @@ CeladonCity_DepartmentStore_5F_MapScripts:: @ 816BC40 .byte 0 -CeladonCity_DepartmentStore_5F_EventScript_16BC41:: @ 816BC41 - msgbox gUnknown_8195BBA, MSGBOX_NPC +CeladonCity_DepartmentStore_5F_EventScript_Gentleman:: @ 816BC41 + msgbox CeladonCity_DepartmentStore_5F_Text_ExplainStatEnhancers, MSGBOX_NPC end -CeladonCity_DepartmentStore_5F_EventScript_16BC4A:: @ 816BC4A - msgbox gUnknown_8195CA0, MSGBOX_NPC +CeladonCity_DepartmentStore_5F_EventScript_Sailor:: @ 816BC4A + msgbox CeladonCity_DepartmentStore_5F_Text_HereForStatEnhancers, MSGBOX_NPC end -CeladonCity_DepartmentStore_5F_EventScript_16BC53:: @ 816BC53 - msgbox gUnknown_8195D14, MSGBOX_SIGN +CeladonCity_DepartmentStore_5F_EventScript_FloorSign:: @ 816BC53 + msgbox CeladonCity_DepartmentStore_5F_Text_Drugstore, MSGBOX_SIGN end -CeladonCity_DepartmentStore_5F_EventScript_16BC5C:: @ 816BC5C +CeladonCity_DepartmentStore_5F_EventScript_ClerkXItems:: @ 816BC5C goto_if_questlog EventScript_ReleaseEnd lock faceplayer message Text_MayIHelpYou waitmessage - pokemart Items_16BC84 + pokemart CeladonCity_DepartmentStore_5F_XItems msgbox Text_PleaseComeAgain release end .align 2 -Items_16BC84:: @ 816BC84 +CeladonCity_DepartmentStore_5F_XItems:: @ 816BC84 .2byte ITEM_X_ATTACK .2byte ITEM_X_DEFEND .2byte ITEM_X_SPEED @@ -37,19 +37,19 @@ Items_16BC84:: @ 816BC84 release end -CeladonCity_DepartmentStore_5F_EventScript_16BC96:: @ 816BC96 +CeladonCity_DepartmentStore_5F_EventScript_ClerkVitamins:: @ 816BC96 goto_if_questlog EventScript_ReleaseEnd lock faceplayer message Text_MayIHelpYou waitmessage - pokemart Items_16BCBC + pokemart CeladonCity_DepartmentStore_5F_Vitamins msgbox Text_PleaseComeAgain release end .align 2 -Items_16BCBC:: @ 816BCBC +CeladonCity_DepartmentStore_5F_Vitamins:: @ 816BCBC .2byte ITEM_HP_UP .2byte ITEM_PROTEIN .2byte ITEM_IRON diff --git a/data/maps/CeladonCity_DepartmentStore_5F/text.inc b/data/maps/CeladonCity_DepartmentStore_5F/text.inc index b8cee5afa..638f07320 100644 --- a/data/maps/CeladonCity_DepartmentStore_5F/text.inc +++ b/data/maps/CeladonCity_DepartmentStore_5F/text.inc @@ -1,4 +1,4 @@ -gUnknown_8195BBA:: @ 8195BBA +CeladonCity_DepartmentStore_5F_Text_ExplainStatEnhancers:: @ 8195BBA .string "POKéMON stat enhancers can be\n" .string "bought only here.\p" .string "HP UP increases the base HP of a\n" @@ -10,7 +10,7 @@ gUnknown_8195BBA:: @ 8195BBA .string "CARBOS enhances the base SPEED\n" .string "stat.$" -gUnknown_8195CA0:: @ 8195CA0 +CeladonCity_DepartmentStore_5F_Text_HereForStatEnhancers:: @ 8195CA0 .string "I'm here for POKéMON stat\n" .string "enhancers.\p" .string "PROTEIN increases the base ATTACK\n" @@ -18,6 +18,6 @@ gUnknown_8195CA0:: @ 8195CA0 .string "IRON increases the base DEFENSE\n" .string "stat.$" -gUnknown_8195D14:: @ 8195D14 +CeladonCity_DepartmentStore_5F_Text_Drugstore:: @ 8195D14 .string "5F: DRUGSTORE$" diff --git a/data/maps/CeladonCity_DepartmentStore_Elevator/map.json b/data/maps/CeladonCity_DepartmentStore_Elevator/map.json index a2a7d1b48..d2ad4fa76 100644 --- a/data/maps/CeladonCity_DepartmentStore_Elevator/map.json +++ b/data/maps/CeladonCity_DepartmentStore_Elevator/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_CELADON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ @@ -32,18 +34,20 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 0, "y": 2, "elevation": 0, - "script": "CeladonCity_DepartmentStore_Elevator_EventScript_16C153" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_DepartmentStore_Elevator_EventScript_FloorSelect" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 1, "elevation": 0, - "script": "CeladonCity_DepartmentStore_Elevator_EventScript_16C153" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_DepartmentStore_Elevator_EventScript_FloorSelect" } ] } diff --git a/data/maps/CeladonCity_DepartmentStore_Elevator/scripts.inc b/data/maps/CeladonCity_DepartmentStore_Elevator/scripts.inc index 14198db2f..b5f5ed682 100644 --- a/data/maps/CeladonCity_DepartmentStore_Elevator/scripts.inc +++ b/data/maps/CeladonCity_DepartmentStore_Elevator/scripts.inc @@ -1,122 +1,120 @@ CeladonCity_DepartmentStore_Elevator_MapScripts:: @ 816C152 .byte 0 -CeladonCity_DepartmentStore_Elevator_EventScript_16C153:: @ 816C153 +CeladonCity_DepartmentStore_Elevator_EventScript_FloorSelect:: @ 816C153 lockall setvar VAR_0x8004, 3 - call_if_unset FLAG_TEMP_2, EventScript_1A7AB9 + call_if_unset FLAG_TEMP_2, EventScript_GetElevatorFloor copyvar VAR_0x8005, VAR_ELEVATOR_FLOOR - special Special_DrawElevatorCurrentFloorWindow + special DrawElevatorCurrentFloorWindow message Text_WantWhichFloor waitmessage setvar VAR_0x8004, 3 - specialvar VAR_RESULT, Special_InitElevatorFloorSelectMenuPos + specialvar VAR_RESULT, InitElevatorFloorSelectMenuPos switch VAR_RESULT - case 0, EventScript_16C1B7 - case 1, EventScript_16C1C3 - case 2, EventScript_16C1CF - case 3, EventScript_16C1DB - case 4, EventScript_16C1E7 + case 0, CeladonCity_DepartmentStore_Elevator_EventScript_FloorSelectFrom5F + case 1, CeladonCity_DepartmentStore_Elevator_EventScript_FloorSelectFrom4F + case 2, CeladonCity_DepartmentStore_Elevator_EventScript_FloorSelectFrom3F + case 3, CeladonCity_DepartmentStore_Elevator_EventScript_FloorSelectFrom2F + case 4, CeladonCity_DepartmentStore_Elevator_EventScript_FloorSelectFrom1F end -EventScript_16C1B7:: @ 816C1B7 +CeladonCity_DepartmentStore_Elevator_EventScript_FloorSelectFrom5F:: @ 816C1B7 multichoicedefault 0, 0, MULTICHOICE_DEPT_STORE_ELEVATOR, 0, FALSE - goto EventScript_16C1F3 - -EventScript_16C1C2:: @ 816C1C2 + goto CeladonCity_DepartmentStore_Elevator_EventScript_ChooseFloor end -EventScript_16C1C3:: @ 816C1C3 +CeladonCity_DepartmentStore_Elevator_EventScript_FloorSelectFrom4F:: @ 816C1C3 multichoicedefault 0, 0, MULTICHOICE_DEPT_STORE_ELEVATOR, 1, FALSE - goto EventScript_16C1F3 + goto CeladonCity_DepartmentStore_Elevator_EventScript_ChooseFloor end -EventScript_16C1CF:: @ 816C1CF +CeladonCity_DepartmentStore_Elevator_EventScript_FloorSelectFrom3F:: @ 816C1CF multichoicedefault 0, 0, MULTICHOICE_DEPT_STORE_ELEVATOR, 2, FALSE - goto EventScript_16C1F3 + goto CeladonCity_DepartmentStore_Elevator_EventScript_ChooseFloor end -EventScript_16C1DB:: @ 816C1DB +CeladonCity_DepartmentStore_Elevator_EventScript_FloorSelectFrom2F:: @ 816C1DB multichoicedefault 0, 0, MULTICHOICE_DEPT_STORE_ELEVATOR, 3, FALSE - goto EventScript_16C1F3 + goto CeladonCity_DepartmentStore_Elevator_EventScript_ChooseFloor end -EventScript_16C1E7:: @ 816C1E7 +CeladonCity_DepartmentStore_Elevator_EventScript_FloorSelectFrom1F:: @ 816C1E7 multichoicedefault 0, 0, MULTICHOICE_DEPT_STORE_ELEVATOR, 4, FALSE - goto EventScript_16C1F3 + goto CeladonCity_DepartmentStore_Elevator_EventScript_ChooseFloor end -EventScript_16C1F3:: @ 816C1F3 +CeladonCity_DepartmentStore_Elevator_EventScript_ChooseFloor:: @ 816C1F3 switch VAR_RESULT - case 0, EventScript_16C2E6 - case 1, EventScript_16C2BE - case 2, EventScript_16C296 - case 3, EventScript_16C26E - case 4, EventScript_16C246 - case 5, EventScript_16C30E - case 127, EventScript_16C30E + case 0, CeladonCity_DepartmentStore_Elevator_EventScript_To5F + case 1, CeladonCity_DepartmentStore_Elevator_EventScript_To4F + case 2, CeladonCity_DepartmentStore_Elevator_EventScript_To3F + case 3, CeladonCity_DepartmentStore_Elevator_EventScript_To2F + case 4, CeladonCity_DepartmentStore_Elevator_EventScript_To1F + case 5, CeladonCity_DepartmentStore_Elevator_EventScript_ExitFloorSelect + case 127, CeladonCity_DepartmentStore_Elevator_EventScript_ExitFloorSelect end -EventScript_16C246:: @ 816C246 +CeladonCity_DepartmentStore_Elevator_EventScript_To1F:: @ 816C246 setvar VAR_0x8006, 4 setdynamicwarp MAP_CELADON_CITY_DEPARTMENT_STORE_1F, 255, 6, 1 compare VAR_ELEVATOR_FLOOR, 4 - goto_if_eq EventScript_16C30E - call EventScript_16C313 + goto_if_eq CeladonCity_DepartmentStore_Elevator_EventScript_ExitFloorSelect + call CeladonCity_DepartmentStore_Elevator_EventScript_MoveElevator setvar VAR_ELEVATOR_FLOOR, 4 - goto EventScript_16C30E + goto CeladonCity_DepartmentStore_Elevator_EventScript_ExitFloorSelect end -EventScript_16C26E:: @ 816C26E +CeladonCity_DepartmentStore_Elevator_EventScript_To2F:: @ 816C26E setvar VAR_0x8006, 5 setdynamicwarp MAP_CELADON_CITY_DEPARTMENT_STORE_2F, 255, 6, 1 compare VAR_ELEVATOR_FLOOR, 5 - goto_if_eq EventScript_16C30E - call EventScript_16C313 + goto_if_eq CeladonCity_DepartmentStore_Elevator_EventScript_ExitFloorSelect + call CeladonCity_DepartmentStore_Elevator_EventScript_MoveElevator setvar VAR_ELEVATOR_FLOOR, 5 - goto EventScript_16C30E + goto CeladonCity_DepartmentStore_Elevator_EventScript_ExitFloorSelect end -EventScript_16C296:: @ 816C296 +CeladonCity_DepartmentStore_Elevator_EventScript_To3F:: @ 816C296 setvar VAR_0x8006, 6 setdynamicwarp MAP_CELADON_CITY_DEPARTMENT_STORE_3F, 255, 6, 1 compare VAR_ELEVATOR_FLOOR, 6 - goto_if_eq EventScript_16C30E - call EventScript_16C313 + goto_if_eq CeladonCity_DepartmentStore_Elevator_EventScript_ExitFloorSelect + call CeladonCity_DepartmentStore_Elevator_EventScript_MoveElevator setvar VAR_ELEVATOR_FLOOR, 6 - goto EventScript_16C30E + goto CeladonCity_DepartmentStore_Elevator_EventScript_ExitFloorSelect end -EventScript_16C2BE:: @ 816C2BE +CeladonCity_DepartmentStore_Elevator_EventScript_To4F:: @ 816C2BE setvar VAR_0x8006, 7 setdynamicwarp MAP_CELADON_CITY_DEPARTMENT_STORE_4F, 255, 6, 1 compare VAR_ELEVATOR_FLOOR, 7 - goto_if_eq EventScript_16C30E - call EventScript_16C313 + goto_if_eq CeladonCity_DepartmentStore_Elevator_EventScript_ExitFloorSelect + call CeladonCity_DepartmentStore_Elevator_EventScript_MoveElevator setvar VAR_ELEVATOR_FLOOR, 7 - goto EventScript_16C30E + goto CeladonCity_DepartmentStore_Elevator_EventScript_ExitFloorSelect end -EventScript_16C2E6:: @ 816C2E6 +CeladonCity_DepartmentStore_Elevator_EventScript_To5F:: @ 816C2E6 setvar VAR_0x8006, 8 setdynamicwarp MAP_CELADON_CITY_DEPARTMENT_STORE_5F, 255, 6, 1 compare VAR_ELEVATOR_FLOOR, 8 - goto_if_eq EventScript_16C30E - call EventScript_16C313 + goto_if_eq CeladonCity_DepartmentStore_Elevator_EventScript_ExitFloorSelect + call CeladonCity_DepartmentStore_Elevator_EventScript_MoveElevator setvar VAR_ELEVATOR_FLOOR, 8 - goto EventScript_16C30E + goto CeladonCity_DepartmentStore_Elevator_EventScript_ExitFloorSelect end -EventScript_16C30E:: @ 816C30E - special Special_CloseElevatorCurrentFloorWindow +CeladonCity_DepartmentStore_Elevator_EventScript_ExitFloorSelect:: @ 816C30E + special CloseElevatorCurrentFloorWindow releaseall end -EventScript_16C313:: @ 816C313 - special Special_CloseElevatorCurrentFloorWindow +CeladonCity_DepartmentStore_Elevator_EventScript_MoveElevator:: @ 816C313 + special CloseElevatorCurrentFloorWindow closemessage waitse - special Special_AnimateElevator + special AnimateElevator waitstate setflag FLAG_TEMP_2 return diff --git a/data/maps/CeladonCity_DepartmentStore_Roof/map.json b/data/maps/CeladonCity_DepartmentStore_Roof/map.json index 71eea9cee..132b04af5 100644 --- a/data/maps/CeladonCity_DepartmentStore_Roof/map.json +++ b/data/maps/CeladonCity_DepartmentStore_Roof/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CELADON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 4, - "elevator_flag": 127, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": true, + "floor_number": 127, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_M", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_M", "x": 9, "y": 5, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_DepartmentStore_Roof_EventScript_16C022", + "script": "CeladonCity_DepartmentStore_Roof_EventScript_CooltrainerM", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 5, "y": 4, "elevation": 3, @@ -36,7 +38,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_DepartmentStore_Roof_EventScript_16BCCD", + "script": "CeladonCity_DepartmentStore_Roof_EventScript_ThirstyGirl", "flag": "0" } ], @@ -52,32 +54,36 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 14, "y": 3, "elevation": 0, - "script": "CeladonCity_DepartmentStore_Roof_EventScript_16C02B" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_DepartmentStore_Roof_EventScript_FloorSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 10, "y": 3, "elevation": 0, - "script": "CeladonCity_DepartmentStore_Roof_EventScript_16C034" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_DepartmentStore_Roof_EventScript_VendingMachine" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 11, "y": 3, "elevation": 0, - "script": "CeladonCity_DepartmentStore_Roof_EventScript_16C034" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_DepartmentStore_Roof_EventScript_VendingMachine" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 3, "elevation": 0, - "script": "CeladonCity_DepartmentStore_Roof_EventScript_16C034" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_DepartmentStore_Roof_EventScript_VendingMachine" } ] } diff --git a/data/maps/CeladonCity_DepartmentStore_Roof/scripts.inc b/data/maps/CeladonCity_DepartmentStore_Roof/scripts.inc index 48f682567..fb7cac74d 100644 --- a/data/maps/CeladonCity_DepartmentStore_Roof/scripts.inc +++ b/data/maps/CeladonCity_DepartmentStore_Roof/scripts.inc @@ -1,152 +1,152 @@ CeladonCity_DepartmentStore_Roof_MapScripts:: @ 816BCCC .byte 0 -CeladonCity_DepartmentStore_Roof_EventScript_16BCCD:: @ 816BCCD +CeladonCity_DepartmentStore_Roof_EventScript_ThirstyGirl:: @ 816BCCD goto_if_questlog EventScript_ReleaseEnd special sub_8112364 lock faceplayer - call EventScript_16BCF6 + call CeladonCity_DepartmentStore_Roof_EventScript_CheckPlayerHasDrinks compare VAR_TEMP_1, 0 - goto_if_eq EventScript_16C00E - goto EventScript_16BD3E + goto_if_eq CeladonCity_DepartmentStore_Roof_EventScript_IWantDrink + goto CeladonCity_DepartmentStore_Roof_EventScript_AskGiveDrink end -EventScript_16BCF6:: @ 816BCF6 +CeladonCity_DepartmentStore_Roof_EventScript_CheckPlayerHasDrinks:: @ 816BCF6 setvar VAR_TEMP_1, 0 checkitem ITEM_FRESH_WATER, 1 compare VAR_RESULT, TRUE - call_if_eq EventScript_16BD2C + call_if_eq CeladonCity_DepartmentStore_Roof_EventScript_SetHasFreshWater checkitem ITEM_SODA_POP, 1 compare VAR_RESULT, TRUE - call_if_eq EventScript_16BD32 + call_if_eq CeladonCity_DepartmentStore_Roof_EventScript_SetHasSodaPop checkitem ITEM_LEMONADE, 1 compare VAR_RESULT, TRUE - call_if_eq EventScript_16BD38 + call_if_eq CeladonCity_DepartmentStore_Roof_EventScript_SetHasLemonade return -EventScript_16BD2C:: @ 816BD2C +CeladonCity_DepartmentStore_Roof_EventScript_SetHasFreshWater:: @ 816BD2C addvar VAR_TEMP_1, 1 return -EventScript_16BD32:: @ 816BD32 +CeladonCity_DepartmentStore_Roof_EventScript_SetHasSodaPop:: @ 816BD32 addvar VAR_TEMP_1, 2 return -EventScript_16BD38:: @ 816BD38 +CeladonCity_DepartmentStore_Roof_EventScript_SetHasLemonade:: @ 816BD38 addvar VAR_TEMP_1, 4 return -EventScript_16BD3E:: @ 816BD3E - msgbox gUnknown_8195D22, MSGBOX_YESNO +CeladonCity_DepartmentStore_Roof_EventScript_AskGiveDrink:: @ 816BD3E + msgbox CeladonCity_DepartmentStore_Roof_Text_ImThirstyGiveHerDrink, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_16C00C + goto_if_eq CeladonCity_DepartmentStore_Roof_EventScript_DontGiveDrink textcolor 3 - message Text_195D5F + message CeladonCity_DepartmentStore_Roof_Text_GiveWhichDrink waitmessage textcolor 1 switch VAR_TEMP_1 - case 1, EventScript_16BDAE - case 2, EventScript_16BDDA - case 3, EventScript_16BE06 - case 4, EventScript_16BE3D - case 5, EventScript_16BE69 - case 6, EventScript_16BEA0 - case 7, EventScript_16BED7 + case 1, CeladonCity_DepartmentStore_Roof_EventScript_AskGiveFreshWater + case 2, CeladonCity_DepartmentStore_Roof_EventScript_AskGiveSodaPop + case 3, CeladonCity_DepartmentStore_Roof_EventScript_AskGiveFreshWaterSodaPop + case 4, CeladonCity_DepartmentStore_Roof_EventScript_AskGiveLemonade + case 5, CeladonCity_DepartmentStore_Roof_EventScript_AskGiveFreshWaterLemonade + case 6, CeladonCity_DepartmentStore_Roof_EventScript_AskGiveSodaPopLemonade + case 7, CeladonCity_DepartmentStore_Roof_EventScript_AskGiveAllDrinks end -EventScript_16BDAE:: @ 816BDAE +CeladonCity_DepartmentStore_Roof_EventScript_AskGiveFreshWater:: @ 816BDAE multichoice 0, 0, MULTICHOICE_THIRSTY_GIRL_FRESH_WATER, FALSE switch VAR_RESULT - case 0, EventScript_16BF19 - case 1, EventScript_16C00C - case 127, EventScript_16C00C + case 0, CeladonCity_DepartmentStore_Roof_EventScript_GiveFreshWater + case 1, CeladonCity_DepartmentStore_Roof_EventScript_DontGiveDrink + case 127, CeladonCity_DepartmentStore_Roof_EventScript_DontGiveDrink end -EventScript_16BDDA:: @ 816BDDA +CeladonCity_DepartmentStore_Roof_EventScript_AskGiveSodaPop:: @ 816BDDA multichoice 0, 0, MULTICHOICE_THIRSTY_GIRL_SODA_POP, FALSE switch VAR_RESULT - case 0, EventScript_16BF3A - case 1, EventScript_16C00C - case 127, EventScript_16C00C + case 0, CeladonCity_DepartmentStore_Roof_EventScript_GiveSodaPop + case 1, CeladonCity_DepartmentStore_Roof_EventScript_DontGiveDrink + case 127, CeladonCity_DepartmentStore_Roof_EventScript_DontGiveDrink end -EventScript_16BE06:: @ 816BE06 +CeladonCity_DepartmentStore_Roof_EventScript_AskGiveFreshWaterSodaPop:: @ 816BE06 multichoice 0, 0, MULTICHOICE_THIRSTY_GIRL_FRESH_WATER_SODA_POP, FALSE switch VAR_RESULT - case 0, EventScript_16BF19 - case 1, EventScript_16BF3A - case 2, EventScript_16C00C - case 127, EventScript_16C00C + case 0, CeladonCity_DepartmentStore_Roof_EventScript_GiveFreshWater + case 1, CeladonCity_DepartmentStore_Roof_EventScript_GiveSodaPop + case 2, CeladonCity_DepartmentStore_Roof_EventScript_DontGiveDrink + case 127, CeladonCity_DepartmentStore_Roof_EventScript_DontGiveDrink end -EventScript_16BE3D:: @ 816BE3D +CeladonCity_DepartmentStore_Roof_EventScript_AskGiveLemonade:: @ 816BE3D multichoice 0, 0, MULTICHOICE_THIRSTY_GIRL_LEMONADE, FALSE switch VAR_RESULT - case 0, EventScript_16BF5B - case 1, EventScript_16C00C - case 127, EventScript_16C00C + case 0, CeladonCity_DepartmentStore_Roof_EventScript_GiveLemonade + case 1, CeladonCity_DepartmentStore_Roof_EventScript_DontGiveDrink + case 127, CeladonCity_DepartmentStore_Roof_EventScript_DontGiveDrink end -EventScript_16BE69:: @ 816BE69 +CeladonCity_DepartmentStore_Roof_EventScript_AskGiveFreshWaterLemonade:: @ 816BE69 multichoice 0, 0, MULTICHOICE_THIRSTY_GIRL_FRESH_WATER_LEMONADE, FALSE switch VAR_RESULT - case 0, EventScript_16BF19 - case 1, EventScript_16BF5B - case 2, EventScript_16C00C - case 127, EventScript_16C00C + case 0, CeladonCity_DepartmentStore_Roof_EventScript_GiveFreshWater + case 1, CeladonCity_DepartmentStore_Roof_EventScript_GiveLemonade + case 2, CeladonCity_DepartmentStore_Roof_EventScript_DontGiveDrink + case 127, CeladonCity_DepartmentStore_Roof_EventScript_DontGiveDrink end -EventScript_16BEA0:: @ 816BEA0 +CeladonCity_DepartmentStore_Roof_EventScript_AskGiveSodaPopLemonade:: @ 816BEA0 multichoice 0, 0, MULTICHOICE_THIRSTY_GIRL_SODA_POP_LEMONADE, FALSE switch VAR_RESULT - case 0, EventScript_16BF3A - case 1, EventScript_16BF5B - case 2, EventScript_16C00C - case 127, EventScript_16C00C + case 0, CeladonCity_DepartmentStore_Roof_EventScript_GiveSodaPop + case 1, CeladonCity_DepartmentStore_Roof_EventScript_GiveLemonade + case 2, CeladonCity_DepartmentStore_Roof_EventScript_DontGiveDrink + case 127, CeladonCity_DepartmentStore_Roof_EventScript_DontGiveDrink end -EventScript_16BED7:: @ 816BED7 +CeladonCity_DepartmentStore_Roof_EventScript_AskGiveAllDrinks:: @ 816BED7 multichoice 0, 0, MULTICHOICE_THIRSTY_GIRL_FRESH_WATER_SODA_POP_LEMONADE, FALSE switch VAR_RESULT - case 0, EventScript_16BF19 - case 1, EventScript_16BF3A - case 2, EventScript_16BF5B - case 3, EventScript_16C00C - case 127, EventScript_16C00C + case 0, CeladonCity_DepartmentStore_Roof_EventScript_GiveFreshWater + case 1, CeladonCity_DepartmentStore_Roof_EventScript_GiveSodaPop + case 2, CeladonCity_DepartmentStore_Roof_EventScript_GiveLemonade + case 3, CeladonCity_DepartmentStore_Roof_EventScript_DontGiveDrink + case 127, CeladonCity_DepartmentStore_Roof_EventScript_DontGiveDrink end -EventScript_16BF19:: @ 816BF19 +CeladonCity_DepartmentStore_Roof_EventScript_GiveFreshWater:: @ 816BF19 setvar VAR_0x8008, ITEM_FRESH_WATER setvar VAR_0x8009, ITEM_TM16 - goto_if_set FLAG_GOT_TM16_FROM_THIRSTY_GIRL, EventScript_16C018 - msgbox gUnknown_8195D75 - goto EventScript_16BF7C + goto_if_set FLAG_GOT_TM16_FROM_THIRSTY_GIRL, CeladonCity_DepartmentStore_Roof_EventScript_NotThirstyAfterAll + msgbox CeladonCity_DepartmentStore_Roof_Text_YayFreshWaterHaveThis + goto CeladonCity_DepartmentStore_Roof_EventScript_GiveDrink end -EventScript_16BF3A:: @ 816BF3A +CeladonCity_DepartmentStore_Roof_EventScript_GiveSodaPop:: @ 816BF3A setvar VAR_0x8008, ITEM_SODA_POP setvar VAR_0x8009, ITEM_TM20 - goto_if_set FLAG_GOT_TM20_FROM_THIRSTY_GIRL, EventScript_16C018 - msgbox gUnknown_8195E33 - goto EventScript_16BF7C + goto_if_set FLAG_GOT_TM20_FROM_THIRSTY_GIRL, CeladonCity_DepartmentStore_Roof_EventScript_NotThirstyAfterAll + msgbox CeladonCity_DepartmentStore_Roof_Text_YaySodaPopHaveThis + goto CeladonCity_DepartmentStore_Roof_EventScript_GiveDrink end -EventScript_16BF5B:: @ 816BF5B +CeladonCity_DepartmentStore_Roof_EventScript_GiveLemonade:: @ 816BF5B setvar VAR_0x8008, ITEM_LEMONADE setvar VAR_0x8009, ITEM_TM33 - goto_if_set FLAG_GOT_TM33_FROM_THIRSTY_GIRL, EventScript_16C018 - msgbox gUnknown_8195EBF - goto EventScript_16BF7C + goto_if_set FLAG_GOT_TM33_FROM_THIRSTY_GIRL, CeladonCity_DepartmentStore_Roof_EventScript_NotThirstyAfterAll + msgbox CeladonCity_DepartmentStore_Roof_Text_YayLemonadeHaveThis + goto CeladonCity_DepartmentStore_Roof_EventScript_GiveDrink end -EventScript_16BF7C:: @ 816BF7C +CeladonCity_DepartmentStore_Roof_EventScript_GiveDrink:: @ 816BF7C getitemname 0, VAR_0x8008 getitemname 1, VAR_0x8009 removeitem VAR_0x8008, 1 checkitemspace VAR_0x8009, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_16C002 + goto_if_eq CeladonCity_DepartmentStore_Roof_EventScript_NoRoomForReward additem VAR_0x8009 textcolor 3 playfanfare MUS_FANFA1 @@ -154,144 +154,144 @@ EventScript_16BF7C:: @ 816BF7C waitmessage waitfanfare putitemaway VAR_0x8009 - call EventScript_1A6675 + call EventScript_RestorePrevTextColor compare VAR_0x8008, ITEM_FRESH_WATER - call_if_eq EventScript_16BFDE + call_if_eq CeladonCity_DepartmentStore_Roof_EventScript_ExplainTM16 compare VAR_0x8008, ITEM_SODA_POP - call_if_eq EventScript_16BFEA + call_if_eq CeladonCity_DepartmentStore_Roof_EventScript_ExplainTM20 compare VAR_0x8008, ITEM_LEMONADE - call_if_eq EventScript_16BFF6 + call_if_eq CeladonCity_DepartmentStore_Roof_EventScript_ExplainTM33 release end -EventScript_16BFDE:: @ 816BFDE +CeladonCity_DepartmentStore_Roof_EventScript_ExplainTM16:: @ 816BFDE setflag FLAG_GOT_TM16_FROM_THIRSTY_GIRL - msgbox gUnknown_8195DD4 + msgbox CeladonCity_DepartmentStore_Roof_Text_ExplainTM16 return -EventScript_16BFEA:: @ 816BFEA +CeladonCity_DepartmentStore_Roof_EventScript_ExplainTM20:: @ 816BFEA setflag FLAG_GOT_TM20_FROM_THIRSTY_GIRL - msgbox gUnknown_8195E68 + msgbox CeladonCity_DepartmentStore_Roof_Text_ExplainTM20 return -EventScript_16BFF6:: @ 816BFF6 +CeladonCity_DepartmentStore_Roof_EventScript_ExplainTM33:: @ 816BFF6 setflag FLAG_GOT_TM33_FROM_THIRSTY_GIRL - msgbox gUnknown_8195EF4 + msgbox CeladonCity_DepartmentStore_Roof_Text_ExplainTM33 return -EventScript_16C002:: @ 816C002 - msgbox gUnknown_8195F4F +CeladonCity_DepartmentStore_Roof_EventScript_NoRoomForReward:: @ 816C002 + msgbox CeladonCity_DepartmentStore_Roof_Text_DontHaveSpaceForThis release end -EventScript_16C00C:: @ 816C00C +CeladonCity_DepartmentStore_Roof_EventScript_DontGiveDrink:: @ 816C00C release end -EventScript_16C00E:: @ 816C00E - msgbox gUnknown_8195FEF +CeladonCity_DepartmentStore_Roof_EventScript_IWantDrink:: @ 816C00E + msgbox CeladonCity_DepartmentStore_Roof_Text_ImThirstyIWantDrink release end -EventScript_16C018:: @ 816C018 - msgbox gUnknown_8195F6E +CeladonCity_DepartmentStore_Roof_EventScript_NotThirstyAfterAll:: @ 816C018 + msgbox CeladonCity_DepartmentStore_Roof_Text_ImNotThirstyAfterAll release end -CeladonCity_DepartmentStore_Roof_EventScript_16C022:: @ 816C022 - msgbox gUnknown_8195F98, MSGBOX_NPC +CeladonCity_DepartmentStore_Roof_EventScript_CooltrainerM:: @ 816C022 + msgbox CeladonCity_DepartmentStore_Roof_Text_MySisterIsImmature, MSGBOX_NPC end -CeladonCity_DepartmentStore_Roof_EventScript_16C02B:: @ 816C02B - msgbox gUnknown_8196017, MSGBOX_SIGN +CeladonCity_DepartmentStore_Roof_EventScript_FloorSign:: @ 816C02B + msgbox CeladonCity_DepartmentStore_Roof_Text_FloorSign, MSGBOX_SIGN end -CeladonCity_DepartmentStore_Roof_EventScript_16C034:: @ 816C034 +CeladonCity_DepartmentStore_Roof_EventScript_VendingMachine:: @ 816C034 lockall - message Text_196038 + message CeladonCity_DepartmentStore_Roof_Text_VendingMachineWhatDoesItHave waitmessage showmoneybox 0, 0, 0 - goto EventScript_16C045 + goto CeladonCity_DepartmentStore_Roof_EventScript_ChooseDrink end -EventScript_16C045:: @ 816C045 +CeladonCity_DepartmentStore_Roof_EventScript_ChooseDrink:: @ 816C045 multichoice 12, 0, MULTICHOICE_CELADON_VENDING_MACHINE, FALSE copyvar VAR_TEMP_1, VAR_RESULT switch VAR_TEMP_1 - case 0, EventScript_16C083 - case 1, EventScript_16C094 - case 2, EventScript_16C0A5 - msgbox gUnknown_81960AE - goto EventScript_16C14D + case 0, CeladonCity_DepartmentStore_Roof_EventScript_BuyFreshWater + case 1, CeladonCity_DepartmentStore_Roof_EventScript_BuySodaPop + case 2, CeladonCity_DepartmentStore_Roof_EventScript_BuyLemonade + msgbox CeladonCity_DepartmentStore_Roof_Text_NotThirsty + goto CeladonCity_DepartmentStore_Roof_EventScript_ExitVendingMachine end -EventScript_16C083:: @ 816C083 +CeladonCity_DepartmentStore_Roof_EventScript_BuyFreshWater:: @ 816C083 setvar VAR_TEMP_0, ITEM_FRESH_WATER checkmoney 200, 0 - goto EventScript_16C0CB + goto CeladonCity_DepartmentStore_Roof_EventScript_TryBuyDrink end -EventScript_16C094:: @ 816C094 +CeladonCity_DepartmentStore_Roof_EventScript_BuySodaPop:: @ 816C094 setvar VAR_TEMP_0, ITEM_SODA_POP checkmoney 300, 0 - goto EventScript_16C0CB + goto CeladonCity_DepartmentStore_Roof_EventScript_TryBuyDrink end -EventScript_16C0A5:: @ 816C0A5 +CeladonCity_DepartmentStore_Roof_EventScript_BuyLemonade:: @ 816C0A5 setvar VAR_TEMP_0, ITEM_LEMONADE checkmoney 350, 0 - goto EventScript_16C0CB + goto CeladonCity_DepartmentStore_Roof_EventScript_TryBuyDrink end -EventScript_16C0B6:: @ 816C0B6 +CeladonCity_DepartmentStore_Roof_EventScript_RemoveMoneyFreshWater:: @ 816C0B6 removemoney 200, 0 return -EventScript_16C0BD:: @ 816C0BD +CeladonCity_DepartmentStore_Roof_EventScript_RemoveMoneySodaPop:: @ 816C0BD removemoney 300, 0 return -EventScript_16C0C4:: @ 816C0C4 +CeladonCity_DepartmentStore_Roof_EventScript_RemoveMoneyLemonade:: @ 816C0C4 removemoney 350, 0 return -EventScript_16C0CB:: @ 816C0CB +CeladonCity_DepartmentStore_Roof_EventScript_TryBuyDrink:: @ 816C0CB compare VAR_RESULT, FALSE - goto_if_eq EventScript_16C131 + goto_if_eq CeladonCity_DepartmentStore_Roof_EventScript_NotEnoughMoney checkitemspace VAR_TEMP_0, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_16C13F + goto_if_eq CeladonCity_DepartmentStore_Roof_EventScript_NoRoomForDrink compare VAR_TEMP_1, 0 - call_if_eq EventScript_16C0B6 + call_if_eq CeladonCity_DepartmentStore_Roof_EventScript_RemoveMoneyFreshWater compare VAR_TEMP_1, 1 - call_if_eq EventScript_16C0BD + call_if_eq CeladonCity_DepartmentStore_Roof_EventScript_RemoveMoneySodaPop compare VAR_TEMP_1, 2 - call_if_eq EventScript_16C0C4 + call_if_eq CeladonCity_DepartmentStore_Roof_EventScript_RemoveMoneyLemonade updatemoneybox 0, 0, 0 getitemname 0, VAR_TEMP_0 playse SE_JIHANKI - msgbox gUnknown_8196076 + msgbox CeladonCity_DepartmentStore_Roof_Text_DrinkCanPoppedOut additem VAR_TEMP_0 - goto EventScript_16C125 + goto CeladonCity_DepartmentStore_Roof_EventScript_ChooseNewDrink end -EventScript_16C125:: @ 816C125 - message Text_196038 +CeladonCity_DepartmentStore_Roof_EventScript_ChooseNewDrink:: @ 816C125 + message CeladonCity_DepartmentStore_Roof_Text_VendingMachineWhatDoesItHave waitmessage - goto EventScript_16C045 + goto CeladonCity_DepartmentStore_Roof_EventScript_ChooseDrink end -EventScript_16C131:: @ 816C131 - msgbox gUnknown_819605E - goto EventScript_16C14D +CeladonCity_DepartmentStore_Roof_EventScript_NotEnoughMoney:: @ 816C131 + msgbox CeladonCity_DepartmentStore_Roof_Text_NotEnoughMoney + goto CeladonCity_DepartmentStore_Roof_EventScript_ExitVendingMachine end -EventScript_16C13F:: @ 816C13F - msgbox gUnknown_819608E - goto EventScript_16C14D +CeladonCity_DepartmentStore_Roof_EventScript_NoRoomForDrink:: @ 816C13F + msgbox CeladonCity_DepartmentStore_Roof_Text_NoMoreRoomForStuff + goto CeladonCity_DepartmentStore_Roof_EventScript_ExitVendingMachine end -EventScript_16C14D:: @ 816C14D +CeladonCity_DepartmentStore_Roof_EventScript_ExitVendingMachine:: @ 816C14D hidemoneybox 0, 0 releaseall end diff --git a/data/maps/CeladonCity_DepartmentStore_Roof/text.inc b/data/maps/CeladonCity_DepartmentStore_Roof/text.inc index 65b9a3162..2c6944373 100644 --- a/data/maps/CeladonCity_DepartmentStore_Roof/text.inc +++ b/data/maps/CeladonCity_DepartmentStore_Roof/text.inc @@ -1,12 +1,12 @@ -gUnknown_8195D22:: @ 8195D22 +CeladonCity_DepartmentStore_Roof_Text_ImThirstyGiveHerDrink:: @ 8195D22 .string "I'm thirsty!\n" .string "I want something to drink!\p" .string "{SIZE}ÁGive her a drink?$" -Text_195D5F:: @ 8195D5F +CeladonCity_DepartmentStore_Roof_Text_GiveWhichDrink:: @ 8195D5F .string "Give her which drink?$" -gUnknown_8195D75:: @ 8195D75 +CeladonCity_DepartmentStore_Roof_Text_YayFreshWaterHaveThis:: @ 8195D75 .string "Yay!\p" .string "FRESH WATER!\p" .string "Thank you!\n" @@ -16,67 +16,67 @@ Text_ReceivedItemFromLittleGirl:: @ 8195DAD .string "{PLAYER} received a {STR_VAR_2}\n" .string "from the little girl.$" -gUnknown_8195DD4:: @ 8195DD4 +CeladonCity_DepartmentStore_Roof_Text_ExplainTM16:: @ 8195DD4 .string "TM16 contains LIGHT SCREEN.\p" .string "It's a move that weakens the power\n" .string "of special attacks by your foe.$" -gUnknown_8195E33:: @ 8195E33 +CeladonCity_DepartmentStore_Roof_Text_YaySodaPopHaveThis:: @ 8195E33 .string "Yay!\p" .string "SODA POP!\p" .string "Thank you!\n" .string "You can have this from me!$" -gUnknown_8195E68:: @ 8195E68 +CeladonCity_DepartmentStore_Roof_Text_ExplainTM20:: @ 8195E68 .string "TM20 contains SAFEGUARD.\p" .string "It's a move that prevents status\n" .string "problems among your POKéMON.$" -gUnknown_8195EBF:: @ 8195EBF +CeladonCity_DepartmentStore_Roof_Text_YayLemonadeHaveThis:: @ 8195EBF .string "Yay!\p" .string "LEMONADE!\p" .string "Thank you!\n" .string "You can have this from me!$" -gUnknown_8195EF4:: @ 8195EF4 +CeladonCity_DepartmentStore_Roof_Text_ExplainTM33:: @ 8195EF4 .string "TM33 contains REFLECT.\p" .string "It's a move that weakens the power\n" .string "of physical attacks by your foe.$" -gUnknown_8195F4F:: @ 8195F4F +CeladonCity_DepartmentStore_Roof_Text_DontHaveSpaceForThis:: @ 8195F4F .string "You don't have space for this!$" -gUnknown_8195F6E:: @ 8195F6E +CeladonCity_DepartmentStore_Roof_Text_ImNotThirstyAfterAll:: @ 8195F6E .string "No, thank you!\n" .string "I'm not thirsty after all!$" -gUnknown_8195F98:: @ 8195F98 +CeladonCity_DepartmentStore_Roof_Text_MySisterIsImmature:: @ 8195F98 .string "My sister is a TRAINER, believe it\n" .string "or not.\p" .string "But, she's so immature, she drives\n" .string "me nuts!$" -gUnknown_8195FEF:: @ 8195FEF +CeladonCity_DepartmentStore_Roof_Text_ImThirstyIWantDrink:: @ 8195FEF .string "I'm thirsty!\n" .string "I want something to drink!$" -gUnknown_8196017:: @ 8196017 +CeladonCity_DepartmentStore_Roof_Text_FloorSign:: @ 8196017 .string "ROOFTOP SQUARE:\n" .string "VENDING MACHINES$" -Text_196038:: @ 8196038 +CeladonCity_DepartmentStore_Roof_Text_VendingMachineWhatDoesItHave:: @ 8196038 .string "A vending machine!\n" .string "What does it have?$" -gUnknown_819605E:: @ 819605E +CeladonCity_DepartmentStore_Roof_Text_NotEnoughMoney:: @ 819605E .string "Oops, not enough money!$" -gUnknown_8196076:: @ 8196076 +CeladonCity_DepartmentStore_Roof_Text_DrinkCanPoppedOut:: @ 8196076 .string "A can of {STR_VAR_1} popped out!$" -gUnknown_819608E:: @ 819608E +CeladonCity_DepartmentStore_Roof_Text_NoMoreRoomForStuff:: @ 819608E .string "There's no more room for stuff!$" -gUnknown_81960AE:: @ 81960AE +CeladonCity_DepartmentStore_Roof_Text_NotThirsty:: @ 81960AE .string "Not thirsty!$" diff --git a/data/maps/CeladonCity_GameCorner/map.json b/data/maps/CeladonCity_GameCorner/map.json index 081d3fac9..fa69f8dc8 100644 --- a/data/maps/CeladonCity_GameCorner/map.json +++ b/data/maps/CeladonCity_GameCorner/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CELADON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_F", + "graphics_id": "OBJ_EVENT_GFX_WORKER_F", "x": 4, "y": 2, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_GameCorner_EventScript_16C684", + "script": "CeladonCity_GameCorner_EventScript_InfoClerk", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 6, "y": 2, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_GameCorner_EventScript_16C68D", + "script": "CeladonCity_GameCorner_EventScript_CoinsClerk", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 1, "y": 6, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_GameCorner_EventScript_16C7BA", + "script": "CeladonCity_GameCorner_EventScript_BaldingMan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 1, "y": 8, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_GameCorner_EventScript_16C7D7", + "script": "CeladonCity_GameCorner_EventScript_Woman1", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_FISHER", + "graphics_id": "OBJ_EVENT_GFX_FISHER", "x": 4, "y": 7, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_GameCorner_EventScript_16C7E7", + "script": "CeladonCity_GameCorner_EventScript_Fisher", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GYM_GUY", + "graphics_id": "OBJ_EVENT_GFX_GYM_GUY", "x": 7, "y": 10, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_GameCorner_EventScript_16C857", + "script": "CeladonCity_GameCorner_EventScript_GymGuy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_1", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_1", "x": 7, "y": 8, "elevation": 3, @@ -101,11 +103,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_GameCorner_EventScript_16C87E", + "script": "CeladonCity_GameCorner_EventScript_Woman2", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_2", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_2", "x": 10, "y": 9, "elevation": 3, @@ -114,11 +116,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_GameCorner_EventScript_16C88E", + "script": "CeladonCity_GameCorner_EventScript_OldMan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 13, "y": 7, "elevation": 3, @@ -127,11 +129,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_GameCorner_EventScript_16C89E", + "script": "CeladonCity_GameCorner_EventScript_Scientist", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 16, "y": 10, "elevation": 3, @@ -140,11 +142,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_GameCorner_EventScript_16C8FE", + "script": "CeladonCity_GameCorner_EventScript_Gentleman", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 11, "y": 2, "elevation": 3, @@ -153,7 +155,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_GameCorner_EventScript_16CAF5", + "script": "CeladonCity_GameCorner_EventScript_RocketGrunt", "flag": "FLAG_HIDE_GAME_CORNER_ROCKET" } ], @@ -310,172 +312,196 @@ "underfoot": false }, { - "type": "bg_event_type_4", + "type": "sign", "x": 0, "y": 7, "elevation": 0, - "script": "CeladonCity_GameCorner_EventScript_16C95E" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST", + "script": "CeladonCity_GameCorner_EventScript_SlotMachine0" }, { - "type": "bg_event_type_4", + "type": "sign", "x": 0, "y": 9, "elevation": 0, - "script": "CeladonCity_GameCorner_EventScript_16C9A4" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST", + "script": "CeladonCity_GameCorner_EventScript_SlotMachine1" }, { - "type": "bg_event_type_4", + "type": "sign", "x": 0, "y": 10, "elevation": 0, - "script": "CeladonCity_GameCorner_EventScript_16C9B0" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST", + "script": "CeladonCity_GameCorner_EventScript_SlotMachine2" }, { - "type": "bg_event_type_3", + "type": "sign", "x": 5, "y": 6, "elevation": 0, - "script": "CeladonCity_GameCorner_EventScript_16C9BC" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST", + "script": "CeladonCity_GameCorner_EventScript_SlotMachine3" }, { - "type": "bg_event_type_3", + "type": "sign", "x": 5, "y": 8, "elevation": 0, - "script": "CeladonCity_GameCorner_EventScript_16CB5A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST", + "script": "CeladonCity_GameCorner_EventScript_UnusableSlotMachine1" }, { - "type": "bg_event_type_3", + "type": "sign", "x": 5, "y": 9, "elevation": 0, - "script": "CeladonCity_GameCorner_EventScript_16C9D4" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST", + "script": "CeladonCity_GameCorner_EventScript_SlotMachine5" }, { - "type": "bg_event_type_3", + "type": "sign", "x": 5, "y": 10, "elevation": 0, - "script": "CeladonCity_GameCorner_EventScript_16C9E0" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST", + "script": "CeladonCity_GameCorner_EventScript_SlotMachine6" }, { - "type": "bg_event_type_4", + "type": "sign", "x": 6, "y": 6, "elevation": 0, - "script": "CeladonCity_GameCorner_EventScript_16C9EC" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST", + "script": "CeladonCity_GameCorner_EventScript_SlotMachine7" }, { - "type": "bg_event_type_4", + "type": "sign", "x": 6, "y": 7, "elevation": 0, - "script": "CeladonCity_GameCorner_EventScript_16C9F8" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST", + "script": "CeladonCity_GameCorner_EventScript_SlotMachine8" }, { - "type": "bg_event_type_4", + "type": "sign", "x": 6, "y": 9, "elevation": 0, - "script": "CeladonCity_GameCorner_EventScript_16CA04" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST", + "script": "CeladonCity_GameCorner_EventScript_SlotMachine9" }, { - "type": "bg_event_type_3", + "type": "sign", "x": 11, "y": 6, "elevation": 0, - "script": "CeladonCity_GameCorner_EventScript_16CA10" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST", + "script": "CeladonCity_GameCorner_EventScript_SlotMachine10" }, { - "type": "bg_event_type_3", + "type": "sign", "x": 11, "y": 7, "elevation": 0, - "script": "CeladonCity_GameCorner_EventScript_16CA1C" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST", + "script": "CeladonCity_GameCorner_EventScript_SlotMachine11" }, { - "type": "bg_event_type_3", + "type": "sign", "x": 11, "y": 8, "elevation": 0, - "script": "CeladonCity_GameCorner_EventScript_16CA28" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST", + "script": "CeladonCity_GameCorner_EventScript_SlotMachine12" }, { - "type": "bg_event_type_3", + "type": "sign", "x": 11, "y": 10, "elevation": 0, - "script": "CeladonCity_GameCorner_EventScript_16CA34" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST", + "script": "CeladonCity_GameCorner_EventScript_SlotMachine13" }, { - "type": "bg_event_type_4", + "type": "sign", "x": 12, "y": 6, "elevation": 0, - "script": "CeladonCity_GameCorner_EventScript_16CA40" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST", + "script": "CeladonCity_GameCorner_EventScript_SlotMachine14" }, { - "type": "bg_event_type_4", + "type": "sign", "x": 12, "y": 8, "elevation": 0, - "script": "CeladonCity_GameCorner_EventScript_16CB63" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST", + "script": "CeladonCity_GameCorner_EventScript_UnusableSlotMachine2" }, { - "type": "bg_event_type_4", + "type": "sign", "x": 12, "y": 9, "elevation": 0, - "script": "CeladonCity_GameCorner_EventScript_16CA58" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST", + "script": "CeladonCity_GameCorner_EventScript_SlotMachine16" }, { - "type": "bg_event_type_4", + "type": "sign", "x": 12, "y": 10, "elevation": 0, - "script": "CeladonCity_GameCorner_EventScript_16CA64" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_WEST", + "script": "CeladonCity_GameCorner_EventScript_SlotMachine17" }, { - "type": "bg_event_type_3", + "type": "sign", "x": 17, "y": 6, "elevation": 0, - "script": "CeladonCity_GameCorner_EventScript_16CB6C" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST", + "script": "CeladonCity_GameCorner_EventScript_UnusableSlotMachine3" }, { - "type": "bg_event_type_3", + "type": "sign", "x": 17, "y": 7, "elevation": 0, - "script": "CeladonCity_GameCorner_EventScript_16CA7C" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST", + "script": "CeladonCity_GameCorner_EventScript_SlotMachine19" }, { - "type": "bg_event_type_3", + "type": "sign", "x": 17, "y": 8, "elevation": 0, - "script": "CeladonCity_GameCorner_EventScript_16CA88" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST", + "script": "CeladonCity_GameCorner_EventScript_SlotMachine20" }, { - "type": "bg_event_type_3", + "type": "sign", "x": 17, "y": 9, "elevation": 0, - "script": "CeladonCity_GameCorner_EventScript_16CA94" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST", + "script": "CeladonCity_GameCorner_EventScript_SlotMachine21" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 11, "y": 1, "elevation": 0, - "script": "CeladonCity_GameCorner_EventScript_16CAAA" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_GameCorner_EventScript_Poster" }, { - "type": "bg_event_type_3", + "type": "sign", "x": 17, "y": 13, "elevation": 0, - "script": "CeladonCity_GameCorner_EventScript_1B2867" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST", + "script": "CeladonCity_GameCorner_EventScript_PhotoPrinter" } ] } diff --git a/data/maps/CeladonCity_GameCorner/scripts.inc b/data/maps/CeladonCity_GameCorner/scripts.inc index 20b2ba04c..4e1ddae41 100644 --- a/data/maps/CeladonCity_GameCorner/scripts.inc +++ b/data/maps/CeladonCity_GameCorner/scripts.inc @@ -3,443 +3,443 @@ CeladonCity_GameCorner_MapScripts:: @ 816C646 .byte 0 CeladonCity_GameCorner_OnLoad:: @ 816C64C - call_if_unset FLAG_OPENED_ROCKET_HIDEOUT, EventScript_16C656 + call_if_unset FLAG_OPENED_ROCKET_HIDEOUT, CeladonCity_GameCorner_EventScript_HideRocketHideout end -EventScript_16C656:: @ 816C656 - setmetatile 15, 2, 658, 0 - setmetatile 16, 2, 658, 0 - setmetatile 17, 2, 658, 0 - setmetatile 16, 3, 719, 1 - setmetatile 17, 3, 719, 1 +CeladonCity_GameCorner_EventScript_HideRocketHideout:: @ 816C656 + setmetatile 15, 2, METATILE_GameCorner_Floor_ShadeFull, 0 + setmetatile 16, 2, METATILE_GameCorner_Floor_ShadeFull, 0 + setmetatile 17, 2, METATILE_GameCorner_Floor_ShadeFull, 0 + setmetatile 16, 3, METATILE_GameCorner_PurpleWall_Floor, 1 + setmetatile 17, 3, METATILE_GameCorner_PurpleWall_Floor, 1 return -CeladonCity_GameCorner_EventScript_16C684:: @ 816C684 - msgbox gUnknown_8196940, MSGBOX_NPC +CeladonCity_GameCorner_EventScript_InfoClerk:: @ 816C684 + msgbox CeladonCity_GameCorner_Text_CanExchangeCoinsNextDoor, MSGBOX_NPC end -CeladonCity_GameCorner_EventScript_16C68D:: @ 816C68D +CeladonCity_GameCorner_EventScript_CoinsClerk:: @ 816C68D goto_if_questlog EventScript_ReleaseEnd lock faceplayer showmoneybox 0, 0, 0 showcoinsbox 0, 5 - message Text_196984 + message CeladonCity_GameCorner_Text_WelcomeBuySomeCoins waitmessage multichoice 13, 0, MULTICHOICE_GAME_CORNER_COIN_PURCHASE_COUNTER, FALSE copyvar VAR_0x8009, VAR_RESULT switch VAR_RESULT - case 0, EventScript_16C6E6 - case 1, EventScript_16C6E6 - case 2, EventScript_16C782 - case 127, EventScript_16C782 + case 0, CeladonCity_GameCorner_EventScript_BuyCoins + case 1, CeladonCity_GameCorner_EventScript_BuyCoins + case 2, CeladonCity_GameCorner_EventScript_ClerkDeclineBuy + case 127, CeladonCity_GameCorner_EventScript_ClerkDeclineBuy end -EventScript_16C6E6:: @ 816C6E6 - goto_if_unset FLAG_GOT_COIN_CASE, EventScript_16C790 +CeladonCity_GameCorner_EventScript_BuyCoins:: @ 816C6E6 + goto_if_unset FLAG_GOT_COIN_CASE, CeladonCity_GameCorner_EventScript_ClerkNoCoinCase compare VAR_0x8009, 0 - goto_if_eq EventScript_16C734 + goto_if_eq CeladonCity_GameCorner_EventScript_Buy50Coins compare VAR_0x8009, 1 - goto_if_eq EventScript_16C706 + goto_if_eq CeladonCity_GameCorner_EventScript_Buy500Coins end -EventScript_16C706:: @ 816C706 +CeladonCity_GameCorner_EventScript_Buy500Coins:: @ 816C706 checkcoins VAR_TEMP_1 - compare VAR_TEMP_1, 9500 - goto_if_ge EventScript_16C79E + compare VAR_TEMP_1, (MAX_COINS + 1) - 500 + goto_if_ge CeladonCity_GameCorner_EventScript_ClerkNoRoomForCoins checkmoney 10000, 0 compare VAR_RESULT, FALSE - goto_if_eq EventScript_16C7AC + goto_if_eq CeladonCity_GameCorner_EventScript_ClerkNotEnoughMoney addcoins 500 removemoney 10000, 0 - goto EventScript_16C762 + goto CeladonCity_GameCorner_EventScript_BoughtCoins end -EventScript_16C734:: @ 816C734 +CeladonCity_GameCorner_EventScript_Buy50Coins:: @ 816C734 checkcoins VAR_TEMP_1 - compare VAR_TEMP_1, 9950 - goto_if_ge EventScript_16C79E + compare VAR_TEMP_1, (MAX_COINS + 1) - 50 + goto_if_ge CeladonCity_GameCorner_EventScript_ClerkNoRoomForCoins checkmoney 1000, 0 compare VAR_RESULT, FALSE - goto_if_eq EventScript_16C7AC + goto_if_eq CeladonCity_GameCorner_EventScript_ClerkNotEnoughMoney addcoins 50 removemoney 1000, 0 - goto EventScript_16C762 + goto CeladonCity_GameCorner_EventScript_BoughtCoins end -EventScript_16C762:: @ 816C762 +CeladonCity_GameCorner_EventScript_BoughtCoins:: @ 816C762 updatemoneybox 0, 0, 0 updatecoinsbox 0, 5 playse SE_SHOP - msgbox gUnknown_8196A62 - goto EventScript_16C77A + msgbox CeladonCity_GameCorner_Text_HereAreYourCoins + goto CeladonCity_GameCorner_EventScript_ClerkEnd end -EventScript_16C77A:: @ 816C77A +CeladonCity_GameCorner_EventScript_ClerkEnd:: @ 816C77A hidemoneybox 0, 0 hidecoinsbox 0, 5 release end -EventScript_16C782:: @ 816C782 - msgbox gUnknown_81969DC - goto EventScript_16C77A +CeladonCity_GameCorner_EventScript_ClerkDeclineBuy:: @ 816C782 + msgbox CeladonCity_GameCorner_Text_ComePlaySometime + goto CeladonCity_GameCorner_EventScript_ClerkEnd end -EventScript_16C790:: @ 816C790 - msgbox gUnknown_81969FB - goto EventScript_16C77A +CeladonCity_GameCorner_EventScript_ClerkNoCoinCase:: @ 816C790 + msgbox CeladonCity_GameCorner_Text_SorryDontHaveCoinCase + goto CeladonCity_GameCorner_EventScript_ClerkEnd end -EventScript_16C79E:: @ 816C79E - msgbox gUnknown_8196A26 - goto EventScript_16C77A +CeladonCity_GameCorner_EventScript_ClerkNoRoomForCoins:: @ 816C79E + msgbox CeladonCity_GameCorner_Text_CoinCaseIsFull + goto CeladonCity_GameCorner_EventScript_ClerkEnd end -EventScript_16C7AC:: @ 816C7AC - msgbox gUnknown_8196A46 - goto EventScript_16C77A +CeladonCity_GameCorner_EventScript_ClerkNotEnoughMoney:: @ 816C7AC + msgbox CeladonCity_GameCorner_Text_CantAffordCoins + goto CeladonCity_GameCorner_EventScript_ClerkEnd end -CeladonCity_GameCorner_EventScript_16C7BA:: @ 816C7BA +CeladonCity_GameCorner_EventScript_BaldingMan:: @ 816C7BA lock faceplayer - msgbox gUnknown_8196A82 - goto EventScript_16C7CA + msgbox CeladonCity_GameCorner_Text_RumoredTeamRocketRunsThisPlace + goto CeladonCity_GameCorner_EventScript_FaceSlotMachine end -EventScript_16C7CA:: @ 816C7CA +CeladonCity_GameCorner_EventScript_FaceSlotMachine:: @ 816C7CA closemessage applymovement VAR_LAST_TALKED, Movement_FaceOriginalDirection waitmovement 0 release end -CeladonCity_GameCorner_EventScript_16C7D7:: @ 816C7D7 +CeladonCity_GameCorner_EventScript_Woman1:: @ 816C7D7 lock faceplayer - msgbox gUnknown_8196AC7 - goto EventScript_16C7CA + msgbox CeladonCity_GameCorner_Text_ThinkMachinesHaveDifferentOdds + goto CeladonCity_GameCorner_EventScript_FaceSlotMachine end -CeladonCity_GameCorner_EventScript_16C7E7:: @ 816C7E7 +CeladonCity_GameCorner_EventScript_Fisher:: @ 816C7E7 lock faceplayer - goto_if_set FLAG_GOT_10_COINS_FROM_GAMBLER, EventScript_16C849 - msgbox gUnknown_8196AF3 - goto_if_unset FLAG_GOT_COIN_CASE, EventScript_16C839 + goto_if_set FLAG_GOT_10_COINS_FROM_GAMBLER, CeladonCity_GameCorner_EventScript_FisherAlreadyGotCoins + msgbox CeladonCity_GameCorner_Text_DoYouWantToPlay + goto_if_unset FLAG_GOT_COIN_CASE, CeladonCity_GameCorner_EventScript_GamblerNoCoinCase checkcoins VAR_TEMP_1 - compare VAR_TEMP_1, 9990 - goto_if_ge EventScript_16C82B + compare VAR_TEMP_1, (MAX_COINS + 1) - 10 + goto_if_ge CeladonCity_GameCorner_EventScript_FisherNoRoomForCoins addcoins 10 textcolor 3 - msgbox gUnknown_8196B0D + msgbox CeladonCity_GameCorner_Text_Received10CoinsFromMan playse SE_SHOP waitse setflag FLAG_GOT_10_COINS_FROM_GAMBLER - goto EventScript_16C7CA + goto CeladonCity_GameCorner_EventScript_FaceSlotMachine end -EventScript_16C82B:: @ 816C82B - msgbox gUnknown_8196B30 - goto EventScript_16C7CA +CeladonCity_GameCorner_EventScript_FisherNoRoomForCoins:: @ 816C82B + msgbox CeladonCity_GameCorner_Text_DontNeedMyCoins + goto CeladonCity_GameCorner_EventScript_FaceSlotMachine end -EventScript_16C839:: @ 816C839 +CeladonCity_GameCorner_EventScript_GamblerNoCoinCase:: @ 816C839 textcolor 3 - msgbox gUnknown_8196F26 - goto EventScript_16C7CA + msgbox CeladonCity_GameCorner_Text_DontHaveCoinCase + goto CeladonCity_GameCorner_EventScript_FaceSlotMachine end -EventScript_16C849:: @ 816C849 - msgbox gUnknown_8196B49 - goto EventScript_16C7CA +CeladonCity_GameCorner_EventScript_FisherAlreadyGotCoins:: @ 816C849 + msgbox CeladonCity_GameCorner_Text_WinsComeAndGo + goto CeladonCity_GameCorner_EventScript_FaceSlotMachine end -CeladonCity_GameCorner_EventScript_16C857:: @ 816C857 +CeladonCity_GameCorner_EventScript_GymGuy:: @ 816C857 lock faceplayer - goto_if_set FLAG_DEFEATED_ERIKA, EventScript_16C870 - msgbox gUnknown_8196BAD - goto EventScript_16C7CA + goto_if_set FLAG_DEFEATED_ERIKA, CeladonCity_GameCorner_EventScript_GymGuyPostVictory + msgbox CeladonCity_GameCorner_Text_GymGuyAdvice + goto CeladonCity_GameCorner_EventScript_FaceSlotMachine end -EventScript_16C870:: @ 816C870 - msgbox gUnknown_8196CA1 - goto EventScript_16C7CA +CeladonCity_GameCorner_EventScript_GymGuyPostVictory:: @ 816C870 + msgbox CeladonCity_GameCorner_Text_RareMonsForCoins + goto CeladonCity_GameCorner_EventScript_FaceSlotMachine end -CeladonCity_GameCorner_EventScript_16C87E:: @ 816C87E +CeladonCity_GameCorner_EventScript_Woman2:: @ 816C87E lock faceplayer - msgbox gUnknown_8196B7B - goto EventScript_16C7CA + msgbox CeladonCity_GameCorner_Text_WinOrLoseItsOnlyLuck + goto CeladonCity_GameCorner_EventScript_FaceSlotMachine end -CeladonCity_GameCorner_EventScript_16C88E:: @ 816C88E +CeladonCity_GameCorner_EventScript_OldMan:: @ 816C88E lock faceplayer - msgbox gUnknown_8196CFE - goto EventScript_16C7CA + msgbox CeladonCity_GameCorner_Text_SoEasyToGetHooked + goto CeladonCity_GameCorner_EventScript_FaceSlotMachine end -CeladonCity_GameCorner_EventScript_16C89E:: @ 816C89E +CeladonCity_GameCorner_EventScript_Scientist:: @ 816C89E lock faceplayer - goto_if_set FLAG_GOT_20_COINS_FROM_GAMBLER, EventScript_16C8F0 - msgbox gUnknown_8196D2B - goto_if_unset FLAG_GOT_COIN_CASE, EventScript_16C839 + goto_if_set FLAG_GOT_20_COINS_FROM_GAMBLER, CeladonCity_GameCorner_EventScript_ScientistAlreadyGotCoins + msgbox CeladonCity_GameCorner_Text_WantSomeCoins + goto_if_unset FLAG_GOT_COIN_CASE, CeladonCity_GameCorner_EventScript_GamblerNoCoinCase checkcoins VAR_TEMP_1 - compare VAR_TEMP_1, 9980 - goto_if_ge EventScript_16C8E2 + compare VAR_TEMP_1, (MAX_COINS + 1) - 20 + goto_if_ge CeladonCity_GameCorner_EventScript_ScientistNoRoomForCoins addcoins 20 textcolor 3 - msgbox gUnknown_8196D47 + msgbox CeladonCity_GameCorner_Text_Received20CoinsFromNiceGuy playse SE_SHOP waitse setflag FLAG_GOT_20_COINS_FROM_GAMBLER - goto EventScript_16C7CA + goto CeladonCity_GameCorner_EventScript_FaceSlotMachine end -EventScript_16C8E2:: @ 816C8E2 - msgbox gUnknown_8196D6F - goto EventScript_16C7CA +CeladonCity_GameCorner_EventScript_ScientistNoRoomForCoins:: @ 816C8E2 + msgbox CeladonCity_GameCorner_Text_YouHaveLotsOfCoins + goto CeladonCity_GameCorner_EventScript_FaceSlotMachine end -EventScript_16C8F0:: @ 816C8F0 - msgbox gUnknown_8196D87 - goto EventScript_16C7CA +CeladonCity_GameCorner_EventScript_ScientistAlreadyGotCoins:: @ 816C8F0 + msgbox CeladonCity_GameCorner_Text_NeedMoreCoinsForMonIWant + goto CeladonCity_GameCorner_EventScript_FaceSlotMachine end -CeladonCity_GameCorner_EventScript_16C8FE:: @ 816C8FE +CeladonCity_GameCorner_EventScript_Gentleman:: @ 816C8FE lock faceplayer - goto_if_set FLAG_GOT_20_COINS_FROM_GAMBLER_2, EventScript_16C950 - msgbox gUnknown_8196DB7 - goto_if_unset FLAG_GOT_COIN_CASE, EventScript_16C839 + goto_if_set FLAG_GOT_20_COINS_FROM_GAMBLER_2, CeladonCity_GameCorner_EventScript_GentlemanAlreadyGotCoins + msgbox CeladonCity_GameCorner_Text_HereAreSomeCoinsShoo + goto_if_unset FLAG_GOT_COIN_CASE, CeladonCity_GameCorner_EventScript_GamblerNoCoinCase checkcoins VAR_TEMP_1 - compare VAR_TEMP_1, 9980 - goto_if_ge EventScript_16C942 + compare VAR_TEMP_1, (MAX_COINS + 1) - 20 + goto_if_ge CeladonCity_GameCorner_EventScript_GentlemanNoRoomForCoins addcoins 20 textcolor 3 - msgbox gUnknown_8196DF8 + msgbox CeladonCity_GameCorner_Text_Received20CoinsFromMan playse SE_SHOP waitse setflag FLAG_GOT_20_COINS_FROM_GAMBLER_2 - goto EventScript_16C7CA + goto CeladonCity_GameCorner_EventScript_FaceSlotMachine end -EventScript_16C942:: @ 816C942 - msgbox gUnknown_8196E1B - goto EventScript_16C7CA +CeladonCity_GameCorner_EventScript_GentlemanNoRoomForCoins:: @ 816C942 + msgbox CeladonCity_GameCorner_Text_YouveGotPlentyCoins + goto CeladonCity_GameCorner_EventScript_FaceSlotMachine end -EventScript_16C950:: @ 816C950 - msgbox gUnknown_8196E40 - goto EventScript_16C7CA +CeladonCity_GameCorner_EventScript_GentlemanAlreadyGotCoins:: @ 816C950 + msgbox CeladonCity_GameCorner_Text_WatchReelsClosely + goto CeladonCity_GameCorner_EventScript_FaceSlotMachine end -CeladonCity_GameCorner_EventScript_16C95E:: @ 816C95E +CeladonCity_GameCorner_EventScript_SlotMachine0:: @ 816C95E lockall setvar VAR_0x8004, 0 - goto EventScript_16C96C + goto CeladonCity_GameCorner_EventScript_SlotMachine end -EventScript_16C96A:: @ 816C96A +CeladonCity_GameCorner_EventScript_DontPlaySlotMachine:: @ 816C96A releaseall end -EventScript_16C96C:: @ 816C96C - goto_if_unset FLAG_GOT_COIN_CASE, EventScript_16CAA0 - msgbox gUnknown_8196F46, MSGBOX_YESNO +CeladonCity_GameCorner_EventScript_SlotMachine:: @ 816C96C + goto_if_unset FLAG_GOT_COIN_CASE, CeladonCity_GameCorner_EventScript_SlotMachineNoCoinCase + msgbox CeladonCity_GameCorner_Text_SlotMachineWantToPlay, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_16C96A + goto_if_eq CeladonCity_GameCorner_EventScript_DontPlaySlotMachine setfieldeffectarg 0, 255 setfieldeffectarg 1, 10 setfieldeffectarg 2, 14 - dofieldeffect 64 - waitfieldeffect 64 - specialvar VAR_RESULT, Special_GetRandomSlotMachine + dofieldeffect FLDEFF_SMILEY_FACE_ICON + waitfieldeffect FLDEFF_SMILEY_FACE_ICON + specialvar VAR_RESULT, GetRandomSlotMachineId playslotmachine VAR_RESULT releaseall end -CeladonCity_GameCorner_EventScript_16C9A4:: @ 816C9A4 +CeladonCity_GameCorner_EventScript_SlotMachine1:: @ 816C9A4 lockall setvar VAR_0x8004, 1 - goto EventScript_16C96C + goto CeladonCity_GameCorner_EventScript_SlotMachine end -CeladonCity_GameCorner_EventScript_16C9B0:: @ 816C9B0 +CeladonCity_GameCorner_EventScript_SlotMachine2:: @ 816C9B0 lockall setvar VAR_0x8004, 2 - goto EventScript_16C96C + goto CeladonCity_GameCorner_EventScript_SlotMachine end -CeladonCity_GameCorner_EventScript_16C9BC:: @ 816C9BC +CeladonCity_GameCorner_EventScript_SlotMachine3:: @ 816C9BC lockall setvar VAR_0x8004, 3 - goto EventScript_16C96C + goto CeladonCity_GameCorner_EventScript_SlotMachine end -EventScript_16C9C8:: @ 816C9C8 +CeladonCity_GameCorner_EventScript_SlotMachine4:: @ 816C9C8 lockall setvar VAR_0x8004, 4 - goto EventScript_16C96C + goto CeladonCity_GameCorner_EventScript_SlotMachine end -CeladonCity_GameCorner_EventScript_16C9D4:: @ 816C9D4 +CeladonCity_GameCorner_EventScript_SlotMachine5:: @ 816C9D4 lockall setvar VAR_0x8004, 5 - goto EventScript_16C96C + goto CeladonCity_GameCorner_EventScript_SlotMachine end -CeladonCity_GameCorner_EventScript_16C9E0:: @ 816C9E0 +CeladonCity_GameCorner_EventScript_SlotMachine6:: @ 816C9E0 lockall setvar VAR_0x8004, 6 - goto EventScript_16C96C + goto CeladonCity_GameCorner_EventScript_SlotMachine end -CeladonCity_GameCorner_EventScript_16C9EC:: @ 816C9EC +CeladonCity_GameCorner_EventScript_SlotMachine7:: @ 816C9EC lockall setvar VAR_0x8004, 7 - goto EventScript_16C96C + goto CeladonCity_GameCorner_EventScript_SlotMachine end -CeladonCity_GameCorner_EventScript_16C9F8:: @ 816C9F8 +CeladonCity_GameCorner_EventScript_SlotMachine8:: @ 816C9F8 lockall setvar VAR_0x8004, 8 - goto EventScript_16C96C + goto CeladonCity_GameCorner_EventScript_SlotMachine end -CeladonCity_GameCorner_EventScript_16CA04:: @ 816CA04 +CeladonCity_GameCorner_EventScript_SlotMachine9:: @ 816CA04 lockall setvar VAR_0x8004, 9 - goto EventScript_16C96C + goto CeladonCity_GameCorner_EventScript_SlotMachine end -CeladonCity_GameCorner_EventScript_16CA10:: @ 816CA10 +CeladonCity_GameCorner_EventScript_SlotMachine10:: @ 816CA10 lockall setvar VAR_0x8004, 10 - goto EventScript_16C96C + goto CeladonCity_GameCorner_EventScript_SlotMachine end -CeladonCity_GameCorner_EventScript_16CA1C:: @ 816CA1C +CeladonCity_GameCorner_EventScript_SlotMachine11:: @ 816CA1C lockall setvar VAR_0x8004, 11 - goto EventScript_16C96C + goto CeladonCity_GameCorner_EventScript_SlotMachine end -CeladonCity_GameCorner_EventScript_16CA28:: @ 816CA28 +CeladonCity_GameCorner_EventScript_SlotMachine12:: @ 816CA28 lockall setvar VAR_0x8004, 12 - goto EventScript_16C96C + goto CeladonCity_GameCorner_EventScript_SlotMachine end -CeladonCity_GameCorner_EventScript_16CA34:: @ 816CA34 +CeladonCity_GameCorner_EventScript_SlotMachine13:: @ 816CA34 lockall setvar VAR_0x8004, 13 - goto EventScript_16C96C + goto CeladonCity_GameCorner_EventScript_SlotMachine end -CeladonCity_GameCorner_EventScript_16CA40:: @ 816CA40 +CeladonCity_GameCorner_EventScript_SlotMachine14:: @ 816CA40 lockall setvar VAR_0x8004, 14 - goto EventScript_16C96C + goto CeladonCity_GameCorner_EventScript_SlotMachine end -EventScript_16CA4C:: @ 816CA4C +CeladonCity_GameCorner_EventScript_SlotMachine15:: @ 816CA4C lockall setvar VAR_0x8004, 15 - goto EventScript_16C96C + goto CeladonCity_GameCorner_EventScript_SlotMachine end -CeladonCity_GameCorner_EventScript_16CA58:: @ 816CA58 +CeladonCity_GameCorner_EventScript_SlotMachine16:: @ 816CA58 lockall setvar VAR_0x8004, 16 - goto EventScript_16C96C + goto CeladonCity_GameCorner_EventScript_SlotMachine end -CeladonCity_GameCorner_EventScript_16CA64:: @ 816CA64 +CeladonCity_GameCorner_EventScript_SlotMachine17:: @ 816CA64 lockall setvar VAR_0x8004, 17 - goto EventScript_16C96C + goto CeladonCity_GameCorner_EventScript_SlotMachine end -EventScript_16CA70:: @ 816CA70 +CeladonCity_GameCorner_EventScript_SlotMachine18:: @ 816CA70 lockall setvar VAR_0x8004, 18 - goto EventScript_16C96C + goto CeladonCity_GameCorner_EventScript_SlotMachine end -CeladonCity_GameCorner_EventScript_16CA7C:: @ 816CA7C +CeladonCity_GameCorner_EventScript_SlotMachine19:: @ 816CA7C lockall setvar VAR_0x8004, 19 - goto EventScript_16C96C + goto CeladonCity_GameCorner_EventScript_SlotMachine end -CeladonCity_GameCorner_EventScript_16CA88:: @ 816CA88 +CeladonCity_GameCorner_EventScript_SlotMachine20:: @ 816CA88 lockall setvar VAR_0x8004, 20 - goto EventScript_16C96C + goto CeladonCity_GameCorner_EventScript_SlotMachine end -CeladonCity_GameCorner_EventScript_16CA94:: @ 816CA94 +CeladonCity_GameCorner_EventScript_SlotMachine21:: @ 816CA94 lockall setvar VAR_0x8004, 21 - goto EventScript_16C96C + goto CeladonCity_GameCorner_EventScript_SlotMachine end -EventScript_16CAA0:: @ 816CAA0 - msgbox gUnknown_8196F0D +CeladonCity_GameCorner_EventScript_SlotMachineNoCoinCase:: @ 816CAA0 + msgbox CeladonCity_GameCorner_Text_CoinCaseIsRequired releaseall end -CeladonCity_GameCorner_EventScript_16CAAA:: @ 816CAAA +CeladonCity_GameCorner_EventScript_Poster:: @ 816CAAA lockall - msgbox gUnknown_8196EDC - call_if_unset FLAG_OPENED_ROCKET_HIDEOUT, EventScript_16CABE + msgbox CeladonCity_GameCorner_Text_SwitchBehindPosterPushIt + call_if_unset FLAG_OPENED_ROCKET_HIDEOUT, CeladonCity_GameCorner_EventScript_OpenRocketHideout releaseall end -EventScript_16CABE:: @ 816CABE +CeladonCity_GameCorner_EventScript_OpenRocketHideout:: @ 816CABE playse SE_KI_GASYAN - setmetatile 15, 2, 669, 0 - setmetatile 16, 2, 670, 1 - setmetatile 17, 2, 671, 1 - setmetatile 16, 3, 678, 1 - setmetatile 17, 3, 679, 1 + setmetatile 15, 2, METATILE_GameCorner_Floor_StairsTop, 0 + setmetatile 16, 2, METATILE_GameCorner_StairsTop, 1 + setmetatile 17, 2, METATILE_GameCorner_StairsBottom, 1 + setmetatile 16, 3, METATILE_GameCorner_PurpleWall_StairsTop, 1 + setmetatile 17, 3, METATILE_GameCorner_PurpleWall_stairsBottom, 1 special DrawWholeMapView setflag FLAG_OPENED_ROCKET_HIDEOUT return -CeladonCity_GameCorner_EventScript_16CAF5:: @ 816CAF5 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_7, Text_196E69, Text_196E95, EventScript_16CB10 - msgbox gUnknown_8196E9B, MSGBOX_AUTOCLOSE +CeladonCity_GameCorner_EventScript_RocketGrunt:: @ 816CAF5 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_7, CeladonCity_GameCorner_Text_GruntIntro, CeladonCity_GameCorner_Text_GruntDefeat, CeladonCity_GameCorner_Text_DefeatedGrunt + msgbox CeladonCity_GameCorner_Text_GruntPostBattle, MSGBOX_AUTOCLOSE end -EventScript_16CB10:: @ 816CB10 - msgbox gUnknown_8196E9B +CeladonCity_GameCorner_Text_DefeatedGrunt:: @ 816CB10 + msgbox CeladonCity_GameCorner_Text_GruntPostBattle closemessage compare VAR_FACING, DIR_WEST - call_if_eq EventScript_16CB34 + call_if_eq CeladonCity_GameCorner_Text_GruntExitWest compare VAR_FACING, DIR_WEST - call_if_ne EventScript_16CB3F + call_if_ne CeladonCity_GameCorner_Text_GruntExit removeobject 11 release end -EventScript_16CB34:: @ 816CB34 - applymovement 11, Movement_16CB4A +CeladonCity_GameCorner_Text_GruntExitWest:: @ 816CB34 + applymovement 11, CeladonCity_GameCorner_Movement_GruntExitWest waitmovement 0 return -EventScript_16CB3F:: @ 816CB3F - applymovement 11, Movement_16CB53 +CeladonCity_GameCorner_Text_GruntExit:: @ 816CB3F + applymovement 11, CeladonCity_GameCorner_Movement_GruntExit waitmovement 0 return -Movement_16CB4A:: @ 816CB4A +CeladonCity_GameCorner_Movement_GruntExitWest:: @ 816CB4A walk_down walk_right walk_right @@ -450,7 +450,7 @@ Movement_16CB4A:: @ 816CB4A walk_right step_end -Movement_16CB53:: @ 816CB53 +CeladonCity_GameCorner_Movement_GruntExit:: @ 816CB53 walk_right walk_right walk_right @@ -459,14 +459,14 @@ Movement_16CB53:: @ 816CB53 walk_right step_end -CeladonCity_GameCorner_EventScript_16CB5A:: @ 816CB5A - msgbox gUnknown_8196F64, MSGBOX_SIGN +CeladonCity_GameCorner_EventScript_UnusableSlotMachine1:: @ 816CB5A + msgbox CeladonCity_GameCorner_Text_OutOfOrder, MSGBOX_SIGN end -CeladonCity_GameCorner_EventScript_16CB63:: @ 816CB63 - msgbox gUnknown_8196F81, MSGBOX_SIGN +CeladonCity_GameCorner_EventScript_UnusableSlotMachine2:: @ 816CB63 + msgbox CeladonCity_GameCorner_Text_OutToLunch, MSGBOX_SIGN end -CeladonCity_GameCorner_EventScript_16CB6C:: @ 816CB6C - msgbox gUnknown_8196FA0, MSGBOX_SIGN +CeladonCity_GameCorner_EventScript_UnusableSlotMachine3:: @ 816CB6C + msgbox CeladonCity_GameCorner_Text_SomeonesKeys, MSGBOX_SIGN end diff --git a/data/maps/CeladonCity_GameCorner/text.inc b/data/maps/CeladonCity_GameCorner/text.inc index a388a736f..6813330ab 100644 --- a/data/maps/CeladonCity_GameCorner/text.inc +++ b/data/maps/CeladonCity_GameCorner/text.inc @@ -1,60 +1,60 @@ -gUnknown_8196940:: @ 8196940 +CeladonCity_GameCorner_Text_CanExchangeCoinsNextDoor:: @ 8196940 .string "Welcome!\p" .string "You can exchange your COINS for\n" .string "fabulous prizes next door.$" -Text_196984:: @ 8196984 +CeladonCity_GameCorner_Text_WelcomeBuySomeCoins:: @ 8196984 .string "Welcome to ROCKET GAME CORNER!\p" .string "Do you need some game COINS?\n" .string "Would you like to buy some?$" -gUnknown_81969DC:: @ 81969DC +CeladonCity_GameCorner_Text_ComePlaySometime:: @ 81969DC .string "No?\n" .string "Please come play sometime!$" -gUnknown_81969FB:: @ 81969FB +CeladonCity_GameCorner_Text_SorryDontHaveCoinCase:: @ 81969FB .string "Oh, I'm sorry.\n" .string "You don't have a COIN CASE.$" -gUnknown_8196A26:: @ 8196A26 +CeladonCity_GameCorner_Text_CoinCaseIsFull:: @ 8196A26 .string "Whoops!\n" .string "Your COIN CASE is full.$" -gUnknown_8196A46:: @ 8196A46 +CeladonCity_GameCorner_Text_CantAffordCoins:: @ 8196A46 .string "You can't afford the COINS.$" -gUnknown_8196A62:: @ 8196A62 +CeladonCity_GameCorner_Text_HereAreYourCoins:: @ 8196A62 .string "Thank you.\n" .string "Here are your COINS!$" -gUnknown_8196A82:: @ 8196A82 +CeladonCity_GameCorner_Text_RumoredTeamRocketRunsThisPlace:: @ 8196A82 .string "Keep this quiet.\p" .string "It's rumored that this place is run\n" .string "by TEAM ROCKET.$" -gUnknown_8196AC7:: @ 8196AC7 +CeladonCity_GameCorner_Text_ThinkMachinesHaveDifferentOdds:: @ 8196AC7 .string "I think these machines have\n" .string "different odds.$" -gUnknown_8196AF3:: @ 8196AF3 +CeladonCity_GameCorner_Text_DoYouWantToPlay:: @ 8196AF3 .string "Kid, do you want to play?$" -gUnknown_8196B0D:: @ 8196B0D +CeladonCity_GameCorner_Text_Received10CoinsFromMan:: @ 8196B0D .string "{PLAYER} received 10 COINS\n" .string "from the man.$" -gUnknown_8196B30:: @ 8196B30 +CeladonCity_GameCorner_Text_DontNeedMyCoins:: @ 8196B30 .string "You don't need my COINS!$" -gUnknown_8196B49:: @ 8196B49 +CeladonCity_GameCorner_Text_WinsComeAndGo:: @ 8196B49 .string "Wins seem to come and go.\n" .string "Nothing's a sure thing.$" -gUnknown_8196B7B:: @ 8196B7B +CeladonCity_GameCorner_Text_WinOrLoseItsOnlyLuck:: @ 8196B7B .string "These slot games…\n" .string "Win or lose, it's only by luck.$" -gUnknown_8196BAD:: @ 8196BAD +CeladonCity_GameCorner_Text_GymGuyAdvice:: @ 8196BAD .string "Hey!\p" .string "You have better things to do,\n" .string "champ in the making!\p" @@ -66,83 +66,83 @@ gUnknown_8196BAD:: @ 8196BAD .string "But she's not one to be taken\n" .string "lightly!$" -gUnknown_8196CA1:: @ 8196CA1 +CeladonCity_GameCorner_Text_RareMonsForCoins:: @ 8196CA1 .string "They offer rare POKéMON that can\n" .string "be exchanged for your COINS.\p" .string "But, I just can't seem to win!$" -gUnknown_8196CFE:: @ 8196CFE +CeladonCity_GameCorner_Text_SoEasyToGetHooked:: @ 8196CFE .string "Games are scary!\n" .string "It's so easy to get hooked!$" -gUnknown_8196D2B:: @ 8196D2B +CeladonCity_GameCorner_Text_WantSomeCoins:: @ 8196D2B .string "What's up?\n" .string "Want some COINS?$" -gUnknown_8196D47:: @ 8196D47 +CeladonCity_GameCorner_Text_Received20CoinsFromNiceGuy:: @ 8196D47 .string "{PLAYER} received 20 COINS\n" .string "from the nice guy.$" -gUnknown_8196D6F:: @ 8196D6F +CeladonCity_GameCorner_Text_YouHaveLotsOfCoins:: @ 8196D6F .string "You have lots of COINS!$" -gUnknown_8196D87:: @ 8196D87 +CeladonCity_GameCorner_Text_NeedMoreCoinsForMonIWant:: @ 8196D87 .string "Darn! I need more COINS for the\n" .string "POKéMON I want!$" -gUnknown_8196DB7:: @ 8196DB7 +CeladonCity_GameCorner_Text_HereAreSomeCoinsShoo:: @ 8196DB7 .string "Hey, what? You're throwing me off!\n" .string "Here are some COINS, so shoo!$" -gUnknown_8196DF8:: @ 8196DF8 +CeladonCity_GameCorner_Text_Received20CoinsFromMan:: @ 8196DF8 .string "{PLAYER} received 20 COINS\n" .string "from the man.$" -gUnknown_8196E1B:: @ 8196E1B +CeladonCity_GameCorner_Text_YouveGotPlentyCoins:: @ 8196E1B .string "You've got plenty of your own\n" .string "COINS!$" -gUnknown_8196E40:: @ 8196E40 +CeladonCity_GameCorner_Text_WatchReelsClosely:: @ 8196E40 .string "The trick is to watch the reels\n" .string "closely.$" -Text_196E69:: @ 8196E69 +CeladonCity_GameCorner_Text_GruntIntro:: @ 8196E69 .string "I'm guarding this poster!\n" .string "Go away, or else!$" -Text_196E95:: @ 8196E95 +CeladonCity_GameCorner_Text_GruntDefeat:: @ 8196E95 .string "Dang!$" -gUnknown_8196E9B:: @ 8196E9B +CeladonCity_GameCorner_Text_GruntPostBattle:: @ 8196E9B .string "The TEAM ROCKET HIDEOUT might\n" .string "be discovered!\p" .string "I better tell BOSS!$" -gUnknown_8196EDC:: @ 8196EDC +CeladonCity_GameCorner_Text_SwitchBehindPosterPushIt:: @ 8196EDC .string "Hey!\p" .string "A switch behind the poster!?\n" .string "Let's push it!$" -gUnknown_8196F0D:: @ 8196F0D +CeladonCity_GameCorner_Text_CoinCaseIsRequired:: @ 8196F0D .string "A COIN CASE is required…$" -gUnknown_8196F26:: @ 8196F26 +CeladonCity_GameCorner_Text_DontHaveCoinCase:: @ 8196F26 .string "Oops!\n" .string "Don't have the COIN CASE!$" -gUnknown_8196F46:: @ 8196F46 +CeladonCity_GameCorner_Text_SlotMachineWantToPlay:: @ 8196F46 .string "A slot machine!\n" .string "Want to play?$" -gUnknown_8196F64:: @ 8196F64 +CeladonCity_GameCorner_Text_OutOfOrder:: @ 8196F64 .string "OUT OF ORDER\n" .string "This is broken.$" -gUnknown_8196F81:: @ 8196F81 +CeladonCity_GameCorner_Text_OutToLunch:: @ 8196F81 .string "OUT TO LUNCH\n" .string "This is reserved.$" -gUnknown_8196FA0:: @ 8196FA0 +CeladonCity_GameCorner_Text_SomeonesKeys:: @ 8196FA0 .string "Someone's keys!\n" .string "They'll be back.$" diff --git a/data/maps/CeladonCity_GameCorner_PrizeRoom/map.json b/data/maps/CeladonCity_GameCorner_PrizeRoom/map.json index c873cd0bb..298855844 100644 --- a/data/maps/CeladonCity_GameCorner_PrizeRoom/map.json +++ b/data/maps/CeladonCity_GameCorner_PrizeRoom/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CELADON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 2, "y": 6, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_GameCorner_PrizeRoom_EventScript_16CB76", + "script": "CeladonCity_GameCorner_PrizeRoom_EventScript_BaldingMan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_2", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_2", "x": 6, "y": 7, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_GameCorner_PrizeRoom_EventScript_16CB7F", + "script": "CeladonCity_GameCorner_PrizeRoom_EventScript_OldMan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 4, "y": 2, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_GameCorner_PrizeRoom_EventScript_16CB88", + "script": "CeladonCity_GameCorner_PrizeRoom_EventScript_PrizeClerkMons", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 6, "y": 2, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_GameCorner_PrizeRoom_EventScript_16CE1D", + "script": "CeladonCity_GameCorner_PrizeRoom_EventScript_PrizeClerkTMs", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 2, "y": 2, "elevation": 3, @@ -75,7 +77,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_GameCorner_PrizeRoom_EventScript_16CF88", + "script": "CeladonCity_GameCorner_PrizeRoom_EventScript_PrizeClerkItems", "flag": "0" } ], diff --git a/data/maps/CeladonCity_GameCorner_PrizeRoom/scripts.inc b/data/maps/CeladonCity_GameCorner_PrizeRoom/scripts.inc index 329f829d3..ca8119594 100644 --- a/data/maps/CeladonCity_GameCorner_PrizeRoom/scripts.inc +++ b/data/maps/CeladonCity_GameCorner_PrizeRoom/scripts.inc @@ -1,44 +1,44 @@ CeladonCity_GameCorner_PrizeRoom_MapScripts:: @ 816CB75 .byte 0 -CeladonCity_GameCorner_PrizeRoom_EventScript_16CB76:: @ 816CB76 - msgbox gUnknown_8196FC1, MSGBOX_NPC +CeladonCity_GameCorner_PrizeRoom_EventScript_BaldingMan:: @ 816CB76 + msgbox CeladonCity_GameCorner_PrizeRoom_Text_FancyThatPorygon, MSGBOX_NPC end -CeladonCity_GameCorner_PrizeRoom_EventScript_16CB7F:: @ 816CB7F - msgbox gUnknown_8196FFF, MSGBOX_NPC +CeladonCity_GameCorner_PrizeRoom_EventScript_OldMan:: @ 816CB7F + msgbox CeladonCity_GameCorner_PrizeRoom_Text_RakedItInToday, MSGBOX_NPC end -CeladonCity_GameCorner_PrizeRoom_EventScript_16CB88:: @ 816CB88 +CeladonCity_GameCorner_PrizeRoom_EventScript_PrizeClerkMons:: @ 816CB88 lock faceplayer - goto_if_unset FLAG_GOT_COIN_CASE, EventScript_16CD99 + goto_if_unset FLAG_GOT_COIN_CASE, CeladonCity_GameCorner_PrizeRoom_EventScript_NeedCoinCase goto_if_questlog EventScript_ReleaseEnd showcoinsbox 0, 0 - msgbox gUnknown_8197057 - goto EventScript_16CBB2 + msgbox CeladonCity_GameCorner_PrizeRoom_Text_WeExchangeCoinsForPrizes + goto CeladonCity_GameCorner_PrizeRoom_EventScript_ChoosePrizeMon end -EventScript_16CBB2:: @ 816CBB2 - message Text_19707A +CeladonCity_GameCorner_PrizeRoom_EventScript_ChoosePrizeMon:: @ 816CBB2 + message CeladonCity_GameCorner_PrizeRoom_Text_WhichPrize waitmessage multichoice 11, 0, MULTICHOICE_GAME_CORNER_POKEMON_PRIZES, FALSE switch VAR_RESULT - case 0, EventScript_16CC15 - case 1, EventScript_16CC25 - case 2, EventScript_16CC35 - case 3, EventScript_16CC45 - case 4, EventScript_16CC55 - case 5, EventScript_16CC10 - case 127, EventScript_16CC10 + case 0, CeladonCity_GameCorner_PrizeRoom_EventScript_Abra + case 1, CeladonCity_GameCorner_PrizeRoom_EventScript_Clefairy + case 2, CeladonCity_GameCorner_PrizeRoom_EventScript_DratiniPinsir + case 3, CeladonCity_GameCorner_PrizeRoom_EventScript_ScytherDratini + case 4, CeladonCity_GameCorner_PrizeRoom_EventScript_Porygon + case 5, CeladonCity_GameCorner_PrizeRoom_EventScript_EndPrizeExchange + case 127, CeladonCity_GameCorner_PrizeRoom_EventScript_EndPrizeExchange end -EventScript_16CC10:: @ 816CC10 +CeladonCity_GameCorner_PrizeRoom_EventScript_EndPrizeExchange:: @ 816CC10 hidecoinsbox 0, 0 release end -EventScript_16CC15:: @ 816CC15 +CeladonCity_GameCorner_PrizeRoom_EventScript_Abra:: @ 816CC15 .ifdef FIRERED setvar VAR_TEMP_1, SPECIES_ABRA setvar VAR_TEMP_2, 180 @@ -48,10 +48,10 @@ EventScript_16CC15:: @ 816CC15 setvar VAR_TEMP_2, 120 .endif .endif - goto EventScript_16CC65 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_ConfirmPrizeMon end -EventScript_16CC25:: @ 816CC25 +CeladonCity_GameCorner_PrizeRoom_EventScript_Clefairy:: @ 816CC25 .ifdef FIRERED setvar VAR_TEMP_1, SPECIES_CLEFAIRY setvar VAR_TEMP_2, 500 @@ -61,10 +61,10 @@ EventScript_16CC25:: @ 816CC25 setvar VAR_TEMP_2, 750 .endif .endif - goto EventScript_16CC65 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_ConfirmPrizeMon end -EventScript_16CC35:: @ 816CC35 +CeladonCity_GameCorner_PrizeRoom_EventScript_DratiniPinsir:: @ 816CC35 .ifdef FIRERED setvar VAR_TEMP_1, SPECIES_DRATINI setvar VAR_TEMP_2, 2800 @@ -74,10 +74,10 @@ EventScript_16CC35:: @ 816CC35 setvar VAR_TEMP_2, 2500 .endif .endif - goto EventScript_16CC65 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_ConfirmPrizeMon end -EventScript_16CC45:: @ 816CC45 +CeladonCity_GameCorner_PrizeRoom_EventScript_ScytherDratini:: @ 816CC45 .ifdef FIRERED setvar VAR_TEMP_1, SPECIES_SCYTHER setvar VAR_TEMP_2, 5500 @@ -87,10 +87,10 @@ EventScript_16CC45:: @ 816CC45 setvar VAR_TEMP_2, 4600 .endif .endif - goto EventScript_16CC65 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_ConfirmPrizeMon end -EventScript_16CC55:: @ 816CC55 +CeladonCity_GameCorner_PrizeRoom_EventScript_Porygon:: @ 816CC55 .ifdef FIRERED setvar VAR_TEMP_1, SPECIES_PORYGON setvar VAR_TEMP_2, 9999 @@ -100,28 +100,28 @@ EventScript_16CC55:: @ 816CC55 setvar VAR_TEMP_2, 6500 .endif .endif - goto EventScript_16CC65 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_ConfirmPrizeMon end -EventScript_16CC65:: @ 816CC65 +CeladonCity_GameCorner_PrizeRoom_EventScript_ConfirmPrizeMon:: @ 816CC65 getspeciesname 0, VAR_TEMP_1 - msgbox gUnknown_819709D, MSGBOX_YESNO + msgbox CeladonCity_GameCorner_PrizeRoom_Text_YouWantPrize, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_16CC10 + goto_if_eq CeladonCity_GameCorner_PrizeRoom_EventScript_EndPrizeExchange checkcoins VAR_RESULT compare VAR_RESULT, VAR_TEMP_2 - goto_if_lt EventScript_16CDA5 + goto_if_lt CeladonCity_GameCorner_PrizeRoom_EventScript_NotEnoughCoins textcolor 3 switch VAR_TEMP_1 - case SPECIES_ABRA, EventScript_16CCD4 - case SPECIES_CLEFAIRY, EventScript_16CCE9 - case SPECIES_DRATINI, EventScript_16CCFE - case SPECIES_SCYTHER, EventScript_16CD13 - case SPECIES_PORYGON, EventScript_16CD28 - case SPECIES_PINSIR, EventScript_16CD3D + case SPECIES_ABRA, CeladonCity_GameCorner_PrizeRoom_EventScript_GiveAbra + case SPECIES_CLEFAIRY, CeladonCity_GameCorner_PrizeRoom_EventScript_GiveClefairy + case SPECIES_DRATINI, CeladonCity_GameCorner_PrizeRoom_EventScript_GiveDratini + case SPECIES_SCYTHER, CeladonCity_GameCorner_PrizeRoom_EventScript_GiveScyther + case SPECIES_PORYGON, CeladonCity_GameCorner_PrizeRoom_EventScript_GivePorygon + case SPECIES_PINSIR, CeladonCity_GameCorner_PrizeRoom_EventScript_GivePinsir end -EventScript_16CCD4:: @ 816CCD4 +CeladonCity_GameCorner_PrizeRoom_EventScript_GiveAbra:: @ 816CCD4 .ifdef FIRERED givemon VAR_TEMP_1, 9, ITEM_NONE .else @@ -129,10 +129,10 @@ EventScript_16CCD4:: @ 816CCD4 givemon VAR_TEMP_1, 7, ITEM_NONE .endif .endif - goto EventScript_16CD52 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_CheckReceivedMon end -EventScript_16CCE9:: @ 816CCE9 +CeladonCity_GameCorner_PrizeRoom_EventScript_GiveClefairy:: @ 816CCE9 .ifdef FIRERED givemon VAR_TEMP_1, 8, ITEM_NONE .else @@ -140,10 +140,10 @@ EventScript_16CCE9:: @ 816CCE9 givemon VAR_TEMP_1, 12, ITEM_NONE .endif .endif - goto EventScript_16CD52 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_CheckReceivedMon end -EventScript_16CCFE:: @ 816CCFE +CeladonCity_GameCorner_PrizeRoom_EventScript_GiveDratini:: @ 816CCFE .ifdef FIRERED givemon VAR_TEMP_1, 18, ITEM_NONE .else @@ -151,15 +151,15 @@ EventScript_16CCFE:: @ 816CCFE givemon VAR_TEMP_1, 24, ITEM_NONE .endif .endif - goto EventScript_16CD52 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_CheckReceivedMon end -EventScript_16CD13:: @ 816CD13 +CeladonCity_GameCorner_PrizeRoom_EventScript_GiveScyther:: @ 816CD13 givemon VAR_TEMP_1, 25, ITEM_NONE - goto EventScript_16CD52 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_CheckReceivedMon end -EventScript_16CD28:: @ 816CD28 +CeladonCity_GameCorner_PrizeRoom_EventScript_GivePorygon:: @ 816CD28 .ifdef FIRERED givemon VAR_TEMP_1, 26, ITEM_NONE .else @@ -167,50 +167,50 @@ EventScript_16CD28:: @ 816CD28 givemon VAR_TEMP_1, 18, ITEM_NONE .endif .endif - goto EventScript_16CD52 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_CheckReceivedMon end -EventScript_16CD3D:: @ 816CD3D +CeladonCity_GameCorner_PrizeRoom_EventScript_GivePinsir:: @ 816CD3D givemon VAR_TEMP_1, 18, ITEM_NONE - goto EventScript_16CD52 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_CheckReceivedMon end -EventScript_16CD52:: @ 816CD52 +CeladonCity_GameCorner_PrizeRoom_EventScript_CheckReceivedMon:: @ 816CD52 compare VAR_RESULT, 0 - goto_if_eq EventScript_16CDB3 + goto_if_eq CeladonCity_GameCorner_PrizeRoom_EventScript_ReceivedMonParty compare VAR_RESULT, 1 - goto_if_eq EventScript_16CDE0 + goto_if_eq CeladonCity_GameCorner_PrizeRoom_EventScript_ReceivedMonPC compare VAR_RESULT, 2 - goto_if_eq EventScript_16CD74 + goto_if_eq CeladonCity_GameCorner_PrizeRoom_EventScript_PartyFull end -EventScript_16CD74:: @ 816CD74 +CeladonCity_GameCorner_PrizeRoom_EventScript_PartyFull:: @ 816CD74 textcolor 3 msgbox Text_NoMoreRoomForPokemon hidecoinsbox 0, 0 release end -EventScript_16CD83:: @ 816CD83 +CeladonCity_GameCorner_PrizeRoom_EventScript_NicknamePartyMon:: @ 816CD83 getpartysize subvar VAR_RESULT, 1 copyvar VAR_0x8004, VAR_RESULT call EventScript_ChangePokemonNickname - goto EventScript_16CC10 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_EndPrizeExchange end -EventScript_16CD99:: @ 816CD99 +CeladonCity_GameCorner_PrizeRoom_EventScript_NeedCoinCase:: @ 816CD99 textcolor 3 - msgbox gUnknown_819703E + msgbox CeladonCity_GameCorner_PrizeRoom_Text_CoinCaseRequired release end -EventScript_16CDA5:: @ 816CDA5 - msgbox gUnknown_81970D5 - goto EventScript_16CC10 +CeladonCity_GameCorner_PrizeRoom_EventScript_NotEnoughCoins:: @ 816CDA5 + msgbox CeladonCity_GameCorner_PrizeRoom_Text_NeedMoreCoins + goto CeladonCity_GameCorner_PrizeRoom_EventScript_EndPrizeExchange end -EventScript_16CDB3:: @ 816CDB3 +CeladonCity_GameCorner_PrizeRoom_EventScript_ReceivedMonParty:: @ 816CDB3 removecoins VAR_TEMP_2 updatecoinsbox 0, 5 getspeciesname 0, VAR_TEMP_1 @@ -220,11 +220,11 @@ EventScript_16CDB3:: @ 816CDB3 waitfanfare msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_16CD83 - goto EventScript_16CC10 + goto_if_eq CeladonCity_GameCorner_PrizeRoom_EventScript_NicknamePartyMon + goto CeladonCity_GameCorner_PrizeRoom_EventScript_EndPrizeExchange end -EventScript_16CDE0:: @ 816CDE0 +CeladonCity_GameCorner_PrizeRoom_EventScript_ReceivedMonPC:: @ 816CDE0 removecoins VAR_TEMP_2 updatecoinsbox 0, 5 getspeciesname 0, VAR_TEMP_1 @@ -234,161 +234,161 @@ EventScript_16CDE0:: @ 816CDE0 waitfanfare msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_16CE12 + goto_if_eq CeladonCity_GameCorner_PrizeRoom_EventScript_TransferredToPC call EventScript_NameReceivedBoxMon - goto EventScript_16CE12 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_TransferredToPC end -EventScript_16CE12:: @ 816CE12 +CeladonCity_GameCorner_PrizeRoom_EventScript_TransferredToPC:: @ 816CE12 call EventScript_TransferredToPC - goto EventScript_16CC10 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_EndPrizeExchange end -CeladonCity_GameCorner_PrizeRoom_EventScript_16CE1D:: @ 816CE1D +CeladonCity_GameCorner_PrizeRoom_EventScript_PrizeClerkTMs:: @ 816CE1D lock faceplayer - goto_if_unset FLAG_GOT_COIN_CASE, EventScript_16CD99 + goto_if_unset FLAG_GOT_COIN_CASE, CeladonCity_GameCorner_PrizeRoom_EventScript_NeedCoinCase goto_if_questlog EventScript_ReleaseEnd showcoinsbox 0, 0 - msgbox gUnknown_8197057 - goto EventScript_16CE47 + msgbox CeladonCity_GameCorner_PrizeRoom_Text_WeExchangeCoinsForPrizes + goto CeladonCity_GameCorner_PrizeRoom_EventScript_ChoosePrizeTM end -EventScript_16CE47:: @ 816CE47 - message Text_19707A +CeladonCity_GameCorner_PrizeRoom_EventScript_ChoosePrizeTM:: @ 816CE47 + message CeladonCity_GameCorner_PrizeRoom_Text_WhichPrize waitmessage multichoice 11, 0, MULTICHOICE_GAME_CORNER_TMPRIZES, FALSE switch VAR_RESULT - case 0, EventScript_16CEA5 - case 1, EventScript_16CEB9 - case 2, EventScript_16CECD - case 3, EventScript_16CEE1 - case 4, EventScript_16CEF5 - case 5, EventScript_16CC10 - case 127, EventScript_16CC10 + case 0, CeladonCity_GameCorner_PrizeRoom_EventScript_TM13 + case 1, CeladonCity_GameCorner_PrizeRoom_EventScript_TM23 + case 2, CeladonCity_GameCorner_PrizeRoom_EventScript_TM24 + case 3, CeladonCity_GameCorner_PrizeRoom_EventScript_TM30 + case 4, CeladonCity_GameCorner_PrizeRoom_EventScript_TM35 + case 5, CeladonCity_GameCorner_PrizeRoom_EventScript_EndPrizeExchange + case 127, CeladonCity_GameCorner_PrizeRoom_EventScript_EndPrizeExchange end -EventScript_16CEA5:: @ 816CEA5 +CeladonCity_GameCorner_PrizeRoom_EventScript_TM13:: @ 816CEA5 setvar VAR_TEMP_1, ITEM_TM13 setvar VAR_TEMP_2, 4000 getmovename 1, MOVE_ICE_BEAM - goto EventScript_16CF09 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_ConfirmPrizeTM end -EventScript_16CEB9:: @ 816CEB9 +CeladonCity_GameCorner_PrizeRoom_EventScript_TM23:: @ 816CEB9 setvar VAR_TEMP_1, ITEM_TM23 setvar VAR_TEMP_2, 3500 getmovename 1, MOVE_IRON_TAIL - goto EventScript_16CF09 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_ConfirmPrizeTM end -EventScript_16CECD:: @ 816CECD +CeladonCity_GameCorner_PrizeRoom_EventScript_TM24:: @ 816CECD setvar VAR_TEMP_1, ITEM_TM24 setvar VAR_TEMP_2, 4000 getmovename 1, MOVE_THUNDERBOLT - goto EventScript_16CF09 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_ConfirmPrizeTM end -EventScript_16CEE1:: @ 816CEE1 +CeladonCity_GameCorner_PrizeRoom_EventScript_TM30:: @ 816CEE1 setvar VAR_TEMP_1, ITEM_TM30 setvar VAR_TEMP_2, 4500 getmovename 1, MOVE_SHADOW_BALL - goto EventScript_16CF09 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_ConfirmPrizeTM end -EventScript_16CEF5:: @ 816CEF5 +CeladonCity_GameCorner_PrizeRoom_EventScript_TM35:: @ 816CEF5 setvar VAR_TEMP_1, ITEM_TM35 setvar VAR_TEMP_2, 4000 getmovename 1, MOVE_FLAMETHROWER - goto EventScript_16CF09 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_ConfirmPrizeTM end -EventScript_16CF09:: @ 816CF09 - msgbox gUnknown_81970B2, MSGBOX_YESNO +CeladonCity_GameCorner_PrizeRoom_EventScript_ConfirmPrizeTM:: @ 816CF09 + msgbox CeladonCity_GameCorner_PrizeRoom_Text_YouWantTM, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_16CC10 - goto EventScript_16CF3F + goto_if_eq CeladonCity_GameCorner_PrizeRoom_EventScript_EndPrizeExchange + goto CeladonCity_GameCorner_PrizeRoom_EventScript_TryGivePrize end -EventScript_16CF22:: @ 816CF22 +CeladonCity_GameCorner_PrizeRoom_EventScript_ConfirmPrizeItem:: @ 816CF22 getitemname 0, VAR_TEMP_1 - msgbox gUnknown_819709D, MSGBOX_YESNO + msgbox CeladonCity_GameCorner_PrizeRoom_Text_YouWantPrize, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_16CC10 - goto EventScript_16CF3F + goto_if_eq CeladonCity_GameCorner_PrizeRoom_EventScript_EndPrizeExchange + goto CeladonCity_GameCorner_PrizeRoom_EventScript_TryGivePrize end -EventScript_16CF3F:: @ 816CF3F +CeladonCity_GameCorner_PrizeRoom_EventScript_TryGivePrize:: @ 816CF3F getitemname 0, VAR_TEMP_1 checkcoins VAR_RESULT compare VAR_RESULT, VAR_TEMP_2 - goto_if_lt EventScript_16CDA5 + goto_if_lt CeladonCity_GameCorner_PrizeRoom_EventScript_NotEnoughCoins checkitemspace VAR_TEMP_1, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_16CF79 + goto_if_eq CeladonCity_GameCorner_PrizeRoom_EventScript_BagFull removecoins VAR_TEMP_2 updatecoinsbox 0, 5 giveitem VAR_TEMP_1 - goto EventScript_16CC10 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_EndPrizeExchange end -EventScript_16CF79:: @ 816CF79 +CeladonCity_GameCorner_PrizeRoom_EventScript_BagFull:: @ 816CF79 textcolor 3 msgbox Text_TooBadBagFull hidecoinsbox 0, 0 release end -CeladonCity_GameCorner_PrizeRoom_EventScript_16CF88:: @ 816CF88 +CeladonCity_GameCorner_PrizeRoom_EventScript_PrizeClerkItems:: @ 816CF88 lock faceplayer - goto_if_unset FLAG_GOT_COIN_CASE, EventScript_16CD99 + goto_if_unset FLAG_GOT_COIN_CASE, CeladonCity_GameCorner_PrizeRoom_EventScript_NeedCoinCase goto_if_questlog EventScript_ReleaseEnd showcoinsbox 0, 0 - msgbox gUnknown_8197057 - goto EventScript_16CFB2 + msgbox CeladonCity_GameCorner_PrizeRoom_Text_WeExchangeCoinsForPrizes + goto CeladonCity_GameCorner_PrizeRoom_EventScript_ChoosePrizeItem end -EventScript_16CFB2:: @ 816CFB2 - message Text_19707A +CeladonCity_GameCorner_PrizeRoom_EventScript_ChoosePrizeItem:: @ 816CFB2 + message CeladonCity_GameCorner_PrizeRoom_Text_WhichPrize waitmessage multichoice 10, 0, MULTICHOICE_GAME_CORNER_BATTLE_ITEM_PRIZES, FALSE switch VAR_RESULT - case 0, EventScript_16D010 - case 1, EventScript_16D020 - case 2, EventScript_16D030 - case 3, EventScript_16D040 - case 4, EventScript_16D050 - case 5, EventScript_16CC10 - case 127, EventScript_16CC10 + case 0, CeladonCity_GameCorner_PrizeRoom_EventScript_SmokeBall + case 1, CeladonCity_GameCorner_PrizeRoom_EventScript_MiracleSeed + case 2, CeladonCity_GameCorner_PrizeRoom_EventScript_Charcoal + case 3, CeladonCity_GameCorner_PrizeRoom_EventScript_MysticWater + case 4, CeladonCity_GameCorner_PrizeRoom_EventScript_YellowFlute + case 5, CeladonCity_GameCorner_PrizeRoom_EventScript_EndPrizeExchange + case 127, CeladonCity_GameCorner_PrizeRoom_EventScript_EndPrizeExchange end -EventScript_16D010:: @ 816D010 +CeladonCity_GameCorner_PrizeRoom_EventScript_SmokeBall:: @ 816D010 setvar VAR_TEMP_1, ITEM_SMOKE_BALL setvar VAR_TEMP_2, 800 - goto EventScript_16CF22 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_ConfirmPrizeItem end -EventScript_16D020:: @ 816D020 +CeladonCity_GameCorner_PrizeRoom_EventScript_MiracleSeed:: @ 816D020 setvar VAR_TEMP_1, ITEM_MIRACLE_SEED setvar VAR_TEMP_2, 1000 - goto EventScript_16CF22 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_ConfirmPrizeItem end -EventScript_16D030:: @ 816D030 +CeladonCity_GameCorner_PrizeRoom_EventScript_Charcoal:: @ 816D030 setvar VAR_TEMP_1, ITEM_CHARCOAL setvar VAR_TEMP_2, 1000 - goto EventScript_16CF22 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_ConfirmPrizeItem end -EventScript_16D040:: @ 816D040 +CeladonCity_GameCorner_PrizeRoom_EventScript_MysticWater:: @ 816D040 setvar VAR_TEMP_1, ITEM_MYSTIC_WATER setvar VAR_TEMP_2, 1000 - goto EventScript_16CF22 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_ConfirmPrizeItem end -EventScript_16D050:: @ 816D050 +CeladonCity_GameCorner_PrizeRoom_EventScript_YellowFlute:: @ 816D050 setvar VAR_TEMP_1, ITEM_YELLOW_FLUTE setvar VAR_TEMP_2, 1600 - goto EventScript_16CF22 + goto CeladonCity_GameCorner_PrizeRoom_EventScript_ConfirmPrizeItem end diff --git a/data/maps/CeladonCity_GameCorner_PrizeRoom/text.inc b/data/maps/CeladonCity_GameCorner_PrizeRoom/text.inc index a5a21b9bc..f2b950607 100644 --- a/data/maps/CeladonCity_GameCorner_PrizeRoom/text.inc +++ b/data/maps/CeladonCity_GameCorner_PrizeRoom/text.inc @@ -1,31 +1,37 @@ -gUnknown_8196FC1:: @ 8196FC1 +CeladonCity_GameCorner_PrizeRoom_Text_FancyThatPorygon:: @ 8196FC1 .string "I sure do fancy that PORYGON!\n" .string "But, it's hard to win at slots!$" -gUnknown_8196FFF:: @ 8196FFF +CeladonCity_GameCorner_PrizeRoom_Text_RakedItInToday:: @ 8196FFF .string "Gahaha! I raked it in today!\n" .string "If only every day were like this…$" -gUnknown_819703E:: @ 819703E +CeladonCity_GameCorner_PrizeRoom_Text_CoinCaseRequired:: @ 819703E .string "A COIN CASE is required…$" -gUnknown_8197057:: @ 8197057 +CeladonCity_GameCorner_PrizeRoom_Text_WeExchangeCoinsForPrizes:: @ 8197057 .string "We exchange your COINS for prizes.$" -Text_19707A:: @ 819707A +CeladonCity_GameCorner_PrizeRoom_Text_WhichPrize:: @ 819707A .string "Which prize would you like?$" -gUnknown_8197096:: @ 8197096 +CeladonCity_GameCorner_PrizeRoom_Text_HereYouGo:: @ 8197096 .string "はい どうぞ$" -gUnknown_819709D:: @ 819709D +CeladonCity_GameCorner_PrizeRoom_Text_YouWantPrize:: @ 819709D .string "So, you want the {STR_VAR_1}?$" -gUnknown_81970B2:: @ 81970B2 +CeladonCity_GameCorner_PrizeRoom_Text_YouWantTM:: @ 81970B2 .string "Okay, a TM of {STR_VAR_2}\n" .string "is what you want?$" -gUnknown_81970D5:: @ 81970D5 +CeladonCity_GameCorner_PrizeRoom_Text_NeedMoreCoins:: @ 81970D5 .string "Sorry, you'll need more COINS\n" .string "than that.$" +CeladonCity_GameCorner_PrizeRoom_Text_OopsNotEnoughRoom:: @ 81970FE + .string "おきゃくさん もう もてないよ$" + +CeladonCity_GameCorner_PrizeRoom_Text_OhFineThen:: @ 819710E + .string "あっ そう$" + diff --git a/data/maps/CeladonCity_Gym/map.json b/data/maps/CeladonCity_Gym/map.json index 88187cdc9..67a97d71d 100644 --- a/data/maps/CeladonCity_Gym/map.json +++ b/data/maps/CeladonCity_Gym/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CELADON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_1", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 3, "y": 11, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "CeladonCity_Gym_EventScript_16D111", + "script": "CeladonCity_Gym_EventScript_Kay", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BEAUTY", + "graphics_id": "OBJ_EVENT_GFX_BEAUTY", "x": 9, "y": 10, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "CeladonCity_Gym_EventScript_16D163", + "script": "CeladonCity_Gym_EventScript_Bridget", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 10, "y": 7, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "CeladonCity_Gym_EventScript_16D14C", + "script": "CeladonCity_Gym_EventScript_Tina", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BEAUTY", + "graphics_id": "OBJ_EVENT_GFX_BEAUTY", "x": 2, "y": 6, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "CeladonCity_Gym_EventScript_16D17A", + "script": "CeladonCity_Gym_EventScript_Tamia", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BEAUTY", + "graphics_id": "OBJ_EVENT_GFX_BEAUTY", "x": 5, "y": 4, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "CeladonCity_Gym_EventScript_16D19E", + "script": "CeladonCity_Gym_EventScript_Lori", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 7, "y": 4, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "CeladonCity_Gym_EventScript_16D128", + "script": "CeladonCity_Gym_EventScript_Lisa", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ERIKA", + "graphics_id": "OBJ_EVENT_GFX_ERIKA", "x": 6, "y": 4, "elevation": 3, @@ -101,11 +103,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_Gym_EventScript_16D061", + "script": "CeladonCity_Gym_EventScript_Erika", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_F", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_F", "x": 8, "y": 7, "elevation": 3, @@ -114,11 +116,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "CeladonCity_Gym_EventScript_16D1B5", + "script": "CeladonCity_Gym_EventScript_Mary", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 6, "y": 8, "elevation": 3, @@ -127,11 +129,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 3, "y": 5, "elevation": 3, @@ -140,11 +142,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_13" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 9, "y": 6, "elevation": 3, @@ -153,7 +155,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_14" } ], @@ -183,18 +185,20 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 16, "elevation": 0, - "script": "CeladonCity_Gym_EventScript_16D1CC" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_Gym_EventScript_GymStatue" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 16, "elevation": 0, - "script": "CeladonCity_Gym_EventScript_16D1CC" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "CeladonCity_Gym_EventScript_GymStatue" } ] } diff --git a/data/maps/CeladonCity_Gym/scripts.inc b/data/maps/CeladonCity_Gym/scripts.inc index 60a945e21..8291ad757 100644 --- a/data/maps/CeladonCity_Gym/scripts.inc +++ b/data/maps/CeladonCity_Gym/scripts.inc @@ -1,85 +1,85 @@ CeladonCity_Gym_MapScripts:: @ 816D060 .byte 0 -CeladonCity_Gym_EventScript_16D061:: @ 816D061 +CeladonCity_Gym_EventScript_Erika:: @ 816D061 famechecker FAMECHECKER_ERIKA, FCPICKSTATE_COLORED, UpdatePickStateFromSpecialVar8005 - trainerbattle_single TRAINER_LEADER_ERIKA, Text_197114, Text_197260, EventScript_16D0A0, NO_MUSIC - goto_if_unset FLAG_GOT_TM19_FROM_ERIKA, EventScript_16D0C6 + trainerbattle_single TRAINER_LEADER_ERIKA, CeladonCity_Gym_Text_ErikaIntro, CeladonCity_Gym_Text_ErikaDefeat, CeladonCity_Gym_EventScript_DefeatedErika, NO_MUSIC + goto_if_unset FLAG_GOT_TM19_FROM_ERIKA, CeladonCity_Gym_EventScript_GiveTM19 famechecker FAMECHECKER_ERIKA, 4 - msgbox gUnknown_81972B8 + msgbox CeladonCity_Gym_Text_ErikaPostBattle release end -EventScript_16D0A0:: @ 816D0A0 +CeladonCity_Gym_EventScript_DefeatedErika:: @ 816D0A0 famechecker FAMECHECKER_ERIKA, 1 clearflag FLAG_HIDE_FAME_CHECKER_ERIKA_JOURNALS setflag FLAG_DEFEATED_ERIKA setflag FLAG_BADGE04_GET set_gym_trainers 4 - goto EventScript_16D0C6 + goto CeladonCity_Gym_EventScript_GiveTM19 end -EventScript_16D0C6:: @ 816D0C6 - msgbox gUnknown_8197327 +CeladonCity_Gym_EventScript_GiveTM19:: @ 816D0C6 + msgbox CeladonCity_Gym_Text_ExplainRainbowBadgeTakeThis checkitemspace ITEM_TM19, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_16D107 - giveitem_msg gUnknown_81973BA, ITEM_TM19 + goto_if_eq CeladonCity_Gym_EventScript_NoRoomForTM19 + giveitem_msg CeladonCity_Gym_Text_ReceivedTM19FromErika, ITEM_TM19 setflag FLAG_GOT_TM19_FROM_ERIKA - msgbox gUnknown_81973D7 + msgbox CeladonCity_Gym_Text_ExplainTM19 release end -EventScript_16D107:: @ 816D107 - msgbox gUnknown_819745D +CeladonCity_Gym_EventScript_NoRoomForTM19:: @ 816D107 + msgbox CeladonCity_Gym_Text_ShouldMakeRoomForThis release end -CeladonCity_Gym_EventScript_16D111:: @ 816D111 - trainerbattle_single TRAINER_LASS_KAY, Text_19747C, Text_1974C4 - msgbox gUnknown_81974D6, MSGBOX_AUTOCLOSE +CeladonCity_Gym_EventScript_Kay:: @ 816D111 + trainerbattle_single TRAINER_LASS_KAY, CeladonCity_Gym_Text_KayIntro, CeladonCity_Gym_Text_KayDefeat + msgbox CeladonCity_Gym_Text_KayPostBattle, MSGBOX_AUTOCLOSE end -CeladonCity_Gym_EventScript_16D128:: @ 816D128 - trainerbattle_single TRAINER_LASS_LISA, Text_1976C5, Text_1976FF +CeladonCity_Gym_EventScript_Lisa:: @ 816D128 + trainerbattle_single TRAINER_LASS_LISA, CeladonCity_Gym_Text_LisaIntro, CeladonCity_Gym_Text_LisaDefeat famechecker FAMECHECKER_ERIKA, 2 - msgbox gUnknown_8197708, MSGBOX_AUTOCLOSE + msgbox CeladonCity_Gym_Text_LisaPostBattle, MSGBOX_AUTOCLOSE end -CeladonCity_Gym_EventScript_16D14C:: @ 816D14C - trainerbattle_single TRAINER_PICNICKER_TINA, Text_197595, Text_1975BB - msgbox gUnknown_81975D1, MSGBOX_AUTOCLOSE +CeladonCity_Gym_EventScript_Tina:: @ 816D14C + trainerbattle_single TRAINER_PICNICKER_TINA, CeladonCity_Gym_Text_TinaIntro, CeladonCity_Gym_Text_TinaDefeat + msgbox CeladonCity_Gym_Text_TinaPostBattle, MSGBOX_AUTOCLOSE end -CeladonCity_Gym_EventScript_16D163:: @ 816D163 - trainerbattle_single TRAINER_BEAUTY_BRIDGET, Text_1974FA, Text_19751C - msgbox gUnknown_8197527, MSGBOX_AUTOCLOSE +CeladonCity_Gym_EventScript_Bridget:: @ 816D163 + trainerbattle_single TRAINER_BEAUTY_BRIDGET, CeladonCity_Gym_Text_BridgetIntro, CeladonCity_Gym_Text_BridgetDefeat + msgbox CeladonCity_Gym_Text_BridgetPostBattle, MSGBOX_AUTOCLOSE end -CeladonCity_Gym_EventScript_16D17A:: @ 816D17A - trainerbattle_single TRAINER_BEAUTY_TAMIA, Text_19760B, Text_197660 +CeladonCity_Gym_EventScript_Tamia:: @ 816D17A + trainerbattle_single TRAINER_BEAUTY_TAMIA, CeladonCity_Gym_Text_TamiaIntro, CeladonCity_Gym_Text_TamiaDefeat famechecker FAMECHECKER_ERIKA, 3 - msgbox gUnknown_8197664, MSGBOX_AUTOCLOSE + msgbox CeladonCity_Gym_Text_TamiaPostBattle, MSGBOX_AUTOCLOSE end -CeladonCity_Gym_EventScript_16D19E:: @ 816D19E - trainerbattle_single TRAINER_BEAUTY_LORI, Text_197747, Text_19777A - msgbox gUnknown_8197788, MSGBOX_AUTOCLOSE +CeladonCity_Gym_EventScript_Lori:: @ 816D19E + trainerbattle_single TRAINER_BEAUTY_LORI, CeladonCity_Gym_Text_LoriIntro, CeladonCity_Gym_Text_LoriDefeat + msgbox CeladonCity_Gym_Text_LoriPostBattle, MSGBOX_AUTOCLOSE end -CeladonCity_Gym_EventScript_16D1B5:: @ 816D1B5 - trainerbattle_single TRAINER_COOLTRAINER_MARY, Text_1977E5, Text_197832 - msgbox gUnknown_819783E, MSGBOX_AUTOCLOSE +CeladonCity_Gym_EventScript_Mary:: @ 816D1B5 + trainerbattle_single TRAINER_COOLTRAINER_MARY, CeladonCity_Gym_Text_MaryIntro, CeladonCity_Gym_Text_MaryDefeat + msgbox CeladonCity_Gym_Text_MaryPostBattle, MSGBOX_AUTOCLOSE end -CeladonCity_Gym_EventScript_16D1CC:: @ 816D1CC +CeladonCity_Gym_EventScript_GymStatue:: @ 816D1CC lockall - goto_if_set FLAG_BADGE04_GET, EventScript_16D1E0 - msgbox gUnknown_8197874 + goto_if_set FLAG_BADGE04_GET, CeladonCity_Gym_EventScript_GymStatuePostVictory + msgbox CeladonCity_Gym_Text_GymStatue releaseall end -EventScript_16D1E0:: @ 816D1E0 - msgbox gUnknown_81978AB +CeladonCity_Gym_EventScript_GymStatuePostVictory:: @ 816D1E0 + msgbox CeladonCity_Gym_Text_GymStatuePlayerWon releaseall end diff --git a/data/maps/CeladonCity_Gym/text.inc b/data/maps/CeladonCity_Gym/text.inc index 02c39a95c..9e372584e 100644 --- a/data/maps/CeladonCity_Gym/text.inc +++ b/data/maps/CeladonCity_Gym/text.inc @@ -1,168 +1,150 @@ -gUnknown_81970FE:: @ 81970FE - .string "おきゃくさん もう もてないよ$" @ I'm sorry I don't have any more - -gUnknown_819710E:: @ 819710E - .string "あっ そう$" @ I see - -Text_197114:: @ 8197114 +CeladonCity_Gym_Text_ErikaIntro:: @ 8197114 .string "Hello…\n" .string "Lovely weather, isn't it?\l" .string "It's so pleasant…\p" - .string "…Oh, dear…\n" .string "I must have dozed off. Welcome.\p" - .string "My name is ERIKA.\n" .string "I am the LEADER of CELADON GYM.\p" - .string "I am a student of the art of\n" .string "flower arranging.\p" - .string "My POKéMON are solely of the\n" .string "GRASS type.\p" - .string "…Oh, I'm sorry, I had no idea that\n" .string "you wished to challenge me.\p" - .string "Very well, but I shall not lose.{PLAY_BGM MUS_EXEYE}$" -Text_197260:: @ 8197260 +CeladonCity_Gym_Text_ErikaDefeat:: @ 8197260 .string "Oh!\n" .string "I concede defeat.\l" .string "You are remarkably strong.\p" - .string "I must confer on you the\n" .string "RAINBOWBADGE.$" -gUnknown_81972B8:: @ 81972B8 +CeladonCity_Gym_Text_ErikaPostBattle:: @ 81972B8 .string "You are cataloging POKéMON?\n" .string "I must say I'm impressed.\p" - .string "I would never collect POKéMON if\n" .string "they were unattractive.$" -gUnknown_8197327:: @ 8197327 +CeladonCity_Gym_Text_ExplainRainbowBadgeTakeThis:: @ 8197327 .string "The RAINBOWBADGE will make\n" .string "POKéMON up to Lv. 50 obey.\p" - .string "It also allows POKéMON to use\n" .string "STRENGTH in and out of battle.\p" - .string "Please also take this with you.$" -gUnknown_81973BA:: @ 81973BA +CeladonCity_Gym_Text_ReceivedTM19FromErika:: @ 81973BA .string "{PLAYER} received TM19\n" .string "from ERIKA.$" -gUnknown_81973D7:: @ 81973D7 +CeladonCity_Gym_Text_ExplainTM19:: @ 81973D7 .string "TM19 contains GIGA DRAIN.\p" - .string "Half the damage it inflicts is\n" .string "drained to heal your POKéMON.\p" - .string "Wouldn't you agree that it's a\n" .string "wonderful move?$" -gUnknown_819745D:: @ 819745D +CeladonCity_Gym_Text_ShouldMakeRoomForThis:: @ 819745D .string "You should make room for this.$" -Text_19747C:: @ 819747C +CeladonCity_Gym_Text_KayIntro:: @ 819747C .string "I should tell you about this GYM.\p" .string "Only real ladies are allowed in\n" .string "here!$" -Text_1974C4:: @ 81974C4 +CeladonCity_Gym_Text_KayDefeat:: @ 81974C4 .string "You're too rough!$" -gUnknown_81974D6:: @ 81974D6 +CeladonCity_Gym_Text_KayPostBattle:: @ 81974D6 .string "Bleaah!\n" .string "I hope ERIKA wipes you out!$" -Text_1974FA:: @ 81974FA +CeladonCity_Gym_Text_BridgetIntro:: @ 81974FA .string "Oh, welcome.\n" .string "I was getting bored.$" -Text_19751C:: @ 819751C +CeladonCity_Gym_Text_BridgetDefeat:: @ 819751C .string "My makeup!$" -gUnknown_8197527:: @ 8197527 +CeladonCity_Gym_Text_BridgetPostBattle:: @ 8197527 .string "GRASS-type POKéMON are tough\n" .string "against the WATER type.\p" .string "They also have an edge on ROCK-\n" .string "and GROUND-type POKéMON.$" -Text_197595:: @ 8197595 +CeladonCity_Gym_Text_TinaIntro:: @ 8197595 .string "…Weren't you peeking in here\n" .string "earlier?$" -Text_1975BB:: @ 81975BB +CeladonCity_Gym_Text_TinaDefeat:: @ 81975BB .string "You're an eye-opener!$" -gUnknown_81975D1:: @ 81975D1 +CeladonCity_Gym_Text_TinaPostBattle:: @ 81975D1 .string "Oh, you were looking at ERIKA…\n" .string "You weren't looking at me…$" -Text_19760B:: @ 819760B +CeladonCity_Gym_Text_TamiaIntro:: @ 819760B .string "Look, look!\n" .string "See my POKéMON!\p" .string "I like the GRASS type.\n" .string "I like how they're easy to raise.$" -Text_197660:: @ 8197660 +CeladonCity_Gym_Text_TamiaDefeat:: @ 8197660 .string "No!$" -gUnknown_8197664:: @ 8197664 +CeladonCity_Gym_Text_TamiaPostBattle:: @ 8197664 .string "We only use GRASS-type POKéMON at\n" .string "our GYM.\p" .string "Why? We also use them for making\n" .string "flower arrangements!$" -Text_1976C5:: @ 81976C5 +CeladonCity_Gym_Text_LisaIntro:: @ 81976C5 .string "Oh, hey!\p" .string "We don't like BUG- or FIRE-type\n" .string "POKéMON in here!$" -Text_1976FF:: @ 81976FF +CeladonCity_Gym_Text_LisaDefeat:: @ 81976FF .string "Oh!\n" .string "You!$" -gUnknown_8197708:: @ 8197708 +CeladonCity_Gym_Text_LisaPostBattle:: @ 8197708 .string "Our LEADER ERIKA might be quiet,\n" .string "but she's famous around here.$" -Text_197747:: @ 8197747 +CeladonCity_Gym_Text_LoriIntro:: @ 8197747 .string "Pleased to meet you.\n" .string "My hobby is POKéMON training.$" -Text_19777A:: @ 819777A +CeladonCity_Gym_Text_LoriDefeat:: @ 819777A .string "Oh!\n" .string "Splendid!$" -gUnknown_8197788:: @ 8197788 +CeladonCity_Gym_Text_LoriPostBattle:: @ 8197788 .string "I have a blind date coming up.\n" .string "I have to learn to be polite,\l" .string "especially if I have to battle.$" -Text_1977E5:: @ 81977E5 +CeladonCity_Gym_Text_MaryIntro:: @ 81977E5 .string "Welcome to CELADON GYM!\p" .string "You'd better not underestimate\n" .string "the nice ladies here.$" -Text_197832:: @ 8197832 +CeladonCity_Gym_Text_MaryDefeat:: @ 8197832 .string "Oh!\n" .string "Beaten!$" -gUnknown_819783E:: @ 819783E +CeladonCity_Gym_Text_MaryPostBattle:: @ 819783E .string "I didn't bring my best POKéMON.\n" .string "Wait until next time!$" -gUnknown_8197874:: @ 8197874 +CeladonCity_Gym_Text_GymStatue:: @ 8197874 .string "CELADON POKéMON GYM\n" .string "LEADER: ERIKA\p" .string "WINNING TRAINERS:\n" .string "{RIVAL}$" -gUnknown_81978AB:: @ 81978AB +CeladonCity_Gym_Text_GymStatuePlayerWon:: @ 81978AB .string "CELADON POKéMON GYM\n" .string "LEADER: ERIKA\p" .string "WINNING TRAINERS:\n" diff --git a/data/maps/CeladonCity_Hotel/map.json b/data/maps/CeladonCity_Hotel/map.json index 6ab82e945..66d15f518 100644 --- a/data/maps/CeladonCity_Hotel/map.json +++ b/data/maps/CeladonCity_Hotel/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CELADON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_OLD_WOMAN", + "graphics_id": "OBJ_EVENT_GFX_OLD_WOMAN", "x": 5, "y": 4, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_Hotel_EventScript_16D284", + "script": "CeladonCity_Hotel_EventScript_Receptionist", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BEAUTY", + "graphics_id": "OBJ_EVENT_GFX_BEAUTY", "x": 3, "y": 6, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_Hotel_EventScript_16D28D", + "script": "CeladonCity_Hotel_EventScript_Beauty", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 9, "y": 7, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_Hotel_EventScript_16D296", + "script": "CeladonCity_Hotel_EventScript_BeautyBoyfriend", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_BOY", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_BOY", "x": 2, "y": 6, "elevation": 3, @@ -62,7 +64,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_Hotel_EventScript_16D29F", + "script": "CeladonCity_Hotel_EventScript_BeautyBrother", "flag": "0" } ], diff --git a/data/maps/CeladonCity_Hotel/scripts.inc b/data/maps/CeladonCity_Hotel/scripts.inc index 4f136bad3..be366a705 100644 --- a/data/maps/CeladonCity_Hotel/scripts.inc +++ b/data/maps/CeladonCity_Hotel/scripts.inc @@ -1,18 +1,18 @@ CeladonCity_Hotel_MapScripts:: @ 816D283 .byte 0 -CeladonCity_Hotel_EventScript_16D284:: @ 816D284 - msgbox gUnknown_8197B77, MSGBOX_NPC +CeladonCity_Hotel_EventScript_Receptionist:: @ 816D284 + msgbox CeladonCity_Hotel_Text_ThisHotelIsForPeople, MSGBOX_NPC end -CeladonCity_Hotel_EventScript_16D28D:: @ 816D28D - msgbox gUnknown_8197BBE, MSGBOX_NPC +CeladonCity_Hotel_EventScript_Beauty:: @ 816D28D + msgbox CeladonCity_Hotel_Text_OnVacationWithBrotherAndBoyfriend, MSGBOX_NPC end -CeladonCity_Hotel_EventScript_16D296:: @ 816D296 - msgbox gUnknown_8197C0C, MSGBOX_NPC +CeladonCity_Hotel_EventScript_BeautyBoyfriend:: @ 816D296 + msgbox CeladonCity_Hotel_Text_WhyDidSheBringBrother, MSGBOX_NPC end -CeladonCity_Hotel_EventScript_16D29F:: @ 816D29F - msgbox gUnknown_8197C30, MSGBOX_NPC +CeladonCity_Hotel_EventScript_BeautyBrother:: @ 816D29F + msgbox CeladonCity_Hotel_Text_SisBroughtMeOnVacation, MSGBOX_NPC end diff --git a/data/maps/CeladonCity_Hotel/text.inc b/data/maps/CeladonCity_Hotel/text.inc index b1c989120..5ac6ac99c 100644 --- a/data/maps/CeladonCity_Hotel/text.inc +++ b/data/maps/CeladonCity_Hotel/text.inc @@ -1,21 +1,18 @@ -Text_197B6F:: @ 8197B6F - .string "ぶつだん だ‥$" - -gUnknown_8197B77:: @ 8197B77 +CeladonCity_Hotel_Text_ThisHotelIsForPeople:: @ 8197B77 .string "POKéMON?\n" .string "No, this is a hotel for people.\p" .string "We're full up, unfortunately.$" -gUnknown_8197BBE:: @ 8197BBE +CeladonCity_Hotel_Text_OnVacationWithBrotherAndBoyfriend:: @ 8197BBE .string "I'm on vacation with my brother and\n" .string "boyfriend.\p" .string "CELADON is such a pretty city!$" -gUnknown_8197C0C:: @ 8197C0C +CeladonCity_Hotel_Text_WhyDidSheBringBrother:: @ 8197C0C .string "Why?\n" .string "Why did she bring her brother?$" -gUnknown_8197C30:: @ 8197C30 +CeladonCity_Hotel_Text_SisBroughtMeOnVacation:: @ 8197C30 .string "Yippee! I'm on vacation!\n" .string "My sis brought me along! Awesome!$" diff --git a/data/maps/CeladonCity_House1/map.json b/data/maps/CeladonCity_House1/map.json index 455e9d836..6201d5b3a 100644 --- a/data/maps/CeladonCity_House1/map.json +++ b/data/maps/CeladonCity_House1/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CELADON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_2", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_2", "x": 5, "y": 2, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_House1_EventScript_16D268", + "script": "CeladonCity_House1_EventScript_RocketChief", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 2, "y": 4, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 5, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_House1_EventScript_16D271", + "script": "CeladonCity_House1_EventScript_Rocket1", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 8, "y": 4, "elevation": 3, @@ -49,7 +51,7 @@ "movement_range_y": 5, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_House1_EventScript_16D27A", + "script": "CeladonCity_House1_EventScript_Rocket2", "flag": "0" } ], diff --git a/data/maps/CeladonCity_House1/scripts.inc b/data/maps/CeladonCity_House1/scripts.inc index 6c8dab4ff..4a05ae97d 100644 --- a/data/maps/CeladonCity_House1/scripts.inc +++ b/data/maps/CeladonCity_House1/scripts.inc @@ -1,14 +1,14 @@ CeladonCity_House1_MapScripts:: @ 816D267 .byte 0 -CeladonCity_House1_EventScript_16D268:: @ 816D268 - msgbox gUnknown_8197A9F, MSGBOX_NPC +CeladonCity_House1_EventScript_RocketChief:: @ 816D268 + msgbox CeladonCity_House1_Text_SlotsReelInTheDough, MSGBOX_NPC end -CeladonCity_House1_EventScript_16D271:: @ 816D271 - msgbox gUnknown_8197AD3, MSGBOX_NPC +CeladonCity_House1_EventScript_Rocket1:: @ 816D271 + msgbox CeladonCity_House1_Text_ShippedMonsAsSlotPrizes, MSGBOX_NPC end -CeladonCity_House1_EventScript_16D27A:: @ 816D27A - msgbox gUnknown_8197B20, MSGBOX_NPC +CeladonCity_House1_EventScript_Rocket2:: @ 816D27A + msgbox CeladonCity_House1_Text_DontTouchGameCornerPoster, MSGBOX_NPC end diff --git a/data/maps/CeladonCity_House1/text.inc b/data/maps/CeladonCity_House1/text.inc index df6acb986..d07d4a0e4 100644 --- a/data/maps/CeladonCity_House1/text.inc +++ b/data/maps/CeladonCity_House1/text.inc @@ -1,16 +1,20 @@ -gUnknown_8197A9F:: @ 8197A9F +CeladonCity_House1_Text_SlotsReelInTheDough:: @ 8197A9F .string "Hehehe!\p" .string "The slots just reel in the dough,\n" .string "big-time!$" -gUnknown_8197AD3:: @ 8197AD3 +CeladonCity_House1_Text_ShippedMonsAsSlotPrizes:: @ 8197AD3 .string "CHIEF!\p" .string "We just shipped two thousand\n" .string "more POKéMON as slot prizes\l" .string "again today!$" -gUnknown_8197B20:: @ 8197B20 +CeladonCity_House1_Text_DontTouchGameCornerPoster:: @ 8197B20 .string "Don't touch the poster at the GAME\n" .string "CORNER!\p" .string "There's no secret switch behind it!$" +@ Text for the replaced altars in the rocket chiefs house / celadon mansion +@ In English RB, this is westernized as "It's a sculpture of DIGLETT.", and is removed altogether in FRLG +Text_ItsABuddhistAltar:: @ 8197B6F + .string "ぶつだん だ‥$" diff --git a/data/maps/CeladonCity_PokemonCenter_1F/map.json b/data/maps/CeladonCity_PokemonCenter_1F/map.json index 7d2af91a9..301f33056 100644 --- a/data/maps/CeladonCity_PokemonCenter_1F/map.json +++ b/data/maps/CeladonCity_PokemonCenter_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CELADON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_NURSE", + "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_PokemonCenter_1F_EventScript_16C5FB", + "script": "CeladonCity_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 4, "y": 4, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_PokemonCenter_1F_EventScript_16C604", + "script": "CeladonCity_PokemonCenter_1F_EventScript_Gentleman", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_F", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_F", "x": 10, "y": 6, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_PokemonCenter_1F_EventScript_16C60D", + "script": "CeladonCity_PokemonCenter_1F_EventScript_CooltrainerF", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 12, "y": 5, "elevation": 3, @@ -62,7 +64,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_PokemonCenter_1F_EventScript_16C616", + "script": "CeladonCity_PokemonCenter_1F_EventScript_Youngster", "flag": "0" } ], diff --git a/data/maps/CeladonCity_PokemonCenter_1F/scripts.inc b/data/maps/CeladonCity_PokemonCenter_1F/scripts.inc index 322968550..b98b49824 100644 --- a/data/maps/CeladonCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/CeladonCity_PokemonCenter_1F/scripts.inc @@ -7,21 +7,21 @@ CeladonCity_PokemonCenter_1F_OnTransition:: @ 816C5F7 setrespawn SPAWN_CELADON_CITY end -CeladonCity_PokemonCenter_1F_EventScript_16C5FB:: @ 816C5FB +CeladonCity_PokemonCenter_1F_EventScript_Nurse:: @ 816C5FB lock faceplayer call EventScript_PkmnCenterNurse release end -CeladonCity_PokemonCenter_1F_EventScript_16C604:: @ 816C604 - msgbox gUnknown_819685B, MSGBOX_NPC +CeladonCity_PokemonCenter_1F_EventScript_Gentleman:: @ 816C604 + msgbox CeladonCity_PokemonCenter_1F_Text_PokeFluteAwakensSleepingMons, MSGBOX_NPC end -CeladonCity_PokemonCenter_1F_EventScript_16C60D:: @ 816C60D - msgbox gUnknown_81968C2, MSGBOX_NPC +CeladonCity_PokemonCenter_1F_EventScript_CooltrainerF:: @ 816C60D + msgbox CeladonCity_PokemonCenter_1F_Text_RodeHereFromFuchsia, MSGBOX_NPC end -CeladonCity_PokemonCenter_1F_EventScript_16C616:: @ 816C616 - msgbox gUnknown_8196913, MSGBOX_NPC +CeladonCity_PokemonCenter_1F_EventScript_Youngster:: @ 816C616 + msgbox CeladonCity_PokemonCenter_1F_Text_GoToCyclingRoadIfIHadBike, MSGBOX_NPC end diff --git a/data/maps/CeladonCity_PokemonCenter_1F/text.inc b/data/maps/CeladonCity_PokemonCenter_1F/text.inc index 098582351..6aa628f39 100644 --- a/data/maps/CeladonCity_PokemonCenter_1F/text.inc +++ b/data/maps/CeladonCity_PokemonCenter_1F/text.inc @@ -1,15 +1,15 @@ -gUnknown_819685B:: @ 819685B +CeladonCity_PokemonCenter_1F_Text_PokeFluteAwakensSleepingMons:: @ 819685B .string "A POKé FLUTE awakens sleeping\n" .string "POKéMON. You know that.\p" .string "It does so with a sound that only\n" .string "they can hear.$" -gUnknown_81968C2:: @ 81968C2 +CeladonCity_PokemonCenter_1F_Text_RodeHereFromFuchsia:: @ 81968C2 .string "I rode here from FUCHSIA.\p" .string "It's an uphill ride on CYCLING\n" .string "ROAD, so I'm exhausted.$" -gUnknown_8196913:: @ 8196913 +CeladonCity_PokemonCenter_1F_Text_GoToCyclingRoadIfIHadBike:: @ 8196913 .string "If I had a BIKE, I would go to\n" .string "CYCLING ROAD!$" diff --git a/data/maps/CeladonCity_PokemonCenter_2F/map.json b/data/maps/CeladonCity_PokemonCenter_2F/map.json index 7a4c45752..83ded878c 100644 --- a/data/maps/CeladonCity_PokemonCenter_2F/map.json +++ b/data/maps/CeladonCity_PokemonCenter_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CELADON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 6, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 2, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 10, "y": 2, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MG_DELIVERYMAN", + "graphics_id": "OBJ_EVENT_GFX_MG_DELIVERYMAN", "x": 1, "y": 2, "elevation": 3, diff --git a/data/maps/CeladonCity_Restaurant/map.json b/data/maps/CeladonCity_Restaurant/map.json index 9681ddfb2..7d6df6b05 100644 --- a/data/maps/CeladonCity_Restaurant/map.json +++ b/data/maps/CeladonCity_Restaurant/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CELADON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CHEF", + "graphics_id": "OBJ_EVENT_GFX_CHEF", "x": 12, "y": 7, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_Restaurant_EventScript_16D1EB", + "script": "CeladonCity_Restaurant_EventScript_Chef", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 11, "y": 4, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 2, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_Restaurant_EventScript_16D1F4", + "script": "CeladonCity_Restaurant_EventScript_Woman", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_FAT_MAN", + "graphics_id": "OBJ_EVENT_GFX_FAT_MAN", "x": 9, "y": 4, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_Restaurant_EventScript_16D25E", + "script": "CeladonCity_Restaurant_EventScript_FatMan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 1, "y": 2, "elevation": 0, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_Restaurant_EventScript_16D1FD", + "script": "CeladonCity_Restaurant_EventScript_CoinCaseMan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 3, "y": 7, "elevation": 0, @@ -75,7 +77,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeladonCity_Restaurant_EventScript_16D255", + "script": "CeladonCity_Restaurant_EventScript_WorkerM", "flag": "0" } ], diff --git a/data/maps/CeladonCity_Restaurant/scripts.inc b/data/maps/CeladonCity_Restaurant/scripts.inc index c8ab9469a..9613406e4 100644 --- a/data/maps/CeladonCity_Restaurant/scripts.inc +++ b/data/maps/CeladonCity_Restaurant/scripts.inc @@ -1,41 +1,41 @@ CeladonCity_Restaurant_MapScripts:: @ 816D1EA .byte 0 -CeladonCity_Restaurant_EventScript_16D1EB:: @ 816D1EB - msgbox gUnknown_81978E6, MSGBOX_NPC +CeladonCity_Restaurant_EventScript_Chef:: @ 816D1EB + msgbox CeladonCity_Restaurant_Text_TakingBreakRightNow, MSGBOX_NPC end -CeladonCity_Restaurant_EventScript_16D1F4:: @ 816D1F4 - msgbox gUnknown_8197915, MSGBOX_NPC +CeladonCity_Restaurant_EventScript_Woman:: @ 816D1F4 + msgbox CeladonCity_Restaurant_Text_OftenGoToDrugstore, MSGBOX_NPC end -CeladonCity_Restaurant_EventScript_16D1FD:: @ 816D1FD +CeladonCity_Restaurant_EventScript_CoinCaseMan:: @ 816D1FD lock faceplayer - goto_if_set FLAG_GOT_COIN_CASE, EventScript_16D24B - msgbox gUnknown_81979C1 + goto_if_set FLAG_GOT_COIN_CASE, CeladonCity_Restaurant_EventScript_AlreadyGotCoinCase + msgbox CeladonCity_Restaurant_Text_TakeThisImBusted checkitemspace ITEM_COIN_CASE, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_16D241 - giveitem_msg gUnknown_8197A38, ITEM_COIN_CASE + goto_if_eq CeladonCity_Restaurant_EventScript_NoRoomForCoinCase + giveitem_msg CeladonCity_Restaurant_Text_ReceivedCoinCaseFromMan, ITEM_COIN_CASE setflag FLAG_GOT_COIN_CASE release end -EventScript_16D241:: @ 816D241 - msgbox gUnknown_8197A5E +CeladonCity_Restaurant_EventScript_NoRoomForCoinCase:: @ 816D241 + msgbox CeladonCity_Restaurant_Text_MakeRoomForThis release end -EventScript_16D24B:: @ 816D24B - msgbox gUnknown_8197A72 +CeladonCity_Restaurant_EventScript_AlreadyGotCoinCase:: @ 816D24B + msgbox CeladonCity_Restaurant_Text_ThoughtIdWinItBack release end -CeladonCity_Restaurant_EventScript_16D255:: @ 816D255 - msgbox gUnknown_8197952, MSGBOX_NPC +CeladonCity_Restaurant_EventScript_WorkerM:: @ 816D255 + msgbox CeladonCity_Restaurant_Text_PsstBasementUnderGameCorner, MSGBOX_NPC end -CeladonCity_Restaurant_EventScript_16D25E:: @ 816D25E - msgbox gUnknown_819798A, MSGBOX_NPC +CeladonCity_Restaurant_EventScript_FatMan:: @ 816D25E + msgbox CeladonCity_Restaurant_Text_ManLostItAllAtSlots, MSGBOX_NPC end diff --git a/data/maps/CeladonCity_Restaurant/text.inc b/data/maps/CeladonCity_Restaurant/text.inc index 87edeb186..e6c27c2bd 100644 --- a/data/maps/CeladonCity_Restaurant/text.inc +++ b/data/maps/CeladonCity_Restaurant/text.inc @@ -1,22 +1,22 @@ -gUnknown_81978E6:: @ 81978E6 +CeladonCity_Restaurant_Text_TakingBreakRightNow:: @ 81978E6 .string "Hi!\p" .string "Sorry, but we're taking a break\n" .string "right now.$" -gUnknown_8197915:: @ 8197915 +CeladonCity_Restaurant_Text_OftenGoToDrugstore:: @ 8197915 .string "My POKéMON are weak, so I often\n" .string "have to go to the DRUGSTORE.$" -gUnknown_8197952:: @ 8197952 +CeladonCity_Restaurant_Text_PsstBasementUnderGameCorner:: @ 8197952 .string "Psst! There's a basement under the\n" .string "GAME CORNER, I hear.$" -gUnknown_819798A:: @ 819798A +CeladonCity_Restaurant_Text_ManLostItAllAtSlots:: @ 819798A .string "Munch…\p" .string "The man at that table lost it all\n" .string "at the slots.$" -gUnknown_81979C1:: @ 81979C1 +CeladonCity_Restaurant_Text_TakeThisImBusted:: @ 81979C1 .string "Go ahead! Laugh!\n" .string "I'm flat-out busted!\p" .string "No more slots for me!\n" @@ -24,14 +24,14 @@ gUnknown_81979C1:: @ 81979C1 .string "Here!\n" .string "I won't be needing this anymore!$" -gUnknown_8197A38:: @ 8197A38 +CeladonCity_Restaurant_Text_ReceivedCoinCaseFromMan:: @ 8197A38 .string "{PLAYER} received a COIN CASE\n" .string "from the man.$" -gUnknown_8197A5E:: @ 8197A5E +CeladonCity_Restaurant_Text_MakeRoomForThis:: @ 8197A5E .string "Make room for this!$" -gUnknown_8197A72:: @ 8197A72 +CeladonCity_Restaurant_Text_ThoughtIdWinItBack:: @ 8197A72 .string "I always thought I was going to\n" .string "win it back…$" diff --git a/data/maps/CeruleanCave_1F/map.json b/data/maps/CeruleanCave_1F/map.json index eb95b5c79..b1d9c02d0 100644 --- a/data/maps/CeruleanCave_1F/map.json +++ b/data/maps/CeruleanCave_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CERULEAN_CAVE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 7, "y": 3, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "FLAG_HIDE_CERULEAN_CAVE_1F_NUGGET" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 11, "y": 16, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "FLAG_HIDE_CERULEAN_CAVE_1F_FULL_RESTORE" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 25, "y": 5, "elevation": 4, @@ -53,7 +55,7 @@ "flag": "FLAG_HIDE_CERULEAN_CAVE_1F_MAX_ELIXIR" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 7, "y": 21, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 13, "y": 21, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_13" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 5, "y": 20, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_14" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 14, "y": 20, "elevation": 3, @@ -101,11 +103,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 11, "y": 21, "elevation": 3, @@ -114,11 +116,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_16" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 9, "y": 18, "elevation": 3, @@ -127,7 +129,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_17" } ], diff --git a/data/maps/CeruleanCave_2F/map.json b/data/maps/CeruleanCave_2F/map.json index 2ce780fdd..b3e7eeb9e 100644 --- a/data/maps/CeruleanCave_2F/map.json +++ b/data/maps/CeruleanCave_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CERULEAN_CAVE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 9, "y": 18, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "FLAG_HIDE_CERULEAN_CAVE_2F_PP_UP" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 29, "y": 16, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "FLAG_HIDE_CERULEAN_CAVE_2F_ULTRA_BALL" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 33, "y": 12, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "FLAG_HIDE_CERULEAN_CAVE_2F_FULL_RESTORE" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 33, "y": 10, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 33, "y": 9, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_13" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 25, "y": 11, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_14" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 28, "y": 20, "elevation": 3, @@ -101,11 +103,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 30, "y": 20, "elevation": 3, @@ -114,11 +116,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_16" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 9, "y": 13, "elevation": 3, @@ -127,11 +129,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_17" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 23, "y": 16, "elevation": 3, @@ -140,11 +142,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_18" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 13, "y": 6, "elevation": 3, @@ -153,11 +155,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_19" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 4, "y": 12, "elevation": 3, @@ -166,11 +168,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1A" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 10, "y": 20, "elevation": 3, @@ -179,7 +181,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1B" } ], diff --git a/data/maps/CeruleanCave_B1F/map.json b/data/maps/CeruleanCave_B1F/map.json index 0df4d1d5f..26df88f09 100644 --- a/data/maps/CeruleanCave_B1F/map.json +++ b/data/maps/CeruleanCave_B1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CERULEAN_CAVE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 31, "y": 9, "elevation": 4, @@ -27,7 +29,7 @@ "flag": "FLAG_HIDE_CERULEAN_CAVE_B1F_ULTRA_BALL" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 32, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "FLAG_HIDE_CERULEAN_CAVE_B1F_MAX_REVIVE" }, { - "graphics_id": "OBJECT_EVENT_GFX_MEWTWO", + "graphics_id": "OBJ_EVENT_GFX_MEWTWO", "x": 7, "y": 12, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "FLAG_HIDE_MEWTWO" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 37, "y": 1, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 38, "y": 2, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_13" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 35, "y": 1, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_14" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 37, "y": 4, "elevation": 3, @@ -101,11 +103,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 35, "y": 5, "elevation": 3, @@ -114,11 +116,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_16" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 2, "y": 2, "elevation": 3, @@ -127,11 +129,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_17" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 4, "y": 1, "elevation": 3, @@ -140,11 +142,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_18" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 6, "y": 1, "elevation": 3, @@ -153,11 +155,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_19" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 3, "y": 4, "elevation": 3, @@ -166,7 +168,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1A" } ], diff --git a/data/maps/CeruleanCave_B1F/scripts.inc b/data/maps/CeruleanCave_B1F/scripts.inc index b0452c3b1..e040978fc 100644 --- a/data/maps/CeruleanCave_B1F/scripts.inc +++ b/data/maps/CeruleanCave_B1F/scripts.inc @@ -8,7 +8,7 @@ CeruleanCave_B1F_OnResume:: @ 81624C9 end CeruleanCave_B1F_EventScript_TryRemoveMewtwo:: @ 81624D3 - specialvar VAR_RESULT, Special_GetBattleOutcome + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne EventScript_Return removeobject VAR_LAST_TALKED @@ -37,10 +37,10 @@ CeruleanCave_B1F_EventScript_Mewtwo:: @ 81624F5 waitbuttonpress setwildbattle SPECIES_MEWTWO, 70, ITEM_NONE setflag FLAG_SYS_SPECIAL_WILD_BATTLE - special Special_StartLegendaryBattle + special StartLegendaryBattle waitstate clearflag FLAG_SYS_SPECIAL_WILD_BATTLE - specialvar VAR_RESULT, Special_GetBattleOutcome + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, B_OUTCOME_WON goto_if_eq CeruleanCave_B1F_EventScript_DefeatedMewtwo compare VAR_RESULT, B_OUTCOME_RAN diff --git a/data/maps/CeruleanCity/map.json b/data/maps/CeruleanCity/map.json index ca6baa21d..a6d771035 100644 --- a/data/maps/CeruleanCity/map.json +++ b/data/maps/CeruleanCity/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_CERULEAN_CITY", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_1", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_TOWN", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ROUTE24", @@ -35,7 +37,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_POLICEMAN", + "graphics_id": "OBJ_EVENT_GFX_POLICEMAN", "x": 31, "y": 12, "elevation": 3, @@ -48,7 +50,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 33, "y": 6, "elevation": 3, @@ -61,7 +63,7 @@ "flag": "FLAG_HIDE_CERULEAN_ROCKET" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_BOY", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_BOY", "x": 16, "y": 21, "elevation": 3, @@ -74,7 +76,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 9, "y": 23, "elevation": 3, @@ -87,7 +89,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SLOWBRO", + "graphics_id": "OBJ_EVENT_GFX_SLOWBRO", "x": 32, "y": 29, "elevation": 3, @@ -100,7 +102,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 33, "y": 29, "elevation": 3, @@ -113,7 +115,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 34, "y": 22, "elevation": 3, @@ -126,7 +128,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BLUE", + "graphics_id": "OBJ_EVENT_GFX_BLUE", "x": 22, "y": 0, "elevation": 3, @@ -139,7 +141,7 @@ "flag": "FLAG_HIDE_CERULEAN_RIVAL" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 26, "y": 32, "elevation": 3, @@ -148,11 +150,12 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_13" }, { - "graphics_id": "65375", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", + "in_connection": true, "x": 50, "y": 18, "elevation": 10, @@ -165,7 +168,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_1", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_1", "x": 12, "y": 30, "elevation": 3, @@ -178,7 +181,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_M", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_M", "x": 1, "y": 13, "elevation": 3, @@ -340,31 +343,35 @@ ], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 20, "y": 25, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CeruleanCity_EventScript_CitySign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 27, "y": 21, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CeruleanCity_EventScript_GymSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 11, "y": 28, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CeruleanCity_EventScript_BikeShopSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 19, "y": 32, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CeruleanCity_EventScript_TrainerTips" }, { @@ -378,24 +385,27 @@ "underfoot": false }, { - "type": "bg_event_type_0", + "type": "sign", "x": 11, "y": 25, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CeruleanCity_BikeShop_EventScript_Bicycle" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 11, "y": 27, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CeruleanCity_BikeShop_EventScript_Bicycle" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 11, "y": 26, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CeruleanCity_BikeShop_EventScript_Bicycle" } ] diff --git a/data/maps/CeruleanCity/text.inc b/data/maps/CeruleanCity/text.inc index 06a21d302..7a940032d 100644 --- a/data/maps/CeruleanCity/text.inc +++ b/data/maps/CeruleanCity/text.inc @@ -42,7 +42,8 @@ CeruleanCity_Text_ExplainFameCheckerSmellYa:: @ 817ED5D .string "All right, this time I really am\n" .string "gone. Smell ya!$" -CeruleanCity_Text_17EDF8:: @ 817EDF8 +@ RB translation: "Heh! You're no match for my genius!" +CeruleanCity_Text_RivalVictory:: @ 817EDF8 .string "なんたって!\n" .string "おれは てんさい だからよ!$" diff --git a/data/maps/CeruleanCity_BikeShop/map.json b/data/maps/CeruleanCity_BikeShop/map.json index 8f9d6b910..fe379e48d 100644 --- a/data/maps/CeruleanCity_BikeShop/map.json +++ b/data/maps/CeruleanCity_BikeShop/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CERULEAN_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 9, "y": 3, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 9, "y": 7, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 5, "y": 5, "elevation": 3, @@ -79,59 +81,67 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 3, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CeruleanCity_BikeShop_EventScript_Bicycle" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 4, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CeruleanCity_BikeShop_EventScript_Bicycle" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 5, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CeruleanCity_BikeShop_EventScript_Bicycle" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 2, "y": 3, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CeruleanCity_BikeShop_EventScript_Bicycle" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 1, "y": 4, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CeruleanCity_BikeShop_EventScript_Bicycle" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 2, "y": 5, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CeruleanCity_BikeShop_EventScript_Bicycle" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 2, "y": 7, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CeruleanCity_BikeShop_EventScript_Bicycle" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 2, "y": 8, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CeruleanCity_BikeShop_EventScript_Bicycle" } ] diff --git a/data/maps/CeruleanCity_Gym/map.json b/data/maps/CeruleanCity_Gym/map.json index c0ab52b0b..f31474399 100644 --- a/data/maps/CeruleanCity_Gym/map.json +++ b/data/maps/CeruleanCity_Gym/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CERULEAN_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_1", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_M_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_M_WATER", "x": 10, "y": 12, "elevation": 0, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 4, "y": 7, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MISTY", + "graphics_id": "OBJ_EVENT_GFX_MISTY", "x": 8, "y": 6, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GYM_GUY", + "graphics_id": "OBJ_EVENT_GFX_GYM_GUY", "x": 7, "y": 16, "elevation": 3, @@ -92,17 +94,19 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 6, "y": 17, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CeruleanCity_Gym_EventScript_GymStatue" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 10, "y": 17, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CeruleanCity_Gym_EventScript_GymStatue" } ] diff --git a/data/maps/CeruleanCity_House1/map.json b/data/maps/CeruleanCity_House1/map.json index 55ba65768..7233d7c66 100644 --- a/data/maps/CeruleanCity_House1/map.json +++ b/data/maps/CeruleanCity_House1/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CERULEAN_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 6, "y": 5, "elevation": 3, diff --git a/data/maps/CeruleanCity_House1/scripts.inc b/data/maps/CeruleanCity_House1/scripts.inc index 9eb558eba..4f83fe24b 100644 --- a/data/maps/CeruleanCity_House1/scripts.inc +++ b/data/maps/CeruleanCity_House1/scripts.inc @@ -8,7 +8,7 @@ CeruleanCity_House1_EventScript_BadgeGuy:: @ 816A7F0 message CeruleanCity_House1_Text_DescribeWhichBadge waitmessage setvar VAR_0x8004, LISTMENU_BADGES - special Special_ListMenu + special ListMenu waitstate switch VAR_RESULT case 0, CeruleanCity_House1_EventScript_DescribeBoulderBadge @@ -26,7 +26,7 @@ CeruleanCity_House1_EventScript_BadgeGuy:: @ 816A7F0 CeruleanCity_House1_EventScript_DescribeAnotherBadge:: @ 816A87D message CeruleanCity_House1_Text_DescribeWhichBadge waitmessage - special Special_ReturnToListMenu + special ReturnToListMenu waitstate switch VAR_RESULT case 0, CeruleanCity_House1_EventScript_DescribeBoulderBadge diff --git a/data/maps/CeruleanCity_House2/map.json b/data/maps/CeruleanCity_House2/map.json index 221a6f398..2cdf99d67 100644 --- a/data/maps/CeruleanCity_House2/map.json +++ b/data/maps/CeruleanCity_House2/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CERULEAN_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 1, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 7, "y": 6, "elevation": 3, @@ -73,10 +75,11 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 1, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CeruleanCity_House2_EventScript_WallHole" } ] diff --git a/data/maps/CeruleanCity_House3/map.json b/data/maps/CeruleanCity_House3/map.json index 084221bb7..c9f6bd1b4 100644 --- a/data/maps/CeruleanCity_House3/map.json +++ b/data/maps/CeruleanCity_House3/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CERULEAN_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 2, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_WOMAN", + "graphics_id": "OBJ_EVENT_GFX_OLD_WOMAN", "x": 7, "y": 5, "elevation": 3, diff --git a/data/maps/CeruleanCity_House4/map.json b/data/maps/CeruleanCity_House4/map.json index 97740781c..ea03d11d8 100644 --- a/data/maps/CeruleanCity_House4/map.json +++ b/data/maps/CeruleanCity_House4/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CERULEAN_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 5, "y": 3, "elevation": 3, diff --git a/data/maps/CeruleanCity_House4/scripts.inc b/data/maps/CeruleanCity_House4/scripts.inc index 3d96fd67c..b27579cee 100644 --- a/data/maps/CeruleanCity_House4/scripts.inc +++ b/data/maps/CeruleanCity_House4/scripts.inc @@ -5,7 +5,7 @@ CeruleanCity_House4_EventScript_WonderNewsBerryMan:: @ 816ACEF goto_if_questlog EventScript_ReleaseEnd special sub_8112364 lock - specialvar VAR_0x8004, Special_GetMENewsJisanItemAndState + specialvar VAR_0x8004, GetMENewsJisanItemAndState copyvar VAR_0x8008, VAR_RESULT compare VAR_0x8004, 0 goto_if_eq CeruleanCity_House4_EventScript_NoNews diff --git a/data/maps/CeruleanCity_House5/map.json b/data/maps/CeruleanCity_House5/map.json index d637a7345..c9c5edc09 100644 --- a/data/maps/CeruleanCity_House5/map.json +++ b/data/maps/CeruleanCity_House5/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CERULEAN_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_2", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_2", "x": 7, "y": 4, "elevation": 3, @@ -39,10 +41,11 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 3, "y": 1, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CeruleanCity_House5_EventScript_BerryCrushRankings" } ] diff --git a/data/maps/CeruleanCity_House5/scripts.inc b/data/maps/CeruleanCity_House5/scripts.inc index 04615b895..dc5e2c2ff 100644 --- a/data/maps/CeruleanCity_House5/scripts.inc +++ b/data/maps/CeruleanCity_House5/scripts.inc @@ -38,7 +38,7 @@ CeruleanCity_House5_EventScript_ChooseExchangeItem:: @ 816AEC8 message CeruleanCity_House5_Text_ExchangeWithWhat waitmessage setvar VAR_0x8004, LISTMENU_BERRY_POWDER - special Special_ListMenu + special ListMenu waitstate switch VAR_RESULT case 0, CeruleanCity_House5_EventScript_EnergyPowder @@ -144,14 +144,14 @@ CeruleanCity_House5_EventScript_ExchangePowderForItem:: @ 816B055 compare VAR_RESULT, NO goto_if_eq CeruleanCity_House5_EventScript_ChooseExchangeItem copyvar VAR_0x8004, VAR_0x8009 - specialvar VAR_RESULT, Special_HasEnoughBerryPowder + specialvar VAR_RESULT, Script_HasEnoughBerryPowder compare VAR_RESULT, FALSE goto_if_eq CeruleanCity_House5_EventScript_NotEnoughBerryPowder giveitem VAR_0x8008 compare VAR_RESULT, FALSE goto_if_eq CeruleanCity_House5_EventScript_BagIsFull copyvar VAR_0x8004, VAR_0x8009 - special Special_TakeBerryPowder + special Script_TakeBerryPowder special PrintPlayerBerryPowderAmount msgbox CeruleanCity_House1_Text_TradeMoreBerryPowder, MSGBOX_YESNO compare VAR_RESULT, YES diff --git a/data/maps/CeruleanCity_Mart/map.json b/data/maps/CeruleanCity_Mart/map.json index 61c6c717f..05bdb8773 100644 --- a/data/maps/CeruleanCity_Mart/map.json +++ b/data/maps/CeruleanCity_Mart/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CERULEAN_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CLERK", + "graphics_id": "OBJ_EVENT_GFX_CLERK", "x": 2, "y": 3, "elevation": 0, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_1", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_1", "x": 9, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 1, "y": 7, "elevation": 3, diff --git a/data/maps/CeruleanCity_PokemonCenter_1F/map.json b/data/maps/CeruleanCity_PokemonCenter_1F/map.json index d98a66f1d..fc302635f 100644 --- a/data/maps/CeruleanCity_PokemonCenter_1F/map.json +++ b/data/maps/CeruleanCity_PokemonCenter_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CERULEAN_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_NURSE", + "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 12, "y": 5, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 5, "y": 4, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 4, "y": 8, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 3, "y": 3, "elevation": 3, diff --git a/data/maps/CeruleanCity_PokemonCenter_2F/map.json b/data/maps/CeruleanCity_PokemonCenter_2F/map.json index 1ba1ae547..e12bbcad6 100644 --- a/data/maps/CeruleanCity_PokemonCenter_2F/map.json +++ b/data/maps/CeruleanCity_PokemonCenter_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CERULEAN_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 6, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 2, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 10, "y": 2, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MG_DELIVERYMAN", + "graphics_id": "OBJ_EVENT_GFX_MG_DELIVERYMAN", "x": 1, "y": 2, "elevation": 3, diff --git a/data/maps/CinnabarIsland/map.json b/data/maps/CinnabarIsland/map.json index 823a4ce95..6dabd0e47 100644 --- a/data/maps/CinnabarIsland/map.json +++ b/data/maps/CinnabarIsland/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_CINNABAR_ISLAND", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_1", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_TOWN", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ROUTE21_SOUTH", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 14, "y": 6, "elevation": 3, @@ -38,7 +40,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 11, "y": 11, "elevation": 3, @@ -51,7 +53,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BILL", + "graphics_id": "OBJ_EVENT_GFX_BILL", "x": 20, "y": 7, "elevation": 3, @@ -64,7 +66,7 @@ "flag": "FLAG_HIDE_CINNABAR_BILL" }, { - "graphics_id": "OBJECT_EVENT_GFX_SEAGALLOP", + "graphics_id": "OBJ_EVENT_GFX_SEAGALLOP", "x": 23, "y": 7, "elevation": 1, @@ -127,31 +129,35 @@ ], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 3, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CinnabarIsland_EventScript_IslandSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 9, "y": 9, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CinnabarIsland_EventScript_PokemonLabSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 22, "y": 5, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CinnabarIsland_EventScript_GymSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 10, "y": 9, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CinnabarIsland_EventScript_PokemonLabSign" } ] diff --git a/data/maps/CinnabarIsland_Gym/map.json b/data/maps/CinnabarIsland_Gym/map.json index 05ba07431..086a470bc 100644 --- a/data/maps/CinnabarIsland_Gym/map.json +++ b/data/maps/CinnabarIsland_Gym/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CINNABAR_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_1", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SUPER_NERD", + "graphics_id": "OBJ_EVENT_GFX_SUPER_NERD", "x": 25, "y": 11, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 25, "y": 4, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 17, "y": 5, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SUPER_NERD", + "graphics_id": "OBJ_EVENT_GFX_SUPER_NERD", "x": 16, "y": 11, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 16, "y": 18, "elevation": 3, @@ -79,7 +81,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SUPER_NERD", + "graphics_id": "OBJ_EVENT_GFX_SUPER_NERD", "x": 4, "y": 19, "elevation": 3, @@ -92,7 +94,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 4, "y": 11, "elevation": 3, @@ -105,7 +107,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BLAINE", + "graphics_id": "OBJ_EVENT_GFX_BLAINE", "x": 5, "y": 4, "elevation": 3, @@ -118,7 +120,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GYM_GUY", + "graphics_id": "OBJ_EVENT_GFX_GYM_GUY", "x": 24, "y": 20, "elevation": 3, @@ -157,108 +159,123 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 23, "y": 20, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CinnabarIsland_Gym_EventScript_GymStatue" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 27, "y": 20, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CinnabarIsland_Gym_EventScript_GymStatue" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 22, "y": 10, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "CinnabarIsland_Gym_EventScript_Quz1Left" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 23, "y": 10, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "CinnabarIsland_Gym_EventScript_Quz1Right" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 15, "y": 2, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "CinnabarIsland_Gym_EventScript_Quiz2Left" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 16, "y": 2, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "CinnabarIsland_Gym_EventScript_Quiz2Right" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 13, "y": 10, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "CinnabarIsland_Gym_EventScript_Quiz3Left" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 14, "y": 10, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "CinnabarIsland_Gym_EventScript_Quiz3Right" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 13, "y": 17, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "CinnabarIsland_Gym_EventScript_Quiz4Left" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 14, "y": 17, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "CinnabarIsland_Gym_EventScript_Quiz4Right" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 1, "y": 18, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "CinnabarIsland_Gym_EventScript_Quiz5Left" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 2, "y": 18, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "CinnabarIsland_Gym_EventScript_Quiz5Right" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 1, "y": 10, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "CinnabarIsland_Gym_EventScript_Quiz6Left" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 2, "y": 10, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "CinnabarIsland_Gym_EventScript_Quiz6Right" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 3, "y": 1, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "CinnabarIsland_Gym_EventScript_BlaineFujiPhoto" } ] diff --git a/data/maps/CinnabarIsland_Mart/map.json b/data/maps/CinnabarIsland_Mart/map.json index 7970cf732..67e4406ca 100644 --- a/data/maps/CinnabarIsland_Mart/map.json +++ b/data/maps/CinnabarIsland_Mart/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CINNABAR_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CLERK", + "graphics_id": "OBJ_EVENT_GFX_CLERK", "x": 2, "y": 3, "elevation": 0, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 6, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 8, "y": 2, "elevation": 3, diff --git a/data/maps/CinnabarIsland_PokemonCenter_1F/map.json b/data/maps/CinnabarIsland_PokemonCenter_1F/map.json index 5cc12ab94..eb919ff85 100644 --- a/data/maps/CinnabarIsland_PokemonCenter_1F/map.json +++ b/data/maps/CinnabarIsland_PokemonCenter_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CINNABAR_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_NURSE", + "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_F", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_F", "x": 2, "y": 4, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 9, "y": 7, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 14, "y": 6, "elevation": 3, @@ -92,7 +94,7 @@ "flag": "FLAG_HIDE_POSTGAME_GOSSIPERS" }, { - "graphics_id": "OBJECT_EVENT_GFX_BILL", + "graphics_id": "OBJ_EVENT_GFX_BILL", "x": 11, "y": 5, "elevation": 3, diff --git a/data/maps/CinnabarIsland_PokemonCenter_2F/map.json b/data/maps/CinnabarIsland_PokemonCenter_2F/map.json index 8ba56684a..455c51e9e 100644 --- a/data/maps/CinnabarIsland_PokemonCenter_2F/map.json +++ b/data/maps/CinnabarIsland_PokemonCenter_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CINNABAR_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 6, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 2, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 10, "y": 2, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MG_DELIVERYMAN", + "graphics_id": "OBJ_EVENT_GFX_MG_DELIVERYMAN", "x": 1, "y": 2, "elevation": 3, diff --git a/data/maps/CinnabarIsland_PokemonLab_Entrance/map.json b/data/maps/CinnabarIsland_PokemonLab_Entrance/map.json index 20aa48378..5822a716e 100644 --- a/data/maps/CinnabarIsland_PokemonLab_Entrance/map.json +++ b/data/maps/CinnabarIsland_PokemonLab_Entrance/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CINNABAR_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 2, "y": 4, "elevation": 3, @@ -74,31 +76,35 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 1, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CinnabarIsland_PokemonLab_Entrance_EventScript_DrFujiPhoto" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 5, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CinnabarIsland_PokemonLab_Entrance_EventScript_MeetingRoomSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 18, "y": 5, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CinnabarIsland_PokemonLab_Entrance_EventScript_RAndDRoomSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 24, "y": 5, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CinnabarIsland_PokemonLab_Entrance_EventScript_TestingRoomSign" } ] diff --git a/data/maps/CinnabarIsland_PokemonLab_ExperimentRoom/map.json b/data/maps/CinnabarIsland_PokemonLab_ExperimentRoom/map.json index 2189361a9..4fc85fce5 100644 --- a/data/maps/CinnabarIsland_PokemonLab_ExperimentRoom/map.json +++ b/data/maps/CinnabarIsland_PokemonLab_ExperimentRoom/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CINNABAR_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BOY", + "graphics_id": "OBJ_EVENT_GFX_BOY", "x": 11, "y": 8, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 12, "y": 3, "elevation": 3, diff --git a/data/maps/CinnabarIsland_PokemonLab_Lounge/map.json b/data/maps/CinnabarIsland_PokemonLab_Lounge/map.json index 5761ffe0c..e2f26713d 100644 --- a/data/maps/CinnabarIsland_PokemonLab_Lounge/map.json +++ b/data/maps/CinnabarIsland_PokemonLab_Lounge/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CINNABAR_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 5, "y": 3, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_2", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_2", "x": 4, "y": 6, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 10, "y": 5, "elevation": 3, diff --git a/data/maps/CinnabarIsland_PokemonLab_Lounge/scripts.inc b/data/maps/CinnabarIsland_PokemonLab_Lounge/scripts.inc index bcf1f17c9..5d9f99dd3 100644 --- a/data/maps/CinnabarIsland_PokemonLab_Lounge/scripts.inc +++ b/data/maps/CinnabarIsland_PokemonLab_Lounge/scripts.inc @@ -53,7 +53,7 @@ CinnabarIsland_PokemonLab_Lounge_EventScript_Norma:: @ 816E33E msgbox Trade_Text_DoYouHaveMonWantToTradeForMon, MSGBOX_YESNO compare VAR_RESULT, NO goto_if_eq CinnabarIsland_PokemonLab_Lounge_EventScript_NormaDeclineTrade - special Special_ChooseMonFromParty + special ChoosePartyMon waitstate copyvar VAR_0x800A, VAR_0x8004 compare VAR_0x8004, PARTY_SIZE diff --git a/data/maps/CinnabarIsland_PokemonLab_ResearchRoom/map.json b/data/maps/CinnabarIsland_PokemonLab_ResearchRoom/map.json index 1464d0db7..d9b98752d 100644 --- a/data/maps/CinnabarIsland_PokemonLab_ResearchRoom/map.json +++ b/data/maps/CinnabarIsland_PokemonLab_ResearchRoom/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CINNABAR_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SUPER_NERD", + "graphics_id": "OBJ_EVENT_GFX_SUPER_NERD", "x": 5, "y": 4, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 10, "y": 3, "elevation": 3, @@ -52,17 +54,19 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 6, "y": 1, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CinnabarIsland_PokemonLab_ResearchRoom_EventScript_AmberPipe" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 3, "y": 1, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "CinnabarIsland_PokemonLab_ResearchRoom_EventScript_Computer" } ] diff --git a/data/maps/DiglettsCave_B1F/map.json b/data/maps/DiglettsCave_B1F/map.json index 0b5479841..13cdfac0a 100644 --- a/data/maps/DiglettsCave_B1F/map.json +++ b/data/maps/DiglettsCave_B1F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_DIGLETTS_CAVE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/DiglettsCave_NorthEntrance/map.json b/data/maps/DiglettsCave_NorthEntrance/map.json index fa87e6f8a..9cf4e3093 100644 --- a/data/maps/DiglettsCave_NorthEntrance/map.json +++ b/data/maps/DiglettsCave_NorthEntrance/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_DIGLETTS_CAVE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 4, "y": 4, "elevation": 3, diff --git a/data/maps/DiglettsCave_SouthEntrance/map.json b/data/maps/DiglettsCave_SouthEntrance/map.json index 64f78c4bc..77475f33c 100644 --- a/data/maps/DiglettsCave_SouthEntrance/map.json +++ b/data/maps/DiglettsCave_SouthEntrance/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_DIGLETTS_CAVE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 4, "y": 4, "elevation": 3, diff --git a/data/maps/FiveIsland/map.json b/data/maps/FiveIsland/map.json index 04fec1512..4922eb063 100644 --- a/data/maps/FiveIsland/map.json +++ b/data/maps/FiveIsland/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_FIVE_ISLAND", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_1", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_TOWN", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_FIVE_ISLAND_WATER_LABYRINTH", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_FISHER", + "graphics_id": "OBJ_EVENT_GFX_FISHER", "x": 8, "y": 5, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FiveIsland_EventScript_167EAA", + "script": "FiveIsland_EventScript_Fisher", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BUG_CATCHER", + "graphics_id": "OBJ_EVENT_GFX_BUG_CATCHER", "x": 16, "y": 10, "elevation": 3, @@ -47,11 +49,12 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FiveIsland_EventScript_167EA1", + "script": "FiveIsland_EventScript_BugCatcher", "flag": "0" }, { - "graphics_id": "65375", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", + "in_connection": true, "x": 32, "y": 9, "elevation": 4, @@ -97,11 +100,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 20, "y": 8, "elevation": 0, - "script": "FiveIsland_EventScript_167E98" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_EventScript_IslandSign" } ] } diff --git a/data/maps/FiveIsland/scripts.inc b/data/maps/FiveIsland/scripts.inc index 6b925d8f9..ca47c7db4 100644 --- a/data/maps/FiveIsland/scripts.inc +++ b/data/maps/FiveIsland/scripts.inc @@ -6,14 +6,14 @@ FiveIsland_OnTransition:: @ 8167E94 setworldmapflag FLAG_WORLD_MAP_FIVE_ISLAND end -FiveIsland_EventScript_167E98:: @ 8167E98 - msgbox gUnknown_8182DFB, MSGBOX_SIGN +FiveIsland_EventScript_IslandSign:: @ 8167E98 + msgbox FiveIsland_Text_IslandSign, MSGBOX_SIGN end -FiveIsland_EventScript_167EA1:: @ 8167EA1 - msgbox gUnknown_8182E26, MSGBOX_NPC +FiveIsland_EventScript_BugCatcher:: @ 8167EA1 + msgbox FiveIsland_Text_WeirdBuildingInMeadow, MSGBOX_NPC end -FiveIsland_EventScript_167EAA:: @ 8167EAA - msgbox gUnknown_8182E96, MSGBOX_NPC +FiveIsland_EventScript_Fisher:: @ 8167EAA + msgbox FiveIsland_Text_BeenGettingBusierAroundHere, MSGBOX_NPC end diff --git a/data/maps/FiveIsland/text.inc b/data/maps/FiveIsland/text.inc index 40c0d7b4e..045f8c09f 100644 --- a/data/maps/FiveIsland/text.inc +++ b/data/maps/FiveIsland/text.inc @@ -1,14 +1,14 @@ -gUnknown_8182DFB:: @ 8182DFB +FiveIsland_Text_IslandSign:: @ 8182DFB .string "FIVE ISLAND\n" .string "Chrono Island: Where Time Goes$" -gUnknown_8182E26:: @ 8182E26 +FiveIsland_Text_WeirdBuildingInMeadow:: @ 8182E26 .string "Oh, this stinks. I wanted to play in\n" .string "the MEADOW.\p" .string "But they put up a weird building\n" .string "on it, so I can't play there.$" -gUnknown_8182E96:: @ 8182E96 +FiveIsland_Text_BeenGettingBusierAroundHere:: @ 8182E96 .string "It's been getting busier around\n" .string "these parts lately.\p" .string "I haven't been catching many good\n" diff --git a/data/maps/FiveIsland_Harbor/map.json b/data/maps/FiveIsland_Harbor/map.json index 0e528b645..3dbe4effc 100644 --- a/data/maps/FiveIsland_Harbor/map.json +++ b/data/maps/FiveIsland_Harbor/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_FIVE_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SEAGALLOP", + "graphics_id": "OBJ_EVENT_GFX_SEAGALLOP", "x": 8, "y": 9, "elevation": 0, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 8, "y": 6, "elevation": 3, @@ -36,7 +38,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FiveIsland_Harbor_EventScript_171D43", + "script": "FiveIsland_Harbor_EventScript_Sailor", "flag": "0" } ], diff --git a/data/maps/FiveIsland_Harbor/scripts.inc b/data/maps/FiveIsland_Harbor/scripts.inc index 47ee3487f..6cb97fd8e 100644 --- a/data/maps/FiveIsland_Harbor/scripts.inc +++ b/data/maps/FiveIsland_Harbor/scripts.inc @@ -1,7 +1,7 @@ FiveIsland_Harbor_MapScripts:: @ 8171D42 .byte 0 -FiveIsland_Harbor_EventScript_171D43:: @ 8171D43 +FiveIsland_Harbor_EventScript_Sailor:: @ 8171D43 lock faceplayer message Text_WhereDoYouWantToSail diff --git a/data/maps/FiveIsland_House1/map.json b/data/maps/FiveIsland_House1/map.json index d458cf042..e6f0c29c5 100644 --- a/data/maps/FiveIsland_House1/map.json +++ b/data/maps/FiveIsland_House1/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_FIVE_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_3", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_3", "x": 10, "y": 2, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FiveIsland_House1_EventScript_171D57", + "script": "FiveIsland_House1_EventScript_Woman", "flag": "0" } ], diff --git a/data/maps/FiveIsland_House1/scripts.inc b/data/maps/FiveIsland_House1/scripts.inc index 86f6cbcb4..b3ea78ecb 100644 --- a/data/maps/FiveIsland_House1/scripts.inc +++ b/data/maps/FiveIsland_House1/scripts.inc @@ -1,6 +1,6 @@ FiveIsland_House1_MapScripts:: @ 8171D56 .byte 0 -FiveIsland_House1_EventScript_171D57:: @ 8171D57 - msgbox gUnknown_81A3CAC, MSGBOX_NPC +FiveIsland_House1_EventScript_Woman:: @ 8171D57 + msgbox FiveIsland_House1_Text_HusbandWentOffFishing, MSGBOX_NPC end diff --git a/data/maps/FiveIsland_House1/text.inc b/data/maps/FiveIsland_House1/text.inc index 7fa7e5ac1..1724cf678 100644 --- a/data/maps/FiveIsland_House1/text.inc +++ b/data/maps/FiveIsland_House1/text.inc @@ -1,11 +1,11 @@ -Text_1A3C71:: @ 81A3C71 +FiveIsland_House1_JPText_HusbandWentOffFishing:: @ 81A3C71 .string "こんばんの おかずは\n" .string "ようい しなくて いいぞ!\p" .string "って だんなが\n" .string "つりに いったん だけど‥\l" .string "しんじて いいのかねえ$" -gUnknown_81A3CAC:: @ 81A3CAC +FiveIsland_House1_Text_HusbandWentOffFishing:: @ 81A3CAC .string "Don't worry about buying anything\n" .string "for dinner tonight!\p" .string "…That's what my husband said when\n" diff --git a/data/maps/FiveIsland_House2/map.json b/data/maps/FiveIsland_House2/map.json index 4b12a73c5..b1e15c7e9 100644 --- a/data/maps/FiveIsland_House2/map.json +++ b/data/maps/FiveIsland_House2/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_FIVE_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 2, "y": 3, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 2, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FiveIsland_House2_EventScript_171D61", + "script": "FiveIsland_House2_EventScript_OldMan", "flag": "0" } ], diff --git a/data/maps/FiveIsland_House2/scripts.inc b/data/maps/FiveIsland_House2/scripts.inc index 79cfa755f..938571eb0 100644 --- a/data/maps/FiveIsland_House2/scripts.inc +++ b/data/maps/FiveIsland_House2/scripts.inc @@ -1,6 +1,6 @@ FiveIsland_House2_MapScripts:: @ 8171D60 .byte 0 -FiveIsland_House2_EventScript_171D61:: @ 8171D61 - msgbox gUnknown_81A3D5E, MSGBOX_NPC +FiveIsland_House2_EventScript_OldMan:: @ 8171D61 + msgbox FiveIsland_House2_Text_MeadowBelongedToFamily, MSGBOX_NPC end diff --git a/data/maps/FiveIsland_House2/text.inc b/data/maps/FiveIsland_House2/text.inc index bad18b3a3..dd794b4e3 100644 --- a/data/maps/FiveIsland_House2/text.inc +++ b/data/maps/FiveIsland_House2/text.inc @@ -1,4 +1,4 @@ -gUnknown_81A3D5E:: @ 81A3D5E +FiveIsland_House2_Text_MeadowBelongedToFamily:: @ 81A3D5E .string "That MEADOW has belonged to our\n" .string "family for generations.\p" .string "I should have had a giant mansion\n" diff --git a/data/maps/FiveIsland_LostCave_Entrance/map.json b/data/maps/FiveIsland_LostCave_Entrance/map.json index 4d044b6de..b257237bd 100644 --- a/data/maps/FiveIsland_LostCave_Entrance/map.json +++ b/data/maps/FiveIsland_LostCave_Entrance/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_LOST_CAVE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/FiveIsland_LostCave_Room1/map.json b/data/maps/FiveIsland_LostCave_Room1/map.json index 22da4145b..ab4b2a727 100644 --- a/data/maps/FiveIsland_LostCave_Room1/map.json +++ b/data/maps/FiveIsland_LostCave_Room1/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_LOST_CAVE", "requires_flash": false, "weather": "WEATHER_FOG_HORIZONTAL", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 5, "y": 4, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "FiveIsland_LostCave_Room1_EventScript_164BF7", + "script": "FiveIsland_LostCave_Room1_EventScript_Lawson", "flag": "0" } ], diff --git a/data/maps/FiveIsland_LostCave_Room1/scripts.inc b/data/maps/FiveIsland_LostCave_Room1/scripts.inc index b6f4e0257..07e1df046 100644 --- a/data/maps/FiveIsland_LostCave_Room1/scripts.inc +++ b/data/maps/FiveIsland_LostCave_Room1/scripts.inc @@ -1,7 +1,7 @@ FiveIsland_LostCave_Room1_MapScripts:: @ 8164BF6 .byte 0 -FiveIsland_LostCave_Room1_EventScript_164BF7:: @ 8164BF7 - trainerbattle_single TRAINER_RUIN_MANIAC_LAWSON, Text_17CEF5, Text_17CF42 - msgbox gUnknown_817CF54, MSGBOX_AUTOCLOSE +FiveIsland_LostCave_Room1_EventScript_Lawson:: @ 8164BF7 + trainerbattle_single TRAINER_RUIN_MANIAC_LAWSON, FiveIsland_LostCave_Room1_Text_LawsonIntro, FiveIsland_LostCave_Room1_Text_LawsonDefeat + msgbox FiveIsland_LostCave_Room1_Text_LawsonPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/FiveIsland_LostCave_Room1/text.inc b/data/maps/FiveIsland_LostCave_Room1/text.inc index 820a9a10f..d57eb39cf 100644 --- a/data/maps/FiveIsland_LostCave_Room1/text.inc +++ b/data/maps/FiveIsland_LostCave_Room1/text.inc @@ -1,13 +1,13 @@ -Text_17CEF5:: @ 817CEF5 +FiveIsland_LostCave_Room1_Text_LawsonIntro:: @ 817CEF5 .string "Aiyeeeeeh!\p" .string "I thought this was an ancient ruin.\n" .string "But it's teeming with ghosts!$" -Text_17CF42:: @ 817CF42 +FiveIsland_LostCave_Room1_Text_LawsonDefeat:: @ 817CF42 .string "Aiyeeeeeh!\n" .string "Mercy!$" -gUnknown_817CF54:: @ 817CF54 +FiveIsland_LostCave_Room1_Text_LawsonPostBattle:: @ 817CF54 .string "I'm trying to get out of here, but\n" .string "I always end up at the same spot.\p" .string "Maybe the number of boulders is\n" diff --git a/data/maps/FiveIsland_LostCave_Room10/map.json b/data/maps/FiveIsland_LostCave_Room10/map.json index 2cf3514e1..fcd1d90d6 100644 --- a/data/maps/FiveIsland_LostCave_Room10/map.json +++ b/data/maps/FiveIsland_LostCave_Room10/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_LOST_CAVE", "requires_flash": false, "weather": "WEATHER_FOG_HORIZONTAL", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 5, "y": 5, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "FLAG_HIDE_LOST_CAVE_SELPHY" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 5, "y": 2, "elevation": 3, diff --git a/data/maps/FiveIsland_LostCave_Room10/scripts.inc b/data/maps/FiveIsland_LostCave_Room10/scripts.inc index 8610c7c2d..747823b0d 100644 --- a/data/maps/FiveIsland_LostCave_Room10/scripts.inc +++ b/data/maps/FiveIsland_LostCave_Room10/scripts.inc @@ -4,50 +4,50 @@ FiveIsland_LostCave_Room10_MapScripts:: @ 8164C2D .byte 0 FiveIsland_LostCave_Room10_OnResume:: @ 8164C38 - call_if_defeated TRAINER_LADY_SELPHY, EventScript_164C42 + call_if_defeated TRAINER_LADY_SELPHY, FiveIsland_LostCave_Room10_EventScript_StopSelphySceneTrigger end -EventScript_164C42:: @ 8164C42 +FiveIsland_LostCave_Room10_EventScript_StopSelphySceneTrigger:: @ 8164C42 setvar VAR_MAP_SCENE_FIVE_ISLAND_LOST_CAVE_ROOM10, 1 return FiveIsland_LostCave_Room10_OnFrame:: @ 8164C48 - map_script_2 VAR_MAP_SCENE_FIVE_ISLAND_LOST_CAVE_ROOM10, 0, EventScript_164C52 + map_script_2 VAR_MAP_SCENE_FIVE_ISLAND_LOST_CAVE_ROOM10, 0, FiveIsland_LostCave_Room10_EventScript_FindSelphyScene .2byte 0 -EventScript_164C52:: @ 8164C52 +FiveIsland_LostCave_Room10_EventScript_FindSelphyScene:: @ 8164C52 lockall textcolor 1 - applymovement 1, Movement_164CC0 + applymovement 1, FiveIsland_LostCave_Room10_Movement_SelphyWander waitmovement 0 delay 100 - applymovement 1, Movement_164CC8 + applymovement 1, FiveIsland_LostCave_Room10_Movement_SelphyApproach waitmovement 0 - msgbox gUnknown_817D062 - goto_if_questlog EventScript_164CB6 - trainerbattle_no_intro TRAINER_LADY_SELPHY, Text_17D086 - msgbox gUnknown_817D0B2 + msgbox FiveIsland_LostCave_Room10_Text_SelphyIntro + goto_if_questlog FiveIsland_LostCave_Room10_EventScript_SelphyQuestLog + trainerbattle_no_intro TRAINER_LADY_SELPHY, FiveIsland_LostCave_Room10_Text_SelphyDefeat + msgbox FiveIsland_LostCave_Room10_Text_MayIAskYouToTakeMeHome closemessage - call EventScript_164CA5 + call FiveIsland_LostCave_Room10_EventScript_SetSelphyFound warp MAP_FIVE_ISLAND_RESORT_GORGEOUS, 255, 39, 10 waitstate releaseall end -EventScript_164CA5:: @ 8164CA5 +FiveIsland_LostCave_Room10_EventScript_SetSelphyFound:: @ 8164CA5 setflag FLAG_HIDE_LOST_CAVE_SELPHY clearflag FLAG_HIDE_RESORT_GORGEOUS_SELPHY setvar VAR_MAP_SCENE_FIVE_ISLAND_LOST_CAVE_ROOM10, 1 setvar VAR_MAP_SCENE_FIVE_ISLAND_RESORT_GORGEOUS, 1 return -EventScript_164CB6:: @ 8164CB6 +FiveIsland_LostCave_Room10_EventScript_SelphyQuestLog:: @ 8164CB6 settrainerflag TRAINER_LADY_SELPHY - call EventScript_164CA5 + call FiveIsland_LostCave_Room10_EventScript_SetSelphyFound releaseall end -Movement_164CC0:: @ 8164CC0 +FiveIsland_LostCave_Room10_Movement_SelphyWander:: @ 8164CC0 walk_left delay_16 walk_right @@ -57,7 +57,7 @@ Movement_164CC0:: @ 8164CC0 walk_in_place_fastest_down step_end -Movement_164CC8:: @ 8164CC8 +FiveIsland_LostCave_Room10_Movement_SelphyApproach:: @ 8164CC8 walk_down walk_down step_end diff --git a/data/maps/FiveIsland_LostCave_Room10/text.inc b/data/maps/FiveIsland_LostCave_Room10/text.inc index da92ae5e7..57542fe1f 100644 --- a/data/maps/FiveIsland_LostCave_Room10/text.inc +++ b/data/maps/FiveIsland_LostCave_Room10/text.inc @@ -1,12 +1,12 @@ -gUnknown_817D062:: @ 817D062 +FiveIsland_LostCave_Room10_Text_SelphyIntro:: @ 817D062 .string "W-what do you intend to do with\n" .string "me?$" -Text_17D086:: @ 817D086 +FiveIsland_LostCave_Room10_Text_SelphyDefeat:: @ 817D086 .string "Oh… I was afraid that you meant to\n" .string "harm me.$" -gUnknown_817D0B2:: @ 817D0B2 +FiveIsland_LostCave_Room10_Text_MayIAskYouToTakeMeHome:: @ 817D0B2 .string "I am so glad that you happened\n" .string "here.\p" .string "I grew rather bored of walking,\n" diff --git a/data/maps/FiveIsland_LostCave_Room11/map.json b/data/maps/FiveIsland_LostCave_Room11/map.json index c06c279eb..77cb971ab 100644 --- a/data/maps/FiveIsland_LostCave_Room11/map.json +++ b/data/maps/FiveIsland_LostCave_Room11/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_LOST_CAVE", "requires_flash": false, "weather": "WEATHER_FOG_HORIZONTAL", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 5, "y": 5, "elevation": 3, diff --git a/data/maps/FiveIsland_LostCave_Room12/map.json b/data/maps/FiveIsland_LostCave_Room12/map.json index 0131d8a66..f5aeb1378 100644 --- a/data/maps/FiveIsland_LostCave_Room12/map.json +++ b/data/maps/FiveIsland_LostCave_Room12/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_LOST_CAVE", "requires_flash": false, "weather": "WEATHER_FOG_HORIZONTAL", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 5, "y": 5, "elevation": 3, diff --git a/data/maps/FiveIsland_LostCave_Room13/map.json b/data/maps/FiveIsland_LostCave_Room13/map.json index 02f11435c..b5c855413 100644 --- a/data/maps/FiveIsland_LostCave_Room13/map.json +++ b/data/maps/FiveIsland_LostCave_Room13/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_LOST_CAVE", "requires_flash": false, "weather": "WEATHER_FOG_HORIZONTAL", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 5, "y": 5, "elevation": 3, diff --git a/data/maps/FiveIsland_LostCave_Room14/map.json b/data/maps/FiveIsland_LostCave_Room14/map.json index bc0d6f5cd..2e920267d 100644 --- a/data/maps/FiveIsland_LostCave_Room14/map.json +++ b/data/maps/FiveIsland_LostCave_Room14/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_LOST_CAVE", "requires_flash": false, "weather": "WEATHER_FOG_HORIZONTAL", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 5, "y": 5, "elevation": 3, diff --git a/data/maps/FiveIsland_LostCave_Room2/map.json b/data/maps/FiveIsland_LostCave_Room2/map.json index 25a7996e6..eaeabf81b 100644 --- a/data/maps/FiveIsland_LostCave_Room2/map.json +++ b/data/maps/FiveIsland_LostCave_Room2/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_LOST_CAVE", "requires_flash": false, "weather": "WEATHER_FOG_HORIZONTAL", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/FiveIsland_LostCave_Room3/map.json b/data/maps/FiveIsland_LostCave_Room3/map.json index 885c75d45..bcd56fec5 100644 --- a/data/maps/FiveIsland_LostCave_Room3/map.json +++ b/data/maps/FiveIsland_LostCave_Room3/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_LOST_CAVE", "requires_flash": false, "weather": "WEATHER_FOG_HORIZONTAL", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/FiveIsland_LostCave_Room4/map.json b/data/maps/FiveIsland_LostCave_Room4/map.json index ac63bc97c..059093f62 100644 --- a/data/maps/FiveIsland_LostCave_Room4/map.json +++ b/data/maps/FiveIsland_LostCave_Room4/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_LOST_CAVE", "requires_flash": false, "weather": "WEATHER_FOG_HORIZONTAL", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_1", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_1", "x": 6, "y": 4, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "FiveIsland_LostCave_Room4_EventScript_164C11", + "script": "FiveIsland_LostCave_Room4_EventScript_Laura", "flag": "0" } ], diff --git a/data/maps/FiveIsland_LostCave_Room4/scripts.inc b/data/maps/FiveIsland_LostCave_Room4/scripts.inc index 38241ab71..936e488e8 100644 --- a/data/maps/FiveIsland_LostCave_Room4/scripts.inc +++ b/data/maps/FiveIsland_LostCave_Room4/scripts.inc @@ -1,7 +1,7 @@ FiveIsland_LostCave_Room4_MapScripts:: @ 8164C10 .byte 0 -FiveIsland_LostCave_Room4_EventScript_164C11:: @ 8164C11 - trainerbattle_single TRAINER_PSYCHIC_LAURA, Text_17CFC1, Text_17CFFB - msgbox gUnknown_817D037, MSGBOX_AUTOCLOSE +FiveIsland_LostCave_Room4_EventScript_Laura:: @ 8164C11 + trainerbattle_single TRAINER_PSYCHIC_LAURA, FiveIsland_LostCave_Room4_Text_LauraIntro, FiveIsland_LostCave_Room4_Text_LauraDefeat + msgbox FiveIsland_LostCave_Room4_Text_LauraPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/FiveIsland_LostCave_Room4/text.inc b/data/maps/FiveIsland_LostCave_Room4/text.inc index a9a8c0daf..7244fcccb 100644 --- a/data/maps/FiveIsland_LostCave_Room4/text.inc +++ b/data/maps/FiveIsland_LostCave_Room4/text.inc @@ -1,12 +1,12 @@ -Text_17CFC1:: @ 817CFC1 +FiveIsland_LostCave_Room4_Text_LauraIntro:: @ 817CFC1 .string "I think there is a mysterious power\n" .string "at work in this cave.$" -Text_17CFFB:: @ 817CFFB +FiveIsland_LostCave_Room4_Text_LauraDefeat:: @ 817CFFB .string "If you don't go into the right\n" .string "tunnel, you won't get ahead.$" -gUnknown_817D037:: @ 817D037 +FiveIsland_LostCave_Room4_Text_LauraPostBattle:: @ 817D037 .string "Earlier, a lady went into the caves\n" .string "ahead.$" diff --git a/data/maps/FiveIsland_LostCave_Room5/map.json b/data/maps/FiveIsland_LostCave_Room5/map.json index ee295239d..94a33e0be 100644 --- a/data/maps/FiveIsland_LostCave_Room5/map.json +++ b/data/maps/FiveIsland_LostCave_Room5/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_LOST_CAVE", "requires_flash": false, "weather": "WEATHER_FOG_HORIZONTAL", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/FiveIsland_LostCave_Room6/map.json b/data/maps/FiveIsland_LostCave_Room6/map.json index cd6663ce8..1941530d6 100644 --- a/data/maps/FiveIsland_LostCave_Room6/map.json +++ b/data/maps/FiveIsland_LostCave_Room6/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_LOST_CAVE", "requires_flash": false, "weather": "WEATHER_FOG_HORIZONTAL", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/FiveIsland_LostCave_Room7/map.json b/data/maps/FiveIsland_LostCave_Room7/map.json index 144f2099b..459c54736 100644 --- a/data/maps/FiveIsland_LostCave_Room7/map.json +++ b/data/maps/FiveIsland_LostCave_Room7/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_LOST_CAVE", "requires_flash": false, "weather": "WEATHER_FOG_HORIZONTAL", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/FiveIsland_LostCave_Room8/map.json b/data/maps/FiveIsland_LostCave_Room8/map.json index 270a99c8f..d0c0c0d87 100644 --- a/data/maps/FiveIsland_LostCave_Room8/map.json +++ b/data/maps/FiveIsland_LostCave_Room8/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_LOST_CAVE", "requires_flash": false, "weather": "WEATHER_FOG_HORIZONTAL", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/FiveIsland_LostCave_Room9/map.json b/data/maps/FiveIsland_LostCave_Room9/map.json index ee2945b8d..1669d671e 100644 --- a/data/maps/FiveIsland_LostCave_Room9/map.json +++ b/data/maps/FiveIsland_LostCave_Room9/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_LOST_CAVE", "requires_flash": false, "weather": "WEATHER_FOG_HORIZONTAL", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/FiveIsland_Meadow/map.json b/data/maps/FiveIsland_Meadow/map.json index 4c7e900d3..123b7f994 100644 --- a/data/maps/FiveIsland_Meadow/map.json +++ b/data/maps/FiveIsland_Meadow/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_FIVE_ISLE_MEADOW", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_FIVE_ISLAND", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_F", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_F", "x": 18, "y": 18, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "FiveIsland_Meadow_EventScript_1689BB", + "script": "FiveIsland_Meadow_EventScript_Rocket3", "flag": "FLAG_HIDE_FIVE_ISLAND_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 17, "y": 5, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "FiveIsland_Meadow_EventScript_16898D", + "script": "FiveIsland_Meadow_EventScript_Rocket1", "flag": "FLAG_HIDE_FIVE_ISLAND_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 11, "y": 27, "elevation": 3, @@ -60,11 +62,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "FiveIsland_Meadow_EventScript_1689A4", + "script": "FiveIsland_Meadow_EventScript_Rocket2", "flag": "FLAG_HIDE_FIVE_ISLAND_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 8, "y": 9, "elevation": 3, @@ -73,11 +75,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 19, "y": 12, "elevation": 3, @@ -86,11 +88,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_13" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 12, "y": 11, "elevation": 3, @@ -103,7 +105,7 @@ "flag": "FLAG_HIDE_FIVE_ISLAND_MEADOW_MAX_POTION" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 3, "y": 22, "elevation": 3, @@ -128,11 +130,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 21, "elevation": 0, - "script": "FiveIsland_Meadow_EventScript_168942" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_Meadow_EventScript_WarehouseDoor" } ] } diff --git a/data/maps/FiveIsland_Meadow/scripts.inc b/data/maps/FiveIsland_Meadow/scripts.inc index 21fd9be76..e0e94022f 100644 --- a/data/maps/FiveIsland_Meadow/scripts.inc +++ b/data/maps/FiveIsland_Meadow/scripts.inc @@ -3,49 +3,49 @@ FiveIsland_Meadow_MapScripts:: @ 8168932 .byte 0 FiveIsland_Meadow_OnLoad:: @ 8168938 - call_if_set FLAG_UNLOCKED_ROCKET_WAREHOUSE, EventScript_168983 + call_if_set FLAG_UNLOCKED_ROCKET_WAREHOUSE, FiveIsland_Meadow_EventScript_SetWarehouseDoorUnlocked end -FiveIsland_Meadow_EventScript_168942:: @ 8168942 +FiveIsland_Meadow_EventScript_WarehouseDoor:: @ 8168942 lockall - goto_if_set FLAG_UNLOCKED_ROCKET_WAREHOUSE, EventScript_168979 - goto_if_set FLAG_LEARNED_YES_NAH_CHANSEY, EventScript_16895F - msgbox gUnknown_818AB8E + goto_if_set FLAG_UNLOCKED_ROCKET_WAREHOUSE, FiveIsland_Meadow_EventScript_WarehouseDoorAlreadyOpen + goto_if_set FLAG_LEARNED_YES_NAH_CHANSEY, FiveIsland_Meadow_EventScript_OpenWarehouseDoor + msgbox FiveIsland_Meadow_Text_EnteredPasswordAnotherNeeded releaseall end -EventScript_16895F:: @ 816895F +FiveIsland_Meadow_EventScript_OpenWarehouseDoor:: @ 816895F setflag FLAG_UNLOCKED_ROCKET_WAREHOUSE - message Text_18ABF4 + message FiveIsland_Meadow_Text_EnteredPasswordDoorOpened waitmessage delay 60 - call EventScript_168983 + call FiveIsland_Meadow_EventScript_SetWarehouseDoorUnlocked special DrawWholeMapView playse SE_PIN waitse releaseall end -EventScript_168979:: @ 8168979 - msgbox gUnknown_818AC62 +FiveIsland_Meadow_EventScript_WarehouseDoorAlreadyOpen:: @ 8168979 + msgbox FiveIsland_Meadow_Text_WarehouseDoorAlreadyOpen releaseall end -EventScript_168983:: @ 8168983 - setmetatile 12, 21, 687, 1 +FiveIsland_Meadow_EventScript_SetWarehouseDoorUnlocked:: @ 8168983 + setmetatile 12, 21, METATILE_SeviiIslands45_RocketWarehouseDoor_Unlocked, 1 return -FiveIsland_Meadow_EventScript_16898D:: @ 816898D - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_49, Text_18AC88, Text_18ACB3 - msgbox gUnknown_818ACC5, MSGBOX_AUTOCLOSE +FiveIsland_Meadow_EventScript_Rocket1:: @ 816898D + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_49, FiveIsland_Meadow_Text_Rocket1Intro, FiveIsland_Meadow_Text_Rocket1Defeat + msgbox FiveIsland_Meadow_Text_Rocket1PostBattle, MSGBOX_AUTOCLOSE end -FiveIsland_Meadow_EventScript_1689A4:: @ 81689A4 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_50, Text_18ACF0, Text_18AD39 - msgbox gUnknown_818AD59, MSGBOX_AUTOCLOSE +FiveIsland_Meadow_EventScript_Rocket2:: @ 81689A4 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_50, FiveIsland_Meadow_Text_Rocket2Intro, FiveIsland_Meadow_Text_Rocket2Defeat + msgbox FiveIsland_Meadow_Text_Rocket2PostBattle, MSGBOX_AUTOCLOSE end -FiveIsland_Meadow_EventScript_1689BB:: @ 81689BB - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_51, Text_18ADC6, Text_18ADFB - msgbox gUnknown_818AE16, MSGBOX_AUTOCLOSE +FiveIsland_Meadow_EventScript_Rocket3:: @ 81689BB + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_51, FiveIsland_Meadow_Text_Rocket3Intro, FiveIsland_Meadow_Text_Rocket3Defeat + msgbox FiveIsland_Meadow_Text_Rocket3PostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/FiveIsland_Meadow/text.inc b/data/maps/FiveIsland_Meadow/text.inc index 7ffd69619..7d1ef844c 100644 --- a/data/maps/FiveIsland_Meadow/text.inc +++ b/data/maps/FiveIsland_Meadow/text.inc @@ -1,70 +1,59 @@ -Text_18AAD5:: @ 818AAD5 - .string "This is an excellent environment\n" - .string "for raising POKéMON.$" - -Text_18AB0B:: @ 818AB0B - .string "Your POKéMON are growing up\n" - .string "admirably well!$" - -Text_18AB37:: @ 818AB37 - .string "You know, I think you have the\n" - .string "talent to be a good BREEDER.$" - -Text_18AB73:: @ 818AB73 +@ Unused +FiveIsland_Meadow_Text_DoorNeedsTwoPasswords:: @ 818AB73 .string "とびらを あけるには\n" .string "パスワードが 2つ いるようだ$" -gUnknown_818AB8E:: @ 818AB8E +FiveIsland_Meadow_Text_EnteredPasswordAnotherNeeded:: @ 818AB8E .string "{PLAYER} entered a password.\p" .string "“GOLDEEN need log.”\p" .string "… … … … … …\p" .string "Another password is needed to\n" .string "open the door…$" -Text_18ABF4:: @ 818ABF4 +FiveIsland_Meadow_Text_EnteredPasswordDoorOpened:: @ 818ABF4 .string "{PLAYER} entered two passwords.\p" .string "“GOLDEEN need log.”\n" .string "“Yes, nah, CHANSEY.”\p" .string "… … … … … …\p" .string "The WAREHOUSE's door opened!$" -gUnknown_818AC62:: @ 818AC62 +FiveIsland_Meadow_Text_WarehouseDoorAlreadyOpen:: @ 818AC62 .string "The WAREHOUSE's door is already\n" .string "open.$" -Text_18AC88:: @ 818AC88 +FiveIsland_Meadow_Text_Rocket1Intro:: @ 818AC88 .string "This area's strictly off-limits!\n" .string "Out, out!$" -Text_18ACB3:: @ 818ACB3 +FiveIsland_Meadow_Text_Rocket1Defeat:: @ 818ACB3 .string "Is this for real?$" -gUnknown_818ACC5:: @ 818ACC5 +FiveIsland_Meadow_Text_Rocket1PostBattle:: @ 818ACC5 .string "You don't have any business here!\n" .string "Go home!$" -Text_18ACF0:: @ 818ACF0 +FiveIsland_Meadow_Text_Rocket2Intro:: @ 818ACF0 .string "There's nothing past here except\n" .string "our WAREHOUSE.\p" .string "So what brings you here?$" -Text_18AD39:: @ 818AD39 +FiveIsland_Meadow_Text_Rocket2Defeat:: @ 818AD39 .string "That wasn't supposed to happen…$" -gUnknown_818AD59:: @ 818AD59 +FiveIsland_Meadow_Text_Rocket2PostBattle:: @ 818AD59 .string "You're wanting to know what's inside\n" .string "this WAREHOUSE?\p" .string "It's better you didn't know.\n" .string "For your own sake, I mean.$" -Text_18ADC6:: @ 818ADC6 +FiveIsland_Meadow_Text_Rocket3Intro:: @ 818ADC6 .string "You'd be wasting time even if you\n" .string "were to get by me.$" -Text_18ADFB:: @ 818ADFB +FiveIsland_Meadow_Text_Rocket3Defeat:: @ 818ADFB .string "Oh, that makes me furious!$" -gUnknown_818AE16:: @ 818AE16 +FiveIsland_Meadow_Text_Rocket3PostBattle:: @ 818AE16 .string "You won't be able to get in without\n" .string "the passwords anyway.$" diff --git a/data/maps/FiveIsland_MemorialPillar/map.json b/data/maps/FiveIsland_MemorialPillar/map.json index 7390a3997..ace36826f 100644 --- a/data/maps/FiveIsland_MemorialPillar/map.json +++ b/data/maps/FiveIsland_MemorialPillar/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_MEMORIAL_PILLAR", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_FIVE_ISLAND_MEADOW", @@ -20,7 +22,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 8, "y": 44, "elevation": 4, @@ -29,11 +31,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FiveIsland_MemorialPillar_EventScript_1689D3", + "script": "FiveIsland_MemorialPillar_EventScript_MemorialMan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 12, "y": 6, "elevation": 3, @@ -42,11 +44,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "FiveIsland_MemorialPillar_EventScript_1AC317", + "script": "FiveIsland_MemorialPillar_EventScript_Milo", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 14, "y": 17, "elevation": 3, @@ -55,11 +57,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "FiveIsland_MemorialPillar_EventScript_1AC355", + "script": "FiveIsland_MemorialPillar_EventScript_Chaz", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 17, "y": 31, "elevation": 3, @@ -68,11 +70,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "FiveIsland_MemorialPillar_EventScript_1AC393", + "script": "FiveIsland_MemorialPillar_EventScript_Harold", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 4, "y": 47, "elevation": 3, @@ -89,11 +91,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_1", + "type": "sign", "x": 9, "y": 43, "elevation": 0, - "script": "FiveIsland_MemorialPillar_EventScript_168A48" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", + "script": "FiveIsland_MemorialPillar_EventScript_Memorial" }, { "type": "hidden_item", diff --git a/data/maps/FiveIsland_MemorialPillar/scripts.inc b/data/maps/FiveIsland_MemorialPillar/scripts.inc index 98de6167e..7fd2a810d 100644 --- a/data/maps/FiveIsland_MemorialPillar/scripts.inc +++ b/data/maps/FiveIsland_MemorialPillar/scripts.inc @@ -1,59 +1,59 @@ FiveIsland_MemorialPillar_MapScripts:: @ 81689D2 .byte 0 -FiveIsland_MemorialPillar_EventScript_1689D3:: @ 81689D3 +FiveIsland_MemorialPillar_EventScript_MemorialMan:: @ 81689D3 lock - goto_if_set FLAG_GOT_TM42_AT_MEMORIAL_PILLAR, EventScript_168A18 - goto_if_set FLAG_NO_ROOM_FOR_TM42_AT_MEMORIAL_PILLAR, EventScript_168A22 - msgbox gUnknown_818B02E + goto_if_set FLAG_GOT_TM42_AT_MEMORIAL_PILLAR, FiveIsland_MemorialPillar_EventScript_AlreadyGotTM42 + goto_if_set FLAG_NO_ROOM_FOR_TM42_AT_MEMORIAL_PILLAR, FiveIsland_MemorialPillar_EventScript_ReturnedForTM42 + msgbox FiveIsland_MemorialPillar_Text_ScrubScrub closemessage applymovement 1, Movement_FacePlayer waitmovement 0 delay 45 - msgbox gUnknown_818B03C + msgbox FiveIsland_MemorialPillar_Text_YourMonsLookHealthy applymovement 1, Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox gUnknown_818B05E + msgbox FiveIsland_MemorialPillar_Text_ThisIsWhereIBuriedMyOnix release end -EventScript_168A18:: @ 8168A18 - msgbox gUnknown_818B2DA +FiveIsland_MemorialPillar_EventScript_AlreadyGotTM42:: @ 8168A18 + msgbox FiveIsland_MemorialPillar_Text_ScrubScrubTectonix release end -EventScript_168A22:: @ 8168A22 - msgbox gUnknown_818B282 +FiveIsland_MemorialPillar_EventScript_ReturnedForTM42:: @ 8168A22 + msgbox FiveIsland_MemorialPillar_Text_StillHaveThingAsMyThanks giveitem ITEM_TM42 - compare VAR_RESULT, 0 - goto_if_eq EventScript_168AFE - call EventScript_168AE8 + compare VAR_RESULT, FALSE + goto_if_eq FiveIsland_MemorialPillar_EventScript_NoRoomForTM42 + call FiveIsland_MemorialPillar_EventScript_ReceivedTM42 release end -FiveIsland_MemorialPillar_EventScript_168A48:: @ 8168A48 +FiveIsland_MemorialPillar_EventScript_Memorial:: @ 8168A48 goto_if_questlog EventScript_ReleaseEnd special sub_8112364 lockall - goto_if_set FLAG_GOT_TM42_AT_MEMORIAL_PILLAR, EventScript_168B0B - goto_if_set FLAG_NO_ROOM_FOR_TM42_AT_MEMORIAL_PILLAR, EventScript_168B0B - msgbox gUnknown_818B095 + goto_if_set FLAG_GOT_TM42_AT_MEMORIAL_PILLAR, FiveIsland_MemorialPillar_EventScript_MemorialLemonadeAlreadyPlaced + goto_if_set FLAG_NO_ROOM_FOR_TM42_AT_MEMORIAL_PILLAR, FiveIsland_MemorialPillar_EventScript_MemorialLemonadeAlreadyPlaced + msgbox FiveIsland_MemorialPillar_Text_HereLiesTectonixLemonadeOffering checkitem ITEM_LEMONADE, 1 compare VAR_RESULT, TRUE - goto_if_eq EventScript_168A86 + goto_if_eq FiveIsland_MemorialPillar_EventScript_AskPlaceLemonade releaseall end -EventScript_168A86:: @ 8168A86 - msgbox gUnknown_818B105, MSGBOX_YESNO +FiveIsland_MemorialPillar_EventScript_AskPlaceLemonade:: @ 8168A86 + msgbox FiveIsland_MemorialPillar_Text_LeaveAnotherLemonadeOffering, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_168A9B + goto_if_eq FiveIsland_MemorialPillar_EventScript_PlaceLemonade releaseall end -EventScript_168A9B:: @ 8168A9B +FiveIsland_MemorialPillar_EventScript_PlaceLemonade:: @ 8168A9B removeitem ITEM_LEMONADE, 1 - msgbox gUnknown_818B13E + msgbox FiveIsland_MemorialPillar_Text_PlacedCanOfLemonade closemessage applymovement 1, Movement_WalkInPlaceFastestRight waitmovement 0 @@ -61,28 +61,28 @@ EventScript_168A9B:: @ 8168A9B applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestLeft waitmovement 0 textcolor 0 - msgbox gUnknown_818B171 + msgbox FiveIsland_MemorialPillar_Text_ThankYouPleaseTakeThis giveitem ITEM_TM42 - compare VAR_RESULT, 0 - goto_if_eq EventScript_168AFE - call EventScript_168AE8 + compare VAR_RESULT, FALSE + goto_if_eq FiveIsland_MemorialPillar_EventScript_NoRoomForTM42 + call FiveIsland_MemorialPillar_EventScript_ReceivedTM42 releaseall end -EventScript_168AE8:: @ 8168AE8 - msgbox gUnknown_818B219 +FiveIsland_MemorialPillar_EventScript_ReceivedTM42:: @ 8168AE8 + msgbox FiveIsland_MemorialPillar_Text_BeGoodToYourMonsToo applymovement 1, Movement_WalkInPlaceFastestUp waitmovement 0 setflag FLAG_GOT_TM42_AT_MEMORIAL_PILLAR return -EventScript_168AFE:: @ 8168AFE +FiveIsland_MemorialPillar_EventScript_NoRoomForTM42:: @ 8168AFE setflag FLAG_NO_ROOM_FOR_TM42_AT_MEMORIAL_PILLAR - msgbox gUnknown_818B23E + msgbox FiveIsland_MemorialPillar_Text_DontHaveRoomForIt releaseall end -EventScript_168B0B:: @ 8168B0B - msgbox gUnknown_818B2F8 +FiveIsland_MemorialPillar_EventScript_MemorialLemonadeAlreadyPlaced:: @ 8168B0B + msgbox FiveIsland_MemorialPillar_Text_HereLiesTectonix releaseall end diff --git a/data/maps/FiveIsland_MemorialPillar/text.inc b/data/maps/FiveIsland_MemorialPillar/text.inc index 051f3fdc1..9ba8625e5 100644 --- a/data/maps/FiveIsland_MemorialPillar/text.inc +++ b/data/maps/FiveIsland_MemorialPillar/text.inc @@ -1,69 +1,69 @@ -Text_18AE50:: @ 818AE50 +FiveIsland_MemorialPillar_Text_MiloIntro:: @ 818AE50 .string "I'm the eldest of the BIRD\n" .string "BROTHERS.\p" .string "The best thing about birds…\n" .string "It has to be the beak.$" -Text_18AEA8:: @ 818AEA8 +FiveIsland_MemorialPillar_Text_MiloDefeat:: @ 818AEA8 .string "Oh, so sharp!$" -Text_18AEB6:: @ 818AEB6 +FiveIsland_MemorialPillar_Text_MiloPostBattle:: @ 818AEB6 .string "You can fly to FOUR ISLAND from\n" .string "here.$" -Text_18AEDC:: @ 818AEDC +FiveIsland_MemorialPillar_Text_ChazIntro:: @ 818AEDC .string "I'm the middle kid of the BIRD\n" .string "BROTHERS.\p" .string "The best thing about birds…\n" .string "It has to be the wings.$" -Text_18AF39:: @ 818AF39 +FiveIsland_MemorialPillar_Text_ChazDefeat:: @ 818AF39 .string "Flap, flap!$" -Text_18AF45:: @ 818AF45 +FiveIsland_MemorialPillar_Text_ChazPostBattle:: @ 818AF45 .string "There was a really somber guy\n" .string "over that way.$" -Text_18AF72:: @ 818AF72 +FiveIsland_MemorialPillar_Text_HaroldIntro:: @ 818AF72 .string "I'm the youngest of the BIRD\n" .string "BROTHERS.\p" .string "The best thing about birds…\n" .string "It has to be the down.$" -Text_18AFCC:: @ 818AFCC +FiveIsland_MemorialPillar_Text_HaroldDefeat:: @ 818AFCC .string "Down is so comfy…\n" .string "It makes me drowsy…$" -Text_18AFF2:: @ 818AFF2 +FiveIsland_MemorialPillar_Text_HaroldPostBattle:: @ 818AFF2 .string "It fills me with happiness when\n" .string "bird POKéMON beg playfully…$" -gUnknown_818B02E:: @ 818B02E +FiveIsland_MemorialPillar_Text_ScrubScrub:: @ 818B02E .string "Scrub, scrub…$" -gUnknown_818B03C:: @ 818B03C +FiveIsland_MemorialPillar_Text_YourMonsLookHealthy:: @ 818B03C .string "Hello…\n" .string "Your POKéMON look healthy…$" -gUnknown_818B05E:: @ 818B05E +FiveIsland_MemorialPillar_Text_ThisIsWhereIBuriedMyOnix:: @ 818B05E .string "This is where I buried my ONIX…\n" .string "It was named TECTONIX…$" -gUnknown_818B095:: @ 818B095 +FiveIsland_MemorialPillar_Text_HereLiesTectonixLemonadeOffering:: @ 818B095 .string "“Here lies TECTONIX” is engraved\n" .string "on a boulder.\p" .string "There is a LEMONADE placed as an\n" .string "offering in front of the grave.$" -gUnknown_818B105:: @ 818B105 +FiveIsland_MemorialPillar_Text_LeaveAnotherLemonadeOffering:: @ 818B105 .string "Would you like to leave another\n" .string "LEMONADE as an offering?$" -gUnknown_818B13E:: @ 818B13E +FiveIsland_MemorialPillar_Text_PlacedCanOfLemonade:: @ 818B13E .string "{PLAYER} placed a can of LEMONADE\n" .string "in front of the grave.$" -gUnknown_818B171:: @ 818B171 +FiveIsland_MemorialPillar_Text_ThankYouPleaseTakeThis:: @ 818B171 .string "Th-thank you…\p" .string "That was my TECTONIX's favorite\n" .string "drink…\p" @@ -73,25 +73,25 @@ gUnknown_818B171:: @ 818B171 .string "Can you please take this as my\n" .string "thanks?$" -gUnknown_818B219:: @ 818B219 +FiveIsland_MemorialPillar_Text_BeGoodToYourMonsToo:: @ 818B219 .string "Please be good to your POKéMON,\n" .string "too.$" -gUnknown_818B23E:: @ 818B23E +FiveIsland_MemorialPillar_Text_DontHaveRoomForIt:: @ 818B23E .string "If you don't have room for it,\n" .string "I'll hold it for you till next time.$" -gUnknown_818B282:: @ 818B282 +FiveIsland_MemorialPillar_Text_StillHaveThingAsMyThanks:: @ 818B282 .string "Oh, it's you from that time…\p" .string "I still have that thing I wanted\n" .string "you to have as my thanks.$" -gUnknown_818B2DA:: @ 818B2DA +FiveIsland_MemorialPillar_Text_ScrubScrubTectonix:: @ 818B2DA .string "Scrub, scrub…\p" .string "… … …\n" .string "TECTONIX…$" -gUnknown_818B2F8:: @ 818B2F8 +FiveIsland_MemorialPillar_Text_HereLiesTectonix:: @ 818B2F8 .string "Boulders and rocks are neatly piled\n" .string "up as a cairn.\p" .string "“Here lies TECTONIX” is engraved\n" diff --git a/data/maps/FiveIsland_PokemonCenter_1F/map.json b/data/maps/FiveIsland_PokemonCenter_1F/map.json index 9e48279b1..25b7159c0 100644 --- a/data/maps/FiveIsland_PokemonCenter_1F/map.json +++ b/data/maps/FiveIsland_PokemonCenter_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_FIVE_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_NURSE", + "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FiveIsland_PokemonCenter_1F_EventScript_171D00", + "script": "FiveIsland_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_F", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_F", "x": 9, "y": 4, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FiveIsland_PokemonCenter_1F_EventScript_171D12", + "script": "FiveIsland_PokemonCenter_1F_EventScript_CooltrainerF", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHEF", + "graphics_id": "OBJ_EVENT_GFX_CHEF", "x": 4, "y": 8, "elevation": 3, @@ -49,7 +51,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FiveIsland_PokemonCenter_1F_EventScript_171D09", + "script": "FiveIsland_PokemonCenter_1F_EventScript_Chef", "flag": "0" }, { @@ -62,7 +64,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FiveIsland_PokemonCenter_1F_EventScript_1ACF5F", + "script": "FiveIsland_PokemonCenter_1F_EventScript_PokemonJournal", "flag": "FLAG_HIDE_POSTGAME_GOSSIPERS" }, { @@ -75,7 +77,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FiveIsland_PokemonCenter_1F_EventScript_1ACF5F", + "script": "FiveIsland_PokemonCenter_1F_EventScript_PokemonJournal", "flag": "FLAG_HIDE_POSTGAME_GOSSIPERS" } ], diff --git a/data/maps/FiveIsland_PokemonCenter_1F/scripts.inc b/data/maps/FiveIsland_PokemonCenter_1F/scripts.inc index 21148cede..c66871fea 100644 --- a/data/maps/FiveIsland_PokemonCenter_1F/scripts.inc +++ b/data/maps/FiveIsland_PokemonCenter_1F/scripts.inc @@ -7,17 +7,17 @@ FiveIsland_PokemonCenter_1F_OnTransition:: @ 8171CFC setrespawn SPAWN_FIVE_ISLAND end -FiveIsland_PokemonCenter_1F_EventScript_171D00:: @ 8171D00 +FiveIsland_PokemonCenter_1F_EventScript_Nurse:: @ 8171D00 lock faceplayer call EventScript_PkmnCenterNurse release end -FiveIsland_PokemonCenter_1F_EventScript_171D09:: @ 8171D09 - msgbox gUnknown_81A3BBA, MSGBOX_NPC +FiveIsland_PokemonCenter_1F_EventScript_Chef:: @ 8171D09 + msgbox FiveIsland_PokemonCenter_1F_Text_OnMyWayToPrepareMeal, MSGBOX_NPC end -FiveIsland_PokemonCenter_1F_EventScript_171D12:: @ 8171D12 - msgbox gUnknown_81A3BFD, MSGBOX_NPC +FiveIsland_PokemonCenter_1F_EventScript_CooltrainerF:: @ 8171D12 + msgbox FiveIsland_PokemonCenter_1F_Text_YoureOnQuestToCatchEveryMon, MSGBOX_NPC end diff --git a/data/maps/FiveIsland_PokemonCenter_1F/text.inc b/data/maps/FiveIsland_PokemonCenter_1F/text.inc index e1b0e1ea4..3d1be0df1 100644 --- a/data/maps/FiveIsland_PokemonCenter_1F/text.inc +++ b/data/maps/FiveIsland_PokemonCenter_1F/text.inc @@ -1,8 +1,8 @@ -gUnknown_81A3BBA:: @ 81A3BBA +FiveIsland_PokemonCenter_1F_Text_OnMyWayToPrepareMeal:: @ 81A3BBA .string "I'm on my way to prepare a meal\n" .string "for a certain high-society person.$" -gUnknown_81A3BFD:: @ 81A3BFD +FiveIsland_PokemonCenter_1F_Text_YoureOnQuestToCatchEveryMon:: @ 81A3BFD .string "You're on a quest to catch every\n" .string "single kind of POKéMON?\p" .string "…How incredible. Please tell me if\n" diff --git a/data/maps/FiveIsland_PokemonCenter_2F/map.json b/data/maps/FiveIsland_PokemonCenter_2F/map.json index 804ba796f..4ff0f3a83 100644 --- a/data/maps/FiveIsland_PokemonCenter_2F/map.json +++ b/data/maps/FiveIsland_PokemonCenter_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_FIVE_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 6, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 2, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 10, "y": 2, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MG_DELIVERYMAN", + "graphics_id": "OBJ_EVENT_GFX_MG_DELIVERYMAN", "x": 1, "y": 2, "elevation": 3, diff --git a/data/maps/FiveIsland_ResortGorgeous/map.json b/data/maps/FiveIsland_ResortGorgeous/map.json index 41929c967..7e69fc3fc 100644 --- a/data/maps/FiveIsland_ResortGorgeous/map.json +++ b/data/maps/FiveIsland_ResortGorgeous/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_RESORT_GORGEOUS", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_FIVE_ISLAND_WATER_LABYRINTH", @@ -20,7 +22,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 44, "y": 10, "elevation": 3, @@ -29,11 +31,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "FiveIsland_ResortGorgeous_EventScript_1AC127", + "script": "FiveIsland_ResortGorgeous_EventScript_Daisy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 33, "y": 12, "elevation": 3, @@ -42,11 +44,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "FiveIsland_ResortGorgeous_EventScript_1AC165", + "script": "FiveIsland_ResortGorgeous_EventScript_Celina", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 12, "y": 10, "elevation": 3, @@ -55,11 +57,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "FiveIsland_ResortGorgeous_EventScript_1AC1A3", + "script": "FiveIsland_ResortGorgeous_EventScript_Rayna", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 23, "y": 9, "elevation": 3, @@ -68,11 +70,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "FiveIsland_ResortGorgeous_EventScript_1AC1E1", + "script": "FiveIsland_ResortGorgeous_EventScript_Jacki", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 33, "y": 8, "elevation": 3, @@ -81,11 +83,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "FiveIsland_ResortGorgeous_EventScript_1AC21F", + "script": "FiveIsland_ResortGorgeous_EventScript_Gillian", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 33, "y": 3, "elevation": 3, @@ -94,11 +96,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "FiveIsland_ResortGorgeous_EventScript_1AC25D", + "script": "FiveIsland_ResortGorgeous_EventScript_Destin", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_M_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_M_WATER", "x": 56, "y": 7, "elevation": 1, @@ -107,11 +109,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "FiveIsland_ResortGorgeous_EventScript_1AC29B", + "script": "FiveIsland_ResortGorgeous_EventScript_Toby", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 39, "y": 9, "elevation": 3, @@ -183,11 +185,12 @@ "underfoot": false }, { - "type": "bg_event_type_0", + "type": "sign", "x": 42, "y": 9, "elevation": 0, - "script": "FiveIsland_ResortGorgeous_EventScript_168844" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_ResortGorgeous_EventScript_SelphysHouseSign" } ] } diff --git a/data/maps/FiveIsland_ResortGorgeous/scripts.inc b/data/maps/FiveIsland_ResortGorgeous/scripts.inc index 4a5502062..c4ef75ed7 100644 --- a/data/maps/FiveIsland_ResortGorgeous/scripts.inc +++ b/data/maps/FiveIsland_ResortGorgeous/scripts.inc @@ -1,44 +1,46 @@ +.equ LOCALID_SELPHY, 8 + FiveIsland_ResortGorgeous_MapScripts:: @ 81687E4 map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FiveIsland_ResortGorgeous_OnWarp map_script MAP_SCRIPT_ON_FRAME_TABLE, FiveIsland_ResortGorgeous_OnFrame .byte 0 FiveIsland_ResortGorgeous_OnWarp:: @ 81687EF - map_script_2 VAR_MAP_SCENE_FIVE_ISLAND_RESORT_GORGEOUS, 1, EventScript_1687F9 + map_script_2 VAR_MAP_SCENE_FIVE_ISLAND_RESORT_GORGEOUS, 1, FiveIsland_ResortGorgeous_EventScript_TurnPlayerNorth .2byte 0 -EventScript_1687F9:: @ 81687F9 +FiveIsland_ResortGorgeous_EventScript_TurnPlayerNorth:: @ 81687F9 turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH end FiveIsland_ResortGorgeous_OnFrame:: @ 81687FE - map_script_2 VAR_MAP_SCENE_FIVE_ISLAND_RESORT_GORGEOUS, 1, EventScript_168808 + map_script_2 VAR_MAP_SCENE_FIVE_ISLAND_RESORT_GORGEOUS, 1, FiveIsland_ResortGorgeous_EventScript_SelphyReturnHomeScene .2byte 0 -EventScript_168808:: @ 8168808 +FiveIsland_ResortGorgeous_EventScript_SelphyReturnHomeScene:: @ 8168808 lockall textcolor 1 - msgbox gUnknown_818A7DB + msgbox FiveIsland_ResortGorgeous_Text_SelphyThanksYouMayGoNow closemessage - applymovement 8, Movement_WalkInPlaceFastestUp + applymovement LOCALID_SELPHY, Movement_WalkInPlaceFastestUp waitmovement 0 opendoor 39, 8 waitdooranim - applymovement 8, Movement_168841 + applymovement LOCALID_SELPHY, FiveIsland_ResortGorgeous_Movement_SelphyEnterHome waitmovement 0 closedoor 39, 8 waitdooranim - removeobject 8 + removeobject LOCALID_SELPHY clearflag FLAG_HIDE_RESORT_GORGEOUS_INSIDE_SELPHY setvar VAR_MAP_SCENE_FIVE_ISLAND_RESORT_GORGEOUS, 2 releaseall end -Movement_168841:: @ 8168841 +FiveIsland_ResortGorgeous_Movement_SelphyEnterHome:: @ 8168841 walk_up set_invisible step_end -FiveIsland_ResortGorgeous_EventScript_168844:: @ 8168844 - msgbox gUnknown_818A7FE, MSGBOX_SIGN +FiveIsland_ResortGorgeous_EventScript_SelphysHouseSign:: @ 8168844 + msgbox FiveIsland_ResortGorgeous_Text_SelphysHouse, MSGBOX_SIGN end diff --git a/data/maps/FiveIsland_ResortGorgeous/text.inc b/data/maps/FiveIsland_ResortGorgeous/text.inc index d984ab092..7e5ee195f 100644 --- a/data/maps/FiveIsland_ResortGorgeous/text.inc +++ b/data/maps/FiveIsland_ResortGorgeous/text.inc @@ -1,93 +1,93 @@ -Text_18A3E2:: @ 818A3E2 +FiveIsland_ResortGorgeous_Text_DaisyIntro:: @ 818A3E2 .string "With these hands, I will create\n" .string "my victory!$" -Text_18A40E:: @ 818A40E +FiveIsland_ResortGorgeous_Text_DaisyDefeat:: @ 818A40E .string "The shame of this…\n" .string "I'm red-faced…$" -Text_18A430:: @ 818A430 +FiveIsland_ResortGorgeous_Text_DaisyPostBattle:: @ 818A430 .string "Uh-oh, my paint tubes have\n" .string "scattered everywhere!$" -Text_18A461:: @ 818A461 +FiveIsland_ResortGorgeous_Text_CelinaIntro:: @ 818A461 .string "Excuse me!\n" .string "I'm trying to paint.\l" .string "Please keep out of my sight!$" -Text_18A49E:: @ 818A49E +FiveIsland_ResortGorgeous_Text_CelinaDefeat:: @ 818A49E .string "This loss…\n" .string "I feel like I'm whiting out…$" -Text_18A4C6:: @ 818A4C6 +FiveIsland_ResortGorgeous_Text_CelinaPostBattle:: @ 818A4C6 .string "GILLIAN?\n" .string "Please tilt your head slightly…\l" .string "There! That's the look I want!$" -Text_18A50E:: @ 818A50E +FiveIsland_ResortGorgeous_Text_RaynaIntro:: @ 818A50E .string "Hmm…\n" .string "The angle, it is not quite there…$" -Text_18A535:: @ 818A535 +FiveIsland_ResortGorgeous_Text_RaynaDefeat:: @ 818A535 .string "Oh…\n" .string "My feelings, they are blue…$" -Text_18A555:: @ 818A555 +FiveIsland_ResortGorgeous_Text_RaynaPostBattle:: @ 818A555 .string "The sky and the sea…\n" .string "They are so fickle.\p" .string "Their changing expressions make\n" .string "them difficult to capture.$" -Text_18A5B9:: @ 818A5B9 +FiveIsland_ResortGorgeous_Text_JackiIntro:: @ 818A5B9 .string "I am visiting my friend's retreat,\n" .string "if you must know.$" -Text_18A5EE:: @ 818A5EE +FiveIsland_ResortGorgeous_Text_JackiDefeat:: @ 818A5EE .string "Oh, my, so strong.$" -Text_18A601:: @ 818A601 +FiveIsland_ResortGorgeous_Text_JackiPostBattle:: @ 818A601 .string "I find it pleasurable to leisurely\n" .string "battle in the gentle sea breeze.$" -Text_18A645:: @ 818A645 +FiveIsland_ResortGorgeous_Text_GillianIntro:: @ 818A645 .string "I'm thinking of having a pool\n" .string "made specially for POKéMON.$" -Text_18A67F:: @ 818A67F +FiveIsland_ResortGorgeous_Text_GillianDefeat:: @ 818A67F .string "Oh, my goodness gracious!$" -Text_18A699:: @ 818A699 +FiveIsland_ResortGorgeous_Text_GillianPostBattle:: @ 818A699 .string "A pool would be nice, but I must\n" .string "say, a sun-room may be sublime.$" -Text_18A6DA:: @ 818A6DA +FiveIsland_ResortGorgeous_Text_DestinIntro:: @ 818A6DA .string "I'm a good runner.\n" .string "I'm really fast!$" -Text_18A6FE:: @ 818A6FE +FiveIsland_ResortGorgeous_Text_DestinDefeat:: @ 818A6FE .string "Oops!\n" .string "I rushed things!$" -Text_18A715:: @ 818A715 +FiveIsland_ResortGorgeous_Text_DestinPostBattle:: @ 818A715 .string "When I run with the wind, it feels\n" .string "like I could fly!$" -Text_18A74A:: @ 818A74A +FiveIsland_ResortGorgeous_Text_TobyIntro:: @ 818A74A .string "I say, this marine life here at\n" .string "this resort agrees with me.$" -Text_18A786:: @ 818A786 +FiveIsland_ResortGorgeous_Text_TobyDefeat:: @ 818A786 .string "That's a shocker!\n" .string "You must be joking.$" -Text_18A7AC:: @ 818A7AC +FiveIsland_ResortGorgeous_Text_TobyPostBattle:: @ 818A7AC .string "Getting so serious over this…\n" .string "How nonsensical.$" -gUnknown_818A7DB:: @ 818A7DB +FiveIsland_ResortGorgeous_Text_SelphyThanksYouMayGoNow:: @ 818A7DB .string "SELPHY: Thank you.\p" .string "You may go now.$" -gUnknown_818A7FE:: @ 818A7FE +FiveIsland_ResortGorgeous_Text_SelphysHouse:: @ 818A7FE .string "SELPHY'S HOUSE$" diff --git a/data/maps/FiveIsland_ResortGorgeous_House/map.json b/data/maps/FiveIsland_ResortGorgeous_House/map.json index 473b522b8..ea47b8bc3 100644 --- a/data/maps/FiveIsland_ResortGorgeous_House/map.json +++ b/data/maps/FiveIsland_ResortGorgeous_House/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_RESORT_GORGEOUS", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 4, "y": 4, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FiveIsland_ResortGorgeous_House_EventScript_171EBE", + "script": "FiveIsland_ResortGorgeous_House_EventScript_Selphy", "flag": "FLAG_HIDE_RESORT_GORGEOUS_INSIDE_SELPHY" }, { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 6, "y": 2, "elevation": 3, @@ -36,7 +38,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FiveIsland_ResortGorgeous_House_EventScript_172062", + "script": "FiveIsland_ResortGorgeous_House_EventScript_Butler", "flag": "FLAG_HIDE_SELPHYS_BUTLER" } ], @@ -52,18 +54,20 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_1", + "type": "sign", "x": 9, "y": 1, "elevation": 0, - "script": "FiveIsland_ResortGorgeous_House_EventScript_1ACF2C" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", + "script": "FiveIsland_ResortGorgeous_House_EventScript_PokemonJournal" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 8, "y": 1, "elevation": 0, - "script": "FiveIsland_ResortGorgeous_House_EventScript_1ACF2C" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", + "script": "FiveIsland_ResortGorgeous_House_EventScript_PokemonJournal" } ] } diff --git a/data/maps/FiveIsland_ResortGorgeous_House/scripts.inc b/data/maps/FiveIsland_ResortGorgeous_House/scripts.inc index 50fe74879..4a5662865 100644 --- a/data/maps/FiveIsland_ResortGorgeous_House/scripts.inc +++ b/data/maps/FiveIsland_ResortGorgeous_House/scripts.inc @@ -1,116 +1,121 @@ +.equ LOCALID_SELPHY, 1 +.equ LOCALID_BUTLER, 2 + +.equ SHOWN_REQUESTED_MON, FLAG_TEMP_2 + FiveIsland_ResortGorgeous_House_MapScripts:: @ 8171EBD .byte 0 -FiveIsland_ResortGorgeous_House_EventScript_171EBE:: @ 8171EBE +FiveIsland_ResortGorgeous_House_EventScript_Selphy:: @ 8171EBE goto_if_questlog EventScript_ReleaseEnd special sub_8112364 lock faceplayer - goto_if_set FLAG_TEMP_2, EventScript_172043 + goto_if_set SHOWN_REQUESTED_MON, FiveIsland_ResortGorgeous_House_EventScript_JustFulfilledRequest compare VAR_RESORT_GORGEOUS_REQUESTED_MON, 0xFFFF - goto_if_eq EventScript_171F0B + goto_if_eq FiveIsland_ResortGorgeous_House_EventScript_RequestTookTooLong compare VAR_RESORT_GORGEOUS_REQUESTED_MON, SPECIES_NONE - goto_if_ne EventScript_171F19 - msgbox gUnknown_81A42A0 - goto EventScript_171EFE + goto_if_ne FiveIsland_ResortGorgeous_House_EventScript_CheckForRequestedMon + msgbox FiveIsland_ResortGorgeous_House_Text_PleaseHearMyWish + goto FiveIsland_ResortGorgeous_House_EventScript_RequestMon end -EventScript_171EFE:: @ 8171EFE - special Special_SampleResortGorgeousMonAndReward - msgbox gUnknown_81A4315 +FiveIsland_ResortGorgeous_House_EventScript_RequestMon:: @ 8171EFE + special SampleResortGorgeousMonAndReward + msgbox FiveIsland_ResortGorgeous_House_Text_WishToSeeMonPlease release end -EventScript_171F0B:: @ 8171F0B - msgbox gUnknown_81A437A - goto EventScript_171EFE +FiveIsland_ResortGorgeous_House_EventScript_RequestTookTooLong:: @ 8171F0B + msgbox FiveIsland_ResortGorgeous_House_Text_OhImTiredOfWaiting + goto FiveIsland_ResortGorgeous_House_EventScript_RequestMon end -EventScript_171F19:: @ 8171F19 +FiveIsland_ResortGorgeous_House_EventScript_CheckForRequestedMon:: @ 8171F19 copyvar VAR_0x8004, VAR_RESORT_GORGEOUS_REQUESTED_MON - specialvar VAR_RESULT, Special_PlayerPartyContainsSpecies - compare VAR_RESULT, 1 - goto_if_eq EventScript_171F34 - goto EventScript_171EFE + specialvar VAR_RESULT, DoesPlayerPartyContainSpecies + compare VAR_RESULT, TRUE + goto_if_eq FiveIsland_ResortGorgeous_House_EventScript_ShowRequestedMon + goto FiveIsland_ResortGorgeous_House_EventScript_RequestMon end -EventScript_171F34:: @ 8171F34 - special Special_SampleResortGorgeousMonAndReward - msgbox gUnknown_81A43F7 - addobject 2 - applymovement 2, Movement_172060 +FiveIsland_ResortGorgeous_House_EventScript_ShowRequestedMon:: @ 8171F34 + special SampleResortGorgeousMonAndReward + msgbox FiveIsland_ResortGorgeous_House_Text_MonYouCaughtForMeThankYou + addobject LOCALID_BUTLER + applymovement LOCALID_BUTLER, FiveIsland_ResortGorgeous_House_Movement_ButlerEnter waitmovement 0 textcolor 0 - msgbox gUnknown_81A450B - applymovement 1, Movement_WalkInPlaceFastestUp + msgbox FiveIsland_ResortGorgeous_House_Text_ButlerYesMyLady + applymovement LOCALID_SELPHY, Movement_WalkInPlaceFastestUp waitmovement 0 textcolor 1 - msgbox gUnknown_81A4521 + msgbox FiveIsland_ResortGorgeous_House_Text_SelphyGiveTokenOfAppreciation textcolor 0 - msgbox gUnknown_81A4566 + msgbox FiveIsland_ResortGorgeous_House_Text_ButlerIShallDoAsYouBid closemessage compare VAR_FACING, DIR_NORTH - call_if_eq EventScript_171FCD + call_if_eq FiveIsland_ResortGorgeous_House_EventScript_ButlerApproachPlayerNorth compare VAR_FACING, DIR_SOUTH - call_if_eq EventScript_171FE9 + call_if_eq FiveIsland_ResortGorgeous_House_EventScript_ButlerApproachPlayerSouth compare VAR_FACING, DIR_EAST - call_if_eq EventScript_171FFE + call_if_eq FiveIsland_ResortGorgeous_House_EventScript_ButlerApproachPlayerEast compare VAR_FACING, DIR_WEST - call_if_eq EventScript_17201A - moveobjectoffscreen 2 - msgbox gUnknown_81A458E + call_if_eq FiveIsland_ResortGorgeous_House_EventScript_ButlerApproachPlayerWest + moveobjectoffscreen LOCALID_BUTLER + msgbox FiveIsland_ResortGorgeous_House_Text_ButlerPleaseAcceptThisAsHerThanks giveitem VAR_RESORT_GORGEOUS_REWARD - compare VAR_RESULT, 0 - goto_if_eq EventScript_172025 - setflag FLAG_TEMP_2 - setvar VAR_RESORT_GORGEOUS_REQUESTED_MON, 0 + compare VAR_RESULT, FALSE + goto_if_eq FiveIsland_ResortGorgeous_House_EventScript_NoRoomForReward + setflag SHOWN_REQUESTED_MON + setvar VAR_RESORT_GORGEOUS_REQUESTED_MON, SPECIES_NONE release end -EventScript_171FCD:: @ 8171FCD - applymovement 1, Movement_WalkInPlaceFastestDown - applymovement 2, Movement_17204D +FiveIsland_ResortGorgeous_House_EventScript_ButlerApproachPlayerNorth:: @ 8171FCD + applymovement LOCALID_SELPHY, Movement_WalkInPlaceFastestDown + applymovement LOCALID_BUTLER, FiveIsland_ResortGorgeous_House_Movement_ButlerApproachPlayerNorth waitmovement 0 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestLeft waitmovement 0 return -EventScript_171FE9:: @ 8171FE9 - applymovement 2, Movement_172055 +FiveIsland_ResortGorgeous_House_EventScript_ButlerApproachPlayerSouth:: @ 8171FE9 + applymovement LOCALID_BUTLER, FiveIsland_ResortGorgeous_House_Movement_ButlerApproachPlayerSouth waitmovement 0 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestUp waitmovement 0 return -EventScript_171FFE:: @ 8171FFE - applymovement 1, Movement_WalkInPlaceFastestLeft - applymovement 2, Movement_172059 +FiveIsland_ResortGorgeous_House_EventScript_ButlerApproachPlayerEast:: @ 8171FFE + applymovement LOCALID_SELPHY, Movement_WalkInPlaceFastestLeft + applymovement LOCALID_BUTLER, FiveIsland_ResortGorgeous_House_Movement_ButlerApproachPlayerEast waitmovement 0 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestUp waitmovement 0 return -EventScript_17201A:: @ 817201A - applymovement 2, Movement_17205E +FiveIsland_ResortGorgeous_House_EventScript_ButlerApproachPlayerWest:: @ 817201A + applymovement LOCALID_BUTLER, FiveIsland_ResortGorgeous_House_Movement_ButlerApproachPlayerWest waitmovement 0 return -EventScript_172025:: @ 8172025 +FiveIsland_ResortGorgeous_House_EventScript_NoRoomForReward:: @ 8172025 textcolor 0 - msgbox gUnknown_81A45E8 + msgbox FiveIsland_ResortGorgeous_House_Text_ButlerBagAppearsToBeFull textcolor 1 - msgbox gUnknown_81A461B - setflag FLAG_TEMP_2 - setvar VAR_RESORT_GORGEOUS_REQUESTED_MON, 0 + msgbox FiveIsland_ResortGorgeous_House_Text_OhHowDisappointing + setflag SHOWN_REQUESTED_MON + setvar VAR_RESORT_GORGEOUS_REQUESTED_MON, SPECIES_NONE release end -EventScript_172043:: @ 8172043 - msgbox gUnknown_81A4632 +FiveIsland_ResortGorgeous_House_EventScript_JustFulfilledRequest:: @ 8172043 + msgbox FiveIsland_ResortGorgeous_House_Text_SelphyWishYouBestOfLuck release end -Movement_17204D:: @ 817204D +FiveIsland_ResortGorgeous_House_Movement_ButlerApproachPlayerNorth:: @ 817204D walk_left walk_left walk_left @@ -120,27 +125,30 @@ Movement_17204D:: @ 817204D walk_in_place_fastest_right step_end -Movement_172055:: @ 8172055 +FiveIsland_ResortGorgeous_House_Movement_ButlerApproachPlayerSouth:: @ 8172055 walk_left walk_left walk_in_place_fastest_down step_end -Movement_172059:: @ 8172059 +FiveIsland_ResortGorgeous_House_Movement_ButlerApproachPlayerEast:: @ 8172059 walk_left walk_left walk_left walk_down step_end -Movement_17205E:: @ 817205E +@ Very odd. If the player is talking to Selphy facing West, then the player has clipped through the table +@ In this case rather than approach the player the Butler walks up, which clips the Butler into a wall +FiveIsland_ResortGorgeous_House_Movement_ButlerApproachPlayerWest:: @ 817205E walk_up step_end -Movement_172060:: @ 8172060 +FiveIsland_ResortGorgeous_House_Movement_ButlerEnter:: @ 8172060 walk_in_place_down step_end -FiveIsland_ResortGorgeous_House_EventScript_172062:: @ 8172062 - msgbox gUnknown_81A4657, MSGBOX_NPC +@ Addressed as "Sebastian" but speaks only as "Butler" +FiveIsland_ResortGorgeous_House_EventScript_Butler:: @ 8172062 + msgbox FiveIsland_ResortGorgeous_House_Text_LadySelphySmileHasBrillianceOfSun, MSGBOX_NPC end diff --git a/data/maps/FiveIsland_ResortGorgeous_House/text.inc b/data/maps/FiveIsland_ResortGorgeous_House/text.inc index 1d872274b..cd01000ba 100644 --- a/data/maps/FiveIsland_ResortGorgeous_House/text.inc +++ b/data/maps/FiveIsland_ResortGorgeous_House/text.inc @@ -1,23 +1,23 @@ -gUnknown_81A42A0:: @ 81A42A0 +FiveIsland_ResortGorgeous_House_Text_PleaseHearMyWish:: @ 81A42A0 .string "SELPHY: Oh?\n" .string "Do I know you from somewhere?\p" .string "Oh, but that doesn't matter.\p" .string "I am exquisitely bored.\n" .string "Please, hear my wish.$" -gUnknown_81A4315:: @ 81A4315 +FiveIsland_ResortGorgeous_House_Text_WishToSeeMonPlease:: @ 81A4315 .string "I wish to see a POKéMON.\n" .string "A darling {STR_VAR_1}.\p" .string "I want to see one right away.\n" .string "Please, make my wish come true.$" -gUnknown_81A437A:: @ 81A437A +FiveIsland_ResortGorgeous_House_Text_OhImTiredOfWaiting:: @ 81A437A .string "SELPHY: Oh, I'm tired of this.\n" .string "I'm tired of waiting for you.\p" .string "I'll forgive you this time, but\n" .string "please don't fail me next time.$" -gUnknown_81A43F7:: @ 81A43F7 +FiveIsland_ResortGorgeous_House_Text_MonYouCaughtForMeThankYou:: @ 81A43F7 .string "SELPHY: Oh, hello, there.\p" .string "Oh, my gracious. That must be the\n" .string "{STR_VAR_1} you caught for me.\p" @@ -32,35 +32,35 @@ gUnknown_81A43F7:: @ 81A43F7 .string "SEBASTIAN!\n" .string "I need you here this instant!$" -gUnknown_81A450B:: @ 81A450B +FiveIsland_ResortGorgeous_House_Text_ButlerYesMyLady:: @ 81A450B .string "Butler: Yes, my lady.$" -gUnknown_81A4521:: @ 81A4521 +FiveIsland_ResortGorgeous_House_Text_SelphyGiveTokenOfAppreciation:: @ 81A4521 .string "SELPHY: See to it that this person\n" .string "is given a token of appreciation.$" -gUnknown_81A4566:: @ 81A4566 +FiveIsland_ResortGorgeous_House_Text_ButlerIShallDoAsYouBid:: @ 81A4566 .string "Butler: I shall do as you bid,\n" .string "my lady.$" -gUnknown_81A458E:: @ 81A458E +FiveIsland_ResortGorgeous_House_Text_ButlerPleaseAcceptThisAsHerThanks:: @ 81A458E .string "Butler: I sincerely thank you for\n" .string "pleasing Lady SELPHY.\p" .string "Please accept this as her thanks…$" -gUnknown_81A45E8:: @ 81A45E8 +FiveIsland_ResortGorgeous_House_Text_ButlerBagAppearsToBeFull:: @ 81A45E8 .string "Butler: Your BAG appears to be\n" .string "unfortunately full.$" -gUnknown_81A461B:: @ 81A461B +FiveIsland_ResortGorgeous_House_Text_OhHowDisappointing:: @ 81A461B .string "Oh…\n" .string "How disappointing.$" -gUnknown_81A4632:: @ 81A4632 +FiveIsland_ResortGorgeous_House_Text_SelphyWishYouBestOfLuck:: @ 81A4632 .string "SELPHY: I wish you the best of\n" .string "luck.$" -gUnknown_81A4657:: @ 81A4657 +FiveIsland_ResortGorgeous_House_Text_LadySelphySmileHasBrillianceOfSun:: @ 81A4657 .string "Butler: The smile of Lady SELPHY\n" .string "has the brilliance of the sun.\p" .string "Please, I beg you to bring joy\n" diff --git a/data/maps/FiveIsland_RocketWarehouse/map.json b/data/maps/FiveIsland_RocketWarehouse/map.json index def5fa6fd..3c87c10d3 100644 --- a/data/maps/FiveIsland_RocketWarehouse/map.json +++ b/data/maps/FiveIsland_RocketWarehouse/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROCKET_WAREHOUSE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 5, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_3", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": false, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_2", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 15, "y": 11, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "FiveIsland_RocketWarehouse_EventScript_163FE6", + "script": "FiveIsland_RocketWarehouse_EventScript_Grunt2", "flag": "FLAG_HIDE_FIVE_ISLAND_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 17, "y": 15, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "FiveIsland_RocketWarehouse_EventScript_163FFD", + "script": "FiveIsland_RocketWarehouse_EventScript_Grunt3", "flag": "FLAG_HIDE_FIVE_ISLAND_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_F", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_F", "x": 27, "y": 16, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "FiveIsland_RocketWarehouse_EventScript_164087", + "script": "FiveIsland_RocketWarehouse_EventScript_Admin1", "flag": "FLAG_HIDE_FIVE_ISLAND_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 25, "y": 11, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "FiveIsland_RocketWarehouse_EventScript_164014", + "script": "FiveIsland_RocketWarehouse_EventScript_Admin2", "flag": "FLAG_HIDE_FIVE_ISLAND_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_F", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_F", "x": 6, "y": 6, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "FiveIsland_RocketWarehouse_EventScript_164070", + "script": "FiveIsland_RocketWarehouse_EventScript_Grunt1", "flag": "FLAG_HIDE_FIVE_ISLAND_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 27, "y": 4, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F93", + "script": "FiveIsland_RocketWarehouse_EventScript_Gideon", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 8, "y": 25, "elevation": 3, @@ -105,7 +107,7 @@ "flag": "FLAG_HIDE_FIVE_ISLAND_ROCKET_WAREHOUSE_BIG_PEARL" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 17, "y": 3, "elevation": 0, @@ -118,7 +120,7 @@ "flag": "FLAG_HIDE_FIVE_ISLAND_ROCKET_WAREHOUSE_TM36" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 1, "y": 16, "elevation": 3, @@ -131,7 +133,7 @@ "flag": "FLAG_HIDE_FIVE_ISLAND_ROCKET_WAREHOUSE_PEARL" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 4, "y": 5, "elevation": 3, @@ -161,7 +163,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROCKET_WAREHOUSE", "var_value": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F81" + "script": "FiveIsland_RocketWarehouse_EventScript_Admin2Trigger" }, { "type": "trigger", @@ -170,7 +172,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROCKET_WAREHOUSE", "var_value": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F81" + "script": "FiveIsland_RocketWarehouse_EventScript_Admin2Trigger" }, { "type": "trigger", @@ -179,23 +181,25 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROCKET_WAREHOUSE", "var_value": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F81" + "script": "FiveIsland_RocketWarehouse_EventScript_Admin2Trigger" } ], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 11, "y": 2, "elevation": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F5A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_RocketWarehouse_EventScript_Cage" }, { - "type": "bg_event_type_3", + "type": "sign", "x": 26, "y": 11, "elevation": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F78" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_EAST", + "script": "FiveIsland_RocketWarehouse_EventScript_Computer" }, { "type": "hidden_item", @@ -218,151 +222,172 @@ "underfoot": false }, { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 2, "elevation": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F5A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_RocketWarehouse_EventScript_Cage" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 10, "y": 2, "elevation": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F5A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_RocketWarehouse_EventScript_Cage" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 9, "y": 2, "elevation": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F5A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_RocketWarehouse_EventScript_Cage" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 2, "elevation": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F5A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_RocketWarehouse_EventScript_Cage" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 7, "y": 2, "elevation": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F5A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_RocketWarehouse_EventScript_Cage" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 11, "y": 5, "elevation": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F5A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_RocketWarehouse_EventScript_Cage" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 10, "y": 5, "elevation": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F5A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_RocketWarehouse_EventScript_Cage" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 11, "y": 4, "elevation": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F5A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_RocketWarehouse_EventScript_Cage" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 10, "y": 4, "elevation": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F5A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_RocketWarehouse_EventScript_Cage" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 4, "elevation": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F5A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_RocketWarehouse_EventScript_Cage" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 7, "y": 4, "elevation": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F5A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_RocketWarehouse_EventScript_Cage" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 5, "elevation": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F5A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_RocketWarehouse_EventScript_Cage" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 7, "y": 5, "elevation": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F5A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_RocketWarehouse_EventScript_Cage" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 3, "elevation": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F5A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_RocketWarehouse_EventScript_Cage" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 3, "elevation": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F5A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_RocketWarehouse_EventScript_Cage" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 4, "elevation": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F5A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_RocketWarehouse_EventScript_Cage" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 4, "elevation": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F5A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_RocketWarehouse_EventScript_Cage" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 3, "y": 4, "elevation": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F5A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_RocketWarehouse_EventScript_Cage" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 2, "y": 4, "elevation": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F5A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_RocketWarehouse_EventScript_Cage" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 2, "y": 5, "elevation": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F5A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_RocketWarehouse_EventScript_Cage" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 3, "y": 5, "elevation": 0, - "script": "FiveIsland_RocketWarehouse_EventScript_163F5A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FiveIsland_RocketWarehouse_EventScript_Cage" } ] } diff --git a/data/maps/FiveIsland_RocketWarehouse/scripts.inc b/data/maps/FiveIsland_RocketWarehouse/scripts.inc index 8382d4a72..fec6e0262 100644 --- a/data/maps/FiveIsland_RocketWarehouse/scripts.inc +++ b/data/maps/FiveIsland_RocketWarehouse/scripts.inc @@ -1,3 +1,12 @@ +.equ LOCALID_GRUNT1, 5 +.equ LOCALID_GRUNT2, 1 +.equ LOCALID_GRUNT3, 2 +.equ LOCALID_ADMIN1, 3 +.equ LOCALID_ADMIN2, 4 + +.equ PLAYER_X_POS, VAR_0x8004 +.equ PLAYER_Y_POS, VAR_0x8005 + FiveIsland_RocketWarehouse_MapScripts:: @ 8163F2E map_script MAP_SCRIPT_ON_LOAD, FiveIsland_RocketWarehouse_OnLoad map_script MAP_SCRIPT_ON_TRANSITION, FiveIsland_RocketWarehouse_OnTransition @@ -8,82 +17,82 @@ FiveIsland_RocketWarehouse_OnTransition:: @ 8163F39 end FiveIsland_RocketWarehouse_OnLoad:: @ 8163F3D - call_if_defeated TRAINER_TEAM_ROCKET_ADMIN, EventScript_163F47 + call_if_defeated TRAINER_TEAM_ROCKET_ADMIN, FiveIsland_RocketWarehouse_EventScript_SetArrowsForReEntry end -EventScript_163F47:: @ 8163F47 - setmetatile 26, 20, 672, 0 - setmetatile 27, 20, 672, 0 +FiveIsland_RocketWarehouse_EventScript_SetArrowsForReEntry:: @ 8163F47 + setmetatile 26, 20, METATILE_SilphCo_Arrow_Up, 0 + setmetatile 27, 20, METATILE_SilphCo_Arrow_Up, 0 return -FiveIsland_RocketWarehouse_EventScript_163F5A:: @ 8163F5A +FiveIsland_RocketWarehouse_EventScript_Cage:: @ 8163F5A lockall - goto_if_set FLAG_DEFEATED_ROCKETS_IN_WAREHOUSE, EventScript_163F6E - msgbox gUnknown_817B4E3 + goto_if_set FLAG_DEFEATED_ROCKETS_IN_WAREHOUSE, FiveIsland_RocketWarehouse_EventScript_CageUnlocked + msgbox FiveIsland_RocketWarehouse_Text_ManyMonsLockedInPen releaseall end -EventScript_163F6E:: @ 8163F6E - msgbox gUnknown_817B512 +FiveIsland_RocketWarehouse_EventScript_CageUnlocked:: @ 8163F6E + msgbox FiveIsland_RocketWarehouse_Text_PenUnlockedMonsFled releaseall end -FiveIsland_RocketWarehouse_EventScript_163F78:: @ 8163F78 - msgbox gUnknown_817BB15, MSGBOX_SIGN +FiveIsland_RocketWarehouse_EventScript_Computer:: @ 8163F78 + msgbox FiveIsland_RocketWarehouse_Text_ReportWithGraphsAndText, MSGBOX_SIGN end -FiveIsland_RocketWarehouse_EventScript_163F81:: @ 8163F81 +FiveIsland_RocketWarehouse_EventScript_Admin2Trigger:: @ 8163F81 lockall - applymovement 4, Movement_WalkInPlaceFastestLeft + applymovement LOCALID_ADMIN2, Movement_WalkInPlaceFastestLeft waitmovement 0 setvar VAR_MAP_SCENE_ROCKET_WAREHOUSE, 1 releaseall end -FiveIsland_RocketWarehouse_EventScript_163F93:: @ 8163F93 - trainerbattle_single TRAINER_SCIENTIST_GIDEON, Text_17BBAF, Text_17BC55, EventScript_163FCD - goto_if_set FLAG_SYS_CAN_LINK_WITH_RS, EventScript_163FB7 - msgbox gUnknown_817BCA3, MSGBOX_AUTOCLOSE +FiveIsland_RocketWarehouse_EventScript_Gideon:: @ 8163F93 + trainerbattle_single TRAINER_SCIENTIST_GIDEON, FiveIsland_RocketWarehouse_Text_GideonIntro, FiveIsland_RocketWarehouse_Text_GideonDefeat, FiveIsland_RocketWarehouse_EventScript_DefeatedGideon + goto_if_set FLAG_SYS_CAN_LINK_WITH_RS, FiveIsland_RocketWarehouse_EventScript_MentionGiovannisKid + msgbox FiveIsland_RocketWarehouse_Text_GetLostLeaveMeBe, MSGBOX_AUTOCLOSE end -EventScript_163FB7:: @ 8163FB7 +FiveIsland_RocketWarehouse_EventScript_MentionGiovannisKid:: @ 8163FB7 famechecker FAMECHECKER_GIOVANNI, 5 - msgbox gUnknown_817BCD7, MSGBOX_AUTOCLOSE + msgbox FiveIsland_RocketWarehouse_Text_GiovannisKidHasRedHair, MSGBOX_AUTOCLOSE end -EventScript_163FCD:: @ 8163FCD - msgbox gUnknown_817BC6C +FiveIsland_RocketWarehouse_EventScript_DefeatedGideon:: @ 8163FCD + msgbox FiveIsland_RocketWarehouse_Text_GideonPostBattle setflag FLAG_RECOVERED_SAPPHIRE giveitem ITEM_SAPPHIRE release end -FiveIsland_RocketWarehouse_EventScript_163FE6:: @ 8163FE6 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_47, Text_17B54D, Text_17B585 - msgbox gUnknown_817B5A6, MSGBOX_AUTOCLOSE +FiveIsland_RocketWarehouse_EventScript_Grunt2:: @ 8163FE6 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_47, FiveIsland_RocketWarehouse_Text_Grunt2Intro, FiveIsland_RocketWarehouse_Text_Grunt2Defeat + msgbox FiveIsland_RocketWarehouse_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE end -FiveIsland_RocketWarehouse_EventScript_163FFD:: @ 8163FFD - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_48, Text_17B677, Text_17B6D9 - msgbox gUnknown_817B6EF, MSGBOX_AUTOCLOSE +FiveIsland_RocketWarehouse_EventScript_Grunt3:: @ 8163FFD + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_48, FiveIsland_RocketWarehouse_Text_Grunt3Intro, FiveIsland_RocketWarehouse_Text_Grunt3Defeat + msgbox FiveIsland_RocketWarehouse_Text_Grunt3PostBattle, MSGBOX_AUTOCLOSE end -FiveIsland_RocketWarehouse_EventScript_164014:: @ 8164014 - trainerbattle_single TRAINER_TEAM_ROCKET_ADMIN_2, Text_17B8DA, Text_17B9FB, EventScript_16402F - msgbox gUnknown_817BA64, MSGBOX_AUTOCLOSE +FiveIsland_RocketWarehouse_EventScript_Admin2:: @ 8164014 + trainerbattle_single TRAINER_TEAM_ROCKET_ADMIN_2, FiveIsland_RocketWarehouse_Text_Admin2Intro, FiveIsland_RocketWarehouse_Text_Admin2Defeat, FiveIsland_RocketWarehouse_EventScript_DefeatedAdmin2 + msgbox FiveIsland_RocketWarehouse_Text_Admin2PostBattle, MSGBOX_AUTOCLOSE end -EventScript_16402F:: @ 816402F - getplayerxy VAR_0x8004, VAR_0x8005 - compare VAR_0x8004, 24 - call_if_le EventScript_164065 - msgbox gUnknown_817BA64 +FiveIsland_RocketWarehouse_EventScript_DefeatedAdmin2:: @ 816402F + getplayerxy PLAYER_X_POS, PLAYER_Y_POS + compare PLAYER_X_POS, 24 + call_if_le FiveIsland_RocketWarehouse_EventScript_PlayerFaceAdmin2 + msgbox FiveIsland_RocketWarehouse_Text_Admin2PostBattle closemessage fadescreen FADE_TO_BLACK - removeobject 1 - removeobject 2 - removeobject 4 - removeobject 3 + removeobject LOCALID_GRUNT2 + removeobject LOCALID_GRUNT3 + removeobject LOCALID_ADMIN2 + removeobject LOCALID_ADMIN1 setflag FLAG_HIDE_FIVE_ISLAND_ROCKETS fadescreen FADE_FROM_BLACK setvar VAR_MAP_SCENE_ROCKET_WAREHOUSE, 1 @@ -91,91 +100,91 @@ EventScript_16402F:: @ 816402F release end -EventScript_164065:: @ 8164065 +FiveIsland_RocketWarehouse_EventScript_PlayerFaceAdmin2:: @ 8164065 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight waitmovement 0 return -FiveIsland_RocketWarehouse_EventScript_164070:: @ 8164070 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_42, Text_17B5D6, Text_17B62F - msgbox gUnknown_817B642, MSGBOX_AUTOCLOSE +FiveIsland_RocketWarehouse_EventScript_Grunt1:: @ 8164070 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_42, FiveIsland_RocketWarehouse_Text_Grunt1Intro, FiveIsland_RocketWarehouse_Text_Grunt1Defeat + msgbox FiveIsland_RocketWarehouse_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE end -FiveIsland_RocketWarehouse_EventScript_164087:: @ 8164087 - trainerbattle_single TRAINER_TEAM_ROCKET_ADMIN, Text_17B72D, Text_17B79C, EventScript_1640A2 - msgbox gUnknown_817B7FA, MSGBOX_AUTOCLOSE +FiveIsland_RocketWarehouse_EventScript_Admin1:: @ 8164087 + trainerbattle_single TRAINER_TEAM_ROCKET_ADMIN, FiveIsland_RocketWarehouse_Text_Admin1Intro, FiveIsland_RocketWarehouse_Text_Admin1Defeat, FiveIsland_RocketWarehouse_EventScript_DefeatedAdmin1 + msgbox FiveIsland_RocketWarehouse_Text_MadeItSoYouCanComeBackThrough, MSGBOX_AUTOCLOSE end -EventScript_1640A2:: @ 81640A2 - getplayerxy VAR_0x8004, VAR_0x8005 +FiveIsland_RocketWarehouse_EventScript_DefeatedAdmin1:: @ 81640A2 + getplayerxy PLAYER_X_POS, PLAYER_Y_POS specialvar VAR_RESULT, GetPlayerFacingDirection compare VAR_RESULT, DIR_NORTH - call_if_eq EventScript_16412E - msgbox gUnknown_817B7AE + call_if_eq FiveIsland_RocketWarehouse_EventScript_PlayerFaceAdmin1 + msgbox FiveIsland_RocketWarehouse_Text_Admin1PostBattle closemessage - compare VAR_0x8004, 24 - call_if_le EventScript_164144 - compare VAR_0x8004, 25 - call_if_eq EventScript_16414F - compare VAR_0x8004, 26 - call_if_eq EventScript_16415A - compare VAR_0x8004, 27 - call_if_eq EventScript_16415A + compare PLAYER_X_POS, 24 + call_if_le FiveIsland_RocketWarehouse_EventScript_AdminWalkToSwitchFar + compare PLAYER_X_POS, 25 + call_if_eq FiveIsland_RocketWarehouse_EventScript_AdminWalkToSwitch + compare PLAYER_X_POS, 26 + call_if_eq FiveIsland_RocketWarehouse_EventScript_AdminFaceSwitch + compare PLAYER_X_POS, 27 + call_if_eq FiveIsland_RocketWarehouse_EventScript_AdminFaceSwitch playse SE_PIN - call EventScript_163F47 + call FiveIsland_RocketWarehouse_EventScript_SetArrowsForReEntry special DrawWholeMapView waitse - compare VAR_0x8004, 24 - call_if_le EventScript_164165 - compare VAR_0x8004, 25 - call_if_eq EventScript_164165 - compare VAR_0x8004, 26 - call_if_eq EventScript_164165 - compare VAR_0x8004, 27 - call_if_eq EventScript_164170 - msgbox gUnknown_817B7FA + compare PLAYER_X_POS, 24 + call_if_le FiveIsland_RocketWarehouse_EventScript_AdminFacePlayerLeft + compare PLAYER_X_POS, 25 + call_if_eq FiveIsland_RocketWarehouse_EventScript_AdminFacePlayerLeft + compare PLAYER_X_POS, 26 + call_if_eq FiveIsland_RocketWarehouse_EventScript_AdminFacePlayerLeft + compare PLAYER_X_POS, 27 + call_if_eq FiveIsland_RocketWarehouse_EventScript_AdminFacePlayerDown + msgbox FiveIsland_RocketWarehouse_Text_MadeItSoYouCanComeBackThrough release end -EventScript_16412E:: @ 816412E - compare VAR_0x8004, 27 +FiveIsland_RocketWarehouse_EventScript_PlayerFaceAdmin1:: @ 816412E + compare PLAYER_X_POS, 27 goto_if_eq EventScript_Return applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight waitmovement 0 return -EventScript_164144:: @ 8164144 - applymovement 3, Movement_16417B +FiveIsland_RocketWarehouse_EventScript_AdminWalkToSwitchFar:: @ 8164144 + applymovement LOCALID_ADMIN1, FiveIsland_RocketWarehouse_Movement_AdminWalkToSwitchFar waitmovement 0 return -EventScript_16414F:: @ 816414F - applymovement 3, Movement_16417F +FiveIsland_RocketWarehouse_EventScript_AdminWalkToSwitch:: @ 816414F + applymovement LOCALID_ADMIN1, FiveIsland_RocketWarehouse_Movement_AdminWalkToSwitch waitmovement 0 return -EventScript_16415A:: @ 816415A - applymovement 3, Movement_WalkInPlaceFastestUp +FiveIsland_RocketWarehouse_EventScript_AdminFaceSwitch:: @ 816415A + applymovement LOCALID_ADMIN1, Movement_WalkInPlaceFastestUp waitmovement 0 return -EventScript_164165:: @ 8164165 - applymovement 3, Movement_WalkInPlaceFastestLeft +FiveIsland_RocketWarehouse_EventScript_AdminFacePlayerLeft:: @ 8164165 + applymovement LOCALID_ADMIN1, Movement_WalkInPlaceFastestLeft waitmovement 0 return -EventScript_164170:: @ 8164170 - applymovement 3, Movement_WalkInPlaceFastestDown +FiveIsland_RocketWarehouse_EventScript_AdminFacePlayerDown:: @ 8164170 + applymovement LOCALID_ADMIN1, Movement_WalkInPlaceFastestDown waitmovement 0 return -Movement_16417B:: @ 816417B +FiveIsland_RocketWarehouse_Movement_AdminWalkToSwitchFar:: @ 816417B walk_right walk_right walk_in_place_fastest_up step_end -Movement_16417F:: @ 816417F +FiveIsland_RocketWarehouse_Movement_AdminWalkToSwitch:: @ 816417F walk_right walk_in_place_fastest_up step_end diff --git a/data/maps/FiveIsland_RocketWarehouse/text.inc b/data/maps/FiveIsland_RocketWarehouse/text.inc index b77ebd7c8..de74a7e67 100644 --- a/data/maps/FiveIsland_RocketWarehouse/text.inc +++ b/data/maps/FiveIsland_RocketWarehouse/text.inc @@ -1,65 +1,65 @@ -gUnknown_817B4E3:: @ 817B4E3 +FiveIsland_RocketWarehouse_Text_ManyMonsLockedInPen:: @ 817B4E3 .string "There are many POKéMON locked\n" .string "away in the pen…$" -gUnknown_817B512:: @ 817B512 +FiveIsland_RocketWarehouse_Text_PenUnlockedMonsFled:: @ 817B512 .string "The pen door is unlocked.\n" .string "The POKéMON appear to have fled.$" -Text_17B54D:: @ 817B54D +FiveIsland_RocketWarehouse_Text_Grunt2Intro:: @ 817B54D .string "Did you come here knowing it's\n" .string "TEAM ROCKET's WAREHOUSE?$" -Text_17B585:: @ 817B585 +FiveIsland_RocketWarehouse_Text_Grunt2Defeat:: @ 817B585 .string "What do you think you're doing?!$" -gUnknown_817B5A6:: @ 817B5A6 +FiveIsland_RocketWarehouse_Text_Grunt2PostBattle:: @ 817B5A6 .string "TEAM ROCKET broke up?\n" .string "What planet are you from?$" -Text_17B5D6:: @ 817B5D6 +FiveIsland_RocketWarehouse_Text_Grunt1Intro:: @ 817B5D6 .string "Oh, now your POKéMON look strong.\n" .string "You're willing to sell them?\p" .string "Oh?\n" .string "You wanted to battle?$" -Text_17B62F:: @ 817B62F +FiveIsland_RocketWarehouse_Text_Grunt1Defeat:: @ 817B62F .string "Oh, but…\n" .string "Too much!$" -gUnknown_817B642:: @ 817B642 +FiveIsland_RocketWarehouse_Text_Grunt1PostBattle:: @ 817B642 .string "We can give you a great price.\n" .string "Sell us your POKéMON!$" -Text_17B677:: @ 817B677 +FiveIsland_RocketWarehouse_Text_Grunt3Intro:: @ 817B677 .string "I got word about you from the\n" .string "others.\p" .string "But there's no way a kid like you'd\n" .string "know our BOSS GIOVANNI!$" -Text_17B6D9:: @ 817B6D9 +FiveIsland_RocketWarehouse_Text_Grunt3Defeat:: @ 817B6D9 .string "Don't…you…dare…laugh…$" -gUnknown_817B6EF:: @ 817B6EF +FiveIsland_RocketWarehouse_Text_Grunt3PostBattle:: @ 817B6EF .string "Don't mess in the doings of adults,\n" .string "you jumped-up pip-squeak!$" -Text_17B72D:: @ 817B72D +FiveIsland_RocketWarehouse_Text_Admin1Intro:: @ 817B72D .string "I don't know or care if what I'm\n" .string "doing is right or wrong…\p" .string "I just put my faith in GIOVANNI\n" .string "and do as I am told.$" -Text_17B79C:: @ 817B79C +FiveIsland_RocketWarehouse_Text_Admin1Defeat:: @ 817B79C .string "I…\n" .string "I'm shattered…$" -gUnknown_817B7AE:: @ 817B7AE +FiveIsland_RocketWarehouse_Text_Admin1PostBattle:: @ 817B7AE .string "You're doing things according to\n" .string "your beliefs and morals.\p" .string "I understand now…$" -gUnknown_817B7FA:: @ 817B7FA +FiveIsland_RocketWarehouse_Text_MadeItSoYouCanComeBackThrough:: @ 817B7FA .string "I've made it so you can come back\n" .string "in through there.\p" .string "Why don't you go get rested and\n" @@ -69,7 +69,7 @@ gUnknown_817B7FA:: @ 817B7FA .string "You'd better steel yourself for one\n" .string "harsh challenge.$" -Text_17B8DA:: @ 817B8DA +FiveIsland_RocketWarehouse_Text_Admin2Intro:: @ 817B8DA .string "That's quite enough of you \n" .string "playing the hero, kid.\p" .string "Spreading lies about how TEAM\n" @@ -81,7 +81,7 @@ Text_17B8DA:: @ 817B8DA .string "And now, I'll show you how scary\n" .string "an angry adult can be!$" -Text_17B9FB:: @ 817B9FB +FiveIsland_RocketWarehouse_Text_Admin2Defeat:: @ 817B9FB .string "Urgh…\n" .string "You were too strong…\p" .string "…\n" @@ -89,7 +89,7 @@ Text_17B9FB:: @ 817B9FB .string "So it's true?\n" .string "TEAM ROCKET really has disbanded?$" -gUnknown_817BA64:: @ 817BA64 +FiveIsland_RocketWarehouse_Text_Admin2PostBattle:: @ 817BA64 .string "We will abandon this WAREHOUSE…\p" .string "But don't think this is over.\n" .string "I won't let this be the end.\p" @@ -98,7 +98,7 @@ gUnknown_817BA64:: @ 817BA64 .string "I will…\p" .string "Until then, farewell!$" -gUnknown_817BB15:: @ 817BB15 +FiveIsland_RocketWarehouse_Text_ReportWithGraphsAndText:: @ 817BB15 .string "A report with graphs and text is on\n" .string "the PC monitor.\p" .string "“The Influence of Magnetic Waves\n" @@ -106,7 +106,7 @@ gUnknown_817BB15:: @ 817BB15 .string "… … … … … …\p" .string "It's too difficult to understand…$" -Text_17BBAF:: @ 817BBAF +FiveIsland_RocketWarehouse_Text_GideonIntro:: @ 817BBAF .string "I almost managed to sell the\n" .string "SAPPHIRE for huge money…\p" .string "Then, you just had to come along\n" @@ -114,19 +114,19 @@ Text_17BBAF:: @ 817BBAF .string "Fufu… Fufufufu…\n" .string "There's no forgiveness for you!$" -Text_17BC55:: @ 817BC55 +FiveIsland_RocketWarehouse_Text_GideonDefeat:: @ 817BC55 .string "Gah! Darn!\n" .string "Darn! Darn!$" -gUnknown_817BC6C:: @ 817BC6C +FiveIsland_RocketWarehouse_Text_GideonPostBattle:: @ 817BC6C .string "If I can't sell it, it's worthless!\n" .string "Go ahead, take it!$" -gUnknown_817BCA3:: @ 817BCA3 +FiveIsland_RocketWarehouse_Text_GetLostLeaveMeBe:: @ 817BCA3 .string "What do you want now?\n" .string "Go on, get lost, leave me be.$" -gUnknown_817BCD7:: @ 817BCD7 +FiveIsland_RocketWarehouse_Text_GiovannisKidHasRedHair:: @ 817BCD7 .string "What, you again?\p" .string "You… You're not GIOVANNI's kid,\n" .string "are you?\p" diff --git a/data/maps/FiveIsland_WaterLabyrinth/map.json b/data/maps/FiveIsland_WaterLabyrinth/map.json index 899a7e92e..2950419f3 100644 --- a/data/maps/FiveIsland_WaterLabyrinth/map.json +++ b/data/maps/FiveIsland_WaterLabyrinth/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_WATER_LABYRINTH", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_FIVE_ISLAND_RESORT_GORGEOUS", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 14, "y": 11, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FiveIsland_WaterLabyrinth_EventScript_16884E", + "script": "FiveIsland_WaterLabyrinth_EventScript_EggGentleman", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 9, "y": 7, "elevation": 3, @@ -47,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "FiveIsland_WaterLabyrinth_EventScript_1AC2D9", + "script": "FiveIsland_WaterLabyrinth_EventScript_Alize", "flag": "0" } ], diff --git a/data/maps/FiveIsland_WaterLabyrinth/scripts.inc b/data/maps/FiveIsland_WaterLabyrinth/scripts.inc index ed82fc5eb..956652eb7 100644 --- a/data/maps/FiveIsland_WaterLabyrinth/scripts.inc +++ b/data/maps/FiveIsland_WaterLabyrinth/scripts.inc @@ -1,68 +1,70 @@ FiveIsland_WaterLabyrinth_MapScripts:: @ 816884D .byte 0 -FiveIsland_WaterLabyrinth_EventScript_16884E:: @ 816884E +FiveIsland_WaterLabyrinth_EventScript_EggGentleman:: @ 816884E goto_if_questlog EventScript_ReleaseEnd special sub_8112364 lock faceplayer - goto_if_set FLAG_GOT_TOGEPI_EGG, EventScript_1688E3 - goto_if_set FLAG_NO_ROOM_FOR_TOGEPI_EGG, EventScript_16892C - msgbox gUnknown_818A80D - specialvar VAR_RESULT, Special_GetLeadMonFriendship - compare VAR_RESULT, 6 - goto_if_eq EventScript_1688AC - msgbox gUnknown_818A88F + goto_if_set FLAG_GOT_TOGEPI_EGG, FiveIsland_WaterLabyrinth_EventScript_PostEggComment + goto_if_set FLAG_NO_ROOM_FOR_TOGEPI_EGG, FiveIsland_WaterLabyrinth_EventScript_ReturnForEgg + msgbox FiveIsland_WaterLabyrinth_Text_LetMeTakeLookAtMons + specialvar VAR_RESULT, GetLeadMonFriendship + compare VAR_RESULT, 6 @ Max friendship + goto_if_eq FiveIsland_WaterLabyrinth_EventScript_LeadMonMaxFriendship + msgbox FiveIsland_WaterLabyrinth_Text_HmmISeeIsee release end -EventScript_168895:: @ 8168895 +FiveIsland_WaterLabyrinth_EventScript_MonDaisyComment:: @ 8168895 famechecker FAMECHECKER_DAISY, 2 - msgbox gUnknown_818AA0C + msgbox FiveIsland_WaterLabyrinth_Text_CuteMonRemindsMeOfDaisy release end -EventScript_1688AC:: @ 81688AC - msgbox gUnknown_818A8A6 - goto EventScript_1688BA +FiveIsland_WaterLabyrinth_EventScript_LeadMonMaxFriendship:: @ 81688AC + msgbox FiveIsland_WaterLabyrinth_Text_TreatMonRightHaveThis + goto FiveIsland_WaterLabyrinth_EventScript_TryGiveEgg end -EventScript_1688BA:: @ 81688BA +FiveIsland_WaterLabyrinth_EventScript_TryGiveEgg:: @ 81688BA getpartysize compare VAR_RESULT, PARTY_SIZE - goto_if_eq EventScript_16891F + goto_if_eq FiveIsland_WaterLabyrinth_EventScript_NoRoomForEgg setflag FLAG_GOT_TOGEPI_EGG giveegg SPECIES_TOGEPI textcolor 3 playfanfare MUS_FANFA1 - message Text_18A91F + message FiveIsland_WaterLabyrinth_Text_ReceivedEggFromMan waitfanfare waitmessage - call EventScript_1A6675 - goto EventScript_1688E3 + call EventScript_RestorePrevTextColor + goto FiveIsland_WaterLabyrinth_EventScript_PostEggComment end -EventScript_1688E3:: @ 81688E3 +@ If the player has a Togepi/Togetic from this game (assumed to be the one the man gave you) then comment on it +@ Otherwise make normal comment +FiveIsland_WaterLabyrinth_EventScript_PostEggComment:: @ 81688E3 getspeciesname 1, SPECIES_TOGEPI setvar VAR_0x8004, SPECIES_TOGEPI - specialvar VAR_RESULT, Special_PlayerPartyContainsSpeciesWithPlayerID - compare VAR_RESULT, 1 - goto_if_eq EventScript_168895 + specialvar VAR_RESULT, PlayerPartyContainsSpeciesWithPlayerID + compare VAR_RESULT, TRUE + goto_if_eq FiveIsland_WaterLabyrinth_EventScript_MonDaisyComment getspeciesname 1, SPECIES_TOGETIC setvar VAR_0x8004, SPECIES_TOGETIC - specialvar VAR_RESULT, Special_PlayerPartyContainsSpeciesWithPlayerID - compare VAR_RESULT, 1 - goto_if_eq EventScript_168895 - msgbox gUnknown_818A9C0 + specialvar VAR_RESULT, PlayerPartyContainsSpeciesWithPlayerID + compare VAR_RESULT, TRUE + goto_if_eq FiveIsland_WaterLabyrinth_EventScript_MonDaisyComment + msgbox FiveIsland_WaterLabyrinth_Text_GladIMetSomeoneLikeYou release end -EventScript_16891F:: @ 816891F +FiveIsland_WaterLabyrinth_EventScript_NoRoomForEgg:: @ 816891F setflag FLAG_NO_ROOM_FOR_TOGEPI_EGG - msgbox gUnknown_818A940 + msgbox FiveIsland_WaterLabyrinth_Text_DontHaveSpaceInYourParty release end -EventScript_16892C:: @ 816892C - goto EventScript_1688BA +FiveIsland_WaterLabyrinth_EventScript_ReturnForEgg:: @ 816892C + goto FiveIsland_WaterLabyrinth_EventScript_TryGiveEgg end diff --git a/data/maps/FiveIsland_WaterLabyrinth/text.inc b/data/maps/FiveIsland_WaterLabyrinth/text.inc index 111671eb9..c4a5542d3 100644 --- a/data/maps/FiveIsland_WaterLabyrinth/text.inc +++ b/data/maps/FiveIsland_WaterLabyrinth/text.inc @@ -1,4 +1,4 @@ -gUnknown_818A80D:: @ 818A80D +FiveIsland_WaterLabyrinth_Text_LetMeTakeLookAtMons:: @ 818A80D .string "You travel all over the place,\n" .string "don't you?\p" .string "You're not driving your POKéMON\n" @@ -6,38 +6,39 @@ gUnknown_818A80D:: @ 818A80D .string "Let me take a look.\n" .string "… … … … … …$" -gUnknown_818A88F:: @ 818A88F +FiveIsland_WaterLabyrinth_Text_HmmISeeIsee:: @ 818A88F .string "Ah, hmm…\n" .string "I see, I see…$" -gUnknown_818A8A6:: @ 818A8A6 +FiveIsland_WaterLabyrinth_Text_TreatMonRightHaveThis:: @ 818A8A6 .string "Oh, impressive.\n" .string "You treat your POKéMON right.\p" .string "I think you can be entrusted with\n" .string "this.\p" .string "Please, I'd like you to have this.$" -Text_18A91F:: @ 818A91F +FiveIsland_WaterLabyrinth_Text_ReceivedEggFromMan:: @ 818A91F .string "{PLAYER} received an EGG\n" .string "from the man!$" -gUnknown_818A940:: @ 818A940 +FiveIsland_WaterLabyrinth_Text_DontHaveSpaceInYourParty:: @ 818A940 .string "…Unfortunately, you don't have\n" .string "space for this in your party.\p" .string "You'd better come back for it\n" .string "another time.$" -Text_18A9A9:: @ 818A9A9 +@ Unused +FiveIsland_WaterLabyrinth_Text_YouveComeBackForTheEgg:: @ 818A9A9 .string "やあ\n" .string "タマゴを もらいに\l" .string "きて くれたんだね$" -gUnknown_818A9C0:: @ 818A9C0 +FiveIsland_WaterLabyrinth_Text_GladIMetSomeoneLikeYou:: @ 818A9C0 .string "I received that EGG while I was\n" .string "traveling.\p" .string "I'm glad I met someone like you.$" -gUnknown_818AA0C:: @ 818AA0C +FiveIsland_WaterLabyrinth_Text_CuteMonRemindsMeOfDaisy:: @ 818AA0C .string "Oh, hello.\n" .string "That's a cute {STR_VAR_2}.\p" .string "Seeing it reminds me of a sweet \n" @@ -47,3 +48,14 @@ gUnknown_818AA0C:: @ 818AA0C .string "That little girl's name…\n" .string "I think it was DAISY.$" +FiveIsland_WaterLabyrinth_Text_AlizeIntro:: @ 818AAD5 + .string "This is an excellent environment\n" + .string "for raising POKéMON.$" + +FiveIsland_WaterLabyrinth_Text_AlizeDefeat:: @ 818AB0B + .string "Your POKéMON are growing up\n" + .string "admirably well!$" + +FiveIsland_WaterLabyrinth_Text_AlizePostBattle:: @ 818AB37 + .string "You know, I think you have the\n" + .string "talent to be a good BREEDER.$" diff --git a/data/maps/FourIsland/map.json b/data/maps/FourIsland/map.json index 0a8842419..46e268c42 100644 --- a/data/maps/FourIsland/map.json +++ b/data/maps/FourIsland/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_FOUR_ISLAND", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_1", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_TOWN", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 16, "y": 13, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_DODUO", + "graphics_id": "OBJ_EVENT_GFX_DODUO", "x": 12, "y": 9, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_NIDORAN_F", + "graphics_id": "OBJ_EVENT_GFX_NIDORAN_F", "x": 13, "y": 7, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_NIDORAN_M", + "graphics_id": "OBJ_EVENT_GFX_NIDORAN_M", "x": 14, "y": 7, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PSYDUCK", + "graphics_id": "OBJ_EVENT_GFX_PSYDUCK", "x": 17, "y": 9, "elevation": 3, @@ -79,7 +81,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_WOMAN", + "graphics_id": "OBJ_EVENT_GFX_OLD_WOMAN", "x": 26, "y": 19, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_EventScript_167E2E", + "script": "FourIsland_EventScript_OldWoman", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 5, "y": 11, "elevation": 3, @@ -101,11 +103,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 5, "y": 6, "elevation": 3, @@ -118,7 +120,7 @@ "flag": "FLAG_HIDE_FOUR_ISLAND_STAR_PIECE" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 32, "y": 19, "elevation": 3, @@ -131,7 +133,7 @@ "flag": "FLAG_HIDE_FOUR_ISLAND_STARDUST" }, { - "graphics_id": "OBJECT_EVENT_GFX_BLUE", + "graphics_id": "OBJ_EVENT_GFX_BLUE", "x": 8, "y": 25, "elevation": 3, @@ -144,7 +146,7 @@ "flag": "FLAG_HIDE_FOUR_ISLAND_RIVAL" }, { - "graphics_id": "OBJECT_EVENT_GFX_FAT_MAN", + "graphics_id": "OBJ_EVENT_GFX_FAT_MAN", "x": 36, "y": 13, "elevation": 3, @@ -153,11 +155,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_EventScript_167E73", + "script": "FourIsland_EventScript_FatMan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 31, "y": 21, "elevation": 3, @@ -166,7 +168,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_EventScript_167E5A", + "script": "FourIsland_EventScript_LittleGirl", "flag": "0" } ], @@ -231,11 +233,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 13, "y": 19, "elevation": 0, - "script": "FourIsland_EventScript_167E7C" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FourIsland_EventScript_IslandSign" }, { "type": "hidden_item", @@ -258,11 +261,12 @@ "underfoot": false }, { - "type": "bg_event_type_0", + "type": "sign", "x": 31, "y": 23, "elevation": 0, - "script": "FourIsland_EventScript_167E85" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "FourIsland_EventScript_LoreleisHouseSign" } ] } diff --git a/data/maps/FourIsland/scripts.inc b/data/maps/FourIsland/scripts.inc index 85e1db283..f8de01374 100644 --- a/data/maps/FourIsland/scripts.inc +++ b/data/maps/FourIsland/scripts.inc @@ -1,3 +1,6 @@ +.equ LOCALID_DAYCARE_MAN, 1 +.equ LOCALID_RIVAL, 10 + FourIsland_MapScripts:: @ 8167CAE map_script MAP_SCRIPT_ON_TRANSITION, FourIsland_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, FourIsland_OnFrame @@ -6,65 +9,64 @@ FourIsland_MapScripts:: @ 8167CAE FourIsland_OnTransition:: @ 8167CB9 setworldmapflag FLAG_WORLD_MAP_FOUR_ISLAND compare VAR_MAP_SCENE_FOUR_ISLAND, 0 - call_if_eq EventScript_167CCD - call EventScript_167CD1 + call_if_eq FourIsland_EventScript_ShowRival + call FourIsland_EventScript_TrySetDayCareManPos end -EventScript_167CCD:: @ 8167CCD +FourIsland_EventScript_ShowRival:: @ 8167CCD clearflag FLAG_HIDE_FOUR_ISLAND_RIVAL return -EventScript_167CD1:: @ 8167CD1 - goto_if_unset FLAG_PENDING_DAYCARE_EGG, EventScript_167CE1 - setobjectxyperm 1, 16, 14 - -EventScript_167CE1:: @ 8167CE1 +FourIsland_EventScript_TrySetDayCareManPos:: @ 8167CD1 + goto_if_unset FLAG_PENDING_DAYCARE_EGG, FourIsland_EventScript_EndSetDayCareManPos + setobjectxyperm LOCALID_DAYCARE_MAN, 16, 14 +FourIsland_EventScript_EndSetDayCareManPos:: @ 8167CE1 return FourIsland_OnFrame:: @ 8167CE2 - map_script_2 VAR_MAP_SCENE_FOUR_ISLAND, 0, EventScript_167CEC + map_script_2 VAR_MAP_SCENE_FOUR_ISLAND, 0, FourIsland_EventScript_RivalScene .2byte 0 -EventScript_167CEC:: @ 8167CEC +FourIsland_EventScript_RivalScene:: @ 8167CEC lockall textcolor 0 - applymovement 10, Movement_WalkInPlaceFastestDown + applymovement LOCALID_RIVAL, Movement_WalkInPlaceFastestDown waitmovement 0 playbgm MUS_RIVAL1, 0 - applymovement 10, Movement_ExclamationMark + applymovement LOCALID_RIVAL, Movement_ExclamationMark waitmovement 0 - applymovement 10, Movement_Delay48 + applymovement LOCALID_RIVAL, Movement_Delay48 waitmovement 0 delay 25 - applymovement 10, Movement_167D49 + applymovement LOCALID_RIVAL, FourIsland_Movement_RivalApproach waitmovement 0 - msgbox gUnknown_8182B37 + msgbox FourIsland_Text_RivalAlreadyGotEggBeSmellingYa closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_167D52 - applymovement 10, Movement_167D4E + applymovement OBJ_EVENT_ID_PLAYER, FourIsland_Movement_PlayerWatchRivalExit + applymovement LOCALID_RIVAL, FourIsland_Movement_RivalExit waitmovement 0 fadedefaultbgm playse SE_KAIDAN delay 35 - removeobject 10 + removeobject LOCALID_RIVAL setvar VAR_MAP_SCENE_FOUR_ISLAND, 1 releaseall end -Movement_167D49:: @ 8167D49 +FourIsland_Movement_RivalApproach:: @ 8167D49 walk_right walk_right walk_down walk_down step_end -Movement_167D4E:: @ 8167D4E +FourIsland_Movement_RivalExit:: @ 8167D4E delay_16 delay_4 walk_down step_end -Movement_167D52:: @ 8167D52 +FourIsland_Movement_PlayerWatchRivalExit:: @ 8167D52 walk_left walk_in_place_fastest_right step_end @@ -110,7 +112,7 @@ FourIsland_EventScript_DaycareAcceptEgg:: @ 8167DD1 FourIsland_EventScript_DaycareReceivedEgg:: @ 8167DEB textcolor 3 message DayCare_Text_ReceivedEgg - call EventScript_1A6675 + call EventScript_RestorePrevTextColor playfanfare MUS_FANFA1 waitfanfare waitbuttonpress @@ -130,42 +132,42 @@ FourIsland_EventScript_CheckOnTwoMons:: @ 8167E19 special GetDaycareMonNicknames msgbox DayCare_Text_YourMonsAreDoingFine special SetDaycareCompatibilityString - special Special_ShowStringVar4AsFieldMessage + special ShowFieldMessageStringVar4 waitmessage waitbuttonpress release end -FourIsland_EventScript_167E2E:: @ 8167E2E +FourIsland_EventScript_OldWoman:: @ 8167E2E lock faceplayer - goto_if_set FLAG_SYS_CAN_LINK_WITH_RS, EventScript_167E43 - msgbox gUnknown_8182A2B + goto_if_set FLAG_SYS_CAN_LINK_WITH_RS, FourIsland_EventScript_OldWomanLoreleiLeft + msgbox FourIsland_Text_LoreleiHasReturned release end -EventScript_167E43:: @ 8167E43 +FourIsland_EventScript_OldWomanLoreleiLeft:: @ 8167E43 famechecker FAMECHECKER_LORELEI, 5 - msgbox gUnknown_8182A75 + msgbox FourIsland_Text_LoreleiMetLaprasAsChild release end -FourIsland_EventScript_167E5A:: @ 8167E5A +FourIsland_EventScript_LittleGirl:: @ 8167E5A lock faceplayer famechecker FAMECHECKER_LORELEI, 4 - msgbox gUnknown_8182CE3 + msgbox FourIsland_Text_LoreleiHasLotsOfStuffedDolls release end -FourIsland_EventScript_167E73:: @ 8167E73 - msgbox gUnknown_8182D8E, MSGBOX_NPC +FourIsland_EventScript_FatMan:: @ 8167E73 + msgbox FourIsland_Text_MadeSlushieUsingIcefallCaveIce, MSGBOX_NPC end -FourIsland_EventScript_167E7C:: @ 8167E7C - msgbox gUnknown_8182A03, MSGBOX_SIGN +FourIsland_EventScript_IslandSign:: @ 8167E7C + msgbox FourIsland_Text_IslandSign, MSGBOX_SIGN end -FourIsland_EventScript_167E85:: @ 8167E85 - msgbox gUnknown_8182DEB, MSGBOX_SIGN +FourIsland_EventScript_LoreleisHouseSign:: @ 8167E85 + msgbox FourIsland_Text_LoreleisHouse, MSGBOX_SIGN end diff --git a/data/maps/FourIsland/text.inc b/data/maps/FourIsland/text.inc index 04845b223..e54650761 100644 --- a/data/maps/FourIsland/text.inc +++ b/data/maps/FourIsland/text.inc @@ -1,13 +1,13 @@ -gUnknown_8182A03:: @ 8182A03 +FourIsland_Text_IslandSign:: @ 8182A03 .string "FOUR ISLAND\n" .string "The Warm, Blue, Floe Island$" -gUnknown_8182A2B:: @ 8182A2B +FourIsland_Text_LoreleiHasReturned:: @ 8182A2B .string "LORELEI has returned.\p" .string "Did she find the city life too\n" .string "stressful, I wonder?$" -gUnknown_8182A75:: @ 8182A75 +FourIsland_Text_LoreleiMetLaprasAsChild:: @ 8182A75 .string "LORELEI has gone back.\p" .string "The LAPRAS she has, I imagine it\n" .string "to be the one she met as a child.\p" @@ -16,7 +16,7 @@ gUnknown_8182A75:: @ 8182A75 .string "Perhaps that POKéMON has been with\n" .string "her ever since.$" -gUnknown_8182B37:: @ 8182B37 +FourIsland_Text_RivalAlreadyGotEggBeSmellingYa:: @ 8182B37 .string "{RIVAL}: Hey!\n" .string "{PLAYER}!\p" .string "What are you doing here in the\n" @@ -37,7 +37,7 @@ gUnknown_8182B37:: @ 8182B37 .string "waste.\p" .string "Be smelling ya!$" -gUnknown_8182CE3:: @ 8182CE3 +FourIsland_Text_LoreleiHasLotsOfStuffedDolls:: @ 8182CE3 .string "Oh, you found me!\n" .string "Please don't tell LORELEI.\p" .string "Did you know that LORELEI has lots\n" @@ -45,12 +45,12 @@ gUnknown_8182CE3:: @ 8182CE3 .string "Every time she comes back to\n" .string "FOUR ISLAND, her collection grows!$" -gUnknown_8182D8E:: @ 8182D8E +FourIsland_Text_MadeSlushieUsingIcefallCaveIce:: @ 8182D8E .string "Ooh, chilly!\p" .string "I made a slushie using ice I\n" .string "shaved inside ICEFALL CAVE.\p" .string "It's chilly and tasty!$" -gUnknown_8182DEB:: @ 8182DEB +FourIsland_Text_LoreleisHouse:: @ 8182DEB .string "LORELEI'S HOUSE$" diff --git a/data/maps/FourIsland_Harbor/map.json b/data/maps/FourIsland_Harbor/map.json index b0188aedd..fa23fe2cd 100644 --- a/data/maps/FourIsland_Harbor/map.json +++ b/data/maps/FourIsland_Harbor/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_FOUR_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SEAGALLOP", + "graphics_id": "OBJ_EVENT_GFX_SEAGALLOP", "x": 8, "y": 9, "elevation": 0, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 8, "y": 6, "elevation": 3, @@ -36,7 +38,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_Harbor_EventScript_171C99", + "script": "FourIsland_Harbor_EventScript_Sailor", "flag": "0" } ], diff --git a/data/maps/FourIsland_Harbor/scripts.inc b/data/maps/FourIsland_Harbor/scripts.inc index d8933d783..3a16cd3e3 100644 --- a/data/maps/FourIsland_Harbor/scripts.inc +++ b/data/maps/FourIsland_Harbor/scripts.inc @@ -1,7 +1,7 @@ FourIsland_Harbor_MapScripts:: @ 8171C98 .byte 0 -FourIsland_Harbor_EventScript_171C99:: @ 8171C99 +FourIsland_Harbor_EventScript_Sailor:: @ 8171C99 lock faceplayer message Text_WhereDoYouWantToSail diff --git a/data/maps/FourIsland_House1/map.json b/data/maps/FourIsland_House1/map.json index 902c65f23..f581ffa5a 100644 --- a/data/maps/FourIsland_House1/map.json +++ b/data/maps/FourIsland_House1/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_FOUR_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_FAT_MAN", + "graphics_id": "OBJ_EVENT_GFX_FAT_MAN", "x": 8, "y": 3, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_FAT_MAN", + "graphics_id": "OBJ_EVENT_GFX_FAT_MAN", "x": 9, "y": 3, "elevation": 3, @@ -36,7 +38,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_House1_EventScript_171C45", + "script": "FourIsland_House1_EventScript_FatMan", "flag": "0" } ], diff --git a/data/maps/FourIsland_House1/scripts.inc b/data/maps/FourIsland_House1/scripts.inc index 46ec500fe..e8e6322f5 100644 --- a/data/maps/FourIsland_House1/scripts.inc +++ b/data/maps/FourIsland_House1/scripts.inc @@ -1,6 +1,6 @@ FourIsland_House1_MapScripts:: @ 8171C44 .byte 0 -FourIsland_House1_EventScript_171C45:: @ 8171C45 - msgbox gUnknown_81A3802, MSGBOX_NPC +FourIsland_House1_EventScript_FatMan:: @ 8171C45 + msgbox FourIsland_House1_Text_YoureAwfullyHeavy, MSGBOX_NPC end diff --git a/data/maps/FourIsland_House1/text.inc b/data/maps/FourIsland_House1/text.inc index 2d4f8c4bd..255b3c028 100644 --- a/data/maps/FourIsland_House1/text.inc +++ b/data/maps/FourIsland_House1/text.inc @@ -1,4 +1,7 @@ -Text_1A3778:: @ 81A3778 +@ Text for this file was split weirdly, and is instead in FourIsland_PokemonCenter_1F/text.inc +@ Theres also an unused JP version of that text in this file instead + +JPText_BodySlamTeach:: @ 81A3778 .string "そーれ ぼよーん!\n" .string "どっちが さきに へたばるか?\l" .string "のしかかり しょうぶ してるんだ\p" @@ -7,17 +10,17 @@ Text_1A3778:: @ 81A3778 .string "かわりに きみの ポケモンに\l" .string "のしかかり おしえて やろっか?$" -Text_1A37DB:: @ 81A37DB +JPText_BodySlamDeclined:: @ 81A37DB .string "また おいで ぼよーん!$" -Text_1A37E8:: @ 81A37E8 +JPText_BodySlamWhichMon:: @ 81A37E8 .string "どの ポケモンに\n" .string "おしえたい かい?$" -Text_1A37FB:: @ 81A37FB +JPText_BodySlamTaught:: @ 81A37FB .string "ぼよよーん!$" -gUnknown_81A3802:: @ 81A3802 +FourIsland_House1_Text_YoureAwfullyHeavy:: @ 81A3802 .string "There! Boing!\n" .string "You're awfully heavy!$" diff --git a/data/maps/FourIsland_House2/map.json b/data/maps/FourIsland_House2/map.json index 330c8ea8a..a4b926233 100644 --- a/data/maps/FourIsland_House2/map.json +++ b/data/maps/FourIsland_House2/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_FOUR_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 4, "y": 4, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_House2_EventScript_1B2938", + "script": "FourIsland_House2_EventScript_StickerMan", "flag": "0" } ], diff --git a/data/maps/FourIsland_IcefallCave_1F/map.json b/data/maps/FourIsland_IcefallCave_1F/map.json index 5928013dc..5e126761e 100644 --- a/data/maps/FourIsland_IcefallCave_1F/map.json +++ b/data/maps/FourIsland_IcefallCave_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ICEFALL_CAVE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 11, "y": 7, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "FLAG_HIDE_FOUR_ISLAND_ICEFALL_CAVE_1F_ULTRA_BALL" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 12, "y": 16, "elevation": 3, diff --git a/data/maps/FourIsland_IcefallCave_1F/scripts.inc b/data/maps/FourIsland_IcefallCave_1F/scripts.inc index c3e3eaff2..be73f02fc 100644 --- a/data/maps/FourIsland_IcefallCave_1F/scripts.inc +++ b/data/maps/FourIsland_IcefallCave_1F/scripts.inc @@ -5,21 +5,21 @@ FourIsland_IcefallCave_1F_MapScripts:: @ 8163D44 .byte 0 FourIsland_IcefallCave_1F_OnResume:: @ 8163D54 - setstepcallback 4 + setstepcallback STEP_CB_ICE end FourIsland_IcefallCave_1F_OnLoad:: @ 8163D57 - special Special_SetIcefallCaveCrackedIceMetatiles + special SetIcefallCaveCrackedIceMetatiles end FourIsland_IcefallCave_1F_OnFrame:: @ 8163D5B - map_script_2 VAR_TEMP_1, 1, EventScript_163D65 + map_script_2 VAR_TEMP_1, 1, FourIsland_IcefallCave_1F_EventScript_FallDownHole .2byte 0 -EventScript_163D65:: @ 8163D65 +FourIsland_IcefallCave_1F_EventScript_FallDownHole:: @ 8163D65 lockall delay 20 - applymovement OBJ_EVENT_ID_PLAYER, Movement_163D7F + applymovement OBJ_EVENT_ID_PLAYER, FourIsland_IcefallCave_1F_Movement_SetInvisible waitmovement 0 playse SE_RU_HYUU delay 60 @@ -28,6 +28,6 @@ EventScript_163D65:: @ 8163D65 releaseall end -Movement_163D7F:: @ 8163D7F +FourIsland_IcefallCave_1F_Movement_SetInvisible:: @ 8163D7F set_invisible step_end diff --git a/data/maps/FourIsland_IcefallCave_B1F/map.json b/data/maps/FourIsland_IcefallCave_B1F/map.json index dd1d81a2d..e93a3457a 100644 --- a/data/maps/FourIsland_IcefallCave_B1F/map.json +++ b/data/maps/FourIsland_IcefallCave_B1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ICEFALL_CAVE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 10, "y": 14, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "FLAG_HIDE_FOUR_ISLAND_ICEFALL_CAVE_B1F_FULL_RESTORE" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 21, "y": 7, "elevation": 3, diff --git a/data/maps/FourIsland_IcefallCave_Back/map.json b/data/maps/FourIsland_IcefallCave_Back/map.json index 9af9a6faf..c534c48f2 100644 --- a/data/maps/FourIsland_IcefallCave_Back/map.json +++ b/data/maps/FourIsland_IcefallCave_Back/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ICEFALL_CAVE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 11, "y": 14, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "FLAG_HIDE_ICEFALL_CAVE_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 13, "y": 14, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "FLAG_HIDE_ICEFALL_CAVE_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_LORELEI", + "graphics_id": "OBJ_EVENT_GFX_LORELEI", "x": 12, "y": 16, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_IcefallCave_Back_EventScript_163F25", + "script": "FourIsland_IcefallCave_Back_EventScript_Lorelei", "flag": "FLAG_HIDE_ICEFALL_CAVE_LORELEI" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 10, "y": 15, "elevation": 3, @@ -83,7 +85,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ICEFALL_CAVE_BACK", "var_value": 0, - "script": "FourIsland_IcefallCave_Back_EventScript_163D98" + "script": "FourIsland_IcefallCave_Back_EventScript_LoreleiRocketsScene" }, { "type": "trigger", @@ -92,7 +94,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ICEFALL_CAVE_BACK", "var_value": 0, - "script": "FourIsland_IcefallCave_Back_EventScript_163D98" + "script": "FourIsland_IcefallCave_Back_EventScript_LoreleiRocketsScene" }, { "type": "trigger", @@ -101,7 +103,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ICEFALL_CAVE_BACK", "var_value": 0, - "script": "FourIsland_IcefallCave_Back_EventScript_163D98" + "script": "FourIsland_IcefallCave_Back_EventScript_LoreleiRocketsScene" } ], "bg_events": [] diff --git a/data/maps/FourIsland_IcefallCave_Back/scripts.inc b/data/maps/FourIsland_IcefallCave_Back/scripts.inc index 39eb3f0b4..a0a94d4be 100644 --- a/data/maps/FourIsland_IcefallCave_Back/scripts.inc +++ b/data/maps/FourIsland_IcefallCave_Back/scripts.inc @@ -1,100 +1,105 @@ +.equ LOCALID_ROCKET1, 1 +.equ LOCALID_ROCKET2, 2 +.equ LOCALID_LORELEI, 3 +.equ LOCALID_ROCKET3, 4 + FourIsland_IcefallCave_Back_MapScripts:: @ 8163D82 map_script MAP_SCRIPT_ON_TRANSITION, FourIsland_IcefallCave_Back_OnTransition .byte 0 FourIsland_IcefallCave_Back_OnTransition:: @ 8163D88 compare VAR_MAP_SCENE_ICEFALL_CAVE_BACK, 1 - call_if_eq EventScript_163D94 + call_if_eq FourIsland_IcefallCave_Back_EventScript_HideLorelei end -EventScript_163D94:: @ 8163D94 +FourIsland_IcefallCave_Back_EventScript_HideLorelei:: @ 8163D94 setflag FLAG_HIDE_ICEFALL_CAVE_LORELEI return -FourIsland_IcefallCave_Back_EventScript_163D98:: @ 8163D98 +FourIsland_IcefallCave_Back_EventScript_LoreleiRocketsScene:: @ 8163D98 lockall textcolor 1 - msgbox gUnknown_817B04F - applymovement 1, Movement_163EE8 + msgbox FourIsland_IcefallCave_Back_Text_LoreleiKeepHandsOffMons + applymovement LOCALID_ROCKET1, FourIsland_IcefallCave_Back_Movement_WalkInPlaceDown waitmovement 0 textcolor 0 - msgbox gUnknown_817B0B9 + msgbox FourIsland_IcefallCave_Back_Text_ShutItLadyLeaveUsBe closemessage playse SE_PIN - applymovement 3, Movement_ExclamationMark + applymovement LOCALID_LORELEI, Movement_ExclamationMark waitmovement 0 - applymovement 3, Movement_WalkInPlaceFastestDown + applymovement LOCALID_LORELEI, Movement_WalkInPlaceFastestDown waitmovement 0 - applymovement 3, Movement_Delay48 + applymovement LOCALID_LORELEI, Movement_Delay48 waitmovement 0 textcolor 1 - msgbox gUnknown_817B109 + msgbox FourIsland_IcefallCave_Back_Text_LoreleiPlayerHelpMeKickPoachersOut closemessage - applymovement 3, Movement_WalkInPlaceFastestRight + applymovement LOCALID_LORELEI, Movement_WalkInPlaceFastestRight waitmovement 0 delay 18 - applymovement 3, Movement_WalkInPlaceFastestDown + applymovement LOCALID_LORELEI, Movement_WalkInPlaceFastestDown waitmovement 0 delay 35 - applymovement 4, Movement_163F11 - applymovement 3, Movement_163F18 - applymovement OBJ_EVENT_ID_PLAYER, Movement_163EDD + applymovement LOCALID_ROCKET3, FourIsland_IcefallCave_Back_Movement_Rocket3FaceLorelei + applymovement LOCALID_LORELEI, FourIsland_IcefallCave_Back_Movement_LoreleiToRockets + applymovement OBJ_EVENT_ID_PLAYER, FourIsland_IcefallCave_Back_Movement_PlayerToRockets waitmovement 0 - applymovement 2, Movement_163EE8 + applymovement LOCALID_ROCKET2, FourIsland_IcefallCave_Back_Movement_WalkInPlaceDown waitmovement 0 playbgm MUS_ROCKET, 0 textcolor 0 - msgbox gUnknown_817B20B - setvar VAR_LAST_TALKED, 4 - trainerbattle_no_intro TRAINER_TEAM_ROCKET_GRUNT_45, Text_17B251 - applymovement 3, Movement_163F1B + msgbox FourIsland_IcefallCave_Back_Text_GruntIntro + setvar VAR_LAST_TALKED, LOCALID_ROCKET3 + trainerbattle_no_intro TRAINER_TEAM_ROCKET_GRUNT_45, FourIsland_IcefallCave_Back_Text_GruntDefeat + applymovement LOCALID_LORELEI, FourIsland_IcefallCave_Back_Movement_WalkInPlaceUp waitmovement 0 textcolor 1 - msgbox gUnknown_817B269 + msgbox FourIsland_IcefallCave_Back_Text_LoreleiWhereHaveYouTakenMons textcolor 0 - msgbox gUnknown_817B2EF + msgbox FourIsland_IcefallCave_Back_Text_NotTellingYouThat textcolor 1 - message Text_17B313 + message FourIsland_IcefallCave_Back_Text_LoreleiWellDeepFreezeYou waitmessage waitse playmoncry SPECIES_LAPRAS, 2 waitbuttonpress waitmoncry - applymovement 1, Movement_163EEE + applymovement LOCALID_ROCKET1, FourIsland_IcefallCave_Back_Movement_Rocket1ReactToThreat waitmovement 0 textcolor 0 - msgbox gUnknown_817B399 + msgbox FourIsland_IcefallCave_Back_Text_OkayRocketWareHouseFiveIsland closemessage - applymovement 3, Movement_163F1D - applymovement OBJ_EVENT_ID_PLAYER, Movement_163EE2 - applymovement 1, Movement_163EF0 - applymovement 2, Movement_163EFA - applymovement 4, Movement_163F05 + applymovement LOCALID_LORELEI, FourIsland_IcefallCave_Back_Movement_LoreleiWatchRocketsExit + applymovement OBJ_EVENT_ID_PLAYER, FourIsland_IcefallCave_Back_Movement_PlayerWatchRocketsExit + applymovement LOCALID_ROCKET1, FourIsland_IcefallCave_Back_Movement_Rocket1Exit + applymovement LOCALID_ROCKET2, FourIsland_IcefallCave_Back_Movement_Rocket2Exit + applymovement LOCALID_ROCKET3, FourIsland_IcefallCave_Back_Movement_Rocket3Exit waitmovement 0 - removeobject 1 - removeobject 2 - removeobject 4 + removeobject LOCALID_ROCKET1 + removeobject LOCALID_ROCKET2 + removeobject LOCALID_ROCKET3 delay 50 - applymovement 3, Movement_163F23 + applymovement LOCALID_LORELEI, FourIsland_IcefallCave_Back_Movement_LoreleiWalkToPlayer waitmovement 0 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestLeft waitmovement 0 textcolor 1 - msgbox gUnknown_817B457 + msgbox FourIsland_IcefallCave_Back_Text_ThankYouThisIsAwful setflag FLAG_HIDE_RUIN_VALLEY_SCIENTIST clearflag FLAG_HIDE_LORELEI_IN_HER_HOUSE setvar VAR_MAP_SCENE_ICEFALL_CAVE_BACK, 1 releaseall end -Movement_163EDD:: @ 8163EDD +FourIsland_IcefallCave_Back_Movement_PlayerToRockets:: @ 8163EDD walk_up walk_up walk_right walk_up step_end -Movement_163EE2:: @ 8163EE2 +FourIsland_IcefallCave_Back_Movement_PlayerWatchRocketsExit:: @ 8163EE2 delay_16 walk_in_place_fastest_left delay_16 @@ -102,21 +107,21 @@ Movement_163EE2:: @ 8163EE2 walk_in_place_fastest_down step_end -Movement_163EE8:: @ 8163EE8 +FourIsland_IcefallCave_Back_Movement_WalkInPlaceDown:: @ 8163EE8 walk_in_place_down step_end -gUnknown_163EEA:: @ 8163EEA +FourIsland_IcefallCave_Back_Movement_UnusedPushRight:: @ 8163EEA lock_facing_direction walk_right unlock_facing_direction step_end -Movement_163EEE:: @ 8163EEE +FourIsland_IcefallCave_Back_Movement_Rocket1ReactToThreat:: @ 8163EEE walk_in_place_fast_down step_end -Movement_163EF0:: @ 8163EF0 +FourIsland_IcefallCave_Back_Movement_Rocket1Exit:: @ 8163EF0 walk_right walk_down walk_fast_down @@ -128,7 +133,7 @@ Movement_163EF0:: @ 8163EF0 walk_fast_down step_end -Movement_163EFA:: @ 8163EFA +FourIsland_IcefallCave_Back_Movement_Rocket2Exit:: @ 8163EFA delay_16 walk_left walk_down @@ -141,7 +146,7 @@ Movement_163EFA:: @ 8163EFA walk_fast_down step_end -Movement_163F05:: @ 8163F05 +FourIsland_IcefallCave_Back_Movement_Rocket3Exit:: @ 8163F05 delay_16 walk_down delay_16 @@ -155,27 +160,27 @@ Movement_163F05:: @ 8163F05 walk_fast_down step_end -Movement_163F11:: @ 8163F11 +FourIsland_IcefallCave_Back_Movement_Rocket3FaceLorelei:: @ 8163F11 delay_16 delay_8 walk_in_place_fastest_right step_end -Movement_163F15:: @ 8163F15 +FourIsland_IcefallCave_Back_Movement_UnusedWalkLeft:: @ 8163F15 walk_left walk_left step_end -Movement_163F18:: @ 8163F18 +FourIsland_IcefallCave_Back_Movement_LoreleiToRockets:: @ 8163F18 walk_left walk_up step_end -Movement_163F1B:: @ 8163F1B +FourIsland_IcefallCave_Back_Movement_WalkInPlaceUp:: @ 8163F1B walk_in_place_up step_end -Movement_163F1D:: @ 8163F1D +FourIsland_IcefallCave_Back_Movement_LoreleiWatchRocketsExit:: @ 8163F1D delay_8 walk_in_place_fastest_right delay_16 @@ -183,10 +188,10 @@ Movement_163F1D:: @ 8163F1D walk_in_place_fastest_down step_end -Movement_163F23:: @ 8163F23 +FourIsland_IcefallCave_Back_Movement_LoreleiWalkToPlayer:: @ 8163F23 walk_right step_end -FourIsland_IcefallCave_Back_EventScript_163F25:: @ 8163F25 - msgbox gUnknown_817B457, MSGBOX_NPC +FourIsland_IcefallCave_Back_EventScript_Lorelei:: @ 8163F25 + msgbox FourIsland_IcefallCave_Back_Text_ThankYouThisIsAwful, MSGBOX_NPC end diff --git a/data/maps/FourIsland_IcefallCave_Back/text.inc b/data/maps/FourIsland_IcefallCave_Back/text.inc index f65e95854..981041777 100644 --- a/data/maps/FourIsland_IcefallCave_Back/text.inc +++ b/data/maps/FourIsland_IcefallCave_Back/text.inc @@ -1,16 +1,16 @@ -gUnknown_817B04F:: @ 817B04F +FourIsland_IcefallCave_Back_Text_LoreleiKeepHandsOffMons:: @ 817B04F .string "LORELEI: Keep your filthy hands\n" .string "off the POKéMON in the cave!\p" .string "Do as I say, or you'll have me to\n" .string "answer to!$" -gUnknown_817B0B9:: @ 817B0B9 +FourIsland_IcefallCave_Back_Text_ShutItLadyLeaveUsBe:: @ 817B0B9 .string "Aww, shut it, lady, and leave\n" .string "us be.\p" .string "Don't let your glasses get all\n" .string "steamed up!$" -gUnknown_817B109:: @ 817B109 +FourIsland_IcefallCave_Back_Text_LoreleiPlayerHelpMeKickPoachersOut:: @ 817B109 .string "LORELEI: {PLAYER}?!\n" .string "What are you doing here?\p" .string "No, we can catch up later.\n" @@ -22,15 +22,15 @@ gUnknown_817B109:: @ 817B109 .string "Are you ready?\n" .string "You take that one, please!$" -gUnknown_817B20B:: @ 817B20B +FourIsland_IcefallCave_Back_Text_GruntIntro:: @ 817B20B .string "W-what?!\p" .string "Who says we can't do what we want\n" .string "with the POKéMON we catch?$" -Text_17B251:: @ 817B251 +FourIsland_IcefallCave_Back_Text_GruntDefeat:: @ 817B251 .string "We didn't plan on this!$" -gUnknown_817B269:: @ 817B269 +FourIsland_IcefallCave_Back_Text_LoreleiWhereHaveYouTakenMons:: @ 817B269 .string "LORELEI: Humph.\n" .string "So despicably weak.\p" .string "You!\n" @@ -40,11 +40,11 @@ gUnknown_817B269:: @ 817B269 .string "I'm smashing your ring once and\n" .string "for all!$" -gUnknown_817B2EF:: @ 817B2EF +FourIsland_IcefallCave_Back_Text_NotTellingYouThat:: @ 817B2EF .string "N-no way!\n" .string "I'm not telling you that!$" -Text_17B313:: @ 817B313 +FourIsland_IcefallCave_Back_Text_LoreleiWellDeepFreezeYou:: @ 817B313 .string "LORELEI: If you won't confess,\n" .string "we'll deep-freeze you.\p" .string "My LAPRAS is furious for what\n" @@ -52,7 +52,7 @@ Text_17B313:: @ 817B313 .string "Go, LAPRAS!\n" .string "ICE BEAM…$" -gUnknown_817B399:: @ 817B399 +FourIsland_IcefallCave_Back_Text_OkayRocketWareHouseFiveIsland:: @ 817B399 .string "Wawaah! Okay!\n" .string "I'll talk!\p" .string "The POKéMON are in the ROCKET\n" @@ -63,7 +63,7 @@ gUnknown_817B399:: @ 817B399 .string "into the ROCKET WAREHOUSE!\p" .string "Heheheheh!$" -gUnknown_817B457:: @ 817B457 +FourIsland_IcefallCave_Back_Text_ThankYouThisIsAwful:: @ 817B457 .string "{PLAYER}, thank you.\n" .string "But this is awful…\p" .string "I was born and raised here on\n" diff --git a/data/maps/FourIsland_IcefallCave_Entrance/map.json b/data/maps/FourIsland_IcefallCave_Entrance/map.json index 3315c36b5..0dfe89452 100644 --- a/data/maps/FourIsland_IcefallCave_Entrance/map.json +++ b/data/maps/FourIsland_IcefallCave_Entrance/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ICEFALL_CAVE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/FourIsland_LoreleisHouse/map.json b/data/maps/FourIsland_LoreleisHouse/map.json index eb022af3b..1c09bc412 100644 --- a/data/maps/FourIsland_LoreleisHouse/map.json +++ b/data/maps/FourIsland_LoreleisHouse/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_FOUR_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_LORELEI", + "graphics_id": "OBJ_EVENT_GFX_LORELEI", "x": 7, "y": 4, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_LoreleisHouse_EventScript_171C58", + "script": "FourIsland_LoreleisHouse_EventScript_Lorelei", "flag": "FLAG_HIDE_LORELEI_IN_HER_HOUSE" }, { - "graphics_id": "OBJECT_EVENT_GFX_WIGGLYTUFF", + "graphics_id": "OBJ_EVENT_GFX_WIGGLYTUFF", "x": 0, "y": 2, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_LoreleisHouse_EventScript_171C8D", + "script": "FourIsland_LoreleisHouse_EventScript_Doll", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SEEL", + "graphics_id": "OBJ_EVENT_GFX_SEEL", "x": 10, "y": 3, "elevation": 0, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_LoreleisHouse_EventScript_171C8D", + "script": "FourIsland_LoreleisHouse_EventScript_Doll", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PIKACHU", + "graphics_id": "OBJ_EVENT_GFX_PIKACHU", "x": 9, "y": 3, "elevation": 0, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_LoreleisHouse_EventScript_171C8D", + "script": "FourIsland_LoreleisHouse_EventScript_Doll", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SLOWPOKE", + "graphics_id": "OBJ_EVENT_GFX_SLOWPOKE", "x": 7, "y": 2, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_LoreleisHouse_EventScript_171C8D", + "script": "FourIsland_LoreleisHouse_EventScript_Doll", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SLOWBRO", + "graphics_id": "OBJ_EVENT_GFX_SLOWBRO", "x": 6, "y": 2, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_LoreleisHouse_EventScript_171C8D", + "script": "FourIsland_LoreleisHouse_EventScript_Doll", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PSYDUCK", + "graphics_id": "OBJ_EVENT_GFX_PSYDUCK", "x": 6, "y": 4, "elevation": 0, @@ -101,11 +103,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_LoreleisHouse_EventScript_171C8D", + "script": "FourIsland_LoreleisHouse_EventScript_Doll", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MEOWTH", + "graphics_id": "OBJ_EVENT_GFX_MEOWTH", "x": 9, "y": 4, "elevation": 0, @@ -114,11 +116,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_LoreleisHouse_EventScript_171C8D", + "script": "FourIsland_LoreleisHouse_EventScript_Doll", "flag": "FLAG_HIDE_LORELEI_HOUSE_MEOWTH_DOLL" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHANSEY", + "graphics_id": "OBJ_EVENT_GFX_CHANSEY", "x": 10, "y": 4, "elevation": 0, @@ -127,11 +129,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_LoreleisHouse_EventScript_171C8D", + "script": "FourIsland_LoreleisHouse_EventScript_Doll", "flag": "FLAG_HIDE_LORELEI_HOUSE_CHANSEY_DOLL" }, { - "graphics_id": "OBJECT_EVENT_GFX_JIGGLYPUFF", + "graphics_id": "OBJ_EVENT_GFX_JIGGLYPUFF", "x": 0, "y": 3, "elevation": 3, @@ -140,11 +142,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_LoreleisHouse_EventScript_171C8D", + "script": "FourIsland_LoreleisHouse_EventScript_Doll", "flag": "FLAG_HIDE_LORELEI_HOUSE_JIGGLYPUFF_DOLL" }, { - "graphics_id": "OBJECT_EVENT_GFX_NIDORAN_F", + "graphics_id": "OBJ_EVENT_GFX_NIDORAN_F", "x": 0, "y": 5, "elevation": 3, @@ -153,11 +155,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_LoreleisHouse_EventScript_171C8D", + "script": "FourIsland_LoreleisHouse_EventScript_Doll", "flag": "FLAG_HIDE_LORELEIS_HOUSE_NIDORAN_F_DOLL" }, { - "graphics_id": "OBJECT_EVENT_GFX_NIDORAN_M", + "graphics_id": "OBJ_EVENT_GFX_NIDORAN_M", "x": 1, "y": 5, "elevation": 3, @@ -166,11 +168,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_LoreleisHouse_EventScript_171C8D", + "script": "FourIsland_LoreleisHouse_EventScript_Doll", "flag": "FLAG_HIDE_LORELEIS_HOUSE_NIDORAN_M_DOLL" }, { - "graphics_id": "OBJECT_EVENT_GFX_PIDGEOT", + "graphics_id": "OBJ_EVENT_GFX_PIDGEOT", "x": 9, "y": 0, "elevation": 3, @@ -179,11 +181,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_LoreleisHouse_EventScript_171C8D", + "script": "FourIsland_LoreleisHouse_EventScript_Doll", "flag": "FLAG_HIDE_LORELEIS_HOUSE_PIDGEOT_DOLL" }, { - "graphics_id": "OBJECT_EVENT_GFX_FEAROW", + "graphics_id": "OBJ_EVENT_GFX_FEAROW", "x": 10, "y": 0, "elevation": 3, @@ -192,11 +194,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_LoreleisHouse_EventScript_171C8D", + "script": "FourIsland_LoreleisHouse_EventScript_Doll", "flag": "FLAG_HIDE_LORELEIS_HOUSE_FEAROW_DOLL" }, { - "graphics_id": "OBJECT_EVENT_GFX_LAPRAS_DOLL", + "graphics_id": "OBJ_EVENT_GFX_LAPRAS_DOLL", "x": 9, "y": 6, "elevation": 3, @@ -205,7 +207,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_LoreleisHouse_EventScript_171C8D", + "script": "FourIsland_LoreleisHouse_EventScript_Doll", "flag": "FLAG_HIDE_LORELEIS_HOUSE_LAPRAS_DOLL" } ], diff --git a/data/maps/FourIsland_LoreleisHouse/scripts.inc b/data/maps/FourIsland_LoreleisHouse/scripts.inc index c39cc1da9..8c1f9e2fa 100644 --- a/data/maps/FourIsland_LoreleisHouse/scripts.inc +++ b/data/maps/FourIsland_LoreleisHouse/scripts.inc @@ -3,31 +3,31 @@ FourIsland_LoreleisHouse_MapScripts:: @ 8171C4E .byte 0 FourIsland_LoreleisHouse_OnTransition:: @ 8171C54 - special Special_ComputeLoreleiDollCollection + special UpdateLoreleiDollCollection end -FourIsland_LoreleisHouse_EventScript_171C58:: @ 8171C58 +FourIsland_LoreleisHouse_EventScript_Lorelei:: @ 8171C58 lock faceplayer - goto_if_set FLAG_TALKED_TO_LORELEI_AFTER_WAREHOUSE, EventScript_171C83 - goto_if_set FLAG_DEFEATED_ROCKETS_IN_WAREHOUSE, EventScript_171C76 - msgbox gUnknown_81A3826 + goto_if_set FLAG_TALKED_TO_LORELEI_AFTER_WAREHOUSE, FourIsland_LoreleisHouse_EventScript_Lorelei3 + goto_if_set FLAG_DEFEATED_ROCKETS_IN_WAREHOUSE, FourIsland_LoreleisHouse_EventScript_Lorelei2 + msgbox FourIsland_LoreleisHouse_Text_IfAnythingWereToHappenToIsland release end -EventScript_171C76:: @ 8171C76 +FourIsland_LoreleisHouse_EventScript_Lorelei2:: @ 8171C76 setflag FLAG_TALKED_TO_LORELEI_AFTER_WAREHOUSE - msgbox gUnknown_81A390C + msgbox FourIsland_LoreleisHouse_Text_IllReturnToLeagueInShortWhile release end -EventScript_171C83:: @ 8171C83 - msgbox gUnknown_81A39D8 +FourIsland_LoreleisHouse_EventScript_Lorelei3:: @ 8171C83 + msgbox FourIsland_LoreleisHouse_Text_WillDoWhatICanHereAndNow release end -FourIsland_LoreleisHouse_EventScript_171C8D:: @ 8171C8D +FourIsland_LoreleisHouse_EventScript_Doll:: @ 8171C8D lock - msgbox gUnknown_81A3A42 + msgbox FourIsland_LoreleisHouse_Text_StuffedMonDollsGalore release end diff --git a/data/maps/FourIsland_LoreleisHouse/text.inc b/data/maps/FourIsland_LoreleisHouse/text.inc index 5c7d0cd81..b332cd50e 100644 --- a/data/maps/FourIsland_LoreleisHouse/text.inc +++ b/data/maps/FourIsland_LoreleisHouse/text.inc @@ -1,4 +1,4 @@ -gUnknown_81A3826:: @ 81A3826 +FourIsland_LoreleisHouse_Text_IfAnythingWereToHappenToIsland:: @ 81A3826 .string "LORELEI: There's something weighing\n" .string "heavily on my mind.\p" .string "If anything were to happen on\n" @@ -8,7 +8,7 @@ gUnknown_81A3826:: @ 81A3826 .string "I wonder if that would make me\n" .string "irresponsible to my home…$" -gUnknown_81A390C:: @ 81A390C +FourIsland_LoreleisHouse_Text_IllReturnToLeagueInShortWhile:: @ 81A390C .string "LORELEI: So, you managed to solve\n" .string "all the problems here?\p" .string "That's wonderful.\p" @@ -18,12 +18,12 @@ gUnknown_81A390C:: @ 81A390C .string "I'll return to the POKéMON LEAGUE\n" .string "in a short while.$" -gUnknown_81A39D8:: @ 81A39D8 +FourIsland_LoreleisHouse_Text_WillDoWhatICanHereAndNow:: @ 81A39D8 .string "I don't know what will happen in\n" .string "the future, but…\p" .string "I will do what I can here and now.\n" .string "That's all I can do.$" -gUnknown_81A3A42:: @ 81A3A42 +FourIsland_LoreleisHouse_Text_StuffedMonDollsGalore:: @ 81A3A42 .string "Stuffed POKéMON dolls galore!$" diff --git a/data/maps/FourIsland_Mart/map.json b/data/maps/FourIsland_Mart/map.json index c5e589e61..5543c8c50 100644 --- a/data/maps/FourIsland_Mart/map.json +++ b/data/maps/FourIsland_Mart/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_FOUR_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CLERK", + "graphics_id": "OBJ_EVENT_GFX_CLERK", "x": 2, "y": 3, "elevation": 0, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_Mart_EventScript_171CAE", + "script": "FourIsland_Mart_EventScript_Clerk", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 6, "y": 5, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_Mart_EventScript_1ACF46", + "script": "FourIsland_Mart_EventScript_OldMan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CAMPER", + "graphics_id": "OBJ_EVENT_GFX_CAMPER", "x": 8, "y": 3, "elevation": 3, @@ -49,7 +51,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_Mart_EventScript_171CE8", + "script": "FourIsland_Mart_EventScript_Camper", "flag": "0" } ], diff --git a/data/maps/FourIsland_Mart/scripts.inc b/data/maps/FourIsland_Mart/scripts.inc index 5f85eaae4..36b3a0914 100644 --- a/data/maps/FourIsland_Mart/scripts.inc +++ b/data/maps/FourIsland_Mart/scripts.inc @@ -1,19 +1,19 @@ FourIsland_Mart_MapScripts:: @ 8171CAD .byte 0 -FourIsland_Mart_EventScript_171CAE:: @ 8171CAE +FourIsland_Mart_EventScript_Clerk:: @ 8171CAE goto_if_questlog EventScript_ReleaseEnd lock faceplayer message Text_MayIHelpYou waitmessage - pokemart Items_171CD4 + pokemart FourIsland_Mart_Items msgbox Text_PleaseComeAgain release end .align 2 -Items_171CD4:: @ 8171CD4 +FourIsland_Mart_Items:: @ 8171CD4 .2byte ITEM_ULTRA_BALL .2byte ITEM_FULL_RESTORE .2byte ITEM_MAX_POTION @@ -26,6 +26,6 @@ Items_171CD4:: @ 8171CD4 release end -FourIsland_Mart_EventScript_171CE8:: @ 8171CE8 - msgbox gUnknown_81A3B14, MSGBOX_NPC +FourIsland_Mart_EventScript_Camper:: @ 8171CE8 + msgbox FourIsland_Mart_Text_IcefallCaveIsFrigid, MSGBOX_NPC end diff --git a/data/maps/FourIsland_Mart/text.inc b/data/maps/FourIsland_Mart/text.inc index eba66dd37..afde0e79c 100644 --- a/data/maps/FourIsland_Mart/text.inc +++ b/data/maps/FourIsland_Mart/text.inc @@ -1,4 +1,4 @@ -Text_1A3A60:: @ 81A3A60 +FourIsland_Mart_Text_LoreleiGrewUpOnThisIsland:: @ 81A3A60 .string "We've had a great and powerful\n" .string "TRAINER grow up on this island.\p" .string "I bet even you'd know her.\n" @@ -6,7 +6,7 @@ Text_1A3A60:: @ 81A3A60 .string "When LORELEI was just a tyke,\n" .string "I taught her about POKéMON.$" -gUnknown_81A3B14:: @ 81A3B14 +FourIsland_Mart_Text_IcefallCaveIsFrigid:: @ 81A3B14 .string "The SEVII ISLANDS are in a warm\n" .string "region overall.\p" .string "But there is one exception you\n" diff --git a/data/maps/FourIsland_PokemonCenter_1F/map.json b/data/maps/FourIsland_PokemonCenter_1F/map.json index b3427d8b1..8b1d8bc4b 100644 --- a/data/maps/FourIsland_PokemonCenter_1F/map.json +++ b/data/maps/FourIsland_PokemonCenter_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_FOUR_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_NURSE", + "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_PokemonCenter_1F_EventScript_171BF9", + "script": "FourIsland_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 10, "y": 6, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_PokemonCenter_1F_EventScript_171C02", + "script": "FourIsland_PokemonCenter_1F_EventScript_Man", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_3", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_3", "x": 5, "y": 5, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_PokemonCenter_1F_EventScript_171C0B", + "script": "FourIsland_PokemonCenter_1F_EventScript_Woman", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 2, "y": 2, "elevation": 3, @@ -62,7 +64,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_PokemonCenter_1F_EventScript_171C14", + "script": "FourIsland_PokemonCenter_1F_EventScript_Gentleman", "flag": "0" } ], @@ -85,18 +87,20 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_1", + "type": "sign", "x": 3, "y": 1, "elevation": 0, - "script": "FourIsland_PokemonCenter_1F_EventScript_1ACDD0" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", + "script": "FourIsland_PokemonCenter_1F_EventScript_PokemonJournal" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 2, "y": 1, "elevation": 0, - "script": "FourIsland_PokemonCenter_1F_EventScript_1ACDD0" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", + "script": "FourIsland_PokemonCenter_1F_EventScript_PokemonJournal" } ] } diff --git a/data/maps/FourIsland_PokemonCenter_1F/scripts.inc b/data/maps/FourIsland_PokemonCenter_1F/scripts.inc index 4ee8e33c1..afb0c7582 100644 --- a/data/maps/FourIsland_PokemonCenter_1F/scripts.inc +++ b/data/maps/FourIsland_PokemonCenter_1F/scripts.inc @@ -7,21 +7,21 @@ FourIsland_PokemonCenter_1F_OnTransition:: @ 8171BF5 setrespawn SPAWN_FOUR_ISLAND end -FourIsland_PokemonCenter_1F_EventScript_171BF9:: @ 8171BF9 +FourIsland_PokemonCenter_1F_EventScript_Nurse:: @ 8171BF9 lock faceplayer call EventScript_PkmnCenterNurse release end -FourIsland_PokemonCenter_1F_EventScript_171C02:: @ 8171C02 - msgbox gUnknown_81A3627, MSGBOX_NPC +FourIsland_PokemonCenter_1F_EventScript_Man:: @ 8171C02 + msgbox FourIsland_PokemonCenter_1F_Text_RareIceMonsInCave, MSGBOX_NPC end -FourIsland_PokemonCenter_1F_EventScript_171C0B:: @ 8171C0B - msgbox gUnknown_81A3697, MSGBOX_NPC +FourIsland_PokemonCenter_1F_EventScript_Woman:: @ 8171C0B + msgbox FourIsland_PokemonCenter_1F_Text_DayCarePeopleFoundEggBefore, MSGBOX_NPC end -FourIsland_PokemonCenter_1F_EventScript_171C14:: @ 8171C14 - msgbox gUnknown_81A3734, MSGBOX_NPC +FourIsland_PokemonCenter_1F_EventScript_Gentleman:: @ 8171C14 + msgbox FourIsland_PokemonCenter_1F_Text_NewPokemonJournalHasntArrived, MSGBOX_NPC end diff --git a/data/maps/FourIsland_PokemonCenter_1F/text.inc b/data/maps/FourIsland_PokemonCenter_1F/text.inc index 954aabd96..43e6cacf6 100644 --- a/data/maps/FourIsland_PokemonCenter_1F/text.inc +++ b/data/maps/FourIsland_PokemonCenter_1F/text.inc @@ -1,3 +1,4 @@ +@ The 5 texts below are supposed to be in FourIsland_House1 Text_BodySlamTeach:: @ 81A3505 .string "Ready?\n" .string "Boing!\p" @@ -19,17 +20,17 @@ Text_BodySlamWhichMon:: @ 81A35DA Text_BodySlamTaught:: @ 81A3609 .string "Boioing!$" -Text_1A3612:: @ 81A3612 +FourIsland_House1_Text_FatMan:: @ 81A3612 .string "それ ぼよーん!\n" .string "おまえ おもいなあー!$" -gUnknown_81A3627:: @ 81A3627 +FourIsland_PokemonCenter_1F_Text_RareIceMonsInCave:: @ 81A3627 .string "There's a rare kind of ICE POKéMON\n" .string "that lives in the cave.\p" .string "We get a lot of visitors hoping to\n" .string "see that POKéMON.$" -gUnknown_81A3697:: @ 81A3697 +FourIsland_PokemonCenter_1F_Text_DayCarePeopleFoundEggBefore:: @ 81A3697 .string "Oh? A POKéMON EGG?\n" .string "…I have no idea.\p" .string "…Oh, wait. The DAY-CARE people\n" @@ -37,7 +38,7 @@ gUnknown_81A3697:: @ 81A3697 .string "They said that they'd found EGGS\n" .string "before on their property.$" -gUnknown_81A3734:: @ 81A3734 +FourIsland_PokemonCenter_1F_Text_NewPokemonJournalHasntArrived:: @ 81A3734 .string "What's this?\p" .string "The new POKéMON JOURNAL hasn't\n" .string "arrived on this island?$" diff --git a/data/maps/FourIsland_PokemonCenter_2F/map.json b/data/maps/FourIsland_PokemonCenter_2F/map.json index 2e201dafc..b6cdf9483 100644 --- a/data/maps/FourIsland_PokemonCenter_2F/map.json +++ b/data/maps/FourIsland_PokemonCenter_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_FOUR_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 6, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 2, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 10, "y": 2, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MG_DELIVERYMAN", + "graphics_id": "OBJ_EVENT_GFX_MG_DELIVERYMAN", "x": 1, "y": 2, "elevation": 3, diff --git a/data/maps/FourIsland_PokemonDayCare/map.json b/data/maps/FourIsland_PokemonDayCare/map.json index 38520cc63..b026f7030 100644 --- a/data/maps/FourIsland_PokemonDayCare/map.json +++ b/data/maps/FourIsland_PokemonDayCare/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_FOUR_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_OLD_WOMAN", + "graphics_id": "OBJ_EVENT_GFX_OLD_WOMAN", "x": 2, "y": 2, "elevation": 3, diff --git a/data/maps/FourIsland_PokemonDayCare/scripts.inc b/data/maps/FourIsland_PokemonDayCare/scripts.inc index c6cf95b20..dc04c477f 100644 --- a/data/maps/FourIsland_PokemonDayCare/scripts.inc +++ b/data/maps/FourIsland_PokemonDayCare/scripts.inc @@ -138,7 +138,7 @@ FourIsland_PokemonDayCare_RetrieveMon:: @ 8171B05 playmoncry VAR_RESULT, 0 textcolor 3 msgbox DayCare_Text_TookBackMon - call EventScript_1A6675 + call EventScript_RestorePrevTextColor waitmoncry specialvar VAR_RESULT, GetDaycareState compare VAR_RESULT, DAYCARE_ONE_MON diff --git a/data/maps/FuchsiaCity/map.json b/data/maps/FuchsiaCity/map.json index 710940882..89f795961 100644 --- a/data/maps/FuchsiaCity/map.json +++ b/data/maps/FuchsiaCity/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_FUCHSIA_CITY", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_1", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_TOWN", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ROUTE19", @@ -30,7 +32,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_FAT_MAN", + "graphics_id": "OBJ_EVENT_GFX_FAT_MAN", "x": 37, "y": 17, "elevation": 3, @@ -43,7 +45,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SLOWPOKE", + "graphics_id": "OBJ_EVENT_GFX_SLOWPOKE", "x": 36, "y": 15, "elevation": 3, @@ -56,7 +58,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_VOLTORB", + "graphics_id": "OBJ_EVENT_GFX_VOLTORB", "x": 33, "y": 8, "elevation": 3, @@ -69,7 +71,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 33, "y": 11, "elevation": 3, @@ -82,7 +84,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHANSEY", + "graphics_id": "OBJ_EVENT_GFX_CHANSEY", "x": 39, "y": 8, "elevation": 3, @@ -95,7 +97,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_BOY", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_BOY", "x": 14, "y": 15, "elevation": 3, @@ -108,7 +110,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LAPRAS", + "graphics_id": "OBJ_EVENT_GFX_LAPRAS", "x": 12, "y": 20, "elevation": 1, @@ -121,7 +123,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 36, "y": 20, "elevation": 3, @@ -134,7 +136,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_0", + "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 8, "y": 8, "elevation": 1, @@ -147,7 +149,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_KANGASKHAN", + "graphics_id": "OBJ_EVENT_GFX_KANGASKHAN", "x": 16, "y": 9, "elevation": 3, @@ -160,7 +162,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 30, "y": 10, "elevation": 3, @@ -169,11 +171,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 21, "y": 13, "elevation": 3, @@ -182,11 +184,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_13" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 32, "y": 16, "elevation": 3, @@ -195,11 +197,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_14" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 24, "y": 22, "elevation": 3, @@ -208,11 +210,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_15" }, { - "graphics_id": "OBJECT_EVENT_GFX_BUG_CATCHER", + "graphics_id": "OBJ_EVENT_GFX_BUG_CATCHER", "x": 15, "y": 11, "elevation": 3, @@ -225,7 +227,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 40, "y": 6, "elevation": 3, @@ -320,80 +322,91 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 31, "y": 18, "elevation": 3, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "FuchsiaCity_EventScript_CitySign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 26, "y": 18, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "FuchsiaCity_EventScript_SafariZoneSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 32, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "FuchsiaCity_EventScript_GymSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 31, "y": 31, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "FuchsiaCity_EventScript_WardensHomeSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 35, "y": 10, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "FuchsiaCity_EventScript_VoltorbSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 38, "y": 16, "elevation": 3, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "FuchsiaCity_EventScript_SlowpokeSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 41, "y": 10, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "FuchsiaCity_EventScript_ChanseySign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 17, "y": 10, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "FuchsiaCity_EventScript_KangaskhanSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 11, "y": 10, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "FuchsiaCity_EventScript_FossilMonSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 17, "y": 18, "elevation": 3, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "FuchsiaCity_EventScript_LaprasSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 22, "y": 7, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "FuchsiaCity_EventScript_SafariGameSign" }, { diff --git a/data/maps/FuchsiaCity/scripts.inc b/data/maps/FuchsiaCity/scripts.inc index 5f0875db8..0e4b9740f 100644 --- a/data/maps/FuchsiaCity/scripts.inc +++ b/data/maps/FuchsiaCity/scripts.inc @@ -9,11 +9,11 @@ FuchsiaCity_OnTransition:: @ 8166D7B end FuchsicaCity_EventScript_SetOmanyteGfx:: @ 8166D91 - setvar VAR_OBJ_GFX_ID_0, OBJECT_EVENT_GFX_OMANYTE + setvar VAR_OBJ_GFX_ID_0, OBJ_EVENT_GFX_OMANYTE return FuchsiaCity_EventScript_SetKabutoGfx:: @ 8166D97 - setvar VAR_OBJ_GFX_ID_0, OBJECT_EVENT_GFX_KABUTO + setvar VAR_OBJ_GFX_ID_0, OBJ_EVENT_GFX_KABUTO return FuchsiaCity_EventScript_LittleBoy:: @ 8166D9D @@ -71,7 +71,7 @@ FuchsiaCity_EventScript_GymSign:: @ 8166E07 FuchsiaCity_EventScript_ChanseySign:: @ 8166E1F lockall setvar VAR_0x8004, SPECIES_CHANSEY - special Special_SetSeenMon + special SetSeenMon drawmonpic SPECIES_CHANSEY, 10, 3 msgbox FuchsiaCity_Text_ChanseySign erasemonpic @@ -81,7 +81,7 @@ FuchsiaCity_EventScript_ChanseySign:: @ 8166E1F FuchsiaCity_EventScript_VoltorbSign:: @ 8166E38 lockall setvar VAR_0x8004, SPECIES_VOLTORB - special Special_SetSeenMon + special SetSeenMon drawmonpic SPECIES_VOLTORB, 10, 3 msgbox FuchsiaCity_Text_VoltorbSign erasemonpic @@ -91,7 +91,7 @@ FuchsiaCity_EventScript_VoltorbSign:: @ 8166E38 FuchsiaCity_EventScript_KangaskhanSign:: @ 8166E51 lockall setvar VAR_0x8004, SPECIES_KANGASKHAN - special Special_SetSeenMon + special SetSeenMon drawmonpic SPECIES_KANGASKHAN, 10, 3 msgbox FuchsiaCity_Text_KangaskhanSign erasemonpic @@ -101,7 +101,7 @@ FuchsiaCity_EventScript_KangaskhanSign:: @ 8166E51 FuchsiaCity_EventScript_SlowpokeSign:: @ 8166E6A lockall setvar VAR_0x8004, SPECIES_SLOWPOKE - special Special_SetSeenMon + special SetSeenMon drawmonpic SPECIES_SLOWPOKE, 10, 3 msgbox FuchsiaCity_Text_SlowpokeSign erasemonpic @@ -111,7 +111,7 @@ FuchsiaCity_EventScript_SlowpokeSign:: @ 8166E6A FuchsiaCity_EventScript_LaprasSign:: @ 8166E83 lockall setvar VAR_0x8004, SPECIES_LAPRAS - special Special_SetSeenMon + special SetSeenMon drawmonpic SPECIES_LAPRAS, 10, 3 msgbox FuchsiaCity_Text_LaprasSign erasemonpic @@ -122,7 +122,7 @@ FuchsiaCity_EventScript_FossilMonSign:: @ 8166E9C lockall goto_if_set FLAG_GOT_DOME_FOSSIL, FuchsiaCity_EventScript_OmanyteSign setvar VAR_0x8004, SPECIES_KABUTO - special Special_SetSeenMon + special SetSeenMon drawmonpic SPECIES_KABUTO, 10, 3 msgbox FuchsiaCity_Text_KabutoSign erasemonpic @@ -131,7 +131,7 @@ FuchsiaCity_EventScript_FossilMonSign:: @ 8166E9C FuchsiaCity_EventScript_OmanyteSign:: @ 8166EBE setvar VAR_0x8004, SPECIES_OMANYTE - special Special_SetSeenMon + special SetSeenMon drawmonpic SPECIES_OMANYTE, 10, 3 msgbox FuchsiaCity_Text_OmanyteSign erasemonpic diff --git a/data/maps/FuchsiaCity_Gym/map.json b/data/maps/FuchsiaCity_Gym/map.json index 9054b5df0..a7a63cf15 100644 --- a/data/maps/FuchsiaCity_Gym/map.json +++ b/data/maps/FuchsiaCity_Gym/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_FUCHSIA_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_1", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 12, "y": 16, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 2, "y": 9, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 11, "y": 11, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 13, "y": 4, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 4, "y": 6, "elevation": 3, @@ -79,7 +81,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 2, "y": 16, "elevation": 3, @@ -92,7 +94,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_KOGA", + "graphics_id": "OBJ_EVENT_GFX_KOGA", "x": 7, "y": 13, "elevation": 3, @@ -105,7 +107,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GYM_GUY", + "graphics_id": "OBJ_EVENT_GFX_GYM_GUY", "x": 11, "y": 19, "elevation": 3, @@ -144,17 +146,19 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 19, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "FuchsiaCity_Gym_EventScript_GymStatue" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 10, "y": 19, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "FuchsiaCity_Gym_EventScript_GymStatue" } ] diff --git a/data/maps/FuchsiaCity_House1/map.json b/data/maps/FuchsiaCity_House1/map.json index dea412ed2..f54074598 100644 --- a/data/maps/FuchsiaCity_House1/map.json +++ b/data/maps/FuchsiaCity_House1/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_FUCHSIA_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 7, "y": 4, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 1, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_BOY", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_BOY", "x": 2, "y": 5, "elevation": 3, diff --git a/data/maps/FuchsiaCity_House2/map.json b/data/maps/FuchsiaCity_House2/map.json index ff4c45b1c..2d6516978 100644 --- a/data/maps/FuchsiaCity_House2/map.json +++ b/data/maps/FuchsiaCity_House2/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_FUCHSIA_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_FISHER", + "graphics_id": "OBJ_EVENT_GFX_FISHER", "x": 6, "y": 5, "elevation": 3, diff --git a/data/maps/FuchsiaCity_House3/map.json b/data/maps/FuchsiaCity_House3/map.json index 688224b15..ac3b1ce35 100644 --- a/data/maps/FuchsiaCity_House3/map.json +++ b/data/maps/FuchsiaCity_House3/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_FUCHSIA_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 4, "y": 4, "elevation": 3, diff --git a/data/maps/FuchsiaCity_House3/scripts.inc b/data/maps/FuchsiaCity_House3/scripts.inc index 5af270538..d392f0aaf 100644 --- a/data/maps/FuchsiaCity_House3/scripts.inc +++ b/data/maps/FuchsiaCity_House3/scripts.inc @@ -12,23 +12,23 @@ FuchsiaCity_House3_EventScript_MoveDeleter:: @ 816D895 FuchsiaCity_House3_EventScript_ChooseMonForMoveDeleter:: @ 816D8B0 msgbox FuchsiaCity_House3_Text_WhichMonShouldForgetMove - special Special_ChooseMonFromParty + special ChoosePartyMon waitstate compare VAR_0x8004, PARTY_SIZE goto_if_ge FuchsiaCity_House3_EventScript_CancelForgetMove - special Special_IsSelectedMonEgg + special IsSelectedMonEgg compare VAR_RESULT, TRUE goto_if_eq FuchsiaCity_House3_EventScript_CantForgetMoveEgg - special Special_GetNumMovesSelectedMonHas + special GetNumMovesSelectedMonHas compare VAR_RESULT, 1 goto_if_eq FuchsiaCity_House3_EventScript_CantForgetOnlyMove msgbox FuchsiaCity_House3_Text_WhichMoveShouldBeForgotten fadescreen FADE_TO_BLACK - special Special_SelectMove + special SelectMoveDeleterMove fadescreen FADE_FROM_BLACK compare VAR_0x8005, MAX_MON_MOVES goto_if_eq FuchsiaCity_House3_EventScript_ChooseMonForMoveDeleter - special Special_BufferMoveDeleterNicknameAndMove + special BufferMoveDeleterNicknameAndMove msgbox FuchsiaCity_House3_Text_MonsMoveShouldBeForgotten, MSGBOX_YESNO compare VAR_RESULT, YES goto_if_eq FuchsiaCity_House3_EventScript_ForgetMove @@ -36,7 +36,7 @@ FuchsiaCity_House3_EventScript_ChooseMonForMoveDeleter:: @ 816D8B0 end FuchsiaCity_House3_EventScript_ForgetMove:: @ 816D919 - special Special_MoveDeleterForgetMove + special MoveDeleterForgetMove playfanfare MUS_ME_WASURE waitfanfare msgbox FuchsiaCity_House3_Text_MonHasForgottenMoveCompletely @@ -44,7 +44,7 @@ FuchsiaCity_House3_EventScript_ForgetMove:: @ 816D919 end FuchsiaCity_House3_EventScript_CantForgetOnlyMove:: @ 816D92A - special Special_BufferMoveDeleterNicknameAndMove + special BufferMoveDeleterNicknameAndMove msgbox FuchsiaCity_House3_Text_MonOnlyKnowsOneMove release end diff --git a/data/maps/FuchsiaCity_Mart/map.json b/data/maps/FuchsiaCity_Mart/map.json index 43a38c753..64f2bfc92 100644 --- a/data/maps/FuchsiaCity_Mart/map.json +++ b/data/maps/FuchsiaCity_Mart/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_FUCHSIA_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CLERK", + "graphics_id": "OBJ_EVENT_GFX_CLERK", "x": 2, "y": 3, "elevation": 0, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 6, "y": 3, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_F", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_F", "x": 9, "y": 5, "elevation": 3, diff --git a/data/maps/FuchsiaCity_PokemonCenter_1F/map.json b/data/maps/FuchsiaCity_PokemonCenter_1F/map.json index 9cc66692f..253b544ce 100644 --- a/data/maps/FuchsiaCity_PokemonCenter_1F/map.json +++ b/data/maps/FuchsiaCity_PokemonCenter_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_FUCHSIA_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_NURSE", + "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 12, "y": 5, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_F", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_F", "x": 13, "y": 3, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 4, "y": 8, "elevation": 3, diff --git a/data/maps/FuchsiaCity_PokemonCenter_2F/map.json b/data/maps/FuchsiaCity_PokemonCenter_2F/map.json index b1ba15c2f..c6069c491 100644 --- a/data/maps/FuchsiaCity_PokemonCenter_2F/map.json +++ b/data/maps/FuchsiaCity_PokemonCenter_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_FUCHSIA_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 6, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 2, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 10, "y": 2, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MG_DELIVERYMAN", + "graphics_id": "OBJ_EVENT_GFX_MG_DELIVERYMAN", "x": 1, "y": 2, "elevation": 3, diff --git a/data/maps/FuchsiaCity_SafariZone_Entrance/map.json b/data/maps/FuchsiaCity_SafariZone_Entrance/map.json index 04d51dae8..b0e5ce5db 100644 --- a/data/maps/FuchsiaCity_SafariZone_Entrance/map.json +++ b/data/maps/FuchsiaCity_SafariZone_Entrance/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_FUCHSIA_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 7, "y": 3, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 1, "y": 6, "elevation": 3, diff --git a/data/maps/FuchsiaCity_SafariZone_Entrance/scripts.inc b/data/maps/FuchsiaCity_SafariZone_Entrance/scripts.inc index 863ddbd48..5b0f06b08 100644 --- a/data/maps/FuchsiaCity_SafariZone_Entrance/scripts.inc +++ b/data/maps/FuchsiaCity_SafariZone_Entrance/scripts.inc @@ -123,7 +123,7 @@ FuchsiaCity_SafariZone_Entrance_EventScript_TryEnterSafariZone:: @ 816D3CA playfanfare MUS_FANFA1 message FuchsiaCity_SafariZone_Entrance_Text_PlayerReceived30SafariBalls waitfanfare - call EventScript_1A6675 + call EventScript_RestorePrevTextColor msgbox FuchsiaCity_SafariZone_Entrance_Text_CallYouOnPAWhenYouRunOut closemessage hidemoneybox 0, 0 @@ -158,7 +158,7 @@ FuchsiaCity_SafariZone_Entrance_EventScript_CheckSpaceForMons:: @ 816D462 getpartysize compare VAR_RESULT, PARTY_SIZE goto_if_ne EventScript_Return - specialvar VAR_RESULT, Special_IsThereRoomInAnyBoxForMorePokemon + specialvar VAR_RESULT, IsThereRoomInAnyBoxForMorePokemon compare VAR_RESULT, TRUE goto_if_eq EventScript_Return msgbox SafariZone_Text_ExcuseMeYourPCBoxIsFull diff --git a/data/maps/FuchsiaCity_SafariZone_Office/map.json b/data/maps/FuchsiaCity_SafariZone_Office/map.json index be1abfced..eb5d1c326 100644 --- a/data/maps/FuchsiaCity_SafariZone_Office/map.json +++ b/data/maps/FuchsiaCity_SafariZone_Office/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_FUCHSIA_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 2, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 12, "y": 3, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 6, "y": 4, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 10, "y": 8, "elevation": 3, diff --git a/data/maps/FuchsiaCity_WardensHouse/map.json b/data/maps/FuchsiaCity_WardensHouse/map.json index 00f33363c..da8c3259f 100644 --- a/data/maps/FuchsiaCity_WardensHouse/map.json +++ b/data/maps/FuchsiaCity_WardensHouse/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_FUCHSIA_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_2", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_2", "x": 3, "y": 5, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 11, "y": 6, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 11, "y": 5, "elevation": 3, @@ -92,31 +94,35 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 7, "y": 4, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "FuchsiaCity_WardensHouse_EventScript_DisplaySign2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 4, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "FuchsiaCity_WardensHouse_EventScript_DisplaySign1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 4, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "FuchsiaCity_WardensHouse_EventScript_DisplaySign1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 6, "y": 4, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "FuchsiaCity_WardensHouse_EventScript_DisplaySign2" } ] diff --git a/data/maps/FuchsiaCity_WardensHouse/scripts.inc b/data/maps/FuchsiaCity_WardensHouse/scripts.inc index 141101e1b..1f0c891d6 100644 --- a/data/maps/FuchsiaCity_WardensHouse/scripts.inc +++ b/data/maps/FuchsiaCity_WardensHouse/scripts.inc @@ -21,7 +21,7 @@ FuchsiaCity_WardensHouse_EventScript_GiveGoldTeeth:: @ 816D780 waitmessage waitfanfare msgbox FuchsiaCity_WardensHouse_Text_WardenPoppedInHisTeeth - call EventScript_1A6675 + call EventScript_RestorePrevTextColor checkplayergender compare VAR_RESULT, MALE call_if_eq FuchsiaCity_WardensHouse_EventScript_WardenThanksMale diff --git a/data/maps/IndigoPlateau_Exterior/map.json b/data/maps/IndigoPlateau_Exterior/map.json index c5bb07e8d..1512276d4 100644 --- a/data/maps/IndigoPlateau_Exterior/map.json +++ b/data/maps/IndigoPlateau_Exterior/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_INDIGO_PLATEAU", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_1", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_TOWN", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ROUTE23", @@ -20,7 +22,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BLUE", + "graphics_id": "OBJ_EVENT_GFX_BLUE", "x": 11, "y": 6, "elevation": 0, @@ -33,7 +35,7 @@ "flag": "FLAG_HIDE_CREDITS_RIVAL" }, { - "graphics_id": "OBJECT_EVENT_GFX_PROF_OAK", + "graphics_id": "OBJ_EVENT_GFX_PROF_OAK", "x": 11, "y": 6, "elevation": 0, diff --git a/data/maps/IndigoPlateau_Exterior/scripts.inc b/data/maps/IndigoPlateau_Exterior/scripts.inc index bc9827037..ecea7899a 100644 --- a/data/maps/IndigoPlateau_Exterior/scripts.inc +++ b/data/maps/IndigoPlateau_Exterior/scripts.inc @@ -1,3 +1,6 @@ +.equ LOCALID_RIVAL, 1 +.equ LOCALID_PROF_OAK, 2 + IndigoPlateau_Exterior_MapScripts:: @ 816723B map_script MAP_SCRIPT_ON_TRANSITION, IndigoPlateau_Exterior_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, IndigoPlateau_Exterior_OnFrame @@ -6,22 +9,23 @@ IndigoPlateau_Exterior_MapScripts:: @ 816723B IndigoPlateau_Exterior_OnTransition:: @ 8167246 setworldmapflag FLAG_WORLD_MAP_INDIGO_PLATEAU_EXTERIOR compare VAR_MAP_SCENE_INDIGO_PLATEAU_EXTERIOR, 1 - call_if_eq EventScript_IndigoPlateau_Exterior_PlayCreditsMusic + call_if_eq IndigoPlateau_Exterior_EventScript_PlayCreditsMusic end -EventScript_IndigoPlateau_Exterior_PlayCreditsMusic:: @ 8167255 +IndigoPlateau_Exterior_EventScript_PlayCreditsMusic:: @ 8167255 playbgm MUS_ENDING, 0 return IndigoPlateau_Exterior_OnFrame:: @ 816725A - map_script_2 VAR_MAP_SCENE_INDIGO_PLATEAU_EXTERIOR, 1, EventScript_IndigoPlateau_Exterior_Credits + map_script_2 VAR_MAP_SCENE_INDIGO_PLATEAU_EXTERIOR, 1, IndigoPlateau_Exterior_EventScript_Credits .2byte 0 -EventScript_IndigoPlateau_Exterior_Credits:: @ 8167264 - @ After beating the champion, you are warped to the main - @ entrance of Indigo Plateau. This script starts running - @ immediately after your walking animation. - @ The script is timed to the music. + +@ After beating the champion, you are warped to the main +@ entrance of Indigo Plateau. This script starts running +@ immediately after your walking animation. +@ The script is timed to the music. +IndigoPlateau_Exterior_EventScript_Credits:: @ 8167264 lockall delay 105 @@ -29,60 +33,60 @@ EventScript_IndigoPlateau_Exterior_Credits:: @ 8167264 opendoor 11, 6 waitdooranim special SpawnCameraObject - addobject 1 - applymovement 1, Movement_167346 - applymovement OBJ_EVENT_ID_PLAYER, Movement_167337 + addobject LOCALID_RIVAL + applymovement LOCALID_RIVAL, IndigoPlateau_Exterior_Movement_RivalExitBuilding + applymovement OBJ_EVENT_ID_PLAYER, IndigoPlateau_Exterior_Movement_PushPlayerOutOfWay waitmovement 0 closedoor 11, 6 waitdooranim @ Rival runs off - applymovement OBJ_EVENT_ID_PLAYER, Movement_16731B - applymovement 1, Movement_16733E + applymovement OBJ_EVENT_ID_PLAYER, IndigoPlateau_Exterior_Movement_PlayerWatchRivalLeave + applymovement LOCALID_RIVAL, IndigoPlateau_Exterior_Movement_RivalLeave waitmovement 0 delay 100 @ Oak exits building opendoor 11, 6 waitdooranim - addobject 2 - applymovement 2, Movement_16735D + addobject LOCALID_PROF_OAK + applymovement LOCALID_PROF_OAK, IndigoPlateau_Exterior_Movement_OakExitBuilding waitmovement 0 closedoor 11, 6 waitdooranim delay 160 @ Oak looks at player, then walks off - applymovement OBJ_EVENT_ID_PLAYER, Movement_16731F - applymovement 2, Movement_167348 + applymovement OBJ_EVENT_ID_PLAYER, IndigoPlateau_Exterior_Movement_PlayerWatchOakLeave + applymovement LOCALID_PROF_OAK, IndigoPlateau_Exterior_Movement_OakLeave waitmovement 0 delay 100 - applymovement OBJ_EVENT_ID_PLAYER, Movement_16732E + + @ Player begin to leave + applymovement OBJ_EVENT_ID_PLAYER, IndigoPlateau_Exterior_Movement_PlayerBeginLeave waitmovement 0 delay 155 - - @ Player turns to face the League - applymovement OBJ_EVENT_ID_PLAYER, Movement_16733C + applymovement OBJ_EVENT_ID_PLAYER, IndigoPlateau_Exterior_Movement_PlayerFaceLeague waitmovement 0 delay 90 @ Player runs off - applymovement OBJ_EVENT_ID_PLAYER, Movement_167335 + applymovement OBJ_EVENT_ID_PLAYER, IndigoPlateau_Exterior_Movement_PlayerTurnAround waitmovement 0 - applymovement OBJ_EVENT_ID_PLAYER, Movement_167311 + applymovement OBJ_EVENT_ID_PLAYER, IndigoPlateau_Exterior_Movement_PlayerLeave waitmovement 0 @ Reset the map state and roll the credits special RemoveCameraObject setvar VAR_MAP_SCENE_INDIGO_PLATEAU_EXTERIOR, 0 - removeobject 1 - removeobject 2 - special Special_Credits @ noreturn + removeobject LOCALID_RIVAL + removeobject LOCALID_PROF_OAK + special DoCredits waitstate releaseall end -Movement_167311:: @ 8167311 +IndigoPlateau_Exterior_Movement_PlayerLeave:: @ 8167311 player_run_down player_run_down player_run_down @@ -91,18 +95,19 @@ Movement_167311:: @ 8167311 player_run_down step_end -Movement_167318:: @ 8167318 +@ Unused +IndigoPlateau_Exterior_Movement_PlayerExitBuilding:: @ 8167318 walk_down walk_down step_end -Movement_16731B:: @ 816731B +IndigoPlateau_Exterior_Movement_PlayerWatchRivalLeave:: @ 816731B delay_16 delay_4 walk_in_place_fastest_down step_end -Movement_16731F:: @ 816731F +IndigoPlateau_Exterior_Movement_PlayerWatchOakLeave:: @ 816731F delay_8 walk_in_place_fastest_right delay_16 @@ -119,7 +124,7 @@ Movement_16731F:: @ 816731F walk_in_place_fastest_down step_end -Movement_16732E:: @ 816732E +IndigoPlateau_Exterior_Movement_PlayerBeginLeave:: @ 816732E walk_right delay_16 walk_down @@ -128,22 +133,22 @@ Movement_16732E:: @ 816732E delay_16 step_end -Movement_167335:: @ 8167335 +IndigoPlateau_Exterior_Movement_PlayerTurnAround:: @ 8167335 walk_in_place_fastest_down step_end -Movement_167337:: @ 8167337 +IndigoPlateau_Exterior_Movement_PushPlayerOutOfWay:: @ 8167337 face_right lock_facing_direction walk_left unlock_facing_direction step_end -Movement_16733C:: @ 816733C +IndigoPlateau_Exterior_Movement_PlayerFaceLeague:: @ 816733C walk_in_place_fastest_up step_end -Movement_16733E:: @ 816733E +IndigoPlateau_Exterior_Movement_RivalLeave:: @ 816733E walk_fast_down walk_fast_down walk_fast_down @@ -153,11 +158,11 @@ Movement_16733E:: @ 816733E walk_fast_down step_end -Movement_167346:: @ 8167346 +IndigoPlateau_Exterior_Movement_RivalExitBuilding:: @ 8167346 walk_fast_down step_end -Movement_167348:: @ 8167348 +IndigoPlateau_Exterior_Movement_OakLeave:: @ 8167348 walk_in_place_fastest_left delay_16 delay_16 @@ -180,6 +185,6 @@ Movement_167348:: @ 8167348 walk_down step_end -Movement_16735D:: @ 816735D +IndigoPlateau_Exterior_Movement_OakExitBuilding:: @ 816735D walk_down step_end diff --git a/data/maps/IndigoPlateau_PokemonCenter_1F/map.json b/data/maps/IndigoPlateau_PokemonCenter_1F/map.json index f214403c3..ec32e96ec 100644 --- a/data/maps/IndigoPlateau_PokemonCenter_1F/map.json +++ b/data/maps/IndigoPlateau_PokemonCenter_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_INDIGO_PLATEAU", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_1", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CLERK", + "graphics_id": "OBJ_EVENT_GFX_CLERK", "x": 0, "y": 7, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "IndigoPlateau_PokemonCenter_1F_EventScript_16EACC", + "script": "IndigoPlateau_PokemonCenter_1F_EventScript_Clerk", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_NURSE", + "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 13, "y": 10, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "IndigoPlateau_PokemonCenter_1F_EventScript_16EB06", + "script": "IndigoPlateau_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GYM_GUY", + "graphics_id": "OBJ_EVENT_GFX_GYM_GUY", "x": 7, "y": 14, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "IndigoPlateau_PokemonCenter_1F_EventScript_16EAC3", + "script": "IndigoPlateau_PokemonCenter_1F_EventScript_GymGuy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_F", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_F", "x": 5, "y": 3, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "IndigoPlateau_PokemonCenter_1F_EventScript_16EA8A", + "script": "IndigoPlateau_PokemonCenter_1F_EventScript_DoorGuard", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BLACKBELT", + "graphics_id": "OBJ_EVENT_GFX_BLACKBELT", "x": 23, "y": 13, "elevation": 3, @@ -75,7 +77,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "IndigoPlateau_PokemonCenter_1F_EventScript_1ACFAE", + "script": "IndigoPlateau_PokemonCenter_1F_EventScript_BlackBelt", "flag": "FLAG_HIDE_POSTGAME_GOSSIPERS" }, { @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "IndigoPlateau_PokemonCenter_1F_EventScript_1AD06C", + "script": "IndigoPlateau_PokemonCenter_1F_EventScript_PokemonJournal", "flag": "FLAG_HIDE_POSTGAME_GOSSIPERS" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_M", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_M", "x": 16, "y": 15, "elevation": 3, @@ -101,7 +103,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "IndigoPlateau_PokemonCenter_1F_EventScript_1AD087", + "script": "IndigoPlateau_PokemonCenter_1F_EventScript_CooltrainerM", "flag": "FLAG_HIDE_POSTGAME_GOSSIPERS" }, { @@ -114,7 +116,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "IndigoPlateau_PokemonCenter_1F_EventScript_1AD06C", + "script": "IndigoPlateau_PokemonCenter_1F_EventScript_PokemonJournal", "flag": "FLAG_HIDE_POSTGAME_GOSSIPERS" } ], diff --git a/data/maps/IndigoPlateau_PokemonCenter_1F/scripts.inc b/data/maps/IndigoPlateau_PokemonCenter_1F/scripts.inc index 67a3e4f6a..e0523d2ee 100644 --- a/data/maps/IndigoPlateau_PokemonCenter_1F/scripts.inc +++ b/data/maps/IndigoPlateau_PokemonCenter_1F/scripts.inc @@ -7,52 +7,52 @@ IndigoPlateau_PokemonCenter_1F_OnTransition:: @ 816EA65 setrespawn SPAWN_INDIGO_PLATEAU specialvar VAR_RESULT, IsNationalPokedexEnabled compare VAR_RESULT, TRUE - call_if_eq EventScript_16EA79 + call_if_eq IndigoPlateau_PokemonCenter_1F_EventScript_CheckBlockDoor end -EventScript_16EA79:: @ 816EA79 +IndigoPlateau_PokemonCenter_1F_EventScript_CheckBlockDoor:: @ 816EA79 goto_if_set FLAG_SYS_CAN_LINK_WITH_RS, EventScript_Return setobjectxyperm 4, 4, 2 return -IndigoPlateau_PokemonCenter_1F_EventScript_16EA8A:: @ 816EA8A +IndigoPlateau_PokemonCenter_1F_EventScript_DoorGuard:: @ 816EA8A lock faceplayer specialvar VAR_RESULT, IsNationalPokedexEnabled compare VAR_RESULT, TRUE - goto_if_eq EventScript_16EAA6 - msgbox gUnknown_819A8D8 + goto_if_eq IndigoPlateau_PokemonCenter_1F_EventScript_CheckSeviiIslandComplete + msgbox IndigoPlateau_PokemonCenter_1F_Text_FaceEliteFourGoodLuck release end -EventScript_16EAA6:: @ 816EAA6 - goto_if_set FLAG_SYS_CAN_LINK_WITH_RS, EventScript_16EAB9 - msgbox gUnknown_819A943 +IndigoPlateau_PokemonCenter_1F_EventScript_CheckSeviiIslandComplete:: @ 816EAA6 + goto_if_set FLAG_SYS_CAN_LINK_WITH_RS, IndigoPlateau_PokemonCenter_1F_EventScript_SeviiIslandComplete + msgbox IndigoPlateau_PokemonCenter_1F_Text_LoreleiIsAbsentClosedForTimeBeing release end -EventScript_16EAB9:: @ 816EAB9 - msgbox gUnknown_819A8D8 +IndigoPlateau_PokemonCenter_1F_EventScript_SeviiIslandComplete:: @ 816EAB9 + msgbox IndigoPlateau_PokemonCenter_1F_Text_FaceEliteFourGoodLuck release end -IndigoPlateau_PokemonCenter_1F_EventScript_16EAC3:: @ 816EAC3 - msgbox gUnknown_819A837, MSGBOX_NPC +IndigoPlateau_PokemonCenter_1F_EventScript_GymGuy:: @ 816EAC3 + msgbox IndigoPlateau_PokemonCenter_1F_Text_GymGuyAdvice, MSGBOX_NPC end -IndigoPlateau_PokemonCenter_1F_EventScript_16EACC:: @ 816EACC +IndigoPlateau_PokemonCenter_1F_EventScript_Clerk:: @ 816EACC goto_if_questlog EventScript_ReleaseEnd lock faceplayer message Text_MayIHelpYou waitmessage - pokemart Items_16EAF4 + pokemart IndigoPlateau_PokemonCenter_1F_Items msgbox Text_PleaseComeAgain release end .align 2 -Items_16EAF4:: @ 816EAF4 +IndigoPlateau_PokemonCenter_1F_Items:: @ 816EAF4 .2byte ITEM_ULTRA_BALL .2byte ITEM_GREAT_BALL .2byte ITEM_FULL_RESTORE @@ -64,7 +64,7 @@ Items_16EAF4:: @ 816EAF4 release end -IndigoPlateau_PokemonCenter_1F_EventScript_16EB06:: @ 816EB06 +IndigoPlateau_PokemonCenter_1F_EventScript_Nurse:: @ 816EB06 lock faceplayer call EventScript_PkmnCenterNurse diff --git a/data/maps/IndigoPlateau_PokemonCenter_1F/text.inc b/data/maps/IndigoPlateau_PokemonCenter_1F/text.inc index 7a4d158b3..192831d64 100644 --- a/data/maps/IndigoPlateau_PokemonCenter_1F/text.inc +++ b/data/maps/IndigoPlateau_PokemonCenter_1F/text.inc @@ -1,4 +1,4 @@ -gUnknown_819A837:: @ 819A837 +IndigoPlateau_PokemonCenter_1F_Text_GymGuyAdvice:: @ 819A837 .string "Yo!\n" .string "Champ in the making!\p" .string "At the POKéMON LEAGUE, you will\n" @@ -8,13 +8,13 @@ gUnknown_819A837:: @ 819A837 .string "This is it!\n" .string "Go for it!$" -gUnknown_819A8D8:: @ 819A8D8 +IndigoPlateau_PokemonCenter_1F_Text_FaceEliteFourGoodLuck:: @ 819A8D8 .string "From here on, you face the\n" .string "ELITE FOUR one by one.\p" .string "If you win, a door opens to the\n" .string "next TRAINER. Good luck!$" -gUnknown_819A943:: @ 819A943 +IndigoPlateau_PokemonCenter_1F_Text_LoreleiIsAbsentClosedForTimeBeing:: @ 819A943 .string "I am so sorry, but you've wasted\n" .string "your time coming here.\p" .string "LORELEI of the ELITE FOUR is\n" @@ -22,3 +22,22 @@ gUnknown_819A943:: @ 819A943 .string "As a result, the POKéMON LEAGUE is\n" .string "closed for the time being.$" +IndigoPlateau_PokemonCenter_1F_Text_AgathaWhuppedUs:: @ 819A9E7 + .string "AGATHA's GHOST-type POKéMON are\n" + .string "horrifically terrifying in toughness.\p" + .string "I took my FIGHTING-type POKéMON\n" + .string "and raised them to the max.\p" + .string "I went at AGATHA feeling pretty\n" + .string "confident, but she whupped us.\p" + .string "That old lady's also got a really\n" + .string "short fuse, too.\p" + .string "It doesn't take anything to get\n" + .string "that scary lady hollering.$" + +IndigoPlateau_PokemonCenter_1F_Text_LancesCousinGymLeaderFarAway:: @ 819AB16 + .string "Maybe becoming an ELITE FOUR\n" + .string "member is in the blood.\p" + .string "From what I've heard, LANCE has\n" + .string "a cousin who's a GYM LEADER\l" + .string "somewhere far away.$" + diff --git a/data/maps/IndigoPlateau_PokemonCenter_2F/map.json b/data/maps/IndigoPlateau_PokemonCenter_2F/map.json index 1fb14c475..eaea7e788 100644 --- a/data/maps/IndigoPlateau_PokemonCenter_2F/map.json +++ b/data/maps/IndigoPlateau_PokemonCenter_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_INDIGO_PLATEAU", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_1", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 6, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 2, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 10, "y": 2, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MG_DELIVERYMAN", + "graphics_id": "OBJ_EVENT_GFX_MG_DELIVERYMAN", "x": 1, "y": 2, "elevation": 3, diff --git a/data/maps/LavenderTown/map.json b/data/maps/LavenderTown/map.json index f689e96d5..1edbe2867 100644 --- a/data/maps/LavenderTown/map.json +++ b/data/maps/LavenderTown/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_LAVENDER_TOWN", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_1", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_TOWN", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ROUTE10", @@ -30,7 +32,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 19, "y": 10, "elevation": 3, @@ -43,7 +45,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 12, "y": 12, "elevation": 3, @@ -56,7 +58,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BOY", + "graphics_id": "OBJ_EVENT_GFX_BOY", "x": 10, "y": 7, "elevation": 3, @@ -116,31 +118,35 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 4, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "LavenderTown_EventScript_SilphScopeNotice" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 15, "y": 11, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "LavenderTown_EventScript_TownSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 21, "y": 7, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "LavenderTown_EventScript_PokemonTowerSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 7, "y": 11, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "LavenderTown_EventScript_VolunteerHouseSign" } ] diff --git a/data/maps/LavenderTown_House1/map.json b/data/maps/LavenderTown_House1/map.json index d065e65d6..79217f6b3 100644 --- a/data/maps/LavenderTown_House1/map.json +++ b/data/maps/LavenderTown_House1/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_LAVENDER_TOWN", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_F", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_F", "x": 4, "y": 4, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUBONE", + "graphics_id": "OBJ_EVENT_GFX_CUBONE", "x": 8, "y": 6, "elevation": 3, diff --git a/data/maps/LavenderTown_House2/map.json b/data/maps/LavenderTown_House2/map.json index 3c08f68a8..cdd978063 100644 --- a/data/maps/LavenderTown_House2/map.json +++ b/data/maps/LavenderTown_House2/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_LAVENDER_TOWN", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 4, "y": 4, "elevation": 3, diff --git a/data/maps/LavenderTown_House2/scripts.inc b/data/maps/LavenderTown_House2/scripts.inc index 762f89401..0f69c84f8 100644 --- a/data/maps/LavenderTown_House2/scripts.inc +++ b/data/maps/LavenderTown_House2/scripts.inc @@ -13,7 +13,7 @@ LavenderTown_House2_EventScript_NameRater:: @ 816B266 LavenderTown_House2_EventScript_ChooseMon:: @ 816B287 msgbox LavenderTown_House2_Text_CritiqueWhichMonsNickname - special Special_ChooseMonFromParty + special ChoosePartyMon waitstate compare VAR_0x8004, PARTY_SIZE goto_if_lt LavenderTown_House2_EventScript_CheckCanRateMon @@ -27,15 +27,15 @@ LavenderTown_House2_EventScript_DontRateNickname:: @ 816B2AA end LavenderTown_House2_EventScript_CheckCanRateMon:: @ 816B2B4 - specialvar VAR_RESULT, Special_GetSpeciesOfPartySlot_x8004 + specialvar VAR_RESULT, GetPartyMonSpecies compare VAR_RESULT, SPECIES_EGG goto_if_eq LavenderTown_House2_EventScript_CantNicknameEgg - special Special_GetMonNickname - special Special_IsMonOTIDNotPlayers + special BufferMonNickname + special IsMonOTIDNotPlayers compare VAR_RESULT, TRUE goto_if_eq LavenderTown_House2_EventScript_CantNicknameTradeMon - specialvar VAR_RESULT, Special_IsMonOTNameNotPlayers - special Special_GetMonNickname + specialvar VAR_RESULT, IsMonOTNameNotPlayers + special BufferMonNickname compare VAR_RESULT, TRUE goto_if_eq LavenderTown_House2_EventScript_CantNicknameTradeMon msgbox LavenderTown_House2_Text_GiveItANicerName, MSGBOX_YESNO @@ -59,7 +59,7 @@ LavenderTown_House2_EventScript_ChooseNewNickname:: @ 816B31B msgbox LavenderTown_House2_Text_WhatShallNewNicknameBe call EventScript_ChangePokemonNickname specialvar VAR_RESULT, NameRaterWasNicknameChanged - special Special_GetMonNickname + special BufferMonNickname compare VAR_RESULT, TRUE goto_if_eq LavenderTown_House2_EventScript_ChoseNewNickname msgbox LavenderTown_House2_Text_FromNowOnShallBeKnownAsSameName diff --git a/data/maps/LavenderTown_Mart/map.json b/data/maps/LavenderTown_Mart/map.json index f2603b3ad..8b80604c0 100644 --- a/data/maps/LavenderTown_Mart/map.json +++ b/data/maps/LavenderTown_Mart/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_LAVENDER_TOWN", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CLERK", + "graphics_id": "OBJ_EVENT_GFX_CLERK", "x": 2, "y": 3, "elevation": 0, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 6, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 9, "y": 2, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 9, "y": 5, "elevation": 3, diff --git a/data/maps/LavenderTown_PokemonCenter_1F/map.json b/data/maps/LavenderTown_PokemonCenter_1F/map.json index 1889732e1..7a5413d63 100644 --- a/data/maps/LavenderTown_PokemonCenter_1F/map.json +++ b/data/maps/LavenderTown_PokemonCenter_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_LAVENDER_TOWN", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_NURSE", + "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 9, "y": 4, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 5, "y": 6, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 2, "y": 2, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 14, "y": 6, "elevation": 3, diff --git a/data/maps/LavenderTown_PokemonCenter_2F/map.json b/data/maps/LavenderTown_PokemonCenter_2F/map.json index 07faa3edd..89034ca3e 100644 --- a/data/maps/LavenderTown_PokemonCenter_2F/map.json +++ b/data/maps/LavenderTown_PokemonCenter_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_LAVENDER_TOWN", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 6, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 2, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 10, "y": 2, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MG_DELIVERYMAN", + "graphics_id": "OBJ_EVENT_GFX_MG_DELIVERYMAN", "x": 1, "y": 2, "elevation": 3, diff --git a/data/maps/LavenderTown_VolunteerPokemonHouse/map.json b/data/maps/LavenderTown_VolunteerPokemonHouse/map.json index 0a210a361..7be052760 100644 --- a/data/maps/LavenderTown_VolunteerPokemonHouse/map.json +++ b/data/maps/LavenderTown_VolunteerPokemonHouse/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_LAVENDER_TOWN", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_MR_FUJI", + "graphics_id": "OBJ_EVENT_GFX_MR_FUJI", "x": 3, "y": 3, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "FLAG_HIDE_POKEHOUSE_FUJI" }, { - "graphics_id": "OBJECT_EVENT_GFX_NIDORINO", + "graphics_id": "OBJ_EVENT_GFX_NIDORINO", "x": 1, "y": 4, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PSYDUCK", + "graphics_id": "OBJ_EVENT_GFX_PSYDUCK", "x": 9, "y": 6, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_BOY", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_BOY", "x": 9, "y": 5, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 3, "y": 5, "elevation": 3, @@ -79,7 +81,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 7, "y": 2, "elevation": 3, @@ -118,24 +120,27 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 4, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "LavenderTown_VolunteerPokemonHouse_EventScript_PokemonFanMagazine" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 3, "y": 1, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "LavenderTown_VolunteerPokemonHouse_EventScript_Bookshelf" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 1, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "LavenderTown_VolunteerPokemonHouse_EventScript_Bookshelf" } ] diff --git a/data/maps/MtEmber_Exterior/map.json b/data/maps/MtEmber_Exterior/map.json index 62681bf5c..68e70f765 100644 --- a/data/maps/MtEmber_Exterior/map.json +++ b/data/maps/MtEmber_Exterior/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_MT_EMBER", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 29, "y": 45, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 41, "y": 40, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "FLAG_HIDE_MT_EMBER_EXTERIOR_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 42, "y": 40, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "FLAG_HIDE_MT_EMBER_EXTERIOR_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_BATTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_BATTLE_GIRL", "x": 22, "y": 35, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CAMPER", + "graphics_id": "OBJ_EVENT_GFX_CAMPER", "x": 15, "y": 28, "elevation": 3, @@ -79,7 +81,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 14, "y": 42, "elevation": 3, @@ -92,7 +94,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 29, "y": 41, "elevation": 3, @@ -101,11 +103,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 30, "y": 42, "elevation": 3, @@ -114,11 +116,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_13" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 22, "y": 45, "elevation": 3, @@ -127,11 +129,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 17, "y": 46, "elevation": 3, @@ -140,11 +142,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 36, "y": 14, "elevation": 3, @@ -153,11 +155,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 34, "y": 14, "elevation": 3, @@ -166,11 +168,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_14" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 36, "y": 15, "elevation": 3, @@ -179,11 +181,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 35, "y": 14, "elevation": 3, @@ -192,11 +194,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 35, "y": 17, "elevation": 3, @@ -205,11 +207,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 18, "y": 39, "elevation": 3, @@ -218,11 +220,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_16" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 19, "y": 40, "elevation": 3, @@ -231,11 +233,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_17" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 13, "y": 6, "elevation": 3, @@ -248,7 +250,7 @@ "flag": "FLAG_HIDE_MT_EMBER_EXTERIOR_ULTRA_BALL" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 38, "y": 10, "elevation": 3, @@ -261,7 +263,7 @@ "flag": "FLAG_HIDE_MT_EMBER_EXTERIOR_FIRE_STONE" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 48, "y": 20, "elevation": 3, diff --git a/data/maps/MtEmber_RubyPath_1F/map.json b/data/maps/MtEmber_RubyPath_1F/map.json index ef0279300..820cda01a 100644 --- a/data/maps/MtEmber_RubyPath_1F/map.json +++ b/data/maps/MtEmber_RubyPath_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_MT_EMBER", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 18, "y": 11, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 23, "y": 16, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_13" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 20, "y": 12, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_14" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 19, "y": 7, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 21, "y": 15, "elevation": 3, @@ -75,7 +77,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_16" } ], diff --git a/data/maps/MtEmber_RubyPath_B1F/map.json b/data/maps/MtEmber_RubyPath_B1F/map.json index 0ad52b863..0bc285563 100644 --- a/data/maps/MtEmber_RubyPath_B1F/map.json +++ b/data/maps/MtEmber_RubyPath_B1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_MT_EMBER", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 1, "y": 8, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 1, "y": 11, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_13" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 3, "y": 12, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_14" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 5, "y": 14, "elevation": 3, @@ -62,7 +64,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" } ], diff --git a/data/maps/MtEmber_RubyPath_B1F_Stairs/map.json b/data/maps/MtEmber_RubyPath_B1F_Stairs/map.json index 0b5d948c5..0c7d4ecaf 100644 --- a/data/maps/MtEmber_RubyPath_B1F_Stairs/map.json +++ b/data/maps/MtEmber_RubyPath_B1F_Stairs/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_MT_EMBER", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 4, "y": 2, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" } ], diff --git a/data/maps/MtEmber_RubyPath_B2F/map.json b/data/maps/MtEmber_RubyPath_B2F/map.json index a0ef82ad6..aa5683183 100644 --- a/data/maps/MtEmber_RubyPath_B2F/map.json +++ b/data/maps/MtEmber_RubyPath_B2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_MT_EMBER", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 9, "y": 3, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 12, "y": 5, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 12, "y": 2, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 4, "y": 8, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 1, "y": 8, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_13" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 4, "y": 5, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_14" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 5, "y": 5, "elevation": 3, @@ -101,7 +103,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" } ], diff --git a/data/maps/MtEmber_RubyPath_B2F_Stairs/map.json b/data/maps/MtEmber_RubyPath_B2F_Stairs/map.json index e3c5ef182..812ce3863 100644 --- a/data/maps/MtEmber_RubyPath_B2F_Stairs/map.json +++ b/data/maps/MtEmber_RubyPath_B2F_Stairs/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_MT_EMBER", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 4, "y": 3, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 6, "y": 2, "elevation": 3, @@ -36,7 +38,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_13" } ], diff --git a/data/maps/MtEmber_RubyPath_B3F/map.json b/data/maps/MtEmber_RubyPath_B3F/map.json index 386b21e43..c39ac4267 100644 --- a/data/maps/MtEmber_RubyPath_B3F/map.json +++ b/data/maps/MtEmber_RubyPath_B3F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_MT_EMBER", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 10, "y": 4, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 26, "y": 12, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 28, "y": 8, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 7, "y": 2, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 4, "y": 3, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_13" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 6, "y": 6, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_14" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 7, "y": 6, "elevation": 3, @@ -101,11 +103,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 4, "y": 5, "elevation": 3, @@ -114,11 +116,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_16" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 5, "y": 2, "elevation": 3, @@ -127,11 +129,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_17" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 15, "y": 13, "elevation": 3, @@ -140,7 +142,7 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" } ], diff --git a/data/maps/MtEmber_RubyPath_B4F/map.json b/data/maps/MtEmber_RubyPath_B4F/map.json index 23b6556f6..5d4da8a7a 100644 --- a/data/maps/MtEmber_RubyPath_B4F/map.json +++ b/data/maps/MtEmber_RubyPath_B4F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_MT_EMBER", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ @@ -32,185 +34,211 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_1", + "type": "sign", "x": 3, "y": 7, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BrailleABC" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 4, "y": 7, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BrailleABC" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 5, "y": 7, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BrailleABC" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 4, "y": 9, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BrailleGHI" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 3, "y": 9, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BrailleGHI" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 5, "y": 9, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BrailleGHI" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 3, "y": 11, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BrailleMNO" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 4, "y": 11, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BrailleMNO" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 5, "y": 11, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BrailleMNO" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 3, "y": 13, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BrailleTUV" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 4, "y": 13, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BrailleTUV" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 5, "y": 13, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BrailleTUV" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 7, "y": 7, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BrailleDEF" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 8, "y": 7, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BrailleDEF" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 9, "y": 7, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BrailleDEF" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 7, "y": 9, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BrailleJKL" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 8, "y": 9, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BrailleJKL" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 9, "y": 9, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BrailleJKL" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 7, "y": 11, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BraillePQRS" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 11, "y": 7, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BraillePeriod" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 11, "y": 9, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BrailleComma" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 8, "y": 11, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BraillePQRS" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 9, "y": 11, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BraillePQRS" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 7, "y": 13, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BrailleWXYZ" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 9, "y": 13, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BrailleWXYZ" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 8, "y": 13, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B4F_EventScript_BrailleWXYZ" } ] diff --git a/data/maps/MtEmber_RubyPath_B5F/map.json b/data/maps/MtEmber_RubyPath_B5F/map.json index e6279a72b..1fd9bd290 100644 --- a/data/maps/MtEmber_RubyPath_B5F/map.json +++ b/data/maps/MtEmber_RubyPath_B5F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_MT_EMBER", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_RUBY", + "graphics_id": "OBJ_EVENT_GFX_RUBY", "x": 7, "y": 7, "elevation": 0, @@ -39,10 +41,11 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_1", + "type": "sign", "x": 7, "y": 2, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "MtEmber_RubyPath_B5F_EventScript_BrailleMessage" } ] diff --git a/data/maps/MtEmber_Summit/map.json b/data/maps/MtEmber_Summit/map.json index 438ad09d0..7c7e60831 100644 --- a/data/maps/MtEmber_Summit/map.json +++ b/data/maps/MtEmber_Summit/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_MT_EMBER", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_MOLTRES", + "graphics_id": "OBJ_EVENT_GFX_MOLTRES", "x": 9, "y": 6, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "FLAG_HIDE_MOLTRES" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 10, "y": 12, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 9, "y": 12, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 8, "y": 11, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 8, "y": 10, "elevation": 3, @@ -75,7 +77,7 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" } ], diff --git a/data/maps/MtEmber_Summit/scripts.inc b/data/maps/MtEmber_Summit/scripts.inc index e68a30c85..fef05c1ce 100644 --- a/data/maps/MtEmber_Summit/scripts.inc +++ b/data/maps/MtEmber_Summit/scripts.inc @@ -8,7 +8,7 @@ MtEmber_Summit_OnResume:: @ 8163B07 end MtEmber_Summit_EventScript_TryRemoveMoltres:: @ 8163B11 - specialvar VAR_RESULT, Special_GetBattleOutcome + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne EventScript_Return removeobject VAR_LAST_TALKED @@ -37,10 +37,10 @@ MtEmber_Summit_EventScript_Moltres:: @ 8163B33 playbgm MUS_EXEYE, 0 waitbuttonpress setflag FLAG_SYS_SPECIAL_WILD_BATTLE - special Special_StartLegendaryBattle + special StartLegendaryBattle waitstate clearflag FLAG_SYS_SPECIAL_WILD_BATTLE - specialvar VAR_RESULT, Special_GetBattleOutcome + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, B_OUTCOME_WON goto_if_eq MtEmber_Summit_EventScript_DefeatedMoltres compare VAR_RESULT, B_OUTCOME_RAN diff --git a/data/maps/MtEmber_SummitPath_1F/map.json b/data/maps/MtEmber_SummitPath_1F/map.json index 7b06ec6ba..77c89d7f2 100644 --- a/data/maps/MtEmber_SummitPath_1F/map.json +++ b/data/maps/MtEmber_SummitPath_1F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_MT_EMBER", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/MtEmber_SummitPath_2F/map.json b/data/maps/MtEmber_SummitPath_2F/map.json index 50f1e424d..5b29a3546 100644 --- a/data/maps/MtEmber_SummitPath_2F/map.json +++ b/data/maps/MtEmber_SummitPath_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_MT_EMBER", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 40, "y": 7, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 33, "y": 5, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_13" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 15, "y": 19, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_14" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 13, "y": 23, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 13, "y": 21, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_16" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 7, "y": 38, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_17" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 9, "y": 35, "elevation": 3, @@ -101,11 +103,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_18" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 7, "y": 34, "elevation": 3, @@ -114,11 +116,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_19" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 15, "y": 26, "elevation": 3, @@ -127,7 +129,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1A" } ], diff --git a/data/maps/MtEmber_SummitPath_3F/map.json b/data/maps/MtEmber_SummitPath_3F/map.json index 3e1d8dc50..330bc6fe5 100644 --- a/data/maps/MtEmber_SummitPath_3F/map.json +++ b/data/maps/MtEmber_SummitPath_3F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_MT_EMBER", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/MtMoon_1F/map.json b/data/maps/MtMoon_1F/map.json index e32b5f379..a35db089c 100644 --- a/data/maps/MtMoon_1F/map.json +++ b/data/maps/MtMoon_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_MT_MOON", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 20, "y": 26, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "MtMoon_1F_EventScript_16063C", + "script": "MtMoon_1F_EventScript_Iris", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BUG_CATCHER", + "graphics_id": "OBJ_EVENT_GFX_BUG_CATCHER", "x": 36, "y": 30, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "MtMoon_1F_EventScript_160681", + "script": "MtMoon_1F_EventScript_Robby", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 30, "y": 35, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "MtMoon_1F_EventScript_160653", + "script": "MtMoon_1F_EventScript_Jovan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 33, "y": 4, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 3, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "MtMoon_1F_EventScript_160625", + "script": "MtMoon_1F_EventScript_Miriam", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BUG_CATCHER", + "graphics_id": "OBJ_EVENT_GFX_BUG_CATCHER", "x": 7, "y": 26, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "MtMoon_1F_EventScript_16066A", + "script": "MtMoon_1F_EventScript_Kent", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 13, "y": 17, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "MtMoon_1F_EventScript_16060E", + "script": "MtMoon_1F_EventScript_Josh", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 7, "y": 10, "elevation": 3, @@ -101,11 +103,11 @@ "movement_range_y": 2, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "MtMoon_1F_EventScript_1605F7", + "script": "MtMoon_1F_EventScript_Macros", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 2, "y": 22, "elevation": 3, @@ -118,7 +120,7 @@ "flag": "FLAG_HIDE_MT_MOON_1F_PARALYZE_HEAL" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 11, "y": 35, "elevation": 3, @@ -131,7 +133,7 @@ "flag": "FLAG_HIDE_MT_MOON_1F_TM09" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 26, "y": 32, "elevation": 3, @@ -144,7 +146,7 @@ "flag": "FLAG_HIDE_MT_MOON_1F_POTION" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 42, "y": 35, "elevation": 3, @@ -157,7 +159,7 @@ "flag": "FLAG_HIDE_MT_MOON_1F_RARE_CANDY" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 44, "y": 21, "elevation": 3, @@ -170,7 +172,7 @@ "flag": "FLAG_HIDE_MT_MOON_1F_ESCAPE_ROPE" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 3, "y": 2, "elevation": 3, @@ -183,7 +185,7 @@ "flag": "FLAG_HIDE_MT_MOON_1F_MOON_STONE" }, { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 42, "y": 7, "elevation": 3, @@ -192,7 +194,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "MtMoon_1F_EventScript_1ACE03", + "script": "MtMoon_1F_EventScript_BaldingMan", "flag": "0" } ], @@ -229,11 +231,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 19, "y": 26, "elevation": 0, - "script": "MtMoon_1F_EventScript_1605EE" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "MtMoon_1F_EventScript_ZubatSign" } ] } diff --git a/data/maps/MtMoon_1F/scripts.inc b/data/maps/MtMoon_1F/scripts.inc index 4c80943d1..2ddfef089 100644 --- a/data/maps/MtMoon_1F/scripts.inc +++ b/data/maps/MtMoon_1F/scripts.inc @@ -6,41 +6,41 @@ MtMoon_1F_OnTransition:: @ 81605EA setworldmapflag FLAG_WORLD_MAP_MT_MOON_1F end -MtMoon_1F_EventScript_1605EE:: @ 81605EE - msgbox gUnknown_8172AE0, MSGBOX_SIGN +MtMoon_1F_EventScript_ZubatSign:: @ 81605EE + msgbox MtMoon_1F_Text_ZubatIsABloodsucker, MSGBOX_SIGN end -MtMoon_1F_EventScript_1605F7:: @ 81605F7 - trainerbattle_single TRAINER_HIKER_MARCOS, Text_17279D, Text_1727CB - msgbox gUnknown_81727DF, MSGBOX_AUTOCLOSE +MtMoon_1F_EventScript_Macros:: @ 81605F7 + trainerbattle_single TRAINER_HIKER_MARCOS, MtMoon_1F_Text_MarcosIntro, MtMoon_1F_Text_MarcosDefeat + msgbox MtMoon_1F_Text_MarcosPostBattle, MSGBOX_AUTOCLOSE end -MtMoon_1F_EventScript_16060E:: @ 816060E - trainerbattle_single TRAINER_YOUNGSTER_JOSH, Text_17281D, Text_172844 - msgbox gUnknown_8172863, MSGBOX_AUTOCLOSE +MtMoon_1F_EventScript_Josh:: @ 816060E + trainerbattle_single TRAINER_YOUNGSTER_JOSH, MtMoon_1F_Text_JoshIntro, MtMoon_1F_Text_JoshDefeat + msgbox MtMoon_1F_Text_JoshPostBattle, MSGBOX_AUTOCLOSE end -MtMoon_1F_EventScript_160625:: @ 8160625 - trainerbattle_single TRAINER_LASS_MIRIAM, Text_172896, Text_1728C3 - msgbox gUnknown_81728D2, MSGBOX_AUTOCLOSE +MtMoon_1F_EventScript_Miriam:: @ 8160625 + trainerbattle_single TRAINER_LASS_MIRIAM, MtMoon_1F_Text_MiriamIntro, MtMoon_1F_Text_MiriamDefeat + msgbox MtMoon_1F_Text_MiriamPostBattle, MSGBOX_AUTOCLOSE end -MtMoon_1F_EventScript_16063C:: @ 816063C - trainerbattle_single TRAINER_LASS_IRIS, Text_172972, Text_1729A4 - msgbox gUnknown_81729AC, MSGBOX_AUTOCLOSE +MtMoon_1F_EventScript_Iris:: @ 816063C + trainerbattle_single TRAINER_LASS_IRIS, MtMoon_1F_Text_IrisIntro, MtMoon_1F_Text_IrisDefeat + msgbox MtMoon_1F_Text_IrisPostBattle, MSGBOX_AUTOCLOSE end -MtMoon_1F_EventScript_160653:: @ 8160653 - trainerbattle_single TRAINER_SUPER_NERD_JOVAN, Text_17290B, Text_172927 - msgbox gUnknown_817293C, MSGBOX_AUTOCLOSE +MtMoon_1F_EventScript_Jovan:: @ 8160653 + trainerbattle_single TRAINER_SUPER_NERD_JOVAN, MtMoon_1F_Text_JovanIntro, MtMoon_1F_Text_JovanDefeat + msgbox MtMoon_1F_Text_JovanPostBattle, MSGBOX_AUTOCLOSE end -MtMoon_1F_EventScript_16066A:: @ 816066A - trainerbattle_single TRAINER_BUG_CATCHER_KENT, Text_1729EA, Text_172A1A - msgbox gUnknown_8172A26, MSGBOX_AUTOCLOSE +MtMoon_1F_EventScript_Kent:: @ 816066A + trainerbattle_single TRAINER_BUG_CATCHER_KENT, MtMoon_1F_Text_KentIntro, MtMoon_1F_Text_KentDefeat + msgbox MtMoon_1F_Text_KentPostBattle, MSGBOX_AUTOCLOSE end -MtMoon_1F_EventScript_160681:: @ 8160681 - trainerbattle_single TRAINER_BUG_CATCHER_ROBBY, Text_172A55, Text_172A8F - msgbox gUnknown_8172A97, MSGBOX_AUTOCLOSE +MtMoon_1F_EventScript_Robby:: @ 8160681 + trainerbattle_single TRAINER_BUG_CATCHER_ROBBY, MtMoon_1F_Text_RobbyIntro, MtMoon_1F_Text_RobbyDefeat + msgbox MtMoon_1F_Text_RobbyPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/MtMoon_1F/text.inc b/data/maps/MtMoon_1F/text.inc index 86028da5c..249c9dd50 100644 --- a/data/maps/MtMoon_1F/text.inc +++ b/data/maps/MtMoon_1F/text.inc @@ -1,87 +1,92 @@ -Text_17279D:: @ 817279D +MtMoon_1F_Text_MarcosIntro:: @ 817279D .string "WHOA!\n" .string "You shocked me!\l" .string "…Oh, you're just a kid!$" -Text_1727CB:: @ 81727CB +MtMoon_1F_Text_MarcosDefeat:: @ 81727CB .string "Wow!\n" .string "Shocked again!$" -gUnknown_81727DF:: @ 81727DF +MtMoon_1F_Text_MarcosPostBattle:: @ 81727DF .string "Kids like you shouldn't be\n" .string "wandering around here in the dark.$" -Text_17281D:: @ 817281D +MtMoon_1F_Text_JoshIntro:: @ 817281D .string "Did you come to explore the cave,\n" .string "too?$" -Text_172844:: @ 8172844 +MtMoon_1F_Text_JoshDefeat:: @ 8172844 .string "Losing stinks!\n" .string "It's so uncool.$" -gUnknown_8172863:: @ 8172863 +MtMoon_1F_Text_JoshPostBattle:: @ 8172863 .string "I came all the way down here to\n" .string "show off to girls.$" -Text_172896:: @ 8172896 +MtMoon_1F_Text_MiriamIntro:: @ 8172896 .string "Wow! It's way bigger in here than\n" .string "I thought!$" -Text_1728C3:: @ 81728C3 +MtMoon_1F_Text_MiriamDefeat:: @ 81728C3 .string "Oh!\n" .string "I lost it!$" -gUnknown_81728D2:: @ 81728D2 +MtMoon_1F_Text_MiriamPostBattle:: @ 81728D2 .string "How do you get out of here?\n" .string "It's so big, I may get lost.$" -Text_17290B:: @ 817290B +MtMoon_1F_Text_JovanIntro:: @ 817290B .string "What!\n" .string "Don't sneak up on me!$" -Text_172927:: @ 8172927 +MtMoon_1F_Text_JovanDefeat:: @ 8172927 .string "My POKéMON won't do!$" -gUnknown_817293C:: @ 817293C +MtMoon_1F_Text_JovanPostBattle:: @ 817293C .string "I have to find stronger POKéMON.\n" .string "Where might they be?$" -Text_172972:: @ 8172972 +MtMoon_1F_Text_IrisIntro:: @ 8172972 .string "What?\n" .string "I'm waiting for my friends to find\l" .string "me here.$" -Text_1729A4:: @ 81729A4 +MtMoon_1F_Text_IrisDefeat:: @ 81729A4 .string "I lost?$" -gUnknown_81729AC:: @ 81729AC +MtMoon_1F_Text_IrisPostBattle:: @ 81729AC .string "I came because I heard there are\n" .string "some very rare fossils here.$" -Text_1729EA:: @ 81729EA +MtMoon_1F_Text_KentIntro:: @ 81729EA .string "Suspicious men are in the cave.\n" .string "What about you?$" -Text_172A1A:: @ 8172A1A +MtMoon_1F_Text_KentDefeat:: @ 8172A1A .string "You got me!$" -gUnknown_8172A26:: @ 8172A26 +MtMoon_1F_Text_KentPostBattle:: @ 8172A26 .string "I saw them!\n" .string "I'm sure they're from TEAM ROCKET!$" -Text_172A55:: @ 8172A55 +MtMoon_1F_Text_RobbyIntro:: @ 8172A55 .string "You need to go through this cave\n" .string "to get to CERULEAN CITY.$" -Text_172A8F:: @ 8172A8F +MtMoon_1F_Text_RobbyDefeat:: @ 8172A8F .string "I lost.$" -gUnknown_8172A97:: @ 8172A97 +MtMoon_1F_Text_RobbyPostBattle:: @ 8172A97 .string "ZUBAT is tough!\n" .string "But if you can catch one, you'll\l" .string "be able to count on it.$" -gUnknown_8172AE0:: @ 8172AE0 +MtMoon_1F_Text_ZubatIsABloodsucker:: @ 8172AE0 .string "Beware!\n" .string "ZUBAT is a bloodsucker!$" +MtMoon_1F_Text_BrockHelpsExcavateFossils:: @ 8172B00 + .string "Hi, I'm excavating for fossils here\n" + .string "under MT. MOON.\p" + .string "Sometimes, BROCK of PEWTER GYM\n" + .string "lends me a hand.$" diff --git a/data/maps/MtMoon_B1F/map.json b/data/maps/MtMoon_B1F/map.json index 8bb52bddf..e330d5510 100644 --- a/data/maps/MtMoon_B1F/map.json +++ b/data/maps/MtMoon_B1F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_MT_MOON", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/MtMoon_B2F/map.json b/data/maps/MtMoon_B2F/map.json index ac65802cb..2dfe5c967 100644 --- a/data/maps/MtMoon_B2F/map.json +++ b/data/maps/MtMoon_B2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_MT_MOON", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_FOSSIL", + "graphics_id": "OBJ_EVENT_GFX_FOSSIL", "x": 13, "y": 7, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "MtMoon_B2F_EventScript_16071B", + "script": "MtMoon_B2F_EventScript_DomeFossil", "flag": "FLAG_HIDE_DOME_FOSSIL" }, { - "graphics_id": "OBJECT_EVENT_GFX_FOSSIL", + "graphics_id": "OBJ_EVENT_GFX_FOSSIL", "x": 14, "y": 7, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "MtMoon_B2F_EventScript_16077F", + "script": "MtMoon_B2F_EventScript_HelixFossil", "flag": "FLAG_HIDE_HELIX_FOSSIL" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 13, "y": 11, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "MtMoon_B2F_EventScript_1606C2", + "script": "MtMoon_B2F_EventScript_Miguel", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 37, "y": 21, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "MtMoon_B2F_EventScript_160829", + "script": "MtMoon_B2F_EventScript_Grunt4", "flag": "FLAG_HIDE_MISC_KANTO_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 12, "y": 20, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "MtMoon_B2F_EventScript_1607E4", + "script": "MtMoon_B2F_EventScript_Grunt1", "flag": "FLAG_HIDE_MISC_KANTO_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 35, "y": 12, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "MtMoon_B2F_EventScript_160812", + "script": "MtMoon_B2F_EventScript_Grunt3", "flag": "FLAG_HIDE_MISC_KANTO_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 18, "y": 27, "elevation": 3, @@ -101,11 +103,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "MtMoon_B2F_EventScript_1607FB", + "script": "MtMoon_B2F_EventScript_Grunt2", "flag": "FLAG_HIDE_MISC_KANTO_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 30, "y": 26, "elevation": 3, @@ -118,7 +120,7 @@ "flag": "FLAG_HIDE_MT_MOON_B2F_STAR_PIECE" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 35, "y": 5, "elevation": 3, @@ -131,7 +133,7 @@ "flag": "FLAG_HIDE_MT_MOON_B2F_TM46" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 24, "y": 6, "elevation": 3, @@ -144,7 +146,7 @@ "flag": "FLAG_HIDE_MT_MOON_B2F_REVIVE" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 3, "y": 11, "elevation": 3, @@ -195,7 +197,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_MT_MOON_B2F", "var_value": 0, - "script": "MtMoon_B2F_EventScript_1606B0" + "script": "MtMoon_B2F_EventScript_MiguelTrigger" } ], "bg_events": [ diff --git a/data/maps/MtMoon_B2F/scripts.inc b/data/maps/MtMoon_B2F/scripts.inc index 71c458c12..515242568 100644 --- a/data/maps/MtMoon_B2F/scripts.inc +++ b/data/maps/MtMoon_B2F/scripts.inc @@ -1,138 +1,142 @@ +.equ LOCALID_DOME_FOSSIL, 1 +.equ LOCALID_HELIX_FOSSIL, 2 +.equ LOCALID_MIGUEL, 3 + MtMoon_B2F_MapScripts:: @ 8160699 map_script MAP_SCRIPT_ON_TRANSITION, MtMoon_B2F_OnTransition .byte 0 MtMoon_B2F_OnTransition:: @ 816069F - call_if_unset FLAG_GOT_FOSSIL_FROM_MT_MOON, EventScript_1606A9 + call_if_unset FLAG_GOT_FOSSIL_FROM_MT_MOON, MtMoon_B2F_EventScript_ShowFossils end -EventScript_1606A9:: @ 81606A9 +MtMoon_B2F_EventScript_ShowFossils:: @ 81606A9 clearflag FLAG_HIDE_DOME_FOSSIL clearflag FLAG_HIDE_HELIX_FOSSIL return -MtMoon_B2F_EventScript_1606B0:: @ 81606B0 +MtMoon_B2F_EventScript_MiguelTrigger:: @ 81606B0 lockall - applymovement 3, Movement_WalkInPlaceFastestRight + applymovement LOCALID_MIGUEL, Movement_WalkInPlaceFastestRight waitmovement 0 - call EventScript_1606DD + call MtMoon_B2F_EventScript_BattleMiguel releaseall end -MtMoon_B2F_EventScript_1606C2:: @ 81606C2 +MtMoon_B2F_EventScript_Miguel:: @ 81606C2 lock faceplayer - goto_if_set FLAG_GOT_FOSSIL_FROM_MT_MOON, EventScript_160707 - goto_if_defeated TRAINER_SUPER_NERD_MIGUEL, EventScript_160711 - call EventScript_1606DD + goto_if_set FLAG_GOT_FOSSIL_FROM_MT_MOON, MtMoon_B2F_EventScript_MiguelFossilPicked + goto_if_defeated TRAINER_SUPER_NERD_MIGUEL, MtMoon_B2F_EventScript_MiguelGoPickFossil + call MtMoon_B2F_EventScript_BattleMiguel release end -EventScript_1606DD:: @ 81606DD +MtMoon_B2F_EventScript_BattleMiguel:: @ 81606DD textcolor 0 - message Text_172B64 + message MtMoon_B2F_Text_MiguelIntro waitmessage playbgm MUS_EXEYE, 0 waitbuttonpress - setvar VAR_LAST_TALKED, 3 - trainerbattle_no_intro TRAINER_SUPER_NERD_MIGUEL, Text_172B99 + setvar VAR_LAST_TALKED, LOCALID_MIGUEL + trainerbattle_no_intro TRAINER_SUPER_NERD_MIGUEL, MtMoon_B2F_Text_MiguelDefeat setvar VAR_MAP_SCENE_MT_MOON_B2F, 1 - msgbox gUnknown_8172BAB + msgbox MtMoon_B2F_Text_WellEachTakeAFossil return -EventScript_160707:: @ 8160707 - msgbox gUnknown_8172BFB +MtMoon_B2F_EventScript_MiguelFossilPicked:: @ 8160707 + msgbox MtMoon_B2F_Text_LabOnCinnabarRegeneratesFossils release end -EventScript_160711:: @ 8160711 - msgbox gUnknown_8172BAB +MtMoon_B2F_EventScript_MiguelGoPickFossil:: @ 8160711 + msgbox MtMoon_B2F_Text_WellEachTakeAFossil release end -MtMoon_B2F_EventScript_16071B:: @ 816071B +MtMoon_B2F_EventScript_DomeFossil:: @ 816071B lock faceplayer - msgbox gUnknown_8172E77, MSGBOX_YESNO + msgbox MtMoon_B2F_Text_YouWantDomeFossil, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_1607DE - removeobject 1 - giveitem_msg gUnknown_8172ECD, ITEM_DOME_FOSSIL, 1, MUS_FAN5 + goto_if_eq MtMoon_B2F_EventScript_DontTakeFossil + removeobject LOCALID_DOME_FOSSIL + giveitem_msg MtMoon_B2F_Text_ObtainedDomeFossil, ITEM_DOME_FOSSIL, 1, MUS_FAN5 closemessage special sub_8112364 delay 10 - applymovement 3, Movement_16077A + applymovement LOCALID_MIGUEL, MtMoon_B2F_Movement_MiguelToHelixFossil waitmovement 0 - moveobjectoffscreen 3 + moveobjectoffscreen LOCALID_MIGUEL textcolor 0 playfanfare MUS_FAN5 - message Text_172BD6 + message MtMoon_B2F_Text_ThenThisFossilIsMine waitmessage waitfanfare - removeobject 2 + removeobject LOCALID_HELIX_FOSSIL setflag FLAG_GOT_DOME_FOSSIL setflag FLAG_GOT_FOSSIL_FROM_MT_MOON release end -Movement_16077A:: @ 816077A +MtMoon_B2F_Movement_MiguelToHelixFossil:: @ 816077A walk_right walk_up walk_up walk_up step_end -MtMoon_B2F_EventScript_16077F:: @ 816077F +MtMoon_B2F_EventScript_HelixFossil:: @ 816077F lock faceplayer - msgbox gUnknown_8172E94, MSGBOX_YESNO + msgbox MtMoon_B2F_Text_YouWantHelixFossil, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_1607DE - removeobject 2 - giveitem_msg gUnknown_8172EB2, ITEM_HELIX_FOSSIL, 1, MUS_FAN5 + goto_if_eq MtMoon_B2F_EventScript_DontTakeFossil + removeobject LOCALID_HELIX_FOSSIL + giveitem_msg MtMoon_B2F_Text_ObtainedHelixFossil, ITEM_HELIX_FOSSIL, 1, MUS_FAN5 closemessage special sub_8112364 delay 10 - applymovement 3, Movement_1607E0 + applymovement LOCALID_MIGUEL, MtMoon_B2F_Movement_MiguelToDomeFossil waitmovement 0 - moveobjectoffscreen 3 + moveobjectoffscreen LOCALID_MIGUEL textcolor 0 playfanfare MUS_FAN5 - message Text_172BD6 + message MtMoon_B2F_Text_ThenThisFossilIsMine waitmessage waitfanfare - removeobject 1 + removeobject LOCALID_DOME_FOSSIL setflag FLAG_GOT_HELIX_FOSSIL setflag FLAG_GOT_FOSSIL_FROM_MT_MOON release end -EventScript_1607DE:: @ 81607DE +MtMoon_B2F_EventScript_DontTakeFossil:: @ 81607DE release end -Movement_1607E0:: @ 81607E0 +MtMoon_B2F_Movement_MiguelToDomeFossil:: @ 81607E0 walk_up walk_up walk_up step_end -MtMoon_B2F_EventScript_1607E4:: @ 81607E4 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT, Text_172C5A, Text_172CB8 - msgbox gUnknown_8172CCB, MSGBOX_AUTOCLOSE +MtMoon_B2F_EventScript_Grunt1:: @ 81607E4 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT, MtMoon_B2F_Text_Grunt1Intro, MtMoon_B2F_Text_Grunt1Defeat + msgbox MtMoon_B2F_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE end -MtMoon_B2F_EventScript_1607FB:: @ 81607FB - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_2, Text_172CFC, Text_172D46 - msgbox gUnknown_8172D51, MSGBOX_AUTOCLOSE +MtMoon_B2F_EventScript_Grunt2:: @ 81607FB + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_2, MtMoon_B2F_Text_Grunt2Intro, MtMoon_B2F_Text_Grunt2Defeat + msgbox MtMoon_B2F_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE end -MtMoon_B2F_EventScript_160812:: @ 8160812 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_3, Text_172D82, Text_172DAF - msgbox gUnknown_8172DC1, MSGBOX_AUTOCLOSE +MtMoon_B2F_EventScript_Grunt3:: @ 8160812 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_3, MtMoon_B2F_Text_Grunt3Intro, MtMoon_B2F_Text_Grunt3Defeat + msgbox MtMoon_B2F_Text_Grunt3PostBattle, MSGBOX_AUTOCLOSE end -MtMoon_B2F_EventScript_160829:: @ 8160829 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_4, Text_172DF0, Text_172E3E - msgbox gUnknown_8172E4B, MSGBOX_AUTOCLOSE +MtMoon_B2F_EventScript_Grunt4:: @ 8160829 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_4, MtMoon_B2F_Text_Grunt4Intro, MtMoon_B2F_Text_Grunt4Defeat + msgbox MtMoon_B2F_Text_Grunt4PostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/MtMoon_B2F/text.inc b/data/maps/MtMoon_B2F/text.inc index 2f27312db..fd4b564f0 100644 --- a/data/maps/MtMoon_B2F/text.inc +++ b/data/maps/MtMoon_B2F/text.inc @@ -1,90 +1,84 @@ -Text_172B00:: @ 8172B00 - .string "Hi, I'm excavating for fossils here\n" - .string "under MT. MOON.\p" - .string "Sometimes, BROCK of PEWTER GYM\n" - .string "lends me a hand.$" - -Text_172B64:: @ 8172B64 +MtMoon_B2F_Text_MiguelIntro:: @ 8172B64 .string "Hey, stop!\p" .string "I found these fossils!\n" .string "They're both mine!$" -Text_172B99:: @ 8172B99 +MtMoon_B2F_Text_MiguelDefeat:: @ 8172B99 .string "Okay!\n" .string "I'll share!$" -gUnknown_8172BAB:: @ 8172BAB +MtMoon_B2F_Text_WellEachTakeAFossil:: @ 8172BAB .string "We'll each take a fossil!\n" .string "No being greedy!$" -Text_172BD6:: @ 8172BD6 +MtMoon_B2F_Text_ThenThisFossilIsMine:: @ 8172BD6 .string "All right.\n" .string "Then this fossil is mine!$" -gUnknown_8172BFB:: @ 8172BFB +MtMoon_B2F_Text_LabOnCinnabarRegeneratesFossils:: @ 8172BFB .string "Far away, on CINNABAR ISLAND,\n" .string "there's a POKéMON LAB.\p" .string "They do research on regenerating\n" .string "fossils.$" -Text_172C5A:: @ 8172C5A +MtMoon_B2F_Text_Grunt1Intro:: @ 8172C5A .string "We, TEAM ROCKET, shall find the\n" .string "fossils!\p" .string "Reviving POKéMON from them will\n" .string "earn us huge riches!$" -Text_172CB8:: @ 8172CB8 +MtMoon_B2F_Text_Grunt1Defeat:: @ 8172CB8 .string "Urgh!\n" .string "Now I'm mad!$" -gUnknown_8172CCB:: @ 8172CCB +MtMoon_B2F_Text_Grunt1PostBattle:: @ 8172CCB .string "You made me mad!\n" .string "TEAM ROCKET will blacklist you!$" -Text_172CFC:: @ 8172CFC +MtMoon_B2F_Text_Grunt2Intro:: @ 8172CFC .string "We, TEAM ROCKET, are POKéMON\n" .string "gangsters!\l" .string "We strike fear with our strength!$" -Text_172D46:: @ 8172D46 +MtMoon_B2F_Text_Grunt2Defeat:: @ 8172D46 .string "I blew it!$" -gUnknown_8172D51:: @ 8172D51 +MtMoon_B2F_Text_Grunt2PostBattle:: @ 8172D51 .string "Darn it all!\n" .string "My associates won't stand for this!$" -Text_172D82:: @ 8172D82 +MtMoon_B2F_Text_Grunt3Intro:: @ 8172D82 .string "We're pulling a big job here!\n" .string "Get lost, kid!$" -Text_172DAF:: @ 8172DAF +MtMoon_B2F_Text_Grunt3Defeat:: @ 8172DAF .string "So, you are good…$" -gUnknown_8172DC1:: @ 8172DC1 +MtMoon_B2F_Text_Grunt3PostBattle:: @ 8172DC1 .string "If you find a fossil, give it to me\n" .string "and scram!$" -Text_172DF0:: @ 8172DF0 +MtMoon_B2F_Text_Grunt4Intro:: @ 8172DF0 .string "Little kids shouldn't be messing\n" .string "around with grown-ups!\p" .string "It could be bad news!$" -Text_172E3E:: @ 8172E3E +MtMoon_B2F_Text_Grunt4Defeat:: @ 8172E3E .string "I'm steamed!$" -gUnknown_8172E4B:: @ 8172E4B +MtMoon_B2F_Text_Grunt4PostBattle:: @ 8172E4B .string "POKéMON lived here long before\n" .string "people came.$" -gUnknown_8172E77:: @ 8172E77 +MtMoon_B2F_Text_YouWantDomeFossil:: @ 8172E77 .string "Do you want the DOME FOSSIL?$" -gUnknown_8172E94:: @ 8172E94 +MtMoon_B2F_Text_YouWantHelixFossil:: @ 8172E94 .string "Do you want the HELIX FOSSIL?$" -gUnknown_8172EB2:: @ 8172EB2 +MtMoon_B2F_Text_ObtainedHelixFossil:: @ 8172EB2 .string "Obtained the HELIX FOSSIL!$" -gUnknown_8172ECD:: @ 8172ECD +MtMoon_B2F_Text_ObtainedDomeFossil:: @ 8172ECD .string "Obtained the DOME FOSSIL!$" diff --git a/data/maps/NavelRock_1F/map.json b/data/maps/NavelRock_1F/map.json index 4f0bc37bc..703240141 100644 --- a/data/maps/NavelRock_1F/map.json +++ b/data/maps/NavelRock_1F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_NAVEL_ROCK", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/NavelRock_B1F/map.json b/data/maps/NavelRock_B1F/map.json index 4807cf865..b1a6deada 100644 --- a/data/maps/NavelRock_B1F/map.json +++ b/data/maps/NavelRock_B1F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_NAVEL_ROCK", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/NavelRock_Base/map.json b/data/maps/NavelRock_Base/map.json index c655f9252..ee229f592 100644 --- a/data/maps/NavelRock_Base/map.json +++ b/data/maps/NavelRock_Base/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_NAVEL_ROCK", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_LUGIA", + "graphics_id": "OBJ_EVENT_GFX_LUGIA", "x": 10, "y": 15, "elevation": 3, diff --git a/data/maps/NavelRock_Base/scripts.inc b/data/maps/NavelRock_Base/scripts.inc index 46bc6f2ee..707ad84f7 100644 --- a/data/maps/NavelRock_Base/scripts.inc +++ b/data/maps/NavelRock_Base/scripts.inc @@ -22,7 +22,7 @@ NavelRock_Base_OnResume:: @ 8165116 end NavelRock_Base_EventScript_TryRemoveLugia:: @ 8165120 - specialvar VAR_RESULT, Special_GetBattleOutcome + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne EventScript_Return removeobject 1 @@ -40,14 +40,14 @@ NavelRock_Base_EventScript_Lugia:: @ 8165134 setvar VAR_0x8005, 3 @ Horizontal pan setvar VAR_0x8006, 4 @ Num shakes setvar VAR_0x8007, 2 @ Shake delay - special Special_ShakeScreen + special ShakeScreen delay 30 playse SE_T_AME_E setvar VAR_0x8004, 0 @ Vertical pan setvar VAR_0x8005, 3 @ Horizontal pan setvar VAR_0x8006, 4 @ Num shakes setvar VAR_0x8007, 2 @ Shake delay - special Special_ShakeScreen + special ShakeScreen delay 30 delay 50 waitse @@ -59,10 +59,10 @@ NavelRock_Base_EventScript_Lugia:: @ 8165134 setvar VAR_0x8006, ITEM_NONE special CreateObedientEnemyMon setflag FLAG_SYS_SPECIAL_WILD_BATTLE - special Special_StartLegendaryBattle + special StartLegendaryBattle waitstate clearflag FLAG_SYS_SPECIAL_WILD_BATTLE - specialvar VAR_RESULT, Special_GetBattleOutcome + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, B_OUTCOME_WON goto_if_eq NavelRock_Base_EventScript_DefeatedLugia compare VAR_RESULT, B_OUTCOME_RAN diff --git a/data/maps/NavelRock_BasePath_B10F/map.json b/data/maps/NavelRock_BasePath_B10F/map.json index 16c0363a8..716ae04db 100644 --- a/data/maps/NavelRock_BasePath_B10F/map.json +++ b/data/maps/NavelRock_BasePath_B10F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_NAVEL_ROCK", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/NavelRock_BasePath_B11F/map.json b/data/maps/NavelRock_BasePath_B11F/map.json index 9530b8ca8..1b92ca1fc 100644 --- a/data/maps/NavelRock_BasePath_B11F/map.json +++ b/data/maps/NavelRock_BasePath_B11F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_NAVEL_ROCK", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/NavelRock_BasePath_B1F/map.json b/data/maps/NavelRock_BasePath_B1F/map.json index e2d8103eb..624f800ee 100644 --- a/data/maps/NavelRock_BasePath_B1F/map.json +++ b/data/maps/NavelRock_BasePath_B1F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_NAVEL_ROCK", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/NavelRock_BasePath_B2F/map.json b/data/maps/NavelRock_BasePath_B2F/map.json index df3200d16..b6af50439 100644 --- a/data/maps/NavelRock_BasePath_B2F/map.json +++ b/data/maps/NavelRock_BasePath_B2F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_NAVEL_ROCK", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/NavelRock_BasePath_B3F/map.json b/data/maps/NavelRock_BasePath_B3F/map.json index 65e25b3ec..22cc90c60 100644 --- a/data/maps/NavelRock_BasePath_B3F/map.json +++ b/data/maps/NavelRock_BasePath_B3F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_NAVEL_ROCK", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/NavelRock_BasePath_B4F/map.json b/data/maps/NavelRock_BasePath_B4F/map.json index fd56529fb..33c4d41be 100644 --- a/data/maps/NavelRock_BasePath_B4F/map.json +++ b/data/maps/NavelRock_BasePath_B4F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_NAVEL_ROCK", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/NavelRock_BasePath_B5F/map.json b/data/maps/NavelRock_BasePath_B5F/map.json index 2d6e8798c..26cf212c6 100644 --- a/data/maps/NavelRock_BasePath_B5F/map.json +++ b/data/maps/NavelRock_BasePath_B5F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_NAVEL_ROCK", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/NavelRock_BasePath_B6F/map.json b/data/maps/NavelRock_BasePath_B6F/map.json index 0f5e92ad9..0d3ffdf8f 100644 --- a/data/maps/NavelRock_BasePath_B6F/map.json +++ b/data/maps/NavelRock_BasePath_B6F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_NAVEL_ROCK", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/NavelRock_BasePath_B7F/map.json b/data/maps/NavelRock_BasePath_B7F/map.json index 1c2897d91..acfc1da43 100644 --- a/data/maps/NavelRock_BasePath_B7F/map.json +++ b/data/maps/NavelRock_BasePath_B7F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_NAVEL_ROCK", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/NavelRock_BasePath_B8F/map.json b/data/maps/NavelRock_BasePath_B8F/map.json index 1f3445dee..4756a0655 100644 --- a/data/maps/NavelRock_BasePath_B8F/map.json +++ b/data/maps/NavelRock_BasePath_B8F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_NAVEL_ROCK", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/NavelRock_BasePath_B9F/map.json b/data/maps/NavelRock_BasePath_B9F/map.json index 9c6a50590..d033dd887 100644 --- a/data/maps/NavelRock_BasePath_B9F/map.json +++ b/data/maps/NavelRock_BasePath_B9F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_NAVEL_ROCK", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/NavelRock_Exterior/map.json b/data/maps/NavelRock_Exterior/map.json index adaa0e703..9b10f6d8c 100644 --- a/data/maps/NavelRock_Exterior/map.json +++ b/data/maps/NavelRock_Exterior/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_NAVEL_ROCK", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/NavelRock_Fork/map.json b/data/maps/NavelRock_Fork/map.json index c7b72356c..ec9fec5df 100644 --- a/data/maps/NavelRock_Fork/map.json +++ b/data/maps/NavelRock_Fork/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_NAVEL_ROCK", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/NavelRock_Harbor/map.json b/data/maps/NavelRock_Harbor/map.json index 752411223..cb4f1b2e3 100644 --- a/data/maps/NavelRock_Harbor/map.json +++ b/data/maps/NavelRock_Harbor/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_NAVEL_ROCK", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SEAGALLOP", + "graphics_id": "OBJ_EVENT_GFX_SEAGALLOP", "x": 8, "y": 9, "elevation": 0, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 8, "y": 6, "elevation": 3, diff --git a/data/maps/NavelRock_Summit/map.json b/data/maps/NavelRock_Summit/map.json index 91981c25d..db1f961b4 100644 --- a/data/maps/NavelRock_Summit/map.json +++ b/data/maps/NavelRock_Summit/map.json @@ -5,16 +5,18 @@ "music": "MUS_NANADUNGEON", "region_map_section": "MAPSEC_NAVEL_ROCK", "requires_flash": false, - "weather": "WEATHER_CLOUDY", - "map_type": "MAP_TYPE_4", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "weather": "WEATHER_SHADE", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_HO_OH", + "graphics_id": "OBJ_EVENT_GFX_HO_OH", "x": 9, "y": 6, "elevation": 0, diff --git a/data/maps/NavelRock_Summit/scripts.inc b/data/maps/NavelRock_Summit/scripts.inc index b151bbbfe..b2983cf47 100644 --- a/data/maps/NavelRock_Summit/scripts.inc +++ b/data/maps/NavelRock_Summit/scripts.inc @@ -25,7 +25,7 @@ NavelRock_Summit_OnResume:: @ 8164FDD end NavelRock_Summit_EventScript_TryRemoveHoOh:: @ 8164FE7 - specialvar VAR_RESULT, Special_GetBattleOutcome + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne EventScript_Return removeobject 1 @@ -39,7 +39,7 @@ NavelRock_Summit_EventScript_HoOh:: @ 8164FFB special SpawnCameraObject setvar VAR_0x8004, 3 @ Num loops setvar VAR_0x8005, 35 @ Delay - special Special_LoopWingFlapSound + special LoopWingFlapSound applymovement 1, Movement_HoOhAppear applymovement OBJ_EVENT_ID_CAMERA, Movement_CameraPanUp waitmovement 0 @@ -53,7 +53,7 @@ NavelRock_Summit_EventScript_HoOh:: @ 8164FFB delay 60 setvar VAR_0x8004, 3 @ Num loops setvar VAR_0x8005, 35 @ Delay - special Special_LoopWingFlapSound + special LoopWingFlapSound applymovement OBJ_EVENT_ID_CAMERA, Movement_CameraPanDown applymovement 1, Movement_HoOhApproach waitmovement 0 @@ -63,11 +63,11 @@ NavelRock_Summit_EventScript_HoOh:: @ 8164FFB setvar VAR_0x8006, ITEM_NONE special CreateObedientEnemyMon setflag FLAG_SYS_SPECIAL_WILD_BATTLE - special Special_StartLegendaryBattle + special StartLegendaryBattle waitstate clearflag FLAG_SYS_SPECIAL_WILD_BATTLE setvar VAR_LAST_TALKED, 1 - specialvar VAR_RESULT, Special_GetBattleOutcome + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, B_OUTCOME_WON goto_if_eq NavelRock_Summit_EventScript_DefeatedHoOh compare VAR_RESULT, B_OUTCOME_RAN diff --git a/data/maps/NavelRock_SummitPath_2F/map.json b/data/maps/NavelRock_SummitPath_2F/map.json index 7cdb412db..d103d5f70 100644 --- a/data/maps/NavelRock_SummitPath_2F/map.json +++ b/data/maps/NavelRock_SummitPath_2F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_NAVEL_ROCK", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/NavelRock_SummitPath_3F/map.json b/data/maps/NavelRock_SummitPath_3F/map.json index 3d8db3367..3a122a2d2 100644 --- a/data/maps/NavelRock_SummitPath_3F/map.json +++ b/data/maps/NavelRock_SummitPath_3F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_NAVEL_ROCK", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/NavelRock_SummitPath_4F/map.json b/data/maps/NavelRock_SummitPath_4F/map.json index d83e5c97f..fa74a2c92 100644 --- a/data/maps/NavelRock_SummitPath_4F/map.json +++ b/data/maps/NavelRock_SummitPath_4F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_NAVEL_ROCK", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/NavelRock_SummitPath_5F/map.json b/data/maps/NavelRock_SummitPath_5F/map.json index 4db860493..25d3ba773 100644 --- a/data/maps/NavelRock_SummitPath_5F/map.json +++ b/data/maps/NavelRock_SummitPath_5F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_NAVEL_ROCK", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/OneIsland/map.json b/data/maps/OneIsland/map.json index 638eb4ff8..344798602 100644 --- a/data/maps/OneIsland/map.json +++ b/data/maps/OneIsland/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ONE_ISLAND", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_1", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_TOWN", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ONE_ISLAND_TREASURE_BEACH", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BILL", + "graphics_id": "OBJ_EVENT_GFX_BILL", "x": 12, "y": 16, "elevation": 3, @@ -38,7 +40,7 @@ "flag": "FLAG_HIDE_ONE_ISLAND_BILL" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 16, "y": 12, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "OneIsland_EventScript_167517", + "script": "OneIsland_EventScript_OldMan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 13, "y": 9, "elevation": 3, @@ -60,7 +62,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "OneIsland_EventScript_167549", + "script": "OneIsland_EventScript_BaldingMan", "flag": "0" } ], @@ -97,18 +99,20 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 14, "y": 13, "elevation": 0, - "script": "OneIsland_EventScript_167552" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "OneIsland_EventScript_IslandSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 15, "y": 6, "elevation": 0, - "script": "OneIsland_EventScript_16755B" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "OneIsland_EventScript_PokemonNetCenterSign" } ] } diff --git a/data/maps/OneIsland/scripts.inc b/data/maps/OneIsland/scripts.inc index 545a3d333..a474b19a8 100644 --- a/data/maps/OneIsland/scripts.inc +++ b/data/maps/OneIsland/scripts.inc @@ -1,3 +1,5 @@ +.equ LOCALID_BILL, 1 + OneIsland_MapScripts:: @ 8167484 map_script MAP_SCRIPT_ON_TRANSITION, OneIsland_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, OneIsland_OnFrame @@ -8,35 +10,34 @@ OneIsland_OnTransition:: @ 816748F end OneIsland_OnFrame:: @ 8167493 - map_script_2 VAR_MAP_SCENE_ONE_ISLAND_HARBOR, 2, EventScript_16749D + map_script_2 VAR_MAP_SCENE_ONE_ISLAND_HARBOR, 2, OneIsland_EventScript_EnterOneIslandFirstTime .2byte 0 -EventScript_16749D:: @ 816749D +OneIsland_EventScript_EnterOneIslandFirstTime:: @ 816749D lockall textcolor 0 - applymovement OBJ_EVENT_ID_PLAYER, Movement_167505 + applymovement OBJ_EVENT_ID_PLAYER, OneIsland_Movement_PlayerExitHarbor waitmovement 0 - msgbox gUnknown_818161B + msgbox OneIsland_Text_BillLetsGoSeeCelio closemessage - applymovement 1, Movement_167507 - applymovement OBJ_EVENT_ID_PLAYER, Movement_1674F4 + applymovement LOCALID_BILL, OneIsland_Movement_BillWalkToPokeCenter + applymovement OBJ_EVENT_ID_PLAYER, OneIsland_Movement_PlayerWalkToPokeCenter waitmovement 0 opendoor 14, 5 waitdooranim - applymovement 1, Movement_167514 - applymovement OBJ_EVENT_ID_PLAYER, Movement_167501 + applymovement LOCALID_BILL, OneIsland_Movement_BillEnterPokeCenter + applymovement OBJ_EVENT_ID_PLAYER, OneIsland_Movement_PlayerEnterPokeCenter waitmovement 0 closedoor 14, 5 waitdooranim - removeobject 1 + removeobject LOCALID_BILL setvar VAR_MAP_SCENE_ONE_ISLAND_HARBOR, 3 warp MAP_ONE_ISLAND_POKEMON_CENTER_1F, 255, 9, 9 waitstate releaseall end -Movement_1674F4:: @ 81674F4 - walk_up + .macro walk_to_pokecenter walk_up walk_up walk_up @@ -48,65 +49,60 @@ Movement_1674F4:: @ 81674F4 walk_up walk_up walk_up + .endm + +OneIsland_Movement_PlayerWalkToPokeCenter:: @ 81674F4 + walk_up + walk_to_pokecenter step_end -Movement_167501:: @ 8167501 +OneIsland_Movement_PlayerEnterPokeCenter:: @ 8167501 walk_up walk_up set_invisible step_end -Movement_167505:: @ 8167505 +OneIsland_Movement_PlayerExitHarbor:: @ 8167505 walk_up step_end -Movement_167507:: @ 8167507 - walk_up - walk_up - walk_up - walk_up - walk_right - walk_right - walk_up - walk_up - walk_up - walk_up - walk_up +OneIsland_Movement_BillWalkToPokeCenter:: @ 8167507 + walk_to_pokecenter walk_up step_end -Movement_167514:: @ 8167514 +OneIsland_Movement_BillEnterPokeCenter:: @ 8167514 walk_up set_invisible step_end -OneIsland_EventScript_167517:: @ 8167517 +OneIsland_EventScript_OldMan:: @ 8167517 lock faceplayer - goto_if_set FLAG_SYS_CAN_LINK_WITH_RS, EventScript_16753F - goto_if_set FLAG_SEVII_DETOUR_FINISHED, EventScript_167535 - msgbox gUnknown_818174E + goto_if_set FLAG_SYS_CAN_LINK_WITH_RS, OneIsland_EventScript_OldManLinkHoenn + goto_if_set FLAG_SEVII_DETOUR_FINISHED, OneIsland_EventScript_OldManLinkKanto + msgbox OneIsland_Text_LuckyToHaveCelioHere release end -EventScript_167535:: @ 8167535 - msgbox gUnknown_8181858 +OneIsland_EventScript_OldManLinkKanto:: @ 8167535 + msgbox OneIsland_Text_HavePCLinkageWithKanto release end -EventScript_16753F:: @ 816753F - msgbox gUnknown_8181901 +OneIsland_EventScript_OldManLinkHoenn:: @ 816753F + msgbox OneIsland_Text_HavePCLinkageWithHoenn release end -OneIsland_EventScript_167549:: @ 8167549 - msgbox gUnknown_8181A4A, MSGBOX_NPC +OneIsland_EventScript_BaldingMan:: @ 8167549 + msgbox OneIsland_Text_IsntWarmClimateHereGreat, MSGBOX_NPC end -OneIsland_EventScript_167552:: @ 8167552 - msgbox gUnknown_81819E1, MSGBOX_SIGN +OneIsland_EventScript_IslandSign:: @ 8167552 + msgbox OneIsland_Text_IslandSign, MSGBOX_SIGN end -OneIsland_EventScript_16755B:: @ 816755B - msgbox gUnknown_8181A0A, MSGBOX_SIGN +OneIsland_EventScript_PokemonNetCenterSign:: @ 816755B + msgbox OneIsland_Text_PokemonNetCenterSign, MSGBOX_SIGN end diff --git a/data/maps/OneIsland/text.inc b/data/maps/OneIsland/text.inc index aeccc1e47..5f49a4a5c 100644 --- a/data/maps/OneIsland/text.inc +++ b/data/maps/OneIsland/text.inc @@ -1,13 +1,4 @@ -Text_181569:: @ 8181569 - .string "This FAN CLUB…\n" - .string "No one here has a clue!\p" - .string "How could they not recognize\n" - .string "the brilliance that is LANCE?\p" - .string "He stands for justice!\n" - .string "He's cool, and yet passionate!\l" - .string "He's the greatest, LANCE!$" - -gUnknown_818161B:: @ 818161B +OneIsland_Text_BillLetsGoSeeCelio:: @ 818161B .string "BILL: Here we are!\n" .string "This is ONE ISLAND.\p" .string "There are several islands around\n" @@ -23,7 +14,7 @@ Text_WhereDoYouWantToSail:: @ 8181726 .string "Ahoy, there!\n" .string "Where do you want to sail?$" -gUnknown_818174E:: @ 818174E +OneIsland_Text_LuckyToHaveCelioHere:: @ 818174E .string "Here we are on an island smack in\n" .string "the middle of nowhere.\p" .string "We're lucky to have an upstanding\n" @@ -35,7 +26,7 @@ gUnknown_818174E:: @ 818174E .string "I'm not sure what that means, but\n" .string "CELIO is quite the man!$" -gUnknown_8181858:: @ 8181858 +OneIsland_Text_HavePCLinkageWithKanto:: @ 8181858 .string "My granddaughter was in a tizzy\n" .string "over a new breakthrough.\p" .string "She said we now have PC linkage\n" @@ -43,7 +34,7 @@ gUnknown_8181858:: @ 8181858 .string "I'm not sure what that means, but\n" .string "CELIO is quite the man!$" -gUnknown_8181901:: @ 8181901 +OneIsland_Text_HavePCLinkageWithHoenn:: @ 8181901 .string "My granddaughter was in a tizzy\n" .string "over a new breakthrough.\p" .string "She said we finally have PC linkage\n" @@ -53,18 +44,19 @@ gUnknown_8181901:: @ 8181901 .string "He would make a fine husband for\n" .string "my granddaughter!$" -gUnknown_81819E1:: @ 81819E1 +OneIsland_Text_IslandSign:: @ 81819E1 .string "ONE ISLAND\n" .string "Friends Gather at Knot Island$" -gUnknown_8181A0A:: @ 8181A0A +OneIsland_Text_PokemonNetCenterSign:: @ 8181A0A .string "Expanding the POKéMON World!\n" .string "POKéMON NET CENTER$" -Text_181A3A:: @ 8181A3A +@ Unused +OneIsland_Text_ReturnToCinnabar:: @ 8181A3A .string "グレンタウンに もどりますか?$" -gUnknown_8181A4A:: @ 8181A4A +OneIsland_Text_IsntWarmClimateHereGreat:: @ 8181A4A .string "Hi, sight-seeing, are you?\n" .string "Isn't the warm climate here great?$" diff --git a/data/maps/OneIsland_Harbor/map.json b/data/maps/OneIsland_Harbor/map.json index 2db30c3c5..a6ae42fa8 100644 --- a/data/maps/OneIsland_Harbor/map.json +++ b/data/maps/OneIsland_Harbor/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ONE_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SEAGALLOP", + "graphics_id": "OBJ_EVENT_GFX_SEAGALLOP", "x": 8, "y": 9, "elevation": 0, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 8, "y": 6, "elevation": 3, @@ -36,7 +38,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "OneIsland_Harbor_EventScript_1713BD", + "script": "OneIsland_Harbor_EventScript_Sailor", "flag": "0" } ], diff --git a/data/maps/OneIsland_Harbor/scripts.inc b/data/maps/OneIsland_Harbor/scripts.inc index bbbe36fb9..af6fe7ca5 100644 --- a/data/maps/OneIsland_Harbor/scripts.inc +++ b/data/maps/OneIsland_Harbor/scripts.inc @@ -4,21 +4,21 @@ OneIsland_Harbor_MapScripts:: @ 8171378 .byte 0 OneIsland_Harbor_OnWarp:: @ 8171383 - map_script_2 VAR_MAP_SCENE_ONE_ISLAND_HARBOR, 1, EventScript_17138D + map_script_2 VAR_MAP_SCENE_ONE_ISLAND_HARBOR, 1, OneIsland_Harbor_EventScript_TurnPlayerNorth .2byte 0 -EventScript_17138D:: @ 817138D +OneIsland_Harbor_EventScript_TurnPlayerNorth:: @ 817138D turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH end OneIsland_Harbor_OnFrame:: @ 8171392 - map_script_2 VAR_MAP_SCENE_ONE_ISLAND_HARBOR, 1, EventScript_17139C + map_script_2 VAR_MAP_SCENE_ONE_ISLAND_HARBOR, 1, OneIsland_Harbor_EventScript_PlayerEnterHarborFirstTime .2byte 0 -EventScript_17139C:: @ 817139C +OneIsland_Harbor_EventScript_PlayerEnterHarborFirstTime:: @ 817139C lockall textcolor 0 - applymovement OBJ_EVENT_ID_PLAYER, Movement_1713B9 + applymovement OBJ_EVENT_ID_PLAYER, OneIsland_Harbor_Movement_PlayerExitHarbor waitmovement 0 setvar VAR_MAP_SCENE_ONE_ISLAND_HARBOR, 2 warp MAP_ONE_ISLAND, 255, 12, 18 @@ -26,13 +26,13 @@ EventScript_17139C:: @ 817139C releaseall end -Movement_1713B9:: @ 81713B9 +OneIsland_Harbor_Movement_PlayerExitHarbor:: @ 81713B9 walk_up walk_up walk_up step_end -OneIsland_Harbor_EventScript_1713BD:: @ 81713BD +OneIsland_Harbor_EventScript_Sailor:: @ 81713BD lock faceplayer message Text_WhereDoYouWantToSail diff --git a/data/maps/OneIsland_House1/map.json b/data/maps/OneIsland_House1/map.json index c7a147ca9..ced35430e 100644 --- a/data/maps/OneIsland_House1/map.json +++ b/data/maps/OneIsland_House1/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ONE_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 4, "y": 5, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "OneIsland_House1_EventScript_17135C", + "script": "OneIsland_House1_EventScript_OldMan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_WOMAN", + "graphics_id": "OBJ_EVENT_GFX_OLD_WOMAN", "x": 7, "y": 5, "elevation": 3, @@ -36,7 +38,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "OneIsland_House1_EventScript_171365", + "script": "OneIsland_House1_EventScript_OldWoman", "flag": "0" } ], diff --git a/data/maps/OneIsland_House1/scripts.inc b/data/maps/OneIsland_House1/scripts.inc index 172f5f4a9..7a11eaa72 100644 --- a/data/maps/OneIsland_House1/scripts.inc +++ b/data/maps/OneIsland_House1/scripts.inc @@ -1,10 +1,10 @@ OneIsland_House1_MapScripts:: @ 817135B .byte 0 -OneIsland_House1_EventScript_17135C:: @ 817135C - msgbox gUnknown_81A2332, MSGBOX_NPC +OneIsland_House1_EventScript_OldMan:: @ 817135C + msgbox OneIsland_House1_Text_GazeUponVolcanoOnSunnyDays, MSGBOX_NPC end -OneIsland_House1_EventScript_171365:: @ 8171365 - msgbox gUnknown_81A2380, MSGBOX_NPC +OneIsland_House1_EventScript_OldWoman:: @ 8171365 + msgbox OneIsland_House1_Text_LastTimeMtEmberErupted, MSGBOX_NPC end diff --git a/data/maps/OneIsland_House1/text.inc b/data/maps/OneIsland_House1/text.inc index a050b31b0..09734127c 100644 --- a/data/maps/OneIsland_House1/text.inc +++ b/data/maps/OneIsland_House1/text.inc @@ -1,9 +1,9 @@ -gUnknown_81A2332:: @ 81A2332 +OneIsland_House1_Text_GazeUponVolcanoOnSunnyDays:: @ 81A2332 .string "On sunny days, I step out and gaze\n" .string "upon the volcano.\p" .string "That's my daily routine.$" -gUnknown_81A2380:: @ 81A2380 +OneIsland_House1_Text_LastTimeMtEmberErupted:: @ 81A2380 .string "Let me think… When was the last\n" .string "time MT. EMBER erupted?$" diff --git a/data/maps/OneIsland_House2/map.json b/data/maps/OneIsland_House2/map.json index 2da693dce..a715328ef 100644 --- a/data/maps/OneIsland_House2/map.json +++ b/data/maps/OneIsland_House2/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ONE_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 9, "y": 4, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "OneIsland_House2_EventScript_17136F", + "script": "OneIsland_House2_EventScript_Lass", "flag": "0" } ], diff --git a/data/maps/OneIsland_House2/scripts.inc b/data/maps/OneIsland_House2/scripts.inc index 0b1761475..e69c5b41e 100644 --- a/data/maps/OneIsland_House2/scripts.inc +++ b/data/maps/OneIsland_House2/scripts.inc @@ -1,6 +1,6 @@ OneIsland_House2_MapScripts:: @ 817136E .byte 0 -OneIsland_House2_EventScript_17136F:: @ 817136F - msgbox gUnknown_81A23B8, MSGBOX_NPC +OneIsland_House2_EventScript_Lass:: @ 817136F + msgbox OneIsland_House2_Text_IWantToStayHereForever, MSGBOX_NPC end diff --git a/data/maps/OneIsland_House2/text.inc b/data/maps/OneIsland_House2/text.inc index c147325c1..fe1a6ba91 100644 --- a/data/maps/OneIsland_House2/text.inc +++ b/data/maps/OneIsland_House2/text.inc @@ -1,4 +1,4 @@ -gUnknown_81A23B8:: @ 81A23B8 +OneIsland_House2_Text_IWantToStayHereForever:: @ 81A23B8 .string "Young people all want to go off to\n" .string "big cities.\p" .string "But I want to stay here forever!$" diff --git a/data/maps/OneIsland_KindleRoad/map.json b/data/maps/OneIsland_KindleRoad/map.json index 719fae823..d2a12ac4d 100644 --- a/data/maps/OneIsland_KindleRoad/map.json +++ b/data/maps/OneIsland_KindleRoad/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_KINDLE_ROAD", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ONE_ISLAND", @@ -20,7 +22,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_F_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_F_WATER", "x": 11, "y": 32, "elevation": 1, @@ -29,11 +31,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "OneIsland_KindleRoad_EventScript_1ABBF1", + "script": "OneIsland_KindleRoad_EventScript_Maria", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_F_LAND", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_F_LAND", "x": 17, "y": 132, "elevation": 3, @@ -42,11 +44,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "OneIsland_KindleRoad_EventScript_1ABC2F", + "script": "OneIsland_KindleRoad_EventScript_Abigail", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_M_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_M_WATER", "x": 7, "y": 39, "elevation": 1, @@ -55,11 +57,11 @@ "movement_range_y": 3, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "OneIsland_KindleRoad_EventScript_1ABC6D", + "script": "OneIsland_KindleRoad_EventScript_Finn", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_M_LAND", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_M_LAND", "x": 19, "y": 79, "elevation": 3, @@ -68,11 +70,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "OneIsland_KindleRoad_EventScript_1ABCAB", + "script": "OneIsland_KindleRoad_EventScript_Garrett", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_FISHER", + "graphics_id": "OBJ_EVENT_GFX_FISHER", "x": 15, "y": 25, "elevation": 3, @@ -81,11 +83,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 0, - "script": "OneIsland_KindleRoad_EventScript_1ABCE9", + "script": "OneIsland_KindleRoad_EventScript_Tommy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BATTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_BATTLE_GIRL", "x": 9, "y": 53, "elevation": 3, @@ -94,11 +96,11 @@ "movement_range_y": 7, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "OneIsland_KindleRoad_EventScript_1ABD27", + "script": "OneIsland_KindleRoad_EventScript_Sharon", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BATTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_BATTLE_GIRL", "x": 18, "y": 105, "elevation": 4, @@ -107,11 +109,11 @@ "movement_range_y": 4, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "OneIsland_KindleRoad_EventScript_1ABD65", + "script": "OneIsland_KindleRoad_EventScript_Tanya", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BLACKBELT", + "graphics_id": "OBJ_EVENT_GFX_BLACKBELT", "x": 16, "y": 64, "elevation": 3, @@ -120,11 +122,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "OneIsland_KindleRoad_EventScript_1ABDA3", + "script": "OneIsland_KindleRoad_EventScript_Shea", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BLACKBELT", + "graphics_id": "OBJ_EVENT_GFX_BLACKBELT", "x": 11, "y": 64, "elevation": 3, @@ -133,11 +135,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "OneIsland_KindleRoad_EventScript_1ABDE1", + "script": "OneIsland_KindleRoad_EventScript_Hugh", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CAMPER", + "graphics_id": "OBJ_EVENT_GFX_CAMPER", "x": 11, "y": 89, "elevation": 3, @@ -146,11 +148,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "OneIsland_KindleRoad_EventScript_1ABE1F", + "script": "OneIsland_KindleRoad_EventScript_Bryce", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 9, "y": 108, "elevation": 3, @@ -159,11 +161,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "OneIsland_KindleRoad_EventScript_1ABE5D", + "script": "OneIsland_KindleRoad_EventScript_Claire", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BLACKBELT", + "graphics_id": "OBJ_EVENT_GFX_BLACKBELT", "x": 8, "y": 68, "elevation": 3, @@ -172,11 +174,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "OneIsland_KindleRoad_EventScript_1ABEE1", + "script": "OneIsland_KindleRoad_EventScript_Mik", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BATTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_BATTLE_GIRL", "x": 9, "y": 68, "elevation": 3, @@ -185,11 +187,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "OneIsland_KindleRoad_EventScript_1ABE9B", + "script": "OneIsland_KindleRoad_EventScript_Kia", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 8, "y": 104, "elevation": 3, @@ -198,11 +200,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_13" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 11, "y": 95, "elevation": 3, @@ -211,11 +213,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 12, "y": 96, "elevation": 3, @@ -224,11 +226,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_16" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 10, "y": 95, "elevation": 3, @@ -237,11 +239,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_17" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 9, "y": 105, "elevation": 3, @@ -250,11 +252,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_18" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 15, "y": 75, "elevation": 3, @@ -263,11 +265,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_19" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 9, "y": 84, "elevation": 3, @@ -276,11 +278,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1A" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 15, "y": 74, "elevation": 3, @@ -289,11 +291,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1B" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 15, "y": 73, "elevation": 3, @@ -302,11 +304,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1C" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 18, "y": 111, "elevation": 4, @@ -315,11 +317,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1D" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 10, "y": 86, "elevation": 3, @@ -328,11 +330,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1E" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 9, "y": 110, "elevation": 3, @@ -341,11 +343,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1F" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 18, "y": 112, "elevation": 4, @@ -354,11 +356,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_11" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 15, "y": 70, "elevation": 3, @@ -371,7 +373,7 @@ "flag": "FLAG_HIDE_ONE_ISLAND_KINDLE_ROAD_ETHER" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 17, "y": 103, "elevation": 3, @@ -384,7 +386,7 @@ "flag": "FLAG_HIDE_ONE_ISLAND_KINDLE_ROAD_MAX_REPEL" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 18, "y": 114, "elevation": 4, @@ -423,18 +425,20 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 13, "y": 59, "elevation": 0, - "script": "OneIsland_KindleRoad_EventScript_168762" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "OneIsland_KindleRoad_EventScript_EmberSpaSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 115, "elevation": 0, - "script": "OneIsland_KindleRoad_EventScript_168759" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "OneIsland_KindleRoad_EventScript_RouteSign" } ] } diff --git a/data/maps/OneIsland_KindleRoad/scripts.inc b/data/maps/OneIsland_KindleRoad/scripts.inc index 00c5106a7..bcc33708a 100644 --- a/data/maps/OneIsland_KindleRoad/scripts.inc +++ b/data/maps/OneIsland_KindleRoad/scripts.inc @@ -1,10 +1,10 @@ OneIsland_KindleRoad_MapScripts:: @ 8168758 .byte 0 -OneIsland_KindleRoad_EventScript_168759:: @ 8168759 - msgbox gUnknown_8189D02, MSGBOX_SIGN +OneIsland_KindleRoad_EventScript_RouteSign:: @ 8168759 + msgbox OneIsland_KindleRoad_Text_RouteSign, MSGBOX_SIGN end -OneIsland_KindleRoad_EventScript_168762:: @ 8168762 - msgbox gUnknown_8189D32, MSGBOX_SIGN +OneIsland_KindleRoad_EventScript_EmberSpaSign:: @ 8168762 + msgbox OneIsland_KindleRoad_Text_EmberSpaSign, MSGBOX_SIGN end diff --git a/data/maps/OneIsland_KindleRoad/text.inc b/data/maps/OneIsland_KindleRoad/text.inc index 93537a5f3..8a65dd3ac 100644 --- a/data/maps/OneIsland_KindleRoad/text.inc +++ b/data/maps/OneIsland_KindleRoad/text.inc @@ -1,164 +1,164 @@ -Text_18961F:: @ 818961F +OneIsland_KindleRoad_Text_MariaIntro:: @ 818961F .string "The weather's gorgeous!\n" .string "Perfect for a battle!$" -Text_18964D:: @ 818964D +OneIsland_KindleRoad_Text_MariaDefeat:: @ 818964D .string "Aiyeeeeh!$" -Text_189657:: @ 8189657 +OneIsland_KindleRoad_Text_MariaPostBattle:: @ 8189657 .string "Please don't splash my face!\n" .string "You'll ruin the makeup.$" -Text_18968C:: @ 818968C +OneIsland_KindleRoad_Text_AbigailIntro:: @ 818968C .string "I'm beginning to get a sunburn…$" -Text_1896AC:: @ 81896AC +OneIsland_KindleRoad_Text_AbigailDefeat:: @ 81896AC .string "Oh, you're so awful.$" -Text_1896C1:: @ 81896C1 +OneIsland_KindleRoad_Text_AbigailPostBattle:: @ 81896C1 .string "I like that cap you have.\n" .string "Maybe I should wear one, too…$" -Text_1896F9:: @ 81896F9 +OneIsland_KindleRoad_Text_FinnIntro:: @ 81896F9 .string "Seen from here, MT. EMBER towers\n" .string "into the sky.$" -Text_189728:: @ 8189728 +OneIsland_KindleRoad_Text_FinnDefeat:: @ 8189728 .string "Well, aren't you tough?$" -Text_189740:: @ 8189740 +OneIsland_KindleRoad_Text_FinnPostBattle:: @ 8189740 .string "The sky is immense around these\n" .string "parts.$" -Text_189767:: @ 8189767 +OneIsland_KindleRoad_Text_GarrettIntro:: @ 8189767 .string "I took a break from swimming,\n" .string "only to have you challenge me?$" -Text_1897A4:: @ 81897A4 +OneIsland_KindleRoad_Text_GarrettDefeat:: @ 81897A4 .string "Hey, what the…\n" .string "You're good, you!$" -Text_1897C5:: @ 81897C5 +OneIsland_KindleRoad_Text_GarrettPostBattle:: @ 81897C5 .string "Instead of using SURF all the time,\n" .string "you should swim some.$" -Text_1897FF:: @ 81897FF +OneIsland_KindleRoad_Text_TommyIntro:: @ 81897FF .string "Wait! Wait a second!\n" .string "I think I've hooked a big one!$" -Text_189833:: @ 8189833 +OneIsland_KindleRoad_Text_TommyDefeat:: @ 8189833 .string "I've lost it all again…$" -Text_18984B:: @ 818984B +OneIsland_KindleRoad_Text_TommyPostBattle:: @ 818984B .string "Not only did I lose, the big one\n" .string "got away from me, too!$" -Text_189883:: @ 8189883 +OneIsland_KindleRoad_Text_SharonIntro:: @ 8189883 .string "Could you help me out with my\n" .string "training?$" -Text_1898AB:: @ 81898AB +OneIsland_KindleRoad_Text_SharonDefeat:: @ 81898AB .string "You were a cut above me.$" -Text_1898C4:: @ 81898C4 +OneIsland_KindleRoad_Text_SharonPostBattle:: @ 81898C4 .string "It's clear that you're skilled.\n" .string "I like you!$" -Text_1898F0:: @ 81898F0 +OneIsland_KindleRoad_Text_TanyaIntro:: @ 81898F0 .string "There isn't a day in which we don't\n" .string "train!$" -Text_18991B:: @ 818991B +OneIsland_KindleRoad_Text_TanyaDefeat:: @ 818991B .string "I'm such a fool!$" -Text_18992C:: @ 818992C +OneIsland_KindleRoad_Text_TanyaPostBattle:: @ 818992C .string "I'll train even harder from now on!$" -Text_189950:: @ 8189950 +OneIsland_KindleRoad_Text_SheaIntro:: @ 8189950 .string "Every morning, before breakfast,\n" .string "I swim around this island.$" -Text_18998C:: @ 818998C +OneIsland_KindleRoad_Text_SheaDefeat:: @ 818998C .string "Gasp…\n" .string "Gasp…$" -Text_189998:: @ 8189998 +OneIsland_KindleRoad_Text_SheaPostBattle:: @ 8189998 .string "I lost because I'm pooped from all\n" .string "the running I did…$" -Text_1899CE:: @ 81899CE +OneIsland_KindleRoad_Text_HughIntro:: @ 81899CE .string "Dress appropriately for battle!\n" .string "Lose that frivolous outfit!$" -Text_189A0A:: @ 8189A0A +OneIsland_KindleRoad_Text_HughDefeat:: @ 8189A0A .string "Why me?!$" -Text_189A13:: @ 8189A13 +OneIsland_KindleRoad_Text_HughPostBattle:: @ 8189A13 .string "Even martial artists are becoming\n" .string "fashion conscious these days…$" -Text_189A53:: @ 8189A53 +OneIsland_KindleRoad_Text_BryceIntro:: @ 8189A53 .string "You know, everything tastes great\n" .string "when you're out in the wild.$" -Text_189A92:: @ 8189A92 +OneIsland_KindleRoad_Text_BryceDefeat:: @ 8189A92 .string "Awww, blown!$" -Text_189A9F:: @ 8189A9F +OneIsland_KindleRoad_Text_BrycePostBattle:: @ 8189A9F .string "The water in volcanic regions is\n" .string "delicious.$" -Text_189ACB:: @ 8189ACB +OneIsland_KindleRoad_Text_ClaireIntro:: @ 8189ACB .string "My lunch filled us up, so will you\n" .string "battle us for some exercise?$" -Text_189B0B:: @ 8189B0B +OneIsland_KindleRoad_Text_ClaireDefeat:: @ 8189B0B .string "That made me all sweaty.$" -Text_189B24:: @ 8189B24 +OneIsland_KindleRoad_Text_ClairePostBattle:: @ 8189B24 .string "What should I do?\n" .string "I feel famished again.$" -Text_189B4D:: @ 8189B4D +OneIsland_KindleRoad_Text_KiaIntro:: @ 8189B4D .string "KIA: My big brother and I make\n" .string "an awesome combination!$" -Text_189B84:: @ 8189B84 +OneIsland_KindleRoad_Text_KiaDefeat:: @ 8189B84 .string "KIA: Huh?!\n" .string "I can't believe it!$" -Text_189BA3:: @ 8189BA3 +OneIsland_KindleRoad_Text_KiaPostBattle:: @ 8189BA3 .string "KIA: How could there be anyone\n" .string "better than my big brother?$" -Text_189BDE:: @ 8189BDE +OneIsland_KindleRoad_Text_KiaNotEnoughMons:: @ 8189BDE .string "KIA: If you want to battle with\n" .string "us, you have to bring at least two\l" .string "POKéMON with you.$" -Text_189C33:: @ 8189C33 +OneIsland_KindleRoad_Text_MikIntro:: @ 8189C33 .string "MIK: Together with KIA, I'm afraid\n" .string "of nothing!$" -Text_189C62:: @ 8189C62 +OneIsland_KindleRoad_Text_MikDefeat:: @ 8189C62 .string "MIK: Whoa!\n" .string "That's too much!$" -Text_189C7E:: @ 8189C7E +OneIsland_KindleRoad_Text_MikPostBattle:: @ 8189C7E .string "MIK: How could my combination\n" .string "with KIA fail?$" -Text_189CAB:: @ 8189CAB +OneIsland_KindleRoad_Text_MikNotEnoughMons:: @ 8189CAB .string "MIK: Hey, do you want to battle\n" .string "with us two?\p" .string "Bring two or more POKéMON with\n" .string "you, then.$" -gUnknown_8189D02:: @ 8189D02 +OneIsland_KindleRoad_Text_RouteSign:: @ 8189D02 .string "This is KINDLE ROAD.\p" .string "Go straight for MT. EMBER.$" -gUnknown_8189D32:: @ 8189D32 +OneIsland_KindleRoad_Text_EmberSpaSign:: @ 8189D32 .string "Light the Fire in Your Heart!\n" .string "EMBER SPA$" diff --git a/data/maps/OneIsland_KindleRoad_EmberSpa/map.json b/data/maps/OneIsland_KindleRoad_EmberSpa/map.json index 32531ae9c..112a729cd 100644 --- a/data/maps/OneIsland_KindleRoad_EmberSpa/map.json +++ b/data/maps/OneIsland_KindleRoad_EmberSpa/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_EMBER_SPA", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 11, "y": 13, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "OneIsland_KindleRoad_EmberSpa_EventScript_16535C", + "script": "OneIsland_KindleRoad_EmberSpa_EventScript_OldMan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 15, "y": 11, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "OneIsland_KindleRoad_EmberSpa_EventScript_165365", + "script": "OneIsland_KindleRoad_EmberSpa_EventScript_BaldingMan1", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BLACKBELT", + "graphics_id": "OBJ_EVENT_GFX_BLACKBELT", "x": 6, "y": 8, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "OneIsland_KindleRoad_EmberSpa_EventScript_165380", + "script": "OneIsland_KindleRoad_EmberSpa_EventScript_BlackBelt", "flag": "FLAG_HIDE_POSTGAME_GOSSIPERS" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_WOMAN", + "graphics_id": "OBJ_EVENT_GFX_OLD_WOMAN", "x": 20, "y": 7, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "OneIsland_KindleRoad_EmberSpa_EventScript_165377", + "script": "OneIsland_KindleRoad_EmberSpa_EventScript_OldWoman", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 10, "y": 5, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "OneIsland_KindleRoad_EmberSpa_EventScript_165399", + "script": "OneIsland_KindleRoad_EmberSpa_EventScript_RockSmashMan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 11, "y": 20, "elevation": 3, @@ -88,7 +90,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "OneIsland_KindleRoad_EmberSpa_EventScript_16536E", + "script": "OneIsland_KindleRoad_EmberSpa_EventScript_BaldingMan2", "flag": "0" } ], @@ -109,7 +111,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": 0, - "script": "OneIsland_KindleRoad_EmberSpa_EventScript_1653CF" + "script": "OneIsland_KindleRoad_EmberSpa_EventScript_SpaHeal" } ], "bg_events": [] diff --git a/data/maps/OneIsland_KindleRoad_EmberSpa/scripts.inc b/data/maps/OneIsland_KindleRoad_EmberSpa/scripts.inc index d32ab0d4a..becd846c8 100644 --- a/data/maps/OneIsland_KindleRoad_EmberSpa/scripts.inc +++ b/data/maps/OneIsland_KindleRoad_EmberSpa/scripts.inc @@ -1,52 +1,52 @@ OneIsland_KindleRoad_EmberSpa_MapScripts:: @ 816535B .byte 0 -OneIsland_KindleRoad_EmberSpa_EventScript_16535C:: @ 816535C - msgbox gUnknown_817D34A, MSGBOX_NPC +OneIsland_KindleRoad_EmberSpa_EventScript_OldMan:: @ 816535C + msgbox OneIsland_KindleRoad_EmberSpa_Text_WaterWarmsMeToCore, MSGBOX_NPC end -OneIsland_KindleRoad_EmberSpa_EventScript_165365:: @ 8165365 - msgbox gUnknown_817D3DE, MSGBOX_NPC +OneIsland_KindleRoad_EmberSpa_EventScript_BaldingMan1:: @ 8165365 + msgbox OneIsland_KindleRoad_EmberSpa_Text_EnjoyBowlOfChowder, MSGBOX_NPC end -OneIsland_KindleRoad_EmberSpa_EventScript_16536E:: @ 816536E - msgbox gUnknown_817D4AA, MSGBOX_NPC +OneIsland_KindleRoad_EmberSpa_EventScript_BaldingMan2:: @ 816536E + msgbox OneIsland_KindleRoad_EmberSpa_Text_HotSpringIsTherapeutic, MSGBOX_NPC end -OneIsland_KindleRoad_EmberSpa_EventScript_165377:: @ 8165377 - msgbox gUnknown_817D4E3, MSGBOX_NPC +OneIsland_KindleRoad_EmberSpa_EventScript_OldWoman:: @ 8165377 + msgbox OneIsland_KindleRoad_EmberSpa_Text_SeeHowSmoothMySkinIs, MSGBOX_NPC end -OneIsland_KindleRoad_EmberSpa_EventScript_165380:: @ 8165380 +OneIsland_KindleRoad_EmberSpa_EventScript_BlackBelt:: @ 8165380 lock faceplayer famechecker FAMECHECKER_BRUNO, 3 - msgbox gUnknown_817D550 + msgbox OneIsland_KindleRoad_EmberSpa_Text_BrunoVisitsSpaOnOccasion release end -OneIsland_KindleRoad_EmberSpa_EventScript_165399:: @ 8165399 +OneIsland_KindleRoad_EmberSpa_EventScript_RockSmashMan:: @ 8165399 lock faceplayer - goto_if_set FLAG_GOT_HM06, EventScript_1653C5 - msgbox gUnknown_817D622 + goto_if_set FLAG_GOT_HM06, OneIsland_KindleRoad_EmberSpa_EventScript_AlreadyGotHM06 + msgbox OneIsland_KindleRoad_EmberSpa_Text_UsedThisToMakeEmberSpa giveitem ITEM_HM06 setflag FLAG_GOT_HM06 - msgbox gUnknown_817D6F3 + msgbox OneIsland_KindleRoad_EmberSpa_Text_ExplainHM06 release end -EventScript_1653C5:: @ 81653C5 - msgbox gUnknown_817D6F3 +OneIsland_KindleRoad_EmberSpa_EventScript_AlreadyGotHM06:: @ 81653C5 + msgbox OneIsland_KindleRoad_EmberSpa_Text_ExplainHM06 release end -OneIsland_KindleRoad_EmberSpa_EventScript_1653CF:: @ 81653CF +OneIsland_KindleRoad_EmberSpa_EventScript_SpaHeal:: @ 81653CF lockall fadescreen FADE_TO_WHITE special HealPlayerParty fadescreen FADE_FROM_WHITE - msgbox gUnknown_817D450 + msgbox OneIsland_KindleRoad_EmberSpa_Text_WaterExquisiteFullyRefreshed setvar VAR_TEMP_1, 1 releaseall end diff --git a/data/maps/OneIsland_KindleRoad_EmberSpa/text.inc b/data/maps/OneIsland_KindleRoad_EmberSpa/text.inc index ffc4fea83..64c2ee64c 100644 --- a/data/maps/OneIsland_KindleRoad_EmberSpa/text.inc +++ b/data/maps/OneIsland_KindleRoad_EmberSpa/text.inc @@ -1,4 +1,4 @@ -gUnknown_817D34A:: @ 817D34A +OneIsland_KindleRoad_EmberSpa_Text_WaterWarmsMeToCore:: @ 817D34A .string "Hm!\n" .string "Haaaaaaaaaaah!\p" .string "Aaaah! This is heavenly!\n" @@ -7,29 +7,29 @@ gUnknown_817D34A:: @ 817D34A .string "Go to the middle, relax, and get\n" .string "good and warm!$" -gUnknown_817D3DE:: @ 817D3DE +OneIsland_KindleRoad_EmberSpa_Text_EnjoyBowlOfChowder:: @ 817D3DE .string "My favorite part of bathing comes\n" .string "up right after this.\p" .string "I enjoy a bowl of chowder to\n" .string "warm me from the inside, too!$" -gUnknown_817D450:: @ 817D450 +OneIsland_KindleRoad_EmberSpa_Text_WaterExquisiteFullyRefreshed:: @ 817D450 .string "The water is perfectly warm.\n" .string "It feels exquisite…\p" .string "{PLAYER} and the POKéMON were\n" .string "fully refreshed!$" -gUnknown_817D4AA:: @ 817D4AA +OneIsland_KindleRoad_EmberSpa_Text_HotSpringIsTherapeutic:: @ 817D4AA .string "Soaking in a hot spring pool is\n" .string "therapeutic, people say.$" -gUnknown_817D4E3:: @ 817D4E3 +OneIsland_KindleRoad_EmberSpa_Text_SeeHowSmoothMySkinIs:: @ 817D4E3 .string "Have a look at my face.\n" .string "See how smooth my skin is?\p" .string "The hot spring's water keeps my\n" .string "skin younger than my age.$" -gUnknown_817D550:: @ 817D550 +OneIsland_KindleRoad_EmberSpa_Text_BrunoVisitsSpaOnOccasion:: @ 817D550 .string "After an honest day of training,\n" .string "nothing beats a relaxing soak in\l" .string "the hot spring pool.\p" @@ -38,7 +38,7 @@ gUnknown_817D550:: @ 817D550 .string "He comes to rehab injuries, both\n" .string "his own and his POKéMON's.$" -gUnknown_817D622:: @ 817D622 +OneIsland_KindleRoad_EmberSpa_Text_UsedThisToMakeEmberSpa:: @ 817D622 .string "Hot springs go hand-in-hand with\n" .string "volcanoes.\p" .string "The EMBER SPA here, well,\n" @@ -48,7 +48,7 @@ gUnknown_817D622:: @ 817D622 .string "I was using this at the time.\n" .string "I suppose I can part with it.$" -gUnknown_817D6F3:: @ 817D6F3 +OneIsland_KindleRoad_EmberSpa_Text_ExplainHM06:: @ 817D6F3 .string "That shatters boulders as if they\n" .string "were made of crackers.$" diff --git a/data/maps/OneIsland_PokemonCenter_1F/map.json b/data/maps/OneIsland_PokemonCenter_1F/map.json index 2328175c2..849cdca08 100644 --- a/data/maps/OneIsland_PokemonCenter_1F/map.json +++ b/data/maps/OneIsland_PokemonCenter_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ONE_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_NURSE", + "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 5, "y": 2, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "OneIsland_PokemonCenter_1F_EventScript_170E94", + "script": "OneIsland_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BILL", + "graphics_id": "OBJ_EVENT_GFX_BILL", "x": 14, "y": 6, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "OneIsland_PokemonCenter_1F_EventScript_170E9D", + "script": "OneIsland_PokemonCenter_1F_EventScript_Bill", "flag": "FLAG_HIDE_ONE_ISLAND_POKECENTER_BILL" }, { - "graphics_id": "OBJECT_EVENT_GFX_CELIO", + "graphics_id": "OBJ_EVENT_GFX_CELIO", "x": 15, "y": 6, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "OneIsland_PokemonCenter_1F_EventScript_170EC5", + "script": "OneIsland_PokemonCenter_1F_EventScript_Celio", "flag": "FLAG_HIDE_ONE_ISLAND_POKECENTER_CELIO" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_BOY", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_BOY", "x": 6, "y": 8, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "OneIsland_PokemonCenter_1F_EventScript_171148", + "script": "OneIsland_PokemonCenter_1F_EventScript_LittleBoy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 3, "y": 7, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "OneIsland_PokemonCenter_1F_EventScript_171151", + "script": "OneIsland_PokemonCenter_1F_EventScript_Hiker", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BATTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_BATTLE_GIRL", "x": 7, "y": 4, "elevation": 3, @@ -88,7 +90,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "OneIsland_PokemonCenter_1F_EventScript_17115A", + "script": "OneIsland_PokemonCenter_1F_EventScript_BattleGirl", "flag": "0" } ], @@ -116,7 +118,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F", "var_value": 2, - "script": "OneIsland_PokemonCenter_1F_EventScript_1711AA" + "script": "OneIsland_PokemonCenter_1F_EventScript_LeaveOneIslandTriggerTop" }, { "type": "trigger", @@ -125,7 +127,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F", "var_value": 2, - "script": "OneIsland_PokemonCenter_1F_EventScript_1711B6" + "script": "OneIsland_PokemonCenter_1F_EventScript_LeaveOneIslandTriggerMidTop" }, { "type": "trigger", @@ -134,7 +136,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F", "var_value": 2, - "script": "OneIsland_PokemonCenter_1F_EventScript_1711C2" + "script": "OneIsland_PokemonCenter_1F_EventScript_LeaveOneIslandTriggerMidBottom" }, { "type": "trigger", @@ -143,72 +145,81 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F", "var_value": 2, - "script": "OneIsland_PokemonCenter_1F_EventScript_1711CE" + "script": "OneIsland_PokemonCenter_1F_EventScript_LeaveOneIslandTriggerBottom" } ], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 2, "elevation": 0, - "script": "OneIsland_PokemonCenter_1F_EventScript_171179" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "OneIsland_PokemonCenter_1F_EventScript_NetworkMachine" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 3, "elevation": 0, - "script": "OneIsland_PokemonCenter_1F_EventScript_171179" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "OneIsland_PokemonCenter_1F_EventScript_NetworkMachine" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 4, "elevation": 0, - "script": "OneIsland_PokemonCenter_1F_EventScript_171179" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "OneIsland_PokemonCenter_1F_EventScript_NetworkMachine" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 5, "elevation": 0, - "script": "OneIsland_PokemonCenter_1F_EventScript_171179" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "OneIsland_PokemonCenter_1F_EventScript_NetworkMachine" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 13, "y": 5, "elevation": 0, - "script": "OneIsland_PokemonCenter_1F_EventScript_171179" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "OneIsland_PokemonCenter_1F_EventScript_NetworkMachine" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 15, "y": 5, "elevation": 0, - "script": "OneIsland_PokemonCenter_1F_EventScript_171179" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "OneIsland_PokemonCenter_1F_EventScript_NetworkMachine" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 14, "y": 5, "elevation": 0, - "script": "OneIsland_PokemonCenter_1F_EventScript_171179" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "OneIsland_PokemonCenter_1F_EventScript_NetworkMachine" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 16, "y": 5, "elevation": 0, - "script": "OneIsland_PokemonCenter_1F_EventScript_171179" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "OneIsland_PokemonCenter_1F_EventScript_NetworkMachine" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 17, "y": 5, "elevation": 0, - "script": "OneIsland_PokemonCenter_1F_EventScript_171179" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "OneIsland_PokemonCenter_1F_EventScript_NetworkMachine" } ] } diff --git a/data/maps/OneIsland_PokemonCenter_1F/scripts.inc b/data/maps/OneIsland_PokemonCenter_1F/scripts.inc index 05f00c76b..67c48c033 100644 --- a/data/maps/OneIsland_PokemonCenter_1F/scripts.inc +++ b/data/maps/OneIsland_PokemonCenter_1F/scripts.inc @@ -1,3 +1,6 @@ +.equ LOCALID_BILL, 2 +.equ LOCALID_CELIO, 3 + OneIsland_PokemonCenter_1F_MapScripts:: @ 8170BF8 map_script MAP_SCRIPT_ON_TRANSITION, OneIsland_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume @@ -7,147 +10,147 @@ OneIsland_PokemonCenter_1F_MapScripts:: @ 8170BF8 OneIsland_PokemonCenter_1F_OnLoad:: @ 8170C0D compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 5 - call_if_ge EventScript_170C22 - call_if_set FLAG_SYS_CAN_LINK_WITH_RS, EventScript_170C36 + call_if_ge OneIsland_PokemonCenter_1F_EventScript_SetRubyMetatile + call_if_set FLAG_SYS_CAN_LINK_WITH_RS, OneIsland_PokemonCenter_1F_EventScript_SetNetworkMachineOn end -EventScript_170C22:: @ 8170C22 - setmetatile 13, 4, 861, 1 +OneIsland_PokemonCenter_1F_EventScript_SetRubyMetatile:: @ 8170C22 + setmetatile 13, 4, METATILE_PokemonCenter_NetworkMachine_Ruby, 1 return -EventScript_170C2C:: @ 8170C2C - setmetatile 16, 4, 863, 1 +OneIsland_PokemonCenter_1F_EventScript_SetSapphireMetatile:: @ 8170C2C + setmetatile 16, 4, METATILE_PokemonCenter_NetworkMachine_Sapphire, 1 return -EventScript_170C36:: @ 8170C36 - call EventScript_170C2C - setmetatile 14, 4, 858, 1 - setmetatile 15, 4, 859, 1 +OneIsland_PokemonCenter_1F_EventScript_SetNetworkMachineOn:: @ 8170C36 + call OneIsland_PokemonCenter_1F_EventScript_SetSapphireMetatile + setmetatile 14, 4, METATILE_PokemonCenter_NetworkMachine_ScreenLeft_On, 1 + setmetatile 15, 4, METATILE_PokemonCenter_NetworkMachine_ScreenRight_On, 1 return OneIsland_PokemonCenter_1F_OnTransition:: @ 8170C4E setrespawn SPAWN_ONE_ISLAND compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 6 - call_if_eq EventScript_170C73 + call_if_eq OneIsland_PokemonCenter_1F_EventScript_SetCelioQuestDone compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 0 - call_if_eq EventScript_170C79 + call_if_eq OneIsland_PokemonCenter_1F_EventScript_SetBillCelioFirstMeetingPos compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 2 - call_if_eq EventScript_170C90 + call_if_eq OneIsland_PokemonCenter_1F_EventScript_SetBillCelioReadyToLeavePos end -EventScript_170C73:: @ 8170C73 +OneIsland_PokemonCenter_1F_EventScript_SetCelioQuestDone:: @ 8170C73 setvar VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 7 return -EventScript_170C79:: @ 8170C79 - setobjectxyperm 2, 9, 8 - setobjectmovementtype 2, 7 - setobjectxyperm 3, 15, 6 - setobjectmovementtype 3, 7 +OneIsland_PokemonCenter_1F_EventScript_SetBillCelioFirstMeetingPos:: @ 8170C79 + setobjectxyperm LOCALID_BILL, 9, 8 + setobjectmovementtype LOCALID_BILL, MOVEMENT_TYPE_FACE_UP + setobjectxyperm LOCALID_CELIO, 15, 6 + setobjectmovementtype LOCALID_CELIO, MOVEMENT_TYPE_FACE_UP return -EventScript_170C90:: @ 8170C90 - setobjectxyperm 2, 14, 7 - setobjectmovementtype 2, 9 - setobjectxyperm 3, 14, 8 - setobjectmovementtype 3, 9 +OneIsland_PokemonCenter_1F_EventScript_SetBillCelioReadyToLeavePos:: @ 8170C90 + setobjectxyperm LOCALID_BILL, 14, 7 + setobjectmovementtype LOCALID_BILL, MOVEMENT_TYPE_FACE_LEFT + setobjectxyperm LOCALID_CELIO, 14, 8 + setobjectmovementtype LOCALID_CELIO, MOVEMENT_TYPE_FACE_LEFT return OneIsland_PokemonCenter_1F_OnFrame:: @ 8170CA7 - map_script_2 VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 0, EventScript_170CB1 + map_script_2 VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 0, OneIsland_PokemonCenter_1F_EventScript_MeetCelioScene .2byte 0 -EventScript_170CB1:: @ 8170CB1 +OneIsland_PokemonCenter_1F_EventScript_MeetCelioScene:: @ 8170CB1 lockall textcolor 0 - applymovement OBJ_EVENT_ID_PLAYER, Movement_170E7D - applymovement 2, Movement_170E86 + applymovement OBJ_EVENT_ID_PLAYER, OneIsland_PokemonCenter_1F_Movement_PlayerWalkToCelio + applymovement LOCALID_BILL, OneIsland_PokemonCenter_1F_Movement_BillWalkToCelio waitmovement 0 - msgbox gUnknown_81A0CDE + msgbox OneIsland_PokemonCenter_1F_Text_BillHeyThereCelio applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight waitmovement 0 playse SE_PIN - applymovement 3, Movement_ExclamationMark + applymovement LOCALID_CELIO, Movement_ExclamationMark waitmovement 0 - applymovement 3, Movement_WalkInPlaceFastestLeft + applymovement LOCALID_CELIO, Movement_WalkInPlaceFastestLeft waitmovement 0 - applymovement 3, Movement_Delay48 + applymovement LOCALID_CELIO, Movement_Delay48 waitmovement 0 - msgbox gUnknown_81A0CF7 - msgbox gUnknown_81A0D27 - applymovement 2, Movement_WalkInPlaceFastestDown + msgbox OneIsland_PokemonCenter_1F_Text_CelioCantBelieveYouCameOut + msgbox OneIsland_PokemonCenter_1F_Text_BillHowsYourResearchComing + applymovement LOCALID_BILL, Movement_WalkInPlaceFastestDown applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox gUnknown_81A0D72 - applymovement 2, Movement_WalkInPlaceFastestRight + msgbox OneIsland_PokemonCenter_1F_Text_ThisIsMyBuddyCelio + applymovement LOCALID_BILL, Movement_WalkInPlaceFastestRight waitmovement 0 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight waitmovement 0 - call_if_set FLAG_SYS_GAME_CLEAR, EventScript_170E34 - call_if_unset FLAG_SYS_GAME_CLEAR, EventScript_170E3D - applymovement 3, Movement_WalkInPlaceFastestDown + call_if_set FLAG_SYS_GAME_CLEAR, OneIsland_PokemonCenter_1F_EventScript_IntroducePlayerChamp + call_if_unset FLAG_SYS_GAME_CLEAR, OneIsland_PokemonCenter_1F_EventScript_IntroducePlayerNotChamp + applymovement LOCALID_CELIO, Movement_WalkInPlaceFastestDown waitmovement 0 - msgbox gUnknown_81A0E17 - msgbox gUnknown_81A0E90 - applymovement 3, Movement_WalkInPlaceFastestLeft + msgbox OneIsland_PokemonCenter_1F_Text_CelioThatsReallyImpressive + msgbox OneIsland_PokemonCenter_1F_Text_BillBringMeUpToSpeed + applymovement LOCALID_CELIO, Movement_WalkInPlaceFastestLeft waitmovement 0 - msgbox gUnknown_81A0ECC + msgbox OneIsland_PokemonCenter_1F_Text_CelioPCsCantLinkWithYours closemessage - applymovement 2, Movement_WalkInPlaceFastestUp + applymovement LOCALID_BILL, Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox gUnknown_81A0F40 - applymovement 2, Movement_WalkInPlaceFastestDown + msgbox OneIsland_PokemonCenter_1F_Text_BillLetMeHelpYou + applymovement LOCALID_BILL, Movement_WalkInPlaceFastestDown waitmovement 0 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox gUnknown_81A0FB1 - msgreceiveditem gUnknown_81A10EE, ITEM_METEORITE, 1, MUS_FAN5 + msgbox OneIsland_PokemonCenter_1F_Text_CanYouDeliverThisMeteoritePlayer + msgreceiveditem OneIsland_PokemonCenter_1F_Text_AcceptedMeteoriteFromBill, ITEM_METEORITE, 1, MUS_FAN5 additem ITEM_METEORITE - applymovement 3, Movement_WalkInPlaceFastestDown + applymovement LOCALID_CELIO, Movement_WalkInPlaceFastestDown waitmovement 0 - msgbox gUnknown_81A1113 - giveitem_msg gUnknown_81A231B, ITEM_TRI_PASS, 1, MUS_FAN5 - msgbox gUnknown_81A1150 + msgbox OneIsland_PokemonCenter_1F_Text_CelioPleaseTakeThis + giveitem_msg OneIsland_PokemonCenter_1F_Text_ObtainedTriPass, ITEM_TRI_PASS, 1, MUS_FAN5 + msgbox OneIsland_PokemonCenter_1F_Text_PassLetsYouTravelBetweenIslands compare VAR_MAP_SCENE_PALLET_TOWN_GARYS_HOUSE, 2 - call_if_ge EventScript_170E46 + call_if_ge OneIsland_PokemonCenter_1F_EventScript_ReceiveTownMapPage compare VAR_MAP_SCENE_PALLET_TOWN_GARYS_HOUSE, 2 - call_if_lt EventScript_170E58 + call_if_lt OneIsland_PokemonCenter_1F_EventScript_ReceiveTownMap setflag FLAG_SYS_SEVII_MAP_123 - msgbox gUnknown_81A1230 + msgbox OneIsland_PokemonCenter_1F_Text_BillCatchYouLater closemessage - applymovement 2, Movement_WalkInPlaceFastestUp + applymovement LOCALID_BILL, Movement_WalkInPlaceFastestUp waitmovement 0 - applymovement 3, Movement_WalkInPlaceFastestUp + applymovement LOCALID_CELIO, Movement_WalkInPlaceFastestUp waitmovement 0 setflag FLAG_SYS_PC_STORAGE_DISABLED setvar VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 1 releaseall end -EventScript_170E34:: @ 8170E34 - msgbox gUnknown_81A0DE8 +OneIsland_PokemonCenter_1F_EventScript_IntroducePlayerChamp:: @ 8170E34 + msgbox OneIsland_PokemonCenter_1F_Text_PlayerIsReigningPokemonChamp return -EventScript_170E3D:: @ 8170E3D - msgbox gUnknown_81A0DAC +OneIsland_PokemonCenter_1F_EventScript_IntroducePlayerNotChamp:: @ 8170E3D + msgbox OneIsland_PokemonCenter_1F_Text_PlayerIsRisingPokemonChamp return -EventScript_170E46:: @ 8170E46 +OneIsland_PokemonCenter_1F_EventScript_ReceiveTownMapPage:: @ 8170E46 textcolor 3 playfanfare MUS_FAN5 - message Text_1A11EC + message OneIsland_PokemonCenter_1F_Text_ReceivedExtraPageForTownMap waitmessage waitfanfare - call EventScript_1A6675 + call EventScript_RestorePrevTextColor return -EventScript_170E58:: @ 8170E58 +OneIsland_PokemonCenter_1F_EventScript_ReceiveTownMap:: @ 8170E58 setflag FLAG_HIDE_TOWN_MAP setvar VAR_MAP_SCENE_PALLET_TOWN_GARYS_HOUSE, 2 - giveitem_msg gUnknown_81A1218, ITEM_TOWN_MAP, 1, MUS_FAN5 + giveitem_msg OneIsland_PokemonCenter_1F_Text_ReceivedTownMap, ITEM_TOWN_MAP, 1, MUS_FAN5 return -Movement_170E7D:: @ 8170E7D +OneIsland_PokemonCenter_1F_Movement_PlayerWalkToCelio:: @ 8170E7D walk_up walk_up walk_right @@ -158,7 +161,7 @@ Movement_170E7D:: @ 8170E7D walk_in_place_fastest_up step_end -Movement_170E86:: @ 8170E86 +OneIsland_PokemonCenter_1F_Movement_BillWalkToCelio:: @ 8170E86 walk_up walk_right walk_right @@ -169,121 +172,123 @@ Movement_170E86:: @ 8170E86 walk_in_place_fastest_right step_end +@ Unused Movement_170E8F:: @ 8170E8F walk_up step_end +@ Unused Movement_170E91:: @ 8170E91 walk_left walk_in_place_fastest_right step_end -OneIsland_PokemonCenter_1F_EventScript_170E94:: @ 8170E94 +OneIsland_PokemonCenter_1F_EventScript_Nurse:: @ 8170E94 lock faceplayer call EventScript_PkmnCenterNurse release end -OneIsland_PokemonCenter_1F_EventScript_170E9D:: @ 8170E9D +OneIsland_PokemonCenter_1F_EventScript_Bill:: @ 8170E9D lock - goto_if_set FLAG_SEVII_DETOUR_FINISHED, EventScript_170EB1 - msgbox gUnknown_81A1266 + goto_if_set FLAG_SEVII_DETOUR_FINISHED, OneIsland_PokemonCenter_1F_EventScript_BillGoTakeStroll + msgbox OneIsland_PokemonCenter_1F_Text_HmmHowAboutLikeThis release end -EventScript_170EB1:: @ 8170EB1 - applymovement 2, Movement_FacePlayer +OneIsland_PokemonCenter_1F_EventScript_BillGoTakeStroll:: @ 8170EB1 + applymovement LOCALID_BILL, Movement_FacePlayer waitmovement 0 - msgbox gUnknown_81A128C + msgbox OneIsland_PokemonCenter_1F_Text_GotPCWorkingStrollAWhileMore release end -OneIsland_PokemonCenter_1F_EventScript_170EC5:: @ 8170EC5 +OneIsland_PokemonCenter_1F_EventScript_Celio:: @ 8170EC5 lock faceplayer compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 7 - goto_if_eq EventScript_170F35 + goto_if_eq OneIsland_PokemonCenter_1F_EventScript_CelioGiveBillFact compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 6 - goto_if_eq EventScript_170F9B - goto_if_set FLAG_RECOVERED_SAPPHIRE, EventScript_170FA5 + goto_if_eq OneIsland_PokemonCenter_1F_EventScript_CelioJustGivenSapphire + goto_if_set FLAG_RECOVERED_SAPPHIRE, OneIsland_PokemonCenter_1F_EventScript_GiveCelioSapphire compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 5 - goto_if_eq EventScript_17103A - goto_if_set FLAG_GOT_RUBY, EventScript_171044 + goto_if_eq OneIsland_PokemonCenter_1F_EventScript_ExplainRainbowPass + goto_if_set FLAG_GOT_RUBY, OneIsland_PokemonCenter_1F_EventScript_GiveCelioRuby compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 4 - goto_if_eq EventScript_1710F2 + goto_if_eq OneIsland_PokemonCenter_1F_EventScript_CelioWaitingForRuby specialvar VAR_RESULT, IsNationalPokedexEnabled compare VAR_RESULT, TRUE - goto_if_eq EventScript_1710FC + goto_if_eq OneIsland_PokemonCenter_1F_EventScript_CelioRequestRuby compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 3 - goto_if_eq EventScript_171134 - msgbox gUnknown_81A1321 + goto_if_eq OneIsland_PokemonCenter_1F_EventScript_CelioPlayerMissingNationalDex + msgbox OneIsland_PokemonCenter_1F_Text_SorryForBeingPoorHost closemessage - applymovement 3, Movement_FaceOriginalDirection + applymovement LOCALID_CELIO, Movement_FaceOriginalDirection waitmovement 0 release end -EventScript_170F35:: @ 8170F35 - msgbox gUnknown_81A1EBD +OneIsland_PokemonCenter_1F_EventScript_CelioGiveBillFact:: @ 8170F35 + msgbox OneIsland_PokemonCenter_1F_Text_CelioHearingRumorsAboutYou random 3 compare VAR_RESULT, 0 - goto_if_eq EventScript_170F6D + goto_if_eq OneIsland_PokemonCenter_1F_EventScript_BillFact1 compare VAR_RESULT, 1 - goto_if_eq EventScript_170F84 + goto_if_eq OneIsland_PokemonCenter_1F_EventScript_BillFact2 famechecker FAMECHECKER_BILL, 5 - msgbox gUnknown_81A2076 + msgbox OneIsland_PokemonCenter_1F_Text_BillCantStomachMilk release end -EventScript_170F6D:: @ 8170F6D +OneIsland_PokemonCenter_1F_EventScript_BillFact1:: @ 8170F6D famechecker FAMECHECKER_BILL, 3 - msgbox gUnknown_81A1EF3 + msgbox OneIsland_PokemonCenter_1F_Text_BillsFirstMonWasAbra release end -EventScript_170F84:: @ 8170F84 +OneIsland_PokemonCenter_1F_EventScript_BillFact2:: @ 8170F84 famechecker FAMECHECKER_BILL, 4 - msgbox gUnknown_81A1F7C + msgbox OneIsland_PokemonCenter_1F_Text_BillsHometownInGoldenrod release end -EventScript_170F9B:: @ 8170F9B - msgbox gUnknown_81A1E39 +OneIsland_PokemonCenter_1F_EventScript_CelioJustGivenSapphire:: @ 8170F9B + msgbox OneIsland_PokemonCenter_1F_Text_WishYouBestOfLuck release end -EventScript_170FA5:: @ 8170FA5 +OneIsland_PokemonCenter_1F_EventScript_GiveCelioSapphire:: @ 8170FA5 textcolor 3 playfanfare MUS_ME_WAZA - message Text_1A1C2D + message OneIsland_PokemonCenter_1F_Text_HandedSapphireToCelio waitmessage waitfanfare - call EventScript_1A6675 + call EventScript_RestorePrevTextColor removeitem ITEM_SAPPHIRE, 1 - msgbox gUnknown_81A1C4E + msgbox OneIsland_PokemonCenter_1F_Text_ThankYouGiveMeTime closemessage - applymovement 3, Movement_171142 + applymovement LOCALID_CELIO, OneIsland_PokemonCenter_1F_Movement_CelioPutGemInMachine waitmovement 0 playse SE_TK_KASYA - call EventScript_170C2C + call OneIsland_PokemonCenter_1F_EventScript_SetSapphireMetatile special DrawWholeMapView - msgbox gUnknown_81A1D45 + msgbox OneIsland_PokemonCenter_1F_Text_OkayThisIsGood closemessage delay 60 - applymovement 3, Movement_17113E + applymovement LOCALID_CELIO, OneIsland_PokemonCenter_1F_Movement_CelioCheckMachine waitmovement 0 delay 30 - applymovement 3, Movement_17113E + applymovement LOCALID_CELIO, OneIsland_PokemonCenter_1F_Movement_CelioCheckMachine waitmovement 0 delay 40 playse SE_PC_ON - call EventScript_170C36 + call OneIsland_PokemonCenter_1F_EventScript_SetNetworkMachineOn special DrawWholeMapView - msgbox gUnknown_81A1D59 - applymovement 3, Movement_FacePlayer + msgbox OneIsland_PokemonCenter_1F_Text_LinkedUpWithLanette + applymovement LOCALID_CELIO, Movement_FacePlayer waitmovement 0 - msgbox gUnknown_81A1D7D + msgbox OneIsland_PokemonCenter_1F_Text_ManagedToLinkWithHoennThankYou special sub_810B82C setflag FLAG_SYS_CAN_LINK_WITH_RS setflag FLAG_HIDE_CERULEAN_CAVE_GUARD @@ -293,43 +298,43 @@ EventScript_170FA5:: @ 8170FA5 release end -EventScript_17103A:: @ 817103A - msgbox gUnknown_81A1BB7 +OneIsland_PokemonCenter_1F_EventScript_ExplainRainbowPass:: @ 817103A + msgbox OneIsland_PokemonCenter_1F_Text_PassLetYouGetToAllIslands release end -EventScript_171044:: @ 8171044 - msgbox gUnknown_81A197E +OneIsland_PokemonCenter_1F_EventScript_GiveCelioRuby:: @ 8171044 + msgbox OneIsland_PokemonCenter_1F_Text_OhThats textcolor 3 playfanfare MUS_ME_WAZA - message Text_1A198D + message OneIsland_PokemonCenter_1F_Text_HandedRubyToCelio waitmessage waitfanfare - call EventScript_1A6675 + call EventScript_RestorePrevTextColor closemessage - applymovement 3, Movement_171142 + applymovement LOCALID_CELIO, OneIsland_PokemonCenter_1F_Movement_CelioPutGemInMachine waitmovement 0 playse SE_TK_KASYA - call EventScript_170C22 + call OneIsland_PokemonCenter_1F_EventScript_SetRubyMetatile special DrawWholeMapView delay 30 - applymovement 3, Movement_FacePlayer + applymovement LOCALID_CELIO, Movement_FacePlayer waitmovement 0 - msgbox gUnknown_81A19AA, MSGBOX_YESNO + msgbox OneIsland_PokemonCenter_1F_Text_MayIAskOneMoreFavor, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_171099 - goto EventScript_1710B2 + goto_if_eq OneIsland_PokemonCenter_1F_EventScript_DeclineHelpCelio + goto OneIsland_PokemonCenter_1F_EventScript_GiveRainbowPass end -EventScript_171099:: @ 8171099 - msgbox gUnknown_81A1A08, MSGBOX_YESNO +OneIsland_PokemonCenter_1F_EventScript_DeclineHelpCelio:: @ 8171099 + msgbox OneIsland_PokemonCenter_1F_Text_PleaseINeedYourHelp, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_171099 - goto EventScript_1710B2 + goto_if_eq OneIsland_PokemonCenter_1F_EventScript_DeclineHelpCelio + goto OneIsland_PokemonCenter_1F_EventScript_GiveRainbowPass end -EventScript_1710B2:: @ 81710B2 - msgbox gUnknown_81A1A3F +OneIsland_PokemonCenter_1F_EventScript_GiveRainbowPass:: @ 81710B2 + msgbox OneIsland_PokemonCenter_1F_Text_AnotherGemstoneInSeviiIslands removeitem ITEM_RUBY, 1 removeitem ITEM_TRI_PASS, 1 setvar VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 5 @@ -337,47 +342,47 @@ EventScript_1710B2:: @ 81710B2 setflag FLAG_SYS_SEVII_MAP_4567 textcolor 3 playfanfare MUS_FAN5 - message Text_1A1B56 + message OneIsland_PokemonCenter_1F_Text_ReturnedTriPassForRainbowPass waitmessage waitfanfare playfanfare MUS_FAN5 - message Text_1A1B8E + message OneIsland_PokemonCenter_1F_Text_ObtainedExtraMapPage waitmessage waitfanfare - call EventScript_1A6675 - goto EventScript_17103A + call EventScript_RestorePrevTextColor + goto OneIsland_PokemonCenter_1F_EventScript_ExplainRainbowPass end -EventScript_1710F2:: @ 81710F2 - msgbox gUnknown_81A1896 +OneIsland_PokemonCenter_1F_EventScript_CelioWaitingForRuby:: @ 81710F2 + msgbox OneIsland_PokemonCenter_1F_Text_TryingToFindGem release end -EventScript_1710FC:: @ 81710FC - msgbox gUnknown_81A169B - applymovement 3, Movement_WalkInPlaceFastestUp +OneIsland_PokemonCenter_1F_EventScript_CelioRequestRuby:: @ 81710FC + msgbox OneIsland_PokemonCenter_1F_Text_CelioCaughtMoreMonMaybeICanBeUseful + applymovement LOCALID_CELIO, Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox gUnknown_81A1723 - applymovement 3, Movement_FacePlayer + msgbox OneIsland_PokemonCenter_1F_Text_YoullBeTradingFromTrainersFarAway + applymovement LOCALID_CELIO, Movement_FacePlayer waitmovement 0 - msgbox gUnknown_81A17DF + msgbox OneIsland_PokemonCenter_1F_Text_NeedsSpecialGemstone setvar VAR_MAP_SCENE_MT_EMBER_EXTERIOR, 1 setvar VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 4 release end -EventScript_171134:: @ 8171134 - msgbox gUnknown_81A15EC +OneIsland_PokemonCenter_1F_EventScript_CelioPlayerMissingNationalDex:: @ 8171134 + msgbox OneIsland_PokemonCenter_1F_Text_CelioImModifyingMyNetworkMachine release end -Movement_17113E:: @ 817113E +OneIsland_PokemonCenter_1F_Movement_CelioCheckMachine:: @ 817113E walk_in_place_up delay_8 walk_in_place_up step_end -Movement_171142:: @ 8171142 +OneIsland_PokemonCenter_1F_Movement_CelioPutGemInMachine:: @ 8171142 walk_in_place_fastest_up walk_in_place_up delay_16 @@ -385,116 +390,116 @@ Movement_171142:: @ 8171142 walk_in_place_up step_end -OneIsland_PokemonCenter_1F_EventScript_171148:: @ 8171148 - msgbox gUnknown_81A20D5, MSGBOX_NPC +OneIsland_PokemonCenter_1F_EventScript_LittleBoy:: @ 8171148 + msgbox OneIsland_PokemonCenter_1F_Text_CameFromPalletDontKnowIt, MSGBOX_NPC end -OneIsland_PokemonCenter_1F_EventScript_171151:: @ 8171151 - msgbox gUnknown_81A212D, MSGBOX_NPC +OneIsland_PokemonCenter_1F_EventScript_Hiker:: @ 8171151 + msgbox OneIsland_PokemonCenter_1F_Text_EnormousVolcanoOnIsland, MSGBOX_NPC end -OneIsland_PokemonCenter_1F_EventScript_17115A:: @ 817115A +OneIsland_PokemonCenter_1F_EventScript_BattleGirl:: @ 817115A lock faceplayer - goto_if_set FLAG_SYS_CAN_LINK_WITH_RS, EventScript_17116F - msgbox gUnknown_81A218D + goto_if_set FLAG_SYS_CAN_LINK_WITH_RS, OneIsland_PokemonCenter_1F_EventScript_BattleGirlHoennLinked + msgbox OneIsland_PokemonCenter_1F_Text_WishICouldTradeWithBoyfriend release end -EventScript_17116F:: @ 817116F - msgbox gUnknown_81A21D0 +OneIsland_PokemonCenter_1F_EventScript_BattleGirlHoennLinked:: @ 817116F + msgbox OneIsland_PokemonCenter_1F_Text_TradedWithFarAwayBoyfriend release end -OneIsland_PokemonCenter_1F_EventScript_171179:: @ 8171179 +OneIsland_PokemonCenter_1F_EventScript_NetworkMachine:: @ 8171179 lockall - goto_if_set FLAG_SYS_CAN_LINK_WITH_RS, EventScript_1711A0 - goto_if_set FLAG_SEVII_DETOUR_FINISHED, EventScript_171196 - msgbox gUnknown_81A223F + goto_if_set FLAG_SYS_CAN_LINK_WITH_RS, OneIsland_PokemonCenter_1F_EventScript_NetworkMachineLinkedWithHoenn + goto_if_set FLAG_SEVII_DETOUR_FINISHED, OneIsland_PokemonCenter_1F_EventScript_NetworkMachineLinkedWithKanto + msgbox OneIsland_PokemonCenter_1F_Text_MachineUnderAdjustment releaseall end -EventScript_171196:: @ 8171196 - msgbox gUnknown_81A2286 +OneIsland_PokemonCenter_1F_EventScript_NetworkMachineLinkedWithKanto:: @ 8171196 + msgbox OneIsland_PokemonCenter_1F_Text_MachineLinkedWithKanto releaseall end -EventScript_1711A0:: @ 81711A0 - msgbox gUnknown_81A22CB +OneIsland_PokemonCenter_1F_EventScript_NetworkMachineLinkedWithHoenn:: @ 81711A0 + msgbox OneIsland_PokemonCenter_1F_Text_MachineLinkedWithKantoAndHoenn releaseall end -OneIsland_PokemonCenter_1F_EventScript_1711AA:: @ 81711AA +OneIsland_PokemonCenter_1F_EventScript_LeaveOneIslandTriggerTop:: @ 81711AA lockall setvar VAR_TEMP_1, 1 - goto EventScript_1711DA + goto OneIsland_PokemonCenter_1F_EventScript_LeaveOneIslandScene end -OneIsland_PokemonCenter_1F_EventScript_1711B6:: @ 81711B6 +OneIsland_PokemonCenter_1F_EventScript_LeaveOneIslandTriggerMidTop:: @ 81711B6 lockall setvar VAR_TEMP_1, 2 - goto EventScript_1711DA + goto OneIsland_PokemonCenter_1F_EventScript_LeaveOneIslandScene end -OneIsland_PokemonCenter_1F_EventScript_1711C2:: @ 81711C2 +OneIsland_PokemonCenter_1F_EventScript_LeaveOneIslandTriggerMidBottom:: @ 81711C2 lockall setvar VAR_TEMP_1, 3 - goto EventScript_1711DA + goto OneIsland_PokemonCenter_1F_EventScript_LeaveOneIslandScene end -OneIsland_PokemonCenter_1F_EventScript_1711CE:: @ 81711CE +OneIsland_PokemonCenter_1F_EventScript_LeaveOneIslandTriggerBottom:: @ 81711CE lockall setvar VAR_TEMP_1, 4 - goto EventScript_1711DA + goto OneIsland_PokemonCenter_1F_EventScript_LeaveOneIslandScene end -EventScript_1711DA:: @ 81711DA +OneIsland_PokemonCenter_1F_EventScript_LeaveOneIslandScene:: @ 81711DA textcolor 0 playse SE_PIN - applymovement 2, Movement_ExclamationMark + applymovement LOCALID_BILL, Movement_ExclamationMark waitmovement 0 - msgbox gUnknown_81A13B8 + msgbox OneIsland_PokemonCenter_1F_Text_BillOhHeyPlayer closemessage compare VAR_TEMP_1, 1 - call_if_eq EventScript_1712E4 + call_if_eq OneIsland_PokemonCenter_1F_EventScript_PlayerWalkToBillTop compare VAR_TEMP_1, 2 - call_if_eq EventScript_1712EF + call_if_eq OneIsland_PokemonCenter_1F_EventScript_PlayerWalkToBillMidTop compare VAR_TEMP_1, 3 - call_if_eq EventScript_1712FA + call_if_eq OneIsland_PokemonCenter_1F_EventScript_PlayerWalkToBillMidBottom compare VAR_TEMP_1, 4 - call_if_eq EventScript_171305 + call_if_eq OneIsland_PokemonCenter_1F_EventScript_PlayerWalkToBillBottom delay 10 - msgbox gUnknown_81A13CB + msgbox OneIsland_PokemonCenter_1F_Text_BillWeGotItDone applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestDown waitmovement 0 - msgbox gUnknown_81A1431 - applymovement 2, Movement_WalkInPlaceFastestDown + msgbox OneIsland_PokemonCenter_1F_Text_CelioJobWentQuick + applymovement LOCALID_BILL, Movement_WalkInPlaceFastestDown waitmovement 0 - applymovement 3, Movement_WalkInPlaceFastestUp + applymovement LOCALID_CELIO, Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox gUnknown_81A1470 - msgbox gUnknown_81A14E1 + msgbox OneIsland_PokemonCenter_1F_Text_BillYouveLearnedALot + msgbox OneIsland_PokemonCenter_1F_Text_CelioOhReallyEhehe closemessage - applymovement 2, Movement_WalkInPlaceFastestLeft + applymovement LOCALID_BILL, Movement_WalkInPlaceFastestLeft waitmovement 0 delay 10 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight waitmovement 0 delay 15 - msgbox gUnknown_81A14FB + msgbox OneIsland_PokemonCenter_1F_Text_BillWeShouldHeadBackToKanto closemessage - applymovement 2, Movement_WalkInPlaceFastestDown + applymovement LOCALID_BILL, Movement_WalkInPlaceFastestDown waitmovement 0 delay 15 - applymovement 3, Movement_WalkInPlaceFastestLeft + applymovement LOCALID_CELIO, Movement_WalkInPlaceFastestLeft waitmovement 0 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestDown waitmovement 0 - msgbox gUnknown_81A1574 + msgbox OneIsland_PokemonCenter_1F_Text_CelioPromiseIllShowYouAroundSometime closemessage delay 25 - applymovement OBJ_EVENT_ID_PLAYER, Movement_171326 - applymovement 2, Movement_17132D + applymovement OBJ_EVENT_ID_PLAYER, OneIsland_PokemonCenter_1F_Movement_PlayerExit + applymovement LOCALID_BILL, OneIsland_PokemonCenter_1F_Movement_BillExit waitmovement 0 playse SE_KAIDAN setflag FLAG_HIDE_ONE_ISLAND_POKECENTER_BILL @@ -506,49 +511,50 @@ EventScript_1711DA:: @ 81711DA goto EventScript_SetSail end -EventScript_1712E4:: @ 81712E4 - applymovement OBJ_EVENT_ID_PLAYER, Movement_171310 +OneIsland_PokemonCenter_1F_EventScript_PlayerWalkToBillTop:: @ 81712E4 + applymovement OBJ_EVENT_ID_PLAYER, OneIsland_PokemonCenter_1F_Movement_PlayerWalkToBillTop waitmovement 0 return -EventScript_1712EF:: @ 81712EF - applymovement OBJ_EVENT_ID_PLAYER, Movement_171314 +OneIsland_PokemonCenter_1F_EventScript_PlayerWalkToBillMidTop:: @ 81712EF + applymovement OBJ_EVENT_ID_PLAYER, OneIsland_PokemonCenter_1F_Movement_PlayerWalkToBillMidTop waitmovement 0 return -EventScript_1712FA:: @ 81712FA - applymovement OBJ_EVENT_ID_PLAYER, Movement_171316 +OneIsland_PokemonCenter_1F_EventScript_PlayerWalkToBillMidBottom:: @ 81712FA + applymovement OBJ_EVENT_ID_PLAYER, OneIsland_PokemonCenter_1F_Movement_PlayerWalkToBillMidBottom waitmovement 0 return -EventScript_171305:: @ 8171305 - applymovement OBJ_EVENT_ID_PLAYER, Movement_17131A +OneIsland_PokemonCenter_1F_EventScript_PlayerWalkToBillBottom:: @ 8171305 + applymovement OBJ_EVENT_ID_PLAYER, OneIsland_PokemonCenter_1F_Movement_PlayerWalkToBillBottom waitmovement 0 return -Movement_171310:: @ 8171310 +OneIsland_PokemonCenter_1F_Movement_PlayerWalkToBillTop:: @ 8171310 walk_right walk_down walk_in_place_fastest_right step_end -Movement_171314:: @ 8171314 +OneIsland_PokemonCenter_1F_Movement_PlayerWalkToBillMidTop:: @ 8171314 walk_right step_end -Movement_171316:: @ 8171316 +OneIsland_PokemonCenter_1F_Movement_PlayerWalkToBillMidBottom:: @ 8171316 walk_right walk_up walk_in_place_fastest_right step_end -Movement_17131A:: @ 817131A +OneIsland_PokemonCenter_1F_Movement_PlayerWalkToBillBottom:: @ 817131A walk_right walk_up walk_up walk_in_place_fastest_right step_end +@ Unused Movement_17131F:: @ 817131F delay_16 delay_16 @@ -556,11 +562,12 @@ Movement_17131F:: @ 817131F walk_in_place_fastest_left step_end +@ Unused Movement_171324:: @ 8171324 walk_in_place_fast_down step_end -Movement_171326:: @ 8171326 +OneIsland_PokemonCenter_1F_Movement_PlayerExit:: @ 8171326 walk_left walk_left walk_left @@ -569,7 +576,7 @@ Movement_171326:: @ 8171326 walk_down step_end -Movement_17132D:: @ 817132D +OneIsland_PokemonCenter_1F_Movement_BillExit:: @ 817132D walk_left walk_left walk_left diff --git a/data/maps/OneIsland_PokemonCenter_1F/text.inc b/data/maps/OneIsland_PokemonCenter_1F/text.inc index e2d6c7fed..278a1cc44 100644 --- a/data/maps/OneIsland_PokemonCenter_1F/text.inc +++ b/data/maps/OneIsland_PokemonCenter_1F/text.inc @@ -1,52 +1,52 @@ -gUnknown_81A0CDE:: @ 81A0CDE +OneIsland_PokemonCenter_1F_Text_BillHeyThereCelio:: @ 81A0CDE .string "BILL: Hey, there!\n" .string "CELIO!$" -gUnknown_81A0CF7:: @ 81A0CF7 +OneIsland_PokemonCenter_1F_Text_CelioCantBelieveYouCameOut:: @ 81A0CF7 .string "CELIO: BILL!\n" .string "I can't believe you came out here.$" -gUnknown_81A0D27:: @ 81A0D27 +OneIsland_PokemonCenter_1F_Text_BillHowsYourResearchComing:: @ 81A0D27 .string "BILL: Well, absolutely!\n" .string "How's your research coming along?\p" .string "…Oh, wait a sec.$" -gUnknown_81A0D72:: @ 81A0D72 +OneIsland_PokemonCenter_1F_Text_ThisIsMyBuddyCelio:: @ 81A0D72 .string "{PLAYER}, this is my buddy CELIO.\n" .string "He's one dedicated PC MANIAC!$" -gUnknown_81A0DAC:: @ 81A0DAC +OneIsland_PokemonCenter_1F_Text_PlayerIsRisingPokemonChamp:: @ 81A0DAC .string "CELIO, this is {PLAYER}, a rising\n" .string "contender as the POKéMON CHAMP!$" -gUnknown_81A0DE8:: @ 81A0DE8 +OneIsland_PokemonCenter_1F_Text_PlayerIsReigningPokemonChamp:: @ 81A0DE8 .string "CELIO, this is {PLAYER}, the\n" .string "reigning POKéMON CHAMP!$" -gUnknown_81A0E17:: @ 81A0E17 +OneIsland_PokemonCenter_1F_Text_CelioThatsReallyImpressive:: @ 81A0E17 .string "CELIO: That's really impressive.\p" .string "I hate to say it, but I have zero\n" .string "aptitude for battling.\p" .string "Anyways, I'm glad to meet you.$" -gUnknown_81A0E90:: @ 81A0E90 +OneIsland_PokemonCenter_1F_Text_BillBringMeUpToSpeed:: @ 81A0E90 .string "BILL: So, bring me up to speed.\n" .string "How's your machine running?$" -gUnknown_81A0ECC:: @ 81A0ECC +OneIsland_PokemonCenter_1F_Text_CelioPCsCantLinkWithYours:: @ 81A0ECC .string "CELIO: It's running fine, but we're\n" .string "too remote out here.\p" .string "The PCs on this island just can't\n" .string "link with your PC, BILL.$" -gUnknown_81A0F40:: @ 81A0F40 +OneIsland_PokemonCenter_1F_Text_BillLetMeHelpYou:: @ 81A0F40 .string "BILL: Oh, yeah?\n" .string "Okay, let me take a look-see.\p" .string "…Hang on here…\n" .string "I think we can make it work.\l" .string "Let me help you, okay?$" -gUnknown_81A0FB1:: @ 81A0FB1 +OneIsland_PokemonCenter_1F_Text_CanYouDeliverThisMeteoritePlayer:: @ 81A0FB1 .string "{PLAYER}, can I get you to wait for\n" .string "me just a bit?\p" .string "…Actually, can I get you to do\n" @@ -62,38 +62,38 @@ gUnknown_81A0FB1:: @ 81A0FB1 .string "So, can I get you to deliver this\n" .string "METEORITE to him?$" -gUnknown_81A10EE:: @ 81A10EE +OneIsland_PokemonCenter_1F_Text_AcceptedMeteoriteFromBill:: @ 81A10EE .string "{PLAYER} accepted the METEORITE\n" .string "from BILL.$" -gUnknown_81A1113:: @ 81A1113 +OneIsland_PokemonCenter_1F_Text_CelioPleaseTakeThis:: @ 81A1113 .string "CELIO: {PLAYER}, if you are going\n" .string "to TWO ISLAND, please take this.$" -gUnknown_81A1150:: @ 81A1150 +OneIsland_PokemonCenter_1F_Text_PassLetsYouTravelBetweenIslands:: @ 81A1150 .string "It's a PASS for the ferry service\n" .string "serving the local islands.\p" .string "It will let you travel between the\n" .string "ISLANDS ONE, TWO, and THREE.\p" .string "Oh, you should have this, too.$" -Text_1A11EC:: @ 81A11EC +OneIsland_PokemonCenter_1F_Text_ReceivedExtraPageForTownMap:: @ 81A11EC .string "{PLAYER} received an extra page\n" .string "for the TOWN MAP!$" -gUnknown_81A1218:: @ 81A1218 +OneIsland_PokemonCenter_1F_Text_ReceivedTownMap:: @ 81A1218 .string "{PLAYER} received\n" .string "a TOWN MAP!$" -gUnknown_81A1230:: @ 81A1230 +OneIsland_PokemonCenter_1F_Text_BillCatchYouLater:: @ 81A1230 .string "BILL: I'll catch you later!\n" .string "Say hi to the guy for me!$" -gUnknown_81A1266:: @ 81A1266 +OneIsland_PokemonCenter_1F_Text_HmmHowAboutLikeThis:: @ 81A1266 .string "Hmm…\p" .string "How about we try this like this…$" -gUnknown_81A128C:: @ 81A128C +OneIsland_PokemonCenter_1F_Text_GotPCWorkingStrollAWhileMore:: @ 81A128C .string "Oh, hey, {PLAYER}!\p" .string "Did you see?\n" .string "We got the PC working!\p" @@ -102,54 +102,54 @@ gUnknown_81A128C:: @ 81A128C .string "Can you go out on a stroll or\n" .string "something for a while more?$" -gUnknown_81A1321:: @ 81A1321 +OneIsland_PokemonCenter_1F_Text_SorryForBeingPoorHost:: @ 81A1321 .string "I'm sorry for taking up so much of\n" .string "BILL's time.\p" .string "I'm also sorry for being such a \n" .string "poor host on your visit here.$" -Text_UsualPCServicesUnavailable:: @ 81A1390 +OneIsland_PokemonCenter_1F_Text_UsualPCServicesUnavailable:: @ 81A1390 .string "The usual PC services aren't\n" .string "available…$" -gUnknown_81A13B8:: @ 81A13B8 +OneIsland_PokemonCenter_1F_Text_BillOhHeyPlayer:: @ 81A13B8 .string "BILL: Oh, hey!\n" .string "{PLAYER}!$" -gUnknown_81A13CB:: @ 81A13CB +OneIsland_PokemonCenter_1F_Text_BillWeGotItDone:: @ 81A13CB .string "BILL: What kept you so long?\n" .string "Been out having a good time?\p" .string "We got it done.\n" .string "The PCs are up and running!$" -gUnknown_81A1431:: @ 81A1431 +OneIsland_PokemonCenter_1F_Text_CelioJobWentQuick:: @ 81A1431 .string "CELIO: The job went incredibly\n" .string "quick.\p" .string "BILL is one amazing guy…$" -gUnknown_81A1470:: @ 81A1470 +OneIsland_PokemonCenter_1F_Text_BillYouveLearnedALot:: @ 81A1470 .string "BILL: No, no! There was almost\n" .string "nothing left for me to do.\p" .string "CELIO, I have to hand it to you.\n" .string "You've learned a lot.$" -gUnknown_81A14E1:: @ 81A14E1 +OneIsland_PokemonCenter_1F_Text_CelioOhReallyEhehe:: @ 81A14E1 .string "CELIO: Oh, really?\n" .string "Ehehe…$" -gUnknown_81A14FB:: @ 81A14FB +OneIsland_PokemonCenter_1F_Text_BillWeShouldHeadBackToKanto:: @ 81A14FB .string "BILL: Well, there you have it.\n" .string "I'm finished with the job.\l" .string "We should head back to KANTO.\p" .string "CELIO, I'll be seeing you again.$" -gUnknown_81A1574:: @ 81A1574 +OneIsland_PokemonCenter_1F_Text_CelioPromiseIllShowYouAroundSometime:: @ 81A1574 .string "CELIO: {PLAYER}, I'm really sorry\n" .string "that we sent you off alone today.\p" .string "I promise, I will show you around\n" .string "these islands sometime.$" -gUnknown_81A15EC:: @ 81A15EC +OneIsland_PokemonCenter_1F_Text_CelioImModifyingMyNetworkMachine:: @ 81A15EC .string "CELIO: Hello!\n" .string "You look awfully busy as always.\p" .string "How am I doing?\p" @@ -159,7 +159,7 @@ gUnknown_81A15EC:: @ 81A15EC .string "I hope you'll be first to use it,\l" .string "{PLAYER}.$" -gUnknown_81A169B:: @ 81A169B +OneIsland_PokemonCenter_1F_Text_CelioCaughtMoreMonMaybeICanBeUseful:: @ 81A169B .string "CELIO: {PLAYER}, how have things\n" .string "been for you?\p" .string "Oh, is that right?\n" @@ -167,7 +167,7 @@ gUnknown_81A169B:: @ 81A169B .string "Do you know what?\n" .string "Maybe I can be useful to you.$" -gUnknown_81A1723:: @ 81A1723 +OneIsland_PokemonCenter_1F_Text_YoullBeTradingFromTrainersFarAway:: @ 81A1723 .string "I'm modifying the Network Machine\n" .string "right now.\p" .string "I'm changing it so it can handle\n" @@ -176,7 +176,7 @@ gUnknown_81A1723:: @ 81A1723 .string "trading for exotic POKéMON from\l" .string "TRAINERS far away.$" -gUnknown_81A17DF:: @ 81A17DF +OneIsland_PokemonCenter_1F_Text_NeedsSpecialGemstone:: @ 81A17DF .string "But, there is a slight catch.\p" .string "For the link to work, the Machine\n" .string "needs a special gemstone.\p" @@ -184,7 +184,7 @@ gUnknown_81A17DF:: @ 81A17DF .string "but I haven't found one yet.\p" .string "Who knows where it could be.$" -gUnknown_81A1896:: @ 81A1896 +OneIsland_PokemonCenter_1F_Text_TryingToFindGem:: @ 81A1896 .string "I was trying to find the gem\n" .string "even while I was studying.\p" .string "As a result, I've made no headway\n" @@ -194,26 +194,26 @@ gUnknown_81A1896:: @ 81A1896 .string "But this time, I want to try to do\n" .string "things by myself.$" -gUnknown_81A197E:: @ 81A197E +OneIsland_PokemonCenter_1F_Text_OhThats:: @ 81A197E .string "Oh!\n" .string "Th-that's…$" -Text_1A198D:: @ 81A198D +OneIsland_PokemonCenter_1F_Text_HandedRubyToCelio:: @ 81A198D .string "{PLAYER} handed the RUBY\n" .string "to CELIO.$" -gUnknown_81A19AA:: @ 81A19AA +OneIsland_PokemonCenter_1F_Text_MayIAskOneMoreFavor:: @ 81A19AA .string "Thank you!\n" .string "{PLAYER}, you're simply amazing.\p" .string "… … … … … …\p" .string "Um… May I ask one more giant favor\n" .string "of you?$" -gUnknown_81A1A08:: @ 81A1A08 +OneIsland_PokemonCenter_1F_Text_PleaseINeedYourHelp:: @ 81A1A08 .string "It… It's not anything weird.\n" .string "Please, I need your help.$" -gUnknown_81A1A3F:: @ 81A1A3F +OneIsland_PokemonCenter_1F_Text_AnotherGemstoneInSeviiIslands:: @ 81A1A3F .string "While I was studying gemstones,\n" .string "I discovered something important.\p" .string "There is another gem that forms\n" @@ -225,26 +225,26 @@ gUnknown_81A1A3F:: @ 81A1A3F .string "{PLAYER}, may I have your ferry\n" .string "PASS and the TOWN MAP?$" -Text_1A1B56:: @ 81A1B56 +OneIsland_PokemonCenter_1F_Text_ReturnedTriPassForRainbowPass:: @ 81A1B56 .string "{PLAYER} returned the TRI-PASS and\n" .string "received the RAINBOW PASS.$" -Text_1A1B8E:: @ 81A1B8E +OneIsland_PokemonCenter_1F_Text_ObtainedExtraMapPage:: @ 81A1B8E .string "Obtained an extra page for the\n" .string "TOWN MAP!$" -gUnknown_81A1BB7:: @ 81A1BB7 +OneIsland_PokemonCenter_1F_Text_PassLetYouGetToAllIslands:: @ 81A1BB7 .string "This is my own ferry PASS.\p" .string "It will let you get to all the\n" .string "SEVII ISLANDS.\p" .string "{PLAYER}, please, I can't do\n" .string "it without your help.$" -Text_1A1C2D:: @ 81A1C2D +OneIsland_PokemonCenter_1F_Text_HandedSapphireToCelio:: @ 81A1C2D .string "{PLAYER} handed the SAPPHIRE\n" .string "to CELIO.$" -gUnknown_81A1C4E:: @ 81A1C4E +OneIsland_PokemonCenter_1F_Text_ThankYouGiveMeTime:: @ 81A1C4E .string "CELIO: So this is the gem that\n" .string "forms a pair with the RUBY…\p" .string "{PLAYER}, you've gone through a lot\n" @@ -255,14 +255,14 @@ gUnknown_81A1C4E:: @ 81A1C4E .string "Now it's my turn to work for you!\n" .string "Please give me a little time.$" -gUnknown_81A1D45:: @ 81A1D45 +OneIsland_PokemonCenter_1F_Text_OkayThisIsGood:: @ 81A1D45 .string "Okay, this is good…$" -gUnknown_81A1D59:: @ 81A1D59 +OneIsland_PokemonCenter_1F_Text_LinkedUpWithLanette:: @ 81A1D59 .string "I did it!\n" .string "I linked up with LANETTE!$" -gUnknown_81A1D7D:: @ 81A1D7D +OneIsland_PokemonCenter_1F_Text_ManagedToLinkWithHoennThankYou:: @ 81A1D7D .string "{PLAYER}…\n" .string "{PLAYER}, I did it!\p" .string "I've managed to link up with\n" @@ -273,7 +273,7 @@ gUnknown_81A1D7D:: @ 81A1D7D .string "Thanks to you, my dream came\n" .string "true…$" -gUnknown_81A1E39:: @ 81A1E39 +OneIsland_PokemonCenter_1F_Text_WishYouBestOfLuck:: @ 81A1E39 .string "I…\n" .string "I'm not crying.\p" .string "That's enough about me!\p" @@ -281,12 +281,12 @@ gUnknown_81A1E39:: @ 81A1E39 .string "looking for exotic POKéMON, right?\p" .string "I wish you the best of luck!$" -gUnknown_81A1EBD:: @ 81A1EBD +OneIsland_PokemonCenter_1F_Text_CelioHearingRumorsAboutYou:: @ 81A1EBD .string "CELIO: Hello!\p" .string "{PLAYER}, I've been hearing rumors\n" .string "about you.$" -gUnknown_81A1EF3:: @ 81A1EF3 +OneIsland_PokemonCenter_1F_Text_BillsFirstMonWasAbra:: @ 81A1EF3 .string "{PLAYER}, what's your favorite kind\n" .string "of POKéMON?\p" .string "BILL is a POKéMANIAC, so he loves\n" @@ -294,7 +294,7 @@ gUnknown_81A1EF3:: @ 81A1EF3 .string "Apparently, the first one he caught\n" .string "was an ABRA.$" -gUnknown_81A1F7C:: @ 81A1F7C +OneIsland_PokemonCenter_1F_Text_BillsHometownInGoldenrod:: @ 81A1F7C .string "By the way, {PLAYER}, you're from\n" .string "PALLET TOWN, aren't you?\p" .string "I've heard that it's a quiet and\n" @@ -305,53 +305,53 @@ gUnknown_81A1F7C:: @ 81A1F7C .string "festive, bustling city.\p" .string "I'd like to go there one day.$" -gUnknown_81A2076:: @ 81A2076 +OneIsland_PokemonCenter_1F_Text_BillCantStomachMilk:: @ 81A2076 .string "{PLAYER}, is there anything that\n" .string "you can't stand?\p" .string "Apparently, BILL simply can't\n" .string "stomach milk at all.$" -gUnknown_81A20D5:: @ 81A20D5 +OneIsland_PokemonCenter_1F_Text_CameFromPalletDontKnowIt:: @ 81A20D5 .string "Oh, you're a stranger here!\n" .string "Hi! Where did you come from?\p" .string "…PALLET TOWN?\n" .string "I don't know it!$" -gUnknown_81A212D:: @ 81A212D +OneIsland_PokemonCenter_1F_Text_EnormousVolcanoOnIsland:: @ 81A212D .string "On this island, there's an enormous\n" .string "volcano.\p" .string "It hasn't erupted lately, so why\n" .string "not enjoy a hike?$" -gUnknown_81A218D:: @ 81A218D +OneIsland_PokemonCenter_1F_Text_WishICouldTradeWithBoyfriend:: @ 81A218D .string "I wish I could trade POKéMON with\n" .string "my boyfriend who lives far away…$" -gUnknown_81A21D0:: @ 81A21D0 +OneIsland_PokemonCenter_1F_Text_TradedWithFarAwayBoyfriend:: @ 81A21D0 .string "I traded POKéMON with my boyfriend\n" .string "far away!\p" .string "Everyone's saying that we can\n" .string "thank you and CELIO.\p" .string "So, thank you!$" -gUnknown_81A223F:: @ 81A223F +OneIsland_PokemonCenter_1F_Text_MachineUnderAdjustment:: @ 81A223F .string "Network Machine\n" .string "Link Level 0\p" .string "…POKéMON Storage System under\n" .string "adjustment…$" -gUnknown_81A2286:: @ 81A2286 +OneIsland_PokemonCenter_1F_Text_MachineLinkedWithKanto:: @ 81A2286 .string "Network Machine\n" .string "Link Level 1\p" .string "Link established with the KANTO\n" .string "region.$" -gUnknown_81A22CB:: @ 81A22CB +OneIsland_PokemonCenter_1F_Text_MachineLinkedWithKantoAndHoenn:: @ 81A22CB .string "Network Machine\n" .string "Link Level 2\p" .string "Link established with the KANTO\n" .string "and HOENN regions.$" -gUnknown_81A231B:: @ 81A231B +OneIsland_PokemonCenter_1F_Text_ObtainedTriPass:: @ 81A231B .string "Obtained the TRI-PASS!$" diff --git a/data/maps/OneIsland_PokemonCenter_2F/map.json b/data/maps/OneIsland_PokemonCenter_2F/map.json index 13ed2a385..33bafe5f8 100644 --- a/data/maps/OneIsland_PokemonCenter_2F/map.json +++ b/data/maps/OneIsland_PokemonCenter_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ONE_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 6, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 2, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 10, "y": 2, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MG_DELIVERYMAN", + "graphics_id": "OBJ_EVENT_GFX_MG_DELIVERYMAN", "x": 1, "y": 2, "elevation": 3, diff --git a/data/maps/OneIsland_TreasureBeach/map.json b/data/maps/OneIsland_TreasureBeach/map.json index 46ddb26a6..b95513e7a 100644 --- a/data/maps/OneIsland_TreasureBeach/map.json +++ b/data/maps/OneIsland_TreasureBeach/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_TREASURE_BEACH", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ONE_ISLAND", @@ -20,7 +22,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_F_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_F_WATER", "x": 8, "y": 11, "elevation": 1, @@ -29,11 +31,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "OneIsland_TreasureBeach_EventScript_1ABF27", + "script": "OneIsland_TreasureBeach_EventScript_Amara", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BOY", + "graphics_id": "OBJ_EVENT_GFX_BOY", "x": 13, "y": 20, "elevation": 3, @@ -42,7 +44,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "OneIsland_TreasureBeach_EventScript_16876C", + "script": "OneIsland_TreasureBeach_EventScript_Boy", "flag": "0" } ], diff --git a/data/maps/OneIsland_TreasureBeach/scripts.inc b/data/maps/OneIsland_TreasureBeach/scripts.inc index a49a763a1..137c8103e 100644 --- a/data/maps/OneIsland_TreasureBeach/scripts.inc +++ b/data/maps/OneIsland_TreasureBeach/scripts.inc @@ -1,6 +1,6 @@ OneIsland_TreasureBeach_MapScripts:: @ 816876B .byte 0 -OneIsland_TreasureBeach_EventScript_16876C:: @ 816876C - msgbox gUnknown_8189DCE, MSGBOX_NPC +OneIsland_TreasureBeach_EventScript_Boy:: @ 816876C + msgbox OneIsland_TreasureBeach_Text_GoodThingsWashUpOnBeach, MSGBOX_NPC end diff --git a/data/maps/OneIsland_TreasureBeach/text.inc b/data/maps/OneIsland_TreasureBeach/text.inc index 344ed5203..30ed2b0bb 100644 --- a/data/maps/OneIsland_TreasureBeach/text.inc +++ b/data/maps/OneIsland_TreasureBeach/text.inc @@ -1,16 +1,16 @@ -Text_189D5A:: @ 8189D5A +OneIsland_TreasureBeach_Text_AmaraIntro:: @ 8189D5A .string "Lying back, rocked by the waves…\n" .string "It's exquisite.$" -Text_189D8B:: @ 8189D8B +OneIsland_TreasureBeach_Text_AmaraDefeat:: @ 8189D8B .string "I lost…\n" .string "It feels awful.$" -Text_189DA3:: @ 8189DA3 +OneIsland_TreasureBeach_Text_AmaraPostBattle:: @ 8189DA3 .string "The sea is pleasantly warm in these\n" .string "parts.$" -gUnknown_8189DCE:: @ 8189DCE +OneIsland_TreasureBeach_Text_GoodThingsWashUpOnBeach:: @ 8189DCE .string "Good things get washed up by the\n" .string "ocean current onto this beach.\p" .string "That's why I often come here for\n" diff --git a/data/maps/PalletTown/map.json b/data/maps/PalletTown/map.json index 543751968..97b0ac74a 100644 --- a/data/maps/PalletTown/map.json +++ b/data/maps/PalletTown/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_PALLET_TOWN", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_1", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_TOWN", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ROUTE1", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_1", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_1", "x": 3, "y": 10, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 4, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "PalletTown_EventScript_16575C", + "script": "PalletTown_EventScript_SignLady", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_FAT_MAN", + "graphics_id": "OBJ_EVENT_GFX_FAT_MAN", "x": 13, "y": 17, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 2, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "PalletTown_EventScript_16582F", + "script": "PalletTown_EventScript_FatMan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PROF_OAK", + "graphics_id": "OBJ_EVENT_GFX_PROF_OAK", "x": 10, "y": 8, "elevation": 3, @@ -95,7 +97,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_PALLET_TOWN_OAK", "var_value": 0, - "script": "PalletTown_EventScript_1655ED" + "script": "PalletTown_EventScript_OakTriggerLeft" }, { "type": "trigger", @@ -104,7 +106,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_PALLET_TOWN_OAK", "var_value": 0, - "script": "PalletTown_EventScript_1655F9" + "script": "PalletTown_EventScript_OakTriggerRight" }, { "type": "trigger", @@ -113,44 +115,49 @@ "elevation": 3, "var": "VAR_TEMP_2", "var_value": 1, - "script": "PalletTown_EventScript_16587B" + "script": "PalletTown_EventScript_SignLadyTrigger" } ], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 16, "y": 16, "elevation": 0, - "script": "PalletTown_EventScript_165838" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "PalletTown_EventScript_OaksLabSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 7, "elevation": 0, - "script": "PalletTown_EventScript_165850" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "PalletTown_EventScript_PlayersHouseSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 13, "y": 7, "elevation": 0, - "script": "PalletTown_EventScript_165859" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "PalletTown_EventScript_RivalsHouseSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 9, "y": 11, "elevation": 0, - "script": "PalletTown_EventScript_165862" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "PalletTown_EventScript_TownSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 14, "elevation": 0, - "script": "PalletTown_EventScript_16586B" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "PalletTown_EventScript_TrainerTips" } ] } diff --git a/data/maps/PalletTown/scripts.inc b/data/maps/PalletTown/scripts.inc index 9fd73f882..eb8904713 100644 --- a/data/maps/PalletTown/scripts.inc +++ b/data/maps/PalletTown/scripts.inc @@ -1,3 +1,8 @@ +.equ LOCALID_SIGN_LADY, 1 +.equ LOCALID_PROF_OAK, 3 + +.equ SIGN_LADY_READY, VAR_TEMP_2 + PalletTown_MapScripts:: @ 816545A map_script MAP_SCRIPT_ON_TRANSITION, PalletTown_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, PalletTown_OnFrame @@ -5,68 +10,69 @@ PalletTown_MapScripts:: @ 816545A PalletTown_OnTransition:: @ 8165465 setworldmapflag FLAG_WORLD_MAP_PALLET_TOWN - call_if_set FLAG_PALLET_LADY_NOT_BLOCKING_SIGN, EventScript_165488 + call_if_set FLAG_PALLET_LADY_NOT_BLOCKING_SIGN, PalletTown_EventScript_TryReadySignLady compare VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY, 0 - call_if_eq EventScript_1654A8 + call_if_eq PalletTown_EventScript_SetSignLadyPos compare VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY, 1 - call_if_eq EventScript_1654A2 + call_if_eq PalletTown_EventScript_SetSignLadyDone end -EventScript_165488:: @ 8165488 +PalletTown_EventScript_TryReadySignLady:: @ 8165488 goto_if_unset FLAG_PALLET_TOWN_LADY_MOVED_FROM_SIGN, EventScript_Return compare VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY, 1 goto_if_ge EventScript_Return setvar VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY, 1 return -EventScript_1654A2:: @ 81654A2 +PalletTown_EventScript_SetSignLadyDone:: @ 81654A2 setvar VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY, 2 return -EventScript_1654A8:: @ 81654A8 - goto_if_set FLAG_PALLET_LADY_NOT_BLOCKING_SIGN, EventScript_1654BD - setobjectxyperm 1, 5, 15 - setobjectmovementtype 1, 7 +PalletTown_EventScript_SetSignLadyPos:: @ 81654A8 + goto_if_set FLAG_PALLET_LADY_NOT_BLOCKING_SIGN, PalletTown_EventScript_MoveSignLadyToRouteEntrance + setobjectxyperm LOCALID_SIGN_LADY, 5, 15 + setobjectmovementtype LOCALID_SIGN_LADY, MOVEMENT_TYPE_FACE_UP return -EventScript_1654BD:: @ 81654BD - setobjectxyperm 1, 12, 2 - setobjectmovementtype 1, 8 - setvar VAR_TEMP_2, 1 +PalletTown_EventScript_MoveSignLadyToRouteEntrance:: @ 81654BD + setobjectxyperm LOCALID_SIGN_LADY, 12, 2 + setobjectmovementtype LOCALID_SIGN_LADY, MOVEMENT_TYPE_FACE_DOWN + setvar SIGN_LADY_READY, TRUE return PalletTown_OnFrame:: @ 81654CE - map_script_2 VAR_MAP_SCENE_PALLET_TOWN_OAK, 2, EventScript_1654D8 + map_script_2 VAR_MAP_SCENE_PALLET_TOWN_OAK, 2, PalletTown_EventScript_OakRatingScene .2byte 0 -EventScript_1654D8:: @ 81654D8 +@ Oak approaches player after exiting their house post Elite Four to check if they should receieve the National Dex +PalletTown_EventScript_OakRatingScene:: @ 81654D8 lockall textcolor 0 - setobjectxyperm 3, 14, 14 - setobjectmovementtype 3, 9 - addobject 3 - applymovement 3, Movement_1655AF + setobjectxyperm LOCALID_PROF_OAK, 14, 14 + setobjectmovementtype LOCALID_PROF_OAK, MOVEMENT_TYPE_FACE_LEFT + addobject LOCALID_PROF_OAK + applymovement LOCALID_PROF_OAK, PalletTown_Movement_OakWalkToPlayersDoor waitmovement 0 - goto_if_unset FLAG_WORLD_MAP_ONE_ISLAND, EventScript_1655A1 - msgbox gUnknown_817D8BF + goto_if_unset FLAG_WORLD_MAP_ONE_ISLAND, PalletTown_EventScript_NotBeenToOneIslandYet + msgbox PalletTown_Text_OakLetMeSeePokedex setvar VAR_0x8004, 0 - specialvar VAR_RESULT, Special_GetPokedexCount + specialvar VAR_RESULT, GetPokedexCount copyvar VAR_0x8008, VAR_0x8005 copyvar VAR_0x8009, VAR_0x8006 getnumberstring 0, VAR_0x8008 getnumberstring 1, VAR_0x8009 compare VAR_0x8009, 60 - goto_if_lt EventScript_165593 - msgbox gUnknown_817D9AA + goto_if_lt PalletTown_EventScript_NotEnoughMonsForNationalDex + msgbox PalletTown_Text_CaughtXImpressiveFollowMe closemessage playbgm MUS_ANNAI, 0 - applymovement OBJ_EVENT_ID_PLAYER, Movement_1655DD - applymovement 3, Movement_1655CC + applymovement OBJ_EVENT_ID_PLAYER, PalletTown_Movement_PlayerWalkToLabFromHouse + applymovement LOCALID_PROF_OAK, PalletTown_Movement_OakWalkToLabFromHouse waitmovement 0 opendoor 16, 13 waitdooranim - applymovement 3, Movement_16572E - applymovement OBJ_EVENT_ID_PLAYER, Movement_165758 + applymovement LOCALID_PROF_OAK, PalletTown_Movement_OakEnterLab + applymovement OBJ_EVENT_ID_PLAYER, PalletTown_Movement_PlayerEnterLab waitmovement 0 closedoor 16, 13 waitdooranim @@ -78,26 +84,26 @@ EventScript_1654D8:: @ 81654D8 releaseall end -EventScript_16557E:: @ 816557E +PalletTown_EventScript_EndOakRatingScene:: @ 816557E closemessage - applymovement 3, Movement_1655BE + applymovement LOCALID_PROF_OAK, PalletTown_Movement_OakExit waitmovement 0 - removeobject 3 + removeobject LOCALID_PROF_OAK setvar VAR_MAP_SCENE_PALLET_TOWN_OAK, 3 releaseall end -EventScript_165593:: @ 8165593 - msgbox gUnknown_817D925 - goto EventScript_16557E +PalletTown_EventScript_NotEnoughMonsForNationalDex:: @ 8165593 + msgbox PalletTown_Text_CaughtXPuttingInHonestEffort + goto PalletTown_EventScript_EndOakRatingScene end -EventScript_1655A1:: @ 81655A1 - msgbox gUnknown_817DA16 - goto EventScript_16557E +PalletTown_EventScript_NotBeenToOneIslandYet:: @ 81655A1 + msgbox PalletTown_Text_OakYouEnjoyingTraveling + goto PalletTown_EventScript_EndOakRatingScene end -Movement_1655AF:: @ 81655AF +PalletTown_Movement_OakWalkToPlayersDoor:: @ 81655AF walk_left walk_left walk_left @@ -114,7 +120,7 @@ Movement_1655AF:: @ 81655AF walk_in_place_fastest_up step_end -Movement_1655BE:: @ 81655BE +PalletTown_Movement_OakExit:: @ 81655BE walk_right walk_right walk_right @@ -130,7 +136,7 @@ Movement_1655BE:: @ 81655BE walk_right step_end -Movement_1655CC:: @ 81655CC +PalletTown_Movement_OakWalkToLabFromHouse:: @ 81655CC walk_right walk_right walk_right @@ -149,7 +155,7 @@ Movement_1655CC:: @ 81655CC walk_in_place_fastest_up step_end -Movement_1655DD:: @ 81655DD +PalletTown_Movement_PlayerWalkToLabFromHouse:: @ 81655DD walk_down walk_right walk_right @@ -167,24 +173,24 @@ Movement_1655DD:: @ 81655DD walk_right step_end -PalletTown_EventScript_1655ED:: @ 81655ED +PalletTown_EventScript_OakTriggerLeft:: @ 81655ED lockall setvar VAR_TEMP_1, 0 - goto EventScript_165605 + goto PalletTown_EventScript_OakTrigger end -PalletTown_EventScript_1655F9:: @ 81655F9 +PalletTown_EventScript_OakTriggerRight:: @ 81655F9 lockall setvar VAR_TEMP_1, 1 - goto EventScript_165605 + goto PalletTown_EventScript_OakTrigger end -EventScript_165605:: @ 8165605 +PalletTown_EventScript_OakTrigger:: @ 8165605 famechecker FAMECHECKER_OAK, FCPICKSTATE_COLORED, UpdatePickStateFromSpecialVar8005 textcolor 0 delay 30 playbgm MUS_OHKIDO, 0 - message Text_17D72C + message PalletTown_Text_OakDontGoOut waitmessage delay 85 closemessage @@ -194,23 +200,23 @@ EventScript_165605:: @ 8165605 applymovement OBJ_EVENT_ID_PLAYER, Movement_ExclamationMark waitmovement 0 delay 30 - addobject 3 + addobject LOCALID_PROF_OAK compare VAR_TEMP_1, 0 - call_if_eq EventScript_1656B8 + call_if_eq PalletTown_EventScript_OakEnterLeft compare VAR_TEMP_1, 1 - call_if_eq EventScript_1656C3 + call_if_eq PalletTown_EventScript_OakEnterRight delay 30 - msgbox gUnknown_817D74A + msgbox PalletTown_Text_OakGrassUnsafeNeedMon closemessage delay 30 compare VAR_TEMP_1, 0 - call_if_eq EventScript_1656CE + call_if_eq PalletTown_EventScript_OakLeadPlayerToLabLeft compare VAR_TEMP_1, 1 - call_if_eq EventScript_1656E0 + call_if_eq PalletTown_EventScript_OakLeadPlayerToLabRight opendoor 16, 13 waitdooranim - applymovement 3, Movement_16572E - applymovement OBJ_EVENT_ID_PLAYER, Movement_165758 + applymovement LOCALID_PROF_OAK, PalletTown_Movement_OakEnterLab + applymovement OBJ_EVENT_ID_PLAYER, PalletTown_Movement_PlayerEnterLab waitmovement 0 closedoor 16, 13 waitdooranim @@ -224,29 +230,29 @@ EventScript_165605:: @ 8165605 releaseall end -EventScript_1656B8:: @ 81656B8 - applymovement 3, Movement_1656F2 +PalletTown_EventScript_OakEnterLeft:: @ 81656B8 + applymovement LOCALID_PROF_OAK, PalletTown_Movement_OakEnterLeft waitmovement 0 return -EventScript_1656C3:: @ 81656C3 - applymovement 3, Movement_1656FB +PalletTown_EventScript_OakEnterRight:: @ 81656C3 + applymovement LOCALID_PROF_OAK, PalletTown_Movement_OakEnterRight waitmovement 0 return -EventScript_1656CE:: @ 81656CE - applymovement 3, Movement_165705 - applymovement OBJ_EVENT_ID_PLAYER, Movement_165731 +PalletTown_EventScript_OakLeadPlayerToLabLeft:: @ 81656CE + applymovement LOCALID_PROF_OAK, PalletTown_Movement_OakWalkToLabLeft + applymovement OBJ_EVENT_ID_PLAYER, PalletTown_Movement_PlayerWalkToLabLeft waitmovement 0 return -EventScript_1656E0:: @ 81656E0 - applymovement 3, Movement_165719 - applymovement OBJ_EVENT_ID_PLAYER, Movement_165744 +PalletTown_EventScript_OakLeadPlayerToLabRight:: @ 81656E0 + applymovement LOCALID_PROF_OAK, PalletTown_Movement_OakWalkToLabRight + applymovement OBJ_EVENT_ID_PLAYER, PalletTown_Movement_PlayerWalkToLabRight waitmovement 0 return -Movement_1656F2:: @ 81656F2 +PalletTown_Movement_OakEnterLeft:: @ 81656F2 walk_up walk_up walk_right @@ -257,7 +263,7 @@ Movement_1656F2:: @ 81656F2 walk_up step_end -Movement_1656FB:: @ 81656FB +PalletTown_Movement_OakEnterRight:: @ 81656FB walk_right walk_up walk_up @@ -269,8 +275,7 @@ Movement_1656FB:: @ 81656FB walk_up step_end -Movement_165705:: @ 8165705 - walk_down + .macro walk_to_lab walk_left walk_down walk_down @@ -287,214 +292,174 @@ Movement_165705:: @ 8165705 walk_right walk_right walk_right + .endm + +PalletTown_Movement_OakWalkToLabLeft:: @ 8165705 + walk_down + walk_to_lab walk_right walk_in_place_fastest_up step_end -Movement_165719:: @ 8165719 +PalletTown_Movement_OakWalkToLabRight:: @ 8165719 walk_down walk_left - walk_left - walk_down - walk_down - walk_down - walk_down - walk_down - walk_down - walk_down - walk_down - walk_down - walk_down - walk_down - walk_right - walk_right - walk_right - walk_right + walk_to_lab walk_right walk_in_place_fastest_up step_end -Movement_16572E:: @ 816572E +PalletTown_Movement_OakEnterLab:: @ 816572E walk_up set_invisible step_end -Movement_165731:: @ 8165731 +PalletTown_Movement_PlayerWalkToLabLeft:: @ 8165731 walk_down walk_down - walk_left - walk_down - walk_down - walk_down - walk_down - walk_down - walk_down - walk_down - walk_down - walk_down - walk_down - walk_down - walk_right - walk_right - walk_right - walk_right + walk_to_lab step_end -Movement_165744:: @ 8165744 +PalletTown_Movement_PlayerWalkToLabRight:: @ 8165744 walk_down walk_down walk_left - walk_left - walk_down - walk_down - walk_down - walk_down - walk_down - walk_down - walk_down - walk_down - walk_down - walk_down - walk_down - walk_right - walk_right - walk_right - walk_right + walk_to_lab step_end -Movement_165758:: @ 8165758 +PalletTown_Movement_PlayerEnterLab:: @ 8165758 walk_right walk_up set_invisible step_end -PalletTown_EventScript_16575C:: @ 816575C +PalletTown_EventScript_SignLady:: @ 816575C lock compare VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY, 2 - goto_if_eq EventScript_1657ED + goto_if_eq PalletTown_EventScript_SignLadyDone compare VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY, 1 - goto_if_eq EventScript_165815 - compare VAR_TEMP_2, 1 - goto_if_eq EventScript_1658C2 - goto_if_set FLAG_TEMP_2, EventScript_165801 - msgbox gUnknown_81B1C8B - applymovement 1, Movement_FacePlayer + goto_if_eq PalletTown_EventScript_SignLadyJustShowedSign + compare SIGN_LADY_READY, TRUE + goto_if_eq PalletTown_EventScript_SignLadyStartShowSign + goto_if_set FLAG_TEMP_2, PalletTown_EventScript_SignLadyGoReadSign + msgbox PalletTown_Text_HmmIsThatRight + applymovement LOCALID_SIGN_LADY, Movement_FacePlayer waitmovement 0 playse SE_PIN - applymovement 1, Movement_ExclamationMark + applymovement LOCALID_SIGN_LADY, Movement_ExclamationMark waitmovement 0 - applymovement 1, Movement_Delay48 + applymovement LOCALID_SIGN_LADY, Movement_Delay48 waitmovement 0 - msgbox gUnknown_81B1C9F + msgbox PalletTown_Text_OhLookLook closemessage compare VAR_FACING, DIR_EAST - call_if_eq EventScript_1657D7 + call_if_eq PalletTown_EventScript_SignLadyMoveOutOfWayRight compare VAR_FACING, DIR_EAST - call_if_ne EventScript_1657E2 + call_if_ne PalletTown_EventScript_SignLadyMoveOutOfWayLeft moveobjectoffscreen 1 setflag FLAG_TEMP_2 release end -EventScript_1657D7:: @ 81657D7 - applymovement 1, Movement_165829 +PalletTown_EventScript_SignLadyMoveOutOfWayRight:: @ 81657D7 + applymovement LOCALID_SIGN_LADY, PalletTown_Movement_SignLadyMoveOutOfWayRight waitmovement 0 return -EventScript_1657E2:: @ 81657E2 - applymovement 1, Movement_16582C +PalletTown_EventScript_SignLadyMoveOutOfWayLeft:: @ 81657E2 + applymovement LOCALID_SIGN_LADY, PalletTown_Movement_SignLadyMoveOutOfWayLeft waitmovement 0 return -EventScript_1657ED:: @ 81657ED - applymovement 1, Movement_FacePlayer +PalletTown_EventScript_SignLadyDone:: @ 81657ED + applymovement LOCALID_SIGN_LADY, Movement_FacePlayer waitmovement 0 - msgbox gUnknown_817D7C8 + msgbox PalletTown_Text_RaisingMonsToo release end -EventScript_165801:: @ 8165801 - applymovement 1, Movement_FacePlayer +PalletTown_EventScript_SignLadyGoReadSign:: @ 8165801 + applymovement LOCALID_SIGN_LADY, Movement_FacePlayer waitmovement 0 - msgbox gUnknown_81B1CAF + msgbox PalletTown_Text_ReadItReadIt release end -EventScript_165815:: @ 8165815 - applymovement 1, Movement_FacePlayer +PalletTown_EventScript_SignLadyJustShowedSign:: @ 8165815 + applymovement LOCALID_SIGN_LADY, Movement_FacePlayer waitmovement 0 - msgbox gUnknown_81B1CEC + msgbox PalletTown_Text_SignsAreUsefulArentThey release end -Movement_165829:: @ 8165829 +PalletTown_Movement_SignLadyMoveOutOfWayRight:: @ 8165829 walk_right walk_in_place_fastest_left step_end -Movement_16582C:: @ 816582C +PalletTown_Movement_SignLadyMoveOutOfWayLeft:: @ 816582C walk_left walk_in_place_fastest_right step_end -PalletTown_EventScript_16582F:: @ 816582F - msgbox gUnknown_817D80D, MSGBOX_NPC +PalletTown_EventScript_FatMan:: @ 816582F + msgbox PalletTown_Text_CanStoreItemsAndMonsInPC, MSGBOX_NPC end -PalletTown_EventScript_165838:: @ 8165838 +PalletTown_EventScript_OaksLabSign:: @ 8165838 lockall famechecker FAMECHECKER_OAK, 0 - msgbox gUnknown_817D866 + msgbox PalletTown_Text_OakPokemonResearchLab releaseall end -PalletTown_EventScript_165850:: @ 8165850 - msgbox gUnknown_817D87F, MSGBOX_SIGN +PalletTown_EventScript_PlayersHouseSign:: @ 8165850 + msgbox PalletTown_Text_PlayersHouse, MSGBOX_SIGN end -PalletTown_EventScript_165859:: @ 8165859 - msgbox gUnknown_817D88A, MSGBOX_SIGN +PalletTown_EventScript_RivalsHouseSign:: @ 8165859 + msgbox PalletTown_Text_RivalsHouse, MSGBOX_SIGN end -PalletTown_EventScript_165862:: @ 8165862 - msgbox gUnknown_817D895, MSGBOX_SIGN +PalletTown_EventScript_TownSign:: @ 8165862 + msgbox PalletTown_Text_TownSign, MSGBOX_SIGN end -PalletTown_EventScript_16586B:: @ 816586B +PalletTown_EventScript_TrainerTips:: @ 816586B lockall - msgbox gUnknown_81B1CC1 + msgbox PalletTown_Text_PressStartToOpenMenu setvar VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY, 1 releaseall end -PalletTown_EventScript_16587B:: @ 816587B +PalletTown_EventScript_SignLadyTrigger:: @ 816587B lockall - applymovement 1, Movement_WalkInPlaceFastestRight + applymovement LOCALID_SIGN_LADY, Movement_WalkInPlaceFastestRight applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestLeft waitmovement 0 - call EventScript_165894 + call PalletTown_EventScript_SignLadyShowSign releaseall end -EventScript_165894:: @ 8165894 +PalletTown_EventScript_SignLadyShowSign:: @ 8165894 textcolor 1 - msgbox gUnknown_81B1D0B + msgbox PalletTown_Text_LookCopiedTrainerTipsSign closemessage delay 20 textcolor 3 setflag FLAG_PALLET_TOWN_LADY_MOVED_FROM_SIGN setvar VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY, 1 - setvar VAR_TEMP_2, 0 + setvar SIGN_LADY_READY, FALSE special sub_80699E0 special sub_80699BC signmsg - msgbox gUnknown_81B1D51 + msgbox PalletTown_Text_PressStartToOpenMenuCopy normalmsg return -EventScript_1658C2:: @ 81658C2 - applymovement 1, Movement_FacePlayer +PalletTown_EventScript_SignLadyStartShowSign:: @ 81658C2 + applymovement LOCALID_SIGN_LADY, Movement_FacePlayer waitmovement 0 - call EventScript_165894 + call PalletTown_EventScript_SignLadyShowSign release end diff --git a/data/maps/PalletTown/text.inc b/data/maps/PalletTown/text.inc index ad476a541..5ed553ce2 100644 --- a/data/maps/PalletTown/text.inc +++ b/data/maps/PalletTown/text.inc @@ -1,8 +1,8 @@ -Text_17D72C:: @ 817D72C +PalletTown_Text_OakDontGoOut:: @ 817D72C .string "OAK: Hey! Wait!\n" .string "Don't go out!$" -gUnknown_817D74A:: @ 817D74A +PalletTown_Text_OakGrassUnsafeNeedMon:: @ 817D74A .string "OAK: It's unsafe!\n" .string "Wild POKéMON live in tall grass!\p" .string "You need your own POKéMON for\n" @@ -10,30 +10,30 @@ gUnknown_817D74A:: @ 817D74A .string "I know!\n" .string "Here, come with me!$" -gUnknown_817D7C8:: @ 817D7C8 +PalletTown_Text_RaisingMonsToo:: @ 817D7C8 .string "I'm raising POKéMON, too.\p" .string "When they get strong, they can\n" .string "protect me.$" -gUnknown_817D80D:: @ 817D80D +PalletTown_Text_CanStoreItemsAndMonsInPC:: @ 817D80D .string "Technology is incredible!\p" .string "You can now store and recall items\n" .string "and POKéMON as data via PC.$" -gUnknown_817D866:: @ 817D866 +PalletTown_Text_OakPokemonResearchLab:: @ 817D866 .string "OAK POKéMON RESEARCH LAB$" -gUnknown_817D87F:: @ 817D87F +PalletTown_Text_PlayersHouse:: @ 817D87F .string "{PLAYER}'s house$" -gUnknown_817D88A:: @ 817D88A +PalletTown_Text_RivalsHouse:: @ 817D88A .string "{RIVAL}'s house$" -gUnknown_817D895:: @ 817D895 +PalletTown_Text_TownSign:: @ 817D895 .string "PALLET TOWN\n" .string "Shades of your journey await!$" -gUnknown_817D8BF:: @ 817D8BF +PalletTown_Text_OakLetMeSeePokedex:: @ 817D8BF .string "OAK: Ah, {PLAYER}!\n" .string "You're back, are you?\p" .string "How much have you filled in your\n" @@ -41,14 +41,14 @@ gUnknown_817D8BF:: @ 817D8BF .string "May I see it?\p" .string "Let's see…$" -gUnknown_817D925:: @ 817D925 +PalletTown_Text_CaughtXPuttingInHonestEffort:: @ 817D925 .string "You've caught {STR_VAR_2}…\p" .string "Hm, it looks as if you're putting\n" .string "in an honest effort.\p" .string "When you manage to fill it some\n" .string "more, come show me, please.$" -gUnknown_817D9AA:: @ 817D9AA +PalletTown_Text_CaughtXImpressiveFollowMe:: @ 817D9AA .string "You've caught… {STR_VAR_2}!?\n" .string "Now, this is impressive!\p" .string "There's something I wanted to ask\n" @@ -56,7 +56,7 @@ gUnknown_817D9AA:: @ 817D9AA .string "Come.\n" .string "Follow me.$" -gUnknown_817DA16:: @ 817DA16 +PalletTown_Text_OakYouEnjoyingTraveling:: @ 817DA16 .string "OAK: Ah, {PLAYER}!\n" .string "You seem to be enjoying traveling.\p" .string "Knowing you, {PLAYER}, I can easily\n" diff --git a/data/maps/PalletTown_GarysHouse/map.json b/data/maps/PalletTown_GarysHouse/map.json index 51c7404ea..b4ac2c780 100644 --- a/data/maps/PalletTown_GarysHouse/map.json +++ b/data/maps/PalletTown_GarysHouse/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_PALLET_TOWN", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_DAISY", + "graphics_id": "OBJ_EVENT_GFX_DAISY", "x": 10, "y": 6, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 3, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "PalletTown_GarysHouse_EventScript_168D56", + "script": "PalletTown_GarysHouse_EventScript_Daisy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_TOWN_MAP", + "graphics_id": "OBJ_EVENT_GFX_TOWN_MAP", "x": 6, "y": 4, "elevation": 3, @@ -36,7 +38,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "PalletTown_GarysHouse_EventScript_168F63", + "script": "PalletTown_GarysHouse_EventScript_TownMap", "flag": "FLAG_HIDE_TOWN_MAP" } ], @@ -66,25 +68,28 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 1, "elevation": 0, - "script": "PalletTown_GarysHouse_EventScript_168F6C" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "PalletTown_GarysHouse_EventScript_Bookshelf" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 11, "y": 1, "elevation": 0, - "script": "PalletTown_GarysHouse_EventScript_168F6C" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "PalletTown_GarysHouse_EventScript_Bookshelf" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 9, "y": 1, "elevation": 0, - "script": "PalletTown_GarysHouse_EventScript_168F75" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "PalletTown_GarysHouse_EventScript_Picture" } ] } diff --git a/data/maps/PalletTown_GarysHouse/scripts.inc b/data/maps/PalletTown_GarysHouse/scripts.inc index 2059a2f58..be4e8dd09 100644 --- a/data/maps/PalletTown_GarysHouse/scripts.inc +++ b/data/maps/PalletTown_GarysHouse/scripts.inc @@ -1,177 +1,182 @@ +.equ LOCALID_DAISY, 1 +.equ LOCALID_TOWN_MAP, 2 + +.equ RECEIVED_TOWN_MAP, VAR_TEMP_1 + PalletTown_GarysHouse_MapScripts:: @ 8168D27 map_script MAP_SCRIPT_ON_TRANSITION, PalletTown_GarysHouse_OnTransition .byte 0 PalletTown_GarysHouse_OnTransition:: @ 8168D2D compare VAR_MAP_SCENE_PALLET_TOWN_GARYS_HOUSE, 2 - call_if_lt EventScript_168D44 + call_if_lt PalletTown_GarysHouse_EventScript_MoveDaisyToTable compare VAR_MAP_SCENE_PALLET_TOWN_GARYS_HOUSE, 2 - call_if_ge EventScript_168D50 + call_if_ge PalletTown_GarysHouse_EventScript_AlreadyReceivedTownMap end -EventScript_168D44:: @ 8168D44 - setobjectmovementtype 1, 10 - setobjectxyperm 1, 5, 4 +PalletTown_GarysHouse_EventScript_MoveDaisyToTable:: @ 8168D44 + setobjectmovementtype LOCALID_DAISY, MOVEMENT_TYPE_FACE_RIGHT + setobjectxyperm LOCALID_DAISY, 5, 4 return -EventScript_168D50:: @ 8168D50 - setvar VAR_TEMP_1, 1 +PalletTown_GarysHouse_EventScript_AlreadyReceivedTownMap:: @ 8168D50 + setvar RECEIVED_TOWN_MAP, TRUE return -PalletTown_GarysHouse_EventScript_168D56:: @ 8168D56 +PalletTown_GarysHouse_EventScript_Daisy:: @ 8168D56 lock faceplayer famechecker FAMECHECKER_DAISY, FCPICKSTATE_COLORED, UpdatePickStateFromSpecialVar8005 - goto_if_set FLAG_SYS_GAME_CLEAR, EventScript_168DB9 - compare VAR_TEMP_1, 1 - goto_if_eq EventScript_168EEC + goto_if_set FLAG_SYS_GAME_CLEAR, PalletTown_GarysHouse_EventScript_GroomMon + compare RECEIVED_TOWN_MAP, TRUE + goto_if_eq PalletTown_GarysHouse_EventScript_PleaseGiveMonsRest compare VAR_MAP_SCENE_PALLET_TOWN_GARYS_HOUSE, 2 - goto_if_eq EventScript_168F59 + goto_if_eq PalletTown_GarysHouse_EventScript_ExplainTownMap compare VAR_MAP_SCENE_PALLET_TOWN_GARYS_HOUSE, 1 - goto_if_eq EventScript_168EF6 + goto_if_eq PalletTown_GarysHouse_EventScript_GiveTownMap compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 1 - goto_if_ge EventScript_168DAF - msgbox gUnknown_818D58C + goto_if_ge PalletTown_GarysHouse_EventScript_HeardBattledRival + msgbox PalletTown_GarysHouse_Text_HiBrothersAtLab closemessage - applymovement 1, Movement_FaceOriginalDirection + applymovement LOCALID_DAISY, Movement_FaceOriginalDirection waitmovement 0 release end -EventScript_168DAF:: @ 8168DAF - msgbox gUnknown_818D5C4 +PalletTown_GarysHouse_EventScript_HeardBattledRival:: @ 8168DAF + msgbox PalletTown_GarysHouse_Text_HeardYouBattledRival release end -EventScript_168DB9:: @ 8168DB9 +PalletTown_GarysHouse_EventScript_GroomMon:: @ 8168DB9 goto_if_questlog EventScript_ReleaseEnd special sub_8112364 compare VAR_MASSAGE_COOLDOWN_STEP_COUNTER, 500 - goto_if_lt EventScript_168E46 - msgbox gUnknown_818D7D3, MSGBOX_YESNO + goto_if_lt PalletTown_GarysHouse_EventScript_RateMonFriendship + msgbox PalletTown_GarysHouse_Text_LikeMeToGroomMon, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_168E3C - msgbox gUnknown_818D8B2 - special Special_ChooseMonFromParty + goto_if_eq PalletTown_GarysHouse_EventScript_DeclineGrooming + msgbox PalletTown_GarysHouse_Text_GroomWhichOne + special ChoosePartyMon waitstate lock faceplayer - compare VAR_0x8004, 6 - goto_if_ge EventScript_168E3C - specialvar VAR_RESULT, Special_GetSpeciesOfPartySlot_x8004 + compare VAR_0x8004, PARTY_SIZE + goto_if_ge PalletTown_GarysHouse_EventScript_DeclineGrooming + specialvar VAR_RESULT, GetPartyMonSpecies compare VAR_RESULT, SPECIES_EGG - goto_if_eq EventScript_168E32 - msgbox gUnknown_818D8CC + goto_if_eq PalletTown_GarysHouse_EventScript_CantGroomEgg + msgbox PalletTown_GarysHouse_Text_LookingNiceInNoTime closemessage fadescreen FADE_TO_BLACK playfanfare MUS_ME_ASA waitfanfare - special Special_DaisyMassageServices + special DaisyMassageServices fadescreen FADE_FROM_BLACK - special Special_GetMonNickname - msgbox gUnknown_818D8FE + special BufferMonNickname + msgbox PalletTown_GarysHouse_Text_ThereYouGoAllDone release end -EventScript_168E32:: @ 8168E32 - msgbox gUnknown_818D97B +PalletTown_GarysHouse_EventScript_CantGroomEgg:: @ 8168E32 + msgbox PalletTown_GarysHouse_Text_CantGroomAnEgg release end -EventScript_168E3C:: @ 8168E3C - msgbox gUnknown_818D875 +PalletTown_GarysHouse_EventScript_DeclineGrooming:: @ 8168E3C + msgbox PalletTown_GarysHouse_Text_DontNeedAnyGrooming release end -EventScript_168E46:: @ 8168E46 - msgbox gUnknown_818D9A5 - specialvar VAR_RESULT, Special_GetLeadMonFriendship +PalletTown_GarysHouse_EventScript_RateMonFriendship:: @ 8168E46 + msgbox PalletTown_GarysHouse_Text_MayISeeFirstMon + specialvar VAR_RESULT, GetLeadMonFriendship switch VAR_RESULT - case 0, EventScript_168EA6 - case 1, EventScript_168EB0 - case 2, EventScript_168EBA - case 3, EventScript_168EC4 - case 4, EventScript_168ECE - case 5, EventScript_168ED8 - case 6, EventScript_168EE2 + case 0, PalletTown_GarysHouse_EventScript_MonFriendshipLowest + case 1, PalletTown_GarysHouse_EventScript_MonFriendshipLower + case 2, PalletTown_GarysHouse_EventScript_MonFriendshipLow + case 3, PalletTown_GarysHouse_EventScript_MonFriendshipMid + case 4, PalletTown_GarysHouse_EventScript_MonFriendshipHigh + case 5, PalletTown_GarysHouse_EventScript_MonFriendshipHigher + case 6, PalletTown_GarysHouse_EventScript_MonFriendshipHighest end -EventScript_168EA6:: @ 8168EA6 - msgbox gUnknown_818DBDD +PalletTown_GarysHouse_EventScript_MonFriendshipLowest:: @ 8168EA6 + msgbox PalletTown_GarysHouse_Text_WhyWouldMonHateYouSoMuch release end -EventScript_168EB0:: @ 8168EB0 - msgbox gUnknown_818DB88 +PalletTown_GarysHouse_EventScript_MonFriendshipLower:: @ 8168EB0 + msgbox PalletTown_GarysHouse_Text_DontLikeWayItGlaresAtYou release end -EventScript_168EBA:: @ 8168EBA - msgbox gUnknown_818DB2E +PalletTown_GarysHouse_EventScript_MonFriendshipLow:: @ 8168EBA + msgbox PalletTown_GarysHouse_Text_NotFamiliarWithYouYet release end -EventScript_168EC4:: @ 8168EC4 - msgbox gUnknown_818DAF3 +PalletTown_GarysHouse_EventScript_MonFriendshipMid:: @ 8168EC4 + msgbox PalletTown_GarysHouse_Text_ItsWarmingUpToYou release end -EventScript_168ECE:: @ 8168ECE - msgbox gUnknown_818DABE +PalletTown_GarysHouse_EventScript_MonFriendshipHigh:: @ 8168ECE + msgbox PalletTown_GarysHouse_Text_ItsQuiteFriendly release end -EventScript_168ED8:: @ 8168ED8 - msgbox gUnknown_818DA73 +PalletTown_GarysHouse_EventScript_MonFriendshipHigher:: @ 8168ED8 + msgbox PalletTown_GarysHouse_Text_ItLooksVeryHappy release end -EventScript_168EE2:: @ 8168EE2 - msgbox gUnknown_818DA16 +PalletTown_GarysHouse_EventScript_MonFriendshipHighest:: @ 8168EE2 + msgbox PalletTown_GarysHouse_Text_CouldntLoveYouMore release end -EventScript_168EEC:: @ 8168EEC - msgbox gUnknown_818D701 +PalletTown_GarysHouse_EventScript_PleaseGiveMonsRest:: @ 8168EEC + msgbox PalletTown_GarysHouse_Text_PleaseGiveMonsRest release end -EventScript_168EF6:: @ 8168EF6 - msgbox gUnknown_818D60A +PalletTown_GarysHouse_EventScript_GiveTownMap:: @ 8168EF6 + msgbox PalletTown_GarysHouse_Text_ErrandForGrandpaThisWillHelp closemessage checkitemspace ITEM_TOWN_MAP, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_168F4F - applymovement 1, Movement_WalkInPlaceFastestRight + goto_if_eq PalletTown_GarysHouse_EventScript_NoRoomForTownMap + applymovement LOCALID_DAISY, Movement_WalkInPlaceFastestRight waitmovement 0 - removeobject 2 + removeobject LOCALID_TOWN_MAP setvar VAR_MAP_SCENE_PALLET_TOWN_GARYS_HOUSE, 2 delay 15 - applymovement 1, Movement_FacePlayer + applymovement LOCALID_DAISY, Movement_FacePlayer waitmovement 0 delay 12 - giveitem_msg gUnknown_818D661, ITEM_TOWN_MAP, 1, MUS_FAN5 + giveitem_msg PalletTown_GarysHouse_Text_ReceivedTownMapFromDaisy, ITEM_TOWN_MAP, 1, MUS_FAN5 release end -EventScript_168F4F:: @ 8168F4F - msgbox gUnknown_818D684 +PalletTown_GarysHouse_EventScript_NoRoomForTownMap:: @ 8168F4F + msgbox PalletTown_GarysHouse_Text_DontHaveSpaceForThis release end -EventScript_168F59:: @ 8168F59 - msgbox gUnknown_818D6AF +PalletTown_GarysHouse_EventScript_ExplainTownMap:: @ 8168F59 + msgbox PalletTown_GarysHouse_Text_ExplainTownMap release end -PalletTown_GarysHouse_EventScript_168F63:: @ 8168F63 - msgbox gUnknown_818D763, MSGBOX_NPC +PalletTown_GarysHouse_EventScript_TownMap:: @ 8168F63 + msgbox PalletTown_GarysHouse_Text_ItsBigMapOfKanto, MSGBOX_NPC end -PalletTown_GarysHouse_EventScript_168F6C:: @ 8168F6C - msgbox gUnknown_818D7A1, MSGBOX_SIGN +PalletTown_GarysHouse_EventScript_Bookshelf:: @ 8168F6C + msgbox PalletTown_GarysHouse_Text_ShelvesCrammedFullOfBooks, MSGBOX_SIGN end -PalletTown_GarysHouse_EventScript_168F75:: @ 8168F75 - msgbox gUnknown_818DC47, MSGBOX_SIGN +PalletTown_GarysHouse_EventScript_Picture:: @ 8168F75 + msgbox PalletTown_GarysHouse_Text_LovelyAndSweetClefairy, MSGBOX_SIGN end diff --git a/data/maps/PalletTown_GarysHouse/text.inc b/data/maps/PalletTown_GarysHouse/text.inc index 92d05fbef..38e3adbdc 100644 --- a/data/maps/PalletTown_GarysHouse/text.inc +++ b/data/maps/PalletTown_GarysHouse/text.inc @@ -1,47 +1,47 @@ -gUnknown_818D58C:: @ 818D58C +PalletTown_GarysHouse_Text_HiBrothersAtLab:: @ 818D58C .string "DAISY: Hi, {PLAYER}!\p" .string "My brother, {RIVAL}, is out at\n" .string "Grandpa's LAB.$" -gUnknown_818D5C4:: @ 818D5C4 +PalletTown_GarysHouse_Text_HeardYouBattledRival:: @ 818D5C4 .string "DAISY: {PLAYER}, I heard you had\n" .string "a battle against {RIVAL}.\p" .string "I wish I'd seen that!$" -gUnknown_818D60A:: @ 818D60A +PalletTown_GarysHouse_Text_ErrandForGrandpaThisWillHelp:: @ 818D60A .string "Grandpa asked you to run an\n" .string "errand?\p" .string "Gee, that's lazy of him.\n" .string "Here, this will help you.$" -gUnknown_818D661:: @ 818D661 +PalletTown_GarysHouse_Text_ReceivedTownMapFromDaisy:: @ 818D661 .string "{PLAYER} received a TOWN MAP\n" .string "from DAISY.$" -gUnknown_818D684:: @ 818D684 +PalletTown_GarysHouse_Text_DontHaveSpaceForThis:: @ 818D684 .string "You don't have space for this in\n" .string "your BAG.$" -gUnknown_818D6AF:: @ 818D6AF +PalletTown_GarysHouse_Text_ExplainTownMap:: @ 818D6AF .string "You can use the TOWN MAP to find\n" .string "out where you are, or check the\l" .string "names of places.$" -gUnknown_818D701:: @ 818D701 +PalletTown_GarysHouse_Text_PleaseGiveMonsRest:: @ 818D701 .string "DAISY: Just like people, POKéMON\n" .string "are living things.\p" .string "When they get tired, please give\n" .string "them a rest.$" -gUnknown_818D763:: @ 818D763 +PalletTown_GarysHouse_Text_ItsBigMapOfKanto:: @ 818D763 .string "It's a big map of the KANTO region.\n" .string "Now this would be useful!$" -gUnknown_818D7A1:: @ 818D7A1 +PalletTown_GarysHouse_Text_ShelvesCrammedFullOfBooks:: @ 818D7A1 .string "The shelves are crammed full of\n" .string "books on POKéMON.$" -gUnknown_818D7D3:: @ 818D7D3 +PalletTown_GarysHouse_Text_LikeMeToGroomMon:: @ 818D7D3 .string "DAISY: Hi, {PLAYER}!\n" .string "Good timing.\p" .string "I'm about to have some tea.\n" @@ -50,72 +50,72 @@ gUnknown_818D7D3:: @ 818D7D3 .string "Your POKéMON are a little dirty.\p" .string "Would you like me to groom one?$" -gUnknown_818D875:: @ 818D875 +PalletTown_GarysHouse_Text_DontNeedAnyGrooming:: @ 818D875 .string "You don't need any grooming done?\n" .string "Okay, we'll just have tea.$" -gUnknown_818D8B2:: @ 818D8B2 +PalletTown_GarysHouse_Text_GroomWhichOne:: @ 818D8B2 .string "Which one should I groom?$" -gUnknown_818D8CC:: @ 818D8CC +PalletTown_GarysHouse_Text_LookingNiceInNoTime:: @ 818D8CC .string "DAISY: Okay, I'll get it looking\n" .string "nice in no time.$" -gUnknown_818D8FE:: @ 818D8FE +PalletTown_GarysHouse_Text_ThereYouGoAllDone:: @ 818D8FE .string "{SIZE}Á{STR_VAR_1} looks dreamily content…\p" .string "{SIZE}ÈDAISY: There you go! All done.\n" .string "See? Doesn't it look nice?\p" .string "Giggle…\n" .string "It's such a cute POKéMON.$" -gUnknown_818D97B:: @ 818D97B +PalletTown_GarysHouse_Text_CantGroomAnEgg:: @ 818D97B .string "Oh, sorry. I honestly can't\n" .string "groom an EGG.$" -gUnknown_818D9A5:: @ 818D9A5 +PalletTown_GarysHouse_Text_MayISeeFirstMon:: @ 818D9A5 .string "DAISY: Your POKéMON grow to love\n" .string "you if you raise them with love.\p" .string "For example, {PLAYER}, may I see\n" .string "your first POKéMON?$" -gUnknown_818DA16:: @ 818DA16 +PalletTown_GarysHouse_Text_CouldntLoveYouMore:: @ 818DA16 .string "It couldn't possibly love you\n" .string "any more than it does now.\p" .string "Your POKéMON is happy beyond\n" .string "words.$" -gUnknown_818DA73:: @ 818DA73 +PalletTown_GarysHouse_Text_ItLooksVeryHappy:: @ 818DA73 .string "It looks very happy.\p" .string "I wish {RIVAL} could see this and\n" .string "learn something from it.$" -gUnknown_818DABE:: @ 818DABE +PalletTown_GarysHouse_Text_ItsQuiteFriendly:: @ 818DABE .string "It's quite friendly with you.\n" .string "Keep being good to it!$" -gUnknown_818DAF3:: @ 818DAF3 +PalletTown_GarysHouse_Text_ItsWarmingUpToYou:: @ 818DAF3 .string "It's warming up to you.\n" .string "Trust must be growing between you.$" -gUnknown_818DB2E:: @ 818DB2E +PalletTown_GarysHouse_Text_NotFamiliarWithYouYet:: @ 818DB2E .string "It's not quite familiar with you\n" .string "yet.\p" .string "POKéMON are all quite wary when\n" .string "you first get them.$" -gUnknown_818DB88:: @ 818DB88 +PalletTown_GarysHouse_Text_DontLikeWayItGlaresAtYou:: @ 818DB88 .string "{PLAYER}, I don't like the way it\n" .string "glares at you.\p" .string "Could you try being a little nicer\n" .string "to it?$" -gUnknown_818DBDD:: @ 818DBDD +PalletTown_GarysHouse_Text_WhyWouldMonHateYouSoMuch:: @ 818DBDD .string "…Um, it's not easy for me to say\n" .string "this, but…\p" .string "Is there some reason why your\n" .string "POKéMON would hate you so much?$" -gUnknown_818DC47:: @ 818DC47 +PalletTown_GarysHouse_Text_LovelyAndSweetClefairy:: @ 818DC47 .string "“The lovely and sweet\n" .string "CLEFAIRY”$" diff --git a/data/maps/PalletTown_PlayersHouse_1F/map.json b/data/maps/PalletTown_PlayersHouse_1F/map.json index e9e2158f4..f32d6b102 100644 --- a/data/maps/PalletTown_PlayersHouse_1F/map.json +++ b/data/maps/PalletTown_PlayersHouse_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_PALLET_TOWN", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_MOM", + "graphics_id": "OBJ_EVENT_GFX_MOM", "x": 8, "y": 4, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "PalletTown_PlayersHouse_1F_EventScript_168C09", + "script": "PalletTown_PlayersHouse_1F_EventScript_Mom", "flag": "0" } ], @@ -60,11 +62,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 6, "y": 1, "elevation": 0, - "script": "PalletTown_PlayersHouse_1F_EventScript_168C62" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "PalletTown_PlayersHouse_1F_EventScript_TV" } ] } diff --git a/data/maps/PalletTown_PlayersHouse_1F/scripts.inc b/data/maps/PalletTown_PlayersHouse_1F/scripts.inc index 6dc0a1a47..0fa5219aa 100644 --- a/data/maps/PalletTown_PlayersHouse_1F/scripts.inc +++ b/data/maps/PalletTown_PlayersHouse_1F/scripts.inc @@ -1,58 +1,59 @@ PalletTown_PlayersHouse_1F_MapScripts:: @ 8168C08 .byte 0 -PalletTown_PlayersHouse_1F_EventScript_168C09:: @ 8168C09 +PalletTown_PlayersHouse_1F_EventScript_Mom:: @ 8168C09 lock faceplayer - goto_if_set FLAG_BEAT_RIVAL_IN_OAKS_LAB, EventScript_168C4A + goto_if_set FLAG_BEAT_RIVAL_IN_OAKS_LAB, PalletTown_PlayersHouse_1F_EventScript_MomHeal checkplayergender compare VAR_RESULT, MALE - call_if_eq EventScript_168C38 + call_if_eq PalletTown_PlayersHouse_1F_EventScript_MomOakLookingForYouMale compare VAR_RESULT, FEMALE - call_if_eq EventScript_168C41 + call_if_eq PalletTown_PlayersHouse_1F_EventScript_MomOakLookingForYouFemale closemessage applymovement 1, Movement_FaceOriginalDirection waitmovement 0 release end -EventScript_168C38:: @ 8168C38 - msgbox gUnknown_818D2F0 +PalletTown_PlayersHouse_1F_EventScript_MomOakLookingForYouMale:: @ 8168C38 + msgbox PalletTown_PlayersHouse_1F_Text_AllBoysLeaveOakLookingForYou return -EventScript_168C41:: @ 8168C41 - msgbox gUnknown_818D360 +PalletTown_PlayersHouse_1F_EventScript_MomOakLookingForYouFemale:: @ 8168C41 + msgbox PalletTown_PlayersHouse_1F_Text_AllGirlsLeaveOakLookingForYou return -EventScript_168C4A:: @ 8168C4A - msgbox gUnknown_818D3D1 +PalletTown_PlayersHouse_1F_EventScript_MomHeal:: @ 8168C4A + msgbox PalletTown_PlayersHouse_1F_Text_YouShouldTakeQuickRest closemessage call EventScript_OutOfCenterPartyHeal - msgbox gUnknown_818D3F8 + msgbox PalletTown_PlayersHouse_1F_Text_LookingGreatTakeCare release end -PalletTown_PlayersHouse_1F_EventScript_168C62:: @ 8168C62 +@ Displays special text if interacted with from side or back (which are normally inaccessible) +PalletTown_PlayersHouse_1F_EventScript_TV:: @ 8168C62 lockall compare VAR_FACING, DIR_NORTH - goto_if_eq EventScript_168C78 - msgbox gUnknown_818D4F9 + goto_if_eq PalletTown_PlayersHouse_1F_EventScript_TVScreen + msgbox PalletTown_PlayersHouse_1F_Text_OopsWrongSide releaseall end -EventScript_168C78:: @ 8168C78 +PalletTown_PlayersHouse_1F_EventScript_TVScreen:: @ 8168C78 checkplayergender compare VAR_RESULT, MALE - call_if_eq EventScript_168C91 + call_if_eq PalletTown_PlayersHouse_1F_EventScript_TVScreenMale compare VAR_RESULT, FEMALE - call_if_eq EventScript_168C9A + call_if_eq PalletTown_PlayersHouse_1F_EventScript_TVScreenFemale releaseall end -EventScript_168C91:: @ 8168C91 - msgbox gUnknown_818D43E +PalletTown_PlayersHouse_1F_EventScript_TVScreenMale:: @ 8168C91 + msgbox PalletTown_PlayersHouse_1F_Text_MovieOnTVFourBoysOnRailroad return -EventScript_168C9A:: @ 8168C9A - msgbox gUnknown_818D492 +PalletTown_PlayersHouse_1F_EventScript_TVScreenFemale:: @ 8168C9A + msgbox PalletTown_PlayersHouse_1F_Text_MovieOnTVGirlOnBrickRoad return diff --git a/data/maps/PalletTown_PlayersHouse_1F/text.inc b/data/maps/PalletTown_PlayersHouse_1F/text.inc index faa31c9d1..baa31b38d 100644 --- a/data/maps/PalletTown_PlayersHouse_1F/text.inc +++ b/data/maps/PalletTown_PlayersHouse_1F/text.inc @@ -1,100 +1,38 @@ -Text_18CF4D:: @ 818CF4D - .string "Training by oneself is certainly\n" - .string "not a bad thing.\p" - .string "But it's also not bad to aim for\n" - .string "the top with a partner.\p" - .string "Even BRUNO…\n" - .string "He trained with a fellow by the\l" - .string "name of BRAWLY before.$" - -Text_18CFFB:: @ 818CFFB - .string "Do you know anything about this\n" - .string "stone chamber?$" - -Text_18D02A:: @ 818D02A - .string "That was uncalled for.\n" - .string "You didn't have to be so rough.$" - -Text_18D061:: @ 818D061 - .string "The TANOBY RUINS date back at\n" - .string "least 1,500 years.\p" - .string "But it's a baffling mystery as to\n" - .string "why it was built in the first place.$" - -Text_18D0D9:: @ 818D0D9 - .string "A mystic POKéMON is said to sleep\n" - .string "inside here.$" - -Text_18D108:: @ 818D108 - .string "I'm not much good in battle.$" - -Text_18D125:: @ 818D125 - .string "I hear there are other ruins like\n" - .string "the one here.\p" - .string "Might they be the resting places\n" - .string "of other mystic POKéMON?$" - -Text_18D18F:: @ 818D18F - .string "CLIFFORD is teaching me how to\n" - .string "paint.$" - -Text_18D1B5:: @ 818D1B5 - .string "We might get in trouble for being\n" - .string "noisy here.$" - -Text_18D1E3:: @ 818D1E3 - .string "I said that I wanted to paint an\n" - .string "old building.\p" - .string "So CLIFFORD brought me here.$" - -Text_18D22F:: @ 818D22F - .string "Today, in addition to our lesson,\n" - .string "we came to see the chamber.$" - -Text_18D26D:: @ 818D26D - .string "My, how extraordinary.$" - -Text_18D284:: @ 818D284 - .string "Ah, so you are studying POKéMON\n" - .string "on your own…\p" - .string "Yes, you certainly are quite the\n" - .string "extraordinary person, indeed.$" - -gUnknown_818D2F0:: @ 818D2F0 +PalletTown_PlayersHouse_1F_Text_AllBoysLeaveOakLookingForYou:: @ 818D2F0 .string "MOM: …Right.\n" .string "All boys leave home someday.\l" .string "It said so on TV.\p" .string "Oh, yes. PROF. OAK, next door, was\n" .string "looking for you.$" -gUnknown_818D360:: @ 818D360 +PalletTown_PlayersHouse_1F_Text_AllGirlsLeaveOakLookingForYou:: @ 818D360 .string "MOM: …Right.\n" .string "All girls dream of traveling.\l" .string "It said so on TV.\p" .string "Oh, yes. PROF. OAK, next door, was\n" .string "looking for you.$" -gUnknown_818D3D1:: @ 818D3D1 +PalletTown_PlayersHouse_1F_Text_YouShouldTakeQuickRest:: @ 818D3D1 .string "MOM: {PLAYER}!\n" .string "You should take a quick rest.$" -gUnknown_818D3F8:: @ 818D3F8 +PalletTown_PlayersHouse_1F_Text_LookingGreatTakeCare:: @ 818D3F8 .string "MOM: Oh, good! You and your\n" .string "POKéMON are looking great.\l" .string "Take care now!$" -gUnknown_818D43E:: @ 818D43E +PalletTown_PlayersHouse_1F_Text_MovieOnTVFourBoysOnRailroad:: @ 818D43E .string "There's a movie on TV.\n" .string "Four boys are walking on railroad\l" .string "tracks.\p" .string "…I better go, too.$" -gUnknown_818D492:: @ 818D492 +PalletTown_PlayersHouse_1F_Text_MovieOnTVGirlOnBrickRoad:: @ 818D492 .string "There's a movie on TV.\n" .string "A girl with her hair in pigtails is\l" .string "walking up a brick road.\p" .string "…I better go, too.$" -gUnknown_818D4F9:: @ 818D4F9 +PalletTown_PlayersHouse_1F_Text_OopsWrongSide:: @ 818D4F9 .string "Oops, wrong side…$" diff --git a/data/maps/PalletTown_PlayersHouse_2F/map.json b/data/maps/PalletTown_PlayersHouse_2F/map.json index 61e354782..bd2aec42f 100644 --- a/data/maps/PalletTown_PlayersHouse_2F/map.json +++ b/data/maps/PalletTown_PlayersHouse_2F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_PALLET_TOWN", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ @@ -25,25 +27,28 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 6, "y": 5, "elevation": 3, - "script": "PalletTown_PlayersHouse_2F_EventScript_168CD2" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "PalletTown_PlayersHouse_2F_EventScript_NES" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 1, "y": 1, "elevation": 0, - "script": "PalletTown_PlayersHouse_2F_EventScript_168CE4" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "PalletTown_PlayersHouse_2F_EventScript_PC" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 11, "y": 1, "elevation": 0, - "script": "PalletTown_PlayersHouse_2F_EventScript_168CDB" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "PalletTown_PlayersHouse_2F_EventScript_Sign" } ] } diff --git a/data/maps/PalletTown_PlayersHouse_2F/scripts.inc b/data/maps/PalletTown_PlayersHouse_2F/scripts.inc index 7e8c8ee73..943056ea3 100644 --- a/data/maps/PalletTown_PlayersHouse_2F/scripts.inc +++ b/data/maps/PalletTown_PlayersHouse_2F/scripts.inc @@ -5,50 +5,49 @@ PalletTown_PlayersHouse_2F_MapScripts:: @ 8168CA3 PalletTown_PlayersHouse_2F_OnTransition:: @ 8168CAE compare VAR_MAP_SCENE_PALLET_TOWN_PLAYERS_HOUSE_2F, 0 - call_if_eq EventScript_168CBA + call_if_eq PalletTown_PlayersHouse_2F_EventScript_SetRespawn end -EventScript_168CBA:: @ 8168CBA +PalletTown_PlayersHouse_2F_EventScript_SetRespawn:: @ 8168CBA setrespawn SPAWN_PALLET_TOWN return PalletTown_PlayersHouse_2F_OnWarp:: @ 8168CBE - map_script_2 VAR_MAP_SCENE_PALLET_TOWN_PLAYERS_HOUSE_2F, 0, EventScript_168CC8 + map_script_2 VAR_MAP_SCENE_PALLET_TOWN_PLAYERS_HOUSE_2F, 0, PalletTown_PlayersHouse_2F_FirstWarpIn .2byte 0 -EventScript_168CC8:: @ 8168CC8 +PalletTown_PlayersHouse_2F_FirstWarpIn:: @ 8168CC8 turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH setvar VAR_MAP_SCENE_PALLET_TOWN_PLAYERS_HOUSE_2F, 1 end -PalletTown_PlayersHouse_2F_EventScript_168CD2:: @ 8168CD2 - msgbox gUnknown_818D50B, MSGBOX_SIGN +PalletTown_PlayersHouse_2F_EventScript_NES:: @ 8168CD2 + msgbox PalletTown_PlayersHouse_2F_Text_PlayedWithNES, MSGBOX_SIGN end -PalletTown_PlayersHouse_2F_EventScript_168CDB:: @ 8168CDB - msgbox gUnknown_818D53B, MSGBOX_SIGN +PalletTown_PlayersHouse_2F_EventScript_Sign:: @ 8168CDB + msgbox PalletTown_PlayersHouse_2F_Text_PressLRForHelp, MSGBOX_SIGN end -gUnknown_8168CE4:: @ 8168CE4 -PalletTown_PlayersHouse_2F_EventScript_168CE4:: @ 8168CE4 +PalletTown_PlayersHouse_2F_EventScript_PC:: @ 8168CE4 goto_if_questlog EventScript_ReleaseEnd lockall - setvar VAR_0x8004, 32 - special Special_SetSomeVariable + setvar VAR_0x8004, HELPCONTEXT_BEDROOM_PC + special Script_SetHelpContext setvar VAR_0x8004, 1 - special Special_AnimatePcTurnOn + special AnimatePcTurnOn playse SE_PC_ON msgbox Text_PlayerBootedUpPC special BedroomPC waitstate - special sub_812B35C + special SetHelpContextForMap releaseall end EventScript_PalletTown_PlayersHouse_2F_ShutDownPC:: @ 8168D17 setvar VAR_0x8004, 1 playse SE_PC_OFF - special Special_AnimatePcTurnOff - special sub_812B35C + special AnimatePcTurnOff + special SetHelpContextForMap releaseall end diff --git a/data/maps/PalletTown_PlayersHouse_2F/text.inc b/data/maps/PalletTown_PlayersHouse_2F/text.inc index e6c794231..cb7a68dce 100644 --- a/data/maps/PalletTown_PlayersHouse_2F/text.inc +++ b/data/maps/PalletTown_PlayersHouse_2F/text.inc @@ -1,9 +1,9 @@ -gUnknown_818D50B:: @ 818D50B +PalletTown_PlayersHouse_2F_Text_PlayedWithNES:: @ 818D50B .string "{PLAYER} played with the NES.\p" .string "…Okay!\n" .string "It's time to go!$" -gUnknown_818D53B:: @ 818D53B +PalletTown_PlayersHouse_2F_Text_PressLRForHelp:: @ 818D53B .string "It's a posted notice…\p" .string "If you're confused, ask for HELP!\n" .string "Press the L or R Button!$" diff --git a/data/maps/PalletTown_ProfessorOaksLab/map.json b/data/maps/PalletTown_ProfessorOaksLab/map.json index cda4b6407..fa7c23e9b 100644 --- a/data/maps/PalletTown_ProfessorOaksLab/map.json +++ b/data/maps/PalletTown_ProfessorOaksLab/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_PALLET_TOWN", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 3, "y": 11, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "PalletTown_ProfessorOaksLab_EventScript_169DEE", + "script": "PalletTown_ProfessorOaksLab_EventScript_Aide1", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_F", + "graphics_id": "OBJ_EVENT_GFX_WORKER_F", "x": 2, "y": 10, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 4, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "PalletTown_ProfessorOaksLab_EventScript_169E46", + "script": "PalletTown_ProfessorOaksLab_EventScript_Aide3", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 11, "y": 10, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "PalletTown_ProfessorOaksLab_EventScript_169E1A", + "script": "PalletTown_ProfessorOaksLab_EventScript_Aide2", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PROF_OAK", + "graphics_id": "OBJ_EVENT_GFX_PROF_OAK", "x": 6, "y": 3, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "PalletTown_ProfessorOaksLab_EventScript_169595", + "script": "PalletTown_ProfessorOaksLab_EventScript_ProfOak", "flag": "FLAG_HIDE_OAK_IN_HIS_LAB" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 8, "y": 4, "elevation": 0, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "PalletTown_ProfessorOaksLab_EventScript_169BAB", + "script": "PalletTown_ProfessorOaksLab_EventScript_BulbasaurBall", "flag": "FLAG_HIDE_BULBASAUR_BALL" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 9, "y": 4, "elevation": 0, @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "PalletTown_ProfessorOaksLab_EventScript_169D78", + "script": "PalletTown_ProfessorOaksLab_EventScript_SquirtleBall", "flag": "FLAG_HIDE_SQUIRTLE_BALL" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 10, "y": 4, "elevation": 0, @@ -101,11 +103,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "PalletTown_ProfessorOaksLab_EventScript_169DAE", + "script": "PalletTown_ProfessorOaksLab_EventScript_CharmanderBall", "flag": "FLAG_HIDE_CHARMANDER_BALL" }, { - "graphics_id": "OBJECT_EVENT_GFX_BLUE", + "graphics_id": "OBJ_EVENT_GFX_BLUE", "x": 5, "y": 4, "elevation": 3, @@ -114,11 +116,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "PalletTown_ProfessorOaksLab_EventScript_16955F", + "script": "PalletTown_ProfessorOaksLab_EventScript_Rival", "flag": "FLAG_HIDE_RIVAL_IN_LAB" }, { - "graphics_id": "OBJECT_EVENT_GFX_POKEDEX", + "graphics_id": "OBJ_EVENT_GFX_POKEDEX", "x": 4, "y": 1, "elevation": 0, @@ -127,11 +129,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "PalletTown_ProfessorOaksLab_EventScript_169E5F", + "script": "PalletTown_ProfessorOaksLab_EventScript_Pokedex", "flag": "FLAG_HIDE_POKEDEX" }, { - "graphics_id": "OBJECT_EVENT_GFX_POKEDEX", + "graphics_id": "OBJ_EVENT_GFX_POKEDEX", "x": 5, "y": 1, "elevation": 0, @@ -140,7 +142,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "PalletTown_ProfessorOaksLab_EventScript_169E5F", + "script": "PalletTown_ProfessorOaksLab_EventScript_Pokedex", "flag": "FLAG_HIDE_POKEDEX" } ], @@ -175,7 +177,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB", "var_value": 2, - "script": "PalletTown_ProfessorOaksLab_EventScript_1692C3" + "script": "PalletTown_ProfessorOaksLab_EventScript_LeaveStarterSceneTrigger" }, { "type": "trigger", @@ -184,7 +186,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB", "var_value": 2, - "script": "PalletTown_ProfessorOaksLab_EventScript_1692C3" + "script": "PalletTown_ProfessorOaksLab_EventScript_LeaveStarterSceneTrigger" }, { "type": "trigger", @@ -193,7 +195,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB", "var_value": 2, - "script": "PalletTown_ProfessorOaksLab_EventScript_1692C3" + "script": "PalletTown_ProfessorOaksLab_EventScript_LeaveStarterSceneTrigger" }, { "type": "trigger", @@ -202,7 +204,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB", "var_value": 3, - "script": "PalletTown_ProfessorOaksLab_EventScript_1692E7" + "script": "PalletTown_ProfessorOaksLab_EventScript_RivalBattleTriggerLeft" }, { "type": "trigger", @@ -211,7 +213,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB", "var_value": 3, - "script": "PalletTown_ProfessorOaksLab_EventScript_1692F3" + "script": "PalletTown_ProfessorOaksLab_EventScript_RivalBattleTriggerMid" }, { "type": "trigger", @@ -220,37 +222,41 @@ "elevation": 3, "var": "VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB", "var_value": 3, - "script": "PalletTown_ProfessorOaksLab_EventScript_1692FF" + "script": "PalletTown_ProfessorOaksLab_EventScript_RivalBattleTriggerRight" } ], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 2, "y": 1, "elevation": 0, - "script": "PalletTown_ProfessorOaksLab_EventScript_169E68" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "PalletTown_ProfessorOaksLab_EventScript_Computer" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 3, "y": 1, "elevation": 0, - "script": "PalletTown_ProfessorOaksLab_EventScript_169E68" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "PalletTown_ProfessorOaksLab_EventScript_Computer" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 6, "y": 1, "elevation": 0, - "script": "PalletTown_ProfessorOaksLab_EventScript_169E71" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "PalletTown_ProfessorOaksLab_EventScript_LeftSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 7, "y": 1, "elevation": 0, - "script": "PalletTown_ProfessorOaksLab_EventScript_169E7A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "PalletTown_ProfessorOaksLab_EventScript_RightSign" } ] } diff --git a/data/maps/PalletTown_ProfessorOaksLab/scripts.inc b/data/maps/PalletTown_ProfessorOaksLab/scripts.inc index 0e466abd3..395d4d385 100644 --- a/data/maps/PalletTown_ProfessorOaksLab/scripts.inc +++ b/data/maps/PalletTown_ProfessorOaksLab/scripts.inc @@ -1,3 +1,18 @@ +.equ LOCALID_PROF_OAK, 4 +.equ LOCALID_BULBASAUR_BALL, 5 +.equ LOCALID_SQUIRTLE_BALL, 6 +.equ LOCALID_CHARMANDER_BALL, 7 +.equ LOCALID_RIVAL, 8 +.equ LOCALID_POKEDEX_1, 9 +.equ LOCALID_POKEDEX_2, 10 + +.equ PLAYER_STARTER_NUM, VAR_TEMP_1 +.equ PLAYER_STARTER_SPECIES, VAR_TEMP_2 +.equ RIVAL_STARTER_SPECIES, VAR_TEMP_3 +.equ RIVAL_STARTER_ID, VAR_TEMP_4 + +.equ SHOWED_OAK_COMPLETE_DEX, FLAG_TEMP_2 + PalletTown_ProfessorOaksLab_MapScripts:: @ 8168F7E map_script MAP_SCRIPT_ON_TRANSITION, PalletTown_ProfessorOaksLab_OnTransition map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, PalletTown_ProfessorOaksLab_OnWarp @@ -7,194 +22,194 @@ PalletTown_ProfessorOaksLab_MapScripts:: @ 8168F7E PalletTown_ProfessorOaksLab_OnTransition:: @ 8168F8E setflag FLAG_VISITED_OAKS_LAB compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 1 - call_if_eq EventScript_168FC6 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_ReadyOakForStarterScene compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 7 - call_if_eq EventScript_168FD5 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_ReadyOakForNationalDexScene compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 8 - call_if_eq EventScript_168FC0 - call_if_set FLAG_GOT_POKEBALLS_FROM_OAK_AFTER_22_RIVAL, EventScript_168FBC + call_if_eq PalletTown_ProfessorOaksLab_EventScript_SetNationalDexSceneFinished + call_if_set FLAG_GOT_POKEBALLS_FROM_OAK_AFTER_22_RIVAL, PalletTown_ProfessorOaksLab_EventScript_SetSkipPokeBallCheck end -EventScript_168FBC:: @ 8168FBC +PalletTown_ProfessorOaksLab_EventScript_SetSkipPokeBallCheck:: @ 8168FBC setflag FLAG_OAK_SKIP_22_RIVAL_CHECK return -EventScript_168FC0:: @ 8168FC0 +PalletTown_ProfessorOaksLab_EventScript_SetNationalDexSceneFinished:: @ 8168FC0 setvar VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 9 return -EventScript_168FC6:: @ 8168FC6 - setobjectxyperm 4, 6, 11 - setobjectmovementtype 4, 7 +PalletTown_ProfessorOaksLab_EventScript_ReadyOakForStarterScene:: @ 8168FC6 + setobjectxyperm LOCALID_PROF_OAK, 6, 11 + setobjectmovementtype LOCALID_PROF_OAK, MOVEMENT_TYPE_FACE_UP savebgm MUS_OHKIDO return -EventScript_168FD5:: @ 8168FD5 - setobjectxyperm 4, 6, 11 - setobjectmovementtype 4, 7 +PalletTown_ProfessorOaksLab_EventScript_ReadyOakForNationalDexScene:: @ 8168FD5 + setobjectxyperm LOCALID_PROF_OAK, 6, 11 + setobjectmovementtype LOCALID_PROF_OAK, MOVEMENT_TYPE_FACE_UP return PalletTown_ProfessorOaksLab_OnWarp:: @ 8168FE1 - map_script_2 VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 1, EventScript_168FEB + map_script_2 VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 1, PalletTown_ProfessorOaksLab_EventScript_ReadyPlayerForStarterScene .2byte 0 -EventScript_168FEB:: @ 8168FEB +PalletTown_ProfessorOaksLab_EventScript_ReadyPlayerForStarterScene:: @ 8168FEB turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH end PalletTown_ProfessorOaksLab_OnFrame:: @ 8168FF0 - map_script_2 VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 1, EventScript_16923E - map_script_2 VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 7, EventScript_169002 + map_script_2 VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 1, PalletTown_ProfessorOaksLab_ChooseStarterScene + map_script_2 VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 7, PalletTown_ProfessorOaksLab_EventScript_EnterForNationalDexScene .2byte 0 -EventScript_169002:: @ 8169002 +PalletTown_ProfessorOaksLab_EventScript_EnterForNationalDexScene:: @ 8169002 lockall setvar VAR_FACING, DIR_NORTH textcolor 0 - applymovement 4, Movement_1692B0 + applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakEnter waitmovement 0 - removeobject 4 - setobjectxyperm 4, 6, 3 - setobjectmovementtype 4, 8 + removeobject LOCALID_PROF_OAK + setobjectxyperm LOCALID_PROF_OAK, 6, 3 + setobjectmovementtype LOCALID_PROF_OAK, MOVEMENT_TYPE_FACE_DOWN clearflag FLAG_HIDE_OAK_IN_HIS_LAB - applymovement OBJ_EVENT_ID_PLAYER, Movement_1692B7 + applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_PlayerEnter waitmovement 0 - goto EventScript_169035 + goto PalletTown_ProfessorOaksLab_EventScript_NationalDexScene end -EventScript_169035:: @ 8169035 - msgbox gUnknown_818EE60 +PalletTown_ProfessorOaksLab_EventScript_NationalDexScene:: @ 8169035 + msgbox PalletTown_ProfessorOaksLab_Text_OakSightingsOfRareMons closemessage compare VAR_FACING, DIR_NORTH - call_if_eq EventScript_169174 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_NationalDexSceneRivalEnterNorth compare VAR_FACING, DIR_SOUTH - call_if_eq EventScript_1691BB + call_if_eq PalletTown_ProfessorOaksLab_EventScript_NationalDexSceneRivalEnterSouth compare VAR_FACING, DIR_EAST - call_if_eq EventScript_169194 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_NationalDexSceneRivalEnterEastWest compare VAR_FACING, DIR_WEST - call_if_eq EventScript_169194 - msgbox gUnknown_818EF59 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_NationalDexSceneRivalEnterEastWest + msgbox PalletTown_ProfessorOaksLab_Text_RivalJustLetMeHandleEverything fadedefaultbgm - msgbox gUnknown_818F004 + msgbox PalletTown_ProfessorOaksLab_Text_OakNeedYourHelpTooNeedToSeePokedexes compare VAR_FACING, DIR_NORTH - call_if_eq EventScript_1691DB + call_if_eq PalletTown_ProfessorOaksLab_EventScript_PlayerFaceOakNorth compare VAR_FACING, DIR_WEST - call_if_eq EventScript_1691E6 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_PlayerFaceOakWest textcolor 3 - msgbox gUnknown_818F062 + msgbox PalletTown_ProfessorOaksLab_Text_OakTookBothPokedexUnits closemessage - call EventScript_1A6675 + call EventScript_RestorePrevTextColor compare VAR_FACING, DIR_NORTH - call_if_eq EventScript_1691F1 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBringDexesToDeskNorth compare VAR_FACING, DIR_SOUTH - call_if_eq EventScript_1691FC + call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBringDexesToDeskSouth compare VAR_FACING, DIR_EAST - call_if_eq EventScript_169215 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBringDexesToDeskEast compare VAR_FACING, DIR_WEST - call_if_eq EventScript_169227 - addobject 9 - addobject 10 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBringDexesToDeskWest + addobject LOCALID_POKEDEX_1 + addobject LOCALID_POKEDEX_2 delay 30 - msgbox gUnknown_818F085 + msgbox PalletTown_ProfessorOaksLab_Text_OakNowTheseUnitsCanRecordMoreData closemessage - removeobject 9 - removeobject 10 + removeobject LOCALID_POKEDEX_1 + removeobject LOCALID_POKEDEX_2 delay 30 compare VAR_FACING, DIR_NORTH - call_if_eq EventScript_169845 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBringDexesOverNorth compare VAR_FACING, DIR_SOUTH - call_if_eq EventScript_169850 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBringDexesOverSouth compare VAR_FACING, DIR_EAST - call_if_eq EventScript_16985B + call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBringDexesOverEast compare VAR_FACING, DIR_WEST - call_if_eq EventScript_16986D + call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBringDexesOverWest textcolor 3 playfanfare MUS_FAN5 - message Text_18F0E8 + message PalletTown_ProfessorOaksLab_Text_PlayersPokedexWasUpgraded waitmessage waitfanfare - call EventScript_1A6675 + call EventScript_RestorePrevTextColor special EnableNationalPokedex - msgbox gUnknown_818F103 - msgbox gUnknown_818F1DB + msgbox PalletTown_ProfessorOaksLab_Text_OakMustReallyWorkToFillPokedex + msgbox PalletTown_ProfessorOaksLab_Text_RivalIllCompleteThePokedex closemessage playbgm MUS_RIVAL2, 0 compare VAR_FACING, DIR_NORTH - call_if_eq EventScript_169B69 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalExitNorth compare VAR_FACING, DIR_SOUTH - call_if_eq EventScript_169B7B + call_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalExit compare VAR_FACING, DIR_EAST - call_if_eq EventScript_169B7B + call_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalExit compare VAR_FACING, DIR_WEST - call_if_eq EventScript_169B7B - removeobject 8 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalExit + removeobject LOCALID_RIVAL fadedefaultbgm setvar VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 8 releaseall end -EventScript_169174:: @ 8169174 - setobjectxyperm 8, 5, 10 - addobject 8 +PalletTown_ProfessorOaksLab_EventScript_NationalDexSceneRivalEnterNorth:: @ 8169174 + setobjectxyperm LOCALID_RIVAL, 5, 10 + addobject LOCALID_RIVAL playbgm MUS_RIVAL1, 0 - applymovement OBJ_EVENT_ID_PLAYER, Movement_169B94 - applymovement 8, Movement_169B9D + applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_WatchRivalEnterNorth + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalEnter waitmovement 0 return -EventScript_169194:: @ 8169194 - setobjectxyperm 8, 6, 10 - addobject 8 +PalletTown_ProfessorOaksLab_EventScript_NationalDexSceneRivalEnterEastWest:: @ 8169194 + setobjectxyperm LOCALID_RIVAL, 6, 10 + addobject LOCALID_RIVAL playbgm MUS_RIVAL1, 0 - applymovement 4, Movement_WalkInPlaceFastestDown - applymovement OBJ_EVENT_ID_PLAYER, Movement_169B91 - applymovement 8, Movement_169B9D + applymovement LOCALID_PROF_OAK, Movement_WalkInPlaceFastestDown + applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_WatchRivalEnterEastWest + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalEnter waitmovement 0 return -EventScript_1691BB:: @ 81691BB - setobjectxyperm 8, 6, 10 - addobject 8 +PalletTown_ProfessorOaksLab_EventScript_NationalDexSceneRivalEnterSouth:: @ 81691BB + setobjectxyperm LOCALID_RIVAL, 6, 10 + addobject LOCALID_RIVAL playbgm MUS_RIVAL1, 0 - applymovement 4, Movement_WalkInPlaceFastestDown - applymovement 8, Movement_169B9D + applymovement LOCALID_PROF_OAK, Movement_WalkInPlaceFastestDown + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalEnter waitmovement 0 return -EventScript_1691DB:: @ 81691DB +PalletTown_ProfessorOaksLab_EventScript_PlayerFaceOakNorth:: @ 81691DB applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestUp waitmovement 0 return -EventScript_1691E6:: @ 81691E6 +PalletTown_ProfessorOaksLab_EventScript_PlayerFaceOakWest:: @ 81691E6 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestLeft waitmovement 0 return -EventScript_1691F1:: @ 81691F1 - applymovement 4, Movement_169232 +PalletTown_ProfessorOaksLab_EventScript_OakBringDexesToDeskNorth:: @ 81691F1 + applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakBringDexesToDesk waitmovement 0 return -EventScript_1691FC:: @ 81691FC - applymovement 4, Movement_169238 - applymovement OBJ_EVENT_ID_PLAYER, Movement_1698C7 - applymovement 8, Movement_1698C7 - waitmovement 4 +PalletTown_ProfessorOaksLab_EventScript_OakBringDexesToDeskSouth:: @ 81691FC + applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakBringDexesToDeskSouth + applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_WatchOakWalkToDesk + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_WatchOakWalkToDesk + waitmovement LOCALID_PROF_OAK return -EventScript_169215:: @ 8169215 - applymovement 4, Movement_169232 - applymovement OBJ_EVENT_ID_PLAYER, Movement_1698C3 - waitmovement 4 +PalletTown_ProfessorOaksLab_EventScript_OakBringDexesToDeskEast:: @ 8169215 + applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakBringDexesToDesk + applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_WatchOakWalkToDeskEast + waitmovement LOCALID_PROF_OAK return -EventScript_169227:: @ 8169227 - applymovement 4, Movement_169232 +PalletTown_ProfessorOaksLab_EventScript_OakBringDexesToDeskWest:: @ 8169227 + applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakBringDexesToDesk waitmovement 0 return -Movement_169232:: @ 8169232 +PalletTown_ProfessorOaksLab_Movement_OakBringDexesToDesk:: @ 8169232 walk_up walk_left walk_in_place_fastest_up @@ -202,7 +217,7 @@ Movement_169232:: @ 8169232 delay_4 step_end -Movement_169238:: @ 8169238 +PalletTown_ProfessorOaksLab_Movement_OakBringDexesToDeskSouth:: @ 8169238 walk_left walk_left walk_up @@ -210,37 +225,37 @@ Movement_169238:: @ 8169238 delay_4 step_end -EventScript_16923E:: @ 816923E +PalletTown_ProfessorOaksLab_ChooseStarterScene:: @ 816923E lockall textcolor 0 - applymovement 4, Movement_1692B0 + applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakEnter waitmovement 0 - removeobject 4 - setobjectxyperm 4, 6, 3 - setobjectmovementtype 4, 8 + removeobject LOCALID_PROF_OAK + setobjectxyperm LOCALID_PROF_OAK, 6, 3 + setobjectmovementtype LOCALID_PROF_OAK, MOVEMENT_TYPE_FACE_DOWN clearflag FLAG_HIDE_OAK_IN_HIS_LAB - applymovement OBJ_EVENT_ID_PLAYER, Movement_1692B7 + applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_PlayerEnter waitmovement 0 - applymovement 8, Movement_WalkInPlaceFastestUp + applymovement LOCALID_RIVAL, Movement_WalkInPlaceFastestUp waitmovement 0 clearflag FLAG_SPECIAL_FLAG_0x4001 savebgm SE_STOP fadedefaultbgm - msgbox gUnknown_818DC94 + msgbox PalletTown_ProfessorOaksLab_Text_RivalFedUpWithWaiting closemessage delay 60 - msgbox gUnknown_818DFBC + msgbox PalletTown_ProfessorOaksLab_Text_OakThreeMonsChooseOne closemessage delay 30 - applymovement 8, Movement_1692C0 + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalReact waitmovement 0 - msgbox gUnknown_818DCB9 - msgbox gUnknown_818E0EA + msgbox PalletTown_ProfessorOaksLab_Text_RivalNoFairWhatAboutMe + msgbox PalletTown_ProfessorOaksLab_Text_OakBePatientRival setvar VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 2 releaseall end -Movement_1692B0:: @ 81692B0 +PalletTown_ProfessorOaksLab_Movement_OakEnter:: @ 81692B0 walk_up walk_up walk_up @@ -249,7 +264,7 @@ Movement_1692B0:: @ 81692B0 walk_up step_end -Movement_1692B7:: @ 81692B7 +PalletTown_ProfessorOaksLab_Movement_PlayerEnter:: @ 81692B7 walk_up walk_up walk_up @@ -260,97 +275,101 @@ Movement_1692B7:: @ 81692B7 walk_up step_end -Movement_1692C0:: @ 81692C0 +PalletTown_ProfessorOaksLab_Movement_RivalReact:: @ 81692C0 walk_in_place_up walk_in_place_up step_end -PalletTown_ProfessorOaksLab_EventScript_1692C3:: @ 81692C3 +PalletTown_ProfessorOaksLab_EventScript_LeaveStarterSceneTrigger:: @ 81692C3 lockall textcolor 0 - applymovement 4, Movement_FaceDown + applymovement LOCALID_PROF_OAK, Movement_FaceDown waitmovement 0 - msgbox gUnknown_818E177 + msgbox PalletTown_ProfessorOaksLab_Text_OakHeyDontGoAwayYet closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_1692E5 + applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_PlayerWalkUp waitmovement 0 releaseall end -Movement_1692E5:: @ 81692E5 +PalletTown_ProfessorOaksLab_Movement_PlayerWalkUp:: @ 81692E5 walk_up step_end -PalletTown_ProfessorOaksLab_EventScript_1692E7:: @ 81692E7 +PalletTown_ProfessorOaksLab_EventScript_RivalBattleTriggerLeft:: @ 81692E7 lockall setvar VAR_TEMP_2, 1 - goto EventScript_16930B + goto PalletTown_ProfessorOaksLab_EventScript_RivalBattle end -PalletTown_ProfessorOaksLab_EventScript_1692F3:: @ 81692F3 +PalletTown_ProfessorOaksLab_EventScript_RivalBattleTriggerMid:: @ 81692F3 lockall setvar VAR_TEMP_2, 2 - goto EventScript_16930B + goto PalletTown_ProfessorOaksLab_EventScript_RivalBattle end -PalletTown_ProfessorOaksLab_EventScript_1692FF:: @ 81692FF +PalletTown_ProfessorOaksLab_EventScript_RivalBattleTriggerRight:: @ 81692FF lockall setvar VAR_TEMP_2, 3 - goto EventScript_16930B + goto PalletTown_ProfessorOaksLab_EventScript_RivalBattle end -EventScript_16930B:: @ 816930B +PalletTown_ProfessorOaksLab_EventScript_RivalBattle:: @ 816930B textcolor 0 playbgm MUS_RIVAL1, 0 - applymovement 8, Movement_WalkInPlaceFastestDown + applymovement LOCALID_RIVAL, Movement_WalkInPlaceFastestDown waitmovement 0 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestUp waitmovement 0 - msgbox gUnknown_818DDA4 + msgbox PalletTown_ProfessorOaksLab_Text_RivalLetsCheckOutMons closemessage - applymovement 4, Movement_FaceDown + applymovement LOCALID_PROF_OAK, Movement_FaceDown waitmovement 0 compare VAR_STARTER_MON, 0 - goto_if_eq EventScript_1693D2 + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleCharmander compare VAR_STARTER_MON, 1 - goto_if_eq EventScript_16944D + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleBulbasaur compare VAR_STARTER_MON, 2 - goto_if_eq EventScript_16935A + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleSquirtle end -EventScript_16935A:: @ 816935A +@ The scripts for the rival approaching the player for battle are a bit bloated because +@ both the player and rival can be in 3 different positions, so theres 9 different approaches +@ NOTE: Names below refer to the Rival's mon (e.g. for RivalBattleSquirtle, player has Charmander) + +PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleSquirtle:: @ 816935A compare VAR_TEMP_2, 1 - goto_if_eq EventScript_16937C + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleSquirtleLeft compare VAR_TEMP_2, 2 - goto_if_eq EventScript_16938C + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleSquirtleMid compare VAR_TEMP_2, 3 - goto_if_eq EventScript_16939C + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleSquirtleRight end -EventScript_16937C:: @ 816937C - applymovement 8, Movement_1693C0 +PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleSquirtleLeft:: @ 816937C + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalApproachForBattleSquirtleLeft waitmovement 0 - goto EventScript_1693AC + goto PalletTown_ProfessorOaksLab_EventScript_RivalBattleSquirtle end -EventScript_16938C:: @ 816938C - applymovement 8, Movement_1693C7 +PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleSquirtleMid:: @ 816938C + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalApproachForBattleSquirtleMid waitmovement 0 - goto EventScript_1693AC + goto PalletTown_ProfessorOaksLab_EventScript_RivalBattleSquirtle end -EventScript_16939C:: @ 816939C - applymovement 8, Movement_1693CD +PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleSquirtleRight:: @ 816939C + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalApproachForBattleSquirtleRight waitmovement 0 - goto EventScript_1693AC + goto PalletTown_ProfessorOaksLab_EventScript_RivalBattleSquirtle end -EventScript_1693AC:: @ 81693AC - trainerbattle_earlyrival TRAINER_RIVAL_OAKS_LAB_SQUIRTLE, RIVAL_BATTLE_TUTORIAL, Text_18DDEA, Text_RivalVictory - goto EventScript_1694C2 +PalletTown_ProfessorOaksLab_EventScript_RivalBattleSquirtle:: @ 81693AC + trainerbattle_earlyrival TRAINER_RIVAL_OAKS_LAB_SQUIRTLE, RIVAL_BATTLE_TUTORIAL, PalletTown_ProfessorOaksLab_Text_RivalDefeat, Text_RivalVictory + goto PalletTown_ProfessorOaksLab_EventScript_EndRivalBattle end -Movement_1693C0:: @ 81693C0 +PalletTown_ProfessorOaksLab_Movement_RivalApproachForBattleSquirtleLeft:: @ 81693C0 walk_left walk_left walk_left @@ -359,7 +378,7 @@ Movement_1693C0:: @ 81693C0 walk_down step_end -Movement_1693C7:: @ 81693C7 +PalletTown_ProfessorOaksLab_Movement_RivalApproachForBattleSquirtleMid:: @ 81693C7 walk_left walk_left walk_left @@ -367,46 +386,46 @@ Movement_1693C7:: @ 81693C7 walk_down step_end -Movement_1693CD:: @ 81693CD +PalletTown_ProfessorOaksLab_Movement_RivalApproachForBattleSquirtleRight:: @ 81693CD walk_left walk_left walk_down walk_down step_end -EventScript_1693D2:: @ 81693D2 +PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleCharmander:: @ 81693D2 compare VAR_TEMP_2, 1 - goto_if_eq EventScript_1693F4 + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleCharmanderLeft compare VAR_TEMP_2, 2 - goto_if_eq EventScript_169404 + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleCharmanderMid compare VAR_TEMP_2, 3 - goto_if_eq EventScript_169414 + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleCharmanderRight end -EventScript_1693F4:: @ 81693F4 - applymovement 8, Movement_169438 +PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleCharmanderLeft:: @ 81693F4 + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_ApproachForBattleCharmanderLeft waitmovement 0 - goto EventScript_169424 + goto PalletTown_ProfessorOaksLab_EventScript_RivalBattleCharmander end -EventScript_169404:: @ 8169404 - applymovement 8, Movement_169440 +PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleCharmanderMid:: @ 8169404 + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_ApproachForBattleCharmanderMid waitmovement 0 - goto EventScript_169424 + goto PalletTown_ProfessorOaksLab_EventScript_RivalBattleCharmander end -EventScript_169414:: @ 8169414 - applymovement 8, Movement_169447 +PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleCharmanderRight:: @ 8169414 + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_ApproachForBattleCharmanderRight waitmovement 0 - goto EventScript_169424 + goto PalletTown_ProfessorOaksLab_EventScript_RivalBattleCharmander end -EventScript_169424:: @ 8169424 - trainerbattle_earlyrival TRAINER_RIVAL_OAKS_LAB_CHARMANDER, RIVAL_BATTLE_TUTORIAL, Text_18DDEA, Text_RivalVictory - goto EventScript_1694C2 +PalletTown_ProfessorOaksLab_EventScript_RivalBattleCharmander:: @ 8169424 + trainerbattle_earlyrival TRAINER_RIVAL_OAKS_LAB_CHARMANDER, RIVAL_BATTLE_TUTORIAL, PalletTown_ProfessorOaksLab_Text_RivalDefeat, Text_RivalVictory + goto PalletTown_ProfessorOaksLab_EventScript_EndRivalBattle end -Movement_169438:: @ 8169438 +PalletTown_ProfessorOaksLab_Movement_ApproachForBattleCharmanderLeft:: @ 8169438 walk_left walk_left walk_left @@ -416,7 +435,7 @@ Movement_169438:: @ 8169438 walk_down step_end -Movement_169440:: @ 8169440 +PalletTown_ProfessorOaksLab_Movement_ApproachForBattleCharmanderMid:: @ 8169440 walk_left walk_left walk_left @@ -425,7 +444,7 @@ Movement_169440:: @ 8169440 walk_down step_end -Movement_169447:: @ 8169447 +PalletTown_ProfessorOaksLab_Movement_ApproachForBattleCharmanderRight:: @ 8169447 walk_left walk_left walk_left @@ -433,39 +452,39 @@ Movement_169447:: @ 8169447 walk_down step_end -EventScript_16944D:: @ 816944D +PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleBulbasaur:: @ 816944D compare VAR_TEMP_2, 1 - goto_if_eq EventScript_16946F + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleBulbasaurLeft compare VAR_TEMP_2, 2 - goto_if_eq EventScript_16947F + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleBulbasaurMid compare VAR_TEMP_2, 3 - goto_if_eq EventScript_16948F + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleBulbasaurRight end -EventScript_16946F:: @ 816946F - applymovement 8, Movement_1694B3 +PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleBulbasaurLeft:: @ 816946F + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalApproachForBattleBulbasaurLeft waitmovement 0 - goto EventScript_16949F + goto PalletTown_ProfessorOaksLab_EventScript_RivalBattleBulbasaur end -EventScript_16947F:: @ 816947F - applymovement 8, Movement_1694B9 +PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleBulbasaurMid:: @ 816947F + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalApproachForBattleBulbasaurMid waitmovement 0 - goto EventScript_16949F + goto PalletTown_ProfessorOaksLab_EventScript_RivalBattleBulbasaur end -EventScript_16948F:: @ 816948F - applymovement 8, Movement_1694BE +PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleBulbasaurRight:: @ 816948F + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalApproachForBattleBulbasaurRight waitmovement 0 - goto EventScript_16949F + goto PalletTown_ProfessorOaksLab_EventScript_RivalBattleBulbasaur end -EventScript_16949F:: @ 816949F - trainerbattle_earlyrival TRAINER_RIVAL_OAKS_LAB_BULBASAUR, RIVAL_BATTLE_TUTORIAL, Text_18DDEA, Text_RivalVictory - goto EventScript_1694C2 +PalletTown_ProfessorOaksLab_EventScript_RivalBattleBulbasaur:: @ 816949F + trainerbattle_earlyrival TRAINER_RIVAL_OAKS_LAB_BULBASAUR, RIVAL_BATTLE_TUTORIAL, PalletTown_ProfessorOaksLab_Text_RivalDefeat, Text_RivalVictory + goto PalletTown_ProfessorOaksLab_EventScript_EndRivalBattle end -Movement_1694B3:: @ 81694B3 +PalletTown_ProfessorOaksLab_Movement_RivalApproachForBattleBulbasaurLeft:: @ 81694B3 walk_left walk_left walk_left @@ -473,31 +492,31 @@ Movement_1694B3:: @ 81694B3 walk_down step_end -Movement_1694B9:: @ 81694B9 +PalletTown_ProfessorOaksLab_Movement_RivalApproachForBattleBulbasaurMid:: @ 81694B9 walk_left walk_left walk_down walk_down step_end -Movement_1694BE:: @ 81694BE +PalletTown_ProfessorOaksLab_Movement_RivalApproachForBattleBulbasaurRight:: @ 81694BE walk_left walk_down walk_down step_end -EventScript_1694C2:: @ 81694C2 +PalletTown_ProfessorOaksLab_EventScript_EndRivalBattle:: @ 81694C2 special HealPlayerParty - msgbox gUnknown_818DE38 + msgbox PalletTown_ProfessorOaksLab_Text_RivalGoToughenMyMon closemessage playbgm MUS_RIVAL2, 0 compare VAR_TEMP_2, 1 - call_if_eq EventScript_169504 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalExitAfterBattleLeft compare VAR_TEMP_2, 2 - call_if_eq EventScript_169516 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalExitAfterBattleMid compare VAR_TEMP_2, 3 - call_if_eq EventScript_169528 - removeobject 8 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalExitAfterBattleRight + removeobject LOCALID_RIVAL playse SE_KAIDAN fadedefaultbgm setvar VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 4 @@ -505,25 +524,25 @@ EventScript_1694C2:: @ 81694C2 releaseall end -EventScript_169504:: @ 8169504 - applymovement 8, Movement_16953A - applymovement OBJ_EVENT_ID_PLAYER, Movement_169553 - waitmovement 8 +PalletTown_ProfessorOaksLab_EventScript_RivalExitAfterBattleLeft:: @ 8169504 + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalExitAfterBattleLeft + applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_PlayerWatchRivalExitAfterBattle + waitmovement LOCALID_RIVAL return -EventScript_169516:: @ 8169516 - applymovement 8, Movement_16954A - applymovement OBJ_EVENT_ID_PLAYER, Movement_169553 - waitmovement 8 +PalletTown_ProfessorOaksLab_EventScript_RivalExitAfterBattleMid:: @ 8169516 + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalExitAfterBattleMid + applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_PlayerWatchRivalExitAfterBattle + waitmovement LOCALID_RIVAL return -EventScript_169528:: @ 8169528 - applymovement 8, Movement_169542 - applymovement OBJ_EVENT_ID_PLAYER, Movement_169559 - waitmovement 8 +PalletTown_ProfessorOaksLab_EventScript_RivalExitAfterBattleRight:: @ 8169528 + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalExitAfterBattleRight + applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_PlayerWatchRivalExitAfterBattleRight + waitmovement LOCALID_RIVAL return -Movement_16953A:: @ 816953A +PalletTown_ProfessorOaksLab_Movement_RivalExitAfterBattleLeft:: @ 816953A walk_right walk_down walk_down @@ -533,7 +552,7 @@ Movement_16953A:: @ 816953A delay_8 step_end -Movement_169542:: @ 8169542 +PalletTown_ProfessorOaksLab_Movement_RivalExitAfterBattleRight:: @ 8169542 walk_left walk_down walk_down @@ -543,7 +562,7 @@ Movement_169542:: @ 8169542 delay_8 step_end -Movement_16954A:: @ 816954A +PalletTown_ProfessorOaksLab_Movement_RivalExitAfterBattleMid:: @ 816954A walk_right walk_down walk_down @@ -554,7 +573,7 @@ Movement_16954A:: @ 816954A delay_8 step_end -Movement_169553:: @ 8169553 +PalletTown_ProfessorOaksLab_Movement_PlayerWatchRivalExitAfterBattle:: @ 8169553 delay_16 delay_8 walk_in_place_fastest_right @@ -562,7 +581,7 @@ Movement_169553:: @ 8169553 walk_in_place_fastest_down step_end -Movement_169559:: @ 8169559 +PalletTown_ProfessorOaksLab_Movement_PlayerWatchRivalExitAfterBattleRight:: @ 8169559 delay_16 delay_8 walk_in_place_fastest_left @@ -570,168 +589,168 @@ Movement_169559:: @ 8169559 walk_in_place_fastest_down step_end -PalletTown_ProfessorOaksLab_EventScript_16955F:: @ 816955F +PalletTown_ProfessorOaksLab_EventScript_Rival:: @ 816955F lock faceplayer compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 3 - goto_if_eq EventScript_16958B + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalChoseStarter compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 2 - goto_if_eq EventScript_169581 - msgbox gUnknown_818DC67 + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalWaitingForStarter + msgbox PalletTown_ProfessorOaksLab_Text_RivalGrampsIsntAround release end -EventScript_169581:: @ 8169581 - msgbox gUnknown_818DCE2 +PalletTown_ProfessorOaksLab_EventScript_RivalWaitingForStarter:: @ 8169581 + msgbox PalletTown_ProfessorOaksLab_Text_RivalGoChoosePlayer release end -EventScript_16958B:: @ 816958B - msgbox gUnknown_818DD75 +PalletTown_ProfessorOaksLab_EventScript_RivalChoseStarter:: @ 816958B + msgbox PalletTown_ProfessorOaksLab_Text_RivalMyMonLooksTougher release end -PalletTown_ProfessorOaksLab_EventScript_169595:: @ 8169595 +PalletTown_ProfessorOaksLab_EventScript_ProfOak:: @ 8169595 lock faceplayer - goto_if_set FLAG_TEMP_2, EventScript_169600 + goto_if_set SHOWED_OAK_COMPLETE_DEX, PalletTown_ProfessorOaksLab_EventScript_OakJustShownCompleteDex compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 9 - goto_if_eq EventScript_169903 + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RatePokedex compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 8 - goto_if_eq EventScript_169A6E - goto_if_set FLAG_SYS_GAME_CLEAR, EventScript_1699CE + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_MonsAroundWorldWait + goto_if_set FLAG_SYS_GAME_CLEAR, PalletTown_ProfessorOaksLab_EventScript_TryStartNationalDexScene compare VAR_MAP_SCENE_CERULEAN_CITY_RIVAL, 1 - goto_if_eq EventScript_169903 + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RatePokedex compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 6 - goto_if_eq EventScript_1698D6 + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RatePokedexOrTryGiveBalls compare VAR_MAP_SCENE_VIRIDIAN_CITY_MART, 1 - goto_if_ge EventScript_16961E + goto_if_ge PalletTown_ProfessorOaksLab_EventScript_ReceiveDexScene compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 4 - goto_if_eq EventScript_169614 + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBattleMonForItToGrow compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 3 - goto_if_eq EventScript_16960A - msgbox gUnknown_818E116 + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_OakCanReachNextTownWithMon + msgbox PalletTown_ProfessorOaksLab_Text_OakWhichOneWillYouChoose release end -EventScript_169600:: @ 8169600 - msgbox gUnknown_81A72AD +PalletTown_ProfessorOaksLab_EventScript_OakJustShownCompleteDex:: @ 8169600 + msgbox PokedexRating_Text_ThankYouMadeDreamReality release end -EventScript_16960A:: @ 816960A - msgbox gUnknown_818E330 +PalletTown_ProfessorOaksLab_EventScript_OakCanReachNextTownWithMon:: @ 816960A + msgbox PalletTown_ProfessorOaksLab_Text_OakCanReachNextTownWithMon release end -EventScript_169614:: @ 8169614 - msgbox gUnknown_818E3AD +PalletTown_ProfessorOaksLab_EventScript_OakBattleMonForItToGrow:: @ 8169614 + msgbox PalletTown_ProfessorOaksLab_Text_OakBattleMonForItToGrow release end -EventScript_16961E:: @ 816961E - msgbox gUnknown_818E405 +PalletTown_ProfessorOaksLab_EventScript_ReceiveDexScene:: @ 816961E + msgbox PalletTown_ProfessorOaksLab_Text_OakHaveSomethingForMe textcolor 3 playfanfare MUS_ME_WAZA - message Text_18E4AF + message PalletTown_ProfessorOaksLab_Text_DeliveredOaksParcel waitmessage waitfanfare - call EventScript_1A6675 + call EventScript_RestorePrevTextColor removeitem ITEM_OAKS_PARCEL, 1 - msgbox gUnknown_818E4CA + msgbox PalletTown_ProfessorOaksLab_Text_OakCustomBallIOrdered playbgm MUS_RIVAL1, 0 - msgbox gUnknown_818DE8D + msgbox PalletTown_ProfessorOaksLab_Text_RivalGramps closemessage compare VAR_FACING, DIR_NORTH - call_if_eq EventScript_169A82 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalEnterNorth compare VAR_FACING, DIR_SOUTH - call_if_eq EventScript_169AC1 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalEnterSouth compare VAR_FACING, DIR_EAST - call_if_eq EventScript_169A9E + call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalEnterEastWest compare VAR_FACING, DIR_WEST - call_if_eq EventScript_169A9E + call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalEnterEastWest fadedefaultbgm - msgbox gUnknown_818DE99 + msgbox PalletTown_ProfessorOaksLab_Text_RivalWhatDidYouCallMeFor closemessage delay 30 playse SE_PIN - applymovement 4, Movement_ExclamationMark + applymovement LOCALID_PROF_OAK, Movement_ExclamationMark waitmovement 0 - applymovement 4, Movement_Delay48 + applymovement LOCALID_PROF_OAK, Movement_Delay48 waitmovement 0 compare VAR_FACING, DIR_SOUTH - call_if_eq EventScript_169ADD + call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneOakFacePlayerAndRivalSouth compare VAR_FACING, DIR_EAST - call_if_eq EventScript_169B14 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneOakFacePlayerAndRivalEast compare VAR_FACING, DIR_WEST - call_if_eq EventScript_169AF5 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneOakFacePlayerAndRivalWest compare VAR_FACING, DIR_NORTH - call_if_eq EventScript_169B86 - msgbox gUnknown_818E508 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneOakFacePlayerAndRivalNorth + msgbox PalletTown_ProfessorOaksLab_Text_OakHaveRequestForYouTwo closemessage compare VAR_FACING, DIR_NORTH - call_if_eq EventScript_169882 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneOakWalkToDeskNorth compare VAR_FACING, DIR_SOUTH - call_if_eq EventScript_16988D + call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneOakWalkToDeskSouth compare VAR_FACING, DIR_EAST - call_if_eq EventScript_1698A6 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneOakWalkToDeskEast compare VAR_FACING, DIR_WEST - call_if_eq EventScript_1698B8 - msgbox gUnknown_818E536 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneOakWalkToDeskWest + msgbox PalletTown_ProfessorOaksLab_Text_OakPokedexOnDesk closemessage delay 40 - msgbox gUnknown_818E5C5 + msgbox PalletTown_ProfessorOaksLab_Text_OakTakeTheseWithYou closemessage - applymovement 4, Movement_WalkInPlaceFastestUp + applymovement LOCALID_PROF_OAK, Movement_WalkInPlaceFastestUp waitmovement 0 - removeobject 9 + removeobject LOCALID_POKEDEX_1 delay 10 - removeobject 10 + removeobject LOCALID_POKEDEX_2 delay 25 compare VAR_FACING, DIR_NORTH - call_if_eq EventScript_169845 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBringDexesOverNorth compare VAR_FACING, DIR_SOUTH - call_if_eq EventScript_169850 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBringDexesOverSouth compare VAR_FACING, DIR_EAST - call_if_eq EventScript_16985B + call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBringDexesOverEast compare VAR_FACING, DIR_WEST - call_if_eq EventScript_16986D + call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBringDexesOverWest delay 10 textcolor 3 playfanfare MUS_FAN5 - message Text_18E5EA + message PalletTown_ProfessorOaksLab_Text_ReceivedPokedexFromOak waitmessage waitfanfare - call EventScript_1A6675 + call EventScript_RestorePrevTextColor setflag FLAG_SYS_POKEDEX_GET special sub_810B810 setvar VAR_MAP_SCENE_POKEMON_CENTER_TEALA, 1 - msgbox gUnknown_818E612 - giveitem_msg gUnknown_818E6B3, ITEM_POKE_BALL, 5 - msgbox gUnknown_818E6D0 + msgbox PalletTown_ProfessorOaksLab_Text_OakCatchMonsForDataTakeThese + giveitem_msg PalletTown_ProfessorOaksLab_Text_ReceivedFivePokeBalls, ITEM_POKE_BALL, 5 + msgbox PalletTown_ProfessorOaksLab_Text_OakExplainCatching famechecker FAMECHECKER_OAK, 1 - msgbox gUnknown_818E784 - msgbox gUnknown_818DEC8 + msgbox PalletTown_ProfessorOaksLab_Text_OakCompleteMonGuideWasMyDream + msgbox PalletTown_ProfessorOaksLab_Text_RivalLeaveItToMeGramps compare VAR_FACING, DIR_NORTH - call_if_eq EventScript_169B33 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalFacePlayerNorth compare VAR_FACING, DIR_SOUTH - call_if_eq EventScript_169B45 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalFacePlayerSouth compare VAR_FACING, DIR_EAST - call_if_eq EventScript_169B57 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalFacePlayerEastWest compare VAR_FACING, DIR_WEST - call_if_eq EventScript_169B57 - msgbox gUnknown_818DEF3 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalFacePlayerEastWest + msgbox PalletTown_ProfessorOaksLab_Text_RivalTellSisNotToGiveYouMap closemessage playbgm MUS_RIVAL2, 0 compare VAR_FACING, DIR_NORTH - call_if_eq EventScript_169B69 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalExitNorth compare VAR_FACING, DIR_SOUTH - call_if_eq EventScript_169B7B + call_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalExit compare VAR_FACING, DIR_EAST - call_if_eq EventScript_169B7B + call_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalExit compare VAR_FACING, DIR_WEST - call_if_eq EventScript_169B7B - removeobject 8 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalExit + removeobject LOCALID_RIVAL fadedefaultbgm setvar VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 6 setvar VAR_MAP_SCENE_VIRIDIAN_CITY_MART, 2 @@ -741,86 +760,86 @@ EventScript_16961E:: @ 816961E release end -EventScript_169845:: @ 8169845 - applymovement 4, Movement_16987C +PalletTown_ProfessorOaksLab_EventScript_OakBringDexesOverNorth:: @ 8169845 + applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakBringDexesOver waitmovement 0 return -EventScript_169850:: @ 8169850 - applymovement 4, Movement_16987F +PalletTown_ProfessorOaksLab_EventScript_OakBringDexesOverSouth:: @ 8169850 + applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakBringDexesOverSouth waitmovement 0 return -EventScript_16985B:: @ 816985B - applymovement 4, Movement_16987C - applymovement OBJ_EVENT_ID_PLAYER, Movement_169878 +PalletTown_ProfessorOaksLab_EventScript_OakBringDexesOverEast:: @ 816985B + applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakBringDexesOver + applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_PlayerFaceOakForDexEast waitmovement 0 return -EventScript_16986D:: @ 816986D - applymovement 4, Movement_16987C +PalletTown_ProfessorOaksLab_EventScript_OakBringDexesOverWest:: @ 816986D + applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakBringDexesOver waitmovement 0 return -Movement_169878:: @ 8169878 +PalletTown_ProfessorOaksLab_Movement_PlayerFaceOakForDexEast:: @ 8169878 delay_16 delay_8 walk_in_place_fastest_right step_end -Movement_16987C:: @ 816987C +PalletTown_ProfessorOaksLab_Movement_OakBringDexesOver:: @ 816987C walk_right walk_down step_end -Movement_16987F:: @ 816987F +PalletTown_ProfessorOaksLab_Movement_OakBringDexesOverSouth:: @ 816987F walk_down walk_right step_end -EventScript_169882:: @ 8169882 - applymovement 4, Movement_1698CB +PalletTown_ProfessorOaksLab_EventScript_DexSceneOakWalkToDeskNorth:: @ 8169882 + applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakWalkToDesk waitmovement 0 return -EventScript_16988D:: @ 816988D - applymovement 4, Movement_1698D0 - applymovement OBJ_EVENT_ID_PLAYER, Movement_1698C7 - applymovement 8, Movement_1698C7 - waitmovement 4 +PalletTown_ProfessorOaksLab_EventScript_DexSceneOakWalkToDeskSouth:: @ 816988D + applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakWalkToDeskSouth + applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_WatchOakWalkToDesk + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_WatchOakWalkToDesk + waitmovement LOCALID_PROF_OAK return -EventScript_1698A6:: @ 81698A6 - applymovement 4, Movement_1698CB - applymovement OBJ_EVENT_ID_PLAYER, Movement_1698C3 - waitmovement 4 +PalletTown_ProfessorOaksLab_EventScript_DexSceneOakWalkToDeskEast:: @ 81698A6 + applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakWalkToDesk + applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_WatchOakWalkToDeskEast + waitmovement LOCALID_PROF_OAK return -EventScript_1698B8:: @ 81698B8 - applymovement 4, Movement_1698CB +PalletTown_ProfessorOaksLab_EventScript_DexSceneOakWalkToDeskWest:: @ 81698B8 + applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakWalkToDesk waitmovement 0 return -Movement_1698C3:: @ 81698C3 +PalletTown_ProfessorOaksLab_Movement_WatchOakWalkToDeskEast:: @ 81698C3 delay_16 delay_8 walk_in_place_fastest_up step_end -Movement_1698C7:: @ 81698C7 +PalletTown_ProfessorOaksLab_Movement_WatchOakWalkToDesk:: @ 81698C7 delay_16 delay_8 walk_in_place_fastest_left step_end -Movement_1698CB:: @ 81698CB +PalletTown_ProfessorOaksLab_Movement_OakWalkToDesk:: @ 81698CB walk_up walk_left delay_16 walk_in_place_fastest_down step_end -Movement_1698D0:: @ 81698D0 +PalletTown_ProfessorOaksLab_Movement_OakWalkToDeskSouth:: @ 81698D0 walk_left walk_left walk_up @@ -828,67 +847,67 @@ Movement_1698D0:: @ 81698D0 walk_in_place_fastest_right step_end -EventScript_1698D6:: @ 81698D6 +PalletTown_ProfessorOaksLab_EventScript_RatePokedexOrTryGiveBalls:: @ 81698D6 setvar VAR_0x8004, 0 - specialvar VAR_RESULT, Special_GetPokedexCount + specialvar VAR_RESULT, GetPokedexCount copyvar VAR_0x8008, VAR_0x8005 copyvar VAR_0x8009, VAR_0x8006 getnumberstring 0, VAR_0x8008 getnumberstring 1, VAR_0x8009 - compare VAR_0x8009, 1 - goto_if_eq EventScript_1699FB - goto EventScript_169903 + compare VAR_0x8009, 1 @ Player only has starter + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_CheckIfPlayerNeedsBalls + goto PalletTown_ProfessorOaksLab_EventScript_RatePokedex end -EventScript_169903:: @ 8169903 - call ProfOak_EventScript_RatePokedexInPerson - goto_if_set FLAG_OAK_SAW_DEX_COMPLETION, EventScript_169913 +PalletTown_ProfessorOaksLab_EventScript_RatePokedex:: @ 8169903 + call PokedexRating_EventScript_RateInPerson + goto_if_set FLAG_OAK_SAW_DEX_COMPLETION, PalletTown_ProfessorOaksLab_EventScript_DexCompleted release end -EventScript_169913:: @ 8169913 +PalletTown_ProfessorOaksLab_EventScript_DexCompleted:: @ 8169913 closemessage delay 40 - message Text_1A7291 + message PokedexRating_Text_Wroooaaarrr waitmessage compare VAR_FACING, DIR_NORTH - call_if_eq EventScript_169964 + call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakExcitedNorth compare VAR_FACING, DIR_SOUTH - call_if_eq EventScript_16996F + call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakExcitedSouth compare VAR_FACING, DIR_EAST - call_if_eq EventScript_16997A + call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakExcitedEast compare VAR_FACING, DIR_WEST - call_if_eq EventScript_169985 - applymovement 4, Movement_FacePlayer + call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakExcitedWest + applymovement LOCALID_PROF_OAK, Movement_FacePlayer waitmovement 0 closemessage delay 70 - msgbox gUnknown_81A72AD - setflag FLAG_TEMP_2 + msgbox PokedexRating_Text_ThankYouMadeDreamReality + setflag SHOWED_OAK_COMPLETE_DEX release end -EventScript_169964:: @ 8169964 - applymovement 4, Movement_169990 +PalletTown_ProfessorOaksLab_EventScript_OakExcitedNorth:: @ 8169964 + applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakExcitedNorth waitmovement 0 return -EventScript_16996F:: @ 816996F - applymovement 4, Movement_169997 +PalletTown_ProfessorOaksLab_EventScript_OakExcitedSouth:: @ 816996F + applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakExcitedSouth waitmovement 0 return -EventScript_16997A:: @ 816997A - applymovement 4, Movement_16999E +PalletTown_ProfessorOaksLab_EventScript_OakExcitedEast:: @ 816997A + applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakExcitedEast waitmovement 0 return -EventScript_169985:: @ 8169985 - applymovement 4, Movement_1699A5 +PalletTown_ProfessorOaksLab_EventScript_OakExcitedWest:: @ 8169985 + applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakExcitedWest waitmovement 0 return -Movement_169990:: @ 8169990 +PalletTown_ProfessorOaksLab_Movement_OakExcitedNorth:: @ 8169990 walk_in_place_down walk_in_place_fast_down walk_in_place_down @@ -897,7 +916,7 @@ Movement_169990:: @ 8169990 walk_in_place_down step_end -Movement_169997:: @ 8169997 +PalletTown_ProfessorOaksLab_Movement_OakExcitedSouth:: @ 8169997 walk_in_place_up walk_in_place_fast_up walk_in_place_up @@ -906,7 +925,7 @@ Movement_169997:: @ 8169997 walk_in_place_up step_end -Movement_16999E:: @ 816999E +PalletTown_ProfessorOaksLab_Movement_OakExcitedEast:: @ 816999E walk_in_place_left walk_in_place_fast_left walk_in_place_left @@ -915,7 +934,7 @@ Movement_16999E:: @ 816999E walk_in_place_left step_end -Movement_1699A5:: @ 81699A5 +PalletTown_ProfessorOaksLab_Movement_OakExcitedWest:: @ 81699A5 walk_in_place_right walk_in_place_fast_right walk_in_place_right @@ -924,6 +943,7 @@ Movement_1699A5:: @ 81699A5 walk_in_place_right step_end +@ Unused Movement_1699AC:: @ 81699AC walk_left walk_in_place_fastest_down @@ -951,6 +971,7 @@ Movement_1699AC:: @ 81699AC walk_left step_end +@ Unused Movement_1699C5: walk_up walk_down @@ -962,146 +983,146 @@ Movement_1699C5: delay_16 step_end -EventScript_1699CE:: @ 81699CE - call ProfOak_EventScript_RatePokedexInPerson +PalletTown_ProfessorOaksLab_EventScript_TryStartNationalDexScene:: @ 81699CE + call PokedexRating_EventScript_RateInPerson closemessage compare VAR_0x8009, 60 - goto_if_lt EventScript_1699F9 - goto_if_unset FLAG_WORLD_MAP_ONE_ISLAND, EventScript_1699F9 + goto_if_lt PalletTown_ProfessorOaksLab_EventScript_DontStartNationalDexScene + goto_if_unset FLAG_WORLD_MAP_ONE_ISLAND, PalletTown_ProfessorOaksLab_EventScript_DontStartNationalDexScene delay 30 - msgbox gUnknown_818EDF5 - goto EventScript_169035 + msgbox PalletTown_ProfessorOaksLab_Text_OakFavorToAskYouPlayer + goto PalletTown_ProfessorOaksLab_EventScript_NationalDexScene end -EventScript_1699F9:: @ 81699F9 +PalletTown_ProfessorOaksLab_EventScript_DontStartNationalDexScene:: @ 81699F9 release end -EventScript_1699FB:: @ 81699FB +PalletTown_ProfessorOaksLab_EventScript_CheckIfPlayerNeedsBalls:: @ 81699FB goto_if_questlog EventScript_ReleaseEnd special sub_8112364 - goto_if_set FLAG_OAK_SKIP_22_RIVAL_CHECK, EventScript_169A6E - goto_if_set FLAG_GOT_POKEBALLS_FROM_OAK_AFTER_22_RIVAL, EventScript_169A78 + goto_if_set FLAG_OAK_SKIP_22_RIVAL_CHECK, PalletTown_ProfessorOaksLab_EventScript_MonsAroundWorldWait + goto_if_set FLAG_GOT_POKEBALLS_FROM_OAK_AFTER_22_RIVAL, PalletTown_ProfessorOaksLab_EventScript_PlayerAlreadyGotBalls checkitem ITEM_POKE_BALL, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_169A34 - goto EventScript_169A6E + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_PlayerOutOfBalls + goto PalletTown_ProfessorOaksLab_EventScript_MonsAroundWorldWait end -EventScript_169A34:: @ 8169A34 +PalletTown_ProfessorOaksLab_EventScript_PlayerOutOfBalls:: @ 8169A34 compare VAR_MAP_SCENE_ROUTE22, 2 - goto_if_ge EventScript_169A45 - goto EventScript_169A6E + goto_if_ge PalletTown_ProfessorOaksLab_EventScript_GivePlayerMoreBalls + goto PalletTown_ProfessorOaksLab_EventScript_MonsAroundWorldWait end -EventScript_169A45:: @ 8169A45 - msgbox gUnknown_818E89C - giveitem_msg gUnknown_818E6B3, ITEM_POKE_BALL, 5 +PalletTown_ProfessorOaksLab_EventScript_GivePlayerMoreBalls:: @ 8169A45 + msgbox PalletTown_ProfessorOaksLab_Text_OakAddedNothingToPokedex + giveitem_msg PalletTown_ProfessorOaksLab_Text_ReceivedFivePokeBalls, ITEM_POKE_BALL, 5 setflag FLAG_GOT_POKEBALLS_FROM_OAK_AFTER_22_RIVAL release end -EventScript_169A6E:: @ 8169A6E - msgbox gUnknown_818E871 +PalletTown_ProfessorOaksLab_EventScript_MonsAroundWorldWait:: @ 8169A6E + msgbox PalletTown_ProfessorOaksLab_Text_OakMonsAroundWorldWait release end -EventScript_169A78:: @ 8169A78 - msgbox gUnknown_818E98E +PalletTown_ProfessorOaksLab_EventScript_PlayerAlreadyGotBalls:: @ 8169A78 + msgbox PalletTown_ProfessorOaksLab_Text_OakComeSeeMeSometime release end -EventScript_169A82:: @ 8169A82 - setobjectxyperm 8, 5, 10 - addobject 8 - applymovement OBJ_EVENT_ID_PLAYER, Movement_169B94 - applymovement 8, Movement_169B9D +PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalEnterNorth:: @ 8169A82 + setobjectxyperm LOCALID_RIVAL, 5, 10 + addobject LOCALID_RIVAL + applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_WatchRivalEnterNorth + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalEnter waitmovement 0 return -EventScript_169A9E:: @ 8169A9E - setobjectxyperm 8, 6, 10 - addobject 8 - applymovement 4, Movement_WalkInPlaceFastestDown - applymovement OBJ_EVENT_ID_PLAYER, Movement_169B91 - applymovement 8, Movement_169B9D +PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalEnterEastWest:: @ 8169A9E + setobjectxyperm LOCALID_RIVAL, 6, 10 + addobject LOCALID_RIVAL + applymovement LOCALID_PROF_OAK, Movement_WalkInPlaceFastestDown + applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_WatchRivalEnterEastWest + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalEnter waitmovement 0 return -EventScript_169AC1:: @ 8169AC1 - setobjectxyperm 8, 6, 10 - addobject 8 - applymovement 4, Movement_WalkInPlaceFastestDown - applymovement 8, Movement_169B9D +PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalEnterSouth:: @ 8169AC1 + setobjectxyperm LOCALID_RIVAL, 6, 10 + addobject LOCALID_RIVAL + applymovement LOCALID_PROF_OAK, Movement_WalkInPlaceFastestDown + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalEnter waitmovement 0 return -EventScript_169ADD:: @ 8169ADD - applymovement 4, Movement_FacePlayer +PalletTown_ProfessorOaksLab_EventScript_DexSceneOakFacePlayerAndRivalSouth:: @ 8169ADD + applymovement LOCALID_PROF_OAK, Movement_FacePlayer waitmovement 0 delay 15 - applymovement 4, Movement_WalkInPlaceFastestDown + applymovement LOCALID_PROF_OAK, Movement_WalkInPlaceFastestDown waitmovement 0 return -EventScript_169AF5:: @ 8169AF5 - applymovement 4, Movement_FacePlayer +PalletTown_ProfessorOaksLab_EventScript_DexSceneOakFacePlayerAndRivalWest:: @ 8169AF5 + applymovement LOCALID_PROF_OAK, Movement_FacePlayer waitmovement 0 delay 15 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestLeft - applymovement 4, Movement_WalkInPlaceFastestDown + applymovement LOCALID_PROF_OAK, Movement_WalkInPlaceFastestDown waitmovement 0 return -EventScript_169B14:: @ 8169B14 - applymovement 4, Movement_FacePlayer +PalletTown_ProfessorOaksLab_EventScript_DexSceneOakFacePlayerAndRivalEast:: @ 8169B14 + applymovement LOCALID_PROF_OAK, Movement_FacePlayer waitmovement 0 delay 15 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight - applymovement 4, Movement_WalkInPlaceFastestDown + applymovement LOCALID_PROF_OAK, Movement_WalkInPlaceFastestDown waitmovement 0 return -EventScript_169B33:: @ 8169B33 - applymovement 8, Movement_FacePlayer +PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalFacePlayerNorth:: @ 8169B33 + applymovement LOCALID_RIVAL, Movement_FacePlayer applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestLeft waitmovement 0 return -EventScript_169B45:: @ 8169B45 - applymovement 8, Movement_WalkInPlaceFastestUp +PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalFacePlayerSouth:: @ 8169B45 + applymovement LOCALID_RIVAL, Movement_WalkInPlaceFastestUp applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestDown waitmovement 0 return -EventScript_169B57:: @ 8169B57 - applymovement 8, Movement_FacePlayer +PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalFacePlayerEastWest:: @ 8169B57 + applymovement LOCALID_RIVAL, Movement_FacePlayer applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestDown waitmovement 0 return -EventScript_169B69:: @ 8169B69 - applymovement OBJ_EVENT_ID_PLAYER, Movement_169B91 - applymovement 8, Movement_169BA4 +PalletTown_ProfessorOaksLab_EventScript_RivalExitNorth:: @ 8169B69 + applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_WatchRivalEnterEastWest + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalExit waitmovement 0 return -EventScript_169B7B:: @ 8169B7B - applymovement 8, Movement_169BA4 +PalletTown_ProfessorOaksLab_EventScript_RivalExit:: @ 8169B7B + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalExit waitmovement 0 return -EventScript_169B86:: @ 8169B86 +PalletTown_ProfessorOaksLab_EventScript_DexSceneOakFacePlayerAndRivalNorth:: @ 8169B86 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestUp waitmovement 0 return -Movement_169B91:: @ 8169B91 +PalletTown_ProfessorOaksLab_Movement_WatchRivalEnterEastWest:: @ 8169B91 delay_4 walk_in_place_fastest_down step_end -Movement_169B94:: @ 8169B94 +PalletTown_ProfessorOaksLab_Movement_WatchRivalEnterNorth:: @ 8169B94 walk_in_place_fastest_down delay_16 delay_16 @@ -1112,7 +1133,7 @@ Movement_169B94:: @ 8169B94 walk_in_place_fastest_left step_end -Movement_169B9D:: @ 8169B9D +PalletTown_ProfessorOaksLab_Movement_RivalEnter:: @ 8169B9D walk_up walk_up walk_up @@ -1121,7 +1142,7 @@ Movement_169B9D:: @ 8169B9D walk_up step_end -Movement_169BA4:: @ 8169BA4 +PalletTown_ProfessorOaksLab_Movement_RivalExit:: @ 8169BA4 walk_down walk_down walk_down @@ -1130,79 +1151,74 @@ Movement_169BA4:: @ 8169BA4 walk_down step_end - .equ VAR_OAKSLAB_PLAYER_STARTER_NO, VAR_TEMP_1 - .equ VAR_OAKSLAB_PLAYER_STARTER_SPECIES, VAR_TEMP_2 - .equ VAR_OAKSLAB_RIVAL_STARTER_SPECIES, VAR_TEMP_3 - .equ VAR_OAKSLAB_RIVAL_STARTER_OBJID, VAR_TEMP_4 - -PalletTown_ProfessorOaksLab_EventScript_169BAB:: @ 8169BAB +PalletTown_ProfessorOaksLab_EventScript_BulbasaurBall:: @ 8169BAB lock faceplayer - setvar VAR_OAKSLAB_PLAYER_STARTER_NO, 0 - setvar VAR_OAKSLAB_PLAYER_STARTER_SPECIES, SPECIES_BULBASAUR - setvar VAR_OAKSLAB_RIVAL_STARTER_SPECIES, SPECIES_CHARMANDER - setvar VAR_OAKSLAB_RIVAL_STARTER_OBJID, 7 + setvar PLAYER_STARTER_NUM, 0 + setvar PLAYER_STARTER_SPECIES, SPECIES_BULBASAUR + setvar RIVAL_STARTER_SPECIES, SPECIES_CHARMANDER + setvar RIVAL_STARTER_ID, LOCALID_CHARMANDER_BALL compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 3 - goto_if_ge EventScript_169DE4 + goto_if_ge PalletTown_ProfessorOaksLab_EventScript_LastPokeBall compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 2 - goto_if_eq EventScript_169BE1 - msgbox gUnknown_818EA19 + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_ConfirmStarterChoice + msgbox PalletTown_ProfessorOaksLab_Text_ThoseArePokeBalls release end -EventScript_169BE1:: @ 8169BE1 - applymovement 4, Movement_FaceRight +PalletTown_ProfessorOaksLab_EventScript_ConfirmStarterChoice:: @ 8169BE1 + applymovement LOCALID_PROF_OAK, Movement_FaceRight waitmovement 0 - drawmonpic VAR_OAKSLAB_PLAYER_STARTER_SPECIES, 10, 3 + drawmonpic PLAYER_STARTER_SPECIES, 10, 3 textcolor 0 - compare VAR_OAKSLAB_PLAYER_STARTER_NO, 0 - goto_if_eq EventScript_OakDescribesBulbasaur - compare VAR_OAKSLAB_PLAYER_STARTER_NO, 1 - goto_if_eq EventScript_OakDescribesCharmander - compare VAR_OAKSLAB_PLAYER_STARTER_NO, 2 - goto_if_eq EventScript_OakDescribesSquirtle + compare PLAYER_STARTER_NUM, 0 + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_ConfirmBulbasaur + compare PLAYER_STARTER_NUM, 1 + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_ConfirmCharmander + compare PLAYER_STARTER_NUM, 2 + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_ConfirmSquirtle end -EventScript_OakDescribesBulbasaur:: @ 8169C14 - msgbox gUnknown_818E272, MSGBOX_YESNO +PalletTown_ProfessorOaksLab_EventScript_ConfirmBulbasaur:: @ 8169C14 + msgbox PalletTown_ProfessorOaksLab_Text_OakChoosingBulbasaur, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_ThisPokeIsRealyEnergetic + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_ChoseStarter compare VAR_RESULT, NO - goto_if_eq EventScript_DeclinedStarter + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_DeclinedStarter end -EventScript_OakDescribesCharmander:: @ 8169C33 - msgbox gUnknown_818E207, MSGBOX_YESNO +PalletTown_ProfessorOaksLab_EventScript_ConfirmCharmander:: @ 8169C33 + msgbox PalletTown_ProfessorOaksLab_Text_OakChoosingSquirtle, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_ThisPokeIsRealyEnergetic + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_ChoseStarter compare VAR_RESULT, NO - goto_if_eq EventScript_DeclinedStarter + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_DeclinedStarter end -EventScript_OakDescribesSquirtle:: @ 8169C52 - msgbox gUnknown_818E194, MSGBOX_YESNO +PalletTown_ProfessorOaksLab_EventScript_ConfirmSquirtle:: @ 8169C52 + msgbox PalletTown_ProfessorOaksLab_Text_OakChoosingCharmander, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_ThisPokeIsRealyEnergetic + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_ChoseStarter compare VAR_RESULT, NO - goto_if_eq EventScript_DeclinedStarter + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_DeclinedStarter end -EventScript_DeclinedStarter:: @ 8169C71 +PalletTown_ProfessorOaksLab_EventScript_DeclinedStarter:: @ 8169C71 erasemonpic release end -EventScript_ThisPokeIsRealyEnergetic:: @ 8169C74 +PalletTown_ProfessorOaksLab_EventScript_ChoseStarter:: @ 8169C74 erasemonpic removeobject VAR_LAST_TALKED - msgbox gUnknown_818E2E5 - call EventScript_1A6675 + msgbox PalletTown_ProfessorOaksLab_Text_OakThisMonIsEnergetic + call EventScript_RestorePrevTextColor setflag FLAG_SYS_POKEMON_GET setflag FLAG_PALLET_LADY_NOT_BLOCKING_SIGN - givemon VAR_OAKSLAB_PLAYER_STARTER_SPECIES, 5, ITEM_NONE - copyvar VAR_STARTER_MON, VAR_OAKSLAB_PLAYER_STARTER_NO - getspeciesname 0, VAR_OAKSLAB_PLAYER_STARTER_SPECIES - message Text_18E30D + givemon PLAYER_STARTER_SPECIES, 5, ITEM_NONE + copyvar VAR_STARTER_MON, PLAYER_STARTER_NUM + getspeciesname 0, PLAYER_STARTER_SPECIES + message PalletTown_ProfessorOaksLab_Text_ReceivedMonFromOak waitmessage playfanfare MUS_FAN5 waitfanfare @@ -1210,63 +1226,63 @@ EventScript_ThisPokeIsRealyEnergetic:: @ 8169C74 compare VAR_RESULT, YES goto_if_eq EventScript_GiveNicknameToStarter compare VAR_RESULT, NO - goto_if_eq EventScript_SkipGiveNicknameToStarter + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalPicksStarter end EventScript_GiveNicknameToStarter:: @ 8169CCC setvar VAR_0x8004, 0 call EventScript_ChangePokemonNickname - goto EventScript_SkipGiveNicknameToStarter + goto PalletTown_ProfessorOaksLab_EventScript_RivalPicksStarter end -EventScript_SkipGiveNicknameToStarter:: @ 8169CDC +PalletTown_ProfessorOaksLab_EventScript_RivalPicksStarter:: @ 8169CDC closemessage - compare VAR_OAKSLAB_PLAYER_STARTER_NO, 0 - goto_if_eq EventScript_RivalWalksToCharmander - compare VAR_OAKSLAB_PLAYER_STARTER_NO, 1 - goto_if_eq EventScript_RivalWalksToSquirtle - compare VAR_OAKSLAB_PLAYER_STARTER_NO, 2 - goto_if_eq EventScript_RivalWalksToBulbasaur + compare PLAYER_STARTER_NUM, 0 + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalWalksToCharmander + compare PLAYER_STARTER_NUM, 1 + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalWalksToSquirtle + compare PLAYER_STARTER_NUM, 2 + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalWalksToBulbasaur end -EventScript_RivalWalksToCharmander:: @ 8169CFF - applymovement 8, Movement_RivalWalksToCharmander +PalletTown_ProfessorOaksLab_EventScript_RivalWalksToCharmander:: @ 8169CFF + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalWalksToCharmander waitmovement 0 - goto Movement_RivalTakesHisStarter + goto PalletTown_ProfessorOaksLab_EventScript_RivalTakesStarter end -EventScript_RivalWalksToBulbasaur:: @ 8169D0F - applymovement 8, Movement_RivalWalksToBulbasaur +PalletTown_ProfessorOaksLab_EventScript_RivalWalksToBulbasaur:: @ 8169D0F + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalWalksToBulbasaur waitmovement 0 - goto Movement_RivalTakesHisStarter + goto PalletTown_ProfessorOaksLab_EventScript_RivalTakesStarter end -EventScript_RivalWalksToSquirtle:: @ 8169D1F - applymovement 8, Movement_RivalWalksToSquirtle +PalletTown_ProfessorOaksLab_EventScript_RivalWalksToSquirtle:: @ 8169D1F + applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalWalksToSquirtle waitmovement 0 - goto Movement_RivalTakesHisStarter + goto PalletTown_ProfessorOaksLab_EventScript_RivalTakesStarter end -Movement_RivalTakesHisStarter:: @ 8169D2F +PalletTown_ProfessorOaksLab_EventScript_RivalTakesStarter:: @ 8169D2F textcolor 0 - msgbox gUnknown_818DD34 - removeobject VAR_OAKSLAB_RIVAL_STARTER_OBJID + msgbox PalletTown_ProfessorOaksLab_Text_RivalIllTakeThisOneThen + removeobject RIVAL_STARTER_ID textcolor 3 - getspeciesname 0, VAR_OAKSLAB_RIVAL_STARTER_SPECIES - message Text_18DD52 + getspeciesname 0, RIVAL_STARTER_SPECIES + message PalletTown_ProfessorOaksLab_Text_RivalReceivedMonFromOak waitmessage playfanfare MUS_FAN5 waitfanfare setvar VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 3 - call_if_set FLAG_PALLET_TOWN_LADY_MOVED_FROM_SIGN, EventScript_169D5C + call_if_set FLAG_PALLET_TOWN_LADY_MOVED_FROM_SIGN, PalletTown_ProfessorOaksLab_EventScript_ReadyEndSignLadyScene release end -EventScript_169D5C:: @ 8169D5C +PalletTown_ProfessorOaksLab_EventScript_ReadyEndSignLadyScene:: @ 8169D5C setvar VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY, 1 return -Movement_RivalWalksToCharmander:: @ 8169D62 +PalletTown_ProfessorOaksLab_Movement_RivalWalksToCharmander:: @ 8169D62 walk_down walk_down walk_right @@ -1277,7 +1293,7 @@ Movement_RivalWalksToCharmander:: @ 8169D62 walk_up step_end -Movement_RivalWalksToBulbasaur:: @ 8169D6B +PalletTown_ProfessorOaksLab_Movement_RivalWalksToBulbasaur:: @ 8169D6B walk_down walk_right walk_right @@ -1286,7 +1302,7 @@ Movement_RivalWalksToBulbasaur:: @ 8169D6B walk_in_place_fastest_up step_end -Movement_RivalWalksToSquirtle:: @ 8169D72 +PalletTown_ProfessorOaksLab_Movement_RivalWalksToSquirtle:: @ 8169D72 walk_down walk_right walk_right @@ -1294,98 +1310,98 @@ Movement_RivalWalksToSquirtle:: @ 8169D72 walk_in_place_fastest_up step_end -PalletTown_ProfessorOaksLab_EventScript_169D78:: @ 8169D78 +PalletTown_ProfessorOaksLab_EventScript_SquirtleBall:: @ 8169D78 lock faceplayer - setvar VAR_OAKSLAB_PLAYER_STARTER_NO, 1 - setvar VAR_OAKSLAB_PLAYER_STARTER_SPECIES, SPECIES_SQUIRTLE - setvar VAR_OAKSLAB_RIVAL_STARTER_SPECIES, SPECIES_BULBASAUR - setvar VAR_OAKSLAB_RIVAL_STARTER_OBJID, 5 + setvar PLAYER_STARTER_NUM, 1 + setvar PLAYER_STARTER_SPECIES, SPECIES_SQUIRTLE + setvar RIVAL_STARTER_SPECIES, SPECIES_BULBASAUR + setvar RIVAL_STARTER_ID, LOCALID_BULBASAUR_BALL compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 3 - goto_if_ge EventScript_169DE4 + goto_if_ge PalletTown_ProfessorOaksLab_EventScript_LastPokeBall compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 2 - goto_if_eq EventScript_169BE1 - msgbox gUnknown_818EA19 + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_ConfirmStarterChoice + msgbox PalletTown_ProfessorOaksLab_Text_ThoseArePokeBalls release end -PalletTown_ProfessorOaksLab_EventScript_169DAE:: @ 8169DAE +PalletTown_ProfessorOaksLab_EventScript_CharmanderBall:: @ 8169DAE lock faceplayer - setvar VAR_OAKSLAB_PLAYER_STARTER_NO, 2 - setvar VAR_OAKSLAB_PLAYER_STARTER_SPECIES, SPECIES_CHARMANDER - setvar VAR_OAKSLAB_RIVAL_STARTER_SPECIES, SPECIES_SQUIRTLE - setvar VAR_OAKSLAB_RIVAL_STARTER_OBJID, 6 + setvar PLAYER_STARTER_NUM, 2 + setvar PLAYER_STARTER_SPECIES, SPECIES_CHARMANDER + setvar RIVAL_STARTER_SPECIES, SPECIES_SQUIRTLE + setvar RIVAL_STARTER_ID, LOCALID_SQUIRTLE_BALL compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 3 - goto_if_ge EventScript_169DE4 + goto_if_ge PalletTown_ProfessorOaksLab_EventScript_LastPokeBall compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 2 - goto_if_eq EventScript_169BE1 - msgbox gUnknown_818EA19 + goto_if_eq PalletTown_ProfessorOaksLab_EventScript_ConfirmStarterChoice + msgbox PalletTown_ProfessorOaksLab_Text_ThoseArePokeBalls release end -EventScript_169DE4:: @ 8169DE4 - msgbox gUnknown_818EA45 +PalletTown_ProfessorOaksLab_EventScript_LastPokeBall:: @ 8169DE4 + msgbox PalletTown_ProfessorOaksLab_Text_OaksLastMon release end -PalletTown_ProfessorOaksLab_EventScript_169DEE:: @ 8169DEE +PalletTown_ProfessorOaksLab_EventScript_Aide1:: @ 8169DEE lock faceplayer - goto_if_set FLAG_SYS_GAME_CLEAR, EventScript_169E03 - msgbox gUnknown_818EBE6 + goto_if_set FLAG_SYS_GAME_CLEAR, PalletTown_ProfessorOaksLab_EventScript_Aide1GameClear + msgbox PalletTown_ProfessorOaksLab_Text_StudyAsOaksAide release end -EventScript_169E03:: @ 8169E03 +PalletTown_ProfessorOaksLab_EventScript_Aide1GameClear:: @ 8169E03 famechecker FAMECHECKER_OAK, 5 - msgbox gUnknown_818ED15 + msgbox PalletTown_ProfessorOaksLab_Text_OakIsGoingToHaveRadioShow release end -PalletTown_ProfessorOaksLab_EventScript_169E1A:: @ 8169E1A +PalletTown_ProfessorOaksLab_EventScript_Aide2:: @ 8169E1A lock faceplayer - goto_if_set FLAG_SYS_GAME_CLEAR, EventScript_169E2F - msgbox gUnknown_818EBE6 + goto_if_set FLAG_SYS_GAME_CLEAR, PalletTown_ProfessorOaksLab_EventScript_Aide2GameClear + msgbox PalletTown_ProfessorOaksLab_Text_StudyAsOaksAide release end -EventScript_169E2F:: @ 8169E2F +PalletTown_ProfessorOaksLab_EventScript_Aide2GameClear:: @ 8169E2F famechecker FAMECHECKER_DAISY, 0 - msgbox gUnknown_818EC0B + msgbox PalletTown_ProfessorOaksLab_Text_DaisyWillGroomMons release end -PalletTown_ProfessorOaksLab_EventScript_169E46:: @ 8169E46 +PalletTown_ProfessorOaksLab_EventScript_Aide3:: @ 8169E46 lock faceplayer famechecker FAMECHECKER_OAK, 2 - msgbox gUnknown_818ED81 + msgbox PalletTown_ProfessorOaksLab_Text_OakIsAuthorityOnMons release end -PalletTown_ProfessorOaksLab_EventScript_169E5F:: @ 8169E5F - msgbox gUnknown_818E9E5, MSGBOX_NPC +PalletTown_ProfessorOaksLab_EventScript_Pokedex:: @ 8169E5F + msgbox PalletTown_ProfessorOaksLab_Text_BlankEncyclopedia, MSGBOX_NPC end -PalletTown_ProfessorOaksLab_EventScript_169E68:: @ 8169E68 - msgbox gUnknown_818EAF4, MSGBOX_SIGN +PalletTown_ProfessorOaksLab_EventScript_Computer:: @ 8169E68 + msgbox PalletTown_ProfessorOaksLab_Text_EmailMessage, MSGBOX_SIGN end -PalletTown_ProfessorOaksLab_EventScript_169E71:: @ 8169E71 - msgbox gUnknown_818EA66, MSGBOX_SIGN +PalletTown_ProfessorOaksLab_EventScript_LeftSign:: @ 8169E71 + msgbox PalletTown_ProfessorOaksLab_Text_PressStartToOpenMenu, MSGBOX_SIGN end -PalletTown_ProfessorOaksLab_EventScript_169E7A:: @ 8169E7A +PalletTown_ProfessorOaksLab_EventScript_RightSign:: @ 8169E7A lockall compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 6 - goto_if_ge EventScript_169E90 - msgbox gUnknown_818EA84 + goto_if_ge PalletTown_ProfessorOaksLab_EventScript_RightSignAlt + msgbox PalletTown_ProfessorOaksLab_Text_SaveOptionInMenu releaseall end -EventScript_169E90:: @ 8169E90 - msgbox gUnknown_818EAB6 +PalletTown_ProfessorOaksLab_EventScript_RightSignAlt:: @ 8169E90 + msgbox PalletTown_ProfessorOaksLab_Text_AllMonTypesHaveStrongAndWeakPoints releaseall end diff --git a/data/maps/PalletTown_ProfessorOaksLab/text.inc b/data/maps/PalletTown_ProfessorOaksLab/text.inc index e437d4b39..ad7e8b7a1 100644 --- a/data/maps/PalletTown_ProfessorOaksLab/text.inc +++ b/data/maps/PalletTown_ProfessorOaksLab/text.inc @@ -1,37 +1,37 @@ -gUnknown_818DC67:: @ 818DC67 +PalletTown_ProfessorOaksLab_Text_RivalGrampsIsntAround:: @ 818DC67 .string "{RIVAL}: What, it's only {PLAYER}?\n" .string "Gramps isn't around.$" -gUnknown_818DC94:: @ 818DC94 +PalletTown_ProfessorOaksLab_Text_RivalFedUpWithWaiting:: @ 818DC94 .string "{RIVAL}: Gramps!\n" .string "I'm fed up with waiting!$" -gUnknown_818DCB9:: @ 818DCB9 +PalletTown_ProfessorOaksLab_Text_RivalNoFairWhatAboutMe:: @ 818DCB9 .string "{RIVAL}: Hey! Gramps! No fair!\n" .string "What about me?$" -gUnknown_818DCE2:: @ 818DCE2 +PalletTown_ProfessorOaksLab_Text_RivalGoChoosePlayer:: @ 818DCE2 .string "{RIVAL}: Heh, I don't need to be\n" .string "greedy like you. I'm mature!\p" .string "Go ahead and choose, {PLAYER}!$" -gUnknown_818DD34:: @ 818DD34 +PalletTown_ProfessorOaksLab_Text_RivalIllTakeThisOneThen:: @ 818DD34 .string "{RIVAL}: I'll take this one, then!$" -Text_18DD52:: @ 818DD52 +PalletTown_ProfessorOaksLab_Text_RivalReceivedMonFromOak:: @ 818DD52 .string "{RIVAL} received the {STR_VAR_1}\n" .string "from PROF. OAK!$" -gUnknown_818DD75:: @ 818DD75 +PalletTown_ProfessorOaksLab_Text_RivalMyMonLooksTougher:: @ 818DD75 .string "{RIVAL}: My POKéMON looks a lot\n" .string "tougher than yours.$" -gUnknown_818DDA4:: @ 818DDA4 +PalletTown_ProfessorOaksLab_Text_RivalLetsCheckOutMons:: @ 818DDA4 .string "{RIVAL}: Wait, {PLAYER}!\n" .string "Let's check out our POKéMON!\p" .string "Come on, I'll take you on!$" -Text_18DDEA:: @ 818DDEA +PalletTown_ProfessorOaksLab_Text_RivalDefeat:: @ 818DDEA .string "WHAT?\n" .string "Unbelievable!\l" .string "I picked the wrong POKéMON!$" @@ -41,24 +41,24 @@ Text_RivalVictory:: @ 818DE1A .string "{RIVAL}: Yeah!\n" .string "Am I great or what?$" -gUnknown_818DE38:: @ 818DE38 +PalletTown_ProfessorOaksLab_Text_RivalGoToughenMyMon:: @ 818DE38 .string "{RIVAL}: Okay! I'll make my\n" .string "POKéMON battle to toughen it up!\p" .string "{PLAYER}! Gramps!\n" .string "Smell you later!$" -gUnknown_818DE8D:: @ 818DE8D +PalletTown_ProfessorOaksLab_Text_RivalGramps:: @ 818DE8D .string "{RIVAL}: Gramps!$" -gUnknown_818DE99:: @ 818DE99 +PalletTown_ProfessorOaksLab_Text_RivalWhatDidYouCallMeFor:: @ 818DE99 .string "{RIVAL}: I almost forgot!\n" .string "What did you call me for?$" -gUnknown_818DEC8:: @ 818DEC8 +PalletTown_ProfessorOaksLab_Text_RivalLeaveItToMeGramps:: @ 818DEC8 .string "{RIVAL}: All right, Gramps!\n" .string "Leave it all to me!$" -gUnknown_818DEF3:: @ 818DEF3 +PalletTown_ProfessorOaksLab_Text_RivalTellSisNotToGiveYouMap:: @ 818DEF3 .string "{PLAYER}, I hate to say it, but you\n" .string "won't be necessary for this.\p" .string "I know! I'll borrow a TOWN MAP\n" @@ -68,7 +68,7 @@ gUnknown_818DEF3:: @ 818DEF3 .string "Don't bother coming around to\n" .string "my place after this!$" -gUnknown_818DFBC:: @ 818DFBC +PalletTown_ProfessorOaksLab_Text_OakThreeMonsChooseOne:: @ 818DFBC .string "OAK: {RIVAL}?\n" .string "Let me think…\p" .string "Oh, that's right, I told you to\n" @@ -85,59 +85,59 @@ gUnknown_818DFBC:: @ 818DFBC .string "You can have one.\n" .string "Go on, choose!$" -gUnknown_818E0EA:: @ 818E0EA +PalletTown_ProfessorOaksLab_Text_OakBePatientRival:: @ 818E0EA .string "OAK: Be patient, {RIVAL}.\n" .string "You can have one, too!$" -gUnknown_818E116:: @ 818E116 +PalletTown_ProfessorOaksLab_Text_OakWhichOneWillYouChoose:: @ 818E116 .string "OAK: Now, {PLAYER}.\p" .string "Inside those three POKé BALLS are\n" .string "POKéMON.\p" .string "Which one will you choose for\n" .string "yourself?$" -gUnknown_818E177:: @ 818E177 +PalletTown_ProfessorOaksLab_Text_OakHeyDontGoAwayYet:: @ 818E177 .string "OAK: Hey!\n" .string "Don't go away yet!$" -gUnknown_818E194:: @ 818E194 +PalletTown_ProfessorOaksLab_Text_OakChoosingCharmander:: @ 818E194 .string "Ah! CHARMANDER is your choice.\n" .string "You should raise it patiently.\p" .string "So, {PLAYER}, you're claiming the\n" .string "FIRE POKéMON CHARMANDER?$" -gUnknown_818E207:: @ 818E207 +PalletTown_ProfessorOaksLab_Text_OakChoosingSquirtle:: @ 818E207 .string "Hm! SQUIRTLE is your choice.\n" .string "It's one worth raising.\p" .string "So, {PLAYER}, you've decided on the\n" .string "WATER POKéMON SQUIRTLE?$" -gUnknown_818E272:: @ 818E272 +PalletTown_ProfessorOaksLab_Text_OakChoosingBulbasaur:: @ 818E272 .string "I see! BULBASAUR is your choice.\n" .string "It's very easy to raise.\p" .string "So, {PLAYER}, you want to go with\n" .string "the GRASS POKéMON BULBASAUR?$" -gUnknown_818E2E5:: @ 818E2E5 +PalletTown_ProfessorOaksLab_Text_OakThisMonIsEnergetic:: @ 818E2E5 .string "This POKéMON is really quite\n" .string "energetic!$" -Text_18E30D:: @ 818E30D +PalletTown_ProfessorOaksLab_Text_ReceivedMonFromOak:: @ 818E30D .string "{PLAYER} received the {STR_VAR_1}\n" .string "from PROF. OAK!$" -gUnknown_818E330:: @ 818E330 +PalletTown_ProfessorOaksLab_Text_OakCanReachNextTownWithMon:: @ 818E330 .string "OAK: If a wild POKéMON appears,\n" .string "your POKéMON can battle it.\p" .string "With it at your side, you should be\n" .string "able to reach the next town.$" -gUnknown_818E3AD:: @ 818E3AD +PalletTown_ProfessorOaksLab_Text_OakBattleMonForItToGrow:: @ 818E3AD .string "OAK: {PLAYER}, raise your young\n" .string "POKéMON by making it battle.\p" .string "It has to battle for it to grow.$" -gUnknown_818E405:: @ 818E405 +PalletTown_ProfessorOaksLab_Text_OakHaveSomethingForMe:: @ 818E405 .string "OAK: Oh, {PLAYER}!\n" .string "How is my old POKéMON?\p" .string "Well, it seems to be growing more\n" @@ -147,35 +147,35 @@ gUnknown_818E405:: @ 818E405 .string "What's that?\n" .string "You have something for me?$" -Text_18E4AF:: @ 818E4AF +PalletTown_ProfessorOaksLab_Text_DeliveredOaksParcel:: @ 818E4AF .string "{PLAYER} delivered OAK'S PARCEL.$" -gUnknown_818E4CA:: @ 818E4CA +PalletTown_ProfessorOaksLab_Text_OakCustomBallIOrdered:: @ 818E4CA .string "Ah! \n" .string "It's the custom POKé BALL!\p" .string "I had it on order.\n" .string "Thank you!$" -gUnknown_818E508:: @ 818E508 +PalletTown_ProfessorOaksLab_Text_OakHaveRequestForYouTwo:: @ 818E508 .string "OAK: Oh, right!\n" .string "I have a request for you two.$" -gUnknown_818E536:: @ 818E536 +PalletTown_ProfessorOaksLab_Text_OakPokedexOnDesk:: @ 818E536 .string "On the desk there is my invention,\n" .string "the POKéDEX!\p" .string "It automatically records data on\n" .string "POKéMON you've seen or caught.\p" .string "It's a high-tech encyclopedia!$" -gUnknown_818E5C5:: @ 818E5C5 +PalletTown_ProfessorOaksLab_Text_OakTakeTheseWithYou:: @ 818E5C5 .string "OAK: {PLAYER} and {RIVAL}.\n" .string "Take these with you.$" -Text_18E5EA:: @ 818E5EA +PalletTown_ProfessorOaksLab_Text_ReceivedPokedexFromOak:: @ 818E5EA .string "{PLAYER} received the POKéDEX\n" .string "from PROF. OAK.$" -gUnknown_818E612:: @ 818E612 +PalletTown_ProfessorOaksLab_Text_OakCatchMonsForDataTakeThese:: @ 818E612 .string "OAK: You can't get detailed data\n" .string "on POKéMON by just seeing them.\p" .string "You must catch them to obtain\n" @@ -183,10 +183,10 @@ gUnknown_818E612:: @ 818E612 .string "So, here are some tools for\n" .string "catching wild POKéMON.$" -gUnknown_818E6B3:: @ 818E6B3 +PalletTown_ProfessorOaksLab_Text_ReceivedFivePokeBalls:: @ 818E6B3 .string "{PLAYER} received five POKé BALLS.$" -gUnknown_818E6D0:: @ 818E6D0 +PalletTown_ProfessorOaksLab_Text_OakExplainCatching:: @ 818E6D0 .string "When a wild POKéMON appears,\n" .string "it's fair game.\p" .string "Just throw a POKé BALL at it and\n" @@ -195,7 +195,7 @@ gUnknown_818E6D0:: @ 818E6D0 .string "A healthy POKéMON can escape.\n" .string "You have to be lucky!$" -gUnknown_818E784:: @ 818E784 +PalletTown_ProfessorOaksLab_Text_OakCompleteMonGuideWasMyDream:: @ 818E784 .string "To make a complete guide on all\n" .string "the POKéMON in the world…\p" .string "That was my dream!\p" @@ -207,11 +207,11 @@ gUnknown_818E784:: @ 818E784 .string "This is a great undertaking in\n" .string "POKéMON history!$" -gUnknown_818E871:: @ 818E871 +PalletTown_ProfessorOaksLab_Text_OakMonsAroundWorldWait:: @ 818E871 .string "POKéMON around the world wait for\n" .string "you, {PLAYER}!$" -gUnknown_818E89C:: @ 818E89C +PalletTown_ProfessorOaksLab_Text_OakAddedNothingToPokedex:: @ 818E89C .string "Ah, {PLAYER}!\n" .string "How is your POKéDEX shaping up?\p" .string "{RIVAL} has already caught some\n" @@ -223,34 +223,34 @@ gUnknown_818E89C:: @ 818E89C .string "I'll give you these, so do try a\n" .string "little harder.$" -gUnknown_818E98E:: @ 818E98E +PalletTown_ProfessorOaksLab_Text_OakComeSeeMeSometime:: @ 818E98E .string "OAK: Come see me sometime.\p" .string "After all, I want to know how your\n" .string "POKéDEX is coming along.$" -gUnknown_818E9E5:: @ 818E9E5 +PalletTown_ProfessorOaksLab_Text_BlankEncyclopedia:: @ 818E9E5 .string "It's like an encyclopedia, but the\n" .string "pages are blank.$" -gUnknown_818EA19:: @ 818EA19 +PalletTown_ProfessorOaksLab_Text_ThoseArePokeBalls:: @ 818EA19 .string "Those are POKé BALLS.\n" .string "They contain POKéMON!$" -gUnknown_818EA45:: @ 818EA45 +PalletTown_ProfessorOaksLab_Text_OaksLastMon:: @ 818EA45 .string "That's PROF. OAK's last POKéMON.$" -gUnknown_818EA66:: @ 818EA66 +PalletTown_ProfessorOaksLab_Text_PressStartToOpenMenu:: @ 818EA66 .string "Press START to open the MENU!$" -gUnknown_818EA84:: @ 818EA84 +PalletTown_ProfessorOaksLab_Text_SaveOptionInMenu:: @ 818EA84 .string "The SAVE option is on the MENU.\n" .string "Use it regularly.$" -gUnknown_818EAB6:: @ 818EAB6 +PalletTown_ProfessorOaksLab_Text_AllMonTypesHaveStrongAndWeakPoints:: @ 818EAB6 .string "All POKéMON types have strong and\n" .string "weak points against others.$" -gUnknown_818EAF4:: @ 818EAF4 +PalletTown_ProfessorOaksLab_Text_EmailMessage:: @ 818EAF4 .string "There's an e-mail message here.\p" .string "…\p" .string "Finally!\n" @@ -264,11 +264,11 @@ gUnknown_818EAF4:: @ 818EAF4 .string "PROF. OAK, please visit us!\n" .string "…$" -gUnknown_818EBE6:: @ 818EBE6 +PalletTown_ProfessorOaksLab_Text_StudyAsOaksAide:: @ 818EBE6 .string "I study POKéMON as PROF. OAK's\n" .string "AIDE.$" -gUnknown_818EC0B:: @ 818EC0B +PalletTown_ProfessorOaksLab_Text_DaisyWillGroomMons:: @ 818EC0B .string "Hi, {PLAYER}. I bet you've become\n" .string "good friends with your POKéMON.\p" .string "By the way, did you know about\n" @@ -280,25 +280,25 @@ gUnknown_818EC0B:: @ 818EC0B .string "This is a secret, so please don't\n" .string "tell anyone.$" -gUnknown_818ED15:: @ 818ED15 +PalletTown_ProfessorOaksLab_Text_OakIsGoingToHaveRadioShow:: @ 818ED15 .string "PROF. OAK is going to have his own\n" .string "radio show soon.\p" .string "The program will be called PROF.\n" .string "OAK's POKéMON SEMINAR.$" -gUnknown_818ED81:: @ 818ED81 +PalletTown_ProfessorOaksLab_Text_OakIsAuthorityOnMons:: @ 818ED81 .string "PROF. OAK may not look like much,\n" .string "but he's the authority on POKéMON.\p" .string "Many POKéMON TRAINERS hold him in\n" .string "high regard.$" -gUnknown_818EDF5:: @ 818EDF5 +PalletTown_ProfessorOaksLab_Text_OakFavorToAskYouPlayer:: @ 818EDF5 .string "Ah, now this is excellent!\p" .string "{PLAYER}, I have another important\n" .string "favor to ask of you.\p" .string "I need you to listen closely.$" -gUnknown_818EE60:: @ 818EE60 +PalletTown_ProfessorOaksLab_Text_OakSightingsOfRareMons:: @ 818EE60 .string "Recently, there have been sightings\n" .string "of many rare POKéMON species.\p" .string "I'm talking about POKéMON that\n" @@ -308,7 +308,7 @@ gUnknown_818EE60:: @ 818EE60 .string "Since I can't do it, {PLAYER}, I'd\n" .string "like you to go in my place.$" -gUnknown_818EF59:: @ 818EF59 +PalletTown_ProfessorOaksLab_Text_RivalJustLetMeHandleEverything:: @ 818EF59 .string "{RIVAL}: Hey, I heard that!\p" .string "Gramps, what's with favoring\n" .string "{PLAYER} over me all the time?\p" @@ -317,27 +317,27 @@ gUnknown_818EF59:: @ 818EF59 .string "You should just let me handle\n" .string "everything.$" -gUnknown_818F004:: @ 818F004 +PalletTown_ProfessorOaksLab_Text_OakNeedYourHelpTooNeedToSeePokedexes:: @ 818F004 .string "OAK: I know, I know.\n" .string "Of course I need your help, too.\p" .string "Now, I need to see both your\n" .string "POKéDEXES.$" -gUnknown_818F062:: @ 818F062 +PalletTown_ProfessorOaksLab_Text_OakTookBothPokedexUnits:: @ 818F062 .string "PROF. OAK took both POKéDEX\n" .string "units.$" -gUnknown_818F085:: @ 818F085 +PalletTown_ProfessorOaksLab_Text_OakNowTheseUnitsCanRecordMoreData:: @ 818F085 .string "… … … … … …\p" .string "… … … … … …\p" .string "…And that's done!\p" .string "Now these units can record data on\n" .string "a lot more POKéMON.$" -Text_18F0E8:: @ 818F0E8 +PalletTown_ProfessorOaksLab_Text_PlayersPokedexWasUpgraded:: @ 818F0E8 .string "{PLAYER}'s POKéDEX was upgraded!$" -gUnknown_818F103:: @ 818F103 +PalletTown_ProfessorOaksLab_Text_OakMustReallyWorkToFillPokedex:: @ 818F103 .string "Now, {PLAYER} and {RIVAL}!\p" .string "This time, you really must work\n" .string "towards filling your POKéDEXES.\p" @@ -346,7 +346,7 @@ gUnknown_818F103:: @ 818F103 .string "Truly, this is a monumentally great\n" .string "undertaking in POKéMON history!$" -gUnknown_818F1DB:: @ 818F1DB +PalletTown_ProfessorOaksLab_Text_RivalIllCompleteThePokedex:: @ 818F1DB .string "{RIVAL}: Gramps, calm down.\n" .string "Don't get so excited.\p" .string "I'll get the POKéDEX completed,\n" diff --git a/data/maps/PewterCity/map.json b/data/maps/PewterCity/map.json index 7222993be..ed52917a3 100644 --- a/data/maps/PewterCity/map.json +++ b/data/maps/PewterCity/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_PEWTER_CITY", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_1", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_TOWN", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ROUTE2", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 6, "y": 15, "elevation": 3, @@ -38,7 +40,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 33, "y": 17, "elevation": 3, @@ -51,7 +53,7 @@ "flag": "FLAG_HIDE_PEWTER_MUSEUM_GUIDE" }, { - "graphics_id": "OBJECT_EVENT_GFX_FAT_MAN", + "graphics_id": "OBJ_EVENT_GFX_FAT_MAN", "x": 21, "y": 28, "elevation": 3, @@ -64,7 +66,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BUG_CATCHER", + "graphics_id": "OBJ_EVENT_GFX_BUG_CATCHER", "x": 33, "y": 27, "elevation": 3, @@ -77,7 +79,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BOY", + "graphics_id": "OBJ_EVENT_GFX_BOY", "x": 42, "y": 20, "elevation": 3, @@ -90,7 +92,7 @@ "flag": "FLAG_HIDE_PEWTER_CITY_GYM_GUIDE" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 30, "y": 5, "elevation": 3, @@ -99,11 +101,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 46, "y": 20, "elevation": 3, @@ -234,38 +236,43 @@ ], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 19, "y": 7, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "PewterCity_EventScript_MuseumSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 39, "y": 19, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "PewterCity_EventScript_PoliceNotice" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 11, "y": 16, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "PewterCity_EventScript_GymSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 20, "y": 30, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "PewterCity_EventScript_TrainerTips" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 31, "y": 25, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "PewterCity_EventScript_CitySign" }, { diff --git a/data/maps/PewterCity/scripts.inc b/data/maps/PewterCity/scripts.inc index 83d8f4d35..be854826b 100644 --- a/data/maps/PewterCity/scripts.inc +++ b/data/maps/PewterCity/scripts.inc @@ -728,7 +728,7 @@ PewterCity_EventScript_AideGiveRunningShoes:: @ 81662DE signmsg msgbox PewterCity_Text_ExplainRunningShoes normalmsg - call EventScript_1A6675 + call EventScript_RestorePrevTextColor msgbox PewterCity_Text_MustBeGoingBackToLab closemessage compare VAR_TEMP_1, 0 diff --git a/data/maps/PewterCity_Gym/map.json b/data/maps/PewterCity_Gym/map.json index 04870110f..0457d1dea 100644 --- a/data/maps/PewterCity_Gym/map.json +++ b/data/maps/PewterCity_Gym/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_PEWTER_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_1", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BROCK", + "graphics_id": "OBJ_EVENT_GFX_BROCK", "x": 6, "y": 5, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CAMPER", + "graphics_id": "OBJ_EVENT_GFX_CAMPER", "x": 3, "y": 8, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GYM_GUY", + "graphics_id": "OBJ_EVENT_GFX_GYM_GUY", "x": 7, "y": 12, "elevation": 3, @@ -79,17 +81,19 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 12, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "PewterCity_Gym_EventScript_GymStatue" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 12, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "PewterCity_Gym_EventScript_GymStatue" } ] diff --git a/data/maps/PewterCity_House1/map.json b/data/maps/PewterCity_House1/map.json index d1ec624c9..29c5ad3db 100644 --- a/data/maps/PewterCity_House1/map.json +++ b/data/maps/PewterCity_House1/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_PEWTER_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 1, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_BOY", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_BOY", "x": 5, "y": 3, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_NIDORAN_M", + "graphics_id": "OBJ_EVENT_GFX_NIDORAN_M", "x": 6, "y": 3, "elevation": 3, diff --git a/data/maps/PewterCity_House1/scripts.inc b/data/maps/PewterCity_House1/scripts.inc index 3d173b174..f6b07a7f9 100644 --- a/data/maps/PewterCity_House1/scripts.inc +++ b/data/maps/PewterCity_House1/scripts.inc @@ -27,5 +27,5 @@ PewterCity_House1_EventScript_DoNidoranCry:: @ 816A749 playmoncry SPECIES_NIDORAN_M, 0 msgbox PewterCity_House1_Text_Nidoran waitmoncry - call EventScript_1A6675 + call EventScript_RestorePrevTextColor return diff --git a/data/maps/PewterCity_House2/map.json b/data/maps/PewterCity_House2/map.json index 88ce44057..5f22bc1d4 100644 --- a/data/maps/PewterCity_House2/map.json +++ b/data/maps/PewterCity_House2/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_PEWTER_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 3, "y": 3, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_BOY", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_BOY", "x": 5, "y": 3, "elevation": 3, diff --git a/data/maps/PewterCity_Mart/map.json b/data/maps/PewterCity_Mart/map.json index f062c5bea..233f0db8e 100644 --- a/data/maps/PewterCity_Mart/map.json +++ b/data/maps/PewterCity_Mart/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_PEWTER_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 8, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BOY", + "graphics_id": "OBJ_EVENT_GFX_BOY", "x": 6, "y": 4, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CLERK", + "graphics_id": "OBJ_EVENT_GFX_CLERK", "x": 2, "y": 3, "elevation": 0, diff --git a/data/maps/PewterCity_Museum_1F/map.json b/data/maps/PewterCity_Museum_1F/map.json index 26df37224..df70c9344 100644 --- a/data/maps/PewterCity_Museum_1F/map.json +++ b/data/maps/PewterCity_Museum_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_PEWTER_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 16, "y": 5, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 2, "y": 4, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 21, "y": 3, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_AMBER", + "graphics_id": "OBJ_EVENT_GFX_OLD_AMBER", "x": 22, "y": 3, "elevation": 0, @@ -66,7 +68,7 @@ "flag": "FLAG_HIDE_OLD_AMBER" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 26, "y": 4, "elevation": 3, @@ -79,7 +81,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 26, "y": 7, "elevation": 3, @@ -167,31 +169,35 @@ ], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 4, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "PewterCity_Museum_1F_EventScript_AerodactylFossil" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 7, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "PewterCity_Museum_1F_EventScript_KabutopsFossil" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 27, "y": 1, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "PewterCity_Museum_1F_EventScript_PokemonJournalBrock" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 26, "y": 1, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "PewterCity_Museum_1F_EventScript_PokemonJournalBrock" } ] diff --git a/data/maps/PewterCity_Museum_1F/scripts.inc b/data/maps/PewterCity_Museum_1F/scripts.inc index c75dd6218..6a3601717 100644 --- a/data/maps/PewterCity_Museum_1F/scripts.inc +++ b/data/maps/PewterCity_Museum_1F/scripts.inc @@ -182,9 +182,9 @@ PewterCity_Museum_1F_EventScript_AerodactylFossil:: @ 816A512 setvar VAR_0x8004, SPECIES_AERODACTYL setvar VAR_0x8005, 10 setvar VAR_0x8006, 3 - special Special_OpenMuseumFossilPic + special OpenMuseumFossilPic msgbox PewterCity_Museum_1F_Text_AerodactylFossil - special Special_CloseMuseumFossilPic + special CloseMuseumFossilPic releaseall end @@ -193,8 +193,8 @@ PewterCity_Museum_1F_EventScript_KabutopsFossil:: @ 816A532 setvar VAR_0x8004, SPECIES_KABUTOPS setvar VAR_0x8005, 10 setvar VAR_0x8006, 3 - special Special_OpenMuseumFossilPic + special OpenMuseumFossilPic msgbox PewterCity_Museum_1F_Text_KabutopsFossil - special Special_CloseMuseumFossilPic + special CloseMuseumFossilPic releaseall end diff --git a/data/maps/PewterCity_Museum_2F/map.json b/data/maps/PewterCity_Museum_2F/map.json index 0139c1133..25076ca69 100644 --- a/data/maps/PewterCity_Museum_2F/map.json +++ b/data/maps/PewterCity_Museum_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_PEWTER_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 10, "y": 5, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 4, "y": 9, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_2", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_2", "x": 0, "y": 6, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 15, "y": 8, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 16, "y": 8, "elevation": 3, @@ -91,59 +93,67 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 3, "y": 6, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "PewterCity_Museum_2F_EventScript_MoonStone" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 15, "y": 5, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "PewterCity_Museum_2F_EventScript_SpaceShuttle" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 14, "y": 5, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "PewterCity_Museum_2F_EventScript_SpaceShuttle" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 16, "y": 5, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "PewterCity_Museum_2F_EventScript_SpaceShuttle" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 14, "y": 4, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "PewterCity_Museum_2F_EventScript_SpaceShuttle" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 15, "y": 4, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "PewterCity_Museum_2F_EventScript_SpaceShuttle" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 16, "y": 4, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "PewterCity_Museum_2F_EventScript_SpaceShuttle" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 3, "y": 5, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "PewterCity_Museum_2F_EventScript_MoonStone" } ] diff --git a/data/maps/PewterCity_PokemonCenter_1F/map.json b/data/maps/PewterCity_PokemonCenter_1F/map.json index 9de4e5b69..61886cddc 100644 --- a/data/maps/PewterCity_PokemonCenter_1F/map.json +++ b/data/maps/PewterCity_PokemonCenter_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_PEWTER_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_JIGGLYPUFF", + "graphics_id": "OBJ_EVENT_GFX_JIGGLYPUFF", "x": 2, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 4, "y": 8, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_NURSE", + "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 1, "y": 2, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_1", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_1", "x": 13, "y": 2, "elevation": 3, @@ -79,7 +81,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GBA_KID", + "graphics_id": "OBJ_EVENT_GFX_GBA_KID", "x": 10, "y": 7, "elevation": 3, @@ -92,7 +94,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GBA_KID", + "graphics_id": "OBJ_EVENT_GFX_GBA_KID", "x": 14, "y": 6, "elevation": 3, diff --git a/data/maps/PewterCity_PokemonCenter_2F/map.json b/data/maps/PewterCity_PokemonCenter_2F/map.json index 35c9e0f0e..b7ab4725e 100644 --- a/data/maps/PewterCity_PokemonCenter_2F/map.json +++ b/data/maps/PewterCity_PokemonCenter_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_PEWTER_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 6, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 2, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 10, "y": 2, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MG_DELIVERYMAN", + "graphics_id": "OBJ_EVENT_GFX_MG_DELIVERYMAN", "x": 1, "y": 2, "elevation": 3, diff --git a/data/maps/PokemonLeague_AgathasRoom/map.json b/data/maps/PokemonLeague_AgathasRoom/map.json index 064480ba0..f6434eed8 100644 --- a/data/maps/PokemonLeague_AgathasRoom/map.json +++ b/data/maps/PokemonLeague_AgathasRoom/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_POKEMON_LEAGUE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_6", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_AGATHA", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_AGATHA", + "graphics_id": "OBJ_EVENT_GFX_AGATHA", "x": 6, "y": 5, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "PokemonLeague_AgathasRoom_EventScript_162877", + "script": "PokemonLeague_AgathasRoom_EventScript_Agatha", "flag": "0" } ], diff --git a/data/maps/PokemonLeague_AgathasRoom/scripts.inc b/data/maps/PokemonLeague_AgathasRoom/scripts.inc index 62293c1ec..202b9fda4 100644 --- a/data/maps/PokemonLeague_AgathasRoom/scripts.inc +++ b/data/maps/PokemonLeague_AgathasRoom/scripts.inc @@ -7,86 +7,84 @@ PokemonLeague_AgathasRoom_MapScripts:: @ 8162810 PokemonLeague_AgathasRoom_OnResume:: @ 8162825 setvar VAR_0x8004, 2 - call EventScript_1A75D5 + call PokemonLeague_EventScript_DoLightingEffect end PokemonLeague_AgathasRoom_OnLoad:: @ 8162830 - call_if_set FLAG_DEFEATED_AGATHA, EventScript_16284B + call_if_set FLAG_DEFEATED_AGATHA, PokemonLeague_AgathasRoom_EventScript_SetDoorOpen compare VAR_MAP_SCENE_POKEMON_LEAGUE, 3 - call_if_eq EventScript_162845 + call_if_eq PokemonLeague_AgathasRoom_EventScript_CloseEntry end -EventScript_162845:: @ 8162845 - call EventScript_1A759C +PokemonLeague_AgathasRoom_EventScript_CloseEntry:: @ 8162845 + call PokemonLeague_EventScript_CloseEntry return -EventScript_16284B:: @ 816284B - call EventScript_1A7538 +PokemonLeague_AgathasRoom_EventScript_SetDoorOpen:: @ 816284B + call PokemonLeague_EventScript_SetDoorOpen return PokemonLeague_AgathasRoom_OnWarp:: @ 8162851 - map_script_2 VAR_TEMP_1, 0, EventScript_16285B + map_script_2 VAR_TEMP_1, 0, PokemonLeague_AgathasRoom_EventScript_TurnPlayerNorth .2byte 0 -EventScript_16285B:: @ 816285B +PokemonLeague_AgathasRoom_EventScript_TurnPlayerNorth:: @ 816285B turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH end PokemonLeague_AgathasRoom_OnFrame:: @ 8162860 - map_script_2 VAR_MAP_SCENE_POKEMON_LEAGUE, 2, EventScript_16286A + map_script_2 VAR_MAP_SCENE_POKEMON_LEAGUE, 2, PokemonLeague_AgathasRoom_EventScript_EnterRoom .2byte 0 -EventScript_16286A:: @ 816286A +PokemonLeague_AgathasRoom_EventScript_EnterRoom:: @ 816286A lockall - call EventScript_1A751F + call PokemonLeague_EventScript_EnterRoom setvar VAR_MAP_SCENE_POKEMON_LEAGUE, 3 releaseall end -PokemonLeague_AgathasRoom_EventScript_162877:: @ 8162877 +PokemonLeague_AgathasRoom_EventScript_Agatha:: @ 8162877 lock faceplayer famechecker FAMECHECKER_AGATHA, FCPICKSTATE_COLORED, UpdatePickStateFromSpecialVar8005 - goto_if_set FLAG_DEFEATED_AGATHA, EventScript_162911 + goto_if_set FLAG_DEFEATED_AGATHA, PokemonLeague_AgathasRoom_EventScript_PostBattle famechecker FAMECHECKER_AGATHA, 0 famechecker FAMECHECKER_AGATHA, 4 famechecker FAMECHECKER_OAK, 4 - call_if_unset FLAG_SYS_GAME_CLEAR, EventScript_1628E9 - call_if_set FLAG_SYS_GAME_CLEAR, EventScript_1628F2 + call_if_unset FLAG_SYS_GAME_CLEAR, PokemonLeague_AgathasRoom_EventScript_Intro + call_if_set FLAG_SYS_GAME_CLEAR, PokemonLeague_AgathasRoom_EventScript_RematchIntro setflag FLAG_TEMP_3 setflag FLAG_TEMP_5 - call_if_unset FLAG_SYS_CAN_LINK_WITH_RS, EventScript_1628FB - call_if_set FLAG_SYS_CAN_LINK_WITH_RS, EventScript_162906 + call_if_unset FLAG_SYS_CAN_LINK_WITH_RS, PokemonLeague_AgathasRoom_EventScript_Battle + call_if_set FLAG_SYS_CAN_LINK_WITH_RS, PokemonLeague_AgathasRoom_EventScript_Rematch clearflag FLAG_TEMP_5 - goto EventScript_16291B - -EventScript_1628E8:: @ 81628E8 + goto PokemonLeague_AgathasRoom_EventScript_DefeatedAgatha end -EventScript_1628E9:: @ 81628E9 - msgbox gUnknown_817844D +PokemonLeague_AgathasRoom_EventScript_Intro:: @ 81628E9 + msgbox PokemonLeague_AgathasRoom_Text_Intro return -EventScript_1628F2:: @ 81628F2 - msgbox gUnknown_817858D +PokemonLeague_AgathasRoom_EventScript_RematchIntro:: @ 81628F2 + msgbox PokemonLeague_AgathasRoom_Text_RematchIntro return -EventScript_1628FB:: @ 81628FB - trainerbattle_no_intro TRAINER_ELITE_FOUR_AGATHA, Text_1786D7 +PokemonLeague_AgathasRoom_EventScript_Battle:: @ 81628FB + trainerbattle_no_intro TRAINER_ELITE_FOUR_AGATHA, PokemonLeague_AgathasRoom_Text_Defeat return -EventScript_162906:: @ 8162906 - trainerbattle_no_intro TRAINER_ELITE_FOUR_AGATHA_2, Text_1786D7 +PokemonLeague_AgathasRoom_EventScript_Rematch:: @ 8162906 + trainerbattle_no_intro TRAINER_ELITE_FOUR_AGATHA_2, PokemonLeague_AgathasRoom_Text_Defeat return -EventScript_162911:: @ 8162911 - msgbox gUnknown_8178700 +PokemonLeague_AgathasRoom_EventScript_PostBattle:: @ 8162911 + msgbox PokemonLeague_AgathasRoom_Text_PostBattle release end -EventScript_16291B:: @ 816291B +PokemonLeague_AgathasRoom_EventScript_DefeatedAgatha:: @ 816291B setflag FLAG_DEFEATED_AGATHA - call EventScript_1A7506 - msgbox gUnknown_8178700 + call PokemonLeague_EventScript_OpenDoor + msgbox PokemonLeague_AgathasRoom_Text_PostBattle release end diff --git a/data/maps/PokemonLeague_AgathasRoom/text.inc b/data/maps/PokemonLeague_AgathasRoom/text.inc index 8a29f185d..06a8af142 100644 --- a/data/maps/PokemonLeague_AgathasRoom/text.inc +++ b/data/maps/PokemonLeague_AgathasRoom/text.inc @@ -1,4 +1,4 @@ -gUnknown_817844D:: @ 817844D +PokemonLeague_AgathasRoom_Text_Intro:: @ 817844D .string "I am AGATHA of the ELITE FOUR.\p" .string "I hear OAK's taken a lot of\n" .string "interest in you, child.\p" @@ -13,7 +13,7 @@ gUnknown_817844D:: @ 817844D .string "{PLAYER}! I'll show you how a real\n" .string "TRAINER battles!{PLAY_BGM}{MUS_EXEYE}$" -gUnknown_817858D:: @ 817858D +PokemonLeague_AgathasRoom_Text_RematchIntro:: @ 817858D .string "I am AGATHA of the ELITE FOUR.\p" .string "You're the child that OAK's taken\n" .string "under his wing, aren't you?\p" @@ -28,11 +28,11 @@ gUnknown_817858D:: @ 817858D .string "{PLAYER}! I'll show you how a real\n" .string "TRAINER battles!{PLAY_BGM}{MUS_EXEYE}$" -Text_1786D7:: @ 81786D7 +PokemonLeague_AgathasRoom_Text_Defeat:: @ 81786D7 .string "Oh, my!\n" .string "You're something special, child!$" -gUnknown_8178700:: @ 8178700 +PokemonLeague_AgathasRoom_Text_PostBattle:: @ 8178700 .string "You win!\p" .string "I see what the old duff sees in\n" .string "you now.\p" diff --git a/data/maps/PokemonLeague_BrunosRoom/map.json b/data/maps/PokemonLeague_BrunosRoom/map.json index 29e23f75c..e7e98233f 100644 --- a/data/maps/PokemonLeague_BrunosRoom/map.json +++ b/data/maps/PokemonLeague_BrunosRoom/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_POKEMON_LEAGUE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_5", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_BRUNO", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BRUNO", + "graphics_id": "OBJ_EVENT_GFX_BRUNO", "x": 6, "y": 5, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "PokemonLeague_BrunosRoom_EventScript_1626EC", + "script": "PokemonLeague_BrunosRoom_EventScript_Bruno", "flag": "0" } ], diff --git a/data/maps/PokemonLeague_BrunosRoom/scripts.inc b/data/maps/PokemonLeague_BrunosRoom/scripts.inc index 709b5ab03..123c73f51 100644 --- a/data/maps/PokemonLeague_BrunosRoom/scripts.inc +++ b/data/maps/PokemonLeague_BrunosRoom/scripts.inc @@ -7,118 +7,116 @@ PokemonLeague_BrunosRoom_MapScripts:: @ 8162685 PokemonLeague_BrunosRoom_OnResume:: @ 816269A setvar VAR_0x8004, 1 - call EventScript_1A75D5 + call PokemonLeague_EventScript_DoLightingEffect end PokemonLeague_BrunosRoom_OnLoad:: @ 81626A5 - call_if_set FLAG_DEFEATED_BRUNO, EventScript_1626C0 + call_if_set FLAG_DEFEATED_BRUNO, PokemonLeague_BrunosRoom_EventScript_SetDoorOpen compare VAR_MAP_SCENE_POKEMON_LEAGUE, 2 - call_if_eq EventScript_1626BA + call_if_eq PokemonLeague_BrunosRoom_EventScript_CloseEntry end -EventScript_1626BA:: @ 81626BA - call EventScript_1A759C +PokemonLeague_BrunosRoom_EventScript_CloseEntry:: @ 81626BA + call PokemonLeague_EventScript_CloseEntry return -EventScript_1626C0:: @ 81626C0 - call EventScript_1A7538 +PokemonLeague_BrunosRoom_EventScript_SetDoorOpen:: @ 81626C0 + call PokemonLeague_EventScript_SetDoorOpen return PokemonLeague_BrunosRoom_OnWarp:: @ 81626C6 - map_script_2 VAR_TEMP_1, 0, EventScript_1626D0 + map_script_2 VAR_TEMP_1, 0, PokemonLeague_BrunosRoom_EventScript_TurnPlayerNorth .2byte 0 -EventScript_1626D0:: @ 81626D0 +PokemonLeague_BrunosRoom_EventScript_TurnPlayerNorth:: @ 81626D0 turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH end PokemonLeague_BrunosRoom_OnFrame:: @ 81626D5 - map_script_2 VAR_MAP_SCENE_POKEMON_LEAGUE, 1, EventScript_1626DF + map_script_2 VAR_MAP_SCENE_POKEMON_LEAGUE, 1, PokemonLeague_BrunosRoom_EventScript_EnterRoom .2byte 0 -EventScript_1626DF:: @ 81626DF +PokemonLeague_BrunosRoom_EventScript_EnterRoom:: @ 81626DF lockall - call EventScript_1A751F + call PokemonLeague_EventScript_EnterRoom setvar VAR_MAP_SCENE_POKEMON_LEAGUE, 2 releaseall end -PokemonLeague_BrunosRoom_EventScript_1626EC:: @ 81626EC +PokemonLeague_BrunosRoom_EventScript_Bruno:: @ 81626EC lock faceplayer famechecker FAMECHECKER_BRUNO, FCPICKSTATE_COLORED, UpdatePickStateFromSpecialVar8005 - goto_if_set FLAG_DEFEATED_BRUNO, EventScript_162779 + goto_if_set FLAG_DEFEATED_BRUNO, PokemonLeague_BrunosRoom_EventScript_PostBattle famechecker FAMECHECKER_BRUNO, 0 famechecker FAMECHECKER_BRUNO, 1 - call_if_unset FLAG_SYS_GAME_CLEAR, EventScript_162751 - call_if_set FLAG_SYS_GAME_CLEAR, EventScript_16275A + call_if_unset FLAG_SYS_GAME_CLEAR, PokemonLeague_BrunosRoom_EventScript_Intro + call_if_set FLAG_SYS_GAME_CLEAR, PokemonLeague_BrunosRoom_EventScript_RematchIntro setflag FLAG_TEMP_3 setflag FLAG_TEMP_5 - call_if_unset FLAG_SYS_CAN_LINK_WITH_RS, EventScript_162763 - call_if_set FLAG_SYS_CAN_LINK_WITH_RS, EventScript_16276E + call_if_unset FLAG_SYS_CAN_LINK_WITH_RS, PokemonLeague_BrunosRoom_EventScript_Battle + call_if_set FLAG_SYS_CAN_LINK_WITH_RS, PokemonLeague_BrunosRoom_EventScript_Rematch clearflag FLAG_TEMP_5 - goto EventScript_1627B0 - -EventScript_162750:: @ 8162750 + goto PokemonLeague_BrunosRoom_EventScript_DefeatedBruno end -EventScript_162751:: @ 8162751 - msgbox gUnknown_817820F +PokemonLeague_BrunosRoom_EventScript_Intro:: @ 8162751 + msgbox PokemonLeague_BrunosRoom_Text_Intro return -EventScript_16275A:: @ 816275A - msgbox gUnknown_817830C +PokemonLeague_BrunosRoom_EventScript_RematchIntro:: @ 816275A + msgbox PokemonLeague_BrunosRoom_Text_RematchIntro return -EventScript_162763:: @ 8162763 - trainerbattle_no_intro TRAINER_ELITE_FOUR_BRUNO, Text_178409 +PokemonLeague_BrunosRoom_EventScript_Battle:: @ 8162763 + trainerbattle_no_intro TRAINER_ELITE_FOUR_BRUNO, PokemonLeague_BrunosRoom_Text_Defeat return -EventScript_16276E:: @ 816276E - trainerbattle_no_intro TRAINER_ELITE_FOUR_BRUNO_2, Text_178409 +PokemonLeague_BrunosRoom_EventScript_Rematch:: @ 816276E + trainerbattle_no_intro TRAINER_ELITE_FOUR_BRUNO_2, PokemonLeague_BrunosRoom_Text_Defeat return -EventScript_162779:: @ 8162779 - msgbox gUnknown_8178420 +PokemonLeague_BrunosRoom_EventScript_PostBattle:: @ 8162779 + msgbox PokemonLeague_BrunosRoom_Text_PostBattle closemessage compare VAR_FACING, DIR_NORTH - call_if_eq EventScript_1627FA + call_if_eq PokemonLeague_BrunosRoom_EventScript_BrunoLookAwayRight compare VAR_FACING, DIR_SOUTH - call_if_eq EventScript_1627EF + call_if_eq PokemonLeague_BrunosRoom_EventScript_BrunoLookAwayLeft compare VAR_FACING, DIR_WEST - call_if_eq EventScript_162805 + call_if_eq PokemonLeague_BrunosRoom_EventScript_BrunoLookAwayDown compare VAR_FACING, DIR_EAST - call_if_eq EventScript_162805 + call_if_eq PokemonLeague_BrunosRoom_EventScript_BrunoLookAwayDown release end -EventScript_1627B0:: @ 81627B0 +PokemonLeague_BrunosRoom_EventScript_DefeatedBruno:: @ 81627B0 setflag FLAG_DEFEATED_BRUNO - call EventScript_1A7506 - msgbox gUnknown_8178420 + call PokemonLeague_EventScript_OpenDoor + msgbox PokemonLeague_BrunosRoom_Text_PostBattle closemessage compare VAR_FACING, DIR_NORTH - call_if_eq EventScript_1627FA + call_if_eq PokemonLeague_BrunosRoom_EventScript_BrunoLookAwayRight compare VAR_FACING, DIR_SOUTH - call_if_eq EventScript_1627EF + call_if_eq PokemonLeague_BrunosRoom_EventScript_BrunoLookAwayLeft compare VAR_FACING, DIR_WEST - call_if_eq EventScript_162805 + call_if_eq PokemonLeague_BrunosRoom_EventScript_BrunoLookAwayDown compare VAR_FACING, DIR_EAST - call_if_eq EventScript_162805 + call_if_eq PokemonLeague_BrunosRoom_EventScript_BrunoLookAwayDown release end -EventScript_1627EF:: @ 81627EF +PokemonLeague_BrunosRoom_EventScript_BrunoLookAwayLeft:: @ 81627EF applymovement 1, Movement_WalkInPlaceFastestLeft waitmovement 0 return -EventScript_1627FA:: @ 81627FA +PokemonLeague_BrunosRoom_EventScript_BrunoLookAwayRight:: @ 81627FA applymovement 1, Movement_WalkInPlaceFastestRight waitmovement 0 return -EventScript_162805:: @ 8162805 +PokemonLeague_BrunosRoom_EventScript_BrunoLookAwayDown:: @ 8162805 applymovement 1, Movement_WalkInPlaceFastestDown waitmovement 0 return diff --git a/data/maps/PokemonLeague_BrunosRoom/text.inc b/data/maps/PokemonLeague_BrunosRoom/text.inc index 57c66a96b..4c6cb4561 100644 --- a/data/maps/PokemonLeague_BrunosRoom/text.inc +++ b/data/maps/PokemonLeague_BrunosRoom/text.inc @@ -1,4 +1,4 @@ -gUnknown_817820F:: @ 817820F +PokemonLeague_BrunosRoom_Text_Intro:: @ 817820F .string "I am BRUNO of the ELITE FOUR!\p" .string "Through rigorous training, people\n" .string "and POKéMON can become stronger\l" @@ -11,7 +11,7 @@ gUnknown_817820F:: @ 817820F .string "superior power!\p" .string "Hoo hah!{PLAY_BGM}{MUS_EXEYE}$" -gUnknown_817830C:: @ 817830C +PokemonLeague_BrunosRoom_Text_RematchIntro:: @ 817830C .string "I am BRUNO of the ELITE FOUR!\p" .string "Through rigorous training, people\n" .string "and POKéMON can become stronger\l" @@ -24,11 +24,11 @@ gUnknown_817830C:: @ 817830C .string "superior power!\p" .string "Hoo hah!{PLAY_BGM}{MUS_EXEYE}$" -Text_178409:: @ 8178409 +PokemonLeague_BrunosRoom_Text_Defeat:: @ 8178409 .string "Why?\n" .string "How could I lose?$" -gUnknown_8178420:: @ 8178420 +PokemonLeague_BrunosRoom_Text_PostBattle:: @ 8178420 .string "My job is done.\n" .string "Go face your next challenge.$" diff --git a/data/maps/PokemonLeague_ChampionsRoom/map.json b/data/maps/PokemonLeague_ChampionsRoom/map.json index e0e261c1e..c6dd72917 100644 --- a/data/maps/PokemonLeague_ChampionsRoom/map.json +++ b/data/maps/PokemonLeague_ChampionsRoom/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_POKEMON_LEAGUE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BLUE", + "graphics_id": "OBJ_EVENT_GFX_BLUE", "x": 6, "y": 8, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PROF_OAK", + "graphics_id": "OBJ_EVENT_GFX_PROF_OAK", "x": 6, "y": 15, "elevation": 0, diff --git a/data/maps/PokemonLeague_ChampionsRoom/scripts.inc b/data/maps/PokemonLeague_ChampionsRoom/scripts.inc index bf0283a1f..817991d5a 100644 --- a/data/maps/PokemonLeague_ChampionsRoom/scripts.inc +++ b/data/maps/PokemonLeague_ChampionsRoom/scripts.inc @@ -1,3 +1,6 @@ +.equ LOCALID_RIVAL, 1 +.equ LOCALID_PROF_OAK, 2 + PokemonLeague_ChampionsRoom_MapScripts:: @ 8162AE2 map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, PokemonLeague_ChampionsRoom_OnWarp map_script MAP_SCRIPT_ON_RESUME, PokemonLeague_ChampionsRoom_OnResume @@ -6,91 +9,91 @@ PokemonLeague_ChampionsRoom_MapScripts:: @ 8162AE2 PokemonLeague_ChampionsRoom_OnResume:: @ 8162AF2 setvar VAR_0x8004, 4 - call EventScript_1A75D5 + call PokemonLeague_EventScript_DoLightingEffect compare VAR_STARTER_MON, 2 - call_if_eq EventScript_162B1E + call_if_eq PokemonLeague_ChampionsRoom_EventScript_CheckStopTriggerSquirtle compare VAR_STARTER_MON, 1 - call_if_eq EventScript_162B31 + call_if_eq PokemonLeague_ChampionsRoom_EventScript_CheckStopTriggerBulbasaur compare VAR_STARTER_MON, 0 - call_if_eq EventScript_162B44 + call_if_eq PokemonLeague_ChampionsRoom_EventScript_CheckStopTriggerCharmander end -EventScript_162B1E:: @ 8162B1E - goto_if_defeated TRAINER_CHAMPION_FIRST_SQUIRTLE, EventScript_162B57 - goto_if_defeated TRAINER_CHAMPION_REMATCH_SQUIRTLE, EventScript_162B57 +PokemonLeague_ChampionsRoom_EventScript_CheckStopTriggerSquirtle:: @ 8162B1E + goto_if_defeated TRAINER_CHAMPION_FIRST_SQUIRTLE, PokemonLeague_ChampionsRoom_EventScript_StopSceneTrigger + goto_if_defeated TRAINER_CHAMPION_REMATCH_SQUIRTLE, PokemonLeague_ChampionsRoom_EventScript_StopSceneTrigger return -EventScript_162B31:: @ 8162B31 - goto_if_defeated TRAINER_CHAMPION_FIRST_BULBASAUR, EventScript_162B57 - goto_if_defeated TRAINER_CHAMPION_REMATCH_BULBASAUR, EventScript_162B57 +PokemonLeague_ChampionsRoom_EventScript_CheckStopTriggerBulbasaur:: @ 8162B31 + goto_if_defeated TRAINER_CHAMPION_FIRST_BULBASAUR, PokemonLeague_ChampionsRoom_EventScript_StopSceneTrigger + goto_if_defeated TRAINER_CHAMPION_REMATCH_BULBASAUR, PokemonLeague_ChampionsRoom_EventScript_StopSceneTrigger return -EventScript_162B44:: @ 8162B44 - goto_if_defeated TRAINER_CHAMPION_FIRST_CHARMANDER, EventScript_162B57 - goto_if_defeated TRAINER_CHAMPION_REMATCH_CHARMANDER, EventScript_162B57 +PokemonLeague_ChampionsRoom_EventScript_CheckStopTriggerCharmander:: @ 8162B44 + goto_if_defeated TRAINER_CHAMPION_FIRST_CHARMANDER, PokemonLeague_ChampionsRoom_EventScript_StopSceneTrigger + goto_if_defeated TRAINER_CHAMPION_REMATCH_CHARMANDER, PokemonLeague_ChampionsRoom_EventScript_StopSceneTrigger return -EventScript_162B57:: @ 8162B57 +PokemonLeague_ChampionsRoom_EventScript_StopSceneTrigger:: @ 8162B57 setvar VAR_TEMP_1, 1 return PokemonLeague_ChampionsRoom_OnWarp:: @ 8162B5D - map_script_2 VAR_TEMP_1, 0, EventScript_162B67 + map_script_2 VAR_TEMP_1, 0, PokemonLeague_ChampionsRoom_EventScript_TurnPlayerNorth .2byte 0 -EventScript_162B67:: @ 8162B67 +PokemonLeague_ChampionsRoom_EventScript_TurnPlayerNorth:: @ 8162B67 turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH end PokemonLeague_ChampionsRoom_OnFrame:: @ 8162B6C - map_script_2 VAR_TEMP_1, 0, EventScript_162B76 + map_script_2 VAR_TEMP_1, 0, PokemonLeague_ChampionsRoom_EventScript_EnterRoom .2byte 0 -EventScript_162B76:: @ 8162B76 +PokemonLeague_ChampionsRoom_EventScript_EnterRoom:: @ 8162B76 lockall textcolor 0 setflag FLAG_TEMP_2 - applymovement OBJ_EVENT_ID_PLAYER, Movement_162D07 + applymovement OBJ_EVENT_ID_PLAYER, PokemonLeague_ChampionsRoom_Movement_PlayerEnter waitmovement 0 delay 20 - call_if_unset FLAG_SYS_GAME_CLEAR, EventScript_162CB3 - call_if_set FLAG_SYS_GAME_CLEAR, EventScript_162CBC - goto_if_questlog EventScript_162C68 + call_if_unset FLAG_SYS_GAME_CLEAR, PokemonLeague_ChampionsRoom_EventScript_Intro + call_if_set FLAG_SYS_GAME_CLEAR, PokemonLeague_ChampionsRoom_EventScript_RematchIntro + goto_if_questlog PokemonLeague_ChampionsRoom_EventScript_QuestLogEnd setflag FLAG_TEMP_3 setflag FLAG_TEMP_5 savebgm MUS_WIN_GYM - call_if_unset FLAG_SYS_CAN_LINK_WITH_RS, EventScript_162C6F - call_if_set FLAG_SYS_CAN_LINK_WITH_RS, EventScript_162C91 + call_if_unset FLAG_SYS_CAN_LINK_WITH_RS, PokemonLeague_ChampionsRoom_EventScript_Battle + call_if_set FLAG_SYS_CAN_LINK_WITH_RS, PokemonLeague_ChampionsRoom_EventScript_Rematch setflag FLAG_TEMP_4 clearflag FLAG_TEMP_5 setflag FLAG_DEFEATED_CHAMP setflag FLAG_TEMP_4 - msgbox gUnknown_8178F2F + msgbox PokemonLeague_ChampionsRoom_Text_PostBattle playbgm MUS_SLOWMASARA, 0 - addobject 2 - msgbox gUnknown_8178FC6 + addobject LOCALID_PROF_OAK + msgbox PokemonLeague_ChampionsRoom_Text_OakPlayer closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_162D1F - applymovement 1, Movement_162D41 - applymovement 2, Movement_162D2A + applymovement OBJ_EVENT_ID_PLAYER, PokemonLeague_ChampionsRoom_Movement_PlayerWatchOakEnter + applymovement LOCALID_RIVAL, PokemonLeague_ChampionsRoom_Movement_RivalWatchOakEnter + applymovement LOCALID_PROF_OAK, PokemonLeague_ChampionsRoom_Movement_OakEnter waitmovement 0 delay 25 - specialvar VAR_RESULT, ScrSpecial_GetStarter + specialvar VAR_RESULT, GetStarterSpecies getspeciesname 0, VAR_RESULT - msgbox gUnknown_8178FCF - applymovement 2, Movement_WalkInPlaceFastestRight - applymovement 1, Movement_WalkInPlaceFastestLeft + msgbox PokemonLeague_ChampionsRoom_Text_OakCongratulations + applymovement LOCALID_PROF_OAK, Movement_WalkInPlaceFastestRight + applymovement LOCALID_RIVAL, Movement_WalkInPlaceFastestLeft waitmovement 0 - msgbox gUnknown_817908F + msgbox PokemonLeague_ChampionsRoom_Text_OakImDisappointedRival closemessage - applymovement 2, Movement_WalkInPlaceFastestDown + applymovement LOCALID_PROF_OAK, Movement_WalkInPlaceFastestDown waitmovement 0 delay 20 - msgbox gUnknown_81791A3 + msgbox PokemonLeague_ChampionsRoom_Text_OakPlayerComeWithMe closemessage delay 13 - applymovement 2, Movement_162D37 - applymovement OBJ_EVENT_ID_PLAYER, Movement_162D12 + applymovement LOCALID_PROF_OAK, PokemonLeague_ChampionsRoom_Movement_OakExit + applymovement OBJ_EVENT_ID_PLAYER, PokemonLeague_ChampionsRoom_Movement_PlayerExit waitmovement 0 setvar VAR_TEMP_1, 1 warp MAP_POKEMON_LEAGUE_HALL_OF_FAME, 255, 5, 12 @@ -98,62 +101,62 @@ EventScript_162B76:: @ 8162B76 releaseall end -EventScript_162C68:: @ 8162C68 - call EventScript_162B57 +PokemonLeague_ChampionsRoom_EventScript_QuestLogEnd:: @ 8162C68 + call PokemonLeague_ChampionsRoom_EventScript_StopSceneTrigger releaseall end -EventScript_162C6F:: @ 8162C6F +PokemonLeague_ChampionsRoom_EventScript_Battle:: @ 8162C6F compare VAR_STARTER_MON, 2 - call_if_eq EventScript_162CC5 + call_if_eq PokemonLeague_ChampionsRoom_EventScript_BattleSquirtle compare VAR_STARTER_MON, 1 - call_if_eq EventScript_162CD0 + call_if_eq PokemonLeague_ChampionsRoom_EventScript_BattleBulbasaur compare VAR_STARTER_MON, 0 - call_if_eq EventScript_162CDB + call_if_eq PokemonLeague_ChampionsRoom_EventScript_BattleCharmander return -EventScript_162C91:: @ 8162C91 +PokemonLeague_ChampionsRoom_EventScript_Rematch:: @ 8162C91 compare VAR_STARTER_MON, 2 - call_if_eq EventScript_162CE6 + call_if_eq PokemonLeague_ChampionsRoom_EventScript_RematchSquirtle compare VAR_STARTER_MON, 1 - call_if_eq EventScript_162CF1 + call_if_eq PokemonLeague_ChampionsRoom_EventScript_RematchBulbasaur compare VAR_STARTER_MON, 0 - call_if_eq EventScript_162CFC + call_if_eq PokemonLeague_ChampionsRoom_EventScript_RematchCharmander return -EventScript_162CB3:: @ 8162CB3 - msgbox gUnknown_8178B6C +PokemonLeague_ChampionsRoom_EventScript_Intro:: @ 8162CB3 + msgbox PokemonLeague_ChampionsRoom_Text_Intro return -EventScript_162CBC:: @ 8162CBC - msgbox gUnknown_8178CD4 +PokemonLeague_ChampionsRoom_EventScript_RematchIntro:: @ 8162CBC + msgbox PokemonLeague_ChampionsRoom_Text_RematchIntro return -EventScript_162CC5:: @ 8162CC5 - trainerbattle_no_intro TRAINER_CHAMPION_FIRST_SQUIRTLE, Text_178E3F +PokemonLeague_ChampionsRoom_EventScript_BattleSquirtle:: @ 8162CC5 + trainerbattle_no_intro TRAINER_CHAMPION_FIRST_SQUIRTLE, PokemonLeague_ChampionsRoom_Text_Defeat return -EventScript_162CD0:: @ 8162CD0 - trainerbattle_no_intro TRAINER_CHAMPION_FIRST_BULBASAUR, Text_178E3F +PokemonLeague_ChampionsRoom_EventScript_BattleBulbasaur:: @ 8162CD0 + trainerbattle_no_intro TRAINER_CHAMPION_FIRST_BULBASAUR, PokemonLeague_ChampionsRoom_Text_Defeat return -EventScript_162CDB:: @ 8162CDB - trainerbattle_no_intro TRAINER_CHAMPION_FIRST_CHARMANDER, Text_178E3F +PokemonLeague_ChampionsRoom_EventScript_BattleCharmander:: @ 8162CDB + trainerbattle_no_intro TRAINER_CHAMPION_FIRST_CHARMANDER, PokemonLeague_ChampionsRoom_Text_Defeat return -EventScript_162CE6:: @ 8162CE6 - trainerbattle_no_intro TRAINER_CHAMPION_REMATCH_SQUIRTLE, Text_178E3F +PokemonLeague_ChampionsRoom_EventScript_RematchSquirtle:: @ 8162CE6 + trainerbattle_no_intro TRAINER_CHAMPION_REMATCH_SQUIRTLE, PokemonLeague_ChampionsRoom_Text_Defeat return -EventScript_162CF1:: @ 8162CF1 - trainerbattle_no_intro TRAINER_CHAMPION_REMATCH_BULBASAUR, Text_178E3F +PokemonLeague_ChampionsRoom_EventScript_RematchBulbasaur:: @ 8162CF1 + trainerbattle_no_intro TRAINER_CHAMPION_REMATCH_BULBASAUR, PokemonLeague_ChampionsRoom_Text_Defeat return -EventScript_162CFC:: @ 8162CFC - trainerbattle_no_intro TRAINER_CHAMPION_REMATCH_CHARMANDER, Text_178E3F +PokemonLeague_ChampionsRoom_EventScript_RematchCharmander:: @ 8162CFC + trainerbattle_no_intro TRAINER_CHAMPION_REMATCH_CHARMANDER, PokemonLeague_ChampionsRoom_Text_Defeat return -Movement_162D07:: @ 8162D07 +PokemonLeague_ChampionsRoom_Movement_PlayerEnter:: @ 8162D07 walk_up walk_up walk_up @@ -166,7 +169,7 @@ Movement_162D07:: @ 8162D07 walk_up step_end -Movement_162D12:: @ 8162D12 +PokemonLeague_ChampionsRoom_Movement_PlayerExit:: @ 8162D12 delay_16 walk_left walk_up @@ -181,7 +184,7 @@ Movement_162D12:: @ 8162D12 set_invisible step_end -Movement_162D1F:: @ 8162D1F +PokemonLeague_ChampionsRoom_Movement_PlayerWatchOakEnter:: @ 8162D1F delay_8 walk_in_place_fastest_down delay_16 @@ -194,7 +197,7 @@ Movement_162D1F:: @ 8162D1F walk_in_place_fastest_left step_end -Movement_162D2A:: @ 8162D2A +PokemonLeague_ChampionsRoom_Movement_OakEnter:: @ 8162D2A delay_16 delay_16 walk_up @@ -209,7 +212,7 @@ Movement_162D2A:: @ 8162D2A delay_16 step_end -Movement_162D37:: @ 8162D37 +PokemonLeague_ChampionsRoom_Movement_OakExit:: @ 8162D37 walk_up walk_up walk_right @@ -221,7 +224,7 @@ Movement_162D37:: @ 8162D37 set_invisible step_end -Movement_162D41:: @ 8162D41 +PokemonLeague_ChampionsRoom_Movement_RivalWatchOakEnter:: @ 8162D41 delay_16 delay_16 delay_16 diff --git a/data/maps/PokemonLeague_ChampionsRoom/text.inc b/data/maps/PokemonLeague_ChampionsRoom/text.inc index a99db09db..19ba16fa3 100644 --- a/data/maps/PokemonLeague_ChampionsRoom/text.inc +++ b/data/maps/PokemonLeague_ChampionsRoom/text.inc @@ -1,4 +1,4 @@ -gUnknown_8178B6C:: @ 8178B6C +PokemonLeague_ChampionsRoom_Text_Intro:: @ 8178B6C .string "{RIVAL}: Hey, {PLAYER}!\p" .string "I was looking forward to seeing\n" .string "you, {PLAYER}.\p" @@ -16,7 +16,7 @@ gUnknown_8178B6C:: @ 8178B6C .string "I am the most powerful TRAINER in\n" .string "the world!$" -gUnknown_8178CD4:: @ 8178CD4 +PokemonLeague_ChampionsRoom_Text_RematchIntro:: @ 8178CD4 .string "{RIVAL}: Hey, {PLAYER}!\p" .string "You came back, {PLAYER}!\n" .string "Hahah, that is so great!\p" @@ -34,7 +34,7 @@ gUnknown_8178CD4:: @ 8178CD4 .string "I am the most powerful TRAINER in\n" .string "the world!$" -Text_178E3F:: @ 8178E3F +PokemonLeague_ChampionsRoom_Text_Defeat:: @ 8178E3F .string "NO!\n" .string "That can't be!\l" .string "You beat me at my best!\p" @@ -43,7 +43,7 @@ Text_178E3F:: @ 8178E3F .string "My reign is over already?\n" .string "It's not fair!$" -Text_178EC3:: @ 8178EC3 +PokemonLeague_ChampionsRoom_Text_Victory:: @ 8178EC3 .string "はーはッ!\n" .string "かった! かった! かった!\p" .string "{PLAYER}に まける ような\n" @@ -54,7 +54,7 @@ Text_178EC3:: @ 8178EC3 .string "ほめて つかわす!\n" .string "はーッ! はーはッはッ!$" -gUnknown_8178F2F:: @ 8178F2F +PokemonLeague_ChampionsRoom_Text_PostBattle:: @ 8178F2F .string "Why?\n" .string "Why did I lose?\p" .string "I never made any mistakes raising\n" @@ -63,10 +63,10 @@ gUnknown_8178F2F:: @ 8178F2F .string "LEAGUE CHAMPION!\p" .string "Although I don't like to admit it…$" -gUnknown_8178FC6:: @ 8178FC6 +PokemonLeague_ChampionsRoom_Text_OakPlayer:: @ 8178FC6 .string "OAK: {PLAYER}!$" -gUnknown_8178FCF:: @ 8178FCF +PokemonLeague_ChampionsRoom_Text_OakCongratulations:: @ 8178FCF .string "OAK: So, you've won!\n" .string "Sincerely, congratulations!\p" .string "You're the new POKéMON LEAGUE\n" @@ -76,7 +76,7 @@ gUnknown_8178FCF:: @ 8178FCF .string "on the POKéDEX.\p" .string "{PLAYER}, you have come of age!$" -gUnknown_817908F:: @ 817908F +PokemonLeague_ChampionsRoom_Text_OakImDisappointedRival:: @ 817908F .string "OAK: {RIVAL}…\n" .string "I'm disappointed in you.\p" .string "I came when I heard you'd beaten\n" @@ -90,7 +90,7 @@ gUnknown_817908F:: @ 817908F .string "Without them, you will never\n" .string "become a CHAMP again!$" -gUnknown_81791A3:: @ 81791A3 +PokemonLeague_ChampionsRoom_Text_OakPlayerComeWithMe:: @ 81791A3 .string "OAK: {PLAYER}.\p" .string "You understand that your victory\n" .string "was not just your own doing.\p" diff --git a/data/maps/PokemonLeague_HallOfFame/map.json b/data/maps/PokemonLeague_HallOfFame/map.json index 3775d94cb..7ae0b20ed 100644 --- a/data/maps/PokemonLeague_HallOfFame/map.json +++ b/data/maps/PokemonLeague_HallOfFame/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_POKEMON_LEAGUE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_PROF_OAK", + "graphics_id": "OBJ_EVENT_GFX_PROF_OAK", "x": 6, "y": 4, "elevation": 3, diff --git a/data/maps/PokemonLeague_HallOfFame/scripts.inc b/data/maps/PokemonLeague_HallOfFame/scripts.inc index 080e65ece..e806d0157 100644 --- a/data/maps/PokemonLeague_HallOfFame/scripts.inc +++ b/data/maps/PokemonLeague_HallOfFame/scripts.inc @@ -4,45 +4,45 @@ PokemonLeague_HallOfFame_MapScripts:: @ 8162D4C .byte 0 PokemonLeague_HallOfFame_OnWarp:: @ 8162D57 - map_script_2 VAR_TEMP_1, 0, EventScript_162D61 + map_script_2 VAR_TEMP_1, 0, PokemonLeague_HallOfFame_EventScript_TurnPlayerNorth .2byte 0 -EventScript_162D61:: @ 8162D61 +PokemonLeague_HallOfFame_EventScript_TurnPlayerNorth:: @ 8162D61 turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH end PokemonLeague_HallOfFame_OnFrame:: @ 8162D66 - map_script_2 VAR_TEMP_1, 0, EventScript_162D70 + map_script_2 VAR_TEMP_1, 0, PokemonLeague_HallOfFame_EventScript_EnterRoom .2byte 0 -EventScript_162D70:: @ 8162D70 +PokemonLeague_HallOfFame_EventScript_EnterRoom:: @ 8162D70 lockall textcolor 0 - applymovement OBJ_EVENT_ID_PLAYER, Movement_162DCD + applymovement OBJ_EVENT_ID_PLAYER, PokemonLeague_HallOfFame_Movement_EnterRoom waitmovement 0 applymovement 1, Movement_WalkInPlaceFastestLeft applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight waitmovement 0 delay 18 - msgbox gUnknown_817922F + msgbox PokemonLeague_HallOfFame_Text_OakCongratulations closemessage applymovement 1, Movement_WalkInPlaceFastestUp applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestUp waitmovement 0 delay 20 - dofieldeffect 62 - waitfieldeffect 62 + dofieldeffect FLDEFF_HALL_OF_FAME_RECORD + waitfieldeffect FLDEFF_HALL_OF_FAME_RECORD delay 40 setvar VAR_TEMP_1, 1 - call EventScript_1A651A + call EventScript_SetDefeatedEliteFourFlagsVars setrespawn SPAWN_PALLET_TOWN fadescreenspeed FADE_TO_BLACK, 24 - special Special_HallOfFame + special EnterHallOfFame waitstate releaseall end -Movement_162DCD:: @ 8162DCD +PokemonLeague_HallOfFame_Movement_EnterRoom:: @ 8162DCD walk_up walk_up walk_up diff --git a/data/maps/PokemonLeague_HallOfFame/text.inc b/data/maps/PokemonLeague_HallOfFame/text.inc index 111f655cc..a5bc2e47a 100644 --- a/data/maps/PokemonLeague_HallOfFame/text.inc +++ b/data/maps/PokemonLeague_HallOfFame/text.inc @@ -1,4 +1,4 @@ -gUnknown_817922F:: @ 817922F +PokemonLeague_HallOfFame_Text_OakCongratulations:: @ 817922F .string "OAK: Er-hem!\n" .string "Congratulations, {PLAYER}!\p" .string "This floor is the POKéMON HALL OF\n" diff --git a/data/maps/PokemonLeague_LancesRoom/map.json b/data/maps/PokemonLeague_LancesRoom/map.json index 3e9571b83..5ec8fbcc0 100644 --- a/data/maps/PokemonLeague_LancesRoom/map.json +++ b/data/maps/PokemonLeague_LancesRoom/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_POKEMON_LEAGUE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_7", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_LANCE", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_LANCE", + "graphics_id": "OBJ_EVENT_GFX_LANCE", "x": 6, "y": 8, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "PokemonLeague_LancesRoom_EventScript_162A14", + "script": "PokemonLeague_LancesRoom_EventScript_Lance", "flag": "0" } ], diff --git a/data/maps/PokemonLeague_LancesRoom/scripts.inc b/data/maps/PokemonLeague_LancesRoom/scripts.inc index 56619200c..190e52d33 100644 --- a/data/maps/PokemonLeague_LancesRoom/scripts.inc +++ b/data/maps/PokemonLeague_LancesRoom/scripts.inc @@ -7,41 +7,41 @@ PokemonLeague_LancesRoom_MapScripts:: @ 816292D PokemonLeague_LancesRoom_OnResume:: @ 8162942 setvar VAR_0x8004, 3 - call EventScript_1A75D5 + call PokemonLeague_EventScript_DoLightingEffect end PokemonLeague_LancesRoom_OnLoad:: @ 816294D compare VAR_MAP_SCENE_POKEMON_LEAGUE, 4 - call_if_eq EventScript_162962 - call_if_set FLAG_DEFEATED_LANCE, EventScript_162968 + call_if_eq PokemonLeague_LancesRoom_EventScript_CloseEntry + call_if_set FLAG_DEFEATED_LANCE, PokemonLeague_LancesRoom_EventScript_SetDoorOpen end -EventScript_162962:: @ 8162962 - call EventScript_1629A8 +PokemonLeague_LancesRoom_EventScript_CloseEntry:: @ 8162962 + call PokemonLeague_LancesRoom_EventScript_SetEntryClosed return -EventScript_162968:: @ 8162968 - call EventScript_1A7589 +PokemonLeague_LancesRoom_EventScript_SetDoorOpen:: @ 8162968 + call PokemonLeague_EventScript_SetDoorOpenLance return PokemonLeague_LancesRoom_OnWarp:: @ 816296E - map_script_2 VAR_TEMP_1, 0, EventScript_162978 + map_script_2 VAR_TEMP_1, 0, PokemonLeague_LancesRoom_EventScript_TurnPlayerNorth .2byte 0 -EventScript_162978:: @ 8162978 +PokemonLeague_LancesRoom_EventScript_TurnPlayerNorth:: @ 8162978 turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH end PokemonLeague_LancesRoom_OnFrame:: @ 816297D - map_script_2 VAR_MAP_SCENE_POKEMON_LEAGUE, 3, EventScript_162987 + map_script_2 VAR_MAP_SCENE_POKEMON_LEAGUE, 3, PokemonLeague_LancesRoom_EventScript_EnterRoom .2byte 0 -EventScript_162987:: @ 8162987 +PokemonLeague_LancesRoom_EventScript_EnterRoom:: @ 8162987 lockall - applymovement OBJ_EVENT_ID_PLAYER, Movement_1629F1 + applymovement OBJ_EVENT_ID_PLAYER, PokemonLeague_LancesRoom_Movement_WalkThroughCorridor waitmovement 0 setflag FLAG_TEMP_2 - call EventScript_1629A8 + call PokemonLeague_LancesRoom_EventScript_SetEntryClosed playse SE_KI_GASYAN special DrawWholeMapView waitse @@ -49,18 +49,18 @@ EventScript_162987:: @ 8162987 releaseall end -EventScript_1629A8:: @ 81629A8 - setmetatile 5, 14, 669, 1 - setmetatile 6, 14, 670, 1 - setmetatile 7, 14, 671, 1 - setmetatile 5, 15, 677, 1 - setmetatile 6, 15, 678, 1 - setmetatile 7, 15, 679, 1 - setmetatile 6, 16, 785, 0 - setmetatile 7, 16, 785, 0 +PokemonLeague_LancesRoom_EventScript_SetEntryClosed:: @ 81629A8 + setmetatile 5, 14, METATILE_PokemonLeague_Entry_TopLeft_Closed, 1 + setmetatile 6, 14, METATILE_PokemonLeague_Entry_TopMid_Closed, 1 + setmetatile 7, 14, METATILE_PokemonLeague_Entry_TopRight_Closed, 1 + setmetatile 5, 15, METATILE_PokemonLeague_Entry_BottomLeft_Closed, 1 + setmetatile 6, 15, METATILE_PokemonLeague_Entry_BottomMid_Closed, 1 + setmetatile 7, 15, METATILE_PokemonLeague_Entry_BottomRight_Closed, 1 + setmetatile 6, 16, METATILE_PokemonLeague_Floor_ShadeFull_Lance, 0 + setmetatile 7, 16, METATILE_PokemonLeague_Floor_ShadeFull_Lance, 0 return -Movement_1629F1:: @ 81629F1 +PokemonLeague_LancesRoom_Movement_WalkThroughCorridor:: @ 81629F1 walk_up walk_up walk_left @@ -97,72 +97,70 @@ Movement_1629F1:: @ 81629F1 walk_up step_end -PokemonLeague_LancesRoom_EventScript_162A14:: @ 8162A14 +PokemonLeague_LancesRoom_EventScript_Lance:: @ 8162A14 lock faceplayer famechecker FAMECHECKER_LANCE, FCPICKSTATE_COLORED, UpdatePickStateFromSpecialVar8005 - goto_if_set FLAG_DEFEATED_LANCE, EventScript_162AA1 + goto_if_set FLAG_DEFEATED_LANCE, PokemonLeague_LancesRoom_EventScript_PostBattle famechecker FAMECHECKER_LANCE, 0 famechecker FAMECHECKER_LANCE, 1 - call_if_unset FLAG_SYS_GAME_CLEAR, EventScript_162A79 - call_if_set FLAG_SYS_GAME_CLEAR, EventScript_162A82 + call_if_unset FLAG_SYS_GAME_CLEAR, PokemonLeague_LancesRoom_EventScript_Intro + call_if_set FLAG_SYS_GAME_CLEAR, PokemonLeague_LancesRoom_EventScript_RematchIntro setflag FLAG_TEMP_3 setflag FLAG_TEMP_5 - call_if_unset FLAG_SYS_CAN_LINK_WITH_RS, EventScript_162A8B - call_if_set FLAG_SYS_CAN_LINK_WITH_RS, EventScript_162A96 + call_if_unset FLAG_SYS_CAN_LINK_WITH_RS, PokemonLeague_LancesRoom_EventScript_Battle + call_if_set FLAG_SYS_CAN_LINK_WITH_RS, PokemonLeague_LancesRoom_EventScript_Rematch clearflag FLAG_TEMP_5 - goto EventScript_162AAB - -EventScript_162A78:: @ 8162A78 + goto PokemonLeague_LancesRoom_EventScript_DefeatedLance end -EventScript_162A79:: @ 8162A79 - msgbox gUnknown_8178764 +PokemonLeague_LancesRoom_EventScript_Intro:: @ 8162A79 + msgbox PokemonLeague_LancesRoom_Text_Intro return -EventScript_162A82:: @ 8162A82 - msgbox gUnknown_81788BD +PokemonLeague_LancesRoom_EventScript_RematchIntro:: @ 8162A82 + msgbox PokemonLeague_LancesRoom_Text_RematchIntro return -EventScript_162A8B:: @ 8162A8B - trainerbattle_no_intro TRAINER_ELITE_FOUR_LANCE, Text_178A15 +PokemonLeague_LancesRoom_EventScript_Battle:: @ 8162A8B + trainerbattle_no_intro TRAINER_ELITE_FOUR_LANCE, PokemonLeague_LancesRoom_Text_Defeat return -EventScript_162A96:: @ 8162A96 - trainerbattle_no_intro TRAINER_ELITE_FOUR_LANCE_2, Text_178A15 +PokemonLeague_LancesRoom_EventScript_Rematch:: @ 8162A96 + trainerbattle_no_intro TRAINER_ELITE_FOUR_LANCE_2, PokemonLeague_LancesRoom_Text_Defeat return -EventScript_162AA1:: @ 8162AA1 - msgbox gUnknown_8178A52 +PokemonLeague_LancesRoom_EventScript_PostBattle:: @ 8162AA1 + msgbox PokemonLeague_LancesRoom_Text_PostBattle release end -EventScript_162AAB:: @ 8162AAB +PokemonLeague_LancesRoom_EventScript_DefeatedLance:: @ 8162AAB setvar VAR_0x8004, 0 - special Special_TryGainNewFanFromCounter + special Script_TryGainNewFanFromCounter setflag FLAG_DEFEATED_LANCE - call EventScript_1A7563 - msgbox gUnknown_8178A52 + call PokemonLeague_EventScript_OpenDoorLance + msgbox PokemonLeague_LancesRoom_Text_PostBattle closemessage release end -EventScript_162AC6:: @ 8162AC6 - applymovement 1, Movement_162ADC +PokemonLeague_LancesRoom_EventScript_LanceMoveOutOfWayLeft:: @ 8162AC6 + applymovement 1, PokemonLeague_LancesRoom_Movement_LanceMoveOutOfWayLeft waitmovement 0 return -EventScript_162AD1:: @ 8162AD1 - applymovement 1, Movement_162ADF +PokemonLeague_LancesRoom_EventScript_LanceMoveOutOfWayRight:: @ 8162AD1 + applymovement 1, PokemonLeague_LancesRoom_Movement_LanceMoveOutOfWayRight waitmovement 0 return -Movement_162ADC:: @ 8162ADC +PokemonLeague_LancesRoom_Movement_LanceMoveOutOfWayLeft:: @ 8162ADC walk_left walk_in_place_fastest_right step_end -Movement_162ADF:: @ 8162ADF +PokemonLeague_LancesRoom_Movement_LanceMoveOutOfWayRight:: @ 8162ADF walk_right walk_in_place_fastest_left step_end diff --git a/data/maps/PokemonLeague_LancesRoom/text.inc b/data/maps/PokemonLeague_LancesRoom/text.inc index 9565fd4d5..8c726875a 100644 --- a/data/maps/PokemonLeague_LancesRoom/text.inc +++ b/data/maps/PokemonLeague_LancesRoom/text.inc @@ -1,4 +1,4 @@ -gUnknown_8178764:: @ 8178764 +PokemonLeague_LancesRoom_Text_Intro:: @ 8178764 .string "Ah! I've heard about you,\n" .string "{PLAYER}!\p" .string "I lead the ELITE FOUR.\p" @@ -14,7 +14,7 @@ gUnknown_8178764:: @ 8178764 .string "Your LEAGUE challenge ends with\n" .string "me, {PLAYER}!{PLAY_BGM}{MUS_EXEYE}$" -gUnknown_81788BD:: @ 81788BD +PokemonLeague_LancesRoom_Text_RematchIntro:: @ 81788BD .string "Ah!\n" .string "So, you've returned, {PLAYER}!\p" .string "I lead the ELITE FOUR.\p" @@ -30,12 +30,12 @@ gUnknown_81788BD:: @ 81788BD .string "Your LEAGUE challenge ends with\n" .string "me, {PLAYER}!{PLAY_BGM}{MUS_EXEYE}$" -Text_178A15:: @ 8178A15 +PokemonLeague_LancesRoom_Text_Defeat:: @ 8178A15 .string "That's it!\p" .string "I hate to admit it, but you are a\n" .string "POKéMON master!$" -gUnknown_8178A52:: @ 8178A52 +PokemonLeague_LancesRoom_Text_PostBattle:: @ 8178A52 .string "I still can't believe my dragons\n" .string "lost to you, {PLAYER}.\p" .string "You are now the POKéMON LEAGUE\n" diff --git a/data/maps/PokemonLeague_LoreleisRoom/map.json b/data/maps/PokemonLeague_LoreleisRoom/map.json index 6801df803..a46b2b859 100644 --- a/data/maps/PokemonLeague_LoreleisRoom/map.json +++ b/data/maps/PokemonLeague_LoreleisRoom/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_POKEMON_LEAGUE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_4", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_LORELEI", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_LORELEI", + "graphics_id": "OBJ_EVENT_GFX_LORELEI", "x": 6, "y": 5, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "PokemonLeague_LoreleisRoom_EventScript_1625DC", + "script": "PokemonLeague_LoreleisRoom_EventScript_Lorelei", "flag": "0" } ], diff --git a/data/maps/PokemonLeague_LoreleisRoom/scripts.inc b/data/maps/PokemonLeague_LoreleisRoom/scripts.inc index e95ecfd98..422029153 100644 --- a/data/maps/PokemonLeague_LoreleisRoom/scripts.inc +++ b/data/maps/PokemonLeague_LoreleisRoom/scripts.inc @@ -8,21 +8,21 @@ PokemonLeague_LoreleisRoom_MapScripts:: @ 816256C PokemonLeague_LoreleisRoom_OnResume:: @ 8162586 setvar VAR_0x8004, 0 - call EventScript_1A75D5 + call PokemonLeague_EventScript_DoLightingEffect end PokemonLeague_LoreleisRoom_OnLoad:: @ 8162591 - call_if_set FLAG_DEFEATED_LORELEI, EventScript_1625AC + call_if_set FLAG_DEFEATED_LORELEI, PokemonLeague_LoreleisRoom_EventScript_SetDoorOpen compare VAR_MAP_SCENE_POKEMON_LEAGUE, 1 - call_if_eq EventScript_1625A6 + call_if_eq PokemonLeague_LoreleisRoom_EventScript_CloseEntry end -EventScript_1625A6:: @ 81625A6 - call EventScript_1A759C +PokemonLeague_LoreleisRoom_EventScript_CloseEntry:: @ 81625A6 + call PokemonLeague_EventScript_CloseEntry return -EventScript_1625AC:: @ 81625AC - call EventScript_1A7538 +PokemonLeague_LoreleisRoom_EventScript_SetDoorOpen:: @ 81625AC + call PokemonLeague_EventScript_SetDoorOpen return PokemonLeague_LoreleisRoom_OnTransition:: @ 81625B2 @@ -30,67 +30,65 @@ PokemonLeague_LoreleisRoom_OnTransition:: @ 81625B2 end PokemonLeague_LoreleisRoom_OnWarp:: @ 81625B6 - map_script_2 VAR_TEMP_1, 0, EventScript_1625C0 + map_script_2 VAR_TEMP_1, 0, PokemonLeague_LoreleisRoom_EventScript_TurnPlayerNorth .2byte 0 -EventScript_1625C0:: @ 81625C0 +PokemonLeague_LoreleisRoom_EventScript_TurnPlayerNorth:: @ 81625C0 turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH end PokemonLeague_LoreleisRoom_OnFrame:: @ 81625C5 - map_script_2 VAR_MAP_SCENE_POKEMON_LEAGUE, 0, EventScript_1625CF + map_script_2 VAR_MAP_SCENE_POKEMON_LEAGUE, 0, PokemonLeague_LoreleisRoom_EventScript_EnterRoom .2byte 0 -EventScript_1625CF:: @ 81625CF +PokemonLeague_LoreleisRoom_EventScript_EnterRoom:: @ 81625CF lockall - call EventScript_1A751F + call PokemonLeague_EventScript_EnterRoom setvar VAR_MAP_SCENE_POKEMON_LEAGUE, 1 releaseall end -PokemonLeague_LoreleisRoom_EventScript_1625DC:: @ 81625DC +PokemonLeague_LoreleisRoom_EventScript_Lorelei:: @ 81625DC lock faceplayer famechecker FAMECHECKER_LORELEI, FCPICKSTATE_COLORED, UpdatePickStateFromSpecialVar8005 - goto_if_set FLAG_DEFEATED_LORELEI, EventScript_162669 + goto_if_set FLAG_DEFEATED_LORELEI, PokemonLeague_LoreleisRoom_EventScript_PostBattle famechecker FAMECHECKER_LORELEI, 0 famechecker FAMECHECKER_LORELEI, 1 - call_if_unset FLAG_SYS_CAN_LINK_WITH_RS, EventScript_162641 - call_if_set FLAG_SYS_CAN_LINK_WITH_RS, EventScript_16264A + call_if_unset FLAG_SYS_CAN_LINK_WITH_RS, PokemonLeague_LoreleisRoom_EventScript_Intro + call_if_set FLAG_SYS_CAN_LINK_WITH_RS, PokemonLeague_LoreleisRoom_EventScript_RematchIntro setflag FLAG_TEMP_3 setflag FLAG_TEMP_5 - call_if_unset FLAG_SYS_CAN_LINK_WITH_RS, EventScript_162653 - call_if_set FLAG_SYS_CAN_LINK_WITH_RS, EventScript_16265E + call_if_unset FLAG_SYS_CAN_LINK_WITH_RS, PokemonLeague_LoreleisRoom_EventScript_Battle + call_if_set FLAG_SYS_CAN_LINK_WITH_RS, PokemonLeague_LoreleisRoom_EventScript_Rematch clearflag FLAG_TEMP_5 - goto EventScript_162673 - -EventScript_162640:: @ 8162640 + goto PokemonLeague_LoreleisRoom_EventScript_DefeatedLorelei end -EventScript_162641:: @ 8162641 - msgbox gUnknown_8177FA4 +PokemonLeague_LoreleisRoom_EventScript_Intro:: @ 8162641 + msgbox PokemonLeague_LoreleisRoom_Text_Intro return -EventScript_16264A:: @ 816264A - msgbox gUnknown_8178089 +PokemonLeague_LoreleisRoom_EventScript_RematchIntro:: @ 816264A + msgbox PokemonLeague_LoreleisRoom_Text_RematchIntro return -EventScript_162653:: @ 8162653 - trainerbattle_no_intro TRAINER_ELITE_FOUR_LORELEI, Text_178191 +PokemonLeague_LoreleisRoom_EventScript_Battle:: @ 8162653 + trainerbattle_no_intro TRAINER_ELITE_FOUR_LORELEI, PokemonLeague_LoreleisRoom_Text_Defeat return -EventScript_16265E:: @ 816265E - trainerbattle_no_intro TRAINER_ELITE_FOUR_LORELEI_2, Text_178191 +PokemonLeague_LoreleisRoom_EventScript_Rematch:: @ 816265E + trainerbattle_no_intro TRAINER_ELITE_FOUR_LORELEI_2, PokemonLeague_LoreleisRoom_Text_Defeat return -EventScript_162669:: @ 8162669 - msgbox gUnknown_81781B0 +PokemonLeague_LoreleisRoom_EventScript_PostBattle:: @ 8162669 + msgbox PokemonLeague_LoreleisRoom_Text_PostBattle release end -EventScript_162673:: @ 8162673 +PokemonLeague_LoreleisRoom_EventScript_DefeatedLorelei:: @ 8162673 setflag FLAG_DEFEATED_LORELEI - call EventScript_1A7506 - msgbox gUnknown_81781B0 + call PokemonLeague_EventScript_OpenDoor + msgbox PokemonLeague_LoreleisRoom_Text_PostBattle release end diff --git a/data/maps/PokemonLeague_LoreleisRoom/text.inc b/data/maps/PokemonLeague_LoreleisRoom/text.inc index 9619ab86b..55e67d764 100644 --- a/data/maps/PokemonLeague_LoreleisRoom/text.inc +++ b/data/maps/PokemonLeague_LoreleisRoom/text.inc @@ -1,4 +1,4 @@ -gUnknown_8177FA4:: @ 8177FA4 +PokemonLeague_LoreleisRoom_Text_Intro:: @ 8177FA4 .string "Welcome to the POKéMON LEAGUE.\p" .string "I am LORELEI of the ELITE FOUR.\p" .string "No one can best me when it comes\n" @@ -9,7 +9,7 @@ gUnknown_8177FA4:: @ 8177FA4 .string "Hahaha!\n" .string "Are you ready?{PLAY_BGM}{MUS_EXEYE}$" -gUnknown_8178089:: @ 8178089 +PokemonLeague_LoreleisRoom_Text_RematchIntro:: @ 8178089 .string "Welcome to the POKéMON LEAGUE.\p" .string "I, LORELEI of the ELITE FOUR,\n" .string "have returned!\p" @@ -22,10 +22,10 @@ gUnknown_8178089:: @ 8178089 .string "Hahaha!\n" .string "Are you ready?{PLAY_BGM}{MUS_EXEYE}$" -Text_178191:: @ 8178191 +PokemonLeague_LoreleisRoom_Text_Defeat:: @ 8178191 .string "…Things shouldn't be this way!$" -gUnknown_81781B0:: @ 81781B0 +PokemonLeague_LoreleisRoom_Text_PostBattle:: @ 81781B0 .string "You're better than I thought.\n" .string "Go on ahead.\p" .string "You only got a taste of the\n" diff --git a/data/maps/PokemonMansion_1F/map.json b/data/maps/PokemonMansion_1F/map.json index 652ffd20b..37594ad42 100644 --- a/data/maps/PokemonMansion_1F/map.json +++ b/data/maps/PokemonMansion_1F/map.json @@ -5,16 +5,18 @@ "music": "MUS_POKEYASHI", "region_map_section": "MAPSEC_POKEMON_MANSION", "requires_flash": false, - "weather": "WEATHER_CLOUDY", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_3", + "weather": "WEATHER_SHADE", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_2", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 22, "y": 24, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 29, "y": 32, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "FLAG_HIDE_POKEMON_MANSION_1F_CARBOS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 22, "y": 6, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "FLAG_HIDE_POKEMON_MANSION_1F_ESCAPE_ROPE" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 27, "y": 15, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "FLAG_HIDE_POKEMON_MANSION_1F_PROTEIN" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 8, "y": 8, "elevation": 3, @@ -154,10 +156,11 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_1", + "type": "sign", "x": 5, "y": 5, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "PokemonMansion_1F_EventScript_Statue" }, { diff --git a/data/maps/PokemonMansion_2F/map.json b/data/maps/PokemonMansion_2F/map.json index bc8f10848..1ae8106db 100644 --- a/data/maps/PokemonMansion_2F/map.json +++ b/data/maps/PokemonMansion_2F/map.json @@ -5,16 +5,18 @@ "music": "MUS_POKEYASHI", "region_map_section": "MAPSEC_POKEMON_MANSION", "requires_flash": false, - "weather": "WEATHER_CLOUDY", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_3", + "weather": "WEATHER_SHADE", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_2", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SUPER_NERD", + "graphics_id": "OBJ_EVENT_GFX_SUPER_NERD", "x": 5, "y": 23, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 36, "y": 8, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "FLAG_HIDE_POKEMON_MANSION_2F_CALCIUM" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 18, "y": 23, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "FLAG_HIDE_POKEMON_MANSION_2F_ZINC" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 35, "y": 17, "elevation": 3, @@ -106,24 +108,27 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_1", + "type": "sign", "x": 2, "y": 16, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "PokemonMansion_2F_EventScript_Statue" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 6, "y": 31, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "PokemonMansion_2F_EventScript_DiaryJuly10th" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 25, "y": 4, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "PokemonMansion_2F_EventScript_DiaryJuly5th" } ] diff --git a/data/maps/PokemonMansion_3F/map.json b/data/maps/PokemonMansion_3F/map.json index 1e4af29e2..5d6a8c3a1 100644 --- a/data/maps/PokemonMansion_3F/map.json +++ b/data/maps/PokemonMansion_3F/map.json @@ -5,16 +5,18 @@ "music": "MUS_POKEYASHI", "region_map_section": "MAPSEC_POKEMON_MANSION", "requires_flash": false, - "weather": "WEATHER_CLOUDY", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_3", + "weather": "WEATHER_SHADE", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_2", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SUPER_NERD", + "graphics_id": "OBJ_EVENT_GFX_SUPER_NERD", "x": 7, "y": 13, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 22, "y": 13, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 9, "y": 19, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "FLAG_HIDE_POKEMON_MANSION_3F_MAX_POTION" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 32, "y": 6, "elevation": 3, @@ -127,17 +129,19 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 16, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "PokemonMansion_3F_EventScript_DiaryFeb6th" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 12, "y": 5, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "PokemonMansion_3F_EventScript_Statue" }, { diff --git a/data/maps/PokemonMansion_B1F/map.json b/data/maps/PokemonMansion_B1F/map.json index 458740163..8e281f772 100644 --- a/data/maps/PokemonMansion_B1F/map.json +++ b/data/maps/PokemonMansion_B1F/map.json @@ -5,16 +5,18 @@ "music": "MUS_POKEYASHI", "region_map_section": "MAPSEC_POKEMON_MANSION", "requires_flash": false, - "weather": "WEATHER_CLOUDY", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_3", + "weather": "WEATHER_SHADE", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_2", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 6, "y": 21, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "FLAG_HIDE_POKEMON_MANSION_B1F_TM22" }, { - "graphics_id": "OBJECT_EVENT_GFX_SUPER_NERD", + "graphics_id": "OBJ_EVENT_GFX_SUPER_NERD", "x": 20, "y": 25, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 34, "y": 13, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 23, "y": 4, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "FLAG_HIDE_POKEMON_MANSION_B1F_TM14" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 2, "y": 29, "elevation": 3, @@ -79,7 +81,7 @@ "flag": "FLAG_HIDE_POKEMON_MANSION_B1F_FULL_RESTORE" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 5, "y": 7, "elevation": 3, @@ -104,24 +106,27 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 21, "y": 27, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "PokemonMansion_B1F_EventScript_DiarySep1st" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 24, "y": 29, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "PokemonMansion_B1F_EventScript_Statue" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 27, "y": 5, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "PokemonMansion_B1F_EventScript_Statue" }, { diff --git a/data/maps/PokemonTower_1F/map.json b/data/maps/PokemonTower_1F/map.json index 8824c0f00..1630baa5a 100644 --- a/data/maps/PokemonTower_1F/map.json +++ b/data/maps/PokemonTower_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_POKEMON_TOWER", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 5, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_2", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": false, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_1", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_F", + "graphics_id": "OBJ_EVENT_GFX_WORKER_F", "x": 18, "y": 13, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHANNELER", + "graphics_id": "OBJ_EVENT_GFX_CHANNELER", "x": 18, "y": 7, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 15, "y": 6, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_3", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_3", "x": 7, "y": 8, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 8, "y": 12, "elevation": 3, diff --git a/data/maps/PokemonTower_2F/map.json b/data/maps/PokemonTower_2F/map.json index d25fb4c30..22242eeb3 100644 --- a/data/maps/PokemonTower_2F/map.json +++ b/data/maps/PokemonTower_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_POKEMON_TOWER", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 5, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_2", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": false, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_1", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BLUE", + "graphics_id": "OBJ_EVENT_GFX_BLUE", "x": 16, "y": 5, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "FLAG_HIDE_TOWER_RIVAL" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHANNELER", + "graphics_id": "OBJ_EVENT_GFX_CHANNELER", "x": 3, "y": 7, "elevation": 0, diff --git a/data/maps/PokemonTower_3F/map.json b/data/maps/PokemonTower_3F/map.json index 0952ea0e2..1f06677f1 100644 --- a/data/maps/PokemonTower_3F/map.json +++ b/data/maps/PokemonTower_3F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_POKEMON_TOWER", "requires_flash": false, "weather": "WEATHER_FOG_HORIZONTAL", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 5, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_2", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": false, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_1", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CHANNELER", + "graphics_id": "OBJ_EVENT_GFX_CHANNELER", "x": 10, "y": 14, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHANNELER", + "graphics_id": "OBJ_EVENT_GFX_CHANNELER", "x": 9, "y": 9, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHANNELER", + "graphics_id": "OBJ_EVENT_GFX_CHANNELER", "x": 12, "y": 4, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 13, "y": 2, "elevation": 3, diff --git a/data/maps/PokemonTower_4F/map.json b/data/maps/PokemonTower_4F/map.json index 4e0a22b9f..d6792d545 100644 --- a/data/maps/PokemonTower_4F/map.json +++ b/data/maps/PokemonTower_4F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_POKEMON_TOWER", "requires_flash": false, "weather": "WEATHER_FOG_HORIZONTAL", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 5, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_2", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": false, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_1", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CHANNELER", + "graphics_id": "OBJ_EVENT_GFX_CHANNELER", "x": 17, "y": 7, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHANNELER", + "graphics_id": "OBJ_EVENT_GFX_CHANNELER", "x": 15, "y": 13, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHANNELER", + "graphics_id": "OBJ_EVENT_GFX_CHANNELER", "x": 4, "y": 12, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 12, "y": 11, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "FLAG_HIDE_POKEMON_TOWER_4F_ELIXIR" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 8, "y": 11, "elevation": 3, @@ -79,7 +81,7 @@ "flag": "FLAG_HIDE_POKEMON_TOWER_4F_AWAKENING" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 11, "y": 16, "elevation": 3, diff --git a/data/maps/PokemonTower_5F/map.json b/data/maps/PokemonTower_5F/map.json index 08166799d..d421948e2 100644 --- a/data/maps/PokemonTower_5F/map.json +++ b/data/maps/PokemonTower_5F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_POKEMON_TOWER", "requires_flash": false, "weather": "WEATHER_FOG_HORIZONTAL", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 5, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_2", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": false, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_1", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CHANNELER", + "graphics_id": "OBJ_EVENT_GFX_CHANNELER", "x": 11, "y": 4, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHANNELER", + "graphics_id": "OBJ_EVENT_GFX_CHANNELER", "x": 19, "y": 7, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHANNELER", + "graphics_id": "OBJ_EVENT_GFX_CHANNELER", "x": 7, "y": 12, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHANNELER", + "graphics_id": "OBJ_EVENT_GFX_CHANNELER", "x": 11, "y": 16, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHANNELER", + "graphics_id": "OBJ_EVENT_GFX_CHANNELER", "x": 12, "y": 8, "elevation": 3, @@ -79,7 +81,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 6, "y": 16, "elevation": 3, @@ -92,7 +94,7 @@ "flag": "FLAG_HIDE_POKEMON_TOWER_5F_NUGGET" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 11, "y": 9, "elevation": 3, diff --git a/data/maps/PokemonTower_6F/map.json b/data/maps/PokemonTower_6F/map.json index 9a2ff3756..ef6aa1f39 100644 --- a/data/maps/PokemonTower_6F/map.json +++ b/data/maps/PokemonTower_6F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_POKEMON_TOWER", "requires_flash": false, "weather": "WEATHER_FOG_HORIZONTAL", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 5, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_2", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": false, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_1", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CHANNELER", + "graphics_id": "OBJ_EVENT_GFX_CHANNELER", "x": 13, "y": 10, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHANNELER", + "graphics_id": "OBJ_EVENT_GFX_CHANNELER", "x": 18, "y": 6, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHANNELER", + "graphics_id": "OBJ_EVENT_GFX_CHANNELER", "x": 9, "y": 6, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 5, "y": 15, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "FLAG_HIDE_POKEMON_TOWER_6F_RARE_CANDY" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 15, "y": 15, "elevation": 3, diff --git a/data/maps/PokemonTower_6F/scripts.inc b/data/maps/PokemonTower_6F/scripts.inc index 3caf16bfe..d5236139c 100644 --- a/data/maps/PokemonTower_6F/scripts.inc +++ b/data/maps/PokemonTower_6F/scripts.inc @@ -7,7 +7,7 @@ PokemonTower_6F_EventScript_MarowakGhost:: @ 81634B8 msgbox PokemonTower_6F_Text_BeGoneIntruders goto_if_questlog EventScript_ReleaseEnd setwildbattle SPECIES_MAROWAK, 30, ITEM_NONE - special ScrSpecial_StartMarowakBattle + special StartMarowakBattle waitstate special sub_8112364 compare VAR_RESULT, FALSE @ Set by CB2_EndMarowakBattle diff --git a/data/maps/PokemonTower_7F/map.json b/data/maps/PokemonTower_7F/map.json index 9524a236b..eb5d6675a 100644 --- a/data/maps/PokemonTower_7F/map.json +++ b/data/maps/PokemonTower_7F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_POKEMON_TOWER", "requires_flash": false, "weather": "WEATHER_FOG_HORIZONTAL", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 5, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_2", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": false, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_1", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_MR_FUJI", + "graphics_id": "OBJ_EVENT_GFX_MR_FUJI", "x": 11, "y": 4, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "FLAG_HIDE_TOWER_FUJI" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 9, "y": 10, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "FLAG_HIDE_TOWER_ROCKET_1" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 13, "y": 8, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "FLAG_HIDE_TOWER_ROCKET_2" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 9, "y": 6, "elevation": 3, diff --git a/data/maps/PowerPlant/map.json b/data/maps/PowerPlant/map.json index d7baadb41..70004aaa3 100644 --- a/data/maps/PowerPlant/map.json +++ b/data/maps/PowerPlant/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_POWER_PLANT", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_3", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_2", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 7, "y": 27, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "FLAG_HIDE_POWER_PLANT_MAX_POTION" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 40, "y": 22, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "FLAG_HIDE_POWER_PLANT_TM17" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 46, "y": 37, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "FLAG_HIDE_POWER_PLANT_TM25" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 45, "y": 4, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "FLAG_HIDE_POWER_PLANT_THUNDER_STONE" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 26, "y": 22, "elevation": 3, @@ -79,7 +81,7 @@ "flag": "FLAG_HIDE_POWER_PLANT_ELIXIR" }, { - "graphics_id": "OBJECT_EVENT_GFX_ZAPDOS", + "graphics_id": "OBJ_EVENT_GFX_ZAPDOS", "x": 5, "y": 11, "elevation": 3, @@ -92,7 +94,7 @@ "flag": "FLAG_HIDE_ZAPDOS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 36, "y": 5, "elevation": 3, @@ -105,7 +107,7 @@ "flag": "FLAG_HIDE_POWER_PLANT_ELECTRODE_2" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 30, "y": 38, "elevation": 3, diff --git a/data/maps/PowerPlant/scripts.inc b/data/maps/PowerPlant/scripts.inc index 964a74e02..3877d5f57 100644 --- a/data/maps/PowerPlant/scripts.inc +++ b/data/maps/PowerPlant/scripts.inc @@ -8,7 +8,7 @@ PowerPlant_OnResume:: @ 816376F end PowerPlant_EventScript_TryRemoveStaticMon:: @ 8163779 - specialvar VAR_RESULT, Special_GetBattleOutcome + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne EventScript_Return removeobject VAR_LAST_TALKED @@ -48,10 +48,10 @@ PowerPlant_EventScript_Zapdos:: @ 81637B8 playbgm MUS_EXEYE, 0 waitbuttonpress setflag FLAG_SYS_SPECIAL_WILD_BATTLE - special Special_StartLegendaryBattle + special StartLegendaryBattle waitstate clearflag FLAG_SYS_SPECIAL_WILD_BATTLE - specialvar VAR_RESULT, Special_GetBattleOutcome + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, B_OUTCOME_WON goto_if_eq PowerPlant_EventScript_DefeatedZapdos compare VAR_RESULT, B_OUTCOME_RAN @@ -85,7 +85,7 @@ PowerPlant_EventScript_Electrode1:: @ 816382F dowildbattle clearflag FLAG_SYS_SPECIAL_WILD_BATTLE special sub_8112364 - specialvar VAR_RESULT, Special_GetBattleOutcome + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, B_OUTCOME_WON goto_if_eq PowerPlant_EventScript_FoughtElectrode1 compare VAR_RESULT, B_OUTCOME_RAN @@ -114,7 +114,7 @@ PowerPlant_EventScript_Electrode2:: @ 816388D dowildbattle clearflag FLAG_SYS_SPECIAL_WILD_BATTLE special sub_8112364 - specialvar VAR_RESULT, Special_GetBattleOutcome + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, B_OUTCOME_WON goto_if_eq PowerPlant_EventScript_FoughtElectrode2 compare VAR_RESULT, B_OUTCOME_RAN diff --git a/data/maps/UnknownMap_03_50/map.json b/data/maps/Prototype_SeviiIsle_6/map.json similarity index 51% rename from data/maps/UnknownMap_03_50/map.json rename to data/maps/Prototype_SeviiIsle_6/map.json index 25d12e137..761c204ce 100644 --- a/data/maps/UnknownMap_03_50/map.json +++ b/data/maps/Prototype_SeviiIsle_6/map.json @@ -1,16 +1,18 @@ { - "id": "MAP_UNKNOWN_MAP_03_50", - "name": "UnknownMap_03_50", - "layout": "LAYOUT_UNKNOWN_MAP_03_50", + "id": "MAP_PROTOTYPE_SEVII_ISLE_6", + "name": "Prototype_SeviiIsle_6", + "layout": "LAYOUT_PROTOTYPE_SEVII_ISLE_6", "music": "MUS_NANASHIMA", "region_map_section": "MAPSEC_SEVII_ISLE_6", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_THREE_ISLAND", diff --git a/data/maps/Prototype_SeviiIsle_6/scripts.inc b/data/maps/Prototype_SeviiIsle_6/scripts.inc new file mode 100644 index 000000000..459729f14 --- /dev/null +++ b/data/maps/Prototype_SeviiIsle_6/scripts.inc @@ -0,0 +1,2 @@ +Prototype_SeviiIsle_6_MapScripts:: @ 81687E0 + .byte 0 diff --git a/data/maps/UnknownMap_03_51/map.json b/data/maps/Prototype_SeviiIsle_7/map.json similarity index 51% rename from data/maps/UnknownMap_03_51/map.json rename to data/maps/Prototype_SeviiIsle_7/map.json index 25c135de4..856883c02 100644 --- a/data/maps/UnknownMap_03_51/map.json +++ b/data/maps/Prototype_SeviiIsle_7/map.json @@ -1,16 +1,18 @@ { - "id": "MAP_UNKNOWN_MAP_03_51", - "name": "UnknownMap_03_51", - "layout": "LAYOUT_UNKNOWN_MAP_03_51", + "id": "MAP_PROTOTYPE_SEVII_ISLE_7", + "name": "Prototype_SeviiIsle_7", + "layout": "LAYOUT_PROTOTYPE_SEVII_ISLE_7", "music": "MUS_NANASHIMA", "region_map_section": "MAPSEC_SEVII_ISLE_7", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_THREE_ISLAND", diff --git a/data/maps/Prototype_SeviiIsle_7/scripts.inc b/data/maps/Prototype_SeviiIsle_7/scripts.inc new file mode 100644 index 000000000..b7eaa6bd5 --- /dev/null +++ b/data/maps/Prototype_SeviiIsle_7/scripts.inc @@ -0,0 +1,2 @@ +Prototype_SeviiIsle_7_MapScripts:: @ 81687E1 + .byte 0 diff --git a/data/maps/Prototype_SeviiIsle_8/map.json b/data/maps/Prototype_SeviiIsle_8/map.json new file mode 100644 index 000000000..dd05d6d35 --- /dev/null +++ b/data/maps/Prototype_SeviiIsle_8/map.json @@ -0,0 +1,21 @@ +{ + "id": "MAP_PROTOTYPE_SEVII_ISLE_8", + "name": "Prototype_SeviiIsle_8", + "layout": "LAYOUT_PROTOTYPE_SEVII_ISLE_8", + "music": "MUS_NANASHIMA", + "region_map_section": "MAPSEC_SEVII_ISLE_8", + "requires_flash": false, + "weather": "WEATHER_SUNNY", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", + "connections": null, + "object_events": [], + "warp_events": [], + "coord_events": [], + "bg_events": [] +} diff --git a/data/maps/Prototype_SeviiIsle_8/scripts.inc b/data/maps/Prototype_SeviiIsle_8/scripts.inc new file mode 100644 index 000000000..411a66513 --- /dev/null +++ b/data/maps/Prototype_SeviiIsle_8/scripts.inc @@ -0,0 +1,2 @@ +Prototype_SeviiIsle_8_MapScripts:: @ 81687E2 + .byte 0 diff --git a/data/maps/Prototype_SeviiIsle_9/map.json b/data/maps/Prototype_SeviiIsle_9/map.json new file mode 100644 index 000000000..b03f3866c --- /dev/null +++ b/data/maps/Prototype_SeviiIsle_9/map.json @@ -0,0 +1,21 @@ +{ + "id": "MAP_PROTOTYPE_SEVII_ISLE_9", + "name": "Prototype_SeviiIsle_9", + "layout": "LAYOUT_PROTOTYPE_SEVII_ISLE_9", + "music": "MUS_NANASHIMA", + "region_map_section": "MAPSEC_SEVII_ISLE_9", + "requires_flash": false, + "weather": "WEATHER_SUNNY", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", + "connections": null, + "object_events": [], + "warp_events": [], + "coord_events": [], + "bg_events": [] +} diff --git a/data/maps/Prototype_SeviiIsle_9/scripts.inc b/data/maps/Prototype_SeviiIsle_9/scripts.inc new file mode 100644 index 000000000..00b06c7f0 --- /dev/null +++ b/data/maps/Prototype_SeviiIsle_9/scripts.inc @@ -0,0 +1,2 @@ +Prototype_SeviiIsle_9_MapScripts:: @ 81687E3 + .byte 0 diff --git a/data/maps/RecordCenter/map.json b/data/maps/RecordCenter/map.json index 8587ec56a..b57d12d1c 100644 --- a/data/maps/RecordCenter/map.json +++ b/data/maps/RecordCenter/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SPECIAL_AREA", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_UNION_ROOM_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_UNION_ROOM_RECEPTIONIST", "x": 10, "y": 5, "elevation": 0, diff --git a/data/maps/RockTunnel_1F/map.json b/data/maps/RockTunnel_1F/map.json index c365ad26e..32938e61c 100644 --- a/data/maps/RockTunnel_1F/map.json +++ b/data/maps/RockTunnel_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROCK_TUNNEL", "requires_flash": true, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 26, "y": 28, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "RockTunnel_1F_EventScript_162E73", + "script": "RockTunnel_1F_EventScript_Dana", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 39, "y": 27, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "RockTunnel_1F_EventScript_162E5C", + "script": "RockTunnel_1F_EventScript_Ariana", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 45, "y": 24, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "RockTunnel_1F_EventScript_162E45", + "script": "RockTunnel_1F_EventScript_Leah", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 20, "y": 17, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "RockTunnel_1F_EventScript_162E17", + "script": "RockTunnel_1F_EventScript_Lucas", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 5, "y": 20, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "RockTunnel_1F_EventScript_162E00", + "script": "RockTunnel_1F_EventScript_Oliver", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 7, "y": 5, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "RockTunnel_1F_EventScript_162DE9", + "script": "RockTunnel_1F_EventScript_Lenny", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SUPER_NERD", + "graphics_id": "OBJ_EVENT_GFX_SUPER_NERD", "x": 27, "y": 10, "elevation": 3, @@ -101,11 +103,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "RockTunnel_1F_EventScript_162E2E", + "script": "RockTunnel_1F_EventScript_Ashton", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 37, "y": 5, "elevation": 3, @@ -118,7 +120,7 @@ "flag": "FLAG_HIDE_ROCK_TUNNEL_1F_REPEL" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 33, "y": 22, "elevation": 3, @@ -131,7 +133,7 @@ "flag": "FLAG_HIDE_ROCK_TUNNEL_1F_PEARL" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 22, "y": 22, "elevation": 3, @@ -191,11 +193,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 14, "y": 33, "elevation": 3, - "script": "RockTunnel_1F_EventScript_162DE0" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "RockTunnel_1F_EventScript_RouteSign" } ] } diff --git a/data/maps/RockTunnel_1F/scripts.inc b/data/maps/RockTunnel_1F/scripts.inc index 49daa21a7..f18e0cd3e 100644 --- a/data/maps/RockTunnel_1F/scripts.inc +++ b/data/maps/RockTunnel_1F/scripts.inc @@ -6,41 +6,41 @@ RockTunnel_1F_OnTransition:: @ 8162DDC setworldmapflag FLAG_WORLD_MAP_ROCK_TUNNEL_1F end -RockTunnel_1F_EventScript_162DE0:: @ 8162DE0 - msgbox gUnknown_817962D, MSGBOX_SIGN +RockTunnel_1F_EventScript_RouteSign:: @ 8162DE0 + msgbox RockTunnel_1F_Text_RouteSign, MSGBOX_SIGN end -RockTunnel_1F_EventScript_162DE9:: @ 8162DE9 - trainerbattle_single TRAINER_HIKER_LENNY, Text_179366, Text_179388 - msgbox gUnknown_8179396, MSGBOX_AUTOCLOSE +RockTunnel_1F_EventScript_Lenny:: @ 8162DE9 + trainerbattle_single TRAINER_HIKER_LENNY, RockTunnel_1F_Text_LennyIntro, RockTunnel_1F_Text_LennyDefeat + msgbox RockTunnel_1F_Text_LennyPostBattle, MSGBOX_AUTOCLOSE end -RockTunnel_1F_EventScript_162E00:: @ 8162E00 - trainerbattle_single TRAINER_HIKER_OLIVER, Text_1793F1, Text_17940E - msgbox gUnknown_817943A, MSGBOX_AUTOCLOSE +RockTunnel_1F_EventScript_Oliver:: @ 8162E00 + trainerbattle_single TRAINER_HIKER_OLIVER, RockTunnel_1F_Text_OliverIntro, RockTunnel_1F_Text_OliverDefeat + msgbox RockTunnel_1F_Text_OliverPostBattle, MSGBOX_AUTOCLOSE end -RockTunnel_1F_EventScript_162E17:: @ 8162E17 - trainerbattle_single TRAINER_HIKER_LUCAS, Text_17947B, Text_1794AC - msgbox gUnknown_81794B4, MSGBOX_AUTOCLOSE +RockTunnel_1F_EventScript_Lucas:: @ 8162E17 + trainerbattle_single TRAINER_HIKER_LUCAS, RockTunnel_1F_Text_LucasIntro, RockTunnel_1F_Text_LucasDefeat + msgbox RockTunnel_1F_Text_LucasPostBattle, MSGBOX_AUTOCLOSE end -RockTunnel_1F_EventScript_162E2E:: @ 8162E2E - trainerbattle_single TRAINER_POKEMANIAC_ASHTON, Text_1794D4, Text_1794EE - msgbox gUnknown_81794F9, MSGBOX_AUTOCLOSE +RockTunnel_1F_EventScript_Ashton:: @ 8162E2E + trainerbattle_single TRAINER_POKEMANIAC_ASHTON, RockTunnel_1F_Text_AshtonIntro, RockTunnel_1F_Text_AshtonDefeat + msgbox RockTunnel_1F_Text_AshtonPostBattle, MSGBOX_AUTOCLOSE end -RockTunnel_1F_EventScript_162E45:: @ 8162E45 - trainerbattle_single TRAINER_PICNICKER_LEAH, Text_17951C, Text_179547 - msgbox gUnknown_8179558, MSGBOX_AUTOCLOSE +RockTunnel_1F_EventScript_Leah:: @ 8162E45 + trainerbattle_single TRAINER_PICNICKER_LEAH, RockTunnel_1F_Text_LeahIntro, RockTunnel_1F_Text_LeahDefeat + msgbox RockTunnel_1F_Text_LeahPostBattle, MSGBOX_AUTOCLOSE end -RockTunnel_1F_EventScript_162E5C:: @ 8162E5C - trainerbattle_single TRAINER_PICNICKER_ARIANA, Text_1795E5, Text_179604 - msgbox gUnknown_8179613, MSGBOX_AUTOCLOSE +RockTunnel_1F_EventScript_Ariana:: @ 8162E5C + trainerbattle_single TRAINER_PICNICKER_ARIANA, RockTunnel_1F_Text_ArianaIntro, RockTunnel_1F_Text_ArianaDefeat + msgbox RockTunnel_1F_Text_ArianaPostBattle, MSGBOX_AUTOCLOSE end -RockTunnel_1F_EventScript_162E73:: @ 8162E73 - trainerbattle_single TRAINER_PICNICKER_DANA, Text_179577, Text_1795A1 - msgbox gUnknown_81795B5, MSGBOX_AUTOCLOSE +RockTunnel_1F_EventScript_Dana:: @ 8162E73 + trainerbattle_single TRAINER_PICNICKER_DANA, RockTunnel_1F_Text_DanaIntro, RockTunnel_1F_Text_DanaDefeat + msgbox RockTunnel_1F_Text_DanaPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/RockTunnel_1F/text.inc b/data/maps/RockTunnel_1F/text.inc index 56bc4ecbe..162e20f7d 100644 --- a/data/maps/RockTunnel_1F/text.inc +++ b/data/maps/RockTunnel_1F/text.inc @@ -1,83 +1,83 @@ -Text_179366:: @ 8179366 +RockTunnel_1F_Text_LennyIntro:: @ 8179366 .string "This tunnel goes a long way, kid!$" -Text_179388:: @ 8179388 +RockTunnel_1F_Text_LennyDefeat:: @ 8179388 .string "Doh!\n" .string "You win!$" -gUnknown_8179396:: @ 8179396 +RockTunnel_1F_Text_LennyPostBattle:: @ 8179396 .string "Watch for ONIX.\n" .string "They appear only occasionally.\p" .string "High-level ones can put the\n" .string "squeeze on you!$" -Text_1793F1:: @ 81793F1 +RockTunnel_1F_Text_OliverIntro:: @ 81793F1 .string "Hmm.\n" .string "Maybe I'm lost in here…$" -Text_17940E:: @ 817940E +RockTunnel_1F_Text_OliverDefeat:: @ 817940E .string "Ease up!\n" .string "What am I doing?\l" .string "Which way is out?$" -gUnknown_817943A:: @ 817943A +RockTunnel_1F_Text_OliverPostBattle:: @ 817943A .string "That sleeping POKéMON on ROUTE 12\n" .string "forced me to take this detour.$" -Text_17947B:: @ 817947B +RockTunnel_1F_Text_LucasIntro:: @ 817947B .string "Outsiders like you need to show me\n" .string "some respect!$" -Text_1794AC:: @ 81794AC +RockTunnel_1F_Text_LucasDefeat:: @ 81794AC .string "I give!$" -gUnknown_81794B4:: @ 81794B4 +RockTunnel_1F_Text_LucasPostBattle:: @ 81794B4 .string "You're talented enough to hike!$" -Text_1794D4:: @ 81794D4 +RockTunnel_1F_Text_AshtonIntro:: @ 81794D4 .string "POKéMON fight!\n" .string "Ready, go!$" -Text_1794EE:: @ 81794EE +RockTunnel_1F_Text_AshtonDefeat:: @ 81794EE .string "Game over!$" -gUnknown_81794F9:: @ 81794F9 +RockTunnel_1F_Text_AshtonPostBattle:: @ 81794F9 .string "Oh well, I'll get a ZUBAT as I go!$" -Text_17951C:: @ 817951C +RockTunnel_1F_Text_LeahIntro:: @ 817951C .string "Eek!\p" .string "Don't try anything funny in the\n" .string "dark!$" -Text_179547:: @ 8179547 +RockTunnel_1F_Text_LeahDefeat:: @ 8179547 .string "It was too dark…$" -gUnknown_8179558:: @ 8179558 +RockTunnel_1F_Text_LeahPostBattle:: @ 8179558 .string "I saw a MACHOP in this tunnel.$" -Text_179577:: @ 8179577 +RockTunnel_1F_Text_DanaIntro:: @ 8179577 .string "I came this far looking for wild\n" .string "POKéMON.$" -Text_1795A1:: @ 81795A1 +RockTunnel_1F_Text_DanaDefeat:: @ 81795A1 .string "I'm out of POKéMON!$" -gUnknown_81795B5:: @ 81795B5 +RockTunnel_1F_Text_DanaPostBattle:: @ 81795B5 .string "You looked cute and harmless.\n" .string "Was I ever wrong!$" -Text_1795E5:: @ 81795E5 +RockTunnel_1F_Text_ArianaIntro:: @ 81795E5 .string "You have POKéMON!\n" .string "Let's start!$" -Text_179604:: @ 8179604 +RockTunnel_1F_Text_ArianaDefeat:: @ 8179604 .string "You play hard!$" -gUnknown_8179613:: @ 8179613 +RockTunnel_1F_Text_ArianaPostBattle:: @ 8179613 .string "Whew!\n" .string "I'm all sweaty now.$" -gUnknown_817962D:: @ 817962D +RockTunnel_1F_Text_RouteSign:: @ 817962D .string "ROCK TUNNEL\n" .string "CERULEAN CITY - LAVENDER TOWN$" diff --git a/data/maps/RockTunnel_B1F/map.json b/data/maps/RockTunnel_B1F/map.json index bbd3f59a7..89ec864cd 100644 --- a/data/maps/RockTunnel_B1F/map.json +++ b/data/maps/RockTunnel_B1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROCK_TUNNEL", "requires_flash": true, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SUPER_NERD", + "graphics_id": "OBJ_EVENT_GFX_SUPER_NERD", "x": 2, "y": 6, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "RockTunnel_B1F_EventScript_162EFE", + "script": "RockTunnel_B1F_EventScript_Cooper", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 5, "y": 11, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "RockTunnel_B1F_EventScript_162EB9", + "script": "RockTunnel_B1F_EventScript_Dudley", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 11, "y": 15, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "RockTunnel_B1F_EventScript_162E8B", + "script": "RockTunnel_B1F_EventScript_Sofia", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 36, "y": 11, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "RockTunnel_B1F_EventScript_162ED0", + "script": "RockTunnel_B1F_EventScript_Allen", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 41, "y": 5, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "RockTunnel_B1F_EventScript_162EE7", + "script": "RockTunnel_B1F_EventScript_Eric", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SUPER_NERD", + "graphics_id": "OBJ_EVENT_GFX_SUPER_NERD", "x": 23, "y": 23, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "RockTunnel_B1F_EventScript_162F15", + "script": "RockTunnel_B1F_EventScript_Steve", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 15, "y": 33, "elevation": 3, @@ -101,11 +103,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "RockTunnel_B1F_EventScript_162EA2", + "script": "RockTunnel_B1F_EventScript_Martha", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SUPER_NERD", + "graphics_id": "OBJ_EVENT_GFX_SUPER_NERD", "x": 29, "y": 35, "elevation": 3, @@ -114,11 +116,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "RockTunnel_B1F_EventScript_162F2C", + "script": "RockTunnel_B1F_EventScript_Winston", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 2, "y": 29, "elevation": 3, @@ -131,7 +133,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 2, "y": 37, "elevation": 3, @@ -144,7 +146,7 @@ "flag": "FLAG_HIDE_ROCK_TUNNEL_B1F_REVIVE" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 9, "y": 2, "elevation": 3, @@ -157,7 +159,7 @@ "flag": "FLAG_HIDE_ROCK_TUNNEL_B1F_MAX_ETHER" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 1, "y": 20, "elevation": 3, @@ -166,11 +168,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 1, "y": 22, "elevation": 3, @@ -179,11 +181,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_13" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 4, "y": 23, "elevation": 3, @@ -192,11 +194,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_14" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 2, "y": 23, "elevation": 3, @@ -205,11 +207,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 39, "y": 26, "elevation": 3, @@ -218,11 +220,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_16" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 42, "y": 26, "elevation": 3, @@ -231,11 +233,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_17" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 43, "y": 28, "elevation": 3, @@ -244,11 +246,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_18" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 45, "y": 30, "elevation": 3, @@ -257,11 +259,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_19" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 45, "y": 33, "elevation": 3, @@ -270,11 +272,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1A" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 25, "y": 1, "elevation": 3, @@ -283,11 +285,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1B" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 27, "y": 4, "elevation": 3, @@ -296,11 +298,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1C" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 23, "y": 2, "elevation": 3, @@ -309,11 +311,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1D" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 26, "y": 2, "elevation": 3, @@ -322,11 +324,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1E" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 24, "y": 7, "elevation": 3, @@ -335,11 +337,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1F" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 27, "y": 6, "elevation": 3, @@ -348,7 +350,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_11" } ], diff --git a/data/maps/RockTunnel_B1F/scripts.inc b/data/maps/RockTunnel_B1F/scripts.inc index e2c34b53e..54d0e8153 100644 --- a/data/maps/RockTunnel_B1F/scripts.inc +++ b/data/maps/RockTunnel_B1F/scripts.inc @@ -1,42 +1,42 @@ RockTunnel_B1F_MapScripts:: @ 8162E8A .byte 0 -RockTunnel_B1F_EventScript_162E8B:: @ 8162E8B - trainerbattle_single TRAINER_PICNICKER_SOFIA, Text_179657, Text_1796B9 - msgbox gUnknown_81796CE, MSGBOX_AUTOCLOSE +RockTunnel_B1F_EventScript_Sofia:: @ 8162E8B + trainerbattle_single TRAINER_PICNICKER_SOFIA, RockTunnel_B1F_Text_SofiaIntro, RockTunnel_B1F_Text_SofiaDefeat + msgbox RockTunnel_B1F_Text_SofiaPostBattle, MSGBOX_AUTOCLOSE end -RockTunnel_B1F_EventScript_162EA2:: @ 8162EA2 - trainerbattle_single TRAINER_PICNICKER_MARTHA, Text_1798AD, Text_1798DD - msgbox gUnknown_81798E9, MSGBOX_AUTOCLOSE +RockTunnel_B1F_EventScript_Martha:: @ 8162EA2 + trainerbattle_single TRAINER_PICNICKER_MARTHA, RockTunnel_B1F_Text_MarthaIntro, RockTunnel_B1F_Text_MarthaDefeat + msgbox RockTunnel_B1F_Text_MarthaPostBattle, MSGBOX_AUTOCLOSE end -RockTunnel_B1F_EventScript_162EB9:: @ 8162EB9 - trainerbattle_single TRAINER_HIKER_DUDLEY, Text_1796E1, Text_179700 - msgbox gUnknown_8179712, MSGBOX_AUTOCLOSE +RockTunnel_B1F_EventScript_Dudley:: @ 8162EB9 + trainerbattle_single TRAINER_HIKER_DUDLEY, RockTunnel_B1F_Text_DudleyIntro, RockTunnel_B1F_Text_DudleyDefeat + msgbox RockTunnel_B1F_Text_DudleyPostBattle, MSGBOX_AUTOCLOSE end -RockTunnel_B1F_EventScript_162ED0:: @ 8162ED0 - trainerbattle_single TRAINER_HIKER_ALLEN, Text_179829, Text_179856 - msgbox gUnknown_817987A, MSGBOX_AUTOCLOSE +RockTunnel_B1F_EventScript_Allen:: @ 8162ED0 + trainerbattle_single TRAINER_HIKER_ALLEN, RockTunnel_B1F_Text_AllenIntro, RockTunnel_B1F_Text_AllenDefeat + msgbox RockTunnel_B1F_Text_AllenPostBattle, MSGBOX_AUTOCLOSE end -RockTunnel_B1F_EventScript_162EE7:: @ 8162EE7 - trainerbattle_single TRAINER_HIKER_ERIC, Text_179916, Text_179932 - msgbox gUnknown_817993E, MSGBOX_AUTOCLOSE +RockTunnel_B1F_EventScript_Eric:: @ 8162EE7 + trainerbattle_single TRAINER_HIKER_ERIC, RockTunnel_B1F_Text_EricIntro, RockTunnel_B1F_Text_EricDefeat + msgbox RockTunnel_B1F_Text_EricPostBattle, MSGBOX_AUTOCLOSE end -RockTunnel_B1F_EventScript_162EFE:: @ 8162EFE - trainerbattle_single TRAINER_POKEMANIAC_COOPER, Text_17973A, Text_17975F - msgbox gUnknown_8179777, MSGBOX_AUTOCLOSE +RockTunnel_B1F_EventScript_Cooper:: @ 8162EFE + trainerbattle_single TRAINER_POKEMANIAC_COOPER, RockTunnel_B1F_Text_CooperIntro, RockTunnel_B1F_Text_CooperDefeat + msgbox RockTunnel_B1F_Text_CooperPostBattle, MSGBOX_AUTOCLOSE end -RockTunnel_B1F_EventScript_162F15:: @ 8162F15 - trainerbattle_single TRAINER_POKEMANIAC_STEVE, Text_1797A4, Text_1797CB - msgbox gUnknown_81797DE, MSGBOX_AUTOCLOSE +RockTunnel_B1F_EventScript_Steve:: @ 8162F15 + trainerbattle_single TRAINER_POKEMANIAC_STEVE, RockTunnel_B1F_Text_SteveIntro, RockTunnel_B1F_Text_SteveDefeat + msgbox RockTunnel_B1F_Text_StevePostBattle, MSGBOX_AUTOCLOSE end -RockTunnel_B1F_EventScript_162F2C:: @ 8162F2C - trainerbattle_single TRAINER_POKEMANIAC_WINSTON, Text_179968, Text_179997 - msgbox gUnknown_81799AC, MSGBOX_AUTOCLOSE +RockTunnel_B1F_EventScript_Winston:: @ 8162F2C + trainerbattle_single TRAINER_POKEMANIAC_WINSTON, RockTunnel_B1F_Text_WinstonIntro, RockTunnel_B1F_Text_WinstonDefeat + msgbox RockTunnel_B1F_Text_WinstonPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/RockTunnel_B1F/text.inc b/data/maps/RockTunnel_B1F/text.inc index b82f09657..1bf86a5eb 100644 --- a/data/maps/RockTunnel_B1F/text.inc +++ b/data/maps/RockTunnel_B1F/text.inc @@ -1,95 +1,95 @@ -Text_179657:: @ 8179657 +RockTunnel_B1F_Text_SofiaIntro:: @ 8179657 .string "Do you know how you can avoid\n" .string "getting lost in the mountains?\p" .string "You can bend twigs as trail\n" .string "markers.$" -Text_1796B9:: @ 81796B9 +RockTunnel_B1F_Text_SofiaDefeat:: @ 81796B9 .string "Ohhh!\n" .string "I did my best!$" -gUnknown_81796CE:: @ 81796CE +RockTunnel_B1F_Text_SofiaPostBattle:: @ 81796CE .string "I want to go home!$" -Text_1796E1:: @ 81796E1 +RockTunnel_B1F_Text_DudleyIntro:: @ 81796E1 .string "Hahaha!\n" .string "Can you beat my power?$" -Text_179700:: @ 8179700 +RockTunnel_B1F_Text_DudleyDefeat:: @ 8179700 .string "Oops!\n" .string "Outmuscled!$" -gUnknown_8179712:: @ 8179712 +RockTunnel_B1F_Text_DudleyPostBattle:: @ 8179712 .string "I go for power because I hate\n" .string "thinking.$" -Text_17973A:: @ 817973A +RockTunnel_B1F_Text_CooperIntro:: @ 817973A .string "You have a POKéDEX?\n" .string "I want one, too.$" -Text_17975F:: @ 817975F +RockTunnel_B1F_Text_CooperDefeat:: @ 817975F .string "Shoot!\n" .string "I am so jealous!$" -gUnknown_8179777:: @ 8179777 +RockTunnel_B1F_Text_CooperPostBattle:: @ 8179777 .string "When you finish your POKéDEX,\n" .string "can I have it?$" -Text_1797A4:: @ 81797A4 +RockTunnel_B1F_Text_SteveIntro:: @ 81797A4 .string "Um… Do you know about POKéMON\n" .string "cosplay?$" -Text_1797CB:: @ 81797CB +RockTunnel_B1F_Text_SteveDefeat:: @ 81797CB .string "Well, that's that.$" -gUnknown_81797DE:: @ 81797DE +RockTunnel_B1F_Text_StevePostBattle:: @ 81797DE .string "POKéMON cosplay is dressing up as\n" .string "POKéMON for fun.\p" .string "CLEFAIRY is a favorite.$" -Text_179829:: @ 8179829 +RockTunnel_B1F_Text_AllenIntro:: @ 8179829 .string "My POKéMON techniques will leave\n" .string "you crying!$" -Text_179856:: @ 8179856 +RockTunnel_B1F_Text_AllenDefeat:: @ 8179856 .string "I give!\n" .string "You're a better technician!$" -gUnknown_817987A:: @ 817987A +RockTunnel_B1F_Text_AllenPostBattle:: @ 817987A .string "In mountains, you'll often find\n" .string "ROCK-type POKéMON.$" -Text_1798AD:: @ 81798AD +RockTunnel_B1F_Text_MarthaIntro:: @ 81798AD .string "I don't often come here, but I will\n" .string "battle you.$" -Text_1798DD:: @ 81798DD +RockTunnel_B1F_Text_MarthaDefeat:: @ 81798DD .string "Oh!\n" .string "I lost!$" -gUnknown_81798E9:: @ 81798E9 +RockTunnel_B1F_Text_MarthaPostBattle:: @ 81798E9 .string "I like tiny POKéMON.\n" .string "Big ones are too scary!$" -Text_179916:: @ 8179916 +RockTunnel_B1F_Text_EricIntro:: @ 8179916 .string "Hit me with your best shot!$" -Text_179932:: @ 8179932 +RockTunnel_B1F_Text_EricDefeat:: @ 8179932 .string "Fired away!$" -gUnknown_817993E:: @ 817993E +RockTunnel_B1F_Text_EricPostBattle:: @ 817993E .string "I'll raise my POKéMON to beat\n" .string "yours, kid.$" -Text_179968:: @ 8179968 +RockTunnel_B1F_Text_WinstonIntro:: @ 8179968 .string "I draw illustrations of POKéMON\n" .string "when I'm home.$" -Text_179997:: @ 8179997 +RockTunnel_B1F_Text_WinstonDefeat:: @ 8179997 .string "Whew…\n" .string "I'm exhausted…$" -gUnknown_81799AC:: @ 81799AC +RockTunnel_B1F_Text_WinstonPostBattle:: @ 81799AC .string "I'm an artist, not a fighter.\n" .string "I'll go home to draw.$" diff --git a/data/maps/RocketHideout_B1F/map.json b/data/maps/RocketHideout_B1F/map.json index 586bf0f0d..87a45d250 100644 --- a/data/maps/RocketHideout_B1F/map.json +++ b/data/maps/RocketHideout_B1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROCKET_HIDEOUT", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 7, - "elevator_flag": -1, - "battle_scene": "BATTLE_SCENE_3", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": -1, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_2", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 4, "y": 9, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "RocketHideout_B1F_EventScript_1611C5", + "script": "RocketHideout_B1F_EventScript_Grunt2", "flag": "FLAG_HIDE_MISC_KANTO_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 24, "y": 12, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "RocketHideout_B1F_EventScript_1611AE", + "script": "RocketHideout_B1F_EventScript_Grunt1", "flag": "FLAG_HIDE_MISC_KANTO_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 6, "y": 32, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "RocketHideout_B1F_EventScript_1611F3", + "script": "RocketHideout_B1F_EventScript_Grunt4", "flag": "FLAG_HIDE_MISC_KANTO_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 10, "y": 22, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "RocketHideout_B1F_EventScript_1611DC", + "script": "RocketHideout_B1F_EventScript_Grunt3", "flag": "FLAG_HIDE_MISC_KANTO_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 21, "y": 27, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "RocketHideout_B1F_EventScript_16120A", + "script": "RocketHideout_B1F_EventScript_Grunt5", "flag": "FLAG_HIDE_MISC_KANTO_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 5, "y": 16, "elevation": 0, @@ -92,7 +94,7 @@ "flag": "FLAG_HIDE_ROCKET_HIDEOUT_B1F_ESCAPE_ROPE" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 1, "y": 22, "elevation": 3, diff --git a/data/maps/RocketHideout_B1F/scripts.inc b/data/maps/RocketHideout_B1F/scripts.inc index c27dd99f3..6149ac0c2 100644 --- a/data/maps/RocketHideout_B1F/scripts.inc +++ b/data/maps/RocketHideout_B1F/scripts.inc @@ -4,60 +4,60 @@ RocketHideout_B1F_MapScripts:: @ 8161195 .byte 0 RocketHideout_B1F_OnLoad:: @ 81611A0 - call_if_not_defeated TRAINER_TEAM_ROCKET_GRUNT_12 EventScript_161233 + call_if_not_defeated TRAINER_TEAM_ROCKET_GRUNT_12 RocketHideout_B1F_EventScript_SetBarrier end RocketHideout_B1F_OnTransition:: @ 81611AA setworldmapflag FLAG_WORLD_MAP_ROCKET_HIDEOUT_B1F end -RocketHideout_B1F_EventScript_1611AE:: @ 81611AE - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_8, Text_174ECA, Text_174EED - msgbox gUnknown_8174EFA, MSGBOX_AUTOCLOSE +RocketHideout_B1F_EventScript_Grunt1:: @ 81611AE + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_8, RocketHideout_B1F_Text_Grunt1Intro, RocketHideout_B1F_Text_Grunt1Defeat + msgbox RocketHideout_B1F_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE end -RocketHideout_B1F_EventScript_1611C5:: @ 81611C5 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_9, Text_174F2C, Text_174F60 - msgbox gUnknown_8174F66, MSGBOX_AUTOCLOSE +RocketHideout_B1F_EventScript_Grunt2:: @ 81611C5 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_9, RocketHideout_B1F_Text_Grunt2Intro, RocketHideout_B1F_Text_Grunt2Defeat + msgbox RocketHideout_B1F_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE end -RocketHideout_B1F_EventScript_1611DC:: @ 81611DC - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_10, Text_174F94, Text_174FA4 - msgbox gUnknown_8174FB3, MSGBOX_AUTOCLOSE +RocketHideout_B1F_EventScript_Grunt3:: @ 81611DC + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_10, RocketHideout_B1F_Text_Grunt3Intro, RocketHideout_B1F_Text_Grunt3Defeat + msgbox RocketHideout_B1F_Text_Grunt3PostBattle, MSGBOX_AUTOCLOSE end -RocketHideout_B1F_EventScript_1611F3:: @ 81611F3 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_11, Text_174FE1, Text_174FF8 - msgbox gUnknown_8175007, MSGBOX_AUTOCLOSE +RocketHideout_B1F_EventScript_Grunt4:: @ 81611F3 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_11, RocketHideout_B1F_Text_Grunt4Intro, RocketHideout_B1F_Text_Grunt4Defeat + msgbox RocketHideout_B1F_Text_Grunt4PostBattle, MSGBOX_AUTOCLOSE end -RocketHideout_B1F_EventScript_16120A:: @ 816120A - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_12, Text_17503A, Text_17505A, EventScript_161225 - msgbox gUnknown_8175060, MSGBOX_AUTOCLOSE +RocketHideout_B1F_EventScript_Grunt5:: @ 816120A + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_12, RocketHideout_B1F_Text_Grunt5Intro, RocketHideout_B1F_Text_Grunt5Defeat, RocketHideout_B1F_EventScript_DefeatedGrunt5 + msgbox RocketHideout_B1F_Text_Grunt5PostBattle, MSGBOX_AUTOCLOSE end -EventScript_161225:: @ 8161225 - call EventScript_16126A +RocketHideout_B1F_EventScript_DefeatedGrunt5:: @ 8161225 + call RocketHideout_B1F_EventScript_RemoveBarrier playse SE_KI_GASYAN special DrawWholeMapView waitse release end -EventScript_161233:: @ 8161233 - setmetatile 20, 19, 718, 1 - setmetatile 21, 19, 719, 1 - setmetatile 20, 20, 726, 1 - setmetatile 21, 20, 727, 1 - setmetatile 20, 21, 642, 0 - setmetatile 21, 21, 642, 0 +RocketHideout_B1F_EventScript_SetBarrier:: @ 8161233 + setmetatile 20, 19, METATILE_SilphCo_HideoutBarrier_TopLeft_Floor, 1 + setmetatile 21, 19, METATILE_SilphCo_HideoutBarrier_TopRight_Floor, 1 + setmetatile 20, 20, METATILE_SilphCo_HideoutBarrier_BottomLeft, 1 + setmetatile 21, 20, METATILE_SilphCo_HideoutBarrier_BottomRight, 1 + setmetatile 20, 21, METATILE_SilphCo_HideoutFloor_ShadeFull, 0 + setmetatile 21, 21, METATILE_SilphCo_HideoutFloor_ShadeFull, 0 return -EventScript_16126A:: @ 816126A - setmetatile 20, 19, 642, 0 - setmetatile 21, 19, 641, 0 - setmetatile 20, 20, 642, 0 - setmetatile 21, 20, 641, 0 - setmetatile 20, 21, 642, 0 - setmetatile 21, 21, 641, 0 +RocketHideout_B1F_EventScript_RemoveBarrier:: @ 816126A + setmetatile 20, 19, METATILE_SilphCo_HideoutFloor_ShadeFull, 0 + setmetatile 21, 19, METATILE_SilphCo_HideoutFloor, 0 + setmetatile 20, 20, METATILE_SilphCo_HideoutFloor_ShadeFull, 0 + setmetatile 21, 20, METATILE_SilphCo_HideoutFloor, 0 + setmetatile 20, 21, METATILE_SilphCo_HideoutFloor_ShadeFull, 0 + setmetatile 21, 21, METATILE_SilphCo_HideoutFloor, 0 return diff --git a/data/maps/RocketHideout_B1F/text.inc b/data/maps/RocketHideout_B1F/text.inc index fd7647e2b..9dea66b16 100644 --- a/data/maps/RocketHideout_B1F/text.inc +++ b/data/maps/RocketHideout_B1F/text.inc @@ -1,53 +1,53 @@ -Text_174ECA:: @ 8174ECA +RocketHideout_B1F_Text_Grunt1Intro:: @ 8174ECA .string "Who are you?\n" .string "How did you get here?$" -Text_174EED:: @ 8174EED +RocketHideout_B1F_Text_Grunt1Defeat:: @ 8174EED .string "Oww!\n" .string "Beaten!$" -gUnknown_8174EFA:: @ 8174EFA +RocketHideout_B1F_Text_Grunt1PostBattle:: @ 8174EFA .string "Blast it… You're dissing TEAM\n" .string "ROCKET, aren't you?$" -Text_174F2C:: @ 8174F2C +RocketHideout_B1F_Text_Grunt2Intro:: @ 8174F2C .string "You broke into TEAM ROCKET's\n" .string "operation? What nerve!$" -Text_174F60:: @ 8174F60 +RocketHideout_B1F_Text_Grunt2Defeat:: @ 8174F60 .string "Boom!$" -gUnknown_8174F66:: @ 8174F66 +RocketHideout_B1F_Text_Grunt2PostBattle:: @ 8174F66 .string "You're not going to get away with\n" .string "this, brat!$" -Text_174F94:: @ 8174F94 +RocketHideout_B1F_Text_Grunt3Intro:: @ 8174F94 .string "Intruder alert!$" -Text_174FA4:: @ 8174FA4 +RocketHideout_B1F_Text_Grunt3Defeat:: @ 8174FA4 .string "I can't do it!$" -gUnknown_8174FB3:: @ 8174FB3 +RocketHideout_B1F_Text_Grunt3PostBattle:: @ 8174FB3 .string "SILPH SCOPE? Humph!\n" .string "I don't know where it is.$" -Text_174FE1:: @ 8174FE1 +RocketHideout_B1F_Text_Grunt4Intro:: @ 8174FE1 .string "Why did you come here?$" -Text_174FF8:: @ 8174FF8 +RocketHideout_B1F_Text_Grunt4Defeat:: @ 8174FF8 .string "This won't do!$" -gUnknown_8175007:: @ 8175007 +RocketHideout_B1F_Text_Grunt4PostBattle:: @ 8175007 .string "Okay, I'll talk…\n" .string "Take the elevator to see my BOSS.$" -Text_17503A:: @ 817503A +RocketHideout_B1F_Text_Grunt5Intro:: @ 817503A .string "Are you lost, you little mouse?$" -Text_17505A:: @ 817505A +RocketHideout_B1F_Text_Grunt5Defeat:: @ 817505A .string "Why…?$" -gUnknown_8175060:: @ 8175060 +RocketHideout_B1F_Text_Grunt5PostBattle:: @ 8175060 .string "Uh-oh, that ruckus somehow opened\n" .string "the door!$" diff --git a/data/maps/RocketHideout_B2F/map.json b/data/maps/RocketHideout_B2F/map.json index bdc600f55..e2693393a 100644 --- a/data/maps/RocketHideout_B2F/map.json +++ b/data/maps/RocketHideout_B2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROCKET_HIDEOUT", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 7, - "elevator_flag": -2, - "battle_scene": "BATTLE_SCENE_3", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": -2, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_2", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 20, "y": 6, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "RocketHideout_B2F_EventScript_1612A2", + "script": "RocketHideout_B2F_EventScript_Grunt", "flag": "FLAG_HIDE_MISC_KANTO_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 15, "y": 3, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "FLAG_HIDE_ROCKET_HIDEOUT_B2F_X_SPEED" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 2, "y": 5, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "FLAG_HIDE_ROCKET_HIDEOUT_B2F_MOON_STONE" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 5, "y": 7, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "FLAG_HIDE_ROCKET_HIDEOUT_B2F_TM12" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 0, "y": 14, "elevation": 3, diff --git a/data/maps/RocketHideout_B2F/scripts.inc b/data/maps/RocketHideout_B2F/scripts.inc index 07916ad03..55e7f6a2a 100644 --- a/data/maps/RocketHideout_B2F/scripts.inc +++ b/data/maps/RocketHideout_B2F/scripts.inc @@ -1,7 +1,7 @@ RocketHideout_B2F_MapScripts:: @ 81612A1 .byte 0 -RocketHideout_B2F_EventScript_1612A2:: @ 81612A2 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_13, Text_17508C, Text_1750BF - msgbox gUnknown_81750CC, MSGBOX_AUTOCLOSE +RocketHideout_B2F_EventScript_Grunt:: @ 81612A2 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_13, RocketHideout_B2F_Text_GruntIntro, RocketHideout_B2F_Text_GruntDefeat + msgbox RocketHideout_B2F_Text_GruntPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/RocketHideout_B2F/text.inc b/data/maps/RocketHideout_B2F/text.inc index d21c21555..a27121152 100644 --- a/data/maps/RocketHideout_B2F/text.inc +++ b/data/maps/RocketHideout_B2F/text.inc @@ -1,11 +1,11 @@ -Text_17508C:: @ 817508C +RocketHideout_B2F_Text_GruntIntro:: @ 817508C .string "BOSS said you can see ghosts with\n" .string "the SILPH SCOPE.$" -Text_1750BF:: @ 81750BF +RocketHideout_B2F_Text_GruntDefeat:: @ 81750BF .string "I surrender!$" -gUnknown_81750CC:: @ 81750CC +RocketHideout_B2F_Text_GruntPostBattle:: @ 81750CC .string "The TEAM ROCKET HQ has four\n" .string "underground floors.\p" .string "Think you can reach the BOSS?$" diff --git a/data/maps/RocketHideout_B3F/map.json b/data/maps/RocketHideout_B3F/map.json index be88faebf..b6c4f9ab9 100644 --- a/data/maps/RocketHideout_B3F/map.json +++ b/data/maps/RocketHideout_B3F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROCKET_HIDEOUT", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 7, - "elevator_flag": -3, - "battle_scene": "BATTLE_SCENE_3", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": -3, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_2", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 19, "y": 9, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "RocketHideout_B3F_EventScript_1612D1", + "script": "RocketHideout_B3F_EventScript_Grunt2", "flag": "FLAG_HIDE_MISC_KANTO_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 2, "y": 20, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "RocketHideout_B3F_EventScript_1612BA", + "script": "RocketHideout_B3F_EventScript_Grunt1", "flag": "FLAG_HIDE_MISC_KANTO_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 12, "y": 12, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "FLAG_HIDE_ROCKET_HIDEOUT_B3F_RARE_CANDY" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 19, "y": 14, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "FLAG_HIDE_ROCKET_HIDEOUT_B3F_TM21" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 14, "y": 24, "elevation": 3, diff --git a/data/maps/RocketHideout_B3F/scripts.inc b/data/maps/RocketHideout_B3F/scripts.inc index d6a57ab77..ab1fd6bb3 100644 --- a/data/maps/RocketHideout_B3F/scripts.inc +++ b/data/maps/RocketHideout_B3F/scripts.inc @@ -1,12 +1,12 @@ RocketHideout_B3F_MapScripts:: @ 81612B9 .byte 0 -RocketHideout_B3F_EventScript_1612BA:: @ 81612BA - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_14, Text_17511A, Text_17514A - msgbox gUnknown_817515B, MSGBOX_AUTOCLOSE +RocketHideout_B3F_EventScript_Grunt1:: @ 81612BA + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_14, RocketHideout_B3F_Text_Grunt1Intro, RocketHideout_B3F_Text_Grunt1Defeat + msgbox RocketHideout_B3F_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE end -RocketHideout_B3F_EventScript_1612D1:: @ 81612D1 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_15, Text_17519E, Text_1751CE - msgbox gUnknown_81751E0, MSGBOX_AUTOCLOSE +RocketHideout_B3F_EventScript_Grunt2:: @ 81612D1 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_15, RocketHideout_B3F_Text_Grunt2Intro, RocketHideout_B3F_Text_Grunt2Defeat + msgbox RocketHideout_B3F_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/RocketHideout_B3F/text.inc b/data/maps/RocketHideout_B3F/text.inc index deedfce38..12a9c5a7e 100644 --- a/data/maps/RocketHideout_B3F/text.inc +++ b/data/maps/RocketHideout_B3F/text.inc @@ -1,25 +1,25 @@ -Text_17511A:: @ 817511A +RocketHideout_B3F_Text_Grunt1Intro:: @ 817511A .string "Stop meddling in TEAM ROCKET's\n" .string "affairs or else!$" -Text_17514A:: @ 817514A +RocketHideout_B3F_Text_Grunt1Defeat:: @ 817514A .string "Oof!\n" .string "Taken down!$" -gUnknown_817515B:: @ 817515B +RocketHideout_B3F_Text_Grunt1PostBattle:: @ 817515B .string "SILPH SCOPE?\n" .string "Oh, that machine the BOSS stole.\p" .string "It's here somewhere.$" -Text_17519E:: @ 817519E +RocketHideout_B3F_Text_Grunt2Intro:: @ 817519E .string "We got word from upstairs that you\n" .string "were coming!$" -Text_1751CE:: @ 81751CE +RocketHideout_B3F_Text_Grunt2Defeat:: @ 81751CE .string "What?\n" .string "I lost? No!$" -gUnknown_81751E0:: @ 81751E0 +RocketHideout_B3F_Text_Grunt2PostBattle:: @ 81751E0 .string "Go ahead and go!\p" .string "But you can't run the elevator\n" .string "without the LIFT KEY.$" diff --git a/data/maps/RocketHideout_B4F/map.json b/data/maps/RocketHideout_B4F/map.json index 1790720b4..234dce9e6 100644 --- a/data/maps/RocketHideout_B4F/map.json +++ b/data/maps/RocketHideout_B4F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROCKET_HIDEOUT", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 7, - "elevator_flag": -4, - "battle_scene": "BATTLE_SCENE_3", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": -4, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_2", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_GIOVANNI", + "graphics_id": "OBJ_EVENT_GFX_GIOVANNI", "x": 19, "y": 4, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "RocketHideout_B4F_EventScript_161317", + "script": "RocketHideout_B4F_EventScript_Giovanni", "flag": "FLAG_HIDE_HIDEOUT_GIOVANNI" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 20, "y": 5, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "FLAG_HIDE_SILPH_SCOPE" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 4, "y": 2, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "RocketHideout_B4F_EventScript_161381", + "script": "RocketHideout_B4F_EventScript_Grunt1", "flag": "FLAG_HIDE_MISC_KANTO_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 3, "y": 2, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "FLAG_HIDE_LIFT_KEY" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 19, "y": 14, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 0, - "script": "RocketHideout_B4F_EventScript_161418", + "script": "RocketHideout_B4F_EventScript_Grunt3", "flag": "FLAG_HIDE_MISC_KANTO_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 16, "y": 14, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 0, - "script": "RocketHideout_B4F_EventScript_1613CE", + "script": "RocketHideout_B4F_EventScript_Grunt2", "flag": "FLAG_HIDE_MISC_KANTO_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 1, "y": 6, "elevation": 3, @@ -105,7 +107,7 @@ "flag": "FLAG_HIDE_ROCKET_HIDEOUT_B4F_TM49" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 4, "y": 14, "elevation": 0, @@ -118,7 +120,7 @@ "flag": "FLAG_HIDE_ROCKET_HIDEOUT_B4F_MAX_ETHER" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 6, "y": 23, "elevation": 0, diff --git a/data/maps/RocketHideout_B4F/scripts.inc b/data/maps/RocketHideout_B4F/scripts.inc index 68671a7a8..5919b342f 100644 --- a/data/maps/RocketHideout_B4F/scripts.inc +++ b/data/maps/RocketHideout_B4F/scripts.inc @@ -1,33 +1,39 @@ +.equ LOCALID_GIOVANNI, 1 +.equ LOCALID_SILPH_SCOPE, 2 +.equ LOCALID_LIFT_KEY, 4 + +.equ NUM_DOOR_GRUNTS_DEFEATED, VAR_TEMP_1 + RocketHideout_B4F_MapScripts:: @ 81612E8 map_script MAP_SCRIPT_ON_LOAD, RocketHideout_B4F_OnLoad .byte 0 RocketHideout_B4F_OnLoad:: @ 81612EE - setvar VAR_TEMP_1, 0 - call_if_defeated TRAINER_TEAM_ROCKET_GRUNT_16, EventScript_161311 - call_if_defeated TRAINER_TEAM_ROCKET_GRUNT_17, EventScript_161311 - compare VAR_TEMP_1, 2 - call_if_ne EventScript_16146A + setvar NUM_DOOR_GRUNTS_DEFEATED, 0 + call_if_defeated TRAINER_TEAM_ROCKET_GRUNT_16, RocketHideout_B4F_EventScript_CountGruntDefeated + call_if_defeated TRAINER_TEAM_ROCKET_GRUNT_17, RocketHideout_B4F_EventScript_CountGruntDefeated + compare NUM_DOOR_GRUNTS_DEFEATED, 2 + call_if_ne RocketHideout_B4F_EventScript_SetBarrier end -EventScript_161311:: @ 8161311 - addvar VAR_TEMP_1, 1 +RocketHideout_B4F_EventScript_CountGruntDefeated:: @ 8161311 + addvar NUM_DOOR_GRUNTS_DEFEATED, 1 return -RocketHideout_B4F_EventScript_161317:: @ 8161317 +RocketHideout_B4F_EventScript_Giovanni:: @ 8161317 lock faceplayer famechecker FAMECHECKER_GIOVANNI, 0 - message Text_175226 + message RocketHideout_B4F_Text_GiovanniIntro waitmessage playbgm MUS_ROCKET, 0 waitbuttonpress - trainerbattle_no_intro TRAINER_BOSS_GIOVANNI, Text_175318 - msgbox gUnknown_817532D + trainerbattle_no_intro TRAINER_BOSS_GIOVANNI, RocketHideout_B4F_Text_GiovanniDefeat + msgbox RocketHideout_B4F_Text_GiovanniPostBattle fadescreen FADE_TO_BLACK closemessage - removeobject 1 - addobject 2 + removeobject LOCALID_GIOVANNI + addobject LOCALID_SILPH_SCOPE clearflag FLAG_HIDE_SILPH_SCOPE setflag FLAG_HIDE_CELADON_ROCKETS famechecker FAMECHECKER_GIOVANNI, FCPICKSTATE_COLORED, UpdatePickStateFromSpecialVar8005 @@ -38,22 +44,22 @@ RocketHideout_B4F_EventScript_161317:: @ 8161317 RocketHideout_B4F_EventScript_SilphScope:: @ 8161363 lock faceplayer - removeobject 2 + removeobject LOCALID_SILPH_SCOPE giveitem ITEM_SILPH_SCOPE compare VAR_RESULT, FALSE goto_if_eq EventScript_BagIsFull release end -RocketHideout_B4F_EventScript_161381:: @ 8161381 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_18, Text_175488, Text_1754B9, EventScript_16139D - msgbox gUnknown_81754BD +RocketHideout_B4F_EventScript_Grunt1:: @ 8161381 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_18, RocketHideout_B4F_Text_Grunt1Intro, RocketHideout_B4F_Text_Grunt1Defeat, RocketHideout_B4F_EventScript_DefeatedGrunt1 + msgbox RocketHideout_B4F_Text_Grunt1PostBattle release end -EventScript_16139D:: @ 816139D - msgbox gUnknown_81754BD - addobject 4 +RocketHideout_B4F_EventScript_DefeatedGrunt1:: @ 816139D + msgbox RocketHideout_B4F_Text_Grunt1PostBattle + addobject LOCALID_LIFT_KEY clearflag FLAG_HIDE_LIFT_KEY release end @@ -62,65 +68,65 @@ RocketHideout_B4F_EventScript_LiftKey:: @ 81613AD lock faceplayer setflag FLAG_CAN_USE_ROCKET_HIDEOUT_LIFT - removeobject 4 + removeobject LOCALID_LIFT_KEY giveitem ITEM_LIFT_KEY compare VAR_RESULT, FALSE goto_if_eq EventScript_BagIsFull release end -RocketHideout_B4F_EventScript_1613CE:: @ 81613CE - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_16, Text_1753D0, Text_1753FE, EventScript_1613E9 - msgbox gUnknown_817540C, MSGBOX_AUTOCLOSE +RocketHideout_B4F_EventScript_Grunt2:: @ 81613CE + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_16, RocketHideout_B4F_Text_Grunt2Intro, RocketHideout_B4F_Text_Grunt2Defeat, RocketHideout_B4F_EventScript_DefeatedGrunt2 + msgbox RocketHideout_B4F_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE end -EventScript_1613E9:: @ 81613E9 - setvar VAR_TEMP_1, 0 - call_if_defeated TRAINER_TEAM_ROCKET_GRUNT_16, EventScript_161311 - call_if_defeated TRAINER_TEAM_ROCKET_GRUNT_17, EventScript_161311 - compare VAR_TEMP_1, 2 - call_if_eq EventScript_1614A1 - compare VAR_TEMP_1, 2 - call_if_eq EventScript_161462 +RocketHideout_B4F_EventScript_DefeatedGrunt2:: @ 81613E9 + setvar NUM_DOOR_GRUNTS_DEFEATED, 0 + call_if_defeated TRAINER_TEAM_ROCKET_GRUNT_16, RocketHideout_B4F_EventScript_CountGruntDefeated + call_if_defeated TRAINER_TEAM_ROCKET_GRUNT_17, RocketHideout_B4F_EventScript_CountGruntDefeated + compare NUM_DOOR_GRUNTS_DEFEATED, 2 + call_if_eq RocketHideout_B4F_EventScript_RemoveBarrier + compare NUM_DOOR_GRUNTS_DEFEATED, 2 + call_if_eq RocketHideout_B4F_EventScript_DrawMapForBarrierRemoval release end -RocketHideout_B4F_EventScript_161418:: @ 8161418 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_17, Text_175437, Text_175463, EventScript_161433 - msgbox gUnknown_817546A, MSGBOX_AUTOCLOSE +RocketHideout_B4F_EventScript_Grunt3:: @ 8161418 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_17, RocketHideout_B4F_Text_Grunt3Intro, RocketHideout_B4F_Text_Grunt3Defeat, RocketHideout_B4F_EventScript_DefeatedGrunt3 + msgbox RocketHideout_B4F_Text_Grunt3PostBattle, MSGBOX_AUTOCLOSE end -EventScript_161433:: @ 8161433 - setvar VAR_TEMP_1, 0 - call_if_defeated TRAINER_TEAM_ROCKET_GRUNT_16, EventScript_161311 - call_if_defeated TRAINER_TEAM_ROCKET_GRUNT_17, EventScript_161311 - compare VAR_TEMP_1, 2 - call_if_eq EventScript_1614A1 - compare VAR_TEMP_1, 2 - call_if_eq EventScript_161462 +RocketHideout_B4F_EventScript_DefeatedGrunt3:: @ 8161433 + setvar NUM_DOOR_GRUNTS_DEFEATED, 0 + call_if_defeated TRAINER_TEAM_ROCKET_GRUNT_16, RocketHideout_B4F_EventScript_CountGruntDefeated + call_if_defeated TRAINER_TEAM_ROCKET_GRUNT_17, RocketHideout_B4F_EventScript_CountGruntDefeated + compare NUM_DOOR_GRUNTS_DEFEATED, 2 + call_if_eq RocketHideout_B4F_EventScript_RemoveBarrier + compare NUM_DOOR_GRUNTS_DEFEATED, 2 + call_if_eq RocketHideout_B4F_EventScript_DrawMapForBarrierRemoval release end -EventScript_161462:: @ 8161462 +RocketHideout_B4F_EventScript_DrawMapForBarrierRemoval:: @ 8161462 playse SE_KI_GASYAN special DrawWholeMapView waitse return -EventScript_16146A:: @ 816146A - setmetatile 17, 12, 718, 1 - setmetatile 18, 12, 719, 1 - setmetatile 17, 13, 726, 1 - setmetatile 18, 13, 727, 1 - setmetatile 17, 14, 642, 0 - setmetatile 18, 14, 642, 0 +RocketHideout_B4F_EventScript_SetBarrier:: @ 816146A + setmetatile 17, 12, METATILE_SilphCo_HideoutBarrier_TopLeft_Floor, 1 + setmetatile 18, 12, METATILE_SilphCo_HideoutBarrier_TopRight_Floor, 1 + setmetatile 17, 13, METATILE_SilphCo_HideoutBarrier_BottomLeft, 1 + setmetatile 18, 13, METATILE_SilphCo_HideoutBarrier_BottomRight, 1 + setmetatile 17, 14, METATILE_SilphCo_HideoutFloor_ShadeFull, 0 + setmetatile 18, 14, METATILE_SilphCo_HideoutFloor_ShadeFull, 0 return -EventScript_1614A1:: @ 81614A1 - setmetatile 17, 12, 642, 0 - setmetatile 18, 12, 641, 0 - setmetatile 17, 13, 642, 0 - setmetatile 18, 13, 641, 0 - setmetatile 17, 14, 642, 0 - setmetatile 18, 14, 641, 0 +RocketHideout_B4F_EventScript_RemoveBarrier:: @ 81614A1 + setmetatile 17, 12, METATILE_SilphCo_HideoutFloor_ShadeFull, 0 + setmetatile 18, 12, METATILE_SilphCo_HideoutFloor, 0 + setmetatile 17, 13, METATILE_SilphCo_HideoutFloor_ShadeFull, 0 + setmetatile 18, 13, METATILE_SilphCo_HideoutFloor, 0 + setmetatile 17, 14, METATILE_SilphCo_HideoutFloor_ShadeFull, 0 + setmetatile 18, 14, METATILE_SilphCo_HideoutFloor, 0 return diff --git a/data/maps/RocketHideout_B4F/text.inc b/data/maps/RocketHideout_B4F/text.inc index 4ceba8968..9d11d7502 100644 --- a/data/maps/RocketHideout_B4F/text.inc +++ b/data/maps/RocketHideout_B4F/text.inc @@ -1,4 +1,4 @@ -Text_175226:: @ 8175226 +RocketHideout_B4F_Text_GiovanniIntro:: @ 8175226 .string "So! I must say, I am impressed you\n" .string "got here.\p" .string "TEAM ROCKET captures POKéMON from\n" @@ -9,11 +9,11 @@ Text_175226:: @ 8175226 .string "For your insolence, you will feel a\n" .string "world of pain!$" -Text_175318:: @ 8175318 +RocketHideout_B4F_Text_GiovanniDefeat:: @ 8175318 .string "WHAT!\n" .string "This can't be!$" -gUnknown_817532D:: @ 817532D +RocketHideout_B4F_Text_GiovanniPostBattle:: @ 817532D .string "I see that you raise POKéMON with\n" .string "utmost care.\p" .string "A child like you would never\n" @@ -21,36 +21,36 @@ gUnknown_817532D:: @ 817532D .string "I shall step aside this time!\p" .string "I hope we meet again…$" -Text_1753D0:: @ 81753D0 +RocketHideout_B4F_Text_Grunt2Intro:: @ 81753D0 .string "I know you!\n" .string "You ruined our plans at MT. MOON!$" -Text_1753FE:: @ 81753FE +RocketHideout_B4F_Text_Grunt2Defeat:: @ 81753FE .string "Burned again!$" -gUnknown_817540C:: @ 817540C +RocketHideout_B4F_Text_Grunt2PostBattle:: @ 817540C .string "Do you have something against TEAM\n" .string "ROCKET?$" -Text_175437:: @ 8175437 +RocketHideout_B4F_Text_Grunt3Intro:: @ 8175437 .string "How can you not see the beauty of\n" .string "our evil?$" -Text_175463:: @ 8175463 +RocketHideout_B4F_Text_Grunt3Defeat:: @ 8175463 .string "Ayaya!$" -gUnknown_817546A:: @ 817546A +RocketHideout_B4F_Text_Grunt3PostBattle:: @ 817546A .string "BOSS!\n" .string "I'm sorry I failed you!$" -Text_175488:: @ 8175488 +RocketHideout_B4F_Text_Grunt1Intro:: @ 8175488 .string "The elevator doesn't work?\n" .string "Who has the LIFT KEY?$" -Text_1754B9:: @ 81754B9 +RocketHideout_B4F_Text_Grunt1Defeat:: @ 81754B9 .string "No!$" -gUnknown_81754BD:: @ 81754BD +RocketHideout_B4F_Text_Grunt1PostBattle:: @ 81754BD .string "Oh, no!\n" .string "I dropped the LIFT KEY!$" diff --git a/data/maps/RocketHideout_Elevator/map.json b/data/maps/RocketHideout_Elevator/map.json index dd2191b6d..746d61db2 100644 --- a/data/maps/RocketHideout_Elevator/map.json +++ b/data/maps/RocketHideout_Elevator/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROCKET_HIDEOUT", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_3", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_2", "connections": null, "object_events": [], "warp_events": [ @@ -32,11 +34,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 0, "y": 2, "elevation": 0, - "script": "RocketHideout_Elevator_EventScript_1614D9" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "RocketHideout_Elevator_EventScript_FloorSelect" } ] } diff --git a/data/maps/RocketHideout_Elevator/scripts.inc b/data/maps/RocketHideout_Elevator/scripts.inc index f649e5c40..43e3f8782 100644 --- a/data/maps/RocketHideout_Elevator/scripts.inc +++ b/data/maps/RocketHideout_Elevator/scripts.inc @@ -1,104 +1,92 @@ RocketHideout_Elevator_MapScripts:: @ 81614D8 .byte 0 -RocketHideout_Elevator_EventScript_1614D9:: @ 81614D9 +RocketHideout_Elevator_EventScript_FloorSelect:: @ 81614D9 lockall - goto_if_unset FLAG_CAN_USE_ROCKET_HIDEOUT_LIFT, EventScript_16161B + goto_if_unset FLAG_CAN_USE_ROCKET_HIDEOUT_LIFT, RocketHideout_Elevator_EventScript_NeedKey setvar VAR_0x8004, 2 - call_if_unset FLAG_TEMP_2, EventScript_1A7AB9 + call_if_unset FLAG_TEMP_2, EventScript_GetElevatorFloor copyvar VAR_0x8005, VAR_ELEVATOR_FLOOR - special Special_DrawElevatorCurrentFloorWindow + special DrawElevatorCurrentFloorWindow message Text_WantWhichFloor waitmessage setvar VAR_0x8004, 2 - specialvar VAR_RESULT, Special_InitElevatorFloorSelectMenuPos + specialvar VAR_RESULT, InitElevatorFloorSelectMenuPos switch VAR_RESULT - case 0, EventScript_161530 - case 1, EventScript_16153C - case 2, EventScript_161548 + case 0, RocketHideout_Elevator_EventScript_FloorSelectFromB1F + case 1, RocketHideout_Elevator_EventScript_FloorSelectFromB2F + case 2, RocketHideout_Elevator_EventScript_FloorSelectFromB4F end -EventScript_161530:: @ 8161530 +RocketHideout_Elevator_EventScript_FloorSelectFromB1F:: @ 8161530 multichoicedefault 0, 0, MULTICHOICE_ROCKET_HIDEOUT_ELEVATOR, 0, FALSE - goto EventScript_161554 - -EventScript_16153B:: @ 816153B + goto RocketHideout_Elevator_EventScript_ChooseFloor end -EventScript_16153C:: @ 816153C +RocketHideout_Elevator_EventScript_FloorSelectFromB2F:: @ 816153C multichoicedefault 0, 0, MULTICHOICE_ROCKET_HIDEOUT_ELEVATOR, 1, FALSE - goto EventScript_161554 - -EventScript_161547:: @ 8161547 + goto RocketHideout_Elevator_EventScript_ChooseFloor end -EventScript_161548:: @ 8161548 +RocketHideout_Elevator_EventScript_FloorSelectFromB4F:: @ 8161548 multichoicedefault 0, 0, MULTICHOICE_ROCKET_HIDEOUT_ELEVATOR, 2, FALSE - goto EventScript_161554 - -EventScript_161553:: @ 8161553 + goto RocketHideout_Elevator_EventScript_ChooseFloor end -EventScript_161554:: @ 8161554 +RocketHideout_Elevator_EventScript_ChooseFloor:: @ 8161554 switch VAR_RESULT - case 0, EventScript_161591 - case 1, EventScript_1615B9 - case 2, EventScript_1615E1 - case 3, EventScript_161609 - case 127, EventScript_161609 + case 0, RocketHideout_Elevator_EventScript_ToB1F + case 1, RocketHideout_Elevator_EventScript_ToB2F + case 2, RocketHideout_Elevator_EventScript_ToB4F + case 3, RocketHideout_Elevator_EventScript_ExitFloorSelect + case 127, RocketHideout_Elevator_EventScript_ExitFloorSelect end -EventScript_161591:: @ 8161591 +RocketHideout_Elevator_EventScript_ToB1F:: @ 8161591 setvar VAR_0x8006, 3 setdynamicwarp MAP_ROCKET_HIDEOUT_B1F, 255, 24, 25 compare VAR_ELEVATOR_FLOOR, 3 - goto_if_eq EventScript_161609 - call EventScript_16160E + goto_if_eq RocketHideout_Elevator_EventScript_ExitFloorSelect + call RocketHideout_Elevator_EventScript_MoveElevator setvar VAR_ELEVATOR_FLOOR, 3 - goto EventScript_161609 - -EventScript_1615B8:: @ 81615B8 + goto RocketHideout_Elevator_EventScript_ExitFloorSelect end -EventScript_1615B9:: @ 81615B9 +RocketHideout_Elevator_EventScript_ToB2F:: @ 81615B9 setvar VAR_0x8006, 2 setdynamicwarp MAP_ROCKET_HIDEOUT_B2F, 255, 28, 16 compare VAR_ELEVATOR_FLOOR, 2 - goto_if_eq EventScript_161609 - call EventScript_16160E + goto_if_eq RocketHideout_Elevator_EventScript_ExitFloorSelect + call RocketHideout_Elevator_EventScript_MoveElevator setvar VAR_ELEVATOR_FLOOR, 2 - goto EventScript_161609 - -EventScript_1615E0:: @ 81615E0 + goto RocketHideout_Elevator_EventScript_ExitFloorSelect end -EventScript_1615E1:: @ 81615E1 +RocketHideout_Elevator_EventScript_ToB4F:: @ 81615E1 setvar VAR_0x8006, 0 setdynamicwarp MAP_ROCKET_HIDEOUT_B4F, 255, 20, 23 compare VAR_ELEVATOR_FLOOR, 0 - goto_if_eq EventScript_161609 - call EventScript_16160E + goto_if_eq RocketHideout_Elevator_EventScript_ExitFloorSelect + call RocketHideout_Elevator_EventScript_MoveElevator setvar VAR_ELEVATOR_FLOOR, 0 - goto EventScript_161609 - -EventScript_161608:: @ 8161608 + goto RocketHideout_Elevator_EventScript_ExitFloorSelect end -EventScript_161609:: @ 8161609 - special Special_CloseElevatorCurrentFloorWindow +RocketHideout_Elevator_EventScript_ExitFloorSelect:: @ 8161609 + special CloseElevatorCurrentFloorWindow releaseall end -EventScript_16160E:: @ 816160E - special Special_CloseElevatorCurrentFloorWindow +RocketHideout_Elevator_EventScript_MoveElevator:: @ 816160E + special CloseElevatorCurrentFloorWindow closemessage waitse - special Special_AnimateElevator + special AnimateElevator waitstate setflag FLAG_TEMP_2 return -EventScript_16161B:: @ 816161B - msgbox gUnknown_81754DD +RocketHideout_Elevator_EventScript_NeedKey:: @ 816161B + msgbox RocketHideout_Elevator_Text_AppearsToNeedAKey releaseall end diff --git a/data/maps/RocketHideout_Elevator/text.inc b/data/maps/RocketHideout_Elevator/text.inc index 89de8f918..f0e5e09f8 100644 --- a/data/maps/RocketHideout_Elevator/text.inc +++ b/data/maps/RocketHideout_Elevator/text.inc @@ -1,3 +1,3 @@ -gUnknown_81754DD:: @ 81754DD +RocketHideout_Elevator_Text_AppearsToNeedAKey:: @ 81754DD .string "It appears to need a key.$" diff --git a/data/maps/Route1/map.json b/data/maps/Route1/map.json index 1a2426066..e400dc366 100644 --- a/data/maps/Route1/map.json +++ b/data/maps/Route1/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_1", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_VIRIDIAN_CITY", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CLERK", + "graphics_id": "OBJ_EVENT_GFX_CLERK", "x": 6, "y": 28, "elevation": 3, @@ -38,7 +40,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BOY", + "graphics_id": "OBJ_EVENT_GFX_BOY", "x": 19, "y": 16, "elevation": 3, @@ -55,10 +57,11 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 9, "y": 31, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "Route1_EventScript_RouteSign" } ] diff --git a/data/maps/Route1/scripts.inc b/data/maps/Route1/scripts.inc index 36a42f65e..aaea71eaf 100644 --- a/data/maps/Route1/scripts.inc +++ b/data/maps/Route1/scripts.inc @@ -17,7 +17,7 @@ Route1_EventScript_MartClerk:: @ 8167EFE waitfanfare additem ITEM_POTION msgbox Route1_Text_PutPotionAway - call EventScript_1A6675 + call EventScript_RestorePrevTextColor setflag FLAG_GOT_POTION_ON_ROUTE_1 release end diff --git a/data/maps/Route10/map.json b/data/maps/Route10/map.json index fef96485a..59d998a4b 100644 --- a/data/maps/Route10/map.json +++ b/data/maps/Route10/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_10", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_LAVENDER_TOWN", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 7, "y": 60, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route10_EventScript_1A9FE5", + "script": "Route10_EventScript_Carol", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 4, "y": 62, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route10_EventScript_1AA09F", + "script": "Route10_EventScript_Clark", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SUPER_NERD", + "graphics_id": "OBJ_EVENT_GFX_SUPER_NERD", "x": 15, "y": 70, "elevation": 3, @@ -60,11 +62,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route10_EventScript_1AA061", + "script": "Route10_EventScript_Herman", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 4, "y": 68, "elevation": 3, @@ -73,11 +75,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route10_EventScript_1AA0DD", + "script": "Route10_EventScript_Trent", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SUPER_NERD", + "graphics_id": "OBJ_EVENT_GFX_SUPER_NERD", "x": 13, "y": 44, "elevation": 3, @@ -86,11 +88,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "Route10_EventScript_1AA023", + "script": "Route10_EventScript_Mark", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 9, "y": 27, "elevation": 3, @@ -99,11 +101,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route10_EventScript_1A9FA7", + "script": "Route10_EventScript_Heidi", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 10, "y": 20, "elevation": 0, @@ -112,11 +114,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 10, "y": 22, "elevation": 0, @@ -125,11 +127,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_13" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 10, "y": 24, "elevation": 0, @@ -138,11 +140,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_14" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 10, "y": 26, "elevation": 0, @@ -151,7 +153,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_15" } ], @@ -195,25 +197,28 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 15, "y": 59, "elevation": 0, - "script": "Route10_EventScript_167FE4" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route10_EventScript_SouthRockTunnelSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 6, "y": 42, "elevation": 0, - "script": "Route10_EventScript_167FED" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route10_EventScript_PowerPlantSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 7, "y": 21, "elevation": 0, - "script": "Route10_EventScript_167FDB" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route10_EventScript_NorthRockTunnelSign" }, { "type": "hidden_item", diff --git a/data/maps/Route10/scripts.inc b/data/maps/Route10/scripts.inc index 7fb5d64cd..93694dc8a 100644 --- a/data/maps/Route10/scripts.inc +++ b/data/maps/Route10/scripts.inc @@ -1,17 +1,17 @@ Route10_MapScripts:: @ 8167FD9 .byte 0 -Route10_EventScript_167FDA:: @ 8167FDA +Route10_EventScript_Unused:: @ 8167FDA end -Route10_EventScript_167FDB:: @ 8167FDB - msgbox gUnknown_8184EC5, MSGBOX_SIGN +Route10_EventScript_NorthRockTunnelSign:: @ 8167FDB + msgbox Route10_Text_RockTunnelDetourToLavender, MSGBOX_SIGN end -Route10_EventScript_167FE4:: @ 8167FE4 - msgbox gUnknown_8184EE9, MSGBOX_SIGN +Route10_EventScript_SouthRockTunnelSign:: @ 8167FE4 + msgbox Route10_Text_RockTunnel, MSGBOX_SIGN end -Route10_EventScript_167FED:: @ 8167FED - msgbox gUnknown_8184EF5, MSGBOX_SIGN +Route10_EventScript_PowerPlantSign:: @ 8167FED + msgbox Route10_Text_PowerPlant, MSGBOX_SIGN end diff --git a/data/maps/Route10/text.inc b/data/maps/Route10/text.inc index af45c8923..5a2d48efb 100644 --- a/data/maps/Route10/text.inc +++ b/data/maps/Route10/text.inc @@ -1,86 +1,86 @@ -Text_184B8A:: @ 8184B8A +Route10_Text_MarkIntro:: @ 8184B8A .string "Wow, you came all the way here?\n" .string "Maybe you're a POKéMANIAC, too?\l" .string "Want to see my collection?$" -Text_184BE5:: @ 8184BE5 +Route10_Text_MarkDefeat:: @ 8184BE5 .string "Humph.\n" .string "I'm not angry!$" -Text_184BFB:: @ 8184BFB +Route10_Text_MarkPostBattle:: @ 8184BFB .string "I have more rare POKéMON at home!$" -Text_184C1D:: @ 8184C1D +Route10_Text_ClarkIntro:: @ 8184C1D .string "Ha-hahah-ah-ha!$" -Text_184C2D:: @ 8184C2D +Route10_Text_ClarkDefeat:: @ 8184C2D .string "Ha-haha!\n" .string "Not laughing!\l" .string "Ha-hay fever! Haha-ha-choo!$" -Text_184C60:: @ 8184C60 +Route10_Text_ClarkPostBattle:: @ 8184C60 .string "Haha-ha-choo!\n" .string "Ha-choo!\l" .string "Snort! Snivel!$" -Text_184C86:: @ 8184C86 +Route10_Text_HermanIntro:: @ 8184C86 .string "Hi, kid!\n" .string "Want to see my POKéMON?$" -Text_184CA7:: @ 8184CA7 +Route10_Text_HermanDefeat:: @ 8184CA7 .string "Oh, no!\n" .string "My POKéMON!$" -Text_184CBB:: @ 8184CBB +Route10_Text_HermanPostBattle:: @ 8184CBB .string "I don't like you.\n" .string "I don't like anyone better than me!$" -Text_184CF1:: @ 8184CF1 +Route10_Text_HeidiIntro:: @ 8184CF1 .string "I've been out at a POKéMON GYM\n" .string "a few times.\p" .string "…But I always lose.$" -Text_184D31:: @ 8184D31 +Route10_Text_HeidiDefeat:: @ 8184D31 .string "Ohh!\n" .string "After all my training!$" -Text_184D4D:: @ 8184D4D +Route10_Text_HeidiPostBattle:: @ 8184D4D .string "I noticed some POKéMANIACS\n" .string "prowling around.\p" .string "Can you imagine? Them?\n" .string "Up here in the mountains?$" -Text_184DAA:: @ 8184DAA +Route10_Text_TrentIntro:: @ 8184DAA .string "Ah!\n" .string "This mountain air is delicious!$" -Text_184DCE:: @ 8184DCE +Route10_Text_TrentDefeat:: @ 8184DCE .string "That cleared my head!$" -Text_184DE4:: @ 8184DE4 +Route10_Text_TrentPostBattle:: @ 8184DE4 .string "I feel bloated on mountain air!$" -Text_184E04:: @ 8184E04 +Route10_Text_CarolIntro:: @ 8184E04 .string "I'm feeling a bit faint.\n" .string "I haven't hiked in some time.$" -Text_184E3B:: @ 8184E3B +Route10_Text_CarolDefeat:: @ 8184E3B .string "I'm too tired.\n" .string "I wasn't up for it.$" -Text_184E5E:: @ 8184E5E +Route10_Text_CarolPostBattle:: @ 8184E5E .string "The POKéMON here in the mountains\n" .string "are so chunky…\p" .string "I wish there were pink POKéMON\n" .string "with a floral pattern!$" -gUnknown_8184EC5:: @ 8184EC5 +Route10_Text_RockTunnelDetourToLavender:: @ 8184EC5 .string "ROCK TUNNEL\n" .string "Detour to LAVENDER TOWN$" -gUnknown_8184EE9:: @ 8184EE9 +Route10_Text_RockTunnel:: @ 8184EE9 .string "ROCK TUNNEL$" -gUnknown_8184EF5:: @ 8184EF5 +Route10_Text_PowerPlant:: @ 8184EF5 .string "POWER PLANT$" diff --git a/data/maps/Route10_PokemonCenter_1F/map.json b/data/maps/Route10_PokemonCenter_1F/map.json index dc1543ef0..203ae9295 100644 --- a/data/maps/Route10_PokemonCenter_1F/map.json +++ b/data/maps/Route10_PokemonCenter_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_10", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_NURSE", + "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, "elevation": 0, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route10_PokemonCenter_1F_EventScript_16FC41", + "script": "Route10_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 9, "y": 4, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route10_PokemonCenter_1F_EventScript_16FC53", + "script": "Route10_PokemonCenter_1F_EventScript_Gentleman", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_FAT_MAN", + "graphics_id": "OBJ_EVENT_GFX_FAT_MAN", "x": 2, "y": 3, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route10_PokemonCenter_1F_EventScript_16FC4A", + "script": "Route10_PokemonCenter_1F_EventScript_FatMan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 14, "y": 6, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route10_PokemonCenter_1F_EventScript_16FC5C", + "script": "Route10_PokemonCenter_1F_EventScript_Youngster", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 12, "y": 5, "elevation": 3, @@ -75,7 +77,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route10_PokemonCenter_1F_EventScript_16FC65", + "script": "Route10_PokemonCenter_1F_EventScript_Aide", "flag": "0" } ], diff --git a/data/maps/Route10_PokemonCenter_1F/scripts.inc b/data/maps/Route10_PokemonCenter_1F/scripts.inc index 56e0b448e..aa59cd95b 100644 --- a/data/maps/Route10_PokemonCenter_1F/scripts.inc +++ b/data/maps/Route10_PokemonCenter_1F/scripts.inc @@ -1,3 +1,5 @@ +.equ REQUIRED_OWNED_MONS, 20 + Route10_PokemonCenter_1F_MapScripts:: @ 816FC2F map_script MAP_SCRIPT_ON_TRANSITION, Route10_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume @@ -8,55 +10,55 @@ Route10_PokemonCenter_1F_OnTransition:: @ 816FC3A setrespawn SPAWN_ROUTE10 end -Route10_PokemonCenter_1F_EventScript_16FC41:: @ 816FC41 +Route10_PokemonCenter_1F_EventScript_Nurse:: @ 816FC41 lock faceplayer call EventScript_PkmnCenterNurse release end -Route10_PokemonCenter_1F_EventScript_16FC4A:: @ 816FC4A - msgbox gUnknown_819E59D, MSGBOX_NPC +Route10_PokemonCenter_1F_EventScript_FatMan:: @ 816FC4A + msgbox Route10_PokemonCenter_1F_Text_NuggetUselessSoldFor5000, MSGBOX_NPC end -Route10_PokemonCenter_1F_EventScript_16FC53:: @ 816FC53 - msgbox gUnknown_819E523, MSGBOX_NPC +Route10_PokemonCenter_1F_EventScript_Gentleman:: @ 816FC53 + msgbox Route10_PokemonCenter_1F_Text_EveryTypeStrongerThanOthers, MSGBOX_NPC end -Route10_PokemonCenter_1F_EventScript_16FC5C:: @ 816FC5C - msgbox gUnknown_819E5D2, MSGBOX_NPC +Route10_PokemonCenter_1F_EventScript_Youngster:: @ 816FC5C + msgbox Route10_PokemonCenter_1F_Text_HeardGhostsHauntLavender, MSGBOX_NPC end -Route10_PokemonCenter_1F_EventScript_16FC65:: @ 816FC65 +Route10_PokemonCenter_1F_EventScript_Aide:: @ 816FC65 lock faceplayer - call EventScript_16FCF1 - goto_if_set FLAG_GOT_EVERSTONE_FROM_OAKS_AIDE, EventScript_16FCE7 - msgbox gUnknown_819E5FB, MSGBOX_YESNO + call Route10_PokemonCenter_1F_EventScript_GetAideRequestInfo + goto_if_set FLAG_GOT_EVERSTONE_FROM_OAKS_AIDE, Route10_PokemonCenter_1F_EventScript_AlreadyGotEverstone + msgbox Route10_PokemonCenter_1F_Text_GiveEverstoneIfCaught20Mons, MSGBOX_YESNO compare VAR_RESULT, NO goto_if_eq Aide_EventScript_DeclineCheckMons setvar VAR_0x8004, 0 - specialvar VAR_RESULT, Special_GetPokedexCount + specialvar VAR_RESULT, GetPokedexCount getnumberstring 2, VAR_0x8006 - call EventScript_16FCF1 - compare VAR_0x8006, 20 + call Route10_PokemonCenter_1F_EventScript_GetAideRequestInfo + compare VAR_0x8006, REQUIRED_OWNED_MONS goto_if_lt Aide_EventScript_HaventCaughtEnough - msgbox gUnknown_819E733 + msgbox Route10_PokemonCenter_1F_Text_GreatHereYouGo checkitemspace ITEM_EVERSTONE, 1 compare VAR_RESULT, FALSE goto_if_eq Aide_EventScript_NoRoomForItem - giveitem_msg gUnknown_819E786, ITEM_EVERSTONE + giveitem_msg Route10_PokemonCenter_1F_Text_ReceivedEverstoneFromAide, ITEM_EVERSTONE setflag FLAG_GOT_EVERSTONE_FROM_OAKS_AIDE - msgbox gUnknown_819E7AF + msgbox Route10_PokemonCenter_1F_Text_ExplainEverstone release end -EventScript_16FCE7:: @ 816FCE7 - msgbox gUnknown_819E7AF +Route10_PokemonCenter_1F_EventScript_AlreadyGotEverstone:: @ 816FCE7 + msgbox Route10_PokemonCenter_1F_Text_ExplainEverstone release end -EventScript_16FCF1:: @ 816FCF1 - getnumberstring 0, 20 +Route10_PokemonCenter_1F_EventScript_GetAideRequestInfo:: @ 816FCF1 + getnumberstring 0, REQUIRED_OWNED_MONS getitemname 1, ITEM_EVERSTONE return diff --git a/data/maps/Route10_PokemonCenter_1F/text.inc b/data/maps/Route10_PokemonCenter_1F/text.inc index 3360854fe..7c63407ae 100644 --- a/data/maps/Route10_PokemonCenter_1F/text.inc +++ b/data/maps/Route10_PokemonCenter_1F/text.inc @@ -1,18 +1,18 @@ -gUnknown_819E523:: @ 819E523 +Route10_PokemonCenter_1F_Text_EveryTypeStrongerThanOthers:: @ 819E523 .string "The types of POKéMON match up\n" .string "differently with each other.\p" .string "Every type is stronger than some\n" .string "types and weaker than others.$" -gUnknown_819E59D:: @ 819E59D +Route10_PokemonCenter_1F_Text_NuggetUselessSoldFor5000:: @ 819E59D .string "A NUGGET is totally useless.\n" .string "So I sold it for ¥5000.$" -gUnknown_819E5D2:: @ 819E5D2 +Route10_PokemonCenter_1F_Text_HeardGhostsHauntLavender:: @ 819E5D2 .string "I heard that ghosts haunt\n" .string "LAVENDER TOWN.$" -gUnknown_819E5FB:: @ 819E5FB +Route10_PokemonCenter_1F_Text_GiveEverstoneIfCaught20Mons:: @ 819E5FB .string "Oh… {PLAYER}!\n" .string "I've been looking for you!\p" .string "It's me, one of the ever-present\n" @@ -26,17 +26,17 @@ gUnknown_819E5FB:: @ 819E5FB .string "Have you gathered data on at least\n" .string "twenty kinds of POKéMON?$" -gUnknown_819E733:: @ 819E733 +Route10_PokemonCenter_1F_Text_GreatHereYouGo:: @ 819E733 .string "Great! You have caught or owned\n" .string "{STR_VAR_3} kinds of POKéMON!\p" .string "Congratulations!\n" .string "Here you go!$" -gUnknown_819E786:: @ 819E786 +Route10_PokemonCenter_1F_Text_ReceivedEverstoneFromAide:: @ 819E786 .string "{PLAYER} received the EVERSTONE\n" .string "from the AIDE.$" -gUnknown_819E7AF:: @ 819E7AF +Route10_PokemonCenter_1F_Text_ExplainEverstone:: @ 819E7AF .string "Making POKéMON evolve certainly\n" .string "can add to the POKéDEX.\p" .string "However, at times, you may not\n" diff --git a/data/maps/Route10_PokemonCenter_2F/map.json b/data/maps/Route10_PokemonCenter_2F/map.json index 41c497474..4222d144e 100644 --- a/data/maps/Route10_PokemonCenter_2F/map.json +++ b/data/maps/Route10_PokemonCenter_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_10", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 6, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 2, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 10, "y": 2, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MG_DELIVERYMAN", + "graphics_id": "OBJ_EVENT_GFX_MG_DELIVERYMAN", "x": 1, "y": 2, "elevation": 3, diff --git a/data/maps/Route11/map.json b/data/maps/Route11/map.json index 7cdaa105b..f3a2798a4 100644 --- a/data/maps/Route11/map.json +++ b/data/maps/Route11/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_11", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_VERMILION_CITY", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 19, "y": 8, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "Route11_EventScript_1A9B0D", + "script": "Route11_EventScript_Eddie", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 16, "y": 17, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route11_EventScript_1A9C81", + "script": "Route11_EventScript_Hugo", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 31, "y": 8, "elevation": 3, @@ -60,11 +62,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "Route11_EventScript_1A9B4B", + "script": "Route11_EventScript_Dillon", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 28, "y": 10, "elevation": 3, @@ -73,11 +75,11 @@ "movement_range_y": 4, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route11_EventScript_1A9BC7", + "script": "Route11_EventScript_Dave", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 38, "y": 15, "elevation": 3, @@ -86,11 +88,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route11_EventScript_1A9CBF", + "script": "Route11_EventScript_Jasper", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 50, "y": 4, "elevation": 3, @@ -99,11 +101,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route11_EventScript_1A9D3B", + "script": "Route11_EventScript_Darian", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 42, "y": 8, "elevation": 3, @@ -112,11 +114,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "Route11_EventScript_1A9C05", + "script": "Route11_EventScript_Braxton", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 50, "y": 14, "elevation": 3, @@ -125,11 +127,11 @@ "movement_range_y": 4, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route11_EventScript_1A9B89", + "script": "Route11_EventScript_Yasu", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 57, "y": 16, "elevation": 3, @@ -138,11 +140,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route11_EventScript_1A9CFD", + "script": "Route11_EventScript_Dirk", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 32, "y": 18, "elevation": 3, @@ -151,11 +153,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 6, - "script": "Route11_EventScript_1A9C43", + "script": "Route11_EventScript_Bernie", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 42, "y": 12, "elevation": 3, @@ -168,7 +170,7 @@ "flag": "FLAG_HIDE_ROUTE11_X_DEFEND" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 63, "y": 13, "elevation": 3, @@ -181,7 +183,7 @@ "flag": "FLAG_HIDE_ROUTE11_GREAT_BALL" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 13, "y": 3, "elevation": 3, @@ -220,11 +222,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 3, "y": 7, "elevation": 3, - "script": "Route11_EventScript_167FF7" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route11_EventScript_DiglettsCaveSign" }, { "type": "hidden_item", diff --git a/data/maps/Route11/scripts.inc b/data/maps/Route11/scripts.inc index 11f052030..821b8256f 100644 --- a/data/maps/Route11/scripts.inc +++ b/data/maps/Route11/scripts.inc @@ -1,6 +1,6 @@ Route11_MapScripts:: @ 8167FF6 .byte 0 -Route11_EventScript_167FF7:: @ 8167FF7 - msgbox gUnknown_8185308, MSGBOX_SIGN +Route11_EventScript_DiglettsCaveSign:: @ 8167FF7 + msgbox Route11_Text_DiglettsCave, MSGBOX_SIGN end diff --git a/data/maps/Route11/text.inc b/data/maps/Route11/text.inc index 19515d010..2f7c7fc6d 100644 --- a/data/maps/Route11/text.inc +++ b/data/maps/Route11/text.inc @@ -1,113 +1,113 @@ -Text_184F01:: @ 8184F01 +Route11_Text_HugoIntro:: @ 8184F01 .string "Win, lose, or draw!$" -Text_184F15:: @ 8184F15 +Route11_Text_HugoDefeat:: @ 8184F15 .string "Atcha!\n" .string "Didn't go my way!$" -Text_184F2E:: @ 8184F2E +Route11_Text_HugoPostBattle:: @ 8184F2E .string "POKéMON is life!\n" .string "And to live is to play games!$" -Text_184F5D:: @ 8184F5D +Route11_Text_JasperIntro:: @ 8184F5D .string "Competition!\n" .string "I can't get enough!$" -Text_184F7E:: @ 8184F7E +Route11_Text_JasperDefeat:: @ 8184F7E .string "I had a chance!$" -Text_184F8E:: @ 8184F8E +Route11_Text_JasperPostBattle:: @ 8184F8E .string "You can't be a coward in the world\n" .string "of POKéMON!$" -Text_184FBD:: @ 8184FBD +Route11_Text_EddieIntro:: @ 8184FBD .string "Let's go, but don't cheat!$" -Text_184FD8:: @ 8184FD8 +Route11_Text_EddieDefeat:: @ 8184FD8 .string "Huh?\n" .string "That's not right!$" -Text_184FEF:: @ 8184FEF +Route11_Text_EddiePostBattle:: @ 8184FEF .string "I did my best.\n" .string "I have no regrets.$" -Text_185011:: @ 8185011 +Route11_Text_BraxtonIntro:: @ 8185011 .string "Careful!\n" .string "I'm laying down some cables!$" -Text_185037:: @ 8185037 +Route11_Text_BraxtonDefeat:: @ 8185037 .string "That was electric!$" -Text_18504A:: @ 818504A +Route11_Text_BraxtonPostBattle:: @ 818504A .string "Spread the word to save energy!$" -Text_18506A:: @ 818506A +Route11_Text_DillonIntro:: @ 818506A .string "I just became a TRAINER.\n" .string "But, I think I can win.$" -Text_18509B:: @ 818509B +Route11_Text_DillonDefeat:: @ 818509B .string "My POKéMON couldn't win…\n" .string "Haven't they grown enough?$" -Text_1850CF:: @ 81850CF +Route11_Text_DillonPostBattle:: @ 81850CF .string "What now?\n" .string "Leave me alone!$" -Text_1850E9:: @ 81850E9 +Route11_Text_DirkIntro:: @ 81850E9 .string "Fwahaha!\n" .string "I have never lost!$" -Text_185105:: @ 8185105 +Route11_Text_DirkDefeat:: @ 8185105 .string "My first loss!$" -Text_185114:: @ 8185114 +Route11_Text_DirkPostBattle:: @ 8185114 .string "You were just lucky, that's all.$" -Text_185135:: @ 8185135 +Route11_Text_DarianIntro:: @ 8185135 .string "I have never won before…$" -Text_18514E:: @ 818514E +Route11_Text_DarianDefeat:: @ 818514E .string "I saw this coming…$" -Text_185161:: @ 8185161 +Route11_Text_DarianPostBattle:: @ 8185161 .string "I was unlucky, as always.$" -Text_18517B:: @ 818517B +Route11_Text_YasuIntro:: @ 818517B .string "I'm the best in my class.\n" .string "I train every morning.$" -Text_1851AC:: @ 81851AC +Route11_Text_YasuDefeat:: @ 81851AC .string "Darn!\n" .string "My POKéMON need to be stronger!$" -Text_1851D2:: @ 81851D2 +Route11_Text_YasuPostBattle:: @ 81851D2 .string "There's a fat POKéMON that comes\n" .string "down from the mountains.\p" .string "I bet it'd be strong if you can\n" .string "catch it.$" -Text_185236:: @ 8185236 +Route11_Text_BernieIntro:: @ 8185236 .string "Watch out for live wires!$" -Text_185250:: @ 8185250 +Route11_Text_BernieDefeat:: @ 8185250 .string "Whoa!\n" .string "You spark plug!$" -Text_185266:: @ 8185266 +Route11_Text_BerniePostBattle:: @ 8185266 .string "Well, better get back to work.$" -Text_185285:: @ 8185285 +Route11_Text_DaveIntro:: @ 8185285 .string "I raised my POKéMON carefully.\n" .string "They should be ready by now!$" -Text_1852C1:: @ 81852C1 +Route11_Text_DaveDefeat:: @ 81852C1 .string "Bye-bye!\n" .string "Thank you, and good-bye!$" -Text_1852E3:: @ 81852E3 +Route11_Text_DavePostBattle:: @ 81852E3 .string "Tch…\n" .string "I better go find stronger ones!$" -gUnknown_8185308:: @ 8185308 +Route11_Text_DiglettsCave:: @ 8185308 .string "DIGLETT'S CAVE$" diff --git a/data/maps/Route11_EastEntrance_1F/map.json b/data/maps/Route11_EastEntrance_1F/map.json index 21d3b454f..1746a2d9f 100644 --- a/data/maps/Route11_EastEntrance_1F/map.json +++ b/data/maps/Route11_EastEntrance_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_11", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 1, - "unknown_19": 2, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_POLICEMAN", + "graphics_id": "OBJ_EVENT_GFX_POLICEMAN", "x": 6, "y": 2, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route11_EastEntrance_1F_EventScript_16FD22", + "script": "Route11_EastEntrance_1F_EventScript_TopGuard", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_POLICEMAN", + "graphics_id": "OBJ_EVENT_GFX_POLICEMAN", "x": 4, "y": 10, "elevation": 0, @@ -36,7 +38,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route11_EastEntrance_1F_EventScript_16FD2B", + "script": "Route11_EastEntrance_1F_EventScript_BottomGuard", "flag": "0" } ], diff --git a/data/maps/Route11_EastEntrance_1F/scripts.inc b/data/maps/Route11_EastEntrance_1F/scripts.inc index 0a2f2cb75..e8097b62a 100644 --- a/data/maps/Route11_EastEntrance_1F/scripts.inc +++ b/data/maps/Route11_EastEntrance_1F/scripts.inc @@ -1,10 +1,10 @@ Route11_EastEntrance_1F_MapScripts:: @ 816FD21 .byte 0 -Route11_EastEntrance_1F_EventScript_16FD22:: @ 816FD22 - msgbox gUnknown_819E8A6, MSGBOX_NPC +Route11_EastEntrance_1F_EventScript_TopGuard:: @ 816FD22 + msgbox Route11_EastEntrance_1F_Text_ManInLavenderRatesNames, MSGBOX_NPC end -Route11_EastEntrance_1F_EventScript_16FD2B:: @ 816FD2B - msgbox gUnknown_819E97B, MSGBOX_NPC +Route11_EastEntrance_1F_EventScript_BottomGuard:: @ 816FD2B + msgbox Route11_EastEntrance_1F_Text_RockTunnelToReachLavender, MSGBOX_NPC end diff --git a/data/maps/Route11_EastEntrance_1F/text.inc b/data/maps/Route11_EastEntrance_1F/text.inc index 335e7e3e9..de5965bcf 100644 --- a/data/maps/Route11_EastEntrance_1F/text.inc +++ b/data/maps/Route11_EastEntrance_1F/text.inc @@ -1,8 +1,9 @@ -Text_19E890:: @ 819E890 +@ Unclear where this is originally from +Route11_EastEntrance_1F_Text_BagIsFull:: @ 819E890 .string "{PLAYER}{KUN}の バッグ\n" .string "いっぱい みたい だね$" -gUnknown_819E8A6:: @ 819E8A6 +Route11_EastEntrance_1F_Text_ManInLavenderRatesNames:: @ 819E8A6 .string "Don't you think it's hard to think\n" .string "up good names for POKéMON?\p" .string "Especially if you've caught a\n" @@ -12,7 +13,7 @@ gUnknown_819E8A6:: @ 819E8A6 .string "He can even help you rename your\n" .string "POKéMON, too.$" -gUnknown_819E97B:: @ 819E97B +Route11_EastEntrance_1F_Text_RockTunnelToReachLavender:: @ 819E97B .string "If you're aiming to reach LAVENDER\n" .string "TOWN, take ROCK TUNNEL.\p" .string "You can get to ROCK TUNNEL from\n" diff --git a/data/maps/Route11_EastEntrance_2F/map.json b/data/maps/Route11_EastEntrance_2F/map.json index d7c8f1f5b..3b621be31 100644 --- a/data/maps/Route11_EastEntrance_2F/map.json +++ b/data/maps/Route11_EastEntrance_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_11", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 7, "y": 3, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route11_EastEntrance_2F_EventScript_16FD5C", + "script": "Route11_EastEntrance_2F_EventScript_Turner", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 2, "y": 6, "elevation": 3, @@ -36,7 +38,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route11_EastEntrance_2F_EventScript_16FDD8", + "script": "Route11_EastEntrance_2F_EventScript_Aide", "flag": "0" } ], @@ -52,18 +54,20 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 1, "elevation": 0, - "script": "Route11_EastEntrance_2F_EventScript_16FD35" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route11_EastEntrance_2F_EventScript_LeftBinoculars" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 1, "elevation": 0, - "script": "Route11_EastEntrance_2F_EventScript_16FD53" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route11_EastEntrance_2F_EventScript_RightBinoculars" } ] } diff --git a/data/maps/Route11_EastEntrance_2F/scripts.inc b/data/maps/Route11_EastEntrance_2F/scripts.inc index 91a6d20bd..22bd6e743 100644 --- a/data/maps/Route11_EastEntrance_2F/scripts.inc +++ b/data/maps/Route11_EastEntrance_2F/scripts.inc @@ -1,89 +1,91 @@ +.equ REQUIRED_CAUGHT_MONS, 30 + Route11_EastEntrance_2F_MapScripts:: @ 816FD34 .byte 0 -Route11_EastEntrance_2F_EventScript_16FD35:: @ 816FD35 +Route11_EastEntrance_2F_EventScript_LeftBinoculars:: @ 816FD35 lockall - goto_if_set FLAG_WOKE_UP_ROUTE_12_SNORLAX, EventScript_16FD49 - msgbox gUnknown_819EC8A + goto_if_set FLAG_WOKE_UP_ROUTE_12_SNORLAX, Route11_EastEntrance_2F_EventScript_LeftBinocularsSnorlaxGone + msgbox Route11_EastEntrance_2F_Text_BigMonAsleepOnRoad releaseall end -EventScript_16FD49:: @ 816FD49 - msgbox gUnknown_819ECD9 +Route11_EastEntrance_2F_EventScript_LeftBinocularsSnorlaxGone:: @ 816FD49 + msgbox Route11_EastEntrance_2F_Text_WhatABreathtakingView releaseall end -Route11_EastEntrance_2F_EventScript_16FD53:: @ 816FD53 - msgbox gUnknown_819ED1F, MSGBOX_SIGN +Route11_EastEntrance_2F_EventScript_RightBinoculars:: @ 816FD53 + msgbox Route11_EastEntrance_2F_Text_RockTunnelGoodRouteToLavender, MSGBOX_SIGN end -Route11_EastEntrance_2F_EventScript_16FD5C:: @ 816FD5C +Route11_EastEntrance_2F_EventScript_Turner:: @ 816FD5C lock faceplayer setvar VAR_0x8008, INGAME_TRADE_NIDORINOA call EventScript_GetInGameTradeSpeciesInfo - goto_if_set FLAG_DID_NINA_TRADE, EventScript_16FDCE + goto_if_set FLAG_DID_NINA_TRADE, Route11_EastEntrance_2F_EventScript_AlreadyTraded msgbox Trade_Text_LookingForMonWannaTradeForMon, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_16FDB6 + goto_if_eq Route11_EastEntrance_2F_EventScript_DeclineTrade call EventScript_ChooseMonForInGameTrade compare VAR_0x8004, PARTY_SIZE - goto_if_ge EventScript_16FDB6 + goto_if_ge Route11_EastEntrance_2F_EventScript_DeclineTrade call EventScript_GetInGameTradeSpecies compare VAR_RESULT, VAR_0x8009 - goto_if_ne EventScript_16FDC0 + goto_if_ne Route11_EastEntrance_2F_EventScript_NotRequestedMon call EventScript_DoInGameTrade msgbox Trade_Text_HeyThanks setflag FLAG_DID_NINA_TRADE release end -EventScript_16FDB6:: @ 816FDB6 +Route11_EastEntrance_2F_EventScript_DeclineTrade:: @ 816FDB6 msgbox Trade_Text_AwwOhWell release end -EventScript_16FDC0:: @ 816FDC0 +Route11_EastEntrance_2F_EventScript_NotRequestedMon:: @ 816FDC0 getspeciesname 0, VAR_0x8009 msgbox Trade_Text_WhatThatsNoMon release end -EventScript_16FDCE:: @ 816FDCE +Route11_EastEntrance_2F_EventScript_AlreadyTraded:: @ 816FDCE msgbox Trade_Text_IsntMyOldMonGreat release end -Route11_EastEntrance_2F_EventScript_16FDD8:: @ 816FDD8 +Route11_EastEntrance_2F_EventScript_Aide:: @ 816FDD8 lock faceplayer - call EventScript_16FE64 - goto_if_set FLAG_GOT_ITEMFINDER, EventScript_16FE5A - msgbox gUnknown_819E9E5, MSGBOX_YESNO + call Route11_EastEntrance_2F_EventScript_GetAideRequestInfo + goto_if_set FLAG_GOT_ITEMFINDER, Route11_EastEntrance_2F_EventScript_AlreadyGotItemfinder + msgbox Route11_EastEntrance_2F_Text_GiveItemfinderIfCaught30, MSGBOX_YESNO compare VAR_RESULT, NO goto_if_eq Aide_EventScript_DeclineCheckMons setvar VAR_0x8004, 0 - specialvar VAR_RESULT, Special_GetPokedexCount + specialvar VAR_RESULT, GetPokedexCount getnumberstring 2, VAR_0x8006 - call EventScript_16FE64 - compare VAR_0x8006, 30 + call Route11_EastEntrance_2F_EventScript_GetAideRequestInfo + compare VAR_0x8006, REQUIRED_CAUGHT_MONS goto_if_lt Aide_EventScript_HaventCaughtEnough - msgbox gUnknown_819EAE4 + msgbox Route11_EastEntrance_2F_Text_GreatHereYouGo checkitemspace ITEM_ITEMFINDER, 1 compare VAR_RESULT, FALSE goto_if_eq Aide_EventScript_NoRoomForItem - giveitem_msg gUnknown_819EB37, ITEM_ITEMFINDER + giveitem_msg Route11_EastEntrance_2F_Text_ReceivedItemfinderFromAide, ITEM_ITEMFINDER setflag FLAG_GOT_ITEMFINDER - msgbox gUnknown_819EB59 + msgbox Route11_EastEntrance_2F_Text_ExplainItemfinder release end -EventScript_16FE5A:: @ 816FE5A - msgbox gUnknown_819EB59 +Route11_EastEntrance_2F_EventScript_AlreadyGotItemfinder:: @ 816FE5A + msgbox Route11_EastEntrance_2F_Text_ExplainItemfinder release end -EventScript_16FE64:: @ 816FE64 - getnumberstring 0, 30 +Route11_EastEntrance_2F_EventScript_GetAideRequestInfo:: @ 816FE64 + getnumberstring 0, REQUIRED_CAUGHT_MONS getitemname 1, ITEM_ITEMFINDER return diff --git a/data/maps/Route11_EastEntrance_2F/text.inc b/data/maps/Route11_EastEntrance_2F/text.inc index aa693a495..66e871199 100644 --- a/data/maps/Route11_EastEntrance_2F/text.inc +++ b/data/maps/Route11_EastEntrance_2F/text.inc @@ -1,4 +1,4 @@ -gUnknown_819E9E5:: @ 819E9E5 +Route11_EastEntrance_2F_Text_GiveItemfinderIfCaught30:: @ 819E9E5 .string "Hi! Remember me?\n" .string "I'm one of PROF. OAK's AIDES.\p" .string "If your POKéDEX has complete data\n" @@ -10,17 +10,17 @@ gUnknown_819E9E5:: @ 819E9E5 .string "Have you gathered data on at least\n" .string "{STR_VAR_1} kinds of POKéMON?$" -gUnknown_819EAE4:: @ 819EAE4 +Route11_EastEntrance_2F_Text_GreatHereYouGo:: @ 819EAE4 .string "Great! You have caught or owned\n" .string "{STR_VAR_3} kinds of POKéMON!\p" .string "Congratulations!\n" .string "Here you go!$" -gUnknown_819EB37:: @ 819EB37 +Route11_EastEntrance_2F_Text_ReceivedItemfinderFromAide:: @ 819EB37 .string "{PLAYER} received the {STR_VAR_2}\n" .string "from the AIDE.$" -gUnknown_819EB59:: @ 819EB59 +Route11_EastEntrance_2F_Text_ExplainItemfinder:: @ 819EB59 .string "There are items on the ground that\n" .string "may be hidden from view.\p" .string "Use the ITEMFINDER to detect any\n" @@ -32,17 +32,17 @@ gUnknown_819EB59:: @ 819EB59 .string "Use it to get your bearings, then\n" .string "search the suspect area by hand.$" -gUnknown_819EC8A:: @ 819EC8A +Route11_EastEntrance_2F_Text_BigMonAsleepOnRoad:: @ 819EC8A .string "Let's see what the binoculars have\n" .string "to show…\p" .string "A big POKéMON is asleep on a road!$" -gUnknown_819ECD9:: @ 819ECD9 +Route11_EastEntrance_2F_Text_WhatABreathtakingView:: @ 819ECD9 .string "Let's see what the binoculars have\n" .string "to show…\p" .string "What a breathtaking view!$" -gUnknown_819ED1F:: @ 819ED1F +Route11_EastEntrance_2F_Text_RockTunnelGoodRouteToLavender:: @ 819ED1F .string "Let's see what the binoculars have\n" .string "to show…\p" .string "To get to LAVENDER TOWN from\n" diff --git a/data/maps/Route12/map.json b/data/maps/Route12/map.json index 09e49160b..d9baf947c 100644 --- a/data/maps/Route12/map.json +++ b/data/maps/Route12/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_12", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_LAVENDER_TOWN", @@ -30,7 +32,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_FISHER", + "graphics_id": "OBJ_EVENT_GFX_FISHER", "x": 17, "y": 32, "elevation": 3, @@ -39,11 +41,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route12_EventScript_1AA451", + "script": "Route12_EventScript_Ned", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_FISHER", + "graphics_id": "OBJ_EVENT_GFX_FISHER", "x": 9, "y": 40, "elevation": 3, @@ -52,11 +54,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route12_EventScript_1AA48F", + "script": "Route12_EventScript_Chip", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_FISHER", + "graphics_id": "OBJ_EVENT_GFX_FISHER", "x": 16, "y": 47, "elevation": 3, @@ -65,11 +67,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "Route12_EventScript_1AA4CD", + "script": "Route12_EventScript_Hank", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_FISHER", + "graphics_id": "OBJ_EVENT_GFX_FISHER", "x": 13, "y": 59, "elevation": 3, @@ -78,11 +80,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route12_EventScript_1AA50B", + "script": "Route12_EventScript_Elliot", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SNORLAX", + "graphics_id": "OBJ_EVENT_GFX_SNORLAX", "x": 14, "y": 70, "elevation": 3, @@ -95,7 +97,7 @@ "flag": "FLAG_HIDE_ROUTE_12_SNORLAX" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 13, "y": 92, "elevation": 3, @@ -104,11 +106,11 @@ "movement_range_y": 4, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route12_EventScript_1AA587", + "script": "Route12_EventScript_Luca", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CAMPER", + "graphics_id": "OBJ_EVENT_GFX_CAMPER", "x": 10, "y": 99, "elevation": 3, @@ -117,11 +119,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route12_EventScript_1AA5C5", + "script": "Route12_EventScript_Justin", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_FISHER", + "graphics_id": "OBJ_EVENT_GFX_FISHER", "x": 18, "y": 108, "elevation": 3, @@ -130,11 +132,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route12_EventScript_1AA549", + "script": "Route12_EventScript_Andrew", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 11, "y": 100, "elevation": 3, @@ -143,11 +145,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 18, "y": 36, "elevation": 3, @@ -160,7 +162,7 @@ "flag": "FLAG_HIDE_ROUTE12_TM48" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 9, "y": 101, "elevation": 3, @@ -173,7 +175,7 @@ "flag": "FLAG_HIDE_ROUTE12_IRON" }, { - "graphics_id": "OBJECT_EVENT_GFX_BEAUTY", + "graphics_id": "OBJ_EVENT_GFX_BEAUTY", "x": 19, "y": 64, "elevation": 3, @@ -182,11 +184,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 0, - "script": "Route12_EventScript_1AA649", + "script": "Route12_EventScript_Gia", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 19, "y": 63, "elevation": 3, @@ -195,11 +197,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 0, - "script": "Route12_EventScript_1AA603", + "script": "Route12_EventScript_Jes", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 12, "y": 111, "elevation": 3, @@ -208,7 +210,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_13" } ], @@ -245,17 +247,19 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 17, "y": 13, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "Route12_EventScript_RouteSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 15, "y": 69, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "Route12_EventScript_FishingSign" }, { diff --git a/data/maps/Route12/scripts.inc b/data/maps/Route12/scripts.inc index 9fe6d2e39..9ace7b7b0 100644 --- a/data/maps/Route12/scripts.inc +++ b/data/maps/Route12/scripts.inc @@ -30,7 +30,7 @@ Route12_EventScript_Snorlax:: @ 8168014 setflag FLAG_WOKE_UP_ROUTE_12_SNORLAX dowildbattle clearflag FLAG_SYS_SPECIAL_WILD_BATTLE - specialvar VAR_RESULT, Special_GetBattleOutcome + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, B_OUTCOME_WON goto_if_eq Route12_EventScript_FoughtSnorlax compare VAR_RESULT, B_OUTCOME_RAN diff --git a/data/maps/Route12/text.inc b/data/maps/Route12/text.inc index 06371bf5c..9c984cc47 100644 --- a/data/maps/Route12/text.inc +++ b/data/maps/Route12/text.inc @@ -17,87 +17,87 @@ Text_WantToUsePokeFlute:: @ 81853CC Text_PlayedPokeFlute:: @ 81853E8 .string "{PLAYER} played the POKé FLUTE.$" -Text_185402:: @ 8185402 +Route12_Text_NedIntro:: @ 8185402 .string "Yeah!\n" .string "I got a bite here!$" -Text_18541B:: @ 818541B +Route12_Text_NedDefeat:: @ 818541B .string "Tch!\n" .string "Just a small fry…$" -Text_185432:: @ 8185432 +Route12_Text_NedPostBattle:: @ 8185432 .string "Hang on!\n" .string "My line's snagged!$" -Text_18544E:: @ 818544E +Route12_Text_ChipIntro:: @ 818544E .string "Be patient.\n" .string "Fishing is a waiting game.$" -Text_185475:: @ 8185475 +Route12_Text_ChipDefeat:: @ 8185475 .string "That one got away!$" -Text_185488:: @ 8185488 +Route12_Text_ChipPostBattle:: @ 8185488 .string "With a better ROD, I could catch\n" .string "better POKéMON…$" -Text_1854B9:: @ 81854B9 +Route12_Text_JustinIntro:: @ 81854B9 .string "I'm searching for a MOON STONE.\n" .string "Have you found one?$" -Text_1854ED:: @ 81854ED +Route12_Text_JustinDefeat:: @ 81854ED .string "Oww!$" -Text_1854F2:: @ 81854F2 +Route12_Text_JustinPostBattle:: @ 81854F2 .string "I could have made my POKéMON\n" .string "evolve with a MOON STONE.\p" .string "I would have won then, I bet.$" -Text_185547:: @ 8185547 +Route12_Text_LucaIntro:: @ 8185547 .string "Electricity is my specialty.\p" .string "I don't know a thing about POKéMON\n" .string "of the sea, though.$" -Text_18559B:: @ 818559B +Route12_Text_LucaDefeat:: @ 818559B .string "Unplugged!$" -Text_1855A6:: @ 81855A6 +Route12_Text_LucaPostBattle:: @ 81855A6 .string "Water conducts electricity, so you\n" .string "should zap sea POKéMON.$" -Text_1855E1:: @ 81855E1 +Route12_Text_HankIntro:: @ 81855E1 .string "The FISHING FOOL versus POKéMON\n" .string "KID!$" -Text_185606:: @ 8185606 +Route12_Text_HankDefeat:: @ 8185606 .string "Touch too much!$" -Text_185616:: @ 8185616 +Route12_Text_HankPostBattle:: @ 8185616 .string "I guess you get to be good at\n" .string "what you like.\p" .string "Well, you beat me at POKéMON,\n" .string "but you can't top me at fishing.$" -Text_185682:: @ 8185682 +Route12_Text_ElliotIntro:: @ 8185682 .string "I love fishing, don't get me wrong.\p" .string "But it'd be best if I also had more\n" .string "work.$" -Text_1856D0:: @ 81856D0 +Route12_Text_ElliotDefeat:: @ 81856D0 .string "It's not easy…$" -Text_1856DF:: @ 81856DF +Route12_Text_ElliotPostBattle:: @ 81856DF .string "It's all right.\n" .string "Losing doesn't bug me anymore.$" -Text_18570E:: @ 818570E +Route12_Text_AndrewIntro:: @ 818570E .string "What's catching?\p" .string "You never know what you could\n" .string "catch!$" -Text_185744:: @ 8185744 +Route12_Text_AndrewDefeat:: @ 8185744 .string "Lost it!$" -Text_18574D:: @ 818574D +Route12_Text_AndrewPostBattle:: @ 818574D .string "What, MAGIKARP?\p" .string "I catch them all the time, sure.\n" .string "But, boy are they wimpy.$" @@ -109,3 +109,36 @@ Route12_Text_RouteSign:: @ 8185797 Route12_Text_SportfishingArea:: @ 81857B3 .string "SPORTFISHING AREA$" +Route12_Text_JesIntro:: @ 81857C5 + .string "JES: If I win, I'm going to\n" + .string "propose to GIA.$" + +Route12_Text_JesDefeat:: @ 81857F1 + .string "JES: Oh, please, why couldn't you\n" + .string "let us win?$" + +Route12_Text_JesPostBattle:: @ 818581F + .string "JES: Oh, GIA, forgive me,\n" + .string "my love!$" + +Route12_Text_JesNotEnoughMons:: @ 8185842 + .string "JES: GIA and I, we'll be\n" + .string "together forever.\p" + .string "We won't battle unless you have\n" + .string "two POKéMON of your own.$" + +Route12_Text_GiaIntro:: @ 81858A6 + .string "GIA: Hey, JES…\p" + .string "If we win, I'll marry you!$" + +Route12_Text_GiaDefeat:: @ 81858D0 + .string "GIA: Oh, but why?$" + +Route12_Text_GiaPostBattle:: @ 81858E2 + .string "GIA: JES, you silly!\n" + .string "You ruined this!$" + +Route12_Text_GiaNotEnoughMons:: @ 8185908 + .string "GIA: I can't bear to battle\n" + .string "without my JES!\p" + .string "Don't you have one more POKéMON?$" diff --git a/data/maps/Route12_FishingHouse/map.json b/data/maps/Route12_FishingHouse/map.json index fabd77a97..ae79e4465 100644 --- a/data/maps/Route12_FishingHouse/map.json +++ b/data/maps/Route12_FishingHouse/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_12", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_FISHER", + "graphics_id": "OBJ_EVENT_GFX_FISHER", "x": 4, "y": 4, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route12_FishingHouse_EventScript_16FF0C", + "script": "Route12_FishingHouse_EventScript_FishingGuruBrother", "flag": "0" } ], @@ -53,11 +55,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 9, "y": 1, "elevation": 0, - "script": "Route12_FishingHouse_EventScript_170067" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route12_FishingHouse_EventScript_MagikarpRecordSign" } ] } diff --git a/data/maps/Route12_FishingHouse/scripts.inc b/data/maps/Route12_FishingHouse/scripts.inc index e1cd920d7..70c8bf48f 100644 --- a/data/maps/Route12_FishingHouse/scripts.inc +++ b/data/maps/Route12_FishingHouse/scripts.inc @@ -1,110 +1,110 @@ Route12_FishingHouse_MapScripts:: @ 816FF0B .byte 0 -Route12_FishingHouse_EventScript_16FF0C:: @ 816FF0C +Route12_FishingHouse_EventScript_FishingGuruBrother:: @ 816FF0C lock faceplayer - goto_if_set FLAG_GOT_SUPER_ROD, EventScript_16FF7F - msgbox gUnknown_819EFE0, MSGBOX_YESNO + goto_if_set FLAG_GOT_SUPER_ROD, Route12_FishingHouse_EventScript_CheckMagikarpRecord + msgbox Route12_FishingHouse_Text_DoYouLikeToFish, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_16FF34 - msgbox gUnknown_819F1FA + goto_if_eq Route12_FishingHouse_EventScript_GiveSuperRod + msgbox Route12_FishingHouse_Text_OhThatsDisappointing release end -EventScript_16FF34:: @ 816FF34 +Route12_FishingHouse_EventScript_GiveSuperRod:: @ 816FF34 checkitemspace ITEM_SUPER_ROD, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_16FF75 + goto_if_eq Route12_FishingHouse_EventScript_NoRoomForSuperRod additem ITEM_SUPER_ROD - msgbox gUnknown_819F05B - msgreceiveditem gUnknown_819F0B2, ITEM_SUPER_ROD + msgbox Route12_FishingHouse_Text_TakeThisAndFish + msgreceiveditem Route12_FishingHouse_Text_ReceivedSuperRod, ITEM_SUPER_ROD setflag FLAG_GOT_SUPER_ROD - msgbox gUnknown_819F0EB + msgbox Route12_FishingHouse_Text_IfYouCatchBigMagikarpShowMe release end -EventScript_16FF75:: @ 816FF75 - msgbox gUnknown_819F494 +Route12_FishingHouse_EventScript_NoRoomForSuperRod:: @ 816FF75 + msgbox Route12_FishingHouse_Text_NoRoomForGift release end -EventScript_16FF7F:: @ 816FF7F +Route12_FishingHouse_EventScript_CheckMagikarpRecord:: @ 816FF7F goto_if_questlog EventScript_ReleaseEnd special sub_8112364 setvar VAR_0x8004, SPECIES_MAGIKARP - specialvar VAR_RESULT, Special_PlayerPartyContainsSpecies - compare VAR_RESULT, 0 - goto_if_eq EventScript_16FFF5 + specialvar VAR_RESULT, DoesPlayerPartyContainSpecies + compare VAR_RESULT, FALSE + goto_if_eq Route12_FishingHouse_EventScript_NoMagikarpInParty special GetMagikarpSizeRecordInfo - msgbox gUnknown_819F2DB - special Special_ChooseMonFromParty + msgbox Route12_FishingHouse_Text_OhMagikarpAllowMeToSee + special ChoosePartyMon waitstate copyvar VAR_RESULT, VAR_0x8004 - compare VAR_RESULT, 6 - goto_if_ge EventScript_16FFFF + compare VAR_RESULT, PARTY_SIZE + goto_if_ge Route12_FishingHouse_EventScript_CancelShowMon special CompareMagikarpSize compare VAR_RESULT, 1 - goto_if_eq EventScript_170001 + goto_if_eq Route12_FishingHouse_EventScript_NotMagikarp compare VAR_RESULT, 2 - goto_if_eq EventScript_17000B + goto_if_eq Route12_FishingHouse_EventScript_NotRecordMagikarp compare VAR_RESULT, 3 - goto_if_eq EventScript_170031 + goto_if_eq Route12_FishingHouse_EventScript_NewRecordMagikarp compare VAR_RESULT, 4 - goto_if_eq EventScript_17001E + goto_if_eq Route12_FishingHouse_EventScript_TieRecordMagikarp release end -EventScript_16FFF5:: @ 816FFF5 - msgbox gUnknown_819F217 +Route12_FishingHouse_EventScript_NoMagikarpInParty:: @ 816FFF5 + msgbox Route12_FishingHouse_Text_TryFishingBringMeMagikarp release end -EventScript_16FFFF:: @ 816FFFF +Route12_FishingHouse_EventScript_CancelShowMon:: @ 816FFFF release end -EventScript_170001:: @ 8170001 - msgbox gUnknown_819F468 +Route12_FishingHouse_EventScript_NotMagikarp:: @ 8170001 + msgbox Route12_FishingHouse_Text_DoesntLookLikeMagikarp release end -EventScript_17000B:: @ 817000B - goto_if_unset FLAG_GOT_RECORD_SETTING_MAGIKARP, EventScript_170031 - msgbox gUnknown_819F40A +Route12_FishingHouse_EventScript_NotRecordMagikarp:: @ 817000B + goto_if_unset FLAG_GOT_RECORD_SETTING_MAGIKARP, Route12_FishingHouse_EventScript_NewRecordMagikarp + msgbox Route12_FishingHouse_Text_HmmXInchesDoesntMeasureUp release end -EventScript_17001E:: @ 817001E - goto_if_unset FLAG_GOT_RECORD_SETTING_MAGIKARP, EventScript_170031 - msgbox gUnknown_819F3CB +Route12_FishingHouse_EventScript_TieRecordMagikarp:: @ 817001E + goto_if_unset FLAG_GOT_RECORD_SETTING_MAGIKARP, Route12_FishingHouse_EventScript_NewRecordMagikarp + msgbox Route12_FishingHouse_Text_HuhXInchesSameSizeAsLast release end -EventScript_170031:: @ 8170031 +Route12_FishingHouse_EventScript_NewRecordMagikarp:: @ 8170031 setflag FLAG_GOT_RECORD_SETTING_MAGIKARP - msgbox gUnknown_819F31B + msgbox Route12_FishingHouse_Text_WhoaXInchesTakeThis giveitem ITEM_NET_BALL - compare VAR_RESULT, 0 - goto_if_eq EventScript_17005D - msgbox gUnknown_819F395 + compare VAR_RESULT, FALSE + goto_if_eq Route12_FishingHouse_EventScript_NoRoomForNetBall + msgbox Route12_FishingHouse_Text_LookForwardToGreaterRecords release end -EventScript_17005D:: @ 817005D - msgbox gUnknown_819F494 +Route12_FishingHouse_EventScript_NoRoomForNetBall:: @ 817005D + msgbox Route12_FishingHouse_Text_NoRoomForGift release end -Route12_FishingHouse_EventScript_170067:: @ 8170067 +Route12_FishingHouse_EventScript_MagikarpRecordSign:: @ 8170067 lockall - goto_if_set FLAG_GOT_RECORD_SETTING_MAGIKARP, EventScript_17007B - msgbox gUnknown_819F50C + goto_if_set FLAG_GOT_RECORD_SETTING_MAGIKARP, Route12_FishingHouse_EventScript_MagikarpRecordSignRecordSet + msgbox Route12_FishingHouse_Text_BlankChartOfSomeSort releaseall end -EventScript_17007B:: @ 817007B +Route12_FishingHouse_EventScript_MagikarpRecordSignRecordSet:: @ 817007B special GetMagikarpSizeRecordInfo - msgbox gUnknown_819F4CF + msgbox Route12_FishingHouse_Text_MostGiganticMagikarpXInches releaseall end diff --git a/data/maps/Route12_FishingHouse/text.inc b/data/maps/Route12_FishingHouse/text.inc index 4f1f3f1fd..efe9b62a6 100644 --- a/data/maps/Route12_FishingHouse/text.inc +++ b/data/maps/Route12_FishingHouse/text.inc @@ -1,20 +1,20 @@ -gUnknown_819EFE0:: @ 819EFE0 +Route12_FishingHouse_Text_DoYouLikeToFish:: @ 819EFE0 .string "I'm the FISHING GURU's younger\n" .string "brother.\p" .string "I simply looove fishing!\n" .string "I can't bear to go without.\p" .string "Tell me, do you like to fish?$" -gUnknown_819F05B:: @ 819F05B +Route12_FishingHouse_Text_TakeThisAndFish:: @ 819F05B .string "Grand! I like your style.\n" .string "I think we can be friends.\p" .string "Take this and fish, young friend!$" -gUnknown_819F0B2:: @ 819F0B2 +Route12_FishingHouse_Text_ReceivedSuperRod:: @ 819F0B2 .string "{PLAYER} received a SUPER ROD from\n" .string "the FISHING GURU's brother.$" -gUnknown_819F0EB:: @ 819F0EB +Route12_FishingHouse_Text_IfYouCatchBigMagikarpShowMe:: @ 819F0EB .string "Fishing is a way of life!\n" .string "It is like the finest poetry.\p" .string "From the seas to rivers, go out\n" @@ -25,11 +25,11 @@ gUnknown_819F0EB:: @ 819F0EB .string "As much as I love to fish, I also\n" .string "love seeing gigantic MAGIKARP.$" -gUnknown_819F1FA:: @ 819F1FA +Route12_FishingHouse_Text_OhThatsDisappointing:: @ 819F1FA .string "Oh…\n" .string "That's so disappointing…$" -gUnknown_819F217:: @ 819F217 +Route12_FishingHouse_Text_TryFishingBringMeMagikarp:: @ 819F217 .string "Hello there, {PLAYER}!\n" .string "Have you been fishing?\p" .string "Try fishing with the SUPER ROD in\n" @@ -39,12 +39,12 @@ gUnknown_819F217:: @ 819F217 .string "Oh, and don't forget to bring me\n" .string "gigantic MAGIKARP.$" -gUnknown_819F2DB:: @ 819F2DB +Route12_FishingHouse_Text_OhMagikarpAllowMeToSee:: @ 819F2DB .string "Oh? {PLAYER}?\n" .string "Why, if it isn't a MAGIKARP!\p" .string "Allow me to see it, quick!$" -gUnknown_819F31B:: @ 819F31B +Route12_FishingHouse_Text_WhoaXInchesTakeThis:: @ 819F31B .string "… … …Whoa!\n" .string "{STR_VAR_2} inches!\p" .string "You have a rare appreciation for\n" @@ -52,37 +52,37 @@ gUnknown_819F31B:: @ 819F31B .string "You must take this.\n" .string "I insist!$" -gUnknown_819F395:: @ 819F395 +Route12_FishingHouse_Text_LookForwardToGreaterRecords:: @ 819F395 .string "I'll look forward to seeing greater\n" .string "records from you!$" -gUnknown_819F3CB:: @ 819F3CB +Route12_FishingHouse_Text_HuhXInchesSameSizeAsLast:: @ 819F3CB .string "Huh?\n" .string "{STR_VAR_2} inches?\p" .string "This is the same size as the one\n" .string "I saw before.$" -gUnknown_819F40A:: @ 819F40A +Route12_FishingHouse_Text_HmmXInchesDoesntMeasureUp:: @ 819F40A .string "Hmm…\n" .string "This one is {STR_VAR_2} inches long.\p" .string "It doesn't measure up to the\n" .string "{STR_VAR_3}-inch one you brought before.$" -gUnknown_819F468:: @ 819F468 +Route12_FishingHouse_Text_DoesntLookLikeMagikarp:: @ 819F468 .string "Uh… That doesn't look much like\n" .string "a MAGIKARP.$" -gUnknown_819F494:: @ 819F494 +Route12_FishingHouse_Text_NoRoomForGift:: @ 819F494 .string "Oh, no!\p" .string "I had a gift for you, but you have\n" .string "no room for it.$" -gUnknown_819F4CF:: @ 819F4CF +Route12_FishingHouse_Text_MostGiganticMagikarpXInches:: @ 819F4CF .string "The most gigantic MAGIKARP\n" .string "I have ever witnessed…\p" .string "{STR_VAR_3} inches!$" -gUnknown_819F50C:: @ 819F50C +Route12_FishingHouse_Text_BlankChartOfSomeSort:: @ 819F50C .string "It's a blank chart of some sort.\p" .string "It has spaces for writing in\n" .string "records of some kind.$" diff --git a/data/maps/Route12_NorthEntrance_1F/map.json b/data/maps/Route12_NorthEntrance_1F/map.json index d06875648..c4b7818db 100644 --- a/data/maps/Route12_NorthEntrance_1F/map.json +++ b/data/maps/Route12_NorthEntrance_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_12", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 1, - "unknown_19": 2, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_POLICEMAN", + "graphics_id": "OBJ_EVENT_GFX_POLICEMAN", "x": 1, "y": 5, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route12_NorthEntrance_1F_EventScript_16FE6E", + "script": "Route12_NorthEntrance_1F_EventScript_Guard", "flag": "0" } ], diff --git a/data/maps/Route12_NorthEntrance_1F/scripts.inc b/data/maps/Route12_NorthEntrance_1F/scripts.inc index 990d5f793..a2aa84b00 100644 --- a/data/maps/Route12_NorthEntrance_1F/scripts.inc +++ b/data/maps/Route12_NorthEntrance_1F/scripts.inc @@ -1,6 +1,6 @@ Route12_NorthEntrance_1F_MapScripts:: @ 816FE6D .byte 0 -Route12_NorthEntrance_1F_EventScript_16FE6E:: @ 816FE6E - msgbox gUnknown_819EDA7, MSGBOX_NPC +Route12_NorthEntrance_1F_EventScript_Guard:: @ 816FE6E + msgbox Route12_NorthEntrance_1F_Text_LookoutSpotUpstairs, MSGBOX_NPC end diff --git a/data/maps/Route12_NorthEntrance_1F/text.inc b/data/maps/Route12_NorthEntrance_1F/text.inc index 32f34428f..34dc041f8 100644 --- a/data/maps/Route12_NorthEntrance_1F/text.inc +++ b/data/maps/Route12_NorthEntrance_1F/text.inc @@ -1,4 +1,4 @@ -gUnknown_819EDA7:: @ 819EDA7 +Route12_NorthEntrance_1F_Text_LookoutSpotUpstairs:: @ 819EDA7 .string "There's a lookout spot upstairs.\n" .string "The view is magnificent.$" diff --git a/data/maps/Route12_NorthEntrance_2F/map.json b/data/maps/Route12_NorthEntrance_2F/map.json index f2cf37890..0bfea2720 100644 --- a/data/maps/Route12_NorthEntrance_2F/map.json +++ b/data/maps/Route12_NorthEntrance_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_12", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 7, "y": 5, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route12_NorthEntrance_2F_EventScript_16FE8A", + "script": "Route12_NorthEntrance_2F_EventScript_Lass", "flag": "0" } ], @@ -39,18 +41,20 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 1, "elevation": 0, - "script": "Route12_NorthEntrance_2F_EventScript_16FE78" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route12_NorthEntrance_2F_EventScript_LeftBinoculars" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 1, "elevation": 0, - "script": "Route12_NorthEntrance_2F_EventScript_16FE81" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route12_NorthEntrance_2F_EventScript_RightBinoculars" } ] } diff --git a/data/maps/Route12_NorthEntrance_2F/scripts.inc b/data/maps/Route12_NorthEntrance_2F/scripts.inc index b9fee6dda..a85398238 100644 --- a/data/maps/Route12_NorthEntrance_2F/scripts.inc +++ b/data/maps/Route12_NorthEntrance_2F/scripts.inc @@ -1,46 +1,46 @@ Route12_NorthEntrance_2F_MapScripts:: @ 816FE77 .byte 0 -Route12_NorthEntrance_2F_EventScript_16FE78:: @ 816FE78 - msgbox gUnknown_819EF5D, MSGBOX_SIGN +Route12_NorthEntrance_2F_EventScript_LeftBinoculars:: @ 816FE78 + msgbox Route12_NorthEntrance_2F_Text_TheresManFishing, MSGBOX_SIGN end -Route12_NorthEntrance_2F_EventScript_16FE81:: @ 816FE81 - msgbox gUnknown_819EFA0, MSGBOX_SIGN +Route12_NorthEntrance_2F_EventScript_RightBinoculars:: @ 816FE81 + msgbox Route12_NorthEntrance_2F_Text_ItsPokemonTower, MSGBOX_SIGN end -Route12_NorthEntrance_2F_EventScript_16FE8A:: @ 816FE8A +Route12_NorthEntrance_2F_EventScript_Lass:: @ 816FE8A lock faceplayer - goto_if_set FLAG_GOT_TM27, EventScript_16FF01 + goto_if_set FLAG_GOT_TM27, Route12_NorthEntrance_2F_EventScript_ExplainTM27 checkplayergender compare VAR_RESULT, MALE - call_if_eq EventScript_16FEE5 + call_if_eq Route12_NorthEntrance_2F_EventScript_TakeTMMale compare VAR_RESULT, FEMALE - call_if_eq EventScript_16FEEE + call_if_eq Route12_NorthEntrance_2F_EventScript_TakeTMFemale checkitemspace ITEM_TM27, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_16FEF7 - giveitem_msg gUnknown_819EE9F, ITEM_TM27 - msgbox gUnknown_819EEC6 + goto_if_eq Route12_NorthEntrance_2F_EventScript_NoRoomForTM27 + giveitem_msg Route12_NorthEntrance_2F_Text_ReceivedTM27FromLittleGirl, ITEM_TM27 + msgbox Route12_NorthEntrance_2F_Text_ExplainTM27 setflag FLAG_GOT_TM27 release end -EventScript_16FEE5:: @ 816FEE5 - msgbox gUnknown_819EDE1 +Route12_NorthEntrance_2F_EventScript_TakeTMMale:: @ 816FEE5 + msgbox Route12_NorthEntrance_2F_Text_TakeTMDontNeedAnymoreMale return -EventScript_16FEEE:: @ 816FEEE - msgbox gUnknown_819EE40 +Route12_NorthEntrance_2F_EventScript_TakeTMFemale:: @ 816FEEE + msgbox Route12_NorthEntrance_2F_Text_TakeTMDontNeedAnymoreFemale return -EventScript_16FEF7:: @ 816FEF7 - msgbox gUnknown_819EF3F +Route12_NorthEntrance_2F_EventScript_NoRoomForTM27:: @ 816FEF7 + msgbox Route12_NorthEntrance_2F_Text_DontHaveRoomForThis release end -EventScript_16FF01:: @ 816FF01 - msgbox gUnknown_819EEC6 +Route12_NorthEntrance_2F_EventScript_ExplainTM27:: @ 816FF01 + msgbox Route12_NorthEntrance_2F_Text_ExplainTM27 release end diff --git a/data/maps/Route12_NorthEntrance_2F/text.inc b/data/maps/Route12_NorthEntrance_2F/text.inc index df2ac596b..6e525d6e4 100644 --- a/data/maps/Route12_NorthEntrance_2F/text.inc +++ b/data/maps/Route12_NorthEntrance_2F/text.inc @@ -1,34 +1,35 @@ -gUnknown_819EDE1:: @ 819EDE1 +@ Male and female text identical, differ (presumably) in JP +Route12_NorthEntrance_2F_Text_TakeTMDontNeedAnymoreMale:: @ 819EDE1 .string "My POKéMON's ashes are stored in\n" .string "POKéMON TOWER.\p" .string "You can have this TM.\n" .string "I don't need it anymore…$" -gUnknown_819EE40:: @ 819EE40 +Route12_NorthEntrance_2F_Text_TakeTMDontNeedAnymoreFemale:: @ 819EE40 .string "My POKéMON's ashes are stored in\n" .string "POKéMON TOWER.\p" .string "You can have this TM.\n" .string "I don't need it anymore…$" -gUnknown_819EE9F:: @ 819EE9F +Route12_NorthEntrance_2F_Text_ReceivedTM27FromLittleGirl:: @ 819EE9F .string "{PLAYER} received TM27\n" .string "from the little girl.$" -gUnknown_819EEC6:: @ 819EEC6 +Route12_NorthEntrance_2F_Text_ExplainTM27:: @ 819EEC6 .string "TM27 is a move called RETURN…\p" .string "If you treat your POKéMON good,\n" .string "it will return your love by working\l" .string "its hardest in battle.$" -gUnknown_819EF3F:: @ 819EF3F +Route12_NorthEntrance_2F_Text_DontHaveRoomForThis:: @ 819EF3F .string "You don't have room for this.$" -gUnknown_819EF5D:: @ 819EF5D +Route12_NorthEntrance_2F_Text_TheresManFishing:: @ 819EF5D .string "Let's see what the binoculars have\n" .string "to show…\p" .string "There's a man fishing!$" -gUnknown_819EFA0:: @ 819EFA0 +Route12_NorthEntrance_2F_Text_ItsPokemonTower:: @ 819EFA0 .string "Let's see what the binoculars have\n" .string "to show…\p" .string "It's POKéMON TOWER!$" diff --git a/data/maps/Route13/map.json b/data/maps/Route13/map.json index 2e9f47d52..d3d4c520f 100644 --- a/data/maps/Route13/map.json +++ b/data/maps/Route13/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_13", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ROUTE12", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 62, "y": 6, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route13_EventScript_1AA803", + "script": "Route13_EventScript_Alma", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 63, "y": 12, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route13_EventScript_1AA749", + "script": "Route13_EventScript_Sebastian", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 54, "y": 11, "elevation": 3, @@ -60,11 +62,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route13_EventScript_1AA841", + "script": "Route13_EventScript_Susie", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BEAUTY", + "graphics_id": "OBJ_EVENT_GFX_BEAUTY", "x": 42, "y": 7, "elevation": 3, @@ -73,11 +75,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route13_EventScript_1AA70B", + "script": "Route13_EventScript_Sheila", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BEAUTY", + "graphics_id": "OBJ_EVENT_GFX_BEAUTY", "x": 43, "y": 7, "elevation": 3, @@ -86,11 +88,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route13_EventScript_1AA6CD", + "script": "Route13_EventScript_Lola", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 35, "y": 10, "elevation": 3, @@ -99,11 +101,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route13_EventScript_1AA87F", + "script": "Route13_EventScript_Valerie", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 29, "y": 11, "elevation": 3, @@ -112,11 +114,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route13_EventScript_1AA8BD", + "script": "Route13_EventScript_Gwen", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 9, "y": 14, "elevation": 3, @@ -125,11 +127,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route13_EventScript_1AA7C5", + "script": "Route13_EventScript_Robert", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 16, "y": 5, "elevation": 3, @@ -138,11 +140,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route13_EventScript_1AA787", + "script": "Route13_EventScript_Perry", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 14, "y": 8, "elevation": 3, @@ -151,11 +153,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route13_EventScript_1AA68F", + "script": "Route13_EventScript_Jared", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 44, "y": 5, "elevation": 3, @@ -164,7 +166,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" } ], @@ -172,25 +174,28 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 41, "y": 12, "elevation": 0, - "script": "Route13_EventScript_1680C8" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route13_EventScript_RouteSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 37, "y": 6, "elevation": 0, - "script": "Route13_EventScript_1680BF" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route13_EventScript_TrainerTips2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 21, "y": 14, "elevation": 0, - "script": "Route13_EventScript_1680B6" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route13_EventScript_TrainerTips1" }, { "type": "hidden_item", diff --git a/data/maps/Route13/scripts.inc b/data/maps/Route13/scripts.inc index 6524d5dd6..9cedaa23f 100644 --- a/data/maps/Route13/scripts.inc +++ b/data/maps/Route13/scripts.inc @@ -1,14 +1,14 @@ Route13_MapScripts:: @ 81680B5 .byte 0 -Route13_EventScript_1680B6:: @ 81680B6 - msgbox gUnknown_8185DB7, MSGBOX_SIGN +Route13_EventScript_TrainerTips1:: @ 81680B6 + msgbox Route13_Text_LookToLeftOfThatPost, MSGBOX_SIGN end -Route13_EventScript_1680BF:: @ 81680BF - msgbox gUnknown_8185DEF, MSGBOX_SIGN +Route13_EventScript_TrainerTips2:: @ 81680BF + msgbox Route13_Text_SelectToSwitchItems, MSGBOX_SIGN end -Route13_EventScript_1680C8:: @ 81680C8 - msgbox gUnknown_8185E2C, MSGBOX_SIGN +Route13_EventScript_RouteSign:: @ 81680C8 + msgbox Route13_Text_RouteSign, MSGBOX_SIGN end diff --git a/data/maps/Route13/text.inc b/data/maps/Route13/text.inc index 1b570d424..edf58209c 100644 --- a/data/maps/Route13/text.inc +++ b/data/maps/Route13/text.inc @@ -1,162 +1,128 @@ -Text_1857C5:: @ 81857C5 - .string "JES: If I win, I'm going to\n" - .string "propose to GIA.$" - -Text_1857F1:: @ 81857F1 - .string "JES: Oh, please, why couldn't you\n" - .string "let us win?$" - -Text_18581F:: @ 818581F - .string "JES: Oh, GIA, forgive me,\n" - .string "my love!$" - -Text_185842:: @ 8185842 - .string "JES: GIA and I, we'll be\n" - .string "together forever.\p" - .string "We won't battle unless you have\n" - .string "two POKéMON of your own.$" - -Text_1858A6:: @ 81858A6 - .string "GIA: Hey, JES…\p" - .string "If we win, I'll marry you!$" - -Text_1858D0:: @ 81858D0 - .string "GIA: Oh, but why?$" - -Text_1858E2:: @ 81858E2 - .string "GIA: JES, you silly!\n" - .string "You ruined this!$" - -Text_185908:: @ 8185908 - .string "GIA: I can't bear to battle\n" - .string "without my JES!\p" - .string "Don't you have one more POKéMON?$" - -Text_185955:: @ 8185955 +Route13_Text_SebastianIntro:: @ 8185955 .string "My bird POKéMON want to battle\n" .string "with you!$" -Text_18597E:: @ 818597E +Route13_Text_SebastianDefeat:: @ 818597E .string "My PIDGEY and PIDGEOTTO combo\n" .string "lost?$" -Text_1859A2:: @ 81859A2 +Route13_Text_SebastianPostBattle:: @ 81859A2 .string "My POKéMON look happy even though\n" .string "they lost.$" -Text_1859CF:: @ 81859CF +Route13_Text_SusieIntro:: @ 81859CF .string "I'm told I'm good for a kid.$" -Text_1859EC:: @ 81859EC +Route13_Text_SusieDefeat:: @ 81859EC .string "Ohh!\n" .string "I lost!$" -Text_1859F9:: @ 81859F9 +Route13_Text_SusiePostBattle:: @ 81859F9 .string "I want to become a good TRAINER.\n" .string "I'll train hard, just watch.$" -Text_185A37:: @ 8185A37 +Route13_Text_ValerieIntro:: @ 8185A37 .string "Wow!\n" .string "Your BADGES are too cool!$" -Text_185A56:: @ 8185A56 +Route13_Text_ValerieDefeat:: @ 8185A56 .string "Not enough!$" -Text_185A62:: @ 8185A62 +Route13_Text_ValeriePostBattle:: @ 8185A62 .string "You got those BADGES from GYM\n" .string "LEADERS. I know!$" -Text_185A91:: @ 8185A91 +Route13_Text_GwenIntro:: @ 8185A91 .string "My cute POKéMON wish to make your\n" .string "acquaintance.$" -Text_185AC1:: @ 8185AC1 +Route13_Text_GwenDefeat:: @ 8185AC1 .string "Good going!\n" .string "You totally won!$" -Text_185ADE:: @ 8185ADE +Route13_Text_GwenPostBattle:: @ 8185ADE .string "You have to make POKéMON battle\n" .string "to toughen them up.$" -Text_185B12:: @ 8185B12 +Route13_Text_AlmaIntro:: @ 8185B12 .string "I found CARBOS in a cave once\n" .string "while I was spelunking.$" -Text_185B48:: @ 8185B48 +Route13_Text_AlmaDefeat:: @ 8185B48 .string "Oh, too bad!\n" .string "I just messed up!$" -Text_185B67:: @ 8185B67 +Route13_Text_AlmaPostBattle:: @ 8185B67 .string "CARBOS boosted the SPEED of my\n" .string "POKéMON.$" -Text_185B8F:: @ 8185B8F +Route13_Text_PerryIntro:: @ 8185B8F .string "I'm not going to lose.\n" .string "Not when the wind's blowing my way!$" -Text_185BCA:: @ 8185BCA +Route13_Text_PerryDefeat:: @ 8185BCA .string "The wind turned!$" -Text_185BDB:: @ 8185BDB +Route13_Text_PerryPostBattle:: @ 8185BDB .string "I'm beat.\n" .string "I guess I'll FLY home.$" -Text_185BFC:: @ 8185BFC +Route13_Text_LolaIntro:: @ 8185BFC .string "Sure, I'll play with you, sweetie.$" -Text_185C1F:: @ 8185C1F +Route13_Text_LolaDefeat:: @ 8185C1F .string "Oh!\n" .string "You little beast!$" -Text_185C35:: @ 8185C35 +Route13_Text_LolaPostBattle:: @ 8185C35 .string "I wonder which is stronger, male or\n" .string "female POKéMON?$" -Text_185C69:: @ 8185C69 +Route13_Text_SheilaIntro:: @ 8185C69 .string "Do you want to battle some\n" .string "POKéMON with me?$" -Text_185C95:: @ 8185C95 +Route13_Text_SheilaDefeat:: @ 8185C95 .string "It's over already?$" -Text_185CA8:: @ 8185CA8 +Route13_Text_SheilaPostBattle:: @ 8185CA8 .string "I don't know anything about\n" .string "POKéMON actually.\p" .string "The ones I use… I picked them\n" .string "for their looks!$" -Text_185D05:: @ 8185D05 +Route13_Text_JaredIntro:: @ 8185D05 .string "What're you lookin' at?$" -Text_185D1D:: @ 8185D1D +Route13_Text_JaredDefeat:: @ 8185D1D .string "Dang!\n" .string "Stripped gears!$" -Text_185D33:: @ 8185D33 +Route13_Text_JaredPostBattle:: @ 8185D33 .string "Get lost!$" -Text_185D3D:: @ 8185D3D +Route13_Text_RobertIntro:: @ 8185D3D .string "I always go with bird POKéMON.\n" .string "I've dedicated myself to them.$" -Text_185D7B:: @ 8185D7B +Route13_Text_RobertDefeat:: @ 8185D7B .string "Out of power!$" -Text_185D89:: @ 8185D89 +Route13_Text_RobertPostBattle:: @ 8185D89 .string "I wish I could fly like PIDGEY and\n" .string "PIDGEOTTO…$" -gUnknown_8185DB7:: @ 8185DB7 +Route13_Text_LookToLeftOfThatPost:: @ 8185DB7 .string "TRAINER TIPS\p" .string "Look, look!\n" .string "Look to the left of that post!$" -gUnknown_8185DEF:: @ 8185DEF +Route13_Text_SelectToSwitchItems:: @ 8185DEF .string "TRAINER TIPS\p" .string "Use SELECT to switch items in the\n" .string "ITEMS window.$" -gUnknown_8185E2C:: @ 8185E2C +Route13_Text_RouteSign:: @ 8185E2C .string "ROUTE 13\n" .string "North to SILENCE BRIDGE$" diff --git a/data/maps/Route14/map.json b/data/maps/Route14/map.json index cf88cbf8a..ec17c5556 100644 --- a/data/maps/Route14/map.json +++ b/data/maps/Route14/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_14", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ROUTE15", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 7, "y": 37, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route14_EventScript_1AA9B5", + "script": "Route14_EventScript_Gerald", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 18, "y": 35, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 2, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route14_EventScript_1AA9F3", + "script": "Route14_EventScript_Donald", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 10, "y": 14, "elevation": 3, @@ -60,11 +62,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "Route14_EventScript_1AAAEB", + "script": "Route14_EventScript_Beck", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 16, "y": 16, "elevation": 3, @@ -73,11 +75,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route14_EventScript_1AAB29", + "script": "Route14_EventScript_Marlon", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 7, "y": 31, "elevation": 3, @@ -86,11 +88,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route14_EventScript_1AA977", + "script": "Route14_EventScript_Isaac", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 7, "y": 34, "elevation": 3, @@ -99,11 +101,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route14_EventScript_1AA8FB", + "script": "Route14_EventScript_Malik", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 8, "y": 9, "elevation": 3, @@ -112,11 +114,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route14_EventScript_1AAAAD", + "script": "Route14_EventScript_Mitch", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 7, "y": 6, "elevation": 3, @@ -125,11 +127,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route14_EventScript_1AAA6F", + "script": "Route14_EventScript_Carter", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 10, "y": 37, "elevation": 3, @@ -138,11 +140,11 @@ "movement_range_y": 6, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route14_EventScript_1AA939", + "script": "Route14_EventScript_Lukas", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 18, "y": 47, "elevation": 3, @@ -151,11 +153,11 @@ "movement_range_y": 2, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route14_EventScript_1AAA31", + "script": "Route14_EventScript_Benny", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 7, "y": 26, "elevation": 3, @@ -164,11 +166,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 12, "y": 35, "elevation": 3, @@ -177,11 +179,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_13" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 1, "y": 47, "elevation": 3, @@ -190,11 +192,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_14" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 13, "y": 51, "elevation": 3, @@ -203,11 +205,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route14_EventScript_1AABAD", + "script": "Route14_EventScript_Jan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 12, "y": 51, "elevation": 3, @@ -216,7 +218,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route14_EventScript_1AAB67", + "script": "Route14_EventScript_Kiri", "flag": "0" } ], @@ -224,11 +226,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 17, "y": 12, "elevation": 0, - "script": "Route14_EventScript_1680D2" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route14_EventScript_RouteSign" }, { "type": "hidden_item", diff --git a/data/maps/Route14/scripts.inc b/data/maps/Route14/scripts.inc index 551940250..46e3774ee 100644 --- a/data/maps/Route14/scripts.inc +++ b/data/maps/Route14/scripts.inc @@ -1,6 +1,6 @@ Route14_MapScripts:: @ 81680D1 .byte 0 -Route14_EventScript_1680D2:: @ 81680D2 - msgbox gUnknown_8186399, MSGBOX_SIGN +Route14_EventScript_RouteSign:: @ 81680D2 + msgbox Route14_Text_RouteSign, MSGBOX_SIGN end diff --git a/data/maps/Route14/text.inc b/data/maps/Route14/text.inc index 37008ab3b..320c250ee 100644 --- a/data/maps/Route14/text.inc +++ b/data/maps/Route14/text.inc @@ -1,126 +1,156 @@ -Text_185E4D:: @ 8185E4D +Route14_Text_CarterIntro:: @ 8185E4D .string "You need to use TMs to teach good\n" .string "moves to POKéMON.$" -Text_185E81:: @ 8185E81 +Route14_Text_CarterDefeat:: @ 8185E81 .string "Not good enough quite yet.$" -Text_185E9C:: @ 8185E9C +Route14_Text_CarterPostBattle:: @ 8185E9C .string "You have some HMs, right? POKéMON\n" .string "can't forget those moves easily.$" -Text_185EDF:: @ 8185EDF +Route14_Text_MitchIntro:: @ 8185EDF .string "My bird POKéMON should be ready\n" .string "for battle.$" -Text_185F0B:: @ 8185F0B +Route14_Text_MitchDefeat:: @ 8185F0B .string "Not ready yet!$" -Text_185F1A:: @ 8185F1A +Route14_Text_MitchPostBattle:: @ 8185F1A .string "My bird POKéMON need to learn\n" .string "better moves.$" -Text_185F46:: @ 8185F46 +Route14_Text_BeckIntro:: @ 8185F46 .string "They have TMs on sale at the\n" .string "CELADON DEPT. STORE.\p" .string "TMs aren't really rare, but not\n" .string "many people have HMs.$" -Text_185FAE:: @ 8185FAE +Route14_Text_BeckDefeat:: @ 8185FAE .string "Aww, bummer!$" -Text_185FBB:: @ 8185FBB +Route14_Text_BeckPostBattle:: @ 8185FBB .string "Try teaching POKéMON a move that's\n" .string "the same type as it.\p" .string "That apparently boosts the power\n" .string "of the move.$" -Text_186021:: @ 8186021 +Route14_Text_MarlonIntro:: @ 8186021 .string "Have you taught your bird POKéMON\n" .string "how to FLY?\p" .string "You'll be able to soar with it into\n" .string "the sky!$" -Text_18607C:: @ 818607C +Route14_Text_MarlonDefeat:: @ 818607C .string "Shot down in flames!$" -Text_186091:: @ 8186091 +Route14_Text_MarlonPostBattle:: @ 8186091 .string "Bird POKéMON are my one true love.\n" .string "I don't want to raise anything else.$" -Text_1860D9:: @ 81860D9 +Route14_Text_DonaldIntro:: @ 81860D9 .string "Have you heard the legend of the\n" .string "winged mirages?$" -Text_18610A:: @ 818610A +Route14_Text_DonaldDefeat:: @ 818610A .string "Why?\n" .string "Why'd I lose?$" -Text_18611D:: @ 818611D +Route14_Text_DonaldPostBattle:: @ 818611D .string "Well, the winged mirages are the\n" .string "legendary bird POKéMON.\p" .string "There are three of them: ARTICUNO,\n" .string "ZAPDOS, and MOLTRES.$" -Text_18618E:: @ 818618E +Route14_Text_BennyIntro:: @ 818618E .string "I'm not into it, but okay.\n" .string "Let's go!$" -Text_1861B3:: @ 81861B3 +Route14_Text_BennyDefeat:: @ 81861B3 .string "I knew it!$" -Text_1861BE:: @ 81861BE +Route14_Text_BennyPostBattle:: @ 81861BE .string "Winning, losing… It's insignificant\n" .string "under this huge sky.$" -Text_1861F7:: @ 81861F7 +Route14_Text_LukasIntro:: @ 81861F7 .string "C'mon, c'mon.\n" .string "Let's go, let's go, let's go!$" -Text_186223:: @ 8186223 +Route14_Text_LukasDefeat:: @ 8186223 .string "Arrg!\n" .string "Lost! Get lost!$" -Text_186239:: @ 8186239 +Route14_Text_LukasPostBattle:: @ 8186239 .string "What, what, what?\n" .string "What do you want still?$" -Text_186263:: @ 8186263 +Route14_Text_IsaacIntro:: @ 8186263 .string "I need to burn some time.\n" .string "Shut up and battle.$" -Text_186291:: @ 8186291 +Route14_Text_IsaacDefeat:: @ 8186291 .string "What?\n" .string "You!?$" -Text_18629D:: @ 818629D +Route14_Text_IsaacPostBattle:: @ 818629D .string "Raising POKéMON is a drag, man.$" -Text_1862BD:: @ 81862BD +Route14_Text_GeraldIntro:: @ 81862BD .string "We ride out here because of the\n" .string "wide-open spaces.$" -Text_1862EF:: @ 81862EF +Route14_Text_GeraldDefeat:: @ 81862EF .string "Wipeout!$" -Text_1862F8:: @ 81862F8 +Route14_Text_GeraldPostBattle:: @ 81862F8 .string "It's cool you made your POKéMON so\n" .string "strong.\p" .string "Might is right!\n" .string "And you know it!$" -Text_186344:: @ 8186344 +Route14_Text_MalikIntro:: @ 8186344 .string "POKéMON battle?\n" .string "Cool! Rumble!$" -Text_186362:: @ 8186362 +Route14_Text_MalikDefeat:: @ 8186362 .string "Blown away!$" -Text_18636E:: @ 818636E +Route14_Text_MalikPostBattle:: @ 818636E .string "You know who'd win, you and me\n" .string "one-on-one!$" -gUnknown_8186399:: @ 8186399 +Route14_Text_RouteSign:: @ 8186399 .string "ROUTE 14\n" .string "West to FUCHSIA CITY$" +Route14_Text_KiriIntro:: @ 81863B7 + .string "KIRI: JAN, let's try really,\n" + .string "really hard together.$" + +Route14_Text_KiriDefeat:: @ 81863EA + .string "KIRI: Whimper…\n" + .string "We lost, didn't we?$" + +Route14_Text_KiriPostBattle:: @ 818640D + .string "KIRI: Did we lose because of me?$" + +Route14_Text_KiriNotEnoughMons:: @ 818642E + .string "KIRI: We can battle if you have\n" + .string "two POKéMON.$" + +Route14_Text_JanIntro:: @ 818645B + .string "JAN: KIRI, here we go!\n" + .string "We have to try hard!$" + +Route14_Text_JanDefeat:: @ 8186487 + .string "JAN: Eeeeh!\n" + .string "No fair!$" + +Route14_Text_JanPostBattle:: @ 818649C + .string "JAN: KIRI, don't cry!\n" + .string "We'll just try harder next time.$" + +Route14_Text_JanNotEnoughMons:: @ 81864D3 + .string "JAN: You want to battle?\n" + .string "You don't have enough POKéMON.$" diff --git a/data/maps/Route15/map.json b/data/maps/Route15/map.json index 12670bc16..38d12303a 100644 --- a/data/maps/Route15/map.json +++ b/data/maps/Route15/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_15", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_FUCHSIA_CITY", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 22, "y": 13, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route15_EventScript_1AAD67", + "script": "Route15_EventScript_Yazmin", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 31, "y": 12, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "Route15_EventScript_1AACEB", + "script": "Route15_EventScript_Edwin", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 37, "y": 14, "elevation": 3, @@ -60,11 +62,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route15_EventScript_1AAD29", + "script": "Route15_EventScript_Chester", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 44, "y": 13, "elevation": 3, @@ -73,11 +75,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route15_EventScript_1AADA5", + "script": "Route15_EventScript_Kindra", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BEAUTY", + "graphics_id": "OBJ_EVENT_GFX_BEAUTY", "x": 50, "y": 12, "elevation": 3, @@ -86,11 +88,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route15_EventScript_1AACAD", + "script": "Route15_EventScript_Olivia", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 59, "y": 12, "elevation": 3, @@ -99,11 +101,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route15_EventScript_1AAC31", + "script": "Route15_EventScript_Alex", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 63, "y": 13, "elevation": 3, @@ -112,11 +114,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route15_EventScript_1AABF3", + "script": "Route15_EventScript_Ernest", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 52, "y": 8, "elevation": 3, @@ -125,11 +127,11 @@ "movement_range_y": 4, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route15_EventScript_1AADE3", + "script": "Route15_EventScript_Becky", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BEAUTY", + "graphics_id": "OBJ_EVENT_GFX_BEAUTY", "x": 54, "y": 12, "elevation": 3, @@ -138,11 +140,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route15_EventScript_1AAC6F", + "script": "Route15_EventScript_Grace", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 28, "y": 6, "elevation": 3, @@ -151,11 +153,11 @@ "movement_range_y": 4, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route15_EventScript_1AAE21", + "script": "Route15_EventScript_Celia", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 20, "y": 6, "elevation": 3, @@ -168,7 +170,7 @@ "flag": "FLAG_HIDE_ROUTE15_TM18" }, { - "graphics_id": "OBJECT_EVENT_GFX_BLACKBELT", + "graphics_id": "OBJ_EVENT_GFX_BLACKBELT", "x": 39, "y": 7, "elevation": 3, @@ -177,11 +179,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route15_EventScript_1AAEA5", + "script": "Route15_EventScript_Ron", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BATTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_BATTLE_GIRL", "x": 40, "y": 7, "elevation": 3, @@ -190,11 +192,12 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route15_EventScript_1AAE5F", + "script": "Route15_EventScript_Mya", "flag": "0" }, { - "graphics_id": "65375", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", + "in_connection": true, "x": 73, "y": 7, "elevation": 13, @@ -226,11 +229,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 41, "y": 11, "elevation": 0, - "script": "Route15_EventScript_1680DC" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route15_EventScript_RouteSign" } ] } diff --git a/data/maps/Route15/scripts.inc b/data/maps/Route15/scripts.inc index 40890250c..85d24e49b 100644 --- a/data/maps/Route15/scripts.inc +++ b/data/maps/Route15/scripts.inc @@ -1,6 +1,6 @@ Route15_MapScripts:: @ 81680DB .byte 0 -Route15_EventScript_1680DC:: @ 81680DC - msgbox gUnknown_8186A77, MSGBOX_SIGN +Route15_EventScript_RouteSign:: @ 81680DC + msgbox Route15_Text_RouteSign, MSGBOX_SIGN end diff --git a/data/maps/Route15/text.inc b/data/maps/Route15/text.inc index 34e3a0c60..be3e38e6c 100644 --- a/data/maps/Route15/text.inc +++ b/data/maps/Route15/text.inc @@ -1,153 +1,154 @@ -Text_1863B7:: @ 81863B7 - .string "KIRI: JAN, let's try really,\n" - .string "really hard together.$" - -Text_1863EA:: @ 81863EA - .string "KIRI: Whimper…\n" - .string "We lost, didn't we?$" - -Text_18640D:: @ 818640D - .string "KIRI: Did we lose because of me?$" - -Text_18642E:: @ 818642E - .string "KIRI: We can battle if you have\n" - .string "two POKéMON.$" - -Text_18645B:: @ 818645B - .string "JAN: KIRI, here we go!\n" - .string "We have to try hard!$" - -Text_186487:: @ 8186487 - .string "JAN: Eeeeh!\n" - .string "No fair!$" - -Text_18649C:: @ 818649C - .string "JAN: KIRI, don't cry!\n" - .string "We'll just try harder next time.$" - -Text_1864D3:: @ 81864D3 - .string "JAN: You want to battle?\n" - .string "You don't have enough POKéMON.$" - -Text_18650B:: @ 818650B +Route15_Text_KindraIntro:: @ 818650B .string "I just got some POKéMON in trades.\n" .string "Can I try them out on you?$" -Text_186549:: @ 8186549 +Route15_Text_KindraDefeat:: @ 8186549 .string "Not good enough!$" -Text_18655A:: @ 818655A +Route15_Text_KindraPostBattle:: @ 818655A .string "You can't change the nickname of\n" .string "any POKéMON you get in a trade.\p" .string "Only the Original TRAINER can get\n" .string "the nickname changed.$" -Text_1865D3:: @ 81865D3 +Route15_Text_BeckyIntro:: @ 81865D3 .string "You look gentle, so I think I can\n" .string "beat you.\p" .string "I'll give it a go!$" -Text_186612:: @ 8186612 +Route15_Text_BeckyDefeat:: @ 8186612 .string "No, wrong!$" -Text_18661D:: @ 818661D +Route15_Text_BeckyPostBattle:: @ 818661D .string "I'm afraid of BIKERS. They look so\n" .string "ugly and mean!$" -Text_18664F:: @ 818664F +Route15_Text_EdwinIntro:: @ 818664F .string "When I whistle, I can summon bird\n" .string "POKéMON.$" -Text_18667A:: @ 818667A +Route15_Text_EdwinDefeat:: @ 818667A .string "Ow!\n" .string "That's tragic!$" -Text_18668D:: @ 818668D +Route15_Text_EdwinPostBattle:: @ 818668D .string "Maybe I'm not cut out for battles.\n" .string "I'm not the right type, I guess.$" -Text_1866D1:: @ 81866D1 +Route15_Text_ChesterIntro:: @ 81866D1 .string "Hmm? My birds are shivering!\n" .string "You're good, aren't you?$" -Text_186707:: @ 8186707 +Route15_Text_ChesterDefeat:: @ 8186707 .string "Just as I thought!$" -Text_18671A:: @ 818671A +Route15_Text_ChesterPostBattle:: @ 818671A .string "This is so obvious, you should know\n" .string "this, but…\p" .string "Moves like EARTHQUAKE and FISSURE\n" .string "have no effect on bird POKéMON.$" -Text_18678B:: @ 818678B +Route15_Text_GraceIntro:: @ 818678B .string "Oh, you're a little cutie!\n" .string "So like a darling POKéMON!$" -Text_1867C1:: @ 81867C1 +Route15_Text_GraceDefeat:: @ 81867C1 .string "You looked so cute, too!$" -Text_1867DA:: @ 81867DA +Route15_Text_GracePostBattle:: @ 81867DA .string "I forgive you.\n" .string "I can take it.\l" .string "I'm a big girl now.$" -Text_18680C:: @ 818680C +Route15_Text_OliviaIntro:: @ 818680C .string "I raise POKéMON for protection\n" .string "because I live alone.$" -Text_186841:: @ 8186841 +Route15_Text_OliviaDefeat:: @ 8186841 .string "POKéMON isn't about winning or\n" .string "losing for me.$" -Text_18686F:: @ 818686F +Route15_Text_OliviaPostBattle:: @ 818686F .string "I love having my POKéMON greet me\n" .string "when I get home.\p" .string "It's so reassuring.$" -Text_1868B6:: @ 81868B6 +Route15_Text_ErnestIntro:: @ 81868B6 .string "Hey, kid! C'mon!\n" .string "I just got these off some loser!$" -Text_1868E8:: @ 81868E8 +Route15_Text_ErnestDefeat:: @ 81868E8 .string "Why not?$" -Text_1868F1:: @ 81868F1 +Route15_Text_ErnestPostBattle:: @ 81868F1 .string "Life's too short.\n" .string "It's cool to live as an outlaw.\l" .string "TEAM ROCKET RULES!$" -Text_186936:: @ 8186936 +Route15_Text_AlexIntro:: @ 8186936 .string "Fork over all your cash when you\n" .string "lose to me, kid!$" -Text_186968:: @ 8186968 +Route15_Text_AlexDefeat:: @ 8186968 .string "That can't be true!$" -Text_18697C:: @ 818697C +Route15_Text_AlexPostBattle:: @ 818697C .string "I was just joking about the money.\n" .string "Don't take me all serious.$" -Text_1869BA:: @ 81869BA +Route15_Text_CeliaIntro:: @ 81869BA .string "What's cool and happening?\n" .string "Trading POKéMON!$" -Text_1869E6:: @ 81869E6 +Route15_Text_CeliaDefeat:: @ 81869E6 .string "I said trade!$" -Text_1869F4:: @ 81869F4 +Route15_Text_CeliaPostBattle:: @ 81869F4 .string "I trade POKéMON with my friends\n" .string "all the time.$" -Text_186A22:: @ 8186A22 +Route15_Text_YazminIntro:: @ 8186A22 .string "Want to play with my POKéMON?$" -Text_186A40:: @ 8186A40 +Route15_Text_YazminDefeat:: @ 8186A40 .string "I was too impatient!$" -Text_186A55:: @ 8186A55 +Route15_Text_YazminPostBattle:: @ 8186A55 .string "I'll go train with weaker people.$" -gUnknown_8186A77:: @ 8186A77 +Route15_Text_RouteSign:: @ 8186A77 .string "ROUTE 15\n" .string "West to FUCHSIA CITY$" +Route15_Text_MyaIntro:: @ 8186A95 + .string "MYA: You're perfect.\n" + .string "Help me train my little brother?$" + +Route15_Text_MyaDefeat:: @ 8186ACB + .string "MYA: RON, you have to focus!\n" + .string "Concentrate on what you're doing!$" + +Route15_Text_MyaPostBattle:: @ 8186B0A + .string "MYA: Okay, we'll turn it up.\n" + .string "I'll add to our training menu!$" + +Route15_Text_MyaNotEnoughMons:: @ 8186B46 + .string "MYA: Do you want to challenge us?\n" + .string "You'll need two POKéMON, though.$" + +Route15_Text_RonIntro:: @ 8186B89 + .string "RON: My sister gets scary when we\n" + .string "lose.$" + +Route15_Text_RonDefeat:: @ 8186BB1 + .string "RON: Oh, no, no…\n" + .string "Sis, I'm sorry!$" + +Route15_Text_RonPostBattle:: @ 8186BD2 + .string "RON: Oh, bleah…\n" + .string "I wish I had a nice sister…$" + +Route15_Text_RonNotEnoughMons:: @ 8186BFE + .string "RON: Did you want to battle with\n" + .string "my sister and me?\p" + .string "You need two POKéMON, then.$" diff --git a/data/maps/Route15_WestEntrance_1F/map.json b/data/maps/Route15_WestEntrance_1F/map.json index a9d8b8244..fb1f9cacd 100644 --- a/data/maps/Route15_WestEntrance_1F/map.json +++ b/data/maps/Route15_WestEntrance_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_15", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 1, - "unknown_19": 2, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_POLICEMAN", + "graphics_id": "OBJ_EVENT_GFX_POLICEMAN", "x": 6, "y": 2, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route15_WestEntrance_1F_EventScript_170089", + "script": "Route15_WestEntrance_1F_EventScript_Guard", "flag": "0" } ], diff --git a/data/maps/Route15_WestEntrance_1F/scripts.inc b/data/maps/Route15_WestEntrance_1F/scripts.inc index 9f753e6c9..222be2356 100644 --- a/data/maps/Route15_WestEntrance_1F/scripts.inc +++ b/data/maps/Route15_WestEntrance_1F/scripts.inc @@ -1,6 +1,6 @@ Route15_WestEntrance_1F_MapScripts:: @ 8170088 .byte 0 -Route15_WestEntrance_1F_EventScript_170089:: @ 8170089 - msgbox gUnknown_819F560, MSGBOX_NPC +Route15_WestEntrance_1F_EventScript_Guard:: @ 8170089 + msgbox Route15_WestEntrance_1F_Text_OaksAideCameByHere, MSGBOX_NPC end diff --git a/data/maps/Route15_WestEntrance_1F/text.inc b/data/maps/Route15_WestEntrance_1F/text.inc index e843e10a8..6cdbe8a2a 100644 --- a/data/maps/Route15_WestEntrance_1F/text.inc +++ b/data/maps/Route15_WestEntrance_1F/text.inc @@ -1,4 +1,4 @@ -gUnknown_819F560:: @ 819F560 +Route15_WestEntrance_1F_Text_OaksAideCameByHere:: @ 819F560 .string "Are you the kid who's working on\n" .string "a POKéDEX?\p" .string "PROF. OAK's AIDE came by here.$" diff --git a/data/maps/Route15_WestEntrance_2F/map.json b/data/maps/Route15_WestEntrance_2F/map.json index 8a4510422..bff054b37 100644 --- a/data/maps/Route15_WestEntrance_2F/map.json +++ b/data/maps/Route15_WestEntrance_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_15", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 5, "y": 5, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route15_WestEntrance_2F_EventScript_1700B9", + "script": "Route15_WestEntrance_2F_EventScript_Aide", "flag": "0" } ], @@ -39,18 +41,20 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 1, "elevation": 0, - "script": "Route15_WestEntrance_2F_EventScript_170093" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route15_WestEntrance_2F_EventScript_LeftBinoculars" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 1, "elevation": 0, - "script": "Route15_WestEntrance_2F_EventScript_1700B0" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route15_WestEntrance_2F_EventScript_RightBinoculars" } ] } diff --git a/data/maps/Route15_WestEntrance_2F/scripts.inc b/data/maps/Route15_WestEntrance_2F/scripts.inc index 088a65876..9fa417865 100644 --- a/data/maps/Route15_WestEntrance_2F/scripts.inc +++ b/data/maps/Route15_WestEntrance_2F/scripts.inc @@ -1,52 +1,54 @@ +.equ REQUIRED_CAUGHT_MONS, 50 + Route15_WestEntrance_2F_MapScripts:: @ 8170092 .byte 0 -Route15_WestEntrance_2F_EventScript_170093:: @ 8170093 +Route15_WestEntrance_2F_EventScript_LeftBinoculars:: @ 8170093 lockall - msgbox gUnknown_819F79C + msgbox Route15_WestEntrance_2F_Text_LargeShiningBird drawmonpic SPECIES_ARTICUNO, 10, 3 delay 20 waitbuttonpress erasemonpic setvar VAR_0x8004, SPECIES_ARTICUNO - special Special_SetSeenMon + special SetSeenMon releaseall end -Route15_WestEntrance_2F_EventScript_1700B0:: @ 81700B0 - msgbox gUnknown_819F7F8, MSGBOX_SIGN +Route15_WestEntrance_2F_EventScript_RightBinoculars:: @ 81700B0 + msgbox Route15_WestEntrance_2F_Text_SmallIslandOnHorizon, MSGBOX_SIGN end -Route15_WestEntrance_2F_EventScript_1700B9:: @ 81700B9 +Route15_WestEntrance_2F_EventScript_Aide:: @ 81700B9 lock faceplayer - call EventScript_170145 - goto_if_set FLAG_GOT_EXP_SHARE_FROM_OAKS_AIDE, EventScript_17013B - msgbox gUnknown_819F5AB, MSGBOX_YESNO + call Route15_WestEntrance_2F_EventScript_GetAideRequestInfo + goto_if_set FLAG_GOT_EXP_SHARE_FROM_OAKS_AIDE, Route15_WestEntrance_2F_EventScript_AlreadyGotExpShare + msgbox Route15_WestEntrance_2F_Text_GiveItemIfCaughtEnough, MSGBOX_YESNO compare VAR_RESULT, NO goto_if_eq Aide_EventScript_DeclineCheckMons setvar VAR_0x8004, 0 - specialvar VAR_RESULT, Special_GetPokedexCount + specialvar VAR_RESULT, GetPokedexCount getnumberstring 2, VAR_0x8006 - call EventScript_170145 - compare VAR_0x8006, 50 + call Route15_WestEntrance_2F_EventScript_GetAideRequestInfo + compare VAR_0x8006, REQUIRED_CAUGHT_MONS goto_if_lt Aide_EventScript_HaventCaughtEnough - msgbox gUnknown_819F6AA + msgbox Route15_WestEntrance_2F_Text_GreatHereYouGo checkitemspace ITEM_EXP_SHARE, 1 compare VAR_RESULT, FALSE goto_if_eq Aide_EventScript_NoRoomForItem - giveitem_msg gUnknown_819F6FD, ITEM_EXP_SHARE + giveitem_msg Route15_WestEntrance_2F_Text_ReceivedItemFromAide, ITEM_EXP_SHARE setflag FLAG_GOT_EXP_SHARE_FROM_OAKS_AIDE - msgbox gUnknown_819F71F + msgbox Route15_WestEntrance_2F_Text_ExplainExpShare release end -EventScript_17013B:: @ 817013B - msgbox gUnknown_819F71F +Route15_WestEntrance_2F_EventScript_AlreadyGotExpShare:: @ 817013B + msgbox Route15_WestEntrance_2F_Text_ExplainExpShare release end -EventScript_170145:: @ 8170145 - getnumberstring 0, 50 +Route15_WestEntrance_2F_EventScript_GetAideRequestInfo:: @ 8170145 + getnumberstring 0, REQUIRED_CAUGHT_MONS getitemname 1, ITEM_EXP_SHARE return diff --git a/data/maps/Route15_WestEntrance_2F/text.inc b/data/maps/Route15_WestEntrance_2F/text.inc index e5518b8e2..c3c9866eb 100644 --- a/data/maps/Route15_WestEntrance_2F/text.inc +++ b/data/maps/Route15_WestEntrance_2F/text.inc @@ -1,4 +1,4 @@ -gUnknown_819F5AB:: @ 819F5AB +Route15_WestEntrance_2F_Text_GiveItemIfCaughtEnough:: @ 819F5AB .string "Hi! Remember me?\n" .string "I'm one of PROF. OAK's AIDES.\p" .string "If your POKéDEX has complete data\n" @@ -10,30 +10,30 @@ gUnknown_819F5AB:: @ 819F5AB .string "Have you gathered data on at least\n" .string "{STR_VAR_1} kinds of POKéMON?$" -gUnknown_819F6AA:: @ 819F6AA +Route15_WestEntrance_2F_Text_GreatHereYouGo:: @ 819F6AA .string "Great! You have caught or owned\n" .string "{STR_VAR_3} kinds of POKéMON!\p" .string "Congratulations!\n" .string "Here you go!$" -gUnknown_819F6FD:: @ 819F6FD +Route15_WestEntrance_2F_Text_ReceivedItemFromAide:: @ 819F6FD .string "{PLAYER} received the {STR_VAR_2}\n" .string "from the AIDE.$" -gUnknown_819F71F:: @ 819F71F +Route15_WestEntrance_2F_Text_ExplainExpShare:: @ 819F71F .string "EXP. SHARE is an item to be held\n" .string "by a POKéMON.\p" .string "The POKéMON will receive a share\n" .string "of the EXP. Points without having\l" .string "to battle.$" -gUnknown_819F79C:: @ 819F79C +Route15_WestEntrance_2F_Text_LargeShiningBird:: @ 819F79C .string "Let's see what the binoculars have\n" .string "to show…\p" .string "A large, shining bird is flying\n" .string "toward the sea.$" -gUnknown_819F7F8:: @ 819F7F8 +Route15_WestEntrance_2F_Text_SmallIslandOnHorizon:: @ 819F7F8 .string "Let's see what the binoculars have\n" .string "to show…\p" .string "It looks like a small island on\n" diff --git a/data/maps/Route16/map.json b/data/maps/Route16/map.json index bd32e6900..e9ddd5030 100644 --- a/data/maps/Route16/map.json +++ b/data/maps/Route16/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_16", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ROUTE17", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 16, "y": 12, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route16_EventScript_1AAEEB", + "script": "Route16_EventScript_Lao", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 14, "y": 14, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route16_EventScript_1AAFA5", + "script": "Route16_EventScript_Koji", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 12, "y": 12, "elevation": 3, @@ -60,11 +62,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route16_EventScript_1AAFE3", + "script": "Route16_EventScript_Luke", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 8, "y": 12, "elevation": 3, @@ -73,11 +75,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route16_EventScript_1AAF67", + "script": "Route16_EventScript_Ruben", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 10, "y": 14, "elevation": 3, @@ -86,11 +88,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route16_EventScript_1AAF29", + "script": "Route16_EventScript_Hideo", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 6, "y": 14, "elevation": 3, @@ -99,11 +101,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route16_EventScript_1AB021", + "script": "Route16_EventScript_Camron", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 41, "y": 11, "elevation": 3, @@ -112,11 +114,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_BEAUTY", + "graphics_id": "OBJ_EVENT_GFX_BEAUTY", "x": 30, "y": 5, "elevation": 3, @@ -125,11 +127,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route16_EventScript_1AB0A5", + "script": "Route16_EventScript_Lea", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 31, "y": 5, "elevation": 3, @@ -138,11 +140,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route16_EventScript_1AB05F", + "script": "Route16_EventScript_Jed", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SNORLAX", + "graphics_id": "OBJ_EVENT_GFX_SNORLAX", "x": 31, "y": 13, "elevation": 3, @@ -195,17 +197,19 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 6, "y": 17, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "Route16_EventScript_RouteSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 33, "y": 11, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "Route16_EventScript_CyclingRoadSign" }, { diff --git a/data/maps/Route16/scripts.inc b/data/maps/Route16/scripts.inc index 1d7c6657c..62d47983f 100644 --- a/data/maps/Route16/scripts.inc +++ b/data/maps/Route16/scripts.inc @@ -14,19 +14,19 @@ Route16_EventScript_RemoveSnorlax:: @ 81680FF Route16_OnTransition:: @ 8168103 compare VAR_MAP_SCENE_ROUTE16, 1 - call_if_eq Route16_EventScript_EnterCyclingRoad + call_if_eq Route16_OnTransitionCyclingRoad end -Route16_EventScript_EnterCyclingRoad:: @ 816810F +Route16_OnTransitionCyclingRoad:: @ 816810F setflag FLAG_SYS_ON_CYCLING_ROAD return Route16_OnWarp:: @ 8168113 - map_script_2 VAR_MAP_SCENE_ROUTE16, 1, Route16_EventScript_WarpIntoCyclingRoad + map_script_2 VAR_MAP_SCENE_ROUTE16, 1, Route16_OnWarpCyclingRoad .2byte 0 -Route16_EventScript_WarpIntoCyclingRoad:: @ 816811D - special Special_ForcePlayerOntoBike +Route16_OnWarpCyclingRoad:: @ 816811D + special ForcePlayerOntoBike end Route16_EventScript_Snorlax:: @ 8168121 @@ -48,7 +48,7 @@ Route16_EventScript_Snorlax:: @ 8168121 setflag FLAG_SYS_SPECIAL_WILD_BATTLE dowildbattle clearflag FLAG_SYS_SPECIAL_WILD_BATTLE - specialvar VAR_RESULT, Special_GetBattleOutcome + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, B_OUTCOME_WON goto_if_eq Route16_EventScript_FoughtSnorlax compare VAR_RESULT, B_OUTCOME_RAN diff --git a/data/maps/Route16/text.inc b/data/maps/Route16/text.inc index 289b80db9..ca3507cc7 100644 --- a/data/maps/Route16/text.inc +++ b/data/maps/Route16/text.inc @@ -1,99 +1,66 @@ -Text_186A95:: @ 8186A95 - .string "MYA: You're perfect.\n" - .string "Help me train my little brother?$" - -Text_186ACB:: @ 8186ACB - .string "MYA: RON, you have to focus!\n" - .string "Concentrate on what you're doing!$" - -Text_186B0A:: @ 8186B0A - .string "MYA: Okay, we'll turn it up.\n" - .string "I'll add to our training menu!$" - -Text_186B46:: @ 8186B46 - .string "MYA: Do you want to challenge us?\n" - .string "You'll need two POKéMON, though.$" - -Text_186B89:: @ 8186B89 - .string "RON: My sister gets scary when we\n" - .string "lose.$" - -Text_186BB1:: @ 8186BB1 - .string "RON: Oh, no, no…\n" - .string "Sis, I'm sorry!$" - -Text_186BD2:: @ 8186BD2 - .string "RON: Oh, bleah…\n" - .string "I wish I had a nice sister…$" - -Text_186BFE:: @ 8186BFE - .string "RON: Did you want to battle with\n" - .string "my sister and me?\p" - .string "You need two POKéMON, then.$" - -Text_186C4D:: @ 8186C4D +Route16_Text_LaoIntro:: @ 8186C4D .string "What do you want?$" -Text_186C5F:: @ 8186C5F +Route16_Text_LaoDefeat:: @ 8186C5F .string "Don't you dare laugh!$" -Text_186C75:: @ 8186C75 +Route16_Text_LaoPostBattle:: @ 8186C75 .string "We like just hanging here.\n" .string "What's it to you?$" -Text_186CA2:: @ 8186CA2 +Route16_Text_KojiIntro:: @ 8186CA2 .string "Nice BIKE!\n" .string "Hand it over!$" -Text_186CBB:: @ 8186CBB +Route16_Text_KojiDefeat:: @ 8186CBB .string "Knockout!$" -Text_186CC5:: @ 8186CC5 +Route16_Text_KojiPostBattle:: @ 8186CC5 .string "Forget it, who needs your BIKE!$" -Text_186CE5:: @ 8186CE5 +Route16_Text_LukeIntro:: @ 8186CE5 .string "Come out and play, little mouse!$" -Text_186D06:: @ 8186D06 +Route16_Text_LukeDefeat:: @ 8186D06 .string "You little rat!$" -Text_186D16:: @ 8186D16 +Route16_Text_LukePostBattle:: @ 8186D16 .string "I hate losing!\n" .string "Get out of my face!$" -Text_186D39:: @ 8186D39 +Route16_Text_HideoIntro:: @ 8186D39 .string "Hey, you just bumped me!$" -Text_186D52:: @ 8186D52 +Route16_Text_HideoDefeat:: @ 8186D52 .string "Kaboom!$" -Text_186D5A:: @ 8186D5A +Route16_Text_HideoPostBattle:: @ 8186D5A .string "We'll always be hanging around here\n" .string "even if you don't like it.\p" .string "You can detour to VERMILION from\n" .string "FUCHSIA going along the coast.$" -Text_186DD9:: @ 8186DD9 +Route16_Text_CamronIntro:: @ 8186DD9 .string "I'm feeling hungry and mean!\n" .string "I need a punching bag!$" -Text_186E0D:: @ 8186E0D +Route16_Text_CamronDefeat:: @ 8186E0D .string "Bad, bad, bad!$" -Text_186E1C:: @ 8186E1C +Route16_Text_CamronPostBattle:: @ 8186E1C .string "If I'm going to have POKéMON, they\n" .string "may as well be ferocious.\p" .string "I'd use them to leave my enemies\n" .string "in tatters.$" -Text_186E86:: @ 8186E86 +Route16_Text_RubenIntro:: @ 8186E86 .string "Hey, there!\n" .string "Let's have ourselves a good time!$" -Text_186EB4:: @ 8186EB4 +Route16_Text_RubenDefeat:: @ 8186EB4 .string "Don't make me mad!$" -Text_186EC7:: @ 8186EC7 +Route16_Text_RubenPostBattle:: @ 8186EC7 .string "I get my kicks by harassing people\n" .string "with my stinking POKéMON.\p" .string "They're great for startling people.\n" @@ -111,3 +78,36 @@ Route16_Text_RouteSign:: @ 8186F98 .string "ROUTE 16\n" .string "CELADON CITY - FUCHSIA CITY$" +Route16_Text_JedIntro:: @ 8186FBD + .string "JED: Our love knows no bounds.\n" + .string "We're in love and we show it!$" + +Route16_Text_JedDefeat:: @ 8186FFA + .string "JED: Oh, no!\n" + .string "My love has seen me as a loser!$" + +Route16_Text_JedPostBattle:: @ 8187027 + .string "JED: Listen, LEA.\n" + .string "You need to focus less on me.$" + +Route16_Text_JedNotEnoughMons:: @ 8187057 + .string "JED: You have just one POKéMON?\n" + .string "Is there no love in your heart?$" + +Route16_Text_LeaIntro:: @ 8187097 + .string "LEA: Sometimes, the intensity of\n" + .string "our love scares me.$" + +Route16_Text_LeaDefeat:: @ 81870CC + .string "LEA: Ohh! But JED looks cool\n" + .string "even in a loss!$" + +Route16_Text_LeaPostBattle:: @ 81870F9 + .string "LEA: Ehehe, I'm sorry.\n" + .string "JED is so cool.$" + +Route16_Text_LeaNotEnoughMons:: @ 8187120 + .string "LEA: Oh, you don't have two\n" + .string "POKéMON with you?\p" + .string "Doesn't it feel lonely for you or\n" + .string "your POKéMON?$" diff --git a/data/maps/Route16_House/map.json b/data/maps/Route16_House/map.json index 60c5f6598..3421f6eba 100644 --- a/data/maps/Route16_House/map.json +++ b/data/maps/Route16_House/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_16", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_1", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_1", "x": 4, "y": 2, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route16_House_EventScript_17014F", + "script": "Route16_House_EventScript_Woman", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_FEAROW", + "graphics_id": "OBJ_EVENT_GFX_FEAROW", "x": 9, "y": 3, "elevation": 3, @@ -36,7 +38,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route16_House_EventScript_1701AF", + "script": "Route16_House_EventScript_Fearow", "flag": "0" } ], diff --git a/data/maps/Route16_House/scripts.inc b/data/maps/Route16_House/scripts.inc index 94ed9b932..baf6fcc32 100644 --- a/data/maps/Route16_House/scripts.inc +++ b/data/maps/Route16_House/scripts.inc @@ -1,36 +1,36 @@ Route16_House_MapScripts:: @ 817014E .byte 0 -Route16_House_EventScript_17014F:: @ 817014F +Route16_House_EventScript_Woman:: @ 817014F lock faceplayer - goto_if_set FLAG_GOT_HM02, EventScript_1701A5 - msgbox gUnknown_819F851 + goto_if_set FLAG_GOT_HM02, Route16_House_EventScript_AlreadyGotHM02 + msgbox Route16_House_Text_FoundMySecretRetreat checkitemspace ITEM_HM02, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_17019B - giveitem_msg gUnknown_819F8C0, ITEM_HM02 - msgbox gUnknown_819F8E0 + goto_if_eq Route16_House_EventScript_NoRoomForHM02 + giveitem_msg Route16_House_Text_ReceivedHM02FromGirl, ITEM_HM02 + msgbox Route16_House_Text_ExplainHM02 setflag FLAG_GOT_HM02 release end -EventScript_17019B:: @ 817019B - msgbox gUnknown_819F92D +Route16_House_EventScript_NoRoomForHM02:: @ 817019B + msgbox Route16_House_Text_DontHaveAnyRoomForThis release end -EventScript_1701A5:: @ 81701A5 - msgbox gUnknown_819F8E0 +Route16_House_EventScript_AlreadyGotHM02:: @ 81701A5 + msgbox Route16_House_Text_ExplainHM02 release end -Route16_House_EventScript_1701AF:: @ 81701AF +Route16_House_EventScript_Fearow:: @ 81701AF lock faceplayer waitse playmoncry SPECIES_FEAROW, 0 - msgbox gUnknown_819F94F + msgbox Route16_House_Text_Fearow waitmoncry release end diff --git a/data/maps/Route16_House/text.inc b/data/maps/Route16_House/text.inc index 136cf9604..2cdfe38d9 100644 --- a/data/maps/Route16_House/text.inc +++ b/data/maps/Route16_House/text.inc @@ -1,21 +1,21 @@ -gUnknown_819F851:: @ 819F851 +Route16_House_Text_FoundMySecretRetreat:: @ 819F851 .string "Oh, dear.\n" .string "You've found my secret retreat.\p" .string "Please don't tell anyone I'm here.\n" .string "I'll make it up to you with this!$" -gUnknown_819F8C0:: @ 819F8C0 +Route16_House_Text_ReceivedHM02FromGirl:: @ 819F8C0 .string "{PLAYER} received HM02\n" .string "from the girl.$" -gUnknown_819F8E0:: @ 819F8E0 +Route16_House_Text_ExplainHM02:: @ 819F8E0 .string "HM02 is FLY.\n" .string "It's a wonderfully convenient move.\p" .string "Please, put it to good use.$" -gUnknown_819F92D:: @ 819F92D +Route16_House_Text_DontHaveAnyRoomForThis:: @ 819F92D .string "You don't have any room for this.$" -gUnknown_819F94F:: @ 819F94F +Route16_House_Text_Fearow:: @ 819F94F .string "FEAROW: Kyueen!$" diff --git a/data/maps/Route16_NorthEntrance_1F/map.json b/data/maps/Route16_NorthEntrance_1F/map.json index af13722a7..515800a2c 100644 --- a/data/maps/Route16_NorthEntrance_1F/map.json +++ b/data/maps/Route16_NorthEntrance_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_16", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 1, - "unknown_19": 2, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_POLICEMAN", + "graphics_id": "OBJ_EVENT_GFX_POLICEMAN", "x": 6, "y": 8, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route16_NorthEntrance_1F_EventScript_1701DB", + "script": "Route16_NorthEntrance_1F_EventScript_Guard", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 7, "y": 4, "elevation": 3, @@ -36,7 +38,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route16_NorthEntrance_1F_EventScript_1702B5", + "script": "Route16_NorthEntrance_1F_EventScript_OldMan", "flag": "0" } ], @@ -85,7 +87,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE16", "var_value": 1, - "script": "Route16_NorthEntrance_1F_EventScript_1A77B6" + "script": "EventScript_SetExitingCyclingRoad" }, { "type": "trigger", @@ -94,7 +96,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE16", "var_value": 0, - "script": "Route16_NorthEntrance_1F_EventScript_1A77C1" + "script": "EventScript_SetEnteringCyclingRoad" }, { "type": "trigger", @@ -103,7 +105,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": 0, - "script": "Route16_NorthEntrance_1F_EventScript_1701E4" + "script": "Route16_NorthEntrance_1F_EventScript_NeedBikeTriggerTop" }, { "type": "trigger", @@ -112,7 +114,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": 0, - "script": "Route16_NorthEntrance_1F_EventScript_1701F0" + "script": "Route16_NorthEntrance_1F_EventScript_NeedBikeTriggerMidTop" }, { "type": "trigger", @@ -121,7 +123,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE16", "var_value": 0, - "script": "Route16_NorthEntrance_1F_EventScript_1A77C1" + "script": "EventScript_SetEnteringCyclingRoad" }, { "type": "trigger", @@ -130,7 +132,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE16", "var_value": 0, - "script": "Route16_NorthEntrance_1F_EventScript_1A77C1" + "script": "EventScript_SetEnteringCyclingRoad" }, { "type": "trigger", @@ -139,7 +141,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE16", "var_value": 1, - "script": "Route16_NorthEntrance_1F_EventScript_1A77B6" + "script": "EventScript_SetExitingCyclingRoad" }, { "type": "trigger", @@ -148,7 +150,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE16", "var_value": 1, - "script": "Route16_NorthEntrance_1F_EventScript_1A77B6" + "script": "EventScript_SetExitingCyclingRoad" }, { "type": "trigger", @@ -157,7 +159,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": 0, - "script": "Route16_NorthEntrance_1F_EventScript_1701FC" + "script": "Route16_NorthEntrance_1F_EventScript_NeedBikeTriggerMid" }, { "type": "trigger", @@ -166,7 +168,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": 0, - "script": "Route16_NorthEntrance_1F_EventScript_170208" + "script": "Route16_NorthEntrance_1F_EventScript_NeedBikeTriggerMidBottom" }, { "type": "trigger", @@ -175,7 +177,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": 0, - "script": "Route16_NorthEntrance_1F_EventScript_170214" + "script": "Route16_NorthEntrance_1F_EventScript_NeedBikeTriggerBottom" } ], "bg_events": [] diff --git a/data/maps/Route16_NorthEntrance_1F/scripts.inc b/data/maps/Route16_NorthEntrance_1F/scripts.inc index a99a1ec18..d00ba5805 100644 --- a/data/maps/Route16_NorthEntrance_1F/scripts.inc +++ b/data/maps/Route16_NorthEntrance_1F/scripts.inc @@ -4,115 +4,115 @@ Route16_NorthEntrance_1F_MapScripts:: @ 81701C2 Route16_NorthEntrance_1F_OnTransition:: @ 81701C8 clearflag FLAG_SYS_ON_CYCLING_ROAD - call_if_set FLAG_GOT_BICYCLE, EventScript_1701D5 + call_if_set FLAG_GOT_BICYCLE, Route16_NorthEntrance_1F_EventScript_DisableNeedBikeTrigger end -EventScript_1701D5:: @ 81701D5 +Route16_NorthEntrance_1F_EventScript_DisableNeedBikeTrigger:: @ 81701D5 setvar VAR_TEMP_1, 1 return -Route16_NorthEntrance_1F_EventScript_1701DB:: @ 81701DB - msgbox gUnknown_819F98B, MSGBOX_NPC +Route16_NorthEntrance_1F_EventScript_Guard:: @ 81701DB + msgbox Route16_NorthEntrance_1F_Text_CyclingRoadIsDownhillCourse, MSGBOX_NPC end -Route16_NorthEntrance_1F_EventScript_1701E4:: @ 81701E4 +Route16_NorthEntrance_1F_EventScript_NeedBikeTriggerTop:: @ 81701E4 lockall setvar VAR_0x8008, 0 - goto EventScript_170220 + goto Route16_NorthEntrance_1F_EventScript_NeedBikeTrigger end -Route16_NorthEntrance_1F_EventScript_1701F0:: @ 81701F0 +Route16_NorthEntrance_1F_EventScript_NeedBikeTriggerMidTop:: @ 81701F0 lockall setvar VAR_0x8008, 1 - goto EventScript_170220 + goto Route16_NorthEntrance_1F_EventScript_NeedBikeTrigger end -Route16_NorthEntrance_1F_EventScript_1701FC:: @ 81701FC +Route16_NorthEntrance_1F_EventScript_NeedBikeTriggerMid:: @ 81701FC lockall setvar VAR_0x8008, 2 - goto EventScript_170220 + goto Route16_NorthEntrance_1F_EventScript_NeedBikeTrigger end -Route16_NorthEntrance_1F_EventScript_170208:: @ 8170208 +Route16_NorthEntrance_1F_EventScript_NeedBikeTriggerMidBottom:: @ 8170208 lockall setvar VAR_0x8008, 3 - goto EventScript_170220 + goto Route16_NorthEntrance_1F_EventScript_NeedBikeTrigger end -Route16_NorthEntrance_1F_EventScript_170214:: @ 8170214 +Route16_NorthEntrance_1F_EventScript_NeedBikeTriggerBottom:: @ 8170214 lockall setvar VAR_0x8008, 4 - goto EventScript_170220 + goto Route16_NorthEntrance_1F_EventScript_NeedBikeTrigger end -EventScript_170220:: @ 8170220 +Route16_NorthEntrance_1F_EventScript_NeedBikeTrigger:: @ 8170220 textcolor 0 - msgbox gUnknown_819F9CC + msgbox Route16_NorthEntrance_1F_Text_ExcuseMeWaitUp closemessage applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestUp waitmovement 0 delay 20 compare VAR_0x8008, 1 - call_if_eq EventScript_170279 + call_if_eq Route16_NorthEntrance_1F_EventScript_PlayerWalkToCounterMidTop compare VAR_0x8008, 2 - call_if_eq EventScript_170284 + call_if_eq Route16_NorthEntrance_1F_EventScript_PlayerWalkToCounterMid compare VAR_0x8008, 3 - call_if_eq EventScript_17028F + call_if_eq Route16_NorthEntrance_1F_EventScript_PlayerWalkToCounterMidBottom compare VAR_0x8008, 4 - call_if_eq EventScript_17029A - msgbox gUnknown_819F95F + call_if_eq Route16_NorthEntrance_1F_EventScript_PlayerWalkToCounterBottom + msgbox Route16_NorthEntrance_1F_Text_NoPedestriansOnCyclingRoad closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_1702B3 + applymovement OBJ_EVENT_ID_PLAYER, Route16_NorthEntrance_1F_Movement_WalkRight waitmovement 0 releaseall end -EventScript_170279:: @ 8170279 - applymovement OBJ_EVENT_ID_PLAYER, Movement_1702A5 +Route16_NorthEntrance_1F_EventScript_PlayerWalkToCounterMidTop:: @ 8170279 + applymovement OBJ_EVENT_ID_PLAYER, Route16_NorthEntrance_1F_Movement_WalkUp waitmovement 0 return -EventScript_170284:: @ 8170284 - applymovement OBJ_EVENT_ID_PLAYER, Movement_1702A7 +Route16_NorthEntrance_1F_EventScript_PlayerWalkToCounterMid:: @ 8170284 + applymovement OBJ_EVENT_ID_PLAYER, Route16_NorthEntrance_1F_Movement_WalkUp2 waitmovement 0 return -EventScript_17028F:: @ 817028F - applymovement OBJ_EVENT_ID_PLAYER, Movement_1702AA +Route16_NorthEntrance_1F_EventScript_PlayerWalkToCounterMidBottom:: @ 817028F + applymovement OBJ_EVENT_ID_PLAYER, Route16_NorthEntrance_1F_Movement_WalkUp3 waitmovement 0 return -EventScript_17029A:: @ 817029A - applymovement OBJ_EVENT_ID_PLAYER, Movement_1702AE +Route16_NorthEntrance_1F_EventScript_PlayerWalkToCounterBottom:: @ 817029A + applymovement OBJ_EVENT_ID_PLAYER, Route16_NorthEntrance_1F_Movement_WalkUp4 waitmovement 0 return -Movement_1702A5:: @ 81702A5 +Route16_NorthEntrance_1F_Movement_WalkUp:: @ 81702A5 walk_up step_end -Movement_1702A7:: @ 81702A7 +Route16_NorthEntrance_1F_Movement_WalkUp2:: @ 81702A7 walk_up walk_up step_end -Movement_1702AA:: @ 81702AA +Route16_NorthEntrance_1F_Movement_WalkUp3:: @ 81702AA walk_up walk_up walk_up step_end -Movement_1702AE:: @ 81702AE +Route16_NorthEntrance_1F_Movement_WalkUp4:: @ 81702AE walk_up walk_up walk_up walk_up step_end -Movement_1702B3:: @ 81702B3 +Route16_NorthEntrance_1F_Movement_WalkRight:: @ 81702B3 walk_right step_end -Route16_NorthEntrance_1F_EventScript_1702B5:: @ 81702B5 - msgbox gUnknown_819F9E8, MSGBOX_NPC +Route16_NorthEntrance_1F_EventScript_OldMan:: @ 81702B5 + msgbox Route16_NorthEntrance_1F_Text_HowdYouGetInGoodEffort, MSGBOX_NPC end diff --git a/data/maps/Route16_NorthEntrance_1F/text.inc b/data/maps/Route16_NorthEntrance_1F/text.inc index 8cc60117c..156e93bfa 100644 --- a/data/maps/Route16_NorthEntrance_1F/text.inc +++ b/data/maps/Route16_NorthEntrance_1F/text.inc @@ -1,16 +1,16 @@ -gUnknown_819F95F:: @ 819F95F +Route16_NorthEntrance_1F_Text_NoPedestriansOnCyclingRoad:: @ 819F95F .string "No pedestrians are allowed on\n" .string "CYCLING ROAD!$" -gUnknown_819F98B:: @ 819F98B +Route16_NorthEntrance_1F_Text_CyclingRoadIsDownhillCourse:: @ 819F98B .string "CYCLING ROAD is a downhill course\n" .string "by the sea. It's a great ride.$" -gUnknown_819F9CC:: @ 819F9CC +Route16_NorthEntrance_1F_Text_ExcuseMeWaitUp:: @ 819F9CC .string "Excuse me!\n" .string "Wait up, please!$" -gUnknown_819F9E8:: @ 819F9E8 +Route16_NorthEntrance_1F_Text_HowdYouGetInGoodEffort:: @ 819F9E8 .string "How'd you get in?\n" .string "Good effort!$" diff --git a/data/maps/Route16_NorthEntrance_2F/map.json b/data/maps/Route16_NorthEntrance_2F/map.json index 4dddd5b6d..2b7e87446 100644 --- a/data/maps/Route16_NorthEntrance_2F/map.json +++ b/data/maps/Route16_NorthEntrance_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_16", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_BOY", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_BOY", "x": 6, "y": 3, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route16_NorthEntrance_2F_EventScript_1702BF", + "script": "Route16_NorthEntrance_2F_EventScript_LittleBoy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 4, "y": 8, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route16_NorthEntrance_2F_EventScript_1702C8", + "script": "Route16_NorthEntrance_2F_EventScript_LittleGirl", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 10, "y": 6, "elevation": 0, @@ -49,7 +51,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route16_NorthEntrance_2F_EventScript_1702E3", + "script": "Route16_NorthEntrance_2F_EventScript_Aide", "flag": "0" } ], @@ -65,18 +67,20 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 1, "elevation": 0, - "script": "Route16_NorthEntrance_2F_EventScript_1702D1" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route16_NorthEntrance_2F_EventScript_LeftBinoculars" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 1, "elevation": 0, - "script": "Route16_NorthEntrance_2F_EventScript_1702DA" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route16_NorthEntrance_2F_EventScript_RightBinoculars" } ] } diff --git a/data/maps/Route16_NorthEntrance_2F/scripts.inc b/data/maps/Route16_NorthEntrance_2F/scripts.inc index 7ccba34c8..08c02d0ee 100644 --- a/data/maps/Route16_NorthEntrance_2F/scripts.inc +++ b/data/maps/Route16_NorthEntrance_2F/scripts.inc @@ -1,52 +1,54 @@ +.equ REQUIRED_CAUGHT_MONS, 40 + Route16_NorthEntrance_2F_MapScripts:: @ 81702BE .byte 0 -Route16_NorthEntrance_2F_EventScript_1702BF:: @ 81702BF - msgbox gUnknown_819FA07, MSGBOX_NPC +Route16_NorthEntrance_2F_EventScript_LittleBoy:: @ 81702BF + msgbox Route16_NorthEntrance_2F_Text_OnBikeRideWithGirlfriend, MSGBOX_NPC end -Route16_NorthEntrance_2F_EventScript_1702C8:: @ 81702C8 - msgbox gUnknown_819FA41, MSGBOX_NPC +Route16_NorthEntrance_2F_EventScript_LittleGirl:: @ 81702C8 + msgbox Route16_NorthEntrance_2F_Text_RidingTogetherOnNewBikes, MSGBOX_NPC end -Route16_NorthEntrance_2F_EventScript_1702D1:: @ 81702D1 - msgbox gUnknown_819FA6F, MSGBOX_SIGN +Route16_NorthEntrance_2F_EventScript_LeftBinoculars:: @ 81702D1 + msgbox Route16_NorthEntrance_2F_Text_ItsCeladonDeptStore, MSGBOX_SIGN end -Route16_NorthEntrance_2F_EventScript_1702DA:: @ 81702DA - msgbox gUnknown_819FAB9, MSGBOX_SIGN +Route16_NorthEntrance_2F_EventScript_RightBinoculars:: @ 81702DA + msgbox Route16_NorthEntrance_2F_Text_LongPathOverWater, MSGBOX_SIGN end -Route16_NorthEntrance_2F_EventScript_1702E3:: @ 81702E3 +Route16_NorthEntrance_2F_EventScript_Aide:: @ 81702E3 lock faceplayer - call EventScript_17036F - goto_if_set FLAG_GOT_AMULET_COIN_FROM_OAKS_AIDE, EventScript_170365 - msgbox gUnknown_819FB0E, MSGBOX_YESNO + call Route16_NorthEntrance_2F_EventScript_GetAideRequestInfo + goto_if_set FLAG_GOT_AMULET_COIN_FROM_OAKS_AIDE, Route16_NorthEntrance_2F_EventScript_AlreadyGotAmuletCoin + msgbox Route16_NorthEntrance_2F_Text_GiveAmuletCoinIfCaught40, MSGBOX_YESNO compare VAR_RESULT, NO goto_if_eq Aide_EventScript_DeclineCheckMons setvar VAR_0x8004, 0 - specialvar VAR_RESULT, Special_GetPokedexCount + specialvar VAR_RESULT, GetPokedexCount getnumberstring 2, VAR_0x8006 - call EventScript_17036F - compare VAR_0x8006, 40 + call Route16_NorthEntrance_2F_EventScript_GetAideRequestInfo + compare VAR_0x8006, REQUIRED_CAUGHT_MONS goto_if_lt Aide_EventScript_HaventCaughtEnough - msgbox gUnknown_819FC15 + msgbox Route16_NorthEntrance_2F_Text_GreatHereYouGo checkitemspace ITEM_AMULET_COIN, 1 compare VAR_RESULT, FALSE goto_if_eq Aide_EventScript_NoRoomForItem - giveitem_msg gUnknown_819FC68, ITEM_AMULET_COIN + giveitem_msg Route16_NorthEntrance_2F_Text_ReceivedAmuletCoinFromAide, ITEM_AMULET_COIN setflag FLAG_GOT_AMULET_COIN_FROM_OAKS_AIDE - msgbox gUnknown_819FC93 + msgbox Route16_NorthEntrance_2F_Text_ExplainAmuletCoin release end -EventScript_170365:: @ 8170365 - msgbox gUnknown_819FC93 +Route16_NorthEntrance_2F_EventScript_AlreadyGotAmuletCoin:: @ 8170365 + msgbox Route16_NorthEntrance_2F_Text_ExplainAmuletCoin release end -EventScript_17036F:: @ 817036F - getnumberstring 0, 40 +Route16_NorthEntrance_2F_EventScript_GetAideRequestInfo:: @ 817036F + getnumberstring 0, REQUIRED_CAUGHT_MONS getitemname 1, ITEM_AMULET_COIN return diff --git a/data/maps/Route16_NorthEntrance_2F/text.inc b/data/maps/Route16_NorthEntrance_2F/text.inc index 4839bfe8a..37c518fb4 100644 --- a/data/maps/Route16_NorthEntrance_2F/text.inc +++ b/data/maps/Route16_NorthEntrance_2F/text.inc @@ -1,23 +1,23 @@ -gUnknown_819FA07:: @ 819FA07 +Route16_NorthEntrance_2F_Text_OnBikeRideWithGirlfriend:: @ 819FA07 .string "I'm on a relaxing ride on my new\n" .string "bike with my girlfriend.$" -gUnknown_819FA41:: @ 819FA41 +Route16_NorthEntrance_2F_Text_RidingTogetherOnNewBikes:: @ 819FA41 .string "We're going riding together on our\n" .string "new bikes.$" -gUnknown_819FA6F:: @ 819FA6F +Route16_NorthEntrance_2F_Text_ItsCeladonDeptStore:: @ 819FA6F .string "Let's see what the binoculars have\n" .string "to show…\p" .string "It's the CELADON DEPT. STORE!$" -gUnknown_819FAB9:: @ 819FAB9 +Route16_NorthEntrance_2F_Text_LongPathOverWater:: @ 819FAB9 .string "Let's see what the binoculars have\n" .string "to show…\p" .string "There's a long path over water far\n" .string "away.$" -gUnknown_819FB0E:: @ 819FB0E +Route16_NorthEntrance_2F_Text_GiveAmuletCoinIfCaught40:: @ 819FB0E .string "Hi! Remember me?\n" .string "I'm one of PROF. OAK's AIDES.\p" .string "If your POKéDEX has complete data\n" @@ -29,17 +29,17 @@ gUnknown_819FB0E:: @ 819FB0E .string "Have you gathered data on at least\n" .string "40 kinds of POKéMON?$" -gUnknown_819FC15:: @ 819FC15 +Route16_NorthEntrance_2F_Text_GreatHereYouGo:: @ 819FC15 .string "Great! You have caught or owned\n" .string "{STR_VAR_3} kinds of POKéMON!\p" .string "Congratulations!\n" .string "Here you go!$" -gUnknown_819FC68:: @ 819FC68 +Route16_NorthEntrance_2F_Text_ReceivedAmuletCoinFromAide:: @ 819FC68 .string "{PLAYER} received the AMULET COIN\n" .string "from the AIDE.$" -gUnknown_819FC93:: @ 819FC93 +Route16_NorthEntrance_2F_Text_ExplainAmuletCoin:: @ 819FC93 .string "An AMULET COIN is an item to be\n" .string "held by a POKéMON.\p" .string "If the POKéMON appears in a winning\n" diff --git a/data/maps/Route17/map.json b/data/maps/Route17/map.json index 57006827d..216da4c48 100644 --- a/data/maps/Route17/map.json +++ b/data/maps/Route17/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_17", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ROUTE16", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 4, "y": 18, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 6, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route17_EventScript_1AB319", + "script": "Route17_EventScript_Virgil", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 11, "y": 15, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 5, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route17_EventScript_1AB221", + "script": "Route17_EventScript_Isaiah", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 15, "y": 24, "elevation": 3, @@ -60,11 +62,11 @@ "movement_range_y": 2, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route17_EventScript_1AB1E3", + "script": "Route17_EventScript_Raul", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 18, "y": 41, "elevation": 3, @@ -73,11 +75,11 @@ "movement_range_y": 5, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route17_EventScript_1AB129", + "script": "Route17_EventScript_Nikolas", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 7, "y": 38, "elevation": 3, @@ -86,11 +88,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "Route17_EventScript_1AB0EB", + "script": "Route17_EventScript_Billy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 2, "y": 61, "elevation": 3, @@ -99,11 +101,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "Route17_EventScript_1AB29D", + "script": "Route17_EventScript_Jamal", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 21, "y": 61, "elevation": 3, @@ -112,11 +114,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route17_EventScript_1AB25F", + "script": "Route17_EventScript_Zeek", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 18, "y": 94, "elevation": 3, @@ -125,11 +127,11 @@ "movement_range_y": 5, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route17_EventScript_1AB2DB", + "script": "Route17_EventScript_Corey", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 16, "y": 134, "elevation": 3, @@ -138,11 +140,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route17_EventScript_1AB1A5", + "script": "Route17_EventScript_William", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 4, "y": 116, "elevation": 3, @@ -151,7 +153,7 @@ "movement_range_y": 5, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route17_EventScript_1AB167", + "script": "Route17_EventScript_Jaxon", "flag": "0" } ], @@ -159,46 +161,52 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 97, "elevation": 0, - "script": "Route17_EventScript_1681DB" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route17_EventScript_RouteSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 83, "elevation": 0, - "script": "Route17_EventScript_1681D2" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route17_EventScript_TrainerTips2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 68, "elevation": 0, - "script": "Route17_EventScript_1681C9" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route17_EventScript_TrainerTips1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 53, "elevation": 0, - "script": "Route17_EventScript_1681C0" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route17_EventScript_ItemsNotice" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 125, "elevation": 3, - "script": "Route17_EventScript_1681E4" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route17_EventScript_BallsNotice" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 11, "y": 157, "elevation": 0, - "script": "Route17_EventScript_1681ED" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route17_EventScript_CyclingRoadSign" }, { "type": "hidden_item", diff --git a/data/maps/Route17/scripts.inc b/data/maps/Route17/scripts.inc index 8633ab23e..787e68e04 100644 --- a/data/maps/Route17/scripts.inc +++ b/data/maps/Route17/scripts.inc @@ -1,26 +1,26 @@ Route17_MapScripts:: @ 81681BF .byte 0 -Route17_EventScript_1681C0:: @ 81681C0 - msgbox gUnknown_81874E4, MSGBOX_SIGN +Route17_EventScript_ItemsNotice:: @ 81681C0 + msgbox Route17_Text_WatchOutForDiscardedItems, MSGBOX_SIGN end -Route17_EventScript_1681C9:: @ 81681C9 - msgbox gUnknown_8187512, MSGBOX_SIGN +Route17_EventScript_TrainerTips1:: @ 81681C9 + msgbox Route17_Text_SameSpeciesGrowDifferentRates, MSGBOX_SIGN end -Route17_EventScript_1681D2:: @ 81681D2 - msgbox gUnknown_818757B, MSGBOX_SIGN +Route17_EventScript_TrainerTips2:: @ 81681D2 + msgbox Route17_Text_PressBToStayInPlace, MSGBOX_SIGN end -Route17_EventScript_1681DB:: @ 81681DB - msgbox gUnknown_81875BE, MSGBOX_SIGN +Route17_EventScript_RouteSign:: @ 81681DB + msgbox Route17_Text_RouteSign, MSGBOX_SIGN end -Route17_EventScript_1681E4:: @ 81681E4 - msgbox gUnknown_81875E3, MSGBOX_SIGN +Route17_EventScript_BallsNotice:: @ 81681E4 + msgbox Route17_Text_DontThrowGameThrowBalls, MSGBOX_SIGN end -Route17_EventScript_1681ED:: @ 81681ED - msgbox gUnknown_8187622, MSGBOX_SIGN +Route17_EventScript_CyclingRoadSign:: @ 81681ED + msgbox Route17_Text_CyclingRoadSign, MSGBOX_SIGN end diff --git a/data/maps/Route17/text.inc b/data/maps/Route17/text.inc index 6627d5cd0..21d7978a3 100644 --- a/data/maps/Route17/text.inc +++ b/data/maps/Route17/text.inc @@ -1,165 +1,131 @@ -Text_186FBD:: @ 8186FBD - .string "JED: Our love knows no bounds.\n" - .string "We're in love and we show it!$" - -Text_186FFA:: @ 8186FFA - .string "JED: Oh, no!\n" - .string "My love has seen me as a loser!$" - -Text_187027:: @ 8187027 - .string "JED: Listen, LEA.\n" - .string "You need to focus less on me.$" - -Text_187057:: @ 8187057 - .string "JED: You have just one POKéMON?\n" - .string "Is there no love in your heart?$" - -Text_187097:: @ 8187097 - .string "LEA: Sometimes, the intensity of\n" - .string "our love scares me.$" - -Text_1870CC:: @ 81870CC - .string "LEA: Ohh! But JED looks cool\n" - .string "even in a loss!$" - -Text_1870F9:: @ 81870F9 - .string "LEA: Ehehe, I'm sorry.\n" - .string "JED is so cool.$" - -Text_187120:: @ 8187120 - .string "LEA: Oh, you don't have two\n" - .string "POKéMON with you?\p" - .string "Doesn't it feel lonely for you or\n" - .string "your POKéMON?$" - -Text_18717E:: @ 818717E +Route17_Text_RaulIntro:: @ 818717E .string "There's no getting rich quick in\n" .string "battling kids.$" -Text_1871AE:: @ 81871AE +Route17_Text_RaulDefeat:: @ 81871AE .string "Burned out!$" -Text_1871BA:: @ 81871BA +Route17_Text_RaulPostBattle:: @ 81871BA .string "You can find good stuff lying\n" .string "around on CYCLING ROAD.\p" .string "There's good money in picking them\n" .string "up and selling them.$" -Text_187228:: @ 8187228 +Route17_Text_IsaiahIntro:: @ 8187228 .string "I'm mighty proud of my bod, kiddo.\n" .string "Come on!$" -Text_187254:: @ 8187254 +Route17_Text_IsaiahDefeat:: @ 8187254 .string "Whoo!$" -Text_18725A:: @ 818725A +Route17_Text_IsaiahPostBattle:: @ 818725A .string "I could belly-bump you outta\n" .string "here!$" -Text_18727D:: @ 818727D +Route17_Text_VirgilIntro:: @ 818727D .string "You heading to FUCHSIA?$" -Text_187295:: @ 8187295 +Route17_Text_VirgilDefeat:: @ 8187295 .string "Crash and burn!$" -Text_1872A5:: @ 81872A5 +Route17_Text_VirgilPostBattle:: @ 81872A5 .string "I love racing downhill!$" -Text_1872BD:: @ 81872BD +Route17_Text_BillyIntro:: @ 81872BD .string "We're BIKERS!\n" .string "We rule the roads, man!$" -Text_1872E3:: @ 81872E3 +Route17_Text_BillyDefeat:: @ 81872E3 .string "Smoked!$" -Text_1872EB:: @ 81872EB +Route17_Text_BillyPostBattle:: @ 81872EB .string "Are you looking for adventure?$" -Text_18730A:: @ 818730A +Route17_Text_NikolasIntro:: @ 818730A .string "Let VOLTORB electrify you!$" -Text_187325:: @ 8187325 +Route17_Text_NikolasDefeat:: @ 8187325 .string "Grounded out!$" -Text_187333:: @ 8187333 +Route17_Text_NikolasPostBattle:: @ 8187333 .string "I got my VOLTORB at the abandoned\n" .string "POWER PLANT.$" -Text_187362:: @ 8187362 +Route17_Text_ZeekIntro:: @ 8187362 .string "I leveled up my POKéMON, but it\n" .string "won't evolve. Why?$" -Text_187395:: @ 8187395 +Route17_Text_ZeekDefeat:: @ 8187395 .string "Why, you!$" -Text_18739F:: @ 818739F +Route17_Text_ZeekPostBattle:: @ 818739F .string "Maybe some POKéMON need element\n" .string "STONES to evolve.$" -Text_1873D1:: @ 81873D1 +Route17_Text_JamalIntro:: @ 81873D1 .string "I need a little exercise!$" -Text_1873EB:: @ 81873EB +Route17_Text_JamalDefeat:: @ 81873EB .string "Whew!\n" .string "Good workout!$" -Text_1873FF:: @ 81873FF +Route17_Text_JamalPostBattle:: @ 81873FF .string "I'm sure I lost weight there!$" -Text_18741D:: @ 818741D +Route17_Text_CoreyIntro:: @ 818741D .string "Be a rebel!$" -Text_187429:: @ 8187429 +Route17_Text_CoreyDefeat:: @ 8187429 .string "Aaaargh!$" -Text_187432:: @ 8187432 +Route17_Text_CoreyPostBattle:: @ 8187432 .string "Be ready to fight for your beliefs!$" -Text_187456:: @ 8187456 +Route17_Text_JaxonIntro:: @ 8187456 .string "Nice BIKE!\n" .string "How's it handle?$" -Text_187472:: @ 8187472 +Route17_Text_JaxonDefeat:: @ 8187472 .string "Shoot!$" -Text_187479:: @ 8187479 +Route17_Text_JaxonPostBattle:: @ 8187479 .string "The slope makes it hard to steer.$" -Text_18749B:: @ 818749B +Route17_Text_WilliamIntro:: @ 818749B .string "Get lost, kid!\n" .string "I'm bushed!$" -Text_1874B6:: @ 81874B6 +Route17_Text_WilliamDefeat:: @ 81874B6 .string "Are you satisfied?$" -Text_1874C9:: @ 81874C9 +Route17_Text_WilliamPostBattle:: @ 81874C9 .string "I need to catch a few z's!$" -gUnknown_81874E4:: @ 81874E4 +Route17_Text_WatchOutForDiscardedItems:: @ 81874E4 .string "It's a notice.\p" .string "Watch out for discarded items.$" -gUnknown_8187512:: @ 8187512 +Route17_Text_SameSpeciesGrowDifferentRates:: @ 8187512 .string "TRAINER TIPS\p" .string "All POKéMON are unique.\p" .string "Even POKéMON of the same species\n" .string "and level grow at different rates.$" -gUnknown_818757B:: @ 818757B +Route17_Text_PressBToStayInPlace:: @ 818757B .string "TRAINER TIPS\p" .string "Press the B Button to stay in place\n" .string "while on a slope.$" -gUnknown_81875BE:: @ 81875BE +Route17_Text_RouteSign:: @ 81875BE .string "ROUTE 17\n" .string "CELADON CITY - FUCHSIA CITY$" -gUnknown_81875E3:: @ 81875E3 +Route17_Text_DontThrowGameThrowBalls:: @ 81875E3 .string "It's a notice!\p" .string "Don't throw the game, throw POKé\n" .string "BALLS instead!$" -gUnknown_8187622:: @ 8187622 +Route17_Text_CyclingRoadSign:: @ 8187622 .string "CYCLING ROAD\n" .string "Slope ends here!$" diff --git a/data/maps/Route18/map.json b/data/maps/Route18/map.json index 5e89b3f8c..427e6347b 100644 --- a/data/maps/Route18/map.json +++ b/data/maps/Route18/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_18", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ROUTE17", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 46, "y": 14, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "Route18_EventScript_1AB3D3", + "script": "Route18_EventScript_Jacob", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 41, "y": 15, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route18_EventScript_1AB395", + "script": "Route18_EventScript_Ramiro", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 39, "y": 12, "elevation": 3, @@ -60,7 +62,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 6, - "script": "Route18_EventScript_1AB357", + "script": "Route18_EventScript_Wilton", "flag": "0" } ], @@ -83,18 +85,20 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 37, "y": 7, "elevation": 0, - "script": "Route18_EventScript_168228" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route18_EventScript_CyclingRoadSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 52, "y": 7, "elevation": 0, - "script": "Route18_EventScript_16821F" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route18_EventScript_RouteSign" } ] } diff --git a/data/maps/Route18/scripts.inc b/data/maps/Route18/scripts.inc index 25fda03c2..385d60134 100644 --- a/data/maps/Route18/scripts.inc +++ b/data/maps/Route18/scripts.inc @@ -5,25 +5,25 @@ Route18_MapScripts:: @ 81681F6 Route18_OnTransition:: @ 8168201 compare VAR_MAP_SCENE_ROUTE16, 1 - call_if_eq EventScript_16820D + call_if_eq Route18_OnTransitionCyclingRoad end -EventScript_16820D:: @ 816820D +Route18_OnTransitionCyclingRoad:: @ 816820D setflag FLAG_SYS_ON_CYCLING_ROAD return Route18_OnWarp:: @ 8168211 - map_script_2 VAR_MAP_SCENE_ROUTE16, 1, EventScript_16821B + map_script_2 VAR_MAP_SCENE_ROUTE16, 1, Route18_OnWarpCyclingRoad .2byte 0 -EventScript_16821B:: @ 816821B - special Special_ForcePlayerOntoBike +Route18_OnWarpCyclingRoad:: @ 816821B + special ForcePlayerOntoBike end -Route18_EventScript_16821F:: @ 816821F - msgbox gUnknown_8187757, MSGBOX_SIGN +Route18_EventScript_RouteSign:: @ 816821F + msgbox Route18_Text_RouteSign, MSGBOX_SIGN end -Route18_EventScript_168228:: @ 8168228 - msgbox gUnknown_818777C, MSGBOX_SIGN +Route18_EventScript_CyclingRoadSign:: @ 8168228 + msgbox Route18_Text_CyclingRoadSign, MSGBOX_SIGN end diff --git a/data/maps/Route18/text.inc b/data/maps/Route18/text.inc index c22a6360a..107804cfb 100644 --- a/data/maps/Route18/text.inc +++ b/data/maps/Route18/text.inc @@ -1,40 +1,40 @@ -Text_187640:: @ 8187640 +Route18_Text_WiltonIntro:: @ 8187640 .string "I always check every grassy area\n" .string "for new POKéMON.$" -Text_187672:: @ 8187672 +Route18_Text_WiltonDefeat:: @ 8187672 .string "Tch!$" -Text_187677:: @ 8187677 +Route18_Text_WiltonPostBattle:: @ 8187677 .string "I wish I had a BIKE!$" -Text_18768C:: @ 818768C +Route18_Text_RamiroIntro:: @ 818768C .string "Kurukkoo!\n" .string "How do you like my birdcall?$" -Text_1876B3:: @ 81876B3 +Route18_Text_RamiroDefeat:: @ 81876B3 .string "I had to bug you!$" -Text_1876C5:: @ 81876C5 +Route18_Text_RamiroPostBattle:: @ 81876C5 .string "I collect sea POKéMON on weekends\n" .string "because the sea is so close.$" -Text_187704:: @ 8187704 +Route18_Text_JacobIntro:: @ 8187704 .string "This is my turf!\n" .string "Get out of here!$" -Text_187726:: @ 8187726 +Route18_Text_JacobDefeat:: @ 8187726 .string "Darn!$" -Text_18772C:: @ 818772C +Route18_Text_JacobPostBattle:: @ 818772C .string "This is my fave area for catching\n" .string "POKéMON.$" -gUnknown_8187757:: @ 8187757 +Route18_Text_RouteSign:: @ 8187757 .string "ROUTE 18\n" .string "CELADON CITY - FUCHSIA CITY$" -gUnknown_818777C:: @ 818777C +Route18_Text_CyclingRoadSign:: @ 818777C .string "CYCLING ROAD\n" .string "No pedestrians permitted!$" diff --git a/data/maps/Route18_EastEntrance_1F/map.json b/data/maps/Route18_EastEntrance_1F/map.json index 673241e1b..c7c04b124 100644 --- a/data/maps/Route18_EastEntrance_1F/map.json +++ b/data/maps/Route18_EastEntrance_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_18", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 1, - "unknown_19": 2, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_POLICEMAN", + "graphics_id": "OBJ_EVENT_GFX_POLICEMAN", "x": 6, "y": 2, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route18_EastEntrance_1F_EventScript_170391", + "script": "Route18_EastEntrance_1F_EventScript_Guard", "flag": "0" } ], @@ -58,7 +60,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE16", "var_value": 0, - "script": "Route18_EastEntrance_1F_EventScript_1A77C1" + "script": "EventScript_SetEnteringCyclingRoad" }, { "type": "trigger", @@ -67,7 +69,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": 0, - "script": "Route18_EastEntrance_1F_EventScript_17039A" + "script": "Route18_EastEntrance_1F_EventScript_NeedBikeTriggerTop" }, { "type": "trigger", @@ -76,7 +78,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": 0, - "script": "Route18_EastEntrance_1F_EventScript_1703A6" + "script": "Route18_EastEntrance_1F_EventScript_NeedBikeTriggerMidTop" }, { "type": "trigger", @@ -85,7 +87,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": 0, - "script": "Route18_EastEntrance_1F_EventScript_1703B2" + "script": "Route18_EastEntrance_1F_EventScript_NeedBikeTriggerMid" }, { "type": "trigger", @@ -94,7 +96,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": 0, - "script": "Route18_EastEntrance_1F_EventScript_1703BE" + "script": "Route18_EastEntrance_1F_EventScript_NeedBikeTriggerMidBottom" }, { "type": "trigger", @@ -103,7 +105,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": 0, - "script": "Route18_EastEntrance_1F_EventScript_1703CA" + "script": "Route18_EastEntrance_1F_EventScript_NeedBikeTriggerBottom" }, { "type": "trigger", @@ -112,7 +114,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE16", "var_value": 1, - "script": "Route18_EastEntrance_1F_EventScript_1A77B6" + "script": "EventScript_SetExitingCyclingRoad" }, { "type": "trigger", @@ -121,7 +123,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE16", "var_value": 1, - "script": "Route18_EastEntrance_1F_EventScript_1A77B6" + "script": "EventScript_SetExitingCyclingRoad" }, { "type": "trigger", @@ -130,7 +132,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE16", "var_value": 1, - "script": "Route18_EastEntrance_1F_EventScript_1A77B6" + "script": "EventScript_SetExitingCyclingRoad" }, { "type": "trigger", @@ -139,7 +141,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE16", "var_value": 0, - "script": "Route18_EastEntrance_1F_EventScript_1A77C1" + "script": "EventScript_SetEnteringCyclingRoad" }, { "type": "trigger", @@ -148,7 +150,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE16", "var_value": 0, - "script": "Route18_EastEntrance_1F_EventScript_1A77C1" + "script": "EventScript_SetEnteringCyclingRoad" } ], "bg_events": [] diff --git a/data/maps/Route18_EastEntrance_1F/scripts.inc b/data/maps/Route18_EastEntrance_1F/scripts.inc index e49eb285f..0a6b3b56f 100644 --- a/data/maps/Route18_EastEntrance_1F/scripts.inc +++ b/data/maps/Route18_EastEntrance_1F/scripts.inc @@ -4,111 +4,111 @@ Route18_EastEntrance_1F_MapScripts:: @ 8170378 Route18_EastEntrance_1F_OnTransition:: @ 817037E clearflag FLAG_SYS_ON_CYCLING_ROAD - call_if_set FLAG_GOT_BICYCLE, EventScript_17038B + call_if_set FLAG_GOT_BICYCLE, Route18_EastEntrance_1F_EventScript_DisableNeedBikeTrigger end -EventScript_17038B:: @ 817038B +Route18_EastEntrance_1F_EventScript_DisableNeedBikeTrigger:: @ 817038B setvar VAR_TEMP_1, 1 return -Route18_EastEntrance_1F_EventScript_170391:: @ 8170391 - msgbox gUnknown_819FD3A, MSGBOX_NPC +Route18_EastEntrance_1F_EventScript_Guard:: @ 8170391 + msgbox Route18_EastEntrance_1F_Text_CyclingRoadAllUphillFromHere, MSGBOX_NPC end -Route18_EastEntrance_1F_EventScript_17039A:: @ 817039A +Route18_EastEntrance_1F_EventScript_NeedBikeTriggerTop:: @ 817039A lockall setvar VAR_0x8008, 0 - goto EventScript_1703D6 + goto Route18_EastEntrance_1F_EventScript_NeedBikeTrigger end -Route18_EastEntrance_1F_EventScript_1703A6:: @ 81703A6 +Route18_EastEntrance_1F_EventScript_NeedBikeTriggerMidTop:: @ 81703A6 lockall setvar VAR_0x8008, 1 - goto EventScript_1703D6 + goto Route18_EastEntrance_1F_EventScript_NeedBikeTrigger end -Route18_EastEntrance_1F_EventScript_1703B2:: @ 81703B2 +Route18_EastEntrance_1F_EventScript_NeedBikeTriggerMid:: @ 81703B2 lockall setvar VAR_0x8008, 2 - goto EventScript_1703D6 + goto Route18_EastEntrance_1F_EventScript_NeedBikeTrigger end -Route18_EastEntrance_1F_EventScript_1703BE:: @ 81703BE +Route18_EastEntrance_1F_EventScript_NeedBikeTriggerMidBottom:: @ 81703BE lockall setvar VAR_0x8008, 3 - goto EventScript_1703D6 + goto Route18_EastEntrance_1F_EventScript_NeedBikeTrigger end -Route18_EastEntrance_1F_EventScript_1703CA:: @ 81703CA +Route18_EastEntrance_1F_EventScript_NeedBikeTriggerBottom:: @ 81703CA lockall setvar VAR_0x8008, 4 - goto EventScript_1703D6 + goto Route18_EastEntrance_1F_EventScript_NeedBikeTrigger end -EventScript_1703D6:: @ 81703D6 +Route18_EastEntrance_1F_EventScript_NeedBikeTrigger:: @ 81703D6 textcolor 0 - msgbox gUnknown_819FD60 + msgbox Route18_EastEntrance_1F_Text_ExcuseMe closemessage applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestUp waitmovement 0 delay 20 compare VAR_0x8008, 1 - call_if_eq EventScript_17042F + call_if_eq Route18_EastEntrance_1F_EventScript_PlayerWalkToCounterMidTop compare VAR_0x8008, 2 - call_if_eq EventScript_17043A + call_if_eq Route18_EastEntrance_1F_EventScript_PlayerWalkToCounterMid compare VAR_0x8008, 3 - call_if_eq EventScript_170445 + call_if_eq Route18_EastEntrance_1F_EventScript_PlayerWalkToCounterMidBottom compare VAR_0x8008, 4 - call_if_eq EventScript_170450 - msgbox gUnknown_819FD0C + call_if_eq Route18_EastEntrance_1F_EventScript_PlayerWalkToCounterBottom + msgbox Route18_EastEntrance_1F_Text_NeedBicycleForCyclingRoad closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_170469 + applymovement OBJ_EVENT_ID_PLAYER, Route18_EastEntrance_1F_Movement_WalkRight waitmovement 0 releaseall end -EventScript_17042F:: @ 817042F - applymovement OBJ_EVENT_ID_PLAYER, Movement_17045B +Route18_EastEntrance_1F_EventScript_PlayerWalkToCounterMidTop:: @ 817042F + applymovement OBJ_EVENT_ID_PLAYER, Route18_EastEntrance_1F_Movement_WalkUp waitmovement 0 return -EventScript_17043A:: @ 817043A - applymovement OBJ_EVENT_ID_PLAYER, Movement_17045D +Route18_EastEntrance_1F_EventScript_PlayerWalkToCounterMid:: @ 817043A + applymovement OBJ_EVENT_ID_PLAYER, Route18_EastEntrance_1F_Movement_WalkUp2 waitmovement 0 return -EventScript_170445:: @ 8170445 - applymovement OBJ_EVENT_ID_PLAYER, Movement_170460 +Route18_EastEntrance_1F_EventScript_PlayerWalkToCounterMidBottom:: @ 8170445 + applymovement OBJ_EVENT_ID_PLAYER, Route18_EastEntrance_1F_Movement_WalkUp3 waitmovement 0 return -EventScript_170450:: @ 8170450 - applymovement OBJ_EVENT_ID_PLAYER, Movement_170464 +Route18_EastEntrance_1F_EventScript_PlayerWalkToCounterBottom:: @ 8170450 + applymovement OBJ_EVENT_ID_PLAYER, Route18_EastEntrance_1F_Movement_WalkUp4 waitmovement 0 return -Movement_17045B:: @ 817045B +Route18_EastEntrance_1F_Movement_WalkUp:: @ 817045B walk_up step_end -Movement_17045D:: @ 817045D +Route18_EastEntrance_1F_Movement_WalkUp2:: @ 817045D walk_up walk_up step_end -Movement_170460:: @ 8170460 +Route18_EastEntrance_1F_Movement_WalkUp3:: @ 8170460 walk_up walk_up walk_up step_end -Movement_170464:: @ 8170464 +Route18_EastEntrance_1F_Movement_WalkUp4:: @ 8170464 walk_up walk_up walk_up walk_up step_end -Movement_170469:: @ 8170469 +Route18_EastEntrance_1F_Movement_WalkRight:: @ 8170469 walk_right step_end diff --git a/data/maps/Route18_EastEntrance_1F/text.inc b/data/maps/Route18_EastEntrance_1F/text.inc index 5de293cba..9551d993f 100644 --- a/data/maps/Route18_EastEntrance_1F/text.inc +++ b/data/maps/Route18_EastEntrance_1F/text.inc @@ -1,11 +1,11 @@ -gUnknown_819FD0C:: @ 819FD0C +Route18_EastEntrance_1F_Text_NeedBicycleForCyclingRoad:: @ 819FD0C .string "You need a BICYCLE to go out on\n" .string "CYCLING ROAD!$" -gUnknown_819FD3A:: @ 819FD3A +Route18_EastEntrance_1F_Text_CyclingRoadAllUphillFromHere:: @ 819FD3A .string "CYCLING ROAD is all uphill from\n" .string "here.$" -gUnknown_819FD60:: @ 819FD60 +Route18_EastEntrance_1F_Text_ExcuseMe:: @ 819FD60 .string "Excuse me!$" diff --git a/data/maps/Route18_EastEntrance_2F/map.json b/data/maps/Route18_EastEntrance_2F/map.json index 1865cfa7f..d42dea652 100644 --- a/data/maps/Route18_EastEntrance_2F/map.json +++ b/data/maps/Route18_EastEntrance_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_18", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BOY", + "graphics_id": "OBJ_EVENT_GFX_BOY", "x": 5, "y": 3, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route18_EastEntrance_2F_EventScript_17047E", + "script": "Route18_EastEntrance_2F_EventScript_Haden", "flag": "0" } ], @@ -39,18 +41,20 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 1, "elevation": 0, - "script": "Route18_EastEntrance_2F_EventScript_17046C" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route18_EastEntrance_2F_EventScript_LeftBinoculars" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 1, "elevation": 0, - "script": "Route18_EastEntrance_2F_EventScript_170475" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route18_EastEntrance_2F_EventScript_RightBinoculars" } ] } diff --git a/data/maps/Route18_EastEntrance_2F/scripts.inc b/data/maps/Route18_EastEntrance_2F/scripts.inc index ed29859ab..910f238e4 100644 --- a/data/maps/Route18_EastEntrance_2F/scripts.inc +++ b/data/maps/Route18_EastEntrance_2F/scripts.inc @@ -1,47 +1,47 @@ Route18_EastEntrance_2F_MapScripts:: @ 817046B .byte 0 -Route18_EastEntrance_2F_EventScript_17046C:: @ 817046C - msgbox gUnknown_819FD6B, MSGBOX_SIGN +Route18_EastEntrance_2F_EventScript_LeftBinoculars:: @ 817046C + msgbox Route18_EastEntrance_2F_Text_PalletTownInWest, MSGBOX_SIGN end -Route18_EastEntrance_2F_EventScript_170475:: @ 8170475 - msgbox gUnknown_819FDB3, MSGBOX_SIGN +Route18_EastEntrance_2F_EventScript_RightBinoculars:: @ 8170475 + msgbox Route18_EastEntrance_2F_Text_PeopleSwimming, MSGBOX_SIGN end -Route18_EastEntrance_2F_EventScript_17047E:: @ 817047E +Route18_EastEntrance_2F_EventScript_Haden:: @ 817047E lock faceplayer setvar VAR_0x8008, INGAME_TRADE_LICKITUNG call EventScript_GetInGameTradeSpeciesInfo - goto_if_set FLAG_DID_MARC_TRADE, EventScript_1704F0 + goto_if_set FLAG_DID_MARC_TRADE, Route18_EastEntrance_2F_EventScript_AlreadyTraded msgbox Trade_Text_LookingForMonWannaTradeForMon, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_1704D8 + goto_if_eq Route18_EastEntrance_2F_EventScript_DeclineTrade call EventScript_ChooseMonForInGameTrade compare VAR_0x8004, PARTY_SIZE - goto_if_ge EventScript_1704D8 + goto_if_ge Route18_EastEntrance_2F_EventScript_DeclineTrade call EventScript_GetInGameTradeSpecies compare VAR_RESULT, VAR_0x8009 - goto_if_ne EventScript_1704E2 + goto_if_ne Route18_EastEntrance_2F_EventScript_NotRequestedMon call EventScript_DoInGameTrade msgbox Trade_Text_HeyThanks setflag FLAG_DID_MARC_TRADE release end -EventScript_1704D8:: @ 81704D8 +Route18_EastEntrance_2F_EventScript_DeclineTrade:: @ 81704D8 msgbox Trade_Text_AwwOhWell release end -EventScript_1704E2:: @ 81704E2 +Route18_EastEntrance_2F_EventScript_NotRequestedMon:: @ 81704E2 getspeciesname 0, VAR_0x8009 msgbox Trade_Text_WhatThatsNoMon release end -EventScript_1704F0:: @ 81704F0 +Route18_EastEntrance_2F_EventScript_AlreadyTraded:: @ 81704F0 msgbox Trade_Text_IsntMyOldMonGreat release end diff --git a/data/maps/Route18_EastEntrance_2F/text.inc b/data/maps/Route18_EastEntrance_2F/text.inc index 8a479371c..aac533f71 100644 --- a/data/maps/Route18_EastEntrance_2F/text.inc +++ b/data/maps/Route18_EastEntrance_2F/text.inc @@ -1,9 +1,9 @@ -gUnknown_819FD6B:: @ 819FD6B +Route18_EastEntrance_2F_Text_PalletTownInWest:: @ 819FD6B .string "Let's see what the binoculars have\n" .string "to show…\p" .string "PALLET TOWN is in the west.$" -gUnknown_819FDB3:: @ 819FDB3 +Route18_EastEntrance_2F_Text_PeopleSwimming:: @ 819FDB3 .string "Let's see what the binoculars have\n" .string "to show…\p" .string "There are people swimming.$" diff --git a/data/maps/Route19/map.json b/data/maps/Route19/map.json index 308f98b54..da02ab12c 100644 --- a/data/maps/Route19/map.json +++ b/data/maps/Route19/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_19", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_FUCHSIA_CITY", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_M_LAND", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_M_LAND", "x": 15, "y": 10, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 3, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route19_EventScript_1AB44F", + "script": "Route19_EventScript_Reece", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_M_LAND", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_M_LAND", "x": 10, "y": 9, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route19_EventScript_1AB411", + "script": "Route19_EventScript_Richard", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_M_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_M_WATER", "x": 12, "y": 17, "elevation": 1, @@ -60,11 +62,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route19_EventScript_1AB547", + "script": "Route19_EventScript_Tony", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_M_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_M_WATER", "x": 18, "y": 33, "elevation": 1, @@ -73,11 +75,11 @@ "movement_range_y": 3, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route19_EventScript_1AB48D", + "script": "Route19_EventScript_Matthew", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_M_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_M_WATER", "x": 8, "y": 27, "elevation": 1, @@ -86,11 +88,11 @@ "movement_range_y": 2, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route19_EventScript_1AB4CB", + "script": "Route19_EventScript_Douglas", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_M_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_M_WATER", "x": 16, "y": 22, "elevation": 1, @@ -99,11 +101,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 6, - "script": "Route19_EventScript_1AB509", + "script": "Route19_EventScript_David", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_M_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_M_WATER", "x": 11, "y": 47, "elevation": 1, @@ -112,11 +114,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route19_EventScript_1AB585", + "script": "Route19_EventScript_Axle", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_F_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_F_WATER", "x": 14, "y": 48, "elevation": 1, @@ -125,11 +127,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route19_EventScript_1AB601", + "script": "Route19_EventScript_Alice", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_F_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_F_WATER", "x": 12, "y": 49, "elevation": 1, @@ -138,11 +140,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route19_EventScript_1AB63F", + "script": "Route19_EventScript_Connie", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_F_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_F_WATER", "x": 9, "y": 48, "elevation": 1, @@ -151,11 +153,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route19_EventScript_1AB5C3", + "script": "Route19_EventScript_Anya", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_F_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_F_WATER", "x": 8, "y": 41, "elevation": 1, @@ -164,11 +166,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route19_EventScript_1AB67D", + "script": "Route19_EventScript_Lia", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_TUBER_M_1", + "graphics_id": "OBJ_EVENT_GFX_TUBER_M_1", "x": 9, "y": 41, "elevation": 1, @@ -177,7 +179,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route19_EventScript_1AB6C3", + "script": "Route19_EventScript_Luc", "flag": "0" } ], @@ -185,11 +187,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 13, "y": 12, "elevation": 0, - "script": "Route19_EventScript_168232" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route19_EventScript_RouteSign" } ] } diff --git a/data/maps/Route19/scripts.inc b/data/maps/Route19/scripts.inc index 16d6e4669..10b361e83 100644 --- a/data/maps/Route19/scripts.inc +++ b/data/maps/Route19/scripts.inc @@ -1,6 +1,6 @@ Route19_MapScripts:: @ 8168231 .byte 0 -Route19_EventScript_168232:: @ 8168232 - msgbox gUnknown_8187C06, MSGBOX_SIGN +Route19_EventScript_RouteSign:: @ 8168232 + msgbox Route19_Text_RouteSign, MSGBOX_SIGN end diff --git a/data/maps/Route19/text.inc b/data/maps/Route19/text.inc index a76ff89d7..a414146b4 100644 --- a/data/maps/Route19/text.inc +++ b/data/maps/Route19/text.inc @@ -1,119 +1,154 @@ -Text_1877A3:: @ 81877A3 +Route19_Text_RichardIntro:: @ 81877A3 .string "I have to exercise and warm up\n" .string "before going out for a swim.$" -Text_1877DF:: @ 81877DF +Route19_Text_RichardDefeat:: @ 81877DF .string "All warmed up!$" -Text_1877EE:: @ 81877EE +Route19_Text_RichardPostBattle:: @ 81877EE .string "Thanks, kid!\n" .string "I'm ready for a swim.$" -Text_187811:: @ 8187811 +Route19_Text_ReeceIntro:: @ 8187811 .string "Wait! Slow down!\n" .string "You'll have a heart attack!$" -Text_18783E:: @ 818783E +Route19_Text_ReeceDefeat:: @ 818783E .string "Ooh!\n" .string "That's chilly!$" -Text_187852:: @ 8187852 +Route19_Text_ReecePostBattle:: @ 8187852 .string "Watch out for TENTACOOL.\n" .string "They sting so painfully.$" -Text_187884:: @ 8187884 +Route19_Text_MatthewIntro:: @ 8187884 .string "I love swimming!\n" .string "What about you?$" -Text_1878A5:: @ 81878A5 +Route19_Text_MatthewDefeat:: @ 81878A5 .string "Belly flop!$" -Text_1878B1:: @ 81878B1 +Route19_Text_MatthewPostBattle:: @ 81878B1 .string "I can beat even marine POKéMON\n" .string "at swimming.$" -Text_1878DD:: @ 81878DD +Route19_Text_DouglasIntro:: @ 81878DD .string "What's beyond the horizon?$" -Text_1878F8:: @ 81878F8 +Route19_Text_DouglasDefeat:: @ 81878F8 .string "Glub!$" -Text_1878FE:: @ 81878FE +Route19_Text_DouglasPostBattle:: @ 81878FE .string "I see a couple of islands over\n" .string "yonder!$" -Text_187925:: @ 8187925 +Route19_Text_DavidIntro:: @ 8187925 .string "I tried diving for POKéMON, but it\n" .string "was a no-go.$" -Text_187955:: @ 8187955 +Route19_Text_DavidDefeat:: @ 8187955 .string "Help!$" -Text_18795B:: @ 818795B +Route19_Text_DavidPostBattle:: @ 818795B .string "I guess you have to fish for sea\n" .string "POKéMON.$" -Text_187985:: @ 8187985 +Route19_Text_TonyIntro:: @ 8187985 .string "I look at the sea to forget all\n" .string "the bad things that happened.$" -Text_1879C3:: @ 81879C3 +Route19_Text_TonyDefeat:: @ 81879C3 .string "Ooh!\n" .string "Traumatic!$" -Text_1879D3:: @ 81879D3 +Route19_Text_TonyPostBattle:: @ 81879D3 .string "I'm looking at the sea to forget\n" .string "the bad thing that happened!$" -Text_187A11:: @ 8187A11 +Route19_Text_AnyaIntro:: @ 8187A11 .string "Oh, I just love your ride!\n" .string "Can I have it if I win?$" -Text_187A44:: @ 8187A44 +Route19_Text_AnyaDefeat:: @ 8187A44 .string "Oh! I lost!$" -Text_187A50:: @ 8187A50 +Route19_Text_AnyaPostBattle:: @ 8187A50 .string "It's still a long way to go to\n" .string "SEAFOAM ISLANDS…\p" .string "I want to go back to FUCHSIA…$" -Text_187A9E:: @ 8187A9E +Route19_Text_AliceIntro:: @ 8187A9E .string "Swimming's great!\n" .string "Sunburns aren't!$" -Text_187AC1:: @ 8187AC1 +Route19_Text_AliceDefeat:: @ 8187AC1 .string "Shocker!$" -Text_187ACA:: @ 8187ACA +Route19_Text_AlicePostBattle:: @ 8187ACA .string "My boyfriend wanted to swim to\n" .string "SEAFOAM ISLANDS.$" -Text_187AFA:: @ 8187AFA +Route19_Text_AxleIntro:: @ 8187AFA .string "Ahoy, there!\n" .string "These waters are treacherous!$" -Text_187B25:: @ 8187B25 +Route19_Text_AxleDefeat:: @ 8187B25 .string "Ooh!\n" .string "Dangerous!$" -Text_187B35:: @ 8187B35 +Route19_Text_AxlePostBattle:: @ 8187B35 .string "M-my legs! They cramped up!\n" .string "Glub, glub…$" -Text_187B5D:: @ 8187B5D +Route19_Text_ConnieIntro:: @ 8187B5D .string "I swam here with my friends…\n" .string "I'm tired…$" -Text_187B85:: @ 8187B85 +Route19_Text_ConnieDefeat:: @ 8187B85 .string "I'm exhausted…$" -Text_187B94:: @ 8187B94 +Route19_Text_ConniePostBattle:: @ 8187B94 .string "If I were to ride a POKéMON on\n" .string "the sea, I'd like a LAPRAS.\p" .string "LAPRAS is so big, I bet it\n" .string "would keep me dry on water.$" -gUnknown_8187C06:: @ 8187C06 +Route19_Text_RouteSign:: @ 8187C06 .string "SEA ROUTE 19\n" .string "FUCHSIA CITY - SEAFOAM ISLANDS$" +Route19_Text_LiaIntro:: @ 8187C32 + .string "LIA: I'm looking after my brother.\n" + .string "He just became a TRAINER.$" + +Route19_Text_LiaDefeat:: @ 8187C6F + .string "LIA: That's no way to treat my\n" + .string "little brother!$" + +Route19_Text_LiaPostBattle:: @ 8187C9E + .string "LIA: Do you have a younger\n" + .string "brother?\p" + .string "I hope you're teaching him all\n" + .string "sorts of things.$" + +Route19_Text_LiaNotEnoughMons:: @ 8187CF2 + .string "LIA: I want to battle together\n" + .string "with my little brother.\p" + .string "Don't you have two POKéMON?$" + +Route19_Text_LucIntro:: @ 8187D45 + .string "LUC: My big sis taught me how\n" + .string "to swim and train POKéMON.$" + +Route19_Text_LucDefeat:: @ 8187D7E + .string "LUC: Oh, wow!\n" + .string "Someone tougher than my big sis!$" + +Route19_Text_LucPostBattle:: @ 8187DAD + .string "LUC: My big sis is strong and nice.\n" + .string "I think she's awesome!$" + +Route19_Text_LucNotEnoughMons:: @ 8187DE8 + .string "LUC: I don't want to if I can't\n" + .string "battle you with my big sis.\p" + .string "Don't you have two POKéMON?$" diff --git a/data/maps/Route2/map.json b/data/maps/Route2/map.json index 86be51055..d9dacd473 100644 --- a/data/maps/Route2/map.json +++ b/data/maps/Route2/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_2", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_PEWTER_CITY", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 16, "y": 62, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_14" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 15, "y": 69, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_13" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 11, "y": 13, "elevation": 3, @@ -60,11 +62,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_15" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 18, "y": 26, "elevation": 3, @@ -73,11 +75,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_16" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 17, "y": 54, "elevation": 3, @@ -90,7 +92,7 @@ "flag": "FLAG_HIDE_ROUTE2_ETHER" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 17, "y": 64, "elevation": 3, @@ -103,7 +105,8 @@ "flag": "FLAG_HIDE_ROUTE2_PARALYZE_HEAL" }, { - "graphics_id": "65375", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", + "in_connection": true, "x": 6, "y": 85, "elevation": 8, @@ -191,17 +194,19 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 14, "y": 12, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "Route2_EventScript_DiglettsCaveSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 7, "y": 73, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "Route2_EventScript_RouteSign" } ] diff --git a/data/maps/Route20/map.json b/data/maps/Route20/map.json index 3ce14e08d..fb5da2a10 100644 --- a/data/maps/Route20/map.json +++ b/data/maps/Route20/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_20", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_CINNABAR_ISLAND", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_F_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_F_WATER", "x": 8, "y": 11, "elevation": 1, @@ -34,11 +36,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route20_EventScript_1AB83F", + "script": "Route20_EventScript_Melissa", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 16, "y": 14, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route20_EventScript_1AB8F9", + "script": "Route20_EventScript_Missy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_F_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_F_WATER", "x": 34, "y": 7, "elevation": 1, @@ -60,11 +62,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "Route20_EventScript_1AB801", + "script": "Route20_EventScript_Nora", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 43, "y": 9, "elevation": 3, @@ -73,11 +75,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route20_EventScript_1AB8BB", + "script": "Route20_EventScript_Roger", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_M_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_M_WATER", "x": 23, "y": 10, "elevation": 1, @@ -86,11 +88,11 @@ "movement_range_y": 4, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route20_EventScript_1AB747", + "script": "Route20_EventScript_Dean", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 73, "y": 16, "elevation": 3, @@ -99,11 +101,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route20_EventScript_1AB937", + "script": "Route20_EventScript_Irene", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_M_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_M_WATER", "x": 111, "y": 9, "elevation": 1, @@ -112,11 +114,11 @@ "movement_range_y": 3, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route20_EventScript_1AB709", + "script": "Route20_EventScript_Barry", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_M_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_M_WATER", "x": 106, "y": 11, "elevation": 1, @@ -125,11 +127,11 @@ "movement_range_y": 3, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route20_EventScript_1AB785", + "script": "Route20_EventScript_Darrin", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_F_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_F_WATER", "x": 93, "y": 10, "elevation": 1, @@ -138,11 +140,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "Route20_EventScript_1AB87D", + "script": "Route20_EventScript_Shirley", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_F_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_F_WATER", "x": 54, "y": 11, "elevation": 1, @@ -151,11 +153,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route20_EventScript_1AB7C3", + "script": "Route20_EventScript_Tiffany", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CAMPER", + "graphics_id": "OBJ_EVENT_GFX_CAMPER", "x": 69, "y": 3, "elevation": 3, @@ -164,7 +166,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route20_EventScript_1ACE36", + "script": "Route20_EventScript_Camper", "flag": "0" } ], @@ -187,18 +189,20 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 68, "y": 14, "elevation": 0, - "script": "Route20_EventScript_168280" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route20_EventScript_SeafoamIslandsSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 64, "y": 8, "elevation": 0, - "script": "Route20_EventScript_168280" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route20_EventScript_SeafoamIslandsSign" }, { "type": "hidden_item", diff --git a/data/maps/Route20/scripts.inc b/data/maps/Route20/scripts.inc index a034c3610..7ef352f82 100644 --- a/data/maps/Route20/scripts.inc +++ b/data/maps/Route20/scripts.inc @@ -3,11 +3,11 @@ Route20_MapScripts:: @ 816823B .byte 0 Route20_OnTransition:: @ 8168241 - call_if_unset FLAG_STOPPED_SEAFOAM_B3F_CURRENT, EventScript_168254 - call_if_unset FLAG_STOPPED_SEAFOAM_B4F_CURRENT, EventScript_16826D + call_if_unset FLAG_STOPPED_SEAFOAM_B3F_CURRENT, Route20_EventScript_ResetSeafoamBouldersForB3F + call_if_unset FLAG_STOPPED_SEAFOAM_B4F_CURRENT, Route20_EventScript_ResetSeafoamBouldersForB4F end -EventScript_168254:: @ 8168254 +Route20_EventScript_ResetSeafoamBouldersForB3F:: @ 8168254 clearflag FLAG_HIDE_SEAFOAM_1F_BOULDER_1 clearflag FLAG_HIDE_SEAFOAM_1F_BOULDER_2 setflag FLAG_HIDE_SEAFOAM_B1F_BOULDER_1 @@ -18,7 +18,7 @@ EventScript_168254:: @ 8168254 setflag FLAG_HIDE_SEAFOAM_B3F_BOULDER_2 return -EventScript_16826D:: @ 816826D +Route20_EventScript_ResetSeafoamBouldersForB4F:: @ 816826D clearflag FLAG_HIDE_SEAFOAM_B3F_BOULDER_3 clearflag FLAG_HIDE_SEAFOAM_B3F_BOULDER_4 clearflag FLAG_HIDE_SEAFOAM_B3F_BOULDER_5 @@ -27,6 +27,6 @@ EventScript_16826D:: @ 816826D setflag FLAG_HIDE_SEAFOAM_B4F_BOULDER_2 return -Route20_EventScript_168280:: @ 8168280 - msgbox gUnknown_81882D1, MSGBOX_SIGN +Route20_EventScript_SeafoamIslandsSign:: @ 8168280 + msgbox Route20_Text_SeafoamIslands, MSGBOX_SIGN end diff --git a/data/maps/Route20/text.inc b/data/maps/Route20/text.inc index 070575cc7..5ca372ef6 100644 --- a/data/maps/Route20/text.inc +++ b/data/maps/Route20/text.inc @@ -1,151 +1,120 @@ -Text_187C32:: @ 8187C32 - .string "LIA: I'm looking after my brother.\n" - .string "He just became a TRAINER.$" - -Text_187C6F:: @ 8187C6F - .string "LIA: That's no way to treat my\n" - .string "little brother!$" - -Text_187C9E:: @ 8187C9E - .string "LIA: Do you have a younger\n" - .string "brother?\p" - .string "I hope you're teaching him all\n" - .string "sorts of things.$" - -Text_187CF2:: @ 8187CF2 - .string "LIA: I want to battle together\n" - .string "with my little brother.\p" - .string "Don't you have two POKéMON?$" - -Text_187D45:: @ 8187D45 - .string "LUC: My big sis taught me how\n" - .string "to swim and train POKéMON.$" - -Text_187D7E:: @ 8187D7E - .string "LUC: Oh, wow!\n" - .string "Someone tougher than my big sis!$" - -Text_187DAD:: @ 8187DAD - .string "LUC: My big sis is strong and nice.\n" - .string "I think she's awesome!$" - -Text_187DE8:: @ 8187DE8 - .string "LUC: I don't want to if I can't\n" - .string "battle you with my big sis.\p" - .string "Don't you have two POKéMON?$" - -Text_187E40:: @ 8187E40 +Route20_Text_BarryIntro:: @ 8187E40 .string "The water is shallow here.\n" .string "There are many people swimming.$" -Text_187E7B:: @ 8187E7B +Route20_Text_BarryDefeat:: @ 8187E7B .string "Splash!$" -Text_187E83:: @ 8187E83 +Route20_Text_BarryPostBattle:: @ 8187E83 .string "I wish I could ride my POKéMON.\n" .string "I bet you're not tired.$" -Text_187EBB:: @ 8187EBB +Route20_Text_ShirleyIntro:: @ 8187EBB .string "SEAFOAM is a quiet getaway.\n" .string "I'm vacationing here.$" -Text_187EED:: @ 8187EED +Route20_Text_ShirleyDefeat:: @ 8187EED .string "Quit it!$" -Text_187EF6:: @ 8187EF6 +Route20_Text_ShirleyPostBattle:: @ 8187EF6 .string "There's a huge cavern underneath\n" .string "this island.$" -Text_187F24:: @ 8187F24 +Route20_Text_TiffanyIntro:: @ 8187F24 .string "I love floating with the fishes\n" .string "here among the waves.$" -Text_187F5A:: @ 8187F5A +Route20_Text_TiffanyDefeat:: @ 8187F5A .string "Yowch!$" -Text_187F61:: @ 8187F61 +Route20_Text_TiffanyPostBattle:: @ 8187F61 .string "Want to float with me?$" -Text_187F78:: @ 8187F78 +Route20_Text_IreneIntro:: @ 8187F78 .string "Are you on vacation, too?$" -Text_187F92:: @ 8187F92 +Route20_Text_IreneDefeat:: @ 8187F92 .string "No mercy at all!$" -Text_187FA3:: @ 8187FA3 +Route20_Text_IrenePostBattle:: @ 8187FA3 .string "SEAFOAM used to be a single island\n" .string "in the distant past.$" -Text_187FDB:: @ 8187FDB +Route20_Text_DeanIntro:: @ 8187FDB .string "Check out my buff physique!$" -Text_187FF7:: @ 8187FF7 +Route20_Text_DeanDefeat:: @ 8187FF7 .string "Wimpy!$" -Text_187FFE:: @ 8187FFE +Route20_Text_DeanPostBattle:: @ 8187FFE .string "I should've been buffing up my\n" .string "POKéMON, not me!$" -Text_18802E:: @ 818802E +Route20_Text_DarrinIntro:: @ 818802E .string "Why are you riding a POKéMON?\n" .string "Can't you swim?$" -Text_18805C:: @ 818805C +Route20_Text_DarrinDefeat:: @ 818805C .string "Ouch!\n" .string "Torpedoed!$" -Text_18806D:: @ 818806D +Route20_Text_DarrinPostBattle:: @ 818806D .string "Riding a POKéMON sure looks fun!$" -Text_18808E:: @ 818808E +Route20_Text_RogerIntro:: @ 818808E .string "I rode my bird POKéMON here.$" -Text_1880AB:: @ 81880AB +Route20_Text_RogerDefeat:: @ 81880AB .string "Oh, no!\n" .string "Now what am I to do?$" -Text_1880C8:: @ 81880C8 +Route20_Text_RogerPostBattle:: @ 81880C8 .string "My birds are exhausted.\n" .string "They can't FLY me back!$" -Text_1880F8:: @ 81880F8 +Route20_Text_NoraIntro:: @ 81880F8 .string "My boyfriend gave me big pearls.$" -Text_188119:: @ 8188119 +Route20_Text_NoraDefeat:: @ 8188119 .string "Oh, no!\n" .string "My pearls were in them!$" -Text_188139:: @ 8188139 +Route20_Text_NoraPostBattle:: @ 8188139 .string "Will my pearls grow bigger inside\n" .string "CLOYSTER?$" -Text_188165:: @ 8188165 +Route20_Text_MissyIntro:: @ 8188165 .string "I swam here from CINNABAR ISLAND.\n" .string "It wasn't easy, I tell you.$" -Text_1881A3:: @ 81881A3 +Route20_Text_MissyDefeat:: @ 81881A3 .string "I'm so disappointed!$" -Text_1881B8:: @ 81881B8 +Route20_Text_MissyPostBattle:: @ 81881B8 .string "POKéMON have taken over an\n" .string "abandoned mansion on CINNABAR.\p" .string "They call it the POKéMON MANSION\n" .string "now.$" -Text_188218:: @ 8188218 +Route20_Text_MelissaIntro:: @ 8188218 .string "CINNABAR, in the west, has a LAB\n" .string "for POKéMON.\p" .string "My daddy works there.$" -Text_18825C:: @ 818825C +Route20_Text_MelissaDefeat:: @ 818825C .string "Wait!\n" .string "You're supposed to wait!$" -Text_18827B:: @ 818827B +Route20_Text_MelissaPostBattle:: @ 818827B .string "CINNABAR is a volcanic island.\p" .string "I heard it rose out of the sea\n" .string "when a volcano erupted.$" -gUnknown_81882D1:: @ 81882D1 +Route20_Text_SeafoamIslands:: @ 81882D1 .string "SEAFOAM ISLANDS$" +Route20_Text_MistyTrainsHere:: @ 81882E1 + .string "Strong TRAINERS and WATER POKéMON\n" + .string "are common sights in these parts.\p" + .string "They say that MISTY of the\n" + .string "CERULEAN GYM trains here.$" diff --git a/data/maps/Route21_North/map.json b/data/maps/Route21_North/map.json index 2bc8bcad8..05b91c5d3 100644 --- a/data/maps/Route21_North/map.json +++ b/data/maps/Route21_North/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_21", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_PALLET_TOWN", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_FISHER", + "graphics_id": "OBJ_EVENT_GFX_FISHER", "x": 7, "y": 27, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 0, - "script": "Route21_North_EventScript_1AB975", + "script": "Route21_North_EventScript_Ronald", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_FISHER", + "graphics_id": "OBJ_EVENT_GFX_FISHER", "x": 16, "y": 26, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 0, - "script": "Route21_North_EventScript_1AB9F1", + "script": "Route21_North_EventScript_Wade", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_M_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_M_WATER", "x": 12, "y": 44, "elevation": 1, @@ -60,11 +62,11 @@ "movement_range_y": 2, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route21_North_EventScript_1ABA6D", + "script": "Route21_North_EventScript_Spencer", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_F_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_F_WATER", "x": 14, "y": 35, "elevation": 1, @@ -73,11 +75,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route21_North_EventScript_1ABB65", + "script": "Route21_North_EventScript_Lil", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_TUBER_M_1", + "graphics_id": "OBJ_EVENT_GFX_TUBER_M_1", "x": 15, "y": 35, "elevation": 1, @@ -86,13 +88,14 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route21_North_EventScript_1ABBAB", + "script": "Route21_North_EventScript_Ian", "flag": "0" }, { - "graphics_id": "65307", + "graphics_id": "OBJ_EVENT_GFX_FAT_MAN", + "in_connection": true, "x": 13, - "y": 65533, + "y": -3, "elevation": 2, "movement_type": "MOVEMENT_TYPE_NONE", "movement_range_x": 0, diff --git a/data/maps/Route21_North/text.inc b/data/maps/Route21_North/text.inc index e8fc3223a..60caf4702 100644 --- a/data/maps/Route21_North/text.inc +++ b/data/maps/Route21_North/text.inc @@ -1,48 +1,50 @@ -Text_1882E1:: @ 81882E1 - .string "Strong TRAINERS and WATER POKéMON\n" - .string "are common sights in these parts.\p" - .string "They say that MISTY of the\n" - .string "CERULEAN GYM trains here.$" - -Text_18835A:: @ 818835A +Route21_North_Text_RonaldIntro:: @ 818835A .string "You want to know if the fish are\n" .string "biting?$" -Text_188383:: @ 8188383 +Route21_North_Text_RonaldDefeat:: @ 8188383 .string "Dang!$" -Text_188389:: @ 8188389 +Route21_North_Text_RonaldPostBattle:: @ 8188389 .string "I can't catch anything good.\n" .string "Not one good POKéMON to be had!$" -Text_1883C6:: @ 81883C6 +Route21_North_Text_WadeIntro:: @ 81883C6 .string "I got a big haul!\n" .string "Wanna go for it?$" -Text_1883E9:: @ 81883E9 +Route21_North_Text_WadeDefeat:: @ 81883E9 .string "Heheh, MAGIKARP just don't make\n" .string "the grade, do they?$" -Text_18841D:: @ 818841D +Route21_North_Text_WadePostBattle:: @ 818841D .string "I seem to only catch MAGIKARP!$" -Text_18843C:: @ 818843C +Route21_North_Text_SpencerIntro:: @ 818843C .string "The sea cleanses my body and soul!$" -Text_18845F:: @ 818845F +Route21_North_Text_SpencerDefeat:: @ 818845F .string "Ayah!$" -Text_188465:: @ 8188465 +Route21_North_Text_SpencerPostBattle:: @ 8188465 .string "The sea is great and all, but I\n" .string "like the mountains, too.$" -Text_18849E:: @ 818849E +@ Below is the battle text for the Cue Ball that was on Route 21 in Gen 1. +@ This trainer wasnt used in Gen 3 so their text goes unused/untranslated +@ Interestingly they did add a rematch intro text for this trainer +@ English translations from RB are listed + +@ "What's wrong with me swimming?" +Route21_North_Text_CueBallIntro:: @ 818849E .string "おれだって たまには\n" .string "およぎに くるぜ!$" -Text_1884B3:: @ 81884B3 +@ "Cheap shot!" +Route21_North_Text_CueBallDefeat:: @ 81884B3 .string "ぐわわ!$" -Text_1884B8:: @ 81884B8 +@ "I look like what? A studded inner tube? Get lost!" +Route21_North_Text_CueBallPostBattle:: @ 81884B8 .string "うきやすそう だと?\n" .string "うるせー おおきな おせわだッ!$" diff --git a/data/maps/Route21_South/map.json b/data/maps/Route21_South/map.json index 90da7a10b..8e9398b68 100644 --- a/data/maps/Route21_South/map.json +++ b/data/maps/Route21_South/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_21", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ROUTE21_NORTH", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_FISHER", + "graphics_id": "OBJ_EVENT_GFX_FISHER", "x": 11, "y": 8, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 0, - "script": "Route21_South_EventScript_1AB9B3", + "script": "Route21_South_EventScript_Claude", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_FISHER", + "graphics_id": "OBJ_EVENT_GFX_FISHER", "x": 14, "y": 15, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 0, - "script": "Route21_South_EventScript_1ABA2F", + "script": "Route21_South_EventScript_Nolan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_M_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_M_WATER", "x": 15, "y": 24, "elevation": 1, @@ -60,11 +62,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route21_South_EventScript_1ABAAB", + "script": "Route21_South_EventScript_Jack", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_M_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_M_WATER", "x": 15, "y": 38, "elevation": 1, @@ -73,11 +75,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route21_South_EventScript_1ABAE9", + "script": "Route21_South_EventScript_Jerome", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_M_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_M_WATER", "x": 10, "y": 29, "elevation": 1, @@ -86,7 +88,7 @@ "movement_range_y": 2, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "Route21_South_EventScript_1ABB27", + "script": "Route21_South_EventScript_Roland", "flag": "0" } ], diff --git a/data/maps/Route21_South/text.inc b/data/maps/Route21_South/text.inc index 8700006ef..255c1eaed 100644 --- a/data/maps/Route21_South/text.inc +++ b/data/maps/Route21_South/text.inc @@ -1,87 +1,87 @@ -Text_1884D4:: @ 81884D4 +Route21_South_Text_JackIntro:: @ 81884D4 .string "I caught my POKéMON at sea.$" -Text_1884F0:: @ 81884F0 +Route21_South_Text_JackDefeat:: @ 81884F0 .string "Diver!!\n" .string "Down!!$" -Text_1884FF:: @ 81884FF +Route21_South_Text_JackPostBattle:: @ 81884FF .string "Where'd you catch your POKéMON?$" -Text_18851F:: @ 818851F +Route21_South_Text_JeromeIntro:: @ 818851F .string "Right now, I'm in a triathlon meet.$" -Text_188543:: @ 8188543 +Route21_South_Text_JeromeDefeat:: @ 8188543 .string "Pant…\n" .string "Pant… Pant…$" -Text_188555:: @ 8188555 +Route21_South_Text_JeromePostBattle:: @ 8188555 .string "I'm beat! But, I still have the\n" .string "bike race and marathon left!$" -Text_188592:: @ 8188592 +Route21_South_Text_RolandIntro:: @ 8188592 .string "Ahh!\n" .string "Feel the sun and the wind!$" -Text_1885B2:: @ 81885B2 +Route21_South_Text_RolandDefeat:: @ 81885B2 .string "Yow!\n" .string "I lost!$" -Text_1885BF:: @ 81885BF +Route21_South_Text_RolandPostBattle:: @ 81885BF .string "I'm sunburnt to a crisp!$" -Text_1885D8:: @ 81885D8 +Route21_South_Text_ClaudeIntro:: @ 81885D8 .string "Hey, don't scare away the fish!$" -Text_1885F8:: @ 81885F8 +Route21_South_Text_ClaudeDefeat:: @ 81885F8 .string "Sorry! I'm just so frustrated from\n" .string "not catching anything.$" -Text_188632:: @ 8188632 +Route21_South_Text_ClaudePostBattle:: @ 8188632 .string "Sheesh, I haven't caught a thing.\n" .string "Could this place actually be a\l" .string "giant pool or something?$" -Text_18868C:: @ 818868C +Route21_South_Text_NolanIntro:: @ 818868C .string "Keep me company till I get a hit.$" -Text_1886AE:: @ 81886AE +Route21_South_Text_NolanDefeat:: @ 81886AE .string "That burned some time.$" -Text_1886C5:: @ 81886C5 +Route21_South_Text_NolanPostBattle:: @ 81886C5 .string "Oh wait!\n" .string "I got a bite! Yeah!$" -Text_1886E2:: @ 81886E2 +Route21_North_Text_LilIntro:: @ 81886E2 .string "LIL: Huh? A battle?\n" .string "IAN, can't you do it alone?$" -Text_188712:: @ 8188712 +Route21_North_Text_LilDefeat:: @ 8188712 .string "LIL: Oh, see?\n" .string "We lost. Happy now?$" -Text_188734:: @ 8188734 +Route21_North_Text_LilPostBattle:: @ 8188734 .string "LIL: I'm tired.\n" .string "Can't we go home already?$" -Text_18875E:: @ 818875E +Route21_North_Text_LilNotEnoughMons:: @ 818875E .string "LIL: Huh? A battle?\n" .string "I can't be bothered to do it alone.\l" .string "Bring two POKéMON, won't you?$" -Text_1887B4:: @ 81887B4 +Route21_North_Text_IanIntro:: @ 81887B4 .string "IAN: My sis doesn't get enough\n" .string "exercise, so I made her come.$" -Text_1887F1:: @ 81887F1 +Route21_North_Text_IanDefeat:: @ 81887F1 .string "IAN: Awww, Sis!\n" .string "Get it together!$" -Text_188812:: @ 8188812 +Route21_North_Text_IanPostBattle:: @ 8188812 .string "IAN: Come on, Sis!\p" .string "You're not going to lose weight\n" .string "like this!$" -Text_188850:: @ 8188850 +Route21_North_Text_IanNotEnoughMons:: @ 8188850 .string "IAN: We want a two-on-two battle.\n" .string "So can you bring two POKéMON?$" diff --git a/data/maps/Route22/map.json b/data/maps/Route22/map.json index e8695121f..d3f74056c 100644 --- a/data/maps/Route22/map.json +++ b/data/maps/Route22/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_22", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ROUTE23", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BLUE", + "graphics_id": "OBJ_EVENT_GFX_BLUE", "x": 25, "y": 4, "elevation": 3, @@ -112,10 +114,11 @@ ], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 7, "y": 12, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "Route22_EventScript_LeagueGateSign" } ] diff --git a/data/maps/Route22_NorthEntrance/map.json b/data/maps/Route22_NorthEntrance/map.json index f8f624106..7e5e18115 100644 --- a/data/maps/Route22_NorthEntrance/map.json +++ b/data/maps/Route22_NorthEntrance/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_22", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_POLICEMAN", + "graphics_id": "OBJ_EVENT_GFX_POLICEMAN", "x": 8, "y": 2, "elevation": 3, diff --git a/data/maps/Route23/map.json b/data/maps/Route23/map.json index 36bee2780..6fc781eea 100644 --- a/data/maps/Route23/map.json +++ b/data/maps/Route23/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_23", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_INDIGO_PLATEAU_EXTERIOR", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_POLICEMAN", + "graphics_id": "OBJ_EVENT_GFX_POLICEMAN", "x": 15, "y": 149, "elevation": 3, @@ -38,7 +40,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_POLICEMAN", + "graphics_id": "OBJ_EVENT_GFX_POLICEMAN", "x": 8, "y": 140, "elevation": 3, @@ -51,7 +53,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_POLICEMAN", + "graphics_id": "OBJ_EVENT_GFX_POLICEMAN", "x": 14, "y": 123, "elevation": 3, @@ -64,7 +66,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_POLICEMAN", + "graphics_id": "OBJ_EVENT_GFX_POLICEMAN", "x": 16, "y": 112, "elevation": 3, @@ -77,7 +79,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_POLICEMAN", + "graphics_id": "OBJ_EVENT_GFX_POLICEMAN", "x": 10, "y": 94, "elevation": 3, @@ -90,7 +92,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_POLICEMAN", + "graphics_id": "OBJ_EVENT_GFX_POLICEMAN", "x": 14, "y": 61, "elevation": 3, @@ -103,7 +105,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_POLICEMAN", + "graphics_id": "OBJ_EVENT_GFX_POLICEMAN", "x": 6, "y": 35, "elevation": 3, @@ -608,10 +610,11 @@ "underfoot": false }, { - "type": "bg_event_type_0", + "type": "sign", "x": 3, "y": 31, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "Route23_EventScript_VictoryRoadGateSign" } ] diff --git a/data/maps/Route24/map.json b/data/maps/Route24/map.json index d87b68895..a12005d3f 100644 --- a/data/maps/Route24/map.json +++ b/data/maps/Route24/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_24", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_CERULEAN_CITY", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 12, "y": 15, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route24_EventScript_168620", + "script": "Route24_EventScript_Rocket", "flag": "FLAG_HIDE_NUGGET_BRIDGE_ROCKET" }, { - "graphics_id": "OBJECT_EVENT_GFX_CAMPER", + "graphics_id": "OBJ_EVENT_GFX_CAMPER", "x": 12, "y": 19, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route24_EventScript_1A972D", + "script": "Route24_EventScript_Ethan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 10, "y": 22, "elevation": 3, @@ -60,11 +62,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route24_EventScript_1A9673", + "script": "Route24_EventScript_Reli", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 12, "y": 25, "elevation": 3, @@ -73,11 +75,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route24_EventScript_1A95F7", + "script": "Route24_EventScript_Timmy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 10, "y": 28, "elevation": 3, @@ -86,11 +88,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route24_EventScript_1A96B1", + "script": "Route24_EventScript_Ali", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BUG_CATCHER", + "graphics_id": "OBJ_EVENT_GFX_BUG_CATCHER", "x": 12, "y": 31, "elevation": 3, @@ -99,11 +101,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route24_EventScript_1A9635", + "script": "Route24_EventScript_Cale", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CAMPER", + "graphics_id": "OBJ_EVENT_GFX_CAMPER", "x": 5, "y": 21, "elevation": 3, @@ -112,11 +114,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "Route24_EventScript_1A96EF", + "script": "Route24_EventScript_Shane", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 11, "y": 4, "elevation": 3, @@ -138,7 +140,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE24", "var_value": 0, - "script": "Route24_EventScript_168660" + "script": "Route24_EventScript_RocketTriggerLeft" }, { "type": "trigger", @@ -147,7 +149,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE24", "var_value": 0, - "script": "Route24_EventScript_16866C" + "script": "Route24_EventScript_RocketTriggerRight" } ], "bg_events": [ diff --git a/data/maps/Route24/scripts.inc b/data/maps/Route24/scripts.inc index e30913e52..7a22f64e8 100644 --- a/data/maps/Route24/scripts.inc +++ b/data/maps/Route24/scripts.inc @@ -1,103 +1,105 @@ +.equ LOCALID_ROCKET, 1 + Route24_MapScripts:: @ 816861F .byte 0 -Route24_EventScript_168620:: @ 8168620 +Route24_EventScript_Rocket:: @ 8168620 lock faceplayer compare VAR_MAP_SCENE_ROUTE24, 1 - goto_if_eq EventScript_168656 - msgbox gUnknown_8188C3C + goto_if_eq Route24_EventScript_RocketPostBattle + msgbox Route24_Text_JustEarnedFabulousPrize checkitemspace ITEM_NUGGET, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_16864C - call EventScript_1686B9 + goto_if_eq Route24_EventScript_NoRoomForNugget + call Route24_EventScript_BattleRocket release end -EventScript_16864C:: @ 816864C - msgbox gUnknown_8188CC2 +Route24_EventScript_NoRoomForNugget:: @ 816864C + msgbox Route24_Text_YouDontHaveAnyRoom release end -EventScript_168656:: @ 8168656 - msgbox gUnknown_8188DF1 +Route24_EventScript_RocketPostBattle:: @ 8168656 + msgbox Route24_Text_YoudBecomeTopRocketLeader release end -Route24_EventScript_168660:: @ 8168660 +Route24_EventScript_RocketTriggerLeft:: @ 8168660 lockall setvar VAR_TEMP_1, 0 - goto EventScript_168678 + goto Route24_EventScript_RocketTrigger end -Route24_EventScript_16866C:: @ 816866C +Route24_EventScript_RocketTriggerRight:: @ 816866C lockall setvar VAR_TEMP_1, 1 - goto EventScript_168678 + goto Route24_EventScript_RocketTrigger end -EventScript_168678:: @ 8168678 +Route24_EventScript_RocketTrigger:: @ 8168678 textcolor 0 compare VAR_TEMP_1, 0 - call_if_eq EventScript_1686FD + call_if_eq Route24_EventScript_RocketApproachPlayer compare VAR_TEMP_1, 1 - call_if_eq EventScript_168708 + call_if_eq Route24_EventScript_RocketMotionToPlayer applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight waitmovement 0 - msgbox gUnknown_8188C3C + msgbox Route24_Text_JustEarnedFabulousPrize checkitemspace ITEM_NUGGET, 1 - compare VAR_RESULT, 0 - goto_if_eq EventScript_168713 - call EventScript_1686B9 + compare VAR_RESULT, FALSE + goto_if_eq Route24_EventScript_NoRoomForNuggetTrigger + call Route24_EventScript_BattleRocket releaseall end -EventScript_1686B9:: @ 81686B9 - giveitem_msg gUnknown_8188C93, ITEM_NUGGET - message Text_188CDB +Route24_EventScript_BattleRocket:: @ 81686B9 + giveitem_msg Route24_Text_ReceivedNuggetFromMysteryTrainer, ITEM_NUGGET + message Route24_Text_JoinTeamRocket waitmessage playbgm MUS_ROCKET, 0 waitbuttonpress - setvar VAR_LAST_TALKED, 1 - trainerbattle_no_intro TRAINER_TEAM_ROCKET_GRUNT_6, Text_188DDC - msgbox gUnknown_8188DF1 + setvar VAR_LAST_TALKED, LOCALID_ROCKET + trainerbattle_no_intro TRAINER_TEAM_ROCKET_GRUNT_6, Route24_Text_RocketDefeat + msgbox Route24_Text_YoudBecomeTopRocketLeader setvar VAR_MAP_SCENE_ROUTE24, 1 return -EventScript_1686FD:: @ 81686FD - applymovement 1, Movement_16873E +Route24_EventScript_RocketApproachPlayer:: @ 81686FD + applymovement LOCALID_ROCKET, Route24_Movement_RocketApproachPlayer waitmovement 0 return -EventScript_168708:: @ 8168708 - applymovement 1, Movement_WalkInPlaceFastestLeft +Route24_EventScript_RocketMotionToPlayer:: @ 8168708 + applymovement LOCALID_ROCKET, Movement_WalkInPlaceFastestLeft waitmovement 0 return -EventScript_168713:: @ 8168713 - msgbox gUnknown_8188CC2 +Route24_EventScript_NoRoomForNuggetTrigger:: @ 8168713 + msgbox Route24_Text_YouDontHaveAnyRoom closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_168743 + applymovement OBJ_EVENT_ID_PLAYER, Route24_Movement_WalkDown waitmovement 0 compare VAR_TEMP_1, 0 - call_if_eq EventScript_168733 + call_if_eq Route24_EventScript_RocketWalkBackToPos release end -EventScript_168733:: @ 8168733 - applymovement 1, Movement_168740 +Route24_EventScript_RocketWalkBackToPos:: @ 8168733 + applymovement LOCALID_ROCKET, Route24_Movement_RocketWalkBackToPos waitmovement 0 return -Movement_16873E:: @ 816873E +Route24_Movement_RocketApproachPlayer:: @ 816873E walk_left step_end -Movement_168740:: @ 8168740 +Route24_Movement_RocketWalkBackToPos:: @ 8168740 walk_right walk_in_place_fastest_left step_end -Movement_168743:: @ 8168743 +Route24_Movement_WalkDown:: @ 8168743 walk_down step_end diff --git a/data/maps/Route24/text.inc b/data/maps/Route24/text.inc index 04ef64ea5..7b9d09e6f 100644 --- a/data/maps/Route24/text.inc +++ b/data/maps/Route24/text.inc @@ -1,16 +1,16 @@ -gUnknown_8188C3C:: @ 8188C3C +Route24_Text_JustEarnedFabulousPrize:: @ 8188C3C .string "Congratulations! You beat our\n" .string "five contest TRAINERS!\p" .string "You just earned a fabulous prize!$" -gUnknown_8188C93:: @ 8188C93 +Route24_Text_ReceivedNuggetFromMysteryTrainer:: @ 8188C93 .string "{PLAYER} received a NUGGET\n" .string "from the mystery TRAINER!$" -gUnknown_8188CC2:: @ 8188CC2 +Route24_Text_YouDontHaveAnyRoom:: @ 8188CC2 .string "You don't have any room!$" -Text_188CDB:: @ 8188CDB +Route24_Text_JoinTeamRocket:: @ 8188CDB .string "By the way, how would you like to\n" .string "join TEAM ROCKET?\p" .string "We're a group of professional\n" @@ -23,13 +23,78 @@ Text_188CDB:: @ 8188CDB .string "I'll make you an offer you can't\n" .string "refuse!$" -Text_188DDC:: @ 8188DDC +Route24_Text_RocketDefeat:: @ 8188DDC .string "Arrgh!\n" .string "You are good!$" -gUnknown_8188DF1:: @ 8188DF1 +Route24_Text_YoudBecomeTopRocketLeader:: @ 8188DF1 .string "With your ability, you'd become\n" .string "a top leader in TEAM ROCKET.\p" .string "Come on, think of the opportunity!\n" .string "Don't let this chance go to waste.$" +Route24_Text_ShaneIntro:: @ 8188E74 + .string "I saw your feat from the grass!$" + +Route24_Text_ShaneDefeat:: @ 8188E94 + .string "I thought not!$" + +Route24_Text_ShanePostBattle:: @ 8188EA3 + .string "I hid because the people on the\n" + .string "bridge frightened me.$" + +Route24_Text_EthanIntro:: @ 8188ED9 + .string "Okay! I'm No. 5!\n" + .string "I'll stomp you!$" + +Route24_Text_EthanDefeat:: @ 8188EFA + .string "Whoa!\n" + .string "Too much!$" + +Route24_Text_EthanPostBattle:: @ 8188F0A + .string "I did my best. I have no regrets!$" + +Route24_Text_ReliIntro:: @ 8188F2C + .string "I'm No. 4!\n" + .string "Getting tired?$" + +Route24_Text_ReliDefeat:: @ 8188F46 + .string "I lost, too!$" + +Route24_Text_ReliPostBattle:: @ 8188F53 + .string "I did my best, so I've no regrets!$" + +Route24_Text_TimmyIntro:: @ 8188F76 + .string "Here's No. 3!\n" + .string "I won't be easy!$" + +Route24_Text_TimmyDefeat:: @ 8188F95 + .string "Ow!\n" + .string "Stomped flat!$" + +Route24_Text_TimmyPostBattle:: @ 8188FA7 + .string "I did my best. I have no regrets!$" + +Route24_Text_AliIntro:: @ 8188FC9 + .string "I'm second!\n" + .string "Now it's serious!$" + +Route24_Text_AliDefeat:: @ 8188FE7 + .string "How could I lose?$" + +Route24_Text_AliPostBattle:: @ 8188FF9 + .string "I did my best. I have no regrets!$" + +Route24_Text_CaleIntro:: @ 818901B + .string "People call this the NUGGET\n" + .string "BRIDGE!\p" + .string "Beat us five TRAINERS and win\n" + .string "a fabulous prize!\p" + .string "Think you got what it takes?$" + +Route24_Text_CaleDefeat:: @ 818908C + .string "Whoo!\n" + .string "Good stuff!$" + +Route24_Text_CalePostBattle:: @ 818909E + .string "I did my best. I have no regrets!$" diff --git a/data/maps/Route25/map.json b/data/maps/Route25/map.json index d49d76361..82c80ddf4 100644 --- a/data/maps/Route25/map.json +++ b/data/maps/Route25/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_25", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ROUTE24", @@ -20,7 +22,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 11, "y": 4, "elevation": 3, @@ -29,11 +31,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "Route25_EventScript_1A98A1", + "script": "Route25_EventScript_Franklin", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 18, "y": 2, "elevation": 3, @@ -42,11 +44,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route25_EventScript_1A976B", + "script": "Route25_EventScript_Joey", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 17, "y": 7, "elevation": 3, @@ -55,11 +57,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route25_EventScript_1A991D", + "script": "Route25_EventScript_Wayne", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 22, "y": 4, "elevation": 3, @@ -68,11 +70,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route25_EventScript_1A97A9", + "script": "Route25_EventScript_Dan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 22, "y": 8, "elevation": 3, @@ -81,11 +83,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route25_EventScript_1A9825", + "script": "Route25_EventScript_Kelsey", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 27, "y": 9, "elevation": 3, @@ -94,11 +96,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route25_EventScript_1A98DF", + "script": "Route25_EventScript_Nob", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CAMPER", + "graphics_id": "OBJ_EVENT_GFX_CAMPER", "x": 28, "y": 4, "elevation": 3, @@ -107,11 +109,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route25_EventScript_1A995B", + "script": "Route25_EventScript_Flint", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 36, "y": 4, "elevation": 3, @@ -120,11 +122,11 @@ "movement_range_y": 3, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route25_EventScript_1A97E7", + "script": "Route25_EventScript_Chad", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 42, "y": 5, "elevation": 3, @@ -133,11 +135,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route25_EventScript_1A9863", + "script": "Route25_EventScript_Haley", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 26, "y": 2, "elevation": 3, @@ -150,7 +152,7 @@ "flag": "FLAG_HIDE_ROUTE25_TM43" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 30, "y": 3, "elevation": 3, @@ -159,11 +161,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_BEAUTY", + "graphics_id": "OBJ_EVENT_GFX_BEAUTY", "x": 49, "y": 10, "elevation": 3, @@ -172,11 +174,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route25_EventScript_1ACE4F", + "script": "Route25_EventScript_Beauty", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 49, "y": 11, "elevation": 3, @@ -185,7 +187,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route25_EventScript_16874F", + "script": "Route25_EventScript_Man", "flag": "0" } ], @@ -201,11 +203,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 48, "y": 4, "elevation": 0, - "script": "Route25_EventScript_168746" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route25_EventScript_SeaCottageSign" }, { "type": "hidden_item", diff --git a/data/maps/Route25/scripts.inc b/data/maps/Route25/scripts.inc index d214cdbf6..4dc03b3e9 100644 --- a/data/maps/Route25/scripts.inc +++ b/data/maps/Route25/scripts.inc @@ -1,10 +1,10 @@ Route25_MapScripts:: @ 8168745 .byte 0 -Route25_EventScript_168746:: @ 8168746 - msgbox gUnknown_818954C, MSGBOX_SIGN +Route25_EventScript_SeaCottageSign:: @ 8168746 + msgbox Route25_Text_SeaCottageSign, MSGBOX_SIGN end -Route25_EventScript_16874F:: @ 816874F - msgbox gUnknown_81895C2, MSGBOX_NPC +Route25_EventScript_Man:: @ 816874F + msgbox Route25_Text_AreYouHereAlone, MSGBOX_NPC end diff --git a/data/maps/Route25/text.inc b/data/maps/Route25/text.inc index cdc124108..56bf3df94 100644 --- a/data/maps/Route25/text.inc +++ b/data/maps/Route25/text.inc @@ -1,184 +1,118 @@ -Text_188E74:: @ 8188E74 - .string "I saw your feat from the grass!$" - -Text_188E94:: @ 8188E94 - .string "I thought not!$" - -Text_188EA3:: @ 8188EA3 - .string "I hid because the people on the\n" - .string "bridge frightened me.$" - -Text_188ED9:: @ 8188ED9 - .string "Okay! I'm No. 5!\n" - .string "I'll stomp you!$" - -Text_188EFA:: @ 8188EFA - .string "Whoa!\n" - .string "Too much!$" - -Text_188F0A:: @ 8188F0A - .string "I did my best. I have no regrets!$" - -Text_188F2C:: @ 8188F2C - .string "I'm No. 4!\n" - .string "Getting tired?$" - -Text_188F46:: @ 8188F46 - .string "I lost, too!$" - -Text_188F53:: @ 8188F53 - .string "I did my best, so I've no regrets!$" - -Text_188F76:: @ 8188F76 - .string "Here's No. 3!\n" - .string "I won't be easy!$" - -Text_188F95:: @ 8188F95 - .string "Ow!\n" - .string "Stomped flat!$" - -Text_188FA7:: @ 8188FA7 - .string "I did my best. I have no regrets!$" - -Text_188FC9:: @ 8188FC9 - .string "I'm second!\n" - .string "Now it's serious!$" - -Text_188FE7:: @ 8188FE7 - .string "How could I lose?$" - -Text_188FF9:: @ 8188FF9 - .string "I did my best. I have no regrets!$" - -Text_18901B:: @ 818901B - .string "People call this the NUGGET\n" - .string "BRIDGE!\p" - .string "Beat us five TRAINERS and win\n" - .string "a fabulous prize!\p" - .string "Think you got what it takes?$" - -Text_18908C:: @ 818908C - .string "Whoo!\n" - .string "Good stuff!$" - -Text_18909E:: @ 818909E - .string "I did my best. I have no regrets!$" - -Text_1890C0:: @ 81890C0 +Route25_Text_JoeyIntro:: @ 81890C0 .string "Local TRAINERS come here to\n" .string "practice.$" -Text_1890E6:: @ 81890E6 +Route25_Text_JoeyDefeat:: @ 81890E6 .string "You're decent.$" -Text_1890F5:: @ 81890F5 +Route25_Text_JoeyPostBattle:: @ 81890F5 .string "All POKéMON have weaknesses.\n" .string "Even the strongest ones.\p" .string "That's why it's best to raise\n" .string "POKéMON of different types.$" -Text_189165:: @ 8189165 +Route25_Text_DanIntro:: @ 8189165 .string "Dad took me to a great party on\n" .string "the S.S. ANNE at VERMILION CITY.$" -Text_1891A6:: @ 81891A6 +Route25_Text_DanDefeat:: @ 81891A6 .string "I'm not mad!$" -Text_1891B3:: @ 81891B3 +Route25_Text_DanPostBattle:: @ 81891B3 .string "On the S.S. ANNE, I saw TRAINERS\n" .string "from around the world.$" -Text_1891EB:: @ 81891EB +Route25_Text_FlintIntro:: @ 81891EB .string "I'm a cool guy.\n" .string "I've got a girlfriend!$" -Text_189212:: @ 8189212 +Route25_Text_FlintDefeat:: @ 8189212 .string "Aww, darn…$" -Text_18921D:: @ 818921D +Route25_Text_FlintPostBattle:: @ 818921D .string "Oh, well.\n" .string "My girlfriend will cheer me up.$" -Text_189247:: @ 8189247 +Route25_Text_KelseyIntro:: @ 8189247 .string "Hi!\n" .string "My boyfriend is cool!$" -Text_189261:: @ 8189261 +Route25_Text_KelseyDefeat:: @ 8189261 .string "My conditioning isn't the best…$" -Text_189281:: @ 8189281 +Route25_Text_KelseyPostBattle:: @ 8189281 .string "I wish my boyfriend was as good\n" .string "as you.$" -Text_1892A9:: @ 81892A9 +Route25_Text_ChadIntro:: @ 81892A9 .string "I had this feeling…\n" .string "I knew I had to battle you!$" -Text_1892D9:: @ 81892D9 +Route25_Text_ChadDefeat:: @ 81892D9 .string "I knew I'd lose, too!$" -Text_1892EF:: @ 81892EF +Route25_Text_ChadPostBattle:: @ 81892EF .string "If your POKéMON gets confused,\n" .string "switch it out.\p" .string "That's a good tactic.$" -Text_189333:: @ 8189333 +Route25_Text_HaleyIntro:: @ 8189333 .string "My friend has many cute POKéMON.\n" .string "I'm so jealous!$" -Text_189364:: @ 8189364 +Route25_Text_HaleyDefeat:: @ 8189364 .string "I'm not so jealous!$" -Text_189378:: @ 8189378 +Route25_Text_HaleyPostBattle:: @ 8189378 .string "You came from MT. MOON?\n" .string "May I have a CLEFAIRY?$" -Text_1893A7:: @ 81893A7 +Route25_Text_FranklinIntro:: @ 81893A7 .string "I just got down from MT. MOON,\n" .string "but I've still got gas in the tank!$" -Text_1893EA:: @ 81893EA +Route25_Text_FranklinDefeat:: @ 81893EA .string "You worked hard!$" -Text_1893FB:: @ 81893FB +Route25_Text_FranklinPostBattle:: @ 81893FB .string "Drat!\n" .string "A ZUBAT bit me back in that cave.$" -Text_189423:: @ 8189423 +Route25_Text_NobIntro:: @ 8189423 .string "I'm off to see a POKéMANIAC's\n" .string "collection at the cape.$" -Text_189459:: @ 8189459 +Route25_Text_NobDefeat:: @ 8189459 .string "You done got me, and real good,\n" .string "too!$" -Text_18947E:: @ 818947E +Route25_Text_NobPostBattle:: @ 818947E .string "The POKéMANIAC sure lives up to\n" .string "his name.\p" .string "His collection includes many rare\n" .string "species of POKéMON.$" -Text_1894DE:: @ 81894DE +Route25_Text_WayneIntro:: @ 81894DE .string "You're going to see BILL?\n" .string "First, we battle!$" -Text_18950A:: @ 818950A +Route25_Text_WayneDefeat:: @ 818950A .string "You're something.$" -Text_18951C:: @ 818951C +Route25_Text_WaynePostBattle:: @ 818951C .string "The trail below is a shortcut to\n" .string "CERULEAN CITY.$" -gUnknown_818954C:: @ 818954C +Route25_Text_SeaCottageSign:: @ 818954C .string "SEA COTTAGE\n" .string "BILL lives here!$" -Text_189569:: @ 8189569 +Route25_Text_MistyHighHopesAboutThisPlace:: @ 8189569 .string "This cape is a famous date spot.\p" .string "MISTY, the GYM LEADER, has high\n" .string "hopes about this place.$" -gUnknown_81895C2:: @ 81895C2 +Route25_Text_AreYouHereAlone:: @ 81895C2 .string "Hello, are you here alone?\p" .string "If you're out at CERULEAN's cape…\n" .string "Well, it should be as a couple.$" diff --git a/data/maps/Route25_SeaCottage/map.json b/data/maps/Route25_SeaCottage/map.json index 01cf8021f..a24337e79 100644 --- a/data/maps/Route25_SeaCottage/map.json +++ b/data/maps/Route25_SeaCottage/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_25", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BILL", + "graphics_id": "OBJ_EVENT_GFX_BILL", "x": 7, "y": 5, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route25_SeaCottage_EventScript_17054B", + "script": "Route25_SeaCottage_EventScript_Bill", "flag": "FLAG_HIDE_BILL_HUMAN_SEA_COTTAGE" }, { - "graphics_id": "OBJECT_EVENT_GFX_CLEFAIRY", + "graphics_id": "OBJ_EVENT_GFX_CLEFAIRY", "x": 10, "y": 6, "elevation": 3, @@ -36,7 +38,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route25_SeaCottage_EventScript_17054B", + "script": "Route25_SeaCottage_EventScript_Bill", "flag": "FLAG_HIDE_BILL_CLEFAIRY" } ], @@ -66,11 +68,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_1", + "type": "sign", "x": 4, "y": 5, "elevation": 0, - "script": "Route25_SeaCottage_EventScript_1706DD" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", + "script": "Route25_SeaCottage_EventScript_Computer" } ] } diff --git a/data/maps/Route25_SeaCottage/scripts.inc b/data/maps/Route25_SeaCottage/scripts.inc index ed5aca2c8..688cdc41d 100644 --- a/data/maps/Route25_SeaCottage/scripts.inc +++ b/data/maps/Route25_SeaCottage/scripts.inc @@ -1,143 +1,150 @@ +.equ LOCALID_BILL_HUMAN, 1 +.equ LOCALID_BILL_CLEFAIRY, 2 + +.equ BILL_IN_TELEPORTER, FLAG_TEMP_2 +.equ RETURN_AFTER_SS_TICKET, FLAG_TEMP_3 + Route25_SeaCottage_MapScripts:: @ 8170523 map_script MAP_SCRIPT_ON_TRANSITION, Route25_SeaCottage_OnTransition .byte 0 Route25_SeaCottage_OnTransition:: @ 8170529 - call_if_unset FLAG_HELPED_BILL_IN_SEA_COTTAGE, EventScript_17053C - call_if_set FLAG_GOT_SS_TICKET, EventScript_170547 + call_if_unset FLAG_HELPED_BILL_IN_SEA_COTTAGE, Route25_SeaCottage_EventScript_HideClefairyBill + call_if_set FLAG_GOT_SS_TICKET, Route25_SeaCottage_EventScript_SetReturnedAfterSSTicket end -EventScript_17053C:: @ 817053C +Route25_SeaCottage_EventScript_HideClefairyBill:: @ 817053C clearflag FLAG_HIDE_BILL_CLEFAIRY - setobjectxyperm 1, 3, 3 + setobjectxyperm LOCALID_BILL_HUMAN, 3, 3 return -EventScript_170547:: @ 8170547 - setflag FLAG_TEMP_3 +Route25_SeaCottage_EventScript_SetReturnedAfterSSTicket:: @ 8170547 + setflag RETURN_AFTER_SS_TICKET return -Route25_SeaCottage_EventScript_17054B:: @ 817054B +Route25_SeaCottage_EventScript_Bill:: @ 817054B lock faceplayer - goto_if_set FLAG_TEMP_3, EventScript_1706C8 - goto_if_set FLAG_GOT_SS_TICKET, EventScript_170640 - goto_if_set FLAG_HELPED_BILL_IN_SEA_COTTAGE, EventScript_17064A + goto_if_set RETURN_AFTER_SS_TICKET, Route25_SeaCottage_EventScript_BillGoLookAtPC + goto_if_set FLAG_GOT_SS_TICKET, Route25_SeaCottage_EventScript_BillGoToSSAnne + goto_if_set FLAG_HELPED_BILL_IN_SEA_COTTAGE, Route25_SeaCottage_EventScript_BillGiveSSTicket checkplayergender compare VAR_RESULT, MALE - goto_if_eq EventScript_170580 + goto_if_eq Route25_SeaCottage_EventScript_BillAskForHelpMale compare VAR_RESULT, FEMALE - goto_if_eq EventScript_17058E + goto_if_eq Route25_SeaCottage_EventScript_BillAskForHelpFemale end -EventScript_170580:: @ 8170580 - msgbox gUnknown_819FDFA, MSGBOX_YESNO - goto EventScript_17059C +Route25_SeaCottage_EventScript_BillAskForHelpMale:: @ 8170580 + msgbox Route25_SeaCottage_Text_ImBillHelpMeOutPal, MSGBOX_YESNO + goto Route25_SeaCottage_EventScript_BillAskForHelp end -EventScript_17058E:: @ 817058E - msgbox gUnknown_819FEE6, MSGBOX_YESNO - goto EventScript_17059C +Route25_SeaCottage_EventScript_BillAskForHelpFemale:: @ 817058E + msgbox Route25_SeaCottage_Text_ImBillHelpMeOutLady, MSGBOX_YESNO + goto Route25_SeaCottage_EventScript_BillAskForHelp end -EventScript_17059C:: @ 817059C +Route25_SeaCottage_EventScript_BillAskForHelp:: @ 817059C compare VAR_RESULT, NO - call_if_eq EventScript_170600 - msgbox gUnknown_819FFD3 + call_if_eq Route25_SeaCottage_EventScript_DeclineHelpBill + msgbox Route25_SeaCottage_Text_RunCellSeparationOnPC closemessage delay 10 compare VAR_FACING, DIR_SOUTH - call_if_eq EventScript_17062A + call_if_eq Route25_SeaCottage_EventScript_BillWalkToTeleporterSouth compare VAR_FACING, DIR_NORTH - call_if_eq EventScript_170635 + call_if_eq Route25_SeaCottage_EventScript_BillWalkToTeleporter compare VAR_FACING, DIR_WEST - call_if_eq EventScript_170635 + call_if_eq Route25_SeaCottage_EventScript_BillWalkToTeleporter compare VAR_FACING, DIR_EAST - call_if_eq EventScript_170635 + call_if_eq Route25_SeaCottage_EventScript_BillWalkToTeleporter opendoor 10, 3 waitdooranim - applymovement 2, Movement_1706DB + applymovement LOCALID_BILL_CLEFAIRY, Route25_SeaCottage_Movement_BillEnterTeleporter waitmovement 0 - removeobject 2 + removeobject LOCALID_BILL_CLEFAIRY playse SE_C_MAKU_D closedoor 10, 3 waitdooranim - setflag FLAG_TEMP_2 + setflag BILL_IN_TELEPORTER release end -EventScript_170600:: @ 8170600 +@ Just returns after message, execution continues as if player had said yes +Route25_SeaCottage_EventScript_DeclineHelpBill:: @ 8170600 checkplayergender compare VAR_RESULT, MALE - call_if_eq EventScript_170618 + call_if_eq Route25_SeaCottage_EventScript_DeclineHelpBillMale compare VAR_RESULT, FEMALE - call_if_eq EventScript_170621 + call_if_eq Route25_SeaCottage_EventScript_DeclineHelpBillFemale return -EventScript_170618:: @ 8170618 - msgbox gUnknown_81A0035 +Route25_SeaCottage_EventScript_DeclineHelpBillMale:: @ 8170618 + msgbox Route25_SeaCottage_Text_NoPleaseChief return -EventScript_170621:: @ 8170621 - msgbox gUnknown_81A00B6 +Route25_SeaCottage_EventScript_DeclineHelpBillFemale:: @ 8170621 + msgbox Route25_SeaCottage_Text_NoPleaseBeautiful return -EventScript_17062A:: @ 817062A - applymovement 2, Movement_1706D5 +Route25_SeaCottage_EventScript_BillWalkToTeleporterSouth:: @ 817062A + applymovement LOCALID_BILL_CLEFAIRY, Route25_SeaCottage_Movement_BillWalkToTeleporterSouth waitmovement 0 return -EventScript_170635:: @ 8170635 - applymovement 2, Movement_1706D2 +Route25_SeaCottage_EventScript_BillWalkToTeleporter:: @ 8170635 + applymovement LOCALID_BILL_CLEFAIRY, Route25_SeaCottage_Movement_BillWalkToTeleporter waitmovement 0 return -EventScript_170640:: @ 8170640 - msgbox gUnknown_81A02CF +Route25_SeaCottage_EventScript_BillGoToSSAnne:: @ 8170640 + msgbox Route25_SeaCottage_Text_SSAnnePartyYouGoInstead release end -EventScript_17064A:: @ 817064A +Route25_SeaCottage_EventScript_BillGiveSSTicket:: @ 817064A famechecker FAMECHECKER_BILL, FCPICKSTATE_COLORED, UpdatePickStateFromSpecialVar8005 checkplayergender compare VAR_RESULT, MALE - call_if_eq EventScript_1706AC + call_if_eq Route25_SeaCottage_EventScript_BillThanksMale compare VAR_RESULT, FEMALE - call_if_eq EventScript_1706B5 + call_if_eq Route25_SeaCottage_EventScript_BillThanksFemale checkitemspace ITEM_SS_TICKET, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_1706BE - giveitem_msg gUnknown_81A028E, ITEM_SS_TICKET, 1, MUS_FAN5 + goto_if_eq Route25_SeaCottage_EventScript_NoRoomForSSTicket + giveitem_msg Route25_SeaCottage_Text_ReceivedSSTicketFromBill, ITEM_SS_TICKET, 1, MUS_FAN5 setflag FLAG_GOT_SS_TICKET_DUP setflag FLAG_HIDE_NUGGET_BRIDGE_ROCKET setflag FLAG_GOT_SS_TICKET setflag FLAG_SYS_NOT_SOMEONES_PC - goto EventScript_170640 + goto Route25_SeaCottage_EventScript_BillGoToSSAnne end -EventScript_1706AC:: @ 81706AC - msgbox gUnknown_81A013B +Route25_SeaCottage_EventScript_BillThanksMale:: @ 81706AC + msgbox Route25_SeaCottage_Text_ThanksBudTakeThis return -EventScript_1706B5:: @ 81706B5 - msgbox gUnknown_81A01E4 +Route25_SeaCottage_EventScript_BillThanksFemale:: @ 81706B5 + msgbox Route25_SeaCottage_Text_ThanksLadyTakeThis return -EventScript_1706BE:: @ 81706BE - msgbox gUnknown_81A02B4 +Route25_SeaCottage_EventScript_NoRoomForSSTicket:: @ 81706BE + msgbox Route25_SeaCottage_Text_YouveGotTooMuchStuff release end -EventScript_1706C8:: @ 81706C8 - msgbox gUnknown_81A03AB +Route25_SeaCottage_EventScript_BillGoLookAtPC:: @ 81706C8 + msgbox Route25_SeaCottage_Text_CheckOutRareMonsOnPC release end -Movement_1706D2:: @ 81706D2 +Route25_SeaCottage_Movement_BillWalkToTeleporter:: @ 81706D2 walk_up walk_up step_end -Movement_1706D5:: @ 81706D5 +Route25_SeaCottage_Movement_BillWalkToTeleporterSouth:: @ 81706D5 walk_right walk_up walk_up @@ -145,85 +152,85 @@ Movement_1706D5:: @ 81706D5 walk_in_place_fastest_up step_end -Movement_1706DB:: @ 81706DB +Route25_SeaCottage_Movement_BillEnterTeleporter:: @ 81706DB walk_up step_end -Route25_SeaCottage_EventScript_1706DD:: @ 81706DD +Route25_SeaCottage_EventScript_Computer:: @ 81706DD lockall - goto_if_set FLAG_TEMP_3, EventScript_1707CA - goto_if_set FLAG_TEMP_2, EventScript_1706FA - msgbox gUnknown_81A0402 + goto_if_set RETURN_AFTER_SS_TICKET, Route25_SeaCottage_EventScript_OpenBillsMonList + goto_if_set BILL_IN_TELEPORTER, Route25_SeaCottage_EventScript_RunCellSeparator + msgbox Route25_SeaCottage_Text_TeleporterIsDisplayed releaseall end -EventScript_1706FA:: @ 81706FA +Route25_SeaCottage_EventScript_RunCellSeparator:: @ 81706FA fadeoutbgm 0 - msgbox gUnknown_81A042D + msgbox Route25_SeaCottage_Text_InitiatedTeleportersCellSeparator closemessage - clearflag FLAG_TEMP_2 + clearflag BILL_IN_TELEPORTER setflag FLAG_HELPED_BILL_IN_SEA_COTTAGE special SpawnCameraObject - applymovement OBJ_EVENT_ID_CAMERA, Movement_1707BE + applymovement OBJ_EVENT_ID_CAMERA, Route25_SeaCottage_Movement_CameraPanToTeleporters waitmovement 0 delay 35 playse SE_PIN waitse setvar VAR_0x8004, 0 - special sub_809C4A8 + special AnimateTeleporterHousing delay 10 - call EventScript_1707B6 - call EventScript_1707B6 - call EventScript_1707B6 - call EventScript_1707B6 - call EventScript_1707B6 - call EventScript_1707B6 - call EventScript_1707B6 + call Route25_SeaCottage_EventScript_PlayTeleporterBeepSE + call Route25_SeaCottage_EventScript_PlayTeleporterBeepSE + call Route25_SeaCottage_EventScript_PlayTeleporterBeepSE + call Route25_SeaCottage_EventScript_PlayTeleporterBeepSE + call Route25_SeaCottage_EventScript_PlayTeleporterBeepSE + call Route25_SeaCottage_EventScript_PlayTeleporterBeepSE + call Route25_SeaCottage_EventScript_PlayTeleporterBeepSE setvar VAR_0x8004, 1 - special sub_809C4A8 + special AnimateTeleporterHousing playse SE_TK_WARPIN - special sub_809C5FC + special AnimateTeleporterCable waitse - call EventScript_1707B6 - call EventScript_1707B6 - call EventScript_1707B6 - call EventScript_1707B6 - call EventScript_1707B6 + call Route25_SeaCottage_EventScript_PlayTeleporterBeepSE + call Route25_SeaCottage_EventScript_PlayTeleporterBeepSE + call Route25_SeaCottage_EventScript_PlayTeleporterBeepSE + call Route25_SeaCottage_EventScript_PlayTeleporterBeepSE + call Route25_SeaCottage_EventScript_PlayTeleporterBeepSE opendoor 3, 3 waitdooranim fadeinbgm 0 - addobject 1 + addobject LOCALID_BILL_HUMAN clearflag FLAG_HIDE_BILL_HUMAN_SEA_COTTAGE delay 50 playfanfare MUS_FANFA1 - applymovement 1, Movement_170888 + applymovement LOCALID_BILL_HUMAN, Route25_SeaCottage_Movement_BillExitTeleporter waitmovement 0 waitfanfare - applymovement OBJ_EVENT_ID_CAMERA, Movement_1707C3 + applymovement OBJ_EVENT_ID_CAMERA, Route25_SeaCottage_Movement_CameraPanBackFromTeleporters waitmovement 0 playse SE_C_MAKU_D closedoor 3, 3 waitdooranim - applymovement 1, Movement_170881 + applymovement LOCALID_BILL_HUMAN, Route25_SeaCottage_Movement_BillWalkToMiddleOfRoom waitmovement 0 special RemoveCameraObject releaseall end -EventScript_1707B6:: @ 81707B6 +Route25_SeaCottage_EventScript_PlayTeleporterBeepSE:: @ 81707B6 playse SE_BOWA waitse delay 20 return -Movement_1707BE:: @ 81707BE +Route25_SeaCottage_Movement_CameraPanToTeleporters:: @ 81707BE walk_up walk_up walk_right walk_right step_end -Movement_1707C3:: @ 81707C3 +Route25_SeaCottage_Movement_CameraPanBackFromTeleporters:: @ 81707C3 delay_16 delay_16 walk_down @@ -232,65 +239,65 @@ Movement_1707C3:: @ 81707C3 walk_left step_end -EventScript_1707CA:: @ 81707CA - msgbox gUnknown_81A045B - goto EventScript_1707D8 +Route25_SeaCottage_EventScript_OpenBillsMonList:: @ 81707CA + msgbox Route25_SeaCottage_Text_BillsFavoriteMonList + goto Route25_SeaCottage_EventScript_BillsMonList end -EventScript_1707D8:: @ 81707D8 - message Text_1A0479 +Route25_SeaCottage_EventScript_BillsMonList:: @ 81707D8 + message Route25_SeaCottage_Text_SeeWhichMon waitmessage multichoice 0, 0, MULTICHOICE_EEVEELUTIONS, FALSE switch VAR_RESULT - case 0, EventScript_17082B - case 1, EventScript_170840 - case 2, EventScript_170855 - case 3, EventScript_17086A - case 4, EventScript_17087F - case 127, EventScript_17087F + case 0, Route25_SeaCottage_EventScript_ViewEevee + case 1, Route25_SeaCottage_EventScript_ViewFlareon + case 2, Route25_SeaCottage_EventScript_ViewJolteon + case 3, Route25_SeaCottage_EventScript_ViewVaporeon + case 4, Route25_SeaCottage_EventScript_ExitBillsMonList + case 127, Route25_SeaCottage_EventScript_ExitBillsMonList end -EventScript_17082B:: @ 817082B +Route25_SeaCottage_EventScript_ViewEevee:: @ 817082B drawmonpic SPECIES_EEVEE, 10, 3 waitbuttonpress erasemonpic setvar VAR_0x8004, SPECIES_EEVEE - special Special_SetSeenMon - goto EventScript_1707D8 + special SetSeenMon + goto Route25_SeaCottage_EventScript_BillsMonList end -EventScript_170840:: @ 8170840 +Route25_SeaCottage_EventScript_ViewFlareon:: @ 8170840 drawmonpic SPECIES_FLAREON, 10, 3 waitbuttonpress erasemonpic setvar VAR_0x8004, SPECIES_FLAREON - special Special_SetSeenMon - goto EventScript_1707D8 + special SetSeenMon + goto Route25_SeaCottage_EventScript_BillsMonList end -EventScript_170855:: @ 8170855 +Route25_SeaCottage_EventScript_ViewJolteon:: @ 8170855 drawmonpic SPECIES_JOLTEON, 10, 3 waitbuttonpress erasemonpic setvar VAR_0x8004, SPECIES_JOLTEON - special Special_SetSeenMon - goto EventScript_1707D8 + special SetSeenMon + goto Route25_SeaCottage_EventScript_BillsMonList end -EventScript_17086A:: @ 817086A +Route25_SeaCottage_EventScript_ViewVaporeon:: @ 817086A drawmonpic SPECIES_VAPOREON, 10, 3 waitbuttonpress erasemonpic setvar VAR_0x8004, SPECIES_VAPOREON - special Special_SetSeenMon - goto EventScript_1707D8 + special SetSeenMon + goto Route25_SeaCottage_EventScript_BillsMonList end -EventScript_17087F:: @ 817087F +Route25_SeaCottage_EventScript_ExitBillsMonList:: @ 817087F releaseall end -Movement_170881:: @ 8170881 +Route25_SeaCottage_Movement_BillWalkToMiddleOfRoom:: @ 8170881 walk_right walk_right walk_right @@ -299,6 +306,6 @@ Movement_170881:: @ 8170881 walk_down step_end -Movement_170888:: @ 8170888 +Route25_SeaCottage_Movement_BillExitTeleporter:: @ 8170888 walk_down step_end diff --git a/data/maps/Route25_SeaCottage/text.inc b/data/maps/Route25_SeaCottage/text.inc index 6ecacdd89..9fd189426 100644 --- a/data/maps/Route25_SeaCottage/text.inc +++ b/data/maps/Route25_SeaCottage/text.inc @@ -1,4 +1,4 @@ -gUnknown_819FDFA:: @ 819FDFA +Route25_SeaCottage_Text_ImBillHelpMeOutPal:: @ 819FDFA .string "Hiya! I'm a POKéMON…\n" .string "…No I'm not!\p" .string "Call me BILL!\n" @@ -11,7 +11,7 @@ gUnknown_819FDFA:: @ 819FDFA .string "So, how about it?\n" .string "Help me out here!$" -gUnknown_819FEE6:: @ 819FEE6 +Route25_SeaCottage_Text_ImBillHelpMeOutLady:: @ 819FEE6 .string "Hiya! I'm a POKéMON…\n" .string "…No I'm not!\p" .string "Call me BILL!\n" @@ -24,13 +24,13 @@ gUnknown_819FEE6:: @ 819FEE6 .string "So, how about it?\n" .string "Help me out here!$" -gUnknown_819FFD3:: @ 819FFD3 +Route25_SeaCottage_Text_RunCellSeparationOnPC:: @ 819FFD3 .string "Wait till I get inside the\n" .string "TELEPORTER.\p" .string "When I do, go to my PC and run\n" .string "the Cell Separation System.$" -gUnknown_81A0035:: @ 81A0035 +Route25_SeaCottage_Text_NoPleaseChief:: @ 81A0035 .string "No!?\n" .string "Now don't be so cold!\p" .string "Come on, you gotta help a guy in\n" @@ -40,7 +40,7 @@ gUnknown_81A0035:: @ 81A0035 .string "Okay?\l" .string "All right!$" -gUnknown_81A00B6:: @ 81A00B6 +Route25_SeaCottage_Text_NoPleaseBeautiful:: @ 81A00B6 .string "No!?\n" .string "Now don't be so cold!\p" .string "Come on, you gotta help a guy in\n" @@ -50,7 +50,7 @@ gUnknown_81A00B6:: @ 81A00B6 .string "Okay?\l" .string "All right!$" -gUnknown_81A013B:: @ 81A013B +Route25_SeaCottage_Text_ThanksBudTakeThis:: @ 81A013B .string "BILL: Yeehah!\n" .string "Thanks, bud! I owe you one!\p" .string "So, did you come to see my\n" @@ -60,7 +60,7 @@ gUnknown_81A013B:: @ 81A013B .string "I've got to thank you…\n" .string "Oh, here, maybe this'll do.$" -gUnknown_81A01E4:: @ 81A01E4 +Route25_SeaCottage_Text_ThanksLadyTakeThis:: @ 81A01E4 .string "BILL: Yeehah!\n" .string "Thanks, lady! I owe you one!\p" .string "So, did you come to see my\n" @@ -70,14 +70,14 @@ gUnknown_81A01E4:: @ 81A01E4 .string "I've got to thank you…\n" .string "Oh, here, maybe this'll do.$" -gUnknown_81A028E:: @ 81A028E +Route25_SeaCottage_Text_ReceivedSSTicketFromBill:: @ 81A028E .string "{PLAYER} received an S.S. TICKET\n" .string "from BILL.$" -gUnknown_81A02B4:: @ 81A02B4 +Route25_SeaCottage_Text_YouveGotTooMuchStuff:: @ 81A02B4 .string "You've got too much stuff!$" -gUnknown_81A02CF:: @ 81A02CF +Route25_SeaCottage_Text_SSAnnePartyYouGoInstead:: @ 81A02CF .string "That cruise ship S.S. ANNE is in\n" .string "VERMILION CITY.\p" .string "I hear there are lots of TRAINERS\n" @@ -87,22 +87,22 @@ gUnknown_81A02CF:: @ 81A02CF .string "Why don't you go instead of me?\n" .string "Go on and have a good time.$" -gUnknown_81A03AB:: @ 81A03AB +Route25_SeaCottage_Text_CheckOutRareMonsOnPC:: @ 81A03AB .string "BILL: Feel like checking out some\n" .string "of my rare POKéMON on my PC?\p" .string "Go on, check out my PC.$" -gUnknown_81A0402:: @ 81A0402 +Route25_SeaCottage_Text_TeleporterIsDisplayed:: @ 81A0402 .string "TELEPORTER is displayed on the PC\n" .string "monitor.$" -gUnknown_81A042D:: @ 81A042D +Route25_SeaCottage_Text_InitiatedTeleportersCellSeparator:: @ 81A042D .string "{PLAYER} initiated the TELEPORTER's\n" .string "Cell Separator.$" -gUnknown_81A045B:: @ 81A045B +Route25_SeaCottage_Text_BillsFavoriteMonList:: @ 81A045B .string "BILL's favorite POKéMON list!$" -Text_1A0479:: @ 81A0479 +Route25_SeaCottage_Text_SeeWhichMon:: @ 81A0479 .string "Which POKéMON do you want to see?$" diff --git a/data/maps/Route2_EastBuilding/map.json b/data/maps/Route2_EastBuilding/map.json index e966962c6..cb8c744ba 100644 --- a/data/maps/Route2_EastBuilding/map.json +++ b/data/maps/Route2_EastBuilding/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_2", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 1, - "unknown_19": 2, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 4, "y": 6, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 10, "y": 3, "elevation": 3, diff --git a/data/maps/Route2_EastBuilding/scripts.inc b/data/maps/Route2_EastBuilding/scripts.inc index a94d72fd7..c1a21bc35 100644 --- a/data/maps/Route2_EastBuilding/scripts.inc +++ b/data/maps/Route2_EastBuilding/scripts.inc @@ -12,7 +12,7 @@ Route2_EastBuilding_EventScript_Aide:: @ 816F67F compare VAR_RESULT, NO goto_if_eq Aide_EventScript_DeclineCheckMons setvar VAR_0x8004, 0 - specialvar VAR_RESULT, Special_GetPokedexCount + specialvar VAR_RESULT, GetPokedexCount getnumberstring 2, VAR_0x8006 call Route2_EastBuilding_EventScript_GetAideRequestInfo compare VAR_0x8006, REQUIRED_SEEN_MONS diff --git a/data/maps/Route2_House/map.json b/data/maps/Route2_House/map.json index 8f9785c33..c47eeaf4a 100644 --- a/data/maps/Route2_House/map.json +++ b/data/maps/Route2_House/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_2", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 4, "y": 5, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GBA_KID", + "graphics_id": "OBJ_EVENT_GFX_GBA_KID", "x": 7, "y": 2, "elevation": 3, diff --git a/data/maps/Route2_ViridianForest_NorthEntrance/map.json b/data/maps/Route2_ViridianForest_NorthEntrance/map.json index 7f4225d23..c6d71095c 100644 --- a/data/maps/Route2_ViridianForest_NorthEntrance/map.json +++ b/data/maps/Route2_ViridianForest_NorthEntrance/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_2", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 1, - "unknown_19": 2, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 5, "y": 4, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 4, "y": 7, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_F", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_F", "x": 10, "y": 5, "elevation": 3, diff --git a/data/maps/Route2_ViridianForest_SouthEntrance/map.json b/data/maps/Route2_ViridianForest_SouthEntrance/map.json index 4e0ad0164..0e749a29f 100644 --- a/data/maps/Route2_ViridianForest_SouthEntrance/map.json +++ b/data/maps/Route2_ViridianForest_SouthEntrance/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_2", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 1, - "unknown_19": 2, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 10, "y": 6, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_1", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_1", "x": 4, "y": 7, "elevation": 3, diff --git a/data/maps/Route3/map.json b/data/maps/Route3/map.json index f2ad40c5e..c137d9f48 100644 --- a/data/maps/Route3/map.json +++ b/data/maps/Route3/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_3", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ROUTE4", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 70, "y": 13, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route3_EventScript_167F78", + "script": "Route3_EventScript_Youngster", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 40, "y": 11, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route3_EventScript_1A957B", + "script": "Route3_EventScript_Robin", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BUG_CATCHER", + "graphics_id": "OBJ_EVENT_GFX_BUG_CATCHER", "x": 32, "y": 6, "elevation": 3, @@ -60,11 +62,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "Route3_EventScript_1A94C1", + "script": "Route3_EventScript_James", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 30, "y": 3, "elevation": 3, @@ -73,11 +75,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "Route3_EventScript_1A953D", + "script": "Route3_EventScript_Sally", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BUG_CATCHER", + "graphics_id": "OBJ_EVENT_GFX_BUG_CATCHER", "x": 25, "y": 4, "elevation": 3, @@ -86,11 +88,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route3_EventScript_1A9483", + "script": "Route3_EventScript_Greg", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 29, "y": 10, "elevation": 3, @@ -99,11 +101,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "Route3_EventScript_1A9407", + "script": "Route3_EventScript_Calvin", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 19, "y": 9, "elevation": 3, @@ -112,11 +114,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "Route3_EventScript_1A94FF", + "script": "Route3_EventScript_Janice", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BUG_CATCHER", + "graphics_id": "OBJ_EVENT_GFX_BUG_CATCHER", "x": 12, "y": 6, "elevation": 3, @@ -125,11 +127,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route3_EventScript_1A9445", + "script": "Route3_EventScript_Colton", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 17, "y": 4, "elevation": 3, @@ -138,7 +140,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route3_EventScript_1A93C9", + "script": "Route3_EventScript_Ben", "flag": "0" } ], @@ -146,11 +148,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 72, "y": 11, "elevation": 0, - "script": "Route3_EventScript_167F81" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route3_EventScript_RouteSign" }, { "type": "hidden_item", diff --git a/data/maps/Route3/scripts.inc b/data/maps/Route3/scripts.inc index bc44936d0..c8e3c1a58 100644 --- a/data/maps/Route3/scripts.inc +++ b/data/maps/Route3/scripts.inc @@ -1,10 +1,10 @@ Route3_MapScripts:: @ 8167F77 .byte 0 -Route3_EventScript_167F78:: @ 8167F78 - msgbox gUnknown_8183491, MSGBOX_NPC +Route3_EventScript_Youngster:: @ 8167F78 + msgbox Route3_Text_TunnelFromCeruleanTiring, MSGBOX_NPC end -Route3_EventScript_167F81:: @ 8167F81 - msgbox gUnknown_81838C0, MSGBOX_SIGN +Route3_EventScript_RouteSign:: @ 8167F81 + msgbox Route3_Text_RouteSign, MSGBOX_SIGN end diff --git a/data/maps/Route3/text.inc b/data/maps/Route3/text.inc index 32aa96e19..6e5ad9c69 100644 --- a/data/maps/Route3/text.inc +++ b/data/maps/Route3/text.inc @@ -1,104 +1,104 @@ -gUnknown_8183491:: @ 8183491 +Route3_Text_TunnelFromCeruleanTiring:: @ 8183491 .string "Whew… I better take a rest…\n" .string "Groan…\p" .string "That tunnel from CERULEAN takes a\n" .string "lot out of you!$" -Text_1834E6:: @ 81834E6 +Route3_Text_ColtonIntro:: @ 81834E6 .string "Hey!\n" .string "I saw you in VIRIDIAN FOREST!$" -Text_183509:: @ 8183509 +Route3_Text_ColtonDefeat:: @ 8183509 .string "You beat me again!$" -Text_18351C:: @ 818351C +Route3_Text_ColtonPostBattle:: @ 818351C .string "There are other kinds of POKéMON\n" .string "than the ones you find in forests.$" -Text_183560:: @ 8183560 +Route3_Text_BenIntro:: @ 8183560 .string "Hi!\n" .string "I like shorts!\p" .string "They're delightfully comfy and\n" .string "easy to wear!$" -Text_1835A0:: @ 81835A0 +Route3_Text_BenDefeat:: @ 81835A0 .string "I don't believe it!$" -Text_1835B4:: @ 81835B4 +Route3_Text_BenPostBattle:: @ 81835B4 .string "Are you using a POKéMON CENTER's\n" .string "PC for storing your POKéMON?\p" .string "Each BOX can hold up to\n" .string "30 POKéMON.$" -Text_183616:: @ 8183616 +Route3_Text_JaniceIntro:: @ 8183616 .string "Excuse me!\n" .string "You looked at me, didn't you?$" -Text_18363F:: @ 818363F +Route3_Text_JaniceDefeat:: @ 818363F .string "You're mean!$" -Text_18364C:: @ 818364C +Route3_Text_JanicePostBattle:: @ 818364C .string "You shouldn't be staring if you\n" .string "don't want to battle!$" -Text_183682:: @ 8183682 +Route3_Text_GregIntro:: @ 8183682 .string "Are you a TRAINER?\n" .string "Let's get with it right away!$" -Text_1836B3:: @ 81836B3 +Route3_Text_GregDefeat:: @ 81836B3 .string "If I had new POKéMON, I would've\n" .string "won!$" -Text_1836D9:: @ 81836D9 +Route3_Text_GregPostBattle:: @ 81836D9 .string "If a POKéMON BOX on the PC gets\n" .string "full, just switch to another BOX.$" -Text_18371B:: @ 818371B +Route3_Text_SallyIntro:: @ 818371B .string "That look you gave me…\n" .string "It's so intriguing!$" -Text_183746:: @ 8183746 +Route3_Text_SallyDefeat:: @ 8183746 .string "Be nice!$" -Text_18374F:: @ 818374F +Route3_Text_SallyPostBattle:: @ 818374F .string "You can avoid battles by not\n" .string "letting TRAINERS see you.$" -Text_183786:: @ 8183786 +Route3_Text_CalvinIntro:: @ 8183786 .string "Hey! You're not wearing shorts!\n" .string "What's wrong with you?$" -Text_1837BD:: @ 81837BD +Route3_Text_CalvinDefeat:: @ 81837BD .string "Lost!\n" .string "Lost! Lost!$" -Text_1837CF:: @ 81837CF +Route3_Text_CalvinPostBattle:: @ 81837CF .string "I always wear shorts, even in\n" .string "winter. That's my policy.$" -Text_183807:: @ 8183807 +Route3_Text_JamesIntro:: @ 8183807 .string "I'll battle you with the POKéMON\n" .string "I just caught.$" -Text_183837:: @ 8183837 +Route3_Text_JamesDefeat:: @ 8183837 .string "Done like dinner!$" -Text_183849:: @ 8183849 +Route3_Text_JamesPostBattle:: @ 8183849 .string "Trained POKéMON are stronger than\n" .string "the wild ones.$" -Text_18387A:: @ 818387A +Route3_Text_RobinIntro:: @ 818387A .string "Eek!\n" .string "Did you touch me?$" -Text_183891:: @ 8183891 +Route3_Text_RobinDefeat:: @ 8183891 .string "That's it?$" -Text_18389C:: @ 818389C +Route3_Text_RobinPostBattle:: @ 818389C .string "ROUTE 4 is at the foot of\n" .string "MT. MOON.$" -gUnknown_81838C0:: @ 81838C0 +Route3_Text_RouteSign:: @ 81838C0 .string "ROUTE 3\n" .string "MT. MOON AHEAD$" diff --git a/data/maps/Route4/map.json b/data/maps/Route4/map.json index b992a7d89..af04e21a8 100644 --- a/data/maps/Route4/map.json +++ b/data/maps/Route4/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_4", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ROUTE3", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_1", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_1", "x": 9, "y": 8, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route4_EventScript_167F8C", + "script": "Route4_EventScript_Woman", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 75, "y": 3, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "Route4_EventScript_1A95B9", + "script": "Route4_EventScript_Crissy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 67, "y": 5, "elevation": 3, @@ -64,7 +66,7 @@ "flag": "FLAG_HIDE_ROUTE4_TM05" }, { - "graphics_id": "OBJECT_EVENT_GFX_BOY", + "graphics_id": "OBJ_EVENT_GFX_BOY", "x": 15, "y": 14, "elevation": 3, @@ -73,11 +75,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route4_EventScript_1ACDEA", + "script": "Route4_EventScript_Boy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BLACKBELT", + "graphics_id": "OBJ_EVENT_GFX_BLACKBELT", "x": 47, "y": 3, "elevation": 3, @@ -90,7 +92,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BLACKBELT", + "graphics_id": "OBJ_EVENT_GFX_BLACKBELT", "x": 50, "y": 3, "elevation": 3, @@ -103,7 +105,8 @@ "flag": "0" }, { - "graphics_id": "65321", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_M", + "in_connection": true, "x": 109, "y": 3, "elevation": 12, @@ -142,18 +145,20 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 18, "y": 7, "elevation": 0, - "script": "Route4_EventScript_167F95" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route4_EventScript_MtMoonSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 34, "y": 7, "elevation": 0, - "script": "Route4_EventScript_167F9E" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route4_EventScript_RouteSign" }, { "type": "hidden_item", diff --git a/data/maps/Route4/scripts.inc b/data/maps/Route4/scripts.inc index 9055722eb..c6c7e6bbd 100644 --- a/data/maps/Route4/scripts.inc +++ b/data/maps/Route4/scripts.inc @@ -1,17 +1,17 @@ Route4_MapScripts:: @ 8167F8A .byte 0 -Route4_EventScript_167F8B:: @ 8167F8B +Route4_EventScript_Unused:: @ 8167F8B end -Route4_EventScript_167F8C:: @ 8167F8C - msgbox gUnknown_81838D7, MSGBOX_NPC +Route4_EventScript_Woman:: @ 8167F8C + msgbox Route4_Text_TrippedOverGeodude, MSGBOX_NPC end -Route4_EventScript_167F95:: @ 8167F95 - msgbox gUnknown_818399B, MSGBOX_SIGN +Route4_EventScript_MtMoonSign:: @ 8167F95 + msgbox Route4_Text_MtMoonEntrance, MSGBOX_SIGN end -Route4_EventScript_167F9E:: @ 8167F9E - msgbox gUnknown_81839B4, MSGBOX_SIGN +Route4_EventScript_RouteSign:: @ 8167F9E + msgbox Route4_Text_RouteSign, MSGBOX_SIGN end diff --git a/data/maps/Route4/text.inc b/data/maps/Route4/text.inc index 49648cde0..a6bd24787 100644 --- a/data/maps/Route4/text.inc +++ b/data/maps/Route4/text.inc @@ -1,24 +1,79 @@ -gUnknown_81838D7:: @ 81838D7 +Route4_Text_TrippedOverGeodude:: @ 81838D7 .string "Ouch! I tripped over a rocky\n" .string "POKéMON, GEODUDE!$" -Text_183906:: @ 8183906 +Route4_Text_CrissyIntro:: @ 8183906 .string "I came to MT. MOON in search of\n" .string "mushroom POKéMON.$" -Text_183938:: @ 8183938 +Route4_Text_CrissyDefeat:: @ 8183938 .string "After all I did to catch them!$" -Text_183957:: @ 8183957 +Route4_Text_CrissyPostBattle:: @ 8183957 .string "There might not be any more\n" .string "mushrooms here.\p" .string "I think I got them all.$" -gUnknown_818399B:: @ 818399B +Route4_Text_MtMoonEntrance:: @ 818399B .string "MT. MOON\n" .string "Tunnel Entrance$" -gUnknown_81839B4:: @ 81839B4 +Route4_Text_RouteSign:: @ 81839B4 .string "ROUTE 4\n" .string "MT. MOON - CERULEAN CITY$" +Text_MegaPunchTeach:: @ 81839D5 + .string "A punch of roaring ferocity!\p" + .string "Packed with destructive power!\p" + .string "When the chips are down,\n" + .string "MEGA PUNCH is the ultimate attack!\l" + .string "You agree, yes?\p" + .string "Now!\n" + .string "Let me teach it to your POKéMON!$" + +Text_MegaPunchDeclined:: @ 8183A83 + .string "You'll be back when you understand\n" + .string "the worth of MEGA PUNCH.$" + +Text_MegaPunchWhichMon:: @ 8183ABF + .string "Fine!\n" + .string "Which POKéMON will learn it?$" + +Text_MegaPunchTaught:: @ 8183AE2 + .string "Now, we are comrades in the way of\n" + .string "punching!\p" + .string "You should go before you're seen\n" + .string "by the misguided fool who trains\l" + .string "only his silly kicking over there.$" + +Text_MegaKickTeach:: @ 8183B74 + .string "A kick of brutal ferocity!\p" + .string "Packed with destructive power!\p" + .string "When you get right down to it,\n" + .string "MEGA KICK is the ultimate attack!\l" + .string "Don't you agree?\p" + .string "Okay!\n" + .string "I'll teach it to your POKéMON!$" + +Text_MegaKickDeclined:: @ 8183C25 + .string "You'll come crawling back when you\n" + .string "realize the value of MEGA KICK.$" + +Text_MegaKickWhichMon:: @ 8183C68 + .string "All right!\n" + .string "Which POKéMON wants to learn it?$" + +Text_MegaKickTaught:: @ 8183C94 + .string "Now, we are soul mates in the way\n" + .string "of kicking!\p" + .string "You should run before you're seen\n" + .string "by the deluded nitwit who trains\l" + .string "only simple punching over there.$" + +Route4_Text_PeopleLikeAndRespectBrock:: @ 8183D26 + .string "Oh, wow, that's the BOULDERBADGE!\n" + .string "You got it from BROCK, didn't you?\p" + .string "BROCK is cool. He's not just tough.\n" + .string "People like and respect him.\p" + .string "I want to become a GYM LEADER\n" + .string "like him.$" diff --git a/data/maps/Route4_PokemonCenter_1F/map.json b/data/maps/Route4_PokemonCenter_1F/map.json index 29c7c514c..b3f5a6740 100644 --- a/data/maps/Route4_PokemonCenter_1F/map.json +++ b/data/maps/Route4_PokemonCenter_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_4", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_NURSE", + "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, "elevation": 0, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route4_PokemonCenter_1F_EventScript_16F8BB", + "script": "Route4_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 1, "y": 3, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route4_PokemonCenter_1F_EventScript_16F75F", + "script": "Route4_PokemonCenter_1F_EventScript_MagikarpSalesman", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 12, "y": 5, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route4_PokemonCenter_1F_EventScript_16F754", + "script": "Route4_PokemonCenter_1F_EventScript_Gentleman", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BOY", + "graphics_id": "OBJ_EVENT_GFX_BOY", "x": 5, "y": 4, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route4_PokemonCenter_1F_EventScript_16F74B", + "script": "Route4_PokemonCenter_1F_EventScript_Boy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 14, "y": 4, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route4_PokemonCenter_1F_EventScript_16F8C4", + "script": "Route4_PokemonCenter_1F_EventScript_Youngster", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CLIPBOARD", + "graphics_id": "OBJ_EVENT_GFX_CLIPBOARD", "x": 12, "y": 6, "elevation": 0, @@ -88,7 +90,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route4_PokemonCenter_1F_EventScript_16F8CD", + "script": "Route4_PokemonCenter_1F_EventScript_Newspaper", "flag": "0" } ], diff --git a/data/maps/Route4_PokemonCenter_1F/scripts.inc b/data/maps/Route4_PokemonCenter_1F/scripts.inc index ca2c5f611..420e18d1a 100644 --- a/data/maps/Route4_PokemonCenter_1F/scripts.inc +++ b/data/maps/Route4_PokemonCenter_1F/scripts.inc @@ -1,3 +1,5 @@ +.equ MAGIKARP_PRICE, 500 + Route4_PokemonCenter_1F_MapScripts:: @ 816F739 map_script MAP_SCRIPT_ON_TRANSITION, Route4_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume @@ -8,149 +10,149 @@ Route4_PokemonCenter_1F_OnTransition:: @ 816F744 setrespawn SPAWN_ROUTE4 end -Route4_PokemonCenter_1F_EventScript_16F74B:: @ 816F74B - msgbox gUnknown_819D9D4, MSGBOX_NPC +Route4_PokemonCenter_1F_EventScript_Boy:: @ 816F74B + msgbox Route4_PokemonCenter_1F_Text_CanHaveSixMonsWithYou, MSGBOX_NPC end -Route4_PokemonCenter_1F_EventScript_16F754:: @ 816F754 +Route4_PokemonCenter_1F_EventScript_Gentleman:: @ 816F754 lock - msgbox gUnknown_819DA3A + msgbox Route4_PokemonCenter_1F_Text_TeamRocketAttacksCerulean release end -Route4_PokemonCenter_1F_EventScript_16F75F:: @ 816F75F +Route4_PokemonCenter_1F_EventScript_MagikarpSalesman:: @ 816F75F lock faceplayer - goto_if_set FLAG_BOUGHT_MAGIKARP, EventScript_16F8A2 + goto_if_set FLAG_BOUGHT_MAGIKARP, Route4_PokemonCenter_1F_EventScript_AlreadyBoughtMagikarp showmoneybox 0, 0, 0 checkplayergender compare VAR_RESULT, MALE - goto_if_eq EventScript_16F786 + goto_if_eq Route4_PokemonCenter_1F_EventScript_AskBuyMagikarpMale compare VAR_RESULT, FEMALE - goto_if_eq EventScript_16F794 + goto_if_eq Route4_PokemonCenter_1F_EventScript_AskBuyMagikarpFemale end -EventScript_16F786:: @ 816F786 - msgbox gUnknown_819DA9A, MSGBOX_YESNO - goto EventScript_16F7A2 +Route4_PokemonCenter_1F_EventScript_AskBuyMagikarpMale:: @ 816F786 + msgbox Route4_PokemonCenter_1F_Text_LaddieBuyMagikarpForJust500, MSGBOX_YESNO + goto Route4_PokemonCenter_1F_EventScript_TryBuyMagikarp end -EventScript_16F794:: @ 816F794 - msgbox gUnknown_819DB34, MSGBOX_YESNO - goto EventScript_16F7A2 +Route4_PokemonCenter_1F_EventScript_AskBuyMagikarpFemale:: @ 816F794 + msgbox Route4_PokemonCenter_1F_Text_SweetieBuyMagikarpForJust500, MSGBOX_YESNO + goto Route4_PokemonCenter_1F_EventScript_TryBuyMagikarp end -EventScript_16F7A2:: @ 816F7A2 +Route4_PokemonCenter_1F_EventScript_TryBuyMagikarp:: @ 816F7A2 compare VAR_RESULT, NO - goto_if_eq EventScript_16F888 - checkmoney 500, 0 + goto_if_eq Route4_PokemonCenter_1F_EventScript_DeclineMagikarp + checkmoney MAGIKARP_PRICE, 0 compare VAR_RESULT, FALSE - goto_if_eq EventScript_16F895 + goto_if_eq Route4_PokemonCenter_1F_EventScript_NotEnoughMoney textcolor 3 - setvar VAR_TEMP_1, 129 + setvar VAR_TEMP_1, SPECIES_MAGIKARP givemon SPECIES_MAGIKARP, 5, ITEM_NONE compare VAR_RESULT, 0 - goto_if_eq EventScript_16F7F6 + goto_if_eq Route4_PokemonCenter_1F_EventScript_BuyMagikarpParty compare VAR_RESULT, 1 - goto_if_eq EventScript_16F822 + goto_if_eq Route4_PokemonCenter_1F_EventScript_BuyMagikarpPC compare VAR_RESULT, 2 - goto_if_eq EventScript_16F8AC + goto_if_eq Route4_PokemonCenter_1F_EventScript_NoRoomForMagikarp end -EventScript_16F7F6:: @ 816F7F6 - call EventScript_16F86F +Route4_PokemonCenter_1F_EventScript_BuyMagikarpParty:: @ 816F7F6 + call Route4_PokemonCenter_1F_EventScript_PayForMagikarp msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_16F861 + goto_if_eq Route4_PokemonCenter_1F_EventScript_EndPurchaseMagikarp call EventScript_GetGiftMonPartySlot fadescreen FADE_TO_BLACK hidemoneybox 0, 0 special ChangePokemonNickname waitstate - goto EventScript_16F86A + goto Route4_PokemonCenter_1F_EventScript_BoughtMagikarp end -EventScript_16F822:: @ 816F822 - call EventScript_16F86F +Route4_PokemonCenter_1F_EventScript_BuyMagikarpPC:: @ 816F822 + call Route4_PokemonCenter_1F_EventScript_PayForMagikarp msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_16F84B + goto_if_eq Route4_PokemonCenter_1F_EventScript_TransferMagikarpCloseMoneyBox fadescreen FADE_TO_BLACK hidemoneybox 0, 0 special ChangeBoxPokemonNickname waitstate lock faceplayer - goto EventScript_16F856 + goto Route4_PokemonCenter_1F_EventScript_TransferMagikarp end -EventScript_16F84B:: @ 816F84B +Route4_PokemonCenter_1F_EventScript_TransferMagikarpCloseMoneyBox:: @ 816F84B call EventScript_TransferredToPC - goto EventScript_16F861 + goto Route4_PokemonCenter_1F_EventScript_EndPurchaseMagikarp end -EventScript_16F856:: @ 816F856 +Route4_PokemonCenter_1F_EventScript_TransferMagikarp:: @ 816F856 call EventScript_TransferredToPC - goto EventScript_16F86A + goto Route4_PokemonCenter_1F_EventScript_BoughtMagikarp end -EventScript_16F861:: @ 816F861 +Route4_PokemonCenter_1F_EventScript_EndPurchaseMagikarp:: @ 816F861 hidemoneybox 0, 0 - goto EventScript_16F86A + goto Route4_PokemonCenter_1F_EventScript_BoughtMagikarp end -EventScript_16F86A:: @ 816F86A +Route4_PokemonCenter_1F_EventScript_BoughtMagikarp:: @ 816F86A setflag FLAG_BOUGHT_MAGIKARP release end -EventScript_16F86F:: @ 816F86F - removemoney 500, 0 +Route4_PokemonCenter_1F_EventScript_PayForMagikarp:: @ 816F86F + removemoney MAGIKARP_PRICE, 0 updatemoneybox 0, 0, 0 playfanfare MUS_FANFA1 - message Text_19DBD3 + message Route4_PokemonCenter_1F_Text_PaidOutrageouslyForMagikarp waitmessage waitfanfare getspeciesname 0, SPECIES_MAGIKARP return -EventScript_16F888:: @ 816F888 - msgbox gUnknown_819DC07 +Route4_PokemonCenter_1F_EventScript_DeclineMagikarp:: @ 816F888 + msgbox Route4_PokemonCenter_1F_Text_OnlyDoingThisAsFavorToYou hidemoneybox 0, 0 release end -EventScript_16F895:: @ 816F895 - msgbox gUnknown_819DC78 +Route4_PokemonCenter_1F_EventScript_NotEnoughMoney:: @ 816F895 + msgbox Route4_PokemonCenter_1F_Text_YoullNeedMoreMoney hidemoneybox 0, 0 release end -EventScript_16F8A2:: @ 816F8A2 - msgbox gUnknown_819DC9A +Route4_PokemonCenter_1F_EventScript_AlreadyBoughtMagikarp:: @ 816F8A2 + msgbox Route4_PokemonCenter_1F_Text_IDontGiveRefunds release end -EventScript_16F8AC:: @ 816F8AC +Route4_PokemonCenter_1F_EventScript_NoRoomForMagikarp:: @ 816F8AC textcolor 0 - msgbox gUnknown_819DC3E + msgbox Route4_PokemonCenter_1F_Text_NoRoomForMorePokemon hidemoneybox 0, 0 release end -Route4_PokemonCenter_1F_EventScript_16F8BB:: @ 816F8BB +Route4_PokemonCenter_1F_EventScript_Nurse:: @ 816F8BB lock faceplayer call EventScript_PkmnCenterNurse release end -Route4_PokemonCenter_1F_EventScript_16F8C4:: @ 816F8C4 - msgbox gUnknown_819DCDB, MSGBOX_NPC +Route4_PokemonCenter_1F_EventScript_Youngster:: @ 816F8C4 + msgbox Route4_PokemonCenter_1F_Text_ShouldStoreMonsUsingPC, MSGBOX_NPC end -Route4_PokemonCenter_1F_EventScript_16F8CD:: @ 816F8CD +Route4_PokemonCenter_1F_EventScript_Newspaper:: @ 816F8CD lock - msgbox gUnknown_819DD54 + msgbox Route4_PokemonCenter_1F_Text_ItsANewspaper release end diff --git a/data/maps/Route4_PokemonCenter_1F/text.inc b/data/maps/Route4_PokemonCenter_1F/text.inc index f357b7f76..df65ae33a 100644 --- a/data/maps/Route4_PokemonCenter_1F/text.inc +++ b/data/maps/Route4_PokemonCenter_1F/text.inc @@ -1,54 +1,54 @@ -gUnknown_819D9D4:: @ 819D9D4 +Route4_PokemonCenter_1F_Text_CanHaveSixMonsWithYou:: @ 819D9D4 .string "Okay, set six POKé BALLS in my\n" .string "belt…\p" .string "Yeah, that'll do it. At most, you\n" .string "can have six POKéMON with you.$" -gUnknown_819DA3A:: @ 819DA3A +Route4_PokemonCenter_1F_Text_TeamRocketAttacksCerulean:: @ 819DA3A .string "TEAM ROCKET attacks CERULEAN\n" .string "citizens…\p" .string "Not a day goes by without TEAM\n" .string "ROCKET being in the news.$" -gUnknown_819DA9A:: @ 819DA9A +Route4_PokemonCenter_1F_Text_LaddieBuyMagikarpForJust500:: @ 819DA9A .string "MAN: Hello there, laddie!\n" .string "Have I got a deal just for you!\p" .string "I'll let you have a secret POKéMON\n" .string "- a MAGIKARP - for just ¥500!\p" .string "So, you'll buy it, am I right?$" -gUnknown_819DB34:: @ 819DB34 +Route4_PokemonCenter_1F_Text_SweetieBuyMagikarpForJust500:: @ 819DB34 .string "MAN: Hello there, sweetie pie!\n" .string "Have I got a deal just for you!\p" .string "I'll let you have a secret POKéMON\n" .string "- a MAGIKARP - for just ¥500!\p" .string "So, you'll buy it, am I right?$" -Text_19DBD3:: @ 819DBD3 +Route4_PokemonCenter_1F_Text_PaidOutrageouslyForMagikarp:: @ 819DBD3 .string "{PLAYER} paid an outrageous ¥500\n" .string "and bought the MAGIKARP…$" -gUnknown_819DC07:: @ 819DC07 +Route4_PokemonCenter_1F_Text_OnlyDoingThisAsFavorToYou:: @ 819DC07 .string "No? You say no? I'm only doing this\n" .string "as a favor to you!$" -gUnknown_819DC3E:: @ 819DC3E +Route4_PokemonCenter_1F_Text_NoRoomForMorePokemon:: @ 819DC3E .string "There's no more room for any more\n" .string "POKéMON, it looks like.$" -gUnknown_819DC78:: @ 819DC78 +Route4_PokemonCenter_1F_Text_YoullNeedMoreMoney:: @ 819DC78 .string "You'll need more money than that!$" -gUnknown_819DC9A:: @ 819DC9A +Route4_PokemonCenter_1F_Text_IDontGiveRefunds:: @ 819DC9A .string "MAN: Well, I don't give refunds.\n" .string "You knew what you were getting!$" -gUnknown_819DCDB:: @ 819DCDB +Route4_PokemonCenter_1F_Text_ShouldStoreMonsUsingPC:: @ 819DCDB .string "Sometimes, you'll have too many\n" .string "POKéMON with you to add any more.\p" .string "In that case, you should just\n" .string "store some using any PC.$" -gUnknown_819DD54:: @ 819DD54 +Route4_PokemonCenter_1F_Text_ItsANewspaper:: @ 819DD54 .string "It's a newspaper.$" diff --git a/data/maps/Route4_PokemonCenter_2F/map.json b/data/maps/Route4_PokemonCenter_2F/map.json index e53504770..2f8269dd9 100644 --- a/data/maps/Route4_PokemonCenter_2F/map.json +++ b/data/maps/Route4_PokemonCenter_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_4", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 6, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 2, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 10, "y": 2, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MG_DELIVERYMAN", + "graphics_id": "OBJ_EVENT_GFX_MG_DELIVERYMAN", "x": 1, "y": 2, "elevation": 3, diff --git a/data/maps/Route5/map.json b/data/maps/Route5/map.json index 8b047231e..a178efdc2 100644 --- a/data/maps/Route5/map.json +++ b/data/maps/Route5/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_5", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_CERULEAN_CITY", @@ -18,7 +20,7 @@ "direction": "up" }, { - "map": "MAP_SAFFRON_CITY_CLASSIC", + "map": "MAP_SAFFRON_CITY_CONNECTION", "offset": 0, "direction": "down" } @@ -57,11 +59,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 32, "y": 32, "elevation": 0, - "script": "Route5_EventScript_167FA8" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route5_EventScript_UndergroundPathSign" } ] } diff --git a/data/maps/Route5/scripts.inc b/data/maps/Route5/scripts.inc index 3e1b507d2..cc5b0d1d2 100644 --- a/data/maps/Route5/scripts.inc +++ b/data/maps/Route5/scripts.inc @@ -1,6 +1,6 @@ Route5_MapScripts:: @ 8167FA7 .byte 0 -Route5_EventScript_167FA8:: @ 8167FA8 - msgbox gUnknown_8183DD4, MSGBOX_SIGN +Route5_EventScript_UndergroundPathSign:: @ 8167FA8 + msgbox Route5_Text_UndergroundPathSign, MSGBOX_SIGN end diff --git a/data/maps/Route5/text.inc b/data/maps/Route5/text.inc index 0a3e80874..1aab5cc6b 100644 --- a/data/maps/Route5/text.inc +++ b/data/maps/Route5/text.inc @@ -1,60 +1,4 @@ -Text_MegaPunchTeach:: @ 81839D5 - .string "A punch of roaring ferocity!\p" - .string "Packed with destructive power!\p" - .string "When the chips are down,\n" - .string "MEGA PUNCH is the ultimate attack!\l" - .string "You agree, yes?\p" - .string "Now!\n" - .string "Let me teach it to your POKéMON!$" - -Text_MegaPunchDeclined:: @ 8183A83 - .string "You'll be back when you understand\n" - .string "the worth of MEGA PUNCH.$" - -Text_MegaPunchWhichMon:: @ 8183ABF - .string "Fine!\n" - .string "Which POKéMON will learn it?$" - -Text_MegaPunchTaught:: @ 8183AE2 - .string "Now, we are comrades in the way of\n" - .string "punching!\p" - .string "You should go before you're seen\n" - .string "by the misguided fool who trains\l" - .string "only his silly kicking over there.$" - -Text_MegaKickTeach:: @ 8183B74 - .string "A kick of brutal ferocity!\p" - .string "Packed with destructive power!\p" - .string "When you get right down to it,\n" - .string "MEGA KICK is the ultimate attack!\l" - .string "Don't you agree?\p" - .string "Okay!\n" - .string "I'll teach it to your POKéMON!$" - -Text_MegaKickDeclined:: @ 8183C25 - .string "You'll come crawling back when you\n" - .string "realize the value of MEGA KICK.$" - -Text_MegaKickWhichMon:: @ 8183C68 - .string "All right!\n" - .string "Which POKéMON wants to learn it?$" - -Text_MegaKickTaught:: @ 8183C94 - .string "Now, we are soul mates in the way\n" - .string "of kicking!\p" - .string "You should run before you're seen\n" - .string "by the deluded nitwit who trains\l" - .string "only simple punching over there.$" - -Text_183D26:: @ 8183D26 - .string "Oh, wow, that's the BOULDERBADGE!\n" - .string "You got it from BROCK, didn't you?\p" - .string "BROCK is cool. He's not just tough.\n" - .string "People like and respect him.\p" - .string "I want to become a GYM LEADER\n" - .string "like him.$" - -gUnknown_8183DD4:: @ 8183DD4 +Route5_Text_UndergroundPathSign:: @ 8183DD4 .string "UNDERGROUND PATH\n" .string "CERULEAN CITY - VERMILION CITY$" diff --git a/data/maps/Route5_PokemonDayCare/map.json b/data/maps/Route5_PokemonDayCare/map.json index 52cbb04ea..502a50bd9 100644 --- a/data/maps/Route5_PokemonDayCare/map.json +++ b/data/maps/Route5_PokemonDayCare/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_5", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 4, "y": 4, "elevation": 3, diff --git a/data/maps/Route5_PokemonDayCare/text.inc b/data/maps/Route5_PokemonDayCare/text.inc index cada12ea5..2176583a1 100644 --- a/data/maps/Route5_PokemonDayCare/text.inc +++ b/data/maps/Route5_PokemonDayCare/text.inc @@ -58,3 +58,11 @@ Route5_PokemonDayCare_Text_YouveGotNoRoomForIt:: @ 819DFC2 Route5_PokemonDayCare_Text_DontHaveEnoughMoney:: @ 819E001 .string "You don't have enough money.$" + +Route5_PokemonDayCare_Text_WantMeToTakeALookAtYours:: @ 819E01E + .string "きみの\n" + .string "みてみるかね?$" + +Route5_PokemonDayCare_Text_CantAcceptMonWithHM:: @ 819E02A + .string "わるいけど ひでんのわざを もった\n" + .string "ポケモンは あずかれないなぁ$" diff --git a/data/maps/Route5_SouthEntrance/map.json b/data/maps/Route5_SouthEntrance/map.json index a85de2522..94572a962 100644 --- a/data/maps/Route5_SouthEntrance/map.json +++ b/data/maps/Route5_SouthEntrance/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_5", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 1, - "unknown_19": 2, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_POLICEMAN", + "graphics_id": "OBJ_EVENT_GFX_POLICEMAN", "x": 1, "y": 5, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route5_SouthEntrance_EventScript_16F901", + "script": "Route5_SouthEntrance_EventScript_Guard", "flag": "0" } ], @@ -65,7 +67,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE5_ROUTE6_ROUTE7_ROUTE8_GATES", "var_value": 0, - "script": "Route5_SouthEntrance_EventScript_16F90A" + "script": "Route5_SouthEntrance_EventScript_GuardTriggerLeft" }, { "type": "trigger", @@ -74,7 +76,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE5_ROUTE6_ROUTE7_ROUTE8_GATES", "var_value": 0, - "script": "Route5_SouthEntrance_EventScript_16F916" + "script": "Route5_SouthEntrance_EventScript_GuardTriggerMid" }, { "type": "trigger", @@ -83,7 +85,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE5_ROUTE6_ROUTE7_ROUTE8_GATES", "var_value": 0, - "script": "Route5_SouthEntrance_EventScript_16F922" + "script": "Route5_SouthEntrance_EventScript_GuardTriggerRight" } ], "bg_events": [] diff --git a/data/maps/Route5_SouthEntrance/scripts.inc b/data/maps/Route5_SouthEntrance/scripts.inc index f20da71ae..b06a2aa2c 100644 --- a/data/maps/Route5_SouthEntrance/scripts.inc +++ b/data/maps/Route5_SouthEntrance/scripts.inc @@ -1,87 +1,87 @@ Route5_SouthEntrance_MapScripts:: @ 816F900 .byte 0 -Route5_SouthEntrance_EventScript_16F901:: @ 816F901 - msgbox gUnknown_819E16D, MSGBOX_NPC +Route5_SouthEntrance_EventScript_Guard:: @ 816F901 + msgbox Route5_SouthEntrance_Text_HiHowsItGoing, MSGBOX_NPC end -Route5_SouthEntrance_EventScript_16F90A:: @ 816F90A +Route5_SouthEntrance_EventScript_GuardTriggerLeft:: @ 816F90A lockall setvar VAR_TEMP_1, 0 - goto EventScript_16F92E + goto Route5_SouthEntrance_EventScript_GuardTrigger end -Route5_SouthEntrance_EventScript_16F916:: @ 816F916 +Route5_SouthEntrance_EventScript_GuardTriggerMid:: @ 816F916 lockall setvar VAR_TEMP_1, 1 - goto EventScript_16F92E + goto Route5_SouthEntrance_EventScript_GuardTrigger end -Route5_SouthEntrance_EventScript_16F922:: @ 816F922 +Route5_SouthEntrance_EventScript_GuardTriggerRight:: @ 816F922 lockall setvar VAR_TEMP_1, 2 - goto EventScript_16F92E + goto Route5_SouthEntrance_EventScript_GuardTrigger end -EventScript_16F92E:: @ 816F92E +Route5_SouthEntrance_EventScript_GuardTrigger:: @ 816F92E textcolor 0 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestLeft waitmovement 0 - goto_if_set FLAG_GOT_TEA, EventScript_16F958 - msgbox gUnknown_819E04B + goto_if_set FLAG_GOT_TEA, Route5_SouthEntrance_EventScript_GiveTea + msgbox Route5_SouthEntrance_Text_ThirstyOnGuardDuty closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_16F9C4 + applymovement OBJ_EVENT_ID_PLAYER, Route5_SouthEntrance_Movement_BlockPlayerEntry waitmovement 0 releaseall end -EventScript_16F958:: @ 816F958 +Route5_SouthEntrance_EventScript_GiveTea:: @ 816F958 removeitem ITEM_TEA, 1 - goto EventScript_16F963 + goto Route5_SouthEntrance_EventScript_GuardDrinkTea end -EventScript_16F963:: @ 816F963 - msgbox gUnknown_819E09B +Route5_SouthEntrance_EventScript_GuardDrinkTea:: @ 816F963 + msgbox Route5_SouthEntrance_Text_ThatTeaLooksTasty closemessage compare VAR_TEMP_1, 0 - call_if_eq EventScript_16F99C + call_if_eq Route5_SouthEntrance_EventScript_WalkToGuardLeft compare VAR_TEMP_1, 1 - call_if_eq EventScript_16F9A7 + call_if_eq Route5_SouthEntrance_EventScript_WalkToGuardMid compare VAR_TEMP_1, 2 - call_if_eq EventScript_16F9B2 - msgbox gUnknown_819E0C1 + call_if_eq Route5_SouthEntrance_EventScript_WalkToGuardRight + msgbox Route5_SouthEntrance_Text_ThanksIllShareTeaWithGuards setvar VAR_MAP_SCENE_ROUTE5_ROUTE6_ROUTE7_ROUTE8_GATES, 1 releaseall end -EventScript_16F99C:: @ 816F99C - applymovement OBJ_EVENT_ID_PLAYER, Movement_16F9C2 +Route5_SouthEntrance_EventScript_WalkToGuardLeft:: @ 816F99C + applymovement OBJ_EVENT_ID_PLAYER, Route5_SouthEntrance_Movement_WalkToGuardLeft waitmovement 0 return -EventScript_16F9A7:: @ 816F9A7 - applymovement OBJ_EVENT_ID_PLAYER, Movement_16F9BD +Route5_SouthEntrance_EventScript_WalkToGuardMid:: @ 816F9A7 + applymovement OBJ_EVENT_ID_PLAYER, Route5_SouthEntrance_Movement_WalkToGuardMid waitmovement 0 return -EventScript_16F9B2:: @ 816F9B2 - applymovement OBJ_EVENT_ID_PLAYER, Movement_16F9BF +Route5_SouthEntrance_EventScript_WalkToGuardRight:: @ 816F9B2 + applymovement OBJ_EVENT_ID_PLAYER, Route5_SouthEntrance_Movement_WalkToGuardRight waitmovement 0 return -Movement_16F9BD:: @ 816F9BD +Route5_SouthEntrance_Movement_WalkToGuardMid:: @ 816F9BD walk_left step_end -Movement_16F9BF:: @ 816F9BF +Route5_SouthEntrance_Movement_WalkToGuardRight:: @ 816F9BF walk_left walk_left step_end -Movement_16F9C2:: @ 816F9C2 +Route5_SouthEntrance_Movement_WalkToGuardLeft:: @ 816F9C2 walk_in_place_left step_end -Movement_16F9C4:: @ 816F9C4 +Route5_SouthEntrance_Movement_BlockPlayerEntry:: @ 816F9C4 walk_up step_end diff --git a/data/maps/Route5_SouthEntrance/text.inc b/data/maps/Route5_SouthEntrance/text.inc index 749bcabe5..2b740e141 100644 --- a/data/maps/Route5_SouthEntrance/text.inc +++ b/data/maps/Route5_SouthEntrance/text.inc @@ -1,21 +1,13 @@ -Text_19E01E:: @ 819E01E - .string "きみの\n" - .string "みてみるかね?$" - -Text_19E02A:: @ 819E02A - .string "わるいけど ひでんのわざを もった\n" - .string "ポケモンは あずかれないなぁ$" - -gUnknown_819E04B:: @ 819E04B +Route5_SouthEntrance_Text_ThirstyOnGuardDuty:: @ 819E04B .string "I'm on guard duty.\n" .string "Gee, I'm thirsty, though!\p" .string "Oh, wait there, the road's closed.$" -gUnknown_819E09B:: @ 819E09B +Route5_SouthEntrance_Text_ThatTeaLooksTasty:: @ 819E09B .string "Oh, that TEA…\n" .string "It looks awfully tasty…$" -gUnknown_819E0C1:: @ 819E0C1 +Route5_SouthEntrance_Text_ThanksIllShareTeaWithGuards:: @ 819E0C1 .string "Huh? I can have this drink?\n" .string "Gee, thanks!\l" .string "… …\l" @@ -29,6 +21,6 @@ gUnknown_819E0C1:: @ 819E0C1 .string "I'll share this TEA with the other\n" .string "guards!$" -gUnknown_819E16D:: @ 819E16D +Route5_SouthEntrance_Text_HiHowsItGoing:: @ 819E16D .string "Hi, how's it going?$" diff --git a/data/maps/Route6/map.json b/data/maps/Route6/map.json index f67590481..fd7a985b5 100644 --- a/data/maps/Route6/map.json +++ b/data/maps/Route6/map.json @@ -6,14 +6,16 @@ "region_map_section": "MAPSEC_ROUTE_6", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "map": "MAP_SAFFRON_CITY_CLASSIC", + "map": "MAP_SAFFRON_CITY_CONNECTION", "offset": 0, "direction": "up" }, @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BUG_CATCHER", + "graphics_id": "OBJ_EVENT_GFX_BUG_CATCHER", "x": 3, "y": 16, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "Route6_EventScript_1A9999", + "script": "Route6_EventScript_Keigo", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CAMPER", + "graphics_id": "OBJ_EVENT_GFX_CAMPER", "x": 12, "y": 21, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 0, - "script": "Route6_EventScript_1A9A15", + "script": "Route6_EventScript_Ricky", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 13, "y": 21, "elevation": 3, @@ -60,11 +62,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 0, - "script": "Route6_EventScript_1A9A91", + "script": "Route6_EventScript_Nancy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BUG_CATCHER", + "graphics_id": "OBJ_EVENT_GFX_BUG_CATCHER", "x": 20, "y": 25, "elevation": 3, @@ -73,11 +75,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route6_EventScript_1A99D7", + "script": "Route6_EventScript_Elijah", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 13, "y": 32, "elevation": 3, @@ -86,11 +88,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route6_EventScript_1A9ACF", + "script": "Route6_EventScript_Isabelle", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CAMPER", + "graphics_id": "OBJ_EVENT_GFX_CAMPER", "x": 13, "y": 33, "elevation": 3, @@ -99,7 +101,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route6_EventScript_1A9A53", + "script": "Route6_EventScript_Jeff", "flag": "0" } ], @@ -129,11 +131,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 21, "y": 15, "elevation": 0, - "script": "Route6_EventScript_167FB2" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route6_EventScript_UndergroundPathSign" }, { "type": "hidden_item", diff --git a/data/maps/Route6/scripts.inc b/data/maps/Route6/scripts.inc index 00b3efb56..575c05fe6 100644 --- a/data/maps/Route6/scripts.inc +++ b/data/maps/Route6/scripts.inc @@ -1,6 +1,6 @@ Route6_MapScripts:: @ 8167FB1 .byte 0 -Route6_EventScript_167FB2:: @ 8167FB2 - msgbox gUnknown_8184067, MSGBOX_SIGN +Route6_EventScript_UndergroundPathSign:: @ 8167FB2 + msgbox Route6_Text_UndergroundPathSign, MSGBOX_SIGN end diff --git a/data/maps/Route6/text.inc b/data/maps/Route6/text.inc index b8ae84e32..0242ceee8 100644 --- a/data/maps/Route6/text.inc +++ b/data/maps/Route6/text.inc @@ -1,73 +1,73 @@ -Text_183E04:: @ 8183E04 +Route6_Text_RickyIntro:: @ 8183E04 .string "Who's there?\n" .string "Quit listening in on us!$" -Text_183E2A:: @ 8183E2A +Route6_Text_RickyDefeat:: @ 8183E2A .string "I just can't win!$" -Text_183E3C:: @ 8183E3C +Route6_Text_RickyPostBattle:: @ 8183E3C .string "Whisper…\n" .string "Whisper…$" -Text_183E4E:: @ 8183E4E +Route6_Text_NancyIntro:: @ 8183E4E .string "Excuse me!\n" .string "This is a private conversation!$" -Text_183E79:: @ 8183E79 +Route6_Text_NancyDefeat:: @ 8183E79 .string "Ugh!\n" .string "I hate losing.$" -Text_183E8D:: @ 8183E8D +Route6_Text_NancyPostBattle:: @ 8183E8D .string "Whisper…\n" .string "Whisper…$" -Text_183E9F:: @ 8183E9F +Route6_Text_KeigoIntro:: @ 8183E9F .string "There aren't many bugs out here.$" -Text_183EC0:: @ 8183EC0 +Route6_Text_KeigoDefeat:: @ 8183EC0 .string "No!\n" .string "You're kidding!$" -Text_183ED4:: @ 8183ED4 +Route6_Text_KeigoPostBattle:: @ 8183ED4 .string "I like bugs, so I'm going back to\n" .string "VIRIDIAN FOREST.$" -Text_183F07:: @ 8183F07 +Route6_Text_JeffIntro:: @ 8183F07 .string "Huh?\n" .string "You want to talk to me?$" -Text_183F24:: @ 8183F24 +Route6_Text_JeffDefeat:: @ 8183F24 .string "This stinks…\n" .string "I couldn't beat your challenge…$" -Text_183F51:: @ 8183F51 +Route6_Text_JeffPostBattle:: @ 8183F51 .string "I should bring more POKéMON with\n" .string "me. I'll feel safer that way.$" -Text_183F90:: @ 8183F90 +Route6_Text_IsabelleIntro:: @ 8183F90 .string "Me?\n" .string "Well, okay. I'll play!$" -Text_183FAB:: @ 8183FAB +Route6_Text_IsabelleDefeat:: @ 8183FAB .string "Things just didn't work…$" -Text_183FC4:: @ 8183FC4 +Route6_Text_IsabellePostBattle:: @ 8183FC4 .string "I want to get stronger.\n" .string "What's your secret?$" -Text_183FF0:: @ 8183FF0 +Route6_Text_ElijahIntro:: @ 8183FF0 .string "I've never seen you around.\n" .string "Are you good?$" -Text_18401A:: @ 818401A +Route6_Text_ElijahDefeat:: @ 818401A .string "You're too good!$" -Text_18402B:: @ 818402B +Route6_Text_ElijahPostBattle:: @ 818402B .string "Are my POKéMON weak?\n" .string "Or, am I just bad?\l" .string "Which do you think?$" -gUnknown_8184067:: @ 8184067 +Route6_Text_UndergroundPathSign:: @ 8184067 .string "UNDERGROUND PATH\n" .string "CERULEAN CITY - VERMILION CITY$" diff --git a/data/maps/Route6_NorthEntrance/map.json b/data/maps/Route6_NorthEntrance/map.json index 8b49e226d..e13267a19 100644 --- a/data/maps/Route6_NorthEntrance/map.json +++ b/data/maps/Route6_NorthEntrance/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_6", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 1, - "unknown_19": 2, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_POLICEMAN", + "graphics_id": "OBJ_EVENT_GFX_POLICEMAN", "x": 7, "y": 5, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route6_NorthEntrance_EventScript_16F9C7", + "script": "Route6_NorthEntrance_EventScript_Guard", "flag": "0" } ], @@ -65,7 +67,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE5_ROUTE6_ROUTE7_ROUTE8_GATES", "var_value": 0, - "script": "Route6_NorthEntrance_EventScript_16F9D0" + "script": "Route6_NorthEntrance_EventScript_GuardTriggerLeft" }, { "type": "trigger", @@ -74,7 +76,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE5_ROUTE6_ROUTE7_ROUTE8_GATES", "var_value": 0, - "script": "Route6_NorthEntrance_EventScript_16F9DC" + "script": "Route6_NorthEntrance_EventScript_GuardTriggerMid" }, { "type": "trigger", @@ -83,7 +85,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE5_ROUTE6_ROUTE7_ROUTE8_GATES", "var_value": 0, - "script": "Route6_NorthEntrance_EventScript_16F9E8" + "script": "Route6_NorthEntrance_EventScript_GuardTriggerRight" } ], "bg_events": [] diff --git a/data/maps/Route6_NorthEntrance/scripts.inc b/data/maps/Route6_NorthEntrance/scripts.inc index d1b9a4555..5c7add642 100644 --- a/data/maps/Route6_NorthEntrance/scripts.inc +++ b/data/maps/Route6_NorthEntrance/scripts.inc @@ -1,87 +1,87 @@ Route6_NorthEntrance_MapScripts:: @ 816F9C6 .byte 0 -Route6_NorthEntrance_EventScript_16F9C7:: @ 816F9C7 - msgbox gUnknown_819E2A3, MSGBOX_NPC +Route6_NorthEntrance_EventScript_Guard:: @ 816F9C7 + msgbox Route6_NorthEntrance_Text_HiHowsItGoing, MSGBOX_NPC end -Route6_NorthEntrance_EventScript_16F9D0:: @ 816F9D0 +Route6_NorthEntrance_EventScript_GuardTriggerLeft:: @ 816F9D0 lockall setvar VAR_TEMP_1, 0 - goto EventScript_16F9F4 + goto Route6_NorthEntrance_EventScript_GuardTrigger end -Route6_NorthEntrance_EventScript_16F9DC:: @ 816F9DC +Route6_NorthEntrance_EventScript_GuardTriggerMid:: @ 816F9DC lockall setvar VAR_TEMP_1, 1 - goto EventScript_16F9F4 + goto Route6_NorthEntrance_EventScript_GuardTrigger end -Route6_NorthEntrance_EventScript_16F9E8:: @ 816F9E8 +Route6_NorthEntrance_EventScript_GuardTriggerRight:: @ 816F9E8 lockall setvar VAR_TEMP_1, 2 - goto EventScript_16F9F4 + goto Route6_NorthEntrance_EventScript_GuardTrigger end -EventScript_16F9F4:: @ 816F9F4 +Route6_NorthEntrance_EventScript_GuardTrigger:: @ 816F9F4 textcolor 0 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight waitmovement 0 - goto_if_set FLAG_GOT_TEA, EventScript_16FA1E - msgbox gUnknown_819E181 + goto_if_set FLAG_GOT_TEA, Route6_NorthEntrance_EventScript_GiveTea + msgbox Route6_NorthEntrance_Text_ThirstyOnGuardDuty closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_16FA8A + applymovement OBJ_EVENT_ID_PLAYER, Route6_NorthEntrance_Movement_BlockPlayerEntry waitmovement 0 releaseall end -EventScript_16FA1E:: @ 816FA1E +Route6_NorthEntrance_EventScript_GiveTea:: @ 816FA1E removeitem ITEM_TEA, 1 - goto EventScript_16FA29 + goto Route6_NorthEntrance_EventScript_GuardDrinkTea end -EventScript_16FA29:: @ 816FA29 - msgbox gUnknown_819E1D1 +Route6_NorthEntrance_EventScript_GuardDrinkTea:: @ 816FA29 + msgbox Route6_NorthEntrance_Text_ThatTeaLooksTasty closemessage compare VAR_TEMP_1, 0 - call_if_eq EventScript_16FA62 + call_if_eq Route6_NorthEntrance_EventScript_WalkToGuardLeft compare VAR_TEMP_1, 1 - call_if_eq EventScript_16FA6D + call_if_eq Route6_NorthEntrance_EventScript_WalkToGuardMid compare VAR_TEMP_1, 2 - call_if_eq EventScript_16FA78 - msgbox gUnknown_819E1F7 + call_if_eq Route6_NorthEntrance_EventScript_WalkToGuardRight + msgbox Route6_NorthEntrance_Text_ThanksIllShareTeaWithGuards setvar VAR_MAP_SCENE_ROUTE5_ROUTE6_ROUTE7_ROUTE8_GATES, 1 releaseall end -EventScript_16FA62:: @ 816FA62 - applymovement OBJ_EVENT_ID_PLAYER, Movement_16FA83 +Route6_NorthEntrance_EventScript_WalkToGuardLeft:: @ 816FA62 + applymovement OBJ_EVENT_ID_PLAYER, Route6_NorthEntrance_Movement_WalkToGuardLeft waitmovement 0 return -EventScript_16FA6D:: @ 816FA6D - applymovement OBJ_EVENT_ID_PLAYER, Movement_16FA86 +Route6_NorthEntrance_EventScript_WalkToGuardMid:: @ 816FA6D + applymovement OBJ_EVENT_ID_PLAYER, Route6_NorthEntrance_Movement_WalkToGuardMid waitmovement 0 return -EventScript_16FA78:: @ 816FA78 - applymovement OBJ_EVENT_ID_PLAYER, Movement_16FA88 +Route6_NorthEntrance_EventScript_WalkToGuardRight:: @ 816FA78 + applymovement OBJ_EVENT_ID_PLAYER, Route6_NorthEntrance_Movement_WalkToGuardRight waitmovement 0 return -Movement_16FA83:: @ 816FA83 +Route6_NorthEntrance_Movement_WalkToGuardLeft:: @ 816FA83 walk_right walk_right step_end -Movement_16FA86:: @ 816FA86 +Route6_NorthEntrance_Movement_WalkToGuardMid:: @ 816FA86 walk_right step_end -Movement_16FA88:: @ 816FA88 +Route6_NorthEntrance_Movement_WalkToGuardRight:: @ 816FA88 walk_in_place_right step_end -Movement_16FA8A:: @ 816FA8A +Route6_NorthEntrance_Movement_BlockPlayerEntry:: @ 816FA8A walk_down step_end diff --git a/data/maps/Route6_NorthEntrance/text.inc b/data/maps/Route6_NorthEntrance/text.inc index 3d581e1fb..09705517c 100644 --- a/data/maps/Route6_NorthEntrance/text.inc +++ b/data/maps/Route6_NorthEntrance/text.inc @@ -1,13 +1,13 @@ -gUnknown_819E181:: @ 819E181 +Route6_NorthEntrance_Text_ThirstyOnGuardDuty:: @ 819E181 .string "I'm on guard duty.\n" .string "Gee, I'm thirsty, though!\p" .string "Oh, wait there, the road's closed.$" -gUnknown_819E1D1:: @ 819E1D1 +Route6_NorthEntrance_Text_ThatTeaLooksTasty:: @ 819E1D1 .string "Oh, that TEA…\n" .string "It looks awfully tasty…$" -gUnknown_819E1F7:: @ 819E1F7 +Route6_NorthEntrance_Text_ThanksIllShareTeaWithGuards:: @ 819E1F7 .string "Huh? I can have this drink?\n" .string "Gee, thanks!\l" .string "… …\l" @@ -21,6 +21,6 @@ gUnknown_819E1F7:: @ 819E1F7 .string "I'll share this TEA with the other\n" .string "guards!$" -gUnknown_819E2A3:: @ 819E2A3 +Route6_NorthEntrance_Text_HiHowsItGoing:: @ 819E2A3 .string "Hi, how's it going?$" diff --git a/data/maps/Route7/map.json b/data/maps/Route7/map.json index e30bc8149..52e630274 100644 --- a/data/maps/Route7/map.json +++ b/data/maps/Route7/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_7", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_CELADON_CITY", @@ -18,15 +20,16 @@ "direction": "left" }, { - "map": "MAP_SAFFRON_CITY_CLASSIC", + "map": "MAP_SAFFRON_CITY_CONNECTION", "offset": -10, "direction": "right" } ], "object_events": [ { - "graphics_id": "65375", - "x": 65528, + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", + "in_connection": true, + "x": -8, "y": 12, "elevation": 10, "movement_type": "MOVEMENT_TYPE_NONE", @@ -57,11 +60,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 14, "elevation": 0, - "script": "Route7_EventScript_167FBC" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route7_EventScript_UndergroundPathSign" }, { "type": "hidden_item", diff --git a/data/maps/Route7/scripts.inc b/data/maps/Route7/scripts.inc index 52d0f5f36..299d6bad8 100644 --- a/data/maps/Route7/scripts.inc +++ b/data/maps/Route7/scripts.inc @@ -1,6 +1,6 @@ Route7_MapScripts:: @ 8167FBB .byte 0 -Route7_EventScript_167FBC:: @ 8167FBC - msgbox gUnknown_8184097, MSGBOX_SIGN +Route7_EventScript_UndergroundPathSign:: @ 8167FBC + msgbox Route7_Text_UndergroundPathSign, MSGBOX_SIGN end diff --git a/data/maps/Route7/text.inc b/data/maps/Route7/text.inc index 3f1cdda5b..4a58cc14b 100644 --- a/data/maps/Route7/text.inc +++ b/data/maps/Route7/text.inc @@ -1,4 +1,4 @@ -gUnknown_8184097:: @ 8184097 +Route7_Text_UndergroundPathSign:: @ 8184097 .string "UNDERGROUND PATH\n" .string "CELADON CITY - LAVENDER TOWN$" diff --git a/data/maps/Route7_EastEntrance/map.json b/data/maps/Route7_EastEntrance/map.json index 8bd0e7498..21c5d82a6 100644 --- a/data/maps/Route7_EastEntrance/map.json +++ b/data/maps/Route7_EastEntrance/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_7", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 1, - "unknown_19": 2, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_POLICEMAN", + "graphics_id": "OBJ_EVENT_GFX_POLICEMAN", "x": 6, "y": 2, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route7_EastEntrance_EventScript_16FA8E", + "script": "Route7_EastEntrance_EventScript_Guard", "flag": "0" } ], @@ -65,7 +67,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE5_ROUTE6_ROUTE7_ROUTE8_GATES", "var_value": 0, - "script": "Route7_EastEntrance_EventScript_16FA97" + "script": "Route7_EastEntrance_EventScript_GuardTriggerTop" }, { "type": "trigger", @@ -74,7 +76,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE5_ROUTE6_ROUTE7_ROUTE8_GATES", "var_value": 0, - "script": "Route7_EastEntrance_EventScript_16FAA3" + "script": "Route7_EastEntrance_EventScript_GuardTriggerMid" }, { "type": "trigger", @@ -83,7 +85,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE5_ROUTE6_ROUTE7_ROUTE8_GATES", "var_value": 0, - "script": "Route7_EastEntrance_EventScript_16FAAF" + "script": "Route7_EastEntrance_EventScript_GuardTriggerBottom" } ], "bg_events": [] diff --git a/data/maps/Route7_EastEntrance/scripts.inc b/data/maps/Route7_EastEntrance/scripts.inc index cac72463b..767601f49 100644 --- a/data/maps/Route7_EastEntrance/scripts.inc +++ b/data/maps/Route7_EastEntrance/scripts.inc @@ -1,87 +1,87 @@ Route7_EastEntrance_MapScripts:: @ 816FA8D .byte 0 -Route7_EastEntrance_EventScript_16FA8E:: @ 816FA8E - msgbox gUnknown_819E3D9, MSGBOX_NPC +Route7_EastEntrance_EventScript_Guard:: @ 816FA8E + msgbox Route7_EastEntrance_Text_HiHowsItGoing, MSGBOX_NPC end -Route7_EastEntrance_EventScript_16FA97:: @ 816FA97 +Route7_EastEntrance_EventScript_GuardTriggerTop:: @ 816FA97 lockall setvar VAR_TEMP_1, 0 - goto EventScript_16FABB + goto Route7_EastEntrance_EventScript_GuardTrigger end -Route7_EastEntrance_EventScript_16FAA3:: @ 816FAA3 +Route7_EastEntrance_EventScript_GuardTriggerMid:: @ 816FAA3 lockall setvar VAR_TEMP_1, 1 - goto EventScript_16FABB + goto Route7_EastEntrance_EventScript_GuardTrigger end -Route7_EastEntrance_EventScript_16FAAF:: @ 816FAAF +Route7_EastEntrance_EventScript_GuardTriggerBottom:: @ 816FAAF lockall setvar VAR_TEMP_1, 2 - goto EventScript_16FABB + goto Route7_EastEntrance_EventScript_GuardTrigger end -EventScript_16FABB:: @ 816FABB +Route7_EastEntrance_EventScript_GuardTrigger:: @ 816FABB textcolor 0 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestUp waitmovement 0 - goto_if_set FLAG_GOT_TEA, EventScript_16FAE5 - msgbox gUnknown_819E2B7 + goto_if_set FLAG_GOT_TEA, Route7_EastEntrance_EventScript_GiveTea + msgbox Route7_EastEntrance_Text_ThirstyOnGuardDuty closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_16FB51 + applymovement OBJ_EVENT_ID_PLAYER, Route7_EastEntrance_Movement_BlockPlayerEntry waitmovement 0 releaseall end -EventScript_16FAE5:: @ 816FAE5 +Route7_EastEntrance_EventScript_GiveTea:: @ 816FAE5 removeitem ITEM_TEA, 1 - goto EventScript_16FAF0 + goto Route7_EastEntrance_EventScript_GuardDrinkTea end -EventScript_16FAF0:: @ 816FAF0 - msgbox gUnknown_819E307 +Route7_EastEntrance_EventScript_GuardDrinkTea:: @ 816FAF0 + msgbox Route7_EastEntrance_Text_ThatTeaLooksTasty closemessage compare VAR_TEMP_1, 0 - call_if_eq EventScript_16FB29 + call_if_eq Route7_EastEntrance_WalkToGuardTop compare VAR_TEMP_1, 1 - call_if_eq EventScript_16FB34 + call_if_eq Route7_EastEntrance_WalkToGuardMid compare VAR_TEMP_1, 2 - call_if_eq EventScript_16FB3F - msgbox gUnknown_819E32D + call_if_eq Route7_EastEntrance_WalkToGuardBottom + msgbox Route7_EastEntrance_Text_ThanksIllShareTeaWithGuards setvar VAR_MAP_SCENE_ROUTE5_ROUTE6_ROUTE7_ROUTE8_GATES, 1 releaseall end -EventScript_16FB29:: @ 816FB29 - applymovement OBJ_EVENT_ID_PLAYER, Movement_16FB4F +Route7_EastEntrance_WalkToGuardTop:: @ 816FB29 + applymovement OBJ_EVENT_ID_PLAYER, Route7_EastEntrance_Movement_WalkToGuardTop waitmovement 0 return -EventScript_16FB34:: @ 816FB34 - applymovement OBJ_EVENT_ID_PLAYER, Movement_16FB4A +Route7_EastEntrance_WalkToGuardMid:: @ 816FB34 + applymovement OBJ_EVENT_ID_PLAYER, Route7_EastEntrance_Movement_WalkToGuardMid waitmovement 0 return -EventScript_16FB3F:: @ 816FB3F - applymovement OBJ_EVENT_ID_PLAYER, Movement_16FB4C +Route7_EastEntrance_WalkToGuardBottom:: @ 816FB3F + applymovement OBJ_EVENT_ID_PLAYER, Route7_EastEntrance_Movement_WalkToGuardBottom waitmovement 0 return -Movement_16FB4A:: @ 816FB4A +Route7_EastEntrance_Movement_WalkToGuardMid:: @ 816FB4A walk_up step_end -Movement_16FB4C:: @ 816FB4C +Route7_EastEntrance_Movement_WalkToGuardBottom:: @ 816FB4C walk_up walk_up step_end -Movement_16FB4F:: @ 816FB4F +Route7_EastEntrance_Movement_WalkToGuardTop:: @ 816FB4F walk_in_place_up step_end -Movement_16FB51:: @ 816FB51 +Route7_EastEntrance_Movement_BlockPlayerEntry:: @ 816FB51 walk_left step_end diff --git a/data/maps/Route7_EastEntrance/text.inc b/data/maps/Route7_EastEntrance/text.inc index 94db43e94..ec98a5867 100644 --- a/data/maps/Route7_EastEntrance/text.inc +++ b/data/maps/Route7_EastEntrance/text.inc @@ -1,13 +1,13 @@ -gUnknown_819E2B7:: @ 819E2B7 +Route7_EastEntrance_Text_ThirstyOnGuardDuty:: @ 819E2B7 .string "I'm on guard duty.\n" .string "Gee, I'm thirsty, though!\p" .string "Oh, wait there, the road's closed.$" -gUnknown_819E307:: @ 819E307 +Route7_EastEntrance_Text_ThatTeaLooksTasty:: @ 819E307 .string "Oh, that TEA…\n" .string "It looks awfully tasty…$" -gUnknown_819E32D:: @ 819E32D +Route7_EastEntrance_Text_ThanksIllShareTeaWithGuards:: @ 819E32D .string "Huh? I can have this drink?\n" .string "Gee, thanks!\l" .string "… …\l" @@ -21,6 +21,6 @@ gUnknown_819E32D:: @ 819E32D .string "I'll share this TEA with the other\n" .string "guards!$" -gUnknown_819E3D9:: @ 819E3D9 +Route7_EastEntrance_Text_HiHowsItGoing:: @ 819E3D9 .string "Hi, how's it going?$" diff --git a/data/maps/Route8/map.json b/data/maps/Route8/map.json index 7ed8e635d..ffc181a4d 100644 --- a/data/maps/Route8/map.json +++ b/data/maps/Route8/map.json @@ -6,14 +6,16 @@ "region_map_section": "MAPSEC_ROUTE_8", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "map": "MAP_SAFFRON_CITY_CLASSIC", + "map": "MAP_SAFFRON_CITY_CONNECTION", "offset": -10, "direction": "left" }, @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 62, "y": 14, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 6, - "script": "Route8_EventScript_1AA1D5", + "script": "Route8_EventScript_Julia", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 55, "y": 15, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route8_EventScript_1AA30B", + "script": "Route8_EventScript_Rich", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 51, "y": 6, "elevation": 3, @@ -60,11 +62,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "Route8_EventScript_1AA251", + "script": "Route8_EventScript_Glenn", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 29, "y": 3, "elevation": 3, @@ -73,11 +75,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route8_EventScript_1AA11B", + "script": "Route8_EventScript_Paige", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 29, "y": 4, "elevation": 3, @@ -86,11 +88,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 6, - "script": "Route8_EventScript_1AA28F", + "script": "Route8_EventScript_Leslie", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 29, "y": 5, "elevation": 3, @@ -99,11 +101,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route8_EventScript_1AA159", + "script": "Route8_EventScript_Andrea", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 29, "y": 6, "elevation": 3, @@ -112,11 +114,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 6, - "script": "Route8_EventScript_1AA197", + "script": "Route8_EventScript_Megan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 21, "y": 3, "elevation": 3, @@ -125,11 +127,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route8_EventScript_1AA2CD", + "script": "Route8_EventScript_Stan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 9, "y": 6, "elevation": 3, @@ -138,11 +140,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "Route8_EventScript_1AA213", + "script": "Route8_EventScript_Aidan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 33, "y": 15, "elevation": 3, @@ -151,11 +153,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 47, "y": 12, "elevation": 3, @@ -164,11 +166,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_13" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 40, "y": 3, "elevation": 3, @@ -177,11 +179,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route8_EventScript_1AA349", + "script": "Route8_EventScript_Eli", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 41, "y": 3, "elevation": 3, @@ -190,11 +192,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route8_EventScript_1AA38F", + "script": "Route8_EventScript_Anne", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 14, "y": 16, "elevation": 3, @@ -203,11 +205,11 @@ "movement_range_y": 2, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route8_EventScript_1AA3D5", + "script": "Route8_EventScript_Ricardo", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 24, "y": 17, "elevation": 3, @@ -216,7 +218,7 @@ "movement_range_y": 5, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route8_EventScript_1AA413", + "script": "Route8_EventScript_Jaren", "flag": "0" } ], @@ -239,11 +241,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 16, "y": 5, "elevation": 0, - "script": "Route8_EventScript_167FC6" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route8_EventScript_UndergroundPathSign" }, { "type": "hidden_item", diff --git a/data/maps/Route8/scripts.inc b/data/maps/Route8/scripts.inc index c0f7475f3..93e0aa38a 100644 --- a/data/maps/Route8/scripts.inc +++ b/data/maps/Route8/scripts.inc @@ -1,6 +1,6 @@ Route8_MapScripts:: @ 8167FC5 .byte 0 -Route8_EventScript_167FC6:: @ 8167FC6 - msgbox gUnknown_8184576, MSGBOX_SIGN +Route8_EventScript_UndergroundPathSign:: @ 8167FC6 + msgbox Route8_Text_UndergroundPathSign, MSGBOX_SIGN end diff --git a/data/maps/Route8/text.inc b/data/maps/Route8/text.inc index 83f725c6a..c9891575c 100644 --- a/data/maps/Route8/text.inc +++ b/data/maps/Route8/text.inc @@ -1,110 +1,162 @@ -Text_1840C5:: @ 81840C5 +Route8_Text_AidanIntro:: @ 81840C5 .string "You look good at POKéMON, but how\n" .string "is your chemistry grade?$" -Text_184100:: @ 8184100 +Route8_Text_AidanDefeat:: @ 8184100 .string "Ow!\n" .string "Meltdown!$" -Text_18410E:: @ 818410E +Route8_Text_AidanPostBattle:: @ 818410E .string "I am better at school than this!$" -Text_18412F:: @ 818412F +Route8_Text_StanIntro:: @ 818412F .string "All right!\n" .string "Let's play a game!$" -Text_18414D:: @ 818414D +Route8_Text_StanDefeat:: @ 818414D .string "Drat!\n" .string "Came up short!$" -Text_184162:: @ 8184162 +Route8_Text_StanPostBattle:: @ 8184162 .string "Things didn't work today.$" -Text_18417C:: @ 818417C +Route8_Text_GlennIntro:: @ 818417C .string "You should be informed.\n" .string "You need strategy to win at this!$" -Text_1841B6:: @ 81841B6 +Route8_Text_GlennDefeat:: @ 81841B6 .string "It's not logical!$" -Text_1841C8:: @ 81841C8 +Route8_Text_GlennPostBattle:: @ 81841C8 .string "Go with GRIMER first…and…\n" .string "…and…then…$" -Text_1841ED:: @ 81841ED +Route8_Text_PaigeIntro:: @ 81841ED .string "I like NIDORAN, so I collect them!$" -Text_184210:: @ 8184210 +Route8_Text_PaigeDefeat:: @ 8184210 .string "Why?\n" .string "Why??$" -Text_18421B:: @ 818421B +Route8_Text_PaigePostBattle:: @ 818421B .string "When POKéMON grow up, they get\n" .string "ugly! They shouldn't evolve.$" -Text_184257:: @ 8184257 +Route8_Text_LeslieIntro:: @ 8184257 .string "School is fun, but so are POKéMON.$" -Text_18427A:: @ 818427A +Route8_Text_LeslieDefeat:: @ 818427A .string "You made it clear to me that\n" .string "I should stick with school.$" -Text_1842B3:: @ 81842B3 +Route8_Text_LesliePostBattle:: @ 81842B3 .string "I was planning on getting some\n" .string "fresh air for a change, but…\p" .string "We're stuck here because of the\n" .string "gates at SAFFRON.$" -Text_184321:: @ 8184321 +Route8_Text_AndreaIntro:: @ 8184321 .string "MEOWTH is so cute, meow, meow,\n" .string "meow!$" -Text_184346:: @ 8184346 +Route8_Text_AndreaDefeat:: @ 8184346 .string "Meeeeyow!$" -Text_184350:: @ 8184350 +Route8_Text_AndreaPostBattle:: @ 8184350 .string "I think PIDGEY and RATTATA are\n" .string "cute, too!$" -Text_18437A:: @ 818437A +Route8_Text_MeganIntro:: @ 818437A .string "We must look silly standing here\n" .string "like this.$" -Text_1843A6:: @ 81843A6 +Route8_Text_MeganDefeat:: @ 81843A6 .string "Look what you did to my poor, cute\n" .string "POKéMON!$" -Text_1843D2:: @ 81843D2 +Route8_Text_MeganPostBattle:: @ 81843D2 .string "SAFFRON's gatekeeper won't let us\n" .string "go through.\p" .string "I know he's doing his job, but I\n" .string "think he's mean.$" -Text_184432:: @ 8184432 +Route8_Text_RichIntro:: @ 8184432 .string "I'm a rambling, gaming dude!$" -Text_18444F:: @ 818444F +Route8_Text_RichDefeat:: @ 818444F .string "Missed the big chance!$" -Text_184466:: @ 8184466 +Route8_Text_RichPostBattle:: @ 8184466 .string "Playing games and POKéMON are like\n" .string "eating peanuts! I just can't stop!$" -Text_1844AC:: @ 81844AC +Route8_Text_JuliaIntro:: @ 81844AC .string "What's a cute, round, and fluffy\n" .string "POKéMON?$" -Text_1844D6:: @ 81844D6 +Route8_Text_JuliaDefeat:: @ 81844D6 .string "Stop!\p" .string "Don't be so mean to my CLEFAIRY!$" -Text_1844FD:: @ 81844FD +Route8_Text_JuliaPostBattle:: @ 81844FD .string "I read that CLEFAIRY evolves when\n" .string "it's exposed to a MOON STONE.\p" .string "I read that in a POKéMON JOURNAL.\n" .string "I wonder if it's true?$" -gUnknown_8184576:: @ 8184576 +Route8_Text_UndergroundPathSign:: @ 8184576 .string "UNDERGROUND PATH\n" .string "CELADON CITY - LAVENDER TOWN$" +Route8_Text_EliIntro:: @ 81845A4 + .string "ELI: Twin power is fantastic.\n" + .string "Did you know?$" + +Route8_Text_EliDefeat:: @ 81845D0 + .string "ELI: But…\n" + .string "We used our twin power…$" + +Route8_Text_EliPostBattle:: @ 81845F2 + .string "ELI: I caught my POKéMON with\n" + .string "ANNE!$" + +Route8_Text_EliNotEnoughMons:: @ 8184616 + .string "ELI: We can't battle if you don't\n" + .string "have two POKéMON.$" + +Route8_Text_AnneIntro:: @ 818464A + .string "ANNE: We'll shock you with our twin\n" + .string "power!$" + +Route8_Text_AnneDefeat:: @ 8184675 + .string "ANNE: Our twin power…$" + +Route8_Text_AnnePostBattle:: @ 818468B + .string "ANNE: I'm raising POKéMON with\n" + .string "ELI.$" + +Route8_Text_AnneNotEnoughMons:: @ 81846AF + .string "ANNE: Hi, hi! Let's battle!\n" + .string "But bring two POKéMON.$" + +Route8_Text_RicardoIntro:: @ 81846E2 + .string "My bike's acting up, man.$" + +Route8_Text_RicardoDefeat:: @ 81846FC + .string "Aww, man.\n" + .string "I'm not into this.$" + +Route8_Text_RicardoPostBattle:: @ 8184719 + .string "I got grass caught up in my\n" + .string "spokes, man.$" + +Route8_Text_JarenIntro:: @ 8184742 + .string "Clear the way, or I'll run you\n" + .string "down!$" + +Route8_Text_JarenDefeat:: @ 8184767 + .string "You for real, kid?$" + +Route8_Text_JarenPostBattle:: @ 818477A + .string "Don't think you're all special and\n" + .string "all just because of this.$" diff --git a/data/maps/Route8_WestEntrance/map.json b/data/maps/Route8_WestEntrance/map.json index eb6b26e0f..b0ebba722 100644 --- a/data/maps/Route8_WestEntrance/map.json +++ b/data/maps/Route8_WestEntrance/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_ROUTE_8", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 1, - "unknown_19": 2, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_POLICEMAN", + "graphics_id": "OBJ_EVENT_GFX_POLICEMAN", "x": 6, "y": 2, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route8_WestEntrance_EventScript_16FB54", + "script": "Route8_WestEntrance_EventScript_Guard", "flag": "0" } ], @@ -65,7 +67,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE5_ROUTE6_ROUTE7_ROUTE8_GATES", "var_value": 0, - "script": "Route8_WestEntrance_EventScript_16FB5D" + "script": "Route8_WestEntrance_EventScript_GuardTriggerTop" }, { "type": "trigger", @@ -74,7 +76,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE5_ROUTE6_ROUTE7_ROUTE8_GATES", "var_value": 0, - "script": "Route8_WestEntrance_EventScript_16FB69" + "script": "Route8_WestEntrance_EventScript_GuardTriggerMid" }, { "type": "trigger", @@ -83,7 +85,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE5_ROUTE6_ROUTE7_ROUTE8_GATES", "var_value": 0, - "script": "Route8_WestEntrance_EventScript_16FB75" + "script": "Route8_WestEntrance_EventScript_GuardTriggerBottom" } ], "bg_events": [] diff --git a/data/maps/Route8_WestEntrance/scripts.inc b/data/maps/Route8_WestEntrance/scripts.inc index df9d1035c..1b36e9a15 100644 --- a/data/maps/Route8_WestEntrance/scripts.inc +++ b/data/maps/Route8_WestEntrance/scripts.inc @@ -1,97 +1,99 @@ Route8_WestEntrance_MapScripts:: @ 816FB53 .byte 0 -Route8_WestEntrance_EventScript_16FB54:: @ 816FB54 - msgbox gUnknown_819E50F, MSGBOX_NPC +Route8_WestEntrance_EventScript_Guard:: @ 816FB54 + msgbox Route8_WestEntrance_Text_HiHowsItGoing, MSGBOX_NPC end -Route8_WestEntrance_EventScript_16FB5D:: @ 816FB5D +Route8_WestEntrance_EventScript_GuardTriggerTop:: @ 816FB5D lockall setvar VAR_TEMP_1, 0 - goto EventScript_16FB81 + goto Route8_WestEntrance_EventScript_GuardTrigger end -Route8_WestEntrance_EventScript_16FB69:: @ 816FB69 +Route8_WestEntrance_EventScript_GuardTriggerMid:: @ 816FB69 lockall setvar VAR_TEMP_1, 1 - goto EventScript_16FB81 + goto Route8_WestEntrance_EventScript_GuardTrigger end -Route8_WestEntrance_EventScript_16FB75:: @ 816FB75 +Route8_WestEntrance_EventScript_GuardTriggerBottom:: @ 816FB75 lockall setvar VAR_TEMP_1, 2 - goto EventScript_16FB81 + goto Route8_WestEntrance_EventScript_GuardTrigger end -EventScript_16FB81:: @ 816FB81 +Route8_WestEntrance_EventScript_GuardTrigger:: @ 816FB81 textcolor 0 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestUp waitmovement 0 - goto_if_set FLAG_GOT_TEA, EventScript_16FBAB - msgbox gUnknown_819E3ED + goto_if_set FLAG_GOT_TEA, Route8_WestEntrance_EventScript_GiveTea + msgbox Route8_WestEntrance_Text_ThirstyOnGuardDuty closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_16FC2D + applymovement OBJ_EVENT_ID_PLAYER, Route8_WestEntrance_Movement_BlockPlayerEntry waitmovement 0 releaseall end -EventScript_16FBAB:: @ 816FBAB +Route8_WestEntrance_EventScript_GiveTea:: @ 816FBAB removeitem ITEM_TEA, 1 - goto EventScript_16FBCC + goto Route8_WestEntrance_EventScript_GuardDrinkTea end -EventScript_16FBB6:: @ 816FBB6 +@ Unused +Route8_WestEntrance_EventScript_GiveSodaPop:: @ 816FBB6 removeitem ITEM_SODA_POP, 1 - goto EventScript_16FBCC + goto Route8_WestEntrance_EventScript_GuardDrinkTea end -EventScript_16FBC1:: @ 816FBC1 +@ Unused +Route8_WestEntrance_EventScript_GiveLemonade:: @ 816FBC1 removeitem ITEM_LEMONADE, 1 - goto EventScript_16FBCC + goto Route8_WestEntrance_EventScript_GuardDrinkTea end -EventScript_16FBCC:: @ 816FBCC - msgbox gUnknown_819E43D +Route8_WestEntrance_EventScript_GuardDrinkTea:: @ 816FBCC + msgbox Route8_WestEntrance_Text_ThatTeaLooksTasty closemessage compare VAR_TEMP_1, 0 - call_if_eq EventScript_16FC05 + call_if_eq Route8_WestEntrance_EventScript_WalkToGuardTop compare VAR_TEMP_1, 1 - call_if_eq EventScript_16FC10 + call_if_eq Route8_WestEntrance_EventScript_WalkToGuardMid compare VAR_TEMP_1, 2 - call_if_eq EventScript_16FC1B - msgbox gUnknown_819E463 + call_if_eq Route8_WestEntrance_EventScript_WalkToGuardBottom + msgbox Route8_WestEntrance_Text_ThanksIllShareTeaWithGuards setvar VAR_MAP_SCENE_ROUTE5_ROUTE6_ROUTE7_ROUTE8_GATES, 1 releaseall end -EventScript_16FC05:: @ 816FC05 - applymovement OBJ_EVENT_ID_PLAYER, Movement_16FC2B +Route8_WestEntrance_EventScript_WalkToGuardTop:: @ 816FC05 + applymovement OBJ_EVENT_ID_PLAYER, Route8_WestEntrance_Movement_WalkToGuardTop waitmovement 0 return -EventScript_16FC10:: @ 816FC10 - applymovement OBJ_EVENT_ID_PLAYER, Movement_16FC26 +Route8_WestEntrance_EventScript_WalkToGuardMid:: @ 816FC10 + applymovement OBJ_EVENT_ID_PLAYER, Route8_WestEntrance_Movement_WalkToGuardMid waitmovement 0 return -EventScript_16FC1B:: @ 816FC1B - applymovement OBJ_EVENT_ID_PLAYER, Movement_16FC28 +Route8_WestEntrance_EventScript_WalkToGuardBottom:: @ 816FC1B + applymovement OBJ_EVENT_ID_PLAYER, Route8_WestEntrance_Movement_WalkToGuardBottom waitmovement 0 return -Movement_16FC26:: @ 816FC26 +Route8_WestEntrance_Movement_WalkToGuardMid:: @ 816FC26 walk_up step_end -Movement_16FC28:: @ 816FC28 +Route8_WestEntrance_Movement_WalkToGuardBottom:: @ 816FC28 walk_up walk_up step_end -Movement_16FC2B:: @ 816FC2B +Route8_WestEntrance_Movement_WalkToGuardTop:: @ 816FC2B walk_in_place_up step_end -Movement_16FC2D:: @ 816FC2D +Route8_WestEntrance_Movement_BlockPlayerEntry:: @ 816FC2D walk_right step_end diff --git a/data/maps/Route8_WestEntrance/text.inc b/data/maps/Route8_WestEntrance/text.inc index 58e2ee8ef..3c0be19e1 100644 --- a/data/maps/Route8_WestEntrance/text.inc +++ b/data/maps/Route8_WestEntrance/text.inc @@ -1,13 +1,13 @@ -gUnknown_819E3ED:: @ 819E3ED +Route8_WestEntrance_Text_ThirstyOnGuardDuty:: @ 819E3ED .string "I'm on guard duty.\n" .string "Gee, I'm thirsty, though!\p" .string "Oh, wait there, the road's closed.$" -gUnknown_819E43D:: @ 819E43D +Route8_WestEntrance_Text_ThatTeaLooksTasty:: @ 819E43D .string "Oh, that TEA…\n" .string "It looks awfully tasty…$" -gUnknown_819E463:: @ 819E463 +Route8_WestEntrance_Text_ThanksIllShareTeaWithGuards:: @ 819E463 .string "Huh? I can have this drink?\n" .string "Gee, thanks!\l" .string "… …\l" @@ -21,6 +21,6 @@ gUnknown_819E463:: @ 819E463 .string "I'll share this TEA with the other\n" .string "guards!$" -gUnknown_819E50F:: @ 819E50F +Route8_WestEntrance_Text_HiHowsItGoing:: @ 819E50F .string "Hi, how's it going?$" diff --git a/data/maps/Route9/map.json b/data/maps/Route9/map.json index 24e5c3c4f..4bf88e47c 100644 --- a/data/maps/Route9/map.json +++ b/data/maps/Route9/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_9", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_CERULEAN_CITY", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 14, "y": 10, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route9_EventScript_1A9E71", + "script": "Route9_EventScript_Alicia", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 20, "y": 17, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "Route9_EventScript_1A9F69", + "script": "Route9_EventScript_Jeremy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 61, "y": 16, "elevation": 3, @@ -60,11 +62,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route9_EventScript_1A9EED", + "script": "Route9_EventScript_Alan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CAMPER", + "graphics_id": "OBJ_EVENT_GFX_CAMPER", "x": 26, "y": 7, "elevation": 3, @@ -73,11 +75,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route9_EventScript_1A9DF5", + "script": "Route9_EventScript_Chris", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BUG_CATCHER", + "graphics_id": "OBJ_EVENT_GFX_BUG_CATCHER", "x": 26, "y": 1, "elevation": 3, @@ -86,11 +88,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "Route9_EventScript_1A9D79", + "script": "Route9_EventScript_Brent", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BUG_CATCHER", + "graphics_id": "OBJ_EVENT_GFX_BUG_CATCHER", "x": 49, "y": 7, "elevation": 3, @@ -99,11 +101,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "Route9_EventScript_1A9DB7", + "script": "Route9_EventScript_Conner", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 53, "y": 2, "elevation": 3, @@ -112,11 +114,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "Route9_EventScript_1A9F2B", + "script": "Route9_EventScript_Brice", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 60, "y": 9, "elevation": 3, @@ -125,11 +127,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "Route9_EventScript_1A9EAF", + "script": "Route9_EventScript_Caitlin", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CAMPER", + "graphics_id": "OBJ_EVENT_GFX_CAMPER", "x": 36, "y": 6, "elevation": 3, @@ -138,11 +140,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "Route9_EventScript_1A9E33", + "script": "Route9_EventScript_Drew", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 2, "y": 8, "elevation": 3, @@ -151,11 +153,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 12, "y": 17, "elevation": 3, @@ -168,7 +170,7 @@ "flag": "FLAG_HIDE_ROUTE9_TM40" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 65, "y": 17, "elevation": 3, @@ -185,11 +187,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 29, "y": 7, "elevation": 0, - "script": "Route9_EventScript_167FD0" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "Route9_EventScript_RouteSign" }, { "type": "hidden_item", diff --git a/data/maps/Route9/scripts.inc b/data/maps/Route9/scripts.inc index 1b48cd68e..bd4be2115 100644 --- a/data/maps/Route9/scripts.inc +++ b/data/maps/Route9/scripts.inc @@ -1,6 +1,6 @@ Route9_MapScripts:: @ 8167FCF .byte 0 -Route9_EventScript_167FD0:: @ 8167FD0 - msgbox gUnknown_8184B66, MSGBOX_SIGN +Route9_EventScript_RouteSign:: @ 8167FD0 + msgbox Route9_Text_RouteSign, MSGBOX_SIGN end diff --git a/data/maps/Route9/text.inc b/data/maps/Route9/text.inc index 3a4506533..2f3762a87 100644 --- a/data/maps/Route9/text.inc +++ b/data/maps/Route9/text.inc @@ -1,159 +1,106 @@ -Text_1845A4:: @ 81845A4 - .string "ELI: Twin power is fantastic.\n" - .string "Did you know?$" - -Text_1845D0:: @ 81845D0 - .string "ELI: But…\n" - .string "We used our twin power…$" - -Text_1845F2:: @ 81845F2 - .string "ELI: I caught my POKéMON with\n" - .string "ANNE!$" - -Text_184616:: @ 8184616 - .string "ELI: We can't battle if you don't\n" - .string "have two POKéMON.$" - -Text_18464A:: @ 818464A - .string "ANNE: We'll shock you with our twin\n" - .string "power!$" - -Text_184675:: @ 8184675 - .string "ANNE: Our twin power…$" - -Text_18468B:: @ 818468B - .string "ANNE: I'm raising POKéMON with\n" - .string "ELI.$" - -Text_1846AF:: @ 81846AF - .string "ANNE: Hi, hi! Let's battle!\n" - .string "But bring two POKéMON.$" - -Text_1846E2:: @ 81846E2 - .string "My bike's acting up, man.$" - -Text_1846FC:: @ 81846FC - .string "Aww, man.\n" - .string "I'm not into this.$" - -Text_184719:: @ 8184719 - .string "I got grass caught up in my\n" - .string "spokes, man.$" - -Text_184742:: @ 8184742 - .string "Clear the way, or I'll run you\n" - .string "down!$" - -Text_184767:: @ 8184767 - .string "You for real, kid?$" - -Text_18477A:: @ 818477A - .string "Don't think you're all special and\n" - .string "all just because of this.$" - -Text_1847B7:: @ 81847B7 +Route9_Text_AliciaIntro:: @ 81847B7 .string "You have POKéMON with you!\n" .string "You're mine!$" -Text_1847DF:: @ 81847DF +Route9_Text_AliciaDefeat:: @ 81847DF .string "You deceived me…$" -Text_1847F0:: @ 81847F0 +Route9_Text_AliciaPostBattle:: @ 81847F0 .string "The tunnel coming up is pitch-black\n" .string "inside.\p" .string "You'll need FLASH to get through\n" .string "there.$" -Text_184844:: @ 8184844 +Route9_Text_ChrisIntro:: @ 8184844 .string "Who's that walking there with those\n" .string "good-looking POKéMON?$" -Text_18487E:: @ 818487E +Route9_Text_ChrisDefeat:: @ 818487E .string "Out like a light!$" -Text_184890:: @ 8184890 +Route9_Text_ChrisPostBattle:: @ 8184890 .string "Keep walking!$" -Text_18489E:: @ 818489E +Route9_Text_DrewIntro:: @ 818489E .string "I'm taking the ROCK TUNNEL to\n" .string "go to LAVENDER…$" -Text_1848CC:: @ 81848CC +Route9_Text_DrewDefeat:: @ 81848CC .string "Can't measure up…$" -Text_1848DE:: @ 81848DE +Route9_Text_DrewPostBattle:: @ 81848DE .string "Are you off to ROCK TUNNEL, too?$" -Text_1848FF:: @ 81848FF +Route9_Text_CaitlinIntro:: @ 81848FF .string "Don't you dare patronize me!$" -Text_18491C:: @ 818491C +Route9_Text_CaitlinDefeat:: @ 818491C .string "No!\n" .string "You're too much.$" -Text_184931:: @ 8184931 +Route9_Text_CaitlinPostBattle:: @ 8184931 .string "You're obviously talented.\n" .string "Good luck to you!$" -Text_18495E:: @ 818495E +Route9_Text_JeremyIntro:: @ 818495E .string "Bwahaha!\n" .string "Great! I was bored, eh!$" -Text_18497F:: @ 818497F +Route9_Text_JeremyDefeat:: @ 818497F .string "Keep it coming, eh!\p" .string "Oh wait.\n" .string "I'm out of POKéMON!$" -Text_1849B0:: @ 81849B0 +Route9_Text_JeremyPostBattle:: @ 81849B0 .string "You sure had guts standing up to\n" .string "me there, eh?$" -Text_1849DF:: @ 81849DF +Route9_Text_BriceIntro:: @ 81849DF .string "Hahaha!\n" .string "Aren't you a little toughie!$" -Text_184A04:: @ 8184A04 +Route9_Text_BriceDefeat:: @ 8184A04 .string "What's that?$" -Text_184A11:: @ 8184A11 +Route9_Text_BricePostBattle:: @ 8184A11 .string "Hahaha!\n" .string "Kids should be tough!$" -Text_184A2F:: @ 8184A2F +Route9_Text_BrentIntro:: @ 8184A2F .string "I got up early every day to raise\n" .string "my POKéMON from cocoons!$" -Text_184A6A:: @ 8184A6A +Route9_Text_BrentDefeat:: @ 8184A6A .string "WHAT?\p" .string "What a total waste of time!$" -Text_184A8C:: @ 8184A8C +Route9_Text_BrentPostBattle:: @ 8184A8C .string "I have to collect more than bugs\n" .string "to get stronger…$" -Text_184ABE:: @ 8184ABE +Route9_Text_AlanIntro:: @ 8184ABE .string "Hahahaha!\n" .string "Bring it on!$" -Text_184AD5:: @ 8184AD5 +Route9_Text_AlanDefeat:: @ 8184AD5 .string "Hahahaha!\n" .string "You beat me fair!$" -Text_184AF1:: @ 8184AF1 +Route9_Text_AlanPostBattle:: @ 8184AF1 .string "Hahahaha!\n" .string "Us hearty guys always laugh!$" -Text_184B18:: @ 8184B18 +Route9_Text_ConnerIntro:: @ 8184B18 .string "Go, my super BUG POKéMON!$" -Text_184B32:: @ 8184B32 +Route9_Text_ConnerDefeat:: @ 8184B32 .string "My bugs…$" -Text_184B3B:: @ 8184B3B +Route9_Text_ConnerPostBattle:: @ 8184B3B .string "If you don't like BUG POKéMON,\n" .string "you bug me!$" -gUnknown_8184B66:: @ 8184B66 +Route9_Text_RouteSign:: @ 8184B66 .string "ROUTE 9\n" .string "CERULEAN CITY - ROCK TUNNEL$" diff --git a/data/maps/SSAnne_1F_Corridor/map.json b/data/maps/SSAnne_1F_Corridor/map.json index eab4e822a..6aa5b3093 100644 --- a/data/maps/SSAnne_1F_Corridor/map.json +++ b/data/maps/SSAnne_1F_Corridor/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 18, "y": 8, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 12, "y": 9, "elevation": 3, diff --git a/data/maps/SSAnne_1F_Room1/map.json b/data/maps/SSAnne_1F_Room1/map.json index 42c95079b..620977574 100644 --- a/data/maps/SSAnne_1F_Room1/map.json +++ b/data/maps/SSAnne_1F_Room1/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 2, "y": 5, "elevation": 3, diff --git a/data/maps/SSAnne_1F_Room2/map.json b/data/maps/SSAnne_1F_Room2/map.json index 8a779f450..28c48fec7 100644 --- a/data/maps/SSAnne_1F_Room2/map.json +++ b/data/maps/SSAnne_1F_Room2/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 5, "y": 3, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 0, "y": 4, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 2, "y": 6, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 5, "y": 7, "elevation": 3, diff --git a/data/maps/SSAnne_1F_Room3/map.json b/data/maps/SSAnne_1F_Room3/map.json index d610ee30a..1d5bbe3fa 100644 --- a/data/maps/SSAnne_1F_Room3/map.json +++ b/data/maps/SSAnne_1F_Room3/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 3, "y": 4, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WIGGLYTUFF", + "graphics_id": "OBJ_EVENT_GFX_WIGGLYTUFF", "x": 4, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 0, "y": 4, "elevation": 3, diff --git a/data/maps/SSAnne_1F_Room4/map.json b/data/maps/SSAnne_1F_Room4/map.json index 262a1a089..c4a4350e2 100644 --- a/data/maps/SSAnne_1F_Room4/map.json +++ b/data/maps/SSAnne_1F_Room4/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_1", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_1", "x": 2, "y": 4, "elevation": 3, diff --git a/data/maps/SSAnne_1F_Room5/map.json b/data/maps/SSAnne_1F_Room5/map.json index 6cdd3d088..8c35b38af 100644 --- a/data/maps/SSAnne_1F_Room5/map.json +++ b/data/maps/SSAnne_1F_Room5/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 2, "y": 6, "elevation": 3, diff --git a/data/maps/SSAnne_1F_Room6/map.json b/data/maps/SSAnne_1F_Room6/map.json index b9b25ff45..3966857b9 100644 --- a/data/maps/SSAnne_1F_Room6/map.json +++ b/data/maps/SSAnne_1F_Room6/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 3, "y": 5, "elevation": 3, diff --git a/data/maps/SSAnne_1F_Room7/map.json b/data/maps/SSAnne_1F_Room7/map.json index 98496a947..7f0e7b733 100644 --- a/data/maps/SSAnne_1F_Room7/map.json +++ b/data/maps/SSAnne_1F_Room7/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 4, "y": 3, "elevation": 3, diff --git a/data/maps/SSAnne_2F_Corridor/map.json b/data/maps/SSAnne_2F_Corridor/map.json index e3b506027..d355cfc4f 100644 --- a/data/maps/SSAnne_2F_Corridor/map.json +++ b/data/maps/SSAnne_2F_Corridor/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BLUE", + "graphics_id": "OBJ_EVENT_GFX_BLUE", "x": 30, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "FLAG_HIDE_SS_ANNE_RIVAL" }, { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 2, "y": 7, "elevation": 3, diff --git a/data/maps/SSAnne_2F_Room1/map.json b/data/maps/SSAnne_2F_Room1/map.json index 20e221a85..7ddd88682 100644 --- a/data/maps/SSAnne_2F_Room1/map.json +++ b/data/maps/SSAnne_2F_Room1/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 1, "y": 4, "elevation": 3, diff --git a/data/maps/SSAnne_2F_Room1/scripts.inc b/data/maps/SSAnne_2F_Room1/scripts.inc index a31c914c1..f713d6a7a 100644 --- a/data/maps/SSAnne_2F_Room1/scripts.inc +++ b/data/maps/SSAnne_2F_Room1/scripts.inc @@ -7,7 +7,7 @@ SSAnne_2F_Room1_EventScript_Gentleman:: @ 8160C97 message SSAnne_2F_Room1_Text_SleepingMonLookedLikeThis waitmessage setvar VAR_0x8004, SPECIES_SNORLAX - special Special_SetSeenMon + special SetSeenMon drawmonpic SPECIES_SNORLAX, 10, 3 waitbuttonpress erasemonpic diff --git a/data/maps/SSAnne_2F_Room2/map.json b/data/maps/SSAnne_2F_Room2/map.json index df5cf4bc8..8d53e1c37 100644 --- a/data/maps/SSAnne_2F_Room2/map.json +++ b/data/maps/SSAnne_2F_Room2/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_FISHER", + "graphics_id": "OBJ_EVENT_GFX_FISHER", "x": 5, "y": 5, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 1, "y": 4, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 3, "y": 3, "elevation": 0, diff --git a/data/maps/SSAnne_2F_Room3/map.json b/data/maps/SSAnne_2F_Room3/map.json index 8dbb1e408..4143d53e5 100644 --- a/data/maps/SSAnne_2F_Room3/map.json +++ b/data/maps/SSAnne_2F_Room3/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 2, "y": 5, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 3, "y": 2, "elevation": 3, diff --git a/data/maps/SSAnne_2F_Room4/map.json b/data/maps/SSAnne_2F_Room4/map.json index dca8226dd..fcbb580ae 100644 --- a/data/maps/SSAnne_2F_Room4/map.json +++ b/data/maps/SSAnne_2F_Room4/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 0, "y": 5, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 3, "y": 3, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 2, "y": 4, "elevation": 3, diff --git a/data/maps/SSAnne_2F_Room5/map.json b/data/maps/SSAnne_2F_Room5/map.json index 0821d13bd..b1994b17a 100644 --- a/data/maps/SSAnne_2F_Room5/map.json +++ b/data/maps/SSAnne_2F_Room5/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 5, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_BOY", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_BOY", "x": 3, "y": 5, "elevation": 3, diff --git a/data/maps/SSAnne_2F_Room6/map.json b/data/maps/SSAnne_2F_Room6/map.json index 56b6e6201..2e5f08349 100644 --- a/data/maps/SSAnne_2F_Room6/map.json +++ b/data/maps/SSAnne_2F_Room6/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_3", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_3", "x": 1, "y": 4, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_1", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_1", "x": 4, "y": 4, "elevation": 3, diff --git a/data/maps/SSAnne_3F_Corridor/map.json b/data/maps/SSAnne_3F_Corridor/map.json index 7c11905f1..5f3ed8cab 100644 --- a/data/maps/SSAnne_3F_Corridor/map.json +++ b/data/maps/SSAnne_3F_Corridor/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 10, "y": 4, "elevation": 3, diff --git a/data/maps/SSAnne_B1F_Corridor/map.json b/data/maps/SSAnne_B1F_Corridor/map.json index c50752f50..86fe58592 100644 --- a/data/maps/SSAnne_B1F_Corridor/map.json +++ b/data/maps/SSAnne_B1F_Corridor/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/SSAnne_B1F_Room1/map.json b/data/maps/SSAnne_B1F_Room1/map.json index 4608e6c9a..ef9ccb433 100644 --- a/data/maps/SSAnne_B1F_Room1/map.json +++ b/data/maps/SSAnne_B1F_Room1/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_FISHER", + "graphics_id": "OBJ_EVENT_GFX_FISHER", "x": 5, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 3, "y": 2, "elevation": 3, diff --git a/data/maps/SSAnne_B1F_Room2/map.json b/data/maps/SSAnne_B1F_Room2/map.json index 31c7d6eb7..da783844a 100644 --- a/data/maps/SSAnne_B1F_Room2/map.json +++ b/data/maps/SSAnne_B1F_Room2/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 3, "y": 5, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 3, "y": 2, "elevation": 3, diff --git a/data/maps/SSAnne_B1F_Room3/map.json b/data/maps/SSAnne_B1F_Room3/map.json index 70237229c..9c2d514d1 100644 --- a/data/maps/SSAnne_B1F_Room3/map.json +++ b/data/maps/SSAnne_B1F_Room3/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 4, "y": 4, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 1, "y": 5, "elevation": 3, diff --git a/data/maps/SSAnne_B1F_Room4/map.json b/data/maps/SSAnne_B1F_Room4/map.json index 8222e4dbc..eca95aa31 100644 --- a/data/maps/SSAnne_B1F_Room4/map.json +++ b/data/maps/SSAnne_B1F_Room4/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 3, "y": 3, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 2, "y": 6, "elevation": 3, diff --git a/data/maps/SSAnne_B1F_Room5/map.json b/data/maps/SSAnne_B1F_Room5/map.json index 5ed5383ea..c19d4c7a0 100644 --- a/data/maps/SSAnne_B1F_Room5/map.json +++ b/data/maps/SSAnne_B1F_Room5/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BOY", + "graphics_id": "OBJ_EVENT_GFX_BOY", "x": 3, "y": 5, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MACHOKE", + "graphics_id": "OBJ_EVENT_GFX_MACHOKE", "x": 2, "y": 5, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 2, "y": 2, "elevation": 0, diff --git a/data/maps/SSAnne_CaptainsOffice/map.json b/data/maps/SSAnne_CaptainsOffice/map.json index 0f79b1014..97fa4067c 100644 --- a/data/maps/SSAnne_CaptainsOffice/map.json +++ b/data/maps/SSAnne_CaptainsOffice/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CAPTAIN", + "graphics_id": "OBJ_EVENT_GFX_CAPTAIN", "x": 5, "y": 4, "elevation": 3, @@ -39,24 +41,27 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 2, "y": 4, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SSAnne_CaptainsOffice_EventScript_Book" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 3, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SSAnne_CaptainsOffice_EventScript_TrashCan" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 2, "y": 3, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SSAnne_CaptainsOffice_EventScript_Book" } ] diff --git a/data/maps/SSAnne_CaptainsOffice/scripts.inc b/data/maps/SSAnne_CaptainsOffice/scripts.inc index d5d976e21..3ccd4fa51 100644 --- a/data/maps/SSAnne_CaptainsOffice/scripts.inc +++ b/data/maps/SSAnne_CaptainsOffice/scripts.inc @@ -10,7 +10,7 @@ SSAnne_CaptainsOffice_EventScript_Captain:: @ 8160B3A waitmessage playfanfare MUS_ME_ASA waitfanfare - call EventScript_1A6675 + call EventScript_RestorePrevTextColor delay 50 applymovement 1, Movement_FacePlayer waitmovement 0 diff --git a/data/maps/SSAnne_Deck/map.json b/data/maps/SSAnne_Deck/map.json index 617a770b3..3ad57f09b 100644 --- a/data/maps/SSAnne_Deck/map.json +++ b/data/maps/SSAnne_Deck/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 12, "y": 10, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 14, "y": 11, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 13, "y": 13, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 6, "y": 9, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 11, "y": 5, "elevation": 3, diff --git a/data/maps/SSAnne_Exterior/map.json b/data/maps/SSAnne_Exterior/map.json index 12c466510..b3805c4f6 100644 --- a/data/maps/SSAnne_Exterior/map.json +++ b/data/maps/SSAnne_Exterior/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SS_ANNE", + "graphics_id": "OBJ_EVENT_GFX_SS_ANNE", "x": 30, "y": 16, "elevation": 1, diff --git a/data/maps/SSAnne_Exterior/scripts.inc b/data/maps/SSAnne_Exterior/scripts.inc index 416c98cd6..84a267ac8 100644 --- a/data/maps/SSAnne_Exterior/scripts.inc +++ b/data/maps/SSAnne_Exterior/scripts.inc @@ -20,7 +20,7 @@ SSAnne_Exterior_ExitSSAnne:: @ 8160859 call_if_ge SSAnne_Exterior_WalkInPlaceDown fadenewbgm MUS_NAMINORI delay 50 - special Special_SSAnneDepartureCutscene + special DoSSAnneDepartureCutscene waitstate removeobject 1 applymovement OBJ_EVENT_ID_PLAYER, SSAnne_Exterior_Movement_Exit diff --git a/data/maps/SSAnne_Kitchen/map.json b/data/maps/SSAnne_Kitchen/map.json index 579f9e9b0..d5ab6e972 100644 --- a/data/maps/SSAnne_Kitchen/map.json +++ b/data/maps/SSAnne_Kitchen/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_S_S_ANNE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CHEF", + "graphics_id": "OBJ_EVENT_GFX_CHEF", "x": 1, "y": 5, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHEF", + "graphics_id": "OBJ_EVENT_GFX_CHEF", "x": 6, "y": 6, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHEF", + "graphics_id": "OBJ_EVENT_GFX_CHEF", "x": 10, "y": 4, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHEF", + "graphics_id": "OBJ_EVENT_GFX_CHEF", "x": 8, "y": 9, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHEF", + "graphics_id": "OBJ_EVENT_GFX_CHEF", "x": 14, "y": 5, "elevation": 3, @@ -79,7 +81,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHEF", + "graphics_id": "OBJ_EVENT_GFX_CHEF", "x": 14, "y": 7, "elevation": 3, @@ -92,7 +94,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHEF", + "graphics_id": "OBJ_EVENT_GFX_CHEF", "x": 14, "y": 9, "elevation": 3, @@ -105,7 +107,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 1, "y": 10, "elevation": 3, diff --git a/data/maps/SafariZone_Center/map.json b/data/maps/SafariZone_Center/map.json index 4dfdda04d..248a277c0 100644 --- a/data/maps/SafariZone_Center/map.json +++ b/data/maps/SafariZone_Center/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_KANTO_SAFARI_ZONE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 24, "y": 15, "elevation": 3, @@ -123,17 +125,19 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 30, "y": 26, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SafariZone_Center_EventScript_RestHouseSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 25, "y": 27, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SafariZone_Center_EventScript_TrainerTips" }, { @@ -147,10 +151,11 @@ "underfoot": false }, { - "type": "bg_event_type_0", + "type": "sign", "x": 33, "y": 20, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SafariZone_Center_EventScript_AreaSign" } ] diff --git a/data/maps/SafariZone_Center_RestHouse/map.json b/data/maps/SafariZone_Center_RestHouse/map.json index fc4cbf67c..7f82c3533 100644 --- a/data/maps/SafariZone_Center_RestHouse/map.json +++ b/data/maps/SafariZone_Center_RestHouse/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_KANTO_SAFARI_ZONE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 3, "y": 4, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_1", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_1", "x": 7, "y": 3, "elevation": 3, diff --git a/data/maps/SafariZone_East/map.json b/data/maps/SafariZone_East/map.json index 5ba1d08dc..c28626f63 100644 --- a/data/maps/SafariZone_East/map.json +++ b/data/maps/SafariZone_East/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_KANTO_SAFARI_ZONE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 13, "y": 12, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "FLAG_HIDE_SAFARI_ZONE_EAST_MAX_POTION" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 37, "y": 15, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "FLAG_HIDE_SAFARI_ZONE_EAST_FULL_RESTORE" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 31, "y": 18, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "FLAG_HIDE_SAFARI_ZONE_EAST_TM11" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 36, "y": 17, "elevation": 4, @@ -120,24 +122,27 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 18, "y": 27, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SafariZone_East_EventScript_AreaSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 43, "y": 15, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SafariZone_East_EventScript_RestHouseSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 17, "y": 8, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SafariZone_East_EventScript_TrainerTips" } ] diff --git a/data/maps/SafariZone_East_RestHouse/map.json b/data/maps/SafariZone_East_RestHouse/map.json index d491771d0..4871abfde 100644 --- a/data/maps/SafariZone_East_RestHouse/map.json +++ b/data/maps/SafariZone_East_RestHouse/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_KANTO_SAFARI_ZONE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 3, "y": 5, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 6, "y": 3, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 7, "y": 3, "elevation": 3, diff --git a/data/maps/SafariZone_North/map.json b/data/maps/SafariZone_North/map.json index 79b4a1d2f..ef8631c8f 100644 --- a/data/maps/SafariZone_North/map.json +++ b/data/maps/SafariZone_North/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_KANTO_SAFARI_ZONE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 33, "y": 5, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "FLAG_HIDE_SAFARI_ZONE_NORTH_PROTEIN" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 28, "y": 9, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "FLAG_HIDE_SAFARI_ZONE_NORTH_TM47" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 29, "y": 17, "elevation": 3, @@ -149,38 +151,43 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 13, "y": 27, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SafariZone_North_EventScript_TrainerTips1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 23, "y": 31, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SafariZone_North_EventScript_AreaSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 29, "y": 32, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SafariZone_North_EventScript_TrainerTips2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 34, "y": 28, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SafariZone_North_EventScript_TrainerTips3" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 44, "y": 9, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SafariZone_North_EventScript_RestHouseSign" } ] diff --git a/data/maps/SafariZone_North_RestHouse/map.json b/data/maps/SafariZone_North_RestHouse/map.json index 48fc58755..daf988506 100644 --- a/data/maps/SafariZone_North_RestHouse/map.json +++ b/data/maps/SafariZone_North_RestHouse/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_KANTO_SAFARI_ZONE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 3, "y": 4, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 7, "y": 5, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_FISHER", + "graphics_id": "OBJ_EVENT_GFX_FISHER", "x": 6, "y": 2, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 11, "y": 2, "elevation": 3, diff --git a/data/maps/SafariZone_SecretHouse/map.json b/data/maps/SafariZone_SecretHouse/map.json index df02367a4..9843d280f 100644 --- a/data/maps/SafariZone_SecretHouse/map.json +++ b/data/maps/SafariZone_SecretHouse/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_KANTO_SAFARI_ZONE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 6, "y": 5, "elevation": 3, diff --git a/data/maps/SafariZone_West/map.json b/data/maps/SafariZone_West/map.json index cee77b0b3..e56830150 100644 --- a/data/maps/SafariZone_West/map.json +++ b/data/maps/SafariZone_West/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_KANTO_SAFARI_ZONE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 28, "y": 14, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "FLAG_HIDE_SAFARI_ZONE_WEST_GOLD_TEETH" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 17, "y": 13, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "FLAG_HIDE_SAFARI_ZONE_WEST_TM32" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 16, "y": 27, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "FLAG_HIDE_SAFARI_ZONE_WEST_MAX_POTION" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 27, "y": 24, "elevation": 3, @@ -148,31 +150,35 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 27, "y": 9, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SafariZone_West_EventScript_LostTeethNotice" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 36, "y": 10, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SafariZone_West_EventScript_TrainerTips" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 35, "y": 26, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SafariZone_West_EventScript_AreaSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 22, "y": 19, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SafariZone_West_EventScript_RestHouseSign" }, { diff --git a/data/maps/SafariZone_West_RestHouse/map.json b/data/maps/SafariZone_West_RestHouse/map.json index a387fe992..f9da1257b 100644 --- a/data/maps/SafariZone_West_RestHouse/map.json +++ b/data/maps/SafariZone_West_RestHouse/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_KANTO_SAFARI_ZONE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 3, "y": 4, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 2, "y": 2, "elevation": 0, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_F", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_F", "x": 7, "y": 3, "elevation": 3, diff --git a/data/maps/SaffronCity/map.json b/data/maps/SaffronCity/map.json index 9ca5a540e..383be8d28 100644 --- a/data/maps/SaffronCity/map.json +++ b/data/maps/SaffronCity/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_SAFFRON_CITY", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_1", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_TOWN", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ROUTE5", @@ -36,7 +38,7 @@ "connections_no_include": true, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 22, "y": 15, "elevation": 3, @@ -45,11 +47,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_EventScript_16737A", + "script": "SaffronCity_EventScript_RocketGrunt1", "flag": "FLAG_HIDE_SAFFRON_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 26, "y": 16, "elevation": 3, @@ -58,11 +60,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_EventScript_167383", + "script": "SaffronCity_EventScript_RocketGrunt2", "flag": "FLAG_HIDE_SAFFRON_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 46, "y": 13, "elevation": 3, @@ -71,11 +73,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_EventScript_16738C", + "script": "SaffronCity_EventScript_RocketGrunt3", "flag": "FLAG_HIDE_SAFFRON_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 27, "y": 22, "elevation": 3, @@ -84,11 +86,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_EventScript_167395", + "script": "SaffronCity_EventScript_RocketGrunt4", "flag": "FLAG_HIDE_SAFFRON_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 25, "y": 33, "elevation": 3, @@ -97,11 +99,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_EventScript_16739E", + "script": "SaffronCity_EventScript_RocketGrunt5", "flag": "FLAG_HIDE_SAFFRON_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 34, "y": 31, "elevation": 3, @@ -110,11 +112,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_EventScript_1673B9", + "script": "SaffronCity_EventScript_DoorGuardGrunt", "flag": "FLAG_HIDE_SAFFRON_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 30, "y": 39, "elevation": 3, @@ -123,11 +125,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_EventScript_1673B0", + "script": "SaffronCity_EventScript_RocketGrunt7", "flag": "FLAG_HIDE_SAFFRON_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 48, "y": 24, "elevation": 3, @@ -136,11 +138,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_EventScript_1673A7", + "script": "SaffronCity_EventScript_RocketGrunt6", "flag": "FLAG_HIDE_SAFFRON_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 37, "y": 32, "elevation": 3, @@ -149,11 +151,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_EventScript_1673EC", + "script": "SaffronCity_EventScript_Youngster", "flag": "FLAG_HIDE_SAFFRON_CIVILIANS" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 21, "y": 23, "elevation": 3, @@ -162,11 +164,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_EventScript_1673E3", + "script": "SaffronCity_EventScript_WorkerM", "flag": "FLAG_HIDE_SAFFRON_CIVILIANS" }, { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 39, "y": 16, "elevation": 3, @@ -175,11 +177,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_EventScript_16741A", + "script": "SaffronCity_EventScript_Man", "flag": "FLAG_HIDE_SAFFRON_CIVILIANS" }, { - "graphics_id": "OBJECT_EVENT_GFX_BOY", + "graphics_id": "OBJ_EVENT_GFX_BOY", "x": 44, "y": 22, "elevation": 3, @@ -188,11 +190,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_EventScript_1673FE", + "script": "SaffronCity_EventScript_Boy", "flag": "FLAG_HIDE_SAFFRON_CIVILIANS" }, { - "graphics_id": "OBJECT_EVENT_GFX_PIDGEOT", + "graphics_id": "OBJ_EVENT_GFX_PIDGEOT", "x": 45, "y": 22, "elevation": 3, @@ -201,11 +203,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_EventScript_167407", + "script": "SaffronCity_EventScript_Pidgeot", "flag": "FLAG_HIDE_SAFFRON_CIVILIANS" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 32, "y": 39, "elevation": 3, @@ -214,11 +216,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_EventScript_1673F5", + "script": "SaffronCity_EventScript_Lass", "flag": "FLAG_HIDE_SAFFRON_CIVILIANS" }, { - "graphics_id": "OBJECT_EVENT_GFX_BATTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_BATTLE_GIRL", "x": 47, "y": 24, "elevation": 3, @@ -227,7 +229,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_EventScript_1AD03A", + "script": "SaffronCity_EventScript_BattleGirl", "flag": "FLAG_HIDE_POSTGAME_GOSSIPERS" } ], @@ -243,7 +245,7 @@ "x": 22, "y": 14, "elevation": 0, - "dest_map": "MAP_SAFFRON_CITY_HOUSE1_1F", + "dest_map": "MAP_SAFFRON_CITY_COPYCATS_HOUSE_1F", "dest_warp_id": 1 }, { @@ -264,7 +266,7 @@ "x": 27, "y": 21, "elevation": 0, - "dest_map": "MAP_SAFFRON_CITY_HOUSE2", + "dest_map": "MAP_SAFFRON_CITY_HOUSE", "dest_warp_id": 1 }, { @@ -285,7 +287,7 @@ "x": 43, "y": 38, "elevation": 0, - "dest_map": "MAP_SAFFRON_CITY_HOUSE3", + "dest_map": "MAP_SAFFRON_CITY_MR_PSYCHICS_HOUSE", "dest_warp_id": 1 }, { @@ -341,67 +343,76 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 29, "y": 14, "elevation": 0, - "script": "SaffronCity_EventScript_167423" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SaffronCity_EventScript_CitySign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 42, "y": 14, "elevation": 0, - "script": "SaffronCity_EventScript_16742C" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SaffronCity_EventScript_DojoSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 13, "y": 25, "elevation": 0, - "script": "SaffronCity_EventScript_167471" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SaffronCity_EventScript_SilphProductSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 18, "y": 30, "elevation": 0, - "script": "SaffronCity_EventScript_167456" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SaffronCity_EventScript_TrainerTips2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 29, "y": 31, "elevation": 0, - "script": "SaffronCity_EventScript_16745F" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SaffronCity_EventScript_SilphCoSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 54, "y": 25, "elevation": 0, - "script": "SaffronCity_EventScript_16744D" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SaffronCity_EventScript_TrainerTips1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 50, "y": 14, "elevation": 0, - "script": "SaffronCity_EventScript_167435" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SaffronCity_EventScript_GymSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 40, "y": 38, "elevation": 0, - "script": "SaffronCity_EventScript_167468" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SaffronCity_EventScript_MrPsychicsHouseSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 49, "y": 22, "elevation": 0, - "script": "SaffronCity_EventScript_16747A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SaffronCity_EventScript_TrainerFanClubSign" } ] } diff --git a/data/maps/SaffronCity/scripts.inc b/data/maps/SaffronCity/scripts.inc index 53d697ff0..4b74cd43d 100644 --- a/data/maps/SaffronCity/scripts.inc +++ b/data/maps/SaffronCity/scripts.inc @@ -4,121 +4,121 @@ SaffronCity_MapScripts:: @ 816735F SaffronCity_OnTransition:: @ 8167365 setworldmapflag FLAG_WORLD_MAP_SAFFRON_CITY - call_if_unset FLAG_RESCUED_MR_FUJI, EventScript_167372 + call_if_unset FLAG_RESCUED_MR_FUJI, SaffronCity_EventScript_MoveDoorGuardGrunt end -EventScript_167372:: @ 8167372 +SaffronCity_EventScript_MoveDoorGuardGrunt:: @ 8167372 setobjectxyperm 6, 33, 31 return -SaffronCity_EventScript_16737A:: @ 816737A - msgbox gUnknown_8181003, MSGBOX_NPC +SaffronCity_EventScript_RocketGrunt1:: @ 816737A + msgbox SaffronCity_Text_WhatDoYouWantGetLost, MSGBOX_NPC end -SaffronCity_EventScript_167383:: @ 8167383 - msgbox gUnknown_818101F, MSGBOX_NPC +SaffronCity_EventScript_RocketGrunt2:: @ 8167383 + msgbox SaffronCity_Text_BossTakeTownForTeamRocket, MSGBOX_NPC end -SaffronCity_EventScript_16738C:: @ 816738C - msgbox gUnknown_818105A, MSGBOX_NPC +SaffronCity_EventScript_RocketGrunt3:: @ 816738C + msgbox SaffronCity_Text_DontGetDefiantOrIllHurtYou, MSGBOX_NPC end -SaffronCity_EventScript_167395:: @ 8167395 - msgbox gUnknown_8181087, MSGBOX_NPC +SaffronCity_EventScript_RocketGrunt4:: @ 8167395 + msgbox SaffronCity_Text_SaffronBelongsToTeamRocket, MSGBOX_NPC end -SaffronCity_EventScript_16739E:: @ 816739E - msgbox gUnknown_81810A7, MSGBOX_NPC +SaffronCity_EventScript_RocketGrunt5:: @ 816739E + msgbox SaffronCity_Text_CriminalLifeMakesMeFeelAlive, MSGBOX_NPC end -SaffronCity_EventScript_1673A7:: @ 81673A7 - msgbox gUnknown_81810D5, MSGBOX_NPC +SaffronCity_EventScript_RocketGrunt6:: @ 81673A7 + msgbox SaffronCity_Text_WatchWhereYoureWalking, MSGBOX_NPC end -SaffronCity_EventScript_1673B0:: @ 81673B0 - msgbox gUnknown_81810F5, MSGBOX_NPC +SaffronCity_EventScript_RocketGrunt7:: @ 81673B0 + msgbox SaffronCity_Text_WeCanExploitMonsAroundWorld, MSGBOX_NPC end -SaffronCity_EventScript_1673B9:: @ 81673B9 +SaffronCity_EventScript_DoorGuardGrunt:: @ 81673B9 lock - goto_if_set FLAG_RESCUED_MR_FUJI, EventScript_1673D7 + goto_if_set FLAG_RESCUED_MR_FUJI, SaffronCity_EventScript_DoorGuardAsleep applymovement 6, Movement_FacePlayer waitmovement 0 - msgbox gUnknown_81812CA + msgbox SaffronCity_Text_ImASecurityGuard release end -EventScript_1673D7:: @ 81673D7 +SaffronCity_EventScript_DoorGuardAsleep:: @ 81673D7 textcolor 3 - msgbox gUnknown_8181302 + msgbox SaffronCity_Text_HesTakingASnooze release end -SaffronCity_EventScript_1673E3:: @ 81673E3 - msgbox gUnknown_8181159, MSGBOX_NPC +SaffronCity_EventScript_WorkerM:: @ 81673E3 + msgbox SaffronCity_Text_YouBeatTeamRocket, MSGBOX_NPC end -SaffronCity_EventScript_1673EC:: @ 81673EC - msgbox gUnknown_8181189, MSGBOX_NPC +SaffronCity_EventScript_Youngster:: @ 81673EC + msgbox SaffronCity_Text_SafeToGoOutAgain, MSGBOX_NPC end -SaffronCity_EventScript_1673F5:: @ 81673F5 - msgbox gUnknown_81811BF, MSGBOX_NPC +SaffronCity_EventScript_Lass:: @ 81673F5 + msgbox SaffronCity_Text_PeopleComingBackToSaffron, MSGBOX_NPC end -SaffronCity_EventScript_1673FE:: @ 81673FE - msgbox gUnknown_8181225, MSGBOX_NPC +SaffronCity_EventScript_Boy:: @ 81673FE + msgbox SaffronCity_Text_FlewHereOnPidgeot, MSGBOX_NPC end -SaffronCity_EventScript_167407:: @ 8167407 +SaffronCity_EventScript_Pidgeot:: @ 8167407 lock faceplayer waitse playmoncry SPECIES_PIDGEOT, 0 - msgbox gUnknown_8181286 + msgbox SaffronCity_Text_Pidgeot waitmoncry release end -SaffronCity_EventScript_16741A:: @ 816741A - msgbox gUnknown_8181299, MSGBOX_NPC +SaffronCity_EventScript_Man:: @ 816741A + msgbox SaffronCity_Text_SawRocketBossEscaping, MSGBOX_NPC end -SaffronCity_EventScript_167423:: @ 8167423 - msgbox gUnknown_8181326, MSGBOX_SIGN +SaffronCity_EventScript_CitySign:: @ 8167423 + msgbox SaffronCity_Text_CitySign, MSGBOX_SIGN end -SaffronCity_EventScript_16742C:: @ 816742C - msgbox gUnknown_8181354, MSGBOX_SIGN +SaffronCity_EventScript_DojoSign:: @ 816742C + msgbox SaffronCity_Text_FightingDojo, MSGBOX_SIGN end -SaffronCity_EventScript_167435:: @ 8167435 +SaffronCity_EventScript_GymSign:: @ 8167435 lockall famechecker FAMECHECKER_SABRINA, 0 - msgbox gUnknown_8181362 + msgbox SaffronCity_Text_GymSign releaseall end -SaffronCity_EventScript_16744D:: @ 816744D - msgbox gUnknown_81813AA, MSGBOX_SIGN +SaffronCity_EventScript_TrainerTips1:: @ 816744D + msgbox SaffronCity_Text_FullHealCuresStatus, MSGBOX_SIGN end -SaffronCity_EventScript_167456:: @ 8167456 - msgbox gUnknown_8181452, MSGBOX_SIGN +SaffronCity_EventScript_TrainerTips2:: @ 8167456 + msgbox SaffronCity_Text_GreatBallImprovedCatchRate, MSGBOX_SIGN end -SaffronCity_EventScript_16745F:: @ 816745F - msgbox gUnknown_81814B9, MSGBOX_SIGN +SaffronCity_EventScript_SilphCoSign:: @ 816745F + msgbox SaffronCity_Text_SilphCoSign, MSGBOX_SIGN end -SaffronCity_EventScript_167468:: @ 8167468 - msgbox gUnknown_81814D3, MSGBOX_SIGN +SaffronCity_EventScript_MrPsychicsHouseSign:: @ 8167468 + msgbox SaffronCity_Text_MrPsychicsHouse, MSGBOX_SIGN end -SaffronCity_EventScript_167471:: @ 8167471 - msgbox gUnknown_81814E7, MSGBOX_SIGN +SaffronCity_EventScript_SilphProductSign:: @ 8167471 + msgbox SaffronCity_Text_SilphsLatestProduct, MSGBOX_SIGN end -SaffronCity_EventScript_16747A:: @ 816747A - msgbox gUnknown_8181519, MSGBOX_SIGN +SaffronCity_EventScript_TrainerFanClubSign:: @ 816747A + msgbox SaffronCity_Text_TrainerFanClubSign, MSGBOX_SIGN end diff --git a/data/maps/SaffronCity/text.inc b/data/maps/SaffronCity/text.inc index aaa009647..d3044d14b 100644 --- a/data/maps/SaffronCity/text.inc +++ b/data/maps/SaffronCity/text.inc @@ -1,80 +1,80 @@ -gUnknown_8181003:: @ 8181003 +SaffronCity_Text_WhatDoYouWantGetLost:: @ 8181003 .string "What do you want?\n" .string "Get lost!$" -gUnknown_818101F:: @ 818101F +SaffronCity_Text_BossTakeTownForTeamRocket:: @ 818101F .string "BOSS said he'll take this town\n" .string "in the name of TEAM ROCKET!$" -gUnknown_818105A:: @ 818105A +SaffronCity_Text_DontGetDefiantOrIllHurtYou:: @ 818105A .string "Don't get defiant!\n" .string "Or I'll have to hurt you!$" -gUnknown_8181087:: @ 8181087 +SaffronCity_Text_SaffronBelongsToTeamRocket:: @ 8181087 .string "SAFFRON belongs to TEAM ROCKET!$" -gUnknown_81810A7:: @ 81810A7 +SaffronCity_Text_CriminalLifeMakesMeFeelAlive:: @ 81810A7 .string "My life as a criminal makes me feel\n" .string "so alive!$" -gUnknown_81810D5:: @ 81810D5 +SaffronCity_Text_WatchWhereYoureWalking:: @ 81810D5 .string "Ow!\n" .string "Watch where you're walking!$" -gUnknown_81810F5:: @ 81810F5 +SaffronCity_Text_WeCanExploitMonsAroundWorld:: @ 81810F5 .string "With SILPH under control, we can\n" .string "exploit POKéMON around the world!\p" .string "We'll get stinking rich, yeahah!$" -gUnknown_8181159:: @ 8181159 +SaffronCity_Text_YouBeatTeamRocket:: @ 8181159 .string "You beat TEAM ROCKET all alone?\n" .string "That's amazing!$" -gUnknown_8181189:: @ 8181189 +SaffronCity_Text_SafeToGoOutAgain:: @ 8181189 .string "Yeah! TEAM ROCKET is gone!\n" .string "It's safe to go out again!$" -gUnknown_81811BF:: @ 81811BF +SaffronCity_Text_PeopleComingBackToSaffron:: @ 81811BF .string "People fled from here in droves\n" .string "when those ROCKETS came.\p" .string "They should be flocking back to\n" .string "SAFFRON now.$" -gUnknown_8181225:: @ 8181225 +SaffronCity_Text_FlewHereOnPidgeot:: @ 8181225 .string "I flew here on my PIDGEOT when\n" .string "I read about SILPH.\p" .string "It's already over?\n" .string "I missed the media action…$" -gUnknown_8181286:: @ 8181286 +SaffronCity_Text_Pidgeot:: @ 8181286 .string "PIDGEOT: Bi bibii!$" -gUnknown_8181299:: @ 8181299 +SaffronCity_Text_SawRocketBossEscaping:: @ 8181299 .string "I saw the ROCKET BOSS escaping\n" .string "SILPH's building.$" -gUnknown_81812CA:: @ 81812CA +SaffronCity_Text_ImASecurityGuard:: @ 81812CA .string "I'm a security guard.\p" .string "Suspicious kids I don't allow in!$" -gUnknown_8181302:: @ 8181302 +SaffronCity_Text_HesTakingASnooze:: @ 8181302 .string "…\n" .string "Snore…\p" .string "Hah! He's taking a snooze!$" -gUnknown_8181326:: @ 8181326 +SaffronCity_Text_CitySign:: @ 8181326 .string "SAFFRON CITY\n" .string "Shining, Golden Land of Commerce$" -gUnknown_8181354:: @ 8181354 +SaffronCity_Text_FightingDojo:: @ 8181354 .string "FIGHTING DOJO$" -gUnknown_8181362:: @ 8181362 +SaffronCity_Text_GymSign:: @ 8181362 .string "SAFFRON CITY POKéMON GYM\n" .string "LEADER: SABRINA\l" .string "The Master of PSYCHIC POKéMON!$" -gUnknown_81813AA:: @ 81813AA +SaffronCity_Text_FullHealCuresStatus:: @ 81813AA .string "TRAINER TIPS\p" .string "FULL HEAL cures all ailments like\n" .string "burns, paralysis, poisoning,\l" @@ -82,25 +82,34 @@ gUnknown_81813AA:: @ 81813AA .string "It costs a bit more, but it's more\n" .string "convenient than buying other items.$" -gUnknown_8181452:: @ 8181452 +SaffronCity_Text_GreatBallImprovedCatchRate:: @ 8181452 .string "TRAINER TIPS\p" .string "The new GREAT BALL offers improved\n" .string "catching rates.\p" .string "Try it on those hard-to-catch\n" .string "POKéMON.$" -gUnknown_81814B9:: @ 81814B9 +SaffronCity_Text_SilphCoSign:: @ 81814B9 .string "SILPH CO. OFFICE BUILDING$" -gUnknown_81814D3:: @ 81814D3 +SaffronCity_Text_MrPsychicsHouse:: @ 81814D3 .string "MR. PSYCHIC'S HOUSE$" -gUnknown_81814E7:: @ 81814E7 +SaffronCity_Text_SilphsLatestProduct:: @ 81814E7 .string "SILPH's latest product!\n" .string "Release to be determined…$" -gUnknown_8181519:: @ 8181519 +SaffronCity_Text_TrainerFanClubSign:: @ 8181519 .string "POKéMON TRAINER FAN CLUB\p" .string "Many TRAINERS have scribbled their\n" .string "names on this sign.$" +SaffronCity_Text_HowCanClubNotRecognizeLance:: @ 8181569 + .string "This FAN CLUB…\n" + .string "No one here has a clue!\p" + .string "How could they not recognize\n" + .string "the brilliance that is LANCE?\p" + .string "He stands for justice!\n" + .string "He's cool, and yet passionate!\l" + .string "He's the greatest, LANCE!$" + diff --git a/data/maps/SaffronCity_Classic/scripts.inc b/data/maps/SaffronCity_Classic/scripts.inc deleted file mode 100644 index 26470756d..000000000 --- a/data/maps/SaffronCity_Classic/scripts.inc +++ /dev/null @@ -1,2 +0,0 @@ -SaffronCity_Classic_MapScripts:: @ 8167483 - .byte 0 diff --git a/data/maps/SaffronCity_Classic/map.json b/data/maps/SaffronCity_Connection/map.json similarity index 64% rename from data/maps/SaffronCity_Classic/map.json rename to data/maps/SaffronCity_Connection/map.json index 0a5614975..30bcffa06 100644 --- a/data/maps/SaffronCity_Classic/map.json +++ b/data/maps/SaffronCity_Connection/map.json @@ -1,16 +1,18 @@ { - "id": "MAP_SAFFRON_CITY_CLASSIC", - "name": "SaffronCity_Classic", - "layout": "LAYOUT_SAFFRON_CITY_CLASSIC", + "id": "MAP_SAFFRON_CITY_CONNECTION", + "name": "SaffronCity_Connection", + "layout": "LAYOUT_SAFFRON_CITY_CONNECTION", "music": "MUS_NIBI", "region_map_section": "MAPSEC_SAFFRON_CITY", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_1", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_TOWN", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ROUTE5", diff --git a/data/maps/SaffronCity_Connection/scripts.inc b/data/maps/SaffronCity_Connection/scripts.inc new file mode 100644 index 000000000..94f49eb2d --- /dev/null +++ b/data/maps/SaffronCity_Connection/scripts.inc @@ -0,0 +1,2 @@ +SaffronCity_Connection_MapScripts:: @ 8167483 + .byte 0 diff --git a/data/maps/SaffronCity_House1_1F/map.json b/data/maps/SaffronCity_CopycatsHouse_1F/map.json similarity index 66% rename from data/maps/SaffronCity_House1_1F/map.json rename to data/maps/SaffronCity_CopycatsHouse_1F/map.json index 4f7e0a241..949574481 100644 --- a/data/maps/SaffronCity_House1_1F/map.json +++ b/data/maps/SaffronCity_CopycatsHouse_1F/map.json @@ -1,20 +1,22 @@ { - "id": "MAP_SAFFRON_CITY_HOUSE1_1F", - "name": "SaffronCity_House1_1F", - "layout": "LAYOUT_SAFFRON_CITY_HOUSE1_1F", + "id": "MAP_SAFFRON_CITY_COPYCATS_HOUSE_1F", + "name": "SaffronCity_CopycatsHouse_1F", + "layout": "LAYOUT_SAFFRON_CITY_COPYCATS_HOUSE_1F", "music": "MUS_NIBI", "region_map_section": "MAPSEC_SAFFRON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 8, "y": 4, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_House1_1F_EventScript_16EB40", + "script": "SaffronCity_CopycatsHouse_1F_EventScript_CopycatsDad", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_3", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_3", "x": 3, "y": 3, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_House1_1F_EventScript_16EB37", + "script": "SaffronCity_CopycatsHouse_1F_EventScript_CopycatsMom", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHANSEY", + "graphics_id": "OBJ_EVENT_GFX_CHANSEY", "x": 4, "y": 4, "elevation": 3, @@ -49,7 +51,7 @@ "movement_range_y": 2, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_House1_1F_EventScript_16EB49", + "script": "SaffronCity_CopycatsHouse_1F_EventScript_Chansey", "flag": "0" } ], @@ -79,7 +81,7 @@ "x": 10, "y": 2, "elevation": 3, - "dest_map": "MAP_SAFFRON_CITY_HOUSE1_2F", + "dest_map": "MAP_SAFFRON_CITY_COPYCATS_HOUSE_2F", "dest_warp_id": 0 } ], diff --git a/data/maps/SaffronCity_CopycatsHouse_1F/scripts.inc b/data/maps/SaffronCity_CopycatsHouse_1F/scripts.inc new file mode 100644 index 000000000..e6f779e15 --- /dev/null +++ b/data/maps/SaffronCity_CopycatsHouse_1F/scripts.inc @@ -0,0 +1,20 @@ +SaffronCity_CopycatsHouse_1F_MapScripts:: @ 816EB36 + .byte 0 + +SaffronCity_CopycatsHouse_1F_EventScript_CopycatsMom:: @ 816EB37 + msgbox SaffronCity_CopycatsHouse_1F_Text_DaughterIsSelfCentered, MSGBOX_NPC + end + +SaffronCity_CopycatsHouse_1F_EventScript_CopycatsDad:: @ 816EB40 + msgbox SaffronCity_CopycatsHouse_1F_Text_DaughterLikesToMimicPeople, MSGBOX_NPC + end + +SaffronCity_CopycatsHouse_1F_EventScript_Chansey:: @ 816EB49 + lock + faceplayer + waitse + playmoncry SPECIES_CHANSEY, 0 + msgbox SaffronCity_CopycatsHouse_1F_Text_Chansey + waitmoncry + release + end diff --git a/data/maps/SaffronCity_CopycatsHouse_1F/text.inc b/data/maps/SaffronCity_CopycatsHouse_1F/text.inc new file mode 100644 index 000000000..d7efe0281 --- /dev/null +++ b/data/maps/SaffronCity_CopycatsHouse_1F/text.inc @@ -0,0 +1,13 @@ +SaffronCity_CopycatsHouse_1F_Text_DaughterIsSelfCentered:: @ 819AB9B + .string "My daughter is so self-centered.\n" + .string "She has but a few friends.$" + +SaffronCity_CopycatsHouse_1F_Text_DaughterLikesToMimicPeople:: @ 819ABD7 + .string "My daughter likes to mimic people.\n" + .string "It's rather vexing.\p" + .string "Her mimicry has earned her the\n" + .string "nickname COPYCAT around here.$" + +SaffronCity_CopycatsHouse_1F_Text_Chansey:: @ 819AC4B + .string "CHANSEY: Chaan! Sii!$" + diff --git a/data/maps/SaffronCity_House1_2F/map.json b/data/maps/SaffronCity_CopycatsHouse_2F/map.json similarity index 57% rename from data/maps/SaffronCity_House1_2F/map.json rename to data/maps/SaffronCity_CopycatsHouse_2F/map.json index e7484dfae..f5f6daa56 100644 --- a/data/maps/SaffronCity_House1_2F/map.json +++ b/data/maps/SaffronCity_CopycatsHouse_2F/map.json @@ -1,20 +1,22 @@ { - "id": "MAP_SAFFRON_CITY_HOUSE1_2F", - "name": "SaffronCity_House1_2F", - "layout": "LAYOUT_SAFFRON_CITY_HOUSE1_2F", + "id": "MAP_SAFFRON_CITY_COPYCATS_HOUSE_2F", + "name": "SaffronCity_CopycatsHouse_2F", + "layout": "LAYOUT_SAFFRON_CITY_COPYCATS_HOUSE_2F", "music": "MUS_NIBI", "region_map_section": "MAPSEC_SAFFRON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_DODUO", + "graphics_id": "OBJ_EVENT_GFX_DODUO", "x": 6, "y": 8, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_House1_2F_EventScript_16EB5D", + "script": "SaffronCity_CopycatsHouse_2F_EventScript_Doduo", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PIKACHU", + "graphics_id": "OBJ_EVENT_GFX_PIKACHU", "x": 4, "y": 6, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_House1_2F_EventScript_16EB70", + "script": "SaffronCity_CopycatsHouse_2F_EventScript_Doll", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_JIGGLYPUFF", + "graphics_id": "OBJ_EVENT_GFX_JIGGLYPUFF", "x": 7, "y": 2, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_House1_2F_EventScript_16EB70", + "script": "SaffronCity_CopycatsHouse_2F_EventScript_Doll", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 9, "y": 6, "elevation": 3, @@ -62,7 +64,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_House1_2F_EventScript_16EB7B", + "script": "SaffronCity_CopycatsHouse_2F_EventScript_Copycat", "flag": "0" } ], @@ -71,25 +73,27 @@ "x": 10, "y": 2, "elevation": 3, - "dest_map": "MAP_SAFFRON_CITY_HOUSE1_1F", + "dest_map": "MAP_SAFFRON_CITY_COPYCATS_HOUSE_1F", "dest_warp_id": 3 } ], "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 1, "y": 1, "elevation": 0, - "script": "SaffronCity_House1_2F_EventScript_16EBC9" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SaffronCity_CopycatsHouse_2F_EventScript_Computer" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 3, "y": 5, "elevation": 0, - "script": "SaffronCity_House1_2F_EventScript_16EBD2" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SaffronCity_CopycatsHouse_2F_EventScript_Game" }, { "type": "hidden_item", @@ -97,7 +101,7 @@ "y": 1, "elevation": 0, "item": "ITEM_NUGGET", - "flag": "HIDDEN_ITEM_SAFFRON_CITY_HOUSE1_2F_NUGGET", + "flag": "HIDDEN_ITEM_SAFFRON_CITY_COPYCATS_HOUSE_2F_NUGGET", "quantity": 1, "underfoot": false } diff --git a/data/maps/SaffronCity_CopycatsHouse_2F/scripts.inc b/data/maps/SaffronCity_CopycatsHouse_2F/scripts.inc new file mode 100644 index 000000000..a8e74c94b --- /dev/null +++ b/data/maps/SaffronCity_CopycatsHouse_2F/scripts.inc @@ -0,0 +1,50 @@ +SaffronCity_CopycatsHouse_2F_MapScripts:: @ 816EB5C + .byte 0 + +SaffronCity_CopycatsHouse_2F_EventScript_Doduo:: @ 816EB5D + lock + faceplayer + waitse + playmoncry SPECIES_DODUO, 0 + msgbox SaffronCity_CopycatsHouse_2F_Text_Doduo + waitmoncry + release + end + +SaffronCity_CopycatsHouse_2F_EventScript_Doll:: @ 816EB70 + lock + msgbox SaffronCity_CopycatsHouse_2F_Text_RareMonOnlyDoll + release + end + +SaffronCity_CopycatsHouse_2F_EventScript_Copycat:: @ 816EB7B + goto_if_questlog EventScript_ReleaseEnd + special sub_8112364 + lock + faceplayer + checkitem ITEM_POKE_DOLL, 1 + compare VAR_RESULT, TRUE + goto_if_eq EventScript_MimicTutor + checkplayergender + compare VAR_RESULT, MALE + call_if_eq SaffronCity_CopycatsHouse_2F_EventScript_MimicPlayerMale + compare VAR_RESULT, FEMALE + call_if_eq SaffronCity_CopycatsHouse_2F_EventScript_MimicPlayerFemale + release + end + +SaffronCity_CopycatsHouse_2F_EventScript_MimicPlayerMale:: @ 816EBB7 + msgbox SaffronCity_CopycatsHouse_2F_Text_MimickingFavoriteHobbyMale + return + +SaffronCity_CopycatsHouse_2F_EventScript_MimicPlayerFemale:: @ 816EBC0 + msgbox SaffronCity_CopycatsHouse_2F_Text_MimickingFavoriteHobbyFemale + return + +SaffronCity_CopycatsHouse_2F_EventScript_Computer:: @ 816EBC9 + msgbox SaffronCity_CopycatsHouse_2F_Text_MySecrets, MSGBOX_SIGN + end + +SaffronCity_CopycatsHouse_2F_EventScript_Game:: @ 816EBD2 + msgbox SaffronCity_CopycatsHouse_2F_Text_MarioWearingABucket, MSGBOX_SIGN + end diff --git a/data/maps/SaffronCity_House1_2F/text.inc b/data/maps/SaffronCity_CopycatsHouse_2F/text.inc similarity index 81% rename from data/maps/SaffronCity_House1_2F/text.inc rename to data/maps/SaffronCity_CopycatsHouse_2F/text.inc index 32a666e18..978b660f5 100644 --- a/data/maps/SaffronCity_House1_2F/text.inc +++ b/data/maps/SaffronCity_CopycatsHouse_2F/text.inc @@ -1,4 +1,4 @@ -gUnknown_819AC60:: @ 819AC60 +SaffronCity_CopycatsHouse_2F_Text_MimickingFavoriteHobbyMale:: @ 819AC60 .string "{PLAYER}: Hi!\n" .string "Do you like POKéMON?\p" .string "{PLAYER}: Uh, no, I just asked you.\p" @@ -7,7 +7,7 @@ gUnknown_819AC60:: @ 819AC60 .string "COPYCAT: Hmm? Quit mimicking?\n" .string "But, that's my favorite hobby!$" -gUnknown_819ACF1:: @ 819ACF1 +SaffronCity_CopycatsHouse_2F_Text_MimickingFavoriteHobbyFemale:: @ 819ACF1 .string "{PLAYER}: Hi.\n" .string "You must like POKéMON.\p" .string "{PLAYER}: No, not me.\n" @@ -51,10 +51,10 @@ Text_MimicTaughtFemale:: @ 819AE90 .string "COPYCAT: You bet!\n" .string "It's a scream!$" -Text_19AF1A:: @ 819AF1A +SaffronCity_CopycatsHouse_2F_Text_TooMuchInBag:: @ 819AF1A .string "にもつが いっぱいね!$" -Text_19AF26:: @ 819AF26 +SaffronCity_CopycatsHouse_2F_Text_MimickingFavoriteHobbyMaleJP:: @ 819AF26 .string "{PLAYER}“やあ! こんにちは!\n" .string "きみ ポケモン すきかい?\p" .string "{PLAYER}“ぼく じゃなくって\n" @@ -66,7 +66,7 @@ Text_19AF26:: @ 819AF26 .string "だって あたし \n" .string "ものまね しゅみ なんだ もん!”$" -Text_19AFB0:: @ 819AFB0 +SaffronCity_CopycatsHouse_2F_Text_MimickingFavoriteHobbyFemaleJP:: @ 819AFB0 .string "{PLAYER}“こんにちは!\n" .string "ポケモン すきなのね?\p" .string "{PLAYER}“わたし じゃなくって\n" @@ -78,23 +78,25 @@ Text_19AFB0:: @ 819AFB0 .string "だって あたし\n" .string "ものまね しゅみ なんだ もん!$" -gUnknown_819B030:: @ 819B030 +SaffronCity_CopycatsHouse_2F_Text_Doduo:: @ 819B030 .string "DODUO: Giiih!\p" .string "PRETTY MIRROR LOOK AT ME,\n" .string "SEE HOW PRETTY I CAN BE?$" -gUnknown_819B071:: @ 819B071 +SaffronCity_CopycatsHouse_2F_Text_RareMonOnlyDoll:: @ 819B071 .string "This is a rare POKéMON!\n" .string "Huh? It's only a doll!$" -gUnknown_819B0A0:: @ 819B0A0 +SaffronCity_CopycatsHouse_2F_Text_MarioWearingABucket:: @ 819B0A0 .string "A game with MARIO wearing a bucket\n" .string "on his head!$" -gUnknown_819B0D0:: @ 819B0D0 +SaffronCity_CopycatsHouse_2F_Text_MySecrets:: @ 819B0D0 .string "…\p" .string "My Secrets!\p" .string "Skill: Mimicry!\n" .string "Hobby: Collecting dolls!\l" .string "Favorite POKéMON: CLEFAIRY!$" +SaffronCity_CopycatsHouse_2F_Text_HuhCantSee:: @ 819B123 + .string "? みえないぞ‥$" diff --git a/data/maps/SaffronCity_Dojo/map.json b/data/maps/SaffronCity_Dojo/map.json index d6e1d9d4d..f0f8641ff 100644 --- a/data/maps/SaffronCity_Dojo/map.json +++ b/data/maps/SaffronCity_Dojo/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SAFFRON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BLACKBELT", + "graphics_id": "OBJ_EVENT_GFX_BLACKBELT", "x": 11, "y": 10, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 7, - "script": "SaffronCity_Dojo_EventScript_16ED46", + "script": "SaffronCity_Dojo_EventScript_Hitoshi", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BLACKBELT", + "graphics_id": "OBJ_EVENT_GFX_BLACKBELT", "x": 1, "y": 10, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 7, - "script": "SaffronCity_Dojo_EventScript_16ED5D", + "script": "SaffronCity_Dojo_EventScript_Hideki", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BLACKBELT", + "graphics_id": "OBJ_EVENT_GFX_BLACKBELT", "x": 11, "y": 8, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 7, - "script": "SaffronCity_Dojo_EventScript_16ED74", + "script": "SaffronCity_Dojo_EventScript_Aaron", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BLACKBELT", + "graphics_id": "OBJ_EVENT_GFX_BLACKBELT", "x": 1, "y": 8, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 7, - "script": "SaffronCity_Dojo_EventScript_16ED8B", + "script": "SaffronCity_Dojo_EventScript_Mike", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BLACKBELT", + "graphics_id": "OBJ_EVENT_GFX_BLACKBELT", "x": 6, "y": 5, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "SaffronCity_Dojo_EventScript_16EDA2", + "script": "SaffronCity_Dojo_EventScript_MasterKoichi", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 5, "y": 3, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_Dojo_EventScript_16EC00", + "script": "SaffronCity_Dojo_EventScript_HitmonleeBall", "flag": "FLAG_HIDE_DOJO_HITMONLEE_BALL" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 7, "y": 3, "elevation": 3, @@ -101,7 +103,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_Dojo_EventScript_16EC46", + "script": "SaffronCity_Dojo_EventScript_HitmonchanBall", "flag": "FLAG_HIDE_DOJO_HITMONCHAN_BALL" } ], @@ -136,7 +138,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_SAFFRON_CITY_DOJO", "var_value": 0, - "script": "SaffronCity_Dojo_EventScript_16EBDC" + "script": "SaffronCity_Dojo_EventScript_TriggerMasterBattleLeft" }, { "type": "trigger", @@ -145,37 +147,41 @@ "elevation": 3, "var": "VAR_MAP_SCENE_SAFFRON_CITY_DOJO", "var_value": 0, - "script": "SaffronCity_Dojo_EventScript_16EBEE" + "script": "SaffronCity_Dojo_EventScript_TriggerMasterBattleRight" } ], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 3, "y": 13, "elevation": 0, - "script": "SaffronCity_Dojo_EventScript_16ED2B" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SaffronCity_Dojo_EventScript_Statue" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 9, "y": 13, "elevation": 0, - "script": "SaffronCity_Dojo_EventScript_16ED2B" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SaffronCity_Dojo_EventScript_Statue" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 2, "elevation": 0, - "script": "SaffronCity_Dojo_EventScript_16ED34" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SaffronCity_Dojo_EventScript_LeftScroll" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 7, "y": 2, "elevation": 0, - "script": "SaffronCity_Dojo_EventScript_16ED3D" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SaffronCity_Dojo_EventScript_RightScroll" } ] } diff --git a/data/maps/SaffronCity_Dojo/scripts.inc b/data/maps/SaffronCity_Dojo/scripts.inc index d5c3e6603..1dd8b31e1 100644 --- a/data/maps/SaffronCity_Dojo/scripts.inc +++ b/data/maps/SaffronCity_Dojo/scripts.inc @@ -1,157 +1,159 @@ +.equ LOCALID_KARATE_MASTER, 5 + SaffronCity_Dojo_MapScripts:: @ 816EBDB .byte 0 -SaffronCity_Dojo_EventScript_16EBDC:: @ 816EBDC +SaffronCity_Dojo_EventScript_TriggerMasterBattleLeft:: @ 816EBDC lockall setvar VAR_MAP_SCENE_SAFFRON_CITY_DOJO, 1 - applymovement 5, Movement_WalkInPlaceFastestLeft + applymovement LOCALID_KARATE_MASTER, Movement_WalkInPlaceFastestLeft waitmovement 0 releaseall end -SaffronCity_Dojo_EventScript_16EBEE:: @ 816EBEE +SaffronCity_Dojo_EventScript_TriggerMasterBattleRight:: @ 816EBEE lockall setvar VAR_MAP_SCENE_SAFFRON_CITY_DOJO, 1 - applymovement 5, Movement_WalkInPlaceFastestRight + applymovement LOCALID_KARATE_MASTER, Movement_WalkInPlaceFastestRight waitmovement 0 releaseall end -SaffronCity_Dojo_EventScript_16EC00:: @ 816EC00 +SaffronCity_Dojo_EventScript_HitmonleeBall:: @ 816EC00 lock faceplayer - goto_if_set FLAG_GOT_HITMON_FROM_DOJO, EventScript_16EC3C + goto_if_set FLAG_GOT_HITMON_FROM_DOJO, SaffronCity_Dojo_EventScript_AlreadyGotHitmon drawmonpic SPECIES_HITMONLEE, 10, 3 setvar VAR_TEMP_1, SPECIES_HITMONLEE - applymovement 5, Movement_WalkInPlaceFastestUp + applymovement LOCALID_KARATE_MASTER, Movement_WalkInPlaceFastestUp waitmovement 0 textcolor 0 - msgbox gUnknown_819B44E, MSGBOX_YESNO - call EventScript_1A6675 + msgbox SaffronCity_Dojo_Text_YouWantHitmonlee, MSGBOX_YESNO + call EventScript_RestorePrevTextColor compare VAR_RESULT, YES - goto_if_eq EventScript_16EC82 + goto_if_eq SaffronCity_Dojo_EventScript_GiveHitmon erasemonpic release end -EventScript_16EC3C:: @ 816EC3C - msgbox gUnknown_819B4E1 +SaffronCity_Dojo_EventScript_AlreadyGotHitmon:: @ 816EC3C + msgbox SaffronCity_Dojo_Text_BetterNotGetGreedy release end -SaffronCity_Dojo_EventScript_16EC46:: @ 816EC46 +SaffronCity_Dojo_EventScript_HitmonchanBall:: @ 816EC46 lock faceplayer - goto_if_set FLAG_GOT_HITMON_FROM_DOJO, EventScript_16EC3C + goto_if_set FLAG_GOT_HITMON_FROM_DOJO, SaffronCity_Dojo_EventScript_AlreadyGotHitmon drawmonpic SPECIES_HITMONCHAN, 10, 3 setvar VAR_TEMP_1, SPECIES_HITMONCHAN - applymovement 5, Movement_WalkInPlaceFastestUp + applymovement LOCALID_KARATE_MASTER, Movement_WalkInPlaceFastestUp waitmovement 0 textcolor 0 - msgbox gUnknown_819B49E, MSGBOX_YESNO - call EventScript_1A6675 + msgbox SaffronCity_Dojo_Text_YouWantHitmonchan, MSGBOX_YESNO + call EventScript_RestorePrevTextColor compare VAR_RESULT, YES - goto_if_eq EventScript_16EC82 + goto_if_eq SaffronCity_Dojo_EventScript_GiveHitmon erasemonpic release end -EventScript_16EC82:: @ 816EC82 +SaffronCity_Dojo_EventScript_GiveHitmon:: @ 816EC82 erasemonpic givemon VAR_TEMP_1, 25, ITEM_NONE compare VAR_RESULT, 0 - goto_if_eq EventScript_16ECB5 + goto_if_eq SaffronCity_Dojo_EventScript_ReceivedHitmonParty compare VAR_RESULT, 1 - goto_if_eq EventScript_16ECEC + goto_if_eq SaffronCity_Dojo_EventScript_ReceivedHitmonPC compare VAR_RESULT, 2 goto_if_eq EventScript_NoMoreRoomForPokemon release end -EventScript_16ECB5:: @ 816ECB5 +SaffronCity_Dojo_EventScript_ReceivedHitmonParty:: @ 816ECB5 removeobject VAR_LAST_TALKED getspeciesname 0, VAR_TEMP_1 playfanfare MUS_FANFA1 - message Text_19B473 + message SaffronCity_Dojo_Text_ReceivedMonFromKarateMaster waitmessage waitfanfare setflag FLAG_GOT_HITMON_FROM_DOJO msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_16ED29 + goto_if_eq SaffronCity_Dojo_EventScript_EndGiveMon call EventScript_GetGiftMonPartySlot call EventScript_ChangePokemonNickname - goto EventScript_16ED29 + goto SaffronCity_Dojo_EventScript_EndGiveMon end -EventScript_16ECEC:: @ 816ECEC +SaffronCity_Dojo_EventScript_ReceivedHitmonPC:: @ 816ECEC removeobject VAR_LAST_TALKED getspeciesname 0, VAR_TEMP_1 playfanfare MUS_FANFA1 - message Text_19B473 + message SaffronCity_Dojo_Text_ReceivedMonFromKarateMaster waitmessage waitfanfare setflag FLAG_GOT_HITMON_FROM_DOJO msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_16ED1E + goto_if_eq SaffronCity_Dojo_EventScript_TransferredHitmonToPC call EventScript_NameReceivedBoxMon - goto EventScript_16ED1E + goto SaffronCity_Dojo_EventScript_TransferredHitmonToPC end -EventScript_16ED1E:: @ 816ED1E +SaffronCity_Dojo_EventScript_TransferredHitmonToPC:: @ 816ED1E call EventScript_TransferredToPC - goto EventScript_16ED29 + goto SaffronCity_Dojo_EventScript_EndGiveMon end -EventScript_16ED29:: @ 816ED29 +SaffronCity_Dojo_EventScript_EndGiveMon:: @ 816ED29 release end -SaffronCity_Dojo_EventScript_16ED2B:: @ 816ED2B - msgbox gUnknown_819B52E, MSGBOX_SIGN +SaffronCity_Dojo_EventScript_Statue:: @ 816ED2B + msgbox SaffronCity_Dojo_Text_FightingDojo, MSGBOX_SIGN end -SaffronCity_Dojo_EventScript_16ED34:: @ 816ED34 - msgbox gUnknown_819B4F8, MSGBOX_SIGN +SaffronCity_Dojo_EventScript_LeftScroll:: @ 816ED34 + msgbox SaffronCity_Dojo_Text_EnemiesOnEverySide, MSGBOX_SIGN end -SaffronCity_Dojo_EventScript_16ED3D:: @ 816ED3D - msgbox gUnknown_819B50F, MSGBOX_SIGN +SaffronCity_Dojo_EventScript_RightScroll:: @ 816ED3D + msgbox SaffronCity_Dojo_Text_GoesAroundComesAround, MSGBOX_SIGN end -SaffronCity_Dojo_EventScript_16ED46:: @ 816ED46 - trainerbattle_single TRAINER_BLACK_BELT_HITOSHI, Text_19B3DF, Text_19B40F - msgbox gUnknown_819B41F, MSGBOX_AUTOCLOSE +SaffronCity_Dojo_EventScript_Hitoshi:: @ 816ED46 + trainerbattle_single TRAINER_BLACK_BELT_HITOSHI, SaffronCity_Dojo_Text_HitoshiIntro, SaffronCity_Dojo_Text_HitoshiDefeat + msgbox SaffronCity_Dojo_Text_HitoshiPostBattle, MSGBOX_AUTOCLOSE end -SaffronCity_Dojo_EventScript_16ED5D:: @ 816ED5D - trainerbattle_single TRAINER_BLACK_BELT_HIDEKI, Text_19B2E0, Text_19B2FD - msgbox gUnknown_819B30F, MSGBOX_AUTOCLOSE +SaffronCity_Dojo_EventScript_Hideki:: @ 816ED5D + trainerbattle_single TRAINER_BLACK_BELT_HIDEKI, SaffronCity_Dojo_Text_HidekiIntro, SaffronCity_Dojo_Text_HidekiDefeat + msgbox SaffronCity_Dojo_Text_HidekiPostBattle, MSGBOX_AUTOCLOSE end -SaffronCity_Dojo_EventScript_16ED74:: @ 816ED74 - trainerbattle_single TRAINER_BLACK_BELT_AARON, Text_19B341, Text_19B396 - msgbox gUnknown_819B3AC, MSGBOX_AUTOCLOSE +SaffronCity_Dojo_EventScript_Aaron:: @ 816ED74 + trainerbattle_single TRAINER_BLACK_BELT_AARON, SaffronCity_Dojo_Text_AaronIntro, SaffronCity_Dojo_Text_AaronDefeat + msgbox SaffronCity_Dojo_Text_AaronPostBattle, MSGBOX_AUTOCLOSE end -SaffronCity_Dojo_EventScript_16ED8B:: @ 816ED8B - trainerbattle_single TRAINER_BLACK_BELT_MIKE, Text_19B275, Text_19B292 - msgbox gUnknown_819B29D, MSGBOX_AUTOCLOSE +SaffronCity_Dojo_EventScript_Mike:: @ 816ED8B + trainerbattle_single TRAINER_BLACK_BELT_MIKE, SaffronCity_Dojo_Text_MikeIntro, SaffronCity_Dojo_Text_MikeDefeat + msgbox SaffronCity_Dojo_Text_MikePostBattle, MSGBOX_AUTOCLOSE end -SaffronCity_Dojo_EventScript_16EDA2:: @ 816EDA2 - trainerbattle_single TRAINER_BLACK_BELT_KOICHI, Text_19B12C, Text_19B193, EventScript_16EDD0 - goto_if_set FLAG_GOT_HITMON_FROM_DOJO, EventScript_16EDC6 - msgbox gUnknown_819B1A7, MSGBOX_AUTOCLOSE +SaffronCity_Dojo_EventScript_MasterKoichi:: @ 816EDA2 + trainerbattle_single TRAINER_BLACK_BELT_KOICHI, SaffronCity_Dojo_Text_MasterKoichiIntro, SaffronCity_Dojo_Text_MasterKoichiDefeat, SaffronCity_Dojo_EventScript_DefeatedMasterKoichi + goto_if_set FLAG_GOT_HITMON_FROM_DOJO, SaffronCity_Dojo_EventScript_MasterKoichiAlreadyGotHitmon + msgbox SaffronCity_Dojo_Text_ChoosePrizedFightingMon, MSGBOX_AUTOCLOSE end -EventScript_16EDC6:: @ 816EDC6 - msgbox gUnknown_819B24C +SaffronCity_Dojo_EventScript_MasterKoichiAlreadyGotHitmon:: @ 816EDC6 + msgbox SaffronCity_Dojo_Text_StayAndTrainWithUs release end -EventScript_16EDD0:: @ 816EDD0 +SaffronCity_Dojo_EventScript_DefeatedMasterKoichi:: @ 816EDD0 setvar VAR_MAP_SCENE_SAFFRON_CITY_DOJO, 1 release end diff --git a/data/maps/SaffronCity_Dojo/text.inc b/data/maps/SaffronCity_Dojo/text.inc index d85b5a843..9c73ffcb9 100644 --- a/data/maps/SaffronCity_Dojo/text.inc +++ b/data/maps/SaffronCity_Dojo/text.inc @@ -1,7 +1,4 @@ -Text_19B123:: @ 819B123 - .string "? みえないぞ‥$" - -Text_19B12C:: @ 819B12C +SaffronCity_Dojo_Text_MasterKoichiIntro:: @ 819B12C .string "Grunt!\p" .string "I am the KARATE MASTER!\n" .string "I am the LEADER here!\p" @@ -9,11 +6,11 @@ Text_19B12C:: @ 819B12C .string "Expect no mercy!\p" .string "Fwaaa!$" -Text_19B193:: @ 819B193 +SaffronCity_Dojo_Text_MasterKoichiDefeat:: @ 819B193 .string "Hwa!\n" .string "Arrgh! Beaten!$" -gUnknown_819B1A7:: @ 819B1A7 +SaffronCity_Dojo_Text_ChoosePrizedFightingMon:: @ 819B1A7 .string "Indeed, I have lost!\p" .string "But, I beseech you, do not take\n" .string "our emblem as your trophy!\p" @@ -21,85 +18,85 @@ gUnknown_819B1A7:: @ 819B1A7 .string "FIGHTING POKéMON!\p" .string "Choose whichever one you like!$" -gUnknown_819B24C:: @ 819B24C +SaffronCity_Dojo_Text_StayAndTrainWithUs:: @ 819B24C .string "Grunt!\n" .string "Stay and train at karate with us!$" -Text_19B275:: @ 819B275 +SaffronCity_Dojo_Text_MikeIntro:: @ 819B275 .string "Hoargh!\n" .string "Take your shoes off!$" -Text_19B292:: @ 819B292 +SaffronCity_Dojo_Text_MikeDefeat:: @ 819B292 .string "I give up!$" -gUnknown_819B29D:: @ 819B29D +SaffronCity_Dojo_Text_MikePostBattle:: @ 819B29D .string "You wait 'til you see our MASTER!\n" .string "I'm a small fry compared to him!$" -Text_19B2E0:: @ 819B2E0 +SaffronCity_Dojo_Text_HidekiIntro:: @ 819B2E0 .string "I hear you're good!\n" .string "Show me!$" -Text_19B2FD:: @ 819B2FD +SaffronCity_Dojo_Text_HidekiDefeat:: @ 819B2FD .string "Judge!\n" .string "One point!$" -gUnknown_819B30F:: @ 819B30F +SaffronCity_Dojo_Text_HidekiPostBattle:: @ 819B30F .string "Our MASTER is a pro fighter.\n" .string "Be prepared to lose!$" -Text_19B341:: @ 819B341 +SaffronCity_Dojo_Text_AaronIntro:: @ 819B341 .string "Hiyah!\n" .string "I have no fear for anything tough!\p" .string "I shatter boulders for training\n" .string "every day!$" -Text_19B396:: @ 819B396 +SaffronCity_Dojo_Text_AaronDefeat:: @ 819B396 .string "Yow!\n" .string "Stubbed fingers!$" -gUnknown_819B3AC:: @ 819B3AC +SaffronCity_Dojo_Text_AaronPostBattle:: @ 819B3AC .string "The only thing that frightens us is\n" .string "psychic power!$" -Text_19B3DF:: @ 819B3DF +SaffronCity_Dojo_Text_HitoshiIntro:: @ 819B3DF .string "Hwaah!\p" .string "You're trespassing in our\n" .string "FIGHTING DOJO!$" -Text_19B40F:: @ 819B40F +SaffronCity_Dojo_Text_HitoshiDefeat:: @ 819B40F .string "Oof!\n" .string "I give up!$" -gUnknown_819B41F:: @ 819B41F +SaffronCity_Dojo_Text_HitoshiPostBattle:: @ 819B41F .string "The prime fighters across the land\n" .string "train here.$" -gUnknown_819B44E:: @ 819B44E +SaffronCity_Dojo_Text_YouWantHitmonlee:: @ 819B44E .string "You want the hard-kicking\n" .string "HITMONLEE?$" -Text_19B473:: @ 819B473 +SaffronCity_Dojo_Text_ReceivedMonFromKarateMaster:: @ 819B473 .string "{PLAYER} received the {STR_VAR_1}\n" .string "from the KARATE MASTER.$" -gUnknown_819B49E:: @ 819B49E +SaffronCity_Dojo_Text_YouWantHitmonchan:: @ 819B49E .string "You want the piston-punching\n" .string "HITMONCHAN?$" -Text_19B4C7:: @ 819B4C7 +SaffronCity_Dojo_Text_ReceivedMonFromKarateMaster2:: @ 819B4C7 .string "{PLAYER}は カラテ だいおう から\n" .string "{STR_VAR_1}を もらった!$" -gUnknown_819B4E1:: @ 819B4E1 +SaffronCity_Dojo_Text_BetterNotGetGreedy:: @ 819B4E1 .string "Better not get greedy…$" -gUnknown_819B4F8:: @ 819B4F8 +SaffronCity_Dojo_Text_EnemiesOnEverySide:: @ 819B4F8 .string "Enemies on every side!$" -gUnknown_819B50F:: @ 819B50F +SaffronCity_Dojo_Text_GoesAroundComesAround:: @ 819B50F .string "What goes around comes around.$" -gUnknown_819B52E:: @ 819B52E +SaffronCity_Dojo_Text_FightingDojo:: @ 819B52E .string "FIGHTING DOJO$" diff --git a/data/maps/SaffronCity_Gym/map.json b/data/maps/SaffronCity_Gym/map.json index cfbf00b36..7d99f45c0 100644 --- a/data/maps/SaffronCity_Gym/map.json +++ b/data/maps/SaffronCity_Gym/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SAFFRON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 1, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_1", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_M", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_M", "x": 24, "y": 18, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SaffronCity_Gym_EventScript_16EEC3", + "script": "SaffronCity_Gym_EventScript_Cameron", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_M", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_M", "x": 24, "y": 2, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SaffronCity_Gym_EventScript_16EE88", + "script": "SaffronCity_Gym_EventScript_Johan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_M", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_M", "x": 4, "y": 2, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SaffronCity_Gym_EventScript_16EEDA", + "script": "SaffronCity_Gym_EventScript_Preston", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHANNELER", + "graphics_id": "OBJ_EVENT_GFX_CHANNELER", "x": 14, "y": 2, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SaffronCity_Gym_EventScript_16EEF1", + "script": "SaffronCity_Gym_EventScript_Amanda", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHANNELER", + "graphics_id": "OBJ_EVENT_GFX_CHANNELER", "x": 4, "y": 10, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SaffronCity_Gym_EventScript_16EF08", + "script": "SaffronCity_Gym_EventScript_Stacy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHANNELER", + "graphics_id": "OBJ_EVENT_GFX_CHANNELER", "x": 4, "y": 18, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SaffronCity_Gym_EventScript_16EF1F", + "script": "SaffronCity_Gym_EventScript_Tasha", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SABRINA", + "graphics_id": "OBJ_EVENT_GFX_SABRINA", "x": 14, "y": 11, "elevation": 3, @@ -101,11 +103,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_Gym_EventScript_16EDD8", + "script": "SaffronCity_Gym_EventScript_Sabrina", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_M", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_M", "x": 24, "y": 10, "elevation": 3, @@ -114,11 +116,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SaffronCity_Gym_EventScript_16EE9F", + "script": "SaffronCity_Gym_EventScript_Tyron", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GYM_GUY", + "graphics_id": "OBJ_EVENT_GFX_GYM_GUY", "x": 15, "y": 20, "elevation": 3, @@ -127,7 +129,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_Gym_EventScript_16EF36", + "script": "SaffronCity_Gym_EventScript_GymGuy", "flag": "0" } ], @@ -367,18 +369,20 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 20, "elevation": 0, - "script": "SaffronCity_Gym_EventScript_16EF55" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SaffronCity_Gym_EventScript_GymStatue" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 16, "y": 20, "elevation": 0, - "script": "SaffronCity_Gym_EventScript_16EF55" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SaffronCity_Gym_EventScript_GymStatue" } ] } diff --git a/data/maps/SaffronCity_Gym/scripts.inc b/data/maps/SaffronCity_Gym/scripts.inc index afe863e89..8b4542fab 100644 --- a/data/maps/SaffronCity_Gym/scripts.inc +++ b/data/maps/SaffronCity_Gym/scripts.inc @@ -1,97 +1,97 @@ SaffronCity_Gym_MapScripts:: @ 816EDD7 .byte 0 -SaffronCity_Gym_EventScript_16EDD8:: @ 816EDD8 +SaffronCity_Gym_EventScript_Sabrina:: @ 816EDD8 famechecker FAMECHECKER_SABRINA, FCPICKSTATE_COLORED, UpdatePickStateFromSpecialVar8005 - trainerbattle_single TRAINER_LEADER_SABRINA, Text_19B53C, Text_19B602, EventScript_16EE0A, NO_MUSIC - goto_if_unset FLAG_GOT_TM04_FROM_SABRINA, EventScript_16EE3D - msgbox gUnknown_819B7F2 + trainerbattle_single TRAINER_LEADER_SABRINA, SaffronCity_Gym_Text_SabrinaIntro, SaffronCity_Gym_Text_SabrinaDefeat, SaffronCity_Gym_EventScript_DefeatedSabrina, NO_MUSIC + goto_if_unset FLAG_GOT_TM04_FROM_SABRINA, SaffronCity_Gym_EventScript_GiveTM04 + msgbox SaffronCity_Gym_Text_ExplainTM04 release end -EventScript_16EE0A:: @ 816EE0A +SaffronCity_Gym_EventScript_DefeatedSabrina:: @ 816EE0A famechecker FAMECHECKER_SABRINA, 2 famechecker FAMECHECKER_SABRINA, 3 clearflag FLAG_HIDE_SAFFRON_CITY_POKECENTER_SABRINA_JOURNALS setflag FLAG_DEFEATED_SABRINA setflag FLAG_BADGE06_GET set_gym_trainers 6 - goto EventScript_16EE3D + goto SaffronCity_Gym_EventScript_GiveTM04 end -EventScript_16EE3D:: @ 816EE3D - msgbox gUnknown_819B6FA +SaffronCity_Gym_EventScript_GiveTM04:: @ 816EE3D + msgbox SaffronCity_Gym_Text_ExplainMarshBadgeTakeThis checkitemspace ITEM_TM04, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_16EE7E - giveitem_msg gUnknown_819B7D3, ITEM_TM04 + goto_if_eq SaffronCity_Gym_EventScript_NoRoomForTM04 + giveitem_msg SaffronCity_Gym_Text_ReceivedTM04FromSabrina, ITEM_TM04 setflag FLAG_GOT_TM04_FROM_SABRINA - msgbox gUnknown_819B685 + msgbox SaffronCity_Gym_Text_SabrinaPostBattle release end -EventScript_16EE7E:: @ 816EE7E - msgbox gUnknown_819B849 +SaffronCity_Gym_EventScript_NoRoomForTM04:: @ 816EE7E + msgbox SaffronCity_Gym_Text_BagFullOfOtherItems release end -SaffronCity_Gym_EventScript_16EE88:: @ 816EE88 - trainerbattle_single TRAINER_PSYCHIC_JOHAN, Text_19B936, Text_19B957 - msgbox gUnknown_819B96D, MSGBOX_AUTOCLOSE +SaffronCity_Gym_EventScript_Johan:: @ 816EE88 + trainerbattle_single TRAINER_PSYCHIC_JOHAN, SaffronCity_Gym_Text_JohanIntro, SaffronCity_Gym_Text_JohanDefeat + msgbox SaffronCity_Gym_Text_JohanPostBattle, MSGBOX_AUTOCLOSE end -SaffronCity_Gym_EventScript_16EE9F:: @ 816EE9F - trainerbattle_single TRAINER_PSYCHIC_TYRON, Text_19BA45, Text_19BA9E +SaffronCity_Gym_EventScript_Tyron:: @ 816EE9F + trainerbattle_single TRAINER_PSYCHIC_TYRON, SaffronCity_Gym_Text_TyronIntro, SaffronCity_Gym_Text_TyronDefeat famechecker FAMECHECKER_SABRINA, 5 - msgbox gUnknown_819BAB4, MSGBOX_AUTOCLOSE + msgbox SaffronCity_Gym_Text_TyronPostBattle, MSGBOX_AUTOCLOSE end -SaffronCity_Gym_EventScript_16EEC3:: @ 816EEC3 - trainerbattle_single TRAINER_PSYCHIC_CAMERON, Text_19BB49, Text_19BBA1 - msgbox gUnknown_819BBB3, MSGBOX_AUTOCLOSE +SaffronCity_Gym_EventScript_Cameron:: @ 816EEC3 + trainerbattle_single TRAINER_PSYCHIC_CAMERON, SaffronCity_Gym_Text_CameronIntro, SaffronCity_Gym_Text_CameronDefeat + msgbox SaffronCity_Gym_Text_CameronPostBattle, MSGBOX_AUTOCLOSE end -SaffronCity_Gym_EventScript_16EEDA:: @ 816EEDA - trainerbattle_single TRAINER_PSYCHIC_PRESTON, Text_19BC57, Text_19BCBC - msgbox gUnknown_819BCC4, MSGBOX_AUTOCLOSE +SaffronCity_Gym_EventScript_Preston:: @ 816EEDA + trainerbattle_single TRAINER_PSYCHIC_PRESTON, SaffronCity_Gym_Text_PrestonIntro, SaffronCity_Gym_Text_PrestonDefeat + msgbox SaffronCity_Gym_Text_PrestonPostBattle, MSGBOX_AUTOCLOSE end -SaffronCity_Gym_EventScript_16EEF1:: @ 816EEF1 - trainerbattle_single TRAINER_CHANNELER_AMANDA, Text_19B86A, Text_19B8A8 - msgbox gUnknown_819B8B9, MSGBOX_AUTOCLOSE +SaffronCity_Gym_EventScript_Amanda:: @ 816EEF1 + trainerbattle_single TRAINER_CHANNELER_AMANDA, SaffronCity_Gym_Text_AmandaIntro, SaffronCity_Gym_Text_AmandaDefeat + msgbox SaffronCity_Gym_Text_AmandaPostBattle, MSGBOX_AUTOCLOSE end -SaffronCity_Gym_EventScript_16EF08:: @ 816EF08 - trainerbattle_single TRAINER_CHANNELER_STACY, Text_19B998, Text_19B9EC - msgbox gUnknown_819B9F7, MSGBOX_AUTOCLOSE +SaffronCity_Gym_EventScript_Stacy:: @ 816EF08 + trainerbattle_single TRAINER_CHANNELER_STACY, SaffronCity_Gym_Text_StacyIntro, SaffronCity_Gym_Text_StacyDefeat + msgbox SaffronCity_Gym_Text_StacyPostBattle, MSGBOX_AUTOCLOSE end -SaffronCity_Gym_EventScript_16EF1F:: @ 816EF1F - trainerbattle_single TRAINER_CHANNELER_TASHA, Text_19BAE8, Text_19BB0D - msgbox gUnknown_819BB1F, MSGBOX_AUTOCLOSE +SaffronCity_Gym_EventScript_Tasha:: @ 816EF1F + trainerbattle_single TRAINER_CHANNELER_TASHA, SaffronCity_Gym_Text_TashaIntro, SaffronCity_Gym_Text_TashaDefeat + msgbox SaffronCity_Gym_Text_TashaPostBattle, MSGBOX_AUTOCLOSE end -SaffronCity_Gym_EventScript_16EF36:: @ 816EF36 +SaffronCity_Gym_EventScript_GymGuy:: @ 816EF36 lock faceplayer - goto_if_set FLAG_DEFEATED_SABRINA, EventScript_16EF4B - msgbox gUnknown_819BCF6 + goto_if_set FLAG_DEFEATED_SABRINA, SaffronCity_Gym_EventScript_GymGuyPostVictory + msgbox SaffronCity_Gym_Text_GymGuyAdvice release end -EventScript_16EF4B:: @ 816EF4B - msgbox gUnknown_819BDBB +SaffronCity_Gym_EventScript_GymGuyPostVictory:: @ 816EF4B + msgbox SaffronCity_Gym_Text_GymGuyPostVictory release end -SaffronCity_Gym_EventScript_16EF55:: @ 816EF55 +SaffronCity_Gym_EventScript_GymStatue:: @ 816EF55 lockall - goto_if_set FLAG_BADGE06_GET, EventScript_16EF69 - msgbox gUnknown_819BDFE + goto_if_set FLAG_BADGE06_GET, SaffronCity_Gym_EventScript_GymStatuePostVictory + msgbox SaffronCity_Gym_Text_GymStatue releaseall end -EventScript_16EF69:: @ 816EF69 - msgbox gUnknown_819BE37 +SaffronCity_Gym_EventScript_GymStatuePostVictory:: @ 816EF69 + msgbox SaffronCity_Gym_Text_GymStatuePlayerWon releaseall end diff --git a/data/maps/SaffronCity_Gym/text.inc b/data/maps/SaffronCity_Gym/text.inc index ed48d983f..827d4bbd5 100644 --- a/data/maps/SaffronCity_Gym/text.inc +++ b/data/maps/SaffronCity_Gym/text.inc @@ -1,4 +1,4 @@ -Text_19B53C:: @ 819B53C +SaffronCity_Gym_Text_SabrinaIntro:: @ 819B53C .string "I had a vision of your arrival.\p" .string "I have had psychic powers since\n" .string "I was a child.\p" @@ -7,7 +7,7 @@ Text_19B53C:: @ 819B53C .string "I dislike battling, but if you wish,\n" .string "I will show you my powers!{PLAY_BGM}{MUS_EXEYE}$" -Text_19B602:: @ 819B602 +SaffronCity_Gym_Text_SabrinaDefeat:: @ 819B602 .string "This loss shocks me!\n" .string "But, a loss is a loss.\p" .string "I admit, I didn't work hard enough\n" @@ -15,13 +15,13 @@ Text_19B602:: @ 819B602 .string "Your victory has earned you the\n" .string "MARSHBADGE.$" -gUnknown_819B685:: @ 819B685 +SaffronCity_Gym_Text_SabrinaPostBattle:: @ 819B685 .string "Psychic power isn't something that\n" .string "only a few people have.\p" .string "Everyone has psychic power.\n" .string "People just don't realize it.$" -gUnknown_819B6FA:: @ 819B6FA +SaffronCity_Gym_Text_ExplainMarshBadgeTakeThis:: @ 819B6FA .string "The MARSHBADGE makes POKéMON up\n" .string "to Lv. 70 obey you.\p" .string "Stronger POKéMON will become wild,\n" @@ -30,87 +30,87 @@ gUnknown_819B6FA:: @ 819B6FA .string "much to avoid that problem.\p" .string "Wait, please take this TM with you.$" -gUnknown_819B7D3:: @ 819B7D3 +SaffronCity_Gym_Text_ReceivedTM04FromSabrina:: @ 819B7D3 .string "{PLAYER} received TM04 from\n" .string "SABRINA.$" -gUnknown_819B7F2:: @ 819B7F2 +SaffronCity_Gym_Text_ExplainTM04:: @ 819B7F2 .string "TM04 is CALM MIND.\p" .string "It makes the POKéMON concentrate\n" .string "to raise both SP. ATK and SP. DEF.$" -gUnknown_819B849:: @ 819B849 +SaffronCity_Gym_Text_BagFullOfOtherItems:: @ 819B849 .string "Your BAG is full of other items.$" -Text_19B86A:: @ 819B86A +SaffronCity_Gym_Text_AmandaIntro:: @ 819B86A .string "SABRINA is far younger than I,\n" .string "but she has earned my respect.$" -Text_19B8A8:: @ 819B8A8 +SaffronCity_Gym_Text_AmandaDefeat:: @ 819B8A8 .string "Not good enough!$" -gUnknown_819B8B9:: @ 819B8B9 +SaffronCity_Gym_Text_AmandaPostBattle:: @ 819B8B9 .string "In a battle of equals, the one\n" .string "with the stronger will wins.\p" .string "If you wish to beat SABRINA, focus\n" .string "and will yourself to victory.$" -Text_19B936:: @ 819B936 +SaffronCity_Gym_Text_JohanIntro:: @ 819B936 .string "Does our unseen power scare you?$" -Text_19B957:: @ 819B957 +SaffronCity_Gym_Text_JohanDefeat:: @ 819B957 .string "I never foresaw this!$" -gUnknown_819B96D:: @ 819B96D +SaffronCity_Gym_Text_JohanPostBattle:: @ 819B96D .string "PSYCHIC POKéMON fear only ghosts\n" .string "and bugs!$" -Text_19B998:: @ 819B998 +SaffronCity_Gym_Text_StacyIntro:: @ 819B998 .string "POKéMON take on the appearance of\n" .string "their TRAINERS.\p" .string "Your POKéMON must be tough, then!$" -Text_19B9EC:: @ 819B9EC +SaffronCity_Gym_Text_StacyDefeat:: @ 819B9EC .string "I knew it!$" -gUnknown_819B9F7:: @ 819B9F7 +SaffronCity_Gym_Text_StacyPostBattle:: @ 819B9F7 .string "I have much to learn still…\p" .string "I must master PSYCHIC and teach it\n" .string "to my POKéMON…$" -Text_19BA45:: @ 819BA45 +SaffronCity_Gym_Text_TyronIntro:: @ 819BA45 .string "You understand, don't you?\p" .string "That power alone isn't enough to\n" .string "win in the world of POKéMON?$" -Text_19BA9E:: @ 819BA9E +SaffronCity_Gym_Text_TyronDefeat:: @ 819BA9E .string "I don't believe this!$" -gUnknown_819BAB4:: @ 819BAB4 +SaffronCity_Gym_Text_TyronPostBattle:: @ 819BAB4 .string "SABRINA just wiped out the KARATE\n" .string "MASTER next door.$" -Text_19BAE8:: @ 819BAE8 +SaffronCity_Gym_Text_TashaIntro:: @ 819BAE8 .string "You and I, our POKéMON shall\n" .string "battle!$" -Text_19BB0D:: @ 819BB0D +SaffronCity_Gym_Text_TashaDefeat:: @ 819BB0D .string "I lost after all!$" -gUnknown_819BB1F:: @ 819BB1F +SaffronCity_Gym_Text_TashaPostBattle:: @ 819BB1F .string "I knew that this was going to take\n" .string "place.$" -Text_19BB49:: @ 819BB49 +SaffronCity_Gym_Text_CameronIntro:: @ 819BB49 .string "SABRINA is young, but she's also\n" .string "our highly skilled LEADER.\p" .string "You won't reach her easily!$" -Text_19BBA1:: @ 819BBA1 +SaffronCity_Gym_Text_CameronDefeat:: @ 819BBA1 .string "Ow!\n" .string "Down and out!$" -gUnknown_819BBB3:: @ 819BBB3 +SaffronCity_Gym_Text_CameronPostBattle:: @ 819BBB3 .string "There used to be two POKéMON GYMS\n" .string "in SAFFRON.\p" .string "The FIGHTING DOJO next door lost\n" @@ -118,20 +118,20 @@ gUnknown_819BBB3:: @ 819BBB3 .string "We simply creamed them when we\n" .string "decided to have just one GYM.$" -Text_19BC57:: @ 819BC57 +SaffronCity_Gym_Text_PrestonIntro:: @ 819BC57 .string "SAFFRON POKéMON GYM is famous for\n" .string "training psychics.\p" .string "You want to see SABRINA, don't\n" .string "you? I can tell!$" -Text_19BCBC:: @ 819BCBC +SaffronCity_Gym_Text_PrestonDefeat:: @ 819BCBC .string "Arrrgh!$" -gUnknown_819BCC4:: @ 819BCC4 +SaffronCity_Gym_Text_PrestonPostBattle:: @ 819BCC4 .string "That's right! I used telepathy to\n" .string "read your mind!$" -gUnknown_819BCF6:: @ 819BCF6 +SaffronCity_Gym_Text_GymGuyAdvice:: @ 819BCF6 .string "Yo!\n" .string "Champ in the making!\p" .string "SABRINA's POKéMON use psychic\n" @@ -141,18 +141,18 @@ gUnknown_819BCF6:: @ 819BCF6 .string "They'll get destroyed before they\n" .string "can even aim a punch!$" -gUnknown_819BDBB:: @ 819BDBB +SaffronCity_Gym_Text_GymGuyPostVictory:: @ 819BDBB .string "Psychic power, huh?\p" .string "If I had that, I'd make a bundle\n" .string "at the slots!$" -gUnknown_819BDFE:: @ 819BDFE +SaffronCity_Gym_Text_GymStatue:: @ 819BDFE .string "SAFFRON POKéMON GYM\n" .string "LEADER: SABRINA\p" .string "WINNING TRAINERS:\n" .string "{RIVAL}$" -gUnknown_819BE37:: @ 819BE37 +SaffronCity_Gym_Text_GymStatuePlayerWon:: @ 819BE37 .string "SAFFRON POKéMON GYM\n" .string "LEADER: SABRINA\p" .string "WINNING TRAINERS:\n" diff --git a/data/maps/SaffronCity_House2/map.json b/data/maps/SaffronCity_House/map.json similarity index 70% rename from data/maps/SaffronCity_House2/map.json rename to data/maps/SaffronCity_House/map.json index 41fb0d809..17690ea89 100644 --- a/data/maps/SaffronCity_House2/map.json +++ b/data/maps/SaffronCity_House/map.json @@ -1,20 +1,22 @@ { - "id": "MAP_SAFFRON_CITY_HOUSE2", - "name": "SaffronCity_House2", + "id": "MAP_SAFFRON_CITY_HOUSE", + "name": "SaffronCity_House", "layout": "LAYOUT_HOUSE5", "music": "MUS_NIBI", "region_map_section": "MAPSEC_SAFFRON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_PIDGEY", + "graphics_id": "OBJ_EVENT_GFX_PIDGEY", "x": 0, "y": 5, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 4, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_House2_EventScript_16EF86", + "script": "SaffronCity_House_EventScript_Pidgey", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 4, "y": 4, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_House2_EventScript_16EF74", + "script": "SaffronCity_House_EventScript_Lass", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 6, "y": 2, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_House2_EventScript_16EF7D", + "script": "SaffronCity_House_EventScript_Youngster", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CLIPBOARD", + "graphics_id": "OBJ_EVENT_GFX_CLIPBOARD", "x": 5, "y": 4, "elevation": 0, @@ -92,11 +94,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 4, "elevation": 3, - "script": "SaffronCity_House2_EventScript_16EF99" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SaffronCity_House_EventScript_Letter" } ] } diff --git a/data/maps/SaffronCity_House/scripts.inc b/data/maps/SaffronCity_House/scripts.inc new file mode 100644 index 000000000..d94baa8a0 --- /dev/null +++ b/data/maps/SaffronCity_House/scripts.inc @@ -0,0 +1,24 @@ +SaffronCity_House_MapScripts:: @ 816EF73 + .byte 0 + +SaffronCity_House_EventScript_Lass:: @ 816EF74 + msgbox SaffronCity_House_Text_DontLookAtMyLetter, MSGBOX_NPC + end + +SaffronCity_House_EventScript_Youngster:: @ 816EF7D + msgbox SaffronCity_House_Text_GettingCopycatPokeDoll, MSGBOX_NPC + end + +SaffronCity_House_EventScript_Pidgey:: @ 816EF86 + lock + faceplayer + waitse + playmoncry SPECIES_PIDGEY, 0 + msgbox SaffronCity_House_Text_Pidgey + waitmoncry + release + end + +SaffronCity_House_EventScript_Letter:: @ 816EF99 + msgbox SaffronCity_House_Text_ExplainPPUp, MSGBOX_SIGN + end diff --git a/data/maps/SaffronCity_House2/text.inc b/data/maps/SaffronCity_House/text.inc similarity index 70% rename from data/maps/SaffronCity_House2/text.inc rename to data/maps/SaffronCity_House/text.inc index 9558880b7..7d13c13fa 100644 --- a/data/maps/SaffronCity_House2/text.inc +++ b/data/maps/SaffronCity_House/text.inc @@ -1,17 +1,17 @@ -gUnknown_819BE74:: @ 819BE74 +SaffronCity_House_Text_DontLookAtMyLetter:: @ 819BE74 .string "…Thank you for writing.\n" .string "I hope to see you soon!\p" .string "…Hey!\n" .string "Don't look at my letter!$" -gUnknown_819BEC3:: @ 819BEC3 +SaffronCity_House_Text_Pidgey:: @ 819BEC3 .string "PIDGEY: Kurukkoo!$" -gUnknown_819BED5:: @ 819BED5 +SaffronCity_House_Text_GettingCopycatPokeDoll:: @ 819BED5 .string "The COPYCAT is cute!\n" .string "I'm getting her a POKé DOLL.$" -gUnknown_819BF07:: @ 819BF07 +SaffronCity_House_Text_ExplainPPUp:: @ 819BF07 .string "I was given a PP UP as a gift.\p" .string "It's used to increase the PP of\n" .string "a POKéMON's move.\p" diff --git a/data/maps/SaffronCity_House1_1F/scripts.inc b/data/maps/SaffronCity_House1_1F/scripts.inc deleted file mode 100644 index 2f4e435fa..000000000 --- a/data/maps/SaffronCity_House1_1F/scripts.inc +++ /dev/null @@ -1,20 +0,0 @@ -SaffronCity_House1_1F_MapScripts:: @ 816EB36 - .byte 0 - -SaffronCity_House1_1F_EventScript_16EB37:: @ 816EB37 - msgbox gUnknown_819AB9B, MSGBOX_NPC - end - -SaffronCity_House1_1F_EventScript_16EB40:: @ 816EB40 - msgbox gUnknown_819ABD7, MSGBOX_NPC - end - -SaffronCity_House1_1F_EventScript_16EB49:: @ 816EB49 - lock - faceplayer - waitse - playmoncry SPECIES_CHANSEY, 0 - msgbox gUnknown_819AC4B - waitmoncry - release - end diff --git a/data/maps/SaffronCity_House1_1F/text.inc b/data/maps/SaffronCity_House1_1F/text.inc deleted file mode 100644 index 04bedb057..000000000 --- a/data/maps/SaffronCity_House1_1F/text.inc +++ /dev/null @@ -1,32 +0,0 @@ -Text_19A9E7:: @ 819A9E7 - .string "AGATHA's GHOST-type POKéMON are\n" - .string "horrifically terrifying in toughness.\p" - .string "I took my FIGHTING-type POKéMON\n" - .string "and raised them to the max.\p" - .string "I went at AGATHA feeling pretty\n" - .string "confident, but she whupped us.\p" - .string "That old lady's also got a really\n" - .string "short fuse, too.\p" - .string "It doesn't take anything to get\n" - .string "that scary lady hollering.$" - -Text_19AB16:: @ 819AB16 - .string "Maybe becoming an ELITE FOUR\n" - .string "member is in the blood.\p" - .string "From what I've heard, LANCE has\n" - .string "a cousin who's a GYM LEADER\l" - .string "somewhere far away.$" - -gUnknown_819AB9B:: @ 819AB9B - .string "My daughter is so self-centered.\n" - .string "She has but a few friends.$" - -gUnknown_819ABD7:: @ 819ABD7 - .string "My daughter likes to mimic people.\n" - .string "It's rather vexing.\p" - .string "Her mimicry has earned her the\n" - .string "nickname COPYCAT around here.$" - -gUnknown_819AC4B:: @ 819AC4B - .string "CHANSEY: Chaan! Sii!$" - diff --git a/data/maps/SaffronCity_House1_2F/scripts.inc b/data/maps/SaffronCity_House1_2F/scripts.inc deleted file mode 100644 index 17714d816..000000000 --- a/data/maps/SaffronCity_House1_2F/scripts.inc +++ /dev/null @@ -1,50 +0,0 @@ -SaffronCity_House1_2F_MapScripts:: @ 816EB5C - .byte 0 - -SaffronCity_House1_2F_EventScript_16EB5D:: @ 816EB5D - lock - faceplayer - waitse - playmoncry SPECIES_DODUO, 0 - msgbox gUnknown_819B030 - waitmoncry - release - end - -SaffronCity_House1_2F_EventScript_16EB70:: @ 816EB70 - lock - msgbox gUnknown_819B071 - release - end - -SaffronCity_House1_2F_EventScript_16EB7B:: @ 816EB7B - goto_if_questlog EventScript_ReleaseEnd - special sub_8112364 - lock - faceplayer - checkitem ITEM_POKE_DOLL, 1 - compare VAR_RESULT, TRUE - goto_if_eq EventScript_MimicTutor - checkplayergender - compare VAR_RESULT, MALE - call_if_eq EventScript_16EBB7 - compare VAR_RESULT, FEMALE - call_if_eq EventScript_16EBC0 - release - end - -EventScript_16EBB7:: @ 816EBB7 - msgbox gUnknown_819AC60 - return - -EventScript_16EBC0:: @ 816EBC0 - msgbox gUnknown_819ACF1 - return - -SaffronCity_House1_2F_EventScript_16EBC9:: @ 816EBC9 - msgbox gUnknown_819B0D0, MSGBOX_SIGN - end - -SaffronCity_House1_2F_EventScript_16EBD2:: @ 816EBD2 - msgbox gUnknown_819B0A0, MSGBOX_SIGN - end diff --git a/data/maps/SaffronCity_House2/scripts.inc b/data/maps/SaffronCity_House2/scripts.inc deleted file mode 100644 index 03afb1a4c..000000000 --- a/data/maps/SaffronCity_House2/scripts.inc +++ /dev/null @@ -1,24 +0,0 @@ -SaffronCity_House2_MapScripts:: @ 816EF73 - .byte 0 - -SaffronCity_House2_EventScript_16EF74:: @ 816EF74 - msgbox gUnknown_819BE74, MSGBOX_NPC - end - -SaffronCity_House2_EventScript_16EF7D:: @ 816EF7D - msgbox gUnknown_819BED5, MSGBOX_NPC - end - -SaffronCity_House2_EventScript_16EF86:: @ 816EF86 - lock - faceplayer - waitse - playmoncry SPECIES_PIDGEY, 0 - msgbox gUnknown_819BEC3 - waitmoncry - release - end - -SaffronCity_House2_EventScript_16EF99:: @ 816EF99 - msgbox gUnknown_819BF07, MSGBOX_SIGN - end diff --git a/data/maps/SaffronCity_House3/scripts.inc b/data/maps/SaffronCity_House3/scripts.inc deleted file mode 100644 index 9e177cccb..000000000 --- a/data/maps/SaffronCity_House3/scripts.inc +++ /dev/null @@ -1,26 +0,0 @@ -SaffronCity_House3_MapScripts:: @ 816F05E - .byte 0 - -SaffronCity_House3_EventScript_16F05F:: @ 816F05F - lock - faceplayer - goto_if_set FLAG_GOT_TM29_FROM_MR_PSYCHIC, EventScript_16F0B5 - msgbox gUnknown_819C142 - checkitemspace ITEM_TM29, 1 - compare VAR_RESULT, FALSE - goto_if_eq EventScript_16F0AB - giveitem_msg gUnknown_819C16C, ITEM_TM29 - msgbox gUnknown_819C18F - setflag FLAG_GOT_TM29_FROM_MR_PSYCHIC - release - end - -EventScript_16F0AB:: @ 816F0AB - msgbox gUnknown_819C1FC - release - end - -EventScript_16F0B5:: @ 816F0B5 - msgbox gUnknown_819C18F - release - end diff --git a/data/maps/SaffronCity_Mart/map.json b/data/maps/SaffronCity_Mart/map.json index 8f3bd6718..64142a6c4 100644 --- a/data/maps/SaffronCity_Mart/map.json +++ b/data/maps/SaffronCity_Mart/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SAFFRON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CLERK", + "graphics_id": "OBJ_EVENT_GFX_CLERK", "x": 2, "y": 3, "elevation": 0, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_Mart_EventScript_16EFB5", + "script": "SaffronCity_Mart_EventScript_Clerk", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 1, "y": 7, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_Mart_EventScript_16EFAC", + "script": "SaffronCity_Mart_EventScript_Youngster", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 9, "y": 5, "elevation": 3, @@ -49,7 +51,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_Mart_EventScript_16EFA3", + "script": "SaffronCity_Mart_EventScript_Lass", "flag": "0" } ], diff --git a/data/maps/SaffronCity_Mart/scripts.inc b/data/maps/SaffronCity_Mart/scripts.inc index 5361c07a8..c00a93776 100644 --- a/data/maps/SaffronCity_Mart/scripts.inc +++ b/data/maps/SaffronCity_Mart/scripts.inc @@ -1,27 +1,27 @@ SaffronCity_Mart_MapScripts:: @ 816EFA2 .byte 0 -SaffronCity_Mart_EventScript_16EFA3:: @ 816EFA3 - msgbox gUnknown_819BFF1, MSGBOX_NPC +SaffronCity_Mart_EventScript_Lass:: @ 816EFA3 + msgbox SaffronCity_Mart_Text_ReviveIsCostly, MSGBOX_NPC end -SaffronCity_Mart_EventScript_16EFAC:: @ 816EFAC - msgbox gUnknown_819BF8F, MSGBOX_NPC +SaffronCity_Mart_EventScript_Youngster:: @ 816EFAC + msgbox SaffronCity_Mart_Text_MaxRepelMoreEffectiveThanSuper, MSGBOX_NPC end -SaffronCity_Mart_EventScript_16EFB5:: @ 816EFB5 +SaffronCity_Mart_EventScript_Clerk:: @ 816EFB5 goto_if_questlog EventScript_ReleaseEnd lock faceplayer message Text_MayIHelpYou waitmessage - pokemart Items_16EFDC + pokemart SaffronCity_Mart_Items msgbox Text_PleaseComeAgain release end .align 2 -Items_16EFDC:: @ 816EFDC +SaffronCity_Mart_Items:: @ 816EFDC .2byte ITEM_GREAT_BALL .2byte ITEM_HYPER_POTION .2byte ITEM_REVIVE diff --git a/data/maps/SaffronCity_Mart/text.inc b/data/maps/SaffronCity_Mart/text.inc index 5acbdbd9c..edf13f2fe 100644 --- a/data/maps/SaffronCity_Mart/text.inc +++ b/data/maps/SaffronCity_Mart/text.inc @@ -1,10 +1,10 @@ -gUnknown_819BF8F:: @ 819BF8F +SaffronCity_Mart_Text_MaxRepelMoreEffectiveThanSuper:: @ 819BF8F .string "MAX REPEL keeps weaker POKéMON\n" .string "from appearing.\p" .string "MAX REPEL stays effective longer\n" .string "than SUPER REPEL.$" -gUnknown_819BFF1:: @ 819BFF1 +SaffronCity_Mart_Text_ReviveIsCostly:: @ 819BFF1 .string "REVIVE is costly, but it revives\n" .string "fainted POKéMON!$" diff --git a/data/maps/SaffronCity_House3/map.json b/data/maps/SaffronCity_MrPsychicsHouse/map.json similarity index 68% rename from data/maps/SaffronCity_House3/map.json rename to data/maps/SaffronCity_MrPsychicsHouse/map.json index 3d3e7410e..8cf965e59 100644 --- a/data/maps/SaffronCity_House3/map.json +++ b/data/maps/SaffronCity_MrPsychicsHouse/map.json @@ -1,20 +1,22 @@ { - "id": "MAP_SAFFRON_CITY_HOUSE3", - "name": "SaffronCity_House3", + "id": "MAP_SAFFRON_CITY_MR_PSYCHICS_HOUSE", + "name": "SaffronCity_MrPsychicsHouse", "layout": "LAYOUT_HOUSE5", "music": "MUS_NIBI", "region_map_section": "MAPSEC_SAFFRON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 7, "y": 4, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_House3_EventScript_16F05F", + "script": "SaffronCity_MrPsychicsHouse_EventScript_MrPsychic", "flag": "0" } ], diff --git a/data/maps/SaffronCity_MrPsychicsHouse/scripts.inc b/data/maps/SaffronCity_MrPsychicsHouse/scripts.inc new file mode 100644 index 000000000..24bd51cc1 --- /dev/null +++ b/data/maps/SaffronCity_MrPsychicsHouse/scripts.inc @@ -0,0 +1,26 @@ +SaffronCity_MrPsychicsHouse_MapScripts:: @ 816F05E + .byte 0 + +SaffronCity_MrPsychicsHouse_EventScript_MrPsychic:: @ 816F05F + lock + faceplayer + goto_if_set FLAG_GOT_TM29_FROM_MR_PSYCHIC, SaffronCity_MrPsychicsHouse_EventScript_AlreadyGotTM29 + msgbox SaffronCity_MrPsychicsHouse_Text_YouWantedThis + checkitemspace ITEM_TM29, 1 + compare VAR_RESULT, FALSE + goto_if_eq SaffronCity_MrPsychicsHouse_EventScript_NoRoomForTM29 + giveitem_msg SaffronCity_MrPsychicsHouse_Text_ReceivedTM29FromMrPsychic, ITEM_TM29 + msgbox SaffronCity_MrPsychicsHouse_Text_ExplainTM29 + setflag FLAG_GOT_TM29_FROM_MR_PSYCHIC + release + end + +SaffronCity_MrPsychicsHouse_EventScript_NoRoomForTM29:: @ 816F0AB + msgbox SaffronCity_MrPsychicsHouse_Text_YouveNoRoom + release + end + +SaffronCity_MrPsychicsHouse_EventScript_AlreadyGotTM29:: @ 816F0B5 + msgbox SaffronCity_MrPsychicsHouse_Text_ExplainTM29 + release + end diff --git a/data/maps/SaffronCity_House3/text.inc b/data/maps/SaffronCity_MrPsychicsHouse/text.inc similarity index 62% rename from data/maps/SaffronCity_House3/text.inc rename to data/maps/SaffronCity_MrPsychicsHouse/text.inc index 42699924f..31d220c69 100644 --- a/data/maps/SaffronCity_House3/text.inc +++ b/data/maps/SaffronCity_MrPsychicsHouse/text.inc @@ -1,18 +1,18 @@ -gUnknown_819C142:: @ 819C142 +SaffronCity_MrPsychicsHouse_Text_YouWantedThis:: @ 819C142 .string "…Wait! Don't say a word!\p" .string "You wanted this!$" -gUnknown_819C16C:: @ 819C16C +SaffronCity_MrPsychicsHouse_Text_ReceivedTM29FromMrPsychic:: @ 819C16C .string "{PLAYER} received TM29\n" .string "from MR. PSYCHIC.$" -gUnknown_819C18F:: @ 819C18F +SaffronCity_MrPsychicsHouse_Text_ExplainTM29:: @ 819C18F .string "You already know, don't you?\n" .string "TM29 is PSYCHIC.\p" .string "It's an attack that may also lower\n" .string "the target's special stats.$" -gUnknown_819C1FC:: @ 819C1FC +SaffronCity_MrPsychicsHouse_Text_YouveNoRoom:: @ 819C1FC .string "Where do you plan to put this?\n" .string "You've no room.$" diff --git a/data/maps/SaffronCity_PokemonCenter_1F/map.json b/data/maps/SaffronCity_PokemonCenter_1F/map.json index bb78415b4..de944ec7c 100644 --- a/data/maps/SaffronCity_PokemonCenter_1F/map.json +++ b/data/maps/SaffronCity_PokemonCenter_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SAFFRON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_NURSE", + "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_PokemonCenter_1F_EventScript_16EFFB", + "script": "SaffronCity_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 14, "y": 6, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_PokemonCenter_1F_EventScript_16F004", + "script": "SaffronCity_PokemonCenter_1F_EventScript_Gentleman", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_3", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_3", "x": 4, "y": 4, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_PokemonCenter_1F_EventScript_16F00D", + "script": "SaffronCity_PokemonCenter_1F_EventScript_Woman", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 9, "y": 6, "elevation": 3, @@ -62,7 +64,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_PokemonCenter_1F_EventScript_16F016", + "script": "SaffronCity_PokemonCenter_1F_EventScript_Youngster", "flag": "0" }, { @@ -75,7 +77,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_PokemonCenter_1F_EventScript_1ACEEC", + "script": "SaffronCity_PokemonCenter_1F_EventScript_PokemonJournalSabrina", "flag": "FLAG_HIDE_SAFFRON_CITY_POKECENTER_SABRINA_JOURNALS" }, { @@ -88,7 +90,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_PokemonCenter_1F_EventScript_1ACEEC", + "script": "SaffronCity_PokemonCenter_1F_EventScript_PokemonJournalSabrina", "flag": "FLAG_HIDE_SAFFRON_CITY_POKECENTER_SABRINA_JOURNALS" } ], diff --git a/data/maps/SaffronCity_PokemonCenter_1F/scripts.inc b/data/maps/SaffronCity_PokemonCenter_1F/scripts.inc index 8639de5af..b8e2385e6 100644 --- a/data/maps/SaffronCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/SaffronCity_PokemonCenter_1F/scripts.inc @@ -7,31 +7,31 @@ SaffronCity_PokemonCenter_1F_OnTransition:: @ 816EFF7 setrespawn SPAWN_SAFFRON_CITY end -SaffronCity_PokemonCenter_1F_EventScript_16EFFB:: @ 816EFFB +SaffronCity_PokemonCenter_1F_EventScript_Nurse:: @ 816EFFB lock faceplayer call EventScript_PkmnCenterNurse release end -SaffronCity_PokemonCenter_1F_EventScript_16F004:: @ 816F004 - msgbox gUnknown_819C058, MSGBOX_NPC +SaffronCity_PokemonCenter_1F_EventScript_Gentleman:: @ 816F004 + msgbox SaffronCity_PokemonCenter_1F_Text_SilphCoVictimOfFame, MSGBOX_NPC end -SaffronCity_PokemonCenter_1F_EventScript_16F00D:: @ 816F00D - msgbox gUnknown_819C023, MSGBOX_NPC +SaffronCity_PokemonCenter_1F_EventScript_Woman:: @ 816F00D + msgbox SaffronCity_PokemonCenter_1F_Text_GrowthRatesDifferBySpecies, MSGBOX_NPC end -SaffronCity_PokemonCenter_1F_EventScript_16F016:: @ 816F016 +SaffronCity_PokemonCenter_1F_EventScript_Youngster:: @ 816F016 lock faceplayer compare VAR_MAP_SCENE_SILPH_CO_11F, 1 - goto_if_eq EventScript_16F02D - msgbox gUnknown_819C0B4 + goto_if_eq SaffronCity_PokemonCenter_1F_EventScript_YoungsterRocketsGone + msgbox SaffronCity_PokemonCenter_1F_Text_GreatIfEliteFourCameBeatRockets release end -EventScript_16F02D:: @ 816F02D - msgbox gUnknown_819C102 +SaffronCity_PokemonCenter_1F_EventScript_YoungsterRocketsGone:: @ 816F02D + msgbox SaffronCity_PokemonCenter_1F_Text_TeamRocketTookOff release end diff --git a/data/maps/SaffronCity_PokemonCenter_1F/text.inc b/data/maps/SaffronCity_PokemonCenter_1F/text.inc index 8a3e43a10..51d64d42c 100644 --- a/data/maps/SaffronCity_PokemonCenter_1F/text.inc +++ b/data/maps/SaffronCity_PokemonCenter_1F/text.inc @@ -1,19 +1,19 @@ -gUnknown_819C023:: @ 819C023 +SaffronCity_PokemonCenter_1F_Text_GrowthRatesDifferBySpecies:: @ 819C023 .string "POKéMON growth rates differ from\n" .string "species to species.$" -gUnknown_819C058:: @ 819C058 +SaffronCity_PokemonCenter_1F_Text_SilphCoVictimOfFame:: @ 819C058 .string "SILPH CO. is widely known to all.\p" .string "It's a victim of its own fame - it\n" .string "attracted TEAM ROCKET.$" -gUnknown_819C0B4:: @ 819C0B4 +SaffronCity_PokemonCenter_1F_Text_GreatIfEliteFourCameBeatRockets:: @ 819C0B4 .string "Sigh…\n" .string "Wouldn't this be great?\p" .string "If the ELITE FOUR came and\n" .string "stomped TEAM ROCKET?$" -gUnknown_819C102:: @ 819C102 +SaffronCity_PokemonCenter_1F_Text_TeamRocketTookOff:: @ 819C102 .string "TEAM ROCKET took off!\n" .string "We can go out safely again!\l" .string "That's great!$" diff --git a/data/maps/SaffronCity_PokemonCenter_2F/map.json b/data/maps/SaffronCity_PokemonCenter_2F/map.json index 62b084caf..4a28fd488 100644 --- a/data/maps/SaffronCity_PokemonCenter_2F/map.json +++ b/data/maps/SaffronCity_PokemonCenter_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SAFFRON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 6, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 2, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 10, "y": 2, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MG_DELIVERYMAN", + "graphics_id": "OBJ_EVENT_GFX_MG_DELIVERYMAN", "x": 1, "y": 2, "elevation": 3, diff --git a/data/maps/SaffronCity_PokemonTrainerFanClub/map.json b/data/maps/SaffronCity_PokemonTrainerFanClub/map.json index 979278cdb..cd96e018c 100644 --- a/data/maps/SaffronCity_PokemonTrainerFanClub/map.json +++ b/data/maps/SaffronCity_PokemonTrainerFanClub/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SAFFRON_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BATTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_BATTLE_GIRL", "x": 7, "y": 13, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_PokemonTrainerFanClub_EventScript_16F281", + "script": "SaffronCity_PokemonTrainerFanClub_EventScript_BattleGirl", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 6, "y": 11, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_PokemonTrainerFanClub_EventScript_16F2F8", + "script": "SaffronCity_PokemonTrainerFanClub_EventScript_LittleGirl", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 3, "y": 13, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_PokemonTrainerFanClub_EventScript_16F36F", + "script": "SaffronCity_PokemonTrainerFanClub_EventScript_Youngster", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 3, "y": 12, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_PokemonTrainerFanClub_EventScript_16F3E6", + "script": "SaffronCity_PokemonTrainerFanClub_EventScript_Gentleman", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_3", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_3", "x": 9, "y": 11, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_PokemonTrainerFanClub_EventScript_16F45D", + "script": "SaffronCity_PokemonTrainerFanClub_EventScript_Woman", "flag": "FLAG_HIDE_SAFFRON_FAN_CLUB_WOMAN" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 7, "y": 12, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_PokemonTrainerFanClub_EventScript_16F4BF", + "script": "SaffronCity_PokemonTrainerFanClub_EventScript_Rocker", "flag": "FLAG_HIDE_SAFFRON_FAN_CLUB_ROCKER" }, { - "graphics_id": "OBJECT_EVENT_GFX_BEAUTY", + "graphics_id": "OBJ_EVENT_GFX_BEAUTY", "x": 9, "y": 12, "elevation": 3, @@ -101,11 +103,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_PokemonTrainerFanClub_EventScript_16F521", + "script": "SaffronCity_PokemonTrainerFanClub_EventScript_Beauty", "flag": "FLAG_HIDE_SAFFRON_FAN_CLUB_BEAUTY" }, { - "graphics_id": "OBJECT_EVENT_GFX_BLACKBELT", + "graphics_id": "OBJ_EVENT_GFX_BLACKBELT", "x": 5, "y": 11, "elevation": 3, @@ -114,7 +116,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_PokemonTrainerFanClub_EventScript_16F583", + "script": "SaffronCity_PokemonTrainerFanClub_EventScript_BlackBelt", "flag": "FLAG_HIDE_SAFFRON_FAN_CLUB_BLACKBELT" }, { @@ -127,7 +129,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_PokemonTrainerFanClub_EventScript_1ACF7A", + "script": "SaffronCity_PokemonTrainerFanClub_EventScript_PokemonJournalBruno", "flag": "FLAG_HIDE_POSTGAME_GOSSIPERS" }, { @@ -140,7 +142,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SaffronCity_PokemonTrainerFanClub_EventScript_1ACF7A", + "script": "SaffronCity_PokemonTrainerFanClub_EventScript_PokemonJournalBruno", "flag": "FLAG_HIDE_POSTGAME_GOSSIPERS" } ], diff --git a/data/maps/SaffronCity_PokemonTrainerFanClub/scripts.inc b/data/maps/SaffronCity_PokemonTrainerFanClub/scripts.inc index ffb4678b2..dd791a58f 100644 --- a/data/maps/SaffronCity_PokemonTrainerFanClub/scripts.inc +++ b/data/maps/SaffronCity_PokemonTrainerFanClub/scripts.inc @@ -4,10 +4,10 @@ SaffronCity_PokemonTrainerFanClub_MapScripts:: @ 816F0BF .byte 0 SaffronCity_PokemonTrainerFanClub_OnFrame:: @ 816F0CA - map_script_2 VAR_MAP_SCENE_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB, 1, EventScript_16F0D4 + map_script_2 VAR_MAP_SCENE_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB, 1, SaffronCity_PokemonTrainerFanClub_EventScript_MeetFirstFans .2byte 0 -EventScript_16F0D4:: @ 816F0D4 +SaffronCity_PokemonTrainerFanClub_EventScript_MeetFirstFans:: @ 816F0D4 lockall textcolor 1 applymovement 1, Movement_WalkInPlaceFastestDown @@ -17,18 +17,18 @@ EventScript_16F0D4:: @ 816F0D4 waitmovement 0 applymovement 1, Movement_Delay48 waitmovement 0 - msgbox gUnknown_819C22B + msgbox SaffronCity_PokemonTrainerFanClub_Text_HuhYou closemessage - applymovement 1, Movement_16F124 + applymovement 1, SaffronCity_PokemonTrainerFanClub_Movement_FanApproachPlayer waitmovement 0 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight waitmovement 0 - msgbox gUnknown_819C235 + msgbox SaffronCity_PokemonTrainerFanClub_Text_YourePlayerWereYourFansNow setvar VAR_MAP_SCENE_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB, 2 releaseall end -Movement_16F124:: @ 816F124 +SaffronCity_PokemonTrainerFanClub_Movement_FanApproachPlayer:: @ 816F124 delay_16 delay_8 walk_down @@ -38,7 +38,8 @@ Movement_16F124:: @ 816F124 walk_left step_end -Movement_16F12C:: @ 816F12C +@ Unused, leftover from RS +LilycoveCity_PokemonTrainerFanClub_Movement_FanApproachPlayer:: @ 816F12C delay_8 walk_in_place_fastest_down walk_down @@ -48,7 +49,8 @@ Movement_16F12C:: @ 816F12C walk_left step_end -Movement_16F134:: @ 816F134 +@ Unused, leftover from RS +LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlWatchPlayer:: @ 816F134 walk_fast_left walk_fast_left walk_fast_down @@ -57,12 +59,14 @@ Movement_16F134:: @ 816F134 walk_fast_down step_end -Movement_16F13B:: @ 816F13B +@ Unused, leftover from RS +LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlMoveCloserToPlayer:: @ 816F13B walk_down walk_in_place_fastest_right step_end -Movement_16F13E:: @ 816F13E +@ Unused, leftover from RS +LilycoveCity_PokemonTrainerFanClub_Movement_LittleGirlHideFromPlayer:: @ 816F13E jump_in_place_right walk_fast_up walk_fast_up @@ -72,383 +76,383 @@ Movement_16F13E:: @ 816F13E SaffronCity_PokemonTrainerFanClub_OnTransition:: @ 816F144 compare VAR_MAP_SCENE_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB, 1 - goto_if_eq EventScript_16F267 + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_SetMemberPosForFirstMeeting compare VAR_MAP_SCENE_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB, 2 - goto_if_eq EventScript_16F15B + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_UpdateFanMemberPositions end -EventScript_16F15B:: @ 816F15B - special Special_TryLoseFansFromPlayTime +SaffronCity_PokemonTrainerFanClub_EventScript_UpdateFanMemberPositions:: @ 816F15B + special Script_TryLoseFansFromPlayTime setvar VAR_0x8004, FANCLUB_MEMBER1 - specialvar VAR_RESULT, Special_IsFanClubMemberFanOfPlayer + specialvar VAR_RESULT, Script_IsFanClubMemberFanOfPlayer compare VAR_RESULT, FALSE - call_if_eq EventScript_16F207 + call_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_MoveMember1ToFarTable setvar VAR_0x8004, FANCLUB_MEMBER2 - specialvar VAR_RESULT, Special_IsFanClubMemberFanOfPlayer + specialvar VAR_RESULT, Script_IsFanClubMemberFanOfPlayer compare VAR_RESULT, FALSE - call_if_eq EventScript_16F213 + call_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_MoveMember2ToFarTable setvar VAR_0x8004, FANCLUB_MEMBER3 - specialvar VAR_RESULT, Special_IsFanClubMemberFanOfPlayer + specialvar VAR_RESULT, Script_IsFanClubMemberFanOfPlayer compare VAR_RESULT, FALSE - call_if_eq EventScript_16F21F + call_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_MoveMember3ToFarTable setvar VAR_0x8004, FANCLUB_MEMBER4 - specialvar VAR_RESULT, Special_IsFanClubMemberFanOfPlayer + specialvar VAR_RESULT, Script_IsFanClubMemberFanOfPlayer compare VAR_RESULT, FALSE - call_if_eq EventScript_16F22B + call_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_MoveMember4ToFarTable setvar VAR_0x8004, FANCLUB_MEMBER5 - specialvar VAR_RESULT, Special_IsFanClubMemberFanOfPlayer + specialvar VAR_RESULT, Script_IsFanClubMemberFanOfPlayer compare VAR_RESULT, FALSE - call_if_eq EventScript_16F237 + call_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_MoveMember5ToFarTable setvar VAR_0x8004, FANCLUB_MEMBER6 - specialvar VAR_RESULT, Special_IsFanClubMemberFanOfPlayer + specialvar VAR_RESULT, Script_IsFanClubMemberFanOfPlayer compare VAR_RESULT, FALSE - call_if_eq EventScript_16F243 + call_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_MoveMember6ToFarTable setvar VAR_0x8004, FANCLUB_MEMBER7 - specialvar VAR_RESULT, Special_IsFanClubMemberFanOfPlayer + specialvar VAR_RESULT, Script_IsFanClubMemberFanOfPlayer compare VAR_RESULT, FALSE - call_if_eq EventScript_16F24F + call_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_MoveMember7ToFarTable setvar VAR_0x8004, FANCLUB_MEMBER8 - specialvar VAR_RESULT, Special_IsFanClubMemberFanOfPlayer + specialvar VAR_RESULT, Script_IsFanClubMemberFanOfPlayer compare VAR_RESULT, FALSE - call_if_eq EventScript_16F25B + call_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_MoveMember8ToFarTable end -EventScript_16F207:: @ 816F207 +SaffronCity_PokemonTrainerFanClub_EventScript_MoveMember1ToFarTable:: @ 816F207 setobjectxyperm 1, 5, 2 - setobjectmovementtype 1, 7 + setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP return -EventScript_16F213:: @ 816F213 +SaffronCity_PokemonTrainerFanClub_EventScript_MoveMember2ToFarTable:: @ 816F213 setobjectxyperm 3, 7, 4 - setobjectmovementtype 3, 9 + setobjectmovementtype 3, MOVEMENT_TYPE_FACE_LEFT return -EventScript_16F21F:: @ 816F21F +SaffronCity_PokemonTrainerFanClub_EventScript_MoveMember3ToFarTable:: @ 816F21F setobjectxyperm 4, 2, 2 - setobjectmovementtype 4, 7 + setobjectmovementtype 4, MOVEMENT_TYPE_FACE_UP return -EventScript_16F22B:: @ 816F22B +SaffronCity_PokemonTrainerFanClub_EventScript_MoveMember4ToFarTable:: @ 816F22B setobjectxyperm 2, 3, 4 - setobjectmovementtype 2, 10 + setobjectmovementtype 2, MOVEMENT_TYPE_FACE_RIGHT return -EventScript_16F237:: @ 816F237 +SaffronCity_PokemonTrainerFanClub_EventScript_MoveMember5ToFarTable:: @ 816F237 setobjectxyperm 6, 4, 6 - setobjectmovementtype 6, 7 + setobjectmovementtype 6, MOVEMENT_TYPE_FACE_UP return -EventScript_16F243:: @ 816F243 +SaffronCity_PokemonTrainerFanClub_EventScript_MoveMember6ToFarTable:: @ 816F243 setobjectxyperm 5, 10, 3 - setobjectmovementtype 5, 7 + setobjectmovementtype 5, MOVEMENT_TYPE_FACE_UP return -EventScript_16F24F:: @ 816F24F +SaffronCity_PokemonTrainerFanClub_EventScript_MoveMember7ToFarTable:: @ 816F24F setobjectxyperm 7, 7, 5 - setobjectmovementtype 7, 9 + setobjectmovementtype 7, MOVEMENT_TYPE_FACE_LEFT return -EventScript_16F25B:: @ 816F25B +SaffronCity_PokemonTrainerFanClub_EventScript_MoveMember8ToFarTable:: @ 816F25B setobjectxyperm 8, 9, 6 - setobjectmovementtype 8, 9 + setobjectmovementtype 8, MOVEMENT_TYPE_FACE_LEFT return -EventScript_16F267:: @ 816F267 - call EventScript_16F22B - call EventScript_16F237 - call EventScript_16F243 - call EventScript_16F24F - call EventScript_16F25B +SaffronCity_PokemonTrainerFanClub_EventScript_SetMemberPosForFirstMeeting:: @ 816F267 + call SaffronCity_PokemonTrainerFanClub_EventScript_MoveMember4ToFarTable + call SaffronCity_PokemonTrainerFanClub_EventScript_MoveMember5ToFarTable + call SaffronCity_PokemonTrainerFanClub_EventScript_MoveMember6ToFarTable + call SaffronCity_PokemonTrainerFanClub_EventScript_MoveMember7ToFarTable + call SaffronCity_PokemonTrainerFanClub_EventScript_MoveMember8ToFarTable end -SaffronCity_PokemonTrainerFanClub_EventScript_16F281:: @ 816F281 +SaffronCity_PokemonTrainerFanClub_EventScript_BattleGirl:: @ 816F281 lock faceplayer setvar VAR_0x8004, FANCLUB_MEMBER1 - special Special_BufferFanClubTrainerName + special Script_BufferFanClubTrainerName compare VAR_MAP_SCENE_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB, 0 - goto_if_eq EventScript_16F2EE - specialvar VAR_RESULT, Special_IsFanClubMemberFanOfPlayer + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_BattleGirlPlayerNotChampion + specialvar VAR_RESULT, Script_IsFanClubMemberFanOfPlayer compare VAR_RESULT, TRUE - goto_if_eq EventScript_16F2C0 - specialvar VAR_RESULT, Special_GetNumFansOfPlayerInTrainerFanClub + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_BattleGirlPlayersFan + specialvar VAR_RESULT, Script_GetNumFansOfPlayerInTrainerFanClub compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1) - goto_if_eq EventScript_16F2E4 - msgbox gUnknown_819C420 + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_BattleGirlOnlyNonFan + msgbox SaffronCity_PokemonTrainerFanClub_Text_WasYourFanNotAnymore release end -EventScript_16F2C0:: @ 816F2C0 - specialvar VAR_RESULT, Special_GetNumFansOfPlayerInTrainerFanClub +SaffronCity_PokemonTrainerFanClub_EventScript_BattleGirlPlayersFan:: @ 816F2C0 + specialvar VAR_RESULT, Script_GetNumFansOfPlayerInTrainerFanClub compare VAR_RESULT, 1 - goto_if_eq EventScript_16F2DA - msgbox gUnknown_819C390 + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_BattleGirlOnlyFan + msgbox SaffronCity_PokemonTrainerFanClub_Text_AlwaysCheerForYou release end -EventScript_16F2DA:: @ 816F2DA - msgbox gUnknown_819C3BD +SaffronCity_PokemonTrainerFanClub_EventScript_BattleGirlOnlyFan:: @ 816F2DA + msgbox SaffronCity_PokemonTrainerFanClub_Text_IllAlwaysBelieveInYou release end -EventScript_16F2E4:: @ 816F2E4 - msgbox gUnknown_819C4A5 +SaffronCity_PokemonTrainerFanClub_EventScript_BattleGirlOnlyNonFan:: @ 816F2E4 + msgbox SaffronCity_PokemonTrainerFanClub_Text_EveryonesYourFanButICantBe release end -EventScript_16F2EE:: @ 816F2EE - msgbox gUnknown_819C55C +SaffronCity_PokemonTrainerFanClub_EventScript_BattleGirlPlayerNotChampion:: @ 816F2EE + msgbox SaffronCity_PokemonTrainerFanClub_Text_TrainersCoolWhenBattling release end -SaffronCity_PokemonTrainerFanClub_EventScript_16F2F8:: @ 816F2F8 +SaffronCity_PokemonTrainerFanClub_EventScript_LittleGirl:: @ 816F2F8 lock faceplayer setvar VAR_0x8004, FANCLUB_MEMBER4 - special Special_BufferFanClubTrainerName + special Script_BufferFanClubTrainerName compare VAR_MAP_SCENE_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB, 0 - goto_if_eq EventScript_16F365 - specialvar VAR_RESULT, Special_IsFanClubMemberFanOfPlayer + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_LittleGirlPlayerNotChampion + specialvar VAR_RESULT, Script_IsFanClubMemberFanOfPlayer compare VAR_RESULT, TRUE - goto_if_eq EventScript_16F337 - specialvar VAR_RESULT, Special_GetNumFansOfPlayerInTrainerFanClub + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_LittleGirlPlayersFan + specialvar VAR_RESULT, Script_GetNumFansOfPlayerInTrainerFanClub compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1) - goto_if_eq EventScript_16F35B - msgbox gUnknown_819CBD3 + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_LittleGirlOnlyNonFan + msgbox SaffronCity_PokemonTrainerFanClub_Text_WantToBeLikeSabrina release end -EventScript_16F337:: @ 816F337 - specialvar VAR_RESULT, Special_GetNumFansOfPlayerInTrainerFanClub +SaffronCity_PokemonTrainerFanClub_EventScript_LittleGirlPlayersFan:: @ 816F337 + specialvar VAR_RESULT, Script_GetNumFansOfPlayerInTrainerFanClub compare VAR_RESULT, 1 - goto_if_eq EventScript_16F351 - msgbox gUnknown_819CB32 + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_LittleGirlOnlyFan + msgbox SaffronCity_PokemonTrainerFanClub_Text_WantToBeLikeYouOneDay release end -EventScript_16F351:: @ 816F351 - msgbox gUnknown_819CB62 +SaffronCity_PokemonTrainerFanClub_EventScript_LittleGirlOnlyFan:: @ 816F351 + msgbox SaffronCity_PokemonTrainerFanClub_Text_EveryoneButMeStoppedBeingYourFan release end -EventScript_16F35B:: @ 816F35B - msgbox gUnknown_819CC2B +SaffronCity_PokemonTrainerFanClub_EventScript_LittleGirlOnlyNonFan:: @ 816F35B + msgbox SaffronCity_PokemonTrainerFanClub_Text_WontStopBeingSabrinasFan release end -EventScript_16F365:: @ 816F365 - msgbox gUnknown_819CCC2 +SaffronCity_PokemonTrainerFanClub_EventScript_LittleGirlPlayerNotChampion:: @ 816F365 + msgbox SaffronCity_PokemonTrainerFanClub_Text_CanIBecomeCoolTrainerOneDay release end -SaffronCity_PokemonTrainerFanClub_EventScript_16F36F:: @ 816F36F +SaffronCity_PokemonTrainerFanClub_EventScript_Youngster:: @ 816F36F lock faceplayer setvar VAR_0x8004, FANCLUB_MEMBER2 - special Special_BufferFanClubTrainerName + special Script_BufferFanClubTrainerName compare VAR_MAP_SCENE_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB, 0 - goto_if_eq EventScript_16F3DC - specialvar VAR_RESULT, Special_IsFanClubMemberFanOfPlayer + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_YoungsterPlayerNotChampion + specialvar VAR_RESULT, Script_IsFanClubMemberFanOfPlayer compare VAR_RESULT, TRUE - goto_if_eq EventScript_16F3AE - specialvar VAR_RESULT, Special_GetNumFansOfPlayerInTrainerFanClub + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_YoungsterPlayersFan + specialvar VAR_RESULT, Script_GetNumFansOfPlayerInTrainerFanClub compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1) - goto_if_eq EventScript_16F3D2 - msgbox gUnknown_819C6BA + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_YoungsterOnlyNonFan + msgbox SaffronCity_PokemonTrainerFanClub_Text_BrocksMyHero release end -EventScript_16F3AE:: @ 816F3AE - specialvar VAR_RESULT, Special_GetNumFansOfPlayerInTrainerFanClub +SaffronCity_PokemonTrainerFanClub_EventScript_YoungsterPlayersFan:: @ 816F3AE + specialvar VAR_RESULT, Script_GetNumFansOfPlayerInTrainerFanClub compare VAR_RESULT, 1 - goto_if_eq EventScript_16F3C8 - msgbox gUnknown_819C5A9 + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_YoungsterOnlyFan + msgbox SaffronCity_PokemonTrainerFanClub_Text_CanYouAutographShorts release end -EventScript_16F3C8:: @ 816F3C8 - msgbox gUnknown_819C600 +SaffronCity_PokemonTrainerFanClub_EventScript_YoungsterOnlyFan:: @ 816F3C8 + msgbox SaffronCity_PokemonTrainerFanClub_Text_CountingOnYou release end -EventScript_16F3D2:: @ 816F3D2 - msgbox gUnknown_819C73A +SaffronCity_PokemonTrainerFanClub_EventScript_YoungsterOnlyNonFan:: @ 816F3D2 + msgbox SaffronCity_PokemonTrainerFanClub_Text_BrocksFanToBitterEnd release end -EventScript_16F3DC:: @ 816F3DC - msgbox gUnknown_819C7C8 +SaffronCity_PokemonTrainerFanClub_EventScript_YoungsterPlayerNotChampion:: @ 816F3DC + msgbox SaffronCity_PokemonTrainerFanClub_Text_BrocksLastWordOnCool release end -SaffronCity_PokemonTrainerFanClub_EventScript_16F3E6:: @ 816F3E6 +SaffronCity_PokemonTrainerFanClub_EventScript_Gentleman:: @ 816F3E6 lock faceplayer setvar VAR_0x8004, FANCLUB_MEMBER3 - special Special_BufferFanClubTrainerName + special Script_BufferFanClubTrainerName compare VAR_MAP_SCENE_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB, 0 - goto_if_eq EventScript_16F453 - specialvar VAR_RESULT, Special_IsFanClubMemberFanOfPlayer + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_GentlemanPlayerNotChampion + specialvar VAR_RESULT, Script_IsFanClubMemberFanOfPlayer compare VAR_RESULT, TRUE - goto_if_eq EventScript_16F425 - specialvar VAR_RESULT, Special_GetNumFansOfPlayerInTrainerFanClub + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_GentlemanPlayersFan + specialvar VAR_RESULT, Script_GetNumFansOfPlayerInTrainerFanClub compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1) - goto_if_eq EventScript_16F449 - msgbox gUnknown_819C986 + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_GentlemanOnlyNonFan + msgbox SaffronCity_PokemonTrainerFanClub_Text_HmmAndYouAre release end -EventScript_16F425:: @ 816F425 - specialvar VAR_RESULT, Special_GetNumFansOfPlayerInTrainerFanClub +SaffronCity_PokemonTrainerFanClub_EventScript_GentlemanPlayersFan:: @ 816F425 + specialvar VAR_RESULT, Script_GetNumFansOfPlayerInTrainerFanClub compare VAR_RESULT, 1 - goto_if_eq EventScript_16F43F - msgbox gUnknown_819C81E + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_GentlemanOnlyFan + msgbox SaffronCity_PokemonTrainerFanClub_Text_HadPleasureOfWatchingYouBattle release end -EventScript_16F43F:: @ 816F43F - msgbox gUnknown_819C8C1 +SaffronCity_PokemonTrainerFanClub_EventScript_GentlemanOnlyFan:: @ 816F43F + msgbox SaffronCity_PokemonTrainerFanClub_Text_NeverSeenTrainerOfYourMagnificence release end -EventScript_16F449:: @ 816F449 - msgbox gUnknown_819C9D5 +SaffronCity_PokemonTrainerFanClub_EventScript_GentlemanOnlyNonFan:: @ 816F449 + msgbox SaffronCity_PokemonTrainerFanClub_Text_YouveStillAWaysToGo release end -EventScript_16F453:: @ 816F453 - msgbox gUnknown_819CA7C +SaffronCity_PokemonTrainerFanClub_EventScript_GentlemanPlayerNotChampion:: @ 816F453 + msgbox SaffronCity_PokemonTrainerFanClub_Text_YoullBeTalkedAboutIfYouKeepWinning release end -SaffronCity_PokemonTrainerFanClub_EventScript_16F45D:: @ 816F45D +SaffronCity_PokemonTrainerFanClub_EventScript_Woman:: @ 816F45D lock faceplayer setvar VAR_0x8004, FANCLUB_MEMBER6 - special Special_BufferFanClubTrainerName - specialvar VAR_RESULT, Special_IsFanClubMemberFanOfPlayer + special Script_BufferFanClubTrainerName + specialvar VAR_RESULT, Script_IsFanClubMemberFanOfPlayer compare VAR_RESULT, TRUE - goto_if_eq EventScript_16F491 - specialvar VAR_RESULT, Special_GetNumFansOfPlayerInTrainerFanClub + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_WomanPlayersFan + specialvar VAR_RESULT, Script_GetNumFansOfPlayerInTrainerFanClub compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1) - goto_if_eq EventScript_16F4B5 - msgbox gUnknown_819D01F + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_WomanOnlyNonFan + msgbox SaffronCity_PokemonTrainerFanClub_Text_TrainerHasBeenOnFire release end -EventScript_16F491:: @ 816F491 - specialvar VAR_RESULT, Special_GetNumFansOfPlayerInTrainerFanClub +SaffronCity_PokemonTrainerFanClub_EventScript_WomanPlayersFan:: @ 816F491 + specialvar VAR_RESULT, Script_GetNumFansOfPlayerInTrainerFanClub compare VAR_RESULT, 1 - goto_if_eq EventScript_16F4AB - msgbox gUnknown_819CEDF + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_WomanOnlyFan + msgbox SaffronCity_PokemonTrainerFanClub_Text_AdoreWayYouBattle release end -EventScript_16F4AB:: @ 816F4AB - msgbox gUnknown_819CF6D +SaffronCity_PokemonTrainerFanClub_EventScript_WomanOnlyFan:: @ 816F4AB + msgbox SaffronCity_PokemonTrainerFanClub_Text_ImYourNumberOneFan release end -EventScript_16F4B5:: @ 816F4B5 - msgbox gUnknown_819D075 +SaffronCity_PokemonTrainerFanClub_EventScript_WomanOnlyNonFan:: @ 816F4B5 + msgbox SaffronCity_PokemonTrainerFanClub_Text_EveryoneTalksAboutYou release end -SaffronCity_PokemonTrainerFanClub_EventScript_16F4BF:: @ 816F4BF +SaffronCity_PokemonTrainerFanClub_EventScript_Rocker:: @ 816F4BF lock faceplayer setvar VAR_0x8004, FANCLUB_MEMBER5 - special Special_BufferFanClubTrainerName - specialvar VAR_RESULT, Special_IsFanClubMemberFanOfPlayer + special Script_BufferFanClubTrainerName + specialvar VAR_RESULT, Script_IsFanClubMemberFanOfPlayer compare VAR_RESULT, TRUE - goto_if_eq EventScript_16F4F3 - specialvar VAR_RESULT, Special_GetNumFansOfPlayerInTrainerFanClub + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_RockerPlayersFan + specialvar VAR_RESULT, Script_GetNumFansOfPlayerInTrainerFanClub compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1) - goto_if_eq EventScript_16F517 - msgbox gUnknown_819CDDA + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_RockerOnlyNonFan + msgbox SaffronCity_PokemonTrainerFanClub_Text_LoveWayTrainerTalks release end -EventScript_16F4F3:: @ 816F4F3 - specialvar VAR_RESULT, Special_GetNumFansOfPlayerInTrainerFanClub +SaffronCity_PokemonTrainerFanClub_EventScript_RockerPlayersFan:: @ 816F4F3 + specialvar VAR_RESULT, Script_GetNumFansOfPlayerInTrainerFanClub compare VAR_RESULT, 1 - goto_if_eq EventScript_16F50D - msgbox gUnknown_819CCF3 + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_RockerOnlyFan + msgbox SaffronCity_PokemonTrainerFanClub_Text_TheWayYouBattleIsCool release end -EventScript_16F50D:: @ 816F50D - msgbox gUnknown_819CD4E +SaffronCity_PokemonTrainerFanClub_EventScript_RockerOnlyFan:: @ 816F50D + msgbox SaffronCity_PokemonTrainerFanClub_Text_ImOnlyOneLeftOfYourFans release end -EventScript_16F517:: @ 816F517 - msgbox gUnknown_819CE3A +SaffronCity_PokemonTrainerFanClub_EventScript_RockerOnlyNonFan:: @ 816F517 + msgbox SaffronCity_PokemonTrainerFanClub_Text_ImLoneTrainerFan release end -SaffronCity_PokemonTrainerFanClub_EventScript_16F521:: @ 816F521 +SaffronCity_PokemonTrainerFanClub_EventScript_Beauty:: @ 816F521 lock faceplayer setvar VAR_0x8004, FANCLUB_MEMBER7 - special Special_BufferFanClubTrainerName - specialvar VAR_RESULT, Special_IsFanClubMemberFanOfPlayer + special Script_BufferFanClubTrainerName + specialvar VAR_RESULT, Script_IsFanClubMemberFanOfPlayer compare VAR_RESULT, TRUE - goto_if_eq EventScript_16F555 - specialvar VAR_RESULT, Special_GetNumFansOfPlayerInTrainerFanClub + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_BeautyPlayersFan + specialvar VAR_RESULT, Script_GetNumFansOfPlayerInTrainerFanClub compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1) - goto_if_eq EventScript_16F579 - msgbox gUnknown_819D1AE + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_BeautyOnlyNonFan + msgbox SaffronCity_PokemonTrainerFanClub_Text_WhyCantOthersSeeMastersDignity release end -EventScript_16F555:: @ 816F555 - specialvar VAR_RESULT, Special_GetNumFansOfPlayerInTrainerFanClub +SaffronCity_PokemonTrainerFanClub_EventScript_BeautyPlayersFan:: @ 816F555 + specialvar VAR_RESULT, Script_GetNumFansOfPlayerInTrainerFanClub compare VAR_RESULT, 1 - goto_if_eq EventScript_16F56F - msgbox gUnknown_819D0E3 + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_BeautyOnlyFan + msgbox SaffronCity_PokemonTrainerFanClub_Text_YouReallyAreAmazing release end -EventScript_16F56F:: @ 816F56F - msgbox gUnknown_819D148 +SaffronCity_PokemonTrainerFanClub_EventScript_BeautyOnlyFan:: @ 816F56F + msgbox SaffronCity_PokemonTrainerFanClub_Text_ImYourOnlyFan release end -EventScript_16F579:: @ 816F579 - msgbox gUnknown_819D211 +SaffronCity_PokemonTrainerFanClub_EventScript_BeautyOnlyNonFan:: @ 816F579 + msgbox SaffronCity_PokemonTrainerFanClub_Text_BelieveInMasterWithAllMyHeart release end -SaffronCity_PokemonTrainerFanClub_EventScript_16F583:: @ 816F583 +SaffronCity_PokemonTrainerFanClub_EventScript_BlackBelt:: @ 816F583 lock faceplayer setvar VAR_0x8004, FANCLUB_MEMBER8 - special Special_BufferFanClubTrainerName - specialvar VAR_RESULT, Special_IsFanClubMemberFanOfPlayer + special Script_BufferFanClubTrainerName + specialvar VAR_RESULT, Script_IsFanClubMemberFanOfPlayer compare VAR_RESULT, TRUE - goto_if_eq EventScript_16F5B7 - specialvar VAR_RESULT, Special_GetNumFansOfPlayerInTrainerFanClub + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_BlackBeltPlayersFan + specialvar VAR_RESULT, Script_GetNumFansOfPlayerInTrainerFanClub compare VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1) - goto_if_eq EventScript_16F5DB - msgbox gUnknown_819D3D2 + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_BlackBeltOnlyNonFan + msgbox SaffronCity_PokemonTrainerFanClub_Text_OnlyMasterHasMyRespect release end -EventScript_16F5B7:: @ 816F5B7 - specialvar VAR_RESULT, Special_GetNumFansOfPlayerInTrainerFanClub +SaffronCity_PokemonTrainerFanClub_EventScript_BlackBeltPlayersFan:: @ 816F5B7 + specialvar VAR_RESULT, Script_GetNumFansOfPlayerInTrainerFanClub compare VAR_RESULT, 1 - goto_if_eq EventScript_16F5D1 - msgbox gUnknown_819D2B4 + goto_if_eq SaffronCity_PokemonTrainerFanClub_EventScript_BlackBeltOnlyFan + msgbox SaffronCity_PokemonTrainerFanClub_Text_YourBattleStyleIsEducational release end -EventScript_16F5D1:: @ 816F5D1 - msgbox gUnknown_819D31F +SaffronCity_PokemonTrainerFanClub_EventScript_BlackBeltOnlyFan:: @ 816F5D1 + msgbox SaffronCity_PokemonTrainerFanClub_Text_WontStopBeingYourFan release end -EventScript_16F5DB:: @ 816F5DB - msgbox gUnknown_819D477 +SaffronCity_PokemonTrainerFanClub_EventScript_BlackBeltOnlyNonFan:: @ 816F5DB + msgbox SaffronCity_PokemonTrainerFanClub_Text_NeverBeFanOfAnyoneButMaster release end diff --git a/data/maps/SaffronCity_PokemonTrainerFanClub/text.inc b/data/maps/SaffronCity_PokemonTrainerFanClub/text.inc index ecbf0b024..fb9358c70 100644 --- a/data/maps/SaffronCity_PokemonTrainerFanClub/text.inc +++ b/data/maps/SaffronCity_PokemonTrainerFanClub/text.inc @@ -1,8 +1,8 @@ -gUnknown_819C22B:: @ 819C22B +SaffronCity_PokemonTrainerFanClub_Text_HuhYou:: @ 819C22B .string "Huh?\n" .string "You…$" -gUnknown_819C235:: @ 819C235 +SaffronCity_PokemonTrainerFanClub_Text_YourePlayerWereYourFansNow:: @ 819C235 .string "Are you maybe…\n" .string "… …\p" .string "You are!\n" @@ -19,17 +19,17 @@ gUnknown_819C235:: @ 819C235 .string "That way, maybe other people will\n" .string "become fans just like me.$" -gUnknown_819C390:: @ 819C390 +SaffronCity_PokemonTrainerFanClub_Text_AlwaysCheerForYou:: @ 819C390 .string "I'll always be cheering for you!\p" .string "Go, {PLAYER}, go!$" -gUnknown_819C3BD:: @ 819C3BD +SaffronCity_PokemonTrainerFanClub_Text_IllAlwaysBelieveInYou:: @ 819C3BD .string "I'll always believe in you,\n" .string "{PLAYER}.\p" .string "Please show the others what you're\n" .string "like when you battle seriously.$" -gUnknown_819C420:: @ 819C420 +SaffronCity_PokemonTrainerFanClub_Text_WasYourFanNotAnymore:: @ 819C420 .string "I'm sorry.\n" .string "I was your fan before.\p" .string "But now, you seem to have lost\n" @@ -37,7 +37,7 @@ gUnknown_819C420:: @ 819C420 .string "Lately, I think {STR_VAR_1} has been\n" .string "a lot cooler.$" -gUnknown_819C4A5:: @ 819C4A5 +SaffronCity_PokemonTrainerFanClub_Text_EveryonesYourFanButICantBe:: @ 819C4A5 .string "Oh!\n" .string "{PLAYER}!\p" .string "Everyone's been all excited about\n" @@ -48,12 +48,12 @@ gUnknown_819C4A5:: @ 819C4A5 .string "Once I became {STR_VAR_1}'s fan,\n" .string "I can't just stop being a fan.$" -gUnknown_819C55C:: @ 819C55C +SaffronCity_PokemonTrainerFanClub_Text_TrainersCoolWhenBattling:: @ 819C55C .string "I think TRAINERS are so cool when\n" .string "they're battling.\p" .string "Don't you think so, too?$" -gUnknown_819C5A9:: @ 819C5A9 +SaffronCity_PokemonTrainerFanClub_Text_CanYouAutographShorts:: @ 819C5A9 .string "Oh! It's {PLAYER}!\n" .string "Too cool!\p" .string "Oh!\n" @@ -61,7 +61,7 @@ gUnknown_819C5A9:: @ 819C5A9 .string "Can you autograph something?\n" .string "How about my shorts?$" -gUnknown_819C600:: @ 819C600 +SaffronCity_PokemonTrainerFanClub_Text_CountingOnYou:: @ 819C600 .string "However hot it's been…\p" .string "And however cold it may get…\p" .string "I've always believed in, and worn,\n" @@ -71,7 +71,7 @@ gUnknown_819C600:: @ 819C600 .string "I believe in you just as much as\n" .string "I believe in shorts!$" -gUnknown_819C6BA:: @ 819C6BA +SaffronCity_PokemonTrainerFanClub_Text_BrocksMyHero:: @ 819C6BA .string "BROCK's my hero!\n" .string "He's a man among men!\p" .string "Heheh, I got my mom to do\n" @@ -79,7 +79,7 @@ gUnknown_819C6BA:: @ 819C6BA .string "I got her to embroider “BROCK”\n" .string "on my shorts!$" -gUnknown_819C73A:: @ 819C73A +SaffronCity_PokemonTrainerFanClub_Text_BrocksFanToBitterEnd:: @ 819C73A .string "… …\p" .string "… …\n" .string "I'm BROCK's fan!\p" @@ -88,13 +88,13 @@ gUnknown_819C73A:: @ 819C73A .string "and on my shorts!\p" .string "I'll be his fan to the bitter end!$" -gUnknown_819C7C8:: @ 819C7C8 +SaffronCity_PokemonTrainerFanClub_Text_BrocksLastWordOnCool:: @ 819C7C8 .string "BROCK's the last word on cool,\n" .string "end of story!\p" .string "Now there's a guy who I want to\n" .string "be like!$" -gUnknown_819C81E:: @ 819C81E +SaffronCity_PokemonTrainerFanClub_Text_HadPleasureOfWatchingYouBattle:: @ 819C81E .string "{PLAYER}, I've had the pleasure of\n" .string "watching you battle.\p" .string "It brings back sweet memories of\n" @@ -102,7 +102,7 @@ gUnknown_819C81E:: @ 819C81E .string "May you continue to find success.\n" .string "You have a fan in me!$" -gUnknown_819C8C1:: @ 819C8C1 +SaffronCity_PokemonTrainerFanClub_Text_NeverSeenTrainerOfYourMagnificence:: @ 819C8C1 .string "I have journeyed far and wide\n" .string "across the lands.\p" .string "But never have I seen a TRAINER\n" @@ -112,13 +112,13 @@ gUnknown_819C8C1:: @ 819C8C1 .string "Make that a promise to me,\n" .string "my young idol!$" -gUnknown_819C986:: @ 819C986 +SaffronCity_PokemonTrainerFanClub_Text_HmmAndYouAre:: @ 819C986 .string "Hmm…\n" .string "And you are?\p" .string "Were you hoping to sign up for\n" .string "a membership in our FAN CLUB?$" -gUnknown_819C9D5:: @ 819C9D5 +SaffronCity_PokemonTrainerFanClub_Text_YouveStillAWaysToGo:: @ 819C9D5 .string "Ah, so you are the much-\n" .string "talked-about {PLAYER}.\p" .string "You certainly do have the look of\n" @@ -128,7 +128,7 @@ gUnknown_819C9D5:: @ 819C9D5 .string "… …\p" .string "You've still a ways to go!$" -gUnknown_819CA7C:: @ 819CA7C +SaffronCity_PokemonTrainerFanClub_Text_YoullBeTalkedAboutIfYouKeepWinning:: @ 819CA7C .string "All of us gathered here are fans\n" .string "of POKéMON TRAINERS.\p" .string "The way they look in battle…\n" @@ -136,12 +136,12 @@ gUnknown_819CA7C:: @ 819CA7C .string "Perhaps you will be talked about\n" .string "here, too, if you keep winning.$" -gUnknown_819CB32:: @ 819CB32 +SaffronCity_PokemonTrainerFanClub_Text_WantToBeLikeYouOneDay:: @ 819CB32 .string "It's {PLAYER}!\n" .string "It's {PLAYER}!\p" .string "I want to be like {PLAYER} one day!$" -gUnknown_819CB62:: @ 819CB62 +SaffronCity_PokemonTrainerFanClub_Text_EveryoneButMeStoppedBeingYourFan:: @ 819CB62 .string "Everyone stopped being {PLAYER}'s\n" .string "fan…\p" .string "But that means I can have {PLAYER}\n" @@ -149,13 +149,13 @@ gUnknown_819CB62:: @ 819CB62 .string "Yay! Go for it!\n" .string "My one and only {PLAYER}!$" -gUnknown_819CBD3:: @ 819CBD3 +SaffronCity_PokemonTrainerFanClub_Text_WantToBeLikeSabrina:: @ 819CBD3 .string "Do you know what?\n" .string "I want to be like SABRINA!\p" .string "I want to be a psychic girl just\n" .string "like her!$" -gUnknown_819CC2B:: @ 819CC2B +SaffronCity_PokemonTrainerFanClub_Text_WontStopBeingSabrinasFan:: @ 819CC2B .string "Even if I'm the only one, I won't\n" .string "stop being SABRINA's fan.\p" .string "My dream is to be like SABRINA,\n" @@ -163,11 +163,11 @@ gUnknown_819CC2B:: @ 819CC2B .string "I want to be a psychic girl just\n" .string "like her!$" -gUnknown_819CCC2:: @ 819CCC2 +SaffronCity_PokemonTrainerFanClub_Text_CanIBecomeCoolTrainerOneDay:: @ 819CCC2 .string "I wonder if I can become a cool\n" .string "TRAINER one day?$" -gUnknown_819CCF3:: @ 819CCF3 +SaffronCity_PokemonTrainerFanClub_Text_TheWayYouBattleIsCool:: @ 819CCF3 .string "Oh, man, oh, man!\n" .string "Cool! Too cool!\p" .string "…Huh?\n" @@ -175,7 +175,7 @@ gUnknown_819CCF3:: @ 819CCF3 .string "Just the way you battle.\n" .string "That's cool.$" -gUnknown_819CD4E:: @ 819CD4E +SaffronCity_PokemonTrainerFanClub_Text_ImOnlyOneLeftOfYourFans:: @ 819CD4E .string "Yo, {PLAYER}!\p" .string "Looks like I'm the only one left\n" .string "out of your fans.\p" @@ -183,13 +183,13 @@ gUnknown_819CD4E:: @ 819CD4E .string "fan… It's less stressful.\p" .string "Keep up and at it!$" -gUnknown_819CDDA:: @ 819CDDA +SaffronCity_PokemonTrainerFanClub_Text_LoveWayTrainerTalks:: @ 819CDDA .string "{STR_VAR_1}'s cool, huh?\n" .string "I love the way he talks.\p" .string "I'd really relish a chance to meet\n" .string "him in person once.$" -gUnknown_819CE3A:: @ 819CE3A +SaffronCity_PokemonTrainerFanClub_Text_ImLoneTrainerFan:: @ 819CE3A .string "Huh, can you believe it?\n" .string "Everyone turned into your fans.\p" .string "So after all we've been through,\n" @@ -197,7 +197,7 @@ gUnknown_819CE3A:: @ 819CE3A .string "Eh, being the one and only\n" .string "{STR_VAR_1} fan's my style, anyway.$" -gUnknown_819CEDF:: @ 819CEDF +SaffronCity_PokemonTrainerFanClub_Text_AdoreWayYouBattle:: @ 819CEDF .string "Oh, my goodness!\n" .string "Is it really you, {PLAYER}?\p" .string "I have to tell you, I adore the\n" @@ -205,7 +205,7 @@ gUnknown_819CEDF:: @ 819CEDF .string "I hope you'll keep at it.\n" .string "I'll be your number one fan!$" -gUnknown_819CF6D:: @ 819CF6D +SaffronCity_PokemonTrainerFanClub_Text_ImYourNumberOneFan:: @ 819CF6D .string "Oh, my goodness!\n" .string "If it isn't {PLAYER}!\p" .string "It's so disappointing… I realized\n" @@ -214,13 +214,13 @@ gUnknown_819CF6D:: @ 819CF6D .string "Let me cheer you on, at least!\p" .string "Hurray, hurray, {PLAYER}!$" -gUnknown_819D01F:: @ 819D01F +SaffronCity_PokemonTrainerFanClub_Text_TrainerHasBeenOnFire:: @ 819D01F .string "Recently, {STR_VAR_1} has been on\n" .string "fire.\p" .string "The way he battles… It's just \n" .string "the way that I like it!$" -gUnknown_819D075:: @ 819D075 +SaffronCity_PokemonTrainerFanClub_Text_EveryoneTalksAboutYou:: @ 819D075 .string "Oh, hello!\n" .string "If it isn't {PLAYER}!\p" .string "Lately, all everyone talks about\n" @@ -228,25 +228,25 @@ gUnknown_819D075:: @ 819D075 .string "I'm feeling lonesome because I\n" .string "prefer {STR_VAR_1}.$" -gUnknown_819D0E3:: @ 819D0E3 +SaffronCity_PokemonTrainerFanClub_Text_YouReallyAreAmazing:: @ 819D0E3 .string "Amazing!\n" .string "{PLAYER}, you really are amazing!\p" .string "Instead of just watching, maybe\n" .string "I should become a TRAINER, too.$" -gUnknown_819D148:: @ 819D148 +SaffronCity_PokemonTrainerFanClub_Text_ImYourOnlyFan:: @ 819D148 .string "I'm your only fan…\n" .string "Sigh… This is lonely…\p" .string "Can't you try harder and make the\n" .string "others take notice of you?$" -gUnknown_819D1AE:: @ 819D1AE +SaffronCity_PokemonTrainerFanClub_Text_WhyCantOthersSeeMastersDignity:: @ 819D1AE .string "Master {STR_VAR_1} is so dignified…\n" .string "He is so my type.\p" .string "Why can't the others see the\n" .string "dignity he simply oozes?$" -gUnknown_819D211:: @ 819D211 +SaffronCity_PokemonTrainerFanClub_Text_BelieveInMasterWithAllMyHeart:: @ 819D211 .string "I believe in Master {STR_VAR_1}\n" .string "with all my heart.\p" .string "Even if I am the only one to\n" @@ -255,14 +255,14 @@ gUnknown_819D211:: @ 819D211 .string "Not if I keep thinking about Master\n" .string "{STR_VAR_1}.$" -gUnknown_819D2B4:: @ 819D2B4 +SaffronCity_PokemonTrainerFanClub_Text_YourBattleStyleIsEducational:: @ 819D2B4 .string "Hiyah!\p" .string "Your battling style is most\n" .string "educational.\p" .string "I hope that you will keep plugging\n" .string "away at success, hiyah!$" -gUnknown_819D31F:: @ 819D31F +SaffronCity_PokemonTrainerFanClub_Text_WontStopBeingYourFan:: @ 819D31F .string "Instead of just watching others\n" .string "battle, battle yourself!\p" .string "…My DOJO's MASTER chewed me out\n" @@ -271,7 +271,7 @@ gUnknown_819D31F:: @ 819D31F .string "being your fan!\p" .string "I can't stop being your fan!$" -gUnknown_819D3D2:: @ 819D3D2 +SaffronCity_PokemonTrainerFanClub_Text_OnlyMasterHasMyRespect:: @ 819D3D2 .string "Hiyah! There is but one TRAINER\n" .string "who has my respect.\p" .string "And that is none other than my\n" @@ -279,7 +279,7 @@ gUnknown_819D3D2:: @ 819D3D2 .string "You should become a fan of my\n" .string "MASTER like me! Hiyah!$" -gUnknown_819D477:: @ 819D477 +SaffronCity_PokemonTrainerFanClub_Text_NeverBeFanOfAnyoneButMaster:: @ 819D477 .string "Hiyah! I respect my MASTER at the\n" .string "FIGHTING DOJO.\p" .string "I will never become a fan of\n" diff --git a/data/maps/SeafoamIslands_1F/map.json b/data/maps/SeafoamIslands_1F/map.json index 9006cac0a..e542dd610 100644 --- a/data/maps/SeafoamIslands_1F/map.json +++ b/data/maps/SeafoamIslands_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SEAFOAM_ISLANDS", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 22, "y": 12, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 0, "trainer_type": 66, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_HIDE_SEAFOAM_1F_BOULDER_1" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 32, "y": 9, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 0, "trainer_type": 67, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_HIDE_SEAFOAM_1F_BOULDER_2" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 11, "y": 8, "elevation": 3, diff --git a/data/maps/SeafoamIslands_B1F/map.json b/data/maps/SeafoamIslands_B1F/map.json index ed0f29ae1..253b640b3 100644 --- a/data/maps/SeafoamIslands_B1F/map.json +++ b/data/maps/SeafoamIslands_B1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SEAFOAM_ISLANDS", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 22, "y": 8, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 0, "trainer_type": 68, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_HIDE_SEAFOAM_B1F_BOULDER_1" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 30, "y": 8, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 0, "trainer_type": 69, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_HIDE_SEAFOAM_B1F_BOULDER_2" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 19, "y": 18, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "FLAG_HIDE_SEAFOAM_ISLANDS_B1F_WATER_STONE" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 24, "y": 14, "elevation": 4, diff --git a/data/maps/SeafoamIslands_B2F/map.json b/data/maps/SeafoamIslands_B2F/map.json index 3e6f5f257..05f393cf0 100644 --- a/data/maps/SeafoamIslands_B2F/map.json +++ b/data/maps/SeafoamIslands_B2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SEAFOAM_ISLANDS", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 22, "y": 8, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 0, "trainer_type": 70, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_HIDE_SEAFOAM_B2F_BOULDER_1" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 30, "y": 8, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 0, "trainer_type": 71, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_HIDE_SEAFOAM_B2F_BOULDER_2" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 18, "y": 15, "elevation": 3, diff --git a/data/maps/SeafoamIslands_B3F/map.json b/data/maps/SeafoamIslands_B3F/map.json index e5c9cc7d1..d84d79b54 100644 --- a/data/maps/SeafoamIslands_B3F/map.json +++ b/data/maps/SeafoamIslands_B3F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SEAFOAM_ISLANDS", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 23, "y": 8, "elevation": 1, @@ -27,7 +29,7 @@ "flag": "FLAG_HIDE_SEAFOAM_B3F_BOULDER_1" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 24, "y": 8, "elevation": 1, @@ -40,7 +42,7 @@ "flag": "FLAG_HIDE_SEAFOAM_B3F_BOULDER_2" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 12, "y": 16, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 0, "trainer_type": 77, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_HIDE_SEAFOAM_B3F_BOULDER_5" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 13, "y": 16, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_HIDE_SEAFOAM_B3F_BOULDER_6" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 9, "y": 16, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_HIDE_SEAFOAM_B3F_BOULDER_4" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 6, "y": 17, "elevation": 3, @@ -88,7 +90,7 @@ "movement_range_y": 0, "trainer_type": 76, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_HIDE_SEAFOAM_B3F_BOULDER_3" } ], diff --git a/data/maps/SeafoamIslands_B4F/map.json b/data/maps/SeafoamIslands_B4F/map.json index 22a8851ac..edd0e5d3f 100644 --- a/data/maps/SeafoamIslands_B4F/map.json +++ b/data/maps/SeafoamIslands_B4F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SEAFOAM_ISLANDS", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 8, "y": 18, "elevation": 1, @@ -27,7 +29,7 @@ "flag": "FLAG_HIDE_SEAFOAM_B4F_BOULDER_1" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 9, "y": 18, "elevation": 1, @@ -40,7 +42,7 @@ "flag": "FLAG_HIDE_SEAFOAM_B4F_BOULDER_2" }, { - "graphics_id": "OBJECT_EVENT_GFX_ARTICUNO", + "graphics_id": "OBJ_EVENT_GFX_ARTICUNO", "x": 9, "y": 2, "elevation": 4, @@ -53,7 +55,7 @@ "flag": "FLAG_HIDE_ARTICUNO" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 22, "y": 19, "elevation": 4, @@ -137,17 +139,19 @@ "underfoot": false }, { - "type": "bg_event_type_0", + "type": "sign", "x": 30, "y": 2, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SeafoamIslands_B4F_EventScript_FastCurrentSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 14, "y": 18, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SeafoamIslands_B4F_EventScript_BoulderHintSign" } ] diff --git a/data/maps/SeafoamIslands_B4F/scripts.inc b/data/maps/SeafoamIslands_B4F/scripts.inc index c7343fcb6..3e63ff0ed 100644 --- a/data/maps/SeafoamIslands_B4F/scripts.inc +++ b/data/maps/SeafoamIslands_B4F/scripts.inc @@ -13,7 +13,7 @@ SeafoamIslands_B4F_OnResume:: @ 8163048 end SeafoamIslands_B4F_EventScript_TryRemoveArticuno:: @ 8163052 - specialvar VAR_RESULT, Special_GetBattleOutcome + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne EventScript_Return removeobject VAR_LAST_TALKED @@ -64,7 +64,7 @@ SeafoamIslands_B4F_OnWarp:: @ 81630E7 SeafoamIslands_B4F_EventScript_WarpInOnCurrent:: @ 81630F1 turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH - special Special_ForcePlayerToStartSurfing + special ForcePlayerToStartSurfing end SeafoamIslands_B4F_OnFrame:: @ 81630F9 @@ -172,10 +172,10 @@ SeafoamIslands_B4F_EventScript_Articuno:: @ 81631AC playbgm MUS_EXEYE, 0 waitbuttonpress setflag FLAG_SYS_SPECIAL_WILD_BATTLE - special Special_StartLegendaryBattle + special StartLegendaryBattle waitstate clearflag FLAG_SYS_SPECIAL_WILD_BATTLE - specialvar VAR_RESULT, Special_GetBattleOutcome + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, B_OUTCOME_WON goto_if_eq SeafoamIslands_B4F_EventScript_DefeatedArticuno compare VAR_RESULT, B_OUTCOME_RAN diff --git a/data/maps/SevenIsland/map.json b/data/maps/SevenIsland/map.json index 8eab1efa3..829698bf9 100644 --- a/data/maps/SevenIsland/map.json +++ b/data/maps/SevenIsland/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_SEVEN_ISLAND", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_1", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_TOWN", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_SEVEN_ISLAND_TRAINER_TOWER", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_M", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_M", "x": 7, "y": 18, "elevation": 3, @@ -38,7 +40,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_WOMAN", + "graphics_id": "OBJ_EVENT_GFX_OLD_WOMAN", "x": 9, "y": 7, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_EventScript_167EC6", + "script": "SevenIsland_EventScript_OldWoman", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 15, "y": 5, "elevation": 3, @@ -60,7 +62,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_EventScript_167ECF", + "script": "SevenIsland_EventScript_Scientist", "flag": "0" } ], @@ -97,11 +99,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 17, "y": 9, "elevation": 0, - "script": "SevenIsland_EventScript_167EBD" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SevenIsland_EventScript_IslandSign" } ] } diff --git a/data/maps/SevenIsland/scripts.inc b/data/maps/SevenIsland/scripts.inc index f7debbf02..649c1ea73 100644 --- a/data/maps/SevenIsland/scripts.inc +++ b/data/maps/SevenIsland/scripts.inc @@ -6,14 +6,14 @@ SevenIsland_OnTransition:: @ 8167EB9 setworldmapflag FLAG_WORLD_MAP_SEVEN_ISLAND end -SevenIsland_EventScript_167EBD:: @ 8167EBD - msgbox gUnknown_8183046, MSGBOX_SIGN +SevenIsland_EventScript_IslandSign:: @ 8167EBD + msgbox SevenIsland_Text_IslandSign, MSGBOX_SIGN end -SevenIsland_EventScript_167EC6:: @ 8167EC6 - msgbox gUnknown_818306C, MSGBOX_NPC +SevenIsland_EventScript_OldWoman:: @ 8167EC6 + msgbox SevenIsland_Text_IslandsMadeInSevenDays, MSGBOX_NPC end -SevenIsland_EventScript_167ECF:: @ 8167ECF - msgbox gUnknown_8183143, MSGBOX_NPC +SevenIsland_EventScript_Scientist:: @ 8167ECF + msgbox SevenIsland_Text_IslandVirtuallyUntouched, MSGBOX_NPC end diff --git a/data/maps/SevenIsland/text.inc b/data/maps/SevenIsland/text.inc index 995752422..8b0e98818 100644 --- a/data/maps/SevenIsland/text.inc +++ b/data/maps/SevenIsland/text.inc @@ -17,11 +17,11 @@ Text_SwordsDanceTaught:: @ 818300D .string "If only we could keep getting\n" .string "stronger and stronger, eh?$" -gUnknown_8183046:: @ 8183046 +SevenIsland_Text_IslandSign:: @ 8183046 .string "SEVEN ISLAND\n" .string "Quest Island of Infinity$" -gUnknown_818306C:: @ 818306C +SevenIsland_Text_IslandsMadeInSevenDays:: @ 818306C .string "These islands are called the SEVII\n" .string "ISLANDS because there are seven.\p" .string "…Or at least that's what the young\n" @@ -30,7 +30,7 @@ gUnknown_818306C:: @ 818306C .string "named because they are said to\l" .string "have been made in seven days.$" -gUnknown_8183143:: @ 8183143 +SevenIsland_Text_IslandVirtuallyUntouched:: @ 8183143 .string "This island has been left virtually\n" .string "untouched in its natural state.\p" .string "It could be a little difficult to\n" diff --git a/data/maps/SevenIsland_Harbor/map.json b/data/maps/SevenIsland_Harbor/map.json index aad741634..61f41a9f3 100644 --- a/data/maps/SevenIsland_Harbor/map.json +++ b/data/maps/SevenIsland_Harbor/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SEVEN_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SEAGALLOP", + "graphics_id": "OBJ_EVENT_GFX_SEAGALLOP", "x": 8, "y": 9, "elevation": 0, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 8, "y": 6, "elevation": 3, @@ -36,7 +38,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_Harbor_EventScript_170BE5", + "script": "SevenIsland_Harbor_EventScript_Sailor", "flag": "0" } ], diff --git a/data/maps/SevenIsland_Harbor/scripts.inc b/data/maps/SevenIsland_Harbor/scripts.inc index f042ca668..fb51c905c 100644 --- a/data/maps/SevenIsland_Harbor/scripts.inc +++ b/data/maps/SevenIsland_Harbor/scripts.inc @@ -1,7 +1,7 @@ SevenIsland_Harbor_MapScripts:: @ 8170BE4 .byte 0 -SevenIsland_Harbor_EventScript_170BE5:: @ 8170BE5 +SevenIsland_Harbor_EventScript_Sailor:: @ 8170BE5 lock faceplayer message Text_WhereDoYouWantToSail diff --git a/data/maps/SevenIsland_House_Room1/map.json b/data/maps/SevenIsland_House_Room1/map.json index 690fa63d8..6e4b51e2a 100644 --- a/data/maps/SevenIsland_House_Room1/map.json +++ b/data/maps/SevenIsland_House_Room1/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SEVEN_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_1", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_OLD_WOMAN", + "graphics_id": "OBJ_EVENT_GFX_OLD_WOMAN", "x": 4, "y": 4, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_House_Room1_EventScript_170958", + "script": "SevenIsland_House_Room1_EventScript_OldWoman", "flag": "0" } ], @@ -46,11 +48,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 1, "elevation": 0, - "script": "SevenIsland_House_Room1_EventScript_170A75" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SevenIsland_House_Room1_EventScript_Box" } ] } diff --git a/data/maps/SevenIsland_House_Room1/scripts.inc b/data/maps/SevenIsland_House_Room1/scripts.inc index 60183ed13..63e8a7250 100644 --- a/data/maps/SevenIsland_House_Room1/scripts.inc +++ b/data/maps/SevenIsland_House_Room1/scripts.inc @@ -1,3 +1,7 @@ +.equ LOCALID_OLD_WOMAN, 1 + +.equ TRAINER_VISITING, VAR_TEMP_1 + SevenIsland_House_Room1_MapScripts:: @ 817088A map_script MAP_SCRIPT_ON_TRANSITION, SevenIsland_House_Room1_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, SevenIsland_House_Room1_OnFrame @@ -6,178 +10,178 @@ SevenIsland_House_Room1_MapScripts:: @ 817088A SevenIsland_House_Room1_OnTransition:: @ 8170895 special ValidateEReaderTrainer compare VAR_RESULT, 0 - call_if_eq EventScript_1708AF + call_if_eq SevenIsland_House_Room1_EventScript_SetTrainerVisitingLayout compare VAR_MAP_SCENE_SEVEN_ISLAND_HOUSE_ROOM1, 0 - call_if_ne EventScript_1708C3 + call_if_ne SevenIsland_House_Room1_EventScript_MoveOldWomanToDoor end -EventScript_1708AF:: @ 81708AF - setvar VAR_TEMP_1, 1 - setobjectxyperm 1, 4, 2 - setobjectmovementtype 1, 8 - setmaplayoutindex LAYOUT_UNUSED_LAYOUT_8338B4C +SevenIsland_House_Room1_EventScript_SetTrainerVisitingLayout:: @ 81708AF + setvar TRAINER_VISITING, TRUE + setobjectxyperm LOCALID_OLD_WOMAN, 4, 2 + setobjectmovementtype LOCALID_OLD_WOMAN, MOVEMENT_TYPE_FACE_DOWN + setmaplayoutindex LAYOUT_SEVEN_ISLAND_HOUSE_ROOM1_DOOR_OPEN return -EventScript_1708C3:: @ 81708C3 - setobjectxyperm 1, 3, 2 - setobjectmovementtype 1, 10 +SevenIsland_House_Room1_EventScript_MoveOldWomanToDoor:: @ 81708C3 + setobjectxyperm LOCALID_OLD_WOMAN, 3, 2 + setobjectmovementtype LOCALID_OLD_WOMAN, MOVEMENT_TYPE_FACE_RIGHT return SevenIsland_House_Room1_OnFrame:: @ 81708CF - map_script_2 VAR_MAP_SCENE_SEVEN_ISLAND_HOUSE_ROOM1, 1, EventScript_1708E9 - map_script_2 VAR_MAP_SCENE_SEVEN_ISLAND_HOUSE_ROOM1, 2, EventScript_1708E9 - map_script_2 VAR_MAP_SCENE_SEVEN_ISLAND_HOUSE_ROOM1, 3, EventScript_1708E9 + map_script_2 VAR_MAP_SCENE_SEVEN_ISLAND_HOUSE_ROOM1, 1, SevenIsland_House_Room1_EventScript_OldWomanCommentOnBattle + map_script_2 VAR_MAP_SCENE_SEVEN_ISLAND_HOUSE_ROOM1, 2, SevenIsland_House_Room1_EventScript_OldWomanCommentOnBattle + map_script_2 VAR_MAP_SCENE_SEVEN_ISLAND_HOUSE_ROOM1, 3, SevenIsland_House_Room1_EventScript_OldWomanCommentOnBattle .2byte 0 -EventScript_1708E9:: @ 1708E9 +SevenIsland_House_Room1_EventScript_OldWomanCommentOnBattle:: @ 1708E9 lockall textcolor 1 - applymovement OBJ_EVENT_ID_PLAYER, Movement_170953 + applymovement OBJ_EVENT_ID_PLAYER, SevenIsland_House_Room1_Movement_PlayerReEnterRoom waitmovement 0 - applymovement 1, Movement_170955 + applymovement LOCALID_OLD_WOMAN, SevenIsland_House_Room1_Movement_OldWomanWalkBehindPlayer waitmovement 0 - moveobjectoffscreen 1 + moveobjectoffscreen LOCALID_OLD_WOMAN applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestUp waitmovement 0 compare VAR_MAP_SCENE_SEVEN_ISLAND_HOUSE_ROOM1, 1 - call_if_eq EventScript_170938 + call_if_eq SevenIsland_House_Room1_EventScript_BattleWonComment compare VAR_MAP_SCENE_SEVEN_ISLAND_HOUSE_ROOM1, 2 - call_if_eq EventScript_170941 + call_if_eq SevenIsland_House_Room1_EventScript_BattleLostComment compare VAR_MAP_SCENE_SEVEN_ISLAND_HOUSE_ROOM1, 3 - call_if_eq EventScript_17094A + call_if_eq SevenIsland_House_Room1_EventScript_BattleTiedComment special LoadPlayerParty setvar VAR_MAP_SCENE_SEVEN_ISLAND_HOUSE_ROOM1, 0 releaseall end -EventScript_170938:: @ 8170938 - msgbox gUnknown_81A088C +SevenIsland_House_Room1_EventScript_BattleWonComment:: @ 8170938 + msgbox SevenIsland_House_Room1_Text_AstoundingBattle return -EventScript_170941:: @ 8170941 - msgbox gUnknown_81A0971 +SevenIsland_House_Room1_EventScript_BattleLostComment:: @ 8170941 + msgbox SevenIsland_House_Room1_Text_FeelYourDisappointment return -EventScript_17094A:: @ 817094A - msgbox gUnknown_81A0807 +SevenIsland_House_Room1_EventScript_BattleTiedComment:: @ 817094A + msgbox SevenIsland_House_Room1_Text_DrawWasIt return -Movement_170953:: @ 8170953 +SevenIsland_House_Room1_Movement_PlayerReEnterRoom:: @ 8170953 walk_down step_end -Movement_170955:: @ 8170955 +SevenIsland_House_Room1_Movement_OldWomanWalkBehindPlayer:: @ 8170955 walk_right walk_in_place_fastest_down step_end -SevenIsland_House_Room1_EventScript_170958:: @ 8170958 +SevenIsland_House_Room1_EventScript_OldWoman:: @ 8170958 lock faceplayer special ValidateEReaderTrainer compare VAR_RESULT, 1 - call_if_eq EventScript_17097D - compare VAR_TEMP_1, 1 - goto_if_eq EventScript_170987 - msgbox gUnknown_81A049B + call_if_eq SevenIsland_House_Room1_EventScript_InvalidVisitingTrainer + compare TRAINER_VISITING, TRUE + goto_if_eq SevenIsland_House_Room1_EventScript_TrainerVisiting + msgbox SevenIsland_House_Room1_Text_OnlyEnjoymentWatchingBattles release end -EventScript_17097D:: @ 817097D - msgbox gUnknown_81A049B +SevenIsland_House_Room1_EventScript_InvalidVisitingTrainer:: @ 817097D + msgbox SevenIsland_House_Room1_Text_OnlyEnjoymentWatchingBattles release end -EventScript_170987:: @ 8170987 +SevenIsland_House_Room1_EventScript_TrainerVisiting:: @ 8170987 special SavePlayerParty - special Special_BufferEReaderTrainerName5 - msgbox gUnknown_81A0598, MSGBOX_YESNO + special BufferEReaderTrainerName + msgbox SevenIsland_House_Room1_Text_ChallengeVisitingTrainer, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_170A11 - call EventScript_170A1E + goto_if_eq SevenIsland_House_Room1_EventScript_DeclineBattle + call SevenIsland_House_Room1_EventScript_ChooseParty compare VAR_RESULT, 0 - goto_if_eq EventScript_170A11 - msgbox gUnknown_81A0788, MSGBOX_YESNO + goto_if_eq SevenIsland_House_Room1_EventScript_DeclineBattle + msgbox SevenIsland_House_Room1_Text_SaveProgressBeforeBattle, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_170A11 + goto_if_eq SevenIsland_House_Room1_EventScript_DeclineBattle special LoadPlayerParty call EventScript_AskSaveGame compare VAR_RESULT, 0 - goto_if_eq EventScript_170A11 + goto_if_eq SevenIsland_House_Room1_EventScript_DeclineBattle special SavePlayerParty special ReducePlayerPartyToThree - msgbox gUnknown_81A07C4 + msgbox SevenIsland_House_Room1_Text_DontHoldAnythingBack closemessage compare VAR_FACING, DIR_NORTH - call_if_eq EventScript_170A2D + call_if_eq SevenIsland_House_Room1_EventScript_EnterBattleRoomNorth compare VAR_FACING, DIR_EAST - call_if_eq EventScript_170A3F + call_if_eq SevenIsland_House_Room1_EventScript_EnterBattleRoomEast compare VAR_FACING, DIR_WEST - call_if_eq EventScript_170A51 + call_if_eq SevenIsland_House_Room1_EventScript_EnterBattleRoomWest warp MAP_SEVEN_ISLAND_HOUSE_ROOM2, 255, 3, 1 waitstate release end -EventScript_170A11:: @ 8170A11 +SevenIsland_House_Room1_EventScript_DeclineBattle:: @ 8170A11 special LoadPlayerParty - msgbox gUnknown_81A064E + msgbox SevenIsland_House_Room1_Text_OhYouWontBattle release end -EventScript_170A1E:: @ 8170A1E - msgbox gUnknown_81A06AB +SevenIsland_House_Room1_EventScript_ChooseParty:: @ 8170A1E + msgbox SevenIsland_House_Room1_Text_LimitThreeMonsPerSide fadescreen FADE_TO_BLACK special ChooseHalfPartyForBattle waitstate return -EventScript_170A2D:: @ 8170A2D - applymovement VAR_LAST_TALKED, Movement_170A6F - applymovement OBJ_EVENT_ID_PLAYER, Movement_170A63 +SevenIsland_House_Room1_EventScript_EnterBattleRoomNorth:: @ 8170A2D + applymovement VAR_LAST_TALKED, SevenIsland_House_Room1_Movement_OldWomanMoveAsideLeft + applymovement OBJ_EVENT_ID_PLAYER, SevenIsland_House_Room1_Movement_PlayerEnterBattleRoomNorth waitmovement 0 return -EventScript_170A3F:: @ 8170A3F - applymovement VAR_LAST_TALKED, Movement_170A72 - applymovement OBJ_EVENT_ID_PLAYER, Movement_170A67 +SevenIsland_House_Room1_EventScript_EnterBattleRoomEast:: @ 8170A3F + applymovement VAR_LAST_TALKED, SevenIsland_House_Room1_Movement_OldWomanMoveAsideRight + applymovement OBJ_EVENT_ID_PLAYER, SevenIsland_House_Room1_Movement_PlayerEnterBattleRoomEast waitmovement 0 return -EventScript_170A51:: @ 8170A51 - applymovement VAR_LAST_TALKED, Movement_170A6F - applymovement OBJ_EVENT_ID_PLAYER, Movement_170A6B +SevenIsland_House_Room1_EventScript_EnterBattleRoomWest:: @ 8170A51 + applymovement VAR_LAST_TALKED, SevenIsland_House_Room1_Movement_OldWomanMoveAsideLeft + applymovement OBJ_EVENT_ID_PLAYER, SevenIsland_House_Room1_Movement_PlayerEnterBattleRoomWest waitmovement 0 return -Movement_170A63:: @ 8170A63 +SevenIsland_House_Room1_Movement_PlayerEnterBattleRoomNorth:: @ 8170A63 delay_16 walk_up walk_up step_end -Movement_170A67:: @ 8170A67 +SevenIsland_House_Room1_Movement_PlayerEnterBattleRoomEast:: @ 8170A67 delay_16 walk_right walk_up step_end -Movement_170A6B:: @ 8170A6B +SevenIsland_House_Room1_Movement_PlayerEnterBattleRoomWest:: @ 8170A6B delay_16 walk_left walk_up step_end -Movement_170A6F:: @ 8170A6F +SevenIsland_House_Room1_Movement_OldWomanMoveAsideLeft:: @ 8170A6F walk_left walk_in_place_fastest_right step_end -Movement_170A72:: @ 8170A72 +SevenIsland_House_Room1_Movement_OldWomanMoveAsideRight:: @ 8170A72 walk_right walk_in_place_fastest_left step_end -SevenIsland_House_Room1_EventScript_170A75:: @ 8170A75 - msgbox gUnknown_81A0567, MSGBOX_SIGN +SevenIsland_House_Room1_EventScript_Box:: @ 8170A75 + msgbox SevenIsland_House_Room1_Text_SlightBreezeAroundBox, MSGBOX_SIGN end diff --git a/data/maps/SevenIsland_House_Room1/text.inc b/data/maps/SevenIsland_House_Room1/text.inc index 2e6c7f2f8..d8ddad04e 100644 --- a/data/maps/SevenIsland_House_Room1/text.inc +++ b/data/maps/SevenIsland_House_Room1/text.inc @@ -1,4 +1,4 @@ -gUnknown_81A049B:: @ 81A049B +SevenIsland_House_Room1_Text_OnlyEnjoymentWatchingBattles:: @ 81A049B .string "I may not look like much now,\n" .string "but when I was younger…\p" .string "I flew everywhere, challenging\n" @@ -7,11 +7,11 @@ gUnknown_81A049B:: @ 81A049B .string "is reminiscing about the past while\l" .string "watching battles.$" -gUnknown_81A0567:: @ 81A0567 +SevenIsland_House_Room1_Text_SlightBreezeAroundBox:: @ 81A0567 .string "There is a slight breeze blowing\n" .string "around the box.$" -gUnknown_81A0598:: @ 81A0598 +SevenIsland_House_Room1_Text_ChallengeVisitingTrainer:: @ 81A0598 .string "Ah!\n" .string "Welcome, my friend!\p" .string "Let me tell you something. There's\n" @@ -21,7 +21,7 @@ gUnknown_81A0598:: @ 81A0598 .string "Tell me, you did come to challenge\n" .string "{STR_VAR_1}, am I right?$" -gUnknown_81A064E:: @ 81A064E +SevenIsland_House_Room1_Text_OhYouWontBattle:: @ 81A064E .string "Oh…\n" .string "You won't battle…\p" .string "I see, I see.\n" @@ -29,7 +29,7 @@ gUnknown_81A064E:: @ 81A064E .string "Well, perhaps if you change your\n" .string "mind, do come back.$" -gUnknown_81A06AB:: @ 81A06AB +SevenIsland_House_Room1_Text_LimitThreeMonsPerSide:: @ 81A06AB .string "Ah!\n" .string "You will battle for me?\p" .string "It was worth my time moving the\n" @@ -41,31 +41,33 @@ gUnknown_81A06AB:: @ 81A06AB .string "Can I get you to limit it to\n" .string "battles of three POKéMON per side?$" -gUnknown_81A0788:: @ 81A0788 +SevenIsland_House_Room1_Text_SaveProgressBeforeBattle:: @ 81A0788 .string "Fine! Before your battle, would\n" .string "you like to save your game?$" -gUnknown_81A07C4:: @ 81A07C4 +SevenIsland_House_Room1_Text_DontHoldAnythingBack:: @ 81A07C4 .string "All right.\n" .string "Don't hold anything back!$" -Text_1A07E9:: @ 81A07E9 +@ Unused +SevenIsland_House_Room1_Text_StrVar1_1:: @ 81A07E9 .string "{STR_VAR_1}$" -gUnknown_81A07EC:: @ 81A07EC +SevenIsland_House_Room2_Text_MatchEndedUpDraw:: @ 81A07EC .string "The match ended up a draw.$" -gUnknown_81A0807:: @ 81A0807 +SevenIsland_House_Room1_Text_DrawWasIt:: @ 81A0807 .string "A draw, was it?\p" .string "However, let me say that it was\n" .string "a worthy spectacle.\p" .string "I'd say it was a wonderful battle\n" .string "with a real sense of depth!$" -Text_1A0889:: @ 81A0889 +@ Unused +SevenIsland_House_Room1_Text_StrVar1_2:: @ 81A0889 .string "{STR_VAR_1}$" -gUnknown_81A088C:: @ 81A088C +SevenIsland_House_Room1_Text_AstoundingBattle:: @ 81A088C .string "Bravo!\p" .string "Bravo, indeed!\n" .string "What an astounding battle!\p" @@ -77,10 +79,11 @@ gUnknown_81A088C:: @ 81A088C .string "Yes!\n" .string "It was sheer magnificence!$" -Text_1A096E:: @ 81A096E +@ Unused +SevenIsland_House_Room1_Text_StrVar1_3:: @ 81A096E .string "{STR_VAR_1}$" -gUnknown_81A0971:: @ 81A0971 +SevenIsland_House_Room1_Text_FeelYourDisappointment:: @ 81A0971 .string "Too bad!\n" .string "I feel your disappointment.\p" .string "However, that disappointment is\n" diff --git a/data/maps/SevenIsland_House_Room2/map.json b/data/maps/SevenIsland_House_Room2/map.json index 678716dcc..063535b54 100644 --- a/data/maps/SevenIsland_House_Room2/map.json +++ b/data/maps/SevenIsland_House_Room2/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SEVEN_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_1", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_VAR_0", + "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 6, "y": 5, "elevation": 0, diff --git a/data/maps/SevenIsland_House_Room2/scripts.inc b/data/maps/SevenIsland_House_Room2/scripts.inc index 8d0ef3475..be7e4ac77 100644 --- a/data/maps/SevenIsland_House_Room2/scripts.inc +++ b/data/maps/SevenIsland_House_Room2/scripts.inc @@ -8,14 +8,14 @@ SevenIsland_House_Room2_OnTransition:: @ 8170A89 end SevenIsland_House_Room2_OnFrame:: @ 8170A8D - map_script_2 VAR_TEMP_1, 0, EventScript_170A97 + map_script_2 VAR_TEMP_1, 0, SevenIsland_House_Room2_EventScript_BattleVisitingTrainer .2byte 0 -EventScript_170A97:: @ 8170A97 +SevenIsland_House_Room2_EventScript_BattleVisitingTrainer:: @ 8170A97 lockall - applymovement OBJ_EVENT_ID_PLAYER, Movement_170B22 + applymovement OBJ_EVENT_ID_PLAYER, SevenIsland_House_Room2_Movement_PlayerEnterRoom waitmovement 0 - special PrintEReaderTrainerGreeting + special BufferEReaderTrainerGreeting msgbox gStringVar4 closemessage setvar VAR_0x8004, 2 @@ -23,14 +23,14 @@ EventScript_170A97:: @ 8170A97 special StartSpecialBattle waitstate compare VAR_RESULT, 3 - call_if_eq EventScript_170AFE + call_if_eq SevenIsland_House_Room2_EventScript_BattleTie compare VAR_RESULT, 1 - call_if_eq EventScript_170B0C + call_if_eq SevenIsland_House_Room2_EventScript_BattleWon compare VAR_RESULT, 2 - call_if_eq EventScript_170B17 + call_if_eq SevenIsland_House_Room2_EventScript_BattleLost closemessage special HealPlayerParty - applymovement OBJ_EVENT_ID_PLAYER, Movement_170B28 + applymovement OBJ_EVENT_ID_PLAYER, SevenIsland_House_Room2_Movement_PlayerExitRoom waitmovement 0 special LoadPlayerParty setvar VAR_TEMP_1, 1 @@ -39,26 +39,26 @@ EventScript_170A97:: @ 8170A97 releaseall end -EventScript_170AFE:: @ 8170AFE +SevenIsland_House_Room2_EventScript_BattleTie:: @ 8170AFE setvar VAR_MAP_SCENE_SEVEN_ISLAND_HOUSE_ROOM1, 3 - msgbox gUnknown_81A07EC + msgbox SevenIsland_House_Room2_Text_MatchEndedUpDraw return -EventScript_170B0C:: @ 8170B0C +SevenIsland_House_Room2_EventScript_BattleWon:: @ 8170B0C setvar VAR_MAP_SCENE_SEVEN_ISLAND_HOUSE_ROOM1, 1 - special Special_ShowStringVar4AsFieldMessage + special ShowFieldMessageStringVar4 waitmessage waitbuttonpress return -EventScript_170B17:: @ 8170B17 +SevenIsland_House_Room2_EventScript_BattleLost:: @ 8170B17 setvar VAR_MAP_SCENE_SEVEN_ISLAND_HOUSE_ROOM1, 2 - special Special_ShowStringVar4AsFieldMessage + special ShowFieldMessageStringVar4 waitmessage waitbuttonpress return -Movement_170B22:: @ 8170B22 +SevenIsland_House_Room2_Movement_PlayerEnterRoom:: @ 8170B22 walk_down walk_down walk_down @@ -66,7 +66,7 @@ Movement_170B22:: @ 8170B22 walk_right step_end -Movement_170B28:: @ 8170B28 +SevenIsland_House_Room2_Movement_PlayerExitRoom:: @ 8170B28 walk_left walk_left walk_up diff --git a/data/maps/SevenIsland_Mart/map.json b/data/maps/SevenIsland_Mart/map.json index b505a4a93..a3ba4eb37 100644 --- a/data/maps/SevenIsland_Mart/map.json +++ b/data/maps/SevenIsland_Mart/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SEVEN_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CLERK", + "graphics_id": "OBJ_EVENT_GFX_CLERK", "x": 2, "y": 3, "elevation": 0, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_Mart_EventScript_170B31", + "script": "SevenIsland_Mart_EventScript_Clerk", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 6, "y": 2, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_Mart_EventScript_170B6E", + "script": "SevenIsland_Mart_EventScript_Lass", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_FISHER", + "graphics_id": "OBJ_EVENT_GFX_FISHER", "x": 9, "y": 5, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_Mart_EventScript_170B80", + "script": "SevenIsland_Mart_EventScript_Fisher", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 5, "y": 4, "elevation": 3, @@ -62,7 +64,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_Mart_EventScript_170B77", + "script": "SevenIsland_Mart_EventScript_Hiker", "flag": "0" } ], diff --git a/data/maps/SevenIsland_Mart/scripts.inc b/data/maps/SevenIsland_Mart/scripts.inc index 2757fba07..a816cb8b4 100644 --- a/data/maps/SevenIsland_Mart/scripts.inc +++ b/data/maps/SevenIsland_Mart/scripts.inc @@ -1,19 +1,19 @@ SevenIsland_Mart_MapScripts:: @ 8170B30 .byte 0 -SevenIsland_Mart_EventScript_170B31:: @ 8170B31 +SevenIsland_Mart_EventScript_Clerk:: @ 8170B31 goto_if_questlog EventScript_ReleaseEnd lock faceplayer message Text_MayIHelpYou waitmessage - pokemart Items_170B58 + pokemart SevenIsland_Mart_Items msgbox Text_PleaseComeAgain release end .align 2 -Items_170B58:: @ 8170B58 +SevenIsland_Mart_Items:: @ 8170B58 .2byte ITEM_ULTRA_BALL .2byte ITEM_GREAT_BALL .2byte ITEM_FULL_RESTORE @@ -27,14 +27,14 @@ Items_170B58:: @ 8170B58 release end -SevenIsland_Mart_EventScript_170B6E:: @ 8170B6E - msgbox gUnknown_81A0A4F, MSGBOX_NPC +SevenIsland_Mart_EventScript_Lass:: @ 8170B6E + msgbox SevenIsland_Mart_Text_MonHavePersonalitiesOfTheirOwn, MSGBOX_NPC end -SevenIsland_Mart_EventScript_170B77:: @ 8170B77 - msgbox gUnknown_81A0ACC, MSGBOX_NPC +SevenIsland_Mart_EventScript_Hiker:: @ 8170B77 + msgbox SevenIsland_Mart_Text_PreparationsCompleteForRuins, MSGBOX_NPC end -SevenIsland_Mart_EventScript_170B80:: @ 8170B80 - msgbox gUnknown_81A0B09, MSGBOX_NPC +SevenIsland_Mart_EventScript_Fisher:: @ 8170B80 + msgbox SevenIsland_Mart_Text_NeedToFishOnSevenIsland, MSGBOX_NPC end diff --git a/data/maps/SevenIsland_Mart/text.inc b/data/maps/SevenIsland_Mart/text.inc index 9716c2427..ab364c889 100644 --- a/data/maps/SevenIsland_Mart/text.inc +++ b/data/maps/SevenIsland_Mart/text.inc @@ -1,14 +1,14 @@ -gUnknown_81A0A4F:: @ 81A0A4F +SevenIsland_Mart_Text_MonHavePersonalitiesOfTheirOwn:: @ 81A0A4F .string "POKéMON have personalities of their\n" .string "own, just like people.\p" .string "My PIKACHU has a HASTY nature,\n" .string "so it grew to be a speedy POKéMON.$" -gUnknown_81A0ACC:: @ 81A0ACC +SevenIsland_Mart_Text_PreparationsCompleteForRuins:: @ 81A0ACC .string "Okay, preparations are complete\n" .string "for me to explore the RUINS.$" -gUnknown_81A0B09:: @ 81A0B09 +SevenIsland_Mart_Text_NeedToFishOnSevenIsland:: @ 81A0B09 .string "I need to fish on SEVEN ISLAND.\p" .string "That will complete my fishing tour\n" .string "of the SEVII ISLANDS.\p" diff --git a/data/maps/SevenIsland_PokemonCenter_1F/map.json b/data/maps/SevenIsland_PokemonCenter_1F/map.json index e620814b4..40f31f2b8 100644 --- a/data/maps/SevenIsland_PokemonCenter_1F/map.json +++ b/data/maps/SevenIsland_PokemonCenter_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SEVEN_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_NURSE", + "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_PokemonCenter_1F_EventScript_170B98", + "script": "SevenIsland_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 11, "y": 5, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_PokemonCenter_1F_EventScript_170BA1", + "script": "SevenIsland_PokemonCenter_1F_EventScript_OldMan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 14, "y": 6, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_PokemonCenter_1F_EventScript_170BAA", + "script": "SevenIsland_PokemonCenter_1F_EventScript_Sailor", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BEAUTY", + "graphics_id": "OBJ_EVENT_GFX_BEAUTY", "x": 4, "y": 4, "elevation": 3, @@ -62,7 +64,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_PokemonCenter_1F_EventScript_170BB3", + "script": "SevenIsland_PokemonCenter_1F_EventScript_Beauty", "flag": "0" }, { @@ -75,7 +77,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_PokemonCenter_1F_EventScript_1ACFD4", + "script": "SevenIsland_PokemonCenter_1F_EventScript_PokemonJournal", "flag": "FLAG_HIDE_POSTGAME_GOSSIPERS" }, { @@ -88,7 +90,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_PokemonCenter_1F_EventScript_1ACFD4", + "script": "SevenIsland_PokemonCenter_1F_EventScript_PokemonJournal", "flag": "FLAG_HIDE_POSTGAME_GOSSIPERS" } ], diff --git a/data/maps/SevenIsland_PokemonCenter_1F/scripts.inc b/data/maps/SevenIsland_PokemonCenter_1F/scripts.inc index 459806f32..447d9d1e8 100644 --- a/data/maps/SevenIsland_PokemonCenter_1F/scripts.inc +++ b/data/maps/SevenIsland_PokemonCenter_1F/scripts.inc @@ -7,21 +7,21 @@ SevenIsland_PokemonCenter_1F_OnTransition:: @ 8170B94 setrespawn SPAWN_SEVEN_ISLAND end -SevenIsland_PokemonCenter_1F_EventScript_170B98:: @ 8170B98 +SevenIsland_PokemonCenter_1F_EventScript_Nurse:: @ 8170B98 lock faceplayer call EventScript_PkmnCenterNurse release end -SevenIsland_PokemonCenter_1F_EventScript_170BA1:: @ 8170BA1 - msgbox gUnknown_81A0B98, MSGBOX_NPC +SevenIsland_PokemonCenter_1F_EventScript_OldMan:: @ 8170BA1 + msgbox SevenIsland_PokemonCenter_1F_Text_EventsDependingOnConnections, MSGBOX_NPC end -SevenIsland_PokemonCenter_1F_EventScript_170BAA:: @ 8170BAA - msgbox gUnknown_81A0C1F, MSGBOX_NPC +SevenIsland_PokemonCenter_1F_EventScript_Sailor:: @ 8170BAA + msgbox SevenIsland_PokemonCenter_1F_Text_DidYouRideSeagallopHere, MSGBOX_NPC end -SevenIsland_PokemonCenter_1F_EventScript_170BB3:: @ 8170BB3 - msgbox gUnknown_81A0CA5, MSGBOX_NPC +SevenIsland_PokemonCenter_1F_EventScript_Beauty:: @ 8170BB3 + msgbox SevenIsland_PokemonCenter_1F_Text_CheckOutTrainerTower, MSGBOX_NPC end diff --git a/data/maps/SevenIsland_PokemonCenter_1F/text.inc b/data/maps/SevenIsland_PokemonCenter_1F/text.inc index 44e325ca0..feacb5b4d 100644 --- a/data/maps/SevenIsland_PokemonCenter_1F/text.inc +++ b/data/maps/SevenIsland_PokemonCenter_1F/text.inc @@ -1,11 +1,11 @@ -gUnknown_81A0B98:: @ 81A0B98 +SevenIsland_PokemonCenter_1F_Text_EventsDependingOnConnections:: @ 81A0B98 .string "On this island, different events\n" .string "occur depending on connections.\p" .string "What are those connections?\p" .string "They are for you to discover on\n" .string "your own.$" -gUnknown_81A0C1F:: @ 81A0C1F +SevenIsland_PokemonCenter_1F_Text_DidYouRideSeagallopHere:: @ 81A0C1F .string "Did you ride a SEAGALLOP ferry\n" .string "to get here?\p" .string "There are at least ten of those\n" @@ -13,7 +13,7 @@ gUnknown_81A0C1F:: @ 81A0C1F .string "I don't know where they all go,\n" .string "though.$" -gUnknown_81A0CA5:: @ 81A0CA5 +SevenIsland_PokemonCenter_1F_Text_CheckOutTrainerTower:: @ 81A0CA5 .string "If you're confident, you should\n" .string "check out TRAINER TOWER.$" diff --git a/data/maps/SevenIsland_PokemonCenter_2F/map.json b/data/maps/SevenIsland_PokemonCenter_2F/map.json index 0d08ea5d1..5e9642ebb 100644 --- a/data/maps/SevenIsland_PokemonCenter_2F/map.json +++ b/data/maps/SevenIsland_PokemonCenter_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SEVEN_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 6, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 2, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 10, "y": 2, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MG_DELIVERYMAN", + "graphics_id": "OBJ_EVENT_GFX_MG_DELIVERYMAN", "x": 1, "y": 2, "elevation": 3, diff --git a/data/maps/SevenIsland_SevaultCanyon/map.json b/data/maps/SevenIsland_SevaultCanyon/map.json index ccd0c8ddd..d7dd34a32 100644 --- a/data/maps/SevenIsland_SevaultCanyon/map.json +++ b/data/maps/SevenIsland_SevaultCanyon/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_SEVAULT_CANYON", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_SEVEN_ISLAND_TANOBY_RUINS", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BATTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_BATTLE_GIRL", "x": 13, "y": 43, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "SevenIsland_SevaultCanyon_EventScript_1ACA4D", + "script": "SevenIsland_SevaultCanyon_EventScript_Cyndy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 13, "y": 36, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "SevenIsland_SevaultCanyon_EventScript_1ACA8B", + "script": "SevenIsland_SevaultCanyon_EventScript_Evan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CAMPER", + "graphics_id": "OBJ_EVENT_GFX_CAMPER", "x": 3, "y": 35, "elevation": 3, @@ -60,11 +62,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SevenIsland_SevaultCanyon_EventScript_1ACAC9", + "script": "SevenIsland_SevaultCanyon_EventScript_Jackson", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 3, "y": 36, "elevation": 3, @@ -73,11 +75,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SevenIsland_SevaultCanyon_EventScript_1ACB07", + "script": "SevenIsland_SevaultCanyon_EventScript_Katelyn", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_M", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_M", "x": 7, "y": 56, "elevation": 3, @@ -86,11 +88,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SevenIsland_SevaultCanyon_EventScript_1ACB45", + "script": "SevenIsland_SevaultCanyon_EventScript_Leroy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_F", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_F", "x": 11, "y": 63, "elevation": 3, @@ -99,11 +101,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SevenIsland_SevaultCanyon_EventScript_1ACB83", + "script": "SevenIsland_SevaultCanyon_EventScript_Michelle", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_M", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_M", "x": 14, "y": 13, "elevation": 3, @@ -112,11 +114,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SevenIsland_SevaultCanyon_EventScript_1ACBC1", + "script": "SevenIsland_SevaultCanyon_EventScript_Lex", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_F", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_F", "x": 14, "y": 14, "elevation": 3, @@ -125,11 +127,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SevenIsland_SevaultCanyon_EventScript_1ACC07", + "script": "SevenIsland_SevaultCanyon_EventScript_Nya", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 3, "y": 41, "elevation": 3, @@ -138,11 +140,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 13, "y": 47, "elevation": 3, @@ -151,11 +153,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 7, "y": 44, "elevation": 3, @@ -164,11 +166,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_13" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 12, "y": 47, "elevation": 3, @@ -177,11 +179,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_15" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 15, "y": 46, "elevation": 3, @@ -190,11 +192,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_16" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 16, "y": 47, "elevation": 3, @@ -203,11 +205,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_17" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 17, "y": 47, "elevation": 3, @@ -216,11 +218,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCK_SMASH_ROCK", + "graphics_id": "OBJ_EVENT_GFX_ROCK_SMASH_ROCK", "x": 11, "y": 31, "elevation": 3, @@ -229,11 +231,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithRockSmashRockObject", + "script": "EventScript_RockSmash", "flag": "FLAG_TEMP_1B" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 18, "y": 45, "elevation": 3, @@ -246,7 +248,7 @@ "flag": "FLAG_HIDE_SEVEN_ISLAND_SEVAULT_CANYON_KINGS_ROCK" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 7, "y": 38, "elevation": 3, @@ -259,7 +261,7 @@ "flag": "FLAG_HIDE_SEVEN_ISLAND_SEVAULT_CANYON_MAX_ELIXIR" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 17, "y": 23, "elevation": 3, @@ -272,7 +274,7 @@ "flag": "FLAG_HIDE_SEVEN_ISLAND_SEVAULT_CANYON_NUGGET" }, { - "graphics_id": "OBJECT_EVENT_GFX_BLACKBELT", + "graphics_id": "OBJ_EVENT_GFX_BLACKBELT", "x": 8, "y": 26, "elevation": 3, @@ -281,7 +283,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_SevaultCanyon_EventScript_1ACF95", + "script": "SevenIsland_SevaultCanyon_EventScript_BlackBelt", "flag": "0" } ], @@ -314,11 +316,12 @@ "underfoot": false }, { - "type": "bg_event_type_0", + "type": "sign", "x": 16, "y": 71, "elevation": 0, - "script": "SevenIsland_SevaultCanyon_EventScript_168BFE" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SevenIsland_SevaultCanyon_EventScript_RouteSign" } ] } diff --git a/data/maps/SevenIsland_SevaultCanyon/scripts.inc b/data/maps/SevenIsland_SevaultCanyon/scripts.inc index 8c906d3f2..0d5b46b87 100644 --- a/data/maps/SevenIsland_SevaultCanyon/scripts.inc +++ b/data/maps/SevenIsland_SevaultCanyon/scripts.inc @@ -1,6 +1,6 @@ SevenIsland_SevaultCanyon_MapScripts:: @ 8168BFD .byte 0 -SevenIsland_SevaultCanyon_EventScript_168BFE:: @ 8168BFE - msgbox gUnknown_818CF2B, MSGBOX_SIGN +SevenIsland_SevaultCanyon_EventScript_RouteSign:: @ 8168BFE + msgbox SevenIsland_SevaultCanyon_Text_RouteSign, MSGBOX_SIGN end diff --git a/data/maps/SevenIsland_SevaultCanyon/text.inc b/data/maps/SevenIsland_SevaultCanyon/text.inc index 3d728797a..4e3dda9d1 100644 --- a/data/maps/SevenIsland_SevaultCanyon/text.inc +++ b/data/maps/SevenIsland_SevaultCanyon/text.inc @@ -1,122 +1,130 @@ -Text_18C887:: @ 818C887 +SevenIsland_SevaultCanyon_Text_CyndyIntro:: @ 818C887 .string "My conditioning's in top form!$" -Text_18C8A6:: @ 818C8A6 +SevenIsland_SevaultCanyon_Text_CyndyDefeat:: @ 818C8A6 .string "Huh?\n" .string "Something's not right…$" -Text_18C8C2:: @ 818C8C2 +SevenIsland_SevaultCanyon_Text_CyndyPostBattle:: @ 818C8C2 .string "The way I am now, I may have to\n" .string "hold off on TRAINER TOWER…$" -Text_18C8FD:: @ 818C8FD +SevenIsland_SevaultCanyon_Text_EvanIntro:: @ 818C8FD .string "It doesn't matter if you happen to\n" .string "have the strongest POKéMON…\p" .string "It doesn't mean a thing if you don't\n" .string "know how to use them properly!$" -Text_18C980:: @ 818C980 +SevenIsland_SevaultCanyon_Text_EvanDefeat:: @ 818C980 .string "You're a master at this.$" -Text_18C999:: @ 818C999 +SevenIsland_SevaultCanyon_Text_EvanPostBattle:: @ 818C999 .string "You see them every so often,\n" .string "TRAINERS with awesome POKéMON\l" .string "who have no idea what to do.\p" .string "Before training POKéMON, TRAINERS\n" .string "themselves need to grow up.$" -Text_18CA2F:: @ 818CA2F +SevenIsland_SevaultCanyon_Text_JacksonIntro:: @ 818CA2F .string "I work to protect the environment.\n" .string "In turn, nature protects me!$" -Text_18CA6F:: @ 818CA6F +SevenIsland_SevaultCanyon_Text_JacksonDefeat:: @ 818CA6F .string "Whoa! You're tough!\n" .string "How about protecting me?$" -Text_18CA9C:: @ 818CA9C +SevenIsland_SevaultCanyon_Text_JacksonPostBattle:: @ 818CA9C .string "From far out among the stars, our\n" .string "planet is just a drop of water.\p" .string "But we want to protect that drop\n" .string "of water for everyone.$" -Text_18CB16:: @ 818CB16 +SevenIsland_SevaultCanyon_Text_KatelynIntro:: @ 818CB16 .string "Those shoes you have are pretty\n" .string "snazzy.$" -Text_18CB3E:: @ 818CB3E +SevenIsland_SevaultCanyon_Text_KatelynDefeat:: @ 818CB3E .string "You're hot stuff in spite of your\n" .string "cute looks.$" -Text_18CB6C:: @ 818CB6C +SevenIsland_SevaultCanyon_Text_KatelynPostBattle:: @ 818CB6C .string "Your mom bought those snazzy\n" .string "RUNNING SHOES for you?\p" .string "She must adore you.$" -Text_18CBB4:: @ 818CBB4 +SevenIsland_SevaultCanyon_Text_LeroyIntro:: @ 818CBB4 .string "You look strong.\n" .string "Let me battle you, please!$" -Text_18CBE0:: @ 818CBE0 +SevenIsland_SevaultCanyon_Text_LeroyDefeat:: @ 818CBE0 .string "I knew it!\n" .string "You're as tough as I thought!$" -Text_18CC09:: @ 818CC09 +SevenIsland_SevaultCanyon_Text_LeroyPostBattle:: @ 818CC09 .string "The way you battle has given me\n" .string "a lot of useful data.\p" .string "Thanks so much!$" -Text_18CC4F:: @ 818CC4F +SevenIsland_SevaultCanyon_Text_MichelleIntro:: @ 818CC4F .string "I was given the best possible\n" .string "education to become this strong.\p" .string "I don't want to lose to anyone!$" -Text_18CCAE:: @ 818CCAE +SevenIsland_SevaultCanyon_Text_MichelleDefeat:: @ 818CCAE .string "Thank you. I feel like I've been\n" .string "set free by losing to you.$" -Text_18CCEA:: @ 818CCEA +SevenIsland_SevaultCanyon_Text_MichellePostBattle:: @ 818CCEA .string "For some reason, I get furious\n" .string "over the slightest thing.\p" .string "I'll calm myself by breathing\n" .string "deeply.$" -Text_18CD49:: @ 818CD49 +SevenIsland_SevaultCanyon_Text_LexIntro:: @ 818CD49 .string "LEX: My darling NYA, together\n" .string "we could win!$" -Text_18CD75:: @ 818CD75 +SevenIsland_SevaultCanyon_Text_LexDefeat:: @ 818CD75 .string "LEX: I seem to have been too\n" .string "careless…$" -Text_18CD9C:: @ 818CD9C +SevenIsland_SevaultCanyon_Text_LexPostBattle:: @ 818CD9C .string "LEX: I think it was a good\n" .string "experience for NYA.\p" .string "You have my gratitude.$" -Text_18CDE2:: @ 818CDE2 +SevenIsland_SevaultCanyon_Text_LexNotEnoughMons:: @ 818CDE2 .string "LEX: May I ask you to battle the\n" .string "both of us at the same time?$" -Text_18CE20:: @ 818CE20 +SevenIsland_SevaultCanyon_Text_NyaIntro:: @ 818CE20 .string "NYA: I'll do my best so I won't\n" .string "drag down my mentor, LEX!$" -Text_18CE5A:: @ 818CE5A +SevenIsland_SevaultCanyon_Text_NyaDefeat:: @ 818CE5A .string "NYA: Oh, no…\n" .string "I'm so sorry, I…$" -Text_18CE78:: @ 818CE78 +SevenIsland_SevaultCanyon_Text_NyaPostBattle:: @ 818CE78 .string "NYA: I think I'm going to need\n" .string "much more seasoning and tutoring\l" .string "under LEX…\p" .string "…So, LEX, please, may I stay with\n" .string "you like this?$" -Text_18CEF4:: @ 818CEF4 +SevenIsland_SevaultCanyon_Text_NyaNotEnoughMons:: @ 818CEF4 .string "NYA: I'm sorry, but may we battle\n" .string "in two-on-two style?$" -gUnknown_818CF2B:: @ 818CF2B +SevenIsland_SevaultCanyon_Text_RouteSign:: @ 818CF2B .string "SEVAULT CANYON\n" .string "TANOBY RUINS AHEAD$" +SevenIsland_SevaultCanyon_Text_BrunoTrainedWithBrawly:: @ 818CF4D + .string "Training by oneself is certainly\n" + .string "not a bad thing.\p" + .string "But it's also not bad to aim for\n" + .string "the top with a partner.\p" + .string "Even BRUNO…\n" + .string "He trained with a fellow by the\l" + .string "name of BRAWLY before.$" diff --git a/data/maps/SevenIsland_SevaultCanyon_Entrance/map.json b/data/maps/SevenIsland_SevaultCanyon_Entrance/map.json index 0bf40fca3..f05f55394 100644 --- a/data/maps/SevenIsland_SevaultCanyon_Entrance/map.json +++ b/data/maps/SevenIsland_SevaultCanyon_Entrance/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_CANYON_ENTRANCE", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_SEVEN_ISLAND", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 12, "y": 6, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "SevenIsland_SevaultCanyon_Entrance_EventScript_1AC8C9", + "script": "SevenIsland_SevaultCanyon_Entrance_EventScript_Miah", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BEAUTY", + "graphics_id": "OBJ_EVENT_GFX_BEAUTY", "x": 3, "y": 34, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SevenIsland_SevaultCanyon_Entrance_EventScript_1AC907", + "script": "SevenIsland_SevaultCanyon_Entrance_EventScript_Eve", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 4, "y": 34, "elevation": 3, @@ -60,11 +62,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SevenIsland_SevaultCanyon_Entrance_EventScript_1AC94D", + "script": "SevenIsland_SevaultCanyon_Entrance_EventScript_Jon", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CAMPER", + "graphics_id": "OBJ_EVENT_GFX_CAMPER", "x": 11, "y": 26, "elevation": 3, @@ -73,11 +75,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "SevenIsland_SevaultCanyon_Entrance_EventScript_1AC9D1", + "script": "SevenIsland_SevaultCanyon_Entrance_EventScript_Nicolas", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 10, "y": 26, "elevation": 3, @@ -86,11 +88,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "SevenIsland_SevaultCanyon_Entrance_EventScript_1ACA0F", + "script": "SevenIsland_SevaultCanyon_Entrance_EventScript_Madeline", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 11, "y": 17, "elevation": 5, @@ -99,13 +101,14 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SevenIsland_SevaultCanyon_Entrance_EventScript_1AC993", + "script": "SevenIsland_SevaultCanyon_Entrance_EventScript_Mason", "flag": "0" }, { - "graphics_id": "65321", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_M", + "in_connection": true, "x": 7, - "y": 65534, + "y": -2, "elevation": 1, "movement_type": "MOVEMENT_TYPE_NONE", "movement_range_x": 0, @@ -130,11 +133,12 @@ "underfoot": false }, { - "type": "bg_event_type_0", + "type": "sign", "x": 14, "y": 26, "elevation": 0, - "script": "SevenIsland_SevaultCanyon_Entrance_EventScript_168BF4" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SevenIsland_SevaultCanyon_Entrance_EventScript_RouteSign" } ] } diff --git a/data/maps/SevenIsland_SevaultCanyon_Entrance/scripts.inc b/data/maps/SevenIsland_SevaultCanyon_Entrance/scripts.inc index 617055d66..b032d990b 100644 --- a/data/maps/SevenIsland_SevaultCanyon_Entrance/scripts.inc +++ b/data/maps/SevenIsland_SevaultCanyon_Entrance/scripts.inc @@ -1,6 +1,6 @@ SevenIsland_SevaultCanyon_Entrance_MapScripts:: @ 8168BF3 .byte 0 -SevenIsland_SevaultCanyon_Entrance_EventScript_168BF4:: @ 8168BF4 - msgbox gUnknown_818C82D, MSGBOX_SIGN +SevenIsland_SevaultCanyon_Entrance_EventScript_RouteSign:: @ 8168BF4 + msgbox SevenIsland_SevaultCanyon_Entrance_Text_RouteSign, MSGBOX_SIGN end diff --git a/data/maps/SevenIsland_SevaultCanyon_Entrance/text.inc b/data/maps/SevenIsland_SevaultCanyon_Entrance/text.inc index 86ade1dbd..3ab590e41 100644 --- a/data/maps/SevenIsland_SevaultCanyon_Entrance/text.inc +++ b/data/maps/SevenIsland_SevaultCanyon_Entrance/text.inc @@ -1,100 +1,92 @@ -Text_18C384:: @ 818C384 - .string "トレーナータワーには\n" - .string "いまは はいれない みたい‥$" - -Text_18C39E:: @ 818C39E - .string "トレーナータワーが あいてる!\n" - .string "さっそく はいってみよう!$" - -Text_18C3BC:: @ 818C3BC +SevenIsland_SevaultCanyon_Entrance_Text_MiahIntro:: @ 818C3BC .string "Kyahaha!\n" .string "I'll flick you away effortlessly!$" -Text_18C3E7:: @ 818C3E7 +SevenIsland_SevaultCanyon_Entrance_Text_MiahDefeat:: @ 818C3E7 .string "Tch!\n" .string "Too strong for me!$" -Text_18C3FF:: @ 818C3FF +SevenIsland_SevaultCanyon_Entrance_Text_MiahPostBattle:: @ 818C3FF .string "What's that?\n" .string "I don't act the way I look?\p" .string "Heh, that's a part of my strategy!$" -Text_18C44B:: @ 818C44B +SevenIsland_SevaultCanyon_Entrance_Text_MasonIntro:: @ 818C44B .string "Howdy!\n" .string "Are you a member of my fan club?$" -Text_18C473:: @ 818C473 +SevenIsland_SevaultCanyon_Entrance_Text_MasonDefeat:: @ 818C473 .string "Oh, so you're not a fan…\p" .string "Well, I can change that.\n" .string "Let me sing for you!$" -Text_18C4BA:: @ 818C4BA +SevenIsland_SevaultCanyon_Entrance_Text_MasonPostBattle:: @ 818C4BA .string "Lalalah…\n" .string "My POKéMON, I send them out,\l" .string "all the girls scream and shout!$" -Text_18C500:: @ 818C500 +SevenIsland_SevaultCanyon_Entrance_Text_NicolasIntro:: @ 818C500 .string "This island is too spread out…\n" .string "It's not easy patrolling the place.$" -Text_18C543:: @ 818C543 +SevenIsland_SevaultCanyon_Entrance_Text_NicolasDefeat:: @ 818C543 .string "Uh-huh…$" -Text_18C54B:: @ 818C54B +SevenIsland_SevaultCanyon_Entrance_Text_NicolasPostBattle:: @ 818C54B .string "TRAINERS like you from cities,\n" .string "they sure are tough.\p" .string "You'll be headed for the TOWER,\n" .string "won't you?$" -Text_18C5AA:: @ 818C5AA +SevenIsland_SevaultCanyon_Entrance_Text_MadelineIntro:: @ 818C5AA .string "I punish people who abuse\n" .string "POKéMON!$" -Text_18C5CD:: @ 818C5CD +SevenIsland_SevaultCanyon_Entrance_Text_MadelineDefeat:: @ 818C5CD .string "You don't seem to be a problem\n" .string "TRAINER.$" -Text_18C5F5:: @ 818C5F5 +SevenIsland_SevaultCanyon_Entrance_Text_MadelinePostBattle:: @ 818C5F5 .string "If you treat your POKéMON with\n" .string "kindness, they'll understand.$" -Text_18C632:: @ 818C632 +SevenIsland_SevaultCanyon_Entrance_Text_EveIntro:: @ 818C632 .string "EVE: I'll team up with JON and\n" .string "battle together.$" -Text_18C662:: @ 818C662 +SevenIsland_SevaultCanyon_Entrance_Text_EveDefeat:: @ 818C662 .string "EVE: Me and JON, we lost.\n" .string "Ehehe.$" -Text_18C683:: @ 818C683 +SevenIsland_SevaultCanyon_Entrance_Text_EvePostBattle:: @ 818C683 .string "EVE: I'm going to work harder with\n" .string "JON.$" -Text_18C6AB:: @ 818C6AB +SevenIsland_SevaultCanyon_Entrance_Text_EveNotEnoughMons:: @ 818C6AB .string "EVE: I want to team up with JON\n" .string "when I battle you.\p" .string "Come back with two POKéMON, okay?$" -Text_18C700:: @ 818C700 +SevenIsland_SevaultCanyon_Entrance_Text_JonIntro:: @ 818C700 .string "JON: When I'm with EVE, it feels\n" .string "like we could never lose.$" -Text_18C73B:: @ 818C73B +SevenIsland_SevaultCanyon_Entrance_Text_JonDefeat:: @ 818C73B .string "JON: When I'm with EVE,\n" .string "it doesn't feel like I've lost!$" -Text_18C773:: @ 818C773 +SevenIsland_SevaultCanyon_Entrance_Text_JonPostBattle:: @ 818C773 .string "JON: When I'm with EVE, I feel\n" .string "giddy whether I win or lose.\p" .string "It's magical!$" -Text_18C7BD:: @ 818C7BD +SevenIsland_SevaultCanyon_Entrance_Text_JonNotEnoughMons:: @ 818C7BD .string "JON: If it's with EVE, I'll be\n" .string "happy to battle with you.\p" .string "So, I'd like to make it a\n" .string "two-on-two battle, if I may.$" -gUnknown_818C82D:: @ 818C82D +SevenIsland_SevaultCanyon_Entrance_Text_RouteSign:: @ 818C82D .string "SEVAULT CANYON ENTRANCE\p" .string "TRAINERS are asked to refrain from\n" .string "damaging plants in the CANYON.$" diff --git a/data/maps/SevenIsland_SevaultCanyon_House/map.json b/data/maps/SevenIsland_SevaultCanyon_House/map.json index 864ce7c59..bee4a1a86 100644 --- a/data/maps/SevenIsland_SevaultCanyon_House/map.json +++ b/data/maps/SevenIsland_SevaultCanyon_House/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SEVAULT_CANYON", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 2, "y": 4, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_SevaultCanyon_House_EventScript_172183", + "script": "SevenIsland_SevaultCanyon_House_EventScript_BaldingMan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CHANSEY", + "graphics_id": "OBJ_EVENT_GFX_CHANSEY", "x": 4, "y": 2, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_SevaultCanyon_House_EventScript_172242", + "script": "SevenIsland_SevaultCanyon_House_EventScript_Chansey", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 6, "y": 4, "elevation": 0, diff --git a/data/maps/SevenIsland_SevaultCanyon_House/scripts.inc b/data/maps/SevenIsland_SevaultCanyon_House/scripts.inc index 975444645..0c12e9362 100644 --- a/data/maps/SevenIsland_SevaultCanyon_House/scripts.inc +++ b/data/maps/SevenIsland_SevaultCanyon_House/scripts.inc @@ -1,57 +1,57 @@ SevenIsland_SevaultCanyon_House_MapScripts:: @ 8172182 .byte 0 -SevenIsland_SevaultCanyon_House_EventScript_172183:: @ 8172183 +SevenIsland_SevaultCanyon_House_EventScript_BaldingMan:: @ 8172183 lock - goto_if_set FLAG_TEMP_2, EventScript_172211 + goto_if_set FLAG_TEMP_2, SevenIsland_SevaultCanyon_House_EventScript_AlreadyDanced playbgm MUS_P_SCHOOL, 0 - applymovement 1, Movement_172231 + applymovement 1, SevenIsland_SevaultCanyon_House_Movement_ChanseyDance waitmovement 0 fadedefaultbgm delay 30 applymovement 1, Movement_FacePlayer waitmovement 0 - msgbox gUnknown_81A4D72 + msgbox SevenIsland_SevaultCanyon_House_Text_ChanseyDanceJoinIn textcolor 3 - msgbox gUnknown_81A4DAF, MSGBOX_YESNO + msgbox SevenIsland_SevaultCanyon_House_Text_WouldYouLikeToDance, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_172225 - msgbox gUnknown_81A4DD8 + goto_if_eq SevenIsland_SevaultCanyon_House_EventScript_DeclineDance + msgbox SevenIsland_SevaultCanyon_House_Text_DancedChanseyDance closemessage - call EventScript_1A6675 + call EventScript_RestorePrevTextColor compare VAR_FACING, DIR_SOUTH - call_if_ne EventScript_172206 + call_if_ne SevenIsland_SevaultCanyon_House_EventScript_PlayerFaceDown delay 30 playbgm MUS_P_SCHOOL, 0 - applymovement OBJ_EVENT_ID_PLAYER, Movement_172231 + applymovement OBJ_EVENT_ID_PLAYER, SevenIsland_SevaultCanyon_House_Movement_ChanseyDance waitmovement 0 fadedefaultbgm delay 30 call EventScript_OutOfCenterPartyHeal - msgbox gUnknown_81A4DF5 + msgbox SevenIsland_SevaultCanyon_House_Text_YoureAllChipperNow setflag FLAG_TEMP_2 release end -EventScript_172206:: @ 8172206 +SevenIsland_SevaultCanyon_House_EventScript_PlayerFaceDown:: @ 8172206 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestDown waitmovement 0 return -EventScript_172211:: @ 8172211 +SevenIsland_SevaultCanyon_House_EventScript_AlreadyDanced:: @ 8172211 applymovement 1, Movement_FacePlayer waitmovement 0 - msgbox gUnknown_81A4D72 + msgbox SevenIsland_SevaultCanyon_House_Text_ChanseyDanceJoinIn release end -EventScript_172225:: @ 8172225 +SevenIsland_SevaultCanyon_House_EventScript_DeclineDance:: @ 8172225 textcolor 0 - msgbox gUnknown_81A4DC8 + msgbox SevenIsland_SevaultCanyon_House_Text_ComeOnDance release end -Movement_172231:: @ 8172231 +SevenIsland_SevaultCanyon_House_Movement_ChanseyDance:: @ 8172231 walk_in_place_down delay_16 walk_in_place_down @@ -70,12 +70,12 @@ Movement_172231:: @ 8172231 delay_4 step_end -SevenIsland_SevaultCanyon_House_EventScript_172242:: @ 8172242 +SevenIsland_SevaultCanyon_House_EventScript_Chansey:: @ 8172242 lock faceplayer waitse playmoncry SPECIES_CHANSEY, 0 - msgbox gUnknown_81A4E26 + msgbox SevenIsland_SevaultCanyon_House_Text_Chansey waitmoncry release end diff --git a/data/maps/SevenIsland_SevaultCanyon_House/text.inc b/data/maps/SevenIsland_SevaultCanyon_House/text.inc index 0602136b9..478107036 100644 --- a/data/maps/SevenIsland_SevaultCanyon_House/text.inc +++ b/data/maps/SevenIsland_SevaultCanyon_House/text.inc @@ -1,22 +1,22 @@ -gUnknown_81A4D72:: @ 81A4D72 +SevenIsland_SevaultCanyon_House_Text_ChanseyDanceJoinIn:: @ 81A4D72 .string "Dance, dance!\n" .string "CHANSEY Dance!\p" .string "You join in, too!\n" .string "Dance, dance!$" -gUnknown_81A4DAF:: @ 81A4DAF +SevenIsland_SevaultCanyon_House_Text_WouldYouLikeToDance:: @ 81A4DAF .string "Would you like to dance?$" -gUnknown_81A4DC8:: @ 81A4DC8 +SevenIsland_SevaultCanyon_House_Text_ComeOnDance:: @ 81A4DC8 .string "Come on, dance!$" -gUnknown_81A4DD8:: @ 81A4DD8 +SevenIsland_SevaultCanyon_House_Text_DancedChanseyDance:: @ 81A4DD8 .string "{PLAYER} danced the CHANSEY Dance!$" -gUnknown_81A4DF5:: @ 81A4DF5 +SevenIsland_SevaultCanyon_House_Text_YoureAllChipperNow:: @ 81A4DF5 .string "Ahahahaha!\p" .string "There, you're all chipper now!\n" .string "Lucky!$" -gUnknown_81A4E26:: @ 81A4E26 +SevenIsland_SevaultCanyon_House_Text_Chansey:: @ 81A4E26 .string "CHANSEY: Chansi! Chansi!$" diff --git a/data/maps/SevenIsland_SevaultCanyon_TanobyKey/map.json b/data/maps/SevenIsland_SevaultCanyon_TanobyKey/map.json index b768509fb..73ae71224 100644 --- a/data/maps/SevenIsland_SevaultCanyon_TanobyKey/map.json +++ b/data/maps/SevenIsland_SevaultCanyon_TanobyKey/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_TANOBY_KEY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_2", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_1", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 7, "y": 6, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 8, "y": 6, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 8, "y": 9, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 6, "y": 10, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 8, "y": 10, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 6, "y": 9, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 6, "y": 6, "elevation": 3, @@ -101,7 +103,7 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" } ], @@ -122,7 +124,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": 99, - "script": "SevenIsland_SevaultCanyon_TanobyKey_EventScript_164E39" + "script": "SevenIsland_SevaultCanyon_TanobyKey_EventScript_Switch1" }, { "type": "trigger", @@ -131,7 +133,7 @@ "elevation": 3, "var": "VAR_TEMP_7", "var_value": 99, - "script": "SevenIsland_SevaultCanyon_TanobyKey_EventScript_164F0B" + "script": "SevenIsland_SevaultCanyon_TanobyKey_EventScript_Switch7" }, { "type": "trigger", @@ -140,7 +142,7 @@ "elevation": 3, "var": "VAR_TEMP_6", "var_value": 99, - "script": "SevenIsland_SevaultCanyon_TanobyKey_EventScript_164EE8" + "script": "SevenIsland_SevaultCanyon_TanobyKey_EventScript_Switch6" }, { "type": "trigger", @@ -149,7 +151,7 @@ "elevation": 3, "var": "VAR_TEMP_5", "var_value": 99, - "script": "SevenIsland_SevaultCanyon_TanobyKey_EventScript_164EC5" + "script": "SevenIsland_SevaultCanyon_TanobyKey_EventScript_Switch5" }, { "type": "trigger", @@ -158,7 +160,7 @@ "elevation": 3, "var": "VAR_TEMP_4", "var_value": 99, - "script": "SevenIsland_SevaultCanyon_TanobyKey_EventScript_164EA2" + "script": "SevenIsland_SevaultCanyon_TanobyKey_EventScript_Switch4" }, { "type": "trigger", @@ -167,7 +169,7 @@ "elevation": 3, "var": "VAR_TEMP_3", "var_value": 99, - "script": "SevenIsland_SevaultCanyon_TanobyKey_EventScript_164E7F" + "script": "SevenIsland_SevaultCanyon_TanobyKey_EventScript_Switch3" }, { "type": "trigger", @@ -176,7 +178,7 @@ "elevation": 3, "var": "VAR_TEMP_2", "var_value": 99, - "script": "SevenIsland_SevaultCanyon_TanobyKey_EventScript_164E5C" + "script": "SevenIsland_SevaultCanyon_TanobyKey_EventScript_Switch2" } ], "bg_events": [] diff --git a/data/maps/SevenIsland_SevaultCanyon_TanobyKey/scripts.inc b/data/maps/SevenIsland_SevaultCanyon_TanobyKey/scripts.inc index 8758f8517..54efea505 100644 --- a/data/maps/SevenIsland_SevaultCanyon_TanobyKey/scripts.inc +++ b/data/maps/SevenIsland_SevaultCanyon_TanobyKey/scripts.inc @@ -1,10 +1,12 @@ +.equ NUM_SWITCHES_PRESSED, VAR_TEMP_8 + SevenIsland_SevaultCanyon_TanobyKey_MapScripts:: @ 8164DCC map_script MAP_SCRIPT_ON_TRANSITION, SevenIsland_SevaultCanyon_TanobyKey_OnTransition .byte 0 SevenIsland_SevaultCanyon_TanobyKey_OnTransition:: @ 8164DD2 setworldmapflag FLAG_WORLD_MAP_SEVEN_ISLAND_SEVAULT_CANYON_TANOBY_KEY - call_if_set FLAG_SYS_UNLOCKED_TANOBY_RUINS, EventScript_164E07 + call_if_set FLAG_SYS_UNLOCKED_TANOBY_RUINS, SevenIsland_SevaultCanyon_TanobyKey_EventScript_MoveBouldersToSolvedPos setvar VAR_TEMP_1, 0 setvar VAR_TEMP_2, 0 setvar VAR_TEMP_3, 0 @@ -12,10 +14,10 @@ SevenIsland_SevaultCanyon_TanobyKey_OnTransition:: @ 8164DD2 setvar VAR_TEMP_5, 0 setvar VAR_TEMP_6, 0 setvar VAR_TEMP_7, 0 - setvar VAR_TEMP_8, 0 + setvar NUM_SWITCHES_PRESSED, 0 end -EventScript_164E07:: @ 8164E07 +SevenIsland_SevaultCanyon_TanobyKey_EventScript_MoveBouldersToSolvedPos:: @ 8164E07 setobjectxyperm 1, 7, 2 setobjectxyperm 2, 4, 4 setobjectxyperm 3, 10, 4 @@ -25,118 +27,118 @@ EventScript_164E07:: @ 8164E07 setobjectxyperm 7, 9, 8 return -SevenIsland_SevaultCanyon_TanobyKey_EventScript_164E39:: @ 8164E39 +SevenIsland_SevaultCanyon_TanobyKey_EventScript_Switch1:: @ 8164E39 lockall compare VAR_TEMP_1, 100 - goto_if_eq EventScript_164F8A - call EventScript_164F2E + goto_if_eq SevenIsland_SevaultCanyon_TanobyKey_EventScript_SwitchAlreadyPressed + call SevenIsland_SevaultCanyon_TanobyKey_EventScript_SwitchPressed setvar VAR_TEMP_1, 100 - compare VAR_TEMP_8, 7 - goto_if_eq EventScript_164F8C + compare NUM_SWITCHES_PRESSED, 7 + goto_if_eq SevenIsland_SevaultCanyon_TanobyKey_EventScript_PuzzleSolved releaseall end -SevenIsland_SevaultCanyon_TanobyKey_EventScript_164E5C:: @ 8164E5C +SevenIsland_SevaultCanyon_TanobyKey_EventScript_Switch2:: @ 8164E5C lockall compare VAR_TEMP_2, 100 - goto_if_eq EventScript_164F8A - call EventScript_164F2E + goto_if_eq SevenIsland_SevaultCanyon_TanobyKey_EventScript_SwitchAlreadyPressed + call SevenIsland_SevaultCanyon_TanobyKey_EventScript_SwitchPressed setvar VAR_TEMP_2, 100 - compare VAR_TEMP_8, 7 - goto_if_eq EventScript_164F8C + compare NUM_SWITCHES_PRESSED, 7 + goto_if_eq SevenIsland_SevaultCanyon_TanobyKey_EventScript_PuzzleSolved releaseall end -SevenIsland_SevaultCanyon_TanobyKey_EventScript_164E7F:: @ 8164E7F +SevenIsland_SevaultCanyon_TanobyKey_EventScript_Switch3:: @ 8164E7F lockall compare VAR_TEMP_3, 100 - goto_if_eq EventScript_164F8A - call EventScript_164F2E + goto_if_eq SevenIsland_SevaultCanyon_TanobyKey_EventScript_SwitchAlreadyPressed + call SevenIsland_SevaultCanyon_TanobyKey_EventScript_SwitchPressed setvar VAR_TEMP_3, 100 - compare VAR_TEMP_8, 7 - goto_if_eq EventScript_164F8C + compare NUM_SWITCHES_PRESSED, 7 + goto_if_eq SevenIsland_SevaultCanyon_TanobyKey_EventScript_PuzzleSolved releaseall end -SevenIsland_SevaultCanyon_TanobyKey_EventScript_164EA2:: @ 8164EA2 +SevenIsland_SevaultCanyon_TanobyKey_EventScript_Switch4:: @ 8164EA2 lockall compare VAR_TEMP_4, 100 - goto_if_eq EventScript_164F8A - call EventScript_164F2E + goto_if_eq SevenIsland_SevaultCanyon_TanobyKey_EventScript_SwitchAlreadyPressed + call SevenIsland_SevaultCanyon_TanobyKey_EventScript_SwitchPressed setvar VAR_TEMP_4, 100 - compare VAR_TEMP_8, 7 - goto_if_eq EventScript_164F8C + compare NUM_SWITCHES_PRESSED, 7 + goto_if_eq SevenIsland_SevaultCanyon_TanobyKey_EventScript_PuzzleSolved releaseall end -SevenIsland_SevaultCanyon_TanobyKey_EventScript_164EC5:: @ 8164EC5 +SevenIsland_SevaultCanyon_TanobyKey_EventScript_Switch5:: @ 8164EC5 lockall compare VAR_TEMP_5, 100 - goto_if_eq EventScript_164F8A - call EventScript_164F2E + goto_if_eq SevenIsland_SevaultCanyon_TanobyKey_EventScript_SwitchAlreadyPressed + call SevenIsland_SevaultCanyon_TanobyKey_EventScript_SwitchPressed setvar VAR_TEMP_5, 100 - compare VAR_TEMP_8, 7 - goto_if_eq EventScript_164F8C + compare NUM_SWITCHES_PRESSED, 7 + goto_if_eq SevenIsland_SevaultCanyon_TanobyKey_EventScript_PuzzleSolved releaseall end -SevenIsland_SevaultCanyon_TanobyKey_EventScript_164EE8:: @ 8164EE8 +SevenIsland_SevaultCanyon_TanobyKey_EventScript_Switch6:: @ 8164EE8 lockall compare VAR_TEMP_6, 100 - goto_if_eq EventScript_164F8A - call EventScript_164F2E + goto_if_eq SevenIsland_SevaultCanyon_TanobyKey_EventScript_SwitchAlreadyPressed + call SevenIsland_SevaultCanyon_TanobyKey_EventScript_SwitchPressed setvar VAR_TEMP_6, 100 - compare VAR_TEMP_8, 7 - goto_if_eq EventScript_164F8C + compare NUM_SWITCHES_PRESSED, 7 + goto_if_eq SevenIsland_SevaultCanyon_TanobyKey_EventScript_PuzzleSolved releaseall end -SevenIsland_SevaultCanyon_TanobyKey_EventScript_164F0B:: @ 8164F0B +SevenIsland_SevaultCanyon_TanobyKey_EventScript_Switch7:: @ 8164F0B lockall compare VAR_TEMP_7, 100 - goto_if_eq EventScript_164F8A - call EventScript_164F2E + goto_if_eq SevenIsland_SevaultCanyon_TanobyKey_EventScript_SwitchAlreadyPressed + call SevenIsland_SevaultCanyon_TanobyKey_EventScript_SwitchPressed setvar VAR_TEMP_7, 100 - compare VAR_TEMP_8, 7 - goto_if_eq EventScript_164F8C + compare NUM_SWITCHES_PRESSED, 7 + goto_if_eq SevenIsland_SevaultCanyon_TanobyKey_EventScript_PuzzleSolved releaseall end -EventScript_164F2E:: @ 8164F2E - addvar VAR_TEMP_8, 1 +SevenIsland_SevaultCanyon_TanobyKey_EventScript_SwitchPressed:: @ 8164F2E + addvar NUM_SWITCHES_PRESSED, 1 playse SE_TRACK_MOVE setvar VAR_0x8004, 1 setvar VAR_0x8005, 1 setvar VAR_0x8006, 8 setvar VAR_0x8007, 3 - special Special_ShakeScreen + special ShakeScreen delay 60 return -EventScript_164F51:: @ 8164F51 +SevenIsland_SevaultCanyon_TanobyKey_EventScript_PuzzleSolvedShakeScreen:: @ 8164F51 setvar VAR_0x8004, 2 setvar VAR_0x8005, 2 setvar VAR_0x8006, 10 setvar VAR_0x8007, 3 - special Special_ShakeScreen + special ShakeScreen delay 60 setvar VAR_0x8004, 3 setvar VAR_0x8005, 3 setvar VAR_0x8006, 12 setvar VAR_0x8007, 2 - special Special_ShakeScreen + special ShakeScreen delay 60 playse SE_FU_ZUZUZU waitse return -EventScript_164F8A:: @ 8164F8A +SevenIsland_SevaultCanyon_TanobyKey_EventScript_SwitchAlreadyPressed:: @ 8164F8A releaseall end -EventScript_164F8C:: @ 8164F8C - call EventScript_164F51 - msgbox gUnknown_817D31B +SevenIsland_SevaultCanyon_TanobyKey_EventScript_PuzzleSolved:: @ 8164F8C + call SevenIsland_SevaultCanyon_TanobyKey_EventScript_PuzzleSolvedShakeScreen + msgbox SevenIsland_SevaultCanyon_TanobyKey_Text_MysteriousRumbleFarAway setflag FLAG_SYS_UNLOCKED_TANOBY_RUINS releaseall end diff --git a/data/maps/SevenIsland_SevaultCanyon_TanobyKey/text.inc b/data/maps/SevenIsland_SevaultCanyon_TanobyKey/text.inc index c6f137869..f86669ce4 100644 --- a/data/maps/SevenIsland_SevaultCanyon_TanobyKey/text.inc +++ b/data/maps/SevenIsland_SevaultCanyon_TanobyKey/text.inc @@ -1,4 +1,4 @@ -gUnknown_817D31B:: @ 817D31B +SevenIsland_SevaultCanyon_TanobyKey_Text_MysteriousRumbleFarAway:: @ 817D31B .string "A mysterious rumble echoed\n" .string "somewhere far away.$" diff --git a/data/maps/SevenIsland_TanobyRuins/map.json b/data/maps/SevenIsland_TanobyRuins/map.json index 42c643af5..37d70540c 100644 --- a/data/maps/SevenIsland_TanobyRuins/map.json +++ b/data/maps/SevenIsland_TanobyRuins/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_TANOBY_RUINS", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_SEVEN_ISLAND_SEVAULT_CANYON", @@ -20,7 +22,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 35, "y": 7, "elevation": 3, @@ -29,11 +31,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SevenIsland_TanobyRuins_EventScript_1ACC4D", + "script": "SevenIsland_TanobyRuins_EventScript_Brandon", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 121, "y": 11, "elevation": 3, @@ -42,11 +44,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SevenIsland_TanobyRuins_EventScript_1ACC8B", + "script": "SevenIsland_TanobyRuins_EventScript_Benjamin", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 85, "y": 8, "elevation": 3, @@ -55,11 +57,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SevenIsland_TanobyRuins_EventScript_1ACCC9", + "script": "SevenIsland_TanobyRuins_EventScript_Edna", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 85, "y": 5, "elevation": 3, @@ -68,7 +70,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SevenIsland_TanobyRuins_EventScript_1ACD07", + "script": "SevenIsland_TanobyRuins_EventScript_Clifford", "flag": "0" } ], diff --git a/data/maps/SevenIsland_TanobyRuins/text.inc b/data/maps/SevenIsland_TanobyRuins/text.inc new file mode 100644 index 000000000..a5453f527 --- /dev/null +++ b/data/maps/SevenIsland_TanobyRuins/text.inc @@ -0,0 +1,52 @@ +SevenIsland_TanobyRuins_Text_BrandonIntro:: @ 818CFFB + .string "Do you know anything about this\n" + .string "stone chamber?$" + +SevenIsland_TanobyRuins_Text_BrandonDefeat:: @ 818D02A + .string "That was uncalled for.\n" + .string "You didn't have to be so rough.$" + +SevenIsland_TanobyRuins_Text_BrandonPostBattle:: @ 818D061 + .string "The TANOBY RUINS date back at\n" + .string "least 1,500 years.\p" + .string "But it's a baffling mystery as to\n" + .string "why it was built in the first place.$" + +SevenIsland_TanobyRuins_Text_BenjaminIntro:: @ 818D0D9 + .string "A mystic POKéMON is said to sleep\n" + .string "inside here.$" + +SevenIsland_TanobyRuins_Text_BenjaminDefeat:: @ 818D108 + .string "I'm not much good in battle.$" + +SevenIsland_TanobyRuins_Text_BenjaminPostBattle:: @ 818D125 + .string "I hear there are other ruins like\n" + .string "the one here.\p" + .string "Might they be the resting places\n" + .string "of other mystic POKéMON?$" + +SevenIsland_TanobyRuins_Text_EdnaIntro:: @ 818D18F + .string "CLIFFORD is teaching me how to\n" + .string "paint.$" + +SevenIsland_TanobyRuins_Text_EdnaDefeat:: @ 818D1B5 + .string "We might get in trouble for being\n" + .string "noisy here.$" + +SevenIsland_TanobyRuins_Text_EdnaPostBattle:: @ 818D1E3 + .string "I said that I wanted to paint an\n" + .string "old building.\p" + .string "So CLIFFORD brought me here.$" + +SevenIsland_TanobyRuins_Text_CliffordIntro:: @ 818D22F + .string "Today, in addition to our lesson,\n" + .string "we came to see the chamber.$" + +SevenIsland_TanobyRuins_Text_CliffordDefeat:: @ 818D26D + .string "My, how extraordinary.$" + +SevenIsland_TanobyRuins_Text_CliffordPostBattle:: @ 818D284 + .string "Ah, so you are studying POKéMON\n" + .string "on your own…\p" + .string "Yes, you certainly are quite the\n" + .string "extraordinary person, indeed.$" diff --git a/data/maps/SevenIsland_TanobyRuins_DilfordChamber/map.json b/data/maps/SevenIsland_TanobyRuins_DilfordChamber/map.json index ddb7b332e..6e8b55f18 100644 --- a/data/maps/SevenIsland_TanobyRuins_DilfordChamber/map.json +++ b/data/maps/SevenIsland_TanobyRuins_DilfordChamber/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_DILFORD_CHAMBER", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_2", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_1", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/SevenIsland_TanobyRuins_DilfordChamber/scripts.inc b/data/maps/SevenIsland_TanobyRuins_DilfordChamber/scripts.inc index 847ae472a..0646e661d 100644 --- a/data/maps/SevenIsland_TanobyRuins_DilfordChamber/scripts.inc +++ b/data/maps/SevenIsland_TanobyRuins_DilfordChamber/scripts.inc @@ -3,5 +3,5 @@ SevenIsland_TanobyRuins_DilfordChamber_MapScripts:: @ 8164CF6 .byte 0 SevenIsland_TanobyRuins_DilfordChamber_OnTransition:: @ 8164CFC - call EventScript_1A925E + call EventScript_TryDarkenRuins end diff --git a/data/maps/SevenIsland_TanobyRuins_LiptooChamber/map.json b/data/maps/SevenIsland_TanobyRuins_LiptooChamber/map.json index 72183cadb..36ae546ee 100644 --- a/data/maps/SevenIsland_TanobyRuins_LiptooChamber/map.json +++ b/data/maps/SevenIsland_TanobyRuins_LiptooChamber/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_LIPTOO_CHAMBER", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_2", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_1", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/SevenIsland_TanobyRuins_LiptooChamber/scripts.inc b/data/maps/SevenIsland_TanobyRuins_LiptooChamber/scripts.inc index b982b77dd..8a606a2c3 100644 --- a/data/maps/SevenIsland_TanobyRuins_LiptooChamber/scripts.inc +++ b/data/maps/SevenIsland_TanobyRuins_LiptooChamber/scripts.inc @@ -3,5 +3,5 @@ SevenIsland_TanobyRuins_LiptooChamber_MapScripts:: @ 8164CDE .byte 0 SevenIsland_TanobyRuins_LiptooChamber_OnTransition:: @ 8164CE4 - call EventScript_1A925E + call EventScript_TryDarkenRuins end diff --git a/data/maps/SevenIsland_TanobyRuins_MoneanChamber/map.json b/data/maps/SevenIsland_TanobyRuins_MoneanChamber/map.json index 9685ccfe6..e7fc05f59 100644 --- a/data/maps/SevenIsland_TanobyRuins_MoneanChamber/map.json +++ b/data/maps/SevenIsland_TanobyRuins_MoneanChamber/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_MONEAN_CHAMBER", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_2", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_1", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/SevenIsland_TanobyRuins_MoneanChamber/scripts.inc b/data/maps/SevenIsland_TanobyRuins_MoneanChamber/scripts.inc index d467f79ef..819b2bbc1 100644 --- a/data/maps/SevenIsland_TanobyRuins_MoneanChamber/scripts.inc +++ b/data/maps/SevenIsland_TanobyRuins_MoneanChamber/scripts.inc @@ -4,5 +4,5 @@ SevenIsland_TanobyRuins_MoneanChamber_MapScripts:: @ 8164CCF SevenIsland_TanobyRuins_MoneanChamber_OnTransition:: @ 8164CD5 setworldmapflag FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER - call EventScript_1A925E + call EventScript_TryDarkenRuins end diff --git a/data/maps/SevenIsland_TanobyRuins_RixyChamber/map.json b/data/maps/SevenIsland_TanobyRuins_RixyChamber/map.json index ba84889d5..c974e67a5 100644 --- a/data/maps/SevenIsland_TanobyRuins_RixyChamber/map.json +++ b/data/maps/SevenIsland_TanobyRuins_RixyChamber/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_RIXY_CHAMBER", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_2", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_1", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/SevenIsland_TanobyRuins_RixyChamber/scripts.inc b/data/maps/SevenIsland_TanobyRuins_RixyChamber/scripts.inc index 2f3d604c3..e29694d8f 100644 --- a/data/maps/SevenIsland_TanobyRuins_RixyChamber/scripts.inc +++ b/data/maps/SevenIsland_TanobyRuins_RixyChamber/scripts.inc @@ -3,5 +3,5 @@ SevenIsland_TanobyRuins_RixyChamber_MapScripts:: @ 8164D0E .byte 0 SevenIsland_TanobyRuins_RixyChamber_OnTransition:: @ 8164D14 - call EventScript_1A925E + call EventScript_TryDarkenRuins end diff --git a/data/maps/SevenIsland_TanobyRuins_ScufibChamber/map.json b/data/maps/SevenIsland_TanobyRuins_ScufibChamber/map.json index d21ec2792..0a604bfdd 100644 --- a/data/maps/SevenIsland_TanobyRuins_ScufibChamber/map.json +++ b/data/maps/SevenIsland_TanobyRuins_ScufibChamber/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_SCUFIB_CHAMBER", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_2", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_1", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/SevenIsland_TanobyRuins_ScufibChamber/scripts.inc b/data/maps/SevenIsland_TanobyRuins_ScufibChamber/scripts.inc index dd1a73f83..4917ecdf8 100644 --- a/data/maps/SevenIsland_TanobyRuins_ScufibChamber/scripts.inc +++ b/data/maps/SevenIsland_TanobyRuins_ScufibChamber/scripts.inc @@ -3,5 +3,5 @@ SevenIsland_TanobyRuins_ScufibChamber_MapScripts:: @ 8164D02 .byte 0 SevenIsland_TanobyRuins_ScufibChamber_OnTransition:: @ 8164D08 - call EventScript_1A925E + call EventScript_TryDarkenRuins end diff --git a/data/maps/SevenIsland_TanobyRuins_ViapoisChamber/map.json b/data/maps/SevenIsland_TanobyRuins_ViapoisChamber/map.json index fd2e1317c..c201caaf8 100644 --- a/data/maps/SevenIsland_TanobyRuins_ViapoisChamber/map.json +++ b/data/maps/SevenIsland_TanobyRuins_ViapoisChamber/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_VIAPOIS_CHAMBER", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_2", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_1", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/SevenIsland_TanobyRuins_ViapoisChamber/scripts.inc b/data/maps/SevenIsland_TanobyRuins_ViapoisChamber/scripts.inc index 131a6ecca..f1a13adcb 100644 --- a/data/maps/SevenIsland_TanobyRuins_ViapoisChamber/scripts.inc +++ b/data/maps/SevenIsland_TanobyRuins_ViapoisChamber/scripts.inc @@ -3,5 +3,5 @@ SevenIsland_TanobyRuins_ViapoisChamber_MapScripts:: @ 8164D1A .byte 0 SevenIsland_TanobyRuins_ViapoisChamber_OnTransition:: @ 8164D20 - call EventScript_1A925E + call EventScript_TryDarkenRuins end diff --git a/data/maps/SevenIsland_TanobyRuins_WeepthChamber/map.json b/data/maps/SevenIsland_TanobyRuins_WeepthChamber/map.json index c53a81f80..e85de29ad 100644 --- a/data/maps/SevenIsland_TanobyRuins_WeepthChamber/map.json +++ b/data/maps/SevenIsland_TanobyRuins_WeepthChamber/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_WEEPTH_CHAMBER", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_2", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_INDOOR_1", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/SevenIsland_TanobyRuins_WeepthChamber/scripts.inc b/data/maps/SevenIsland_TanobyRuins_WeepthChamber/scripts.inc index ff6c851ee..3a7720b4c 100644 --- a/data/maps/SevenIsland_TanobyRuins_WeepthChamber/scripts.inc +++ b/data/maps/SevenIsland_TanobyRuins_WeepthChamber/scripts.inc @@ -3,5 +3,5 @@ SevenIsland_TanobyRuins_WeepthChamber_MapScripts:: @ 8164CEA .byte 0 SevenIsland_TanobyRuins_WeepthChamber_OnTransition:: @ 8164CF0 - call EventScript_1A925E + call EventScript_TryDarkenRuins end diff --git a/data/maps/SevenIsland_TrainerTower/map.json b/data/maps/SevenIsland_TrainerTower/map.json index 47fb5fa98..67319b37d 100644 --- a/data/maps/SevenIsland_TrainerTower/map.json +++ b/data/maps/SevenIsland_TrainerTower/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_TRAINER_TOWER", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_SEVEN_ISLAND", @@ -20,7 +22,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BOY", + "graphics_id": "OBJ_EVENT_GFX_BOY", "x": 56, "y": 26, "elevation": 3, @@ -29,11 +31,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SevenIsland_TrainerTower_EventScript_1AC84D", + "script": "SevenIsland_TrainerTower_EventScript_Dario", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_1", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_1", "x": 56, "y": 29, "elevation": 3, @@ -42,7 +44,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SevenIsland_TrainerTower_EventScript_1AC88B", + "script": "SevenIsland_TrainerTower_EventScript_Rodette", "flag": "0" } ], @@ -51,7 +53,7 @@ "x": 58, "y": 7, "elevation": 3, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_LOBBY", + "dest_map": "MAP_TRAINER_TOWER_LOBBY", "dest_warp_id": 1 } ], @@ -88,18 +90,20 @@ "underfoot": false }, { - "type": "bg_event_type_0", + "type": "sign", "x": 56, "y": 8, "elevation": 0, - "script": "SevenIsland_TrainerTower_EventScript_168BE1" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SevenIsland_TrainerTower_EventScript_TrainerTowerSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 50, "y": 30, "elevation": 0, - "script": "SevenIsland_TrainerTower_EventScript_168BEA" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SevenIsland_TrainerTower_EventScript_TrainerTowerAheadSign" } ] } diff --git a/data/maps/SevenIsland_TrainerTower/scripts.inc b/data/maps/SevenIsland_TrainerTower/scripts.inc index 56716493a..6e9daea9f 100644 --- a/data/maps/SevenIsland_TrainerTower/scripts.inc +++ b/data/maps/SevenIsland_TrainerTower/scripts.inc @@ -6,10 +6,10 @@ SevenIsland_TrainerTower_OnTransition:: @ 8168BDB setvar VAR_MAP_SCENE_TRAINER_TOWER, 0 end -SevenIsland_TrainerTower_EventScript_168BE1:: @ 8168BE1 - msgbox gUnknown_818C338, MSGBOX_SIGN +SevenIsland_TrainerTower_EventScript_TrainerTowerSign:: @ 8168BE1 + msgbox SevenIsland_TrainerTower_Text_TrainerTowerSign, MSGBOX_SIGN end -SevenIsland_TrainerTower_EventScript_168BEA:: @ 8168BEA - msgbox gUnknown_818C370, MSGBOX_SIGN +SevenIsland_TrainerTower_EventScript_TrainerTowerAheadSign:: @ 8168BEA + msgbox SevenIsland_TrainerTower_Text_TrainerTowerAhead, MSGBOX_SIGN end diff --git a/data/maps/SevenIsland_TrainerTower/text.inc b/data/maps/SevenIsland_TrainerTower/text.inc index 027b3de54..92fa81605 100644 --- a/data/maps/SevenIsland_TrainerTower/text.inc +++ b/data/maps/SevenIsland_TrainerTower/text.inc @@ -1,97 +1,41 @@ -Text_18BE5D:: @ 818BE5D - .string "There appear to be many secrets\n" - .string "still unsolved in this world.$" - -Text_18BE9B:: @ 818BE9B - .string "Hmm…$" - -Text_18BEA0:: @ 818BEA0 - .string "I suggest to you that you, too,\n" - .string "give a thought to the secrets and\l" - .string "mysteries of our world once a day.$" - -Text_18BF05:: @ 818BF05 - .string "I'm curious, what compelled you to\n" - .string "come here?$" - -Text_18BF33:: @ 818BF33 - .string "It's been so long since I battled,\n" - .string "my instincts are off.$" - -Text_18BF6C:: @ 818BF6C - .string "There are several ruins on the\n" - .string "SEVII ISLANDS.\p" - .string "The majority of them date back\n" - .string "a long way.$" - -Text_18BFC5:: @ 818BFC5 - .string "It's been said that there are\n" - .string "mysterious stones on this island.\p" - .string "I suspect it has something to do\n" - .string "with the ruins here.$" - -Text_18C03B:: @ 818C03B - .string "Oh, interesting.$" - -Text_18C04C:: @ 818C04C - .string "Those ruins over there…\p" - .string "I haven't had any luck in finding\n" - .string "how I can get inside.$" - -Text_18C09C:: @ 818C09C - .string "A battle with you, so high up!$" - -Text_18C0BB:: @ 818C0BB - .string "Oh, the heartbreak of losing so\n" - .string "easily to you!$" - -Text_18C0EA:: @ 818C0EA - .string "Experience the joy of climbing!$" - -Text_18C10A:: @ 818C10A - .string "I'm pretty familiar with the land\n" - .string "around these parts.$" - -Text_18C140:: @ 818C140 - .string "You don't need to be so pushy.\n" - .string "I'll be happy to tell you.$" - -Text_18C17A:: @ 818C17A - .string "The door to the ruins…\n" - .string "It has these strange patterns\l" - .string "engraved on the outside.\p" - .string "I don't know what they mean,\n" - .string "though.$" - -Text_18C1ED:: @ 818C1ED +SevenIsland_TrainerTower_Text_DarioIntro:: @ 818C1ED .string "I sensed your approach.$" -Text_18C205:: @ 818C205 +SevenIsland_TrainerTower_Text_DarioDefeat:: @ 818C205 .string "Give up…$" -Text_18C20E:: @ 818C20E +SevenIsland_TrainerTower_Text_DarioPostBattle:: @ 818C20E .string "In your future, I sense that you\n" .string "will meet many others.\p" .string "I think you will be linked to each\n" .string "other by a strange power.$" -Text_18C283:: @ 818C283 +SevenIsland_TrainerTower_Text_RodetteIntro:: @ 818C283 .string "Somewhere on this island, peculiar\n" .string "POKéMON are sleeping.$" -Text_18C2BC:: @ 818C2BC +SevenIsland_TrainerTower_Text_RodetteDefeat:: @ 818C2BC .string "What an amazing TRAINER!$" -Text_18C2D5:: @ 818C2D5 +SevenIsland_TrainerTower_Text_RodettePostBattle:: @ 818C2D5 .string "Somewhere on this island, peculiar\n" .string "POKéMON are sleeping.\p" .string "Could it be that they're waiting\n" .string "for you?$" -gUnknown_818C338:: @ 818C338 +SevenIsland_TrainerTower_Text_TrainerTowerSign:: @ 818C338 .string "TRAINER TOWER ENTRANCE\n" .string "Rise to the Challenge, TRAINERS!$" -gUnknown_818C370:: @ 818C370 +SevenIsland_TrainerTower_Text_TrainerTowerAhead:: @ 818C370 .string "TRAINER TOWER AHEAD$" +@ Unused text perhaps indicating Trainer Tower was planned to be unlocked by something +SevenIsland_TrainerTower_Text_LooksLikeTrainerTowerIsClosed:: @ 818C384 + .string "トレーナータワーには\n" + .string "いまは はいれない みたい‥$" + +SevenIsland_TrainerTower_Text_TrainerTowerIsOpenLetsGoIn:: @ 818C39E + .string "トレーナータワーが あいてる!\n" + .string "さっそく はいってみよう!$" + diff --git a/data/maps/SevenIsland_TrainerTower_1F/scripts.inc b/data/maps/SevenIsland_TrainerTower_1F/scripts.inc deleted file mode 100644 index 4987c1142..000000000 --- a/data/maps/SevenIsland_TrainerTower_1F/scripts.inc +++ /dev/null @@ -1,60 +0,0 @@ -SevenIsland_TrainerTower_1F_MapScripts:: @ 81646B8 - map_script MAP_SCRIPT_ON_RESUME, SevenIsland_TrainerTower_1F_MapScript1_1C4F54 - map_script MAP_SCRIPT_ON_TRANSITION, SevenIsland_TrainerTower_1F_MapScript2_1C4F62 - map_script MAP_SCRIPT_ON_FRAME_TABLE, SevenIsland_TrainerTower_1F_MapScript3_1C5046 - .byte 0 - -SevenIsland_TrainerTower_2F_EventScript_1646C8:: @ 81646C8 -SevenIsland_TrainerTower_4F_EventScript_1646C8:: @ 81646C8 -SevenIsland_TrainerTower_6F_EventScript_1646C8:: @ 81646C8 -SevenIsland_TrainerTower_8F_EventScript_1646C8:: @ 81646C8 -SevenIsland_TrainerTower_5F_EventScript_1646C8:: @ 81646C8 -SevenIsland_TrainerTower_7F_EventScript_1646C8:: @ 81646C8 -SevenIsland_TrainerTower_3F_EventScript_1646C8:: @ 81646C8 -SevenIsland_TrainerTower_1F_EventScript_1646C8:: @ 81646C8 - call EventScript_1C52F4 - end - -SevenIsland_TrainerTower_2F_EventScript_1646CE:: @ 81646CE -SevenIsland_TrainerTower_4F_EventScript_1646CE:: @ 81646CE -SevenIsland_TrainerTower_6F_EventScript_1646CE:: @ 81646CE -SevenIsland_TrainerTower_8F_EventScript_1646CE:: @ 81646CE -SevenIsland_TrainerTower_5F_EventScript_1646CE:: @ 81646CE -SevenIsland_TrainerTower_7F_EventScript_1646CE:: @ 81646CE -SevenIsland_TrainerTower_3F_EventScript_1646CE:: @ 81646CE -SevenIsland_TrainerTower_1F_EventScript_1646CE:: @ 81646CE - call EventScript_1C533B - end - -SevenIsland_TrainerTower_2F_EventScript_1646D4:: @ 81646D4 -SevenIsland_TrainerTower_4F_EventScript_1646D4:: @ 81646D4 -SevenIsland_TrainerTower_6F_EventScript_1646D4:: @ 81646D4 -SevenIsland_TrainerTower_8F_EventScript_1646D4:: @ 81646D4 -SevenIsland_TrainerTower_5F_EventScript_1646D4:: @ 81646D4 -SevenIsland_TrainerTower_7F_EventScript_1646D4:: @ 81646D4 -SevenIsland_TrainerTower_3F_EventScript_1646D4:: @ 81646D4 -SevenIsland_TrainerTower_1F_EventScript_1646D4:: @ 81646D4 - call EventScript_1C5382 - end - -SevenIsland_TrainerTower_2F_EventScript_1646DA:: @ 81646DA -SevenIsland_TrainerTower_4F_EventScript_1646DA:: @ 81646DA -SevenIsland_TrainerTower_6F_EventScript_1646DA:: @ 81646DA -SevenIsland_TrainerTower_8F_EventScript_1646DA:: @ 81646DA -SevenIsland_TrainerTower_5F_EventScript_1646DA:: @ 81646DA -SevenIsland_TrainerTower_7F_EventScript_1646DA:: @ 81646DA -SevenIsland_TrainerTower_3F_EventScript_1646DA:: @ 81646DA -SevenIsland_TrainerTower_1F_EventScript_1646DA:: @ 81646DA - call EventScript_1C538C - end - -SevenIsland_TrainerTower_2F_EventScript_1646E0:: @ 81646E0 -SevenIsland_TrainerTower_4F_EventScript_1646E0:: @ 81646E0 -SevenIsland_TrainerTower_6F_EventScript_1646E0:: @ 81646E0 -SevenIsland_TrainerTower_8F_EventScript_1646E0:: @ 81646E0 -SevenIsland_TrainerTower_7F_EventScript_1646E0:: @ 81646E0 -SevenIsland_TrainerTower_Roof_EventScript_1646E0:: @ 81646E0 -SevenIsland_TrainerTower_5F_EventScript_1646E0:: @ 81646E0 -SevenIsland_TrainerTower_3F_EventScript_1646E0:: @ 81646E0 - call EventScript_1C53AA - end diff --git a/data/maps/SevenIsland_TrainerTower_2F/scripts.inc b/data/maps/SevenIsland_TrainerTower_2F/scripts.inc deleted file mode 100644 index 9e61d0dfd..000000000 --- a/data/maps/SevenIsland_TrainerTower_2F/scripts.inc +++ /dev/null @@ -1,25 +0,0 @@ -SevenIsland_TrainerTower_2F_MapScripts:: @ 81646E6 - map_script MAP_SCRIPT_ON_RESUME, SevenIsland_TrainerTower_2F_MapScript1_1C4F54 - map_script MAP_SCRIPT_ON_TRANSITION, SevenIsland_TrainerTower_2F_MapScript2_1C4F62 - map_script MAP_SCRIPT_ON_FRAME_TABLE, SevenIsland_TrainerTower_2F_MapScript3_1C5046 - .byte 0 - -SevenIsland_TrainerTower_2F_EventScript_1646F6:: @ 81646F6 - call EventScript_1C52F4 - end - -EventScript_1646FC:: @ 81646FC - call EventScript_1C533B - end - -EventScript_164702:: @ 8164702 - call EventScript_1C5382 - end - -EventScript_164708:: @ 8164708 - call EventScript_1C538C - end - -EventScript_16470E:: @ 816470E - call EventScript_1C53AA - end diff --git a/data/maps/SevenIsland_TrainerTower_3F/scripts.inc b/data/maps/SevenIsland_TrainerTower_3F/scripts.inc deleted file mode 100644 index e9afcff6c..000000000 --- a/data/maps/SevenIsland_TrainerTower_3F/scripts.inc +++ /dev/null @@ -1,25 +0,0 @@ -SevenIsland_TrainerTower_3F_MapScripts:: @ 8164714 - map_script MAP_SCRIPT_ON_RESUME, SevenIsland_TrainerTower_3F_MapScript1_1C4F54 - map_script MAP_SCRIPT_ON_TRANSITION, SevenIsland_TrainerTower_3F_MapScript2_1C4F62 - map_script MAP_SCRIPT_ON_FRAME_TABLE, SevenIsland_TrainerTower_3F_MapScript3_1C5046 - .byte 0 - -SevenIsland_TrainerTower_3F_EventScript_164724:: @ 8164724 - call EventScript_1C52F4 - end - -EventScript_16472A:: @ 816472A - call EventScript_1C533B - end - -EventScript_164730:: @ 8164730 - call EventScript_1C5382 - end - -EventScript_164736:: @ 8164736 - call EventScript_1C538C - end - -EventScript_16473C:: @ 816473C - call EventScript_1C53AA - end diff --git a/data/maps/SevenIsland_TrainerTower_4F/scripts.inc b/data/maps/SevenIsland_TrainerTower_4F/scripts.inc deleted file mode 100644 index cfa0be11b..000000000 --- a/data/maps/SevenIsland_TrainerTower_4F/scripts.inc +++ /dev/null @@ -1,25 +0,0 @@ -SevenIsland_TrainerTower_4F_MapScripts:: @ 8164742 - map_script MAP_SCRIPT_ON_RESUME, SevenIsland_TrainerTower_4F_MapScript1_1C4F54 - map_script MAP_SCRIPT_ON_TRANSITION, SevenIsland_TrainerTower_4F_MapScript2_1C4F62 - map_script MAP_SCRIPT_ON_FRAME_TABLE, SevenIsland_TrainerTower_4F_MapScript3_1C5046 - .byte 0 - -SevenIsland_TrainerTower_4F_EventScript_164752:: @ 8164752 - call EventScript_1C52F4 - end - -EventScript_164758:: @ 8164758 - call EventScript_1C533B - end - -EventScript_16475E:: @ 816475E - call EventScript_1C5382 - end - -EventScript_164764:: @ 8164764 - call EventScript_1C538C - end - -EventScript_16476A:: @ 816476A - call EventScript_1C53AA - end diff --git a/data/maps/SevenIsland_TrainerTower_5F/scripts.inc b/data/maps/SevenIsland_TrainerTower_5F/scripts.inc deleted file mode 100644 index 35ccdf129..000000000 --- a/data/maps/SevenIsland_TrainerTower_5F/scripts.inc +++ /dev/null @@ -1,25 +0,0 @@ -SevenIsland_TrainerTower_5F_MapScripts:: @ 8164770 - map_script MAP_SCRIPT_ON_RESUME, SevenIsland_TrainerTower_5F_MapScript1_1C4F54 - map_script MAP_SCRIPT_ON_TRANSITION, SevenIsland_TrainerTower_5F_MapScript2_1C4F62 - map_script MAP_SCRIPT_ON_FRAME_TABLE, SevenIsland_TrainerTower_5F_MapScript3_1C5046 - .byte 0 - -SevenIsland_TrainerTower_5F_EventScript_164780:: @ 8164780 - call EventScript_1C52F4 - end - -EventScript_164786:: @ 8164786 - call EventScript_1C533B - end - -EventScript_16478C:: @ 816478C - call EventScript_1C5382 - end - -EventScript_164792:: @ 8164792 - call EventScript_1C538C - end - -EventScript_164798:: @ 8164798 - call EventScript_1C53AA - end diff --git a/data/maps/SevenIsland_TrainerTower_6F/map.json b/data/maps/SevenIsland_TrainerTower_6F/map.json deleted file mode 100644 index abaab80d6..000000000 --- a/data/maps/SevenIsland_TrainerTower_6F/map.json +++ /dev/null @@ -1,135 +0,0 @@ -{ - "id": "MAP_SEVEN_ISLAND_TRAINER_TOWER_6F", - "name": "SevenIsland_TrainerTower_6F", - "layout": "LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_6F", - "music": "MUS_T_TOWER", - "region_map_section": "MAPSEC_TRAINER_TOWER_2", - "requires_flash": false, - "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 2, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", - "connections": null, - "object_events": [ - { - "graphics_id": "OBJECT_EVENT_GFX_TRAINER_TOWER_DUDE", - "x": 9, - "y": 7, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_DOWN", - "movement_range_x": 1, - "movement_range_y": 1, - "trainer_type": 0, - "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_6F_EventScript_1646E0", - "flag": "FLAG_TEMP_6" - }, - { - "graphics_id": "OBJECT_EVENT_GFX_VAR_0", - "x": 10, - "y": 10, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_DOWN", - "movement_range_x": 1, - "movement_range_y": 1, - "trainer_type": 0, - "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_6F_EventScript_1646C8", - "flag": "FLAG_TEMP_2" - }, - { - "graphics_id": "OBJECT_EVENT_GFX_VAR_1", - "x": 15, - "y": 13, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_LEFT", - "movement_range_x": 1, - "movement_range_y": 1, - "trainer_type": 0, - "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_6F_EventScript_1646CE", - "flag": "FLAG_TEMP_3" - }, - { - "graphics_id": "OBJECT_EVENT_GFX_VAR_2", - "x": 10, - "y": 16, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_UP", - "movement_range_x": 1, - "movement_range_y": 1, - "trainer_type": 0, - "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_6F_EventScript_1646D4", - "flag": "FLAG_TEMP_4" - }, - { - "graphics_id": "OBJECT_EVENT_GFX_VAR_3", - "x": 11, - "y": 10, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_DOWN", - "movement_range_x": 1, - "movement_range_y": 1, - "trainer_type": 0, - "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_6F_EventScript_1646DA", - "flag": "FLAG_TEMP_5" - } - ], - "warp_events": [ - { - "x": 15, - "y": 6, - "elevation": 3, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_7F", - "dest_warp_id": 1 - }, - { - "x": 4, - "y": 6, - "elevation": 3, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_5F", - "dest_warp_id": 0 - }, - { - "x": 13, - "y": 5, - "elevation": 0, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_ELEVATOR", - "dest_warp_id": 0 - } - ], - "coord_events": [ - { - "type": "trigger", - "x": 10, - "y": 13, - "elevation": 3, - "var": "VAR_TEMP_E", - "var_value": 0, - "script": "SevenIsland_TrainerTower_6F_EventScript_1C54AF" - }, - { - "type": "trigger", - "x": 9, - "y": 12, - "elevation": 3, - "var": "VAR_TEMP_F", - "var_value": 0, - "script": "SevenIsland_TrainerTower_6F_EventScript_1C54B4" - }, - { - "type": "trigger", - "x": 9, - "y": 13, - "elevation": 3, - "var": "VAR_TEMP_F", - "var_value": 0, - "script": "SevenIsland_TrainerTower_6F_EventScript_1C54EA" - } - ], - "bg_events": [] -} diff --git a/data/maps/SevenIsland_TrainerTower_6F/scripts.inc b/data/maps/SevenIsland_TrainerTower_6F/scripts.inc deleted file mode 100644 index 361c92749..000000000 --- a/data/maps/SevenIsland_TrainerTower_6F/scripts.inc +++ /dev/null @@ -1,25 +0,0 @@ -SevenIsland_TrainerTower_6F_MapScripts:: @ 816479E - map_script MAP_SCRIPT_ON_RESUME, SevenIsland_TrainerTower_6F_MapScript1_1C4F54 - map_script MAP_SCRIPT_ON_TRANSITION, SevenIsland_TrainerTower_6F_MapScript2_1C4F62 - map_script MAP_SCRIPT_ON_FRAME_TABLE, SevenIsland_TrainerTower_6F_MapScript3_1C5046 - .byte 0 - -SevenIsland_TrainerTower_6F_EventScript_1647AE:: @ 81647AE - call EventScript_1C52F4 - end - -EventScript_1647B4:: @ 81647B4 - call EventScript_1C533B - end - -EventScript_1647BA:: @ 81647BA - call EventScript_1C5382 - end - -EventScript_1647C0:: @ 81647C0 - call EventScript_1C538C - end - -EventScript_1647C6:: @ 81647C6 - call EventScript_1C53AA - end diff --git a/data/maps/SevenIsland_TrainerTower_7F/map.json b/data/maps/SevenIsland_TrainerTower_7F/map.json deleted file mode 100644 index 827c6c9ca..000000000 --- a/data/maps/SevenIsland_TrainerTower_7F/map.json +++ /dev/null @@ -1,135 +0,0 @@ -{ - "id": "MAP_SEVEN_ISLAND_TRAINER_TOWER_7F", - "name": "SevenIsland_TrainerTower_7F", - "layout": "LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_7F", - "music": "MUS_T_TOWER", - "region_map_section": "MAPSEC_TRAINER_TOWER_2", - "requires_flash": false, - "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 2, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", - "connections": null, - "object_events": [ - { - "graphics_id": "OBJECT_EVENT_GFX_TRAINER_TOWER_DUDE", - "x": 9, - "y": 7, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_DOWN", - "movement_range_x": 1, - "movement_range_y": 1, - "trainer_type": 0, - "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_7F_EventScript_1646E0", - "flag": "FLAG_TEMP_6" - }, - { - "graphics_id": "OBJECT_EVENT_GFX_VAR_0", - "x": 10, - "y": 10, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_DOWN", - "movement_range_x": 1, - "movement_range_y": 1, - "trainer_type": 0, - "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_7F_EventScript_1646C8", - "flag": "FLAG_TEMP_2" - }, - { - "graphics_id": "OBJECT_EVENT_GFX_VAR_1", - "x": 15, - "y": 13, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_LEFT", - "movement_range_x": 1, - "movement_range_y": 1, - "trainer_type": 0, - "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_7F_EventScript_1646CE", - "flag": "FLAG_TEMP_3" - }, - { - "graphics_id": "OBJECT_EVENT_GFX_VAR_2", - "x": 10, - "y": 16, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_UP", - "movement_range_x": 1, - "movement_range_y": 1, - "trainer_type": 0, - "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_7F_EventScript_1646D4", - "flag": "FLAG_TEMP_4" - }, - { - "graphics_id": "OBJECT_EVENT_GFX_VAR_3", - "x": 11, - "y": 10, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_DOWN", - "movement_range_x": 1, - "movement_range_y": 1, - "trainer_type": 0, - "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_7F_EventScript_1646DA", - "flag": "FLAG_TEMP_5" - } - ], - "warp_events": [ - { - "x": 15, - "y": 6, - "elevation": 3, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_8F", - "dest_warp_id": 1 - }, - { - "x": 4, - "y": 6, - "elevation": 3, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_6F", - "dest_warp_id": 0 - }, - { - "x": 13, - "y": 5, - "elevation": 0, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_ELEVATOR", - "dest_warp_id": 0 - } - ], - "coord_events": [ - { - "type": "trigger", - "x": 10, - "y": 13, - "elevation": 3, - "var": "VAR_TEMP_E", - "var_value": 0, - "script": "SevenIsland_TrainerTower_7F_EventScript_1C54AF" - }, - { - "type": "trigger", - "x": 9, - "y": 12, - "elevation": 3, - "var": "VAR_TEMP_F", - "var_value": 0, - "script": "SevenIsland_TrainerTower_7F_EventScript_1C54B4" - }, - { - "type": "trigger", - "x": 9, - "y": 13, - "elevation": 3, - "var": "VAR_TEMP_F", - "var_value": 0, - "script": "SevenIsland_TrainerTower_7F_EventScript_1C54EA" - } - ], - "bg_events": [] -} diff --git a/data/maps/SevenIsland_TrainerTower_7F/scripts.inc b/data/maps/SevenIsland_TrainerTower_7F/scripts.inc deleted file mode 100644 index be0036605..000000000 --- a/data/maps/SevenIsland_TrainerTower_7F/scripts.inc +++ /dev/null @@ -1,25 +0,0 @@ -SevenIsland_TrainerTower_7F_MapScripts:: @ 81647CC - map_script MAP_SCRIPT_ON_RESUME, SevenIsland_TrainerTower_7F_MapScript1_1C4F54 - map_script MAP_SCRIPT_ON_TRANSITION, SevenIsland_TrainerTower_7F_MapScript2_1C4F62 - map_script MAP_SCRIPT_ON_FRAME_TABLE, SevenIsland_TrainerTower_7F_MapScript3_1C5046 - .byte 0 - -SevenIsland_TrainerTower_7F_EventScript_1647DC:: @ 81647DC - call EventScript_1C52F4 - end - -EventScript_1647E2:: @ 81647E2 - call EventScript_1C533B - end - -EventScript_1647E8:: @ 81647E8 - call EventScript_1C5382 - end - -EventScript_1647EE:: @ 81647EE - call EventScript_1C538C - end - -EventScript_1647F4:: @ 81647F4 - call EventScript_1C53AA - end diff --git a/data/maps/SevenIsland_TrainerTower_8F/map.json b/data/maps/SevenIsland_TrainerTower_8F/map.json deleted file mode 100644 index ed9ba908f..000000000 --- a/data/maps/SevenIsland_TrainerTower_8F/map.json +++ /dev/null @@ -1,135 +0,0 @@ -{ - "id": "MAP_SEVEN_ISLAND_TRAINER_TOWER_8F", - "name": "SevenIsland_TrainerTower_8F", - "layout": "LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_8F", - "music": "MUS_T_TOWER", - "region_map_section": "MAPSEC_TRAINER_TOWER_2", - "requires_flash": false, - "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 2, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", - "connections": null, - "object_events": [ - { - "graphics_id": "OBJECT_EVENT_GFX_TRAINER_TOWER_DUDE", - "x": 9, - "y": 7, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_DOWN", - "movement_range_x": 1, - "movement_range_y": 1, - "trainer_type": 0, - "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_8F_EventScript_1646E0", - "flag": "FLAG_TEMP_6" - }, - { - "graphics_id": "OBJECT_EVENT_GFX_VAR_0", - "x": 10, - "y": 10, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_DOWN", - "movement_range_x": 1, - "movement_range_y": 1, - "trainer_type": 0, - "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_8F_EventScript_1646C8", - "flag": "FLAG_TEMP_2" - }, - { - "graphics_id": "OBJECT_EVENT_GFX_VAR_1", - "x": 15, - "y": 13, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_LEFT", - "movement_range_x": 1, - "movement_range_y": 1, - "trainer_type": 0, - "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_8F_EventScript_1646CE", - "flag": "FLAG_TEMP_3" - }, - { - "graphics_id": "OBJECT_EVENT_GFX_VAR_2", - "x": 10, - "y": 16, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_UP", - "movement_range_x": 1, - "movement_range_y": 1, - "trainer_type": 0, - "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_8F_EventScript_1646D4", - "flag": "FLAG_TEMP_4" - }, - { - "graphics_id": "OBJECT_EVENT_GFX_VAR_3", - "x": 11, - "y": 10, - "elevation": 3, - "movement_type": "MOVEMENT_TYPE_FACE_DOWN", - "movement_range_x": 1, - "movement_range_y": 1, - "trainer_type": 0, - "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_8F_EventScript_1646DA", - "flag": "FLAG_TEMP_5" - } - ], - "warp_events": [ - { - "x": 15, - "y": 6, - "elevation": 3, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_ROOF", - "dest_warp_id": 1 - }, - { - "x": 4, - "y": 6, - "elevation": 3, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_7F", - "dest_warp_id": 0 - }, - { - "x": 13, - "y": 5, - "elevation": 0, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_ELEVATOR", - "dest_warp_id": 0 - } - ], - "coord_events": [ - { - "type": "trigger", - "x": 10, - "y": 13, - "elevation": 3, - "var": "VAR_TEMP_E", - "var_value": 0, - "script": "SevenIsland_TrainerTower_8F_EventScript_1C54AF" - }, - { - "type": "trigger", - "x": 9, - "y": 12, - "elevation": 3, - "var": "VAR_TEMP_F", - "var_value": 0, - "script": "SevenIsland_TrainerTower_8F_EventScript_1C54B4" - }, - { - "type": "trigger", - "x": 9, - "y": 13, - "elevation": 3, - "var": "VAR_TEMP_F", - "var_value": 0, - "script": "SevenIsland_TrainerTower_8F_EventScript_1C54EA" - } - ], - "bg_events": [] -} diff --git a/data/maps/SevenIsland_TrainerTower_8F/scripts.inc b/data/maps/SevenIsland_TrainerTower_8F/scripts.inc deleted file mode 100644 index b51982f48..000000000 --- a/data/maps/SevenIsland_TrainerTower_8F/scripts.inc +++ /dev/null @@ -1,25 +0,0 @@ -SevenIsland_TrainerTower_8F_MapScripts:: @ 81647FA - map_script MAP_SCRIPT_ON_RESUME, SevenIsland_TrainerTower_8F_MapScript1_1C4F54 - map_script MAP_SCRIPT_ON_TRANSITION, SevenIsland_TrainerTower_8F_MapScript2_1C4F62 - map_script MAP_SCRIPT_ON_FRAME_TABLE, SevenIsland_TrainerTower_8F_MapScript3_1C5046 - .byte 0 - -SevenIsland_TrainerTower_8F_EventScript_16480A:: @ 816480A - call EventScript_1C52F4 - end - -EventScript_164810:: @ 8164810 - call EventScript_1C533B - end - -EventScript_164816:: @ 8164816 - call EventScript_1C5382 - end - -EventScript_16481C:: @ 816481C - call EventScript_1C538C - end - -EventScript_164822:: @ 8164822 - call EventScript_1C53AA - end diff --git a/data/maps/SevenIsland_TrainerTower_Elevator/map.json b/data/maps/SevenIsland_TrainerTower_Elevator/map.json deleted file mode 100644 index fef686312..000000000 --- a/data/maps/SevenIsland_TrainerTower_Elevator/map.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "id": "MAP_SEVEN_ISLAND_TRAINER_TOWER_ELEVATOR", - "name": "SevenIsland_TrainerTower_Elevator", - "layout": "LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_ELEVATOR", - "music": "MUS_T_TOWER", - "region_map_section": "MAPSEC_TRAINER_TOWER_2", - "requires_flash": false, - "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 2, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", - "connections": null, - "object_events": [], - "warp_events": [ - { - "x": 2, - "y": 5, - "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 - } - ], - "coord_events": [], - "bg_events": [ - { - "type": "bg_event_type_0", - "x": 0, - "y": 2, - "elevation": 0, - "script": "SevenIsland_TrainerTower_Elevator_EventScript_164B03" - } - ] -} diff --git a/data/maps/SevenIsland_TrainerTower_Elevator/scripts.inc b/data/maps/SevenIsland_TrainerTower_Elevator/scripts.inc deleted file mode 100644 index f84c67295..000000000 --- a/data/maps/SevenIsland_TrainerTower_Elevator/scripts.inc +++ /dev/null @@ -1,80 +0,0 @@ -SevenIsland_TrainerTower_Elevator_MapScripts:: @ 8164AF8 - map_script MAP_SCRIPT_ON_RESUME, SevenIsland_TrainerTower_Elevator_MapScript1_1C4F54 - map_script MAP_SCRIPT_ON_FRAME_TABLE, SevenIsland_TrainerTower_Elevator_MapScript2_1C5046 - .byte 0 - -SevenIsland_TrainerTower_Elevator_EventScript_164B03:: @ 8164B03 - lockall - setvar VAR_0x8004, 6 - call_if_unset FLAG_TEMP_2, EventScript_1A7AB9 - copyvar VAR_0x8005, VAR_ELEVATOR_FLOOR - special Special_DrawElevatorCurrentFloorWindow - message Text_WantWhichFloor - waitmessage - setvar VAR_0x8004, 6 - specialvar VAR_RESULT, Special_InitElevatorFloorSelectMenuPos - switch VAR_RESULT - case 0, EventScript_164B46 - case 1, EventScript_164B52 - end - -EventScript_164B46:: @ 8164B46 - multichoicedefault 0, 0, MULTICHOICE_ROOFTOP_B1F, 0, FALSE - goto EventScript_164B5E - end - -EventScript_164B52:: @ 8164B52 - multichoicedefault 0, 0, MULTICHOICE_ROOFTOP_B1F, 1, FALSE - goto EventScript_164B5E - end - -EventScript_164B5E:: @ 8164B5E - switch VAR_RESULT - case 0, EventScript_164BCD - case 1, EventScript_164B90 - case 2, EventScript_164BD3 - case 127, EventScript_164BD3 - end - -EventScript_164B90:: @ 8164B90 - setvar VAR_0x8006, 3 - setdynamicwarp MAP_SEVEN_ISLAND_TRAINER_TOWER_LOBBY, 255, 17, 8 - compare VAR_ELEVATOR_FLOOR, 3 - goto_if_eq EventScript_164BD3 - call EventScript_164BD8 - setvar VAR_ELEVATOR_FLOOR, 3 - special Special_CloseElevatorCurrentFloorWindow - delay 25 - applymovement OBJ_EVENT_ID_PLAYER, Movement_164BE5 - waitmovement 0 - warp MAP_SEVEN_ISLAND_TRAINER_TOWER_LOBBY, 255, 17, 8 - waitstate - releaseall - end - -EventScript_164BCD:: @ 8164BCD - goto EventScript_164BD3 - end - -EventScript_164BD3:: @ 8164BD3 - special Special_CloseElevatorCurrentFloorWindow - releaseall - end - -EventScript_164BD8:: @ 8164BD8 - special Special_CloseElevatorCurrentFloorWindow - closemessage - waitse - special Special_AnimateElevator - waitstate - setflag FLAG_TEMP_2 - return - -Movement_164BE5:: @ 8164BE5 - walk_in_place_fastest_down - delay_16 - walk_down - walk_right - walk_right - walk_down - step_end diff --git a/data/maps/SevenIsland_TrainerTower_Lobby/scripts.inc b/data/maps/SevenIsland_TrainerTower_Lobby/scripts.inc deleted file mode 100644 index 0558b5a8b..000000000 --- a/data/maps/SevenIsland_TrainerTower_Lobby/scripts.inc +++ /dev/null @@ -1,235 +0,0 @@ -SevenIsland_TrainerTower_Lobby_MapScripts:: @ 8164839 - map_script MAP_SCRIPT_ON_RESUME, SevenIsland_TrainerTower_Lobby_OnResume - map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, SevenIsland_TrainerTower_Lobby_OnReturnToField - map_script MAP_SCRIPT_ON_TRANSITION, SevenIsland_TrainerTower_Lobby_OnTransition - map_script MAP_SCRIPT_ON_LOAD, SevenIsland_TrainerTower_Lobby_OnLoad - map_script MAP_SCRIPT_ON_FRAME_TABLE, SevenIsland_TrainerTower_Lobby_OnFrame - .byte 0 - -SevenIsland_TrainerTower_Lobby_OnResume:: @ 8164853 - setvar VAR_TEMP_2, 0 - setvar VAR_0x8004, 10 - special sub_815D9E8 - setvar VAR_0x8004, 18 - special sub_815D9E8 - compare VAR_RESULT, 0 - goto_if_eq EventScript_164886 - setvar VAR_TEMP_0, 0 - setobjectxy OBJ_EVENT_ID_PLAYER, 9, 7 - applymovement OBJ_EVENT_ID_PLAYER, Movement_164AD4 - -EventScript_164886:: @ 8164886 - end - -SevenIsland_TrainerTower_Lobby_OnReturnToField:: @ 8164887 - addobject 1 - addobject 2 - addobject 3 - addobject 4 - addobject 5 - end - -SevenIsland_TrainerTower_Lobby_OnLoad:: @ 8164897 - compare VAR_TEMP_D, 17 - call_if_eq EventScript_1648A3 - end - -EventScript_1648A3:: @ 81648A3 - setmetatile 17, 10, 647, 0 - return - -SevenIsland_TrainerTower_Lobby_OnTransition:: @ 81648AD - setworldmapflag FLAG_WORLD_MAP_SEVEN_ISLAND_TRAINER_TOWER_LOBBY - getplayerxy VAR_TEMP_D, VAR_RESULT - end - -SevenIsland_TrainerTower_Lobby_OnFrame:: @ 81648B6 - map_script_2 VAR_TEMP_0, 0, EventScript_1648ED - map_script_2 VAR_TEMP_D, 0x11, EventScript_1648C8 - .2byte 0 - -EventScript_1648C8:: @ 81648C8 - lockall - applymovement OBJ_EVENT_ID_PLAYER, Movement_1648EA - waitmovement 0 - setmetatile 17, 10, 692, 1 - special DrawWholeMapView - playse SE_TK_KASYA - waitse - setvar VAR_TEMP_D, 0 - releaseall - end - -Movement_1648EA:: @ 81648EA - walk_down - walk_down - step_end - -EventScript_1648ED:: @ 81648ED - setvar VAR_TEMP_0, 1 - setvar VAR_0x8004, 12 - special sub_815D9E8 - switch VAR_RESULT - case 0, EventScript_164920 - case 1, EventScript_164938 - case 2, EventScript_16495C - -EventScript_164920:: @ 8164920 - lock - faceplayer - applymovement OBJ_EVENT_ID_PLAYER, Movement_164AD4 - textcolor 1 - msgbox gUnknown_817C937 - goto EventScript_16494B - -EventScript_164938:: @ 8164938 - lock - faceplayer - applymovement OBJ_EVENT_ID_PLAYER, Movement_164AD4 - textcolor 1 - msgbox gUnknown_817C9C0 - -EventScript_16494B:: @ 816494B - closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_164AD6 - waitmovement 0 - setvar VAR_MAP_SCENE_TRAINER_TOWER, 0 - release - -EventScript_16495C:: @ 816495C - end - -SevenIsland_TrainerTower_Lobby_EventScript_16495D:: @ 816495D - lock - faceplayer - call EventScript_PkmnCenterNurse - release - end - -SevenIsland_TrainerTower_Lobby_EventScript_164966:: @ 8164966 - lock - faceplayer - setvar VAR_0x8004, 20 - special sub_815D9E8 - compare VAR_RESULT, 1 - goto_if_eq EventScript_164988 - msgbox gUnknown_817C9A2 - goto EventScript_164990 - -EventScript_164988:: @ 8164988 - msgbox gUnknown_817CE1F - -EventScript_164990:: @ 8164990 - release - end - -SevenIsland_TrainerTower_Lobby_EventScript_164992:: @ 8164992 - goto_if_questlog EventScript_ReleaseEnd - lock - faceplayer - message Text_MayIHelpYou - waitmessage - pokemart Items_1649B8 - msgbox Text_PleaseComeAgain - release - end - - .align 2 -Items_1649B8:: @ 81649B8 - .2byte ITEM_ULTRA_BALL - .2byte ITEM_GREAT_BALL - .2byte ITEM_FULL_RESTORE - .2byte ITEM_MAX_POTION - .2byte ITEM_HYPER_POTION - .2byte ITEM_REVIVE - .2byte ITEM_FULL_HEAL - .2byte ITEM_ESCAPE_ROPE - .2byte ITEM_MAX_REPEL - .2byte ITEM_NONE - release - end - -SevenIsland_TrainerTower_Lobby_EventScript_1649CE:: @ 81649CE - lockall - applymovement OBJ_EVENT_ID_PLAYER, Movement_164AD4 - textcolor 1 - msgbox gUnknown_817C794 - setvar VAR_0x8004, 17 - special sub_815D9E8 - compare VAR_RESULT, 0 - goto_if_eq EventScript_164A00 - msgbox gUnknown_817C7D9 - goto EventScript_164A08 - -EventScript_164A00:: @ 8164A00 - msgbox gUnknown_817C850 - -EventScript_164A08:: @ 8164A08 - message Text_17C88D - waitmessage - multichoice 18, 6, MULTICHOICE_YES_NO_INFO, FALSE - switch VAR_RESULT - case 0, EventScript_164A53 - case 1, EventScript_164ABF - case 2, EventScript_164A45 - case 127, EventScript_164ABF - end - -EventScript_164A45:: @ 8164A45 - msgbox gUnknown_817CCC9 - goto EventScript_164A08 - end - -EventScript_164A53:: @ 8164A53 - multichoice 13, 3, MULTICHOICE_TRAINER_TOWER_MODE, FALSE - switch VAR_RESULT - case 0, EventScript_164AA0 - case 1, EventScript_164AA0 - case 2, EventScript_164AA0 - case 3, EventScript_164AA0 - case 4, EventScript_164ABF - case 127, EventScript_164ABF - end - -EventScript_164AA0:: @ 8164AA0 - copyvar VAR_0x8005, VAR_RESULT - setvar VAR_MAP_SCENE_TRAINER_TOWER, 1 - special HealPlayerParty - msgbox gUnknown_817C8BF - setvar VAR_0x8004, 6 - special sub_815D9E8 - releaseall - end - -EventScript_164ABF:: @ 8164ABF - msgbox gUnknown_817C91D - closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_164AD6 - waitmovement 0 - releaseall - end - -Movement_164AD4:: @ 8164AD4 - face_right - step_end - -Movement_164AD6:: @ 8164AD6 - walk_down - step_end - -SevenIsland_TrainerTower_Lobby_EventScript_164AD8:: @ 8164AD8 - lockall - fadescreen FADE_TO_BLACK - setvar VAR_0x8004, 1 - special Special_BattleRecords - waitstate - releaseall - end - -SevenIsland_TrainerTower_Lobby_EventScript_164AE6:: @ 8164AE6 - msgbox gUnknown_817CE38, MSGBOX_NPC - end - -SevenIsland_TrainerTower_Lobby_EventScript_164AEF:: @ 8164AEF - msgbox gUnknown_817CE9F, MSGBOX_NPC - end diff --git a/data/maps/SevenIsland_TrainerTower_Roof/scripts.inc b/data/maps/SevenIsland_TrainerTower_Roof/scripts.inc deleted file mode 100644 index 6ae4ed2be..000000000 --- a/data/maps/SevenIsland_TrainerTower_Roof/scripts.inc +++ /dev/null @@ -1,8 +0,0 @@ -SevenIsland_TrainerTower_Roof_MapScripts:: @ 8164828 - map_script MAP_SCRIPT_ON_RESUME, SevenIsland_TrainerTower_Roof_MapScript1_1C4F54 - map_script MAP_SCRIPT_ON_FRAME_TABLE, SevenIsland_TrainerTower_Roof_MapScript2_1C5046 - .byte 0 - -SevenIsland_TrainerTower_Roof_EventScript_164833:: @ 8164833 - call EventScript_1C53AA - end diff --git a/data/maps/SilphCo_10F/map.json b/data/maps/SilphCo_10F/map.json index 7d71b3b26..8c0f5ed97 100644 --- a/data/maps/SilphCo_10F/map.json +++ b/data/maps/SilphCo_10F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SILPH_CO", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 7, - "elevator_flag": 10, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 10, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 2, "y": 7, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 2, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SilphCo_10F_EventScript_161DC0", + "script": "SilphCo_10F_EventScript_Travis", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_F", + "graphics_id": "OBJ_EVENT_GFX_WORKER_F", "x": 10, "y": 17, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SilphCo_10F_EventScript_161D96", + "script": "SilphCo_10F_EventScript_WorkerF", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 0, "y": 13, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "SilphCo_10F_EventScript_161DD7", + "script": "SilphCo_10F_EventScript_Grunt", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 5, "y": 15, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "FLAG_HIDE_SILPH_CO_10F_CARBOS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 2, "y": 15, "elevation": 3, @@ -79,7 +81,7 @@ "flag": "FLAG_HIDE_SILPH_CO_10F_ULTRA_BALL" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 3, "y": 17, "elevation": 3, @@ -139,31 +141,35 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 11, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_10F_EventScript_Door" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 13, "y": 11, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_10F_EventScript_Door" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 12, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_10F_EventScript_Door" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 13, "y": 12, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_10F_EventScript_Door" }, { @@ -177,11 +183,12 @@ "underfoot": false }, { - "type": "bg_event_type_0", + "type": "sign", "x": 7, "y": 1, "elevation": 0, - "script": "SilphCo_10F_EventScript_161DB7" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SilphCo_10F_EventScript_FloorSign" } ] } diff --git a/data/maps/SilphCo_10F/scripts.inc b/data/maps/SilphCo_10F/scripts.inc index a0ab7219b..20d98d291 100644 --- a/data/maps/SilphCo_10F/scripts.inc +++ b/data/maps/SilphCo_10F/scripts.inc @@ -6,30 +6,30 @@ SilphCo_10F_OnLoad:: @ 8161D8C call_if_unset FLAG_SILPH_10F_DOOR, EventScript_Close10FDoor end -SilphCo_10F_EventScript_161D96:: @ 8161D96 +SilphCo_10F_EventScript_WorkerF:: @ 8161D96 lock faceplayer compare VAR_MAP_SCENE_SILPH_CO_11F, 1 - goto_if_ge EventScript_161DAD - msgbox gUnknown_8176DBA + goto_if_ge SilphCo_10F_EventScript_WorkerFRocketsGone + msgbox SilphCo_10F_Text_WaaaImScared release end -EventScript_161DAD:: @ 8161DAD - msgbox gUnknown_8176DCE +SilphCo_10F_EventScript_WorkerFRocketsGone:: @ 8161DAD + msgbox SilphCo_10F_Text_KeepMeCryingASecret release end -SilphCo_10F_EventScript_161DB7:: @ 8161DB7 - msgbox gUnknown_8176DF8, MSGBOX_SIGN +SilphCo_10F_EventScript_FloorSign:: @ 8161DB7 + msgbox SilphCo_10F_Text_FloorSign, MSGBOX_SIGN end -SilphCo_10F_EventScript_161DC0:: @ 8161DC0 - trainerbattle_single TRAINER_SCIENTIST_TRAVIS, Text_176D57, Text_176D73 - msgbox gUnknown_8176D86, MSGBOX_AUTOCLOSE +SilphCo_10F_EventScript_Travis:: @ 8161DC0 + trainerbattle_single TRAINER_SCIENTIST_TRAVIS, SilphCo_10F_Text_TravisIntro, SilphCo_10F_Text_TravisDefeat + msgbox SilphCo_10F_Text_TravisPostBattle, MSGBOX_AUTOCLOSE end -SilphCo_10F_EventScript_161DD7:: @ 8161DD7 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_39, Text_176CED, Text_176D18 - msgbox gUnknown_8176D25, MSGBOX_AUTOCLOSE +SilphCo_10F_EventScript_Grunt:: @ 8161DD7 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_39, SilphCo_10F_Text_GruntIntro, SilphCo_10F_Text_GruntDefeat + msgbox SilphCo_10F_Text_GruntPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/SilphCo_10F/text.inc b/data/maps/SilphCo_10F/text.inc index a910cd435..ac8483558 100644 --- a/data/maps/SilphCo_10F/text.inc +++ b/data/maps/SilphCo_10F/text.inc @@ -1,33 +1,33 @@ -Text_176CED:: @ 8176CED +SilphCo_10F_Text_GruntIntro:: @ 8176CED .string "Welcome to 10F!\n" .string "So good of you to join me!$" -Text_176D18:: @ 8176D18 +SilphCo_10F_Text_GruntDefeat:: @ 8176D18 .string "I'm stunned!$" -gUnknown_8176D25:: @ 8176D25 +SilphCo_10F_Text_GruntPostBattle:: @ 8176D25 .string "Nice try, but the boardroom is up\n" .string "one more floor.$" -Text_176D57:: @ 8176D57 +SilphCo_10F_Text_TravisIntro:: @ 8176D57 .string "Enough of your silly games!$" -Text_176D73:: @ 8176D73 +SilphCo_10F_Text_TravisDefeat:: @ 8176D73 .string "No continues left!$" -gUnknown_8176D86:: @ 8176D86 +SilphCo_10F_Text_TravisPostBattle:: @ 8176D86 .string "Are you satisfied with beating me?\n" .string "Then go on home!$" -gUnknown_8176DBA:: @ 8176DBA +SilphCo_10F_Text_WaaaImScared:: @ 8176DBA .string "Waaaaa!\n" .string "I'm scared!$" -gUnknown_8176DCE:: @ 8176DCE +SilphCo_10F_Text_KeepMeCryingASecret:: @ 8176DCE .string "About me crying…\n" .string "Please keep it a secret.$" -gUnknown_8176DF8:: @ 8176DF8 +SilphCo_10F_Text_FloorSign:: @ 8176DF8 .string "SILPH CO. HEAD OFFICE\n" .string "10F$" diff --git a/data/maps/SilphCo_11F/map.json b/data/maps/SilphCo_11F/map.json index 89a1a8bf3..22b72e3ee 100644 --- a/data/maps/SilphCo_11F/map.json +++ b/data/maps/SilphCo_11F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SILPH_CO", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 7, - "elevator_flag": 11, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 11, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_2", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_2", "x": 9, "y": 9, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SilphCo_11F_EventScript_161DFE", + "script": "SilphCo_11F_EventScript_President", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_F", + "graphics_id": "OBJ_EVENT_GFX_WORKER_F", "x": 11, "y": 9, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SilphCo_11F_EventScript_161E7F", + "script": "SilphCo_11F_EventScript_Secretary", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GIOVANNI", + "graphics_id": "OBJ_EVENT_GFX_GIOVANNI", "x": 6, "y": 11, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 16, "y": 12, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "SilphCo_11F_EventScript_161F40", + "script": "SilphCo_11F_EventScript_Grunt1", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 16, "y": 18, "elevation": 3, @@ -79,7 +81,7 @@ "flag": "FLAG_HIDE_SILPH_CO_11F_ZINC" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 2, "y": 19, "elevation": 3, @@ -88,7 +90,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "SilphCo_11F_EventScript_161F57", + "script": "SilphCo_11F_EventScript_Grunt2", "flag": "FLAG_HIDE_SILPH_ROCKETS" } ], @@ -123,7 +125,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_SILPH_CO_11F", "var_value": 0, - "script": "SilphCo_11F_EventScript_161E88" + "script": "SilphCo_11F_EventScript_GiovanniTriggerLeft" }, { "type": "trigger", @@ -132,36 +134,40 @@ "elevation": 3, "var": "VAR_MAP_SCENE_SILPH_CO_11F", "var_value": 0, - "script": "SilphCo_11F_EventScript_161E94" + "script": "SilphCo_11F_EventScript_GiovanniTriggerRight" } ], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 16, "elevation": 3, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_11F_EventScript_Door" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 17, "elevation": 3, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_11F_EventScript_Door" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 6, "y": 16, "elevation": 3, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_11F_EventScript_Door" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 6, "y": 17, "elevation": 3, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_11F_EventScript_Door" }, { @@ -175,11 +181,12 @@ "underfoot": false }, { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 1, "elevation": 0, - "script": "SilphCo_11F_EventScript_161F37" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SilphCo_11F_EventScript_FloorSign" } ] } diff --git a/data/maps/SilphCo_11F/scripts.inc b/data/maps/SilphCo_11F/scripts.inc index 05f52646e..38de05842 100644 --- a/data/maps/SilphCo_11F/scripts.inc +++ b/data/maps/SilphCo_11F/scripts.inc @@ -6,76 +6,72 @@ SilphCo_11F_OnLoad:: @ 8161DF4 call_if_unset FLAG_SILPH_11F_DOOR, EventScript_Close11FDoor end -SilphCo_11F_EventScript_161DFE:: @ 8161DFE +SilphCo_11F_EventScript_President:: @ 8161DFE lock faceplayer - goto_if_set FLAG_GOT_MASTER_BALL_FROM_SILPH, EventScript_161E75 + goto_if_set FLAG_GOT_MASTER_BALL_FROM_SILPH, SilphCo_11F_EventScript_AlreadyGotMasterBall checkplayergender compare VAR_RESULT, MALE - call_if_eq EventScript_161E59 + call_if_eq SilphCo_11F_EventScript_PresidentThanksMale compare VAR_RESULT, FEMALE - call_if_eq EventScript_161E62 + call_if_eq SilphCo_11F_EventScript_PresidentThanksFemale checkitemspace ITEM_MASTER_BALL, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_161E6B - giveitem_msg gUnknown_8176FBD, ITEM_MASTER_BALL, 1, MUS_FAN5 - msgbox gUnknown_8176FEB + goto_if_eq SilphCo_11F_EventScript_NoRoomForMasterBall + giveitem_msg SilphCo_11F_Text_ObtainedMasterBallFromPresident, ITEM_MASTER_BALL, 1, MUS_FAN5 + msgbox SilphCo_11F_Text_ThatsOurSecretPrototype setflag FLAG_GOT_MASTER_BALL_FROM_SILPH release end -EventScript_161E59:: @ 8161E59 - msgbox gUnknown_8176E12 +SilphCo_11F_EventScript_PresidentThanksMale:: @ 8161E59 + msgbox SilphCo_11F_Text_ThanksForSavingMeDearBoy return -EventScript_161E62:: @ 8161E62 - msgbox gUnknown_8176EE7 +SilphCo_11F_EventScript_PresidentThanksFemale:: @ 8161E62 + msgbox SilphCo_11F_Text_ThanksForSavingMeDearGirl return -EventScript_161E6B:: @ 8161E6B - msgbox gUnknown_817708E +SilphCo_11F_EventScript_NoRoomForMasterBall:: @ 8161E6B + msgbox SilphCo_11F_Text_YouHaveNoRoomForThis release end -EventScript_161E75:: @ 8161E75 - msgbox gUnknown_8176FEB +SilphCo_11F_EventScript_AlreadyGotMasterBall:: @ 8161E75 + msgbox SilphCo_11F_Text_ThatsOurSecretPrototype release end -SilphCo_11F_EventScript_161E7F:: @ 8161E7F - msgbox gUnknown_81770A9, MSGBOX_NPC +SilphCo_11F_EventScript_Secretary:: @ 8161E7F + msgbox SilphCo_11F_Text_ThanksForRescuingUs, MSGBOX_NPC end -SilphCo_11F_EventScript_161E88:: @ 8161E88 +SilphCo_11F_EventScript_GiovanniTriggerLeft:: @ 8161E88 lockall setvar VAR_TEMP_1, 0 - goto EventScript_161EA0 - -EventScript_161E93:: @ 8161E93 + goto SilphCo_11F_EventScript_BattleGiovanni end -SilphCo_11F_EventScript_161E94:: @ 8161E94 +SilphCo_11F_EventScript_GiovanniTriggerRight:: @ 8161E94 lockall setvar VAR_TEMP_1, 1 - goto EventScript_161EA0 - -EventScript_161E9F:: @ 8161E9F + goto SilphCo_11F_EventScript_BattleGiovanni end -EventScript_161EA0:: @ 8161EA0 +SilphCo_11F_EventScript_BattleGiovanni:: @ 8161EA0 textcolor 0 applymovement 3, Movement_WalkInPlaceFastestDown waitmovement 0 delay 25 - msgbox gUnknown_8177108 + msgbox SilphCo_11F_Text_GiovanniIntro closemessage compare VAR_TEMP_1, 0 - call_if_eq EventScript_161F00 + call_if_eq SilphCo_11F_EventScript_GiovanniApproachLeft compare VAR_TEMP_1, 1 - call_if_eq EventScript_161F12 + call_if_eq SilphCo_11F_EventScript_GiovanniApproachRight setvar VAR_LAST_TALKED, 3 - trainerbattle_no_intro TRAINER_BOSS_GIOVANNI_2, Text_1771AB - msgbox gUnknown_81771C2 + trainerbattle_no_intro TRAINER_BOSS_GIOVANNI_2, SilphCo_11F_Text_GiovanniDefeat + msgbox SilphCo_11F_Text_GiovanniPostBattle closemessage fadescreen FADE_TO_BLACK removeobject 3 @@ -88,18 +84,18 @@ EventScript_161EA0:: @ 8161EA0 releaseall end -EventScript_161F00:: @ 8161F00 - applymovement 3, Movement_161F1D - applymovement OBJ_EVENT_ID_PLAYER, Movement_161F27 +SilphCo_11F_EventScript_GiovanniApproachLeft:: @ 8161F00 + applymovement 3, SilphCo_11F_Movement_GiovanniApproachLeft + applymovement OBJ_EVENT_ID_PLAYER, SilphCo_11F_Movement_PlayerFaceGiovanni waitmovement 0 return -EventScript_161F12:: @ 8161F12 - applymovement 3, Movement_161F23 +SilphCo_11F_EventScript_GiovanniApproachRight:: @ 8161F12 + applymovement 3, SilphCo_11F_Movement_GiovanniApproachRight waitmovement 0 return -Movement_161F1D:: @ 8161F1D +SilphCo_11F_Movement_GiovanniApproachLeft:: @ 8161F1D walk_down walk_down walk_down @@ -107,13 +103,13 @@ Movement_161F1D:: @ 8161F1D walk_in_place_fastest_left step_end -Movement_161F23:: @ 8161F23 +SilphCo_11F_Movement_GiovanniApproachRight:: @ 8161F23 walk_down walk_down walk_down step_end -Movement_161F27:: @ 8161F27 +SilphCo_11F_Movement_PlayerFaceGiovanni:: @ 8161F27 delay_16 delay_16 delay_16 @@ -122,20 +118,21 @@ Movement_161F27:: @ 8161F27 walk_in_place_fastest_right step_end -EventScript_161F2E:: @ 8161F2E - msgbox gUnknown_817732B, MSGBOX_SIGN +@ Unused +SilphCo_11F_EventScript_Monitor:: @ 8161F2E + msgbox SilphCo_11F_Text_MonitorHasMonsOnIt, MSGBOX_SIGN end -SilphCo_11F_EventScript_161F37:: @ 8161F37 - msgbox gUnknown_817734A, MSGBOX_SIGN +SilphCo_11F_EventScript_FloorSign:: @ 8161F37 + msgbox SilphCo_11F_Text_FloorSign, MSGBOX_SIGN end -SilphCo_11F_EventScript_161F40:: @ 8161F40 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_40, Text_1772B8, Text_1772E7 - msgbox gUnknown_81772F9, MSGBOX_AUTOCLOSE +SilphCo_11F_EventScript_Grunt1:: @ 8161F40 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_40, SilphCo_11F_Text_Grunt1Intro, SilphCo_11F_Text_Grunt1Defeat + msgbox SilphCo_11F_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE end -SilphCo_11F_EventScript_161F57:: @ 8161F57 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_41, Text_17726A, Text_17728C - msgbox gUnknown_817729B, MSGBOX_AUTOCLOSE +SilphCo_11F_EventScript_Grunt2:: @ 8161F57 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_41, SilphCo_11F_Text_Grunt2Intro, SilphCo_11F_Text_Grunt2Defeat + msgbox SilphCo_11F_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/SilphCo_11F/text.inc b/data/maps/SilphCo_11F/text.inc index dcb60219a..83b004f4a 100644 --- a/data/maps/SilphCo_11F/text.inc +++ b/data/maps/SilphCo_11F/text.inc @@ -1,4 +1,4 @@ -gUnknown_8176E12:: @ 8176E12 +SilphCo_11F_Text_ThanksForSavingMeDearBoy:: @ 8176E12 .string "PRESIDENT: Oh, dear boy!\n" .string "Thank you for saving SILPH.\p" .string "I will never forget you saved us in\n" @@ -8,7 +8,7 @@ gUnknown_8176E12:: @ 8176E12 .string "anything.\p" .string "Here, maybe this will do.$" -gUnknown_8176EE7:: @ 8176EE7 +SilphCo_11F_Text_ThanksForSavingMeDearGirl:: @ 8176EE7 .string "PRESIDENT: Oh, dear girl!\n" .string "Thank you for saving SILPH.\p" .string "I will never forget you saved us in\n" @@ -18,11 +18,11 @@ gUnknown_8176EE7:: @ 8176EE7 .string "anything.\p" .string "Here, maybe this will do.$" -gUnknown_8176FBD:: @ 8176FBD +SilphCo_11F_Text_ObtainedMasterBallFromPresident:: @ 8176FBD .string "{PLAYER} obtained a MASTER BALL\n" .string "from the PRESIDENT!$" -gUnknown_8176FEB:: @ 8176FEB +SilphCo_11F_Text_ThatsOurSecretPrototype:: @ 8176FEB .string "PRESIDENT: You can't buy that\n" .string "anywhere.\p" .string "It's our secret prototype MASTER\n" @@ -32,16 +32,16 @@ gUnknown_8176FEB:: @ 8176FEB .string "You should be quiet about using it,\n" .string "though.$" -gUnknown_817708E:: @ 817708E +SilphCo_11F_Text_YouHaveNoRoomForThis:: @ 817708E .string "You have no room for this.$" -gUnknown_81770A9:: @ 81770A9 +SilphCo_11F_Text_ThanksForRescuingUs:: @ 81770A9 .string "SECRETARY: Thank you for rescuing\n" .string "all of us.\p" .string "We, from the PRESIDENT down,\n" .string "are indebted to you.$" -gUnknown_8177108:: @ 8177108 +SilphCo_11F_Text_GiovanniIntro:: @ 8177108 .string "Ah, {PLAYER}!\n" .string "So we meet again!\p" .string "The PRESIDENT and I are discussing\n" @@ -50,11 +50,11 @@ gUnknown_8177108:: @ 8177108 .string "matters…\p" .string "Or, experience a world of pain!$" -Text_1771AB:: @ 81771AB +SilphCo_11F_Text_GiovanniDefeat:: @ 81771AB .string "Arrgh!!\n" .string "I lost again!?$" -gUnknown_81771C2:: @ 81771C2 +SilphCo_11F_Text_GiovanniPostBattle:: @ 81771C2 .string "Blast it all!\n" .string "You ruined our plans for SILPH!\p" .string "But, TEAM ROCKET will never fall!\p" @@ -62,33 +62,33 @@ gUnknown_81771C2:: @ 81771C2 .string "POKéMON exist for TEAM ROCKET!\p" .string "I must go, but I shall return!$" -Text_17726A:: @ 817726A +SilphCo_11F_Text_Grunt2Intro:: @ 817726A .string "Stop right there!\n" .string "Don't you move!$" -Text_17728C:: @ 817728C +SilphCo_11F_Text_Grunt2Defeat:: @ 817728C .string "Don't…\n" .string "Please!$" -gUnknown_817729B:: @ 817729B +SilphCo_11F_Text_Grunt2PostBattle:: @ 817729B .string "So, you want to see my BOSS?$" -Text_1772B8:: @ 81772B8 +SilphCo_11F_Text_Grunt1Intro:: @ 81772B8 .string "Halt! Do you have an appointment\n" .string "with my BOSS?$" -Text_1772E7:: @ 81772E7 +SilphCo_11F_Text_Grunt1Defeat:: @ 81772E7 .string "Gaah!\n" .string "Demolished!$" -gUnknown_81772F9:: @ 81772F9 +SilphCo_11F_Text_Grunt1PostBattle:: @ 81772F9 .string "Watch your step…\n" .string "My BOSS likes his POKéMON tough!$" -gUnknown_817732B:: @ 817732B +SilphCo_11F_Text_MonitorHasMonsOnIt:: @ 817732B .string "The monitor has POKéMON on it!$" -gUnknown_817734A:: @ 817734A +SilphCo_11F_Text_FloorSign:: @ 817734A .string "SILPH CO. HEAD OFFICE\n" .string "11F$" diff --git a/data/maps/SilphCo_1F/map.json b/data/maps/SilphCo_1F/map.json index 277329dfc..e4cfd2927 100644 --- a/data/maps/SilphCo_1F/map.json +++ b/data/maps/SilphCo_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SILPH_CO", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 7, - "elevator_flag": 1, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 1, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_F", + "graphics_id": "OBJ_EVENT_GFX_WORKER_F", "x": 3, "y": 7, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SilphCo_1F_EventScript_16162F", + "script": "SilphCo_1F_EventScript_Receptionist", "flag": "FLAG_HIDE_SAFFRON_CIVILIANS" } ], @@ -67,11 +69,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 30, "y": 1, "elevation": 0, - "script": "SilphCo_1F_EventScript_161638" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SilphCo_1F_EventScript_FloorSign" } ] } diff --git a/data/maps/SilphCo_1F/scripts.inc b/data/maps/SilphCo_1F/scripts.inc index f10c4d8b3..004d2de0c 100644 --- a/data/maps/SilphCo_1F/scripts.inc +++ b/data/maps/SilphCo_1F/scripts.inc @@ -6,10 +6,10 @@ SilphCo_1F_OnTransition:: @ 816162B setworldmapflag FLAG_WORLD_MAP_SILPH_CO_1F end -SilphCo_1F_EventScript_16162F:: @ 816162F - msgbox gUnknown_81754F7, MSGBOX_NPC +SilphCo_1F_EventScript_Receptionist:: @ 816162F + msgbox SilphCo_1F_Text_WelcomePresidentInBoardroom, MSGBOX_NPC end -SilphCo_1F_EventScript_161638:: @ 8161638 - msgbox gUnknown_8175549, MSGBOX_SIGN +SilphCo_1F_EventScript_FloorSign:: @ 8161638 + msgbox SilphCo_1F_Text_FloorSign, MSGBOX_SIGN end diff --git a/data/maps/SilphCo_1F/text.inc b/data/maps/SilphCo_1F/text.inc index 048102660..a62665236 100644 --- a/data/maps/SilphCo_1F/text.inc +++ b/data/maps/SilphCo_1F/text.inc @@ -1,13 +1,14 @@ -gUnknown_81754F7:: @ 81754F7 +SilphCo_1F_Text_WelcomePresidentInBoardroom:: @ 81754F7 .string "Welcome.\p" .string "The PRESIDENT is in the boardroom\n" .string "on 11F.$" -Text_17552A:: @ 817552A +@ Tentative translation. Unknown origin +SilphCo_1F_Text_DestroyedWontBeFixedForWhile:: @ 817552A .string "めちゃめちゃに こわされてる\n" .string "とうぶん なおりそうに ない‥$" -gUnknown_8175549:: @ 8175549 +SilphCo_1F_Text_FloorSign:: @ 8175549 .string "SILPH CO. HEAD OFFICE\n" .string "1F$" diff --git a/data/maps/SilphCo_2F/map.json b/data/maps/SilphCo_2F/map.json index fed3b8390..61c40ac7b 100644 --- a/data/maps/SilphCo_2F/map.json +++ b/data/maps/SilphCo_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SILPH_CO", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 7, - "elevator_flag": 2, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 2, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 29, "y": 12, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "SilphCo_2F_EventScript_1616AE", + "script": "SilphCo_2F_EventScript_Grunt2", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 28, "y": 18, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "SilphCo_2F_EventScript_161680", + "script": "SilphCo_2F_EventScript_Jerry", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 20, "y": 14, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SilphCo_2F_EventScript_161697", + "script": "SilphCo_2F_EventScript_Grunt1", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 5, "y": 19, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 0, - "script": "SilphCo_2F_EventScript_161669", + "script": "SilphCo_2F_EventScript_Connor", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 10, "y": 4, "elevation": 0, @@ -133,59 +135,67 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 8, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_2F_EventScript_Door1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 6, "y": 8, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_2F_EventScript_Door1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 9, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_2F_EventScript_Door1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 6, "y": 9, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_2F_EventScript_Door1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 15, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_2F_EventScript_Door2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 6, "y": 15, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_2F_EventScript_Door2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 16, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_2F_EventScript_Door2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 6, "y": 16, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_2F_EventScript_Door2" }, { @@ -199,11 +209,12 @@ "underfoot": false }, { - "type": "bg_event_type_0", + "type": "sign", "x": 29, "y": 1, "elevation": 0, - "script": "SilphCo_2F_EventScript_161660" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SilphCo_2F_EventScript_FloorSign" } ] } diff --git a/data/maps/SilphCo_2F/scripts.inc b/data/maps/SilphCo_2F/scripts.inc index 6f800bbd0..161ddefe6 100644 --- a/data/maps/SilphCo_2F/scripts.inc +++ b/data/maps/SilphCo_2F/scripts.inc @@ -9,30 +9,28 @@ SilphCo_2F_OnLoad:: @ 8161647 SilphCo_2F_EventScript_ThunderWaveTutor:: @ 816165A goto EventScript_ThunderWaveTutor - -EventScript_16165F:: @ 816165F end -SilphCo_2F_EventScript_161660:: @ 8161660 - msgbox gUnknown_8175894, MSGBOX_SIGN +SilphCo_2F_EventScript_FloorSign:: @ 8161660 + msgbox SilphCo_2F_Text_FloorSign, MSGBOX_SIGN end -SilphCo_2F_EventScript_161669:: @ 8161669 - trainerbattle_single TRAINER_SCIENTIST_CONNOR, Text_175562, Text_17557E - msgbox gUnknown_817559F, MSGBOX_AUTOCLOSE +SilphCo_2F_EventScript_Connor:: @ 8161669 + trainerbattle_single TRAINER_SCIENTIST_CONNOR, SilphCo_2F_Text_ConnorIntro, SilphCo_2F_Text_ConnorDefeat + msgbox SilphCo_2F_Text_ConnorPostBattle, MSGBOX_AUTOCLOSE end -SilphCo_2F_EventScript_161680:: @ 8161680 - trainerbattle_single TRAINER_SCIENTIST_JERRY, Text_1755C6, Text_1755E5 - msgbox gUnknown_81755F2, MSGBOX_AUTOCLOSE +SilphCo_2F_EventScript_Jerry:: @ 8161680 + trainerbattle_single TRAINER_SCIENTIST_JERRY, SilphCo_2F_Text_JerryIntro, SilphCo_2F_Text_JerryDefeat + msgbox SilphCo_2F_Text_JerryPostBattle, MSGBOX_AUTOCLOSE end -SilphCo_2F_EventScript_161697:: @ 8161697 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_23, Text_17562D, Text_17564A - msgbox gUnknown_8175651, MSGBOX_AUTOCLOSE +SilphCo_2F_EventScript_Grunt1:: @ 8161697 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_23, SilphCo_2F_Text_Grunt1Intro, SilphCo_2F_Text_Grunt1Defeat + msgbox SilphCo_2F_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE end -SilphCo_2F_EventScript_1616AE:: @ 81616AE - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_24, Text_1756AD, Text_1756D8 - msgbox gUnknown_81756E2, MSGBOX_AUTOCLOSE +SilphCo_2F_EventScript_Grunt2:: @ 81616AE + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_24, SilphCo_2F_Text_Grunt2Intro, SilphCo_2F_Text_Grunt2Defeat + msgbox SilphCo_2F_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/SilphCo_2F/text.inc b/data/maps/SilphCo_2F/text.inc index 3dc65664d..82c7bac99 100644 --- a/data/maps/SilphCo_2F/text.inc +++ b/data/maps/SilphCo_2F/text.inc @@ -1,46 +1,46 @@ -Text_175562:: @ 8175562 +SilphCo_2F_Text_ConnorIntro:: @ 8175562 .string "Help!\n" .string "I'm a SILPH employee.$" -Text_17557E:: @ 817557E +SilphCo_2F_Text_ConnorDefeat:: @ 817557E .string "How did you know\n" .string "I was a ROCKET?$" -gUnknown_817559F:: @ 817559F +SilphCo_2F_Text_ConnorPostBattle:: @ 817559F .string "I work for both SILPH and TEAM\n" .string "ROCKET.$" -Text_1755C6:: @ 81755C6 +SilphCo_2F_Text_JerryIntro:: @ 81755C6 .string "It's off-limits here!\n" .string "Go home!$" -Text_1755E5:: @ 81755E5 +SilphCo_2F_Text_JerryDefeat:: @ 81755E5 .string "You're good.$" -gUnknown_81755F2:: @ 81755F2 +SilphCo_2F_Text_JerryPostBattle:: @ 81755F2 .string "Can you solve the maze in here?\n" .string "It's not easy, I tell you!$" -Text_17562D:: @ 817562D +SilphCo_2F_Text_Grunt1Intro:: @ 817562D .string "No kids are allowed in here!$" -Text_17564A:: @ 817564A +SilphCo_2F_Text_Grunt1Defeat:: @ 817564A .string "Tough!$" -gUnknown_8175651:: @ 8175651 +SilphCo_2F_Text_Grunt1PostBattle:: @ 8175651 .string "Diamond-shaped tiles are teleport\n" .string "blocks.\p" .string "They're transporters for this\n" .string "high-tech building.$" -Text_1756AD:: @ 81756AD +SilphCo_2F_Text_Grunt2Intro:: @ 81756AD .string "Hey, kid!\n" .string "What are you wandering here for?$" -Text_1756D8:: @ 81756D8 +SilphCo_2F_Text_Grunt2Defeat:: @ 81756D8 .string "I goofed!$" -gUnknown_81756E2:: @ 81756E2 +SilphCo_2F_Text_Grunt2PostBattle:: @ 81756E2 .string "SILPH CO. will be associated with\n" .string "TEAM ROCKET!$" @@ -68,7 +68,7 @@ Text_ThunderWaveTaught:: @ 81757EC .string "It's an ELECTRIC-type move, so it\n" .string "won't work on some POKéMON.$" -gUnknown_8175894:: @ 8175894 +SilphCo_2F_Text_FloorSign:: @ 8175894 .string "SILPH CO. HEAD OFFICE\n" .string "2F$" diff --git a/data/maps/SilphCo_3F/map.json b/data/maps/SilphCo_3F/map.json index 8a81b5118..954808b4b 100644 --- a/data/maps/SilphCo_3F/map.json +++ b/data/maps/SilphCo_3F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SILPH_CO", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 7, - "elevator_flag": 3, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 3, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 25, "y": 9, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SilphCo_3F_EventScript_16171F", + "script": "SilphCo_3F_EventScript_Grunt", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 31, "y": 13, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SilphCo_3F_EventScript_1616DE", + "script": "SilphCo_3F_EventScript_WorkerM", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 4, "y": 12, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 0, - "script": "SilphCo_3F_EventScript_161708", + "script": "SilphCo_3F_EventScript_Jose", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 8, "y": 10, "elevation": 3, @@ -141,59 +143,67 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 10, "y": 12, "elevation": 3, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_3F_EventScript_Door1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 10, "y": 13, "elevation": 3, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_3F_EventScript_Door1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 21, "y": 12, "elevation": 3, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_3F_EventScript_Door2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 21, "y": 13, "elevation": 3, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_3F_EventScript_Door2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 9, "y": 12, "elevation": 3, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_3F_EventScript_Door1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 9, "y": 13, "elevation": 3, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_3F_EventScript_Door1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 20, "y": 12, "elevation": 3, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_3F_EventScript_Door2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 20, "y": 13, "elevation": 3, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_3F_EventScript_Door2" }, { @@ -207,11 +217,12 @@ "underfoot": false }, { - "type": "bg_event_type_0", + "type": "sign", "x": 29, "y": 1, "elevation": 0, - "script": "SilphCo_3F_EventScript_1616FF" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SilphCo_3F_EventScript_FloorSign" } ] } diff --git a/data/maps/SilphCo_3F/scripts.inc b/data/maps/SilphCo_3F/scripts.inc index a5e62b667..2fab54a56 100644 --- a/data/maps/SilphCo_3F/scripts.inc +++ b/data/maps/SilphCo_3F/scripts.inc @@ -7,30 +7,30 @@ SilphCo_3F_OnLoad:: @ 81616CB call_if_unset FLAG_SILPH_3F_DOOR_2, EventScript_Close3FDoor2 end -SilphCo_3F_EventScript_1616DE:: @ 81616DE +SilphCo_3F_EventScript_WorkerM:: @ 81616DE lock faceplayer compare VAR_MAP_SCENE_SILPH_CO_11F, 1 - goto_if_ge EventScript_1616F5 - msgbox gUnknown_81758AD + goto_if_ge SilphCo_3F_EventScript_WorkerMRocketsGone + msgbox SilphCo_3F_Text_WhatAmIToDo release end -EventScript_1616F5:: @ 81616F5 - msgbox gUnknown_81758D3 +SilphCo_3F_EventScript_WorkerMRocketsGone:: @ 81616F5 + msgbox SilphCo_3F_Text_YouAndYourMonsSavedUs release end -SilphCo_3F_EventScript_1616FF:: @ 81616FF - msgbox gUnknown_81759DC, MSGBOX_SIGN +SilphCo_3F_EventScript_FloorSign:: @ 81616FF + msgbox SilphCo_3F_Text_FloorSign, MSGBOX_SIGN end -SilphCo_3F_EventScript_161708:: @ 8161708 - trainerbattle_single TRAINER_SCIENTIST_JOSE, Text_175948, Text_17597D - msgbox gUnknown_8175990, MSGBOX_AUTOCLOSE +SilphCo_3F_EventScript_Jose:: @ 8161708 + trainerbattle_single TRAINER_SCIENTIST_JOSE, SilphCo_3F_Text_JoseIntro, SilphCo_3F_Text_JoseDefeat + msgbox SilphCo_3F_Text_JosePostBattle, MSGBOX_AUTOCLOSE end -SilphCo_3F_EventScript_16171F:: @ 816171F - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_25, Text_1758F6, Text_175911 - msgbox gUnknown_817591C, MSGBOX_AUTOCLOSE +SilphCo_3F_EventScript_Grunt:: @ 816171F + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_25, SilphCo_3F_Text_GruntIntro, SilphCo_3F_Text_GruntDefeat + msgbox SilphCo_3F_Text_GruntPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/SilphCo_3F/text.inc b/data/maps/SilphCo_3F/text.inc index 6b8a8d4d1..128865c1b 100644 --- a/data/maps/SilphCo_3F/text.inc +++ b/data/maps/SilphCo_3F/text.inc @@ -1,34 +1,34 @@ -gUnknown_81758AD:: @ 81758AD +SilphCo_3F_Text_WhatAmIToDo:: @ 81758AD .string "I work for SILPH CO.\n" .string "What am I to do?$" -gUnknown_81758D3:: @ 81758D3 +SilphCo_3F_Text_YouAndYourMonsSavedUs:: @ 81758D3 .string "{PLAYER}!\n" .string "You and your POKéMON saved us!$" -Text_1758F6:: @ 81758F6 +SilphCo_3F_Text_GruntIntro:: @ 81758F6 .string "Quit messing with us, kid!$" -Text_175911:: @ 8175911 +SilphCo_3F_Text_GruntDefeat:: @ 8175911 .string "I give up!$" -gUnknown_817591C:: @ 817591C +SilphCo_3F_Text_GruntPostBattle:: @ 817591C .string "A hint? You can open doors with\n" .string "a CARD KEY!$" -Text_175948:: @ 8175948 +SilphCo_3F_Text_JoseIntro:: @ 8175948 .string "I support TEAM ROCKET more than\n" .string "I support SILPH CO.!$" -Text_17597D:: @ 817597D +SilphCo_3F_Text_JoseDefeat:: @ 817597D .string "You really got me!$" -gUnknown_8175990:: @ 8175990 +SilphCo_3F_Text_JosePostBattle:: @ 8175990 .string "Humph…\p" .string "TEAM ROCKET said that if I helped\n" .string "them, they'd let me study POKéMON.$" -gUnknown_81759DC:: @ 81759DC +SilphCo_3F_Text_FloorSign:: @ 81759DC .string "SILPH CO. HEAD OFFICE\n" .string "3F$" diff --git a/data/maps/SilphCo_4F/map.json b/data/maps/SilphCo_4F/map.json index fc37a6102..19b3822f2 100644 --- a/data/maps/SilphCo_4F/map.json +++ b/data/maps/SilphCo_4F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SILPH_CO", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 7, - "elevator_flag": 4, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 4, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 33, "y": 16, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SilphCo_4F_EventScript_1617A7", + "script": "SilphCo_4F_EventScript_Grunt2", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 10, "y": 19, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "SilphCo_4F_EventScript_161790", + "script": "SilphCo_4F_EventScript_Grunt1", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 14, "y": 8, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "SilphCo_4F_EventScript_161779", + "script": "SilphCo_4F_EventScript_Rodney", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 5, "y": 5, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SilphCo_4F_EventScript_16174F", + "script": "SilphCo_4F_EventScript_WorkerM", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 3, "y": 11, "elevation": 3, @@ -79,7 +81,7 @@ "flag": "FLAG_HIDE_SILPH_CO_4F_MAX_REVIVE" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 4, "y": 12, "elevation": 3, @@ -92,7 +94,7 @@ "flag": "FLAG_HIDE_SILPH_CO_4F_ESCAPE_ROPE" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 2, "y": 13, "elevation": 3, @@ -105,7 +107,7 @@ "flag": "FLAG_HIDE_SILPH_CO_4F_FULL_HEAL" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 30, "y": 18, "elevation": 0, @@ -172,59 +174,67 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 3, "y": 16, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_4F_EventScript_Door1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 16, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_4F_EventScript_Door1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 3, "y": 17, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_4F_EventScript_Door1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 17, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_4F_EventScript_Door1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 15, "y": 11, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_4F_EventScript_Door2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 14, "y": 11, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_4F_EventScript_Door2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 14, "y": 12, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_4F_EventScript_Door2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 15, "y": 12, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_4F_EventScript_Door2" }, { @@ -238,11 +248,12 @@ "underfoot": false }, { - "type": "bg_event_type_0", + "type": "sign", "x": 29, "y": 1, "elevation": 0, - "script": "SilphCo_4F_EventScript_161770" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SilphCo_4F_EventScript_FloorSign" } ] } diff --git a/data/maps/SilphCo_4F/scripts.inc b/data/maps/SilphCo_4F/scripts.inc index 406e394f1..bd20cb533 100644 --- a/data/maps/SilphCo_4F/scripts.inc +++ b/data/maps/SilphCo_4F/scripts.inc @@ -7,35 +7,35 @@ SilphCo_4F_OnLoad:: @ 816173C call_if_unset FLAG_SILPH_4F_DOOR_2, EventScript_Close4FDoor2 end -SilphCo_4F_EventScript_16174F:: @ 816174F +SilphCo_4F_EventScript_WorkerM:: @ 816174F lock faceplayer compare VAR_MAP_SCENE_SILPH_CO_11F, 1 - goto_if_ge EventScript_161766 - msgbox gUnknown_81759F5 + goto_if_ge SilphCo_4F_EventScript_WorkerMRocketsGone + msgbox SilphCo_4F_Text_CantYouSeeImHiding release end -EventScript_161766:: @ 8161766 - msgbox gUnknown_8175A15 +SilphCo_4F_EventScript_WorkerMRocketsGone:: @ 8161766 + msgbox SilphCo_4F_Text_TeamRocketIsGone release end -SilphCo_4F_EventScript_161770:: @ 8161770 - msgbox gUnknown_8175B57, MSGBOX_SIGN +SilphCo_4F_EventScript_FloorSign:: @ 8161770 + msgbox SilphCo_4F_Text_FloorSign, MSGBOX_SIGN end -SilphCo_4F_EventScript_161779:: @ 8161779 - trainerbattle_single TRAINER_SCIENTIST_RODNEY, Text_175A90, Text_175AB0 - msgbox gUnknown_8175AC8, MSGBOX_AUTOCLOSE +SilphCo_4F_EventScript_Rodney:: @ 8161779 + trainerbattle_single TRAINER_SCIENTIST_RODNEY, SilphCo_4F_Text_RodneyIntro, SilphCo_4F_Text_RodneyDefeat + msgbox SilphCo_4F_Text_RodneyPostBattle, MSGBOX_AUTOCLOSE end -SilphCo_4F_EventScript_161790:: @ 8161790 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_26, Text_175A2F, Text_175A5B - msgbox gUnknown_8175A62, MSGBOX_AUTOCLOSE +SilphCo_4F_EventScript_Grunt1:: @ 8161790 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_26, SilphCo_4F_Text_Grunt1Intro, SilphCo_4F_Text_Grunt1Defeat + msgbox SilphCo_4F_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE end -SilphCo_4F_EventScript_1617A7:: @ 81617A7 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_27, Text_175B19, Text_175B2B - msgbox gUnknown_8175B38, MSGBOX_AUTOCLOSE +SilphCo_4F_EventScript_Grunt2:: @ 81617A7 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_27, SilphCo_4F_Text_Grunt2Intro, SilphCo_4F_Text_Grunt2Defeat + msgbox SilphCo_4F_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/SilphCo_4F/text.inc b/data/maps/SilphCo_4F/text.inc index d8741f9a3..dd1ed2d20 100644 --- a/data/maps/SilphCo_4F/text.inc +++ b/data/maps/SilphCo_4F/text.inc @@ -1,45 +1,45 @@ -gUnknown_81759F5:: @ 81759F5 +SilphCo_4F_Text_CantYouSeeImHiding:: @ 81759F5 .string "Sssh!\n" .string "Can't you see I'm hiding?$" -gUnknown_8175A15:: @ 8175A15 +SilphCo_4F_Text_TeamRocketIsGone:: @ 8175A15 .string "Huh?\n" .string "TEAM ROCKET is gone?$" -Text_175A2F:: @ 8175A2F +SilphCo_4F_Text_Grunt1Intro:: @ 8175A2F .string "TEAM ROCKET has taken control\n" .string "of SILPH CO.!$" -Text_175A5B:: @ 8175A5B +SilphCo_4F_Text_Grunt1Defeat:: @ 8175A5B .string "Arrgh!$" -gUnknown_8175A62:: @ 8175A62 +SilphCo_4F_Text_Grunt1PostBattle:: @ 8175A62 .string "Fwahahaha!\n" .string "My BOSS has been after this place!$" -Text_175A90:: @ 8175A90 +SilphCo_4F_Text_RodneyIntro:: @ 8175A90 .string "My POKéMON is my loyal servant.$" -Text_175AB0:: @ 8175AB0 +SilphCo_4F_Text_RodneyDefeat:: @ 8175AB0 .string "Darn!\n" .string "You weak POKéMON!$" -gUnknown_8175AC8:: @ 8175AC8 +SilphCo_4F_Text_RodneyPostBattle:: @ 8175AC8 .string "The doors are electronically\n" .string "locked.\p" .string "It takes a CARD KEY to open the\n" .string "doors here.$" -Text_175B19:: @ 8175B19 +SilphCo_4F_Text_Grunt2Intro:: @ 8175B19 .string "Intruder spotted!$" -Text_175B2B:: @ 8175B2B +SilphCo_4F_Text_Grunt2Defeat:: @ 8175B2B .string "Who are you?$" -gUnknown_8175B38:: @ 8175B38 +SilphCo_4F_Text_Grunt2PostBattle:: @ 8175B38 .string "I better tell the BOSS on 11F!$" -gUnknown_8175B57:: @ 8175B57 +SilphCo_4F_Text_FloorSign:: @ 8175B57 .string "SILPH CO. HEAD OFFICE\n" .string "4F$" diff --git a/data/maps/SilphCo_5F/map.json b/data/maps/SilphCo_5F/map.json index 9bc1989ff..d258396df 100644 --- a/data/maps/SilphCo_5F/map.json +++ b/data/maps/SilphCo_5F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SILPH_CO", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 7, - "elevator_flag": 5, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 5, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 35, "y": 7, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "SilphCo_5F_EventScript_161853", + "script": "SilphCo_5F_EventScript_Grunt2", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 23, "y": 13, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "SilphCo_5F_EventScript_16186A", + "script": "SilphCo_5F_EventScript_Dalton", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 16, "y": 13, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SilphCo_5F_EventScript_1617E0", + "script": "SilphCo_5F_EventScript_WorkerM", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 11, "y": 6, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SilphCo_5F_EventScript_161825", + "script": "SilphCo_5F_EventScript_Beau", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 9, "y": 21, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SilphCo_5F_EventScript_16183C", + "script": "SilphCo_5F_EventScript_Grunt1", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 4, "y": 9, "elevation": 3, @@ -92,7 +94,7 @@ "flag": "FLAG_HIDE_SILPH_CO_5F_PROTEIN" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 1, "y": 18, "elevation": 3, @@ -105,7 +107,7 @@ "flag": "FLAG_HIDE_SILPH_CO_5F_TM01" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 22, "y": 21, "elevation": 3, @@ -118,7 +120,7 @@ "flag": "FLAG_HIDE_SILPH_CO_5F_CARD_KEY" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 2, "y": 7, "elevation": 3, @@ -127,7 +129,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SilphCo_5F_EventScript_1AD0D4", + "script": "SilphCo_5F_EventScript_Scientist", "flag": "0" } ], @@ -195,109 +197,124 @@ "underfoot": false }, { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 9, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_5F_EventScript_Door1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 10, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_5F_EventScript_Door1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 18, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_5F_EventScript_Door2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 19, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_5F_EventScript_Door2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 19, "y": 13, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_5F_EventScript_Door3" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 19, "y": 14, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_5F_EventScript_Door3" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 7, "y": 9, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_5F_EventScript_Door1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 7, "y": 10, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_5F_EventScript_Door1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 7, "y": 19, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_5F_EventScript_Door2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 7, "y": 18, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_5F_EventScript_Door2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 18, "y": 13, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_5F_EventScript_Door3" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 18, "y": 14, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_5F_EventScript_Door3" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 28, "y": 11, "elevation": 0, - "script": "SilphCo_5F_EventScript_161813" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SilphCo_5F_EventScript_PokemonReport3" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 30, "y": 13, "elevation": 0, - "script": "SilphCo_5F_EventScript_16180A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SilphCo_5F_EventScript_PokemonReport2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 25, "y": 15, "elevation": 0, - "script": "SilphCo_5F_EventScript_161801" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SilphCo_5F_EventScript_PokemonReport1" }, { "type": "hidden_item", @@ -310,11 +327,12 @@ "underfoot": false }, { - "type": "bg_event_type_0", + "type": "sign", "x": 29, "y": 1, "elevation": 0, - "script": "SilphCo_5F_EventScript_16181C" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SilphCo_5F_EventScript_FloorSign" } ] } diff --git a/data/maps/SilphCo_5F/scripts.inc b/data/maps/SilphCo_5F/scripts.inc index 1a17e3b44..ae195ee09 100644 --- a/data/maps/SilphCo_5F/scripts.inc +++ b/data/maps/SilphCo_5F/scripts.inc @@ -8,52 +8,52 @@ SilphCo_5F_OnLoad:: @ 81617C4 call_if_unset FLAG_SILPH_5F_DOOR_3, EventScript_Close5FDoor3 end -SilphCo_5F_EventScript_1617E0:: @ 81617E0 +SilphCo_5F_EventScript_WorkerM:: @ 81617E0 lock faceplayer compare VAR_MAP_SCENE_SILPH_CO_11F, 1 - goto_if_ge EventScript_1617F7 - msgbox gUnknown_8175B70 + goto_if_ge SilphCo_5F_EventScript_WorkerMRocketsGone + msgbox SilphCo_5F_Text_RocketsInUproarAboutIntruder release end -EventScript_1617F7:: @ 81617F7 - msgbox gUnknown_8175BB3 +SilphCo_5F_EventScript_WorkerMRocketsGone:: @ 81617F7 + msgbox SilphCo_5F_Text_YoureOurHeroThankYou release end -SilphCo_5F_EventScript_161801:: @ 8161801 - msgbox gUnknown_8175D89, MSGBOX_SIGN +SilphCo_5F_EventScript_PokemonReport1:: @ 8161801 + msgbox SilphCo_5F_Text_PorygonFirstVRMon, MSGBOX_SIGN end -SilphCo_5F_EventScript_16180A:: @ 816180A - msgbox gUnknown_8175DE0, MSGBOX_SIGN +SilphCo_5F_EventScript_PokemonReport2:: @ 816180A + msgbox SilphCo_5F_Text_Over350TechniquesConfirmed, MSGBOX_SIGN end -SilphCo_5F_EventScript_161813:: @ 8161813 - msgbox gUnknown_8175E28, MSGBOX_SIGN +SilphCo_5F_EventScript_PokemonReport3:: @ 8161813 + msgbox SilphCo_5F_Text_SomeMonsEvolveWhenTraded, MSGBOX_SIGN end -SilphCo_5F_EventScript_16181C:: @ 816181C - msgbox gUnknown_8175E80, MSGBOX_SIGN +SilphCo_5F_EventScript_FloorSign:: @ 816181C + msgbox SilphCo_5F_Text_FloorSign, MSGBOX_SIGN end -SilphCo_5F_EventScript_161825:: @ 8161825 - trainerbattle_single TRAINER_SCIENTIST_BEAU, Text_175C40, Text_175C6D - msgbox gUnknown_8175C7D, MSGBOX_AUTOCLOSE +SilphCo_5F_EventScript_Beau:: @ 8161825 + trainerbattle_single TRAINER_SCIENTIST_BEAU, SilphCo_5F_Text_BeauIntro, SilphCo_5F_Text_BeauDefeat + msgbox SilphCo_5F_Text_BeauPostBattle, MSGBOX_AUTOCLOSE end -SilphCo_5F_EventScript_16183C:: @ 816183C - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_28, Text_175BE5, Text_175C09 - msgbox gUnknown_8175C0F, MSGBOX_AUTOCLOSE +SilphCo_5F_EventScript_Grunt1:: @ 816183C + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_28, SilphCo_5F_Text_Grunt1Intro, SilphCo_5F_Text_Grunt1Defeat + msgbox SilphCo_5F_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE end -SilphCo_5F_EventScript_161853:: @ 8161853 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_29, Text_175D28, Text_175D4B - msgbox gUnknown_8175D59, MSGBOX_AUTOCLOSE +SilphCo_5F_EventScript_Grunt2:: @ 8161853 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_29, SilphCo_5F_Text_Grunt2Intro, SilphCo_5F_Text_Grunt2Defeat + msgbox SilphCo_5F_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE end -SilphCo_5F_EventScript_16186A:: @ 816186A - trainerbattle_single TRAINER_JUGGLER_DALTON, Text_175CBD, Text_175CEB - msgbox gUnknown_8175CF9, MSGBOX_AUTOCLOSE +SilphCo_5F_EventScript_Dalton:: @ 816186A + trainerbattle_single TRAINER_JUGGLER_DALTON, SilphCo_5F_Text_DaltonIntro, SilphCo_5F_Text_DaltonDefeat + msgbox SilphCo_5F_Text_DaltonPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/SilphCo_5F/text.inc b/data/maps/SilphCo_5F/text.inc index 5a768d5f5..3161f971c 100644 --- a/data/maps/SilphCo_5F/text.inc +++ b/data/maps/SilphCo_5F/text.inc @@ -1,74 +1,81 @@ -gUnknown_8175B70:: @ 8175B70 +SilphCo_5F_Text_RocketsInUproarAboutIntruder:: @ 8175B70 .string "TEAM ROCKET is in an uproar over\n" .string "some intruder.\p" .string "That's you, right?$" -gUnknown_8175BB3:: @ 8175BB3 +SilphCo_5F_Text_YoureOurHeroThankYou:: @ 8175BB3 .string "TEAM ROCKET took off!\n" .string "You're our hero! Thank you!$" -Text_175BE5:: @ 8175BE5 +SilphCo_5F_Text_Grunt1Intro:: @ 8175BE5 .string "I heard a kid was wandering\n" .string "around.$" -Text_175C09:: @ 8175C09 +SilphCo_5F_Text_Grunt1Defeat:: @ 8175C09 .string "Boom!$" -gUnknown_8175C0F:: @ 8175C0F +SilphCo_5F_Text_Grunt1PostBattle:: @ 8175C0F .string "It's not smart to pick a fight with\n" .string "TEAM ROCKET!$" -Text_175C40:: @ 8175C40 +SilphCo_5F_Text_BeauIntro:: @ 8175C40 .string "We study POKé BALL technology on\n" .string "this floor.$" -Text_175C6D:: @ 8175C6D +SilphCo_5F_Text_BeauDefeat:: @ 8175C6D .string "Dang!\n" .string "Blast it!$" -gUnknown_8175C7D:: @ 8175C7D +SilphCo_5F_Text_BeauPostBattle:: @ 8175C7D .string "We worked on the ultimate POKé\n" .string "BALL which would catch anything.$" -Text_175CBD:: @ 8175CBD +SilphCo_5F_Text_DaltonIntro:: @ 8175CBD .string "Whaaat?\p" .string "There shouldn't be any children\n" .string "here!$" -Text_175CEB:: @ 8175CEB +SilphCo_5F_Text_DaltonDefeat:: @ 8175CEB .string "Oh, goodness!$" -gUnknown_8175CF9:: @ 8175CF9 +SilphCo_5F_Text_DaltonPostBattle:: @ 8175CF9 .string "You're only on 5F.\n" .string "It's a long way to my BOSS!$" -Text_175D28:: @ 8175D28 +SilphCo_5F_Text_Grunt2Intro:: @ 8175D28 .string "Show TEAM ROCKET a little respect!$" -Text_175D4B:: @ 8175D4B +SilphCo_5F_Text_Grunt2Defeat:: @ 8175D4B .string "Cough…\n" .string "Cough…$" -gUnknown_8175D59:: @ 8175D59 +SilphCo_5F_Text_Grunt2PostBattle:: @ 8175D59 .string "Which reminds me.\p" .string "KOFFING evolves into WEEZING!$" -gUnknown_8175D89:: @ 8175D89 +SilphCo_5F_Text_PorygonFirstVRMon:: @ 8175D89 .string "It's a POKéMON REPORT!\p" .string "POKéMON LAB created PORYGON,\n" .string "the first virtual-reality POKéMON.$" -gUnknown_8175DE0:: @ 8175DE0 +SilphCo_5F_Text_Over350TechniquesConfirmed:: @ 8175DE0 .string "It's a POKéMON REPORT!\p" .string "Over 350 POKéMON techniques have\n" .string "been confirmed.$" -gUnknown_8175E28:: @ 8175E28 +SilphCo_5F_Text_SomeMonsEvolveWhenTraded:: @ 8175E28 .string "It's a POKéMON REPORT!\p" .string "Some POKéMON have been confirmed\n" .string "to evolve when they are traded.$" -gUnknown_8175E80:: @ 8175E80 +SilphCo_5F_Text_FloorSign:: @ 8175E80 .string "SILPH CO. HEAD OFFICE\n" .string "5F$" +SilphCo_5F_Text_RocketBossLookingForStrongMons:: @ 8175E99 + .string "Those thugs that took over our\n" + .string "building…\p" + .string "Their BOSS said he was looking for\n" + .string "strong POKéMON.\p" + .string "I hope our PRESIDENT managed to\n" + .string "avoid trouble…$" diff --git a/data/maps/SilphCo_6F/map.json b/data/maps/SilphCo_6F/map.json index a1142c5ed..60200d7e3 100644 --- a/data/maps/SilphCo_6F/map.json +++ b/data/maps/SilphCo_6F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SILPH_CO", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 7, - "elevator_flag": 6, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 6, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 21, "y": 5, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "SilphCo_6F_EventScript_161956", + "script": "SilphCo_6F_EventScript_Grunt1", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 23, "y": 9, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SilphCo_6F_EventScript_1618D3", + "script": "SilphCo_6F_EventScript_WorkerM1", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_F", + "graphics_id": "OBJ_EVENT_GFX_WORKER_F", "x": 24, "y": 9, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SilphCo_6F_EventScript_1618F4", + "script": "SilphCo_6F_EventScript_WorkerF1", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 22, "y": 13, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SilphCo_6F_EventScript_161891", + "script": "SilphCo_6F_EventScript_WorkerM2", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 14, "y": 9, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SilphCo_6F_EventScript_1618B2", + "script": "SilphCo_6F_EventScript_WorkerM3", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_F", + "graphics_id": "OBJ_EVENT_GFX_WORKER_F", "x": 16, "y": 12, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SilphCo_6F_EventScript_161915", + "script": "SilphCo_6F_EventScript_WorkerF2", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 9, "y": 11, "elevation": 3, @@ -101,11 +103,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "SilphCo_6F_EventScript_16193F", + "script": "SilphCo_6F_EventScript_Taylor", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 2, "y": 14, "elevation": 3, @@ -118,7 +120,7 @@ "flag": "FLAG_HIDE_SILPH_CO_6F_HP_UP" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 1, "y": 17, "elevation": 3, @@ -131,7 +133,7 @@ "flag": "FLAG_HIDE_SILPH_CO_6F_X_SPECIAL" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 18, "y": 17, "elevation": 3, @@ -140,7 +142,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "SilphCo_6F_EventScript_16196D", + "script": "SilphCo_6F_EventScript_Grunt2", "flag": "FLAG_HIDE_SILPH_ROCKETS" } ], @@ -184,31 +186,35 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 6, "y": 15, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_6F_EventScript_Door" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 6, "y": 16, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_6F_EventScript_Door" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 15, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_6F_EventScript_Door" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 16, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_6F_EventScript_Door" }, { @@ -222,11 +228,12 @@ "underfoot": false }, { - "type": "bg_event_type_0", + "type": "sign", "x": 25, "y": 1, "elevation": 0, - "script": "SilphCo_6F_EventScript_161936" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SilphCo_6F_EventScript_FloorSign" } ] } diff --git a/data/maps/SilphCo_6F/scripts.inc b/data/maps/SilphCo_6F/scripts.inc index 6bc5cd545..478ff3309 100644 --- a/data/maps/SilphCo_6F/scripts.inc +++ b/data/maps/SilphCo_6F/scripts.inc @@ -6,91 +6,91 @@ SilphCo_6F_OnLoad:: @ 8161887 call_if_unset FLAG_SILPH_6F_DOOR, EventScript_Close6FDoor end -SilphCo_6F_EventScript_161891:: @ 8161891 +SilphCo_6F_EventScript_WorkerM2:: @ 8161891 lock faceplayer compare VAR_MAP_SCENE_SILPH_CO_11F, 1 - goto_if_ge EventScript_1618A8 - msgbox gUnknown_817607E + goto_if_ge SilphCo_6F_EventScript_WorkerM2RocketsGone + msgbox SilphCo_6F_Text_TargetedSilphForOurMonProducts release end -EventScript_1618A8:: @ 81618A8 - msgbox gUnknown_81760B6 +SilphCo_6F_EventScript_WorkerM2RocketsGone:: @ 81618A8 + msgbox SilphCo_6F_Text_ComeWorkForSilphWhenYoureOlder release end -SilphCo_6F_EventScript_1618B2:: @ 81618B2 +SilphCo_6F_EventScript_WorkerM3:: @ 81618B2 lock faceplayer compare VAR_MAP_SCENE_SILPH_CO_11F, 1 - goto_if_ge EventScript_1618C9 - msgbox gUnknown_8175F24 + goto_if_ge SilphCo_6F_EventScript_WorkerM3RocketsGone + msgbox SilphCo_6F_Text_RocketsTookOverBuilding release end -EventScript_1618C9:: @ 81618C9 - msgbox gUnknown_8175F51 +SilphCo_6F_EventScript_WorkerM3RocketsGone:: @ 81618C9 + msgbox SilphCo_6F_Text_BetterGetBackToWork release end -SilphCo_6F_EventScript_1618D3:: @ 81618D3 +SilphCo_6F_EventScript_WorkerM1:: @ 81618D3 lock faceplayer compare VAR_MAP_SCENE_SILPH_CO_11F, 1 - goto_if_ge EventScript_1618EA - msgbox gUnknown_8175F70 + goto_if_ge SilphCo_6F_EventScript_WorkerM1RocketsGone + msgbox SilphCo_6F_Text_HelpMePlease release end -EventScript_1618EA:: @ 81618EA - msgbox gUnknown_8175F93 +SilphCo_6F_EventScript_WorkerM1RocketsGone:: @ 81618EA + msgbox SilphCo_6F_Text_WeGotEngaged release end -SilphCo_6F_EventScript_1618F4:: @ 81618F4 +SilphCo_6F_EventScript_WorkerF1:: @ 81618F4 lock faceplayer compare VAR_MAP_SCENE_SILPH_CO_11F, 1 - goto_if_ge EventScript_16190B - msgbox gUnknown_8175FAA + goto_if_ge SilphCo_6F_EventScript_WorkerF1RocketsGone + msgbox SilphCo_6F_Text_ThatManIsSuchACoward release end -EventScript_16190B:: @ 816190B - msgbox gUnknown_8175FD3 +SilphCo_6F_EventScript_WorkerF1RocketsGone:: @ 816190B + msgbox SilphCo_6F_Text_NeedsMeToLookAfterHim release end -SilphCo_6F_EventScript_161915:: @ 8161915 +SilphCo_6F_EventScript_WorkerF2:: @ 8161915 lock faceplayer compare VAR_MAP_SCENE_SILPH_CO_11F, 1 - goto_if_ge EventScript_16192C - msgbox gUnknown_8176012 + goto_if_ge SilphCo_6F_EventScript_WorkerF2RocketsGone + msgbox SilphCo_6F_Text_RocketsTryingToConquerWorld release end -EventScript_16192C:: @ 816192C - msgbox gUnknown_817604B +SilphCo_6F_EventScript_WorkerF2RocketsGone:: @ 816192C + msgbox SilphCo_6F_Text_RocketsRanAwayBecauseOfYou release end -SilphCo_6F_EventScript_161936:: @ 8161936 - msgbox gUnknown_817624D, MSGBOX_SIGN +SilphCo_6F_EventScript_FloorSign:: @ 8161936 + msgbox SilphCo_6F_Text_FloorSign, MSGBOX_SIGN end -SilphCo_6F_EventScript_16193F:: @ 816193F - trainerbattle_single TRAINER_SCIENTIST_TAYLOR, Text_176136, Text_1761BD - msgbox gUnknown_81761C4, MSGBOX_AUTOCLOSE +SilphCo_6F_EventScript_Taylor:: @ 816193F + trainerbattle_single TRAINER_SCIENTIST_TAYLOR, SilphCo_6F_Text_TaylorIntro, SilphCo_6F_Text_TaylorDefeat + msgbox SilphCo_6F_Text_TaylorPostBattle, MSGBOX_AUTOCLOSE end -SilphCo_6F_EventScript_161956:: @ 8161956 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_30, Text_1760DE, Text_176104 - msgbox gUnknown_817610F, MSGBOX_AUTOCLOSE +SilphCo_6F_EventScript_Grunt1:: @ 8161956 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_30, SilphCo_6F_Text_Grunt1Intro, SilphCo_6F_Text_Grunt1Defeat + msgbox SilphCo_6F_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE end -SilphCo_6F_EventScript_16196D:: @ 816196D - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_31, Text_1761F1, Text_17620E - msgbox gUnknown_817621B, MSGBOX_AUTOCLOSE +SilphCo_6F_EventScript_Grunt2:: @ 816196D + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_31, SilphCo_6F_Text_Grunt2Intro, SilphCo_6F_Text_Grunt2Defeat + msgbox SilphCo_6F_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/SilphCo_6F/text.inc b/data/maps/SilphCo_6F/text.inc index 1de83df51..f0d1084a1 100644 --- a/data/maps/SilphCo_6F/text.inc +++ b/data/maps/SilphCo_6F/text.inc @@ -1,86 +1,78 @@ -Text_175E99:: @ 8175E99 - .string "Those thugs that took over our\n" - .string "building…\p" - .string "Their BOSS said he was looking for\n" - .string "strong POKéMON.\p" - .string "I hope our PRESIDENT managed to\n" - .string "avoid trouble…$" - -gUnknown_8175F24:: @ 8175F24 +SilphCo_6F_Text_RocketsTookOverBuilding:: @ 8175F24 .string "The ROCKETS came and took over\n" .string "the building!$" -gUnknown_8175F51:: @ 8175F51 +SilphCo_6F_Text_BetterGetBackToWork:: @ 8175F51 .string "Well, better get back to work.$" -gUnknown_8175F70:: @ 8175F70 +SilphCo_6F_Text_HelpMePlease:: @ 8175F70 .string "Oh dear, oh dear.\n" .string "Help me, please!$" -gUnknown_8175F93:: @ 8175F93 +SilphCo_6F_Text_WeGotEngaged:: @ 8175F93 .string "We got engaged.\n" .string "Heheh!$" -gUnknown_8175FAA:: @ 8175FAA +SilphCo_6F_Text_ThatManIsSuchACoward:: @ 8175FAA .string "That man next to me…\n" .string "He's such a coward!$" -gUnknown_8175FD3:: @ 8175FD3 +SilphCo_6F_Text_NeedsMeToLookAfterHim:: @ 8175FD3 .string "He's so helpless, he needed\n" .string "someone like me to look after him.$" -gUnknown_8176012:: @ 8176012 +SilphCo_6F_Text_RocketsTryingToConquerWorld:: @ 8176012 .string "TEAM ROCKET is trying to conquer\n" .string "the world with POKéMON.$" -gUnknown_817604B:: @ 817604B +SilphCo_6F_Text_RocketsRanAwayBecauseOfYou:: @ 817604B .string "TEAM ROCKET ran away, and it's all\n" .string "because of you!$" -gUnknown_817607E:: @ 817607E +SilphCo_6F_Text_TargetedSilphForOurMonProducts:: @ 817607E .string "They must have targeted SILPH for\n" .string "our POKéMON products.$" -gUnknown_81760B6:: @ 81760B6 +SilphCo_6F_Text_ComeWorkForSilphWhenYoureOlder:: @ 81760B6 .string "Come work for SILPH when you\n" .string "get older.$" -Text_1760DE:: @ 81760DE +SilphCo_6F_Text_Grunt1Intro:: @ 81760DE .string "I am one of the four ROCKET\n" .string "BROTHERS!$" -Text_176104:: @ 8176104 +SilphCo_6F_Text_Grunt1Defeat:: @ 8176104 .string "Flame out!$" -gUnknown_817610F:: @ 817610F +SilphCo_6F_Text_Grunt1PostBattle:: @ 817610F .string "No matter!\n" .string "My brothers will avenge me!$" -Text_176136:: @ 8176136 +SilphCo_6F_Text_TaylorIntro:: @ 8176136 .string "That rotten PRESIDENT!\p" .string "Serves him right for shipping me\n" .string "off to the TIKSI BRANCH!\p" .string "That's why TEAM ROCKET came after\n" .string "us, I'm sure of it!$" -Text_1761BD:: @ 81761BD +SilphCo_6F_Text_TaylorDefeat:: @ 81761BD .string "Shoot!$" -gUnknown_81761C4:: @ 81761C4 +SilphCo_6F_Text_TaylorPostBattle:: @ 81761C4 .string "TIKSI BRANCH?\n" .string "It's in Russian no-man's-land!$" -Text_1761F1:: @ 81761F1 +SilphCo_6F_Text_Grunt2Intro:: @ 81761F1 .string "You dare betray TEAM ROCKET?$" -Text_17620E:: @ 817620E +SilphCo_6F_Text_Grunt2Defeat:: @ 817620E .string "You traitor!$" -gUnknown_817621B:: @ 817621B +SilphCo_6F_Text_Grunt2PostBattle:: @ 817621B .string "If you stand for justice, you\n" .string "betray us bad guys!$" -gUnknown_817624D:: @ 817624D +SilphCo_6F_Text_FloorSign:: @ 817624D .string "SILPH CO. HEAD OFFICE\n" .string "6F$" diff --git a/data/maps/SilphCo_7F/map.json b/data/maps/SilphCo_7F/map.json index 87a1a413c..0c1a78b97 100644 --- a/data/maps/SilphCo_7F/map.json +++ b/data/maps/SilphCo_7F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SILPH_CO", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 7, - "elevator_flag": 7, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 7, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BLUE", + "graphics_id": "OBJ_EVENT_GFX_BLUE", "x": 2, "y": 6, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "FLAG_HIDE_SILPH_RIVAL" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 0, "y": 7, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SilphCo_7F_EventScript_161AC8", + "script": "SilphCo_7F_EventScript_LaprasGuy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 24, "y": 5, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "SilphCo_7F_EventScript_161C1A", + "script": "SilphCo_7F_EventScript_Grunt1", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 24, "y": 15, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "SilphCo_7F_EventScript_161C31", + "script": "SilphCo_7F_EventScript_Grunt2", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 13, "y": 4, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SilphCo_7F_EventScript_161C48", + "script": "SilphCo_7F_EventScript_Grunt3", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_F", + "graphics_id": "OBJ_EVENT_GFX_WORKER_F", "x": 10, "y": 10, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SilphCo_7F_EventScript_161BD9", + "script": "SilphCo_7F_EventScript_WorkerF", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 13, "y": 14, "elevation": 3, @@ -101,11 +103,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SilphCo_7F_EventScript_161B97", + "script": "SilphCo_7F_EventScript_WorkerM1", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 9, "y": 14, "elevation": 3, @@ -114,11 +116,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SilphCo_7F_EventScript_161BB8", + "script": "SilphCo_7F_EventScript_WorkerM2", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 3, "y": 13, "elevation": 3, @@ -127,11 +129,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SilphCo_7F_EventScript_161C03", + "script": "SilphCo_7F_EventScript_Joshua", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 0, "y": 12, "elevation": 3, @@ -144,7 +146,7 @@ "flag": "FLAG_HIDE_SILPH_CO_7F_CALCIUM" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 30, "y": 11, "elevation": 3, @@ -209,7 +211,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_SILPH_CO_7F", "var_value": 0, - "script": "SilphCo_7F_EventScript_1619BC" + "script": "SilphCo_7F_EventScript_RivalTriggerTop" }, { "type": "trigger", @@ -218,92 +220,104 @@ "elevation": 3, "var": "VAR_MAP_SCENE_SILPH_CO_7F", "var_value": 0, - "script": "SilphCo_7F_EventScript_1619C8" + "script": "SilphCo_7F_EventScript_RivalTriggerBottom" } ], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 11, "y": 8, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_7F_EventScript_Door1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 8, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_7F_EventScript_Door1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 11, "y": 9, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_7F_EventScript_Door1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 9, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_7F_EventScript_Door1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 24, "y": 7, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_7F_EventScript_Door2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 25, "y": 7, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_7F_EventScript_Door2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 25, "y": 8, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_7F_EventScript_Door2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 24, "y": 8, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_7F_EventScript_Door2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 25, "y": 13, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_7F_EventScript_Door3" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 26, "y": 13, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_7F_EventScript_Door3" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 25, "y": 14, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_7F_EventScript_Door3" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 26, "y": 14, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_7F_EventScript_Door3" }, { @@ -317,11 +331,12 @@ "underfoot": false }, { - "type": "bg_event_type_0", + "type": "sign", "x": 20, "y": 1, "elevation": 0, - "script": "SilphCo_7F_EventScript_161BFA" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SilphCo_7F_EventScript_FloorSign" } ] } diff --git a/data/maps/SilphCo_7F/scripts.inc b/data/maps/SilphCo_7F/scripts.inc index 9ca4f31ec..0bfac0151 100644 --- a/data/maps/SilphCo_7F/scripts.inc +++ b/data/maps/SilphCo_7F/scripts.inc @@ -11,30 +11,26 @@ SilphCo_7F_OnLoad:: @ 816198F SilphCo_7F_OnTransition:: @ 81619AB compare VAR_MAP_SCENE_SILPH_CO_11F, 1 - call_if_ge EventScript_1619B7 + call_if_ge SilphCo_7F_EventScript_SetObjRocketsGone end -EventScript_1619B7:: @ 81619B7 - setobjectmovementtype 8, 7 +SilphCo_7F_EventScript_SetObjRocketsGone:: @ 81619B7 + setobjectmovementtype 8, MOVEMENT_TYPE_FACE_UP return -SilphCo_7F_EventScript_1619BC:: @ 81619BC +SilphCo_7F_EventScript_RivalTriggerTop:: @ 81619BC lockall setvar VAR_TEMP_1, 0 - goto EventScript_1619D4 - -EventScript_1619C7:: @ 81619C7 + goto SilphCo_7F_EventScript_RivalScene end -SilphCo_7F_EventScript_1619C8:: @ 81619C8 +SilphCo_7F_EventScript_RivalTriggerBottom:: @ 81619C8 lockall setvar VAR_TEMP_1, 1 - goto EventScript_1619D4 - -EventScript_1619D3:: @ 81619D3 + goto SilphCo_7F_EventScript_RivalScene end -EventScript_1619D4:: @ 81619D4 +SilphCo_7F_EventScript_RivalScene:: @ 81619D4 textcolor 0 playbgm MUS_RIVAL1, 0 applymovement 1, Movement_ExclamationMark @@ -42,26 +38,26 @@ EventScript_1619D4:: @ 81619D4 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestDown applymovement 1, Movement_Delay48 waitmovement 0 - msgbox gUnknown_8176710 + msgbox SilphCo_7F_Text_RivalWhatKeptYou compare VAR_TEMP_1, 0 - call_if_eq EventScript_161A73 + call_if_eq SilphCo_7F_EventScript_RivalApproachTop compare VAR_TEMP_1, 1 - call_if_eq EventScript_161A7F - msgbox gUnknown_8176727 + call_if_eq SilphCo_7F_EventScript_RivalApproachBottom + msgbox SilphCo_7F_Text_RivalIntro setvar VAR_LAST_TALKED, 1 compare VAR_STARTER_MON, 2 - call_if_eq EventScript_161A80 + call_if_eq SilphCo_7F_EventScript_RivalSquirtle compare VAR_STARTER_MON, 1 - call_if_eq EventScript_161A8B + call_if_eq SilphCo_7F_EventScript_RivalBulbasaur compare VAR_STARTER_MON, 0 - call_if_eq EventScript_161A96 - msgbox gUnknown_8176827 + call_if_eq SilphCo_7F_EventScript_RivalCharmander + msgbox SilphCo_7F_Text_RivalPostBattle closemessage playbgm MUS_RIVAL2, 0 compare VAR_TEMP_1, 0 - call_if_eq EventScript_161AA1 + call_if_eq SilphCo_7F_EventScript_RivalExitTop compare VAR_TEMP_1, 1 - call_if_eq EventScript_161AAC + call_if_eq SilphCo_7F_EventScript_RivalExitBottom playse SE_TK_WARPIN fadedefaultbgm removeobject 1 @@ -70,42 +66,42 @@ EventScript_1619D4:: @ 81619D4 releaseall end -EventScript_161A73:: @ 8161A73 +SilphCo_7F_EventScript_RivalApproachTop:: @ 8161A73 closemessage - applymovement 1, Movement_161AB7 + applymovement 1, SilphCo_7F_Movement_RivalApproachTop waitmovement 0 return -EventScript_161A7F:: @ 8161A7F +SilphCo_7F_EventScript_RivalApproachBottom:: @ 8161A7F return -EventScript_161A80:: @ 8161A80 - trainerbattle_no_intro TRAINER_RIVAL_SILPH_SQUIRTLE, Text_1767D0 +SilphCo_7F_EventScript_RivalSquirtle:: @ 8161A80 + trainerbattle_no_intro TRAINER_RIVAL_SILPH_SQUIRTLE, SilphCo_7F_Text_RivalDefeat return -EventScript_161A8B:: @ 8161A8B - trainerbattle_no_intro TRAINER_RIVAL_SILPH_BULBASAUR, Text_1767D0 +SilphCo_7F_EventScript_RivalBulbasaur:: @ 8161A8B + trainerbattle_no_intro TRAINER_RIVAL_SILPH_BULBASAUR, SilphCo_7F_Text_RivalDefeat return -EventScript_161A96:: @ 8161A96 - trainerbattle_no_intro TRAINER_RIVAL_SILPH_CHARMANDER, Text_1767D0 +SilphCo_7F_EventScript_RivalCharmander:: @ 8161A96 + trainerbattle_no_intro TRAINER_RIVAL_SILPH_CHARMANDER, SilphCo_7F_Text_RivalDefeat return -EventScript_161AA1:: @ 8161AA1 - applymovement 1, Movement_161AB9 +SilphCo_7F_EventScript_RivalExitTop:: @ 8161AA1 + applymovement 1, SilphCo_7F_Movement_RivalExitTop waitmovement 0 return -EventScript_161AAC:: @ 8161AAC - applymovement 1, Movement_161ABF +SilphCo_7F_EventScript_RivalExitBottom:: @ 8161AAC + applymovement 1, SilphCo_7F_Movement_RivalExitBottom waitmovement 0 return -Movement_161AB7:: @ 8161AB7 +SilphCo_7F_Movement_RivalApproachTop:: @ 8161AB7 walk_up step_end -Movement_161AB9:: @ 8161AB9 +SilphCo_7F_Movement_RivalExitTop:: @ 8161AB9 walk_right walk_right walk_right @@ -113,7 +109,7 @@ Movement_161AB9:: @ 8161AB9 delay_16 step_end -Movement_161ABF:: @ 8161ABF +SilphCo_7F_Movement_RivalExitBottom:: @ 8161ABF walk_left walk_up walk_up @@ -124,136 +120,130 @@ Movement_161ABF:: @ 8161ABF delay_16 step_end -SilphCo_7F_EventScript_161AC8:: @ 8161AC8 +SilphCo_7F_EventScript_LaprasGuy:: @ 8161AC8 lock faceplayer - goto_if_set FLAG_GOT_LAPRAS_FROM_SILPH, EventScript_161B8D - msgbox gUnknown_8176266 + goto_if_set FLAG_GOT_LAPRAS_FROM_SILPH, SilphCo_7F_EventScript_AlreadyGotLapras + msgbox SilphCo_7F_Text_HaveMonForSavingUs setvar VAR_TEMP_1, SPECIES_LAPRAS givemon SPECIES_LAPRAS, 25, ITEM_NONE compare VAR_RESULT, 0 - goto_if_eq EventScript_161B12 + goto_if_eq SilphCo_7F_EventScript_ReceiveLaprasParty compare VAR_RESULT, 1 - goto_if_eq EventScript_161B45 + goto_if_eq SilphCo_7F_EventScript_ReceiveLaprasPC compare VAR_RESULT, 2 goto_if_eq EventScript_NoMoreRoomForPokemon release end -EventScript_161B12:: @ 8161B12 +SilphCo_7F_EventScript_ReceiveLaprasParty:: @ 8161B12 textcolor 3 playfanfare MUS_FANFA1 - message Text_1762D7 + message SilphCo_7F_Text_ObtainedLaprasFromEmployee waitmessage waitfanfare getspeciesname 0, SPECIES_LAPRAS msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_161B7E + goto_if_eq SilphCo_7F_EventScript_EndReceiveLapras call EventScript_GetGiftMonPartySlot call EventScript_ChangePokemonNickname - goto EventScript_161B7E - -EventScript_161B44:: @ 8161B44 + goto SilphCo_7F_EventScript_EndReceiveLapras end -EventScript_161B45:: @ 8161B45 +SilphCo_7F_EventScript_ReceiveLaprasPC:: @ 8161B45 textcolor 3 playfanfare MUS_FANFA1 - message Text_1762D7 + message SilphCo_7F_Text_ObtainedLaprasFromEmployee waitmessage waitfanfare getspeciesname 0, SPECIES_LAPRAS msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_161B73 + goto_if_eq SilphCo_7F_EventScript_LaprasTransferredToPC call EventScript_NameReceivedBoxMon - goto EventScript_161B73 - -EventScript_161B72:: @ 8161B72 + goto SilphCo_7F_EventScript_LaprasTransferredToPC end -EventScript_161B73:: @ 8161B73 +SilphCo_7F_EventScript_LaprasTransferredToPC:: @ 8161B73 call EventScript_TransferredToPC - goto EventScript_161B7E - -EventScript_161B7D:: @ 8161B7D + goto SilphCo_7F_EventScript_EndReceiveLapras end -EventScript_161B7E:: @ 8161B7E +SilphCo_7F_EventScript_EndReceiveLapras:: @ 8161B7E textcolor 0 - msgbox gUnknown_8176305 + msgbox SilphCo_7F_Text_ExplainLapras setflag FLAG_GOT_LAPRAS_FROM_SILPH release end -EventScript_161B8D:: @ 8161B8D - msgbox gUnknown_81763DD +SilphCo_7F_EventScript_AlreadyGotLapras:: @ 8161B8D + msgbox SilphCo_7F_Text_RocketBossWentToBoardroom release end -SilphCo_7F_EventScript_161B97:: @ 8161B97 +SilphCo_7F_EventScript_WorkerM1:: @ 8161B97 lock faceplayer compare VAR_MAP_SCENE_SILPH_CO_11F, 1 - goto_if_ge EventScript_161BAE - msgbox gUnknown_8176444 + goto_if_ge SilphCo_7F_EventScript_WorkerM1RocketsGone + msgbox SilphCo_7F_Text_RocketsAfterMasterBall release end -EventScript_161BAE:: @ 8161BAE - msgbox gUnknown_8176486 +SilphCo_7F_EventScript_WorkerM1RocketsGone:: @ 8161BAE + msgbox SilphCo_7F_Text_CanceledMasterBallProject release end -SilphCo_7F_EventScript_161BB8:: @ 8161BB8 +SilphCo_7F_EventScript_WorkerM2:: @ 8161BB8 lock faceplayer compare VAR_MAP_SCENE_SILPH_CO_11F, 1 - goto_if_ge EventScript_161BCF - msgbox gUnknown_81764C2 + goto_if_ge SilphCo_7F_EventScript_WorkerM2RocketsGone + msgbox SilphCo_7F_Text_BadIfTeamRocketTookOver release end -EventScript_161BCF:: @ 8161BCF - msgbox gUnknown_8176501 +SilphCo_7F_EventScript_WorkerM2RocketsGone:: @ 8161BCF + msgbox SilphCo_7F_Text_WowYouChasedOffTeamRocket release end -SilphCo_7F_EventScript_161BD9:: @ 8161BD9 +SilphCo_7F_EventScript_WorkerF:: @ 8161BD9 lock faceplayer compare VAR_MAP_SCENE_SILPH_CO_11F, 1 - goto_if_ge EventScript_161BF0 - msgbox gUnknown_8176532 + goto_if_ge SilphCo_7F_EventScript_WorkerFRocketsGone + msgbox SilphCo_7F_Text_ReallyDangerousHere release end -EventScript_161BF0:: @ 8161BF0 - msgbox gUnknown_8176573 +SilphCo_7F_EventScript_WorkerFRocketsGone:: @ 8161BF0 + msgbox SilphCo_7F_Text_ThankYouSoMuch release end -SilphCo_7F_EventScript_161BFA:: @ 8161BFA - msgbox gUnknown_8176954, MSGBOX_SIGN +SilphCo_7F_EventScript_FloorSign:: @ 8161BFA + msgbox SilphCo_7F_Text_FloorSign, MSGBOX_SIGN end -SilphCo_7F_EventScript_161C03:: @ 8161C03 - trainerbattle_single TRAINER_SCIENTIST_JOSHUA, Text_1765E2, Text_17660C - msgbox gUnknown_8176616, MSGBOX_AUTOCLOSE +SilphCo_7F_EventScript_Joshua:: @ 8161C03 + trainerbattle_single TRAINER_SCIENTIST_JOSHUA, SilphCo_7F_Text_JoshuaIntro, SilphCo_7F_Text_JoshuaDefeat + msgbox SilphCo_7F_Text_JoshuaPostBattle, MSGBOX_AUTOCLOSE end -SilphCo_7F_EventScript_161C1A:: @ 8161C1A - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_33, Text_176643, Text_176669 - msgbox gUnknown_8176681, MSGBOX_AUTOCLOSE +SilphCo_7F_EventScript_Grunt1:: @ 8161C1A + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_33, SilphCo_7F_Text_Grunt1Intro, SilphCo_7F_Text_Grunt1Defeat + msgbox SilphCo_7F_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE end -SilphCo_7F_EventScript_161C31:: @ 8161C31 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_34, Text_1766B3, Text_1766D7 - msgbox gUnknown_81766E5, MSGBOX_AUTOCLOSE +SilphCo_7F_EventScript_Grunt2:: @ 8161C31 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_34, SilphCo_7F_Text_Grunt2Intro, SilphCo_7F_Text_Grunt2Defeat + msgbox SilphCo_7F_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE end -SilphCo_7F_EventScript_161C48:: @ 8161C48 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_35, Text_176586, Text_1765A5 - msgbox gUnknown_81765B1, MSGBOX_AUTOCLOSE +SilphCo_7F_EventScript_Grunt3:: @ 8161C48 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_35, SilphCo_7F_Text_Grunt3Intro, SilphCo_7F_Text_Grunt3Defeat + msgbox SilphCo_7F_Text_Grunt3PostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/SilphCo_7F/text.inc b/data/maps/SilphCo_7F/text.inc index d977d816e..27e01c4a5 100644 --- a/data/maps/SilphCo_7F/text.inc +++ b/data/maps/SilphCo_7F/text.inc @@ -1,15 +1,15 @@ -gUnknown_8176266:: @ 8176266 +SilphCo_7F_Text_HaveMonForSavingUs:: @ 8176266 .string "Oh! Hi! You're not a ROCKET!\n" .string "You came to save us?\l" .string "Why, thank you!\p" .string "I want you to have this POKéMON\n" .string "for saving us.$" -Text_1762D7:: @ 81762D7 +SilphCo_7F_Text_ObtainedLaprasFromEmployee:: @ 81762D7 .string "{PLAYER} obtained a LAPRAS from\n" .string "the SILPH employee!$" -gUnknown_8176305:: @ 8176305 +SilphCo_7F_Text_ExplainLapras:: @ 8176305 .string "It's a LAPRAS.\n" .string "It's a very intelligent POKéMON.\p" .string "We kept it in our lab, but it will\n" @@ -19,94 +19,94 @@ gUnknown_8176305:: @ 8176305 .string "It's a good swimmer.\n" .string "It'll give you a lift across water!$" -gUnknown_81763DD:: @ 81763DD +SilphCo_7F_Text_RocketBossWentToBoardroom:: @ 81763DD .string "TEAM ROCKET's BOSS went to the\n" .string "boardroom!\p" .string "Is our PRESIDENT okay?\n" .string "I'm worried.$" -Text_17642B:: @ 817642B +SilphCo_7F_Text_OhNo:: @ 817642B .string "あ‥ もう もてないぞ$" -Text_176437:: @ 8176437 +SilphCo_7F_Text_SavedAtLast:: @ 8176437 .string "たすかったよ ありがと!$" -gUnknown_8176444:: @ 8176444 +SilphCo_7F_Text_RocketsAfterMasterBall:: @ 8176444 .string "TEAM ROCKET was after the MASTER\n" .string "BALL, which catches any POKéMON.$" -gUnknown_8176486:: @ 8176486 +SilphCo_7F_Text_CanceledMasterBallProject:: @ 8176486 .string "We canceled the MASTER BALL\n" .string "project because of TEAM ROCKET.$" -gUnknown_81764C2:: @ 81764C2 +SilphCo_7F_Text_BadIfTeamRocketTookOver:: @ 81764C2 .string "It would be bad if TEAM ROCKET\n" .string "took over SILPH or our POKéMON.$" -gUnknown_8176501:: @ 8176501 +SilphCo_7F_Text_WowYouChasedOffTeamRocket:: @ 8176501 .string "Wow!\p" .string "You chased off TEAM ROCKET all by\n" .string "yourself?$" -gUnknown_8176532:: @ 8176532 +SilphCo_7F_Text_ReallyDangerousHere:: @ 8176532 .string "You!\n" .string "It's really dangerous here!\p" .string "You came to save me?\n" .string "You can't!$" -gUnknown_8176573:: @ 8176573 +SilphCo_7F_Text_ThankYouSoMuch:: @ 8176573 .string "Thank you so much!$" -Text_176586:: @ 8176586 +SilphCo_7F_Text_Grunt3Intro:: @ 8176586 .string "Uh-oh!\n" .string "I smell a little mouse!$" -Text_1765A5:: @ 81765A5 +SilphCo_7F_Text_Grunt3Defeat:: @ 81765A5 .string "Lights out!$" -gUnknown_81765B1:: @ 81765B1 +SilphCo_7F_Text_Grunt3PostBattle:: @ 81765B1 .string "You won't find my BOSS by just\n" .string "scurrying around!$" -Text_1765E2:: @ 81765E2 +SilphCo_7F_Text_JoshuaIntro:: @ 81765E2 .string "Heheh!\p" .string "You mistook me for a SILPH worker?$" -Text_17660C:: @ 817660C +SilphCo_7F_Text_JoshuaDefeat:: @ 817660C .string "I'm done!$" -gUnknown_8176616:: @ 8176616 +SilphCo_7F_Text_JoshuaPostBattle:: @ 8176616 .string "Despite your age, you are a\n" .string "skilled TRAINER!$" -Text_176643:: @ 8176643 +SilphCo_7F_Text_Grunt1Intro:: @ 8176643 .string "I am one of the four ROCKET\n" .string "BROTHERS!$" -Text_176669:: @ 8176669 +SilphCo_7F_Text_Grunt1Defeat:: @ 8176669 .string "Aack!\n" .string "Brothers, I lost!$" -gUnknown_8176681:: @ 8176681 +SilphCo_7F_Text_Grunt1PostBattle:: @ 8176681 .string "Doesn't matter.\n" .string "My brothers will repay the favor!$" -Text_1766B3:: @ 81766B3 +SilphCo_7F_Text_Grunt2Intro:: @ 81766B3 .string "A child intruder?\n" .string "That must be you!$" -Text_1766D7:: @ 81766D7 +SilphCo_7F_Text_Grunt2Defeat:: @ 81766D7 .string "Fine!\n" .string "I lost!$" -gUnknown_81766E5:: @ 81766E5 +SilphCo_7F_Text_Grunt2PostBattle:: @ 81766E5 .string "Go on home before my BOSS gets\n" .string "ticked off!$" -gUnknown_8176710:: @ 8176710 +SilphCo_7F_Text_RivalWhatKeptYou:: @ 8176710 .string "{RIVAL}: What kept you, {PLAYER}?$" -gUnknown_8176727:: @ 8176727 +SilphCo_7F_Text_RivalIntro:: @ 8176727 .string "{RIVAL}: Hahaha! I thought you'd\n" .string "turn up if I waited here!\p" .string "I guess TEAM ROCKET slowed you\n" @@ -114,18 +114,18 @@ gUnknown_8176727:: @ 8176727 .string "I saw you in SAFFRON, so I decided\n" .string "to see if you got better!$" -Text_1767D0:: @ 81767D0 +SilphCo_7F_Text_RivalDefeat:: @ 81767D0 .string "Oh, man!\n" .string "So, you are ready for BOSS\l" .string "ROCKET!$" -Text_1767FC:: @ 81767FC +SilphCo_7F_Text_RivalVictory:: @ 81767FC .string "{RIVAL}“おまえなあ‥\p" .string "こんな うでまえじゃ\n" .string "まだまだ‥\l" .string "いちにんまえ とは いえないぜ$" -gUnknown_8176827:: @ 8176827 +SilphCo_7F_Text_RivalPostBattle:: @ 8176827 .string "Well, {PLAYER}!\n" .string "I'm moving on up and ahead!\p" .string "By checking my POKéDEX, I'm\n" @@ -140,7 +140,7 @@ gUnknown_8176827:: @ 8176827 .string "Don't sweat it!\l" .string "Smell ya!$" -gUnknown_8176954:: @ 8176954 +SilphCo_7F_Text_FloorSign:: @ 8176954 .string "SILPH CO. HEAD OFFICE\n" .string "7F$" diff --git a/data/maps/SilphCo_8F/map.json b/data/maps/SilphCo_8F/map.json index ef04548df..da5fb3f35 100644 --- a/data/maps/SilphCo_8F/map.json +++ b/data/maps/SilphCo_8F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SILPH_CO", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 7, - "elevator_flag": 8, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 8, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 28, "y": 5, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "SilphCo_8F_EventScript_161CB0", + "script": "SilphCo_8F_EventScript_Grunt1", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 10, "y": 17, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "SilphCo_8F_EventScript_161CC7", + "script": "SilphCo_8F_EventScript_Grunt2", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 9, "y": 4, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "SilphCo_8F_EventScript_161C99", + "script": "SilphCo_8F_EventScript_Parker", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_M", + "graphics_id": "OBJ_EVENT_GFX_WORKER_M", "x": 2, "y": 5, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SilphCo_8F_EventScript_161C6F", + "script": "SilphCo_8F_EventScript_WorkerM", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 24, "y": 8, "elevation": 3, @@ -79,7 +81,7 @@ "flag": "FLAG_HIDE_SILPH_CO_8F_IRON" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 29, "y": 9, "elevation": 3, @@ -88,7 +90,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SilphCo_8F_EventScript_1AD0ED", + "script": "SilphCo_8F_EventScript_Scientist", "flag": "0" } ], @@ -146,31 +148,35 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 6, "y": 10, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_8F_EventScript_Door" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 6, "y": 11, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_8F_EventScript_Door" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 11, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_8F_EventScript_Door" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 10, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_8F_EventScript_Door" }, { @@ -184,11 +190,12 @@ "underfoot": false }, { - "type": "bg_event_type_0", + "type": "sign", "x": 27, "y": 1, "elevation": 0, - "script": "SilphCo_8F_EventScript_161C90" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SilphCo_8F_EventScript_FloorSign" } ] } diff --git a/data/maps/SilphCo_8F/scripts.inc b/data/maps/SilphCo_8F/scripts.inc index f96188c3f..d888f339e 100644 --- a/data/maps/SilphCo_8F/scripts.inc +++ b/data/maps/SilphCo_8F/scripts.inc @@ -6,35 +6,35 @@ SilphCo_8F_OnLoad:: @ 8161C65 call_if_unset FLAG_SILPH_8F_DOOR, EventScript_Close8FDoor end -SilphCo_8F_EventScript_161C6F:: @ 8161C6F +SilphCo_8F_EventScript_WorkerM:: @ 8161C6F lock faceplayer compare VAR_MAP_SCENE_SILPH_CO_11F, 1 - goto_if_ge EventScript_161C86 - msgbox gUnknown_817696D + goto_if_ge SilphCo_8F_EventScript_WorkerMRocketsGone + msgbox SilphCo_8F_Text_WonderIfSilphIsFinished release end -EventScript_161C86:: @ 8161C86 - msgbox gUnknown_817698C +SilphCo_8F_EventScript_WorkerMRocketsGone:: @ 8161C86 + msgbox SilphCo_8F_Text_ThanksForSavingUs release end -SilphCo_8F_EventScript_161C90:: @ 8161C90 - msgbox gUnknown_8176AB2, MSGBOX_SIGN +SilphCo_8F_EventScript_FloorSign:: @ 8161C90 + msgbox SilphCo_8F_Text_FloorSign, MSGBOX_SIGN end -SilphCo_8F_EventScript_161C99:: @ 8161C99 - trainerbattle_single TRAINER_SCIENTIST_PARKER, Text_1769FD, Text_176A19 - msgbox gUnknown_8176A26, MSGBOX_AUTOCLOSE +SilphCo_8F_EventScript_Parker:: @ 8161C99 + trainerbattle_single TRAINER_SCIENTIST_PARKER, SilphCo_8F_Text_ParkerIntro, SilphCo_8F_Text_ParkerDefeat + msgbox SilphCo_8F_Text_ParkerPostBattle, MSGBOX_AUTOCLOSE end -SilphCo_8F_EventScript_161CB0:: @ 8161CB0 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_32, Text_1769A2, Text_1769BE - msgbox gUnknown_81769CF, MSGBOX_AUTOCLOSE +SilphCo_8F_EventScript_Grunt1:: @ 8161CB0 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_32, SilphCo_8F_Text_Grunt1Intro, SilphCo_8F_Text_Grunt1Defeat + msgbox SilphCo_8F_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE end -SilphCo_8F_EventScript_161CC7:: @ 8161CC7 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_36, Text_176A56, Text_176A7C - msgbox gUnknown_8176A90, MSGBOX_AUTOCLOSE +SilphCo_8F_EventScript_Grunt2:: @ 8161CC7 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_36, SilphCo_8F_Text_Grunt2Intro, SilphCo_8F_Text_Grunt2Defeat + msgbox SilphCo_8F_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/SilphCo_8F/text.inc b/data/maps/SilphCo_8F/text.inc index 858d5da17..9144cda4e 100644 --- a/data/maps/SilphCo_8F/text.inc +++ b/data/maps/SilphCo_8F/text.inc @@ -1,42 +1,49 @@ -gUnknown_817696D:: @ 817696D +SilphCo_8F_Text_WonderIfSilphIsFinished:: @ 817696D .string "I wonder if SILPH is finished…$" -gUnknown_817698C:: @ 817698C +SilphCo_8F_Text_ThanksForSavingUs:: @ 817698C .string "Thanks for saving us!$" -Text_1769A2:: @ 81769A2 +SilphCo_8F_Text_Grunt1Intro:: @ 81769A2 .string "That's as far as you'll go!$" -Text_1769BE:: @ 81769BE +SilphCo_8F_Text_Grunt1Defeat:: @ 81769BE .string "Not enough grit!$" -gUnknown_81769CF:: @ 81769CF +SilphCo_8F_Text_Grunt1PostBattle:: @ 81769CF .string "If you don't turn back…\n" .string "I'll call for backup!$" -Text_1769FD:: @ 81769FD +SilphCo_8F_Text_ParkerIntro:: @ 81769FD .string "You're causing us problems!$" -Text_176A19:: @ 8176A19 +SilphCo_8F_Text_ParkerDefeat:: @ 8176A19 .string "Huh?\n" .string "I lost?$" -gUnknown_8176A26:: @ 8176A26 +SilphCo_8F_Text_ParkerPostBattle:: @ 8176A26 .string "So, what do you think of SILPH\n" .string "BUILDING's maze?$" -Text_176A56:: @ 8176A56 +SilphCo_8F_Text_Grunt2Intro:: @ 8176A56 .string "I am one of the four ROCKET\n" .string "BROTHERS!$" -Text_176A7C:: @ 8176A7C +SilphCo_8F_Text_Grunt2Defeat:: @ 8176A7C .string "Whoo!\n" .string "Oh, Brothers!$" -gUnknown_8176A90:: @ 8176A90 +SilphCo_8F_Text_Grunt2PostBattle:: @ 8176A90 .string "I'll leave you up to my brothers.$" -gUnknown_8176AB2:: @ 8176AB2 +SilphCo_8F_Text_FloorSign:: @ 8176AB2 .string "SILPH CO. HEAD OFFICE\n" .string "8F$" +SilphCo_8F_Text_ToRocketBossMonsAreTools:: @ 8176ACB + .string "TEAM ROCKET's BOSS is terribly\n" + .string "cruel!\p" + .string "To him, POKéMON are just tools to\n" + .string "be used.\p" + .string "What will happen if that tyrant\n" + .string "takes over our company…$" diff --git a/data/maps/SilphCo_9F/map.json b/data/maps/SilphCo_9F/map.json index e8f39eba5..d242f5d78 100644 --- a/data/maps/SilphCo_9F/map.json +++ b/data/maps/SilphCo_9F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SILPH_CO", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 7, - "elevator_flag": 9, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 9, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 26, "y": 16, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "SilphCo_9F_EventScript_161D41", + "script": "SilphCo_9F_EventScript_Ed", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 15, "y": 18, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SilphCo_9F_EventScript_161D6F", + "script": "SilphCo_9F_EventScript_Grunt2", "flag": "FLAG_HIDE_SILPH_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 2, "y": 16, "elevation": 0, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SilphCo_9F_EventScript_161D09", + "script": "SilphCo_9F_EventScript_HealWoman", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 1, "y": 6, "elevation": 3, @@ -62,7 +64,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "SilphCo_9F_EventScript_161D58", + "script": "SilphCo_9F_EventScript_Grunt1", "flag": "FLAG_HIDE_SILPH_ROCKETS" } ], @@ -116,115 +118,131 @@ "underfoot": false }, { - "type": "bg_event_type_0", + "type": "sign", "x": 3, "y": 10, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_9F_EventScript_Door1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 3, "y": 11, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_9F_EventScript_Door1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 13, "y": 16, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_9F_EventScript_Door2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 13, "y": 17, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_9F_EventScript_Door2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 21, "y": 6, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_9F_EventScript_Door3" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 22, "y": 6, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_9F_EventScript_Door3" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 22, "y": 7, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_9F_EventScript_Door3" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 21, "y": 7, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_9F_EventScript_Door3" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 21, "y": 13, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_9F_EventScript_Door4" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 21, "y": 12, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_9F_EventScript_Door4" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 22, "y": 12, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_9F_EventScript_Door4" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 22, "y": 13, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_9F_EventScript_Door4" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 2, "y": 11, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_9F_EventScript_Door1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 2, "y": 10, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_9F_EventScript_Door1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 16, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_9F_EventScript_Door2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 17, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "SilphCo_9F_EventScript_Door2" }, { @@ -238,11 +256,12 @@ "underfoot": false }, { - "type": "bg_event_type_0", + "type": "sign", "x": 17, "y": 1, "elevation": 0, - "script": "SilphCo_9F_EventScript_161D38" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SilphCo_9F_EventScript_FloorSign" } ] } diff --git a/data/maps/SilphCo_9F/scripts.inc b/data/maps/SilphCo_9F/scripts.inc index 7f4258b5d..5cdfc2c82 100644 --- a/data/maps/SilphCo_9F/scripts.inc +++ b/data/maps/SilphCo_9F/scripts.inc @@ -9,38 +9,38 @@ SilphCo_9F_OnLoad:: @ 8161CE4 call_if_unset FLAG_SILPH_9F_DOOR_4, EventScript_Close9FDoor4 end -SilphCo_9F_EventScript_161D09:: @ 8161D09 +SilphCo_9F_EventScript_HealWoman:: @ 8161D09 lock faceplayer compare VAR_MAP_SCENE_SILPH_CO_11F, 1 - goto_if_ge EventScript_161D2E - msgbox gUnknown_8176B54 + goto_if_ge SilphCo_9F_EventScript_HealWomanRocketsGone + msgbox SilphCo_9F_Text_YouShouldTakeQuickNap closemessage call EventScript_OutOfCenterPartyHeal - msgbox gUnknown_8176B81 + msgbox SilphCo_9F_Text_DontGiveUp release end -EventScript_161D2E:: @ 8161D2E - msgbox gUnknown_8176B90 +SilphCo_9F_EventScript_HealWomanRocketsGone:: @ 8161D2E + msgbox SilphCo_9F_Text_ThankYouSoMuch release end -SilphCo_9F_EventScript_161D38:: @ 8161D38 - msgbox gUnknown_8176CD4, MSGBOX_SIGN +SilphCo_9F_EventScript_FloorSign:: @ 8161D38 + msgbox SilphCo_9F_Text_FloorSign, MSGBOX_SIGN end -SilphCo_9F_EventScript_161D41:: @ 8161D41 - trainerbattle_single TRAINER_SCIENTIST_ED, Text_176BFB, Text_176C2B - msgbox gUnknown_8176C3C, MSGBOX_AUTOCLOSE +SilphCo_9F_EventScript_Ed:: @ 8161D41 + trainerbattle_single TRAINER_SCIENTIST_ED, SilphCo_9F_Text_EdIntro, SilphCo_9F_Text_EdDefeat + msgbox SilphCo_9F_Text_EdPostBattle, MSGBOX_AUTOCLOSE end -SilphCo_9F_EventScript_161D58:: @ 8161D58 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_37, Text_176BA3, Text_176BC8 - msgbox gUnknown_8176BD0, MSGBOX_AUTOCLOSE +SilphCo_9F_EventScript_Grunt1:: @ 8161D58 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_37, SilphCo_9F_Text_Grunt1Intro, SilphCo_9F_Text_Grunt1Defeat + msgbox SilphCo_9F_Text_Grunt1PostBattle, MSGBOX_AUTOCLOSE end -SilphCo_9F_EventScript_161D6F:: @ 8161D6F - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_38, Text_176C7A, Text_176CA0 - msgbox gUnknown_8176CB8, MSGBOX_AUTOCLOSE +SilphCo_9F_EventScript_Grunt2:: @ 8161D6F + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_38, SilphCo_9F_Text_Grunt2Intro, SilphCo_9F_Text_Grunt2Defeat + msgbox SilphCo_9F_Text_Grunt2PostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/SilphCo_9F/text.inc b/data/maps/SilphCo_9F/text.inc index bf400f768..f89262090 100644 --- a/data/maps/SilphCo_9F/text.inc +++ b/data/maps/SilphCo_9F/text.inc @@ -1,55 +1,47 @@ -Text_176ACB:: @ 8176ACB - .string "TEAM ROCKET's BOSS is terribly\n" - .string "cruel!\p" - .string "To him, POKéMON are just tools to\n" - .string "be used.\p" - .string "What will happen if that tyrant\n" - .string "takes over our company…$" - -gUnknown_8176B54:: @ 8176B54 +SilphCo_9F_Text_YouShouldTakeQuickNap:: @ 8176B54 .string "You look tired.\n" .string "You should take a quick nap.$" -gUnknown_8176B81:: @ 8176B81 +SilphCo_9F_Text_DontGiveUp:: @ 8176B81 .string "Don't give up!$" -gUnknown_8176B90:: @ 8176B90 +SilphCo_9F_Text_ThankYouSoMuch:: @ 8176B90 .string "Thank you so much.$" -Text_176BA3:: @ 8176BA3 +SilphCo_9F_Text_Grunt1Intro:: @ 8176BA3 .string "Your POKéMON seem to adore you,\n" .string "kid!$" -Text_176BC8:: @ 8176BC8 +SilphCo_9F_Text_Grunt1Defeat:: @ 8176BC8 .string "Ghaaah!$" -gUnknown_8176BD0:: @ 8176BD0 +SilphCo_9F_Text_Grunt1PostBattle:: @ 8176BD0 .string "If I had started as a TRAINER at\n" .string "your age…$" -Text_176BFB:: @ 8176BFB +SilphCo_9F_Text_EdIntro:: @ 8176BFB .string "Your POKéMON have weak points!\n" .string "I can nail them!$" -Text_176C2B:: @ 8176C2B +SilphCo_9F_Text_EdDefeat:: @ 8176C2B .string "You hammered me!$" -gUnknown_8176C3C:: @ 8176C3C +SilphCo_9F_Text_EdPostBattle:: @ 8176C3C .string "Exploiting weak spots does work.\n" .string "Think about type advantages.$" -Text_176C7A:: @ 8176C7A +SilphCo_9F_Text_Grunt2Intro:: @ 8176C7A .string "I am one of the four ROCKET\n" .string "BROTHERS!$" -Text_176CA0:: @ 8176CA0 +SilphCo_9F_Text_Grunt2Defeat:: @ 8176CA0 .string "Warg!\n" .string "Brothers, I lost!$" -gUnknown_8176CB8:: @ 8176CB8 +SilphCo_9F_Text_Grunt2PostBattle:: @ 8176CB8 .string "My brothers will avenge me!$" -gUnknown_8176CD4:: @ 8176CD4 +SilphCo_9F_Text_FloorSign:: @ 8176CD4 .string "SILPH CO. HEAD OFFICE\n" .string "9F$" diff --git a/data/maps/SilphCo_Elevator/map.json b/data/maps/SilphCo_Elevator/map.json index 815ed916e..491ca323c 100644 --- a/data/maps/SilphCo_Elevator/map.json +++ b/data/maps/SilphCo_Elevator/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_SILPH_CO", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ @@ -25,11 +27,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 0, "y": 2, "elevation": 3, - "script": "SilphCo_Elevator_EventScript_161F6F" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SilphCo_Elevator_EventScript_FloorSelect" } ] } diff --git a/data/maps/SilphCo_Elevator/scripts.inc b/data/maps/SilphCo_Elevator/scripts.inc index 87ed62c9b..9a9017004 100644 --- a/data/maps/SilphCo_Elevator/scripts.inc +++ b/data/maps/SilphCo_Elevator/scripts.inc @@ -1,176 +1,154 @@ SilphCo_Elevator_MapScripts:: @ 8161F6E .byte 0 -SilphCo_Elevator_EventScript_161F6F:: @ 8161F6F +SilphCo_Elevator_EventScript_FloorSelect:: @ 8161F6F lockall setvar VAR_0x8004, 1 - call_if_unset FLAG_TEMP_2, EventScript_1A7AB9 + call_if_unset FLAG_TEMP_2, EventScript_GetElevatorFloor copyvar VAR_0x8005, VAR_ELEVATOR_FLOOR - special Special_DrawElevatorCurrentFloorWindow + special DrawElevatorCurrentFloorWindow message Text_WantWhichFloor waitmessage setvar VAR_0x8004, LISTMENU_SILPHCO_FLOORS - specialvar VAR_RESULT, Special_InitElevatorFloorSelectMenuPos - special Special_ListMenu + specialvar VAR_RESULT, InitElevatorFloorSelectMenuPos + special ListMenu waitstate switch VAR_RESULT - case 0, EventScript_1621BF - case 1, EventScript_162197 - case 2, EventScript_16216F - case 3, EventScript_162147 - case 4, EventScript_16211F - case 5, EventScript_1620F7 - case 6, EventScript_1620CF - case 7, EventScript_1620A7 - case 8, EventScript_16207F - case 9, EventScript_162057 - case 10, EventScript_16202F - case 11, EventScript_1621E7 - case 127, EventScript_1621E7 + case 0, SilphCo_Elevator_EventScript_To11F + case 1, SilphCo_Elevator_EventScript_To10F + case 2, SilphCo_Elevator_EventScript_To9F + case 3, SilphCo_Elevator_EventScript_To8F + case 4, SilphCo_Elevator_EventScript_To7F + case 5, SilphCo_Elevator_EventScript_To6F + case 6, SilphCo_Elevator_EventScript_To5F + case 7, SilphCo_Elevator_EventScript_To4F + case 8, SilphCo_Elevator_EventScript_To3F + case 9, SilphCo_Elevator_EventScript_To2F + case 10, SilphCo_Elevator_EventScript_To1F + case 11, SilphCo_Elevator_EventScript_ExitFloorSelect + case 127, SilphCo_Elevator_EventScript_ExitFloorSelect end -EventScript_16202F:: @ 816202F +SilphCo_Elevator_EventScript_To1F:: @ 816202F setvar VAR_0x8006, 4 setdynamicwarp MAP_SILPH_CO_1F, 255, 22, 3 compare VAR_ELEVATOR_FLOOR, 4 - goto_if_eq EventScript_1621E7 - call EventScript_1621EC + goto_if_eq SilphCo_Elevator_EventScript_ExitFloorSelect + call SilphCo_Elevator_EventScript_MoveElevator setvar VAR_ELEVATOR_FLOOR, 4 - goto EventScript_1621E7 - -EventScript_162056:: @ 8162056 + goto SilphCo_Elevator_EventScript_ExitFloorSelect end -EventScript_162057:: @ 8162057 +SilphCo_Elevator_EventScript_To2F:: @ 8162057 setvar VAR_0x8006, 5 setdynamicwarp MAP_SILPH_CO_2F, 255, 22, 3 compare VAR_ELEVATOR_FLOOR, 5 - goto_if_eq EventScript_1621E7 - call EventScript_1621EC + goto_if_eq SilphCo_Elevator_EventScript_ExitFloorSelect + call SilphCo_Elevator_EventScript_MoveElevator setvar VAR_ELEVATOR_FLOOR, 5 - goto EventScript_1621E7 - -EventScript_16207E:: @ 816207E + goto SilphCo_Elevator_EventScript_ExitFloorSelect end -EventScript_16207F:: @ 816207F +SilphCo_Elevator_EventScript_To3F:: @ 816207F setvar VAR_0x8006, 6 setdynamicwarp MAP_SILPH_CO_3F, 255, 22, 3 compare VAR_ELEVATOR_FLOOR, 6 - goto_if_eq EventScript_1621E7 - call EventScript_1621EC + goto_if_eq SilphCo_Elevator_EventScript_ExitFloorSelect + call SilphCo_Elevator_EventScript_MoveElevator setvar VAR_ELEVATOR_FLOOR, 6 - goto EventScript_1621E7 - -EventScript_1620A6:: @ 81620A6 + goto SilphCo_Elevator_EventScript_ExitFloorSelect end -EventScript_1620A7:: @ 81620A7 +SilphCo_Elevator_EventScript_To4F:: @ 81620A7 setvar VAR_0x8006, 7 setdynamicwarp MAP_SILPH_CO_4F, 255, 22, 3 compare VAR_ELEVATOR_FLOOR, 7 - goto_if_eq EventScript_1621E7 - call EventScript_1621EC + goto_if_eq SilphCo_Elevator_EventScript_ExitFloorSelect + call SilphCo_Elevator_EventScript_MoveElevator setvar VAR_ELEVATOR_FLOOR, 7 - goto EventScript_1621E7 - -EventScript_1620CE:: @ 81620CE + goto SilphCo_Elevator_EventScript_ExitFloorSelect end -EventScript_1620CF:: @ 81620CF +SilphCo_Elevator_EventScript_To5F:: @ 81620CF setvar VAR_0x8006, 8 setdynamicwarp MAP_SILPH_CO_5F, 255, 22, 3 compare VAR_ELEVATOR_FLOOR, 8 - goto_if_eq EventScript_1621E7 - call EventScript_1621EC + goto_if_eq SilphCo_Elevator_EventScript_ExitFloorSelect + call SilphCo_Elevator_EventScript_MoveElevator setvar VAR_ELEVATOR_FLOOR, 8 - goto EventScript_1621E7 - -EventScript_1620F6:: @ 81620F6 + goto SilphCo_Elevator_EventScript_ExitFloorSelect end -EventScript_1620F7:: @ 81620F7 +SilphCo_Elevator_EventScript_To6F:: @ 81620F7 setvar VAR_0x8006, 9 setdynamicwarp MAP_SILPH_CO_6F, 255, 20, 3 compare VAR_ELEVATOR_FLOOR, 9 - goto_if_eq EventScript_1621E7 - call EventScript_1621EC + goto_if_eq SilphCo_Elevator_EventScript_ExitFloorSelect + call SilphCo_Elevator_EventScript_MoveElevator setvar VAR_ELEVATOR_FLOOR, 9 - goto EventScript_1621E7 - -EventScript_16211E:: @ 816211E + goto SilphCo_Elevator_EventScript_ExitFloorSelect end -EventScript_16211F:: @ 816211F +SilphCo_Elevator_EventScript_To7F:: @ 816211F setvar VAR_0x8006, 10 setdynamicwarp MAP_SILPH_CO_7F, 255, 23, 3 compare VAR_ELEVATOR_FLOOR, 10 - goto_if_eq EventScript_1621E7 - call EventScript_1621EC + goto_if_eq SilphCo_Elevator_EventScript_ExitFloorSelect + call SilphCo_Elevator_EventScript_MoveElevator setvar VAR_ELEVATOR_FLOOR, 10 - goto EventScript_1621E7 - -EventScript_162146:: @ 8162146 + goto SilphCo_Elevator_EventScript_ExitFloorSelect end -EventScript_162147:: @ 8162147 +SilphCo_Elevator_EventScript_To8F:: @ 8162147 setvar VAR_0x8006, 11 setdynamicwarp MAP_SILPH_CO_8F, 255, 22, 3 compare VAR_ELEVATOR_FLOOR, 11 - goto_if_eq EventScript_1621E7 - call EventScript_1621EC + goto_if_eq SilphCo_Elevator_EventScript_ExitFloorSelect + call SilphCo_Elevator_EventScript_MoveElevator setvar VAR_ELEVATOR_FLOOR, 11 - goto EventScript_1621E7 - -EventScript_16216E:: @ 816216E + goto SilphCo_Elevator_EventScript_ExitFloorSelect end -EventScript_16216F:: @ 816216F +SilphCo_Elevator_EventScript_To9F:: @ 816216F setvar VAR_0x8006, 12 setdynamicwarp MAP_SILPH_CO_9F, 255, 24, 3 compare VAR_ELEVATOR_FLOOR, 12 - goto_if_eq EventScript_1621E7 - call EventScript_1621EC + goto_if_eq SilphCo_Elevator_EventScript_ExitFloorSelect + call SilphCo_Elevator_EventScript_MoveElevator setvar VAR_ELEVATOR_FLOOR, 12 - goto EventScript_1621E7 - -EventScript_162196:: @ 8162196 + goto SilphCo_Elevator_EventScript_ExitFloorSelect end -EventScript_162197:: @ 8162197 +SilphCo_Elevator_EventScript_To10F:: @ 8162197 setvar VAR_0x8006, 13 setdynamicwarp MAP_SILPH_CO_10F, 255, 13, 3 compare VAR_ELEVATOR_FLOOR, 13 - goto_if_eq EventScript_1621E7 - call EventScript_1621EC + goto_if_eq SilphCo_Elevator_EventScript_ExitFloorSelect + call SilphCo_Elevator_EventScript_MoveElevator setvar VAR_ELEVATOR_FLOOR, 13 - goto EventScript_1621E7 - -EventScript_1621BE:: @ 81621BE + goto SilphCo_Elevator_EventScript_ExitFloorSelect end -EventScript_1621BF:: @ 81621BF +SilphCo_Elevator_EventScript_To11F:: @ 81621BF setvar VAR_0x8006, 14 setdynamicwarp MAP_SILPH_CO_11F, 255, 13, 3 compare VAR_ELEVATOR_FLOOR, 14 - goto_if_eq EventScript_1621E7 - call EventScript_1621EC + goto_if_eq SilphCo_Elevator_EventScript_ExitFloorSelect + call SilphCo_Elevator_EventScript_MoveElevator setvar VAR_ELEVATOR_FLOOR, 14 - goto EventScript_1621E7 - -EventScript_1621E6:: @ 81621E6 + goto SilphCo_Elevator_EventScript_ExitFloorSelect end -EventScript_1621E7:: @ 81621E7 - special Special_CloseElevatorCurrentFloorWindow +SilphCo_Elevator_EventScript_ExitFloorSelect:: @ 81621E7 + special CloseElevatorCurrentFloorWindow releaseall end -EventScript_1621EC:: @ 81621EC - special Special_CloseElevatorCurrentFloorWindow +SilphCo_Elevator_EventScript_MoveElevator:: @ 81621EC + special CloseElevatorCurrentFloorWindow closemessage waitse - special Special_AnimateElevator + special AnimateElevator waitstate setflag FLAG_TEMP_2 return diff --git a/data/maps/SixIsland/map.json b/data/maps/SixIsland/map.json index 9df09bc51..0ce841063 100644 --- a/data/maps/SixIsland/map.json +++ b/data/maps/SixIsland/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_SIX_ISLAND", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_1", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_TOWN", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_SIX_ISLAND_WATER_PATH", @@ -20,7 +22,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BOY", + "graphics_id": "OBJ_EVENT_GFX_BOY", "x": 10, "y": 15, "elevation": 3, @@ -29,11 +31,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SixIsland_EventScript_167EEB", + "script": "SixIsland_EventScript_Boy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 15, "y": 13, "elevation": 3, @@ -42,7 +44,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SixIsland_EventScript_167EE2", + "script": "SixIsland_EventScript_Hiker", "flag": "0" } ], @@ -79,11 +81,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 9, "y": 17, "elevation": 0, - "script": "SixIsland_EventScript_167EF4" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SixIsland_EventScript_IslandSign" }, { "type": "hidden_item", diff --git a/data/maps/SixIsland/scripts.inc b/data/maps/SixIsland/scripts.inc index 01d373654..863390ba8 100644 --- a/data/maps/SixIsland/scripts.inc +++ b/data/maps/SixIsland/scripts.inc @@ -6,14 +6,14 @@ SixIsland_OnTransition:: @ 8167EDE setworldmapflag FLAG_WORLD_MAP_SIX_ISLAND end -SixIsland_EventScript_167EE2:: @ 8167EE2 - msgbox gUnknown_81831EF, MSGBOX_NPC +SixIsland_EventScript_Hiker:: @ 8167EE2 + msgbox SixIsland_Text_ThatWayToWaterPathRuinValley, MSGBOX_NPC end -SixIsland_EventScript_167EEB:: @ 8167EEB - msgbox gUnknown_8183255, MSGBOX_NPC +SixIsland_EventScript_Boy:: @ 8167EEB + msgbox SixIsland_Text_SkyAtNightIsFantastic, MSGBOX_NPC end -SixIsland_EventScript_167EF4:: @ 8167EF4 - msgbox gUnknown_81831C6, MSGBOX_SIGN +SixIsland_EventScript_IslandSign:: @ 8167EF4 + msgbox SixIsland_Text_IslandSign, MSGBOX_SIGN end diff --git a/data/maps/SixIsland/text.inc b/data/maps/SixIsland/text.inc index bade2abd1..0d2fc43ce 100644 --- a/data/maps/SixIsland/text.inc +++ b/data/maps/SixIsland/text.inc @@ -1,14 +1,14 @@ -gUnknown_81831C6:: @ 81831C6 +SixIsland_Text_IslandSign:: @ 81831C6 .string "SIX ISLAND\n" .string "Fortune Island of Aged Wisdom$" -gUnknown_81831EF:: @ 81831EF +SixIsland_Text_ThatWayToWaterPathRuinValley:: @ 81831EF .string "Keep going this way and you'll get\n" .string "to the WATER PATH.\p" .string "Stay on that and you'll get to\n" .string "the RUIN VALLEY.$" -gUnknown_8183255:: @ 8183255 +SixIsland_Text_SkyAtNightIsFantastic:: @ 8183255 .string "When you're this far away from the\n" .string "city, the sky at night is fantastic.$" diff --git a/data/maps/SixIsland_AlteringCave/map.json b/data/maps/SixIsland_AlteringCave/map.json index b8141664e..124496895 100644 --- a/data/maps/SixIsland_AlteringCave/map.json +++ b/data/maps/SixIsland_AlteringCave/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ALTERING_CAVE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/SixIsland_DottedHole_1F/map.json b/data/maps/SixIsland_DottedHole_1F/map.json index d83c3d58b..f581ee319 100644 --- a/data/maps/SixIsland_DottedHole_1F/map.json +++ b/data/maps/SixIsland_DottedHole_1F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_DOTTED_HOLE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/SixIsland_DottedHole_1F/scripts.inc b/data/maps/SixIsland_DottedHole_1F/scripts.inc index 26217512e..21a47dcd6 100644 --- a/data/maps/SixIsland_DottedHole_1F/scripts.inc +++ b/data/maps/SixIsland_DottedHole_1F/scripts.inc @@ -6,28 +6,28 @@ SixIsland_DottedHole_1F_OnTransition:: @ 8164188 setworldmapflag FLAG_WORLD_MAP_SIX_ISLAND_DOTTED_HOLE_1F end -SixIsland_DottedHole_B1F_EventScript_16418C:: @ 816418C +SixIsland_DottedHole_B1F_EventScript_BrailleUp:: @ 816418C lockall braillemessage Braille_Text_Up waitbuttonpress releaseall end -SixIsland_DottedHole_B4F_EventScript_164195:: @ 8164195 +SixIsland_DottedHole_B4F_EventScript_BrailleDown:: @ 8164195 lockall braillemessage Braille_Text_Down waitbuttonpress releaseall end -SixIsland_DottedHole_B3F_EventScript_16419E:: @ 816419E +SixIsland_DottedHole_B3F_EventScript_BrailleRight:: @ 816419E lockall braillemessage Braille_Text_Right waitbuttonpress releaseall end -SixIsland_DottedHole_B2F_EventScript_1641A7:: @ 81641A7 +SixIsland_DottedHole_B2F_EventScript_BrailleLeft:: @ 81641A7 lockall braillemessage Braille_Text_Left waitbuttonpress diff --git a/data/maps/SixIsland_DottedHole_B1F/map.json b/data/maps/SixIsland_DottedHole_B1F/map.json index 449f0da2d..1fcfc933d 100644 --- a/data/maps/SixIsland_DottedHole_B1F/map.json +++ b/data/maps/SixIsland_DottedHole_B1F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_DOTTED_HOLE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ @@ -53,11 +55,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_1", + "type": "sign", "x": 6, "y": 5, "elevation": 0, - "script": "SixIsland_DottedHole_B1F_EventScript_16418C" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", + "script": "SixIsland_DottedHole_B1F_EventScript_BrailleUp" } ] } diff --git a/data/maps/SixIsland_DottedHole_B2F/map.json b/data/maps/SixIsland_DottedHole_B2F/map.json index 79cf28355..8458d04be 100644 --- a/data/maps/SixIsland_DottedHole_B2F/map.json +++ b/data/maps/SixIsland_DottedHole_B2F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_DOTTED_HOLE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ @@ -53,11 +55,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_1", + "type": "sign", "x": 6, "y": 5, "elevation": 0, - "script": "SixIsland_DottedHole_B2F_EventScript_1641A7" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", + "script": "SixIsland_DottedHole_B2F_EventScript_BrailleLeft" } ] } diff --git a/data/maps/SixIsland_DottedHole_B3F/map.json b/data/maps/SixIsland_DottedHole_B3F/map.json index 6c7af4456..154c12c9e 100644 --- a/data/maps/SixIsland_DottedHole_B3F/map.json +++ b/data/maps/SixIsland_DottedHole_B3F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_DOTTED_HOLE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ @@ -53,11 +55,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_1", + "type": "sign", "x": 6, "y": 5, "elevation": 0, - "script": "SixIsland_DottedHole_B3F_EventScript_16419E" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", + "script": "SixIsland_DottedHole_B3F_EventScript_BrailleRight" } ] } diff --git a/data/maps/SixIsland_DottedHole_B4F/map.json b/data/maps/SixIsland_DottedHole_B4F/map.json index 2490d48a7..92633086e 100644 --- a/data/maps/SixIsland_DottedHole_B4F/map.json +++ b/data/maps/SixIsland_DottedHole_B4F/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_DOTTED_HOLE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ @@ -53,11 +55,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_1", + "type": "sign", "x": 6, "y": 5, "elevation": 0, - "script": "SixIsland_DottedHole_B4F_EventScript_164195" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", + "script": "SixIsland_DottedHole_B4F_EventScript_BrailleDown" } ] } diff --git a/data/maps/SixIsland_DottedHole_SapphireRoom/map.json b/data/maps/SixIsland_DottedHole_SapphireRoom/map.json index e3cce0b89..df977d9c0 100644 --- a/data/maps/SixIsland_DottedHole_SapphireRoom/map.json +++ b/data/maps/SixIsland_DottedHole_SapphireRoom/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_DOTTED_HOLE", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SAPPHIRE", + "graphics_id": "OBJ_EVENT_GFX_SAPPHIRE", "x": 7, "y": 7, "elevation": 0, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SixIsland_DottedHole_SapphireRoom_EventScript_1641B5", + "script": "SixIsland_DottedHole_SapphireRoom_EventScript_Sapphire", "flag": "FLAG_HIDE_SAPPHIRE" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 5, "y": 9, "elevation": 3, @@ -59,11 +61,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_1", + "type": "sign", "x": 7, "y": 2, "elevation": 0, - "script": "SixIsland_DottedHole_SapphireRoom_EventScript_16441F" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", + "script": "SixIsland_DottedHole_SapphireRoom_EventScript_BrailleMessage" } ] } diff --git a/data/maps/SixIsland_DottedHole_SapphireRoom/scripts.inc b/data/maps/SixIsland_DottedHole_SapphireRoom/scripts.inc index a73503f7c..e0d558ae0 100644 --- a/data/maps/SixIsland_DottedHole_SapphireRoom/scripts.inc +++ b/data/maps/SixIsland_DottedHole_SapphireRoom/scripts.inc @@ -1,193 +1,197 @@ +.equ LOCALID_SAPPHIRE, 1 +.equ LOCALID_THIEF, 2 + SixIsland_DottedHole_SapphireRoom_MapScripts:: @ 81641B4 .byte 0 -SixIsland_DottedHole_SapphireRoom_EventScript_1641B5:: @ 81641B5 +SixIsland_DottedHole_SapphireRoom_EventScript_Sapphire:: @ 81641B5 lock faceplayer textcolor 3 playfanfare MUS_FAN5 - message Text_17BD82 + message SixIsland_DottedHole_SapphireRoom_Text_FoundSapphire waitmessage waitfanfare closemessage - setobjectxyperm 2, 5, 0 - addobject 2 + setobjectxyperm LOCALID_THIEF, 5, 0 + addobject LOCALID_THIEF playse SE_RU_HYUU - applymovement 2, Movement_16440F + applymovement LOCALID_THIEF, SixIsland_DottedHole_SapphireRoom_Movement_ThiefFallIn waitmovement 0 playse SE_W070 compare VAR_FACING, DIR_NORTH - call_if_eq EventScript_16430F + call_if_eq SixIsland_DottedHole_SapphireRoom_EventScript_PlayerFaceThiefLeft compare VAR_FACING, DIR_SOUTH - call_if_eq EventScript_16430F + call_if_eq SixIsland_DottedHole_SapphireRoom_EventScript_PlayerFaceThiefLeft compare VAR_FACING, DIR_EAST - call_if_eq EventScript_16431A + call_if_eq SixIsland_DottedHole_SapphireRoom_EventScript_PlayerFaceThiefDown compare VAR_FACING, DIR_WEST - call_if_eq EventScript_16431A + call_if_eq SixIsland_DottedHole_SapphireRoom_EventScript_PlayerFaceThiefDown setvar VAR_0x8004, 3 setvar VAR_0x8005, 0 setvar VAR_0x8006, 12 setvar VAR_0x8007, 3 - special Special_ShakeScreen + special ShakeScreen delay 60 compare VAR_FACING, DIR_NORTH - call_if_eq EventScript_164325 + call_if_eq SixIsland_DottedHole_SapphireRoom_EventScript_ThiefLookAtSapphireNorth compare VAR_FACING, DIR_SOUTH - call_if_eq EventScript_164330 + call_if_eq SixIsland_DottedHole_SapphireRoom_EventScript_ThiefLookAtSapphireSouth compare VAR_FACING, DIR_EAST - call_if_eq EventScript_16433B + call_if_eq SixIsland_DottedHole_SapphireRoom_EventScript_ThiefLookAtSapphireEast compare VAR_FACING, DIR_WEST - call_if_eq EventScript_164346 + call_if_eq SixIsland_DottedHole_SapphireRoom_EventScript_ThiefLookAtSapphireWest textcolor 0 - msgbox gUnknown_817BD97 + msgbox SixIsland_DottedHole_SapphireRoom_Text_IWasRightInTailingYou closemessage compare VAR_FACING, DIR_NORTH - call_if_eq EventScript_164351 + call_if_eq SixIsland_DottedHole_SapphireRoom_EventScript_ThiefGetSapphireNorth compare VAR_FACING, DIR_SOUTH - call_if_eq EventScript_164366 + call_if_eq SixIsland_DottedHole_SapphireRoom_EventScript_ThiefGetSapphireSouth compare VAR_FACING, DIR_EAST - call_if_eq EventScript_16437B + call_if_eq SixIsland_DottedHole_SapphireRoom_EventScript_ThiefGetSapphireEast compare VAR_FACING, DIR_WEST - call_if_eq EventScript_164390 - removeobject 1 + call_if_eq SixIsland_DottedHole_SapphireRoom_EventScript_ThiefGetSapphireWest + removeobject LOCALID_SAPPHIRE compare VAR_FACING, DIR_NORTH - call_if_eq EventScript_1642F9 + call_if_eq SixIsland_DottedHole_SapphireRoom_EventScript_PlayerFaceThiefLeft2 compare VAR_FACING, DIR_SOUTH - call_if_eq EventScript_1642F9 + call_if_eq SixIsland_DottedHole_SapphireRoom_EventScript_PlayerFaceThiefLeft2 compare VAR_FACING, DIR_EAST - call_if_eq EventScript_164304 + call_if_eq SixIsland_DottedHole_SapphireRoom_EventScript_PlayerFaceThiefDown2 compare VAR_FACING, DIR_WEST - call_if_eq EventScript_164304 - msgbox gUnknown_817BDD4 + call_if_eq SixIsland_DottedHole_SapphireRoom_EventScript_PlayerFaceThiefDown2 + msgbox SixIsland_DottedHole_SapphireRoom_Text_SellToTeamRocketTellPassword closemessage compare VAR_FACING, DIR_NORTH - call_if_eq EventScript_1643A5 + call_if_eq SixIsland_DottedHole_SapphireRoom_EventScript_ThiefExitNorth compare VAR_FACING, DIR_SOUTH - call_if_eq EventScript_1643B7 + call_if_eq SixIsland_DottedHole_SapphireRoom_EventScript_ThiefExitSouth compare VAR_FACING, DIR_EAST - call_if_eq EventScript_1643C9 + call_if_eq SixIsland_DottedHole_SapphireRoom_EventScript_ThiefExitEast compare VAR_FACING, DIR_WEST - call_if_eq EventScript_1643DB + call_if_eq SixIsland_DottedHole_SapphireRoom_EventScript_ThiefExitWest playse SE_KAIDAN delay 35 - removeobject 2 + removeobject LOCALID_THIEF setflag FLAG_LEARNED_YES_NAH_CHANSEY release end -EventScript_1642F9:: @ 81642F9 +@ Lots of redundant scripts below +SixIsland_DottedHole_SapphireRoom_EventScript_PlayerFaceThiefLeft2:: @ 81642F9 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestLeft waitmovement 0 return -EventScript_164304:: @ 8164304 +SixIsland_DottedHole_SapphireRoom_EventScript_PlayerFaceThiefDown2:: @ 8164304 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestDown waitmovement 0 return -EventScript_16430F:: @ 816430F +SixIsland_DottedHole_SapphireRoom_EventScript_PlayerFaceThiefLeft:: @ 816430F applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestLeft waitmovement 0 return -EventScript_16431A:: @ 816431A +SixIsland_DottedHole_SapphireRoom_EventScript_PlayerFaceThiefDown:: @ 816431A applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestDown waitmovement 0 return -EventScript_164325:: @ 8164325 - applymovement 2, Movement_1643ED +SixIsland_DottedHole_SapphireRoom_EventScript_ThiefLookAtSapphireNorth:: @ 8164325 + applymovement LOCALID_THIEF, SixIsland_DottedHole_SapphireRoom_Movement_ThiefLookAtSapphireFromLeft waitmovement 0 return -EventScript_164330:: @ 8164330 - applymovement 2, Movement_1643ED +SixIsland_DottedHole_SapphireRoom_EventScript_ThiefLookAtSapphireSouth:: @ 8164330 + applymovement LOCALID_THIEF, SixIsland_DottedHole_SapphireRoom_Movement_ThiefLookAtSapphireFromLeft waitmovement 0 return -EventScript_16433B:: @ 816433B - applymovement 2, Movement_1643F1 +SixIsland_DottedHole_SapphireRoom_EventScript_ThiefLookAtSapphireEast:: @ 816433B + applymovement LOCALID_THIEF, SixIsland_DottedHole_SapphireRoom_Movement_ThiefLookAtSapphireFromBelow waitmovement 0 return -EventScript_164346:: @ 8164346 - applymovement 2, Movement_1643F1 +SixIsland_DottedHole_SapphireRoom_EventScript_ThiefLookAtSapphireWest:: @ 8164346 + applymovement LOCALID_THIEF, SixIsland_DottedHole_SapphireRoom_Movement_ThiefLookAtSapphireFromBelow waitmovement 0 return -EventScript_164351:: @ 8164351 - applymovement 2, Movement_1643F5 +SixIsland_DottedHole_SapphireRoom_EventScript_ThiefGetSapphireNorth:: @ 8164351 + applymovement LOCALID_THIEF, SixIsland_DottedHole_SapphireRoom_Movement_ThiefGetSapphireFromLeft waitmovement 0 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestUp waitmovement 0 return -EventScript_164366:: @ 8164366 - applymovement 2, Movement_1643F5 +SixIsland_DottedHole_SapphireRoom_EventScript_ThiefGetSapphireSouth:: @ 8164366 + applymovement LOCALID_THIEF, SixIsland_DottedHole_SapphireRoom_Movement_ThiefGetSapphireFromLeft waitmovement 0 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestDown waitmovement 0 return -EventScript_16437B:: @ 816437B - applymovement 2, Movement_1643F7 +SixIsland_DottedHole_SapphireRoom_EventScript_ThiefGetSapphireEast:: @ 816437B + applymovement LOCALID_THIEF, SixIsland_DottedHole_SapphireRoom_Movement_ThiefGetSapphireFromBelow waitmovement 0 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight waitmovement 0 return -EventScript_164390:: @ 8164390 - applymovement 2, Movement_1643F7 +SixIsland_DottedHole_SapphireRoom_EventScript_ThiefGetSapphireWest:: @ 8164390 + applymovement LOCALID_THIEF, SixIsland_DottedHole_SapphireRoom_Movement_ThiefGetSapphireFromBelow waitmovement 0 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestLeft waitmovement 0 return -EventScript_1643A5:: @ 81643A5 - applymovement OBJ_EVENT_ID_PLAYER, Movement_16441C - applymovement 2, Movement_1643F9 +SixIsland_DottedHole_SapphireRoom_EventScript_ThiefExitNorth:: @ 81643A5 + applymovement OBJ_EVENT_ID_PLAYER, SixIsland_DottedHole_SapphireRoom_Movement_PlayerWatchThiefExit + applymovement LOCALID_THIEF, SixIsland_DottedHole_SapphireRoom_Movement_ThiefExitNorth waitmovement 0 return -EventScript_1643B7:: @ 81643B7 - applymovement OBJ_EVENT_ID_PLAYER, Movement_16441C - applymovement 2, Movement_164401 +SixIsland_DottedHole_SapphireRoom_EventScript_ThiefExitSouth:: @ 81643B7 + applymovement OBJ_EVENT_ID_PLAYER, SixIsland_DottedHole_SapphireRoom_Movement_PlayerWatchThiefExit + applymovement LOCALID_THIEF, SixIsland_DottedHole_SapphireRoom_Movement_ThiefExitSouth waitmovement 0 return -EventScript_1643C9:: @ 81643C9 - applymovement OBJ_EVENT_ID_PLAYER, Movement_16441C - applymovement 2, Movement_164409 +SixIsland_DottedHole_SapphireRoom_EventScript_ThiefExitEast:: @ 81643C9 + applymovement OBJ_EVENT_ID_PLAYER, SixIsland_DottedHole_SapphireRoom_Movement_PlayerWatchThiefExit + applymovement LOCALID_THIEF, SixIsland_DottedHole_SapphireRoom_Movement_ThiefExitEastWest waitmovement 0 return -EventScript_1643DB:: @ 81643DB - applymovement OBJ_EVENT_ID_PLAYER, Movement_16441C - applymovement 2, Movement_164409 +SixIsland_DottedHole_SapphireRoom_EventScript_ThiefExitWest:: @ 81643DB + applymovement OBJ_EVENT_ID_PLAYER, SixIsland_DottedHole_SapphireRoom_Movement_PlayerWatchThiefExit + applymovement LOCALID_THIEF, SixIsland_DottedHole_SapphireRoom_Movement_ThiefExitEastWest waitmovement 0 return -Movement_1643ED:: @ 81643ED +SixIsland_DottedHole_SapphireRoom_Movement_ThiefLookAtSapphireFromLeft:: @ 81643ED walk_up walk_up walk_in_place_fastest_right step_end -Movement_1643F1:: @ 81643F1 +SixIsland_DottedHole_SapphireRoom_Movement_ThiefLookAtSapphireFromBelow:: @ 81643F1 walk_right walk_right walk_in_place_fastest_up step_end -Movement_1643F5:: @ 81643F5 +SixIsland_DottedHole_SapphireRoom_Movement_ThiefGetSapphireFromLeft:: @ 81643F5 walk_right step_end -Movement_1643F7:: @ 81643F7 +SixIsland_DottedHole_SapphireRoom_Movement_ThiefGetSapphireFromBelow:: @ 81643F7 walk_up step_end -Movement_1643F9:: @ 81643F9 +SixIsland_DottedHole_SapphireRoom_Movement_ThiefExitNorth:: @ 81643F9 walk_fast_up walk_fast_right walk_fast_right @@ -197,7 +201,7 @@ Movement_1643F9:: @ 81643F9 walk_fast_right step_end -Movement_164401:: @ 8164401 +SixIsland_DottedHole_SapphireRoom_Movement_ThiefExitSouth:: @ 8164401 walk_fast_down walk_fast_right walk_fast_right @@ -207,7 +211,7 @@ Movement_164401:: @ 8164401 walk_fast_right step_end -Movement_164409:: @ 8164409 +SixIsland_DottedHole_SapphireRoom_Movement_ThiefExitEastWest:: @ 8164409 walk_fast_right walk_fast_right walk_fast_right @@ -215,7 +219,7 @@ Movement_164409:: @ 8164409 walk_fast_up step_end -Movement_16440F:: @ 816440F +SixIsland_DottedHole_SapphireRoom_Movement_ThiefFallIn:: @ 816440F face_down disable_anim slide_down @@ -230,12 +234,12 @@ Movement_16440F:: @ 816440F restore_anim step_end -Movement_16441C:: @ 816441C +SixIsland_DottedHole_SapphireRoom_Movement_PlayerWatchThiefExit:: @ 816441C delay_16 walk_in_place_fastest_right step_end -SixIsland_DottedHole_SapphireRoom_EventScript_16441F:: @ 816441F +SixIsland_DottedHole_SapphireRoom_EventScript_BrailleMessage:: @ 816441F lockall setvar VAR_0x8005, 130 braillemessage_wait Braille_Text_LetTheTwo diff --git a/data/maps/SixIsland_DottedHole_SapphireRoom/text.inc b/data/maps/SixIsland_DottedHole_SapphireRoom/text.inc index 713e8cadf..4fdef4a5d 100644 --- a/data/maps/SixIsland_DottedHole_SapphireRoom/text.inc +++ b/data/maps/SixIsland_DottedHole_SapphireRoom/text.inc @@ -1,12 +1,12 @@ -Text_17BD82:: @ 817BD82 +SixIsland_DottedHole_SapphireRoom_Text_FoundSapphire:: @ 817BD82 .string "{PLAYER} found a SAPPHIRE!$" -gUnknown_817BD97:: @ 817BD97 +SixIsland_DottedHole_SapphireRoom_Text_IWasRightInTailingYou:: @ 817BD97 .string "Fufu… Fufufufu…\n" .string "I guessed right.\p" .string "I was right in tailing you!$" -gUnknown_817BDD4:: @ 817BDD4 +SixIsland_DottedHole_SapphireRoom_Text_SellToTeamRocketTellPassword:: @ 817BDD4 .string "I knew that there was a SAPPHIRE\n" .string "here, so it belongs to me!\p" .string "I'll sell it to TEAM ROCKET for\n" diff --git a/data/maps/SixIsland_GreenPath/map.json b/data/maps/SixIsland_GreenPath/map.json index 40ddb539d..269a8da2d 100644 --- a/data/maps/SixIsland_GreenPath/map.json +++ b/data/maps/SixIsland_GreenPath/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_GREEN_PATH", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_SIX_ISLAND_OUTCAST_ISLAND", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_1", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_1", "x": 11, "y": 8, "elevation": 3, @@ -34,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "SixIsland_GreenPath_EventScript_1AC517", + "script": "SixIsland_GreenPath_EventScript_Jaclyn", "flag": "0" } ], @@ -71,18 +73,20 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 40, "y": 10, "elevation": 0, - "script": "SixIsland_GreenPath_EventScript_168B37" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SixIsland_GreenPath_EventScript_LeftRouteSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 69, "y": 10, "elevation": 0, - "script": "SixIsland_GreenPath_EventScript_168B2E" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SixIsland_GreenPath_EventScript_RightRouteSign" }, { "type": "hidden_item", diff --git a/data/maps/SixIsland_GreenPath/scripts.inc b/data/maps/SixIsland_GreenPath/scripts.inc index acc4336d2..559158455 100644 --- a/data/maps/SixIsland_GreenPath/scripts.inc +++ b/data/maps/SixIsland_GreenPath/scripts.inc @@ -1,10 +1,10 @@ SixIsland_GreenPath_MapScripts:: @ 8168B2D .byte 0 -SixIsland_GreenPath_EventScript_168B2E:: @ 8168B2E - msgbox gUnknown_818B84D, MSGBOX_SIGN +SixIsland_GreenPath_EventScript_RightRouteSign:: @ 8168B2E + msgbox SixIsland_GreenPath_Text_LeftRouteSign, MSGBOX_SIGN end -SixIsland_GreenPath_EventScript_168B37:: @ 8168B37 - msgbox gUnknown_818B86B, MSGBOX_SIGN +SixIsland_GreenPath_EventScript_LeftRouteSign:: @ 8168B37 + msgbox SixIsland_GreenPath_Text_RightRouteSign, MSGBOX_SIGN end diff --git a/data/maps/SixIsland_GreenPath/text.inc b/data/maps/SixIsland_GreenPath/text.inc index 97d8bc2c8..e8113cac3 100644 --- a/data/maps/SixIsland_GreenPath/text.inc +++ b/data/maps/SixIsland_GreenPath/text.inc @@ -1,94 +1,21 @@ -Text_18B400:: @ 818B400 - .string "I'm having no luck at all.\n" - .string "A battle'd be a change of pace!$" - -Text_18B43B:: @ 818B43B - .string "Nope, no luck at all…$" - -Text_18B451:: @ 818B451 - .string "I can't very well go home without\n" - .string "catching something, though.$" - -Text_18B48F:: @ 818B48F - .string "Gasp… Gasp…\p" - .string "I swam here from SIX ISLE PORT\n" - .string "in one go.$" - -Text_18B4C5:: @ 818B4C5 - .string "Gasp…\n" - .string "Gasp…$" - -Text_18B4D1:: @ 818B4D1 - .string "I'm only at the halfway point…\n" - .string "I'm beat…$" - -Text_18B4FA:: @ 818B4FA - .string "It's not so easy sending POKéMON\n" - .string "out while swimming, you know?$" - -Text_18B539:: @ 818B539 - .string "I didn't lose to you at swimming.\n" - .string "This doesn't bother me.$" - -Text_18B573:: @ 818B573 - .string "Are you headed for the island up\n" - .string "past here?\p" - .string "I didn't see anything interesting\n" - .string "there.$" - -Text_18B5C8:: @ 818B5C8 - .string "AVA: Let's have a two-on-two\n" - .string "marine battle!$" - -Text_18B5F4:: @ 818B5F4 - .string "AVA: Oh, you're amazing!\n" - .string "Even better, you're on your own!$" - -Text_18B62E:: @ 818B62E - .string "AVA: You know, I do prefer the\n" - .string "sea over any pool.$" - -Text_18B660:: @ 818B660 - .string "AVA: You're challenging us to\n" - .string "a battle?\p" - .string "You'll need at least two POKéMON\n" - .string "if you want to do that.$" - -Text_18B6C1:: @ 818B6C1 - .string "GEB: Big Sister, help!\n" - .string "Please battle with me!$" - -Text_18B6EF:: @ 818B6EF - .string "GEB: Wow, Big Sister, this person's\n" - .string "really good!$" - -Text_18B720:: @ 818B720 - .string "GEB: I'm hanging onto my sister\n" - .string "because I can't touch the bottom.$" - -Text_18B762:: @ 818B762 - .string "GEB: Please battle against me and\n" - .string "my sister!\p" - .string "…Oh, you don't have two POKéMON?$" - -Text_18B7B0:: @ 818B7B0 +SixIsland_GreenPath_Text_JaclynIntro:: @ 818B7B0 .string "…Huh?\p" .string "I was envisioning my house, but\n" .string "this is where I TELEPORT?$" -Text_18B7F0:: @ 818B7F0 +SixIsland_GreenPath_Text_JaclynDefeat:: @ 818B7F0 .string "Big boo-boo!$" -Text_18B7FD:: @ 818B7FD +SixIsland_GreenPath_Text_JaclynPostBattle:: @ 818B7FD .string "I am so scatterbrained!\p" .string "I need to focus so I can TELEPORT\n" .string "properly to my house!$" -gUnknown_818B84D:: @ 818B84D +SixIsland_GreenPath_Text_LeftRouteSign:: @ 818B84D .string "GREEN PATH\n" .string "PATTERN BUSH AHEAD$" -gUnknown_818B86B:: @ 818B86B +SixIsland_GreenPath_Text_RightRouteSign:: @ 818B86B .string "GREEN PATH\n" .string "Think Green, Keep Nature Clean!$" diff --git a/data/maps/SixIsland_Harbor/map.json b/data/maps/SixIsland_Harbor/map.json index 8b6059fb2..58c47c48a 100644 --- a/data/maps/SixIsland_Harbor/map.json +++ b/data/maps/SixIsland_Harbor/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SIX_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SEAGALLOP", + "graphics_id": "OBJ_EVENT_GFX_SEAGALLOP", "x": 8, "y": 9, "elevation": 0, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 8, "y": 6, "elevation": 3, @@ -36,7 +38,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SixIsland_Harbor_EventScript_171E48", + "script": "SixIsland_Harbor_EventScript_Sailor", "flag": "0" } ], diff --git a/data/maps/SixIsland_Harbor/scripts.inc b/data/maps/SixIsland_Harbor/scripts.inc index 11ed9c7b8..fabf9d841 100644 --- a/data/maps/SixIsland_Harbor/scripts.inc +++ b/data/maps/SixIsland_Harbor/scripts.inc @@ -1,7 +1,7 @@ SixIsland_Harbor_MapScripts:: @ 8171E47 .byte 0 -SixIsland_Harbor_EventScript_171E48:: @ 8171E48 +SixIsland_Harbor_EventScript_Sailor:: @ 8171E48 lock faceplayer message Text_WhereDoYouWantToSail diff --git a/data/maps/SixIsland_House/map.json b/data/maps/SixIsland_House/map.json index ec39e8197..b27112474 100644 --- a/data/maps/SixIsland_House/map.json +++ b/data/maps/SixIsland_House/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SIX_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 7, "y": 5, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SixIsland_House_EventScript_171E5C", + "script": "SixIsland_House_EventScript_OldMan", "flag": "0" } ], diff --git a/data/maps/SixIsland_House/scripts.inc b/data/maps/SixIsland_House/scripts.inc index 1ad94906f..bf61629b2 100644 --- a/data/maps/SixIsland_House/scripts.inc +++ b/data/maps/SixIsland_House/scripts.inc @@ -1,6 +1,6 @@ SixIsland_House_MapScripts:: @ 8171E5B .byte 0 -SixIsland_House_EventScript_171E5C:: @ 8171E5C - msgbox gUnknown_81A412E, MSGBOX_NPC +SixIsland_House_EventScript_OldMan:: @ 8171E5C + msgbox SixIsland_House_Text_GoodPlaceForNatureAndHistory, MSGBOX_NPC end diff --git a/data/maps/SixIsland_House/text.inc b/data/maps/SixIsland_House/text.inc index 06fd9c274..839cdf2f3 100644 --- a/data/maps/SixIsland_House/text.inc +++ b/data/maps/SixIsland_House/text.inc @@ -1,4 +1,4 @@ -gUnknown_81A412E:: @ 81A412E +SixIsland_House_Text_GoodPlaceForNatureAndHistory:: @ 81A412E .string "There's nothing that young people'd\n" .string "find exciting here on this island.\p" .string "But, this is a good place in terms\n" diff --git a/data/maps/SixIsland_Mart/map.json b/data/maps/SixIsland_Mart/map.json index 54f2ec17c..7607a118d 100644 --- a/data/maps/SixIsland_Mart/map.json +++ b/data/maps/SixIsland_Mart/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SIX_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CLERK", + "graphics_id": "OBJ_EVENT_GFX_CLERK", "x": 2, "y": 3, "elevation": 0, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SixIsland_Mart_EventScript_171E66", + "script": "SixIsland_Mart_EventScript_Clerk", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_WOMAN", + "graphics_id": "OBJ_EVENT_GFX_OLD_WOMAN", "x": 8, "y": 3, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SixIsland_Mart_EventScript_1ACFEF", + "script": "SixIsland_Mart_EventScript_OldWoman", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 7, "y": 7, "elevation": 3, @@ -49,7 +51,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SixIsland_Mart_EventScript_171EA0", + "script": "SixIsland_Mart_EventScript_Picnicker", "flag": "0" } ], diff --git a/data/maps/SixIsland_Mart/scripts.inc b/data/maps/SixIsland_Mart/scripts.inc index 777948764..da7515c52 100644 --- a/data/maps/SixIsland_Mart/scripts.inc +++ b/data/maps/SixIsland_Mart/scripts.inc @@ -1,19 +1,19 @@ SixIsland_Mart_MapScripts:: @ 8171E65 .byte 0 -SixIsland_Mart_EventScript_171E66:: @ 8171E66 +SixIsland_Mart_EventScript_Clerk:: @ 8171E66 goto_if_questlog EventScript_ReleaseEnd lock faceplayer message Text_MayIHelpYou waitmessage - pokemart Items_171E8C + pokemart SixIsland_Mart_Items msgbox Text_PleaseComeAgain release end .align 2 -Items_171E8C:: @ 8171E8C +SixIsland_Mart_Items:: @ 8171E8C .2byte ITEM_ULTRA_BALL .2byte ITEM_FULL_RESTORE .2byte ITEM_MAX_POTION @@ -26,6 +26,6 @@ Items_171E8C:: @ 8171E8C release end -SixIsland_Mart_EventScript_171EA0:: @ 8171EA0 - msgbox gUnknown_81A4271, MSGBOX_NPC +SixIsland_Mart_EventScript_Picnicker:: @ 8171EA0 + msgbox SixIsland_Mart_Text_ShouldBuyMailAndWriteLetter, MSGBOX_NPC end diff --git a/data/maps/SixIsland_Mart/text.inc b/data/maps/SixIsland_Mart/text.inc index 34e6275a2..178f635ea 100644 --- a/data/maps/SixIsland_Mart/text.inc +++ b/data/maps/SixIsland_Mart/text.inc @@ -1,4 +1,4 @@ -Text_1A41CA:: @ 81A41CA +SixIsland_Mart_Text_AgathaOldestEverEliteFourMember:: @ 81A41CA .string "Play with POKéMON lots and live\n" .string "a long life!\p" .string "Take AGATHA, for example.\p" @@ -6,7 +6,7 @@ Text_1A41CA:: @ 81A41CA .string "oldest-ever ELITE FOUR member.\p" .string "She spurs me to do bigger things.$" -gUnknown_81A4271:: @ 81A4271 +SixIsland_Mart_Text_ShouldBuyMailAndWriteLetter:: @ 81A4271 .string "I should buy some MAIL and write\n" .string "him a letter…$" diff --git a/data/maps/SixIsland_OutcastIsland/map.json b/data/maps/SixIsland_OutcastIsland/map.json index e8a0aff0b..d39a4d70d 100644 --- a/data/maps/SixIsland_OutcastIsland/map.json +++ b/data/maps/SixIsland_OutcastIsland/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_OUTCAST_ISLAND", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_SIX_ISLAND_GREEN_PATH", @@ -20,7 +22,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ROCKET_M", + "graphics_id": "OBJ_EVENT_GFX_ROCKET_M", "x": 9, "y": 24, "elevation": 3, @@ -29,11 +31,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SixIsland_OutcastIsland_EventScript_168B16", + "script": "SixIsland_OutcastIsland_EventScript_Rocket", "flag": "FLAG_HIDE_FIVE_ISLAND_ROCKETS" }, { - "graphics_id": "OBJECT_EVENT_GFX_FISHER", + "graphics_id": "OBJ_EVENT_GFX_FISHER", "x": 12, "y": 15, "elevation": 3, @@ -42,11 +44,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SixIsland_OutcastIsland_EventScript_1AC3D1", + "script": "SixIsland_OutcastIsland_EventScript_Tylor", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_M_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_M_WATER", "x": 13, "y": 34, "elevation": 1, @@ -55,11 +57,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SixIsland_OutcastIsland_EventScript_1AC40F", + "script": "SixIsland_OutcastIsland_EventScript_Mymo", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_F_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_F_WATER", "x": 14, "y": 61, "elevation": 1, @@ -68,11 +70,11 @@ "movement_range_y": 4, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SixIsland_OutcastIsland_EventScript_1AC44D", + "script": "SixIsland_OutcastIsland_EventScript_Nicole", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_F_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_F_WATER", "x": 10, "y": 44, "elevation": 1, @@ -81,11 +83,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SixIsland_OutcastIsland_EventScript_1AC48B", + "script": "SixIsland_OutcastIsland_EventScript_Ava", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_TUBER_M_1", + "graphics_id": "OBJ_EVENT_GFX_TUBER_M_1", "x": 11, "y": 44, "elevation": 1, @@ -94,11 +96,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SixIsland_OutcastIsland_EventScript_1AC4D1", + "script": "SixIsland_OutcastIsland_EventScript_Geb", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 11, "y": 16, "elevation": 3, diff --git a/data/maps/SixIsland_OutcastIsland/scripts.inc b/data/maps/SixIsland_OutcastIsland/scripts.inc index fb4ec0217..b43a93095 100644 --- a/data/maps/SixIsland_OutcastIsland/scripts.inc +++ b/data/maps/SixIsland_OutcastIsland/scripts.inc @@ -1,7 +1,7 @@ SixIsland_OutcastIsland_MapScripts:: @ 8168B15 .byte 0 -SixIsland_OutcastIsland_EventScript_168B16:: @ 8168B16 - trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_46, Text_18B35A, Text_18B3C2 - msgbox gUnknown_818B3C8, MSGBOX_AUTOCLOSE +SixIsland_OutcastIsland_EventScript_Rocket:: @ 8168B16 + trainerbattle_single TRAINER_TEAM_ROCKET_GRUNT_46, SixIsland_OutcastIsland_Text_RocketIntro, SixIsland_OutcastIsland_Text_RocketDefeat + msgbox SixIsland_OutcastIsland_Text_RocketPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/SixIsland_OutcastIsland/text.inc b/data/maps/SixIsland_OutcastIsland/text.inc index 47b138e41..67218e416 100644 --- a/data/maps/SixIsland_OutcastIsland/text.inc +++ b/data/maps/SixIsland_OutcastIsland/text.inc @@ -1,13 +1,85 @@ -Text_18B35A:: @ 818B35A +SixIsland_OutcastIsland_Text_RocketIntro:: @ 818B35A .string "There're no rare POKéMON around\n" .string "these parts! Not a one!\p" .string "That burns me up, man.\n" .string "I'll take it out on you!$" -Text_18B3C2:: @ 818B3C2 +SixIsland_OutcastIsland_Text_RocketDefeat:: @ 818B3C2 .string "…Huh?$" -gUnknown_818B3C8:: @ 818B3C8 +SixIsland_OutcastIsland_Text_RocketPostBattle:: @ 818B3C8 .string "So listen, you haven't seen any\n" .string "rare POKéMON, have you?$" +SixIsland_OutcastIsland_Text_TylorIntro:: @ 818B400 + .string "I'm having no luck at all.\n" + .string "A battle'd be a change of pace!$" + +SixIsland_OutcastIsland_Text_TylorDefeat:: @ 818B43B + .string "Nope, no luck at all…$" + +SixIsland_OutcastIsland_Text_TylorPostBattle:: @ 818B451 + .string "I can't very well go home without\n" + .string "catching something, though.$" + +SixIsland_OutcastIsland_Text_MymoIntro:: @ 818B48F + .string "Gasp… Gasp…\p" + .string "I swam here from SIX ISLE PORT\n" + .string "in one go.$" + +SixIsland_OutcastIsland_Text_MymoDefeat:: @ 818B4C5 + .string "Gasp…\n" + .string "Gasp…$" + +SixIsland_OutcastIsland_Text_MymoPostBattle:: @ 818B4D1 + .string "I'm only at the halfway point…\n" + .string "I'm beat…$" + +SixIsland_OutcastIsland_Text_NicoleIntro:: @ 818B4FA + .string "It's not so easy sending POKéMON\n" + .string "out while swimming, you know?$" + +SixIsland_OutcastIsland_Text_NicoleDefeat:: @ 818B539 + .string "I didn't lose to you at swimming.\n" + .string "This doesn't bother me.$" + +SixIsland_OutcastIsland_Text_NicolePostBattle:: @ 818B573 + .string "Are you headed for the island up\n" + .string "past here?\p" + .string "I didn't see anything interesting\n" + .string "there.$" + +SixIsland_OutcastIsland_Text_AvaIntro:: @ 818B5C8 + .string "AVA: Let's have a two-on-two\n" + .string "marine battle!$" + +SixIsland_OutcastIsland_Text_AvaDefeat:: @ 818B5F4 + .string "AVA: Oh, you're amazing!\n" + .string "Even better, you're on your own!$" + +SixIsland_OutcastIsland_Text_AvaPostBattle:: @ 818B62E + .string "AVA: You know, I do prefer the\n" + .string "sea over any pool.$" + +SixIsland_OutcastIsland_Text_AvaNotEnoughMons:: @ 818B660 + .string "AVA: You're challenging us to\n" + .string "a battle?\p" + .string "You'll need at least two POKéMON\n" + .string "if you want to do that.$" + +SixIsland_OutcastIsland_Text_GebIntro:: @ 818B6C1 + .string "GEB: Big Sister, help!\n" + .string "Please battle with me!$" + +SixIsland_OutcastIsland_Text_GebDefeat:: @ 818B6EF + .string "GEB: Wow, Big Sister, this person's\n" + .string "really good!$" + +SixIsland_OutcastIsland_Text_GebPostBattle:: @ 818B720 + .string "GEB: I'm hanging onto my sister\n" + .string "because I can't touch the bottom.$" + +SixIsland_OutcastIsland_Text_GebNotEnoughMons:: @ 818B762 + .string "GEB: Please battle against me and\n" + .string "my sister!\p" + .string "…Oh, you don't have two POKéMON?$" diff --git a/data/maps/SixIsland_PatternBush/map.json b/data/maps/SixIsland_PatternBush/map.json index ada89bce9..893790bd4 100644 --- a/data/maps/SixIsland_PatternBush/map.json +++ b/data/maps/SixIsland_PatternBush/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_PATTERN_BUSH", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 48, "y": 15, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SixIsland_PatternBush_EventScript_164590", + "script": "SixIsland_PatternBush_EventScript_Bethany", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 10, "y": 5, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "SixIsland_PatternBush_EventScript_1645A7", + "script": "SixIsland_PatternBush_EventScript_Allison", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BUG_CATCHER", + "graphics_id": "OBJ_EVENT_GFX_BUG_CATCHER", "x": 51, "y": 6, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "SixIsland_PatternBush_EventScript_1645BE", + "script": "SixIsland_PatternBush_EventScript_Garret", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BUG_CATCHER", + "graphics_id": "OBJ_EVENT_GFX_BUG_CATCHER", "x": 12, "y": 13, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 2, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "SixIsland_PatternBush_EventScript_1645D5", + "script": "SixIsland_PatternBush_EventScript_Jonah", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BUG_CATCHER", + "graphics_id": "OBJ_EVENT_GFX_BUG_CATCHER", "x": 37, "y": 23, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 5, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SixIsland_PatternBush_EventScript_1645EC", + "script": "SixIsland_PatternBush_EventScript_Vance", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 32, "y": 5, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "SixIsland_PatternBush_EventScript_164603", + "script": "SixIsland_PatternBush_EventScript_Nash", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 52, "y": 20, "elevation": 3, @@ -101,11 +103,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "SixIsland_PatternBush_EventScript_16461A", + "script": "SixIsland_PatternBush_EventScript_Cordell", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 8, "y": 21, "elevation": 3, @@ -114,11 +116,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "SixIsland_PatternBush_EventScript_164631", + "script": "SixIsland_PatternBush_EventScript_Dalia", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 39, "y": 6, "elevation": 3, @@ -127,11 +129,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SixIsland_PatternBush_EventScript_164648", + "script": "SixIsland_PatternBush_EventScript_Joana", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CAMPER", + "graphics_id": "OBJ_EVENT_GFX_CAMPER", "x": 3, "y": 9, "elevation": 3, @@ -140,11 +142,11 @@ "movement_range_y": 2, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SixIsland_PatternBush_EventScript_16465F", + "script": "SixIsland_PatternBush_EventScript_Riley", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 19, "y": 24, "elevation": 3, @@ -153,11 +155,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SixIsland_PatternBush_EventScript_164676", + "script": "SixIsland_PatternBush_EventScript_Marcy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 30, "y": 19, "elevation": 3, @@ -166,7 +168,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SixIsland_PatternBush_EventScript_16468D", + "script": "SixIsland_PatternBush_EventScript_Layton", "flag": "0" } ], diff --git a/data/maps/SixIsland_PatternBush/scripts.inc b/data/maps/SixIsland_PatternBush/scripts.inc index 97a8a0a30..a9d9be019 100644 --- a/data/maps/SixIsland_PatternBush/scripts.inc +++ b/data/maps/SixIsland_PatternBush/scripts.inc @@ -6,75 +6,75 @@ SixIsland_PatternBush_OnTransition:: @ 816455F setworldmapflag FLAG_WORLD_MAP_SIX_ISLAND_PATTERN_BUSH getplayerxy VAR_TEMP_1, VAR_TEMP_2 compare VAR_TEMP_1, 50 - call_if_ge EventScript_16457E + call_if_ge SixIsland_PatternBush_EventScript_SetEscapeRightExit compare VAR_TEMP_1, 49 - call_if_le EventScript_164587 + call_if_le SixIsland_PatternBush_EventScript_SetEscapeLeftExit end -EventScript_16457E:: @ 816457E +SixIsland_PatternBush_EventScript_SetEscapeRightExit:: @ 816457E setescapewarp MAP_SIX_ISLAND_GREEN_PATH, 255, 64, 10 return -EventScript_164587:: @ 8164587 +SixIsland_PatternBush_EventScript_SetEscapeLeftExit:: @ 8164587 setescapewarp MAP_SIX_ISLAND_GREEN_PATH, 255, 45, 10 return -SixIsland_PatternBush_EventScript_164590:: @ 8164590 - trainerbattle_single TRAINER_PKMN_BREEDER_BETHANY, Text_17BF3A, Text_17BF66 - msgbox gUnknown_817BF97, MSGBOX_AUTOCLOSE +SixIsland_PatternBush_EventScript_Bethany:: @ 8164590 + trainerbattle_single TRAINER_PKMN_BREEDER_BETHANY, SixIsland_PatternBush_Text_BethanyIntro, SixIsland_PatternBush_Text_BethanyDefeat + msgbox SixIsland_PatternBush_Text_BethanyPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_PatternBush_EventScript_1645A7:: @ 81645A7 - trainerbattle_single TRAINER_PKMN_BREEDER_ALLISON, Text_17BFEB, Text_17C028 - msgbox gUnknown_817C056, MSGBOX_AUTOCLOSE +SixIsland_PatternBush_EventScript_Allison:: @ 81645A7 + trainerbattle_single TRAINER_PKMN_BREEDER_ALLISON, SixIsland_PatternBush_Text_AllisonIntro, SixIsland_PatternBush_Text_AllisonDefeat + msgbox SixIsland_PatternBush_Text_AllisonPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_PatternBush_EventScript_1645BE:: @ 81645BE - trainerbattle_single TRAINER_BUG_CATCHER_GARRET, Text_17C0BE, Text_17C0F2 - msgbox gUnknown_817C113, MSGBOX_AUTOCLOSE +SixIsland_PatternBush_EventScript_Garret:: @ 81645BE + trainerbattle_single TRAINER_BUG_CATCHER_GARRET, SixIsland_PatternBush_Text_GarretIntro, SixIsland_PatternBush_Text_GarretDefeat + msgbox SixIsland_PatternBush_Text_GarretPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_PatternBush_EventScript_1645D5:: @ 81645D5 - trainerbattle_single TRAINER_BUG_CATCHER_JONAH, Text_17C155, Text_17C196 - msgbox gUnknown_817C1D0, MSGBOX_AUTOCLOSE +SixIsland_PatternBush_EventScript_Jonah:: @ 81645D5 + trainerbattle_single TRAINER_BUG_CATCHER_JONAH, SixIsland_PatternBush_Text_JonahIntro, SixIsland_PatternBush_Text_JonahDefeat + msgbox SixIsland_PatternBush_Text_JonahPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_PatternBush_EventScript_1645EC:: @ 81645EC - trainerbattle_single TRAINER_BUG_CATCHER_VANCE, Text_17C246, Text_17C275 - msgbox gUnknown_817C2A4, MSGBOX_AUTOCLOSE +SixIsland_PatternBush_EventScript_Vance:: @ 81645EC + trainerbattle_single TRAINER_BUG_CATCHER_VANCE, SixIsland_PatternBush_Text_VanceIntro, SixIsland_PatternBush_Text_VanceDefeat + msgbox SixIsland_PatternBush_Text_VancePostBattle, MSGBOX_AUTOCLOSE end -SixIsland_PatternBush_EventScript_164603:: @ 8164603 - trainerbattle_single TRAINER_YOUNGSTER_NASH, Text_17C2D9, Text_17C30D - msgbox gUnknown_817C31C, MSGBOX_AUTOCLOSE +SixIsland_PatternBush_EventScript_Nash:: @ 8164603 + trainerbattle_single TRAINER_YOUNGSTER_NASH, SixIsland_PatternBush_Text_NashIntro, SixIsland_PatternBush_Text_NashDefeat + msgbox SixIsland_PatternBush_Text_NashPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_PatternBush_EventScript_16461A:: @ 816461A - trainerbattle_single TRAINER_YOUNGSTER_CORDELL, Text_17C373, Text_17C3A5 - msgbox gUnknown_817C3CE, MSGBOX_AUTOCLOSE +SixIsland_PatternBush_EventScript_Cordell:: @ 816461A + trainerbattle_single TRAINER_YOUNGSTER_CORDELL, SixIsland_PatternBush_Text_CordellIntro, SixIsland_PatternBush_Text_CordellDefeat + msgbox SixIsland_PatternBush_Text_CordellPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_PatternBush_EventScript_164631:: @ 8164631 - trainerbattle_single TRAINER_LASS_DALIA, Text_17C42B, Text_17C458 - msgbox gUnknown_817C490, MSGBOX_AUTOCLOSE +SixIsland_PatternBush_EventScript_Dalia:: @ 8164631 + trainerbattle_single TRAINER_LASS_DALIA, SixIsland_PatternBush_Text_DaliaIntro, SixIsland_PatternBush_Text_DaliaDefeat + msgbox SixIsland_PatternBush_Text_DaliaPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_PatternBush_EventScript_164648:: @ 8164648 - trainerbattle_single TRAINER_LASS_JOANA, Text_17C4FE, Text_17C552 - msgbox gUnknown_817C590, MSGBOX_AUTOCLOSE +SixIsland_PatternBush_EventScript_Joana:: @ 8164648 + trainerbattle_single TRAINER_LASS_JOANA, SixIsland_PatternBush_Text_JoanaIntro, SixIsland_PatternBush_Text_JoanaDefeat + msgbox SixIsland_PatternBush_Text_JoanaPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_PatternBush_EventScript_16465F:: @ 816465F - trainerbattle_single TRAINER_CAMPER_RILEY, Text_17C5DB, Text_17C609 - msgbox gUnknown_817C615, MSGBOX_AUTOCLOSE +SixIsland_PatternBush_EventScript_Riley:: @ 816465F + trainerbattle_single TRAINER_CAMPER_RILEY, SixIsland_PatternBush_Text_RileyIntro, SixIsland_PatternBush_Text_RileyDefeat + msgbox SixIsland_PatternBush_Text_RileyPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_PatternBush_EventScript_164676:: @ 8164676 - trainerbattle_single TRAINER_PICNICKER_MARCY, Text_17C63E, Text_17C660 - msgbox gUnknown_817C68E, MSGBOX_AUTOCLOSE +SixIsland_PatternBush_EventScript_Marcy:: @ 8164676 + trainerbattle_single TRAINER_PICNICKER_MARCY, SixIsland_PatternBush_Text_MarcyIntro, SixIsland_PatternBush_Text_MarcyDefeat + msgbox SixIsland_PatternBush_Text_MarcyPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_PatternBush_EventScript_16468D:: @ 816468D - trainerbattle_single TRAINER_RUIN_MANIAC_LAYTON, Text_17C6C9, Text_17C6FB - msgbox gUnknown_817C728, MSGBOX_AUTOCLOSE +SixIsland_PatternBush_EventScript_Layton:: @ 816468D + trainerbattle_single TRAINER_RUIN_MANIAC_LAYTON, SixIsland_PatternBush_Text_LaytonIntro, SixIsland_PatternBush_Text_LaytonDefeat + msgbox SixIsland_PatternBush_Text_LaytonPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/SixIsland_PatternBush/text.inc b/data/maps/SixIsland_PatternBush/text.inc index eddaf1ed9..4c4161fe9 100644 --- a/data/maps/SixIsland_PatternBush/text.inc +++ b/data/maps/SixIsland_PatternBush/text.inc @@ -1,154 +1,154 @@ -Text_17BF3A:: @ 817BF3A +SixIsland_PatternBush_Text_BethanyIntro:: @ 817BF3A .string "I'm curious, how do you raise your\n" .string "POKéMON?$" -Text_17BF66:: @ 817BF66 +SixIsland_PatternBush_Text_BethanyDefeat:: @ 817BF66 .string "You raise your POKéMON with a\n" .string "whole lot of love!$" -gUnknown_817BF97:: @ 817BF97 +SixIsland_PatternBush_Text_BethanyPostBattle:: @ 817BF97 .string "In the same way your mother raised\n" .string "you full of love, you should raise\l" .string "your POKéMON.$" -Text_17BFEB:: @ 817BFEB +SixIsland_PatternBush_Text_AllisonIntro:: @ 817BFEB .string "I'm working to preserve the natural\n" .string "ecology of POKéMON here.$" -Text_17C028:: @ 817C028 +SixIsland_PatternBush_Text_AllisonDefeat:: @ 817C028 .string "Oh, for someone so young, you are\n" .string "tremendous!$" -gUnknown_817C056:: @ 817C056 +SixIsland_PatternBush_Text_AllisonPostBattle:: @ 817C056 .string "I'm not saying that you shouldn't\n" .string "catch POKéMON.\p" .string "I just want people to raise their\n" .string "POKéMON responsibly.$" -Text_17C0BE:: @ 817C0BE +SixIsland_PatternBush_Text_GarretIntro:: @ 817C0BE .string "I caught a BUG POKéMON that lives\n" .string "only around here!$" -Text_17C0F2:: @ 817C0F2 +SixIsland_PatternBush_Text_GarretDefeat:: @ 817C0F2 .string "Heheh…\n" .string "Isn't my POKéMON awesome?$" -gUnknown_817C113:: @ 817C113 +SixIsland_PatternBush_Text_GarretPostBattle:: @ 817C113 .string "There's a girl near the BUSH who\n" .string "measures HERACROSS for TRAINERS.$" -Text_17C155:: @ 817C155 +SixIsland_PatternBush_Text_JonahIntro:: @ 817C155 .string "You know, it just doesn't feel right\n" .string "if I don't use BUG POKéMON.$" -Text_17C196:: @ 817C196 +SixIsland_PatternBush_Text_JonahDefeat:: @ 817C196 .string "It's okay, losing is a fun part of\n" .string "POKéMON's appeal, too.$" -gUnknown_817C1D0:: @ 817C1D0 +SixIsland_PatternBush_Text_JonahPostBattle:: @ 817C1D0 .string "By the way, “appeal” is a weird\n" .string "word, if you think about it.\p" .string "Like, is it like an orange peel?\n" .string "Or like a ringing bell?$" -Text_17C246:: @ 817C246 +SixIsland_PatternBush_Text_VanceIntro:: @ 817C246 .string "Yeah, yeah, yeah!\n" .string "Look at all the BUG POKéMON!$" -Text_17C275:: @ 817C275 +SixIsland_PatternBush_Text_VanceDefeat:: @ 817C275 .string "I got beat while I was still busy\n" .string "celebrating!$" -gUnknown_817C2A4:: @ 817C2A4 +SixIsland_PatternBush_Text_VancePostBattle:: @ 817C2A4 .string "I'm going to bring my little brother\n" .string "here next time.$" -Text_17C2D9:: @ 817C2D9 +SixIsland_PatternBush_Text_NashIntro:: @ 817C2D9 .string "Look, look! There are funny\n" .string "patterns on the ground.$" -Text_17C30D:: @ 817C30D +SixIsland_PatternBush_Text_NashDefeat:: @ 817C30D .string "Super awesome!$" -gUnknown_817C31C:: @ 817C31C +SixIsland_PatternBush_Text_NashPostBattle:: @ 817C31C .string "The funny patterns on the ground…\p" .string "They look like the patterns on my\n" .string "grandpa's clothes.$" -Text_17C373:: @ 817C373 +SixIsland_PatternBush_Text_CordellIntro:: @ 817C373 .string "I bet you think I'm just some guy,\n" .string "don't you, eh?$" -Text_17C3A5:: @ 817C3A5 +SixIsland_PatternBush_Text_CordellDefeat:: @ 817C3A5 .string "I bet you think I'm weak,\n" .string "don't you, eh?$" -gUnknown_817C3CE:: @ 817C3CE +SixIsland_PatternBush_Text_CordellPostBattle:: @ 817C3CE .string "Ayup, you townies come around all\n" .string "so dandy with a hat that flashy…\p" .string "How about giving me that?$" -Text_17C42B:: @ 817C42B +SixIsland_PatternBush_Text_DaliaIntro:: @ 817C42B .string "Take a deep breath.\n" .string "Isn't the air delicious?$" -Text_17C458:: @ 817C458 +SixIsland_PatternBush_Text_DaliaDefeat:: @ 817C458 .string "If you'd like, I can teach you how\n" .string "to breathe properly.$" -gUnknown_817C490:: @ 817C490 +SixIsland_PatternBush_Text_DaliaPostBattle:: @ 817C490 .string "First, exhale.\n" .string "Blow everything out.\p" .string "When you can't exhale anymore,\n" .string "inhale the clean air!\p" .string "Isn't it refreshing?$" -Text_17C4FE:: @ 817C4FE +SixIsland_PatternBush_Text_JoanaIntro:: @ 817C4FE .string "I love BUG POKéMON.\n" .string "That's why I'm here all the time.\p" .string "Am I the only girl like that?$" -Text_17C552:: @ 817C552 +SixIsland_PatternBush_Text_JoanaDefeat:: @ 817C552 .string "I lost, but I'm still laughing.\n" .string "Am I the only girl like that?$" -gUnknown_817C590:: @ 817C590 +SixIsland_PatternBush_Text_JoanaPostBattle:: @ 817C590 .string "I'm going to keep on collecting\n" .string "BUG POKéMON.\p" .string "Am I the only girl like that?$" -Text_17C5DB:: @ 817C5DB +SixIsland_PatternBush_Text_RileyIntro:: @ 817C5DB .string "This is a good spot.\n" .string "I'll pitch my tent here.$" -Text_17C609:: @ 817C609 +SixIsland_PatternBush_Text_RileyDefeat:: @ 817C609 .string "Wimped out…$" -gUnknown_817C615:: @ 817C615 +SixIsland_PatternBush_Text_RileyPostBattle:: @ 817C615 .string "I'm going to observe the night sky\n" .string "here.$" -Text_17C63E:: @ 817C63E +SixIsland_PatternBush_Text_MarcyIntro:: @ 817C63E .string "Oh, yuck!\n" .string "I think a bug stung me!$" -Text_17C660:: @ 817C660 +SixIsland_PatternBush_Text_MarcyDefeat:: @ 817C660 .string "It wasn't a bug.\n" .string "I cut my shin on some grass.$" -gUnknown_817C68E:: @ 817C68E +SixIsland_PatternBush_Text_MarcyPostBattle:: @ 817C68E .string "A little cut like that…\n" .string "A little spit's enough to cure it!$" -Text_17C6C9:: @ 817C6C9 +SixIsland_PatternBush_Text_LaytonIntro:: @ 817C6C9 .string "Have you noticed something odd\n" .string "about these parts?$" -Text_17C6FB:: @ 817C6FB +SixIsland_PatternBush_Text_LaytonDefeat:: @ 817C6FB .string "Have you taken a good look around\n" .string "your feet?$" -gUnknown_817C728:: @ 817C728 +SixIsland_PatternBush_Text_LaytonPostBattle:: @ 817C728 .string "There are places here in PATTERN\n" .string "BUSH where grass won't grow.\p" .string "What could be the cause of such\n" diff --git a/data/maps/SixIsland_PokemonCenter_1F/map.json b/data/maps/SixIsland_PokemonCenter_1F/map.json index f3154e3fc..43a16ad00 100644 --- a/data/maps/SixIsland_PokemonCenter_1F/map.json +++ b/data/maps/SixIsland_PokemonCenter_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SIX_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_NURSE", + "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SixIsland_PokemonCenter_1F_EventScript_171E05", + "script": "SixIsland_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BLUE", + "graphics_id": "OBJ_EVENT_GFX_BLUE", "x": 5, "y": 5, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "FLAG_HIDE_SIX_ISLAND_POKECENTER_RIVAL" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 13, "y": 3, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SixIsland_PokemonCenter_1F_EventScript_171E0E", + "script": "SixIsland_PokemonCenter_1F_EventScript_Hiker", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_2", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_2", "x": 12, "y": 5, "elevation": 3, @@ -62,7 +64,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SixIsland_PokemonCenter_1F_EventScript_171E17", + "script": "SixIsland_PokemonCenter_1F_EventScript_OldMan", "flag": "0" } ], diff --git a/data/maps/SixIsland_PokemonCenter_1F/scripts.inc b/data/maps/SixIsland_PokemonCenter_1F/scripts.inc index 6bde430ab..72134595e 100644 --- a/data/maps/SixIsland_PokemonCenter_1F/scripts.inc +++ b/data/maps/SixIsland_PokemonCenter_1F/scripts.inc @@ -1,3 +1,5 @@ +.equ LOCALID_RIVAL, 2 + SixIsland_PokemonCenter_1F_MapScripts:: @ 8171D6A map_script MAP_SCRIPT_ON_TRANSITION, SixIsland_PokemonCenter_1F_OnTransition map_script MAP_SCRIPT_ON_RESUME, CableClub_OnResume @@ -7,73 +9,73 @@ SixIsland_PokemonCenter_1F_MapScripts:: @ 8171D6A SixIsland_PokemonCenter_1F_OnTransition:: @ 8171D7A setrespawn SPAWN_SIX_ISLAND compare VAR_MAP_SCENE_SIX_ISLAND_POKEMON_CENTER_1F, 0 - call_if_eq EventScript_171D89 + call_if_eq SixIsland_PokemonCenter_1F_EventScript_ShowRival end -EventScript_171D89:: @ 8171D89 +SixIsland_PokemonCenter_1F_EventScript_ShowRival:: @ 8171D89 clearflag FLAG_HIDE_SIX_ISLAND_POKECENTER_RIVAL return SixIsland_PokemonCenter_1F_OnFrame:: @ 8171D8D - map_script_2 VAR_MAP_SCENE_SIX_ISLAND_POKEMON_CENTER_1F, 0, EventScript_171D97 + map_script_2 VAR_MAP_SCENE_SIX_ISLAND_POKEMON_CENTER_1F, 0, SixIsland_PokemonCenter_1F_EventScript_RivalScene .2byte 0 -EventScript_171D97:: @ 8171D97 +SixIsland_PokemonCenter_1F_EventScript_RivalScene:: @ 8171D97 lockall textcolor 0 - applymovement 2, Movement_WalkInPlaceFastestDown + applymovement LOCALID_RIVAL, Movement_WalkInPlaceFastestDown waitmovement 0 playbgm MUS_RIVAL1, 0 - applymovement 2, Movement_ExclamationMark + applymovement LOCALID_RIVAL, Movement_ExclamationMark waitmovement 0 - applymovement 2, Movement_Delay48 + applymovement LOCALID_RIVAL, Movement_Delay48 waitmovement 0 delay 25 - applymovement 2, Movement_171DF9 + applymovement LOCALID_RIVAL, SixIsland_PokemonCenter_1F_Movement_RivalApproach waitmovement 0 - msgbox gUnknown_81A3F30 + msgbox SixIsland_PokemonCenter_1F_Text_RivalImpossibleToGetAllMonsAroundHere closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_171E02 - applymovement 2, Movement_171DFE + applymovement OBJ_EVENT_ID_PLAYER, SixIsland_PokemonCenter_1F_Movement_PlayerWatchRivalExit + applymovement LOCALID_RIVAL, SixIsland_PokemonCenter_1F_Movement_RivalExit waitmovement 0 fadedefaultbgm playse SE_KAIDAN delay 35 - removeobject 2 + removeobject LOCALID_RIVAL setvar VAR_MAP_SCENE_SIX_ISLAND_POKEMON_CENTER_1F, 1 setvar VAR_MAP_SCENE_FOUR_ISLAND, 1 releaseall end -Movement_171DF9:: @ 8171DF9 +SixIsland_PokemonCenter_1F_Movement_RivalApproach:: @ 8171DF9 walk_right walk_right walk_down walk_down step_end -Movement_171DFE:: @ 8171DFE +SixIsland_PokemonCenter_1F_Movement_RivalExit:: @ 8171DFE delay_16 delay_4 walk_down step_end -Movement_171E02:: @ 8171E02 +SixIsland_PokemonCenter_1F_Movement_PlayerWatchRivalExit:: @ 8171E02 walk_left walk_in_place_fastest_right step_end -SixIsland_PokemonCenter_1F_EventScript_171E05:: @ 8171E05 +SixIsland_PokemonCenter_1F_EventScript_Nurse:: @ 8171E05 lock faceplayer call EventScript_PkmnCenterNurse release end -SixIsland_PokemonCenter_1F_EventScript_171E0E:: @ 8171E0E - msgbox gUnknown_81A3E02, MSGBOX_NPC +SixIsland_PokemonCenter_1F_EventScript_Hiker:: @ 8171E0E + msgbox SixIsland_PokemonCenter_1F_Text_SomethingHiddenOnThisIsland, MSGBOX_NPC end -SixIsland_PokemonCenter_1F_EventScript_171E17:: @ 8171E17 - msgbox gUnknown_81A3E87, MSGBOX_NPC +SixIsland_PokemonCenter_1F_EventScript_OldMan:: @ 8171E17 + msgbox SixIsland_PokemonCenter_1F_Text_SomeMonsEvolveByTradingWithHeldItem, MSGBOX_NPC end diff --git a/data/maps/SixIsland_PokemonCenter_1F/text.inc b/data/maps/SixIsland_PokemonCenter_1F/text.inc index a7b4f3336..170a0e011 100644 --- a/data/maps/SixIsland_PokemonCenter_1F/text.inc +++ b/data/maps/SixIsland_PokemonCenter_1F/text.inc @@ -1,11 +1,11 @@ -gUnknown_81A3E02:: @ 81A3E02 +SixIsland_PokemonCenter_1F_Text_SomethingHiddenOnThisIsland:: @ 81A3E02 .string "For ten years, I've searched for\n" .string "RUINS.\p" .string "No, make that twenty years.\p" .string "I get this feeling that there's\n" .string "something hidden on this island.$" -gUnknown_81A3E87:: @ 81A3E87 +SixIsland_PokemonCenter_1F_Text_SomeMonsEvolveByTradingWithHeldItem:: @ 81A3E87 .string "You know of POKéMON that evolve\n" .string "only upon trading, yes?\p" .string "But did you know that there are\n" @@ -13,7 +13,7 @@ gUnknown_81A3E87:: @ 81A3E87 .string "Some POKéMON evolve only when\n" .string "traded while holding specific items.$" -gUnknown_81A3F30:: @ 81A3F30 +SixIsland_PokemonCenter_1F_Text_RivalImpossibleToGetAllMonsAroundHere:: @ 81A3F30 .string "{RIVAL}: Hey, {PLAYER}!\n" .string "How's your POKéDEX filling up?\p" .string "It looks like it's impossible to get\n" diff --git a/data/maps/SixIsland_PokemonCenter_2F/map.json b/data/maps/SixIsland_PokemonCenter_2F/map.json index f8088db9a..5150e22fb 100644 --- a/data/maps/SixIsland_PokemonCenter_2F/map.json +++ b/data/maps/SixIsland_PokemonCenter_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SIX_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 6, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 2, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 10, "y": 2, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MG_DELIVERYMAN", + "graphics_id": "OBJ_EVENT_GFX_MG_DELIVERYMAN", "x": 1, "y": 2, "elevation": 3, diff --git a/data/maps/SixIsland_RuinValley/map.json b/data/maps/SixIsland_RuinValley/map.json index 5e35f5a91..1d3cbdae1 100644 --- a/data/maps/SixIsland_RuinValley/map.json +++ b/data/maps/SixIsland_RuinValley/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_RUIN_VALLEY", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_SIX_ISLAND_WATER_PATH", @@ -20,7 +22,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 24, "y": 25, "elevation": 3, @@ -29,11 +31,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SixIsland_RuinValley_EventScript_168B6D", + "script": "SixIsland_RuinValley_EventScript_Scientist", "flag": "FLAG_HIDE_RUIN_VALLEY_SCIENTIST" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 32, "y": 11, "elevation": 5, @@ -42,11 +44,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "SixIsland_RuinValley_EventScript_1AC717", + "script": "SixIsland_RuinValley_EventScript_Stanly", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 33, "y": 16, "elevation": 5, @@ -55,11 +57,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "SixIsland_RuinValley_EventScript_1AC755", + "script": "SixIsland_RuinValley_EventScript_Foster", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 31, "y": 24, "elevation": 5, @@ -68,11 +70,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SixIsland_RuinValley_EventScript_1AC793", + "script": "SixIsland_RuinValley_EventScript_Larry", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 14, "y": 10, "elevation": 5, @@ -81,11 +83,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "SixIsland_RuinValley_EventScript_1AC7D1", + "script": "SixIsland_RuinValley_EventScript_Daryl", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SUPER_NERD", + "graphics_id": "OBJ_EVENT_GFX_SUPER_NERD", "x": 21, "y": 29, "elevation": 5, @@ -94,11 +96,11 @@ "movement_range_y": 3, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SixIsland_RuinValley_EventScript_1AC80F", + "script": "SixIsland_RuinValley_EventScript_Hector", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 17, "y": 10, "elevation": 5, @@ -107,11 +109,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 17, "y": 12, "elevation": 5, @@ -120,11 +122,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 18, "y": 11, "elevation": 5, @@ -133,11 +135,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 6, "y": 33, "elevation": 3, @@ -146,11 +148,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 6, "y": 34, "elevation": 3, @@ -159,11 +161,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 41, "y": 32, "elevation": 3, @@ -172,11 +174,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 41, "y": 33, "elevation": 3, @@ -185,11 +187,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 42, "y": 33, "elevation": 3, @@ -198,11 +200,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 5, "y": 33, "elevation": 3, @@ -215,7 +217,7 @@ "flag": "FLAG_HIDE_SIX_ISLAND_RUIN_VALLEY_HP_UP" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 19, "y": 11, "elevation": 5, @@ -228,7 +230,7 @@ "flag": "FLAG_HIDE_SIX_ISLAND_RUIN_VALLEY_FULL_RESTORE" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 43, "y": 32, "elevation": 3, @@ -253,11 +255,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 24, "y": 24, "elevation": 3, - "script": "SixIsland_RuinValley_EventScript_168B94" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SixIsland_RuinValley_EventScript_DottedHoleDoor" } ] } diff --git a/data/maps/SixIsland_RuinValley/scripts.inc b/data/maps/SixIsland_RuinValley/scripts.inc index 9dadf5525..48888b357 100644 --- a/data/maps/SixIsland_RuinValley/scripts.inc +++ b/data/maps/SixIsland_RuinValley/scripts.inc @@ -3,42 +3,42 @@ SixIsland_RuinValley_MapScripts:: @ 8168B53 .byte 0 SixIsland_RuinValley_OnLoad:: @ 8168B59 - call_if_set FLAG_USED_CUT_ON_RUIN_VALLEY_BRAILLE, EventScript_168B63 + call_if_set FLAG_USED_CUT_ON_RUIN_VALLEY_BRAILLE, SixIsland_RuinValley_EventScript_OpenDottedHoleDoor end -EventScript_168B63:: @ 8168B63 - setmetatile 24, 24, 856, 0 +SixIsland_RuinValley_EventScript_OpenDottedHoleDoor:: @ 8168B63 + setmetatile 24, 24, METATILE_SeviiIslands67_DottedHoleDoor_Open, 0 return -SixIsland_RuinValley_EventScript_168B6D:: @ 8168B6D +SixIsland_RuinValley_EventScript_Scientist:: @ 8168B6D lock - msgbox gUnknown_818BD47 + msgbox SixIsland_RuinValley_Text_CantFigureOutHowToGetInside applymovement 1, Movement_FacePlayer waitmovement 0 - msgbox gUnknown_818BD7A + msgbox SixIsland_RuinValley_Text_IFoundThisPlace applymovement 1, Movement_FaceOriginalDirection waitmovement 0 release end -SixIsland_RuinValley_EventScript_168B94:: @ 8168B94 +SixIsland_RuinValley_EventScript_DottedHoleDoor:: @ 8168B94 lockall - goto_if_set FLAG_USED_CUT_ON_RUIN_VALLEY_BRAILLE, EventScript_168BC1 - msgbox gUnknown_818BDC0, MSGBOX_YESNO + goto_if_set FLAG_USED_CUT_ON_RUIN_VALLEY_BRAILLE, SixIsland_RuinValley_EventScript_DottedHoleDoorOpen + msgbox SixIsland_RuinValley_Text_CheckDoorMoreThoroughly, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_168BCB - msgbox gUnknown_818BE11 + goto_if_eq SixIsland_RuinValley_EventScript_IgnoreDottedHoleDoor + msgbox SixIsland_RuinValley_Text_SeveralDotsOnTheDoor braillemessage Braille_Text_Cut waitbuttonpress releaseall end -EventScript_168BC1:: @ 8168BC1 - msgbox gUnknown_818BE4B +SixIsland_RuinValley_EventScript_DottedHoleDoorOpen:: @ 8168BC1 + msgbox SixIsland_RuinValley_Text_DoorIsOpen releaseall end -EventScript_168BCB:: @ 8168BCB - msgbox gUnknown_818BDF9 +SixIsland_RuinValley_EventScript_IgnoreDottedHoleDoor:: @ 8168BCB + msgbox SixIsland_RuinValley_Text_LeftDoorAlone releaseall end diff --git a/data/maps/SixIsland_RuinValley/text.inc b/data/maps/SixIsland_RuinValley/text.inc index 14cee7a88..63524bb19 100644 --- a/data/maps/SixIsland_RuinValley/text.inc +++ b/data/maps/SixIsland_RuinValley/text.inc @@ -1,23 +1,87 @@ -gUnknown_818BD47:: @ 818BD47 +SixIsland_RuinValley_Text_CantFigureOutHowToGetInside:: @ 818BD47 .string "I can't figure out how I'm supposed\n" .string "to get inside.$" -gUnknown_818BD7A:: @ 818BD7A +SixIsland_RuinValley_Text_IFoundThisPlace:: @ 818BD7A .string "Let me tell you, I found this\n" .string "place.\p" .string "Don't look so envious, will you?$" -gUnknown_818BDC0:: @ 818BDC0 +SixIsland_RuinValley_Text_CheckDoorMoreThoroughly:: @ 818BDC0 .string "The door doesn't budge at all.\n" .string "Check it more thoroughly?$" -gUnknown_818BDF9:: @ 818BDF9 +SixIsland_RuinValley_Text_LeftDoorAlone:: @ 818BDF9 .string "{PLAYER} left the door alone.$" -gUnknown_818BE11:: @ 818BE11 +SixIsland_RuinValley_Text_SeveralDotsOnTheDoor:: @ 818BE11 .string "On closer inspection, there are\n" .string "several dots on the door…$" -gUnknown_818BE4B:: @ 818BE4B +SixIsland_RuinValley_Text_DoorIsOpen:: @ 818BE4B .string "The door is open.$" +SixIsland_RuinValley_Text_StanlyIntro:: @ 818BE5D + .string "There appear to be many secrets\n" + .string "still unsolved in this world.$" + +SixIsland_RuinValley_Text_StanlyDefeat:: @ 818BE9B + .string "Hmm…$" + +SixIsland_RuinValley_Text_StanlyPostBattle:: @ 818BEA0 + .string "I suggest to you that you, too,\n" + .string "give a thought to the secrets and\l" + .string "mysteries of our world once a day.$" + +SixIsland_RuinValley_Text_FosterIntro:: @ 818BF05 + .string "I'm curious, what compelled you to\n" + .string "come here?$" + +SixIsland_RuinValley_Text_FosterDefeat:: @ 818BF33 + .string "It's been so long since I battled,\n" + .string "my instincts are off.$" + +SixIsland_RuinValley_Text_FosterPostBattle:: @ 818BF6C + .string "There are several ruins on the\n" + .string "SEVII ISLANDS.\p" + .string "The majority of them date back\n" + .string "a long way.$" + +SixIsland_RuinValley_Text_LarryIntro:: @ 818BFC5 + .string "It's been said that there are\n" + .string "mysterious stones on this island.\p" + .string "I suspect it has something to do\n" + .string "with the ruins here.$" + +SixIsland_RuinValley_Text_LarryDefeat:: @ 818C03B + .string "Oh, interesting.$" + +SixIsland_RuinValley_Text_LarryPostBattle:: @ 818C04C + .string "Those ruins over there…\p" + .string "I haven't had any luck in finding\n" + .string "how I can get inside.$" + +SixIsland_RuinValley_Text_DarylIntro:: @ 818C09C + .string "A battle with you, so high up!$" + +SixIsland_RuinValley_Text_DarylDefeat:: @ 818C0BB + .string "Oh, the heartbreak of losing so\n" + .string "easily to you!$" + +SixIsland_RuinValley_Text_DarylPostBattle:: @ 818C0EA + .string "Experience the joy of climbing!$" + +SixIsland_RuinValley_Text_HectorIntro:: @ 818C10A + .string "I'm pretty familiar with the land\n" + .string "around these parts.$" + +SixIsland_RuinValley_Text_HectorDefeat:: @ 818C140 + .string "You don't need to be so pushy.\n" + .string "I'll be happy to tell you.$" + +SixIsland_RuinValley_Text_HectorPostBattle:: @ 818C17A + .string "The door to the ruins…\n" + .string "It has these strange patterns\l" + .string "engraved on the outside.\p" + .string "I don't know what they mean,\n" + .string "though.$" diff --git a/data/maps/SixIsland_WaterPath/map.json b/data/maps/SixIsland_WaterPath/map.json index edd2ac240..acd74ce8d 100644 --- a/data/maps/SixIsland_WaterPath/map.json +++ b/data/maps/SixIsland_WaterPath/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_WATER_PATH", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_SIX_ISLAND_GREEN_PATH", @@ -30,7 +32,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 12, "y": 13, "elevation": 3, @@ -39,11 +41,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SixIsland_WaterPath_EventScript_1AC555", + "script": "SixIsland_WaterPath_EventScript_Rose", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 11, "y": 52, "elevation": 3, @@ -52,11 +54,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SixIsland_WaterPath_EventScript_1AC593", + "script": "SixIsland_WaterPath_EventScript_Edward", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_M_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_M_WATER", "x": 13, "y": 35, "elevation": 1, @@ -65,11 +67,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "SixIsland_WaterPath_EventScript_1AC5D1", + "script": "SixIsland_WaterPath_EventScript_Samir", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_F_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_F_WATER", "x": 15, "y": 45, "elevation": 1, @@ -78,11 +80,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SixIsland_WaterPath_EventScript_1AC60F", + "script": "SixIsland_WaterPath_EventScript_Denise", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 6, "y": 21, "elevation": 3, @@ -91,11 +93,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SixIsland_WaterPath_EventScript_1AC64D", + "script": "SixIsland_WaterPath_EventScript_Miu", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 7, "y": 21, "elevation": 3, @@ -104,11 +106,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SixIsland_WaterPath_EventScript_1AC693", + "script": "SixIsland_WaterPath_EventScript_Mia", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 11, "y": 76, "elevation": 3, @@ -117,11 +119,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "SixIsland_WaterPath_EventScript_1AC6D9", + "script": "SixIsland_WaterPath_EventScript_Earl", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 17, "y": 19, "elevation": 0, @@ -134,7 +136,7 @@ "flag": "FLAG_HIDE_SIX_ISLAND_WATER_PATH_ELIXIR" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 17, "y": 87, "elevation": 3, @@ -166,11 +168,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 14, "elevation": 0, - "script": "SixIsland_WaterPath_EventScript_168B41" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SixIsland_WaterPath_EventScript_HornWantedSign" }, { "type": "hidden_item", @@ -203,11 +206,12 @@ "underfoot": false }, { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 54, "elevation": 0, - "script": "SixIsland_WaterPath_EventScript_168B4A" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SixIsland_WaterPath_EventScript_RouteSign" } ] } diff --git a/data/maps/SixIsland_WaterPath/scripts.inc b/data/maps/SixIsland_WaterPath/scripts.inc index 27f49d4aa..0df3fab4b 100644 --- a/data/maps/SixIsland_WaterPath/scripts.inc +++ b/data/maps/SixIsland_WaterPath/scripts.inc @@ -1,10 +1,10 @@ SixIsland_WaterPath_MapScripts:: @ 8168B40 .byte 0 -SixIsland_WaterPath_EventScript_168B41:: @ 8168B41 - msgbox gUnknown_818BD0C, MSGBOX_SIGN +SixIsland_WaterPath_EventScript_HornWantedSign:: @ 8168B41 + msgbox SixIsland_WaterPath_Text_WantedUltimateHorn, MSGBOX_SIGN end -SixIsland_WaterPath_EventScript_168B4A:: @ 8168B4A - msgbox gUnknown_818BD27, MSGBOX_SIGN +SixIsland_WaterPath_EventScript_RouteSign:: @ 8168B4A + msgbox SixIsland_WaterPath_Text_RouteSign, MSGBOX_SIGN end diff --git a/data/maps/SixIsland_WaterPath/text.inc b/data/maps/SixIsland_WaterPath/text.inc index 70a8ce017..7ee28923a 100644 --- a/data/maps/SixIsland_WaterPath/text.inc +++ b/data/maps/SixIsland_WaterPath/text.inc @@ -1,102 +1,102 @@ -Text_18B896:: @ 818B896 +SixIsland_WaterPath_Text_RoseIntro:: @ 818B896 .string "I let a pleasant breeze lead me\n" .string "all the way here.$" -Text_18B8C8:: @ 818B8C8 +SixIsland_WaterPath_Text_RoseDefeat:: @ 818B8C8 .string "Giggle… You're so cute when you're\n" .string "determined.$" -Text_18B8F7:: @ 818B8F7 +SixIsland_WaterPath_Text_RosePostBattle:: @ 818B8F7 .string "I want to go to the woods over\n" .string "there, but…\p" .string "There are lots of BUG POKéMON.\n" .string "They scare me a little.$" -Text_18B959:: @ 818B959 +SixIsland_WaterPath_Text_EdwardIntro:: @ 818B959 .string "I'm practicing in secret so no one\n" .string "can see me.$" -Text_18B988:: @ 818B988 +SixIsland_WaterPath_Text_EdwardDefeat:: @ 818B988 .string "Nobody saw me losing, right?$" -Text_18B9A5:: @ 818B9A5 +SixIsland_WaterPath_Text_EdwardPostBattle:: @ 818B9A5 .string "As a performer, I don't want people\n" .string "to know about the effort I put in.$" -Text_18B9EC:: @ 818B9EC +SixIsland_WaterPath_Text_SamirIntro:: @ 818B9EC .string "What, you're suggesting that you're\n" .string "sick of seeing SWIMMERS like me?\p" .string "Aww, don't be hatin'!$" -Text_18BA47:: @ 818BA47 +SixIsland_WaterPath_Text_SamirDefeat:: @ 818BA47 .string "Oh, no, no, no.$" -Text_18BA57:: @ 818BA57 +SixIsland_WaterPath_Text_SamirPostBattle:: @ 818BA57 .string "I couldn't lift the stigma of being\n" .string "a SWIMMER…$" -Text_18BA86:: @ 818BA86 +SixIsland_WaterPath_Text_DeniseIntro:: @ 818BA86 .string "My boyfriend's always busy, so I\n" .string "come swimming by myself.$" -Text_18BAC0:: @ 818BAC0 +SixIsland_WaterPath_Text_DeniseDefeat:: @ 818BAC0 .string "Awww, I knew this would happen!$" -Text_18BAE0:: @ 818BAE0 +SixIsland_WaterPath_Text_DenisePostBattle:: @ 818BAE0 .string "When I can't be with my boyfriend,\n" .string "I spend time with the POKéMON he\l" .string "gave me.$" -Text_18BB2D:: @ 818BB2D +SixIsland_WaterPath_Text_EarlIntro:: @ 818BB2D .string "Tell me, where are the mountains\n" .string "around these parts?$" -Text_18BB62:: @ 818BB62 +SixIsland_WaterPath_Text_EarlDefeat:: @ 818BB62 .string "I lost my way while I was busy\n" .string "battling!$" -Text_18BB8B:: @ 818BB8B +SixIsland_WaterPath_Text_EarlPostBattle:: @ 818BB8B .string "Aren't there any mountains around\n" .string "these parts?$" -Text_18BBBA:: @ 818BBBA +SixIsland_WaterPath_Text_MiuIntro:: @ 818BBBA .string "MIU: Hello, POKéMON!\n" .string "It's time to play!$" -Text_18BBE2:: @ 818BBE2 +SixIsland_WaterPath_Text_MiuDefeat:: @ 818BBE2 .string "MIU: Oh, no!\n" .string "Mommy!$" -Text_18BBF6:: @ 818BBF6 +SixIsland_WaterPath_Text_MiuPostBattle:: @ 818BBF6 .string "MIU: It makes me all sad inside\n" .string "when we lose…$" -Text_18BC24:: @ 818BC24 +SixIsland_WaterPath_Text_MiuNotEnoughMons:: @ 818BC24 .string "MIU: MIA and I are TWINS.\n" .string "We want to battle together.$" -Text_18BC5A:: @ 818BC5A +SixIsland_WaterPath_Text_MiaIntro:: @ 818BC5A .string "MIA: Hello, POKéMON!\n" .string "It's time to battle!$" -Text_18BC84:: @ 818BC84 +SixIsland_WaterPath_Text_MiaDefeat:: @ 818BC84 .string "MIA: You're mean!\n" .string "You're bad for winning!$" -Text_18BCAE:: @ 818BCAE +SixIsland_WaterPath_Text_MiaPostBattle:: @ 818BCAE .string "MIA: Ohh…\n" .string "I'm sorry, my POKéMON…$" -Text_18BCCF:: @ 818BCCF +SixIsland_WaterPath_Text_MiaNotEnoughMons:: @ 818BCCF .string "MIA: Oh, you only have one\n" .string "POKéMON?\p" .string "Don't you feel lonesome?$" -gUnknown_818BD0C:: @ 818BD0C +SixIsland_WaterPath_Text_WantedUltimateHorn:: @ 818BD0C .string "Wanted!\n" .string "The Ultimate Horn!$" -gUnknown_818BD27:: @ 818BD27 +SixIsland_WaterPath_Text_RouteSign:: @ 818BD27 .string "WATER PATH\n" .string "Leads to RUIN VALLEY$" diff --git a/data/maps/SixIsland_WaterPath_House1/map.json b/data/maps/SixIsland_WaterPath_House1/map.json index 1405f0707..8ebfb4adf 100644 --- a/data/maps/SixIsland_WaterPath_House1/map.json +++ b/data/maps/SixIsland_WaterPath_House1/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_WATER_PATH", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BEAUTY", + "graphics_id": "OBJ_EVENT_GFX_BEAUTY", "x": 3, "y": 4, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SixIsland_WaterPath_House1_EventScript_17206D", + "script": "SixIsland_WaterPath_House1_EventScript_Beauty", "flag": "0" } ], @@ -39,11 +41,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 9, "y": 1, "elevation": 0, - "script": "SixIsland_WaterPath_House1_EventScript_172157" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "SixIsland_WaterPath_House1_EventScript_SizeRecord" } ] } diff --git a/data/maps/SixIsland_WaterPath_House1/scripts.inc b/data/maps/SixIsland_WaterPath_House1/scripts.inc index a8efb4608..9f9b33c7f 100644 --- a/data/maps/SixIsland_WaterPath_House1/scripts.inc +++ b/data/maps/SixIsland_WaterPath_House1/scripts.inc @@ -1,84 +1,84 @@ SixIsland_WaterPath_House1_MapScripts:: @ 817206C .byte 0 -SixIsland_WaterPath_House1_EventScript_17206D:: @ 817206D +SixIsland_WaterPath_House1_EventScript_Beauty:: @ 817206D lock faceplayer goto_if_questlog EventScript_ReleaseEnd special sub_8112364 setvar VAR_0x8004, SPECIES_HERACROSS - specialvar VAR_RESULT, Special_PlayerPartyContainsSpecies - compare VAR_RESULT, 0 - goto_if_eq EventScript_1720E5 + specialvar VAR_RESULT, DoesPlayerPartyContainSpecies + compare VAR_RESULT, FALSE + goto_if_eq SixIsland_WaterPath_House1_EventScript_NoHeracrossInParty special GetHeracrossSizeRecordInfo - msgbox gUnknown_81A4A3F - special Special_ChooseMonFromParty + msgbox SixIsland_WaterPath_House1_Text_MayIMeasureHeracross + special ChoosePartyMon waitstate copyvar VAR_RESULT, VAR_0x8004 - compare VAR_RESULT, 6 - goto_if_ge EventScript_1720EF + compare VAR_RESULT, PARTY_SIZE + goto_if_ge SixIsland_WaterPath_House1_EventScript_DontShowMon special CompareHeracrossSize compare VAR_RESULT, 1 - goto_if_eq EventScript_1720F1 + goto_if_eq SixIsland_WaterPath_House1_EventScript_ShownNonHeracross compare VAR_RESULT, 2 - goto_if_eq EventScript_1720FB + goto_if_eq SixIsland_WaterPath_House1_EventScript_ShownSmallHeracross compare VAR_RESULT, 3 - goto_if_eq EventScript_172121 + goto_if_eq SixIsland_WaterPath_House1_EventScript_ShownBigHeracross compare VAR_RESULT, 4 - goto_if_eq EventScript_17210E + goto_if_eq SixIsland_WaterPath_House1_EventScript_ShownTiedHeracross release end -EventScript_1720E5:: @ 81720E5 - msgbox gUnknown_81A49E9 +SixIsland_WaterPath_House1_EventScript_NoHeracrossInParty:: @ 81720E5 + msgbox SixIsland_WaterPath_House1_Text_LoveItNeedItHeracross release end -EventScript_1720EF:: @ 81720EF +SixIsland_WaterPath_House1_EventScript_DontShowMon:: @ 81720EF release end -EventScript_1720F1:: @ 81720F1 - msgbox gUnknown_81A4BEF +SixIsland_WaterPath_House1_EventScript_ShownNonHeracross:: @ 81720F1 + msgbox SixIsland_WaterPath_House1_Text_ThisWontDo release end -EventScript_1720FB:: @ 81720FB - goto_if_unset FLAG_GOT_NEST_BALL_FROM_WATER_PATH_HOUSE_1, EventScript_172121 - msgbox gUnknown_81A4B7A +SixIsland_WaterPath_House1_EventScript_ShownSmallHeracross:: @ 81720FB + goto_if_unset FLAG_GOT_NEST_BALL_FROM_WATER_PATH_HOUSE_1, SixIsland_WaterPath_House1_EventScript_ShownBigHeracross + msgbox SixIsland_WaterPath_House1_Text_ItsXInchesYInchesWasBiggest release end -EventScript_17210E:: @ 817210E - goto_if_unset FLAG_GOT_NEST_BALL_FROM_WATER_PATH_HOUSE_1, EventScript_172121 - msgbox gUnknown_81A4B39 +SixIsland_WaterPath_House1_EventScript_ShownTiedHeracross:: @ 817210E + goto_if_unset FLAG_GOT_NEST_BALL_FROM_WATER_PATH_HOUSE_1, SixIsland_WaterPath_House1_EventScript_ShownBigHeracross + msgbox SixIsland_WaterPath_House1_Text_ItsXInchesSameAsBefore release end -EventScript_172121:: @ 8172121 +SixIsland_WaterPath_House1_EventScript_ShownBigHeracross:: @ 8172121 setflag FLAG_GOT_NEST_BALL_FROM_WATER_PATH_HOUSE_1 - msgbox gUnknown_81A4A88 + msgbox SixIsland_WaterPath_House1_Text_ItsXInchesDeserveReward giveitem ITEM_NEST_BALL - compare VAR_RESULT, 0 - goto_if_eq EventScript_17214D - msgbox gUnknown_81A4AD9 + compare VAR_RESULT, FALSE + goto_if_eq SixIsland_WaterPath_House1_EventScript_NoRoomForNestBall + msgbox SixIsland_WaterPath_House1_Text_WantToSeeBiggerOne release end -EventScript_17214D:: @ 817214D - msgbox gUnknown_81A4C47 +SixIsland_WaterPath_House1_EventScript_NoRoomForNestBall:: @ 817214D + msgbox SixIsland_WaterPath_House1_Text_YourBagIsFull release end -SixIsland_WaterPath_House1_EventScript_172157:: @ 8172157 +SixIsland_WaterPath_House1_EventScript_SizeRecord:: @ 8172157 lockall - goto_if_set FLAG_GOT_NEST_BALL_FROM_WATER_PATH_HOUSE_1, EventScript_17216B - msgbox gUnknown_81A4CB9 + goto_if_set FLAG_GOT_NEST_BALL_FROM_WATER_PATH_HOUSE_1, SixIsland_WaterPath_House1_EventScript_SizeRecordNonEmpty + msgbox SixIsland_WaterPath_House1_Text_BlankChartOfSomeSort releaseall end -EventScript_17216B:: @ 817216B +SixIsland_WaterPath_House1_EventScript_SizeRecordNonEmpty:: @ 817216B special GetHeracrossSizeRecordInfo - msgbox gUnknown_81A4C6E + msgbox SixIsland_WaterPath_House1_Text_BiggestHeracrossIsXInches releaseall end diff --git a/data/maps/SixIsland_WaterPath_House1/text.inc b/data/maps/SixIsland_WaterPath_House1/text.inc index 4c32a80ff..a7e61b961 100644 --- a/data/maps/SixIsland_WaterPath_House1/text.inc +++ b/data/maps/SixIsland_WaterPath_House1/text.inc @@ -1,104 +1,50 @@ -Text_UltimateMoveThatMon:: @ 81A46C6 - .string "I perfected the ultimate move of\n" - .string "its type…\p" - .string "But will no one take it for\n" - .string "future use?\p" - .string "…Hm? Hmmm!\p" - .string "Y-you…\n" - .string "Th-that {STR_VAR_1}…$" - -Text_JustMistaken:: @ 81A4737 - .string "…No…\n" - .string "I was just mistaken.$" - -Text_AllowMeToTeachMonUltimateMove:: @ 81A4751 - .string "Oh! This is the one!\n" - .string "This is the POKéMON!\p" - .string "This {STR_VAR_1} is worthy of\n" - .string "learning my ultimate move!\p" - .string "Will you allow it?\p" - .string "Will you allow your {STR_VAR_1} to\n" - .string "learn my {STR_VAR_2}?$" - -Text_YouRejectIt:: @ 81A47E5 - .string "Gaah! You reject it?\n" - .string "No, I won't be dissuaded!$" - -Text_LetMeConferUltimateMove:: @ 81A4814 - .string "You will allow it?\p" - .string "Then, let me confer my ultimate\n" - .string "{STR_VAR_2} on your {STR_VAR_1}.\p" - .string "Ggggrah-awooo!$" - -Text_TaughtMove:: @ 81A4865 - .string "Gasp, gasp, gasp…\p" - .string "I didn't think I could teach that\n" - .string "move while I still lived…$" - -Text_MakeBestUseOfMove:: @ 81A48B3 - .string "I implore you to make the best\n" - .string "use of that move and gain power!$" - -Text_PassedOnEverythingIKnow:: @ 81A48F3 - .string "Gasp, gasp, gasp…\p" - .string "I have no regrets now.\n" - .string "I've passed on everything I know.\p" - .string "Now I can live out my life knowing\n" - .string "my work is done.$" - -Text_FeelRejuvenated:: @ 81A4972 - .string "After I passed on my knowledge to\n" - .string "you, I felt so much relief.\p" - .string "In fact, I feel rejuvenated,\n" - .string "as if I were younger again!$" - -gUnknown_81A49E9:: @ 81A49E9 +SixIsland_WaterPath_House1_Text_LoveItNeedItHeracross:: @ 81A49E9 .string "Hera, hera, HERACROSS!\n" .string "Big and shiny, it's the bug boss!\l" .string "Love it, need it, HERACROSS!$" -gUnknown_81A4A3F:: @ 81A4A3F +SixIsland_WaterPath_House1_Text_MayIMeasureHeracross:: @ 81A4A3F .string "Eeeeek!\n" .string "That's a HERACROSS!\p" .string "Please, please, may I measure how\n" .string "big it is?$" -gUnknown_81A4A88:: @ 81A4A88 +SixIsland_WaterPath_House1_Text_ItsXInchesDeserveReward:: @ 81A4A88 .string "Eeeek, it's {STR_VAR_2} inches!\n" .string "I've never seen anything like this!\l" .string "You deserve a reward!$" -gUnknown_81A4AD9:: @ 81A4AD9 +SixIsland_WaterPath_House1_Text_WantToSeeBiggerOne:: @ 81A4AD9 .string "I want to see a much, much bigger\n" .string "HERACROSS than that one.\p" .string "Oh, how I adore them, big\n" .string "HERACROSS!$" -gUnknown_81A4B39:: @ 81A4B39 +SixIsland_WaterPath_House1_Text_ItsXInchesSameAsBefore:: @ 81A4B39 .string "Huh? This {STR_VAR_2}-inch measurement…\n" .string "Oh, boo! It's the same as before.$" -gUnknown_81A4B7A:: @ 81A4B7A +SixIsland_WaterPath_House1_Text_ItsXInchesYInchesWasBiggest:: @ 81A4B7A .string "Oh, it's just {STR_VAR_2} inches.\n" .string "The HERACROSS before was bigger.\p" .string "It was {STR_VAR_3} inches, the biggest\n" .string "HERACROSS you've brought me.$" -gUnknown_81A4BEF:: @ 81A4BEF +SixIsland_WaterPath_House1_Text_ThisWontDo:: @ 81A4BEF .string "Oh, no! This won't do!\p" .string "HERACROSS looks much more macho\n" .string "and cool, and has a lovely horn!$" -gUnknown_81A4C47:: @ 81A4C47 +SixIsland_WaterPath_House1_Text_YourBagIsFull:: @ 81A4C47 .string "Your BAG is full.\n" .string "My reward won't fit.$" -gUnknown_81A4C6E:: @ 81A4C6E +SixIsland_WaterPath_House1_Text_BiggestHeracrossIsXInches:: @ 81A4C6E .string "The biggest HERACROSS that I have\n" .string "ever seen measured so far is:\p" .string "{STR_VAR_3} inches!$" -gUnknown_81A4CB9:: @ 81A4CB9 +SixIsland_WaterPath_House1_Text_BlankChartOfSomeSort:: @ 81A4CB9 .string "It's a blank chart of some sort.\p" .string "It has spaces for writing in\n" .string "records of some kind.$" diff --git a/data/maps/SixIsland_WaterPath_House2/map.json b/data/maps/SixIsland_WaterPath_House2/map.json index 91221239f..200475e2d 100644 --- a/data/maps/SixIsland_WaterPath_House2/map.json +++ b/data/maps/SixIsland_WaterPath_House2/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_WATER_PATH", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 7, "y": 4, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SixIsland_WaterPath_House2_EventScript_172179", + "script": "SixIsland_WaterPath_House2_EventScript_Man", "flag": "0" } ], diff --git a/data/maps/SixIsland_WaterPath_House2/scripts.inc b/data/maps/SixIsland_WaterPath_House2/scripts.inc index 4cb8e9827..937fdd178 100644 --- a/data/maps/SixIsland_WaterPath_House2/scripts.inc +++ b/data/maps/SixIsland_WaterPath_House2/scripts.inc @@ -1,6 +1,6 @@ SixIsland_WaterPath_House2_MapScripts:: @ 8172178 .byte 0 -SixIsland_WaterPath_House2_EventScript_172179:: @ 8172179 - msgbox gUnknown_81A4D0D, MSGBOX_NPC +SixIsland_WaterPath_House2_EventScript_Man:: @ 8172179 + msgbox SixIsland_WaterPath_House2_Text_MyNeighborMeasuredMe, MSGBOX_NPC end diff --git a/data/maps/SixIsland_WaterPath_House2/text.inc b/data/maps/SixIsland_WaterPath_House2/text.inc index 03c8e187b..19dd60965 100644 --- a/data/maps/SixIsland_WaterPath_House2/text.inc +++ b/data/maps/SixIsland_WaterPath_House2/text.inc @@ -1,4 +1,4 @@ -gUnknown_81A4D0D:: @ 81A4D0D +SixIsland_WaterPath_House2_Text_MyNeighborMeasuredMe:: @ 81A4D0D .string "My height is 67.0 inches on the\n" .string "button.\p" .string "I know it is this precisely because\n" diff --git a/data/maps/ThreeIsland/map.json b/data/maps/ThreeIsland/map.json index 2e758df5e..f68701fc0 100644 --- a/data/maps/ThreeIsland/map.json +++ b/data/maps/ThreeIsland/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_THREE_ISLAND", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_1", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_TOWN", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_THREE_ISLAND_PORT", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 7, "y": 24, "elevation": 3, @@ -34,11 +36,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_EventScript_1677E5", + "script": "ThreeIsland_EventScript_AntiBiker1", "flag": "FLAG_HIDE_THREE_ISLAND_ANTIBIKERS" }, { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 8, "y": 23, "elevation": 3, @@ -47,11 +49,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_EventScript_167989", + "script": "ThreeIsland_EventScript_AntiBiker2", "flag": "FLAG_HIDE_THREE_ISLAND_ANTIBIKERS" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 8, "y": 24, "elevation": 3, @@ -60,11 +62,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_EventScript_1677D8", + "script": "ThreeIsland_EventScript_Biker", "flag": "FLAG_HIDE_THREE_ISLAND_LONE_BIKER" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 9, "y": 23, "elevation": 3, @@ -73,11 +75,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_EventScript_1677D8", + "script": "ThreeIsland_EventScript_Biker", "flag": "FLAG_HIDE_THREE_ISLAND_BIKERS" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 9, "y": 24, "elevation": 3, @@ -86,11 +88,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_EventScript_1677D8", + "script": "ThreeIsland_EventScript_Biker", "flag": "FLAG_HIDE_THREE_ISLAND_BIKERS" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 10, "y": 22, "elevation": 3, @@ -99,11 +101,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_EventScript_1677D8", + "script": "ThreeIsland_EventScript_Biker", "flag": "FLAG_HIDE_THREE_ISLAND_BIKERS" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 10, "y": 24, "elevation": 3, @@ -112,11 +114,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_EventScript_1677D8", + "script": "ThreeIsland_EventScript_Biker", "flag": "FLAG_HIDE_THREE_ISLAND_BIKERS" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 11, "y": 23, "elevation": 3, @@ -125,11 +127,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_EventScript_1677D8", + "script": "ThreeIsland_EventScript_Biker", "flag": "FLAG_HIDE_THREE_ISLAND_BIKERS" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 20, "y": 7, "elevation": 3, @@ -138,11 +140,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 18, "y": 17, "elevation": 3, @@ -155,7 +157,7 @@ "flag": "FLAG_HIDE_THREE_ISLAND_ZINC" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_1", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_1", "x": 15, "y": 7, "elevation": 3, @@ -164,11 +166,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_EventScript_167C77", + "script": "ThreeIsland_EventScript_Woman", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_BOY", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_BOY", "x": 14, "y": 14, "elevation": 3, @@ -177,11 +179,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_EventScript_167C80", + "script": "ThreeIsland_EventScript_LittleBoy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_DODUO", + "graphics_id": "OBJ_EVENT_GFX_DODUO", "x": 15, "y": 14, "elevation": 3, @@ -190,11 +192,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_EventScript_167C89", + "script": "ThreeIsland_EventScript_Doduo", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 15, "y": 31, "elevation": 3, @@ -203,7 +205,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_EventScript_167CA5", + "script": "ThreeIsland_EventScript_Biker6", "flag": "FLAG_HIDE_THREE_ISLAND_BIKERS" } ], @@ -266,7 +268,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_THREE_ISLAND", "var_value": 2, - "script": "ThreeIsland_EventScript_1679B5" + "script": "ThreeIsland_EventScript_BikerBossIntroTrigger" }, { "type": "trigger", @@ -275,7 +277,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_THREE_ISLAND", "var_value": 2, - "script": "ThreeIsland_EventScript_1679B5" + "script": "ThreeIsland_EventScript_BikerBossIntroTrigger" }, { "type": "trigger", @@ -284,7 +286,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_THREE_ISLAND", "var_value": 2, - "script": "ThreeIsland_EventScript_1679B5" + "script": "ThreeIsland_EventScript_BikerBossIntroTrigger" }, { "type": "trigger", @@ -293,7 +295,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_THREE_ISLAND", "var_value": 2, - "script": "ThreeIsland_EventScript_1679B5" + "script": "ThreeIsland_EventScript_BikerBossIntroTrigger" }, { "type": "trigger", @@ -302,7 +304,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_THREE_ISLAND", "var_value": 3, - "script": "ThreeIsland_EventScript_167A1D" + "script": "ThreeIsland_EventScript_BattleBikersTriggerLeft" }, { "type": "trigger", @@ -311,7 +313,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_THREE_ISLAND", "var_value": 3, - "script": "ThreeIsland_EventScript_167A29" + "script": "ThreeIsland_EventScript_BattleBikersTriggerMidLeft" }, { "type": "trigger", @@ -320,7 +322,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_THREE_ISLAND", "var_value": 3, - "script": "ThreeIsland_EventScript_167A35" + "script": "ThreeIsland_EventScript_BattleBikersTriggerMid" }, { "type": "trigger", @@ -329,7 +331,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_THREE_ISLAND", "var_value": 2, - "script": "ThreeIsland_EventScript_1679B5" + "script": "ThreeIsland_EventScript_BikerBossIntroTrigger" }, { "type": "trigger", @@ -338,7 +340,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_THREE_ISLAND", "var_value": 3, - "script": "ThreeIsland_EventScript_167A41" + "script": "ThreeIsland_EventScript_BattleBikersTriggerMidRight" }, { "type": "trigger", @@ -347,16 +349,17 @@ "elevation": 3, "var": "VAR_MAP_SCENE_THREE_ISLAND", "var_value": 3, - "script": "ThreeIsland_EventScript_167A4D" + "script": "ThreeIsland_EventScript_BattleBikersTriggerRight" } ], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 12, "y": 31, "elevation": 0, - "script": "ThreeIsland_EventScript_167C9C" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "ThreeIsland_EventScript_IslandSign" }, { "type": "hidden_item", diff --git a/data/maps/ThreeIsland/scripts.inc b/data/maps/ThreeIsland/scripts.inc index a92ad452a..484d8dba0 100644 --- a/data/maps/ThreeIsland/scripts.inc +++ b/data/maps/ThreeIsland/scripts.inc @@ -1,379 +1,390 @@ +.equ LOCALID_ANTIBIKER1, 1 +.equ LOCALID_ANTIBIKER2, 2 +.equ LOCALID_PAXTON, 3 +.equ LOCALID_BIKER1, 5 +.equ LOCALID_BIKER2, 7 +.equ LOCALID_BIKER3, 4 +.equ LOCALID_BIKER4, 6 +.equ LOCALID_BIKER5, 8 +.equ LOCALID_BIKER6, 14 + ThreeIsland_MapScripts:: @ 81677AD map_script MAP_SCRIPT_ON_TRANSITION, ThreeIsland_OnTransition .byte 0 ThreeIsland_OnTransition:: @ 81677B3 setworldmapflag FLAG_WORLD_MAP_THREE_ISLAND - call_if_set FLAG_RESCUED_LOSTELLE, EventScript_1677CB + call_if_set FLAG_RESCUED_LOSTELLE, ThreeIsland_EventScript_HideAntiBikers compare VAR_MAP_SCENE_THREE_ISLAND, 4 - call_if_eq EventScript_1677CF + call_if_eq ThreeIsland_EventScript_SetAntiBikersMovementAfterBikers end -EventScript_1677CB:: @ 81677CB +ThreeIsland_EventScript_HideAntiBikers:: @ 81677CB setflag FLAG_HIDE_THREE_ISLAND_ANTIBIKERS return -EventScript_1677CF:: @ 81677CF - setobjectmovementtype 1, 1 - setobjectmovementtype 2, 1 +ThreeIsland_EventScript_SetAntiBikersMovementAfterBikers:: @ 81677CF + setobjectmovementtype LOCALID_ANTIBIKER1, MOVEMENT_TYPE_LOOK_AROUND + setobjectmovementtype LOCALID_ANTIBIKER2, MOVEMENT_TYPE_LOOK_AROUND return -ThreeIsland_EventScript_1677D8:: @ 81677D8 +ThreeIsland_EventScript_Biker:: @ 81677D8 lock setvar VAR_TEMP_1, 2 - call EventScript_16786F + call ThreeIsland_EventScript_BikerArgumentScene release end -ThreeIsland_EventScript_1677E5:: @ 81677E5 +ThreeIsland_EventScript_AntiBiker1:: @ 81677E5 lock - goto_if_set FLAG_GOT_FULL_RESTORE_FROM_THREE_ISLAND_DEFENDER, EventScript_167806 + goto_if_set FLAG_GOT_FULL_RESTORE_FROM_THREE_ISLAND_DEFENDER, ThreeIsland_EventScript_AntiBiker1GotFullRestore compare VAR_MAP_SCENE_THREE_ISLAND, 4 - goto_if_eq EventScript_16781A + goto_if_eq ThreeIsland_EventScript_GiveFullRestore setvar VAR_TEMP_1, 0 - call EventScript_16786F + call ThreeIsland_EventScript_BikerArgumentScene release end -EventScript_167806:: @ 8167806 - applymovement 1, Movement_FacePlayer +ThreeIsland_EventScript_AntiBiker1GotFullRestore:: @ 8167806 + applymovement LOCALID_ANTIBIKER1, Movement_FacePlayer waitmovement 0 - msgbox gUnknown_81827F1 + msgbox ThreeIsland_Text_YouveGotImpressiveMons release end -EventScript_16781A:: @ 816781A - applymovement 1, Movement_FacePlayer +ThreeIsland_EventScript_GiveFullRestore:: @ 816781A + applymovement LOCALID_ANTIBIKER1, Movement_FacePlayer waitmovement 0 - msgbox gUnknown_818275A + msgbox ThreeIsland_Text_ThankYouOhYourMonGotHurt checkitemspace ITEM_FULL_RESTORE, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_167865 - msgreceiveditem gUnknown_81827BE, ITEM_FULL_RESTORE + goto_if_eq ThreeIsland_EventScript_NoRoomForFullRestore + msgreceiveditem ThreeIsland_Text_GivenFullRestore, ITEM_FULL_RESTORE additem ITEM_FULL_RESTORE setflag FLAG_GOT_FULL_RESTORE_FROM_THREE_ISLAND_DEFENDER - msgbox gUnknown_81827F1 + msgbox ThreeIsland_Text_YouveGotImpressiveMons release end -EventScript_167865:: @ 8167865 - msgbox gUnknown_81827DB +ThreeIsland_EventScript_NoRoomForFullRestore:: @ 8167865 + msgbox ThreeIsland_Text_OhYourBagIsFull release end -EventScript_16786F:: @ 816786F +ThreeIsland_EventScript_BikerArgumentScene:: @ 816786F compare VAR_TEMP_1, 1 - call_if_eq EventScript_167947 + call_if_eq ThreeIsland_EventScript_PlayerFaceLeft compare VAR_TEMP_1, 2 - call_if_eq EventScript_167947 - applymovement 1, Movement_167A1B + call_if_eq ThreeIsland_EventScript_PlayerFaceLeft + applymovement LOCALID_ANTIBIKER1, ThreeIsland_Movement_SpeakRight waitmovement 0 - msgbox gUnknown_81820C0 + msgbox ThreeIsland_Text_GoBackToKanto compare VAR_TEMP_1, 0 - call_if_eq EventScript_167952 + call_if_eq ThreeIsland_EventScript_PlayerFaceRight compare VAR_TEMP_1, 1 - call_if_eq EventScript_167952 + call_if_eq ThreeIsland_EventScript_PlayerFaceRight compare VAR_TEMP_1, 2 - call_if_eq EventScript_16795D - applymovement 5, Movement_167A19 + call_if_eq ThreeIsland_EventScript_PlayerFaceBiker + applymovement LOCALID_BIKER1, ThreeIsland_Movement_SpeakLeft waitmovement 0 - msgbox gUnknown_8182125 + msgbox ThreeIsland_Text_BossIsOnHisWay compare VAR_TEMP_1, 0 - call_if_eq EventScript_167931 + call_if_eq ThreeIsland_EventScript_PlayerFaceUp compare VAR_TEMP_1, 1 - call_if_eq EventScript_167931 + call_if_eq ThreeIsland_EventScript_PlayerFaceUp compare VAR_TEMP_1, 2 - call_if_eq EventScript_167973 - applymovement 2, Movement_167A1B + call_if_eq ThreeIsland_EventScript_PlayerFaceAntiBiker + applymovement LOCALID_ANTIBIKER2, ThreeIsland_Movement_SpeakRight waitmovement 0 - msgbox gUnknown_81821A9 + msgbox ThreeIsland_Text_GetOffIslandNow compare VAR_TEMP_1, 0 - call_if_eq EventScript_167952 + call_if_eq ThreeIsland_EventScript_PlayerFaceRight compare VAR_TEMP_1, 1 - call_if_eq EventScript_167952 + call_if_eq ThreeIsland_EventScript_PlayerFaceRight compare VAR_TEMP_1, 2 - call_if_eq EventScript_16795D - applymovement 4, Movement_167A19 + call_if_eq ThreeIsland_EventScript_PlayerFaceBiker + applymovement LOCALID_BIKER3, ThreeIsland_Movement_SpeakLeft waitmovement 0 - msgbox gUnknown_81821DC + msgbox ThreeIsland_Text_WhosGonnaMakeMe return -EventScript_167931:: @ 8167931 +ThreeIsland_EventScript_PlayerFaceUp:: @ 8167931 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestUp waitmovement 0 return -EventScript_16793C:: @ 816793C +@ Unused +ThreeIsland_EventScript_PlayerFaceDown:: @ 816793C applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestDown waitmovement 0 return -EventScript_167947:: @ 8167947 +ThreeIsland_EventScript_PlayerFaceLeft:: @ 8167947 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestLeft waitmovement 0 return -EventScript_167952:: @ 8167952 +ThreeIsland_EventScript_PlayerFaceRight:: @ 8167952 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight waitmovement 0 return -EventScript_16795D:: @ 816795D +ThreeIsland_EventScript_PlayerFaceBiker:: @ 816795D getplayerxy VAR_0x8004, VAR_0x8005 compare VAR_0x8004, 9 - goto_if_ge EventScript_167931 - goto EventScript_167952 + goto_if_ge ThreeIsland_EventScript_PlayerFaceUp + goto ThreeIsland_EventScript_PlayerFaceRight end -EventScript_167973:: @ 8167973 +ThreeIsland_EventScript_PlayerFaceAntiBiker:: @ 8167973 getplayerxy VAR_0x8004, VAR_0x8005 compare VAR_0x8004, 9 - goto_if_ge EventScript_167947 - goto EventScript_167931 + goto_if_ge ThreeIsland_EventScript_PlayerFaceLeft + goto ThreeIsland_EventScript_PlayerFaceUp end -ThreeIsland_EventScript_167989:: @ 8167989 +ThreeIsland_EventScript_AntiBiker2:: @ 8167989 lock compare VAR_MAP_SCENE_THREE_ISLAND, 4 - goto_if_eq EventScript_1679A1 + goto_if_eq ThreeIsland_EventScript_AntiBiker2BikersGone setvar VAR_TEMP_1, 1 - call EventScript_16786F + call ThreeIsland_EventScript_BikerArgumentScene release end -EventScript_1679A1:: @ 81679A1 - applymovement 2, Movement_FacePlayer +ThreeIsland_EventScript_AntiBiker2BikersGone:: @ 81679A1 + applymovement LOCALID_ANTIBIKER2, Movement_FacePlayer waitmovement 0 - msgbox gUnknown_8182823 + msgbox ThreeIsland_Text_LostelleWentOffTowardsBondBridge release end -ThreeIsland_EventScript_1679B5:: @ 81679B5 +ThreeIsland_EventScript_BikerBossIntroTrigger:: @ 81679B5 lockall textcolor 0 - applymovement 1, Movement_167A1B + applymovement LOCALID_ANTIBIKER1, ThreeIsland_Movement_SpeakRight waitmovement 0 - msgbox gUnknown_81821F1 - applymovement 3, Movement_167A19 + msgbox ThreeIsland_Text_AreYouBossGoBackToKanto + applymovement LOCALID_PAXTON, ThreeIsland_Movement_SpeakLeft waitmovement 0 - msgbox gUnknown_818221F - applymovement 1, Movement_167A1B + msgbox ThreeIsland_Text_JustGotHerePal + applymovement LOCALID_ANTIBIKER1, ThreeIsland_Movement_SpeakRight waitmovement 0 - msgbox gUnknown_8182275 - applymovement 3, Movement_167A19 + msgbox ThreeIsland_Text_FollowersRaisingHavoc + applymovement LOCALID_PAXTON, ThreeIsland_Movement_SpeakLeft waitmovement 0 - msgbox gUnknown_81822FB - applymovement 1, Movement_167A1B + msgbox ThreeIsland_Text_OughtToBeThankingUs + applymovement LOCALID_ANTIBIKER1, ThreeIsland_Movement_SpeakRight waitmovement 0 - msgbox gUnknown_81823C7 + msgbox ThreeIsland_Text_YouCowardsToughInPack setvar VAR_MAP_SCENE_THREE_ISLAND, 3 releaseall end -Movement_167A19:: @ 8167A19 +ThreeIsland_Movement_SpeakLeft:: @ 8167A19 walk_in_place_left step_end -Movement_167A1B:: @ 8167A1B +ThreeIsland_Movement_SpeakRight:: @ 8167A1B walk_in_place_right step_end -ThreeIsland_EventScript_167A1D:: @ 8167A1D +ThreeIsland_EventScript_BattleBikersTriggerLeft:: @ 8167A1D lockall setvar VAR_TEMP_1, 0 - goto EventScript_167A59 + goto ThreeIsland_EventScript_BattleBikersScene end -ThreeIsland_EventScript_167A29:: @ 8167A29 +ThreeIsland_EventScript_BattleBikersTriggerMidLeft:: @ 8167A29 lockall setvar VAR_TEMP_1, 1 - goto EventScript_167A59 + goto ThreeIsland_EventScript_BattleBikersScene end -ThreeIsland_EventScript_167A35:: @ 8167A35 +ThreeIsland_EventScript_BattleBikersTriggerMid:: @ 8167A35 lockall setvar VAR_TEMP_1, 2 - goto EventScript_167A59 + goto ThreeIsland_EventScript_BattleBikersScene end -ThreeIsland_EventScript_167A41:: @ 8167A41 +ThreeIsland_EventScript_BattleBikersTriggerMidRight:: @ 8167A41 lockall setvar VAR_TEMP_1, 3 - goto EventScript_167A59 + goto ThreeIsland_EventScript_BattleBikersScene end -ThreeIsland_EventScript_167A4D:: @ 8167A4D +ThreeIsland_EventScript_BattleBikersTriggerRight:: @ 8167A4D lockall setvar VAR_TEMP_1, 4 - goto EventScript_167A59 + goto ThreeIsland_EventScript_BattleBikersScene end -EventScript_167A59:: @ 8167A59 +ThreeIsland_EventScript_BattleBikersScene:: @ 8167A59 textcolor 0 - applymovement 5, Movement_WalkInPlaceFastestDown + applymovement LOCALID_BIKER1, Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN - applymovement 5, Movement_ExclamationMark + applymovement LOCALID_BIKER1, Movement_ExclamationMark waitmovement 0 - applymovement 5, Movement_Delay48 + applymovement LOCALID_BIKER1, Movement_Delay48 waitmovement 0 - applymovement 5, Movement_167C57 + applymovement LOCALID_BIKER1, ThreeIsland_Movement_BikerApproach waitmovement 0 playbgm MUS_SHOUNEN, 0 - msgbox gUnknown_81823ED, MSGBOX_YESNO + msgbox ThreeIsland_Text_WannaMakeSomethingOfYourStaring, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_167C35 - msgbox gUnknown_818247D - setvar VAR_LAST_TALKED, 5 - trainerbattle_no_intro TRAINER_BIKER_GOON, Text_1824B7 - applymovement 5, Movement_167C5C + goto_if_eq ThreeIsland_EventScript_LeaveBikersAlone + msgbox ThreeIsland_Text_Biker1Intro + setvar VAR_LAST_TALKED, LOCALID_BIKER1 + trainerbattle_no_intro TRAINER_BIKER_GOON, ThreeIsland_Text_Biker1Defeat + applymovement LOCALID_BIKER1, ThreeIsland_Movement_BikerSpeak waitmovement 0 - msgbox gUnknown_81824CF + msgbox ThreeIsland_Text_Biker1PostBattle closemessage - applymovement 7, Movement_167C57 + applymovement LOCALID_BIKER2, ThreeIsland_Movement_BikerApproach waitmovement 0 playbgm MUS_SHOUNEN, 0 - msgbox gUnknown_81824EF - setvar VAR_LAST_TALKED, 7 - trainerbattle_no_intro TRAINER_BIKER_GOON_2, Text_182521 - applymovement 7, Movement_167C5C + msgbox ThreeIsland_Text_Biker2Intro + setvar VAR_LAST_TALKED, LOCALID_BIKER2 + trainerbattle_no_intro TRAINER_BIKER_GOON_2, ThreeIsland_Text_Biker2Defeat + applymovement LOCALID_BIKER2, ThreeIsland_Movement_BikerSpeak waitmovement 0 - msgbox gUnknown_8182536 + msgbox ThreeIsland_Text_Biker2PostBattle closemessage - applymovement 4, Movement_167C57 + applymovement LOCALID_BIKER3, ThreeIsland_Movement_BikerApproach waitmovement 0 playbgm MUS_SHOUNEN, 0 - msgbox gUnknown_8182582 - setvar VAR_LAST_TALKED, 4 - trainerbattle_no_intro TRAINER_BIKER_GOON_3, Text_1825D4 - applymovement 4, Movement_WalkInPlaceFastestLeft + msgbox ThreeIsland_Text_Biker3Intro + setvar VAR_LAST_TALKED, LOCALID_BIKER3 + trainerbattle_no_intro TRAINER_BIKER_GOON_3, ThreeIsland_Text_Biker3Defeat + applymovement LOCALID_BIKER3, Movement_WalkInPlaceFastestLeft waitmovement 0 - applymovement 6, Movement_WalkInPlaceFastestDown - applymovement 8, Movement_WalkInPlaceFastestDown + applymovement LOCALID_BIKER4, Movement_WalkInPlaceFastestDown + applymovement LOCALID_BIKER5, Movement_WalkInPlaceFastestDown waitmovement 0 - msgbox gUnknown_81825E2 + msgbox ThreeIsland_Text_Biker3PostBattle closemessage delay 45 compare VAR_TEMP_1, 0 - call_if_eq EventScript_167BC6 + call_if_eq ThreeIsland_EventScript_PaxtonApproachLeft compare VAR_TEMP_1, 1 - call_if_eq EventScript_167BD8 + call_if_eq ThreeIsland_EventScript_PaxtonApproachMidLeft compare VAR_TEMP_1, 2 - call_if_eq EventScript_167BEA + call_if_eq ThreeIsland_EventScript_PaxtonApproachMid compare VAR_TEMP_1, 3 - call_if_eq EventScript_167C03 + call_if_eq ThreeIsland_EventScript_PaxtonApproachMidRight compare VAR_TEMP_1, 4 - call_if_eq EventScript_167C1C + call_if_eq ThreeIsland_EventScript_PaxtonApproachRight playbgm MUS_SHOUNEN, 0 - msgbox gUnknown_8182623 - setvar VAR_LAST_TALKED, 3 - trainerbattle_no_intro TRAINER_CUE_BALL_PAXTON, Text_1826B7 - msgbox gUnknown_818271D + msgbox ThreeIsland_Text_PaxtonIntro + setvar VAR_LAST_TALKED, LOCALID_PAXTON + trainerbattle_no_intro TRAINER_CUE_BALL_PAXTON, ThreeIsland_Text_PaxtonDefeat + msgbox ThreeIsland_Text_PaxtonPostBattle closemessage fadescreen FADE_TO_BLACK - removeobject 3 - removeobject 5 - removeobject 7 - removeobject 4 - removeobject 6 - removeobject 8 - removeobject 14 + removeobject LOCALID_PAXTON + removeobject LOCALID_BIKER1 + removeobject LOCALID_BIKER2 + removeobject LOCALID_BIKER3 + removeobject LOCALID_BIKER4 + removeobject LOCALID_BIKER5 + removeobject LOCALID_BIKER6 fadescreen FADE_FROM_BLACK setvar VAR_MAP_SCENE_THREE_ISLAND, 4 releaseall end -EventScript_167BC6:: @ 8167BC6 - applymovement 4, Movement_WalkInPlaceFastestDown - applymovement 3, Movement_167C5E +ThreeIsland_EventScript_PaxtonApproachLeft:: @ 8167BC6 + applymovement LOCALID_BIKER3, Movement_WalkInPlaceFastestDown + applymovement LOCALID_PAXTON, ThreeIsland_Movement_PaxtonApproachLeft waitmovement 0 return -EventScript_167BD8:: @ 8167BD8 - applymovement 4, Movement_WalkInPlaceFastestDown - applymovement 3, Movement_167C62 +ThreeIsland_EventScript_PaxtonApproachMidLeft:: @ 8167BD8 + applymovement LOCALID_BIKER3, Movement_WalkInPlaceFastestDown + applymovement LOCALID_PAXTON, ThreeIsland_Movement_PaxtonApproachMidLeft waitmovement 0 return -EventScript_167BEA:: @ 8167BEA - applymovement 4, Movement_WalkInPlaceFastestDown - applymovement 3, Movement_167C64 - applymovement OBJ_EVENT_ID_PLAYER, Movement_167C68 +ThreeIsland_EventScript_PaxtonApproachMid:: @ 8167BEA + applymovement LOCALID_BIKER3, Movement_WalkInPlaceFastestDown + applymovement LOCALID_PAXTON, ThreeIsland_Movement_PaxtonApproachMid + applymovement OBJ_EVENT_ID_PLAYER, ThreeIsland_Movement_PlayerFacePaxton waitmovement 0 return -EventScript_167C03:: @ 8167C03 - applymovement 4, Movement_WalkInPlaceFastestDown - applymovement OBJ_EVENT_ID_PLAYER, Movement_167C68 - applymovement 3, Movement_167C6C +ThreeIsland_EventScript_PaxtonApproachMidRight:: @ 8167C03 + applymovement LOCALID_BIKER3, Movement_WalkInPlaceFastestDown + applymovement OBJ_EVENT_ID_PLAYER, ThreeIsland_Movement_PlayerFacePaxton + applymovement LOCALID_PAXTON, ThreeIsland_Movement_PaxtonApproachMidRight waitmovement 0 return -EventScript_167C1C:: @ 8167C1C - applymovement 4, Movement_WalkInPlaceFastestDown - applymovement OBJ_EVENT_ID_PLAYER, Movement_167C68 - applymovement 3, Movement_167C71 +ThreeIsland_EventScript_PaxtonApproachRight:: @ 8167C1C + applymovement LOCALID_BIKER3, Movement_WalkInPlaceFastestDown + applymovement OBJ_EVENT_ID_PLAYER, ThreeIsland_Movement_PlayerFacePaxton + applymovement LOCALID_PAXTON, ThreeIsland_Movement_PaxtonApproachRight waitmovement 0 return -EventScript_167C35:: @ 8167C35 - msgbox gUnknown_8182453 +ThreeIsland_EventScript_LeaveBikersAlone:: @ 8167C35 + msgbox ThreeIsland_Text_ThatsSmart closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_167C55 + applymovement OBJ_EVENT_ID_PLAYER, ThreeIsland_Movement_PlayerLeaveBikers waitmovement 0 - applymovement 5, Movement_167C59 + applymovement LOCALID_BIKER1, ThreeIsland_Movement_Biker1ReturnToPack waitmovement 0 fadedefaultbgm releaseall end -Movement_167C55:: @ 8167C55 +ThreeIsland_Movement_PlayerLeaveBikers:: @ 8167C55 walk_down step_end -Movement_167C57:: @ 8167C57 +ThreeIsland_Movement_BikerApproach:: @ 8167C57 walk_down step_end -Movement_167C59:: @ 8167C59 +ThreeIsland_Movement_Biker1ReturnToPack:: @ 8167C59 walk_up walk_in_place_fastest_left step_end -Movement_167C5C:: @ 8167C5C +ThreeIsland_Movement_BikerSpeak:: @ 8167C5C walk_in_place_down step_end -Movement_167C5E:: @ 8167C5E +ThreeIsland_Movement_PaxtonApproachLeft:: @ 8167C5E walk_down walk_left walk_in_place_fastest_down step_end -Movement_167C62:: @ 8167C62 +ThreeIsland_Movement_PaxtonApproachMidLeft:: @ 8167C62 walk_down step_end -Movement_167C64:: @ 8167C64 +ThreeIsland_Movement_PaxtonApproachMid:: @ 8167C64 walk_down walk_down walk_in_place_fastest_right step_end -Movement_167C68:: @ 8167C68 +ThreeIsland_Movement_PlayerFacePaxton:: @ 8167C68 delay_16 delay_16 walk_in_place_fastest_left step_end -Movement_167C6C:: @ 8167C6C +ThreeIsland_Movement_PaxtonApproachMidRight:: @ 8167C6C walk_down walk_down walk_right walk_in_place_fastest_right step_end -Movement_167C71:: @ 8167C71 +ThreeIsland_Movement_PaxtonApproachRight:: @ 8167C71 walk_down walk_down walk_right @@ -381,28 +392,28 @@ Movement_167C71:: @ 8167C71 walk_in_place_fastest_right step_end -ThreeIsland_EventScript_167C77:: @ 8167C77 - msgbox gUnknown_81828EB, MSGBOX_NPC +ThreeIsland_EventScript_Woman:: @ 8167C77 + msgbox ThreeIsland_Text_WouldntWantToSeeBikersHereAgain, MSGBOX_NPC end -ThreeIsland_EventScript_167C80:: @ 8167C80 - msgbox gUnknown_818298A, MSGBOX_NPC +ThreeIsland_EventScript_LittleBoy:: @ 8167C80 + msgbox ThreeIsland_Text_WhenDodouEvolvesGoingToPlayGame, MSGBOX_NPC end -ThreeIsland_EventScript_167C89:: @ 8167C89 +ThreeIsland_EventScript_Doduo:: @ 8167C89 lock faceplayer waitse playmoncry SPECIES_DODUO, 0 - msgbox gUnknown_81829F4 + msgbox ThreeIsland_Text_Doduo waitmoncry release end -ThreeIsland_EventScript_167C9C:: @ 8167C9C - msgbox gUnknown_8182061, MSGBOX_SIGN +ThreeIsland_EventScript_IslandSign:: @ 8167C9C + msgbox ThreeIsland_Text_IslandSign, MSGBOX_SIGN end -ThreeIsland_EventScript_167CA5:: @ 8167CA5 - msgbox gUnknown_818208B, MSGBOX_NPC +ThreeIsland_EventScript_Biker6:: @ 8167CA5 + msgbox ThreeIsland_Text_IslandBelongsToUs, MSGBOX_NPC end diff --git a/data/maps/ThreeIsland/text.inc b/data/maps/ThreeIsland/text.inc index 31e058a67..6f18aab9d 100644 --- a/data/maps/ThreeIsland/text.inc +++ b/data/maps/ThreeIsland/text.inc @@ -1,50 +1,50 @@ -gUnknown_8182061:: @ 8182061 +ThreeIsland_Text_IslandSign:: @ 8182061 .string "THREE ISLAND\n" .string "Kin Island of Family Bonding$" -gUnknown_818208B:: @ 818208B +ThreeIsland_Text_IslandBelongsToUs:: @ 818208B .string "Hyahoo!\p" .string "From this day on, this island\n" .string "belongs to us!$" -gUnknown_81820C0:: @ 81820C0 +ThreeIsland_Text_GoBackToKanto:: @ 81820C0 .string "We don't need you people bringing\n" .string "your noise and trouble here!\p" .string "We're asking you to go back to\n" .string "KANTO!$" -gUnknown_8182125:: @ 8182125 +ThreeIsland_Text_BossIsOnHisWay:: @ 8182125 .string "Hey, go cry somewhere else.\n" .string "Our boss is on his way.\p" .string "When he gets here, we'll give you\n" .string "a k-rad motorbike show you won't\l" .string "soon forget!$" -gUnknown_81821A9:: @ 81821A9 +ThreeIsland_Text_GetOffIslandNow:: @ 81821A9 .string "W-what!? Not on your life!\n" .string "Get off the island now!$" -gUnknown_81821DC:: @ 81821DC +ThreeIsland_Text_WhosGonnaMakeMe:: @ 81821DC .string "Who's gonna make me?$" -gUnknown_81821F1:: @ 81821F1 +ThreeIsland_Text_AreYouBossGoBackToKanto:: @ 81821F1 .string "Are you the boss?\n" .string "Go back to KANTO right now!$" -gUnknown_818221F:: @ 818221F +ThreeIsland_Text_JustGotHerePal:: @ 818221F .string "Hah?\p" .string "I just got here, pal.\p" .string "What's with the hostile attitude?\n" .string "It's mighty cold of you!$" -gUnknown_8182275:: @ 8182275 +ThreeIsland_Text_FollowersRaisingHavoc:: @ 8182275 .string "Your gang of followers have been\n" .string "raising havoc on their bikes.\p" .string "Do you have any idea how much\n" .string "trouble they've caused us on the\l" .string "island?$" -gUnknown_81822FB:: @ 81822FB +ThreeIsland_Text_OughtToBeThankingUs:: @ 81822FB .string "No, man, I don't get it at all.\p" .string "Look at this place.\n" .string "What do you do for entertainment?\p" @@ -53,57 +53,57 @@ gUnknown_81822FB:: @ 81822FB .string "But hey, if you insist, you can try\n" .string "making us leave.$" -gUnknown_81823C7:: @ 81823C7 +ThreeIsland_Text_YouCowardsToughInPack:: @ 81823C7 .string "Grr… You cowards…\n" .string "So tough in a pack…$" -gUnknown_81823ED:: @ 81823ED +ThreeIsland_Text_WannaMakeSomethingOfYourStaring:: @ 81823ED .string "You, what are you staring at?\n" .string "Don't you know it's not polite?\p" .string "You wanna make something of it\n" .string "or what?$" -gUnknown_8182453:: @ 8182453 +ThreeIsland_Text_ThatsSmart:: @ 8182453 .string "That's smart.\n" .string "Keep your nose out of this.$" -gUnknown_818247D:: @ 818247D +ThreeIsland_Text_Biker1Intro:: @ 818247D .string "Heh, I like your guts.\n" .string "You'll be losing money to me, but…$" -Text_1824B7:: @ 81824B7 +ThreeIsland_Text_Biker1Defeat:: @ 81824B7 .string "Wha…\n" .string "What is this kid?!$" -gUnknown_81824CF:: @ 81824CF +ThreeIsland_Text_Biker1PostBattle:: @ 81824CF .string "Aww, man…\n" .string "Don't you dare laugh!$" -gUnknown_81824EF:: @ 81824EF +ThreeIsland_Text_Biker2Intro:: @ 81824EF .string "Aren't you from KANTO?\n" .string "You should be on our side!$" -Text_182521:: @ 8182521 +ThreeIsland_Text_Biker2Defeat:: @ 8182521 .string "Stop fooling around!$" -gUnknown_8182536:: @ 8182536 +ThreeIsland_Text_Biker2PostBattle:: @ 8182536 .string "What's the matter with you,\n" .string "getting all hot like that?\p" .string "Totally uncool, man!$" -gUnknown_8182582:: @ 8182582 +ThreeIsland_Text_Biker3Intro:: @ 8182582 .string "We invited the boss out here,\n" .string "but you had to mess it up!\p" .string "You embarrassed us, man!$" -Text_1825D4:: @ 81825D4 +ThreeIsland_Text_Biker3Defeat:: @ 81825D4 .string "… … … … … …$" -gUnknown_81825E2:: @ 81825E2 +ThreeIsland_Text_Biker3PostBattle:: @ 81825E2 .string "Boss, I'm telling you, you've gotta\n" .string "do something about this kid!$" -gUnknown_8182623:: @ 8182623 +ThreeIsland_Text_PaxtonIntro:: @ 8182623 .string "I've been watching you, and I'd say\n" .string "you've done enough.\p" .string "What are you, their friend or\n" @@ -111,35 +111,35 @@ gUnknown_8182623:: @ 8182623 .string "Then I guess you'll be battling me\n" .string "in their place.$" -Text_1826B7:: @ 81826B7 +ThreeIsland_Text_PaxtonDefeat:: @ 81826B7 .string "All right, enough!\n" .string "We'll leave like you wanted!\p" .string "We'll be happy to see the last of\n" .string "this boring island!$" -gUnknown_818271D:: @ 818271D +ThreeIsland_Text_PaxtonPostBattle:: @ 818271D .string "Humph! Yeah, go right on hanging\n" .string "around with these hayseeds!$" -gUnknown_818275A:: @ 818275A +ThreeIsland_Text_ThankYouOhYourMonGotHurt:: @ 818275A .string "Thank you! Those goons were\n" .string "nothing but bad trouble.\p" .string "Oh, look, your POKéMON got hurt\n" .string "on my account.$" -gUnknown_81827BE:: @ 81827BE +ThreeIsland_Text_GivenFullRestore:: @ 81827BE .string "{PLAYER} was given\n" .string "a FULL RESTORE.$" -gUnknown_81827DB:: @ 81827DB +ThreeIsland_Text_OhYourBagIsFull:: @ 81827DB .string "Oh?\n" .string "Your BAG is full.$" -gUnknown_81827F1:: @ 81827F1 +ThreeIsland_Text_YouveGotImpressiveMons:: @ 81827F1 .string "You've got seriously impressive\n" .string "POKéMON with you.$" -gUnknown_8182823:: @ 8182823 +ThreeIsland_Text_LostelleWentOffTowardsBondBridge:: @ 8182823 .string "It'd be fantastic if someone as\n" .string "strong as you lived here.\p" .string "I hope you'll at least stay here\n" @@ -149,19 +149,19 @@ gUnknown_8182823:: @ 8182823 .string "LOSTELLE went off towards BOND\n" .string "BRIDGE a while ago.$" -gUnknown_81828EB:: @ 81828EB +ThreeIsland_Text_WouldntWantToSeeBikersHereAgain:: @ 81828EB .string "THREE ISLAND is actually the most\n" .string "populous of the islands here.\p" .string "Still, it could be less sleepy.\p" .string "But I wouldn't want to see goons\n" .string "like those BIKERS here again.$" -gUnknown_818298A:: @ 818298A +ThreeIsland_Text_WhenDodouEvolvesGoingToPlayGame:: @ 818298A .string "I'm going to train my DODUO in the\n" .string "BERRY FOREST.\p" .string "When it evolves, I'm going to play\n" .string "a game on TWO ISLAND.$" -gUnknown_81829F4:: @ 81829F4 +ThreeIsland_Text_Doduo:: @ 81829F4 .string "DODUO: Gigiih!$" diff --git a/data/maps/ThreeIsland_BerryForest/map.json b/data/maps/ThreeIsland_BerryForest/map.json index f6dd0d71c..d88a902a3 100644 --- a/data/maps/ThreeIsland_BerryForest/map.json +++ b/data/maps/ThreeIsland_BerryForest/map.json @@ -5,16 +5,18 @@ "music": "MUS_T_MORI", "region_map_section": "MAPSEC_BERRY_FOREST", "requires_flash": false, - "weather": "WEATHER_CLOUDY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "weather": "WEATHER_SHADE", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 4, "y": 8, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_BerryForest_EventScript_163C83", + "script": "ThreeIsland_BerryForest_EventScript_Lostelle", "flag": "FLAG_HIDE_LOSTELLE_IN_BERRY_FOREST" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 12, "y": 11, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 19, "y": 7, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_13" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 23, "y": 17, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_14" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 38, "y": 23, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_15" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 44, "y": 23, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_16" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 44, "y": 29, "elevation": 3, @@ -101,11 +103,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_17" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 16, "y": 43, "elevation": 3, @@ -114,11 +116,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_18" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 17, "y": 39, "elevation": 3, @@ -127,11 +129,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_19" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 14, "y": 39, "elevation": 3, @@ -140,11 +142,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_1A" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 11, "y": 39, "elevation": 3, @@ -153,11 +155,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_1B" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 12, "y": 5, "elevation": 3, @@ -170,7 +172,7 @@ "flag": "FLAG_HIDE_THREE_ISLAND_BERRY_FOREST_MAX_ETHER" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 27, "y": 11, "elevation": 3, @@ -183,7 +185,7 @@ "flag": "FLAG_HIDE_THREE_ISLAND_BERRY_FOREST_FULL_HEAL" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 12, "y": 43, "elevation": 3, @@ -222,18 +224,20 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 7, "y": 27, "elevation": 0, - "script": "ThreeIsland_BerryForest_EventScript_163D31" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "ThreeIsland_BerryForest_EventScript_BewareSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 39, "y": 35, "elevation": 0, - "script": "ThreeIsland_BerryForest_EventScript_163D28" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "ThreeIsland_BerryForest_EventScript_WelcomeSign" }, { "type": "hidden_item", diff --git a/data/maps/ThreeIsland_BerryForest/scripts.inc b/data/maps/ThreeIsland_BerryForest/scripts.inc index cf1693258..dab6cb795 100644 --- a/data/maps/ThreeIsland_BerryForest/scripts.inc +++ b/data/maps/ThreeIsland_BerryForest/scripts.inc @@ -7,16 +7,16 @@ ThreeIsland_BerryForest_OnTransition:: @ 8163C77 setescapewarp MAP_THREE_ISLAND_BOND_BRIDGE, 255, 12, 6 end -ThreeIsland_BerryForest_EventScript_163C83:: @ 8163C83 +ThreeIsland_BerryForest_EventScript_Lostelle:: @ 8163C83 lock faceplayer - msgbox gUnknown_817ADD6 + msgbox ThreeIsland_BerryForest_Text_HelpScaryPokemon playse SE_PIN applymovement 1, Movement_ExclamationMark waitmovement 0 - applymovement 1, Movement_163D22 + applymovement 1, ThreeIsland_BerryForest_Movement_LostelleLookAround waitmovement 0 - msgbox gUnknown_817AE8E + msgbox ThreeIsland_BerryForest_Text_HereItComesAgain goto_if_questlog EventScript_ReleaseEnd waitse playmoncry SPECIES_HYPNO, 2 @@ -26,12 +26,12 @@ ThreeIsland_BerryForest_EventScript_163C83:: @ 8163C83 special sub_8112364 applymovement 1, Movement_FacePlayer waitmovement 0 - msgbox gUnknown_817AEE1 + msgbox ThreeIsland_BerryForest_Text_ThankYouHaveThis giveitem ITEM_IAPAPA_BERRY - compare VAR_RESULT, 0 - call_if_eq EventScript_163D19 - special Special_BufferBigGuyOrBigGirlString - msgbox gUnknown_817AF3B + compare VAR_RESULT, FALSE + call_if_eq ThreeIsland_BerryForest_EventScript_NoRoomForBerry + special BufferBigGuyOrBigGirlString + msgbox ThreeIsland_BerryForest_Text_LetsGoHome closemessage setflag FLAG_RESCUED_LOSTELLE setflag FLAG_HIDE_LOSTELLE_IN_BERRY_FOREST @@ -42,11 +42,11 @@ ThreeIsland_BerryForest_EventScript_163C83:: @ 8163C83 release end -EventScript_163D19:: @ 8163D19 - msgbox gUnknown_817AF9F +ThreeIsland_BerryForest_EventScript_NoRoomForBerry:: @ 8163D19 + msgbox ThreeIsland_BerryForest_Text_BerryPouchIsFull return -Movement_163D22:: @ 8163D22 +ThreeIsland_BerryForest_Movement_LostelleLookAround:: @ 8163D22 walk_in_place_fastest_left delay_16 walk_in_place_fastest_right @@ -54,10 +54,10 @@ Movement_163D22:: @ 8163D22 walk_in_place_fastest_left step_end -ThreeIsland_BerryForest_EventScript_163D28:: @ 8163D28 - msgbox gUnknown_817AFD6, MSGBOX_SIGN +ThreeIsland_BerryForest_EventScript_WelcomeSign:: @ 8163D28 + msgbox ThreeIsland_BerryForest_Text_WelcomeToBerryForest, MSGBOX_SIGN end -ThreeIsland_BerryForest_EventScript_163D31:: @ 8163D31 - msgbox gUnknown_817B029, MSGBOX_SIGN +ThreeIsland_BerryForest_EventScript_BewareSign:: @ 8163D31 + msgbox ThreeIsland_BerryForest_Text_BewareWildBerryLovingMons, MSGBOX_SIGN end diff --git a/data/maps/ThreeIsland_BerryForest/text.inc b/data/maps/ThreeIsland_BerryForest/text.inc index 807df9c30..fdb08e3c6 100644 --- a/data/maps/ThreeIsland_BerryForest/text.inc +++ b/data/maps/ThreeIsland_BerryForest/text.inc @@ -1,4 +1,4 @@ -gUnknown_817ADD6:: @ 817ADD6 +ThreeIsland_BerryForest_Text_HelpScaryPokemon:: @ 817ADD6 .string "LOSTELLE: Whimper… Sniff…\n" .string "Oh! Please, help!\p" .string "A scary POKéMON appeared there\n" @@ -8,36 +8,36 @@ gUnknown_817ADD6:: @ 817ADD6 .string "I'm too scared to move!\n" .string "But I want to go home…$" -gUnknown_817AE8E:: @ 817AE8E +ThreeIsland_BerryForest_Text_HereItComesAgain:: @ 817AE8E .string "Oh! Here it comes again!\n" .string "No! Go away! It's scaring me!\p" .string "Waaaaaaah!\n" .string "I want my daddy!$" -gUnknown_817AEE1:: @ 817AEE1 +ThreeIsland_BerryForest_Text_ThankYouHaveThis:: @ 817AEE1 .string "Ohh! That was so scary!\n" .string "Thank you!\p" .string "LOSTELLE came to pick some\n" .string "BERRIES.\p" .string "You can have this!$" -gUnknown_817AF3B:: @ 817AF3B +ThreeIsland_BerryForest_Text_LetsGoHome:: @ 817AF3B .string "What's your name?\p" .string "LOSTELLE's scared, so can I go\n" .string "with you to my daddy's house?\p" .string "Okay!\n" .string "Let's go home!$" -gUnknown_817AF9F:: @ 817AF9F +ThreeIsland_BerryForest_Text_BerryPouchIsFull:: @ 817AF9F .string "Your BERRY POUCH is full.\n" .string "I guess you don't want this.$" -gUnknown_817AFD6:: @ 817AFD6 +ThreeIsland_BerryForest_Text_WelcomeToBerryForest:: @ 817AFD6 .string "Welcome to the BERRY FOREST\p" .string "Be friendly and share BERRIES with\n" .string "others and POKéMON.$" -gUnknown_817B029:: @ 817B029 +ThreeIsland_BerryForest_Text_BewareWildBerryLovingMons:: @ 817B029 .string "Beware of wild, BERRY-loving\n" .string "POKéMON!$" diff --git a/data/maps/ThreeIsland_BondBridge/map.json b/data/maps/ThreeIsland_BondBridge/map.json index 993732967..69654076e 100644 --- a/data/maps/ThreeIsland_BondBridge/map.json +++ b/data/maps/ThreeIsland_BondBridge/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_BOND_BRIDGE", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_THREE_ISLAND", @@ -20,7 +22,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 27, "y": 10, "elevation": 3, @@ -29,11 +31,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "ThreeIsland_BondBridge_EventScript_1ABF65", + "script": "ThreeIsland_BondBridge_EventScript_Nikki", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 68, "y": 10, "elevation": 3, @@ -42,11 +44,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "ThreeIsland_BondBridge_EventScript_1ABFA3", + "script": "ThreeIsland_BondBridge_EventScript_Violet", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_TUBER_F", + "graphics_id": "OBJ_EVENT_GFX_TUBER_F", "x": 33, "y": 13, "elevation": 3, @@ -55,11 +57,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "ThreeIsland_BondBridge_EventScript_1ABFE1", + "script": "ThreeIsland_BondBridge_EventScript_Amira", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_TUBER_F", + "graphics_id": "OBJ_EVENT_GFX_TUBER_F", "x": 50, "y": 11, "elevation": 3, @@ -68,11 +70,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "ThreeIsland_BondBridge_EventScript_1AC01F", + "script": "ThreeIsland_BondBridge_EventScript_Alexis", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SWIMMER_F_WATER", + "graphics_id": "OBJ_EVENT_GFX_SWIMMER_F_WATER", "x": 36, "y": 4, "elevation": 1, @@ -81,11 +83,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "ThreeIsland_BondBridge_EventScript_1AC05D", + "script": "ThreeIsland_BondBridge_EventScript_Tisha", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 77, "y": 5, "elevation": 3, @@ -94,11 +96,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "ThreeIsland_BondBridge_EventScript_1AC09B", + "script": "ThreeIsland_BondBridge_EventScript_Joy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 78, "y": 5, "elevation": 3, @@ -107,11 +109,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "ThreeIsland_BondBridge_EventScript_1AC0E1", + "script": "ThreeIsland_BondBridge_EventScript_Meg", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 72, "y": 8, "elevation": 3, @@ -120,11 +122,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 86, "y": 13, "elevation": 3, @@ -133,7 +135,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_13" } ], @@ -156,11 +158,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 14, "y": 7, "elevation": 0, - "script": "ThreeIsland_BondBridge_EventScript_168777" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "ThreeIsland_BondBridge_EventScript_BerryForestSign" }, { "type": "hidden_item", @@ -193,11 +196,12 @@ "underfoot": false }, { - "type": "bg_event_type_0", + "type": "sign", "x": 91, "y": 9, "elevation": 0, - "script": "ThreeIsland_BondBridge_EventScript_168780" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "ThreeIsland_BondBridge_EventScript_BondBridgeSign" } ] } diff --git a/data/maps/ThreeIsland_BondBridge/scripts.inc b/data/maps/ThreeIsland_BondBridge/scripts.inc index f36889d04..7c3210ba8 100644 --- a/data/maps/ThreeIsland_BondBridge/scripts.inc +++ b/data/maps/ThreeIsland_BondBridge/scripts.inc @@ -1,10 +1,10 @@ ThreeIsland_BondBridge_MapScripts:: @ 8168776 .byte 0 -ThreeIsland_BondBridge_EventScript_168777:: @ 8168777 - msgbox gUnknown_818A210, MSGBOX_SIGN +ThreeIsland_BondBridge_EventScript_BerryForestSign:: @ 8168777 + msgbox ThreeIsland_BondBridge_Text_BerryForestAhead, MSGBOX_SIGN end -ThreeIsland_BondBridge_EventScript_168780:: @ 8168780 - msgbox gUnknown_818A223, MSGBOX_SIGN +ThreeIsland_BondBridge_EventScript_BondBridgeSign:: @ 8168780 + msgbox ThreeIsland_BondBridge_Text_BondBridgeSign, MSGBOX_SIGN end diff --git a/data/maps/ThreeIsland_BondBridge/text.inc b/data/maps/ThreeIsland_BondBridge/text.inc index dbf984c85..57f96b6d8 100644 --- a/data/maps/ThreeIsland_BondBridge/text.inc +++ b/data/maps/ThreeIsland_BondBridge/text.inc @@ -1,100 +1,100 @@ -Text_189E42:: @ 8189E42 +ThreeIsland_BondBridge_Text_NikkiIntro:: @ 8189E42 .string "The salty tang of the sea…\n" .string "It tickles my heart.$" -Text_189E72:: @ 8189E72 +ThreeIsland_BondBridge_Text_NikkiDefeat:: @ 8189E72 .string "…Sniff, sniff…\n" .string "Something smells unpleasant…$" -Text_189E9E:: @ 8189E9E +ThreeIsland_BondBridge_Text_NikkiPostBattle:: @ 8189E9E .string "Perhaps that reek is your sweaty\n" .string "POKéMON's body odor…$" -Text_189ED4:: @ 8189ED4 +ThreeIsland_BondBridge_Text_VioletIntro:: @ 8189ED4 .string "Where are you off to in such\n" .string "a hurry?$" -Text_189EFA:: @ 8189EFA +ThreeIsland_BondBridge_Text_VioletDefeat:: @ 8189EFA .string "You're raising some wonderful\n" .string "POKéMON.$" -Text_189F21:: @ 8189F21 +ThreeIsland_BondBridge_Text_VioletPostBattle:: @ 8189F21 .string "If you keep going this way, you'll\n" .string "eventually reach BERRY FOREST.$" -Text_189F63:: @ 8189F63 +ThreeIsland_BondBridge_Text_AmiraIntro:: @ 8189F63 .string "My mommy said that I can't swim\n" .string "without my float ring.$" -Text_189F9A:: @ 8189F9A +ThreeIsland_BondBridge_Text_AmiraDefeat:: @ 8189F9A .string "Waaah!\n" .string "Waaah!$" -Text_189FA8:: @ 8189FA8 +ThreeIsland_BondBridge_Text_AmiraPostBattle:: @ 8189FA8 .string "This year, I'm going to finally\n" .string "learn how to swim!$" -Text_189FDB:: @ 8189FDB +ThreeIsland_BondBridge_Text_AlexisIntro:: @ 8189FDB .string "Yay, yay!\n" .string "POKéMON!$" -Text_189FEE:: @ 8189FEE +ThreeIsland_BondBridge_Text_AlexisDefeat:: @ 8189FEE .string "What happens now?$" -Text_18A000:: @ 818A000 +ThreeIsland_BondBridge_Text_AlexisPostBattle:: @ 818A000 .string "Did I just win?\n" .string "Or did I lose?$" -Text_18A01F:: @ 818A01F +ThreeIsland_BondBridge_Text_TishaIntro:: @ 818A01F .string "Oh, no, don't come here!\n" .string "Please, stay away from me!$" -Text_18A053:: @ 818A053 +ThreeIsland_BondBridge_Text_TishaDefeat:: @ 818A053 .string "Okay, you've won!\n" .string "Now will you please go away?$" -Text_18A082:: @ 818A082 +ThreeIsland_BondBridge_Text_TishaPostBattle:: @ 818A082 .string "A POKéMON bit through my \n" .string "swimsuit.\p" .string "I can't get out of the water!$" -Text_18A0C4:: @ 818A0C4 +ThreeIsland_BondBridge_Text_JoyIntro:: @ 818A0C4 .string "JOY: We'll teach you what our\n" .string "favorite POKéMON is!$" -Text_18A0F7:: @ 818A0F7 +ThreeIsland_BondBridge_Text_JoyDefeat:: @ 818A0F7 .string "JOY: Ohh…\n" .string "MEG!$" -Text_18A106:: @ 818A106 +ThreeIsland_BondBridge_Text_JoyPostBattle:: @ 818A106 .string "JOY: Wasn't that fun?\n" .string "I hope we can battle again!$" -Text_18A138:: @ 818A138 +ThreeIsland_BondBridge_Text_JoyNotEnoughMons:: @ 818A138 .string "JOY: I really want to battle with\n" .string "MEG.\p" .string "One POKéMON isn't enough.$" -Text_18A179:: @ 818A179 +ThreeIsland_BondBridge_Text_MegIntro:: @ 818A179 .string "MEG: We'll show you our favorite\n" .string "POKéMON.$" -Text_18A1A3:: @ 818A1A3 +ThreeIsland_BondBridge_Text_MegDefeat:: @ 818A1A3 .string "MEG: Ohh…\n" .string "JOY!$" -Text_18A1B2:: @ 818A1B2 +ThreeIsland_BondBridge_Text_MegPostBattle:: @ 818A1B2 .string "MEG: JOY, wasn't that fun?$" -Text_18A1CD:: @ 818A1CD +ThreeIsland_BondBridge_Text_MegNotEnoughMons:: @ 818A1CD .string "MEG: I want to battle together\n" .string "with JOY.\p" .string "One POKéMON isn't enough.$" -gUnknown_818A210:: @ 818A210 +ThreeIsland_BondBridge_Text_BerryForestAhead:: @ 818A210 .string "BERRY FOREST AHEAD$" -gUnknown_818A223:: @ 818A223 +ThreeIsland_BondBridge_Text_BondBridgeSign:: @ 818A223 .string "BOND BRIDGE\n" .string "Please be quiet when crossing.\p" .string "BERRY FOREST AHEAD$" diff --git a/data/maps/ThreeIsland_DunsparceTunnel/map.json b/data/maps/ThreeIsland_DunsparceTunnel/map.json index 22ddfed8b..dca4bacd8 100644 --- a/data/maps/ThreeIsland_DunsparceTunnel/map.json +++ b/data/maps/ThreeIsland_DunsparceTunnel/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_THREE_ISLE_PATH", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_FAT_MAN", + "graphics_id": "OBJ_EVENT_GFX_FAT_MAN", "x": 23, "y": 2, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_DunsparceTunnel_EventScript_164D60", + "script": "ThreeIsland_DunsparceTunnel_EventScript_Prospector", "flag": "0" } ], diff --git a/data/maps/ThreeIsland_DunsparceTunnel/scripts.inc b/data/maps/ThreeIsland_DunsparceTunnel/scripts.inc index 46e8e15f8..7729b3536 100644 --- a/data/maps/ThreeIsland_DunsparceTunnel/scripts.inc +++ b/data/maps/ThreeIsland_DunsparceTunnel/scripts.inc @@ -7,49 +7,49 @@ ThreeIsland_DunsparceTunnel_OnTransition:: @ 8164D2C specialvar VAR_RESULT, IsNationalPokedexEnabled copyvar VAR_0x8008, VAR_RESULT compare VAR_0x8008, TRUE - call_if_eq EventScript_164D50 + call_if_eq ThreeIsland_DunsparceTunnel_EventScript_SetLayoutDugOut compare VAR_0x8008, FALSE - call_if_eq EventScript_164D54 + call_if_eq ThreeIsland_DunsparceTunnel_EventScript_MoveProspectorToWall end -EventScript_164D50:: @ 8164D50 - setmaplayoutindex LAYOUT_THREE_ISLAND_DUNSPARCE_TUNNEL_2 +ThreeIsland_DunsparceTunnel_EventScript_SetLayoutDugOut:: @ 8164D50 + setmaplayoutindex LAYOUT_THREE_ISLAND_DUNSPARCE_TUNNEL_DUG_OUT return -EventScript_164D54:: @ 8164D54 +ThreeIsland_DunsparceTunnel_EventScript_MoveProspectorToWall:: @ 8164D54 setobjectxyperm 1, 6, 3 - setobjectmovementtype 1, 10 + setobjectmovementtype 1, MOVEMENT_TYPE_FACE_RIGHT return -ThreeIsland_DunsparceTunnel_EventScript_164D60:: @ 8164D60 +ThreeIsland_DunsparceTunnel_EventScript_Prospector:: @ 8164D60 lock faceplayer - goto_if_set FLAG_GOT_NUGGET_FROM_DUNSPARCE_TUNNEL, EventScript_164DC2 + goto_if_set FLAG_GOT_NUGGET_FROM_DUNSPARCE_TUNNEL, ThreeIsland_DunsparceTunnel_EventScript_ProspectorAlreadyGaveNugget specialvar VAR_RESULT, IsNationalPokedexEnabled compare VAR_RESULT, TRUE - goto_if_eq EventScript_164D90 - msgbox gUnknown_817D13B + goto_if_eq ThreeIsland_DunsparceTunnel_EventScript_ProspectorStruckGold + msgbox ThreeIsland_DunsparceTunnel_Text_ProspectingForGold closemessage applymovement 1, Movement_FaceOriginalDirection waitmovement 0 release end -EventScript_164D90:: @ 8164D90 - msgbox gUnknown_817D1C9 +ThreeIsland_DunsparceTunnel_EventScript_ProspectorStruckGold:: @ 8164D90 + msgbox ThreeIsland_DunsparceTunnel_Text_StruckGoldThisIsForYou giveitem ITEM_NUGGET - compare VAR_RESULT, 0 - goto_if_eq EventScript_164DB8 + compare VAR_RESULT, FALSE + goto_if_eq ThreeIsland_DunsparceTunnel_EventScript_NoRoomForNugget setflag FLAG_GOT_NUGGET_FROM_DUNSPARCE_TUNNEL - goto EventScript_164DC2 + goto ThreeIsland_DunsparceTunnel_EventScript_ProspectorAlreadyGaveNugget end -EventScript_164DB8:: @ 8164DB8 - msgbox gUnknown_817D2DC +ThreeIsland_DunsparceTunnel_EventScript_NoRoomForNugget:: @ 8164DB8 + msgbox ThreeIsland_DunsparceTunnel_Text_WhoopsBagCrammedFull release end -EventScript_164DC2:: @ 8164DC2 - msgbox gUnknown_817D28C +ThreeIsland_DunsparceTunnel_EventScript_ProspectorAlreadyGaveNugget:: @ 8164DC2 + msgbox ThreeIsland_DunsparceTunnel_Text_ThatsANugget release end diff --git a/data/maps/ThreeIsland_DunsparceTunnel/text.inc b/data/maps/ThreeIsland_DunsparceTunnel/text.inc index e8c5269dd..96a0603c4 100644 --- a/data/maps/ThreeIsland_DunsparceTunnel/text.inc +++ b/data/maps/ThreeIsland_DunsparceTunnel/text.inc @@ -1,4 +1,4 @@ -gUnknown_817D13B:: @ 817D13B +ThreeIsland_DunsparceTunnel_Text_ProspectingForGold:: @ 817D13B .string "Hey, there!\n" .string "How's it going?\p" .string "What am I doing here, you ask?\n" @@ -6,7 +6,7 @@ gUnknown_817D13B:: @ 817D13B .string "When I strike it rich, I'm buying\n" .string "a house in KANTO.$" -gUnknown_817D1C9:: @ 817D1C9 +ThreeIsland_DunsparceTunnel_Text_StruckGoldThisIsForYou:: @ 817D1C9 .string "Hey, there! How's it going?\n" .string "Did you hear? I've struck gold!\p" .string "You remembered that I was\n" @@ -16,12 +16,12 @@ gUnknown_817D1C9:: @ 817D1C9 .string "So, I'll show you!\n" .string "This is for you!$" -gUnknown_817D28C:: @ 817D28C +ThreeIsland_DunsparceTunnel_Text_ThatsANugget:: @ 817D28C .string "That's a NUGGET!\p" .string "I can't give you any nuggets of\n" .string "wisdom, so that'll have to do!$" -gUnknown_817D2DC:: @ 817D2DC +ThreeIsland_DunsparceTunnel_Text_WhoopsBagCrammedFull:: @ 817D2DC .string "Whoops, your BAG is crammed full!\n" .string "I'll give this to you later.$" diff --git a/data/maps/ThreeIsland_Harbor/map.json b/data/maps/ThreeIsland_Harbor/map.json index e609a4011..412177921 100644 --- a/data/maps/ThreeIsland_Harbor/map.json +++ b/data/maps/ThreeIsland_Harbor/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_THREE_ISLE_PORT", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SEAGALLOP", + "graphics_id": "OBJ_EVENT_GFX_SEAGALLOP", "x": 8, "y": 9, "elevation": 0, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 8, "y": 6, "elevation": 3, @@ -36,7 +38,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_Harbor_EventScript_171EAA", + "script": "ThreeIsland_Harbor_EventScript_Sailor", "flag": "0" } ], diff --git a/data/maps/ThreeIsland_Harbor/scripts.inc b/data/maps/ThreeIsland_Harbor/scripts.inc index 6705741cb..473b8b368 100644 --- a/data/maps/ThreeIsland_Harbor/scripts.inc +++ b/data/maps/ThreeIsland_Harbor/scripts.inc @@ -1,7 +1,7 @@ ThreeIsland_Harbor_MapScripts:: @ 8171EA9 .byte 0 -ThreeIsland_Harbor_EventScript_171EAA:: @ 8171EAA +ThreeIsland_Harbor_EventScript_Sailor:: @ 8171EAA lock faceplayer message Text_WhereDoYouWantToSail diff --git a/data/maps/ThreeIsland_House1/map.json b/data/maps/ThreeIsland_House1/map.json index dfe2a6c9a..558cbdd21 100644 --- a/data/maps/ThreeIsland_House1/map.json +++ b/data/maps/ThreeIsland_House1/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_THREE_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 3, "y": 4, "elevation": 0, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_House1_EventScript_17181A", + "script": "ThreeIsland_House1_EventScript_Lostelle", "flag": "FLAG_HIDE_LOSTELLE_IN_HER_HOME" } ], @@ -39,11 +41,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 2, "y": 1, "elevation": 0, - "script": "ThreeIsland_House1_EventScript_171829" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "ThreeIsland_House1_EventScript_DisplayCase" } ] } diff --git a/data/maps/ThreeIsland_House1/scripts.inc b/data/maps/ThreeIsland_House1/scripts.inc index 007f7d4be..603cc3095 100644 --- a/data/maps/ThreeIsland_House1/scripts.inc +++ b/data/maps/ThreeIsland_House1/scripts.inc @@ -1,14 +1,14 @@ ThreeIsland_House1_MapScripts:: @ 8171819 .byte 0 -ThreeIsland_House1_EventScript_17181A:: @ 817181A +ThreeIsland_House1_EventScript_Lostelle:: @ 817181A lock faceplayer - special Special_BufferBigGuyOrBigGirlString - msgbox gUnknown_81A2F3E + special BufferBigGuyOrBigGirlString + msgbox ThreeIsland_House1_Text_YoureAlwaysSoCool release end -ThreeIsland_House1_EventScript_171829:: @ 8171829 - msgbox gUnknown_81A2F92, MSGBOX_SIGN +ThreeIsland_House1_EventScript_DisplayCase:: @ 8171829 + msgbox ThreeIsland_House1_Text_RareRocksGemsDisplayed, MSGBOX_SIGN end diff --git a/data/maps/ThreeIsland_House1/text.inc b/data/maps/ThreeIsland_House1/text.inc index 250671619..2e6a51b36 100644 --- a/data/maps/ThreeIsland_House1/text.inc +++ b/data/maps/ThreeIsland_House1/text.inc @@ -1,9 +1,9 @@ -gUnknown_81A2F3E:: @ 81A2F3E +ThreeIsland_House1_Text_YoureAlwaysSoCool:: @ 81A2F3E .string "LOSTELLE: Hi, {PLAYER}!\n" .string "You're always so cool!\p" .string "I'll make lunch for you, too, one\n" .string "day, {PLAYER}.$" -gUnknown_81A2F92:: @ 81A2F92 +ThreeIsland_House1_Text_RareRocksGemsDisplayed:: @ 81A2F92 .string "Rare rocks and gems are displayed.$" diff --git a/data/maps/ThreeIsland_House2/map.json b/data/maps/ThreeIsland_House2/map.json index 41d291f8e..c8dfc26ff 100644 --- a/data/maps/ThreeIsland_House2/map.json +++ b/data/maps/ThreeIsland_House2/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_THREE_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 4, "y": 4, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_House2_EventScript_1718F9", + "script": "ThreeIsland_House2_EventScript_Rocker", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 7, "y": 4, "elevation": 3, @@ -36,7 +38,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_House2_EventScript_1718E0", + "script": "ThreeIsland_House2_EventScript_Man", "flag": "0" } ], diff --git a/data/maps/ThreeIsland_House2/scripts.inc b/data/maps/ThreeIsland_House2/scripts.inc index a9fd52298..d66a13530 100644 --- a/data/maps/ThreeIsland_House2/scripts.inc +++ b/data/maps/ThreeIsland_House2/scripts.inc @@ -1,14 +1,14 @@ ThreeIsland_House2_MapScripts:: @ 81718DF .byte 0 -ThreeIsland_House2_EventScript_1718E0:: @ 81718E0 +ThreeIsland_House2_EventScript_Man:: @ 81718E0 lock faceplayer famechecker FAMECHECKER_SABRINA, 1 - msgbox gUnknown_81A32CA + msgbox ThreeIsland_House2_Text_IAdmireSabrina release end -ThreeIsland_House2_EventScript_1718F9:: @ 81718F9 - msgbox gUnknown_81A3245, MSGBOX_NPC +ThreeIsland_House2_EventScript_Rocker:: @ 81718F9 + msgbox ThreeIsland_House2_Text_CantMakeThisSpoonBend, MSGBOX_NPC end diff --git a/data/maps/ThreeIsland_House2/text.inc b/data/maps/ThreeIsland_House2/text.inc index cae2b9055..c265b2805 100644 --- a/data/maps/ThreeIsland_House2/text.inc +++ b/data/maps/ThreeIsland_House2/text.inc @@ -1,4 +1,4 @@ -gUnknown_81A3245:: @ 81A3245 +ThreeIsland_House2_Text_CantMakeThisSpoonBend:: @ 81A3245 .string "Urrrrrrrrgggghhhh…\n" .string "Kwaaaaah!\p" .string "…It's useless! I can't make this\n" @@ -6,7 +6,7 @@ gUnknown_81A3245:: @ 81A3245 .string "Maybe I really don't have any\n" .string "psychic powers.$" -gUnknown_81A32CA:: @ 81A32CA +ThreeIsland_House2_Text_IAdmireSabrina:: @ 81A32CA .string "You know about a girl GYM LEADER\n" .string "in SAFFRON CITY?\p" .string "She uses PSYCHIC-type POKéMON,\n" diff --git a/data/maps/ThreeIsland_House3/map.json b/data/maps/ThreeIsland_House3/map.json index b4adfbb86..7234a9af6 100644 --- a/data/maps/ThreeIsland_House3/map.json +++ b/data/maps/ThreeIsland_House3/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_THREE_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BEAUTY", + "graphics_id": "OBJ_EVENT_GFX_BEAUTY", "x": 8, "y": 2, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_House3_EventScript_171903", + "script": "ThreeIsland_House3_EventScript_Beauty", "flag": "0" } ], diff --git a/data/maps/ThreeIsland_House3/scripts.inc b/data/maps/ThreeIsland_House3/scripts.inc index b1c336d79..414761426 100644 --- a/data/maps/ThreeIsland_House3/scripts.inc +++ b/data/maps/ThreeIsland_House3/scripts.inc @@ -1,6 +1,6 @@ ThreeIsland_House3_MapScripts:: @ 8171902 .byte 0 -ThreeIsland_House3_EventScript_171903:: @ 8171903 - msgbox gUnknown_81A3379, MSGBOX_NPC +ThreeIsland_House3_EventScript_Beauty:: @ 8171903 + msgbox ThreeIsland_House3_Text_WantedToLiveSomewhereQuiet, MSGBOX_NPC end diff --git a/data/maps/ThreeIsland_House3/text.inc b/data/maps/ThreeIsland_House3/text.inc index 24b2c86c9..2a36d1ab1 100644 --- a/data/maps/ThreeIsland_House3/text.inc +++ b/data/maps/ThreeIsland_House3/text.inc @@ -1,4 +1,4 @@ -gUnknown_81A3379:: @ 81A3379 +ThreeIsland_House3_Text_WantedToLiveSomewhereQuiet:: @ 81A3379 .string "I bought this house because I\n" .string "wanted to live somewhere quiet.\p" .string "Today, I think I'll go out fishing.$" diff --git a/data/maps/ThreeIsland_House4/map.json b/data/maps/ThreeIsland_House4/map.json index dfd8bb1d9..79aa8eedc 100644 --- a/data/maps/ThreeIsland_House4/map.json +++ b/data/maps/ThreeIsland_House4/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_THREE_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 7, "y": 4, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_House4_EventScript_17190D", + "script": "ThreeIsland_House4_EventScript_BaldingMan", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_BOY", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_BOY", "x": 6, "y": 3, "elevation": 3, @@ -36,7 +38,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_House4_EventScript_171916", + "script": "ThreeIsland_House4_EventScript_LittleBoy", "flag": "0" } ], diff --git a/data/maps/ThreeIsland_House4/scripts.inc b/data/maps/ThreeIsland_House4/scripts.inc index d0facf443..d33f7a6ad 100644 --- a/data/maps/ThreeIsland_House4/scripts.inc +++ b/data/maps/ThreeIsland_House4/scripts.inc @@ -1,10 +1,10 @@ ThreeIsland_House4_MapScripts:: @ 817190C .byte 0 -ThreeIsland_House4_EventScript_17190D:: @ 817190D - msgbox gUnknown_81A33DB, MSGBOX_NPC +ThreeIsland_House4_EventScript_BaldingMan:: @ 817190D + msgbox ThreeIsland_House4_Text_GhostsInBerryForest, MSGBOX_NPC end -ThreeIsland_House4_EventScript_171916:: @ 8171916 - msgbox gUnknown_81A342F, MSGBOX_NPC +ThreeIsland_House4_EventScript_LittleBoy:: @ 8171916 + msgbox ThreeIsland_House4_Text_PapaKeepsLyingToMe, MSGBOX_NPC end diff --git a/data/maps/ThreeIsland_House4/text.inc b/data/maps/ThreeIsland_House4/text.inc index a32fb6a5f..f636555e5 100644 --- a/data/maps/ThreeIsland_House4/text.inc +++ b/data/maps/ThreeIsland_House4/text.inc @@ -1,10 +1,10 @@ -gUnknown_81A33DB:: @ 81A33DB +ThreeIsland_House4_Text_GhostsInBerryForest:: @ 81A33DB .string "You must never, ever go out to\n" .string "the BERRY FOREST alone.\p" .string "Why?\n" .string "There are ghosts there.$" -gUnknown_81A342F:: @ 81A342F +ThreeIsland_House4_Text_PapaKeepsLyingToMe:: @ 81A342F .string "Papa keeps lying to me, and won't\n" .string "let me go out and play!$" diff --git a/data/maps/ThreeIsland_House5/map.json b/data/maps/ThreeIsland_House5/map.json index 2e50fa9da..f5c10efdf 100644 --- a/data/maps/ThreeIsland_House5/map.json +++ b/data/maps/ThreeIsland_House5/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_THREE_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 2, "y": 5, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_House5_EventScript_171920", + "script": "ThreeIsland_House5_EventScript_LittleGirl", "flag": "0" } ], diff --git a/data/maps/ThreeIsland_House5/scripts.inc b/data/maps/ThreeIsland_House5/scripts.inc index 4a2b4f370..f8d72e35b 100644 --- a/data/maps/ThreeIsland_House5/scripts.inc +++ b/data/maps/ThreeIsland_House5/scripts.inc @@ -1,15 +1,15 @@ ThreeIsland_House5_MapScripts:: @ 817191F .byte 0 -ThreeIsland_House5_EventScript_171920:: @ 8171920 +ThreeIsland_House5_EventScript_LittleGirl:: @ 8171920 lock faceplayer - goto_if_set FLAG_RESCUED_LOSTELLE, EventScript_171935 - msgbox gUnknown_81A3469 + goto_if_set FLAG_RESCUED_LOSTELLE, ThreeIsland_House5_EventScript_LittleGirlLostelleFound + msgbox ThreeIsland_House5_Text_ImNotLostelle release end -EventScript_171935:: @ 8171935 - msgbox gUnknown_81A34DB +ThreeIsland_House5_EventScript_LittleGirlLostelleFound:: @ 8171935 + msgbox ThreeIsland_House5_Text_IllGoPlayWithLostelle release end diff --git a/data/maps/ThreeIsland_House5/text.inc b/data/maps/ThreeIsland_House5/text.inc index 16a034922..85ba66658 100644 --- a/data/maps/ThreeIsland_House5/text.inc +++ b/data/maps/ThreeIsland_House5/text.inc @@ -1,4 +1,4 @@ -gUnknown_81A3469:: @ 81A3469 +ThreeIsland_House5_Text_ImNotLostelle:: @ 81A3469 .string "Me?\n" .string "I'm not LOSTELLE.\p" .string "She's probably gone to the\n" @@ -6,7 +6,7 @@ gUnknown_81A3469:: @ 81A3469 .string "She picks BERRIES there for making\n" .string "lunch.$" -gUnknown_81A34DB:: @ 81A34DB +ThreeIsland_House5_Text_IllGoPlayWithLostelle:: @ 81A34DB .string "I think I'll go play with LOSTELLE\n" .string "today.$" diff --git a/data/maps/ThreeIsland_Mart/map.json b/data/maps/ThreeIsland_Mart/map.json index 6d66f0fe2..d46aaa0f0 100644 --- a/data/maps/ThreeIsland_Mart/map.json +++ b/data/maps/ThreeIsland_Mart/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_THREE_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CLERK", + "graphics_id": "OBJ_EVENT_GFX_CLERK", "x": 2, "y": 3, "elevation": 0, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_Mart_EventScript_17188D", + "script": "ThreeIsland_Mart_EventScript_Clerk", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PICNICKER", + "graphics_id": "OBJ_EVENT_GFX_PICNICKER", "x": 2, "y": 7, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_Mart_EventScript_1718C4", + "script": "ThreeIsland_Mart_EventScript_Picnicker", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BUG_CATCHER", + "graphics_id": "OBJ_EVENT_GFX_BUG_CATCHER", "x": 7, "y": 2, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_Mart_EventScript_1718CD", + "script": "ThreeIsland_Mart_EventScript_BugCatcher", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 6, "y": 5, "elevation": 3, @@ -62,7 +64,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_Mart_EventScript_1718D6", + "script": "ThreeIsland_Mart_EventScript_Youngster", "flag": "0" } ], diff --git a/data/maps/ThreeIsland_Mart/scripts.inc b/data/maps/ThreeIsland_Mart/scripts.inc index 02afb8eb4..337bb2709 100644 --- a/data/maps/ThreeIsland_Mart/scripts.inc +++ b/data/maps/ThreeIsland_Mart/scripts.inc @@ -1,19 +1,19 @@ ThreeIsland_Mart_MapScripts:: @ 817188C .byte 0 -ThreeIsland_Mart_EventScript_17188D:: @ 817188D +ThreeIsland_Mart_EventScript_Clerk:: @ 817188D goto_if_questlog EventScript_ReleaseEnd lock faceplayer message Text_MayIHelpYou waitmessage - pokemart Items_1718B4 + pokemart ThreeIsland_Mart_Items msgbox Text_PleaseComeAgain release end .align 2 -Items_1718B4:: @ 81718B4 +ThreeIsland_Mart_Items:: @ 81718B4 .2byte ITEM_ULTRA_BALL .2byte ITEM_HYPER_POTION .2byte ITEM_REVIVE @@ -24,14 +24,14 @@ Items_1718B4:: @ 81718B4 release end -ThreeIsland_Mart_EventScript_1718C4:: @ 81718C4 - msgbox gUnknown_81A3114, MSGBOX_NPC +ThreeIsland_Mart_EventScript_Picnicker:: @ 81718C4 + msgbox ThreeIsland_Mart_Text_TrueThatCeldadonDeptStoreBigger, MSGBOX_NPC end -ThreeIsland_Mart_EventScript_1718CD:: @ 81718CD - msgbox gUnknown_81A315C, MSGBOX_NPC +ThreeIsland_Mart_EventScript_BugCatcher:: @ 81718CD + msgbox ThreeIsland_Mart_Text_PeopleHealWithBerriesFromForest, MSGBOX_NPC end -ThreeIsland_Mart_EventScript_1718D6:: @ 81718D6 - msgbox gUnknown_81A31F0, MSGBOX_NPC +ThreeIsland_Mart_EventScript_Youngster:: @ 81718D6 + msgbox ThreeIsland_Mart_Text_BikersWereAboutToTrashMart, MSGBOX_NPC end diff --git a/data/maps/ThreeIsland_Mart/text.inc b/data/maps/ThreeIsland_Mart/text.inc index 2618bf28e..8123f1e9c 100644 --- a/data/maps/ThreeIsland_Mart/text.inc +++ b/data/maps/ThreeIsland_Mart/text.inc @@ -1,16 +1,16 @@ -gUnknown_81A3114:: @ 81A3114 +ThreeIsland_Mart_Text_TrueThatCeldadonDeptStoreBigger:: @ 81A3114 .string "Is it true?\p" .string "CELADON DEPT. STORE is several\n" .string "times bigger than this shop?$" -gUnknown_81A315C:: @ 81A315C +ThreeIsland_Mart_Text_PeopleHealWithBerriesFromForest:: @ 81A315C .string "I sometimes buy medicine here.\p" .string "But a lot of people heal POKéMON\n" .string "with BERRIES from BERRY FOREST.\p" .string "After all, BERRIES are free and\n" .string "they never run out.$" -gUnknown_81A31F0:: @ 81A31F0 +ThreeIsland_Mart_Text_BikersWereAboutToTrashMart:: @ 81A31F0 .string "Those BIKERS were about to trash\n" .string "this POKéMON MART.\p" .string "Am I glad they decided to leave!$" diff --git a/data/maps/ThreeIsland_PokemonCenter_1F/map.json b/data/maps/ThreeIsland_PokemonCenter_1F/map.json index ede9d59ab..596ea41cb 100644 --- a/data/maps/ThreeIsland_PokemonCenter_1F/map.json +++ b/data/maps/ThreeIsland_PokemonCenter_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_THREE_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_NURSE", + "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, "elevation": 0, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_PokemonCenter_1F_EventScript_171841", + "script": "ThreeIsland_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 12, "y": 2, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_PokemonCenter_1F_EventScript_17185C", + "script": "ThreeIsland_PokemonCenter_1F_EventScript_Rocker", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 3, "y": 4, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_PokemonCenter_1F_EventScript_171853", + "script": "ThreeIsland_PokemonCenter_1F_EventScript_Lass", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 11, "y": 5, "elevation": 3, @@ -62,7 +64,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_PokemonCenter_1F_EventScript_17184A", + "script": "ThreeIsland_PokemonCenter_1F_EventScript_Sailor", "flag": "0" } ], diff --git a/data/maps/ThreeIsland_PokemonCenter_1F/scripts.inc b/data/maps/ThreeIsland_PokemonCenter_1F/scripts.inc index 15d568a6f..1f66b557d 100644 --- a/data/maps/ThreeIsland_PokemonCenter_1F/scripts.inc +++ b/data/maps/ThreeIsland_PokemonCenter_1F/scripts.inc @@ -7,21 +7,21 @@ ThreeIsland_PokemonCenter_1F_OnTransition:: @ 817183D setrespawn SPAWN_THREE_ISLAND end -ThreeIsland_PokemonCenter_1F_EventScript_171841:: @ 8171841 +ThreeIsland_PokemonCenter_1F_EventScript_Nurse:: @ 8171841 lock faceplayer call EventScript_PkmnCenterNurse release end -ThreeIsland_PokemonCenter_1F_EventScript_17184A:: @ 817184A - msgbox gUnknown_81A303B, MSGBOX_NPC +ThreeIsland_PokemonCenter_1F_EventScript_Sailor:: @ 817184A + msgbox ThreeIsland_PokemonCenter_1F_Text_ImpossibleToSurfBetweenIslands, MSGBOX_NPC end -ThreeIsland_PokemonCenter_1F_EventScript_171853:: @ 8171853 - msgbox gUnknown_81A30A3, MSGBOX_NPC +ThreeIsland_PokemonCenter_1F_EventScript_Lass:: @ 8171853 + msgbox ThreeIsland_PokemonCenter_1F_Text_AlwaysBerriesInBerryForest, MSGBOX_NPC end -ThreeIsland_PokemonCenter_1F_EventScript_17185C:: @ 817185C - msgbox gUnknown_81A2FB5, MSGBOX_NPC +ThreeIsland_PokemonCenter_1F_EventScript_Rocker:: @ 817185C + msgbox ThreeIsland_PokemonCenter_1F_Text_PCNetworkCanLinkWithKanto, MSGBOX_NPC end diff --git a/data/maps/ThreeIsland_PokemonCenter_1F/text.inc b/data/maps/ThreeIsland_PokemonCenter_1F/text.inc index 449f80d70..a9d553efd 100644 --- a/data/maps/ThreeIsland_PokemonCenter_1F/text.inc +++ b/data/maps/ThreeIsland_PokemonCenter_1F/text.inc @@ -1,17 +1,17 @@ -gUnknown_81A2FB5:: @ 81A2FB5 +ThreeIsland_PokemonCenter_1F_Text_PCNetworkCanLinkWithKanto:: @ 81A2FB5 .string "Hey, did you hear the news?\p" .string "The PC network here can now link\n" .string "with PCs in KANTO.\p" .string "I don't know how that came about,\n" .string "but it's fantastic!$" -gUnknown_81A303B:: @ 81A303B +ThreeIsland_PokemonCenter_1F_Text_ImpossibleToSurfBetweenIslands:: @ 81A303B .string "It's impossible to SURF between the\n" .string "islands around these parts.\p" .string "The tides are too fast and\n" .string "treacherous.$" -gUnknown_81A30A3:: @ 81A30A3 +ThreeIsland_PokemonCenter_1F_Text_AlwaysBerriesInBerryForest:: @ 81A30A3 .string "Let's crush BERRIES!\n" .string "…That'd be wasting BERRIES?\p" .string "You can always find some BERRIES\n" diff --git a/data/maps/ThreeIsland_PokemonCenter_2F/map.json b/data/maps/ThreeIsland_PokemonCenter_2F/map.json index 84cea2d4f..7ee060727 100644 --- a/data/maps/ThreeIsland_PokemonCenter_2F/map.json +++ b/data/maps/ThreeIsland_PokemonCenter_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_THREE_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 6, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 2, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 10, "y": 2, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MG_DELIVERYMAN", + "graphics_id": "OBJ_EVENT_GFX_MG_DELIVERYMAN", "x": 1, "y": 2, "elevation": 3, diff --git a/data/maps/ThreeIsland_Port/map.json b/data/maps/ThreeIsland_Port/map.json index 47aff8ea7..c469fee53 100644 --- a/data/maps/ThreeIsland_Port/map.json +++ b/data/maps/ThreeIsland_Port/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_THREE_ISLE_PORT", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_THREE_ISLAND", @@ -20,7 +22,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_3", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_3", "x": 14, "y": 9, "elevation": 3, @@ -29,11 +31,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_Port_EventScript_168796", + "script": "ThreeIsland_Port_EventScript_Woman", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 8, "y": 8, "elevation": 3, @@ -42,11 +44,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_Port_EventScript_1687CC", + "script": "ThreeIsland_Port_EventScript_Biker1", "flag": "FLAG_HIDE_THREE_ISLAND_BIKERS" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 13, "y": 10, "elevation": 3, @@ -55,7 +57,7 @@ "movement_range_y": 2, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ThreeIsland_Port_EventScript_1687D5", + "script": "ThreeIsland_Port_EventScript_Biker2", "flag": "FLAG_HIDE_THREE_ISLAND_BIKERS" } ], diff --git a/data/maps/ThreeIsland_Port/scripts.inc b/data/maps/ThreeIsland_Port/scripts.inc index f7aa40e76..0a664b07d 100644 --- a/data/maps/ThreeIsland_Port/scripts.inc +++ b/data/maps/ThreeIsland_Port/scripts.inc @@ -7,33 +7,33 @@ ThreeIsland_Port_OnTransition:: @ 816878F setflag FLAG_SEVII_DETOUR_FINISHED end -ThreeIsland_Port_EventScript_168796:: @ 8168796 +ThreeIsland_Port_EventScript_Woman:: @ 8168796 lock faceplayer compare VAR_MAP_SCENE_TWO_ISLAND_JOYFUL_GAME_CORNER, 2 - goto_if_ge EventScript_1687B8 + goto_if_ge ThreeIsland_Port_EventScript_WomanLostelleFound compare VAR_MAP_SCENE_THREE_ISLAND, 4 - goto_if_ge EventScript_1687C2 - msgbox gUnknown_818A307 + goto_if_ge ThreeIsland_Port_EventScript_WomanBikersGone + msgbox ThreeIsland_Port_Text_IllCallThePolice release end -EventScript_1687B8:: @ 81687B8 - msgbox gUnknown_818A38B +ThreeIsland_Port_EventScript_WomanLostelleFound:: @ 81687B8 + msgbox ThreeIsland_Port_Text_EverythingTurnedOutForBest release end -EventScript_1687C2:: @ 81687C2 - msgbox gUnknown_818A339 +ThreeIsland_Port_EventScript_WomanBikersGone:: @ 81687C2 + msgbox ThreeIsland_Port_Text_ThankGoodnessBikersGone release end -ThreeIsland_Port_EventScript_1687CC:: @ 81687CC - msgbox gUnknown_818A261, MSGBOX_NPC +ThreeIsland_Port_EventScript_Biker1:: @ 81687CC + msgbox ThreeIsland_Port_Text_WereKantoRiderFederation, MSGBOX_NPC end -ThreeIsland_Port_EventScript_1687D5:: @ 81687D5 +ThreeIsland_Port_EventScript_Biker2:: @ 81687D5 lock - msgbox gUnknown_818A2D8 + msgbox ThreeIsland_Port_Text_ForkOverMoney release end diff --git a/data/maps/ThreeIsland_Port/text.inc b/data/maps/ThreeIsland_Port/text.inc index e98d5f53c..72026b353 100644 --- a/data/maps/ThreeIsland_Port/text.inc +++ b/data/maps/ThreeIsland_Port/text.inc @@ -1,25 +1,25 @@ -gUnknown_818A261:: @ 818A261 +ThreeIsland_Port_Text_WereKantoRiderFederation:: @ 818A261 .string "We're the KANTO RIDER FEDERATION!\n" .string "Vroom! Vavavavooom! Vroom!\p" .string "My bike's wimpy, so I have to\n" .string "make exhaust noises myself!$" -gUnknown_818A2D8:: @ 818A2D8 +ThreeIsland_Port_Text_ForkOverMoney:: @ 818A2D8 .string "Hey, hey, lady!\n" .string "Fork over some spending money!$" -gUnknown_818A307:: @ 818A307 +ThreeIsland_Port_Text_IllCallThePolice:: @ 818A307 .string "Aiyeeh!\p" .string "Wh-who are you?!\n" .string "I… I'll call the police!$" -gUnknown_818A339:: @ 818A339 +ThreeIsland_Port_Text_ThankGoodnessBikersGone:: @ 818A339 .string "Those BIKERS…\n" .string "Are they gone?\p" .string "Oh, thank goodness!\n" .string "They certainly had me terrified!$" -gUnknown_818A38B:: @ 818A38B +ThreeIsland_Port_Text_EverythingTurnedOutForBest:: @ 818A38B .string "Those BIKERS ran off, and\n" .string "LOSTELLE was found safe.\p" .string "Everything turned out for the best!$" diff --git a/data/maps/TradeCenter/map.json b/data/maps/TradeCenter/map.json index 2ffdfab5c..8e740b6c0 100644 --- a/data/maps/TradeCenter/map.json +++ b/data/maps/TradeCenter/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SPECIAL_AREA", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_UNION_ROOM_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_UNION_ROOM_RECEPTIONIST", "x": 9, "y": 6, "elevation": 3, diff --git a/data/maps/SevenIsland_TrainerTower_1F/map.json b/data/maps/TrainerTower_1F/map.json similarity index 67% rename from data/maps/SevenIsland_TrainerTower_1F/map.json rename to data/maps/TrainerTower_1F/map.json index 924dbbcba..f8f793a1f 100644 --- a/data/maps/SevenIsland_TrainerTower_1F/map.json +++ b/data/maps/TrainerTower_1F/map.json @@ -1,20 +1,22 @@ { - "id": "MAP_SEVEN_ISLAND_TRAINER_TOWER_1F", - "name": "SevenIsland_TrainerTower_1F", - "layout": "LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_1F", + "id": "MAP_TRAINER_TOWER_1F", + "name": "TrainerTower_1F", + "layout": "LAYOUT_TRAINER_TOWER_1F", "music": "MUS_T_TOWER", "region_map_section": "MAPSEC_TRAINER_TOWER_2", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 2, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_TRAINER_TOWER_DUDE", + "graphics_id": "OBJ_EVENT_GFX_TRAINER_TOWER_DUDE", "x": 9, "y": 7, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "FLAG_TEMP_6" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_0", + "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 11, "y": 10, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_1F_EventScript_1646C8", + "script": "TrainerTower_EventScript_DoublesTrainer1", "flag": "FLAG_TEMP_2" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_1", + "graphics_id": "OBJ_EVENT_GFX_VAR_1", "x": 15, "y": 13, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_1F_EventScript_1646CE", + "script": "TrainerTower_EventScript_SinglesTrainer", "flag": "FLAG_TEMP_3" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_2", + "graphics_id": "OBJ_EVENT_GFX_VAR_2", "x": 10, "y": 16, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_1F_EventScript_1646D4", + "script": "TrainerTower_EventScript_KnockoutTrainer", "flag": "FLAG_TEMP_4" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_3", + "graphics_id": "OBJ_EVENT_GFX_VAR_3", "x": 10, "y": 10, "elevation": 3, @@ -75,7 +77,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_1F_EventScript_1646DA", + "script": "TrainerTower_EventScript_DoublesTrainer2", "flag": "FLAG_TEMP_5" } ], @@ -84,14 +86,14 @@ "x": 15, "y": 6, "elevation": 3, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_2F", + "dest_map": "MAP_TRAINER_TOWER_2F", "dest_warp_id": 1 }, { "x": 4, "y": 6, "elevation": 3, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_LOBBY", + "dest_map": "MAP_TRAINER_TOWER_LOBBY", "dest_warp_id": 0 } ], @@ -103,7 +105,7 @@ "elevation": 3, "var": "VAR_TEMP_E", "var_value": 0, - "script": "SevenIsland_TrainerTower_1F_EventScript_1C54AF" + "script": "TrainerTower_EventScript_SingleBattleTrigger" }, { "type": "trigger", @@ -112,7 +114,7 @@ "elevation": 0, "var": "VAR_TEMP_F", "var_value": 0, - "script": "SevenIsland_TrainerTower_1F_EventScript_1C54B4" + "script": "TrainerTower_EventScript_DoubleBattleTriggerTop" }, { "type": "trigger", @@ -121,7 +123,7 @@ "elevation": 3, "var": "VAR_TEMP_F", "var_value": 0, - "script": "SevenIsland_TrainerTower_1F_EventScript_1C54EA" + "script": "TrainerTower_EventScript_DoubleBattleTriggerBottom" } ], "bg_events": [] diff --git a/data/maps/TrainerTower_1F/scripts.inc b/data/maps/TrainerTower_1F/scripts.inc new file mode 100644 index 000000000..77917c4a4 --- /dev/null +++ b/data/maps/TrainerTower_1F/scripts.inc @@ -0,0 +1,27 @@ +TrainerTower_1F_MapScripts:: @ 81646B8 + map_script MAP_SCRIPT_ON_RESUME, TrainerTower_OnResume + map_script MAP_SCRIPT_ON_TRANSITION, TrainerTower_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerTower_OnFrame + .byte 0 + +@ All Trainer Tower floors/roof share these scripts for their object events + +TrainerTower_EventScript_DoublesTrainer1:: @ 81646C8 + call TrainerTower_EventScript_SpeakToDoublesTrainer1 + end + +TrainerTower_EventScript_SinglesTrainer:: @ 81646CE + call TrainerTower_EventScript_SpeakToSinglesTrainer + end + +TrainerTower_EventScript_KnockoutTrainer:: @ 81646D4 + call TrainerTower_EventScript_SpeakToKnockoutTrainer + end + +TrainerTower_EventScript_DoublesTrainer2:: @ 81646DA + call TrainerTower_EventScript_SpeakToDoublesTrainer2 + end + +TrainerTower_EventScript_Owner:: @ 81646E0 + call TrainerTower_EventScript_SpeakToOwner + end diff --git a/data/maps/SevenIsland_TrainerTower_5F/map.json b/data/maps/TrainerTower_2F/map.json similarity index 65% rename from data/maps/SevenIsland_TrainerTower_5F/map.json rename to data/maps/TrainerTower_2F/map.json index 1ee41e1b4..aa02b2212 100644 --- a/data/maps/SevenIsland_TrainerTower_5F/map.json +++ b/data/maps/TrainerTower_2F/map.json @@ -1,20 +1,22 @@ { - "id": "MAP_SEVEN_ISLAND_TRAINER_TOWER_5F", - "name": "SevenIsland_TrainerTower_5F", - "layout": "LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_5F", + "id": "MAP_TRAINER_TOWER_2F", + "name": "TrainerTower_2F", + "layout": "LAYOUT_TRAINER_TOWER_2F", "music": "MUS_T_TOWER", "region_map_section": "MAPSEC_TRAINER_TOWER_2", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 2, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_TRAINER_TOWER_DUDE", + "graphics_id": "OBJ_EVENT_GFX_TRAINER_TOWER_DUDE", "x": 9, "y": 7, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_5F_EventScript_1646E0", + "script": "TrainerTower_EventScript_Owner", "flag": "FLAG_TEMP_6" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_0", + "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 10, "y": 10, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_5F_EventScript_1646C8", + "script": "TrainerTower_EventScript_DoublesTrainer1", "flag": "FLAG_TEMP_2" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_1", + "graphics_id": "OBJ_EVENT_GFX_VAR_1", "x": 15, "y": 13, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_5F_EventScript_1646CE", + "script": "TrainerTower_EventScript_SinglesTrainer", "flag": "FLAG_TEMP_3" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_2", + "graphics_id": "OBJ_EVENT_GFX_VAR_2", "x": 10, "y": 16, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_5F_EventScript_1646D4", + "script": "TrainerTower_EventScript_KnockoutTrainer", "flag": "FLAG_TEMP_4" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_3", + "graphics_id": "OBJ_EVENT_GFX_VAR_3", "x": 11, "y": 10, "elevation": 3, @@ -75,7 +77,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_5F_EventScript_1646DA", + "script": "TrainerTower_EventScript_DoublesTrainer2", "flag": "FLAG_TEMP_5" } ], @@ -84,21 +86,21 @@ "x": 15, "y": 6, "elevation": 3, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_6F", + "dest_map": "MAP_TRAINER_TOWER_3F", "dest_warp_id": 1 }, { "x": 4, "y": 6, "elevation": 3, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_4F", + "dest_map": "MAP_TRAINER_TOWER_1F", "dest_warp_id": 0 }, { "x": 13, "y": 5, "elevation": 0, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_ELEVATOR", + "dest_map": "MAP_TRAINER_TOWER_ELEVATOR", "dest_warp_id": 0 } ], @@ -110,7 +112,7 @@ "elevation": 3, "var": "VAR_TEMP_E", "var_value": 0, - "script": "SevenIsland_TrainerTower_5F_EventScript_1C54AF" + "script": "TrainerTower_EventScript_SingleBattleTrigger" }, { "type": "trigger", @@ -119,7 +121,7 @@ "elevation": 3, "var": "VAR_TEMP_F", "var_value": 0, - "script": "SevenIsland_TrainerTower_5F_EventScript_1C54B4" + "script": "TrainerTower_EventScript_DoubleBattleTriggerTop" }, { "type": "trigger", @@ -128,7 +130,7 @@ "elevation": 3, "var": "VAR_TEMP_F", "var_value": 0, - "script": "SevenIsland_TrainerTower_5F_EventScript_1C54EA" + "script": "TrainerTower_EventScript_DoubleBattleTriggerBottom" } ], "bg_events": [] diff --git a/data/maps/TrainerTower_2F/scripts.inc b/data/maps/TrainerTower_2F/scripts.inc new file mode 100644 index 000000000..c34f36a34 --- /dev/null +++ b/data/maps/TrainerTower_2F/scripts.inc @@ -0,0 +1,27 @@ +TrainerTower_2F_MapScripts:: @ 81646E6 + map_script MAP_SCRIPT_ON_RESUME, TrainerTower_OnResume + map_script MAP_SCRIPT_ON_TRANSITION, TrainerTower_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerTower_OnFrame + .byte 0 + +@ Below scripts are unused, the identical versions in the 1F script are used instead + +TrainerTower_2F_EventScript_DoublesTrainer1:: @ 81646F6 + call TrainerTower_EventScript_SpeakToDoublesTrainer1 + end + +TrainerTower_2F_EventScript_SinglesTrainer:: @ 81646FC + call TrainerTower_EventScript_SpeakToSinglesTrainer + end + +TrainerTower_2F_EventScript_KnockoutTrainer:: @ 8164702 + call TrainerTower_EventScript_SpeakToKnockoutTrainer + end + +TrainerTower_2F_EventScript_DoublesTrainer2:: @ 8164708 + call TrainerTower_EventScript_SpeakToDoublesTrainer2 + end + +TrainerTower_2F_EventScript_Owner:: @ 816470E + call TrainerTower_EventScript_SpeakToOwner + end diff --git a/data/maps/SevenIsland_TrainerTower_2F/map.json b/data/maps/TrainerTower_3F/map.json similarity index 65% rename from data/maps/SevenIsland_TrainerTower_2F/map.json rename to data/maps/TrainerTower_3F/map.json index 6d0fbaa4c..5dcbb119d 100644 --- a/data/maps/SevenIsland_TrainerTower_2F/map.json +++ b/data/maps/TrainerTower_3F/map.json @@ -1,20 +1,22 @@ { - "id": "MAP_SEVEN_ISLAND_TRAINER_TOWER_2F", - "name": "SevenIsland_TrainerTower_2F", - "layout": "LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_2F", + "id": "MAP_TRAINER_TOWER_3F", + "name": "TrainerTower_3F", + "layout": "LAYOUT_TRAINER_TOWER_3F", "music": "MUS_T_TOWER", "region_map_section": "MAPSEC_TRAINER_TOWER_2", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 2, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_TRAINER_TOWER_DUDE", + "graphics_id": "OBJ_EVENT_GFX_TRAINER_TOWER_DUDE", "x": 9, "y": 7, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_2F_EventScript_1646E0", + "script": "TrainerTower_EventScript_Owner", "flag": "FLAG_TEMP_6" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_0", + "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 10, "y": 10, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_2F_EventScript_1646C8", + "script": "TrainerTower_EventScript_DoublesTrainer1", "flag": "FLAG_TEMP_2" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_1", + "graphics_id": "OBJ_EVENT_GFX_VAR_1", "x": 15, "y": 13, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_2F_EventScript_1646CE", + "script": "TrainerTower_EventScript_SinglesTrainer", "flag": "FLAG_TEMP_3" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_2", + "graphics_id": "OBJ_EVENT_GFX_VAR_2", "x": 10, "y": 16, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_2F_EventScript_1646D4", + "script": "TrainerTower_EventScript_KnockoutTrainer", "flag": "FLAG_TEMP_4" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_3", + "graphics_id": "OBJ_EVENT_GFX_VAR_3", "x": 11, "y": 10, "elevation": 3, @@ -75,7 +77,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_2F_EventScript_1646DA", + "script": "TrainerTower_EventScript_DoublesTrainer2", "flag": "FLAG_TEMP_5" } ], @@ -84,21 +86,21 @@ "x": 15, "y": 6, "elevation": 3, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_3F", + "dest_map": "MAP_TRAINER_TOWER_4F", "dest_warp_id": 1 }, { "x": 4, "y": 6, "elevation": 3, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_1F", + "dest_map": "MAP_TRAINER_TOWER_2F", "dest_warp_id": 0 }, { "x": 13, "y": 5, "elevation": 0, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_ELEVATOR", + "dest_map": "MAP_TRAINER_TOWER_ELEVATOR", "dest_warp_id": 0 } ], @@ -110,7 +112,7 @@ "elevation": 3, "var": "VAR_TEMP_E", "var_value": 0, - "script": "SevenIsland_TrainerTower_2F_EventScript_1C54AF" + "script": "TrainerTower_EventScript_SingleBattleTrigger" }, { "type": "trigger", @@ -119,7 +121,7 @@ "elevation": 3, "var": "VAR_TEMP_F", "var_value": 0, - "script": "SevenIsland_TrainerTower_2F_EventScript_1C54B4" + "script": "TrainerTower_EventScript_DoubleBattleTriggerTop" }, { "type": "trigger", @@ -128,7 +130,7 @@ "elevation": 3, "var": "VAR_TEMP_F", "var_value": 0, - "script": "SevenIsland_TrainerTower_2F_EventScript_1C54EA" + "script": "TrainerTower_EventScript_DoubleBattleTriggerBottom" } ], "bg_events": [] diff --git a/data/maps/TrainerTower_3F/scripts.inc b/data/maps/TrainerTower_3F/scripts.inc new file mode 100644 index 000000000..0c8d434eb --- /dev/null +++ b/data/maps/TrainerTower_3F/scripts.inc @@ -0,0 +1,27 @@ +TrainerTower_3F_MapScripts:: @ 8164714 + map_script MAP_SCRIPT_ON_RESUME, TrainerTower_OnResume + map_script MAP_SCRIPT_ON_TRANSITION, TrainerTower_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerTower_OnFrame + .byte 0 + +@ Below scripts are unused, the identical versions in the 1F script are used instead + +TrainerTower_3F_EventScript_DoublesTrainer1:: @ 8164724 + call TrainerTower_EventScript_SpeakToDoublesTrainer1 + end + +TrainerTower_3F_EventScript_SinglesTrainer:: @ 816472A + call TrainerTower_EventScript_SpeakToSinglesTrainer + end + +TrainerTower_3F_EventScript_KnockoutTrainer:: @ 8164730 + call TrainerTower_EventScript_SpeakToKnockoutTrainer + end + +TrainerTower_3F_EventScript_DoublesTrainer2:: @ 8164736 + call TrainerTower_EventScript_SpeakToDoublesTrainer2 + end + +TrainerTower_3F_EventScript_Owner:: @ 816473C + call TrainerTower_EventScript_SpeakToOwner + end diff --git a/data/maps/SevenIsland_TrainerTower_4F/map.json b/data/maps/TrainerTower_4F/map.json similarity index 65% rename from data/maps/SevenIsland_TrainerTower_4F/map.json rename to data/maps/TrainerTower_4F/map.json index d4a021ff3..b040ed8cb 100644 --- a/data/maps/SevenIsland_TrainerTower_4F/map.json +++ b/data/maps/TrainerTower_4F/map.json @@ -1,20 +1,22 @@ { - "id": "MAP_SEVEN_ISLAND_TRAINER_TOWER_4F", - "name": "SevenIsland_TrainerTower_4F", - "layout": "LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_4F", + "id": "MAP_TRAINER_TOWER_4F", + "name": "TrainerTower_4F", + "layout": "LAYOUT_TRAINER_TOWER_4F", "music": "MUS_T_TOWER", "region_map_section": "MAPSEC_TRAINER_TOWER_2", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 2, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_TRAINER_TOWER_DUDE", + "graphics_id": "OBJ_EVENT_GFX_TRAINER_TOWER_DUDE", "x": 9, "y": 7, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_4F_EventScript_1646E0", + "script": "TrainerTower_EventScript_Owner", "flag": "FLAG_TEMP_6" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_0", + "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 10, "y": 10, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_4F_EventScript_1646C8", + "script": "TrainerTower_EventScript_DoublesTrainer1", "flag": "FLAG_TEMP_2" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_1", + "graphics_id": "OBJ_EVENT_GFX_VAR_1", "x": 15, "y": 13, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_4F_EventScript_1646CE", + "script": "TrainerTower_EventScript_SinglesTrainer", "flag": "FLAG_TEMP_3" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_2", + "graphics_id": "OBJ_EVENT_GFX_VAR_2", "x": 10, "y": 16, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_4F_EventScript_1646D4", + "script": "TrainerTower_EventScript_KnockoutTrainer", "flag": "FLAG_TEMP_4" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_3", + "graphics_id": "OBJ_EVENT_GFX_VAR_3", "x": 11, "y": 10, "elevation": 3, @@ -75,7 +77,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_4F_EventScript_1646DA", + "script": "TrainerTower_EventScript_DoublesTrainer2", "flag": "FLAG_TEMP_5" } ], @@ -84,21 +86,21 @@ "x": 15, "y": 6, "elevation": 3, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_5F", + "dest_map": "MAP_TRAINER_TOWER_5F", "dest_warp_id": 1 }, { "x": 4, "y": 6, "elevation": 3, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_3F", + "dest_map": "MAP_TRAINER_TOWER_3F", "dest_warp_id": 0 }, { "x": 13, "y": 5, "elevation": 0, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_ELEVATOR", + "dest_map": "MAP_TRAINER_TOWER_ELEVATOR", "dest_warp_id": 0 } ], @@ -110,7 +112,7 @@ "elevation": 3, "var": "VAR_TEMP_E", "var_value": 0, - "script": "SevenIsland_TrainerTower_4F_EventScript_1C54AF" + "script": "TrainerTower_EventScript_SingleBattleTrigger" }, { "type": "trigger", @@ -119,7 +121,7 @@ "elevation": 3, "var": "VAR_TEMP_F", "var_value": 0, - "script": "SevenIsland_TrainerTower_4F_EventScript_1C54B4" + "script": "TrainerTower_EventScript_DoubleBattleTriggerTop" }, { "type": "trigger", @@ -128,7 +130,7 @@ "elevation": 3, "var": "VAR_TEMP_F", "var_value": 0, - "script": "SevenIsland_TrainerTower_4F_EventScript_1C54EA" + "script": "TrainerTower_EventScript_DoubleBattleTriggerBottom" } ], "bg_events": [] diff --git a/data/maps/TrainerTower_4F/scripts.inc b/data/maps/TrainerTower_4F/scripts.inc new file mode 100644 index 000000000..6e0e7e09f --- /dev/null +++ b/data/maps/TrainerTower_4F/scripts.inc @@ -0,0 +1,27 @@ +TrainerTower_4F_MapScripts:: @ 8164742 + map_script MAP_SCRIPT_ON_RESUME, TrainerTower_OnResume + map_script MAP_SCRIPT_ON_TRANSITION, TrainerTower_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerTower_OnFrame + .byte 0 + +@ Below scripts are unused, the identical versions in the 1F script are used instead + +TrainerTower_4F_EventScript_DoublesTrainer1:: @ 8164752 + call TrainerTower_EventScript_SpeakToDoublesTrainer1 + end + +TrainerTower_4F_EventScript_SinglesTrainer:: @ 8164758 + call TrainerTower_EventScript_SpeakToSinglesTrainer + end + +TrainerTower_4F_EventScript_KnockoutTrainer:: @ 816475E + call TrainerTower_EventScript_SpeakToKnockoutTrainer + end + +TrainerTower_4F_EventScript_DoublesTrainer2:: @ 8164764 + call TrainerTower_EventScript_SpeakToDoublesTrainer2 + end + +TrainerTower_4F_EventScript_Owner:: @ 816476A + call TrainerTower_EventScript_SpeakToOwner + end diff --git a/data/maps/SevenIsland_TrainerTower_3F/map.json b/data/maps/TrainerTower_5F/map.json similarity index 65% rename from data/maps/SevenIsland_TrainerTower_3F/map.json rename to data/maps/TrainerTower_5F/map.json index 780878898..45c0cf33c 100644 --- a/data/maps/SevenIsland_TrainerTower_3F/map.json +++ b/data/maps/TrainerTower_5F/map.json @@ -1,20 +1,22 @@ { - "id": "MAP_SEVEN_ISLAND_TRAINER_TOWER_3F", - "name": "SevenIsland_TrainerTower_3F", - "layout": "LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_3F", + "id": "MAP_TRAINER_TOWER_5F", + "name": "TrainerTower_5F", + "layout": "LAYOUT_TRAINER_TOWER_5F", "music": "MUS_T_TOWER", "region_map_section": "MAPSEC_TRAINER_TOWER_2", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 2, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_TRAINER_TOWER_DUDE", + "graphics_id": "OBJ_EVENT_GFX_TRAINER_TOWER_DUDE", "x": 9, "y": 7, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_3F_EventScript_1646E0", + "script": "TrainerTower_EventScript_Owner", "flag": "FLAG_TEMP_6" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_0", + "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 10, "y": 10, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_3F_EventScript_1646C8", + "script": "TrainerTower_EventScript_DoublesTrainer1", "flag": "FLAG_TEMP_2" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_1", + "graphics_id": "OBJ_EVENT_GFX_VAR_1", "x": 15, "y": 13, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_3F_EventScript_1646CE", + "script": "TrainerTower_EventScript_SinglesTrainer", "flag": "FLAG_TEMP_3" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_2", + "graphics_id": "OBJ_EVENT_GFX_VAR_2", "x": 10, "y": 16, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_3F_EventScript_1646D4", + "script": "TrainerTower_EventScript_KnockoutTrainer", "flag": "FLAG_TEMP_4" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_3", + "graphics_id": "OBJ_EVENT_GFX_VAR_3", "x": 11, "y": 10, "elevation": 3, @@ -75,7 +77,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_3F_EventScript_1646DA", + "script": "TrainerTower_EventScript_DoublesTrainer2", "flag": "FLAG_TEMP_5" } ], @@ -84,21 +86,21 @@ "x": 15, "y": 6, "elevation": 3, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_4F", + "dest_map": "MAP_TRAINER_TOWER_6F", "dest_warp_id": 1 }, { "x": 4, "y": 6, "elevation": 3, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_2F", + "dest_map": "MAP_TRAINER_TOWER_4F", "dest_warp_id": 0 }, { "x": 13, "y": 5, "elevation": 0, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_ELEVATOR", + "dest_map": "MAP_TRAINER_TOWER_ELEVATOR", "dest_warp_id": 0 } ], @@ -110,7 +112,7 @@ "elevation": 3, "var": "VAR_TEMP_E", "var_value": 0, - "script": "SevenIsland_TrainerTower_3F_EventScript_1C54AF" + "script": "TrainerTower_EventScript_SingleBattleTrigger" }, { "type": "trigger", @@ -119,7 +121,7 @@ "elevation": 3, "var": "VAR_TEMP_F", "var_value": 0, - "script": "SevenIsland_TrainerTower_3F_EventScript_1C54B4" + "script": "TrainerTower_EventScript_DoubleBattleTriggerTop" }, { "type": "trigger", @@ -128,7 +130,7 @@ "elevation": 3, "var": "VAR_TEMP_F", "var_value": 0, - "script": "SevenIsland_TrainerTower_3F_EventScript_1C54EA" + "script": "TrainerTower_EventScript_DoubleBattleTriggerBottom" } ], "bg_events": [] diff --git a/data/maps/TrainerTower_5F/scripts.inc b/data/maps/TrainerTower_5F/scripts.inc new file mode 100644 index 000000000..71af237be --- /dev/null +++ b/data/maps/TrainerTower_5F/scripts.inc @@ -0,0 +1,27 @@ +TrainerTower_5F_MapScripts:: @ 8164770 + map_script MAP_SCRIPT_ON_RESUME, TrainerTower_OnResume + map_script MAP_SCRIPT_ON_TRANSITION, TrainerTower_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerTower_OnFrame + .byte 0 + +@ Below scripts are unused, the identical versions in the 1F script are used instead + +TrainerTower_5F_EventScript_DoublesTrainer1:: @ 8164780 + call TrainerTower_EventScript_SpeakToDoublesTrainer1 + end + +TrainerTower_5F_EventScript_SinglesTrainer:: @ 8164786 + call TrainerTower_EventScript_SpeakToSinglesTrainer + end + +TrainerTower_5F_EventScript_KnockoutTrainer:: @ 816478C + call TrainerTower_EventScript_SpeakToKnockoutTrainer + end + +TrainerTower_5F_EventScript_DoublesTrainer2:: @ 8164792 + call TrainerTower_EventScript_SpeakToDoublesTrainer2 + end + +TrainerTower_5F_EventScript_Owner:: @ 8164798 + call TrainerTower_EventScript_SpeakToOwner + end diff --git a/data/maps/TrainerTower_6F/map.json b/data/maps/TrainerTower_6F/map.json new file mode 100644 index 000000000..23c4ff2bd --- /dev/null +++ b/data/maps/TrainerTower_6F/map.json @@ -0,0 +1,137 @@ +{ + "id": "MAP_TRAINER_TOWER_6F", + "name": "TrainerTower_6F", + "layout": "LAYOUT_TRAINER_TOWER_6F", + "music": "MUS_T_TOWER", + "region_map_section": "MAPSEC_TRAINER_TOWER_2", + "requires_flash": false, + "weather": "WEATHER_NONE", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", + "connections": null, + "object_events": [ + { + "graphics_id": "OBJ_EVENT_GFX_TRAINER_TOWER_DUDE", + "x": 9, + "y": 7, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_FACE_DOWN", + "movement_range_x": 1, + "movement_range_y": 1, + "trainer_type": 0, + "trainer_sight_or_berry_tree_id": 0, + "script": "TrainerTower_EventScript_Owner", + "flag": "FLAG_TEMP_6" + }, + { + "graphics_id": "OBJ_EVENT_GFX_VAR_0", + "x": 10, + "y": 10, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_FACE_DOWN", + "movement_range_x": 1, + "movement_range_y": 1, + "trainer_type": 0, + "trainer_sight_or_berry_tree_id": 0, + "script": "TrainerTower_EventScript_DoublesTrainer1", + "flag": "FLAG_TEMP_2" + }, + { + "graphics_id": "OBJ_EVENT_GFX_VAR_1", + "x": 15, + "y": 13, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_FACE_LEFT", + "movement_range_x": 1, + "movement_range_y": 1, + "trainer_type": 0, + "trainer_sight_or_berry_tree_id": 0, + "script": "TrainerTower_EventScript_SinglesTrainer", + "flag": "FLAG_TEMP_3" + }, + { + "graphics_id": "OBJ_EVENT_GFX_VAR_2", + "x": 10, + "y": 16, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_FACE_UP", + "movement_range_x": 1, + "movement_range_y": 1, + "trainer_type": 0, + "trainer_sight_or_berry_tree_id": 0, + "script": "TrainerTower_EventScript_KnockoutTrainer", + "flag": "FLAG_TEMP_4" + }, + { + "graphics_id": "OBJ_EVENT_GFX_VAR_3", + "x": 11, + "y": 10, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_FACE_DOWN", + "movement_range_x": 1, + "movement_range_y": 1, + "trainer_type": 0, + "trainer_sight_or_berry_tree_id": 0, + "script": "TrainerTower_EventScript_DoublesTrainer2", + "flag": "FLAG_TEMP_5" + } + ], + "warp_events": [ + { + "x": 15, + "y": 6, + "elevation": 3, + "dest_map": "MAP_TRAINER_TOWER_7F", + "dest_warp_id": 1 + }, + { + "x": 4, + "y": 6, + "elevation": 3, + "dest_map": "MAP_TRAINER_TOWER_5F", + "dest_warp_id": 0 + }, + { + "x": 13, + "y": 5, + "elevation": 0, + "dest_map": "MAP_TRAINER_TOWER_ELEVATOR", + "dest_warp_id": 0 + } + ], + "coord_events": [ + { + "type": "trigger", + "x": 10, + "y": 13, + "elevation": 3, + "var": "VAR_TEMP_E", + "var_value": 0, + "script": "TrainerTower_EventScript_SingleBattleTrigger" + }, + { + "type": "trigger", + "x": 9, + "y": 12, + "elevation": 3, + "var": "VAR_TEMP_F", + "var_value": 0, + "script": "TrainerTower_EventScript_DoubleBattleTriggerTop" + }, + { + "type": "trigger", + "x": 9, + "y": 13, + "elevation": 3, + "var": "VAR_TEMP_F", + "var_value": 0, + "script": "TrainerTower_EventScript_DoubleBattleTriggerBottom" + } + ], + "bg_events": [] +} diff --git a/data/maps/TrainerTower_6F/scripts.inc b/data/maps/TrainerTower_6F/scripts.inc new file mode 100644 index 000000000..8b9e1dd38 --- /dev/null +++ b/data/maps/TrainerTower_6F/scripts.inc @@ -0,0 +1,27 @@ +TrainerTower_6F_MapScripts:: @ 816479E + map_script MAP_SCRIPT_ON_RESUME, TrainerTower_OnResume + map_script MAP_SCRIPT_ON_TRANSITION, TrainerTower_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerTower_OnFrame + .byte 0 + +@ Below scripts are unused, the identical versions in the 1F script are used instead + +TrainerTower_6F_EventScript_DoublesTrainer1:: @ 81647AE + call TrainerTower_EventScript_SpeakToDoublesTrainer1 + end + +TrainerTower_6F_EventScript_SinglesTrainer:: @ 81647B4 + call TrainerTower_EventScript_SpeakToSinglesTrainer + end + +TrainerTower_6F_EventScript_KnockoutTrainer:: @ 81647BA + call TrainerTower_EventScript_SpeakToKnockoutTrainer + end + +TrainerTower_6F_EventScript_DoublesTrainer2:: @ 81647C0 + call TrainerTower_EventScript_SpeakToDoublesTrainer2 + end + +TrainerTower_6F_EventScript_Owner:: @ 81647C6 + call TrainerTower_EventScript_SpeakToOwner + end diff --git a/data/maps/TrainerTower_7F/map.json b/data/maps/TrainerTower_7F/map.json new file mode 100644 index 000000000..e6cb51f97 --- /dev/null +++ b/data/maps/TrainerTower_7F/map.json @@ -0,0 +1,137 @@ +{ + "id": "MAP_TRAINER_TOWER_7F", + "name": "TrainerTower_7F", + "layout": "LAYOUT_TRAINER_TOWER_7F", + "music": "MUS_T_TOWER", + "region_map_section": "MAPSEC_TRAINER_TOWER_2", + "requires_flash": false, + "weather": "WEATHER_NONE", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", + "connections": null, + "object_events": [ + { + "graphics_id": "OBJ_EVENT_GFX_TRAINER_TOWER_DUDE", + "x": 9, + "y": 7, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_FACE_DOWN", + "movement_range_x": 1, + "movement_range_y": 1, + "trainer_type": 0, + "trainer_sight_or_berry_tree_id": 0, + "script": "TrainerTower_EventScript_Owner", + "flag": "FLAG_TEMP_6" + }, + { + "graphics_id": "OBJ_EVENT_GFX_VAR_0", + "x": 10, + "y": 10, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_FACE_DOWN", + "movement_range_x": 1, + "movement_range_y": 1, + "trainer_type": 0, + "trainer_sight_or_berry_tree_id": 0, + "script": "TrainerTower_EventScript_DoublesTrainer1", + "flag": "FLAG_TEMP_2" + }, + { + "graphics_id": "OBJ_EVENT_GFX_VAR_1", + "x": 15, + "y": 13, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_FACE_LEFT", + "movement_range_x": 1, + "movement_range_y": 1, + "trainer_type": 0, + "trainer_sight_or_berry_tree_id": 0, + "script": "TrainerTower_EventScript_SinglesTrainer", + "flag": "FLAG_TEMP_3" + }, + { + "graphics_id": "OBJ_EVENT_GFX_VAR_2", + "x": 10, + "y": 16, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_FACE_UP", + "movement_range_x": 1, + "movement_range_y": 1, + "trainer_type": 0, + "trainer_sight_or_berry_tree_id": 0, + "script": "TrainerTower_EventScript_KnockoutTrainer", + "flag": "FLAG_TEMP_4" + }, + { + "graphics_id": "OBJ_EVENT_GFX_VAR_3", + "x": 11, + "y": 10, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_FACE_DOWN", + "movement_range_x": 1, + "movement_range_y": 1, + "trainer_type": 0, + "trainer_sight_or_berry_tree_id": 0, + "script": "TrainerTower_EventScript_DoublesTrainer2", + "flag": "FLAG_TEMP_5" + } + ], + "warp_events": [ + { + "x": 15, + "y": 6, + "elevation": 3, + "dest_map": "MAP_TRAINER_TOWER_8F", + "dest_warp_id": 1 + }, + { + "x": 4, + "y": 6, + "elevation": 3, + "dest_map": "MAP_TRAINER_TOWER_6F", + "dest_warp_id": 0 + }, + { + "x": 13, + "y": 5, + "elevation": 0, + "dest_map": "MAP_TRAINER_TOWER_ELEVATOR", + "dest_warp_id": 0 + } + ], + "coord_events": [ + { + "type": "trigger", + "x": 10, + "y": 13, + "elevation": 3, + "var": "VAR_TEMP_E", + "var_value": 0, + "script": "TrainerTower_EventScript_SingleBattleTrigger" + }, + { + "type": "trigger", + "x": 9, + "y": 12, + "elevation": 3, + "var": "VAR_TEMP_F", + "var_value": 0, + "script": "TrainerTower_EventScript_DoubleBattleTriggerTop" + }, + { + "type": "trigger", + "x": 9, + "y": 13, + "elevation": 3, + "var": "VAR_TEMP_F", + "var_value": 0, + "script": "TrainerTower_EventScript_DoubleBattleTriggerBottom" + } + ], + "bg_events": [] +} diff --git a/data/maps/TrainerTower_7F/scripts.inc b/data/maps/TrainerTower_7F/scripts.inc new file mode 100644 index 000000000..de47276ca --- /dev/null +++ b/data/maps/TrainerTower_7F/scripts.inc @@ -0,0 +1,27 @@ +TrainerTower_7F_MapScripts:: @ 81647CC + map_script MAP_SCRIPT_ON_RESUME, TrainerTower_OnResume + map_script MAP_SCRIPT_ON_TRANSITION, TrainerTower_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerTower_OnFrame + .byte 0 + +@ Below scripts are unused, the identical versions in the 1F script are used instead + +TrainerTower_7F_EventScript_DoublesTrainer1:: @ 81647DC + call TrainerTower_EventScript_SpeakToDoublesTrainer1 + end + +TrainerTower_7F_EventScript_SinglesTrainer:: @ 81647E2 + call TrainerTower_EventScript_SpeakToSinglesTrainer + end + +TrainerTower_7F_EventScript_KnockoutTrainer:: @ 81647E8 + call TrainerTower_EventScript_SpeakToKnockoutTrainer + end + +TrainerTower_7F_EventScript_DoublesTrainer2:: @ 81647EE + call TrainerTower_EventScript_SpeakToDoublesTrainer2 + end + +TrainerTower_7F_EventScript_Owner:: @ 81647F4 + call TrainerTower_EventScript_SpeakToOwner + end diff --git a/data/maps/TrainerTower_8F/map.json b/data/maps/TrainerTower_8F/map.json new file mode 100644 index 000000000..2becc2697 --- /dev/null +++ b/data/maps/TrainerTower_8F/map.json @@ -0,0 +1,137 @@ +{ + "id": "MAP_TRAINER_TOWER_8F", + "name": "TrainerTower_8F", + "layout": "LAYOUT_TRAINER_TOWER_8F", + "music": "MUS_T_TOWER", + "region_map_section": "MAPSEC_TRAINER_TOWER_2", + "requires_flash": false, + "weather": "WEATHER_NONE", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", + "connections": null, + "object_events": [ + { + "graphics_id": "OBJ_EVENT_GFX_TRAINER_TOWER_DUDE", + "x": 9, + "y": 7, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_FACE_DOWN", + "movement_range_x": 1, + "movement_range_y": 1, + "trainer_type": 0, + "trainer_sight_or_berry_tree_id": 0, + "script": "TrainerTower_EventScript_Owner", + "flag": "FLAG_TEMP_6" + }, + { + "graphics_id": "OBJ_EVENT_GFX_VAR_0", + "x": 10, + "y": 10, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_FACE_DOWN", + "movement_range_x": 1, + "movement_range_y": 1, + "trainer_type": 0, + "trainer_sight_or_berry_tree_id": 0, + "script": "TrainerTower_EventScript_DoublesTrainer1", + "flag": "FLAG_TEMP_2" + }, + { + "graphics_id": "OBJ_EVENT_GFX_VAR_1", + "x": 15, + "y": 13, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_FACE_LEFT", + "movement_range_x": 1, + "movement_range_y": 1, + "trainer_type": 0, + "trainer_sight_or_berry_tree_id": 0, + "script": "TrainerTower_EventScript_SinglesTrainer", + "flag": "FLAG_TEMP_3" + }, + { + "graphics_id": "OBJ_EVENT_GFX_VAR_2", + "x": 10, + "y": 16, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_FACE_UP", + "movement_range_x": 1, + "movement_range_y": 1, + "trainer_type": 0, + "trainer_sight_or_berry_tree_id": 0, + "script": "TrainerTower_EventScript_KnockoutTrainer", + "flag": "FLAG_TEMP_4" + }, + { + "graphics_id": "OBJ_EVENT_GFX_VAR_3", + "x": 11, + "y": 10, + "elevation": 3, + "movement_type": "MOVEMENT_TYPE_FACE_DOWN", + "movement_range_x": 1, + "movement_range_y": 1, + "trainer_type": 0, + "trainer_sight_or_berry_tree_id": 0, + "script": "TrainerTower_EventScript_DoublesTrainer2", + "flag": "FLAG_TEMP_5" + } + ], + "warp_events": [ + { + "x": 15, + "y": 6, + "elevation": 3, + "dest_map": "MAP_TRAINER_TOWER_ROOF", + "dest_warp_id": 1 + }, + { + "x": 4, + "y": 6, + "elevation": 3, + "dest_map": "MAP_TRAINER_TOWER_7F", + "dest_warp_id": 0 + }, + { + "x": 13, + "y": 5, + "elevation": 0, + "dest_map": "MAP_TRAINER_TOWER_ELEVATOR", + "dest_warp_id": 0 + } + ], + "coord_events": [ + { + "type": "trigger", + "x": 10, + "y": 13, + "elevation": 3, + "var": "VAR_TEMP_E", + "var_value": 0, + "script": "TrainerTower_EventScript_SingleBattleTrigger" + }, + { + "type": "trigger", + "x": 9, + "y": 12, + "elevation": 3, + "var": "VAR_TEMP_F", + "var_value": 0, + "script": "TrainerTower_EventScript_DoubleBattleTriggerTop" + }, + { + "type": "trigger", + "x": 9, + "y": 13, + "elevation": 3, + "var": "VAR_TEMP_F", + "var_value": 0, + "script": "TrainerTower_EventScript_DoubleBattleTriggerBottom" + } + ], + "bg_events": [] +} diff --git a/data/maps/TrainerTower_8F/scripts.inc b/data/maps/TrainerTower_8F/scripts.inc new file mode 100644 index 000000000..fc168780b --- /dev/null +++ b/data/maps/TrainerTower_8F/scripts.inc @@ -0,0 +1,27 @@ +TrainerTower_8F_MapScripts:: @ 81647FA + map_script MAP_SCRIPT_ON_RESUME, TrainerTower_OnResume + map_script MAP_SCRIPT_ON_TRANSITION, TrainerTower_OnTransition + map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerTower_OnFrame + .byte 0 + +@ Below scripts are unused, the identical versions in the 1F script are used instead + +TrainerTower_8F_EventScript_DoublesTrainer1:: @ 816480A + call TrainerTower_EventScript_SpeakToDoublesTrainer1 + end + +TrainerTower_8F_EventScript_SinglesTrainer:: @ 8164810 + call TrainerTower_EventScript_SpeakToSinglesTrainer + end + +TrainerTower_8F_EventScript_KnockoutTrainer:: @ 8164816 + call TrainerTower_EventScript_SpeakToKnockoutTrainer + end + +TrainerTower_8F_EventScript_DoublesTrainer2:: @ 816481C + call TrainerTower_EventScript_SpeakToDoublesTrainer2 + end + +TrainerTower_8F_EventScript_Owner:: @ 8164822 + call TrainerTower_EventScript_SpeakToOwner + end diff --git a/data/maps/TrainerTower_Elevator/map.json b/data/maps/TrainerTower_Elevator/map.json new file mode 100644 index 000000000..869b50f82 --- /dev/null +++ b/data/maps/TrainerTower_Elevator/map.json @@ -0,0 +1,38 @@ +{ + "id": "MAP_TRAINER_TOWER_ELEVATOR", + "name": "TrainerTower_Elevator", + "layout": "LAYOUT_TRAINER_TOWER_ELEVATOR", + "music": "MUS_T_TOWER", + "region_map_section": "MAPSEC_TRAINER_TOWER_2", + "requires_flash": false, + "weather": "WEATHER_NONE", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", + "connections": null, + "object_events": [], + "warp_events": [ + { + "x": 2, + "y": 5, + "elevation": 3, + "dest_map": "MAP_NONE", + "dest_warp_id": 127 + } + ], + "coord_events": [], + "bg_events": [ + { + "type": "sign", + "x": 0, + "y": 2, + "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "TrainerTower_Elevator_EventScript_FloorSelect" + } + ] +} diff --git a/data/maps/TrainerTower_Elevator/scripts.inc b/data/maps/TrainerTower_Elevator/scripts.inc new file mode 100644 index 000000000..b49a9b45a --- /dev/null +++ b/data/maps/TrainerTower_Elevator/scripts.inc @@ -0,0 +1,80 @@ +TrainerTower_Elevator_MapScripts:: @ 8164AF8 + map_script MAP_SCRIPT_ON_RESUME, TrainerTower_OnResume + map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerTower_OnFrame + .byte 0 + +TrainerTower_Elevator_EventScript_FloorSelect:: @ 8164B03 + lockall + setvar VAR_0x8004, 6 + call_if_unset FLAG_TEMP_2, EventScript_GetElevatorFloor + copyvar VAR_0x8005, VAR_ELEVATOR_FLOOR + special DrawElevatorCurrentFloorWindow + message Text_WantWhichFloor + waitmessage + setvar VAR_0x8004, 6 + specialvar VAR_RESULT, InitElevatorFloorSelectMenuPos + switch VAR_RESULT + case 0, TrainerTower_Elevator_EventScript_FloorSelectFromRoof + case 1, TrainerTower_Elevator_EventScript_FloorSelectFromLobby + end + +TrainerTower_Elevator_EventScript_FloorSelectFromRoof:: @ 8164B46 + multichoicedefault 0, 0, MULTICHOICE_ROOFTOP_B1F, 0, FALSE + goto TrainerTower_Elevator_EventScript_ChooseFloor + end + +TrainerTower_Elevator_EventScript_FloorSelectFromLobby:: @ 8164B52 + multichoicedefault 0, 0, MULTICHOICE_ROOFTOP_B1F, 1, FALSE + goto TrainerTower_Elevator_EventScript_ChooseFloor + end + +TrainerTower_Elevator_EventScript_ChooseFloor:: @ 8164B5E + switch VAR_RESULT + case 0, TrainerTower_Elevator_EventScript_SelectRoof + case 1, TrainerTower_Elevator_EventScript_SelectLobby + case 2, TrainerTower_Elevator_EventScript_CloseFloorSelect + case SCR_MENU_CANCEL, TrainerTower_Elevator_EventScript_CloseFloorSelect + end + +TrainerTower_Elevator_EventScript_SelectLobby:: @ 8164B90 + setvar VAR_0x8006, 3 + setdynamicwarp MAP_TRAINER_TOWER_LOBBY, 255, 17, 8 + compare VAR_ELEVATOR_FLOOR, 3 + goto_if_eq TrainerTower_Elevator_EventScript_CloseFloorSelect + call TrainerTower_Elevator_EventScript_MoveElevator + setvar VAR_ELEVATOR_FLOOR, 3 + special CloseElevatorCurrentFloorWindow + delay 25 + applymovement OBJ_EVENT_ID_PLAYER, TrainerTower_Elevator_Movement_ExitElevator + waitmovement 0 + warp MAP_TRAINER_TOWER_LOBBY, 255, 17, 8 + waitstate + releaseall + end + +TrainerTower_Elevator_EventScript_SelectRoof:: @ 8164BCD + goto TrainerTower_Elevator_EventScript_CloseFloorSelect + end + +TrainerTower_Elevator_EventScript_CloseFloorSelect:: @ 8164BD3 + special CloseElevatorCurrentFloorWindow + releaseall + end + +TrainerTower_Elevator_EventScript_MoveElevator:: @ 8164BD8 + special CloseElevatorCurrentFloorWindow + closemessage + waitse + special AnimateElevator + waitstate + setflag FLAG_TEMP_2 + return + +TrainerTower_Elevator_Movement_ExitElevator:: @ 8164BE5 + walk_in_place_fastest_down + delay_16 + walk_down + walk_right + walk_right + walk_down + step_end diff --git a/data/maps/SevenIsland_TrainerTower_Lobby/map.json b/data/maps/TrainerTower_Lobby/map.json similarity index 63% rename from data/maps/SevenIsland_TrainerTower_Lobby/map.json rename to data/maps/TrainerTower_Lobby/map.json index 3f553ce47..9bf4c9397 100644 --- a/data/maps/SevenIsland_TrainerTower_Lobby/map.json +++ b/data/maps/TrainerTower_Lobby/map.json @@ -1,20 +1,22 @@ { - "id": "MAP_SEVEN_ISLAND_TRAINER_TOWER_LOBBY", - "name": "SevenIsland_TrainerTower_Lobby", - "layout": "LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_LOBBY", + "id": "MAP_TRAINER_TOWER_LOBBY", + "name": "TrainerTower_Lobby", + "layout": "LAYOUT_TRAINER_TOWER_LOBBY", "music": "MUS_T_TOWER", "region_map_section": "MAPSEC_TRAINER_TOWER_2", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 2, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_NURSE", + "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 4, "y": 9, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_Lobby_EventScript_16495D", + "script": "TrainerTower_Lobby_EventScript_Nurse", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_UNION_ROOM_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_UNION_ROOM_RECEPTIONIST", "x": 14, "y": 9, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_Lobby_EventScript_164992", + "script": "TrainerTower_Lobby_EventScript_MartClerk", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_UNION_ROOM_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_UNION_ROOM_RECEPTIONIST", "x": 11, "y": 7, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_Lobby_EventScript_164966", + "script": "TrainerTower_Lobby_EventScript_Receptionist", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_F", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_F", "x": 12, "y": 13, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_Lobby_EventScript_164AE6", + "script": "TrainerTower_Lobby_EventScript_CooltrainerF", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 2, "y": 12, "elevation": 3, @@ -75,7 +77,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_Lobby_EventScript_164AEF", + "script": "TrainerTower_Lobby_EventScript_BaldingMan", "flag": "0" } ], @@ -84,7 +86,7 @@ "x": 9, "y": 2, "elevation": 3, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_1F", + "dest_map": "MAP_TRAINER_TOWER_1F", "dest_warp_id": 1 }, { @@ -98,7 +100,7 @@ "x": 17, "y": 8, "elevation": 0, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_ELEVATOR", + "dest_map": "MAP_TRAINER_TOWER_ELEVATOR", "dest_warp_id": 0 } ], @@ -110,16 +112,17 @@ "elevation": 3, "var": "VAR_MAP_SCENE_TRAINER_TOWER", "var_value": 0, - "script": "SevenIsland_TrainerTower_Lobby_EventScript_1649CE" + "script": "TrainerTower_Lobby_EventScript_EntryTrigger" } ], "bg_events": [ { - "type": "bg_event_type_1", + "type": "sign", "x": 8, "y": 10, "elevation": 0, - "script": "SevenIsland_TrainerTower_Lobby_EventScript_164AD8" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", + "script": "TrainerTower_Lobby_EventScript_ShowRecords" } ] } diff --git a/data/maps/TrainerTower_Lobby/scripts.inc b/data/maps/TrainerTower_Lobby/scripts.inc new file mode 100644 index 000000000..bdda45de8 --- /dev/null +++ b/data/maps/TrainerTower_Lobby/scripts.inc @@ -0,0 +1,226 @@ +TrainerTower_Lobby_MapScripts:: @ 8164839 + map_script MAP_SCRIPT_ON_RESUME, TrainerTower_Lobby_OnResume + map_script MAP_SCRIPT_ON_RETURN_TO_FIELD, TrainerTower_Lobby_OnReturnToField + map_script MAP_SCRIPT_ON_TRANSITION, TrainerTower_Lobby_OnTransition + map_script MAP_SCRIPT_ON_LOAD, TrainerTower_Lobby_OnLoad + map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerTower_Lobby_OnFrame + .byte 0 + +TrainerTower_Lobby_OnResume:: @ 8164853 + setvar VAR_TEMP_2, 0 + ttower_resumetimer + ttower_shouldexit + compare VAR_RESULT, FALSE + goto_if_eq TrainerTower_Lobby_OnResumeEnd + @ Never reached, above always FALSE + setvar VAR_TEMP_0, 0 + setobjectxy OBJ_EVENT_ID_PLAYER, 9, 7 + applymovement OBJ_EVENT_ID_PLAYER, TrainerTower_Lobby_Movement_FaceReceptionist +TrainerTower_Lobby_OnResumeEnd:: @ 8164886 + end + +TrainerTower_Lobby_OnReturnToField:: @ 8164887 + addobject 1 + addobject 2 + addobject 3 + addobject 4 + addobject 5 + end + +TrainerTower_Lobby_OnLoad:: @ 8164897 + compare VAR_TEMP_D, 17 + call_if_eq TrainerTower_Lobby_OpenCounterBarrier + end + +TrainerTower_Lobby_OpenCounterBarrier:: @ 81648A3 + setmetatile 17, 10, METATILE_TrainerTower_Floor_ShadeBottomLeft, 0 + return + +TrainerTower_Lobby_OnTransition:: @ 81648AD + setworldmapflag FLAG_WORLD_MAP_TRAINER_TOWER_LOBBY + getplayerxy VAR_TEMP_D, VAR_RESULT + end + +TrainerTower_Lobby_OnFrame:: @ 81648B6 + map_script_2 VAR_TEMP_0, 0, TrainerTower_Lobby_EventScript_Enter + map_script_2 VAR_TEMP_D, 17, TrainerTower_Lobby_EventScript_ExitElevator + .2byte 0 + +TrainerTower_Lobby_EventScript_ExitElevator:: @ 81648C8 + lockall + applymovement OBJ_EVENT_ID_PLAYER, TrainerTower_Lobby_Movement_ExitElevator + waitmovement 0 + setmetatile 17, 10, METATILE_TrainerTower_CounterBarrier, 1 + special DrawWholeMapView + playse SE_TK_KASYA + waitse + setvar VAR_TEMP_D, 0 + releaseall + end + +TrainerTower_Lobby_Movement_ExitElevator:: @ 81648EA + walk_down + walk_down + step_end + +TrainerTower_Lobby_EventScript_Enter:: @ 81648ED + setvar VAR_TEMP_0, 1 + ttower_getchallengestatus + switch VAR_RESULT + case CHALLENGE_STATUS_LOST, TrainerTower_Lobby_EventScript_LostChallenge + case CHALLENGE_STATUS_UNK, TrainerTower_Lobby_EventScript_164938 + case CHALLENGE_STATUS_NORMAL, TrainerTower_Lobby_EventScript_EnterEnd + +TrainerTower_Lobby_EventScript_LostChallenge:: @ 8164920 + lock + faceplayer + applymovement OBJ_EVENT_ID_PLAYER, TrainerTower_Lobby_Movement_FaceReceptionist + textcolor 1 + msgbox TrainerTower_Lobby_Text_TooBadComeBackTryAgain + goto TrainerTower_Lobby_EventScript_ExitChallenge + +@ Presumably E-Reader related +TrainerTower_Lobby_EventScript_164938:: @ 8164938 + lock + faceplayer + applymovement OBJ_EVENT_ID_PLAYER, TrainerTower_Lobby_Movement_FaceReceptionist + textcolor 1 + msgbox TrainerTower_Lobby_Text_MoveCounterHereWhenTrainersSwitch +TrainerTower_Lobby_EventScript_ExitChallenge:: @ 816494B + closemessage + applymovement OBJ_EVENT_ID_PLAYER, TrainerTower_Lobby_Movement_WalkDown + waitmovement 0 + setvar VAR_MAP_SCENE_TRAINER_TOWER, 0 + release +TrainerTower_Lobby_EventScript_EnterEnd:: @ 816495C + end + +TrainerTower_Lobby_EventScript_Nurse:: @ 816495D + lock + faceplayer + call EventScript_PkmnCenterNurse + release + end + +TrainerTower_Lobby_EventScript_Receptionist:: @ 8164966 + lock + faceplayer + ttower_getbeatchallenge + compare VAR_RESULT, TRUE + goto_if_eq TrainerTower_Lobby_EventScript_ThanksForCompeting + msgbox TrainerTower_Lobby_Text_GiveItYourBest + goto TrainerTower_Lobby_EventScript_ReceptionistEnd + +TrainerTower_Lobby_EventScript_ThanksForCompeting:: @ 8164988 + msgbox TrainerTower_Lobby_Text_ThanksForCompeting +TrainerTower_Lobby_EventScript_ReceptionistEnd:: @ 8164990 + release + end + +TrainerTower_Lobby_EventScript_MartClerk:: @ 8164992 + goto_if_questlog EventScript_ReleaseEnd + lock + faceplayer + message Text_MayIHelpYou + waitmessage + pokemart TrainerTower_Lobby_Mart_Items + msgbox Text_PleaseComeAgain + release + end + + .align 2 +TrainerTower_Lobby_Mart_Items:: @ 81649B8 + .2byte ITEM_ULTRA_BALL + .2byte ITEM_GREAT_BALL + .2byte ITEM_FULL_RESTORE + .2byte ITEM_MAX_POTION + .2byte ITEM_HYPER_POTION + .2byte ITEM_REVIVE + .2byte ITEM_FULL_HEAL + .2byte ITEM_ESCAPE_ROPE + .2byte ITEM_MAX_REPEL + .2byte ITEM_NONE + release + end + +TrainerTower_Lobby_EventScript_EntryTrigger:: @ 81649CE + lockall + applymovement OBJ_EVENT_ID_PLAYER, TrainerTower_Lobby_Movement_FaceReceptionist + textcolor 1 + msgbox TrainerTower_Lobby_Text_WelcomeToTrainerTower + ttower_getnumfloors + compare VAR_RESULT, FALSE + goto_if_eq TrainerTower_Lobby_EventScript_AllFloorsUsed + msgbox TrainerTower_Lobby_Text_TrainersUpToFloorNum + goto TrainerTower_Lobby_EventScript_AskEnterChallenge + +TrainerTower_Lobby_EventScript_AllFloorsUsed:: @ 8164A00 + msgbox TrainerTower_Lobby_Text_TrainersUpEighthFloor +TrainerTower_Lobby_EventScript_AskEnterChallenge:: @ 8164A08 + message TrainerTower_Lobby_Text_LikeToChallengeTrainers + waitmessage + multichoice 18, 6, MULTICHOICE_YES_NO_INFO, FALSE + switch VAR_RESULT + case 0, TrainerTower_Lobby_EventScript_ChooseChallenge + case 1, TrainerTower_Lobby_EventScript_DeclineChallenge + case 2, TrainerTower_Lobby_EventScript_ChallengeInfo + case SCR_MENU_CANCEL, TrainerTower_Lobby_EventScript_DeclineChallenge + end + +TrainerTower_Lobby_EventScript_ChallengeInfo:: @ 8164A45 + msgbox TrainerTower_Lobby_Text_ExplainTrainerTower + goto TrainerTower_Lobby_EventScript_AskEnterChallenge + end + +TrainerTower_Lobby_EventScript_ChooseChallenge:: @ 8164A53 + multichoice 13, 3, MULTICHOICE_TRAINER_TOWER_MODE, FALSE + switch VAR_RESULT + case 0, TrainerTower_Lobby_EventScript_BeginChallenge + case 1, TrainerTower_Lobby_EventScript_BeginChallenge + case 2, TrainerTower_Lobby_EventScript_BeginChallenge + case 3, TrainerTower_Lobby_EventScript_BeginChallenge + case 4, TrainerTower_Lobby_EventScript_DeclineChallenge + case SCR_MENU_CANCEL, TrainerTower_Lobby_EventScript_DeclineChallenge + end + +TrainerTower_Lobby_EventScript_BeginChallenge:: @ 8164AA0 + copyvar VAR_0x8005, VAR_RESULT + setvar VAR_MAP_SCENE_TRAINER_TOWER, 1 + special HealPlayerParty + msgbox TrainerTower_Lobby_Text_StartClockGetSetGo + ttower_startchallenge + releaseall + end + +TrainerTower_Lobby_EventScript_DeclineChallenge:: @ 8164ABF + msgbox TrainerTower_Lobby_Text_PleaseVisitUsAgain + closemessage + applymovement OBJ_EVENT_ID_PLAYER, TrainerTower_Lobby_Movement_WalkDown + waitmovement 0 + releaseall + end + +TrainerTower_Lobby_Movement_FaceReceptionist:: @ 8164AD4 + face_right + step_end + +TrainerTower_Lobby_Movement_WalkDown:: @ 8164AD6 + walk_down + step_end + +TrainerTower_Lobby_EventScript_ShowRecords:: @ 8164AD8 + lockall + fadescreen FADE_TO_BLACK + setvar VAR_0x8004, 1 + special ShowBattleRecords + waitstate + releaseall + end + +TrainerTower_Lobby_EventScript_CooltrainerF:: @ 8164AE6 + msgbox TrainerTower_Lobby_Text_WonderWhatKindsOfTrainers, MSGBOX_NPC + end + +TrainerTower_Lobby_EventScript_BaldingMan:: @ 8164AEF + msgbox TrainerTower_Lobby_Text_StairsTougherThanAnyBattle, MSGBOX_NPC + end diff --git a/data/maps/SevenIsland_TrainerTower_Lobby/text.inc b/data/maps/TrainerTower_Lobby/text.inc similarity index 71% rename from data/maps/SevenIsland_TrainerTower_Lobby/text.inc rename to data/maps/TrainerTower_Lobby/text.inc index bf1e73b91..4e6bb8b07 100644 --- a/data/maps/SevenIsland_TrainerTower_Lobby/text.inc +++ b/data/maps/TrainerTower_Lobby/text.inc @@ -1,50 +1,52 @@ -gUnknown_817C794:: @ 817C794 +@ All Trainer Tower text (Lobby and Roof) is interleaved here + +TrainerTower_Lobby_Text_WelcomeToTrainerTower:: @ 817C794 .string "Hello!\p" .string "Welcome to TRAINER TOWER where\n" .string "TRAINERS gather from all over!$" -gUnknown_817C7D9:: @ 817C7D9 +TrainerTower_Lobby_Text_TrainersUpToFloorNum:: @ 817C7D9 .string "TRAINERS from all over the world\n" .string "gather here to battle.\p" .string "Let me see…\p" .string "Right now, there are TRAINERS only\n" .string "up to Floor {STR_VAR_1}.$" -gUnknown_817C850:: @ 817C850 +TrainerTower_Lobby_Text_TrainersUpEighthFloor:: @ 817C850 .string "TRAINERS are awaiting your\n" .string "challenge up to the eighth floor.$" -Text_17C88D:: @ 817C88D +TrainerTower_Lobby_Text_LikeToChallengeTrainers:: @ 817C88D .string "Would you like to challenge the\n" .string "waiting TRAINERS?$" -gUnknown_817C8BF:: @ 817C8BF +TrainerTower_Lobby_Text_StartClockGetSetGo:: @ 817C8BF .string "Okay, I'll get the clock started,\n" .string "so give it everything you have.\p" .string "On your marks…\p" .string "Get set…\p" .string "Go!$" -gUnknown_817C91D:: @ 817C91D +TrainerTower_Lobby_Text_PleaseVisitUsAgain:: @ 817C91D .string "Please do visit us again!$" -gUnknown_817C937:: @ 817C937 +TrainerTower_Lobby_Text_TooBadComeBackTryAgain:: @ 817C937 .string "That was too bad.\p" .string "I think you put in a tremendous\n" .string "effort in your battling.\p" .string "Please come back and try again!$" -gUnknown_817C9A2:: @ 817C9A2 +TrainerTower_Lobby_Text_GiveItYourBest:: @ 817C9A2 .string "I hope you give it your best.$" -gUnknown_817C9C0:: @ 817C9C0 +TrainerTower_Lobby_Text_MoveCounterHereWhenTrainersSwitch:: @ 817C9C0 .string "When the TRAINERS switch places,\n" .string "the movement can be hectic.\p" .string "To avoid the stampede, we moved\n" .string "the reception counter here.\p" .string "I'm sorry for the inconvenience.$" -Text_17CA5A:: @ 817CA5A +TrainerTower_Roof_Text_ImOwnerBattledPerfectly:: @ 817CA5A .string "Hello…\p" .string "I am the owner of this TOWER…\p" .string "How the sky soars above this\n" @@ -54,10 +56,10 @@ Text_17CA5A:: @ 817CA5A .string "The way you battled…\n" .string "It, too, was perfection…$" -Text_17CB09:: @ 817CB09 +TrainerTower_Roof_Text_ThisIsForYou:: @ 817CB09 .string "This is for you…$" -Text_17CB1A:: @ 817CB1A +TrainerTower_Roof_Text_DoneItInRecordTime:: @ 817CB1A .string "Oh!\n" .string "Stupendous!\p" .string "It's marvelous how you've come up\n" @@ -67,28 +69,28 @@ Text_17CB1A:: @ 817CB1A .string "I'll have your record posted at\n" .string "the reception counter.$" -Text_17CBC0:: @ 817CBC0 +TrainerTower_Roof_Text_TookSweetTimeGettingHere:: @ 817CBC0 .string "You seem to have taken your sweet\n" .string "time getting here…$" -Text_17CBF5:: @ 817CBF5 +TrainerTower_Roof_Text_IdLikeToSeeBetterTime:: @ 817CBF5 .string "What I would like to see is a\n" .string "better time out of you…\p" .string "I'm counting on you.\p" .string "Until then, farewell…$" -Text_17CC56:: @ 817CC56 +TrainerTower_Text_XMinYZSec:: @ 817CC56 .string "{STR_VAR_1} min. {STR_VAR_2}.{STR_VAR_3} sec.$" -Text_17CC69:: @ 817CC69 +TrainerTower_Lobby_Text_HereAreTheResults:: @ 817CC69 .string "せいせきひょうです$" -Text_17CC73:: @ 817CC73 +TrainerTower_Lobby_Text_NeedTwoMonsForDouble:: @ 817CC73 .string "This is a two-on-two battle.\p" .string "You may not battle unless you have\n" .string "at least two POKéMON.$" -gUnknown_817CCC9:: @ 817CCC9 +TrainerTower_Lobby_Text_ExplainTrainerTower:: @ 817CCC9 .string "Here at TRAINER TOWER, there is an\n" .string "event called TIME ATTACK.\p" .string "You will be timed on how quickly\n" @@ -101,16 +103,16 @@ gUnknown_817CCC9:: @ 817CCC9 .string "You will not earn any EXP. Points\n" .string "or money by beating TRAINERS here.$" -gUnknown_817CE1F:: @ 817CE1F +TrainerTower_Lobby_Text_ThanksForCompeting:: @ 817CE1F .string "Thank you for competing!$" -gUnknown_817CE38:: @ 817CE38 +TrainerTower_Lobby_Text_WonderWhatKindsOfTrainers:: @ 817CE38 .string "I'm here to see how good I am.\p" .string "I wonder what kinds of TRAINERS\n" .string "are waiting for me?\p" .string "It's nerve-racking!$" -gUnknown_817CE9F:: @ 817CE9F +TrainerTower_Lobby_Text_StairsTougherThanAnyBattle:: @ 817CE9F .string "Gasp, gasp…\n" .string "Gasp…\p" .string "Never mind battling! These stairs…\n" diff --git a/data/maps/SevenIsland_TrainerTower_Roof/map.json b/data/maps/TrainerTower_Roof/map.json similarity index 57% rename from data/maps/SevenIsland_TrainerTower_Roof/map.json rename to data/maps/TrainerTower_Roof/map.json index ee3dbe4c0..c4ced59b3 100644 --- a/data/maps/SevenIsland_TrainerTower_Roof/map.json +++ b/data/maps/TrainerTower_Roof/map.json @@ -1,20 +1,22 @@ { - "id": "MAP_SEVEN_ISLAND_TRAINER_TOWER_ROOF", - "name": "SevenIsland_TrainerTower_Roof", - "layout": "LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_ROOF", + "id": "MAP_TRAINER_TOWER_ROOF", + "name": "TrainerTower_Roof", + "layout": "LAYOUT_TRAINER_TOWER_ROOF", "music": "MUS_T_TOWER", "region_map_section": "MAPSEC_TRAINER_TOWER_2", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 2, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_TRAINER_TOWER_DUDE", + "graphics_id": "OBJ_EVENT_GFX_TRAINER_TOWER_DUDE", "x": 9, "y": 7, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SevenIsland_TrainerTower_Roof_EventScript_1646E0", + "script": "TrainerTower_EventScript_Owner", "flag": "FLAG_TEMP_6" } ], @@ -32,14 +34,14 @@ "x": 13, "y": 5, "elevation": 0, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_ELEVATOR", + "dest_map": "MAP_TRAINER_TOWER_ELEVATOR", "dest_warp_id": 0 }, { "x": 4, "y": 6, "elevation": 3, - "dest_map": "MAP_SEVEN_ISLAND_TRAINER_TOWER_8F", + "dest_map": "MAP_TRAINER_TOWER_8F", "dest_warp_id": 0 } ], diff --git a/data/maps/TrainerTower_Roof/scripts.inc b/data/maps/TrainerTower_Roof/scripts.inc new file mode 100644 index 000000000..b338e3a62 --- /dev/null +++ b/data/maps/TrainerTower_Roof/scripts.inc @@ -0,0 +1,10 @@ +TrainerTower_Roof_MapScripts:: @ 8164828 + map_script MAP_SCRIPT_ON_RESUME, TrainerTower_OnResume + map_script MAP_SCRIPT_ON_FRAME_TABLE, TrainerTower_OnFrame + .byte 0 + +@ Below script is unused, the identical version in the 1F script is used instead + +TrainerTower_Roof_EventScript_Owner:: @ 8164833 + call TrainerTower_EventScript_SpeakToOwner + end diff --git a/data/maps/TwoIsland/map.json b/data/maps/TwoIsland/map.json index 556aa49da..8fa55df36 100644 --- a/data/maps/TwoIsland/map.json +++ b/data/maps/TwoIsland/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_TWO_ISLAND", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_1", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_TOWN", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_TWO_ISLAND_CAPE_BRINK", @@ -20,7 +22,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CLERK", + "graphics_id": "OBJ_EVENT_GFX_CLERK", "x": 28, "y": 4, "elevation": 3, @@ -29,11 +31,11 @@ "movement_range_y": 2, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "TwoIsland_EventScript_16760F", + "script": "TwoIsland_EventScript_Clerk", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_1", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_1", "x": 31, "y": 6, "elevation": 3, @@ -42,11 +44,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "TwoIsland_EventScript_167755", + "script": "TwoIsland_EventScript_Woman", "flag": "FLAG_HIDE_TWO_ISLAND_WOMAN" }, { - "graphics_id": "OBJECT_EVENT_GFX_BEAUTY", + "graphics_id": "OBJ_EVENT_GFX_BEAUTY", "x": 30, "y": 11, "elevation": 3, @@ -55,11 +57,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "TwoIsland_EventScript_16775E", + "script": "TwoIsland_EventScript_Beauty", "flag": "FLAG_HIDE_TWO_ISLAND_BEAUTY" }, { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 26, "y": 5, "elevation": 3, @@ -68,11 +70,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "TwoIsland_EventScript_16774C", + "script": "TwoIsland_EventScript_Sailor", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SUPER_NERD", + "graphics_id": "OBJ_EVENT_GFX_SUPER_NERD", "x": 27, "y": 6, "elevation": 3, @@ -81,11 +83,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "TwoIsland_EventScript_167777", + "script": "TwoIsland_EventScript_SuperNerd", "flag": "FLAG_HIDE_TWO_ISLAND_SUPER_NERD" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 30, "y": 16, "elevation": 3, @@ -94,11 +96,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 39, "y": 16, "elevation": 3, @@ -111,7 +113,7 @@ "flag": "FLAG_HIDE_TWO_ISLAND_REVIVE" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_BOY", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_BOY", "x": 37, "y": 12, "elevation": 3, @@ -120,11 +122,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "TwoIsland_EventScript_167789", + "script": "TwoIsland_EventScript_LittleBoy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BOY", + "graphics_id": "OBJ_EVENT_GFX_BOY", "x": 24, "y": 12, "elevation": 3, @@ -133,7 +135,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "TwoIsland_EventScript_167780", + "script": "TwoIsland_EventScript_Boy", "flag": "0" } ], @@ -170,25 +172,28 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 29, "y": 8, "elevation": 0, - "script": "TwoIsland_EventScript_167792" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "TwoIsland_EventScript_IslandSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 40, "y": 10, "elevation": 0, - "script": "TwoIsland_EventScript_16779B" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "TwoIsland_EventScript_JoyfulGameCornerSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 8, "y": 3, "elevation": 0, - "script": "TwoIsland_EventScript_1677A4" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "TwoIsland_EventScript_FastCurrentSign" } ] } diff --git a/data/maps/TwoIsland/scripts.inc b/data/maps/TwoIsland/scripts.inc index acfb2c38b..530fd3928 100644 --- a/data/maps/TwoIsland/scripts.inc +++ b/data/maps/TwoIsland/scripts.inc @@ -5,137 +5,137 @@ TwoIsland_MapScripts:: @ 8167564 TwoIsland_OnTransition:: @ 816756A setworldmapflag FLAG_WORLD_MAP_TWO_ISLAND setflag FLAG_VISITED_TWO_ISLAND - call EventScript_167576 + call TwoIsland_EventScript_SetShopState end -EventScript_167576:: @ 8167576 - goto_if_set FLAG_SYS_CAN_LINK_WITH_RS, EventScript_167597 - goto_if_set FLAG_SYS_GAME_CLEAR, EventScript_1675B8 - goto_if_set FLAG_RESCUED_LOSTELLE, EventScript_1675D9 - goto EventScript_1675E8 +TwoIsland_EventScript_SetShopState:: @ 8167576 + goto_if_set FLAG_SYS_CAN_LINK_WITH_RS, TwoIsland_EventScript_SetShopStateAfterHoennLink + goto_if_set FLAG_SYS_GAME_CLEAR, TwoIsland_EventScript_SetShopStateAfterChampion + goto_if_set FLAG_RESCUED_LOSTELLE, TwoIsland_EventScript_SetShopStateAfterLostelleRescue + goto TwoIsland_EventScript_SetShopStateDefault end -EventScript_167597:: @ 8167597 - goto_if_unset FLAG_TWO_ISLAND_SHOP_INTRODUCED, EventScript_1675EE - goto_if_unset FLAG_TWO_ISLAND_SHOP_EXPANDED_1, EventScript_1675F4 - goto_if_unset FLAG_TWO_ISLAND_SHOP_EXPANDED_2, EventScript_1675FD - goto EventScript_167606 +TwoIsland_EventScript_SetShopStateAfterHoennLink:: @ 8167597 + goto_if_unset FLAG_TWO_ISLAND_SHOP_INTRODUCED, TwoIsland_EventScript_SetShopInitial + goto_if_unset FLAG_TWO_ISLAND_SHOP_EXPANDED_1, TwoIsland_EventScript_SetShopExpanded1 + goto_if_unset FLAG_TWO_ISLAND_SHOP_EXPANDED_2, TwoIsland_EventScript_SetShopExpanded2 + goto TwoIsland_EventScript_SetShopExpanded3 end -EventScript_1675B8:: @ 81675B8 - goto_if_unset FLAG_TWO_ISLAND_SHOP_INTRODUCED, EventScript_1675EE - goto_if_unset FLAG_RESCUED_LOSTELLE, EventScript_1675EE - goto_if_unset FLAG_TWO_ISLAND_SHOP_EXPANDED_1, EventScript_1675F4 - goto EventScript_1675FD +TwoIsland_EventScript_SetShopStateAfterChampion:: @ 81675B8 + goto_if_unset FLAG_TWO_ISLAND_SHOP_INTRODUCED, TwoIsland_EventScript_SetShopInitial + goto_if_unset FLAG_RESCUED_LOSTELLE, TwoIsland_EventScript_SetShopInitial + goto_if_unset FLAG_TWO_ISLAND_SHOP_EXPANDED_1, TwoIsland_EventScript_SetShopExpanded1 + goto TwoIsland_EventScript_SetShopExpanded2 end -EventScript_1675D9:: @ 81675D9 - goto_if_unset FLAG_TWO_ISLAND_SHOP_INTRODUCED, EventScript_1675EE - goto EventScript_1675F4 +TwoIsland_EventScript_SetShopStateAfterLostelleRescue:: @ 81675D9 + goto_if_unset FLAG_TWO_ISLAND_SHOP_INTRODUCED, TwoIsland_EventScript_SetShopInitial + goto TwoIsland_EventScript_SetShopExpanded1 end -EventScript_1675E8:: @ 81675E8 - goto EventScript_1675EE +TwoIsland_EventScript_SetShopStateDefault:: @ 81675E8 + goto TwoIsland_EventScript_SetShopInitial end -EventScript_1675EE:: @ 81675EE +TwoIsland_EventScript_SetShopInitial:: @ 81675EE setvar VAR_MAP_SCENE_TWO_ISLAND, 1 return -EventScript_1675F4:: @ 81675F4 +TwoIsland_EventScript_SetShopExpanded1:: @ 81675F4 setvar VAR_MAP_SCENE_TWO_ISLAND, 2 clearflag FLAG_HIDE_TWO_ISLAND_WOMAN return -EventScript_1675FD:: @ 81675FD +TwoIsland_EventScript_SetShopExpanded2:: @ 81675FD setvar VAR_MAP_SCENE_TWO_ISLAND, 3 clearflag FLAG_HIDE_TWO_ISLAND_BEAUTY return -EventScript_167606:: @ 8167606 +TwoIsland_EventScript_SetShopExpanded3:: @ 8167606 setvar VAR_MAP_SCENE_TWO_ISLAND, 4 clearflag FLAG_HIDE_TWO_ISLAND_SUPER_NERD return -TwoIsland_EventScript_16760F:: @ 816760F +TwoIsland_EventScript_Clerk:: @ 816760F goto_if_questlog EventScript_ReleaseEnd lock faceplayer compare VAR_MAP_SCENE_TWO_ISLAND, 4 - goto_if_eq EventScript_167646 + goto_if_eq TwoIsland_EventScript_ClerkShopExpanded3 compare VAR_MAP_SCENE_TWO_ISLAND, 3 - goto_if_eq EventScript_16765E + goto_if_eq TwoIsland_EventScript_ClerkShopExpanded2 compare VAR_MAP_SCENE_TWO_ISLAND, 2 - goto_if_eq EventScript_167676 - goto EventScript_16768E + goto_if_eq TwoIsland_EventScript_ClerkShopExpanded1 + goto TwoIsland_EventScript_ClerkShopInitial end -EventScript_167646:: @ 8167646 - goto_if_set FLAG_TWO_ISLAND_SHOP_EXPANDED_3, EventScript_1676A6 +TwoIsland_EventScript_ClerkShopExpanded3:: @ 8167646 + goto_if_set FLAG_TWO_ISLAND_SHOP_EXPANDED_3, TwoIsland_EventScript_ClerkShopSkipIntro setflag FLAG_TWO_ISLAND_SHOP_EXPANDED_3 - message Text_181CAE + message TwoIsland_Text_BringingItemsFromDistantLands waitmessage - goto EventScript_167728 + goto TwoIsland_EventScript_ShopExpanded3 end -EventScript_16765E:: @ 816765E - goto_if_set FLAG_TWO_ISLAND_SHOP_EXPANDED_2, EventScript_1676A6 +TwoIsland_EventScript_ClerkShopExpanded2:: @ 816765E + goto_if_set FLAG_TWO_ISLAND_SHOP_EXPANDED_2, TwoIsland_EventScript_ClerkShopSkipIntro setflag FLAG_TWO_ISLAND_SHOP_EXPANDED_2 - message Text_181C77 + message TwoIsland_Text_HopeYouGiveItYourBest waitmessage - goto EventScript_167708 + goto TwoIsland_EventScript_ShopExpanded2 end -EventScript_167676:: @ 8167676 - goto_if_set FLAG_TWO_ISLAND_SHOP_EXPANDED_1, EventScript_1676A6 +TwoIsland_EventScript_ClerkShopExpanded1:: @ 8167676 + goto_if_set FLAG_TWO_ISLAND_SHOP_EXPANDED_1, TwoIsland_EventScript_ClerkShopSkipIntro setflag FLAG_TWO_ISLAND_SHOP_EXPANDED_1 - message Text_181B7C + message TwoIsland_Text_AddedMerchandiseForLostelle waitmessage - goto EventScript_1676EC + goto TwoIsland_EventScript_ShopExpanded1 end -EventScript_16768E:: @ 816768E - goto_if_set FLAG_TWO_ISLAND_SHOP_INTRODUCED, EventScript_1676A6 +TwoIsland_EventScript_ClerkShopInitial:: @ 816768E + goto_if_set FLAG_TWO_ISLAND_SHOP_INTRODUCED, TwoIsland_EventScript_ClerkShopSkipIntro setflag FLAG_TWO_ISLAND_SHOP_INTRODUCED - message Text_181AFE + message TwoIsland_Text_WelcomeToShopMerchandiseLimited waitmessage - goto EventScript_1676D3 + goto TwoIsland_EventScript_ShopInitial end -EventScript_1676A6:: @ 81676A6 +TwoIsland_EventScript_ClerkShopSkipIntro:: @ 81676A6 message Text_MayIHelpYou waitmessage compare VAR_MAP_SCENE_TWO_ISLAND, 4 - goto_if_eq EventScript_167728 + goto_if_eq TwoIsland_EventScript_ShopExpanded3 compare VAR_MAP_SCENE_TWO_ISLAND, 3 - goto_if_eq EventScript_167708 + goto_if_eq TwoIsland_EventScript_ShopExpanded2 compare VAR_MAP_SCENE_TWO_ISLAND, 2 - goto_if_eq EventScript_1676EC - goto EventScript_1676D3 + goto_if_eq TwoIsland_EventScript_ShopExpanded1 + goto TwoIsland_EventScript_ShopInitial end -EventScript_1676D3:: @ 81676D3 - pokemart Items_1676E4 +TwoIsland_EventScript_ShopInitial:: @ 81676D3 + pokemart TwoIsland_Items_ShopInitial msgbox Text_PleaseComeAgain release end .align 2 -Items_1676E4:: @ 81676E4 +TwoIsland_Items_ShopInitial:: @ 81676E4 .2byte ITEM_GREAT_BALL .2byte ITEM_FRESH_WATER .2byte ITEM_NONE release end -EventScript_1676EC:: @ 81676EC - pokemart Items_1676FC +TwoIsland_EventScript_ShopExpanded1:: @ 81676EC + pokemart TwoIsland_Items_ShopExpanded1 msgbox Text_PleaseComeAgain release end .align 2 -Items_1676FC:: @ 81676FC +TwoIsland_Items_ShopExpanded1:: @ 81676FC .2byte ITEM_ULTRA_BALL .2byte ITEM_GREAT_BALL .2byte ITEM_SODA_POP @@ -144,14 +144,14 @@ Items_1676FC:: @ 81676FC release end -EventScript_167708:: @ 8167708 - pokemart Items_167718 +TwoIsland_EventScript_ShopExpanded2:: @ 8167708 + pokemart TwoIsland_Items_ShopExpanded2 msgbox Text_PleaseComeAgain release end .align 2 -Items_167718:: @ 8167718 +TwoIsland_Items_ShopExpanded2:: @ 8167718 .2byte ITEM_ULTRA_BALL .2byte ITEM_GREAT_BALL .2byte ITEM_LEMONADE @@ -162,14 +162,14 @@ Items_167718:: @ 8167718 release end -EventScript_167728:: @ 8167728 - pokemart Items_167738 +TwoIsland_EventScript_ShopExpanded3:: @ 8167728 + pokemart TwoIsland_Items_ShopExpanded3 msgbox Text_PleaseComeAgain release end .align 2 -Items_167738:: @ 8167738 +TwoIsland_Items_ShopExpanded3:: @ 8167738 .2byte ITEM_ULTRA_BALL .2byte ITEM_REPEAT_BALL .2byte ITEM_TIMER_BALL @@ -182,42 +182,42 @@ Items_167738:: @ 8167738 release end -TwoIsland_EventScript_16774C:: @ 816774C - msgbox gUnknown_8181D2F, MSGBOX_NPC +TwoIsland_EventScript_Sailor:: @ 816774C + msgbox TwoIsland_Text_FellowMovedFromCeladonCity, MSGBOX_NPC end -TwoIsland_EventScript_167755:: @ 8167755 - msgbox gUnknown_8181DCA, MSGBOX_NPC +TwoIsland_EventScript_Woman:: @ 8167755 + msgbox TwoIsland_Text_ShopkeepersBrotherWorksGameCorner, MSGBOX_NPC end -TwoIsland_EventScript_16775E:: @ 816775E +TwoIsland_EventScript_Beauty:: @ 816775E lock faceplayer famechecker FAMECHECKER_BRUNO, 4 - msgbox gUnknown_8181E47 + msgbox TwoIsland_Text_BrunoCameToIslandWhileBack release end -TwoIsland_EventScript_167777:: @ 8167777 - msgbox gUnknown_8181F28, MSGBOX_NPC +TwoIsland_EventScript_SuperNerd:: @ 8167777 + msgbox TwoIsland_Text_BuyRareItemsHere, MSGBOX_NPC end -TwoIsland_EventScript_167780:: @ 8167780 - msgbox gUnknown_8181F5D, MSGBOX_NPC +TwoIsland_EventScript_Boy:: @ 8167780 + msgbox TwoIsland_Text_OldWomanLivesOutOnCape, MSGBOX_NPC end -TwoIsland_EventScript_167789:: @ 8167789 - msgbox gUnknown_8181FCE, MSGBOX_NPC +TwoIsland_EventScript_LittleBoy:: @ 8167789 + msgbox TwoIsland_Text_HaveYouTriedJumpingGame, MSGBOX_NPC end -TwoIsland_EventScript_167792:: @ 8167792 - msgbox gUnknown_8181A88, MSGBOX_SIGN +TwoIsland_EventScript_IslandSign:: @ 8167792 + msgbox TwoIsland_Text_IslandSign, MSGBOX_SIGN end -TwoIsland_EventScript_16779B:: @ 816779B - msgbox gUnknown_8181AA7, MSGBOX_SIGN +TwoIsland_EventScript_JoyfulGameCornerSign:: @ 816779B + msgbox TwoIsland_Text_JoyfulGameCornerSign, MSGBOX_SIGN end -TwoIsland_EventScript_1677A4:: @ 81677A4 - msgbox gUnknown_8181AC8, MSGBOX_SIGN +TwoIsland_EventScript_FastCurrentSign:: @ 81677A4 + msgbox TwoIsland_Text_DangerFastCurrent, MSGBOX_SIGN end diff --git a/data/maps/TwoIsland/text.inc b/data/maps/TwoIsland/text.inc index fca7d80ee..c0834abb8 100644 --- a/data/maps/TwoIsland/text.inc +++ b/data/maps/TwoIsland/text.inc @@ -1,23 +1,23 @@ -gUnknown_8181A88:: @ 8181A88 +TwoIsland_Text_IslandSign:: @ 8181A88 .string "TWO ISLAND\n" .string "Boon Island for Two$" -gUnknown_8181AA7:: @ 8181AA7 +TwoIsland_Text_JoyfulGameCornerSign:: @ 8181AA7 .string "Skip & Chomp!\n" .string "Joyful GAME CORNER$" -gUnknown_8181AC8:: @ 8181AC8 +TwoIsland_Text_DangerFastCurrent:: @ 8181AC8 .string "DANGER! FAST CURRENT!\n" .string "Fishing and surfing prohibited!$" -Text_181AFE:: @ 8181AFE +TwoIsland_Text_WelcomeToShopMerchandiseLimited:: @ 8181AFE .string "Oh!\n" .string "Hello, welcome to my shop!\p" .string "We've only opened up recently.\p" .string "Our merchandise is limited, but I\n" .string "hope we can serve your needs.$" -Text_181B7C:: @ 8181B7C +TwoIsland_Text_AddedMerchandiseForLostelle:: @ 8181B7C .string "I can't tell you how grateful I am\n" .string "for your rescue of LOSTELLE.\p" .string "Thanks to your feat, the people of\n" @@ -27,11 +27,11 @@ Text_181B7C:: @ 8181B7C .string "The people of THREE ISLAND\n" .string "helped me add to my merchandise.$" -Text_181C77:: @ 8181C77 +TwoIsland_Text_HopeYouGiveItYourBest:: @ 8181C77 .string "Hi! I'm giving it my best here.\n" .string "I hope you do too, {PLAYER}.$" -Text_181CAE:: @ 8181CAE +TwoIsland_Text_BringingItemsFromDistantLands:: @ 8181CAE .string "Oh, hello, {PLAYER}!\n" .string "Welcome!\p" .string "I've started bringing in items from\n" @@ -39,7 +39,7 @@ Text_181CAE:: @ 8181CAE .string "I've got some rare items in, too.\n" .string "Please have a look!$" -gUnknown_8181D2F:: @ 8181D2F +TwoIsland_Text_FellowMovedFromCeladonCity:: @ 8181D2F .string "That fellow there, he moved here\n" .string "from CELADON CITY.\p" .string "He started up a shop with his\n" @@ -47,13 +47,13 @@ gUnknown_8181D2F:: @ 8181D2F .string "You have to wonder if he knew what\n" .string "he was getting into.$" -gUnknown_8181DCA:: @ 8181DCA +TwoIsland_Text_ShopkeepersBrotherWorksGameCorner:: @ 8181DCA .string "The shopkeeper's brother took\n" .string "a job at the GAME CORNER.\p" .string "He's trying to pull together money\n" .string "so they can buy more merchandise.$" -gUnknown_8181E47:: @ 8181E47 +TwoIsland_Text_BrunoCameToIslandWhileBack:: @ 8181E47 .string "Listen, listen.\n" .string "Did you know?\p" .string "A famous TRAINER came to the\n" @@ -64,17 +64,17 @@ gUnknown_8181E47:: @ 8181E47 .string "found out that they were all sold\l" .string "out of Rage Candybars.$" -gUnknown_8181F28:: @ 8181F28 +TwoIsland_Text_BuyRareItemsHere:: @ 8181F28 .string "The discerning TRAINER knows to\n" .string "buy rare items here!$" -gUnknown_8181F5D:: @ 8181F5D +TwoIsland_Text_OldWomanLivesOutOnCape:: @ 8181F5D .string "There's an old woman who lives in\n" .string "a cottage out on the cape.\p" .string "She gives the eye to POKéMON.\n" .string "It's a bit unnerving.$" -gUnknown_8181FCE:: @ 8181FCE +TwoIsland_Text_HaveYouTriedJumpingGame:: @ 8181FCE .string "Boing! Boing!\n" .string "Have you tried the jumping game?\p" .string "The POKéMON you can enter…\n" diff --git a/data/maps/TwoIsland_CapeBrink/map.json b/data/maps/TwoIsland_CapeBrink/map.json index a6a957d2c..34a6766de 100644 --- a/data/maps/TwoIsland_CapeBrink/map.json +++ b/data/maps/TwoIsland_CapeBrink/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_CAPE_BRINK", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_TWO_ISLAND", diff --git a/data/maps/TwoIsland_CapeBrink_House/map.json b/data/maps/TwoIsland_CapeBrink_House/map.json index 71a48a62b..fbe574cdc 100644 --- a/data/maps/TwoIsland_CapeBrink_House/map.json +++ b/data/maps/TwoIsland_CapeBrink_House/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_CAPE_BRINK", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CHANNELER", + "graphics_id": "OBJ_EVENT_GFX_CHANNELER", "x": 4, "y": 4, "elevation": 3, diff --git a/data/maps/TwoIsland_CapeBrink_House/scripts.inc b/data/maps/TwoIsland_CapeBrink_House/scripts.inc index efba30945..d472e9e6c 100644 --- a/data/maps/TwoIsland_CapeBrink_House/scripts.inc +++ b/data/maps/TwoIsland_CapeBrink_House/scripts.inc @@ -1,2 +1,4 @@ TwoIsland_CapeBrink_House_MapScripts:: @ 817206B .byte 0 + +@ See move_tutors.inc diff --git a/data/maps/TwoIsland_CapeBrink_House/text.inc b/data/maps/TwoIsland_CapeBrink_House/text.inc new file mode 100644 index 000000000..4b691163c --- /dev/null +++ b/data/maps/TwoIsland_CapeBrink_House/text.inc @@ -0,0 +1,53 @@ +Text_UltimateMoveThatMon:: @ 81A46C6 + .string "I perfected the ultimate move of\n" + .string "its type…\p" + .string "But will no one take it for\n" + .string "future use?\p" + .string "…Hm? Hmmm!\p" + .string "Y-you…\n" + .string "Th-that {STR_VAR_1}…$" + +Text_JustMistaken:: @ 81A4737 + .string "…No…\n" + .string "I was just mistaken.$" + +Text_AllowMeToTeachMonUltimateMove:: @ 81A4751 + .string "Oh! This is the one!\n" + .string "This is the POKéMON!\p" + .string "This {STR_VAR_1} is worthy of\n" + .string "learning my ultimate move!\p" + .string "Will you allow it?\p" + .string "Will you allow your {STR_VAR_1} to\n" + .string "learn my {STR_VAR_2}?$" + +Text_YouRejectIt:: @ 81A47E5 + .string "Gaah! You reject it?\n" + .string "No, I won't be dissuaded!$" + +Text_LetMeConferUltimateMove:: @ 81A4814 + .string "You will allow it?\p" + .string "Then, let me confer my ultimate\n" + .string "{STR_VAR_2} on your {STR_VAR_1}.\p" + .string "Ggggrah-awooo!$" + +Text_TaughtMove:: @ 81A4865 + .string "Gasp, gasp, gasp…\p" + .string "I didn't think I could teach that\n" + .string "move while I still lived…$" + +Text_MakeBestUseOfMove:: @ 81A48B3 + .string "I implore you to make the best\n" + .string "use of that move and gain power!$" + +Text_PassedOnEverythingIKnow:: @ 81A48F3 + .string "Gasp, gasp, gasp…\p" + .string "I have no regrets now.\n" + .string "I've passed on everything I know.\p" + .string "Now I can live out my life knowing\n" + .string "my work is done.$" + +Text_FeelRejuvenated:: @ 81A4972 + .string "After I passed on my knowledge to\n" + .string "you, I felt so much relief.\p" + .string "In fact, I feel rejuvenated,\n" + .string "as if I were younger again!$" diff --git a/data/maps/TwoIsland_Harbor/map.json b/data/maps/TwoIsland_Harbor/map.json index e4a7a2084..5b7d86ab5 100644 --- a/data/maps/TwoIsland_Harbor/map.json +++ b/data/maps/TwoIsland_Harbor/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_TWO_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SEAGALLOP", + "graphics_id": "OBJ_EVENT_GFX_SEAGALLOP", "x": 8, "y": 9, "elevation": 0, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 8, "y": 6, "elevation": 3, @@ -36,7 +38,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "TwoIsland_Harbor_EventScript_171806", + "script": "TwoIsland_Harbor_EventScript_Sailor", "flag": "0" } ], diff --git a/data/maps/TwoIsland_Harbor/scripts.inc b/data/maps/TwoIsland_Harbor/scripts.inc index 8c2eab36d..c59f8cf53 100644 --- a/data/maps/TwoIsland_Harbor/scripts.inc +++ b/data/maps/TwoIsland_Harbor/scripts.inc @@ -1,7 +1,7 @@ TwoIsland_Harbor_MapScripts:: @ 8171805 .byte 0 -TwoIsland_Harbor_EventScript_171806:: @ 8171806 +TwoIsland_Harbor_EventScript_Sailor:: @ 8171806 lock faceplayer message Text_WhereDoYouWantToSail diff --git a/data/maps/TwoIsland_House/map.json b/data/maps/TwoIsland_House/map.json index 83f302e66..208519ec4 100644 --- a/data/maps/TwoIsland_House/map.json +++ b/data/maps/TwoIsland_House/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_TWO_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_FAT_MAN", + "graphics_id": "OBJ_EVENT_GFX_FAT_MAN", "x": 7, "y": 5, "elevation": 3, @@ -23,7 +25,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "TwoIsland_House_EventScript_171619", + "script": "TwoIsland_House_EventScript_MoveManiac", "flag": "0" } ], diff --git a/data/maps/TwoIsland_House/scripts.inc b/data/maps/TwoIsland_House/scripts.inc index 9177de9cb..20b0a2710 100644 --- a/data/maps/TwoIsland_House/scripts.inc +++ b/data/maps/TwoIsland_House/scripts.inc @@ -1,122 +1,127 @@ +.equ CHECKED_MUSHROOMS, FLAG_TEMP_1 +.equ HAS_BIG_MUSHROOM, FLAG_TEMP_2 +.equ HAS_TINY_MUSHROOMS, FLAG_TEMP_3 +.equ HAS_BOTH_MUSHROOMS, FLAG_TEMP_4 + TwoIsland_House_MapScripts:: @ 8171618 .byte 0 -TwoIsland_House_EventScript_171619:: @ 8171619 +TwoIsland_House_EventScript_MoveManiac:: @ 8171619 goto_if_questlog EventScript_ReleaseEnd special sub_8112364 lock faceplayer - clearflag FLAG_TEMP_2 - clearflag FLAG_TEMP_3 - clearflag FLAG_TEMP_4 - goto_if_set FLAG_TEMP_1, EventScript_17164F - msgbox gUnknown_81A2B88 - setflag FLAG_TEMP_1 - goto EventScript_17164F + clearflag HAS_BIG_MUSHROOM + clearflag HAS_TINY_MUSHROOMS + clearflag HAS_BOTH_MUSHROOMS + goto_if_set CHECKED_MUSHROOMS, TwoIsland_House_EventScript_CheckPlayerHasMushrooms + msgbox TwoIsland_House_Text_TeachMonMoveForMushroom + setflag CHECKED_MUSHROOMS + goto TwoIsland_House_EventScript_CheckPlayerHasMushrooms end -EventScript_17164F:: @ 817164F +TwoIsland_House_EventScript_CheckPlayerHasMushrooms:: @ 817164F checkitem ITEM_BIG_MUSHROOM, 1 compare VAR_RESULT, TRUE - call_if_eq EventScript_1717A8 + call_if_eq TwoIsland_House_EventScript_SetHasBigMushroom checkitem ITEM_TINY_MUSHROOM, 2 compare VAR_RESULT, TRUE - call_if_eq EventScript_1717AC - goto_if_set FLAG_TEMP_2, EventScript_171687 - goto_if_set FLAG_TEMP_3, EventScript_171696 - goto EventScript_17179E + call_if_eq TwoIsland_House_EventScript_SetHasTinyMushrooms + goto_if_set HAS_BIG_MUSHROOM, TwoIsland_House_EventScript_CheckAlsoHasTinyMushrooms + goto_if_set HAS_TINY_MUSHROOMS, TwoIsland_House_EventScript_CheckAlsoHasBigMushroom + goto TwoIsland_House_EventScript_EndTutorMove end -EventScript_171687:: @ 8171687 - call_if_set FLAG_TEMP_3, EventScript_1717B0 - goto EventScript_1716A5 +TwoIsland_House_EventScript_CheckAlsoHasTinyMushrooms:: @ 8171687 + call_if_set HAS_TINY_MUSHROOMS, TwoIsland_House_EventScript_SetHasBothMushrooms + goto TwoIsland_House_EventScript_AskTutorMon end -EventScript_171696:: @ 8171696 - call_if_set FLAG_TEMP_2, EventScript_1717B0 - goto EventScript_1716A5 +TwoIsland_House_EventScript_CheckAlsoHasBigMushroom:: @ 8171696 + call_if_set HAS_BIG_MUSHROOM, TwoIsland_House_EventScript_SetHasBothMushrooms + goto TwoIsland_House_EventScript_AskTutorMon end -EventScript_1716A5:: @ 81716A5 - msgbox gUnknown_81A2C63, MSGBOX_YESNO +TwoIsland_House_EventScript_AskTutorMon:: @ 81716A5 + msgbox TwoIsland_House_Text_WantMeToTeachMove, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_17179E - goto EventScript_1716BE + goto_if_eq TwoIsland_House_EventScript_EndTutorMove + goto TwoIsland_House_EventScript_ChooseMonToTutor end -EventScript_1716BE:: @ 81716BE - msgbox gUnknown_81A2CC3 - special Special_SelectMoveTutorMon +TwoIsland_House_EventScript_ChooseMonToTutor:: @ 81716BE + msgbox TwoIsland_House_Text_TutorWhichMon + special SelectMoveTutorMon waitstate - compare VAR_0x8004, 6 - goto_if_ge EventScript_17179E - special Special_IsSelectedMonEgg - compare VAR_RESULT, 1 - goto_if_eq EventScript_171790 + compare VAR_0x8004, PARTY_SIZE + goto_if_ge TwoIsland_House_EventScript_EndTutorMove + special IsSelectedMonEgg + compare VAR_RESULT, TRUE + goto_if_eq TwoIsland_House_EventScript_CantTutorEgg compare VAR_0x8005, 0 - goto_if_eq EventScript_171782 - goto EventScript_1716F4 + goto_if_eq TwoIsland_House_EventScript_NoMoveToTutorMon + goto TwoIsland_House_EventScript_ChooseMoveToTeach end -EventScript_1716F4:: @ 81716F4 - msgbox gUnknown_81A2CE1 +TwoIsland_House_EventScript_ChooseMoveToTeach:: @ 81716F4 + msgbox TwoIsland_House_Text_TeachWhichMove special DisplayMoveTutorMenu waitstate compare VAR_0x8004, 0 - goto_if_eq EventScript_1716BE - goto_if_set FLAG_TEMP_4, EventScript_17175B - goto_if_set FLAG_TEMP_2, EventScript_171727 - goto_if_set FLAG_TEMP_3, EventScript_171741 + goto_if_eq TwoIsland_House_EventScript_ChooseMonToTutor + goto_if_set HAS_BOTH_MUSHROOMS, TwoIsland_House_EventScript_ChooseMushroom + goto_if_set HAS_BIG_MUSHROOM, TwoIsland_House_EventScript_GiveBigMushroom + goto_if_set HAS_TINY_MUSHROOMS, TwoIsland_House_EventScript_GiveTinyMushrooms end -EventScript_171727:: @ 8171727 +TwoIsland_House_EventScript_GiveBigMushroom:: @ 8171727 removeitem ITEM_BIG_MUSHROOM, 1 textcolor 3 - msgbox gUnknown_81A2DB3 - call EventScript_1A6675 - goto EventScript_17179E + msgbox TwoIsland_House_Text_HandedOverOneBigMushroom + call EventScript_RestorePrevTextColor + goto TwoIsland_House_EventScript_EndTutorMove end -EventScript_171741:: @ 8171741 +TwoIsland_House_EventScript_GiveTinyMushrooms:: @ 8171741 removeitem ITEM_TINY_MUSHROOM, 2 textcolor 3 - msgbox gUnknown_81A2D85 - call EventScript_1A6675 - goto EventScript_17179E + msgbox TwoIsland_House_Text_HandedOverTwoTinyMushrooms + call EventScript_RestorePrevTextColor + goto TwoIsland_House_EventScript_EndTutorMove end -EventScript_17175B:: @ 817175B - message Text_1A2D43 +TwoIsland_House_EventScript_ChooseMushroom:: @ 817175B + message TwoIsland_House_Text_IllNeedMushroomOrTwo waitmessage multichoice 0, 0, MULTICHOICE_MUSHROOMS, TRUE switch VAR_RESULT - case 0, EventScript_171741 - case 1, EventScript_171727 + case 0, TwoIsland_House_EventScript_GiveTinyMushrooms + case 1, TwoIsland_House_EventScript_GiveBigMushroom end -EventScript_171782:: @ 8171782 - msgbox gUnknown_81A2CFC - goto EventScript_1716BE +TwoIsland_House_EventScript_NoMoveToTutorMon:: @ 8171782 + msgbox TwoIsland_House_Text_NoMoveICanTeachThatMon + goto TwoIsland_House_EventScript_ChooseMonToTutor end -EventScript_171790:: @ 8171790 - msgbox gUnknown_81A2E20 - goto EventScript_1716BE +TwoIsland_House_EventScript_CantTutorEgg:: @ 8171790 + msgbox TwoIsland_House_Text_CantTeachAnEgg + goto TwoIsland_House_EventScript_ChooseMonToTutor end -EventScript_17179E:: @ 817179E - msgbox gUnknown_81A2DE0 +TwoIsland_House_EventScript_EndTutorMove:: @ 817179E + msgbox TwoIsland_House_Text_NeedMushroomOrTwoToLearnMove release end -EventScript_1717A8:: @ 81717A8 - setflag FLAG_TEMP_2 +TwoIsland_House_EventScript_SetHasBigMushroom:: @ 81717A8 + setflag HAS_BIG_MUSHROOM return -EventScript_1717AC:: @ 81717AC - setflag FLAG_TEMP_3 +TwoIsland_House_EventScript_SetHasTinyMushrooms:: @ 81717AC + setflag HAS_TINY_MUSHROOMS return -EventScript_1717B0:: @ 81717B0 - setflag FLAG_TEMP_4 +TwoIsland_House_EventScript_SetHasBothMushrooms:: @ 81717B0 + setflag HAS_BOTH_MUSHROOMS return diff --git a/data/maps/TwoIsland_House/text.inc b/data/maps/TwoIsland_House/text.inc index 0f0aeda5e..6f8a37f97 100644 --- a/data/maps/TwoIsland_House/text.inc +++ b/data/maps/TwoIsland_House/text.inc @@ -1,4 +1,4 @@ -gUnknown_81A2B88:: @ 81A2B88 +TwoIsland_House_Text_TeachMonMoveForMushroom:: @ 81A2B88 .string "I'm the POKéMON MOVE MANIAC.\p" .string "I know every single move that\n" .string "POKéMON learn growing up.\p" @@ -8,40 +8,40 @@ gUnknown_81A2B88:: @ 81A2B88 .string "If you do that for me, I'll teach\n" .string "a move to one POKéMON.$" -gUnknown_81A2C63:: @ 81A2C63 +TwoIsland_House_Text_WantMeToTeachMove:: @ 81A2C63 .string "Sniff, sniff…\n" .string "Hm! You smell of MUSHROOMS!\p" .string "Do you want me to teach a move\n" .string "to a POKéMON of yours?$" -gUnknown_81A2CC3:: @ 81A2CC3 +TwoIsland_House_Text_TutorWhichMon:: @ 81A2CC3 .string "Which POKéMON needs tutoring?$" -gUnknown_81A2CE1:: @ 81A2CE1 +TwoIsland_House_Text_TeachWhichMove:: @ 81A2CE1 .string "Which move should I teach?$" -gUnknown_81A2CFC:: @ 81A2CFC +TwoIsland_House_Text_NoMoveICanTeachThatMon:: @ 81A2CFC .string "Sorry…\p" .string "It doesn't appear as if I have a\n" .string "move I can teach that POKéMON.$" -Text_1A2D43:: @ 81A2D43 +TwoIsland_House_Text_IllNeedMushroomOrTwo:: @ 81A2D43 .string "Then, I'll need a MUSHROOM or two.\n" .string "What are you going to give me?$" -gUnknown_81A2D85:: @ 81A2D85 +TwoIsland_House_Text_HandedOverTwoTinyMushrooms:: @ 81A2D85 .string "{PLAYER} handed over two\n" .string "TINYMUSHROOMS in exchange.$" -gUnknown_81A2DB3:: @ 81A2DB3 +TwoIsland_House_Text_HandedOverOneBigMushroom:: @ 81A2DB3 .string "{PLAYER} handed over one\n" .string "BIG MUSHROOM in exchange.$" -gUnknown_81A2DE0:: @ 81A2DE0 +TwoIsland_House_Text_NeedMushroomOrTwoToLearnMove:: @ 81A2DE0 .string "If your POKéMON need to learn a\n" .string "move, I need a MUSHROOM or two.$" -gUnknown_81A2E20:: @ 81A2E20 +TwoIsland_House_Text_CantTeachAnEgg:: @ 81A2E20 .string "Hunh? There isn't a single move\n" .string "that I can teach an EGG.$" diff --git a/data/maps/TwoIsland_JoyfulGameCorner/map.json b/data/maps/TwoIsland_JoyfulGameCorner/map.json index 21435179e..f56eabea4 100644 --- a/data/maps/TwoIsland_JoyfulGameCorner/map.json +++ b/data/maps/TwoIsland_JoyfulGameCorner/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_TWO_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 5, "y": 5, "elevation": 1, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "TwoIsland_JoyfulGameCorner_EventScript_17155F", + "script": "TwoIsland_JoyfulGameCorner_EventScript_LostellesDaddy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BIKER", + "graphics_id": "OBJ_EVENT_GFX_BIKER", "x": 5, "y": 8, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "FLAG_HIDE_TWO_ISLAND_GAME_CORNER_BIKER" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 6, "y": 5, "elevation": 1, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "TwoIsland_JoyfulGameCorner_EventScript_17160C", + "script": "TwoIsland_JoyfulGameCorner_EventScript_Lostelle", "flag": "FLAG_HIDE_TWO_ISLAND_GAME_CORNER_LOSTELLE" }, { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 4, "y": 2, "elevation": 3, @@ -62,7 +64,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "TwoIsland_JoyfulGameCorner_EventScript_171535", + "script": "TwoIsland_JoyfulGameCorner_EventScript_InfoMan", "flag": "0" } ], @@ -78,17 +80,19 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 1, "y": 1, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "TwoIsland_JoyfulGameCorner_EventScript_ShowPokemonJumpRecords" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 0, "y": 1, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "TwoIsland_JoyfulGameCorner_EventScript_ShowDodrioBerryPickingRecords" } ] diff --git a/data/maps/TwoIsland_JoyfulGameCorner/scripts.inc b/data/maps/TwoIsland_JoyfulGameCorner/scripts.inc index 0bbb24423..2edfe5801 100644 --- a/data/maps/TwoIsland_JoyfulGameCorner/scripts.inc +++ b/data/maps/TwoIsland_JoyfulGameCorner/scripts.inc @@ -1,3 +1,7 @@ +.equ LOCALID_DADDY, 1 +.equ LOCALID_BIKER, 2 +.equ LOCALID_LOSTELLE, 3 + TwoIsland_JoyfulGameCorner_MapScripts:: @ 81713D0 map_script MAP_SCRIPT_ON_TRANSITION, TwoIsland_JoyfulGameCorner_OnTransition map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, TwoIsland_JoyfulGameCorner_OnWarp @@ -6,86 +10,86 @@ TwoIsland_JoyfulGameCorner_MapScripts:: @ 81713D0 .byte 0 TwoIsland_JoyfulGameCorner_OnTransition:: @ 81713E5 - call_if_set FLAG_GOT_MOON_STONE_FROM_JOYFUL_GAME_CORNER, EventScript_1713EF + call_if_set FLAG_GOT_MOON_STONE_FROM_JOYFUL_GAME_CORNER, TwoIsland_JoyfulGameCorner_EventScript_SetLostelleReturnedPos end -EventScript_1713EF:: @ 81713EF - setobjectxyperm 1, 6, 2 - setobjectmovementtype 1, 8 - setobjectmovementtype 3, 1 +TwoIsland_JoyfulGameCorner_EventScript_SetLostelleReturnedPos:: @ 81713EF + setobjectxyperm LOCALID_DADDY, 6, 2 + setobjectmovementtype LOCALID_DADDY, MOVEMENT_TYPE_FACE_DOWN + setobjectmovementtype LOCALID_LOSTELLE, MOVEMENT_TYPE_LOOK_AROUND setvar VAR_MAP_SCENE_TWO_ISLAND_JOYFUL_GAME_CORNER, 4 return TwoIsland_JoyfulGameCorner_OnWarp:: @ 8171404 - map_script_2 VAR_MAP_SCENE_TWO_ISLAND_JOYFUL_GAME_CORNER, 2, EventScript_171416 + map_script_2 VAR_MAP_SCENE_TWO_ISLAND_JOYFUL_GAME_CORNER, 2, TwoIsland_JoyfulGameCorner_EventScript_TurnPlayerNorth map_script_2 VAR_CABLE_CLUB_STATE, USING_MINIGAME, EventScript_CheckTurnAttendant .2byte 0 -EventScript_171416:: @ 8171416 +TwoIsland_JoyfulGameCorner_EventScript_TurnPlayerNorth:: @ 8171416 turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH end TwoIsland_JoyfulGameCorner_OnFrame:: @ 817141B - map_script_2 VAR_MAP_SCENE_TWO_ISLAND_JOYFUL_GAME_CORNER, 0, EventScript_17145F - map_script_2 VAR_MAP_SCENE_TWO_ISLAND_JOYFUL_GAME_CORNER, 2, EventScript_171435 + map_script_2 VAR_MAP_SCENE_TWO_ISLAND_JOYFUL_GAME_CORNER, 0, TwoIsland_JoyfulGameCorner_EventScript_HelpFindLostelleScene + map_script_2 VAR_MAP_SCENE_TWO_ISLAND_JOYFUL_GAME_CORNER, 2, TwoIsland_JoyfulGameCorner_EventScript_FoundLostelleScene map_script_2 VAR_CABLE_CLUB_STATE, USING_MINIGAME, CableClub_EventScript_ExitMinigameRoom .2byte 0 -EventScript_171435:: @ 8171435 +TwoIsland_JoyfulGameCorner_EventScript_FoundLostelleScene:: @ 8171435 lockall textcolor 0 - msgbox gUnknown_81A28B2 + msgbox TwoIsland_JoyfulGameCorner_Text_YouRescuedLostelle textcolor 1 - special Special_BufferBigGuyOrBigGirlString - msgbox gUnknown_81A2931 + special BufferBigGuyOrBigGirlString + msgbox TwoIsland_JoyfulGameCorner_Text_LostelleItsOkayDaddy closemessage - applymovement 3, Movement_WalkInPlaceFastestDown + applymovement LOCALID_LOSTELLE, Movement_WalkInPlaceFastestDown waitmovement 0 setvar VAR_MAP_SCENE_TWO_ISLAND_JOYFUL_GAME_CORNER, 3 releaseall end -EventScript_17145F:: @ 817145F +TwoIsland_JoyfulGameCorner_EventScript_HelpFindLostelleScene:: @ 817145F lockall textcolor 0 - applymovement 1, Movement_171520 + applymovement LOCALID_DADDY, Movement_171520 waitmovement 0 - msgbox gUnknown_81A2408 + msgbox TwoIsland_JoyfulGameCorner_Text_WhereHasLostelleGottenTo closemessage - applymovement 1, Movement_WalkInPlaceFastestDown + applymovement LOCALID_DADDY, Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN - applymovement 1, Movement_ExclamationMark + applymovement LOCALID_DADDY, Movement_ExclamationMark waitmovement 0 - applymovement 1, Movement_Delay48 + applymovement LOCALID_DADDY, Movement_Delay48 waitmovement 0 - applymovement 1, Movement_171527 + applymovement LOCALID_DADDY, Movement_171527 waitmovement 0 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight waitmovement 0 - msgbox gUnknown_81A2465 + msgbox TwoIsland_JoyfulGameCorner_Text_PleaseHelpFindLostelle closemessage playse SE_DOOR waitse applymovement OBJ_EVENT_ID_PLAYER, Movement_17152C waitmovement 0 playbgm MUS_SHOUNEN, 0 - addobject 2 - applymovement 2, Movement_17152F + addobject LOCALID_BIKER + applymovement LOCALID_BIKER, TwoIsland_JoyfulGameCorner_Movement_BikerLookAround waitmovement 0 - msgbox gUnknown_81A259A - applymovement 2, Movement_WalkInPlaceFastestRight + msgbox TwoIsland_JoyfulGameCorner_Text_IsThisOnlyThreeIsland + applymovement LOCALID_BIKER, Movement_WalkInPlaceFastestRight waitmovement 0 - msgbox gUnknown_81A2658 - msgbox gUnknown_81A26D5 + msgbox TwoIsland_JoyfulGameCorner_Text_ThisIsTwoIslandMoveIt + msgbox TwoIsland_JoyfulGameCorner_Text_TheseIslandsAreConfusing closemessage - applymovement 2, Movement_WalkInPlaceFastestDown + applymovement LOCALID_BIKER, Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_KAIDAN - removeobject 2 + removeobject LOCALID_BIKER fadedefaultbgm delay 60 - msgbox gUnknown_81A270C + msgbox TwoIsland_JoyfulGameCorner_Text_PunkScuffedUpMyFloor clearflag FLAG_HIDE_THREE_ISLAND_LONE_BIKER setvar VAR_MAP_SCENE_THREE_ISLAND, 2 setvar VAR_MAP_SCENE_TWO_ISLAND_JOYFUL_GAME_CORNER, 1 @@ -113,7 +117,7 @@ Movement_17152C:: @ 817152C walk_in_place_fastest_right step_end -Movement_17152F:: @ 817152F +TwoIsland_JoyfulGameCorner_Movement_BikerLookAround:: @ 817152F walk_in_place_fastest_left delay_8 walk_in_place_fastest_right @@ -121,72 +125,73 @@ Movement_17152F:: @ 817152F walk_in_place_fastest_up step_end -TwoIsland_JoyfulGameCorner_EventScript_171535:: @ 8171535 +TwoIsland_JoyfulGameCorner_EventScript_InfoMan:: @ 8171535 lock faceplayer compare VAR_MAP_SCENE_TWO_ISLAND_JOYFUL_GAME_CORNER, 4 goto_if_eq JoyfulGameCorner_EventScript_InfoMan2 - goto_if_set FLAG_RESCUED_LOSTELLE, EventScript_171555 - msgbox gUnknown_81A285C + goto_if_set FLAG_RESCUED_LOSTELLE, TwoIsland_JoyfulGameCorner_EventScript_GetGamesGoingSoon + msgbox TwoIsland_JoyfulGameCorner_Text_NotRunningAnyGamesToday release end -EventScript_171555:: @ 8171555 - msgbox gUnknown_81A288A +TwoIsland_JoyfulGameCorner_EventScript_GetGamesGoingSoon:: @ 8171555 + msgbox TwoIsland_JoyfulGameCorner_Text_GetGamesGoingSoon release end -TwoIsland_JoyfulGameCorner_EventScript_17155F:: @ 817155F +@ Only referred to as Lostelles Daddy in text +TwoIsland_JoyfulGameCorner_EventScript_LostellesDaddy:: @ 817155F lock faceplayer compare VAR_MAP_SCENE_TWO_ISLAND_JOYFUL_GAME_CORNER, 4 goto_if_eq JoyfulGameCorner_EventScript_MinigameAttendant - goto_if_set FLAG_GOT_MOON_STONE_FROM_JOYFUL_GAME_CORNER, EventScript_1715F5 + goto_if_set FLAG_GOT_MOON_STONE_FROM_JOYFUL_GAME_CORNER, TwoIsland_JoyfulGameCorner_EventScript_GetGameCornerRunning compare VAR_MAP_SCENE_TWO_ISLAND_JOYFUL_GAME_CORNER, 3 - goto_if_eq EventScript_17158A - msgbox gUnknown_81A2743 + goto_if_eq TwoIsland_JoyfulGameCorner_EventScript_GiveDaddyMeteorite + msgbox TwoIsland_JoyfulGameCorner_Text_PleaseGoToThreeIsland release end -EventScript_17158A:: @ 817158A - goto_if_set FLAG_NO_ROOM_FOR_JOYFUL_GAME_CORNER_MOON_STONE, EventScript_1715C4 - msgbox gUnknown_81A296A +TwoIsland_JoyfulGameCorner_EventScript_GiveDaddyMeteorite:: @ 817158A + goto_if_set FLAG_NO_ROOM_FOR_JOYFUL_GAME_CORNER_MOON_STONE, TwoIsland_JoyfulGameCorner_EventScript_ReceiveMoonStone + msgbox TwoIsland_JoyfulGameCorner_Text_ThisIsForMe setvar VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 2 textcolor 3 playfanfare MUS_ME_WAZA - message Text_1A29F7 + message TwoIsland_JoyfulGameCorner_Text_HandedMeteoriteToLostellesDaddy waitmessage waitfanfare - call EventScript_1A6675 + call EventScript_RestorePrevTextColor removeitem ITEM_METEORITE, 1 - msgbox gUnknown_81A2A24 - goto EventScript_1715C4 + msgbox TwoIsland_JoyfulGameCorner_Text_OhThisIsFromBill + goto TwoIsland_JoyfulGameCorner_EventScript_ReceiveMoonStone end -EventScript_1715C4:: @ 81715C4 +TwoIsland_JoyfulGameCorner_EventScript_ReceiveMoonStone:: @ 81715C4 checkitemspace ITEM_MOON_STONE, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_1715FF + goto_if_eq TwoIsland_JoyfulGameCorner_EventScript_NoRoomForMoonStone additem ITEM_MOON_STONE setflag FLAG_GOT_MOON_STONE_FROM_JOYFUL_GAME_CORNER - msgreceiveditem gUnknown_81A2A9A, ITEM_MOON_STONE + msgreceiveditem TwoIsland_JoyfulGameCorner_Text_ReceivedMoonStoneFromLostellesDaddy, ITEM_MOON_STONE release end -EventScript_1715F5:: @ 81715F5 - msgbox gUnknown_81A2AF5 +TwoIsland_JoyfulGameCorner_EventScript_GetGameCornerRunning:: @ 81715F5 + msgbox TwoIsland_JoyfulGameCorner_Text_IllGetGameCornerRunning release end -EventScript_1715FF:: @ 81715FF +TwoIsland_JoyfulGameCorner_EventScript_NoRoomForMoonStone:: @ 81715FF setflag FLAG_NO_ROOM_FOR_JOYFUL_GAME_CORNER_MOON_STONE - msgbox gUnknown_81A2ACA + msgbox TwoIsland_JoyfulGameCorner_Text_NotGoingToFitInBag release end -TwoIsland_JoyfulGameCorner_EventScript_17160C:: @ 817160C +TwoIsland_JoyfulGameCorner_EventScript_Lostelle:: @ 817160C lock faceplayer - msgbox gUnknown_81A2B53 + msgbox TwoIsland_JoyfulGameCorner_Text_PleaseShowMeYouBeingCool release end diff --git a/data/maps/TwoIsland_JoyfulGameCorner/text.inc b/data/maps/TwoIsland_JoyfulGameCorner/text.inc index 21f6dd8ec..3884e8a32 100644 --- a/data/maps/TwoIsland_JoyfulGameCorner/text.inc +++ b/data/maps/TwoIsland_JoyfulGameCorner/text.inc @@ -1,10 +1,10 @@ -gUnknown_81A2408:: @ 81A2408 +TwoIsland_JoyfulGameCorner_Text_WhereHasLostelleGottenTo:: @ 81A2408 .string "Now, where's LOSTELLE gotten to\n" .string "today?\p" .string "She always brings me lunch every\n" .string "day right about now…$" -gUnknown_81A2465:: @ 81A2465 +TwoIsland_JoyfulGameCorner_Text_PleaseHelpFindLostelle:: @ 81A2465 .string "Hm? You, there!\n" .string "Are you a friend of LOSTELLE's?\p" .string "Have you seen LOSTELLE around?\n" @@ -17,7 +17,7 @@ gUnknown_81A2465:: @ 81A2465 .string "Please, help me find her!\n" .string "Please go search THREE ISLAND!$" -gUnknown_81A259A:: @ 81A259A +TwoIsland_JoyfulGameCorner_Text_IsThisOnlyThreeIsland:: @ 81A259A .string "Hah? What is this GAME CORNER?\n" .string "How much sadder can this get?\p" .string "Those clowns…\p" @@ -26,24 +26,24 @@ gUnknown_81A259A:: @ 81A259A .string "Hey, you! Is this the only THREE\n" .string "ISLAND around here?$" -gUnknown_81A2658:: @ 81A2658 +TwoIsland_JoyfulGameCorner_Text_ThisIsTwoIslandMoveIt:: @ 81A2658 .string "Try waking up before you crawl out\n" .string "of bed, you punk.\p" .string "This is TWO ISLAND!\p" .string "Move it! Get your filthy motorbike\n" .string "out of my place!$" -gUnknown_81A26D5:: @ 81A26D5 +TwoIsland_JoyfulGameCorner_Text_TheseIslandsAreConfusing:: @ 81A26D5 .string "Huh…\n" .string "Oh, oh, gotcha.\p" .string "Tch…\n" .string "These islands are confusing…$" -gUnknown_81A270C:: @ 81A270C +TwoIsland_JoyfulGameCorner_Text_PunkScuffedUpMyFloor:: @ 81A270C .string "Would you look at that?\n" .string "That punk scuffed up my floor.$" -gUnknown_81A2743:: @ 81A2743 +TwoIsland_JoyfulGameCorner_Text_PleaseGoToThreeIsland:: @ 81A2743 .string "Hey, but listen! I'm begging you,\n" .string "you have to go to THREE ISLAND.\p" .string "If anything were to happen to my\n" @@ -55,26 +55,26 @@ gUnknown_81A2743:: @ 81A2743 .string "That's why I have to get you to do\n" .string "me this big favor.$" -gUnknown_81A285C:: @ 81A285C +TwoIsland_JoyfulGameCorner_Text_NotRunningAnyGamesToday:: @ 81A285C .string "I'm sorry.\n" .string "We're not running any games today.$" -gUnknown_81A288A:: @ 81A288A +TwoIsland_JoyfulGameCorner_Text_GetGamesGoingSoon:: @ 81A288A .string "We'll get the games going soon\n" .string "for you!$" -gUnknown_81A28B2:: @ 81A28B2 +TwoIsland_JoyfulGameCorner_Text_YouRescuedLostelle:: @ 81A28B2 .string "So you rescued LOSTELLE?\n" .string "How can I thank you?\p" .string "LOSTELLE, darling, forgive me!\p" .string "Daddy didn't know you were scared\n" .string "and in trouble!$" -gUnknown_81A2931:: @ 81A2931 +TwoIsland_JoyfulGameCorner_Text_LostelleItsOkayDaddy:: @ 81A2931 .string "LOSTELLE: It's okay, Daddy.\n" .string "I got to be friends with {PLAYER}!$" -gUnknown_81A296A:: @ 81A296A +TwoIsland_JoyfulGameCorner_Text_ThisIsForMe:: @ 81A296A .string "Oh, what's that?\n" .string "You're saying that this is for me?\p" .string "How did you know that I love rare\n" @@ -82,31 +82,31 @@ gUnknown_81A296A:: @ 81A296A .string "You sure know how to make a guy\n" .string "happy.$" -Text_1A29F7:: @ 81A29F7 +TwoIsland_JoyfulGameCorner_Text_HandedMeteoriteToLostellesDaddy:: @ 81A29F7 .string "{PLAYER} handed the METEORITE\n" .string "to LOSTELLE's daddy.$" -gUnknown_81A2A24:: @ 81A2A24 +TwoIsland_JoyfulGameCorner_Text_OhThisIsFromBill:: @ 81A2A24 .string "Oh, I see, this is from BILL!\n" .string "You have to thank him for me!\p" .string "You know, you've been fantastic.\n" .string "I want you to have this.$" -gUnknown_81A2A9A:: @ 81A2A9A +TwoIsland_JoyfulGameCorner_Text_ReceivedMoonStoneFromLostellesDaddy:: @ 81A2A9A .string "{PLAYER} received a MOON STONE\n" .string "from LOSTELLE's daddy.$" -gUnknown_81A2ACA:: @ 81A2ACA +TwoIsland_JoyfulGameCorner_Text_NotGoingToFitInBag:: @ 81A2ACA .string "Your BAG's not going to fit another\n" .string "thing…$" -gUnknown_81A2AF5:: @ 81A2AF5 +TwoIsland_JoyfulGameCorner_Text_IllGetGameCornerRunning:: @ 81A2AF5 .string "All right, I'll get the GAME CORNER\n" .string "running right away.\p" .string "You have to come visit with a\n" .string "friend.$" -gUnknown_81A2B53:: @ 81A2B53 +TwoIsland_JoyfulGameCorner_Text_PleaseShowMeYouBeingCool:: @ 81A2B53 .string "Listen, listen!\p" .string "Please show me you being cool\n" .string "again!$" diff --git a/data/maps/TwoIsland_PokemonCenter_1F/map.json b/data/maps/TwoIsland_PokemonCenter_1F/map.json index d8abc60f9..18b930dfa 100644 --- a/data/maps/TwoIsland_PokemonCenter_1F/map.json +++ b/data/maps/TwoIsland_PokemonCenter_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_TWO_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_NURSE", + "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "TwoIsland_PokemonCenter_1F_EventScript_1717C3", + "script": "TwoIsland_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GBA_KID", + "graphics_id": "OBJ_EVENT_GFX_GBA_KID", "x": 11, "y": 5, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "TwoIsland_PokemonCenter_1F_EventScript_1717CC", + "script": "TwoIsland_PokemonCenter_1F_EventScript_GBAKid", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BUG_CATCHER", + "graphics_id": "OBJ_EVENT_GFX_BUG_CATCHER", "x": 4, "y": 4, "elevation": 3, @@ -49,7 +51,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "TwoIsland_PokemonCenter_1F_EventScript_1717D5", + "script": "TwoIsland_PokemonCenter_1F_EventScript_BugCatcher", "flag": "0" } ], diff --git a/data/maps/TwoIsland_PokemonCenter_1F/scripts.inc b/data/maps/TwoIsland_PokemonCenter_1F/scripts.inc index 6661a61eb..4fbc3bce9 100644 --- a/data/maps/TwoIsland_PokemonCenter_1F/scripts.inc +++ b/data/maps/TwoIsland_PokemonCenter_1F/scripts.inc @@ -7,17 +7,17 @@ TwoIsland_PokemonCenter_1F_OnTransition:: @ 81717BF setrespawn SPAWN_TWO_ISLAND end -TwoIsland_PokemonCenter_1F_EventScript_1717C3:: @ 81717C3 +TwoIsland_PokemonCenter_1F_EventScript_Nurse:: @ 81717C3 lock faceplayer call EventScript_PkmnCenterNurse release end -TwoIsland_PokemonCenter_1F_EventScript_1717CC:: @ 81717CC - msgbox gUnknown_81A2E59, MSGBOX_NPC +TwoIsland_PokemonCenter_1F_EventScript_GBAKid:: @ 81717CC + msgbox TwoIsland_PokemonCenter_1F_Text_HaveYouVisitedGameCorner, MSGBOX_NPC end -TwoIsland_PokemonCenter_1F_EventScript_1717D5:: @ 81717D5 - msgbox gUnknown_81A2EBE, MSGBOX_NPC +TwoIsland_PokemonCenter_1F_EventScript_BugCatcher:: @ 81717D5 + msgbox TwoIsland_PokemonCenter_1F_Text_OldLadyLivesOutOnCape, MSGBOX_NPC end diff --git a/data/maps/TwoIsland_PokemonCenter_1F/text.inc b/data/maps/TwoIsland_PokemonCenter_1F/text.inc index 514825cdf..c7c5561c0 100644 --- a/data/maps/TwoIsland_PokemonCenter_1F/text.inc +++ b/data/maps/TwoIsland_PokemonCenter_1F/text.inc @@ -1,10 +1,10 @@ -gUnknown_81A2E59:: @ 81A2E59 +TwoIsland_PokemonCenter_1F_Text_HaveYouVisitedGameCorner:: @ 81A2E59 .string "Have you visited the GAME CORNER\n" .string "already?\p" .string "It's no good to go alone.\n" .string "You have to take a friend along.$" -gUnknown_81A2EBE:: @ 81A2EBE +TwoIsland_PokemonCenter_1F_Text_OldLadyLivesOutOnCape:: @ 81A2EBE .string "Not many people live on\n" .string "TWO ISLAND.\p" .string "There is this old lady who lives\n" diff --git a/data/maps/TwoIsland_PokemonCenter_2F/map.json b/data/maps/TwoIsland_PokemonCenter_2F/map.json index 86ef55e25..24dcc7a4a 100644 --- a/data/maps/TwoIsland_PokemonCenter_2F/map.json +++ b/data/maps/TwoIsland_PokemonCenter_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_TWO_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 6, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 2, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 10, "y": 2, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MG_DELIVERYMAN", + "graphics_id": "OBJ_EVENT_GFX_MG_DELIVERYMAN", "x": 1, "y": 2, "elevation": 3, diff --git a/data/maps/UndergroundPath_EastEntrance/map.json b/data/maps/UndergroundPath_EastEntrance/map.json index 8a82619c0..7e24aa5c8 100644 --- a/data/maps/UndergroundPath_EastEntrance/map.json +++ b/data/maps/UndergroundPath_EastEntrance/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_UNDERGROUND_PATH_2", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 5, "y": 6, "elevation": 3, diff --git a/data/maps/UndergroundPath_EastWestTunnel/map.json b/data/maps/UndergroundPath_EastWestTunnel/map.json index 6a4f5d9b4..7f53b384e 100644 --- a/data/maps/UndergroundPath_EastWestTunnel/map.json +++ b/data/maps/UndergroundPath_EastWestTunnel/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_UNDERGROUND_PATH_2", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/UndergroundPath_NorthEntrance/map.json b/data/maps/UndergroundPath_NorthEntrance/map.json index d5fbc5df9..e5514fc1f 100644 --- a/data/maps/UndergroundPath_NorthEntrance/map.json +++ b/data/maps/UndergroundPath_NorthEntrance/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_UNDERGROUND_PATH", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 5, "y": 6, "elevation": 3, diff --git a/data/maps/UndergroundPath_NorthSouthTunnel/map.json b/data/maps/UndergroundPath_NorthSouthTunnel/map.json index 0f0482504..35b7477b5 100644 --- a/data/maps/UndergroundPath_NorthSouthTunnel/map.json +++ b/data/maps/UndergroundPath_NorthSouthTunnel/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_UNDERGROUND_PATH", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [ diff --git a/data/maps/UndergroundPath_SouthEntrance/map.json b/data/maps/UndergroundPath_SouthEntrance/map.json index 604e544cd..70ec3cd4e 100644 --- a/data/maps/UndergroundPath_SouthEntrance/map.json +++ b/data/maps/UndergroundPath_SouthEntrance/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_UNDERGROUND_PATH", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 5, "y": 6, "elevation": 3, diff --git a/data/maps/UndergroundPath_WestEntrance/map.json b/data/maps/UndergroundPath_WestEntrance/map.json index 8e8d2f662..4f5ee081a 100644 --- a/data/maps/UndergroundPath_WestEntrance/map.json +++ b/data/maps/UndergroundPath_WestEntrance/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_UNDERGROUND_PATH_2", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 5, "y": 6, "elevation": 3, diff --git a/data/maps/UnionRoom/map.json b/data/maps/UnionRoom/map.json index 7427f28c3..cfc872f08 100644 --- a/data/maps/UnionRoom/map.json +++ b/data/maps/UnionRoom/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_SPECIAL_AREA", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_8", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_LINK", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_UNION_ROOM_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_UNION_ROOM_RECEPTIONIST", "x": 3, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_3", + "graphics_id": "OBJ_EVENT_GFX_VAR_3", "x": 1, "y": 8, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_4" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_7", + "graphics_id": "OBJ_EVENT_GFX_VAR_7", "x": 7, "y": 8, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_8" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_6", + "graphics_id": "OBJ_EVENT_GFX_VAR_6", "x": 1, "y": 4, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_7" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_5", + "graphics_id": "OBJ_EVENT_GFX_VAR_5", "x": 7, "y": 4, "elevation": 3, @@ -79,7 +81,7 @@ "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_6" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_4", + "graphics_id": "OBJ_EVENT_GFX_VAR_4", "x": 13, "y": 4, "elevation": 3, @@ -92,7 +94,7 @@ "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_5" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_2", + "graphics_id": "OBJ_EVENT_GFX_VAR_2", "x": 10, "y": 6, "elevation": 3, @@ -105,7 +107,7 @@ "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_3" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_1", + "graphics_id": "OBJ_EVENT_GFX_VAR_1", "x": 13, "y": 8, "elevation": 3, @@ -118,7 +120,7 @@ "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_2" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_0", + "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 4, "y": 6, "elevation": 3, diff --git a/data/maps/UnknownMap_03_50/scripts.inc b/data/maps/UnknownMap_03_50/scripts.inc deleted file mode 100644 index 4e136faae..000000000 --- a/data/maps/UnknownMap_03_50/scripts.inc +++ /dev/null @@ -1,2 +0,0 @@ -UnknownMap_03_50_MapScripts:: @ 81687E0 - .byte 0 diff --git a/data/maps/UnknownMap_03_51/scripts.inc b/data/maps/UnknownMap_03_51/scripts.inc deleted file mode 100644 index 7398062d8..000000000 --- a/data/maps/UnknownMap_03_51/scripts.inc +++ /dev/null @@ -1,2 +0,0 @@ -UnknownMap_03_51_MapScripts:: @ 81687E1 - .byte 0 diff --git a/data/maps/UnknownMap_03_52/map.json b/data/maps/UnknownMap_03_52/map.json deleted file mode 100644 index e38359999..000000000 --- a/data/maps/UnknownMap_03_52/map.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": "MAP_UNKNOWN_MAP_03_52", - "name": "UnknownMap_03_52", - "layout": "LAYOUT_UNKNOWN_MAP_03_52", - "music": "MUS_NANASHIMA", - "region_map_section": "MAPSEC_SEVII_ISLE_8", - "requires_flash": false, - "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", - "connections": null, - "object_events": [], - "warp_events": [], - "coord_events": [], - "bg_events": [] -} diff --git a/data/maps/UnknownMap_03_52/scripts.inc b/data/maps/UnknownMap_03_52/scripts.inc deleted file mode 100644 index 2e48ca113..000000000 --- a/data/maps/UnknownMap_03_52/scripts.inc +++ /dev/null @@ -1,2 +0,0 @@ -UnknownMap_03_52_MapScripts:: @ 81687E2 - .byte 0 diff --git a/data/maps/UnknownMap_03_53/map.json b/data/maps/UnknownMap_03_53/map.json deleted file mode 100644 index e3001e6be..000000000 --- a/data/maps/UnknownMap_03_53/map.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "id": "MAP_UNKNOWN_MAP_03_53", - "name": "UnknownMap_03_53", - "layout": "LAYOUT_UNKNOWN_MAP_03_53", - "music": "MUS_NANASHIMA", - "region_map_section": "MAPSEC_SEVII_ISLE_9", - "requires_flash": false, - "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", - "connections": null, - "object_events": [], - "warp_events": [], - "coord_events": [], - "bg_events": [] -} diff --git a/data/maps/UnknownMap_03_53/scripts.inc b/data/maps/UnknownMap_03_53/scripts.inc deleted file mode 100644 index 2dec9650e..000000000 --- a/data/maps/UnknownMap_03_53/scripts.inc +++ /dev/null @@ -1,2 +0,0 @@ -UnknownMap_03_53_MapScripts:: @ 81687E3 - .byte 0 diff --git a/data/maps/UnknownMap_18_01/map.json b/data/maps/UnknownMap_18_01/map.json index 7bb76e956..a00f28f90 100644 --- a/data/maps/UnknownMap_18_01/map.json +++ b/data/maps/UnknownMap_18_01/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_6", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [], diff --git a/data/maps/UnusedHouse_27_00/map.json b/data/maps/UnusedHouse_27_00/map.json index 60ba28d54..6d93604e4 100644 --- a/data/maps/UnusedHouse_27_00/map.json +++ b/data/maps/UnusedHouse_27_00/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_19", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [], diff --git a/data/maps/UnusedHouse_29_00/map.json b/data/maps/UnusedHouse_29_00/map.json index db312a5a9..50dfe3d62 100644 --- a/data/maps/UnusedHouse_29_00/map.json +++ b/data/maps/UnusedHouse_29_00/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_ROUTE_23", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [], diff --git a/data/maps/UnusedHouse_31_05/map.json b/data/maps/UnusedHouse_31_05/map.json index 0bd404adb..21ec7325d 100644 --- a/data/maps/UnusedHouse_31_05/map.json +++ b/data/maps/UnusedHouse_31_05/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_SEVEN_ISLAND", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [], "warp_events": [], diff --git a/data/maps/VermilionCity/map.json b/data/maps/VermilionCity/map.json index 0a5fe287a..a4d26bf49 100644 --- a/data/maps/VermilionCity/map.json +++ b/data/maps/VermilionCity/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_VERMILION_CITY", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_1", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_TOWN", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ROUTE6", @@ -25,7 +27,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_1", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_1", "x": 22, "y": 11, "elevation": 3, @@ -38,7 +40,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 17, "y": 9, "elevation": 3, @@ -51,7 +53,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_2", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_2", "x": 36, "y": 10, "elevation": 0, @@ -64,7 +66,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MACHOP", + "graphics_id": "OBJ_EVENT_GFX_MACHOP", "x": 35, "y": 11, "elevation": 3, @@ -77,7 +79,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 31, "y": 30, "elevation": 3, @@ -90,7 +92,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 24, "y": 33, "elevation": 3, @@ -103,7 +105,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 19, "y": 24, "elevation": 3, @@ -112,11 +114,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_SCIENTIST", + "graphics_id": "OBJ_EVENT_GFX_SCIENTIST", "x": 25, "y": 7, "elevation": 3, @@ -241,38 +243,43 @@ ], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 33, "y": 6, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "VermilionCity_EventScript_CitySign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 10, "y": 17, "elevation": 3, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "VermilionCity_EventScript_PokemonFanClubSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 10, "y": 24, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "VermilionCity_EventScript_GymSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 34, "y": 18, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "VermilionCity_EventScript_HarborSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 45, "y": 17, "elevation": 3, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "VermilionCity_EventScript_SnorlaxNotice" }, { diff --git a/data/maps/VermilionCity/scripts.inc b/data/maps/VermilionCity/scripts.inc index 0442f3d02..0485cd89e 100644 --- a/data/maps/VermilionCity/scripts.inc +++ b/data/maps/VermilionCity/scripts.inc @@ -59,7 +59,7 @@ VermilionCity_EventScript_FerrySailor:: @ 8166941 end VermilionCity_EventScript_CheckHasMysticTicket:: @ 8166958 - goto_if_unset FLAG_SYS_GOT_MYSTIC_TICKET, EventScript_SetResultFalse + goto_if_unset FLAG_ENABLE_SHIP_NAVEL_ROCK, EventScript_SetResultFalse checkitem ITEM_MYSTIC_TICKET, 1 compare VAR_RESULT, FALSE goto_if_eq EventScript_SetResultFalse @@ -67,7 +67,7 @@ VermilionCity_EventScript_CheckHasMysticTicket:: @ 8166958 end VermilionCity_EventScript_CheckHasAuroraTicket:: @ 8166977 - goto_if_unset FLAG_SYS_GOT_AURORA_TICKET, EventScript_SetResultFalse + goto_if_unset FLAG_ENABLE_SHIP_BIRTH_ISLAND, EventScript_SetResultFalse checkitem ITEM_AURORA_TICKET, 1 compare VAR_RESULT, FALSE goto_if_eq EventScript_SetResultFalse @@ -103,7 +103,7 @@ VermilionCity_EventScript_HasMysticTicket:: @ 81669FD call VermilionCity_EventScript_CheckHasAuroraTicket compare VAR_RESULT, TRUE goto_if_eq VermilionCity_EventScript_HasMysticAndAuroraTickets - call_if_unset FLAG_SHOWED_MYSTICTICKET_TO_CAPTAIN, VermilionCity_EventScript_ShowMysticTicket + call_if_unset FLAG_SHOWN_MYSTIC_TICKET, VermilionCity_EventScript_ShowMysticTicket message VermilionCity_Text_BoardSeagallopFerry waitmessage multichoice 17, 6, MULTICHOICE_SEVII_NAVEL, FALSE @@ -115,12 +115,12 @@ VermilionCity_EventScript_HasMysticTicket:: @ 81669FD end VermilionCity_EventScript_ShowMysticTicket:: @ 8166A53 - setflag FLAG_SHOWED_MYSTICTICKET_TO_CAPTAIN + setflag FLAG_SHOWN_MYSTIC_TICKET msgbox VermilionCity_Text_OhMysticTicketTakeYouToNavelRock return VermilionCity_EventScript_HasAuroraTicket:: @ 8166A5F - call_if_unset FLAG_SHOWED_AURORATICKET_TO_CAPTAIN, VermilionCity_EventScript_ShowAuroraTicket + call_if_unset FLAG_SHOWN_AURORA_TICKET, VermilionCity_EventScript_ShowAuroraTicket message VermilionCity_Text_BoardSeagallopFerry waitmessage multichoice 13, 6, MULTICHOICE_SEVII_BIRTH, FALSE @@ -132,13 +132,13 @@ VermilionCity_EventScript_HasAuroraTicket:: @ 8166A5F end VermilionCity_EventScript_ShowAuroraTicket:: @ 8166AA5 - setflag FLAG_SHOWED_AURORATICKET_TO_CAPTAIN + setflag FLAG_SHOWN_AURORA_TICKET msgbox VermilionCity_Text_OhAuroraTicketTakeYouToBirthIsland return VermilionCity_EventScript_HasMysticAndAuroraTickets:: @ 8166AB1 - call_if_unset FLAG_SHOWED_MYSTICTICKET_TO_CAPTAIN, VermilionCity_EventScript_ShowMysticTicket - call_if_unset FLAG_SHOWED_AURORATICKET_TO_CAPTAIN, VermilionCity_EventScript_ShowAuroraTicket + call_if_unset FLAG_SHOWN_MYSTIC_TICKET, VermilionCity_EventScript_ShowMysticTicket + call_if_unset FLAG_SHOWN_AURORA_TICKET, VermilionCity_EventScript_ShowAuroraTicket message VermilionCity_Text_BoardSeagallopFerry waitmessage multichoice 13, 5, MULTICHOICE_SEVII_NAVEL_BIRTH, FALSE diff --git a/data/maps/VermilionCity_Gym/map.json b/data/maps/VermilionCity_Gym/map.json index 628d88070..fdfd60a22 100644 --- a/data/maps/VermilionCity_Gym/map.json +++ b/data/maps/VermilionCity_Gym/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_VERMILION_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_1", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_LT_SURGE", + "graphics_id": "OBJ_EVENT_GFX_LT_SURGE", "x": 5, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 2, "y": 11, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SAILOR", + "graphics_id": "OBJ_EVENT_GFX_SAILOR", "x": 8, "y": 13, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GYM_GUY", + "graphics_id": "OBJ_EVENT_GFX_GYM_GUY", "x": 4, "y": 17, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 7, "y": 8, "elevation": 3, @@ -105,122 +107,139 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 3, "y": 17, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "VermilionCity_Gym_EventScript_GymStatue" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 7, "y": 17, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "VermilionCity_Gym_EventScript_GymStatue" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 1, "y": 10, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "VermilionCity_Gym_EventScript_TrashCan1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 3, "y": 10, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "VermilionCity_Gym_EventScript_TrashCan2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 10, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "VermilionCity_Gym_EventScript_TrashCan3" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 7, "y": 10, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "VermilionCity_Gym_EventScript_TrashCan4" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 9, "y": 10, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "VermilionCity_Gym_EventScript_TrashCan5" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 1, "y": 12, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "VermilionCity_Gym_EventScript_TrashCan6" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 3, "y": 12, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "VermilionCity_Gym_EventScript_TrashCan7" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 12, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "VermilionCity_Gym_EventScript_TrashCan8" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 7, "y": 12, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "VermilionCity_Gym_EventScript_TrashCan9" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 9, "y": 12, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "VermilionCity_Gym_EventScript_TrashCan10" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 1, "y": 14, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "VermilionCity_Gym_EventScript_TrashCan11" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 3, "y": 14, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "VermilionCity_Gym_EventScript_TrashCan12" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 14, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "VermilionCity_Gym_EventScript_TrashCan13" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 7, "y": 14, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "VermilionCity_Gym_EventScript_TrashCan14" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 9, "y": 14, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "VermilionCity_Gym_EventScript_TrashCan15" } ] diff --git a/data/maps/VermilionCity_Gym/scripts.inc b/data/maps/VermilionCity_Gym/scripts.inc index 5d3760df9..232453543 100644 --- a/data/maps/VermilionCity_Gym/scripts.inc +++ b/data/maps/VermilionCity_Gym/scripts.inc @@ -45,7 +45,7 @@ VermilionCity_Gym_OnTransition:: @ 816B772 VermilionCity_Gym_EventScript_InitTrashCans:: @ 816B778 goto_if_set FLAG_FOUND_BOTH_VERMILION_GYM_SWITCHES, EventScript_Return - special Special_SetVermilionTrashCans + special SetVermilionTrashCans copyvar VAR_TEMP_0, SWITCH1_ID copyvar VAR_TEMP_1, SWITCH2_ID return @@ -168,7 +168,7 @@ VermilionCity_Gym_EventScript_TrySwitchTwo:: @ 816B89E goto_if_eq VermilionCity_Gym_EventScript_FoundSwitchTwo msgbox VermilionCity_Gym_Text_OnlyTrashLocksWereReset clearflag FOUND_FIRST_SWITCH - special Special_SetVermilionTrashCans + special SetVermilionTrashCans copyvar VAR_TEMP_0, SWITCH1_ID copyvar VAR_TEMP_1, SWITCH2_ID call VermilionCity_Gym_EventScript_SetBeamsOn diff --git a/data/maps/VermilionCity_House1/map.json b/data/maps/VermilionCity_House1/map.json index 008e98610..2e1269e8d 100644 --- a/data/maps/VermilionCity_House1/map.json +++ b/data/maps/VermilionCity_House1/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_VERMILION_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_FISHER", + "graphics_id": "OBJ_EVENT_GFX_FISHER", "x": 4, "y": 5, "elevation": 3, diff --git a/data/maps/VermilionCity_House2/map.json b/data/maps/VermilionCity_House2/map.json index 3c40bf806..4b8cd7cdd 100644 --- a/data/maps/VermilionCity_House2/map.json +++ b/data/maps/VermilionCity_House2/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_VERMILION_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 4, "y": 4, "elevation": 3, diff --git a/data/maps/VermilionCity_House3/map.json b/data/maps/VermilionCity_House3/map.json index 2f715b1e3..0edea264f 100644 --- a/data/maps/VermilionCity_House3/map.json +++ b/data/maps/VermilionCity_House3/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_VERMILION_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BOY", + "graphics_id": "OBJ_EVENT_GFX_BOY", "x": 7, "y": 4, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_House3_EventScript_16BAAA", + "script": "VermilionCity_House3_EventScript_Boy", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PIDGEY", + "graphics_id": "OBJ_EVENT_GFX_PIDGEY", "x": 2, "y": 5, "elevation": 3, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_House3_EventScript_16BABC", + "script": "VermilionCity_House3_EventScript_Pidgey", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CLIPBOARD", + "graphics_id": "OBJ_EVENT_GFX_CLIPBOARD", "x": 6, "y": 4, "elevation": 0, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 2, "y": 4, "elevation": 3, @@ -62,7 +64,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_House3_EventScript_16BAB3", + "script": "VermilionCity_House3_EventScript_Lass", "flag": "0" } ], @@ -92,11 +94,12 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 6, "y": 4, "elevation": 3, - "script": "VermilionCity_House3_EventScript_16BACF" + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", + "script": "VermilionCity_House3_EventScript_Letter" } ] } diff --git a/data/maps/VermilionCity_House3/scripts.inc b/data/maps/VermilionCity_House3/scripts.inc index 8f9de55e0..78caf2156 100644 --- a/data/maps/VermilionCity_House3/scripts.inc +++ b/data/maps/VermilionCity_House3/scripts.inc @@ -1,24 +1,24 @@ VermilionCity_House3_MapScripts:: @ 816BAA9 .byte 0 -VermilionCity_House3_EventScript_16BAAA:: @ 816BAAA - msgbox gUnknown_81953AF, MSGBOX_NPC +VermilionCity_House3_EventScript_Boy:: @ 816BAAA + msgbox VermilionCity_House3_Text_PidgeyFlyLetterToSaffron, MSGBOX_NPC end -VermilionCity_House3_EventScript_16BAB3:: @ 816BAB3 - msgbox gUnknown_8195471, MSGBOX_NPC +VermilionCity_House3_EventScript_Lass:: @ 816BAB3 + msgbox VermilionCity_House3_Text_SendMyPidgeyToUnionRoom, MSGBOX_NPC end -VermilionCity_House3_EventScript_16BABC:: @ 816BABC +VermilionCity_House3_EventScript_Pidgey:: @ 816BABC lock faceplayer waitse playmoncry SPECIES_PIDGEY, 0 - msgbox gUnknown_81953EE + msgbox VermilionCity_House3_Text_Pidgey waitmoncry release end -VermilionCity_House3_EventScript_16BACF:: @ 816BACF - msgbox gUnknown_8195400, MSGBOX_SIGN +VermilionCity_House3_EventScript_Letter:: @ 816BACF + msgbox VermilionCity_House3_Text_DearPippiLetter, MSGBOX_SIGN end diff --git a/data/maps/VermilionCity_House3/text.inc b/data/maps/VermilionCity_House3/text.inc index 99ea3e49e..88be18c10 100644 --- a/data/maps/VermilionCity_House3/text.inc +++ b/data/maps/VermilionCity_House3/text.inc @@ -1,18 +1,18 @@ -gUnknown_81953AF:: @ 81953AF +VermilionCity_House3_Text_PidgeyFlyLetterToSaffron:: @ 81953AF .string "I'm getting my PIDGEY to fly a\n" .string "letter to SAFFRON in the north.$" -gUnknown_81953EE:: @ 81953EE +VermilionCity_House3_Text_Pidgey:: @ 81953EE .string "PIDGEY: Kurukkoo!$" -gUnknown_8195400:: @ 8195400 +VermilionCity_House3_Text_DearPippiLetter:: @ 8195400 .string "Dear PIPPI,\n" .string "I hope to see you soon.\p" .string "I heard SAFFRON has problems with\n" .string "TEAM ROCKET.\p" .string "VERMILION appears to be safe.$" -gUnknown_8195471:: @ 8195471 +VermilionCity_House3_Text_SendMyPidgeyToUnionRoom:: @ 8195471 .string "I want to exchange MAIL with all\n" .string "sorts of people.\p" .string "I send my PIDGEY to a UNION ROOM\n" diff --git a/data/maps/VermilionCity_Mart/map.json b/data/maps/VermilionCity_Mart/map.json index 3ef4658f1..415d0eb48 100644 --- a/data/maps/VermilionCity_Mart/map.json +++ b/data/maps/VermilionCity_Mart/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_VERMILION_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CLERK", + "graphics_id": "OBJ_EVENT_GFX_CLERK", "x": 2, "y": 3, "elevation": 0, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_F", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_F", "x": 4, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 9, "y": 4, "elevation": 3, diff --git a/data/maps/VermilionCity_PokemonCenter_1F/map.json b/data/maps/VermilionCity_PokemonCenter_1F/map.json index b9837fca2..74feb74fb 100644 --- a/data/maps/VermilionCity_PokemonCenter_1F/map.json +++ b/data/maps/VermilionCity_PokemonCenter_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_VERMILION_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_NURSE", + "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 4, "y": 8, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_HIKER", + "graphics_id": "OBJ_EVENT_GFX_HIKER", "x": 12, "y": 5, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 14, "y": 4, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_F", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_F", "x": 6, "y": 4, "elevation": 3, diff --git a/data/maps/VermilionCity_PokemonCenter_2F/map.json b/data/maps/VermilionCity_PokemonCenter_2F/map.json index ff7c1be19..fdc77b9a7 100644 --- a/data/maps/VermilionCity_PokemonCenter_2F/map.json +++ b/data/maps/VermilionCity_PokemonCenter_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_VERMILION_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 6, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 2, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 10, "y": 2, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MG_DELIVERYMAN", + "graphics_id": "OBJ_EVENT_GFX_MG_DELIVERYMAN", "x": 1, "y": 2, "elevation": 3, diff --git a/data/maps/VermilionCity_PokemonFanClub/map.json b/data/maps/VermilionCity_PokemonFanClub/map.json index c669797e7..81275379b 100644 --- a/data/maps/VermilionCity_PokemonFanClub/map.json +++ b/data/maps/VermilionCity_PokemonFanClub/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_VERMILION_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 5, "y": 4, "elevation": 4, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WORKER_F", + "graphics_id": "OBJ_EVENT_GFX_WORKER_F", "x": 6, "y": 4, "elevation": 4, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_PIKACHU", + "graphics_id": "OBJ_EVENT_GFX_PIKACHU", "x": 7, "y": 6, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SEEL", + "graphics_id": "OBJ_EVENT_GFX_SEEL", "x": 4, "y": 6, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_1", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_1", "x": 4, "y": 5, "elevation": 0, @@ -79,7 +81,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_FAT_MAN", + "graphics_id": "OBJ_EVENT_GFX_FAT_MAN", "x": 7, "y": 5, "elevation": 0, @@ -118,17 +120,19 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 2, "y": 1, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "VermilionCity_PokemonFanClub_EventScript_RulesSign1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 9, "y": 1, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "VermilionCity_PokemonFanClub_EventScript_RulesSign2" } ] diff --git a/data/maps/VictoryRoad_1F/map.json b/data/maps/VictoryRoad_1F/map.json index 03b6b0cdd..dc76fd235 100644 --- a/data/maps/VictoryRoad_1F/map.json +++ b/data/maps/VictoryRoad_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_KANTO_VICTORY_ROAD", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_M", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_M", "x": 5, "y": 2, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "VictoryRoad_1F_EventScript_160F7B", + "script": "VictoryRoad_1F_EventScript_Rolando", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_F", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_F", "x": 14, "y": 6, "elevation": 4, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "VictoryRoad_1F_EventScript_160F64", + "script": "VictoryRoad_1F_EventScript_Naomi", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 12, "y": 3, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "FLAG_HIDE_VICTORY_ROAD_1F_RARE_CANDY" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 14, "y": 1, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "FLAG_HIDE_VICTORY_ROAD_1F_TM02" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 7, "y": 18, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 4, "y": 12, "elevation": 3, @@ -88,11 +90,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 16, "y": 3, "elevation": 3, @@ -101,7 +103,7 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" } ], @@ -129,7 +131,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_VICTORY_ROAD_1F", "var_value": 99, - "script": "VictoryRoad_1F_EventScript_160F33" + "script": "VictoryRoad_1F_EventScript_FloorSwitch" } ], "bg_events": [ diff --git a/data/maps/VictoryRoad_1F/scripts.inc b/data/maps/VictoryRoad_1F/scripts.inc index 79d01278f..5bdc91202 100644 --- a/data/maps/VictoryRoad_1F/scripts.inc +++ b/data/maps/VictoryRoad_1F/scripts.inc @@ -5,24 +5,24 @@ VictoryRoad_1F_MapScripts:: @ 8160F05 VictoryRoad_1F_OnLoad:: @ 8160F10 compare VAR_MAP_SCENE_VICTORY_ROAD_1F, 100 - call_if_ne EventScript_160F1C + call_if_ne VictoryRoad_1F_EventScript_SetRockBarrier end -EventScript_160F1C:: @ 8160F1C - setmetatile 12, 14, 775, 1 - setmetatile 12, 15, 791, 1 +VictoryRoad_1F_EventScript_SetRockBarrier:: @ 8160F1C + setmetatile 12, 14, METATILE_Cave_RockBarrier_Top, 1 + setmetatile 12, 15, METATILE_Cave_RockBarrier_Bottom, 1 return VictoryRoad_1F_OnTransition:: @ 8160F2F setworldmapflag FLAG_WORLD_MAP_VICTORY_ROAD_1F end -VictoryRoad_1F_EventScript_160F33:: @ 8160F33 +VictoryRoad_1F_EventScript_FloorSwitch:: @ 8160F33 lockall compare VAR_MAP_SCENE_VICTORY_ROAD_1F, 100 - goto_if_eq EventScript_160F62 - setmetatile 12, 14, 721, 0 - setmetatile 12, 15, 737, 0 + goto_if_eq VictoryRoad_1F_EventScript_FloorSwitchAlreadyPressed + setmetatile 12, 14, METATILE_Cave_Floor_Ledge_Top, 0 + setmetatile 12, 15, METATILE_Cave_Floor_Ledge_Bottom, 0 playse SE_RU_GASYAN special DrawWholeMapView waitse @@ -31,16 +31,16 @@ VictoryRoad_1F_EventScript_160F33:: @ 8160F33 releaseall end -EventScript_160F62:: @ 8160F62 +VictoryRoad_1F_EventScript_FloorSwitchAlreadyPressed:: @ 8160F62 releaseall end -VictoryRoad_1F_EventScript_160F64:: @ 8160F64 - trainerbattle_single TRAINER_COOLTRAINER_NAOMI, Text_174710, Text_174738 - msgbox gUnknown_8174744, MSGBOX_AUTOCLOSE +VictoryRoad_1F_EventScript_Naomi:: @ 8160F64 + trainerbattle_single TRAINER_COOLTRAINER_NAOMI, VictoryRoad_1F_Text_NaomiIntro, VictoryRoad_1F_Text_NaomiDefeat + msgbox VictoryRoad_1F_Text_NaomiPostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_1F_EventScript_160F7B:: @ 8160F7B - trainerbattle_single TRAINER_COOLTRAINER_ROLANDO, Text_174784, Text_1747B8 - msgbox gUnknown_81747C8, MSGBOX_AUTOCLOSE +VictoryRoad_1F_EventScript_Rolando:: @ 8160F7B + trainerbattle_single TRAINER_COOLTRAINER_ROLANDO, VictoryRoad_1F_Text_RolandoIntro, VictoryRoad_1F_Text_RolandoDefeat + msgbox VictoryRoad_1F_Text_RolandoPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/VictoryRoad_1F/text.inc b/data/maps/VictoryRoad_1F/text.inc index 46cd136ad..d83abf202 100644 --- a/data/maps/VictoryRoad_1F/text.inc +++ b/data/maps/VictoryRoad_1F/text.inc @@ -1,22 +1,22 @@ -Text_174710:: @ 8174710 +VictoryRoad_1F_Text_NaomiIntro:: @ 8174710 .string "I wonder if you are good enough\n" .string "for me?$" -Text_174738:: @ 8174738 +VictoryRoad_1F_Text_NaomiDefeat:: @ 8174738 .string "I lost out…$" -gUnknown_8174744:: @ 8174744 +VictoryRoad_1F_Text_NaomiPostBattle:: @ 8174744 .string "I never wanted to lose to anybody,\n" .string "especially to a younger kid…$" -Text_174784:: @ 8174784 +VictoryRoad_1F_Text_RolandoIntro:: @ 8174784 .string "I can see you're good.\n" .string "Let me see exactly how good!$" -Text_1747B8:: @ 81747B8 +VictoryRoad_1F_Text_RolandoDefeat:: @ 81747B8 .string "I had a chance…$" -gUnknown_81747C8:: @ 81747C8 +VictoryRoad_1F_Text_RolandoPostBattle:: @ 81747C8 .string "Tch!\n" .string "I concede, you are better than I!$" diff --git a/data/maps/VictoryRoad_2F/map.json b/data/maps/VictoryRoad_2F/map.json index bb44ea7d0..d9d29a361 100644 --- a/data/maps/VictoryRoad_2F/map.json +++ b/data/maps/VictoryRoad_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_KANTO_VICTORY_ROAD", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_SUPER_NERD", + "graphics_id": "OBJ_EVENT_GFX_SUPER_NERD", "x": 7, "y": 4, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "VictoryRoad_2F_EventScript_161037", + "script": "VictoryRoad_2F_EventScript_Dawson", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BLACKBELT", + "graphics_id": "OBJ_EVENT_GFX_BLACKBELT", "x": 20, "y": 11, "elevation": 4, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "VictoryRoad_2F_EventScript_16104E", + "script": "VictoryRoad_2F_EventScript_Daisuke", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 31, "y": 16, "elevation": 4, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "VictoryRoad_2F_EventScript_161065", + "script": "VictoryRoad_2F_EventScript_Nelson", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 26, "y": 6, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 4, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "VictoryRoad_2F_EventScript_161093", + "script": "VictoryRoad_2F_EventScript_Vincent", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ROCKER", + "graphics_id": "OBJ_EVENT_GFX_ROCKER", "x": 36, "y": 5, "elevation": 3, @@ -75,11 +77,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "VictoryRoad_2F_EventScript_16107C", + "script": "VictoryRoad_2F_EventScript_Gregory", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 17, "y": 6, "elevation": 3, @@ -92,7 +94,7 @@ "flag": "FLAG_HIDE_VICTORY_ROAD_2F_GUARD_SPEC" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 40, "y": 7, "elevation": 3, @@ -105,7 +107,7 @@ "flag": "FLAG_HIDE_VICTORY_ROAD_2F_TM07" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 25, "y": 13, "elevation": 3, @@ -118,7 +120,7 @@ "flag": "FLAG_HIDE_VICTORY_ROAD_2F_FULL_HEAL" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 14, "y": 13, "elevation": 3, @@ -131,7 +133,7 @@ "flag": "FLAG_HIDE_VICTORY_ROAD_2F_TM37" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 8, "y": 7, "elevation": 3, @@ -140,11 +142,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 6, "y": 17, "elevation": 3, @@ -153,11 +155,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 33, "y": 19, "elevation": 3, @@ -166,11 +168,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_HIDE_VICTORY_ROAD_2F_BOULDER" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_M", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_M", "x": 40, "y": 9, "elevation": 3, @@ -256,7 +258,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_VICTORY_ROAD_2F_BOULDER1", "var_value": 99, - "script": "VictoryRoad_2F_EventScript_160FD5" + "script": "VictoryRoad_2F_EventScript_FloorSwitch1" }, { "type": "trigger", @@ -265,7 +267,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_VICTORY_ROAD_2F_BOULDER2", "var_value": 99, - "script": "VictoryRoad_2F_EventScript_161006" + "script": "VictoryRoad_2F_EventScript_FloorSwitch2" } ], "bg_events": [] diff --git a/data/maps/VictoryRoad_2F/scripts.inc b/data/maps/VictoryRoad_2F/scripts.inc index 49d21b7de..1dfd658ae 100644 --- a/data/maps/VictoryRoad_2F/scripts.inc +++ b/data/maps/VictoryRoad_2F/scripts.inc @@ -4,27 +4,27 @@ VictoryRoad_2F_MapScripts:: @ 8160F92 VictoryRoad_2F_OnLoad:: @ 8160F98 compare VAR_MAP_SCENE_VICTORY_ROAD_2F_BOULDER1, 100 - call_if_ne EventScript_160FAF + call_if_ne VictoryRoad_2F_EventScript_SetRockBarrier1 compare VAR_MAP_SCENE_VICTORY_ROAD_2F_BOULDER2, 100 - call_if_ne EventScript_160FC2 + call_if_ne VictoryRoad_2F_EventScript_SetRockBarrier2 end -EventScript_160FAF:: @ 8160FAF - setmetatile 13, 10, 775, 1 - setmetatile 13, 11, 791, 1 +VictoryRoad_2F_EventScript_SetRockBarrier1:: @ 8160FAF + setmetatile 13, 10, METATILE_Cave_RockBarrier_Top, 1 + setmetatile 13, 11, METATILE_Cave_RockBarrier_Bottom, 1 return -EventScript_160FC2:: @ 8160FC2 - setmetatile 33, 16, 775, 1 - setmetatile 33, 17, 791, 1 +VictoryRoad_2F_EventScript_SetRockBarrier2:: @ 8160FC2 + setmetatile 33, 16, METATILE_Cave_RockBarrier_Top, 1 + setmetatile 33, 17, METATILE_Cave_RockBarrier_Bottom, 1 return -VictoryRoad_2F_EventScript_160FD5:: @ 8160FD5 +VictoryRoad_2F_EventScript_FloorSwitch1:: @ 8160FD5 lockall compare VAR_MAP_SCENE_VICTORY_ROAD_2F_BOULDER1, 100 - goto_if_eq EventScript_161004 - setmetatile 13, 10, 721, 0 - setmetatile 13, 11, 737, 0 + goto_if_eq VictoryRoad_2F_EventScript_FloorSwitch1AlreadyPressed + setmetatile 13, 10, METATILE_Cave_Floor_Ledge_Top, 0 + setmetatile 13, 11, METATILE_Cave_Floor_Ledge_Bottom, 0 playse SE_RU_GASYAN special DrawWholeMapView waitse @@ -33,16 +33,16 @@ VictoryRoad_2F_EventScript_160FD5:: @ 8160FD5 releaseall end -EventScript_161004:: @ 8161004 +VictoryRoad_2F_EventScript_FloorSwitch1AlreadyPressed:: @ 8161004 releaseall end -VictoryRoad_2F_EventScript_161006:: @ 8161006 +VictoryRoad_2F_EventScript_FloorSwitch2:: @ 8161006 lockall compare VAR_MAP_SCENE_VICTORY_ROAD_2F_BOULDER2, 100 - goto_if_eq EventScript_161035 - setmetatile 33, 16, 721, 0 - setmetatile 33, 17, 737, 0 + goto_if_eq VictoryRoad_2F_EventScript_FloorSwitch2AlreadyPressed + setmetatile 33, 16, METATILE_Cave_Floor_Ledge_Top, 0 + setmetatile 33, 17, METATILE_Cave_Floor_Ledge_Bottom, 0 playse SE_RU_GASYAN special DrawWholeMapView waitse @@ -51,31 +51,31 @@ VictoryRoad_2F_EventScript_161006:: @ 8161006 releaseall end -EventScript_161035:: @ 8161035 +VictoryRoad_2F_EventScript_FloorSwitch2AlreadyPressed:: @ 8161035 releaseall end -VictoryRoad_2F_EventScript_161037:: @ 8161037 - trainerbattle_single TRAINER_POKEMANIAC_DAWSON, Text_1747EF, Text_17482C - msgbox gUnknown_817483E, MSGBOX_AUTOCLOSE +VictoryRoad_2F_EventScript_Dawson:: @ 8161037 + trainerbattle_single TRAINER_POKEMANIAC_DAWSON, VictoryRoad_2F_Text_DawsonIntro, VictoryRoad_2F_Text_DawsonDefeat + msgbox VictoryRoad_2F_Text_DawsonPostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_2F_EventScript_16104E:: @ 816104E - trainerbattle_single TRAINER_BLACK_BELT_DAISUKE, Text_174877, Text_1748B4 - msgbox gUnknown_81748BB, MSGBOX_AUTOCLOSE +VictoryRoad_2F_EventScript_Daisuke:: @ 816104E + trainerbattle_single TRAINER_BLACK_BELT_DAISUKE, VictoryRoad_2F_Text_DaisukeIntro, VictoryRoad_2F_Text_DaisukeDefeat + msgbox VictoryRoad_2F_Text_DaisukePostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_2F_EventScript_161065:: @ 8161065 - trainerbattle_single TRAINER_JUGGLER_NELSON, Text_1748EE, Text_17491B - msgbox gUnknown_8174927, MSGBOX_AUTOCLOSE +VictoryRoad_2F_EventScript_Nelson:: @ 8161065 + trainerbattle_single TRAINER_JUGGLER_NELSON, VictoryRoad_2F_Text_NelsonIntro, VictoryRoad_2F_Text_NelsonDefeat + msgbox VictoryRoad_2F_Text_NelsonPostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_2F_EventScript_16107C:: @ 816107C - trainerbattle_single TRAINER_JUGGLER_GREGORY, Text_174995, Text_1749B0 - msgbox gUnknown_81749BB, MSGBOX_AUTOCLOSE +VictoryRoad_2F_EventScript_Gregory:: @ 816107C + trainerbattle_single TRAINER_JUGGLER_GREGORY, VictoryRoad_2F_Text_GregoryIntro, VictoryRoad_2F_Text_GregoryDefeat + msgbox VictoryRoad_2F_Text_GregoryPostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_2F_EventScript_161093:: @ 8161093 - trainerbattle_single TRAINER_TAMER_VINCENT, Text_174942, Text_17495A - msgbox gUnknown_8174969, MSGBOX_AUTOCLOSE +VictoryRoad_2F_EventScript_Vincent:: @ 8161093 + trainerbattle_single TRAINER_TAMER_VINCENT, VictoryRoad_2F_Text_VincentIntro, VictoryRoad_2F_Text_VincentDefeat + msgbox VictoryRoad_2F_Text_VincentPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/VictoryRoad_2F/text.inc b/data/maps/VictoryRoad_2F/text.inc index d125ef160..301a5f22b 100644 --- a/data/maps/VictoryRoad_2F/text.inc +++ b/data/maps/VictoryRoad_2F/text.inc @@ -1,54 +1,58 @@ -Text_1747EF:: @ 81747EF +VictoryRoad_2F_Text_DawsonIntro:: @ 81747EF .string "If you can get through here,\n" .string "you can go meet the ELITE FOUR.$" -Text_17482C:: @ 817482C +VictoryRoad_2F_Text_DawsonDefeat:: @ 817482C .string "No!\n" .string "Unbelievable!$" -gUnknown_817483E:: @ 817483E +VictoryRoad_2F_Text_DawsonPostBattle:: @ 817483E .string "I can beat you when it comes to\n" .string "knowledge about POKéMON!$" -Text_174877:: @ 8174877 +VictoryRoad_2F_Text_DaisukeIntro:: @ 8174877 .string "This here is VICTORY ROAD.\n" .string "It's the final test for TRAINERS!$" -Text_1748B4:: @ 81748B4 +VictoryRoad_2F_Text_DaisukeDefeat:: @ 81748B4 .string "Atcho!$" -gUnknown_81748BB:: @ 81748BB +VictoryRoad_2F_Text_DaisukePostBattle:: @ 81748BB .string "If you get stuck, try moving some\n" .string "boulders around.$" -Text_1748EE:: @ 81748EE +VictoryRoad_2F_Text_NelsonIntro:: @ 81748EE .string "Ah, so you wish to challenge the\n" .string "ELITE FOUR?$" -Text_17491B:: @ 817491B +VictoryRoad_2F_Text_NelsonDefeat:: @ 817491B .string "You got me!$" -gUnknown_8174927:: @ 8174927 +VictoryRoad_2F_Text_NelsonPostBattle:: @ 8174927 .string "{RIVAL} also came through here.$" -Text_174942:: @ 8174942 +VictoryRoad_2F_Text_VincentIntro:: @ 8174942 .string "Come on!\n" .string "I'll whip you!$" -Text_17495A:: @ 817495A +VictoryRoad_2F_Text_VincentDefeat:: @ 817495A .string "I got whipped!$" -gUnknown_8174969:: @ 8174969 +VictoryRoad_2F_Text_VincentPostBattle:: @ 8174969 .string "You earned the right to be on\n" .string "VICTORY ROAD…$" -Text_174995:: @ 8174995 +VictoryRoad_2F_Text_GregoryIntro:: @ 8174995 .string "Is VICTORY ROAD too tough?$" -Text_1749B0:: @ 81749B0 +VictoryRoad_2F_Text_GregoryDefeat:: @ 81749B0 .string "Well done!$" -gUnknown_81749BB:: @ 81749BB +VictoryRoad_2F_Text_GregoryPostBattle:: @ 81749BB .string "Many TRAINERS give up their\n" .string "challenge here and go home.$" +@ Unused, old text for Moltres +VictoryRoad_2F_Text_Gyaoo:: @ 81749F3 + .string "ギヤーオ!$" + diff --git a/data/maps/VictoryRoad_3F/map.json b/data/maps/VictoryRoad_3F/map.json index 9d2b982a9..e3fb362d5 100644 --- a/data/maps/VictoryRoad_3F/map.json +++ b/data/maps/VictoryRoad_3F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_KANTO_VICTORY_ROAD", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_4", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_UNDERGROUND", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_M", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_M", "x": 40, "y": 7, "elevation": 3, @@ -23,11 +25,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "VictoryRoad_3F_EventScript_161103", + "script": "VictoryRoad_3F_EventScript_George", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_F", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_F", "x": 21, "y": 5, "elevation": 4, @@ -36,11 +38,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "VictoryRoad_3F_EventScript_161148", + "script": "VictoryRoad_3F_EventScript_Alexa", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_M", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_M", "x": 10, "y": 17, "elevation": 3, @@ -49,11 +51,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "VictoryRoad_3F_EventScript_16111A", + "script": "VictoryRoad_3F_EventScript_Colby", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_F", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_F", "x": 11, "y": 16, "elevation": 3, @@ -62,11 +64,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "VictoryRoad_3F_EventScript_161131", + "script": "VictoryRoad_3F_EventScript_Caroline", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 38, "y": 7, "elevation": 3, @@ -79,7 +81,7 @@ "flag": "FLAG_HIDE_VICTORY_ROAD_3F_MAX_REVIVE" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 12, "y": 9, "elevation": 3, @@ -92,7 +94,7 @@ "flag": "FLAG_HIDE_VICTORY_ROAD_3F_TM50" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 19, "y": 15, "elevation": 3, @@ -101,11 +103,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 33, "y": 18, "elevation": 0, @@ -114,11 +116,11 @@ "movement_range_y": 0, "trainer_type": 88, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "FLAG_HIDE_VICTORY_ROAD_3F_BOULDER" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 35, "y": 13, "elevation": 3, @@ -127,11 +129,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_STRENGTH_BOULDER", + "graphics_id": "OBJ_EVENT_GFX_STRENGTH_BOULDER", "x": 32, "y": 5, "elevation": 3, @@ -140,11 +142,11 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithStrengthBoulderObject", + "script": "EventScript_StrengthBoulder", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_M", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_M", "x": 38, "y": 13, "elevation": 3, @@ -153,11 +155,11 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "VictoryRoad_3F_EventScript_16115F", + "script": "VictoryRoad_3F_EventScript_Ray", "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_F", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_F", "x": 39, "y": 13, "elevation": 3, @@ -166,7 +168,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "VictoryRoad_3F_EventScript_16117A", + "script": "VictoryRoad_3F_EventScript_Tyra", "flag": "0" } ], @@ -215,7 +217,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_VICTORY_ROAD_3F", "var_value": 99, - "script": "VictoryRoad_3F_EventScript_1610CF" + "script": "VictoryRoad_3F_EventScript_FloorSwitch" } ], "bg_events": [] diff --git a/data/maps/VictoryRoad_3F/scripts.inc b/data/maps/VictoryRoad_3F/scripts.inc index 4cd011f92..f601d83be 100644 --- a/data/maps/VictoryRoad_3F/scripts.inc +++ b/data/maps/VictoryRoad_3F/scripts.inc @@ -4,20 +4,20 @@ VictoryRoad_3F_MapScripts:: @ 81610AA VictoryRoad_3F_OnLoad:: @ 81610B0 compare VAR_MAP_SCENE_VICTORY_ROAD_3F, 100 - call_if_ne EventScript_1610BC + call_if_ne VictoryRoad_3F_EventScript_SetRockBarrier end -EventScript_1610BC:: @ 81610BC - setmetatile 12, 12, 775, 1 - setmetatile 12, 13, 791, 1 +VictoryRoad_3F_EventScript_SetRockBarrier:: @ 81610BC + setmetatile 12, 12, METATILE_Cave_RockBarrier_Top, 1 + setmetatile 12, 13, METATILE_Cave_RockBarrier_Bottom, 1 return -VictoryRoad_3F_EventScript_1610CF:: @ 81610CF +VictoryRoad_3F_EventScript_FloorSwitch:: @ 81610CF lockall compare VAR_MAP_SCENE_VICTORY_ROAD_3F, 100 - goto_if_eq EventScript_161101 - setmetatile 12, 12, 721, 0 - setmetatile 12, 13, 737, 0 + goto_if_eq VictoryRoad_3F_EventScript_FloorSwitchAlreadyPressed + setmetatile 12, 12, METATILE_Cave_Floor_Ledge_Top, 0 + setmetatile 12, 13, METATILE_Cave_Floor_Ledge_Bottom, 0 playse SE_RU_GASYAN special DrawWholeMapView waitse @@ -27,36 +27,36 @@ VictoryRoad_3F_EventScript_1610CF:: @ 81610CF releaseall end -EventScript_161101:: @ 8161101 +VictoryRoad_3F_EventScript_FloorSwitchAlreadyPressed:: @ 8161101 releaseall end -VictoryRoad_3F_EventScript_161103:: @ 8161103 - trainerbattle_single TRAINER_COOLTRAINER_GEORGE, Text_174B60, Text_174B83 - msgbox gUnknown_8174B99, MSGBOX_AUTOCLOSE +VictoryRoad_3F_EventScript_George:: @ 8161103 + trainerbattle_single TRAINER_COOLTRAINER_GEORGE, VictoryRoad_3F_Text_GeorgeIntro, VictoryRoad_3F_Text_GeorgeDefeat + msgbox VictoryRoad_3F_Text_GeorgePostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_3F_EventScript_16111A:: @ 816111A - trainerbattle_single TRAINER_COOLTRAINER_COLBY, Text_174C8A, Text_174CA9 - msgbox gUnknown_8174CBD, MSGBOX_AUTOCLOSE +VictoryRoad_3F_EventScript_Colby:: @ 816111A + trainerbattle_single TRAINER_COOLTRAINER_COLBY, VictoryRoad_3F_Text_ColbyIntro, VictoryRoad_3F_Text_ColbyDefeat + msgbox VictoryRoad_3F_Text_ColbyPostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_3F_EventScript_161131:: @ 8161131 - trainerbattle_single TRAINER_COOLTRAINER_CAROLINE, Text_174C30, Text_174C5A - msgbox gUnknown_8174C67, MSGBOX_AUTOCLOSE +VictoryRoad_3F_EventScript_Caroline:: @ 8161131 + trainerbattle_single TRAINER_COOLTRAINER_CAROLINE, VictoryRoad_3F_Text_CarolineIntro, VictoryRoad_3F_Text_CarolineDefeat + msgbox VictoryRoad_3F_Text_CarolinePostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_3F_EventScript_161148:: @ 8161148 - trainerbattle_single TRAINER_COOLTRAINER_ALEXA, Text_174BCA, Text_174BF4 - msgbox gUnknown_8174C03, MSGBOX_AUTOCLOSE +VictoryRoad_3F_EventScript_Alexa:: @ 8161148 + trainerbattle_single TRAINER_COOLTRAINER_ALEXA, VictoryRoad_3F_Text_AlexaIntro, VictoryRoad_3F_Text_AlexaDefeat + msgbox VictoryRoad_3F_Text_AlexaPostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_3F_EventScript_16115F:: @ 816115F - trainerbattle_double TRAINER_COOL_COUPLE_RAY_TYRA, Text_174D0C, Text_174D45, Text_174D96 - msgbox gUnknown_8174D64, MSGBOX_AUTOCLOSE +VictoryRoad_3F_EventScript_Ray:: @ 816115F + trainerbattle_double TRAINER_COOL_COUPLE_RAY_TYRA, VictoryRoad_3F_Text_RayIntro, VictoryRoad_3F_Text_RayDefeat, VictoryRoad_3F_Text_RayNotEnoughMons + msgbox VictoryRoad_3F_Text_RayPostBattle, MSGBOX_AUTOCLOSE end -VictoryRoad_3F_EventScript_16117A:: @ 816117A - trainerbattle_double TRAINER_COOL_COUPLE_RAY_TYRA, Text_174E08, Text_174E39, Text_174E8D - msgbox gUnknown_8174E48, MSGBOX_AUTOCLOSE +VictoryRoad_3F_EventScript_Tyra:: @ 816117A + trainerbattle_double TRAINER_COOL_COUPLE_RAY_TYRA, VictoryRoad_3F_Text_TyraIntro, VictoryRoad_3F_Text_TyraDefeat, VictoryRoad_3F_Text_TyraNotEnoughMons + msgbox VictoryRoad_3F_Text_TyraPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/VictoryRoad_3F/text.inc b/data/maps/VictoryRoad_3F/text.inc index 22c42342a..dd60180df 100644 --- a/data/maps/VictoryRoad_3F/text.inc +++ b/data/maps/VictoryRoad_3F/text.inc @@ -1,6 +1,3 @@ -Text_1749F3:: @ 81749F3 - .string "ギヤーオ!$" - Text_DoubleEdgeTeach:: @ 81749F9 .string "You should be proud of yourself,\n" .string "having battled your way through\l" @@ -24,80 +21,80 @@ Text_DoubleEdgeTaught:: @ 8174B0C .string "Take a run at them and knock 'em\n" .string "out!$" -Text_174B60:: @ 8174B60 +VictoryRoad_3F_Text_GeorgeIntro:: @ 8174B60 .string "I heard rumors of a child prodigy.$" -Text_174B83:: @ 8174B83 +VictoryRoad_3F_Text_GeorgeDefeat:: @ 8174B83 .string "The rumors were true!$" -gUnknown_8174B99:: @ 8174B99 +VictoryRoad_3F_Text_GeorgePostBattle:: @ 8174B99 .string "So, it was you who beat GIOVANNI\n" .string "of TEAM ROCKET?$" -Text_174BCA:: @ 8174BCA +VictoryRoad_3F_Text_AlexaIntro:: @ 8174BCA .string "TRAINERS live to seek stronger\n" .string "opponents.$" -Text_174BF4:: @ 8174BF4 +VictoryRoad_3F_Text_AlexaDefeat:: @ 8174BF4 .string "Oh!\n" .string "So strong!$" -gUnknown_8174C03:: @ 8174C03 +VictoryRoad_3F_Text_AlexaPostBattle:: @ 8174C03 .string "By fighting tough battles, you get\n" .string "stronger.$" -Text_174C30:: @ 8174C30 +VictoryRoad_3F_Text_CarolineIntro:: @ 8174C30 .string "I'll show you just how good you\n" .string "are. Not!$" -Text_174C5A:: @ 8174C5A +VictoryRoad_3F_Text_CarolineDefeat:: @ 8174C5A .string "I'm furious!$" -gUnknown_8174C67:: @ 8174C67 +VictoryRoad_3F_Text_CarolinePostBattle:: @ 8174C67 .string "You showed me just how good\n" .string "I was…$" -Text_174C8A:: @ 8174C8A +VictoryRoad_3F_Text_ColbyIntro:: @ 8174C8A .string "Only the chosen can pass here!$" -Text_174CA9:: @ 8174CA9 +VictoryRoad_3F_Text_ColbyDefeat:: @ 8174CA9 .string "I don't believe it!$" -gUnknown_8174CBD:: @ 8174CBD +VictoryRoad_3F_Text_ColbyPostBattle:: @ 8174CBD .string "All TRAINERS here are headed to\n" .string "the POKéMON LEAGUE.\p" .string "Don't let down your guard.$" -Text_174D0C:: @ 8174D0C +VictoryRoad_3F_Text_RayIntro:: @ 8174D0C .string "RAY: Together, the two of us are\n" .string "destined for greatness!$" -Text_174D45:: @ 8174D45 +VictoryRoad_3F_Text_RayDefeat:: @ 8174D45 .string "RAY: Ludicrous!\n" .string "This can't be!$" -gUnknown_8174D64:: @ 8174D64 +VictoryRoad_3F_Text_RayPostBattle:: @ 8174D64 .string "RAY: You've beaten us.\n" .string "Greatness remains elusive…$" -Text_174D96:: @ 8174D96 +VictoryRoad_3F_Text_RayNotEnoughMons:: @ 8174D96 .string "RAY: Together, the two of us are\n" .string "striving for the pinnacle.\p" .string "We need you to bring two POKéMON\n" .string "into battle with us.$" -Text_174E08:: @ 8174E08 +VictoryRoad_3F_Text_TyraIntro:: @ 8174E08 .string "TYRA: We're trying to become\n" .string "champions together.$" -Text_174E39:: @ 8174E39 +VictoryRoad_3F_Text_TyraDefeat:: @ 8174E39 .string "TYRA: Oh, but…$" -gUnknown_8174E48:: @ 8174E48 +VictoryRoad_3F_Text_TyraPostBattle:: @ 8174E48 .string "TYRA: You've taught me that power\n" .string "can be infinite in shape and form.$" -Text_174E8D:: @ 8174E8D +VictoryRoad_3F_Text_TyraNotEnoughMons:: @ 8174E8D .string "TYRA: You can't battle with us if\n" .string "you have only one POKéMON.$" diff --git a/data/maps/ViridianCity/map.json b/data/maps/ViridianCity/map.json index a83f47f5a..e99c93c4a 100644 --- a/data/maps/ViridianCity/map.json +++ b/data/maps/ViridianCity/map.json @@ -6,11 +6,13 @@ "region_map_section": "MAPSEC_VIRIDIAN_CITY", "requires_flash": false, "weather": "WEATHER_SUNNY", - "map_type": "MAP_TYPE_1", - "unknown_18": 1, - "unknown_19": 6, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_TOWN", + "allow_cycling": true, + "allow_escaping": false, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { "map": "MAP_ROUTE2", @@ -30,7 +32,7 @@ ], "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_FAT_MAN", + "graphics_id": "OBJ_EVENT_GFX_FAT_MAN", "x": 8, "y": 26, "elevation": 3, @@ -43,7 +45,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 11, "y": 24, "elevation": 3, @@ -52,11 +54,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_11" }, { - "graphics_id": "OBJECT_EVENT_GFX_OLD_MAN_1", + "graphics_id": "OBJ_EVENT_GFX_OLD_MAN_1", "x": 34, "y": 11, "elevation": 3, @@ -69,7 +71,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_VAR_0", + "graphics_id": "OBJ_EVENT_GFX_VAR_0", "x": 21, "y": 6, "elevation": 3, @@ -82,7 +84,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_3", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_3", "x": 20, "y": 12, "elevation": 3, @@ -95,7 +97,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 33, "y": 26, "elevation": 3, @@ -108,7 +110,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BOY", + "graphics_id": "OBJ_EVENT_GFX_BOY", "x": 16, "y": 22, "elevation": 3, @@ -121,7 +123,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CUT_TREE", + "graphics_id": "OBJ_EVENT_GFX_CUT_TREE", "x": 18, "y": 5, "elevation": 3, @@ -130,11 +132,11 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "EventScript_InteractWithCutTreeObject", + "script": "EventScript_CutTree", "flag": "FLAG_TEMP_12" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 17, "y": 5, "elevation": 3, @@ -224,38 +226,43 @@ ], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 23, "y": 1, "elevation": 3, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "ViridianCity_EventScript_TrainerTips1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 32, "y": 10, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "ViridianCity_EventScript_GymSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 20, "y": 31, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "ViridianCity_EventScript_TrainerTips2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 20, "y": 16, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "ViridianCity_EventScript_CitySign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 36, "y": 10, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "ViridianCity_EventScript_GymDoor" } ] diff --git a/data/maps/ViridianCity/scripts.inc b/data/maps/ViridianCity/scripts.inc index 4fb140b24..5309c0493 100644 --- a/data/maps/ViridianCity/scripts.inc +++ b/data/maps/ViridianCity/scripts.inc @@ -17,17 +17,17 @@ ViridianCity_OnTransition:: @ 81658D9 end ViridianCity_EventScript_SetOldManNormal:: @ 8165909 - setvar VAR_OBJ_GFX_ID_0, OBJECT_EVENT_GFX_OLD_MAN_1 + setvar VAR_OBJ_GFX_ID_0, OBJ_EVENT_GFX_OLD_MAN_1 return ViridianCity_EventScript_SetOldManStandingByRoad:: @ 816590F - setvar VAR_OBJ_GFX_ID_0, OBJECT_EVENT_GFX_OLD_MAN_1 + setvar VAR_OBJ_GFX_ID_0, OBJ_EVENT_GFX_OLD_MAN_1 setobjectxyperm LOCALID_TUTORIAL_MAN, 21, 8 setobjectmovementtype LOCALID_TUTORIAL_MAN, MOVEMENT_TYPE_LOOK_AROUND return ViridianCity_EventScript_SetOldManBlockingRoad:: @ 8165920 - setvar VAR_OBJ_GFX_ID_0, OBJECT_EVENT_GFX_OLD_MAN_LYING_DOWN + setvar VAR_OBJ_GFX_ID_0, OBJ_EVENT_GFX_OLD_MAN_LYING_DOWN setobjectxyperm LOCALID_TUTORIAL_MAN, 21, 11 setobjectmovementtype LOCALID_TUTORIAL_MAN, MOVEMENT_TYPE_FACE_DOWN return @@ -147,7 +147,7 @@ ViridianCity_EventScript_TutorialUnused:: @ 8165A65 msgbox ViridianCity_Text_ThatWasEducationalTakeThis goto_if_questlog EventScript_ReleaseEnd special sub_8112364 - special ScrSpecial_StartOldManTutorialBattle + special StartOldManTutorialBattle waitstate release end @@ -240,7 +240,7 @@ ViridianCity_EventScript_DoTutorialBattle:: @ 8165B4C closemessage goto_if_questlog EventScript_ReleaseEnd special sub_8112364 - special ScrSpecial_StartOldManTutorialBattle + special StartOldManTutorialBattle waitstate lock faceplayer diff --git a/data/maps/ViridianCity_Gym/map.json b/data/maps/ViridianCity_Gym/map.json index b4c9a93e4..18f8031af 100644 --- a/data/maps/ViridianCity_Gym/map.json +++ b/data/maps/ViridianCity_Gym/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_VIRIDIAN_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_1", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_GYM", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BLACKBELT", + "graphics_id": "OBJ_EVENT_GFX_BLACKBELT", "x": 10, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_M", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_M", "x": 12, "y": 10, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BLACKBELT", + "graphics_id": "OBJ_EVENT_GFX_BLACKBELT", "x": 11, "y": 14, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 10, "y": 10, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MAN", + "graphics_id": "OBJ_EVENT_GFX_MAN", "x": 2, "y": 21, "elevation": 3, @@ -79,7 +81,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BLACKBELT", + "graphics_id": "OBJ_EVENT_GFX_BLACKBELT", "x": 3, "y": 11, "elevation": 3, @@ -92,7 +94,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_M", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_M", "x": 6, "y": 8, "elevation": 3, @@ -105,7 +107,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GIOVANNI", + "graphics_id": "OBJ_EVENT_GFX_GIOVANNI", "x": 2, "y": 2, "elevation": 3, @@ -118,7 +120,7 @@ "flag": "FLAG_HIDE_VIRIDIAN_GIOVANNI" }, { - "graphics_id": "OBJECT_EVENT_GFX_COOLTRAINER_M", + "graphics_id": "OBJ_EVENT_GFX_COOLTRAINER_M", "x": 13, "y": 7, "elevation": 3, @@ -131,7 +133,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GYM_GUY", + "graphics_id": "OBJ_EVENT_GFX_GYM_GUY", "x": 16, "y": 20, "elevation": 3, @@ -170,17 +172,19 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 15, "y": 20, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "ViridianCity_Gym_EventScript_GymStatue" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 19, "y": 20, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "ViridianCity_Gym_EventScript_GymStatue" }, { diff --git a/data/maps/ViridianCity_House1/map.json b/data/maps/ViridianCity_House1/map.json index 167069bc6..68d6bcd2d 100644 --- a/data/maps/ViridianCity_House1/map.json +++ b/data/maps/ViridianCity_House1/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_VIRIDIAN_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_BALDING_MAN", + "graphics_id": "OBJ_EVENT_GFX_BALDING_MAN", "x": 7, "y": 4, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LITTLE_GIRL", + "graphics_id": "OBJ_EVENT_GFX_LITTLE_GIRL", "x": 2, "y": 5, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_SPEAROW", + "graphics_id": "OBJ_EVENT_GFX_SPEAROW", "x": 6, "y": 6, "elevation": 3, @@ -79,10 +81,11 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 7, "y": 1, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "ViridianCity_House1_EventScript_NicknameSign" } ] diff --git a/data/maps/ViridianCity_House2/map.json b/data/maps/ViridianCity_House2/map.json index dc80606ec..26e28f038 100644 --- a/data/maps/ViridianCity_House2/map.json +++ b/data/maps/ViridianCity_House2/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_VIRIDIAN_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_2", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_2", "x": 6, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_LASS", + "graphics_id": "OBJ_EVENT_GFX_LASS", "x": 4, "y": 5, "elevation": 3, @@ -66,38 +68,43 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 4, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "ViridianCity_House2_EventScript_Notebook" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 5, "y": 1, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "ViridianCity_House2_EventScript_Blackboard" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 4, "y": 1, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "ViridianCity_House2_EventScript_Blackboard" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 9, "y": 2, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "ViridianCity_House2_EventScript_PokemonJournal" }, { - "type": "bg_event_type_1", + "type": "sign", "x": 8, "y": 2, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_NORTH", "script": "ViridianCity_House2_EventScript_PokemonJournal" } ] diff --git a/data/maps/ViridianCity_Mart/map.json b/data/maps/ViridianCity_Mart/map.json index 5a4ae7bc0..d650bfda6 100644 --- a/data/maps/ViridianCity_Mart/map.json +++ b/data/maps/ViridianCity_Mart/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_VIRIDIAN_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CLERK", + "graphics_id": "OBJ_EVENT_GFX_CLERK", "x": 2, "y": 3, "elevation": 0, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 6, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_WOMAN_1", + "graphics_id": "OBJ_EVENT_GFX_WOMAN_1", "x": 9, "y": 5, "elevation": 3, diff --git a/data/maps/ViridianCity_Mart/scripts.inc b/data/maps/ViridianCity_Mart/scripts.inc index 5ad0d9a2f..cb458b682 100644 --- a/data/maps/ViridianCity_Mart/scripts.inc +++ b/data/maps/ViridianCity_Mart/scripts.inc @@ -8,8 +8,8 @@ ViridianCity_Mart_OnLoad:: @ 816A1DE end ViridianCity_Mart_EventScript_HideQuestionnaire:: @ 816A1E8 - setmetatile 1, 3, METATILE_Shop_CounterMid_Top, 1 - setmetatile 1, 4, METATILE_Shop_CounterMid_Bottom, 1 + setmetatile 1, 3, METATILE_Mart_CounterMid_Top, 1 + setmetatile 1, 4, METATILE_Mart_CounterMid_Bottom, 1 end ViridianCity_Mart_OnFrame:: @ 816A1FB diff --git a/data/maps/ViridianCity_PokemonCenter_1F/map.json b/data/maps/ViridianCity_PokemonCenter_1F/map.json index c531d4b59..d46b11f2c 100644 --- a/data/maps/ViridianCity_PokemonCenter_1F/map.json +++ b/data/maps/ViridianCity_PokemonCenter_1F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_VIRIDIAN_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_NURSE", + "graphics_id": "OBJ_EVENT_GFX_NURSE", "x": 7, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_GENTLEMAN", + "graphics_id": "OBJ_EVENT_GFX_GENTLEMAN", "x": 12, "y": 5, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BOY", + "graphics_id": "OBJ_EVENT_GFX_BOY", "x": 4, "y": 7, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 2, "y": 3, "elevation": 3, diff --git a/data/maps/ViridianCity_PokemonCenter_2F/map.json b/data/maps/ViridianCity_PokemonCenter_2F/map.json index a552725f9..76084ff0a 100644 --- a/data/maps/ViridianCity_PokemonCenter_2F/map.json +++ b/data/maps/ViridianCity_PokemonCenter_2F/map.json @@ -6,15 +6,17 @@ "region_map_section": "MAPSEC_VIRIDIAN_CITY", "requires_flash": false, "weather": "WEATHER_NONE", - "map_type": "MAP_TYPE_8", - "unknown_18": 0, - "unknown_19": 0, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "map_type": "MAP_TYPE_INDOOR", + "allow_cycling": false, + "allow_escaping": false, + "allow_running": false, + "show_map_name": false, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 6, "y": 2, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 2, "y": 2, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", + "graphics_id": "OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST", "x": 10, "y": 2, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_MG_DELIVERYMAN", + "graphics_id": "OBJ_EVENT_GFX_MG_DELIVERYMAN", "x": 1, "y": 2, "elevation": 3, diff --git a/data/maps/ViridianForest/map.json b/data/maps/ViridianForest/map.json index 463bc53f5..ba78294fa 100644 --- a/data/maps/ViridianForest/map.json +++ b/data/maps/ViridianForest/map.json @@ -5,16 +5,18 @@ "music": "MUS_T_MORI", "region_map_section": "MAPSEC_VIRIDIAN_FOREST", "requires_flash": false, - "weather": "WEATHER_CLOUDY", - "map_type": "MAP_TYPE_3", - "unknown_18": 1, - "unknown_19": 7, - "elevator_flag": 0, - "battle_scene": "BATTLE_SCENE_0", + "weather": "WEATHER_SHADE", + "map_type": "MAP_TYPE_ROUTE", + "allow_cycling": true, + "allow_escaping": true, + "allow_running": true, + "show_map_name": true, + "floor_number": 0, + "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": null, "object_events": [ { - "graphics_id": "OBJECT_EVENT_GFX_YOUNGSTER", + "graphics_id": "OBJ_EVENT_GFX_YOUNGSTER", "x": 29, "y": 58, "elevation": 3, @@ -27,7 +29,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BOY", + "graphics_id": "OBJ_EVENT_GFX_BOY", "x": 45, "y": 58, "elevation": 3, @@ -40,7 +42,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BUG_CATCHER", + "graphics_id": "OBJ_EVENT_GFX_BUG_CATCHER", "x": 47, "y": 45, "elevation": 3, @@ -53,7 +55,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BUG_CATCHER", + "graphics_id": "OBJ_EVENT_GFX_BUG_CATCHER", "x": 47, "y": 29, "elevation": 3, @@ -66,7 +68,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BUG_CATCHER", + "graphics_id": "OBJ_EVENT_GFX_BUG_CATCHER", "x": 7, "y": 22, "elevation": 3, @@ -79,7 +81,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 5, "y": 41, "elevation": 3, @@ -92,7 +94,7 @@ "flag": "FLAG_HIDE_VIRIDIAN_FOREST_POKE_BALL" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 40, "y": 21, "elevation": 3, @@ -105,7 +107,7 @@ "flag": "FLAG_HIDE_VIRIDIAN_FOREST_ANTIDOTE" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 21, "y": 34, "elevation": 3, @@ -118,7 +120,7 @@ "flag": "FLAG_HIDE_VIRIDIAN_FOREST_POTION" }, { - "graphics_id": "OBJECT_EVENT_GFX_BUG_CATCHER", + "graphics_id": "OBJ_EVENT_GFX_BUG_CATCHER", "x": 43, "y": 6, "elevation": 3, @@ -131,7 +133,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_BUG_CATCHER", + "graphics_id": "OBJ_EVENT_GFX_BUG_CATCHER", "x": 16, "y": 5, "elevation": 3, @@ -144,7 +146,7 @@ "flag": "0" }, { - "graphics_id": "OBJECT_EVENT_GFX_ITEM_BALL", + "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", "x": 49, "y": 60, "elevation": 3, @@ -204,45 +206,51 @@ "coord_events": [], "bg_events": [ { - "type": "bg_event_type_0", + "type": "sign", "x": 39, "y": 59, "elevation": 3, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "ViridianForest_EventScript_TrainerTips1" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 43, "y": 26, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "ViridianForest_EventScript_TrainerTips3" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 9, "y": 29, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "ViridianForest_EventScript_TrainerTips4" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 6, "y": 12, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "ViridianForest_EventScript_ExitSign" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 28, "y": 44, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "ViridianForest_EventScript_TrainerTips2" }, { - "type": "bg_event_type_0", + "type": "sign", "x": 31, "y": 60, "elevation": 0, + "player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY", "script": "ViridianForest_EventScript_TrainerTips5" }, { diff --git a/data/maps/map_groups.json b/data/maps/map_groups.json index 05f1cd544..a7a468351 100644 --- a/data/maps/map_groups.json +++ b/data/maps/map_groups.json @@ -178,17 +178,17 @@ ], "gMapGroup2": [ "NavelRock_Exterior", - "SevenIsland_TrainerTower_1F", - "SevenIsland_TrainerTower_2F", - "SevenIsland_TrainerTower_3F", - "SevenIsland_TrainerTower_4F", - "SevenIsland_TrainerTower_5F", - "SevenIsland_TrainerTower_6F", - "SevenIsland_TrainerTower_7F", - "SevenIsland_TrainerTower_8F", - "SevenIsland_TrainerTower_Roof", - "SevenIsland_TrainerTower_Lobby", - "SevenIsland_TrainerTower_Elevator", + "TrainerTower_1F", + "TrainerTower_2F", + "TrainerTower_3F", + "TrainerTower_4F", + "TrainerTower_5F", + "TrainerTower_6F", + "TrainerTower_7F", + "TrainerTower_8F", + "TrainerTower_Roof", + "TrainerTower_Lobby", + "TrainerTower_Elevator", "FiveIsland_LostCave_Entrance", "FiveIsland_LostCave_Room1", "FiveIsland_LostCave_Room2", @@ -250,7 +250,7 @@ "CinnabarIsland", "IndigoPlateau_Exterior", "SaffronCity", - "SaffronCity_Classic", + "SaffronCity_Connection", "OneIsland", "TwoIsland", "ThreeIsland", @@ -289,10 +289,10 @@ "TwoIsland_CapeBrink", "ThreeIsland_BondBridge", "ThreeIsland_Port", - "UnknownMap_03_50", - "UnknownMap_03_51", - "UnknownMap_03_52", - "UnknownMap_03_53", + "Prototype_SeviiIsle_6", + "Prototype_SeviiIsle_7", + "Prototype_SeviiIsle_8", + "Prototype_SeviiIsle_9", "FiveIsland_ResortGorgeous", "FiveIsland_WaterLabyrinth", "FiveIsland_Meadow", @@ -409,15 +409,15 @@ "IndigoPlateau_PokemonCenter_2F" ], "gMapGroup14": [ - "SaffronCity_House1_1F", - "SaffronCity_House1_2F", + "SaffronCity_CopycatsHouse_1F", + "SaffronCity_CopycatsHouse_2F", "SaffronCity_Dojo", "SaffronCity_Gym", - "SaffronCity_House2", + "SaffronCity_House", "SaffronCity_Mart", "SaffronCity_PokemonCenter_1F", "SaffronCity_PokemonCenter_2F", - "SaffronCity_House3", + "SaffronCity_MrPsychicsHouse", "SaffronCity_PokemonTrainerFanClub" ], "gMapGroup15": [ @@ -567,7 +567,7 @@ "CinnabarIsland", "IndigoPlateau_Exterior", "SaffronCity", - "SaffronCity_Classic", + "SaffronCity_Connection", "OneIsland", "TwoIsland", "ThreeIsland", @@ -605,8 +605,8 @@ "TwoIsland_CapeBrink", "ThreeIsland_BondBridge", "ThreeIsland_Port", - "UnknownMap_03_50", - "UnknownMap_03_51", + "Prototype_SeviiIsle_6", + "Prototype_SeviiIsle_7", "FiveIsland_ResortGorgeous", "FiveIsland_WaterLabyrinth", "FiveIsland_Meadow", diff --git a/data/mystery_event_msg.s b/data/mystery_event_msg.s index 2eab73984..0e929220c 100644 --- a/data/mystery_event_msg.s +++ b/data/mystery_event_msg.s @@ -17,9 +17,9 @@ MysteryEventScript_StampCard:: @ 8488E28 setvaddress MysteryEventScript_StampCard setorcopyvar VAR_RESULT, 1 - specialvar VAR_0x8008, Special_BattleCardAction + specialvar VAR_0x8008, BattleCardAction setorcopyvar VAR_RESULT, 0 - specialvar VAR_0x8009, Special_BattleCardAction + specialvar VAR_0x8009, BattleCardAction subvar VAR_0x8008, VAR_0x8009 getnumberstring 0, VAR_0x8008 lock @@ -169,7 +169,7 @@ MysteryEventScript_BattleCard:: @ 84892B9 setvaddress MysteryEventScript_BattleCard vgoto_if_set FLAG_MYSTERY_EVENT_DONE, MysteryEventScript_BattleCardInfo setorcopyvar VAR_RESULT, 2 - specialvar VAR_0x8008, Special_BattleCardAction + specialvar VAR_0x8008, BattleCardAction compare VAR_0x8008, 3 vgoto_if_ne MysteryEventScript_BattleCardInfo lock @@ -228,7 +228,7 @@ MysteryEventScript_AuroraTicket:: @ 84894B9 compare VAR_RESULT, FALSE vgoto_if_eq AuroraTicket_NoBagSpace giveitem ITEM_AURORA_TICKET - setflag FLAG_SYS_GOT_AURORA_TICKET + setflag FLAG_ENABLE_SHIP_BIRTH_ISLAND setflag FLAG_GOT_AURORA_TICKET vmessage sText_AuroraTicket2 waitmessage @@ -289,7 +289,7 @@ MysteryEventScript_MysticTicket:: @ 8489689 compare VAR_RESULT, FALSE vgoto_if_eq MysticTicket_NoBagSpace giveitem ITEM_MYSTIC_TICKET - setflag FLAG_SYS_GOT_MYSTIC_TICKET + setflag FLAG_ENABLE_SHIP_NAVEL_ROCK setflag FLAG_GOT_MYSTIC_TICKET vmessage sText_MysticTicket1 waitmessage diff --git a/data/naming_screen.s b/data/naming_screen.s deleted file mode 100644 index b7d348165..000000000 --- a/data/naming_screen.s +++ /dev/null @@ -1,458 +0,0 @@ -#include "constants/maps.h" -#include "constants/species.h" - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnknown_83E1800:: @ 83E1800 - .incbin "graphics/interface/naming_screen_83E1800.4bpp" - -gUnknown_83E18C0:: @ 83E18C0 - .incbin "graphics/interface/naming_screen_83E18C0.4bpp" - -gUnknown_83E1980:: @ 83E1980 - .incbin "graphics/interface/naming_screen_83E1980.4bpp" - -gUnknown_83E2280:: @ 83E2280 - .4byte Text_MonSentToBoxInSomeonesPC - .4byte Text_MonSentToBoxInBillsPC - .4byte Text_MonSentToBoxSomeonesBoxFull - .4byte Text_MonSentToBoxBillsBoxFull - -gUnknown_83E2290:: @ 83E2290 - .4byte 0x000001e0 - @ { - @ .bg = 0, - @ .charBaseIndex = 0, - @ .mapBaseIndex = 30, - @ .screenSize = 0, - @ .paletteMode = 0, - @ .priority = 0, - @ .baseTile = 0x0000 - @ } - .4byte 0x000011d9 - @ { - @ .bg = 1, - @ .charBaseIndex = 2, - @ .mapBaseIndex = 29, - @ .screenSize = 0, - @ .paletteMode = 0, - @ .priority = 1, - @ .baseTile = 0x0000 - @ } - .4byte 0x000021ca - @ { - @ .bg = 2, - @ .charBaseIndex = 2, - @ .mapBaseIndex = 28, - @ .screenSize = 0, - @ .paletteMode = 0, - @ .priority = 2, - @ .baseTile = 0x0000 - @ } - .4byte 0x000031ff - @ { - @ .bg = 3, - @ .charBaseIndex = 3, - @ .mapBaseIndex = 31, - @ .screenSize = 0, - @ .paletteMode = 0, - @ .priority = 3, - @ .baseTile = 0x0000 - @ } - -gUnknown_83E22A0:: @ 83E22A0 - .byte 1, 3, 10, 19, 8, 10 - .2byte 0x0030 - @ { - @ .bg = 1, - @ .tilemapLeft = 3, - @ .tilemapTop = 10, - @ .width = 19, - @ .height = 8, - @ .paletteNum = 10, - @ .baseBlock = 0x0030 - @ } - .byte 2, 3, 10, 19, 8, 10 - .2byte 0x00c8 - @ { - @ .bg = 2, - @ .tilemapLeft = 3, - @ .tilemapTop = 10, - @ .width = 19, - @ .height = 8, - @ .paletteNum = 10, - @ .baseBlock = 0x00c8 - @ } - .byte 3, 8, 6, 14, 2, 10 - .2byte 0x0030 - @ { - @ .bg = 3, - @ .tilemapLeft = 8, - @ .tilemapTop = 6, - @ .width = 14, - @ .height = 2, - @ .paletteNum = 10, - @ .baseBlock = 0x0030 - @ } - .byte 3, 9, 4, 16, 2, 10 - .2byte 0x004c - @ { - @ .bg = 3, - @ .tilemapLeft = 9, - @ .tilemapTop = 4, - @ .width = 16, - @ .height = 2, - @ .paletteNum = 10, - @ .baseBlock = 0x004c - @ } - .byte 0, 0, 0, 30, 2, 11 - .2byte 0x006c - @ { - @ .bg = 0, - @ .tilemapLeft = 0, - @ .tilemapTop = 0, - @ .width = 30, - @ .height = 2, - @ .paletteNum = 11, - @ .baseBlock = 0x006c - @ } - .byte 255, 0, 0, 0, 0, 0 - .2byte 0x0000 - @ { - @ .bg = 255, - @ .tilemapLeft = 0, - @ .tilemapTop = 0, - @ .width = 0, - @ .height = 0, - @ .paletteNum = 0, - @ .baseBlock = 0x0000 - @ } - -gUnknown_83E22D0:: @ 83E22D0 - .string "abcdef .", 8 - .string "ghijkl ,", 8 - .string "mnopqrs", 8 - .string "tuvwxyz", 8 - .string "ABCDEF .", 8 - .string "GHIJKL ,", 8 - .string "MNOPQRS", 8 - .string "TUVWXYZ", 8 - .string "01234", 8 - .string "56789", 8 - .string "!?♂♀/-", 8 - .string "…“”‘'", 8 - -gUnknown_83E2330:: @ 83E2330 - .byte 0x08, 0x08, 0x06 - -gUnknown_83E2333:: @ 83E2333 - .byte 0x00, 0x0c, 0x18, 0x38, 0x44, 0x50, 0x5c, 0x7b, 0x00, 0x0c, 0x18, 0x38, 0x44, 0x50, 0x5c, 0x7b, 0x00, 0x16, 0x2c, 0x42, 0x58, 0x6e, 0x00, 0x00 - -gUnknown_83E234B:: @ 83E234B - .byte 0x00, 0x02, 0x01 - -gUnknown_83E234E:: @ 83E234E - .byte 0x01, 0x00, 0x02 - -gUnknown_83E2351:: @ 83E2351 - .byte 0x02, 0x01, 0x00 - -gUnknown_83E2354:: @ 83E2354 - .4byte sub_809E384 - .4byte sub_809E3AC - .4byte sub_809E440 - .4byte sub_809E4D4 - -gUnknown_83E2364:: @ 83E2364 - .2byte 0x0000, 0xfffc, 0xfffe, 0xffff - -gUnknown_83E236C:: @ 83E236C - .2byte 0x0002, 0x0003, 0x0002, 0x0001 - -gUnknown_83E2374:: @ 83E2374 - .byte 0x01, 0x02, 0x03, 0x00 - -gUnknown_83E2378:: @ 83E2378 - .4byte sub_809EC7C - .4byte sub_809ECD0 - .4byte sub_809ECD4 - .4byte sub_809ED48 - -gUnknown_83E2388:: @ 83E2388 - .2byte 0x0001, 0x0003, 0x0002 - -gUnknown_83E238E:: @ 83E238E - .2byte 0x0004, 0x0006, 0x0005 - -gUnknown_83E2394:: @ 83E2394 - .4byte nullsub_54 - .4byte sub_809EF54 - .4byte sub_809EFB0 - .4byte sub_809EFF0 - .4byte sub_809F04C - -gUnknown_83E23A8:: @ 83E23A8 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 24, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 32, 10 - obj_image_anim_jump 0 - -gUnknown_83E23BC:: @ 83E23BC - .4byte gUnknown_83E23A8 - -gUnknown_83E23C0:: @ 83E23C0 - obj_tiles gUnknown_83E1980, 0x0900, 255 - -gUnknown_83E23C8:: @ 83E23C8 - obj_pal gUnknown_8E98004, 255 - -gUnknown_83E23D0:: @ 83E23D0 - .4byte sub_809F11C - .4byte KeyboardKeyHandler_Page - .4byte KeyboardKeyHandler_Backspace - .4byte KeyboardKeyHandler_OK - -gUnknown_83E23E0:: @ 83E23E0 - .4byte InputState_Disabled - .4byte InputState_Enabled - -gUnknown_83E23E8:: @ 83E23E8 - .2byte 0x0000, 0x0000, 0x0000, 0xffff, 0x0001 - -gUnknown_83E23F2:: @ 83E23F2 - .2byte 0x0000, 0xffff, 0x0001, 0x0000, 0x0000 - -gUnknown_83E23FC:: @ 83E23FC - .2byte 0x0000, 0x0001, 0x0001, 0x0002 - -gUnknown_83E2404:: @ 83E2404 - .2byte 0x0000, 0x0000, 0x0003, 0x0000 - -gUnknown_83E240C:: @ 83E240C - .4byte sub_809F49C - .4byte sub_809F49C - .4byte sub_809F4F0 - .4byte sub_809F4F0 - .4byte sub_809F49C - -gUnknown_83E2420:: @ 83E2420 - .4byte nullsub_55 - .4byte sub_809F5C4 - -gUnknown_83E2428:: @ 83E2428 - .byte 0x00, 0x09, 0x08, 0x00 - .byte 0x05, 0x04, 0x00, 0x00 - -gUnknown_83E2430:: @ 83E2430 - .byte 0x0d, 0x01, 0x02, 0x00 - -gUnknown_83E2434:: @ 83E2434 - .byte 0x0e, 0x01, 0x02, 0x00 - -gUnknown_83E2438:: @ 83E2438 - .byte 0x0f, 0x01, 0x02, 0x00 - -gUnknown_83E243C:: @ 83E243C - .byte 0xee, 0xdd, 0xff, 0x00 - -gUnknown_83E2440:: @ 83E2440 - .4byte gUnknown_83E2434 - .4byte gUnknown_83E2430 - .4byte gUnknown_83E2438 - -gUnknown_83E244C:: @ 83E244C - .4byte gUnknown_8E98398 - .4byte gUnknown_8E98458 - .4byte gUnknown_8E98518 - -gUnknown_83E2458:: @ 83E2458 - .byte 0x0f, 0x01, 0x02 - - .align 2 -gUnknown_83E245C:: @ 83E245C - .byte 0x00, 0x07, 0x01, 0x00, 0x01 - .align 2 - .4byte gUnknown_8418E47 - -gUnknown_83E2468:: @ 83E2468 - .byte 0x00, 0x08, 0x02, 0x00, 0x01 - .align 2 - .4byte gUnknown_8418E52 - -gUnknown_83E2474:: @ 83E2474 - .byte 0x00, 0x0a, 0x03, 0x01, 0x01 - .align 2 - .4byte gUnknown_8418E5C - -gUnknown_83E2480:: @ 83E2480 - .byte 0x00, 0x07, 0x04, 0x00, 0x01 - .align 2 - .4byte gUnknown_8418E69 - -gUnknown_83E248C:: @ 83E248C - .4byte gUnknown_83E245C - .4byte gUnknown_83E2468 - .4byte gUnknown_83E2474 - .4byte gUnknown_83E2474 - .4byte gUnknown_83E2480 - -gUnknown_83E24A0:: @ 83E24A0 - .4byte 0x00000000, 0x00000000 - -gUnknown_83E24A8:: @ 3E24A8 - .4byte 0x40000000, 0x00000000 - -gUnknown_83E24B0:: @ 3E24B0 - .4byte 0x80004000, 0x00000000 - -gUnknown_83E24B8:: @ 83E24B8 - subsprite 236, 240, 1, 0x0000, 32x8 - subsprite 12, 240, 1, 0x0004, 8x8 - subsprite 236, 248, 1, 0x0005, 32x8 - subsprite 12, 248, 1, 0x0009, 8x8 - subsprite 236, 0, 1, 0x000a, 32x8 - subsprite 12, 0, 1, 0x000e, 8x8 - subsprite 236, 8, 1, 0x000f, 32x8 - subsprite 12, 8, 1, 0x0013, 8x8 - -gUnknown_83E24D8:: @ 83E24D8 - subsprite 244, 252, 1, 0x0000, 16x8 - subsprite 4, 252, 1, 0x0002, 8x8 - -gUnknown_83E24E0:: @ 83E24E0 - subsprite 236, 244, 1, 0x0000, 32x8 - subsprite 12, 244, 1, 0x0004, 8x8 - subsprite 236, 252, 1, 0x0005, 32x8 - subsprite 12, 252, 1, 0x0009, 8x8 - subsprite 236, 4, 1, 0x000a, 32x8 - subsprite 12, 4, 1, 0x000e, 8x8 - -gUnknown_83E24F8:: - subsprite 248, 244, 3, 0x0000, 16x8 - subsprite 248, 252, 3, 0x0002, 16x8 - subsprite 248, 4, 3, 0x0004, 16x8 - -gUnknown_83E2504:: @ 83E2504 - .byte 0x08 - .align 2 - .4byte gUnknown_83E24B8 - -gUnknown_83E250C:: @ 83E250C - .byte 0x02 - .align 2 - .4byte gUnknown_83E24D8 - .byte 0x02 - .align 2 - .4byte gUnknown_83E24D8 - .byte 0x02 - .align 2 - .4byte gUnknown_83E24D8 - -gUnknown_83E2524:: @ 83E2524 - .byte 0x06 - .align 2 - .4byte gUnknown_83E24E0 - -gUnknown_83E252C:: @ 83E252C - .byte 0x03 - .align 2 - .4byte gUnknown_83E24F8 - -gUnknown_83E2534:: @ 83E2534 - obj_frame_tiles gUnknown_83E1800, 0x00c0 - obj_frame_tiles gUnknown_83E18C0, 0x00c0 - -gUnknown_83E2544:: @ 83E2544 - obj_image_anim_frame 0, 1 - obj_image_anim_jump 0 - -gUnknown_83E254C:: @ 83E254C - obj_image_anim_frame 4, 8 - obj_image_anim_frame 8, 8 - obj_image_anim_end - -gUnknown_83E2558:: @ 83E2558 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_jump 0 - -gUnknown_83E2564:: @ 83E2564 - .4byte gUnknown_83E2544 - -gUnknown_83E2568:: @ 83E2568 - .4byte gUnknown_83E2544 - .4byte gUnknown_83E254C - -gUnknown_83E2570:: @ 83E2570 - .4byte gUnknown_83E2558 - -gUnknown_83E2574:: @ 83E2574 - spr_template 2, 4, gUnknown_83E24A0, gUnknown_83E2564, NULL, gDummySpriteAffineAnimTable, sub_809EC54 - -gUnknown_83E258C:: @ 83E258C - spr_template 3, 1, gUnknown_83E24B0, gUnknown_83E2564, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_83E25A4:: @ 83E25A4 - spr_template 4, 4, gUnknown_83E24A0, gUnknown_83E2564, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_83E25BC:: @ 83E25BC - spr_template 0, 6, gUnknown_83E24A0, gUnknown_83E2564, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_83E25D4:: @ 83E25D4 - spr_template 1, 7, gUnknown_83E24A0, gUnknown_83E2564, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_83E25EC:: @ 83E25EC - spr_template 7, 5, gUnknown_83E24A8, gUnknown_83E2568, NULL, gDummySpriteAffineAnimTable, sub_809E700 - -gUnknown_83E2604:: @ 83E2604 - spr_template 10, 3, gUnknown_83E24A0, gUnknown_83E2564, NULL, gDummySpriteAffineAnimTable, sub_809E7F0 - -gUnknown_83E261C:: @ 83E261C - spr_template 11, 3, gUnknown_83E24A0, gUnknown_83E2564, NULL, gDummySpriteAffineAnimTable, sub_809E83C - -gUnknown_83E2634:: @ 83E2634 - spr_template 65535, 0, gUnknown_83E24A0, gUnknown_83E2570, gUnknown_83E2534, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_83E264C:: @ 83E264C - .4byte gUnknown_847A955 - .4byte gUnknown_847A976 - .4byte gUnknown_847A997 - .4byte gUnknown_847A9B8 - .4byte gUnknown_847A9D9 - .4byte gUnknown_847A9FA - .4byte gUnknown_847AA1B - .4byte gUnknown_847AA3C - .4byte gUnknown_847AA5D - .4byte gUnknown_847AA76 - .4byte gUnknown_847AA8F - .4byte gUnknown_847AAA8 - -gUnknown_83E267C:: @ 83E267C - obj_tiles gUnknown_8E98858, 0x01e0, 0 - obj_tiles gUnknown_8E98A38, 0x01e0, 1 - obj_tiles gUnknown_8E985D8, 0x0280, 2 - obj_tiles gUnknown_8E98FD8, 0x0100, 3 - obj_tiles gUnknown_8E98C18, 0x0060, 4 - obj_tiles gUnknown_8E98CB8, 0x0060, 5 - obj_tiles gUnknown_8E98D58, 0x0060, 6 - obj_tiles gUnknown_8E98DF8, 0x0080, 7 - obj_tiles gUnknown_8E98E98, 0x0080, 8 - obj_tiles gUnknown_8E98F38, 0x0080, 9 - obj_tiles gUnknown_8E990D8, 0x0020, 10 - obj_tiles gUnknown_8E990F8, 0x0020, 11 - null_obj_tiles - -gUnknown_83E26E4:: @ 83E26E4 - obj_pal gUnknown_8E98024, 0 - obj_pal gUnknown_8E98044, 1 - obj_pal gUnknown_8E98064, 2 - obj_pal gUnknown_8E98084, 3 - obj_pal gUnknown_8E980A4, 4 - obj_pal gUnknown_8E980C4, 5 - obj_pal gUnknown_8E980A4, 6 - obj_pal gUnknown_8E980A4, 7 - null_obj_pal diff --git a/data/pokedex_screen.s b/data/pokedex_screen.s index 64d1fba0c..ebbb3da72 100644 --- a/data/pokedex_screen.s +++ b/data/pokedex_screen.s @@ -1,4 +1,4 @@ -#include "constants/region_map.h" +#include "constants/region_map_sections.h" #include "constants/flags.h" #include "constants/moves.h" #include "constants/species.h" diff --git a/data/pokemon_jump.s b/data/pokemon_jump.s deleted file mode 100644 index 8f37f94e0..000000000 --- a/data/pokemon_jump.s +++ /dev/null @@ -1,438 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_846AFE8:: @ 846AFE8 - .incbin "graphics/misc/unk_846B008.gbapal" - -gUnknown_846B008:: @ 846B008 - .incbin "graphics/misc/unk_846B008.4bpp.lz" - -gUnknown_846B42C:: @ 846B42C - obj_tiles gUnknown_846B008, 0x0c00, 0x2000 - null_obj_tiles - -gUnknown_846B43C:: @ 846B43C - obj_pal gUnknown_846AFE8, 0x2000 - null_obj_pal - -gUnknown_846B44C:: @ 846B44C - obj_image_anim_frame 0x00, 0 - obj_image_anim_end - -gUnknown_846B454:: @ 846B454 - obj_image_anim_frame 0x10, 0 - obj_image_anim_end - -gUnknown_846B45C:: @ 846B45C - obj_image_anim_frame 0x20, 0 - obj_image_anim_end - -gUnknown_846B464:: @ 846B464 - obj_image_anim_frame 0x40, 0 - obj_image_anim_end - -gUnknown_846B46C:: @ 846B46C - obj_image_anim_frame 0x30, 0 - obj_image_anim_end - -gUnknown_846B474:: @ 846B474 - obj_image_anim_frame 0x50, 0 - obj_image_anim_end - -gUnknown_846B47C:: - .4byte gUnknown_846B44C - .4byte gUnknown_846B454 - .4byte gUnknown_846B45C - .4byte gUnknown_846B464 - .4byte gUnknown_846B46C - .4byte gUnknown_846B474 - -gUnknown_846B494:: @ 846B494 - spr_template 0x2000, 0x2000, gOamData_AffineOff_ObjNormal_32x32, gUnknown_846B47C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_846B4AC:: @ 846B4AC - @ This is a 2D array with one row. - @ Why this was done this way is beyond me. - @ The data that follow this row are not at all function pointers. - .4byte sub_81477C0, sub_814784C, sub_81479D4, sub_8147A34 - -gUnknown_846B4BC:: @ 846B4BC - .2byte 0x0001, 0x0002, 0x0004, 0x0001, 0x0007, 0x0000, 0x000a, 0x0001, 0x000b, 0x0001, 0x000d, 0x0001, 0x000e, 0x0001, 0x0013, 0x0001 - .2byte 0x0014, 0x0001, 0x0019, 0x0000, 0x001b, 0x0000, 0x001d, 0x0000, 0x0020, 0x0000, 0x0023, 0x0000, 0x0025, 0x0000, 0x0027, 0x0002 - .2byte 0x002b, 0x0002, 0x002e, 0x0001, 0x0034, 0x0000, 0x0036, 0x0002, 0x0038, 0x0001, 0x003a, 0x0001, 0x003c, 0x0002, 0x0045, 0x0002 - .2byte 0x005a, 0x0001, 0x0062, 0x0001, 0x0066, 0x0002, 0x0068, 0x0000, 0x0084, 0x0002, 0x0085, 0x0000, 0x008a, 0x0001, 0x008c, 0x0001 - .2byte 0x0098, 0x0002, 0x009b, 0x0001, 0x009e, 0x0000, 0x00a7, 0x0001, 0x00ac, 0x0000, 0x00ad, 0x0000, 0x00ae, 0x0002, 0x00af, 0x0002 - .2byte 0x00b3, 0x0000, 0x00b6, 0x0002, 0x00b7, 0x0002, 0x00bf, 0x0002, 0x00c2, 0x0002, 0x00cc, 0x0002, 0x00d1, 0x0000, 0x00d5, 0x0002 - .2byte 0x00d8, 0x0000, 0x00da, 0x0002, 0x00dc, 0x0000, 0x00e4, 0x0001, 0x00e7, 0x0000, 0x00e9, 0x0000, 0x00ec, 0x0001, 0x00ee, 0x0002 - .2byte 0x00ef, 0x0001, 0x00f0, 0x0001, 0x00f6, 0x0001, 0x0115, 0x0001, 0x0118, 0x0002, 0x011b, 0x0000, 0x011c, 0x0000, 0x011e, 0x0001 - .2byte 0x0120, 0x0000, 0x0121, 0x0000, 0x0122, 0x0001, 0x0123, 0x0002, 0x0125, 0x0002, 0x0127, 0x0002, 0x012a, 0x0001, 0x0188, 0x0000 - .2byte 0x0189, 0x0000, 0x0137, 0x0002, 0x0132, 0x0002, 0x012d, 0x0001, 0x0172, 0x0000, 0x015e, 0x0002, 0x013b, 0x0000, 0x0142, 0x0000 - .2byte 0x0163, 0x0000, 0x017e, 0x0001, 0x0164, 0x0002, 0x0151, 0x0001, 0x0161, 0x0001, 0x0162, 0x0001, 0x0182, 0x0000, 0x0183, 0x0000 - .2byte 0x016b, 0x0002, 0x016f, 0x0002, 0x0153, 0x0002, 0x0141, 0x0002, 0x015f, 0x0000, 0x014c, 0x0002, 0x0158, 0x0002, 0x0186, 0x0001 - .2byte 0x0168, 0x0000, 0x015a, 0x0000, 0x0175, 0x0001, 0x018b, 0x0001 - -gUnknown_846B64C:: @ 846B64C - .4byte sub_8148344 - .4byte sub_81483D0 - .4byte sub_8148464 - .4byte sub_81484D0 - .4byte sub_81485C8 - .4byte sub_81486C4 - .4byte sub_8148760 - .4byte sub_81487B4 - .4byte sub_814881C - -gUnknown_846B670:: @ 846B670 - .4byte sub_8148398 - .4byte sub_8148418 - .4byte sub_81484B0 - .4byte sub_814856C - .4byte sub_8148664 - .4byte sub_8148724 - .4byte sub_8148760 - .4byte sub_8148800 - .4byte sub_814881C - -gUnknown_846B694:: @ 846B694 - .2byte 0x001a, 0x001f, 0x0024, 0x0029, 0x002e, 0x0033, 0x0038, 0x003d - -gUnknown_846B6A4:: @ 846B6A4 - .2byte 0x0000, 0x0001, 0x0001, 0x0002 - -gUnknown_846B6AC:: @ 846B6AC - .2byte 0x0058, 0x005f, 0x00dd, 0x00fe - -gUnknown_846B6B4:: @ 846B6B4 - .byte 0xfd, 0xfa, 0xf8, 0xf6, 0xf3, 0xf1, 0xef, 0xed, 0xeb, 0xe9, 0xe7, 0xe5, 0xe4, 0xe3, 0xe2, 0xe2, 0xe2, 0xe4, 0xe5, 0xe6, 0xe7, 0xe9, 0xea, 0xec, 0xee, 0xef, 0xf1, 0xf3, 0xf5, 0xf8, 0xfa, 0xfc - .byte 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0xfa, 0xf7, 0xf5, 0xf2, 0xf0, 0xee, 0xec, 0xea, 0xe8, 0xe6, 0xe4, 0xe3, 0xe2, 0xe2, 0xe4 - .byte 0xe6, 0xe8, 0xea, 0xec, 0xee, 0xf0, 0xf2, 0xf5, 0xf7, 0xfa, 0xfc, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0xfd, 0xfa, 0xf7, 0xf5, 0xf3, 0xf1, 0xef, 0xed, 0xeb, 0xe9, 0xe7, 0xe5, 0xe4, 0xe3, 0xe2, 0xe2, 0xe2, 0xe2, 0xe3, 0xe3, 0xe4, 0xe4, 0xe5, 0xe5, 0xe6, 0xe7, 0xe8, 0xea, 0xec, 0xee, 0xf0, 0xf2 - .byte 0xf4, 0xf5, 0xf7, 0xfa, 0xfc, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - -gUnknown_846B744:: @ 846B744 - .4byte 0, 0, 50, 100, 200, 500 - -gUnknown_846B75C:: @ 846B75C - .2byte 0x008a, 0x008d, 0x008e, 0x008f, 0x0090, 0x0091, 0x0092, 0x0093 - -gUnknown_846B76C:: @ 846B76C - .4byte 5000, 1 - .4byte 8000, 2 - .4byte 12000, 3 - .4byte 16000, 4 - .4byte 20000, 5 - -gUnknown_846B794:: @ 846B794 gbapal - .incbin "graphics/link_games/unk_846B794.gbapal" - -gUnknown_846B7B4:: @ 846B7B4 gbapal - .incbin "graphics/link_games/unk_846B7B4.gbapal" - -gUnknown_846B7D4:: @ 846B7D4 4bpp.lz - .incbin "graphics/link_games/unk_846B7D4.4bpp.lz" - -gUnknown_846BA00:: @ 846BA00 bin.lz - .incbin "graphics/link_games/unk_846BA00.bin.lz" - -gUnknown_846BBB0:: @ 846BBB0 gbapal - .incbin "graphics/link_games/unk_846BBB0.gbapal" - -gUnknown_846BBD0:: @ 846BBD0 4bpp.lz - .incbin "graphics/link_games/unk_846BBD0.4bpp.lz" - -gUnknown_846C520:: @ 846C520 bin.lz - .incbin "graphics/link_games/unk_846C520.bin.lz" - -gUnknown_846C8D8:: @ 846C8D8 gbapal - .incbin "graphics/link_games/unk_846C8D8.gbapal" - -gUnknown_846C8F8:: @ 846C8F8 4bpp.lz - .incbin "graphics/link_games/unk_846C8F8.4bpp.lz" - -gUnknown_846D3A8:: @ 846D3A8 bin.lz - .incbin "graphics/link_games/unk_846D3A8.bin.lz" - -gUnknown_846D8D4:: @ 846D8D4 - .4byte 0x000001b0 - @ { - @ .bg = 0, - @ .charBaseIndex = 0, - @ .mapBaseIndex = 27, - @ .screenSize = 0, - @ .paletteMode = 0, - @ .priority = 0, - @ .baseTile = 0x0000 - @ } - .4byte 0x000025e6 - @ { - @ .bg = 2, - @ .charBaseIndex = 1, - @ .mapBaseIndex = 30, - @ .screenSize = 2, - @ .paletteMode = 0, - @ .priority = 2, - @ .baseTile = 0x0000 - @ } - .4byte 0x000016c9 - @ { - @ .bg = 1, - @ .charBaseIndex = 2, - @ .mapBaseIndex = 12, - @ .screenSize = 3, - @ .paletteMode = 0, - @ .priority = 1, - @ .baseTile = 0x0000 - @ } - .4byte 0x000031df - @ { - @ .bg = 3, - @ .charBaseIndex = 3, - @ .mapBaseIndex = 29, - @ .screenSize = 0, - @ .paletteMode = 0, - @ .priority = 3, - @ .baseTile = 0x0000 - @ } - -gUnknown_846D8E4:: @ 846D8E4 - .byte 0, 19, 0, 6, 2, 2 - .2byte 0x0013 - .byte 0, 8, 0, 6, 2, 2 - .2byte 0x001f - .byte 255, 0, 0, 0, 0, 0 - .2byte 0x0000 - -gUnknown_846D8FC:: @ 846D8FC - .4byte 0, sub_8149DC8 - .4byte 1, sub_8149F64 - .4byte 2, sub_8149FD0 - .4byte 3, sub_814A03C - .4byte 4, sub_814A0C8 - .4byte 5, sub_814A174 - .4byte 6, sub_814A218 - .4byte 7, sub_814A264 - .4byte 9, sub_814A3AC - .4byte 8, sub_814A308 - -gUnknown_846D94C:: @ 846D94C - .string "IES$" - -gUnknown_846D950:: @ 846D950 - .byte 0x00, 0x02, 0x03 - -gUnknown_846D953:: @ 846D953 - .byte 0x02, 0x02, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 - -gUnknown_846D960:: @ 846D960 - obj_tiles gUnknown_8479688, 0, 800 - -gUnknown_846D968:: @ 846D968 - obj_pal gUnknown_8479668, 800 - -gUnknown_846D970:: - .2byte 0x0006, 0x0008, 0x0010, 0x0008 - -gUnknown_846D978:: - .2byte 0x0006, 0x0008, 0x000b, 0x0006, 0x0010, 0x0008 - -gUnknown_846D984:: - .2byte 0x0002, 0x0006, 0x0006, 0x0008, 0x0010, 0x0008, 0x0014, 0x0006 - -gUnknown_846D994:: - .2byte 0x0002, 0x0006, 0x0006, 0x0008, 0x000b, 0x0006, 0x0010, 0x0008, 0x0014, 0x0006 - -gUnknown_846D9A8:: @ 846D9A8 - .4byte gUnknown_846D970 - .4byte gUnknown_846D978 - .4byte gUnknown_846D984 - .4byte gUnknown_846D994 - -gUnknown_846D9B8:: - .2byte 0x0058, 0x0098 - -gUnknown_846D9BC:: - .2byte 0x0058, 0x0078, 0x0098 - -gUnknown_846D9C2:: - .2byte 0x0038, 0x0058, 0x0098, 0x00b8 - -gUnknown_846D9CA:: - .2byte 0x0038, 0x0058, 0x0078, 0x0098, 0x00b8 - -gUnknown_846D9D4:: @ 846D9D4 - .4byte gUnknown_846D9B8 - .4byte gUnknown_846D9BC - .4byte gUnknown_846D9C2 - .4byte gUnknown_846D9CA - -gUnknown_846D9E4:: @ gbapal - .incbin "graphics/link_games/unk_846D9E4.gbapal" - -gUnknown_846DA04:: @ gbapal - .incbin "graphics/link_games/unk_846DA04.gbapal" - -gUnknown_846DA24:: @ 4bpp.lz - .incbin "graphics/link_games/unk_846DA24.4bpp.lz" - -gUnknown_846DB44:: @ 4bpp.lz - .incbin "graphics/link_games/unk_846DB44.4bpp.lz" - -gUnknown_846DD18:: @ 4bpp.lz - .incbin "graphics/link_games/unk_846DD18.4bpp.lz" - -gUnknown_846DE48:: @ 4bpp.lz - .incbin "graphics/link_games/unk_846DE48.4bpp.lz" - -gUnknown_846DF44:: @ 4bpp.lz - .incbin "graphics/link_games/unk_846DF44.4bpp.lz" - -gUnknown_846E0B0:: @ 846E0B0 - obj_tiles gUnknown_846DA24, 0x0600, 5 - obj_tiles gUnknown_846DB44, 0x0c00, 6 - obj_tiles gUnknown_846DD18, 0x0600, 7 - obj_tiles gUnknown_846DE48, 0x0600, 8 - obj_tiles gUnknown_846DF44, 0x0200, 10 - -gUnknown_846E0D8:: @ 846E0D8 - obj_pal gUnknown_846D9E4, 5 - obj_pal gUnknown_846DA04, 6 - -gUnknown_846E0E8:: @ 846E0E8 - spr_template 0, 0, gUnknown_846E170, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_846E100:: @ 846E100 - .2byte 0x0060, 0x0060, 0x0060, 0x0072, 0x0078, 0x0078, 0x0078, 0x0072, 0x0060, 0x0060, 0x0046, 0x0050, 0x0060, 0x0072, 0x0078, 0x0080 - .2byte 0x0078, 0x0072, 0x0060, 0x0050, 0x0032, 0x0048, 0x0060, 0x0072, 0x0080, 0x0088, 0x0080, 0x0072, 0x0060, 0x0048, 0x002a, 0x0048 - .2byte 0x0060, 0x0072, 0x0080, 0x0088, 0x0080, 0x0072, 0x0060, 0x0048 - -gUnknown_846E150:: @ 846E150 - .2byte 0x0010, 0x0028, 0x0048, 0x0068, 0x0088, 0x00a8, 0x00c8, 0x00e0 - -gUnknown_846E160:: @ 846E160 - .4byte gUnknown_846E220 - .4byte gUnknown_846E238 - .4byte gUnknown_846E250 - .4byte gUnknown_846E268 - -gUnknown_846E170:: - .4byte 0xc0000000, 0x00000800 - -gUnknown_846E178:: - .4byte 0x80008000, 0x00000800 - -gUnknown_846E180:: - .4byte 0x80000000, 0x00000800 - -gUnknown_846E188:: - .4byte 0x80004000, 0x00000800 - -gUnknown_846E190:: - obj_image_anim_frame 0x0000, 1 - obj_image_anim_end - -gUnknown_846E198:: - obj_image_anim_frame 0x0008, 1 - obj_image_anim_end - -gUnknown_846E1A0:: - obj_image_anim_frame 0x0010, 1 - obj_image_anim_end - -gUnknown_846E1A8:: - obj_image_anim_frame 0x0018, 1 - obj_image_anim_end - -gUnknown_846E1B0:: - obj_image_anim_frame 0x0020, 1 - obj_image_anim_end - -gUnknown_846E1B8:: - obj_image_anim_frame 0x0028, 1 - obj_image_anim_end - -gUnknown_846E1C0:: - obj_image_anim_frame 0x0000, 1 - obj_image_anim_end - -gUnknown_846E1C8:: - obj_image_anim_frame 0x0010, 1 - obj_image_anim_end - -gUnknown_846E1D0:: - obj_image_anim_frame 0x0020, 1 - obj_image_anim_end - -gUnknown_846E1D8:: - obj_image_anim_frame 0x0030, 1 - obj_image_anim_end - -gUnknown_846E1E0:: - obj_image_anim_frame 0x0040, 1 - obj_image_anim_end - -gUnknown_846E1E8:: - obj_image_anim_frame 0x0050, 1 - obj_image_anim_end - -gUnknown_846E1F0:: - .4byte gUnknown_846E190 - .4byte gUnknown_846E198 - .4byte gUnknown_846E1A0 - .4byte gUnknown_846E1A8 - .4byte gUnknown_846E1B0 - .4byte gUnknown_846E1B8 - -gUnknown_846E208:: - .4byte gUnknown_846E1C0 - .4byte gUnknown_846E1C8 - .4byte gUnknown_846E1D0 - .4byte gUnknown_846E1D8 - .4byte gUnknown_846E1E0 - .4byte gUnknown_846E1E8 - -gUnknown_846E220:: - spr_template 5, 5, gUnknown_846E178, gUnknown_846E1F0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_846E238:: - spr_template 6, 5, gUnknown_846E180, gUnknown_846E208, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_846E250:: - spr_template 7, 5, gUnknown_846E188, gUnknown_846E1F0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_846E268:: - spr_template 8, 5, gUnknown_846E188, gUnknown_846E1F0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_846E280:: - .4byte 0x40000000, 0x00000400 - -gUnknown_846E288:: - obj_image_anim_frame 0x0000, 0 - obj_image_anim_end - -gUnknown_846E290:: - obj_image_anim_frame 0x0000, 4 - obj_image_anim_frame 0x0004, 4 - obj_image_anim_frame 0x0008, 4 - obj_image_anim_frame 0x000c, 4 - obj_image_anim_loop 1 - obj_image_anim_frame 0x0000, 4 - obj_image_anim_end - -gUnknown_846E2AC:: - .4byte gUnknown_846E288 - .4byte gUnknown_846E290 - -gUnknown_846E2B4:: @ 846E2B4 - spr_template 10, 5, gUnknown_846E280, gUnknown_846E2AC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_846E2CC:: @ 846E2CC - .byte 0, 1, 1, 28, 9, 15 - .2byte 0x0001 - -gUnknown_846E2D4:: @ 846E2D4 - .4byte gUnknown_841CB78 - .4byte gUnknown_841CB88 - .4byte gUnknown_841CB94 diff --git a/data/pokemon_special_anim.s b/data/pokemon_special_anim.s index 16593e4d8..1c479d0c0 100644 --- a/data/pokemon_special_anim.s +++ b/data/pokemon_special_anim.s @@ -1,4 +1,4 @@ -#include "constants/region_map.h" +#include "constants/region_map_sections.h" #include "constants/flags.h" #include "constants/moves.h" .include "asm/macros.inc" diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc index c75ebdcfd..01b0d9b34 100644 --- a/data/scripts/cable_club.inc +++ b/data/scripts/cable_club.inc @@ -19,7 +19,7 @@ CableClub_EventScript_MysteryGiftMan:: @ 81BB1D2 execram @ Unused -EventScript_1BB1E4:: @ 81BB1E4 +EventScript_MysteryGiftThankYou:: @ 81BB1E4 msgbox Text_ThankYouForAccessingMysteryGift, MSGBOX_NPC end @@ -288,7 +288,7 @@ CableClub_EventScript_TryEnterColosseum:: @ 81BB54C textcolor 3 special TryBattleLinkup waitstate - call EventScript_1A6675 + call EventScript_RestorePrevTextColor compare VAR_RESULT, 1 goto_if_eq CableClub_EventScript_EnterColosseum compare VAR_RESULT, 2 @@ -395,7 +395,7 @@ CableClub_EventScript_TradeCenter:: @ 81BB6AB textcolor 3 special TryTradeLinkup waitstate - call EventScript_1A6675 + call EventScript_RestorePrevTextColor compare VAR_RESULT, 1 goto_if_eq CableClub_EventScript_EnterTradeCenter compare VAR_RESULT, 2 @@ -446,7 +446,7 @@ CableClub_EventScript_CheckPartyTradeRequirements:: @ 81BB79C specialvar VAR_RESULT, CalculatePlayerPartyCount compare VAR_RESULT, 2 goto_if_lt CableClub_EventScript_NeedTwoMonsToTrade - specialvar VAR_RESULT, GetNameOfEnigmaBerryInPlayerParty + specialvar VAR_RESULT, DoesPartyHaveEnigmaBerry compare VAR_RESULT, TRUE goto_if_eq CableClub_EventScript_CantTradeEnigmaBerry setvar VAR_RESULT, TRUE @@ -601,7 +601,7 @@ CableClub_EventScript_ShowBattleRecords:: @ 81BB8A7 lockall fadescreen FADE_TO_BLACK setvar VAR_0x8004, 0 - special Special_BattleRecords + special ShowBattleRecords waitstate releaseall end @@ -760,7 +760,7 @@ TradeCenter_TerminateLink:: @ 81BB9F0 textcolor 3 messageautoscroll Text_TerminateLinkConfirmation waitmessage - special sub_8081770 + special ExitLinkRoom end CableClub_EventScript_DoLinkRoomExit:: @ 81BB9FC @@ -775,7 +775,7 @@ CableClub_EventScript_UnionRoomAttendant:: @ 81BBA04 lock faceplayer goto_if_unset FLAG_SYS_POKEDEX_GET, CableClub_EventScript_WirelessClubAdjustements - specialvar VAR_RESULT, Special_BadEggInParty + specialvar VAR_RESULT, IsBadEggInParty compare VAR_RESULT, TRUE goto_if_eq CableClub_EventScript_AbortLinkPlayerHasBadEgg copyvar VAR_0x8007, VAR_LAST_TALKED @@ -842,7 +842,7 @@ CableClub_EventScript_CheckPartyUnionRoomRequirements:: @ 81BBB1E specialvar VAR_RESULT, CountPartyNonEggMons compare VAR_RESULT, 2 goto_if_lt CableClub_EventScript_NeedTwoMonsForUnionRoom - specialvar VAR_RESULT, GetNameOfEnigmaBerryInPlayerParty + specialvar VAR_RESULT, DoesPartyHaveEnigmaBerry compare VAR_RESULT, TRUE goto_if_eq CableClub_EventScript_NoEnigmaBerryInUnionRoom setvar VAR_RESULT, TRUE @@ -885,7 +885,7 @@ CableClub_EventScript_DirectCornerAttendant:: @ 81BBB9C lock faceplayer goto_if_unset FLAG_SYS_POKEDEX_GET, CableClub_EventScript_WirelessClubAdjustements - specialvar VAR_RESULT, Special_BadEggInParty + specialvar VAR_RESULT, IsBadEggInParty compare VAR_RESULT, TRUE goto_if_eq CableClub_EventScript_AbortLinkPlayerHasBadEgg specialvar VAR_RESULT, IsWirelessAdapterConnected @@ -1001,7 +1001,7 @@ CableClub_EventScript_ChooseLinkLeaderFrom2:: @ 81BBDBC textcolor 3 message CableClub_Text_ChooseGroupLeaderOfTwo waitmessage - call EventScript_1A6675 + call EventScript_RestorePrevTextColor multichoice 13, 6, MULTICHOICE_JOIN_OR_LEAD, FALSE switch VAR_RESULT case 0, CableClub_EventScript_TryJoinGroup2Players @@ -1036,7 +1036,7 @@ CableClub_EventScript_ChooseLinkLeaderFrom4:: @ 81BBE50 textcolor 3 message CableClub_Text_ChooseGroupLeaderOfFour waitmessage - call EventScript_1A6675 + call EventScript_RestorePrevTextColor multichoice 13, 6, MULTICHOICE_JOIN_OR_LEAD, FALSE switch VAR_RESULT case 0, CableClub_EventScript_TryJoinGroup4Players @@ -1071,7 +1071,7 @@ CableClub_EventScript_ChooseLinkLeader:: @ 81BBEE4 textcolor 3 message CableClub_Text_ChooseGroupLeader waitmessage - call EventScript_1A6675 + call EventScript_RestorePrevTextColor multichoice 13, 6, MULTICHOICE_JOIN_OR_LEAD, FALSE switch VAR_RESULT case 0, CableClub_EventScript_TryJoinGroupXPlayers @@ -1149,7 +1149,7 @@ CableClub_EventScript_81BBFD8:: @ 81BBFD8 goto_if_eq CableClub_EventScript_AdapterNotConnected special HelpSystem_Disable fadescreen FADE_TO_BLACK - special sub_814F1D4 + special ShowWirelessCommunicationScreen waitstate msgbox CableClub_Text_ParticipantsStepUpToCounter special HelpSystem_Enable @@ -1162,27 +1162,27 @@ CableClub_EventScript_AdapterNotConnected:: @ 81BC016 end CableClub_EventScript_OpenUnionRoomBarrier:: @ 81BC020 - setmetatile 5, 3, 709, 0 + setmetatile 5, 3, METATILE_PokemonCenter_Floor_ShadeLeft, 0 return CableClub_EventScript_CloseUnionRoomBarrier:: @ 81BC02A - setmetatile 5, 3, 761, 1 + setmetatile 5, 3, METATILE_PokemonCenter_CounterBarrier, 1 return CableClub_EventScript_OpenDirectCornerBarrier:: @ 81BC034 - setmetatile 9, 3, 709, 0 + setmetatile 9, 3, METATILE_PokemonCenter_Floor_ShadeLeft, 0 return CableClub_EventScript_CloseDirectCornerBarrier:: @ 81BC03E - setmetatile 9, 3, 761, 1 + setmetatile 9, 3, METATILE_PokemonCenter_CounterBarrier, 1 return CableClub_EventScript_OpenGameCornerBarrier:: @ 81BC048 - setmetatile 5, 3, 737, 0 + setmetatile 5, 3, METATILE_GameCorner_CheckeredFloor_ShadeLeft, 0 return CableClub_EventScript_CloseGameCornerBarrier:: @ 81BC052 - setmetatile 5, 3, 759, 1 + setmetatile 5, 3, METATILE_GameCorner_CounterBarrier, 1 return CableClub_OnResume:: @ 81BC05C @@ -1281,7 +1281,7 @@ CableClub_EventScript_ChooseLinkLeaderMinigame:: @ 81BC1CE textcolor 3 message CableClub_Text_ChooseGroupLeader waitmessage - call EventScript_1A6675 + call EventScript_RestorePrevTextColor multichoice 13, 6, MULTICHOICE_JOIN_OR_LEAD, FALSE switch VAR_RESULT case 0, CableClub_EventScript_TryJoinMinigameLinkGroup diff --git a/data/scripts/cave_of_origin.inc b/data/scripts/cave_of_origin.inc new file mode 100644 index 000000000..88e402ac3 --- /dev/null +++ b/data/scripts/cave_of_origin.inc @@ -0,0 +1,36 @@ +@ All unused / leftover scripts from RS +CaveOfOrigin_EventScript_Shake1:: @ 81A7493 + lockall + setvar VAR_TEMP_1, 1 + goto CaveOfOrigin_EventScript_Shake + end + +CaveOfOrigin_EventScript_Shake2:: @ 81A749F + lockall + setvar VAR_TEMP_2, 1 + goto CaveOfOrigin_EventScript_Shake + end + +CaveOfOrigin_EventScript_Shake3:: @ 81A74AB + lockall + setvar VAR_TEMP_3, 1 + goto CaveOfOrigin_EventScript_Shake + end + +CaveOfOrigin_EventScript_Shake:: @ 81A74B7 + setvar VAR_0x8004, 1 + setvar VAR_0x8005, 1 + setvar VAR_0x8006, 8 + setvar VAR_0x8007, 5 + special ShakeScreen + waitstate + releaseall + end + +CaveOfOrigin_EventScript_DisableShakes:: @ 81A74D1 + setvar VAR_TEMP_1, 1 + setvar VAR_TEMP_2, 1 + setvar VAR_TEMP_3, 1 + setvar VAR_TEMP_4, 1 + setvar VAR_TEMP_5, 1 + return diff --git a/data/scripts/day_care.inc b/data/scripts/day_care.inc index 8e3318c35..59b65332b 100644 --- a/data/scripts/day_care.inc +++ b/data/scripts/day_care.inc @@ -102,7 +102,7 @@ Route5_PokemonDayCare_EventScript_RetrieveMon:: @ 81BF4EA waitse playmoncry VAR_RESULT, 0 msgbox Route5_PokemonDayCare_Text_PlayerGotMonBack - call EventScript_1A6675 + call EventScript_RestorePrevTextColor waitmoncry goto Route5_PokemonDayCare_EventScript_CloseMoneyBox end diff --git a/data/scripts/fame_checker.inc b/data/scripts/fame_checker.inc index 36383bfb8..76b5d5c81 100644 --- a/data/scripts/fame_checker.inc +++ b/data/scripts/fame_checker.inc @@ -8,7 +8,7 @@ ViridianCity_House2_EventScript_PokemonJournal:: @ 81ACD65 release end -EventScript_1ACD8D:: @ 81ACD8D +EventScript_PokemonJournalUnused1:: @ 81ACD8D lock faceplayer famechecker FAMECHECKER_DAISY, 1 @@ -18,7 +18,7 @@ EventScript_1ACD8D:: @ 81ACD8D release end -EventScript_1ACDB5:: @ 81ACDB5 +EventScript_PokemonJournalUnused2:: @ 81ACDB5 lock faceplayer famechecker FAMECHECKER_DAISY, 4 @@ -27,27 +27,27 @@ EventScript_1ACDB5:: @ 81ACDB5 release end -FourIsland_PokemonCenter_1F_EventScript_1ACDD0:: @ 81ACDD0 +FourIsland_PokemonCenter_1F_EventScript_PokemonJournal:: @ 81ACDD0 lockall famechecker FAMECHECKER_DAISY, 5 textcolor 3 - msgbox gUnknown_81B1B3D + msgbox PokemonJournal_Text_SpecialFeatureDaisyOak releaseall end -Route4_EventScript_1ACDEA:: @ 81ACDEA +Route4_EventScript_Boy:: @ 81ACDEA lock faceplayer famechecker FAMECHECKER_BROCK, 3 - msgbox Text_183D26 + msgbox Route4_Text_PeopleLikeAndRespectBrock release end -MtMoon_1F_EventScript_1ACE03:: @ 81ACE03 +MtMoon_1F_EventScript_BaldingMan:: @ 81ACE03 lock faceplayer famechecker FAMECHECKER_BROCK, 4 - msgbox Text_172B00 + msgbox MtMoon_1F_Text_BrockHelpsExcavateFossils release end @@ -59,19 +59,19 @@ PewterCity_Museum_1F_EventScript_PokemonJournalBrock:: @ 81ACE1C releaseall end -Route20_EventScript_1ACE36:: @ 81ACE36 +Route20_EventScript_Camper:: @ 81ACE36 lock faceplayer famechecker FAMECHECKER_MISTY, 3 - msgbox Text_1882E1 + msgbox Route20_Text_MistyTrainsHere release end -Route25_EventScript_1ACE4F:: @ 81ACE4F +Route25_EventScript_Beauty:: @ 81ACE4F lock faceplayer famechecker FAMECHECKER_MISTY, 4 - msgbox Text_189569 + msgbox Route25_Text_MistyHighHopesAboutThisPlace release end @@ -92,12 +92,12 @@ VermilionCity_PokemonCenter_1F_EventScript_PokemonJournalLtSurge:: @ 81ACE83 releaseall end -CeladonCity_Condominiums_2F_EventScript_1ACE9D:: @ 81ACE9D +CeladonCity_Condominiums_2F_EventScript_PokemonJournalErika:: @ 81ACE9D lock faceplayer famechecker FAMECHECKER_ERIKA, 5 textcolor 3 - msgbox gUnknown_81B161B + msgbox PokemonJournal_Text_SpecialFeatureErika release end @@ -118,12 +118,12 @@ SafariZone_North_RestHouse_EventScript_BaldingMan:: @ 81ACED3 release end -SaffronCity_PokemonCenter_1F_EventScript_1ACEEC:: @ 81ACEEC +SaffronCity_PokemonCenter_1F_EventScript_PokemonJournalSabrina:: @ 81ACEEC lock faceplayer famechecker FAMECHECKER_SABRINA, 4 textcolor 3 - msgbox gUnknown_81B1753 + msgbox PokemonJournal_Text_SpecialFeatureSabrina release end @@ -135,75 +135,75 @@ CinnabarIsland_Gym_EventScript_BlaineFujiPhoto:: @ 81ACF07 releaseall end -FiveIsland_ResortGorgeous_House_EventScript_1ACF2C:: @ 81ACF2C +FiveIsland_ResortGorgeous_House_EventScript_PokemonJournal:: @ 81ACF2C lockall famechecker FAMECHECKER_BLAINE, 5 textcolor 3 - msgbox gUnknown_81B17E9 + msgbox PokemonJournal_Text_SpecialFeatureBlaine releaseall end -FourIsland_Mart_EventScript_1ACF46:: @ 81ACF46 +FourIsland_Mart_EventScript_OldMan:: @ 81ACF46 lock faceplayer famechecker FAMECHECKER_LORELEI, 2 - msgbox Text_1A3A60 + msgbox FourIsland_Mart_Text_LoreleiGrewUpOnThisIsland release end -FiveIsland_PokemonCenter_1F_EventScript_1ACF5F:: @ 81ACF5F +FiveIsland_PokemonCenter_1F_EventScript_PokemonJournal:: @ 81ACF5F lock faceplayer famechecker FAMECHECKER_LORELEI, 3 textcolor 3 - msgbox gUnknown_81B187F + msgbox PokemonJournal_Text_SpecialFeatureLorelei release end -SaffronCity_PokemonTrainerFanClub_EventScript_1ACF7A:: @ 81ACF7A +SaffronCity_PokemonTrainerFanClub_EventScript_PokemonJournalBruno:: @ 81ACF7A lock faceplayer famechecker FAMECHECKER_BRUNO, 2 textcolor 3 - msgbox gUnknown_81B1913 + msgbox PokemonJournal_Text_SpecialFeatureBruno release end -SevenIsland_SevaultCanyon_EventScript_1ACF95:: @ 81ACF95 +SevenIsland_SevaultCanyon_EventScript_BlackBelt:: @ 81ACF95 lock faceplayer famechecker FAMECHECKER_BRUNO, 5 - msgbox Text_18CF4D + msgbox SevenIsland_SevaultCanyon_Text_BrunoTrainedWithBrawly release end -IndigoPlateau_PokemonCenter_1F_EventScript_1ACFAE:: @ 81ACFAE +IndigoPlateau_PokemonCenter_1F_EventScript_BlackBelt:: @ 81ACFAE lock faceplayer famechecker FAMECHECKER_AGATHA, 1 famechecker FAMECHECKER_AGATHA, 2 - msgbox Text_19A9E7 + msgbox IndigoPlateau_PokemonCenter_1F_Text_AgathaWhuppedUs release end -SevenIsland_PokemonCenter_1F_EventScript_1ACFD4:: @ 81ACFD4 +SevenIsland_PokemonCenter_1F_EventScript_PokemonJournal:: @ 81ACFD4 lock faceplayer famechecker FAMECHECKER_AGATHA, 3 textcolor 3 - msgbox gUnknown_81B19A8 + msgbox PokemonJournal_Text_SpecialFeatureAgatha release end -SixIsland_Mart_EventScript_1ACFEF:: @ 81ACFEF +SixIsland_Mart_EventScript_OldWoman:: @ 81ACFEF lock faceplayer famechecker FAMECHECKER_AGATHA, 5 - msgbox Text_1A41CA + msgbox SixIsland_Mart_Text_AgathaOldestEverEliteFourMember release end -EventScript_1AD008:: @ 81AD008 +EventScript_LanceUnused:: @ 81AD008 lock faceplayer famechecker FAMECHECKER_LANCE, 0 @@ -211,44 +211,44 @@ EventScript_1AD008:: @ 81AD008 release end -EventScript_1AD021:: @ 81AD021 +SaffronCity_EventScript_BattleGirlUnused:: @ 81AD021 lock faceplayer famechecker FAMECHECKER_LANCE, 1 - msgbox Text_181569 + msgbox SaffronCity_Text_HowCanClubNotRecognizeLance release end -SaffronCity_EventScript_1AD03A:: @ 81AD03A +SaffronCity_EventScript_BattleGirl:: @ 81AD03A lock faceplayer famechecker FAMECHECKER_LANCE, 2 - msgbox Text_181569 + msgbox SaffronCity_Text_HowCanClubNotRecognizeLance release end -CeladonCity_DepartmentStore_2F_EventScript_1AD053:: @ 81AD053 +CeladonCity_DepartmentStore_2F_EventScript_Woman:: @ 81AD053 lock faceplayer famechecker FAMECHECKER_LANCE, 3 - msgbox Text_19566B + msgbox CeladonCity_DepartmentStore_2F_Text_LanceComesToBuyCapes release end -IndigoPlateau_PokemonCenter_1F_EventScript_1AD06C:: @ 81AD06C +IndigoPlateau_PokemonCenter_1F_EventScript_PokemonJournal:: @ 81AD06C lock faceplayer famechecker FAMECHECKER_LANCE, 4 textcolor 3 - msgbox gUnknown_81B1A31 + msgbox PokemonJournal_Text_SpecialFeatureLance release end -IndigoPlateau_PokemonCenter_1F_EventScript_1AD087:: @ 81AD087 +IndigoPlateau_PokemonCenter_1F_EventScript_CooltrainerM:: @ 81AD087 lock faceplayer famechecker FAMECHECKER_LANCE, 5 - msgbox Text_19AB16 + msgbox IndigoPlateau_PokemonCenter_1F_Text_LancesCousinGymLeaderFarAway release end @@ -269,18 +269,18 @@ CinnabarIsland_PokemonCenter_1F_EventScript_PokemonJournalMrFuji:: @ 81AD0B9 release end -SilphCo_5F_EventScript_1AD0D4:: @ 81AD0D4 +SilphCo_5F_EventScript_Scientist:: @ 81AD0D4 lock faceplayer famechecker FAMECHECKER_GIOVANNI, 1 - msgbox Text_175E99 + msgbox SilphCo_5F_Text_RocketBossLookingForStrongMons release end -SilphCo_8F_EventScript_1AD0ED:: @ 81AD0ED +SilphCo_8F_EventScript_Scientist:: @ 81AD0ED lock faceplayer famechecker FAMECHECKER_GIOVANNI, 2 - msgbox Text_176ACB + msgbox SilphCo_8F_Text_ToRocketBossMonsAreTools release end diff --git a/data/scripts/field_moves.inc b/data/scripts/field_moves.inc index 73ee4d947..282071755 100644 --- a/data/scripts/field_moves.inc +++ b/data/scripts/field_moves.inc @@ -1,4 +1,4 @@ -EventScript_InteractWithCutTreeObject:: @ 81BDF13 +EventScript_CutTree:: @ 81BDF13 goto_if_questlog EventScript_ReleaseEnd lockall goto_if_unset FLAG_BADGE02_GET, EventScript_CantCutTree @@ -15,24 +15,24 @@ EventScript_InteractWithCutTreeObject:: @ 81BDF13 closemessage dofieldeffect FLDEFF_USE_CUT_ON_TREE waitstate - goto EventScript_CutTree + goto EventScript_CutTreeDown end EventScript_FldEffCut:: @ 81BDF6B lockall dofieldeffect FLDEFF_USE_CUT_ON_TREE waitstate - goto EventScript_CutTree + goto EventScript_CutTreeDown end -EventScript_CutTree:: @ 81BDF76 - applymovement VAR_LAST_TALKED, Movement_CutTree +EventScript_CutTreeDown:: @ 81BDF76 + applymovement VAR_LAST_TALKED, Movement_CutTreeDown waitmovement 0 removeobject VAR_LAST_TALKED releaseall end -Movement_CutTree:: @ 81BDF85 +Movement_CutTreeDown:: @ 81BDF85 cut_tree step_end @@ -58,7 +58,7 @@ Text_TreeCanBeCutDown:: @ 81BDFE3 .string "This tree looks like it can be CUT\n" .string "down!$" -EventScript_InteractWithRockSmashRockObject:: @ 81BE00C +EventScript_RockSmash:: @ 81BE00C goto_if_questlog EventScript_ReleaseEnd lockall goto_if_unset FLAG_BADGE06_GET, EventScript_CantSmashRock @@ -89,7 +89,7 @@ EventScript_UseRockSmash:: @ 81BE06F applymovement VAR_LAST_TALKED, Movement_BreakRock waitmovement 0 removeobject VAR_LAST_TALKED - special ScrSpecial_RockSmashWildEncounter + special RockSmashWildEncounter compare VAR_RESULT, FALSE goto_if_eq EventScript_RockSmashNoEncounter waitstate @@ -121,7 +121,7 @@ Text_MonMaySmashRock:: @ 81BE0E2 .string "It's a rugged rock, but a POKéMON\n" .string "may be able to smash it.$" -EventScript_InteractWithStrengthBoulderObject:: @ 81BE11D +EventScript_StrengthBoulder:: @ 81BE11D goto_if_questlog EventScript_ReleaseEnd lockall goto_if_unset FLAG_BADGE04_GET, EventScript_CantMoveBoulder @@ -182,7 +182,7 @@ Text_StrengthMadeMovingBouldersPossible:: @ 81BE284 .string "STRENGTH made it possible to move\n" .string "boulders around.$" -EventScript_InteractWithWaterfall:: @ 81BE2B7 +EventScript_Waterfall:: @ 81BE2B7 goto_if_questlog EventScript_ReleaseEnd lockall checkpartymove MOVE_WATERFALL @@ -197,7 +197,7 @@ EventScript_InteractWithWaterfall:: @ 81BE2B7 dofieldeffect FLDEFF_USE_WATERFALL goto EventScript_EndWaterfall -EventScript_81BE2FF:: @ 81BE2FF +EventScript_CantUseWaterfall:: @ 81BE2FF lockall EventScript_WaterCrashingDown: msgbox Text_WallOfWaterCrashingDown @@ -217,7 +217,7 @@ Text_MonUsedWaterfall:: @ 81BE378 .string "{STR_VAR_1} used WATERFALL.$" @ Unused leftover from R/S -EventScript_InteractWithDeepWater:: @ 81BE38B +EventScript_DeepWater:: @ 81BE38B lockall checkpartymove MOVE_DIVE compare VAR_RESULT, PARTY_SIZE diff --git a/data/scripts/hall_of_fame.inc b/data/scripts/hall_of_fame.inc new file mode 100644 index 000000000..5657ff2dd --- /dev/null +++ b/data/scripts/hall_of_fame.inc @@ -0,0 +1,38 @@ +EventScript_SetDefeatedEliteFourFlagsVars:: @ 81A651A + clearflag FLAG_HIDE_POSTGAME_GOSSIPERS + call EventScript_ResetEliteFour + special Script_UpdateTrainerFanClubGameClear + specialvar VAR_RESULT, IsNationalPokedexEnabled + compare VAR_RESULT, FALSE + call_if_eq EventScript_SetReadyTryGiveNationalDexScene + call EventScript_ResetLegendaries + return + +EventScript_SetReadyTryGiveNationalDexScene:: @ 81A653B + setvar VAR_MAP_SCENE_PALLET_TOWN_OAK, 2 + return + +EventScript_ResetLegendaries:: @ 81A6541 + clearflag FLAG_LUGIA_FLEW_AWAY + clearflag FLAG_HO_OH_FLEW_AWAY + clearflag FLAG_DEOXYS_FLEW_AWAY + return + +EventScript_ResetEliteFourEnd:: @ 81A654B + call EventScript_ResetEliteFour + end + +EventScript_ResetEliteFour:: @ 81A6551 + clearflag FLAG_DEFEATED_LORELEI + clearflag FLAG_DEFEATED_BRUNO + clearflag FLAG_DEFEATED_AGATHA + clearflag FLAG_DEFEATED_LANCE + clearflag FLAG_DEFEATED_CHAMP + cleartrainerflag TRAINER_CHAMPION_FIRST_SQUIRTLE + cleartrainerflag TRAINER_CHAMPION_FIRST_BULBASAUR + cleartrainerflag TRAINER_CHAMPION_FIRST_CHARMANDER + cleartrainerflag TRAINER_CHAMPION_REMATCH_SQUIRTLE + cleartrainerflag TRAINER_CHAMPION_REMATCH_BULBASAUR + cleartrainerflag TRAINER_CHAMPION_REMATCH_CHARMANDER + setvar VAR_MAP_SCENE_POKEMON_LEAGUE, 0 + return diff --git a/data/scripts/itemfinder.inc b/data/scripts/itemfinder.inc new file mode 100644 index 000000000..6eabdc395 --- /dev/null +++ b/data/scripts/itemfinder.inc @@ -0,0 +1,27 @@ +EventScript_ItemfinderDigUpUnderfootItem:: @ 81A8D49 + lockall + textcolor 3 + waitse + call EventScript_TryPickUpHiddenItem + compare VAR_0x8007, TRUE + goto_if_eq EventScript_DigUpItemPutInPocket + compare VAR_0x8007, FALSE + goto_if_eq EventScript_DigUpItemBagIsFull + end + +EventScript_DigUpItemPutInPocket:: + message Text_DugUpItemFromGround + waitfanfare + waitmessage + delay 60 + msgbox Text_PutItemAway + special SetHiddenItemFlag + releaseall + end + +EventScript_DigUpItemBagIsFull:: + msgbox Text_DugUpItemFromGround + msgbox Text_TooBadBagFull + setvar VAR_RESULT, 0 + releaseall + end diff --git a/data/scripts/move_tutors.inc b/data/scripts/move_tutors.inc index 40fcd43db..46d4a7c52 100644 --- a/data/scripts/move_tutors.inc +++ b/data/scripts/move_tutors.inc @@ -455,7 +455,7 @@ TwoIsland_CapeBrink_House_EventScript_StarterTutor:: @ 81C4DEC goto_if_set FLAG_TEMP_2, CapeBrinkTutor_EventScript_MoveJustTaught getfirstpartymonname 0 msgbox Text_UltimateMoveThatMon - specialvar VAR_RESULT, Special_CapeBrinkGetMoveToTeachLeadPokemon + specialvar VAR_RESULT, CapeBrinkGetMoveToTeachLeadPokemon compare VAR_RESULT, FALSE goto_if_eq CapeBrinkTutor_EventScript_NoLeadStarter copyvar VAR_0x8009, VAR_0x8005 @@ -496,7 +496,7 @@ CapeBrinkTutor_EventScript_TaughtAllMoves:: @ 81C4EA1 CapeBrinkTutor_EventScript_TaughtMove:: @ 81C4EAB copyvar VAR_0x8005, VAR_0x8009 - specialvar VAR_RESULT, Special_HasLearnedAllMovesFromCapeBrinkTutor + specialvar VAR_RESULT, HasLearnedAllMovesFromCapeBrinkTutor compare VAR_RESULT, TRUE goto_if_eq CapeBrinkTutor_EventScript_LearnedAllMoves msgbox Text_TaughtMove @@ -560,7 +560,7 @@ EventScript_CanOnlyBeLearnedOnce:: @ 81C4F37 signmsg msgbox Text_MoveCanOnlyBeLearnedOnce, MSGBOX_YESNO normalmsg - call EventScript_1A6675 + call EventScript_RestorePrevTextColor return Movement_JumpInPlaceDown: @ 81C4F4C diff --git a/data/scripts/mystery_event_club.inc b/data/scripts/mystery_event_club.inc index d47a2d06c..5c4432714 100644 --- a/data/scripts/mystery_event_club.inc +++ b/data/scripts/mystery_event_club.inc @@ -45,7 +45,7 @@ EventScript_CancelGiveProfile: @ 81BEE9E EventScript_GaveProfile: @ 81BEEA8 setvar GAVE_PROFILE, TRUE setvar VAR_0x8004, 0 - special Special_BufferEasyChatMessage + special ShowEasyChatMessage waitmessage delay 80 msgbox Text_ProfileSaysSomethingAboutYou @@ -92,7 +92,7 @@ EventScript_DeclineGiveNewProfile: @ 81BEF35 EventScript_GaveSpecialProfile: @ 81BEF3F setvar GAVE_PROFILE, TRUE setvar VAR_0x8004, 0 - special Special_BufferEasyChatMessage + special ShowEasyChatMessage waitmessage delay 80 msgbox Text_HeardThatBefore @@ -100,8 +100,8 @@ EventScript_GaveSpecialProfile: @ 81BEF3F end EventScript_GiveProfile: @ 81BEF5A - setvar VAR_0x8004, 0 - call EventScript_1A6AC0 + setvar VAR_0x8004, EASY_CHAT_TYPE_PROFILE + call Common_ShowEasyChatScreen lock faceplayer compare VAR_0x8004, 0 diff --git a/data/scripts/obtain_item.inc b/data/scripts/obtain_item.inc index 3ada6109c..961be1971 100644 --- a/data/scripts/obtain_item.inc +++ b/data/scripts/obtain_item.inc @@ -1,18 +1,19 @@ -EventScript_1A666F:: @ 81A666F - copyvar VAR_MON_BOX_POS, VAR_MON_BOX_ID +@ Unused, handled by textcolor script cmd +EventScript_SaveTextColor:: @ 81A666F + copyvar VAR_PREV_TEXT_COLOR, VAR_TEXT_COLOR return -EventScript_1A6675:: @ 81A6675 - copyvar VAR_MON_BOX_ID, VAR_MON_BOX_POS +EventScript_RestorePrevTextColor:: @ 81A6675 + copyvar VAR_TEXT_COLOR, VAR_PREV_TEXT_COLOR return Std_ObtainItem:: @ 81A667B - copyvar VAR_MON_BOX_POS, VAR_MON_BOX_ID + copyvar VAR_PREV_TEXT_COLOR, VAR_TEXT_COLOR textcolor 3 additem VAR_0x8000, VAR_0x8001 copyvar VAR_0x8007, VAR_RESULT call EventScript_ObtainItemMessage - copyvar VAR_MON_BOX_ID, VAR_MON_BOX_POS + copyvar VAR_TEXT_COLOR, VAR_PREV_TEXT_COLOR return EventScript_ObtainItemMessage:: @ 81A6697 @@ -132,7 +133,7 @@ Std_FindItem:: @ 81A67B3 EventScript_PickUpItem:: @ 81A67EE removeobject VAR_LAST_TALKED additem VAR_0x8004, VAR_0x8005 - specialvar VAR_RESULT, Special_ItemIsTM_GetMoveName + specialvar VAR_RESULT, BufferTMHMMoveName copyvar VAR_0x8008, VAR_RESULT compare VAR_0x8008, TRUE call_if_eq EventScript_FoundTMHM @@ -186,7 +187,7 @@ EventScript_PickedUpHiddenItem:: waitfanfare waitmessage msgbox Text_PutItemAway - special Special_SetHiddenItemFlag + special SetHiddenItemFlag releaseall end @@ -214,7 +215,7 @@ EventScript_NoRoomForHiddenItem:: EventScript_TryPickUpHiddenCoins:: goto_if_unset FLAG_GOT_COIN_CASE, EventScript_NoCaseForHiddenCoins checkcoins VAR_RESULT - specialvar VAR_RESULT, Special_CheckAddCoins + specialvar VAR_RESULT, CheckAddCoins compare VAR_RESULT, FALSE goto_if_eq EventScript_HiddenCoinsButCaseIsFull addcoins VAR_0x8006 @@ -224,7 +225,7 @@ EventScript_TryPickUpHiddenCoins:: waitfanfare waitmessage msgbox Text_PutCoinsAwayInCoinCase - special Special_SetHiddenItemFlag + special SetHiddenItemFlag releaseall end diff --git a/data/scripts/pc.inc b/data/scripts/pc.inc index 6e266bdfc..0c71b9c76 100644 --- a/data/scripts/pc.inc +++ b/data/scripts/pc.inc @@ -2,24 +2,25 @@ EventScript_PC:: @ 81A6955 goto_if_questlog EventScript_ReleaseEnd lockall goto_if_set FLAG_SYS_PC_STORAGE_DISABLED, EventScript_PCDisabled - setvar VAR_0x8004, 27 - special Special_SetSomeVariable + setvar VAR_0x8004, HELPCONTEXT_PC + special Script_SetHelpContext setvar VAR_0x8004, 0 - special Special_AnimatePcTurnOn + special AnimatePcTurnOn playse SE_PC_ON msgbox Text_BootedUpPC goto EventScript_PCMainMenu end +@ For when the player first arrives on One Island EventScript_PCDisabled:: @ 81A698E - msgbox Text_UsualPCServicesUnavailable + msgbox OneIsland_PokemonCenter_1F_Text_UsualPCServicesUnavailable releaseall end EventScript_PCMainMenu:: @ 81A6998 message Text_AccessWhichPC waitmessage - special ScrSpecial_CreatePCMenu + special CreatePCMenu waitstate goto EventScript_ChoosePCMenu end @@ -49,8 +50,8 @@ EventScript_AccessPokemonStorage:: @ 81A6A05 msgbox Text_OpenedPkmnStorage special ShowPokemonStorageSystem waitstate - setvar VAR_0x8004, 27 - special Special_SetSomeVariable + setvar VAR_0x8004, HELPCONTEXT_PC + special Script_SetHelpContext goto EventScript_PCMainMenu end @@ -65,20 +66,20 @@ EventScript_AccessBillsPC:: @ 81A6A3D EventScript_TurnOffPC:: @ 81A6A46 setvar VAR_0x8004, 0 playse SE_PC_OFF - special Special_AnimatePcTurnOff - special sub_812B35C + special AnimatePcTurnOff + special SetHelpContextForMap releaseall end EventScript_AccessHallOfFame:: @ 81A6A56 goto_if_unset FLAG_SYS_GAME_CLEAR, EventScript_TurnOffPC playse SE_PC_LOGIN - setvar VAR_0x8004, 31 - special HelpSystem_BackupSomeVariable - special Special_SetSomeVariable + setvar VAR_0x8004, HELPCONTEXT_PC_MISC + special BackupHelpContext + special Script_SetHelpContext special HallOfFamePCBeginFade waitstate - special HelpSystem_RestoreSomeVariable + special RestoreHelpContext goto EventScript_ChoosePCMenu end @@ -90,7 +91,7 @@ EventScript_AccessProfOaksPC:: @ 81A6A7A compare VAR_RESULT, NO goto_if_eq EventScript_ExitOaksPC setflag FLAG_OAKS_RATING_IS_VIA_PC - call ProfOak_EventScript_RatePokedex + call PokedexRating_EventScript_Rate clearflag FLAG_OAKS_RATING_IS_VIA_PC goto EventScript_ExitOaksPC end diff --git a/data/scripts/pkmn_center_nurse.inc b/data/scripts/pkmn_center_nurse.inc index fddd3fd72..2d537c3af 100644 --- a/data/scripts/pkmn_center_nurse.inc +++ b/data/scripts/pkmn_center_nurse.inc @@ -29,7 +29,7 @@ EventScript_PkmnCenterNurse_TakeAndHealPkmn:: @ 81A65CE return EventScript_PkmnCenterNurse_CheckTrainerTowerAndUnionRoom:: @ 81A65EC - specialvar VAR_RESULT, Special_PlayerIsNotInTrainerTowerLobby + specialvar VAR_RESULT, IsPlayerNotInTrainerTowerLobby compare VAR_RESULT, FALSE goto_if_eq EventScript_PkmnCenterNurse_ReturnPkmn specialvar VAR_RESULT, BufferUnionRoomPlayerName diff --git a/data/scripts/pokedex_rating.inc b/data/scripts/pokedex_rating.inc index 4a3d39042..79f4ad84c 100644 --- a/data/scripts/pokedex_rating.inc +++ b/data/scripts/pokedex_rating.inc @@ -1,84 +1,84 @@ -ProfOak_EventScript_RatePokedexInPerson:: @ 81A737B +PokedexRating_EventScript_RateInPerson:: @ 81A737B goto_if_questlog EventScript_ReleaseEnd special sub_8112364 - call_if_set FLAG_OAK_SAW_DEX_COMPLETION, ProfOak_EventScript_DexCompleteIntro - call_if_unset FLAG_OAK_SAW_DEX_COMPLETION, ProfOak_EventScript_NormalIntro - call ProfOak_EventScript_RatePokedex + call_if_set FLAG_OAK_SAW_DEX_COMPLETION, PokedexRating_EventScript_DexCompleteIntro + call_if_unset FLAG_OAK_SAW_DEX_COMPLETION, PokedexRating_EventScript_NormalIntro + call PokedexRating_EventScript_Rate return -ProfOak_EventScript_DexCompleteIntro:: @ 81A73A4 - msgbox Text_LoveSeeingYourPokedex +PokedexRating_EventScript_DexCompleteIntro:: @ 81A73A4 + msgbox PokedexRating_Text_LoveSeeingYourPokedex return -ProfOak_EventScript_NormalIntro:: @ 81A73AD - msgbox Text_HowIsPokedexComingAlong +PokedexRating_EventScript_NormalIntro:: @ 81A73AD + msgbox PokedexRating_Text_HowIsPokedexComingAlong return -ProfOak_EventScript_ShowRatingMsg:: @ 81A73B6 +PokedexRating_EventScript_ShowRatingMsg:: @ 81A73B6 copyvar VAR_0x8004, VAR_0x8009 - special Special_GetProfOaksRatingMessage + special GetProfOaksRatingMessage waitmessage compare VAR_RESULT, FALSE - call_if_eq ProfOak_EventScript_RatingFanfare + call_if_eq PokedexRating_EventScript_NormalFanfare compare VAR_RESULT, TRUE - call_if_eq ProfOak_EventScript_DexCompleteFanfare + call_if_eq PokedexRating_EventScript_DexCompleteFanfare waitfanfare waitbuttonpress return -ProfOak_EventScript_RatingFanfare:: @ 81A73D8 +PokedexRating_EventScript_NormalFanfare:: @ 81A73D8 playfanfare MUS_FAN2 return -ProfOak_EventScript_DexCompleteFanfare:: @ 81A73DC +PokedexRating_EventScript_DexCompleteFanfare:: @ 81A73DC playfanfare MUS_FANFA5 return -ProfOak_EventScript_RatePokedex:: @ 81A73E0 - setvar VAR_0x8004, 31 - special HelpSystem_BackupSomeVariable - special Special_SetSomeVariable +PokedexRating_EventScript_Rate:: @ 81A73E0 + setvar VAR_0x8004, HELPCONTEXT_PC_MISC + special BackupHelpContext + special Script_SetHelpContext setvar VAR_0x8004, 0 - specialvar VAR_RESULT, Special_GetPokedexCount + specialvar VAR_RESULT, GetPokedexCount copyvar VAR_0x8008, VAR_0x8005 copyvar VAR_0x8009, VAR_0x8006 copyvar VAR_0x800A, VAR_RESULT getnumberstring 0, VAR_0x8008 @ Num Kanto Seen getnumberstring 1, VAR_0x8009 @ Num Kanto Caught - msgbox Text_YouveSeenXAndOwnedYMons - call_if_unset FLAG_OAKS_RATING_IS_VIA_PC, ProfOak_EventScript_SetTextColor - call ProfOak_EventScript_ShowRatingMsg + msgbox PokedexRating_Text_SeenXOwnedY + call_if_unset FLAG_OAKS_RATING_IS_VIA_PC, PokedexRating_EventScript_SetTextColor + call PokedexRating_EventScript_ShowRatingMsg compare VAR_0x800A, FALSE - goto_if_eq ProfOak_EventScript_EndRatePokedex @ National Dex not enabled + goto_if_eq PokedexRating_EventScript_EndRating @ National Dex not enabled setvar VAR_0x8004, 1 - specialvar VAR_RESULT, Special_GetPokedexCount + specialvar VAR_RESULT, GetPokedexCount copyvar VAR_0x8008, VAR_0x8005 copyvar VAR_0x8009, VAR_0x8006 getnumberstring 0, VAR_0x8008 @ Num National Seen getnumberstring 1, VAR_0x8009 @ Num National Caught - msgbox Text_AndNationalDexSeenXOwnedY + msgbox PokedexRating_Text_NationalDexSeenXOwnedY specialvar VAR_RESULT, HasAllMons compare VAR_RESULT, FALSE - goto_if_eq ProfOak_EventScript_DexIncomplete + goto_if_eq PokedexRating_EventScript_DexIncomplete compare VAR_RESULT, TRUE - goto_if_eq ProfOak_EventScript_DexComplete + goto_if_eq PokedexRating_EventScript_DexComplete end -ProfOak_EventScript_SetTextColor:: @ 81A746D +PokedexRating_EventScript_SetTextColor:: @ 81A746D textcolor 0 return -ProfOak_EventScript_DexIncomplete:: @ 81A7470 - msgbox Text_LookForwardToFilledNationalDex - goto ProfOak_EventScript_EndRatePokedex +PokedexRating_EventScript_DexIncomplete:: @ 81A7470 + msgbox PokedexRating_Text_LookForwardToFilledNationalDex + goto PokedexRating_EventScript_EndRating end -ProfOak_EventScript_DexComplete:: @ 81A747E +PokedexRating_EventScript_DexComplete:: @ 81A747E setflag FLAG_OAK_SAW_DEX_COMPLETION - msgbox Text_YouveCompletedDex - goto ProfOak_EventScript_EndRatePokedex + msgbox PokedexRating_Text_YouveCompletedDex + goto PokedexRating_EventScript_EndRating end -ProfOak_EventScript_EndRatePokedex:: @ 81A748F - special HelpSystem_RestoreSomeVariable +PokedexRating_EventScript_EndRating:: @ 81A748F + special RestoreHelpContext return diff --git a/data/scripts/pokemon_league.inc b/data/scripts/pokemon_league.inc new file mode 100644 index 000000000..65baba59a --- /dev/null +++ b/data/scripts/pokemon_league.inc @@ -0,0 +1,64 @@ +PokemonLeague_EventScript_OpenDoor:: @ 81A7506 + applymovement OBJ_EVENT_ID_PLAYER, Movement_Delay32 + waitmovement 0 + playse SE_DOOR + call PokemonLeague_EventScript_SetDoorOpen + special DrawWholeMapView + setflag FLAG_TEMP_4 + return + +PokemonLeague_EventScript_EnterRoom:: @ 81A751F + applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkUp5 + waitmovement 0 + setflag FLAG_TEMP_2 + playse SE_KI_GASYAN + call PokemonLeague_EventScript_CloseEntry + special DrawWholeMapView + return + +PokemonLeague_EventScript_SetDoorOpen:: @ 81A7538 + setmetatile 6, 1, METATILE_PokemonLeague_Door_Top_Open, 1 + setmetatile 6, 2, METATILE_PokemonLeague_Door_Mid_Open, 0 + return + +PokemonLeague_EventScript_PreventExit:: @ 81A754B + lockall + textcolor 0 + msgbox Text_VoiceRangOutDontRunAway + closemessage + applymovement OBJ_EVENT_ID_PLAYER, PokemonLeague_Movement_ForcePlayerIn + waitmovement 0 + releaseall + end + +PokemonLeague_EventScript_OpenDoorLance:: @ 81A7563 + applymovement OBJ_EVENT_ID_PLAYER, Movement_Delay32 + waitmovement 0 + playse SE_DOOR + setmetatile 6, 4, METATILE_PokemonLeague_Door_Top_Open, 1 + setmetatile 6, 5, METATILE_PokemonLeague_Door_Mid_Open, 0 + special DrawWholeMapView + setflag FLAG_TEMP_4 + return + +PokemonLeague_EventScript_SetDoorOpenLance:: @ 81A7589 + setmetatile 6, 4, METATILE_PokemonLeague_Door_Top_Open, 1 + setmetatile 6, 5, METATILE_PokemonLeague_Door_Mid_Open, 0 + return + +PokemonLeague_EventScript_CloseEntry:: @ 81A759C + setmetatile 5, 11, METATILE_PokemonLeague_Entry_TopLeft_Closed, 1 + setmetatile 6, 11, METATILE_PokemonLeague_Entry_TopMid_Closed, 1 + setmetatile 7, 11, METATILE_PokemonLeague_Entry_TopRight_Closed, 1 + setmetatile 5, 12, METATILE_PokemonLeague_Entry_BottomLeft_Closed, 1 + setmetatile 6, 12, METATILE_PokemonLeague_Entry_BottomMid_Closed, 1 + setmetatile 7, 12, METATILE_PokemonLeague_Entry_BottomRight_Closed, 1 + return + +PokemonLeague_Movement_ForcePlayerIn:: @ 81A75D3 + walk_up + step_end + +PokemonLeague_EventScript_DoLightingEffect:: @ 81A75D5 + special DoPokemonLeagueLightingEffect + return diff --git a/data/scripts/questionnaire.inc b/data/scripts/questionnaire.inc new file mode 100644 index 000000000..c7636ce22 --- /dev/null +++ b/data/scripts/questionnaire.inc @@ -0,0 +1,48 @@ +EventScript_Questionnaire:: @ 81A7702 + lockall + textcolor 3 + msgbox Text_FillOutQuestionnaire, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq EventScript_DeclineQuestionnaire + setvar VAR_0x8004, EASY_CHAT_TYPE_QUESTIONNAIRE + call Common_ShowEasyChatScreen + lock + faceplayer + specialvar VAR_0x8008, GetMartClerkObjectId + textcolor 0 + compare VAR_0x8004, 0 + goto_if_eq EventScript_EnableMysteryGift + compare VAR_RESULT, 0 + goto_if_eq EventScript_DeclineQuestionnaire + compare VAR_RESULT, 1 + goto_if_eq EventScript_TookQuestionnaire + end + +EventScript_EnableMysteryGift:: @ 81A774D + applymovement VAR_0x8008, Movement_FaceDown + waitmovement 0 + playse SE_PIN + applymovement VAR_0x8008, Movement_ExclamationMark + waitmovement 0 + applymovement VAR_0x8008, Movement_Delay48 + waitmovement 0 + msgbox Text_YouKnowThoseWords + setflag FLAG_SYS_MYSTERY_GIFT_ENABLED + textcolor 3 + special sub_80699BC + signmsg + msgbox Text_YouCanAccessMysteryGift + normalmsg + releaseall + end + +EventScript_DeclineQuestionnaire:: @ 81A778A + releaseall + end + +EventScript_TookQuestionnaire:: @ 81A778C + applymovement VAR_0x8008, Movement_FaceDown + waitmovement 0 + msgbox Text_QuestionnaireThankYou + releaseall + end diff --git a/data/scripts/seagallop.inc b/data/scripts/seagallop.inc index c5489d7ee..51fd0c675 100644 --- a/data/scripts/seagallop.inc +++ b/data/scripts/seagallop.inc @@ -138,9 +138,9 @@ VermilionCity_Movement_WalkUp:: @ 81A911C EventScript_SeviiDestinationsPage1:: @ 81A911E setvar VAR_0x8005, 0 - special Special_DrawSeagallopDestinationMenu + special DrawSeagallopDestinationMenu waitstate - specialvar VAR_0x8006, Special_GetSelectedSeagallopDestination + specialvar VAR_0x8006, GetSelectedSeagallopDestination switch VAR_0x8006 case SEAGALLOP_VERMILION_CITY, EventScript_SailToVermilionCity case SEAGALLOP_ONE_ISLAND, EventScript_SailToOneIsland @@ -153,9 +153,9 @@ EventScript_SeviiDestinationsPage1:: @ 81A911E EventScript_SeviiDestinationsPage2:: @ 81A917F setvar VAR_0x8005, 1 - special Special_DrawSeagallopDestinationMenu + special DrawSeagallopDestinationMenu waitstate - specialvar VAR_0x8006, Special_GetSelectedSeagallopDestination + specialvar VAR_0x8006, GetSelectedSeagallopDestination switch VAR_0x8006 case SEAGALLOP_FOUR_ISLAND, EventScript_SailToFourIsland case SEAGALLOP_FIVE_ISLAND, EventScript_SailToFiveIsland diff --git a/data/scripts/silphco_doors.inc b/data/scripts/silphco_doors.inc index 5abeb2316..df619b345 100644 --- a/data/scripts/silphco_doors.inc +++ b/data/scripts/silphco_doors.inc @@ -9,347 +9,347 @@ EventScript_DoorUnlocked:: @ 81A813F end EventScript_Close2FDoor1:: @ 81A8149 - setmetatile 5, 8, 944, 1 - setmetatile 6, 8, 945, 1 - setmetatile 5, 9, 952, 1 - setmetatile 6, 9, 953, 1 - setmetatile 6, 10, 821, 0 + setmetatile 5, 8, METATILE_SilphCo_HorizontalBarrier_TopLeft, 1 + setmetatile 6, 8, METATILE_SilphCo_HorizontalBarrier_TopRight, 1 + setmetatile 5, 9, METATILE_SilphCo_HorizontalBarrier_BottomLeft, 1 + setmetatile 6, 9, METATILE_SilphCo_HorizontalBarrier_BottomRight, 1 + setmetatile 6, 10, METATILE_SilphCo_Floor_ShadeFull, 0 return EventScript_Close2FDoor2:: @ 81A8177 - setmetatile 5, 15, 944, 1 - setmetatile 6, 15, 945, 1 - setmetatile 5, 16, 952, 1 - setmetatile 6, 16, 953, 1 - setmetatile 6, 17, 821, 0 + setmetatile 5, 15, METATILE_SilphCo_HorizontalBarrier_TopLeft, 1 + setmetatile 6, 15, METATILE_SilphCo_HorizontalBarrier_TopRight, 1 + setmetatile 5, 16, METATILE_SilphCo_HorizontalBarrier_BottomLeft, 1 + setmetatile 6, 16, METATILE_SilphCo_HorizontalBarrier_BottomRight, 1 + setmetatile 6, 17, METATILE_SilphCo_Floor_ShadeFull, 0 return EventScript_Close3FDoor1:: @ 81A81A5 - setmetatile 9, 11, 960, 1 - setmetatile 10, 11, 961, 1 - setmetatile 9, 12, 962, 1 - setmetatile 10, 12, 963, 1 - setmetatile 9, 13, 964, 1 - setmetatile 10, 13, 965, 1 + setmetatile 9, 11, METATILE_SilphCo_VerticalBarrier_TopLeft, 1 + setmetatile 10, 11, METATILE_SilphCo_VerticalBarrier_TopRight, 1 + setmetatile 9, 12, METATILE_SilphCo_VerticalBarrier_MidLeft, 1 + setmetatile 10, 12, METATILE_SilphCo_VerticalBarrier_MidRight, 1 + setmetatile 9, 13, METATILE_SilphCo_VerticalBarrier_BottomLeft, 1 + setmetatile 10, 13, METATILE_SilphCo_VerticalBarrier_BottomRight, 1 return EventScript_Close3FDoor2:: @ 81A81DC - setmetatile 20, 11, 960, 1 - setmetatile 21, 11, 961, 1 - setmetatile 20, 12, 962, 1 - setmetatile 21, 12, 963, 1 - setmetatile 20, 13, 964, 1 - setmetatile 21, 13, 965, 1 + setmetatile 20, 11, METATILE_SilphCo_VerticalBarrier_TopLeft, 1 + setmetatile 21, 11, METATILE_SilphCo_VerticalBarrier_TopRight, 1 + setmetatile 20, 12, METATILE_SilphCo_VerticalBarrier_MidLeft, 1 + setmetatile 21, 12, METATILE_SilphCo_VerticalBarrier_MidRight, 1 + setmetatile 20, 13, METATILE_SilphCo_VerticalBarrier_BottomLeft, 1 + setmetatile 21, 13, METATILE_SilphCo_VerticalBarrier_BottomRight, 1 return EventScript_Close4FDoor1:: @ 81A8213 - setmetatile 3, 16, 944, 1 - setmetatile 4, 16, 945, 1 - setmetatile 3, 17, 952, 1 - setmetatile 4, 17, 953, 1 - setmetatile 4, 18, 821, 0 + setmetatile 3, 16, METATILE_SilphCo_HorizontalBarrier_TopLeft, 1 + setmetatile 4, 16, METATILE_SilphCo_HorizontalBarrier_TopRight, 1 + setmetatile 3, 17, METATILE_SilphCo_HorizontalBarrier_BottomLeft, 1 + setmetatile 4, 17, METATILE_SilphCo_HorizontalBarrier_BottomRight, 1 + setmetatile 4, 18, METATILE_SilphCo_Floor_ShadeFull, 0 return EventScript_Close4FDoor2:: @ 81A8241 - setmetatile 14, 11, 944, 1 - setmetatile 15, 11, 945, 1 - setmetatile 14, 12, 952, 1 - setmetatile 15, 12, 953, 1 - setmetatile 15, 13, 821, 0 + setmetatile 14, 11, METATILE_SilphCo_HorizontalBarrier_TopLeft, 1 + setmetatile 15, 11, METATILE_SilphCo_HorizontalBarrier_TopRight, 1 + setmetatile 14, 12, METATILE_SilphCo_HorizontalBarrier_BottomLeft, 1 + setmetatile 15, 12, METATILE_SilphCo_HorizontalBarrier_BottomRight, 1 + setmetatile 15, 13, METATILE_SilphCo_Floor_ShadeFull, 0 return -EventScript_Close5FDoor1:: @ 81A826F - setmetatile 7, 8, 960, 1 - setmetatile 8, 8, 961, 1 - setmetatile 7, 9, 962, 1 - setmetatile 8, 9, 963, 1 - setmetatile 7, 10, 964, 1 - setmetatile 8, 10, 965, 1 +EventScript_Close5FDoor1:: @ 81AMETATILE_SilphCo_Floor_WallRightCornerF + setmetatile 7, 8, METATILE_SilphCo_VerticalBarrier_TopLeft, 1 + setmetatile 8, 8, METATILE_SilphCo_VerticalBarrier_TopRight, 1 + setmetatile 7, 9, METATILE_SilphCo_VerticalBarrier_MidLeft, 1 + setmetatile 8, 9, METATILE_SilphCo_VerticalBarrier_MidRight, 1 + setmetatile 7, 10, METATILE_SilphCo_VerticalBarrier_BottomLeft, 1 + setmetatile 8, 10, METATILE_SilphCo_VerticalBarrier_BottomRight, 1 return EventScript_Close5FDoor2:: @ 81A82A6 - setmetatile 7, 17, 960, 1 - setmetatile 8, 17, 961, 1 - setmetatile 7, 18, 962, 1 - setmetatile 8, 18, 963, 1 - setmetatile 7, 19, 964, 1 - setmetatile 8, 19, 965, 1 + setmetatile 7, 17, METATILE_SilphCo_VerticalBarrier_TopLeft, 1 + setmetatile 8, 17, METATILE_SilphCo_VerticalBarrier_TopRight, 1 + setmetatile 7, 18, METATILE_SilphCo_VerticalBarrier_MidLeft, 1 + setmetatile 8, 18, METATILE_SilphCo_VerticalBarrier_MidRight, 1 + setmetatile 7, 19, METATILE_SilphCo_VerticalBarrier_BottomLeft, 1 + setmetatile 8, 19, METATILE_SilphCo_VerticalBarrier_BottomRight, 1 return EventScript_Close5FDoor3:: @ 81A82DD - setmetatile 18, 12, 960, 1 - setmetatile 19, 12, 961, 1 - setmetatile 18, 13, 962, 1 - setmetatile 19, 13, 963, 1 - setmetatile 18, 14, 964, 1 - setmetatile 19, 14, 965, 1 + setmetatile 18, 12, METATILE_SilphCo_VerticalBarrier_TopLeft, 1 + setmetatile 19, 12, METATILE_SilphCo_VerticalBarrier_TopRight, 1 + setmetatile 18, 13, METATILE_SilphCo_VerticalBarrier_MidLeft, 1 + setmetatile 19, 13, METATILE_SilphCo_VerticalBarrier_MidRight, 1 + setmetatile 18, 14, METATILE_SilphCo_VerticalBarrier_BottomLeft, 1 + setmetatile 19, 14, METATILE_SilphCo_VerticalBarrier_BottomRight, 1 return EventScript_Close6FDoor:: @ 81A8314 - setmetatile 5, 14, 960, 1 - setmetatile 6, 14, 961, 1 - setmetatile 5, 15, 962, 1 - setmetatile 6, 15, 963, 1 - setmetatile 5, 16, 964, 1 - setmetatile 6, 16, 965, 1 + setmetatile 5, 14, METATILE_SilphCo_VerticalBarrier_TopLeft, 1 + setmetatile 6, 14, METATILE_SilphCo_VerticalBarrier_TopRight, 1 + setmetatile 5, 15, METATILE_SilphCo_VerticalBarrier_MidLeft, 1 + setmetatile 6, 15, METATILE_SilphCo_VerticalBarrier_MidRight, 1 + setmetatile 5, 16, METATILE_SilphCo_VerticalBarrier_BottomLeft, 1 + setmetatile 6, 16, METATILE_SilphCo_VerticalBarrier_BottomRight, 1 return EventScript_Close7FDoor1:: @ 81A834B - setmetatile 11, 8, 944, 1 - setmetatile 12, 8, 945, 1 - setmetatile 11, 9, 952, 1 - setmetatile 12, 9, 953, 1 - setmetatile 12, 10, 821, 0 + setmetatile 11, 8, METATILE_SilphCo_HorizontalBarrier_TopLeft, 1 + setmetatile 12, 8, METATILE_SilphCo_HorizontalBarrier_TopRight, 1 + setmetatile 11, 9, METATILE_SilphCo_HorizontalBarrier_BottomLeft, 1 + setmetatile 12, 9, METATILE_SilphCo_HorizontalBarrier_BottomRight, 1 + setmetatile 12, 10, METATILE_SilphCo_Floor_ShadeFull, 0 return EventScript_Close7FDoor2:: @ 81A8379 - setmetatile 24, 7, 944, 1 - setmetatile 25, 7, 945, 1 - setmetatile 24, 8, 952, 1 - setmetatile 25, 8, 953, 1 - setmetatile 25, 9, 821, 0 + setmetatile 24, 7, METATILE_SilphCo_HorizontalBarrier_TopLeft, 1 + setmetatile 25, 7, METATILE_SilphCo_HorizontalBarrier_TopRight, 1 + setmetatile 24, 8, METATILE_SilphCo_HorizontalBarrier_BottomLeft, 1 + setmetatile 25, 8, METATILE_SilphCo_HorizontalBarrier_BottomRight, 1 + setmetatile 25, 9, METATILE_SilphCo_Floor_ShadeFull, 0 return EventScript_Close7FDoor3:: @ 81A83A7 - setmetatile 25, 13, 944, 1 - setmetatile 26, 13, 945, 1 - setmetatile 25, 14, 952, 1 - setmetatile 26, 14, 953, 1 - setmetatile 26, 15, 821, 0 + setmetatile 25, 13, METATILE_SilphCo_HorizontalBarrier_TopLeft, 1 + setmetatile 26, 13, METATILE_SilphCo_HorizontalBarrier_TopRight, 1 + setmetatile 25, 14, METATILE_SilphCo_HorizontalBarrier_BottomLeft, 1 + setmetatile 26, 14, METATILE_SilphCo_HorizontalBarrier_BottomRight, 1 + setmetatile 26, 15, METATILE_SilphCo_Floor_ShadeFull, 0 return EventScript_Close8FDoor:: @ 81A83D5 - setmetatile 5, 9, 960, 1 - setmetatile 6, 9, 961, 1 - setmetatile 5, 10, 962, 1 - setmetatile 6, 10, 963, 1 - setmetatile 5, 11, 964, 1 - setmetatile 6, 11, 965, 1 + setmetatile 5, 9, METATILE_SilphCo_VerticalBarrier_TopLeft, 1 + setmetatile 6, 9, METATILE_SilphCo_VerticalBarrier_TopRight, 1 + setmetatile 5, 10, METATILE_SilphCo_VerticalBarrier_MidLeft, 1 + setmetatile 6, 10, METATILE_SilphCo_VerticalBarrier_MidRight, 1 + setmetatile 5, 11, METATILE_SilphCo_VerticalBarrier_BottomLeft, 1 + setmetatile 6, 11, METATILE_SilphCo_VerticalBarrier_BottomRight, 1 return EventScript_Close9FDoor1:: @ 81A840C - setmetatile 2, 9, 960, 1 - setmetatile 3, 9, 961, 1 - setmetatile 2, 10, 962, 1 - setmetatile 3, 10, 963, 1 - setmetatile 2, 11, 964, 1 - setmetatile 3, 11, 965, 1 + setmetatile 2, 9, METATILE_SilphCo_VerticalBarrier_TopLeft, 1 + setmetatile 3, 9, METATILE_SilphCo_VerticalBarrier_TopRight, 1 + setmetatile 2, 10, METATILE_SilphCo_VerticalBarrier_MidLeft, 1 + setmetatile 3, 10, METATILE_SilphCo_VerticalBarrier_MidRight, 1 + setmetatile 2, 11, METATILE_SilphCo_VerticalBarrier_BottomLeft, 1 + setmetatile 3, 11, METATILE_SilphCo_VerticalBarrier_BottomRight, 1 return EventScript_Close9FDoor2:: @ 81A8443 - setmetatile 12, 15, 960, 1 - setmetatile 13, 15, 961, 1 - setmetatile 12, 16, 962, 1 - setmetatile 13, 16, 963, 1 - setmetatile 12, 17, 964, 1 - setmetatile 13, 17, 965, 1 + setmetatile 12, 15, METATILE_SilphCo_VerticalBarrier_TopLeft, 1 + setmetatile 13, 15, METATILE_SilphCo_VerticalBarrier_TopRight, 1 + setmetatile 12, 16, METATILE_SilphCo_VerticalBarrier_MidLeft, 1 + setmetatile 13, 16, METATILE_SilphCo_VerticalBarrier_MidRight, 1 + setmetatile 12, 17, METATILE_SilphCo_VerticalBarrier_BottomLeft, 1 + setmetatile 13, 17, METATILE_SilphCo_VerticalBarrier_BottomRight, 1 return EventScript_Close9FDoor3:: @ 81A847A - setmetatile 21, 6, 944, 1 - setmetatile 22, 6, 945, 1 - setmetatile 21, 7, 952, 1 - setmetatile 22, 7, 953, 1 - setmetatile 22, 8, 821, 0 + setmetatile 21, 6, METATILE_SilphCo_HorizontalBarrier_TopLeft, 1 + setmetatile 22, 6, METATILE_SilphCo_HorizontalBarrier_TopRight, 1 + setmetatile 21, 7, METATILE_SilphCo_HorizontalBarrier_BottomLeft, 1 + setmetatile 22, 7, METATILE_SilphCo_HorizontalBarrier_BottomRight, 1 + setmetatile 22, 8, METATILE_SilphCo_Floor_ShadeFull, 0 return EventScript_Close9FDoor4:: @ 81A84A8 - setmetatile 21, 12, 944, 1 - setmetatile 22, 12, 945, 1 - setmetatile 21, 13, 952, 1 - setmetatile 22, 13, 953, 1 - setmetatile 22, 14, 821, 0 + setmetatile 21, 12, METATILE_SilphCo_HorizontalBarrier_TopLeft, 1 + setmetatile 22, 12, METATILE_SilphCo_HorizontalBarrier_TopRight, 1 + setmetatile 21, 13, METATILE_SilphCo_HorizontalBarrier_BottomLeft, 1 + setmetatile 22, 13, METATILE_SilphCo_HorizontalBarrier_BottomRight, 1 + setmetatile 22, 14, METATILE_SilphCo_Floor_ShadeFull, 0 return EventScript_Close10FDoor:: @ 81A84D6 - setmetatile 12, 11, 944, 1 - setmetatile 13, 11, 945, 1 - setmetatile 12, 12, 952, 1 - setmetatile 13, 12, 953, 1 - setmetatile 13, 13, 821, 0 + setmetatile 12, 11, METATILE_SilphCo_HorizontalBarrier_TopLeft, 1 + setmetatile 13, 11, METATILE_SilphCo_HorizontalBarrier_TopRight, 1 + setmetatile 12, 12, METATILE_SilphCo_HorizontalBarrier_BottomLeft, 1 + setmetatile 13, 12, METATILE_SilphCo_HorizontalBarrier_BottomRight, 1 + setmetatile 13, 13, METATILE_SilphCo_Floor_ShadeFull, 0 return EventScript_Close11FDoor:: @ 81A8504 - setmetatile 5, 16, 944, 1 - setmetatile 6, 16, 945, 1 - setmetatile 5, 17, 952, 1 - setmetatile 6, 17, 953, 1 - setmetatile 6, 18, 821, 0 + setmetatile 5, 16, METATILE_SilphCo_HorizontalBarrier_TopLeft, 1 + setmetatile 6, 16, METATILE_SilphCo_HorizontalBarrier_TopRight, 1 + setmetatile 5, 17, METATILE_SilphCo_HorizontalBarrier_BottomLeft, 1 + setmetatile 6, 17, METATILE_SilphCo_HorizontalBarrier_BottomRight, 1 + setmetatile 6, 18, METATILE_SilphCo_Floor_ShadeFull, 0 return EventScript_Open2FDoor1:: @ 81A8532 - setmetatile 5, 8, 821, 0 - setmetatile 6, 8, 820, 0 - setmetatile 5, 9, 821, 0 - setmetatile 6, 9, 820, 0 - setmetatile 6, 10, 820, 0 + setmetatile 5, 8, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 6, 8, METATILE_SilphCo_Floor, 0 + setmetatile 5, 9, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 6, 9, METATILE_SilphCo_Floor, 0 + setmetatile 6, 10, METATILE_SilphCo_Floor, 0 return EventScript_Open2FDoor2:: @ 81A8560 - setmetatile 5, 15, 821, 0 - setmetatile 6, 15, 820, 0 - setmetatile 5, 16, 821, 0 - setmetatile 6, 16, 820, 0 - setmetatile 6, 17, 820, 0 + setmetatile 5, 15, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 6, 15, METATILE_SilphCo_Floor, 0 + setmetatile 5, 16, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 6, 16, METATILE_SilphCo_Floor, 0 + setmetatile 6, 17, METATILE_SilphCo_Floor, 0 return EventScript_Open3FDoor1:: @ 81A858E - setmetatile 9, 11, 839, 1 - setmetatile 10, 11, 838, 1 - setmetatile 9, 12, 821, 0 - setmetatile 10, 12, 821, 0 - setmetatile 9, 13, 825, 0 - setmetatile 10, 13, 826, 0 + setmetatile 9, 11, METATILE_SilphCo_Wall_LeftEdge, 1 + setmetatile 10, 11, METATILE_SilphCo_Wall_RightEdge, 1 + setmetatile 9, 12, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 10, 12, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 9, 13, METATILE_SilphCo_Floor_WallLeftCorner, 0 + setmetatile 10, 13, METATILE_SilphCo_Floor_WallRightCorner, 0 return EventScript_Open3FDoor2:: @ 81A85C5 - setmetatile 20, 11, 839, 1 - setmetatile 21, 11, 838, 1 - setmetatile 20, 12, 821, 0 - setmetatile 21, 12, 821, 0 - setmetatile 20, 13, 825, 0 - setmetatile 21, 13, 826, 0 + setmetatile 20, 11, METATILE_SilphCo_Wall_LeftEdge, 1 + setmetatile 21, 11, METATILE_SilphCo_Wall_RightEdge, 1 + setmetatile 20, 12, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 21, 12, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 20, 13, METATILE_SilphCo_Floor_WallLeftCorner, 0 + setmetatile 21, 13, METATILE_SilphCo_Floor_WallRightCorner, 0 return EventScript_Open4FDoor1:: @ 81A85FC - setmetatile 3, 16, 821, 0 - setmetatile 4, 16, 820, 0 - setmetatile 3, 17, 821, 0 - setmetatile 4, 17, 820, 0 - setmetatile 4, 18, 820, 0 + setmetatile 3, 16, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 4, 16, METATILE_SilphCo_Floor, 0 + setmetatile 3, 17, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 4, 17, METATILE_SilphCo_Floor, 0 + setmetatile 4, 18, METATILE_SilphCo_Floor, 0 return EventScript_Open4FDoor2:: @ 81A862A - setmetatile 14, 11, 821, 0 - setmetatile 15, 11, 820, 0 - setmetatile 14, 12, 821, 0 - setmetatile 15, 12, 820, 0 - setmetatile 15, 13, 820, 0 + setmetatile 14, 11, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 15, 11, METATILE_SilphCo_Floor, 0 + setmetatile 14, 12, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 15, 12, METATILE_SilphCo_Floor, 0 + setmetatile 15, 13, METATILE_SilphCo_Floor, 0 return EventScript_Open5FDoor1:: @ 81A8658 - setmetatile 7, 8, 839, 1 - setmetatile 8, 8, 838, 1 - setmetatile 7, 9, 821, 0 - setmetatile 8, 9, 821, 0 - setmetatile 7, 10, 825, 0 - setmetatile 8, 10, 826, 0 + setmetatile 7, 8, METATILE_SilphCo_Wall_LeftEdge, 1 + setmetatile 8, 8, METATILE_SilphCo_Wall_RightEdge, 1 + setmetatile 7, 9, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 8, 9, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 7, 10, METATILE_SilphCo_Floor_WallLeftCorner, 0 + setmetatile 8, 10, METATILE_SilphCo_Floor_WallRightCorner, 0 return EventScript_Open5FDoor2:: @ 81A868F - setmetatile 7, 17, 839, 1 - setmetatile 8, 17, 838, 1 - setmetatile 7, 18, 821, 0 - setmetatile 8, 18, 821, 0 - setmetatile 7, 19, 825, 0 - setmetatile 8, 19, 826, 0 + setmetatile 7, 17, METATILE_SilphCo_Wall_LeftEdge, 1 + setmetatile 8, 17, METATILE_SilphCo_Wall_RightEdge, 1 + setmetatile 7, 18, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 8, 18, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 7, 19, METATILE_SilphCo_Floor_WallLeftCorner, 0 + setmetatile 8, 19, METATILE_SilphCo_Floor_WallRightCorner, 0 return EventScript_Open5FDoor3:: @ 81A86C6 - setmetatile 18, 12, 839, 1 - setmetatile 19, 12, 838, 1 - setmetatile 18, 13, 821, 0 - setmetatile 19, 13, 821, 0 - setmetatile 18, 14, 825, 0 - setmetatile 19, 14, 826, 0 + setmetatile 18, 12, METATILE_SilphCo_Wall_LeftEdge, 1 + setmetatile 19, 12, METATILE_SilphCo_Wall_RightEdge, 1 + setmetatile 18, 13, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 19, 13, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 18, 14, METATILE_SilphCo_Floor_WallLeftCorner, 0 + setmetatile 19, 14, METATILE_SilphCo_Floor_WallRightCorner, 0 return EventScript_Open6FDoor:: @ 81A86FD - setmetatile 5, 14, 839, 1 - setmetatile 6, 14, 838, 1 - setmetatile 5, 15, 821, 0 - setmetatile 6, 15, 821, 0 - setmetatile 5, 16, 825, 0 - setmetatile 6, 16, 826, 0 + setmetatile 5, 14, METATILE_SilphCo_Wall_LeftEdge, 1 + setmetatile 6, 14, METATILE_SilphCo_Wall_RightEdge, 1 + setmetatile 5, 15, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 6, 15, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 5, 16, METATILE_SilphCo_Floor_WallLeftCorner, 0 + setmetatile 6, 16, METATILE_SilphCo_Floor_WallRightCorner, 0 return EventScript_Open7FDoor1:: @ 81A8734 - setmetatile 11, 8, 821, 0 - setmetatile 12, 8, 820, 0 - setmetatile 11, 9, 821, 0 - setmetatile 12, 9, 820, 0 - setmetatile 12, 10, 820, 0 + setmetatile 11, 8, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 12, 8, METATILE_SilphCo_Floor, 0 + setmetatile 11, 9, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 12, 9, METATILE_SilphCo_Floor, 0 + setmetatile 12, 10, METATILE_SilphCo_Floor, 0 return EventScript_Open7FDoor2:: @ 81A8762 - setmetatile 24, 7, 821, 0 - setmetatile 25, 7, 820, 0 - setmetatile 24, 8, 821, 0 - setmetatile 25, 8, 820, 0 - setmetatile 25, 9, 820, 0 + setmetatile 24, 7, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 25, 7, METATILE_SilphCo_Floor, 0 + setmetatile 24, 8, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 25, 8, METATILE_SilphCo_Floor, 0 + setmetatile 25, 9, METATILE_SilphCo_Floor, 0 return EventScript_Open7FDoor3:: @ 81A8790 - setmetatile 25, 13, 821, 0 - setmetatile 26, 13, 820, 0 - setmetatile 25, 14, 821, 0 - setmetatile 26, 14, 820, 0 - setmetatile 26, 15, 820, 0 + setmetatile 25, 13, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 26, 13, METATILE_SilphCo_Floor, 0 + setmetatile 25, 14, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 26, 14, METATILE_SilphCo_Floor, 0 + setmetatile 26, 15, METATILE_SilphCo_Floor, 0 return EventScript_Open8FDoor:: @ 81A87BE - setmetatile 5, 9, 839, 1 - setmetatile 6, 9, 838, 1 - setmetatile 5, 10, 821, 0 - setmetatile 6, 10, 821, 0 - setmetatile 5, 11, 825, 0 - setmetatile 6, 11, 826, 0 + setmetatile 5, 9, METATILE_SilphCo_Wall_LeftEdge, 1 + setmetatile 6, 9, METATILE_SilphCo_Wall_RightEdge, 1 + setmetatile 5, 10, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 6, 10, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 5, 11, METATILE_SilphCo_Floor_WallLeftCorner, 0 + setmetatile 6, 11, METATILE_SilphCo_Floor_WallRightCorner, 0 return EventScript_Open9FDoor1:: @ 81A87F5 - setmetatile 2, 9, 839, 1 - setmetatile 3, 9, 838, 1 - setmetatile 2, 10, 821, 0 - setmetatile 3, 10, 821, 0 - setmetatile 2, 11, 825, 0 - setmetatile 3, 11, 826, 0 + setmetatile 2, 9, METATILE_SilphCo_Wall_LeftEdge, 1 + setmetatile 3, 9, METATILE_SilphCo_Wall_RightEdge, 1 + setmetatile 2, 10, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 3, 10, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 2, 11, METATILE_SilphCo_Floor_WallLeftCorner, 0 + setmetatile 3, 11, METATILE_SilphCo_Floor_WallRightCorner, 0 return EventScript_Open9FDoor2:: @ 81A882C - setmetatile 12, 15, 839, 1 - setmetatile 13, 15, 838, 1 - setmetatile 12, 16, 821, 0 - setmetatile 13, 16, 821, 0 - setmetatile 12, 17, 825, 0 - setmetatile 13, 17, 826, 0 + setmetatile 12, 15, METATILE_SilphCo_Wall_LeftEdge, 1 + setmetatile 13, 15, METATILE_SilphCo_Wall_RightEdge, 1 + setmetatile 12, 16, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 13, 16, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 12, 17, METATILE_SilphCo_Floor_WallLeftCorner, 0 + setmetatile 13, 17, METATILE_SilphCo_Floor_WallRightCorner, 0 return EventScript_Open9FDoor3:: @ 81A8863 - setmetatile 21, 6, 821, 0 - setmetatile 22, 6, 820, 0 - setmetatile 21, 7, 821, 0 - setmetatile 22, 7, 820, 0 - setmetatile 22, 8, 820, 0 + setmetatile 21, 6, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 22, 6, METATILE_SilphCo_Floor, 0 + setmetatile 21, 7, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 22, 7, METATILE_SilphCo_Floor, 0 + setmetatile 22, 8, METATILE_SilphCo_Floor, 0 return EventScript_Open9FDoor4:: @ 81A8891 - setmetatile 21, 12, 821, 0 - setmetatile 22, 12, 820, 0 - setmetatile 21, 13, 821, 0 - setmetatile 22, 13, 820, 0 - setmetatile 22, 14, 820, 0 + setmetatile 21, 12, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 22, 12, METATILE_SilphCo_Floor, 0 + setmetatile 21, 13, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 22, 13, METATILE_SilphCo_Floor, 0 + setmetatile 22, 14, METATILE_SilphCo_Floor, 0 return EventScript_Open10FDoor:: @ 81A88BF - setmetatile 12, 11, 821, 0 - setmetatile 13, 11, 820, 0 - setmetatile 12, 12, 821, 0 - setmetatile 13, 12, 820, 0 - setmetatile 13, 13, 820, 0 + setmetatile 12, 11, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 13, 11, METATILE_SilphCo_Floor, 0 + setmetatile 12, 12, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 13, 12, METATILE_SilphCo_Floor, 0 + setmetatile 13, 13, METATILE_SilphCo_Floor, 0 return EventScript_Open11FDoor:: @ 81A88ED - setmetatile 5, 16, 821, 0 - setmetatile 6, 16, 820, 0 - setmetatile 5, 17, 821, 0 - setmetatile 6, 17, 820, 0 - setmetatile 6, 18, 820, 0 + setmetatile 5, 16, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 6, 16, METATILE_SilphCo_Floor, 0 + setmetatile 5, 17, METATILE_SilphCo_Floor_ShadeFull, 0 + setmetatile 6, 17, METATILE_SilphCo_Floor, 0 + setmetatile 6, 18, METATILE_SilphCo_Floor, 0 return SilphCo_2F_EventScript_Door1:: @ 81A891B lockall setvar VAR_TEMP_1, 1 - setvar VAR_0x8004, 634 + setvar VAR_0x8004, FLAG_SILPH_2F_DOOR_1 goto_if_set FLAG_SILPH_2F_DOOR_1, EventScript_DoorUnlocked goto EventScript_TryUnlockDoor end @@ -357,7 +357,7 @@ SilphCo_2F_EventScript_Door1:: @ 81A891B SilphCo_2F_EventScript_Door2:: @ 81A8935 lockall setvar VAR_TEMP_1, 2 - setvar VAR_0x8004, 635 + setvar VAR_0x8004, FLAG_SILPH_2F_DOOR_2 goto_if_set FLAG_SILPH_2F_DOOR_2, EventScript_DoorUnlocked goto EventScript_TryUnlockDoor end @@ -365,7 +365,7 @@ SilphCo_2F_EventScript_Door2:: @ 81A8935 SilphCo_3F_EventScript_Door1:: @ 81A894F lockall setvar VAR_TEMP_1, 3 - setvar VAR_0x8004, 636 + setvar VAR_0x8004, FLAG_SILPH_3F_DOOR_1 goto_if_set FLAG_SILPH_3F_DOOR_1, EventScript_DoorUnlocked goto EventScript_TryUnlockDoor end @@ -373,7 +373,7 @@ SilphCo_3F_EventScript_Door1:: @ 81A894F SilphCo_3F_EventScript_Door2:: @ 81A8969 lockall setvar VAR_TEMP_1, 4 - setvar VAR_0x8004, 637 + setvar VAR_0x8004, FLAG_SILPH_3F_DOOR_2 goto_if_set FLAG_SILPH_3F_DOOR_2, EventScript_DoorUnlocked goto EventScript_TryUnlockDoor end @@ -381,7 +381,7 @@ SilphCo_3F_EventScript_Door2:: @ 81A8969 SilphCo_4F_EventScript_Door1:: @ 81A8983 lockall setvar VAR_TEMP_1, 5 - setvar VAR_0x8004, 638 + setvar VAR_0x8004, FLAG_SILPH_4F_DOOR_1 goto_if_set FLAG_SILPH_4F_DOOR_1, EventScript_DoorUnlocked goto EventScript_TryUnlockDoor end @@ -389,7 +389,7 @@ SilphCo_4F_EventScript_Door1:: @ 81A8983 SilphCo_4F_EventScript_Door2:: @ 81A899D lockall setvar VAR_TEMP_1, 6 - setvar VAR_0x8004, 639 + setvar VAR_0x8004, FLAG_SILPH_4F_DOOR_2 goto_if_set FLAG_SILPH_4F_DOOR_2, EventScript_DoorUnlocked goto EventScript_TryUnlockDoor end @@ -397,7 +397,7 @@ SilphCo_4F_EventScript_Door2:: @ 81A899D SilphCo_5F_EventScript_Door1:: @ 81A89B7 lockall setvar VAR_TEMP_1, 7 - setvar VAR_0x8004, 640 + setvar VAR_0x8004, FLAG_SILPH_5F_DOOR_1 goto_if_set FLAG_SILPH_5F_DOOR_1, EventScript_DoorUnlocked goto EventScript_TryUnlockDoor end @@ -405,7 +405,7 @@ SilphCo_5F_EventScript_Door1:: @ 81A89B7 SilphCo_5F_EventScript_Door2:: @ 81A89D1 lockall setvar VAR_TEMP_1, 8 - setvar VAR_0x8004, 641 + setvar VAR_0x8004, FLAG_SILPH_5F_DOOR_2 goto_if_set FLAG_SILPH_5F_DOOR_2, EventScript_DoorUnlocked goto EventScript_TryUnlockDoor end @@ -413,7 +413,7 @@ SilphCo_5F_EventScript_Door2:: @ 81A89D1 SilphCo_5F_EventScript_Door3:: @ 81A89EB lockall setvar VAR_TEMP_1, 9 - setvar VAR_0x8004, 642 + setvar VAR_0x8004, FLAG_SILPH_5F_DOOR_3 goto_if_set FLAG_SILPH_5F_DOOR_3, EventScript_DoorUnlocked goto EventScript_TryUnlockDoor end @@ -421,7 +421,7 @@ SilphCo_5F_EventScript_Door3:: @ 81A89EB SilphCo_6F_EventScript_Door:: @ 81A8A05 lockall setvar VAR_TEMP_1, 10 - setvar VAR_0x8004, 643 + setvar VAR_0x8004, FLAG_SILPH_6F_DOOR goto_if_set FLAG_SILPH_6F_DOOR, EventScript_DoorUnlocked goto EventScript_TryUnlockDoor end @@ -429,7 +429,7 @@ SilphCo_6F_EventScript_Door:: @ 81A8A05 SilphCo_7F_EventScript_Door1:: @ 81A8A1F lockall setvar VAR_TEMP_1, 11 - setvar VAR_0x8004, 644 + setvar VAR_0x8004, FLAG_SILPH_7F_DOOR_1 goto_if_set FLAG_SILPH_7F_DOOR_1, EventScript_DoorUnlocked goto EventScript_TryUnlockDoor end @@ -437,7 +437,7 @@ SilphCo_7F_EventScript_Door1:: @ 81A8A1F SilphCo_7F_EventScript_Door2:: @ 81A8A39 lockall setvar VAR_TEMP_1, 12 - setvar VAR_0x8004, 645 + setvar VAR_0x8004, FLAG_SILPH_7F_DOOR_2 goto_if_set FLAG_SILPH_7F_DOOR_2, EventScript_DoorUnlocked goto EventScript_TryUnlockDoor end @@ -445,7 +445,7 @@ SilphCo_7F_EventScript_Door2:: @ 81A8A39 SilphCo_7F_EventScript_Door3:: @ 81A8A53 lockall setvar VAR_TEMP_1, 13 - setvar VAR_0x8004, 646 + setvar VAR_0x8004, FLAG_SILPH_7F_DOOR_3 goto_if_set FLAG_SILPH_7F_DOOR_3, EventScript_DoorUnlocked goto EventScript_TryUnlockDoor end @@ -453,7 +453,7 @@ SilphCo_7F_EventScript_Door3:: @ 81A8A53 SilphCo_8F_EventScript_Door:: @ 81A8A6D lockall setvar VAR_TEMP_1, 14 - setvar VAR_0x8004, 647 + setvar VAR_0x8004, FLAG_SILPH_8F_DOOR goto_if_set FLAG_SILPH_8F_DOOR, EventScript_DoorUnlocked goto EventScript_TryUnlockDoor end @@ -461,7 +461,7 @@ SilphCo_8F_EventScript_Door:: @ 81A8A6D SilphCo_9F_EventScript_Door1:: @ 81A8A87 lockall setvar VAR_TEMP_1, 15 - setvar VAR_0x8004, 648 + setvar VAR_0x8004, FLAG_SILPH_9F_DOOR_1 goto_if_set FLAG_SILPH_9F_DOOR_1, EventScript_DoorUnlocked goto EventScript_TryUnlockDoor end @@ -469,7 +469,7 @@ SilphCo_9F_EventScript_Door1:: @ 81A8A87 SilphCo_9F_EventScript_Door2:: @ 81A8AA1 lockall setvar VAR_TEMP_1, 16 - setvar VAR_0x8004, 649 + setvar VAR_0x8004, FLAG_SILPH_9F_DOOR_2 goto_if_set FLAG_SILPH_9F_DOOR_2, EventScript_DoorUnlocked goto EventScript_TryUnlockDoor end @@ -477,7 +477,7 @@ SilphCo_9F_EventScript_Door2:: @ 81A8AA1 SilphCo_9F_EventScript_Door3:: @ 81A8ABB lockall setvar VAR_TEMP_1, 17 - setvar VAR_0x8004, 650 + setvar VAR_0x8004, FLAG_SILPH_9F_DOOR_3 goto_if_set FLAG_SILPH_9F_DOOR_3, EventScript_DoorUnlocked goto EventScript_TryUnlockDoor end @@ -485,7 +485,7 @@ SilphCo_9F_EventScript_Door3:: @ 81A8ABB SilphCo_9F_EventScript_Door4:: @ 81A8AD5 lockall setvar VAR_TEMP_1, 18 - setvar VAR_0x8004, 651 + setvar VAR_0x8004, FLAG_SILPH_9F_DOOR_4 goto_if_set FLAG_SILPH_9F_DOOR_4, EventScript_DoorUnlocked goto EventScript_TryUnlockDoor end @@ -493,7 +493,7 @@ SilphCo_9F_EventScript_Door4:: @ 81A8AD5 SilphCo_10F_EventScript_Door:: @ 81A8AEF lockall setvar VAR_TEMP_1, 19 - setvar VAR_0x8004, 652 + setvar VAR_0x8004, FLAG_SILPH_10F_DOOR goto_if_set FLAG_SILPH_10F_DOOR, EventScript_DoorUnlocked goto EventScript_TryUnlockDoor end @@ -501,7 +501,7 @@ SilphCo_10F_EventScript_Door:: @ 81A8AEF SilphCo_11F_EventScript_Door:: @ 81A8B09 lockall setvar VAR_TEMP_1, 20 - setvar VAR_0x8004, 653 + setvar VAR_0x8004, FLAG_SILPH_11F_DOOR goto_if_set FLAG_SILPH_11F_DOOR, EventScript_DoorUnlocked goto EventScript_TryUnlockDoor end @@ -559,6 +559,6 @@ EventScript_OpenDoor:: @ 81A8B32 playse SE_KI_GASYAN special DrawWholeMapView waitse - special Special_SetHiddenItemFlag + special SetHiddenItemFlag releaseall end diff --git a/data/scripts/std_msgbox.inc b/data/scripts/std_msgbox.inc index d1605976e..da53a3cc1 100644 --- a/data/scripts/std_msgbox.inc +++ b/data/scripts/std_msgbox.inc @@ -39,7 +39,7 @@ Std_ReceivedItem:: @ 81A4E66 compare VAR_0x8002, MUS_FANFA1 call_if_eq EventScript_ReceivedItemWaitFanfare putitemaway VAR_0x8000, VAR_0x8001 - call EventScript_1A6675 + call EventScript_RestorePrevTextColor return EventScript_ReceivedItemFanfare1:: @ 81A4EA2 diff --git a/data/scripts/trainer_battle.inc b/data/scripts/trainer_battle.inc index ccb279300..6a5dc3345 100644 --- a/data/scripts/trainer_battle.inc +++ b/data/scripts/trainer_battle.inc @@ -1,143 +1,142 @@ -gUnknown_81A4EB4:: @ 81A4EB4 +EventScript_DoTrainerBattleFromApproach:: @ 81A4EB4 lock special PlayTrainerEncounterMusic - special ScrSpecial_EndTrainerApproach + special EndTrainerApproach waitstate - goto EventScript_1A4FC7 + goto EventScript_DoTrainerBattle EventScript_TryDoNormalTrainerBattle:: @ 81A4EC1 lock faceplayer - applymovement VAR_LAST_TALKED, Movement_1A4FC5 + applymovement VAR_LAST_TALKED, Movement_RevealTrainer waitmovement 0 - specialvar VAR_RESULT, ScrSpecial_HasTrainerBeenFought - compare VAR_RESULT, 0 - goto_if_ne EventScript_1A4EE8 + specialvar VAR_RESULT, Script_HasTrainerBeenFought + compare VAR_RESULT, FALSE + goto_if_ne EventScript_NoTrainerBattle special PlayTrainerEncounterMusic special SetUpTrainerMovement - goto EventScript_1A4FC7 + goto EventScript_DoTrainerBattle -EventScript_1A4EE8:: @ 81A4EE8 +EventScript_NoTrainerBattle:: @ 81A4EE8 ontrainerbattleend EventScript_TryDoDoubleTrainerBattle:: @ 81A4EE9 lock faceplayer - call EventScript_1A4FBA - specialvar VAR_RESULT, ScrSpecial_HasTrainerBeenFought - compare VAR_RESULT, 0 - goto_if_ne EventScript_1A4F20 + call EventScript_RevealTrainer + specialvar VAR_RESULT, Script_HasTrainerBeenFought + compare VAR_RESULT, FALSE + goto_if_ne EventScript_NoDoubleTrainerBattle special HasEnoughMonsForDoubleBattle compare VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS - goto_if_ne EventScript_1A4F19 + goto_if_ne EventScript_NotEnoughMonsForDoubleBattle special PlayTrainerEncounterMusic special SetUpTrainerMovement - goto EventScript_1A4FC7 + goto EventScript_DoTrainerBattle -EventScript_1A4F19:: @ 81A4F19 - special ScrSpecial_ShowTrainerNonBattlingSpeech +EventScript_NotEnoughMonsForDoubleBattle:: @ 81A4F19 + special ShowTrainerCantBattleSpeech waitmessage waitbuttonpress release end -EventScript_1A4F20:: @ 81A4F20 +EventScript_NoDoubleTrainerBattle:: @ 81A4F20 ontrainerbattleend -EventScript_DoTrainerBattle:: @ 81A4F21 - applymovement VAR_LAST_TALKED, Movement_1A4FC5 +EventScript_DoNoIntroTrainerBattle:: @ 81A4F21 + applymovement VAR_LAST_TALKED, Movement_RevealTrainer waitmovement 0 special PlayTrainerEncounterMusic - goto_if_questlog EventScript_1A501A + goto_if_questlog EventScript_EndQuestLogBattle battlebegin ontrainerbattleend EventScript_TryDoRematchBattle:: @ 81A4F3E - call EventScript_1A4FBA - specialvar VAR_RESULT, ScrSpecial_GetTrainerEyeRematchFlag - compare VAR_RESULT, 0 - goto_if_eq EventScript_1A4F72 + call EventScript_RevealTrainer + specialvar VAR_RESULT, IsTrainerReadyForRematch + compare VAR_RESULT, FALSE + goto_if_eq EventScript_NoRematchBattle special PlayTrainerEncounterMusic special SetUpTrainerMovement - special ScrSpecial_ShowTrainerIntroSpeech + special ShowTrainerIntroSpeech waitmessage waitbuttonpress - goto_if_questlog EventScript_1A4FB8 - special ScrSpecial_StartTrainerEyeRematch + goto_if_questlog EventScript_EndQuestLogRematch + special StartRematchBattle waitstate releaseall end -EventScript_1A4F72:: @ 81A4F72 +EventScript_NoRematchBattle:: @ 81A4F72 ontrainerbattleend EventScript_TryDoDoubleRematchBattle:: @ 81A4F73 - specialvar VAR_RESULT, ScrSpecial_GetTrainerEyeRematchFlag - compare VAR_RESULT, 0 - goto_if_eq EventScript_1A4FB0 + specialvar VAR_RESULT, IsTrainerReadyForRematch + compare VAR_RESULT, FALSE + goto_if_eq EventScript_NoDoubleRematchBattle special HasEnoughMonsForDoubleBattle compare VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS - goto_if_ne EventScript_1A4FB1 + goto_if_ne EventScript_NotEnoughMonsForDoubleRematchBattle special PlayTrainerEncounterMusic special SetUpTrainerMovement - special ScrSpecial_ShowTrainerIntroSpeech + special ShowTrainerIntroSpeech waitmessage waitbuttonpress - goto_if_questlog EventScript_1A4FB8 - special ScrSpecial_StartTrainerEyeRematch + goto_if_questlog EventScript_EndQuestLogRematch + special StartRematchBattle waitstate releaseall end -EventScript_1A4FB0:: @ 81A4FB0 +EventScript_NoDoubleRematchBattle:: @ 81A4FB0 ontrainerbattleend -EventScript_1A4FB1:: @ 81A4FB1 - special ScrSpecial_ShowTrainerNonBattlingSpeech +EventScript_NotEnoughMonsForDoubleRematchBattle:: @ 81A4FB1 + special ShowTrainerCantBattleSpeech waitmessage waitbuttonpress release end -EventScript_1A4FB8:: @ 81A4FB8 +EventScript_EndQuestLogRematch:: @ 81A4FB8 releaseall end -EventScript_1A4FBA:: @ 81A4FBA - applymovement VAR_LAST_TALKED, Movement_1A4FC5 +EventScript_RevealTrainer:: @ 81A4FBA + applymovement VAR_LAST_TALKED, Movement_RevealTrainer waitmovement 0 return -Movement_1A4FC5:: @ 81A4FC5 - step_67 +Movement_RevealTrainer:: @ 81A4FC5 + reveal_trainer step_end -EventScript_1A4FC7:: @ 81A4FC7 - special ScrSpecial_ShowTrainerIntroSpeech +EventScript_DoTrainerBattle:: @ 81A4FC7 + special ShowTrainerIntroSpeech waitmessage waitbuttonpress - goto_if_questlog EventScript_1A501A + goto_if_questlog EventScript_EndQuestLogBattle battlebegin - specialvar VAR_RESULT, ScrSpecial_GetTrainerBattleMode - compare VAR_RESULT, 0 - goto_if_eq EventScript_1A5017 - compare VAR_RESULT, 2 - goto_if_eq EventScript_1A5019 - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A5019 - compare VAR_RESULT, 6 - goto_if_eq EventScript_1A5019 - compare VAR_RESULT, 8 - goto_if_eq EventScript_1A5019 - -EventScript_1A5017:: @ 81A5017 + specialvar VAR_RESULT, GetTrainerBattleMode + compare VAR_RESULT, TRAINER_BATTLE_SINGLE + goto_if_eq EventScript_EndTrainerBattle + compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT + goto_if_eq EventScript_EndTrainerBattleContinueScript + compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC + goto_if_eq EventScript_EndTrainerBattleContinueScript + compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE + goto_if_eq EventScript_EndTrainerBattleContinueScript + compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC + goto_if_eq EventScript_EndTrainerBattleContinueScript +EventScript_EndTrainerBattle:: @ 81A5017 releaseall end -EventScript_1A5019:: @ 81A5019 +EventScript_EndTrainerBattleContinueScript:: @ 81A5019 ontrainerbattleendgoto -EventScript_1A501A:: @ 81A501A +EventScript_EndQuestLogBattle:: @ 81A501A special SetBattledTrainerFlag releaseall end diff --git a/data/scripts/trainer_card.inc b/data/scripts/trainer_card.inc new file mode 100644 index 000000000..993db55bc --- /dev/null +++ b/data/scripts/trainer_card.inc @@ -0,0 +1,376 @@ +CeladonCity_GameCorner_EventScript_PhotoPrinter:: @ 81B2867 + lockall + showmoneybox 0, 0, 0 + msgbox CeladonCity_GameCorner_Text_TryPokemonPrinter, MSGBOX_YESNO + compare VAR_RESULT, NO + goto_if_eq CeladonCity_GameCorner_EventScript_DeclinePhoto + checkmoney 50, 0 + compare VAR_RESULT, FALSE + goto_if_eq CeladonCity_GameCorner_EventScript_NotEnoughMoneyForPhoto + playse SE_SHOP + removemoney 50, 0 + updatemoneybox 0, 0, 0 + waitse + message CeladonCity_GameCorner_Text_ChoosePrintType + waitmessage + multichoice 21, 0, MULTICHOICE_TRAINER_CARD_ICON_TINT, TRUE + switch VAR_RESULT + case 0, CeladonCity_GameCorner_EventScript_PrintTypeNormal + case 1, CeladonCity_GameCorner_EventScript_PrintTypeBlack + case 2, CeladonCity_GameCorner_EventScript_PrintTypePink + case 3, CeladonCity_GameCorner_EventScript_PrintTypeSepia + end + +CeladonCity_GameCorner_EventScript_PrintTypeNormal:: @ 81B28DB + setvar VAR_0x8004, MON_ICON_TINT_NORMAL + goto CeladonCity_GameCorner_EventScript_PrintPhoto + end + +CeladonCity_GameCorner_EventScript_PrintTypeBlack:: @ 81B28E6 + setvar VAR_0x8004, MON_ICON_TINT_BLACK + goto CeladonCity_GameCorner_EventScript_PrintPhoto + end + +CeladonCity_GameCorner_EventScript_PrintTypePink:: @ 81B28F1 + setvar VAR_0x8004, MON_ICON_TINT_PINK + goto CeladonCity_GameCorner_EventScript_PrintPhoto + end + +CeladonCity_GameCorner_EventScript_PrintTypeSepia:: @ 81B28FC + setvar VAR_0x8004, MON_ICON_TINT_SEPIA + goto CeladonCity_GameCorner_EventScript_PrintPhoto + end + +CeladonCity_GameCorner_EventScript_PrintPhoto:: @ 81B2907 + message CeladonCity_GameCorner_Text_BigSmileForPhoto + waitmessage + playse MUS_ME_PHOTO + dofieldeffect FLDEFF_UNK_45 + delay 60 + special UpdateTrainerCardPhotoIcons + msgbox CeladonCity_GameCorner_Text_PrintIsReadyCheckTrainerCard + hidemoneybox 0, 0 + releaseall + end + +CeladonCity_GameCorner_EventScript_DeclinePhoto:: @ 81B2926 + hidemoneybox 0, 0 + releaseall + end + +CeladonCity_GameCorner_EventScript_NotEnoughMoneyForPhoto:: @ 81B292B + msgbox CeladonCity_GameCorner_Text_DontHaveEnoughMoney + hidemoneybox 0, 0 + releaseall + end + +FourIsland_House2_EventScript_StickerMan:: @ 81B2938 + lock + specialvar VAR_0x8008, StickerManGetBragFlags + goto_if_unset FLAG_MET_STICKER_MAN, FourIsland_House2_EventScript_MeetStickerMan + goto_if_set FLAG_MET_STICKER_MAN, FourIsland_House2_EventScript_StickerManAskForBrag + end + +FourIsland_House2_EventScript_MeetStickerMan:: @ 81B2951 + setflag FLAG_MET_STICKER_MAN + msgbox FourIsland_House2_Text_WishICouldShowOffStickers + applymovement 1, Movement_FacePlayer + waitmovement 0 + playse SE_PIN + applymovement 1, Movement_ExclamationMark + waitmovement 0 + applymovement 1, Movement_Delay48 + waitmovement 0 + compare VAR_0x8008, 0 + goto_if_eq FourIsland_House2_EventScript_StickerManNothingToBrag + message FourIsland_House2_Text_GiveYouStickerIfYouBrag + waitmessage + goto FourIsland_House2_EventScript_ChooseBrag + end + +FourIsland_House2_EventScript_StickerManAskForBrag:: @ 81B2994 + applymovement 1, Movement_FacePlayer + waitmovement 0 + goto_if_questlog EventScript_ReleaseEnd + special sub_8112364 + compare VAR_0x8008, 0 + goto_if_eq FourIsland_House2_EventScript_NothingToBragAbout + message FourIsland_House2_Text_BragAboutWhatToday + waitmessage + goto FourIsland_House2_EventScript_ChooseBrag + end + +FourIsland_House2_EventScript_NothingToBragAbout:: @ 81B29C6 + msgbox FourIsland_House2_Text_BragAboutSomethingForMe + release + end + +FourIsland_House2_EventScript_ChooseBrag:: @ 81B29D0 + switch VAR_0x8008 + case 1, FourIsland_House2_EventScript_ChooseBragHoF + case 2, FourIsland_House2_EventScript_ChooseBragEggs + case 4, FourIsland_House2_EventScript_ChooseBragLinkWins + case 3, FourIsland_House2_EventScript_ChooseBragHoFEggs + case 5, FourIsland_House2_EventScript_ChooseBragHoFLinkWins + case 6, FourIsland_House2_EventScript_ChooseBragEggsLinkWins + case 7, FourIsland_House2_EventScript_ChooseBragHofEggsLinkWins + end + +FourIsland_House2_EventScript_ChooseBragHoF:: @ 81B2A23 + multichoice 15, 8, MULTICHOICE_HOF_QUIT, FALSE + switch VAR_RESULT + case 0, FourIsland_House2_EventScript_BragHoF + case 1, FourIsland_House2_EventScript_QuitBrag + case SCR_MENU_CANCEL, FourIsland_House2_EventScript_QuitBrag + end + +FourIsland_House2_EventScript_ChooseBragEggs:: @ 81B2A4F + multichoice 16, 8, MULTICHOICE_EGGS_QUIT, FALSE + switch VAR_RESULT + case 0, FourIsland_House2_EventScript_BragEggs + case 1, FourIsland_House2_EventScript_QuitBrag + case SCR_MENU_CANCEL, FourIsland_House2_EventScript_QuitBrag + end + +FourIsland_House2_EventScript_ChooseBragLinkWins:: @ 81B2A7B + multichoice 15, 8, MULTICHOICE_VICTORIES_QUIT, FALSE + switch VAR_RESULT + case 0, FourIsland_House2_EventScript_BragLinkWins + case 1, FourIsland_House2_EventScript_QuitBrag + case SCR_MENU_CANCEL, FourIsland_House2_EventScript_QuitBrag + end + +FourIsland_House2_EventScript_ChooseBragHoFEggs:: @ 81B2AA7 + multichoice 15, 6, MULTICHOICE_HOF_EGGS_QUIT, FALSE + switch VAR_RESULT + case 0, FourIsland_House2_EventScript_BragHoF + case 1, FourIsland_House2_EventScript_BragEggs + case 2, FourIsland_House2_EventScript_QuitBrag + case SCR_MENU_CANCEL, FourIsland_House2_EventScript_QuitBrag + end + +FourIsland_House2_EventScript_ChooseBragHoFLinkWins:: @ 81B2ADE + multichoice 15, 6, MULTICHOICE_HOF_VICTORIES_QUIT, FALSE + switch VAR_RESULT + case 0, FourIsland_House2_EventScript_BragHoF + case 1, FourIsland_House2_EventScript_BragLinkWins + case 2, FourIsland_House2_EventScript_QuitBrag + case SCR_MENU_CANCEL, FourIsland_House2_EventScript_QuitBrag + end + +FourIsland_House2_EventScript_ChooseBragEggsLinkWins:: @ 81B2B15 + multichoice 15, 6, MULTICHOICE_EGGS_VICTORIES_QUIT, FALSE + switch VAR_RESULT + case 0, FourIsland_House2_EventScript_BragEggs + case 1, FourIsland_House2_EventScript_BragLinkWins + case 2, FourIsland_House2_EventScript_QuitBrag + case SCR_MENU_CANCEL, FourIsland_House2_EventScript_QuitBrag + end + +FourIsland_House2_EventScript_ChooseBragHofEggsLinkWins:: @ 81B2B4C + multichoice 15, 5, MULTICHOICE_HOF_EGGS_VICTORIES_QUIT, FALSE + switch VAR_RESULT + case 0, FourIsland_House2_EventScript_BragHoF + case 1, FourIsland_House2_EventScript_BragEggs + case 2, FourIsland_House2_EventScript_BragLinkWins + case 3, FourIsland_House2_EventScript_QuitBrag + case SCR_MENU_CANCEL, FourIsland_House2_EventScript_QuitBrag + end + +FourIsland_House2_EventScript_StickerManNothingToBrag:: @ 81B2B8E + msgbox FourIsland_House2_Text_GiveYouStickerIfYouBrag + release + end + +FourIsland_House2_EventScript_BragHoF:: @ 81B2B98 + compare VAR_0x8004, 39 + goto_if_le FourIsland_House2_EventScript_BragHoFLowest + compare VAR_0x8004, 99 + goto_if_le FourIsland_House2_EventScript_BragHoFLow + compare VAR_0x8004, 199 + goto_if_le FourIsland_House2_EventScript_BragHoFHigh + compare VAR_0x8004, 200 + goto_if_ge FourIsland_House2_EventScript_BragHoFHighest + end + +FourIsland_House2_EventScript_BragHoFLowest:: @ 81B2BC5 + compare VAR_HOF_BRAG_STATE, 1 + goto_if_eq FourIsland_House2_EventScript_AlreadyBraggedHoF + setvar VAR_HOF_BRAG_STATE, 1 + msgbox FourIsland_House2_Text_WowHoFLowest + goto FourIsland_House2_EventScript_BraggedHoF + end + +FourIsland_House2_EventScript_BragHoFLow:: @ 81B2BE3 + compare VAR_HOF_BRAG_STATE, 2 + goto_if_eq FourIsland_House2_EventScript_AlreadyBraggedHoF + setvar VAR_HOF_BRAG_STATE, 2 + msgbox FourIsland_House2_Text_WowHoFLow + goto FourIsland_House2_EventScript_BraggedHoF + end + +FourIsland_House2_EventScript_BragHoFHigh:: @ 81B2C01 + compare VAR_HOF_BRAG_STATE, 3 + goto_if_eq FourIsland_House2_EventScript_AlreadyBraggedHoF + setvar VAR_HOF_BRAG_STATE, 3 + msgbox FourIsland_House2_Text_WowHoFHigh + goto FourIsland_House2_EventScript_BraggedHoF + end + +FourIsland_House2_EventScript_BragHoFHighest:: @ 81B2C1F + compare VAR_HOF_BRAG_STATE, 4 + goto_if_eq FourIsland_House2_EventScript_AlreadyBraggedHoFMax + setvar VAR_HOF_BRAG_STATE, 4 + msgbox FourIsland_House2_Text_WowHoFHighest + goto FourIsland_House2_EventScript_BraggedHoF + end + +FourIsland_House2_EventScript_AlreadyBraggedHoF:: @ 81B2C3D + msgbox FourIsland_House2_Text_ComeBackWithBetterStoryHoF + release + end + +FourIsland_House2_EventScript_AlreadyBraggedHoFMax:: @ 81B2C47 + msgbox FourIsland_House2_Text_LivingLegendHoF + release + end + +FourIsland_House2_EventScript_BraggedHoF:: @ 81B2C51 + textcolor 3 + playfanfare MUS_FANFA1 + message FourIsland_House2_Text_HoFStickerApplied + waitmessage + waitfanfare + delay 90 + release + end + +FourIsland_House2_EventScript_BragEggs:: @ 81B2C62 + compare VAR_0x8005, 99 + goto_if_le FourIsland_House2_EventScript_BragEggsLowest + compare VAR_0x8005, 199 + goto_if_le FourIsland_House2_EventScript_BragEggsLow + compare VAR_0x8005, 299 + goto_if_le FourIsland_House2_EventScript_BragEggsHigh + compare VAR_0x8005, 300 + goto_if_ge FourIsland_House2_EventScript_BragEggsHighest + end + +FourIsland_House2_EventScript_BragEggsLowest:: @ 81B2C8F + compare VAR_EGG_BRAG_STATE, 1 + goto_if_eq FourIsland_House2_EventScript_AlreadyBraggedEggs + setvar VAR_EGG_BRAG_STATE, 1 + msgbox FourIsland_House2_Text_WowEggsLowest + goto FourIsland_House2_EventScript_BraggedEggs + end + +FourIsland_House2_EventScript_BragEggsLow:: @ 81B2CAD + compare VAR_EGG_BRAG_STATE, 2 + goto_if_eq FourIsland_House2_EventScript_AlreadyBraggedEggs + setvar VAR_EGG_BRAG_STATE, 2 + msgbox FourIsland_House2_Text_WowEggsLow + goto FourIsland_House2_EventScript_BraggedEggs + end + +FourIsland_House2_EventScript_BragEggsHigh:: @ 81B2CCB + compare VAR_EGG_BRAG_STATE, 3 + goto_if_eq FourIsland_House2_EventScript_AlreadyBraggedEggs + setvar VAR_EGG_BRAG_STATE, 3 + msgbox FourIsland_House2_Text_WowEggsHigh + goto FourIsland_House2_EventScript_BraggedEggs + end + +FourIsland_House2_EventScript_BragEggsHighest:: @ 81B2CE9 + compare VAR_EGG_BRAG_STATE, 4 + goto_if_eq FourIsland_House2_EventScript_AlreadyBraggedEggsMax + setvar VAR_EGG_BRAG_STATE, 4 + msgbox FourIsland_House2_Text_WowEggsHighest + goto FourIsland_House2_EventScript_BraggedEggs + end + +FourIsland_House2_EventScript_AlreadyBraggedEggs:: @ 81B2D07 + msgbox FourIsland_House2_Text_ComeBackWithBetterStoryEggs + release + end + +FourIsland_House2_EventScript_AlreadyBraggedEggsMax:: @ 81B2D11 + msgbox FourIsland_House2_Text_LivingLegendEggs + release + end + +FourIsland_House2_EventScript_BraggedEggs:: @ 81B2D1B + textcolor 3 + playfanfare MUS_FANFA1 + message FourIsland_House2_Text_EggStickerApplied + waitmessage + waitfanfare + delay 90 + release + end + +FourIsland_House2_EventScript_BragLinkWins:: @ 81B2D2C + compare VAR_0x8006, 19 + goto_if_le FourIsland_House2_EventScript_BragLinkWinsLowest + compare VAR_0x8006, 49 + goto_if_le FourIsland_House2_EventScript_BragLinkWinsLow + compare VAR_0x8006, 99 + goto_if_le FourIsland_House2_EventScript_BragLinkWinsHigh + compare VAR_0x8006, 100 + goto_if_ge FourIsland_House2_EventScript_BragLinkWinsHighest + end + +FourIsland_House2_EventScript_BragLinkWinsLowest:: @ 81B2D59 + compare VAR_LINK_WIN_BRAG_STATE, 1 + goto_if_eq FourIsland_House2_EventScript_AlreadyBraggedLinkWins + setvar VAR_LINK_WIN_BRAG_STATE, 1 + msgbox FourIsland_House2_Text_WowLinkWinsLowest + goto FourIsland_House2_EventScript_BraggedLinkWins + end + +FourIsland_House2_EventScript_BragLinkWinsLow:: @ 81B2D77 + compare VAR_LINK_WIN_BRAG_STATE, 2 + goto_if_eq FourIsland_House2_EventScript_AlreadyBraggedLinkWins + setvar VAR_LINK_WIN_BRAG_STATE, 2 + msgbox FourIsland_House2_Text_WowLinkWinsLow + goto FourIsland_House2_EventScript_BraggedLinkWins + end + +FourIsland_House2_EventScript_BragLinkWinsHigh:: @ 81B2D95 + compare VAR_LINK_WIN_BRAG_STATE, 3 + goto_if_eq FourIsland_House2_EventScript_AlreadyBraggedLinkWins + setvar VAR_LINK_WIN_BRAG_STATE, 3 + msgbox FourIsland_House2_Text_WowLinkWinsHigh + goto FourIsland_House2_EventScript_BraggedLinkWins + end + +FourIsland_House2_EventScript_BragLinkWinsHighest:: @ 81B2DB3 + compare VAR_LINK_WIN_BRAG_STATE, 4 + goto_if_eq FourIsland_House2_EventScript_AlreadyBraggedLinkWinsMax + setvar VAR_LINK_WIN_BRAG_STATE, 4 + msgbox FourIsland_House2_Text_WowLinkWinsHighest + goto FourIsland_House2_EventScript_BraggedLinkWins + end + +FourIsland_House2_EventScript_AlreadyBraggedLinkWins:: @ 81B2DD1 + msgbox FourIsland_House2_Text_ComeBackWithBetterStoryLinkWins + release + end + +FourIsland_House2_EventScript_AlreadyBraggedLinkWinsMax:: @ 81B2DDB + msgbox FourIsland_House2_Text_LivingLegendLinkWins + release + end + +FourIsland_House2_EventScript_BraggedLinkWins:: @ 81B2DE5 + textcolor 3 + playfanfare MUS_FANFA1 + message FourIsland_House2_Text_VictoryStickerApplied + waitmessage + waitfanfare + delay 90 + release + end + +FourIsland_House2_EventScript_QuitBrag:: @ 81B2DF6 + release + end diff --git a/data/scripts/trainer_tower.inc b/data/scripts/trainer_tower.inc index 2a5a84f72..3b21c0844 100644 --- a/data/scripts/trainer_tower.inc +++ b/data/scripts/trainer_tower.inc @@ -1,320 +1,297 @@ -SevenIsland_TrainerTower_1F_MapScript1_1C4F54:: @ 81C4F54 -SevenIsland_TrainerTower_2F_MapScript1_1C4F54:: @ 81C4F54 -SevenIsland_TrainerTower_3F_MapScript1_1C4F54:: @ 81C4F54 -SevenIsland_TrainerTower_4F_MapScript1_1C4F54:: @ 81C4F54 -SevenIsland_TrainerTower_5F_MapScript1_1C4F54:: @ 81C4F54 -SevenIsland_TrainerTower_6F_MapScript1_1C4F54:: @ 81C4F54 -SevenIsland_TrainerTower_7F_MapScript1_1C4F54:: @ 81C4F54 -SevenIsland_TrainerTower_8F_MapScript1_1C4F54:: @ 81C4F54 -SevenIsland_TrainerTower_Elevator_MapScript1_1C4F54:: @ 81C4F54 -SevenIsland_TrainerTower_Roof_MapScript1_1C4F54:: @ 81C4F54 +@ Local IDs apply to all floors (not lobby or roof) +.equ LOCALID_TRAINER_DOUBLES1, 2 +.equ LOCALID_TRAINER_SINGLES, 3 +.equ LOCALID_TRAINER_KNOCKOUT, 4 +.equ LOCALID_TRAINER_DOUBLES2, 5 + +.equ HIDE_TRAINER_DOUBLES1, FLAG_TEMP_2 +.equ HIDE_TRAINER_SINGLES, FLAG_TEMP_3 +.equ HIDE_TRAINER_KNOCKOUT, FLAG_TEMP_4 +.equ HIDE_TRAINER_DOUBLES2, FLAG_TEMP_5 +.equ HIDE_OWNER, FLAG_TEMP_6 + +.equ DISABLE_SINGLES_TRIGGER, VAR_TEMP_E +.equ DISABLE_DOUBLES_TRIGGER, VAR_TEMP_F + + +@@ Map scripts + +TrainerTower_OnResume:: @ 81C4F54 setvar VAR_TEMP_2, 0 - setvar VAR_0x8004, 10 - special sub_815D9E8 + ttower_resumetimer end -SevenIsland_TrainerTower_1F_MapScript2_1C4F62:: @ 81C4F62 -SevenIsland_TrainerTower_2F_MapScript2_1C4F62:: @ 81C4F62 -SevenIsland_TrainerTower_3F_MapScript2_1C4F62:: @ 81C4F62 -SevenIsland_TrainerTower_4F_MapScript2_1C4F62:: @ 81C4F62 -SevenIsland_TrainerTower_5F_MapScript2_1C4F62:: @ 81C4F62 -SevenIsland_TrainerTower_6F_MapScript2_1C4F62:: @ 81C4F62 -SevenIsland_TrainerTower_7F_MapScript2_1C4F62:: @ 81C4F62 -SevenIsland_TrainerTower_8F_MapScript2_1C4F62:: @ 81C4F62 - setvar VAR_0x8004, 0 - special sub_815D9E8 +TrainerTower_OnTransition:: @ 81C4F62 + ttower_initfloor switch VAR_RESULT - case 0, EventScript_1C4FA7 - case 1, EventScript_1C4FC5 - case 2, EventScript_1C5019 - setflag FLAG_TEMP_2 - setflag FLAG_TEMP_3 - setflag FLAG_TEMP_4 - setflag FLAG_TEMP_5 - setvar VAR_TEMP_E, 1 - setvar VAR_TEMP_F, 1 + case CHALLENGE_TYPE_SINGLE, TrainerTower_EventScript_SetObjectsSingles + case CHALLENGE_TYPE_DOUBLE, TrainerTower_EventScript_SetObjectsDoubles + case CHALLENGE_TYPE_KNOCKOUT, TrainerTower_EventScript_SetObjectsKnockout + setflag HIDE_TRAINER_DOUBLES1 + setflag HIDE_TRAINER_SINGLES + setflag HIDE_TRAINER_KNOCKOUT + setflag HIDE_TRAINER_DOUBLES2 + setvar DISABLE_SINGLES_TRIGGER, TRUE + setvar DISABLE_DOUBLES_TRIGGER, TRUE end -EventScript_1C4FA7:: @ 81C4FA7 - setflag FLAG_TEMP_2 - setflag FLAG_TEMP_4 - setflag FLAG_TEMP_5 - setvar VAR_TEMP_F, 1 - setobjectxyperm 3, 15, 13 - setobjectmovementtype 3, 9 - goto EventScript_1C5042 +TrainerTower_EventScript_SetObjectsSingles:: @ 81C4FA7 + setflag HIDE_TRAINER_DOUBLES1 + setflag HIDE_TRAINER_KNOCKOUT + setflag HIDE_TRAINER_DOUBLES2 + setvar DISABLE_DOUBLES_TRIGGER, TRUE + setobjectxyperm LOCALID_TRAINER_SINGLES, 15, 13 + setobjectmovementtype LOCALID_TRAINER_SINGLES, MOVEMENT_TYPE_FACE_LEFT + goto TrainerTower_EventScript_HideOwner -EventScript_1C4FC5:: @ 81C4FC5 - setflag FLAG_TEMP_3 - setflag FLAG_TEMP_4 - setvar VAR_TEMP_E, 1 - setvar VAR_0x8004, 5 - special sub_815D9E8 - compare VAR_RESULT, 1 - goto_if_eq EventScript_1C4FFE - setobjectxyperm 2, 10, 12 - setobjectmovementtype 2, 9 - setobjectxyperm 5, 10, 13 - setobjectmovementtype 5, 9 - goto EventScript_1C5042 +TrainerTower_EventScript_SetObjectsDoubles:: @ 81C4FC5 + setflag HIDE_TRAINER_SINGLES + setflag HIDE_TRAINER_KNOCKOUT + setvar DISABLE_SINGLES_TRIGGER, TRUE + ttower_isfloorcleared + compare VAR_RESULT, TRUE + goto_if_eq TrainerTower_EventScript_SetObjectsDoublesAlreadyBeaten + setobjectxyperm LOCALID_TRAINER_DOUBLES1, 10, 12 + setobjectmovementtype LOCALID_TRAINER_DOUBLES1, MOVEMENT_TYPE_FACE_LEFT + setobjectxyperm LOCALID_TRAINER_DOUBLES2, 10, 13 + setobjectmovementtype LOCALID_TRAINER_DOUBLES2, MOVEMENT_TYPE_FACE_LEFT + goto TrainerTower_EventScript_HideOwner -EventScript_1C4FFE:: @ 81C4FFE - setobjectxyperm 2, 10, 12 - setobjectmovementtype 2, 8 - setobjectxyperm 5, 11, 12 - setobjectmovementtype 5, 8 - goto EventScript_1C5042 +TrainerTower_EventScript_SetObjectsDoublesAlreadyBeaten:: @ 81C4FFE + setobjectxyperm LOCALID_TRAINER_DOUBLES1, 10, 12 + setobjectmovementtype LOCALID_TRAINER_DOUBLES1, MOVEMENT_TYPE_FACE_DOWN + setobjectxyperm LOCALID_TRAINER_DOUBLES2, 11, 12 + setobjectmovementtype LOCALID_TRAINER_DOUBLES2, MOVEMENT_TYPE_FACE_DOWN + goto TrainerTower_EventScript_HideOwner -EventScript_1C5019:: @ 81C5019 - setflag FLAG_TEMP_5 - setvar VAR_TEMP_F, 1 - setobjectxyperm 2, 10, 10 - setobjectmovementtype 2, 8 - setobjectxyperm 3, 14, 13 - setobjectmovementtype 3, 9 - setobjectxyperm 4, 10, 16 - setobjectmovementtype 4, 7 -EventScript_1C5042: - setflag FLAG_TEMP_6 +@ Knockout challenge re-uses trainer objects +TrainerTower_EventScript_SetObjectsKnockout:: @ 81C5019 + setflag HIDE_TRAINER_DOUBLES2 + setvar DISABLE_DOUBLES_TRIGGER, TRUE + setobjectxyperm LOCALID_TRAINER_DOUBLES1, 10, 10 + setobjectmovementtype LOCALID_TRAINER_DOUBLES1, MOVEMENT_TYPE_FACE_DOWN + setobjectxyperm LOCALID_TRAINER_SINGLES, 14, 13 + setobjectmovementtype LOCALID_TRAINER_SINGLES, MOVEMENT_TYPE_FACE_LEFT + setobjectxyperm LOCALID_TRAINER_KNOCKOUT, 10, 16 + setobjectmovementtype LOCALID_TRAINER_KNOCKOUT, MOVEMENT_TYPE_FACE_UP +TrainerTower_EventScript_HideOwner: + setflag HIDE_OWNER end -SevenIsland_TrainerTower_1F_MapScript3_1C5046:: @ 81C5046 -SevenIsland_TrainerTower_2F_MapScript3_1C5046:: @ 81C5046 -SevenIsland_TrainerTower_3F_MapScript3_1C5046:: @ 81C5046 -SevenIsland_TrainerTower_4F_MapScript3_1C5046:: @ 81C5046 -SevenIsland_TrainerTower_5F_MapScript3_1C5046:: @ 81C5046 -SevenIsland_TrainerTower_6F_MapScript3_1C5046:: @ 81C5046 -SevenIsland_TrainerTower_7F_MapScript3_1C5046:: @ 81C5046 -SevenIsland_TrainerTower_8F_MapScript3_1C5046:: @ 81C5046 -SevenIsland_TrainerTower_Elevator_MapScript2_1C5046:: @ 81C5046 -SevenIsland_TrainerTower_Roof_MapScript2_1C5046:: @ 81C5046 - map_script_2 VAR_TEMP_2, 0, EventScript_1C5050 +TrainerTower_OnFrame:: @ 81C5046 + map_script_2 VAR_TEMP_2, 0, TrainerTower_EventScript_EnterFloor .2byte 0 -EventScript_1C5050:: @ 81C5050 +TrainerTower_EventScript_EnterFloor:: @ 81C5050 setvar VAR_TEMP_2, 1 - setvar VAR_0x8004, 5 - special sub_815D9E8 - compare VAR_RESULT, 0 - goto_if_eq EventScript_1C5072 - setvar VAR_TEMP_E, 1 - setvar VAR_TEMP_F, 1 -EventScript_1C5072: - setvar VAR_0x8004, 18 - special sub_815D9E8 - compare VAR_RESULT, 1 - goto_if_eq EventScript_1C5086 + ttower_isfloorcleared + compare VAR_RESULT, FALSE + goto_if_eq TrainerTower_EventScript_EndEnterFloor + setvar DISABLE_SINGLES_TRIGGER, TRUE + setvar DISABLE_DOUBLES_TRIGGER, TRUE +TrainerTower_EventScript_EndEnterFloor: + ttower_shouldexit + compare VAR_RESULT, TRUE + goto_if_eq TrainerTower_EventScript_WarpToLobby end -EventScript_1C5086:: @ 81C5086 - warp MAP_SEVEN_ISLAND_TRAINER_TOWER_LOBBY, 255, 9, 7 +@ Never reached +TrainerTower_EventScript_WarpToLobby:: @ 81C5086 + warp MAP_TRAINER_TOWER_LOBBY, 255, 9, 7 waitstate -EventScript_1C508F:: - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 0 - special sub_815D9E8 + + +@@ Battle scripts + +TrainerTower_EventScript_TriggerBattle:: + ttower_getchallengetype switch VAR_RESULT - case 0, EventScript_1C50C2 - case 1, EventScript_1C510D - case 2, EventScript_1C515C -EventScript_1C50C2: - setvar VAR_0x8004, 19 - special sub_815D9E8 - applymovement 3, Movement_ExclamationMark + case CHALLENGE_TYPE_SINGLE, TrainerTower_EventScript_DoSingleBattle + case CHALLENGE_TYPE_DOUBLE, TrainerTower_EventScript_DoDoubleBattle + case CHALLENGE_TYPE_KNOCKOUT, TrainerTower_EventScript_DoKnockoutBattle + +TrainerTower_EventScript_DoSingleBattle: + ttower_encountermusic + applymovement LOCALID_TRAINER_SINGLES, Movement_ExclamationMark waitmovement 0 - applymovement 3, Movement_Delay48 + applymovement LOCALID_TRAINER_SINGLES, Movement_Delay48 waitmovement 0 - setvar VAR_TEMP_E, 1 - applymovement 3, Movement_1C5541 + setvar DISABLE_SINGLES_TRIGGER, TRUE + applymovement LOCALID_TRAINER_SINGLES, TrainerTower_Movement_SingleTrainerApproach waitmovement 0 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - setvar VAR_0x8006, 0 - special sub_815D9E8 + ttower_getspeech TRAINER_TOWER_TEXT_INTRO, 0 msgbox gStringVar4 closemessage - goto EventScript_1C5219 + goto TrainerTower_EventScript_DoBattle -EventScript_1C510D:: @ 81C510D - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - copyvar VAR_0x8006, VAR_TEMP_3 - special sub_815D9E8 +TrainerTower_EventScript_DoDoubleBattle:: @ 81C510D + ttower_getspeech TRAINER_TOWER_TEXT_INTRO, VAR_TEMP_3 msgbox gStringVar4 - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_SPEECH + setvar VAR_0x8005, TRAINER_TOWER_TEXT_INTRO addvar VAR_TEMP_3, 1 compare VAR_TEMP_3, 1 - goto_if_eq EventScript_1C5146 + goto_if_eq TrainerTower_EventScript_DoSecondTrainerIntro setvar VAR_TEMP_3, 0 -EventScript_1C5146: +TrainerTower_EventScript_DoSecondTrainerIntro: copyvar VAR_0x8006, VAR_TEMP_3 - special sub_815D9E8 + special CallTrainerTowerFunc msgbox gStringVar4 closemessage - goto EventScript_1C5219 + goto TrainerTower_EventScript_DoBattle -EventScript_1C515C:: @ 81C515C +TrainerTower_EventScript_DoKnockoutBattle:: @ 81C515C switch VAR_TEMP_1 - case 0, EventScript_1C5182 - case 1, EventScript_1C51AD - case 2, EventScript_1C51D8 -EventScript_1C5182: - setvar VAR_0x8004, 19 - special sub_815D9E8 - applymovement 4, Movement_ExclamationMark - waitmovement 0 - applymovement 4, Movement_Delay48 - waitmovement 0 - applymovement 4, Movement_1C5546 - waitmovement 0 - goto EventScript_1C51FE + case 0, TrainerTower_EventScript_DoKnockoutBattle1 + case 1, TrainerTower_EventScript_DoKnockoutBattle2 + case 2, TrainerTower_EventScript_DoKnockoutBattle3 -EventScript_1C51AD:: @ 81C51AD - setvar VAR_0x8004, 19 - special sub_815D9E8 - applymovement 2, Movement_ExclamationMark +TrainerTower_EventScript_DoKnockoutBattle1: + ttower_encountermusic + applymovement LOCALID_TRAINER_KNOCKOUT, Movement_ExclamationMark waitmovement 0 - applymovement 2, Movement_Delay48 + applymovement LOCALID_TRAINER_KNOCKOUT, Movement_Delay48 waitmovement 0 - applymovement 2, Movement_1C5549 + applymovement LOCALID_TRAINER_KNOCKOUT, TrainerTower_Movement_BottomKnockoutTrainerApproach waitmovement 0 - goto EventScript_1C51FE + goto TrainerTower_EventScript_DoKnockoutBattleIntro -EventScript_1C51D8:: @ 81C51D8 - setvar VAR_0x8004, 19 - special sub_815D9E8 - applymovement 3, Movement_ExclamationMark +TrainerTower_EventScript_DoKnockoutBattle2:: @ 81C51AD + ttower_encountermusic + applymovement LOCALID_TRAINER_DOUBLES1, Movement_ExclamationMark waitmovement 0 - applymovement 3, Movement_Delay48 + applymovement LOCALID_TRAINER_DOUBLES1, Movement_Delay48 waitmovement 0 - applymovement 3, Movement_1C5542 + applymovement LOCALID_TRAINER_DOUBLES1, TrainerTower_Movement_TopKnockoutTrainerApproach waitmovement 0 -EventScript_1C51FE: - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 2 - copyvar VAR_0x8006, VAR_TEMP_1 - special sub_815D9E8 + goto TrainerTower_EventScript_DoKnockoutBattleIntro + +TrainerTower_EventScript_DoKnockoutBattle3:: @ 81C51D8 + ttower_encountermusic + applymovement LOCALID_TRAINER_SINGLES, Movement_ExclamationMark + waitmovement 0 + applymovement LOCALID_TRAINER_SINGLES, Movement_Delay48 + waitmovement 0 + applymovement LOCALID_TRAINER_SINGLES, TrainerTower_Movement_RightKnockoutTrainerApproach + waitmovement 0 +TrainerTower_EventScript_DoKnockoutBattleIntro: + ttower_getspeech TRAINER_TOWER_TEXT_INTRO, VAR_TEMP_1 msgbox gStringVar4 closemessage -EventScript_1C5219: - setvar VAR_0x8004, 2 - setvar VAR_0x8005, 0 - special sub_815D9E8 +TrainerTower_EventScript_DoBattle: + ttower_dobattle waitstate switch VAR_RESULT - case 1, EventScript_1C524D - case 2, EventScript_1C52E0 - case 3, EventScript_1C52E0 -EventScript_1C524D: - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 0 - special sub_815D9E8 + case B_OUTCOME_WON, TrainerTower_EventScript_WonBattle + case B_OUTCOME_LOST, TrainerTower_EventScript_WarpToLobbyLost + case B_OUTCOME_DREW, TrainerTower_EventScript_WarpToLobbyLost +TrainerTower_EventScript_WonBattle: + ttower_getchallengetype switch VAR_RESULT - case 0, EventScript_1C52D7 - case 1, EventScript_1C52BA - case 2, EventScript_1C5280 -EventScript_1C5280: + case CHALLENGE_TYPE_SINGLE, TrainerTower_EventScript_SetFloorCleared + case CHALLENGE_TYPE_DOUBLE, TrainerTower_EventScript_MoveDoublesTrainers + case CHALLENGE_TYPE_KNOCKOUT, TrainerTower_EventScript_CheckNextKnockoutBattle + +TrainerTower_EventScript_CheckNextKnockoutBattle: switch VAR_TEMP_1 - case 0, EventScript_1C52A6 - case 1, EventScript_1C52B0 - case 2, EventScript_1C52D0 -EventScript_1C52A6: - addvar VAR_TEMP_1, 1 - goto EventScript_1C515C + case 0, TrainerTower_EventScript_DoSecondKnockoutBattle + case 1, TrainerTower_EventScript_DoThirdKnockoutBattle + case 2, TrainerTower_EventScript_MoveLastKnockoutTrainer -EventScript_1C52B0:: @ 81C52B0 +TrainerTower_EventScript_DoSecondKnockoutBattle: addvar VAR_TEMP_1, 1 - goto EventScript_1C515C + goto TrainerTower_EventScript_DoKnockoutBattle -EventScript_1C52BA:: @ 81C52BA - applymovement 5, Movement_1C554C +TrainerTower_EventScript_DoThirdKnockoutBattle:: @ 81C52B0 + addvar VAR_TEMP_1, 1 + goto TrainerTower_EventScript_DoKnockoutBattle + +TrainerTower_EventScript_MoveDoublesTrainers:: @ 81C52BA + applymovement LOCALID_TRAINER_DOUBLES2, TrainerTower_Movement_DoublesTrainer2OutOfWay waitmovement 0 - applymovement 2, Movement_1C5550 - goto EventScript_1C52D7 + applymovement LOCALID_TRAINER_DOUBLES1, TrainerTower_Movement_DoublesTrainer1FaceDown + goto TrainerTower_EventScript_SetFloorCleared -EventScript_1C52D0:: @ 81C52D0 - applymovement 3, Movement_1C554D -EventScript_1C52D7: - setvar VAR_0x8004, 4 - special sub_815D9E8 +TrainerTower_EventScript_MoveLastKnockoutTrainer:: @ 81C52D0 + applymovement LOCALID_TRAINER_SINGLES, TrainerTower_Movement_LastKnockoutTrainerOutOfWay +TrainerTower_EventScript_SetFloorCleared: + ttower_clearedfloor end -EventScript_1C52E0:: @ 81C52E0 +TrainerTower_EventScript_WarpToLobbyLost:: @ 81C52E0 special HealPlayerParty - setvar VAR_0x8004, 11 - special sub_815D9E8 - warp MAP_SEVEN_ISLAND_TRAINER_TOWER_LOBBY, 255, 9, 7 + ttower_setlost + warp MAP_TRAINER_TOWER_LOBBY, 255, 9, 7 waitstate -EventScript_1C52F4:: @ 81C52F4 - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 0 - special sub_815D9E8 - switch VAR_RESULT - case 0, EventScript_1C5327 - case 1, EventScript_1C5327 - case 2, EventScript_1C5331 -EventScript_1C5327: - setvar VAR_0x8006, 0 - goto EventScript_1C5391 -EventScript_1C5331:: @ 81C5331 +@@ Speaking to trainers after battle + +TrainerTower_EventScript_SpeakToDoublesTrainer1:: @ 81C52F4 + ttower_getchallengetype + switch VAR_RESULT + case CHALLENGE_TYPE_SINGLE, TrainerTower_EventScript_DoublesTrainer1PostBattle + case CHALLENGE_TYPE_DOUBLE, TrainerTower_EventScript_DoublesTrainer1PostBattle + case CHALLENGE_TYPE_KNOCKOUT, TrainerTower_EventScript_KnockoutTrainer2PostBattle +TrainerTower_EventScript_DoublesTrainer1PostBattle: + setvar VAR_0x8006, 0 + goto TrainerTower_EventScript_DoPostBattleText + +TrainerTower_EventScript_KnockoutTrainer2PostBattle:: @ 81C5331 setvar VAR_0x8006, 1 - goto EventScript_1C5391 + goto TrainerTower_EventScript_DoPostBattleText -EventScript_1C533B:: @ 81C533B - setvar VAR_0x8004, 3 - setvar VAR_0x8005, 0 - special sub_815D9E8 +TrainerTower_EventScript_SpeakToSinglesTrainer:: @ 81C533B + ttower_getchallengetype switch VAR_RESULT - case 0, EventScript_1C536E - case 1, EventScript_1C536E - case 2, EventScript_1C5378 -EventScript_1C536E: + case CHALLENGE_TYPE_SINGLE, TrainerTower_EventScript_SinglesTrainerPostBattle + case CHALLENGE_TYPE_DOUBLE, TrainerTower_EventScript_SinglesTrainerPostBattle + case CHALLENGE_TYPE_KNOCKOUT, TrainerTower_EventScript_KnockoutTrainer3PostBattle +TrainerTower_EventScript_SinglesTrainerPostBattle: setvar VAR_0x8006, 0 - goto EventScript_1C5391 + goto TrainerTower_EventScript_DoPostBattleText -EventScript_1C5378:: @ 81C5378 +TrainerTower_EventScript_KnockoutTrainer3PostBattle:: @ 81C5378 setvar VAR_0x8006, 2 - goto EventScript_1C5391 + goto TrainerTower_EventScript_DoPostBattleText -EventScript_1C5382:: @ 81C5382 +TrainerTower_EventScript_SpeakToKnockoutTrainer:: @ 81C5382 setvar VAR_0x8006, 0 - goto EventScript_1C5391 + goto TrainerTower_EventScript_DoPostBattleText -EventScript_1C538C:: @ 81C538C +TrainerTower_EventScript_SpeakToDoublesTrainer2:: @ 81C538C setvar VAR_0x8006, 1 -EventScript_1C5391: - setvar VAR_0x8004, 1 - setvar VAR_0x8005, 5 - special sub_815D9E8 +TrainerTower_EventScript_DoPostBattleText: + ttower_getspeech TRAINER_TOWER_TEXT_AFTER lock faceplayer msgbox gStringVar4 release return -EventScript_1C53AA:: @ 81C53AA + +@@ Speaking to owner + +TrainerTower_EventScript_SpeakToOwner:: @ 81C53AA lock faceplayer - setvar VAR_0x8004, 7 - special sub_815D9E8 + ttower_getownerstate switch VAR_RESULT - case 0, EventScript_1C53DA - case 1, EventScript_1C53E2 - case 2, EventScript_1C5492 -EventScript_1C53DA: - msgbox Text_17CA5A -EventScript_1C53E2: - setvar VAR_0x8004, 8 - special sub_815D9E8 + case 0, TrainerTower_Roof_EventScript_Arrived + case 1, TrainerTower_Roof_EventScript_GivePrize + case 2, TrainerTower_Roof_EventScript_OwnerEnd + +TrainerTower_Roof_EventScript_Arrived: + msgbox TrainerTower_Roof_Text_ImOwnerBattledPerfectly +TrainerTower_Roof_EventScript_GivePrize: + ttower_giveprize switch VAR_RESULT - case 0, EventScript_1C5410 - case 1, EventScript_1C543A - case 2, EventScript_1C544F -EventScript_1C5410: - msgbox Text_17CB09 + case 0, TrainerTower_Roof_EventScript_ReceivePrize + case 1, TrainerTower_Roof_EventScript_NoRoomForPrize + case 2, TrainerTower_Roof_EventScript_CheckFinalTime + +TrainerTower_Roof_EventScript_ReceivePrize: + msgbox TrainerTower_Roof_Text_ThisIsForYou textcolor 3 playfanfare MUS_FANFA1 message Text_ObtainedTheX @@ -322,129 +299,106 @@ EventScript_1C5410: waitmessage getstdstring 2, STDSTRING_ITEMS_POCKET msgbox Text_PutItemAway - call EventScript_1A6675 - goto EventScript_1C544F + call EventScript_RestorePrevTextColor + goto TrainerTower_Roof_EventScript_CheckFinalTime -EventScript_1C543A:: @ 81C543A - msgbox Text_17CB09 +TrainerTower_Roof_EventScript_NoRoomForPrize:: @ 81C543A + msgbox TrainerTower_Roof_Text_ThisIsForYou msgbox Text_BagIsFull - goto EventScript_1C544F + goto TrainerTower_Roof_EventScript_CheckFinalTime -EventScript_1C544F:: @ 81C544F - setvar VAR_0x8004, 9 - special sub_815D9E8 +TrainerTower_Roof_EventScript_CheckFinalTime:: @ 81C544F + ttower_checkfinaltime switch VAR_RESULT - case 0, EventScript_1C547D - case 1, EventScript_1C548A - case 2, EventScript_1C5492 -EventScript_1C547D: - msgbox Text_17CB1A - goto EventScript_1C5492 + case 0, TrainerTower_Roof_EventScript_NewRecord + case 1, TrainerTower_Roof_EventScript_NoNewRecord + case 2, TrainerTower_Roof_EventScript_OwnerEnd -EventScript_1C548A:: @ 81C548A - msgbox Text_17CBC0 -EventScript_1C5492: - msgbox Text_17CBF5 +TrainerTower_Roof_EventScript_NewRecord: + msgbox TrainerTower_Roof_Text_DoneItInRecordTime + goto TrainerTower_Roof_EventScript_OwnerEnd + +TrainerTower_Roof_EventScript_NoNewRecord:: @ 81C548A + msgbox TrainerTower_Roof_Text_TookSweetTimeGettingHere +TrainerTower_Roof_EventScript_OwnerEnd: + msgbox TrainerTower_Roof_Text_IdLikeToSeeBetterTime release return -EventScript_1C549C:: @ 81C549C +TrainerTower_EventScript_ShowTime:: @ 81C549C lockall - setvar VAR_0x8004, 13 - special sub_815D9E8 - msgbox Text_17CC56 + ttower_gettime + msgbox TrainerTower_Text_XMinYZSec releaseall end -SevenIsland_TrainerTower_2F_EventScript_1C54AF:: @ 81C54AF -SevenIsland_TrainerTower_4F_EventScript_1C54AF:: @ 81C54AF -SevenIsland_TrainerTower_6F_EventScript_1C54AF:: @ 81C54AF -SevenIsland_TrainerTower_8F_EventScript_1C54AF:: @ 81C54AF -SevenIsland_TrainerTower_5F_EventScript_1C54AF:: @ 81C54AF -SevenIsland_TrainerTower_7F_EventScript_1C54AF:: @ 81C54AF -SevenIsland_TrainerTower_3F_EventScript_1C54AF:: @ 81C54AF -SevenIsland_TrainerTower_1F_EventScript_1C54AF:: @ 81C54AF - goto EventScript_1C508F -SevenIsland_TrainerTower_2F_EventScript_1C54B4:: @ 81C54B4 -SevenIsland_TrainerTower_4F_EventScript_1C54B4:: @ 81C54B4 -SevenIsland_TrainerTower_6F_EventScript_1C54B4:: @ 81C54B4 -SevenIsland_TrainerTower_8F_EventScript_1C54B4:: @ 81C54B4 -SevenIsland_TrainerTower_5F_EventScript_1C54B4:: @ 81C54B4 -SevenIsland_TrainerTower_7F_EventScript_1C54B4:: @ 81C54B4 -SevenIsland_TrainerTower_3F_EventScript_1C54B4:: @ 81C54B4 -SevenIsland_TrainerTower_1F_EventScript_1C54B4:: @ 81C54B4 +@@ Battle triggers + +TrainerTower_EventScript_SingleBattleTrigger:: @ 81C54AF + goto TrainerTower_EventScript_TriggerBattle + +TrainerTower_EventScript_DoubleBattleTriggerTop:: @ 81C54B4 setvar VAR_TEMP_3, 0 - setvar VAR_0x8004, 16 - special sub_815D9E8 - compare VAR_RESULT, 0 - goto_if_ne EventScript_1C5528 - setvar VAR_0x8004, 19 - special sub_815D9E8 - applymovement 2, Movement_ExclamationMark + ttower_checkdoubles + compare VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS + goto_if_ne TrainerTower_EventScript_IneligibleForDoubleBattle + ttower_encountermusic + applymovement LOCALID_TRAINER_DOUBLES1, Movement_ExclamationMark waitmovement 0 - applymovement 2, Movement_Delay48 - goto EventScript_1C551B + applymovement LOCALID_TRAINER_DOUBLES1, Movement_Delay48 + goto TrainerTower_EventScript_TriggerDoubleBattle -SevenIsland_TrainerTower_2F_EventScript_1C54EA:: @ 81C54EA -SevenIsland_TrainerTower_4F_EventScript_1C54EA:: @ 81C54EA -SevenIsland_TrainerTower_6F_EventScript_1C54EA:: @ 81C54EA -SevenIsland_TrainerTower_8F_EventScript_1C54EA:: @ 81C54EA -SevenIsland_TrainerTower_5F_EventScript_1C54EA:: @ 81C54EA -SevenIsland_TrainerTower_7F_EventScript_1C54EA:: @ 81C54EA -SevenIsland_TrainerTower_3F_EventScript_1C54EA:: @ 81C54EA -SevenIsland_TrainerTower_1F_EventScript_1C54EA:: @ 81C54EA +TrainerTower_EventScript_DoubleBattleTriggerBottom:: @ 81C54EA setvar VAR_TEMP_3, 1 - setvar VAR_0x8004, 16 - special sub_815D9E8 - compare VAR_RESULT, 0 - goto_if_ne EventScript_1C5528 - setvar VAR_0x8004, 19 - special sub_815D9E8 - applymovement 5, Movement_ExclamationMark + ttower_checkdoubles + compare VAR_RESULT, PLAYER_HAS_TWO_USABLE_MONS + goto_if_ne TrainerTower_EventScript_IneligibleForDoubleBattle + ttower_encountermusic + applymovement LOCALID_TRAINER_DOUBLES2, Movement_ExclamationMark waitmovement 0 - applymovement 5, Movement_Delay48 -EventScript_1C551B: + applymovement LOCALID_TRAINER_DOUBLES2, Movement_Delay48 +TrainerTower_EventScript_TriggerDoubleBattle: waitmovement 0 - setvar VAR_TEMP_F, 1 - goto EventScript_1C508F + setvar DISABLE_DOUBLES_TRIGGER, TRUE + goto TrainerTower_EventScript_TriggerBattle -EventScript_1C5528:: @ 81C5528 +TrainerTower_EventScript_IneligibleForDoubleBattle:: @ 81C5528 lockall playse SE_PINPON - msgbox Text_17CC73 + msgbox TrainerTower_Lobby_Text_NeedTwoMonsForDouble closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_1C5544 + applymovement OBJ_EVENT_ID_PLAYER, TrainerTower_Movement_PushPlayerBack waitmovement 0 releaseall end -Movement_1C5541: +TrainerTower_Movement_SingleTrainerApproach: walk_left -Movement_1C5542:: @ 81C5542 +TrainerTower_Movement_RightKnockoutTrainerApproach:: @ 81C5542 walk_left walk_left -Movement_1C5544: +TrainerTower_Movement_PushPlayerBack: walk_left step_end -Movement_1C5546:: @ 81C5546 +TrainerTower_Movement_BottomKnockoutTrainerApproach:: @ 81C5546 walk_up walk_up step_end -Movement_1C5549:: @ 81C5549 +TrainerTower_Movement_TopKnockoutTrainerApproach:: @ 81C5549 walk_down walk_down step_end -Movement_1C554C:: @ 81C554C +TrainerTower_Movement_DoublesTrainer2OutOfWay:: @ 81C554C walk_right -Movement_1C554D: +TrainerTower_Movement_LastKnockoutTrainerOutOfWay: walk_up face_down step_end -Movement_1C5550:: @ 81C5550 +TrainerTower_Movement_DoublesTrainer1FaceDown:: @ 81C5550 face_down step_end diff --git a/data/scripts/trainers.inc b/data/scripts/trainers.inc index d08364a6a..7e5f6102e 100644 --- a/data/scripts/trainers.inc +++ b/data/scripts/trainers.inc @@ -1,3041 +1,3041 @@ -Route3_EventScript_1A93C9:: @ 81A93C9 - trainerbattle_single TRAINER_YOUNGSTER_BEN, Text_183560, Text_1835A0 +Route3_EventScript_Ben:: @ 81A93C9 + trainerbattle_single TRAINER_YOUNGSTER_BEN, Route3_Text_BenIntro, Route3_Text_BenDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A93F0 - msgbox Text_1835B4, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route3_EventScript_BenRematch + msgbox Route3_Text_BenPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A93F0:: @ 81A93F0 - trainerbattle_rematch TRAINER_YOUNGSTER_BEN, Text_1C149D, Text_1835A0 - msgbox Text_1835B4, MSGBOX_AUTOCLOSE +Route3_EventScript_BenRematch:: @ 81A93F0 + trainerbattle_rematch TRAINER_YOUNGSTER_BEN, Route3_Text_BenRematchIntro, Route3_Text_BenDefeat + msgbox Route3_Text_BenPostBattle, MSGBOX_AUTOCLOSE end -Route3_EventScript_1A9407:: @ 81A9407 - trainerbattle_single TRAINER_YOUNGSTER_CALVIN, Text_183786, Text_1837BD +Route3_EventScript_Calvin:: @ 81A9407 + trainerbattle_single TRAINER_YOUNGSTER_CALVIN, Route3_Text_CalvinIntro, Route3_Text_CalvinDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A942E - msgbox Text_1837CF, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route3_EventScript_CalvinRematch + msgbox Route3_Text_CalvinPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A942E:: @ 81A942E - trainerbattle_rematch TRAINER_YOUNGSTER_CALVIN, Text_1C1588, Text_1837BD - msgbox Text_1837CF, MSGBOX_AUTOCLOSE +Route3_EventScript_CalvinRematch:: @ 81A942E + trainerbattle_rematch TRAINER_YOUNGSTER_CALVIN, Route3_Text_CalvinRematchIntro, Route3_Text_CalvinDefeat + msgbox Route3_Text_CalvinPostBattle, MSGBOX_AUTOCLOSE end -Route3_EventScript_1A9445:: @ 81A9445 - trainerbattle_single TRAINER_BUG_CATCHER_COLTON, Text_1834E6, Text_183509 +Route3_EventScript_Colton:: @ 81A9445 + trainerbattle_single TRAINER_BUG_CATCHER_COLTON, Route3_Text_ColtonIntro, Route3_Text_ColtonDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A946C - msgbox Text_18351C, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route3_EventScript_ColtonRematch + msgbox Route3_Text_ColtonPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A946C:: @ 81A946C - trainerbattle_rematch TRAINER_BUG_CATCHER_COLTON, Text_1C147A, Text_183509 - msgbox Text_18351C, MSGBOX_AUTOCLOSE +Route3_EventScript_ColtonRematch:: @ 81A946C + trainerbattle_rematch TRAINER_BUG_CATCHER_COLTON, Route3_Text_ColtonRematchIntro, Route3_Text_ColtonDefeat + msgbox Route3_Text_ColtonPostBattle, MSGBOX_AUTOCLOSE end -Route3_EventScript_1A9483:: @ 81A9483 - trainerbattle_single TRAINER_BUG_CATCHER_GREG, Text_183682, Text_1836B3 +Route3_EventScript_Greg:: @ 81A9483 + trainerbattle_single TRAINER_BUG_CATCHER_GREG, Route3_Text_GregIntro, Route3_Text_GregDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A94AA - msgbox Text_1836D9, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route3_EventScript_GregRematch + msgbox Route3_Text_GregPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A94AA:: @ 81A94AA - trainerbattle_rematch TRAINER_BUG_CATCHER_GREG, Text_1C1521, Text_1836B3 - msgbox Text_1836D9, MSGBOX_AUTOCLOSE +Route3_EventScript_GregRematch:: @ 81A94AA + trainerbattle_rematch TRAINER_BUG_CATCHER_GREG, Route3_Text_GregRematchIntro, Route3_Text_GregDefeat + msgbox Route3_Text_GregPostBattle, MSGBOX_AUTOCLOSE end -Route3_EventScript_1A94C1:: @ 81A94C1 - trainerbattle_single TRAINER_BUG_CATCHER_JAMES, Text_183807, Text_183837 +Route3_EventScript_James:: @ 81A94C1 + trainerbattle_single TRAINER_BUG_CATCHER_JAMES, Route3_Text_JamesIntro, Route3_Text_JamesDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A94E8 - msgbox Text_183849, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route3_EventScript_JamesRematch + msgbox Route3_Text_JamesPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A94E8:: @ 81A94E8 - trainerbattle_rematch TRAINER_BUG_CATCHER_JAMES, Text_1C15C5, Text_183837 - msgbox Text_183849, MSGBOX_AUTOCLOSE +Route3_EventScript_JamesRematch:: @ 81A94E8 + trainerbattle_rematch TRAINER_BUG_CATCHER_JAMES, Route3_Text_JamesRematchIntro, Route3_Text_JamesDefeat + msgbox Route3_Text_JamesPostBattle, MSGBOX_AUTOCLOSE end -Route3_EventScript_1A94FF:: @ 81A94FF - trainerbattle_single TRAINER_LASS_JANICE, Text_183616, Text_18363F +Route3_EventScript_Janice:: @ 81A94FF + trainerbattle_single TRAINER_LASS_JANICE, Route3_Text_JaniceIntro, Route3_Text_JaniceDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9526 - msgbox Text_18364C, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route3_EventScript_JaniceRematch + msgbox Route3_Text_JanicePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9526:: @ 81A9526 - trainerbattle_rematch TRAINER_LASS_JANICE, Text_1C14F3, Text_18363F - msgbox Text_18364C, MSGBOX_AUTOCLOSE +Route3_EventScript_JaniceRematch:: @ 81A9526 + trainerbattle_rematch TRAINER_LASS_JANICE, Route3_Text_JaniceRematchIntro, Route3_Text_JaniceDefeat + msgbox Route3_Text_JanicePostBattle, MSGBOX_AUTOCLOSE end -Route3_EventScript_1A953D:: @ 81A953D - trainerbattle_single TRAINER_LASS_SALLY, Text_18371B, Text_183746 +Route3_EventScript_Sally:: @ 81A953D + trainerbattle_single TRAINER_LASS_SALLY, Route3_Text_SallyIntro, Route3_Text_SallyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9564 - msgbox Text_18374F, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route3_EventScript_SallyRematch + msgbox Route3_Text_SallyPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9564:: @ 81A9564 - trainerbattle_rematch TRAINER_LASS_SALLY, Text_1C155D, Text_183746 - msgbox Text_18374F, MSGBOX_AUTOCLOSE +Route3_EventScript_SallyRematch:: @ 81A9564 + trainerbattle_rematch TRAINER_LASS_SALLY, Route3_Text_SallyRematchIntro, Route3_Text_SallyDefeat + msgbox Route3_Text_SallyPostBattle, MSGBOX_AUTOCLOSE end -Route3_EventScript_1A957B:: @ 81A957B - trainerbattle_single TRAINER_LASS_ROBIN, Text_18387A, Text_183891 +Route3_EventScript_Robin:: @ 81A957B + trainerbattle_single TRAINER_LASS_ROBIN, Route3_Text_RobinIntro, Route3_Text_RobinDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A95A2 - msgbox Text_18389C, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route3_EventScript_RobinRematch + msgbox Route3_Text_RobinPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A95A2:: @ 81A95A2 - trainerbattle_rematch TRAINER_LASS_ROBIN, Text_1C15F9, Text_183891 - msgbox Text_18389C, MSGBOX_AUTOCLOSE +Route3_EventScript_RobinRematch:: @ 81A95A2 + trainerbattle_rematch TRAINER_LASS_ROBIN, Route3_Text_RobinRematchIntro, Route3_Text_RobinDefeat + msgbox Route3_Text_RobinPostBattle, MSGBOX_AUTOCLOSE end -Route4_EventScript_1A95B9:: @ 81A95B9 - trainerbattle_single TRAINER_LASS_CRISSY, Text_183906, Text_183938 +Route4_EventScript_Crissy:: @ 81A95B9 + trainerbattle_single TRAINER_LASS_CRISSY, Route4_Text_CrissyIntro, Route4_Text_CrissyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A95E0 - msgbox Text_183957, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route4_EventScript_CrissyRematch + msgbox Route4_Text_CrissyPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A95E0:: @ 81A95E0 - trainerbattle_rematch TRAINER_LASS_CRISSY, Text_1C160F, Text_183938 - msgbox Text_183957, MSGBOX_AUTOCLOSE +Route4_EventScript_CrissyRematch:: @ 81A95E0 + trainerbattle_rematch TRAINER_LASS_CRISSY, Route4_Text_CrissyRematchIntro, Route4_Text_CrissyDefeat + msgbox Route4_Text_CrissyPostBattle, MSGBOX_AUTOCLOSE end -Route24_EventScript_1A95F7:: @ 81A95F7 - trainerbattle_single TRAINER_YOUNGSTER_TIMMY, Text_188F76, Text_188F95 +Route24_EventScript_Timmy:: @ 81A95F7 + trainerbattle_single TRAINER_YOUNGSTER_TIMMY, Route24_Text_TimmyIntro, Route24_Text_TimmyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A961E - msgbox Text_188FA7, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route24_EventScript_TimmyRematch + msgbox Route24_Text_TimmyPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A961E:: @ 81A961E - trainerbattle_rematch TRAINER_YOUNGSTER_TIMMY, Text_1C3657, Text_188F95 - msgbox Text_188FA7, MSGBOX_AUTOCLOSE +Route24_EventScript_TimmyRematch:: @ 81A961E + trainerbattle_rematch TRAINER_YOUNGSTER_TIMMY, Route24_Text_TimmyRematchIntro, Route24_Text_TimmyDefeat + msgbox Route24_Text_TimmyPostBattle, MSGBOX_AUTOCLOSE end -Route24_EventScript_1A9635:: @ 81A9635 - trainerbattle_single TRAINER_BUG_CATCHER_CALE, Text_18901B, Text_18908C +Route24_EventScript_Cale:: @ 81A9635 + trainerbattle_single TRAINER_BUG_CATCHER_CALE, Route24_Text_CaleIntro, Route24_Text_CaleDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A965C - msgbox Text_18909E, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route24_EventScript_CaleRematch + msgbox Route24_Text_CalePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A965C:: @ 81A965C - trainerbattle_rematch TRAINER_BUG_CATCHER_CALE, Text_1C36DA, Text_18908C - msgbox Text_18909E, MSGBOX_AUTOCLOSE +Route24_EventScript_CaleRematch:: @ 81A965C + trainerbattle_rematch TRAINER_BUG_CATCHER_CALE, Route24_Text_CaleRematchIntro, Route24_Text_CaleDefeat + msgbox Route24_Text_CalePostBattle, MSGBOX_AUTOCLOSE end -Route24_EventScript_1A9673:: @ 81A9673 - trainerbattle_single TRAINER_LASS_RELI, Text_188F2C, Text_188F46 +Route24_EventScript_Reli:: @ 81A9673 + trainerbattle_single TRAINER_LASS_RELI, Route24_Text_ReliIntro, Route24_Text_ReliDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A969A - msgbox Text_188F53, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route24_EventScript_ReliRematch + msgbox Route24_Text_ReliPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A969A:: @ 81A969A - trainerbattle_rematch TRAINER_LASS_RELI, Text_1C3624, Text_188F46 - msgbox Text_188F53, MSGBOX_AUTOCLOSE +Route24_EventScript_ReliRematch:: @ 81A969A + trainerbattle_rematch TRAINER_LASS_RELI, Route24_Text_ReliRematchIntro, Route24_Text_ReliDefeat + msgbox Route24_Text_ReliPostBattle, MSGBOX_AUTOCLOSE end -Route24_EventScript_1A96B1:: @ 81A96B1 - trainerbattle_single TRAINER_LASS_ALI, Text_188FC9, Text_188FE7 +Route24_EventScript_Ali:: @ 81A96B1 + trainerbattle_single TRAINER_LASS_ALI, Route24_Text_AliIntro, Route24_Text_AliDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A96D8 - msgbox Text_188FF9, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route24_EventScript_AliRematch + msgbox Route24_Text_AliPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A96D8:: @ 81A96D8 - trainerbattle_rematch TRAINER_LASS_ALI, Text_1C3685, Text_188FE7 - msgbox Text_188FF9, MSGBOX_AUTOCLOSE +Route24_EventScript_AliRematch:: @ 81A96D8 + trainerbattle_rematch TRAINER_LASS_ALI, Route24_Text_AliRematchIntro, Route24_Text_AliDefeat + msgbox Route24_Text_AliPostBattle, MSGBOX_AUTOCLOSE end -Route24_EventScript_1A96EF:: @ 81A96EF - trainerbattle_single TRAINER_CAMPER_SHANE, Text_188E74, Text_188E94 +Route24_EventScript_Shane:: @ 81A96EF + trainerbattle_single TRAINER_CAMPER_SHANE, Route24_Text_ShaneIntro, Route24_Text_ShaneDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9716 - msgbox Text_188EA3, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route24_EventScript_ShaneRematch + msgbox Route24_Text_ShanePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9716:: @ 81A9716 - trainerbattle_rematch TRAINER_CAMPER_SHANE, Text_1C35EE, Text_188E94 - msgbox Text_188EA3, MSGBOX_AUTOCLOSE +Route24_EventScript_ShaneRematch:: @ 81A9716 + trainerbattle_rematch TRAINER_CAMPER_SHANE, Route24_Text_ShaneRematchIntro, Route24_Text_ShaneDefeat + msgbox Route24_Text_ShanePostBattle, MSGBOX_AUTOCLOSE end -Route24_EventScript_1A972D:: @ 81A972D - trainerbattle_single TRAINER_CAMPER_ETHAN, Text_188ED9, Text_188EFA +Route24_EventScript_Ethan:: @ 81A972D + trainerbattle_single TRAINER_CAMPER_ETHAN, Route24_Text_EthanIntro, Route24_Text_EthanDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9754 - msgbox Text_188F0A, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route24_EventScript_EthanRematch + msgbox Route24_Text_EthanPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9754:: @ 81A9754 - trainerbattle_rematch TRAINER_CAMPER_ETHAN, Text_1C360E, Text_188EFA - msgbox Text_188F0A, MSGBOX_AUTOCLOSE +Route24_EventScript_EthanRematch:: @ 81A9754 + trainerbattle_rematch TRAINER_CAMPER_ETHAN, Route24_Text_EthanRematchIntro, Route24_Text_EthanDefeat + msgbox Route24_Text_EthanPostBattle, MSGBOX_AUTOCLOSE end -Route25_EventScript_1A976B:: @ 81A976B - trainerbattle_single TRAINER_YOUNGSTER_JOEY, Text_1890C0, Text_1890E6 +Route25_EventScript_Joey:: @ 81A976B + trainerbattle_single TRAINER_YOUNGSTER_JOEY, Route25_Text_JoeyIntro, Route25_Text_JoeyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9792 - msgbox Text_1890F5, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route25_EventScript_JoeyRematch + msgbox Route25_Text_JoeyPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9792:: @ 81A9792 - trainerbattle_rematch TRAINER_YOUNGSTER_JOEY, Text_1C33E7, Text_1890E6 - msgbox Text_1890F5, MSGBOX_AUTOCLOSE +Route25_EventScript_JoeyRematch:: @ 81A9792 + trainerbattle_rematch TRAINER_YOUNGSTER_JOEY, Route25_Text_JoeyRematchIntro, Route25_Text_JoeyDefeat + msgbox Route25_Text_JoeyPostBattle, MSGBOX_AUTOCLOSE end -Route25_EventScript_1A97A9:: @ 81A97A9 - trainerbattle_single TRAINER_YOUNGSTER_DAN, Text_189165, Text_1891A6 +Route25_EventScript_Dan:: @ 81A97A9 + trainerbattle_single TRAINER_YOUNGSTER_DAN, Route25_Text_DanIntro, Route25_Text_DanDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A97D0 - msgbox Text_1891B3, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route25_EventScript_DanRematch + msgbox Route25_Text_DanPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A97D0:: @ 81A97D0 - trainerbattle_rematch TRAINER_YOUNGSTER_DAN, Text_1C3404, Text_1891A6 - msgbox Text_1891B3, MSGBOX_AUTOCLOSE +Route25_EventScript_DanRematch:: @ 81A97D0 + trainerbattle_rematch TRAINER_YOUNGSTER_DAN, Route25_Text_DanRematchIntro, Route25_Text_DanDefeat + msgbox Route25_Text_DanPostBattle, MSGBOX_AUTOCLOSE end -Route25_EventScript_1A97E7:: @ 81A97E7 - trainerbattle_single TRAINER_YOUNGSTER_CHAD, Text_1892A9, Text_1892D9 +Route25_EventScript_Chad:: @ 81A97E7 + trainerbattle_single TRAINER_YOUNGSTER_CHAD, Route25_Text_ChadIntro, Route25_Text_ChadDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A980E - msgbox Text_1892EF, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route25_EventScript_ChadRematch + msgbox Route25_Text_ChadPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A980E:: @ 81A980E - trainerbattle_rematch TRAINER_YOUNGSTER_CHAD, Text_1C34D4, Text_1892D9 - msgbox Text_1892EF, MSGBOX_AUTOCLOSE +Route25_EventScript_ChadRematch:: @ 81A980E + trainerbattle_rematch TRAINER_YOUNGSTER_CHAD, Route25_Text_ChadRematchIntro, Route25_Text_ChadDefeat + msgbox Route25_Text_ChadPostBattle, MSGBOX_AUTOCLOSE end -Route25_EventScript_1A9825:: @ 81A9825 - trainerbattle_single TRAINER_PICNICKER_KELSEY, Text_189247, Text_189261 +Route25_EventScript_Kelsey:: @ 81A9825 + trainerbattle_single TRAINER_PICNICKER_KELSEY, Route25_Text_KelseyIntro, Route25_Text_KelseyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A984C - msgbox Text_189281, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route25_EventScript_KelseyRematch + msgbox Route25_Text_KelseyPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A984C:: @ 81A984C - trainerbattle_rematch TRAINER_PICNICKER_KELSEY, Text_1C349C, Text_189261 - msgbox Text_189281, MSGBOX_AUTOCLOSE +Route25_EventScript_KelseyRematch:: @ 81A984C + trainerbattle_rematch TRAINER_PICNICKER_KELSEY, Route25_Text_KelseyRematchIntro, Route25_Text_KelseyDefeat + msgbox Route25_Text_KelseyPostBattle, MSGBOX_AUTOCLOSE end -Route25_EventScript_1A9863:: @ 81A9863 - trainerbattle_single TRAINER_LASS_HALEY, Text_189333, Text_189364 +Route25_EventScript_Haley:: @ 81A9863 + trainerbattle_single TRAINER_LASS_HALEY, Route25_Text_HaleyIntro, Route25_Text_HaleyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A988A - msgbox Text_189378, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route25_EventScript_HaleyRematch + msgbox Route25_Text_HaleyPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A988A:: @ 81A988A - trainerbattle_rematch TRAINER_LASS_HALEY, Text_1C350A, Text_189364 - msgbox Text_189378, MSGBOX_AUTOCLOSE +Route25_EventScript_HaleyRematch:: @ 81A988A + trainerbattle_rematch TRAINER_LASS_HALEY, Route25_Text_HaleyRematchIntro, Route25_Text_HaleyDefeat + msgbox Route25_Text_HaleyPostBattle, MSGBOX_AUTOCLOSE end -Route25_EventScript_1A98A1:: @ 81A98A1 - trainerbattle_single TRAINER_HIKER_FRANKLIN, Text_1893A7, Text_1893EA +Route25_EventScript_Franklin:: @ 81A98A1 + trainerbattle_single TRAINER_HIKER_FRANKLIN, Route25_Text_FranklinIntro, Route25_Text_FranklinDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A98C8 - msgbox Text_1893FB, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route25_EventScript_FranklinRematch + msgbox Route25_Text_FranklinPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A98C8:: @ 81A98C8 - trainerbattle_rematch TRAINER_HIKER_FRANKLIN, Text_1C353B, Text_1893EA - msgbox Text_1893FB, MSGBOX_AUTOCLOSE +Route25_EventScript_FranklinRematch:: @ 81A98C8 + trainerbattle_rematch TRAINER_HIKER_FRANKLIN, Route25_Text_FranklinRematchIntro, Route25_Text_FranklinDefeat + msgbox Route25_Text_FranklinPostBattle, MSGBOX_AUTOCLOSE end -Route25_EventScript_1A98DF:: @ 81A98DF - trainerbattle_single TRAINER_HIKER_NOB, Text_189423, Text_189459 +Route25_EventScript_Nob:: @ 81A98DF + trainerbattle_single TRAINER_HIKER_NOB, Route25_Text_NobIntro, Route25_Text_NobDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9906 - msgbox Text_18947E, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route25_EventScript_NobRematch + msgbox Route25_Text_NobPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9906:: @ 81A9906 - trainerbattle_rematch TRAINER_HIKER_NOB, Text_1C357E, Text_189459 - msgbox Text_18947E, MSGBOX_AUTOCLOSE +Route25_EventScript_NobRematch:: @ 81A9906 + trainerbattle_rematch TRAINER_HIKER_NOB, Route25_Text_NobRematchIntro, Route25_Text_NobDefeat + msgbox Route25_Text_NobPostBattle, MSGBOX_AUTOCLOSE end -Route25_EventScript_1A991D:: @ 81A991D - trainerbattle_single TRAINER_HIKER_WAYNE, Text_1894DE, Text_18950A +Route25_EventScript_Wayne:: @ 81A991D + trainerbattle_single TRAINER_HIKER_WAYNE, Route25_Text_WayneIntro, Route25_Text_WayneDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9944 - msgbox Text_18951C, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route25_EventScript_WayneRematch + msgbox Route25_Text_WaynePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9944:: @ 81A9944 - trainerbattle_rematch TRAINER_HIKER_WAYNE, Text_1C35BC, Text_18950A - msgbox Text_18951C, MSGBOX_AUTOCLOSE +Route25_EventScript_WayneRematch:: @ 81A9944 + trainerbattle_rematch TRAINER_HIKER_WAYNE, Route25_Text_WayneRematchIntro, Route25_Text_WayneDefeat + msgbox Route25_Text_WaynePostBattle, MSGBOX_AUTOCLOSE end -Route25_EventScript_1A995B:: @ 81A995B - trainerbattle_single TRAINER_CAMPER_FLINT, Text_1891EB, Text_189212 +Route25_EventScript_Flint:: @ 81A995B + trainerbattle_single TRAINER_CAMPER_FLINT, Route25_Text_FlintIntro, Route25_Text_FlintDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9982 - msgbox Text_18921D, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route25_EventScript_FlintRematch + msgbox Route25_Text_FlintPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9982:: @ 81A9982 - trainerbattle_rematch TRAINER_CAMPER_FLINT, Text_1C3445, Text_189212 - msgbox Text_18921D, MSGBOX_AUTOCLOSE +Route25_EventScript_FlintRematch:: @ 81A9982 + trainerbattle_rematch TRAINER_CAMPER_FLINT, Route25_Text_FlintRematchIntro, Route25_Text_FlintDefeat + msgbox Route25_Text_FlintPostBattle, MSGBOX_AUTOCLOSE end -Route6_EventScript_1A9999:: @ 81A9999 - trainerbattle_single TRAINER_BUG_CATCHER_KEIGO, Text_183E9F, Text_183EC0 +Route6_EventScript_Keigo:: @ 81A9999 + trainerbattle_single TRAINER_BUG_CATCHER_KEIGO, Route6_Text_KeigoIntro, Route6_Text_KeigoDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A99C0 - msgbox Text_183ED4, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route6_EventScript_KeigoRematch + msgbox Route6_Text_KeigoPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A99C0:: @ 81A99C0 - trainerbattle_rematch TRAINER_BUG_CATCHER_KEIGO, Text_1C16E2, Text_183EC0 - msgbox Text_183ED4, MSGBOX_AUTOCLOSE +Route6_EventScript_KeigoRematch:: @ 81A99C0 + trainerbattle_rematch TRAINER_BUG_CATCHER_KEIGO, Route6_Text_KeigoRematchIntro, Route6_Text_KeigoDefeat + msgbox Route6_Text_KeigoPostBattle, MSGBOX_AUTOCLOSE end -Route6_EventScript_1A99D7:: @ 81A99D7 - trainerbattle_single TRAINER_BUG_CATCHER_ELIJAH, Text_183FF0, Text_18401A +Route6_EventScript_Elijah:: @ 81A99D7 + trainerbattle_single TRAINER_BUG_CATCHER_ELIJAH, Route6_Text_ElijahIntro, Route6_Text_ElijahDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A99FE - msgbox Text_18402B, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route6_EventScript_ElijahRematch + msgbox Route6_Text_ElijahPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A99FE:: @ 81A99FE - trainerbattle_rematch TRAINER_BUG_CATCHER_ELIJAH, Text_1C176B, Text_18401A - msgbox Text_18402B, MSGBOX_AUTOCLOSE +Route6_EventScript_ElijahRematch:: @ 81A99FE + trainerbattle_rematch TRAINER_BUG_CATCHER_ELIJAH, Route6_Text_ElijahRematchIntro, Route6_Text_ElijahDefeat + msgbox Route6_Text_ElijahPostBattle, MSGBOX_AUTOCLOSE end -Route6_EventScript_1A9A15:: @ 81A9A15 - trainerbattle_single TRAINER_CAMPER_RICKY, Text_183E04, Text_183E2A +Route6_EventScript_Ricky:: @ 81A9A15 + trainerbattle_single TRAINER_CAMPER_RICKY, Route6_Text_RickyIntro, Route6_Text_RickyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9A3C - msgbox Text_183E3C, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route6_EventScript_RickyRematch + msgbox Route6_Text_RickyPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9A3C:: @ 81A9A3C - trainerbattle_rematch TRAINER_CAMPER_RICKY, Text_1C163C, Text_183E2A - msgbox Text_183E3C, MSGBOX_AUTOCLOSE +Route6_EventScript_RickyRematch:: @ 81A9A3C + trainerbattle_rematch TRAINER_CAMPER_RICKY, Route6_Text_RickyRematchIntro, Route6_Text_RickyDefeat + msgbox Route6_Text_RickyPostBattle, MSGBOX_AUTOCLOSE end -Route6_EventScript_1A9A53:: @ 81A9A53 - trainerbattle_single TRAINER_CAMPER_JEFF, Text_183F07, Text_183F24 +Route6_EventScript_Jeff:: @ 81A9A53 + trainerbattle_single TRAINER_CAMPER_JEFF, Route6_Text_JeffIntro, Route6_Text_JeffDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9A7A - msgbox Text_183F51, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route6_EventScript_JeffRematch + msgbox Route6_Text_JeffPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9A7A:: @ 81A9A7A - trainerbattle_rematch TRAINER_CAMPER_JEFF, Text_1C1723, Text_183F24 - msgbox Text_183F51, MSGBOX_AUTOCLOSE +Route6_EventScript_JeffRematch:: @ 81A9A7A + trainerbattle_rematch TRAINER_CAMPER_JEFF, Route6_Text_JeffRematchIntro, Route6_Text_JeffDefeat + msgbox Route6_Text_JeffPostBattle, MSGBOX_AUTOCLOSE end -Route6_EventScript_1A9A91:: @ 81A9A91 - trainerbattle_single TRAINER_PICNICKER_NANCY, Text_183E4E, Text_183E79 +Route6_EventScript_Nancy:: @ 81A9A91 + trainerbattle_single TRAINER_PICNICKER_NANCY, Route6_Text_NancyIntro, Route6_Text_NancyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9AB8 - msgbox Text_183E8D, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route6_EventScript_NancyRematch + msgbox Route6_Text_NancyPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9AB8:: @ 81A9AB8 - trainerbattle_rematch TRAINER_PICNICKER_NANCY, Text_1C166D, Text_183E79 - msgbox Text_183E8D, MSGBOX_AUTOCLOSE +Route6_EventScript_NancyRematch:: @ 81A9AB8 + trainerbattle_rematch TRAINER_PICNICKER_NANCY, Route6_Text_NancyRematchIntro, Route6_Text_NancyDefeat + msgbox Route6_Text_NancyPostBattle, MSGBOX_AUTOCLOSE end -Route6_EventScript_1A9ACF:: @ 81A9ACF - trainerbattle_single TRAINER_PICNICKER_ISABELLE, Text_183F90, Text_183FAB +Route6_EventScript_Isabelle:: @ 81A9ACF + trainerbattle_single TRAINER_PICNICKER_ISABELLE, Route6_Text_IsabelleIntro, Route6_Text_IsabelleDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9AF6 - msgbox Text_183FC4, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route6_EventScript_IsabelleRematch + msgbox Route6_Text_IsabellePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9AF6:: @ 81A9AF6 - trainerbattle_rematch TRAINER_PICNICKER_ISABELLE, Text_1C1746, Text_183FAB - msgbox Text_183FC4, MSGBOX_AUTOCLOSE +Route6_EventScript_IsabelleRematch:: @ 81A9AF6 + trainerbattle_rematch TRAINER_PICNICKER_ISABELLE, Route6_Text_IsabelleRematchIntro, Route6_Text_IsabelleDefeat + msgbox Route6_Text_IsabellePostBattle, MSGBOX_AUTOCLOSE end -Route11_EventScript_1A9B0D:: @ 81A9B0D - trainerbattle_single TRAINER_YOUNGSTER_EDDIE, Text_184FBD, Text_184FD8 +Route11_EventScript_Eddie:: @ 81A9B0D + trainerbattle_single TRAINER_YOUNGSTER_EDDIE, Route11_Text_EddieIntro, Route11_Text_EddieDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9B34 - msgbox Text_184FEF, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route11_EventScript_EddieRematch + msgbox Route11_Text_EddiePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9B34:: @ 81A9B34 - trainerbattle_rematch TRAINER_YOUNGSTER_EDDIE, Text_1C1DB5, Text_184FD8 - msgbox Text_184FEF, MSGBOX_AUTOCLOSE +Route11_EventScript_EddieRematch:: @ 81A9B34 + trainerbattle_rematch TRAINER_YOUNGSTER_EDDIE, Route11_Text_EddieRematchIntro, Route11_Text_EddieDefeat + msgbox Route11_Text_EddiePostBattle, MSGBOX_AUTOCLOSE end -Route11_EventScript_1A9B4B:: @ 81A9B4B - trainerbattle_single TRAINER_YOUNGSTER_DILLON, Text_18506A, Text_18509B +Route11_EventScript_Dillon:: @ 81A9B4B + trainerbattle_single TRAINER_YOUNGSTER_DILLON, Route11_Text_DillonIntro, Route11_Text_DillonDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9B72 - msgbox Text_1850CF, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route11_EventScript_DillonRematch + msgbox Route11_Text_DillonPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9B72:: @ 81A9B72 - trainerbattle_rematch TRAINER_YOUNGSTER_DILLON, Text_1C1E1F, Text_18509B - msgbox Text_1850CF, MSGBOX_AUTOCLOSE +Route11_EventScript_DillonRematch:: @ 81A9B72 + trainerbattle_rematch TRAINER_YOUNGSTER_DILLON, Route11_Text_DillonRematchIntro, Route11_Text_DillonDefeat + msgbox Route11_Text_DillonPostBattle, MSGBOX_AUTOCLOSE end -Route11_EventScript_1A9B89:: @ 81A9B89 - trainerbattle_single TRAINER_YOUNGSTER_YASU, Text_18517B, Text_1851AC +Route11_EventScript_Yasu:: @ 81A9B89 + trainerbattle_single TRAINER_YOUNGSTER_YASU, Route11_Text_YasuIntro, Route11_Text_YasuDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9BB0 - msgbox Text_1851D2, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route11_EventScript_YasuRematch + msgbox Route11_Text_YasuPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9BB0:: @ 81A9BB0 - trainerbattle_rematch TRAINER_YOUNGSTER_YASU, Text_1C1EE2, Text_1851AC - msgbox Text_1851D2, MSGBOX_AUTOCLOSE +Route11_EventScript_YasuRematch:: @ 81A9BB0 + trainerbattle_rematch TRAINER_YOUNGSTER_YASU, Route11_Text_YasuRematchIntro, Route11_Text_YasuDefeat + msgbox Route11_Text_YasuPostBattle, MSGBOX_AUTOCLOSE end -Route11_EventScript_1A9BC7:: @ 81A9BC7 - trainerbattle_single TRAINER_YOUNGSTER_DAVE, Text_185285, Text_1852C1 +Route11_EventScript_Dave:: @ 81A9BC7 + trainerbattle_single TRAINER_YOUNGSTER_DAVE, Route11_Text_DaveIntro, Route11_Text_DaveDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9BEE - msgbox Text_1852E3, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route11_EventScript_DaveRematch + msgbox Route11_Text_DavePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9BEE:: @ 81A9BEE - trainerbattle_rematch TRAINER_YOUNGSTER_DAVE, Text_1C1F40, Text_1852C1 - msgbox Text_1852E3, MSGBOX_AUTOCLOSE +Route11_EventScript_DaveRematch:: @ 81A9BEE + trainerbattle_rematch TRAINER_YOUNGSTER_DAVE, Route11_Text_DaveRematchIntro, Route11_Text_DaveDefeat + msgbox Route11_Text_DavePostBattle, MSGBOX_AUTOCLOSE end -Route11_EventScript_1A9C05:: @ 81A9C05 - trainerbattle_single TRAINER_ENGINEER_BRAXTON, Text_185011, Text_185037 +Route11_EventScript_Braxton:: @ 81A9C05 + trainerbattle_single TRAINER_ENGINEER_BRAXTON, Route11_Text_BraxtonIntro, Route11_Text_BraxtonDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9C2C - msgbox Text_18504A, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route11_EventScript_BraxtonRematch + msgbox Route11_Text_BraxtonPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9C2C:: @ 81A9C2C - trainerbattle_rematch TRAINER_ENGINEER_BRAXTON, Text_1C1DE1, Text_185037 - msgbox Text_18504A, MSGBOX_AUTOCLOSE +Route11_EventScript_BraxtonRematch:: @ 81A9C2C + trainerbattle_rematch TRAINER_ENGINEER_BRAXTON, Route11_Text_BraxtonRematchIntro, Route11_Text_BraxtonDefeat + msgbox Route11_Text_BraxtonPostBattle, MSGBOX_AUTOCLOSE end -Route11_EventScript_1A9C43:: @ 81A9C43 - trainerbattle_single TRAINER_ENGINEER_BERNIE, Text_185236, Text_185250 +Route11_EventScript_Bernie:: @ 81A9C43 + trainerbattle_single TRAINER_ENGINEER_BERNIE, Route11_Text_BernieIntro, Route11_Text_BernieDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9C6A - msgbox Text_185266, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route11_EventScript_BernieRematch + msgbox Route11_Text_BerniePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9C6A:: @ 81A9C6A - trainerbattle_rematch TRAINER_ENGINEER_BERNIE, Text_1C1F1D, Text_185250 - msgbox Text_185266, MSGBOX_AUTOCLOSE +Route11_EventScript_BernieRematch:: @ 81A9C6A + trainerbattle_rematch TRAINER_ENGINEER_BERNIE, Route11_Text_BernieRematchIntro, Route11_Text_BernieDefeat + msgbox Route11_Text_BerniePostBattle, MSGBOX_AUTOCLOSE end -Route11_EventScript_1A9C81:: @ 81A9C81 - trainerbattle_single TRAINER_GAMER_HUGO, Text_184F01, Text_184F15 +Route11_EventScript_Hugo:: @ 81A9C81 + trainerbattle_single TRAINER_GAMER_HUGO, Route11_Text_HugoIntro, Route11_Text_HugoDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9CA8 - msgbox Text_184F2E, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route11_EventScript_HugoRematch + msgbox Route11_Text_HugoPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9CA8:: @ 81A9CA8 - trainerbattle_rematch TRAINER_GAMER_HUGO, Text_1C1D50, Text_184F15 - msgbox Text_184F2E, MSGBOX_AUTOCLOSE +Route11_EventScript_HugoRematch:: @ 81A9CA8 + trainerbattle_rematch TRAINER_GAMER_HUGO, Route11_Text_HugoRematchIntro, Route11_Text_HugoDefeat + msgbox Route11_Text_HugoPostBattle, MSGBOX_AUTOCLOSE end -Route11_EventScript_1A9CBF:: @ 81A9CBF - trainerbattle_single TRAINER_GAMER_JASPER, Text_184F5D, Text_184F7E +Route11_EventScript_Jasper:: @ 81A9CBF + trainerbattle_single TRAINER_GAMER_JASPER, Route11_Text_JasperIntro, Route11_Text_JasperDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9CE6 - msgbox Text_184F8E, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route11_EventScript_JasperRematch + msgbox Route11_Text_JasperPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9CE6:: @ 81A9CE6 - trainerbattle_rematch TRAINER_GAMER_JASPER, Text_1C1D79, Text_184F7E - msgbox Text_184F8E, MSGBOX_AUTOCLOSE +Route11_EventScript_JasperRematch:: @ 81A9CE6 + trainerbattle_rematch TRAINER_GAMER_JASPER, Route11_Text_JasperRematchIntro, Route11_Text_JasperDefeat + msgbox Route11_Text_JasperPostBattle, MSGBOX_AUTOCLOSE end -Route11_EventScript_1A9CFD:: @ 81A9CFD - trainerbattle_single TRAINER_GAMER_DIRK, Text_1850E9, Text_185105 +Route11_EventScript_Dirk:: @ 81A9CFD + trainerbattle_single TRAINER_GAMER_DIRK, Route11_Text_DirkIntro, Route11_Text_DirkDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9D24 - msgbox Text_185114, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route11_EventScript_DirkRematch + msgbox Route11_Text_DirkPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9D24:: @ 81A9D24 - trainerbattle_rematch TRAINER_GAMER_DIRK, Text_1C1E57, Text_185105 - msgbox Text_185114, MSGBOX_AUTOCLOSE +Route11_EventScript_DirkRematch:: @ 81A9D24 + trainerbattle_rematch TRAINER_GAMER_DIRK, Route11_Text_DirkRematchIntro, Route11_Text_DirkDefeat + msgbox Route11_Text_DirkPostBattle, MSGBOX_AUTOCLOSE end -Route11_EventScript_1A9D3B:: @ 81A9D3B - trainerbattle_single TRAINER_GAMER_DARIAN, Text_185135, Text_18514E +Route11_EventScript_Darian:: @ 81A9D3B + trainerbattle_single TRAINER_GAMER_DARIAN, Route11_Text_DarianIntro, Route11_Text_DarianDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9D62 - msgbox Text_185161, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route11_EventScript_DarianRematch + msgbox Route11_Text_DarianPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9D62:: @ 81A9D62 - trainerbattle_rematch TRAINER_GAMER_DARIAN, Text_1C1E9F, Text_18514E - msgbox Text_185161, MSGBOX_AUTOCLOSE +Route11_EventScript_DarianRematch:: @ 81A9D62 + trainerbattle_rematch TRAINER_GAMER_DARIAN, Route11_Text_DarianRematchIntro, Route11_Text_DarianDefeat + msgbox Route11_Text_DarianPostBattle, MSGBOX_AUTOCLOSE end -Route9_EventScript_1A9D79:: @ 81A9D79 - trainerbattle_single TRAINER_BUG_CATCHER_BRENT, Text_184A2F, Text_184A6A +Route9_EventScript_Brent:: @ 81A9D79 + trainerbattle_single TRAINER_BUG_CATCHER_BRENT, Route9_Text_BrentIntro, Route9_Text_BrentDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9DA0 - msgbox Text_184A8C, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route9_EventScript_BrentRematch + msgbox Route9_Text_BrentPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9DA0:: @ 81A9DA0 - trainerbattle_rematch TRAINER_BUG_CATCHER_BRENT, Text_1C1B83, Text_184A6A - msgbox Text_184A8C, MSGBOX_AUTOCLOSE +Route9_EventScript_BrentRematch:: @ 81A9DA0 + trainerbattle_rematch TRAINER_BUG_CATCHER_BRENT, Route9_Text_BrentRematchIntro, Route9_Text_BrentDefeat + msgbox Route9_Text_BrentPostBattle, MSGBOX_AUTOCLOSE end -Route9_EventScript_1A9DB7:: @ 81A9DB7 - trainerbattle_single TRAINER_BUG_CATCHER_CONNER, Text_184B18, Text_184B32 +Route9_EventScript_Conner:: @ 81A9DB7 + trainerbattle_single TRAINER_BUG_CATCHER_CONNER, Route9_Text_ConnerIntro, Route9_Text_ConnerDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9DDE - msgbox Text_184B3B, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route9_EventScript_ConnerRematch + msgbox Route9_Text_ConnerPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9DDE:: @ 81A9DDE - trainerbattle_rematch TRAINER_BUG_CATCHER_CONNER, Text_1C1BDC, Text_184B32 - msgbox Text_184B3B, MSGBOX_AUTOCLOSE +Route9_EventScript_ConnerRematch:: @ 81A9DDE + trainerbattle_rematch TRAINER_BUG_CATCHER_CONNER, Route9_Text_ConnerRematchIntro, Route9_Text_ConnerDefeat + msgbox Route9_Text_ConnerPostBattle, MSGBOX_AUTOCLOSE end -Route9_EventScript_1A9DF5:: @ 81A9DF5 - trainerbattle_single TRAINER_CAMPER_CHRIS, Text_184844, Text_18487E +Route9_EventScript_Chris:: @ 81A9DF5 + trainerbattle_single TRAINER_CAMPER_CHRIS, Route9_Text_ChrisIntro, Route9_Text_ChrisDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9E1C - msgbox Text_184890, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route9_EventScript_ChrisRematch + msgbox Route9_Text_ChrisPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9E1C:: @ 81A9E1C - trainerbattle_rematch TRAINER_CAMPER_CHRIS, Text_1C1A5D, Text_18487E - msgbox Text_184890, MSGBOX_AUTOCLOSE +Route9_EventScript_ChrisRematch:: @ 81A9E1C + trainerbattle_rematch TRAINER_CAMPER_CHRIS, Route9_Text_ChrisRematchIntro, Route9_Text_ChrisDefeat + msgbox Route9_Text_ChrisPostBattle, MSGBOX_AUTOCLOSE end -Route9_EventScript_1A9E33:: @ 81A9E33 - trainerbattle_single TRAINER_CAMPER_DREW, Text_18489E, Text_1848CC +Route9_EventScript_Drew:: @ 81A9E33 + trainerbattle_single TRAINER_CAMPER_DREW, Route9_Text_DrewIntro, Route9_Text_DrewDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9E5A - msgbox Text_1848DE, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route9_EventScript_DrewRematch + msgbox Route9_Text_DrewPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9E5A:: @ 81A9E5A - trainerbattle_rematch TRAINER_CAMPER_DREW, Text_1C1A9B, Text_1848CC - msgbox Text_1848DE, MSGBOX_AUTOCLOSE +Route9_EventScript_DrewRematch:: @ 81A9E5A + trainerbattle_rematch TRAINER_CAMPER_DREW, Route9_Text_DrewRematchIntro, Route9_Text_DrewDefeat + msgbox Route9_Text_DrewPostBattle, MSGBOX_AUTOCLOSE end -Route9_EventScript_1A9E71:: @ 81A9E71 - trainerbattle_single TRAINER_PICNICKER_ALICIA, Text_1847B7, Text_1847DF +Route9_EventScript_Alicia:: @ 81A9E71 + trainerbattle_single TRAINER_PICNICKER_ALICIA, Route9_Text_AliciaIntro, Route9_Text_AliciaDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9E98 - msgbox Text_1847F0, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route9_EventScript_AliciaRematch + msgbox Route9_Text_AliciaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9E98:: @ 81A9E98 - trainerbattle_rematch TRAINER_PICNICKER_ALICIA, Text_1C1A2E, Text_1847DF - msgbox Text_1847F0, MSGBOX_AUTOCLOSE +Route9_EventScript_AliciaRematch:: @ 81A9E98 + trainerbattle_rematch TRAINER_PICNICKER_ALICIA, Route9_Text_AliciaRematchIntro, Route9_Text_AliciaDefeat + msgbox Route9_Text_AliciaPostBattle, MSGBOX_AUTOCLOSE end -Route9_EventScript_1A9EAF:: @ 81A9EAF - trainerbattle_single TRAINER_PICNICKER_CAITLIN, Text_1848FF, Text_18491C +Route9_EventScript_Caitlin:: @ 81A9EAF + trainerbattle_single TRAINER_PICNICKER_CAITLIN, Route9_Text_CaitlinIntro, Route9_Text_CaitlinDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9ED6 - msgbox Text_184931, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route9_EventScript_CaitlinRematch + msgbox Route9_Text_CaitlinPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9ED6:: @ 81A9ED6 - trainerbattle_rematch TRAINER_PICNICKER_CAITLIN, Text_1C1AFB, Text_18491C - msgbox Text_184931, MSGBOX_AUTOCLOSE +Route9_EventScript_CaitlinRematch:: @ 81A9ED6 + trainerbattle_rematch TRAINER_PICNICKER_CAITLIN, Route9_Text_CaitlinRematchIntro, Route9_Text_CaitlinDefeat + msgbox Route9_Text_CaitlinPostBattle, MSGBOX_AUTOCLOSE end -Route9_EventScript_1A9EED:: @ 81A9EED - trainerbattle_single TRAINER_HIKER_ALAN, Text_184ABE, Text_184AD5 +Route9_EventScript_Alan:: @ 81A9EED + trainerbattle_single TRAINER_HIKER_ALAN, Route9_Text_AlanIntro, Route9_Text_AlanDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9F14 - msgbox Text_184AF1, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route9_EventScript_AlanRematch + msgbox Route9_Text_AlanPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9F14:: @ 81A9F14 - trainerbattle_rematch TRAINER_HIKER_ALAN, Text_1C1BBE, Text_184AD5 - msgbox Text_184AF1, MSGBOX_AUTOCLOSE +Route9_EventScript_AlanRematch:: @ 81A9F14 + trainerbattle_rematch TRAINER_HIKER_ALAN, Route9_Text_AlanRematchIntro, Route9_Text_AlanDefeat + msgbox Route9_Text_AlanPostBattle, MSGBOX_AUTOCLOSE end -Route9_EventScript_1A9F2B:: @ 81A9F2B - trainerbattle_single TRAINER_HIKER_BRICE, Text_1849DF, Text_184A04 +Route9_EventScript_Brice:: @ 81A9F2B + trainerbattle_single TRAINER_HIKER_BRICE, Route9_Text_BriceIntro, Route9_Text_BriceDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9F52 - msgbox Text_184A11, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route9_EventScript_BriceRematch + msgbox Route9_Text_BricePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9F52:: @ 81A9F52 - trainerbattle_rematch TRAINER_HIKER_BRICE, Text_1C1B5E, Text_184A04 - msgbox Text_184A11, MSGBOX_AUTOCLOSE +Route9_EventScript_BriceRematch:: @ 81A9F52 + trainerbattle_rematch TRAINER_HIKER_BRICE, Route9_Text_BriceRematchIntro, Route9_Text_BriceDefeat + msgbox Route9_Text_BricePostBattle, MSGBOX_AUTOCLOSE end -Route9_EventScript_1A9F69:: @ 81A9F69 - trainerbattle_single TRAINER_HIKER_JEREMY, Text_18495E, Text_18497F +Route9_EventScript_Jeremy:: @ 81A9F69 + trainerbattle_single TRAINER_HIKER_JEREMY, Route9_Text_JeremyIntro, Route9_Text_JeremyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9F90 - msgbox Text_1849B0, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route9_EventScript_JeremyRematch + msgbox Route9_Text_JeremyPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9F90:: @ 81A9F90 - trainerbattle_rematch TRAINER_HIKER_JEREMY, Text_1C1B37, Text_18497F - msgbox Text_1849B0, MSGBOX_AUTOCLOSE +Route9_EventScript_JeremyRematch:: @ 81A9F90 + trainerbattle_rematch TRAINER_HIKER_JEREMY, Route9_Text_JeremyRematchIntro, Route9_Text_JeremyDefeat + msgbox Route9_Text_JeremyPostBattle, MSGBOX_AUTOCLOSE end -Route10_EventScript_1A9FA7:: @ 81A9FA7 - trainerbattle_single TRAINER_PICNICKER_HEIDI, Text_184CF1, Text_184D31 +Route10_EventScript_Heidi:: @ 81A9FA7 + trainerbattle_single TRAINER_PICNICKER_HEIDI, Route10_Text_HeidiIntro, Route10_Text_HeidiDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9FCE - msgbox Text_184D4D, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route10_EventScript_HeidiRematch + msgbox Route10_Text_HeidiPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1A9FCE:: @ 81A9FCE - trainerbattle_rematch TRAINER_PICNICKER_HEIDI, Text_1C1C9A, Text_184D31 - msgbox Text_184D4D, MSGBOX_AUTOCLOSE +Route10_EventScript_HeidiRematch:: @ 81A9FCE + trainerbattle_rematch TRAINER_PICNICKER_HEIDI, Route10_Text_HeidiRematchIntro, Route10_Text_HeidiDefeat + msgbox Route10_Text_HeidiPostBattle, MSGBOX_AUTOCLOSE end -Route10_EventScript_1A9FE5:: @ 81A9FE5 - trainerbattle_single TRAINER_PICNICKER_CAROL, Text_184E04, Text_184E3B +Route10_EventScript_Carol:: @ 81A9FE5 + trainerbattle_single TRAINER_PICNICKER_CAROL, Route10_Text_CarolIntro, Route10_Text_CarolDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA00C - msgbox Text_184E5E, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route10_EventScript_CarolRematch + msgbox Route10_Text_CarolPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA00C:: @ 81AA00C - trainerbattle_rematch TRAINER_PICNICKER_CAROL, Text_1C1D14, Text_184E3B - msgbox Text_184E5E, MSGBOX_AUTOCLOSE +Route10_EventScript_CarolRematch:: @ 81AA00C + trainerbattle_rematch TRAINER_PICNICKER_CAROL, Route10_Text_CarolRematchIntro, Route10_Text_CarolDefeat + msgbox Route10_Text_CarolPostBattle, MSGBOX_AUTOCLOSE end -Route10_EventScript_1AA023:: @ 81AA023 - trainerbattle_single TRAINER_POKEMANIAC_MARK, Text_184B8A, Text_184BE5 +Route10_EventScript_Mark:: @ 81AA023 + trainerbattle_single TRAINER_POKEMANIAC_MARK, Route10_Text_MarkIntro, Route10_Text_MarkDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA04A - msgbox Text_184BFB, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route10_EventScript_MarkRematch + msgbox Route10_Text_MarkPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA04A:: @ 81AA04A - trainerbattle_rematch TRAINER_POKEMANIAC_MARK, Text_1C1BFA, Text_184BE5 - msgbox Text_184BFB, MSGBOX_AUTOCLOSE +Route10_EventScript_MarkRematch:: @ 81AA04A + trainerbattle_rematch TRAINER_POKEMANIAC_MARK, Route10_Text_MarkRematchIntro, Route10_Text_MarkDefeat + msgbox Route10_Text_MarkPostBattle, MSGBOX_AUTOCLOSE end -Route10_EventScript_1AA061:: @ 81AA061 - trainerbattle_single TRAINER_POKEMANIAC_HERMAN, Text_184C86, Text_184CA7 +Route10_EventScript_Herman:: @ 81AA061 + trainerbattle_single TRAINER_POKEMANIAC_HERMAN, Route10_Text_HermanIntro, Route10_Text_HermanDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA088 - msgbox Text_184CBB, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route10_EventScript_HermanRematch + msgbox Route10_Text_HermanPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA088:: @ 81AA088 - trainerbattle_rematch TRAINER_POKEMANIAC_HERMAN, Text_1C1C76, Text_184CA7 - msgbox Text_184CBB, MSGBOX_AUTOCLOSE +Route10_EventScript_HermanRematch:: @ 81AA088 + trainerbattle_rematch TRAINER_POKEMANIAC_HERMAN, Route10_Text_HermanRematchIntro, Route10_Text_HermanDefeat + msgbox Route10_Text_HermanPostBattle, MSGBOX_AUTOCLOSE end -Route10_EventScript_1AA09F:: @ 81AA09F - trainerbattle_single TRAINER_HIKER_CLARK, Text_184C1D, Text_184C2D +Route10_EventScript_Clark:: @ 81AA09F + trainerbattle_single TRAINER_HIKER_CLARK, Route10_Text_ClarkIntro, Route10_Text_ClarkDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA0C6 - msgbox Text_184C60, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route10_EventScript_ClarkRematch + msgbox Route10_Text_ClarkPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA0C6:: @ 81AA0C6 - trainerbattle_rematch TRAINER_HIKER_CLARK, Text_1C1C4F, Text_184C2D - msgbox Text_184C60, MSGBOX_AUTOCLOSE +Route10_EventScript_ClarkRematch:: @ 81AA0C6 + trainerbattle_rematch TRAINER_HIKER_CLARK, Route10_Text_ClarkRematchIntro, Route10_Text_ClarkDefeat + msgbox Route10_Text_ClarkPostBattle, MSGBOX_AUTOCLOSE end -Route10_EventScript_1AA0DD:: @ 81AA0DD - trainerbattle_single TRAINER_HIKER_TRENT, Text_184DAA, Text_184DCE +Route10_EventScript_Trent:: @ 81AA0DD + trainerbattle_single TRAINER_HIKER_TRENT, Route10_Text_TrentIntro, Route10_Text_TrentDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA104 - msgbox Text_184DE4, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route10_EventScript_TrentRematch + msgbox Route10_Text_TrentPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA104:: @ 81AA104 - trainerbattle_rematch TRAINER_HIKER_TRENT, Text_1C1CD3, Text_184DCE - msgbox Text_184DE4, MSGBOX_AUTOCLOSE +Route10_EventScript_TrentRematch:: @ 81AA104 + trainerbattle_rematch TRAINER_HIKER_TRENT, Route10_Text_TrentRematchIntro, Route10_Text_TrentDefeat + msgbox Route10_Text_TrentPostBattle, MSGBOX_AUTOCLOSE end -Route8_EventScript_1AA11B:: @ 81AA11B - trainerbattle_single TRAINER_LASS_PAIGE, Text_1841ED, Text_184210 +Route8_EventScript_Paige:: @ 81AA11B + trainerbattle_single TRAINER_LASS_PAIGE, Route8_Text_PaigeIntro, Route8_Text_PaigeDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA142 - msgbox Text_18421B, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route8_EventScript_PaigeRematch + msgbox Route8_Text_PaigePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA142:: @ 81AA142 - trainerbattle_rematch TRAINER_LASS_PAIGE, Text_1C1834, Text_184210 - msgbox Text_18421B, MSGBOX_AUTOCLOSE +Route8_EventScript_PaigeRematch:: @ 81AA142 + trainerbattle_rematch TRAINER_LASS_PAIGE, Route8_Text_PaigeRematchIntro, Route8_Text_PaigeDefeat + msgbox Route8_Text_PaigePostBattle, MSGBOX_AUTOCLOSE end -Route8_EventScript_1AA159:: @ 81AA159 - trainerbattle_single TRAINER_LASS_ANDREA, Text_184321, Text_184346 +Route8_EventScript_Andrea:: @ 81AA159 + trainerbattle_single TRAINER_LASS_ANDREA, Route8_Text_AndreaIntro, Route8_Text_AndreaDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA180 - msgbox Text_184350, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route8_EventScript_AndreaRematch + msgbox Route8_Text_AndreaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA180:: @ 81AA180 - trainerbattle_rematch TRAINER_LASS_ANDREA, Text_1C18AA, Text_184346 - msgbox Text_184350, MSGBOX_AUTOCLOSE +Route8_EventScript_AndreaRematch:: @ 81AA180 + trainerbattle_rematch TRAINER_LASS_ANDREA, Route8_Text_AndreaRematchIntro, Route8_Text_AndreaDefeat + msgbox Route8_Text_AndreaPostBattle, MSGBOX_AUTOCLOSE end -Route8_EventScript_1AA197:: @ 81AA197 - trainerbattle_single TRAINER_LASS_MEGAN, Text_18437A, Text_1843A6 +Route8_EventScript_Megan:: @ 81AA197 + trainerbattle_single TRAINER_LASS_MEGAN, Route8_Text_MeganIntro, Route8_Text_MeganDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA1BE - msgbox Text_1843D2, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route8_EventScript_MeganRematch + msgbox Route8_Text_MeganPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA1BE:: @ 81AA1BE - trainerbattle_rematch TRAINER_LASS_MEGAN, Text_1C18DC, Text_1843A6 - msgbox Text_1843D2, MSGBOX_AUTOCLOSE +Route8_EventScript_MeganRematch:: @ 81AA1BE + trainerbattle_rematch TRAINER_LASS_MEGAN, Route8_Text_MeganRematchIntro, Route8_Text_MeganDefeat + msgbox Route8_Text_MeganPostBattle, MSGBOX_AUTOCLOSE end -Route8_EventScript_1AA1D5:: @ 81AA1D5 - trainerbattle_single TRAINER_LASS_JULIA, Text_1844AC, Text_1844D6 +Route8_EventScript_Julia:: @ 81AA1D5 + trainerbattle_single TRAINER_LASS_JULIA, Route8_Text_JuliaIntro, Route8_Text_JuliaDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA1FC - msgbox Text_1844FD, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route8_EventScript_JuliaRematch + msgbox Route8_Text_JuliaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA1FC:: @ 81AA1FC - trainerbattle_rematch TRAINER_LASS_JULIA, Text_1C1955, Text_1844D6 - msgbox Text_1844FD, MSGBOX_AUTOCLOSE +Route8_EventScript_JuliaRematch:: @ 81AA1FC + trainerbattle_rematch TRAINER_LASS_JULIA, Route8_Text_JuliaRematchIntro, Route8_Text_JuliaDefeat + msgbox Route8_Text_JuliaPostBattle, MSGBOX_AUTOCLOSE end -Route8_EventScript_1AA213:: @ 81AA213 - trainerbattle_single TRAINER_SUPER_NERD_AIDAN, Text_1840C5, Text_184100 +Route8_EventScript_Aidan:: @ 81AA213 + trainerbattle_single TRAINER_SUPER_NERD_AIDAN, Route8_Text_AidanIntro, Route8_Text_AidanDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA23A - msgbox Text_18410E, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route8_EventScript_AidanRematch + msgbox Route8_Text_AidanPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA23A:: @ 81AA23A - trainerbattle_rematch TRAINER_SUPER_NERD_AIDAN, Text_1C1793, Text_184100 - msgbox Text_18410E, MSGBOX_AUTOCLOSE +Route8_EventScript_AidanRematch:: @ 81AA23A + trainerbattle_rematch TRAINER_SUPER_NERD_AIDAN, Route8_Text_AidanRematchIntro, Route8_Text_AidanDefeat + msgbox Route8_Text_AidanPostBattle, MSGBOX_AUTOCLOSE end -Route8_EventScript_1AA251:: @ 81AA251 - trainerbattle_single TRAINER_SUPER_NERD_GLENN, Text_18417C, Text_1841B6 +Route8_EventScript_Glenn:: @ 81AA251 + trainerbattle_single TRAINER_SUPER_NERD_GLENN, Route8_Text_GlennIntro, Route8_Text_GlennDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA278 - msgbox Text_1841C8, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route8_EventScript_GlennRematch + msgbox Route8_Text_GlennPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA278:: @ 81AA278 - trainerbattle_rematch TRAINER_SUPER_NERD_GLENN, Text_1C17F1, Text_1841B6 - msgbox Text_1841C8, MSGBOX_AUTOCLOSE +Route8_EventScript_GlennRematch:: @ 81AA278 + trainerbattle_rematch TRAINER_SUPER_NERD_GLENN, Route8_Text_GlennRematchIntro, Route8_Text_GlennDefeat + msgbox Route8_Text_GlennPostBattle, MSGBOX_AUTOCLOSE end -Route8_EventScript_1AA28F:: @ 81AA28F - trainerbattle_single TRAINER_SUPER_NERD_LESLIE, Text_184257, Text_18427A +Route8_EventScript_Leslie:: @ 81AA28F + trainerbattle_single TRAINER_SUPER_NERD_LESLIE, Route8_Text_LeslieIntro, Route8_Text_LeslieDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA2B6 - msgbox Text_1842B3, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route8_EventScript_LeslieRematch + msgbox Route8_Text_LesliePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA2B6:: @ 81AA2B6 - trainerbattle_rematch TRAINER_SUPER_NERD_LESLIE, Text_1C1873, Text_18427A - msgbox Text_1842B3, MSGBOX_AUTOCLOSE +Route8_EventScript_LeslieRematch:: @ 81AA2B6 + trainerbattle_rematch TRAINER_SUPER_NERD_LESLIE, Route8_Text_LeslieRematchIntro, Route8_Text_LeslieDefeat + msgbox Route8_Text_LesliePostBattle, MSGBOX_AUTOCLOSE end -Route8_EventScript_1AA2CD:: @ 81AA2CD - trainerbattle_single TRAINER_GAMER_STAN, Text_18412F, Text_18414D +Route8_EventScript_Stan:: @ 81AA2CD + trainerbattle_single TRAINER_GAMER_STAN, Route8_Text_StanIntro, Route8_Text_StanDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA2F4 - msgbox Text_184162, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route8_EventScript_StanRematch + msgbox Route8_Text_StanPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA2F4:: @ 81AA2F4 - trainerbattle_rematch TRAINER_GAMER_STAN, Text_1C17CD, Text_18414D - msgbox Text_184162, MSGBOX_AUTOCLOSE +Route8_EventScript_StanRematch:: @ 81AA2F4 + trainerbattle_rematch TRAINER_GAMER_STAN, Route8_Text_StanRematchIntro, Route8_Text_StanDefeat + msgbox Route8_Text_StanPostBattle, MSGBOX_AUTOCLOSE end -Route8_EventScript_1AA30B:: @ 81AA30B - trainerbattle_single TRAINER_GAMER_RICH, Text_184432, Text_18444F +Route8_EventScript_Rich:: @ 81AA30B + trainerbattle_single TRAINER_GAMER_RICH, Route8_Text_RichIntro, Route8_Text_RichDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA332 - msgbox Text_184466, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route8_EventScript_RichRematch + msgbox Route8_Text_RichPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA332:: @ 81AA332 - trainerbattle_rematch TRAINER_GAMER_RICH, Text_1C191F, Text_18444F - msgbox Text_184466, MSGBOX_AUTOCLOSE +Route8_EventScript_RichRematch:: @ 81AA332 + trainerbattle_rematch TRAINER_GAMER_RICH, Route8_Text_RichRematchIntro, Route8_Text_RichDefeat + msgbox Route8_Text_RichPostBattle, MSGBOX_AUTOCLOSE end -Route8_EventScript_1AA349:: @ 81AA349 - trainerbattle_double TRAINER_TWINS_ELI_ANNE, Text_1845A4, Text_1845D0, Text_184616 +Route8_EventScript_Eli:: @ 81AA349 + trainerbattle_double TRAINER_TWINS_ELI_ANNE, Route8_Text_EliIntro, Route8_Text_EliDefeat, Route8_Text_EliNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA374 - msgbox Text_1845F2, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route8_EventScript_EliRematch + msgbox Route8_Text_EliPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA374:: @ 81AA374 - trainerbattle_rematch_double TRAINER_TWINS_ELI_ANNE, Text_1C19E5, Text_1845D0, Text_184616 - msgbox Text_1845F2, MSGBOX_AUTOCLOSE +Route8_EventScript_EliRematch:: @ 81AA374 + trainerbattle_rematch_double TRAINER_TWINS_ELI_ANNE, Route8_Text_EliRematchIntro, Route8_Text_EliDefeat, Route8_Text_EliNotEnoughMons + msgbox Route8_Text_EliPostBattle, MSGBOX_AUTOCLOSE end -Route8_EventScript_1AA38F:: @ 81AA38F - trainerbattle_double TRAINER_TWINS_ELI_ANNE, Text_18464A, Text_184675, Text_1846AF +Route8_EventScript_Anne:: @ 81AA38F + trainerbattle_double TRAINER_TWINS_ELI_ANNE, Route8_Text_AnneIntro, Route8_Text_AnneDefeat, Route8_Text_AnneNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA3BA - msgbox Text_18468B, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route8_EventScript_AnneRematch + msgbox Route8_Text_AnnePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA3BA:: @ 81AA3BA - trainerbattle_rematch_double TRAINER_TWINS_ELI_ANNE, Text_1C1A0D, Text_184675, Text_1846AF - msgbox Text_18468B, MSGBOX_AUTOCLOSE +Route8_EventScript_AnneRematch:: @ 81AA3BA + trainerbattle_rematch_double TRAINER_TWINS_ELI_ANNE, Route8_Text_AnneRematchIntro, Route8_Text_AnneDefeat, Route8_Text_AnneNotEnoughMons + msgbox Route8_Text_AnnePostBattle, MSGBOX_AUTOCLOSE end -Route8_EventScript_1AA3D5:: @ 81AA3D5 - trainerbattle_single TRAINER_BIKER_RICARDO, Text_1846E2, Text_1846FC +Route8_EventScript_Ricardo:: @ 81AA3D5 + trainerbattle_single TRAINER_BIKER_RICARDO, Route8_Text_RicardoIntro, Route8_Text_RicardoDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA3FC - msgbox Text_184719, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route8_EventScript_RicardoRematch + msgbox Route8_Text_RicardoPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA3FC:: @ 81AA3FC - trainerbattle_rematch TRAINER_BIKER_RICARDO, Text_1C199C, Text_1846FC - msgbox Text_184719, MSGBOX_AUTOCLOSE +Route8_EventScript_RicardoRematch:: @ 81AA3FC + trainerbattle_rematch TRAINER_BIKER_RICARDO, Route8_Text_RicardoRematchIntro, Route8_Text_RicardoDefeat + msgbox Route8_Text_RicardoPostBattle, MSGBOX_AUTOCLOSE end -Route8_EventScript_1AA413:: @ 81AA413 - trainerbattle_single TRAINER_BIKER_JAREN, Text_184742, Text_184767 +Route8_EventScript_Jaren:: @ 81AA413 + trainerbattle_single TRAINER_BIKER_JAREN, Route8_Text_JarenIntro, Route8_Text_JarenDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA43A - msgbox Text_18477A, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route8_EventScript_JarenRematch + msgbox Route8_Text_JarenPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA43A:: @ 81AA43A - trainerbattle_rematch TRAINER_BIKER_JAREN, Text_1C19BC, Text_184767 - msgbox Text_18477A, MSGBOX_AUTOCLOSE +Route8_EventScript_JarenRematch:: @ 81AA43A + trainerbattle_rematch TRAINER_BIKER_JAREN, Route8_Text_JarenRematchIntro, Route8_Text_JarenDefeat + msgbox Route8_Text_JarenPostBattle, MSGBOX_AUTOCLOSE end -Route12_EventScript_1AA451:: @ 81AA451 - trainerbattle_single TRAINER_FISHERMAN_NED, Text_185402, Text_18541B +Route12_EventScript_Ned:: @ 81AA451 + trainerbattle_single TRAINER_FISHERMAN_NED, Route12_Text_NedIntro, Route12_Text_NedDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA478 - msgbox Text_185432, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route12_EventScript_NedRematch + msgbox Route12_Text_NedPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA478:: @ 81AA478 - trainerbattle_rematch TRAINER_FISHERMAN_NED, Text_1C1F9D, Text_18541B - msgbox Text_185432, MSGBOX_AUTOCLOSE +Route12_EventScript_NedRematch:: @ 81AA478 + trainerbattle_rematch TRAINER_FISHERMAN_NED, Route12_Text_NedRematchIntro, Route12_Text_NedDefeat + msgbox Route12_Text_NedPostBattle, MSGBOX_AUTOCLOSE end -Route12_EventScript_1AA48F:: @ 81AA48F - trainerbattle_single TRAINER_FISHERMAN_CHIP, Text_18544E, Text_185475 +Route12_EventScript_Chip:: @ 81AA48F + trainerbattle_single TRAINER_FISHERMAN_CHIP, Route12_Text_ChipIntro, Route12_Text_ChipDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA4B6 - msgbox Text_185488, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route12_EventScript_ChipRematch + msgbox Route12_Text_ChipPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA4B6:: @ 81AA4B6 - trainerbattle_rematch TRAINER_FISHERMAN_CHIP, Text_1C1FD8, Text_185475 - msgbox Text_185488, MSGBOX_AUTOCLOSE +Route12_EventScript_ChipRematch:: @ 81AA4B6 + trainerbattle_rematch TRAINER_FISHERMAN_CHIP, Route12_Text_ChipRematchIntro, Route12_Text_ChipDefeat + msgbox Route12_Text_ChipPostBattle, MSGBOX_AUTOCLOSE end -Route12_EventScript_1AA4CD:: @ 81AA4CD - trainerbattle_single TRAINER_FISHERMAN_HANK, Text_1855E1, Text_185606 +Route12_EventScript_Hank:: @ 81AA4CD + trainerbattle_single TRAINER_FISHERMAN_HANK, Route12_Text_HankIntro, Route12_Text_HankDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA4F4 - msgbox Text_185616, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route12_EventScript_HankRematch + msgbox Route12_Text_HankPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA4F4:: @ 81AA4F4 - trainerbattle_rematch TRAINER_FISHERMAN_HANK, Text_1C209C, Text_185606 - msgbox Text_185616, MSGBOX_AUTOCLOSE +Route12_EventScript_HankRematch:: @ 81AA4F4 + trainerbattle_rematch TRAINER_FISHERMAN_HANK, Route12_Text_HankRematchIntro, Route12_Text_HankDefeat + msgbox Route12_Text_HankPostBattle, MSGBOX_AUTOCLOSE end -Route12_EventScript_1AA50B:: @ 81AA50B - trainerbattle_single TRAINER_FISHERMAN_ELLIOT, Text_185682, Text_1856D0 +Route12_EventScript_Elliot:: @ 81AA50B + trainerbattle_single TRAINER_FISHERMAN_ELLIOT, Route12_Text_ElliotIntro, Route12_Text_ElliotDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA532 - msgbox Text_1856DF, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route12_EventScript_ElliotRematch + msgbox Route12_Text_ElliotPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA532:: @ 81AA532 - trainerbattle_rematch TRAINER_FISHERMAN_ELLIOT, Text_1C20D4, Text_1856D0 - msgbox Text_1856DF, MSGBOX_AUTOCLOSE +Route12_EventScript_ElliotRematch:: @ 81AA532 + trainerbattle_rematch TRAINER_FISHERMAN_ELLIOT, Route12_Text_ElliotRematchIntro, Route12_Text_ElliotDefeat + msgbox Route12_Text_ElliotPostBattle, MSGBOX_AUTOCLOSE end -Route12_EventScript_1AA549:: @ 81AA549 - trainerbattle_single TRAINER_FISHERMAN_ANDREW, Text_18570E, Text_185744 +Route12_EventScript_Andrew:: @ 81AA549 + trainerbattle_single TRAINER_FISHERMAN_ANDREW, Route12_Text_AndrewIntro, Route12_Text_AndrewDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA570 - msgbox Text_18574D, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route12_EventScript_AndrewRematch + msgbox Route12_Text_AndrewPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA570:: @ 81AA570 - trainerbattle_rematch TRAINER_FISHERMAN_ANDREW, Text_1C2134, Text_185744 - msgbox Text_18574D, MSGBOX_AUTOCLOSE +Route12_EventScript_AndrewRematch:: @ 81AA570 + trainerbattle_rematch TRAINER_FISHERMAN_ANDREW, Route12_Text_AndrewRematchIntro, Route12_Text_AndrewDefeat + msgbox Route12_Text_AndrewPostBattle, MSGBOX_AUTOCLOSE end -Route12_EventScript_1AA587:: @ 81AA587 - trainerbattle_single TRAINER_ROCKER_LUCA, Text_185547, Text_18559B +Route12_EventScript_Luca:: @ 81AA587 + trainerbattle_single TRAINER_ROCKER_LUCA, Route12_Text_LucaIntro, Route12_Text_LucaDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA5AE - msgbox Text_1855A6, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route12_EventScript_LucaRematch + msgbox Route12_Text_LucaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA5AE:: @ 81AA5AE - trainerbattle_rematch TRAINER_ROCKER_LUCA, Text_1C203B, Text_18559B - msgbox Text_1855A6, MSGBOX_AUTOCLOSE +Route12_EventScript_LucaRematch:: @ 81AA5AE + trainerbattle_rematch TRAINER_ROCKER_LUCA, Route12_Text_LucaRematchIntro, Route12_Text_LucaDefeat + msgbox Route12_Text_LucaPostBattle, MSGBOX_AUTOCLOSE end -Route12_EventScript_1AA5C5:: @ 81AA5C5 - trainerbattle_single TRAINER_CAMPER_JUSTIN, Text_1854B9, Text_1854ED +Route12_EventScript_Justin:: @ 81AA5C5 + trainerbattle_single TRAINER_CAMPER_JUSTIN, Route12_Text_JustinIntro, Route12_Text_JustinDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA5EC - msgbox Text_1854F2, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route12_EventScript_JustinRematch + msgbox Route12_Text_JustinPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA5EC:: @ 81AA5EC - trainerbattle_rematch TRAINER_CAMPER_JUSTIN, Text_1C2008, Text_1854ED - msgbox Text_1854F2, MSGBOX_AUTOCLOSE +Route12_EventScript_JustinRematch:: @ 81AA5EC + trainerbattle_rematch TRAINER_CAMPER_JUSTIN, Route12_Text_JustinRematchIntro, Route12_Text_JustinDefeat + msgbox Route12_Text_JustinPostBattle, MSGBOX_AUTOCLOSE end -Route12_EventScript_1AA603:: @ 81AA603 - trainerbattle_double TRAINER_YOUNG_COUPLE_GIA_JES, Text_1857C5, Text_1857F1, Text_185842 +Route12_EventScript_Jes:: @ 81AA603 + trainerbattle_double TRAINER_YOUNG_COUPLE_GIA_JES, Route12_Text_JesIntro, Route12_Text_JesDefeat, Route12_Text_JesNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA62E - msgbox Text_18581F, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route12_EventScript_JesRematch + msgbox Route12_Text_JesPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA62E:: @ 81AA62E - trainerbattle_rematch_double TRAINER_YOUNG_COUPLE_GIA_JES, Text_1C216B, Text_1857F1, Text_185842 - msgbox Text_18581F, MSGBOX_AUTOCLOSE +Route12_EventScript_JesRematch:: @ 81AA62E + trainerbattle_rematch_double TRAINER_YOUNG_COUPLE_GIA_JES, Route12_Text_JesRematchIntro, Route12_Text_JesDefeat, Route12_Text_JesNotEnoughMons + msgbox Route12_Text_JesPostBattle, MSGBOX_AUTOCLOSE end -Route12_EventScript_1AA649:: @ 81AA649 - trainerbattle_double TRAINER_YOUNG_COUPLE_GIA_JES, Text_1858A6, Text_1858D0, Text_185908 +Route12_EventScript_Gia:: @ 81AA649 + trainerbattle_double TRAINER_YOUNG_COUPLE_GIA_JES, Route12_Text_GiaIntro, Route12_Text_GiaDefeat, Route12_Text_GiaNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA674 - msgbox Text_1858E2, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route12_EventScript_GiaRematch + msgbox Route12_Text_GiaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA674:: @ 81AA674 - trainerbattle_rematch_double TRAINER_YOUNG_COUPLE_GIA_JES, Text_1C219B, Text_1858D0, Text_185908 - msgbox Text_1858E2, MSGBOX_AUTOCLOSE +Route12_EventScript_GiaRematch:: @ 81AA674 + trainerbattle_rematch_double TRAINER_YOUNG_COUPLE_GIA_JES, Route12_Text_GiaRematchIntro, Route12_Text_GiaDefeat, Route12_Text_GiaNotEnoughMons + msgbox Route12_Text_GiaPostBattle, MSGBOX_AUTOCLOSE end -Route13_EventScript_1AA68F:: @ 81AA68F - trainerbattle_single TRAINER_BIKER_JARED, Text_185D05, Text_185D1D +Route13_EventScript_Jared:: @ 81AA68F + trainerbattle_single TRAINER_BIKER_JARED, Route13_Text_JaredIntro, Route13_Text_JaredDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA6B6 - msgbox Text_185D33, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route13_EventScript_JaredRematch + msgbox Route13_Text_JaredPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA6B6:: @ 81AA6B6 - trainerbattle_rematch TRAINER_BIKER_JARED, Text_1C236B, Text_185D1D - msgbox Text_185D33, MSGBOX_AUTOCLOSE +Route13_EventScript_JaredRematch:: @ 81AA6B6 + trainerbattle_rematch TRAINER_BIKER_JARED, Route13_Text_JaredRematchIntro, Route13_Text_JaredDefeat + msgbox Route13_Text_JaredPostBattle, MSGBOX_AUTOCLOSE end -Route13_EventScript_1AA6CD:: @ 81AA6CD - trainerbattle_single TRAINER_BEAUTY_LOLA, Text_185BFC, Text_185C1F +Route13_EventScript_Lola:: @ 81AA6CD + trainerbattle_single TRAINER_BEAUTY_LOLA, Route13_Text_LolaIntro, Route13_Text_LolaDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA6F4 - msgbox Text_185C35, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route13_EventScript_LolaRematch + msgbox Route13_Text_LolaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA6F4:: @ 81AA6F4 - trainerbattle_rematch TRAINER_BEAUTY_LOLA, Text_1C2306, Text_185C1F - msgbox Text_185C35, MSGBOX_AUTOCLOSE +Route13_EventScript_LolaRematch:: @ 81AA6F4 + trainerbattle_rematch TRAINER_BEAUTY_LOLA, Route13_Text_LolaRematchIntro, Route13_Text_LolaDefeat + msgbox Route13_Text_LolaPostBattle, MSGBOX_AUTOCLOSE end -Route13_EventScript_1AA70B:: @ 81AA70B - trainerbattle_single TRAINER_BEAUTY_SHEILA, Text_185C69, Text_185C95 +Route13_EventScript_Sheila:: @ 81AA70B + trainerbattle_single TRAINER_BEAUTY_SHEILA, Route13_Text_SheilaIntro, Route13_Text_SheilaDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA732 - msgbox Text_185CA8, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route13_EventScript_SheilaRematch + msgbox Route13_Text_SheilaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA732:: @ 81AA732 - trainerbattle_rematch TRAINER_BEAUTY_SHEILA, Text_1C2340, Text_185C95 - msgbox Text_185CA8, MSGBOX_AUTOCLOSE +Route13_EventScript_SheilaRematch:: @ 81AA732 + trainerbattle_rematch TRAINER_BEAUTY_SHEILA, Route13_Text_SheilaRematchIntro, Route13_Text_SheilaDefeat + msgbox Route13_Text_SheilaPostBattle, MSGBOX_AUTOCLOSE end -Route13_EventScript_1AA749:: @ 81AA749 - trainerbattle_single TRAINER_BIRD_KEEPER_SEBASTIAN, Text_185955, Text_18597E +Route13_EventScript_Sebastian:: @ 81AA749 + trainerbattle_single TRAINER_BIRD_KEEPER_SEBASTIAN, Route13_Text_SebastianIntro, Route13_Text_SebastianDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA770 - msgbox Text_1859A2, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route13_EventScript_SebastianRematch + msgbox Route13_Text_SebastianPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA770:: @ 81AA770 - trainerbattle_rematch TRAINER_BIRD_KEEPER_SEBASTIAN, Text_1C21EE, Text_18597E - msgbox Text_1859A2, MSGBOX_AUTOCLOSE +Route13_EventScript_SebastianRematch:: @ 81AA770 + trainerbattle_rematch TRAINER_BIRD_KEEPER_SEBASTIAN, Route13_Text_SebastianRematchIntro, Route13_Text_SebastianDefeat + msgbox Route13_Text_SebastianPostBattle, MSGBOX_AUTOCLOSE end -Route13_EventScript_1AA787:: @ 81AA787 - trainerbattle_single TRAINER_BIRD_KEEPER_PERRY, Text_185B8F, Text_185BCA +Route13_EventScript_Perry:: @ 81AA787 + trainerbattle_single TRAINER_BIRD_KEEPER_PERRY, Route13_Text_PerryIntro, Route13_Text_PerryDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA7AE - msgbox Text_185BDB, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route13_EventScript_PerryRematch + msgbox Route13_Text_PerryPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA7AE:: @ 81AA7AE - trainerbattle_rematch TRAINER_BIRD_KEEPER_PERRY, Text_1C22CA, Text_185BCA - msgbox Text_185BDB, MSGBOX_AUTOCLOSE +Route13_EventScript_PerryRematch:: @ 81AA7AE + trainerbattle_rematch TRAINER_BIRD_KEEPER_PERRY, Route13_Text_PerryRematchIntro, Route13_Text_PerryDefeat + msgbox Route13_Text_PerryPostBattle, MSGBOX_AUTOCLOSE end -Route13_EventScript_1AA7C5:: @ 81AA7C5 - trainerbattle_single TRAINER_BIRD_KEEPER_ROBERT, Text_185D3D, Text_185D7B +Route13_EventScript_Robert:: @ 81AA7C5 + trainerbattle_single TRAINER_BIRD_KEEPER_ROBERT, Route13_Text_RobertIntro, Route13_Text_RobertDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA7EC - msgbox Text_185D89, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route13_EventScript_RobertRematch + msgbox Route13_Text_RobertPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA7EC:: @ 81AA7EC - trainerbattle_rematch TRAINER_BIRD_KEEPER_ROBERT, Text_1C2383, Text_185D7B - msgbox Text_185D89, MSGBOX_AUTOCLOSE +Route13_EventScript_RobertRematch:: @ 81AA7EC + trainerbattle_rematch TRAINER_BIRD_KEEPER_ROBERT, Route13_Text_RobertRematchIntro, Route13_Text_RobertDefeat + msgbox Route13_Text_RobertPostBattle, MSGBOX_AUTOCLOSE end -Route13_EventScript_1AA803:: @ 81AA803 - trainerbattle_single TRAINER_PICNICKER_ALMA, Text_185B12, Text_185B48 +Route13_EventScript_Alma:: @ 81AA803 + trainerbattle_single TRAINER_PICNICKER_ALMA, Route13_Text_AlmaIntro, Route13_Text_AlmaDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA82A - msgbox Text_185B67, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route13_EventScript_AlmaRematch + msgbox Route13_Text_AlmaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA82A:: @ 81AA82A - trainerbattle_rematch TRAINER_PICNICKER_ALMA, Text_1C2299, Text_185B48 - msgbox Text_185B67, MSGBOX_AUTOCLOSE +Route13_EventScript_AlmaRematch:: @ 81AA82A + trainerbattle_rematch TRAINER_PICNICKER_ALMA, Route13_Text_AlmaRematchIntro, Route13_Text_AlmaDefeat + msgbox Route13_Text_AlmaPostBattle, MSGBOX_AUTOCLOSE end -Route13_EventScript_1AA841:: @ 81AA841 - trainerbattle_single TRAINER_PICNICKER_SUSIE, Text_1859CF, Text_1859EC +Route13_EventScript_Susie:: @ 81AA841 + trainerbattle_single TRAINER_PICNICKER_SUSIE, Route13_Text_SusieIntro, Route13_Text_SusieDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA868 - msgbox Text_1859F9, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route13_EventScript_SusieRematch + msgbox Route13_Text_SusiePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA868:: @ 81AA868 - trainerbattle_rematch TRAINER_PICNICKER_SUSIE, Text_1C220C, Text_1859EC - msgbox Text_1859F9, MSGBOX_AUTOCLOSE +Route13_EventScript_SusieRematch:: @ 81AA868 + trainerbattle_rematch TRAINER_PICNICKER_SUSIE, Route13_Text_SusieRematchIntro, Route13_Text_SusieDefeat + msgbox Route13_Text_SusiePostBattle, MSGBOX_AUTOCLOSE end -Route13_EventScript_1AA87F:: @ 81AA87F - trainerbattle_single TRAINER_PICNICKER_VALERIE, Text_185A37, Text_185A56 +Route13_EventScript_Valerie:: @ 81AA87F + trainerbattle_single TRAINER_PICNICKER_VALERIE, Route13_Text_ValerieIntro, Route13_Text_ValerieDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA8A6 - msgbox Text_185A62, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route13_EventScript_ValerieRematch + msgbox Route13_Text_ValeriePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA8A6:: @ 81AA8A6 - trainerbattle_rematch TRAINER_PICNICKER_VALERIE, Text_1C223C, Text_185A56 - msgbox Text_185A62, MSGBOX_AUTOCLOSE +Route13_EventScript_ValerieRematch:: @ 81AA8A6 + trainerbattle_rematch TRAINER_PICNICKER_VALERIE, Route13_Text_ValerieRematchIntro, Route13_Text_ValerieDefeat + msgbox Route13_Text_ValeriePostBattle, MSGBOX_AUTOCLOSE end -Route13_EventScript_1AA8BD:: @ 81AA8BD - trainerbattle_single TRAINER_PICNICKER_GWEN, Text_185A91, Text_185AC1 +Route13_EventScript_Gwen:: @ 81AA8BD + trainerbattle_single TRAINER_PICNICKER_GWEN, Route13_Text_GwenIntro, Route13_Text_GwenDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA8E4 - msgbox Text_185ADE, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route13_EventScript_GwenRematch + msgbox Route13_Text_GwenPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA8E4:: @ 81AA8E4 - trainerbattle_rematch TRAINER_PICNICKER_GWEN, Text_1C225B, Text_185AC1 - msgbox Text_185ADE, MSGBOX_AUTOCLOSE +Route13_EventScript_GwenRematch:: @ 81AA8E4 + trainerbattle_rematch TRAINER_PICNICKER_GWEN, Route13_Text_GwenRematchIntro, Route13_Text_GwenDefeat + msgbox Route13_Text_GwenPostBattle, MSGBOX_AUTOCLOSE end -Route14_EventScript_1AA8FB:: @ 81AA8FB - trainerbattle_single TRAINER_BIKER_MALIK, Text_186344, Text_186362 +Route14_EventScript_Malik:: @ 81AA8FB + trainerbattle_single TRAINER_BIKER_MALIK, Route14_Text_MalikIntro, Route14_Text_MalikDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA922 - msgbox Text_18636E, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route14_EventScript_MalikRematch + msgbox Route14_Text_MalikPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA922:: @ 81AA922 - trainerbattle_rematch TRAINER_BIKER_MALIK, Text_1C25D6, Text_186362 - msgbox Text_18636E, MSGBOX_AUTOCLOSE +Route14_EventScript_MalikRematch:: @ 81AA922 + trainerbattle_rematch TRAINER_BIKER_MALIK, Route14_Text_MalikRematchIntro, Route14_Text_MalikDefeat + msgbox Route14_Text_MalikPostBattle, MSGBOX_AUTOCLOSE end -Route14_EventScript_1AA939:: @ 81AA939 - trainerbattle_single TRAINER_BIKER_LUKAS, Text_1861F7, Text_186223 +Route14_EventScript_Lukas:: @ 81AA939 + trainerbattle_single TRAINER_BIKER_LUKAS, Route14_Text_LukasIntro, Route14_Text_LukasDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA960 - msgbox Text_186239, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route14_EventScript_LukasRematch + msgbox Route14_Text_LukasPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA960:: @ 81AA960 - trainerbattle_rematch TRAINER_BIKER_LUKAS, Text_1C2531, Text_186223 - msgbox Text_186239, MSGBOX_AUTOCLOSE +Route14_EventScript_LukasRematch:: @ 81AA960 + trainerbattle_rematch TRAINER_BIKER_LUKAS, Route14_Text_LukasRematchIntro, Route14_Text_LukasDefeat + msgbox Route14_Text_LukasPostBattle, MSGBOX_AUTOCLOSE end -Route14_EventScript_1AA977:: @ 81AA977 - trainerbattle_single TRAINER_BIKER_ISAAC, Text_186263, Text_186291 +Route14_EventScript_Isaac:: @ 81AA977 + trainerbattle_single TRAINER_BIKER_ISAAC, Route14_Text_IsaacIntro, Route14_Text_IsaacDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA99E - msgbox Text_18629D, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route14_EventScript_IsaacRematch + msgbox Route14_Text_IsaacPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA99E:: @ 81AA99E - trainerbattle_rematch TRAINER_BIKER_ISAAC, Text_1C2572, Text_186291 - msgbox Text_18629D, MSGBOX_AUTOCLOSE +Route14_EventScript_IsaacRematch:: @ 81AA99E + trainerbattle_rematch TRAINER_BIKER_ISAAC, Route14_Text_IsaacRematchIntro, Route14_Text_IsaacDefeat + msgbox Route14_Text_IsaacPostBattle, MSGBOX_AUTOCLOSE end -Route14_EventScript_1AA9B5:: @ 81AA9B5 - trainerbattle_single TRAINER_BIKER_GERALD, Text_1862BD, Text_1862EF +Route14_EventScript_Gerald:: @ 81AA9B5 + trainerbattle_single TRAINER_BIKER_GERALD, Route14_Text_GeraldIntro, Route14_Text_GeraldDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AA9DC - msgbox Text_1862F8, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route14_EventScript_GeraldRematch + msgbox Route14_Text_GeraldPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AA9DC:: @ 81AA9DC - trainerbattle_rematch TRAINER_BIKER_GERALD, Text_1C259E, Text_1862EF - msgbox Text_1862F8, MSGBOX_AUTOCLOSE +Route14_EventScript_GeraldRematch:: @ 81AA9DC + trainerbattle_rematch TRAINER_BIKER_GERALD, Route14_Text_GeraldRematchIntro, Route14_Text_GeraldDefeat + msgbox Route14_Text_GeraldPostBattle, MSGBOX_AUTOCLOSE end -Route14_EventScript_1AA9F3:: @ 81AA9F3 - trainerbattle_single TRAINER_BIRD_KEEPER_DONALD, Text_1860D9, Text_18610A +Route14_EventScript_Donald:: @ 81AA9F3 + trainerbattle_single TRAINER_BIRD_KEEPER_DONALD, Route14_Text_DonaldIntro, Route14_Text_DonaldDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AAA1A - msgbox Text_18611D, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route14_EventScript_DonaldRematch + msgbox Route14_Text_DonaldPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AAA1A:: @ 81AAA1A - trainerbattle_rematch TRAINER_BIRD_KEEPER_DONALD, Text_1C24CB, Text_18610A - msgbox Text_18611D, MSGBOX_AUTOCLOSE +Route14_EventScript_DonaldRematch:: @ 81AAA1A + trainerbattle_rematch TRAINER_BIRD_KEEPER_DONALD, Route14_Text_DonaldRematchIntro, Route14_Text_DonaldDefeat + msgbox Route14_Text_DonaldPostBattle, MSGBOX_AUTOCLOSE end -Route14_EventScript_1AAA31:: @ 81AAA31 - trainerbattle_single TRAINER_BIRD_KEEPER_BENNY, Text_18618E, Text_1861B3 +Route14_EventScript_Benny:: @ 81AAA31 + trainerbattle_single TRAINER_BIRD_KEEPER_BENNY, Route14_Text_BennyIntro, Route14_Text_BennyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AAA58 - msgbox Text_1861BE, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route14_EventScript_BennyRematch + msgbox Route14_Text_BennyPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AAA58:: @ 81AAA58 - trainerbattle_rematch TRAINER_BIRD_KEEPER_BENNY, Text_1C2505, Text_1861B3 - msgbox Text_1861BE, MSGBOX_AUTOCLOSE +Route14_EventScript_BennyRematch:: @ 81AAA58 + trainerbattle_rematch TRAINER_BIRD_KEEPER_BENNY, Route14_Text_BennyRematchIntro, Route14_Text_BennyDefeat + msgbox Route14_Text_BennyPostBattle, MSGBOX_AUTOCLOSE end -Route14_EventScript_1AAA6F:: @ 81AAA6F - trainerbattle_single TRAINER_BIRD_KEEPER_CARTER, Text_185E4D, Text_185E81 +Route14_EventScript_Carter:: @ 81AAA6F + trainerbattle_single TRAINER_BIRD_KEEPER_CARTER, Route14_Text_CarterIntro, Route14_Text_CarterDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AAA96 - msgbox Text_185E9C, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route14_EventScript_CarterRematch + msgbox Route14_Text_CarterPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AAA96:: @ 81AAA96 - trainerbattle_rematch TRAINER_BIRD_KEEPER_CARTER, Text_1C23C1, Text_185E81 - msgbox Text_185E9C, MSGBOX_AUTOCLOSE +Route14_EventScript_CarterRematch:: @ 81AAA96 + trainerbattle_rematch TRAINER_BIRD_KEEPER_CARTER, Route14_Text_CarterRematchIntro, Route14_Text_CarterDefeat + msgbox Route14_Text_CarterPostBattle, MSGBOX_AUTOCLOSE end -Route14_EventScript_1AAAAD:: @ 81AAAAD - trainerbattle_single TRAINER_BIRD_KEEPER_MITCH, Text_185EDF, Text_185F0B +Route14_EventScript_Mitch:: @ 81AAAAD + trainerbattle_single TRAINER_BIRD_KEEPER_MITCH, Route14_Text_MitchIntro, Route14_Text_MitchDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AAAD4 - msgbox Text_185F1A, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route14_EventScript_MitchRematch + msgbox Route14_Text_MitchPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AAAD4:: @ 81AAAD4 - trainerbattle_rematch TRAINER_BIRD_KEEPER_MITCH, Text_1C23EF, Text_185F0B - msgbox Text_185F1A, MSGBOX_AUTOCLOSE +Route14_EventScript_MitchRematch:: @ 81AAAD4 + trainerbattle_rematch TRAINER_BIRD_KEEPER_MITCH, Route14_Text_MitchRematchIntro, Route14_Text_MitchDefeat + msgbox Route14_Text_MitchPostBattle, MSGBOX_AUTOCLOSE end -Route14_EventScript_1AAAEB:: @ 81AAAEB - trainerbattle_single TRAINER_BIRD_KEEPER_BECK, Text_185F46, Text_185FAE +Route14_EventScript_Beck:: @ 81AAAEB + trainerbattle_single TRAINER_BIRD_KEEPER_BECK, Route14_Text_BeckIntro, Route14_Text_BeckDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AAB12 - msgbox Text_185FBB, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route14_EventScript_BeckRematch + msgbox Route14_Text_BeckPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AAB12:: @ 81AAB12 - trainerbattle_rematch TRAINER_BIRD_KEEPER_BECK, Text_1C2425, Text_185FAE - msgbox Text_185FBB, MSGBOX_AUTOCLOSE +Route14_EventScript_BeckRematch:: @ 81AAB12 + trainerbattle_rematch TRAINER_BIRD_KEEPER_BECK, Route14_Text_BeckRematchIntro, Route14_Text_BeckDefeat + msgbox Route14_Text_BeckPostBattle, MSGBOX_AUTOCLOSE end -Route14_EventScript_1AAB29:: @ 81AAB29 - trainerbattle_single TRAINER_BIRD_KEEPER_MARLON, Text_186021, Text_18607C +Route14_EventScript_Marlon:: @ 81AAB29 + trainerbattle_single TRAINER_BIRD_KEEPER_MARLON, Route14_Text_MarlonIntro, Route14_Text_MarlonDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AAB50 - msgbox Text_186091, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route14_EventScript_MarlonRematch + msgbox Route14_Text_MarlonPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AAB50:: @ 81AAB50 - trainerbattle_rematch TRAINER_BIRD_KEEPER_MARLON, Text_1C2461, Text_18607C - msgbox Text_186091, MSGBOX_AUTOCLOSE +Route14_EventScript_MarlonRematch:: @ 81AAB50 + trainerbattle_rematch TRAINER_BIRD_KEEPER_MARLON, Route14_Text_MarlonRematchIntro, Route14_Text_MarlonDefeat + msgbox Route14_Text_MarlonPostBattle, MSGBOX_AUTOCLOSE end -Route14_EventScript_1AAB67:: @ 81AAB67 - trainerbattle_double TRAINER_TWINS_KIRI_JAN, Text_1863B7, Text_1863EA, Text_18642E +Route14_EventScript_Kiri:: @ 81AAB67 + trainerbattle_double TRAINER_TWINS_KIRI_JAN, Route14_Text_KiriIntro, Route14_Text_KiriDefeat, Route14_Text_KiriNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AAB92 - msgbox Text_18640D, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route14_EventScript_KiriRematch + msgbox Route14_Text_KiriPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AAB92:: @ 81AAB92 - trainerbattle_rematch_double TRAINER_TWINS_KIRI_JAN, Text_1C25FB, Text_1863EA, Text_18642E - msgbox Text_18640D, MSGBOX_AUTOCLOSE +Route14_EventScript_KiriRematch:: @ 81AAB92 + trainerbattle_rematch_double TRAINER_TWINS_KIRI_JAN, Route14_Text_KiriRematchIntro, Route14_Text_KiriDefeat, Route14_Text_KiriNotEnoughMons + msgbox Route14_Text_KiriPostBattle, MSGBOX_AUTOCLOSE end -Route14_EventScript_1AABAD:: @ 81AABAD - trainerbattle_double TRAINER_TWINS_KIRI_JAN, Text_18645B, Text_186487, Text_1864D3 +Route14_EventScript_Jan:: @ 81AABAD + trainerbattle_double TRAINER_TWINS_KIRI_JAN, Route14_Text_JanIntro, Route14_Text_JanDefeat, Route14_Text_JanNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AABD8 - msgbox Text_18649C, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route14_EventScript_JanRematch + msgbox Route14_Text_JanPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AABD8:: @ 81AABD8 - trainerbattle_rematch_double TRAINER_TWINS_KIRI_JAN, Text_1C261B, Text_186487, Text_1864D3 - msgbox Text_18649C, MSGBOX_AUTOCLOSE +Route14_EventScript_JanRematch:: @ 81AABD8 + trainerbattle_rematch_double TRAINER_TWINS_KIRI_JAN, Route14_Text_JanRematchIntro, Route14_Text_JanDefeat, Route14_Text_JanNotEnoughMons + msgbox Route14_Text_JanPostBattle, MSGBOX_AUTOCLOSE end -Route15_EventScript_1AABF3:: @ 81AABF3 - trainerbattle_single TRAINER_BIKER_ERNEST, Text_1868B6, Text_1868E8 +Route15_EventScript_Ernest:: @ 81AABF3 + trainerbattle_single TRAINER_BIKER_ERNEST, Route15_Text_ErnestIntro, Route15_Text_ErnestDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AAC1A - msgbox Text_1868F1, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route15_EventScript_ErnestRematch + msgbox Route15_Text_ErnestPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AAC1A:: @ 81AAC1A - trainerbattle_rematch TRAINER_BIKER_ERNEST, Text_1C27E7, Text_1868E8 - msgbox Text_1868F1, MSGBOX_AUTOCLOSE +Route15_EventScript_ErnestRematch:: @ 81AAC1A + trainerbattle_rematch TRAINER_BIKER_ERNEST, Route15_Text_ErnestRematchIntro, Route15_Text_ErnestDefeat + msgbox Route15_Text_ErnestPostBattle, MSGBOX_AUTOCLOSE end -Route15_EventScript_1AAC31:: @ 81AAC31 - trainerbattle_single TRAINER_BIKER_ALEX, Text_186936, Text_186968 +Route15_EventScript_Alex:: @ 81AAC31 + trainerbattle_single TRAINER_BIKER_ALEX, Route15_Text_AlexIntro, Route15_Text_AlexDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AAC58 - msgbox Text_18697C, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route15_EventScript_AlexRematch + msgbox Route15_Text_AlexPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AAC58:: @ 81AAC58 - trainerbattle_rematch TRAINER_BIKER_ALEX, Text_1C2814, Text_186968 - msgbox Text_18697C, MSGBOX_AUTOCLOSE +Route15_EventScript_AlexRematch:: @ 81AAC58 + trainerbattle_rematch TRAINER_BIKER_ALEX, Route15_Text_AlexRematchIntro, Route15_Text_AlexDefeat + msgbox Route15_Text_AlexPostBattle, MSGBOX_AUTOCLOSE end -Route15_EventScript_1AAC6F:: @ 81AAC6F - trainerbattle_single TRAINER_BEAUTY_GRACE, Text_18678B, Text_1867C1 +Route15_EventScript_Grace:: @ 81AAC6F + trainerbattle_single TRAINER_BEAUTY_GRACE, Route15_Text_GraceIntro, Route15_Text_GraceDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AAC96 - msgbox Text_1867DA, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route15_EventScript_GraceRematch + msgbox Route15_Text_GracePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AAC96:: @ 81AAC96 - trainerbattle_rematch TRAINER_BEAUTY_GRACE, Text_1C2753, Text_1867C1 - msgbox Text_1867DA, MSGBOX_AUTOCLOSE +Route15_EventScript_GraceRematch:: @ 81AAC96 + trainerbattle_rematch TRAINER_BEAUTY_GRACE, Route15_Text_GraceRematchIntro, Route15_Text_GraceDefeat + msgbox Route15_Text_GracePostBattle, MSGBOX_AUTOCLOSE end -Route15_EventScript_1AACAD:: @ 81AACAD - trainerbattle_single TRAINER_BEAUTY_OLIVIA, Text_18680C, Text_186841 +Route15_EventScript_Olivia:: @ 81AACAD + trainerbattle_single TRAINER_BEAUTY_OLIVIA, Route15_Text_OliviaIntro, Route15_Text_OliviaDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AACD4 - msgbox Text_18686F, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route15_EventScript_OliviaRematch + msgbox Route15_Text_OliviaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AACD4:: @ 81AACD4 - trainerbattle_rematch TRAINER_BEAUTY_OLIVIA, Text_1C279D, Text_186841 - msgbox Text_18686F, MSGBOX_AUTOCLOSE +Route15_EventScript_OliviaRematch:: @ 81AACD4 + trainerbattle_rematch TRAINER_BEAUTY_OLIVIA, Route15_Text_OliviaRematchIntro, Route15_Text_OliviaDefeat + msgbox Route15_Text_OliviaPostBattle, MSGBOX_AUTOCLOSE end -Route15_EventScript_1AACEB:: @ 81AACEB - trainerbattle_single TRAINER_BIRD_KEEPER_EDWIN, Text_18664F, Text_18667A +Route15_EventScript_Edwin:: @ 81AACEB + trainerbattle_single TRAINER_BIRD_KEEPER_EDWIN, Route15_Text_EdwinIntro, Route15_Text_EdwinDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AAD12 - msgbox Text_18668D, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route15_EventScript_EdwinRematch + msgbox Route15_Text_EdwinPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AAD12:: @ 81AAD12 - trainerbattle_rematch TRAINER_BIRD_KEEPER_EDWIN, Text_1C26D3, Text_18667A - msgbox Text_18668D, MSGBOX_AUTOCLOSE +Route15_EventScript_EdwinRematch:: @ 81AAD12 + trainerbattle_rematch TRAINER_BIRD_KEEPER_EDWIN, Route15_Text_EdwinRematchIntro, Route15_Text_EdwinDefeat + msgbox Route15_Text_EdwinPostBattle, MSGBOX_AUTOCLOSE end -Route15_EventScript_1AAD29:: @ 81AAD29 - trainerbattle_single TRAINER_BIRD_KEEPER_CHESTER, Text_1866D1, Text_186707 +Route15_EventScript_Chester:: @ 81AAD29 + trainerbattle_single TRAINER_BIRD_KEEPER_CHESTER, Route15_Text_ChesterIntro, Route15_Text_ChesterDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AAD50 - msgbox Text_18671A, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route15_EventScript_ChesterRematch + msgbox Route15_Text_ChesterPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AAD50:: @ 81AAD50 - trainerbattle_rematch TRAINER_BIRD_KEEPER_CHESTER, Text_1C2717, Text_186707 - msgbox Text_18671A, MSGBOX_AUTOCLOSE +Route15_EventScript_ChesterRematch:: @ 81AAD50 + trainerbattle_rematch TRAINER_BIRD_KEEPER_CHESTER, Route15_Text_ChesterRematchIntro, Route15_Text_ChesterDefeat + msgbox Route15_Text_ChesterPostBattle, MSGBOX_AUTOCLOSE end -Route15_EventScript_1AAD67:: @ 81AAD67 - trainerbattle_single TRAINER_PICNICKER_YAZMIN, Text_186A22, Text_186A40 +Route15_EventScript_Yazmin:: @ 81AAD67 + trainerbattle_single TRAINER_PICNICKER_YAZMIN, Route15_Text_YazminIntro, Route15_Text_YazminDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AAD8E - msgbox Text_186A55, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route15_EventScript_YazminRematch + msgbox Route15_Text_YazminPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AAD8E:: @ 81AAD8E - trainerbattle_rematch TRAINER_PICNICKER_YAZMIN, Text_1C287D, Text_186A40 - msgbox Text_186A55, MSGBOX_AUTOCLOSE +Route15_EventScript_YazminRematch:: @ 81AAD8E + trainerbattle_rematch TRAINER_PICNICKER_YAZMIN, Route15_Text_YazminRematchIntro, Route15_Text_YazminDefeat + msgbox Route15_Text_YazminPostBattle, MSGBOX_AUTOCLOSE end -Route15_EventScript_1AADA5:: @ 81AADA5 - trainerbattle_single TRAINER_PICNICKER_KINDRA, Text_18650B, Text_186549 +Route15_EventScript_Kindra:: @ 81AADA5 + trainerbattle_single TRAINER_PICNICKER_KINDRA, Route15_Text_KindraIntro, Route15_Text_KindraDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AADCC - msgbox Text_18655A, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route15_EventScript_KindraRematch + msgbox Route15_Text_KindraPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AADCC:: @ 81AADCC - trainerbattle_rematch TRAINER_PICNICKER_KINDRA, Text_1C2650, Text_186549 - msgbox Text_18655A, MSGBOX_AUTOCLOSE +Route15_EventScript_KindraRematch:: @ 81AADCC + trainerbattle_rematch TRAINER_PICNICKER_KINDRA, Route15_Text_KindraRematchIntro, Route15_Text_KindraDefeat + msgbox Route15_Text_KindraPostBattle, MSGBOX_AUTOCLOSE end -Route15_EventScript_1AADE3:: @ 81AADE3 - trainerbattle_single TRAINER_PICNICKER_BECKY, Text_1865D3, Text_186612 +Route15_EventScript_Becky:: @ 81AADE3 + trainerbattle_single TRAINER_PICNICKER_BECKY, Route15_Text_BeckyIntro, Route15_Text_BeckyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AAE0A - msgbox Text_18661D, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route15_EventScript_BeckyRematch + msgbox Route15_Text_BeckyPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AAE0A:: @ 81AAE0A - trainerbattle_rematch TRAINER_PICNICKER_BECKY, Text_1C268D, Text_186612 - msgbox Text_18661D, MSGBOX_AUTOCLOSE +Route15_EventScript_BeckyRematch:: @ 81AAE0A + trainerbattle_rematch TRAINER_PICNICKER_BECKY, Route15_Text_BeckyRematchIntro, Route15_Text_BeckyDefeat + msgbox Route15_Text_BeckyPostBattle, MSGBOX_AUTOCLOSE end -Route15_EventScript_1AAE21:: @ 81AAE21 - trainerbattle_single TRAINER_PICNICKER_CELIA, Text_1869BA, Text_1869E6 +Route15_EventScript_Celia:: @ 81AAE21 + trainerbattle_single TRAINER_PICNICKER_CELIA, Route15_Text_CeliaIntro, Route15_Text_CeliaDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AAE48 - msgbox Text_1869F4, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route15_EventScript_CeliaRematch + msgbox Route15_Text_CeliaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AAE48:: @ 81AAE48 - trainerbattle_rematch TRAINER_PICNICKER_CELIA, Text_1C2846, Text_1869E6 - msgbox Text_1869F4, MSGBOX_AUTOCLOSE +Route15_EventScript_CeliaRematch:: @ 81AAE48 + trainerbattle_rematch TRAINER_PICNICKER_CELIA, Route15_Text_CeliaRematchIntro, Route15_Text_CeliaDefeat + msgbox Route15_Text_CeliaPostBattle, MSGBOX_AUTOCLOSE end -Route15_EventScript_1AAE5F:: @ 81AAE5F - trainerbattle_double TRAINER_CRUSH_KIN_RON_MYA, Text_186A95, Text_186ACB, Text_186B46 +Route15_EventScript_Mya:: @ 81AAE5F + trainerbattle_double TRAINER_CRUSH_KIN_RON_MYA, Route15_Text_MyaIntro, Route15_Text_MyaDefeat, Route15_Text_MyaNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AAE8A - msgbox Text_186B0A, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route15_EventScript_MyaRematch + msgbox Route15_Text_MyaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AAE8A:: @ 81AAE8A - trainerbattle_rematch_double TRAINER_CRUSH_KIN_RON_MYA, Text_1C28A1, Text_186ACB, Text_186B46 - msgbox Text_186B0A, MSGBOX_AUTOCLOSE +Route15_EventScript_MyaRematch:: @ 81AAE8A + trainerbattle_rematch_double TRAINER_CRUSH_KIN_RON_MYA, Route15_Text_MyaRematchIntro, Route15_Text_MyaDefeat, Route15_Text_MyaNotEnoughMons + msgbox Route15_Text_MyaPostBattle, MSGBOX_AUTOCLOSE end -Route15_EventScript_1AAEA5:: @ 81AAEA5 - trainerbattle_double TRAINER_CRUSH_KIN_RON_MYA, Text_186B89, Text_186BB1, Text_186BFE +Route15_EventScript_Ron:: @ 81AAEA5 + trainerbattle_double TRAINER_CRUSH_KIN_RON_MYA, Route15_Text_RonIntro, Route15_Text_RonDefeat, Route15_Text_RonNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AAED0 - msgbox Text_186BD2, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route15_EventScript_RonRematch + msgbox Route15_Text_RonPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AAED0:: @ 81AAED0 - trainerbattle_rematch_double TRAINER_CRUSH_KIN_RON_MYA, Text_1C28EC, Text_186BB1, Text_186BFE - msgbox Text_186BD2, MSGBOX_AUTOCLOSE +Route15_EventScript_RonRematch:: @ 81AAED0 + trainerbattle_rematch_double TRAINER_CRUSH_KIN_RON_MYA, Route15_Text_RonRematchIntro, Route15_Text_RonDefeat, Route15_Text_RonNotEnoughMons + msgbox Route15_Text_RonPostBattle, MSGBOX_AUTOCLOSE end -Route16_EventScript_1AAEEB:: @ 81AAEEB - trainerbattle_single TRAINER_BIKER_LAO, Text_186C4D, Text_186C5F +Route16_EventScript_Lao:: @ 81AAEEB + trainerbattle_single TRAINER_BIKER_LAO, Route16_Text_LaoIntro, Route16_Text_LaoDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AAF12 - msgbox Text_186C75, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route16_EventScript_LaoRematch + msgbox Route16_Text_LaoPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AAF12:: @ 81AAF12 - trainerbattle_rematch TRAINER_BIKER_LAO, Text_1C2913, Text_186C5F - msgbox Text_186C75, MSGBOX_AUTOCLOSE +Route16_EventScript_LaoRematch:: @ 81AAF12 + trainerbattle_rematch TRAINER_BIKER_LAO, Route16_Text_LaoRematchIntro, Route16_Text_LaoDefeat + msgbox Route16_Text_LaoPostBattle, MSGBOX_AUTOCLOSE end -Route16_EventScript_1AAF29:: @ 81AAF29 - trainerbattle_single TRAINER_BIKER_HIDEO, Text_186D39, Text_186D52 +Route16_EventScript_Hideo:: @ 81AAF29 + trainerbattle_single TRAINER_BIKER_HIDEO, Route16_Text_HideoIntro, Route16_Text_HideoDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AAF50 - msgbox Text_186D5A, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route16_EventScript_HideoRematch + msgbox Route16_Text_HideoPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AAF50:: @ 81AAF50 - trainerbattle_rematch TRAINER_BIKER_HIDEO, Text_1C297B, Text_186D52 - msgbox Text_186D5A, MSGBOX_AUTOCLOSE +Route16_EventScript_HideoRematch:: @ 81AAF50 + trainerbattle_rematch TRAINER_BIKER_HIDEO, Route16_Text_HideoRematchIntro, Route16_Text_HideoDefeat + msgbox Route16_Text_HideoPostBattle, MSGBOX_AUTOCLOSE end -Route16_EventScript_1AAF67:: @ 81AAF67 - trainerbattle_single TRAINER_BIKER_RUBEN, Text_186E86, Text_186EB4 +Route16_EventScript_Ruben:: @ 81AAF67 + trainerbattle_single TRAINER_BIKER_RUBEN, Route16_Text_RubenIntro, Route16_Text_RubenDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AAF8E - msgbox Text_186EC7, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route16_EventScript_RubenRematch + msgbox Route16_Text_RubenPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AAF8E:: @ 81AAF8E - trainerbattle_rematch TRAINER_BIKER_RUBEN, Text_1C29EB, Text_186EB4 - msgbox Text_186EC7, MSGBOX_AUTOCLOSE +Route16_EventScript_RubenRematch:: @ 81AAF8E + trainerbattle_rematch TRAINER_BIKER_RUBEN, Route16_Text_RubenRematchIntro, Route16_Text_RubenDefeat + msgbox Route16_Text_RubenPostBattle, MSGBOX_AUTOCLOSE end -Route16_EventScript_1AAFA5:: @ 81AAFA5 - trainerbattle_single TRAINER_CUE_BALL_KOJI, Text_186CA2, Text_186CBB +Route16_EventScript_Koji:: @ 81AAFA5 + trainerbattle_single TRAINER_CUE_BALL_KOJI, Route16_Text_KojiIntro, Route16_Text_KojiDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AAFCC - msgbox Text_186CC5, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route16_EventScript_KojiRematch + msgbox Route16_Text_KojiPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AAFCC:: @ 81AAFCC - trainerbattle_rematch TRAINER_CUE_BALL_KOJI, Text_1C2925, Text_186CBB - msgbox Text_186CC5, MSGBOX_AUTOCLOSE +Route16_EventScript_KojiRematch:: @ 81AAFCC + trainerbattle_rematch TRAINER_CUE_BALL_KOJI, Route16_Text_KojiRematchIntro, Route16_Text_KojiDefeat + msgbox Route16_Text_KojiPostBattle, MSGBOX_AUTOCLOSE end -Route16_EventScript_1AAFE3:: @ 81AAFE3 - trainerbattle_single TRAINER_CUE_BALL_LUKE, Text_186CE5, Text_186D06 +Route16_EventScript_Luke:: @ 81AAFE3 + trainerbattle_single TRAINER_CUE_BALL_LUKE, Route16_Text_LukeIntro, Route16_Text_LukeDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB00A - msgbox Text_186D16, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route16_EventScript_LukeRematch + msgbox Route16_Text_LukePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB00A:: @ 81AB00A - trainerbattle_rematch TRAINER_CUE_BALL_LUKE, Text_1C2944, Text_186D06 - msgbox Text_186D16, MSGBOX_AUTOCLOSE +Route16_EventScript_LukeRematch:: @ 81AB00A + trainerbattle_rematch TRAINER_CUE_BALL_LUKE, Route16_Text_LukeRematchIntro, Route16_Text_LukeDefeat + msgbox Route16_Text_LukePostBattle, MSGBOX_AUTOCLOSE end -Route16_EventScript_1AB021:: @ 81AB021 - trainerbattle_single TRAINER_CUE_BALL_CAMRON, Text_186DD9, Text_186E0D +Route16_EventScript_Camron:: @ 81AB021 + trainerbattle_single TRAINER_CUE_BALL_CAMRON, Route16_Text_CamronIntro, Route16_Text_CamronDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB048 - msgbox Text_186E1C, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route16_EventScript_CamronRematch + msgbox Route16_Text_CamronPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB048:: @ 81AB048 - trainerbattle_rematch TRAINER_CUE_BALL_CAMRON, Text_1C29B0, Text_186E0D - msgbox Text_186E1C, MSGBOX_AUTOCLOSE +Route16_EventScript_CamronRematch:: @ 81AB048 + trainerbattle_rematch TRAINER_CUE_BALL_CAMRON, Route16_Text_CamronRematchIntro, Route16_Text_CamronDefeat + msgbox Route16_Text_CamronPostBattle, MSGBOX_AUTOCLOSE end -Route16_EventScript_1AB05F:: @ 81AB05F - trainerbattle_double TRAINER_YOUNG_COUPLE_LEA_JED, Text_186FBD, Text_186FFA, Text_187057 +Route16_EventScript_Jed:: @ 81AB05F + trainerbattle_double TRAINER_YOUNG_COUPLE_LEA_JED, Route16_Text_JedIntro, Route16_Text_JedDefeat, Route16_Text_JedNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB08A - msgbox Text_187027, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route16_EventScript_JedRematch + msgbox Route16_Text_JedPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB08A:: @ 81AB08A - trainerbattle_rematch_double TRAINER_YOUNG_COUPLE_LEA_JED, Text_1C2A19, Text_186FFA, Text_187057 - msgbox Text_187027, MSGBOX_AUTOCLOSE +Route16_EventScript_JedRematch:: @ 81AB08A + trainerbattle_rematch_double TRAINER_YOUNG_COUPLE_LEA_JED, Route16_Text_JedRematchIntro, Route16_Text_JedDefeat, Route16_Text_JedNotEnoughMons + msgbox Route16_Text_JedPostBattle, MSGBOX_AUTOCLOSE end -Route16_EventScript_1AB0A5:: @ 81AB0A5 - trainerbattle_double TRAINER_YOUNG_COUPLE_LEA_JED, Text_187097, Text_1870CC, Text_187120 +Route16_EventScript_Lea:: @ 81AB0A5 + trainerbattle_double TRAINER_YOUNG_COUPLE_LEA_JED, Route16_Text_LeaIntro, Route16_Text_LeaDefeat, Route16_Text_LeaNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB0D0 - msgbox Text_1870F9, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route16_EventScript_LeaRematch + msgbox Route16_Text_LeaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB0D0:: @ 81AB0D0 - trainerbattle_rematch_double TRAINER_YOUNG_COUPLE_LEA_JED, Text_1C2A53, Text_1870CC, Text_187120 - msgbox Text_1870F9, MSGBOX_AUTOCLOSE +Route16_EventScript_LeaRematch:: @ 81AB0D0 + trainerbattle_rematch_double TRAINER_YOUNG_COUPLE_LEA_JED, Route16_Text_LeaRematchIntro, Route16_Text_LeaDefeat, Route16_Text_LeaNotEnoughMons + msgbox Route16_Text_LeaPostBattle, MSGBOX_AUTOCLOSE end -Route17_EventScript_1AB0EB:: @ 81AB0EB - trainerbattle_single TRAINER_BIKER_BILLY, Text_1872BD, Text_1872E3 +Route17_EventScript_Billy:: @ 81AB0EB + trainerbattle_single TRAINER_BIKER_BILLY, Route17_Text_BillyIntro, Route17_Text_BillyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB112 - msgbox Text_1872EB, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route17_EventScript_BillyRematch + msgbox Route17_Text_BillyPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB112:: @ 81AB112 - trainerbattle_rematch TRAINER_BIKER_BILLY, Text_1C2B06, Text_1872E3 - msgbox Text_1872EB, MSGBOX_AUTOCLOSE +Route17_EventScript_BillyRematch:: @ 81AB112 + trainerbattle_rematch TRAINER_BIKER_BILLY, Route17_Text_BillyRematchIntro, Route17_Text_BillyDefeat + msgbox Route17_Text_BillyPostBattle, MSGBOX_AUTOCLOSE end -Route17_EventScript_1AB129:: @ 81AB129 - trainerbattle_single TRAINER_BIKER_NIKOLAS, Text_18730A, Text_187325 +Route17_EventScript_Nikolas:: @ 81AB129 + trainerbattle_single TRAINER_BIKER_NIKOLAS, Route17_Text_NikolasIntro, Route17_Text_NikolasDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB150 - msgbox Text_187333, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route17_EventScript_NikolasRematch + msgbox Route17_Text_NikolasPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB150:: @ 81AB150 - trainerbattle_rematch TRAINER_BIKER_NIKOLAS, Text_1C2B2C, Text_187325 - msgbox Text_187333, MSGBOX_AUTOCLOSE +Route17_EventScript_NikolasRematch:: @ 81AB150 + trainerbattle_rematch TRAINER_BIKER_NIKOLAS, Route17_Text_NikolasRematchIntro, Route17_Text_NikolasDefeat + msgbox Route17_Text_NikolasPostBattle, MSGBOX_AUTOCLOSE end -Route17_EventScript_1AB167:: @ 81AB167 - trainerbattle_single TRAINER_BIKER_JAXON, Text_187456, Text_187472 +Route17_EventScript_Jaxon:: @ 81AB167 + trainerbattle_single TRAINER_BIKER_JAXON, Route17_Text_JaxonIntro, Route17_Text_JaxonDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB18E - msgbox Text_187479, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route17_EventScript_JaxonRematch + msgbox Route17_Text_JaxonPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB18E:: @ 81AB18E - trainerbattle_rematch TRAINER_BIKER_JAXON, Text_1C2BE6, Text_187472 - msgbox Text_187479, MSGBOX_AUTOCLOSE +Route17_EventScript_JaxonRematch:: @ 81AB18E + trainerbattle_rematch TRAINER_BIKER_JAXON, Route17_Text_JaxonRematchIntro, Route17_Text_JaxonDefeat + msgbox Route17_Text_JaxonPostBattle, MSGBOX_AUTOCLOSE end -Route17_EventScript_1AB1A5:: @ 81AB1A5 - trainerbattle_single TRAINER_BIKER_WILLIAM, Text_18749B, Text_1874B6 +Route17_EventScript_William:: @ 81AB1A5 + trainerbattle_single TRAINER_BIKER_WILLIAM, Route17_Text_WilliamIntro, Route17_Text_WilliamDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB1CC - msgbox Text_1874C9, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route17_EventScript_WilliamRematch + msgbox Route17_Text_WilliamPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB1CC:: @ 81AB1CC - trainerbattle_rematch TRAINER_BIKER_WILLIAM, Text_1C2C10, Text_1874B6 - msgbox Text_1874C9, MSGBOX_AUTOCLOSE +Route17_EventScript_WilliamRematch:: @ 81AB1CC + trainerbattle_rematch TRAINER_BIKER_WILLIAM, Route17_Text_WilliamRematchIntro, Route17_Text_WilliamDefeat + msgbox Route17_Text_WilliamPostBattle, MSGBOX_AUTOCLOSE end -Route17_EventScript_1AB1E3:: @ 81AB1E3 - trainerbattle_single TRAINER_CUE_BALL_RAUL, Text_18717E, Text_1871AE +Route17_EventScript_Raul:: @ 81AB1E3 + trainerbattle_single TRAINER_CUE_BALL_RAUL, Route17_Text_RaulIntro, Route17_Text_RaulDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB20A - msgbox Text_1871BA, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route17_EventScript_RaulRematch + msgbox Route17_Text_RaulPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB20A:: @ 81AB20A - trainerbattle_rematch TRAINER_CUE_BALL_RAUL, Text_1C2A88, Text_1871AE - msgbox Text_1871BA, MSGBOX_AUTOCLOSE +Route17_EventScript_RaulRematch:: @ 81AB20A + trainerbattle_rematch TRAINER_CUE_BALL_RAUL, Route17_Text_RaulRematchIntro, Route17_Text_RaulDefeat + msgbox Route17_Text_RaulPostBattle, MSGBOX_AUTOCLOSE end -Route17_EventScript_1AB221:: @ 81AB221 - trainerbattle_single TRAINER_CUE_BALL_ISAIAH, Text_187228, Text_187254 +Route17_EventScript_Isaiah:: @ 81AB221 + trainerbattle_single TRAINER_CUE_BALL_ISAIAH, Route17_Text_IsaiahIntro, Route17_Text_IsaiahDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB248 - msgbox Text_18725A, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route17_EventScript_IsaiahRematch + msgbox Route17_Text_IsaiahPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB248:: @ 81AB248 - trainerbattle_rematch TRAINER_CUE_BALL_ISAIAH, Text_1C2AC4, Text_187254 - msgbox Text_18725A, MSGBOX_AUTOCLOSE +Route17_EventScript_IsaiahRematch:: @ 81AB248 + trainerbattle_rematch TRAINER_CUE_BALL_ISAIAH, Route17_Text_IsaiahRematchIntro, Route17_Text_IsaiahDefeat + msgbox Route17_Text_IsaiahPostBattle, MSGBOX_AUTOCLOSE end -Route17_EventScript_1AB25F:: @ 81AB25F - trainerbattle_single TRAINER_CUE_BALL_ZEEK, Text_187362, Text_187395 +Route17_EventScript_Zeek:: @ 81AB25F + trainerbattle_single TRAINER_CUE_BALL_ZEEK, Route17_Text_ZeekIntro, Route17_Text_ZeekDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB286 - msgbox Text_18739F, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route17_EventScript_ZeekRematch + msgbox Route17_Text_ZeekPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB286:: @ 81AB286 - trainerbattle_rematch TRAINER_CUE_BALL_ZEEK, Text_1C2B5E, Text_187395 - msgbox Text_18739F, MSGBOX_AUTOCLOSE +Route17_EventScript_ZeekRematch:: @ 81AB286 + trainerbattle_rematch TRAINER_CUE_BALL_ZEEK, Route17_Text_ZeekRematchIntro, Route17_Text_ZeekDefeat + msgbox Route17_Text_ZeekPostBattle, MSGBOX_AUTOCLOSE end -Route17_EventScript_1AB29D:: @ 81AB29D - trainerbattle_single TRAINER_CUE_BALL_JAMAL, Text_1873D1, Text_1873EB +Route17_EventScript_Jamal:: @ 81AB29D + trainerbattle_single TRAINER_CUE_BALL_JAMAL, Route17_Text_JamalIntro, Route17_Text_JamalDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB2C4 - msgbox Text_1873FF, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route17_EventScript_JamalRematch + msgbox Route17_Text_JamalPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB2C4:: @ 81AB2C4 - trainerbattle_rematch TRAINER_CUE_BALL_JAMAL, Text_1C2B9C, Text_1873EB - msgbox Text_1873FF, MSGBOX_AUTOCLOSE +Route17_EventScript_JamalRematch:: @ 81AB2C4 + trainerbattle_rematch TRAINER_CUE_BALL_JAMAL, Route17_Text_JamalRematchIntro, Route17_Text_JamalDefeat + msgbox Route17_Text_JamalPostBattle, MSGBOX_AUTOCLOSE end -Route17_EventScript_1AB2DB:: @ 81AB2DB - trainerbattle_single TRAINER_CUE_BALL_COREY, Text_18741D, Text_187429 +Route17_EventScript_Corey:: @ 81AB2DB + trainerbattle_single TRAINER_CUE_BALL_COREY, Route17_Text_CoreyIntro, Route17_Text_CoreyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB302 - msgbox Text_187432, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route17_EventScript_CoreyRematch + msgbox Route17_Text_CoreyPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB302:: @ 81AB302 - trainerbattle_rematch TRAINER_CUE_BALL_COREY, Text_1C2BDA, Text_187429 - msgbox Text_187432, MSGBOX_AUTOCLOSE +Route17_EventScript_CoreyRematch:: @ 81AB302 + trainerbattle_rematch TRAINER_CUE_BALL_COREY, Route17_Text_CoreyRematchIntro, Route17_Text_CoreyDefeat + msgbox Route17_Text_CoreyPostBattle, MSGBOX_AUTOCLOSE end -Route17_EventScript_1AB319:: @ 81AB319 - trainerbattle_single TRAINER_BIKER_VIRGIL, Text_18727D, Text_187295 +Route17_EventScript_Virgil:: @ 81AB319 + trainerbattle_single TRAINER_BIKER_VIRGIL, Route17_Text_VirgilIntro, Route17_Text_VirgilDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB340 - msgbox Text_1872A5, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route17_EventScript_VirgilRematch + msgbox Route17_Text_VirgilPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB340:: @ 81AB340 - trainerbattle_rematch TRAINER_BIKER_VIRGIL, Text_1C2AF0, Text_187295 - msgbox Text_1872A5, MSGBOX_AUTOCLOSE +Route17_EventScript_VirgilRematch:: @ 81AB340 + trainerbattle_rematch TRAINER_BIKER_VIRGIL, Route17_Text_VirgilRematchIntro, Route17_Text_VirgilDefeat + msgbox Route17_Text_VirgilPostBattle, MSGBOX_AUTOCLOSE end -Route18_EventScript_1AB357:: @ 81AB357 - trainerbattle_single TRAINER_BIRD_KEEPER_WILTON, Text_187640, Text_187672 +Route18_EventScript_Wilton:: @ 81AB357 + trainerbattle_single TRAINER_BIRD_KEEPER_WILTON, Route18_Text_WiltonIntro, Route18_Text_WiltonDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB37E - msgbox Text_187677, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route18_EventScript_WiltonRematch + msgbox Route18_Text_WiltonPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB37E:: @ 81AB37E - trainerbattle_rematch TRAINER_BIRD_KEEPER_WILTON, Text_1C2C2B, Text_187672 - msgbox Text_187677, MSGBOX_AUTOCLOSE +Route18_EventScript_WiltonRematch:: @ 81AB37E + trainerbattle_rematch TRAINER_BIRD_KEEPER_WILTON, Route18_Text_WiltonRematchIntro, Route18_Text_WiltonDefeat + msgbox Route18_Text_WiltonPostBattle, MSGBOX_AUTOCLOSE end -Route18_EventScript_1AB395:: @ 81AB395 - trainerbattle_single TRAINER_BIRD_KEEPER_RAMIRO, Text_18768C, Text_1876B3 +Route18_EventScript_Ramiro:: @ 81AB395 + trainerbattle_single TRAINER_BIRD_KEEPER_RAMIRO, Route18_Text_RamiroIntro, Route18_Text_RamiroDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB3BC - msgbox Text_1876C5, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route18_EventScript_RamiroRematch + msgbox Route18_Text_RamiroPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB3BC:: @ 81AB3BC - trainerbattle_rematch TRAINER_BIRD_KEEPER_RAMIRO, Text_1C2C7B, Text_1876B3 - msgbox Text_1876C5, MSGBOX_AUTOCLOSE +Route18_EventScript_RamiroRematch:: @ 81AB3BC + trainerbattle_rematch TRAINER_BIRD_KEEPER_RAMIRO, Route18_Text_RamiroRematchIntro, Route18_Text_RamiroDefeat + msgbox Route18_Text_RamiroPostBattle, MSGBOX_AUTOCLOSE end -Route18_EventScript_1AB3D3:: @ 81AB3D3 - trainerbattle_single TRAINER_BIRD_KEEPER_JACOB, Text_187704, Text_187726 +Route18_EventScript_Jacob:: @ 81AB3D3 + trainerbattle_single TRAINER_BIRD_KEEPER_JACOB, Route18_Text_JacobIntro, Route18_Text_JacobDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB3FA - msgbox Text_18772C, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route18_EventScript_JacobRematch + msgbox Route18_Text_JacobPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB3FA:: @ 81AB3FA - trainerbattle_rematch TRAINER_BIRD_KEEPER_JACOB, Text_1C2CA8, Text_187726 - msgbox Text_18772C, MSGBOX_AUTOCLOSE +Route18_EventScript_JacobRematch:: @ 81AB3FA + trainerbattle_rematch TRAINER_BIRD_KEEPER_JACOB, Route18_Text_JacobRematchIntro, Route18_Text_JacobDefeat + msgbox Route18_Text_JacobPostBattle, MSGBOX_AUTOCLOSE end -Route19_EventScript_1AB411:: @ 81AB411 - trainerbattle_single TRAINER_SWIMMER_MALE_RICHARD, Text_1877A3, Text_1877DF +Route19_EventScript_Richard:: @ 81AB411 + trainerbattle_single TRAINER_SWIMMER_MALE_RICHARD, Route19_Text_RichardIntro, Route19_Text_RichardDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB438 - msgbox Text_1877EE, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route19_EventScript_RichardRematch + msgbox Route19_Text_RichardPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB438:: @ 81AB438 - trainerbattle_rematch TRAINER_SWIMMER_MALE_RICHARD, Text_1C2CEE, Text_1877DF - msgbox Text_1877EE, MSGBOX_AUTOCLOSE +Route19_EventScript_RichardRematch:: @ 81AB438 + trainerbattle_rematch TRAINER_SWIMMER_MALE_RICHARD, Route19_Text_RichardRematchIntro, Route19_Text_RichardDefeat + msgbox Route19_Text_RichardPostBattle, MSGBOX_AUTOCLOSE end -Route19_EventScript_1AB44F:: @ 81AB44F - trainerbattle_single TRAINER_SWIMMER_MALE_REECE, Text_187811, Text_18783E +Route19_EventScript_Reece:: @ 81AB44F + trainerbattle_single TRAINER_SWIMMER_MALE_REECE, Route19_Text_ReeceIntro, Route19_Text_ReeceDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB476 - msgbox Text_187852, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route19_EventScript_ReeceRematch + msgbox Route19_Text_ReecePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB476:: @ 81AB476 - trainerbattle_rematch TRAINER_SWIMMER_MALE_REECE, Text_1C2D19, Text_18783E - msgbox Text_187852, MSGBOX_AUTOCLOSE +Route19_EventScript_ReeceRematch:: @ 81AB476 + trainerbattle_rematch TRAINER_SWIMMER_MALE_REECE, Route19_Text_ReeceRematchIntro, Route19_Text_ReeceDefeat + msgbox Route19_Text_ReecePostBattle, MSGBOX_AUTOCLOSE end -Route19_EventScript_1AB48D:: @ 81AB48D - trainerbattle_single TRAINER_SWIMMER_MALE_MATTHEW, Text_187884, Text_1878A5 +Route19_EventScript_Matthew:: @ 81AB48D + trainerbattle_single TRAINER_SWIMMER_MALE_MATTHEW, Route19_Text_MatthewIntro, Route19_Text_MatthewDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB4B4 - msgbox Text_1878B1, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route19_EventScript_MatthewRematch + msgbox Route19_Text_MatthewPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB4B4:: @ 81AB4B4 - trainerbattle_rematch TRAINER_SWIMMER_MALE_MATTHEW, Text_1C2D4B, Text_1878A5 - msgbox Text_1878B1, MSGBOX_AUTOCLOSE +Route19_EventScript_MatthewRematch:: @ 81AB4B4 + trainerbattle_rematch TRAINER_SWIMMER_MALE_MATTHEW, Route19_Text_MatthewRematchIntro, Route19_Text_MatthewDefeat + msgbox Route19_Text_MatthewPostBattle, MSGBOX_AUTOCLOSE end -Route19_EventScript_1AB4CB:: @ 81AB4CB - trainerbattle_single TRAINER_SWIMMER_MALE_DOUGLAS, Text_1878DD, Text_1878F8 +Route19_EventScript_Douglas:: @ 81AB4CB + trainerbattle_single TRAINER_SWIMMER_MALE_DOUGLAS, Route19_Text_DouglasIntro, Route19_Text_DouglasDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB4F2 - msgbox Text_1878FE, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route19_EventScript_DouglasRematch + msgbox Route19_Text_DouglasPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB4F2:: @ 81AB4F2 - trainerbattle_rematch TRAINER_SWIMMER_MALE_DOUGLAS, Text_1C2D7D, Text_1878F8 - msgbox Text_1878FE, MSGBOX_AUTOCLOSE +Route19_EventScript_DouglasRematch:: @ 81AB4F2 + trainerbattle_rematch TRAINER_SWIMMER_MALE_DOUGLAS, Route19_Text_DouglasRematchIntro, Route19_Text_DouglasDefeat + msgbox Route19_Text_DouglasPostBattle, MSGBOX_AUTOCLOSE end -Route19_EventScript_1AB509:: @ 81AB509 - trainerbattle_single TRAINER_SWIMMER_MALE_DAVID, Text_187925, Text_187955 +Route19_EventScript_David:: @ 81AB509 + trainerbattle_single TRAINER_SWIMMER_MALE_DAVID, Route19_Text_DavidIntro, Route19_Text_DavidDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB530 - msgbox Text_18795B, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route19_EventScript_DavidRematch + msgbox Route19_Text_DavidPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB530:: @ 81AB530 - trainerbattle_rematch TRAINER_SWIMMER_MALE_DAVID, Text_1C2DA7, Text_187955 - msgbox Text_18795B, MSGBOX_AUTOCLOSE +Route19_EventScript_DavidRematch:: @ 81AB530 + trainerbattle_rematch TRAINER_SWIMMER_MALE_DAVID, Route19_Text_DavidRematchIntro, Route19_Text_DavidDefeat + msgbox Route19_Text_DavidPostBattle, MSGBOX_AUTOCLOSE end -Route19_EventScript_1AB547:: @ 81AB547 - trainerbattle_single TRAINER_SWIMMER_MALE_TONY, Text_187985, Text_1879C3 +Route19_EventScript_Tony:: @ 81AB547 + trainerbattle_single TRAINER_SWIMMER_MALE_TONY, Route19_Text_TonyIntro, Route19_Text_TonyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB56E - msgbox Text_1879D3, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route19_EventScript_TonyRematch + msgbox Route19_Text_TonyPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB56E:: @ 81AB56E - trainerbattle_rematch TRAINER_SWIMMER_MALE_TONY, Text_1C2DE9, Text_1879C3 - msgbox Text_1879D3, MSGBOX_AUTOCLOSE +Route19_EventScript_TonyRematch:: @ 81AB56E + trainerbattle_rematch TRAINER_SWIMMER_MALE_TONY, Route19_Text_TonyRematchIntro, Route19_Text_TonyDefeat + msgbox Route19_Text_TonyPostBattle, MSGBOX_AUTOCLOSE end -Route19_EventScript_1AB585:: @ 81AB585 - trainerbattle_single TRAINER_SWIMMER_MALE_AXLE, Text_187AFA, Text_187B25 +Route19_EventScript_Axle:: @ 81AB585 + trainerbattle_single TRAINER_SWIMMER_MALE_AXLE, Route19_Text_AxleIntro, Route19_Text_AxleDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB5AC - msgbox Text_187B35, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route19_EventScript_AxleRematch + msgbox Route19_Text_AxlePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB5AC:: @ 81AB5AC - trainerbattle_rematch TRAINER_SWIMMER_MALE_AXLE, Text_1C2EC0, Text_187B25 - msgbox Text_187B35, MSGBOX_AUTOCLOSE +Route19_EventScript_AxleRematch:: @ 81AB5AC + trainerbattle_rematch TRAINER_SWIMMER_MALE_AXLE, Route19_Text_AxleRematchIntro, Route19_Text_AxleDefeat + msgbox Route19_Text_AxlePostBattle, MSGBOX_AUTOCLOSE end -Route19_EventScript_1AB5C3:: @ 81AB5C3 - trainerbattle_single TRAINER_SWIMMER_FEMALE_ANYA, Text_187A11, Text_187A44 +Route19_EventScript_Anya:: @ 81AB5C3 + trainerbattle_single TRAINER_SWIMMER_FEMALE_ANYA, Route19_Text_AnyaIntro, Route19_Text_AnyaDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB5EA - msgbox Text_187A50, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route19_EventScript_AnyaRematch + msgbox Route19_Text_AnyaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB5EA:: @ 81AB5EA - trainerbattle_rematch TRAINER_SWIMMER_FEMALE_ANYA, Text_1C2E4A, Text_187A44 - msgbox Text_187A50, MSGBOX_AUTOCLOSE +Route19_EventScript_AnyaRematch:: @ 81AB5EA + trainerbattle_rematch TRAINER_SWIMMER_FEMALE_ANYA, Route19_Text_AnyaRematchIntro, Route19_Text_AnyaDefeat + msgbox Route19_Text_AnyaPostBattle, MSGBOX_AUTOCLOSE end -Route19_EventScript_1AB601:: @ 81AB601 - trainerbattle_single TRAINER_SWIMMER_FEMALE_ALICE, Text_187A9E, Text_187AC1 +Route19_EventScript_Alice:: @ 81AB601 + trainerbattle_single TRAINER_SWIMMER_FEMALE_ALICE, Route19_Text_AliceIntro, Route19_Text_AliceDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB628 - msgbox Text_187ACA, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route19_EventScript_AliceRematch + msgbox Route19_Text_AlicePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB628:: @ 81AB628 - trainerbattle_rematch TRAINER_SWIMMER_FEMALE_ALICE, Text_1C2E9D, Text_187AC1 - msgbox Text_187ACA, MSGBOX_AUTOCLOSE +Route19_EventScript_AliceRematch:: @ 81AB628 + trainerbattle_rematch TRAINER_SWIMMER_FEMALE_ALICE, Route19_Text_AliceRematchIntro, Route19_Text_AliceDefeat + msgbox Route19_Text_AlicePostBattle, MSGBOX_AUTOCLOSE end -Route19_EventScript_1AB63F:: @ 81AB63F - trainerbattle_single TRAINER_SWIMMER_FEMALE_CONNIE, Text_187B5D, Text_187B85 +Route19_EventScript_Connie:: @ 81AB63F + trainerbattle_single TRAINER_SWIMMER_FEMALE_CONNIE, Route19_Text_ConnieIntro, Route19_Text_ConnieDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB666 - msgbox Text_187B94, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route19_EventScript_ConnieRematch + msgbox Route19_Text_ConniePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB666:: @ 81AB666 - trainerbattle_rematch TRAINER_SWIMMER_FEMALE_CONNIE, Text_1C2EFC, Text_187B85 - msgbox Text_187B94, MSGBOX_AUTOCLOSE +Route19_EventScript_ConnieRematch:: @ 81AB666 + trainerbattle_rematch TRAINER_SWIMMER_FEMALE_CONNIE, Route19_Text_ConnieRematchIntro, Route19_Text_ConnieDefeat + msgbox Route19_Text_ConniePostBattle, MSGBOX_AUTOCLOSE end -Route19_EventScript_1AB67D:: @ 81AB67D - trainerbattle_double TRAINER_SIS_AND_BRO_LIA_LUC, Text_187C32, Text_187C6F, Text_187CF2 +Route19_EventScript_Lia:: @ 81AB67D + trainerbattle_double TRAINER_SIS_AND_BRO_LIA_LUC, Route19_Text_LiaIntro, Route19_Text_LiaDefeat, Route19_Text_LiaNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB6A8 - msgbox Text_187C9E, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route19_EventScript_LiaRematch + msgbox Route19_Text_LiaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB6A8:: @ 81AB6A8 - trainerbattle_rematch_double TRAINER_SIS_AND_BRO_LIA_LUC, Text_1C2F41, Text_187C6F, Text_187CF2 - msgbox Text_187C9E, MSGBOX_AUTOCLOSE +Route19_EventScript_LiaRematch:: @ 81AB6A8 + trainerbattle_rematch_double TRAINER_SIS_AND_BRO_LIA_LUC, Route19_Text_LiaRematchIntro, Route19_Text_LiaDefeat, Route19_Text_LiaNotEnoughMons + msgbox Route19_Text_LiaPostBattle, MSGBOX_AUTOCLOSE end -Route19_EventScript_1AB6C3:: @ 81AB6C3 - trainerbattle_double TRAINER_SIS_AND_BRO_LIA_LUC, Text_187D45, Text_187D7E, Text_187DE8 +Route19_EventScript_Luc:: @ 81AB6C3 + trainerbattle_double TRAINER_SIS_AND_BRO_LIA_LUC, Route19_Text_LucIntro, Route19_Text_LucDefeat, Route19_Text_LucNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB6EE - msgbox Text_187DAD, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route19_EventScript_LucRematch + msgbox Route19_Text_LucPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB6EE:: @ 81AB6EE - trainerbattle_rematch_double TRAINER_SIS_AND_BRO_LIA_LUC, Text_1C2FAE, Text_187D7E, Text_187DE8 - msgbox Text_187DAD, MSGBOX_AUTOCLOSE +Route19_EventScript_LucRematch:: @ 81AB6EE + trainerbattle_rematch_double TRAINER_SIS_AND_BRO_LIA_LUC, Route19_Text_LucRematchIntro, Route19_Text_LucDefeat, Route19_Text_LucNotEnoughMons + msgbox Route19_Text_LucPostBattle, MSGBOX_AUTOCLOSE end -Route20_EventScript_1AB709:: @ 81AB709 - trainerbattle_single TRAINER_SWIMMER_MALE_BARRY, Text_187E40, Text_187E7B +Route20_EventScript_Barry:: @ 81AB709 + trainerbattle_single TRAINER_SWIMMER_MALE_BARRY, Route20_Text_BarryIntro, Route20_Text_BarryDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB730 - msgbox Text_187E83, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route20_EventScript_BarryRematch + msgbox Route20_Text_BarryPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB730:: @ 81AB730 - trainerbattle_rematch TRAINER_SWIMMER_MALE_BARRY, Text_1C2FF3, Text_187E7B - msgbox Text_187E83, MSGBOX_AUTOCLOSE +Route20_EventScript_BarryRematch:: @ 81AB730 + trainerbattle_rematch TRAINER_SWIMMER_MALE_BARRY, Route20_Text_BarryRematchIntro, Route20_Text_BarryDefeat + msgbox Route20_Text_BarryPostBattle, MSGBOX_AUTOCLOSE end -Route20_EventScript_1AB747:: @ 81AB747 - trainerbattle_single TRAINER_SWIMMER_MALE_DEAN, Text_187FDB, Text_187FF7 +Route20_EventScript_Dean:: @ 81AB747 + trainerbattle_single TRAINER_SWIMMER_MALE_DEAN, Route20_Text_DeanIntro, Route20_Text_DeanDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB76E - msgbox Text_187FFE, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route20_EventScript_DeanRematch + msgbox Route20_Text_DeanPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB76E:: @ 81AB76E - trainerbattle_rematch TRAINER_SWIMMER_MALE_DEAN, Text_1C30B0, Text_187FF7 - msgbox Text_187FFE, MSGBOX_AUTOCLOSE +Route20_EventScript_DeanRematch:: @ 81AB76E + trainerbattle_rematch TRAINER_SWIMMER_MALE_DEAN, Route20_Text_DeanRematchIntro, Route20_Text_DeanDefeat + msgbox Route20_Text_DeanPostBattle, MSGBOX_AUTOCLOSE end -Route20_EventScript_1AB785:: @ 81AB785 - trainerbattle_single TRAINER_SWIMMER_MALE_DARRIN, Text_18802E, Text_18805C +Route20_EventScript_Darrin:: @ 81AB785 + trainerbattle_single TRAINER_SWIMMER_MALE_DARRIN, Route20_Text_DarrinIntro, Route20_Text_DarrinDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB7AC - msgbox Text_18806D, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route20_EventScript_DarrinRematch + msgbox Route20_Text_DarrinPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB7AC:: @ 81AB7AC - trainerbattle_rematch TRAINER_SWIMMER_MALE_DARRIN, Text_1C30ED, Text_18805C - msgbox Text_18806D, MSGBOX_AUTOCLOSE +Route20_EventScript_DarrinRematch:: @ 81AB7AC + trainerbattle_rematch TRAINER_SWIMMER_MALE_DARRIN, Route20_Text_DarrinRematchIntro, Route20_Text_DarrinDefeat + msgbox Route20_Text_DarrinPostBattle, MSGBOX_AUTOCLOSE end -Route20_EventScript_1AB7C3:: @ 81AB7C3 - trainerbattle_single TRAINER_SWIMMER_FEMALE_TIFFANY, Text_187F24, Text_187F5A +Route20_EventScript_Tiffany:: @ 81AB7C3 + trainerbattle_single TRAINER_SWIMMER_FEMALE_TIFFANY, Route20_Text_TiffanyIntro, Route20_Text_TiffanyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB7EA - msgbox Text_187F61, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route20_EventScript_TiffanyRematch + msgbox Route20_Text_TiffanyPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB7EA:: @ 81AB7EA - trainerbattle_rematch TRAINER_SWIMMER_FEMALE_TIFFANY, Text_1C305F, Text_187F5A - msgbox Text_187F61, MSGBOX_AUTOCLOSE +Route20_EventScript_TiffanyRematch:: @ 81AB7EA + trainerbattle_rematch TRAINER_SWIMMER_FEMALE_TIFFANY, Route20_Text_TiffanyRematchIntro, Route20_Text_TiffanyDefeat + msgbox Route20_Text_TiffanyPostBattle, MSGBOX_AUTOCLOSE end -Route20_EventScript_1AB801:: @ 81AB801 - trainerbattle_single TRAINER_SWIMMER_FEMALE_NORA, Text_1880F8, Text_188119 +Route20_EventScript_Nora:: @ 81AB801 + trainerbattle_single TRAINER_SWIMMER_FEMALE_NORA, Route20_Text_NoraIntro, Route20_Text_NoraDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB828 - msgbox Text_188139, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route20_EventScript_NoraRematch + msgbox Route20_Text_NoraPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB828:: @ 81AB828 - trainerbattle_rematch TRAINER_SWIMMER_FEMALE_NORA, Text_1C3149, Text_188119 - msgbox Text_188139, MSGBOX_AUTOCLOSE +Route20_EventScript_NoraRematch:: @ 81AB828 + trainerbattle_rematch TRAINER_SWIMMER_FEMALE_NORA, Route20_Text_NoraRematchIntro, Route20_Text_NoraDefeat + msgbox Route20_Text_NoraPostBattle, MSGBOX_AUTOCLOSE end -Route20_EventScript_1AB83F:: @ 81AB83F - trainerbattle_single TRAINER_SWIMMER_FEMALE_MELISSA, Text_188218, Text_18825C +Route20_EventScript_Melissa:: @ 81AB83F + trainerbattle_single TRAINER_SWIMMER_FEMALE_MELISSA, Route20_Text_MelissaIntro, Route20_Text_MelissaDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB866 - msgbox Text_18827B, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route20_EventScript_MelissaRematch + msgbox Route20_Text_MelissaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB866:: @ 81AB866 - trainerbattle_rematch TRAINER_SWIMMER_FEMALE_MELISSA, Text_1C31C4, Text_18825C - msgbox Text_18827B, MSGBOX_AUTOCLOSE +Route20_EventScript_MelissaRematch:: @ 81AB866 + trainerbattle_rematch TRAINER_SWIMMER_FEMALE_MELISSA, Route20_Text_MelissaRematchIntro, Route20_Text_MelissaDefeat + msgbox Route20_Text_MelissaPostBattle, MSGBOX_AUTOCLOSE end -Route20_EventScript_1AB87D:: @ 81AB87D - trainerbattle_single TRAINER_SWIMMER_FEMALE_SHIRLEY, Text_187EBB, Text_187EED +Route20_EventScript_Shirley:: @ 81AB87D + trainerbattle_single TRAINER_SWIMMER_FEMALE_SHIRLEY, Route20_Text_ShirleyIntro, Route20_Text_ShirleyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB8A4 - msgbox Text_187EF6, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route20_EventScript_ShirleyRematch + msgbox Route20_Text_ShirleyPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB8A4:: @ 81AB8A4 - trainerbattle_rematch TRAINER_SWIMMER_FEMALE_SHIRLEY, Text_1C302E, Text_187EED - msgbox Text_187EF6, MSGBOX_AUTOCLOSE +Route20_EventScript_ShirleyRematch:: @ 81AB8A4 + trainerbattle_rematch TRAINER_SWIMMER_FEMALE_SHIRLEY, Route20_Text_ShirleyRematchIntro, Route20_Text_ShirleyDefeat + msgbox Route20_Text_ShirleyPostBattle, MSGBOX_AUTOCLOSE end -Route20_EventScript_1AB8BB:: @ 81AB8BB - trainerbattle_single TRAINER_BIRD_KEEPER_ROGER, Text_18808E, Text_1880AB +Route20_EventScript_Roger:: @ 81AB8BB + trainerbattle_single TRAINER_BIRD_KEEPER_ROGER, Route20_Text_RogerIntro, Route20_Text_RogerDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB8E2 - msgbox Text_1880C8, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route20_EventScript_RogerRematch + msgbox Route20_Text_RogerPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB8E2:: @ 81AB8E2 - trainerbattle_rematch TRAINER_BIRD_KEEPER_ROGER, Text_1C312C, Text_1880AB - msgbox Text_1880C8, MSGBOX_AUTOCLOSE +Route20_EventScript_RogerRematch:: @ 81AB8E2 + trainerbattle_rematch TRAINER_BIRD_KEEPER_ROGER, Route20_Text_RogerRematchIntro, Route20_Text_RogerDefeat + msgbox Route20_Text_RogerPostBattle, MSGBOX_AUTOCLOSE end -Route20_EventScript_1AB8F9:: @ 81AB8F9 - trainerbattle_single TRAINER_PICNICKER_MISSY, Text_188165, Text_1881A3 +Route20_EventScript_Missy:: @ 81AB8F9 + trainerbattle_single TRAINER_PICNICKER_MISSY, Route20_Text_MissyIntro, Route20_Text_MissyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB920 - msgbox Text_1881B8, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route20_EventScript_MissyRematch + msgbox Route20_Text_MissyPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB920:: @ 81AB920 - trainerbattle_rematch TRAINER_PICNICKER_MISSY, Text_1C3185, Text_1881A3 - msgbox Text_1881B8, MSGBOX_AUTOCLOSE +Route20_EventScript_MissyRematch:: @ 81AB920 + trainerbattle_rematch TRAINER_PICNICKER_MISSY, Route20_Text_MissyRematchIntro, Route20_Text_MissyDefeat + msgbox Route20_Text_MissyPostBattle, MSGBOX_AUTOCLOSE end -Route20_EventScript_1AB937:: @ 81AB937 - trainerbattle_single TRAINER_PICNICKER_IRENE, Text_187F78, Text_187F92 +Route20_EventScript_Irene:: @ 81AB937 + trainerbattle_single TRAINER_PICNICKER_IRENE, Route20_Text_IreneIntro, Route20_Text_IreneDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB95E - msgbox Text_187FA3, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route20_EventScript_IreneRematch + msgbox Route20_Text_IrenePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB95E:: @ 81AB95E - trainerbattle_rematch TRAINER_PICNICKER_IRENE, Text_1C3095, Text_187F92 - msgbox Text_187FA3, MSGBOX_AUTOCLOSE +Route20_EventScript_IreneRematch:: @ 81AB95E + trainerbattle_rematch TRAINER_PICNICKER_IRENE, Route20_Text_IreneRematchIntro, Route20_Text_IreneDefeat + msgbox Route20_Text_IrenePostBattle, MSGBOX_AUTOCLOSE end -Route21_North_EventScript_1AB975:: @ 81AB975 - trainerbattle_single TRAINER_FISHERMAN_RONALD, Text_18835A, Text_188383 +Route21_North_EventScript_Ronald:: @ 81AB975 + trainerbattle_single TRAINER_FISHERMAN_RONALD, Route21_North_Text_RonaldIntro, Route21_North_Text_RonaldDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB99C - msgbox Text_188389, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route21_North_EventScript_RonaldRematch + msgbox Route21_North_Text_RonaldPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB99C:: @ 81AB99C - trainerbattle_rematch TRAINER_FISHERMAN_RONALD, Text_1C3208, Text_188383 - msgbox Text_188389, MSGBOX_AUTOCLOSE +Route21_North_EventScript_RonaldRematch:: @ 81AB99C + trainerbattle_rematch TRAINER_FISHERMAN_RONALD, Route21_North_Text_RonaldRematchIntro, Route21_North_Text_RonaldDefeat + msgbox Route21_North_Text_RonaldPostBattle, MSGBOX_AUTOCLOSE end -Route21_South_EventScript_1AB9B3:: @ 81AB9B3 - trainerbattle_single TRAINER_FISHERMAN_CLAUDE, Text_1885D8, Text_1885F8 +Route21_South_EventScript_Claude:: @ 81AB9B3 + trainerbattle_single TRAINER_FISHERMAN_CLAUDE, Route21_South_Text_ClaudeIntro, Route21_South_Text_ClaudeDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AB9DA - msgbox Text_188632, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route21_South_EventScript_ClaudeRematch + msgbox Route21_South_Text_ClaudePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AB9DA:: @ 81AB9DA - trainerbattle_rematch TRAINER_FISHERMAN_CLAUDE, Text_1C331D, Text_1885F8 - msgbox Text_188632, MSGBOX_AUTOCLOSE +Route21_South_EventScript_ClaudeRematch:: @ 81AB9DA + trainerbattle_rematch TRAINER_FISHERMAN_CLAUDE, Route21_South_Text_ClaudeRematchIntro, Route21_South_Text_ClaudeDefeat + msgbox Route21_South_Text_ClaudePostBattle, MSGBOX_AUTOCLOSE end -Route21_North_EventScript_1AB9F1:: @ 81AB9F1 - trainerbattle_single TRAINER_FISHERMAN_WADE, Text_1883C6, Text_1883E9 +Route21_North_EventScript_Wade:: @ 81AB9F1 + trainerbattle_single TRAINER_FISHERMAN_WADE, Route21_North_Text_WadeIntro, Route21_North_Text_WadeDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ABA18 - msgbox Text_18841D, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route21_North_EventScript_WadeRematch + msgbox Route21_North_Text_WadePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ABA18:: @ 81ABA18 - trainerbattle_rematch TRAINER_FISHERMAN_WADE, Text_1C3231, Text_1883E9 - msgbox Text_18841D, MSGBOX_AUTOCLOSE +Route21_North_EventScript_WadeRematch:: @ 81ABA18 + trainerbattle_rematch TRAINER_FISHERMAN_WADE, Route21_North_Text_WadeRematchIntro, Route21_North_Text_WadeDefeat + msgbox Route21_North_Text_WadePostBattle, MSGBOX_AUTOCLOSE end -Route21_South_EventScript_1ABA2F:: @ 81ABA2F - trainerbattle_single TRAINER_FISHERMAN_NOLAN, Text_18868C, Text_1886AE +Route21_South_EventScript_Nolan:: @ 81ABA2F + trainerbattle_single TRAINER_FISHERMAN_NOLAN, Route21_South_Text_NolanIntro, Route21_South_Text_NolanDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ABA56 - msgbox Text_1886C5, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route21_South_EventScript_NolanRematch + msgbox Route21_South_Text_NolanPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ABA56:: @ 81ABA56 - trainerbattle_rematch TRAINER_FISHERMAN_NOLAN, Text_1C3356, Text_1886AE - msgbox Text_1886C5, MSGBOX_AUTOCLOSE +Route21_South_EventScript_NolanRematch:: @ 81ABA56 + trainerbattle_rematch TRAINER_FISHERMAN_NOLAN, Route21_South_Text_NolanRematchIntro, Route21_South_Text_NolanDefeat + msgbox Route21_South_Text_NolanPostBattle, MSGBOX_AUTOCLOSE end -Route21_North_EventScript_1ABA6D:: @ 81ABA6D - trainerbattle_single TRAINER_SWIMMER_MALE_SPENCER, Text_18843C, Text_18845F +Route21_North_EventScript_Spencer:: @ 81ABA6D + trainerbattle_single TRAINER_SWIMMER_MALE_SPENCER, Route21_North_Text_SpencerIntro, Route21_North_Text_SpencerDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ABA94 - msgbox Text_188465, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route21_North_EventScript_SpencerRematch + msgbox Route21_North_Text_SpencerPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ABA94:: @ 81ABA94 - trainerbattle_rematch TRAINER_SWIMMER_MALE_SPENCER, Text_1C3264, Text_18845F - msgbox Text_188465, MSGBOX_AUTOCLOSE +Route21_North_EventScript_SpencerRematch:: @ 81ABA94 + trainerbattle_rematch TRAINER_SWIMMER_MALE_SPENCER, Route21_North_Text_SpencerRematchIntro, Route21_North_Text_SpencerDefeat + msgbox Route21_North_Text_SpencerPostBattle, MSGBOX_AUTOCLOSE end -Route21_South_EventScript_1ABAAB:: @ 81ABAAB - trainerbattle_single TRAINER_SWIMMER_MALE_JACK, Text_1884D4, Text_1884F0 +Route21_South_EventScript_Jack:: @ 81ABAAB + trainerbattle_single TRAINER_SWIMMER_MALE_JACK, Route21_South_Text_JackIntro, Route21_South_Text_JackDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ABAD2 - msgbox Text_1884FF, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route21_South_EventScript_JackRematch + msgbox Route21_South_Text_JackPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ABAD2:: @ 81ABAD2 - trainerbattle_rematch TRAINER_SWIMMER_MALE_JACK, Text_1C3298, Text_1884F0 - msgbox Text_1884FF, MSGBOX_AUTOCLOSE +Route21_South_EventScript_JackRematch:: @ 81ABAD2 + trainerbattle_rematch TRAINER_SWIMMER_MALE_JACK, Route21_South_Text_JackRematchIntro, Route21_South_Text_JackDefeat + msgbox Route21_South_Text_JackPostBattle, MSGBOX_AUTOCLOSE end -Route21_South_EventScript_1ABAE9:: @ 81ABAE9 - trainerbattle_single TRAINER_SWIMMER_MALE_JEROME, Text_18851F, Text_188543 +Route21_South_EventScript_Jerome:: @ 81ABAE9 + trainerbattle_single TRAINER_SWIMMER_MALE_JEROME, Route21_South_Text_JeromeIntro, Route21_South_Text_JeromeDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ABB10 - msgbox Text_188555, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route21_South_EventScript_JeromeRematch + msgbox Route21_South_Text_JeromePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ABB10:: @ 81ABB10 - trainerbattle_rematch TRAINER_SWIMMER_MALE_JEROME, Text_1C32D3, Text_188543 - msgbox Text_188555, MSGBOX_AUTOCLOSE +Route21_South_EventScript_JeromeRematch:: @ 81ABB10 + trainerbattle_rematch TRAINER_SWIMMER_MALE_JEROME, Route21_South_Text_JeromeRematchIntro, Route21_South_Text_JeromeDefeat + msgbox Route21_South_Text_JeromePostBattle, MSGBOX_AUTOCLOSE end -Route21_South_EventScript_1ABB27:: @ 81ABB27 - trainerbattle_single TRAINER_SWIMMER_MALE_ROLAND, Text_188592, Text_1885B2 +Route21_South_EventScript_Roland:: @ 81ABB27 + trainerbattle_single TRAINER_SWIMMER_MALE_ROLAND, Route21_South_Text_RolandIntro, Route21_South_Text_RolandDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ABB4E - msgbox Text_1885BF, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route21_South_EventScript_RolandRematch + msgbox Route21_South_Text_RolandPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ABB4E:: @ 81ABB4E - trainerbattle_rematch TRAINER_SWIMMER_MALE_ROLAND, Text_1C32FD, Text_1885B2 - msgbox Text_1885BF, MSGBOX_AUTOCLOSE +Route21_South_EventScript_RolandRematch:: @ 81ABB4E + trainerbattle_rematch TRAINER_SWIMMER_MALE_ROLAND, Route21_South_Text_RolandRematchIntro, Route21_South_Text_RolandDefeat + msgbox Route21_South_Text_RolandPostBattle, MSGBOX_AUTOCLOSE end -Route21_North_EventScript_1ABB65:: @ 81ABB65 - trainerbattle_double TRAINER_SIS_AND_BRO_LIL_IAN, Text_1886E2, Text_188712, Text_18875E +Route21_North_EventScript_Lil:: @ 81ABB65 + trainerbattle_double TRAINER_SIS_AND_BRO_LIL_IAN, Route21_North_Text_LilIntro, Route21_North_Text_LilDefeat, Route21_North_Text_LilNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ABB90 - msgbox Text_188734, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route21_North_EventScript_LilRematch + msgbox Route21_North_Text_LilPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ABB90:: @ 81ABB90 - trainerbattle_rematch_double TRAINER_SIS_AND_BRO_LIL_IAN, Text_1C3378, Text_188712, Text_18875E - msgbox Text_188734, MSGBOX_AUTOCLOSE +Route21_North_EventScript_LilRematch:: @ 81ABB90 + trainerbattle_rematch_double TRAINER_SIS_AND_BRO_LIL_IAN, Route21_North_Text_LilRematchIntro, Route21_North_Text_LilDefeat, Route21_North_Text_LilNotEnoughMons + msgbox Route21_North_Text_LilPostBattle, MSGBOX_AUTOCLOSE end -Route21_North_EventScript_1ABBAB:: @ 81ABBAB - trainerbattle_double TRAINER_SIS_AND_BRO_LIL_IAN, Text_1887B4, Text_1887F1, Text_188850 +Route21_North_EventScript_Ian:: @ 81ABBAB + trainerbattle_double TRAINER_SIS_AND_BRO_LIL_IAN, Route21_North_Text_IanIntro, Route21_North_Text_IanDefeat, Route21_North_Text_IanNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ABBD6 - msgbox Text_188812, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq Route21_North_EventScript_IanRematch + msgbox Route21_North_Text_IanPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ABBD6:: @ 81ABBD6 - trainerbattle_rematch_double TRAINER_SIS_AND_BRO_LIL_IAN, Text_1C33AE, Text_1887F1, Text_188850 - msgbox Text_188812, MSGBOX_AUTOCLOSE +Route21_North_EventScript_IanRematch:: @ 81ABBD6 + trainerbattle_rematch_double TRAINER_SIS_AND_BRO_LIL_IAN, Route21_North_Text_IanRematchIntro, Route21_North_Text_IanDefeat, Route21_North_Text_IanNotEnoughMons + msgbox Route21_North_Text_IanPostBattle, MSGBOX_AUTOCLOSE end -OneIsland_KindleRoad_EventScript_1ABBF1:: @ 81ABBF1 - trainerbattle_single TRAINER_SWIMMER_FEMALE_MARIA, Text_18961F, Text_18964D +OneIsland_KindleRoad_EventScript_Maria:: @ 81ABBF1 + trainerbattle_single TRAINER_SWIMMER_FEMALE_MARIA, OneIsland_KindleRoad_Text_MariaIntro, OneIsland_KindleRoad_Text_MariaDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ABC18 - msgbox Text_189657, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq OneIsland_KindleRoad_EventScript_MariaRematch + msgbox OneIsland_KindleRoad_Text_MariaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ABC18:: @ 81ABC18 - trainerbattle_rematch TRAINER_SWIMMER_FEMALE_MARIA, Text_1C37B5, Text_18964D - msgbox Text_189657, MSGBOX_AUTOCLOSE +OneIsland_KindleRoad_EventScript_MariaRematch:: @ 81ABC18 + trainerbattle_rematch TRAINER_SWIMMER_FEMALE_MARIA, OneIsland_KindleRoad_Text_MariaRematchIntro, OneIsland_KindleRoad_Text_MariaDefeat + msgbox OneIsland_KindleRoad_Text_MariaPostBattle, MSGBOX_AUTOCLOSE end -OneIsland_KindleRoad_EventScript_1ABC2F:: @ 81ABC2F - trainerbattle_single TRAINER_SWIMMER_FEMALE_ABIGAIL, Text_18968C, Text_1896AC +OneIsland_KindleRoad_EventScript_Abigail:: @ 81ABC2F + trainerbattle_single TRAINER_SWIMMER_FEMALE_ABIGAIL, OneIsland_KindleRoad_Text_AbigailIntro, OneIsland_KindleRoad_Text_AbigailDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ABC56 - msgbox Text_1896C1, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq OneIsland_KindleRoad_EventScript_AbigailRematch + msgbox OneIsland_KindleRoad_Text_AbigailPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ABC56:: @ 81ABC56 - trainerbattle_rematch TRAINER_SWIMMER_FEMALE_ABIGAIL, Text_1C37E7, Text_1896AC - msgbox Text_1896C1, MSGBOX_AUTOCLOSE +OneIsland_KindleRoad_EventScript_AbigailRematch:: @ 81ABC56 + trainerbattle_rematch TRAINER_SWIMMER_FEMALE_ABIGAIL, OneIsland_KindleRoad_Text_AbigailRematchIntro, OneIsland_KindleRoad_Text_AbigailDefeat + msgbox OneIsland_KindleRoad_Text_AbigailPostBattle, MSGBOX_AUTOCLOSE end -OneIsland_KindleRoad_EventScript_1ABC6D:: @ 81ABC6D - trainerbattle_single TRAINER_SWIMMER_MALE_FINN, Text_1896F9, Text_189728 +OneIsland_KindleRoad_EventScript_Finn:: @ 81ABC6D + trainerbattle_single TRAINER_SWIMMER_MALE_FINN, OneIsland_KindleRoad_Text_FinnIntro, OneIsland_KindleRoad_Text_FinnDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ABC94 - msgbox Text_189740, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq OneIsland_KindleRoad_EventScript_FinnRematch + msgbox OneIsland_KindleRoad_Text_FinnPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ABC94:: @ 81ABC94 - trainerbattle_rematch TRAINER_SWIMMER_MALE_FINN, Text_1C3807, Text_189728 - msgbox Text_189740, MSGBOX_AUTOCLOSE +OneIsland_KindleRoad_EventScript_FinnRematch:: @ 81ABC94 + trainerbattle_rematch TRAINER_SWIMMER_MALE_FINN, OneIsland_KindleRoad_Text_FinnRematchIntro, OneIsland_KindleRoad_Text_FinnDefeat + msgbox OneIsland_KindleRoad_Text_FinnPostBattle, MSGBOX_AUTOCLOSE end -OneIsland_KindleRoad_EventScript_1ABCAB:: @ 81ABCAB - trainerbattle_single TRAINER_SWIMMER_MALE_GARRETT, Text_189767, Text_1897A4 +OneIsland_KindleRoad_EventScript_Garrett:: @ 81ABCAB + trainerbattle_single TRAINER_SWIMMER_MALE_GARRETT, OneIsland_KindleRoad_Text_GarrettIntro, OneIsland_KindleRoad_Text_GarrettDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ABCD2 - msgbox Text_1897C5, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq OneIsland_KindleRoad_EventScript_GarrettRematch + msgbox OneIsland_KindleRoad_Text_GarrettPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ABCD2:: @ 81ABCD2 - trainerbattle_rematch TRAINER_SWIMMER_MALE_GARRETT, Text_1C3835, Text_1897A4 - msgbox Text_1897C5, MSGBOX_AUTOCLOSE +OneIsland_KindleRoad_EventScript_GarrettRematch:: @ 81ABCD2 + trainerbattle_rematch TRAINER_SWIMMER_MALE_GARRETT, OneIsland_KindleRoad_Text_GarrettRematchIntro, OneIsland_KindleRoad_Text_GarrettDefeat + msgbox OneIsland_KindleRoad_Text_GarrettPostBattle, MSGBOX_AUTOCLOSE end -OneIsland_KindleRoad_EventScript_1ABCE9:: @ 81ABCE9 - trainerbattle_single TRAINER_FISHERMAN_TOMMY, Text_1897FF, Text_189833 +OneIsland_KindleRoad_EventScript_Tommy:: @ 81ABCE9 + trainerbattle_single TRAINER_FISHERMAN_TOMMY, OneIsland_KindleRoad_Text_TommyIntro, OneIsland_KindleRoad_Text_TommyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ABD10 - msgbox Text_18984B, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq OneIsland_KindleRoad_EventScript_TommyRematch + msgbox OneIsland_KindleRoad_Text_TommyPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ABD10:: @ 81ABD10 - trainerbattle_rematch TRAINER_FISHERMAN_TOMMY, Text_1C386A, Text_189833 - msgbox Text_18984B, MSGBOX_AUTOCLOSE +OneIsland_KindleRoad_EventScript_TommyRematch:: @ 81ABD10 + trainerbattle_rematch TRAINER_FISHERMAN_TOMMY, OneIsland_KindleRoad_Text_TommyRematchIntro, OneIsland_KindleRoad_Text_TommyDefeat + msgbox OneIsland_KindleRoad_Text_TommyPostBattle, MSGBOX_AUTOCLOSE end -OneIsland_KindleRoad_EventScript_1ABD27:: @ 81ABD27 - trainerbattle_single TRAINER_CRUSH_GIRL_SHARON, Text_189883, Text_1898AB +OneIsland_KindleRoad_EventScript_Sharon:: @ 81ABD27 + trainerbattle_single TRAINER_CRUSH_GIRL_SHARON, OneIsland_KindleRoad_Text_SharonIntro, OneIsland_KindleRoad_Text_SharonDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ABD4E - msgbox Text_1898C4, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq OneIsland_KindleRoad_EventScript_SharonRematch + msgbox OneIsland_KindleRoad_Text_SharonPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ABD4E:: @ 81ABD4E - trainerbattle_rematch TRAINER_CRUSH_GIRL_SHARON, Text_1C389F, Text_1898AB - msgbox Text_1898C4, MSGBOX_AUTOCLOSE +OneIsland_KindleRoad_EventScript_SharonRematch:: @ 81ABD4E + trainerbattle_rematch TRAINER_CRUSH_GIRL_SHARON, OneIsland_KindleRoad_Text_SharonRematchIntro, OneIsland_KindleRoad_Text_SharonDefeat + msgbox OneIsland_KindleRoad_Text_SharonPostBattle, MSGBOX_AUTOCLOSE end -OneIsland_KindleRoad_EventScript_1ABD65:: @ 81ABD65 - trainerbattle_single TRAINER_CRUSH_GIRL_TANYA, Text_1898F0, Text_18991B +OneIsland_KindleRoad_EventScript_Tanya:: @ 81ABD65 + trainerbattle_single TRAINER_CRUSH_GIRL_TANYA, OneIsland_KindleRoad_Text_TanyaIntro, OneIsland_KindleRoad_Text_TanyaDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ABD8C - msgbox Text_18992C, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq OneIsland_KindleRoad_EventScript_TanyaRematch + msgbox OneIsland_KindleRoad_Text_TanyaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ABD8C:: @ 81ABD8C - trainerbattle_rematch TRAINER_CRUSH_GIRL_TANYA, Text_1C38CA, Text_18991B - msgbox Text_18992C, MSGBOX_AUTOCLOSE +OneIsland_KindleRoad_EventScript_TanyaRematch:: @ 81ABD8C + trainerbattle_rematch TRAINER_CRUSH_GIRL_TANYA, OneIsland_KindleRoad_Text_TanyaRematchIntro, OneIsland_KindleRoad_Text_TanyaDefeat + msgbox OneIsland_KindleRoad_Text_TanyaPostBattle, MSGBOX_AUTOCLOSE end -OneIsland_KindleRoad_EventScript_1ABDA3:: @ 81ABDA3 - trainerbattle_single TRAINER_BLACK_BELT_SHEA, Text_189950, Text_18998C +OneIsland_KindleRoad_EventScript_Shea:: @ 81ABDA3 + trainerbattle_single TRAINER_BLACK_BELT_SHEA, OneIsland_KindleRoad_Text_SheaIntro, OneIsland_KindleRoad_Text_SheaDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ABDCA - msgbox Text_189998, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq OneIsland_KindleRoad_EventScript_SheaRematch + msgbox OneIsland_KindleRoad_Text_SheaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ABDCA:: @ 81ABDCA - trainerbattle_rematch TRAINER_BLACK_BELT_SHEA, Text_1C38FA, Text_18998C - msgbox Text_189998, MSGBOX_AUTOCLOSE +OneIsland_KindleRoad_EventScript_SheaRematch:: @ 81ABDCA + trainerbattle_rematch TRAINER_BLACK_BELT_SHEA, OneIsland_KindleRoad_Text_SheaRematchIntro, OneIsland_KindleRoad_Text_SheaDefeat + msgbox OneIsland_KindleRoad_Text_SheaPostBattle, MSGBOX_AUTOCLOSE end -OneIsland_KindleRoad_EventScript_1ABDE1:: @ 81ABDE1 - trainerbattle_single TRAINER_BLACK_BELT_HUGH, Text_1899CE, Text_189A0A +OneIsland_KindleRoad_EventScript_Hugh:: @ 81ABDE1 + trainerbattle_single TRAINER_BLACK_BELT_HUGH, OneIsland_KindleRoad_Text_HughIntro, OneIsland_KindleRoad_Text_HughDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ABE08 - msgbox Text_189A13, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq OneIsland_KindleRoad_EventScript_HughRematch + msgbox OneIsland_KindleRoad_Text_HughPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ABE08:: @ 81ABE08 - trainerbattle_rematch TRAINER_BLACK_BELT_HUGH, Text_1C3943, Text_189A0A - msgbox Text_189A13, MSGBOX_AUTOCLOSE +OneIsland_KindleRoad_EventScript_HughRematch:: @ 81ABE08 + trainerbattle_rematch TRAINER_BLACK_BELT_HUGH, OneIsland_KindleRoad_Text_HughRematchIntro, OneIsland_KindleRoad_Text_HughDefeat + msgbox OneIsland_KindleRoad_Text_HughPostBattle, MSGBOX_AUTOCLOSE end -OneIsland_KindleRoad_EventScript_1ABE1F:: @ 81ABE1F - trainerbattle_single TRAINER_CAMPER_BRYCE, Text_189A53, Text_189A92 +OneIsland_KindleRoad_EventScript_Bryce:: @ 81ABE1F + trainerbattle_single TRAINER_CAMPER_BRYCE, OneIsland_KindleRoad_Text_BryceIntro, OneIsland_KindleRoad_Text_BryceDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ABE46 - msgbox Text_189A9F, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq OneIsland_KindleRoad_EventScript_BryceRematch + msgbox OneIsland_KindleRoad_Text_BrycePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ABE46:: @ 81ABE46 - trainerbattle_rematch TRAINER_CAMPER_BRYCE, Text_1C3987, Text_189A92 - msgbox Text_189A9F, MSGBOX_AUTOCLOSE +OneIsland_KindleRoad_EventScript_BryceRematch:: @ 81ABE46 + trainerbattle_rematch TRAINER_CAMPER_BRYCE, OneIsland_KindleRoad_Text_BryceRematchIntro, OneIsland_KindleRoad_Text_BryceDefeat + msgbox OneIsland_KindleRoad_Text_BrycePostBattle, MSGBOX_AUTOCLOSE end -OneIsland_KindleRoad_EventScript_1ABE5D:: @ 81ABE5D - trainerbattle_single TRAINER_PICNICKER_CLAIRE, Text_189ACB, Text_189B0B +OneIsland_KindleRoad_EventScript_Claire:: @ 81ABE5D + trainerbattle_single TRAINER_PICNICKER_CLAIRE, OneIsland_KindleRoad_Text_ClaireIntro, OneIsland_KindleRoad_Text_ClaireDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ABE84 - msgbox Text_189B24, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq OneIsland_KindleRoad_EventScript_ClaireRematch + msgbox OneIsland_KindleRoad_Text_ClairePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ABE84:: @ 81ABE84 - trainerbattle_rematch TRAINER_PICNICKER_CLAIRE, Text_1C39C6, Text_189B0B - msgbox Text_189B24, MSGBOX_AUTOCLOSE +OneIsland_KindleRoad_EventScript_ClaireRematch:: @ 81ABE84 + trainerbattle_rematch TRAINER_PICNICKER_CLAIRE, OneIsland_KindleRoad_Text_ClaireRematchIntro, OneIsland_KindleRoad_Text_ClaireDefeat + msgbox OneIsland_KindleRoad_Text_ClairePostBattle, MSGBOX_AUTOCLOSE end -OneIsland_KindleRoad_EventScript_1ABE9B:: @ 81ABE9B - trainerbattle_double TRAINER_CRUSH_KIN_MIK_KIA, Text_189B4D, Text_189B84, Text_189BDE +OneIsland_KindleRoad_EventScript_Kia:: @ 81ABE9B + trainerbattle_double TRAINER_CRUSH_KIN_MIK_KIA, OneIsland_KindleRoad_Text_KiaIntro, OneIsland_KindleRoad_Text_KiaDefeat, OneIsland_KindleRoad_Text_KiaNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ABEC6 - msgbox Text_189BA3, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq OneIsland_KindleRoad_EventScript_KiaRematch + msgbox OneIsland_KindleRoad_Text_KiaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ABEC6:: @ 81ABEC6 - trainerbattle_rematch_double TRAINER_CRUSH_KIN_MIK_KIA, Text_1C3A05, Text_189B84, Text_189BDE - msgbox Text_189BA3, MSGBOX_AUTOCLOSE +OneIsland_KindleRoad_EventScript_KiaRematch:: @ 81ABEC6 + trainerbattle_rematch_double TRAINER_CRUSH_KIN_MIK_KIA, OneIsland_KindleRoad_Text_KiaRematchIntro, OneIsland_KindleRoad_Text_KiaDefeat, OneIsland_KindleRoad_Text_KiaNotEnoughMons + msgbox OneIsland_KindleRoad_Text_KiaPostBattle, MSGBOX_AUTOCLOSE end -OneIsland_KindleRoad_EventScript_1ABEE1:: @ 81ABEE1 - trainerbattle_double TRAINER_CRUSH_KIN_MIK_KIA, Text_189C33, Text_189C62, Text_189CAB +OneIsland_KindleRoad_EventScript_Mik:: @ 81ABEE1 + trainerbattle_double TRAINER_CRUSH_KIN_MIK_KIA, OneIsland_KindleRoad_Text_MikIntro, OneIsland_KindleRoad_Text_MikDefeat, OneIsland_KindleRoad_Text_MikNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ABF0C - msgbox Text_189C7E, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq OneIsland_KindleRoad_EventScript_MikRematch + msgbox OneIsland_KindleRoad_Text_MikPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ABF0C:: @ 81ABF0C - trainerbattle_rematch_double TRAINER_CRUSH_KIN_MIK_KIA, Text_1C3A55, Text_189C62, Text_189CAB - msgbox Text_189C7E, MSGBOX_AUTOCLOSE +OneIsland_KindleRoad_EventScript_MikRematch:: @ 81ABF0C + trainerbattle_rematch_double TRAINER_CRUSH_KIN_MIK_KIA, OneIsland_KindleRoad_Text_MikRematchIntro, OneIsland_KindleRoad_Text_MikDefeat, OneIsland_KindleRoad_Text_MikNotEnoughMons + msgbox OneIsland_KindleRoad_Text_MikPostBattle, MSGBOX_AUTOCLOSE end -OneIsland_TreasureBeach_EventScript_1ABF27:: @ 81ABF27 - trainerbattle_single TRAINER_SWIMMER_FEMALE_AMARA, Text_189D5A, Text_189D8B +OneIsland_TreasureBeach_EventScript_Amara:: @ 81ABF27 + trainerbattle_single TRAINER_SWIMMER_FEMALE_AMARA, OneIsland_TreasureBeach_Text_AmaraIntro, OneIsland_TreasureBeach_Text_AmaraDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ABF4E - msgbox Text_189DA3, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq OneIsland_TreasureBeach_EventScript_AmaraRematch + msgbox OneIsland_TreasureBeach_Text_AmaraPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ABF4E:: @ 81ABF4E - trainerbattle_rematch TRAINER_SWIMMER_FEMALE_AMARA, Text_1C3773, Text_189D8B - msgbox Text_189DA3, MSGBOX_AUTOCLOSE +OneIsland_TreasureBeach_EventScript_AmaraRematch:: @ 81ABF4E + trainerbattle_rematch TRAINER_SWIMMER_FEMALE_AMARA, OneIsland_TreasureBeach_Text_AmaraRematchIntro, OneIsland_TreasureBeach_Text_AmaraDefeat + msgbox OneIsland_TreasureBeach_Text_AmaraPostBattle, MSGBOX_AUTOCLOSE end -ThreeIsland_BondBridge_EventScript_1ABF65:: @ 81ABF65 - trainerbattle_single TRAINER_AROMA_LADY_NIKKI, Text_189E42, Text_189E72 +ThreeIsland_BondBridge_EventScript_Nikki:: @ 81ABF65 + trainerbattle_single TRAINER_AROMA_LADY_NIKKI, ThreeIsland_BondBridge_Text_NikkiIntro, ThreeIsland_BondBridge_Text_NikkiDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ABF8C - msgbox Text_189E9E, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq ThreeIsland_BondBridge_EventScript_NikkiRematch + msgbox ThreeIsland_BondBridge_Text_NikkiPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ABF8C:: @ 81ABF8C - trainerbattle_rematch TRAINER_AROMA_LADY_NIKKI, Text_1C3AA7, Text_189E72 - msgbox Text_189E9E, MSGBOX_AUTOCLOSE +ThreeIsland_BondBridge_EventScript_NikkiRematch:: @ 81ABF8C + trainerbattle_rematch TRAINER_AROMA_LADY_NIKKI, ThreeIsland_BondBridge_Text_NikkiRematchIntro, ThreeIsland_BondBridge_Text_NikkiDefeat + msgbox ThreeIsland_BondBridge_Text_NikkiPostBattle, MSGBOX_AUTOCLOSE end -ThreeIsland_BondBridge_EventScript_1ABFA3:: @ 81ABFA3 - trainerbattle_single TRAINER_AROMA_LADY_VIOLET, Text_189ED4, Text_189EFA +ThreeIsland_BondBridge_EventScript_Violet:: @ 81ABFA3 + trainerbattle_single TRAINER_AROMA_LADY_VIOLET, ThreeIsland_BondBridge_Text_VioletIntro, ThreeIsland_BondBridge_Text_VioletDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ABFCA - msgbox Text_189F21, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq ThreeIsland_BondBridge_EventScript_VioletRematch + msgbox ThreeIsland_BondBridge_Text_VioletPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ABFCA:: @ 81ABFCA - trainerbattle_rematch TRAINER_AROMA_LADY_VIOLET, Text_1C3ABF, Text_189EFA - msgbox Text_189F21, MSGBOX_AUTOCLOSE +ThreeIsland_BondBridge_EventScript_VioletRematch:: @ 81ABFCA + trainerbattle_rematch TRAINER_AROMA_LADY_VIOLET, ThreeIsland_BondBridge_Text_VioletRematchIntro, ThreeIsland_BondBridge_Text_VioletDefeat + msgbox ThreeIsland_BondBridge_Text_VioletPostBattle, MSGBOX_AUTOCLOSE end -ThreeIsland_BondBridge_EventScript_1ABFE1:: @ 81ABFE1 - trainerbattle_single TRAINER_TUBER_AMIRA, Text_189F63, Text_189F9A +ThreeIsland_BondBridge_EventScript_Amira:: @ 81ABFE1 + trainerbattle_single TRAINER_TUBER_AMIRA, ThreeIsland_BondBridge_Text_AmiraIntro, ThreeIsland_BondBridge_Text_AmiraDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC008 - msgbox Text_189FA8, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq ThreeIsland_BondBridge_EventScript_AmiraRematch + msgbox ThreeIsland_BondBridge_Text_AmiraPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC008:: @ 81AC008 - trainerbattle_rematch TRAINER_TUBER_AMIRA, Text_1C3AF2, Text_189F9A - msgbox Text_189FA8, MSGBOX_AUTOCLOSE +ThreeIsland_BondBridge_EventScript_AmiraRematch:: @ 81AC008 + trainerbattle_rematch TRAINER_TUBER_AMIRA, ThreeIsland_BondBridge_Text_AmiraRematchIntro, ThreeIsland_BondBridge_Text_AmiraDefeat + msgbox ThreeIsland_BondBridge_Text_AmiraPostBattle, MSGBOX_AUTOCLOSE end -ThreeIsland_BondBridge_EventScript_1AC01F:: @ 81AC01F - trainerbattle_single TRAINER_TUBER_ALEXIS, Text_189FDB, Text_189FEE +ThreeIsland_BondBridge_EventScript_Alexis:: @ 81AC01F + trainerbattle_single TRAINER_TUBER_ALEXIS, ThreeIsland_BondBridge_Text_AlexisIntro, ThreeIsland_BondBridge_Text_AlexisDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC046 - msgbox Text_18A000, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq ThreeIsland_BondBridge_EventScript_AlexisRematch + msgbox ThreeIsland_BondBridge_Text_AlexisPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC046:: @ 81AC046 - trainerbattle_rematch TRAINER_TUBER_ALEXIS, Text_1C3B1D, Text_189FEE - msgbox Text_18A000, MSGBOX_AUTOCLOSE +ThreeIsland_BondBridge_EventScript_AlexisRematch:: @ 81AC046 + trainerbattle_rematch TRAINER_TUBER_ALEXIS, ThreeIsland_BondBridge_Text_AlexisRematchIntro, ThreeIsland_BondBridge_Text_AlexisDefeat + msgbox ThreeIsland_BondBridge_Text_AlexisPostBattle, MSGBOX_AUTOCLOSE end -ThreeIsland_BondBridge_EventScript_1AC05D:: @ 81AC05D - trainerbattle_single TRAINER_SWIMMER_FEMALE_TISHA, Text_18A01F, Text_18A053 +ThreeIsland_BondBridge_EventScript_Tisha:: @ 81AC05D + trainerbattle_single TRAINER_SWIMMER_FEMALE_TISHA, ThreeIsland_BondBridge_Text_TishaIntro, ThreeIsland_BondBridge_Text_TishaDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC084 - msgbox Text_18A082, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq ThreeIsland_BondBridge_EventScript_TishaRematch + msgbox ThreeIsland_BondBridge_Text_TishaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC084:: @ 81AC084 - trainerbattle_rematch TRAINER_SWIMMER_FEMALE_TISHA, Text_1C3B30, Text_18A053 - msgbox Text_18A082, MSGBOX_AUTOCLOSE +ThreeIsland_BondBridge_EventScript_TishaRematch:: @ 81AC084 + trainerbattle_rematch TRAINER_SWIMMER_FEMALE_TISHA, ThreeIsland_BondBridge_Text_TishaRematchIntro, ThreeIsland_BondBridge_Text_TishaDefeat + msgbox ThreeIsland_BondBridge_Text_TishaPostBattle, MSGBOX_AUTOCLOSE end -ThreeIsland_BondBridge_EventScript_1AC09B:: @ 81AC09B - trainerbattle_double TRAINER_TWINS_JOY_MEG, Text_18A0C4, Text_18A0F7, Text_18A138 +ThreeIsland_BondBridge_EventScript_Joy:: @ 81AC09B + trainerbattle_double TRAINER_TWINS_JOY_MEG, ThreeIsland_BondBridge_Text_JoyIntro, ThreeIsland_BondBridge_Text_JoyDefeat, ThreeIsland_BondBridge_Text_JoyNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC0C6 - msgbox Text_18A106, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq ThreeIsland_BondBridge_EventScript_JoyRematch + msgbox ThreeIsland_BondBridge_Text_JoyPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC0C6:: @ 81AC0C6 - trainerbattle_rematch_double TRAINER_TWINS_JOY_MEG, Text_1C3B6E, Text_18A0F7, Text_18A138 - msgbox Text_18A106, MSGBOX_AUTOCLOSE +ThreeIsland_BondBridge_EventScript_JoyRematch:: @ 81AC0C6 + trainerbattle_rematch_double TRAINER_TWINS_JOY_MEG, ThreeIsland_BondBridge_Text_JoyRematchIntro, ThreeIsland_BondBridge_Text_JoyDefeat, ThreeIsland_BondBridge_Text_JoyNotEnoughMons + msgbox ThreeIsland_BondBridge_Text_JoyPostBattle, MSGBOX_AUTOCLOSE end -ThreeIsland_BondBridge_EventScript_1AC0E1:: @ 81AC0E1 - trainerbattle_double TRAINER_TWINS_JOY_MEG, Text_18A179, Text_18A1A3, Text_18A1CD +ThreeIsland_BondBridge_EventScript_Meg:: @ 81AC0E1 + trainerbattle_double TRAINER_TWINS_JOY_MEG, ThreeIsland_BondBridge_Text_MegIntro, ThreeIsland_BondBridge_Text_MegDefeat, ThreeIsland_BondBridge_Text_MegNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC10C - msgbox Text_18A1B2, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq ThreeIsland_BondBridge_EventScript_MegRematch + msgbox ThreeIsland_BondBridge_Text_MegPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC10C:: @ 81AC10C - trainerbattle_rematch_double TRAINER_TWINS_JOY_MEG, Text_1C3B99, Text_18A1A3, Text_18A1CD - msgbox Text_18A1B2, MSGBOX_AUTOCLOSE +ThreeIsland_BondBridge_EventScript_MegRematch:: @ 81AC10C + trainerbattle_rematch_double TRAINER_TWINS_JOY_MEG, ThreeIsland_BondBridge_Text_MegRematchIntro, ThreeIsland_BondBridge_Text_MegDefeat, ThreeIsland_BondBridge_Text_MegNotEnoughMons + msgbox ThreeIsland_BondBridge_Text_MegPostBattle, MSGBOX_AUTOCLOSE end -FiveIsland_ResortGorgeous_EventScript_1AC127:: @ 81AC127 - trainerbattle_single TRAINER_PAINTER_DAISY, Text_18A3E2, Text_18A40E +FiveIsland_ResortGorgeous_EventScript_Daisy:: @ 81AC127 + trainerbattle_single TRAINER_PAINTER_DAISY, FiveIsland_ResortGorgeous_Text_DaisyIntro, FiveIsland_ResortGorgeous_Text_DaisyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC14E - msgbox Text_18A430, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq FiveIsland_ResortGorgeous_EventScript_DaisyRematch + msgbox FiveIsland_ResortGorgeous_Text_DaisyPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC14E:: @ 81AC14E - trainerbattle_rematch TRAINER_PAINTER_DAISY, Text_1C3BF6, Text_18A40E - msgbox Text_18A430, MSGBOX_AUTOCLOSE +FiveIsland_ResortGorgeous_EventScript_DaisyRematch:: @ 81AC14E + trainerbattle_rematch TRAINER_PAINTER_DAISY, FiveIsland_ResortGorgeous_Text_DaisyRematchIntro, FiveIsland_ResortGorgeous_Text_DaisyDefeat + msgbox FiveIsland_ResortGorgeous_Text_DaisyPostBattle, MSGBOX_AUTOCLOSE end -FiveIsland_ResortGorgeous_EventScript_1AC165:: @ 81AC165 - trainerbattle_single TRAINER_PAINTER_CELINA, Text_18A461, Text_18A49E +FiveIsland_ResortGorgeous_EventScript_Celina:: @ 81AC165 + trainerbattle_single TRAINER_PAINTER_CELINA, FiveIsland_ResortGorgeous_Text_CelinaIntro, FiveIsland_ResortGorgeous_Text_CelinaDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC18C - msgbox Text_18A4C6, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq FiveIsland_ResortGorgeous_EventScript_CelinaRematch + msgbox FiveIsland_ResortGorgeous_Text_CelinaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC18C:: @ 81AC18C - trainerbattle_rematch TRAINER_PAINTER_CELINA, Text_1C3C28, Text_18A49E - msgbox Text_18A4C6, MSGBOX_AUTOCLOSE +FiveIsland_ResortGorgeous_EventScript_CelinaRematch:: @ 81AC18C + trainerbattle_rematch TRAINER_PAINTER_CELINA, FiveIsland_ResortGorgeous_Text_CelinaRematchIntro, FiveIsland_ResortGorgeous_Text_CelinaDefeat + msgbox FiveIsland_ResortGorgeous_Text_CelinaPostBattle, MSGBOX_AUTOCLOSE end -FiveIsland_ResortGorgeous_EventScript_1AC1A3:: @ 81AC1A3 - trainerbattle_single TRAINER_PAINTER_RAYNA, Text_18A50E, Text_18A535 +FiveIsland_ResortGorgeous_EventScript_Rayna:: @ 81AC1A3 + trainerbattle_single TRAINER_PAINTER_RAYNA, FiveIsland_ResortGorgeous_Text_RaynaIntro, FiveIsland_ResortGorgeous_Text_RaynaDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC1CA - msgbox Text_18A555, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq FiveIsland_ResortGorgeous_EventScript_RaynaRematch + msgbox FiveIsland_ResortGorgeous_Text_RaynaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC1CA:: @ 81AC1CA - trainerbattle_rematch TRAINER_PAINTER_RAYNA, Text_1C3C70, Text_18A535 - msgbox Text_18A555, MSGBOX_AUTOCLOSE +FiveIsland_ResortGorgeous_EventScript_RaynaRematch:: @ 81AC1CA + trainerbattle_rematch TRAINER_PAINTER_RAYNA, FiveIsland_ResortGorgeous_Text_RaynaRematchIntro, FiveIsland_ResortGorgeous_Text_RaynaDefeat + msgbox FiveIsland_ResortGorgeous_Text_RaynaPostBattle, MSGBOX_AUTOCLOSE end -FiveIsland_ResortGorgeous_EventScript_1AC1E1:: @ 81AC1E1 - trainerbattle_single TRAINER_LADY_JACKI, Text_18A5B9, Text_18A5EE +FiveIsland_ResortGorgeous_EventScript_Jacki:: @ 81AC1E1 + trainerbattle_single TRAINER_LADY_JACKI, FiveIsland_ResortGorgeous_Text_JackiIntro, FiveIsland_ResortGorgeous_Text_JackiDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC208 - msgbox Text_18A601, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq FiveIsland_ResortGorgeous_EventScript_JackiRematch + msgbox FiveIsland_ResortGorgeous_Text_JackiPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC208:: @ 81AC208 - trainerbattle_rematch TRAINER_LADY_JACKI, Text_1C3CB0, Text_18A5EE - msgbox Text_18A601, MSGBOX_AUTOCLOSE +FiveIsland_ResortGorgeous_EventScript_JackiRematch:: @ 81AC208 + trainerbattle_rematch TRAINER_LADY_JACKI, FiveIsland_ResortGorgeous_Text_JackiRematchIntro, FiveIsland_ResortGorgeous_Text_JackiDefeat + msgbox FiveIsland_ResortGorgeous_Text_JackiPostBattle, MSGBOX_AUTOCLOSE end -FiveIsland_ResortGorgeous_EventScript_1AC21F:: @ 81AC21F - trainerbattle_single TRAINER_LADY_GILLIAN, Text_18A645, Text_18A67F +FiveIsland_ResortGorgeous_EventScript_Gillian:: @ 81AC21F + trainerbattle_single TRAINER_LADY_GILLIAN, FiveIsland_ResortGorgeous_Text_GillianIntro, FiveIsland_ResortGorgeous_Text_GillianDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC246 - msgbox Text_18A699, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq FiveIsland_ResortGorgeous_EventScript_GillianRematch + msgbox FiveIsland_ResortGorgeous_Text_GillianPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC246:: @ 81AC246 - trainerbattle_rematch TRAINER_LADY_GILLIAN, Text_1C3CF1, Text_18A67F - msgbox Text_18A699, MSGBOX_AUTOCLOSE +FiveIsland_ResortGorgeous_EventScript_GillianRematch:: @ 81AC246 + trainerbattle_rematch TRAINER_LADY_GILLIAN, FiveIsland_ResortGorgeous_Text_GillianRematchIntro, FiveIsland_ResortGorgeous_Text_GillianDefeat + msgbox FiveIsland_ResortGorgeous_Text_GillianPostBattle, MSGBOX_AUTOCLOSE end -FiveIsland_ResortGorgeous_EventScript_1AC25D:: @ 81AC25D - trainerbattle_single TRAINER_YOUNGSTER_DESTIN, Text_18A6DA, Text_18A6FE +FiveIsland_ResortGorgeous_EventScript_Destin:: @ 81AC25D + trainerbattle_single TRAINER_YOUNGSTER_DESTIN, FiveIsland_ResortGorgeous_Text_DestinIntro, FiveIsland_ResortGorgeous_Text_DestinDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC284 - msgbox Text_18A715, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq FiveIsland_ResortGorgeous_EventScript_DestinRematch + msgbox FiveIsland_ResortGorgeous_Text_DestinPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC284:: @ 81AC284 - trainerbattle_rematch TRAINER_YOUNGSTER_DESTIN, Text_1C3D47, Text_18A6FE - msgbox Text_18A715, MSGBOX_AUTOCLOSE +FiveIsland_ResortGorgeous_EventScript_DestinRematch:: @ 81AC284 + trainerbattle_rematch TRAINER_YOUNGSTER_DESTIN, FiveIsland_ResortGorgeous_Text_DestinRematchIntro, FiveIsland_ResortGorgeous_Text_DestinDefeat + msgbox FiveIsland_ResortGorgeous_Text_DestinPostBattle, MSGBOX_AUTOCLOSE end -FiveIsland_ResortGorgeous_EventScript_1AC29B:: @ 81AC29B - trainerbattle_single TRAINER_SWIMMER_MALE_TOBY, Text_18A74A, Text_18A786 +FiveIsland_ResortGorgeous_EventScript_Toby:: @ 81AC29B + trainerbattle_single TRAINER_SWIMMER_MALE_TOBY, FiveIsland_ResortGorgeous_Text_TobyIntro, FiveIsland_ResortGorgeous_Text_TobyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC2C2 - msgbox Text_18A7AC, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq FiveIsland_ResortGorgeous_EventScript_TobyRematch + msgbox FiveIsland_ResortGorgeous_Text_TobyPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC2C2:: @ 81AC2C2 - trainerbattle_rematch TRAINER_SWIMMER_MALE_TOBY, Text_1C3D73, Text_18A786 - msgbox Text_18A7AC, MSGBOX_AUTOCLOSE +FiveIsland_ResortGorgeous_EventScript_TobyRematch:: @ 81AC2C2 + trainerbattle_rematch TRAINER_SWIMMER_MALE_TOBY, FiveIsland_ResortGorgeous_Text_TobyRematchIntro, FiveIsland_ResortGorgeous_Text_TobyDefeat + msgbox FiveIsland_ResortGorgeous_Text_TobyPostBattle, MSGBOX_AUTOCLOSE end -FiveIsland_WaterLabyrinth_EventScript_1AC2D9:: @ 81AC2D9 - trainerbattle_single TRAINER_PKMN_BREEDER_ALIZE, Text_18AAD5, Text_18AB0B +FiveIsland_WaterLabyrinth_EventScript_Alize:: @ 81AC2D9 + trainerbattle_single TRAINER_PKMN_BREEDER_ALIZE, FiveIsland_WaterLabyrinth_Text_AlizeIntro, FiveIsland_WaterLabyrinth_Text_AlizeDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC300 - msgbox Text_18AB37, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq FiveIsland_WaterLabyrinth_EventScript_AlizeRematch + msgbox FiveIsland_WaterLabyrinth_Text_AlizePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC300:: @ 81AC300 - trainerbattle_rematch TRAINER_PKMN_BREEDER_ALIZE, Text_1C3BB7, Text_18AB0B - msgbox Text_18AB37, MSGBOX_AUTOCLOSE +FiveIsland_WaterLabyrinth_EventScript_AlizeRematch:: @ 81AC300 + trainerbattle_rematch TRAINER_PKMN_BREEDER_ALIZE, FiveIsland_WaterLabyrinth_Text_AlizeRematchIntro, FiveIsland_WaterLabyrinth_Text_AlizeDefeat + msgbox FiveIsland_WaterLabyrinth_Text_AlizePostBattle, MSGBOX_AUTOCLOSE end -FiveIsland_MemorialPillar_EventScript_1AC317:: @ 81AC317 - trainerbattle_single TRAINER_BIRD_KEEPER_MILO, Text_18AE50, Text_18AEA8 +FiveIsland_MemorialPillar_EventScript_Milo:: @ 81AC317 + trainerbattle_single TRAINER_BIRD_KEEPER_MILO, FiveIsland_MemorialPillar_Text_MiloIntro, FiveIsland_MemorialPillar_Text_MiloDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC33E - msgbox Text_18AEB6, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq FiveIsland_MemorialPillar_EventScript_MiloRematch + msgbox FiveIsland_MemorialPillar_Text_MiloPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC33E:: @ 81AC33E - trainerbattle_rematch TRAINER_BIRD_KEEPER_MILO, Text_1C3DA2, Text_18AEA8 - msgbox Text_18AEB6, MSGBOX_AUTOCLOSE +FiveIsland_MemorialPillar_EventScript_MiloRematch:: @ 81AC33E + trainerbattle_rematch TRAINER_BIRD_KEEPER_MILO, FiveIsland_MemorialPillar_Text_MiloRematchIntro, FiveIsland_MemorialPillar_Text_MiloDefeat + msgbox FiveIsland_MemorialPillar_Text_MiloPostBattle, MSGBOX_AUTOCLOSE end -FiveIsland_MemorialPillar_EventScript_1AC355:: @ 81AC355 - trainerbattle_single TRAINER_BIRD_KEEPER_CHAZ, Text_18AEDC, Text_18AF39 +FiveIsland_MemorialPillar_EventScript_Chaz:: @ 81AC355 + trainerbattle_single TRAINER_BIRD_KEEPER_CHAZ, FiveIsland_MemorialPillar_Text_ChazIntro, FiveIsland_MemorialPillar_Text_ChazDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC37C - msgbox Text_18AF45, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq FiveIsland_MemorialPillar_EventScript_ChazRematch + msgbox FiveIsland_MemorialPillar_Text_ChazPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC37C:: @ 81AC37C - trainerbattle_rematch TRAINER_BIRD_KEEPER_CHAZ, Text_1C3E0F, Text_18AF39 - msgbox Text_18AF45, MSGBOX_AUTOCLOSE +FiveIsland_MemorialPillar_EventScript_ChazRematch:: @ 81AC37C + trainerbattle_rematch TRAINER_BIRD_KEEPER_CHAZ, FiveIsland_MemorialPillar_Text_ChazRematchIntro, FiveIsland_MemorialPillar_Text_ChazDefeat + msgbox FiveIsland_MemorialPillar_Text_ChazPostBattle, MSGBOX_AUTOCLOSE end -FiveIsland_MemorialPillar_EventScript_1AC393:: @ 81AC393 - trainerbattle_single TRAINER_BIRD_KEEPER_HAROLD, Text_18AF72, Text_18AFCC +FiveIsland_MemorialPillar_EventScript_Harold:: @ 81AC393 + trainerbattle_single TRAINER_BIRD_KEEPER_HAROLD, FiveIsland_MemorialPillar_Text_HaroldIntro, FiveIsland_MemorialPillar_Text_HaroldDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC3BA - msgbox Text_18AFF2, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq FiveIsland_MemorialPillar_EventScript_HaroldRematch + msgbox FiveIsland_MemorialPillar_Text_HaroldPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC3BA:: @ 81AC3BA - trainerbattle_rematch TRAINER_BIRD_KEEPER_HAROLD, Text_1C3E6A, Text_18AFCC - msgbox Text_18AFF2, MSGBOX_AUTOCLOSE +FiveIsland_MemorialPillar_EventScript_HaroldRematch:: @ 81AC3BA + trainerbattle_rematch TRAINER_BIRD_KEEPER_HAROLD, FiveIsland_MemorialPillar_Text_HaroldRematchIntro, FiveIsland_MemorialPillar_Text_HaroldDefeat + msgbox FiveIsland_MemorialPillar_Text_HaroldPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_OutcastIsland_EventScript_1AC3D1:: @ 81AC3D1 - trainerbattle_single TRAINER_FISHERMAN_TYLOR, Text_18B400, Text_18B43B +SixIsland_OutcastIsland_EventScript_Tylor:: @ 81AC3D1 + trainerbattle_single TRAINER_FISHERMAN_TYLOR, SixIsland_OutcastIsland_Text_TylorIntro, SixIsland_OutcastIsland_Text_TylorDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC3F8 - msgbox Text_18B451, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SixIsland_OutcastIsland_EventScript_TylorRematch + msgbox SixIsland_OutcastIsland_Text_TylorPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC3F8:: @ 81AC3F8 - trainerbattle_rematch TRAINER_FISHERMAN_TYLOR, Text_1C3ED0, Text_18B43B - msgbox Text_18B451, MSGBOX_AUTOCLOSE +SixIsland_OutcastIsland_EventScript_TylorRematch:: @ 81AC3F8 + trainerbattle_rematch TRAINER_FISHERMAN_TYLOR, SixIsland_OutcastIsland_Text_TylorRematchIntro, SixIsland_OutcastIsland_Text_TylorDefeat + msgbox SixIsland_OutcastIsland_Text_TylorPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_OutcastIsland_EventScript_1AC40F:: @ 81AC40F - trainerbattle_single TRAINER_SWIMMER_MALE_MYMO, Text_18B48F, Text_18B4C5 +SixIsland_OutcastIsland_EventScript_Mymo:: @ 81AC40F + trainerbattle_single TRAINER_SWIMMER_MALE_MYMO, SixIsland_OutcastIsland_Text_MymoIntro, SixIsland_OutcastIsland_Text_MymoDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC436 - msgbox Text_18B4D1, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SixIsland_OutcastIsland_EventScript_MymoRematch + msgbox SixIsland_OutcastIsland_Text_MymoPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC436:: @ 81AC436 - trainerbattle_rematch TRAINER_SWIMMER_MALE_MYMO, Text_1C3F11, Text_18B4C5 - msgbox Text_18B4D1, MSGBOX_AUTOCLOSE +SixIsland_OutcastIsland_EventScript_MymoRematch:: @ 81AC436 + trainerbattle_rematch TRAINER_SWIMMER_MALE_MYMO, SixIsland_OutcastIsland_Text_MymoRematchIntro, SixIsland_OutcastIsland_Text_MymoDefeat + msgbox SixIsland_OutcastIsland_Text_MymoPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_OutcastIsland_EventScript_1AC44D:: @ 81AC44D - trainerbattle_single TRAINER_SWIMMER_FEMALE_NICOLE, Text_18B4FA, Text_18B539 +SixIsland_OutcastIsland_EventScript_Nicole:: @ 81AC44D + trainerbattle_single TRAINER_SWIMMER_FEMALE_NICOLE, SixIsland_OutcastIsland_Text_NicoleIntro, SixIsland_OutcastIsland_Text_NicoleDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC474 - msgbox Text_18B573, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SixIsland_OutcastIsland_EventScript_NicoleRematch + msgbox SixIsland_OutcastIsland_Text_NicolePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC474:: @ 81AC474 - trainerbattle_rematch TRAINER_SWIMMER_FEMALE_NICOLE, Text_1C3F51, Text_18B539 - msgbox Text_18B573, MSGBOX_AUTOCLOSE +SixIsland_OutcastIsland_EventScript_NicoleRematch:: @ 81AC474 + trainerbattle_rematch TRAINER_SWIMMER_FEMALE_NICOLE, SixIsland_OutcastIsland_Text_NicoleRematchIntro, SixIsland_OutcastIsland_Text_NicoleDefeat + msgbox SixIsland_OutcastIsland_Text_NicolePostBattle, MSGBOX_AUTOCLOSE end -SixIsland_OutcastIsland_EventScript_1AC48B:: @ 81AC48B - trainerbattle_double TRAINER_SIS_AND_BRO_AVA_GEB, Text_18B5C8, Text_18B5F4, Text_18B660 +SixIsland_OutcastIsland_EventScript_Ava:: @ 81AC48B + trainerbattle_double TRAINER_SIS_AND_BRO_AVA_GEB, SixIsland_OutcastIsland_Text_AvaIntro, SixIsland_OutcastIsland_Text_AvaDefeat, SixIsland_OutcastIsland_Text_AvaNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC4B6 - msgbox Text_18B62E, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SixIsland_OutcastIsland_EventScript_AvaRematch + msgbox SixIsland_OutcastIsland_Text_AvaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC4B6:: @ 81AC4B6 - trainerbattle_rematch_double TRAINER_SIS_AND_BRO_AVA_GEB, Text_1C3F7B, Text_18B5F4, Text_18B660 - msgbox Text_18B62E, MSGBOX_AUTOCLOSE +SixIsland_OutcastIsland_EventScript_AvaRematch:: @ 81AC4B6 + trainerbattle_rematch_double TRAINER_SIS_AND_BRO_AVA_GEB, SixIsland_OutcastIsland_Text_AvaRematchIntro, SixIsland_OutcastIsland_Text_AvaDefeat, SixIsland_OutcastIsland_Text_AvaNotEnoughMons + msgbox SixIsland_OutcastIsland_Text_AvaPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_OutcastIsland_EventScript_1AC4D1:: @ 81AC4D1 - trainerbattle_double TRAINER_SIS_AND_BRO_AVA_GEB, Text_18B6C1, Text_18B6EF, Text_18B762 +SixIsland_OutcastIsland_EventScript_Geb:: @ 81AC4D1 + trainerbattle_double TRAINER_SIS_AND_BRO_AVA_GEB, SixIsland_OutcastIsland_Text_GebIntro, SixIsland_OutcastIsland_Text_GebDefeat, SixIsland_OutcastIsland_Text_GebNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC4FC - msgbox Text_18B720, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SixIsland_OutcastIsland_EventScript_GebRematch + msgbox SixIsland_OutcastIsland_Text_GebPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC4FC:: @ 81AC4FC - trainerbattle_rematch_double TRAINER_SIS_AND_BRO_AVA_GEB, Text_1C3FB3, Text_18B6EF, Text_18B762 - msgbox Text_18B720, MSGBOX_AUTOCLOSE +SixIsland_OutcastIsland_EventScript_GebRematch:: @ 81AC4FC + trainerbattle_rematch_double TRAINER_SIS_AND_BRO_AVA_GEB, SixIsland_OutcastIsland_Text_GebRematchIntro, SixIsland_OutcastIsland_Text_GebDefeat, SixIsland_OutcastIsland_Text_GebNotEnoughMons + msgbox SixIsland_OutcastIsland_Text_GebPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_GreenPath_EventScript_1AC517:: @ 81AC517 - trainerbattle_single TRAINER_PSYCHIC_JACLYN, Text_18B7B0, Text_18B7F0 +SixIsland_GreenPath_EventScript_Jaclyn:: @ 81AC517 + trainerbattle_single TRAINER_PSYCHIC_JACLYN, SixIsland_GreenPath_Text_JaclynIntro, SixIsland_GreenPath_Text_JaclynDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC53E - msgbox Text_18B7FD, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SixIsland_GreenPath_EventScript_JaclynRematch + msgbox SixIsland_GreenPath_Text_JaclynPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC53E:: @ 81AC53E - trainerbattle_rematch TRAINER_PSYCHIC_JACLYN, Text_1C3FE9, Text_18B7F0 - msgbox Text_18B7FD, MSGBOX_AUTOCLOSE +SixIsland_GreenPath_EventScript_JaclynRematch:: @ 81AC53E + trainerbattle_rematch TRAINER_PSYCHIC_JACLYN, SixIsland_GreenPath_Text_JaclynRematchIntro, SixIsland_GreenPath_Text_JaclynDefeat + msgbox SixIsland_GreenPath_Text_JaclynPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_WaterPath_EventScript_1AC555:: @ 81AC555 - trainerbattle_single TRAINER_AROMA_LADY_ROSE, Text_18B896, Text_18B8C8 +SixIsland_WaterPath_EventScript_Rose:: @ 81AC555 + trainerbattle_single TRAINER_AROMA_LADY_ROSE, SixIsland_WaterPath_Text_RoseIntro, SixIsland_WaterPath_Text_RoseDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC57C - msgbox Text_18B8F7, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SixIsland_WaterPath_EventScript_RoseRematch + msgbox SixIsland_WaterPath_Text_RosePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC57C:: @ 81AC57C - trainerbattle_rematch TRAINER_AROMA_LADY_ROSE, Text_1C4028, Text_18B8C8 - msgbox Text_18B8F7, MSGBOX_AUTOCLOSE +SixIsland_WaterPath_EventScript_RoseRematch:: @ 81AC57C + trainerbattle_rematch TRAINER_AROMA_LADY_ROSE, SixIsland_WaterPath_Text_RoseRematchIntro, SixIsland_WaterPath_Text_RoseDefeat + msgbox SixIsland_WaterPath_Text_RosePostBattle, MSGBOX_AUTOCLOSE end -SixIsland_WaterPath_EventScript_1AC593:: @ 81AC593 - trainerbattle_single TRAINER_JUGGLER_EDWARD, Text_18B959, Text_18B988 +SixIsland_WaterPath_EventScript_Edward:: @ 81AC593 + trainerbattle_single TRAINER_JUGGLER_EDWARD, SixIsland_WaterPath_Text_EdwardIntro, SixIsland_WaterPath_Text_EdwardDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC5BA - msgbox Text_18B9A5, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SixIsland_WaterPath_EventScript_EdwardRematch + msgbox SixIsland_WaterPath_Text_EdwardPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC5BA:: @ 81AC5BA - trainerbattle_rematch TRAINER_JUGGLER_EDWARD, Text_1C4057, Text_18B988 - msgbox Text_18B9A5, MSGBOX_AUTOCLOSE +SixIsland_WaterPath_EventScript_EdwardRematch:: @ 81AC5BA + trainerbattle_rematch TRAINER_JUGGLER_EDWARD, SixIsland_WaterPath_Text_EdwardRematchIntro, SixIsland_WaterPath_Text_EdwardDefeat + msgbox SixIsland_WaterPath_Text_EdwardPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_WaterPath_EventScript_1AC5D1:: @ 81AC5D1 - trainerbattle_single TRAINER_SWIMMER_MALE_SAMIR, Text_18B9EC, Text_18BA47 +SixIsland_WaterPath_EventScript_Samir:: @ 81AC5D1 + trainerbattle_single TRAINER_SWIMMER_MALE_SAMIR, SixIsland_WaterPath_Text_SamirIntro, SixIsland_WaterPath_Text_SamirDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC5F8 - msgbox Text_18BA57, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SixIsland_WaterPath_EventScript_SamirRematch + msgbox SixIsland_WaterPath_Text_SamirPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC5F8:: @ 81AC5F8 - trainerbattle_rematch TRAINER_SWIMMER_MALE_SAMIR, Text_1C407F, Text_18BA47 - msgbox Text_18BA57, MSGBOX_AUTOCLOSE +SixIsland_WaterPath_EventScript_SamirRematch:: @ 81AC5F8 + trainerbattle_rematch TRAINER_SWIMMER_MALE_SAMIR, SixIsland_WaterPath_Text_SamirRematchIntro, SixIsland_WaterPath_Text_SamirDefeat + msgbox SixIsland_WaterPath_Text_SamirPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_WaterPath_EventScript_1AC60F:: @ 81AC60F - trainerbattle_single TRAINER_SWIMMER_FEMALE_DENISE, Text_18BA86, Text_18BAC0 +SixIsland_WaterPath_EventScript_Denise:: @ 81AC60F + trainerbattle_single TRAINER_SWIMMER_FEMALE_DENISE, SixIsland_WaterPath_Text_DeniseIntro, SixIsland_WaterPath_Text_DeniseDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC636 - msgbox Text_18BAE0, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SixIsland_WaterPath_EventScript_DeniseRematch + msgbox SixIsland_WaterPath_Text_DenisePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC636:: @ 81AC636 - trainerbattle_rematch TRAINER_SWIMMER_FEMALE_DENISE, Text_1C40D9, Text_18BAC0 - msgbox Text_18BAE0, MSGBOX_AUTOCLOSE +SixIsland_WaterPath_EventScript_DeniseRematch:: @ 81AC636 + trainerbattle_rematch TRAINER_SWIMMER_FEMALE_DENISE, SixIsland_WaterPath_Text_DeniseRematchIntro, SixIsland_WaterPath_Text_DeniseDefeat + msgbox SixIsland_WaterPath_Text_DenisePostBattle, MSGBOX_AUTOCLOSE end -SixIsland_WaterPath_EventScript_1AC64D:: @ 81AC64D - trainerbattle_double TRAINER_TWINS_MIU_MIA, Text_18BBBA, Text_18BBE2, Text_18BC24 +SixIsland_WaterPath_EventScript_Miu:: @ 81AC64D + trainerbattle_double TRAINER_TWINS_MIU_MIA, SixIsland_WaterPath_Text_MiuIntro, SixIsland_WaterPath_Text_MiuDefeat, SixIsland_WaterPath_Text_MiuNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC678 - msgbox Text_18BBF6, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SixIsland_WaterPath_EventScript_MiuRematch + msgbox SixIsland_WaterPath_Text_MiuPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC678:: @ 81AC678 - trainerbattle_rematch_double TRAINER_TWINS_MIU_MIA, Text_1C4138, Text_18BBE2, Text_18BC24 - msgbox Text_18BBF6, MSGBOX_AUTOCLOSE +SixIsland_WaterPath_EventScript_MiuRematch:: @ 81AC678 + trainerbattle_rematch_double TRAINER_TWINS_MIU_MIA, SixIsland_WaterPath_Text_MiuRematchIntro, SixIsland_WaterPath_Text_MiuDefeat, SixIsland_WaterPath_Text_MiuNotEnoughMons + msgbox SixIsland_WaterPath_Text_MiuPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_WaterPath_EventScript_1AC693:: @ 81AC693 - trainerbattle_double TRAINER_TWINS_MIU_MIA, Text_18BC5A, Text_18BC84, Text_18BCCF +SixIsland_WaterPath_EventScript_Mia:: @ 81AC693 + trainerbattle_double TRAINER_TWINS_MIU_MIA, SixIsland_WaterPath_Text_MiaIntro, SixIsland_WaterPath_Text_MiaDefeat, SixIsland_WaterPath_Text_MiaNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC6BE - msgbox Text_18BCAE, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SixIsland_WaterPath_EventScript_MiaRematch + msgbox SixIsland_WaterPath_Text_MiaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC6BE:: @ 81AC6BE - trainerbattle_rematch_double TRAINER_TWINS_MIU_MIA, Text_1C4166, Text_18BC84, Text_18BCCF - msgbox Text_18BCAE, MSGBOX_AUTOCLOSE +SixIsland_WaterPath_EventScript_MiaRematch:: @ 81AC6BE + trainerbattle_rematch_double TRAINER_TWINS_MIU_MIA, SixIsland_WaterPath_Text_MiaRematchIntro, SixIsland_WaterPath_Text_MiaDefeat, SixIsland_WaterPath_Text_MiaNotEnoughMons + msgbox SixIsland_WaterPath_Text_MiaPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_WaterPath_EventScript_1AC6D9:: @ 81AC6D9 - trainerbattle_single TRAINER_HIKER_EARL, Text_18BB2D, Text_18BB62 +SixIsland_WaterPath_EventScript_Earl:: @ 81AC6D9 + trainerbattle_single TRAINER_HIKER_EARL, SixIsland_WaterPath_Text_EarlIntro, SixIsland_WaterPath_Text_EarlDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC700 - msgbox Text_18BB8B, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SixIsland_WaterPath_EventScript_EarlRematch + msgbox SixIsland_WaterPath_Text_EarlPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC700:: @ 81AC700 - trainerbattle_rematch TRAINER_HIKER_EARL, Text_1C40FA, Text_18BB62 - msgbox Text_18BB8B, MSGBOX_AUTOCLOSE +SixIsland_WaterPath_EventScript_EarlRematch:: @ 81AC700 + trainerbattle_rematch TRAINER_HIKER_EARL, SixIsland_WaterPath_Text_EarlRematchIntro, SixIsland_WaterPath_Text_EarlDefeat + msgbox SixIsland_WaterPath_Text_EarlPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_RuinValley_EventScript_1AC717:: @ 81AC717 - trainerbattle_single TRAINER_RUIN_MANIAC_STANLY, Text_18BE5D, Text_18BE9B +SixIsland_RuinValley_EventScript_Stanly:: @ 81AC717 + trainerbattle_single TRAINER_RUIN_MANIAC_STANLY, SixIsland_RuinValley_Text_StanlyIntro, SixIsland_RuinValley_Text_StanlyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC73E - msgbox Text_18BEA0, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SixIsland_RuinValley_EventScript_StanlyRematch + msgbox SixIsland_RuinValley_Text_StanlyPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC73E:: @ 81AC73E - trainerbattle_rematch TRAINER_RUIN_MANIAC_STANLY, Text_1C4196, Text_18BE9B - msgbox Text_18BEA0, MSGBOX_AUTOCLOSE +SixIsland_RuinValley_EventScript_StanlyRematch:: @ 81AC73E + trainerbattle_rematch TRAINER_RUIN_MANIAC_STANLY, SixIsland_RuinValley_Text_StanlyRematchIntro, SixIsland_RuinValley_Text_StanlyDefeat + msgbox SixIsland_RuinValley_Text_StanlyPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_RuinValley_EventScript_1AC755:: @ 81AC755 - trainerbattle_single TRAINER_RUIN_MANIAC_FOSTER, Text_18BF05, Text_18BF33 +SixIsland_RuinValley_EventScript_Foster:: @ 81AC755 + trainerbattle_single TRAINER_RUIN_MANIAC_FOSTER, SixIsland_RuinValley_Text_FosterIntro, SixIsland_RuinValley_Text_FosterDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC77C - msgbox Text_18BF6C, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SixIsland_RuinValley_EventScript_FosterRematch + msgbox SixIsland_RuinValley_Text_FosterPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC77C:: @ 81AC77C - trainerbattle_rematch TRAINER_RUIN_MANIAC_FOSTER, Text_1C41D4, Text_18BF33 - msgbox Text_18BF6C, MSGBOX_AUTOCLOSE +SixIsland_RuinValley_EventScript_FosterRematch:: @ 81AC77C + trainerbattle_rematch TRAINER_RUIN_MANIAC_FOSTER, SixIsland_RuinValley_Text_FosterRematchIntro, SixIsland_RuinValley_Text_FosterDefeat + msgbox SixIsland_RuinValley_Text_FosterPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_RuinValley_EventScript_1AC793:: @ 81AC793 - trainerbattle_single TRAINER_RUIN_MANIAC_LARRY, Text_18BFC5, Text_18C03B +SixIsland_RuinValley_EventScript_Larry:: @ 81AC793 + trainerbattle_single TRAINER_RUIN_MANIAC_LARRY, SixIsland_RuinValley_Text_LarryIntro, SixIsland_RuinValley_Text_LarryDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC7BA - msgbox Text_18C04C, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SixIsland_RuinValley_EventScript_LarryRematch + msgbox SixIsland_RuinValley_Text_LarryPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC7BA:: @ 81AC7BA - trainerbattle_rematch TRAINER_RUIN_MANIAC_LARRY, Text_1C4210, Text_18C03B - msgbox Text_18C04C, MSGBOX_AUTOCLOSE +SixIsland_RuinValley_EventScript_LarryRematch:: @ 81AC7BA + trainerbattle_rematch TRAINER_RUIN_MANIAC_LARRY, SixIsland_RuinValley_Text_LarryRematchIntro, SixIsland_RuinValley_Text_LarryDefeat + msgbox SixIsland_RuinValley_Text_LarryPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_RuinValley_EventScript_1AC7D1:: @ 81AC7D1 - trainerbattle_single TRAINER_HIKER_DARYL, Text_18C09C, Text_18C0BB +SixIsland_RuinValley_EventScript_Daryl:: @ 81AC7D1 + trainerbattle_single TRAINER_HIKER_DARYL, SixIsland_RuinValley_Text_DarylIntro, SixIsland_RuinValley_Text_DarylDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC7F8 - msgbox Text_18C0EA, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SixIsland_RuinValley_EventScript_DarylRematch + msgbox SixIsland_RuinValley_Text_DarylPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC7F8:: @ 81AC7F8 - trainerbattle_rematch TRAINER_HIKER_DARYL, Text_1C4280, Text_18C0BB - msgbox Text_18C0EA, MSGBOX_AUTOCLOSE +SixIsland_RuinValley_EventScript_DarylRematch:: @ 81AC7F8 + trainerbattle_rematch TRAINER_HIKER_DARYL, SixIsland_RuinValley_Text_DarylRematchIntro, SixIsland_RuinValley_Text_DarylDefeat + msgbox SixIsland_RuinValley_Text_DarylPostBattle, MSGBOX_AUTOCLOSE end -SixIsland_RuinValley_EventScript_1AC80F:: @ 81AC80F - trainerbattle_single TRAINER_POKEMANIAC_HECTOR, Text_18C10A, Text_18C140 +SixIsland_RuinValley_EventScript_Hector:: @ 81AC80F + trainerbattle_single TRAINER_POKEMANIAC_HECTOR, SixIsland_RuinValley_Text_HectorIntro, SixIsland_RuinValley_Text_HectorDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC836 - msgbox Text_18C17A, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SixIsland_RuinValley_EventScript_HectorRematch + msgbox SixIsland_RuinValley_Text_HectorPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC836:: @ 81AC836 - trainerbattle_rematch TRAINER_POKEMANIAC_HECTOR, Text_1C42A0, Text_18C140 - msgbox Text_18C17A, MSGBOX_AUTOCLOSE +SixIsland_RuinValley_EventScript_HectorRematch:: @ 81AC836 + trainerbattle_rematch TRAINER_POKEMANIAC_HECTOR, SixIsland_RuinValley_Text_HectorRematchIntro, SixIsland_RuinValley_Text_HectorDefeat + msgbox SixIsland_RuinValley_Text_HectorPostBattle, MSGBOX_AUTOCLOSE end -SevenIsland_TrainerTower_EventScript_1AC84D:: @ 81AC84D - trainerbattle_single TRAINER_PSYCHIC_DARIO, Text_18C1ED, Text_18C205 +SevenIsland_TrainerTower_EventScript_Dario:: @ 81AC84D + trainerbattle_single TRAINER_PSYCHIC_DARIO, SevenIsland_TrainerTower_Text_DarioIntro, SevenIsland_TrainerTower_Text_DarioDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC874 - msgbox Text_18C20E, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SevenIsland_TrainerTower_EventScript_DarioRematch + msgbox SevenIsland_TrainerTower_Text_DarioPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC874:: @ 81AC874 - trainerbattle_rematch TRAINER_PSYCHIC_DARIO, Text_1C42D6, Text_18C205 - msgbox Text_18C20E, MSGBOX_AUTOCLOSE +SevenIsland_TrainerTower_EventScript_DarioRematch:: @ 81AC874 + trainerbattle_rematch TRAINER_PSYCHIC_DARIO, SevenIsland_TrainerTower_Text_DarioRematchIntro, SevenIsland_TrainerTower_Text_DarioDefeat + msgbox SevenIsland_TrainerTower_Text_DarioPostBattle, MSGBOX_AUTOCLOSE end -SevenIsland_TrainerTower_EventScript_1AC88B:: @ 81AC88B - trainerbattle_single TRAINER_PSYCHIC_RODETTE, Text_18C283, Text_18C2BC +SevenIsland_TrainerTower_EventScript_Rodette:: @ 81AC88B + trainerbattle_single TRAINER_PSYCHIC_RODETTE, SevenIsland_TrainerTower_Text_RodetteIntro, SevenIsland_TrainerTower_Text_RodetteDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC8B2 - msgbox Text_18C2D5, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SevenIsland_TrainerTower_EventScript_RodetteRematch + msgbox SevenIsland_TrainerTower_Text_RodettePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC8B2:: @ 81AC8B2 - trainerbattle_rematch TRAINER_PSYCHIC_RODETTE, Text_1C42EE, Text_18C2BC - msgbox Text_18C2D5, MSGBOX_AUTOCLOSE +SevenIsland_TrainerTower_EventScript_RodetteRematch:: @ 81AC8B2 + trainerbattle_rematch TRAINER_PSYCHIC_RODETTE, SevenIsland_TrainerTower_Text_RodetteRematchIntro, SevenIsland_TrainerTower_Text_RodetteDefeat + msgbox SevenIsland_TrainerTower_Text_RodettePostBattle, MSGBOX_AUTOCLOSE end -SevenIsland_SevaultCanyon_Entrance_EventScript_1AC8C9:: @ 81AC8C9 - trainerbattle_single TRAINER_AROMA_LADY_MIAH, Text_18C3BC, Text_18C3E7 +SevenIsland_SevaultCanyon_Entrance_EventScript_Miah:: @ 81AC8C9 + trainerbattle_single TRAINER_AROMA_LADY_MIAH, SevenIsland_SevaultCanyon_Entrance_Text_MiahIntro, SevenIsland_SevaultCanyon_Entrance_Text_MiahDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC8F0 - msgbox Text_18C3FF, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SevenIsland_SevaultCanyon_Entrance_EventScript_MiahRematch + msgbox SevenIsland_SevaultCanyon_Entrance_Text_MiahPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC8F0:: @ 81AC8F0 - trainerbattle_rematch TRAINER_AROMA_LADY_MIAH, Text_1C4327, Text_18C3E7 - msgbox Text_18C3FF, MSGBOX_AUTOCLOSE +SevenIsland_SevaultCanyon_Entrance_EventScript_MiahRematch:: @ 81AC8F0 + trainerbattle_rematch TRAINER_AROMA_LADY_MIAH, SevenIsland_SevaultCanyon_Entrance_Text_MiahRematchIntro, SevenIsland_SevaultCanyon_Entrance_Text_MiahDefeat + msgbox SevenIsland_SevaultCanyon_Entrance_Text_MiahPostBattle, MSGBOX_AUTOCLOSE end -SevenIsland_SevaultCanyon_Entrance_EventScript_1AC907:: @ 81AC907 - trainerbattle_double TRAINER_YOUNG_COUPLE_EVE_JON, Text_18C632, Text_18C662, Text_18C6AB +SevenIsland_SevaultCanyon_Entrance_EventScript_Eve:: @ 81AC907 + trainerbattle_double TRAINER_YOUNG_COUPLE_EVE_JON, SevenIsland_SevaultCanyon_Entrance_Text_EveIntro, SevenIsland_SevaultCanyon_Entrance_Text_EveDefeat, SevenIsland_SevaultCanyon_Entrance_Text_EveNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC932 - msgbox Text_18C683, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SevenIsland_SevaultCanyon_Entrance_EventScript_EveRematch + msgbox SevenIsland_SevaultCanyon_Entrance_Text_EvePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC932:: @ 81AC932 - trainerbattle_rematch_double TRAINER_YOUNG_COUPLE_EVE_JON, Text_1C4416, Text_18C662, Text_18C6AB - msgbox Text_18C683, MSGBOX_AUTOCLOSE +SevenIsland_SevaultCanyon_Entrance_EventScript_EveRematch:: @ 81AC932 + trainerbattle_rematch_double TRAINER_YOUNG_COUPLE_EVE_JON, SevenIsland_SevaultCanyon_Entrance_Text_EveRematchIntro, SevenIsland_SevaultCanyon_Entrance_Text_EveDefeat, SevenIsland_SevaultCanyon_Entrance_Text_EveNotEnoughMons + msgbox SevenIsland_SevaultCanyon_Entrance_Text_EvePostBattle, MSGBOX_AUTOCLOSE end -SevenIsland_SevaultCanyon_Entrance_EventScript_1AC94D:: @ 81AC94D - trainerbattle_double TRAINER_YOUNG_COUPLE_EVE_JON, Text_18C700, Text_18C73B, Text_18C7BD +SevenIsland_SevaultCanyon_Entrance_EventScript_Jon:: @ 81AC94D + trainerbattle_double TRAINER_YOUNG_COUPLE_EVE_JON, SevenIsland_SevaultCanyon_Entrance_Text_JonIntro, SevenIsland_SevaultCanyon_Entrance_Text_JonDefeat, SevenIsland_SevaultCanyon_Entrance_Text_JonNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC978 - msgbox Text_18C773, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SevenIsland_SevaultCanyon_Entrance_EventScript_JonRematch + msgbox SevenIsland_SevaultCanyon_Entrance_Text_JonPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC978:: @ 81AC978 - trainerbattle_rematch_double TRAINER_YOUNG_COUPLE_EVE_JON, Text_1C444C, Text_18C73B, Text_18C7BD - msgbox Text_18C773, MSGBOX_AUTOCLOSE +SevenIsland_SevaultCanyon_Entrance_EventScript_JonRematch:: @ 81AC978 + trainerbattle_rematch_double TRAINER_YOUNG_COUPLE_EVE_JON, SevenIsland_SevaultCanyon_Entrance_Text_JonRematchIntro, SevenIsland_SevaultCanyon_Entrance_Text_JonDefeat, SevenIsland_SevaultCanyon_Entrance_Text_JonNotEnoughMons + msgbox SevenIsland_SevaultCanyon_Entrance_Text_JonPostBattle, MSGBOX_AUTOCLOSE end -SevenIsland_SevaultCanyon_Entrance_EventScript_1AC993:: @ 81AC993 - trainerbattle_single TRAINER_JUGGLER_MASON, Text_18C44B, Text_18C473 +SevenIsland_SevaultCanyon_Entrance_EventScript_Mason:: @ 81AC993 + trainerbattle_single TRAINER_JUGGLER_MASON, SevenIsland_SevaultCanyon_Entrance_Text_MasonIntro, SevenIsland_SevaultCanyon_Entrance_Text_MasonDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC9BA - msgbox Text_18C4BA, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SevenIsland_SevaultCanyon_Entrance_EventScript_MasonRematch + msgbox SevenIsland_SevaultCanyon_Entrance_Text_MasonPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC9BA:: @ 81AC9BA - trainerbattle_rematch TRAINER_JUGGLER_MASON, Text_1C4374, Text_18C473 - msgbox Text_18C4BA, MSGBOX_AUTOCLOSE +SevenIsland_SevaultCanyon_Entrance_EventScript_MasonRematch:: @ 81AC9BA + trainerbattle_rematch TRAINER_JUGGLER_MASON, SevenIsland_SevaultCanyon_Entrance_Text_MasonRematchIntro, SevenIsland_SevaultCanyon_Entrance_Text_MasonDefeat + msgbox SevenIsland_SevaultCanyon_Entrance_Text_MasonPostBattle, MSGBOX_AUTOCLOSE end -SevenIsland_SevaultCanyon_Entrance_EventScript_1AC9D1:: @ 81AC9D1 - trainerbattle_single TRAINER_PKMN_RANGER_NICOLAS, Text_18C500, Text_18C543 +SevenIsland_SevaultCanyon_Entrance_EventScript_Nicolas:: @ 81AC9D1 + trainerbattle_single TRAINER_PKMN_RANGER_NICOLAS, SevenIsland_SevaultCanyon_Entrance_Text_NicolasIntro, SevenIsland_SevaultCanyon_Entrance_Text_NicolasDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1AC9F8 - msgbox Text_18C54B, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SevenIsland_SevaultCanyon_Entrance_EventScript_NicolasRematch + msgbox SevenIsland_SevaultCanyon_Entrance_Text_NicolasPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1AC9F8:: @ 81AC9F8 - trainerbattle_rematch TRAINER_PKMN_RANGER_NICOLAS, Text_1C43AD, Text_18C543 - msgbox Text_18C54B, MSGBOX_AUTOCLOSE +SevenIsland_SevaultCanyon_Entrance_EventScript_NicolasRematch:: @ 81AC9F8 + trainerbattle_rematch TRAINER_PKMN_RANGER_NICOLAS, SevenIsland_SevaultCanyon_Entrance_Text_NicolasRematchIntro, SevenIsland_SevaultCanyon_Entrance_Text_NicolasDefeat + msgbox SevenIsland_SevaultCanyon_Entrance_Text_NicolasPostBattle, MSGBOX_AUTOCLOSE end -SevenIsland_SevaultCanyon_Entrance_EventScript_1ACA0F:: @ 81ACA0F - trainerbattle_single TRAINER_PKMN_RANGER_MADELINE, Text_18C5AA, Text_18C5CD +SevenIsland_SevaultCanyon_Entrance_EventScript_Madeline:: @ 81ACA0F + trainerbattle_single TRAINER_PKMN_RANGER_MADELINE, SevenIsland_SevaultCanyon_Entrance_Text_MadelineIntro, SevenIsland_SevaultCanyon_Entrance_Text_MadelineDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ACA36 - msgbox Text_18C5F5, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SevenIsland_SevaultCanyon_Entrance_EventScript_MadelineRematch + msgbox SevenIsland_SevaultCanyon_Entrance_Text_MadelinePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ACA36:: @ 81ACA36 - trainerbattle_rematch TRAINER_PKMN_RANGER_MADELINE, Text_1C43EC, Text_18C5CD - msgbox Text_18C5F5, MSGBOX_AUTOCLOSE +SevenIsland_SevaultCanyon_Entrance_EventScript_MadelineRematch:: @ 81ACA36 + trainerbattle_rematch TRAINER_PKMN_RANGER_MADELINE, SevenIsland_SevaultCanyon_Entrance_Text_MadelineRematchIntro, SevenIsland_SevaultCanyon_Entrance_Text_MadelineDefeat + msgbox SevenIsland_SevaultCanyon_Entrance_Text_MadelinePostBattle, MSGBOX_AUTOCLOSE end -SevenIsland_SevaultCanyon_EventScript_1ACA4D:: @ 81ACA4D - trainerbattle_single TRAINER_CRUSH_GIRL_CYNDY, Text_18C887, Text_18C8A6 +SevenIsland_SevaultCanyon_EventScript_Cyndy:: @ 81ACA4D + trainerbattle_single TRAINER_CRUSH_GIRL_CYNDY, SevenIsland_SevaultCanyon_Text_CyndyIntro, SevenIsland_SevaultCanyon_Text_CyndyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ACA74 - msgbox Text_18C8C2, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SevenIsland_SevaultCanyon_EventScript_CyndyRematch + msgbox SevenIsland_SevaultCanyon_Text_CyndyPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ACA74:: @ 81ACA74 - trainerbattle_rematch TRAINER_CRUSH_GIRL_CYNDY, Text_1C4491, Text_18C8A6 - msgbox Text_18C8C2, MSGBOX_AUTOCLOSE +SevenIsland_SevaultCanyon_EventScript_CyndyRematch:: @ 81ACA74 + trainerbattle_rematch TRAINER_CRUSH_GIRL_CYNDY, SevenIsland_SevaultCanyon_Text_CyndyRematchIntro, SevenIsland_SevaultCanyon_Text_CyndyDefeat + msgbox SevenIsland_SevaultCanyon_Text_CyndyPostBattle, MSGBOX_AUTOCLOSE end -SevenIsland_SevaultCanyon_EventScript_1ACA8B:: @ 81ACA8B - trainerbattle_single TRAINER_TAMER_EVAN, Text_18C8FD, Text_18C980 +SevenIsland_SevaultCanyon_EventScript_Evan:: @ 81ACA8B + trainerbattle_single TRAINER_TAMER_EVAN, SevenIsland_SevaultCanyon_Text_EvanIntro, SevenIsland_SevaultCanyon_Text_EvanDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ACAB2 - msgbox Text_18C999, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SevenIsland_SevaultCanyon_EventScript_EvanRematch + msgbox SevenIsland_SevaultCanyon_Text_EvanPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ACAB2:: @ 81ACAB2 - trainerbattle_rematch TRAINER_TAMER_EVAN, Text_1C44CB, Text_18C980 - msgbox Text_18C999, MSGBOX_AUTOCLOSE +SevenIsland_SevaultCanyon_EventScript_EvanRematch:: @ 81ACAB2 + trainerbattle_rematch TRAINER_TAMER_EVAN, SevenIsland_SevaultCanyon_Text_EvanRematchIntro, SevenIsland_SevaultCanyon_Text_EvanDefeat + msgbox SevenIsland_SevaultCanyon_Text_EvanPostBattle, MSGBOX_AUTOCLOSE end -SevenIsland_SevaultCanyon_EventScript_1ACAC9:: @ 81ACAC9 - trainerbattle_single TRAINER_PKMN_RANGER_JACKSON, Text_18CA2F, Text_18CA6F +SevenIsland_SevaultCanyon_EventScript_Jackson:: @ 81ACAC9 + trainerbattle_single TRAINER_PKMN_RANGER_JACKSON, SevenIsland_SevaultCanyon_Text_JacksonIntro, SevenIsland_SevaultCanyon_Text_JacksonDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ACAF0 - msgbox Text_18CA9C, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SevenIsland_SevaultCanyon_EventScript_JacksonRematch + msgbox SevenIsland_SevaultCanyon_Text_JacksonPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ACAF0:: @ 81ACAF0 - trainerbattle_rematch TRAINER_PKMN_RANGER_JACKSON, Text_1C454E, Text_18CA6F - msgbox Text_18CA9C, MSGBOX_AUTOCLOSE +SevenIsland_SevaultCanyon_EventScript_JacksonRematch:: @ 81ACAF0 + trainerbattle_rematch TRAINER_PKMN_RANGER_JACKSON, SevenIsland_SevaultCanyon_Text_JacksonRematchIntro, SevenIsland_SevaultCanyon_Text_JacksonDefeat + msgbox SevenIsland_SevaultCanyon_Text_JacksonPostBattle, MSGBOX_AUTOCLOSE end -SevenIsland_SevaultCanyon_EventScript_1ACB07:: @ 81ACB07 - trainerbattle_single TRAINER_PKMN_RANGER_KATELYN, Text_18CB16, Text_18CB3E +SevenIsland_SevaultCanyon_EventScript_Katelyn:: @ 81ACB07 + trainerbattle_single TRAINER_PKMN_RANGER_KATELYN, SevenIsland_SevaultCanyon_Text_KatelynIntro, SevenIsland_SevaultCanyon_Text_KatelynDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ACB2E - msgbox Text_18CB6C, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SevenIsland_SevaultCanyon_EventScript_KatelynRematch + msgbox SevenIsland_SevaultCanyon_Text_KatelynPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ACB2E:: @ 81ACB2E - trainerbattle_rematch TRAINER_PKMN_RANGER_KATELYN, Text_1C458E, Text_18CB3E - msgbox Text_18CB6C, MSGBOX_AUTOCLOSE +SevenIsland_SevaultCanyon_EventScript_KatelynRematch:: @ 81ACB2E + trainerbattle_rematch TRAINER_PKMN_RANGER_KATELYN, SevenIsland_SevaultCanyon_Text_KatelynRematchIntro, SevenIsland_SevaultCanyon_Text_KatelynDefeat + msgbox SevenIsland_SevaultCanyon_Text_KatelynPostBattle, MSGBOX_AUTOCLOSE end -SevenIsland_SevaultCanyon_EventScript_1ACB45:: @ 81ACB45 - trainerbattle_single TRAINER_COOLTRAINER_LEROY, Text_18CBB4, Text_18CBE0 +SevenIsland_SevaultCanyon_EventScript_Leroy:: @ 81ACB45 + trainerbattle_single TRAINER_COOLTRAINER_LEROY, SevenIsland_SevaultCanyon_Text_LeroyIntro, SevenIsland_SevaultCanyon_Text_LeroyDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ACB6C - msgbox Text_18CC09, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SevenIsland_SevaultCanyon_EventScript_LeroyRematch + msgbox SevenIsland_SevaultCanyon_Text_LeroyPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ACB6C:: @ 81ACB6C - trainerbattle_rematch TRAINER_COOLTRAINER_LEROY, Text_1C45C2, Text_18CBE0 - msgbox Text_18CC09, MSGBOX_AUTOCLOSE +SevenIsland_SevaultCanyon_EventScript_LeroyRematch:: @ 81ACB6C + trainerbattle_rematch TRAINER_COOLTRAINER_LEROY, SevenIsland_SevaultCanyon_Text_LeroyRematchIntro, SevenIsland_SevaultCanyon_Text_LeroyDefeat + msgbox SevenIsland_SevaultCanyon_Text_LeroyPostBattle, MSGBOX_AUTOCLOSE end -SevenIsland_SevaultCanyon_EventScript_1ACB83:: @ 81ACB83 - trainerbattle_single TRAINER_COOLTRAINER_MICHELLE, Text_18CC4F, Text_18CCAE +SevenIsland_SevaultCanyon_EventScript_Michelle:: @ 81ACB83 + trainerbattle_single TRAINER_COOLTRAINER_MICHELLE, SevenIsland_SevaultCanyon_Text_MichelleIntro, SevenIsland_SevaultCanyon_Text_MichelleDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ACBAA - msgbox Text_18CCEA, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SevenIsland_SevaultCanyon_EventScript_MichelleRematch + msgbox SevenIsland_SevaultCanyon_Text_MichellePostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ACBAA:: @ 81ACBAA - trainerbattle_rematch TRAINER_COOLTRAINER_MICHELLE, Text_1C45FB, Text_18CCAE - msgbox Text_18CCEA, MSGBOX_AUTOCLOSE +SevenIsland_SevaultCanyon_EventScript_MichelleRematch:: @ 81ACBAA + trainerbattle_rematch TRAINER_COOLTRAINER_MICHELLE, SevenIsland_SevaultCanyon_Text_MichelleRematchIntro, SevenIsland_SevaultCanyon_Text_MichelleDefeat + msgbox SevenIsland_SevaultCanyon_Text_MichellePostBattle, MSGBOX_AUTOCLOSE end -SevenIsland_SevaultCanyon_EventScript_1ACBC1:: @ 81ACBC1 - trainerbattle_double TRAINER_COOL_COUPLE_LEX_NYA, Text_18CD49, Text_18CD75, Text_18CDE2 +SevenIsland_SevaultCanyon_EventScript_Lex:: @ 81ACBC1 + trainerbattle_double TRAINER_COOL_COUPLE_LEX_NYA, SevenIsland_SevaultCanyon_Text_LexIntro, SevenIsland_SevaultCanyon_Text_LexDefeat, SevenIsland_SevaultCanyon_Text_LexNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ACBEC - msgbox Text_18CD9C, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SevenIsland_SevaultCanyon_EventScript_LexRematch + msgbox SevenIsland_SevaultCanyon_Text_LexPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ACBEC:: @ 81ACBEC - trainerbattle_rematch_double TRAINER_COOL_COUPLE_LEX_NYA, Text_1C4662, Text_18CD75, Text_18CDE2 - msgbox Text_18CD9C, MSGBOX_AUTOCLOSE +SevenIsland_SevaultCanyon_EventScript_LexRematch:: @ 81ACBEC + trainerbattle_rematch_double TRAINER_COOL_COUPLE_LEX_NYA, SevenIsland_SevaultCanyon_Text_LexRematchIntro, SevenIsland_SevaultCanyon_Text_LexDefeat, SevenIsland_SevaultCanyon_Text_LexNotEnoughMons + msgbox SevenIsland_SevaultCanyon_Text_LexPostBattle, MSGBOX_AUTOCLOSE end -SevenIsland_SevaultCanyon_EventScript_1ACC07:: @ 81ACC07 - trainerbattle_double TRAINER_COOL_COUPLE_LEX_NYA, Text_18CE20, Text_18CE5A, Text_18CEF4 +SevenIsland_SevaultCanyon_EventScript_Nya:: @ 81ACC07 + trainerbattle_double TRAINER_COOL_COUPLE_LEX_NYA, SevenIsland_SevaultCanyon_Text_NyaIntro, SevenIsland_SevaultCanyon_Text_NyaDefeat, SevenIsland_SevaultCanyon_Text_NyaNotEnoughMons specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ACC32 - msgbox Text_18CE78, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SevenIsland_SevaultCanyon_EventScript_NyaRematch + msgbox SevenIsland_SevaultCanyon_Text_NyaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ACC32:: @ 81ACC32 - trainerbattle_rematch_double TRAINER_COOL_COUPLE_LEX_NYA, Text_1C4699, Text_18CE5A, Text_18CEF4 - msgbox Text_18CE78, MSGBOX_AUTOCLOSE +SevenIsland_SevaultCanyon_EventScript_NyaRematch:: @ 81ACC32 + trainerbattle_rematch_double TRAINER_COOL_COUPLE_LEX_NYA, SevenIsland_SevaultCanyon_Text_NyaRematchIntro, SevenIsland_SevaultCanyon_Text_NyaDefeat, SevenIsland_SevaultCanyon_Text_NyaNotEnoughMons + msgbox SevenIsland_SevaultCanyon_Text_NyaPostBattle, MSGBOX_AUTOCLOSE end -SevenIsland_TanobyRuins_EventScript_1ACC4D:: @ 81ACC4D - trainerbattle_single TRAINER_RUIN_MANIAC_BRANDON, Text_18CFFB, Text_18D02A +SevenIsland_TanobyRuins_EventScript_Brandon:: @ 81ACC4D + trainerbattle_single TRAINER_RUIN_MANIAC_BRANDON, SevenIsland_TanobyRuins_Text_BrandonIntro, SevenIsland_TanobyRuins_Text_BrandonDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ACC74 - msgbox Text_18D061, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SevenIsland_TanobyRuins_EventScript_BrandonRematch + msgbox SevenIsland_TanobyRuins_Text_BrandonPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ACC74:: @ 81ACC74 - trainerbattle_rematch TRAINER_RUIN_MANIAC_BRANDON, Text_1C46D3, Text_18D02A - msgbox Text_18D061, MSGBOX_AUTOCLOSE +SevenIsland_TanobyRuins_EventScript_BrandonRematch:: @ 81ACC74 + trainerbattle_rematch TRAINER_RUIN_MANIAC_BRANDON, SevenIsland_TanobyRuins_Text_BrandonRematchIntro, SevenIsland_TanobyRuins_Text_BrandonDefeat + msgbox SevenIsland_TanobyRuins_Text_BrandonPostBattle, MSGBOX_AUTOCLOSE end -SevenIsland_TanobyRuins_EventScript_1ACC8B:: @ 81ACC8B - trainerbattle_single TRAINER_RUIN_MANIAC_BENJAMIN, Text_18D0D9, Text_18D108 +SevenIsland_TanobyRuins_EventScript_Benjamin:: @ 81ACC8B + trainerbattle_single TRAINER_RUIN_MANIAC_BENJAMIN, SevenIsland_TanobyRuins_Text_BenjaminIntro, SevenIsland_TanobyRuins_Text_BenjaminDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ACCB2 - msgbox Text_18D125, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SevenIsland_TanobyRuins_EventScript_BenjaminRematch + msgbox SevenIsland_TanobyRuins_Text_BenjaminPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ACCB2:: @ 81ACCB2 - trainerbattle_rematch TRAINER_RUIN_MANIAC_BENJAMIN, Text_1C470A, Text_18D108 - msgbox Text_18D125, MSGBOX_AUTOCLOSE +SevenIsland_TanobyRuins_EventScript_BenjaminRematch:: @ 81ACCB2 + trainerbattle_rematch TRAINER_RUIN_MANIAC_BENJAMIN, SevenIsland_TanobyRuins_Text_BenjaminRematchIntro, SevenIsland_TanobyRuins_Text_BenjaminDefeat + msgbox SevenIsland_TanobyRuins_Text_BenjaminPostBattle, MSGBOX_AUTOCLOSE end -SevenIsland_TanobyRuins_EventScript_1ACCC9:: @ 81ACCC9 - trainerbattle_single TRAINER_PAINTER_EDNA, Text_18D18F, Text_18D1B5 +SevenIsland_TanobyRuins_EventScript_Edna:: @ 81ACCC9 + trainerbattle_single TRAINER_PAINTER_EDNA, SevenIsland_TanobyRuins_Text_EdnaIntro, SevenIsland_TanobyRuins_Text_EdnaDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ACCF0 - msgbox Text_18D1E3, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SevenIsland_TanobyRuins_EventScript_EdnaRematch + msgbox SevenIsland_TanobyRuins_Text_EdnaPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ACCF0:: @ 81ACCF0 - trainerbattle_rematch TRAINER_PAINTER_EDNA, Text_1C4739, Text_18D1B5 - msgbox Text_18D1E3, MSGBOX_AUTOCLOSE +SevenIsland_TanobyRuins_EventScript_EdnaRematch:: @ 81ACCF0 + trainerbattle_rematch TRAINER_PAINTER_EDNA, SevenIsland_TanobyRuins_Text_EdnaRematchIntro, SevenIsland_TanobyRuins_Text_EdnaDefeat + msgbox SevenIsland_TanobyRuins_Text_EdnaPostBattle, MSGBOX_AUTOCLOSE end -SevenIsland_TanobyRuins_EventScript_1ACD07:: @ 81ACD07 - trainerbattle_single TRAINER_GENTLEMAN_CLIFFORD, Text_18D22F, Text_18D26D +SevenIsland_TanobyRuins_EventScript_Clifford:: @ 81ACD07 + trainerbattle_single TRAINER_GENTLEMAN_CLIFFORD, SevenIsland_TanobyRuins_Text_CliffordIntro, SevenIsland_TanobyRuins_Text_CliffordDefeat specialvar VAR_RESULT, ShouldTryRematchBattle - compare VAR_RESULT, 1 - goto_if_eq EventScript_1ACD2E - msgbox Text_18D284, MSGBOX_AUTOCLOSE + compare VAR_RESULT, TRUE + goto_if_eq SevenIsland_TanobyRuins_EventScript_CliffordRematch + msgbox SevenIsland_TanobyRuins_Text_CliffordPostBattle, MSGBOX_AUTOCLOSE end -EventScript_1ACD2E:: @ 81ACD2E - trainerbattle_rematch TRAINER_GENTLEMAN_CLIFFORD, Text_1C476A, Text_18D26D - msgbox Text_18D284, MSGBOX_AUTOCLOSE +SevenIsland_TanobyRuins_EventScript_CliffordRematch:: @ 81ACD2E + trainerbattle_rematch TRAINER_GENTLEMAN_CLIFFORD, SevenIsland_TanobyRuins_Text_CliffordRematchIntro, SevenIsland_TanobyRuins_Text_CliffordDefeat + msgbox SevenIsland_TanobyRuins_Text_CliffordPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/scripts/white_out.inc b/data/scripts/white_out.inc new file mode 100644 index 000000000..2758737bc --- /dev/null +++ b/data/scripts/white_out.inc @@ -0,0 +1,69 @@ +EventScript_AfterWhiteOutHeal:: @ 81A8D97 + lockall + textcolor 1 + msgbox Text_FirstShouldRestoreMonsHealth + call EventScript_PkmnCenterNurse_TakeAndHealPkmn + call_if_unset FLAG_DEFEATED_BROCK, EventScript_AfterWhiteOutHealMsgPreBrock + call_if_set FLAG_DEFEATED_BROCK, EventScript_AfterWhiteOutHealMsg + applymovement VAR_LAST_TALKED, Movement_Bow + waitmovement 0 + fadedefaultbgm + releaseall + end + +EventScript_AfterWhiteOutHealMsgPreBrock:: @ 81A8DC6 + msgbox Text_MonsHealedShouldBuyPotions + return + +EventScript_AfterWhiteOutHealMsg:: @ 81A8DCF + msgbox Text_MonsHealed + return + +EventScript_AfterWhiteOutMomHeal:: @ 81A8DD8 + lockall + textcolor 1 + applymovement 1, Movement_WalkInPlaceFastestDown + waitmovement 0 + msgbox Text_HadQuiteAnExperienceTakeRest + call EventScript_OutOfCenterPartyHeal + msgbox Text_MomExplainHPGetPotions + fadedefaultbgm + releaseall + end + +EventScript_FieldPoison:: @ 81A8DFD + lockall + textcolor 3 + special TryFieldPoisonWhiteOut + waitstate + compare VAR_RESULT, TRUE + goto_if_eq EventScript_FieldWhiteOut + releaseall + end + +EventScript_FieldWhiteOut:: @ 81A8E11 + checkmoney 1, 0 + compare VAR_RESULT, FALSE + goto_if_eq EventScript_FieldWhiteOutNoMoney + compare VAR_RESULT, TRUE + goto_if_eq EventScript_FieldWhiteOutHasMoney + end + +EventScript_FieldWhiteOutNoMoney:: @ 81A8E2E + msgbox Text_WhitedOut + goto EventScript_FieldWhiteOutFade + end + +EventScript_FieldWhiteOutHasMoney:: @ 81A8E3C + special OverworldWhiteOutGetMoneyLoss + msgbox Text_WhitedOutLostMoney + goto EventScript_FieldWhiteOutFade + end + +EventScript_FieldWhiteOutFade:: @ 81A8E4D + special Script_FadeOutMapMusic + waitstate + fadescreen FADE_TO_BLACK + special SetCB2WhiteOut + waitstate + end diff --git a/data/smokescreen.s b/data/smokescreen.s index 49b13847b..e30e23b0d 100644 --- a/data/smokescreen.s +++ b/data/smokescreen.s @@ -4,10 +4,10 @@ .align 2 gSmokescreenImpactSpriteSheet:: @ 825098C - obj_tiles gFile_graphics_battle_anims_sprites_smokescreen_impact_sheet, 0x0180, 55019 + obj_tiles gSmokescreenImpactTiles, 0x0180, 55019 gSmokescreenImpactSpritePalette:: @ 8250994 - obj_pal gFile_graphics_battle_anims_sprites_smokescreen_impact_palette, 55019 + obj_pal gSmokescreenImpactPalette, 55019 gOamData_835099C:: .4byte 0x40000000, 0x00000400 diff --git a/data/specials.inc b/data/specials.inc index 39ce252a4..0d7670f63 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -13,182 +13,182 @@ gSpecials:: @ 815FD60 def_special DoCableClubWarp def_special ReturnFromLinkRoom def_special CleanupLinkRoomState - def_special sub_8081770 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 + def_special ExitLinkRoom + def_special NullFieldSpecial @ Secret Base specials + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial def_special TryBattleLinkup def_special TryTradeLinkup - def_special sub_80810F4 + def_special TryRecordMixLinkup def_special CloseLink def_special EnterColosseumPlayerSpot def_special EnterTradeSeat - def_special sub_80819B8 - def_special sub_808130C - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 + def_special StartWiredCableClubTrade + def_special CableClub_AskSaveTheGame + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial def_special SavePlayerParty def_special LoadPlayerParty def_special ChooseHalfPartyForBattle def_special Script_ShowLinkTrainerCard - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 + def_special NullFieldSpecial @ Berry Tree specials + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial def_special IsEnigmaBerryValid - def_special ScrSpecial_GetTrainerBattleMode - def_special ScrSpecial_ShowTrainerIntroSpeech - def_special ScrSpecial_ShowTrainerNonBattlingSpeech - def_special ScrSpecial_HasTrainerBeenFought - def_special ScrSpecial_EndTrainerApproach + def_special GetTrainerBattleMode + def_special ShowTrainerIntroSpeech + def_special ShowTrainerCantBattleSpeech + def_special Script_HasTrainerBeenFought + def_special EndTrainerApproach def_special PlayTrainerEncounterMusic def_special ShouldTryRematchBattle - def_special ScrSpecial_GetTrainerEyeRematchFlag - def_special ScrSpecial_StartTrainerEyeRematch + def_special IsTrainerReadyForRematch + def_special StartRematchBattle def_special ShowPokemonStorageSystem def_special HasEnoughMonsForDoubleBattle - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special Special_HasLeadMonBeenRenamed - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 + def_special NullFieldSpecial @ Hoenn TV specials + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special HasLeadMonBeenRenamed + def_special NullFieldSpecial @ Contest specials + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial def_special sub_8081128 def_special Field_AskSaveTheGame - def_special nullsub_56 - def_special sub_80FEE44 - def_special Special_BufferEasyChatMessage - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 + def_special DoWateringBerryTreeAnim + def_special ShowEasyChatScreen + def_special ShowEasyChatMessage + def_special NullFieldSpecial @ Mauville Man specials + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial def_special GetHeracrossSizeRecordInfo def_special CompareHeracrossSize def_special GetMagikarpSizeRecordInfo def_special CompareMagikarpSize def_special NameRaterWasNicknameChanged - def_special Special_GetMonNickname - def_special Special_IsMonOTIDNotPlayers - def_special nullsub_75 - def_special nullsub_75 + def_special BufferMonNickname + def_special IsMonOTIDNotPlayers + def_special NullFieldSpecial + def_special NullFieldSpecial def_special BufferRandomHobbyOrLifestyleString - def_special nullsub_75 + def_special NullFieldSpecial def_special RegisteredItemHandleBikeSwap def_special CalculatePlayerPartyCount def_special CountPartyNonEggMons def_special CountPartyAliveNonEggMons_IgnoreVar0x8004Slot - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special Special_ShowStringVar4AsFieldMessage + def_special NullFieldSpecial @ Contest specials + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial @ Mauville Gym specials + def_special NullFieldSpecial + def_special ShowFieldMessageStringVar4 def_special DrawWholeMapView - def_special Special_GetPlayerXY - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special Special_GetPlayerTrainerIdOnesDigit - def_special Special_BufferBigGuyOrBigGirlString - def_special Special_BufferSonOrDaughterString - def_special Special_SetHiddenItemFlag - def_special nullsub_75 - def_special nullsub_75 + def_special GetPlayerXY + def_special NullFieldSpecial @ Mauville/Petalburg Gym specials + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special GetPlayerTrainerIdOnesDigit + def_special BufferBigGuyOrBigGirlString + def_special BufferSonOrDaughterString + def_special SetHiddenItemFlag + def_special NullFieldSpecial @ Cable Car specials + def_special NullFieldSpecial def_special Overworld_PlaySpecialMapMusic - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special ScrSpecial_StartOldManTutorialBattle + def_special NullFieldSpecial @ Wall Clock specials + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special StartOldManTutorialBattle def_special ChangePokemonNickname - def_special Special_ChooseMonFromParty - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special Special_IsFanClubMemberFanOfPlayer - def_special Special_GetNumFansOfPlayerInTrainerFanClub - def_special Special_BufferFanClubTrainerName - def_special Special_TryLoseFansFromPlayTimeAfterLinkBattle - def_special Special_TryLoseFansFromPlayTime - def_special Special_SetPlayerGotFirstFans - def_special Special_UpdateTrainerFanClubGameClear - def_special Special_TryGainNewFanFromCounter - def_special ScrSpecial_RockSmashWildEncounter - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special Special_GetBattleOutcome + def_special ChoosePartyMon + def_special NullFieldSpecial @ Berry Blender/Roulette specials + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special Script_IsFanClubMemberFanOfPlayer + def_special Script_GetNumFansOfPlayerInTrainerFanClub + def_special Script_BufferFanClubTrainerName + def_special Script_TryLoseFansFromPlayTimeAfterLinkBattle + def_special Script_TryLoseFansFromPlayTime + def_special Script_SetPlayerGotFirstFans + def_special Script_UpdateTrainerFanClubGameClear + def_special Script_TryGainNewFanFromCounter + def_special RockSmashWildEncounter + def_special NullFieldSpecial @ Gabby and Ty specials + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special GetBattleOutcome def_special GetDaycareMonNicknames def_special GetDaycareState def_special RejectEggFromDayCare @@ -204,46 +204,46 @@ gSpecials:: @ 815FD60 def_special ScriptHatchMon def_special EggHatch def_special DaycareMonReceivedMail - def_special Special_BattleRecords + def_special ShowBattleRecords def_special IsEnoughForCostInVar0x8005 def_special SubtractMoneyFromVar0x8005 - def_special ExecuteWhiteOut - def_special sp0C8_whiteout_maybe - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 + def_special TryFieldPoisonWhiteOut + def_special SetCB2WhiteOut + def_special NullFieldSpecial @ Rotating gate puzzle specials + def_special NullFieldSpecial + def_special NullFieldSpecial @ SS Tidal specials + def_special NullFieldSpecial def_special EnterSafariMode def_special ExitSafariMode - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special Special_GetPokedexCount - def_special Special_GetProfOaksRatingMessage - def_special Special_AnimatePcTurnOn - def_special Special_AnimatePcTurnOff - def_special Special_GetElevatorFloor - def_special nullsub_75 - def_special nullsub_75 - def_special Special_SelectMoveTutorMon - def_special Special_SelectMove - def_special Special_MoveDeleterForgetMove - def_special Special_BufferMoveDeleterNicknameAndMove - def_special Special_GetNumMovesSelectedMonHas + def_special NullFieldSpecial @ Misc Hoenn specials + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special GetPokedexCount + def_special GetProfOaksRatingMessage + def_special AnimatePcTurnOn + def_special AnimatePcTurnOff + def_special GetElevatorFloor + def_special NullFieldSpecial @ Lottery Corner specials + def_special NullFieldSpecial + def_special SelectMoveTutorMon + def_special SelectMoveDeleterMove + def_special MoveDeleterForgetMove + def_special BufferMoveDeleterNicknameAndMove + def_special GetNumMovesSelectedMonHas def_special DisplayMoveTutorMenu - def_special nullsub_75 - def_special nullsub_75 - def_special Special_GetPlayerAvatarBike - def_special nullsub_75 - def_special nullsub_75 - def_special Special_GetLeadMonFriendship - def_special ScrSpecial_BattleTowerMapScript2 + def_special NullFieldSpecial @ Hoenn Cycling Road specials + def_special NullFieldSpecial + def_special GetPlayerAvatarBike + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special GetLeadMonFriendship + def_special BattleTowerMapScript2 def_special ChooseNextBattleTowerTrainer def_special CheckPartyBattleTowerBanlist def_special PrintBattleTowerTrainerGreeting - def_special PrintEReaderTrainerGreeting + def_special BufferEReaderTrainerGreeting def_special StartSpecialBattle def_special SetBattleTowerProperty def_special BattleTowerUtil @@ -255,201 +255,201 @@ gSpecials:: @ 815FD60 def_special AwardBattleTowerRibbons def_special ChooseBattleTowerPlayerParty def_special ValidateEReaderTrainer - def_special nullsub_75 + def_special NullFieldSpecial def_special ReducePlayerPartyToThree def_special BedroomPC def_special PlayerPC - def_special Special_TownMap + def_special ShowTownMap def_special GetInGameTradeSpeciesInfo def_special CreateInGameTradePokemon def_special DoInGameTradeScene def_special GetTradeSpecies - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special ScrSpecial_CreatePCMenu + def_special NullFieldSpecial @ Misc Hoenn specials + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special CreatePCMenu def_special HallOfFamePCBeginFade - def_special Special_ShowDiploma - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_61 + def_special ShowDiploma + def_special NullFieldSpecial @ Check lead mon Contest strength specials + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special LookThroughPorthole def_special DoSoftReset - def_special Special_HallOfFame - def_special Special_AnimateElevator - def_special nullsub_75 + def_special EnterHallOfFame + def_special AnimateElevator + def_special NullFieldSpecial @ ShowGlassWorkshopMenu def_special SpawnCameraObject def_special RemoveCameraObject - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special Special_BufferEReaderTrainerName5 - def_special Special_GetRandomSlotMachine + def_special NullFieldSpecial @ Misc Hoenn specials + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special BufferEReaderTrainerName + def_special GetRandomSlotMachineId def_special GetPlayerFacingDirection - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 + def_special NullFieldSpecial @ Abandoned Ship room key specials + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial def_special LeadMonHasEffortRibbon def_special GiveLeadMonEffortRibbon - def_special ScrSpecial_AreLeadMonEVsMaxedOut + def_special AreLeadMonEVsMaxedOut def_special Script_FacePlayer def_special Script_ClearHeldMovement def_special InitRoamer - def_special nullsub_75 - def_special Special_PlayerHasGrassPokemonInParty - def_special nullsub_75 - def_special nullsub_75 - def_special Special_IsStarterFirstStageInParty - def_special nullsub_75 - def_special Special_IsThereRoomInAnyBoxForMorePokemon - def_special nullsub_75 - def_special Special_DrawElevatorCurrentFloorWindow - def_special nullsub_75 - def_special Special_CheckPartyPokerus - def_special Special_SetIcefallCaveCrackedIceMetatiles - def_special Special_ShakeScreen - def_special Special_StartGroudonKyogreBattle - def_special Special_StartLegendaryBattle - def_special Special_StartRegiBattle + def_special NullFieldSpecial + def_special PlayerHasGrassPokemonInParty + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special IsStarterFirstStageInParty + def_special NullFieldSpecial + def_special IsThereRoomInAnyBoxForMorePokemon + def_special NullFieldSpecial + def_special DrawElevatorCurrentFloorWindow + def_special NullFieldSpecial + def_special IsPokerusInParty + def_special SetIcefallCaveCrackedIceMetatiles + def_special ShakeScreen + def_special StartGroudonKyogreBattle + def_special StartLegendaryBattle + def_special StartRegiBattle def_special SetUpTrainerMovement - def_special nullsub_75 - def_special nullsub_75 - def_special sub_807B6C0 + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special StartDroughtWeatherBlend def_special DoDiveWarp def_special DoFallWarp - def_special nullsub_75 - def_special nullsub_75 + def_special NullFieldSpecial + def_special NullFieldSpecial def_special SetEReaderTrainerGfxId - def_special ScrSpecial_StartSouthernIslandBattle - def_special nullsub_75 - def_special nullsub_75 - def_special nullsub_75 - def_special Special_GetSpeciesOfPartySlot_x8004 - def_special Special_IsSelectedMonEgg - def_special nullsub_75 - def_special nullsub_75 + def_special StartSouthernIslandBattle + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special NullFieldSpecial + def_special GetPartyMonSpecies + def_special IsSelectedMonEgg + def_special NullFieldSpecial + def_special NullFieldSpecial def_special LoadPlayerBag - def_special sub_807F0B0 - def_special nullsub_75 - def_special nullsub_75 + def_special Script_FadeOutMapMusic + def_special NullFieldSpecial + def_special NullFieldSpecial def_special HasAllKantoMons - def_special Special_IsMonOTNameNotPlayers - def_special nullsub_75 + def_special IsMonOTNameNotPlayers + def_special NullFieldSpecial def_special Dummy_TryEnableBravoTrainerBattleTower - def_special GetNameOfEnigmaBerryInPlayerParty - def_special nullsub_75 + def_special DoesPartyHaveEnigmaBerry + def_special NullFieldSpecial def_special sub_810B82C - def_special ScrSpecial_StartMarowakBattle - def_special Special_ForcePlayerOntoBike - def_special Special_ListMenu - def_special Special_ReturnToListMenu + def_special StartMarowakBattle + def_special ForcePlayerOntoBike + def_special ListMenu + def_special ReturnToListMenu def_special sub_80CADC4 - def_special Special_SetVermilionTrashCans + def_special SetVermilionTrashCans def_special sub_805D1A8 - def_special Special_SampleResortGorgeousMonAndReward - def_special Special_CheckAddCoins + def_special SampleResortGorgeousMonAndReward + def_special CheckAddCoins def_special GetDaycarePokemonCount - def_special Special_CloseElevatorCurrentFloorWindow - def_special Special_ForcePlayerToStartSurfing - def_special ScrSpecial_GetStarter - def_special Special_SetSeenMon + def_special CloseElevatorCurrentFloorWindow + def_special ForcePlayerToStartSurfing + def_special GetStarterSpecies + def_special SetSeenMon def_special sub_810C444 def_special ShouldShowBoxWasFullMessage def_special ChangeBoxPokemonNickname - def_special Special_UpdateTrainerCardPhotoIcons - def_special Special_StickerLadyGetBragFlags + def_special UpdateTrainerCardPhotoIcons + def_special StickerManGetBragFlags def_special SetUsedPkmnCenterQuestLogEvent def_special IsWirelessAdapterConnected def_special TryBecomeLinkLeader def_special TryJoinLinkGroup def_special UnionRoomSpecial - def_special sub_814F1D4 + def_special ShowWirelessCommunicationScreen def_special EnableNationalPokedex def_special sub_80699E0 def_special sub_80699BC def_special sub_810C3A4 def_special SetFlavorTextFlagFromSpecialVars def_special UpdatePickStateFromSpecialVar8005 - def_special Special_OverworldWhiteOutGetMoneyLoss + def_special OverworldWhiteOutGetMoneyLoss def_special PutMonInRoute5Daycare def_special GetCostToWithdrawRoute5DaycareMon def_special IsThereMonInRoute5Daycare def_special GetNumLevelsGainedForRoute5DaycareMon def_special TakePokemonFromRoute5Daycare def_special DoSeagallopFerryScene - def_special Special_PlayerPartyContainsSpecies - def_special Special_SetSomeVariable - def_special HelpSystem_BackupSomeVariable - def_special HelpSystem_RestoreSomeVariable + def_special DoesPlayerPartyContainSpecies + def_special Script_SetHelpContext + def_special BackupHelpContext + def_special RestoreHelpContext def_special ValidateReceivedWonderCard def_special sub_810B810 def_special InitUnionRoom def_special BufferUnionRoomPlayerName def_special sub_811390C - def_special Special_GetMartClerkObjectId - def_special Special_BattleCardAction - def_special Special_GetQuestLogState + def_special GetMartClerkObjectId + def_special BattleCardAction + def_special GetQuestLogState def_special sub_8112364 - def_special Special_GetMENewsJisanItemAndState + def_special GetMENewsJisanItemAndState def_special GetPCBoxToSendMon - def_special Special_OpenMuseumFossilPic - def_special Special_CloseMuseumFossilPic + def_special OpenMuseumFossilPic + def_special CloseMuseumFossilPic def_special ChooseMonForMoveTutor def_special ChooseMonForWirelessMinigame def_special SetBattledTrainerFlag - def_special sub_812B35C - def_special Special_SSAnneDepartureCutscene + def_special SetHelpContextForMap + def_special DoSSAnneDepartureCutscene def_special IsPokemonJumpSpeciesInParty def_special IsNationalPokedexEnabled - def_special sub_815D9E8 + def_special CallTrainerTowerFunc def_special ShowPokemonJumpRecords - def_special Special_ItemIsTM_GetMoveName - def_special Special_DaisyMassageServices + def_special BufferTMHMMoveName + def_special DaisyMassageServices def_special HelpSystem_Disable def_special HelpSystem_Enable def_special sub_810B82C def_special CheckHasAtLeastOneBerry def_special DisplayBerryPowderVendorMenu def_special RemoveBerryPowderVendorMenu - def_special Special_HasEnoughBerryPowder - def_special Special_TakeBerryPowder + def_special Script_HasEnoughBerryPowder + def_special Script_TakeBerryPowder def_special PrintPlayerBerryPowderAmount - def_special Special_PokemonLeagueLightingEffect + def_special DoPokemonLeagueLightingEffect def_special ShowBerryCrushRankings - def_special Special_CapeBrinkGetMoveToTeachLeadPokemon - def_special Special_HasLearnedAllMovesFromCapeBrinkTutor - def_special Special_Credits + def_special CapeBrinkGetMoveToTeachLeadPokemon + def_special HasLearnedAllMovesFromCapeBrinkTutor + def_special DoCredits def_special ShowDodrioBerryPickingRecords - def_special Special_DrawSeagallopDestinationMenu - def_special Special_GetSelectedSeagallopDestination + def_special DrawSeagallopDestinationMenu + def_special GetSelectedSeagallopDestination def_special GetSeagallopNumber def_special GetPlayerFacingDirection - def_special DoDeoxysRockInteraction - def_special Special_SetDeoxysTriangleObjectPal + def_special DoDeoxysTriangleInteraction + def_special SetDeoxysTrianglePalette def_special IsPlayerLeftOfVermilionSailor - def_special Special_BadEggInParty - def_special sub_815D834 + def_special IsBadEggInParty + def_special ReadTrainerTowerAndValidate def_special HasAllMons - def_special Special_PlayerIsNotInTrainerTowerLobby - def_special Special_BrailleCursorToggle + def_special IsPlayerNotInTrainerTowerLobby + def_special BrailleCursorToggle def_special Script_ResetUnionRoomTrade - def_special Special_PlayerPartyContainsSpeciesWithPlayerID - def_special sub_809C4A8 + def_special PlayerPartyContainsSpeciesWithPlayerID + def_special AnimateTeleporterHousing def_special IsDodrioInParty - def_special sub_809C5FC - def_special Special_InitElevatorFloorSelectMenuPos - def_special Special_ComputeLoreleiDollCollection - def_special Special_LoopWingFlapSound + def_special AnimateTeleporterCable + def_special InitElevatorFloorSelectMenuPos + def_special UpdateLoreleiDollCollection + def_special LoopWingFlapSound def_special CreateObedientEnemyMon gSpecialsEnd:: diff --git a/data/strings.s b/data/strings.s deleted file mode 100644 index 5cff90fcd..000000000 --- a/data/strings.s +++ /dev/null @@ -1,4845 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 -gExpandedPlaceholder_Empty:: @ 8415A20 - .string "$" - -gExpandedPlaceholder_Kun:: @ 8415A21 - .string "$" - -gExpandedPlaceholder_Chan:: @ 8415A22 - .string "$" - -gExpandedPlaceholder_Sapphire:: @ 0x8415A23 - .string "SAPPHIRE$" - -gExpandedPlaceholder_Ruby:: @ 8415A2C - .string "RUBY$" - -gExpandedPlaceholder_Aqua:: @ 8415A31 - .string "AQUA$" - -gExpandedPlaceholder_Magma:: @ 8415A36 - .string "MAGMA$" - -gExpandedPlaceholder_Archie:: @ 8415A3C - .string "ARCHIE$" - -gExpandedPlaceholder_Maxie:: @ 8415A43 - .string "MAXIE$" - -gExpandedPlaceholder_Kyogre:: @ 8415A49 - .string "KYOGRE$" - -gExpandedPlaceholder_Groudon:: @ 8415A50 - .string "GROUDON$" - -gExpandedPlaceholder_Red:: @ 8415A58 - .string "RED$" - -gExpandedPlaceholder_Green:: @ 8415A5C - .string "GREEN$" - -gText_EggNickname:: @ 8415A62 - .string "EGG$" - -gStartMenuText_Pokemon:: @ 8415A66 - .string "POKéMON$" - -gText_NewGame:: @ 8415A6E - .string "NEW GAME$" - -gText_Continue:: @ 8415A77 - .string "CONTINUE$" - -gTextJP_Options:: @ 0x8415A80 - .string "せっていを かえる$" - -gUnusedText_MysteryGift:: @ 0x8415A8A - .string "MYSTERY GIFT$" - -gText_MysteryGift:: @ 8415A97 - .string "MYSTERY GIFT$" - -gText_WirelessAdapterIsNotConnected:: @ 8415AA4 - .string "The Wireless Adapter is not\n" - .string "connected.$" - -gText_MysteryGiftCantBeUsedWhileWirelessAdapterIsAttached:: @ 8415ACB - .string "MYSTERY GIFT can't be used while\n" - .string "the Wireless Adapter is attached.$" - -gUnknown_8415B0E:: @ 0x8415B0E - .string "がいぶデ-タにより レポ-トを こうしんします\n" - .string "しばらく おまちください$" - -gUnknown_8415B33:: @ 0x8415B33 - .string "レポ-トが こうしんされました!$" - -gUnknown_8415B44:: @ 0x8415B44 - .string "レポ-トが こうしんされました!\p" - .string "これいじょう\n" - .string "レポ-トが かききれないので\l" - .string "バックアップカ-トリッジを\l" - .string "こうかんしてください!\p" - .string "くわしくは\n" - .string "にんてんどう サ-ビスセンタ- まで\l" - .string "おといあわせ ください$" - -gUnknown_8415BAA:: @ 0x8415BAA - .string "レポ-トの こうしんは\n" - .string "しっぱいしました!\p" - .string "バックアップカ-トリッジを\n" - .string "こうかんしてください!\p" - .string "くわしくは\n" - .string "にんてんどう サ-ビスセンタ- まで\l" - .string "おといあわせ ください$" - -gText_SaveFileCorruptedPrevWillBeLoaded:: @ 8415BFF - .string "The save file is corrupted.\p" - .string "The previous save file will be\n" - .string "loaded.$" - -gText_SaveFileHasBeenDeleted:: @ 8415C42 - .string "The save file has been\n" - .string "deleted...$" - -gText_1MSubCircuitBoardNotInstalled:: @ 8415C64 - .string "The 1M sub-circuit board is\n" - .string "not installed.$" - -gTextJP_InternalBatteryHasRunDry:: @ 0x8415C8F - .string "でんちぎれの ために\n" - .string "とけいが うごかなくなりました\p" - .string "とけいに かんけいする できごとは おきませんが\n" - .string "ゲ-ムを つづけて あそぶことは できます$" - -gUnknown_8415CD9:: @ 0x8415CD9 - .string "しゅじんこう$" - -gUnknown_8415CE0:: @ 0x8415CE0 - .string "ポケモンずかん$" - -gText_MainMenuTime:: @ 8415CE8 - .string "TIME$" - -gUnknown_8415CED:: @ 0x8415CED - .string "もっているバッジ$" - -gUnknown_8415CF6:: @ 0x8415CF6 - .string "Aボタン$" - -gUnknown_8415CFB:: @ 0x8415CFB - .string "Bボタン$" - -gUnknown_8415D00:: @ 0x8415D00 - .string "Rボタン$" - -gUnknown_8415D05:: @ 0x8415D05 - .string "Lボタン$" - -gUnknown_8415D0A:: @ 0x8415D0A - .string "スタ-トボタン$" - -gUnknown_8415D12:: @ 0x8415D12 - .string "セレクトボタン$" - -gUnknown_8415D1A:: @ 0x8415D1A - .string "じゅうじボタン$" - -gUnknown_8415D22:: @ 0x8415D22 - .string "Lボタン Rボタン$" - -gText_Controls:: @ 8415D2C - .string "CONTROLS$" - - .align 2 -gUnknown_8415D38:: @ 8415D2C - .string "{DPAD_UPDOWN}えらぶ {A_BUTTON}けってい$" - - .align 2 -gText_ABUTTONNext:: @ 8415D48 - .string "{A_BUTTON}NEXT$" - - .align 2 -gText_ABUTTONNext_BBUTTONBack:: @ 8415D50 - .string "{A_BUTTON}NEXT {B_BUTTON}BACK$" - - .align 2 -gText_UPDOWNPick_ABUTTONNext_BBUTTONBack:: @ 8415D60 - .string "{DPAD_UPDOWN}PICK {A_BUTTON}NEXT {B_BUTTON}CANCEL$" - - .align 2 -gText_UPDOWNPick_ABUTTONBBUTTONCancel:: @ 8415D78 - .string "{DPAD_UPDOWN}PICK {A_BUTTON}{B_BUTTON}CANCEL$" - - .align 2 -gText_ABUTTONExit:: @ 8415D8C - .string "{A_BUTTON}EXIT$" - -gText_Boy:: @ 8415D93 - .string "BOY$" - -gText_Girl:: @ 8415D97 - .string "GIRL$" - -gUnknown_8415D9C:: @ 8415D9C - .string "POKéDEX TABLE OF CONTENTS$" - -gUnknown_8415DB8:: @ 8415DB8 - .string "{DPAD_UPDOWN}PICK {A_BUTTON}OK$" - -gUnknown_8415DC4:: @ 8415DC4 - .string "Seen:$" - -gUnknown_8415DCA:: @ 8415DCA - .string "Owned:$" - -gUnknown_8415DD1:: @ 8415DD1 - .string "KANTO$" - -gUnknown_8415DD7:: @ 8415DD7 - .string "NATIONAL$" - -gUnknown_8415DE0:: @ 0x8415DE0 - .string "{COLOR WHITE2}{SHADOW LIGHT_BLUE}POKéMON HABITATS$" - -gText_DexCategory_GrasslandPkmn:: @ 0x8415DF7 - .string "Grassland POKéMON$" - -gText_DexCategory_ForestPkmn:: @ 0x8415E09 - .string "Forest POKéMON$" - -gText_DexCategory_WatersEdgePkmn:: @ 0x8415E18 - .string "Water's-edge POKéMON$" - -gText_DexCategory_SeaPkmn:: @ 0x8415E2D - .string "Sea POKéMON$" - -gText_DexCategory_CavePkmn:: @ 0x8415E39 - .string "Cave POKéMON$" - -gText_DexCategory_MountainPkmn:: @ 0x8415E46 - .string "Mountain POKéMON$" - -gText_DexCategory_RoughTerrainPkmn:: @ 0x8415E57 - .string "Rough-terrain POKéMON$" - -gText_DexCategory_UrbanPkmn:: @ 0x8415E6D - .string "Urban POKéMON$" - -gText_DexCategory_RarePkmn:: @ 0x8415E7B - .string "Rare POKéMON$" - -gUnknown_8415E88:: @ 0x8415E88 - .string "{COLOR WHITE2}{SHADOW LIGHT_BLUE}SEARCH$" - -gUnknown_8415E95:: @ 0x8415E95 - .string "NUMERICAL MODE$" - -gUnknown_8415EA4:: @ 0x8415EA4 - .string "A TO Z MODE$" - -gUnknown_8415EB0:: @ 0x8415EB0 - .string "{COLOR WHITE2}{SHADOW LIGHT_BLUE}OTHER$" - -gUnknown_8415EBC:: @ 0x8415EBC - .string "ずかんの つかいかた$" - -gUnknown_8415EC7:: @ 0x8415EC7 - .string "CLOSE POKéDEX$" - -gUnknown_8415ED5:: @ 0x8415ED5 - .string "TYPE MODE$" - -gUnknown_8415EDF:: @ 0x8415EDF - .string "LIGHTEST MODE$" - -gUnknown_8415EED:: @ 0x8415EED - .string "SMALLEST MODE$" - -gUnknown_8415EFB:: @ 0x8415EFB - .string "{COLOR WHITE2}{SHADOW LIGHT_BLUE}POKéMON LIST$" - -gUnknown_8415F0E:: @ 0x8415F0E - .string "NUMERICAL MODE: KANTO$" - -gUnknown_8415F24:: @ 0x8415F24 - .string "NUMERICAL MODE: NATIONAL$" - -gUnknown_8415F3D:: @ 8415F3D - .string "POKéMON LIST$" - -gUnknown_8415F4A:: @ 8415F4A - .string "SEARCH$" - -gText_PickOKExit:: @ 8415F51 - .string "{DPAD_UPDOWN}PICK {A_BUTTON}OK {B_BUTTON}CANCEL$" - -gUnknown_8415F66:: @ 8415F66 - .string "-----$" - -gUnknown_8415F6C:: @ 8415F6C - .string "{DPAD_LEFTRIGHT}PICK{PLUS}FLIP PAGE {A_BUTTON}CHECK {B_BUTTON}CANCEL$" - -gUnknown_8415F8F:: @ 8415F8F - .string " POKéMON$" - -gUnknown_8415F98:: @ 8415F98 - .string "HT$" - -gUnknown_8415F9B:: @ 8415F9B - .string "WT$" - -gUnknown_8415F9E:: @ 0x8415F9E - .string "”$" - -gUnknown_8415FA0:: @ 8415FA0 - .string "lbs.$" - -gUnknown_8415FA5:: @ 0x8415FA5 - .string "ポケモンデ-タ$" - -gUnknown_8415FAD:: @ 8415FAD - .string "{START_BUTTON}CRY$" - -gUnknown_8415FB3:: @ 8415FB3 - .string "{A_BUTTON}NEXT DATA {B_BUTTON}CANCEL$" - -gUnknown_8415FC8:: @ 8415FC8 - .string "{A_BUTTON}NEXT$" - -gUnknown_8415FCF:: @ 8415FCF - .string "{A_BUTTON}CANCEL {B_BUTTON}PREVIOUS DATA$" - -gUnknown_8415FE8:: @ 8415FE8 - .string "AREA$" - -gUnknown_8415FED:: @ 8415FED - .string "SIZE$" - -gUnknown_8415FF2:: @ 8415FF2 - .string "AREA UNKNOWN$" - -gUnknown_8415FFF:: @ 8415FFF - .string "{NO}$" - -gUnknown_8416002:: @ 8416002 - .string "PAGE$" - - .align 2 -gText_WelcomeToHOF:: @ 8416008 - .string "Welcome to the HALL OF FAME!$" - - .align 2 -gUnknown_8416028:: @ 0x8416028 - .string "みつけた ポケモン {STR_VAR_1}!\n" - .string "つかまえた ポケモン {STR_VAR_2}!\p" - .string "オダマキはかせの\n" - .string "ポケモンずかん ひょうか!\p" - .string "オダマキ“どれどれ\p" - .string "$" - - .align 2 -gUnknown_8416068:: @ 0x8416068 - .string "ここまでの レポ-トを かきしるしています!\n" - .string "でんげんを きらないでください$" - - .align 2 -gText_HOFCorrupted:: @ 8416090 - .string "The HALL OF FAME data is\n" - .string "corrupted.$" - -gText_HOFNumber:: @ 84160B4 - .string "HALL OF FAME No. {STR_VAR_1}$" - -gText_LeagueChamp:: @ 84160C8 - .string "LEAGUE CHAMPION!\n" - .string "CONGRATULATIONS!$" - - .align 2 -gText_Number:: @ 84160EC - .string "No. $" - - .align 2 -gText_Level:: @ 84160F4 - .string "Lv. $" - - .align 2 -gText_Name:: @ 84160FC - .string "NAME$" - - .align 2 -gText_IDNumber:: @ 8416104 - .string "IDNo.$" - -gUnknown_841610A:: @ 0x841610A - .string "{HIGHLIGHT WHITE2}{COLOR DARK_GREY}オダマキはかせが ピンチだ!\n" - .string "ポケモンを だして たすけてあげよう!$" - -gUnknown_8416133:: @ 0x8416133 - .string "{HIGHLIGHT WHITE2}{COLOR DARK_GREY}このポケモンにしますか?$" - -gUnknown_8416146:: @ 0x8416146 - .string "ポケモン$" - -gText_SaveError_PleaseExchangeBackupMemory:: @ 841614B - .string "Save error.\p" - .string "Please exchange the\n" - .string "backup memory.$" - -gSaveStatName_Player:: @ 841617A - .string "PLAYER$" - -gSaveStatName_Badges:: @ 8416181 - .string "BADGES$" - -gSaveStatName_Pokedex:: @ 8416188 - .string "POKéDEX$" - -gSaveStatName_Time:: @ 8416190 - .string "TIME$" - -gUnknown_8416195:: - .string "どこへ とびますか?$" - -gOtherText_Use:: - .string "USE$" - -gOtherText_Toss:: - .string "TOSS$" - -gOtherText_Register:: - .string "REGISTER$" - -gOtherText_Give:: - .string "GIVE$" - -gUnknown_84161B7:: - .string "けってい$" - -gOtherText_Walk:: - .string "WALK$" - -gFameCheckerText_Cancel:: @ 84161C1 - .string "CANCEL$" - -gOtherText_Exit:: @ 84161C8 - .string "EXIT$" - -gString_Dummy:: @ 84161CD - .string "$" - -gUnknown_84161CE:: - .string "キャンセル$" - -gText_Item:: - .string "ITEM$" - -gText_Mail:: - .string "MAIL$" - -gText_Take:: - .string "TAKE$" - -gText_Store:: - .string "STORE$" - -gOtherText_Check:: - .string "CHECK$" - -gUnknown_84161EF:: @ 84161EF - .string "NONE$" - -gOtherText_Open:: - .string "OPEN$" - -gOtherText_Deselect:: - .string "DESELECT$" - -gUnknown_8416202:: @ 8416202 - .string "???$" - -gUnknown_8416206:: - .string "?????$" - -gText_Slash:: @ 841620C - .string "/$" - -gUnknown_841620E:: @ 841620E - .string "-$" - -gUnknown_8416210:: @ 8416210 - .string "--$" - -gText_ThreeHyphens:: @ 8416213 - .string "---$" - -gText_SevenHyphens:: @ 8416217 - .string "-------$" - -gText_MaleSymbol:: @ 841621F - .string "♂$" - -gText_FemaleSymbol:: @ 8416221 - .string "♀$" - -gText_Lv:: @ 8416223 - .string "{LV_2}$" - -gOtherText_UnkF9_08_Clear_01:: @ 8416226 - .string "{NO}{CLEAR 0x01}$" - -gUnknown_841622C:: - .string "{PLUS}$" - -gUnknown_841622F:: - .string "{ESCAPE 0x03}$" - -gUnknown_8416233:: - .string "{ID}{NO}$" - -gUnknown_8416238:: @ 8416238 - .string "{PP}$" - -gFameCheckerText_ListMenuCursor:: @ 841623B - .string "▶$" - -gUnknown_841623D:: @ 841623D - .string "YES\n" - .string "NO$" - -gText_GoBackToThePreviousMenu:: - .string "Go back to the\n" - .string "previous menu.$" - -gText_WhatWouldYouLikeToDo:: @ 8416262 - .string "What would you like to do?$" - -gStartMenuText_Pokedex:: - .string "POKéDEX$" - -gStartMenuText_Bag:: @ 8416285 - .string "BAG$" - -gUnknown_8416289:: - .string "ポケナビ$" - -gStartMenuText_Player:: - .string "{PLAYER}$" - -gStartMenuText_Save:: - .string "SAVE$" - -gStartMenuText_Option:: - .string "OPTION$" - -gStartMenuText_Exit:: - .string "EXIT$" - -gStartMenuText_Retire:: - .string "RETIRE$" - -gUnknown_84162A9:: @ 84162A9 - .string "{STR_VAR_1}/{STR_VAR_2}\n" - .string "BALLS {STR_VAR_3}$" - -gText_TimesStrVar1:: @ 84162B9 - .string "×{STR_VAR_1}$" - -gUnknown_84162BD:: @ 84162BD - .string " BERRY$" - -gText_Coins:: @ 84162C4 - .string "{STR_VAR_1} COINS$" - -gText_Items2:: @ 0x84162CD - .string "ITEMS$" - -gText_PokeBalls2:: @ 0x84162D3 - .string "POKé BALLS$" - -gText_KeyItems2:: @ 0x84162DE - .string "KEY ITEMS$" - -gText_DepositItem:: @ 84162E8 - .string "DEPOSIT ITEM$" - -gText_CloseBag:: @ 84162F5 - .string "CLOSE BAG$" - -gOtherText_StrVar1:: @ 84162FF - .string "{STR_VAR_1}" - -gText_IsSelected:: @ 8416301 - .string " is\n" - .string "selected.$" - -gText_CantWriteMailHere:: @ 841630F - .string "You can't write\n" - .string "MAIL here.$" - -gText_ThereIsNoPokemon:: @ 841632A - .string "There is no\n" - .string "POKéMON.$" - -gOtherText_WhereShouldTheStrVar1BePlaced:: @ 841633F - .string "Where should the {STR_VAR_1}\n" - .string "be placed?$" - -gText_ItemCantBeHeld:: @ 841635E - .string "The {STR_VAR_1} can't be held.$" - -gText_TheStrVar1CantBeHeldHere:: @ 8416374 - .string "The {STR_VAR_1} can't be held\n" - .string "here.$" - -gText_DepositHowManyStrVars1:: @ 841638F - .string "Deposit how many\n" - .string "{STR_VAR_1}(s)?$" - -gText_DepositedStrVar2StrVar1s:: @ 84163A7 - .string "Deposited {STR_VAR_2}\n" - .string "{STR_VAR_1}(s).$" - -gText_NoRoomToStoreItems:: @ 84163BB - .string "There's no room to\n" - .string "store items.$" - -gText_TossOutHowManyStrVar1s:: @ 84163DB - .string "Toss out how many\n" - .string "{STR_VAR_1}(s)?$" - -gText_ThrewAwayStrVar2StrVar1s:: @ 84163F4 - .string "Threw away {STR_VAR_2}\n" - .string "{STR_VAR_1}(s).$" - -gText_ThrowAwayStrVar2OfThisItemQM:: @ 8416409 - .string "Throw away {STR_VAR_2} of\n" - .string "this item?$" - -gUnknown_8416425:: @ 8416425 - .string "OAK: {PLAYER}!\n" - .string "This isn't the time to use that!{PAUSE_UNTIL_PRESS}$" - -gUnknown_8416451:: @ 8416451 - .string "You can't dismount your BIKE here.{PAUSE_UNTIL_PRESS}$" - -gText_ItemfinderResponding:: @ 8416476 - .string "Huh?\n" - .string "The ITEMFINDER's responding!\p" - .string "There's an item buried around here!{PAUSE_UNTIL_PRESS}$" - -gText_ItemfinderShakingWildly:: @ 84164BE - .string "Oh!\n" - .string "The ITEMFINDER's shaking wildly!\p" - .string "There's an item buried underfoot!\p" - .string "‥ ‥ ‥ ‥ ‥ ‥{PAUSE_UNTIL_PRESS}$" - -gText_NopeTheresNoResponse:: @ 8416513 - .string "‥ ‥ ‥ ‥Nope!\n" - .string "There's no response.{PAUSE_UNTIL_PRESS}$" - -gUnknown_8416537:: @ 8416537 - .string "Your COINS:\n" - .string "{STR_VAR_1}{PAUSE_UNTIL_PRESS}$" - -gUnknown_8416548:: @ 0x8416548 - .string "わざマシンを きどうした!$" - -gUnknown_8416556:: @ 0x8416556 - .string "ひでんマシンを きどうした!$" - -gUnknown_8416565:: @ 0x8416565 - .string "なかには {STR_VAR_1}が\n" - .string "きろくされていた!\p" - .string "{STR_VAR_1}を\n" - .string "ポケモンに おぼえさせますか?$" - -gUnknown_841658C:: @ 841658C - .string "{PLAYER} used the\n" - .string "{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$" - -gUnknown_841659E:: @ 841659E - .string "But the effects of a REPEL\n" - .string "lingered from earlier.{PAUSE_UNTIL_PRESS}$" - -gUnknown_84165D2:: @ 84165D2 - .string "{PLAYER} used the\n" - .string "{STR_VAR_2}.\p" - .string "Wild POKéMON will be lured.{PAUSE_UNTIL_PRESS}$" - -gUnknown_8416600:: @ 8416600 - .string "{PLAYER} used the\n" - .string "{STR_VAR_2}.\p" - .string "Wild POKéMON will be repelled.{PAUSE_UNTIL_PRESS}$" - -gUnknown_8416631:: @ 8416631 - .string "The BOX is full.{PAUSE_UNTIL_PRESS}$" - -gUnknown_8416644:: @ 8416644 - .string "POWDER QTY: {STR_VAR_1}{PAUSE_UNTIL_PRESS}$" - -gOtherText_Powder:: @ 8416655 - .string "POWDER$" - -gUnknown_841665C:: @ 841665C - .string "Played the POKé FLUTE.\p" - .string "Now, that's a catchy tune!{PAUSE_UNTIL_PRESS}$" - -gUnknown_8416690:: @ 8416690 - .string "Played the POKé FLUTE.$" - -gUnknown_84166A7:: @ 84166A7 - .string "The POKé FLUTE awakened sleeping\n" - .string "POKéMON.{PAUSE_UNTIL_PRESS}$" - -gText_TMCase:: @ 84166D3 - .string "TM CASE$" - -gText_Close:: @ 84166DB - .string "CLOSE$" - -gText_TMCaseWillBePutAway:: @ 84166E1 - .string "The TM CASE will be\n" - .string "put away.$" - -gText_FontSize0:: @ 84166FF - .string "{SIZE 0}$" - -gText_FontSize2:: @ 8416703 - .string "{SIZE 2}$" - -gUnknown_8416707:: @ 8416707 - .string " $" - -gText_BerryPouch:: @ 841670A - .string "BERRY POUCH$" - -gText_TheBerryPouchWillBePutAway:: @ 8416716 - .string "The BERRY POUCH will be\n" - .string "put away.$" - -gText_ShopBuy:: @ 0x8416738 - .string "BUY$" - -gText_ShopSell:: @ 0x841673C - .string "SELL$" - -gText_ShopQuit:: @ 0x8416741 - .string "SEE YA!$" - -gText_InBagVar1:: @ 8416749 - .string "IN BAG:{SMALL} {STR_VAR_1}$" - -gText_QuitShopping:: @ 8416757 - .string "Quit shopping.$" - -gText_Var1CertainlyHowMany:: @ 8416766 - .string "{STR_VAR_1}? Certainly.\n" - .string "How many would you like?$" - -gText_Var1AndYouWantedVar2:: @ 841678E - .string "{STR_VAR_1}, and you want {STR_VAR_2}.\n" - .string "That will be ¥{STR_VAR_3}. Okay?$" - -gUnknown_84167BB:: @ 0x84167BB - .string "{STR_VAR_1} だね!\n" - .string "{STR_VAR_2}¥ だけど かうかい?$" - -gUnknown_84167D0:: @ 0x84167D0 - .string "{STR_VAR_1} ですね!\n" - .string "{STR_VAR_2}¥ だけど かいますか?$" - -gText_HereYouGoThankYou:: @ 84167E7 - .string "Here you are!\n" - .string "Thank you!$" - -gUnknown_8416800:: @ 0x8416800 - .string "どうも ありがとう!\n" - .string "じたくの パソコンに おくって おきますね!$" - -gUnknown_8416822:: @ 0x8416822 - .string "どうも ありがとう!\n" - .string "じたくの パソコンに おくって おくね!$" - -gText_YouDontHaveMoney:: @ 8416842 - .string "You don't have enough money.{PAUSE_UNTIL_PRESS}$" - -gText_NoMoreRoomForThis:: @ 8416861 - .string "You have no more room for this\n" - .string "item.{PAUSE_UNTIL_PRESS}$" - -gUnknown_8416888:: @ 0x8416888 - .string "{STR_VAR_1}を\n" - .string "いれる ばしょが いっぱいです{PAUSE_UNTIL_PRESS}$" - -gText_CanIHelpWithAnythingElse:: @ 841689E - .string "Is there anything else I can do?$" - -gUnknown_84168BF:: @ 0x84168BF - .string "その ほかに\n" - .string "なにか ちからに なれることは?$" - -gUnknown_84168D7:: @ 0x84168D7 - .string "プレミアボ-ル 1コ\n" - .string "おまけ しておきますね!{PAUSE_UNTIL_PRESS}$" - -gText_OhNoICantBuyThat:: @ 84168F1 - .string "{STR_VAR_1}? Oh, no.\n" - .string "I can't buy that.{PAUSE_UNTIL_PRESS}$" - -gText_HowManyWouldYouLikeToSell:: @ 8416911 - .string "{STR_VAR_1}?\n" - .string "How many would you like to sell?$" - -gText_ICanPayThisMuch_WouldThatBeOkay:: @ 8416936 - .string "I can pay ¥{STR_VAR_3}.\n" - .string "Would that be okay?$" - -gText_TurnedOverItemsWorthYen:: @ 8416959 - .string "Turned over the {STR_VAR_1}シSス\n" - .string "worth ¥{STR_VAR_3}.$" - -gText_PokedollarVar1:: @ 841697A - .string "¥{STR_VAR_1}$" - -gText_Shift:: @ 0x841697E - .string "SHIFT$" - -gText_SendOut:: @ 0x8416984 - .string "SEND OUT$" - -gText_Switch2:: @ 0x841698D - .string "SWITCH$" - -gText_Summary5:: @ 0x8416994 - .string "SUMMARY$" - -gUnknown_841699C:: @ 0x841699C - .string "つかえるわざ$" - -gText_Enter:: @ 0x84169A3 - .string "ENTER$" - -gText_NoEntry:: @ 0x84169A9 - .string "NO ENTRY$" - -gText_Take2:: @ 0x84169B2 - .string "TAKE$" - -gText_Read2:: @ 0x84169B7 - .string "READ$" - -gText_Trade4:: @ 0x84169BC - .string "TRADE$" - -gText_HP3:: @ 84169C2 - .string "HP$" - -gText_SpAtk3:: @ 84169C5 - .string "SP. ATK$" - -gText_SpDef3:: @ 84169CD - .string "SP. DEF$" - -gMenuText_Confirm:: @ 84169D5 - .string "OK$" - -gUnknown_84169D8:: @ 0x84169D8 - .string "$" - -gText_PauseUntilPress:: @ 84169D9 - .string "{PAUSE_UNTIL_PRESS}$" - -gText_WontHaveEffect:: @ 84169DC - .string "It won't have any effect.{PAUSE_UNTIL_PRESS}$" - -gUnknown_84169F8:: @ 84169F8 - .string "This can't be used on\n" - .string "that POKéMON.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnCantSwitchOut:: @ 8416A1E - .string "{STR_VAR_1} can't be switched\n" - .string "out!{PAUSE_UNTIL_PRESS}$" - -gText_PkmnAlreadyInBattle:: @ 8416A3A - .string "{STR_VAR_1} is already\n" - .string "in battle!{PAUSE_UNTIL_PRESS}$" - -gText_PkmnAlreadySelected:: @ 8416A55 - .string "{STR_VAR_1} has already been\n" - .string "selected.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnHasNoEnergy:: @ 8416A75 - .string "{STR_VAR_1} has no energy\n" - .string "left to battle!{PAUSE_UNTIL_PRESS}$" - -gText_CantSwitchWithAlly:: @ 8416A98 - .string "You can't switch {STR_VAR_1}'s\n" - .string "POKéMON with one of yours!{PAUSE_UNTIL_PRESS}$" - -gText_EggCantBattle:: @ 8416ACB - .string "An EGG can't battle!{PAUSE_UNTIL_PRESS}$" - -gText_CantUseUntilNewBadge:: @ 8416AE2 - .string "This can't be used until a new\n" - .string "BADGE is obtained.{PAUSE_UNTIL_PRESS}$" - -gUnknown_8416B16:: @ 8416B16 - .string "No more than three POKéMON\n" - .string "may enter.{PAUSE_UNTIL_PRESS}$" - -gUnknown_8416B3E:: @ 8416B3E - .string "No more than two POKéMON\n" - .string "may enter.{PAUSE_UNTIL_PRESS}$" - -gText_SendMailToPC:: @ 8416B64 - .string "Send the removed MAIL to\n" - .string "your PC?$" - -gText_MailSentToPC:: @ 8416B86 - .string "The MAIL was sent to your PC.{PAUSE_UNTIL_PRESS}$" - -gText_PCMailboxFull:: @ 8416BA6 - .string "Your PC's MAILBOX is full.{PAUSE_UNTIL_PRESS}$" - -gText_MailMessageWillBeLost:: @ 8416BC3 - .string "If the MAIL is removed, the\n" - .string "message will be lost. Okay?$" - -gText_RemoveMailBeforeItem:: @ 8416BFB - .string "MAIL must be removed before\n" - .string "holding an item.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnWasGivenItem:: @ 8416C2A - .string "{STR_VAR_1} was given the\n" - .string "{STR_VAR_2} to hold.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnAlreadyHoldingItemSwitch:: @ 8416C49 - .string "{STR_VAR_1} is already holding\n" - .string "one {STR_VAR_2}.\p" - .string "Would you like to switch the\n" - .string "two items?$" - -gText_PkmnNotHolding:: @ 8416C8F - .string "{STR_VAR_1} isn't holding\n" - .string "anything.{PAUSE_UNTIL_PRESS}$" - -gText_ReceivedItemFromPkmn:: @ 8416CAC - .string "Received the {STR_VAR_2}\n" - .string "from {STR_VAR_1}.{PAUSE_UNTIL_PRESS}$" - -gText_MailTakenFromPkmn:: @ 8416CC7 - .string "MAIL was taken from the\n" - .string "POKéMON.{PAUSE_UNTIL_PRESS}$" - -gText_SwitchedPkmnItem:: @ 8416CEA - .string "The {STR_VAR_2} was taken and\n" - .string "replaced with the {STR_VAR_1}.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnHoldingItemCantHoldMail:: @ 8416D17 - .string "This POKéMON is holding an\n" - .string "item. It cannot hold MAIL.{PAUSE_UNTIL_PRESS}$" - -gText_MailTransferredFromMailbox:: @ 8416D4F - .string "MAIL was transferred from\n" - .string "the MAILBOX.{PAUSE_UNTIL_PRESS}$" - -gText_BagFullCouldNotRemoveItem:: @ 8416D78 - .string "The {STR_VAR_1} is full. The POKéMON's\n" - .string "item could not be removed.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnLearnedMove3:: @ 8416DB3 - .string "{STR_VAR_1} learned\n" - .string "{STR_VAR_2}!$" - -gText_PkmnCantLearnMove:: @ 8416DC2 - .string "{STR_VAR_1} and {STR_VAR_2}\n" - .string "are not compatible.\p" - .string "{STR_VAR_2} can't be\n" - .string "learned.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnNeedsToReplaceMove:: @ 8416DF7 - .string "{STR_VAR_1} wants to learn the\n" - .string "move {STR_VAR_2}.\p" - .string "However, {STR_VAR_1} already\n" - .string "knows four moves.\p" - .string "Should a move be deleted and\n" - .string "replaced with {STR_VAR_2}?$" - -gText_StopLearningMove2:: @ 8416E6B - .string "Stop trying to teach\n" - .string "{STR_VAR_2}?$" - -gText_MoveNotLearned:: @ 8416E84 - .string "{STR_VAR_1} did not learn the\n" - .string "move {STR_VAR_2}.{PAUSE_UNTIL_PRESS}$" - -gText_WhichMoveToForget:: @ 8416EA4 - .string "Which move should be forgotten?{PAUSE_UNTIL_PRESS}$" - -gText_12PoofForgotMove:: @ 8416EC6 - .string "1, {PAUSE 0x0F}2, and{PAUSE 0x0F}‥ {PAUSE 0x0F}‥ {PAUSE 0x0F}‥ {PAUSE 0x0F}{PLAY_SE SE_KON}Poof!\p" - .string "{STR_VAR_1} forgot how to\n" - .string "use {STR_VAR_2}.\p" - .string "And...{PAUSE_UNTIL_PRESS}$" - -gText_PkmnAlreadyKnows:: @ 8416F10 - .string "{STR_VAR_1} already knows\n" - .string "{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnHPRestoredByVar2:: @ 8416F27 - .string "{STR_VAR_1}'s HP was restored\n" - .string "by {STR_VAR_2} point(s).{PAUSE_UNTIL_PRESS}$" - -gText_PkmnCuredOfPoison:: @ 8416F4E - .string "{STR_VAR_1} was cured of its\n" - .string "poisoning.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnCuredOfParalysis:: @ 8416F6F - .string "{STR_VAR_1} was cured of\n" - .string "paralysis.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnWokeUp2:: @ 8416F8C - .string "{STR_VAR_1} woke up.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnBurnHealed:: @ 8416F9A - .string "{STR_VAR_1}'s burn was healed.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnThawedOut:: @ 8416FB2 - .string "{STR_VAR_1} was thawed out.{PAUSE_UNTIL_PRESS}$" - -gText_PPWasRestored:: @ 8416FC7 - .string "PP was restored.{PAUSE_UNTIL_PRESS}$" - -gUnknown_8416FDA:: @ 0x8416FDA - .string "{STR_VAR_1}は\n" - .string "げんきを とりもどした!{PAUSE_UNTIL_PRESS}$" - -gText_PkmnBecameHealthy:: @ 8416FED - .string "{STR_VAR_1} became healthy.{PAUSE_UNTIL_PRESS}$" - -gText_MovesPPIncreased:: @ 8417002 - .string "{STR_VAR_1}'s PP increased.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnElevatedToLvVar2:: @ 8417017 - .string "{STR_VAR_1} was elevated to\n" - .string "Lv. {STR_VAR_2}.$" - -gText_PkmnBaseVar2StatIncreased:: @ 8417032 - .string "{STR_VAR_1}'s base {STR_VAR_2}\n" - .string "stat was raised.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnSnappedOutOfConfusion:: @ 8417052 - .string "{STR_VAR_1} snapped out of its\n" - .string "confusion.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnGotOverInfatuation:: @ 8417075 - .string "{STR_VAR_1} got over its\n" - .string "infatuation.{PAUSE_UNTIL_PRESS}$" - -gUnknown_8417094:: @ 0x8417094 - .string "That's your only\n" - .string "POKéMON for battle.$" - - .align 2 -gText_PkmnCantBeTradedNow:: @ 84170BC - .string "That POKéMON can't be traded\n" - .string "now.$" - - .align 2 -gText_EggCantBeTradedNow:: @ 84170E0 - .string "An EGG can't be traded now.$" - - .align 2 -gText_OtherTrainersPkmnCantBeTraded:: @ 0x84170FC - .string "The other TRAINER's POKéMON\n" - .string "can't be traded now.$" - - .align 2 -gText_OtherTrainerCantAcceptPkmn:: @ 0x8417130 - .string "The other TRAINER can't accept\n" - .string "that POKéMON now.$" - - .align 2 -gText_CantTradeWithTrainer:: @ 0x8417164 - .string "You can't trade with that\n" - .string "TRAINER now.$" - - .align 2 -gText_NotPkmnOtherTrainerWants:: @ 0x841718C - .string "That isn't the type of POKéMON\n" - .string "that the other TRAINER wants.$" - - .align 2 -gText_ThatIsntAnEgg:: @ 0x84171CC - .string "That isn't an EGG.$" - -gText_ChoosePokemon:: @ 0x84171DF - .string "Choose a POKéMON.$" - -gText_MoveToWhere:: @ 0x84171F1 - .string "Move to where?$" - -gText_TeachWhichPokemon:: @ 0x8417200 - .string "Teach which POKéMON?$" - -gText_UseOnWhichPokemon:: @ 0x8417215 - .string "Use on which POKéMON?$" - -gText_GiveToWhichPokemon:: @ 0x841722B - .string "Give to which POKéMON?$" - -gText_DoWhatWithPokemon:: @ 0x8417242 - .string "Do what with this {PKMN}?$" - -gText_NothingToCut:: @ 0x8417258 - .string "There's nothing to CUT.$" - -gText_CantSurfHere:: @ 0x8417270 - .string "No SURFING here!$" - -gText_AlreadySurfing:: @ 0x8417281 - .string "You're already SURFING.$" - -gText_CantUseHere:: @ 0x8417299 - .string "Can't use that here.$" - -gText_RestoreWhichMove:: @ 0x84172AE - .string "Restore which move?$" - -gText_BoostPp:: @ 0x84172C2 - .string "Boost PP of which?$" - -gText_DoWhatWithItem:: @ 0x84172D5 - .string "Do what with an item?$" - -gText_NoPokemonForBattle:: @ 0x84172EB - .string "No battling this way!$" - -gText_ChoosePokemon2:: @ 0x8417301 - .string "Choose a POKéMON.$" - -gText_NotEnoughHp:: @ 0x8417313 - .string "Not enough HP‥$" - -gText_ThreePkmnAreNeeded:: @ 0x8417322 - .string "Three {PKMN} are needed.$" - -gText_PokemonCantBeSame:: @ 0x8417337 - .string "{PKMN} can't be the same.$" - -gText_NoIdenticalHoldItems:: @ 0x841734D - .string "No same hold items!$" - -gText_CurrentIsTooFast:: @ 0x8417361 - .string "The current is much too fast!$" - -gText_DoWhatWithMail:: @ 0x841737F - .string "Do what with the MAIL?$" - -gText_ChoosePokemonCancel:: @ 0x8417396 - .string "Choose POKéMON or CANCEL.$" - -gText_ChoosePokemonConfirm:: @ 0x84173B0 - .string "Choose POKéMON and confirm.$" - -gText_TwoPokemonAreNeeded:: @ 0x84173CC - .string "Two POKéMON are needed.$" - -gText_EnjoyCycling:: @ 0x84173E4 - .string "Let's enjoy cycling!$" - -gText_InUseAlready_PM:: @ 0x84173F9 - .string "This is in use already.$" - -gText_NoUse:: @ 0x8417411 - .string "No use.$" - -gText_Able:: @ 0x8417419 - .string "ABLE$" - -gText_First_PM:: @ 0x841741E - .string "FIRST$" - -gText_Second_PM:: @ 0x8417424 - .string "SECOND$" - -gText_Third_PM:: @ 0x841742B - .string "THIRD$" - -gText_Able2:: @ 0x8417431 - .string "ABLE$" - -gText_NotAble:: @ 0x8417436 - .string "NOT ABLE$" - -gText_Able3:: @ 0x841743F - .string "ABLE!$" - -gText_NotAble2:: @ 0x8417445 - .string "NOT ABLE!$" - -gText_Learned:: @ 0x841744F - .string "LEARNED$" - -gUnknown_8417457:: @ 8417457 - .string "OAK: It's important to get to know\n" - .string "your POKéMON thoroughly.\p" - .string "$" - -gUnknown_8417494:: @ 8417494 - .string "This is a list of your POKéMON,\n" - .string "{PLAYER}.\p" - .string "Open this to check the skills\n" - .string "and moves of your POKéMON.\p" - .string "You also choose POKéMON here if\n" - .string "you want to use an item on one.{PAUSE_UNTIL_PRESS}$" - -gText_CutATreeOrGrass:: @ 0x8417533 - .string "Cut a tree or grass.$" - -gText_FlyToAKnownTown:: @ 0x8417548 - .string "Fly to a known town.$" - -gText_TravelOnWater:: @ 0x841755D - .string "Travel on water.$" - -gText_MoveHeavyBoulders:: @ 0x841756E - .string "Move heavy boulders.$" - -gText_LightUpDarkness:: @ 0x8417583 - .string "Light up darkness.$" - -gText_ShatterACrackedRock:: @ 0x8417596 - .string "Shatter a cracked rock.$" - -gText_ClimbAWaterfall:: @ 0x84175AE - .string "Climb a waterfall.$" - -gUnknown_84175C1:: @ 0x84175C1 - .string "すいちゅうに もぐる$" - -gText_EscapeFromHere:: @ 0x84175CC - .string "Escape from here.$" - -gText_LureWildPokemon:: @ 0x84175DE - .string "Lure wild POKéMON.$" - -gText_ShareHp:: @ 0x84175F1 - .string "Share HP.$" - -gText_ReturnToAHealingSpot:: @ 0x84175FB - .string "Return to a healing spot.$" - -gText_EscapeFromHereAndReturnTo:: @ 8417615 - .string "Want to escape from here and return\n" - .string "to {STR_VAR_1}?$" - -gText_ReturnToHealingSpot:: @ 8417640 - .string "Want to return to the healing spot\n" - .string "used last in {STR_VAR_1}?$" - -gText_Attack3:: @ 8417674 - .string "ATTACK$" - -gText_Defense3:: @ 841767B - .string "DEFENSE$" - -gUnknown_8417683:: @ 0x8417683 - .string "とくこう$" - -gUnknown_8417688:: @ 0x8417688 - .string "とくぼう$" - -gText_Speed2:: @ 841768D - .string "SPEED$" - -gUnknown_8417693:: @ 0x8417693 - .string "HP$" - -gText_PkmnCantParticipate:: @ 8417696 - .string "That POKéMON can't participate.{PAUSE_UNTIL_PRESS}$" - -gText_CancelParticipation:: @ 84176B8 - .string "Cancel participation?$" - -gUnknown_84176CE:: @ 0x84176CE - .string "$" - -gUnknown_84176CF:: @ 84176CF - .string "Cancel the battle?$" - -gText_TurnOff:: @ 0x84176E2 - .string "TURN OFF$" - -gUnknown_84176EB:: @ 0x84176EB - .string "もようがえ$" - -gText_ItemStorage:: @ 0x84176F1 - .string "ITEM STORAGE$" - -gText_Mailbox:: @ 84176FE - .string "MAILBOX$" - -gText_DepositItem2:: @ 0x8417706 - .string "DEPOSIT ITEM$" - -gText_WithdrawItem2:: @ 0x8417713 - .string "WITHDRAW ITEM$" - -gUnknown_8417721:: @ 0x8417721 - .string "どうぐを すてる$" - -gText_StoreItemsInThePC:: @ 0x841772A - .string "Store items in the PC.$" - -gText_TakeOutItemsFromThePC:: @ 0x8417741 - .string "Take out items from the PC.$" - -gUnknown_841775D:: @ 0x841775D - .string "パソコンに あずけている\n" - .string "どうぐを すてます$" - -gText_ThereAreNoItems:: @ 8417774 - .string "There are no items.{PAUSE_UNTIL_PRESS}$" - -gText_NoMoreRoomInBag:: @ 841778A - .string "There is no more\n" - .string "room in the BAG.$" - -gText_WithdrawHowMany:: @ 84177AC - .string "Withdraw how many\n" - .string "{STR_VAR_1}(s)?$" - -gText_WithdrewQuantItem:: @ 84177C5 - .string "Withdrew {STR_VAR_2}\n" - .string "{STR_VAR_1}(s).$" - -gOtherText_Read:: - .string "READ$" - -gOtherText_MoveToBag:: - .string "MOVE TO BAG$" - -gOtherText_Give2:: - .string "GIVE$" - -gText_TheresNoMailHere:: @ 84177EE - .string "There's no MAIL here.{PAUSE_UNTIL_PRESS}$" - -gText_WhatWouldYouLikeToDoWithPlayersMail:: @ 8417806 - .string "What would you like to do with\n" - .string "{STR_VAR_1}'s MAIL?$" - -gText_MessageWillBeLost:: @ 8417830 - .string "The message will be lost.\n" - .string "Is that okay?$" - -gText_BagIsFull:: @ 8417858 - .string "The BAG is full.{PAUSE_UNTIL_PRESS}$" - -gText_MailReturnedToBagMessageErased:: @ 841786B - .string "The MAIL was returned to the BAG\n" - .string "with its message erased.{PAUSE_UNTIL_PRESS}$" - -gText_WithdrawItem:: @ 84178A7 - .string "WITHDRAW\n" - .string "ITEM$" - -gText_Withdraw:: - .string "WITHDRAW$" - -gText_ReturnToPC:: @ 84178BE - .string "Return to the PC.$" - -gText_LtSurge:: @ 84178D0 - .string "LT. SURGE$" - -gText_Koga:: @ 84178DA - .string "KOGA$" - -gUnknown_84178DF:: @ 0x84178DF - .string "さんか する$" - -gText_Info:: @ 0x84178E6 - .string "INFO$" - -gText_Eggs:: @ 0x84178EB - .string "EGGS$" - -gText_HallOfFame:: @ 0x84178F0 - .string "HALL OF FAME$" - -gText_Victories:: @ 0x84178FD - .string "VICTORIES$" - -gText_Quit:: @ 0x8417907 - .string "QUIT$" - -gText_Psn:: @ 0x841790C - .string "PSN$" - -gText_Par:: @ 0x8417910 - .string "PAR$" - -gText_Slp:: @ 0x8417914 - .string "SLP$" - -gText_Brn:: @ 0x8417918 - .string "BRN$" - -gText_Frz:: @ 0x841791C - .string "FRZ$" - -gUnknown_8417920:: @ 0x8417920 - .string "TOXIC$" - -gUnknown_8417926:: @ 0x8417926 - .string "OK$" - -gOtherText_Quit:: @ 0x8417929 - .string "QUIT$" - -gUnknown_841792E:: @ 0x841792E - .string "みました$" - -gUnknown_8417933:: @ 0x8417933 - .string "これから$" - -gText_Yes:: @ 8417938 - .string "YES$" - -gText_No:: @ 841793C - .string "NO$" - -gUnknown_841793F:: @ 0x841793F - .string "せつめい$" - -gText_SingleBattle:: @ 0x8417944 - .string "SINGLE BATTLE$" - -gText_DoubleBattle:: @ 0x8417952 - .string "DOUBLE BATTLE$" - -gText_MultiBattle:: @ 0x8417960 - .string "MULTI BATTLE$" - -gText_MakeAChallenge:: @ 0x841796D - .string "Make a challenge.$" - -gText_Info_2:: @ 0x841797F - .string "INFO$" - -gText_FreshWater_200:: @ 0x8417984 - .string "FRESH WATER{CLEAR_TO 0x57}{SMALL}¥200$" - -gText_SodaPop_300:: @ 0x841799A - .string "SODA POP{CLEAR_TO 0x57}{SMALL}¥300$" - -gText_Lemonade_350:: @ 0x84179AD - .string "LEMONADE{CLEAR_TO 0x57}{SMALL}¥350$" - -gText_50Coins_1000:: @ 0x84179C0 - .string "{SMALL} 50 COINS{CLEAR_TO 0x45}¥1,000$" - -gText_500Coins_10000:: @ 0x84179D6 - .string "{SMALL}500 COINS{CLEAR_TO 0x40}¥10,000$" - -gText_Excellent:: @ 0x84179ED - .string "Excellent$" - -gText_NotSoBad:: @ 0x84179F7 - .string "Not so bad$" - -gText_RedShard:: @ 0x8417A02 - .string "RED SHARD$" - -gText_YellowShard:: @ 0x8417A0C - .string "YELLOW SHARD$" - -gText_BlueShard:: @ 0x8417A19 - .string "BLUE SHARD$" - -gText_GreenShard:: @ 0x8417A24 - .string "GREEN SHARD$" - -gUnknown_8417A30:: @ 0x8417A30 - .string "バトルタワ-$" - -gText_Right:: @ 0x8417A37 - .string "Right$" - -gText_Left:: @ 0x8417A3D - .string "Left$" - -gText_Tm13_4000Coins:: @ 0x8417A42 - .string "TM13{CLEAR_TO 0x48}{SMALL}4,000 COINS$" - -gText_Tm23_3500Coins:: @ 0x8417A58 - .string "TM23{CLEAR_TO 0x48}{SMALL}3,500 COINS$" - -gText_Tm24_4000Coins:: @ 0x8417A6E - .string "TM24{CLEAR_TO 0x48}{SMALL}4,000 COINS$" - -gText_Tm30_4500Coins:: @ 0x8417A84 - .string "TM30{CLEAR_TO 0x48}{SMALL}4,500 COINS$" - -gText_Tm35_4000Coins:: @ 0x8417A9A - .string "TM35{CLEAR_TO 0x48}{SMALL}4,000 COINS$" - -gText_1F_2:: @ 0x8417AB0 - .string "1F$" - -gText_2F_2:: @ 0x8417AB3 - .string "2F$" - -gText_3F_2:: @ 0x8417AB6 - .string "3F$" - -gText_4F_2:: @ 0x8417AB9 - .string "4F$" - -gText_5F_2:: @ 0x8417ABC - .string "5F$" - -gText_Cool:: @ 0x8417ABF - .string "COOL$" - -gText_Beauty:: @ 0x8417AC4 - .string "BEAUTY$" - -gText_Cute:: @ 0x8417ACB - .string "CUTE$" - -gText_Smart:: @ 0x8417AD0 - .string "SMART$" - -gText_Tough:: @ 0x8417AD6 - .string "TOUGH$" - -gText_Normal:: @ 0x8417ADC - .string "NORMAL$" - -gText_Black:: @ 0x8417AE3 - .string "BLACK$" - -gText_Pink:: @ 0x8417AE9 - .string "PINK$" - -gText_Sepia:: @ 0x8417AEE - .string "SEPIA$" - -gText_Cool_2:: @ 0x8417AF4 - .string "COOL$" - -gText_Beauty_2:: @ 0x8417AF9 - .string "BEAUTY$" - -gText_Cute_2:: @ 0x8417B00 - .string "CUTE$" - -gText_Smart_2:: @ 0x8417B05 - .string "SMART$" - -gText_Tough_2:: @ 0x8417B0B - .string "TOUGH$" - -gText_Items:: @ 0x8417B11 - .string "ITEMS$" - -gText_KeyItems:: @ 0x8417B17 - .string "KEY ITEMS$" - -gText_PokeBalls:: @ 0x8417B21 - .string "POKé BALLS$" - -gText_TMsAndHMs:: @ 0x8417B2C - .string "TMs & HMs$" - -gText_Berries:: @ 0x8417B36 - .string "BERRIES$" - -gText_Boulderbadge:: @ 0x8417B3E - .string "BOULDERBADGE$" - -gText_Cascadebadge:: @ 0x8417B4B - .string "CASCADEBADGE$" - -gText_Thunderbadge:: @ 0x8417B58 - .string "THUNDERBADGE$" - -gText_Rainbowbadge:: @ 0x8417B65 - .string "RAINBOWBADGE$" - -gText_Soulbadge:: @ 0x8417B72 - .string "SOULBADGE$" - -gText_Marshbadge:: @ 0x8417B7C - .string "MARSHBADGE$" - -gText_Volcanobadge:: @ 0x8417B87 - .string "VOLCANOBADGE$" - -gText_Earthbadge:: @ 0x8417B94 - .string "EARTHBADGE$" - -gText_SomeoneSPc:: @ 8417B9F - .string "SOMEONE'S PC$" - -gText_BillSPc:: @ 8417BAC - .string "BILL'S PC$" - -gText_SPc:: @ 8417BB6 - .string "{PLAYER}'s PC$" - -gText_HallOfFame_2:: @ 8417BBE - .string "HALL OF FAME$" - -gText_LogOff:: @ 8417BCB - .string "LOG OFF$" - -gText_ProfOakSPc:: @ 8417BD3 - .string "PROF. OAK's PC$" - -gText_Eevee:: @ 0x8417BE2 - .string "EEVEE$" - -gText_Flareon:: @ 0x8417BE8 - .string "FLAREON$" - -gText_Jolteon:: @ 0x8417BF0 - .string "JOLTEON$" - -gText_Vaporeon:: @ 0x8417BF8 - .string "VAPOREON$" - -gText_QuitLooking:: @ 0x8417C01 - .string "Quit looking.$" - -gText_FreshWater:: @ 0x8417C0F - .string "FRESH WATER$" - -gText_SodaPop:: @ 0x8417C1B - .string "SODA POP$" - -gText_Lemonade:: @ 0x8417C24 - .string "LEMONADE$" - -gText_Coins_2:: @ 8417C2D - .string "COINS$" - -gText_Bicycle_1000000:: @ 0x8417C33 - .string "BICYCLE{CLEAR_TO 0x49}{SMALL}¥1,000,000$" - -gText_NoThanks:: @ 0x8417C4B - .string "NO THANKS$" - -gText_Abra_180Coins:: @ 0x8417C55 - .string "ABRA{CLEAR_TO 0x55}{SMALL} 180 COINS$" - -gText_Clefairy_500Coins:: @ 0x8417C6A - .string "CLEFAIRY{CLEAR_TO 0x55}{SMALL} 500 COINS$" - -gText_Dratini_2800Coins:: @ 0x8417C83 - .string "DRATINI{CLEAR_TO 0x4B}{SMALL} 2,800 COINS$" - -gText_Scyther_5500Coins:: @ 0x8417C9D - .string "SCYTHER{CLEAR_TO 0x4B}{SMALL} 5,500 COINS$" - -gText_Porygon_9999Coins:: @ 0x8417CB7 - .string "PORYGON{CLEAR_TO 0x4B}{SMALL} 9,999 COINS$" - -gText_Abra_120Coins:: @ 0x8417CD1 - .string "ABRA{CLEAR_TO 0x55}{SMALL} 120 COINS$" - -gText_Clefairy_750Coins:: @ 0x8417CE6 - .string "CLEFAIRY{CLEAR_TO 0x55}{SMALL} 750 COINS$" - -gText_Pinsir_2500Coins:: @ 0x8417CFF - .string "PINSIR{CLEAR_TO 0x4B}{SMALL} 2,500 COINS$" - -gText_Dratini_4600Coins:: @ 0x8417D18 - .string "DRATINI{CLEAR_TO 0x4B}{SMALL} 4,600 COINS$" - -gText_Porygon_6500Coins:: @ 0x8417D32 - .string "PORYGON{CLEAR_TO 0x4B}{SMALL} 6,500 COINS$" - -gText_NoThanks_2:: @ 0x8417D4C - .string "NO THANKS$" - -gText_HelixFossil:: @ 0x8417D56 - .string "HELIX FOSSIL$" - -gText_DomeFossil:: @ 0x8417D63 - .string "DOME FOSSIL$" - -gText_OldAmber:: @ 0x8417D6F - .string "OLD AMBER$" - -gText_TradeCenter:: @ 0x8417D79 - .string "TRADE CENTER$" - -gText_Colosseum:: @ 0x8417D86 - .string "COLOSSEUM$" - -gText_GameLinkCable:: @ 0x8417D90 - .string "Game Link cable$" - -gText_Wireless:: @ 0x8417DA0 - .string "Wireless$" - -gText_ItemsPocket:: @ 0x8417DA9 - .string "ITEMS POCKET$" - -gText_KeyItemsPocket:: @ 0x8417DB6 - .string "KEY ITEMS POCKET$" - -gText_PokeBallsPocket:: @ 0x8417DC7 - .string "POKé BALLS POCKET$" - -gText_TmCase:: @ 0x8417DD9 - .string "TM CASE$" - -gText_BerryPouch_2:: @ 0x8417DE1 - .string "BERRY POUCH$" - -gText_Other:: @ 8417DED - .string "OTHER$" - -gText_OneIsland:: @ 0x8417DF3 - .string "ONE ISLAND$" - -gText_TwoIsland:: @ 0x8417DFE - .string "TWO ISLAND$" - -gText_ThreeIsland:: @ 0x8417E09 - .string "THREE ISLAND$" - -gText_FourIsland:: @ 0x8417E16 - .string "FOUR ISLAND$" - -gText_FiveIsland:: @ 0x8417E22 - .string "FIVE ISLAND$" - -gText_SixIsland:: @ 0x8417E2E - .string "SIX ISLAND$" - -gText_SevenIsland:: @ 0x8417E39 - .string "SEVEN ISLAND$" - -gText_Vermilion:: @ 0x8417E46 - .string "VERMILION$" - -gText_Colosseum_2:: @ 0x8417E50 - .string "COLOSSEUM$" - -gText_BerryCrush:: @ 0x8417E5A - .string "BERRY CRUSH$" - -gText_Dummy_8417E66:: @ 0x8417E66 - .string "$" - -gText_Dummy_8417E67:: @ 0x8417E67 - .string "$" - -gUnknown_8417E68:: @ 0x8417E68 - .string "せつめいを きく$" - -gText_Dummy_8417E71:: @ 0x8417E71 - .string "$" - -gText_PokemonJump:: @ 0x8417E72 - .string "POKéMON JUMP$" - -gText_DodrioBerryPicking:: @ 0x8417E7F - .string "DODRIO BERRY-PICKING$" - -gText_2Tinymushrooms:: @ 0x8417E94 - .string "2 TINYMUSHROOMS$" - -gText_1BigMushroom:: @ 0x8417EA4 - .string "1 BIG MUSHROOM$" - -gText_SeviiIslands:: @ 0x8417EB3 - .string "SEVII ISLANDS$" - -gText_NavelRock:: @ 0x8417EC1 - .string "NAVEL ROCK$" - -gText_BirthIsland:: @ 0x8417ECC - .string "BIRTH ISLAND$" - -gText_MiracleSeed_1000Coins:: @ 0x8417ED9 - .string "MIRACLE SEED{CLEAR_TO 0x50}{SMALL}1,000 COINS$" - -gText_Charcoal_1000Coins:: @ 0x8417EF7 - .string "CHARCOAL{CLEAR_TO 0x50}{SMALL}1,000 COINS$" - -gText_MysticWater_1000Coins:: @ 0x8417F11 - .string "MYSTIC WATER{CLEAR_TO 0x50}{SMALL}1,000 COINS$" - -gText_YellowFlute_1600Coins:: @ 0x8417F2F - .string "YELLOW FLUTE{CLEAR_TO 0x50}{SMALL}1,600 COINS$" - -gText_SmokeBall_800Coins:: @ 0x8417F4D - .string "SMOKE BALL{CLEAR_TO 0x5A}{SMALL}800 COINS$" - -gText_Dummy_8417F67:: @ 0x8417F67 - .string "$" - -gText_Dummy_8417F68:: @ 0x8417F68 - .string "$" - -gText_BecomeLeader:: @ 0x8417F69 - .string "BECOME LEADER$" - -gText_JoinGroup:: @ 0x8417F77 - .string "JOIN GROUP$" - -gOtherText_Single:: @ 0x8417F82 - .string "SINGLE$" - -gOtherText_Double:: @ 0x8417F89 - .string "DOUBLE$" - -gOtherText_Knockout:: @ 0x8417F90 - .string "KNOCKOUT$" - -gOtherText_Mixed:: @ 0x8417F99 - .string "MIXED$" - -gUnknown_8417F9F:: @ 0x8417F9F - .string "99かい いじょう$" - -gUnknown_8417FA9:: @ 0x8417FA9 - .string "1ぷん いじょう$" - -gUnknown_8417FB2:: @ 0x8417FB2 - .string "びょう$" - -gUnknown_8417FB6:: @ 0x8417FB6 - .string "かい$" - -gText_DecimalPoint:: @ 8417FB9 - .string ".$" - -gText_BigGuy:: @ 8417FBB - .string "Big guy$" - -gText_BigGirl:: @ 8417FC3 - .string "Big girl$" - -gText_Daughter:: @ 8417FCC - .string "son$" - -gText_Son:: @ 8417FD0 - .string "daughter$" - -gText_BoulderBadge:: @ 0x8417FD9 - .string "BOULDERBADGE$" - -gText_CascadeBadge:: @ 0x8417FE6 - .string "CASCADEBADGE$" - -gText_ThunderBadge:: @ 0x8417FF3 - .string "THUNDERBADGE$" - -gText_RainbowBadge:: @ 0x8418000 - .string "RAINBOWBADGE$" - -gText_SoulBadge:: @ 0x841800D - .string "SOULBADGE$" - -gText_MarshBadge:: @ 0x8418017 - .string "MARSHBADGE$" - -gText_VolcanoBadge:: @ 0x8418022 - .string "VOLCANOBADGE$" - -gText_EarthBadge:: @ 0x841802F - .string "EARTHBADGE$" - -gText_1F:: @ 0x841803A - .string "1F$" - -gText_2F:: @ 0x841803D - .string "2F$" - -gText_3F:: @ 0x8418040 - .string "3F$" - -gText_4F:: @ 0x8418043 - .string "4F$" - -gText_5F:: @ 0x8418046 - .string "5F$" - -gText_6F:: @ 0x8418049 - .string "6F$" - -gText_7F:: @ 0x841804C - .string "7F$" - -gText_8F:: @ 0x841804F - .string "8F$" - -gText_9F:: @ 0x8418052 - .string "9F$" - -gText_10F:: @ 0x8418055 - .string "10F$" - -gText_11F:: @ 0x8418059 - .string "11F$" - -gText_B1F:: @ 0x841805D - .string "B1F$" - -gText_B2F:: @ 0x8418061 - .string "B2F$" - -gText_B3F:: @ 0x8418065 - .string "B3F$" - -gText_B4F:: @ 0x8418069 - .string "B4F$" - -gText_Rooftop:: @ 0x841806D - .string "ROOFTOP$" - -gText_NowOn:: @ 8418075 - .string "Now on:$" - -gText_LinkedGamePlay:: @ 0x841807D - .string "LINKED GAME PLAY$" - -gText_DirectCorner:: @ 0x841808E - .string "DIRECT CORNER$" - -gText_UnionRoom:: @ 0x841809C - .string "UNION ROOM$" - -gText_Energypowder_50:: @ 0x84180A7 - .string "ENERGYPOWDER{CLEAR_TO 0x74}{SMALL}50$" - -gText_EnergyRoot_80:: @ 0x84180BC - .string "ENERGY ROOT{CLEAR_TO 0x74}{SMALL}80$" - -gText_HealPowder_50:: @ 0x84180D0 - .string "HEAL POWDER{CLEAR_TO 0x74}{SMALL}50$" - -gText_RevivalHerb_300:: @ 0x84180E4 - .string "REVIVAL HERB{CLEAR_TO 0x6F}{SMALL}300$" - -gText_Protein_1000:: @ 0x84180FA - .string "PROTEIN{CLEAR_TO 0x65}{SMALL}1,000$" - -gText_Iron_1000:: @ 0x841810D - .string "IRON{CLEAR_TO 0x65}{SMALL}1,000$" - -gText_Carbos_1000:: @ 0x841811D - .string "CARBOS{CLEAR_TO 0x65}{SMALL}1,000$" - -gText_Calcium_1000:: @ 0x841812F - .string "CALCIUM{CLEAR_TO 0x65}{SMALL}1,000$" - -gText_Zinc_1000:: @ 0x8418142 - .string "ZINC{CLEAR_TO 0x65}{SMALL}1,000$" - -gText_HpUp_1000:: @ 0x8418152 - .string "HP UP{CLEAR_TO 0x65}{SMALL}1,000$" - -gText_PpUp_3000:: @ 0x8418163 - .string "PP UP{CLEAR_TO 0x65}{SMALL}3,000$" - -gString_BattleRecords_PlayersBattleResults:: @ 8418174 - .string "{PLAYER}'s BATTLE RESULTS$" - -gString_BattleRecords_TotalRecord:: @ 8418188 - .string "TOTAL RECORD W:{STR_VAR_1} L:{STR_VAR_2} D:{STR_VAR_3}$" - -gString_BattleRecords_ColumnHeaders:: @ 84181A4 - .string "WIN{CLEAR_TO 0x30}LOSE{CLEAR_TO 0x60}DRAW$" - -gString_BattleRecords_7Dashes:: @ 84181B6 - .string "-------$" - -gString_BattleRecords_4Dashes:: @ 84181BE - .string "----$" - -gFameCheckerText_FameCheckerWillBeClosed:: @ 84181C3 - .string "The FAME CHECKER will be closed.$" - -gFameCheckerText_ClearTextbox:: @ 84181E4 - .string "\n" - .string " $" - -gUnknown_8418204:: @ 8418204 - .string "やめる$" - -gUnknown_8418208:: @ 0x8418208 - .string "Exit from the BOX.$" - -gUnknown_841821B:: @ 0x841821B - .string "What do you want to do?$" - -gUnknown_8418233:: @ 0x8418233 - .string "Please pick a theme.$" - -gUnknown_8418248:: @ 0x8418248 - .string "Pick the wallpaper.$" - -gUnknown_841825C:: @ 0x841825C - .string "{DYNAMIC 0x00} is selected.$" - -gUnknown_841826C:: @ 0x841826C - .string "Jump to which BOX?$" - -gUnknown_841827F:: @ 0x841827F - .string "Deposit in which BOX?$" - -gUnknown_8418295:: @ 0x8418295 - .string "{DYNAMIC 0x00} was deposited.$" - -gUnknown_84182A7:: @ 0x84182A7 - .string "The BOX is full.$" - -gUnknown_84182B8:: @ 0x84182B8 - .string "Release this POKéMON?$" - -gUnknown_84182CE:: @ 0x84182CE - .string "{DYNAMIC 0x00} was released.$" - -gUnknown_84182DF:: @ 0x84182DF - .string "Bye-bye, {DYNAMIC 0x00}!$" - -gUnknown_84182EC:: @ 0x84182EC - .string "Mark your POKéMON.$" - -gUnknown_84182FF:: @ 0x84182FF - .string "That's your last POKéMON!$" - -gUnknown_8418319:: @ 0x8418319 - .string "Your party's full!$" - -gUnknown_841832C:: @ 0x841832C - .string "You're holding a POKéMON!$" - -gUnknown_8418346:: @ 0x8418346 - .string "Which one will you take?$" - -gUnknown_841835F:: @ 0x841835F - .string "You can't release an EGG.$" - -gUnknown_8418379:: @ 0x8418379 - .string "Continue BOX operations?$" - -gUnknown_8418392:: @ 0x8418392 - .string "{DYNAMIC 0x00} came back!$" - -gUnknown_84183A0:: @ 0x84183A0 - .string "Was it worried about you?$" - -gUnknown_84183BA:: @ 0x84183BA - .string "‥ ‥ ‥ ‥ ‥!$" - -gUnknown_84183C5:: @ 0x84183C5 - .string "Please remove the MAIL.$" - -gUnknown_84183DD:: @ 0x84183DD - .string "GIVE to a POKéMON?$" - -gUnknown_84183F0:: @ 0x84183F0 - .string "Placed item in the BAG.$" - -gUnknown_8418408:: @ 0x8418408 - .string "The BAG is full.$" - -gUnknown_8418419:: @ 0x8418419 - .string "Put this item in the BAG?$" - -gUnknown_8418433:: @ 0x8418433 - .string "{DYNAMIC 0x00} is now held.$" - -gUnknown_8418443:: @ 0x8418443 - .string "Changed to {DYNAMIC 0x00}.$" - -gUnknown_8418452:: @ 0x8418452 - .string "MAIL can't be stored!$" - -gUnknown_8418468:: @ 0x8418468 - .string "CANCEL$" - -gUnknown_841846F:: @ 0x841846F - .string "STORE$" - -gUnknown_8418475:: @ 0x8418475 - .string "WITHDRAW$" - -gUnknown_841847E:: @ 0x841847E - .string "SHIFT$" - -gUnknown_8418484:: @ 0x8418484 - .string "MOVE$" - -gUnknown_8418489:: @ 0x8418489 - .string "PLACE$" - -gUnknown_841848F:: @ 0x841848F - .string "SUMMARY$" - -gUnknown_8418497:: @ 0x8418497 - .string "RELEASE$" - -gUnknown_841849F:: @ 0x841849F - .string "MARK$" - -gUnknown_84184A4:: @ 0x84184A4 - .string "NAME$" - -gUnknown_84184A9:: @ 0x84184A9 - .string "JUMP$" - -gUnknown_84184AE:: @ 0x84184AE - .string "WALLPAPER$" - -gUnknown_84184B8:: @ 0x84184B8 - .string "TAKE$" - -gUnknown_84184BD:: @ 0x84184BD - .string "GIVE$" - -gUnknown_84184C2:: @ 0x84184C2 - .string "SWITCH$" - -gUnknown_84184C9:: @ 0x84184C9 - .string "BAG$" - -gUnknown_84184CD:: @ 0x84184CD - .string "INFO$" - -gUnknown_84184D2:: @ 0x84184D2 - .string "SCENERY 1$" - -gUnknown_84184DC:: @ 0x84184DC - .string "SCENERY 2$" - -gUnknown_84184E6:: @ 0x84184E6 - .string "SCENERY 3$" - -gUnknown_84184F0:: @ 0x84184F0 - .string "ETCETERA$" - -gUnknown_84184F9:: @ 0x84184F9 - .string "FOREST$" - -gUnknown_8418500:: @ 0x8418500 - .string "CITY$" - -gUnknown_8418505:: @ 0x8418505 - .string "DESERT$" - -gUnknown_841850C:: @ 0x841850C - .string "SAVANNA$" - -gUnknown_8418514:: @ 0x8418514 - .string "CRAG$" - -gUnknown_8418519:: @ 0x8418519 - .string "VOLCANO$" - -gUnknown_8418521:: @ 0x8418521 - .string "SNOW$" - -gUnknown_8418526:: @ 0x8418526 - .string "CAVE$" - -gUnknown_841852B:: @ 0x841852B - .string "BEACH$" - -gUnknown_8418531:: @ 0x8418531 - .string "SEAFLOOR$" - -gUnknown_841853A:: @ 0x841853A - .string "RIVER$" - -gUnknown_8418540:: @ 0x8418540 - .string "SKY$" - -gUnknown_8418544:: @ 0x8418544 - .string "STARS$" - -gUnknown_841854A:: @ 0x841854A - .string "POKéCENTER$" - -gUnknown_8418555:: @ 0x8418555 - .string "TILES$" - -gUnknown_841855B:: @ 0x841855B - .string "SIMPLE$" - -gUnknown_8418562:: @ 0x8418562 - .string "なにを しますか?$" - -gUnknown_841856C:: @ 0x841856C - .string "WITHDRAW POKéMON$" - -gUnknown_841857D:: @ 0x841857D - .string "DEPOSIT POKéMON$" - -gUnknown_841858D:: @ 0x841858D - .string "MOVE POKéMON$" - -gUnknown_841859A:: @ 0x841859A - .string "MOVE ITEMS$" - -gUnknown_84185A5:: @ 0x84185A5 - .string "SEE YA!$" - -gUnknown_84185AD:: @ 0x84185AD - .string "You can withdraw a POKéMON if you\n" - .string "have any in a BOX.$" - -gUnknown_84185E2:: @ 0x84185E2 - .string "You can deposit your party\n" - .string "POKéMON in any BOX.$" - -gUnknown_8418611:: @ 0x8418611 - .string "You can move POKéMON that are\n" - .string "stored in any BOX.$" - -gUnknown_8418642:: @ 0x8418642 - .string "You can move items held by any\n" - .string "POKéMON in a BOX or your party.$" - -gUnknown_8418681:: @ 0x8418681 - .string "See you later!$" - -gUnknown_8418690:: @ 8418690 - .string "Can't deposit the last POKéMON!$" - -gUnknown_84186B0:: @ 84186B0 - .string "Can't take any more POKéMON.$" - -gUnknown_84186CD:: @ 84186CD - .string "BOX$" - -gUnknown_84186D1:: @ 0x84186D1 - .string "Combine four words or phrases$" - -gUnknown_84186EF:: @ 0x84186EF - .string "and make your profile.$" - -gUnknown_8418706:: @ 0x8418706 - .string "Make a message of six phrases.$" - -gUnknown_8418725:: @ 0x8418725 - .string "Max two 12-letter phrases/line.$" - -gUnknown_8418745:: @ 0x8418745 - .string "Find words that describe your$" - -gUnknown_8418763:: @ 0x8418763 - .string "feelings right now.$" - -gUnknown_8418777:: @ 0x8418777 - .string "4つの ことばで$" - -gUnknown_8418780:: @ 0x8418780 - .string "Combine nine words or phrases$" - -gUnknown_841879E:: @ 0x841879E - .string "and make a message.$" - -gUnknown_84187B2:: @ 0x84187B2 - .string "Change just one word or phrase$" - -gUnknown_84187D1:: @ 0x84187D1 - .string "and improve the BARD's song.$" - -gUnknown_84187EE:: @ 0x84187EE - .string "and fill out the questionnaire.$" - -gUnknown_841880E:: @ 0x841880E - .string "Your profile$" - -gUnknown_841881B:: @ 0x841881B - .string "Your feeling at the battle's start$" - -gUnknown_841883E:: @ 0x841883E - .string "What you say if you win a battle$" - -gUnknown_841885F:: @ 0x841885F - .string "What you say if you lose a battle$" - -gUnknown_8418881:: @ 0x8418881 - .string "The answer$" - -gUnknown_841888C:: @ 0x841888C - .string "The MAIL message$" - -gUnknown_841889D:: @ 0x841889D - .string "はがきに のせる あいさつは$" - -gUnknown_84188AC:: @ 0x84188AC - .string "The new song$" - -gUnknown_84188B9:: @ 0x84188B9 - .string "Combine two words or phrases$" - -gUnknown_84188D6:: @ 0x84188D6 - .string "and make a trendy saying.$" - -gUnknown_84188F0:: @ 0x84188F0 - .string "The trendy saying$" - -gUnknown_8418902:: @ 0x8418902 - .string "is as shown. Okay?$" - -gUnknown_8418915:: @ 0x8418915 - .string "2つの ことばを くみあわせて$" - -gUnknown_8418925:: @ 0x8418925 - .string "いい ことばを おしえてあげよう!$" - -gUnknown_8418937:: @ 8418937 - .string "All the text being edited will$" - -gUnknown_8418956:: @ 8418956 - .string "be deleted. Is that okay?$" - -gUnknown_8418970:: @ 0x8418970 - .string "なにか ことばを いれてください!$" - -gUnknown_8418982:: @ 0x8418982 - .string "ことばを ぜんぶ けすことは できません!$" - -gUnknown_8418998:: @ 0x8418998 - .string "かえられる ことばは 1つ までです!$" - -gUnknown_84189AC:: @ 0x84189AC - .string "うたを もとに もどします!$" - -gUnknown_84189BB:: @ 0x84189BB - .string "それは もう はやっています!$" - -gUnknown_84189CB:: @ 0x84189CB - .string "2つの ことばを くみあわせてください!$" - -gUnknown_84189E0:: @ 84189E0 - .string "Quit editing?$" - -gUnknown_84189EE:: @ 84189EE - .string "Stop giving the POKéMON MAIL?$" - -gUnknown_8418A0C:: @ 0x8418A0C - .string "へんしゅうした ことばは ほぞん$" - -gUnknown_8418A1D:: @ 0x8418A1D - .string "されませんが いいですか?$" - -gUnknown_8418A2B:: @ 0x8418A2B - .string "PROFILE$" - -gUnknown_8418A33:: @ 0x8418A33 - .string "At the battle's start:$" - -gUnknown_8418A4A:: @ 0x8418A4A - .string "Upon winning a battle:$" - -gUnknown_8418A61:: @ 0x8418A61 - .string "Upon losing a battle:$" - -gUnknown_8418A77:: @ 0x8418A77 - .string "The BARD's Song$" - -gUnknown_8418A87:: @ 0x8418A87 - .string "What's hip and happening?$" - -gUnknown_8418AA1:: @ 0x8418AA1 - .string "Interview$" - -gUnknown_8418AAB:: @ 0x8418AAB - .string "いい ことば$" - -gUnknown_8418AB2:: @ 0x8418AB2 - .string "QUESTIONNAIRE$" - -gUnknown_8418AC0:: @ 0x8418AC0 - .string " きれい だよね-$" - -gUnknown_8418ACA:: @ 0x8418ACA - .string " かわいい よね-$" - -gUnknown_8418AD4:: @ 0x8418AD4 - .string " のんびり だよね-$" - -gUnknown_8418ADF:: @ 0x8418ADF - .string " ぽっかぽか だよね-$" - -gUnknown_8418AEB:: @ 0x8418AEB - .string " あこがれる よね-$" - -gUnknown_8418AF6:: @ 0x8418AF6 - .string " ドキドキ するよね-$" - -gUnknown_8418B02:: @ 0x8418B02 - .string " おもしろい よね-$" - -gUnknown_8418B0D:: @ 0x8418B0D - .string " ふしぎ だよね-$" - -gUnknown_8418B17:: @ 0x8418B17 - .string "って$" - -gUnknown_8418B1A:: @ 0x8418B1A - .string "\n" - .string "そう おもわない?$" - -gUnknown_8418B25:: @ 0x8418B25 - .string "たびに でたいな-\n" - .string "どこか いい ところ しらない?$" - -gUnknown_8418B40:: @ 0x8418B40 - .string "120しょくの クレヨン かったんだ-\n" - .string "いいでしょう?$" - -gUnknown_8418B5C:: @ 0x8418B5C - .string "しゃぼんだまに のって とべるように\n" - .string "ならないかな-$" - -gUnknown_8418B77:: @ 0x8418B77 - .string "すなはまに かいた もじは\n" - .string "すぐに きえちゃうのが かなしいよね-$" - -gUnknown_8418B99:: @ 0x8418B99 - .string "うみの そこって どうなってるのかな-\n" - .string "いちどで いいから みて みたいな-$" - -gUnknown_8418BC0:: @ 0x8418BC0 - .string "ゆうやけを みると\n" - .string "ウチに かえりたく ならない?$" - -gUnknown_8418BDA:: @ 0x8418BDA - .string "みどりの しばで ねころがると\n" - .string "きもちいいよね-$" - -gUnknown_8418BF3:: @ 0x8418BF3 - .string "ひみつきち って いいよね!\n" - .string "なんか わくわく してこない?$" - -gUnknown_8418C12:: @ 0x8418C12 - .string "ポケモン リ-グ$" - -gText_PokemonCenter:: @ 8418C1B - .string "POKéMON CENTER$" - -gUnknown_8418C2A:: @ 8418C2A - .string "に ポロックを あげますか?$" - -gUnknown_8418C39:: @ 0x8418C39 - .string "かっこよさ$" - -gUnknown_8418C3F:: @ 0x8418C3F - .string "うつくしさ$" - -gUnknown_8418C45:: @ 0x8418C45 - .string "かわいさ$" - -gUnknown_8418C4A:: @ 0x8418C4A - .string "かしこさ$" - -gUnknown_8418C4F:: @ 0x8418C4F - .string "たくましさ$" - -gUnknown_8418C55:: @ 0x8418C55 - .string "に みがきが かかった!$" - -gUnknown_8418C62:: @ 0x8418C62 - .string "なにも かわらなかった!$" - -gUnknown_8418C6F:: @ 0x8418C6F - .string "もう これいじょう たべない みたい‥$" - -gText_SaveFailedScreen_CheckingBackupMemory:: @ 8418C83 - .string "Save failed.\n" - .string "Checking the backup memory‥\n" - .string "Please wait.\n" - .string "“Time required:\n" - .string "about 1 minute”$" - -gText_SaveFailedScreen_BackupMemoryDamaged:: @ 8418CD9 - .string "The backup memory is damaged or\n" - .string "the game's battery has run dry.\n" - .string "The game can be played, but its\n" - .string "progress cannot be saved.\n" - .string "“Please press the A Button.”$" - -gUnknown_8418D70:: @ 8418D70 - .string "{COLOR RED}“このまま ぼうけんをつづけることは できません\n" - .string "タイトルに もどります”$" - -gUnknown_8418D99:: @ 0x8418D99 - .string "けんさが しゅうりょうしました!\n" - .string "もういちど レポ-トを かきこみます\n" - .string "しばらくおまちください$" - -gUnknown_8418DC9:: @ 0x8418DC9 - .string "レポ-トの かきこみは しゅうりょうしました\n" - .string "{COLOR RED}“このまま ぼうけんをつづけることは できません\n" - .string "タイトルに もどります”$" - -gText_SaveFailedScreen_SaveCompleted:: @ 8418E09 - .string "Save completed.\n" - .string "“Please press the A Button.”$" - -gUnknown_8418E36:: @ 0x8418E36 - .string "れんらくせん$" - -gUnknown_8418E3D:: @ 0x8418E3D - .string "ひみつきち$" - -gUnknown_8418E43:: @ 0x8418E43 - .string "アジト$" - -gUnknown_8418E47:: @ 0x8418E47 - .string "YOUR NAME?$" - -gUnknown_8418E52:: @ 0x8418E52 - .string "BOX NAME?$" - -gUnknown_8418E5C:: @ 0x8418E5C - .string "'s nickname?$" - -gUnknown_8418E69:: @ 0x8418E69 - .string "RIVAL's NAME?$" - -gUnknown_8418E77:: @ 8418E77 - .string "{DPAD_ANY}MOVE {A_BUTTON}OK {B_BUTTON}BACK$" - -gUnknown_8418E8A:: @ 8418E8A - .string "$" - -gText_RegionMap_Space:: @ 8418E8B - .string " $" - -gText_RegionMap_AButtonGuide:: @ 8418E8D - .string "{A_BUTTON}GUIDE$" - -gText_RegionMap_AButtonCancel:: @ 8418E95 - .string "{A_BUTTON}CANCEL$" - -gText_RegionMap_AButtonCancel2:: @ 8418E9E - .string "{A_BUTTON}CANCEL$" - -gText_RegionMap_AButtonSwitch:: @ 8418EA7 - .string "{A_BUTTON}SWITCH$" - -gText_RegionMap_AButtonOK:: @ 8418EB0 - .string "{A_BUTTON}OK$" - -gText_RegionMap_DPadMove:: @ 8418EB5 - .string "{DPAD_ANY}MOVE$" - -gText_RegionMap_UpDownPick:: @ 8418EBC - .string "{DPAD_UPDOWN}PICK$" - -gText_RegionMap_NoData:: @ 8418EC3 - .string "No data$" - -gText_RegionMap_AreaDesc_ViridianForest:: - .string "A deep and sprawling forest that\n" - .string "extends around VIRIDIAN CITY.\n" - .string "A natural maze, many people\n" - .string "become lost inside.$" - -gText_RegionMap_AreaDesc_MtMoon:: - .string "A mystical mountain that is known\n" - .string "for its frequent meteor falls.\n" - .string "The shards of stars that fall\n" - .string "here are known as MOON STONES.$" - -gText_RegionMap_AreaDesc_DiglettsCave:: - .string "A seemingly plain tunnel that was\n" - .string "dug by wild DIGLETT.\n" - .string "It is famous for connecting\n" - .string "ROUTES 2 and 11.$" - -gText_RegionMap_AreaDesc_VictoryRoad:: - .string "A tunnel situated on ROUTE 23.\n" - .string "It earned its name because it\n" - .string "must be traveled by all TRAINERS\n" - .string "aiming for the top.$" - -gText_RegionMap_AreaDesc_PokemonMansion:: - .string "A decrepit, burned-down mansion\n" - .string "on CINNABAR ISLAND.\n" - .string "It got its name because a famous\n" - .string "POKéMON researcher lived there.$" - -gText_RegionMap_AreaDesc_SafariZone:: - .string "An amusement park outside FUCHSIA\n" - .string "CITY where many rare POKéMON can\n" - .string "be observed in the wild.\n" - .string "Catch them in a popular game!$" - -gText_RegionMap_AreaDesc_RockTunnel:: - .string "A naturally formed underground\n" - .string "tunnel. Because it has not been\n" - .string "developed, it is inky dark inside.\n" - .string "A light is needed to get through.$" - -gText_RegionMap_AreaDesc_SeafoamIslands:: - .string "A pair of islands that is situated\n" - .string "on ROUTE 20.\n" - .string "The two islands are shaped the\n" - .string "same, as if they were twins.$" - -gText_RegionMap_AreaDesc_PokemonTower:: - .string "A tower that houses the graves of\n" - .string "countless POKéMON.\n" - .string "Many people visit it daily to pay\n" - .string "their respects to the fallen.$" - -gText_RegionMap_AreaDesc_CeruleanCave:: - .string "A mysterious cave that is filled\n" - .string "with terribly tough POKéMON.\n" - .string "It is so dangerous, the POKéMON\n" - .string "LEAGUE is in charge of it.$" - -gText_RegionMap_AreaDesc_PowerPlant:: - .string "A power plant that was abandoned\n" - .string "years ago, though some of the\n" - .string "machines still work. It is infested\n" - .string "with electric POKéMON.$" - -gText_RegionMap_AreaDesc_MtEmber:: - .string "Supposedly an inactive volcano.\n" - .string "However, there are persistent\n" - .string "reports that the peak blazes\n" - .string "with fire at night.$" - -gText_RegionMap_AreaDesc_BerryForest:: - .string "A forest on a small islet off the\n" - .string "coast of THREE ISLAND. BERRIES\n" - .string "grow wildly in profusion, quickly\n" - .string "replenishing those that fall off.$" - -gText_RegionMap_AreaDesc_IcefallCave:: - .string "A cave which is covered by water\n" - .string "and ice on FOUR ISLAND.\n" - .string "It seems like the end of the cave\n" - .string "is connected to the ocean.$" - -gText_RegionMap_AreaDesc_LostCave:: - .string "A bewildering cave off the coast\n" - .string "of RESORT GORGEOUS.\n" - .string "Some curious thrill seekers have\n" - .string "never emerged from it.$" - -gText_RegionMap_AreaDesc_TanobyRuins:: - .string "An ancient ruin that is rumored to\n" - .string "be home to a peculiar POKéMON.\n" - .string "However, so far, the POKéMON\n" - .string "remains an unconfirmed rumor.$" - -gText_RegionMap_AreaDesc_AlteringCave:: - .string "This island has been known by this\n" - .string "name since the distant past.\n" - .string "No one today knows where it got\n" - .string "this name, however.$" - -gText_RegionMap_AreaDesc_PatternBush:: - .string "A lush and bush-like area. \n" - .string "In it are patterns where no grass\n" - .string "grows. Some study it in the belief\n" - .string "that a secret is concealed.$" - -gText_RegionMap_AreaDesc_DottedHole:: - .string "A mysterious, just-discovered\n" - .string "ruin from an ancient time.\n" - .string "It got its name from the six dots\n" - .string "on its door.$" - -gUnknown_8419782:: @ 8419782 - .string "{DYNAMIC 0x00} nature.\n" - .string "Met in a trade.$" - -gUnknown_841979D:: @ 841979D - .string "{DYNAMIC 0x00} nature.\n" - .string "Met in a trade.$" - -gUnknown_84197B8:: @ 84197B8 - .string "{DYNAMIC 0x00} nature.\n" - .string "Met in a fateful encounter when\n" - .string "at {LV_2} {DYNAMIC 0x01}.$" - -gUnknown_84197ED:: @ 84197ED - .string "{DYNAMIC 0x00} nature.\n" - .string "Met in a fateful encounter when\n" - .string "at {LV_2} {DYNAMIC 0x01}.$" - -gUnknown_8419822:: @ 8419822 - .string "{DYNAMIC 0x00} nature.\n" - .string "Met in {DYNAMIC 0x02} at {LV_2} {DYNAMIC 0x01}.$" - -gUnknown_8419841:: @ 8419841 - .string "{DYNAMIC 0x00} nature.\n" - .string "Met in {DYNAMIC 0x02} at {LV_2} {DYNAMIC 0x01}.$" - -gUnknown_8419860:: @ 8419860 - .string "{DYNAMIC 0x00} nature.\n" - .string "Apparently met in {DYNAMIC 0x02}\n" - .string "at {LV_2} {DYNAMIC 0x01}.$" - -gUnknown_841988A:: @ 841988A - .string "{DYNAMIC 0x00} nature.\n" - .string "Apparently met in {DYNAMIC 0x02}\n" - .string "at {LV_2} {DYNAMIC 0x01}.$" - -gUnknown_84198B4:: @ 84198B4 - .string "{DYNAMIC 0x00} nature.\n" - .string "Hatched: {DYNAMIC 0x02}\n" - .string "at {LV_2} {DYNAMIC 0x01}.$" - -gUnknown_84198D5:: @ 84198D5 - .string "{DYNAMIC 0x00} nature.\n" - .string "Hatched: {DYNAMIC 0x02}\n" - .string "at {LV_2} {DYNAMIC 0x01}.$" - -@ TODO: Replace this gibberish with the proper Hiragana -gUnknown_84198F6:: @ 84198F6 - .string "{DYNAMIC 0x00}ßÓÁÉË {LV_2}{DYNAMIC 0x01}çÑÊ\n" - .string "{DYNAMIC 0x02}で ÉÇっŒ ùÂだ$" - -gUnknown_8419913:: @ 8419913 - .string "{DYNAMIC 0x00}ÓÁÉË {LV_2}{DYNAMIC 0x01}çÑÊ\n" - .string "{DYNAMIC 0x02}で ÉÇっŒ ùÂだ$" - -gUnknown_841992F:: @ 841992F - .string "{DYNAMIC 0x00} nature. Met in a fateful\n" - .string "encounter (hatched: {DYNAMIC 0x02}\n" - .string "at {LV_2} {DYNAMIC 0x01}).$" - -gUnknown_841996D:: @ 841996D - .string "{DYNAMIC 0x00} nature. Met in a fateful\n" - .string "encounter (hatched: {DYNAMIC 0x02}\n" - .string "at {LV_2} {DYNAMIC 0x01}).$" - -gUnknown_84199AB:: @ 84199AB - .string "{DYNAMIC 0x00} nature. Apparently met in\n" - .string "a fateful encounter (hatched:\n" - .string "{DYNAMIC 0x02} at {LV_2} {DYNAMIC 0x01}).$" - -gUnknown_84199F4:: @ 84199F4 - .string "{DYNAMIC 0x00} nature. Apparently met in\n" - .string "a fateful encounter シhatched:\n" - .string "{DYNAMIC 0x02} at {LV_2} {DYNAMIC 0x01}ス.$" - -gUnknown_8419A3D:: @ 0x8419A3D - .string "An odd POKéMON EGG found by the\n" - .string "DAY-CARE couple.$" - -gUnknown_8419A6E:: @ 0x8419A6E - .string "An odd POKéMON EGG obtained from\n" - .string "the traveling man.$" - -gUnknown_8419AA2:: @ 0x8419AA2 - .string "A wondrously peculiar POKéMON EGG\n" - .string "obtained at a nice place.$" - -gUnknown_8419ADE:: @ 0x8419ADE - .string "An odd POKéMON EGG obtained from\n" - .string "an old woman at the SPA.$" - -gUnknown_8419B18:: @ 0x8419B18 - .string "A peculiar POKéMON EGG obtained\n" - .string "in a trade.$" - -gUnknown_8419B44:: @ 0x8419B44 - .string "It looks like this\n" - .string "EGG will take a\n" - .string "long time to hatch.$" - -gUnknown_8419B7B:: @ 0x8419B7B - .string "What will hatch\n" - .string "from this? It will\n" - .string "take some time.$" - -gUnknown_8419BAE:: @ 0x8419BAE - .string "It occasionally\n" - .string "moves. It should\n" - .string "hatch soon.$" - -gUnknown_8419BDB:: @ 0x8419BDB - .string "It's making sounds.\n" - .string "It's almost ready\n" - .string "to hatch!$" - -gUnknown_8419C0B:: @ 8419C0B - .string "a trade$" - -gUnknown_8419C13:: @ 8419C13 - .string "Somewhere$" - -gUnknown_8419C1D:: @ 8419C1D - .string "POKéMON INFO$" - -gUnknown_8419C2A:: @ 8419C2A - .string "POKéMON SKILLS$" - -gUnknown_8419C39:: @ 8419C39 - .string "KNOWN MOVES$" - -gUnknown_8419C45:: @ 8419C45 - .string "No data$" - -gUnknown_8419C4D:: @ 8419C4D - .string "EXP. POINTS$" - -gUnknown_8419C59:: @ 8419C59 - .string "NEXT LV.$" - -gUnknown_8419C62:: @ 8419C62 - .string "{DPAD_RIGHT}PAGE {A_BUTTON}CANCEL$" - -gUnknown_8419C72:: @ 8419C72 - .string "{A_BUTTON}CANCEL$" - -gUnknown_8419C7B:: @ 8419C7B - .string "{DPAD_LEFTRIGHT}PAGE$" - -gUnknown_8419C82:: @ 8419C82 - .string "{DPAD_LEFT}PAGE {A_BUTTON}DETAIL$" - -gUnknown_8419C92:: @ 8419C92 - .string "{DPAD_UPDOWN}PICK {A_BUTTON}SWITCH$" - -gUnknown_8419CA2:: @ 8419CA2 - .string "{DPAD_UPDOWN}PICK$" - -gUnknown_8419CA9:: @ 8419CA9 - .string "{DPAD_UPDOWN}PICK {A_BUTTON}DELETE$" - -gUnknown_8419CB9:: @ 8419CB9 - .string "HM moves can't be\n" - .string "forgotten now.$" - -gText_TrainerCardName:: @ 8419CDA - .string "NAME: $" - -gText_TrainerCardIDNo:: @ 8419CE1 - .string "IDNo.$" - -gText_TrainerCardMoney:: @ 8419CE7 - .string "MONEY$" - -gText_TrainerCardYen:: @ 8419CED - .string "¥$" - -gText_TrainerCardPokedex:: @ 8419CEF - .string "POKéDEX$" - -gText_TrainerCardNull:: @ 8419CF7 - .string "$" - -gText_Colon2:: @ 8419CF8 - .string ":$" - -gUnknown_8419CFA:: @ 0x8419CFA - .string "てん$" - -gText_TrainerCardTime:: @ 8419CFD - .string "TIME$" - -gUnknown_8419D02:: @ 0x8419D02 - .string "ゲ-ムポイント$" - -gText_Var1sTrainerCard:: @ 8419D0A - .string "'s TRAINER CARD$" - -gText_HallOfFameDebut:: @ 8419D1A - .string "HALL OF FAME DEBUT $" - -gText_LinkBattles:: @ 0x8419D2F - .string "LINK BATTLES$" - -gText_LinkCableBattles:: @ 0x8419D3C - .string "LINK CABLE BATTLES$" - -gText_WinLossRatio:: @ 8419D4F - .string "W:{CLEAR_TO 0x30}L:$" - -gText_PokemonTrades:: @ 8419D57 - .string "POKéMON TRADES$" - -gText_UnionRoomTradesBattles:: @ 8419D66 - .string "UNION TRADES & BATTLES$" - -gText_BerryCrushes:: @ 8419D7D - .string "BERRY CRUSH$" - -gText_WaitingTrainerFinishReading:: @ 8419D89 - .string "Waiting for the other TRAINER to\n" - .string "finish reading your TRAINER CARD.$" - -gText_MenuOption:: @ 8419DCC - .string "OPTION$" - -gText_TextSpeed:: @ 0x8419DD3 - .string "TEXT SPEED$" - -gText_BattleScene:: @ 0x8419DDE - .string "BATTLE SCENE$" - -gText_BattleStyle:: @ 0x8419DEB - .string "BATTLE STYLE$" - -gText_Sound:: @ 0x8419DF8 - .string "SOUND$" - -gText_ButtonMode:: @ 0x8419DFE - .string "BUTTON MODE$" - -gText_Frame:: @ 0x8419E0A - .string "FRAME$" - -gText_OptionMenuCancel:: @ 0x8419E10 - .string "CANCEL$" - -gText_TextSpeedSlow:: @ 0x8419E17 - .string "SLOW$" - -gText_TextSpeedMid:: @ 0x8419E1C - .string "MID$" - -gText_TextSpeedFast:: @ 0x8419E20 - .string "FAST$" - -gText_BattleSceneOn:: @ 0x8419E25 - .string "ON$" - -gText_BattleSceneOff:: @ 0x8419E28 - .string "OFF$" - -gText_BattleStyleShift:: @ 0x8419E2C - .string "SHIFT$" - -gText_BattleStyleSet:: @ 0x8419E32 - .string "SET$" - -gText_SoundMono:: @ 0x8419E36 - .string "MONO$" - -gText_SoundStereo:: @ 0x8419E3B - .string "STEREO$" - -gTextJP_Type:: @ 0x8419E42 - .string "タイプ$" - -gText_ButtonTypeHelp:: @ 0x8419E46 - .string "HELP$" - -gText_ButtonTypeLEqualsA:: @ 0x8419E4B - .string "L=A$" - -gText_ButtonTypeLR:: @ 0x8419E4F - .string "LR$" - -gText_FrameType:: @ 8419E52 - .string "TYPE$" - -gText_PickSwitchCancel:: @ 8419E57 - .string "{DPAD_UPDOWN}PICK {DPAD_LEFTRIGHT}SWITCH {A_BUTTON}{B_BUTTON}CANCEL$" - -gUnknown_8419E72:: @ 0x8419E72 - .string "RTCを リセットします\n" - .string "Aで けってい Bで キャンセル$" - -gUnknown_8419E90:: @ 0x8419E90 - .string "げんざいの ゲ-ムない じかん$" - -gUnknown_8419EA0:: @ 0x8419EA0 - .string "ぜんかいの ゲ-ムない じかん$" - -gUnknown_8419EB0:: @ 0x8419EB0 - .string "じかんを さいせってい してください$" - -gUnknown_8419EC3:: @ 0x8419EC3 - .string "じかんを さいせってい しました!\n" - .string "レポ-トを かいています おまちください$" - -gUnknown_8419EEA:: @ 0x8419EEA - .string "レポ-トを かきこみました!$" - -gUnknown_8419EF9:: @ 0x8419EF9 - .string "レポ-トの かきこみに\n" - .string "しっぱい しました‥$" - -gUnknown_8419F10:: @ 0x8419F10 - .string "レポ-トが ないので\n" - .string "じかんの せっていは できません!$" - -gUnknown_8419F2D:: @ 0x8419F2D - .string "ゲ-ムない じかんの しゅうせい システムが\n" - .string "つかえる ように なりました!$" - -gText_SavingDontTurnOffThePower2:: @ 8419F54 - .string "SAVING…\n" - .string "DON'T TURN OFF THE POWER.$" - -// Start menu option descriptions -gStartMenuDesc_Pokedex:: @ 8419F76 // Pokedex - .string "A device that records POKéMON secrets\n" - .string "upon meeting or catching them.$" - -gStartMenuDesc_Pokemon:: @ 8419FBB // Pokemon - .string "Check and organize POKéMON that are\n" - .string "traveling with you in your party.$" - -gStartMenuDesc_Bag:: @ 841A001 // Bag - .string "Equipped with pockets for storing items\n" - .string "you bought, received, or found.$" - -gStartMenuDesc_Player:: @ 841A049 // {PLAYER} - .string "Check your money and other game data.$" - -gStartMenuDesc_Save:: @ 841A06F // Save - .string "Save your game with a complete record\n" - .string "of your progress to take a break.$" - -gStartMenuDesc_Option:: @ 841A0B7 // Options - .string "Adjust various game settings such as text\n" - .string "speed, game rules, etc.$" - -gStartMenuDesc_Exit:: @ 841A0F9 // Quit - .string "Close this MENU window.$" - -gStartMenuDesc_Retire:: @ 841A111 // Retire - .string "Retire from the SAFARI GAME and return to\n" - .string "the registration counter.$" - - .include "data/text/quest_log.inc" - -gUnknown_841B285:: @ 841B285 - .string " was used on\n" - .string "$" - -gUnknown_841B293:: @ 841B293 - .string ".$" - -gUnknown_841B295:: @ 841B295 - .string "'s level rose to\n" - .string "$" - -gUnknown_841B2A7:: @ 841B2A7 - .string ".$" - -gUnknown_841B2A9:: @ 0x841B2A9 - .string "{SMALL}MAX.{SIZE 0x02} HP$" - -gUnknown_841B2B7:: @ 0x841B2B7 - .string "ATTACK$" - -gUnknown_841B2BE:: @ 0x841B2BE - .string "DEFENSE$" - -gUnknown_841B2C6:: @ 0x841B2C6 - .string "SPEED$" - -gUnknown_841B2CC:: @ 0x841B2CC - .string "SP. ATK$" - -gUnknown_841B2D4:: @ 0x841B2D4 - .string "SP. DEF$" - -gUnknown_841B2DC:: @ 841B2DC - .string "{SMALL}{PLUS}{SIZE 0x02}$" - -gUnknown_841B2E5:: @ 841B2E5 - .string "{SMALL}-{SIZE 0x02}$" - -gUnknown_841B2ED:: @ 841B2ED - .string "1, $" - -gUnknown_841B2F1:: @ 841B2F1 - .string "2, and ‥ ‥ ‥ $" - -gUnknown_841B2FF:: @ 0x841B2FF - .string "Poof!\p" - .string "$" - -gUnknown_841B306:: @ 841B306 - .string "{DYNAMIC 0x00} forgot\n" - .string "{DYNAMIC 0x01}.\p" - .string "$" - -gUnknown_841B315:: @ 841B315 - .string "And‥\p" - .string "$" - -gUnknown_841B31B:: @ 841B31B - .string "Machine set!\p" - .string "$" - -gUnknown_841B329:: @ 841B329 - .string "Huh?$" - -gUnknown_841B32E:: @ 841B32E - .string "{DYNAMIC 0x00} learned\n" - .string "{DYNAMIC 0x01}!$" - -gText_Upper:: @ 0x841B33D - .string "UPPER$" - -gText_Lower:: @ 0x841B343 - .string "lower$" - -gText_Others:: @ 0x841B349 - .string "OTHERS$" - -gText_Symbols:: @ 0x841B350 - .string "SYMBOLS$" - -gText_Register2:: @ 0x841B358 - .string "REGISTER$" - -gText_Exit:: @ 0x841B361 - .string "EXIT$" - -gText_QuitChatting:: @ 0x841B366 - .string "Quit chatting?$" - -gText_RegisterTextWhere:: @ 0x841B375 - .string "Register text where?$" - -gText_RegisterTextHere:: @ 0x841B38A - .string "Register text here?$" - -gText_InputText:: @ 0x841B39E - .string "Input text.$" - -gText_F700JoinedChat:: @ 841B3AA - .string "{DYNAMIC 0x00} joined the chat!$" - -gText_F700LeftChat:: @ 841B3BE - .string "{DYNAMIC 0x00} left the chat.$" - -gUnknown_841B3D0:: @ 0x841B3D0 - .string "{DYNAMIC 0x00}の{DYNAMIC 0x01}ひきめ:$" - -gUnknown_841B3DA:: @ 0x841B3DA - .string "{DYNAMIC 0x00}の{DYNAMIC 0x01}ひきめは いません$" - -gText_ExitingTheChat:: @ 0x841B3E9 - .string "Exiting the chat‥$" - -gText_LeaderHasLeftEndingChat:: @ 0x841B3FB - .string "The LEADER, {DYNAMIC 0x00}, has\n" - .string "left, ending the chat.$" - -gText_RegisteredTextChanged_OKtoSave:: @ 0x841B426 - .string "The registered text has been changed.\n" - .string "Is it okay to save the game?$" - -gText_RegisteredTextChanged_AlreadySavedFile:: @ 0x841B469 - .string "There is already a saved file.\n" - .string "Is it okay to overwrite it?$" - -gText_RegisteredTextChanged_SavingDontTurnOff:: @ 0x841B4A4 - .string "SAVING‥\n" - .string "DON'T TURN OFF THE POWER.$" - -gText_RegisteredTextChanged_SavedTheGame:: @ 0x841B4C6 - .string "{DYNAMIC 0x00} saved the game.$" - -gText_IfLeaderLeavesChatWillEnd:: @ 0x841B4D9 - .string "If the LEADER leaves, the chat\n" - .string "will end. Is that okay?$" - -gText_Hello:: @ 841B510 - .string "HELLO$" - -gText_Pokemon2:: @ 841B516 - .string "POKéMON$" - -gText_Trade:: @ 841B51E - .string "TRADE$" - -gText_Battle:: @ 841B524 - .string "BATTLE$" - -gText_Lets:: @ 841B52B - .string "LET'S$" - -gText_Ok:: @ 841B531 - .string "OK!$" - -gText_Sorry:: @ 841B535 - .string "SORRY$" - -gText_YaySmileEmoji:: @ 841B53B - .string "YAY{EXTRA 0xF9}$" - -gText_ThankYou:: @ 841B541 - .string "THANK YOU$" - -gText_ByeBye:: @ 841B54B - .string "BYE-BYE!$" - -gUnknown_841B554:: @ 841B554 - .string "{PLAYER} scurried to a POKéMON CENTER,\n" - .string "protecting the exhausted and fainted\n" - .string "POKéMON from further harm‥\p" - .string "$" - -gUnknown_841B5B6:: @ 841B5B6 - .string "{PLAYER} scurried back home, protecting\n" - .string "the exhausted and fainted POKéMON from\n" - .string "further harm‥\p" - .string "$" - -gUnknown_841B60E:: @ 841B60E - .string "PLAYER: {DYNAMIC 0x00}$" - -gUnknown_841B619:: @ 841B619 - .string "This document is issued in\n" - .string "recognition of your magnificent\n" - .string "achievement - the completion of\n" - .string "the {DYNAMIC 0x01} POKéDEX.$" - -gUnknown_841B684:: @ 841B684 - .string "GAME FREAK$" - -gUnknown_841B68F:: @ 841B68F - .string "NATIONAL$" - -gUnknown_841B698:: @ 841B698 - .string "KANTO$" - -gUnknown_841B69E:: @ 841B69E - .string "Clear all save data areas?$" - -gUnknown_841B6B9:: @ 841B6B9 - .string "Clearing data‥\n" - .string "Please wait.$" - -gText_Player:: @ 841B6D5 - .string "PLAYER$" - -gText_Time:: @ 841B6DC - .string "TIME$" - -gText_Colon:: @ 0x841B6E1 - .string ":$" - -gText_Pokedex:: @ 841B6E3 - .string "POKéDEX$" - -gTextJPDummy_Hiki:: @ 841B6EB - .string "$" - -gText_Badges:: @ 841B6EC - .string "BADGES$" - -gTextJPDummy_Ko:: @ 841B6F3 - .string "$" - -gText_Register:: @ 0x841B6F4 - .string "REGISTER$" - -gText_HatchedFromEgg:: @ 841B6FD - .string "{STR_VAR_1} hatched from the EGG!$" - -gText_NickHatchPrompt:: @ 841B716 - .string "Would you like to nickname the newly\n" - .string "hatched {STR_VAR_1}?$" - -gString_OutOfCoins:: @ 841B747 - .string "You've run out of COINS.\n" - .string "Game over!$" - -gString_QuitPlaying:: @ 841B76B - .string "Quit playing?$" - -gString_SlotMachineControls:: @ 841B779 - .string "{DPAD_LEFTRIGHT}COMBOS {DPAD_DOWN}WAGER {A_BUTTON}STOP {B_BUTTON}EXIT$" - -gUnknown_841B798:: @ 0x841B798 - .string "おしえテレビ$" - -gUnknown_841B79F:: @ 0x841B79F - .string "おしまい$" - - .include "data/text/teachy_tv.inc" - -gString_Bill:: @ 841CB3C - .string "BILL$" - -gString_Someone:: @ 841CB41 - .string "SOMEONE$" - -gString_Help:: @ 841CB49 - .string "HELP$" - -gString_HelpSystem_ClearTo8:: @ 841CB4E - .string "{CLEAR_TO 8}$" - -gUnknown_841CB52:: @ 841CB52 - .string " points$" - -gUnknown_841CB5A:: @ 841CB5A - .string " time(s)$" - -gUnknown_841CB63:: @ 841CB63 - .string "POKéMON JUMP RECORDS$" - -gUnknown_841CB78:: - .string "Jumps in a row:$" - -gUnknown_841CB88:: - .string "Best score:$" - -gUnknown_841CB94:: - .string "EXCELLENTS in a row:$" - -gUnknown_841CBA9:: @ 841CBA9 - .string "Awesome score! You've\n" - .string "won {DYNAMIC 01} {DYNAMIC 00}!$" - -gUnknown_841CBCA:: @ 841CBCA - .string "There's no room left now.$" - -gUnknown_841CBE4:: @ 841CBE4 - .string "You can't hold any more!$" - -gUnknown_841CBFD:: @ 841CBFD - .string "Want to play again?$" - -gUnknown_841CC11:: @ 841CC11 - .string "Somebody dropped out.\n" - .string "The link will be canceled.$" - -gUnknown_841CC42:: @ 841CC42 - .string "SAVING…\n" - .string "DON'T TURN OFF THE POWER.$" - -gUnknown_841CC64:: @ 841CC64 - .string "Communication standby…$" - - .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:$" - -gText_BerryPickingResults:: @ 841CD03 - .string "Announcing BERRY-PICKING results!$" - -gText_10P30P50P50P:: @ 841CD25 - .string "10P 30P 50P {EXTRA 0xDD}50P$" - -gText_AnnouncingRankings:: @ 841CD43 - .string "Announcing rankings!$" - -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:$" - -gText_FirstPlacePrize:: @ 841CD7A - .string "The first-place winner gets\n" - .string "this {DYNAMIC 00}!$" - -gText_CantHoldAnyMore:: @ 841CD9F - .string "You can't hold any more...$" - -gText_FilledStorageSpace:: @ 841CDBA - .string "It filled its storage space.$" - -gText_WantToPlayAgain:: @ 841CDD7 - .string "Want to play again?$" - -gText_SomeoneDroppedOut:: @ 841CDEB - .string "Somebody dropped out.\n" - .string "The link will be canceled.$" - -gText_SpacePoints:: @ 841CE1C - .string " points$" - -gText_CommunicationStandby3:: @ 841CE24 - .string "Communication standby…$" - - .align 2 -gUnknown_841CE3C:: @ 841CE3C - .string "Are you ready to BERRY-CRUSH?\n" - .string "Please pick a BERRY for use.\p" - .string "$" - - .align 2 -gUnknown_841CE78:: @ 841CE78 - .string "Please wait while each member\n" - .string "chooses a BERRY.$" - - .align 2 -gUnknown_841CEA8:: @ 841CEA8 - .string "{PAUSE_MUSIC}{PLAY_BGM MUS_FANFA1}You ended up with {STR_VAR_1} units of\n" - .string "silky-smooth BERRY POWDER.{RESUME_MUSIC}\p" - .string "Your total amount of BERRY POWDER\n" - .string "is {STR_VAR_2}.\p" - .string "$" - - .align 2 -gUnknown_841CF14:: @ 841CF14 - .string "Recording your game results in the\n" - .string "save file.\n" - .string "Please wait.$" - - .align 2 -gUnknown_841CF50:: @ 841CF50 - .string "Want to play BERRY CRUSH again?$" - - .align 2 -gUnknown_841CF70:: @ 841CF70 - .string "You have no BERRIES.\n" - .string "The game will be canceled.$" - - .align 2 -gUnknown_841CFA0:: @ 841CFA0 - .string "A member dropped out.\n" - .string "The game will be canceled.$" - - .align 2 -gUnknown_841CFD4:: @ 841CFD4 - .string "Time's up.\p" - .string "Good BERRY POWDER could not be\n" - .string "made…\p" - .string "$" - - .align 2 -gUnknown_841D008:: @ 841D008 - .string "Communication standby…$" - - .align 2 -gUnknown_841D020:: @ 841D020 - .string "1. {COLOR LIGHT_GRAY}{SHADOW BLACK}{DYNAMIC 0x00}$" - -gUnknown_841D02C:: @ 841D02C - .string "1. {DYNAMIC 0x00}$" - - .align 2 -gUnknown_841D034:: @ 0x841D034 - .string " times$" - - .align 2 -gUnknown_841D03C:: @ 0x841D03C - .string "{STR_VAR_1}.{STR_VAR_2}$" - - .align 2 -gUnknown_841D044:: @ 0x841D044 - .string "{STR_VAR_1} BERRY$" - - .align 2 -gUnknown_841D050:: @ 841D050 - .string "Time:$" - - .align 2 -gUnknown_841D058:: @ 841D058 - .string "Pressing Speed:$" - -gUnknown_841D068:: @ 841D068 - .string "Silkiness:$" - - .align 2 -gUnknown_841D074:: @ 841D074 - .string "{STR_VAR_1}$" - - .align 2 -gUnknown_841D078:: @ 841D078 - .string "min.$" - - .align 2 -gUnknown_841D080:: @ 841D080 - .string "{STR_VAR_1}.{STR_VAR_2}$" - - .align 2 -gUnknown_841D088:: @ 841D088 - .string "sec.$" - - .align 2 -gUnknown_841D090:: @ 841D090 - .string "{STR_VAR_1}.{STR_VAR_2}$" - - .align 2 -gUnknown_841D098:: @ 841D098 - .string "Times/sec.$" - - .align 2 -gUnknown_841D0A4:: @ 841D0A4 - .string "{STR_VAR_1}サ$" - - .align 2 -gUnknown_841D0A8:: @ 841D0A8 - .string "No. of Presses Rankings$" - - .align 2 -gUnknown_841D0C0:: @ 841D0C0 - .string "Crushing Results$" - - .align 2 -gUnknown_841D0D4:: @ 0x841D0D4 - .string "Neatness Rankings$" - - .align 2 -gUnknown_841D0E8:: @ 0x841D0E8 - .string "Cooperative Rankings$" - - .align 2 -gUnknown_841D100:: @ 0x841D100 - .string "Pressing-Power Rankings$" - -gUnknown_841D118:: @ 841D118 - .string "BERRY CRUSH$" - -gUnknown_841D124:: @ 841D124 - .string "Pressing-Speed Rankings$" - -gUnknown_841D13C:: @ 841D13C - .string "{STR_VAR_1} PLAYERS$" - - .align 2 -gText_Ghost:: @ 841D148 - .string "GHOST$" - -gUnknown_841D14E:: @ 841D14E - .string "A POKéMON's on the hook!{PAUSE_UNTIL_PRESS}$" - -gUnknown_841D169:: @ 841D169 - .string "Not even a nibble‥{PAUSE_UNTIL_PRESS}$" - -gUnknown_841D17E:: @ 841D17E - .string "It got away‥{PAUSE_UNTIL_PRESS}$" - -gUnknown_841D18D:: @ 841D18D - .string "ROOFTOP$" - - .align 2 -gString_PokemonFireRed_Staff:: @ 841D198 - .string "Pokémon FireRed Version\n" - .string "Staff$" - - .align 2 -gString_PokemonLeafGreen_Staff:: @ 0x841D1B8 - .string "Pokémon LeafGreen Version\n" - .string "Staff$" - - .align 2 -gCreditsString_Director:: @ 0x841D1D8 - .string "\n" - .string "\nDirector\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_Junichi_Masuda:: @ 0x841D1E8 - .string "\n" - .string "\n\n" - .string "Junichi Masuda\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Art_Director_Battle_Director:: @ 0x841D200 - .string "\n" - .string "Art Director\n" - .string "\nBattle Director\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Ken_Sugimori_Shigeki_Morimoto:: @ 0x841D224 - .string "\n" - .string "\nKen Sugimori\n" - .string "\nShigeki Morimoto\n" - .string "\n$" - - .align 2 -gCreditsString_Program_Leader_Planning_Leader_Graphic_Design_Leader:: @ 0x841D248 - .string "Program Leader\n" - .string "\nPlanning Leader\n" - .string "\nGraphic Design Leader\n" - .string "\n$" - - .align 2 -gCreditsString_Tetsuya_Watanabe_Koji_Nishino_Takao_Unno:: @ 0x841D284 - .string "\n" - .string "Tetsuya Watanabe\n" - .string "\nKoji Nishino\n" - .string "\nTakao Unno\n" - .string "$" - - .align 2 -gCreditsString_Programmers:: @ 0x841D2B4 - .string "Programmers\n" - .string "\n\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Hiroyuki_Nakamura_Masao_Taya_Satoshi_Nohara_Miyuki_Iwasawa_Daisuke_Goto:: @ 0x841D2C8 - .string "\n" - .string "Hiroyuki Nakamura\n" - .string "Masao Taya\n" - .string "Satoshi Nohara\n" - .string "Miyuki Iwasawa\n" - .string "Daisuke Goto\n" - .string "$" - - .align 2 -gCreditsString_System_Programmers:: @ 0x841D314 - .string "System Programmers\n" - .string "\n\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_Tetsuya_Watanabe_Akito_Mori_Hisashi_Sogabe_Sousuke_Tamada:: @ 0x841D330 - .string "\n" - .string "Tetsuya Watanabe\n" - .string "Akito Mori\n" - .string "Hisashi Sogabe\n" - .string "Sousuke Tamada\n" - .string "\n$" - - .align 2 -gCreditsString_Graphic_Designers:: @ 0x841D370 - .string "Graphic Designers\n" - .string "\n\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_Takao_Unno_Asuka_Iwashita_Kanako_Eo_Hiroki_Fuchino:: @ 0x841D388 - .string "\n" - .string "Takao Unno\n" - .string "Asuka Iwashita\n" - .string "Kanako Eo\n" - .string "Hiroki Fuchino\n" - .string "\n$" - - .align 2 -gCreditsString_Graphic_Designers_2:: @ 0x841D3C0 - .string "\n" - .string "Graphic Designers\n" - .string "\n\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Ken_Sugimori_Hironobu_Yoshida:: @ 0x841D3D8 - .string "\n" - .string "\nKen Sugimori\n" - .string "Hironobu Yoshida\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Music_Composition:: @ 0x841D3FC - .string "\n" - .string "Music Composition\n" - .string "\n\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Go_Ichinose_Junichi_Masuda:: @ 0x841D414 - .string "\n" - .string "\nGo Ichinose\n" - .string "Junichi Masuda\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Sound_Effects:: @ 0x841D434 - .string "\n" - .string "\nSound Effects\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_Go_Ichinose:: @ 0x841D448 - .string "\n" - .string "\n\n" - .string "Go Ichinose\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Game_Designers:: @ 0x841D45C - .string "\n" - .string "Game Designers\n" - .string "\n\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Junichi_Masuda_Koji_Nishino_Tetsuji_Ohta:: @ 0x841D474 - .string "\n" - .string "\nJunichi Masuda\n" - .string "Koji Nishino\n" - .string "Tetsuji Ohta\n" - .string "\n$" - - .align 2 -gCreditsString_Game_Designers_2:: @ 0x841D4A4 - .string "\n" - .string "Game Designers\n" - .string "\n\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Hitomi_Sato_Shigeru_Ohmori_Tadashi_Takahashi:: @ 0x841D4BC - .string "\n" - .string "\nHitomi Sato\n" - .string "Shigeru Ohmori\n" - .string "Tadashi Takahashi\n" - .string "\n$" - - .align 2 -gCreditsString_Game_Scenario:: @ 0x841D4F0 - .string "\n" - .string "Game Scenario\n" - .string "\n\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Hitomi_Sato_Satoshi_Tajiri:: @ 0x841D504 - .string "\n" - .string "\nHitomi Sato\n" - .string "Satoshi Tajiri\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Script_Designer_Map_Designer:: @ 0x841D524 - .string "\n" - .string "Script Designer\n" - .string "\nMap Designer\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Satoshi_Nohara_Shigeru_Ohmori:: @ 0x841D548 - .string "\n" - .string "\nSatoshi Nohara\n" - .string "\nShigeru Ohmori\n" - .string "\n$" - - .align 2 -gCreditsString_Parametric_Designers:: @ 0x841D56C - .string "\n" - .string "Parametric Designers\n" - .string "\n\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Koji_Nishino_Tetsuji_Ohta_Shigeki_Morimoto:: @ 0x841D588 - .string "\n" - .string "\nKoji Nishino\n" - .string "Tetsuji Ohta\n" - .string "Shigeki Morimoto\n" - .string "\n$" - - .align 2 -gCreditsString_POKeDEX_Text:: @ 0x841D5B8 - .string "\n" - .string "\nPOKéDEX Text\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_Kenji_Matsushima:: @ 0x841D5CC - .string "\n" - .string "\n\n" - .string "Kenji Matsushima\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_POKeMON_Designers:: @ 0x841D5E4 - .string "POKéMON Designers\n" - .string "\n\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_Ken_Sugimori_Motofumi_Fujiwara_Shigeki_Morimoto_Hironobu_Yoshida:: @ 0x841D5FC - .string "\n" - .string "Ken Sugimori\n" - .string "Motofumi Fujiwara\n" - .string "Shigeki Morimoto\n" - .string "Hironobu Yoshida\n" - .string "\n$" - - .align 2 -gCreditsString_POKeMON_Designers_2:: @ 0x841D640 - .string "POKéMON Designers\n" - .string "\n\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_Satoshi_Ohta_Asuka_Iwashita_Takao_Unno_Kanako_Eo_Aimi_Tomita:: @ 0x841D658 - .string "\n" - .string "Satoshi Ohta\n" - .string "Asuka Iwashita\n" - .string "Takao Unno\n" - .string "Kanako Eo\n" - .string "Aimi Tomita\n" - .string "$" - - .align 2 -gCreditsString_POKeMON_Designers_3:: @ 0x841D698 - .string "POKéMON Designers\n" - .string "\n\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_Atsuko_Nishida_Muneo_Saito_Rena_Yoshikawa_Jun_Okutani:: @ 0x841D6B0 - .string "\n" - .string "Atsuko Nishida\n" - .string "Muneo Saito\n" - .string "Rena Yoshikawa\n" - .string "Jun Okutani\n" - .string "\n$" - - .align 2 -gCreditsString_Supporting_Programmers:: @ 0x841D6EC - .string "Supporting Programmers\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_Teruyuki_Yoshioka_Takao_Nakano_Satoshi_Mitsuhara_Daisuke_Hoshino:: @ 0x841D708 - .string "\n" - .string "Teruyuki Yoshioka\n" - .string "Takao Nakano\n" - .string "\nSatoshi Mitsuhara\n" - .string "Daisuke Hoshino\n" - .string "$" - - .align 2 -gCreditsString_NCL_Product_Testing:: @ 0x841D74C - .string "\n" - .string "\nNCL Product Testing\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_NCL_Super_Mario_Club:: @ 0x841D768 - .string "\n" - .string "\n\n" - .string "NCL Super Mario Club\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Special_Thanks:: @ 0x841D784 - .string "Special Thanks\n" - .string "\n\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_Hiro_Nakamura_Hiroyuki_Uesugi_Teruki_Murakawa_Kazuya_Suyama:: @ 0x841D79C - .string "\n" - .string "Hiro Nakamura\n" - .string "Hiroyuki Uesugi\n" - .string "Teruki Murakawa\n" - .string "\nKazuya Suyama\n" - .string "$" - - .align 2 -gCreditsString_Special_Thanks_2:: @ 0x841D7DC - .string "Special Thanks\n" - .string "\n\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_Kenji_Tominaga_Kenjiro_Ito_Tomotaka_Komura_Michiko_Takizawa:: @ 0x841D7F4 - .string "\n" - .string "Kenji Tominaga\n" - .string "\nKenjiro Ito\n" - .string "Tomotaka Komura\n" - .string "Michiko Takizawa\n" - .string "$" - - .align 2 -gCreditsString_Special_Thanks_3:: @ 0x841D834 - .string "Special Thanks\n" - .string "\n\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_Makiko_Takada_Mikiko_Ohashi_Shusaku_Egami_Takanao_Kondo_Rui_Kawaguchi:: @ 0x841D84C - .string "\n" - .string "Makiko Takada\n" - .string "Mikiko Ohashi\n" - .string "Shusaku Egami\n" - .string "Takanao Kondo\n" - .string "Rui Kawaguchi\n" - .string "$" - - .align 2 -gCreditsString_Braille_Code_Check:: @ 0x841D894 - .string "\n" - .string "\nBraille Code Check\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_Japan_Braille_Library:: @ 0x841D8B0 - .string "\n" - .string "\n\n" - .string "Japan Braille Library\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Information_Supervisors:: @ 0x841D8CC - .string "Information Supervisors\n" - .string "\n\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_Hiroki_Enomoto_Kazuyuki_Terada_Yuri_Sakurai_Yumi_Funasaka_Naoko_Yanase:: @ 0x841D8EC - .string "\n" - .string "Hiroki Enomoto\n" - .string "Kazuyuki Terada\n" - .string "Yuri Sakurai\n" - .string "Yumi Funasaka\n" - .string "Naoko Yanase\n" - .string "$" - - .align 2 -gCreditsString_Coordinators:: @ 0x841D938 - .string "Coordinators\n" - .string "\n\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_Azusa_Tajima_Akira_Kinashi_Kazuki_Yoshihara_Retsuji_Nomoto:: @ 0x841D94C - .string "\n" - .string "Azusa Tajima\n" - .string "Akira Kinashi\n" - .string "Kazuki Yoshihara\n" - .string "\nRetsuji Nomoto\n" - .string "$" - - .align 2 -gCreditsString_Task_Managers:: @ 0x841D98C - .string "\n" - .string "Task Managers\n" - .string "\n\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Hitoshi_Yamagami_Gakuji_Nomoto:: @ 0x841D9A0 - .string "\n" - .string "\nHitoshi Yamagami\n" - .string "Gakuji Nomoto\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Producers:: @ 0x841D9C4 - .string "\n" - .string "Producers\n" - .string "\n\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Hiroyuki_Jinnai_Takehiro_Izushi_Hiroaki_Tsuru:: @ 0x841D9D4 - .string "\n" - .string "\nHiroyuki Jinnai\n" - .string "Takehiro Izushi\n" - .string "Hiroaki Tsuru\n" - .string "\n$" - - .align 2 -gCreditsString_Executive_Director:: @ 0x841DA08 - .string "\n" - .string "\nExecutive Director\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_Satoshi_Tajiri:: @ 0x841DA24 - .string "\n" - .string "\n\n" - .string "Satoshi Tajiri\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Executive_Producer:: @ 0x841DA3C - .string "\n" - .string "\nExecutive Producer\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_Satoru_Iwata:: @ 0x841DA58 - .string "\n" - .string "\n\n" - .string "Satoru Iwata\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Executive_Producer_2:: @ 0x841DA6C - .string "\n" - .string "\nExecutive Producer\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_Tsunekaz_Ishihara:: @ 0x841DA88 - .string "\n" - .string "\n\n" - .string "Tsunekaz Ishihara\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_English_Version_Coordinators:: @ 0x841DAA0 - .string "\n" - .string "English Version Coordinators\n" - .string "\n\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Hiro_Nakamura_Seth_McMahill:: @ 0x841DAC4 - .string "\n" - .string "\nHiro Nakamura\n" - .string "Seth McMahill\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Translator_Text_Editor:: @ 0x841DAE8 - .string "\n" - .string "Translator\n" - .string "\nText Editor\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Nob_Ogasawara_Teresa_Lillygren:: @ 0x841DB04 - .string "\n" - .string "\nNob Ogasawara\n" - .string "\nTeresa Lillygren\n" - .string "\n$" - - .align 2 -gCreditsString_Programmers_2:: @ 0x841DB28 - .string "Programmers\n" - .string "\n\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_Teruki_Murakawa_Souichi_Yamamoto_Yuichiro_Ito_Akira_Kinashi:: @ 0x841DB3C - .string "\n" - .string "Teruki Murakawa\n" - .string "Souichi Yamamoto\n" - .string "Yuichiro Ito\n" - .string "Akira Kinashi\n" - .string "\n$" - - .align 2 -gCreditsString_Environment_Tool_Programmers:: @ 0x841DB7C - .string "\n" - .string "Environment & Tool Programmers\n" - .string "\n\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Teruki_Murakawa_Souichi_Yamamoto_Kimiko_Nakamichi:: @ 0x841DBA4 - .string "\n" - .string "\nTeruki Murakawa\n" - .string "Souichi Yamamoto\n" - .string "Kimiko Nakamichi\n" - .string "\n$" - - .align 2 -gCreditsString_NOA_Product_Testing:: @ 0x841DBDC - .string "NOA Product Testing\n" - .string "\n\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_Thomas_Hertzog_Kathy_Huguenard_Mika_Kurosawa:: @ 0x841DBF8 - .string "\n" - .string "Thomas Hertzog\n" - .string "Kathy Huguenard\n" - .string "Mika Kurosawa\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_Braille_Code_Check_2:: @ 0x841DC2C - .string "Braille Code Check\n" - .string "\n\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_National_Federation_of_the_Blind_Patricia_A_Maurer_Japan_Braille_Library_European_Blind_Union:: @ 0x841DC48 - .string "\n" - .string "National Federation\n" - .string "{CLEAR_TO 0x13}of the Blind\n" - .string "Patricia A. Maurer\n" - .string "Japan Braille Library\n" - .string "European Blind Union\n" - .string "$" - - .align 2 -gCreditsString_Braille_Code_Check_3:: @ 0x841DCAC - .string "\n" - .string "Braille Code Check\n" - .string "\n\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_National_Information_Library_Service_Margaret_Campion:: @ 0x841DCC8 - .string "\n" - .string "\nNational Information Library\n" - .string "{CLEAR_TO 0x2D}Service\n" - .string "Margaret Campion\n" - .string "\n$" - - .align 2 -gCreditsString_Special_Thanks_4:: @ 0x841DD08 - .string "Special Thanks\n" - .string "\n\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_Takehiro_Izushi_Motoyasu_Tojima_Hitoshi_Yamagami_Hiroyuki_Uesugi:: @ 0x841DD20 - .string "\n" - .string "Takehiro Izushi\n" - .string "Motoyasu Tojima\n" - .string "Hitoshi Yamagami\n" - .string "Hiroyuki Uesugi\n" - .string "\n$" - - .align 2 -gCreditsString_Special_Thanks_5:: @ 0x841DD64 - .string "Special Thanks\n" - .string "\n\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_Nicola_Pratt_Barlow_Shellie_Dow_Anthony_Howitt_Naoko_Saeki_Kyoko_Onishi:: @ 0x841DD7C - .string "\n" - .string "Nicola Pratt-Barlow\n" - .string "Shellie Dow\n" - .string "Anthony Howitt\n" - .string "Naoko Saeki\n" - .string "Kyoko Onishi\n" - .string "$" - - .align 2 -gCreditsString_Braille_Code_Check_4:: @ 0x841DDC8 - .string "\n" - .string "Braille Code Check\n" - .string "\n\n" - .string "\n\n" - .string "$" - - .align 2 -gCreditsString_The_Royal_New_Zealand_Foundation_of_the_Blind_Greg_Moran:: @ 0x841DDE4 - .string "\n" - .string "\nThe Royal New Zealand\n" - .string "Foundation of the Blind\n" - .string "Greg Moran\n" - .string "\n$" - - .align 2 -gCreditsString_Graphic_Designer:: @ 0x841DE24 - .string "\n" - .string "\nGraphic Designer\n" - .string "\n\n" - .string "\n$" - - .align 2 -gCreditsString_Akira_Kinashi:: @ 0x841DE3C - .string "\n" - .string "\n\n" - .string "Akira Kinashi\n" - .string "\n\n" - .string "$" - -gJPText_MysteryGift:: @ 841DE50 - .string "$" - -gJPText_DecideStop:: @ 841DE51 - .string "$" - -gUnknown_841DE52:: @ 841DE52 - .string "$" - -gUnknown_841DE53:: @ 841DE53 - .string "$" - -gUnknown_841DE54:: @ 841DE54 - .string "$" - -gUnknown_841DE55:: @ 841DE55 - .string "カ-ドeリ-ダ-{PLUS}の ‘つうしん'を\n" - .string "えらんで Aボタンを おしてください$" - -gUnknown_841DE7C:: @ 841DE7C - .string "$" - -gUnknown_841DE7D:: @ 841DE7D - .string "$" - -gUnknown_841DE7E:: @ 841DE7E - .string "カ-ドeリ-ダ-{PLUS}と\n" - .string "つうしん できません$" - -gUnknown_841DE95:: @ 841DE95 - .string "$" - -gUnknown_841DE96:: @ 841DE96 - .string "$" - -gUnknown_841DE97:: @ 841DE97 - .string "$" - -gUnknown_841DE98:: @ 841DE98 - .string "$" - -gUnknown_841DE99:: @ 841DE99 - .string "$" - -gUnknown_841DE9A:: @ 841DE9A - .string "$" - -gUnknown_841DE9B:: @ 841DE9B - .string "$" - -gUnknown_841DE9C:: @ 841DE9C - .string "$" - -gText_CommErrorCheckConnections:: @ 841DE9D - .string "Communication error…\n" - .string "Please check all connections,\n" - .string "then turn the power OFF and ON.$" - -gText_CommErrorEllipsis:: @ 841DEF0 - .string "Communication error…$" - -gText_MoveCloserToLinkPartner:: @ 841DF05 - .string "Move closer to your link partner(s).\n" - .string "Avoid obstacles between partners.$" - -gText_ABtnRegistrationCounter:: @ 841DF4C - .string "A Button: Registration Counter$" - -gText_ABtnTitleScreen:: @ 841DF6B - .string "A Button: Title Screen$" - -gUnknown_841DF82:: @ 841DF82 - .string "{STR_VAR_1}P LINK$" - -gUnknown_841DF8B:: @ 841DF8B - .string "BRONZE$" - -gUnknown_841DF92:: @ 841DF92 - .string "COPPER$" - -gUnknown_841DF99:: @ 841DF99 - .string "SILVER$" - -gUnknown_841DFA0:: @ 841DFA0 - .string "GOLD$" - -gUnknown_841DFA5:: @ 841DFA5 - .string "{A_BUTTON}NEXT$" - -gUnknown_841DFAC:: @ 841DFAC - .string "{DPAD_UPDOWN}PICK {A_BUTTON}OK {B_BUTTON}END$" - -gUnknown_841DFBE:: @ 841DFBE - .string "{A_BUTTON}{B_BUTTON}CANCEL$" - -gUnknown_841DFC9:: @ 841DFC9 - .string "{DPAD_UPDOWN}PICK {A_BUTTON}OK {B_BUTTON}CANCEL$" - -gEasyChatGroupName_Pokemon:: @ 841E08A @ easy chat categories - .string "POKéMON$" - -gEasyChatGroupName_Trainer:: @ 841DFE6 - .string "TRAINER$" - -gEasyChatGroupName_Status:: @ 841DFEE - .string "STATUS$" - -gEasyChatGroupName_Battle:: @ 841DFF5 - .string "BATTLE$" - -gEasyChatGroupName_Greetings:: @ 841DFFC - .string "GREETINGS$" - -gEasyChatGroupName_People:: @ 841E006 - .string "PEOPLE$" - -gEasyChatGroupName_Voices:: @ 841E00D - .string "VOICES$" - -gEasyChatGroupName_Speech:: @ 841E014 - .string "SPEECH$" - -gEasyChatGroupName_Endings:: @ 841E01B - .string "ENDINGS$" - -gEasyChatGroupName_Feelings:: @ 841E023 - .string "FEELINGS$" - -gEasyChatGroupName_Conditions:: @ 841E02C - .string "CONDITIONS$" - -gEasyChatGroupName_Actions:: @ 841E037 - .string "ACTIONS$" - -gEasyChatGroupName_Lifestyle:: @ 841E03F - .string "LIFESTYLE$" - -gEasyChatGroupName_Hobbies:: @ 841E049 - .string "HOBBIES$" - -gEasyChatGroupName_Time:: @ 841E051 - .string "TIME$" - -gEasyChatGroupName_Misc:: @ 841E056 - .string "MISC.$" - -gEasyChatGroupName_Adjectives:: @ 841E05C - .string "ADJECTIVES$" - -gEasyChatGroupName_Events:: @ 841E067 - .string "EVENTS$" - -gEasyChatGroupName_Move1:: @ 841E06E - .string "MOVE 1$" - -gEasyChatGroupName_Move2:: @ 841E075 - .string "MOVE 2$" - -gEasyChatGroupName_TrendySaying:: @ 841E07C - .string "TRENDY SAYING$" - -gEasyChatGroupName_Pokemon2:: @ 841DFDE - .string "POKéMON2$" - - @ trade-related -gText_ThreeQuestionMarks:: @ 841E093 - .string "???$" - - .string "$" - - .string "Lv$" - - .string "---$" - -gUnknown_841E09F:: @ 841E09F - .string "????$" - - .string "$" - -gUnknown_841E0A5:: @ 841E0A5 - .string "Is this trade okay?$" - -gTradeText_Cancel:: - .string "CANCEL$" - -gTradeText_ChooseAPokemon:: - .string "Choose a POKéMON.$" - -gTradeText_Summary:: - .string "SUMMARY$" - -gTradeText_Trade:: - .string "TRADE$" - -gTradeText_CancelTrade:: - .string "Cancel trade?$" - -gTradeText_PressBButtonToExit:: - .string "Press the B Button to exit.$" - -gUnknown_841E10A:: - .string "SUMMARY$" - -gUnknown_841E112:: - .string "TRADE$" - -gUnknown_841E118:: - .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}Communication standby…\n" - .string "Please wait.$" - -gUnknown_841E145:: - .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}The trade has been canceled.$" - -gUnknown_841E16B:: - .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}That's your only POKéMON\n" - .string "for battle.$" - -gUnknown_841E199:: - .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}Waiting for your friend\n" - .string "to finish…$" - -gUnknown_841E1C5:: - .string "Your friend wants\n" - .string "to trade POKéMON.$" - -gText_XWillBeSentToY:: @ 841E1E9 - .string "{STR_VAR_2} will be\n" - .string "sent to {STR_VAR_1}.$" - -gText_ByeByeVar1:: @ 841E200 - .string "Bye-bye, {STR_VAR_2}!$" - -gText_XSentOverY:: @ 841E20D - .string "{STR_VAR_1} sent over {STR_VAR_3}.$" - -gText_TakeGoodCareOfX:: @ 841E21E - .string "Take good care of {STR_VAR_3}!$" - -gText_From:: @ 841E234 - .string "From $" - -gUnknown_841E23A:: @ 841E23A - .string "$" - -gUnknown_841E23B:: @ 841E23B - .string "$" - -gUnknown_841E23C:: @ 841E23C - .string "$" - -gUnknown_841E23D:: @ 841E23D - .string "$" - -gUnknown_841E23E:: @ 841E23E - .string "$" - -gUnknown_841E23F:: @ 841E23F - .string "$" - -gUnknown_841E240:: @ 841E240 - .string "$" - -gUnknown_841E241:: @ 841E241 - .string "$" - -gUnknown_841E242:: @ 841E242 - .string "$" - -gUnknown_841E243:: @ 841E243 - .string "$" - -gUnknown_841E244:: @ 841E244 - .string "$" - -gUnknown_841E245:: @ 841E245 - .string "Wireless Communication Status$" - -gUnknown_841E263:: @ 841E263 - .string "People trading:$" - -gUnknown_841E273:: @ 841E273 - .string "People battling:$" - -gUnknown_841E284:: @ 841E284 - .string "People in the UNION ROOM:$" - -gUnknown_841E29E:: @ 841E29E - .string "People communicating:$" - -gUnknown_841E2B4:: @ 841E2B4 - .string "{DYNAMIC 0x00} players$" - -gUnknown_841E2BF:: @ 841E2BF - .string "{DYNAMIC 0x01} player$" - -gUnknown_841E2C9:: @ 841E2C9 - .string "{DYNAMIC 0x02} players$" - -gUnknown_841E2D4:: @ 841E2D4 - .string "{DYNAMIC 0x03} players$" - -gUnknown_841E2DF:: @ 841E2DF - .string "{DPAD_ANY}えらぶ:{A_BUTTON}けってい$" - -gUnknown_841E2EC:: @ 841E2EC - .string "{B_BUTTON}CANCEL$" - -gUnknown_841E2F5:: @ 841E2F5 - .string "{COLOR BLUE}{SHADOW YELLOW} たいせんの くみあわせ\n" - .string "{COLOR RED}{SHADOW GREEN}じぶんの ばしょをきめて ください$" - -gUnknown_841E322:: @ 841E322 - .string "{ID}$" - -gText_CommunicationStandby5:: @ 841E325 - .string "Communication standby…$" - -gDaycareText_GetAlongVeryWell:: @ 841E33C - .string "The two seem to get along\n" - .string "very well.$" - -gDaycareText_GetAlong:: @ 841E361 - .string "The two seem to get along.$" - -gDaycareText_DontLikeOther:: @ 841E37C - .string "The two don't seem to like\n" - .string "each other much.$" - -gDaycareText_PlayOther:: @ 841E3A8 - .string "The two prefer to play with other\n" - .string "POKéMON than each other.$" - -gText_TeachWhichMoveToMon:: @ 841E3E3 - .string "Teach which move to {STR_VAR_1}?$" - -gText_TeachMoveQues:: @ 841E3FB - .string "Teach {STR_VAR_2}?$" - -gText_MonLearnedMove:: @ 841E405 - .string "{STR_VAR_1} learned\n" - .string "{STR_VAR_2}.$" - -gText_MonIsTryingToLearnMove:: @ 841E414 - .string "{STR_VAR_1} is trying to learn\n" - .string "{STR_VAR_2}.\p" - .string "But {STR_VAR_1} can't learn more\n" - .string "than four moves.\p" - .string "Delete an older move to make\n" - .string "room for {STR_VAR_2}?$" - -gText_StopLearningMove:: @ 841E481 - .string "Stop learning {STR_VAR_2}?$" - -gText_1_2_and_Poof:: @ 841E493 - .string "{PAUSE 0x20}1, {PAUSE 0x0F}2, and {PAUSE 0x0F}‥ {PAUSE 0x0F}‥ {PAUSE 0x0F}‥ {PAUSE 0x0F}{PLAY_SE SE_KON}Poof!\p" - .string "$" - -gText_MonForgotOldMoveAndMonLearnedNewMove:: @ 841E4C0 - .string "{STR_VAR_1} forgot {STR_VAR_3}.\p" - .string "And‥\p" - .string "{STR_VAR_1}\n" - .string "learned {STR_VAR_2}.$" - -gText_GiveUpTryingToTeachNewMove:: @ 841E4E2 - .string "Give up trying to teach a new\n" - .string "move to {STR_VAR_1}?$" - -gText_WhichMoveShouldBeForgotten:: @ 841E50C - .string "Which move should be forgotten?\p" - .string "$" - -gUnknown_841E52D:: @ 0x841E52D - .string "----------$" - -gText_CommStandbyAwaitingOtherPlayer:: @ 841E538 - .string "Communication standby‥\n" - .string "Awaiting another player to choose.$" - -gText_BattleWasRefused:: @ 841E572 - .string "The battle was refused.{PAUSE 0x3C}$" - -gText_RefusedBattle:: @ 841E58D - .string "Refused the battle.{PAUSE 0x3C}$" - -gFameCheckerText_MainScreenUI:: @ 841E5A4 - .string "{START_BUTTON}PICK {DPAD_UPDOWN}SELECT {A_BUTTON}OK$" - -gFameCheckerText_PickScreenUI:: @ 841E5B9 - .string "{START_BUTTON}PICK {DPAD_UPDOWN}SELECT {B_BUTTON}CANCEL$" - -gFameCheckerText_FlavorTextUI:: @ 841E5D2 - .string "{DPAD_ANY}PICK {A_BUTTON}READ {B_BUTTON}CANCEL$" - -gFameCheckerOakName:: @ 841E5E9 - .string "OAK$" - -gFameCheckerDaisyName:: @ 841E5ED - .string "DAISY$" - -gFameCheckerBillName:: @ 841E5F3 - .string "BILL$" - -gFameCheckerMrFujiName:: @ 841E5F8 - .string "FUJI$" - -gText_VarietyOfEventsImportedWireless:: @ 841E5FD - .string "A variety of events will be imported\n" - .string "over Wireless Communication.$" - -gText_WonderCardsInPossession:: @ 841E63F - .string "Read the WONDER CARDS in your\n" - .string "possession.$" - -gText_ReadNewsThatArrived:: @ 841E669 - .string "Read the NEWS that arrived.$" - -gText_ReturnToTitle:: @ 841E685 - .string "Return to the title screen.$" - -gText_DontHaveCardNewOneInput:: @ 841E6A1 - .string "You don't have a WONDER CARD,\n" - .string "so a new CARD will be input.$" - -gText_DontHaveNewsNewOneInput:: @ 841E6DC - .string "You don't have any WONDER NEWS,\n" - .string "so new NEWS will be input.$" - -gText_WhereShouldCardBeAccessed:: @ 841E717 - .string "Where should the WONDER CARD\n" - .string "be accessed?$" - -gText_WhereShouldNewsBeAccessed:: @ 841E741 - .string "Where should the WONDER NEWS\n" - .string "be accessed?$" - -gUnknown_841E76B:: @ 841E76B - .string "Link standby...\n" - .string "... ... B Button: Cancel$" - -gText_Communicating:: @ 841E794 - .string "Communicating…$" - -gText_CommunicationCompleted:: @ 841E7A3 - .string "Communication completed.$" - -gText_CommunicationError:: @ 841E7BC - .string "Communication error.$" - -gText_CommunicationCanceled:: @ 841E7D1 - .string "Communication has been canceled.$" - -gText_ThrowAwayWonderCard:: @ 841E7F2 - .string "Throw away the WONDER CARD\n" - .string "and input a new CARD?$" - -gText_HaventReceivedCardsGift:: @ 841E823 - .string "You haven't received the CARD's gift\n" - .string "yet. Input a new CARD anyway?$" - -gText_WonderCardReceivedFrom:: @ 841E866 - .string "A WONDER CARD has been received\n" - .string "from {STR_VAR_1}.$" - -gText_WonderNewsReceivedFrom:: @ 841E88F - .string "A WONDER NEWS item has been\n" - .string "received from {STR_VAR_1}.$" - -gText_WonderCardReceived:: @ 841E8BD - .string "A new WONDER CARD has been\n" - .string "received.$" - -gText_WonderNewsReceived:: @ 841E8E2 - .string "A new WONDER NEWS item has been\n" - .string "received.$" - -gText_NewStampReceived:: @ 841E90C - .string "A new STAMP has been received.$" - -gText_NewTrainerReceived:: @ 841E92B - .string "A new TRAINER has arrived.$" - -gText_AlreadyHadCard:: @ 841E946 - .string "You already had that\n" - .string "WONDER CARD.$" - -gText_AlreadyHadNews:: @ 841E968 - .string "You already had that\n" - .string "WONDER NEWS item.$" - -gText_AlreadyHadStamp:: @ 841E98F - .string "You already had that\n" - .string "STAMP.$" - -gText_NoMoreRoomForStamps:: @ 841E9AB - .string "There's no more room for adding\n" - .string "STAMPS.$" - -gText_RecordUploadedViaWireless:: @ 841E9D3 - .string "Your record has been uploaded via\n" - .string "WIRELESS COMMUNICATION.$" - -gText_CantAcceptCardFromTrainer:: @ 841EA0D - .string "You can't accept a WONDER CARD\n" - .string "from this TRAINER.$" - -gText_CantAcceptNewsFromTrainer:: @ 841EA3F - .string "You can't accept WONDER NEWS\n" - .string "from this TRAINER.$" - -gText_NothingSentOver:: @ 841EA6F - .string "Nothing was sent over…$" - -gText_WhatToDoWithCards:: @ 841EA86 - .string "What would you like to do\n" - .string "with the WONDER CARDS?$" - -gText_WhatToDoWithNews:: @ 841EAB7 - .string "What would you like to do\n" - .string "with the WONDER NEWS?$" - -gText_SendingWonderCard:: @ 841EAE7 - .string "Sending your WONDER CARD…$" - -gText_SendingWonderNews:: @ 841EB01 - .string "Sending your WONDER NEWS item…$" - -gText_WonderCardSentTo:: @ 841EB20 - .string "Your WONDER CARD has been sent\n" - .string "to {STR_VAR_1}.$" - -gText_WonderNewsSentTo:: @ 841EB46 - .string "Your WONDER NEWS item has been\n" - .string "sent to {STR_VAR_1}.$" - -gText_StampSentTo:: @ 841EB71 - .string "A STAMP has been sent to {STR_VAR_1}.$" - -gText_GiftSentTo:: @ 841EB8E - .string "A GIFT has been sent to {STR_VAR_1}.$" - -gText_OtherTrainerHasCard:: @ 841EBAA - .string "The other TRAINER has the same\n" - .string "WONDER CARD already.$" - -gText_OtherTrainerHasNews:: @ 841EBDE - .string "The other TRAINER has the same\n" - .string "WONDER NEWS already.$" - -gText_OtherTrainerHasStamp:: @ 841EC12 - .string "The other TRAINER has the same\n" - .string "STAMP already.$" - -gText_OtherTrainerCanceled:: @ 841EC40 - .string "The other TRAINER canceled\n" - .string "communication.$" - -gText_CantSendGiftToTrainer:: @ 841EC6A - .string "You can't send a MYSTERY GIFT to\n" - .string "this TRAINER.$" - -gText_IfThrowAwayCardEventWontHappen:: @ 841EC99 - .string "If you throw away the CARD,\n" - .string "its event won't happen. Okay?$" - -gText_OkayToDiscardNews:: @ 841ECD3 - .string "Is it okay to discard this\n" - .string "NEWS item?$" - -gText_HaventReceivedGiftOkayToDiscard:: @ 841ECF9 - .string "You haven't received the\n" - .string "GIFT. Is it okay to discard?$" - -gText_DataWillBeSaved:: @ 841ED2F - .string "Data will be saved.\n" - .string "Please wait.$" - -gText_SaveCompletedPressA:: @ 841ED50 - .string "Save completed.\n" - .string "Please press the A Button.$" - -gText_WonderCardThrownAway:: @ 841ED7B - .string "The WONDER CARD was thrown away.$" - -gText_WonderNewsThrownAway:: @ 841ED9C - .string "The WONDER NEWS was thrown away.$" - -gText_MysteryGift2:: @ 841EDBD - .string "MYSTERY GIFT$" - -gText_PickOKCancel:: @ 841EDCA - .string "{DPAD_UPDOWN}PICK {A_BUTTON}OK {B_BUTTON}EXIT$" - -gText_WonderCards:: - .string "WONDER CARDS$" - -gText_WonderNews:: - .string "WONDER NEWS$" - -gText_WirelessCommunication:: - .string "WIRELESS COMMUNICATION$" - -gText_Friend2:: - .string "FRIEND$" - -gText_Exit3:: - .string "EXIT$" - -gText_Receive:: - .string "RECEIVE$" - -gText_Send:: - .string "SEND$" - -gText_Toss:: - .string "TOSS$" - -gUnknown_841EE2B:: @ 841EE2B - .string "DEL. ALL{CLEAR_TO 0x57}CANCEL{CLEAR_TO 0xA4}OK$" - diff --git a/data/text/fame_checker.inc b/data/text/fame_checker.inc index 0705caffe..9fbe05652 100644 --- a/data/text/fame_checker.inc +++ b/data/text/fame_checker.inc @@ -1396,7 +1396,7 @@ PokemonJournal_Text_SpecialFeatureLtSurge:: @ 81B1558 .string "He used the electricity generated\n" .string "by POKéMON to power his plane.$" -gUnknown_81B161B:: @ 81B161B +PokemonJournal_Text_SpecialFeatureErika:: @ 81B161B .string "POKéMON JOURNAL\p" .string "Special Feature: CELADON GYM\n" .string "LEADER ERIKA!\p" @@ -1413,7 +1413,7 @@ PokemonJournal_Text_SpecialFeatureKoga:: @ 81B16A8 .string "He even concocts medicine to nurse\n" .string "his POKéMON to health.$" -gUnknown_81B1753:: @ 81B1753 +PokemonJournal_Text_SpecialFeatureSabrina:: @ 81B1753 .string "POKéMON JOURNAL\p" .string "Special Feature: SAFFRON GYM\n" .string "LEADER SABRINA!\p" @@ -1421,7 +1421,7 @@ gUnknown_81B1753:: @ 81B1753 .string "communicate with her POKéMON\l" .string "during battle without speaking.$" -gUnknown_81B17E9:: @ 81B17E9 +PokemonJournal_Text_SpecialFeatureBlaine:: @ 81B17E9 .string "POKéMON JOURNAL\p" .string "Special Feature: CINNABAR GYM\n" .string "LEADER BLAINE!\p" @@ -1429,7 +1429,7 @@ gUnknown_81B17E9:: @ 81B17E9 .string "shades only when he is thinking up\l" .string "new quiz questions.$" -gUnknown_81B187F:: @ 81B187F +PokemonJournal_Text_SpecialFeatureLorelei:: @ 81B187F .string "POKéMON JOURNAL\p" .string "Special Feature:\n" .string "ELITE FOUR's LORELEI!\p" @@ -1437,7 +1437,7 @@ gUnknown_81B187F:: @ 81B187F .string "and cool battling style, LORELEI\l" .string "has a surprising secret!$" -gUnknown_81B1913:: @ 81B1913 +PokemonJournal_Text_SpecialFeatureBruno:: @ 81B1913 .string "POKéMON JOURNAL\p" .string "Special Feature:\n" .string "ELITE FOUR's BRUNO!\p" @@ -1445,7 +1445,7 @@ gUnknown_81B1913:: @ 81B1913 .string "FOUR out of his burning ambition to\l" .string "battle the best TRAINERS.$" -gUnknown_81B19A8:: @ 81B19A8 +PokemonJournal_Text_SpecialFeatureAgatha:: @ 81B19A8 .string "POKéMON JOURNAL\p" .string "Special Feature:\n" .string "ELITE FOUR's AGATHA!\p" @@ -1453,7 +1453,7 @@ gUnknown_81B19A8:: @ 81B19A8 .string "OAK were rivals who vied for\l" .string "supremacy as TRAINERS.$" -gUnknown_81B1A31:: @ 81B1A31 +PokemonJournal_Text_SpecialFeatureLance:: @ 81B1A31 .string "POKéMON JOURNAL\p" .string "Special Feature:\n" .string "ELITE FOUR's LANCE!\p" @@ -1468,7 +1468,7 @@ PokemonJournal_Text_SpecialFeatureProfOak:: @ 81B1AB9 .string "PROF. OAK reportedly lives with his\n" .string "grandchildren DAISY and {RIVAL}.$" -gUnknown_81B1B3D:: @ 81B1B3D +PokemonJournal_Text_SpecialFeatureDaisyOak:: @ 81B1B3D .string "This is a POKéMON JOURNAL from\n" .string "years ago…\p" .string "POKéMON JOURNAL\n" @@ -1485,198 +1485,3 @@ PokemonJournal_Text_SpecialFeatureMrFuji:: @ 81B1BD1 .string "down our interview requests.\p" .string "He is a kindly man who is adored\n" .string "and respected in LAVENDER TOWN.$" - -gUnknown_81B1C8B:: @ 81B1C8B - .string "Hmm…\n" - .string "Is that right…$" - -gUnknown_81B1C9F:: @ 81B1C9F - .string "Oh!\n" - .string "Look, look!$" - -gUnknown_81B1CAF:: @ 81B1CAF - .string "Read it, read it!$" - -gUnknown_81B1CC1:: @ 81B1CC1 - .string "TRAINER TIPS\p" - .string "Press START to open the MENU!$" - -gUnknown_81B1CEC:: @ 81B1CEC - .string "Signs are useful, aren't they?$" - -gUnknown_81B1D0B:: @ 81B1D0B - .string "Look, look!\p" - .string "I copied what it said on one of\n" - .string "those TRAINER TIPS signs!$" - -gUnknown_81B1D51:: @ 81B1D51 - .string "TRAINER TIPS!\p" - .string "Press START to open the MENU!$" - -gUnknown_81B1D7D:: @ 81B1D7D - .string "It's a POKéMON PRINTER!\p" - .string "It can put a print of your POKéMON\n" - .string "on the back of your TRAINER CARD.\p" - .string "It costs only ¥50.\n" - .string "Would you like to try it?$" - -gUnknown_81B1E07:: @ 81B1E07 - .string "You don't have enough money.$" - -gUnknown_81B1E24:: @ 81B1E24 - .string "Please choose the print type.$" - -gUnknown_81B1E42:: @ 81B1E42 - .string "A big smile for the photo, please!\n" - .string "Three… Two… One…\p" - .string "Flash!$" - -gUnknown_81B1E7D:: @ 81B1E7D - .string "Your POKéMON print is ready!\n" - .string "Check your TRAINER CARD.$" - -gUnknown_81B1EB3:: @ 81B1EB3 - .string "Giggle…\n" - .string "I collected a ton of STICKERS.\l" - .string "I wish I could show them off…$" - -gUnknown_81B1EF8:: @ 81B1EF8 - .string "Oh, excellent!\n" - .string "You've come to the right place!\p" - .string "Look, look! See? See?\n" - .string "These are my STICKERS!\l" - .string "Look how many I got!\p" - .string "I bet you want some.\n" - .string "I bet you do!\p" - .string "I'll give a STICKER if you can tell\n" - .string "me something awesome about\l" - .string "yourself.\p" - .string "What will you brag about?$" - -gUnknown_81B1FEF:: @ 81B1FEF - .string "Brag about something for me.\n" - .string "I'll give you a STICKER.$" - -gUnknown_81B2025:: @ 81B2025 - .string "Oh, hi!\n" - .string "Here comes the braggart.\p" - .string "What are you going to brag about\n" - .string "today?$" - -gUnknown_81B206E:: @ 81B206E - .string "Oh, wow, you made it into the\n" - .string "HALL OF FAME.\p" - .string "That's pretty good, yup!\n" - .string "I'll give you one of these.$" - -gUnknown_81B20CF:: @ 81B20CF - .string "Oh, wow, you've entered the\n" - .string "HALL OF FAME often!\p" - .string "That's impressive, yup!\n" - .string "I'll give you one of these.$" - -gUnknown_81B2133:: @ 81B2133 - .string "Whoa! You've made it into the\n" - .string "HALL OF FAME that often?\l" - .string "That's seriously incredible, yup!\p" - .string "You own the POKéMON LEAGUE!\n" - .string "I'll give you one of these.$" - -gUnknown_81B21C4:: @ 81B21C4 - .string "No way! You've gone into the\n" - .string "HALL OF FAME that many times?\p" - .string "You're beyond incredible, yup!\n" - .string "That's it, I have to give you this.$" - -gUnknown_81B2242:: @ 81B2242 - .string "The HALL OF FAME STICKER was\n" - .string "applied to the TRAINER CARD.$" - -gUnknown_81B227C:: @ 81B227C - .string "Hmm…\p" - .string "Come back with a better story next\n" - .string "time, okay?$" - -gUnknown_81B22B0:: @ 81B22B0 - .string "Oh, no, no can do.\p" - .string "You're practically a living legend.\n" - .string "I have no SITCKERS left to give.$" - -gUnknown_81B2308:: @ 81B2308 - .string "Oh, wow, there are POKéMON EGGS?\n" - .string "I didn't know that!\p" - .string "That's pretty good, yup!\n" - .string "I'll give you one of these.$" - -gUnknown_81B2372:: @ 81B2372 - .string "You've hatched that many EGGS?\n" - .string "You really must like them!\p" - .string "That's impressive, yup!\n" - .string "I'll give you one of these.$" - -gUnknown_81B23E0:: @ 81B23E0 - .string "Whoa! You've hatched a whole\n" - .string "bunch of EGGS!\p" - .string "You're an EGG-hatching machine!\n" - .string "I'll give you one of these.$" - -gUnknown_81B2448:: @ 81B2448 - .string "Wh… You hatched that many EGGS?\p" - .string "What's behind your love of EGGS?\n" - .string "It's beyond incredible, yup!\p" - .string "You're too awesome, I tell you.\n" - .string "That's it, I have to give you this.$" - -gUnknown_81B24EA:: @ 81B24EA - .string "The EGG STICKER was applied\n" - .string "to the TRAINER CARD.$" - -gUnknown_81B251B:: @ 81B251B - .string "Hmm…\p" - .string "Come back with a better story next\n" - .string "time, okay?$" - -gUnknown_81B254F:: @ 81B254F - .string "Oh, no, no can do.\p" - .string "You're practically a living legend.\n" - .string "I have no SITCKERS left to give.$" - -gUnknown_81B25A7:: @ 81B25A7 - .string "Oh, wow, you've had success\n" - .string "link battling?\p" - .string "You're pretty strong, yup!\n" - .string "I'll give you one of these.$" - -gUnknown_81B2609:: @ 81B2609 - .string "You've beaten your friends a lot\n" - .string "link battling, huh?\p" - .string "You're impressively strong, yup!\n" - .string "I'll give you one of these.$" - -gUnknown_81B267B:: @ 81B267B - .string "Whoa! You've beaten your friends\n" - .string "a frightful number of times.\p" - .string "Have you lost friends over this?\n" - .string "I'll give you one of these.$" - -gUnknown_81B26F6:: @ 81B26F6 - .string "Wh… Wickedly whoa!\n" - .string "You've won mind-blowingly often!\p" - .string "It just knocks me out thinking\n" - .string "about how tough you are.\p" - .string "You're the stuff of nightmares!\n" - .string "That's it, I have to give you this.$" - -gUnknown_81B27A6:: @ 81B27A6 - .string "The VICTORY STICKER was applied\n" - .string "to the TRAINER CARD.$" - -gUnknown_81B27DB:: @ 81B27DB - .string "Hmm…\p" - .string "Come back with a better story next\n" - .string "time, okay?$" - -gUnknown_81B280F:: @ 81B280F - .string "Oh, no, no can do.\p" - .string "You're practically a living legend.\n" - .string "I have no SITCKERS left to give.$" diff --git a/data/text/help_system.inc b/data/text/help_system.inc index ccc57332b..0ad59243e 100644 --- a/data/text/help_system.inc +++ b/data/text/help_system.inc @@ -1,193 +1,190 @@ -gUnknown_81B2DF8:: @ 81B2DF8 +Help_Text_WhatShouldIDo:: @ 81B2DF8 .string "What should I do in this situation?$" -gUnknown_81B2E1C:: @ 81B2E1C +Help_Text_HowDoIDoThis:: @ 81B2E1C .string "How do I do this?$" -gUnknown_81B2E2E:: @ 81B2E2E +Help_Text_WhatDoesThisTermMean:: @ 81B2E2E .string "What does this term mean?$" -gUnknown_81B2E48:: @ 81B2E48 +Help_Text_AboutThisGame:: @ 81B2E48 .string "About this game$" -gUnknown_81B2E58:: @ 81B2E58 +Help_Text_TypeMatchupList:: @ 81B2E58 .string "Type Matchup List$" -gUnknown_81B2E6A:: @ 81B2E6A +Help_Text_Exit:: @ 81B2E6A .string "EXIT$" -gUnknown_81B2E6F:: @ 81B2E6F +Help_Text_Cancel:: @ 81B2E6F .string "CANCEL$" -gUnknown_81B2E76:: +Help_Text_TryDoingItOnYourOwn:: .string "じぶんの ちからで やってみよう!$" -gUnknown_81B2E88:: @ 81B2E88 +Help_Text_DescWhatShouldIDo:: @ 81B2E88 .string "Select to obtain hints for getting\n" .string "over challenging situations.$" -gUnknown_81B2EC8:: @ 81B2EC8 +Help_Text_DescHowDoIDoThis:: @ 81B2EC8 .string "Detailed instructions are given for\n" .string "various operations.$" -gUnknown_81B2F00:: @ 81B2F00 +Help_Text_DescWhatDoesThisTermMean:: @ 81B2F00 .string "Detailed descriptions are given for\n" .string "terms that appear in the game.$" -gUnknown_81B2F43:: @ 81B2F43 +Help_Text_DescAboutThisGame:: @ 81B2F43 .string "Detailed descriptions are given\n" .string "about this game.$" -gUnknown_81B2F74:: @ 81B2F74 +Help_Text_DescTypeMatchupList:: @ 81B2F74 .string "The matchups of POKéMON types\n" .string "and moves are listed.$" -gUnknown_81B2FA9:: @ 81B2FA9 +Help_Text_DescExit:: @ 81B2FA9 .string "Select to exit the HELP System.$" -gUnknown_81B2FC9:: @ 81B2FC9 +Help_Text_Greetings:: @ 81B2FC9 .string "Greetings! This is the HELP System.\n" .string "Call me up whenever and wherever you\l" - .string "need by p" - -gUnknown_81B301B:: @ 81B301B - .string "ressing the L or R Button.\l" + .string "need by pressing the L or R Button.\l" .string "The help messages change to suit the\l" .string "situation, so check them often, please.$" -gUnknown_81B3083:: @ 81B3083 +Help_Text_PlayingForFirstTime:: @ 81B3083 .string "I'm playing for the first time. Help!$" -gUnknown_81B30A9:: @ 81B30A9 +Help_Text_WhatShouldIBeDoing:: @ 81B30A9 .string "What should I be doing?$" -gUnknown_81B30C1:: @ 81B30C1 +Help_Text_CantGetOutOfRoom:: @ 81B30C1 .string "I can't get out of a room!$" -gUnknown_81B30DC:: @ 81B30DC +Help_Text_CantFindPersonIWant:: @ 81B30DC .string "I can't find the person I want.$" -gUnknown_81B30FC:: @ 81B30FC +Help_Text_TalkedToEveryoneNowWhat:: @ 81B30FC .string "I've talked to everyone. Now what?$" -gUnknown_81B311F:: @ 81B311F +Help_Text_SomeoneBlockingMyWay:: @ 81B311F .string "There's someone blocking my way!$" -gUnknown_81B3140:: @ 81B3140 +Help_Text_ICantGoOn:: @ 81B3140 .string "I can't go on!$" -gUnknown_81B314F:: @ 81B314F +Help_Text_OutOfThingsToDo:: @ 81B314F .string "I'm out of things to do.$" -gUnknown_81B3168:: @ 81B3168 +Help_Text_WhatHappenedToItemIGot:: @ 81B3168 .string "What happened to the item I got?$" -gUnknown_81B3189:: @ 81B3189 +Help_Text_WhatAreMyAdventureBasics:: @ 81B3189 .string "What are the basics of my adventure?$" -gUnknown_81B31AE:: @ 81B31AE +Help_Text_HowAreRoadsForestsDifferent:: @ 81B31AE .string "How are roads and forests different?$" -gUnknown_81B31D3:: @ 81B31D3 +Help_Text_HowAreCavesDifferent:: @ 81B31D3 .string "How are caves different?$" -gUnknown_81B31EC:: @ 81B31EC +Help_Text_HowDoIProgress:: @ 81B31EC .string "How do I progress?$" -gUnknown_81B31FF:: @ 81B31FF +Help_Text_WhenCanIUseItem:: @ 81B31FF .string "When can I use items?$" -gUnknown_81B3215:: @ 81B3215 +Help_Text_WhatsABattle:: @ 81B3215 .string "What's a battle?$" -gUnknown_81B3226:: @ 81B3226 +Help_Text_HowDoIPrepareForBattle:: @ 81B3226 .string "How do I prepare for battle?$" -gUnknown_81B3243:: @ 81B3243 +Help_Text_WhatIsAMonsVitality:: @ 81B3243 .string "What is a POKéMON's vitality?$" -gUnknown_81B3261:: @ 81B3261 +Help_Text_MyMonsAreHurt:: @ 81B3261 .string "My POKéMON are hurt!$" -gUnknown_81B3276:: @ 81B3276 +Help_Text_WhatIsStatusProblem:: @ 81B3276 .string "What is a status problem?$" -gUnknown_81B3290:: @ 81B3290 +Help_Text_WhatHappensIfAllMyMonsFaint:: @ 81B3290 .string "What happens if all my POKéMON faint?$" -gUnknown_81B32B6:: @ 81B32B6 +Help_Text_CantCatchMons:: @ 81B32B6 .string "I can't catch POKéMON!$" -gUnknown_81B32CD:: @ 81B32CD +Help_Text_RanOutOfPotions:: @ 81B32CD .string "I ran out of POTIONS.$" -gUnknown_81B32E3:: @ 81B32E3 +Help_Text_CanIBuyPokeBalls:: @ 81B32E3 .string "Can I buy POKé BALLS?$" -gUnknown_81B32F9:: @ 81B32F9 +Help_Text_WhatsATrainer:: @ 81B32F9 .string "What's a TRAINER?$" -gUnknown_81B330B:: @ 81B330B +Help_Text_HowDoIWinAgainstTrainer:: @ 81B330B .string "How do I win against a TRAINER?$" -gUnknown_81B332B:: @ 81B332B +Help_Text_WhereDoMonsAppear:: @ 81B332B .string "Where do POKéMON appear?$" -gUnknown_81B3344:: @ 81B3344 +Help_Text_WhatAreMoves:: @ 81B3344 .string "What are POKéMON moves?$" -gUnknown_81B335C:: @ 81B335C +Help_Text_WhatAreHiddenMoves:: @ 81B335C .string "What are HIDDEN moves?$" -gUnknown_81B3373:: @ 81B3373 +Help_Text_WhatMovesShouldIUse:: @ 81B3373 .string "What moves should I use?$" -gUnknown_81B338C:: @ 81B338C +Help_Text_WantToAddMoreMoves:: @ 81B338C .string "I want to add more moves.$" -gUnknown_81B33A6:: @ 81B33A6 +Help_Text_WantToMakeMonStronger:: @ 81B33A6 .string "I want to make my POKéMON stronger.$" -gUnknown_81B33CA:: @ 81B33CA +Help_Text_FoeMonsTooStrong:: @ 81B33CA .string "The foe POKéMON are too strong!$" -gUnknown_81B33EA:: @ 81B33EA +Help_Text_WhatDoIDoInCave:: @ 81B33EA .string "What do I do in a cave?$" -gUnknown_81B3402:: @ 81B3402 +Help_Text_NothingIWantToKnow:: @ 81B3402 .string "There's nothing that I want to know!$" -gUnknown_81B3427:: @ 81B3427 +Help_Text_WhatsPokemonCenter:: @ 81B3427 .string "What's a POKéMON CENTER?$" -gUnknown_81B3440:: @ 81B3440 +Help_Text_WhatsPokemonMart:: @ 81B3440 .string "What's a POKéMON MART?$" -gUnknown_81B3457:: @ 81B3457 +Help_Text_WantToEndGame:: @ 81B3457 .string "I want to end the game.$" -gUnknown_81B346F:: @ 81B346F +Help_Text_WhatsAMon:: @ 81B346F .string "What's a POKéMON?$" -gUnknown_81B3481:: @ 81B3481 +Help_Text_WhatIsThatPersonLike:: @ 81B3481 .string "What is that person like?$" -gUnknown_81B349B:: @ 81B349B +Help_Text_WhatDoesHiddenMoveDo:: @ 81B349B .string "What does a HIDDEN move do?$" -gUnknown_81B34B7:: @ 81B34B7 +Help_Text_WhatDoIDoInSafari:: @ 81B34B7 .string "What do I do in a SAFARI GAME?$" -gUnknown_81B34D6:: @ 81B34D6 +Help_Text_WhatAreSafariRules:: @ 81B34D6 .string "What are the SAFARI GAME rules?$" -gUnknown_81B34F6:: @ 81B34F6 +Help_Text_WantToEndSafari:: @ 81B34F6 .string "I want to end this SAFARI GAME!$" -gUnknown_81B3516:: @ 81B3516 +Help_Text_WhatIsAGym:: @ 81B3516 .string "What is a GYM?$" -gUnknown_81B3525:: @ 81B3525 +Help_Text_AnswerPlayingForFirstTime:: @ 81B3525 .string "You become the main character,\n" .string "exploring the world of POKéMON.\l" .string "By talking to people and solving\l" @@ -195,7 +192,7 @@ gUnknown_81B3525:: @ 81B3525 .string "Strive for the goal together with your\l" .string "wonderful POKéMON.$" -gUnknown_81B35E6:: @ 81B35E6 +Help_Text_AnswerWhatShouldIBeDoing:: @ 81B35E6 .string "When you come across another person,\n" .string "go up to them and press the A Button.\l" .string "That will get them to talk and interact\l" @@ -204,7 +201,7 @@ gUnknown_81B35E6:: @ 81B35E6 .string "the same way. Talk to people and check\l" .string "things often to obtain information.$" -gUnknown_81B36EB:: @ 81B36EB +Help_Text_AnswerCantGetOutOfRoom:: @ 81B36EB .string "On the stairs or the exits of a\n" .string "building is a red mat. Move your\l" .string "character to stand on top of the\l" @@ -212,7 +209,7 @@ gUnknown_81B36EB:: @ 81B36EB .string "toward the stairs or the exit to\l" .string "advance.$" -gUnknown_81B379A:: @ 81B379A +Help_Text_AnswerCantFindPersonIWant:: @ 81B379A .string "This isn't something you should worry\n" .string "about too much.\l" .string "Talk to other people, check signs,\l" @@ -220,11 +217,11 @@ gUnknown_81B379A:: @ 81B379A .string "Sometimes, you may need to just move\l" .string "to a new town or place.$" -gUnknown_81B3849:: @ 81B3849 +Help_Text_AnswerTalkedToEveryoneNowWhat:: @ 81B3849 .string "Try moving on to a new road, town, or\n" .string "place.$" -gUnknown_81B3876:: @ 81B3876 +Help_Text_AnswerSomeoneBlockingMyWay:: @ 81B3876 .string "There could be something in the town\n" .string "or inside a building that is the cause.\l" .string "Try talking to the people in the area\l" @@ -233,7 +230,7 @@ gUnknown_81B3876:: @ 81B3876 .string "Afterwards, try talking to the person\l" .string "blocking your way again.$" -gUnknown_81B3972:: @ 81B3972 +Help_Text_AnswerICantGoOn:: @ 81B3972 .string "Try talking to people by going up to\n" .string "them and pressing the A Button.\l" .string "Also, try checking things like odd trees\l" @@ -241,13 +238,13 @@ gUnknown_81B3972:: @ 81B3972 .string "Press the {PLUS} Control Pad and try going\l" .string "to places that look impassable, too.$" -gUnknown_81B3A51:: @ 81B3A51 +Help_Text_AnswerOutOfThingsToDo:: @ 81B3A51 .string "Try going to places where you \n" .string "haven't visited yet.\l" .string "Also, check everything that looks\l" .string "suspicious by pressing the A Button.$" -gUnknown_81B3ACC:: @ 81B3ACC +Help_Text_AnswerWhatHappenedToItemIGot:: @ 81B3ACC .string "Any item that you are given by another\n" .string "character goes in your BAG.\l" .string "The item is automatically sorted and\l" @@ -256,7 +253,7 @@ gUnknown_81B3ACC:: @ 81B3ACC .string "please refer to the HELP System's\l" .string "“How do I do this?” heading.$" -gUnknown_81B3BB6:: @ 81B3BB6 +Help_Text_AnswerWhatAreMyAdventureBasics:: @ 81B3BB6 .string "If POKéMON are hurt in battle,\n" .string "take them to a POKéMON CENTER and\l" .string "have them healed by the staff.\l" @@ -265,13 +262,13 @@ gUnknown_81B3BB6:: @ 81B3BB6 .string "Stock up on healing items at\l" .string "POKéMON MARTS before traveling far.$" -gUnknown_81B3C99:: @ 81B3C99 +Help_Text_AnswerHowAreRoadsForestsDifferent:: @ 81B3C99 .string "Forests are basically the same as\n" .string "roads but they can be like mazes.\l" .string "All forests have a way out, so don't\l" .string "give up if you get lost.$" -gUnknown_81B3D1B:: @ 81B3D1B +Help_Text_AnswerHowAreCavesDifferent:: @ 81B3D1B .string "Caves are dark and dangerous. Wild\n" .string "POKéMON can appear anywhere in them.\l" .string "If there is an emergency, rush to a\l" @@ -279,7 +276,7 @@ gUnknown_81B3D1B:: @ 81B3D1B .string "New towns await discovery beyond some\l" .string "caves, so don't give up.$" -gUnknown_81B3DE3:: @ 81B3DE3 +Help_Text_AnswerHowDoIProgress:: @ 81B3DE3 .string "The object of the game is to train\n" .string "your POKéMON and move forward.\l" .string "You must collect info and solve\l" @@ -288,7 +285,7 @@ gUnknown_81B3DE3:: @ 81B3DE3 .string "What would get that impeding\l" .string "person out of the way?$" -gUnknown_81B3EBC:: @ 81B3EBC +Help_Text_AnswerWhenCanIUseItem:: @ 81B3EBC .string "There are several kinds of items.\n" .string "Some can be used only on the field.\l" .string "Some are only for use during battle.\l" @@ -296,7 +293,7 @@ gUnknown_81B3EBC:: @ 81B3EBC .string "Try using an item - if it can't be used,\l" .string "you will be alerted.$" -gUnknown_81B3F7F:: @ 81B3F7F +Help_Text_AnswerWhatsABattle:: @ 81B3F7F .string "In a battle, POKéMON try to reduce\n" .string "one another's vitality, expressed as\l" .string "HP. If a POKéMON's HP falls to zero,\l" @@ -305,14 +302,14 @@ gUnknown_81B3F7F:: @ 81B3F7F .string "earn EXP. Points, which help them\l" .string "level up (grow stronger).$" -gUnknown_81B406C:: @ 81B406C +Help_Text_AnswerHowDoIPrepareForBattle:: @ 81B406C .string "First, fully heal the POKéMON in your\n" .string "party (the POKéMON with you) at any\l" .string "POKéMON CENTER.\l" .string "You should also buy healing items for\l" .string "emergencies at a POKéMON MART.$" -gUnknown_81B410B:: @ 81B410B +Help_Text_AnswerWhatIsAMonsVitality:: @ 81B410B .string "A POKéMON's vitality is expressed in HP.\n" .string "If a POKéMON is hurt in battle, HP is\l" .string "subtracted. If its HP drops to zero,\l" @@ -320,7 +317,7 @@ gUnknown_81B410B:: @ 81B410B .string "Heal hurt or fainted POKéMON at a\l" .string "POKéMON CENTER or by using items.$" -gUnknown_81B41D7:: @ 81B41D7 +Help_Text_AnswerMyMonsAreHurt:: @ 81B41D7 .string "A POKéMON CENTER is like an inn for\n" .string "POKéMON. It will fully heal POKéMON of\l" .string "any status problems and fully restore\l" @@ -328,7 +325,7 @@ gUnknown_81B41D7:: @ 81B41D7 .string "This service is free, so get in the\l" .string "habit of healing your POKéMON often.$" -gUnknown_81B42B3:: @ 81B42B3 +Help_Text_AnswerWhatIsStatusProblem:: @ 81B42B3 .string "A status problem refers to an ailment\n" .string "that is inflicted on a POKéMON by its\l" .string "foe's attack. These include burns,\l" @@ -337,7 +334,7 @@ gUnknown_81B42B3:: @ 81B42B3 .string "visiting a POKéMON CENTER or using\l" .string "the appropriate item.$" -gUnknown_81B439D:: @ 81B439D +Help_Text_AnswerWhatHappensIfAllMyMonsFaint:: @ 81B439D .string "If all the POKéMON in your party\n" .string "(all the POKéMON with you) faint, you\l" .string "lose some MONEY, and you are\l" @@ -346,7 +343,7 @@ gUnknown_81B439D:: @ 81B439D .string "POKéMON CENTERS often. Also, get\l" .string "in the habit of saving often.$" -gUnknown_81B4483:: @ 81B4483 +Help_Text_AnswerCantCatchMons:: @ 81B4483 .string "If a wild POKéMON escapes from a POKé\n" .string "BALL, it's obviously still feisty.\l" .string "Try reducing its HP some more, and\l" @@ -355,7 +352,7 @@ gUnknown_81B4483:: @ 81B4483 .string "If the POKé BALL rocks for a while,\l" .string "the quarry is close to being caught!$" -gUnknown_81B457C:: @ 81B457C +Help_Text_AnswerRanOutOfPotions:: @ 81B457C .string "There are shops, known as POKéMON\n" .string "MARTS, that sell items.\l" .string "You will not find POKéMON MARTS on\l" @@ -363,7 +360,7 @@ gUnknown_81B457C:: @ 81B457C .string "Stock up on needed items while you are\l" .string "visiting a town with a POKéMON MART.$" -gUnknown_81B4645:: @ 81B4645 +Help_Text_AnswerCanIBuyPokeBalls:: @ 81B4645 .string "You may buy POKé BALLS at any\n" .string "POKéMON MART in any town.\l" .string "You will not find POKéMON MARTS on\l" @@ -371,7 +368,7 @@ gUnknown_81B4645:: @ 81B4645 .string "Stock up on POKé BALLS while you are\l" .string "visiting a town with a POKéMON MART.$" -gUnknown_81B470A:: @ 81B470A +Help_Text_AnswerWhatsATrainer:: @ 81B470A .string "A TRAINER is a person who raises\n" .string "POKéMON through battling.\l" .string "TRAINERS will challenge you \l" @@ -380,7 +377,7 @@ gUnknown_81B470A:: @ 81B470A .string "If your eyes meet, you have to accept\l" .string "their challenge. So be careful!$" -gUnknown_81B47F0:: @ 81B47F0 +Help_Text_AnswerHowDoIWinAgainstTrainer:: @ 81B47F0 .string "To beat a TRAINER in battle, use\n" .string "POKéMON that have type advantages\l" .string "over the foe's POKéMON. You may also\l" @@ -389,14 +386,14 @@ gUnknown_81B47F0:: @ 81B47F0 .string "foe's POKéMON is another obvious\l" .string "tactic.$" -gUnknown_81B48C6:: @ 81B48C6 +Help_Text_AnswerWhereDoMonsAppear:: @ 81B48C6 .string "Wild POKéMON will appear in tall grass,\n" .string "on roads, and in forests. They will\l" .string "appear anywhere in dark caves.\l" .string "There are no wild POKéMON or TRAINERS\l" .string "in towns, so they are safe places.$" -gUnknown_81B497A:: @ 81B497A +Help_Text_AnswerWhatAreMoves:: @ 81B497A .string "POKéMON may learn up to four different\n" .string "techniques, or moves. There is a great\l" .string "variety of moves including attacks and\l" @@ -405,7 +402,7 @@ gUnknown_81B497A:: @ 81B497A .string "for each POKéMON. Some moves\l" .string "can be learned from machines.$" -gUnknown_81B4A72:: @ 81B4A72 +Help_Text_AnswerWhatAreHiddenMoves:: @ 81B4A72 .string "HIDDEN moves are those that are\n" .string "especially important for your\l" .string "adventure. To use such a move outside\l" @@ -414,7 +411,7 @@ gUnknown_81B4A72:: @ 81B4A72 .string "move use it. A fainted POKéMON may use\l" .string "a HIDDEN move outside of battle.$" -gUnknown_81B4B65:: @ 81B4B65 +Help_Text_AnswerWhatMovesShouldIUse:: @ 81B4B65 .string "Select “FIGHT,” and the MENU of moves\n" .string "will appear. Consider the type\l" .string "matchups, and use the most effective\l" @@ -423,7 +420,7 @@ gUnknown_81B4B65:: @ 81B4B65 .string "picking a POKéMON, opening “SUMMARY,”\l" .string "then opening “POKéMON SKILLS.”$" -gUnknown_81B4C54:: @ 81B4C54 +Help_Text_AnswerWantToAddMoreMoves:: @ 81B4C54 .string "The most a POKéMON can learn is four\n" .string "moves. They are learned as the\l" .string "POKéMON levels up. It can also be\l" @@ -431,7 +428,7 @@ gUnknown_81B4C54:: @ 81B4C54 .string "Machine) or HM (Hidden Machine).\l" .string "There are also people who teach moves.$" -gUnknown_81B4D26:: @ 81B4D26 +Help_Text_AnswerWantToMakeMonStronger:: @ 81B4D26 .string "The key to making your POKéMON\n" .string "strong is to battle and win often.\l" .string "The EXP. (Experience) Points earned\l" @@ -440,7 +437,7 @@ gUnknown_81B4D26:: @ 81B4D26 .string "them. Battle wild POKéMON often to\l" .string "level up your party.$" -gUnknown_81B4E0B:: @ 81B4E0B +Help_Text_AnswerFoeMonsTooStrong:: @ 81B4E0B .string "If your foes are too strong, try\n" .string "leveling up your POKéMON some more.\l" .string "Go back the way you came and battle\l" @@ -448,7 +445,7 @@ gUnknown_81B4E0B:: @ 81B4E0B .string "You may also battle TRAINERS whom you\l" .string "have not battled before.$" -gUnknown_81B4ED8:: @ 81B4ED8 +Help_Text_AnswerWhatDoIDoInCave:: @ 81B4ED8 .string "Unlike roads and forests, wild POKéMON\n" .string "can appear anywhere in caves.\l" .string "If your POKéMON are hurt in a cave,\l" @@ -456,11 +453,11 @@ gUnknown_81B4ED8:: @ 81B4ED8 .string "to heal them right away. It is very\l" .string "dangerous to force your luck in caves.$" -gUnknown_81B4FB2:: @ 81B4FB2 +Help_Text_AnswerNothingIWantToKnow:: @ 81B4FB2 .string "Trust your own knowledge and power.\n" .string "Believe in yourself and find your way!$" -gUnknown_81B4FFD:: @ 81B4FFD +Help_Text_AnswerWhatsPokemonCenter:: @ 81B4FFD .string "A POKéMON CENTER is identified by its\n" .string "red roof and a “P.C” sign. Every\l" .string "POKéMON CENTER offers such services as\l" @@ -469,14 +466,14 @@ gUnknown_81B4FFD:: @ 81B4FFD .string "On the upper floor are facilities for\l" .string "linking with friends and others.$" -gUnknown_81B50FF:: @ 81B50FF +Help_Text_AnswerWhatsPokemonMart:: @ 81B50FF .string "A POKéMON MART is identified by its\n" .string "blue roof and a “MART” sign.\l" .string "Items can be bought and sold at any\l" .string "POKéMON MART. Some MARTS carry items\l" .string "that are available only in their towns.$" -gUnknown_81B51B1:: @ 81B51B1 +Help_Text_AnswerWantToEndGame:: @ 81B51B1 .string "You can safely end your game by\n" .string "selecting “SAVE” on the MENU.\l" .string "Once you have saved, the game can be\l" @@ -484,19 +481,19 @@ gUnknown_81B51B1:: @ 81B51B1 .string "turned back on, you can resume from\l" .string "where you last saved.$" -gUnknown_81B5272:: @ 81B5272 +Help_Text_AnswerWhatsAMon:: @ 81B5272 .string "POKéMON are living beings about which\n" .string "many mysteries still remain. You may\l" .string "see them in grass, the sea, and caves.\l" .string "They appear to obey the wishes of the\l" .string "TRAINERS that caught them.$" -gUnknown_81B5325:: @ 81B5325 +Help_Text_AnswerWhatIsThatPersonLike:: @ 81B5325 .string "Use the FAME CHECKER among the\n" .string "KEY ITEMS in your BAG.\l" .string "It may give you a hint, so try it out.$" -gUnknown_81B5382:: @ 81B5382 +Help_Text_AnswerWhatDoesHiddenMoveDo:: @ 81B5382 .string "A HIDDEN move is taught to a POKéMON\n" .string "using an HM (Hidden Machine).\l" .string "A HIDDEN move is important for helping\l" @@ -505,24 +502,24 @@ gUnknown_81B5382:: @ 81B5382 .string "cuts down small trees. There is one\l" .string "for traveling on water, and so on.$" -gUnknown_81B547C:: @ 81B547C +Help_Text_AnswerWhatDoIDoInSafari:: @ 81B547C .string "Try to catch wild POKéMON by throwing\n" .string "the special SAFARI BALLS.\l" .string "You may keep any item you find, too.$" -gUnknown_81B54E1:: @ 81B54E1 +Help_Text_AnswerWhatAreSafariRules:: @ 81B54E1 .string "Your SAFARI GAME ends once you have\n" .string "traveled a certain distance or thrown\l" .string "all your SAFARI BALLS.\l" .string "Open the MENU to check the remaining\l" .string "number of steps and SAFARI BALLS.$" -gUnknown_81B5589:: @ 81B5589 +Help_Text_AnswerWantToEndSafari:: @ 81B5589 .string "If you would like to cut your SAFARI\n" .string "GAME short, open the MENU and select\l" .string "“RETIRE” at the top of the list.$" -gUnknown_81B55F4:: @ 81B55F4 +Help_Text_AnswerWhatIsAGym:: @ 81B55F4 .string "POKéMON GYMS are operated by the\n" .string "POKéMON LEAGUE and are training\l" .string "facilities for TRAINERS. They are all\l" @@ -531,151 +528,151 @@ gUnknown_81B55F4:: @ 81B55F4 .string "is a very skilled TRAINER. Beat the\l" .string "LEADER to collect a BADGE.$" -gUnknown_81B56E3:: @ 81B56E3 +Help_Text_UsingPokedex:: @ 81B56E3 .string " Using “POKéDEX”$" -gUnknown_81B56F4:: @ 81B56F4 +Help_Text_UsingPokemon:: @ 81B56F4 .string " Using “POKéMON”$" -gUnknown_81B5705:: @ 81B5705 +Help_Text_UsingSummary:: @ 81B5705 .string " Using “SUMMARY”$" -gUnknown_81B5717:: @ 81B5717 +Help_Text_UsingSwitch:: @ 81B5717 .string " Using “SWITCH”$" -gUnknown_81B5728:: @ 81B5728 +Help_Text_UsingItem:: @ 81B5728 .string " Using “ITEM”$" -gUnknown_81B5737:: @ 81B5737 +Help_Text_UsingBag:: @ 81B5737 .string " Using “BAG”$" -gUnknown_81B5744:: @ 81B5744 +Help_Text_UsingAnItem:: @ 81B5744 .string " Using an item$" -gUnknown_81B5754:: @ 81B5754 +Help_Text_UsingKeyItem:: @ 81B5754 .string " Using a key item$" -gUnknown_81B5767:: @ 81B5767 +Help_Text_UsingPokeBall:: @ 81B5767 .string " Using a POKé BALL$" -gUnknown_81B577B:: @ 81B577B +Help_Text_UsingPlayer:: @ 81B577B .string " Using “{PLAYER}”$" -gUnknown_81B5787:: @ 81B5787 +Help_Text_UsingSave:: @ 81B5787 .string " Using “SAVE”$" -gUnknown_81B5795:: @ 81B5795 +Help_Text_UsingOption:: @ 81B5795 .string " Using “OPTION”$" -gUnknown_81B57A5:: @ 81B57A5 +Help_Text_UsingPotion:: @ 81B57A5 .string " Using a POTION$" -gUnknown_81B57B8:: @ 81B57B8 +Help_Text_UsingTownMap:: @ 81B57B8 .string " Using the TOWN MAP$" -gUnknown_81B57CF:: @ 81B57CF +Help_Text_UsingTM:: @ 81B57CF .string " Using a TM$" -gUnknown_81B57DE:: @ 81B57DE +Help_Text_UsingHM:: @ 81B57DE .string " Using an HM$" -gUnknown_81B57EE:: @ 81B57EE +Help_Text_UsingMoveOutsideOfBattle:: @ 81B57EE .string "Using a move outside of battle$" -gUnknown_81B580D:: @ 81B580D +Help_Text_RidingBicycle:: @ 81B580D .string " Riding the BICYCLE$" -gUnknown_81B5824:: @ 81B5824 +Help_Text_EnteringName:: @ 81B5824 .string "Entering a name$" -gUnknown_81B5834:: @ 81B5834 +Help_Text_UsingPC:: @ 81B5834 .string "Using a PC$" -gUnknown_81B583F:: @ 81B583F +Help_Text_UsingBillsPC:: @ 81B583F .string " Using “{STR_VAR_1}'S PC”$" -gUnknown_81B5850:: @ 81B5850 +Help_Text_UsingWithdraw:: @ 81B5850 .string " Using “WITHDRAW”$" -gUnknown_81B5863:: @ 81B5863 +Help_Text_UsingDeposit:: @ 81B5863 .string " Using “DEPOSIT”$" -gUnknown_81B5875:: @ 81B5875 +Help_Text_UsingMove:: @ 81B5875 .string " Using “MOVE”$" -gUnknown_81B5884:: @ 81B5884 +Help_Text_MovingItems:: @ 81B5884 .string " Moving items$" -gUnknown_81B5893:: @ 81B5893 +Help_Text_UsingPlayersPC:: @ 81B5893 .string " Using “{PLAYER}'s PC”$" -gUnknown_81B58A4:: @ 81B58A4 +Help_Text_UsingWithdrawItem:: @ 81B58A4 .string " Using “WITHDRAW ITEM”$" -gUnknown_81B58BC:: @ 81B58BC +Help_Text_UsingDepositItem:: @ 81B58BC .string " Using “DEPOSIT ITEM”$" -gUnknown_81B58D3:: @ 81B58D3 +Help_Text_UsingMailbox:: @ 81B58D3 .string " Using “MAILBOX”$" -gUnknown_81B58E5:: @ 81B58E5 +Help_Text_UsingProfOaksPC:: @ 81B58E5 .string " Using “PROF. OAK'S PC”$" -gUnknown_81B58FD:: @ 81B58FD +Help_Text_OpeningMenu:: @ 81B58FD .string "Opening the MENU$" -gUnknown_81B590E:: @ 81B590E +Help_Text_UsingFight:: @ 81B590E .string " Using “FIGHT”$" -gUnknown_81B591D:: @ 81B591D +Help_Text_UsingPokemon2:: @ 81B591D .string " Using “POKéMON”$" -gUnknown_81B592E:: @ 81B592E +Help_Text_UsingShift:: @ 81B592E .string " Using “SHIFT”$" -gUnknown_81B593E:: @ 81B593E +Help_Text_UsingSummary2:: @ 81B593E .string " Using “SUMMARY”$" -gUnknown_81B5950:: @ 81B5950 +Help_Text_UsingBag2:: @ 81B5950 .string " Using “BAG”$" -gUnknown_81B595D:: @ 81B595D +Help_Text_ReadingPokedex:: @ 81B595D .string " Reading the “POKéDEX”$" -gUnknown_81B5974:: @ 81B5974 +Help_Text_UsingHomePC:: @ 81B5974 .string "Using the PC at home$" -gUnknown_81B5989:: @ 81B5989 +Help_Text_UsingItemStorage:: @ 81B5989 .string "Using the Item Storage System$" -gUnknown_81B59A7:: @ 81B59A7 +Help_Text_UsingWithdrawItem2:: @ 81B59A7 .string " Using “WITHDRAW ITEM”$" -gUnknown_81B59BF:: @ 81B59BF +Help_Text_UsingDepositItem2:: @ 81B59BF .string " Using “DEPOSIT ITEM”$" -gUnknown_81B59D6:: @ 81B59D6 +Help_Text_UsingMailbox2:: @ 81B59D6 .string "Using the MAILBOX$" -gUnknown_81B59E8:: @ 81B59E8 +Help_Text_UsingRun:: @ 81B59E8 .string " Using “RUN”$" -gUnknown_81B59F5:: @ 81B59F5 +Help_Text_RegisterKeyItem:: @ 81B59F5 .string " “REGISTER” a key item$" -gUnknown_81B5A0D:: @ 81B5A0D +Help_Text_UsingBall:: @ 81B5A0D .string " Using “BALL”$" -gUnknown_81B5A1B:: @ 81B5A1B +Help_Text_UsingBait:: @ 81B5A1B .string " Using “BAIT”$" -gUnknown_81B5A29:: @ 81B5A29 +Help_Text_UsingRock:: @ 81B5A29 .string " Using “ROCK”$" -gUnknown_81B5A37:: @ 81B5A37 +Help_Text_UsingHallOfFame:: @ 81B5A37 .string " Using “HALL OF FAME”$" -gUnknown_81B5A4D:: @ 81B5A4D +Help_Text_HowToUsePokedex:: @ 81B5A4D .string "{CIRCLE_1} Select “POKéDEX” on the MENU.\n" .string "{CIRCLE_2} Choose POKéMON using commands such\n" .string " as “POKéMON LIST,”\n" @@ -684,13 +681,13 @@ gUnknown_81B5A4D:: @ 81B5A4D .string "{CIRCLE_3} Select a POKéMON to obtain detailed\n" .string " information.$" -gUnknown_81B5B0C:: @ 81B5B0C +Help_Text_HowToUsePokemon:: @ 81B5B0C .string "{CIRCLE_1} Select “POKéMON” on the MENU.\n" .string "{CIRCLE_2} Choose a POKéMON in your party.\n" .string "{CIRCLE_3} Select “SUMMARY,” “SWITCH,”\n" .string " or “ITEM.”$" -gUnknown_81B5B7D:: @ 81B5B7D +Help_Text_HowToUseSummary:: @ 81B5B7D .string "{CIRCLE_1} Select “SUMMARY.”\n" .string "{CIRCLE_2} Press left or right on the {PLUS} Control\n" .string " Pad to check the information:\n" @@ -698,7 +695,7 @@ gUnknown_81B5B7D:: @ 81B5B7D .string " “POKéMON SKILLS”\n" .string " “KNOWN MOVES”$" -gUnknown_81B5C13:: @ 81B5C13 +Help_Text_HowToUseSwitch:: @ 81B5C13 .string "{CIRCLE_1} Choose the POKéMON you want to\n" .string " switch around.\n" .string "{CIRCLE_2} Select “SWITCH.”\n" @@ -707,7 +704,7 @@ gUnknown_81B5C13:: @ 81B5C13 .string "The POKéMON at the left of the screen\n" .string "will be the first one out in a battle.$" -gUnknown_81B5CDF:: @ 81B5CDF +Help_Text_HowToUseItem:: @ 81B5CDF .string "{CIRCLE_1} Select “ITEM.”\n" .string "{CIRCLE_2} Select whether you want to “GIVE”\n" .string " an item to the POKéMON to hold,\n" @@ -715,7 +712,7 @@ gUnknown_81B5CDF:: @ 81B5CDF .string "A POKéMON can hold no more than one\n" .string "item!$" -gUnknown_81B5D87:: @ 81B5D87 +Help_Text_HowToUseBag:: @ 81B5D87 .string "{CIRCLE_1} Select “BAG” on the MENU.\n" .string "{CIRCLE_2} Press left or right on the {PLUS} Control\n" .string " Pad to check the data headings:\n" @@ -724,7 +721,7 @@ gUnknown_81B5D87:: @ 81B5D87 .string " “POKé BALLS”\n" .string " Press up or down to select an item.$" -gUnknown_81B5E41:: @ 81B5E41 +Help_Text_HowToUseAnItem:: @ 81B5E41 .string "{CIRCLE_1} Select the “ITEMS” POCKET.\n" .string "{CIRCLE_2} Press up or down on the {PLUS} Control\n" .string " Pad to select an item.\n" @@ -733,14 +730,14 @@ gUnknown_81B5E41:: @ 81B5E41 .string "Some items may not be used depending\n" .string "on the place and/or situation.$" -gUnknown_81B5F10:: @ 81B5F10 +Help_Text_HowToUseKeyItem:: @ 81B5F10 .string "{CIRCLE_1} Select the “KEY ITEMS” POCKET.\n" .string "{CIRCLE_2} Press up or down on the {PLUS} Control\n" .string " Pad to select a key item.\n" .string "{CIRCLE_3} Select “USE” to use the selected\n" .string " key item.$" -gUnknown_81B5FA6:: @ 81B5FA6 +Help_Text_HowToUsePokeBall:: @ 81B5FA6 .string "{CIRCLE_1} While battling a wild POKéMON,\n" .string " select the BAG's “POKé BALLS”\n" .string " POCKET.\n" @@ -749,7 +746,7 @@ gUnknown_81B5FA6:: @ 81B5FA6 .string "{CIRCLE_3} Select “USE” to throw the selected\n" .string " POKé BALL.$" -gUnknown_81B606C:: @ 81B606C +Help_Text_HowToUsePlayer:: @ 81B606C .string "{CIRCLE_1} Select “{PLAYER}” on the MENU.\n" .string "{CIRCLE_2} Your TRAINER CARD is displayed face\n" .string " up with basic information. Press the\n" @@ -757,7 +754,7 @@ gUnknown_81B606C:: @ 81B606C .string "{CIRCLE_3} A variety of data can be found on\n" .string " the reverse side of the CARD.$" -gUnknown_81B6140:: @ 81B6140 +Help_Text_HowToUseSave:: @ 81B6140 .string "{CIRCLE_1} Select “SAVE” on the MENU.\n" .string "{CIRCLE_2} Select “YES” and your progress is\n" .string " recorded in the save file.\n" @@ -765,7 +762,7 @@ gUnknown_81B6140:: @ 81B6140 .string "off the game. Your game can be resumed\n" .string "from where you saved.$" -gUnknown_81B6203:: @ 81B6203 +Help_Text_HowToUseOption:: @ 81B6203 .string "{CIRCLE_1} Select “OPTION” on the MENU.\n" .string "{CIRCLE_2} Press up or down on the {PLUS} Control\n" .string " Pad to select an optional item, then\n" @@ -774,7 +771,7 @@ gUnknown_81B6203:: @ 81B6203 .string "{CIRCLE_3} Select “CANCEL” or press the\n" .string " B Button after making changes.$" -gUnknown_81B62E4:: @ 81B62E4 +Help_Text_HowToUsePotion:: @ 81B62E4 .string "{CIRCLE_1} Open the MENU.\n" .string "{CIRCLE_2} Press up or down on the {PLUS} Control\n" .string " Pad and select “BAG.”\n" @@ -783,7 +780,7 @@ gUnknown_81B62E4:: @ 81B62E4 .string "{CIRCLE_4} Select “USE.”\n" .string "{CIRCLE_5} Select the POKéMON to be healed.$" -gUnknown_81B6397:: @ 81B6397 +Help_Text_HowToUseTownMap:: @ 81B6397 .string "{CIRCLE_1} Open the MENU.\n" .string "{CIRCLE_2} Press up or down on the {PLUS} Control\n" .string " Pad and select “BAG.”\n" @@ -792,7 +789,7 @@ gUnknown_81B6397:: @ 81B6397 .string " up or down to select “TOWN MAP.” \n" .string "{CIRCLE_4} Select “USE” to open the TOWN MAP.$" -gUnknown_81B6478:: @ 81B6478 +Help_Text_HowToUseTM:: @ 81B6478 .string "{CIRCLE_1} Open the MENU.\n" .string "{CIRCLE_2} Open the “KEY ITEMS” POCKET in the\n" .string " “BAG.”\n" @@ -801,7 +798,7 @@ gUnknown_81B6478:: @ 81B6478 .string "{CIRCLE_5} Select a POKéMON that can learn the\n" .string " move in the TM.$" -gUnknown_81B6525:: @ 81B6525 +Help_Text_HowToUseHM:: @ 81B6525 .string "{CIRCLE_1} Open the MENU.\n" .string "{CIRCLE_2} Open the “KEY ITEMS” POCKET in the\n" .string " “BAG.”\n" @@ -810,7 +807,7 @@ gUnknown_81B6525:: @ 81B6525 .string "{CIRCLE_5} Select a POKéMON that can learn it.\n" .string "HMs are hard to remove, so be careful!$" -gUnknown_81B65E7:: @ 81B65E7 +Help_Text_HowToUseMoveOutsideOfBattle:: @ 81B65E7 .string "{CIRCLE_1} Open the MENU.\n" .string "{CIRCLE_2} Select “POKéMON.”\n" .string "{CIRCLE_3} Select a POKéMON that knows an\n" @@ -819,7 +816,7 @@ gUnknown_81B65E7:: @ 81B65E7 .string " use the desired move to destroy an\n" .string " obstacle, fly, surf, etc.$" -gUnknown_81B66BA:: @ 81B66BA +Help_Text_HowToRideBicycle:: @ 81B66BA .string "{CIRCLE_1} Open the MENU. Open the\n" .string " “KEY ITEMS” POCKET in the “BAG”\n" .string " and select the “BICYCLE.”\n" @@ -828,7 +825,7 @@ gUnknown_81B66BA:: @ 81B66BA .string " “REGISTER” it for instant use by\n" .string " pressing SELECT.$" -gUnknown_81B678E:: @ 81B678E +Help_Text_HowToEnterName:: @ 81B678E .string "{CIRCLE_1} Move the cursor to the letter you\n" .string " want with the {PLUS} Control Pad, then\n" .string " press the A Button to enter it.\n" @@ -837,11 +834,11 @@ gUnknown_81B678E:: @ 81B678E .string " uppercase and lowercase letters.\n" .string "{CIRCLE_4} Press the A Button on “OK.”$" -gUnknown_81B6883:: @ 81B6883 +Help_Text_HowToUsePC:: @ 81B6883 .string "{CIRCLE_1} Go to any POKéMON CENTER, go up\n" .string " to the PC, then press the A Button.$" -gUnknown_81B68CD:: @ 81B68CD +Help_Text_HowToUseBillsPC:: @ 81B68CD .string "{CIRCLE_1} Select “{STR_VAR_1}'S PC” on the PC.\n" .string "{CIRCLE_2} Select from one of the top three\n" .string " MENU items to access the POKéMON\n" @@ -850,7 +847,7 @@ gUnknown_81B68CD:: @ 81B68CD .string "six in your party, the POKéMON is sent\n" .string "automatically to a BOX in the System!$" -gUnknown_81B69B9:: @ 81B69B9 +Help_Text_HowToUseWithdraw:: @ 81B69B9 .string "{CIRCLE_1} Select a POKéMON in the open BOX\n" .string " with the {PLUS} Control Pad.\n" .string "{CIRCLE_2} Select “WITHDRAW” to remove the\n" @@ -859,7 +856,7 @@ gUnknown_81B69B9:: @ 81B69B9 .string "You may not withdraw a POKéMON if you\n" .string "already have six POKéMON with you!$" -gUnknown_81B6A9A:: @ 81B6A9A +Help_Text_HowToUseDeposit:: @ 81B6A9A .string "{CIRCLE_1} Select a POKéMON in your party with\n" .string " the {PLUS} Control Pad.\n" .string "{CIRCLE_2} Select “DEPOSIT.”\n" @@ -868,7 +865,7 @@ gUnknown_81B6A9A:: @ 81B6A9A .string "If you have only one POKéMON with you,\n" .string "it may not be stored!$" -gUnknown_81B6B6E:: @ 81B6B6E +Help_Text_HowToUseMove:: @ 81B6B6E .string "{CIRCLE_1} Select a POKéMON in the open BOX.\n" .string "{CIRCLE_2} Pick up the POKéMON by selecting\n" .string " “MOVE” and move it anywhere with\n" @@ -877,7 +874,7 @@ gUnknown_81B6B6E:: @ 81B6B6E .string " and press left or right to move it\n" .string " to another BOX.$" -gUnknown_81B6C4F:: @ 81B6C4F +Help_Text_HowToMoveItems:: @ 81B6C4F .string "{CIRCLE_1} Faintly shown POKéMON can be made\n" .string " to hold an item by selecting it and\n" .string " pressing the A Button.\n" @@ -886,7 +883,7 @@ gUnknown_81B6C4F:: @ 81B6C4F .string " another POKéMON, or return the item\n" .string " to the BAG with the A Button.$" -gUnknown_81B6D4A:: @ 81B6D4A +Help_Text_HowToUsePlayersPC:: @ 81B6D4A .string "{CIRCLE_1} Select “{PLAYER}'s PC” on the PC.\n" .string "{CIRCLE_2} Select either “ITEM STORAGE” or\n" .string " “MAILBOX.”\n" @@ -894,7 +891,7 @@ gUnknown_81B6D4A:: @ 81B6D4A .string "if your BAG is full. You may also\n" .string "withdraw items stored in your PC.$" -gUnknown_81B6E02:: @ 81B6E02 +Help_Text_HowToUseWithdrawItem:: @ 81B6E02 .string "{CIRCLE_1} Select “WITHDRAW ITEM.”\n" .string "{CIRCLE_2} Select the item to be withdrawn.\n" .string "{CIRCLE_3} The item can be withdrawn and\n" @@ -902,7 +899,7 @@ gUnknown_81B6E02:: @ 81B6E02 .string " It may also be directly given to a\n" .string " POKéMON to hold.$" -gUnknown_81B6EC1:: @ 81B6EC1 +Help_Text_HowToUseDepositItem:: @ 81B6EC1 .string "{CIRCLE_1} Select “DEPOSIT ITEM.”\n" .string "{CIRCLE_2} Select the item in the BAG to be\n" .string " deposited using the {PLUS} Control Pad.\n" @@ -911,7 +908,7 @@ gUnknown_81B6EC1:: @ 81B6EC1 .string " quantity with the {PLUS} Control Pad,\n" .string " then press the A Button.$" -gUnknown_81B6FA8:: @ 81B6FA8 +Help_Text_HowToUseMailbox:: @ 81B6FA8 .string "When MAIL is taken from a POKéMON,\n" .string "it is moved to the MAILBOX. If it has\n" .string "no MAIL, the MAILBOX can't be used.\n" @@ -919,14 +916,14 @@ gUnknown_81B6FA8:: @ 81B6FA8 .string "{CIRCLE_2} Select “MAILBOX” to read MAIL or\n" .string " make a POKéMON hold MAIL.$" -gUnknown_81B7075:: @ 81B7075 +Help_Text_HowToUseProfOaksPC:: @ 81B7075 .string "{CIRCLE_1} Select “PROF. OAK'S PC” on the PC.\n" .string "{CIRCLE_2} PROF. OAK will evaluate your\n" .string " POKéDEX.\n" .string "His evaluations should give you hints\n" .string "for catching more POKéMON!$" -gUnknown_81B7108:: @ 81B7108 +Help_Text_HowToOpenMenu:: @ 81B7108 .string "{CIRCLE_1} Press START.\n" .string "{CIRCLE_2} The MENU will open on the right.\n" .string "{CIRCLE_3} Depending on the situation, the MENU\n" @@ -935,12 +932,12 @@ gUnknown_81B7108:: @ 81B7108 .string "situations such as when talking, doing\n" .string "something, battling, etc.$" -gUnknown_81B71EA:: @ 81B71EA +Help_Text_HowToUseFight:: @ 81B71EA .string "{CIRCLE_1} Select “FIGHT.”\n" .string "{CIRCLE_2} Select one of the moves shown,\n" .string "and that move will be used!$" -gUnknown_81B723B:: @ 81B723B +Help_Text_HowToUsePokemon2:: @ 81B723B .string "{CIRCLE_1} Select “POKéMON.”\n" .string "{CIRCLE_2} Select the POKéMON in your party\n" .string " that you want to use.\n" @@ -949,7 +946,7 @@ gUnknown_81B723B:: @ 81B723B .string " selecting “SHIFT.” Check POKéMON\n" .string " data by selecting “SUMMARY.”$" -gUnknown_81B7319:: @ 81B7319 +Help_Text_HowToUseShift:: @ 81B7319 .string "This command switches the POKéMON in\n" .string "battle with another one in your party.\n" .string "{CIRCLE_1} Select the POKéMON to be sent out.\n" @@ -957,7 +954,7 @@ gUnknown_81B7319:: @ 81B7319 .string "{CIRCLE_3} The selected POKéMON will switch\n" .string " places with the POKéMON in battle!$" -gUnknown_81B73E8:: @ 81B73E8 +Help_Text_HowToUseSummary2:: @ 81B73E8 .string "{CIRCLE_1} Select “SUMMARY.”\n" .string "{CIRCLE_2} Press left or right on the {PLUS} Control\n" .string " Pad to check the information:\n" @@ -965,7 +962,7 @@ gUnknown_81B73E8:: @ 81B73E8 .string " “POKéMON SKILLS”\n" .string " “KNOWN MOVES”$" -gUnknown_81B747E:: @ 81B747E +Help_Text_HowToUseBag2:: @ 81B747E .string "{CIRCLE_1} Select “BAG.”\n" .string "{CIRCLE_2} Press left or right on the {PLUS} Control\n" .string " Pad to check the data headings:\n" @@ -974,7 +971,7 @@ gUnknown_81B747E:: @ 81B747E .string " “POKé BALLS”\n" .string " Press up or down to select an item.$" -gUnknown_81B752C:: @ 81B752C +Help_Text_HowToReadPokedex:: @ 81B752C .string "{CIRCLE_1} POKéMON that you have caught are\n" .string " identified by a POKé BALL mark on\n" .string " the POKéDEX list.\n" @@ -988,20 +985,20 @@ gUnknown_81B752C:: @ 81B752C .string " TOWN MAP with its habitat(s).$" .endif -gUnknown_81B7611:: @ 81B7611 +Help_Text_HowToUseHomePC:: @ 81B7611 .string "{CIRCLE_1} Go up to the PC at home, then press\n" .string " the A Button.\n" .string "{CIRCLE_2} The PC will turn on.\n" .string "{CIRCLE_3} Select either “ITEM STORAGE” or\n" .string " “MAILBOX.”$" -gUnknown_81B7692:: @ 81B7692 +Help_Text_HowToUseItemStorage:: @ 81B7692 .string "{CIRCLE_1} Select “WITHDRAW ITEM” to withdraw\n" .string " an item stored on your PC.\n" .string "{CIRCLE_2} Select “DEPOSIT ITEM” to put \n" .string " an item from your BAG into your PC.$" -gUnknown_81B771E:: @ 81B771E +Help_Text_HowToUseWithdrawItem2:: @ 81B771E .string "{CIRCLE_1} Select “WITHDRAW ITEM.”\n" .string "{CIRCLE_2} Select the item to be withdrawn.\n" .string "{CIRCLE_3} The item can be withdrawn and\n" @@ -1009,41 +1006,41 @@ gUnknown_81B771E:: @ 81B771E .string " It may also be directly given to a\n" .string " POKéMON to hold.$" -gUnknown_81B77DD:: @ 81B77DD +Help_Text_HowToUseDepositItem2:: @ 81B77DD .string "{CIRCLE_1} Select “DEPOSIT ITEM.”\n" .string "{CIRCLE_2} Select the item in the BAG to be\n" .string " deposited using the {PLUS} Control Pad.\n" .string "{CIRCLE_3} If there is nothing in the BAG, this\n" .string " command can't be used!$" -gUnknown_81B7884:: @ 81B7884 +Help_Text_HowToUseMailbox2:: @ 81B7884 .string "When MAIL is taken from a POKéMON,\n" .string "it is moved to the MAILBOX. If it has\n" .string "no MAIL, the MAILBOX can't be used.\n" .string "{CIRCLE_1} Select MAIL by name to read it or\n" .string " make a POKéMON hold it.$" -gUnknown_81B7931:: @ 81B7931 +Help_Text_HowToUseRun:: @ 81B7931 .string "You may not “RUN” from a TRAINER\n" .string "battle!\n" .string "{CIRCLE_1} You may “RUN” from a wild POKéMON.\n" .string "{CIRCLE_2} Your chance of escape is improved\n" .string " if your POKéMON in battle is fast.$" -gUnknown_81B79CB:: @ 81B79CB +Help_Text_HowToRegisterKeyItem:: @ 81B79CB .string "You may “REGISTER” a key item for\n" .string "instant use by pressing SELECT!\n" .string "{CIRCLE_1} Open the “KEY ITEMS” POCKET.\n" .string "{CIRCLE_2} Select the key item, then select\n" .string " “REGISTER.”$" -gUnknown_81B7A60:: @ 81B7A60 +Help_Text_HowToUseBall:: @ 81B7A60 .string "{CIRCLE_1} Select to throw the special POKé\n" .string " BALL used only in the SAFARI ZONE.\n" .string "When wild POKéMON appear, throw lots\n" .string "of SAFARI BALLS to catch them!$" -gUnknown_81B7AEE:: @ 81B7AEE +Help_Text_HowToUseBait:: @ 81B7AEE .string "{CIRCLE_1} Select to throw the special food\n" .string " used only in the SAFARI ZONE.\n" .string "It is POKéMON food rolled up into\n" @@ -1051,148 +1048,148 @@ gUnknown_81B7AEE:: @ 81B7AEE .string "thrown, the wild POKéMON may get\n" .string "attracted by it, and may not flee!$" -gUnknown_81B7BBE:: @ 81B7BBE +Help_Text_HowToUseRock:: @ 81B7BBE .string "{CIRCLE_1} Select to throw a rock lying on\n" .string " the ground in the SAFARI ZONE.\n" .string "Throwing a rock at a POKéMON may \n" .string "make it run away, but it becomes easier\n" .string "to catch!$" -gUnknown_81B7C57:: @ 81B7C57 +Help_Text_HowToUseHallOfFame:: @ 81B7C57 .string "{CIRCLE_1} Select “HALL OF FAME” on the PC.\n" .string "{CIRCLE_2} The POKéMON that have entered the\n" .string " HALL OF FAME can be examined.$" -gUnknown_81B7CC1:: @ 81B7CC1 +Help_Text_HP:: @ 81B7CC1 .string "HP$" -gUnknown_81B7CC4:: @ 81B7CC4 +Help_Text_EXP:: @ 81B7CC4 .string "EXP. {LEFT_PAREN}EXP. Points{RIGHT_PAREN}$" -gUnknown_81B7CD9:: @ 81B7CD9 +Help_Text_Moves:: @ 81B7CD9 .string "MOVES$" -gUnknown_81B7CDF:: @ 81B7CDF +Help_Text_Attack:: @ 81B7CDF .string "ATTACK$" -gUnknown_81B7CE6:: @ 81B7CE6 +Help_Text_Defense:: @ 81B7CE6 .string "DEFENSE$" -gUnknown_81B7CEE:: @ 81B7CEE +Help_Text_SpAtk:: @ 81B7CEE .string "SP. ATK$" -gUnknown_81B7CF6:: @ 81B7CF6 +Help_Text_SpDef:: @ 81B7CF6 .string "SP. DEF$" -gUnknown_81B7CFE:: @ 81B7CFE +Help_Text_Speed:: @ 81B7CFE .string "SPEED$" -gUnknown_81B7D04:: @ 81B7D04 +Help_Text_Level:: @ 81B7D04 .string "Lv. {LEFT_PAREN}Level{RIGHT_PAREN}$" -gUnknown_81B7D12:: @ 81B7D12 +Help_Text_Type:: @ 81B7D12 .string "TYPE$" -gUnknown_81B7D17:: @ 81B7D17 +Help_Text_OT:: @ 81B7D17 .string "OT$" -gUnknown_81B7D1A:: @ 81B7D1A +Help_Text_Item:: @ 81B7D1A .string "ITEM$" -gUnknown_81B7D1F:: @ 81B7D1F +Help_Text_Ability:: @ 81B7D1F .string "ABILITY$" -gUnknown_81B7D27:: @ 81B7D27 +Help_Text_Money:: @ 81B7D27 .string "MONEY$" -gUnknown_81B7D2D:: @ 81B7D2D +Help_Text_MoveType:: @ 81B7D2D .string "MOVE TYPE$" -gUnknown_81B7D37:: @ 81B7D37 +Help_Text_Nature:: @ 81B7D37 .string "NATURE$" -gUnknown_81B7D3E:: @ 81B7D3E +Help_Text_IDNo:: @ 81B7D3E .string "ID No.$" -gUnknown_81B7D45:: @ 81B7D45 +Help_Text_PP:: @ 81B7D45 .string "PP$" -gUnknown_81B7D48:: @ 81B7D48 +Help_Text_Power:: @ 81B7D48 .string "POWER$" -gUnknown_81B7D4E:: @ 81B7D4E +Help_Text_Accuracy:: @ 81B7D4E .string "ACCURACY$" -gUnknown_81B7D57:: @ 81B7D57 +Help_Text_FNT:: @ 81B7D57 .string "FNT$" -gUnknown_81B7D5B:: @ 81B7D5B +Help_Text_Items:: @ 81B7D5B .string "ITEMS$" -gUnknown_81B7D61:: @ 81B7D61 +Help_Text_KeyItems:: @ 81B7D61 .string "KEY ITEMS$" -gUnknown_81B7D6B:: @ 81B7D6B +Help_Text_PokeBalls:: @ 81B7D6B .string "POKé BALLS$" -gUnknown_81B7D76:: @ 81B7D76 +Help_Text_Pokedex:: @ 81B7D76 .string "POKéDEX$" -gUnknown_81B7D7E:: @ 81B7D7E +Help_Text_PlayTime:: @ 81B7D7E .string "PLAY TIME$" -gUnknown_81B7D88:: @ 81B7D88 +Help_Text_Badges:: @ 81B7D88 .string "BADGES$" -gUnknown_81B7D8F:: @ 81B7D8F +Help_Text_TextSpeed:: @ 81B7D8F .string "TEXT SPEED$" -gUnknown_81B7D9A:: @ 81B7D9A +Help_Text_BattleScene:: @ 81B7D9A .string "BATTLE SCENE$" -gUnknown_81B7DA7:: @ 81B7DA7 +Help_Text_BattleStyle:: @ 81B7DA7 .string "BATTLE STYLE$" -gUnknown_81B7DB4:: @ 81B7DB4 +Help_Text_Sound:: @ 81B7DB4 .string "SOUND$" -gUnknown_81B7DBA:: @ 81B7DBA +Help_Text_ButtonMode:: @ 81B7DBA .string "BUTTON MODE$" -gUnknown_81B7DC6:: @ 81B7DC6 +Help_Text_Frame:: @ 81B7DC6 .string "FRAME$" -gUnknown_81B7DCC:: @ 81B7DCC +Help_Text_Cancel2:: @ 81B7DCC .string "CANCEL$" -gUnknown_81B7DD3:: @ 81B7DD3 +Help_Text_TM:: @ 81B7DD3 .string "TM$" -gUnknown_81B7DD6:: @ 81B7DD6 +Help_Text_HM:: @ 81B7DD6 .string "HM$" -gUnknown_81B7DD9:: @ 81B7DD9 +Help_Text_HMMove:: @ 81B7DD9 .string "HM MOVE$" -gUnknown_81B7DE1:: @ 81B7DE1 +Help_Text_Evolution:: @ 81B7DE1 .string "EVOLUTION$" -gUnknown_81B7DEB:: @ 81B7DEB +Help_Text_StatusProblem:: @ 81B7DEB .string "STATUS PROBLEM$" -gUnknown_81B7DFA:: @ 81B7DFA +Help_Text_Pokemon:: @ 81B7DFA .string "POKéMON$" -gUnknown_81B7E02:: @ 81B7E02 +Help_Text_IDNo2:: @ 81B7E02 .string "ID No.$" -gUnknown_81B7E09:: @ 81B7E09 +Help_Text_Money2:: @ 81B7E09 .string "MONEY$" -gUnknown_81B7E0F:: @ 81B7E0F +Help_Text_Badges2:: @ 81B7E0F .string "BADGES$" -gUnknown_81B7E16:: @ 81B7E16 +Help_Text_DefineHP:: @ 81B7E16 .string "HP indicates a POKéMON's vitality.\n" .string "If a POKéMON's HP drops to zero, it\l" .string "faints and is unable to battle.\l" @@ -1201,7 +1198,7 @@ gUnknown_81B7E16:: @ 81B7E16 .string "If your POKéMON are hurt, restore their\l" .string "HP at a POKéMON CENTER or use items.$" -gUnknown_81B7F0A:: @ 81B7F0A +Help_Text_DefineEXP:: @ 81B7F0A .string "EXP. Points stands for “Experience\n" .string "Points.” POKéMON gain EXP. Points by\l" .string "participating in winning battles.\l" @@ -1210,7 +1207,7 @@ gUnknown_81B7F0A:: @ 81B7F0A .string "indicates accumulated EXP. Points.\l" .string "It returns to zero upon leveling up.$" -gUnknown_81B800A:: @ 81B800A +Help_Text_DefineMoves:: @ 81B800A .string "POKéMON may learn up to four different\n" .string "moves. There are many kinds of moves\l" .string "including attacks and those with\l" @@ -1219,7 +1216,7 @@ gUnknown_81B800A:: @ 81B800A .string "POKéMON. Some moves can be learned\l" .string "from items.$" -gUnknown_81B80EC:: @ 81B80EC +Help_Text_DefineAttack:: @ 81B80EC .string "ATTACK indicates the power of an\n" .string "offensive move. The higher this stat,\l" .string "the more powerful the move.\l" @@ -1228,13 +1225,13 @@ gUnknown_81B80EC:: @ 81B80EC .string "FLYING, BUG, FIGHTING, ROCK, GHOST,\l" .string "and STEEL.$" -gUnknown_81B81C2:: @ 81B81C2 +Help_Text_DefineDefense:: @ 81B81C2 .string "DEFENSE indicates the resistance a\n" .string "POKéMON has against physical attacks.\l" .string "The higher this stat, the less damage\l" .string "sustained from a foe's physical hit.$" -gUnknown_81B8256:: @ 81B8256 +Help_Text_DefineSpAtk:: @ 81B8256 .string "SP. ATK (Special Attack) indicates the\n" .string "power of a special attack move.\l" .string "The higher this stat, the more powerful\l" @@ -1243,20 +1240,20 @@ gUnknown_81B8256:: @ 81B8256 .string "types: FIRE, WATER, ELECTRIC, GRASS,\l" .string "ICE, PSYCHIC, DRAGON, and DARK.$" -gUnknown_81B8348:: @ 81B8348 +Help_Text_DefineSpDef:: @ 81B8348 .string "SP. DEF (Special Defense) indicates\n" .string "the resistance a POKéMON has against\l" .string "special attacks.\l" .string "The higher this stat, the less damage\l" .string "sustained from a foe's special attack.$" -gUnknown_81B83EF:: @ 81B83EF +Help_Text_DefineSpeed:: @ 81B83EF .string "SPEED indicates the agility of a\n" .string "POKéMON. If this stat exceeds the foe's\l" .string "in battle, the POKéMON can make a move\l" .string "before its slower opponent.$" -gUnknown_81B847B:: @ 81B847B +Help_Text_DefineLevel:: @ 81B847B .string "Lv. (Level) indicates the growth and\n" .string "strength of a POKéMON.\l" .string "In general, when a POKéMON levels up,\l" @@ -1265,7 +1262,7 @@ gUnknown_81B847B:: @ 81B847B .string "POKéMON may learn a new move upon\l" .string "leveling up.$" -gUnknown_81B8550:: @ 81B8550 +Help_Text_DefineType:: @ 81B8550 .string "POKéMON and moves are classified by\n" .string "type. Every type has advantageous and\l" .string "disadvantageous matchups against\l" @@ -1274,14 +1271,14 @@ gUnknown_81B8550:: @ 81B8550 .string "strong against the FIRE type and weak\l" .string "against the GRASS type.$" -gUnknown_81B8647:: @ 81B8647 +Help_Text_DefineOT:: @ 81B8647 .string "OT stands for “Original TRAINER,”\n" .string "the first TRAINER to have caught the\l" .string "selected POKéMON.\l" .string "Even if the POKéMON is traded, the OT\l" .string "name will remain unchanged.$" -gUnknown_81B86E2:: @ 81B86E2 +Help_Text_DefineItem:: @ 81B86E2 .string "All POKéMON can be made to hold one\n" .string "item each. Some items will be used by\l" .string "the POKéMON automatically in certain\l" @@ -1289,7 +1286,7 @@ gUnknown_81B86E2:: @ 81B86E2 .string "item, select the item from the BAG and\l" .string "“GIVE” it to the POKéMON.$" -gUnknown_81B87B8:: @ 81B87B8 +Help_Text_DefineAbility:: @ 81B87B8 .string "All POKéMON have a special ABILITY.\n" .string "There are many different kinds of these\l" .string "abilities, some used in battle, some\l" @@ -1297,13 +1294,13 @@ gUnknown_81B87B8:: @ 81B87B8 .string "species to species. Some species may\l" .string "have more than one kind of ability.$" -gUnknown_81B8897:: @ 81B8897 +Help_Text_DefineMoney:: @ 81B8897 .string "Whenever you win a battle against a\n" .string "TRAINER, you are given prize money.\l" .string "Save up your prize money so you can\l" .string "enjoy shopping at POKéMON MARTS!$" -gUnknown_81B8924:: @ 81B8924 +Help_Text_DefineMoveType:: @ 81B8924 .string "Moves are also classified by types.\n" .string "If a POKéMON of a certain type uses\l" .string "a move of the same type, the move's\l" @@ -1312,13 +1309,13 @@ gUnknown_81B8924:: @ 81B8924 .string "target, its effectiveness is also\l" .string "boosted.$" -gUnknown_81B8A04:: @ 81B8A04 +Help_Text_DefineNature:: @ 81B8A04 .string "All POKéMON have a personality,\n" .string "or “NATURE.” The POKéMON's\l" .string "nature appears to affect how the\l" .string "POKéMON will grow upon leveling up.$" -gUnknown_81B8A84:: @ 81B8A84 +Help_Text_DefineIDNo:: @ 81B8A84 .string "The ID No. is a special number assigned\n" .string "specifically to you as a TRAINER.\l" .string "Together with the OT name, the ID No.\l" @@ -1327,7 +1324,7 @@ gUnknown_81B8A84:: @ 81B8A84 .string "The ID No. does not change even if the\l" .string "POKéMON is traded.$" -gUnknown_81B8B62:: @ 81B8B62 +Help_Text_DefinePP:: @ 81B8B62 .string "PP stands for “Power Points.”\n" .string "It indicates the number of times a\l" .string "certain move can be used in battle.\l" @@ -1335,19 +1332,19 @@ gUnknown_81B8B62:: @ 81B8B62 .string "a POKéMON CENTER or using certain\l" .string "items.$" -gUnknown_81B8C18:: @ 81B8C18 +Help_Text_DefinePower:: @ 81B8C18 .string "POWER indicates the strength of an\n" .string "attack. The higher this number, the\l" .string "greater the damage that can be\l" .string "inflicted on the foe!$" -gUnknown_81B8C94:: @ 81B8C94 +Help_Text_DefineAccuracy:: @ 81B8C94 .string "ACCURACY indicates the probability of\n" .string "the move hitting the foe.\l" .string "The higher this number, the more likely\l" .string "the move will strike the target.$" -gUnknown_81B8D1D:: @ 81B8D1D +Help_Text_DefineFNT:: @ 81B8D1D .string "FNT stands for “fainted.”\n" .string "A POKéMON faints if its HP is reduced\l" .string "to zero. It becomes incapable of taking\l" @@ -1355,13 +1352,13 @@ gUnknown_81B8D1D:: @ 81B8D1D .string "Restore a fainted POKéMON at a POKéMON\l" .string "CENTER, or use an item.$" -gUnknown_81B8DD4:: @ 81B8DD4 +Help_Text_DefineItems:: @ 81B8DD4 .string "Ordinary items bought at any POKéMON\n" .string "MART are placed in the ITEMS POCKET.\l" .string "Items may be used, given to a POKéMON\l" .string "to hold, or tossed out as garbage.$" -gUnknown_81B8E67:: @ 81B8E67 +Help_Text_DefineKeyItems:: @ 81B8E67 .string "Important items that you find or \n" .string "receive from people are placed in the\l" .string "KEY ITEMS POCKET.\l" @@ -1370,7 +1367,7 @@ gUnknown_81B8E67:: @ 81B8E67 .string "registered, the item can be used\l" .string "without opening the MENU and BAG.$" -gUnknown_81B8F4D:: @ 81B8F4D +Help_Text_DefinePokeBalls:: @ 81B8F4D .string "POKé BALLS, which are used for\n" .string "catching wild POKéMON, are placed in\l" .string "the POKé BALLS POCKET.\l" @@ -1379,33 +1376,33 @@ gUnknown_81B8F4D:: @ 81B8F4D .string "POKéMON to hold, or tossed out as\l" .string "garbage.$" -gUnknown_81B901B:: @ 81B901B +Help_Text_DefinePokedex:: @ 81B901B .string "This indicates the number of species of\n" .string "POKéMON you have caught and/or\l" .string "evolved to fill the POKéDEX.\l" .string "Try hard to catch all sorts of\l" .string "POKéMON!$" -gUnknown_81B90A7:: @ 81B90A7 +Help_Text_DefinePlayTime:: @ 81B90A7 .string "This is the total amount of time that\n" .string "you have played this game.$" -gUnknown_81B90E8:: @ 81B90E8 +Help_Text_DefineBadges:: @ 81B90E8 .string "The POKéMON LEAGUE BADGES that you\n" .string "have won are registered and shown.\l" .string "Earn BADGES by defeating GYM LEADERS\l" .string "in various cities and towns.$" -gUnknown_81B9170:: @ 81B9170 +Help_Text_DefineTextSpeed:: @ 81B9170 .string "You can adjust how quickly the text is\n" .string "displayed. Choose one: SLOW, MID,\l" .string "or FAST.$" -gUnknown_81B91C2:: @ 81B91C2 +Help_Text_DefineBattleScene:: @ 81B91C2 .string "You can choose to turn the battle\n" .string "animation ON or OFF.$" -gUnknown_81B91F9:: @ 81B91F9 +Help_Text_DefineBattleStyle:: @ 81B91F9 .string "You can choose whether or not a\n" .string "TRAINER can switch a POKéMON after\l" .string "it has made its foe faint.\l" @@ -1413,11 +1410,11 @@ gUnknown_81B91F9:: @ 81B91F9 .string "chance to switch a POKéMON after it\l" .string "has made its foe faint.$" -gUnknown_81B92B8:: @ 81B92B8 +Help_Text_DefineSound:: @ 81B92B8 .string "You can choose between MONO and\n" .string "STEREO sound output.$" -gUnknown_81B92ED:: @ 81B92ED +Help_Text_DefineButtonMode:: @ 81B92ED .string "Set to “HELP” to display help messages\n" .string "by pressing the L or R Button.\l" .string "Set to “LR” to enable the switching\l" @@ -1426,17 +1423,17 @@ gUnknown_81B92ED:: @ 81B92ED .string "Set to “L=A” to make the L Button\l" .string "work the same as the A Button.$" -gUnknown_81B93D8:: @ 81B93D8 +Help_Text_DefineFrame:: @ 81B93D8 .string "You may choose the design of the frame\n" .string "around certain menus. Try them out and\l" .string "see what you like.$" -gUnknown_81B9439:: @ 81B9439 +Help_Text_DefineCancel2:: @ 81B9439 .string "The settings will be changed to the\n" .string "selections shown in red, and you will\l" .string "return to the MENU.$" -gUnknown_81B9497:: @ 81B9497 +Help_Text_DefineTM:: @ 81B9497 .string "A TM (Technical Machine) is a device\n" .string "used to teach a move to a POKéMON.\l" .string "There are many different kinds.\l" @@ -1444,7 +1441,7 @@ gUnknown_81B9497:: @ 81B9497 .string "POKéMON capable of using them.\l" .string "A TM breaks after a single use.$" -gUnknown_81B9560:: @ 81B9560 +Help_Text_DefineHM:: @ 81B9560 .string "An HM (Hidden Machine) is a device used\n" .string "to teach a HIDDEN move to a POKéMON.\l" .string "A HIDDEN move can be taught only to\l" @@ -1453,7 +1450,7 @@ gUnknown_81B9560:: @ 81B9560 .string "and over. A HIDDEN move can be tough\l" .string "for a POKéMON to forget.$" -gUnknown_81B9656:: @ 81B9656 +Help_Text_DefineHMMove:: @ 81B9656 .string "HIDDEN moves are those that are\n" .string "especially important for your\l" .string "adventure. To use such a move outside\l" @@ -1462,7 +1459,7 @@ gUnknown_81B9656:: @ 81B9656 .string "move use it. A fainted POKéMON may use\l" .string "a HIDDEN move outside of battle.$" -gUnknown_81B9749:: @ 81B9749 +Help_Text_DefineEvolution:: @ 81B9749 .string "Among POKéMON, there are some that\n" .string "undergo major changes (evolution) upon\l" .string "growing to certain levels. Evolution\l" @@ -1471,7 +1468,7 @@ gUnknown_81B9749:: @ 81B9749 .string "it may learn. Some POKéMON evolve\l" .string "due to reasons other than leveling up.$" -gUnknown_81B984F:: @ 81B984F +Help_Text_DefineStatusProblem:: @ 81B984F .string "Status problems include:\n" .string "Sleep: Can't use moves.\l" .string "Poison: Causes steady HP loss.\l" @@ -1480,14 +1477,14 @@ gUnknown_81B984F:: @ 81B984F .string "Freeze: Can't use moves.\l" .string "These can be healed with items, etc.$" -gUnknown_81B991C:: @ 81B991C +Help_Text_DefinePokemon:: @ 81B991C .string "POKéMON is a name given to describe\n" .string "wondrous creatures that inhabit all\l" .string "corners of this world.\l" .string "People raise POKéMON to be their pets,\l" .string "use them for battling, and so on.$" -gUnknown_81B99C4:: @ 81B99C4 +Help_Text_DefineIDNo2:: @ 81B99C4 .string "The ID No. is a special number assigned\n" .string "specifically to you as a TRAINER.\l" .string "Together with the OT name, the ID No.\l" @@ -1496,40 +1493,40 @@ gUnknown_81B99C4:: @ 81B99C4 .string "The ID No. does not change even if the\l" .string "POKéMON is traded.$" -gUnknown_81B9AA2:: @ 81B9AA2 +Help_Text_DefineMoney2:: @ 81B9AA2 .string "Whenever you win a battle against a\n" .string "TRAINER, you are given prize money.\l" .string "Save up your prize money so you can\l" .string "enjoy shopping at POKéMON MARTS!$" -gUnknown_81B9B2F:: @ 81B9B2F +Help_Text_DefineBadges2:: @ 81B9B2F .string "This indicates the number of POKéMON\n" .string "LEAGUE BADGES that you have won.\l" .string "Earn BADGES by defeating GYM LEADERS\l" .string "in various cities and towns.$" -gUnknown_81B9BB7:: @ 81B9BB7 +Help_Text_TheHelpSystem:: @ 81B9BB7 .string "The HELP System$" -gUnknown_81B9BC7:: @ 81B9BC7 +Help_Text_TheGame:: @ 81B9BC7 .string "The game$" -gUnknown_81B9BD0:: @ 81B9BD0 +Help_Text_WirelessAdapter:: @ 81B9BD0 .string "Wireless Adapter$" -gUnknown_81B9BE1:: @ 81B9BE1 +Help_Text_GameFundamentals1:: @ 81B9BE1 .string "Game fundamentals 1$" -gUnknown_81B9BF5:: @ 81B9BF5 +Help_Text_GameFundamentals2:: @ 81B9BF5 .string "Game fundamentals 2$" -gUnknown_81B9C09:: @ 81B9C09 +Help_Text_GameFundamentals3:: @ 81B9C09 .string "Game fundamentals 3$" -gUnknown_81B9C1D:: @ 81B9C1D +Help_Text_WhatArePokemon:: @ 81B9C1D .string "What are POKéMON?$" -gUnknown_81B9C2F:: @ 81B9C2F +Help_Text_DescTheHelpSystem:: @ 81B9C2F .string "The help messages change depending on\n" .string "how much you have progressed in the\l" .string "game. They are designed to support you\l" @@ -1537,7 +1534,7 @@ gUnknown_81B9C2F:: @ 81B9C2F .string "anything that you don't understand,\l" .string "please look up the HELP System!$" -gUnknown_81B9D04:: @ 81B9D04 +Help_Text_DescTheGame:: @ 81B9D04 .string "You become the main character to\n" .string "explore the world of POKéMON!\l" .string "By talking to people and solving\l" @@ -1545,7 +1542,7 @@ gUnknown_81B9D04:: @ 81B9D04 .string "Strive for the goal together with your\l" .string "wonderful POKéMON!$" -gUnknown_81B9DC5:: @ 81B9DC5 +Help_Text_DescWirelessAdapter:: @ 81B9DC5 .string "This game communicates over a wireless\n" .string "link using the Wireless Adapter.\p" .string "Go wireless anywhere, anytime, and\n" @@ -1553,14 +1550,14 @@ gUnknown_81B9DC5:: @ 81B9DC5 .string "Try playing with the Wireless Adapter\n" .string "always attached!$" -gUnknown_81B9E75:: @ 81B9E75 +Help_Text_DescGameFundamentals1:: @ 81B9E75 .string "Visit every city and town, travel every\n" .string "road, explore every cave, and face\l" .string "every challenge as you strive to\l" .string "become the greatest TRAINER of\l" .string "POKéMON!$" -gUnknown_81B9F09:: @ 81B9F09 +Help_Text_DescGameFundamentals2:: @ 81B9F09 .string "On your adventure, you will be faced\n" .string "with many obstacles. Every obstacle\l" .string "can be overcome by doing something\l" @@ -1568,12 +1565,12 @@ gUnknown_81B9F09:: @ 81B9F09 .string "are affected by something that happens\l" .string "far away.$" -gUnknown_81B9FCE:: @ 81B9FCE +Help_Text_DescGameFundamentals3:: @ 81B9FCE .string "Some of the obstacles in your way can\n" .string "be removed once your POKéMON learn\l" .string "specific moves.$" -gUnknown_81BA027:: @ 81BA027 +Help_Text_DescWhatArePokemon:: @ 81BA027 .string "POKéMON are wondrous creatures that\n" .string "are shrouded in mystery. You may meet\l" .string "them all over the world…in tall\l" @@ -1581,112 +1578,112 @@ gUnknown_81BA027:: @ 81BA027 .string "They appear to grow obedient to the\l" .string "TRAINERS that caught them.$" -gUnknown_81BA0F1:: @ 81BA0F1 +Help_Text_UsingTypeMatchupList:: @ 81BA0F1 .string "Using the Type Matchup List$" -gUnknown_81BA10D:: @ 81BA10D +Help_Text_OwnMoveDark:: @ 81BA10D .string "Own move type: DARK$" -gUnknown_81BA121:: @ 81BA121 +Help_Text_OwnPokemonDark:: @ 81BA121 .string "Own POKéMON type: DARK$" -gUnknown_81BA138:: @ 81BA138 +Help_Text_OwnMoveRock:: @ 81BA138 .string "Own move type: ROCK$" -gUnknown_81BA14C:: @ 81BA14C +Help_Text_OwnPokemonRock:: @ 81BA14C .string "Own POKéMON type: ROCK$" -gUnknown_81BA163:: @ 81BA163 +Help_Text_OwnMovePsychic:: @ 81BA163 .string "Own move type: PSYCHIC$" -gUnknown_81BA17A:: @ 81BA17A +Help_Text_OwnPokemonPsychic:: @ 81BA17A .string "Own POKéMON type: PSYCHIC$" -gUnknown_81BA194:: @ 81BA194 +Help_Text_OwnMoveFighting:: @ 81BA194 .string "Own move type: FIGHTING$" -gUnknown_81BA1AC:: @ 81BA1AC +Help_Text_OwnPokemonFighting:: @ 81BA1AC .string "Own POKéMON type: FIGHTING$" -gUnknown_81BA1C7:: @ 81BA1C7 +Help_Text_OwnMoveGrass:: @ 81BA1C7 .string "Own move type: GRASS$" -gUnknown_81BA1DC:: @ 81BA1DC +Help_Text_OwnPokemonGrass:: @ 81BA1DC .string "Own POKéMON type: GRASS$" -gUnknown_81BA1F4:: @ 81BA1F4 +Help_Text_OwnMoveGhost:: @ 81BA1F4 .string "Own move type: GHOST$" -gUnknown_81BA209:: @ 81BA209 +Help_Text_OwnPokemonGhost:: @ 81BA209 .string "Own POKéMON type: GHOST$" -gUnknown_81BA221:: @ 81BA221 +Help_Text_OwnMoveIce:: @ 81BA221 .string "Own move type: ICE$" -gUnknown_81BA234:: @ 81BA234 +Help_Text_OwnPokemonIce:: @ 81BA234 .string "Own POKéMON type: ICE$" -gUnknown_81BA24A:: @ 81BA24A +Help_Text_OwnMoveGround:: @ 81BA24A .string "Own move type: GROUND$" -gUnknown_81BA260:: @ 81BA260 +Help_Text_OwnPokemonGround:: @ 81BA260 .string "Own POKéMON type: GROUND$" -gUnknown_81BA279:: @ 81BA279 +Help_Text_OwnMoveElectric:: @ 81BA279 .string "Own move type: ELECTRIC$" -gUnknown_81BA291:: @ 81BA291 +Help_Text_OwnPokemonElectric:: @ 81BA291 .string "Own POKéMON type: ELECTRIC$" -gUnknown_81BA2AC:: @ 81BA2AC +Help_Text_OwnMovePoison:: @ 81BA2AC .string "Own move type: POISON$" -gUnknown_81BA2C2:: @ 81BA2C2 +Help_Text_OwnPokemonPoison:: @ 81BA2C2 .string "Own POKéMON type: POISON$" -gUnknown_81BA2DB:: @ 81BA2DB +Help_Text_OwnMoveDragon:: @ 81BA2DB .string "Own move type: DRAGON$" -gUnknown_81BA2F1:: @ 81BA2F1 +Help_Text_OwnPokemonDragon:: @ 81BA2F1 .string "Own POKéMON type: DRAGON$" -gUnknown_81BA30A:: @ 81BA30A +Help_Text_OwnMoveNormal:: @ 81BA30A .string "Own move type: NORMAL$" -gUnknown_81BA320:: @ 81BA320 +Help_Text_OwnPokemonNormal:: @ 81BA320 .string "Own POKéMON type: NORMAL$" -gUnknown_81BA339:: @ 81BA339 +Help_Text_OwnMoveSteel:: @ 81BA339 .string "Own move type: STEEL$" -gUnknown_81BA34E:: @ 81BA34E +Help_Text_OwnPokemonSteel:: @ 81BA34E .string "Own POKéMON type: STEEL$" -gUnknown_81BA366:: @ 81BA366 +Help_Text_OwnMoveFlying:: @ 81BA366 .string "Own move type: FLYING$" -gUnknown_81BA37C:: @ 81BA37C +Help_Text_OwnPokemonFlying:: @ 81BA37C .string "Own POKéMON type: FLYING$" -gUnknown_81BA395:: @ 81BA395 +Help_Text_OwnMoveFire:: @ 81BA395 .string "Own move type: FIRE$" -gUnknown_81BA3A9:: @ 81BA3A9 +Help_Text_OwnPokemonFire:: @ 81BA3A9 .string "Own POKéMON type: FIRE$" -gUnknown_81BA3C0:: @ 81BA3C0 +Help_Text_OwnMoveWater:: @ 81BA3C0 .string "Own move type: WATER$" -gUnknown_81BA3D5:: @ 81BA3D5 +Help_Text_OwnPokemonWater:: @ 81BA3D5 .string "Own POKéMON type: WATER$" -gUnknown_81BA3ED:: @ 81BA3ED +Help_Text_OwnMoveBug:: @ 81BA3ED .string "Own move type: BUG$" -gUnknown_81BA400:: @ 81BA400 +Help_Text_OwnPokemonBug:: @ 81BA400 .string "Own POKéMON type: BUG$" -gUnknown_81BA416:: @ 81BA416 +Help_Text_HowToUseTypeMatchupList:: @ 81BA416 .string "Depending on the matchup of the\n" .string "move type and the target POKéMON's\l" .string "type, the move's effectiveness varies:\l" @@ -1695,144 +1692,144 @@ gUnknown_81BA416:: @ 81BA416 .string "{BIG_MULT_X}: Not effective at all\l" .string "(No changes for other matchups.)$" -gUnknown_81BA4E6:: @ 81BA4E6 +Help_Text_TypeMatchupOwnMoveDark:: @ 81BA4E6 .string "Effect on the opposing POKéMON:\p" .string " {CIRCLE_DOT}: PSYCHIC, GHOST\p" .string " {TRIANGLE}: FIGHTING, DARK, STEEL$" -gUnknown_81BA539:: @ 81BA539 +Help_Text_TypeMatchupOwnPokemonDark:: @ 81BA539 .string "Effect of foe's move on own POKéMON:\p" .string " {CIRCLE_DOT}: FIGHTING, BUG\p" .string " {TRIANGLE}: GHOST, DARK\p" .string " {BIG_MULT_X}: PSYCHIC$" -gUnknown_81BA595:: @ 81BA595 +Help_Text_TypeMatchupOwnMoveRock:: @ 81BA595 .string "Effect on the opposing POKéMON:\p" .string " {CIRCLE_DOT}: FIRE, ICE, FLYING, BUG\p" .string " {TRIANGLE}: FIGHTING, GROUND, STEEL$" -gUnknown_81BA5F2:: @ 81BA5F2 +Help_Text_TypeMatchupOwnPokemonRock:: @ 81BA5F2 .string "Effect of foe's move on own POKéMON:\p" .string " {CIRCLE_DOT}: WATER, GRASS, FIGHTING,\n" .string " GROUND, STEEL\p" .string " {TRIANGLE}: NORMAL, FIRE, POISON, FLYING$" -gUnknown_81BA66F:: @ 81BA66F +Help_Text_TypeMatchupOwnMovePsychic:: @ 81BA66F .string "Effect on the opposing POKéMON:\p" .string " {CIRCLE_DOT}: FIGHTING, POISON\p" .string " {TRIANGLE}: PSYCHIC, STEEL\p" .string " {BIG_MULT_X}: DARK$" -gUnknown_81BA6C9:: @ 81BA6C9 +Help_Text_TypeMatchupOwnPokemonPsychic:: @ 81BA6C9 .string "Effect of foe's move on own POKéMON:\p" .string " {CIRCLE_DOT}: BUG, GHOST, DARK\p" .string " {TRIANGLE}: FIGHTING, PSYCHIC$" -gUnknown_81BA71F:: @ 81BA71F +Help_Text_TypeMatchupOwnMoveFighting:: @ 81BA71F .string "Effect on the opposing POKéMON:\p" .string " {CIRCLE_DOT}: NORMAL, ICE, ROCK, DARK, STEEL\p" .string " {TRIANGLE}: POISON, FLYING, PSYCHIC, BUG\p" .string " {BIG_MULT_X}: GHOST$" -gUnknown_81BA796:: @ 81BA796 +Help_Text_TypeMatchupOwnPokemonFighting:: @ 81BA796 .string "Effect of foe's move on own POKéMON:\p" .string " {CIRCLE_DOT}: FLYING, PSYCHIC\p" .string " {TRIANGLE}: BUG, ROCK, DARK$" -gUnknown_81BA7E9:: @ 81BA7E9 +Help_Text_TypeMatchupOwnMoveGrass:: @ 81BA7E9 .string "Effect on the opposing POKéMON:\p" .string " {CIRCLE_DOT}: WATER, GROUND, ROCK\p" .string " {TRIANGLE}: FIRE, GRASS, POISON, FLYING,\n" .string " BUG, DRAGON, STEEL$" -gUnknown_81BA862:: @ 81BA862 +Help_Text_TypeMatchupOwnPokemonGrass:: @ 81BA862 .string "Effect of foe's move on own POKéMON:\p" .string " {CIRCLE_DOT}: FIRE, ICE, POISON, FLYING, BUG\p" .string " {TRIANGLE}: WATER, ELECTRIC, GRASS, GROUND$" -gUnknown_81BA8D3:: @ 81BA8D3 +Help_Text_TypeMatchupOwnMoveGhost:: @ 81BA8D3 .string "Effect on the opposing POKéMON:\p" .string " {CIRCLE_DOT}: PSYCHIC, GHOST\p" .string " {TRIANGLE}: DARK, STEEL\p" .string " {BIG_MULT_X}: NORMAL$" -gUnknown_81BA92A:: @ 81BA92A +Help_Text_TypeMatchupOwnPokemonGhost:: @ 81BA92A .string "Effect of foe's move on own POKéMON:\p" .string " {CIRCLE_DOT}: GHOST, DARK\p" .string " {TRIANGLE}: POISON, BUG\p" .string " {BIG_MULT_X}: NORMAL, FIGHTING$" -gUnknown_81BA98D:: @ 81BA98D +Help_Text_TypeMatchupOwnMoveIce:: @ 81BA98D .string "Effect on the opposing POKéMON:\p" .string " {CIRCLE_DOT}: GRASS, GROUND, FLYING, DRAGON\p" .string " {TRIANGLE}: FIRE, WATER, ICE, STEEL$" -gUnknown_81BA9F1:: @ 81BA9F1 +Help_Text_TypeMatchupOwnPokemonIce:: @ 81BA9F1 .string "Effect of foe's move on own POKéMON:\p" .string " {CIRCLE_DOT}: FIRE, FIGHTING, ROCK, STEEL\p" .string " {TRIANGLE}: ICE$" -gUnknown_81BAA44:: @ 81BAA44 +Help_Text_TypeMatchupOwnMoveGround:: @ 81BAA44 .string "Effect on the opposing POKéMON:\p" .string " {CIRCLE_DOT}: FIRE, ELECTRIC, POISON, ROCK,\n" .string " STEEL\p" .string " {TRIANGLE}: GRASS, BUG\n" .string " {BIG_MULT_X}: FLYING$" -gUnknown_81BAAB6:: @ 81BAAB6 +Help_Text_TypeMatchupOwnPokemonGround:: @ 81BAAB6 .string "Effect of foe's move on own POKéMON:\p" .string " {CIRCLE_DOT}: WATER, GRASS, ICE\p" .string " {TRIANGLE}: POISON, ROCK\p" .string " {BIG_MULT_X}: ELECTRIC$" -gUnknown_81BAB18:: @ 81BAB18 +Help_Text_TypeMatchupOwnMoveElectric:: @ 81BAB18 .string "Effect on the opposing POKéMON:\p" .string " {CIRCLE_DOT}: WATER, FLYING\p" .string " {TRIANGLE}: ELECTRIC, GRASS, DRAGON\p" .string " {BIG_MULT_X}: GROUND$" -gUnknown_81BAB7A:: @ 81BAB7A +Help_Text_TypeMatchupOwnPokemonElectric:: @ 81BAB7A .string "Effect of foe's move on own POKéMON:\p" .string " {CIRCLE_DOT}: GROUND\p" .string " {TRIANGLE}: ELECTRIC, FLYING, STEEL$" -gUnknown_81BABCC:: @ 81BABCC +Help_Text_TypeMatchupOwnMovePoison:: @ 81BABCC .string "Effect on the opposing POKéMON:\p" .string " {CIRCLE_DOT}: GRASS\p" .string " {TRIANGLE}: POISON, GROUND, ROCK, GHOST\p" .string " {BIG_MULT_X}: STEEL$" -gUnknown_81BAC29:: @ 81BAC29 +Help_Text_TypeMatchupOwnPokemonPoison:: @ 81BAC29 .string "Effect of foe's move on own POKéMON:\p" .string " {CIRCLE_DOT}: GROUND, PSYCHIC\p" .string " {TRIANGLE}: GRASS, FIGHTING, POISON, BUG$" -gUnknown_81BAC89:: @ 81BAC89 +Help_Text_TypeMatchupOwnMoveDragon:: @ 81BAC89 .string "Effect on the opposing POKéMON:\p" .string " {CIRCLE_DOT}: DRAGON\p" .string " {TRIANGLE}: STEEL$" -gUnknown_81BACC4:: @ 81BACC4 +Help_Text_TypeMatchupOwnPokemonDragon:: @ 81BACC4 .string "Effect of foe's move on own POKéMON:\p" .string " {CIRCLE_DOT}: ICE, DRAGON\p" .string " {TRIANGLE}: FIRE, WATER, ELECTRIC, GRASS$" -gUnknown_81BAD20:: @ 81BAD20 +Help_Text_TypeMatchupOwnMoveNormal:: @ 81BAD20 .string "Effect on the opposing POKéMON:\p" .string " {TRIANGLE}: ROCK, STEEL\p" .string " {BIG_MULT_X}: GHOST$" -gUnknown_81BAD60:: @ 81BAD60 +Help_Text_TypeMatchupOwnPokemonNormal:: @ 81BAD60 .string "Effect of foe's move on own POKéMON:\p" .string " {CIRCLE_DOT}: FIGHTING\p" .string " {BIG_MULT_X}: GHOST$" -gUnknown_81BADA2:: @ 81BADA2 +Help_Text_TypeMatchupOwnMoveSteel:: @ 81BADA2 .string "Effect on the opposing POKéMON:\p" .string " {CIRCLE_DOT}: ICE, ROCK\p" .string " {TRIANGLE}: FIRE, WATER, ELECTRIC, STEEL$" -gUnknown_81BADF7:: @ 81BADF7 +Help_Text_TypeMatchupOwnPokemonSteel:: @ 81BADF7 .string "Effect of foe's move on own POKéMON:\p" .string " {CIRCLE_DOT}: FIRE, FIGHTING, GROUND\n" .string " {TRIANGLE}: NORMAL, GRASS, ICE, FLYING,\l" @@ -1840,44 +1837,44 @@ gUnknown_81BADF7:: @ 81BADF7 .string " DRAGON, DARK, STEEL\l" .string " {BIG_MULT_X}: POISON$" -gUnknown_81BAEA8:: @ 81BAEA8 +Help_Text_TypeMatchupOwnMoveFlying:: @ 81BAEA8 .string "Effect on the opposing POKéMON:\p" .string " {CIRCLE_DOT}: GRASS, FIGHTING, BUG\p" .string " {TRIANGLE}: ELECTRIC, ROCK, STEEL$" -gUnknown_81BAF01:: @ 81BAF01 +Help_Text_TypeMatchupOwnPokemonFlying:: @ 81BAF01 .string "Effect of foe's move on own POKéMON:\p" .string " {CIRCLE_DOT}: ELECTRIC, ICE, ROCK\p" .string " {TRIANGLE}: GRASS, FIGHTING, BUG\p" .string " {BIG_MULT_X}: GROUND$" -gUnknown_81BAF6B:: @ 81BAF6B +Help_Text_TypeMatchupOwnMoveFire:: @ 81BAF6B .string "Effect on the opposing POKéMON:\p" .string " {CIRCLE_DOT}: GRASS, ICE, BUG, STEEL\p" .string " {TRIANGLE}: FIRE, WATER, ROCK, DRAGON$" -gUnknown_81BAFCA:: @ 81BAFCA +Help_Text_TypeMatchupOwnPokemonFire:: @ 81BAFCA .string "Effect of foe's move on own POKéMON:\p" .string " {CIRCLE_DOT}: WATER, GROUND, ROCK\p" .string " {TRIANGLE}: FIRE, GRASS, ICE, BUG, STEEL$" -gUnknown_81BB02E:: @ 81BB02E +Help_Text_TypeMatchupOwnMoveWater:: @ 81BB02E .string "Effect on the opposing POKéMON:\p" .string " {CIRCLE_DOT}: FIRE, GROUND, ROCK\p" .string " {TRIANGLE}: WATER, GRASS, DRAGON$" -gUnknown_81BB084:: @ 81BB084 +Help_Text_TypeMatchupOwnPokemonWater:: @ 81BB084 .string "Effect of foe's move on own POKéMON:\p" .string " {CIRCLE_DOT}: ELECTRIC, GRASS\p" .string " {TRIANGLE}: FIRE, WATER, ICE, STEEL$" -gUnknown_81BB0DF:: @ 81BB0DF +Help_Text_TypeMatchupOwnMoveBug:: @ 81BB0DF .string "Effect on the opposing POKéMON:\p" .string " {CIRCLE_DOT}: GRASS, PSYCHIC, DARK\p" .string " {TRIANGLE}: FIRE, FIGHTING, POISON,\n" .string " FLYING, GHOST, STEEL$" -gUnknown_81BB156:: @ 81BB156 +Help_Text_TypeMatchupOwnPokemonBug:: @ 81BB156 .string "Effect of foe's move on own POKéMON:\p" .string " {CIRCLE_DOT}: FIRE, FLYING, ROCK\p" .string " {TRIANGLE}: GRASS, FIGHTING, GROUND$" diff --git a/data/text/itemfinder.inc b/data/text/itemfinder.inc new file mode 100644 index 000000000..5c59f43ee --- /dev/null +++ b/data/text/itemfinder.inc @@ -0,0 +1,10 @@ +@ Unused +Text_ItemfinderResponding:: @ 81A56D2 + .string "おッ! ダウジングマシンが\n" + .string "はんのう してるぞ!\p" + .string "ましたに どうぐが うまってる!\n" + .string "‥‥‥$" + +Text_DugUpItemFromGround:: @ 81A5700 + .string "{PLAYER} dug up one {STR_VAR_2}\n" + .string "from deep in the ground.$" diff --git a/data/text/pc.inc b/data/text/pc.inc new file mode 100644 index 000000000..c39a0c61f --- /dev/null +++ b/data/text/pc.inc @@ -0,0 +1,17 @@ +Text_BootedUpPC:: @ 81A5075 + .string "{PLAYER} booted up the PC.$" + +Text_AccessWhichPC:: @ 81A508A + .string "Which PC should be accessed?$" + +Text_AccessedSomeonesPC:: @ 81A50A7 + .string "Accessed Someone's PC.$" + +Text_OpenedPkmnStorage:: @ 81A50BE + .string "POKéMON Storage System opened.$" + +Text_AccessedPlayersPC:: @ 81A50DD + .string "Accessed {PLAYER}'s PC.$" + +Text_AccessedBillsPC:: @ 81A50EF + .string "Accessed BILL's PC.$" diff --git a/data/text/pokedex_rating.inc b/data/text/pokedex_rating.inc index 306cd5225..a31f9f171 100644 --- a/data/text/pokedex_rating.inc +++ b/data/text/pokedex_rating.inc @@ -1,119 +1,119 @@ -Text_HowIsPokedexComingAlong:: @ 81A6C51 +PokedexRating_Text_HowIsPokedexComingAlong:: @ 81A6C51 .string "OAK: Good to see you!\n" .string "How is your POKéDEX coming along?\p" .string "Here, let me take a look.$" -Text_YouveSeenXAndOwnedYMons:: @ 81A6CA3 +PokedexRating_Text_SeenXOwnedY:: @ 81A6CA3 .string "The amount of progress you've made\n" .string "on your POKéDEX is:\p" .string "{STR_VAR_1} POKéMON seen and\n" .string "{STR_VAR_2} POKéMON owned.\p" .string "{SIZE}ÁPROF. OAK's rating:$" -gUnknown_81A6D17:: @ 81A6D17 +PokedexRating_Text_LessThan10:: @ 81A6D17 .string "You still have lots to do.\p" .string "Go into every patch of grass you\n" .string "see and look for POKéMON!$" -gUnknown_81A6D6D:: @ 81A6D6D +PokedexRating_Text_LessThan20:: @ 81A6D6D .string "It looks as if you're getting on\n" .string "the right track!\p" .string "I've given one of my AIDES a FLASH\n" .string "HM. Make sure you go get it!$" -gUnknown_81A6DDF:: @ 81A6DDF +PokedexRating_Text_LessThan30:: @ 81A6DDF .string "Your POKéDEX could use a bit more\n" .string "volume still!\p" .string "Try to catch other species of\n" .string "POKéMON!$" -gUnknown_81A6E36:: @ 81A6E36 +PokedexRating_Text_LessThan40:: @ 81A6E36 .string "Good, it's apparent that you're\n" .string "trying hard!\p" .string "I've given one of my AIDES an\n" .string "ITEMFINDER. Be sure to collect it!$" -gUnknown_81A6EA4:: @ 81A6EA4 +PokedexRating_Text_LessThan50:: @ 81A6EA4 .string "Your POKéDEX is coming along quite\n" .string "well!\p" .string "I've given one of my AIDES an\n" .string "AMULET COIN. Be sure to get it!$" -gUnknown_81A6F0B:: @ 81A6F0B +PokedexRating_Text_LessThan60:: @ 81A6F0B .string "Ah, you've finally topped 50\n" .string "species!\p" .string "I've given one of my AIDES an EXP.\n" .string "SHARE. Be sure to go get it!$" -gUnknown_81A6F71:: @ 81A6F71 +PokedexRating_Text_LessThan70:: @ 81A6F71 .string "Hoho! This is turning into quite the\n" .string "respectable POKéDEX!$" -gUnknown_81A6FAB:: @ 81A6FAB +PokedexRating_Text_LessThan80:: @ 81A6FAB .string "Very good!\p" .string "I think you'll collect even more\n" .string "POKéMON by going fishing!$" -gUnknown_81A6FF1:: @ 81A6FF1 +PokedexRating_Text_LessThan90:: @ 81A6FF1 .string "Wonderful! Let me guess… You\n" .string "like to collect things, don't you?$" -gUnknown_81A7031:: @ 81A7031 +PokedexRating_Text_LessThan100:: @ 81A7031 .string "I'm impressed!\n" .string "It must have been difficult to do!$" -gUnknown_81A7063:: @ 81A7063 +PokedexRating_Text_LessThan110:: @ 81A7063 .string "You've finally hit 100 species!\n" .string "I can't believe how good you are!$" -gUnknown_81A70A5:: @ 81A70A5 +PokedexRating_Text_LessThan120:: @ 81A70A5 .string "You even have the evolved forms\n" .string "of POKéMON! Super!$" -gUnknown_81A70D8:: @ 81A70D8 +PokedexRating_Text_LessThan130:: @ 81A70D8 .string "Excellent! Trade with friends to\n" .string "get some more!$" -gUnknown_81A7108:: @ 81A7108 +PokedexRating_Text_LessThan140:: @ 81A7108 .string "Outstanding!\n" .string "You've become a real pro at this!$" -gUnknown_81A7137:: @ 81A7137 +PokedexRating_Text_LessThan150:: @ 81A7137 .string "I have nothing left to say!\n" .string "You're the POKéMON PROFESSOR now!$" -gUnknown_81A7175:: @ 81A7175 +PokedexRating_Text_Complete:: @ 81A7175 .string "Your POKéDEX is entirely complete!\n" .string "Congratulations!!$" -Text_AndNationalDexSeenXOwnedY:: @ 81A71AA +PokedexRating_Text_NationalDexSeenXOwnedY:: @ 81A71AA .string "And your NATIONAL POKéDEX is:\p" .string "{STR_VAR_1} POKéMON seen and\n" .string "{STR_VAR_2} POKéMON owned.$" -Text_LookForwardToFilledNationalDex:: @ 81A71EE +PokedexRating_Text_LookForwardToFilledNationalDex:: @ 81A71EE .string "I'll be looking forward to seeing\n" .string "you fill the NATIONAL POKéDEX!$" -Text_YouveCompletedDex:: @ 81A722F +PokedexRating_Text_YouveCompletedDex:: @ 81A722F .string "Finally…\p" .string "You've finally completed the\n" .string "POKéDEX!\p" .string "It's magnificent!\n" .string "Truly, this is a fantastic feat!$" -Text_1A7291:: @ 81A7291 +PokedexRating_Text_Wroooaaarrr:: @ 81A7291 .string "Wroooooooaaaaaarrrr!$" -Text_1A72A6:: @ 81A72A6 +PokedexRating_Text_HaHa:: @ 81A72A6 .string "はあ はあ‥$" -gUnknown_81A72AD:: @ 81A72AD +PokedexRating_Text_ThankYouMadeDreamReality:: @ 81A72AD .string "Thank you, {PLAYER}!\n" .string "Sincerely, thank you!\l" .string "You've made my dream a reality!$" -Text_LoveSeeingYourPokedex:: @ 81A72F2 +PokedexRating_Text_LoveSeeingYourPokedex:: @ 81A72F2 .string "OAK: Ah, welcome!\p" .string "Tell me, how is your POKéDEX\n" .string "coming along?\p" diff --git a/data/text/poke_dude.inc b/data/text/pokedude.inc similarity index 82% rename from data/text/poke_dude.inc rename to data/text/pokedude.inc index fc1273056..a7cfd8e9f 100644 --- a/data/text/poke_dude.inc +++ b/data/text/pokedude.inc @@ -1,154 +1,129 @@ -gUnknown_81C5F69:: +Pokedude_Text_SpeedierBattlerGoesFirst:: .string "POKé DUDE: The speedier of the\n" .string "battlers gets to attack first.$" -gUnknown_81C5FA7:: +Pokedude_Text_MyRattataFasterThanPidgey:: .string "It looks like my RATTATA was\n" .string "faster than the PIDGEY.$" -gUnknown_81C5FDC:: +Pokedude_Text_BattlersTakeTurnsAttacking:: .string "The battlers take turns attacking\n" .string "and reducing each other's HP.$" -gUnknown_81C601C:: +Pokedude_Text_MyRattataWonGetsEXP:: .string "My RATTATA reduced the foe's HP\n" .string "to zero, so it wins!\p" - .string "The POKéMON that took part in the\n" .string "battle get EXP. Points.\p" - .string "When a POKéMON collects enough\n" .string "EXP. Points, it levels up.\p" - .string "Leveling up makes your POKéMON\n" .string "stronger than before.$" -gUnknown_81C60FA:: +Pokedude_Text_UhOhRattataPoisoned:: .string "POKé DUDE: Uh-oh…\n" .string "My RATTATA has been poisoned…\p" - .string "If a POKéMON is poisoned, it loses\n" .string "HP steadily.$" -gUnknown_81C615A:: +Pokedude_Text_HealStatusRightAway:: .string "If a POKéMON develops a status\n" .string "problem, heal it right away.$" -gUnknown_81C6196:: +Pokedude_Text_UsingItemTakesTurn:: .string "Using an item on a POKéMON uses\n" .string "up one turn, though.\p" - .string "Now, it's the opponent's turn!$" -gUnknown_81C61EA:: +Pokedude_Text_YayWeManagedToWin:: .string "Yay!\n" .string "We managed to win!$" -gUnknown_81C6202:: +Pokedude_Text_WaterNotVeryEffectiveAgainstGrass:: .string "POKé DUDE: The move BUBBLE is\n" .string "a WATER-type attack.\p" - .string "The targeted ODDISH is a\n" .string "GRASS/POISON-type POKéMON.\p" - .string "The WATER-type attack is absorbed\n" .string "by the GRASS-type POKéMON…\p" - .string "As a result, the move becomes not\n" .string "very effective, and inflicts only\l" .string "half the usual damage.$" -gUnknown_81C6301:: +Pokedude_Text_GrassEffectiveAgainstWater:: .string "Uh-oh, this is not good!\p" - .string "The ABSORB attack you just saw\n" .string "is a GRASS-type move.\p" - .string "POLIWAG is a WATER-type POKéMON.\p" - .string "So, ABSORB becomes super\n" .string "effective, doubling the damage.$" -gUnknown_81C63A9:: +Pokedude_Text_LetsTryShiftingMons:: .string "It's not going to be easy to win\n" .string "with this matchup…\p" - .string "Let's try shifting POKéMON!$" -gUnknown_81C63F9:: +Pokedude_Text_ShiftingUsesTurn:: .string "Shifting POKéMON in and out uses\n" .string "up one turn.\p" - .string "Now, it's the opponent's turn.$" -gUnknown_81C6446:: +Pokedude_Text_ButterfreeDoubleResistsGrass:: .string "BUTTERFREE is a BUG/FLYING-type\n" .string "POKéMON.\p" - .string "Against this POKéMON, a GRASS-\n" .string "type attack…\p" - .string "…inflicts only half the usual\n" .string "damage on a BUG-type POKéMON…\p" - .string "…And, it also causes only half the\n" .string "damage on a FLYING-type POKéMON.\p" - .string "Therefore, BUTTERFREE, being a\n" .string "BUG/FLYING POKéMON, only takes\l" .string "one quarter of the usual damage.$" -gUnknown_81C657A:: +Pokedude_Text_ButterfreeGoodAgainstOddish:: .string "ODDISH is a GRASS/POISON-type\n" .string "POKéMON.\p" - .string "A FLYING- or PSYCHIC-type attack\n" .string "is super effective against it.\p" - .string "One of those types of attacks will\n" .string "inflict double the usual damage.\p" - .string "Okay, here we go!$" -gUnknown_81C6637:: +Pokedude_Text_YeahWeWon:: .string "Yeah!\n" .string "We won!$" -gUnknown_81C6645:: +Pokedude_Text_WeakenMonBeforeCatching:: .string "POKé DUDE: When you're trying to\n" .string "catch a POKéMON, don't throw any\l" .string "POKé BALLS right away.\p" - .string "First, you need to weaken it by\n" .string "reducing its HP.$" -gUnknown_81C66CF:: +Pokedude_Text_BestIfTargetStatused:: .string "Okay, that should be good enough.\p" - .string "But, if it's possible, it would be\n" .string "best if the target has a status\l" .string "problem.\p" - .string "For instance, it would be easier\n" .string "to catch if it were asleep or\l" .string "paralyzed.$" -gUnknown_81C6787:: +Pokedude_Text_CantDoubleUpOnStatus:: .string "This will make the POKéMON a lot\n" .string "easier to catch!\p" - .string "Oh, yes. If you paralyze a\n" .string "POKéMON, you can't make it fall\l" .string "asleep on top of paralysis.\p" - .string "In other words, you can't double\n" .string "up status problems, okay?$" -gUnknown_81C684B:: +Pokedude_Text_LetMeThrowBall:: .string "Okay!\n" .string "Let me throw my POKé BALL!$" -gUnknown_81C686C:: +Pokedude_Text_PickBestKindOfBall:: .string "Before you throw a POKé BALL,\n" .string "consider the condition and the\l" .string "type of POKéMON, and pick the kind\l" diff --git a/data/text/quest_log.inc b/data/text/quest_log.inc deleted file mode 100644 index f03343802..000000000 --- a/data/text/quest_log.inc +++ /dev/null @@ -1,482 +0,0 @@ -QuestLog_Text_PreviouslyOnYourQuest:: @ 841A155 - .string "Previously on your quest…$" - -QuestLog_Text_SwitchMon1WithMon2:: @ 841A16F - .string "{PLAYER} switched the POKéMON\n" - .string "{STR_VAR_1} with {STR_VAR_2}.$" - -QuestLog_Text_SwappedHeldItemsOnMon:: @ 841A193 - .string "Took the item {STR_VAR_2} from\n" - .string "{STR_VAR_1} and gave it the item\n" - .string "{STR_VAR_3} to hold.$" - -QuestLog_Text_TookHeldItemFromMon:: @ 841A1CD - .string "Took the item {STR_VAR_2} from\n" - .string "{STR_VAR_1}.$" - -QuestLog_Text_UsedItemOnMonAtThisLocation:: @ 841A1E7 - .string "Used the item {STR_VAR_1} on {STR_VAR_2}\n" - .string "at this location.$" - -QuestLog_Text_UsedTheItem:: @ 841A210 - .string "{PLAYER} used the\n" - .string "{STR_VAR_1}.$" - -QuestLog_Text_UsedTheKeyItem:: @ 841A220 - .string "Used the item {STR_VAR_1}, which was\n" - .string "in the KEY ITEMS POCKET.$" - -QuestLog_Text_MonLearnedMoveFromTM:: @ 841A255 - .string "{STR_VAR_1} learned the move\n" - .string "{STR_VAR_2} from a TM.$" - -QuestLog_Text_MonReplacedMoveWithTM:: @ 841A277 - .string "{STR_VAR_1} learned the move\n" - .string "{STR_VAR_2} from a TM and forgot\n" - .string "the move {STR_VAR_3}.$" - -QuestLog_Text_MonsWereFullyRestoredAtCenter:: @ 841A2B0 - .string "POKéMON were fully restored\n" - .string "at a POKéMON CENTER.$" - -QuestLog_Text_PlayerBattledChampionRival:: @ 841A2E1 - .string "{DYNAMIC 0x00} had a marvelous battle\n" - .string "with the CHAMPION, {DYNAMIC 0x01}.$" - -QuestLog_Text_PlayerSentOutMon1RivalSentOutMon2:: @ 841A312 - .string "In the end, {DYNAMIC 0x00} sent out {DYNAMIC 0x01}\n" - .string "while {DYNAMIC 0x02} countered with\n" - .string "{DYNAMIC 0x03}.$" - -QuestLog_Text_WonTheMatchAsAResult:: @ 841A349 - .string "And, as a result of battling with every\n" - .string "bit of power, {DYNAMIC 0x00} won\n" - .string "the match.$" - -QuestLog_Text_StoredItemInPC:: @ 841A391 - .string "Removed the item {STR_VAR_1} from\n" - .string "the BAG's ITEMS POCKET and stored it\n" - .string "on the PC.$" - -QuestLog_Text_WithdrewItemFromPC:: @ 841A3DA - .string "{PLAYER} withdrew the item {STR_VAR_1}\n" - .string "from the PC.$" - -QuestLog_Text_TradedMon1ForPersonsMon2:: @ 841A3FF - .string "Traded {STR_VAR_3} in exchange for\n" - .string "{STR_VAR_1}'s {STR_VAR_2}.$" - -QuestLog_Text_SingleBattleWithPersonResultedInOutcome:: @ 841A422 - .string "Took on {DYNAMIC 0x00} in a SINGLE BATTLE.\n" - .string "It was a hotly contested match that\n" - .string "resulted in a {DYNAMIC 0x01}.$" - -QuestLog_Text_DoubleBattleWithPersonResultedInOutcome:: @ 841A477 - .string "Took on {DYNAMIC 0x00} in a DOUBLE BATTLE.\n" - .string "It was an extended match that resulted\n" - .string "in a {DYNAMIC 0x01}.$" - -QuestLog_Text_MultiBattleWithPeopleResultedInOutcome:: @ 841A4C6 - .string "{DYNAMIC 0x00} and {DYNAMIC 0x01} took on\n" - .string "{DYNAMIC 0x02} and {DYNAMIC 0x03} in a\n" - .string "MULTI BATTLE and got a {DYNAMIC 0x04}.$" - -QuestLog_Text_Win:: - .string "win$" - -QuestLog_Text_Loss:: - .string "loss$" - -QuestLog_Text_MingledInUnionRoom:: @ 841A50B - .string "Mingled with other TRAINERS in\n" - .string "the UNION ROOM.$" - -QuestLog_Text_DepartedPlaceInTownForNextDestination:: @ 841A53A - .string "Departed {STR_VAR_2}\n" - .string "in {STR_VAR_1} for the next\n" - .string "destination.$" - -QuestLog_Text_SwitchedMonsBetweenBoxes:: @ 841A566 - .string "After consideration, switched\n" - .string "{DYNAMIC 0x01} in {DYNAMIC 0x00} with\n" - .string "{DYNAMIC 0x03} in {DYNAMIC 0x02}.$" - -QuestLog_Text_MovedMonToNewBox:: @ 841A59C - .string "After deep thought, switched\n" - .string "{DYNAMIC 0x01} in BOX “{DYNAMIC 0x00}” to\n" - .string "the BOX “{DYNAMIC 0x02}.”$" - -QuestLog_Text_SwitchedMonsWithinBox:: @ 841A5D9 - .string "Switched around {DYNAMIC 0x01} and\n" - .string "{DYNAMIC 0x02} in {DYNAMIC 0x00}.$" - -QuestLog_Text_MovedMonWithinBox:: @ 841A5FA - .string "Moved {DYNAMIC 0x01} in {DYNAMIC 0x00}.$" - -QuestLog_Text_SwitchedPartyMonForPCMon:: @ 841A60A - .string "Switched {DYNAMIC 0x01} in {DYNAMIC 0x00}\n" - .string "with {DYNAMIC 0x02} in the party.$" - -QuestLog_Text_WithdrewMonFromPC:: @ 841A632 - .string "Added {DYNAMIC 0x01} in {DYNAMIC 0x00}\n" - .string "to the party.$" - -QuestLog_Text_DepositedMonInPC:: @ 841A64F - .string "Moved {DYNAMIC 0x00} from the party\n" - .string "to {DYNAMIC 0x01}.$" - -QuestLog_Text_SwitchedMultipleMons:: @ 841A66E - .string "Moved a group of POKéMON in\n" - .string "{DYNAMIC 0x00} to {DYNAMIC 0x01}.$" - -QuestLog_Text_ADifferentSpot:: @ 841A694 - .string "a different spot$" - -QuestLog_Text_GaveMonHeldItemFromPC:: @ 841A6A5 - .string "Removed the item {STR_VAR_1} from\n" - .string "{PLAYER}'s PC and gave it to {STR_VAR_2}\n" - .string "to hold.$" - -QuestLog_Text_SwappedHeldItemFromPC:: @ 841A6E1 - .string "Removed the item {STR_VAR_1} from\n" - .string "a PC, gave it to {STR_VAR_2}, and put\n" - .string "the {STR_VAR_3} it held in the BAG.$" - -QuestLog_Text_ChattedWithManyTrainers:: @ 841A732 - .string "Chatted with many TRAINERS.$" - -QuestLog_Text_Handily:: - .string "handily$" - -QuestLog_Text_Tenaciously:: - .string "tenaciously$" - -QuestLog_Text_Somehow:: - .string "somehow$" - -QuestLog_Text_TradedMon1ForTrainersMon2:: @ 841A76A - .string "Met and traded with {STR_VAR_1}.\n" - .string "Obtained the TRAINER's {STR_VAR_2} in\n" - .string "exchange for {STR_VAR_3}.$" - -QuestLog_Text_BattledTrainerEndedInOutcome:: @ 841A7B0 - .string "Met and battled {STR_VAR_1}.\n" - .string "The match ended in a {STR_VAR_2}.$" - -QuestLog_Text_BoughtItem:: @ 841A7DD - .string "Went to the POKéMON MART in\n" - .string "{DYNAMIC 0x00} and bought one \n" - .string "{DYNAMIC 0x01}.$" - -QuestLog_Text_BoughtItemsIncludingItem:: @ 841A810 - .string "Went to the POKéMON MART in\n" - .string "{DYNAMIC 0x00} and spent ¥{DYNAMIC 0x02} for\n" - .string "items including {DYNAMIC 0x01}(s).$" - -QuestLog_Text_SoldNumOfItem:: @ 841A858 - .string "{DYNAMIC 0x00} went to the POKéMON MART in\n" - .string "{DYNAMIC 0x01} and sold {DYNAMIC 0x03} of\n" - .string "the item {DYNAMIC 0x02}.$" - -QuestLog_Text_SoldItemsIncludingItem:: @ 841A896 - .string "Sold items including {DYNAMIC 0x01} at\n" - .string "the POKéMON MART in {DYNAMIC 0x00},\n" - .string "worth ¥{DYNAMIC 0x02}.$" - -QuestLog_Text_JustOne:: @ 841A8D4 - .string "just one$" - -QuestLog_Text_Num:: @ 841A8DD - .string "{DYNAMIC 0x04}$" - -QuestLog_Text_UsedSoftboiled:: @ 841A8E0 - .string "{STR_VAR_1} shared its HP using the move\n" - .string "SOFTBOILED.$" - -QuestLog_Text_UsedMilkDrink:: @ 841A90C - .string "{STR_VAR_1} shared its HP using the move\n" - .string "MILK DRINK.$" - -QuestLog_Text_MonLearnedMoveFromHM:: @ 841A938 - .string "{STR_VAR_1} securely learned the move\n" - .string "{STR_VAR_2} using an HM.$" - -QuestLog_Text_MonReplacedMoveWithHM:: @ 841A965 - .string "{STR_VAR_1} securely learned the move\n" - .string "{STR_VAR_2} using an HM and forgot\n" - .string "the move {STR_VAR_3}.$" - -QuestLog_Text_DefeatedWildMon:: @ 841A9A9 - .string "{DYNAMIC 0x05} managed to defeat the POKéMON\n" - .string "{DYNAMIC 0x01} in {DYNAMIC 0x00}.$" - -QuestLog_Text_DefeatedWildMons:: @ 841A9D4 - .string "Defeated {DYNAMIC 0x02} wild POKéMON including\n" - .string "{DYNAMIC 0x01} in {DYNAMIC 0x00}.$" - -QuestLog_Text_CaughtWildMon:: @ 841AA01 - .string "{DYNAMIC 0x05} managed to catch the POKéMON\n" - .string "{DYNAMIC 0x03} in {DYNAMIC 0x00}.$" - -QuestLog_Text_CaughtWildMons:: @ 841AA2B - .string "Threw POKé BALLS in a frenzy, catching\n" - .string "{DYNAMIC 0x04} POKéMON including {DYNAMIC 0x03} here\n" - .string "in {DYNAMIC 0x00}.$" - -QuestLog_Text_DefeatedWildMonAndCaughtWildMon:: @ 841AA76 - .string "{DYNAMIC 0x05} defeated the POKéMON\n" - .string "{DYNAMIC 0x01} and caught one {DYNAMIC 0x03}\n" - .string "in {DYNAMIC 0x00}.$" - -QuestLog_Text_DefeatedWildMonAndCaughtWildMons:: @ 841AAAA - .string "Defeated the POKéMON {DYNAMIC 0x01}\n" - .string "and caught {DYNAMIC 0x04} POKéMON including\n" - .string "{DYNAMIC 0x03} in {DYNAMIC 0x00}.$" - -QuestLog_Text_DefeatedWildMonsAndCaughtWildMon:: @ 841AAEC - .string "{DYNAMIC 0x05} defeated {DYNAMIC 0x02} POKéMON including\n" - .string "{DYNAMIC 0x01} and caught one {DYNAMIC 0x03}\n" - .string "in {DYNAMIC 0x00}.$" - -QuestLog_Text_DefeatedWildMonsAndCaughtWildMons:: @ 841AB29 - .string "Defeated {DYNAMIC 0x02} POKéMON including\n" - .string "{DYNAMIC 0x01} and caught {DYNAMIC 0x04} POKéMON\n" - .string "including {DYNAMIC 0x03} in {DYNAMIC 0x00}.$" - -QuestLog_Text_GaveMonHeldItem:: @ 841AB74 - .string "Made {STR_VAR_1} hold the item\n" - .string "{STR_VAR_2}.$" - -QuestLog_Text_GaveMonHeldItem2:: @ 841AB8E - .string "{PLAYER} made {STR_VAR_1} hold the item\n" - .string "{STR_VAR_2}.$" - -QuestLog_Text_UsedCut:: @ 841ABAB - .string "{STR_VAR_1} used the Hidden Move\n" - .string "CUT here.$" - -QuestLog_Text_UsedFly:: @ 841ABCD - .string "{STR_VAR_1} used the Hidden Move\n" - .string "FLY and flew to {STR_VAR_2}.$" - -QuestLog_Text_UsedSurf:: @ 841ABF9 - .string "{STR_VAR_1} used the Hidden Move\n" - .string "SURF and rode the waves.$" - -QuestLog_Text_UsedStrength:: @ 841AC2A - .string "{STR_VAR_1} used the Hidden Move\n" - .string "STRENGTH here.$" - -QuestLog_Text_UsedFlash:: @ 841AC51 - .string "{STR_VAR_1} used the Hidden Move\n" - .string "FLASH and illuminated a pitch-black\n" - .string "cave.$" - -QuestLog_Text_UsedRockSmash:: @ 841AC93 - .string "{STR_VAR_1} used the Hidden Move\n" - .string "ROCK SMASH here.$" - -QuestLog_Text_UsedWaterfall:: @ 841ACBC - .string "{STR_VAR_1} used the Hidden Move\n" - .string "WATERFALL to scale a raging torrent.$" - -@ Unused -QuestLog_Text_UsedDive:: @ 841ACF9 - .string "{STR_VAR_1}は ふかい ところを めざし\n" - .string "ひでんわざ\n" - .string "ダイビングを つかった!$" - -QuestLog_Text_UsedDigInLocation:: @ 841AD1D - .string "{STR_VAR_1} used DIG to escape from\n" - .string "{STR_VAR_2}.$" - -QuestLog_Text_UsedSweetScent:: @ 841AD3C - .string "{STR_VAR_1} used SWEET SCENT to attract\n" - .string "wild POKéMON.$" - -QuestLog_Text_UsedTeleportToLocation:: @ 841AD69 - .string "{STR_VAR_1} used TELEPORT, transporting\n" - .string "the party to {STR_VAR_2}'s\n" - .string "{STR_VAR_3}.$" - -QuestLog_Text_LeftTownsLocationForNextDestination:: @ 841AD9E - .string "{PLAYER} left {STR_VAR_1}'s\n" - .string "{STR_VAR_2} for the next\n" - .string "destination.$" - -QuestLog_Text_PlayedGamesAtGameCorner:: @ 841ADC8 - .string "Played a lot of games at the ROCKET\n" - .string "GAME CORNER in {STR_VAR_1}.$" - -QuestLog_Text_RestedAtHome:: @ 841ADFF - .string "{PLAYER} rested comfortably at home.$" - -QuestLog_Text_LeftOaksLab:: @ 841AE1E - .string "{PLAYER} left PROF. OAK's POKéMON\n" - .string "RESEARCH LAB.$" - -QuestLog_Text_GymWasFullOfToughTrainers:: @ 841AE48 - .string "The GYM in {STR_VAR_1} was full of\n" - .string "tough TRAINERS…\n" - .string "Preparations had to be made.$" - -QuestLog_Text_DepartedGym:: @ 841AE8F - .string "Departed the GYM in {STR_VAR_1}.$" - -QuestLog_Text_HadGreatTimeInSafariZone:: @ 841AEA7 - .string "{PLAYER} had a great time with POKéMON\n" - .string "in the SAFARI ZONE.$" - -QuestLog_Text_ManagedToGetOutOfLocation:: @ 841AEDC - .string "Managed to get out of {STR_VAR_2}\n" - .string "after wandering about.$" - -QuestLog_Text_TookOnGymLeadersMonWithMonAndWon:: @ 841AF0C - .string "Took on {DYNAMIC 0x00} GYM LEADER\n" - .string "{DYNAMIC 0x01}'s {DYNAMIC 0x02} with {DYNAMIC 0x03}\n" - .string "and won {DYNAMIC 0x04}!$" - -QuestLog_Text_TookOnEliteFoursMonWithMonAndWon:: @ 841AF3E - .string "Took on ELITE FOUR {DYNAMIC 0x00}'s\n" - .string "{DYNAMIC 0x01} with {DYNAMIC 0x02} and\n" - .string "won {DYNAMIC 0x03}!$" - -QuestLog_Text_TookOnTrainersMonWithMonAndWon:: @ 841AF6D - .string "In {DYNAMIC 0x00}, took on\n" - .string "{DYNAMIC 0x01}'s {DYNAMIC 0x02} with {DYNAMIC 0x03}\n" - .string "and won {DYNAMIC 0x04}!$" - -QuestLog_Text_Coolly:: @ 841AF98 - .string "coolly$" - -QuestLog_Text_Barely:: @ 841AF9F - .string "barely$" - -QuestLog_Text_UsedEscapeRope:: @ 841AFA6 - .string "{PLAYER} used an ESCAPE ROPE to get\n" - .string "out from {STR_VAR_2}.$" - -QuestLog_Text_Draw:: @ 841AFD1 - .string "draw$" - -QuestLog_Text_DepartedTheLocationForNextDestination:: @ 841AFD6 - .string "Departed from the {STR_VAR_2}\n" - .string "for the next destination.$" - -QuestLog_Text_DepartedFromLocationToNextDestination:: @ 841B005 - .string "{PLAYER} departed from\n" - .string "{STR_VAR_2} and made way\n" - .string "to the next destination.$" - -QuestLog_Text_ObtainedItemInLocation:: @ 841B03F - .string "Here in {STR_VAR_1}, {PLAYER}\n" - .string "obtained the item {STR_VAR_2}.$" - -QuestLog_Text_ArrivedInLocation:: @ 841B064 - .string "Arrived in {STR_VAR_1}.$" - -QuestLog_Text_SavedGameAtLocation:: @ 841B073 - .string "And {PLAYER} saved the game at this\n" - .string "location: {STR_VAR_1}.$" - -QuestLog_Text_Home:: @ 841B09F - .string "HOME$" - -QuestLog_Text_OakResearchLab:: @ 841B0A4 - .string "OAK RESEARCH LAB$" - -QuestLog_Text_Gym:: @ 841B0B5 - .string "GYM$" - -QuestLog_Text_PokemonLeagueGate:: @ 841B0B9 - .string "POKéMON LEAGUE GATE$" - -QuestLog_Text_ViridianForest:: @ 841B0CD - .string "VIRIDIAN FOREST$" - -QuestLog_Text_PewterMuseumOfScience:: @ 841B0DD - .string "PEWTER MUSEUM OF SCIENCE$" - -QuestLog_Text_MtMoon:: @ 841B0F6 - .string "MT. MOON$" - -QuestLog_Text_BikeShop:: @ 841B0FF - .string "BIKE SHOP$" - -QuestLog_Text_BillsHouse:: @ 841B109 - .string "BILL'S HOUSE$" - -QuestLog_Text_DayCare:: @ 841B116 - .string "DAY CARE$" - -QuestLog_Text_UndergroundPath:: @ 841B11F - .string "UNDERGROUND PATH$" - -QuestLog_Text_PokemonFanClub:: @ 841B130 - .string "POKéMON FAN CLUB$" - -QuestLog_Text_SSAnne:: @ 841B141 - .string "S.S. ANNE$" - -QuestLog_Text_DiglettsCave:: @ 841B14B - .string "DIGLETT'S CAVE$" - -QuestLog_Text_RockTunnel:: @ 841B15A - .string "ROCK TUNNEL$" - -QuestLog_Text_PowerPlant:: @ 841B166 - .string "POWER PLANT$" - -QuestLog_Text_PokemonTower:: @ 841B172 - .string "POKéMON TOWER$" - -QuestLog_Text_VolunteerHouse:: @ 841B180 - .string "VOLUNTEER HOUSE$" - -QuestLog_Text_NameRatersHouse:: @ 841B190 - .string "NAME RATER'S HOUSE$" - -QuestLog_Text_CeladonDeptStore:: @ 841B1A3 - .string "CELADON DEPT. STORE$" - -QuestLog_Text_CeladonMansion:: @ 841B1B7 - .string "CELADON MANSION$" - -QuestLog_Text_RocketGameCorner:: @ 841B1C7 - .string "ROCKET GAME CORNER$" - -QuestLog_Text_Restaurant:: @ 841B1DA - .string "RESTAURANT$" - -QuestLog_Text_RocketHideout:: @ 841B1E5 - .string "ROCKET HIDEOUT$" - -QuestLog_Text_SafariZone:: @ 841B1F4 - .string "SAFARI ZONE$" - -QuestLog_Text_WardensHome:: @ 841B200 - .string "WARDEN'S HOME$" - -QuestLog_Text_FightingDojo:: @ 841B20E - .string "FIGHTING DOJO$" - -QuestLog_Text_SilphCo:: @ 841B21C - .string "SILPH CO.$" - -QuestLog_Text_SeafoamIslands:: @ 841B226 - .string "SEAFOAM ISLANDS$" - -QuestLog_Text_PokemonMansion:: @ 841B236 - .string "POKéMON MANSION$" - -QuestLog_Text_PokemonResearchLab:: @ 841B246 - .string "POKéMON RESEARCH LAB$" - -QuestLog_Text_VictoryRoad:: @ 841B25B - .string "VICTORY ROAD$" - -QuestLog_Text_PokemonLeague:: @ 841B268 - .string "POKéMON LEAGUE$" - -QuestLog_Text_CeruleanCave:: @ 841B277 - .string "CERULEAN CAVE$" diff --git a/data/text/sign_lady.inc b/data/text/sign_lady.inc new file mode 100644 index 000000000..1c6d1c8f1 --- /dev/null +++ b/data/text/sign_lady.inc @@ -0,0 +1,30 @@ +@ For the NPC in Pallet Town that talks about the Trainer Tips sign + +PalletTown_Text_HmmIsThatRight:: @ 81B1C8B + .string "Hmm…\n" + .string "Is that right…$" + +PalletTown_Text_OhLookLook:: @ 81B1C9F + .string "Oh!\n" + .string "Look, look!$" + +PalletTown_Text_ReadItReadIt:: @ 81B1CAF + .string "Read it, read it!$" + +@ Used by sign +PalletTown_Text_PressStartToOpenMenu:: @ 81B1CC1 + .string "TRAINER TIPS\p" + .string "Press START to open the MENU!$" + +PalletTown_Text_SignsAreUsefulArentThey:: @ 81B1CEC + .string "Signs are useful, aren't they?$" + +PalletTown_Text_LookCopiedTrainerTipsSign:: @ 81B1D0B + .string "Look, look!\p" + .string "I copied what it said on one of\n" + .string "those TRAINER TIPS signs!$" + +@ Used by NPC +PalletTown_Text_PressStartToOpenMenuCopy:: @ 81B1D51 + .string "TRAINER TIPS!\p" + .string "Press START to open the MENU!$" diff --git a/data/text/teachy_tv.inc b/data/text/teachy_tv.inc deleted file mode 100644 index ae0731142..000000000 --- a/data/text/teachy_tv.inc +++ /dev/null @@ -1,227 +0,0 @@ -gTeachyTvString_TeachBattle:: @ 841B7A4 - .string "Teach me how to battle.$" - -gTeachyTvString_StatusProblems:: @ 841B7BC - .string "What are status problems?$" - -gTeachyTvString_TypeMatchups:: @ 841B7D6 - .string "What are type matchups?$" - -gTeachyTvString_CatchPkmn:: @ 841B7EE - .string "I want to catch POKéMON.$" - -gTeachyTvString_AboutTMs:: @ 841B807 - .string "Teach me about TMs.$" - -gTeachyTvString_RegisterItem:: @ 841B81B - .string "How do I register an item?$" - -gTeachyTvString_Cancel:: @ 841B836 - .string "CANCEL$" - -gTeachyTvText_PokedudeSaysHello:: @ 841B83D - .string "Hey, all you TRAINERS out there!\n" - .string "HELLO, TRAINERS!\p" - .string "……… ……… ………\p" - .string "Come on, let me hear you!\n" - .string "HELLO, TRAINERS!\l" - .string "It's me, the POKé DUDE!\p" - .string "$" - -gTeachyTvText_BattleScript1:: @ 841B8BF - .string "Today, the POKé DUDE's here to\n" - .string "tell you about how you can battle\l" - .string "POKéMON!\p" - .string "Say you're out for a stroll when,\n" - .string "suddenly, a wild POKéMON appears!\p" - .string "It's up to you to smartly use your\n" - .string "POKéMON and their moves to reduce\l" - .string "the opponent's HP to nothing, and\l" - .string "claim victory!\p" - .string "I'll show you how to do that in\n" - .string "person and for sure!\p" - .string "All righty, here goes!\p" - .string "Keep your eyes glued to the super\n" - .string "POKé DUDE SHOW!$" - -gTeachyTvText_BattleScript2:: @ 841BA41 - .string "Well, did you get that?\p" - .string "Even if your own POKéMON's HP\n" - .string "falls to zero, and it becomes\l" - .string "unable to battle, not to worry!\p" - .string "Just take it to any POKéMON\n" - .string "CENTER and heal it!\p" - .string "All righty, be seeing you!\p" - .string "Remember, TRAINERS, a good deed\n" - .string "a day brings happiness to stay!$" - -gTeachyTvText_StatusScript1:: @ 841BB40 - .string "Today, the POKé DUDE's here to\n" - .string "tell you about status problems!\p" - .string "Status problems include poisoning,\n" - .string "paralysis, sleep, burn…\p" - .string "There are a couple others, but\n" - .string "they really are trouble.\p" - .string "Get any one, and your POKéMON\n" - .string "may become useless in battle.\p" - .string "You know, it hurts the POKé DUDE\n" - .string "to see a POKéMON suffer…\p" - .string "So, what should you do if your\n" - .string "POKéMON gets a status problem?\p" - .string "Well, you've got me to show you!\p" - .string "All righty, here goes!\p" - .string "Keep your eyes glued to the super\n" - .string "POKé DUDE SHOW!$" - -gTeachyTvText_StatusScript2:: @ 841BD10 - .string "Poisoning or paralysis don't go\n" - .string "away after a battle.\p" - .string "If a POKéMON is poisoned, it loses\n" - .string "HP even while you're walking.\p" - .string "You should heal POKéMON of these\n" - .string "kinds of problems right away.\p" - .string "Use an item, or try to get to a\n" - .string "POKéMON CENTER for healing.\p" - .string "That wasn't hard, was it?\n" - .string "All righty, be seeing you!\p" - .string "Remember, TRAINERS, a good deed\n" - .string "a day brings happiness to stay!$" - -gTeachyTvText_MatchupsScript1:: @ 841BE76 - .string "Does everyone know about type\n" - .string "matchups?\p" - .string "POKéMON and their moves all\n" - .string "belong to certain types.\p" - .string "For example, there are such types\n" - .string "as GRASS and WATER.\p" - .string "You need to consider the type of\n" - .string "the move used to attack…\p" - .string "And, the type of the POKéMON that\n" - .string "is hit by that attack.\p" - .string "Depending on how those two types\n" - .string "match up, the damage can change.\p" - .string "You see, it depends on whether\n" - .string "the type matchup is good or bad.\p" - .string "If you don't know how matchups\n" - .string "work, battles will be tough.\p" - .string "So, let me demonstrate exactly\n" - .string "what I mean.\p" - .string "All righty, here goes!\p" - .string "Keep your eyes glued to the super\n" - .string "POKé DUDE SHOW!$" - -gTeachyTvText_MatchupsScript2:: @ 841C0AF - .string "Is it possible to launch an attack\n" - .string "that will inflict heavy damage?\p" - .string "Does the opposing POKéMON pose\n" - .string "a threat to your POKéMON?\p" - .string "Is there any chance that it may\n" - .string "have disastrously tough moves?\p" - .string "Watch the type matchups to gain\n" - .string "the upper hand!\p" - .string "All righty, be seeing you!\p" - .string "Oh, for the COOL-type POKé DUDE,\n" - .string "AWESOME-type kids like you match\l" - .string "up perfectly!\p" - .string "Remember, a good deed a day\n" - .string "brings happiness to stay!$" - -gTeachyTvText_CatchingScript1:: @ 841C23B - .string "Today, the POKé DUDE's going to\n" - .string "show you how to catch POKéMON!\p" - .string "Just imagine… A groovy POKéMON\n" - .string "suddenly appearing in the wild!\p" - .string "Oh, you want it!\n" - .string "You just can't help it!\p" - .string "Oh, you have to catch it!\n" - .string "You gotta have it!\p" - .string "Let me show you how you can make\n" - .string "it happen!\p" - .string "All righty, here goes!\p" - .string "Keep your eyes glued to the super\n" - .string "POKé DUDE SHOW!$" - -gTeachyTvText_CatchingScript2:: @ 841C384 - .string "If your first POKé BALL fails to\n" - .string "catch the POKéMON, don't give up!\p" - .string "Keep throwing POKé BALLS…\n" - .string "It's bound to work sometime!\p" - .string "All righty, be seeing you!\p" - .string "Remember, TRAINERS, a good deed\n" - .string "a day brings happiness to stay!$" - -gTeachyTvText_TMsScript1:: @ 841C459 - .string "Hey, everyone!\n" - .string "Do you all have TMs?\p" - .string "A TM, Technical Machine, is an\n" - .string "amazingly great item!\p" - .string "It teaches POKéMON a move that\n" - .string "it may not learn when leveling up!\p" - .string "Isn't that just great? What a\n" - .string "convenient world we live in!\p" - .string "Open the TM CASE and check out\n" - .string "the TMs you have.\p" - .string "You can check them out in detail,\n" - .string "too.$" - -gPokedudeText_TMTypes:: @ 841C587 - .string "POKé DUDE: NORMAL, WATER, GRASS…\n" - .string "TMs also come in types.\p" - .string "Check the type and teach it to\n" - .string "a POKéMON that matches up well.\p" - .string "For example, WATER PULSE is\n" - .string "suitable for WATER-type POKéMON.\p" - .string "BULLET SEED is a move that most\n" - .string "GRASS-type POKéMON can learn.\p" - .string "There's one other thing!$" - -gPokedudeText_ReadTMDescription:: @ 841C693 - .string "Don't just look at the type, read\n" - .string "the description, too.\p" - .string "It will contain hints about what\n" - .string "POKéMON might learn the move.\p" - .string "For example, take a move like\n" - .string "FOCUS PUNCH.\p" - .string "It doesn't sound like anything a\n" - .string "bird or fish POKéMON can learn.\p" - .string "So, try using it on POKéMON with\n" - .string "arms that can throw punches!$" - -gTeachyTvText_TMsScript2:: @ 841C7B4 - .string "Wow, I talked a lot today!\n" - .string "All righty, be seeing you!\p" - .string "Remember, TRAINERS, a good deed\n" - .string "a day brings happiness to stay!$" - -gTeachyTvText_RegisterScript1:: @ 841C82A - .string "A TRAINER's BAG has a bunch of\n" - .string "nifty, convenient features!\p" - .string "Take stuff in the KEY ITEMS\n" - .string "POCKET, for instance.\p" - .string "You can use a key item without\n" - .string "opening the BAG every time.\p" - .string "For example, let's pretend I have\n" - .string "a TEACHY TV in my BAG.\p" - .string "I can register it for instant use,\n" - .string "and I'll show you how!\p" - .string "All righty, here goes!\p" - .string "Keep your eyes glued to the sorta\n" - .string "super POKé DUDE SHOW!$" - -gTeachyTvText_RegisterScript2:: @ 841C994 - .string "And now, your TEACHY TV is\n" - .string "registered.\p" - .string "How do you use it?\n" - .string "Well, here's how it works.\p" - .string "Once an item in the KEY ITEMS\n" - .string "POKCET is registered, you can use\l" - .string "it by pressing SELECT.\p" - .string "So, you've given yourself\n" - .string "one-touch access to TEACHY TV.\p" - .string "All it takes for you to see me is\n" - .string "pressing one button!\p" - .string "That kind of attention is a little\n" - .string "embarrassing!\p" - .string "All righty, be seeing you!\p" - .string "Remember, TRAINERS, a good deed\n" - .string "a day brings happiness to stay!$" diff --git a/data/text/trainer_card.inc b/data/text/trainer_card.inc new file mode 100644 index 000000000..4a54e5b5b --- /dev/null +++ b/data/text/trainer_card.inc @@ -0,0 +1,167 @@ +CeladonCity_GameCorner_Text_TryPokemonPrinter:: @ 81B1D7D + .string "It's a POKéMON PRINTER!\p" + .string "It can put a print of your POKéMON\n" + .string "on the back of your TRAINER CARD.\p" + .string "It costs only ¥50.\n" + .string "Would you like to try it?$" + +CeladonCity_GameCorner_Text_DontHaveEnoughMoney:: @ 81B1E07 + .string "You don't have enough money.$" + +CeladonCity_GameCorner_Text_ChoosePrintType:: @ 81B1E24 + .string "Please choose the print type.$" + +CeladonCity_GameCorner_Text_BigSmileForPhoto:: @ 81B1E42 + .string "A big smile for the photo, please!\n" + .string "Three… Two… One…\p" + .string "Flash!$" + +CeladonCity_GameCorner_Text_PrintIsReadyCheckTrainerCard:: @ 81B1E7D + .string "Your POKéMON print is ready!\n" + .string "Check your TRAINER CARD.$" + +FourIsland_House2_Text_WishICouldShowOffStickers:: @ 81B1EB3 + .string "Giggle…\n" + .string "I collected a ton of STICKERS.\l" + .string "I wish I could show them off…$" + +FourIsland_House2_Text_GiveYouStickerIfYouBrag:: @ 81B1EF8 + .string "Oh, excellent!\n" + .string "You've come to the right place!\p" + .string "Look, look! See? See?\n" + .string "These are my STICKERS!\l" + .string "Look how many I got!\p" + .string "I bet you want some.\n" + .string "I bet you do!\p" + .string "I'll give a STICKER if you can tell\n" + .string "me something awesome about\l" + .string "yourself.\p" + .string "What will you brag about?$" + +FourIsland_House2_Text_BragAboutSomethingForMe:: @ 81B1FEF + .string "Brag about something for me.\n" + .string "I'll give you a STICKER.$" + +FourIsland_House2_Text_BragAboutWhatToday:: @ 81B2025 + .string "Oh, hi!\n" + .string "Here comes the braggart.\p" + .string "What are you going to brag about\n" + .string "today?$" + +FourIsland_House2_Text_WowHoFLowest:: @ 81B206E + .string "Oh, wow, you made it into the\n" + .string "HALL OF FAME.\p" + .string "That's pretty good, yup!\n" + .string "I'll give you one of these.$" + +FourIsland_House2_Text_WowHoFLow:: @ 81B20CF + .string "Oh, wow, you've entered the\n" + .string "HALL OF FAME often!\p" + .string "That's impressive, yup!\n" + .string "I'll give you one of these.$" + +FourIsland_House2_Text_WowHoFHigh:: @ 81B2133 + .string "Whoa! You've made it into the\n" + .string "HALL OF FAME that often?\l" + .string "That's seriously incredible, yup!\p" + .string "You own the POKéMON LEAGUE!\n" + .string "I'll give you one of these.$" + +FourIsland_House2_Text_WowHoFHighest:: @ 81B21C4 + .string "No way! You've gone into the\n" + .string "HALL OF FAME that many times?\p" + .string "You're beyond incredible, yup!\n" + .string "That's it, I have to give you this.$" + +FourIsland_House2_Text_HoFStickerApplied:: @ 81B2242 + .string "The HALL OF FAME STICKER was\n" + .string "applied to the TRAINER CARD.$" + +FourIsland_House2_Text_ComeBackWithBetterStoryHoF:: @ 81B227C + .string "Hmm…\p" + .string "Come back with a better story next\n" + .string "time, okay?$" + +FourIsland_House2_Text_LivingLegendHoF:: @ 81B22B0 + .string "Oh, no, no can do.\p" + .string "You're practically a living legend.\n" + .string "I have no SITCKERS left to give.$" + +FourIsland_House2_Text_WowEggsLowest:: @ 81B2308 + .string "Oh, wow, there are POKéMON EGGS?\n" + .string "I didn't know that!\p" + .string "That's pretty good, yup!\n" + .string "I'll give you one of these.$" + +FourIsland_House2_Text_WowEggsLow:: @ 81B2372 + .string "You've hatched that many EGGS?\n" + .string "You really must like them!\p" + .string "That's impressive, yup!\n" + .string "I'll give you one of these.$" + +FourIsland_House2_Text_WowEggsHigh:: @ 81B23E0 + .string "Whoa! You've hatched a whole\n" + .string "bunch of EGGS!\p" + .string "You're an EGG-hatching machine!\n" + .string "I'll give you one of these.$" + +FourIsland_House2_Text_WowEggsHighest:: @ 81B2448 + .string "Wh… You hatched that many EGGS?\p" + .string "What's behind your love of EGGS?\n" + .string "It's beyond incredible, yup!\p" + .string "You're too awesome, I tell you.\n" + .string "That's it, I have to give you this.$" + +FourIsland_House2_Text_EggStickerApplied:: @ 81B24EA + .string "The EGG STICKER was applied\n" + .string "to the TRAINER CARD.$" + +FourIsland_House2_Text_ComeBackWithBetterStoryEggs:: @ 81B251B + .string "Hmm…\p" + .string "Come back with a better story next\n" + .string "time, okay?$" + +FourIsland_House2_Text_LivingLegendEggs:: @ 81B254F + .string "Oh, no, no can do.\p" + .string "You're practically a living legend.\n" + .string "I have no SITCKERS left to give.$" + +FourIsland_House2_Text_WowLinkWinsLowest:: @ 81B25A7 + .string "Oh, wow, you've had success\n" + .string "link battling?\p" + .string "You're pretty strong, yup!\n" + .string "I'll give you one of these.$" + +FourIsland_House2_Text_WowLinkWinsLow:: @ 81B2609 + .string "You've beaten your friends a lot\n" + .string "link battling, huh?\p" + .string "You're impressively strong, yup!\n" + .string "I'll give you one of these.$" + +FourIsland_House2_Text_WowLinkWinsHigh:: @ 81B267B + .string "Whoa! You've beaten your friends\n" + .string "a frightful number of times.\p" + .string "Have you lost friends over this?\n" + .string "I'll give you one of these.$" + +FourIsland_House2_Text_WowLinkWinsHighest:: @ 81B26F6 + .string "Wh… Wickedly whoa!\n" + .string "You've won mind-blowingly often!\p" + .string "It just knocks me out thinking\n" + .string "about how tough you are.\p" + .string "You're the stuff of nightmares!\n" + .string "That's it, I have to give you this.$" + +FourIsland_House2_Text_VictoryStickerApplied:: @ 81B27A6 + .string "The VICTORY STICKER was applied\n" + .string "to the TRAINER CARD.$" + +FourIsland_House2_Text_ComeBackWithBetterStoryLinkWins:: @ 81B27DB + .string "Hmm…\p" + .string "Come back with a better story next\n" + .string "time, okay?$" + +FourIsland_House2_Text_LivingLegendLinkWins:: @ 81B280F + .string "Oh, no, no can do.\p" + .string "You're practically a living legend.\n" + .string "I have no SITCKERS left to give.$" diff --git a/data/text/trainers.inc b/data/text/trainers.inc index 21a96a964..5be1149ae 100644 --- a/data/text/trainers.inc +++ b/data/text/trainers.inc @@ -1,705 +1,706 @@ -gUnknown_81C137C:: @ 81C137C +VSSeeker_Text_BatteryNotChargedNeedXSteps:: @ 81C137C .string "The battery isn't charged enough.\p" .string "No. of steps required to fully\n" .string "charge the battery: {STR_VAR_1}{PAUSE_UNTIL_PRESS}$" -gUnknown_81C13D6:: @ 81C13D6 +VSSeeker_Text_NoTrainersWithinRange:: @ 81C13D6 .string "There are no TRAINERS within range\n" .string "who can battle…\p" .string "The VS SEEKER was turned off.{PAUSE_UNTIL_PRESS}$" -gUnknown_81C1429:: @ 81C1429 +VSSeeker_Text_TrainersNotReady:: @ 81C1429 .string "The other TRAINERS don't appear\n" .string "to be ready for battle.\p" .string "Let's wait till later.{PAUSE_UNTIL_PRESS}$" -Text_1C147A:: @ 81C147A +Route3_Text_ColtonRematchIntro:: @ 81C147A .string "Hey!\n" .string "I saw you in VIRIDIAN FOREST!$" -Text_1C149D:: @ 81C149D +Route3_Text_BenRematchIntro:: @ 81C149D .string "Hi! I like shorts!\n" .string "They're comfy and easy to wear!\p" .string "You should be wearing shorts, too!$" -Text_1C14F3:: @ 81C14F3 +Route3_Text_JaniceRematchIntro:: @ 81C14F3 .string "Excuse me!\n" .string "You keep looking at me, don't you?$" -Text_1C1521:: @ 81C1521 +Route3_Text_GregRematchIntro:: @ 81C1521 .string "You're a TRAINER, aren't you?\n" .string "Let's get with it right away!$" -Text_1C155D:: @ 81C155D +Route3_Text_SallyRematchIntro:: @ 81C155D .string "That look you give me…\n" .string "It intrigues me so!$" -Text_1C1588:: @ 81C1588 +Route3_Text_CalvinRematchIntro:: @ 81C1588 .string "Hey! What's wrong with you?\n" .string "You're still not wearing shorts!$" -Text_1C15C5:: @ 81C15C5 +Route3_Text_JamesRematchIntro:: @ 81C15C5 .string "I'll battle you with the POKéMON\n" .string "I started raising.$" -Text_1C15F9:: @ 81C15F9 +Route3_Text_RobinRematchIntro:: @ 81C15F9 .string "Eek!\n" .string "Did you push me?$" -Text_1C160F:: @ 81C160F +Route4_Text_CrissyRematchIntro:: @ 81C160F .string "I always catch mushroom POKéMON\n" .string "on MT. MOON.$" -Text_1C163C:: @ 81C163C +Route6_Text_RickyRematchIntro:: @ 81C163C .string "Oh! You're that nosy kid who\n" .string "eavesdropped on us!$" -Text_1C166D:: @ 81C166D +Route6_Text_NancyRematchIntro:: @ 81C166D .string "Excuse me! Didn't I tell you that\n" .string "this is a private conversation?\p" .string "You shouldn't be listening in,\n" .string "you uncouth person!$" -Text_1C16E2:: @ 81C16E2 +Route6_Text_KeigoRematchIntro:: @ 81C16E2 .string "I'm trying to find something good\n" .string "that's not a BUG POKéMON, but…$" -Text_1C1723:: @ 81C1723 +Route6_Text_JeffRematchIntro:: @ 81C1723 .string "Huh?\n" .string "You want to go with me again?$" -Text_1C1746:: @ 81C1746 +Route6_Text_IsabelleRematchIntro:: @ 81C1746 .string "Me?\n" .string "Well, okay. I'll play this once.$" -Text_1C176B:: @ 81C176B +Route6_Text_ElijahRematchIntro:: @ 81C176B .string "Hey, long time!\n" .string "Have you gotten better?$" -Text_1C1793:: @ 81C1793 +Route8_Text_AidanRematchIntro:: @ 81C1793 .string "You are good at POKéMON, but how\n" .string "is your chemistry grade?$" -Text_1C17CD:: @ 81C17CD +Route8_Text_StanRematchIntro:: @ 81C17CD .string "All right!\n" .string "Let's play another game!$" -Text_1C17F1:: @ 81C17F1 +Route8_Text_GlennRematchIntro:: @ 81C17F1 .string "You need strategy to win at\n" .string "battling.\p" .string "Are you following my advice?$" -Text_1C1834:: @ 81C1834 +Route8_Text_PaigeRematchIntro:: @ 81C1834 .string "I've collected many NIDORAN.\n" .string "I don't want them to evolve, but…$" -Text_1C1873:: @ 81C1873 +Route8_Text_LeslieRematchIntro:: @ 81C1873 .string "School is fun, but I still think\n" .string "POKéMON are fun, too.$" -Text_1C18AA:: @ 81C18AA +Route8_Text_AndreaRematchIntro:: @ 81C18AA .string "MEOWTH and PERSIAN are so cute,\n" .string "meow, meow, meow!$" -Text_1C18DC:: @ 81C18DC +Route8_Text_MeganRematchIntro:: @ 81C18DC .string "We may look silly standing here\n" .string "like this, but I can still battle.$" -Text_1C191F:: @ 81C191F +Route8_Text_RichRematchIntro:: @ 81C191F .string "I'm a rambling, gaming dude!\n" .string "I'm on a winning streak!$" -Text_1C1955:: @ 81C1955 +Route8_Text_JuliaRematchIntro:: @ 81C1955 .string "What's a cute, round, and fluffy\n" .string "POKéMON?\p" .string "You already know, don't you?$" -Text_1C199C:: @ 81C199C +Route8_Text_RicardoRematchIntro:: @ 81C199C .string "My bike's still acting up, man.$" -Text_1C19BC:: @ 81C19BC +Route8_Text_JarenRematchIntro:: @ 81C19BC .string "Okay, kid!\n" .string "Don't expect mercy this time!$" -Text_1C19E5:: @ 81C19E5 +Route8_Text_EliRematchIntro:: @ 81C19E5 .string "ELI: Our twin power became even\n" .string "better!$" -Text_1C1A0D:: @ 81C1A0D +Route8_Text_AnneRematchIntro:: @ 81C1A0D .string "ANNE: Our twin power powered up!$" -Text_1C1A2E:: @ 81C1A2E +Route9_Text_AliciaRematchIntro:: @ 81C1A2E .string "We're to battle again?\n" .string "This time, you're mine!$" -Text_1C1A5D:: @ 81C1A5D +Route9_Text_ChrisRematchIntro:: @ 81C1A5D .string "I haven't forgotten you were with\n" .string "those good-looking POKéMON.$" -Text_1C1A9B:: @ 81C1A9B +Route9_Text_DrewRematchIntro:: @ 81C1A9B .string "I'm taking ROCK TUNNEL to go to\n" .string "LAVENDER…\p" .string "But I keep getting stopped by\n" .string "everyone along the way…$" -Text_1C1AFB:: @ 81C1AFB +Route9_Text_CaitlinRematchIntro:: @ 81C1AFB .string "Don't you dare patronize me today!\n" .string "We're playing for keeps!$" -Text_1C1B37:: @ 81C1B37 +Route9_Text_JeremyRematchIntro:: @ 81C1B37 .string "Bwahaha!\n" .string "Great! I was bored again, eh!$" -Text_1C1B5E:: @ 81C1B5E +Route9_Text_BriceRematchIntro:: @ 81C1B5E .string "Hahaha!\n" .string "A little toughie, as always!$" -Text_1C1B83:: @ 81C1B83 +Route9_Text_BrentRematchIntro:: @ 81C1B83 .string "I got up early every day to train\n" .string "my POKéMON from cocoons!$" -Text_1C1BBE:: @ 81C1BBE +Route9_Text_AlanRematchIntro:: @ 81C1BBE .string "Hahahaha!\n" .string "I'll win this time!$" -Text_1C1BDC:: @ 81C1BDC +Route9_Text_ConnerRematchIntro:: @ 81C1BDC .string "Go win, my super BUG POKéMON!$" -Text_1C1BFA:: @ 81C1BFA +Route10_Text_MarkRematchIntro:: @ 81C1BFA .string "Wow, you came here again?\n" .string "Maybe you're a POKéMANIAC, too?\l" .string "Want to see my collection?$" -Text_1C1C4F:: @ 81C1C4F +Route10_Text_ClarkRematchIntro:: @ 81C1C4F .string "Ha-hahah-ah-ha!\n" .string "I can't stop sneezing!$" -Text_1C1C76:: @ 81C1C76 +Route10_Text_HermanRematchIntro:: @ 81C1C76 .string "Hi, kid!\n" .string "Did I show you my POKéMON?$" -Text_1C1C9A:: @ 81C1C9A +Route10_Text_HeidiRematchIntro:: @ 81C1C9A .string "I went out to a POKéMON GYM again.\p" .string "…But I lost as usual.$" -Text_1C1CD3:: @ 81C1CD3 +Route10_Text_TrentRematchIntro:: @ 81C1CD3 .string "Ah!\n" .string "This mountain air is delicious!\l" .string "It's so good, I can't leave!$" -Text_1C1D14:: @ 81C1D14 +Route10_Text_CarolRematchIntro:: @ 81C1D14 .string "My head is starting to spin.\n" .string "I've been hiking for too long…$" -Text_1C1D50:: @ 81C1D50 +Route11_Text_HugoRematchIntro:: @ 81C1D50 .string "Win, lose, or draw!\n" .string "Now for our rematch!$" -Text_1C1D79:: @ 81C1D79 +Route11_Text_JasperRematchIntro:: @ 81C1D79 .string "Competing is the ultimate thrill.\n" .string "I still can't get enough!$" -Text_1C1DB5:: @ 81C1DB5 +Route11_Text_EddieRematchIntro:: @ 81C1DB5 .string "You know, right?\n" .string "Let's go, but don't cheat!$" -Text_1C1DE1:: @ 81C1DE1 +Route11_Text_BraxtonRematchIntro:: @ 81C1DE1 .string "Hi, there!\p" .string "But be careful!\n" .string "I'm still laying down some cables!$" -Text_1C1E1F:: @ 81C1E1F +Route11_Text_DillonRematchIntro:: @ 81C1E1F .string "I became a TRAINER a while ago.\n" .string "But, I think I can win.$" -Text_1C1E57:: @ 81C1E57 +Route11_Text_DirkRematchIntro:: @ 81C1E57 .string "Fwahaha!\n" .string "I have never lost!\p" .string "…And if I did, I've forgotten all\n" .string "about it!$" -Text_1C1E9F:: @ 81C1E9F +Route11_Text_DarianRematchIntro:: @ 81C1E9F .string "I have never won before…\p" .string "Perhaps I am destined to remain\n" .string "that way…$" -Text_1C1EE2:: @ 81C1EE2 +Route11_Text_YasuRematchIntro:: @ 81C1EE2 .string "I'm the best in my class.\n" .string "I train every morning and night!$" -Text_1C1F1D:: @ 81C1F1D +Route11_Text_BernieRematchIntro:: @ 81C1F1D .string "Keep your eyes out for live wires!$" -Text_1C1F40:: @ 81C1F40 +Route11_Text_DaveRematchIntro:: @ 81C1F40 .string "I raised my POKéMON carefully.\n" .string "They should be ready by now.\l" .string "This time, they should win, too.$" -Text_1C1F9D:: @ 81C1F9D +Route12_Text_NedRematchIntro:: @ 81C1F9D .string "Yeah!\n" .string "I got a bite, here!\l" .string "Th-this might be the real thing!$" -Text_1C1FD8:: @ 81C1FD8 +Route12_Text_ChipRematchIntro:: @ 81C1FD8 .string "You're finally here.\n" .string "Fishing is a waiting game.$" -Text_1C2008:: @ 81C2008 +Route12_Text_JustinRematchIntro:: @ 81C2008 .string "Still can't find a MOON STONE…\n" .string "Have you found one?$" -Text_1C203B:: @ 81C203B +Route12_Text_LucaRematchIntro:: @ 81C203B .string "Electricity has always been my\n" .string "specialty.\p" .string "I don't know a thing about POKéMON\n" .string "of the sea, though.$" -Text_1C209C:: @ 81C209C +Route12_Text_HankRematchIntro:: @ 81C209C .string "The FISHING FOOL vs. POKéMON KID!\n" .string "Another round, fight!$" -Text_1C20D4:: @ 81C20D4 +Route12_Text_ElliotRematchIntro:: @ 81C20D4 .string "I love fishing, don't get me wrong.\n" .string "But, I wish I had more work…\l" .string "…It's hard to give up fishing!$" -Text_1C2134:: @ 81C2134 +Route12_Text_AndrewRematchIntro:: @ 81C2134 .string "What's catching?\p" .string "You'll never know unless you beat\n" .string "me!$" -Text_1C216B:: @ 81C216B +Route12_Text_JesRematchIntro:: @ 81C216B .string "JES: I'll win here today and\n" .string "propose to my GIA.$" -Text_1C219B:: @ 81C219B +Route12_Text_GiaRematchIntro:: @ 81C219B .string "GIA: Hey, JES…\n" .string "I've been waiting a long time now.\p" .string "If we win today, I'll marry you!$" -Text_1C21EE:: @ 81C21EE +Route13_Text_SebastianRematchIntro:: @ 81C21EE .string "My bird POKéMON remember you!$" -Text_1C220C:: @ 81C220C +Route13_Text_SusieRematchIntro:: @ 81C220C .string "I want to be the best TRAINER \n" .string "while I'm a kid!$" -Text_1C223C:: @ 81C223C +Route13_Text_ValerieRematchIntro:: @ 81C223C .string "Wow!\n" .string "You got more cool BADGES!$" -Text_1C225B:: @ 81C225B +Route13_Text_GwenRematchIntro:: @ 81C225B .string "My cutely grown POKéMON wish to\n" .string "become reacquainted with you.$" -Text_1C2299:: @ 81C2299 +Route13_Text_AlmaRematchIntro:: @ 81C2299 .string "I cleaned out my savings and\n" .string "bought more CARBOS.$" -Text_1C22CA:: @ 81C22CA +Route13_Text_PerryRematchIntro:: @ 81C22CA .string "I'm not going to lose this time.\n" .string "The wind's blowing my way!$" -Text_1C2306:: @ 81C2306 +Route13_Text_LolaRematchIntro:: @ 81C2306 .string "Oh, you're back?\p" .string "Sure, I'll play again with you,\n" .string "sweetie.$" -Text_1C2340:: @ 81C2340 +Route13_Text_SheilaRematchIntro:: @ 81C2340 .string "Can't you forget that you battled\n" .string "with me?$" -Text_1C236B:: @ 81C236B +Route13_Text_JaredRematchIntro:: @ 81C236B .string "What're you starin' at?$" -Text_1C2383:: @ 81C2383 +Route13_Text_RobertRematchIntro:: @ 81C2383 .string "I always go with bird POKéMON.\n" .string "I've dedicated myself to them.$" -Text_1C23C1:: @ 81C23C1 +Route14_Text_CarterRematchIntro:: @ 81C23C1 .string "I used TMs to teach good moves\n" .string "to my POKéMON.$" -Text_1C23EF:: @ 81C23EF +Route14_Text_MitchRematchIntro:: @ 81C23EF .string "My bird POKéMON should be ready\n" .string "for battle this time.$" -Text_1C2425:: @ 81C2425 +Route14_Text_BeckRematchIntro:: @ 81C2425 .string "Are you using TMs on POKéMON?\n" .string "Just holding them is useless.$" -Text_1C2461:: @ 81C2461 +Route14_Text_MarlonRematchIntro:: @ 81C2461 .string "Have you taught your bird POKéMON\n" .string "how to FLY?\p" .string "You'll be able to soar with it into\n" .string "the sky! Give it a try.$" -Text_1C24CB:: @ 81C24CB +Route14_Text_DonaldRematchIntro:: @ 81C24CB .string "The legend of the winged mirages…\n" .string "You've heard it, right?$" -Text_1C2505:: @ 81C2505 +Route14_Text_BennyRematchIntro:: @ 81C2505 .string "I'm really not into it, but okay.\n" .string "Let's go!$" -Text_1C2531:: @ 81C2531 +Route14_Text_LukasRematchIntro:: @ 81C2531 .string "Hey!\n" .string "I remember you!\p" .string "C'mon, c'mon.\n" .string "Let's go, let's go, let's go!$" -Text_1C2572:: @ 81C2572 +Route14_Text_IsaacRematchIntro:: @ 81C2572 .string "You're here again, huh?\n" .string "Shut up and battle.$" -Text_1C259E:: @ 81C259E +Route14_Text_GeraldRematchIntro:: @ 81C259E .string "We've been riding here because of\n" .string "the wide-open spaces.$" -Text_1C25D6:: @ 81C25D6 +Route14_Text_MalikRematchIntro:: @ 81C25D6 .string "POKéMON battle, right?\n" .string "Cool! Rumble!$" -Text_1C25FB:: @ 81C25FB +Route14_Text_KiriRematchIntro:: @ 81C25FB .string "KIRI: JAN, I hope we win today.$" -Text_1C261B:: @ 81C261B +Route14_Text_JanRematchIntro:: @ 81C261B .string "JAN: KIRI, here we go!\n" .string "Let's win for sure this time!$" -Text_1C2650:: @ 81C2650 +Route15_Text_KindraRematchIntro:: @ 81C2650 .string "I'm going to keep battling with the\n" .string "POKéMON I got in trades.$" -Text_1C268D:: @ 81C268D +Route15_Text_BeckyRematchIntro:: @ 81C268D .string "You look gentle, so I think I can\n" .string "beat you.\p" .string "I'll give it one more go!$" -Text_1C26D3:: @ 81C26D3 +Route15_Text_EdwinRematchIntro:: @ 81C26D3 .string "When I whistle, bird POKéMON\n" .string "gather around.\p" .string "They're amazingly cute!$" -Text_1C2717:: @ 81C2717 +Route15_Text_ChesterRematchIntro:: @ 81C2717 .string "Hmm? My birds are shivering!\n" .string "Wait, aren't you that TRAINER…$" -Text_1C2753:: @ 81C2753 +Route15_Text_GraceRematchIntro:: @ 81C2753 .string "Oh, you're a little cutie!\n" .string "So like a darling POKéMON!\l" .string "I remember you now!$" -Text_1C279D:: @ 81C279D +Route15_Text_OliviaRematchIntro:: @ 81C279D .string "I raise POKéMON for protection\n" .string "because I live alone.\p" .string "That hasn't changed.$" -Text_1C27E7:: @ 81C27E7 +Route15_Text_ErnestRematchIntro:: @ 81C27E7 .string "Hey, kid! C'mon!\n" .string "I got these off some loser!$" -Text_1C2814:: @ 81C2814 +Route15_Text_AlexRematchIntro:: @ 81C2814 .string "Fork over all your cash when you\n" .string "lose to me, kid!$" -Text_1C2846:: @ 81C2846 +Route15_Text_CeliaRematchIntro:: @ 81C2846 .string "What's cool and happening?\n" .string "Trading POKéMON, of course.$" -Text_1C287D:: @ 81C287D +Route15_Text_YazminRematchIntro:: @ 81C287D .string "Want to play with my POKéMON\n" .string "again?$" -Text_1C28A1:: @ 81C28A1 +Route15_Text_MyaRematchIntro:: @ 81C28A1 .string "MYA: Hi, we keep meeting,\n" .string "don't we?\p" .string "Help me train my little brother\n" .string "again?$" -Text_1C28EC:: @ 81C28EC +Route15_Text_RonRematchIntro:: @ 81C28EC .string "RON: My sister's gotten more\n" .string "powerful…$" -Text_1C2913:: @ 81C2913 +Route16_Text_LaoRematchIntro:: @ 81C2913 .string "What do you want?$" -Text_1C2925:: @ 81C2925 +Route16_Text_KojiRematchIntro:: @ 81C2925 .string "Nice BIKE!\n" .string "Hand it over quick!$" -Text_1C2944:: @ 81C2944 +Route16_Text_LukeRematchIntro:: @ 81C2944 .string "Come out and play, little mouse.\n" .string "I'll treat you right!$" -Text_1C297B:: @ 81C297B +Route16_Text_HideoRematchIntro:: @ 81C297B .string "Hey, wait a second!\n" .string "Don't call me and then run away!$" -Text_1C29B0:: @ 81C29B0 +Route16_Text_CamronRematchIntro:: @ 81C29B0 .string "I'm feeling hungry and mean!\n" .string "I really need a punching bag!$" -Text_1C29EB:: @ 81C29EB +Route16_Text_RubenRematchIntro:: @ 81C29EB .string "Hey, there!\n" .string "We'll have ourselves a good time!$" -Text_1C2A19:: @ 81C2A19 +Route16_Text_JedRematchIntro:: @ 81C2A19 .string "JED: Are you here to see our\n" .string "love, which knows no bounds?$" -Text_1C2A53:: @ 81C2A53 +Route16_Text_LeaRematchIntro:: @ 81C2A53 .string "LEA: Sometimes, the intensity of\n" .string "our love scares me.$" -Text_1C2A88:: @ 81C2A88 +Route17_Text_RaulRematchIntro:: @ 81C2A88 .string "I told you, there's no getting rich\n" .string "quick in battling kids.$" -Text_1C2AC4:: @ 81C2AC4 +Route17_Text_IsaiahRematchIntro:: @ 81C2AC4 .string "I'm mighty proud of my bod, kiddo.\n" .string "Come on!$" -Text_1C2AF0:: @ 81C2AF0 +Route17_Text_VirgilRematchIntro:: @ 81C2AF0 .string "You out for a stroll?$" -Text_1C2B06:: @ 81C2B06 +Route17_Text_BillyRematchIntro:: @ 81C2B06 .string "We're BIKERS!\n" .string "We rule the roads, man!$" -Text_1C2B2C:: @ 81C2B2C +Route17_Text_NikolasRematchIntro:: @ 81C2B2C .string "VOLTORB's going to seriously\n" .string "electrify you today!$" -Text_1C2B5E:: @ 81C2B5E +Route17_Text_ZeekRematchIntro:: @ 81C2B5E .string "I leveled up my POKéMON, but it\n" .string "absolutely won't evolve. Why?$" -Text_1C2B9C:: @ 81C2B9C +Route17_Text_JamalRematchIntro:: @ 81C2B9C .string "Gaah! I really need to exercise\n" .string "and seriously trim some flab!$" -Text_1C2BDA:: @ 81C2BDA +Route17_Text_CoreyRematchIntro:: @ 81C2BDA .string "Be a rebel!$" -Text_1C2BE6:: @ 81C2BE6 +Route17_Text_JaxonRematchIntro:: @ 81C2BE6 .string "Yep, that's a nice BIKE!\n" .string "How's it handle?$" -Text_1C2C10:: @ 81C2C10 +Route17_Text_WilliamRematchIntro:: @ 81C2C10 .string "Get lost, kid!\n" .string "I'm bushed!$" -Text_1C2C2B:: @ 81C2C2B +Route18_Text_WiltonRematchIntro:: @ 81C2C2B .string "I've been checking every grassy\n" .string "area for new POKéMON.\p" .string "But it's not always easy…$" -Text_1C2C7B:: @ 81C2C7B +Route18_Text_RamiroRematchIntro:: @ 81C2C7B .string "Koorukukukoo!\n" .string "Is my birdcall getting better?$" -Text_1C2CA8:: @ 81C2CA8 +Route18_Text_JacobRematchIntro:: @ 81C2CA8 .string "I warned you before, this is my\n" .string "turf!\p" .string "I don't want you coming around.$" -Text_1C2CEE:: @ 81C2CEE +Route19_Text_RichardRematchIntro:: @ 81C2CEE .string "I'm almost warmed up to go\n" .string "out for a swim.$" -Text_1C2D19:: @ 81C2D19 +Route19_Text_ReeceRematchIntro:: @ 81C2D19 .string "Wait! Slow down!\n" .string "What if you have a heart attack?$" -Text_1C2D4B:: @ 81C2D4B +Route19_Text_MatthewRematchIntro:: @ 81C2D4B .string "I love swimming!\n" .string "I guess you're the surfing type.$" -Text_1C2D7D:: @ 81C2D7D +Route19_Text_DouglasRematchIntro:: @ 81C2D7D .string "What's beyond the horizon?\n" .string "Have you seen?$" -Text_1C2DA7:: @ 81C2DA7 +Route19_Text_DavidRematchIntro:: @ 81C2DA7 .string "I tried diving for POKéMON again,\n" .string "but it was a no-go like before.$" -Text_1C2DE9:: @ 81C2DE9 +Route19_Text_TonyRematchIntro:: @ 81C2DE9 .string "I look at the sea to forget all\n" .string "the bad things that happened.\p" .string "…Like losing to you the last time!$" -Text_1C2E4A:: @ 81C2E4A +Route19_Text_AnyaRematchIntro:: @ 81C2E4A .string "You always get to ride your\n" .string "POKéMON…\p" .string "It looks so relaxing.\n" .string "Can I have it if I win?$" -Text_1C2E9D:: @ 81C2E9D +Route19_Text_AliceRematchIntro:: @ 81C2E9D .string "Swimming's great!\n" .string "Sunburns aren't!$" -Text_1C2EC0:: @ 81C2EC0 +Route19_Text_AxleRematchIntro:: @ 81C2EC0 .string "These waters are treacherous!\n" .string "You shouldn't come back here!$" -Text_1C2EFC:: @ 81C2EFC +Route19_Text_ConnieRematchIntro:: @ 81C2EFC .string "I swam here with my friends…\n" .string "I'm tired…\l" .string "Must we really battle again?$" -Text_1C2F41:: @ 81C2F41 +Route19_Text_LiaRematchIntro:: @ 81C2F41 .string "LIA: You know my brother just\n" .string "became a TRAINER, right?\p" .string "I want to make him better, so I\n" .string "need your help again.$" -Text_1C2FAE:: @ 81C2FAE +Route19_Text_LucRematchIntro:: @ 81C2FAE .string "LUC: My big sis taught me all\n" .string "about POKéMON.\p" .string "I wonder if I'm better?$" -Text_1C2FF3:: @ 81C2FF3 +Route20_Text_BarryRematchIntro:: @ 81C2FF3 .string "The water is shallow here.\n" .string "There are many people swimming.$" -Text_1C302E:: @ 81C302E +Route20_Text_ShirleyRematchIntro:: @ 81C302E .string "Are you jealous that I'm\n" .string "vacationing on SEAFOAM?$" -Text_1C305F:: @ 81C305F +Route20_Text_TiffanyRematchIntro:: @ 81C305F .string "I love floating with the fishes\n" .string "here among the waves.$" -Text_1C3095:: @ 81C3095 +Route20_Text_IreneRematchIntro:: @ 81C3095 .string "Were you on vacation, too?$" -Text_1C30B0:: @ 81C30B0 +Route20_Text_DeanRematchIntro:: @ 81C30B0 .string "Check out my physique!\p" .string "It's even more buff than ever\n" .string "before!$" -Text_1C30ED:: @ 81C30ED +Route20_Text_DarrinRematchIntro:: @ 81C30ED .string "Why are you riding a POKéMON?\n" .string "Haven't you learned to swim yet?$" -Text_1C312C:: @ 81C312C +Route20_Text_RogerRematchIntro:: @ 81C312C .string "I rode my bird POKéMON here.$" -Text_1C3149:: @ 81C3149 +Route20_Text_NoraRematchIntro:: @ 81C3149 .string "My boyfriend gave me big pearls.\n" .string "And, they've grown bigger!$" -Text_1C3185:: @ 81C3185 +Route20_Text_MissyRematchIntro:: @ 81C3185 .string "I swam here from CINNABAR ISLAND.\n" .string "It wasn't easy, like I said.$" -Text_1C31C4:: @ 81C31C4 +Route20_Text_MelissaRematchIntro:: @ 81C31C4 .string "CINNABAR, in the west, has a LAB\n" .string "for POKéMON.\p" .string "My daddy works there.$" -Text_1C3208:: @ 81C3208 +Route21_North_Text_RonaldRematchIntro:: @ 81C3208 .string "You want to know if the fish are\n" .string "biting?$" -Text_1C3231:: @ 81C3231 +Route21_North_Text_WadeRematchIntro:: @ 81C3231 .string "I got a big haul again!\n" .string "Wanna go for it once more?$" -Text_1C3264:: @ 81C3264 +Route21_North_Text_SpencerRematchIntro:: @ 81C3264 .string "The sea cleanses my body and soul!$" -Text_1C3287:: @ 81C3287 +@ Unused trainer from RB that had a rematch intro added +Route21_North_Text_CueBallRematchIntro:: @ 81C3287 .string "きょうも およぎに\n" .string "きちまったぜ$" -Text_1C3298:: @ 81C3298 +Route21_South_Text_JackRematchIntro:: @ 81C3298 .string "I caught my POKéMON at sea.\n" .string "And that's where I train them.$" -Text_1C32D3:: @ 81C32D3 +Route21_South_Text_JeromeRematchIntro:: @ 81C32D3 .string "Right now, I'm in another triathlon\n" .string "meet!$" -Text_1C32FD:: @ 81C32FD +Route21_South_Text_RolandRematchIntro:: @ 81C32FD .string "Ahh!\n" .string "Feel the sun and the wind!$" -Text_1C331D:: @ 81C331D +Route21_South_Text_ClaudeRematchIntro:: @ 81C331D .string "Hey, cut it out already.\n" .string "You always scare away the fish!$" -Text_1C3356:: @ 81C3356 +Route21_South_Text_NolanRematchIntro:: @ 81C3356 .string "Keep me company till I get a hit.$" -Text_1C3378:: @ 81C3378 +Route21_North_Text_LilRematchIntro:: @ 81C3378 .string "LIL: Huh? A battle again?\n" .string "IAN, can't you do it alone?$" -Text_1C33AE:: @ 81C33AE +Route21_North_Text_IanRematchIntro:: @ 81C33AE .string "IAN: My sis is still a slob.\n" .string "Help me get her into shape!$" -Text_1C33E7:: @ 81C33E7 +Route25_Text_JoeyRematchIntro:: @ 81C33E7 .string "I won't lose while I'm here!$" -Text_1C3404:: @ 81C3404 +Route25_Text_DanRematchIntro:: @ 81C3404 .string "Dad took me to a great party on\n" .string "the S.S. ANNE at VERMILION CITY.$" -Text_1C3445:: @ 81C3445 +Route25_Text_FlintRematchIntro:: @ 81C3445 .string "I'm a cool guy.\n" .string "I've got a girlfriend!\p" .string "I'll show her how cool I am for\n" .string "sure this time!$" -Text_1C349C:: @ 81C349C +Route25_Text_KelseyRematchIntro:: @ 81C349C .string "Hi!\n" .string "My boyfriend is cool!\l" .string "My conditioning's good today!$" -Text_1C34D4:: @ 81C34D4 +Route25_Text_ChadRematchIntro:: @ 81C34D4 .string "I had this feeling…\n" .string "I knew I had to battle you again!$" -Text_1C350A:: @ 81C350A +Route25_Text_HaleyRematchIntro:: @ 81C350A .string "My friend has many cute POKéMON.\n" .string "I'm so jealous!$" -Text_1C353B:: @ 81C353B +Route25_Text_FranklinRematchIntro:: @ 81C353B .string "I just trained up on MT. MOON,\n" .string "but I've still got gas in the tank!$" -Text_1C357E:: @ 81C357E +Route25_Text_NobRematchIntro:: @ 81C357E .string "A POKéMANIAC lives on the cape.\n" .string "Have you seen his collection?$" -Text_1C35BC:: @ 81C35BC +Route25_Text_WayneRematchIntro:: @ 81C35BC .string "You're going to see BILL again?\n" .string "First, we battle!$" -Text_1C35EE:: @ 81C35EE +Route24_Text_ShaneRematchIntro:: @ 81C35EE .string "I saw your feat from the grass!$" -Text_1C360E:: @ 81C360E +Route24_Text_EthanRematchIntro:: @ 81C360E .string "Okay!\n" .string "I'll stomp you!$" -Text_1C3624:: @ 81C3624 +Route24_Text_ReliRematchIntro:: @ 81C3624 .string "You always look so busy…\n" .string "Aren't you getting tired?$" -Text_1C3657:: @ 81C3657 +Route24_Text_TimmyRematchIntro:: @ 81C3657 .string "You really must love coming to\n" .string "NUGGET BRIDGE.$" -Text_1C3685:: @ 81C3685 +Route24_Text_AliRematchIntro:: @ 81C3685 .string "The time we battled…\p" .string "Even though I was the second in\n" .string "line, I was the best, wasn't I?$" -Text_1C36DA:: @ 81C36DA +Route24_Text_CaleRematchIntro:: @ 81C36DA .string "People call this the NUGGET\n" .string "BRIDGE!\p" .string "You've already beaten us, so you're\n" @@ -707,300 +708,300 @@ Text_1C36DA:: @ 81C36DA .string "…But, you're welcome to battle with\n" .string "us again.$" -Text_1C3773:: @ 81C3773 +OneIsland_TreasureBeach_Text_AmaraRematchIntro:: @ 81C3773 .string "Lying back, rocked by the waves…\n" .string "I don't notice time slipping by…$" -Text_1C37B5:: @ 81C37B5 +OneIsland_KindleRoad_Text_MariaRematchIntro:: @ 81C37B5 .string "The weather's gorgeous!\n" .string "I'll try not to spoil it.$" -Text_1C37E7:: @ 81C37E7 +OneIsland_KindleRoad_Text_AbigailRematchIntro:: @ 81C37E7 .string "My sunburn is starting to hurt…$" -Text_1C3807:: @ 81C3807 +OneIsland_KindleRoad_Text_FinnRematchIntro:: @ 81C3807 .string "The fire bird's mountain casts\n" .string "a huge shadow…$" -Text_1C3835:: @ 81C3835 +OneIsland_KindleRoad_Text_GarrettRematchIntro:: @ 81C3835 .string "I have this strong feeling that\n" .string "I can win this time!$" -Text_1C386A:: @ 81C386A +OneIsland_KindleRoad_Text_TommyRematchIntro:: @ 81C386A .string "Wait! Wait a second!\n" .string "I'm sure I've hooked a big one!$" -Text_1C389F:: @ 81C389F +OneIsland_KindleRoad_Text_SharonRematchIntro:: @ 81C389F .string "You'll help me out with my\n" .string "training again?$" -Text_1C38CA:: @ 81C38CA +OneIsland_KindleRoad_Text_TanyaRematchIntro:: @ 81C38CA .string "We haven't missed a single day of\n" .string "training yet!$" -Text_1C38FA:: @ 81C38FA +OneIsland_KindleRoad_Text_SheaRematchIntro:: @ 81C38FA .string "Every morning, before breakfast,\n" .string "I swim around this island…\l" .string "Three times!$" -Text_1C3943:: @ 81C3943 +OneIsland_KindleRoad_Text_HughRematchIntro:: @ 81C3943 .string "Dress appropriately for battle!\n" .string "Lose that frivolous outfit, I said!$" -Text_1C3987:: @ 81C3987 +OneIsland_KindleRoad_Text_BryceRematchIntro:: @ 81C3987 .string "You know, everything tastes great\n" .string "when you're out in the wild.$" -Text_1C39C6:: @ 81C39C6 +OneIsland_KindleRoad_Text_ClaireRematchIntro:: @ 81C39C6 .string "I ate too much again, so will you\n" .string "battle us for some exercise?$" -Text_1C3A05:: @ 81C3A05 +OneIsland_KindleRoad_Text_KiaRematchIntro:: @ 81C3A05 .string "KIA: My big brother and I make\n" .string "an awesome combination!\p" .string "We won't lose this time!$" -Text_1C3A55:: @ 81C3A55 +OneIsland_KindleRoad_Text_MikRematchIntro:: @ 81C3A55 .string "MIK: Together with KIA, we're\n" .string "afraid of nothing!\p" .string "We'll prove it to you this time!$" -Text_1C3AA7:: @ 81C3AA7 +ThreeIsland_BondBridge_Text_NikkiRematchIntro:: @ 81C3AA7 .string "Are we to battle again?$" -Text_1C3ABF:: @ 81C3ABF +ThreeIsland_BondBridge_Text_VioletRematchIntro:: @ 81C3ABF .string "From where have you come, and\n" .string "where are you bound?$" -Text_1C3AF2:: @ 81C3AF2 +ThreeIsland_BondBridge_Text_AmiraRematchIntro:: @ 81C3AF2 .string "I want to swim without my float\n" .string "ring soon.$" -Text_1C3B1D:: @ 81C3B1D +ThreeIsland_BondBridge_Text_AlexisRematchIntro:: @ 81C3B1D .string "Yay, yay!\n" .string "POKéMON!$" -Text_1C3B30:: @ 81C3B30 +ThreeIsland_BondBridge_Text_TishaRematchIntro:: @ 81C3B30 .string "Oh, no, didn't I tell you already?\n" .string "Please, stay away from me!$" -Text_1C3B6E:: @ 81C3B6E +ThreeIsland_BondBridge_Text_JoyRematchIntro:: @ 81C3B6E .string "JOY: We've gotten stronger!\n" .string "Lots and lots!$" -Text_1C3B99:: @ 81C3B99 +ThreeIsland_BondBridge_Text_MegRematchIntro:: @ 81C3B99 .string "MEG: You can't beat us today!$" -Text_1C3BB7:: @ 81C3BB7 +FiveIsland_WaterLabyrinth_Text_AlizeRematchIntro:: @ 81C3BB7 .string "Oh, hello!\p" .string "Are you raising your POKéMON in a\n" .string "good environment?$" -Text_1C3BF6:: @ 81C3BF6 +FiveIsland_ResortGorgeous_Text_DaisyRematchIntro:: @ 81C3BF6 .string "With these hands, I will create\n" .string "my victory today.$" -Text_1C3C28:: @ 81C3C28 +FiveIsland_ResortGorgeous_Text_CelinaRematchIntro:: @ 81C3C28 .string "Must I repeat myself?\n" .string "I'm trying to paint.\l" .string "Please keep out of my sight!$" -Text_1C3C70:: @ 81C3C70 +FiveIsland_ResortGorgeous_Text_RaynaRematchIntro:: @ 81C3C70 .string "I haven't made any progress…\n" .string "I still can't get the right angle…$" -Text_1C3CB0:: @ 81C3CB0 +FiveIsland_ResortGorgeous_Text_JackiRematchIntro:: @ 81C3CB0 .string "Oh, you will give me another\n" .string "opportunity to match wits with you?$" -Text_1C3CF1:: @ 81C3CF1 +FiveIsland_ResortGorgeous_Text_GillianRematchIntro:: @ 81C3CF1 .string "They're almost finished making the\n" .string "pool for my POKéMON.\p" .string "You must drop in for a visit.$" -Text_1C3D47:: @ 81C3D47 +FiveIsland_ResortGorgeous_Text_DestinRematchIntro:: @ 81C3D47 .string "I'm a good runner.\n" .string "I've gotten even faster!$" -Text_1C3D73:: @ 81C3D73 +FiveIsland_ResortGorgeous_Text_TobyRematchIntro:: @ 81C3D73 .string "I say, friend!\n" .string "Let us enjoy our time together!$" -Text_1C3DA2:: @ 81C3DA2 +FiveIsland_MemorialPillar_Text_MiloRematchIntro:: @ 81C3DA2 .string "I'm the eldest of the BIRD\n" .string "BROTHERS. Remember me?\p" .string "That's right, I'm the one who loves\n" .string "birds for their beaks!$" -Text_1C3E0F:: @ 81C3E0F +FiveIsland_MemorialPillar_Text_ChazRematchIntro:: @ 81C3E0F .string "I'm the middle kid of the BIRD\n" .string "BROTHERS.\p" .string "I'm the one that loves wings.\n" .string "Let's battle again!$" -Text_1C3E6A:: @ 81C3E6A +FiveIsland_MemorialPillar_Text_HaroldRematchIntro:: @ 81C3E6A .string "I'm the youngest of the BIRD\n" .string "BROTHERS.\p" .string "I love birds for their down.\n" .string "I didn't think I'd see you again!$" -Text_1C3ED0:: @ 81C3ED0 +SixIsland_OutcastIsland_Text_TylorRematchIntro:: @ 81C3ED0 .string "I'm still having no luck at all.\n" .string "A battle'd be a change of pace!$" -Text_1C3F11:: @ 81C3F11 +SixIsland_OutcastIsland_Text_MymoRematchIntro:: @ 81C3F11 .string "Gasp… Gasp…\p" .string "I swam here from SIX ISLAND's port\n" .string "in one go again.$" -Text_1C3F51:: @ 81C3F51 +SixIsland_OutcastIsland_Text_NicoleRematchIntro:: @ 81C3F51 .string "You always come along while I'm\n" .string "swimming.$" -Text_1C3F7B:: @ 81C3F7B +SixIsland_OutcastIsland_Text_AvaRematchIntro:: @ 81C3F7B .string "AVA: Let's have another\n" .string "two-on-two marine battle today!$" -Text_1C3FB3:: @ 81C3FB3 +SixIsland_OutcastIsland_Text_GebRematchIntro:: @ 81C3FB3 .string "GEB: My big sister and I are way\n" .string "tougher than before!$" -Text_1C3FE9:: @ 81C3FE9 +SixIsland_GreenPath_Text_JaclynRematchIntro:: @ 81C3FE9 .string "…Huh?\p" .string "I envision my house, but TELEPORT\n" .string "always brings me here!$" -Text_1C4028:: @ 81C4028 +SixIsland_WaterPath_Text_RoseRematchIntro:: @ 81C4028 .string "Oh, hello.\n" .string "A pleasant breeze is blowing again.$" -Text_1C4057:: @ 81C4057 +SixIsland_WaterPath_Text_EdwardRematchIntro:: @ 81C4057 .string "Hehehe, I'm practicing in secret\n" .string "again.$" -Text_1C407F:: @ 81C407F +SixIsland_WaterPath_Text_SamirRematchIntro:: @ 81C407F .string "What, you're sick of seeing\n" .string "SWIMMERS like me?\p" .string "Aww, don't be hatin'!\n" .string "Battle with me again.$" -Text_1C40D9:: @ 81C40D9 +SixIsland_WaterPath_Text_DeniseRematchIntro:: @ 81C40D9 .string "Sigh…\n" .string "My boyfriend's busy again…$" -Text_1C40FA:: @ 81C40FA +SixIsland_WaterPath_Text_EarlRematchIntro:: @ 81C40FA .string "Come on, tell me, where are the\n" .string "mountains around these parts?$" -Text_1C4138:: @ 81C4138 +SixIsland_WaterPath_Text_MiuRematchIntro:: @ 81C4138 .string "MIU: Hello, POKéMON!\n" .string "It's time to play again!$" -Text_1C4166:: @ 81C4166 +SixIsland_WaterPath_Text_MiaRematchIntro:: @ 81C4166 .string "MIA: Hello, POKéMON!\n" .string "It's time to battle again!$" -Text_1C4196:: @ 81C4196 +SixIsland_RuinValley_Text_StanlyRematchIntro:: @ 81C4196 .string "There appear to be many secrets\n" .string "still unsolved in this world.$" -Text_1C41D4:: @ 81C41D4 +SixIsland_RuinValley_Text_FosterRematchIntro:: @ 81C41D4 .string "Hi, didn't we meet before?\n" .string "What compelled you to come back?$" -Text_1C4210:: @ 81C4210 +SixIsland_RuinValley_Text_LarryRematchIntro:: @ 81C4210 .string "It's been said that there are\n" .string "mysterious stones on this island.\p" .string "Have you discovered anything since\n" .string "we last met?$" -Text_1C4280:: @ 81C4280 +SixIsland_RuinValley_Text_DarylRematchIntro:: @ 81C4280 .string "A rematch with you, so high up!$" -Text_1C42A0:: @ 81C42A0 +SixIsland_RuinValley_Text_HectorRematchIntro:: @ 81C42A0 .string "I'm pretty familiar with the land\n" .string "around these parts.$" -Text_1C42D6:: @ 81C42D6 +SevenIsland_TrainerTower_Text_DarioRematchIntro:: @ 81C42D6 .string "I sensed your approach.$" -Text_1C42EE:: @ 81C42EE +SevenIsland_TrainerTower_Text_RodetteRematchIntro:: @ 81C42EE .string "Somewhere on this island, peculiar\n" .string "POKéMON are sleeping.$" -Text_1C4327:: @ 81C4327 +SevenIsland_SevaultCanyon_Entrance_Text_MiahRematchIntro:: @ 81C4327 .string "Kyahaha!\p" .string "Coming back won't change a thing.\n" .string "I'll flick you away effortlessly!$" -Text_1C4374:: @ 81C4374 +SevenIsland_SevaultCanyon_Entrance_Text_MasonRematchIntro:: @ 81C4374 .string "Howdy! You're a member of my\n" .string "fan club, isn't that right?$" -Text_1C43AD:: @ 81C43AD +SevenIsland_SevaultCanyon_Entrance_Text_NicolasRematchIntro:: @ 81C43AD .string "This island is too spread out…\n" .string "Patrolling the place is a drag…$" -Text_1C43EC:: @ 81C43EC +SevenIsland_SevaultCanyon_Entrance_Text_MadelineRematchIntro:: @ 81C43EC .string "I don't forgive people who abuse\n" .string "POKéMON!$" -Text_1C4416:: @ 81C4416 +SevenIsland_SevaultCanyon_Entrance_Text_EveRematchIntro:: @ 81C4416 .string "EVE: I'll team up with JON and\n" .string "battle together again.$" -Text_1C444C:: @ 81C444C +SevenIsland_SevaultCanyon_Entrance_Text_JonRematchIntro:: @ 81C444C .string "JON: When I'm with EVE, it feels\n" .string "like we could never lose, not ever.$" -Text_1C4491:: @ 81C4491 +SevenIsland_SevaultCanyon_Text_CyndyRematchIntro:: @ 81C4491 .string "Let's have another battle.\n" .string "My conditioning's in top form!$" -Text_1C44CB:: @ 81C44CB +SevenIsland_SevaultCanyon_Text_EvanRematchIntro:: @ 81C44CB .string "It doesn't matter if you happen to\n" .string "have the strongest POKéMON…\p" .string "It doesn't mean a thing if you don't\n" .string "know how to use them properly!$" -Text_1C454E:: @ 81C454E +SevenIsland_SevaultCanyon_Text_JacksonRematchIntro:: @ 81C454E .string "I work to protect the environment.\n" .string "In turn, nature protects me!$" -Text_1C458E:: @ 81C458E +SevenIsland_SevaultCanyon_Text_KatelynRematchIntro:: @ 81C458E .string "Every time we meet, you have those\n" .string "snazzy shoes on.$" -Text_1C45C2:: @ 81C45C2 +SevenIsland_SevaultCanyon_Text_LeroyRematchIntro:: @ 81C45C2 .string "You must have gotten tougher.\n" .string "Let me battle you, please!$" -Text_1C45FB:: @ 81C45FB +SevenIsland_SevaultCanyon_Text_MichelleRematchIntro:: @ 81C45FB .string "I was given the best possible\n" .string "education to become this strong.\p" .string "I won't lose this time.\n" .string "Absolutely not!$" -Text_1C4662:: @ 81C4662 +SevenIsland_SevaultCanyon_Text_LexRematchIntro:: @ 81C4662 .string "LEX: My darling NYA, together\n" .string "we will win for certain!$" -Text_1C4699:: @ 81C4699 +SevenIsland_SevaultCanyon_Text_NyaRematchIntro:: @ 81C4699 .string "NYA: I won't drag down my mentor\n" .string "LEX! We're going to win!$" -Text_1C46D3:: @ 81C46D3 +SevenIsland_TanobyRuins_Text_BrandonRematchIntro:: @ 81C46D3 .string "Have you discovered anything about\n" .string "this stone chamber?$" -Text_1C470A:: @ 81C470A +SevenIsland_TanobyRuins_Text_BenjaminRematchIntro:: @ 81C470A .string "A mystic POKéMON is said to sleep\n" .string "inside here.$" -Text_1C4739:: @ 81C4739 +SevenIsland_TanobyRuins_Text_EdnaRematchIntro:: @ 81C4739 .string "My teacher is showing me how to\n" .string "paint some more.$" -Text_1C476A:: @ 81C476A +SevenIsland_TanobyRuins_Text_CliffordRematchIntro:: @ 81C476A .string "Today, in addition to our lesson,\n" .string "we came to see the chamber again.$" diff --git a/data/text/white_out.inc b/data/text/white_out.inc new file mode 100644 index 000000000..347e45c4c --- /dev/null +++ b/data/text/white_out.inc @@ -0,0 +1,53 @@ +Text_FirstShouldRestoreMonsHealth:: @ 81A5E89 + .string "First, you should restore your\n" + .string "POKéMON to full health.$" + +Text_MonsHealedShouldBuyPotions:: @ 81A5EC0 + .string "Your POKéMON have been healed\n" + .string "to perfect health.\p" + .string "If your POKéMON's energy, HP,\n" + .string "is down, please come see us.\p" + .string "If you're planning to go far in the\n" + .string "field, you should buy some POTIONS\l" + .string "at the POKéMON MART.\p" + .string "We hope you excel!$" + +Text_MonsHealed:: @ 81A5F9B + .string "Your POKéMON have been healed\n" + .string "to perfect health.\p" + .string "We hope you excel!$" + +Text_HadQuiteAnExperienceTakeRest:: @ 81A5FDF + .string "MOM: {PLAYER}!\n" + .string "Welcome home.\p" + .string "It sounds like you had quite\n" + .string "an experience.\p" + .string "Maybe you should take a quick\n" + .string "rest.$" + +Text_MomExplainHPGetPotions:: @ 81A6046 + .string "MOM: Oh, good! You and your\n" + .string "POKéMON are looking great.\p" + .string "I just heard from PROF. OAK.\p" + .string "He said that POKéMON's energy is\n" + .string "measured in HP.\p" + .string "If your POKéMON lose their HP,\n" + .string "you can restore them at any\l" + .string "POKéMON CENTER.\p" + .string "If you're going to travel far away,\n" + .string "the smart TRAINER stocks up on\l" + .string "POTIONS at the POKéMON MART.\p" + .string "Make me proud, honey!\p" + .string "Take care!$" + +Text_WhitedOutLostMoney:: @ 81A6197 + .string "{PLAYER} is out of usable\n" + .string "POKéMON!\p" + .string "{PLAYER} panicked and lost ¥{STR_VAR_1}…\p" + .string "… … … …\p" + .string "{PLAYER} whited out!$" + +Text_WhitedOut:: @ 81A61E5 + .string "{PLAYER} is out of usable\n" + .string "POKéMON!\p" + .string "{PLAYER} whited out!$" diff --git a/data/tilesets/graphics.inc b/data/tilesets/graphics.inc index a23f73322..46ccee45b 100644 --- a/data/tilesets/graphics.inc +++ b/data/tilesets/graphics.inc @@ -1,1471 +1,1471 @@ .align 2 -gTilesetTiles_826D37C:: @ 826D37C - .incbin "data/tilesets/secondary/82D4AAC/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_826D7C0:: @ 826D7C0 - .incbin "data/tilesets/secondary/82D4AAC/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4AAC/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4AAC/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4AAC/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4AAC/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4AAC/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4AAC/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4AAC/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4AAC/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4AAC/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4AAC/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4AAC/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4AAC/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4AAC/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4AAC/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4AAC/palettes/15.gbapal" - - .align 2 -gTilesetTiles_826D9C0:: @ 826D9C0 - .incbin "data/tilesets/secondary/82D4AC4/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_826DFC0:: @ 826DFC0 - .incbin "data/tilesets/secondary/82D4AC4/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4AC4/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4AC4/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4AC4/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4AC4/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4AC4/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4AC4/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4AC4/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4AC4/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4AC4/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4AC4/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4AC4/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4AC4/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4AC4/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4AC4/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4AC4/palettes/15.gbapal" - - .align 2 -gTilesetTiles_826E1C0:: @ 826E1C0 - .incbin "data/tilesets/secondary/82D4ADC/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_826EAB8:: @ 826EAB8 - .incbin "data/tilesets/secondary/82D4ADC/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4ADC/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4ADC/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4ADC/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4ADC/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4ADC/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4ADC/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4ADC/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4ADC/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4ADC/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4ADC/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4ADC/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4ADC/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4ADC/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4ADC/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4ADC/palettes/15.gbapal" - - .align 2 -gTilesetTiles_826ECB8:: @ 826ECB8 - .incbin "data/tilesets/secondary/82D4AF4/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_826F4B8:: @ 826F4B8 - .incbin "data/tilesets/secondary/82D4AF4/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4AF4/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4AF4/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4AF4/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4AF4/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4AF4/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4AF4/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4AF4/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4AF4/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4AF4/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4AF4/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4AF4/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4AF4/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4AF4/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4AF4/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4AF4/palettes/15.gbapal" - - .align 2 -gTilesetTiles_826F6B8:: @ 826F6B8 - .incbin "data/tilesets/secondary/82D4B0C/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8270438:: @ 8270438 - .incbin "data/tilesets/secondary/82D4B0C/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4B0C/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4B0C/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4B0C/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4B0C/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4B0C/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4B0C/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4B0C/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4B0C/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4B0C/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4B0C/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4B0C/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4B0C/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4B0C/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4B0C/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4B0C/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8270638:: @ 8270638 - .incbin "data/tilesets/secondary/82D4B24/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8270DA0:: @ 8270DA0 - .incbin "data/tilesets/secondary/82D4B24/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4B24/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4B24/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4B24/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4B24/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4B24/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4B24/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4B24/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4B24/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4B24/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4B24/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4B24/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4B24/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4B24/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4B24/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4B24/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8270FA0:: @ 8270FA0 - .incbin "data/tilesets/secondary/82D4B3C/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8271C74:: @ 8271C74 - .incbin "data/tilesets/secondary/82D4B3C/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4B3C/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4B3C/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4B3C/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4B3C/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4B3C/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4B3C/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4B3C/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4B3C/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4B3C/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4B3C/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4B3C/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4B3C/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4B3C/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4B3C/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4B3C/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8271E74:: @ 8271E74 - .incbin "data/tilesets/secondary/82D4B54/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8272A5C:: @ 8272A5C - .incbin "data/tilesets/secondary/82D4B54/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4B54/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4B54/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4B54/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4B54/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4B54/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4B54/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4B54/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4B54/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4B54/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4B54/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4B54/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4B54/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4B54/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4B54/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4B54/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8272C5C:: @ 8272C5C - .incbin "data/tilesets/secondary/82D4B6C/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8273358:: @ 8273358 - .incbin "data/tilesets/secondary/82D4B6C/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4B6C/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4B6C/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4B6C/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4B6C/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4B6C/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4B6C/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4B6C/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4B6C/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4B6C/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4B6C/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4B6C/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4B6C/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4B6C/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4B6C/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4B6C/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8273558:: @ 8273558 - .incbin "data/tilesets/secondary/82D4B84/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_82742D0:: @ 82742D0 - .incbin "data/tilesets/secondary/82D4B84/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4B84/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4B84/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4B84/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4B84/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4B84/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4B84/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4B84/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4B84/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4B84/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4B84/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4B84/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4B84/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4B84/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4B84/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4B84/palettes/15.gbapal" - - .align 2 -gTilesetTiles_82744D0:: @ 82744D0 - .incbin "data/tilesets/secondary/82D4B9C/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8275094:: @ 8275094 - .incbin "data/tilesets/secondary/82D4B9C/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4B9C/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4B9C/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4B9C/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4B9C/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4B9C/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4B9C/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4B9C/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4B9C/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4B9C/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4B9C/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4B9C/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4B9C/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4B9C/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4B9C/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4B9C/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8275294:: @ 8275294 - .incbin "data/tilesets/primary/82D4BB4/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8277694:: @ 8277694 - .incbin "data/tilesets/primary/82D4BB4/palettes/0.gbapal" - .incbin "data/tilesets/primary/82D4BB4/palettes/1.gbapal" - .incbin "data/tilesets/primary/82D4BB4/palettes/2.gbapal" - .incbin "data/tilesets/primary/82D4BB4/palettes/3.gbapal" - .incbin "data/tilesets/primary/82D4BB4/palettes/4.gbapal" - .incbin "data/tilesets/primary/82D4BB4/palettes/5.gbapal" - .incbin "data/tilesets/primary/82D4BB4/palettes/6.gbapal" - .incbin "data/tilesets/primary/82D4BB4/palettes/7.gbapal" - .incbin "data/tilesets/primary/82D4BB4/palettes/8.gbapal" - .incbin "data/tilesets/primary/82D4BB4/palettes/9.gbapal" - .incbin "data/tilesets/primary/82D4BB4/palettes/10.gbapal" - .incbin "data/tilesets/primary/82D4BB4/palettes/11.gbapal" - .incbin "data/tilesets/primary/82D4BB4/palettes/12.gbapal" - .incbin "data/tilesets/primary/82D4BB4/palettes/13.gbapal" - .incbin "data/tilesets/primary/82D4BB4/palettes/14.gbapal" - .incbin "data/tilesets/primary/82D4BB4/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8277894:: @ 8277894 - .incbin "data/tilesets/secondary/82D4BCC/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8277A5C:: @ 8277A5C - .incbin "data/tilesets/secondary/82D4BCC/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4BCC/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4BCC/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4BCC/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4BCC/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4BCC/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4BCC/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4BCC/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4BCC/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4BCC/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4BCC/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4BCC/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4BCC/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4BCC/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4BCC/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4BCC/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8277C5C:: @ 8277C5C - .incbin "data/tilesets/secondary/82D4BE4/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8278CC4:: @ 8278CC4 - .incbin "data/tilesets/secondary/82D4BE4/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4BE4/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4BE4/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4BE4/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4BE4/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4BE4/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4BE4/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4BE4/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4BE4/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4BE4/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4BE4/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4BE4/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4BE4/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4BE4/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4BE4/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4BE4/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8278EC4:: @ 8278EC4 - .incbin "data/tilesets/secondary/82D4BFC/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_827A1A8:: @ 827A1A8 - .incbin "data/tilesets/secondary/82D4BFC/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4BFC/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4BFC/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4BFC/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4BFC/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4BFC/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4BFC/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4BFC/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4BFC/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4BFC/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4BFC/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4BFC/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4BFC/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4BFC/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4BFC/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4BFC/palettes/15.gbapal" - - .align 2 -gTilesetTiles_827A3A8:: @ 827A3A8 - .incbin "data/tilesets/secondary/82D4C14/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_827A3B8:: @ 827A3B8 - .incbin "data/tilesets/secondary/82D4C14/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4C14/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4C14/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4C14/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4C14/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4C14/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4C14/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4C14/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4C14/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4C14/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4C14/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4C14/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4C14/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4C14/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4C14/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4C14/palettes/15.gbapal" - - .align 2 -gTilesetTiles_827A5B8:: @ 827A5B8 - .incbin "data/tilesets/secondary/82D4C2C/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_827AE14:: @ 827AE14 - .incbin "data/tilesets/secondary/82D4C2C/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4C2C/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4C2C/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4C2C/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4C2C/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4C2C/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4C2C/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4C2C/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4C2C/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4C2C/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4C2C/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4C2C/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4C2C/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4C2C/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4C2C/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4C2C/palettes/15.gbapal" - - .align 2 -gTilesetTiles_827B014:: @ 827B014 - .incbin "data/tilesets/secondary/82D4C44/tiles.4bpp" - - .align 2 -gTilesetPalettes_827FF14:: @ 827FF14 - .incbin "data/tilesets/secondary/82D4C44/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4C44/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4C44/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4C44/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4C44/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4C44/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4C44/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4C44/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4C44/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4C44/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4C44/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4C44/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4C44/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4C44/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4C44/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4C44/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8280114:: @ 8280114 - .incbin "data/tilesets/secondary/82D4C5C/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_82804EC:: @ 82804EC - .incbin "data/tilesets/secondary/82D4C5C/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4C5C/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4C5C/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4C5C/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4C5C/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4C5C/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4C5C/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4C5C/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4C5C/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4C5C/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4C5C/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4C5C/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4C5C/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4C5C/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4C5C/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4C5C/palettes/15.gbapal" - - .align 2 -gTilesetTiles_82806EC:: @ 82806EC - .incbin "data/tilesets/secondary/82D4C8C/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8280D00:: @ 8280D00 - .incbin "data/tilesets/secondary/82D4C8C/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4C8C/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4C8C/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4C8C/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4C8C/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4C8C/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4C8C/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4C8C/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4C8C/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4C8C/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4C8C/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4C8C/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4C8C/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4C8C/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4C8C/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4C8C/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8280F00:: @ 8280F00 - .incbin "data/tilesets/secondary/82D4CD4/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_82823A4:: @ 82823A4 - .incbin "data/tilesets/secondary/82D4CD4/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4CD4/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4CD4/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4CD4/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4CD4/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4CD4/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4CD4/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4CD4/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4CD4/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4CD4/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4CD4/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4CD4/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4CD4/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4CD4/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4CD4/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4CD4/palettes/15.gbapal" - - .align 2 -gTilesetTiles_82825A4:: @ 82825A4 - .incbin "data/tilesets/secondary/82D4CEC/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8282FBC:: @ 8282FBC - .incbin "data/tilesets/secondary/82D4CEC/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4CEC/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4CEC/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4CEC/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4CEC/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4CEC/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4CEC/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4CEC/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4CEC/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4CEC/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4CEC/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4CEC/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4CEC/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4CEC/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4CEC/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4CEC/palettes/15.gbapal" - - .align 2 -gTilesetTiles_82831BC:: @ 82831BC - .incbin "data/tilesets/secondary/82D4D04/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_82839B0:: @ 82839B0 - .incbin "data/tilesets/secondary/82D4D04/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4D04/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4D04/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4D04/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4D04/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4D04/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4D04/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4D04/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4D04/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4D04/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4D04/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4D04/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4D04/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4D04/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4D04/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4D04/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8283BB0:: @ 8283BB0 - .incbin "data/tilesets/secondary/82D4D1C/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8283FF8:: @ 8283FF8 - .incbin "data/tilesets/secondary/82D4D1C/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4D1C/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4D1C/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4D1C/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4D1C/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4D1C/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4D1C/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4D1C/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4D1C/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4D1C/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4D1C/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4D1C/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4D1C/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4D1C/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4D1C/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4D1C/palettes/15.gbapal" - - .align 2 -gTilesetTiles_82841F8:: @ 82841F8 - .incbin "data/tilesets/secondary/82D4D34/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_82849B8:: @ 82849B8 - .incbin "data/tilesets/secondary/82D4D34/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4D34/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4D34/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4D34/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4D34/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4D34/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4D34/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4D34/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4D34/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4D34/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4D34/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4D34/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4D34/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4D34/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4D34/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4D34/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8284BB8:: @ 8284BB8 - .incbin "data/tilesets/secondary/82D4D4C/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8285150:: @ 8285150 - .incbin "data/tilesets/secondary/82D4D4C/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4D4C/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4D4C/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4D4C/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4D4C/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4D4C/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4D4C/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4D4C/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4D4C/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4D4C/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4D4C/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4D4C/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4D4C/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4D4C/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4D4C/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4D4C/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8285350:: @ 8285350 - .incbin "data/tilesets/secondary/82D4CA4/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_82857A4:: @ 82857A4 - .incbin "data/tilesets/secondary/82D4CA4/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4CA4/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4CA4/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4CA4/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4CA4/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4CA4/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4CA4/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4CA4/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4CA4/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4CA4/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4CA4/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4CA4/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4CA4/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4CA4/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4CA4/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4CA4/palettes/15.gbapal" - - .align 2 -gTilesetTiles_82859A4:: @ 82859A4 - .incbin "data/tilesets/secondary/82D4D64/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8285D90:: @ 8285D90 - .incbin "data/tilesets/secondary/82D4D64/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4D64/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4D64/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4D64/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4D64/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4D64/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4D64/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4D64/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4D64/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4D64/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4D64/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4D64/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4D64/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4D64/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4D64/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4D64/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8285F90:: @ 8285F90 - .incbin "data/tilesets/secondary/82D4D7C/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_82865D4:: @ 82865D4 - .incbin "data/tilesets/secondary/82D4D7C/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4D7C/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4D7C/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4D7C/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4D7C/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4D7C/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4D7C/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4D7C/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4D7C/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4D7C/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4D7C/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4D7C/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4D7C/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4D7C/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4D7C/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4D7C/palettes/15.gbapal" - - .align 2 -gTilesetTiles_82867D4:: @ 82867D4 - .incbin "data/tilesets/secondary/82D4CBC/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8286BC8:: @ 8286BC8 - .incbin "data/tilesets/secondary/82D4CBC/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4CBC/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4CBC/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4CBC/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4CBC/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4CBC/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4CBC/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4CBC/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4CBC/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4CBC/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4CBC/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4CBC/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4CBC/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4CBC/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4CBC/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4CBC/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8286DC8:: @ 8286DC8 - .incbin "data/tilesets/secondary/82D4D94/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8287B80:: @ 8287B80 - .incbin "data/tilesets/secondary/82D4D94/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4D94/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4D94/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4D94/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4D94/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4D94/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4D94/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4D94/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4D94/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4D94/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4D94/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4D94/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4D94/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4D94/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4D94/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4D94/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8287D80:: @ 8287D80 - .incbin "data/tilesets/secondary/82D4DAC/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8287D94:: @ 8287D94 - .incbin "data/tilesets/secondary/82D4DAC/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4DAC/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4DAC/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4DAC/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4DAC/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4DAC/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4DAC/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4DAC/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4DAC/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4DAC/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4DAC/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4DAC/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4DAC/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4DAC/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4DAC/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4DAC/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8287F94:: @ 8287F94 - .incbin "data/tilesets/secondary/82D4DC4/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8288444:: @ 8288444 - .incbin "data/tilesets/secondary/82D4DC4/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4DC4/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4DC4/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4DC4/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4DC4/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4DC4/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4DC4/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4DC4/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4DC4/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4DC4/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4DC4/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4DC4/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4DC4/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4DC4/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4DC4/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4DC4/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8288644:: @ 8288644 - .incbin "data/tilesets/secondary/82D4DDC/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8288C60:: @ 8288C60 - .incbin "data/tilesets/secondary/82D4DDC/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4DDC/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4DDC/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4DDC/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4DDC/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4DDC/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4DDC/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4DDC/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4DDC/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4DDC/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4DDC/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4DDC/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4DDC/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4DDC/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4DDC/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4DDC/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8288E60:: @ 8288E60 - .incbin "data/tilesets/secondary/82D4DF4/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8289FC8:: @ 8289FC8 - .incbin "data/tilesets/secondary/82D4DF4/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4DF4/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4DF4/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4DF4/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4DF4/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4DF4/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4DF4/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4DF4/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4DF4/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4DF4/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4DF4/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4DF4/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4DF4/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4DF4/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4DF4/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4DF4/palettes/15.gbapal" - - .align 2 -gTilesetTiles_828A1C8:: @ 828A1C8 - .incbin "data/tilesets/secondary/82D4E0C/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_828B250:: @ 828B250 - .incbin "data/tilesets/secondary/82D4E0C/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4E0C/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4E0C/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4E0C/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4E0C/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4E0C/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4E0C/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4E0C/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4E0C/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4E0C/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4E0C/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4E0C/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4E0C/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4E0C/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4E0C/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4E0C/palettes/15.gbapal" - - .align 2 -gTilesetTiles_828B450:: @ 828B450 - .incbin "data/tilesets/secondary/82D4E24/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_828CAA0:: @ 828CAA0 - .incbin "data/tilesets/secondary/82D4E24/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4E24/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4E24/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4E24/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4E24/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4E24/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4E24/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4E24/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4E24/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4E24/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4E24/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4E24/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4E24/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4E24/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4E24/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4E24/palettes/15.gbapal" - - .align 2 -gTilesetTiles_828CCA0:: @ 828CCA0 - .incbin "data/tilesets/secondary/82D4E3C/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_828D2BC:: @ 828D2BC - .incbin "data/tilesets/secondary/82D4E3C/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4E3C/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4E3C/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4E3C/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4E3C/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4E3C/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4E3C/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4E3C/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4E3C/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4E3C/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4E3C/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4E3C/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4E3C/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4E3C/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4E3C/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4E3C/palettes/15.gbapal" - - .align 2 -gTilesetTiles_828D4BC:: @ 828D4BC - .incbin "data/tilesets/secondary/82D4E54/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_828E3A4:: @ 828E3A4 - .incbin "data/tilesets/secondary/82D4E54/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4E54/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4E54/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4E54/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4E54/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4E54/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4E54/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4E54/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4E54/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4E54/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4E54/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4E54/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4E54/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4E54/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4E54/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4E54/palettes/15.gbapal" - - .align 2 -gTilesetTiles_828E5A4:: @ 828E5A4 - .incbin "data/tilesets/secondary/82D4E84/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_828EC70:: @ 828EC70 - .incbin "data/tilesets/secondary/82D4E84/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4E84/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4E84/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4E84/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4E84/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4E84/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4E84/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4E84/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4E84/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4E84/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4E84/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4E84/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4E84/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4E84/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4E84/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4E84/palettes/15.gbapal" - - .align 2 -gTilesetTiles_828EE70:: @ 828EE70 - .incbin "data/tilesets/secondary/82D4E9C/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_828F378:: @ 828F378 - .incbin "data/tilesets/secondary/82D4E9C/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4E9C/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4E9C/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4E9C/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4E9C/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4E9C/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4E9C/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4E9C/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4E9C/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4E9C/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4E9C/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4E9C/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4E9C/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4E9C/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4E9C/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4E9C/palettes/15.gbapal" - - .align 2 -gTilesetTiles_828F578:: @ 828F578 - .incbin "data/tilesets/secondary/82D4EB4/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_828F9D8:: @ 828F9D8 - .incbin "data/tilesets/secondary/82D4EB4/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4EB4/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4EB4/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4EB4/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4EB4/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4EB4/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4EB4/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4EB4/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4EB4/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4EB4/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4EB4/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4EB4/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4EB4/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4EB4/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4EB4/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4EB4/palettes/15.gbapal" - - .align 2 -gTilesetTiles_828FBD8:: @ 828FBD8 - .incbin "data/tilesets/secondary/82D4F8C/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8290DD0:: @ 8290DD0 - .incbin "data/tilesets/secondary/82D4F8C/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4F8C/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4F8C/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4F8C/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4F8C/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4F8C/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4F8C/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4F8C/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4F8C/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4F8C/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4F8C/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4F8C/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4F8C/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4F8C/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4F8C/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4F8C/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8290FD0:: @ 8290FD0 - .incbin "data/tilesets/secondary/82D4EE4/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8291274:: @ 8291274 - .incbin "data/tilesets/secondary/82D4EE4/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4EE4/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4EE4/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4EE4/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4EE4/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4EE4/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4EE4/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4EE4/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4EE4/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4EE4/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4EE4/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4EE4/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4EE4/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4EE4/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4EE4/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4EE4/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8291474:: @ 8291474 - .incbin "data/tilesets/secondary/82D4EFC/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8291AFC:: @ 8291AFC - .incbin "data/tilesets/secondary/82D4EFC/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4EFC/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4EFC/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4EFC/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4EFC/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4EFC/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4EFC/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4EFC/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4EFC/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4EFC/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4EFC/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4EFC/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4EFC/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4EFC/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4EFC/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4EFC/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8291CFC:: @ 8291CFC - .incbin "data/tilesets/secondary/82D4F14/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_82920F0:: @ 82920F0 - .incbin "data/tilesets/secondary/82D4F14/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4F14/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4F14/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4F14/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4F14/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4F14/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4F14/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4F14/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4F14/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4F14/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4F14/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4F14/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4F14/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4F14/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4F14/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4F14/palettes/15.gbapal" - - .align 2 -gTilesetTiles_82922F0:: @ 82922F0 - .incbin "data/tilesets/secondary/82D4F2C/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8292FF0:: @ 8292FF0 - .incbin "data/tilesets/secondary/82D4F2C/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4F2C/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4F2C/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4F2C/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4F2C/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4F2C/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4F2C/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4F2C/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4F2C/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4F2C/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4F2C/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4F2C/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4F2C/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4F2C/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4F2C/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4F2C/palettes/15.gbapal" - - .align 2 -gTilesetTiles_82931F0:: @ 82931F0 - .incbin "data/tilesets/secondary/82D4F44/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8293660:: @ 8293660 - .incbin "data/tilesets/secondary/82D4F44/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4F44/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4F44/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4F44/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4F44/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4F44/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4F44/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4F44/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4F44/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4F44/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4F44/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4F44/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4F44/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4F44/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4F44/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4F44/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8293860:: @ 8293860 - .incbin "data/tilesets/secondary/82D4F5C/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8293B0C:: @ 8293B0C - .incbin "data/tilesets/secondary/82D4F5C/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4F5C/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4F5C/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4F5C/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4F5C/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4F5C/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4F5C/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4F5C/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4F5C/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4F5C/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4F5C/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4F5C/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4F5C/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4F5C/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4F5C/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4F5C/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8293D0C:: @ 8293D0C - .incbin "data/tilesets/secondary/82D4F74/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8294144:: @ 8294144 - .incbin "data/tilesets/secondary/82D4F74/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4F74/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4F74/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4F74/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4F74/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4F74/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4F74/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4F74/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4F74/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4F74/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4F74/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4F74/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4F74/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4F74/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4F74/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4F74/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8294344:: @ 8294344 - .incbin "data/tilesets/secondary/82D4FA4/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8294D08:: @ 8294D08 - .incbin "data/tilesets/secondary/82D4FA4/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4FA4/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4FA4/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4FA4/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4FA4/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4FA4/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4FA4/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4FA4/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4FA4/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4FA4/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4FA4/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4FA4/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4FA4/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4FA4/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4FA4/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4FA4/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8294F08:: @ 8294F08 - .incbin "data/tilesets/secondary/82D4FBC/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8294F18:: @ 8294F18 - .incbin "data/tilesets/secondary/82D4FBC/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4FBC/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4FBC/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4FBC/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4FBC/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4FBC/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4FBC/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4FBC/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4FBC/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4FBC/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4FBC/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4FBC/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4FBC/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4FBC/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4FBC/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4FBC/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8295118:: @ 8295118 - .incbin "data/tilesets/secondary/82D4FD4/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_829512C:: @ 829512C - .incbin "data/tilesets/secondary/82D4FD4/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4FD4/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4FD4/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4FD4/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4FD4/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4FD4/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4FD4/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4FD4/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4FD4/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4FD4/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4FD4/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4FD4/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4FD4/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4FD4/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4FD4/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4FD4/palettes/15.gbapal" - - .align 2 -gTilesetTiles_829532C:: @ 829532C - .incbin "data/tilesets/secondary/82D4FEC/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_82967D4:: @ 82967D4 - .incbin "data/tilesets/secondary/82D4FEC/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D4FEC/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D4FEC/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D4FEC/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D4FEC/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D4FEC/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D4FEC/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D4FEC/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D4FEC/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D4FEC/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D4FEC/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D4FEC/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D4FEC/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D4FEC/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D4FEC/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D4FEC/palettes/15.gbapal" - - .align 2 -gTilesetTiles_82969D4:: @ 82969D4 - .incbin "data/tilesets/secondary/82D5004/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8296E90:: @ 8296E90 - .incbin "data/tilesets/secondary/82D5004/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D5004/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D5004/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D5004/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D5004/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D5004/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D5004/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D5004/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D5004/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D5004/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D5004/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D5004/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D5004/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D5004/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D5004/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D5004/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8297090:: @ 8297090 - .incbin "data/tilesets/secondary/82D501C/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_82983BC:: @ 82983BC - .incbin "data/tilesets/secondary/82D501C/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D501C/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D501C/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D501C/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D501C/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D501C/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D501C/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D501C/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D501C/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D501C/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D501C/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D501C/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D501C/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D501C/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D501C/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D501C/palettes/15.gbapal" - - .align 2 -gTilesetTiles_82985BC:: @ 82985BC - .incbin "data/tilesets/secondary/82D5034/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8298970:: @ 8298970 - .incbin "data/tilesets/secondary/82D5034/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D5034/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D5034/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D5034/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D5034/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D5034/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D5034/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D5034/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D5034/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D5034/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D5034/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D5034/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D5034/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D5034/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D5034/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D5034/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8298B70:: @ 8298B70 - .incbin "data/tilesets/secondary/82D504C/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_8299AA4:: @ 8299AA4 - .incbin "data/tilesets/secondary/82D504C/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D504C/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D504C/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D504C/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D504C/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D504C/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D504C/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D504C/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D504C/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D504C/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D504C/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D504C/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D504C/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D504C/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D504C/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D504C/palettes/15.gbapal" - - .align 2 -gTilesetTiles_8299CA4:: @ 8299CA4 - .incbin "data/tilesets/secondary/82D5064/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_829AB04:: @ 829AB04 - .incbin "data/tilesets/secondary/82D5064/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D5064/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D5064/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D5064/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D5064/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D5064/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D5064/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D5064/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D5064/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D5064/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D5064/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D5064/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D5064/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D5064/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D5064/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D5064/palettes/15.gbapal" - - .align 2 -gTilesetTiles_829AD04:: @ 829AD04 - .incbin "data/tilesets/secondary/82D507C/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_829BD64:: @ 829BD64 - .incbin "data/tilesets/secondary/82D507C/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D507C/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D507C/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D507C/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D507C/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D507C/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D507C/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D507C/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D507C/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D507C/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D507C/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D507C/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D507C/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D507C/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D507C/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D507C/palettes/15.gbapal" - - .align 2 -gTilesetTiles_829BF64:: @ 829BF64 - .incbin "data/tilesets/secondary/82D5094/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_829CEE4:: @ 829CEE4 - .incbin "data/tilesets/secondary/82D5094/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D5094/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D5094/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D5094/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D5094/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D5094/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D5094/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D5094/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D5094/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D5094/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D5094/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D5094/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D5094/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D5094/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D5094/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D5094/palettes/15.gbapal" - - .align 2 -gTilesetTiles_829D0E4:: @ 829D0E4 - .incbin "data/tilesets/secondary/82D50AC/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_829D894:: @ 829D894 - .incbin "data/tilesets/secondary/82D50AC/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D50AC/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D50AC/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D50AC/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D50AC/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D50AC/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D50AC/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D50AC/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D50AC/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D50AC/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D50AC/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D50AC/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D50AC/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D50AC/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D50AC/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D50AC/palettes/15.gbapal" - - .align 2 -gTilesetTiles_829DA94:: @ 829DA94 - .incbin "data/tilesets/secondary/82D50C4/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_829EA50:: @ 829EA50 - .incbin "data/tilesets/secondary/82D50C4/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D50C4/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D50C4/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D50C4/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D50C4/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D50C4/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D50C4/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D50C4/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D50C4/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D50C4/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D50C4/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D50C4/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D50C4/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D50C4/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D50C4/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D50C4/palettes/15.gbapal" - - .align 2 -gTilesetTiles_829EC50:: @ 829EC50 - .incbin "data/tilesets/secondary/82D50DC/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_829F4C8:: @ 829F4C8 - .incbin "data/tilesets/secondary/82D50DC/palettes/0.gbapal" - .incbin "data/tilesets/secondary/82D50DC/palettes/1.gbapal" - .incbin "data/tilesets/secondary/82D50DC/palettes/2.gbapal" - .incbin "data/tilesets/secondary/82D50DC/palettes/3.gbapal" - .incbin "data/tilesets/secondary/82D50DC/palettes/4.gbapal" - .incbin "data/tilesets/secondary/82D50DC/palettes/5.gbapal" - .incbin "data/tilesets/secondary/82D50DC/palettes/6.gbapal" - .incbin "data/tilesets/secondary/82D50DC/palettes/7.gbapal" - .incbin "data/tilesets/secondary/82D50DC/palettes/8.gbapal" - .incbin "data/tilesets/secondary/82D50DC/palettes/9.gbapal" - .incbin "data/tilesets/secondary/82D50DC/palettes/10.gbapal" - .incbin "data/tilesets/secondary/82D50DC/palettes/11.gbapal" - .incbin "data/tilesets/secondary/82D50DC/palettes/12.gbapal" - .incbin "data/tilesets/secondary/82D50DC/palettes/13.gbapal" - .incbin "data/tilesets/secondary/82D50DC/palettes/14.gbapal" - .incbin "data/tilesets/secondary/82D50DC/palettes/15.gbapal" +gTilesetTiles_PalletTown:: @ 826D37C + .incbin "data/tilesets/secondary/pallet_town/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_PalletTown:: @ 826D7C0 + .incbin "data/tilesets/secondary/pallet_town/palettes/00.gbapal" + .incbin "data/tilesets/secondary/pallet_town/palettes/01.gbapal" + .incbin "data/tilesets/secondary/pallet_town/palettes/02.gbapal" + .incbin "data/tilesets/secondary/pallet_town/palettes/03.gbapal" + .incbin "data/tilesets/secondary/pallet_town/palettes/04.gbapal" + .incbin "data/tilesets/secondary/pallet_town/palettes/05.gbapal" + .incbin "data/tilesets/secondary/pallet_town/palettes/06.gbapal" + .incbin "data/tilesets/secondary/pallet_town/palettes/07.gbapal" + .incbin "data/tilesets/secondary/pallet_town/palettes/08.gbapal" + .incbin "data/tilesets/secondary/pallet_town/palettes/09.gbapal" + .incbin "data/tilesets/secondary/pallet_town/palettes/10.gbapal" + .incbin "data/tilesets/secondary/pallet_town/palettes/11.gbapal" + .incbin "data/tilesets/secondary/pallet_town/palettes/12.gbapal" + .incbin "data/tilesets/secondary/pallet_town/palettes/13.gbapal" + .incbin "data/tilesets/secondary/pallet_town/palettes/14.gbapal" + .incbin "data/tilesets/secondary/pallet_town/palettes/15.gbapal" + + .align 2 +gTilesetTiles_ViridianCity:: @ 826D9C0 + .incbin "data/tilesets/secondary/viridian_city/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_ViridianCity:: @ 826DFC0 + .incbin "data/tilesets/secondary/viridian_city/palettes/00.gbapal" + .incbin "data/tilesets/secondary/viridian_city/palettes/01.gbapal" + .incbin "data/tilesets/secondary/viridian_city/palettes/02.gbapal" + .incbin "data/tilesets/secondary/viridian_city/palettes/03.gbapal" + .incbin "data/tilesets/secondary/viridian_city/palettes/04.gbapal" + .incbin "data/tilesets/secondary/viridian_city/palettes/05.gbapal" + .incbin "data/tilesets/secondary/viridian_city/palettes/06.gbapal" + .incbin "data/tilesets/secondary/viridian_city/palettes/07.gbapal" + .incbin "data/tilesets/secondary/viridian_city/palettes/08.gbapal" + .incbin "data/tilesets/secondary/viridian_city/palettes/09.gbapal" + .incbin "data/tilesets/secondary/viridian_city/palettes/10.gbapal" + .incbin "data/tilesets/secondary/viridian_city/palettes/11.gbapal" + .incbin "data/tilesets/secondary/viridian_city/palettes/12.gbapal" + .incbin "data/tilesets/secondary/viridian_city/palettes/13.gbapal" + .incbin "data/tilesets/secondary/viridian_city/palettes/14.gbapal" + .incbin "data/tilesets/secondary/viridian_city/palettes/15.gbapal" + + .align 2 +gTilesetTiles_PewterCity:: @ 826E1C0 + .incbin "data/tilesets/secondary/pewter_city/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_PewterCity:: @ 826EAB8 + .incbin "data/tilesets/secondary/pewter_city/palettes/00.gbapal" + .incbin "data/tilesets/secondary/pewter_city/palettes/01.gbapal" + .incbin "data/tilesets/secondary/pewter_city/palettes/02.gbapal" + .incbin "data/tilesets/secondary/pewter_city/palettes/03.gbapal" + .incbin "data/tilesets/secondary/pewter_city/palettes/04.gbapal" + .incbin "data/tilesets/secondary/pewter_city/palettes/05.gbapal" + .incbin "data/tilesets/secondary/pewter_city/palettes/06.gbapal" + .incbin "data/tilesets/secondary/pewter_city/palettes/07.gbapal" + .incbin "data/tilesets/secondary/pewter_city/palettes/08.gbapal" + .incbin "data/tilesets/secondary/pewter_city/palettes/09.gbapal" + .incbin "data/tilesets/secondary/pewter_city/palettes/10.gbapal" + .incbin "data/tilesets/secondary/pewter_city/palettes/11.gbapal" + .incbin "data/tilesets/secondary/pewter_city/palettes/12.gbapal" + .incbin "data/tilesets/secondary/pewter_city/palettes/13.gbapal" + .incbin "data/tilesets/secondary/pewter_city/palettes/14.gbapal" + .incbin "data/tilesets/secondary/pewter_city/palettes/15.gbapal" + + .align 2 +gTilesetTiles_CeruleanCity:: @ 826ECB8 + .incbin "data/tilesets/secondary/cerulean_city/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_CeruleanCity:: @ 826F4B8 + .incbin "data/tilesets/secondary/cerulean_city/palettes/00.gbapal" + .incbin "data/tilesets/secondary/cerulean_city/palettes/01.gbapal" + .incbin "data/tilesets/secondary/cerulean_city/palettes/02.gbapal" + .incbin "data/tilesets/secondary/cerulean_city/palettes/03.gbapal" + .incbin "data/tilesets/secondary/cerulean_city/palettes/04.gbapal" + .incbin "data/tilesets/secondary/cerulean_city/palettes/05.gbapal" + .incbin "data/tilesets/secondary/cerulean_city/palettes/06.gbapal" + .incbin "data/tilesets/secondary/cerulean_city/palettes/07.gbapal" + .incbin "data/tilesets/secondary/cerulean_city/palettes/08.gbapal" + .incbin "data/tilesets/secondary/cerulean_city/palettes/09.gbapal" + .incbin "data/tilesets/secondary/cerulean_city/palettes/10.gbapal" + .incbin "data/tilesets/secondary/cerulean_city/palettes/11.gbapal" + .incbin "data/tilesets/secondary/cerulean_city/palettes/12.gbapal" + .incbin "data/tilesets/secondary/cerulean_city/palettes/13.gbapal" + .incbin "data/tilesets/secondary/cerulean_city/palettes/14.gbapal" + .incbin "data/tilesets/secondary/cerulean_city/palettes/15.gbapal" + + .align 2 +gTilesetTiles_LavenderTown:: @ 826F6B8 + .incbin "data/tilesets/secondary/lavender_town/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_LavenderTown:: @ 8270438 + .incbin "data/tilesets/secondary/lavender_town/palettes/00.gbapal" + .incbin "data/tilesets/secondary/lavender_town/palettes/01.gbapal" + .incbin "data/tilesets/secondary/lavender_town/palettes/02.gbapal" + .incbin "data/tilesets/secondary/lavender_town/palettes/03.gbapal" + .incbin "data/tilesets/secondary/lavender_town/palettes/04.gbapal" + .incbin "data/tilesets/secondary/lavender_town/palettes/05.gbapal" + .incbin "data/tilesets/secondary/lavender_town/palettes/06.gbapal" + .incbin "data/tilesets/secondary/lavender_town/palettes/07.gbapal" + .incbin "data/tilesets/secondary/lavender_town/palettes/08.gbapal" + .incbin "data/tilesets/secondary/lavender_town/palettes/09.gbapal" + .incbin "data/tilesets/secondary/lavender_town/palettes/10.gbapal" + .incbin "data/tilesets/secondary/lavender_town/palettes/11.gbapal" + .incbin "data/tilesets/secondary/lavender_town/palettes/12.gbapal" + .incbin "data/tilesets/secondary/lavender_town/palettes/13.gbapal" + .incbin "data/tilesets/secondary/lavender_town/palettes/14.gbapal" + .incbin "data/tilesets/secondary/lavender_town/palettes/15.gbapal" + + .align 2 +gTilesetTiles_VermilionCity:: @ 8270638 + .incbin "data/tilesets/secondary/vermilion_city/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_VermilionCity:: @ 8270DA0 + .incbin "data/tilesets/secondary/vermilion_city/palettes/00.gbapal" + .incbin "data/tilesets/secondary/vermilion_city/palettes/01.gbapal" + .incbin "data/tilesets/secondary/vermilion_city/palettes/02.gbapal" + .incbin "data/tilesets/secondary/vermilion_city/palettes/03.gbapal" + .incbin "data/tilesets/secondary/vermilion_city/palettes/04.gbapal" + .incbin "data/tilesets/secondary/vermilion_city/palettes/05.gbapal" + .incbin "data/tilesets/secondary/vermilion_city/palettes/06.gbapal" + .incbin "data/tilesets/secondary/vermilion_city/palettes/07.gbapal" + .incbin "data/tilesets/secondary/vermilion_city/palettes/08.gbapal" + .incbin "data/tilesets/secondary/vermilion_city/palettes/09.gbapal" + .incbin "data/tilesets/secondary/vermilion_city/palettes/10.gbapal" + .incbin "data/tilesets/secondary/vermilion_city/palettes/11.gbapal" + .incbin "data/tilesets/secondary/vermilion_city/palettes/12.gbapal" + .incbin "data/tilesets/secondary/vermilion_city/palettes/13.gbapal" + .incbin "data/tilesets/secondary/vermilion_city/palettes/14.gbapal" + .incbin "data/tilesets/secondary/vermilion_city/palettes/15.gbapal" + + .align 2 +gTilesetTiles_CeladonCity:: @ 8270FA0 + .incbin "data/tilesets/secondary/celadon_city/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_CeladonCity:: @ 8271C74 + .incbin "data/tilesets/secondary/celadon_city/palettes/00.gbapal" + .incbin "data/tilesets/secondary/celadon_city/palettes/01.gbapal" + .incbin "data/tilesets/secondary/celadon_city/palettes/02.gbapal" + .incbin "data/tilesets/secondary/celadon_city/palettes/03.gbapal" + .incbin "data/tilesets/secondary/celadon_city/palettes/04.gbapal" + .incbin "data/tilesets/secondary/celadon_city/palettes/05.gbapal" + .incbin "data/tilesets/secondary/celadon_city/palettes/06.gbapal" + .incbin "data/tilesets/secondary/celadon_city/palettes/07.gbapal" + .incbin "data/tilesets/secondary/celadon_city/palettes/08.gbapal" + .incbin "data/tilesets/secondary/celadon_city/palettes/09.gbapal" + .incbin "data/tilesets/secondary/celadon_city/palettes/10.gbapal" + .incbin "data/tilesets/secondary/celadon_city/palettes/11.gbapal" + .incbin "data/tilesets/secondary/celadon_city/palettes/12.gbapal" + .incbin "data/tilesets/secondary/celadon_city/palettes/13.gbapal" + .incbin "data/tilesets/secondary/celadon_city/palettes/14.gbapal" + .incbin "data/tilesets/secondary/celadon_city/palettes/15.gbapal" + + .align 2 +gTilesetTiles_FuchsiaCity:: @ 8271E74 + .incbin "data/tilesets/secondary/fuchsia_city/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_FuchsiaCity:: @ 8272A5C + .incbin "data/tilesets/secondary/fuchsia_city/palettes/00.gbapal" + .incbin "data/tilesets/secondary/fuchsia_city/palettes/01.gbapal" + .incbin "data/tilesets/secondary/fuchsia_city/palettes/02.gbapal" + .incbin "data/tilesets/secondary/fuchsia_city/palettes/03.gbapal" + .incbin "data/tilesets/secondary/fuchsia_city/palettes/04.gbapal" + .incbin "data/tilesets/secondary/fuchsia_city/palettes/05.gbapal" + .incbin "data/tilesets/secondary/fuchsia_city/palettes/06.gbapal" + .incbin "data/tilesets/secondary/fuchsia_city/palettes/07.gbapal" + .incbin "data/tilesets/secondary/fuchsia_city/palettes/08.gbapal" + .incbin "data/tilesets/secondary/fuchsia_city/palettes/09.gbapal" + .incbin "data/tilesets/secondary/fuchsia_city/palettes/10.gbapal" + .incbin "data/tilesets/secondary/fuchsia_city/palettes/11.gbapal" + .incbin "data/tilesets/secondary/fuchsia_city/palettes/12.gbapal" + .incbin "data/tilesets/secondary/fuchsia_city/palettes/13.gbapal" + .incbin "data/tilesets/secondary/fuchsia_city/palettes/14.gbapal" + .incbin "data/tilesets/secondary/fuchsia_city/palettes/15.gbapal" + + .align 2 +gTilesetTiles_CinnabarIsland:: @ 8272C5C + .incbin "data/tilesets/secondary/cinnabar_island/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_CinnabarIsland:: @ 8273358 + .incbin "data/tilesets/secondary/cinnabar_island/palettes/00.gbapal" + .incbin "data/tilesets/secondary/cinnabar_island/palettes/01.gbapal" + .incbin "data/tilesets/secondary/cinnabar_island/palettes/02.gbapal" + .incbin "data/tilesets/secondary/cinnabar_island/palettes/03.gbapal" + .incbin "data/tilesets/secondary/cinnabar_island/palettes/04.gbapal" + .incbin "data/tilesets/secondary/cinnabar_island/palettes/05.gbapal" + .incbin "data/tilesets/secondary/cinnabar_island/palettes/06.gbapal" + .incbin "data/tilesets/secondary/cinnabar_island/palettes/07.gbapal" + .incbin "data/tilesets/secondary/cinnabar_island/palettes/08.gbapal" + .incbin "data/tilesets/secondary/cinnabar_island/palettes/09.gbapal" + .incbin "data/tilesets/secondary/cinnabar_island/palettes/10.gbapal" + .incbin "data/tilesets/secondary/cinnabar_island/palettes/11.gbapal" + .incbin "data/tilesets/secondary/cinnabar_island/palettes/12.gbapal" + .incbin "data/tilesets/secondary/cinnabar_island/palettes/13.gbapal" + .incbin "data/tilesets/secondary/cinnabar_island/palettes/14.gbapal" + .incbin "data/tilesets/secondary/cinnabar_island/palettes/15.gbapal" + + .align 2 +gTilesetTiles_IndigoPlateau:: @ 8273558 + .incbin "data/tilesets/secondary/indigo_plateau/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_IndigoPlateau:: @ 82742D0 + .incbin "data/tilesets/secondary/indigo_plateau/palettes/00.gbapal" + .incbin "data/tilesets/secondary/indigo_plateau/palettes/01.gbapal" + .incbin "data/tilesets/secondary/indigo_plateau/palettes/02.gbapal" + .incbin "data/tilesets/secondary/indigo_plateau/palettes/03.gbapal" + .incbin "data/tilesets/secondary/indigo_plateau/palettes/04.gbapal" + .incbin "data/tilesets/secondary/indigo_plateau/palettes/05.gbapal" + .incbin "data/tilesets/secondary/indigo_plateau/palettes/06.gbapal" + .incbin "data/tilesets/secondary/indigo_plateau/palettes/07.gbapal" + .incbin "data/tilesets/secondary/indigo_plateau/palettes/08.gbapal" + .incbin "data/tilesets/secondary/indigo_plateau/palettes/09.gbapal" + .incbin "data/tilesets/secondary/indigo_plateau/palettes/10.gbapal" + .incbin "data/tilesets/secondary/indigo_plateau/palettes/11.gbapal" + .incbin "data/tilesets/secondary/indigo_plateau/palettes/12.gbapal" + .incbin "data/tilesets/secondary/indigo_plateau/palettes/13.gbapal" + .incbin "data/tilesets/secondary/indigo_plateau/palettes/14.gbapal" + .incbin "data/tilesets/secondary/indigo_plateau/palettes/15.gbapal" + + .align 2 +gTilesetTiles_SaffronCity:: @ 82744D0 + .incbin "data/tilesets/secondary/saffron_city/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_SaffronCity:: @ 8275094 + .incbin "data/tilesets/secondary/saffron_city/palettes/00.gbapal" + .incbin "data/tilesets/secondary/saffron_city/palettes/01.gbapal" + .incbin "data/tilesets/secondary/saffron_city/palettes/02.gbapal" + .incbin "data/tilesets/secondary/saffron_city/palettes/03.gbapal" + .incbin "data/tilesets/secondary/saffron_city/palettes/04.gbapal" + .incbin "data/tilesets/secondary/saffron_city/palettes/05.gbapal" + .incbin "data/tilesets/secondary/saffron_city/palettes/06.gbapal" + .incbin "data/tilesets/secondary/saffron_city/palettes/07.gbapal" + .incbin "data/tilesets/secondary/saffron_city/palettes/08.gbapal" + .incbin "data/tilesets/secondary/saffron_city/palettes/09.gbapal" + .incbin "data/tilesets/secondary/saffron_city/palettes/10.gbapal" + .incbin "data/tilesets/secondary/saffron_city/palettes/11.gbapal" + .incbin "data/tilesets/secondary/saffron_city/palettes/12.gbapal" + .incbin "data/tilesets/secondary/saffron_city/palettes/13.gbapal" + .incbin "data/tilesets/secondary/saffron_city/palettes/14.gbapal" + .incbin "data/tilesets/secondary/saffron_city/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Building:: @ Building + .incbin "data/tilesets/primary/building/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Building:: @ Building + .incbin "data/tilesets/primary/building/palettes/00.gbapal" + .incbin "data/tilesets/primary/building/palettes/01.gbapal" + .incbin "data/tilesets/primary/building/palettes/02.gbapal" + .incbin "data/tilesets/primary/building/palettes/03.gbapal" + .incbin "data/tilesets/primary/building/palettes/04.gbapal" + .incbin "data/tilesets/primary/building/palettes/05.gbapal" + .incbin "data/tilesets/primary/building/palettes/06.gbapal" + .incbin "data/tilesets/primary/building/palettes/07.gbapal" + .incbin "data/tilesets/primary/building/palettes/08.gbapal" + .incbin "data/tilesets/primary/building/palettes/09.gbapal" + .incbin "data/tilesets/primary/building/palettes/10.gbapal" + .incbin "data/tilesets/primary/building/palettes/11.gbapal" + .incbin "data/tilesets/primary/building/palettes/12.gbapal" + .incbin "data/tilesets/primary/building/palettes/13.gbapal" + .incbin "data/tilesets/primary/building/palettes/14.gbapal" + .incbin "data/tilesets/primary/building/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Mart:: @ 8277894 + .incbin "data/tilesets/secondary/mart/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Mart:: @ 8277A5C + .incbin "data/tilesets/secondary/mart/palettes/00.gbapal" + .incbin "data/tilesets/secondary/mart/palettes/01.gbapal" + .incbin "data/tilesets/secondary/mart/palettes/02.gbapal" + .incbin "data/tilesets/secondary/mart/palettes/03.gbapal" + .incbin "data/tilesets/secondary/mart/palettes/04.gbapal" + .incbin "data/tilesets/secondary/mart/palettes/05.gbapal" + .incbin "data/tilesets/secondary/mart/palettes/06.gbapal" + .incbin "data/tilesets/secondary/mart/palettes/07.gbapal" + .incbin "data/tilesets/secondary/mart/palettes/08.gbapal" + .incbin "data/tilesets/secondary/mart/palettes/09.gbapal" + .incbin "data/tilesets/secondary/mart/palettes/10.gbapal" + .incbin "data/tilesets/secondary/mart/palettes/11.gbapal" + .incbin "data/tilesets/secondary/mart/palettes/12.gbapal" + .incbin "data/tilesets/secondary/mart/palettes/13.gbapal" + .incbin "data/tilesets/secondary/mart/palettes/14.gbapal" + .incbin "data/tilesets/secondary/mart/palettes/15.gbapal" + + .align 2 +gTilesetTiles_PokemonCenter:: @ 8277C5C + .incbin "data/tilesets/secondary/pokemon_center/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_PokemonCenter:: @ 8278CC4 + .incbin "data/tilesets/secondary/pokemon_center/palettes/00.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/01.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/02.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/03.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/04.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/05.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/06.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/07.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/08.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/09.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/10.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/11.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/12.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/13.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/14.gbapal" + .incbin "data/tilesets/secondary/pokemon_center/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Cave:: @ 8278EC4 + .incbin "data/tilesets/secondary/cave/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Cave:: @ 827A1A8 + .incbin "data/tilesets/secondary/cave/palettes/00.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/01.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/02.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/03.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/04.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/05.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/06.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/07.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/08.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/09.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/10.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/11.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/12.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/13.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/14.gbapal" + .incbin "data/tilesets/secondary/cave/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Dummy1:: @ 827A3A8 + .incbin "data/tilesets/secondary/dummy1/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Dummy1:: @ 827A3B8 + .incbin "data/tilesets/secondary/dummy1/palettes/00.gbapal" + .incbin "data/tilesets/secondary/dummy1/palettes/01.gbapal" + .incbin "data/tilesets/secondary/dummy1/palettes/02.gbapal" + .incbin "data/tilesets/secondary/dummy1/palettes/03.gbapal" + .incbin "data/tilesets/secondary/dummy1/palettes/04.gbapal" + .incbin "data/tilesets/secondary/dummy1/palettes/05.gbapal" + .incbin "data/tilesets/secondary/dummy1/palettes/06.gbapal" + .incbin "data/tilesets/secondary/dummy1/palettes/07.gbapal" + .incbin "data/tilesets/secondary/dummy1/palettes/08.gbapal" + .incbin "data/tilesets/secondary/dummy1/palettes/09.gbapal" + .incbin "data/tilesets/secondary/dummy1/palettes/10.gbapal" + .incbin "data/tilesets/secondary/dummy1/palettes/11.gbapal" + .incbin "data/tilesets/secondary/dummy1/palettes/12.gbapal" + .incbin "data/tilesets/secondary/dummy1/palettes/13.gbapal" + .incbin "data/tilesets/secondary/dummy1/palettes/14.gbapal" + .incbin "data/tilesets/secondary/dummy1/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Museum:: @ 827A5B8 + .incbin "data/tilesets/secondary/museum/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Museum:: @ 827AE14 + .incbin "data/tilesets/secondary/museum/palettes/00.gbapal" + .incbin "data/tilesets/secondary/museum/palettes/01.gbapal" + .incbin "data/tilesets/secondary/museum/palettes/02.gbapal" + .incbin "data/tilesets/secondary/museum/palettes/03.gbapal" + .incbin "data/tilesets/secondary/museum/palettes/04.gbapal" + .incbin "data/tilesets/secondary/museum/palettes/05.gbapal" + .incbin "data/tilesets/secondary/museum/palettes/06.gbapal" + .incbin "data/tilesets/secondary/museum/palettes/07.gbapal" + .incbin "data/tilesets/secondary/museum/palettes/08.gbapal" + .incbin "data/tilesets/secondary/museum/palettes/09.gbapal" + .incbin "data/tilesets/secondary/museum/palettes/10.gbapal" + .incbin "data/tilesets/secondary/museum/palettes/11.gbapal" + .incbin "data/tilesets/secondary/museum/palettes/12.gbapal" + .incbin "data/tilesets/secondary/museum/palettes/13.gbapal" + .incbin "data/tilesets/secondary/museum/palettes/14.gbapal" + .incbin "data/tilesets/secondary/museum/palettes/15.gbapal" + + .align 2 +gTilesetTiles_CableClub:: @ 827B014 + .incbin "data/tilesets/secondary/cable_club/tiles.4bpp" + + .align 2 +gTilesetPalettes_CableClub:: @ 827FF14 + .incbin "data/tilesets/secondary/cable_club/palettes/00.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/01.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/02.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/03.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/04.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/05.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/06.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/07.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/08.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/09.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/10.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/11.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/12.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/13.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/14.gbapal" + .incbin "data/tilesets/secondary/cable_club/palettes/15.gbapal" + + .align 2 +gTilesetTiles_BikeShop:: @ 8280114 + .incbin "data/tilesets/secondary/bike_shop/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_BikeShop:: @ 82804EC + .incbin "data/tilesets/secondary/bike_shop/palettes/00.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/01.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/02.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/03.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/04.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/05.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/06.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/07.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/08.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/09.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/10.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/11.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/12.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/13.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/14.gbapal" + .incbin "data/tilesets/secondary/bike_shop/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Lab:: @ 82806EC + .incbin "data/tilesets/secondary/lab/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Lab:: @ 8280D00 + .incbin "data/tilesets/secondary/lab/palettes/00.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/01.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/02.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/03.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/04.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/05.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/06.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/07.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/08.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/09.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/10.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/11.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/12.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/13.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/14.gbapal" + .incbin "data/tilesets/secondary/lab/palettes/15.gbapal" + + .align 2 +gTilesetTiles_HoennBuilding:: @ 8280F00 + .incbin "data/tilesets/secondary/hoenn_building/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_HoennBuilding:: @ 82823A4 + .incbin "data/tilesets/secondary/hoenn_building/palettes/00.gbapal" + .incbin "data/tilesets/secondary/hoenn_building/palettes/01.gbapal" + .incbin "data/tilesets/secondary/hoenn_building/palettes/02.gbapal" + .incbin "data/tilesets/secondary/hoenn_building/palettes/03.gbapal" + .incbin "data/tilesets/secondary/hoenn_building/palettes/04.gbapal" + .incbin "data/tilesets/secondary/hoenn_building/palettes/05.gbapal" + .incbin "data/tilesets/secondary/hoenn_building/palettes/06.gbapal" + .incbin "data/tilesets/secondary/hoenn_building/palettes/07.gbapal" + .incbin "data/tilesets/secondary/hoenn_building/palettes/08.gbapal" + .incbin "data/tilesets/secondary/hoenn_building/palettes/09.gbapal" + .incbin "data/tilesets/secondary/hoenn_building/palettes/10.gbapal" + .incbin "data/tilesets/secondary/hoenn_building/palettes/11.gbapal" + .incbin "data/tilesets/secondary/hoenn_building/palettes/12.gbapal" + .incbin "data/tilesets/secondary/hoenn_building/palettes/13.gbapal" + .incbin "data/tilesets/secondary/hoenn_building/palettes/14.gbapal" + .incbin "data/tilesets/secondary/hoenn_building/palettes/15.gbapal" + + .align 2 +gTilesetTiles_GameCorner:: @ 82825A4 + .incbin "data/tilesets/secondary/game_corner/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_GameCorner:: @ 8282FBC + .incbin "data/tilesets/secondary/game_corner/palettes/00.gbapal" + .incbin "data/tilesets/secondary/game_corner/palettes/01.gbapal" + .incbin "data/tilesets/secondary/game_corner/palettes/02.gbapal" + .incbin "data/tilesets/secondary/game_corner/palettes/03.gbapal" + .incbin "data/tilesets/secondary/game_corner/palettes/04.gbapal" + .incbin "data/tilesets/secondary/game_corner/palettes/05.gbapal" + .incbin "data/tilesets/secondary/game_corner/palettes/06.gbapal" + .incbin "data/tilesets/secondary/game_corner/palettes/07.gbapal" + .incbin "data/tilesets/secondary/game_corner/palettes/08.gbapal" + .incbin "data/tilesets/secondary/game_corner/palettes/09.gbapal" + .incbin "data/tilesets/secondary/game_corner/palettes/10.gbapal" + .incbin "data/tilesets/secondary/game_corner/palettes/11.gbapal" + .incbin "data/tilesets/secondary/game_corner/palettes/12.gbapal" + .incbin "data/tilesets/secondary/game_corner/palettes/13.gbapal" + .incbin "data/tilesets/secondary/game_corner/palettes/14.gbapal" + .incbin "data/tilesets/secondary/game_corner/palettes/15.gbapal" + + .align 2 +gTilesetTiles_PewterGym:: @ 82831BC + .incbin "data/tilesets/secondary/pewter_gym/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_PewterGym:: @ 82839B0 + .incbin "data/tilesets/secondary/pewter_gym/palettes/00.gbapal" + .incbin "data/tilesets/secondary/pewter_gym/palettes/01.gbapal" + .incbin "data/tilesets/secondary/pewter_gym/palettes/02.gbapal" + .incbin "data/tilesets/secondary/pewter_gym/palettes/03.gbapal" + .incbin "data/tilesets/secondary/pewter_gym/palettes/04.gbapal" + .incbin "data/tilesets/secondary/pewter_gym/palettes/05.gbapal" + .incbin "data/tilesets/secondary/pewter_gym/palettes/06.gbapal" + .incbin "data/tilesets/secondary/pewter_gym/palettes/07.gbapal" + .incbin "data/tilesets/secondary/pewter_gym/palettes/08.gbapal" + .incbin "data/tilesets/secondary/pewter_gym/palettes/09.gbapal" + .incbin "data/tilesets/secondary/pewter_gym/palettes/10.gbapal" + .incbin "data/tilesets/secondary/pewter_gym/palettes/11.gbapal" + .incbin "data/tilesets/secondary/pewter_gym/palettes/12.gbapal" + .incbin "data/tilesets/secondary/pewter_gym/palettes/13.gbapal" + .incbin "data/tilesets/secondary/pewter_gym/palettes/14.gbapal" + .incbin "data/tilesets/secondary/pewter_gym/palettes/15.gbapal" + + .align 2 +gTilesetTiles_CeruleanGym:: @ 8283BB0 + .incbin "data/tilesets/secondary/cerulean_gym/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_CeruleanGym:: @ 8283FF8 + .incbin "data/tilesets/secondary/cerulean_gym/palettes/00.gbapal" + .incbin "data/tilesets/secondary/cerulean_gym/palettes/01.gbapal" + .incbin "data/tilesets/secondary/cerulean_gym/palettes/02.gbapal" + .incbin "data/tilesets/secondary/cerulean_gym/palettes/03.gbapal" + .incbin "data/tilesets/secondary/cerulean_gym/palettes/04.gbapal" + .incbin "data/tilesets/secondary/cerulean_gym/palettes/05.gbapal" + .incbin "data/tilesets/secondary/cerulean_gym/palettes/06.gbapal" + .incbin "data/tilesets/secondary/cerulean_gym/palettes/07.gbapal" + .incbin "data/tilesets/secondary/cerulean_gym/palettes/08.gbapal" + .incbin "data/tilesets/secondary/cerulean_gym/palettes/09.gbapal" + .incbin "data/tilesets/secondary/cerulean_gym/palettes/10.gbapal" + .incbin "data/tilesets/secondary/cerulean_gym/palettes/11.gbapal" + .incbin "data/tilesets/secondary/cerulean_gym/palettes/12.gbapal" + .incbin "data/tilesets/secondary/cerulean_gym/palettes/13.gbapal" + .incbin "data/tilesets/secondary/cerulean_gym/palettes/14.gbapal" + .incbin "data/tilesets/secondary/cerulean_gym/palettes/15.gbapal" + + .align 2 +gTilesetTiles_VermilionGym:: @ 82841F8 + .incbin "data/tilesets/secondary/vermilion_gym/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_VermilionGym:: @ 82849B8 + .incbin "data/tilesets/secondary/vermilion_gym/palettes/00.gbapal" + .incbin "data/tilesets/secondary/vermilion_gym/palettes/01.gbapal" + .incbin "data/tilesets/secondary/vermilion_gym/palettes/02.gbapal" + .incbin "data/tilesets/secondary/vermilion_gym/palettes/03.gbapal" + .incbin "data/tilesets/secondary/vermilion_gym/palettes/04.gbapal" + .incbin "data/tilesets/secondary/vermilion_gym/palettes/05.gbapal" + .incbin "data/tilesets/secondary/vermilion_gym/palettes/06.gbapal" + .incbin "data/tilesets/secondary/vermilion_gym/palettes/07.gbapal" + .incbin "data/tilesets/secondary/vermilion_gym/palettes/08.gbapal" + .incbin "data/tilesets/secondary/vermilion_gym/palettes/09.gbapal" + .incbin "data/tilesets/secondary/vermilion_gym/palettes/10.gbapal" + .incbin "data/tilesets/secondary/vermilion_gym/palettes/11.gbapal" + .incbin "data/tilesets/secondary/vermilion_gym/palettes/12.gbapal" + .incbin "data/tilesets/secondary/vermilion_gym/palettes/13.gbapal" + .incbin "data/tilesets/secondary/vermilion_gym/palettes/14.gbapal" + .incbin "data/tilesets/secondary/vermilion_gym/palettes/15.gbapal" + + .align 2 +gTilesetTiles_CeladonGym:: @ 8284BB8 + .incbin "data/tilesets/secondary/celadon_gym/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_CeladonGym:: @ 8285150 + .incbin "data/tilesets/secondary/celadon_gym/palettes/00.gbapal" + .incbin "data/tilesets/secondary/celadon_gym/palettes/01.gbapal" + .incbin "data/tilesets/secondary/celadon_gym/palettes/02.gbapal" + .incbin "data/tilesets/secondary/celadon_gym/palettes/03.gbapal" + .incbin "data/tilesets/secondary/celadon_gym/palettes/04.gbapal" + .incbin "data/tilesets/secondary/celadon_gym/palettes/05.gbapal" + .incbin "data/tilesets/secondary/celadon_gym/palettes/06.gbapal" + .incbin "data/tilesets/secondary/celadon_gym/palettes/07.gbapal" + .incbin "data/tilesets/secondary/celadon_gym/palettes/08.gbapal" + .incbin "data/tilesets/secondary/celadon_gym/palettes/09.gbapal" + .incbin "data/tilesets/secondary/celadon_gym/palettes/10.gbapal" + .incbin "data/tilesets/secondary/celadon_gym/palettes/11.gbapal" + .incbin "data/tilesets/secondary/celadon_gym/palettes/12.gbapal" + .incbin "data/tilesets/secondary/celadon_gym/palettes/13.gbapal" + .incbin "data/tilesets/secondary/celadon_gym/palettes/14.gbapal" + .incbin "data/tilesets/secondary/celadon_gym/palettes/15.gbapal" + + .align 2 +gTilesetTiles_FuchsiaGym:: @ 8285350 + .incbin "data/tilesets/secondary/fuchsia_gym/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_FuchsiaGym:: @ 82857A4 + .incbin "data/tilesets/secondary/fuchsia_gym/palettes/00.gbapal" + .incbin "data/tilesets/secondary/fuchsia_gym/palettes/01.gbapal" + .incbin "data/tilesets/secondary/fuchsia_gym/palettes/02.gbapal" + .incbin "data/tilesets/secondary/fuchsia_gym/palettes/03.gbapal" + .incbin "data/tilesets/secondary/fuchsia_gym/palettes/04.gbapal" + .incbin "data/tilesets/secondary/fuchsia_gym/palettes/05.gbapal" + .incbin "data/tilesets/secondary/fuchsia_gym/palettes/06.gbapal" + .incbin "data/tilesets/secondary/fuchsia_gym/palettes/07.gbapal" + .incbin "data/tilesets/secondary/fuchsia_gym/palettes/08.gbapal" + .incbin "data/tilesets/secondary/fuchsia_gym/palettes/09.gbapal" + .incbin "data/tilesets/secondary/fuchsia_gym/palettes/10.gbapal" + .incbin "data/tilesets/secondary/fuchsia_gym/palettes/11.gbapal" + .incbin "data/tilesets/secondary/fuchsia_gym/palettes/12.gbapal" + .incbin "data/tilesets/secondary/fuchsia_gym/palettes/13.gbapal" + .incbin "data/tilesets/secondary/fuchsia_gym/palettes/14.gbapal" + .incbin "data/tilesets/secondary/fuchsia_gym/palettes/15.gbapal" + + .align 2 +gTilesetTiles_SaffronGym:: @ 82859A4 + .incbin "data/tilesets/secondary/saffron_gym/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_SaffronGym:: @ 8285D90 + .incbin "data/tilesets/secondary/saffron_gym/palettes/00.gbapal" + .incbin "data/tilesets/secondary/saffron_gym/palettes/01.gbapal" + .incbin "data/tilesets/secondary/saffron_gym/palettes/02.gbapal" + .incbin "data/tilesets/secondary/saffron_gym/palettes/03.gbapal" + .incbin "data/tilesets/secondary/saffron_gym/palettes/04.gbapal" + .incbin "data/tilesets/secondary/saffron_gym/palettes/05.gbapal" + .incbin "data/tilesets/secondary/saffron_gym/palettes/06.gbapal" + .incbin "data/tilesets/secondary/saffron_gym/palettes/07.gbapal" + .incbin "data/tilesets/secondary/saffron_gym/palettes/08.gbapal" + .incbin "data/tilesets/secondary/saffron_gym/palettes/09.gbapal" + .incbin "data/tilesets/secondary/saffron_gym/palettes/10.gbapal" + .incbin "data/tilesets/secondary/saffron_gym/palettes/11.gbapal" + .incbin "data/tilesets/secondary/saffron_gym/palettes/12.gbapal" + .incbin "data/tilesets/secondary/saffron_gym/palettes/13.gbapal" + .incbin "data/tilesets/secondary/saffron_gym/palettes/14.gbapal" + .incbin "data/tilesets/secondary/saffron_gym/palettes/15.gbapal" + + .align 2 +gTilesetTiles_CinnabarGym:: @ 8285F90 + .incbin "data/tilesets/secondary/cinnabar_gym/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_CinnabarGym:: @ 82865D4 + .incbin "data/tilesets/secondary/cinnabar_gym/palettes/00.gbapal" + .incbin "data/tilesets/secondary/cinnabar_gym/palettes/01.gbapal" + .incbin "data/tilesets/secondary/cinnabar_gym/palettes/02.gbapal" + .incbin "data/tilesets/secondary/cinnabar_gym/palettes/03.gbapal" + .incbin "data/tilesets/secondary/cinnabar_gym/palettes/04.gbapal" + .incbin "data/tilesets/secondary/cinnabar_gym/palettes/05.gbapal" + .incbin "data/tilesets/secondary/cinnabar_gym/palettes/06.gbapal" + .incbin "data/tilesets/secondary/cinnabar_gym/palettes/07.gbapal" + .incbin "data/tilesets/secondary/cinnabar_gym/palettes/08.gbapal" + .incbin "data/tilesets/secondary/cinnabar_gym/palettes/09.gbapal" + .incbin "data/tilesets/secondary/cinnabar_gym/palettes/10.gbapal" + .incbin "data/tilesets/secondary/cinnabar_gym/palettes/11.gbapal" + .incbin "data/tilesets/secondary/cinnabar_gym/palettes/12.gbapal" + .incbin "data/tilesets/secondary/cinnabar_gym/palettes/13.gbapal" + .incbin "data/tilesets/secondary/cinnabar_gym/palettes/14.gbapal" + .incbin "data/tilesets/secondary/cinnabar_gym/palettes/15.gbapal" + + .align 2 +gTilesetTiles_ViridianGym:: @ 82867D4 + .incbin "data/tilesets/secondary/viridian_gym/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_ViridianGym:: @ 8286BC8 + .incbin "data/tilesets/secondary/viridian_gym/palettes/00.gbapal" + .incbin "data/tilesets/secondary/viridian_gym/palettes/01.gbapal" + .incbin "data/tilesets/secondary/viridian_gym/palettes/02.gbapal" + .incbin "data/tilesets/secondary/viridian_gym/palettes/03.gbapal" + .incbin "data/tilesets/secondary/viridian_gym/palettes/04.gbapal" + .incbin "data/tilesets/secondary/viridian_gym/palettes/05.gbapal" + .incbin "data/tilesets/secondary/viridian_gym/palettes/06.gbapal" + .incbin "data/tilesets/secondary/viridian_gym/palettes/07.gbapal" + .incbin "data/tilesets/secondary/viridian_gym/palettes/08.gbapal" + .incbin "data/tilesets/secondary/viridian_gym/palettes/09.gbapal" + .incbin "data/tilesets/secondary/viridian_gym/palettes/10.gbapal" + .incbin "data/tilesets/secondary/viridian_gym/palettes/11.gbapal" + .incbin "data/tilesets/secondary/viridian_gym/palettes/12.gbapal" + .incbin "data/tilesets/secondary/viridian_gym/palettes/13.gbapal" + .incbin "data/tilesets/secondary/viridian_gym/palettes/14.gbapal" + .incbin "data/tilesets/secondary/viridian_gym/palettes/15.gbapal" + + .align 2 +gTilesetTiles_SSAnne:: @ 8286DC8 + .incbin "data/tilesets/secondary/ss_anne/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_SSAnne:: @ 8287B80 + .incbin "data/tilesets/secondary/ss_anne/palettes/00.gbapal" + .incbin "data/tilesets/secondary/ss_anne/palettes/01.gbapal" + .incbin "data/tilesets/secondary/ss_anne/palettes/02.gbapal" + .incbin "data/tilesets/secondary/ss_anne/palettes/03.gbapal" + .incbin "data/tilesets/secondary/ss_anne/palettes/04.gbapal" + .incbin "data/tilesets/secondary/ss_anne/palettes/05.gbapal" + .incbin "data/tilesets/secondary/ss_anne/palettes/06.gbapal" + .incbin "data/tilesets/secondary/ss_anne/palettes/07.gbapal" + .incbin "data/tilesets/secondary/ss_anne/palettes/08.gbapal" + .incbin "data/tilesets/secondary/ss_anne/palettes/09.gbapal" + .incbin "data/tilesets/secondary/ss_anne/palettes/10.gbapal" + .incbin "data/tilesets/secondary/ss_anne/palettes/11.gbapal" + .incbin "data/tilesets/secondary/ss_anne/palettes/12.gbapal" + .incbin "data/tilesets/secondary/ss_anne/palettes/13.gbapal" + .incbin "data/tilesets/secondary/ss_anne/palettes/14.gbapal" + .incbin "data/tilesets/secondary/ss_anne/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Dummy2:: @ 8287D80 + .incbin "data/tilesets/secondary/dummy2/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Dummy2:: @ 8287D94 + .incbin "data/tilesets/secondary/dummy2/palettes/00.gbapal" + .incbin "data/tilesets/secondary/dummy2/palettes/01.gbapal" + .incbin "data/tilesets/secondary/dummy2/palettes/02.gbapal" + .incbin "data/tilesets/secondary/dummy2/palettes/03.gbapal" + .incbin "data/tilesets/secondary/dummy2/palettes/04.gbapal" + .incbin "data/tilesets/secondary/dummy2/palettes/05.gbapal" + .incbin "data/tilesets/secondary/dummy2/palettes/06.gbapal" + .incbin "data/tilesets/secondary/dummy2/palettes/07.gbapal" + .incbin "data/tilesets/secondary/dummy2/palettes/08.gbapal" + .incbin "data/tilesets/secondary/dummy2/palettes/09.gbapal" + .incbin "data/tilesets/secondary/dummy2/palettes/10.gbapal" + .incbin "data/tilesets/secondary/dummy2/palettes/11.gbapal" + .incbin "data/tilesets/secondary/dummy2/palettes/12.gbapal" + .incbin "data/tilesets/secondary/dummy2/palettes/13.gbapal" + .incbin "data/tilesets/secondary/dummy2/palettes/14.gbapal" + .incbin "data/tilesets/secondary/dummy2/palettes/15.gbapal" + + .align 2 +gTilesetTiles_ViridianForest:: @ 8287F94 + .incbin "data/tilesets/secondary/viridian_forest/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_ViridianForest:: @ 8288444 + .incbin "data/tilesets/secondary/viridian_forest/palettes/00.gbapal" + .incbin "data/tilesets/secondary/viridian_forest/palettes/01.gbapal" + .incbin "data/tilesets/secondary/viridian_forest/palettes/02.gbapal" + .incbin "data/tilesets/secondary/viridian_forest/palettes/03.gbapal" + .incbin "data/tilesets/secondary/viridian_forest/palettes/04.gbapal" + .incbin "data/tilesets/secondary/viridian_forest/palettes/05.gbapal" + .incbin "data/tilesets/secondary/viridian_forest/palettes/06.gbapal" + .incbin "data/tilesets/secondary/viridian_forest/palettes/07.gbapal" + .incbin "data/tilesets/secondary/viridian_forest/palettes/08.gbapal" + .incbin "data/tilesets/secondary/viridian_forest/palettes/09.gbapal" + .incbin "data/tilesets/secondary/viridian_forest/palettes/10.gbapal" + .incbin "data/tilesets/secondary/viridian_forest/palettes/11.gbapal" + .incbin "data/tilesets/secondary/viridian_forest/palettes/12.gbapal" + .incbin "data/tilesets/secondary/viridian_forest/palettes/13.gbapal" + .incbin "data/tilesets/secondary/viridian_forest/palettes/14.gbapal" + .incbin "data/tilesets/secondary/viridian_forest/palettes/15.gbapal" + + .align 2 +gTilesetTiles_UnusedGatehouse1:: @ 8288644 + .incbin "data/tilesets/secondary/unused_gatehouse1/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_UnusedGatehouse1:: @ 8288C60 + .incbin "data/tilesets/secondary/unused_gatehouse1/palettes/00.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse1/palettes/01.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse1/palettes/02.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse1/palettes/03.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse1/palettes/04.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse1/palettes/05.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse1/palettes/06.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse1/palettes/07.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse1/palettes/08.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse1/palettes/09.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse1/palettes/10.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse1/palettes/11.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse1/palettes/12.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse1/palettes/13.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse1/palettes/14.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse1/palettes/15.gbapal" + + .align 2 +gTilesetTiles_RockTunnel:: @ 8288E60 + .incbin "data/tilesets/secondary/rock_tunnel/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_RockTunnel:: @ 8289FC8 + .incbin "data/tilesets/secondary/rock_tunnel/palettes/00.gbapal" + .incbin "data/tilesets/secondary/rock_tunnel/palettes/01.gbapal" + .incbin "data/tilesets/secondary/rock_tunnel/palettes/02.gbapal" + .incbin "data/tilesets/secondary/rock_tunnel/palettes/03.gbapal" + .incbin "data/tilesets/secondary/rock_tunnel/palettes/04.gbapal" + .incbin "data/tilesets/secondary/rock_tunnel/palettes/05.gbapal" + .incbin "data/tilesets/secondary/rock_tunnel/palettes/06.gbapal" + .incbin "data/tilesets/secondary/rock_tunnel/palettes/07.gbapal" + .incbin "data/tilesets/secondary/rock_tunnel/palettes/08.gbapal" + .incbin "data/tilesets/secondary/rock_tunnel/palettes/09.gbapal" + .incbin "data/tilesets/secondary/rock_tunnel/palettes/10.gbapal" + .incbin "data/tilesets/secondary/rock_tunnel/palettes/11.gbapal" + .incbin "data/tilesets/secondary/rock_tunnel/palettes/12.gbapal" + .incbin "data/tilesets/secondary/rock_tunnel/palettes/13.gbapal" + .incbin "data/tilesets/secondary/rock_tunnel/palettes/14.gbapal" + .incbin "data/tilesets/secondary/rock_tunnel/palettes/15.gbapal" + + .align 2 +gTilesetTiles_DiglettsCave:: @ 828A1C8 + .incbin "data/tilesets/secondary/digletts_cave/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_DiglettsCave:: @ 828B250 + .incbin "data/tilesets/secondary/digletts_cave/palettes/00.gbapal" + .incbin "data/tilesets/secondary/digletts_cave/palettes/01.gbapal" + .incbin "data/tilesets/secondary/digletts_cave/palettes/02.gbapal" + .incbin "data/tilesets/secondary/digletts_cave/palettes/03.gbapal" + .incbin "data/tilesets/secondary/digletts_cave/palettes/04.gbapal" + .incbin "data/tilesets/secondary/digletts_cave/palettes/05.gbapal" + .incbin "data/tilesets/secondary/digletts_cave/palettes/06.gbapal" + .incbin "data/tilesets/secondary/digletts_cave/palettes/07.gbapal" + .incbin "data/tilesets/secondary/digletts_cave/palettes/08.gbapal" + .incbin "data/tilesets/secondary/digletts_cave/palettes/09.gbapal" + .incbin "data/tilesets/secondary/digletts_cave/palettes/10.gbapal" + .incbin "data/tilesets/secondary/digletts_cave/palettes/11.gbapal" + .incbin "data/tilesets/secondary/digletts_cave/palettes/12.gbapal" + .incbin "data/tilesets/secondary/digletts_cave/palettes/13.gbapal" + .incbin "data/tilesets/secondary/digletts_cave/palettes/14.gbapal" + .incbin "data/tilesets/secondary/digletts_cave/palettes/15.gbapal" + + .align 2 +gTilesetTiles_SeafoamIslands:: @ 828B450 + .incbin "data/tilesets/secondary/seafoam_islands/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_SeafoamIslands:: @ 828CAA0 + .incbin "data/tilesets/secondary/seafoam_islands/palettes/00.gbapal" + .incbin "data/tilesets/secondary/seafoam_islands/palettes/01.gbapal" + .incbin "data/tilesets/secondary/seafoam_islands/palettes/02.gbapal" + .incbin "data/tilesets/secondary/seafoam_islands/palettes/03.gbapal" + .incbin "data/tilesets/secondary/seafoam_islands/palettes/04.gbapal" + .incbin "data/tilesets/secondary/seafoam_islands/palettes/05.gbapal" + .incbin "data/tilesets/secondary/seafoam_islands/palettes/06.gbapal" + .incbin "data/tilesets/secondary/seafoam_islands/palettes/07.gbapal" + .incbin "data/tilesets/secondary/seafoam_islands/palettes/08.gbapal" + .incbin "data/tilesets/secondary/seafoam_islands/palettes/09.gbapal" + .incbin "data/tilesets/secondary/seafoam_islands/palettes/10.gbapal" + .incbin "data/tilesets/secondary/seafoam_islands/palettes/11.gbapal" + .incbin "data/tilesets/secondary/seafoam_islands/palettes/12.gbapal" + .incbin "data/tilesets/secondary/seafoam_islands/palettes/13.gbapal" + .incbin "data/tilesets/secondary/seafoam_islands/palettes/14.gbapal" + .incbin "data/tilesets/secondary/seafoam_islands/palettes/15.gbapal" + + .align 2 +gTilesetTiles_UnusedGatehouse2:: @ 828CCA0 + .incbin "data/tilesets/secondary/unused_gatehouse2/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_UnusedGatehouse2:: @ 828D2BC + .incbin "data/tilesets/secondary/unused_gatehouse2/palettes/00.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse2/palettes/01.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse2/palettes/02.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse2/palettes/03.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse2/palettes/04.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse2/palettes/05.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse2/palettes/06.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse2/palettes/07.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse2/palettes/08.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse2/palettes/09.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse2/palettes/10.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse2/palettes/11.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse2/palettes/12.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse2/palettes/13.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse2/palettes/14.gbapal" + .incbin "data/tilesets/secondary/unused_gatehouse2/palettes/15.gbapal" + + .align 2 +gTilesetTiles_CeruleanCave:: @ 828D4BC + .incbin "data/tilesets/secondary/cerulean_cave/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_CeruleanCave:: @ 828E3A4 + .incbin "data/tilesets/secondary/cerulean_cave/palettes/00.gbapal" + .incbin "data/tilesets/secondary/cerulean_cave/palettes/01.gbapal" + .incbin "data/tilesets/secondary/cerulean_cave/palettes/02.gbapal" + .incbin "data/tilesets/secondary/cerulean_cave/palettes/03.gbapal" + .incbin "data/tilesets/secondary/cerulean_cave/palettes/04.gbapal" + .incbin "data/tilesets/secondary/cerulean_cave/palettes/05.gbapal" + .incbin "data/tilesets/secondary/cerulean_cave/palettes/06.gbapal" + .incbin "data/tilesets/secondary/cerulean_cave/palettes/07.gbapal" + .incbin "data/tilesets/secondary/cerulean_cave/palettes/08.gbapal" + .incbin "data/tilesets/secondary/cerulean_cave/palettes/09.gbapal" + .incbin "data/tilesets/secondary/cerulean_cave/palettes/10.gbapal" + .incbin "data/tilesets/secondary/cerulean_cave/palettes/11.gbapal" + .incbin "data/tilesets/secondary/cerulean_cave/palettes/12.gbapal" + .incbin "data/tilesets/secondary/cerulean_cave/palettes/13.gbapal" + .incbin "data/tilesets/secondary/cerulean_cave/palettes/14.gbapal" + .incbin "data/tilesets/secondary/cerulean_cave/palettes/15.gbapal" + + .align 2 +gTilesetTiles_GenericBuilding2:: @ 828E5A4 + .incbin "data/tilesets/secondary/generic_building2/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_GenericBuilding2:: @ 828EC70 + .incbin "data/tilesets/secondary/generic_building2/palettes/00.gbapal" + .incbin "data/tilesets/secondary/generic_building2/palettes/01.gbapal" + .incbin "data/tilesets/secondary/generic_building2/palettes/02.gbapal" + .incbin "data/tilesets/secondary/generic_building2/palettes/03.gbapal" + .incbin "data/tilesets/secondary/generic_building2/palettes/04.gbapal" + .incbin "data/tilesets/secondary/generic_building2/palettes/05.gbapal" + .incbin "data/tilesets/secondary/generic_building2/palettes/06.gbapal" + .incbin "data/tilesets/secondary/generic_building2/palettes/07.gbapal" + .incbin "data/tilesets/secondary/generic_building2/palettes/08.gbapal" + .incbin "data/tilesets/secondary/generic_building2/palettes/09.gbapal" + .incbin "data/tilesets/secondary/generic_building2/palettes/10.gbapal" + .incbin "data/tilesets/secondary/generic_building2/palettes/11.gbapal" + .incbin "data/tilesets/secondary/generic_building2/palettes/12.gbapal" + .incbin "data/tilesets/secondary/generic_building2/palettes/13.gbapal" + .incbin "data/tilesets/secondary/generic_building2/palettes/14.gbapal" + .incbin "data/tilesets/secondary/generic_building2/palettes/15.gbapal" + + .align 2 +gTilesetTiles_PowerPlant:: @ 828EE70 + .incbin "data/tilesets/secondary/power_plant/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_PowerPlant:: @ 828F378 + .incbin "data/tilesets/secondary/power_plant/palettes/00.gbapal" + .incbin "data/tilesets/secondary/power_plant/palettes/01.gbapal" + .incbin "data/tilesets/secondary/power_plant/palettes/02.gbapal" + .incbin "data/tilesets/secondary/power_plant/palettes/03.gbapal" + .incbin "data/tilesets/secondary/power_plant/palettes/04.gbapal" + .incbin "data/tilesets/secondary/power_plant/palettes/05.gbapal" + .incbin "data/tilesets/secondary/power_plant/palettes/06.gbapal" + .incbin "data/tilesets/secondary/power_plant/palettes/07.gbapal" + .incbin "data/tilesets/secondary/power_plant/palettes/08.gbapal" + .incbin "data/tilesets/secondary/power_plant/palettes/09.gbapal" + .incbin "data/tilesets/secondary/power_plant/palettes/10.gbapal" + .incbin "data/tilesets/secondary/power_plant/palettes/11.gbapal" + .incbin "data/tilesets/secondary/power_plant/palettes/12.gbapal" + .incbin "data/tilesets/secondary/power_plant/palettes/13.gbapal" + .incbin "data/tilesets/secondary/power_plant/palettes/14.gbapal" + .incbin "data/tilesets/secondary/power_plant/palettes/15.gbapal" + + .align 2 +gTilesetTiles_SeaCottage:: @ 828F578 + .incbin "data/tilesets/secondary/sea_cottage/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_SeaCottage:: @ 828F9D8 + .incbin "data/tilesets/secondary/sea_cottage/palettes/00.gbapal" + .incbin "data/tilesets/secondary/sea_cottage/palettes/01.gbapal" + .incbin "data/tilesets/secondary/sea_cottage/palettes/02.gbapal" + .incbin "data/tilesets/secondary/sea_cottage/palettes/03.gbapal" + .incbin "data/tilesets/secondary/sea_cottage/palettes/04.gbapal" + .incbin "data/tilesets/secondary/sea_cottage/palettes/05.gbapal" + .incbin "data/tilesets/secondary/sea_cottage/palettes/06.gbapal" + .incbin "data/tilesets/secondary/sea_cottage/palettes/07.gbapal" + .incbin "data/tilesets/secondary/sea_cottage/palettes/08.gbapal" + .incbin "data/tilesets/secondary/sea_cottage/palettes/09.gbapal" + .incbin "data/tilesets/secondary/sea_cottage/palettes/10.gbapal" + .incbin "data/tilesets/secondary/sea_cottage/palettes/11.gbapal" + .incbin "data/tilesets/secondary/sea_cottage/palettes/12.gbapal" + .incbin "data/tilesets/secondary/sea_cottage/palettes/13.gbapal" + .incbin "data/tilesets/secondary/sea_cottage/palettes/14.gbapal" + .incbin "data/tilesets/secondary/sea_cottage/palettes/15.gbapal" + + .align 2 +gTilesetTiles_SilphCo:: @ 828FBD8 + .incbin "data/tilesets/secondary/condominiums/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_SilphCo:: @ 8290DD0 + .incbin "data/tilesets/secondary/condominiums/palettes/00.gbapal" + .incbin "data/tilesets/secondary/condominiums/palettes/01.gbapal" + .incbin "data/tilesets/secondary/condominiums/palettes/02.gbapal" + .incbin "data/tilesets/secondary/condominiums/palettes/03.gbapal" + .incbin "data/tilesets/secondary/condominiums/palettes/04.gbapal" + .incbin "data/tilesets/secondary/condominiums/palettes/05.gbapal" + .incbin "data/tilesets/secondary/condominiums/palettes/06.gbapal" + .incbin "data/tilesets/secondary/condominiums/palettes/07.gbapal" + .incbin "data/tilesets/secondary/condominiums/palettes/08.gbapal" + .incbin "data/tilesets/secondary/condominiums/palettes/09.gbapal" + .incbin "data/tilesets/secondary/condominiums/palettes/10.gbapal" + .incbin "data/tilesets/secondary/condominiums/palettes/11.gbapal" + .incbin "data/tilesets/secondary/condominiums/palettes/12.gbapal" + .incbin "data/tilesets/secondary/condominiums/palettes/13.gbapal" + .incbin "data/tilesets/secondary/condominiums/palettes/14.gbapal" + .incbin "data/tilesets/secondary/condominiums/palettes/15.gbapal" + + .align 2 +gTilesetTiles_UndergroundPath:: @ 8290FD0 + .incbin "data/tilesets/secondary/underground_path/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_UndergroundPath:: @ 8291274 + .incbin "data/tilesets/secondary/underground_path/palettes/00.gbapal" + .incbin "data/tilesets/secondary/underground_path/palettes/01.gbapal" + .incbin "data/tilesets/secondary/underground_path/palettes/02.gbapal" + .incbin "data/tilesets/secondary/underground_path/palettes/03.gbapal" + .incbin "data/tilesets/secondary/underground_path/palettes/04.gbapal" + .incbin "data/tilesets/secondary/underground_path/palettes/05.gbapal" + .incbin "data/tilesets/secondary/underground_path/palettes/06.gbapal" + .incbin "data/tilesets/secondary/underground_path/palettes/07.gbapal" + .incbin "data/tilesets/secondary/underground_path/palettes/08.gbapal" + .incbin "data/tilesets/secondary/underground_path/palettes/09.gbapal" + .incbin "data/tilesets/secondary/underground_path/palettes/10.gbapal" + .incbin "data/tilesets/secondary/underground_path/palettes/11.gbapal" + .incbin "data/tilesets/secondary/underground_path/palettes/12.gbapal" + .incbin "data/tilesets/secondary/underground_path/palettes/13.gbapal" + .incbin "data/tilesets/secondary/underground_path/palettes/14.gbapal" + .incbin "data/tilesets/secondary/underground_path/palettes/15.gbapal" + + .align 2 +gTilesetTiles_PokemonTower:: @ 8291474 + .incbin "data/tilesets/secondary/pokemon_tower/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_PokemonTower:: @ 8291AFC + .incbin "data/tilesets/secondary/pokemon_tower/palettes/00.gbapal" + .incbin "data/tilesets/secondary/pokemon_tower/palettes/01.gbapal" + .incbin "data/tilesets/secondary/pokemon_tower/palettes/02.gbapal" + .incbin "data/tilesets/secondary/pokemon_tower/palettes/03.gbapal" + .incbin "data/tilesets/secondary/pokemon_tower/palettes/04.gbapal" + .incbin "data/tilesets/secondary/pokemon_tower/palettes/05.gbapal" + .incbin "data/tilesets/secondary/pokemon_tower/palettes/06.gbapal" + .incbin "data/tilesets/secondary/pokemon_tower/palettes/07.gbapal" + .incbin "data/tilesets/secondary/pokemon_tower/palettes/08.gbapal" + .incbin "data/tilesets/secondary/pokemon_tower/palettes/09.gbapal" + .incbin "data/tilesets/secondary/pokemon_tower/palettes/10.gbapal" + .incbin "data/tilesets/secondary/pokemon_tower/palettes/11.gbapal" + .incbin "data/tilesets/secondary/pokemon_tower/palettes/12.gbapal" + .incbin "data/tilesets/secondary/pokemon_tower/palettes/13.gbapal" + .incbin "data/tilesets/secondary/pokemon_tower/palettes/14.gbapal" + .incbin "data/tilesets/secondary/pokemon_tower/palettes/15.gbapal" + + .align 2 +gTilesetTiles_SafariZoneBuilding:: @ 8291CFC + .incbin "data/tilesets/secondary/safari_zone_building/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_SafariZoneBuilding:: @ 82920F0 + .incbin "data/tilesets/secondary/safari_zone_building/palettes/00.gbapal" + .incbin "data/tilesets/secondary/safari_zone_building/palettes/01.gbapal" + .incbin "data/tilesets/secondary/safari_zone_building/palettes/02.gbapal" + .incbin "data/tilesets/secondary/safari_zone_building/palettes/03.gbapal" + .incbin "data/tilesets/secondary/safari_zone_building/palettes/04.gbapal" + .incbin "data/tilesets/secondary/safari_zone_building/palettes/05.gbapal" + .incbin "data/tilesets/secondary/safari_zone_building/palettes/06.gbapal" + .incbin "data/tilesets/secondary/safari_zone_building/palettes/07.gbapal" + .incbin "data/tilesets/secondary/safari_zone_building/palettes/08.gbapal" + .incbin "data/tilesets/secondary/safari_zone_building/palettes/09.gbapal" + .incbin "data/tilesets/secondary/safari_zone_building/palettes/10.gbapal" + .incbin "data/tilesets/secondary/safari_zone_building/palettes/11.gbapal" + .incbin "data/tilesets/secondary/safari_zone_building/palettes/12.gbapal" + .incbin "data/tilesets/secondary/safari_zone_building/palettes/13.gbapal" + .incbin "data/tilesets/secondary/safari_zone_building/palettes/14.gbapal" + .incbin "data/tilesets/secondary/safari_zone_building/palettes/15.gbapal" + + .align 2 +gTilesetTiles_PokemonMansion:: @ 82922F0 + .incbin "data/tilesets/secondary/pokemon_mansion/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_PokemonMansion:: @ 8292FF0 + .incbin "data/tilesets/secondary/pokemon_mansion/palettes/00.gbapal" + .incbin "data/tilesets/secondary/pokemon_mansion/palettes/01.gbapal" + .incbin "data/tilesets/secondary/pokemon_mansion/palettes/02.gbapal" + .incbin "data/tilesets/secondary/pokemon_mansion/palettes/03.gbapal" + .incbin "data/tilesets/secondary/pokemon_mansion/palettes/04.gbapal" + .incbin "data/tilesets/secondary/pokemon_mansion/palettes/05.gbapal" + .incbin "data/tilesets/secondary/pokemon_mansion/palettes/06.gbapal" + .incbin "data/tilesets/secondary/pokemon_mansion/palettes/07.gbapal" + .incbin "data/tilesets/secondary/pokemon_mansion/palettes/08.gbapal" + .incbin "data/tilesets/secondary/pokemon_mansion/palettes/09.gbapal" + .incbin "data/tilesets/secondary/pokemon_mansion/palettes/10.gbapal" + .incbin "data/tilesets/secondary/pokemon_mansion/palettes/11.gbapal" + .incbin "data/tilesets/secondary/pokemon_mansion/palettes/12.gbapal" + .incbin "data/tilesets/secondary/pokemon_mansion/palettes/13.gbapal" + .incbin "data/tilesets/secondary/pokemon_mansion/palettes/14.gbapal" + .incbin "data/tilesets/secondary/pokemon_mansion/palettes/15.gbapal" + + .align 2 +gTilesetTiles_RestaurantHotel:: @ 82931F0 + .incbin "data/tilesets/secondary/restaurant_hotel/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_RestaurantHotel:: @ 8293660 + .incbin "data/tilesets/secondary/restaurant_hotel/palettes/00.gbapal" + .incbin "data/tilesets/secondary/restaurant_hotel/palettes/01.gbapal" + .incbin "data/tilesets/secondary/restaurant_hotel/palettes/02.gbapal" + .incbin "data/tilesets/secondary/restaurant_hotel/palettes/03.gbapal" + .incbin "data/tilesets/secondary/restaurant_hotel/palettes/04.gbapal" + .incbin "data/tilesets/secondary/restaurant_hotel/palettes/05.gbapal" + .incbin "data/tilesets/secondary/restaurant_hotel/palettes/06.gbapal" + .incbin "data/tilesets/secondary/restaurant_hotel/palettes/07.gbapal" + .incbin "data/tilesets/secondary/restaurant_hotel/palettes/08.gbapal" + .incbin "data/tilesets/secondary/restaurant_hotel/palettes/09.gbapal" + .incbin "data/tilesets/secondary/restaurant_hotel/palettes/10.gbapal" + .incbin "data/tilesets/secondary/restaurant_hotel/palettes/11.gbapal" + .incbin "data/tilesets/secondary/restaurant_hotel/palettes/12.gbapal" + .incbin "data/tilesets/secondary/restaurant_hotel/palettes/13.gbapal" + .incbin "data/tilesets/secondary/restaurant_hotel/palettes/14.gbapal" + .incbin "data/tilesets/secondary/restaurant_hotel/palettes/15.gbapal" + + .align 2 +gTilesetTiles_School:: @ 8293860 + .incbin "data/tilesets/secondary/school/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_School:: @ 8293B0C + .incbin "data/tilesets/secondary/school/palettes/00.gbapal" + .incbin "data/tilesets/secondary/school/palettes/01.gbapal" + .incbin "data/tilesets/secondary/school/palettes/02.gbapal" + .incbin "data/tilesets/secondary/school/palettes/03.gbapal" + .incbin "data/tilesets/secondary/school/palettes/04.gbapal" + .incbin "data/tilesets/secondary/school/palettes/05.gbapal" + .incbin "data/tilesets/secondary/school/palettes/06.gbapal" + .incbin "data/tilesets/secondary/school/palettes/07.gbapal" + .incbin "data/tilesets/secondary/school/palettes/08.gbapal" + .incbin "data/tilesets/secondary/school/palettes/09.gbapal" + .incbin "data/tilesets/secondary/school/palettes/10.gbapal" + .incbin "data/tilesets/secondary/school/palettes/11.gbapal" + .incbin "data/tilesets/secondary/school/palettes/12.gbapal" + .incbin "data/tilesets/secondary/school/palettes/13.gbapal" + .incbin "data/tilesets/secondary/school/palettes/14.gbapal" + .incbin "data/tilesets/secondary/school/palettes/15.gbapal" + + .align 2 +gTilesetTiles_FanClubDaycare:: @ 8293D0C + .incbin "data/tilesets/secondary/fan_club_daycare/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_FanClubDaycare:: @ 8294144 + .incbin "data/tilesets/secondary/fan_club_daycare/palettes/00.gbapal" + .incbin "data/tilesets/secondary/fan_club_daycare/palettes/01.gbapal" + .incbin "data/tilesets/secondary/fan_club_daycare/palettes/02.gbapal" + .incbin "data/tilesets/secondary/fan_club_daycare/palettes/03.gbapal" + .incbin "data/tilesets/secondary/fan_club_daycare/palettes/04.gbapal" + .incbin "data/tilesets/secondary/fan_club_daycare/palettes/05.gbapal" + .incbin "data/tilesets/secondary/fan_club_daycare/palettes/06.gbapal" + .incbin "data/tilesets/secondary/fan_club_daycare/palettes/07.gbapal" + .incbin "data/tilesets/secondary/fan_club_daycare/palettes/08.gbapal" + .incbin "data/tilesets/secondary/fan_club_daycare/palettes/09.gbapal" + .incbin "data/tilesets/secondary/fan_club_daycare/palettes/10.gbapal" + .incbin "data/tilesets/secondary/fan_club_daycare/palettes/11.gbapal" + .incbin "data/tilesets/secondary/fan_club_daycare/palettes/12.gbapal" + .incbin "data/tilesets/secondary/fan_club_daycare/palettes/13.gbapal" + .incbin "data/tilesets/secondary/fan_club_daycare/palettes/14.gbapal" + .incbin "data/tilesets/secondary/fan_club_daycare/palettes/15.gbapal" + + .align 2 +gTilesetTiles_BurgledHouse:: @ 8294344 + .incbin "data/tilesets/secondary/burgled_house/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_BurgledHouse:: @ 8294D08 + .incbin "data/tilesets/secondary/burgled_house/palettes/00.gbapal" + .incbin "data/tilesets/secondary/burgled_house/palettes/01.gbapal" + .incbin "data/tilesets/secondary/burgled_house/palettes/02.gbapal" + .incbin "data/tilesets/secondary/burgled_house/palettes/03.gbapal" + .incbin "data/tilesets/secondary/burgled_house/palettes/04.gbapal" + .incbin "data/tilesets/secondary/burgled_house/palettes/05.gbapal" + .incbin "data/tilesets/secondary/burgled_house/palettes/06.gbapal" + .incbin "data/tilesets/secondary/burgled_house/palettes/07.gbapal" + .incbin "data/tilesets/secondary/burgled_house/palettes/08.gbapal" + .incbin "data/tilesets/secondary/burgled_house/palettes/09.gbapal" + .incbin "data/tilesets/secondary/burgled_house/palettes/10.gbapal" + .incbin "data/tilesets/secondary/burgled_house/palettes/11.gbapal" + .incbin "data/tilesets/secondary/burgled_house/palettes/12.gbapal" + .incbin "data/tilesets/secondary/burgled_house/palettes/13.gbapal" + .incbin "data/tilesets/secondary/burgled_house/palettes/14.gbapal" + .incbin "data/tilesets/secondary/burgled_house/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Dummy3:: @ 8294F08 + .incbin "data/tilesets/secondary/dummy3/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Dummy3:: @ 8294F18 + .incbin "data/tilesets/secondary/dummy3/palettes/00.gbapal" + .incbin "data/tilesets/secondary/dummy3/palettes/01.gbapal" + .incbin "data/tilesets/secondary/dummy3/palettes/02.gbapal" + .incbin "data/tilesets/secondary/dummy3/palettes/03.gbapal" + .incbin "data/tilesets/secondary/dummy3/palettes/04.gbapal" + .incbin "data/tilesets/secondary/dummy3/palettes/05.gbapal" + .incbin "data/tilesets/secondary/dummy3/palettes/06.gbapal" + .incbin "data/tilesets/secondary/dummy3/palettes/07.gbapal" + .incbin "data/tilesets/secondary/dummy3/palettes/08.gbapal" + .incbin "data/tilesets/secondary/dummy3/palettes/09.gbapal" + .incbin "data/tilesets/secondary/dummy3/palettes/10.gbapal" + .incbin "data/tilesets/secondary/dummy3/palettes/11.gbapal" + .incbin "data/tilesets/secondary/dummy3/palettes/12.gbapal" + .incbin "data/tilesets/secondary/dummy3/palettes/13.gbapal" + .incbin "data/tilesets/secondary/dummy3/palettes/14.gbapal" + .incbin "data/tilesets/secondary/dummy3/palettes/15.gbapal" + + .align 2 +gTilesetTiles_Dummy4:: @ 8295118 + .incbin "data/tilesets/secondary/dummy4/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_Dummy4:: @ 829512C + .incbin "data/tilesets/secondary/dummy4/palettes/00.gbapal" + .incbin "data/tilesets/secondary/dummy4/palettes/01.gbapal" + .incbin "data/tilesets/secondary/dummy4/palettes/02.gbapal" + .incbin "data/tilesets/secondary/dummy4/palettes/03.gbapal" + .incbin "data/tilesets/secondary/dummy4/palettes/04.gbapal" + .incbin "data/tilesets/secondary/dummy4/palettes/05.gbapal" + .incbin "data/tilesets/secondary/dummy4/palettes/06.gbapal" + .incbin "data/tilesets/secondary/dummy4/palettes/07.gbapal" + .incbin "data/tilesets/secondary/dummy4/palettes/08.gbapal" + .incbin "data/tilesets/secondary/dummy4/palettes/09.gbapal" + .incbin "data/tilesets/secondary/dummy4/palettes/10.gbapal" + .incbin "data/tilesets/secondary/dummy4/palettes/11.gbapal" + .incbin "data/tilesets/secondary/dummy4/palettes/12.gbapal" + .incbin "data/tilesets/secondary/dummy4/palettes/13.gbapal" + .incbin "data/tilesets/secondary/dummy4/palettes/14.gbapal" + .incbin "data/tilesets/secondary/dummy4/palettes/15.gbapal" + + .align 2 +gTilesetTiles_MtEmber:: @ 829532C + .incbin "data/tilesets/secondary/mt_ember/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_MtEmber:: @ 82967D4 + .incbin "data/tilesets/secondary/mt_ember/palettes/00.gbapal" + .incbin "data/tilesets/secondary/mt_ember/palettes/01.gbapal" + .incbin "data/tilesets/secondary/mt_ember/palettes/02.gbapal" + .incbin "data/tilesets/secondary/mt_ember/palettes/03.gbapal" + .incbin "data/tilesets/secondary/mt_ember/palettes/04.gbapal" + .incbin "data/tilesets/secondary/mt_ember/palettes/05.gbapal" + .incbin "data/tilesets/secondary/mt_ember/palettes/06.gbapal" + .incbin "data/tilesets/secondary/mt_ember/palettes/07.gbapal" + .incbin "data/tilesets/secondary/mt_ember/palettes/08.gbapal" + .incbin "data/tilesets/secondary/mt_ember/palettes/09.gbapal" + .incbin "data/tilesets/secondary/mt_ember/palettes/10.gbapal" + .incbin "data/tilesets/secondary/mt_ember/palettes/11.gbapal" + .incbin "data/tilesets/secondary/mt_ember/palettes/12.gbapal" + .incbin "data/tilesets/secondary/mt_ember/palettes/13.gbapal" + .incbin "data/tilesets/secondary/mt_ember/palettes/14.gbapal" + .incbin "data/tilesets/secondary/mt_ember/palettes/15.gbapal" + + .align 2 +gTilesetTiles_BerryForest:: @ 82969D4 + .incbin "data/tilesets/secondary/berry_forest/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_BerryForest:: @ 8296E90 + .incbin "data/tilesets/secondary/berry_forest/palettes/00.gbapal" + .incbin "data/tilesets/secondary/berry_forest/palettes/01.gbapal" + .incbin "data/tilesets/secondary/berry_forest/palettes/02.gbapal" + .incbin "data/tilesets/secondary/berry_forest/palettes/03.gbapal" + .incbin "data/tilesets/secondary/berry_forest/palettes/04.gbapal" + .incbin "data/tilesets/secondary/berry_forest/palettes/05.gbapal" + .incbin "data/tilesets/secondary/berry_forest/palettes/06.gbapal" + .incbin "data/tilesets/secondary/berry_forest/palettes/07.gbapal" + .incbin "data/tilesets/secondary/berry_forest/palettes/08.gbapal" + .incbin "data/tilesets/secondary/berry_forest/palettes/09.gbapal" + .incbin "data/tilesets/secondary/berry_forest/palettes/10.gbapal" + .incbin "data/tilesets/secondary/berry_forest/palettes/11.gbapal" + .incbin "data/tilesets/secondary/berry_forest/palettes/12.gbapal" + .incbin "data/tilesets/secondary/berry_forest/palettes/13.gbapal" + .incbin "data/tilesets/secondary/berry_forest/palettes/14.gbapal" + .incbin "data/tilesets/secondary/berry_forest/palettes/15.gbapal" + + .align 2 +gTilesetTiles_NavelRock:: @ 8297090 + .incbin "data/tilesets/secondary/navel_rock/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_NavelRock:: @ 82983BC + .incbin "data/tilesets/secondary/navel_rock/palettes/00.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/01.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/02.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/03.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/04.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/05.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/06.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/07.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/08.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/09.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/10.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/11.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/12.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/13.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/14.gbapal" + .incbin "data/tilesets/secondary/navel_rock/palettes/15.gbapal" + + .align 2 +gTilesetTiles_TanobyRuins:: @ 82985BC + .incbin "data/tilesets/secondary/tanoby_ruins/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_TanobyRuins:: @ 8298970 + .incbin "data/tilesets/secondary/tanoby_ruins/palettes/00.gbapal" + .incbin "data/tilesets/secondary/tanoby_ruins/palettes/01.gbapal" + .incbin "data/tilesets/secondary/tanoby_ruins/palettes/02.gbapal" + .incbin "data/tilesets/secondary/tanoby_ruins/palettes/03.gbapal" + .incbin "data/tilesets/secondary/tanoby_ruins/palettes/04.gbapal" + .incbin "data/tilesets/secondary/tanoby_ruins/palettes/05.gbapal" + .incbin "data/tilesets/secondary/tanoby_ruins/palettes/06.gbapal" + .incbin "data/tilesets/secondary/tanoby_ruins/palettes/07.gbapal" + .incbin "data/tilesets/secondary/tanoby_ruins/palettes/08.gbapal" + .incbin "data/tilesets/secondary/tanoby_ruins/palettes/09.gbapal" + .incbin "data/tilesets/secondary/tanoby_ruins/palettes/10.gbapal" + .incbin "data/tilesets/secondary/tanoby_ruins/palettes/11.gbapal" + .incbin "data/tilesets/secondary/tanoby_ruins/palettes/12.gbapal" + .incbin "data/tilesets/secondary/tanoby_ruins/palettes/13.gbapal" + .incbin "data/tilesets/secondary/tanoby_ruins/palettes/14.gbapal" + .incbin "data/tilesets/secondary/tanoby_ruins/palettes/15.gbapal" + + .align 2 +gTilesetTiles_SeviiIslands123:: @ 8298B70 + .incbin "data/tilesets/secondary/sevii_islands_123/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_SeviiIslands123:: @ 8299AA4 + .incbin "data/tilesets/secondary/sevii_islands_123/palettes/00.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_123/palettes/01.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_123/palettes/02.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_123/palettes/03.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_123/palettes/04.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_123/palettes/05.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_123/palettes/06.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_123/palettes/07.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_123/palettes/08.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_123/palettes/09.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_123/palettes/10.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_123/palettes/11.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_123/palettes/12.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_123/palettes/13.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_123/palettes/14.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_123/palettes/15.gbapal" + + .align 2 +gTilesetTiles_SeviiIslands45:: @ 8299CA4 + .incbin "data/tilesets/secondary/sevii_islands_45/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_SeviiIslands45:: @ 829AB04 + .incbin "data/tilesets/secondary/sevii_islands_45/palettes/00.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_45/palettes/01.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_45/palettes/02.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_45/palettes/03.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_45/palettes/04.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_45/palettes/05.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_45/palettes/06.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_45/palettes/07.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_45/palettes/08.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_45/palettes/09.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_45/palettes/10.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_45/palettes/11.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_45/palettes/12.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_45/palettes/13.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_45/palettes/14.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_45/palettes/15.gbapal" + + .align 2 +gTilesetTiles_SeviiIslands67:: @ 829AD04 + .incbin "data/tilesets/secondary/sevii_islands_67/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_SeviiIslands67:: @ 829BD64 + .incbin "data/tilesets/secondary/sevii_islands_67/palettes/00.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_67/palettes/01.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_67/palettes/02.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_67/palettes/03.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_67/palettes/04.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_67/palettes/05.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_67/palettes/06.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_67/palettes/07.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_67/palettes/08.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_67/palettes/09.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_67/palettes/10.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_67/palettes/11.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_67/palettes/12.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_67/palettes/13.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_67/palettes/14.gbapal" + .incbin "data/tilesets/secondary/sevii_islands_67/palettes/15.gbapal" + + .align 2 +gTilesetTiles_TrainerTower:: @ 829BF64 + .incbin "data/tilesets/secondary/trainer_tower/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_TrainerTower:: @ 829CEE4 + .incbin "data/tilesets/secondary/trainer_tower/palettes/00.gbapal" + .incbin "data/tilesets/secondary/trainer_tower/palettes/01.gbapal" + .incbin "data/tilesets/secondary/trainer_tower/palettes/02.gbapal" + .incbin "data/tilesets/secondary/trainer_tower/palettes/03.gbapal" + .incbin "data/tilesets/secondary/trainer_tower/palettes/04.gbapal" + .incbin "data/tilesets/secondary/trainer_tower/palettes/05.gbapal" + .incbin "data/tilesets/secondary/trainer_tower/palettes/06.gbapal" + .incbin "data/tilesets/secondary/trainer_tower/palettes/07.gbapal" + .incbin "data/tilesets/secondary/trainer_tower/palettes/08.gbapal" + .incbin "data/tilesets/secondary/trainer_tower/palettes/09.gbapal" + .incbin "data/tilesets/secondary/trainer_tower/palettes/10.gbapal" + .incbin "data/tilesets/secondary/trainer_tower/palettes/11.gbapal" + .incbin "data/tilesets/secondary/trainer_tower/palettes/12.gbapal" + .incbin "data/tilesets/secondary/trainer_tower/palettes/13.gbapal" + .incbin "data/tilesets/secondary/trainer_tower/palettes/14.gbapal" + .incbin "data/tilesets/secondary/trainer_tower/palettes/15.gbapal" + + .align 2 +gTilesetTiles_IslandHarbor:: @ 829D0E4 + .incbin "data/tilesets/secondary/island_harbor/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_IslandHarbor:: @ 829D894 + .incbin "data/tilesets/secondary/island_harbor/palettes/00.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/01.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/02.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/03.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/04.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/05.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/06.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/07.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/08.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/09.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/10.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/11.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/12.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/13.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/14.gbapal" + .incbin "data/tilesets/secondary/island_harbor/palettes/15.gbapal" + + .align 2 +gTilesetTiles_PokemonLeague:: @ 829DA94 + .incbin "data/tilesets/secondary/pokemon_league/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_PokemonLeague:: @ 829EA50 + .incbin "data/tilesets/secondary/pokemon_league/palettes/00.gbapal" + .incbin "data/tilesets/secondary/pokemon_league/palettes/01.gbapal" + .incbin "data/tilesets/secondary/pokemon_league/palettes/02.gbapal" + .incbin "data/tilesets/secondary/pokemon_league/palettes/03.gbapal" + .incbin "data/tilesets/secondary/pokemon_league/palettes/04.gbapal" + .incbin "data/tilesets/secondary/pokemon_league/palettes/05.gbapal" + .incbin "data/tilesets/secondary/pokemon_league/palettes/06.gbapal" + .incbin "data/tilesets/secondary/pokemon_league/palettes/07.gbapal" + .incbin "data/tilesets/secondary/pokemon_league/palettes/08.gbapal" + .incbin "data/tilesets/secondary/pokemon_league/palettes/09.gbapal" + .incbin "data/tilesets/secondary/pokemon_league/palettes/10.gbapal" + .incbin "data/tilesets/secondary/pokemon_league/palettes/11.gbapal" + .incbin "data/tilesets/secondary/pokemon_league/palettes/12.gbapal" + .incbin "data/tilesets/secondary/pokemon_league/palettes/13.gbapal" + .incbin "data/tilesets/secondary/pokemon_league/palettes/14.gbapal" + .incbin "data/tilesets/secondary/pokemon_league/palettes/15.gbapal" + + .align 2 +gTilesetTiles_HallOfFame:: @ 829EC50 + .incbin "data/tilesets/secondary/hall_of_fame/tiles.4bpp.lz" + + .align 2 +gTilesetPalettes_HallOfFame:: @ 829F4C8 + .incbin "data/tilesets/secondary/hall_of_fame/palettes/00.gbapal" + .incbin "data/tilesets/secondary/hall_of_fame/palettes/01.gbapal" + .incbin "data/tilesets/secondary/hall_of_fame/palettes/02.gbapal" + .incbin "data/tilesets/secondary/hall_of_fame/palettes/03.gbapal" + .incbin "data/tilesets/secondary/hall_of_fame/palettes/04.gbapal" + .incbin "data/tilesets/secondary/hall_of_fame/palettes/05.gbapal" + .incbin "data/tilesets/secondary/hall_of_fame/palettes/06.gbapal" + .incbin "data/tilesets/secondary/hall_of_fame/palettes/07.gbapal" + .incbin "data/tilesets/secondary/hall_of_fame/palettes/08.gbapal" + .incbin "data/tilesets/secondary/hall_of_fame/palettes/09.gbapal" + .incbin "data/tilesets/secondary/hall_of_fame/palettes/10.gbapal" + .incbin "data/tilesets/secondary/hall_of_fame/palettes/11.gbapal" + .incbin "data/tilesets/secondary/hall_of_fame/palettes/12.gbapal" + .incbin "data/tilesets/secondary/hall_of_fame/palettes/13.gbapal" + .incbin "data/tilesets/secondary/hall_of_fame/palettes/14.gbapal" + .incbin "data/tilesets/secondary/hall_of_fame/palettes/15.gbapal" diff --git a/data/tilesets/headers.inc b/data/tilesets/headers.inc index d40b3a5e6..cac3cf82f 100644 --- a/data/tilesets/headers.inc +++ b/data/tilesets/headers.inc @@ -1,749 +1,749 @@ .align 2 -gTileset_82D4A94:: +gTileset_General:: .byte TRUE @ is compressed .byte FALSE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8EA1D68 - .4byte gTilesetPalettes_8EA1B68 - .4byte gMetatiles_829F6C8 - .4byte sub_8070154 - .4byte gMetatileAttributes_82A1EC8 + .4byte gTilesetTiles_General + .4byte gTilesetPalettes_General + .4byte gMetatiles_General + .4byte InitTilesetAnim_General + .4byte gMetatileAttributes_General .align 2 -gTileset_82D4AAC:: +gTileset_PalletTown:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_826D37C - .4byte gTilesetPalettes_826D7C0 - .4byte gMetatiles_82A28C8 + .4byte gTilesetTiles_PalletTown + .4byte gTilesetPalettes_PalletTown + .4byte gMetatiles_PalletTown .4byte 0x0 - .4byte gMetatileAttributes_82A2E58 + .4byte gMetatileAttributes_PalletTown .align 2 -gTileset_82D4AC4:: +gTileset_ViridianCity:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_826D9C0 - .4byte gTilesetPalettes_826DFC0 - .4byte gMetatiles_82A2FBC + .4byte gTilesetTiles_ViridianCity + .4byte gTilesetPalettes_ViridianCity + .4byte gMetatiles_ViridianCity .4byte 0x0 - .4byte gMetatileAttributes_82A35AC + .4byte gMetatileAttributes_ViridianCity .align 2 -gTileset_82D4ADC:: +gTileset_PewterCity:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_826E1C0 - .4byte gTilesetPalettes_826EAB8 - .4byte gMetatiles_82A3728 + .4byte gTilesetTiles_PewterCity + .4byte gTilesetPalettes_PewterCity + .4byte gMetatiles_PewterCity .4byte 0x0 - .4byte gMetatileAttributes_82A3C18 + .4byte gMetatileAttributes_PewterCity .align 2 -gTileset_82D4AF4:: +gTileset_CeruleanCity:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_826ECB8 - .4byte gTilesetPalettes_826F4B8 - .4byte gMetatiles_82A3D54 + .4byte gTilesetTiles_CeruleanCity + .4byte gTilesetPalettes_CeruleanCity + .4byte gMetatiles_CeruleanCity .4byte 0x0 - .4byte gMetatileAttributes_82A45B4 + .4byte gMetatileAttributes_CeruleanCity .align 2 -gTileset_82D4B0C:: +gTileset_LavenderTown:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_826F6B8 - .4byte gTilesetPalettes_8270438 - .4byte gMetatiles_82A47CC + .4byte gTilesetTiles_LavenderTown + .4byte gTilesetPalettes_LavenderTown + .4byte gMetatiles_LavenderTown .4byte 0x0 - .4byte gMetatileAttributes_82A556C + .4byte gMetatileAttributes_LavenderTown .align 2 -gTileset_82D4B24:: +gTileset_VermilionCity:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8270638 - .4byte gTilesetPalettes_8270DA0 - .4byte gMetatiles_82A58D4 + .4byte gTilesetTiles_VermilionCity + .4byte gTilesetPalettes_VermilionCity + .4byte gMetatiles_VermilionCity .4byte 0x0 - .4byte gMetatileAttributes_82A6354 + .4byte gMetatileAttributes_VermilionCity .align 2 -gTileset_82D4B3C:: +gTileset_CeladonCity:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8270FA0 - .4byte gTilesetPalettes_8271C74 - .4byte gMetatiles_82A65F4 - .4byte sub_80701D8 - .4byte gMetatileAttributes_82A74F4 + .4byte gTilesetTiles_CeladonCity + .4byte gTilesetPalettes_CeladonCity + .4byte gMetatiles_CeladonCity + .4byte InitTilesetAnim_CeladonCity + .4byte gMetatileAttributes_CeladonCity .align 2 -gTileset_82D4B54:: +gTileset_FuchsiaCity:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8271E74 - .4byte gTilesetPalettes_8272A5C - .4byte gMetatiles_82A78B4 + .4byte gTilesetTiles_FuchsiaCity + .4byte gTilesetPalettes_FuchsiaCity + .4byte gMetatiles_FuchsiaCity .4byte 0x0 - .4byte gMetatileAttributes_82A84B4 + .4byte gMetatileAttributes_FuchsiaCity .align 2 -gTileset_82D4B6C:: +gTileset_CinnabarIsland:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8272C5C - .4byte gTilesetPalettes_8273358 - .4byte gMetatiles_82A87B4 + .4byte gTilesetTiles_CinnabarIsland + .4byte gTilesetPalettes_CinnabarIsland + .4byte gMetatiles_CinnabarIsland .4byte 0x0 - .4byte gMetatileAttributes_82A8BB4 + .4byte gMetatileAttributes_CinnabarIsland .align 2 -gTileset_82D4B84:: +gTileset_IndigoPlateau:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8273558 - .4byte gTilesetPalettes_82742D0 - .4byte gMetatiles_82A8CB4 + .4byte gTilesetTiles_IndigoPlateau + .4byte gTilesetPalettes_IndigoPlateau + .4byte gMetatiles_IndigoPlateau .4byte 0x0 - .4byte gMetatileAttributes_82A97B4 + .4byte gMetatileAttributes_IndigoPlateau .align 2 -gTileset_82D4B9C:: +gTileset_SaffronCity:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_82744D0 - .4byte gTilesetPalettes_8275094 - .4byte gMetatiles_82A9A74 + .4byte gTilesetTiles_SaffronCity + .4byte gTilesetPalettes_SaffronCity + .4byte gMetatiles_SaffronCity .4byte 0x0 - .4byte gMetatileAttributes_82AA6F4 + .4byte gMetatileAttributes_SaffronCity .align 2 -gTileset_82D4BB4:: +gTileset_Building:: .byte TRUE @ is compressed .byte FALSE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8275294 - .4byte gTilesetPalettes_8277694 - .4byte gMetatiles_82AD7B4 + .4byte gTilesetTiles_Building + .4byte gTilesetPalettes_Building + .4byte gMetatiles_Building .4byte 0x0 - .4byte gMetatileAttributes_82AFFB4 + .4byte gMetatileAttributes_Building .align 2 -gTileset_82D4BCC:: +gTileset_Mart:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8277894 - .4byte gTilesetPalettes_8277A5C - .4byte gMetatiles_82B3524 + .4byte gTilesetTiles_Mart + .4byte gTilesetPalettes_Mart + .4byte gMetatiles_Mart .4byte 0x0 - .4byte gMetatileAttributes_82B3954 + .4byte gMetatileAttributes_Mart .align 2 -gTileset_82D4BE4:: +gTileset_PokemonCenter:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8277C5C - .4byte gTilesetPalettes_8278CC4 - .4byte gMetatiles_82B3A60 + .4byte gTilesetTiles_PokemonCenter + .4byte gTilesetPalettes_PokemonCenter + .4byte gMetatiles_PokemonCenter .4byte 0x0 - .4byte gMetatileAttributes_82B4A50 + .4byte gMetatileAttributes_PokemonCenter .align 2 -gTileset_82D4BFC:: +gTileset_Cave:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8278EC4 - .4byte gTilesetPalettes_827A1A8 - .4byte gMetatiles_82B502C + .4byte gTilesetTiles_Cave + .4byte gTilesetPalettes_Cave + .4byte gMetatiles_Cave .4byte 0x0 - .4byte gMetatileAttributes_82B5A3C + .4byte gMetatileAttributes_Cave .align 2 -gTileset_82D4C14:: +gTileset_Dummy1:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_827A3A8 - .4byte gTilesetPalettes_827A3B8 - .4byte gMetatiles_82B09B4 + .4byte gTilesetTiles_Dummy1 + .4byte gTilesetPalettes_Dummy1 + .4byte gMetatiles_Dummy1 .4byte 0x0 - .4byte gMetatileAttributes_82B09D4 + .4byte gMetatileAttributes_Dummy1 .align 2 -gTileset_82D4C2C:: +gTileset_Museum:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_827A5B8 - .4byte gTilesetPalettes_827AE14 - .4byte gMetatiles_82C5738 + .4byte gTilesetTiles_Museum + .4byte gTilesetPalettes_Museum + .4byte gMetatiles_Museum .4byte 0x0 - .4byte gMetatileAttributes_82C5FA8 + .4byte gMetatileAttributes_Museum .align 2 -gTileset_82D4C44:: +gTileset_CableClub:: .byte FALSE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_827B014 - .4byte gTilesetPalettes_827FF14 - .4byte gMetatiles_82C61C4 + .4byte gTilesetTiles_CableClub + .4byte gTilesetPalettes_CableClub + .4byte gMetatiles_CableClub .4byte 0x0 - .4byte gMetatileAttributes_82C71C4 + .4byte gMetatileAttributes_CableClub .align 2 -gTileset_82D4C5C:: +gTileset_BikeShop:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8280114 - .4byte gTilesetPalettes_82804EC - .4byte gMetatiles_82B31DC + .4byte gTilesetTiles_BikeShop + .4byte gTilesetPalettes_BikeShop + .4byte gMetatiles_BikeShop .4byte 0x0 - .4byte gMetatileAttributes_82B347C + .4byte gMetatileAttributes_BikeShop .align 2 -gTileset_82D4C74:: +gTileset_GenericBuilding1:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8EA99F4 - .4byte gTilesetPalettes_8EA97F4 - .4byte gMetatiles_82B4E4C + .4byte gTilesetTiles_GenericBuilding1 + .4byte gTilesetPalettes_GenericBuilding1 + .4byte gMetatiles_GenericBuilding1 .4byte 0x0 - .4byte gMetatileAttributes_82B4FCC + .4byte gMetatileAttributes_GenericBuilding1 .align 2 -gTileset_82D4C8C:: +gTileset_Lab:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_82806EC - .4byte gTilesetPalettes_8280D00 - .4byte gMetatiles_82B68A0 + .4byte gTilesetTiles_Lab + .4byte gTilesetPalettes_Lab + .4byte gMetatiles_Lab .4byte 0x0 - .4byte gMetatileAttributes_82B7390 + .4byte gMetatileAttributes_Lab .align 2 -gTileset_82D4CA4:: +gTileset_FuchsiaGym:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8285350 - .4byte gTilesetPalettes_82857A4 - .4byte gMetatiles_82AC364 + .4byte gTilesetTiles_FuchsiaGym + .4byte gTilesetPalettes_FuchsiaGym + .4byte gMetatiles_FuchsiaGym .4byte 0x0 - .4byte gMetatileAttributes_82AC584 + .4byte gMetatileAttributes_FuchsiaGym .align 2 -gTileset_82D4CBC:: +gTileset_ViridianGym:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_82867D4 - .4byte gTilesetPalettes_8286BC8 - .4byte gMetatiles_82AD124 + .4byte gTilesetTiles_ViridianGym + .4byte gTilesetPalettes_ViridianGym + .4byte gMetatiles_ViridianGym .4byte 0x0 - .4byte gMetatileAttributes_82AD664 + .4byte gMetatileAttributes_ViridianGym .align 2 -gTileset_82D4CD4:: +gTileset_HoennBuilding:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8280F00 - .4byte gTilesetPalettes_82823A4 - .4byte gMetatiles_82B09DC + .4byte gTilesetTiles_HoennBuilding + .4byte gTilesetPalettes_HoennBuilding + .4byte gMetatiles_HoennBuilding .4byte 0x0 - .4byte gMetatileAttributes_82B29DC + .4byte gMetatileAttributes_HoennBuilding .align 2 -gTileset_82D4CEC:: +gTileset_GameCorner:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_82825A4 - .4byte gTilesetPalettes_8282FBC - .4byte gMetatiles_82B5CC0 + .4byte gTilesetTiles_GameCorner + .4byte gTilesetPalettes_GameCorner + .4byte gMetatiles_GameCorner .4byte 0x0 - .4byte gMetatileAttributes_82B6640 + .4byte gMetatileAttributes_GameCorner .align 2 -gTileset_82D4D04:: +gTileset_PewterGym:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_82831BC - .4byte gTilesetPalettes_82839B0 - .4byte gMetatiles_82AAA14 + .4byte gTilesetTiles_PewterGym + .4byte gTilesetPalettes_PewterGym + .4byte gMetatiles_PewterGym .4byte 0x0 - .4byte gMetatileAttributes_82AB064 + .4byte gMetatileAttributes_PewterGym .align 2 -gTileset_82D4D1C:: +gTileset_CeruleanGym:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8283BB0 - .4byte gTilesetPalettes_8283FF8 - .4byte gMetatiles_82AB1F8 + .4byte gTilesetTiles_CeruleanGym + .4byte gTilesetPalettes_CeruleanGym + .4byte gMetatiles_CeruleanGym .4byte 0x0 - .4byte gMetatileAttributes_82AB738 + .4byte gMetatileAttributes_CeruleanGym .align 2 -gTileset_82D4D34:: +gTileset_VermilionGym:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_82841F8 - .4byte gTilesetPalettes_82849B8 - .4byte gMetatiles_82AB888 - .4byte sub_807031C - .4byte gMetatileAttributes_82ABD38 + .4byte gTilesetTiles_VermilionGym + .4byte gTilesetPalettes_VermilionGym + .4byte gMetatiles_VermilionGym + .4byte InitTilesetAnim_VermilionGym + .4byte gMetatileAttributes_VermilionGym .align 2 -gTileset_82D4D4C:: +gTileset_CeladonGym:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8284BB8 - .4byte gTilesetPalettes_8285150 - .4byte gMetatiles_82ABE64 - .4byte sub_8070380 - .4byte gMetatileAttributes_82AC264 + .4byte gTilesetTiles_CeladonGym + .4byte gTilesetPalettes_CeladonGym + .4byte gMetatiles_CeladonGym + .4byte InitTilesetAnim_CeladonGym + .4byte gMetatileAttributes_CeladonGym .align 2 -gTileset_82D4D64:: +gTileset_SaffronGym:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_82859A4 - .4byte gTilesetPalettes_8285D90 - .4byte gMetatiles_82AC60C + .4byte gTilesetTiles_SaffronGym + .4byte gTilesetPalettes_SaffronGym + .4byte gMetatiles_SaffronGym .4byte 0x0 - .4byte gMetatileAttributes_82AC8EC + .4byte gMetatileAttributes_SaffronGym .align 2 -gTileset_82D4D7C:: +gTileset_CinnabarGym:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8285F90 - .4byte gTilesetPalettes_82865D4 - .4byte gMetatiles_82AC9A4 + .4byte gTilesetTiles_CinnabarGym + .4byte gTilesetPalettes_CinnabarGym + .4byte gMetatiles_CinnabarGym .4byte 0x0 - .4byte gMetatileAttributes_82ACFA4 + .4byte gMetatileAttributes_CinnabarGym .align 2 -gTileset_82D4D94:: +gTileset_SSAnne:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8286DC8 - .4byte gTilesetPalettes_8287B80 - .4byte gMetatiles_82B764C + .4byte gTilesetTiles_SSAnne + .4byte gTilesetPalettes_SSAnne + .4byte gMetatiles_SSAnne .4byte 0x0 - .4byte gMetatileAttributes_82B8B4C + .4byte gMetatileAttributes_SSAnne .align 2 -gTileset_82D4DAC:: +gTileset_Dummy2:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8287D80 - .4byte gTilesetPalettes_8287D94 - .4byte gMetatiles_82B908C + .4byte gTilesetTiles_Dummy2 + .4byte gTilesetPalettes_Dummy2 + .4byte gMetatiles_Dummy2 .4byte 0x0 - .4byte gMetatileAttributes_82B90AC + .4byte gMetatileAttributes_Dummy2 .align 2 -gTileset_82D4DC4:: +gTileset_ViridianForest:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8287F94 - .4byte gTilesetPalettes_8288444 - .4byte gMetatiles_82B90B4 + .4byte gTilesetTiles_ViridianForest + .4byte gTilesetPalettes_ViridianForest + .4byte gMetatiles_ViridianForest .4byte 0x0 - .4byte gMetatileAttributes_82B9364 + .4byte gMetatileAttributes_ViridianForest .align 2 -gTileset_82D4DDC:: +gTileset_UnusedGatehouse1:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8288644 - .4byte gTilesetPalettes_8288C60 - .4byte gMetatiles_82B9410 + .4byte gTilesetTiles_UnusedGatehouse1 + .4byte gTilesetPalettes_UnusedGatehouse1 + .4byte gMetatiles_UnusedGatehouse1 .4byte 0x0 - .4byte gMetatileAttributes_82B9B30 + .4byte gMetatileAttributes_UnusedGatehouse1 .align 2 -gTileset_82D4DF4:: +gTileset_RockTunnel:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8288E60 - .4byte gTilesetPalettes_8289FC8 - .4byte gMetatiles_82B9CF8 + .4byte gTilesetTiles_RockTunnel + .4byte gTilesetPalettes_RockTunnel + .4byte gMetatiles_RockTunnel .4byte 0x0 - .4byte gMetatileAttributes_82BA678 + .4byte gMetatileAttributes_RockTunnel .align 2 -gTileset_82D4E0C:: +gTileset_DiglettsCave:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_828A1C8 - .4byte gTilesetPalettes_828B250 - .4byte gMetatiles_82BA8D8 + .4byte gTilesetTiles_DiglettsCave + .4byte gTilesetPalettes_DiglettsCave + .4byte gMetatiles_DiglettsCave .4byte 0x0 - .4byte gMetatileAttributes_82BB2A8 + .4byte gMetatileAttributes_DiglettsCave .align 2 -gTileset_82D4E24:: +gTileset_SeafoamIslands:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_828B450 - .4byte gTilesetPalettes_828CAA0 - .4byte gMetatiles_82BB51C + .4byte gTilesetTiles_SeafoamIslands + .4byte gTilesetPalettes_SeafoamIslands + .4byte gMetatiles_SeafoamIslands .4byte 0x0 - .4byte gMetatileAttributes_82BC49C + .4byte gMetatileAttributes_SeafoamIslands .align 2 -gTileset_82D4E3C:: +gTileset_UnusedGatehouse2:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_828CCA0 - .4byte gTilesetPalettes_828D2BC - .4byte gMetatiles_82BC87C + .4byte gTilesetTiles_UnusedGatehouse2 + .4byte gTilesetPalettes_UnusedGatehouse2 + .4byte gMetatiles_UnusedGatehouse2 .4byte 0x0 - .4byte gMetatileAttributes_82BCF9C + .4byte gMetatileAttributes_UnusedGatehouse2 .align 2 -gTileset_82D4E54:: +gTileset_CeruleanCave:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_828D4BC - .4byte gTilesetPalettes_828E3A4 - .4byte gMetatiles_82BD164 + .4byte gTilesetTiles_CeruleanCave + .4byte gTilesetPalettes_CeruleanCave + .4byte gMetatiles_CeruleanCave .4byte 0x0 - .4byte gMetatileAttributes_82BD9C4 + .4byte gMetatileAttributes_CeruleanCave .align 2 -gTileset_82D4E6C:: +gTileset_DepartmentStore:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8EA9F88 - .4byte gTilesetPalettes_8EA9D88 - .4byte gMetatiles_82BDBDC + .4byte gTilesetTiles_DepartmentStore + .4byte gTilesetPalettes_DepartmentStore + .4byte gMetatiles_DepartmentStore .4byte 0x0 - .4byte gMetatileAttributes_82BEB3C + .4byte gMetatileAttributes_DepartmentStore .align 2 -gTileset_82D4E84:: +gTileset_GenericBuilding2:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_828E5A4 - .4byte gTilesetPalettes_828EC70 - .4byte gMetatiles_82BEF14 + .4byte gTilesetTiles_GenericBuilding2 + .4byte gTilesetPalettes_GenericBuilding2 + .4byte gMetatiles_GenericBuilding2 .4byte 0x0 - .4byte gMetatileAttributes_82BFA94 + .4byte gMetatileAttributes_GenericBuilding2 .align 2 -gTileset_82D4E9C:: +gTileset_PowerPlant:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_828EE70 - .4byte gTilesetPalettes_828F378 - .4byte gMetatiles_82BFD74 + .4byte gTilesetTiles_PowerPlant + .4byte gTilesetPalettes_PowerPlant + .4byte gMetatiles_PowerPlant .4byte 0x0 - .4byte gMetatileAttributes_82C0704 + .4byte gMetatileAttributes_PowerPlant .align 2 -gTileset_82D4EB4:: +gTileset_SeaCottage:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_828F578 - .4byte gTilesetPalettes_828F9D8 - .4byte gMetatiles_82C0968 + .4byte gTilesetTiles_SeaCottage + .4byte gTilesetPalettes_SeaCottage + .4byte gMetatiles_SeaCottage .4byte 0x0 - .4byte gMetatileAttributes_82C0D18 + .4byte gMetatileAttributes_SeaCottage .align 2 -gTileset_82D4ECC:: +gTileset_SilphCo:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_828FBD8 - .4byte gTilesetPalettes_8290DD0 - .4byte gMetatiles_82C0E04 - .4byte sub_8070250 - .4byte gMetatileAttributes_82C25A4 + .4byte gTilesetTiles_SilphCo + .4byte gTilesetPalettes_SilphCo + .4byte gMetatiles_SilphCo + .4byte InitTilesetAnim_SilphCo + .4byte gMetatileAttributes_SilphCo .align 2 -gTileset_82D4EE4:: +gTileset_UndergroundPath:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8290FD0 - .4byte gTilesetPalettes_8291274 - .4byte gMetatiles_82C2B8C + .4byte gTilesetTiles_UndergroundPath + .4byte gTilesetPalettes_UndergroundPath + .4byte gMetatiles_UndergroundPath .4byte 0x0 - .4byte gMetatileAttributes_82C300C + .4byte gMetatileAttributes_UndergroundPath .align 2 -gTileset_82D4EFC:: +gTileset_PokemonTower:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8291474 - .4byte gTilesetPalettes_8291AFC - .4byte gMetatiles_82C312C + .4byte gTilesetTiles_PokemonTower + .4byte gTilesetPalettes_PokemonTower + .4byte gMetatiles_PokemonTower .4byte 0x0 - .4byte gMetatileAttributes_82C377C + .4byte gMetatileAttributes_PokemonTower .align 2 -gTileset_82D4F14:: +gTileset_SafariZoneBuilding:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8291CFC - .4byte gTilesetPalettes_82920F0 - .4byte gMetatiles_82C3910 + .4byte gTilesetTiles_SafariZoneBuilding + .4byte gTilesetPalettes_SafariZoneBuilding + .4byte gMetatiles_SafariZoneBuilding .4byte 0x0 - .4byte gMetatileAttributes_82C4110 + .4byte gMetatileAttributes_SafariZoneBuilding .align 2 -gTileset_82D4F2C:: +gTileset_PokemonMansion:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_82922F0 - .4byte gTilesetPalettes_8292FF0 - .4byte gMetatiles_82C4310 + .4byte gTilesetTiles_PokemonMansion + .4byte gTilesetPalettes_PokemonMansion + .4byte gMetatiles_PokemonMansion .4byte 0x0 - .4byte gMetatileAttributes_82C5330 + .4byte gMetatileAttributes_PokemonMansion .align 2 -gTileset_82D4F44:: +gTileset_RestaurantHotel:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_82931F0 - .4byte gTilesetPalettes_8293660 - .4byte gMetatiles_82C75C4 + .4byte gTilesetTiles_RestaurantHotel + .4byte gTilesetPalettes_RestaurantHotel + .4byte gMetatiles_RestaurantHotel .4byte 0x0 - .4byte gMetatileAttributes_82C7C44 + .4byte gMetatileAttributes_RestaurantHotel .align 2 -gTileset_82D4F5C:: +gTileset_School:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8293860 - .4byte gTilesetPalettes_8293B0C - .4byte gMetatiles_82C7DE4 + .4byte gTilesetTiles_School + .4byte gTilesetPalettes_School + .4byte gMetatiles_School .4byte 0x0 - .4byte gMetatileAttributes_82C80C4 + .4byte gMetatileAttributes_School .align 2 -gTileset_82D4F74:: +gTileset_FanClubDaycare:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8293D0C - .4byte gTilesetPalettes_8294144 - .4byte gMetatiles_82C817C + .4byte gTilesetTiles_FanClubDaycare + .4byte gTilesetPalettes_FanClubDaycare + .4byte gMetatiles_FanClubDaycare .4byte 0x0 - .4byte gMetatileAttributes_82C8C1C + .4byte gMetatileAttributes_FanClubDaycare .align 2 -gTileset_82D4F8C:: +gTileset_Condominiums:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_828FBD8 - .4byte gTilesetPalettes_8290DD0 - .4byte gMetatiles_82C8EC4 + .4byte gTilesetTiles_SilphCo + .4byte gTilesetPalettes_SilphCo + .4byte gMetatiles_Condominiums .4byte 0x0 - .4byte gMetatileAttributes_82C9C34 + .4byte gMetatileAttributes_Condominiums .align 2 -gTileset_82D4FA4:: +gTileset_BurgledHouse:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8294344 - .4byte gTilesetPalettes_8294D08 - .4byte gMetatiles_82C9F90 + .4byte gTilesetTiles_BurgledHouse + .4byte gTilesetPalettes_BurgledHouse + .4byte gMetatiles_BurgledHouse .4byte 0x0 - .4byte gMetatileAttributes_82CA320 + .4byte gMetatileAttributes_BurgledHouse .align 2 -gTileset_82D4FBC:: +gTileset_Dummy3:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8294F08 - .4byte gTilesetPalettes_8294F18 - .4byte gMetatiles_82CA404 + .4byte gTilesetTiles_Dummy3 + .4byte gTilesetPalettes_Dummy3 + .4byte gMetatiles_Dummy3 .4byte 0x0 - .4byte gMetatileAttributes_82CA424 + .4byte gMetatileAttributes_Dummy3 .align 2 -gTileset_82D4FD4:: +gTileset_Dummy4:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8295118 - .4byte gTilesetPalettes_829512C - .4byte gMetatiles_82CA42C + .4byte gTilesetTiles_Dummy4 + .4byte gTilesetPalettes_Dummy4 + .4byte gMetatiles_Dummy4 .4byte 0x0 - .4byte gMetatileAttributes_82CA44C + .4byte gMetatileAttributes_Dummy4 .align 2 -gTileset_82D4FEC:: +gTileset_MtEmber:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_829532C - .4byte gTilesetPalettes_82967D4 - .4byte gMetatiles_82CA454 - .4byte sub_80702B4 - .4byte gMetatileAttributes_82CB274 + .4byte gTilesetTiles_MtEmber + .4byte gTilesetPalettes_MtEmber + .4byte gMetatiles_MtEmber + .4byte InitTilesetAnim_MtEmber + .4byte gMetatileAttributes_MtEmber .align 2 -gTileset_82D5004:: +gTileset_BerryForest:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_82969D4 - .4byte gTilesetPalettes_8296E90 - .4byte gMetatiles_82CB5FC + .4byte gTilesetTiles_BerryForest + .4byte gTilesetPalettes_BerryForest + .4byte gMetatiles_BerryForest .4byte 0x0 - .4byte gMetatileAttributes_82CB89C + .4byte gMetatileAttributes_BerryForest .align 2 -gTileset_82D501C:: +gTileset_NavelRock:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8297090 - .4byte gTilesetPalettes_82983BC - .4byte gMetatiles_82CB944 + .4byte gTilesetTiles_NavelRock + .4byte gTilesetPalettes_NavelRock + .4byte gMetatiles_NavelRock .4byte 0x0 - .4byte gMetatileAttributes_82CC704 + .4byte gMetatileAttributes_NavelRock .align 2 -gTileset_82D5034:: +gTileset_TanobyRuins:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_82985BC - .4byte gTilesetPalettes_8298970 - .4byte gMetatiles_82CCA74 + .4byte gTilesetTiles_TanobyRuins + .4byte gTilesetPalettes_TanobyRuins + .4byte gMetatiles_TanobyRuins .4byte 0x0 - .4byte gMetatileAttributes_82CD054 + .4byte gMetatileAttributes_TanobyRuins .align 2 -gTileset_82D504C:: +gTileset_SeviiIslands123:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8298B70 - .4byte gTilesetPalettes_8299AA4 - .4byte gMetatiles_82CD1CC + .4byte gTilesetTiles_SeviiIslands123 + .4byte gTilesetPalettes_SeviiIslands123 + .4byte gMetatiles_SeviiIslands123 .4byte 0x0 - .4byte gMetatileAttributes_82CE39C + .4byte gMetatileAttributes_SeviiIslands123 .align 2 -gTileset_82D5064:: +gTileset_SeviiIslands45:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_8299CA4 - .4byte gTilesetPalettes_829AB04 - .4byte gMetatiles_82CE810 + .4byte gTilesetTiles_SeviiIslands45 + .4byte gTilesetPalettes_SeviiIslands45 + .4byte gMetatiles_SeviiIslands45 .4byte 0x0 - .4byte gMetatileAttributes_82CF190 + .4byte gMetatileAttributes_SeviiIslands45 .align 2 -gTileset_82D507C:: +gTileset_SeviiIslands67:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_829AD04 - .4byte gTilesetPalettes_829BD64 - .4byte gMetatiles_82CF3F0 + .4byte gTilesetTiles_SeviiIslands67 + .4byte gTilesetPalettes_SeviiIslands67 + .4byte gMetatiles_SeviiIslands67 .4byte 0x0 - .4byte gMetatileAttributes_82D02F0 + .4byte gMetatileAttributes_SeviiIslands67 .align 2 -gTileset_82D5094:: +gTileset_TrainerTower:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_829BF64 - .4byte gTilesetPalettes_829CEE4 - .4byte gMetatiles_82D06B0 + .4byte gTilesetTiles_TrainerTower + .4byte gTilesetPalettes_TrainerTower + .4byte gMetatiles_TrainerTower .4byte 0x0 - .4byte gMetatileAttributes_82D18B0 + .4byte gMetatileAttributes_TrainerTower .align 2 -gTileset_82D50AC:: +gTileset_IslandHarbor:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_829D0E4 - .4byte gTilesetPalettes_829D894 - .4byte gMetatiles_82D1D30 + .4byte gTilesetTiles_IslandHarbor + .4byte gTilesetPalettes_IslandHarbor + .4byte gMetatiles_IslandHarbor .4byte 0x0 - .4byte gMetatileAttributes_82D2220 + .4byte gMetatileAttributes_IslandHarbor .align 2 -gTileset_82D50C4:: +gTileset_PokemonLeague:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_829DA94 - .4byte gTilesetPalettes_829EA50 - .4byte gMetatiles_82D235C + .4byte gTilesetTiles_PokemonLeague + .4byte gTilesetPalettes_PokemonLeague + .4byte gMetatiles_PokemonLeague .4byte 0x0 - .4byte gMetatileAttributes_82D3B5C + .4byte gMetatileAttributes_PokemonLeague .align 2 -gTileset_82D50DC:: +gTileset_HallOfFame:: .byte TRUE @ is compressed .byte TRUE @ is secondary .2byte 0 @ padding - .4byte gTilesetTiles_829EC50 - .4byte gTilesetPalettes_829F4C8 - .4byte gMetatiles_82D415C + .4byte gTilesetTiles_HallOfFame + .4byte gTilesetPalettes_HallOfFame + .4byte gMetatiles_HallOfFame .4byte 0x0 - .4byte gMetatileAttributes_82D48BC + .4byte gMetatileAttributes_HallOfFame diff --git a/data/tilesets/metatiles.inc b/data/tilesets/metatiles.inc index 50c849648..7475f8117 100644 --- a/data/tilesets/metatiles.inc +++ b/data/tilesets/metatiles.inc @@ -1,543 +1,543 @@ .align 1 -gMetatiles_829F6C8:: @ 829F6C8 - .incbin "data/tilesets/primary/82D4A94/metatiles.bin" +gMetatiles_General:: @ 829F6C8 + .incbin "data/tilesets/primary/general/metatiles.bin" .align 1 -gMetatileAttributes_82A1EC8:: @ 82A1EC8 - .incbin "data/tilesets/primary/82D4A94/metatile_attributes.bin" +gMetatileAttributes_General:: @ 82A1EC8 + .incbin "data/tilesets/primary/general/metatile_attributes.bin" .align 1 -gMetatiles_82A28C8:: @ 82A28C8 - .incbin "data/tilesets/secondary/82D4AAC/metatiles.bin" +gMetatiles_PalletTown:: @ 82A28C8 + .incbin "data/tilesets/secondary/pallet_town/metatiles.bin" .align 1 -gMetatileAttributes_82A2E58:: @ 82A2E58 - .incbin "data/tilesets/secondary/82D4AAC/metatile_attributes.bin" +gMetatileAttributes_PalletTown:: @ 82A2E58 + .incbin "data/tilesets/secondary/pallet_town/metatile_attributes.bin" .align 1 -gMetatiles_82A2FBC:: @ 82A2FBC - .incbin "data/tilesets/secondary/82D4AC4/metatiles.bin" +gMetatiles_ViridianCity:: @ 82A2FBC + .incbin "data/tilesets/secondary/viridian_city/metatiles.bin" .align 1 -gMetatileAttributes_82A35AC:: @ 82A35AC - .incbin "data/tilesets/secondary/82D4AC4/metatile_attributes.bin" +gMetatileAttributes_ViridianCity:: @ 82A35AC + .incbin "data/tilesets/secondary/viridian_city/metatile_attributes.bin" .align 1 -gMetatiles_82A3728:: @ 82A3728 - .incbin "data/tilesets/secondary/82D4ADC/metatiles.bin" +gMetatiles_PewterCity:: @ 82A3728 + .incbin "data/tilesets/secondary/pewter_city/metatiles.bin" .align 1 -gMetatileAttributes_82A3C18:: @ 82A3C18 - .incbin "data/tilesets/secondary/82D4ADC/metatile_attributes.bin" +gMetatileAttributes_PewterCity:: @ 82A3C18 + .incbin "data/tilesets/secondary/pewter_city/metatile_attributes.bin" .align 1 -gMetatiles_82A3D54:: @ 82A3D54 - .incbin "data/tilesets/secondary/82D4AF4/metatiles.bin" +gMetatiles_CeruleanCity:: @ 82A3D54 + .incbin "data/tilesets/secondary/cerulean_city/metatiles.bin" .align 1 -gMetatileAttributes_82A45B4:: @ 82A45B4 - .incbin "data/tilesets/secondary/82D4AF4/metatile_attributes.bin" +gMetatileAttributes_CeruleanCity:: @ 82A45B4 + .incbin "data/tilesets/secondary/cerulean_city/metatile_attributes.bin" .align 1 -gMetatiles_82A47CC:: @ 82A47CC - .incbin "data/tilesets/secondary/82D4B0C/metatiles.bin" +gMetatiles_LavenderTown:: @ 82A47CC + .incbin "data/tilesets/secondary/lavender_town/metatiles.bin" .align 1 -gMetatileAttributes_82A556C:: @ 82A556C - .incbin "data/tilesets/secondary/82D4B0C/metatile_attributes.bin" +gMetatileAttributes_LavenderTown:: @ 82A556C + .incbin "data/tilesets/secondary/lavender_town/metatile_attributes.bin" .align 1 -gMetatiles_82A58D4:: @ 82A58D4 - .incbin "data/tilesets/secondary/82D4B24/metatiles.bin" +gMetatiles_VermilionCity:: @ 82A58D4 + .incbin "data/tilesets/secondary/vermilion_city/metatiles.bin" .align 1 -gMetatileAttributes_82A6354:: @ 82A6354 - .incbin "data/tilesets/secondary/82D4B24/metatile_attributes.bin" +gMetatileAttributes_VermilionCity:: @ 82A6354 + .incbin "data/tilesets/secondary/vermilion_city/metatile_attributes.bin" .align 1 -gMetatiles_82A65F4:: @ 82A65F4 - .incbin "data/tilesets/secondary/82D4B3C/metatiles.bin" +gMetatiles_CeladonCity:: @ 82A65F4 + .incbin "data/tilesets/secondary/celadon_city/metatiles.bin" .align 1 -gMetatileAttributes_82A74F4:: @ 82A74F4 - .incbin "data/tilesets/secondary/82D4B3C/metatile_attributes.bin" +gMetatileAttributes_CeladonCity:: @ 82A74F4 + .incbin "data/tilesets/secondary/celadon_city/metatile_attributes.bin" .align 1 -gMetatiles_82A78B4:: @ 82A78B4 - .incbin "data/tilesets/secondary/82D4B54/metatiles.bin" +gMetatiles_FuchsiaCity:: @ 82A78B4 + .incbin "data/tilesets/secondary/fuchsia_city/metatiles.bin" .align 1 -gMetatileAttributes_82A84B4:: @ 82A84B4 - .incbin "data/tilesets/secondary/82D4B54/metatile_attributes.bin" +gMetatileAttributes_FuchsiaCity:: @ 82A84B4 + .incbin "data/tilesets/secondary/fuchsia_city/metatile_attributes.bin" .align 1 -gMetatiles_82A87B4:: @ 82A87B4 - .incbin "data/tilesets/secondary/82D4B6C/metatiles.bin" +gMetatiles_CinnabarIsland:: @ 82A87B4 + .incbin "data/tilesets/secondary/cinnabar_island/metatiles.bin" .align 1 -gMetatileAttributes_82A8BB4:: @ 82A8BB4 - .incbin "data/tilesets/secondary/82D4B6C/metatile_attributes.bin" +gMetatileAttributes_CinnabarIsland:: @ 82A8BB4 + .incbin "data/tilesets/secondary/cinnabar_island/metatile_attributes.bin" .align 1 -gMetatiles_82A8CB4:: @ 82A8CB4 - .incbin "data/tilesets/secondary/82D4B84/metatiles.bin" +gMetatiles_IndigoPlateau:: @ 82A8CB4 + .incbin "data/tilesets/secondary/indigo_plateau/metatiles.bin" .align 1 -gMetatileAttributes_82A97B4:: @ 82A97B4 - .incbin "data/tilesets/secondary/82D4B84/metatile_attributes.bin" +gMetatileAttributes_IndigoPlateau:: @ 82A97B4 + .incbin "data/tilesets/secondary/indigo_plateau/metatile_attributes.bin" .align 1 -gMetatiles_82A9A74:: @ 82A9A74 - .incbin "data/tilesets/secondary/82D4B9C/metatiles.bin" +gMetatiles_SaffronCity:: @ 82A9A74 + .incbin "data/tilesets/secondary/saffron_city/metatiles.bin" .align 1 -gMetatileAttributes_82AA6F4:: @ 82AA6F4 - .incbin "data/tilesets/secondary/82D4B9C/metatile_attributes.bin" +gMetatileAttributes_SaffronCity:: @ 82AA6F4 + .incbin "data/tilesets/secondary/saffron_city/metatile_attributes.bin" .align 1 -gMetatiles_82AAA14:: @ 82AAA14 - .incbin "data/tilesets/secondary/82D4D04/metatiles.bin" +gMetatiles_PewterGym:: @ 82AAA14 + .incbin "data/tilesets/secondary/pewter_gym/metatiles.bin" .align 1 -gMetatileAttributes_82AB064:: @ 82AB064 - .incbin "data/tilesets/secondary/82D4D04/metatile_attributes.bin" +gMetatileAttributes_PewterGym:: @ 82AB064 + .incbin "data/tilesets/secondary/pewter_gym/metatile_attributes.bin" .align 1 -gMetatiles_82AB1F8:: @ 82AB1F8 - .incbin "data/tilesets/secondary/82D4D1C/metatiles.bin" +gMetatiles_CeruleanGym:: @ 82AB1F8 + .incbin "data/tilesets/secondary/cerulean_gym/metatiles.bin" .align 1 -gMetatileAttributes_82AB738:: @ 82AB738 - .incbin "data/tilesets/secondary/82D4D1C/metatile_attributes.bin" +gMetatileAttributes_CeruleanGym:: @ 82AB738 + .incbin "data/tilesets/secondary/cerulean_gym/metatile_attributes.bin" .align 1 -gMetatiles_82AB888:: @ 82AB888 - .incbin "data/tilesets/secondary/82D4D34/metatiles.bin" +gMetatiles_VermilionGym:: @ 82AB888 + .incbin "data/tilesets/secondary/vermilion_gym/metatiles.bin" .align 1 -gMetatileAttributes_82ABD38:: @ 82ABD38 - .incbin "data/tilesets/secondary/82D4D34/metatile_attributes.bin" +gMetatileAttributes_VermilionGym:: @ 82ABD38 + .incbin "data/tilesets/secondary/vermilion_gym/metatile_attributes.bin" .align 1 -gMetatiles_82ABE64:: @ 82ABE64 - .incbin "data/tilesets/secondary/82D4D4C/metatiles.bin" +gMetatiles_CeladonGym:: @ 82ABE64 + .incbin "data/tilesets/secondary/celadon_gym/metatiles.bin" .align 1 -gMetatileAttributes_82AC264:: @ 82AC264 - .incbin "data/tilesets/secondary/82D4D4C/metatile_attributes.bin" +gMetatileAttributes_CeladonGym:: @ 82AC264 + .incbin "data/tilesets/secondary/celadon_gym/metatile_attributes.bin" .align 1 -gMetatiles_82AC364:: @ 82AC364 - .incbin "data/tilesets/secondary/82D4CA4/metatiles.bin" +gMetatiles_FuchsiaGym:: @ 82AC364 + .incbin "data/tilesets/secondary/fuchsia_gym/metatiles.bin" .align 1 -gMetatileAttributes_82AC584:: @ 82AC584 - .incbin "data/tilesets/secondary/82D4CA4/metatile_attributes.bin" +gMetatileAttributes_FuchsiaGym:: @ 82AC584 + .incbin "data/tilesets/secondary/fuchsia_gym/metatile_attributes.bin" .align 1 -gMetatiles_82AC60C:: @ 82AC60C - .incbin "data/tilesets/secondary/82D4D64/metatiles.bin" +gMetatiles_SaffronGym:: @ 82AC60C + .incbin "data/tilesets/secondary/saffron_gym/metatiles.bin" .align 1 -gMetatileAttributes_82AC8EC:: @ 82AC8EC - .incbin "data/tilesets/secondary/82D4D64/metatile_attributes.bin" +gMetatileAttributes_SaffronGym:: @ 82AC8EC + .incbin "data/tilesets/secondary/saffron_gym/metatile_attributes.bin" .align 1 -gMetatiles_82AC9A4:: @ 82AC9A4 - .incbin "data/tilesets/secondary/82D4D7C/metatiles.bin" +gMetatiles_CinnabarGym:: @ 82AC9A4 + .incbin "data/tilesets/secondary/cinnabar_gym/metatiles.bin" .align 1 -gMetatileAttributes_82ACFA4:: @ 82ACFA4 - .incbin "data/tilesets/secondary/82D4D7C/metatile_attributes.bin" +gMetatileAttributes_CinnabarGym:: @ 82ACFA4 + .incbin "data/tilesets/secondary/cinnabar_gym/metatile_attributes.bin" .align 1 -gMetatiles_82AD124:: @ 82AD124 - .incbin "data/tilesets/secondary/82D4CBC/metatiles.bin" +gMetatiles_ViridianGym:: @ 82AD124 + .incbin "data/tilesets/secondary/viridian_gym/metatiles.bin" .align 1 -gMetatileAttributes_82AD664:: @ 82AD664 - .incbin "data/tilesets/secondary/82D4CBC/metatile_attributes.bin" +gMetatileAttributes_ViridianGym:: @ 82AD664 + .incbin "data/tilesets/secondary/viridian_gym/metatile_attributes.bin" .align 1 -gMetatiles_82AD7B4:: @ 82AD7B4 - .incbin "data/tilesets/primary/82D4BB4/metatiles.bin" +gMetatiles_Building:: @ Building + .incbin "data/tilesets/primary/building/metatiles.bin" .align 1 -gMetatileAttributes_82AFFB4:: @ 82AFFB4 - .incbin "data/tilesets/primary/82D4BB4/metatile_attributes.bin" +gMetatileAttributes_Building:: @ Building + .incbin "data/tilesets/primary/building/metatile_attributes.bin" .align 1 -gMetatiles_82B09B4:: @ 82B09B4 - .incbin "data/tilesets/secondary/82D4C14/metatiles.bin" +gMetatiles_Dummy1:: @ 82B09B4 + .incbin "data/tilesets/secondary/dummy1/metatiles.bin" .align 1 -gMetatileAttributes_82B09D4:: @ 82B09D4 - .incbin "data/tilesets/secondary/82D4C14/metatile_attributes.bin" +gMetatileAttributes_Dummy1:: @ 82B09D4 + .incbin "data/tilesets/secondary/dummy1/metatile_attributes.bin" .align 1 -gMetatiles_82B09DC:: @ 82B09DC - .incbin "data/tilesets/secondary/82D4CD4/metatiles.bin" +gMetatiles_HoennBuilding:: @ 82B09DC + .incbin "data/tilesets/secondary/hoenn_building/metatiles.bin" .align 1 -gMetatileAttributes_82B29DC:: @ 82B29DC - .incbin "data/tilesets/secondary/82D4CD4/metatile_attributes.bin" +gMetatileAttributes_HoennBuilding:: @ 82B29DC + .incbin "data/tilesets/secondary/hoenn_building/metatile_attributes.bin" .align 1 -gMetatiles_82B31DC:: @ 82B31DC - .incbin "data/tilesets/secondary/82D4C5C/metatiles.bin" +gMetatiles_BikeShop:: @ 82B31DC + .incbin "data/tilesets/secondary/bike_shop/metatiles.bin" .align 1 -gMetatileAttributes_82B347C:: @ 82B347C - .incbin "data/tilesets/secondary/82D4C5C/metatile_attributes.bin" +gMetatileAttributes_BikeShop:: @ 82B347C + .incbin "data/tilesets/secondary/bike_shop/metatile_attributes.bin" .align 1 -gMetatiles_82B3524:: @ 82B3524 - .incbin "data/tilesets/secondary/82D4BCC/metatiles.bin" +gMetatiles_Mart:: @ 82B3524 + .incbin "data/tilesets/secondary/mart/metatiles.bin" .align 1 -gMetatileAttributes_82B3954:: @ 82B3954 - .incbin "data/tilesets/secondary/82D4BCC/metatile_attributes.bin" +gMetatileAttributes_Mart:: @ 82B3954 + .incbin "data/tilesets/secondary/mart/metatile_attributes.bin" .align 1 -gMetatiles_82B3A60:: @ 82B3A60 - .incbin "data/tilesets/secondary/82D4BE4/metatiles.bin" +gMetatiles_PokemonCenter:: @ 82B3A60 + .incbin "data/tilesets/secondary/pokemon_center/metatiles.bin" .align 1 -gMetatileAttributes_82B4A50:: @ 82B4A50 - .incbin "data/tilesets/secondary/82D4BE4/metatile_attributes.bin" +gMetatileAttributes_PokemonCenter:: @ 82B4A50 + .incbin "data/tilesets/secondary/pokemon_center/metatile_attributes.bin" .align 1 -gMetatiles_82B4E4C:: @ 82B4E4C - .incbin "data/tilesets/secondary/82D4C74/metatiles.bin" +gMetatiles_GenericBuilding1:: @ 82B4E4C + .incbin "data/tilesets/secondary/generic_building1/metatiles.bin" .align 1 -gMetatileAttributes_82B4FCC:: @ 82B4FCC - .incbin "data/tilesets/secondary/82D4C74/metatile_attributes.bin" +gMetatileAttributes_GenericBuilding1:: @ 82B4FCC + .incbin "data/tilesets/secondary/generic_building1/metatile_attributes.bin" .align 1 -gMetatiles_82B502C:: @ 82B502C - .incbin "data/tilesets/secondary/82D4BFC/metatiles.bin" +gMetatiles_Cave:: @ 82B502C + .incbin "data/tilesets/secondary/cave/metatiles.bin" .align 1 -gMetatileAttributes_82B5A3C:: @ 82B5A3C - .incbin "data/tilesets/secondary/82D4BFC/metatile_attributes.bin" +gMetatileAttributes_Cave:: @ 82B5A3C + .incbin "data/tilesets/secondary/cave/metatile_attributes.bin" .align 1 -gMetatiles_82B5CC0:: @ 82B5CC0 - .incbin "data/tilesets/secondary/82D4CEC/metatiles.bin" +gMetatiles_GameCorner:: @ 82B5CC0 + .incbin "data/tilesets/secondary/game_corner/metatiles.bin" .align 1 -gMetatileAttributes_82B6640:: @ 82B6640 - .incbin "data/tilesets/secondary/82D4CEC/metatile_attributes.bin" +gMetatileAttributes_GameCorner:: @ 82B6640 + .incbin "data/tilesets/secondary/game_corner/metatile_attributes.bin" .align 1 -gMetatiles_82B68A0:: @ 82B68A0 - .incbin "data/tilesets/secondary/82D4C8C/metatiles.bin" +gMetatiles_Lab:: @ 82B68A0 + .incbin "data/tilesets/secondary/lab/metatiles.bin" .align 1 -gMetatileAttributes_82B7390:: @ 82B7390 - .incbin "data/tilesets/secondary/82D4C8C/metatile_attributes.bin" +gMetatileAttributes_Lab:: @ 82B7390 + .incbin "data/tilesets/secondary/lab/metatile_attributes.bin" .align 1 -gMetatiles_82B764C:: @ 82B764C - .incbin "data/tilesets/secondary/82D4D94/metatiles.bin" +gMetatiles_SSAnne:: @ 82B764C + .incbin "data/tilesets/secondary/ss_anne/metatiles.bin" .align 1 -gMetatileAttributes_82B8B4C:: @ 82B8B4C - .incbin "data/tilesets/secondary/82D4D94/metatile_attributes.bin" +gMetatileAttributes_SSAnne:: @ 82B8B4C + .incbin "data/tilesets/secondary/ss_anne/metatile_attributes.bin" .align 1 -gMetatiles_82B908C:: @ 82B908C - .incbin "data/tilesets/secondary/82D4DAC/metatiles.bin" +gMetatiles_Dummy2:: @ 82B908C + .incbin "data/tilesets/secondary/dummy2/metatiles.bin" .align 1 -gMetatileAttributes_82B90AC:: @ 82B90AC - .incbin "data/tilesets/secondary/82D4DAC/metatile_attributes.bin" +gMetatileAttributes_Dummy2:: @ 82B90AC + .incbin "data/tilesets/secondary/dummy2/metatile_attributes.bin" .align 1 -gMetatiles_82B90B4:: @ 82B90B4 - .incbin "data/tilesets/secondary/82D4DC4/metatiles.bin" +gMetatiles_ViridianForest:: @ 82B90B4 + .incbin "data/tilesets/secondary/viridian_forest/metatiles.bin" .align 1 -gMetatileAttributes_82B9364:: @ 82B9364 - .incbin "data/tilesets/secondary/82D4DC4/metatile_attributes.bin" +gMetatileAttributes_ViridianForest:: @ 82B9364 + .incbin "data/tilesets/secondary/viridian_forest/metatile_attributes.bin" .align 1 -gMetatiles_82B9410:: @ 82B9410 - .incbin "data/tilesets/secondary/82D4DDC/metatiles.bin" +gMetatiles_UnusedGatehouse1:: @ 82B9410 + .incbin "data/tilesets/secondary/unused_gatehouse1/metatiles.bin" .align 1 -gMetatileAttributes_82B9B30:: @ 82B9B30 - .incbin "data/tilesets/secondary/82D4DDC/metatile_attributes.bin" +gMetatileAttributes_UnusedGatehouse1:: @ 82B9B30 + .incbin "data/tilesets/secondary/unused_gatehouse1/metatile_attributes.bin" .align 1 -gMetatiles_82B9CF8:: @ 82B9CF8 - .incbin "data/tilesets/secondary/82D4DF4/metatiles.bin" +gMetatiles_RockTunnel:: @ 82B9CF8 + .incbin "data/tilesets/secondary/rock_tunnel/metatiles.bin" .align 1 -gMetatileAttributes_82BA678:: @ 82BA678 - .incbin "data/tilesets/secondary/82D4DF4/metatile_attributes.bin" +gMetatileAttributes_RockTunnel:: @ 82BA678 + .incbin "data/tilesets/secondary/rock_tunnel/metatile_attributes.bin" .align 1 -gMetatiles_82BA8D8:: @ 82BA8D8 - .incbin "data/tilesets/secondary/82D4E0C/metatiles.bin" +gMetatiles_DiglettsCave:: @ 82BA8D8 + .incbin "data/tilesets/secondary/digletts_cave/metatiles.bin" .align 1 -gMetatileAttributes_82BB2A8:: @ 82BB2A8 - .incbin "data/tilesets/secondary/82D4E0C/metatile_attributes.bin" +gMetatileAttributes_DiglettsCave:: @ 82BB2A8 + .incbin "data/tilesets/secondary/digletts_cave/metatile_attributes.bin" .align 1 -gMetatiles_82BB51C:: @ 82BB51C - .incbin "data/tilesets/secondary/82D4E24/metatiles.bin" +gMetatiles_SeafoamIslands:: @ 82BB51C + .incbin "data/tilesets/secondary/seafoam_islands/metatiles.bin" .align 1 -gMetatileAttributes_82BC49C:: @ 82BC49C - .incbin "data/tilesets/secondary/82D4E24/metatile_attributes.bin" +gMetatileAttributes_SeafoamIslands:: @ 82BC49C + .incbin "data/tilesets/secondary/seafoam_islands/metatile_attributes.bin" .align 1 -gMetatiles_82BC87C:: @ 82BC87C - .incbin "data/tilesets/secondary/82D4E3C/metatiles.bin" +gMetatiles_UnusedGatehouse2:: @ 82BC87C + .incbin "data/tilesets/secondary/unused_gatehouse2/metatiles.bin" .align 1 -gMetatileAttributes_82BCF9C:: @ 82BCF9C - .incbin "data/tilesets/secondary/82D4E3C/metatile_attributes.bin" +gMetatileAttributes_UnusedGatehouse2:: @ 82BCF9C + .incbin "data/tilesets/secondary/unused_gatehouse2/metatile_attributes.bin" .align 1 -gMetatiles_82BD164:: @ 82BD164 - .incbin "data/tilesets/secondary/82D4E54/metatiles.bin" +gMetatiles_CeruleanCave:: @ 82BD164 + .incbin "data/tilesets/secondary/cerulean_cave/metatiles.bin" .align 1 -gMetatileAttributes_82BD9C4:: @ 82BD9C4 - .incbin "data/tilesets/secondary/82D4E54/metatile_attributes.bin" +gMetatileAttributes_CeruleanCave:: @ 82BD9C4 + .incbin "data/tilesets/secondary/cerulean_cave/metatile_attributes.bin" .align 1 -gMetatiles_82BDBDC:: @ 82BDBDC - .incbin "data/tilesets/secondary/82D4E6C/metatiles.bin" +gMetatiles_DepartmentStore:: @ 82BDBDC + .incbin "data/tilesets/secondary/department_store/metatiles.bin" .align 1 -gMetatileAttributes_82BEB3C:: @ 82BEB3C - .incbin "data/tilesets/secondary/82D4E6C/metatile_attributes.bin" +gMetatileAttributes_DepartmentStore:: @ 82BEB3C + .incbin "data/tilesets/secondary/department_store/metatile_attributes.bin" .align 1 -gMetatiles_82BEF14:: @ 82BEF14 - .incbin "data/tilesets/secondary/82D4E84/metatiles.bin" +gMetatiles_GenericBuilding2:: @ 82BEF14 + .incbin "data/tilesets/secondary/generic_building2/metatiles.bin" .align 1 -gMetatileAttributes_82BFA94:: @ 82BFA94 - .incbin "data/tilesets/secondary/82D4E84/metatile_attributes.bin" +gMetatileAttributes_GenericBuilding2:: @ 82BFA94 + .incbin "data/tilesets/secondary/generic_building2/metatile_attributes.bin" .align 1 -gMetatiles_82BFD74:: @ 82BFD74 - .incbin "data/tilesets/secondary/82D4E9C/metatiles.bin" +gMetatiles_PowerPlant:: @ 82BFD74 + .incbin "data/tilesets/secondary/power_plant/metatiles.bin" .align 1 -gMetatileAttributes_82C0704:: @ 82C0704 - .incbin "data/tilesets/secondary/82D4E9C/metatile_attributes.bin" +gMetatileAttributes_PowerPlant:: @ 82C0704 + .incbin "data/tilesets/secondary/power_plant/metatile_attributes.bin" .align 1 -gMetatiles_82C0968:: @ 82C0968 - .incbin "data/tilesets/secondary/82D4EB4/metatiles.bin" +gMetatiles_SeaCottage:: @ 82C0968 + .incbin "data/tilesets/secondary/sea_cottage/metatiles.bin" .align 1 -gMetatileAttributes_82C0D18:: @ 82C0D18 - .incbin "data/tilesets/secondary/82D4EB4/metatile_attributes.bin" +gMetatileAttributes_SeaCottage:: @ 82C0D18 + .incbin "data/tilesets/secondary/sea_cottage/metatile_attributes.bin" .align 1 -gMetatiles_82C0E04:: @ 82C0E04 - .incbin "data/tilesets/secondary/82D4ECC/metatiles.bin" +gMetatiles_SilphCo:: @ 82C0E04 + .incbin "data/tilesets/secondary/silph_co/metatiles.bin" .align 1 -gMetatileAttributes_82C25A4:: @ 82C25A4 - .incbin "data/tilesets/secondary/82D4ECC/metatile_attributes.bin" +gMetatileAttributes_SilphCo:: @ 82C25A4 + .incbin "data/tilesets/secondary/silph_co/metatile_attributes.bin" .align 1 -gMetatiles_82C2B8C:: @ 82C2B8C - .incbin "data/tilesets/secondary/82D4EE4/metatiles.bin" +gMetatiles_UndergroundPath:: @ 82C2B8C + .incbin "data/tilesets/secondary/underground_path/metatiles.bin" .align 1 -gMetatileAttributes_82C300C:: @ 82C300C - .incbin "data/tilesets/secondary/82D4EE4/metatile_attributes.bin" +gMetatileAttributes_UndergroundPath:: @ 82C300C + .incbin "data/tilesets/secondary/underground_path/metatile_attributes.bin" .align 1 -gMetatiles_82C312C:: @ 82C312C - .incbin "data/tilesets/secondary/82D4EFC/metatiles.bin" +gMetatiles_PokemonTower:: @ 82C312C + .incbin "data/tilesets/secondary/pokemon_tower/metatiles.bin" .align 1 -gMetatileAttributes_82C377C:: @ 82C377C - .incbin "data/tilesets/secondary/82D4EFC/metatile_attributes.bin" +gMetatileAttributes_PokemonTower:: @ 82C377C + .incbin "data/tilesets/secondary/pokemon_tower/metatile_attributes.bin" .align 1 -gMetatiles_82C3910:: @ 82C3910 - .incbin "data/tilesets/secondary/82D4F14/metatiles.bin" +gMetatiles_SafariZoneBuilding:: @ 82C3910 + .incbin "data/tilesets/secondary/safari_zone_building/metatiles.bin" .align 1 -gMetatileAttributes_82C4110:: @ 82C4110 - .incbin "data/tilesets/secondary/82D4F14/metatile_attributes.bin" +gMetatileAttributes_SafariZoneBuilding:: @ 82C4110 + .incbin "data/tilesets/secondary/safari_zone_building/metatile_attributes.bin" .align 1 -gMetatiles_82C4310:: @ 82C4310 - .incbin "data/tilesets/secondary/82D4F2C/metatiles.bin" +gMetatiles_PokemonMansion:: @ 82C4310 + .incbin "data/tilesets/secondary/pokemon_mansion/metatiles.bin" .align 1 -gMetatileAttributes_82C5330:: @ 82C5330 - .incbin "data/tilesets/secondary/82D4F2C/metatile_attributes.bin" +gMetatileAttributes_PokemonMansion:: @ 82C5330 + .incbin "data/tilesets/secondary/pokemon_mansion/metatile_attributes.bin" .align 1 -gMetatiles_82C5738:: @ 82C5738 - .incbin "data/tilesets/secondary/82D4C2C/metatiles.bin" +gMetatiles_Museum:: @ 82C5738 + .incbin "data/tilesets/secondary/museum/metatiles.bin" .align 1 -gMetatileAttributes_82C5FA8:: @ 82C5FA8 - .incbin "data/tilesets/secondary/82D4C2C/metatile_attributes.bin" +gMetatileAttributes_Museum:: @ 82C5FA8 + .incbin "data/tilesets/secondary/museum/metatile_attributes.bin" .align 1 -gMetatiles_82C61C4:: @ 82C61C4 - .incbin "data/tilesets/secondary/82D4C44/metatiles.bin" +gMetatiles_CableClub:: @ 82C61C4 + .incbin "data/tilesets/secondary/cable_club/metatiles.bin" .align 1 -gMetatileAttributes_82C71C4:: @ 82C71C4 - .incbin "data/tilesets/secondary/82D4C44/metatile_attributes.bin" +gMetatileAttributes_CableClub:: @ 82C71C4 + .incbin "data/tilesets/secondary/cable_club/metatile_attributes.bin" .align 1 -gMetatiles_82C75C4:: @ 82C75C4 - .incbin "data/tilesets/secondary/82D4F44/metatiles.bin" +gMetatiles_RestaurantHotel:: @ 82C75C4 + .incbin "data/tilesets/secondary/restaurant_hotel/metatiles.bin" .align 1 -gMetatileAttributes_82C7C44:: @ 82C7C44 - .incbin "data/tilesets/secondary/82D4F44/metatile_attributes.bin" +gMetatileAttributes_RestaurantHotel:: @ 82C7C44 + .incbin "data/tilesets/secondary/restaurant_hotel/metatile_attributes.bin" .align 1 -gMetatiles_82C7DE4:: @ 82C7DE4 - .incbin "data/tilesets/secondary/82D4F5C/metatiles.bin" +gMetatiles_School:: @ 82C7DE4 + .incbin "data/tilesets/secondary/school/metatiles.bin" .align 1 -gMetatileAttributes_82C80C4:: @ 82C80C4 - .incbin "data/tilesets/secondary/82D4F5C/metatile_attributes.bin" +gMetatileAttributes_School:: @ 82C80C4 + .incbin "data/tilesets/secondary/school/metatile_attributes.bin" .align 1 -gMetatiles_82C817C:: @ 82C817C - .incbin "data/tilesets/secondary/82D4F74/metatiles.bin" +gMetatiles_FanClubDaycare:: @ 82C817C + .incbin "data/tilesets/secondary/fan_club_daycare/metatiles.bin" .align 1 -gMetatileAttributes_82C8C1C:: @ 82C8C1C - .incbin "data/tilesets/secondary/82D4F74/metatile_attributes.bin" +gMetatileAttributes_FanClubDaycare:: @ 82C8C1C + .incbin "data/tilesets/secondary/fan_club_daycare/metatile_attributes.bin" .align 1 -gMetatiles_82C8EC4:: @ 82C8EC4 - .incbin "data/tilesets/secondary/82D4F8C/metatiles.bin" +gMetatiles_Condominiums:: @ 82C8EC4 + .incbin "data/tilesets/secondary/condominiums/metatiles.bin" .align 1 -gMetatileAttributes_82C9C34:: @ 82C9C34 - .incbin "data/tilesets/secondary/82D4F8C/metatile_attributes.bin" +gMetatileAttributes_Condominiums:: @ 82C9C34 + .incbin "data/tilesets/secondary/condominiums/metatile_attributes.bin" .align 1 -gMetatiles_82C9F90:: @ 82C9F90 - .incbin "data/tilesets/secondary/82D4FA4/metatiles.bin" +gMetatiles_BurgledHouse:: @ 82C9F90 + .incbin "data/tilesets/secondary/burgled_house/metatiles.bin" .align 1 -gMetatileAttributes_82CA320:: @ 82CA320 - .incbin "data/tilesets/secondary/82D4FA4/metatile_attributes.bin" +gMetatileAttributes_BurgledHouse:: @ 82CA320 + .incbin "data/tilesets/secondary/burgled_house/metatile_attributes.bin" .align 1 -gMetatiles_82CA404:: @ 82CA404 - .incbin "data/tilesets/secondary/82D4FBC/metatiles.bin" +gMetatiles_Dummy3:: @ 82CA404 + .incbin "data/tilesets/secondary/dummy3/metatiles.bin" .align 1 -gMetatileAttributes_82CA424:: @ 82CA424 - .incbin "data/tilesets/secondary/82D4FBC/metatile_attributes.bin" +gMetatileAttributes_Dummy3:: @ 82CA424 + .incbin "data/tilesets/secondary/dummy3/metatile_attributes.bin" .align 1 -gMetatiles_82CA42C:: @ 82CA42C - .incbin "data/tilesets/secondary/82D4FD4/metatiles.bin" +gMetatiles_Dummy4:: @ 82CA42C + .incbin "data/tilesets/secondary/dummy4/metatiles.bin" .align 1 -gMetatileAttributes_82CA44C:: @ 82CA44C - .incbin "data/tilesets/secondary/82D4FD4/metatile_attributes.bin" +gMetatileAttributes_Dummy4:: @ 82CA44C + .incbin "data/tilesets/secondary/dummy4/metatile_attributes.bin" .align 1 -gMetatiles_82CA454:: @ 82CA454 - .incbin "data/tilesets/secondary/82D4FEC/metatiles.bin" +gMetatiles_MtEmber:: @ 82CA454 + .incbin "data/tilesets/secondary/mt_ember/metatiles.bin" .align 1 -gMetatileAttributes_82CB274:: @ 82CB274 - .incbin "data/tilesets/secondary/82D4FEC/metatile_attributes.bin" +gMetatileAttributes_MtEmber:: @ 82CB274 + .incbin "data/tilesets/secondary/mt_ember/metatile_attributes.bin" .align 1 -gMetatiles_82CB5FC:: @ 82CB5FC - .incbin "data/tilesets/secondary/82D5004/metatiles.bin" +gMetatiles_BerryForest:: @ 82CB5FC + .incbin "data/tilesets/secondary/berry_forest/metatiles.bin" .align 1 -gMetatileAttributes_82CB89C:: @ 82CB89C - .incbin "data/tilesets/secondary/82D5004/metatile_attributes.bin" +gMetatileAttributes_BerryForest:: @ 82CB89C + .incbin "data/tilesets/secondary/berry_forest/metatile_attributes.bin" .align 1 -gMetatiles_82CB944:: @ 82CB944 - .incbin "data/tilesets/secondary/82D501C/metatiles.bin" +gMetatiles_NavelRock:: @ 82CB944 + .incbin "data/tilesets/secondary/navel_rock/metatiles.bin" .align 1 -gMetatileAttributes_82CC704:: @ 82CC704 - .incbin "data/tilesets/secondary/82D501C/metatile_attributes.bin" +gMetatileAttributes_NavelRock:: @ 82CC704 + .incbin "data/tilesets/secondary/navel_rock/metatile_attributes.bin" .align 1 -gMetatiles_82CCA74:: @ 82CCA74 - .incbin "data/tilesets/secondary/82D5034/metatiles.bin" +gMetatiles_TanobyRuins:: @ 82CCA74 + .incbin "data/tilesets/secondary/tanoby_ruins/metatiles.bin" .align 1 -gMetatileAttributes_82CD054:: @ 82CD054 - .incbin "data/tilesets/secondary/82D5034/metatile_attributes.bin" +gMetatileAttributes_TanobyRuins:: @ 82CD054 + .incbin "data/tilesets/secondary/tanoby_ruins/metatile_attributes.bin" .align 1 -gMetatiles_82CD1CC:: @ 82CD1CC - .incbin "data/tilesets/secondary/82D504C/metatiles.bin" +gMetatiles_SeviiIslands123:: @ 82CD1CC + .incbin "data/tilesets/secondary/sevii_islands_123/metatiles.bin" .align 1 -gMetatileAttributes_82CE39C:: @ 82CE39C - .incbin "data/tilesets/secondary/82D504C/metatile_attributes.bin" +gMetatileAttributes_SeviiIslands123:: @ 82CE39C + .incbin "data/tilesets/secondary/sevii_islands_123/metatile_attributes.bin" .align 1 -gMetatiles_82CE810:: @ 82CE810 - .incbin "data/tilesets/secondary/82D5064/metatiles.bin" +gMetatiles_SeviiIslands45:: @ 82CE810 + .incbin "data/tilesets/secondary/sevii_islands_45/metatiles.bin" .align 1 -gMetatileAttributes_82CF190:: @ 82CF190 - .incbin "data/tilesets/secondary/82D5064/metatile_attributes.bin" +gMetatileAttributes_SeviiIslands45:: @ 82CF190 + .incbin "data/tilesets/secondary/sevii_islands_45/metatile_attributes.bin" .align 1 -gMetatiles_82CF3F0:: @ 82CF3F0 - .incbin "data/tilesets/secondary/82D507C/metatiles.bin" +gMetatiles_SeviiIslands67:: @ 82CF3F0 + .incbin "data/tilesets/secondary/sevii_islands_67/metatiles.bin" .align 1 -gMetatileAttributes_82D02F0:: @ 82D02F0 - .incbin "data/tilesets/secondary/82D507C/metatile_attributes.bin" +gMetatileAttributes_SeviiIslands67:: @ 82D02F0 + .incbin "data/tilesets/secondary/sevii_islands_67/metatile_attributes.bin" .align 1 -gMetatiles_82D06B0:: @ 82D06B0 - .incbin "data/tilesets/secondary/82D5094/metatiles.bin" +gMetatiles_TrainerTower:: @ 82D06B0 + .incbin "data/tilesets/secondary/trainer_tower/metatiles.bin" .align 1 -gMetatileAttributes_82D18B0:: @ 82D18B0 - .incbin "data/tilesets/secondary/82D5094/metatile_attributes.bin" +gMetatileAttributes_TrainerTower:: @ 82D18B0 + .incbin "data/tilesets/secondary/trainer_tower/metatile_attributes.bin" .align 1 -gMetatiles_82D1D30:: @ 82D1D30 - .incbin "data/tilesets/secondary/82D50AC/metatiles.bin" +gMetatiles_IslandHarbor:: @ 82D1D30 + .incbin "data/tilesets/secondary/island_harbor/metatiles.bin" .align 1 -gMetatileAttributes_82D2220:: @ 82D2220 - .incbin "data/tilesets/secondary/82D50AC/metatile_attributes.bin" +gMetatileAttributes_IslandHarbor:: @ 82D2220 + .incbin "data/tilesets/secondary/island_harbor/metatile_attributes.bin" .align 1 -gMetatiles_82D235C:: @ 82D235C - .incbin "data/tilesets/secondary/82D50C4/metatiles.bin" +gMetatiles_PokemonLeague:: @ 82D235C + .incbin "data/tilesets/secondary/pokemon_league/metatiles.bin" .align 1 -gMetatileAttributes_82D3B5C:: @ 82D3B5C - .incbin "data/tilesets/secondary/82D50C4/metatile_attributes.bin" +gMetatileAttributes_PokemonLeague:: @ 82D3B5C + .incbin "data/tilesets/secondary/pokemon_league/metatile_attributes.bin" .align 1 -gMetatiles_82D415C:: @ 82D415C - .incbin "data/tilesets/secondary/82D50DC/metatiles.bin" +gMetatiles_HallOfFame:: @ 82D415C + .incbin "data/tilesets/secondary/hall_of_fame/metatiles.bin" .align 1 -gMetatileAttributes_82D48BC:: @ 82D48BC - .incbin "data/tilesets/secondary/82D50DC/metatile_attributes.bin" +gMetatileAttributes_HallOfFame:: @ 82D48BC + .incbin "data/tilesets/secondary/hall_of_fame/metatile_attributes.bin" diff --git a/data/tilesets/primary/82D4BB4/metatile_attributes.bin b/data/tilesets/primary/building/metatile_attributes.bin similarity index 100% rename from data/tilesets/primary/82D4BB4/metatile_attributes.bin rename to data/tilesets/primary/building/metatile_attributes.bin diff --git a/data/tilesets/primary/82D4BB4/metatiles.bin b/data/tilesets/primary/building/metatiles.bin similarity index 100% rename from data/tilesets/primary/82D4BB4/metatiles.bin rename to data/tilesets/primary/building/metatiles.bin diff --git a/data/tilesets/primary/82D4BB4/palettes/0.pal b/data/tilesets/primary/building/palettes/00.pal similarity index 100% rename from data/tilesets/primary/82D4BB4/palettes/0.pal rename to data/tilesets/primary/building/palettes/00.pal diff --git a/data/tilesets/primary/82D4BB4/palettes/1.pal b/data/tilesets/primary/building/palettes/01.pal similarity index 100% rename from data/tilesets/primary/82D4BB4/palettes/1.pal rename to data/tilesets/primary/building/palettes/01.pal diff --git a/data/tilesets/primary/82D4BB4/palettes/2.pal b/data/tilesets/primary/building/palettes/02.pal similarity index 100% rename from data/tilesets/primary/82D4BB4/palettes/2.pal rename to data/tilesets/primary/building/palettes/02.pal diff --git a/data/tilesets/primary/82D4BB4/palettes/3.pal b/data/tilesets/primary/building/palettes/03.pal similarity index 100% rename from data/tilesets/primary/82D4BB4/palettes/3.pal rename to data/tilesets/primary/building/palettes/03.pal diff --git a/data/tilesets/primary/82D4BB4/palettes/4.pal b/data/tilesets/primary/building/palettes/04.pal similarity index 100% rename from data/tilesets/primary/82D4BB4/palettes/4.pal rename to data/tilesets/primary/building/palettes/04.pal diff --git a/data/tilesets/primary/82D4BB4/palettes/5.pal b/data/tilesets/primary/building/palettes/05.pal similarity index 100% rename from data/tilesets/primary/82D4BB4/palettes/5.pal rename to data/tilesets/primary/building/palettes/05.pal diff --git a/data/tilesets/primary/82D4BB4/palettes/6.pal b/data/tilesets/primary/building/palettes/06.pal similarity index 100% rename from data/tilesets/primary/82D4BB4/palettes/6.pal rename to data/tilesets/primary/building/palettes/06.pal diff --git a/data/tilesets/primary/82D4BB4/palettes/7.pal b/data/tilesets/primary/building/palettes/07.pal similarity index 100% rename from data/tilesets/primary/82D4BB4/palettes/7.pal rename to data/tilesets/primary/building/palettes/07.pal diff --git a/data/tilesets/primary/82D4BB4/palettes/8.pal b/data/tilesets/primary/building/palettes/08.pal similarity index 100% rename from data/tilesets/primary/82D4BB4/palettes/8.pal rename to data/tilesets/primary/building/palettes/08.pal diff --git a/data/tilesets/primary/82D4A94/palettes/10.pal b/data/tilesets/primary/building/palettes/09.pal similarity index 100% rename from data/tilesets/primary/82D4A94/palettes/10.pal rename to data/tilesets/primary/building/palettes/09.pal diff --git a/data/tilesets/primary/82D4BB4/palettes/10.pal b/data/tilesets/primary/building/palettes/10.pal similarity index 100% rename from data/tilesets/primary/82D4BB4/palettes/10.pal rename to data/tilesets/primary/building/palettes/10.pal diff --git a/data/tilesets/primary/82D4A94/palettes/11.pal b/data/tilesets/primary/building/palettes/11.pal similarity index 100% rename from data/tilesets/primary/82D4A94/palettes/11.pal rename to data/tilesets/primary/building/palettes/11.pal diff --git a/data/tilesets/primary/82D4BB4/palettes/12.pal b/data/tilesets/primary/building/palettes/12.pal similarity index 100% rename from data/tilesets/primary/82D4BB4/palettes/12.pal rename to data/tilesets/primary/building/palettes/12.pal diff --git a/data/tilesets/primary/82D4A94/palettes/13.pal b/data/tilesets/primary/building/palettes/13.pal similarity index 100% rename from data/tilesets/primary/82D4A94/palettes/13.pal rename to data/tilesets/primary/building/palettes/13.pal diff --git a/data/tilesets/primary/82D4A94/palettes/14.pal b/data/tilesets/primary/building/palettes/14.pal similarity index 100% rename from data/tilesets/primary/82D4A94/palettes/14.pal rename to data/tilesets/primary/building/palettes/14.pal diff --git a/data/tilesets/primary/82D4BB4/palettes/15.pal b/data/tilesets/primary/building/palettes/15.pal similarity index 100% rename from data/tilesets/primary/82D4BB4/palettes/15.pal rename to data/tilesets/primary/building/palettes/15.pal diff --git a/data/tilesets/primary/82D4BB4/tiles.png b/data/tilesets/primary/building/tiles.png similarity index 100% rename from data/tilesets/primary/82D4BB4/tiles.png rename to data/tilesets/primary/building/tiles.png diff --git a/data/tilesets/primary/82D4A94/metatile_attributes.bin b/data/tilesets/primary/general/metatile_attributes.bin similarity index 100% rename from data/tilesets/primary/82D4A94/metatile_attributes.bin rename to data/tilesets/primary/general/metatile_attributes.bin diff --git a/data/tilesets/primary/82D4A94/metatiles.bin b/data/tilesets/primary/general/metatiles.bin similarity index 100% rename from data/tilesets/primary/82D4A94/metatiles.bin rename to data/tilesets/primary/general/metatiles.bin diff --git a/data/tilesets/primary/82D4A94/palettes/0.pal b/data/tilesets/primary/general/palettes/00.pal similarity index 100% rename from data/tilesets/primary/82D4A94/palettes/0.pal rename to data/tilesets/primary/general/palettes/00.pal diff --git a/data/tilesets/primary/82D4A94/palettes/1.pal b/data/tilesets/primary/general/palettes/01.pal similarity index 100% rename from data/tilesets/primary/82D4A94/palettes/1.pal rename to data/tilesets/primary/general/palettes/01.pal diff --git a/data/tilesets/primary/82D4A94/palettes/2.pal b/data/tilesets/primary/general/palettes/02.pal similarity index 100% rename from data/tilesets/primary/82D4A94/palettes/2.pal rename to data/tilesets/primary/general/palettes/02.pal diff --git a/data/tilesets/primary/82D4A94/palettes/3.pal b/data/tilesets/primary/general/palettes/03.pal similarity index 100% rename from data/tilesets/primary/82D4A94/palettes/3.pal rename to data/tilesets/primary/general/palettes/03.pal diff --git a/data/tilesets/primary/82D4A94/palettes/4.pal b/data/tilesets/primary/general/palettes/04.pal similarity index 100% rename from data/tilesets/primary/82D4A94/palettes/4.pal rename to data/tilesets/primary/general/palettes/04.pal diff --git a/data/tilesets/primary/82D4A94/palettes/5.pal b/data/tilesets/primary/general/palettes/05.pal similarity index 100% rename from data/tilesets/primary/82D4A94/palettes/5.pal rename to data/tilesets/primary/general/palettes/05.pal diff --git a/data/tilesets/primary/82D4A94/palettes/6.pal b/data/tilesets/primary/general/palettes/06.pal similarity index 100% rename from data/tilesets/primary/82D4A94/palettes/6.pal rename to data/tilesets/primary/general/palettes/06.pal diff --git a/data/tilesets/primary/82D4A94/palettes/7.pal b/data/tilesets/primary/general/palettes/07.pal similarity index 100% rename from data/tilesets/primary/82D4A94/palettes/7.pal rename to data/tilesets/primary/general/palettes/07.pal diff --git a/data/tilesets/primary/82D4A94/palettes/8.pal b/data/tilesets/primary/general/palettes/08.pal similarity index 100% rename from data/tilesets/primary/82D4A94/palettes/8.pal rename to data/tilesets/primary/general/palettes/08.pal diff --git a/data/tilesets/primary/82D4A94/palettes/9.pal b/data/tilesets/primary/general/palettes/09.pal similarity index 100% rename from data/tilesets/primary/82D4A94/palettes/9.pal rename to data/tilesets/primary/general/palettes/09.pal diff --git a/data/tilesets/secondary/82D4BCC/palettes/10.pal b/data/tilesets/primary/general/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4BCC/palettes/10.pal rename to data/tilesets/primary/general/palettes/10.pal diff --git a/data/tilesets/primary/82D4BB4/palettes/11.pal b/data/tilesets/primary/general/palettes/11.pal similarity index 100% rename from data/tilesets/primary/82D4BB4/palettes/11.pal rename to data/tilesets/primary/general/palettes/11.pal diff --git a/data/tilesets/primary/82D4A94/palettes/12.pal b/data/tilesets/primary/general/palettes/12.pal similarity index 100% rename from data/tilesets/primary/82D4A94/palettes/12.pal rename to data/tilesets/primary/general/palettes/12.pal diff --git a/data/tilesets/primary/82D4BB4/palettes/13.pal b/data/tilesets/primary/general/palettes/13.pal similarity index 100% rename from data/tilesets/primary/82D4BB4/palettes/13.pal rename to data/tilesets/primary/general/palettes/13.pal diff --git a/data/tilesets/primary/82D4BB4/palettes/14.pal b/data/tilesets/primary/general/palettes/14.pal similarity index 100% rename from data/tilesets/primary/82D4BB4/palettes/14.pal rename to data/tilesets/primary/general/palettes/14.pal diff --git a/data/tilesets/primary/82D4A94/palettes/15.pal b/data/tilesets/primary/general/palettes/15.pal similarity index 100% rename from data/tilesets/primary/82D4A94/palettes/15.pal rename to data/tilesets/primary/general/palettes/15.pal diff --git a/data/tilesets/primary/82D4A94/tiles.png b/data/tilesets/primary/general/tiles.png similarity index 100% rename from data/tilesets/primary/82D4A94/tiles.png rename to data/tilesets/primary/general/tiles.png diff --git a/data/tilesets/secondary/82D5004/metatile_attributes.bin b/data/tilesets/secondary/berry_forest/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D5004/metatile_attributes.bin rename to data/tilesets/secondary/berry_forest/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D5004/metatiles.bin b/data/tilesets/secondary/berry_forest/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D5004/metatiles.bin rename to data/tilesets/secondary/berry_forest/metatiles.bin diff --git a/data/tilesets/secondary/82D4B3C/palettes/0.pal b/data/tilesets/secondary/berry_forest/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4B3C/palettes/0.pal rename to data/tilesets/secondary/berry_forest/palettes/00.pal diff --git a/data/tilesets/secondary/82D4B3C/palettes/1.pal b/data/tilesets/secondary/berry_forest/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4B3C/palettes/1.pal rename to data/tilesets/secondary/berry_forest/palettes/01.pal diff --git a/data/tilesets/secondary/82D4ADC/palettes/2.pal b/data/tilesets/secondary/berry_forest/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4ADC/palettes/2.pal rename to data/tilesets/secondary/berry_forest/palettes/02.pal diff --git a/data/tilesets/secondary/82D4ADC/palettes/3.pal b/data/tilesets/secondary/berry_forest/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4ADC/palettes/3.pal rename to data/tilesets/secondary/berry_forest/palettes/03.pal diff --git a/data/tilesets/secondary/82D4ADC/palettes/4.pal b/data/tilesets/secondary/berry_forest/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4ADC/palettes/4.pal rename to data/tilesets/secondary/berry_forest/palettes/04.pal diff --git a/data/tilesets/secondary/82D4ADC/palettes/5.pal b/data/tilesets/secondary/berry_forest/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4ADC/palettes/5.pal rename to data/tilesets/secondary/berry_forest/palettes/05.pal diff --git a/data/tilesets/secondary/82D4AC4/palettes/7.pal b/data/tilesets/secondary/berry_forest/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4AC4/palettes/7.pal rename to data/tilesets/secondary/berry_forest/palettes/06.pal diff --git a/data/tilesets/primary/82D4BB4/palettes/9.pal b/data/tilesets/secondary/berry_forest/palettes/07.pal similarity index 100% rename from data/tilesets/primary/82D4BB4/palettes/9.pal rename to data/tilesets/secondary/berry_forest/palettes/07.pal diff --git a/data/tilesets/secondary/82D4DC4/palettes/8.pal b/data/tilesets/secondary/berry_forest/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4DC4/palettes/8.pal rename to data/tilesets/secondary/berry_forest/palettes/08.pal diff --git a/data/tilesets/secondary/82D4DC4/palettes/9.pal b/data/tilesets/secondary/berry_forest/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4DC4/palettes/9.pal rename to data/tilesets/secondary/berry_forest/palettes/09.pal diff --git a/data/tilesets/secondary/82D4DC4/palettes/10.pal b/data/tilesets/secondary/berry_forest/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4DC4/palettes/10.pal rename to data/tilesets/secondary/berry_forest/palettes/10.pal diff --git a/data/tilesets/secondary/82D5004/palettes/11.pal b/data/tilesets/secondary/berry_forest/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D5004/palettes/11.pal rename to data/tilesets/secondary/berry_forest/palettes/11.pal diff --git a/data/tilesets/secondary/82D4C74/palettes/12.pal b/data/tilesets/secondary/berry_forest/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4C74/palettes/12.pal rename to data/tilesets/secondary/berry_forest/palettes/12.pal diff --git a/data/tilesets/secondary/82D4AAC/palettes/13.pal b/data/tilesets/secondary/berry_forest/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4AAC/palettes/13.pal rename to data/tilesets/secondary/berry_forest/palettes/13.pal diff --git a/data/tilesets/secondary/82D4AAC/palettes/14.pal b/data/tilesets/secondary/berry_forest/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4AAC/palettes/14.pal rename to data/tilesets/secondary/berry_forest/palettes/14.pal diff --git a/data/tilesets/secondary/82D4AAC/palettes/15.pal b/data/tilesets/secondary/berry_forest/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4AAC/palettes/15.pal rename to data/tilesets/secondary/berry_forest/palettes/15.pal diff --git a/data/tilesets/secondary/82D5004/tiles.png b/data/tilesets/secondary/berry_forest/tiles.png similarity index 100% rename from data/tilesets/secondary/82D5004/tiles.png rename to data/tilesets/secondary/berry_forest/tiles.png diff --git a/data/tilesets/secondary/82D4C5C/metatile_attributes.bin b/data/tilesets/secondary/bike_shop/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4C5C/metatile_attributes.bin rename to data/tilesets/secondary/bike_shop/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4C5C/metatiles.bin b/data/tilesets/secondary/bike_shop/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4C5C/metatiles.bin rename to data/tilesets/secondary/bike_shop/metatiles.bin diff --git a/data/tilesets/secondary/82D4C5C/palettes/0.pal b/data/tilesets/secondary/bike_shop/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4C5C/palettes/0.pal rename to data/tilesets/secondary/bike_shop/palettes/00.pal diff --git a/data/tilesets/secondary/82D4C5C/palettes/1.pal b/data/tilesets/secondary/bike_shop/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4C5C/palettes/1.pal rename to data/tilesets/secondary/bike_shop/palettes/01.pal diff --git a/data/tilesets/secondary/82D4C5C/palettes/2.pal b/data/tilesets/secondary/bike_shop/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4C5C/palettes/2.pal rename to data/tilesets/secondary/bike_shop/palettes/02.pal diff --git a/data/tilesets/secondary/82D4C5C/palettes/3.pal b/data/tilesets/secondary/bike_shop/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4C5C/palettes/3.pal rename to data/tilesets/secondary/bike_shop/palettes/03.pal diff --git a/data/tilesets/secondary/82D4AAC/palettes/6.pal b/data/tilesets/secondary/bike_shop/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4AAC/palettes/6.pal rename to data/tilesets/secondary/bike_shop/palettes/04.pal diff --git a/data/tilesets/secondary/82D4AC4/palettes/13.pal b/data/tilesets/secondary/bike_shop/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4AC4/palettes/13.pal rename to data/tilesets/secondary/bike_shop/palettes/05.pal diff --git a/data/tilesets/secondary/82D4AC4/palettes/14.pal b/data/tilesets/secondary/bike_shop/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4AC4/palettes/14.pal rename to data/tilesets/secondary/bike_shop/palettes/06.pal diff --git a/data/tilesets/secondary/82D4C5C/palettes/7.pal b/data/tilesets/secondary/bike_shop/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4C5C/palettes/7.pal rename to data/tilesets/secondary/bike_shop/palettes/07.pal diff --git a/data/tilesets/secondary/82D4C5C/palettes/8.pal b/data/tilesets/secondary/bike_shop/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4C5C/palettes/8.pal rename to data/tilesets/secondary/bike_shop/palettes/08.pal diff --git a/data/tilesets/secondary/82D4C5C/palettes/10.pal b/data/tilesets/secondary/bike_shop/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4C5C/palettes/10.pal rename to data/tilesets/secondary/bike_shop/palettes/09.pal diff --git a/data/tilesets/secondary/82D4D1C/palettes/10.pal b/data/tilesets/secondary/bike_shop/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4D1C/palettes/10.pal rename to data/tilesets/secondary/bike_shop/palettes/10.pal diff --git a/data/tilesets/secondary/82D4C5C/palettes/11.pal b/data/tilesets/secondary/bike_shop/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4C5C/palettes/11.pal rename to data/tilesets/secondary/bike_shop/palettes/11.pal diff --git a/data/tilesets/secondary/82D4C5C/palettes/12.pal b/data/tilesets/secondary/bike_shop/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4C5C/palettes/12.pal rename to data/tilesets/secondary/bike_shop/palettes/12.pal diff --git a/data/tilesets/secondary/82D4ADC/palettes/13.pal b/data/tilesets/secondary/bike_shop/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4ADC/palettes/13.pal rename to data/tilesets/secondary/bike_shop/palettes/13.pal diff --git a/data/tilesets/secondary/82D4ADC/palettes/14.pal b/data/tilesets/secondary/bike_shop/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4ADC/palettes/14.pal rename to data/tilesets/secondary/bike_shop/palettes/14.pal diff --git a/data/tilesets/secondary/82D4AC4/palettes/15.pal b/data/tilesets/secondary/bike_shop/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4AC4/palettes/15.pal rename to data/tilesets/secondary/bike_shop/palettes/15.pal diff --git a/data/tilesets/secondary/82D4C5C/tiles.png b/data/tilesets/secondary/bike_shop/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4C5C/tiles.png rename to data/tilesets/secondary/bike_shop/tiles.png diff --git a/data/tilesets/secondary/82D4FA4/metatile_attributes.bin b/data/tilesets/secondary/burgled_house/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4FA4/metatile_attributes.bin rename to data/tilesets/secondary/burgled_house/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4FA4/metatiles.bin b/data/tilesets/secondary/burgled_house/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4FA4/metatiles.bin rename to data/tilesets/secondary/burgled_house/metatiles.bin diff --git a/data/tilesets/secondary/82D4EE4/palettes/0.pal b/data/tilesets/secondary/burgled_house/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4EE4/palettes/0.pal rename to data/tilesets/secondary/burgled_house/palettes/00.pal diff --git a/data/tilesets/secondary/82D4D04/palettes/1.pal b/data/tilesets/secondary/burgled_house/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4D04/palettes/1.pal rename to data/tilesets/secondary/burgled_house/palettes/01.pal diff --git a/data/tilesets/secondary/82D4D04/palettes/2.pal b/data/tilesets/secondary/burgled_house/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4D04/palettes/2.pal rename to data/tilesets/secondary/burgled_house/palettes/02.pal diff --git a/data/tilesets/secondary/82D4D04/palettes/3.pal b/data/tilesets/secondary/burgled_house/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4D04/palettes/3.pal rename to data/tilesets/secondary/burgled_house/palettes/03.pal diff --git a/data/tilesets/secondary/82D4D04/palettes/4.pal b/data/tilesets/secondary/burgled_house/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4D04/palettes/4.pal rename to data/tilesets/secondary/burgled_house/palettes/04.pal diff --git a/data/tilesets/secondary/82D4D04/palettes/5.pal b/data/tilesets/secondary/burgled_house/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4D04/palettes/5.pal rename to data/tilesets/secondary/burgled_house/palettes/05.pal diff --git a/data/tilesets/secondary/82D4D04/palettes/6.pal b/data/tilesets/secondary/burgled_house/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4D04/palettes/6.pal rename to data/tilesets/secondary/burgled_house/palettes/06.pal diff --git a/data/tilesets/secondary/82D4C74/palettes/7.pal b/data/tilesets/secondary/burgled_house/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4C74/palettes/7.pal rename to data/tilesets/secondary/burgled_house/palettes/07.pal diff --git a/data/tilesets/secondary/82D4FA4/palettes/7.pal b/data/tilesets/secondary/burgled_house/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4FA4/palettes/7.pal rename to data/tilesets/secondary/burgled_house/palettes/08.pal diff --git a/data/tilesets/secondary/82D4B84/palettes/7.pal b/data/tilesets/secondary/burgled_house/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4B84/palettes/7.pal rename to data/tilesets/secondary/burgled_house/palettes/09.pal diff --git a/data/tilesets/secondary/82D4C74/palettes/10.pal b/data/tilesets/secondary/burgled_house/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4C74/palettes/10.pal rename to data/tilesets/secondary/burgled_house/palettes/10.pal diff --git a/data/tilesets/secondary/82D4BCC/palettes/11.pal b/data/tilesets/secondary/burgled_house/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4BCC/palettes/11.pal rename to data/tilesets/secondary/burgled_house/palettes/11.pal diff --git a/data/tilesets/secondary/82D4DC4/palettes/12.pal b/data/tilesets/secondary/burgled_house/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4DC4/palettes/12.pal rename to data/tilesets/secondary/burgled_house/palettes/12.pal diff --git a/data/tilesets/secondary/82D4AF4/palettes/13.pal b/data/tilesets/secondary/burgled_house/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4AF4/palettes/13.pal rename to data/tilesets/secondary/burgled_house/palettes/13.pal diff --git a/data/tilesets/secondary/82D4AF4/palettes/14.pal b/data/tilesets/secondary/burgled_house/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4AF4/palettes/14.pal rename to data/tilesets/secondary/burgled_house/palettes/14.pal diff --git a/data/tilesets/secondary/82D4ADC/palettes/15.pal b/data/tilesets/secondary/burgled_house/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4ADC/palettes/15.pal rename to data/tilesets/secondary/burgled_house/palettes/15.pal diff --git a/data/tilesets/secondary/82D4FA4/tiles.png b/data/tilesets/secondary/burgled_house/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4FA4/tiles.png rename to data/tilesets/secondary/burgled_house/tiles.png diff --git a/data/tilesets/secondary/82D4C44/metatile_attributes.bin b/data/tilesets/secondary/cable_club/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4C44/metatile_attributes.bin rename to data/tilesets/secondary/cable_club/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4C44/metatiles.bin b/data/tilesets/secondary/cable_club/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4C44/metatiles.bin rename to data/tilesets/secondary/cable_club/metatiles.bin diff --git a/data/tilesets/secondary/82D4AF4/palettes/15.pal b/data/tilesets/secondary/cable_club/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4AF4/palettes/15.pal rename to data/tilesets/secondary/cable_club/palettes/00.pal diff --git a/data/tilesets/secondary/82D4B0C/palettes/13.pal b/data/tilesets/secondary/cable_club/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4B0C/palettes/13.pal rename to data/tilesets/secondary/cable_club/palettes/01.pal diff --git a/data/tilesets/secondary/82D4B0C/palettes/14.pal b/data/tilesets/secondary/cable_club/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4B0C/palettes/14.pal rename to data/tilesets/secondary/cable_club/palettes/02.pal diff --git a/data/tilesets/secondary/82D4B24/palettes/13.pal b/data/tilesets/secondary/cable_club/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4B24/palettes/13.pal rename to data/tilesets/secondary/cable_club/palettes/03.pal diff --git a/data/tilesets/secondary/82D4B24/palettes/14.pal b/data/tilesets/secondary/cable_club/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4B24/palettes/14.pal rename to data/tilesets/secondary/cable_club/palettes/04.pal diff --git a/data/tilesets/secondary/82D4B3C/palettes/13.pal b/data/tilesets/secondary/cable_club/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4B3C/palettes/13.pal rename to data/tilesets/secondary/cable_club/palettes/05.pal diff --git a/data/tilesets/secondary/82D4B3C/palettes/14.pal b/data/tilesets/secondary/cable_club/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4B3C/palettes/14.pal rename to data/tilesets/secondary/cable_club/palettes/06.pal diff --git a/data/tilesets/secondary/82D4C44/palettes/7.pal b/data/tilesets/secondary/cable_club/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4C44/palettes/7.pal rename to data/tilesets/secondary/cable_club/palettes/07.pal diff --git a/data/tilesets/secondary/82D4C44/palettes/8.pal b/data/tilesets/secondary/cable_club/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4C44/palettes/8.pal rename to data/tilesets/secondary/cable_club/palettes/08.pal diff --git a/data/tilesets/secondary/82D4C44/palettes/9.pal b/data/tilesets/secondary/cable_club/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4C44/palettes/9.pal rename to data/tilesets/secondary/cable_club/palettes/09.pal diff --git a/data/tilesets/secondary/82D4C44/palettes/10.pal b/data/tilesets/secondary/cable_club/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4C44/palettes/10.pal rename to data/tilesets/secondary/cable_club/palettes/10.pal diff --git a/data/tilesets/secondary/82D4C44/palettes/11.pal b/data/tilesets/secondary/cable_club/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4C44/palettes/11.pal rename to data/tilesets/secondary/cable_club/palettes/11.pal diff --git a/data/tilesets/secondary/82D4C44/palettes/12.pal b/data/tilesets/secondary/cable_club/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4C44/palettes/12.pal rename to data/tilesets/secondary/cable_club/palettes/12.pal diff --git a/data/tilesets/secondary/82D4B54/palettes/13.pal b/data/tilesets/secondary/cable_club/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4B54/palettes/13.pal rename to data/tilesets/secondary/cable_club/palettes/13.pal diff --git a/data/tilesets/secondary/82D4B54/palettes/14.pal b/data/tilesets/secondary/cable_club/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4B54/palettes/14.pal rename to data/tilesets/secondary/cable_club/palettes/14.pal diff --git a/data/tilesets/secondary/82D4B3C/palettes/15.pal b/data/tilesets/secondary/cable_club/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4B3C/palettes/15.pal rename to data/tilesets/secondary/cable_club/palettes/15.pal diff --git a/data/tilesets/secondary/82D4C44/tiles.png b/data/tilesets/secondary/cable_club/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4C44/tiles.png rename to data/tilesets/secondary/cable_club/tiles.png diff --git a/data/tilesets/secondary/82D4BFC/metatile_attributes.bin b/data/tilesets/secondary/cave/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4BFC/metatile_attributes.bin rename to data/tilesets/secondary/cave/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4BFC/metatiles.bin b/data/tilesets/secondary/cave/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4BFC/metatiles.bin rename to data/tilesets/secondary/cave/metatiles.bin diff --git a/data/tilesets/secondary/82D4AC4/palettes/0.pal b/data/tilesets/secondary/cave/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4AC4/palettes/0.pal rename to data/tilesets/secondary/cave/palettes/00.pal diff --git a/data/tilesets/secondary/82D4B24/palettes/1.pal b/data/tilesets/secondary/cave/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4B24/palettes/1.pal rename to data/tilesets/secondary/cave/palettes/01.pal diff --git a/data/tilesets/secondary/82D4B0C/palettes/2.pal b/data/tilesets/secondary/cave/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4B0C/palettes/2.pal rename to data/tilesets/secondary/cave/palettes/02.pal diff --git a/data/tilesets/secondary/82D4BFC/palettes/3.pal b/data/tilesets/secondary/cave/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4BFC/palettes/3.pal rename to data/tilesets/secondary/cave/palettes/03.pal diff --git a/data/tilesets/secondary/82D4BFC/palettes/4.pal b/data/tilesets/secondary/cave/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4BFC/palettes/4.pal rename to data/tilesets/secondary/cave/palettes/04.pal diff --git a/data/tilesets/secondary/82D4B0C/palettes/5.pal b/data/tilesets/secondary/cave/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4B0C/palettes/5.pal rename to data/tilesets/secondary/cave/palettes/05.pal diff --git a/data/tilesets/secondary/82D4B24/palettes/6.pal b/data/tilesets/secondary/cave/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4B24/palettes/6.pal rename to data/tilesets/secondary/cave/palettes/06.pal diff --git a/data/tilesets/secondary/82D4BFC/palettes/7.pal b/data/tilesets/secondary/cave/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4BFC/palettes/7.pal rename to data/tilesets/secondary/cave/palettes/07.pal diff --git a/data/tilesets/secondary/82D4BFC/palettes/8.pal b/data/tilesets/secondary/cave/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4BFC/palettes/8.pal rename to data/tilesets/secondary/cave/palettes/08.pal diff --git a/data/tilesets/secondary/82D4BFC/palettes/9.pal b/data/tilesets/secondary/cave/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4BFC/palettes/9.pal rename to data/tilesets/secondary/cave/palettes/09.pal diff --git a/data/tilesets/secondary/82D4BFC/palettes/10.pal b/data/tilesets/secondary/cave/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4BFC/palettes/10.pal rename to data/tilesets/secondary/cave/palettes/10.pal diff --git a/data/tilesets/secondary/82D4BFC/palettes/11.pal b/data/tilesets/secondary/cave/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4BFC/palettes/11.pal rename to data/tilesets/secondary/cave/palettes/11.pal diff --git a/data/tilesets/secondary/82D4BFC/palettes/12.pal b/data/tilesets/secondary/cave/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4BFC/palettes/12.pal rename to data/tilesets/secondary/cave/palettes/12.pal diff --git a/data/tilesets/secondary/82D4B6C/palettes/13.pal b/data/tilesets/secondary/cave/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4B6C/palettes/13.pal rename to data/tilesets/secondary/cave/palettes/13.pal diff --git a/data/tilesets/secondary/82D4B6C/palettes/14.pal b/data/tilesets/secondary/cave/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4B6C/palettes/14.pal rename to data/tilesets/secondary/cave/palettes/14.pal diff --git a/data/tilesets/secondary/82D4B54/palettes/15.pal b/data/tilesets/secondary/cave/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4B54/palettes/15.pal rename to data/tilesets/secondary/cave/palettes/15.pal diff --git a/data/tilesets/secondary/82D4BFC/tiles.png b/data/tilesets/secondary/cave/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4BFC/tiles.png rename to data/tilesets/secondary/cave/tiles.png diff --git a/data/tilesets/secondary/82D4B3C/metatile_attributes.bin b/data/tilesets/secondary/celadon_city/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4B3C/metatile_attributes.bin rename to data/tilesets/secondary/celadon_city/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4B3C/metatiles.bin b/data/tilesets/secondary/celadon_city/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4B3C/metatiles.bin rename to data/tilesets/secondary/celadon_city/metatiles.bin diff --git a/data/tilesets/secondary/82D4DC4/palettes/0.pal b/data/tilesets/secondary/celadon_city/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4DC4/palettes/0.pal rename to data/tilesets/secondary/celadon_city/palettes/00.pal diff --git a/data/tilesets/secondary/82D4B54/palettes/1.pal b/data/tilesets/secondary/celadon_city/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4B54/palettes/1.pal rename to data/tilesets/secondary/celadon_city/palettes/01.pal diff --git a/data/tilesets/secondary/82D4B3C/palettes/2.pal b/data/tilesets/secondary/celadon_city/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4B3C/palettes/2.pal rename to data/tilesets/secondary/celadon_city/palettes/02.pal diff --git a/data/tilesets/secondary/82D4AF4/palettes/3.pal b/data/tilesets/secondary/celadon_city/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4AF4/palettes/3.pal rename to data/tilesets/secondary/celadon_city/palettes/03.pal diff --git a/data/tilesets/secondary/82D4B3C/palettes/4.pal b/data/tilesets/secondary/celadon_city/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4B3C/palettes/4.pal rename to data/tilesets/secondary/celadon_city/palettes/04.pal diff --git a/data/tilesets/secondary/82D4B3C/palettes/5.pal b/data/tilesets/secondary/celadon_city/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4B3C/palettes/5.pal rename to data/tilesets/secondary/celadon_city/palettes/05.pal diff --git a/data/tilesets/secondary/82D4B3C/palettes/6.pal b/data/tilesets/secondary/celadon_city/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4B3C/palettes/6.pal rename to data/tilesets/secondary/celadon_city/palettes/06.pal diff --git a/data/tilesets/secondary/82D4B3C/palettes/7.pal b/data/tilesets/secondary/celadon_city/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4B3C/palettes/7.pal rename to data/tilesets/secondary/celadon_city/palettes/07.pal diff --git a/data/tilesets/secondary/82D4B3C/palettes/8.pal b/data/tilesets/secondary/celadon_city/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4B3C/palettes/8.pal rename to data/tilesets/secondary/celadon_city/palettes/08.pal diff --git a/data/tilesets/secondary/82D4B3C/palettes/9.pal b/data/tilesets/secondary/celadon_city/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4B3C/palettes/9.pal rename to data/tilesets/secondary/celadon_city/palettes/09.pal diff --git a/data/tilesets/secondary/82D4B3C/palettes/10.pal b/data/tilesets/secondary/celadon_city/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4B3C/palettes/10.pal rename to data/tilesets/secondary/celadon_city/palettes/10.pal diff --git a/data/tilesets/secondary/82D4B3C/palettes/11.pal b/data/tilesets/secondary/celadon_city/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4B3C/palettes/11.pal rename to data/tilesets/secondary/celadon_city/palettes/11.pal diff --git a/data/tilesets/secondary/82D4B3C/palettes/12.pal b/data/tilesets/secondary/celadon_city/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4B3C/palettes/12.pal rename to data/tilesets/secondary/celadon_city/palettes/12.pal diff --git a/data/tilesets/secondary/82D4B84/palettes/13.pal b/data/tilesets/secondary/celadon_city/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4B84/palettes/13.pal rename to data/tilesets/secondary/celadon_city/palettes/13.pal diff --git a/data/tilesets/secondary/82D4B84/palettes/14.pal b/data/tilesets/secondary/celadon_city/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4B84/palettes/14.pal rename to data/tilesets/secondary/celadon_city/palettes/14.pal diff --git a/data/tilesets/secondary/82D4B6C/palettes/15.pal b/data/tilesets/secondary/celadon_city/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4B6C/palettes/15.pal rename to data/tilesets/secondary/celadon_city/palettes/15.pal diff --git a/data/tilesets/secondary/82D4B3C/tiles.png b/data/tilesets/secondary/celadon_city/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4B3C/tiles.png rename to data/tilesets/secondary/celadon_city/tiles.png diff --git a/data/tilesets/secondary/82D4D4C/metatile_attributes.bin b/data/tilesets/secondary/celadon_gym/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4D4C/metatile_attributes.bin rename to data/tilesets/secondary/celadon_gym/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4D4C/metatiles.bin b/data/tilesets/secondary/celadon_gym/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4D4C/metatiles.bin rename to data/tilesets/secondary/celadon_gym/metatiles.bin diff --git a/data/tilesets/secondary/82D4BCC/palettes/0.pal b/data/tilesets/secondary/celadon_gym/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4BCC/palettes/0.pal rename to data/tilesets/secondary/celadon_gym/palettes/00.pal diff --git a/data/tilesets/secondary/82D4C2C/palettes/1.pal b/data/tilesets/secondary/celadon_gym/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4C2C/palettes/1.pal rename to data/tilesets/secondary/celadon_gym/palettes/01.pal diff --git a/data/tilesets/secondary/82D4C2C/palettes/2.pal b/data/tilesets/secondary/celadon_gym/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4C2C/palettes/2.pal rename to data/tilesets/secondary/celadon_gym/palettes/02.pal diff --git a/data/tilesets/secondary/82D4D4C/palettes/3.pal b/data/tilesets/secondary/celadon_gym/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4D4C/palettes/3.pal rename to data/tilesets/secondary/celadon_gym/palettes/03.pal diff --git a/data/tilesets/secondary/82D4BCC/palettes/4.pal b/data/tilesets/secondary/celadon_gym/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4BCC/palettes/4.pal rename to data/tilesets/secondary/celadon_gym/palettes/04.pal diff --git a/data/tilesets/secondary/82D4BCC/palettes/5.pal b/data/tilesets/secondary/celadon_gym/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4BCC/palettes/5.pal rename to data/tilesets/secondary/celadon_gym/palettes/05.pal diff --git a/data/tilesets/secondary/82D4B84/palettes/15.pal b/data/tilesets/secondary/celadon_gym/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4B84/palettes/15.pal rename to data/tilesets/secondary/celadon_gym/palettes/06.pal diff --git a/data/tilesets/secondary/82D4D4C/palettes/7.pal b/data/tilesets/secondary/celadon_gym/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4D4C/palettes/7.pal rename to data/tilesets/secondary/celadon_gym/palettes/07.pal diff --git a/data/tilesets/secondary/82D4D4C/palettes/8.pal b/data/tilesets/secondary/celadon_gym/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4D4C/palettes/8.pal rename to data/tilesets/secondary/celadon_gym/palettes/08.pal diff --git a/data/tilesets/secondary/82D4CA4/palettes/7.pal b/data/tilesets/secondary/celadon_gym/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4CA4/palettes/7.pal rename to data/tilesets/secondary/celadon_gym/palettes/09.pal diff --git a/data/tilesets/secondary/82D4C14/palettes/10.pal b/data/tilesets/secondary/celadon_gym/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4C14/palettes/10.pal rename to data/tilesets/secondary/celadon_gym/palettes/10.pal diff --git a/data/tilesets/secondary/82D4C14/palettes/11.pal b/data/tilesets/secondary/celadon_gym/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4C14/palettes/11.pal rename to data/tilesets/secondary/celadon_gym/palettes/11.pal diff --git a/data/tilesets/secondary/82D4D4C/palettes/12.pal b/data/tilesets/secondary/celadon_gym/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4D4C/palettes/12.pal rename to data/tilesets/secondary/celadon_gym/palettes/12.pal diff --git a/data/tilesets/secondary/82D4B9C/palettes/13.pal b/data/tilesets/secondary/celadon_gym/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4B9C/palettes/13.pal rename to data/tilesets/secondary/celadon_gym/palettes/13.pal diff --git a/data/tilesets/secondary/82D4B9C/palettes/14.pal b/data/tilesets/secondary/celadon_gym/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4B9C/palettes/14.pal rename to data/tilesets/secondary/celadon_gym/palettes/14.pal diff --git a/data/tilesets/secondary/82D4BFC/palettes/15.pal b/data/tilesets/secondary/celadon_gym/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4BFC/palettes/15.pal rename to data/tilesets/secondary/celadon_gym/palettes/15.pal diff --git a/data/tilesets/secondary/82D4D4C/tiles.png b/data/tilesets/secondary/celadon_gym/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4D4C/tiles.png rename to data/tilesets/secondary/celadon_gym/tiles.png diff --git a/data/tilesets/secondary/82D4E54/metatile_attributes.bin b/data/tilesets/secondary/cerulean_cave/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4E54/metatile_attributes.bin rename to data/tilesets/secondary/cerulean_cave/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4E54/metatiles.bin b/data/tilesets/secondary/cerulean_cave/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4E54/metatiles.bin rename to data/tilesets/secondary/cerulean_cave/metatiles.bin diff --git a/data/tilesets/secondary/82D4E0C/palettes/0.pal b/data/tilesets/secondary/cerulean_cave/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4E0C/palettes/0.pal rename to data/tilesets/secondary/cerulean_cave/palettes/00.pal diff --git a/data/tilesets/secondary/82D4B0C/palettes/1.pal b/data/tilesets/secondary/cerulean_cave/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4B0C/palettes/1.pal rename to data/tilesets/secondary/cerulean_cave/palettes/01.pal diff --git a/data/tilesets/secondary/82D4B54/palettes/2.pal b/data/tilesets/secondary/cerulean_cave/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4B54/palettes/2.pal rename to data/tilesets/secondary/cerulean_cave/palettes/02.pal diff --git a/data/tilesets/secondary/82D4B0C/palettes/3.pal b/data/tilesets/secondary/cerulean_cave/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4B0C/palettes/3.pal rename to data/tilesets/secondary/cerulean_cave/palettes/03.pal diff --git a/data/tilesets/secondary/82D4B54/palettes/4.pal b/data/tilesets/secondary/cerulean_cave/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4B54/palettes/4.pal rename to data/tilesets/secondary/cerulean_cave/palettes/04.pal diff --git a/data/tilesets/secondary/82D4B24/palettes/5.pal b/data/tilesets/secondary/cerulean_cave/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4B24/palettes/5.pal rename to data/tilesets/secondary/cerulean_cave/palettes/05.pal diff --git a/data/tilesets/secondary/82D4AAC/palettes/7.pal b/data/tilesets/secondary/cerulean_cave/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4AAC/palettes/7.pal rename to data/tilesets/secondary/cerulean_cave/palettes/06.pal diff --git a/data/tilesets/secondary/82D4ADC/palettes/12.pal b/data/tilesets/secondary/cerulean_cave/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4ADC/palettes/12.pal rename to data/tilesets/secondary/cerulean_cave/palettes/07.pal diff --git a/data/tilesets/secondary/82D4E54/palettes/8.pal b/data/tilesets/secondary/cerulean_cave/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4E54/palettes/8.pal rename to data/tilesets/secondary/cerulean_cave/palettes/08.pal diff --git a/data/tilesets/secondary/82D4E54/palettes/9.pal b/data/tilesets/secondary/cerulean_cave/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4E54/palettes/9.pal rename to data/tilesets/secondary/cerulean_cave/palettes/09.pal diff --git a/data/tilesets/secondary/82D4E54/palettes/10.pal b/data/tilesets/secondary/cerulean_cave/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4E54/palettes/10.pal rename to data/tilesets/secondary/cerulean_cave/palettes/10.pal diff --git a/data/tilesets/secondary/82D4E54/palettes/11.pal b/data/tilesets/secondary/cerulean_cave/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4E54/palettes/11.pal rename to data/tilesets/secondary/cerulean_cave/palettes/11.pal diff --git a/data/tilesets/secondary/82D4E54/palettes/12.pal b/data/tilesets/secondary/cerulean_cave/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4E54/palettes/12.pal rename to data/tilesets/secondary/cerulean_cave/palettes/12.pal diff --git a/data/tilesets/secondary/82D4BCC/palettes/13.pal b/data/tilesets/secondary/cerulean_cave/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4BCC/palettes/13.pal rename to data/tilesets/secondary/cerulean_cave/palettes/13.pal diff --git a/data/tilesets/secondary/82D4BCC/palettes/14.pal b/data/tilesets/secondary/cerulean_cave/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4BCC/palettes/14.pal rename to data/tilesets/secondary/cerulean_cave/palettes/14.pal diff --git a/data/tilesets/secondary/82D4C14/palettes/15.pal b/data/tilesets/secondary/cerulean_cave/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4C14/palettes/15.pal rename to data/tilesets/secondary/cerulean_cave/palettes/15.pal diff --git a/data/tilesets/secondary/82D4E54/tiles.png b/data/tilesets/secondary/cerulean_cave/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4E54/tiles.png rename to data/tilesets/secondary/cerulean_cave/tiles.png diff --git a/data/tilesets/secondary/82D4AF4/metatile_attributes.bin b/data/tilesets/secondary/cerulean_city/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4AF4/metatile_attributes.bin rename to data/tilesets/secondary/cerulean_city/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4AF4/metatiles.bin b/data/tilesets/secondary/cerulean_city/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4AF4/metatiles.bin rename to data/tilesets/secondary/cerulean_city/metatiles.bin diff --git a/data/tilesets/secondary/82D4AF4/palettes/0.pal b/data/tilesets/secondary/cerulean_city/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4AF4/palettes/0.pal rename to data/tilesets/secondary/cerulean_city/palettes/00.pal diff --git a/data/tilesets/secondary/82D4AF4/palettes/1.pal b/data/tilesets/secondary/cerulean_city/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4AF4/palettes/1.pal rename to data/tilesets/secondary/cerulean_city/palettes/01.pal diff --git a/data/tilesets/secondary/82D4AC4/palettes/2.pal b/data/tilesets/secondary/cerulean_city/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4AC4/palettes/2.pal rename to data/tilesets/secondary/cerulean_city/palettes/02.pal diff --git a/data/tilesets/secondary/82D4B3C/palettes/3.pal b/data/tilesets/secondary/cerulean_city/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4B3C/palettes/3.pal rename to data/tilesets/secondary/cerulean_city/palettes/03.pal diff --git a/data/tilesets/secondary/82D4AF4/palettes/4.pal b/data/tilesets/secondary/cerulean_city/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4AF4/palettes/4.pal rename to data/tilesets/secondary/cerulean_city/palettes/04.pal diff --git a/data/tilesets/secondary/82D4AF4/palettes/5.pal b/data/tilesets/secondary/cerulean_city/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4AF4/palettes/5.pal rename to data/tilesets/secondary/cerulean_city/palettes/05.pal diff --git a/data/tilesets/secondary/82D4AF4/palettes/6.pal b/data/tilesets/secondary/cerulean_city/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4AF4/palettes/6.pal rename to data/tilesets/secondary/cerulean_city/palettes/06.pal diff --git a/data/tilesets/secondary/82D4ADC/palettes/6.pal b/data/tilesets/secondary/cerulean_city/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4ADC/palettes/6.pal rename to data/tilesets/secondary/cerulean_city/palettes/07.pal diff --git a/data/tilesets/secondary/82D4AF4/palettes/8.pal b/data/tilesets/secondary/cerulean_city/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4AF4/palettes/8.pal rename to data/tilesets/secondary/cerulean_city/palettes/08.pal diff --git a/data/tilesets/secondary/82D4AF4/palettes/9.pal b/data/tilesets/secondary/cerulean_city/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4AF4/palettes/9.pal rename to data/tilesets/secondary/cerulean_city/palettes/09.pal diff --git a/data/tilesets/secondary/82D4AF4/palettes/10.pal b/data/tilesets/secondary/cerulean_city/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4AF4/palettes/10.pal rename to data/tilesets/secondary/cerulean_city/palettes/10.pal diff --git a/data/tilesets/secondary/82D4AF4/palettes/11.pal b/data/tilesets/secondary/cerulean_city/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4AF4/palettes/11.pal rename to data/tilesets/secondary/cerulean_city/palettes/11.pal diff --git a/data/tilesets/secondary/82D4AF4/palettes/12.pal b/data/tilesets/secondary/cerulean_city/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4AF4/palettes/12.pal rename to data/tilesets/secondary/cerulean_city/palettes/12.pal diff --git a/data/tilesets/secondary/82D4BE4/palettes/13.pal b/data/tilesets/secondary/cerulean_city/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4BE4/palettes/13.pal rename to data/tilesets/secondary/cerulean_city/palettes/13.pal diff --git a/data/tilesets/secondary/82D4BE4/palettes/14.pal b/data/tilesets/secondary/cerulean_city/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4BE4/palettes/14.pal rename to data/tilesets/secondary/cerulean_city/palettes/14.pal diff --git a/data/tilesets/secondary/82D4C2C/palettes/15.pal b/data/tilesets/secondary/cerulean_city/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4C2C/palettes/15.pal rename to data/tilesets/secondary/cerulean_city/palettes/15.pal diff --git a/data/tilesets/secondary/82D4AF4/tiles.png b/data/tilesets/secondary/cerulean_city/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4AF4/tiles.png rename to data/tilesets/secondary/cerulean_city/tiles.png diff --git a/data/tilesets/secondary/82D4D1C/metatile_attributes.bin b/data/tilesets/secondary/cerulean_gym/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4D1C/metatile_attributes.bin rename to data/tilesets/secondary/cerulean_gym/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4D1C/metatiles.bin b/data/tilesets/secondary/cerulean_gym/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4D1C/metatiles.bin rename to data/tilesets/secondary/cerulean_gym/metatiles.bin diff --git a/data/tilesets/secondary/82D4D1C/palettes/0.pal b/data/tilesets/secondary/cerulean_gym/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4D1C/palettes/0.pal rename to data/tilesets/secondary/cerulean_gym/palettes/00.pal diff --git a/data/tilesets/secondary/82D4D1C/palettes/1.pal b/data/tilesets/secondary/cerulean_gym/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4D1C/palettes/1.pal rename to data/tilesets/secondary/cerulean_gym/palettes/01.pal diff --git a/data/tilesets/secondary/82D4D1C/palettes/2.pal b/data/tilesets/secondary/cerulean_gym/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4D1C/palettes/2.pal rename to data/tilesets/secondary/cerulean_gym/palettes/02.pal diff --git a/data/tilesets/secondary/82D4D1C/palettes/3.pal b/data/tilesets/secondary/cerulean_gym/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4D1C/palettes/3.pal rename to data/tilesets/secondary/cerulean_gym/palettes/03.pal diff --git a/data/tilesets/secondary/82D4BCC/palettes/12.pal b/data/tilesets/secondary/cerulean_gym/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4BCC/palettes/12.pal rename to data/tilesets/secondary/cerulean_gym/palettes/04.pal diff --git a/data/tilesets/secondary/82D4BCC/palettes/6.pal b/data/tilesets/secondary/cerulean_gym/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4BCC/palettes/6.pal rename to data/tilesets/secondary/cerulean_gym/palettes/05.pal diff --git a/data/tilesets/secondary/82D4BE4/palettes/6.pal b/data/tilesets/secondary/cerulean_gym/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4BE4/palettes/6.pal rename to data/tilesets/secondary/cerulean_gym/palettes/06.pal diff --git a/data/tilesets/secondary/82D4D1C/palettes/7.pal b/data/tilesets/secondary/cerulean_gym/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4D1C/palettes/7.pal rename to data/tilesets/secondary/cerulean_gym/palettes/07.pal diff --git a/data/tilesets/secondary/82D4C5C/palettes/9.pal b/data/tilesets/secondary/cerulean_gym/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4C5C/palettes/9.pal rename to data/tilesets/secondary/cerulean_gym/palettes/08.pal diff --git a/data/tilesets/secondary/82D4D1C/palettes/11.pal b/data/tilesets/secondary/cerulean_gym/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4D1C/palettes/11.pal rename to data/tilesets/secondary/cerulean_gym/palettes/09.pal diff --git a/data/tilesets/secondary/82D4F44/palettes/10.pal b/data/tilesets/secondary/cerulean_gym/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4F44/palettes/10.pal rename to data/tilesets/secondary/cerulean_gym/palettes/10.pal diff --git a/data/tilesets/secondary/82D4F44/palettes/11.pal b/data/tilesets/secondary/cerulean_gym/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4F44/palettes/11.pal rename to data/tilesets/secondary/cerulean_gym/palettes/11.pal diff --git a/data/tilesets/secondary/82D4D1C/palettes/12.pal b/data/tilesets/secondary/cerulean_gym/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4D1C/palettes/12.pal rename to data/tilesets/secondary/cerulean_gym/palettes/12.pal diff --git a/data/tilesets/secondary/82D4BFC/palettes/13.pal b/data/tilesets/secondary/cerulean_gym/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4BFC/palettes/13.pal rename to data/tilesets/secondary/cerulean_gym/palettes/13.pal diff --git a/data/tilesets/secondary/82D4BFC/palettes/14.pal b/data/tilesets/secondary/cerulean_gym/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4BFC/palettes/14.pal rename to data/tilesets/secondary/cerulean_gym/palettes/14.pal diff --git a/data/tilesets/secondary/82D4C44/palettes/15.pal b/data/tilesets/secondary/cerulean_gym/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4C44/palettes/15.pal rename to data/tilesets/secondary/cerulean_gym/palettes/15.pal diff --git a/data/tilesets/secondary/82D4D1C/tiles.png b/data/tilesets/secondary/cerulean_gym/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4D1C/tiles.png rename to data/tilesets/secondary/cerulean_gym/tiles.png diff --git a/data/tilesets/secondary/82D4D7C/metatile_attributes.bin b/data/tilesets/secondary/cinnabar_gym/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4D7C/metatile_attributes.bin rename to data/tilesets/secondary/cinnabar_gym/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4D7C/metatiles.bin b/data/tilesets/secondary/cinnabar_gym/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4D7C/metatiles.bin rename to data/tilesets/secondary/cinnabar_gym/metatiles.bin diff --git a/data/tilesets/secondary/82D4BE4/palettes/0.pal b/data/tilesets/secondary/cinnabar_gym/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4BE4/palettes/0.pal rename to data/tilesets/secondary/cinnabar_gym/palettes/00.pal diff --git a/data/tilesets/secondary/82D4C74/palettes/1.pal b/data/tilesets/secondary/cinnabar_gym/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4C74/palettes/1.pal rename to data/tilesets/secondary/cinnabar_gym/palettes/01.pal diff --git a/data/tilesets/secondary/82D4D4C/palettes/2.pal b/data/tilesets/secondary/cinnabar_gym/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4D4C/palettes/2.pal rename to data/tilesets/secondary/cinnabar_gym/palettes/02.pal diff --git a/data/tilesets/secondary/82D4D7C/palettes/3.pal b/data/tilesets/secondary/cinnabar_gym/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4D7C/palettes/3.pal rename to data/tilesets/secondary/cinnabar_gym/palettes/03.pal diff --git a/data/tilesets/secondary/82D4BE4/palettes/4.pal b/data/tilesets/secondary/cinnabar_gym/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4BE4/palettes/4.pal rename to data/tilesets/secondary/cinnabar_gym/palettes/04.pal diff --git a/data/tilesets/secondary/82D4BE4/palettes/5.pal b/data/tilesets/secondary/cinnabar_gym/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4BE4/palettes/5.pal rename to data/tilesets/secondary/cinnabar_gym/palettes/05.pal diff --git a/data/tilesets/secondary/82D4C14/palettes/0.pal b/data/tilesets/secondary/cinnabar_gym/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4C14/palettes/0.pal rename to data/tilesets/secondary/cinnabar_gym/palettes/06.pal diff --git a/data/tilesets/secondary/82D4D7C/palettes/7.pal b/data/tilesets/secondary/cinnabar_gym/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4D7C/palettes/7.pal rename to data/tilesets/secondary/cinnabar_gym/palettes/07.pal diff --git a/data/tilesets/secondary/82D4D7C/palettes/8.pal b/data/tilesets/secondary/cinnabar_gym/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4D7C/palettes/8.pal rename to data/tilesets/secondary/cinnabar_gym/palettes/08.pal diff --git a/data/tilesets/secondary/82D4C14/palettes/1.pal b/data/tilesets/secondary/cinnabar_gym/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4C14/palettes/1.pal rename to data/tilesets/secondary/cinnabar_gym/palettes/09.pal diff --git a/data/tilesets/secondary/82D4D4C/palettes/10.pal b/data/tilesets/secondary/cinnabar_gym/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4D4C/palettes/10.pal rename to data/tilesets/secondary/cinnabar_gym/palettes/10.pal diff --git a/data/tilesets/secondary/82D4C2C/palettes/11.pal b/data/tilesets/secondary/cinnabar_gym/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4C2C/palettes/11.pal rename to data/tilesets/secondary/cinnabar_gym/palettes/11.pal diff --git a/data/tilesets/secondary/82D4D7C/palettes/12.pal b/data/tilesets/secondary/cinnabar_gym/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4D7C/palettes/12.pal rename to data/tilesets/secondary/cinnabar_gym/palettes/12.pal diff --git a/data/tilesets/secondary/82D4C14/palettes/13.pal b/data/tilesets/secondary/cinnabar_gym/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4C14/palettes/13.pal rename to data/tilesets/secondary/cinnabar_gym/palettes/13.pal diff --git a/data/tilesets/secondary/82D4C14/palettes/14.pal b/data/tilesets/secondary/cinnabar_gym/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4C14/palettes/14.pal rename to data/tilesets/secondary/cinnabar_gym/palettes/14.pal diff --git a/data/tilesets/secondary/82D4BCC/palettes/15.pal b/data/tilesets/secondary/cinnabar_gym/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4BCC/palettes/15.pal rename to data/tilesets/secondary/cinnabar_gym/palettes/15.pal diff --git a/data/tilesets/secondary/82D4D7C/tiles.png b/data/tilesets/secondary/cinnabar_gym/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4D7C/tiles.png rename to data/tilesets/secondary/cinnabar_gym/tiles.png diff --git a/data/tilesets/secondary/82D4B6C/metatile_attributes.bin b/data/tilesets/secondary/cinnabar_island/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4B6C/metatile_attributes.bin rename to data/tilesets/secondary/cinnabar_island/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4B6C/metatiles.bin b/data/tilesets/secondary/cinnabar_island/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4B6C/metatiles.bin rename to data/tilesets/secondary/cinnabar_island/metatiles.bin diff --git a/data/tilesets/secondary/82D4B6C/palettes/0.pal b/data/tilesets/secondary/cinnabar_island/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4B6C/palettes/0.pal rename to data/tilesets/secondary/cinnabar_island/palettes/00.pal diff --git a/data/tilesets/secondary/82D4B6C/palettes/1.pal b/data/tilesets/secondary/cinnabar_island/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4B6C/palettes/1.pal rename to data/tilesets/secondary/cinnabar_island/palettes/01.pal diff --git a/data/tilesets/secondary/82D4B6C/palettes/2.pal b/data/tilesets/secondary/cinnabar_island/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4B6C/palettes/2.pal rename to data/tilesets/secondary/cinnabar_island/palettes/02.pal diff --git a/data/tilesets/secondary/82D4B24/palettes/3.pal b/data/tilesets/secondary/cinnabar_island/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4B24/palettes/3.pal rename to data/tilesets/secondary/cinnabar_island/palettes/03.pal diff --git a/data/tilesets/secondary/82D4B6C/palettes/4.pal b/data/tilesets/secondary/cinnabar_island/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4B6C/palettes/4.pal rename to data/tilesets/secondary/cinnabar_island/palettes/04.pal diff --git a/data/tilesets/secondary/82D4B54/palettes/5.pal b/data/tilesets/secondary/cinnabar_island/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4B54/palettes/5.pal rename to data/tilesets/secondary/cinnabar_island/palettes/05.pal diff --git a/data/tilesets/secondary/82D4ADC/palettes/7.pal b/data/tilesets/secondary/cinnabar_island/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4ADC/palettes/7.pal rename to data/tilesets/secondary/cinnabar_island/palettes/06.pal diff --git a/data/tilesets/secondary/82D4AF4/palettes/7.pal b/data/tilesets/secondary/cinnabar_island/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4AF4/palettes/7.pal rename to data/tilesets/secondary/cinnabar_island/palettes/07.pal diff --git a/data/tilesets/secondary/82D4B6C/palettes/8.pal b/data/tilesets/secondary/cinnabar_island/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4B6C/palettes/8.pal rename to data/tilesets/secondary/cinnabar_island/palettes/08.pal diff --git a/data/tilesets/secondary/82D4B6C/palettes/9.pal b/data/tilesets/secondary/cinnabar_island/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4B6C/palettes/9.pal rename to data/tilesets/secondary/cinnabar_island/palettes/09.pal diff --git a/data/tilesets/secondary/82D4B6C/palettes/10.pal b/data/tilesets/secondary/cinnabar_island/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4B6C/palettes/10.pal rename to data/tilesets/secondary/cinnabar_island/palettes/10.pal diff --git a/data/tilesets/secondary/82D4B6C/palettes/11.pal b/data/tilesets/secondary/cinnabar_island/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4B6C/palettes/11.pal rename to data/tilesets/secondary/cinnabar_island/palettes/11.pal diff --git a/data/tilesets/secondary/82D4B6C/palettes/12.pal b/data/tilesets/secondary/cinnabar_island/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4B6C/palettes/12.pal rename to data/tilesets/secondary/cinnabar_island/palettes/12.pal diff --git a/data/tilesets/secondary/82D4C2C/palettes/13.pal b/data/tilesets/secondary/cinnabar_island/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4C2C/palettes/13.pal rename to data/tilesets/secondary/cinnabar_island/palettes/13.pal diff --git a/data/tilesets/secondary/82D4C2C/palettes/14.pal b/data/tilesets/secondary/cinnabar_island/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4C2C/palettes/14.pal rename to data/tilesets/secondary/cinnabar_island/palettes/14.pal diff --git a/data/tilesets/secondary/82D4C5C/palettes/15.pal b/data/tilesets/secondary/cinnabar_island/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4C5C/palettes/15.pal rename to data/tilesets/secondary/cinnabar_island/palettes/15.pal diff --git a/data/tilesets/secondary/82D4B6C/tiles.png b/data/tilesets/secondary/cinnabar_island/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4B6C/tiles.png rename to data/tilesets/secondary/cinnabar_island/tiles.png diff --git a/data/tilesets/secondary/82D4F8C/metatile_attributes.bin b/data/tilesets/secondary/condominiums/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4F8C/metatile_attributes.bin rename to data/tilesets/secondary/condominiums/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4F8C/metatiles.bin b/data/tilesets/secondary/condominiums/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4F8C/metatiles.bin rename to data/tilesets/secondary/condominiums/metatiles.bin diff --git a/data/tilesets/secondary/82D4F8C/palettes/0.pal b/data/tilesets/secondary/condominiums/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4F8C/palettes/0.pal rename to data/tilesets/secondary/condominiums/palettes/00.pal diff --git a/data/tilesets/secondary/82D4EE4/palettes/1.pal b/data/tilesets/secondary/condominiums/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4EE4/palettes/1.pal rename to data/tilesets/secondary/condominiums/palettes/01.pal diff --git a/data/tilesets/secondary/82D4EE4/palettes/2.pal b/data/tilesets/secondary/condominiums/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4EE4/palettes/2.pal rename to data/tilesets/secondary/condominiums/palettes/02.pal diff --git a/data/tilesets/secondary/82D4EE4/palettes/3.pal b/data/tilesets/secondary/condominiums/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4EE4/palettes/3.pal rename to data/tilesets/secondary/condominiums/palettes/03.pal diff --git a/data/tilesets/secondary/82D4EE4/palettes/4.pal b/data/tilesets/secondary/condominiums/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4EE4/palettes/4.pal rename to data/tilesets/secondary/condominiums/palettes/04.pal diff --git a/data/tilesets/secondary/82D4F8C/palettes/5.pal b/data/tilesets/secondary/condominiums/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4F8C/palettes/5.pal rename to data/tilesets/secondary/condominiums/palettes/05.pal diff --git a/data/tilesets/secondary/82D4EE4/palettes/6.pal b/data/tilesets/secondary/condominiums/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4EE4/palettes/6.pal rename to data/tilesets/secondary/condominiums/palettes/06.pal diff --git a/data/tilesets/secondary/82D4F8C/palettes/7.pal b/data/tilesets/secondary/condominiums/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4F8C/palettes/7.pal rename to data/tilesets/secondary/condominiums/palettes/07.pal diff --git a/data/tilesets/secondary/82D4F8C/palettes/8.pal b/data/tilesets/secondary/condominiums/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4F8C/palettes/8.pal rename to data/tilesets/secondary/condominiums/palettes/08.pal diff --git a/data/tilesets/secondary/82D4F8C/palettes/9.pal b/data/tilesets/secondary/condominiums/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4F8C/palettes/9.pal rename to data/tilesets/secondary/condominiums/palettes/09.pal diff --git a/data/tilesets/secondary/82D4F8C/palettes/10.pal b/data/tilesets/secondary/condominiums/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4F8C/palettes/10.pal rename to data/tilesets/secondary/condominiums/palettes/10.pal diff --git a/data/tilesets/secondary/82D4F8C/palettes/11.pal b/data/tilesets/secondary/condominiums/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4F8C/palettes/11.pal rename to data/tilesets/secondary/condominiums/palettes/11.pal diff --git a/data/tilesets/secondary/82D4F8C/palettes/12.pal b/data/tilesets/secondary/condominiums/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4F8C/palettes/12.pal rename to data/tilesets/secondary/condominiums/palettes/12.pal diff --git a/data/tilesets/secondary/82D4C44/palettes/13.pal b/data/tilesets/secondary/condominiums/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4C44/palettes/13.pal rename to data/tilesets/secondary/condominiums/palettes/13.pal diff --git a/data/tilesets/secondary/82D4C44/palettes/14.pal b/data/tilesets/secondary/condominiums/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4C44/palettes/14.pal rename to data/tilesets/secondary/condominiums/palettes/14.pal diff --git a/data/tilesets/secondary/82D4F8C/palettes/15.pal b/data/tilesets/secondary/condominiums/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4F8C/palettes/15.pal rename to data/tilesets/secondary/condominiums/palettes/15.pal diff --git a/data/tilesets/secondary/82D4F8C/tiles.png b/data/tilesets/secondary/condominiums/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4F8C/tiles.png rename to data/tilesets/secondary/condominiums/tiles.png diff --git a/data/tilesets/secondary/82D4E6C/metatile_attributes.bin b/data/tilesets/secondary/department_store/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4E6C/metatile_attributes.bin rename to data/tilesets/secondary/department_store/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4E6C/metatiles.bin b/data/tilesets/secondary/department_store/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4E6C/metatiles.bin rename to data/tilesets/secondary/department_store/metatiles.bin diff --git a/data/tilesets/secondary/82D4C2C/palettes/0.pal b/data/tilesets/secondary/department_store/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4C2C/palettes/0.pal rename to data/tilesets/secondary/department_store/palettes/00.pal diff --git a/data/tilesets/secondary/82D4E6C/palettes/1.pal b/data/tilesets/secondary/department_store/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4E6C/palettes/1.pal rename to data/tilesets/secondary/department_store/palettes/01.pal diff --git a/data/tilesets/secondary/82D4BCC/palettes/2.pal b/data/tilesets/secondary/department_store/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4BCC/palettes/2.pal rename to data/tilesets/secondary/department_store/palettes/02.pal diff --git a/data/tilesets/secondary/82D4BE4/palettes/3.pal b/data/tilesets/secondary/department_store/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4BE4/palettes/3.pal rename to data/tilesets/secondary/department_store/palettes/03.pal diff --git a/data/tilesets/secondary/82D4C2C/palettes/4.pal b/data/tilesets/secondary/department_store/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4C2C/palettes/4.pal rename to data/tilesets/secondary/department_store/palettes/04.pal diff --git a/data/tilesets/secondary/82D4C2C/palettes/5.pal b/data/tilesets/secondary/department_store/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4C2C/palettes/5.pal rename to data/tilesets/secondary/department_store/palettes/05.pal diff --git a/data/tilesets/secondary/82D4C2C/palettes/6.pal b/data/tilesets/secondary/department_store/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4C2C/palettes/6.pal rename to data/tilesets/secondary/department_store/palettes/06.pal diff --git a/data/tilesets/secondary/82D4C2C/palettes/7.pal b/data/tilesets/secondary/department_store/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4C2C/palettes/7.pal rename to data/tilesets/secondary/department_store/palettes/07.pal diff --git a/data/tilesets/secondary/82D4C74/palettes/8.pal b/data/tilesets/secondary/department_store/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4C74/palettes/8.pal rename to data/tilesets/secondary/department_store/palettes/08.pal diff --git a/data/tilesets/secondary/82D4E6C/palettes/9.pal b/data/tilesets/secondary/department_store/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4E6C/palettes/9.pal rename to data/tilesets/secondary/department_store/palettes/09.pal diff --git a/data/tilesets/secondary/82D4E6C/palettes/10.pal b/data/tilesets/secondary/department_store/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4E6C/palettes/10.pal rename to data/tilesets/secondary/department_store/palettes/10.pal diff --git a/data/tilesets/secondary/82D4D4C/palettes/11.pal b/data/tilesets/secondary/department_store/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4D4C/palettes/11.pal rename to data/tilesets/secondary/department_store/palettes/11.pal diff --git a/data/tilesets/secondary/82D4C2C/palettes/12.pal b/data/tilesets/secondary/department_store/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4C2C/palettes/12.pal rename to data/tilesets/secondary/department_store/palettes/12.pal diff --git a/data/tilesets/secondary/82D4C5C/palettes/13.pal b/data/tilesets/secondary/department_store/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4C5C/palettes/13.pal rename to data/tilesets/secondary/department_store/palettes/13.pal diff --git a/data/tilesets/secondary/82D4C5C/palettes/14.pal b/data/tilesets/secondary/department_store/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4C5C/palettes/14.pal rename to data/tilesets/secondary/department_store/palettes/14.pal diff --git a/data/tilesets/secondary/82D4C74/palettes/15.pal b/data/tilesets/secondary/department_store/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4C74/palettes/15.pal rename to data/tilesets/secondary/department_store/palettes/15.pal diff --git a/data/tilesets/secondary/82D4E6C/tiles.png b/data/tilesets/secondary/department_store/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4E6C/tiles.png rename to data/tilesets/secondary/department_store/tiles.png diff --git a/data/tilesets/secondary/82D4E0C/metatile_attributes.bin b/data/tilesets/secondary/digletts_cave/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4E0C/metatile_attributes.bin rename to data/tilesets/secondary/digletts_cave/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4E0C/metatiles.bin b/data/tilesets/secondary/digletts_cave/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4E0C/metatiles.bin rename to data/tilesets/secondary/digletts_cave/metatiles.bin diff --git a/data/tilesets/secondary/82D4E54/palettes/0.pal b/data/tilesets/secondary/digletts_cave/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4E54/palettes/0.pal rename to data/tilesets/secondary/digletts_cave/palettes/00.pal diff --git a/data/tilesets/secondary/82D4DF4/palettes/1.pal b/data/tilesets/secondary/digletts_cave/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4DF4/palettes/1.pal rename to data/tilesets/secondary/digletts_cave/palettes/01.pal diff --git a/data/tilesets/secondary/82D4B9C/palettes/2.pal b/data/tilesets/secondary/digletts_cave/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4B9C/palettes/2.pal rename to data/tilesets/secondary/digletts_cave/palettes/02.pal diff --git a/data/tilesets/secondary/82D4B6C/palettes/3.pal b/data/tilesets/secondary/digletts_cave/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4B6C/palettes/3.pal rename to data/tilesets/secondary/digletts_cave/palettes/03.pal diff --git a/data/tilesets/secondary/82D4B9C/palettes/4.pal b/data/tilesets/secondary/digletts_cave/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4B9C/palettes/4.pal rename to data/tilesets/secondary/digletts_cave/palettes/04.pal diff --git a/data/tilesets/secondary/82D4BFC/palettes/5.pal b/data/tilesets/secondary/digletts_cave/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4BFC/palettes/5.pal rename to data/tilesets/secondary/digletts_cave/palettes/05.pal diff --git a/data/tilesets/secondary/82D4B84/palettes/8.pal b/data/tilesets/secondary/digletts_cave/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4B84/palettes/8.pal rename to data/tilesets/secondary/digletts_cave/palettes/06.pal diff --git a/data/tilesets/secondary/82D4DF4/palettes/6.pal b/data/tilesets/secondary/digletts_cave/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4DF4/palettes/6.pal rename to data/tilesets/secondary/digletts_cave/palettes/07.pal diff --git a/data/tilesets/secondary/82D4E0C/palettes/8.pal b/data/tilesets/secondary/digletts_cave/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4E0C/palettes/8.pal rename to data/tilesets/secondary/digletts_cave/palettes/08.pal diff --git a/data/tilesets/secondary/82D4E0C/palettes/9.pal b/data/tilesets/secondary/digletts_cave/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4E0C/palettes/9.pal rename to data/tilesets/secondary/digletts_cave/palettes/09.pal diff --git a/data/tilesets/secondary/82D4E0C/palettes/10.pal b/data/tilesets/secondary/digletts_cave/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4E0C/palettes/10.pal rename to data/tilesets/secondary/digletts_cave/palettes/10.pal diff --git a/data/tilesets/secondary/82D4E0C/palettes/11.pal b/data/tilesets/secondary/digletts_cave/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4E0C/palettes/11.pal rename to data/tilesets/secondary/digletts_cave/palettes/11.pal diff --git a/data/tilesets/secondary/82D4E0C/palettes/12.pal b/data/tilesets/secondary/digletts_cave/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4E0C/palettes/12.pal rename to data/tilesets/secondary/digletts_cave/palettes/12.pal diff --git a/data/tilesets/secondary/82D4C74/palettes/13.pal b/data/tilesets/secondary/digletts_cave/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4C74/palettes/13.pal rename to data/tilesets/secondary/digletts_cave/palettes/13.pal diff --git a/data/tilesets/secondary/82D4C74/palettes/14.pal b/data/tilesets/secondary/digletts_cave/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4C74/palettes/14.pal rename to data/tilesets/secondary/digletts_cave/palettes/14.pal diff --git a/data/tilesets/secondary/82D4CA4/palettes/15.pal b/data/tilesets/secondary/digletts_cave/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4CA4/palettes/15.pal rename to data/tilesets/secondary/digletts_cave/palettes/15.pal diff --git a/data/tilesets/secondary/82D4E0C/tiles.png b/data/tilesets/secondary/digletts_cave/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4E0C/tiles.png rename to data/tilesets/secondary/digletts_cave/tiles.png diff --git a/data/tilesets/secondary/82D4C14/metatile_attributes.bin b/data/tilesets/secondary/dummy1/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4C14/metatile_attributes.bin rename to data/tilesets/secondary/dummy1/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4C14/metatiles.bin b/data/tilesets/secondary/dummy1/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4C14/metatiles.bin rename to data/tilesets/secondary/dummy1/metatiles.bin diff --git a/data/tilesets/secondary/82D4C14/palettes/2.pal b/data/tilesets/secondary/dummy1/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4C14/palettes/2.pal rename to data/tilesets/secondary/dummy1/palettes/00.pal diff --git a/data/tilesets/secondary/82D4C14/palettes/3.pal b/data/tilesets/secondary/dummy1/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4C14/palettes/3.pal rename to data/tilesets/secondary/dummy1/palettes/01.pal diff --git a/data/tilesets/secondary/82D4C14/palettes/4.pal b/data/tilesets/secondary/dummy1/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4C14/palettes/4.pal rename to data/tilesets/secondary/dummy1/palettes/02.pal diff --git a/data/tilesets/secondary/82D4C14/palettes/5.pal b/data/tilesets/secondary/dummy1/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4C14/palettes/5.pal rename to data/tilesets/secondary/dummy1/palettes/03.pal diff --git a/data/tilesets/secondary/82D4C14/palettes/6.pal b/data/tilesets/secondary/dummy1/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4C14/palettes/6.pal rename to data/tilesets/secondary/dummy1/palettes/04.pal diff --git a/data/tilesets/secondary/82D4C14/palettes/9.pal b/data/tilesets/secondary/dummy1/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4C14/palettes/9.pal rename to data/tilesets/secondary/dummy1/palettes/05.pal diff --git a/data/tilesets/secondary/82D4C44/palettes/0.pal b/data/tilesets/secondary/dummy1/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4C44/palettes/0.pal rename to data/tilesets/secondary/dummy1/palettes/06.pal diff --git a/data/tilesets/secondary/82D4C14/palettes/7.pal b/data/tilesets/secondary/dummy1/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4C14/palettes/7.pal rename to data/tilesets/secondary/dummy1/palettes/07.pal diff --git a/data/tilesets/secondary/82D4C14/palettes/8.pal b/data/tilesets/secondary/dummy1/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4C14/palettes/8.pal rename to data/tilesets/secondary/dummy1/palettes/08.pal diff --git a/data/tilesets/secondary/82D4C44/palettes/1.pal b/data/tilesets/secondary/dummy1/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4C44/palettes/1.pal rename to data/tilesets/secondary/dummy1/palettes/09.pal diff --git a/data/tilesets/secondary/82D4D7C/palettes/10.pal b/data/tilesets/secondary/dummy1/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4D7C/palettes/10.pal rename to data/tilesets/secondary/dummy1/palettes/10.pal diff --git a/data/tilesets/secondary/82D4D7C/palettes/11.pal b/data/tilesets/secondary/dummy1/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4D7C/palettes/11.pal rename to data/tilesets/secondary/dummy1/palettes/11.pal diff --git a/data/tilesets/secondary/82D4C14/palettes/12.pal b/data/tilesets/secondary/dummy1/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4C14/palettes/12.pal rename to data/tilesets/secondary/dummy1/palettes/12.pal diff --git a/data/tilesets/secondary/82D4C8C/palettes/13.pal b/data/tilesets/secondary/dummy1/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4C8C/palettes/13.pal rename to data/tilesets/secondary/dummy1/palettes/13.pal diff --git a/data/tilesets/secondary/82D4C8C/palettes/14.pal b/data/tilesets/secondary/dummy1/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4C8C/palettes/14.pal rename to data/tilesets/secondary/dummy1/palettes/14.pal diff --git a/data/tilesets/secondary/82D4CD4/palettes/15.pal b/data/tilesets/secondary/dummy1/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4CD4/palettes/15.pal rename to data/tilesets/secondary/dummy1/palettes/15.pal diff --git a/data/tilesets/secondary/82D4C14/tiles.png b/data/tilesets/secondary/dummy1/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4C14/tiles.png rename to data/tilesets/secondary/dummy1/tiles.png diff --git a/data/tilesets/secondary/82D4DAC/metatile_attributes.bin b/data/tilesets/secondary/dummy2/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4DAC/metatile_attributes.bin rename to data/tilesets/secondary/dummy2/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4DAC/metatiles.bin b/data/tilesets/secondary/dummy2/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4DAC/metatiles.bin rename to data/tilesets/secondary/dummy2/metatiles.bin diff --git a/data/tilesets/secondary/82D4DAC/palettes/0.pal b/data/tilesets/secondary/dummy2/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4DAC/palettes/0.pal rename to data/tilesets/secondary/dummy2/palettes/00.pal diff --git a/data/tilesets/secondary/82D4DAC/palettes/1.pal b/data/tilesets/secondary/dummy2/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4DAC/palettes/1.pal rename to data/tilesets/secondary/dummy2/palettes/01.pal diff --git a/data/tilesets/secondary/82D4DAC/palettes/2.pal b/data/tilesets/secondary/dummy2/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4DAC/palettes/2.pal rename to data/tilesets/secondary/dummy2/palettes/02.pal diff --git a/data/tilesets/secondary/82D4DAC/palettes/3.pal b/data/tilesets/secondary/dummy2/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4DAC/palettes/3.pal rename to data/tilesets/secondary/dummy2/palettes/03.pal diff --git a/data/tilesets/secondary/82D4DAC/palettes/4.pal b/data/tilesets/secondary/dummy2/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4DAC/palettes/4.pal rename to data/tilesets/secondary/dummy2/palettes/04.pal diff --git a/data/tilesets/secondary/82D4DAC/palettes/5.pal b/data/tilesets/secondary/dummy2/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4DAC/palettes/5.pal rename to data/tilesets/secondary/dummy2/palettes/05.pal diff --git a/data/tilesets/secondary/82D4C44/palettes/2.pal b/data/tilesets/secondary/dummy2/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4C44/palettes/2.pal rename to data/tilesets/secondary/dummy2/palettes/06.pal diff --git a/data/tilesets/secondary/82D4DAC/palettes/7.pal b/data/tilesets/secondary/dummy2/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4DAC/palettes/7.pal rename to data/tilesets/secondary/dummy2/palettes/07.pal diff --git a/data/tilesets/secondary/82D4DAC/palettes/8.pal b/data/tilesets/secondary/dummy2/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4DAC/palettes/8.pal rename to data/tilesets/secondary/dummy2/palettes/08.pal diff --git a/data/tilesets/secondary/82D4DAC/palettes/9.pal b/data/tilesets/secondary/dummy2/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4DAC/palettes/9.pal rename to data/tilesets/secondary/dummy2/palettes/09.pal diff --git a/data/tilesets/secondary/82D4DAC/palettes/10.pal b/data/tilesets/secondary/dummy2/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4DAC/palettes/10.pal rename to data/tilesets/secondary/dummy2/palettes/10.pal diff --git a/data/tilesets/secondary/82D4DAC/palettes/11.pal b/data/tilesets/secondary/dummy2/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4DAC/palettes/11.pal rename to data/tilesets/secondary/dummy2/palettes/11.pal diff --git a/data/tilesets/secondary/82D4DAC/palettes/12.pal b/data/tilesets/secondary/dummy2/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4DAC/palettes/12.pal rename to data/tilesets/secondary/dummy2/palettes/12.pal diff --git a/data/tilesets/secondary/82D4CA4/palettes/13.pal b/data/tilesets/secondary/dummy2/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4CA4/palettes/13.pal rename to data/tilesets/secondary/dummy2/palettes/13.pal diff --git a/data/tilesets/secondary/82D4CA4/palettes/14.pal b/data/tilesets/secondary/dummy2/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4CA4/palettes/14.pal rename to data/tilesets/secondary/dummy2/palettes/14.pal diff --git a/data/tilesets/secondary/82D4D04/palettes/15.pal b/data/tilesets/secondary/dummy2/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4D04/palettes/15.pal rename to data/tilesets/secondary/dummy2/palettes/15.pal diff --git a/data/tilesets/secondary/82D4DAC/tiles.png b/data/tilesets/secondary/dummy2/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4DAC/tiles.png rename to data/tilesets/secondary/dummy2/tiles.png diff --git a/data/tilesets/secondary/82D4FBC/metatile_attributes.bin b/data/tilesets/secondary/dummy3/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4FBC/metatile_attributes.bin rename to data/tilesets/secondary/dummy3/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4FBC/metatiles.bin b/data/tilesets/secondary/dummy3/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4FBC/metatiles.bin rename to data/tilesets/secondary/dummy3/metatiles.bin diff --git a/data/tilesets/secondary/82D4B0C/palettes/0.pal b/data/tilesets/secondary/dummy3/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4B0C/palettes/0.pal rename to data/tilesets/secondary/dummy3/palettes/00.pal diff --git a/data/tilesets/secondary/82D4E0C/palettes/1.pal b/data/tilesets/secondary/dummy3/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4E0C/palettes/1.pal rename to data/tilesets/secondary/dummy3/palettes/01.pal diff --git a/data/tilesets/secondary/82D4BFC/palettes/2.pal b/data/tilesets/secondary/dummy3/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4BFC/palettes/2.pal rename to data/tilesets/secondary/dummy3/palettes/02.pal diff --git a/data/tilesets/secondary/82D4DF4/palettes/3.pal b/data/tilesets/secondary/dummy3/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4DF4/palettes/3.pal rename to data/tilesets/secondary/dummy3/palettes/03.pal diff --git a/data/tilesets/secondary/82D4DC4/palettes/4.pal b/data/tilesets/secondary/dummy3/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4DC4/palettes/4.pal rename to data/tilesets/secondary/dummy3/palettes/04.pal diff --git a/data/tilesets/secondary/82D4DF4/palettes/5.pal b/data/tilesets/secondary/dummy3/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4DF4/palettes/5.pal rename to data/tilesets/secondary/dummy3/palettes/05.pal diff --git a/data/tilesets/secondary/82D4DF4/palettes/7.pal b/data/tilesets/secondary/dummy3/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4DF4/palettes/7.pal rename to data/tilesets/secondary/dummy3/palettes/06.pal diff --git a/data/tilesets/secondary/82D4E0C/palettes/6.pal b/data/tilesets/secondary/dummy3/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4E0C/palettes/6.pal rename to data/tilesets/secondary/dummy3/palettes/07.pal diff --git a/data/tilesets/secondary/82D4FBC/palettes/8.pal b/data/tilesets/secondary/dummy3/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4FBC/palettes/8.pal rename to data/tilesets/secondary/dummy3/palettes/08.pal diff --git a/data/tilesets/secondary/82D4FBC/palettes/9.pal b/data/tilesets/secondary/dummy3/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4FBC/palettes/9.pal rename to data/tilesets/secondary/dummy3/palettes/09.pal diff --git a/data/tilesets/secondary/82D4FBC/palettes/10.pal b/data/tilesets/secondary/dummy3/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4FBC/palettes/10.pal rename to data/tilesets/secondary/dummy3/palettes/10.pal diff --git a/data/tilesets/secondary/82D4FBC/palettes/11.pal b/data/tilesets/secondary/dummy3/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4FBC/palettes/11.pal rename to data/tilesets/secondary/dummy3/palettes/11.pal diff --git a/data/tilesets/secondary/82D4FBC/palettes/12.pal b/data/tilesets/secondary/dummy3/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4FBC/palettes/12.pal rename to data/tilesets/secondary/dummy3/palettes/12.pal diff --git a/data/tilesets/secondary/82D4CBC/palettes/13.pal b/data/tilesets/secondary/dummy3/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4CBC/palettes/13.pal rename to data/tilesets/secondary/dummy3/palettes/13.pal diff --git a/data/tilesets/secondary/82D4CBC/palettes/14.pal b/data/tilesets/secondary/dummy3/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4CBC/palettes/14.pal rename to data/tilesets/secondary/dummy3/palettes/14.pal diff --git a/data/tilesets/secondary/82D4D1C/palettes/15.pal b/data/tilesets/secondary/dummy3/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4D1C/palettes/15.pal rename to data/tilesets/secondary/dummy3/palettes/15.pal diff --git a/data/tilesets/secondary/82D4FBC/tiles.png b/data/tilesets/secondary/dummy3/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4FBC/tiles.png rename to data/tilesets/secondary/dummy3/tiles.png diff --git a/data/tilesets/secondary/82D4FD4/metatile_attributes.bin b/data/tilesets/secondary/dummy4/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4FD4/metatile_attributes.bin rename to data/tilesets/secondary/dummy4/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4FD4/metatiles.bin b/data/tilesets/secondary/dummy4/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4FD4/metatiles.bin rename to data/tilesets/secondary/dummy4/metatiles.bin diff --git a/data/tilesets/secondary/82D4B24/palettes/0.pal b/data/tilesets/secondary/dummy4/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4B24/palettes/0.pal rename to data/tilesets/secondary/dummy4/palettes/00.pal diff --git a/data/tilesets/secondary/82D4E24/palettes/1.pal b/data/tilesets/secondary/dummy4/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4E24/palettes/1.pal rename to data/tilesets/secondary/dummy4/palettes/01.pal diff --git a/data/tilesets/secondary/82D4DC4/palettes/2.pal b/data/tilesets/secondary/dummy4/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4DC4/palettes/2.pal rename to data/tilesets/secondary/dummy4/palettes/02.pal diff --git a/data/tilesets/secondary/82D4E0C/palettes/3.pal b/data/tilesets/secondary/dummy4/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4E0C/palettes/3.pal rename to data/tilesets/secondary/dummy4/palettes/03.pal diff --git a/data/tilesets/secondary/82D4DF4/palettes/4.pal b/data/tilesets/secondary/dummy4/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4DF4/palettes/4.pal rename to data/tilesets/secondary/dummy4/palettes/04.pal diff --git a/data/tilesets/secondary/82D4E0C/palettes/5.pal b/data/tilesets/secondary/dummy4/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4E0C/palettes/5.pal rename to data/tilesets/secondary/dummy4/palettes/05.pal diff --git a/data/tilesets/secondary/82D4E0C/palettes/7.pal b/data/tilesets/secondary/dummy4/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4E0C/palettes/7.pal rename to data/tilesets/secondary/dummy4/palettes/06.pal diff --git a/data/tilesets/secondary/82D4E24/palettes/6.pal b/data/tilesets/secondary/dummy4/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4E24/palettes/6.pal rename to data/tilesets/secondary/dummy4/palettes/07.pal diff --git a/data/tilesets/secondary/82D4FD4/palettes/8.pal b/data/tilesets/secondary/dummy4/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4FD4/palettes/8.pal rename to data/tilesets/secondary/dummy4/palettes/08.pal diff --git a/data/tilesets/secondary/82D4FD4/palettes/9.pal b/data/tilesets/secondary/dummy4/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4FD4/palettes/9.pal rename to data/tilesets/secondary/dummy4/palettes/09.pal diff --git a/data/tilesets/secondary/82D4FD4/palettes/10.pal b/data/tilesets/secondary/dummy4/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4FD4/palettes/10.pal rename to data/tilesets/secondary/dummy4/palettes/10.pal diff --git a/data/tilesets/secondary/82D4FD4/palettes/11.pal b/data/tilesets/secondary/dummy4/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4FD4/palettes/11.pal rename to data/tilesets/secondary/dummy4/palettes/11.pal diff --git a/data/tilesets/secondary/82D4FD4/palettes/12.pal b/data/tilesets/secondary/dummy4/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4FD4/palettes/12.pal rename to data/tilesets/secondary/dummy4/palettes/12.pal diff --git a/data/tilesets/secondary/82D4CD4/palettes/13.pal b/data/tilesets/secondary/dummy4/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4CD4/palettes/13.pal rename to data/tilesets/secondary/dummy4/palettes/13.pal diff --git a/data/tilesets/secondary/82D4CD4/palettes/14.pal b/data/tilesets/secondary/dummy4/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4CD4/palettes/14.pal rename to data/tilesets/secondary/dummy4/palettes/14.pal diff --git a/data/tilesets/secondary/82D4D34/palettes/15.pal b/data/tilesets/secondary/dummy4/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4D34/palettes/15.pal rename to data/tilesets/secondary/dummy4/palettes/15.pal diff --git a/data/tilesets/secondary/82D4FD4/tiles.png b/data/tilesets/secondary/dummy4/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4FD4/tiles.png rename to data/tilesets/secondary/dummy4/tiles.png diff --git a/data/tilesets/secondary/82D4F74/metatile_attributes.bin b/data/tilesets/secondary/fan_club_daycare/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4F74/metatile_attributes.bin rename to data/tilesets/secondary/fan_club_daycare/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4F74/metatiles.bin b/data/tilesets/secondary/fan_club_daycare/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4F74/metatiles.bin rename to data/tilesets/secondary/fan_club_daycare/metatiles.bin diff --git a/data/tilesets/secondary/82D4C44/palettes/3.pal b/data/tilesets/secondary/fan_club_daycare/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4C44/palettes/3.pal rename to data/tilesets/secondary/fan_club_daycare/palettes/00.pal diff --git a/data/tilesets/secondary/82D4C44/palettes/4.pal b/data/tilesets/secondary/fan_club_daycare/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4C44/palettes/4.pal rename to data/tilesets/secondary/fan_club_daycare/palettes/01.pal diff --git a/data/tilesets/secondary/82D4C44/palettes/5.pal b/data/tilesets/secondary/fan_club_daycare/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4C44/palettes/5.pal rename to data/tilesets/secondary/fan_club_daycare/palettes/02.pal diff --git a/data/tilesets/secondary/82D4C44/palettes/6.pal b/data/tilesets/secondary/fan_club_daycare/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4C44/palettes/6.pal rename to data/tilesets/secondary/fan_club_daycare/palettes/03.pal diff --git a/data/tilesets/secondary/82D4C5C/palettes/4.pal b/data/tilesets/secondary/fan_club_daycare/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4C5C/palettes/4.pal rename to data/tilesets/secondary/fan_club_daycare/palettes/04.pal diff --git a/data/tilesets/secondary/82D4C5C/palettes/5.pal b/data/tilesets/secondary/fan_club_daycare/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4C5C/palettes/5.pal rename to data/tilesets/secondary/fan_club_daycare/palettes/05.pal diff --git a/data/tilesets/secondary/82D4C5C/palettes/6.pal b/data/tilesets/secondary/fan_club_daycare/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4C5C/palettes/6.pal rename to data/tilesets/secondary/fan_club_daycare/palettes/06.pal diff --git a/data/tilesets/secondary/82D4C74/palettes/6.pal b/data/tilesets/secondary/fan_club_daycare/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4C74/palettes/6.pal rename to data/tilesets/secondary/fan_club_daycare/palettes/07.pal diff --git a/data/tilesets/secondary/82D4F74/palettes/8.pal b/data/tilesets/secondary/fan_club_daycare/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4F74/palettes/8.pal rename to data/tilesets/secondary/fan_club_daycare/palettes/08.pal diff --git a/data/tilesets/secondary/82D4F74/palettes/9.pal b/data/tilesets/secondary/fan_club_daycare/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4F74/palettes/9.pal rename to data/tilesets/secondary/fan_club_daycare/palettes/09.pal diff --git a/data/tilesets/secondary/82D4F74/palettes/10.pal b/data/tilesets/secondary/fan_club_daycare/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4F74/palettes/10.pal rename to data/tilesets/secondary/fan_club_daycare/palettes/10.pal diff --git a/data/tilesets/secondary/82D4E6C/palettes/11.pal b/data/tilesets/secondary/fan_club_daycare/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4E6C/palettes/11.pal rename to data/tilesets/secondary/fan_club_daycare/palettes/11.pal diff --git a/data/tilesets/secondary/82D4D94/palettes/12.pal b/data/tilesets/secondary/fan_club_daycare/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4D94/palettes/12.pal rename to data/tilesets/secondary/fan_club_daycare/palettes/12.pal diff --git a/data/tilesets/secondary/82D4CEC/palettes/13.pal b/data/tilesets/secondary/fan_club_daycare/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4CEC/palettes/13.pal rename to data/tilesets/secondary/fan_club_daycare/palettes/13.pal diff --git a/data/tilesets/secondary/82D4CEC/palettes/14.pal b/data/tilesets/secondary/fan_club_daycare/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4CEC/palettes/14.pal rename to data/tilesets/secondary/fan_club_daycare/palettes/14.pal diff --git a/data/tilesets/secondary/82D4D4C/palettes/15.pal b/data/tilesets/secondary/fan_club_daycare/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4D4C/palettes/15.pal rename to data/tilesets/secondary/fan_club_daycare/palettes/15.pal diff --git a/data/tilesets/secondary/82D4F74/tiles.png b/data/tilesets/secondary/fan_club_daycare/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4F74/tiles.png rename to data/tilesets/secondary/fan_club_daycare/tiles.png diff --git a/data/tilesets/secondary/82D4B54/metatile_attributes.bin b/data/tilesets/secondary/fuchsia_city/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4B54/metatile_attributes.bin rename to data/tilesets/secondary/fuchsia_city/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4B54/metatiles.bin b/data/tilesets/secondary/fuchsia_city/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4B54/metatiles.bin rename to data/tilesets/secondary/fuchsia_city/metatiles.bin diff --git a/data/tilesets/secondary/82D4B54/palettes/0.pal b/data/tilesets/secondary/fuchsia_city/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4B54/palettes/0.pal rename to data/tilesets/secondary/fuchsia_city/palettes/00.pal diff --git a/data/tilesets/secondary/82D4B9C/palettes/1.pal b/data/tilesets/secondary/fuchsia_city/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4B9C/palettes/1.pal rename to data/tilesets/secondary/fuchsia_city/palettes/01.pal diff --git a/data/tilesets/secondary/82D4DF4/palettes/2.pal b/data/tilesets/secondary/fuchsia_city/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4DF4/palettes/2.pal rename to data/tilesets/secondary/fuchsia_city/palettes/02.pal diff --git a/data/tilesets/secondary/82D4B54/palettes/3.pal b/data/tilesets/secondary/fuchsia_city/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4B54/palettes/3.pal rename to data/tilesets/secondary/fuchsia_city/palettes/03.pal diff --git a/data/tilesets/secondary/82D4E0C/palettes/4.pal b/data/tilesets/secondary/fuchsia_city/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4E0C/palettes/4.pal rename to data/tilesets/secondary/fuchsia_city/palettes/04.pal diff --git a/data/tilesets/secondary/82D4B6C/palettes/5.pal b/data/tilesets/secondary/fuchsia_city/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4B6C/palettes/5.pal rename to data/tilesets/secondary/fuchsia_city/palettes/05.pal diff --git a/data/tilesets/secondary/82D4B0C/palettes/7.pal b/data/tilesets/secondary/fuchsia_city/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4B0C/palettes/7.pal rename to data/tilesets/secondary/fuchsia_city/palettes/06.pal diff --git a/data/tilesets/secondary/82D4B54/palettes/6.pal b/data/tilesets/secondary/fuchsia_city/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4B54/palettes/6.pal rename to data/tilesets/secondary/fuchsia_city/palettes/07.pal diff --git a/data/tilesets/secondary/82D4B54/palettes/8.pal b/data/tilesets/secondary/fuchsia_city/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4B54/palettes/8.pal rename to data/tilesets/secondary/fuchsia_city/palettes/08.pal diff --git a/data/tilesets/secondary/82D4B54/palettes/9.pal b/data/tilesets/secondary/fuchsia_city/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4B54/palettes/9.pal rename to data/tilesets/secondary/fuchsia_city/palettes/09.pal diff --git a/data/tilesets/secondary/82D4B54/palettes/10.pal b/data/tilesets/secondary/fuchsia_city/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4B54/palettes/10.pal rename to data/tilesets/secondary/fuchsia_city/palettes/10.pal diff --git a/data/tilesets/secondary/82D4B54/palettes/11.pal b/data/tilesets/secondary/fuchsia_city/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4B54/palettes/11.pal rename to data/tilesets/secondary/fuchsia_city/palettes/11.pal diff --git a/data/tilesets/secondary/82D4B54/palettes/12.pal b/data/tilesets/secondary/fuchsia_city/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4B54/palettes/12.pal rename to data/tilesets/secondary/fuchsia_city/palettes/12.pal diff --git a/data/tilesets/secondary/82D4D04/palettes/13.pal b/data/tilesets/secondary/fuchsia_city/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4D04/palettes/13.pal rename to data/tilesets/secondary/fuchsia_city/palettes/13.pal diff --git a/data/tilesets/secondary/82D4D04/palettes/14.pal b/data/tilesets/secondary/fuchsia_city/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4D04/palettes/14.pal rename to data/tilesets/secondary/fuchsia_city/palettes/14.pal diff --git a/data/tilesets/secondary/82D4D94/palettes/15.pal b/data/tilesets/secondary/fuchsia_city/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4D94/palettes/15.pal rename to data/tilesets/secondary/fuchsia_city/palettes/15.pal diff --git a/data/tilesets/secondary/82D4B54/tiles.png b/data/tilesets/secondary/fuchsia_city/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4B54/tiles.png rename to data/tilesets/secondary/fuchsia_city/tiles.png diff --git a/data/tilesets/secondary/82D4CA4/metatile_attributes.bin b/data/tilesets/secondary/fuchsia_gym/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4CA4/metatile_attributes.bin rename to data/tilesets/secondary/fuchsia_gym/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4CA4/metatiles.bin b/data/tilesets/secondary/fuchsia_gym/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4CA4/metatiles.bin rename to data/tilesets/secondary/fuchsia_gym/metatiles.bin diff --git a/data/tilesets/secondary/82D4C74/palettes/0.pal b/data/tilesets/secondary/fuchsia_gym/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4C74/palettes/0.pal rename to data/tilesets/secondary/fuchsia_gym/palettes/00.pal diff --git a/data/tilesets/secondary/82D4BE4/palettes/1.pal b/data/tilesets/secondary/fuchsia_gym/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4BE4/palettes/1.pal rename to data/tilesets/secondary/fuchsia_gym/palettes/01.pal diff --git a/data/tilesets/secondary/82D4BE4/palettes/2.pal b/data/tilesets/secondary/fuchsia_gym/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4BE4/palettes/2.pal rename to data/tilesets/secondary/fuchsia_gym/palettes/02.pal diff --git a/data/tilesets/secondary/82D4CA4/palettes/3.pal b/data/tilesets/secondary/fuchsia_gym/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4CA4/palettes/3.pal rename to data/tilesets/secondary/fuchsia_gym/palettes/03.pal diff --git a/data/tilesets/secondary/82D4C74/palettes/4.pal b/data/tilesets/secondary/fuchsia_gym/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4C74/palettes/4.pal rename to data/tilesets/secondary/fuchsia_gym/palettes/04.pal diff --git a/data/tilesets/secondary/82D4C74/palettes/5.pal b/data/tilesets/secondary/fuchsia_gym/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4C74/palettes/5.pal rename to data/tilesets/secondary/fuchsia_gym/palettes/05.pal diff --git a/data/tilesets/secondary/82D4C8C/palettes/6.pal b/data/tilesets/secondary/fuchsia_gym/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4C8C/palettes/6.pal rename to data/tilesets/secondary/fuchsia_gym/palettes/06.pal diff --git a/data/tilesets/secondary/82D4D4C/palettes/9.pal b/data/tilesets/secondary/fuchsia_gym/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4D4C/palettes/9.pal rename to data/tilesets/secondary/fuchsia_gym/palettes/07.pal diff --git a/data/tilesets/secondary/82D4CA4/palettes/8.pal b/data/tilesets/secondary/fuchsia_gym/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4CA4/palettes/8.pal rename to data/tilesets/secondary/fuchsia_gym/palettes/08.pal diff --git a/data/tilesets/secondary/82D4C74/palettes/11.pal b/data/tilesets/secondary/fuchsia_gym/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4C74/palettes/11.pal rename to data/tilesets/secondary/fuchsia_gym/palettes/09.pal diff --git a/data/tilesets/secondary/82D4C8C/palettes/10.pal b/data/tilesets/secondary/fuchsia_gym/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4C8C/palettes/10.pal rename to data/tilesets/secondary/fuchsia_gym/palettes/10.pal diff --git a/data/tilesets/secondary/82D4C8C/palettes/11.pal b/data/tilesets/secondary/fuchsia_gym/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4C8C/palettes/11.pal rename to data/tilesets/secondary/fuchsia_gym/palettes/11.pal diff --git a/data/tilesets/secondary/82D4CA4/palettes/12.pal b/data/tilesets/secondary/fuchsia_gym/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4CA4/palettes/12.pal rename to data/tilesets/secondary/fuchsia_gym/palettes/12.pal diff --git a/data/tilesets/secondary/82D4D1C/palettes/13.pal b/data/tilesets/secondary/fuchsia_gym/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4D1C/palettes/13.pal rename to data/tilesets/secondary/fuchsia_gym/palettes/13.pal diff --git a/data/tilesets/secondary/82D4D1C/palettes/14.pal b/data/tilesets/secondary/fuchsia_gym/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4D1C/palettes/14.pal rename to data/tilesets/secondary/fuchsia_gym/palettes/14.pal diff --git a/data/tilesets/secondary/82D4DAC/palettes/15.pal b/data/tilesets/secondary/fuchsia_gym/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4DAC/palettes/15.pal rename to data/tilesets/secondary/fuchsia_gym/palettes/15.pal diff --git a/data/tilesets/secondary/82D4CA4/tiles.png b/data/tilesets/secondary/fuchsia_gym/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4CA4/tiles.png rename to data/tilesets/secondary/fuchsia_gym/tiles.png diff --git a/data/tilesets/secondary/82D4CEC/metatile_attributes.bin b/data/tilesets/secondary/game_corner/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4CEC/metatile_attributes.bin rename to data/tilesets/secondary/game_corner/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4CEC/metatiles.bin b/data/tilesets/secondary/game_corner/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4CEC/metatiles.bin rename to data/tilesets/secondary/game_corner/metatiles.bin diff --git a/data/tilesets/secondary/82D4CA4/palettes/0.pal b/data/tilesets/secondary/game_corner/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4CA4/palettes/0.pal rename to data/tilesets/secondary/game_corner/palettes/00.pal diff --git a/data/tilesets/secondary/82D4CA4/palettes/1.pal b/data/tilesets/secondary/game_corner/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4CA4/palettes/1.pal rename to data/tilesets/secondary/game_corner/palettes/01.pal diff --git a/data/tilesets/secondary/82D4CA4/palettes/2.pal b/data/tilesets/secondary/game_corner/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4CA4/palettes/2.pal rename to data/tilesets/secondary/game_corner/palettes/02.pal diff --git a/data/tilesets/secondary/82D4CEC/palettes/3.pal b/data/tilesets/secondary/game_corner/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4CEC/palettes/3.pal rename to data/tilesets/secondary/game_corner/palettes/03.pal diff --git a/data/tilesets/secondary/82D4C8C/palettes/4.pal b/data/tilesets/secondary/game_corner/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4C8C/palettes/4.pal rename to data/tilesets/secondary/game_corner/palettes/04.pal diff --git a/data/tilesets/secondary/82D4C8C/palettes/5.pal b/data/tilesets/secondary/game_corner/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4C8C/palettes/5.pal rename to data/tilesets/secondary/game_corner/palettes/05.pal diff --git a/data/tilesets/secondary/82D4CA4/palettes/6.pal b/data/tilesets/secondary/game_corner/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4CA4/palettes/6.pal rename to data/tilesets/secondary/game_corner/palettes/06.pal diff --git a/data/tilesets/secondary/82D4CEC/palettes/7.pal b/data/tilesets/secondary/game_corner/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4CEC/palettes/7.pal rename to data/tilesets/secondary/game_corner/palettes/07.pal diff --git a/data/tilesets/secondary/82D4CEC/palettes/8.pal b/data/tilesets/secondary/game_corner/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4CEC/palettes/8.pal rename to data/tilesets/secondary/game_corner/palettes/08.pal diff --git a/data/tilesets/secondary/82D4CEC/palettes/9.pal b/data/tilesets/secondary/game_corner/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4CEC/palettes/9.pal rename to data/tilesets/secondary/game_corner/palettes/09.pal diff --git a/data/tilesets/secondary/82D4CEC/palettes/10.pal b/data/tilesets/secondary/game_corner/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4CEC/palettes/10.pal rename to data/tilesets/secondary/game_corner/palettes/10.pal diff --git a/data/tilesets/secondary/82D4CEC/palettes/11.pal b/data/tilesets/secondary/game_corner/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4CEC/palettes/11.pal rename to data/tilesets/secondary/game_corner/palettes/11.pal diff --git a/data/tilesets/secondary/82D4CEC/palettes/12.pal b/data/tilesets/secondary/game_corner/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4CEC/palettes/12.pal rename to data/tilesets/secondary/game_corner/palettes/12.pal diff --git a/data/tilesets/secondary/82D4D34/palettes/13.pal b/data/tilesets/secondary/game_corner/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4D34/palettes/13.pal rename to data/tilesets/secondary/game_corner/palettes/13.pal diff --git a/data/tilesets/secondary/82D4D34/palettes/14.pal b/data/tilesets/secondary/game_corner/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4D34/palettes/14.pal rename to data/tilesets/secondary/game_corner/palettes/14.pal diff --git a/data/tilesets/secondary/82D4CEC/palettes/15.pal b/data/tilesets/secondary/game_corner/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4CEC/palettes/15.pal rename to data/tilesets/secondary/game_corner/palettes/15.pal diff --git a/data/tilesets/secondary/82D4CEC/tiles.png b/data/tilesets/secondary/game_corner/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4CEC/tiles.png rename to data/tilesets/secondary/game_corner/tiles.png diff --git a/data/tilesets/secondary/82D4C74/metatile_attributes.bin b/data/tilesets/secondary/generic_building1/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4C74/metatile_attributes.bin rename to data/tilesets/secondary/generic_building1/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4C74/metatiles.bin b/data/tilesets/secondary/generic_building1/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4C74/metatiles.bin rename to data/tilesets/secondary/generic_building1/metatiles.bin diff --git a/data/tilesets/secondary/82D4CBC/palettes/0.pal b/data/tilesets/secondary/generic_building1/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4CBC/palettes/0.pal rename to data/tilesets/secondary/generic_building1/palettes/00.pal diff --git a/data/tilesets/secondary/82D4D4C/palettes/1.pal b/data/tilesets/secondary/generic_building1/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4D4C/palettes/1.pal rename to data/tilesets/secondary/generic_building1/palettes/01.pal diff --git a/data/tilesets/secondary/82D4C74/palettes/2.pal b/data/tilesets/secondary/generic_building1/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4C74/palettes/2.pal rename to data/tilesets/secondary/generic_building1/palettes/02.pal diff --git a/data/tilesets/secondary/82D4C74/palettes/3.pal b/data/tilesets/secondary/generic_building1/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4C74/palettes/3.pal rename to data/tilesets/secondary/generic_building1/palettes/03.pal diff --git a/data/tilesets/secondary/82D4CA4/palettes/4.pal b/data/tilesets/secondary/generic_building1/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4CA4/palettes/4.pal rename to data/tilesets/secondary/generic_building1/palettes/04.pal diff --git a/data/tilesets/secondary/82D4CA4/palettes/5.pal b/data/tilesets/secondary/generic_building1/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4CA4/palettes/5.pal rename to data/tilesets/secondary/generic_building1/palettes/05.pal diff --git a/data/tilesets/secondary/82D4CBC/palettes/6.pal b/data/tilesets/secondary/generic_building1/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4CBC/palettes/6.pal rename to data/tilesets/secondary/generic_building1/palettes/06.pal diff --git a/data/tilesets/secondary/82D4FA4/palettes/8.pal b/data/tilesets/secondary/generic_building1/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4FA4/palettes/8.pal rename to data/tilesets/secondary/generic_building1/palettes/07.pal diff --git a/data/tilesets/secondary/82D4E6C/palettes/8.pal b/data/tilesets/secondary/generic_building1/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4E6C/palettes/8.pal rename to data/tilesets/secondary/generic_building1/palettes/08.pal diff --git a/data/tilesets/secondary/82D4C74/palettes/9.pal b/data/tilesets/secondary/generic_building1/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4C74/palettes/9.pal rename to data/tilesets/secondary/generic_building1/palettes/09.pal diff --git a/data/tilesets/secondary/82D4CA4/palettes/10.pal b/data/tilesets/secondary/generic_building1/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4CA4/palettes/10.pal rename to data/tilesets/secondary/generic_building1/palettes/10.pal diff --git a/data/tilesets/secondary/82D4CA4/palettes/11.pal b/data/tilesets/secondary/generic_building1/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4CA4/palettes/11.pal rename to data/tilesets/secondary/generic_building1/palettes/11.pal diff --git a/data/tilesets/secondary/82D4FA4/palettes/12.pal b/data/tilesets/secondary/generic_building1/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4FA4/palettes/12.pal rename to data/tilesets/secondary/generic_building1/palettes/12.pal diff --git a/data/tilesets/secondary/82D4D4C/palettes/13.pal b/data/tilesets/secondary/generic_building1/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4D4C/palettes/13.pal rename to data/tilesets/secondary/generic_building1/palettes/13.pal diff --git a/data/tilesets/secondary/82D4D4C/palettes/14.pal b/data/tilesets/secondary/generic_building1/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4D4C/palettes/14.pal rename to data/tilesets/secondary/generic_building1/palettes/14.pal diff --git a/data/tilesets/secondary/82D4DC4/palettes/15.pal b/data/tilesets/secondary/generic_building1/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4DC4/palettes/15.pal rename to data/tilesets/secondary/generic_building1/palettes/15.pal diff --git a/data/tilesets/secondary/82D4C74/tiles.png b/data/tilesets/secondary/generic_building1/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4C74/tiles.png rename to data/tilesets/secondary/generic_building1/tiles.png diff --git a/data/tilesets/secondary/82D4E84/metatile_attributes.bin b/data/tilesets/secondary/generic_building2/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4E84/metatile_attributes.bin rename to data/tilesets/secondary/generic_building2/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4E84/metatiles.bin b/data/tilesets/secondary/generic_building2/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4E84/metatiles.bin rename to data/tilesets/secondary/generic_building2/metatiles.bin diff --git a/data/tilesets/secondary/82D4CEC/palettes/0.pal b/data/tilesets/secondary/generic_building2/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4CEC/palettes/0.pal rename to data/tilesets/secondary/generic_building2/palettes/00.pal diff --git a/data/tilesets/secondary/82D4CEC/palettes/1.pal b/data/tilesets/secondary/generic_building2/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4CEC/palettes/1.pal rename to data/tilesets/secondary/generic_building2/palettes/01.pal diff --git a/data/tilesets/secondary/82D4CEC/palettes/2.pal b/data/tilesets/secondary/generic_building2/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4CEC/palettes/2.pal rename to data/tilesets/secondary/generic_building2/palettes/02.pal diff --git a/data/tilesets/secondary/82D4D34/palettes/3.pal b/data/tilesets/secondary/generic_building2/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4D34/palettes/3.pal rename to data/tilesets/secondary/generic_building2/palettes/03.pal diff --git a/data/tilesets/secondary/82D4CBC/palettes/4.pal b/data/tilesets/secondary/generic_building2/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4CBC/palettes/4.pal rename to data/tilesets/secondary/generic_building2/palettes/04.pal diff --git a/data/tilesets/secondary/82D4CBC/palettes/5.pal b/data/tilesets/secondary/generic_building2/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4CBC/palettes/5.pal rename to data/tilesets/secondary/generic_building2/palettes/05.pal diff --git a/data/tilesets/secondary/82D4CD4/palettes/0.pal b/data/tilesets/secondary/generic_building2/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4CD4/palettes/0.pal rename to data/tilesets/secondary/generic_building2/palettes/06.pal diff --git a/data/tilesets/secondary/82D4DDC/palettes/7.pal b/data/tilesets/secondary/generic_building2/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4DDC/palettes/7.pal rename to data/tilesets/secondary/generic_building2/palettes/07.pal diff --git a/data/tilesets/secondary/82D4DDC/palettes/8.pal b/data/tilesets/secondary/generic_building2/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4DDC/palettes/8.pal rename to data/tilesets/secondary/generic_building2/palettes/08.pal diff --git a/data/tilesets/secondary/82D4E84/palettes/9.pal b/data/tilesets/secondary/generic_building2/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4E84/palettes/9.pal rename to data/tilesets/secondary/generic_building2/palettes/09.pal diff --git a/data/tilesets/secondary/82D4CBC/palettes/10.pal b/data/tilesets/secondary/generic_building2/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4CBC/palettes/10.pal rename to data/tilesets/secondary/generic_building2/palettes/10.pal diff --git a/data/tilesets/secondary/82D4CBC/palettes/11.pal b/data/tilesets/secondary/generic_building2/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4CBC/palettes/11.pal rename to data/tilesets/secondary/generic_building2/palettes/11.pal diff --git a/data/tilesets/secondary/82D4E84/palettes/12.pal b/data/tilesets/secondary/generic_building2/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4E84/palettes/12.pal rename to data/tilesets/secondary/generic_building2/palettes/12.pal diff --git a/data/tilesets/secondary/82D4D64/palettes/13.pal b/data/tilesets/secondary/generic_building2/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4D64/palettes/13.pal rename to data/tilesets/secondary/generic_building2/palettes/13.pal diff --git a/data/tilesets/secondary/82D4D64/palettes/14.pal b/data/tilesets/secondary/generic_building2/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4D64/palettes/14.pal rename to data/tilesets/secondary/generic_building2/palettes/14.pal diff --git a/data/tilesets/secondary/82D4DDC/palettes/15.pal b/data/tilesets/secondary/generic_building2/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4DDC/palettes/15.pal rename to data/tilesets/secondary/generic_building2/palettes/15.pal diff --git a/data/tilesets/secondary/82D4E84/tiles.png b/data/tilesets/secondary/generic_building2/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4E84/tiles.png rename to data/tilesets/secondary/generic_building2/tiles.png diff --git a/data/tilesets/secondary/82D50DC/metatile_attributes.bin b/data/tilesets/secondary/hall_of_fame/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D50DC/metatile_attributes.bin rename to data/tilesets/secondary/hall_of_fame/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D50DC/metatiles.bin b/data/tilesets/secondary/hall_of_fame/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D50DC/metatiles.bin rename to data/tilesets/secondary/hall_of_fame/metatiles.bin diff --git a/data/tilesets/secondary/82D4D04/palettes/0.pal b/data/tilesets/secondary/hall_of_fame/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4D04/palettes/0.pal rename to data/tilesets/secondary/hall_of_fame/palettes/00.pal diff --git a/data/tilesets/secondary/82D4F14/palettes/1.pal b/data/tilesets/secondary/hall_of_fame/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4F14/palettes/1.pal rename to data/tilesets/secondary/hall_of_fame/palettes/01.pal diff --git a/data/tilesets/secondary/82D4F8C/palettes/2.pal b/data/tilesets/secondary/hall_of_fame/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4F8C/palettes/2.pal rename to data/tilesets/secondary/hall_of_fame/palettes/02.pal diff --git a/data/tilesets/secondary/82D4F8C/palettes/3.pal b/data/tilesets/secondary/hall_of_fame/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4F8C/palettes/3.pal rename to data/tilesets/secondary/hall_of_fame/palettes/03.pal diff --git a/data/tilesets/secondary/82D4F8C/palettes/4.pal b/data/tilesets/secondary/hall_of_fame/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4F8C/palettes/4.pal rename to data/tilesets/secondary/hall_of_fame/palettes/04.pal diff --git a/data/tilesets/secondary/82D5034/palettes/5.pal b/data/tilesets/secondary/hall_of_fame/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D5034/palettes/5.pal rename to data/tilesets/secondary/hall_of_fame/palettes/05.pal diff --git a/data/tilesets/secondary/82D4F8C/palettes/6.pal b/data/tilesets/secondary/hall_of_fame/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4F8C/palettes/6.pal rename to data/tilesets/secondary/hall_of_fame/palettes/06.pal diff --git a/data/tilesets/secondary/82D50DC/palettes/7.pal b/data/tilesets/secondary/hall_of_fame/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D50DC/palettes/7.pal rename to data/tilesets/secondary/hall_of_fame/palettes/07.pal diff --git a/data/tilesets/secondary/82D50DC/palettes/8.pal b/data/tilesets/secondary/hall_of_fame/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D50DC/palettes/8.pal rename to data/tilesets/secondary/hall_of_fame/palettes/08.pal diff --git a/data/tilesets/secondary/82D50DC/palettes/9.pal b/data/tilesets/secondary/hall_of_fame/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D50DC/palettes/9.pal rename to data/tilesets/secondary/hall_of_fame/palettes/09.pal diff --git a/data/tilesets/secondary/82D50DC/palettes/10.pal b/data/tilesets/secondary/hall_of_fame/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D50DC/palettes/10.pal rename to data/tilesets/secondary/hall_of_fame/palettes/10.pal diff --git a/data/tilesets/secondary/82D50DC/palettes/11.pal b/data/tilesets/secondary/hall_of_fame/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D50DC/palettes/11.pal rename to data/tilesets/secondary/hall_of_fame/palettes/11.pal diff --git a/data/tilesets/secondary/82D50DC/palettes/12.pal b/data/tilesets/secondary/hall_of_fame/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D50DC/palettes/12.pal rename to data/tilesets/secondary/hall_of_fame/palettes/12.pal diff --git a/data/tilesets/secondary/82D4D7C/palettes/13.pal b/data/tilesets/secondary/hall_of_fame/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4D7C/palettes/13.pal rename to data/tilesets/secondary/hall_of_fame/palettes/13.pal diff --git a/data/tilesets/secondary/82D4D7C/palettes/14.pal b/data/tilesets/secondary/hall_of_fame/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4D7C/palettes/14.pal rename to data/tilesets/secondary/hall_of_fame/palettes/14.pal diff --git a/data/tilesets/secondary/82D4DF4/palettes/15.pal b/data/tilesets/secondary/hall_of_fame/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4DF4/palettes/15.pal rename to data/tilesets/secondary/hall_of_fame/palettes/15.pal diff --git a/data/tilesets/secondary/82D50DC/tiles.png b/data/tilesets/secondary/hall_of_fame/tiles.png similarity index 100% rename from data/tilesets/secondary/82D50DC/tiles.png rename to data/tilesets/secondary/hall_of_fame/tiles.png diff --git a/data/tilesets/secondary/82D4CD4/metatile_attributes.bin b/data/tilesets/secondary/hoenn_building/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4CD4/metatile_attributes.bin rename to data/tilesets/secondary/hoenn_building/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4CD4/metatiles.bin b/data/tilesets/secondary/hoenn_building/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4CD4/metatiles.bin rename to data/tilesets/secondary/hoenn_building/metatiles.bin diff --git a/data/tilesets/secondary/82D4CD4/palettes/1.pal b/data/tilesets/secondary/hoenn_building/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4CD4/palettes/1.pal rename to data/tilesets/secondary/hoenn_building/palettes/00.pal diff --git a/data/tilesets/secondary/82D4CD4/palettes/2.pal b/data/tilesets/secondary/hoenn_building/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4CD4/palettes/2.pal rename to data/tilesets/secondary/hoenn_building/palettes/01.pal diff --git a/data/tilesets/secondary/82D4CD4/palettes/3.pal b/data/tilesets/secondary/hoenn_building/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4CD4/palettes/3.pal rename to data/tilesets/secondary/hoenn_building/palettes/02.pal diff --git a/data/tilesets/secondary/82D4CD4/palettes/4.pal b/data/tilesets/secondary/hoenn_building/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4CD4/palettes/4.pal rename to data/tilesets/secondary/hoenn_building/palettes/03.pal diff --git a/data/tilesets/secondary/82D4CD4/palettes/5.pal b/data/tilesets/secondary/hoenn_building/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4CD4/palettes/5.pal rename to data/tilesets/secondary/hoenn_building/palettes/04.pal diff --git a/data/tilesets/secondary/82D4CD4/palettes/6.pal b/data/tilesets/secondary/hoenn_building/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4CD4/palettes/6.pal rename to data/tilesets/secondary/hoenn_building/palettes/05.pal diff --git a/data/tilesets/secondary/82D4CEC/palettes/6.pal b/data/tilesets/secondary/hoenn_building/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4CEC/palettes/6.pal rename to data/tilesets/secondary/hoenn_building/palettes/06.pal diff --git a/data/tilesets/secondary/82D4CD4/palettes/7.pal b/data/tilesets/secondary/hoenn_building/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4CD4/palettes/7.pal rename to data/tilesets/secondary/hoenn_building/palettes/07.pal diff --git a/data/tilesets/secondary/82D4CD4/palettes/8.pal b/data/tilesets/secondary/hoenn_building/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4CD4/palettes/8.pal rename to data/tilesets/secondary/hoenn_building/palettes/08.pal diff --git a/data/tilesets/secondary/82D4CD4/palettes/9.pal b/data/tilesets/secondary/hoenn_building/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4CD4/palettes/9.pal rename to data/tilesets/secondary/hoenn_building/palettes/09.pal diff --git a/data/tilesets/secondary/82D4CD4/palettes/10.pal b/data/tilesets/secondary/hoenn_building/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4CD4/palettes/10.pal rename to data/tilesets/secondary/hoenn_building/palettes/10.pal diff --git a/data/tilesets/secondary/82D4CD4/palettes/11.pal b/data/tilesets/secondary/hoenn_building/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4CD4/palettes/11.pal rename to data/tilesets/secondary/hoenn_building/palettes/11.pal diff --git a/data/tilesets/secondary/82D4CD4/palettes/12.pal b/data/tilesets/secondary/hoenn_building/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4CD4/palettes/12.pal rename to data/tilesets/secondary/hoenn_building/palettes/12.pal diff --git a/data/tilesets/secondary/82D4D94/palettes/13.pal b/data/tilesets/secondary/hoenn_building/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4D94/palettes/13.pal rename to data/tilesets/secondary/hoenn_building/palettes/13.pal diff --git a/data/tilesets/secondary/82D4D94/palettes/14.pal b/data/tilesets/secondary/hoenn_building/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4D94/palettes/14.pal rename to data/tilesets/secondary/hoenn_building/palettes/14.pal diff --git a/data/tilesets/secondary/82D4E0C/palettes/15.pal b/data/tilesets/secondary/hoenn_building/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4E0C/palettes/15.pal rename to data/tilesets/secondary/hoenn_building/palettes/15.pal diff --git a/data/tilesets/secondary/82D4CD4/tiles.png b/data/tilesets/secondary/hoenn_building/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4CD4/tiles.png rename to data/tilesets/secondary/hoenn_building/tiles.png diff --git a/data/tilesets/secondary/82D4B84/metatile_attributes.bin b/data/tilesets/secondary/indigo_plateau/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4B84/metatile_attributes.bin rename to data/tilesets/secondary/indigo_plateau/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4B84/metatiles.bin b/data/tilesets/secondary/indigo_plateau/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4B84/metatiles.bin rename to data/tilesets/secondary/indigo_plateau/metatiles.bin diff --git a/data/tilesets/secondary/82D4B84/palettes/0.pal b/data/tilesets/secondary/indigo_plateau/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4B84/palettes/0.pal rename to data/tilesets/secondary/indigo_plateau/palettes/00.pal diff --git a/data/tilesets/secondary/82D4AC4/palettes/1.pal b/data/tilesets/secondary/indigo_plateau/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4AC4/palettes/1.pal rename to data/tilesets/secondary/indigo_plateau/palettes/01.pal diff --git a/data/tilesets/secondary/82D4AF4/palettes/2.pal b/data/tilesets/secondary/indigo_plateau/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4AF4/palettes/2.pal rename to data/tilesets/secondary/indigo_plateau/palettes/02.pal diff --git a/data/tilesets/secondary/82D4AC4/palettes/3.pal b/data/tilesets/secondary/indigo_plateau/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4AC4/palettes/3.pal rename to data/tilesets/secondary/indigo_plateau/palettes/03.pal diff --git a/data/tilesets/secondary/82D4AC4/palettes/4.pal b/data/tilesets/secondary/indigo_plateau/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4AC4/palettes/4.pal rename to data/tilesets/secondary/indigo_plateau/palettes/04.pal diff --git a/data/tilesets/secondary/82D4AC4/palettes/5.pal b/data/tilesets/secondary/indigo_plateau/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4AC4/palettes/5.pal rename to data/tilesets/secondary/indigo_plateau/palettes/05.pal diff --git a/data/tilesets/secondary/82D4AC4/palettes/6.pal b/data/tilesets/secondary/indigo_plateau/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4AC4/palettes/6.pal rename to data/tilesets/secondary/indigo_plateau/palettes/06.pal diff --git a/data/tilesets/secondary/82D4C8C/palettes/9.pal b/data/tilesets/secondary/indigo_plateau/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4C8C/palettes/9.pal rename to data/tilesets/secondary/indigo_plateau/palettes/07.pal diff --git a/data/tilesets/secondary/82D4E24/palettes/7.pal b/data/tilesets/secondary/indigo_plateau/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4E24/palettes/7.pal rename to data/tilesets/secondary/indigo_plateau/palettes/08.pal diff --git a/data/tilesets/secondary/82D4B84/palettes/9.pal b/data/tilesets/secondary/indigo_plateau/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4B84/palettes/9.pal rename to data/tilesets/secondary/indigo_plateau/palettes/09.pal diff --git a/data/tilesets/secondary/82D4B84/palettes/10.pal b/data/tilesets/secondary/indigo_plateau/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4B84/palettes/10.pal rename to data/tilesets/secondary/indigo_plateau/palettes/10.pal diff --git a/data/tilesets/secondary/82D4B84/palettes/11.pal b/data/tilesets/secondary/indigo_plateau/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4B84/palettes/11.pal rename to data/tilesets/secondary/indigo_plateau/palettes/11.pal diff --git a/data/tilesets/secondary/82D4B84/palettes/12.pal b/data/tilesets/secondary/indigo_plateau/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4B84/palettes/12.pal rename to data/tilesets/secondary/indigo_plateau/palettes/12.pal diff --git a/data/tilesets/secondary/82D4DAC/palettes/13.pal b/data/tilesets/secondary/indigo_plateau/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4DAC/palettes/13.pal rename to data/tilesets/secondary/indigo_plateau/palettes/13.pal diff --git a/data/tilesets/secondary/82D4DAC/palettes/14.pal b/data/tilesets/secondary/indigo_plateau/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4DAC/palettes/14.pal rename to data/tilesets/secondary/indigo_plateau/palettes/14.pal diff --git a/data/tilesets/secondary/82D4E24/palettes/15.pal b/data/tilesets/secondary/indigo_plateau/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4E24/palettes/15.pal rename to data/tilesets/secondary/indigo_plateau/palettes/15.pal diff --git a/data/tilesets/secondary/82D4B84/tiles.png b/data/tilesets/secondary/indigo_plateau/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4B84/tiles.png rename to data/tilesets/secondary/indigo_plateau/tiles.png diff --git a/data/tilesets/secondary/82D50AC/metatile_attributes.bin b/data/tilesets/secondary/island_harbor/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D50AC/metatile_attributes.bin rename to data/tilesets/secondary/island_harbor/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D50AC/metatiles.bin b/data/tilesets/secondary/island_harbor/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D50AC/metatiles.bin rename to data/tilesets/secondary/island_harbor/metatiles.bin diff --git a/data/tilesets/secondary/82D4BFC/palettes/0.pal b/data/tilesets/secondary/island_harbor/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4BFC/palettes/0.pal rename to data/tilesets/secondary/island_harbor/palettes/00.pal diff --git a/data/tilesets/secondary/82D50AC/palettes/1.pal b/data/tilesets/secondary/island_harbor/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D50AC/palettes/1.pal rename to data/tilesets/secondary/island_harbor/palettes/01.pal diff --git a/data/tilesets/secondary/82D4E0C/palettes/2.pal b/data/tilesets/secondary/island_harbor/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4E0C/palettes/2.pal rename to data/tilesets/secondary/island_harbor/palettes/02.pal diff --git a/data/tilesets/secondary/82D4E24/palettes/3.pal b/data/tilesets/secondary/island_harbor/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4E24/palettes/3.pal rename to data/tilesets/secondary/island_harbor/palettes/03.pal diff --git a/data/tilesets/secondary/82D4B24/palettes/4.pal b/data/tilesets/secondary/island_harbor/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4B24/palettes/4.pal rename to data/tilesets/secondary/island_harbor/palettes/04.pal diff --git a/data/tilesets/secondary/82D4E24/palettes/5.pal b/data/tilesets/secondary/island_harbor/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4E24/palettes/5.pal rename to data/tilesets/secondary/island_harbor/palettes/05.pal diff --git a/data/tilesets/secondary/82D4BFC/palettes/6.pal b/data/tilesets/secondary/island_harbor/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4BFC/palettes/6.pal rename to data/tilesets/secondary/island_harbor/palettes/06.pal diff --git a/data/tilesets/secondary/82D4CA4/palettes/9.pal b/data/tilesets/secondary/island_harbor/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4CA4/palettes/9.pal rename to data/tilesets/secondary/island_harbor/palettes/07.pal diff --git a/data/tilesets/secondary/82D50AC/palettes/8.pal b/data/tilesets/secondary/island_harbor/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D50AC/palettes/8.pal rename to data/tilesets/secondary/island_harbor/palettes/08.pal diff --git a/data/tilesets/secondary/82D50AC/palettes/9.pal b/data/tilesets/secondary/island_harbor/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D50AC/palettes/9.pal rename to data/tilesets/secondary/island_harbor/palettes/09.pal diff --git a/data/tilesets/secondary/82D50AC/palettes/10.pal b/data/tilesets/secondary/island_harbor/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D50AC/palettes/10.pal rename to data/tilesets/secondary/island_harbor/palettes/10.pal diff --git a/data/tilesets/secondary/82D50AC/palettes/11.pal b/data/tilesets/secondary/island_harbor/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D50AC/palettes/11.pal rename to data/tilesets/secondary/island_harbor/palettes/11.pal diff --git a/data/tilesets/secondary/82D5004/palettes/12.pal b/data/tilesets/secondary/island_harbor/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D5004/palettes/12.pal rename to data/tilesets/secondary/island_harbor/palettes/12.pal diff --git a/data/tilesets/secondary/82D50AC/palettes/13.pal b/data/tilesets/secondary/island_harbor/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D50AC/palettes/13.pal rename to data/tilesets/secondary/island_harbor/palettes/13.pal diff --git a/data/tilesets/secondary/82D4DC4/palettes/14.pal b/data/tilesets/secondary/island_harbor/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4DC4/palettes/14.pal rename to data/tilesets/secondary/island_harbor/palettes/14.pal diff --git a/data/tilesets/secondary/82D4E3C/palettes/15.pal b/data/tilesets/secondary/island_harbor/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4E3C/palettes/15.pal rename to data/tilesets/secondary/island_harbor/palettes/15.pal diff --git a/data/tilesets/secondary/82D50AC/tiles.png b/data/tilesets/secondary/island_harbor/tiles.png similarity index 100% rename from data/tilesets/secondary/82D50AC/tiles.png rename to data/tilesets/secondary/island_harbor/tiles.png diff --git a/data/tilesets/secondary/82D4C8C/metatile_attributes.bin b/data/tilesets/secondary/lab/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4C8C/metatile_attributes.bin rename to data/tilesets/secondary/lab/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4C8C/metatiles.bin b/data/tilesets/secondary/lab/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4C8C/metatiles.bin rename to data/tilesets/secondary/lab/metatiles.bin diff --git a/data/tilesets/secondary/82D4C8C/palettes/0.pal b/data/tilesets/secondary/lab/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4C8C/palettes/0.pal rename to data/tilesets/secondary/lab/palettes/00.pal diff --git a/data/tilesets/secondary/82D4C8C/palettes/1.pal b/data/tilesets/secondary/lab/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4C8C/palettes/1.pal rename to data/tilesets/secondary/lab/palettes/01.pal diff --git a/data/tilesets/secondary/82D4C8C/palettes/2.pal b/data/tilesets/secondary/lab/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4C8C/palettes/2.pal rename to data/tilesets/secondary/lab/palettes/02.pal diff --git a/data/tilesets/secondary/82D4C8C/palettes/3.pal b/data/tilesets/secondary/lab/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4C8C/palettes/3.pal rename to data/tilesets/secondary/lab/palettes/03.pal diff --git a/data/tilesets/secondary/82D4CEC/palettes/4.pal b/data/tilesets/secondary/lab/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4CEC/palettes/4.pal rename to data/tilesets/secondary/lab/palettes/04.pal diff --git a/data/tilesets/secondary/82D4CEC/palettes/5.pal b/data/tilesets/secondary/lab/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4CEC/palettes/5.pal rename to data/tilesets/secondary/lab/palettes/05.pal diff --git a/data/tilesets/secondary/82D4D1C/palettes/4.pal b/data/tilesets/secondary/lab/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4D1C/palettes/4.pal rename to data/tilesets/secondary/lab/palettes/06.pal diff --git a/data/tilesets/secondary/82D4C8C/palettes/7.pal b/data/tilesets/secondary/lab/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4C8C/palettes/7.pal rename to data/tilesets/secondary/lab/palettes/07.pal diff --git a/data/tilesets/secondary/82D4C8C/palettes/8.pal b/data/tilesets/secondary/lab/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4C8C/palettes/8.pal rename to data/tilesets/secondary/lab/palettes/08.pal diff --git a/data/tilesets/secondary/82D4CBC/palettes/9.pal b/data/tilesets/secondary/lab/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4CBC/palettes/9.pal rename to data/tilesets/secondary/lab/palettes/09.pal diff --git a/data/tilesets/secondary/82D4D34/palettes/10.pal b/data/tilesets/secondary/lab/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4D34/palettes/10.pal rename to data/tilesets/secondary/lab/palettes/10.pal diff --git a/data/tilesets/secondary/82D4D64/palettes/11.pal b/data/tilesets/secondary/lab/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4D64/palettes/11.pal rename to data/tilesets/secondary/lab/palettes/11.pal diff --git a/data/tilesets/secondary/82D4C8C/palettes/12.pal b/data/tilesets/secondary/lab/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4C8C/palettes/12.pal rename to data/tilesets/secondary/lab/palettes/12.pal diff --git a/data/tilesets/secondary/82D4DC4/palettes/13.pal b/data/tilesets/secondary/lab/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4DC4/palettes/13.pal rename to data/tilesets/secondary/lab/palettes/13.pal diff --git a/data/tilesets/secondary/82D4DDC/palettes/14.pal b/data/tilesets/secondary/lab/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4DDC/palettes/14.pal rename to data/tilesets/secondary/lab/palettes/14.pal diff --git a/data/tilesets/secondary/82D4BE4/palettes/15.pal b/data/tilesets/secondary/lab/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4BE4/palettes/15.pal rename to data/tilesets/secondary/lab/palettes/15.pal diff --git a/data/tilesets/secondary/82D4C8C/tiles.png b/data/tilesets/secondary/lab/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4C8C/tiles.png rename to data/tilesets/secondary/lab/tiles.png diff --git a/data/tilesets/secondary/82D4B0C/metatile_attributes.bin b/data/tilesets/secondary/lavender_town/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4B0C/metatile_attributes.bin rename to data/tilesets/secondary/lavender_town/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4B0C/metatiles.bin b/data/tilesets/secondary/lavender_town/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4B0C/metatiles.bin rename to data/tilesets/secondary/lavender_town/metatiles.bin diff --git a/data/tilesets/secondary/82D4DF4/palettes/0.pal b/data/tilesets/secondary/lavender_town/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4DF4/palettes/0.pal rename to data/tilesets/secondary/lavender_town/palettes/00.pal diff --git a/data/tilesets/secondary/82D4E54/palettes/1.pal b/data/tilesets/secondary/lavender_town/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4E54/palettes/1.pal rename to data/tilesets/secondary/lavender_town/palettes/01.pal diff --git a/data/tilesets/secondary/82D4E24/palettes/2.pal b/data/tilesets/secondary/lavender_town/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4E24/palettes/2.pal rename to data/tilesets/secondary/lavender_town/palettes/02.pal diff --git a/data/tilesets/secondary/82D4E54/palettes/3.pal b/data/tilesets/secondary/lavender_town/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4E54/palettes/3.pal rename to data/tilesets/secondary/lavender_town/palettes/03.pal diff --git a/data/tilesets/secondary/82D4B0C/palettes/4.pal b/data/tilesets/secondary/lavender_town/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4B0C/palettes/4.pal rename to data/tilesets/secondary/lavender_town/palettes/04.pal diff --git a/data/tilesets/secondary/82D4E54/palettes/5.pal b/data/tilesets/secondary/lavender_town/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4E54/palettes/5.pal rename to data/tilesets/secondary/lavender_town/palettes/05.pal diff --git a/data/tilesets/secondary/82D4B0C/palettes/6.pal b/data/tilesets/secondary/lavender_town/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4B0C/palettes/6.pal rename to data/tilesets/secondary/lavender_town/palettes/06.pal diff --git a/data/tilesets/secondary/82D4B54/palettes/7.pal b/data/tilesets/secondary/lavender_town/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4B54/palettes/7.pal rename to data/tilesets/secondary/lavender_town/palettes/07.pal diff --git a/data/tilesets/secondary/82D4B0C/palettes/8.pal b/data/tilesets/secondary/lavender_town/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4B0C/palettes/8.pal rename to data/tilesets/secondary/lavender_town/palettes/08.pal diff --git a/data/tilesets/secondary/82D4B0C/palettes/9.pal b/data/tilesets/secondary/lavender_town/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4B0C/palettes/9.pal rename to data/tilesets/secondary/lavender_town/palettes/09.pal diff --git a/data/tilesets/secondary/82D4B0C/palettes/10.pal b/data/tilesets/secondary/lavender_town/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4B0C/palettes/10.pal rename to data/tilesets/secondary/lavender_town/palettes/10.pal diff --git a/data/tilesets/secondary/82D4B0C/palettes/11.pal b/data/tilesets/secondary/lavender_town/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4B0C/palettes/11.pal rename to data/tilesets/secondary/lavender_town/palettes/11.pal diff --git a/data/tilesets/secondary/82D4B0C/palettes/12.pal b/data/tilesets/secondary/lavender_town/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4B0C/palettes/12.pal rename to data/tilesets/secondary/lavender_town/palettes/12.pal diff --git a/data/tilesets/secondary/82D4DDC/palettes/13.pal b/data/tilesets/secondary/lavender_town/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4DDC/palettes/13.pal rename to data/tilesets/secondary/lavender_town/palettes/13.pal diff --git a/data/tilesets/secondary/82D4DF4/palettes/14.pal b/data/tilesets/secondary/lavender_town/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4DF4/palettes/14.pal rename to data/tilesets/secondary/lavender_town/palettes/14.pal diff --git a/data/tilesets/secondary/82D4B0C/palettes/15.pal b/data/tilesets/secondary/lavender_town/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4B0C/palettes/15.pal rename to data/tilesets/secondary/lavender_town/palettes/15.pal diff --git a/data/tilesets/secondary/82D4B0C/tiles.png b/data/tilesets/secondary/lavender_town/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4B0C/tiles.png rename to data/tilesets/secondary/lavender_town/tiles.png diff --git a/data/tilesets/secondary/82D4BCC/metatile_attributes.bin b/data/tilesets/secondary/mart/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4BCC/metatile_attributes.bin rename to data/tilesets/secondary/mart/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4BCC/metatiles.bin b/data/tilesets/secondary/mart/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4BCC/metatiles.bin rename to data/tilesets/secondary/mart/metatiles.bin diff --git a/data/tilesets/secondary/82D4D34/palettes/0.pal b/data/tilesets/secondary/mart/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4D34/palettes/0.pal rename to data/tilesets/secondary/mart/palettes/00.pal diff --git a/data/tilesets/secondary/82D4BCC/palettes/1.pal b/data/tilesets/secondary/mart/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4BCC/palettes/1.pal rename to data/tilesets/secondary/mart/palettes/01.pal diff --git a/data/tilesets/secondary/82D4D34/palettes/2.pal b/data/tilesets/secondary/mart/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4D34/palettes/2.pal rename to data/tilesets/secondary/mart/palettes/02.pal diff --git a/data/tilesets/secondary/82D4BCC/palettes/3.pal b/data/tilesets/secondary/mart/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4BCC/palettes/3.pal rename to data/tilesets/secondary/mart/palettes/03.pal diff --git a/data/tilesets/secondary/82D4D34/palettes/4.pal b/data/tilesets/secondary/mart/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4D34/palettes/4.pal rename to data/tilesets/secondary/mart/palettes/04.pal diff --git a/data/tilesets/secondary/82D4D34/palettes/5.pal b/data/tilesets/secondary/mart/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4D34/palettes/5.pal rename to data/tilesets/secondary/mart/palettes/05.pal diff --git a/data/tilesets/secondary/82D4D1C/palettes/5.pal b/data/tilesets/secondary/mart/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4D1C/palettes/5.pal rename to data/tilesets/secondary/mart/palettes/06.pal diff --git a/data/tilesets/secondary/82D4BCC/palettes/7.pal b/data/tilesets/secondary/mart/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4BCC/palettes/7.pal rename to data/tilesets/secondary/mart/palettes/07.pal diff --git a/data/tilesets/secondary/82D4BCC/palettes/8.pal b/data/tilesets/secondary/mart/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4BCC/palettes/8.pal rename to data/tilesets/secondary/mart/palettes/08.pal diff --git a/data/tilesets/secondary/82D4BCC/palettes/9.pal b/data/tilesets/secondary/mart/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4BCC/palettes/9.pal rename to data/tilesets/secondary/mart/palettes/09.pal diff --git a/data/tilesets/secondary/82D4D64/palettes/10.pal b/data/tilesets/secondary/mart/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4D64/palettes/10.pal rename to data/tilesets/secondary/mart/palettes/10.pal diff --git a/data/tilesets/secondary/82D4DDC/palettes/11.pal b/data/tilesets/secondary/mart/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4DDC/palettes/11.pal rename to data/tilesets/secondary/mart/palettes/11.pal diff --git a/data/tilesets/secondary/82D4DDC/palettes/12.pal b/data/tilesets/secondary/mart/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4DDC/palettes/12.pal rename to data/tilesets/secondary/mart/palettes/12.pal diff --git a/data/tilesets/secondary/82D4DF4/palettes/13.pal b/data/tilesets/secondary/mart/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4DF4/palettes/13.pal rename to data/tilesets/secondary/mart/palettes/13.pal diff --git a/data/tilesets/secondary/82D4E0C/palettes/14.pal b/data/tilesets/secondary/mart/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4E0C/palettes/14.pal rename to data/tilesets/secondary/mart/palettes/14.pal diff --git a/data/tilesets/secondary/82D4C8C/palettes/15.pal b/data/tilesets/secondary/mart/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4C8C/palettes/15.pal rename to data/tilesets/secondary/mart/palettes/15.pal diff --git a/data/tilesets/secondary/82D4BCC/tiles.png b/data/tilesets/secondary/mart/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4BCC/tiles.png rename to data/tilesets/secondary/mart/tiles.png diff --git a/data/tilesets/secondary/82D4FEC/metatile_attributes.bin b/data/tilesets/secondary/mt_ember/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4FEC/metatile_attributes.bin rename to data/tilesets/secondary/mt_ember/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4FEC/metatiles.bin b/data/tilesets/secondary/mt_ember/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4FEC/metatiles.bin rename to data/tilesets/secondary/mt_ember/metatiles.bin diff --git a/data/tilesets/secondary/82D4FEC/palettes/0.pal b/data/tilesets/secondary/mt_ember/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4FEC/palettes/0.pal rename to data/tilesets/secondary/mt_ember/palettes/00.pal diff --git a/data/tilesets/secondary/82D4FEC/palettes/1.pal b/data/tilesets/secondary/mt_ember/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4FEC/palettes/1.pal rename to data/tilesets/secondary/mt_ember/palettes/01.pal diff --git a/data/tilesets/secondary/82D4B24/palettes/2.pal b/data/tilesets/secondary/mt_ember/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4B24/palettes/2.pal rename to data/tilesets/secondary/mt_ember/palettes/02.pal diff --git a/data/tilesets/secondary/82D4B9C/palettes/3.pal b/data/tilesets/secondary/mt_ember/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4B9C/palettes/3.pal rename to data/tilesets/secondary/mt_ember/palettes/03.pal diff --git a/data/tilesets/secondary/82D4FEC/palettes/4.pal b/data/tilesets/secondary/mt_ember/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4FEC/palettes/4.pal rename to data/tilesets/secondary/mt_ember/palettes/04.pal diff --git a/data/tilesets/secondary/82D4FEC/palettes/5.pal b/data/tilesets/secondary/mt_ember/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4FEC/palettes/5.pal rename to data/tilesets/secondary/mt_ember/palettes/05.pal diff --git a/data/tilesets/secondary/82D4FEC/palettes/6.pal b/data/tilesets/secondary/mt_ember/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4FEC/palettes/6.pal rename to data/tilesets/secondary/mt_ember/palettes/06.pal diff --git a/data/tilesets/secondary/82D4FEC/palettes/7.pal b/data/tilesets/secondary/mt_ember/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4FEC/palettes/7.pal rename to data/tilesets/secondary/mt_ember/palettes/07.pal diff --git a/data/tilesets/secondary/82D4FEC/palettes/8.pal b/data/tilesets/secondary/mt_ember/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4FEC/palettes/8.pal rename to data/tilesets/secondary/mt_ember/palettes/08.pal diff --git a/data/tilesets/secondary/82D4FEC/palettes/9.pal b/data/tilesets/secondary/mt_ember/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4FEC/palettes/9.pal rename to data/tilesets/secondary/mt_ember/palettes/09.pal diff --git a/data/tilesets/secondary/82D4FEC/palettes/10.pal b/data/tilesets/secondary/mt_ember/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4FEC/palettes/10.pal rename to data/tilesets/secondary/mt_ember/palettes/10.pal diff --git a/data/tilesets/secondary/82D4FEC/palettes/11.pal b/data/tilesets/secondary/mt_ember/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4FEC/palettes/11.pal rename to data/tilesets/secondary/mt_ember/palettes/11.pal diff --git a/data/tilesets/secondary/82D4FEC/palettes/12.pal b/data/tilesets/secondary/mt_ember/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4FEC/palettes/12.pal rename to data/tilesets/secondary/mt_ember/palettes/12.pal diff --git a/data/tilesets/secondary/82D4E0C/palettes/13.pal b/data/tilesets/secondary/mt_ember/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4E0C/palettes/13.pal rename to data/tilesets/secondary/mt_ember/palettes/13.pal diff --git a/data/tilesets/secondary/82D4E24/palettes/14.pal b/data/tilesets/secondary/mt_ember/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4E24/palettes/14.pal rename to data/tilesets/secondary/mt_ember/palettes/14.pal diff --git a/data/tilesets/secondary/82D4E54/palettes/15.pal b/data/tilesets/secondary/mt_ember/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4E54/palettes/15.pal rename to data/tilesets/secondary/mt_ember/palettes/15.pal diff --git a/data/tilesets/secondary/82D4FEC/tiles.png b/data/tilesets/secondary/mt_ember/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4FEC/tiles.png rename to data/tilesets/secondary/mt_ember/tiles.png diff --git a/data/tilesets/secondary/82D4C2C/metatile_attributes.bin b/data/tilesets/secondary/museum/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4C2C/metatile_attributes.bin rename to data/tilesets/secondary/museum/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4C2C/metatiles.bin b/data/tilesets/secondary/museum/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4C2C/metatiles.bin rename to data/tilesets/secondary/museum/metatiles.bin diff --git a/data/tilesets/secondary/82D4D4C/palettes/0.pal b/data/tilesets/secondary/museum/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4D4C/palettes/0.pal rename to data/tilesets/secondary/museum/palettes/00.pal diff --git a/data/tilesets/secondary/82D4D7C/palettes/1.pal b/data/tilesets/secondary/museum/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4D7C/palettes/1.pal rename to data/tilesets/secondary/museum/palettes/01.pal diff --git a/data/tilesets/secondary/82D4D7C/palettes/2.pal b/data/tilesets/secondary/museum/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4D7C/palettes/2.pal rename to data/tilesets/secondary/museum/palettes/02.pal diff --git a/data/tilesets/secondary/82D4C2C/palettes/3.pal b/data/tilesets/secondary/museum/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4C2C/palettes/3.pal rename to data/tilesets/secondary/museum/palettes/03.pal diff --git a/data/tilesets/secondary/82D4D4C/palettes/4.pal b/data/tilesets/secondary/museum/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4D4C/palettes/4.pal rename to data/tilesets/secondary/museum/palettes/04.pal diff --git a/data/tilesets/secondary/82D4D4C/palettes/5.pal b/data/tilesets/secondary/museum/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4D4C/palettes/5.pal rename to data/tilesets/secondary/museum/palettes/05.pal diff --git a/data/tilesets/secondary/82D4D64/palettes/4.pal b/data/tilesets/secondary/museum/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4D64/palettes/4.pal rename to data/tilesets/secondary/museum/palettes/06.pal diff --git a/data/tilesets/secondary/82D4D64/palettes/5.pal b/data/tilesets/secondary/museum/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4D64/palettes/5.pal rename to data/tilesets/secondary/museum/palettes/07.pal diff --git a/data/tilesets/secondary/82D4C2C/palettes/8.pal b/data/tilesets/secondary/museum/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4C2C/palettes/8.pal rename to data/tilesets/secondary/museum/palettes/08.pal diff --git a/data/tilesets/secondary/82D4C2C/palettes/9.pal b/data/tilesets/secondary/museum/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4C2C/palettes/9.pal rename to data/tilesets/secondary/museum/palettes/09.pal diff --git a/data/tilesets/secondary/82D4C2C/palettes/10.pal b/data/tilesets/secondary/museum/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4C2C/palettes/10.pal rename to data/tilesets/secondary/museum/palettes/10.pal diff --git a/data/tilesets/secondary/82D4F2C/palettes/11.pal b/data/tilesets/secondary/museum/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4F2C/palettes/11.pal rename to data/tilesets/secondary/museum/palettes/11.pal diff --git a/data/tilesets/secondary/82D4E3C/palettes/12.pal b/data/tilesets/secondary/museum/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4E3C/palettes/12.pal rename to data/tilesets/secondary/museum/palettes/12.pal diff --git a/data/tilesets/secondary/82D4E24/palettes/13.pal b/data/tilesets/secondary/museum/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4E24/palettes/13.pal rename to data/tilesets/secondary/museum/palettes/13.pal diff --git a/data/tilesets/secondary/82D4E3C/palettes/14.pal b/data/tilesets/secondary/museum/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4E3C/palettes/14.pal rename to data/tilesets/secondary/museum/palettes/14.pal diff --git a/data/tilesets/secondary/82D4E6C/palettes/15.pal b/data/tilesets/secondary/museum/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4E6C/palettes/15.pal rename to data/tilesets/secondary/museum/palettes/15.pal diff --git a/data/tilesets/secondary/82D4C2C/tiles.png b/data/tilesets/secondary/museum/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4C2C/tiles.png rename to data/tilesets/secondary/museum/tiles.png diff --git a/data/tilesets/secondary/82D501C/metatile_attributes.bin b/data/tilesets/secondary/navel_rock/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D501C/metatile_attributes.bin rename to data/tilesets/secondary/navel_rock/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D501C/metatiles.bin b/data/tilesets/secondary/navel_rock/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D501C/metatiles.bin rename to data/tilesets/secondary/navel_rock/metatiles.bin diff --git a/data/tilesets/secondary/82D4E24/palettes/0.pal b/data/tilesets/secondary/navel_rock/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4E24/palettes/0.pal rename to data/tilesets/secondary/navel_rock/palettes/00.pal diff --git a/data/tilesets/secondary/82D4FBC/palettes/1.pal b/data/tilesets/secondary/navel_rock/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4FBC/palettes/1.pal rename to data/tilesets/secondary/navel_rock/palettes/01.pal diff --git a/data/tilesets/secondary/82D4E54/palettes/2.pal b/data/tilesets/secondary/navel_rock/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4E54/palettes/2.pal rename to data/tilesets/secondary/navel_rock/palettes/02.pal diff --git a/data/tilesets/secondary/82D4FBC/palettes/3.pal b/data/tilesets/secondary/navel_rock/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4FBC/palettes/3.pal rename to data/tilesets/secondary/navel_rock/palettes/03.pal diff --git a/data/tilesets/secondary/82D4E24/palettes/4.pal b/data/tilesets/secondary/navel_rock/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4E24/palettes/4.pal rename to data/tilesets/secondary/navel_rock/palettes/04.pal diff --git a/data/tilesets/secondary/82D4FBC/palettes/5.pal b/data/tilesets/secondary/navel_rock/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4FBC/palettes/5.pal rename to data/tilesets/secondary/navel_rock/palettes/05.pal diff --git a/data/tilesets/secondary/82D4E54/palettes/6.pal b/data/tilesets/secondary/navel_rock/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4E54/palettes/6.pal rename to data/tilesets/secondary/navel_rock/palettes/06.pal diff --git a/data/tilesets/secondary/82D501C/palettes/7.pal b/data/tilesets/secondary/navel_rock/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D501C/palettes/7.pal rename to data/tilesets/secondary/navel_rock/palettes/07.pal diff --git a/data/tilesets/secondary/82D501C/palettes/8.pal b/data/tilesets/secondary/navel_rock/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D501C/palettes/8.pal rename to data/tilesets/secondary/navel_rock/palettes/08.pal diff --git a/data/tilesets/secondary/82D501C/palettes/9.pal b/data/tilesets/secondary/navel_rock/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D501C/palettes/9.pal rename to data/tilesets/secondary/navel_rock/palettes/09.pal diff --git a/data/tilesets/secondary/82D501C/palettes/10.pal b/data/tilesets/secondary/navel_rock/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D501C/palettes/10.pal rename to data/tilesets/secondary/navel_rock/palettes/10.pal diff --git a/data/tilesets/secondary/82D501C/palettes/11.pal b/data/tilesets/secondary/navel_rock/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D501C/palettes/11.pal rename to data/tilesets/secondary/navel_rock/palettes/11.pal diff --git a/data/tilesets/secondary/82D501C/palettes/12.pal b/data/tilesets/secondary/navel_rock/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D501C/palettes/12.pal rename to data/tilesets/secondary/navel_rock/palettes/12.pal diff --git a/data/tilesets/secondary/82D4E3C/palettes/13.pal b/data/tilesets/secondary/navel_rock/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4E3C/palettes/13.pal rename to data/tilesets/secondary/navel_rock/palettes/13.pal diff --git a/data/tilesets/secondary/82D4E54/palettes/14.pal b/data/tilesets/secondary/navel_rock/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4E54/palettes/14.pal rename to data/tilesets/secondary/navel_rock/palettes/14.pal diff --git a/data/tilesets/secondary/82D4E84/palettes/15.pal b/data/tilesets/secondary/navel_rock/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4E84/palettes/15.pal rename to data/tilesets/secondary/navel_rock/palettes/15.pal diff --git a/data/tilesets/secondary/82D501C/tiles.png b/data/tilesets/secondary/navel_rock/tiles.png similarity index 100% rename from data/tilesets/secondary/82D501C/tiles.png rename to data/tilesets/secondary/navel_rock/tiles.png diff --git a/data/tilesets/secondary/82D4AAC/metatile_attributes.bin b/data/tilesets/secondary/pallet_town/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4AAC/metatile_attributes.bin rename to data/tilesets/secondary/pallet_town/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4AAC/metatiles.bin b/data/tilesets/secondary/pallet_town/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4AAC/metatiles.bin rename to data/tilesets/secondary/pallet_town/metatiles.bin diff --git a/data/tilesets/secondary/82D4AAC/palettes/0.pal b/data/tilesets/secondary/pallet_town/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4AAC/palettes/0.pal rename to data/tilesets/secondary/pallet_town/palettes/00.pal diff --git a/data/tilesets/secondary/82D4AAC/palettes/1.pal b/data/tilesets/secondary/pallet_town/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4AAC/palettes/1.pal rename to data/tilesets/secondary/pallet_town/palettes/01.pal diff --git a/data/tilesets/secondary/82D4AAC/palettes/2.pal b/data/tilesets/secondary/pallet_town/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4AAC/palettes/2.pal rename to data/tilesets/secondary/pallet_town/palettes/02.pal diff --git a/data/tilesets/secondary/82D4AAC/palettes/3.pal b/data/tilesets/secondary/pallet_town/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4AAC/palettes/3.pal rename to data/tilesets/secondary/pallet_town/palettes/03.pal diff --git a/data/tilesets/secondary/82D4AAC/palettes/4.pal b/data/tilesets/secondary/pallet_town/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4AAC/palettes/4.pal rename to data/tilesets/secondary/pallet_town/palettes/04.pal diff --git a/data/tilesets/secondary/82D4AAC/palettes/5.pal b/data/tilesets/secondary/pallet_town/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4AAC/palettes/5.pal rename to data/tilesets/secondary/pallet_town/palettes/05.pal diff --git a/data/tilesets/secondary/82D4D1C/palettes/6.pal b/data/tilesets/secondary/pallet_town/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4D1C/palettes/6.pal rename to data/tilesets/secondary/pallet_town/palettes/06.pal diff --git a/data/tilesets/secondary/82D4E54/palettes/7.pal b/data/tilesets/secondary/pallet_town/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4E54/palettes/7.pal rename to data/tilesets/secondary/pallet_town/palettes/07.pal diff --git a/data/tilesets/secondary/82D4AAC/palettes/8.pal b/data/tilesets/secondary/pallet_town/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4AAC/palettes/8.pal rename to data/tilesets/secondary/pallet_town/palettes/08.pal diff --git a/data/tilesets/secondary/82D4AAC/palettes/9.pal b/data/tilesets/secondary/pallet_town/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4AAC/palettes/9.pal rename to data/tilesets/secondary/pallet_town/palettes/09.pal diff --git a/data/tilesets/secondary/82D4AAC/palettes/10.pal b/data/tilesets/secondary/pallet_town/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4AAC/palettes/10.pal rename to data/tilesets/secondary/pallet_town/palettes/10.pal diff --git a/data/tilesets/secondary/82D4AAC/palettes/11.pal b/data/tilesets/secondary/pallet_town/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4AAC/palettes/11.pal rename to data/tilesets/secondary/pallet_town/palettes/11.pal diff --git a/data/tilesets/secondary/82D4AAC/palettes/12.pal b/data/tilesets/secondary/pallet_town/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4AAC/palettes/12.pal rename to data/tilesets/secondary/pallet_town/palettes/12.pal diff --git a/data/tilesets/secondary/82D4E54/palettes/13.pal b/data/tilesets/secondary/pallet_town/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4E54/palettes/13.pal rename to data/tilesets/secondary/pallet_town/palettes/13.pal diff --git a/data/tilesets/secondary/82D4E6C/palettes/14.pal b/data/tilesets/secondary/pallet_town/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4E6C/palettes/14.pal rename to data/tilesets/secondary/pallet_town/palettes/14.pal diff --git a/data/tilesets/secondary/82D4E9C/palettes/15.pal b/data/tilesets/secondary/pallet_town/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4E9C/palettes/15.pal rename to data/tilesets/secondary/pallet_town/palettes/15.pal diff --git a/data/tilesets/secondary/82D4AAC/tiles.png b/data/tilesets/secondary/pallet_town/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4AAC/tiles.png rename to data/tilesets/secondary/pallet_town/tiles.png diff --git a/data/tilesets/secondary/82D4ADC/metatile_attributes.bin b/data/tilesets/secondary/pewter_city/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4ADC/metatile_attributes.bin rename to data/tilesets/secondary/pewter_city/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4ADC/metatiles.bin b/data/tilesets/secondary/pewter_city/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4ADC/metatiles.bin rename to data/tilesets/secondary/pewter_city/metatiles.bin diff --git a/data/tilesets/secondary/82D4ADC/palettes/0.pal b/data/tilesets/secondary/pewter_city/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4ADC/palettes/0.pal rename to data/tilesets/secondary/pewter_city/palettes/00.pal diff --git a/data/tilesets/secondary/82D4ADC/palettes/1.pal b/data/tilesets/secondary/pewter_city/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4ADC/palettes/1.pal rename to data/tilesets/secondary/pewter_city/palettes/01.pal diff --git a/data/tilesets/secondary/82D4FBC/palettes/2.pal b/data/tilesets/secondary/pewter_city/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4FBC/palettes/2.pal rename to data/tilesets/secondary/pewter_city/palettes/02.pal diff --git a/data/tilesets/secondary/82D4DC4/palettes/3.pal b/data/tilesets/secondary/pewter_city/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4DC4/palettes/3.pal rename to data/tilesets/secondary/pewter_city/palettes/03.pal diff --git a/data/tilesets/secondary/82D4E54/palettes/4.pal b/data/tilesets/secondary/pewter_city/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4E54/palettes/4.pal rename to data/tilesets/secondary/pewter_city/palettes/04.pal diff --git a/data/tilesets/secondary/82D4B9C/palettes/5.pal b/data/tilesets/secondary/pewter_city/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4B9C/palettes/5.pal rename to data/tilesets/secondary/pewter_city/palettes/05.pal diff --git a/data/tilesets/secondary/82D4B6C/palettes/6.pal b/data/tilesets/secondary/pewter_city/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4B6C/palettes/6.pal rename to data/tilesets/secondary/pewter_city/palettes/06.pal diff --git a/data/tilesets/secondary/82D4B6C/palettes/7.pal b/data/tilesets/secondary/pewter_city/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4B6C/palettes/7.pal rename to data/tilesets/secondary/pewter_city/palettes/07.pal diff --git a/data/tilesets/secondary/82D4ADC/palettes/8.pal b/data/tilesets/secondary/pewter_city/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4ADC/palettes/8.pal rename to data/tilesets/secondary/pewter_city/palettes/08.pal diff --git a/data/tilesets/secondary/82D4ADC/palettes/9.pal b/data/tilesets/secondary/pewter_city/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4ADC/palettes/9.pal rename to data/tilesets/secondary/pewter_city/palettes/09.pal diff --git a/data/tilesets/secondary/82D4ADC/palettes/10.pal b/data/tilesets/secondary/pewter_city/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4ADC/palettes/10.pal rename to data/tilesets/secondary/pewter_city/palettes/10.pal diff --git a/data/tilesets/secondary/82D4ADC/palettes/11.pal b/data/tilesets/secondary/pewter_city/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4ADC/palettes/11.pal rename to data/tilesets/secondary/pewter_city/palettes/11.pal diff --git a/data/tilesets/secondary/82D5064/palettes/12.pal b/data/tilesets/secondary/pewter_city/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D5064/palettes/12.pal rename to data/tilesets/secondary/pewter_city/palettes/12.pal diff --git a/data/tilesets/secondary/82D4E6C/palettes/13.pal b/data/tilesets/secondary/pewter_city/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4E6C/palettes/13.pal rename to data/tilesets/secondary/pewter_city/palettes/13.pal diff --git a/data/tilesets/secondary/82D4E84/palettes/14.pal b/data/tilesets/secondary/pewter_city/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4E84/palettes/14.pal rename to data/tilesets/secondary/pewter_city/palettes/14.pal diff --git a/data/tilesets/secondary/82D4EB4/palettes/15.pal b/data/tilesets/secondary/pewter_city/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4EB4/palettes/15.pal rename to data/tilesets/secondary/pewter_city/palettes/15.pal diff --git a/data/tilesets/secondary/82D4ADC/tiles.png b/data/tilesets/secondary/pewter_city/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4ADC/tiles.png rename to data/tilesets/secondary/pewter_city/tiles.png diff --git a/data/tilesets/secondary/82D4D04/metatile_attributes.bin b/data/tilesets/secondary/pewter_gym/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4D04/metatile_attributes.bin rename to data/tilesets/secondary/pewter_gym/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4D04/metatiles.bin b/data/tilesets/secondary/pewter_gym/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4D04/metatiles.bin rename to data/tilesets/secondary/pewter_gym/metatiles.bin diff --git a/data/tilesets/secondary/82D4EFC/palettes/0.pal b/data/tilesets/secondary/pewter_gym/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4EFC/palettes/0.pal rename to data/tilesets/secondary/pewter_gym/palettes/00.pal diff --git a/data/tilesets/secondary/82D4F8C/palettes/1.pal b/data/tilesets/secondary/pewter_gym/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4F8C/palettes/1.pal rename to data/tilesets/secondary/pewter_gym/palettes/01.pal diff --git a/data/tilesets/secondary/82D4FA4/palettes/2.pal b/data/tilesets/secondary/pewter_gym/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4FA4/palettes/2.pal rename to data/tilesets/secondary/pewter_gym/palettes/02.pal diff --git a/data/tilesets/secondary/82D4FA4/palettes/3.pal b/data/tilesets/secondary/pewter_gym/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4FA4/palettes/3.pal rename to data/tilesets/secondary/pewter_gym/palettes/03.pal diff --git a/data/tilesets/secondary/82D4FA4/palettes/4.pal b/data/tilesets/secondary/pewter_gym/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4FA4/palettes/4.pal rename to data/tilesets/secondary/pewter_gym/palettes/04.pal diff --git a/data/tilesets/secondary/82D4EE4/palettes/5.pal b/data/tilesets/secondary/pewter_gym/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4EE4/palettes/5.pal rename to data/tilesets/secondary/pewter_gym/palettes/05.pal diff --git a/data/tilesets/secondary/82D4FA4/palettes/6.pal b/data/tilesets/secondary/pewter_gym/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4FA4/palettes/6.pal rename to data/tilesets/secondary/pewter_gym/palettes/06.pal diff --git a/data/tilesets/secondary/82D4D04/palettes/7.pal b/data/tilesets/secondary/pewter_gym/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4D04/palettes/7.pal rename to data/tilesets/secondary/pewter_gym/palettes/07.pal diff --git a/data/tilesets/secondary/82D4D04/palettes/8.pal b/data/tilesets/secondary/pewter_gym/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4D04/palettes/8.pal rename to data/tilesets/secondary/pewter_gym/palettes/08.pal diff --git a/data/tilesets/secondary/82D4D04/palettes/9.pal b/data/tilesets/secondary/pewter_gym/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4D04/palettes/9.pal rename to data/tilesets/secondary/pewter_gym/palettes/09.pal diff --git a/data/tilesets/secondary/82D4D04/palettes/10.pal b/data/tilesets/secondary/pewter_gym/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4D04/palettes/10.pal rename to data/tilesets/secondary/pewter_gym/palettes/10.pal diff --git a/data/tilesets/secondary/82D4D04/palettes/11.pal b/data/tilesets/secondary/pewter_gym/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4D04/palettes/11.pal rename to data/tilesets/secondary/pewter_gym/palettes/11.pal diff --git a/data/tilesets/secondary/82D4D04/palettes/12.pal b/data/tilesets/secondary/pewter_gym/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4D04/palettes/12.pal rename to data/tilesets/secondary/pewter_gym/palettes/12.pal diff --git a/data/tilesets/secondary/82D4E84/palettes/13.pal b/data/tilesets/secondary/pewter_gym/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4E84/palettes/13.pal rename to data/tilesets/secondary/pewter_gym/palettes/13.pal diff --git a/data/tilesets/secondary/82D4E9C/palettes/14.pal b/data/tilesets/secondary/pewter_gym/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4E9C/palettes/14.pal rename to data/tilesets/secondary/pewter_gym/palettes/14.pal diff --git a/data/tilesets/secondary/82D4EE4/palettes/15.pal b/data/tilesets/secondary/pewter_gym/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4EE4/palettes/15.pal rename to data/tilesets/secondary/pewter_gym/palettes/15.pal diff --git a/data/tilesets/secondary/82D4D04/tiles.png b/data/tilesets/secondary/pewter_gym/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4D04/tiles.png rename to data/tilesets/secondary/pewter_gym/tiles.png diff --git a/data/tilesets/secondary/82D4BE4/metatile_attributes.bin b/data/tilesets/secondary/pokemon_center/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4BE4/metatile_attributes.bin rename to data/tilesets/secondary/pokemon_center/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4BE4/metatiles.bin b/data/tilesets/secondary/pokemon_center/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4BE4/metatiles.bin rename to data/tilesets/secondary/pokemon_center/metatiles.bin diff --git a/data/tilesets/secondary/82D4D64/palettes/0.pal b/data/tilesets/secondary/pokemon_center/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4D64/palettes/0.pal rename to data/tilesets/secondary/pokemon_center/palettes/00.pal diff --git a/data/tilesets/secondary/82D4D34/palettes/1.pal b/data/tilesets/secondary/pokemon_center/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4D34/palettes/1.pal rename to data/tilesets/secondary/pokemon_center/palettes/01.pal diff --git a/data/tilesets/secondary/82D4DDC/palettes/2.pal b/data/tilesets/secondary/pokemon_center/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4DDC/palettes/2.pal rename to data/tilesets/secondary/pokemon_center/palettes/02.pal diff --git a/data/tilesets/secondary/82D4DDC/palettes/3.pal b/data/tilesets/secondary/pokemon_center/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4DDC/palettes/3.pal rename to data/tilesets/secondary/pokemon_center/palettes/03.pal diff --git a/data/tilesets/secondary/82D4D7C/palettes/4.pal b/data/tilesets/secondary/pokemon_center/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4D7C/palettes/4.pal rename to data/tilesets/secondary/pokemon_center/palettes/04.pal diff --git a/data/tilesets/secondary/82D4D7C/palettes/5.pal b/data/tilesets/secondary/pokemon_center/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4D7C/palettes/5.pal rename to data/tilesets/secondary/pokemon_center/palettes/05.pal diff --git a/data/tilesets/secondary/82D4D34/palettes/6.pal b/data/tilesets/secondary/pokemon_center/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4D34/palettes/6.pal rename to data/tilesets/secondary/pokemon_center/palettes/06.pal diff --git a/data/tilesets/secondary/82D4BE4/palettes/7.pal b/data/tilesets/secondary/pokemon_center/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4BE4/palettes/7.pal rename to data/tilesets/secondary/pokemon_center/palettes/07.pal diff --git a/data/tilesets/secondary/82D4BE4/palettes/8.pal b/data/tilesets/secondary/pokemon_center/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4BE4/palettes/8.pal rename to data/tilesets/secondary/pokemon_center/palettes/08.pal diff --git a/data/tilesets/secondary/82D4BE4/palettes/9.pal b/data/tilesets/secondary/pokemon_center/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4BE4/palettes/9.pal rename to data/tilesets/secondary/pokemon_center/palettes/09.pal diff --git a/data/tilesets/secondary/82D4BE4/palettes/10.pal b/data/tilesets/secondary/pokemon_center/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4BE4/palettes/10.pal rename to data/tilesets/secondary/pokemon_center/palettes/10.pal diff --git a/data/tilesets/secondary/82D4BE4/palettes/11.pal b/data/tilesets/secondary/pokemon_center/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4BE4/palettes/11.pal rename to data/tilesets/secondary/pokemon_center/palettes/11.pal diff --git a/data/tilesets/secondary/82D4BE4/palettes/12.pal b/data/tilesets/secondary/pokemon_center/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4BE4/palettes/12.pal rename to data/tilesets/secondary/pokemon_center/palettes/12.pal diff --git a/data/tilesets/secondary/82D4E9C/palettes/13.pal b/data/tilesets/secondary/pokemon_center/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4E9C/palettes/13.pal rename to data/tilesets/secondary/pokemon_center/palettes/13.pal diff --git a/data/tilesets/secondary/82D4EB4/palettes/14.pal b/data/tilesets/secondary/pokemon_center/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4EB4/palettes/14.pal rename to data/tilesets/secondary/pokemon_center/palettes/14.pal diff --git a/data/tilesets/secondary/82D4CBC/palettes/15.pal b/data/tilesets/secondary/pokemon_center/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4CBC/palettes/15.pal rename to data/tilesets/secondary/pokemon_center/palettes/15.pal diff --git a/data/tilesets/secondary/82D4BE4/tiles.png b/data/tilesets/secondary/pokemon_center/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4BE4/tiles.png rename to data/tilesets/secondary/pokemon_center/tiles.png diff --git a/data/tilesets/secondary/82D50C4/metatile_attributes.bin b/data/tilesets/secondary/pokemon_league/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D50C4/metatile_attributes.bin rename to data/tilesets/secondary/pokemon_league/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D50C4/metatiles.bin b/data/tilesets/secondary/pokemon_league/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D50C4/metatiles.bin rename to data/tilesets/secondary/pokemon_league/metatiles.bin diff --git a/data/tilesets/secondary/82D5094/palettes/0.pal b/data/tilesets/secondary/pokemon_league/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D5094/palettes/0.pal rename to data/tilesets/secondary/pokemon_league/palettes/00.pal diff --git a/data/tilesets/secondary/82D50C4/palettes/1.pal b/data/tilesets/secondary/pokemon_league/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D50C4/palettes/1.pal rename to data/tilesets/secondary/pokemon_league/palettes/01.pal diff --git a/data/tilesets/secondary/82D5034/palettes/2.pal b/data/tilesets/secondary/pokemon_league/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D5034/palettes/2.pal rename to data/tilesets/secondary/pokemon_league/palettes/02.pal diff --git a/data/tilesets/secondary/82D5034/palettes/3.pal b/data/tilesets/secondary/pokemon_league/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D5034/palettes/3.pal rename to data/tilesets/secondary/pokemon_league/palettes/03.pal diff --git a/data/tilesets/secondary/82D5034/palettes/4.pal b/data/tilesets/secondary/pokemon_league/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D5034/palettes/4.pal rename to data/tilesets/secondary/pokemon_league/palettes/04.pal diff --git a/data/tilesets/secondary/82D50C4/palettes/5.pal b/data/tilesets/secondary/pokemon_league/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D50C4/palettes/5.pal rename to data/tilesets/secondary/pokemon_league/palettes/05.pal diff --git a/data/tilesets/secondary/82D5034/palettes/6.pal b/data/tilesets/secondary/pokemon_league/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D5034/palettes/6.pal rename to data/tilesets/secondary/pokemon_league/palettes/06.pal diff --git a/data/tilesets/secondary/82D50C4/palettes/7.pal b/data/tilesets/secondary/pokemon_league/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D50C4/palettes/7.pal rename to data/tilesets/secondary/pokemon_league/palettes/07.pal diff --git a/data/tilesets/secondary/82D50C4/palettes/8.pal b/data/tilesets/secondary/pokemon_league/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D50C4/palettes/8.pal rename to data/tilesets/secondary/pokemon_league/palettes/08.pal diff --git a/data/tilesets/secondary/82D50C4/palettes/9.pal b/data/tilesets/secondary/pokemon_league/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D50C4/palettes/9.pal rename to data/tilesets/secondary/pokemon_league/palettes/09.pal diff --git a/data/tilesets/secondary/82D50C4/palettes/10.pal b/data/tilesets/secondary/pokemon_league/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D50C4/palettes/10.pal rename to data/tilesets/secondary/pokemon_league/palettes/10.pal diff --git a/data/tilesets/secondary/82D50C4/palettes/11.pal b/data/tilesets/secondary/pokemon_league/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D50C4/palettes/11.pal rename to data/tilesets/secondary/pokemon_league/palettes/11.pal diff --git a/data/tilesets/secondary/82D50C4/palettes/12.pal b/data/tilesets/secondary/pokemon_league/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D50C4/palettes/12.pal rename to data/tilesets/secondary/pokemon_league/palettes/12.pal diff --git a/data/tilesets/secondary/82D4EB4/palettes/13.pal b/data/tilesets/secondary/pokemon_league/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4EB4/palettes/13.pal rename to data/tilesets/secondary/pokemon_league/palettes/13.pal diff --git a/data/tilesets/secondary/82D4EE4/palettes/14.pal b/data/tilesets/secondary/pokemon_league/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4EE4/palettes/14.pal rename to data/tilesets/secondary/pokemon_league/palettes/14.pal diff --git a/data/tilesets/secondary/82D50C4/palettes/15.pal b/data/tilesets/secondary/pokemon_league/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D50C4/palettes/15.pal rename to data/tilesets/secondary/pokemon_league/palettes/15.pal diff --git a/data/tilesets/secondary/82D50C4/tiles.png b/data/tilesets/secondary/pokemon_league/tiles.png similarity index 100% rename from data/tilesets/secondary/82D50C4/tiles.png rename to data/tilesets/secondary/pokemon_league/tiles.png diff --git a/data/tilesets/secondary/82D4F2C/metatile_attributes.bin b/data/tilesets/secondary/pokemon_mansion/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4F2C/metatile_attributes.bin rename to data/tilesets/secondary/pokemon_mansion/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4F2C/metatiles.bin b/data/tilesets/secondary/pokemon_mansion/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4F2C/metatiles.bin rename to data/tilesets/secondary/pokemon_mansion/metatiles.bin diff --git a/data/tilesets/secondary/82D4D4C/palettes/6.pal b/data/tilesets/secondary/pokemon_mansion/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4D4C/palettes/6.pal rename to data/tilesets/secondary/pokemon_mansion/palettes/00.pal diff --git a/data/tilesets/secondary/82D4D64/palettes/6.pal b/data/tilesets/secondary/pokemon_mansion/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4D64/palettes/6.pal rename to data/tilesets/secondary/pokemon_mansion/palettes/01.pal diff --git a/data/tilesets/secondary/82D4D7C/palettes/6.pal b/data/tilesets/secondary/pokemon_mansion/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4D7C/palettes/6.pal rename to data/tilesets/secondary/pokemon_mansion/palettes/02.pal diff --git a/data/tilesets/secondary/82D4D7C/palettes/9.pal b/data/tilesets/secondary/pokemon_mansion/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4D7C/palettes/9.pal rename to data/tilesets/secondary/pokemon_mansion/palettes/03.pal diff --git a/data/tilesets/secondary/82D4DAC/palettes/6.pal b/data/tilesets/secondary/pokemon_mansion/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4DAC/palettes/6.pal rename to data/tilesets/secondary/pokemon_mansion/palettes/04.pal diff --git a/data/tilesets/secondary/82D4E6C/palettes/12.pal b/data/tilesets/secondary/pokemon_mansion/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4E6C/palettes/12.pal rename to data/tilesets/secondary/pokemon_mansion/palettes/05.pal diff --git a/data/tilesets/secondary/82D4E84/palettes/6.pal b/data/tilesets/secondary/pokemon_mansion/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4E84/palettes/6.pal rename to data/tilesets/secondary/pokemon_mansion/palettes/06.pal diff --git a/data/tilesets/secondary/82D4F2C/palettes/7.pal b/data/tilesets/secondary/pokemon_mansion/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4F2C/palettes/7.pal rename to data/tilesets/secondary/pokemon_mansion/palettes/07.pal diff --git a/data/tilesets/secondary/82D4F2C/palettes/8.pal b/data/tilesets/secondary/pokemon_mansion/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4F2C/palettes/8.pal rename to data/tilesets/secondary/pokemon_mansion/palettes/08.pal diff --git a/data/tilesets/secondary/82D4E9C/palettes/12.pal b/data/tilesets/secondary/pokemon_mansion/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4E9C/palettes/12.pal rename to data/tilesets/secondary/pokemon_mansion/palettes/09.pal diff --git a/data/tilesets/secondary/82D4F2C/palettes/10.pal b/data/tilesets/secondary/pokemon_mansion/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4F2C/palettes/10.pal rename to data/tilesets/secondary/pokemon_mansion/palettes/10.pal diff --git a/data/tilesets/secondary/82D4F74/palettes/11.pal b/data/tilesets/secondary/pokemon_mansion/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4F74/palettes/11.pal rename to data/tilesets/secondary/pokemon_mansion/palettes/11.pal diff --git a/data/tilesets/secondary/82D4F2C/palettes/12.pal b/data/tilesets/secondary/pokemon_mansion/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4F2C/palettes/12.pal rename to data/tilesets/secondary/pokemon_mansion/palettes/12.pal diff --git a/data/tilesets/secondary/82D4EE4/palettes/13.pal b/data/tilesets/secondary/pokemon_mansion/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4EE4/palettes/13.pal rename to data/tilesets/secondary/pokemon_mansion/palettes/13.pal diff --git a/data/tilesets/secondary/82D4EFC/palettes/14.pal b/data/tilesets/secondary/pokemon_mansion/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4EFC/palettes/14.pal rename to data/tilesets/secondary/pokemon_mansion/palettes/14.pal diff --git a/data/tilesets/secondary/82D4F14/palettes/15.pal b/data/tilesets/secondary/pokemon_mansion/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4F14/palettes/15.pal rename to data/tilesets/secondary/pokemon_mansion/palettes/15.pal diff --git a/data/tilesets/secondary/82D4F2C/tiles.png b/data/tilesets/secondary/pokemon_mansion/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4F2C/tiles.png rename to data/tilesets/secondary/pokemon_mansion/tiles.png diff --git a/data/tilesets/secondary/82D4EFC/metatile_attributes.bin b/data/tilesets/secondary/pokemon_tower/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4EFC/metatile_attributes.bin rename to data/tilesets/secondary/pokemon_tower/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4EFC/metatiles.bin b/data/tilesets/secondary/pokemon_tower/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4EFC/metatiles.bin rename to data/tilesets/secondary/pokemon_tower/metatiles.bin diff --git a/data/tilesets/secondary/82D50C4/palettes/0.pal b/data/tilesets/secondary/pokemon_tower/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D50C4/palettes/0.pal rename to data/tilesets/secondary/pokemon_tower/palettes/00.pal diff --git a/data/tilesets/secondary/82D4E9C/palettes/1.pal b/data/tilesets/secondary/pokemon_tower/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4E9C/palettes/1.pal rename to data/tilesets/secondary/pokemon_tower/palettes/01.pal diff --git a/data/tilesets/secondary/82D4E9C/palettes/2.pal b/data/tilesets/secondary/pokemon_tower/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4E9C/palettes/2.pal rename to data/tilesets/secondary/pokemon_tower/palettes/02.pal diff --git a/data/tilesets/secondary/82D4E9C/palettes/3.pal b/data/tilesets/secondary/pokemon_tower/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4E9C/palettes/3.pal rename to data/tilesets/secondary/pokemon_tower/palettes/03.pal diff --git a/data/tilesets/secondary/82D4DDC/palettes/4.pal b/data/tilesets/secondary/pokemon_tower/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4DDC/palettes/4.pal rename to data/tilesets/secondary/pokemon_tower/palettes/04.pal diff --git a/data/tilesets/secondary/82D4DDC/palettes/5.pal b/data/tilesets/secondary/pokemon_tower/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4DDC/palettes/5.pal rename to data/tilesets/secondary/pokemon_tower/palettes/05.pal diff --git a/data/tilesets/secondary/82D4EB4/palettes/7.pal b/data/tilesets/secondary/pokemon_tower/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4EB4/palettes/7.pal rename to data/tilesets/secondary/pokemon_tower/palettes/06.pal diff --git a/data/tilesets/secondary/82D4EFC/palettes/7.pal b/data/tilesets/secondary/pokemon_tower/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4EFC/palettes/7.pal rename to data/tilesets/secondary/pokemon_tower/palettes/07.pal diff --git a/data/tilesets/secondary/82D4EFC/palettes/8.pal b/data/tilesets/secondary/pokemon_tower/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4EFC/palettes/8.pal rename to data/tilesets/secondary/pokemon_tower/palettes/08.pal diff --git a/data/tilesets/secondary/82D4EFC/palettes/9.pal b/data/tilesets/secondary/pokemon_tower/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4EFC/palettes/9.pal rename to data/tilesets/secondary/pokemon_tower/palettes/09.pal diff --git a/data/tilesets/secondary/82D4DDC/palettes/10.pal b/data/tilesets/secondary/pokemon_tower/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4DDC/palettes/10.pal rename to data/tilesets/secondary/pokemon_tower/palettes/10.pal diff --git a/data/tilesets/secondary/82D4E3C/palettes/11.pal b/data/tilesets/secondary/pokemon_tower/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4E3C/palettes/11.pal rename to data/tilesets/secondary/pokemon_tower/palettes/11.pal diff --git a/data/tilesets/secondary/82D4EFC/palettes/12.pal b/data/tilesets/secondary/pokemon_tower/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4EFC/palettes/12.pal rename to data/tilesets/secondary/pokemon_tower/palettes/12.pal diff --git a/data/tilesets/secondary/82D4EFC/palettes/13.pal b/data/tilesets/secondary/pokemon_tower/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4EFC/palettes/13.pal rename to data/tilesets/secondary/pokemon_tower/palettes/13.pal diff --git a/data/tilesets/secondary/82D4F14/palettes/14.pal b/data/tilesets/secondary/pokemon_tower/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4F14/palettes/14.pal rename to data/tilesets/secondary/pokemon_tower/palettes/14.pal diff --git a/data/tilesets/secondary/82D4D64/palettes/15.pal b/data/tilesets/secondary/pokemon_tower/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4D64/palettes/15.pal rename to data/tilesets/secondary/pokemon_tower/palettes/15.pal diff --git a/data/tilesets/secondary/82D4EFC/tiles.png b/data/tilesets/secondary/pokemon_tower/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4EFC/tiles.png rename to data/tilesets/secondary/pokemon_tower/tiles.png diff --git a/data/tilesets/secondary/82D4E9C/metatile_attributes.bin b/data/tilesets/secondary/power_plant/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4E9C/metatile_attributes.bin rename to data/tilesets/secondary/power_plant/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4E9C/metatiles.bin b/data/tilesets/secondary/power_plant/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4E9C/metatiles.bin rename to data/tilesets/secondary/power_plant/metatiles.bin diff --git a/data/tilesets/secondary/82D4D7C/palettes/0.pal b/data/tilesets/secondary/power_plant/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4D7C/palettes/0.pal rename to data/tilesets/secondary/power_plant/palettes/00.pal diff --git a/data/tilesets/secondary/82D4EFC/palettes/1.pal b/data/tilesets/secondary/power_plant/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4EFC/palettes/1.pal rename to data/tilesets/secondary/power_plant/palettes/01.pal diff --git a/data/tilesets/secondary/82D4EFC/palettes/2.pal b/data/tilesets/secondary/power_plant/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4EFC/palettes/2.pal rename to data/tilesets/secondary/power_plant/palettes/02.pal diff --git a/data/tilesets/secondary/82D4EFC/palettes/3.pal b/data/tilesets/secondary/power_plant/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4EFC/palettes/3.pal rename to data/tilesets/secondary/power_plant/palettes/03.pal diff --git a/data/tilesets/secondary/82D4E3C/palettes/4.pal b/data/tilesets/secondary/power_plant/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4E3C/palettes/4.pal rename to data/tilesets/secondary/power_plant/palettes/04.pal diff --git a/data/tilesets/secondary/82D4E3C/palettes/5.pal b/data/tilesets/secondary/power_plant/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4E3C/palettes/5.pal rename to data/tilesets/secondary/power_plant/palettes/05.pal diff --git a/data/tilesets/secondary/82D4E6C/palettes/4.pal b/data/tilesets/secondary/power_plant/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4E6C/palettes/4.pal rename to data/tilesets/secondary/power_plant/palettes/06.pal diff --git a/data/tilesets/secondary/82D4E9C/palettes/7.pal b/data/tilesets/secondary/power_plant/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4E9C/palettes/7.pal rename to data/tilesets/secondary/power_plant/palettes/07.pal diff --git a/data/tilesets/secondary/82D4E9C/palettes/8.pal b/data/tilesets/secondary/power_plant/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4E9C/palettes/8.pal rename to data/tilesets/secondary/power_plant/palettes/08.pal diff --git a/data/tilesets/secondary/82D4D94/palettes/10.pal b/data/tilesets/secondary/power_plant/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4D94/palettes/10.pal rename to data/tilesets/secondary/power_plant/palettes/09.pal diff --git a/data/tilesets/secondary/82D4E9C/palettes/10.pal b/data/tilesets/secondary/power_plant/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4E9C/palettes/10.pal rename to data/tilesets/secondary/power_plant/palettes/10.pal diff --git a/data/tilesets/secondary/82D4D94/palettes/11.pal b/data/tilesets/secondary/power_plant/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4D94/palettes/11.pal rename to data/tilesets/secondary/power_plant/palettes/11.pal diff --git a/data/tilesets/secondary/82D4F14/palettes/12.pal b/data/tilesets/secondary/power_plant/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4F14/palettes/12.pal rename to data/tilesets/secondary/power_plant/palettes/12.pal diff --git a/data/tilesets/secondary/82D4F14/palettes/13.pal b/data/tilesets/secondary/power_plant/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4F14/palettes/13.pal rename to data/tilesets/secondary/power_plant/palettes/13.pal diff --git a/data/tilesets/secondary/82D4F2C/palettes/14.pal b/data/tilesets/secondary/power_plant/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4F2C/palettes/14.pal rename to data/tilesets/secondary/power_plant/palettes/14.pal diff --git a/data/tilesets/secondary/82D4F2C/palettes/15.pal b/data/tilesets/secondary/power_plant/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4F2C/palettes/15.pal rename to data/tilesets/secondary/power_plant/palettes/15.pal diff --git a/data/tilesets/secondary/82D4E9C/tiles.png b/data/tilesets/secondary/power_plant/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4E9C/tiles.png rename to data/tilesets/secondary/power_plant/tiles.png diff --git a/data/tilesets/secondary/82D4F44/metatile_attributes.bin b/data/tilesets/secondary/restaurant_hotel/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4F44/metatile_attributes.bin rename to data/tilesets/secondary/restaurant_hotel/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4F44/metatiles.bin b/data/tilesets/secondary/restaurant_hotel/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4F44/metatiles.bin rename to data/tilesets/secondary/restaurant_hotel/metatiles.bin diff --git a/data/tilesets/secondary/82D4DDC/palettes/0.pal b/data/tilesets/secondary/restaurant_hotel/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4DDC/palettes/0.pal rename to data/tilesets/secondary/restaurant_hotel/palettes/00.pal diff --git a/data/tilesets/secondary/82D4F44/palettes/1.pal b/data/tilesets/secondary/restaurant_hotel/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4F44/palettes/1.pal rename to data/tilesets/secondary/restaurant_hotel/palettes/01.pal diff --git a/data/tilesets/secondary/82D4F44/palettes/2.pal b/data/tilesets/secondary/restaurant_hotel/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4F44/palettes/2.pal rename to data/tilesets/secondary/restaurant_hotel/palettes/02.pal diff --git a/data/tilesets/secondary/82D4F44/palettes/3.pal b/data/tilesets/secondary/restaurant_hotel/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4F44/palettes/3.pal rename to data/tilesets/secondary/restaurant_hotel/palettes/03.pal diff --git a/data/tilesets/secondary/82D4E6C/palettes/5.pal b/data/tilesets/secondary/restaurant_hotel/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4E6C/palettes/5.pal rename to data/tilesets/secondary/restaurant_hotel/palettes/04.pal diff --git a/data/tilesets/secondary/82D4E6C/palettes/6.pal b/data/tilesets/secondary/restaurant_hotel/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4E6C/palettes/6.pal rename to data/tilesets/secondary/restaurant_hotel/palettes/05.pal diff --git a/data/tilesets/secondary/82D4E6C/palettes/7.pal b/data/tilesets/secondary/restaurant_hotel/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4E6C/palettes/7.pal rename to data/tilesets/secondary/restaurant_hotel/palettes/06.pal diff --git a/data/tilesets/secondary/82D4F44/palettes/7.pal b/data/tilesets/secondary/restaurant_hotel/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4F44/palettes/7.pal rename to data/tilesets/secondary/restaurant_hotel/palettes/07.pal diff --git a/data/tilesets/secondary/82D4F44/palettes/8.pal b/data/tilesets/secondary/restaurant_hotel/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4F44/palettes/8.pal rename to data/tilesets/secondary/restaurant_hotel/palettes/08.pal diff --git a/data/tilesets/secondary/82D4D1C/palettes/8.pal b/data/tilesets/secondary/restaurant_hotel/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4D1C/palettes/8.pal rename to data/tilesets/secondary/restaurant_hotel/palettes/09.pal diff --git a/data/tilesets/secondary/82D4F5C/palettes/10.pal b/data/tilesets/secondary/restaurant_hotel/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4F5C/palettes/10.pal rename to data/tilesets/secondary/restaurant_hotel/palettes/10.pal diff --git a/data/tilesets/secondary/82D4F5C/palettes/11.pal b/data/tilesets/secondary/restaurant_hotel/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4F5C/palettes/11.pal rename to data/tilesets/secondary/restaurant_hotel/palettes/11.pal diff --git a/data/tilesets/secondary/82D4F44/palettes/12.pal b/data/tilesets/secondary/restaurant_hotel/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4F44/palettes/12.pal rename to data/tilesets/secondary/restaurant_hotel/palettes/12.pal diff --git a/data/tilesets/secondary/82D4F2C/palettes/13.pal b/data/tilesets/secondary/restaurant_hotel/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4F2C/palettes/13.pal rename to data/tilesets/secondary/restaurant_hotel/palettes/13.pal diff --git a/data/tilesets/secondary/82D4F44/palettes/14.pal b/data/tilesets/secondary/restaurant_hotel/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4F44/palettes/14.pal rename to data/tilesets/secondary/restaurant_hotel/palettes/14.pal diff --git a/data/tilesets/secondary/82D4F44/palettes/15.pal b/data/tilesets/secondary/restaurant_hotel/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4F44/palettes/15.pal rename to data/tilesets/secondary/restaurant_hotel/palettes/15.pal diff --git a/data/tilesets/secondary/82D4F44/tiles.png b/data/tilesets/secondary/restaurant_hotel/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4F44/tiles.png rename to data/tilesets/secondary/restaurant_hotel/tiles.png diff --git a/data/tilesets/secondary/82D4DF4/metatile_attributes.bin b/data/tilesets/secondary/rock_tunnel/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4DF4/metatile_attributes.bin rename to data/tilesets/secondary/rock_tunnel/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4DF4/metatiles.bin b/data/tilesets/secondary/rock_tunnel/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4DF4/metatiles.bin rename to data/tilesets/secondary/rock_tunnel/metatiles.bin diff --git a/data/tilesets/secondary/82D4FBC/palettes/0.pal b/data/tilesets/secondary/rock_tunnel/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4FBC/palettes/0.pal rename to data/tilesets/secondary/rock_tunnel/palettes/00.pal diff --git a/data/tilesets/secondary/82D4FD4/palettes/1.pal b/data/tilesets/secondary/rock_tunnel/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4FD4/palettes/1.pal rename to data/tilesets/secondary/rock_tunnel/palettes/01.pal diff --git a/data/tilesets/secondary/82D4FD4/palettes/2.pal b/data/tilesets/secondary/rock_tunnel/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4FD4/palettes/2.pal rename to data/tilesets/secondary/rock_tunnel/palettes/02.pal diff --git a/data/tilesets/secondary/82D4FD4/palettes/3.pal b/data/tilesets/secondary/rock_tunnel/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4FD4/palettes/3.pal rename to data/tilesets/secondary/rock_tunnel/palettes/03.pal diff --git a/data/tilesets/secondary/82D4F14/palettes/4.pal b/data/tilesets/secondary/rock_tunnel/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4F14/palettes/4.pal rename to data/tilesets/secondary/rock_tunnel/palettes/04.pal diff --git a/data/tilesets/secondary/82D4FD4/palettes/5.pal b/data/tilesets/secondary/rock_tunnel/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4FD4/palettes/5.pal rename to data/tilesets/secondary/rock_tunnel/palettes/05.pal diff --git a/data/tilesets/secondary/82D4F14/palettes/6.pal b/data/tilesets/secondary/rock_tunnel/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4F14/palettes/6.pal rename to data/tilesets/secondary/rock_tunnel/palettes/06.pal diff --git a/data/tilesets/secondary/82D4F14/palettes/7.pal b/data/tilesets/secondary/rock_tunnel/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4F14/palettes/7.pal rename to data/tilesets/secondary/rock_tunnel/palettes/07.pal diff --git a/data/tilesets/secondary/82D4DF4/palettes/8.pal b/data/tilesets/secondary/rock_tunnel/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4DF4/palettes/8.pal rename to data/tilesets/secondary/rock_tunnel/palettes/08.pal diff --git a/data/tilesets/secondary/82D4DF4/palettes/9.pal b/data/tilesets/secondary/rock_tunnel/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4DF4/palettes/9.pal rename to data/tilesets/secondary/rock_tunnel/palettes/09.pal diff --git a/data/tilesets/secondary/82D4DF4/palettes/10.pal b/data/tilesets/secondary/rock_tunnel/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4DF4/palettes/10.pal rename to data/tilesets/secondary/rock_tunnel/palettes/10.pal diff --git a/data/tilesets/secondary/82D4DF4/palettes/11.pal b/data/tilesets/secondary/rock_tunnel/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4DF4/palettes/11.pal rename to data/tilesets/secondary/rock_tunnel/palettes/11.pal diff --git a/data/tilesets/secondary/82D4DF4/palettes/12.pal b/data/tilesets/secondary/rock_tunnel/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4DF4/palettes/12.pal rename to data/tilesets/secondary/rock_tunnel/palettes/12.pal diff --git a/data/tilesets/secondary/82D4F44/palettes/13.pal b/data/tilesets/secondary/rock_tunnel/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4F44/palettes/13.pal rename to data/tilesets/secondary/rock_tunnel/palettes/13.pal diff --git a/data/tilesets/secondary/82D4F5C/palettes/14.pal b/data/tilesets/secondary/rock_tunnel/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4F5C/palettes/14.pal rename to data/tilesets/secondary/rock_tunnel/palettes/14.pal diff --git a/data/tilesets/secondary/82D4F74/palettes/15.pal b/data/tilesets/secondary/rock_tunnel/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4F74/palettes/15.pal rename to data/tilesets/secondary/rock_tunnel/palettes/15.pal diff --git a/data/tilesets/secondary/82D4DF4/tiles.png b/data/tilesets/secondary/rock_tunnel/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4DF4/tiles.png rename to data/tilesets/secondary/rock_tunnel/tiles.png diff --git a/data/tilesets/secondary/82D4F14/metatile_attributes.bin b/data/tilesets/secondary/safari_zone_building/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4F14/metatile_attributes.bin rename to data/tilesets/secondary/safari_zone_building/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4F14/metatiles.bin b/data/tilesets/secondary/safari_zone_building/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4F14/metatiles.bin rename to data/tilesets/secondary/safari_zone_building/metatiles.bin diff --git a/data/tilesets/secondary/82D4F14/palettes/0.pal b/data/tilesets/secondary/safari_zone_building/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4F14/palettes/0.pal rename to data/tilesets/secondary/safari_zone_building/palettes/00.pal diff --git a/data/tilesets/secondary/82D4FA4/palettes/1.pal b/data/tilesets/secondary/safari_zone_building/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4FA4/palettes/1.pal rename to data/tilesets/secondary/safari_zone_building/palettes/01.pal diff --git a/data/tilesets/secondary/82D4F14/palettes/2.pal b/data/tilesets/secondary/safari_zone_building/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4F14/palettes/2.pal rename to data/tilesets/secondary/safari_zone_building/palettes/02.pal diff --git a/data/tilesets/secondary/82D4F14/palettes/3.pal b/data/tilesets/secondary/safari_zone_building/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4F14/palettes/3.pal rename to data/tilesets/secondary/safari_zone_building/palettes/03.pal diff --git a/data/tilesets/secondary/82D4FBC/palettes/4.pal b/data/tilesets/secondary/safari_zone_building/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4FBC/palettes/4.pal rename to data/tilesets/secondary/safari_zone_building/palettes/04.pal diff --git a/data/tilesets/secondary/82D4F14/palettes/5.pal b/data/tilesets/secondary/safari_zone_building/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4F14/palettes/5.pal rename to data/tilesets/secondary/safari_zone_building/palettes/05.pal diff --git a/data/tilesets/secondary/82D4FBC/palettes/6.pal b/data/tilesets/secondary/safari_zone_building/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4FBC/palettes/6.pal rename to data/tilesets/secondary/safari_zone_building/palettes/06.pal diff --git a/data/tilesets/secondary/82D4FBC/palettes/7.pal b/data/tilesets/secondary/safari_zone_building/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4FBC/palettes/7.pal rename to data/tilesets/secondary/safari_zone_building/palettes/07.pal diff --git a/data/tilesets/secondary/82D4F14/palettes/8.pal b/data/tilesets/secondary/safari_zone_building/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4F14/palettes/8.pal rename to data/tilesets/secondary/safari_zone_building/palettes/08.pal diff --git a/data/tilesets/secondary/82D4F14/palettes/9.pal b/data/tilesets/secondary/safari_zone_building/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4F14/palettes/9.pal rename to data/tilesets/secondary/safari_zone_building/palettes/09.pal diff --git a/data/tilesets/secondary/82D4F14/palettes/10.pal b/data/tilesets/secondary/safari_zone_building/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4F14/palettes/10.pal rename to data/tilesets/secondary/safari_zone_building/palettes/10.pal diff --git a/data/tilesets/secondary/82D4E84/palettes/11.pal b/data/tilesets/secondary/safari_zone_building/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4E84/palettes/11.pal rename to data/tilesets/secondary/safari_zone_building/palettes/11.pal diff --git a/data/tilesets/secondary/82D4F5C/palettes/12.pal b/data/tilesets/secondary/safari_zone_building/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4F5C/palettes/12.pal rename to data/tilesets/secondary/safari_zone_building/palettes/12.pal diff --git a/data/tilesets/secondary/82D4F5C/palettes/13.pal b/data/tilesets/secondary/safari_zone_building/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4F5C/palettes/13.pal rename to data/tilesets/secondary/safari_zone_building/palettes/13.pal diff --git a/data/tilesets/secondary/82D4F74/palettes/14.pal b/data/tilesets/secondary/safari_zone_building/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4F74/palettes/14.pal rename to data/tilesets/secondary/safari_zone_building/palettes/14.pal diff --git a/data/tilesets/secondary/82D4FA4/palettes/15.pal b/data/tilesets/secondary/safari_zone_building/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4FA4/palettes/15.pal rename to data/tilesets/secondary/safari_zone_building/palettes/15.pal diff --git a/data/tilesets/secondary/82D4F14/tiles.png b/data/tilesets/secondary/safari_zone_building/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4F14/tiles.png rename to data/tilesets/secondary/safari_zone_building/tiles.png diff --git a/data/tilesets/secondary/82D4B9C/metatile_attributes.bin b/data/tilesets/secondary/saffron_city/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4B9C/metatile_attributes.bin rename to data/tilesets/secondary/saffron_city/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4B9C/metatiles.bin b/data/tilesets/secondary/saffron_city/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4B9C/metatiles.bin rename to data/tilesets/secondary/saffron_city/metatiles.bin diff --git a/data/tilesets/secondary/82D4B9C/palettes/0.pal b/data/tilesets/secondary/saffron_city/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4B9C/palettes/0.pal rename to data/tilesets/secondary/saffron_city/palettes/00.pal diff --git a/data/tilesets/secondary/82D4DC4/palettes/1.pal b/data/tilesets/secondary/saffron_city/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4DC4/palettes/1.pal rename to data/tilesets/secondary/saffron_city/palettes/01.pal diff --git a/data/tilesets/secondary/82D5004/palettes/2.pal b/data/tilesets/secondary/saffron_city/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D5004/palettes/2.pal rename to data/tilesets/secondary/saffron_city/palettes/02.pal diff --git a/data/tilesets/secondary/82D4FEC/palettes/3.pal b/data/tilesets/secondary/saffron_city/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4FEC/palettes/3.pal rename to data/tilesets/secondary/saffron_city/palettes/03.pal diff --git a/data/tilesets/secondary/82D4FD4/palettes/4.pal b/data/tilesets/secondary/saffron_city/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4FD4/palettes/4.pal rename to data/tilesets/secondary/saffron_city/palettes/04.pal diff --git a/data/tilesets/secondary/82D4DC4/palettes/5.pal b/data/tilesets/secondary/saffron_city/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4DC4/palettes/5.pal rename to data/tilesets/secondary/saffron_city/palettes/05.pal diff --git a/data/tilesets/secondary/82D4B9C/palettes/6.pal b/data/tilesets/secondary/saffron_city/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4B9C/palettes/6.pal rename to data/tilesets/secondary/saffron_city/palettes/06.pal diff --git a/data/tilesets/secondary/82D4B9C/palettes/7.pal b/data/tilesets/secondary/saffron_city/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4B9C/palettes/7.pal rename to data/tilesets/secondary/saffron_city/palettes/07.pal diff --git a/data/tilesets/secondary/82D4B9C/palettes/8.pal b/data/tilesets/secondary/saffron_city/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4B9C/palettes/8.pal rename to data/tilesets/secondary/saffron_city/palettes/08.pal diff --git a/data/tilesets/secondary/82D4B9C/palettes/9.pal b/data/tilesets/secondary/saffron_city/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4B9C/palettes/9.pal rename to data/tilesets/secondary/saffron_city/palettes/09.pal diff --git a/data/tilesets/secondary/82D4B9C/palettes/10.pal b/data/tilesets/secondary/saffron_city/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4B9C/palettes/10.pal rename to data/tilesets/secondary/saffron_city/palettes/10.pal diff --git a/data/tilesets/secondary/82D4B9C/palettes/11.pal b/data/tilesets/secondary/saffron_city/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4B9C/palettes/11.pal rename to data/tilesets/secondary/saffron_city/palettes/11.pal diff --git a/data/tilesets/secondary/82D4B9C/palettes/12.pal b/data/tilesets/secondary/saffron_city/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4B9C/palettes/12.pal rename to data/tilesets/secondary/saffron_city/palettes/12.pal diff --git a/data/tilesets/secondary/82D4F74/palettes/13.pal b/data/tilesets/secondary/saffron_city/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4F74/palettes/13.pal rename to data/tilesets/secondary/saffron_city/palettes/13.pal diff --git a/data/tilesets/secondary/82D4F8C/palettes/14.pal b/data/tilesets/secondary/saffron_city/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4F8C/palettes/14.pal rename to data/tilesets/secondary/saffron_city/palettes/14.pal diff --git a/data/tilesets/secondary/82D4B9C/palettes/15.pal b/data/tilesets/secondary/saffron_city/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4B9C/palettes/15.pal rename to data/tilesets/secondary/saffron_city/palettes/15.pal diff --git a/data/tilesets/secondary/82D4B9C/tiles.png b/data/tilesets/secondary/saffron_city/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4B9C/tiles.png rename to data/tilesets/secondary/saffron_city/tiles.png diff --git a/data/tilesets/secondary/82D4D64/metatile_attributes.bin b/data/tilesets/secondary/saffron_gym/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4D64/metatile_attributes.bin rename to data/tilesets/secondary/saffron_gym/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4D64/metatiles.bin b/data/tilesets/secondary/saffron_gym/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4D64/metatiles.bin rename to data/tilesets/secondary/saffron_gym/metatiles.bin diff --git a/data/tilesets/secondary/82D4E3C/palettes/0.pal b/data/tilesets/secondary/saffron_gym/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4E3C/palettes/0.pal rename to data/tilesets/secondary/saffron_gym/palettes/00.pal diff --git a/data/tilesets/secondary/82D4CBC/palettes/1.pal b/data/tilesets/secondary/saffron_gym/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4CBC/palettes/1.pal rename to data/tilesets/secondary/saffron_gym/palettes/01.pal diff --git a/data/tilesets/secondary/82D4CBC/palettes/2.pal b/data/tilesets/secondary/saffron_gym/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4CBC/palettes/2.pal rename to data/tilesets/secondary/saffron_gym/palettes/02.pal diff --git a/data/tilesets/secondary/82D4CBC/palettes/3.pal b/data/tilesets/secondary/saffron_gym/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4CBC/palettes/3.pal rename to data/tilesets/secondary/saffron_gym/palettes/03.pal diff --git a/data/tilesets/secondary/82D4E84/palettes/4.pal b/data/tilesets/secondary/saffron_gym/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4E84/palettes/4.pal rename to data/tilesets/secondary/saffron_gym/palettes/04.pal diff --git a/data/tilesets/secondary/82D4E84/palettes/5.pal b/data/tilesets/secondary/saffron_gym/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4E84/palettes/5.pal rename to data/tilesets/secondary/saffron_gym/palettes/05.pal diff --git a/data/tilesets/secondary/82D4EFC/palettes/6.pal b/data/tilesets/secondary/saffron_gym/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4EFC/palettes/6.pal rename to data/tilesets/secondary/saffron_gym/palettes/06.pal diff --git a/data/tilesets/secondary/82D4D64/palettes/7.pal b/data/tilesets/secondary/saffron_gym/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4D64/palettes/7.pal rename to data/tilesets/secondary/saffron_gym/palettes/07.pal diff --git a/data/tilesets/secondary/82D4D34/palettes/8.pal b/data/tilesets/secondary/saffron_gym/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4D34/palettes/8.pal rename to data/tilesets/secondary/saffron_gym/palettes/08.pal diff --git a/data/tilesets/secondary/82D4D34/palettes/9.pal b/data/tilesets/secondary/saffron_gym/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4D34/palettes/9.pal rename to data/tilesets/secondary/saffron_gym/palettes/09.pal diff --git a/data/tilesets/secondary/82D4E3C/palettes/10.pal b/data/tilesets/secondary/saffron_gym/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4E3C/palettes/10.pal rename to data/tilesets/secondary/saffron_gym/palettes/10.pal diff --git a/data/tilesets/secondary/82D4EFC/palettes/11.pal b/data/tilesets/secondary/saffron_gym/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4EFC/palettes/11.pal rename to data/tilesets/secondary/saffron_gym/palettes/11.pal diff --git a/data/tilesets/secondary/82D4D64/palettes/12.pal b/data/tilesets/secondary/saffron_gym/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4D64/palettes/12.pal rename to data/tilesets/secondary/saffron_gym/palettes/12.pal diff --git a/data/tilesets/secondary/82D4F8C/palettes/13.pal b/data/tilesets/secondary/saffron_gym/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4F8C/palettes/13.pal rename to data/tilesets/secondary/saffron_gym/palettes/13.pal diff --git a/data/tilesets/secondary/82D4FA4/palettes/14.pal b/data/tilesets/secondary/saffron_gym/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4FA4/palettes/14.pal rename to data/tilesets/secondary/saffron_gym/palettes/14.pal diff --git a/data/tilesets/secondary/82D4D7C/palettes/15.pal b/data/tilesets/secondary/saffron_gym/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4D7C/palettes/15.pal rename to data/tilesets/secondary/saffron_gym/palettes/15.pal diff --git a/data/tilesets/secondary/82D4D64/tiles.png b/data/tilesets/secondary/saffron_gym/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4D64/tiles.png rename to data/tilesets/secondary/saffron_gym/tiles.png diff --git a/data/tilesets/secondary/82D4F5C/metatile_attributes.bin b/data/tilesets/secondary/school/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4F5C/metatile_attributes.bin rename to data/tilesets/secondary/school/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4F5C/metatiles.bin b/data/tilesets/secondary/school/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4F5C/metatiles.bin rename to data/tilesets/secondary/school/metatiles.bin diff --git a/data/tilesets/secondary/82D4E6C/palettes/0.pal b/data/tilesets/secondary/school/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4E6C/palettes/0.pal rename to data/tilesets/secondary/school/palettes/00.pal diff --git a/data/tilesets/secondary/82D4F5C/palettes/1.pal b/data/tilesets/secondary/school/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4F5C/palettes/1.pal rename to data/tilesets/secondary/school/palettes/01.pal diff --git a/data/tilesets/secondary/82D4F5C/palettes/2.pal b/data/tilesets/secondary/school/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4F5C/palettes/2.pal rename to data/tilesets/secondary/school/palettes/02.pal diff --git a/data/tilesets/secondary/82D4F5C/palettes/3.pal b/data/tilesets/secondary/school/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4F5C/palettes/3.pal rename to data/tilesets/secondary/school/palettes/03.pal diff --git a/data/tilesets/secondary/82D4E9C/palettes/4.pal b/data/tilesets/secondary/school/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4E9C/palettes/4.pal rename to data/tilesets/secondary/school/palettes/04.pal diff --git a/data/tilesets/secondary/82D4E9C/palettes/5.pal b/data/tilesets/secondary/school/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4E9C/palettes/5.pal rename to data/tilesets/secondary/school/palettes/05.pal diff --git a/data/tilesets/secondary/82D4E9C/palettes/6.pal b/data/tilesets/secondary/school/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4E9C/palettes/6.pal rename to data/tilesets/secondary/school/palettes/06.pal diff --git a/data/tilesets/secondary/82D4F5C/palettes/7.pal b/data/tilesets/secondary/school/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4F5C/palettes/7.pal rename to data/tilesets/secondary/school/palettes/07.pal diff --git a/data/tilesets/secondary/82D4F5C/palettes/8.pal b/data/tilesets/secondary/school/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4F5C/palettes/8.pal rename to data/tilesets/secondary/school/palettes/08.pal diff --git a/data/tilesets/secondary/82D4D1C/palettes/9.pal b/data/tilesets/secondary/school/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4D1C/palettes/9.pal rename to data/tilesets/secondary/school/palettes/09.pal diff --git a/data/tilesets/secondary/82D4F44/palettes/9.pal b/data/tilesets/secondary/school/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4F44/palettes/9.pal rename to data/tilesets/secondary/school/palettes/10.pal diff --git a/data/tilesets/secondary/82D4F5C/palettes/9.pal b/data/tilesets/secondary/school/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4F5C/palettes/9.pal rename to data/tilesets/secondary/school/palettes/11.pal diff --git a/data/tilesets/secondary/82D4F74/palettes/12.pal b/data/tilesets/secondary/school/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4F74/palettes/12.pal rename to data/tilesets/secondary/school/palettes/12.pal diff --git a/data/tilesets/secondary/82D4FA4/palettes/13.pal b/data/tilesets/secondary/school/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4FA4/palettes/13.pal rename to data/tilesets/secondary/school/palettes/13.pal diff --git a/data/tilesets/secondary/82D4FBC/palettes/14.pal b/data/tilesets/secondary/school/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4FBC/palettes/14.pal rename to data/tilesets/secondary/school/palettes/14.pal diff --git a/data/tilesets/secondary/82D4F5C/palettes/15.pal b/data/tilesets/secondary/school/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4F5C/palettes/15.pal rename to data/tilesets/secondary/school/palettes/15.pal diff --git a/data/tilesets/secondary/82D4F5C/tiles.png b/data/tilesets/secondary/school/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4F5C/tiles.png rename to data/tilesets/secondary/school/tiles.png diff --git a/data/tilesets/secondary/82D4EB4/metatile_attributes.bin b/data/tilesets/secondary/sea_cottage/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4EB4/metatile_attributes.bin rename to data/tilesets/secondary/sea_cottage/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4EB4/metatiles.bin b/data/tilesets/secondary/sea_cottage/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4EB4/metatiles.bin rename to data/tilesets/secondary/sea_cottage/metatiles.bin diff --git a/data/tilesets/secondary/82D4EB4/palettes/0.pal b/data/tilesets/secondary/sea_cottage/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4EB4/palettes/0.pal rename to data/tilesets/secondary/sea_cottage/palettes/00.pal diff --git a/data/tilesets/secondary/82D4EB4/palettes/1.pal b/data/tilesets/secondary/sea_cottage/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4EB4/palettes/1.pal rename to data/tilesets/secondary/sea_cottage/palettes/01.pal diff --git a/data/tilesets/secondary/82D4EB4/palettes/2.pal b/data/tilesets/secondary/sea_cottage/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4EB4/palettes/2.pal rename to data/tilesets/secondary/sea_cottage/palettes/02.pal diff --git a/data/tilesets/secondary/82D4EB4/palettes/3.pal b/data/tilesets/secondary/sea_cottage/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4EB4/palettes/3.pal rename to data/tilesets/secondary/sea_cottage/palettes/03.pal diff --git a/data/tilesets/secondary/82D4EB4/palettes/4.pal b/data/tilesets/secondary/sea_cottage/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4EB4/palettes/4.pal rename to data/tilesets/secondary/sea_cottage/palettes/04.pal diff --git a/data/tilesets/secondary/82D4EB4/palettes/5.pal b/data/tilesets/secondary/sea_cottage/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4EB4/palettes/5.pal rename to data/tilesets/secondary/sea_cottage/palettes/05.pal diff --git a/data/tilesets/secondary/82D4DC4/palettes/6.pal b/data/tilesets/secondary/sea_cottage/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4DC4/palettes/6.pal rename to data/tilesets/secondary/sea_cottage/palettes/06.pal diff --git a/data/tilesets/secondary/82D4F2C/palettes/0.pal b/data/tilesets/secondary/sea_cottage/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4F2C/palettes/0.pal rename to data/tilesets/secondary/sea_cottage/palettes/07.pal diff --git a/data/tilesets/secondary/82D4EB4/palettes/8.pal b/data/tilesets/secondary/sea_cottage/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4EB4/palettes/8.pal rename to data/tilesets/secondary/sea_cottage/palettes/08.pal diff --git a/data/tilesets/secondary/82D4EB4/palettes/9.pal b/data/tilesets/secondary/sea_cottage/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4EB4/palettes/9.pal rename to data/tilesets/secondary/sea_cottage/palettes/09.pal diff --git a/data/tilesets/secondary/82D4EB4/palettes/10.pal b/data/tilesets/secondary/sea_cottage/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4EB4/palettes/10.pal rename to data/tilesets/secondary/sea_cottage/palettes/10.pal diff --git a/data/tilesets/secondary/82D4EB4/palettes/11.pal b/data/tilesets/secondary/sea_cottage/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4EB4/palettes/11.pal rename to data/tilesets/secondary/sea_cottage/palettes/11.pal diff --git a/data/tilesets/secondary/82D4EB4/palettes/12.pal b/data/tilesets/secondary/sea_cottage/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4EB4/palettes/12.pal rename to data/tilesets/secondary/sea_cottage/palettes/12.pal diff --git a/data/tilesets/secondary/82D4FBC/palettes/13.pal b/data/tilesets/secondary/sea_cottage/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4FBC/palettes/13.pal rename to data/tilesets/secondary/sea_cottage/palettes/13.pal diff --git a/data/tilesets/secondary/82D4FD4/palettes/14.pal b/data/tilesets/secondary/sea_cottage/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4FD4/palettes/14.pal rename to data/tilesets/secondary/sea_cottage/palettes/14.pal diff --git a/data/tilesets/secondary/82D4FBC/palettes/15.pal b/data/tilesets/secondary/sea_cottage/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4FBC/palettes/15.pal rename to data/tilesets/secondary/sea_cottage/palettes/15.pal diff --git a/data/tilesets/secondary/82D4EB4/tiles.png b/data/tilesets/secondary/sea_cottage/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4EB4/tiles.png rename to data/tilesets/secondary/sea_cottage/tiles.png diff --git a/data/tilesets/secondary/82D4E24/metatile_attributes.bin b/data/tilesets/secondary/seafoam_islands/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4E24/metatile_attributes.bin rename to data/tilesets/secondary/seafoam_islands/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4E24/metatiles.bin b/data/tilesets/secondary/seafoam_islands/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4E24/metatiles.bin rename to data/tilesets/secondary/seafoam_islands/metatiles.bin diff --git a/data/tilesets/secondary/82D4FD4/palettes/0.pal b/data/tilesets/secondary/seafoam_islands/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4FD4/palettes/0.pal rename to data/tilesets/secondary/seafoam_islands/palettes/00.pal diff --git a/data/tilesets/secondary/82D501C/palettes/1.pal b/data/tilesets/secondary/seafoam_islands/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D501C/palettes/1.pal rename to data/tilesets/secondary/seafoam_islands/palettes/01.pal diff --git a/data/tilesets/secondary/82D501C/palettes/2.pal b/data/tilesets/secondary/seafoam_islands/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D501C/palettes/2.pal rename to data/tilesets/secondary/seafoam_islands/palettes/02.pal diff --git a/data/tilesets/secondary/82D501C/palettes/3.pal b/data/tilesets/secondary/seafoam_islands/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D501C/palettes/3.pal rename to data/tilesets/secondary/seafoam_islands/palettes/03.pal diff --git a/data/tilesets/secondary/82D5004/palettes/4.pal b/data/tilesets/secondary/seafoam_islands/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D5004/palettes/4.pal rename to data/tilesets/secondary/seafoam_islands/palettes/04.pal diff --git a/data/tilesets/secondary/82D501C/palettes/5.pal b/data/tilesets/secondary/seafoam_islands/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D501C/palettes/5.pal rename to data/tilesets/secondary/seafoam_islands/palettes/05.pal diff --git a/data/tilesets/secondary/82D4FD4/palettes/6.pal b/data/tilesets/secondary/seafoam_islands/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4FD4/palettes/6.pal rename to data/tilesets/secondary/seafoam_islands/palettes/06.pal diff --git a/data/tilesets/secondary/82D4FD4/palettes/7.pal b/data/tilesets/secondary/seafoam_islands/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4FD4/palettes/7.pal rename to data/tilesets/secondary/seafoam_islands/palettes/07.pal diff --git a/data/tilesets/secondary/82D4E24/palettes/8.pal b/data/tilesets/secondary/seafoam_islands/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4E24/palettes/8.pal rename to data/tilesets/secondary/seafoam_islands/palettes/08.pal diff --git a/data/tilesets/secondary/82D4E24/palettes/9.pal b/data/tilesets/secondary/seafoam_islands/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4E24/palettes/9.pal rename to data/tilesets/secondary/seafoam_islands/palettes/09.pal diff --git a/data/tilesets/secondary/82D4E24/palettes/10.pal b/data/tilesets/secondary/seafoam_islands/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4E24/palettes/10.pal rename to data/tilesets/secondary/seafoam_islands/palettes/10.pal diff --git a/data/tilesets/secondary/82D4E24/palettes/11.pal b/data/tilesets/secondary/seafoam_islands/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4E24/palettes/11.pal rename to data/tilesets/secondary/seafoam_islands/palettes/11.pal diff --git a/data/tilesets/secondary/82D4E24/palettes/12.pal b/data/tilesets/secondary/seafoam_islands/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4E24/palettes/12.pal rename to data/tilesets/secondary/seafoam_islands/palettes/12.pal diff --git a/data/tilesets/secondary/82D4FD4/palettes/13.pal b/data/tilesets/secondary/seafoam_islands/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4FD4/palettes/13.pal rename to data/tilesets/secondary/seafoam_islands/palettes/13.pal diff --git a/data/tilesets/secondary/82D4FEC/palettes/14.pal b/data/tilesets/secondary/seafoam_islands/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4FEC/palettes/14.pal rename to data/tilesets/secondary/seafoam_islands/palettes/14.pal diff --git a/data/tilesets/secondary/82D4FD4/palettes/15.pal b/data/tilesets/secondary/seafoam_islands/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4FD4/palettes/15.pal rename to data/tilesets/secondary/seafoam_islands/palettes/15.pal diff --git a/data/tilesets/secondary/82D4E24/tiles.png b/data/tilesets/secondary/seafoam_islands/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4E24/tiles.png rename to data/tilesets/secondary/seafoam_islands/tiles.png diff --git a/data/tilesets/secondary/82D504C/metatile_attributes.bin b/data/tilesets/secondary/sevii_islands_123/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D504C/metatile_attributes.bin rename to data/tilesets/secondary/sevii_islands_123/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D504C/metatiles.bin b/data/tilesets/secondary/sevii_islands_123/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D504C/metatiles.bin rename to data/tilesets/secondary/sevii_islands_123/metatiles.bin diff --git a/data/tilesets/secondary/82D501C/palettes/0.pal b/data/tilesets/secondary/sevii_islands_123/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D501C/palettes/0.pal rename to data/tilesets/secondary/sevii_islands_123/palettes/00.pal diff --git a/data/tilesets/secondary/82D504C/palettes/1.pal b/data/tilesets/secondary/sevii_islands_123/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D504C/palettes/1.pal rename to data/tilesets/secondary/sevii_islands_123/palettes/01.pal diff --git a/data/tilesets/secondary/82D4B84/palettes/2.pal b/data/tilesets/secondary/sevii_islands_123/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4B84/palettes/2.pal rename to data/tilesets/secondary/sevii_islands_123/palettes/02.pal diff --git a/data/tilesets/secondary/82D504C/palettes/3.pal b/data/tilesets/secondary/sevii_islands_123/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D504C/palettes/3.pal rename to data/tilesets/secondary/sevii_islands_123/palettes/03.pal diff --git a/data/tilesets/secondary/82D504C/palettes/4.pal b/data/tilesets/secondary/sevii_islands_123/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D504C/palettes/4.pal rename to data/tilesets/secondary/sevii_islands_123/palettes/04.pal diff --git a/data/tilesets/secondary/82D4D94/palettes/5.pal b/data/tilesets/secondary/sevii_islands_123/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4D94/palettes/5.pal rename to data/tilesets/secondary/sevii_islands_123/palettes/05.pal diff --git a/data/tilesets/secondary/82D504C/palettes/6.pal b/data/tilesets/secondary/sevii_islands_123/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D504C/palettes/6.pal rename to data/tilesets/secondary/sevii_islands_123/palettes/06.pal diff --git a/data/tilesets/secondary/82D4D64/palettes/8.pal b/data/tilesets/secondary/sevii_islands_123/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4D64/palettes/8.pal rename to data/tilesets/secondary/sevii_islands_123/palettes/07.pal diff --git a/data/tilesets/secondary/82D504C/palettes/8.pal b/data/tilesets/secondary/sevii_islands_123/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D504C/palettes/8.pal rename to data/tilesets/secondary/sevii_islands_123/palettes/08.pal diff --git a/data/tilesets/secondary/82D504C/palettes/9.pal b/data/tilesets/secondary/sevii_islands_123/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D504C/palettes/9.pal rename to data/tilesets/secondary/sevii_islands_123/palettes/09.pal diff --git a/data/tilesets/secondary/82D504C/palettes/10.pal b/data/tilesets/secondary/sevii_islands_123/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D504C/palettes/10.pal rename to data/tilesets/secondary/sevii_islands_123/palettes/10.pal diff --git a/data/tilesets/secondary/82D504C/palettes/11.pal b/data/tilesets/secondary/sevii_islands_123/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D504C/palettes/11.pal rename to data/tilesets/secondary/sevii_islands_123/palettes/11.pal diff --git a/data/tilesets/secondary/82D504C/palettes/12.pal b/data/tilesets/secondary/sevii_islands_123/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D504C/palettes/12.pal rename to data/tilesets/secondary/sevii_islands_123/palettes/12.pal diff --git a/data/tilesets/secondary/82D4FEC/palettes/13.pal b/data/tilesets/secondary/sevii_islands_123/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4FEC/palettes/13.pal rename to data/tilesets/secondary/sevii_islands_123/palettes/13.pal diff --git a/data/tilesets/secondary/82D5004/palettes/14.pal b/data/tilesets/secondary/sevii_islands_123/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D5004/palettes/14.pal rename to data/tilesets/secondary/sevii_islands_123/palettes/14.pal diff --git a/data/tilesets/secondary/82D4FEC/palettes/15.pal b/data/tilesets/secondary/sevii_islands_123/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4FEC/palettes/15.pal rename to data/tilesets/secondary/sevii_islands_123/palettes/15.pal diff --git a/data/tilesets/secondary/82D504C/tiles.png b/data/tilesets/secondary/sevii_islands_123/tiles.png similarity index 100% rename from data/tilesets/secondary/82D504C/tiles.png rename to data/tilesets/secondary/sevii_islands_123/tiles.png diff --git a/data/tilesets/secondary/82D5064/metatile_attributes.bin b/data/tilesets/secondary/sevii_islands_45/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D5064/metatile_attributes.bin rename to data/tilesets/secondary/sevii_islands_45/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D5064/metatiles.bin b/data/tilesets/secondary/sevii_islands_45/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D5064/metatiles.bin rename to data/tilesets/secondary/sevii_islands_45/metatiles.bin diff --git a/data/tilesets/secondary/82D504C/palettes/0.pal b/data/tilesets/secondary/sevii_islands_45/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D504C/palettes/0.pal rename to data/tilesets/secondary/sevii_islands_45/palettes/00.pal diff --git a/data/tilesets/secondary/82D5064/palettes/1.pal b/data/tilesets/secondary/sevii_islands_45/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D5064/palettes/1.pal rename to data/tilesets/secondary/sevii_islands_45/palettes/01.pal diff --git a/data/tilesets/secondary/82D4FEC/palettes/2.pal b/data/tilesets/secondary/sevii_islands_45/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4FEC/palettes/2.pal rename to data/tilesets/secondary/sevii_islands_45/palettes/02.pal diff --git a/data/tilesets/secondary/82D5064/palettes/3.pal b/data/tilesets/secondary/sevii_islands_45/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D5064/palettes/3.pal rename to data/tilesets/secondary/sevii_islands_45/palettes/03.pal diff --git a/data/tilesets/secondary/82D5064/palettes/4.pal b/data/tilesets/secondary/sevii_islands_45/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D5064/palettes/4.pal rename to data/tilesets/secondary/sevii_islands_45/palettes/04.pal diff --git a/data/tilesets/secondary/82D504C/palettes/5.pal b/data/tilesets/secondary/sevii_islands_45/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D504C/palettes/5.pal rename to data/tilesets/secondary/sevii_islands_45/palettes/05.pal diff --git a/data/tilesets/secondary/82D5064/palettes/6.pal b/data/tilesets/secondary/sevii_islands_45/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D5064/palettes/6.pal rename to data/tilesets/secondary/sevii_islands_45/palettes/06.pal diff --git a/data/tilesets/secondary/82D4D64/palettes/9.pal b/data/tilesets/secondary/sevii_islands_45/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4D64/palettes/9.pal rename to data/tilesets/secondary/sevii_islands_45/palettes/07.pal diff --git a/data/tilesets/secondary/82D5064/palettes/8.pal b/data/tilesets/secondary/sevii_islands_45/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D5064/palettes/8.pal rename to data/tilesets/secondary/sevii_islands_45/palettes/08.pal diff --git a/data/tilesets/secondary/82D5064/palettes/9.pal b/data/tilesets/secondary/sevii_islands_45/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D5064/palettes/9.pal rename to data/tilesets/secondary/sevii_islands_45/palettes/09.pal diff --git a/data/tilesets/secondary/82D5064/palettes/10.pal b/data/tilesets/secondary/sevii_islands_45/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D5064/palettes/10.pal rename to data/tilesets/secondary/sevii_islands_45/palettes/10.pal diff --git a/data/tilesets/secondary/82D5064/palettes/11.pal b/data/tilesets/secondary/sevii_islands_45/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D5064/palettes/11.pal rename to data/tilesets/secondary/sevii_islands_45/palettes/11.pal diff --git a/data/tilesets/secondary/82D507C/palettes/12.pal b/data/tilesets/secondary/sevii_islands_45/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D507C/palettes/12.pal rename to data/tilesets/secondary/sevii_islands_45/palettes/12.pal diff --git a/data/tilesets/secondary/82D5004/palettes/13.pal b/data/tilesets/secondary/sevii_islands_45/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D5004/palettes/13.pal rename to data/tilesets/secondary/sevii_islands_45/palettes/13.pal diff --git a/data/tilesets/secondary/82D501C/palettes/14.pal b/data/tilesets/secondary/sevii_islands_45/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D501C/palettes/14.pal rename to data/tilesets/secondary/sevii_islands_45/palettes/14.pal diff --git a/data/tilesets/secondary/82D5004/palettes/15.pal b/data/tilesets/secondary/sevii_islands_45/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D5004/palettes/15.pal rename to data/tilesets/secondary/sevii_islands_45/palettes/15.pal diff --git a/data/tilesets/secondary/82D5064/tiles.png b/data/tilesets/secondary/sevii_islands_45/tiles.png similarity index 100% rename from data/tilesets/secondary/82D5064/tiles.png rename to data/tilesets/secondary/sevii_islands_45/tiles.png diff --git a/data/tilesets/secondary/82D507C/metatile_attributes.bin b/data/tilesets/secondary/sevii_islands_67/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D507C/metatile_attributes.bin rename to data/tilesets/secondary/sevii_islands_67/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D507C/metatiles.bin b/data/tilesets/secondary/sevii_islands_67/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D507C/metatiles.bin rename to data/tilesets/secondary/sevii_islands_67/metatiles.bin diff --git a/data/tilesets/secondary/82D5064/palettes/0.pal b/data/tilesets/secondary/sevii_islands_67/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D5064/palettes/0.pal rename to data/tilesets/secondary/sevii_islands_67/palettes/00.pal diff --git a/data/tilesets/secondary/82D4BFC/palettes/1.pal b/data/tilesets/secondary/sevii_islands_67/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4BFC/palettes/1.pal rename to data/tilesets/secondary/sevii_islands_67/palettes/01.pal diff --git a/data/tilesets/secondary/82D507C/palettes/2.pal b/data/tilesets/secondary/sevii_islands_67/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D507C/palettes/2.pal rename to data/tilesets/secondary/sevii_islands_67/palettes/02.pal diff --git a/data/tilesets/secondary/82D507C/palettes/3.pal b/data/tilesets/secondary/sevii_islands_67/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D507C/palettes/3.pal rename to data/tilesets/secondary/sevii_islands_67/palettes/03.pal diff --git a/data/tilesets/secondary/82D507C/palettes/4.pal b/data/tilesets/secondary/sevii_islands_67/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D507C/palettes/4.pal rename to data/tilesets/secondary/sevii_islands_67/palettes/04.pal diff --git a/data/tilesets/secondary/82D507C/palettes/5.pal b/data/tilesets/secondary/sevii_islands_67/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D507C/palettes/5.pal rename to data/tilesets/secondary/sevii_islands_67/palettes/05.pal diff --git a/data/tilesets/secondary/82D507C/palettes/6.pal b/data/tilesets/secondary/sevii_islands_67/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D507C/palettes/6.pal rename to data/tilesets/secondary/sevii_islands_67/palettes/06.pal diff --git a/data/tilesets/secondary/82D4F2C/palettes/1.pal b/data/tilesets/secondary/sevii_islands_67/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4F2C/palettes/1.pal rename to data/tilesets/secondary/sevii_islands_67/palettes/07.pal diff --git a/data/tilesets/secondary/82D507C/palettes/8.pal b/data/tilesets/secondary/sevii_islands_67/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D507C/palettes/8.pal rename to data/tilesets/secondary/sevii_islands_67/palettes/08.pal diff --git a/data/tilesets/secondary/82D507C/palettes/9.pal b/data/tilesets/secondary/sevii_islands_67/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D507C/palettes/9.pal rename to data/tilesets/secondary/sevii_islands_67/palettes/09.pal diff --git a/data/tilesets/secondary/82D507C/palettes/10.pal b/data/tilesets/secondary/sevii_islands_67/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D507C/palettes/10.pal rename to data/tilesets/secondary/sevii_islands_67/palettes/10.pal diff --git a/data/tilesets/secondary/82D507C/palettes/11.pal b/data/tilesets/secondary/sevii_islands_67/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D507C/palettes/11.pal rename to data/tilesets/secondary/sevii_islands_67/palettes/11.pal diff --git a/data/tilesets/secondary/82D501C/palettes/6.pal b/data/tilesets/secondary/sevii_islands_67/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D501C/palettes/6.pal rename to data/tilesets/secondary/sevii_islands_67/palettes/12.pal diff --git a/data/tilesets/secondary/82D501C/palettes/13.pal b/data/tilesets/secondary/sevii_islands_67/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D501C/palettes/13.pal rename to data/tilesets/secondary/sevii_islands_67/palettes/13.pal diff --git a/data/tilesets/secondary/82D5034/palettes/14.pal b/data/tilesets/secondary/sevii_islands_67/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D5034/palettes/14.pal rename to data/tilesets/secondary/sevii_islands_67/palettes/14.pal diff --git a/data/tilesets/secondary/82D501C/palettes/15.pal b/data/tilesets/secondary/sevii_islands_67/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D501C/palettes/15.pal rename to data/tilesets/secondary/sevii_islands_67/palettes/15.pal diff --git a/data/tilesets/secondary/82D507C/tiles.png b/data/tilesets/secondary/sevii_islands_67/tiles.png similarity index 100% rename from data/tilesets/secondary/82D507C/tiles.png rename to data/tilesets/secondary/sevii_islands_67/tiles.png diff --git a/data/tilesets/secondary/82D4ECC/metatile_attributes.bin b/data/tilesets/secondary/silph_co/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4ECC/metatile_attributes.bin rename to data/tilesets/secondary/silph_co/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4ECC/metatiles.bin b/data/tilesets/secondary/silph_co/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4ECC/metatiles.bin rename to data/tilesets/secondary/silph_co/metatiles.bin diff --git a/data/tilesets/secondary/82D4D94/metatile_attributes.bin b/data/tilesets/secondary/ss_anne/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4D94/metatile_attributes.bin rename to data/tilesets/secondary/ss_anne/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4D94/metatiles.bin b/data/tilesets/secondary/ss_anne/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4D94/metatiles.bin rename to data/tilesets/secondary/ss_anne/metatiles.bin diff --git a/data/tilesets/secondary/82D4D94/palettes/0.pal b/data/tilesets/secondary/ss_anne/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4D94/palettes/0.pal rename to data/tilesets/secondary/ss_anne/palettes/00.pal diff --git a/data/tilesets/secondary/82D4D94/palettes/1.pal b/data/tilesets/secondary/ss_anne/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4D94/palettes/1.pal rename to data/tilesets/secondary/ss_anne/palettes/01.pal diff --git a/data/tilesets/secondary/82D4D94/palettes/2.pal b/data/tilesets/secondary/ss_anne/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4D94/palettes/2.pal rename to data/tilesets/secondary/ss_anne/palettes/02.pal diff --git a/data/tilesets/secondary/82D4D94/palettes/3.pal b/data/tilesets/secondary/ss_anne/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4D94/palettes/3.pal rename to data/tilesets/secondary/ss_anne/palettes/03.pal diff --git a/data/tilesets/secondary/82D4D94/palettes/4.pal b/data/tilesets/secondary/ss_anne/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4D94/palettes/4.pal rename to data/tilesets/secondary/ss_anne/palettes/04.pal diff --git a/data/tilesets/secondary/82D5064/palettes/5.pal b/data/tilesets/secondary/ss_anne/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D5064/palettes/5.pal rename to data/tilesets/secondary/ss_anne/palettes/05.pal diff --git a/data/tilesets/secondary/82D4D94/palettes/6.pal b/data/tilesets/secondary/ss_anne/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4D94/palettes/6.pal rename to data/tilesets/secondary/ss_anne/palettes/06.pal diff --git a/data/tilesets/secondary/82D4D94/palettes/7.pal b/data/tilesets/secondary/ss_anne/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4D94/palettes/7.pal rename to data/tilesets/secondary/ss_anne/palettes/07.pal diff --git a/data/tilesets/secondary/82D4D94/palettes/8.pal b/data/tilesets/secondary/ss_anne/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4D94/palettes/8.pal rename to data/tilesets/secondary/ss_anne/palettes/08.pal diff --git a/data/tilesets/secondary/82D4D94/palettes/9.pal b/data/tilesets/secondary/ss_anne/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4D94/palettes/9.pal rename to data/tilesets/secondary/ss_anne/palettes/09.pal diff --git a/data/tilesets/secondary/82D4E9C/palettes/9.pal b/data/tilesets/secondary/ss_anne/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4E9C/palettes/9.pal rename to data/tilesets/secondary/ss_anne/palettes/10.pal diff --git a/data/tilesets/secondary/82D4E9C/palettes/11.pal b/data/tilesets/secondary/ss_anne/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4E9C/palettes/11.pal rename to data/tilesets/secondary/ss_anne/palettes/11.pal diff --git a/data/tilesets/secondary/82D4F2C/palettes/2.pal b/data/tilesets/secondary/ss_anne/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4F2C/palettes/2.pal rename to data/tilesets/secondary/ss_anne/palettes/12.pal diff --git a/data/tilesets/secondary/82D5034/palettes/13.pal b/data/tilesets/secondary/ss_anne/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D5034/palettes/13.pal rename to data/tilesets/secondary/ss_anne/palettes/13.pal diff --git a/data/tilesets/secondary/82D504C/palettes/14.pal b/data/tilesets/secondary/ss_anne/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D504C/palettes/14.pal rename to data/tilesets/secondary/ss_anne/palettes/14.pal diff --git a/data/tilesets/secondary/82D5034/palettes/15.pal b/data/tilesets/secondary/ss_anne/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D5034/palettes/15.pal rename to data/tilesets/secondary/ss_anne/palettes/15.pal diff --git a/data/tilesets/secondary/82D4D94/tiles.png b/data/tilesets/secondary/ss_anne/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4D94/tiles.png rename to data/tilesets/secondary/ss_anne/tiles.png diff --git a/data/tilesets/secondary/82D5034/metatile_attributes.bin b/data/tilesets/secondary/tanoby_ruins/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D5034/metatile_attributes.bin rename to data/tilesets/secondary/tanoby_ruins/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D5034/metatiles.bin b/data/tilesets/secondary/tanoby_ruins/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D5034/metatiles.bin rename to data/tilesets/secondary/tanoby_ruins/metatiles.bin diff --git a/data/tilesets/secondary/82D5034/palettes/0.pal b/data/tilesets/secondary/tanoby_ruins/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D5034/palettes/0.pal rename to data/tilesets/secondary/tanoby_ruins/palettes/00.pal diff --git a/data/tilesets/secondary/82D5034/palettes/1.pal b/data/tilesets/secondary/tanoby_ruins/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D5034/palettes/1.pal rename to data/tilesets/secondary/tanoby_ruins/palettes/01.pal diff --git a/data/tilesets/secondary/82D5094/palettes/2.pal b/data/tilesets/secondary/tanoby_ruins/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D5094/palettes/2.pal rename to data/tilesets/secondary/tanoby_ruins/palettes/02.pal diff --git a/data/tilesets/secondary/82D5094/palettes/3.pal b/data/tilesets/secondary/tanoby_ruins/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D5094/palettes/3.pal rename to data/tilesets/secondary/tanoby_ruins/palettes/03.pal diff --git a/data/tilesets/secondary/82D5094/palettes/4.pal b/data/tilesets/secondary/tanoby_ruins/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D5094/palettes/4.pal rename to data/tilesets/secondary/tanoby_ruins/palettes/04.pal diff --git a/data/tilesets/secondary/82D5094/palettes/5.pal b/data/tilesets/secondary/tanoby_ruins/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D5094/palettes/5.pal rename to data/tilesets/secondary/tanoby_ruins/palettes/05.pal diff --git a/data/tilesets/secondary/82D5094/palettes/6.pal b/data/tilesets/secondary/tanoby_ruins/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D5094/palettes/6.pal rename to data/tilesets/secondary/tanoby_ruins/palettes/06.pal diff --git a/data/tilesets/secondary/82D5034/palettes/7.pal b/data/tilesets/secondary/tanoby_ruins/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D5034/palettes/7.pal rename to data/tilesets/secondary/tanoby_ruins/palettes/07.pal diff --git a/data/tilesets/secondary/82D5034/palettes/8.pal b/data/tilesets/secondary/tanoby_ruins/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D5034/palettes/8.pal rename to data/tilesets/secondary/tanoby_ruins/palettes/08.pal diff --git a/data/tilesets/secondary/82D5034/palettes/9.pal b/data/tilesets/secondary/tanoby_ruins/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D5034/palettes/9.pal rename to data/tilesets/secondary/tanoby_ruins/palettes/09.pal diff --git a/data/tilesets/secondary/82D5034/palettes/10.pal b/data/tilesets/secondary/tanoby_ruins/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D5034/palettes/10.pal rename to data/tilesets/secondary/tanoby_ruins/palettes/10.pal diff --git a/data/tilesets/secondary/82D5034/palettes/11.pal b/data/tilesets/secondary/tanoby_ruins/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D5034/palettes/11.pal rename to data/tilesets/secondary/tanoby_ruins/palettes/11.pal diff --git a/data/tilesets/secondary/82D5034/palettes/12.pal b/data/tilesets/secondary/tanoby_ruins/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D5034/palettes/12.pal rename to data/tilesets/secondary/tanoby_ruins/palettes/12.pal diff --git a/data/tilesets/secondary/82D504C/palettes/13.pal b/data/tilesets/secondary/tanoby_ruins/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D504C/palettes/13.pal rename to data/tilesets/secondary/tanoby_ruins/palettes/13.pal diff --git a/data/tilesets/secondary/82D5064/palettes/14.pal b/data/tilesets/secondary/tanoby_ruins/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D5064/palettes/14.pal rename to data/tilesets/secondary/tanoby_ruins/palettes/14.pal diff --git a/data/tilesets/secondary/82D504C/palettes/15.pal b/data/tilesets/secondary/tanoby_ruins/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D504C/palettes/15.pal rename to data/tilesets/secondary/tanoby_ruins/palettes/15.pal diff --git a/data/tilesets/secondary/82D5034/tiles.png b/data/tilesets/secondary/tanoby_ruins/tiles.png similarity index 100% rename from data/tilesets/secondary/82D5034/tiles.png rename to data/tilesets/secondary/tanoby_ruins/tiles.png diff --git a/data/tilesets/secondary/82D5094/metatile_attributes.bin b/data/tilesets/secondary/trainer_tower/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D5094/metatile_attributes.bin rename to data/tilesets/secondary/trainer_tower/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D5094/metatiles.bin b/data/tilesets/secondary/trainer_tower/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D5094/metatiles.bin rename to data/tilesets/secondary/trainer_tower/metatiles.bin diff --git a/data/tilesets/secondary/82D50DC/palettes/0.pal b/data/tilesets/secondary/trainer_tower/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D50DC/palettes/0.pal rename to data/tilesets/secondary/trainer_tower/palettes/00.pal diff --git a/data/tilesets/secondary/82D5094/palettes/1.pal b/data/tilesets/secondary/trainer_tower/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D5094/palettes/1.pal rename to data/tilesets/secondary/trainer_tower/palettes/01.pal diff --git a/data/tilesets/secondary/82D50C4/palettes/2.pal b/data/tilesets/secondary/trainer_tower/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D50C4/palettes/2.pal rename to data/tilesets/secondary/trainer_tower/palettes/02.pal diff --git a/data/tilesets/secondary/82D50C4/palettes/3.pal b/data/tilesets/secondary/trainer_tower/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D50C4/palettes/3.pal rename to data/tilesets/secondary/trainer_tower/palettes/03.pal diff --git a/data/tilesets/secondary/82D50C4/palettes/4.pal b/data/tilesets/secondary/trainer_tower/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D50C4/palettes/4.pal rename to data/tilesets/secondary/trainer_tower/palettes/04.pal diff --git a/data/tilesets/secondary/82D50DC/palettes/5.pal b/data/tilesets/secondary/trainer_tower/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D50DC/palettes/5.pal rename to data/tilesets/secondary/trainer_tower/palettes/05.pal diff --git a/data/tilesets/secondary/82D50C4/palettes/6.pal b/data/tilesets/secondary/trainer_tower/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D50C4/palettes/6.pal rename to data/tilesets/secondary/trainer_tower/palettes/06.pal diff --git a/data/tilesets/secondary/82D5094/palettes/7.pal b/data/tilesets/secondary/trainer_tower/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D5094/palettes/7.pal rename to data/tilesets/secondary/trainer_tower/palettes/07.pal diff --git a/data/tilesets/secondary/82D5094/palettes/8.pal b/data/tilesets/secondary/trainer_tower/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D5094/palettes/8.pal rename to data/tilesets/secondary/trainer_tower/palettes/08.pal diff --git a/data/tilesets/secondary/82D5094/palettes/9.pal b/data/tilesets/secondary/trainer_tower/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D5094/palettes/9.pal rename to data/tilesets/secondary/trainer_tower/palettes/09.pal diff --git a/data/tilesets/secondary/82D5094/palettes/10.pal b/data/tilesets/secondary/trainer_tower/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D5094/palettes/10.pal rename to data/tilesets/secondary/trainer_tower/palettes/10.pal diff --git a/data/tilesets/secondary/82D5094/palettes/11.pal b/data/tilesets/secondary/trainer_tower/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D5094/palettes/11.pal rename to data/tilesets/secondary/trainer_tower/palettes/11.pal diff --git a/data/tilesets/secondary/82D5094/palettes/12.pal b/data/tilesets/secondary/trainer_tower/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D5094/palettes/12.pal rename to data/tilesets/secondary/trainer_tower/palettes/12.pal diff --git a/data/tilesets/secondary/82D5064/palettes/13.pal b/data/tilesets/secondary/trainer_tower/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D5064/palettes/13.pal rename to data/tilesets/secondary/trainer_tower/palettes/13.pal diff --git a/data/tilesets/secondary/82D507C/palettes/14.pal b/data/tilesets/secondary/trainer_tower/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D507C/palettes/14.pal rename to data/tilesets/secondary/trainer_tower/palettes/14.pal diff --git a/data/tilesets/secondary/82D5094/palettes/15.pal b/data/tilesets/secondary/trainer_tower/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D5094/palettes/15.pal rename to data/tilesets/secondary/trainer_tower/palettes/15.pal diff --git a/data/tilesets/secondary/82D5094/tiles.png b/data/tilesets/secondary/trainer_tower/tiles.png similarity index 100% rename from data/tilesets/secondary/82D5094/tiles.png rename to data/tilesets/secondary/trainer_tower/tiles.png diff --git a/data/tilesets/secondary/82D4EE4/metatile_attributes.bin b/data/tilesets/secondary/underground_path/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4EE4/metatile_attributes.bin rename to data/tilesets/secondary/underground_path/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4EE4/metatiles.bin b/data/tilesets/secondary/underground_path/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4EE4/metatiles.bin rename to data/tilesets/secondary/underground_path/metatiles.bin diff --git a/data/tilesets/secondary/82D4FA4/palettes/0.pal b/data/tilesets/secondary/underground_path/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4FA4/palettes/0.pal rename to data/tilesets/secondary/underground_path/palettes/00.pal diff --git a/data/tilesets/secondary/82D50DC/palettes/1.pal b/data/tilesets/secondary/underground_path/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D50DC/palettes/1.pal rename to data/tilesets/secondary/underground_path/palettes/01.pal diff --git a/data/tilesets/secondary/82D50DC/palettes/2.pal b/data/tilesets/secondary/underground_path/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D50DC/palettes/2.pal rename to data/tilesets/secondary/underground_path/palettes/02.pal diff --git a/data/tilesets/secondary/82D50DC/palettes/3.pal b/data/tilesets/secondary/underground_path/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D50DC/palettes/3.pal rename to data/tilesets/secondary/underground_path/palettes/03.pal diff --git a/data/tilesets/secondary/82D50DC/palettes/4.pal b/data/tilesets/secondary/underground_path/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D50DC/palettes/4.pal rename to data/tilesets/secondary/underground_path/palettes/04.pal diff --git a/data/tilesets/secondary/82D4FA4/palettes/5.pal b/data/tilesets/secondary/underground_path/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4FA4/palettes/5.pal rename to data/tilesets/secondary/underground_path/palettes/05.pal diff --git a/data/tilesets/secondary/82D50DC/palettes/6.pal b/data/tilesets/secondary/underground_path/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D50DC/palettes/6.pal rename to data/tilesets/secondary/underground_path/palettes/06.pal diff --git a/data/tilesets/secondary/82D4EE4/palettes/7.pal b/data/tilesets/secondary/underground_path/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4EE4/palettes/7.pal rename to data/tilesets/secondary/underground_path/palettes/07.pal diff --git a/data/tilesets/secondary/82D4EE4/palettes/8.pal b/data/tilesets/secondary/underground_path/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4EE4/palettes/8.pal rename to data/tilesets/secondary/underground_path/palettes/08.pal diff --git a/data/tilesets/secondary/82D4EE4/palettes/10.pal b/data/tilesets/secondary/underground_path/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4EE4/palettes/10.pal rename to data/tilesets/secondary/underground_path/palettes/09.pal diff --git a/data/tilesets/secondary/82D4EE4/palettes/11.pal b/data/tilesets/secondary/underground_path/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4EE4/palettes/11.pal rename to data/tilesets/secondary/underground_path/palettes/10.pal diff --git a/data/tilesets/secondary/82D4EE4/palettes/12.pal b/data/tilesets/secondary/underground_path/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4EE4/palettes/12.pal rename to data/tilesets/secondary/underground_path/palettes/11.pal diff --git a/data/tilesets/secondary/82D4EE4/palettes/9.pal b/data/tilesets/secondary/underground_path/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4EE4/palettes/9.pal rename to data/tilesets/secondary/underground_path/palettes/12.pal diff --git a/data/tilesets/secondary/82D507C/palettes/13.pal b/data/tilesets/secondary/underground_path/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D507C/palettes/13.pal rename to data/tilesets/secondary/underground_path/palettes/13.pal diff --git a/data/tilesets/secondary/82D5094/palettes/14.pal b/data/tilesets/secondary/underground_path/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D5094/palettes/14.pal rename to data/tilesets/secondary/underground_path/palettes/14.pal diff --git a/data/tilesets/secondary/82D5064/palettes/15.pal b/data/tilesets/secondary/underground_path/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D5064/palettes/15.pal rename to data/tilesets/secondary/underground_path/palettes/15.pal diff --git a/data/tilesets/secondary/82D4EE4/tiles.png b/data/tilesets/secondary/underground_path/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4EE4/tiles.png rename to data/tilesets/secondary/underground_path/tiles.png diff --git a/data/tilesets/secondary/82D4DDC/metatile_attributes.bin b/data/tilesets/secondary/unused_gatehouse1/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4DDC/metatile_attributes.bin rename to data/tilesets/secondary/unused_gatehouse1/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4DDC/metatiles.bin b/data/tilesets/secondary/unused_gatehouse1/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4DDC/metatiles.bin rename to data/tilesets/secondary/unused_gatehouse1/metatiles.bin diff --git a/data/tilesets/secondary/82D4E84/palettes/0.pal b/data/tilesets/secondary/unused_gatehouse1/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4E84/palettes/0.pal rename to data/tilesets/secondary/unused_gatehouse1/palettes/00.pal diff --git a/data/tilesets/secondary/82D4DDC/palettes/1.pal b/data/tilesets/secondary/unused_gatehouse1/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4DDC/palettes/1.pal rename to data/tilesets/secondary/unused_gatehouse1/palettes/01.pal diff --git a/data/tilesets/secondary/82D4E3C/palettes/2.pal b/data/tilesets/secondary/unused_gatehouse1/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4E3C/palettes/2.pal rename to data/tilesets/secondary/unused_gatehouse1/palettes/02.pal diff --git a/data/tilesets/secondary/82D4E3C/palettes/3.pal b/data/tilesets/secondary/unused_gatehouse1/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4E3C/palettes/3.pal rename to data/tilesets/secondary/unused_gatehouse1/palettes/03.pal diff --git a/data/tilesets/secondary/82D4EFC/palettes/4.pal b/data/tilesets/secondary/unused_gatehouse1/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4EFC/palettes/4.pal rename to data/tilesets/secondary/unused_gatehouse1/palettes/04.pal diff --git a/data/tilesets/secondary/82D4EFC/palettes/5.pal b/data/tilesets/secondary/unused_gatehouse1/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4EFC/palettes/5.pal rename to data/tilesets/secondary/unused_gatehouse1/palettes/05.pal diff --git a/data/tilesets/secondary/82D4DDC/palettes/6.pal b/data/tilesets/secondary/unused_gatehouse1/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4DDC/palettes/6.pal rename to data/tilesets/secondary/unused_gatehouse1/palettes/06.pal diff --git a/data/tilesets/secondary/82D4E3C/palettes/7.pal b/data/tilesets/secondary/unused_gatehouse1/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4E3C/palettes/7.pal rename to data/tilesets/secondary/unused_gatehouse1/palettes/07.pal diff --git a/data/tilesets/secondary/82D4E3C/palettes/8.pal b/data/tilesets/secondary/unused_gatehouse1/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4E3C/palettes/8.pal rename to data/tilesets/secondary/unused_gatehouse1/palettes/08.pal diff --git a/data/tilesets/secondary/82D4DC4/palettes/7.pal b/data/tilesets/secondary/unused_gatehouse1/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4DC4/palettes/7.pal rename to data/tilesets/secondary/unused_gatehouse1/palettes/09.pal diff --git a/data/tilesets/secondary/82D4E84/palettes/10.pal b/data/tilesets/secondary/unused_gatehouse1/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4E84/palettes/10.pal rename to data/tilesets/secondary/unused_gatehouse1/palettes/10.pal diff --git a/data/tilesets/secondary/82D4F14/palettes/11.pal b/data/tilesets/secondary/unused_gatehouse1/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4F14/palettes/11.pal rename to data/tilesets/secondary/unused_gatehouse1/palettes/11.pal diff --git a/data/tilesets/secondary/82D4F2C/palettes/3.pal b/data/tilesets/secondary/unused_gatehouse1/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4F2C/palettes/3.pal rename to data/tilesets/secondary/unused_gatehouse1/palettes/12.pal diff --git a/data/tilesets/secondary/82D5094/palettes/13.pal b/data/tilesets/secondary/unused_gatehouse1/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D5094/palettes/13.pal rename to data/tilesets/secondary/unused_gatehouse1/palettes/13.pal diff --git a/data/tilesets/secondary/82D50AC/palettes/14.pal b/data/tilesets/secondary/unused_gatehouse1/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D50AC/palettes/14.pal rename to data/tilesets/secondary/unused_gatehouse1/palettes/14.pal diff --git a/data/tilesets/secondary/82D507C/palettes/15.pal b/data/tilesets/secondary/unused_gatehouse1/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D507C/palettes/15.pal rename to data/tilesets/secondary/unused_gatehouse1/palettes/15.pal diff --git a/data/tilesets/secondary/82D4DDC/tiles.png b/data/tilesets/secondary/unused_gatehouse1/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4DDC/tiles.png rename to data/tilesets/secondary/unused_gatehouse1/tiles.png diff --git a/data/tilesets/secondary/82D4E3C/metatile_attributes.bin b/data/tilesets/secondary/unused_gatehouse2/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4E3C/metatile_attributes.bin rename to data/tilesets/secondary/unused_gatehouse2/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4E3C/metatiles.bin b/data/tilesets/secondary/unused_gatehouse2/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4E3C/metatiles.bin rename to data/tilesets/secondary/unused_gatehouse2/metatiles.bin diff --git a/data/tilesets/secondary/82D4E9C/palettes/0.pal b/data/tilesets/secondary/unused_gatehouse2/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4E9C/palettes/0.pal rename to data/tilesets/secondary/unused_gatehouse2/palettes/00.pal diff --git a/data/tilesets/secondary/82D4E3C/palettes/1.pal b/data/tilesets/secondary/unused_gatehouse2/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4E3C/palettes/1.pal rename to data/tilesets/secondary/unused_gatehouse2/palettes/01.pal diff --git a/data/tilesets/secondary/82D4E6C/palettes/2.pal b/data/tilesets/secondary/unused_gatehouse2/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4E6C/palettes/2.pal rename to data/tilesets/secondary/unused_gatehouse2/palettes/02.pal diff --git a/data/tilesets/secondary/82D4E6C/palettes/3.pal b/data/tilesets/secondary/unused_gatehouse2/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4E6C/palettes/3.pal rename to data/tilesets/secondary/unused_gatehouse2/palettes/03.pal diff --git a/data/tilesets/secondary/82D4F44/palettes/4.pal b/data/tilesets/secondary/unused_gatehouse2/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4F44/palettes/4.pal rename to data/tilesets/secondary/unused_gatehouse2/palettes/04.pal diff --git a/data/tilesets/secondary/82D4F44/palettes/5.pal b/data/tilesets/secondary/unused_gatehouse2/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4F44/palettes/5.pal rename to data/tilesets/secondary/unused_gatehouse2/palettes/05.pal diff --git a/data/tilesets/secondary/82D4E3C/palettes/6.pal b/data/tilesets/secondary/unused_gatehouse2/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4E3C/palettes/6.pal rename to data/tilesets/secondary/unused_gatehouse2/palettes/06.pal diff --git a/data/tilesets/secondary/82D4E84/palettes/7.pal b/data/tilesets/secondary/unused_gatehouse2/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4E84/palettes/7.pal rename to data/tilesets/secondary/unused_gatehouse2/palettes/07.pal diff --git a/data/tilesets/secondary/82D4E84/palettes/8.pal b/data/tilesets/secondary/unused_gatehouse2/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4E84/palettes/8.pal rename to data/tilesets/secondary/unused_gatehouse2/palettes/08.pal diff --git a/data/tilesets/secondary/82D4DDC/palettes/9.pal b/data/tilesets/secondary/unused_gatehouse2/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4DDC/palettes/9.pal rename to data/tilesets/secondary/unused_gatehouse2/palettes/09.pal diff --git a/data/tilesets/secondary/82D4EFC/palettes/10.pal b/data/tilesets/secondary/unused_gatehouse2/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4EFC/palettes/10.pal rename to data/tilesets/secondary/unused_gatehouse2/palettes/10.pal diff --git a/data/tilesets/secondary/82D4FA4/palettes/11.pal b/data/tilesets/secondary/unused_gatehouse2/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4FA4/palettes/11.pal rename to data/tilesets/secondary/unused_gatehouse2/palettes/11.pal diff --git a/data/tilesets/secondary/82D4F2C/palettes/4.pal b/data/tilesets/secondary/unused_gatehouse2/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4F2C/palettes/4.pal rename to data/tilesets/secondary/unused_gatehouse2/palettes/12.pal diff --git a/data/tilesets/secondary/82D50C4/palettes/13.pal b/data/tilesets/secondary/unused_gatehouse2/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D50C4/palettes/13.pal rename to data/tilesets/secondary/unused_gatehouse2/palettes/13.pal diff --git a/data/tilesets/secondary/82D50C4/palettes/14.pal b/data/tilesets/secondary/unused_gatehouse2/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D50C4/palettes/14.pal rename to data/tilesets/secondary/unused_gatehouse2/palettes/14.pal diff --git a/data/tilesets/secondary/82D50AC/palettes/15.pal b/data/tilesets/secondary/unused_gatehouse2/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D50AC/palettes/15.pal rename to data/tilesets/secondary/unused_gatehouse2/palettes/15.pal diff --git a/data/tilesets/secondary/82D4E3C/tiles.png b/data/tilesets/secondary/unused_gatehouse2/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4E3C/tiles.png rename to data/tilesets/secondary/unused_gatehouse2/tiles.png diff --git a/data/tilesets/secondary/82D4B24/metatile_attributes.bin b/data/tilesets/secondary/vermilion_city/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4B24/metatile_attributes.bin rename to data/tilesets/secondary/vermilion_city/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4B24/metatiles.bin b/data/tilesets/secondary/vermilion_city/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4B24/metatiles.bin rename to data/tilesets/secondary/vermilion_city/metatiles.bin diff --git a/data/tilesets/secondary/82D507C/palettes/0.pal b/data/tilesets/secondary/vermilion_city/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D507C/palettes/0.pal rename to data/tilesets/secondary/vermilion_city/palettes/00.pal diff --git a/data/tilesets/secondary/82D507C/palettes/1.pal b/data/tilesets/secondary/vermilion_city/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D507C/palettes/1.pal rename to data/tilesets/secondary/vermilion_city/palettes/01.pal diff --git a/data/tilesets/secondary/82D504C/palettes/2.pal b/data/tilesets/secondary/vermilion_city/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D504C/palettes/2.pal rename to data/tilesets/secondary/vermilion_city/palettes/02.pal diff --git a/data/tilesets/secondary/82D50AC/palettes/3.pal b/data/tilesets/secondary/vermilion_city/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D50AC/palettes/3.pal rename to data/tilesets/secondary/vermilion_city/palettes/03.pal diff --git a/data/tilesets/secondary/82D50AC/palettes/4.pal b/data/tilesets/secondary/vermilion_city/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D50AC/palettes/4.pal rename to data/tilesets/secondary/vermilion_city/palettes/04.pal diff --git a/data/tilesets/secondary/82D50AC/palettes/5.pal b/data/tilesets/secondary/vermilion_city/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D50AC/palettes/5.pal rename to data/tilesets/secondary/vermilion_city/palettes/05.pal diff --git a/data/tilesets/secondary/82D50AC/palettes/6.pal b/data/tilesets/secondary/vermilion_city/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D50AC/palettes/6.pal rename to data/tilesets/secondary/vermilion_city/palettes/06.pal diff --git a/data/tilesets/secondary/82D4B24/palettes/7.pal b/data/tilesets/secondary/vermilion_city/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4B24/palettes/7.pal rename to data/tilesets/secondary/vermilion_city/palettes/07.pal diff --git a/data/tilesets/secondary/82D4B24/palettes/8.pal b/data/tilesets/secondary/vermilion_city/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4B24/palettes/8.pal rename to data/tilesets/secondary/vermilion_city/palettes/08.pal diff --git a/data/tilesets/secondary/82D4B24/palettes/9.pal b/data/tilesets/secondary/vermilion_city/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4B24/palettes/9.pal rename to data/tilesets/secondary/vermilion_city/palettes/09.pal diff --git a/data/tilesets/secondary/82D4B24/palettes/10.pal b/data/tilesets/secondary/vermilion_city/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4B24/palettes/10.pal rename to data/tilesets/secondary/vermilion_city/palettes/10.pal diff --git a/data/tilesets/secondary/82D4B24/palettes/11.pal b/data/tilesets/secondary/vermilion_city/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4B24/palettes/11.pal rename to data/tilesets/secondary/vermilion_city/palettes/11.pal diff --git a/data/tilesets/secondary/82D4B24/palettes/12.pal b/data/tilesets/secondary/vermilion_city/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4B24/palettes/12.pal rename to data/tilesets/secondary/vermilion_city/palettes/12.pal diff --git a/data/tilesets/secondary/82D50DC/palettes/13.pal b/data/tilesets/secondary/vermilion_city/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D50DC/palettes/13.pal rename to data/tilesets/secondary/vermilion_city/palettes/13.pal diff --git a/data/tilesets/secondary/82D50DC/palettes/14.pal b/data/tilesets/secondary/vermilion_city/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D50DC/palettes/14.pal rename to data/tilesets/secondary/vermilion_city/palettes/14.pal diff --git a/data/tilesets/secondary/82D4B24/palettes/15.pal b/data/tilesets/secondary/vermilion_city/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4B24/palettes/15.pal rename to data/tilesets/secondary/vermilion_city/palettes/15.pal diff --git a/data/tilesets/secondary/82D4B24/tiles.png b/data/tilesets/secondary/vermilion_city/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4B24/tiles.png rename to data/tilesets/secondary/vermilion_city/tiles.png diff --git a/data/tilesets/secondary/82D4D34/metatile_attributes.bin b/data/tilesets/secondary/vermilion_gym/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4D34/metatile_attributes.bin rename to data/tilesets/secondary/vermilion_gym/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4D34/metatiles.bin b/data/tilesets/secondary/vermilion_gym/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4D34/metatiles.bin rename to data/tilesets/secondary/vermilion_gym/metatiles.bin diff --git a/data/tilesets/secondary/82D4F44/palettes/0.pal b/data/tilesets/secondary/vermilion_gym/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4F44/palettes/0.pal rename to data/tilesets/secondary/vermilion_gym/palettes/00.pal diff --git a/data/tilesets/secondary/82D4E84/palettes/1.pal b/data/tilesets/secondary/vermilion_gym/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4E84/palettes/1.pal rename to data/tilesets/secondary/vermilion_gym/palettes/01.pal diff --git a/data/tilesets/secondary/82D4E84/palettes/2.pal b/data/tilesets/secondary/vermilion_gym/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4E84/palettes/2.pal rename to data/tilesets/secondary/vermilion_gym/palettes/02.pal diff --git a/data/tilesets/secondary/82D4E84/palettes/3.pal b/data/tilesets/secondary/vermilion_gym/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4E84/palettes/3.pal rename to data/tilesets/secondary/vermilion_gym/palettes/03.pal diff --git a/data/tilesets/secondary/82D4F44/palettes/6.pal b/data/tilesets/secondary/vermilion_gym/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4F44/palettes/6.pal rename to data/tilesets/secondary/vermilion_gym/palettes/04.pal diff --git a/data/tilesets/secondary/82D4F5C/palettes/4.pal b/data/tilesets/secondary/vermilion_gym/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4F5C/palettes/4.pal rename to data/tilesets/secondary/vermilion_gym/palettes/05.pal diff --git a/data/tilesets/secondary/82D4F2C/palettes/5.pal b/data/tilesets/secondary/vermilion_gym/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4F2C/palettes/5.pal rename to data/tilesets/secondary/vermilion_gym/palettes/06.pal diff --git a/data/tilesets/secondary/82D4D34/palettes/7.pal b/data/tilesets/secondary/vermilion_gym/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4D34/palettes/7.pal rename to data/tilesets/secondary/vermilion_gym/palettes/07.pal diff --git a/data/tilesets/secondary/82D4E3C/palettes/9.pal b/data/tilesets/secondary/vermilion_gym/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4E3C/palettes/9.pal rename to data/tilesets/secondary/vermilion_gym/palettes/08.pal diff --git a/data/tilesets/secondary/82D4FA4/palettes/10.pal b/data/tilesets/secondary/vermilion_gym/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4FA4/palettes/10.pal rename to data/tilesets/secondary/vermilion_gym/palettes/09.pal diff --git a/data/tilesets/secondary/82D4FA4/palettes/9.pal b/data/tilesets/secondary/vermilion_gym/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4FA4/palettes/9.pal rename to data/tilesets/secondary/vermilion_gym/palettes/10.pal diff --git a/data/tilesets/secondary/82D4D34/palettes/11.pal b/data/tilesets/secondary/vermilion_gym/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4D34/palettes/11.pal rename to data/tilesets/secondary/vermilion_gym/palettes/11.pal diff --git a/data/tilesets/secondary/82D4D34/palettes/12.pal b/data/tilesets/secondary/vermilion_gym/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4D34/palettes/12.pal rename to data/tilesets/secondary/vermilion_gym/palettes/12.pal diff --git a/data/tilesets/secondary/82D4F2C/palettes/6.pal b/data/tilesets/secondary/vermilion_gym/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4F2C/palettes/6.pal rename to data/tilesets/secondary/vermilion_gym/palettes/13.pal diff --git a/data/tilesets/secondary/82D4F2C/palettes/9.pal b/data/tilesets/secondary/vermilion_gym/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4F2C/palettes/9.pal rename to data/tilesets/secondary/vermilion_gym/palettes/14.pal diff --git a/data/tilesets/secondary/82D50DC/palettes/15.pal b/data/tilesets/secondary/vermilion_gym/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D50DC/palettes/15.pal rename to data/tilesets/secondary/vermilion_gym/palettes/15.pal diff --git a/data/tilesets/secondary/82D4D34/tiles.png b/data/tilesets/secondary/vermilion_gym/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4D34/tiles.png rename to data/tilesets/secondary/vermilion_gym/tiles.png diff --git a/data/tilesets/secondary/82D4AC4/metatile_attributes.bin b/data/tilesets/secondary/viridian_city/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4AC4/metatile_attributes.bin rename to data/tilesets/secondary/viridian_city/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4AC4/metatiles.bin b/data/tilesets/secondary/viridian_city/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4AC4/metatiles.bin rename to data/tilesets/secondary/viridian_city/metatiles.bin diff --git a/data/tilesets/secondary/82D50AC/palettes/0.pal b/data/tilesets/secondary/viridian_city/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D50AC/palettes/0.pal rename to data/tilesets/secondary/viridian_city/palettes/00.pal diff --git a/data/tilesets/secondary/82D4B84/palettes/1.pal b/data/tilesets/secondary/viridian_city/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4B84/palettes/1.pal rename to data/tilesets/secondary/viridian_city/palettes/01.pal diff --git a/data/tilesets/secondary/82D5064/palettes/2.pal b/data/tilesets/secondary/viridian_city/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D5064/palettes/2.pal rename to data/tilesets/secondary/viridian_city/palettes/02.pal diff --git a/data/tilesets/secondary/82D4B84/palettes/3.pal b/data/tilesets/secondary/viridian_city/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4B84/palettes/3.pal rename to data/tilesets/secondary/viridian_city/palettes/03.pal diff --git a/data/tilesets/secondary/82D4B84/palettes/4.pal b/data/tilesets/secondary/viridian_city/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4B84/palettes/4.pal rename to data/tilesets/secondary/viridian_city/palettes/04.pal diff --git a/data/tilesets/secondary/82D4B84/palettes/5.pal b/data/tilesets/secondary/viridian_city/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4B84/palettes/5.pal rename to data/tilesets/secondary/viridian_city/palettes/05.pal diff --git a/data/tilesets/secondary/82D4B84/palettes/6.pal b/data/tilesets/secondary/viridian_city/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4B84/palettes/6.pal rename to data/tilesets/secondary/viridian_city/palettes/06.pal diff --git a/data/tilesets/secondary/82D4EB4/palettes/6.pal b/data/tilesets/secondary/viridian_city/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4EB4/palettes/6.pal rename to data/tilesets/secondary/viridian_city/palettes/07.pal diff --git a/data/tilesets/secondary/82D4AC4/palettes/8.pal b/data/tilesets/secondary/viridian_city/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4AC4/palettes/8.pal rename to data/tilesets/secondary/viridian_city/palettes/08.pal diff --git a/data/tilesets/secondary/82D4AC4/palettes/9.pal b/data/tilesets/secondary/viridian_city/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D4AC4/palettes/9.pal rename to data/tilesets/secondary/viridian_city/palettes/09.pal diff --git a/data/tilesets/secondary/82D4AC4/palettes/10.pal b/data/tilesets/secondary/viridian_city/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D4AC4/palettes/10.pal rename to data/tilesets/secondary/viridian_city/palettes/10.pal diff --git a/data/tilesets/secondary/82D4AC4/palettes/11.pal b/data/tilesets/secondary/viridian_city/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4AC4/palettes/11.pal rename to data/tilesets/secondary/viridian_city/palettes/11.pal diff --git a/data/tilesets/secondary/82D4AC4/palettes/12.pal b/data/tilesets/secondary/viridian_city/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4AC4/palettes/12.pal rename to data/tilesets/secondary/viridian_city/palettes/12.pal diff --git a/data/tilesets/secondary/82D4F74/palettes/0.pal b/data/tilesets/secondary/viridian_city/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4F74/palettes/0.pal rename to data/tilesets/secondary/viridian_city/palettes/13.pal diff --git a/data/tilesets/secondary/82D4F74/palettes/1.pal b/data/tilesets/secondary/viridian_city/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4F74/palettes/1.pal rename to data/tilesets/secondary/viridian_city/palettes/14.pal diff --git a/data/tilesets/secondary/82D4F74/palettes/2.pal b/data/tilesets/secondary/viridian_city/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4F74/palettes/2.pal rename to data/tilesets/secondary/viridian_city/palettes/15.pal diff --git a/data/tilesets/secondary/82D4AC4/tiles.png b/data/tilesets/secondary/viridian_city/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4AC4/tiles.png rename to data/tilesets/secondary/viridian_city/tiles.png diff --git a/data/tilesets/secondary/82D4DC4/metatile_attributes.bin b/data/tilesets/secondary/viridian_forest/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4DC4/metatile_attributes.bin rename to data/tilesets/secondary/viridian_forest/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4DC4/metatiles.bin b/data/tilesets/secondary/viridian_forest/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4DC4/metatiles.bin rename to data/tilesets/secondary/viridian_forest/metatiles.bin diff --git a/data/tilesets/secondary/82D5004/palettes/0.pal b/data/tilesets/secondary/viridian_forest/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D5004/palettes/0.pal rename to data/tilesets/secondary/viridian_forest/palettes/00.pal diff --git a/data/tilesets/secondary/82D5004/palettes/1.pal b/data/tilesets/secondary/viridian_forest/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D5004/palettes/1.pal rename to data/tilesets/secondary/viridian_forest/palettes/01.pal diff --git a/data/tilesets/secondary/82D50AC/palettes/2.pal b/data/tilesets/secondary/viridian_forest/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D50AC/palettes/2.pal rename to data/tilesets/secondary/viridian_forest/palettes/02.pal diff --git a/data/tilesets/secondary/82D5004/palettes/3.pal b/data/tilesets/secondary/viridian_forest/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D5004/palettes/3.pal rename to data/tilesets/secondary/viridian_forest/palettes/03.pal diff --git a/data/tilesets/secondary/82D501C/palettes/4.pal b/data/tilesets/secondary/viridian_forest/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D501C/palettes/4.pal rename to data/tilesets/secondary/viridian_forest/palettes/04.pal diff --git a/data/tilesets/secondary/82D5004/palettes/5.pal b/data/tilesets/secondary/viridian_forest/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D5004/palettes/5.pal rename to data/tilesets/secondary/viridian_forest/palettes/05.pal diff --git a/data/tilesets/secondary/82D5004/palettes/6.pal b/data/tilesets/secondary/viridian_forest/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D5004/palettes/6.pal rename to data/tilesets/secondary/viridian_forest/palettes/06.pal diff --git a/data/tilesets/secondary/82D5004/palettes/7.pal b/data/tilesets/secondary/viridian_forest/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D5004/palettes/7.pal rename to data/tilesets/secondary/viridian_forest/palettes/07.pal diff --git a/data/tilesets/secondary/82D5004/palettes/8.pal b/data/tilesets/secondary/viridian_forest/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D5004/palettes/8.pal rename to data/tilesets/secondary/viridian_forest/palettes/08.pal diff --git a/data/tilesets/secondary/82D5004/palettes/9.pal b/data/tilesets/secondary/viridian_forest/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D5004/palettes/9.pal rename to data/tilesets/secondary/viridian_forest/palettes/09.pal diff --git a/data/tilesets/secondary/82D5004/palettes/10.pal b/data/tilesets/secondary/viridian_forest/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D5004/palettes/10.pal rename to data/tilesets/secondary/viridian_forest/palettes/10.pal diff --git a/data/tilesets/secondary/82D4DC4/palettes/11.pal b/data/tilesets/secondary/viridian_forest/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D4DC4/palettes/11.pal rename to data/tilesets/secondary/viridian_forest/palettes/11.pal diff --git a/data/tilesets/secondary/82D50AC/palettes/12.pal b/data/tilesets/secondary/viridian_forest/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D50AC/palettes/12.pal rename to data/tilesets/secondary/viridian_forest/palettes/12.pal diff --git a/data/tilesets/secondary/82D4F74/palettes/3.pal b/data/tilesets/secondary/viridian_forest/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4F74/palettes/3.pal rename to data/tilesets/secondary/viridian_forest/palettes/13.pal diff --git a/data/tilesets/secondary/82D4F74/palettes/4.pal b/data/tilesets/secondary/viridian_forest/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D4F74/palettes/4.pal rename to data/tilesets/secondary/viridian_forest/palettes/14.pal diff --git a/data/tilesets/secondary/82D4F74/palettes/5.pal b/data/tilesets/secondary/viridian_forest/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4F74/palettes/5.pal rename to data/tilesets/secondary/viridian_forest/palettes/15.pal diff --git a/data/tilesets/secondary/82D4DC4/tiles.png b/data/tilesets/secondary/viridian_forest/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4DC4/tiles.png rename to data/tilesets/secondary/viridian_forest/tiles.png diff --git a/data/tilesets/secondary/82D4CBC/metatile_attributes.bin b/data/tilesets/secondary/viridian_gym/metatile_attributes.bin similarity index 100% rename from data/tilesets/secondary/82D4CBC/metatile_attributes.bin rename to data/tilesets/secondary/viridian_gym/metatile_attributes.bin diff --git a/data/tilesets/secondary/82D4CBC/metatiles.bin b/data/tilesets/secondary/viridian_gym/metatiles.bin similarity index 100% rename from data/tilesets/secondary/82D4CBC/metatiles.bin rename to data/tilesets/secondary/viridian_gym/metatiles.bin diff --git a/data/tilesets/secondary/82D4F5C/palettes/0.pal b/data/tilesets/secondary/viridian_gym/palettes/00.pal similarity index 100% rename from data/tilesets/secondary/82D4F5C/palettes/0.pal rename to data/tilesets/secondary/viridian_gym/palettes/00.pal diff --git a/data/tilesets/secondary/82D4D64/palettes/1.pal b/data/tilesets/secondary/viridian_gym/palettes/01.pal similarity index 100% rename from data/tilesets/secondary/82D4D64/palettes/1.pal rename to data/tilesets/secondary/viridian_gym/palettes/01.pal diff --git a/data/tilesets/secondary/82D4D64/palettes/2.pal b/data/tilesets/secondary/viridian_gym/palettes/02.pal similarity index 100% rename from data/tilesets/secondary/82D4D64/palettes/2.pal rename to data/tilesets/secondary/viridian_gym/palettes/02.pal diff --git a/data/tilesets/secondary/82D4D64/palettes/3.pal b/data/tilesets/secondary/viridian_gym/palettes/03.pal similarity index 100% rename from data/tilesets/secondary/82D4D64/palettes/3.pal rename to data/tilesets/secondary/viridian_gym/palettes/03.pal diff --git a/data/tilesets/secondary/82D4F5C/palettes/5.pal b/data/tilesets/secondary/viridian_gym/palettes/04.pal similarity index 100% rename from data/tilesets/secondary/82D4F5C/palettes/5.pal rename to data/tilesets/secondary/viridian_gym/palettes/04.pal diff --git a/data/tilesets/secondary/82D4F5C/palettes/6.pal b/data/tilesets/secondary/viridian_gym/palettes/05.pal similarity index 100% rename from data/tilesets/secondary/82D4F5C/palettes/6.pal rename to data/tilesets/secondary/viridian_gym/palettes/05.pal diff --git a/data/tilesets/secondary/82D4F74/palettes/6.pal b/data/tilesets/secondary/viridian_gym/palettes/06.pal similarity index 100% rename from data/tilesets/secondary/82D4F74/palettes/6.pal rename to data/tilesets/secondary/viridian_gym/palettes/06.pal diff --git a/data/tilesets/secondary/82D4CBC/palettes/7.pal b/data/tilesets/secondary/viridian_gym/palettes/07.pal similarity index 100% rename from data/tilesets/secondary/82D4CBC/palettes/7.pal rename to data/tilesets/secondary/viridian_gym/palettes/07.pal diff --git a/data/tilesets/secondary/82D4CBC/palettes/8.pal b/data/tilesets/secondary/viridian_gym/palettes/08.pal similarity index 100% rename from data/tilesets/secondary/82D4CBC/palettes/8.pal rename to data/tilesets/secondary/viridian_gym/palettes/08.pal diff --git a/data/tilesets/secondary/82D504C/palettes/7.pal b/data/tilesets/secondary/viridian_gym/palettes/09.pal similarity index 100% rename from data/tilesets/secondary/82D504C/palettes/7.pal rename to data/tilesets/secondary/viridian_gym/palettes/09.pal diff --git a/data/tilesets/secondary/82D5064/palettes/7.pal b/data/tilesets/secondary/viridian_gym/palettes/10.pal similarity index 100% rename from data/tilesets/secondary/82D5064/palettes/7.pal rename to data/tilesets/secondary/viridian_gym/palettes/10.pal diff --git a/data/tilesets/secondary/82D50AC/palettes/7.pal b/data/tilesets/secondary/viridian_gym/palettes/11.pal similarity index 100% rename from data/tilesets/secondary/82D50AC/palettes/7.pal rename to data/tilesets/secondary/viridian_gym/palettes/11.pal diff --git a/data/tilesets/secondary/82D4CBC/palettes/12.pal b/data/tilesets/secondary/viridian_gym/palettes/12.pal similarity index 100% rename from data/tilesets/secondary/82D4CBC/palettes/12.pal rename to data/tilesets/secondary/viridian_gym/palettes/12.pal diff --git a/data/tilesets/secondary/82D4F74/palettes/7.pal b/data/tilesets/secondary/viridian_gym/palettes/13.pal similarity index 100% rename from data/tilesets/secondary/82D4F74/palettes/7.pal rename to data/tilesets/secondary/viridian_gym/palettes/13.pal diff --git a/data/tilesets/secondary/82D507C/palettes/7.pal b/data/tilesets/secondary/viridian_gym/palettes/14.pal similarity index 100% rename from data/tilesets/secondary/82D507C/palettes/7.pal rename to data/tilesets/secondary/viridian_gym/palettes/14.pal diff --git a/data/tilesets/secondary/82D4EFC/palettes/15.pal b/data/tilesets/secondary/viridian_gym/palettes/15.pal similarity index 100% rename from data/tilesets/secondary/82D4EFC/palettes/15.pal rename to data/tilesets/secondary/viridian_gym/palettes/15.pal diff --git a/data/tilesets/secondary/82D4CBC/tiles.png b/data/tilesets/secondary/viridian_gym/tiles.png similarity index 100% rename from data/tilesets/secondary/82D4CBC/tiles.png rename to data/tilesets/secondary/viridian_gym/tiles.png diff --git a/data/trainer_see.s b/data/trainer_see.s deleted file mode 100644 index 3014d8ba0..000000000 --- a/data/trainer_see.s +++ /dev/null @@ -1,97 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnknown_83C6AC8:: - .incbin "graphics/object_events/emoticons.4bpp" - -gUnknown_83C7248:: @ 83C7248 - .4byte IsTrainerInRangeSouth - .4byte IsTrainerInRangeNorth - .4byte IsTrainerInRangeWest - .4byte IsTrainerInRangeEast - -gUnknown_83C7258:: @ 83C7258 - .4byte sub_8081F34 - .4byte sub_8081F38 - .4byte sub_8081F90 - .4byte sub_8081FD0 - .4byte sub_808202C - .4byte sub_80820BC - .4byte sub_8082100 - .4byte sub_8082134 - .4byte sub_8082150 - .4byte sub_8082184 - .4byte sub_80821DC - .4byte sub_8082250 - .4byte sub_808226C - .4byte sub_80822CC - .4byte sub_808237C - -gUnknown_83C7294:: @ 83C7294 - .4byte sub_8082150 - .4byte sub_8082184 - .4byte sub_80821DC - .4byte sub_8082250 - -gOamData_83C72A4:: - .4byte 0x40000000, 0x00000400 - -gSpriteImages_83C72AC:: - .4byte gUnknown_83C6AC8 + 0x000, 0x80 - .4byte gUnknown_83C6AC8 + 0x080, 0x80 - .4byte gUnknown_83C6AC8 + 0x100, 0x80 - .4byte gUnknown_83C6AC8 + 0x300, 0x80 - .4byte gUnknown_83C6AC8 + 0x380, 0x80 - .4byte gUnknown_83C6AC8 + 0x400, 0x80 - .4byte gUnknown_83C6AC8 + 0x180, 0x80 - .4byte gUnknown_83C6AC8 + 0x200, 0x80 - .4byte gUnknown_83C6AC8 + 0x280, 0x80 - .4byte gUnknown_83C6AC8 + 0x480, 0x80 - .4byte gUnknown_83C6AC8 + 0x500, 0x80 - .4byte gUnknown_83C6AC8 + 0x580, 0x80 - .4byte gUnknown_83C6AC8 + 0x600, 0x80 - .4byte gUnknown_83C6AC8 + 0x680, 0x80 - .4byte gUnknown_83C6AC8 + 0x700, 0x80 - -gAnimCmd_83C7324:: - obj_image_anim_frame 0x0000, 0x0004 - obj_image_anim_frame 0x0001, 0x0004 - obj_image_anim_frame 0x0002, 0x0034 - obj_image_anim_end - -gAnimCmd_83C7334:: - obj_image_anim_frame 0x0006, 0x0004 - obj_image_anim_frame 0x0007, 0x0004 - obj_image_anim_frame 0x0008, 0x0034 - obj_image_anim_end - -gAnimCmd_83C7344:: - obj_image_anim_frame 0x0003, 0x0004 - obj_image_anim_frame 0x0004, 0x0004 - obj_image_anim_frame 0x0005, 0x0034 - obj_image_anim_end - -gAnimCmd_83C7354:: - obj_image_anim_frame 0x0009, 0x0004 - obj_image_anim_frame 0x000a, 0x0004 - obj_image_anim_frame 0x000b, 0x0034 - obj_image_anim_end - -gAnimCmd_83C7364:: - obj_image_anim_frame 0x000c, 0x0004 - obj_image_anim_frame 0x000d, 0x0004 - obj_image_anim_frame 0x000e, 0x0034 - obj_image_anim_end - -gSpriteAnimTable_83C7374:: - .4byte gAnimCmd_83C7324 - .4byte gAnimCmd_83C7334 - .4byte gAnimCmd_83C7344 - .4byte gAnimCmd_83C7354 - .4byte gAnimCmd_83C7364 - -gUnknown_83C7388:: @ 83C7388 - spr_template 65535, 65535, gOamData_83C72A4, gSpriteAnimTable_83C7374, gSpriteImages_83C72AC, gDummySpriteAffineAnimTable, objc_exclamation_mark_probably diff --git a/data/trainer_tower/trainers.inc b/data/trainer_tower/trainers.inc index 5f9b0f49b..645a8a27e 100644 --- a/data/trainer_tower/trainers.inc +++ b/data/trainer_tower/trainers.inc @@ -5111,3 +5111,43 @@ gUnknown_84823CC:: .byte 255 @ friendship .byte 0x80, 0x6b, 0x01 + + .align 2 +gUnknown_84827AC:: @ 84827AC + .byte 0x08, 0x01 + .2byte 0 + .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 diff --git a/graphics/battle_anims/backgrounds/20.bin b/graphics/battle_anims/backgrounds/aurora.bin similarity index 100% rename from graphics/battle_anims/backgrounds/20.bin rename to graphics/battle_anims/backgrounds/aurora.bin diff --git a/graphics/battle_anims/backgrounds/20.png b/graphics/battle_anims/backgrounds/aurora.png similarity index 100% rename from graphics/battle_anims/backgrounds/20.png rename to graphics/battle_anims/backgrounds/aurora.png diff --git a/graphics/battle_anims/backgrounds/22.pal b/graphics/battle_anims/backgrounds/bug.pal similarity index 100% rename from graphics/battle_anims/backgrounds/22.pal rename to graphics/battle_anims/backgrounds/bug.pal diff --git a/graphics/battle_anims/backgrounds/16.bin b/graphics/battle_anims/backgrounds/cosmic.bin similarity index 100% rename from graphics/battle_anims/backgrounds/16.bin rename to graphics/battle_anims/backgrounds/cosmic.bin diff --git a/graphics/battle_anims/backgrounds/16.png b/graphics/battle_anims/backgrounds/cosmic.png similarity index 100% rename from graphics/battle_anims/backgrounds/16.png rename to graphics/battle_anims/backgrounds/cosmic.png diff --git a/graphics/battle_anims/backgrounds/00.bin b/graphics/battle_anims/backgrounds/dark.bin similarity index 100% rename from graphics/battle_anims/backgrounds/00.bin rename to graphics/battle_anims/backgrounds/dark.bin diff --git a/graphics/battle_anims/backgrounds/00.png b/graphics/battle_anims/backgrounds/dark.png similarity index 100% rename from graphics/battle_anims/backgrounds/00.png rename to graphics/battle_anims/backgrounds/dark.png diff --git a/graphics/battle_anims/backgrounds/07.bin b/graphics/battle_anims/backgrounds/drill.bin similarity index 100% rename from graphics/battle_anims/backgrounds/07.bin rename to graphics/battle_anims/backgrounds/drill.bin diff --git a/graphics/battle_anims/backgrounds/07.png b/graphics/battle_anims/backgrounds/drill.png similarity index 100% rename from graphics/battle_anims/backgrounds/07.png rename to graphics/battle_anims/backgrounds/drill.png diff --git a/graphics/battle_anims/backgrounds/08.bin b/graphics/battle_anims/backgrounds/drill_contests.bin similarity index 100% rename from graphics/battle_anims/backgrounds/08.bin rename to graphics/battle_anims/backgrounds/drill_contests.bin diff --git a/graphics/battle_anims/backgrounds/21.bin b/graphics/battle_anims/backgrounds/fissure.bin similarity index 100% rename from graphics/battle_anims/backgrounds/21.bin rename to graphics/battle_anims/backgrounds/fissure.bin diff --git a/graphics/battle_anims/backgrounds/21.png b/graphics/battle_anims/backgrounds/fissure.png similarity index 100% rename from graphics/battle_anims/backgrounds/21.png rename to graphics/battle_anims/backgrounds/fissure.png diff --git a/graphics/battle_anims/backgrounds/02.bin b/graphics/battle_anims/backgrounds/ghost.bin similarity index 100% rename from graphics/battle_anims/backgrounds/02.bin rename to graphics/battle_anims/backgrounds/ghost.bin diff --git a/graphics/battle_anims/backgrounds/02.png b/graphics/battle_anims/backgrounds/ghost.png similarity index 100% rename from graphics/battle_anims/backgrounds/02.png rename to graphics/battle_anims/backgrounds/ghost.png diff --git a/graphics/battle_anims/backgrounds/12.png b/graphics/battle_anims/backgrounds/guillotine.png similarity index 100% rename from graphics/battle_anims/backgrounds/12.png rename to graphics/battle_anims/backgrounds/guillotine.png diff --git a/graphics/battle_anims/backgrounds/14.bin b/graphics/battle_anims/backgrounds/guillotine_contests.bin similarity index 100% rename from graphics/battle_anims/backgrounds/14.bin rename to graphics/battle_anims/backgrounds/guillotine_contests.bin diff --git a/graphics/battle_anims/backgrounds/12.bin b/graphics/battle_anims/backgrounds/guillotine_opponent.bin similarity index 100% rename from graphics/battle_anims/backgrounds/12.bin rename to graphics/battle_anims/backgrounds/guillotine_opponent.bin diff --git a/graphics/battle_anims/backgrounds/13.bin b/graphics/battle_anims/backgrounds/guillotine_player.bin similarity index 100% rename from graphics/battle_anims/backgrounds/13.bin rename to graphics/battle_anims/backgrounds/guillotine_player.bin diff --git a/graphics/battle_anims/backgrounds/09.png b/graphics/battle_anims/backgrounds/highspeed.png similarity index 100% rename from graphics/battle_anims/backgrounds/09.png rename to graphics/battle_anims/backgrounds/highspeed.png diff --git a/graphics/battle_anims/backgrounds/09.bin b/graphics/battle_anims/backgrounds/highspeed_opponent.bin similarity index 100% rename from graphics/battle_anims/backgrounds/09.bin rename to graphics/battle_anims/backgrounds/highspeed_opponent.bin diff --git a/graphics/battle_anims/backgrounds/10.bin b/graphics/battle_anims/backgrounds/highspeed_player.bin similarity index 100% rename from graphics/battle_anims/backgrounds/10.bin rename to graphics/battle_anims/backgrounds/highspeed_player.bin diff --git a/graphics/battle_anims/backgrounds/15.bin b/graphics/battle_anims/backgrounds/ice.bin similarity index 100% rename from graphics/battle_anims/backgrounds/15.bin rename to graphics/battle_anims/backgrounds/ice.bin diff --git a/graphics/battle_anims/backgrounds/15.png b/graphics/battle_anims/backgrounds/ice.png similarity index 100% rename from graphics/battle_anims/backgrounds/15.png rename to graphics/battle_anims/backgrounds/ice.png diff --git a/graphics/battle_anims/backgrounds/04.png b/graphics/battle_anims/backgrounds/impact.png similarity index 100% rename from graphics/battle_anims/backgrounds/04.png rename to graphics/battle_anims/backgrounds/impact.png diff --git a/graphics/battle_anims/backgrounds/06.bin b/graphics/battle_anims/backgrounds/impact_contests.bin similarity index 100% rename from graphics/battle_anims/backgrounds/06.bin rename to graphics/battle_anims/backgrounds/impact_contests.bin diff --git a/graphics/battle_anims/backgrounds/04.bin b/graphics/battle_anims/backgrounds/impact_opponent.bin similarity index 100% rename from graphics/battle_anims/backgrounds/04.bin rename to graphics/battle_anims/backgrounds/impact_opponent.bin diff --git a/graphics/battle_anims/backgrounds/05.bin b/graphics/battle_anims/backgrounds/impact_player.bin similarity index 100% rename from graphics/battle_anims/backgrounds/05.bin rename to graphics/battle_anims/backgrounds/impact_player.bin diff --git a/graphics/battle_anims/backgrounds/17.bin b/graphics/battle_anims/backgrounds/in_air.bin similarity index 100% rename from graphics/battle_anims/backgrounds/17.bin rename to graphics/battle_anims/backgrounds/in_air.bin diff --git a/graphics/battle_anims/backgrounds/17.png b/graphics/battle_anims/backgrounds/in_air.png similarity index 100% rename from graphics/battle_anims/backgrounds/17.png rename to graphics/battle_anims/backgrounds/in_air.png diff --git a/graphics/battle_anims/backgrounds/03.bin b/graphics/battle_anims/backgrounds/psychic.bin similarity index 100% rename from graphics/battle_anims/backgrounds/03.bin rename to graphics/battle_anims/backgrounds/psychic.bin diff --git a/graphics/battle_anims/backgrounds/03.png b/graphics/battle_anims/backgrounds/psychic.png similarity index 100% rename from graphics/battle_anims/backgrounds/03.png rename to graphics/battle_anims/backgrounds/psychic.png diff --git a/graphics/battle_anims/backgrounds/18.pal b/graphics/battle_anims/backgrounds/sky.pal similarity index 100% rename from graphics/battle_anims/backgrounds/18.pal rename to graphics/battle_anims/backgrounds/sky.pal diff --git a/graphics/battle_anims/backgrounds/24.pal b/graphics/battle_anims/backgrounds/solarbeam.pal similarity index 100% rename from graphics/battle_anims/backgrounds/24.pal rename to graphics/battle_anims/backgrounds/solarbeam.pal diff --git a/graphics/battle_anims/backgrounds/11.bin b/graphics/battle_anims/backgrounds/thunder.bin similarity index 100% rename from graphics/battle_anims/backgrounds/11.bin rename to graphics/battle_anims/backgrounds/thunder.bin diff --git a/graphics/battle_anims/backgrounds/11.png b/graphics/battle_anims/backgrounds/thunder.png similarity index 100% rename from graphics/battle_anims/backgrounds/11.png rename to graphics/battle_anims/backgrounds/thunder.png diff --git a/graphics/battle_anims/masks/morning_sun.bin b/graphics/battle_anims/masks/light_beam.bin similarity index 100% rename from graphics/battle_anims/masks/morning_sun.bin rename to graphics/battle_anims/masks/light_beam.bin diff --git a/graphics/battle_anims/masks/morning_sun.png b/graphics/battle_anims/masks/light_beam.png similarity index 100% rename from graphics/battle_anims/masks/morning_sun.png rename to graphics/battle_anims/masks/light_beam.png diff --git a/graphics/battle_anims/sprites/061.png b/graphics/battle_anims/sprites/air_slash.png similarity index 100% rename from graphics/battle_anims/sprites/061.png rename to graphics/battle_anims/sprites/air_slash.png diff --git a/graphics/battle_anims/sprites/003.png b/graphics/battle_anims/sprites/air_wave.png similarity index 100% rename from graphics/battle_anims/sprites/003.png rename to graphics/battle_anims/sprites/air_wave.png diff --git a/graphics/battle_anims/sprites/154.png b/graphics/battle_anims/sprites/air_wave_2.png similarity index 100% rename from graphics/battle_anims/sprites/154.png rename to graphics/battle_anims/sprites/air_wave_2.png diff --git a/graphics/battle_anims/sprites/075.png b/graphics/battle_anims/sprites/alert.png similarity index 100% rename from graphics/battle_anims/sprites/075.png rename to graphics/battle_anims/sprites/alert.png diff --git a/graphics/battle_anims/sprites/093.png b/graphics/battle_anims/sprites/amnesia.png similarity index 100% rename from graphics/battle_anims/sprites/093.png rename to graphics/battle_anims/sprites/amnesia.png diff --git a/graphics/battle_anims/sprites/220.png b/graphics/battle_anims/sprites/angel.png similarity index 100% rename from graphics/battle_anims/sprites/220.png rename to graphics/battle_anims/sprites/angel.png diff --git a/graphics/battle_anims/sprites/087.png b/graphics/battle_anims/sprites/anger.png similarity index 100% rename from graphics/battle_anims/sprites/087.png rename to graphics/battle_anims/sprites/anger.png diff --git a/graphics/battle_anims/sprites/205.png b/graphics/battle_anims/sprites/bell.png similarity index 100% rename from graphics/battle_anims/sprites/205.png rename to graphics/battle_anims/sprites/bell.png diff --git a/graphics/battle_anims/sprites/080.png b/graphics/battle_anims/sprites/bell_2.png similarity index 100% rename from graphics/battle_anims/sprites/080.png rename to graphics/battle_anims/sprites/bell_2.png diff --git a/graphics/battle_anims/sprites/097.png b/graphics/battle_anims/sprites/bent_spoon.png similarity index 100% rename from graphics/battle_anims/sprites/097.png rename to graphics/battle_anims/sprites/bent_spoon.png diff --git a/graphics/battle_anims/sprites/284.png b/graphics/battle_anims/sprites/bird.png similarity index 100% rename from graphics/battle_anims/sprites/284.png rename to graphics/battle_anims/sprites/bird.png diff --git a/graphics/battle_anims/sprites/017.png b/graphics/battle_anims/sprites/black_ball.png similarity index 100% rename from graphics/battle_anims/sprites/017.png rename to graphics/battle_anims/sprites/black_ball.png diff --git a/graphics/battle_anims/sprites/171.png b/graphics/battle_anims/sprites/black_ball_2.png similarity index 100% rename from graphics/battle_anims/sprites/171.png rename to graphics/battle_anims/sprites/black_ball_2.png diff --git a/graphics/battle_anims/sprites/016.png b/graphics/battle_anims/sprites/black_smoke.png similarity index 100% rename from graphics/battle_anims/sprites/016.png rename to graphics/battle_anims/sprites/black_smoke.png diff --git a/graphics/battle_anims/sprites/028.png b/graphics/battle_anims/sprites/blue_burst.png similarity index 100% rename from graphics/battle_anims/sprites/028.png rename to graphics/battle_anims/sprites/blue_burst.png diff --git a/graphics/battle_anims/sprites/076.png b/graphics/battle_anims/sprites/blue_flames.png similarity index 100% rename from graphics/battle_anims/sprites/076.png rename to graphics/battle_anims/sprites/blue_flames.png diff --git a/graphics/battle_anims/sprites/077.png b/graphics/battle_anims/sprites/blue_flames_2.png similarity index 100% rename from graphics/battle_anims/sprites/077.png rename to graphics/battle_anims/sprites/blue_flames_2.png diff --git a/graphics/battle_anims/sprites/167.pal b/graphics/battle_anims/sprites/blue_light_wall.pal similarity index 100% rename from graphics/battle_anims/sprites/167.pal rename to graphics/battle_anims/sprites/blue_light_wall.pal diff --git a/graphics/battle_anims/sprites/082.png b/graphics/battle_anims/sprites/blue_lines.png similarity index 100% rename from graphics/battle_anims/sprites/082.png rename to graphics/battle_anims/sprites/blue_lines.png diff --git a/graphics/battle_anims/sprites/236.pal b/graphics/battle_anims/sprites/blue_orb.pal similarity index 100% rename from graphics/battle_anims/sprites/236.pal rename to graphics/battle_anims/sprites/blue_orb.pal diff --git a/graphics/battle_anims/sprites/165.pal b/graphics/battle_anims/sprites/blue_ring.pal similarity index 100% rename from graphics/battle_anims/sprites/165.pal rename to graphics/battle_anims/sprites/blue_ring.pal diff --git a/graphics/battle_anims/sprites/288.pal b/graphics/battle_anims/sprites/blue_ring_2.pal similarity index 100% rename from graphics/battle_anims/sprites/288.pal rename to graphics/battle_anims/sprites/blue_ring_2.pal diff --git a/graphics/battle_anims/sprites/023.png b/graphics/battle_anims/sprites/blue_shards.png similarity index 100% rename from graphics/battle_anims/sprites/023.png rename to graphics/battle_anims/sprites/blue_shards.png diff --git a/graphics/battle_anims/sprites/031.png b/graphics/battle_anims/sprites/blue_star.png similarity index 100% rename from graphics/battle_anims/sprites/031.png rename to graphics/battle_anims/sprites/blue_star.png diff --git a/graphics/battle_anims/sprites/251.png b/graphics/battle_anims/sprites/bluegreen_orb.png similarity index 100% rename from graphics/battle_anims/sprites/251.png rename to graphics/battle_anims/sprites/bluegreen_orb.png diff --git a/graphics/battle_anims/sprites/000.png b/graphics/battle_anims/sprites/bone.png similarity index 100% rename from graphics/battle_anims/sprites/000.png rename to graphics/battle_anims/sprites/bone.png diff --git a/graphics/battle_anims/sprites/119.png b/graphics/battle_anims/sprites/bone_2.png similarity index 100% rename from graphics/battle_anims/sprites/119.png rename to graphics/battle_anims/sprites/bone_2.png diff --git a/graphics/battle_anims/sprites/202.png b/graphics/battle_anims/sprites/breaking_egg.png similarity index 100% rename from graphics/battle_anims/sprites/202.png rename to graphics/battle_anims/sprites/breaking_egg.png diff --git a/graphics/battle_anims/sprites/086.png b/graphics/battle_anims/sprites/breath.png similarity index 100% rename from graphics/battle_anims/sprites/086.png rename to graphics/battle_anims/sprites/breath.png diff --git a/graphics/battle_anims/sprites/259.pal b/graphics/battle_anims/sprites/brown_orb.pal similarity index 100% rename from graphics/battle_anims/sprites/259.pal rename to graphics/battle_anims/sprites/brown_orb.pal diff --git a/graphics/battle_anims/sprites/066.png b/graphics/battle_anims/sprites/brown_triangle.png similarity index 100% rename from graphics/battle_anims/sprites/066.png rename to graphics/battle_anims/sprites/brown_triangle.png diff --git a/graphics/battle_anims/sprites/146.png b/graphics/battle_anims/sprites/bubble.png similarity index 100% rename from graphics/battle_anims/sprites/146.png rename to graphics/battle_anims/sprites/bubble.png diff --git a/graphics/battle_anims/sprites/032.png b/graphics/battle_anims/sprites/bubble_burst.png similarity index 100% rename from graphics/battle_anims/sprites/032.png rename to graphics/battle_anims/sprites/bubble_burst.png diff --git a/graphics/battle_anims/sprites/042.png b/graphics/battle_anims/sprites/bubble_burst_2.png similarity index 100% rename from graphics/battle_anims/sprites/042.png rename to graphics/battle_anims/sprites/bubble_burst_2.png diff --git a/graphics/battle_anims/sprites/136.png b/graphics/battle_anims/sprites/circle_impact.png similarity index 100% rename from graphics/battle_anims/sprites/136.png rename to graphics/battle_anims/sprites/circle_impact.png diff --git a/graphics/battle_anims/sprites/212.png b/graphics/battle_anims/sprites/circle_of_light.png similarity index 100% rename from graphics/battle_anims/sprites/212.png rename to graphics/battle_anims/sprites/circle_of_light.png diff --git a/graphics/battle_anims/sprites/145.png b/graphics/battle_anims/sprites/clamp.png similarity index 100% rename from graphics/battle_anims/sprites/145.png rename to graphics/battle_anims/sprites/clamp.png diff --git a/graphics/battle_anims/sprites/091.png b/graphics/battle_anims/sprites/clapping.png similarity index 100% rename from graphics/battle_anims/sprites/091.png rename to graphics/battle_anims/sprites/clapping.png diff --git a/graphics/battle_anims/sprites/039.png b/graphics/battle_anims/sprites/claw_slash.png similarity index 100% rename from graphics/battle_anims/sprites/039.png rename to graphics/battle_anims/sprites/claw_slash.png diff --git a/graphics/battle_anims/sprites/038.png b/graphics/battle_anims/sprites/claw_slash_2.png similarity index 100% rename from graphics/battle_anims/sprites/038.png rename to graphics/battle_anims/sprites/claw_slash_2.png diff --git a/graphics/battle_anims/sprites/024.png b/graphics/battle_anims/sprites/closing_eye.png similarity index 100% rename from graphics/battle_anims/sprites/024.png rename to graphics/battle_anims/sprites/closing_eye.png diff --git a/graphics/battle_anims/sprites/125.png b/graphics/battle_anims/sprites/closing_eye_2.png similarity index 100% rename from graphics/battle_anims/sprites/125.png rename to graphics/battle_anims/sprites/closing_eye_2.png diff --git a/graphics/battle_anims/sprites/100.png b/graphics/battle_anims/sprites/coin.png similarity index 100% rename from graphics/battle_anims/sprites/100.png rename to graphics/battle_anims/sprites/coin.png diff --git a/graphics/battle_anims/sprites/240.png b/graphics/battle_anims/sprites/confetti.png similarity index 100% rename from graphics/battle_anims/sprites/240.png rename to graphics/battle_anims/sprites/confetti.png diff --git a/graphics/battle_anims/sprites/018.png b/graphics/battle_anims/sprites/conversion.png similarity index 100% rename from graphics/battle_anims/sprites/018.png rename to graphics/battle_anims/sprites/conversion.png diff --git a/graphics/battle_anims/sprites/101.png b/graphics/battle_anims/sprites/cracked_egg.png similarity index 100% rename from graphics/battle_anims/sprites/101.png rename to graphics/battle_anims/sprites/cracked_egg.png diff --git a/graphics/battle_anims/sprites/285.png b/graphics/battle_anims/sprites/cross_impact.png similarity index 100% rename from graphics/battle_anims/sprites/285.png rename to graphics/battle_anims/sprites/cross_impact.png diff --git a/graphics/battle_anims/sprites/138.png b/graphics/battle_anims/sprites/cut.png similarity index 100% rename from graphics/battle_anims/sprites/138.png rename to graphics/battle_anims/sprites/cut.png diff --git a/graphics/battle_anims/sprites/221.png b/graphics/battle_anims/sprites/devil.png similarity index 100% rename from graphics/battle_anims/sprites/221.png rename to graphics/battle_anims/sprites/devil.png diff --git a/graphics/battle_anims/sprites/281.png b/graphics/battle_anims/sprites/dirt_mound.png similarity index 100% rename from graphics/battle_anims/sprites/281.png rename to graphics/battle_anims/sprites/dirt_mound.png diff --git a/graphics/battle_anims/sprites/073.png b/graphics/battle_anims/sprites/duck.png similarity index 100% rename from graphics/battle_anims/sprites/073.png rename to graphics/battle_anims/sprites/duck.png diff --git a/graphics/battle_anims/sprites/234.png b/graphics/battle_anims/sprites/eclipsing_orb.png similarity index 100% rename from graphics/battle_anims/sprites/234.png rename to graphics/battle_anims/sprites/eclipsing_orb.png diff --git a/graphics/battle_anims/sprites/effect.pal b/graphics/battle_anims/sprites/effect.pal deleted file mode 100644 index 3dcf4cff6..000000000 --- a/graphics/battle_anims/sprites/effect.pal +++ /dev/null @@ -1,27 +0,0 @@ -JASC-PAL -0100 -24 -230 205 8 -230 172 41 -222 148 65 -222 115 90 -213 82 123 -213 57 148 -205 24 172 -205 0 205 -205 0 189 -205 0 164 -205 0 131 -205 0 106 -213 0 82 -213 0 49 -213 0 24 -222 0 0 -222 8 0 -222 41 0 -222 74 0 -222 98 0 -230 131 0 -230 156 0 -230 189 0 -238 222 0 diff --git a/graphics/battle_anims/sprites/211.png b/graphics/battle_anims/sprites/electric_orbs.png similarity index 100% rename from graphics/battle_anims/sprites/211.png rename to graphics/battle_anims/sprites/electric_orbs.png diff --git a/graphics/battle_anims/sprites/213.png b/graphics/battle_anims/sprites/electricity.png similarity index 100% rename from graphics/battle_anims/sprites/213.png rename to graphics/battle_anims/sprites/electricity.png diff --git a/graphics/battle_anims/sprites/198.png b/graphics/battle_anims/sprites/explosion.png similarity index 100% rename from graphics/battle_anims/sprites/198.png rename to graphics/battle_anims/sprites/explosion.png diff --git a/graphics/battle_anims/sprites/105.png b/graphics/battle_anims/sprites/explosion_2.png similarity index 100% rename from graphics/battle_anims/sprites/105.png rename to graphics/battle_anims/sprites/explosion_2.png diff --git a/graphics/battle_anims/sprites/106.png b/graphics/battle_anims/sprites/explosion_3.png similarity index 100% rename from graphics/battle_anims/sprites/106.png rename to graphics/battle_anims/sprites/explosion_3.png diff --git a/graphics/battle_anims/sprites/130.png b/graphics/battle_anims/sprites/explosion_4.png similarity index 100% rename from graphics/battle_anims/sprites/130.png rename to graphics/battle_anims/sprites/explosion_4.png diff --git a/graphics/battle_anims/sprites/131.png b/graphics/battle_anims/sprites/explosion_5.png similarity index 100% rename from graphics/battle_anims/sprites/131.png rename to graphics/battle_anims/sprites/explosion_5.png diff --git a/graphics/battle_anims/sprites/007.png b/graphics/battle_anims/sprites/explosion_6.png similarity index 100% rename from graphics/battle_anims/sprites/007.png rename to graphics/battle_anims/sprites/explosion_6.png diff --git a/graphics/battle_anims/sprites/187.png b/graphics/battle_anims/sprites/eye.png similarity index 100% rename from graphics/battle_anims/sprites/187.png rename to graphics/battle_anims/sprites/eye.png diff --git a/graphics/battle_anims/sprites/218.png b/graphics/battle_anims/sprites/eye_sparkle.png similarity index 100% rename from graphics/battle_anims/sprites/218.png rename to graphics/battle_anims/sprites/eye_sparkle.png diff --git a/graphics/battle_anims/sprites/192.png b/graphics/battle_anims/sprites/fang_attack.png similarity index 100% rename from graphics/battle_anims/sprites/192.png rename to graphics/battle_anims/sprites/fang_attack.png diff --git a/graphics/battle_anims/sprites/104.png b/graphics/battle_anims/sprites/fangs.png similarity index 100% rename from graphics/battle_anims/sprites/104.png rename to graphics/battle_anims/sprites/fangs.png diff --git a/graphics/battle_anims/sprites/064.png b/graphics/battle_anims/sprites/finger.png similarity index 100% rename from graphics/battle_anims/sprites/064.png rename to graphics/battle_anims/sprites/finger.png diff --git a/graphics/battle_anims/sprites/214.png b/graphics/battle_anims/sprites/finger_2.png similarity index 100% rename from graphics/battle_anims/sprites/214.png rename to graphics/battle_anims/sprites/finger_2.png diff --git a/graphics/battle_anims/sprites/033.png b/graphics/battle_anims/sprites/fire.png similarity index 100% rename from graphics/battle_anims/sprites/033.png rename to graphics/battle_anims/sprites/fire.png diff --git a/graphics/battle_anims/sprites/035.png b/graphics/battle_anims/sprites/fire_plume.png similarity index 100% rename from graphics/battle_anims/sprites/035.png rename to graphics/battle_anims/sprites/fire_plume.png diff --git a/graphics/battle_anims/sprites/257.png b/graphics/battle_anims/sprites/flat_rock.png similarity index 100% rename from graphics/battle_anims/sprites/257.png rename to graphics/battle_anims/sprites/flat_rock.png diff --git a/graphics/battle_anims/sprites/001.pal b/graphics/battle_anims/sprites/flower.pal similarity index 100% rename from graphics/battle_anims/sprites/001.pal rename to graphics/battle_anims/sprites/flower.pal diff --git a/graphics/battle_anims/sprites/159_0.png b/graphics/battle_anims/sprites/flower_0.png similarity index 100% rename from graphics/battle_anims/sprites/159_0.png rename to graphics/battle_anims/sprites/flower_0.png diff --git a/graphics/battle_anims/sprites/159_1.png b/graphics/battle_anims/sprites/flower_1.png similarity index 100% rename from graphics/battle_anims/sprites/159_1.png rename to graphics/battle_anims/sprites/flower_1.png diff --git a/graphics/battle_anims/sprites/261.png b/graphics/battle_anims/sprites/flying_dirt.png similarity index 100% rename from graphics/battle_anims/sprites/261.png rename to graphics/battle_anims/sprites/flying_dirt.png diff --git a/graphics/battle_anims/sprites/184.png b/graphics/battle_anims/sprites/focus_energy.png similarity index 100% rename from graphics/battle_anims/sprites/184.png rename to graphics/battle_anims/sprites/focus_energy.png diff --git a/graphics/battle_anims/sprites/103.png b/graphics/battle_anims/sprites/fresh_egg.png similarity index 100% rename from graphics/battle_anims/sprites/103.png rename to graphics/battle_anims/sprites/fresh_egg.png diff --git a/graphics/battle_anims/sprites/116.png b/graphics/battle_anims/sprites/fury_swipes.png similarity index 100% rename from graphics/battle_anims/sprites/116.png rename to graphics/battle_anims/sprites/fury_swipes.png diff --git a/graphics/battle_anims/sprites/274.png b/graphics/battle_anims/sprites/gem_1.png similarity index 100% rename from graphics/battle_anims/sprites/274.png rename to graphics/battle_anims/sprites/gem_1.png diff --git a/graphics/battle_anims/sprites/275.png b/graphics/battle_anims/sprites/gem_2.png similarity index 100% rename from graphics/battle_anims/sprites/275.png rename to graphics/battle_anims/sprites/gem_2.png diff --git a/graphics/battle_anims/sprites/276.png b/graphics/battle_anims/sprites/gem_3.png similarity index 100% rename from graphics/battle_anims/sprites/276.png rename to graphics/battle_anims/sprites/gem_3.png diff --git a/graphics/battle_anims/sprites/200.png b/graphics/battle_anims/sprites/ghostly_spirit.png similarity index 100% rename from graphics/battle_anims/sprites/200.png rename to graphics/battle_anims/sprites/ghostly_spirit.png diff --git a/graphics/battle_anims/sprites/019.png b/graphics/battle_anims/sprites/glass.png similarity index 100% rename from graphics/battle_anims/sprites/019.png rename to graphics/battle_anims/sprites/glass.png diff --git a/graphics/battle_anims/sprites/044.png b/graphics/battle_anims/sprites/glass_2.png similarity index 100% rename from graphics/battle_anims/sprites/044.png rename to graphics/battle_anims/sprites/glass_2.png diff --git a/graphics/battle_anims/sprites/268.pal b/graphics/battle_anims/sprites/glowy_blue_orb.pal similarity index 100% rename from graphics/battle_anims/sprites/268.pal rename to graphics/battle_anims/sprites/glowy_blue_orb.pal diff --git a/graphics/battle_anims/sprites/265.pal b/graphics/battle_anims/sprites/glowy_green_orb.pal similarity index 100% rename from graphics/battle_anims/sprites/265.pal rename to graphics/battle_anims/sprites/glowy_green_orb.pal diff --git a/graphics/battle_anims/sprites/264.png b/graphics/battle_anims/sprites/glowy_red_orb.png similarity index 100% rename from graphics/battle_anims/sprites/264.png rename to graphics/battle_anims/sprites/glowy_red_orb.png diff --git a/graphics/battle_anims/sprites/163.png b/graphics/battle_anims/sprites/gold_ring.png similarity index 100% rename from graphics/battle_anims/sprites/163.png rename to graphics/battle_anims/sprites/gold_ring.png diff --git a/graphics/battle_anims/sprites/233.png b/graphics/battle_anims/sprites/gold_stars.png similarity index 100% rename from graphics/battle_anims/sprites/233.png rename to graphics/battle_anims/sprites/gold_stars.png diff --git a/graphics/battle_anims/sprites/169.pal b/graphics/battle_anims/sprites/gray_light_wall.pal similarity index 100% rename from graphics/battle_anims/sprites/169.pal rename to graphics/battle_anims/sprites/gray_light_wall.pal diff --git a/graphics/battle_anims/sprites/235.png b/graphics/battle_anims/sprites/gray_orb.png similarity index 100% rename from graphics/battle_anims/sprites/235.png rename to graphics/battle_anims/sprites/gray_orb.png diff --git a/graphics/battle_anims/sprites/030.png b/graphics/battle_anims/sprites/gray_smoke.png similarity index 100% rename from graphics/battle_anims/sprites/030.png rename to graphics/battle_anims/sprites/gray_smoke.png diff --git a/graphics/battle_anims/sprites/166.png b/graphics/battle_anims/sprites/green_light_wall.png similarity index 100% rename from graphics/battle_anims/sprites/166.png rename to graphics/battle_anims/sprites/green_light_wall.png diff --git a/graphics/battle_anims/sprites/195.png b/graphics/battle_anims/sprites/green_sparkle.png similarity index 100% rename from graphics/battle_anims/sprites/195.png rename to graphics/battle_anims/sprites/green_sparkle.png diff --git a/graphics/battle_anims/sprites/266.png b/graphics/battle_anims/sprites/green_spike.png similarity index 100% rename from graphics/battle_anims/sprites/266.png rename to graphics/battle_anims/sprites/green_spike.png diff --git a/graphics/battle_anims/sprites/241.png b/graphics/battle_anims/sprites/green_star.png similarity index 100% rename from graphics/battle_anims/sprites/241.png rename to graphics/battle_anims/sprites/green_star.png diff --git a/graphics/battle_anims/sprites/244.png b/graphics/battle_anims/sprites/guard_ring.png similarity index 100% rename from graphics/battle_anims/sprites/244.png rename to graphics/battle_anims/sprites/guard_ring.png diff --git a/graphics/battle_anims/sprites/009.png b/graphics/battle_anims/sprites/gust.png similarity index 100% rename from graphics/battle_anims/sprites/009.png rename to graphics/battle_anims/sprites/gust.png diff --git a/graphics/battle_anims/sprites/263.png b/graphics/battle_anims/sprites/hail.png similarity index 100% rename from graphics/battle_anims/sprites/263.png rename to graphics/battle_anims/sprites/hail.png diff --git a/graphics/battle_anims/sprites/143.png b/graphics/battle_anims/sprites/hands_and_feet.png similarity index 100% rename from graphics/battle_anims/sprites/143.png rename to graphics/battle_anims/sprites/hands_and_feet.png diff --git a/graphics/battle_anims/sprites/102.png b/graphics/battle_anims/sprites/hatched_egg.png similarity index 100% rename from graphics/battle_anims/sprites/102.png rename to graphics/battle_anims/sprites/hatched_egg.png diff --git a/graphics/battle_anims/sprites/021.png b/graphics/battle_anims/sprites/hit.png similarity index 100% rename from graphics/battle_anims/sprites/021.png rename to graphics/battle_anims/sprites/hit.png diff --git a/graphics/battle_anims/sprites/022.pal b/graphics/battle_anims/sprites/hit_2.pal similarity index 100% rename from graphics/battle_anims/sprites/022.pal rename to graphics/battle_anims/sprites/hit_2.pal diff --git a/graphics/battle_anims/sprites/026.png b/graphics/battle_anims/sprites/hit_duplicate.png similarity index 100% rename from graphics/battle_anims/sprites/026.png rename to graphics/battle_anims/sprites/hit_duplicate.png diff --git a/graphics/battle_anims/sprites/249.png b/graphics/battle_anims/sprites/hollow_orb.png similarity index 100% rename from graphics/battle_anims/sprites/249.png rename to graphics/battle_anims/sprites/hollow_orb.png diff --git a/graphics/battle_anims/sprites/020.png b/graphics/battle_anims/sprites/horn_hit.png similarity index 100% rename from graphics/battle_anims/sprites/020.png rename to graphics/battle_anims/sprites/horn_hit.png diff --git a/graphics/battle_anims/sprites/153.png b/graphics/battle_anims/sprites/horn_hit_2.png similarity index 100% rename from graphics/battle_anims/sprites/153.png rename to graphics/battle_anims/sprites/horn_hit_2.png diff --git a/graphics/battle_anims/sprites/050.png b/graphics/battle_anims/sprites/humanoid_foot.png similarity index 100% rename from graphics/battle_anims/sprites/050.png rename to graphics/battle_anims/sprites/humanoid_foot.png diff --git a/graphics/battle_anims/sprites/052.png b/graphics/battle_anims/sprites/humanoid_hand.png similarity index 100% rename from graphics/battle_anims/sprites/052.png rename to graphics/battle_anims/sprites/humanoid_hand.png diff --git a/graphics/battle_anims/sprites/043.png b/graphics/battle_anims/sprites/ice_chunk.png similarity index 100% rename from graphics/battle_anims/sprites/043.png rename to graphics/battle_anims/sprites/ice_chunk.png diff --git a/graphics/battle_anims/sprites/010.pal b/graphics/battle_anims/sprites/ice_crystals.pal similarity index 100% rename from graphics/battle_anims/sprites/010.pal rename to graphics/battle_anims/sprites/ice_crystals.pal diff --git a/graphics/battle_anims/sprites/141_0.png b/graphics/battle_anims/sprites/ice_crystals_0.png similarity index 100% rename from graphics/battle_anims/sprites/141_0.png rename to graphics/battle_anims/sprites/ice_crystals_0.png diff --git a/graphics/battle_anims/sprites/141_1.png b/graphics/battle_anims/sprites/ice_crystals_1.png similarity index 100% rename from graphics/battle_anims/sprites/141_1.png rename to graphics/battle_anims/sprites/ice_crystals_1.png diff --git a/graphics/battle_anims/sprites/141_2.png b/graphics/battle_anims/sprites/ice_crystals_2.png similarity index 100% rename from graphics/battle_anims/sprites/141_2.png rename to graphics/battle_anims/sprites/ice_crystals_2.png diff --git a/graphics/battle_anims/sprites/141_3.png b/graphics/battle_anims/sprites/ice_crystals_3.png similarity index 100% rename from graphics/battle_anims/sprites/141_3.png rename to graphics/battle_anims/sprites/ice_crystals_3.png diff --git a/graphics/battle_anims/sprites/141_4.png b/graphics/battle_anims/sprites/ice_crystals_4.png similarity index 100% rename from graphics/battle_anims/sprites/141_4.png rename to graphics/battle_anims/sprites/ice_crystals_4.png diff --git a/graphics/battle_anims/sprites/141.pal b/graphics/battle_anims/sprites/ice_cube.pal similarity index 100% rename from graphics/battle_anims/sprites/141.pal rename to graphics/battle_anims/sprites/ice_cube.pal diff --git a/graphics/battle_anims/sprites/010_0.png b/graphics/battle_anims/sprites/ice_cube_0.png similarity index 100% rename from graphics/battle_anims/sprites/010_0.png rename to graphics/battle_anims/sprites/ice_cube_0.png diff --git a/graphics/battle_anims/sprites/010_1.png b/graphics/battle_anims/sprites/ice_cube_1.png similarity index 100% rename from graphics/battle_anims/sprites/010_1.png rename to graphics/battle_anims/sprites/ice_cube_1.png diff --git a/graphics/battle_anims/sprites/010_2.png b/graphics/battle_anims/sprites/ice_cube_2.png similarity index 100% rename from graphics/battle_anims/sprites/010_2.png rename to graphics/battle_anims/sprites/ice_cube_2.png diff --git a/graphics/battle_anims/sprites/010_3.png b/graphics/battle_anims/sprites/ice_cube_3.png similarity index 100% rename from graphics/battle_anims/sprites/010_3.png rename to graphics/battle_anims/sprites/ice_cube_3.png diff --git a/graphics/battle_anims/sprites/142.png b/graphics/battle_anims/sprites/ice_spikes.png similarity index 100% rename from graphics/battle_anims/sprites/142.png rename to graphics/battle_anims/sprites/ice_spikes.png diff --git a/graphics/battle_anims/sprites/262.png b/graphics/battle_anims/sprites/icicle_spear.png similarity index 100% rename from graphics/battle_anims/sprites/262.png rename to graphics/battle_anims/sprites/icicle_spear.png diff --git a/graphics/battle_anims/sprites/135.png b/graphics/battle_anims/sprites/impact.png similarity index 100% rename from graphics/battle_anims/sprites/135.png rename to graphics/battle_anims/sprites/impact.png diff --git a/graphics/battle_anims/sprites/084.png b/graphics/battle_anims/sprites/impact_2.png similarity index 100% rename from graphics/battle_anims/sprites/084.png rename to graphics/battle_anims/sprites/impact_2.png diff --git a/graphics/battle_anims/sprites/083.png b/graphics/battle_anims/sprites/impact_3.png similarity index 100% rename from graphics/battle_anims/sprites/083.png rename to graphics/battle_anims/sprites/impact_3.png diff --git a/graphics/battle_anims/sprites/224.png b/graphics/battle_anims/sprites/item_bag.png similarity index 100% rename from graphics/battle_anims/sprites/224.png rename to graphics/battle_anims/sprites/item_bag.png diff --git a/graphics/battle_anims/sprites/225.png b/graphics/battle_anims/sprites/jagged_music_note.png similarity index 100% rename from graphics/battle_anims/sprites/225.png rename to graphics/battle_anims/sprites/jagged_music_note.png diff --git a/graphics/battle_anims/sprites/175.png b/graphics/battle_anims/sprites/large_fresh_egg.png similarity index 100% rename from graphics/battle_anims/sprites/175.png rename to graphics/battle_anims/sprites/large_fresh_egg.png diff --git a/graphics/battle_anims/sprites/063.png b/graphics/battle_anims/sprites/leaf.png similarity index 100% rename from graphics/battle_anims/sprites/063.png rename to graphics/battle_anims/sprites/leaf.png diff --git a/graphics/battle_anims/sprites/027.png b/graphics/battle_anims/sprites/leer.png similarity index 100% rename from graphics/battle_anims/sprites/027.png rename to graphics/battle_anims/sprites/leer.png diff --git a/graphics/battle_anims/sprites/228.png b/graphics/battle_anims/sprites/letter_z.png similarity index 100% rename from graphics/battle_anims/sprites/228.png rename to graphics/battle_anims/sprites/letter_z.png diff --git a/graphics/battle_anims/sprites/177.png b/graphics/battle_anims/sprites/lick.png similarity index 100% rename from graphics/battle_anims/sprites/177.png rename to graphics/battle_anims/sprites/lick.png diff --git a/graphics/battle_anims/sprites/182.png b/graphics/battle_anims/sprites/lightbulb.png similarity index 100% rename from graphics/battle_anims/sprites/182.png rename to graphics/battle_anims/sprites/lightbulb.png diff --git a/graphics/battle_anims/sprites/037.png b/graphics/battle_anims/sprites/lightning.png similarity index 100% rename from graphics/battle_anims/sprites/037.png rename to graphics/battle_anims/sprites/lightning.png diff --git a/graphics/battle_anims/sprites/036.png b/graphics/battle_anims/sprites/lightning_2.png similarity index 100% rename from graphics/battle_anims/sprites/036.png rename to graphics/battle_anims/sprites/lightning_2.png diff --git a/graphics/battle_anims/sprites/014.png b/graphics/battle_anims/sprites/lock_on.png similarity index 100% rename from graphics/battle_anims/sprites/014.png rename to graphics/battle_anims/sprites/lock_on.png diff --git a/graphics/battle_anims/sprites/210.png b/graphics/battle_anims/sprites/magenta_heart.png similarity index 100% rename from graphics/battle_anims/sprites/210.png rename to graphics/battle_anims/sprites/magenta_heart.png diff --git a/graphics/battle_anims/sprites/258.png b/graphics/battle_anims/sprites/magnifying_glass.png similarity index 100% rename from graphics/battle_anims/sprites/258.png rename to graphics/battle_anims/sprites/magnifying_glass.png diff --git a/graphics/battle_anims/sprites/126.png b/graphics/battle_anims/sprites/metal_ball.png similarity index 100% rename from graphics/battle_anims/sprites/126.png rename to graphics/battle_anims/sprites/metal_ball.png diff --git a/graphics/battle_anims/sprites/260.png b/graphics/battle_anims/sprites/metal_sound_waves.png similarity index 100% rename from graphics/battle_anims/sprites/260.png rename to graphics/battle_anims/sprites/metal_sound_waves.png diff --git a/graphics/battle_anims/sprites/256.png b/graphics/battle_anims/sprites/meteor.png similarity index 100% rename from graphics/battle_anims/sprites/256.png rename to graphics/battle_anims/sprites/meteor.png diff --git a/graphics/battle_anims/sprites/099.png b/graphics/battle_anims/sprites/milk_bottle.png similarity index 100% rename from graphics/battle_anims/sprites/099.png rename to graphics/battle_anims/sprites/milk_bottle.png diff --git a/graphics/battle_anims/sprites/144.png b/graphics/battle_anims/sprites/mist_cloud.png similarity index 100% rename from graphics/battle_anims/sprites/144.png rename to graphics/battle_anims/sprites/mist_cloud.png diff --git a/graphics/battle_anims/sprites/127.png b/graphics/battle_anims/sprites/monster_doll.png similarity index 100% rename from graphics/battle_anims/sprites/127.png rename to graphics/battle_anims/sprites/monster_doll.png diff --git a/graphics/battle_anims/sprites/051.png b/graphics/battle_anims/sprites/monster_foot.png similarity index 100% rename from graphics/battle_anims/sprites/051.png rename to graphics/battle_anims/sprites/monster_foot.png diff --git a/graphics/battle_anims/sprites/194.png b/graphics/battle_anims/sprites/moon.png similarity index 100% rename from graphics/battle_anims/sprites/194.png rename to graphics/battle_anims/sprites/moon.png diff --git a/graphics/battle_anims/sprites/215.png b/graphics/battle_anims/sprites/movement_waves.png similarity index 100% rename from graphics/battle_anims/sprites/215.png rename to graphics/battle_anims/sprites/movement_waves.png diff --git a/graphics/battle_anims/sprites/074.pal b/graphics/battle_anims/sprites/mud_sand.pal similarity index 100% rename from graphics/battle_anims/sprites/074.pal rename to graphics/battle_anims/sprites/mud_sand.pal diff --git a/graphics/battle_anims/sprites/074_0.png b/graphics/battle_anims/sprites/mud_sand_0.png similarity index 100% rename from graphics/battle_anims/sprites/074_0.png rename to graphics/battle_anims/sprites/mud_sand_0.png diff --git a/graphics/battle_anims/sprites/074_1.png b/graphics/battle_anims/sprites/mud_sand_1.png similarity index 100% rename from graphics/battle_anims/sprites/074_1.png rename to graphics/battle_anims/sprites/mud_sand_1.png diff --git a/graphics/battle_anims/sprites/114.png b/graphics/battle_anims/sprites/mud_unk.png similarity index 100% rename from graphics/battle_anims/sprites/114.png rename to graphics/battle_anims/sprites/mud_unk.png diff --git a/graphics/battle_anims/sprites/072.png b/graphics/battle_anims/sprites/music_notes.png similarity index 100% rename from graphics/battle_anims/sprites/072.png rename to graphics/battle_anims/sprites/music_notes.png diff --git a/graphics/battle_anims/sprites/206.pal b/graphics/battle_anims/sprites/music_notes_2.pal similarity index 100% rename from graphics/battle_anims/sprites/206.pal rename to graphics/battle_anims/sprites/music_notes_2.pal diff --git a/graphics/battle_anims/sprites/206.png b/graphics/battle_anims/sprites/music_notes_2.png similarity index 100% rename from graphics/battle_anims/sprites/206.png rename to graphics/battle_anims/sprites/music_notes_2.png diff --git a/graphics/battle_anims/sprites/199.png b/graphics/battle_anims/sprites/nail.png similarity index 100% rename from graphics/battle_anims/sprites/199.png rename to graphics/battle_anims/sprites/nail.png diff --git a/graphics/battle_anims/sprites/161.png b/graphics/battle_anims/sprites/needle.png similarity index 100% rename from graphics/battle_anims/sprites/161.png rename to graphics/battle_anims/sprites/needle.png diff --git a/graphics/battle_anims/sprites/053.png b/graphics/battle_anims/sprites/noise_line.png similarity index 100% rename from graphics/battle_anims/sprites/053.png rename to graphics/battle_anims/sprites/noise_line.png diff --git a/graphics/battle_anims/sprites/190.png b/graphics/battle_anims/sprites/opening_eye.png similarity index 100% rename from graphics/battle_anims/sprites/190.png rename to graphics/battle_anims/sprites/opening_eye.png diff --git a/graphics/battle_anims/sprites/012.png b/graphics/battle_anims/sprites/orange.png similarity index 100% rename from graphics/battle_anims/sprites/012.png rename to graphics/battle_anims/sprites/orange.png diff --git a/graphics/battle_anims/sprites/170.pal b/graphics/battle_anims/sprites/orange_light_wall.pal similarity index 100% rename from graphics/battle_anims/sprites/170.pal rename to graphics/battle_anims/sprites/orange_light_wall.pal diff --git a/graphics/battle_anims/sprites/004.png b/graphics/battle_anims/sprites/orb.png similarity index 100% rename from graphics/battle_anims/sprites/004.png rename to graphics/battle_anims/sprites/orb.png diff --git a/graphics/battle_anims/sprites/147.png b/graphics/battle_anims/sprites/orbs.png similarity index 100% rename from graphics/battle_anims/sprites/147.png rename to graphics/battle_anims/sprites/orbs.png diff --git a/graphics/battle_anims/sprites/239.png b/graphics/battle_anims/sprites/pain_split.png similarity index 100% rename from graphics/battle_anims/sprites/239.png rename to graphics/battle_anims/sprites/pain_split.png diff --git a/graphics/battle_anims/sprites/252.png b/graphics/battle_anims/sprites/paw_print.png similarity index 100% rename from graphics/battle_anims/sprites/252.png rename to graphics/battle_anims/sprites/paw_print.png diff --git a/graphics/battle_anims/sprites/002.png b/graphics/battle_anims/sprites/pencil.png similarity index 100% rename from graphics/battle_anims/sprites/002.png rename to graphics/battle_anims/sprites/pencil.png diff --git a/graphics/battle_anims/sprites/095.png b/graphics/battle_anims/sprites/pencil_2.png similarity index 100% rename from graphics/battle_anims/sprites/095.png rename to graphics/battle_anims/sprites/pencil_2.png diff --git a/graphics/battle_anims/sprites/096.png b/graphics/battle_anims/sprites/petal.png similarity index 100% rename from graphics/battle_anims/sprites/096.png rename to graphics/battle_anims/sprites/petal.png diff --git a/graphics/battle_anims/sprites/242.png b/graphics/battle_anims/sprites/pink_cloud.png similarity index 100% rename from graphics/battle_anims/sprites/242.png rename to graphics/battle_anims/sprites/pink_cloud.png diff --git a/graphics/battle_anims/sprites/081.png b/graphics/battle_anims/sprites/pink_glove.png similarity index 100% rename from graphics/battle_anims/sprites/081.png rename to graphics/battle_anims/sprites/pink_glove.png diff --git a/graphics/battle_anims/sprites/219.pal b/graphics/battle_anims/sprites/pink_heart.pal similarity index 100% rename from graphics/battle_anims/sprites/219.pal rename to graphics/battle_anims/sprites/pink_heart.pal diff --git a/graphics/battle_anims/sprites/045.png b/graphics/battle_anims/sprites/pink_heart_2.png similarity index 100% rename from graphics/battle_anims/sprites/045.png rename to graphics/battle_anims/sprites/pink_heart_2.png diff --git a/graphics/battle_anims/sprites/008.png b/graphics/battle_anims/sprites/pink_orb.png similarity index 100% rename from graphics/battle_anims/sprites/008.png rename to graphics/battle_anims/sprites/pink_orb.png diff --git a/graphics/battle_anims/sprites/238.png b/graphics/battle_anims/sprites/pink_petal.png similarity index 100% rename from graphics/battle_anims/sprites/238.png rename to graphics/battle_anims/sprites/pink_petal.png diff --git a/graphics/battle_anims/sprites/150.png b/graphics/battle_anims/sprites/poison_bubble.png similarity index 100% rename from graphics/battle_anims/sprites/150.png rename to graphics/battle_anims/sprites/poison_bubble.png diff --git a/graphics/battle_anims/sprites/065.png b/graphics/battle_anims/sprites/poison_powder.png similarity index 100% rename from graphics/battle_anims/sprites/065.png rename to graphics/battle_anims/sprites/poison_powder.png diff --git a/graphics/battle_anims/sprites/226.png b/graphics/battle_anims/sprites/pokeball.png similarity index 100% rename from graphics/battle_anims/sprites/226.png rename to graphics/battle_anims/sprites/pokeball.png diff --git a/graphics/battle_anims/sprites/269.png b/graphics/battle_anims/sprites/pokeblock.png similarity index 100% rename from graphics/battle_anims/sprites/269.png rename to graphics/battle_anims/sprites/pokeblock.png diff --git a/graphics/battle_anims/sprites/280.png b/graphics/battle_anims/sprites/protect.png similarity index 100% rename from graphics/battle_anims/sprites/280.png rename to graphics/battle_anims/sprites/protect.png diff --git a/graphics/battle_anims/sprites/204.png b/graphics/battle_anims/sprites/punch_impact.png similarity index 100% rename from graphics/battle_anims/sprites/204.png rename to graphics/battle_anims/sprites/punch_impact.png diff --git a/graphics/battle_anims/sprites/122.png b/graphics/battle_anims/sprites/purple_coral.png similarity index 100% rename from graphics/battle_anims/sprites/122.png rename to graphics/battle_anims/sprites/purple_coral.png diff --git a/graphics/battle_anims/sprites/123.png b/graphics/battle_anims/sprites/purple_droplet.png similarity index 100% rename from graphics/battle_anims/sprites/123.png rename to graphics/battle_anims/sprites/purple_droplet.png diff --git a/graphics/battle_anims/sprites/253.png b/graphics/battle_anims/sprites/purple_flame.png similarity index 100% rename from graphics/battle_anims/sprites/253.png rename to graphics/battle_anims/sprites/purple_flame.png diff --git a/graphics/battle_anims/sprites/172.pal b/graphics/battle_anims/sprites/purple_gas_cloud.pal similarity index 100% rename from graphics/battle_anims/sprites/172.pal rename to graphics/battle_anims/sprites/purple_gas_cloud.pal diff --git a/graphics/battle_anims/sprites/112.png b/graphics/battle_anims/sprites/purple_green_unk.png similarity index 100% rename from graphics/battle_anims/sprites/112.png rename to graphics/battle_anims/sprites/purple_green_unk.png diff --git a/graphics/battle_anims/sprites/193.png b/graphics/battle_anims/sprites/purple_hand_outline.png similarity index 100% rename from graphics/battle_anims/sprites/193.png rename to graphics/battle_anims/sprites/purple_hand_outline.png diff --git a/graphics/battle_anims/sprites/164.pal b/graphics/battle_anims/sprites/purple_ring.pal similarity index 100% rename from graphics/battle_anims/sprites/164.pal rename to graphics/battle_anims/sprites/purple_ring.pal diff --git a/graphics/battle_anims/sprites/245.png b/graphics/battle_anims/sprites/purple_scratch.png similarity index 100% rename from graphics/battle_anims/sprites/245.png rename to graphics/battle_anims/sprites/purple_scratch.png diff --git a/graphics/battle_anims/sprites/246.png b/graphics/battle_anims/sprites/purple_swipe.png similarity index 100% rename from graphics/battle_anims/sprites/246.png rename to graphics/battle_anims/sprites/purple_swipe.png diff --git a/graphics/battle_anims/sprites/115.png b/graphics/battle_anims/sprites/rain_drops.png similarity index 100% rename from graphics/battle_anims/sprites/115.png rename to graphics/battle_anims/sprites/rain_drops.png diff --git a/graphics/battle_anims/sprites/140.png b/graphics/battle_anims/sprites/rainbow_rings.png similarity index 100% rename from graphics/battle_anims/sprites/140.png rename to graphics/battle_anims/sprites/rainbow_rings.png diff --git a/graphics/battle_anims/sprites/229.png b/graphics/battle_anims/sprites/rapid_spin.png similarity index 100% rename from graphics/battle_anims/sprites/229.png rename to graphics/battle_anims/sprites/rapid_spin.png diff --git a/graphics/battle_anims/sprites/160.png b/graphics/battle_anims/sprites/razor_leaf.png similarity index 100% rename from graphics/battle_anims/sprites/160.png rename to graphics/battle_anims/sprites/razor_leaf.png diff --git a/graphics/battle_anims/sprites/278.png b/graphics/battle_anims/sprites/recycle.png similarity index 100% rename from graphics/battle_anims/sprites/278.png rename to graphics/battle_anims/sprites/recycle.png diff --git a/graphics/battle_anims/sprites/254.png b/graphics/battle_anims/sprites/red_ball.png similarity index 100% rename from graphics/battle_anims/sprites/254.png rename to graphics/battle_anims/sprites/red_ball.png diff --git a/graphics/battle_anims/sprites/055.png b/graphics/battle_anims/sprites/red_fist.png similarity index 100% rename from graphics/battle_anims/sprites/055.png rename to graphics/battle_anims/sprites/red_fist.png diff --git a/graphics/battle_anims/sprites/216.pal b/graphics/battle_anims/sprites/red_heart.pal similarity index 100% rename from graphics/battle_anims/sprites/216.pal rename to graphics/battle_anims/sprites/red_heart.pal diff --git a/graphics/battle_anims/sprites/168.pal b/graphics/battle_anims/sprites/red_light_wall.pal similarity index 100% rename from graphics/battle_anims/sprites/168.pal rename to graphics/battle_anims/sprites/red_light_wall.pal diff --git a/graphics/battle_anims/sprites/217.png b/graphics/battle_anims/sprites/red_orb.png similarity index 100% rename from graphics/battle_anims/sprites/217.png rename to graphics/battle_anims/sprites/red_orb.png diff --git a/graphics/battle_anims/sprites/237.pal b/graphics/battle_anims/sprites/red_orb_2.pal similarity index 100% rename from graphics/battle_anims/sprites/237.pal rename to graphics/battle_anims/sprites/red_orb_2.pal diff --git a/graphics/battle_anims/sprites/279.png b/graphics/battle_anims/sprites/red_particles.png similarity index 100% rename from graphics/battle_anims/sprites/279.png rename to graphics/battle_anims/sprites/red_particles.png diff --git a/graphics/battle_anims/sprites/092.png b/graphics/battle_anims/sprites/red_tube.png similarity index 100% rename from graphics/battle_anims/sprites/092.png rename to graphics/battle_anims/sprites/red_tube.png diff --git a/graphics/battle_anims/sprites/111.png b/graphics/battle_anims/sprites/red_wand.png similarity index 100% rename from graphics/battle_anims/sprites/111.png rename to graphics/battle_anims/sprites/red_wand.png diff --git a/graphics/battle_anims/sprites/085.png b/graphics/battle_anims/sprites/reticle.png similarity index 100% rename from graphics/battle_anims/sprites/085.png rename to graphics/battle_anims/sprites/reticle.png diff --git a/graphics/battle_anims/sprites/057.png b/graphics/battle_anims/sprites/ring.png similarity index 100% rename from graphics/battle_anims/sprites/057.png rename to graphics/battle_anims/sprites/ring.png diff --git a/graphics/battle_anims/sprites/058.png b/graphics/battle_anims/sprites/rocks.png similarity index 100% rename from graphics/battle_anims/sprites/058.png rename to graphics/battle_anims/sprites/rocks.png diff --git a/graphics/battle_anims/sprites/223.png b/graphics/battle_anims/sprites/roots.png similarity index 100% rename from graphics/battle_anims/sprites/223.png rename to graphics/battle_anims/sprites/roots.png diff --git a/graphics/battle_anims/sprites/156.png b/graphics/battle_anims/sprites/round_shadow.png similarity index 100% rename from graphics/battle_anims/sprites/156.png rename to graphics/battle_anims/sprites/round_shadow.png diff --git a/graphics/battle_anims/sprites/191.png b/graphics/battle_anims/sprites/round_white_halo.png similarity index 100% rename from graphics/battle_anims/sprites/191.png rename to graphics/battle_anims/sprites/round_white_halo.png diff --git a/graphics/battle_anims/sprites/046.png b/graphics/battle_anims/sprites/sap_drip.png similarity index 100% rename from graphics/battle_anims/sprites/046.png rename to graphics/battle_anims/sprites/sap_drip.png diff --git a/graphics/battle_anims/sprites/047.pal b/graphics/battle_anims/sprites/sap_drip_2.pal similarity index 100% rename from graphics/battle_anims/sprites/047.pal rename to graphics/battle_anims/sprites/sap_drip_2.pal diff --git a/graphics/battle_anims/sprites/137.png b/graphics/battle_anims/sprites/scratch.png similarity index 100% rename from graphics/battle_anims/sprites/137.png rename to graphics/battle_anims/sprites/scratch.png diff --git a/graphics/battle_anims/sprites/041.png b/graphics/battle_anims/sprites/scratch_2.png similarity index 100% rename from graphics/battle_anims/sprites/041.png rename to graphics/battle_anims/sprites/scratch_2.png diff --git a/graphics/battle_anims/sprites/040.png b/graphics/battle_anims/sprites/scratch_3.png similarity index 100% rename from graphics/battle_anims/sprites/040.png rename to graphics/battle_anims/sprites/scratch_3.png diff --git a/graphics/battle_anims/sprites/006.png b/graphics/battle_anims/sprites/seed.png similarity index 100% rename from graphics/battle_anims/sprites/006.png rename to graphics/battle_anims/sprites/seed.png diff --git a/graphics/battle_anims/sprites/109.png b/graphics/battle_anims/sprites/seed_2.png similarity index 100% rename from graphics/battle_anims/sprites/109.png rename to graphics/battle_anims/sprites/seed_2.png diff --git a/graphics/battle_anims/sprites/176.png b/graphics/battle_anims/sprites/shadow_ball.png similarity index 100% rename from graphics/battle_anims/sprites/176.png rename to graphics/battle_anims/sprites/shadow_ball.png diff --git a/graphics/battle_anims/sprites/139.png b/graphics/battle_anims/sprites/sharp_teeth.png similarity index 100% rename from graphics/battle_anims/sprites/139.png rename to graphics/battle_anims/sprites/sharp_teeth.png diff --git a/graphics/battle_anims/sprites/079.png b/graphics/battle_anims/sprites/shock.png similarity index 100% rename from graphics/battle_anims/sprites/079.png rename to graphics/battle_anims/sprites/shock.png diff --git a/graphics/battle_anims/sprites/124.png b/graphics/battle_anims/sprites/shock_2.png similarity index 100% rename from graphics/battle_anims/sprites/124.png rename to graphics/battle_anims/sprites/shock_2.png diff --git a/graphics/battle_anims/sprites/282.png b/graphics/battle_anims/sprites/shock_3.png similarity index 100% rename from graphics/battle_anims/sprites/282.png rename to graphics/battle_anims/sprites/shock_3.png diff --git a/graphics/battle_anims/sprites/078.png b/graphics/battle_anims/sprites/shock_4.png similarity index 100% rename from graphics/battle_anims/sprites/078.png rename to graphics/battle_anims/sprites/shock_4.png diff --git a/graphics/battle_anims/sprites/056.png b/graphics/battle_anims/sprites/slam_hit.png similarity index 100% rename from graphics/battle_anims/sprites/056.png rename to graphics/battle_anims/sprites/slam_hit.png diff --git a/graphics/battle_anims/sprites/277.png b/graphics/battle_anims/sprites/slam_hit_2.png similarity index 100% rename from graphics/battle_anims/sprites/277.png rename to graphics/battle_anims/sprites/slam_hit_2.png diff --git a/graphics/battle_anims/sprites/183.png b/graphics/battle_anims/sprites/slash.png similarity index 100% rename from graphics/battle_anims/sprites/183.png rename to graphics/battle_anims/sprites/slash.png diff --git a/graphics/battle_anims/sprites/286.pal b/graphics/battle_anims/sprites/slash_2.pal similarity index 100% rename from graphics/battle_anims/sprites/286.pal rename to graphics/battle_anims/sprites/slash_2.pal diff --git a/graphics/battle_anims/sprites/067.pal b/graphics/battle_anims/sprites/sleep_powder.pal similarity index 100% rename from graphics/battle_anims/sprites/067.pal rename to graphics/battle_anims/sprites/sleep_powder.pal diff --git a/graphics/battle_anims/sprites/155.png b/graphics/battle_anims/sprites/small_bubbles.png similarity index 100% rename from graphics/battle_anims/sprites/155.png rename to graphics/battle_anims/sprites/small_bubbles.png diff --git a/graphics/battle_anims/sprites/029.png b/graphics/battle_anims/sprites/small_ember.png similarity index 100% rename from graphics/battle_anims/sprites/029.png rename to graphics/battle_anims/sprites/small_ember.png diff --git a/graphics/battle_anims/sprites/248.png b/graphics/battle_anims/sprites/small_red_eye.png similarity index 100% rename from graphics/battle_anims/sprites/248.png rename to graphics/battle_anims/sprites/small_red_eye.png diff --git a/graphics/battle_anims/sprites/255.png b/graphics/battle_anims/sprites/smellingsalt_effect.png similarity index 100% rename from graphics/battle_anims/sprites/255.png rename to graphics/battle_anims/sprites/smellingsalt_effect.png diff --git a/graphics/battle_anims/sprites/133.png b/graphics/battle_anims/sprites/smoke.png similarity index 100% rename from graphics/battle_anims/sprites/133.png rename to graphics/battle_anims/sprites/smoke.png diff --git a/graphics/battle_anims/sprites/134.png b/graphics/battle_anims/sprites/smoke_2.png similarity index 100% rename from graphics/battle_anims/sprites/134.png rename to graphics/battle_anims/sprites/smoke_2.png diff --git a/graphics/battle_anims/sprites/197.png b/graphics/battle_anims/sprites/snore_z.png similarity index 100% rename from graphics/battle_anims/sprites/197.png rename to graphics/battle_anims/sprites/snore_z.png diff --git a/graphics/battle_anims/sprites/088.png b/graphics/battle_anims/sprites/snowball.png similarity index 100% rename from graphics/battle_anims/sprites/088.png rename to graphics/battle_anims/sprites/snowball.png diff --git a/graphics/battle_anims/sprites/159.pal b/graphics/battle_anims/sprites/spark.pal similarity index 100% rename from graphics/battle_anims/sprites/159.pal rename to graphics/battle_anims/sprites/spark.pal diff --git a/graphics/battle_anims/sprites/001_0.png b/graphics/battle_anims/sprites/spark_0.png similarity index 100% rename from graphics/battle_anims/sprites/001_0.png rename to graphics/battle_anims/sprites/spark_0.png diff --git a/graphics/battle_anims/sprites/001_1.png b/graphics/battle_anims/sprites/spark_1.png similarity index 100% rename from graphics/battle_anims/sprites/001_1.png rename to graphics/battle_anims/sprites/spark_1.png diff --git a/graphics/battle_anims/sprites/011.png b/graphics/battle_anims/sprites/spark_2.png similarity index 100% rename from graphics/battle_anims/sprites/011.png rename to graphics/battle_anims/sprites/spark_2.png diff --git a/graphics/battle_anims/sprites/173.png b/graphics/battle_anims/sprites/spark_h.png similarity index 100% rename from graphics/battle_anims/sprites/173.png rename to graphics/battle_anims/sprites/spark_h.png diff --git a/graphics/battle_anims/sprites/048.png b/graphics/battle_anims/sprites/sparkle_1.png similarity index 100% rename from graphics/battle_anims/sprites/048.png rename to graphics/battle_anims/sprites/sparkle_1.png diff --git a/graphics/battle_anims/sprites/049.pal b/graphics/battle_anims/sprites/sparkle_2.pal similarity index 100% rename from graphics/battle_anims/sprites/049.pal rename to graphics/battle_anims/sprites/sparkle_2.pal diff --git a/graphics/battle_anims/sprites/070.png b/graphics/battle_anims/sprites/sparkle_3.png similarity index 100% rename from graphics/battle_anims/sprites/070.png rename to graphics/battle_anims/sprites/sparkle_3.png diff --git a/graphics/battle_anims/sprites/071.png b/graphics/battle_anims/sprites/sparkle_4.png similarity index 100% rename from graphics/battle_anims/sprites/071.png rename to graphics/battle_anims/sprites/sparkle_4.png diff --git a/graphics/battle_anims/sprites/271.png b/graphics/battle_anims/sprites/sparkle_6.png similarity index 100% rename from graphics/battle_anims/sprites/271.png rename to graphics/battle_anims/sprites/sparkle_6.png diff --git a/graphics/battle_anims/sprites/207.png b/graphics/battle_anims/sprites/speed_dust.png similarity index 100% rename from graphics/battle_anims/sprites/207.png rename to graphics/battle_anims/sprites/speed_dust.png diff --git a/graphics/battle_anims/sprites/185.png b/graphics/battle_anims/sprites/sphere_to_cube.png similarity index 100% rename from graphics/battle_anims/sprites/185.png rename to graphics/battle_anims/sprites/sphere_to_cube.png diff --git a/graphics/battle_anims/sprites/181.png b/graphics/battle_anims/sprites/spider_web.png similarity index 100% rename from graphics/battle_anims/sprites/181.png rename to graphics/battle_anims/sprites/spider_web.png diff --git a/graphics/battle_anims/sprites/152.png b/graphics/battle_anims/sprites/spikes.png similarity index 100% rename from graphics/battle_anims/sprites/152.png rename to graphics/battle_anims/sprites/spikes.png diff --git a/graphics/battle_anims/sprites/034.png b/graphics/battle_anims/sprites/spinning_fire.png similarity index 100% rename from graphics/battle_anims/sprites/034.png rename to graphics/battle_anims/sprites/spinning_fire.png diff --git a/graphics/battle_anims/sprites/062.png b/graphics/battle_anims/sprites/spinning_green_orbs.png similarity index 100% rename from graphics/battle_anims/sprites/062.png rename to graphics/battle_anims/sprites/spinning_green_orbs.png diff --git a/graphics/battle_anims/sprites/196.png b/graphics/battle_anims/sprites/spiral.png similarity index 100% rename from graphics/battle_anims/sprites/196.png rename to graphics/battle_anims/sprites/spiral.png diff --git a/graphics/battle_anims/sprites/272.png b/graphics/battle_anims/sprites/splash.png similarity index 100% rename from graphics/battle_anims/sprites/272.png rename to graphics/battle_anims/sprites/splash.png diff --git a/graphics/battle_anims/sprites/158.png b/graphics/battle_anims/sprites/spore.png similarity index 100% rename from graphics/battle_anims/sprites/158.png rename to graphics/battle_anims/sprites/spore.png diff --git a/graphics/battle_anims/sprites/227.png b/graphics/battle_anims/sprites/spotlight.png similarity index 100% rename from graphics/battle_anims/sprites/227.png rename to graphics/battle_anims/sprites/spotlight.png diff --git a/graphics/battle_anims/sprites/110.png b/graphics/battle_anims/sprites/sprout.png similarity index 100% rename from graphics/battle_anims/sprites/110.png rename to graphics/battle_anims/sprites/sprout.png diff --git a/graphics/battle_anims/sprites/179.png b/graphics/battle_anims/sprites/string.png similarity index 100% rename from graphics/battle_anims/sprites/179.png rename to graphics/battle_anims/sprites/string.png diff --git a/graphics/battle_anims/sprites/094.png b/graphics/battle_anims/sprites/string_2.png similarity index 100% rename from graphics/battle_anims/sprites/094.png rename to graphics/battle_anims/sprites/string_2.png diff --git a/graphics/battle_anims/sprites/068.pal b/graphics/battle_anims/sprites/stun_spore.pal similarity index 100% rename from graphics/battle_anims/sprites/068.pal rename to graphics/battle_anims/sprites/stun_spore.pal diff --git a/graphics/battle_anims/sprites/157.png b/graphics/battle_anims/sprites/sunlight.png similarity index 100% rename from graphics/battle_anims/sprites/157.png rename to graphics/battle_anims/sprites/sunlight.png diff --git a/graphics/battle_anims/sprites/273.png b/graphics/battle_anims/sprites/sweat_bead.png similarity index 100% rename from graphics/battle_anims/sprites/273.png rename to graphics/battle_anims/sprites/sweat_bead.png diff --git a/graphics/battle_anims/sprites/243.png b/graphics/battle_anims/sprites/sweat_drop.png similarity index 100% rename from graphics/battle_anims/sprites/243.png rename to graphics/battle_anims/sprites/sweat_drop.png diff --git a/graphics/battle_anims/sprites/222.png b/graphics/battle_anims/sprites/swipe.png similarity index 100% rename from graphics/battle_anims/sprites/222.png rename to graphics/battle_anims/sprites/swipe.png diff --git a/graphics/battle_anims/sprites/005.png b/graphics/battle_anims/sprites/sword.png similarity index 100% rename from graphics/battle_anims/sprites/005.png rename to graphics/battle_anims/sprites/sword.png diff --git a/graphics/battle_anims/sprites/090.png b/graphics/battle_anims/sprites/sword_2.png similarity index 100% rename from graphics/battle_anims/sprites/090.png rename to graphics/battle_anims/sprites/sword_2.png diff --git a/graphics/battle_anims/sprites/247.png b/graphics/battle_anims/sprites/tag_hand.png similarity index 100% rename from graphics/battle_anims/sprites/247.png rename to graphics/battle_anims/sprites/tag_hand.png diff --git a/graphics/battle_anims/sprites/189.png b/graphics/battle_anims/sprites/teal_alert.png similarity index 100% rename from graphics/battle_anims/sprites/189.png rename to graphics/battle_anims/sprites/teal_alert.png diff --git a/graphics/battle_anims/sprites/118.png b/graphics/battle_anims/sprites/teeth.png similarity index 100% rename from graphics/battle_anims/sprites/118.png rename to graphics/battle_anims/sprites/teeth.png diff --git a/graphics/battle_anims/sprites/186.png b/graphics/battle_anims/sprites/tendrils.png similarity index 100% rename from graphics/battle_anims/sprites/186.png rename to graphics/battle_anims/sprites/tendrils.png diff --git a/graphics/battle_anims/sprites/203.png b/graphics/battle_anims/sprites/thin_ring.png similarity index 100% rename from graphics/battle_anims/sprites/203.png rename to graphics/battle_anims/sprites/thin_ring.png diff --git a/graphics/battle_anims/sprites/209.png b/graphics/battle_anims/sprites/thought_bubble.png similarity index 100% rename from graphics/battle_anims/sprites/209.png rename to graphics/battle_anims/sprites/thought_bubble.png diff --git a/graphics/battle_anims/sprites/015.png b/graphics/battle_anims/sprites/tied_bag.png similarity index 100% rename from graphics/battle_anims/sprites/015.png rename to graphics/battle_anims/sprites/tied_bag.png diff --git a/graphics/battle_anims/sprites/132.png b/graphics/battle_anims/sprites/tongue.png similarity index 100% rename from graphics/battle_anims/sprites/132.png rename to graphics/battle_anims/sprites/tongue.png diff --git a/graphics/battle_anims/sprites/208.png b/graphics/battle_anims/sprites/torn_metal.png similarity index 100% rename from graphics/battle_anims/sprites/208.png rename to graphics/battle_anims/sprites/torn_metal.png diff --git a/graphics/battle_anims/sprites/151.png b/graphics/battle_anims/sprites/toxic_bubble.png similarity index 100% rename from graphics/battle_anims/sprites/151.png rename to graphics/battle_anims/sprites/toxic_bubble.png diff --git a/graphics/battle_anims/sprites/230.png b/graphics/battle_anims/sprites/tri_attack_triangle.png similarity index 100% rename from graphics/battle_anims/sprites/230.png rename to graphics/battle_anims/sprites/tri_attack_triangle.png diff --git a/graphics/battle_anims/sprites/121.png b/graphics/battle_anims/sprites/unknown.png similarity index 100% rename from graphics/battle_anims/sprites/121.png rename to graphics/battle_anims/sprites/unknown.png diff --git a/graphics/battle_anims/sprites/089.png b/graphics/battle_anims/sprites/vine.png similarity index 100% rename from graphics/battle_anims/sprites/089.png rename to graphics/battle_anims/sprites/vine.png diff --git a/graphics/battle_anims/sprites/117.png b/graphics/battle_anims/sprites/vine_2.png similarity index 100% rename from graphics/battle_anims/sprites/117.png rename to graphics/battle_anims/sprites/vine_2.png diff --git a/graphics/battle_anims/sprites/178.png b/graphics/battle_anims/sprites/void_lines.png similarity index 100% rename from graphics/battle_anims/sprites/178.png rename to graphics/battle_anims/sprites/void_lines.png diff --git a/graphics/battle_anims/sprites/201.png b/graphics/battle_anims/sprites/warm_rock.png similarity index 100% rename from graphics/battle_anims/sprites/201.png rename to graphics/battle_anims/sprites/warm_rock.png diff --git a/graphics/battle_anims/sprites/113.png b/graphics/battle_anims/sprites/water_column.png similarity index 100% rename from graphics/battle_anims/sprites/113.png rename to graphics/battle_anims/sprites/water_column.png diff --git a/graphics/battle_anims/sprites/107.png b/graphics/battle_anims/sprites/water_droplet.png similarity index 100% rename from graphics/battle_anims/sprites/107.png rename to graphics/battle_anims/sprites/water_droplet.png diff --git a/graphics/battle_anims/sprites/108.png b/graphics/battle_anims/sprites/water_droplet_2.png similarity index 100% rename from graphics/battle_anims/sprites/108.png rename to graphics/battle_anims/sprites/water_droplet_2.png diff --git a/graphics/battle_anims/sprites/148.png b/graphics/battle_anims/sprites/water_impact.png similarity index 100% rename from graphics/battle_anims/sprites/148.png rename to graphics/battle_anims/sprites/water_impact.png diff --git a/graphics/battle_anims/sprites/149.png b/graphics/battle_anims/sprites/water_orb.png similarity index 100% rename from graphics/battle_anims/sprites/149.png rename to graphics/battle_anims/sprites/water_orb.png diff --git a/graphics/battle_anims/sprites/025.png b/graphics/battle_anims/sprites/waving_hand.png similarity index 100% rename from graphics/battle_anims/sprites/025.png rename to graphics/battle_anims/sprites/waving_hand.png diff --git a/graphics/battle_anims/sprites/283.png b/graphics/battle_anims/sprites/weather_ball.png similarity index 100% rename from graphics/battle_anims/sprites/283.png rename to graphics/battle_anims/sprites/weather_ball.png diff --git a/graphics/battle_anims/sprites/098.png b/graphics/battle_anims/sprites/web.png similarity index 100% rename from graphics/battle_anims/sprites/098.png rename to graphics/battle_anims/sprites/web.png diff --git a/graphics/battle_anims/sprites/180.png b/graphics/battle_anims/sprites/web_thread.png similarity index 100% rename from graphics/battle_anims/sprites/180.png rename to graphics/battle_anims/sprites/web_thread.png diff --git a/graphics/battle_anims/sprites/287.pal b/graphics/battle_anims/sprites/whip_hit.pal similarity index 100% rename from graphics/battle_anims/sprites/287.pal rename to graphics/battle_anims/sprites/whip_hit.pal diff --git a/graphics/battle_anims/sprites/128.png b/graphics/battle_anims/sprites/whirlwind.png similarity index 100% rename from graphics/battle_anims/sprites/128.png rename to graphics/battle_anims/sprites/whirlwind.png diff --git a/graphics/battle_anims/sprites/129.png b/graphics/battle_anims/sprites/whirlwind_2.png similarity index 100% rename from graphics/battle_anims/sprites/129.png rename to graphics/battle_anims/sprites/whirlwind_2.png diff --git a/graphics/battle_anims/sprites/162.png b/graphics/battle_anims/sprites/whirlwind_lines.png similarity index 100% rename from graphics/battle_anims/sprites/162.png rename to graphics/battle_anims/sprites/whirlwind_lines.png diff --git a/graphics/battle_anims/sprites/120.png b/graphics/battle_anims/sprites/white_bag.png similarity index 100% rename from graphics/battle_anims/sprites/120.png rename to graphics/battle_anims/sprites/white_bag.png diff --git a/graphics/battle_anims/sprites/267.pal b/graphics/battle_anims/sprites/white_circle_of_light.pal similarity index 100% rename from graphics/battle_anims/sprites/267.pal rename to graphics/battle_anims/sprites/white_circle_of_light.pal diff --git a/graphics/battle_anims/sprites/270.png b/graphics/battle_anims/sprites/white_feather.png similarity index 100% rename from graphics/battle_anims/sprites/270.png rename to graphics/battle_anims/sprites/white_feather.png diff --git a/graphics/battle_anims/sprites/188.png b/graphics/battle_anims/sprites/white_shadow.png similarity index 100% rename from graphics/battle_anims/sprites/188.png rename to graphics/battle_anims/sprites/white_shadow.png diff --git a/graphics/battle_anims/sprites/232.png b/graphics/battle_anims/sprites/wisp_fire.png similarity index 100% rename from graphics/battle_anims/sprites/232.png rename to graphics/battle_anims/sprites/wisp_fire.png diff --git a/graphics/battle_anims/sprites/231.png b/graphics/battle_anims/sprites/wisp_orb.png similarity index 100% rename from graphics/battle_anims/sprites/231.png rename to graphics/battle_anims/sprites/wisp_orb.png diff --git a/graphics/battle_anims/sprites/250.png b/graphics/battle_anims/sprites/x_sign.png similarity index 100% rename from graphics/battle_anims/sprites/250.png rename to graphics/battle_anims/sprites/x_sign.png diff --git a/graphics/battle_anims/sprites/013.png b/graphics/battle_anims/sprites/yellow_ball.png similarity index 100% rename from graphics/battle_anims/sprites/013.png rename to graphics/battle_anims/sprites/yellow_ball.png diff --git a/graphics/battle_anims/sprites/174.png b/graphics/battle_anims/sprites/yellow_star.png similarity index 100% rename from graphics/battle_anims/sprites/174.png rename to graphics/battle_anims/sprites/yellow_star.png diff --git a/graphics/battle_anims/sprites/054.png b/graphics/battle_anims/sprites/yellow_unk.png similarity index 100% rename from graphics/battle_anims/sprites/054.png rename to graphics/battle_anims/sprites/yellow_unk.png diff --git a/graphics/battle_anims/sprites/060.png b/graphics/battle_anims/sprites/yellow_unk_2.png similarity index 100% rename from graphics/battle_anims/sprites/060.png rename to graphics/battle_anims/sprites/yellow_unk_2.png diff --git a/graphics/battle_anims/sprites/059.png b/graphics/battle_anims/sprites/z.png similarity index 100% rename from graphics/battle_anims/sprites/059.png rename to graphics/battle_anims/sprites/z.png diff --git a/graphics/battle_anims/sprites/unk_83E6C18.pal b/graphics/battle_anims/unk_83E6C18.pal similarity index 100% rename from graphics/battle_anims/sprites/unk_83E6C18.pal rename to graphics/battle_anims/unk_83E6C18.pal diff --git a/graphics/door_anims/cable_club.png b/graphics/door_anims/cable_club.png new file mode 100644 index 000000000..792c23715 Binary files /dev/null and b/graphics/door_anims/cable_club.png differ diff --git a/graphics/door_anims/cerulean.png b/graphics/door_anims/cerulean.png new file mode 100644 index 000000000..51278be20 Binary files /dev/null and b/graphics/door_anims/cerulean.png differ diff --git a/graphics/door_anims/cinnabar_lab.png b/graphics/door_anims/cinnabar_lab.png new file mode 100644 index 000000000..3d0e00e7f Binary files /dev/null and b/graphics/door_anims/cinnabar_lab.png differ diff --git a/graphics/door_anims/dept_store.png b/graphics/door_anims/dept_store.png new file mode 100644 index 000000000..914b1d56c Binary files /dev/null and b/graphics/door_anims/dept_store.png differ diff --git a/graphics/door_anims/dept_store_elevator.png b/graphics/door_anims/dept_store_elevator.png new file mode 100644 index 000000000..0afbb9e2c Binary files /dev/null and b/graphics/door_anims/dept_store_elevator.png differ diff --git a/graphics/door_anims/four_island_day_care.png b/graphics/door_anims/four_island_day_care.png new file mode 100644 index 000000000..38af4eff8 Binary files /dev/null and b/graphics/door_anims/four_island_day_care.png differ diff --git a/graphics/door_anims/frame_8353088_1.png b/graphics/door_anims/frame_8353088_1.png deleted file mode 100644 index e831eda38..000000000 Binary files a/graphics/door_anims/frame_8353088_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_8353088_2.png b/graphics/door_anims/frame_8353088_2.png deleted file mode 100644 index 981aaa7fd..000000000 Binary files a/graphics/door_anims/frame_8353088_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_8353088_3.png b/graphics/door_anims/frame_8353088_3.png deleted file mode 100644 index a4edcdc0b..000000000 Binary files a/graphics/door_anims/frame_8353088_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_8353228_1.png b/graphics/door_anims/frame_8353228_1.png deleted file mode 100644 index 2f7b80495..000000000 Binary files a/graphics/door_anims/frame_8353228_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_8353228_2.png b/graphics/door_anims/frame_8353228_2.png deleted file mode 100644 index d603dd800..000000000 Binary files a/graphics/door_anims/frame_8353228_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_8353228_3.png b/graphics/door_anims/frame_8353228_3.png deleted file mode 100644 index 97a87ea4c..000000000 Binary files a/graphics/door_anims/frame_8353228_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_83533C8_1.png b/graphics/door_anims/frame_83533C8_1.png deleted file mode 100644 index 4ce6b79ed..000000000 Binary files a/graphics/door_anims/frame_83533C8_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_83533C8_2.png b/graphics/door_anims/frame_83533C8_2.png deleted file mode 100644 index 8f668959e..000000000 Binary files a/graphics/door_anims/frame_83533C8_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_83533C8_3.png b/graphics/door_anims/frame_83533C8_3.png deleted file mode 100644 index 97a87ea4c..000000000 Binary files a/graphics/door_anims/frame_83533C8_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_8353568_1.png b/graphics/door_anims/frame_8353568_1.png deleted file mode 100644 index 5fde23141..000000000 Binary files a/graphics/door_anims/frame_8353568_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_8353568_2.png b/graphics/door_anims/frame_8353568_2.png deleted file mode 100644 index 93b6e18f5..000000000 Binary files a/graphics/door_anims/frame_8353568_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_8353568_3.png b/graphics/door_anims/frame_8353568_3.png deleted file mode 100644 index a4edcdc0b..000000000 Binary files a/graphics/door_anims/frame_8353568_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_8353708_1.png b/graphics/door_anims/frame_8353708_1.png deleted file mode 100644 index e56c2f31e..000000000 Binary files a/graphics/door_anims/frame_8353708_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_8353708_2.png b/graphics/door_anims/frame_8353708_2.png deleted file mode 100644 index e1f7d5272..000000000 Binary files a/graphics/door_anims/frame_8353708_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_8353708_3.png b/graphics/door_anims/frame_8353708_3.png deleted file mode 100644 index a4edcdc0b..000000000 Binary files a/graphics/door_anims/frame_8353708_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_83538A8_1.png b/graphics/door_anims/frame_83538A8_1.png deleted file mode 100644 index 117acac1d..000000000 Binary files a/graphics/door_anims/frame_83538A8_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_83538A8_2.png b/graphics/door_anims/frame_83538A8_2.png deleted file mode 100644 index 58aa0d456..000000000 Binary files a/graphics/door_anims/frame_83538A8_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_83538A8_3.png b/graphics/door_anims/frame_83538A8_3.png deleted file mode 100644 index a9f2c98f5..000000000 Binary files a/graphics/door_anims/frame_83538A8_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_8353A48_1.png b/graphics/door_anims/frame_8353A48_1.png deleted file mode 100644 index 5ea623f10..000000000 Binary files a/graphics/door_anims/frame_8353A48_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_8353A48_2.png b/graphics/door_anims/frame_8353A48_2.png deleted file mode 100644 index dba5c1935..000000000 Binary files a/graphics/door_anims/frame_8353A48_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_8353A48_3.png b/graphics/door_anims/frame_8353A48_3.png deleted file mode 100644 index a4edcdc0b..000000000 Binary files a/graphics/door_anims/frame_8353A48_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_8353BE8_1.png b/graphics/door_anims/frame_8353BE8_1.png deleted file mode 100644 index 3b8a60396..000000000 Binary files a/graphics/door_anims/frame_8353BE8_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_8353BE8_2.png b/graphics/door_anims/frame_8353BE8_2.png deleted file mode 100644 index ac557a4ea..000000000 Binary files a/graphics/door_anims/frame_8353BE8_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_8353BE8_3.png b/graphics/door_anims/frame_8353BE8_3.png deleted file mode 100644 index de5e8c356..000000000 Binary files a/graphics/door_anims/frame_8353BE8_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_8353D88_1.png b/graphics/door_anims/frame_8353D88_1.png deleted file mode 100644 index 37d7e78da..000000000 Binary files a/graphics/door_anims/frame_8353D88_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_8353D88_2.png b/graphics/door_anims/frame_8353D88_2.png deleted file mode 100644 index 405f027b0..000000000 Binary files a/graphics/door_anims/frame_8353D88_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_8353D88_3.png b/graphics/door_anims/frame_8353D88_3.png deleted file mode 100644 index 052c55606..000000000 Binary files a/graphics/door_anims/frame_8353D88_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_8353F28_1.png b/graphics/door_anims/frame_8353F28_1.png deleted file mode 100644 index 379003d13..000000000 Binary files a/graphics/door_anims/frame_8353F28_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_8353F28_2.png b/graphics/door_anims/frame_8353F28_2.png deleted file mode 100644 index 2337f80df..000000000 Binary files a/graphics/door_anims/frame_8353F28_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_8353F28_3.png b/graphics/door_anims/frame_8353F28_3.png deleted file mode 100644 index 97a87ea4c..000000000 Binary files a/graphics/door_anims/frame_8353F28_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_83540C8_1.png b/graphics/door_anims/frame_83540C8_1.png deleted file mode 100644 index 5c582fbf0..000000000 Binary files a/graphics/door_anims/frame_83540C8_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_83540C8_2.png b/graphics/door_anims/frame_83540C8_2.png deleted file mode 100644 index b23db61c5..000000000 Binary files a/graphics/door_anims/frame_83540C8_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_83540C8_3.png b/graphics/door_anims/frame_83540C8_3.png deleted file mode 100644 index 8870077b3..000000000 Binary files a/graphics/door_anims/frame_83540C8_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_8354268_1.png b/graphics/door_anims/frame_8354268_1.png deleted file mode 100644 index 5a09abac0..000000000 Binary files a/graphics/door_anims/frame_8354268_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_8354268_2.png b/graphics/door_anims/frame_8354268_2.png deleted file mode 100644 index e46d8b0af..000000000 Binary files a/graphics/door_anims/frame_8354268_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_8354268_3.png b/graphics/door_anims/frame_8354268_3.png deleted file mode 100644 index 97a87ea4c..000000000 Binary files a/graphics/door_anims/frame_8354268_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_8354408_1.png b/graphics/door_anims/frame_8354408_1.png deleted file mode 100644 index 680c715fb..000000000 Binary files a/graphics/door_anims/frame_8354408_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_8354408_2.png b/graphics/door_anims/frame_8354408_2.png deleted file mode 100644 index a6014c89f..000000000 Binary files a/graphics/door_anims/frame_8354408_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_8354408_3.png b/graphics/door_anims/frame_8354408_3.png deleted file mode 100644 index c3a852e27..000000000 Binary files a/graphics/door_anims/frame_8354408_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_83545A8_1.png b/graphics/door_anims/frame_83545A8_1.png deleted file mode 100644 index 46de34aaf..000000000 Binary files a/graphics/door_anims/frame_83545A8_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_83545A8_2.png b/graphics/door_anims/frame_83545A8_2.png deleted file mode 100644 index 1ca78103b..000000000 Binary files a/graphics/door_anims/frame_83545A8_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_83545A8_3.png b/graphics/door_anims/frame_83545A8_3.png deleted file mode 100644 index f2de21913..000000000 Binary files a/graphics/door_anims/frame_83545A8_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_8354748_1.png b/graphics/door_anims/frame_8354748_1.png deleted file mode 100644 index fb3d4bbcd..000000000 Binary files a/graphics/door_anims/frame_8354748_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_8354748_2.png b/graphics/door_anims/frame_8354748_2.png deleted file mode 100644 index f6b3644b8..000000000 Binary files a/graphics/door_anims/frame_8354748_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_8354748_3.png b/graphics/door_anims/frame_8354748_3.png deleted file mode 100644 index eec2567a1..000000000 Binary files a/graphics/door_anims/frame_8354748_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_83548E8_1.png b/graphics/door_anims/frame_83548E8_1.png deleted file mode 100644 index 22566a901..000000000 Binary files a/graphics/door_anims/frame_83548E8_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_83548E8_2.png b/graphics/door_anims/frame_83548E8_2.png deleted file mode 100644 index 35f772671..000000000 Binary files a/graphics/door_anims/frame_83548E8_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_83548E8_3.png b/graphics/door_anims/frame_83548E8_3.png deleted file mode 100644 index 226fe6bb0..000000000 Binary files a/graphics/door_anims/frame_83548E8_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_8354A88_1.png b/graphics/door_anims/frame_8354A88_1.png deleted file mode 100644 index 157c348a8..000000000 Binary files a/graphics/door_anims/frame_8354A88_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_8354A88_2.png b/graphics/door_anims/frame_8354A88_2.png deleted file mode 100644 index 72e919a2d..000000000 Binary files a/graphics/door_anims/frame_8354A88_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_8354A88_3.png b/graphics/door_anims/frame_8354A88_3.png deleted file mode 100644 index e5c635d9c..000000000 Binary files a/graphics/door_anims/frame_8354A88_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_8354C28_1.png b/graphics/door_anims/frame_8354C28_1.png deleted file mode 100644 index cd6285a64..000000000 Binary files a/graphics/door_anims/frame_8354C28_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_8354C28_2.png b/graphics/door_anims/frame_8354C28_2.png deleted file mode 100644 index 11a1c36e0..000000000 Binary files a/graphics/door_anims/frame_8354C28_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_8354C28_3.png b/graphics/door_anims/frame_8354C28_3.png deleted file mode 100644 index c0d626d06..000000000 Binary files a/graphics/door_anims/frame_8354C28_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_8354F48_1.png b/graphics/door_anims/frame_8354F48_1.png deleted file mode 100644 index a1e6eace1..000000000 Binary files a/graphics/door_anims/frame_8354F48_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_8354F48_2.png b/graphics/door_anims/frame_8354F48_2.png deleted file mode 100644 index dd1e0e15c..000000000 Binary files a/graphics/door_anims/frame_8354F48_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_8354F48_3.png b/graphics/door_anims/frame_8354F48_3.png deleted file mode 100644 index cf7978637..000000000 Binary files a/graphics/door_anims/frame_8354F48_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_8355268_1.png b/graphics/door_anims/frame_8355268_1.png deleted file mode 100644 index d752d94ef..000000000 Binary files a/graphics/door_anims/frame_8355268_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_8355268_2.png b/graphics/door_anims/frame_8355268_2.png deleted file mode 100644 index 237c46cb9..000000000 Binary files a/graphics/door_anims/frame_8355268_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_8355268_3.png b/graphics/door_anims/frame_8355268_3.png deleted file mode 100644 index 19a595cd0..000000000 Binary files a/graphics/door_anims/frame_8355268_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_8355588_1.png b/graphics/door_anims/frame_8355588_1.png deleted file mode 100644 index b8ee1eb42..000000000 Binary files a/graphics/door_anims/frame_8355588_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_8355588_2.png b/graphics/door_anims/frame_8355588_2.png deleted file mode 100644 index fff93e91a..000000000 Binary files a/graphics/door_anims/frame_8355588_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_8355588_3.png b/graphics/door_anims/frame_8355588_3.png deleted file mode 100644 index 0c1b9c03c..000000000 Binary files a/graphics/door_anims/frame_8355588_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_8359588_1.png b/graphics/door_anims/frame_8359588_1.png deleted file mode 100644 index 53732f512..000000000 Binary files a/graphics/door_anims/frame_8359588_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_8359588_2.png b/graphics/door_anims/frame_8359588_2.png deleted file mode 100644 index 53732f512..000000000 Binary files a/graphics/door_anims/frame_8359588_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_8359788_1.png b/graphics/door_anims/frame_8359788_1.png deleted file mode 100644 index 8f1168aea..000000000 Binary files a/graphics/door_anims/frame_8359788_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_8359788_2.png b/graphics/door_anims/frame_8359788_2.png deleted file mode 100644 index 041e6293f..000000000 Binary files a/graphics/door_anims/frame_8359788_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_8359788_3.png b/graphics/door_anims/frame_8359788_3.png deleted file mode 100644 index f103be5a1..000000000 Binary files a/graphics/door_anims/frame_8359788_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_8359788_4.png b/graphics/door_anims/frame_8359788_4.png deleted file mode 100644 index 36f6cf135..000000000 Binary files a/graphics/door_anims/frame_8359788_4.png and /dev/null differ diff --git a/graphics/door_anims/frame_8359988_1.png b/graphics/door_anims/frame_8359988_1.png deleted file mode 100644 index 75a43b9fb..000000000 Binary files a/graphics/door_anims/frame_8359988_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_8359988_2.png b/graphics/door_anims/frame_8359988_2.png deleted file mode 100644 index a1f6f806c..000000000 Binary files a/graphics/door_anims/frame_8359988_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_8359988_3.png b/graphics/door_anims/frame_8359988_3.png deleted file mode 100644 index d7abc49ba..000000000 Binary files a/graphics/door_anims/frame_8359988_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_8359988_4.png b/graphics/door_anims/frame_8359988_4.png deleted file mode 100644 index 1af99db23..000000000 Binary files a/graphics/door_anims/frame_8359988_4.png and /dev/null differ diff --git a/graphics/door_anims/frame_8359B88_1.png b/graphics/door_anims/frame_8359B88_1.png deleted file mode 100644 index a5208db18..000000000 Binary files a/graphics/door_anims/frame_8359B88_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_8359B88_2.png b/graphics/door_anims/frame_8359B88_2.png deleted file mode 100644 index e3ecef0fe..000000000 Binary files a/graphics/door_anims/frame_8359B88_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_8359B88_3.png b/graphics/door_anims/frame_8359B88_3.png deleted file mode 100644 index d4be7a81f..000000000 Binary files a/graphics/door_anims/frame_8359B88_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_8359B88_4.png b/graphics/door_anims/frame_8359B88_4.png deleted file mode 100644 index 4ba80f998..000000000 Binary files a/graphics/door_anims/frame_8359B88_4.png and /dev/null differ diff --git a/graphics/door_anims/frame_8359CA8_1.png b/graphics/door_anims/frame_8359CA8_1.png deleted file mode 100644 index c0913878b..000000000 Binary files a/graphics/door_anims/frame_8359CA8_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_8359CA8_2.png b/graphics/door_anims/frame_8359CA8_2.png deleted file mode 100644 index 800bb92c4..000000000 Binary files a/graphics/door_anims/frame_8359CA8_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_8359CA8_3.png b/graphics/door_anims/frame_8359CA8_3.png deleted file mode 100644 index e2f16ef25..000000000 Binary files a/graphics/door_anims/frame_8359CA8_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_8359FC8_1.png b/graphics/door_anims/frame_8359FC8_1.png deleted file mode 100644 index 9428b111a..000000000 Binary files a/graphics/door_anims/frame_8359FC8_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_8359FC8_2.png b/graphics/door_anims/frame_8359FC8_2.png deleted file mode 100644 index 484eefd83..000000000 Binary files a/graphics/door_anims/frame_8359FC8_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_8359FC8_3.png b/graphics/door_anims/frame_8359FC8_3.png deleted file mode 100644 index 467c04f7f..000000000 Binary files a/graphics/door_anims/frame_8359FC8_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_835A168_1.png b/graphics/door_anims/frame_835A168_1.png deleted file mode 100644 index f23474512..000000000 Binary files a/graphics/door_anims/frame_835A168_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_835A168_2.png b/graphics/door_anims/frame_835A168_2.png deleted file mode 100644 index adcb7ce12..000000000 Binary files a/graphics/door_anims/frame_835A168_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_835A168_3.png b/graphics/door_anims/frame_835A168_3.png deleted file mode 100644 index e87798cd2..000000000 Binary files a/graphics/door_anims/frame_835A168_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_835A308_1.png b/graphics/door_anims/frame_835A308_1.png deleted file mode 100644 index c11c06156..000000000 Binary files a/graphics/door_anims/frame_835A308_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_835A308_2.png b/graphics/door_anims/frame_835A308_2.png deleted file mode 100644 index 3d825f587..000000000 Binary files a/graphics/door_anims/frame_835A308_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_835A308_3.png b/graphics/door_anims/frame_835A308_3.png deleted file mode 100644 index e87798cd2..000000000 Binary files a/graphics/door_anims/frame_835A308_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_835A4A8_1.png b/graphics/door_anims/frame_835A4A8_1.png deleted file mode 100644 index 9428b111a..000000000 Binary files a/graphics/door_anims/frame_835A4A8_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_835A4A8_2.png b/graphics/door_anims/frame_835A4A8_2.png deleted file mode 100644 index 484eefd83..000000000 Binary files a/graphics/door_anims/frame_835A4A8_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_835A4A8_3.png b/graphics/door_anims/frame_835A4A8_3.png deleted file mode 100644 index 467c04f7f..000000000 Binary files a/graphics/door_anims/frame_835A4A8_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_835A648_1.png b/graphics/door_anims/frame_835A648_1.png deleted file mode 100644 index 7cac61ead..000000000 Binary files a/graphics/door_anims/frame_835A648_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_835A648_2.png b/graphics/door_anims/frame_835A648_2.png deleted file mode 100644 index 618b958b9..000000000 Binary files a/graphics/door_anims/frame_835A648_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_835A648_3.png b/graphics/door_anims/frame_835A648_3.png deleted file mode 100644 index 28942389b..000000000 Binary files a/graphics/door_anims/frame_835A648_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_835A7E8_1.png b/graphics/door_anims/frame_835A7E8_1.png deleted file mode 100644 index 2b51bba5f..000000000 Binary files a/graphics/door_anims/frame_835A7E8_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_835A7E8_2.png b/graphics/door_anims/frame_835A7E8_2.png deleted file mode 100644 index b29303c1b..000000000 Binary files a/graphics/door_anims/frame_835A7E8_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_835A7E8_3.png b/graphics/door_anims/frame_835A7E8_3.png deleted file mode 100644 index 55e1b2db9..000000000 Binary files a/graphics/door_anims/frame_835A7E8_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_835A988_1.png b/graphics/door_anims/frame_835A988_1.png deleted file mode 100644 index 9428b111a..000000000 Binary files a/graphics/door_anims/frame_835A988_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_835A988_2.png b/graphics/door_anims/frame_835A988_2.png deleted file mode 100644 index 484eefd83..000000000 Binary files a/graphics/door_anims/frame_835A988_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_835A988_3.png b/graphics/door_anims/frame_835A988_3.png deleted file mode 100644 index 467c04f7f..000000000 Binary files a/graphics/door_anims/frame_835A988_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_835AB28_1.png b/graphics/door_anims/frame_835AB28_1.png deleted file mode 100644 index 73f90730c..000000000 Binary files a/graphics/door_anims/frame_835AB28_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_835AB28_2.png b/graphics/door_anims/frame_835AB28_2.png deleted file mode 100644 index 6d8d9c305..000000000 Binary files a/graphics/door_anims/frame_835AB28_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_835AB28_3.png b/graphics/door_anims/frame_835AB28_3.png deleted file mode 100644 index b3d9eada1..000000000 Binary files a/graphics/door_anims/frame_835AB28_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_835AE48_1.png b/graphics/door_anims/frame_835AE48_1.png deleted file mode 100644 index 6d9956306..000000000 Binary files a/graphics/door_anims/frame_835AE48_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_835AE48_2.png b/graphics/door_anims/frame_835AE48_2.png deleted file mode 100644 index 62b93f79e..000000000 Binary files a/graphics/door_anims/frame_835AE48_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_835AE48_3.png b/graphics/door_anims/frame_835AE48_3.png deleted file mode 100644 index a98073235..000000000 Binary files a/graphics/door_anims/frame_835AE48_3.png and /dev/null differ diff --git a/graphics/door_anims/frame_835B168_1.png b/graphics/door_anims/frame_835B168_1.png deleted file mode 100644 index 7c75282d6..000000000 Binary files a/graphics/door_anims/frame_835B168_1.png and /dev/null differ diff --git a/graphics/door_anims/frame_835B168_2.png b/graphics/door_anims/frame_835B168_2.png deleted file mode 100644 index 283aceba5..000000000 Binary files a/graphics/door_anims/frame_835B168_2.png and /dev/null differ diff --git a/graphics/door_anims/frame_835B168_3.png b/graphics/door_anims/frame_835B168_3.png deleted file mode 100644 index 457a26c29..000000000 Binary files a/graphics/door_anims/frame_835B168_3.png and /dev/null differ diff --git a/graphics/door_anims/fuchsia.png b/graphics/door_anims/fuchsia.png new file mode 100644 index 000000000..ce1ef667d Binary files /dev/null and b/graphics/door_anims/fuchsia.png differ diff --git a/graphics/door_anims/general.png b/graphics/door_anims/general.png new file mode 100644 index 000000000..44b047626 Binary files /dev/null and b/graphics/door_anims/general.png differ diff --git a/graphics/door_anims/hideout_elevator.png b/graphics/door_anims/hideout_elevator.png new file mode 100644 index 000000000..5aedc200d Binary files /dev/null and b/graphics/door_anims/hideout_elevator.png differ diff --git a/graphics/door_anims/joyful_game_corner.png b/graphics/door_anims/joyful_game_corner.png new file mode 100644 index 000000000..c9ae5f3bf Binary files /dev/null and b/graphics/door_anims/joyful_game_corner.png differ diff --git a/graphics/door_anims/lavender.png b/graphics/door_anims/lavender.png new file mode 100644 index 000000000..a650aaf27 Binary files /dev/null and b/graphics/door_anims/lavender.png differ diff --git a/graphics/door_anims/oaks_lab.png b/graphics/door_anims/oaks_lab.png new file mode 100644 index 000000000..7e49b6266 Binary files /dev/null and b/graphics/door_anims/oaks_lab.png differ diff --git a/graphics/door_anims/one_island_poke_center.png b/graphics/door_anims/one_island_poke_center.png new file mode 100644 index 000000000..d651b5d40 Binary files /dev/null and b/graphics/door_anims/one_island_poke_center.png differ diff --git a/graphics/door_anims/pallet.png b/graphics/door_anims/pallet.png new file mode 100644 index 000000000..7882f461d Binary files /dev/null and b/graphics/door_anims/pallet.png differ diff --git a/graphics/door_anims/pewter.png b/graphics/door_anims/pewter.png new file mode 100644 index 000000000..35dc63e92 Binary files /dev/null and b/graphics/door_anims/pewter.png differ diff --git a/graphics/door_anims/pokemon_fan_club.png b/graphics/door_anims/pokemon_fan_club.png new file mode 100644 index 000000000..cd04984cb Binary files /dev/null and b/graphics/door_anims/pokemon_fan_club.png differ diff --git a/graphics/door_anims/rocket_warehouse.png b/graphics/door_anims/rocket_warehouse.png new file mode 100644 index 000000000..6e1037ee2 Binary files /dev/null and b/graphics/door_anims/rocket_warehouse.png differ diff --git a/graphics/door_anims/safari_zone.png b/graphics/door_anims/safari_zone.png new file mode 100644 index 000000000..a713663fd Binary files /dev/null and b/graphics/door_anims/safari_zone.png differ diff --git a/graphics/door_anims/saffron.png b/graphics/door_anims/saffron.png new file mode 100644 index 000000000..21962600b Binary files /dev/null and b/graphics/door_anims/saffron.png differ diff --git a/graphics/door_anims/sevii_123.png b/graphics/door_anims/sevii_123.png new file mode 100644 index 000000000..e49c7c3db Binary files /dev/null and b/graphics/door_anims/sevii_123.png differ diff --git a/graphics/door_anims/sevii_45.png b/graphics/door_anims/sevii_45.png new file mode 100644 index 000000000..e8f7d9c7b Binary files /dev/null and b/graphics/door_anims/sevii_45.png differ diff --git a/graphics/door_anims/sevii_67.png b/graphics/door_anims/sevii_67.png new file mode 100644 index 000000000..e146010ab Binary files /dev/null and b/graphics/door_anims/sevii_67.png differ diff --git a/graphics/door_anims/silph_co.png b/graphics/door_anims/silph_co.png new file mode 100644 index 000000000..cc50aeaeb Binary files /dev/null and b/graphics/door_anims/silph_co.png differ diff --git a/graphics/door_anims/silph_co_elevator.png b/graphics/door_anims/silph_co_elevator.png new file mode 100644 index 000000000..11b1981b0 Binary files /dev/null and b/graphics/door_anims/silph_co_elevator.png differ diff --git a/graphics/door_anims/sliding_double.png b/graphics/door_anims/sliding_double.png new file mode 100644 index 000000000..b07c2a619 Binary files /dev/null and b/graphics/door_anims/sliding_double.png differ diff --git a/graphics/door_anims/sliding_single.png b/graphics/door_anims/sliding_single.png new file mode 100644 index 000000000..b57a39158 Binary files /dev/null and b/graphics/door_anims/sliding_single.png differ diff --git a/graphics/door_anims/ss_anne.png b/graphics/door_anims/ss_anne.png new file mode 100644 index 000000000..1a5f91bb2 Binary files /dev/null and b/graphics/door_anims/ss_anne.png differ diff --git a/graphics/door_anims/teleporter.png b/graphics/door_anims/teleporter.png new file mode 100644 index 000000000..f28d6531c Binary files /dev/null and b/graphics/door_anims/teleporter.png differ diff --git a/graphics/door_anims/trainer_tower_lobby_elevator.png b/graphics/door_anims/trainer_tower_lobby_elevator.png new file mode 100644 index 000000000..ed1d5305b Binary files /dev/null and b/graphics/door_anims/trainer_tower_lobby_elevator.png differ diff --git a/graphics/door_anims/trainer_tower_roof_elevator.png b/graphics/door_anims/trainer_tower_roof_elevator.png new file mode 100644 index 000000000..87111311b Binary files /dev/null and b/graphics/door_anims/trainer_tower_roof_elevator.png differ diff --git a/graphics/door_anims/unused_bottom.png b/graphics/door_anims/unused_bottom.png new file mode 100644 index 000000000..677d45e81 Binary files /dev/null and b/graphics/door_anims/unused_bottom.png differ diff --git a/graphics/door_anims/unused_midbottom.png b/graphics/door_anims/unused_midbottom.png new file mode 100644 index 000000000..4b778237c Binary files /dev/null and b/graphics/door_anims/unused_midbottom.png differ diff --git a/graphics/door_anims/unused_midtop.png b/graphics/door_anims/unused_midtop.png new file mode 100644 index 000000000..b3393ad3b Binary files /dev/null and b/graphics/door_anims/unused_midtop.png differ diff --git a/graphics/door_anims/unused_top.png b/graphics/door_anims/unused_top.png new file mode 100644 index 000000000..86646725a Binary files /dev/null and b/graphics/door_anims/unused_top.png differ diff --git a/graphics/door_anims/vermilion.png b/graphics/door_anims/vermilion.png new file mode 100644 index 000000000..374552c1a Binary files /dev/null and b/graphics/door_anims/vermilion.png differ diff --git a/graphics/door_anims/viridian.png b/graphics/door_anims/viridian.png new file mode 100644 index 000000000..28e3ca689 Binary files /dev/null and b/graphics/door_anims/viridian.png differ diff --git a/graphics/link_games/unk_846BA00.bin b/graphics/link_games/pkmnjump_bg.bin similarity index 100% rename from graphics/link_games/unk_846BA00.bin rename to graphics/link_games/pkmnjump_bg.bin diff --git a/graphics/link_games/unk_846B7B4.pal b/graphics/link_games/pkmnjump_bg.pal similarity index 100% rename from graphics/link_games/unk_846B7B4.pal rename to graphics/link_games/pkmnjump_bg.pal diff --git a/graphics/link_games/unk_846B7D4.png b/graphics/link_games/pkmnjump_bg.png similarity index 100% rename from graphics/link_games/unk_846B7D4.png rename to graphics/link_games/pkmnjump_bg.png diff --git a/graphics/link_games/unk_846D9E4.pal b/graphics/link_games/pkmnjump_pal1.pal similarity index 100% rename from graphics/link_games/unk_846D9E4.pal rename to graphics/link_games/pkmnjump_pal1.pal diff --git a/graphics/link_games/unk_846DA04.pal b/graphics/link_games/pkmnjump_pal2.pal similarity index 100% rename from graphics/link_games/unk_846DA04.pal rename to graphics/link_games/pkmnjump_pal2.pal diff --git a/graphics/link_games/unk_846B794.pal b/graphics/link_games/pkmnjump_pal3.pal similarity index 100% rename from graphics/link_games/unk_846B794.pal rename to graphics/link_games/pkmnjump_pal3.pal diff --git a/graphics/link_games/unk_846D3A8.bin b/graphics/link_games/pkmnjump_results.bin similarity index 100% rename from graphics/link_games/unk_846D3A8.bin rename to graphics/link_games/pkmnjump_results.bin diff --git a/graphics/link_games/unk_846C8D8.pal b/graphics/link_games/pkmnjump_results.pal similarity index 100% rename from graphics/link_games/unk_846C8D8.pal rename to graphics/link_games/pkmnjump_results.pal diff --git a/graphics/link_games/unk_846C8F8.png b/graphics/link_games/pkmnjump_results.png similarity index 100% rename from graphics/link_games/unk_846C8F8.png rename to graphics/link_games/pkmnjump_results.png diff --git a/graphics/link_games/unk_846DA24.png b/graphics/link_games/pkmnjump_rope1.png similarity index 100% rename from graphics/link_games/unk_846DA24.png rename to graphics/link_games/pkmnjump_rope1.png diff --git a/graphics/link_games/unk_846DB44.png b/graphics/link_games/pkmnjump_rope2.png similarity index 100% rename from graphics/link_games/unk_846DB44.png rename to graphics/link_games/pkmnjump_rope2.png diff --git a/graphics/link_games/unk_846DD18.png b/graphics/link_games/pkmnjump_rope3.png similarity index 100% rename from graphics/link_games/unk_846DD18.png rename to graphics/link_games/pkmnjump_rope3.png diff --git a/graphics/link_games/unk_846DE48.png b/graphics/link_games/pkmnjump_rope4.png similarity index 100% rename from graphics/link_games/unk_846DE48.png rename to graphics/link_games/pkmnjump_rope4.png diff --git a/graphics/link_games/unk_846DF44.png b/graphics/link_games/pkmnjump_star.png similarity index 100% rename from graphics/link_games/unk_846DF44.png rename to graphics/link_games/pkmnjump_star.png diff --git a/graphics/link_games/unk_846C520.bin b/graphics/link_games/pkmnjump_venusaur.bin similarity index 100% rename from graphics/link_games/unk_846C520.bin rename to graphics/link_games/pkmnjump_venusaur.bin diff --git a/graphics/link_games/unk_846BBB0.pal b/graphics/link_games/pkmnjump_venusaur.pal similarity index 100% rename from graphics/link_games/unk_846BBB0.pal rename to graphics/link_games/pkmnjump_venusaur.pal diff --git a/graphics/link_games/unk_846BBD0.png b/graphics/link_games/pkmnjump_venusaur.png similarity index 100% rename from graphics/link_games/unk_846BBD0.png rename to graphics/link_games/pkmnjump_venusaur.png diff --git a/graphics/pokemon/circled_question_mark/circled/back.png b/graphics/pokemon/question_mark/circled/back.png similarity index 100% rename from graphics/pokemon/circled_question_mark/circled/back.png rename to graphics/pokemon/question_mark/circled/back.png diff --git a/graphics/pokemon/circled_question_mark/circled/front.png b/graphics/pokemon/question_mark/circled/front.png similarity index 100% rename from graphics/pokemon/circled_question_mark/circled/front.png rename to graphics/pokemon/question_mark/circled/front.png diff --git a/graphics/pokemon/circled_question_mark/circled/normal.pal b/graphics/pokemon/question_mark/circled/normal.pal similarity index 100% rename from graphics/pokemon/circled_question_mark/circled/normal.pal rename to graphics/pokemon/question_mark/circled/normal.pal diff --git a/graphics/pokemon/circled_question_mark/circled/shiny.pal b/graphics/pokemon/question_mark/circled/shiny.pal similarity index 100% rename from graphics/pokemon/circled_question_mark/circled/shiny.pal rename to graphics/pokemon/question_mark/circled/shiny.pal diff --git a/graphics/pokemon/circled_question_mark/double/back.png b/graphics/pokemon/question_mark/double/back.png similarity index 100% rename from graphics/pokemon/circled_question_mark/double/back.png rename to graphics/pokemon/question_mark/double/back.png diff --git a/graphics/pokemon/circled_question_mark/double/front.png b/graphics/pokemon/question_mark/double/front.png similarity index 100% rename from graphics/pokemon/circled_question_mark/double/front.png rename to graphics/pokemon/question_mark/double/front.png diff --git a/graphics/pokemon/circled_question_mark/double/normal.pal b/graphics/pokemon/question_mark/double/normal.pal similarity index 100% rename from graphics/pokemon/circled_question_mark/double/normal.pal rename to graphics/pokemon/question_mark/double/normal.pal diff --git a/graphics/pokemon/circled_question_mark/double/shiny.pal b/graphics/pokemon/question_mark/double/shiny.pal similarity index 100% rename from graphics/pokemon/circled_question_mark/double/shiny.pal rename to graphics/pokemon/question_mark/double/shiny.pal diff --git a/graphics/pokemon/circled_question_mark/footprint.png b/graphics/pokemon/question_mark/footprint.png similarity index 100% rename from graphics/pokemon/circled_question_mark/footprint.png rename to graphics/pokemon/question_mark/footprint.png diff --git a/graphics/pokemon/circled_question_mark/icon.png b/graphics/pokemon/question_mark/icon.png similarity index 100% rename from graphics/pokemon/circled_question_mark/icon.png rename to graphics/pokemon/question_mark/icon.png diff --git a/graphics/trainer_card/unk_83CC984.bin b/graphics/trainer_card/back.bin similarity index 100% rename from graphics/trainer_card/unk_83CC984.bin rename to graphics/trainer_card/back.bin diff --git a/graphics/trainer_card/unk_83CC8A8.bin b/graphics/trainer_card/back_hoenn.bin similarity index 100% rename from graphics/trainer_card/unk_83CC8A8.bin rename to graphics/trainer_card/back_hoenn.bin diff --git a/graphics/trainer_card/unk_83CCEC8.bin b/graphics/trainer_card/bg.bin similarity index 100% rename from graphics/trainer_card/unk_83CCEC8.bin rename to graphics/trainer_card/bg.bin diff --git a/graphics/trainer_card/unk_83CCE30.bin b/graphics/trainer_card/bg_hoenn.bin similarity index 100% rename from graphics/trainer_card/unk_83CCE30.bin rename to graphics/trainer_card/bg_hoenn.bin diff --git a/graphics/trainer_card/unk_83CC6F0.bin b/graphics/trainer_card/front.bin similarity index 100% rename from graphics/trainer_card/unk_83CC6F0.bin rename to graphics/trainer_card/front.bin diff --git a/graphics/trainer_card/unk_83CC4DC.bin b/graphics/trainer_card/front_hoenn.bin similarity index 100% rename from graphics/trainer_card/unk_83CC4DC.bin rename to graphics/trainer_card/front_hoenn.bin diff --git a/graphics/trainer_card/unk_83CCAB0.bin b/graphics/trainer_card/front_hoenn_link.bin similarity index 100% rename from graphics/trainer_card/unk_83CCAB0.bin rename to graphics/trainer_card/front_hoenn_link.bin diff --git a/graphics/trainer_card/unk_83CCCA4.bin b/graphics/trainer_card/front_link.bin similarity index 100% rename from graphics/trainer_card/unk_83CCCA4.bin rename to graphics/trainer_card/front_link.bin diff --git a/graphics/trainer_card/unk_83CD300.pal b/graphics/trainer_card/gold.pal similarity index 100% rename from graphics/trainer_card/unk_83CD300.pal rename to graphics/trainer_card/gold.pal diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index cd74933aa..33247d675 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -110,10 +110,10 @@ $(INTERFACEGFXDIR)/menu.gbapal: $(INTERFACEGFXDIR)/menu_0.gbapal \ $(INTERFACEGFXDIR)/menu_1.gbapal @cat $^ >$@ -$(BTLANMSPRGFXDIR)/010.4bpp: $(BTLANMSPRGFXDIR)/010_0.4bpp \ - $(BTLANMSPRGFXDIR)/010_1.4bpp \ - $(BTLANMSPRGFXDIR)/010_2.4bpp \ - $(BTLANMSPRGFXDIR)/010_3.4bpp +$(BTLANMSPRGFXDIR)/ice_cube.4bpp: $(BTLANMSPRGFXDIR)/ice_cube_0.4bpp \ + $(BTLANMSPRGFXDIR)/ice_cube_1.4bpp \ + $(BTLANMSPRGFXDIR)/ice_cube_2.4bpp \ + $(BTLANMSPRGFXDIR)/ice_cube_3.4bpp @cat $^ >$@ $(UNUSEDGFXDIR)/obi_palpak1.gbapal: $(UNUSEDGFXDIR)/old_pal1.gbapal \ @@ -172,23 +172,23 @@ $(UNUSEDGFXDIR)/old_contest_2.4bpp: $(UNUSEDGFXDIR)/old_contest_2_1.4bpp \ $(UNKNOWNGFXDIR)/unknown_D196E4.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 36 -$(BTLANMSPRGFXDIR)/141.4bpp: $(BTLANMSPRGFXDIR)/141_0.4bpp \ - $(BTLANMSPRGFXDIR)/141_1.4bpp \ - $(BTLANMSPRGFXDIR)/141_2.4bpp \ - $(BTLANMSPRGFXDIR)/141_3.4bpp \ - $(BTLANMSPRGFXDIR)/141_4.4bpp +$(BTLANMSPRGFXDIR)/ice_crystals.4bpp: $(BTLANMSPRGFXDIR)/ice_crystals_0.4bpp \ + $(BTLANMSPRGFXDIR)/ice_crystals_1.4bpp \ + $(BTLANMSPRGFXDIR)/ice_crystals_2.4bpp \ + $(BTLANMSPRGFXDIR)/ice_crystals_3.4bpp \ + $(BTLANMSPRGFXDIR)/ice_crystals_4.4bpp @cat $^ >$@ -$(BTLANMSPRGFXDIR)/074.4bpp: $(BTLANMSPRGFXDIR)/074_0.4bpp \ - $(BTLANMSPRGFXDIR)/074_1.4bpp +$(BTLANMSPRGFXDIR)/mud_sand.4bpp: $(BTLANMSPRGFXDIR)/mud_sand_0.4bpp \ + $(BTLANMSPRGFXDIR)/mud_sand_1.4bpp @cat $^ >$@ -$(BTLANMSPRGFXDIR)/159.4bpp: $(BTLANMSPRGFXDIR)/159_0.4bpp \ - $(BTLANMSPRGFXDIR)/159_1.4bpp +$(BTLANMSPRGFXDIR)/flower.4bpp: $(BTLANMSPRGFXDIR)/flower_0.4bpp \ + $(BTLANMSPRGFXDIR)/flower_1.4bpp @cat $^ >$@ -$(BTLANMSPRGFXDIR)/001.4bpp: $(BTLANMSPRGFXDIR)/001_0.4bpp \ - $(BTLANMSPRGFXDIR)/001_1.4bpp +$(BTLANMSPRGFXDIR)/spark.4bpp: $(BTLANMSPRGFXDIR)/spark_0.4bpp \ + $(BTLANMSPRGFXDIR)/spark_1.4bpp @cat $^ >$@ $(MASKSGFXDIR)/unknown_D2EC24.4bpp: %.4bpp: %.png diff --git a/include/AgbRfu_LinkManager.h b/include/AgbRfu_LinkManager.h new file mode 100644 index 000000000..53c623e5a --- /dev/null +++ b/include/AgbRfu_LinkManager.h @@ -0,0 +1,195 @@ +#ifndef GUARD_LINKMANAGER_H +#define GUARD_LINKMANAGER_H + +//----------------------------------------------------------------- +// Constant definition +//----------------------------------------------------------------- + +// Link Manager operation mode (specified by u8 parent_child argument of rfu_LMAN_establishConnection) +//#define MODE_CHILD 0 // Start Link Manager in CHILD mode +//#define MODE_PARENT 1 // Start Link Manager in PARENT mode +//Note: This value uses the item defined by AgbRFU_LL.h. +#define MODE_P_C_SWITCH 2 // Start Link Manager in parent-child switching mode. + +// Value of lman.p_c_switch_flag +#define PCSWITCH_1ST_SC_START 0x01 +#define PCSWITCH_1ST_SC 0x02 +#define PCSWITCH_2ND_SP_START 0x03 +#define PCSWITCH_2ND_SP 0x04 +#define PCSWITCH_3RD_SC_START 0x05 +#define PCSWITCH_3RD_SC 0x06 +#define PCSWITCH_CP 0x07 +#define PCSWITCH_SC_LOCK 0x08 +#define PCSWITCH_FORCE_SP_START 0x09 + +// Period for which parent-child switching search specified +#define PCSWITCH_ALL_PERIOD 180 // Entire cycle 180 frames +#define PCSWITCH_SP_PERIOD 40 // Child period 40 frames + +// Error code returned by Link Manager API (rfu_LMAN_...return value of function) +#define LMAN_ERROR_MANAGER_BUSY 1 // Link Manager is already running. +#define LMAN_ERROR_AGB_CLK_SLAVE 2 // AGB is clock slave so link manager cannot run. +#define LMAN_ERROR_PID_NOT_FOUND 3 // Parent device information of the specified PID does not exist in rfuLinkStatus->partner[0-3]. +#define LMAN_ERROR_ILLEGAL_PARAMETER 4 // Specified argument is unusual. +#define LMAN_ERROR_NOW_LINK_RECOVERY 5 // New settings were ignored because link recovery was under way when current link recovery was ON and new settings turned link recovery OFF. +#define LMAN_ERROR_NOW_COMMUNICATION 6 // New settings were ignored because currently communicating with NI. +#define LMAN_ERROR_NOW_SEARCH_PARENT 7 // Parent search currently under way, so ignore new setting. + +// Details of messages and the related parameters returned by the u8 msg, u8 param_count, and lman.param[0-1] arguments of the LMAN callback generated by the operation of the Link Manager. +// msg name msg No. param qty param[0] param[1] Description +#define LMAN_MSG_INITIALIZE_COMPLETED 0x00 // 0 - - Generated when RFU reset and initial settings are completed +#define LMAN_MSG_NEW_CHILD_CONNECT_DETECTED 0x10 // 1 Bit indicating slot - Generated when new child device connection was detected at RFU level. +// with detected connection +#define LMAN_MSG_NEW_CHILD_CONNECT_ACCEPTED 0x11 // 1 Bit indicating slot - Generated when game identification information from child device connected at RFU level is received and accepted (game serial numbers match). +// where connection was accepted +#define LMAN_MSG_NEW_CHILD_CONNECT_REJECTED 0x12 // 1 Bit indicating slot - Generated when the connection from the child device connected at RFU level is rejected (game identification information reception failed or game serial numbers do not match). +// where connection was rejected +#define LMAN_MSG_SEARCH_CHILD_PERIOD_EXPIRED 0x13 // 0 - - Generated when SearchChild operation time expires. +#define LMAN_MSG_END_WAIT_CHILD_NAME 0x14 // 0 - - Generated when reception of game identification information from all child devices completes after the SearchChild operation time expires. +#define LMAN_MSG_PARENT_FOUND 0x20 // 1 Bit indicating - Generated when valid (game serial numbers match) parent devices are found during SearchParent. +// rfuLinkStatus->partner[x] index number storing the valid parent devices (game serial number matches) from among the discovered parent devices. +#define LMAN_MSG_SEARCH_PARENT_PERIOD_EXPIRED 0x21 // 0 - - Generated when SearchParent time expires. +#define LMAN_MSG_CONNECT_PARENT_SUCCESSED 0x22 // 1 Connected slot number - Generated when connection with parent device at RFU level succeeds. +#define LMAN_MSG_CONNECT_PARENT_FAILED 0x23 // 1 Connection failure reason - Generated when connection with parent device at RFU level fails. +#define LMAN_MSG_CHILD_NAME_SEND_COMPLETED 0x24 // 0 - - Generated when transmission of the child's game identification information to the parent device succeeds after connection with parent device at RFU level succeeds. +#define LMAN_MSG_CHILD_NAME_SEND_FAILED_AND_DISCONNECTED 0x25 // 0 - - Generated when transmission of the child's game identification information to the parent device fails after connection with parent device at RFU level succeeds. +#define LMAN_MSG_LINK_LOSS_DETECTED_AND_DISCONNECTED 0x30 // 1 Bit indicating slot - Generated when a link cut is detected and that slot disconnects. (Generated only when link recovery is OFF.) +// that was disconnected and where link cut was detected but link recover not attempted +#define LMAN_MSG_LINK_LOSS_DETECTED_AND_START_RECOVERY 0x31 // 1 Bit indicating slot - Generated when a link cut is detected and the link recovery process starts. (Generated only when link recovery is ON.) +// where link cut was detected and link recovery was started +#define LMAN_MSG_LINK_RECOVERY_SUCCESSED 0x32 // 1 Bit indicating slot - Generated when link recovery succeeds. (Generated only when link recovery is ON.) +// where link recovery succeeded +#define LMAN_MSG_LINK_RECOVERY_FAILED_AND_DISCONNECTED 0x33 // 1 Bit indicating slot - Generated when link recovery fails and that slot disconnects. (Generated only when link recovery is ON.) +// where link recovery failed and that disconnected +#define LMAN_MSG_LINK_DISCONNECTED_BY_USER 0x40 // 1 Generated on disconnection by execution of rfu_REQ_disconnect by disconnected user. +// Slot indicated in bits *Note: If rfu_REQ_disconnect is used for disconnection during link recovery in the child device, the link recovery is also suspended, but the only message returned is DISCONNECTED_BY_USER. +#define LMAN_MSG_CHANGE_AGB_CLOCK_SLAVE 0x41 // 0 - - Generated when the AGB-RFU clock switches to AGB clock slave after a successful connection or link recovery in the child device. (This message is not generated when the AGB switches to a clock slave when an MSC callback completes.) +#define LMAN_MSG_CHANGE_AGB_CLOCK_MASTER 0x45 // 0 - - Generated when the AGB-RFU intercommunication clock is switched to the AGB clock master in the child device. +#define LMAN_MSG_RFU_POWER_DOWN 0x42 // 0 - - Generated when the RFU enters power conservation mode with rfu_LMAN_powerDownRFU. +#define LMAN_MSG_MANAGER_STOPPED 0x43 // 0 - - Generated when the Link Manager is halted by rfu_LMAN_stopLMAN(0). (This message is not generated during SearchChild, SearchParent, ConnectParent, and LinkRecovery. A message (-PERIOD_EXPIRED, -SUCCESSED, -FAILED) corresponding to the operation completion is returned.) +#define LMAN_MSG_MANAGER_FORCED_STOPPED_AND_RFU_RESET 0x44 // 0 - - Generates when the Link Manager is forcibly halted by rfu_LMAN_stopLMAN(1) and RFU is reset. + +#define LMAN_MSG_RECV_DATA_REQ_COMPLETED 0x50 // 0 - - Generated when the execution of rfu_REQ_recvData completes. (This message is not notification of data reception from a RFU.) + +#define LMAN_MSG_REQ_API_ERROR 0xf0 // 2 REQ_commandID REQ_result REQ-API resulted in error. This message is also generated by an REQ-API executed by either the link manager or the user. +#define LMAN_MSG_WATCH_DOG_TIMER_ERROR 0xf1 // 0 - - Generated when a MSC callback does not occur even after 6 seconds pass when the AGB is the clock slave. +#define LMAN_MSG_CLOCK_SLAVE_MS_CHANGE_ERROR_BY_DMA 0xf2 // 0 - - Generated when an automatic starting DMA, such as HDMA, is issued at the same time the RFU attempts to send notification and to return the AGB to the clock master while the AGB is the clock slave and the exchange of that information (REQ command) fails. +#define LMAN_MSG_LMAN_API_ERROR_RETURN 0xf3 // 1 Return error code - Generated when LMAN-API execution returns an error. +#define LMAN_MSG_RFU_FATAL_ERROR 0xff // 0 - - Generated when the Link Manager cannot recongize a RFU because of the execution of rfu_REQBN_softReset_and_checkID. + + +// Value of lman.childClockSlave_flag +#define RFU_CHILD_CLOCK_SLAVE_OFF 0 // The child device is not operating in AGB clock slave mode. (The child device is in this mode in cases such as when the child has not established a connection or during link recovery.) +#define RFU_CHILD_CLOCK_SLAVE_ON 1 // The child device is operating in AGB clock slave mode. (Child automatically enters this mode when a connection is established.) +#define RFU_CHILD_CLOCK_SLAVE_OFF_REQ 2 // The child device has requested that AGB clock slave mode be halted. + +// State of Link Manager (values of lman.state, lman.next_state) +#define LMAN_STATE_READY 0x00 // Waiting +#define LMAN_STATE_SOFT_RESET_AND_CHECK_ID 0x01 // Requesting execution of rfu_REQBN_softResetAndCheckID (same as below) +#define LMAN_STATE_RESET 0x02 // rfu_REQ_reset +#define LMAN_STATE_CONFIG_SYSTEM 0x03 // rfu_REQ_configSystem +#define LMAN_STATE_CONFIG_GAME_DATA 0x04 // rfu_REQ_configGameData +#define LMAN_STATE_START_SEARCH_CHILD 0x05 // rfu_REQ_startSearchChild +#define LMAN_STATE_POLL_SEARCH_CHILD 0x06 // rfu_REQ_pollSearchChild +#define LMAN_STATE_END_SEARCH_CHILD 0x07 // rfu_REQ_endSearchChild +#define LMAN_STATE_WAIT_RECV_CHILD_NAME 0x08 // Awaiting reception of game name from connected child device. +#define LMAN_STATE_START_SEARCH_PARENT 0x09 // rfu_REQ_startSearchParent +#define LMAN_STATE_POLL_SEARCH_PARENT 0x0a // rfu_REQ_pollSearchParent +#define LMAN_STATE_END_SEARCH_PARENT 0x0b // rfu_REQ_endSearchParent +#define LMAN_STATE_START_CONNECT_PARENT 0x0c // rfu_REQ_startConnectParent +#define LMAN_STATE_POLL_CONNECT_PARENT 0x0d // rfu_REQ_pollConnectParent +#define LMAN_STATE_END_CONNECT_PARENT 0x0e // rfu_REQ_endConnectParent +#define LMAN_STATE_SEND_CHILD_NAME 0x0f // Sending child game name. +#define LMAN_STATE_START_LINK_RECOVERY 0x10 // rfu_REQ_CHILD_startConnectRecovery +#define LMAN_STATE_POLL_LINK_RECOVERY 0x11 // rfu_REQ_CHILD_pollConnectRecovery +#define LMAN_STATE_END_LINK_RECOVERY 0x12 // rfu_REQ_CHILD_endConnectRecovery +#define LMAN_STATE_MS_CHANGE 0x13 // rfu_REQ_changeMasterSlave +#define LMAN_STATE_WAIT_CLOCK_MASTER 0x14 // Waiting for AGB-RFU intercommunication clock to become AGB clock master. +#define LMAN_STATE_STOP_MODE 0x15 // rfu_REQ_stopMode +#define LMAN_STATE_BACK_STATE 0x16 // Following the completion of link-recovery processing, return the Link Manager state to the state present before link-recovery processing was initiated. +#define LMAN_FORCED_STOP_AND_RFU_RESET 0x17 // Attempt to forcibly stop Link Manager using rfu_LMAN_stopLMAN(1). +#define LMAN_STATE_WAIT_CHANGE_CLOCK_MASTER 0x18 // Attempt to return to AGB clock master after child fails in sending game name. + +// Parameter group used in initial setting run of the link manager (rfu_LMAN_initializeRFU) +typedef struct InitializeParametersTag { + // rfu_REQ_configSystem argument + u8 maxMFrame; // Maximum number of times to re-transmit of RFU level + u8 MC_TimerCount; // MC_Timer count (x16.7ms) + u16 availSlot_flag; // Use RFU-API constant "AVAIL_SLOT1-4" to specify the maximum number of child devices (1 - 4) that can be connected to a parent device. + + // rfu_REQB_configGameData argument + u8 mboot_flag; // Multiplayer boot flag + u16 serialNo; // Game serial number + u8 *gameName; // Game name + u8 *userName; // User name + + // ON/OFF flag for parent fast search operation by child. + u8 fastSearchParent_flag; // Flag indicating whether parent fast search operation to be performed by child. + + // Link recovery settings + u8 linkRecovery_enable; // Determines whether or not to execute the link recovery process when a link cut occurs + u16 linkRecovery_period; // Time to spend on the link recovery process (x 16.7 ms) Note: Runs for unlimited time when specifying 0. + + // Setting for NI-type data transmit/receive period + u16 NI_failCounter_limit; // Limit for failCounter during NI type data transmit/receive (x 16.7 ms) Note: Runs for unlimited time when specifying 0. +}INIT_PARAM; + + +// Timer that counts with the V-Blank cycle +typedef struct VblankTimerTag { + u8 active; // Timer ON/OFF (bits 0 - 3 indicate ON/OFF for each connected slot) + u16 count_max; // Maximum count value (x16.7ms) + u16 count[RFU_CHILD_MAX]; // Current count value (x 16.7 ms) for each connected slot +}VBL_TIMER; + +typedef struct linkManagerTag +{ + /* 0x000 */ u8 acceptSlot_flag; + /* 0x001 */ u8 acceptCount; + /* 0x002 */ vu8 childClockSlave_flag; + /* 0x003 */ vu8 parentAck_flag; + /* 0x004 */ u8 state; + /* 0x005 */ u8 next_state; + /* 0x006 */ u8 parent_child; + /* 0x007 */ u8 pcswitch_flag; + /* 0x008 */ u8 RFU_powerOn_flag; + /* 0x009 */ u8 linkRecovery_enable; + /* 0x00a */ u8 linkRecovery_start_flag; + /* 0x00b */ u8 fastSearchParent_flag; + /* 0x00c */ u8 connectSlot_flag_old; + /* 0x00d */ u8 reserveDisconnectSlot_flag; + /* 0x00e */ u8 active; + /* 0x00f */ u8 msc_exe_flag; + /* 0x010 */ u8 child_slot; + /* 0x011 */ u8 state_bak[2]; + /* 0x014 */ u16 param[2]; + /* 0x018 */ u16 NI_failCounter_limit; + /* 0x01a */ u16 connect_period; + /* 0x01c */ u16 pcswitch_period_bak; + /* 0x01e */ u16 work; + /* 0x020 */ u16 *acceptable_serialNo_list; + /* 0x024 */ VBL_TIMER nameAcceptTimer; + /* 0x030 */ VBL_TIMER linkRecoveryTimer; + /* 0x03c */ INIT_PARAM *init_param; + /* 0x040 */ void (*LMAN_callback)(u8, u8); + /* 0x044 */ void (*MSC_callback)(u16); +} LINK_MANAGER; + +extern struct linkManagerTag lman; + +u32 rfu_LMAN_REQBN_softReset_and_checkID(void); +void rfu_LMAN_requestChangeAgbClockMaster(void); +void rfu_LMAN_initializeRFU(INIT_PARAM *init_params); +u8 rfu_LMAN_establishConnection(u8 parent_child, u16 connect_period, u16 name_accept_period, u16 *acceptable_serialNo_list); +void rfu_LMAN_stopManager(bool8 forced_stop_and_RFU_reset_flag); +void rfu_LMAN_setMSCCallback(void (*MSC_callback_p)(u16)); +void rfu_LMAN_REQ_sendData(bool8 clockChangeFlag); +void rfu_LMAN_powerDownRFU(void); +u8 rfu_LMAN_CHILD_connectParent(u16 parentId, u16 connect_period); +u8 rfu_LMAN_setLinkRecovery(u8 enable_flag, u16 recovery_period); +void rfu_LMAN_manager_entity(u32 rand); +void rfu_LMAN_syncVBlank(void); +u8 rfu_LMAN_initializeManager(void (*LMAN_callback_p)(u8, u8), void (*MSC_callback_p)(u16)); +void rfu_LMAN_forceChangeSP(void); + +#endif //GUARD_LINKMANAGER_H diff --git a/include/battle_bg.h b/include/battle_bg.h index 60a6de8f5..518c566dc 100644 --- a/include/battle_bg.h +++ b/include/battle_bg.h @@ -7,7 +7,7 @@ extern const struct BgTemplate gBattleBgTemplates[]; void InitBattleBgsVideo(void); void DrawBattleEntryBackground(void); -void sub_800F6FC(u8 taskId); +void InitLinkBattleVsScreen(u8 taskId); void LoadBattleMenuWindowGfx(void); void LoadBattleTextboxAndBackground(void); void sub_800F324(void); diff --git a/include/battle_message.h b/include/battle_message.h index 2e2baa278..5a16a4250 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -251,4 +251,8 @@ extern const u8 gUnknown_83FE864[]; extern const u8 gText_SafariBalls[]; extern const u8 gText_HighlightRed_Left[]; +extern const u8 gText_Win[]; +extern const u8 gText_Loss[]; +extern const u8 gText_Draw[]; + #endif // GUARD_BATTLE_MESSAGE_H diff --git a/include/battle_records.h b/include/battle_records.h index 97f28a3b0..b66fbd686 100644 --- a/include/battle_records.h +++ b/include/battle_records.h @@ -2,5 +2,6 @@ #define GUARD_BATTLE_RECORDS_H void ClearPlayerLinkBattleRecords(void); +void TryRecordLinkBattleOutcome(s32 battlerId); #endif // GUARD_BATTLE_RECORDS_H diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index 983d9fce6..ab9209d78 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -3,24 +3,6 @@ #include "global.h" -#define NO_ACC_CALC 0xFFFE -#define NO_ACC_CALC_CHECK_LOCK_ON 0xFFFF -#define ACC_CURR_MOVE 0 - -#define ATK48_STAT_NEGATIVE 0x1 -#define ATK48_STAT_BY_TWO 0x2 -#define ATK48_BIT_x4 0x4 -#define ATK48_LOWER_FAIL_CHECK 0x8 - -#define ATK4F_DONT_CHECK_STATUSES 0x80 - -#define ATK80_DMG_CHANGE_SIGN 0 -#define ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP 1 -#define ATK80_DMG_DOUBLED 2 - -#define STAT_CHANGE_BS_PTR 0x1 -#define STAT_CHANGE_NOT_PROTECT_AFFECTED 0x20 - #define STAT_CHANGE_WORKED 0 #define STAT_CHANGE_DIDNT_WORK 1 diff --git a/include/battle_setup.h b/include/battle_setup.h index 2aecbb0a4..9074c94f9 100644 --- a/include/battle_setup.h +++ b/include/battle_setup.h @@ -3,34 +3,33 @@ #include "global.h" -void BattleSetup_StartWildBattle(void); -void BattleSetup_StartRoamerBattle(void); -void ScrSpecial_StartOldManTutorialBattle(void); -void BattleSetup_StartScriptedWildBattle(void); -void ScrSpecial_StartMarowakBattle(void); -void ScrSpecial_StartSouthernIslandBattle(void); -void Special_StartLegendaryBattle(void); -void Special_StartGroudonKyogreBattle(void); -void Special_StartRegiBattle(void); +void StartWildBattle(void); +void StartRoamerBattle(void); +void StartOldManTutorialBattle(void); +void StartScriptedWildBattle(void); +void StartMarowakBattle(void); +void StartSouthernIslandBattle(void); +void StartLegendaryBattle(void); +void StartGroudonKyogreBattle(void); +void StartRegiBattle(void); u8 BattleSetup_GetTerrainId(void); u8 BattleSetup_GetBattleTowerBattleTransition(void); const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data); void ConfigureAndSetUpOneTrainerBattle(u8 trainerEventObjId, const u8 *trainerScript); bool32 GetTrainerFlagFromScriptPointer(const u8 *data); void SetUpTrainerMovement(void); -u8 ScrSpecial_GetTrainerBattleMode(void); +u8 GetTrainerBattleMode(void); u16 GetRivalBattleFlags(void); -u16 ScrSpecial_HasTrainerBeenFought(void); void SetBattledTrainerFlag(void); bool8 HasTrainerBeenFought(u16 trainerId); void SetTrainerFlag(u16 trainerId); void ClearTrainerFlag(u16 trainerId); -void BattleSetup_StartTrainerBattle(void); -void ScrSpecial_StartTrainerEyeRematch(void); -void ScrSpecial_ShowTrainerIntroSpeech(void); +void StartTrainerBattle(void); +void StartRematchBattle(void); +void ShowTrainerIntroSpeech(void); const u8 *BattleSetup_GetScriptAddrAfterBattle(void); const u8 *BattleSetup_GetTrainerPostBattleScript(void); -void ScrSpecial_ShowTrainerNonBattlingSpeech(void); +void ShowTrainerCantBattleSpeech(void); void PlayTrainerEncounterMusic(void); const u8 *GetTrainerALoseText(void); const u8 *GetTrainerWonSpeech(void); diff --git a/include/battle_tower.h b/include/battle_tower.h index 87f847aa4..be07320c9 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -33,8 +33,6 @@ void ValidateEReaderTrainer(void); u8 GetBattleTowerTrainerFrontSpriteId(void); u8 GetEreaderTrainerFrontSpriteId(void); void CopyEReaderTrainerName5(u8 *dest); -void sub_815DC40(u8 *dest, u8 opponentIdx); -void sub_815DBF4(u8 *dest, u8 opponentIdx); void GetBattleTowerTrainerName(u8 *text); u8 GetEreaderTrainerClassId(void); u8 GetBattleTowerTrainerClassNameId(void); diff --git a/include/berry.h b/include/berry.h index 5bf272d42..905ce291b 100644 --- a/include/berry.h +++ b/include/berry.h @@ -72,6 +72,6 @@ struct UnkStruct_0858AB24 { u16 unk1; }; -extern const struct UnkStruct_0858AB24 gUnknown_0858AB24[]; +extern const struct UnkStruct_0858AB24 gUnknown_83DFC9C[]; #endif // GUARD_BERRY_H diff --git a/include/berry_crush.h b/include/berry_crush.h index 2583aba61..9077b966e 100644 --- a/include/berry_crush.h +++ b/include/berry_crush.h @@ -1,6 +1,184 @@ #ifndef GUARD_BERRY_CRUSH_H #define GUARD_BERRY_CRUSH_H -void sub_814B754(MainCallback callback); +struct BerryCrushGame_Player +{ + u16 unk0; + u16 unk2; + union + { + u8 as_2d_bytes[2][8]; + u16 as_hwords[8]; + } unk4; + u8 unk14[12]; +}; + +struct __attribute__((packed, aligned(2))) BerryCrushGame_4E +{ + u16 unk0; + u16 filler2; + u8 unk4_0:1; + u8 unk4_1:1; + s8 unk5; + u16 unk6; + u16 unk8; + u16 unkA; + u16 unkC; +}; + +struct __attribute__((packed)) BerryCrushGame_40 +{ + u8 unk0[2]; + u16 unk2[6]; + struct BerryCrushGame_4E unkE; +}; + +struct BerryCrushGame_5C +{ + u16 unk00; + u8 unk02_0:1; + u8 unk02_1:1; + u8 unk02_2:1; + u8 unk02_3:5; + u8 unk03; + u16 unk04; + u16 unk06; + u16 unk08; + u16 unk0A; +}; + +union BerryCrushGame_68 +{ + struct BerryCrushGame_68_x + { + struct BerryCrushGame_68_x_SubStruct + { + s32 unk00; + u16 unk04; + s16 unk06; + u16 unk08; + u16 unk0A; + u16 unk0C[2][5]; + u8 filler20[16]; + } unk00; + u8 unk30[12]; + struct BerryCrushGame_Player others[4]; + u8 fillerBC[20]; + } as_four_players; + struct BerryCrushGame_68_y + { + u8 filler00[28]; + struct BerryCrushGame_Player unk1C[5]; + u8 fillerBC[20]; + } as_five_players; +}; + +struct BerryCrushGame_138_C +{ + u8 unk0; + u8 unk1; + u8 unk2; + s16 unk4; + s16 unk6; + s16 unk8; + s16 unkA; +}; + +struct BerryCrushGame_138 +{ + u8 unk0; + u8 unk1; + u8 unk2; + u8 unk3; + s16 unk4; + s16 unk6; + s16 unk8; + const struct BerryCrushGame_138_C *unkC[5]; + struct Sprite *unk20; + struct Sprite *unk24[5]; + struct Sprite *unk38[5]; + struct Sprite *unk4C[11]; + struct Sprite *unk78[2]; + u8 unk80; + u8 filler81; + u8 unk82; + u8 unk83[5]; +}; + +struct BerryCrushGame +{ + MainCallback unk0; + u32 (*unk4)(struct BerryCrushGame *, u8 *); + u8 unk8; + u8 unk9; + u8 unkA; + u8 unkB; + u8 unkC; + u8 unkD; + u8 unkE; + u8 unkF; + u16 unk10; + u16 unk12; + u16 unk14; + u16 unk16; + s16 unk18; + s16 unk1A; + int unk1C; + s32 unk20; + u8 unk24; + u8 unk25_0:1; + u8 unk25_1:1; + u8 unk25_2:1; + u8 unk25_3:1; + u8 unk25_4:1; + u8 unk25_5:3; + u16 unk26; + u16 unk28; + s16 unk2A; + s16 unk2C; + s16 unk2E; + s16 unk30; + s16 unk32; + s16 unk34; + u8 unk36[0xA]; + struct BerryCrushGame_40 unk40; + struct BerryCrushGame_5C unk5C; + union BerryCrushGame_68 unk68; + struct BerryCrushGame_138 unk138; + u8 unk1C0[0x1000]; + u8 unk11C0[0x1000]; + u8 unk21C0[0x1000]; + u8 unk31C0[0x1000]; +}; + +#define PLAYER_UNK14(game, i) \ + ((u8 *)(game) \ + + offsetof(struct BerryCrushGame, unk68) \ + + offsetof(struct BerryCrushGame_68_x, unk30) \ + + sizeof(struct BerryCrushGame_Player) * (i)) + +struct BerryCrushGame *sub_814B6F0(void); +void StartBerryCrush(MainCallback callback); +u32 sub_814B6FC(MainCallback callback); +void sub_814B8F0(void); +void sub_814B914(void); +void sub_814B924(void); +void sub_814B930(void); +void sub_814BABC(struct BerryCrushGame *arg0); +void sub_814BB4C(u16, u8, u8 *); +void sub_814D564(u8 *, u32, s32, u32, u32, u32, u32); +int sub_814D9CC(struct BerryCrushGame *arg0); +int sub_814D5C8(void); +int sub_814D888(void); +void sub_814DA24(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1); +void sub_814DC24(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1); +void sub_814DC5C(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1); +bool32 sub_814DE50(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1); +bool32 sub_814E644(struct BerryCrushGame *arg0, struct BerryCrushGame_138 *arg1); +void sub_814E80C(struct BerryCrushGame *arg0); +void sub_814DA04(struct BerryCrushGame *arg0); +void sub_814EB04(struct BerryCrushGame_138 *arg0); +void sub_814DB84(struct Sprite * sprite); +void ShowBerryCrushRankings(void); #endif //GUARD_BERRY_CRUSH_H diff --git a/include/cable_club.h b/include/cable_club.h index c1dbab1a5..57515efc7 100644 --- a/include/cable_club.h +++ b/include/cable_club.h @@ -9,7 +9,7 @@ // Exported ROM declarations void sub_8081A90(u8 taskId); -u8 sub_8081150(void); -void sub_8081668(void); +u8 CreateTask_ReestablishLinkInCableClubRoom(void); +void CB2_ReturnFromCableClubBattle(void); #endif //GUARD_CABLE_CLUB_H diff --git a/include/cereader_tool.h b/include/cereader_tool.h index 6275eaabf..dd1866fb3 100644 --- a/include/cereader_tool.h +++ b/include/cereader_tool.h @@ -2,6 +2,7 @@ #define GUARD_CEREADER_TOOL_H #include "global.h" +#include "constants/trainer_tower.h" struct TrainerTowerTrainer { @@ -21,30 +22,31 @@ struct TrainerTowerFloor /* 0x001 */ u8 floorIdx; /* 0x002 */ u8 challengeType; /* 0x003 */ u8 prize; - /* 0x004 */ struct TrainerTowerTrainer trainers[3]; + /* 0x004 */ struct TrainerTowerTrainer trainers[MAX_TRAINERS_PER_FLOOR]; /* 0x3DC */ u32 checksum; }; -struct EReaderTrainerHillSetSubstruct +struct EReaderTrainerTowerSetSubstruct { - u8 count; + u8 numFloors; u8 id; u16 dummy; u32 checksum; }; -struct EReaderTrainerHillSet +struct EReaderTrainerTowerSet { - u8 count; + u8 numFloors; u8 id; u16 dummy; u32 checksum; - struct TrainerTowerFloor floors[8]; + struct TrainerTowerFloor floors[MAX_TRAINER_TOWER_FLOORS]; }; -bool32 ValidateTrainerTowerData(struct EReaderTrainerHillSet * ttdata); -bool32 CEReaderTool_SaveTrainerTower(struct EReaderTrainerHillSet * ttdata); -bool32 CEReaderTool_LoadTrainerTower(struct EReaderTrainerHillSet * ttdata); +bool32 ValidateTrainerTowerData(struct EReaderTrainerTowerSet * ttdata); +bool32 CEReaderTool_SaveTrainerTower(struct EReaderTrainerTowerSet * ttdata); +bool32 CEReaderTool_LoadTrainerTower(struct EReaderTrainerTowerSet * ttdata); u8 sub_815D654(void); +bool32 ReadTrainerTowerAndValidate(void); #endif //GUARD_CEREADER_TOOL_H diff --git a/include/constants/battle.h b/include/constants/battle.h index 63be37936..e7c9d9d17 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -71,7 +71,7 @@ #define BATTLE_TYPE_x800000 0x800000 #define BATTLE_TYPE_RECORDED 0x1000000 #define BATTLE_TYPE_x2000000 0x2000000 -#define BATTLE_TYPE_TRAINER_HILL 0x4000000 +#define BATTLE_TYPE_x4000000 0x4000000 #define BATTLE_TYPE_SECRET_BASE 0x8000000 #define BATTLE_TYPE_GROUDON 0x10000000 #define BATTLE_TYPE_KYOGRE 0x20000000 @@ -298,6 +298,16 @@ #define BATTLE_TERRAIN_CAVE 7 #define BATTLE_TERRAIN_BUILDING 8 #define BATTLE_TERRAIN_PLAIN 9 +#define BATTLE_TERRAIN_LINK 10 +#define BATTLE_TERRAIN_GYM 11 +#define BATTLE_TERRAIN_LEADER 12 +#define BATTLE_TERRAIN_INDOOR_2 13 +#define BATTLE_TERRAIN_INDOOR_1 14 +#define BATTLE_TERRAIN_LORELEI 15 +#define BATTLE_TERRAIN_BRUNO 16 +#define BATTLE_TERRAIN_AGATHA 17 +#define BATTLE_TERRAIN_LANCE 18 +#define BATTLE_TERRAIN_CHAMPION 19 // Return value for IsRunningFromBattleImpossible. #define BATTLE_RUN_SUCCESS 0 diff --git a/include/constants/coins.h b/include/constants/coins.h new file mode 100644 index 000000000..3ae3bb23f --- /dev/null +++ b/include/constants/coins.h @@ -0,0 +1,6 @@ +#ifndef GUARD_CONSTANTS_COINS_H +#define GUARD_CONSTANTS_COINS_H + +#define MAX_COINS 9999 + +#endif // GUARD_CONSTANTS_COINS_H diff --git a/include/constants/easy_chat.h b/include/constants/easy_chat.h index 4ef90ed60..b43e93da2 100644 --- a/include/constants/easy_chat.h +++ b/include/constants/easy_chat.h @@ -6,22 +6,11 @@ #define EASY_CHAT_TYPE_BATTLE_WON 2 #define EASY_CHAT_TYPE_BATTLE_LOST 3 #define EASY_CHAT_TYPE_MAIL 4 -#define EASY_CHAT_TYPE_INTERVIEW 5 +#define EASY_CHAT_TYPE_MAIL_NO_CONFIRM 5 #define EASY_CHAT_TYPE_BARD_SONG 6 -#define EASY_CHAT_TYPE_FAN_CLUB 7 -#define EASY_CHAT_TYPE_UNK_8 8 +#define EASY_CHAT_TYPE_INTERVIEW 7 #define EASY_CHAT_TYPE_TRENDY_PHRASE 9 -#define EASY_CHAT_TYPE_GABBY_AND_TY 10 -#define EASY_CHAT_TYPE_CONTEST_INTERVIEW 11 -#define EASY_CHAT_TYPE_BATTLE_TOWER_INTERVIEW 12 -#define EASY_CHAT_TYPE_GOOD_SAYING 13 -#define EASY_CHAT_TYPE_FAN_QUESTION 14 -#define EASY_CHAT_TYPE_QUIZ_ANSWER 15 -#define EASY_CHAT_TYPE_QUIZ_QUESTION 16 -#define EASY_CHAT_TYPE_QUIZ_SET_QUESTION 17 -#define EASY_CHAT_TYPE_QUIZ_SET_ANSWER 18 -#define EASY_CHAT_TYPE_APPRENTICE 19 -#define EASY_CHAT_TYPE_QUESTIONNAIRE 20 +#define EASY_CHAT_TYPE_QUESTIONNAIRE 14 #define EC_GROUP_POKEMON_2 0x0 #define EC_GROUP_TRAINER 0x1 diff --git a/include/constants/event_bg.h b/include/constants/event_bg.h new file mode 100644 index 000000000..b106a74ef --- /dev/null +++ b/include/constants/event_bg.h @@ -0,0 +1,10 @@ +#ifndef GUARD_CONSTANTS_EVENT_BG_H +#define GUARD_CONSTANTS_EVENT_BG_H + +#define BG_EVENT_PLAYER_FACING_ANY 0 +#define BG_EVENT_PLAYER_FACING_NORTH 1 +#define BG_EVENT_PLAYER_FACING_SOUTH 2 +#define BG_EVENT_PLAYER_FACING_EAST 3 +#define BG_EVENT_PLAYER_FACING_WEST 4 + +#endif // GUARD_CONSTANTS_EVENT_BG_H diff --git a/include/constants/event_object_movement.h b/include/constants/event_object_movement.h index bf75a47cc..d2f0a945b 100644 --- a/include/constants/event_object_movement.h +++ b/include/constants/event_object_movement.h @@ -88,163 +88,180 @@ #define MOVEMENT_ACTION_FACE_UP 0x1 #define MOVEMENT_ACTION_FACE_LEFT 0x2 #define MOVEMENT_ACTION_FACE_RIGHT 0x3 -#define MOVEMENT_ACTION_WALK_SLOW_DOWN 0x4 -#define MOVEMENT_ACTION_WALK_SLOW_UP 0x5 -#define MOVEMENT_ACTION_WALK_SLOW_LEFT 0x6 -#define MOVEMENT_ACTION_WALK_SLOW_RIGHT 0x7 -#define MOVEMENT_ACTION_WALK_NORMAL_DOWN 0x8 -#define MOVEMENT_ACTION_WALK_NORMAL_UP 0x9 -#define MOVEMENT_ACTION_WALK_NORMAL_LEFT 0xA -#define MOVEMENT_ACTION_WALK_NORMAL_RIGHT 0xB -#define MOVEMENT_ACTION_JUMP_2_DOWN 0xC -#define MOVEMENT_ACTION_JUMP_2_UP 0xD -#define MOVEMENT_ACTION_JUMP_2_LEFT 0xE -#define MOVEMENT_ACTION_JUMP_2_RIGHT 0xF -#define MOVEMENT_ACTION_DELAY_1 0x10 -#define MOVEMENT_ACTION_DELAY_2 0x11 -#define MOVEMENT_ACTION_DELAY_4 0x12 -#define MOVEMENT_ACTION_DELAY_8 0x13 -#define MOVEMENT_ACTION_DELAY_16 0x14 -#define MOVEMENT_ACTION_WALK_FAST_DOWN 0x15 -#define MOVEMENT_ACTION_WALK_FAST_UP 0x16 -#define MOVEMENT_ACTION_WALK_FAST_LEFT 0x17 -#define MOVEMENT_ACTION_WALK_FAST_RIGHT 0x18 -#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN 0x19 -#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP 0x1A -#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT 0x1B -#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT 0x1C -#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN 0x1D -#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP 0x1E -#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT 0x1F -#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT 0x20 -#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN 0x21 -#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP 0x22 -#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT 0x23 -#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT 0x24 -#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN 0x25 -#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP 0x26 -#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT 0x27 -#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT 0x28 -#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN 0x29 -#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP 0x2A -#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT 0x2B -#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT 0x2C -#define MOVEMENT_ACTION_WALK_FASTEST_DOWN 0x2D -#define MOVEMENT_ACTION_WALK_FASTEST_UP 0x2E -#define MOVEMENT_ACTION_WALK_FASTEST_LEFT 0x2F -#define MOVEMENT_ACTION_WALK_FASTEST_RIGHT 0x30 -#define MOVEMENT_ACTION_SLIDE_DOWN 0x31 -#define MOVEMENT_ACTION_SLIDE_UP 0x32 -#define MOVEMENT_ACTION_SLIDE_LEFT 0x33 -#define MOVEMENT_ACTION_SLIDE_RIGHT 0x34 -#define MOVEMENT_ACTION_PLAYER_RUN_DOWN 0x35 -#define MOVEMENT_ACTION_PLAYER_RUN_UP 0x36 -#define MOVEMENT_ACTION_PLAYER_RUN_LEFT 0x37 -#define MOVEMENT_ACTION_PLAYER_RUN_RIGHT 0x38 -#define MOVEMENT_ACTION_START_ANIM_IN_DIRECTION 0x39 -#define MOVEMENT_ACTION_JUMP_SPECIAL_DOWN 0x3A -#define MOVEMENT_ACTION_JUMP_SPECIAL_UP 0x3B -#define MOVEMENT_ACTION_JUMP_SPECIAL_LEFT 0x3C -#define MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT 0x3D -#define MOVEMENT_ACTION_FACE_PLAYER 0x3E -#define MOVEMENT_ACTION_FACE_AWAY_PLAYER 0x3F -#define MOVEMENT_ACTION_LOCK_FACING_DIRECTION 0x40 -#define MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION 0x41 -#define MOVEMENT_ACTION_JUMP_DOWN 0x42 -#define MOVEMENT_ACTION_JUMP_UP 0x43 -#define MOVEMENT_ACTION_JUMP_LEFT 0x44 -#define MOVEMENT_ACTION_JUMP_RIGHT 0x45 -#define MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN 0x46 -#define MOVEMENT_ACTION_JUMP_IN_PLACE_UP 0x47 -#define MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT 0x48 -#define MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT 0x49 -#define MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP 0x4A -#define MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN 0x4B -#define MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT 0x4C -#define MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT 0x4D -#define MOVEMENT_ACTION_FACE_ORIGINAL_DIRECTION 0x4E -#define MOVEMENT_ACTION_NURSE_JOY_BOW_DOWN 0x4F -#define MOVEMENT_ACTION_ENABLE_JUMP_LANDING_GROUND_EFFECT 0x50 -#define MOVEMENT_ACTION_DISABLE_JUMP_LANDING_GROUND_EFFECT 0x51 -#define MOVEMENT_ACTION_DISABLE_ANIMATION 0x52 -#define MOVEMENT_ACTION_RESTORE_ANIMATION 0x53 -#define MOVEMENT_ACTION_SET_INVISIBLE 0x54 -#define MOVEMENT_ACTION_SET_VISIBLE 0x55 -#define MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK 0x56 -#define MOVEMENT_ACTION_EMOTE_QUESTION_MARK 0x57 -#define MOVEMENT_ACTION_EMOTE_HEART 0x58 -#define MOVEMENT_ACTION_REVEAL_TRAINER 0x59 -#define MOVEMENT_ACTION_ROCK_SMASH_BREAK 0x5A -#define MOVEMENT_ACTION_CUT_TREE 0x5B -#define MOVEMENT_ACTION_SET_FIXED_PRIORITY 0x5C -#define MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY 0x5D -#define MOVEMENT_ACTION_INIT_AFFINE_ANIM 0x5E -#define MOVEMENT_ACTION_CLEAR_AFFINE_ANIM 0x5F -#define MOVEMENT_ACTION_HIDE_REFLECTION 0x60 -#define MOVEMENT_ACTION_SHOW_REFLECTION 0x61 -#define MOVEMENT_ACTION_WALK_DOWN_START_AFFINE 0x62 -#define MOVEMENT_ACTION_WALK_DOWN_AFFINE 0x63 -#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN 0x64 -#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP 0x65 -#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT 0x66 -#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT 0x67 -#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN 0x68 -#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP 0x69 -#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT 0x6A -#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT 0x6B -#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN 0x6C -#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP 0x6D -#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT 0x6E -#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT 0x6F -#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN 0x70 -#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP 0x71 -#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT 0x72 -#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT 0x73 -#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN 0x74 -#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP 0x75 -#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT 0x76 -#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT 0x77 -#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN 0x78 -#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP 0x79 -#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT 0x7A -#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT 0x7B -#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN 0x7C -#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP 0x7D -#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT 0x7E -#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT 0x7F -#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN 0x80 -#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP 0x81 -#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT 0x82 -#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT 0x83 -#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN 0x84 -#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP 0x85 -#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT 0x86 -#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT 0x87 -#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN 0x88 -#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP 0x89 -#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT 0x8A -#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT 0x8B -#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_LEFT 0x8C -#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_RIGHT 0x8D -#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_LEFT 0x8E -#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_RIGHT 0x8F -#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_LEFT 0x90 -#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_RIGHT 0x91 -#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_LEFT 0x92 -#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_RIGHT 0x93 -#define MOVEMENT_ACTION_STORE_AND_LOCK_ANIM 0x94 -#define MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM 0x95 -#define MOVEMENT_ACTION_WALK_LEFT_AFFINE 0x96 -#define MOVEMENT_ACTION_WALK_RIGHT_AFFINE 0x97 -#define MOVEMENT_ACTION_LEVITATE 0x98 -#define MOVEMENT_ACTION_STOP_LEVITATE 0x99 -#define MOVEMENT_ACTION_DESTROY_EXTRA_TASK_IF_AT_TOP 0x9A -#define MOVEMENT_ACTION_FIGURE_8 0x9B +#define MOVEMENT_ACTION_FACE_DOWN_FAST 0x4 +#define MOVEMENT_ACTION_FACE_UP_FAST 0x5 +#define MOVEMENT_ACTION_FACE_LEFT_FAST 0x6 +#define MOVEMENT_ACTION_FACE_RIGHT_FAST 0x7 +#define MOVEMENT_ACTION_WALK_SLOWEST_DOWN 0x8 +#define MOVEMENT_ACTION_WALK_SLOWEST_UP 0x9 +#define MOVEMENT_ACTION_WALK_SLOWEST_LEFT 0xA +#define MOVEMENT_ACTION_WALK_SLOWEST_RIGHT 0xB +#define MOVEMENT_ACTION_WALK_SLOW_DOWN 0xC +#define MOVEMENT_ACTION_WALK_SLOW_UP 0xD +#define MOVEMENT_ACTION_WALK_SLOW_LEFT 0xE +#define MOVEMENT_ACTION_WALK_SLOW_RIGHT 0xF +#define MOVEMENT_ACTION_WALK_NORMAL_DOWN 0x10 +#define MOVEMENT_ACTION_WALK_NORMAL_UP 0x11 +#define MOVEMENT_ACTION_WALK_NORMAL_LEFT 0x12 +#define MOVEMENT_ACTION_WALK_NORMAL_RIGHT 0x13 +#define MOVEMENT_ACTION_JUMP_2_DOWN 0x14 +#define MOVEMENT_ACTION_JUMP_2_UP 0x15 +#define MOVEMENT_ACTION_JUMP_2_LEFT 0x16 +#define MOVEMENT_ACTION_JUMP_2_RIGHT 0x17 +#define MOVEMENT_ACTION_DELAY_1 0x18 +#define MOVEMENT_ACTION_DELAY_2 0x19 +#define MOVEMENT_ACTION_DELAY_4 0x1A +#define MOVEMENT_ACTION_DELAY_8 0x1B +#define MOVEMENT_ACTION_DELAY_16 0x1C +#define MOVEMENT_ACTION_WALK_FAST_DOWN 0x1D +#define MOVEMENT_ACTION_WALK_FAST_UP 0x1E +#define MOVEMENT_ACTION_WALK_FAST_LEFT 0x1F +#define MOVEMENT_ACTION_WALK_FAST_RIGHT 0x20 +#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN 0x21 +#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP 0x22 +#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT 0x23 +#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT 0x24 +#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN 0x25 +#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP 0x26 +#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT 0x27 +#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT 0x28 +#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN 0x29 +#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP 0x2A +#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT 0x2B +#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT 0x2C +#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN 0x2D +#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP 0x2E +#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT 0x2F +#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT 0x30 +#define MOVEMENT_ACTION_FACE_DOWN_SLOW 0x31 +#define MOVEMENT_ACTION_FACE_UP_SLOW 0x32 +#define MOVEMENT_ACTION_FACE_LEFT_SLOW 0x33 +#define MOVEMENT_ACTION_FACE_RIGHT_SLOW 0x34 +#define MOVEMENT_ACTION_WALK_FASTEST_DOWN 0x35 +#define MOVEMENT_ACTION_WALK_FASTEST_UP 0x36 +#define MOVEMENT_ACTION_WALK_FASTEST_LEFT 0x37 +#define MOVEMENT_ACTION_WALK_FASTEST_RIGHT 0x38 +#define MOVEMENT_ACTION_SLIDE_DOWN 0x39 +#define MOVEMENT_ACTION_SLIDE_UP 0x3A +#define MOVEMENT_ACTION_SLIDE_LEFT 0x3B +#define MOVEMENT_ACTION_SLIDE_RIGHT 0x3C +#define MOVEMENT_ACTION_PLAYER_RUN_DOWN 0x3D +#define MOVEMENT_ACTION_PLAYER_RUN_UP 0x3E +#define MOVEMENT_ACTION_PLAYER_RUN_LEFT 0x3F +#define MOVEMENT_ACTION_PLAYER_RUN_RIGHT 0x40 +#define MOVEMENT_ACTION_PLAYER_RUN_DOWN_SLOW 0x41 +#define MOVEMENT_ACTION_PLAYER_RUN_UP_SLOW 0x42 +#define MOVEMENT_ACTION_PLAYER_RUN_LEFT_SLOW 0x43 +#define MOVEMENT_ACTION_PLAYER_RUN_RIGHT_SLOW 0x44 +#define MOVEMENT_ACTION_START_ANIM_IN_DIRECTION 0x45 +#define MOVEMENT_ACTION_JUMP_SPECIAL_DOWN 0x46 +#define MOVEMENT_ACTION_JUMP_SPECIAL_UP 0x47 +#define MOVEMENT_ACTION_JUMP_SPECIAL_LEFT 0x48 +#define MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT 0x49 +#define MOVEMENT_ACTION_FACE_PLAYER 0x4A +#define MOVEMENT_ACTION_FACE_AWAY_PLAYER 0x4B +#define MOVEMENT_ACTION_LOCK_FACING_DIRECTION 0x4C +#define MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION 0x4D +#define MOVEMENT_ACTION_JUMP_DOWN 0x4E +#define MOVEMENT_ACTION_JUMP_UP 0x4F +#define MOVEMENT_ACTION_JUMP_LEFT 0x50 +#define MOVEMENT_ACTION_JUMP_RIGHT 0x51 +#define MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN 0x52 +#define MOVEMENT_ACTION_JUMP_IN_PLACE_UP 0x53 +#define MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT 0x54 +#define MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT 0x55 +#define MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP 0x56 +#define MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN 0x57 +#define MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT 0x58 +#define MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT 0x59 +#define MOVEMENT_ACTION_FACE_ORIGINAL_DIRECTION 0x5A +#define MOVEMENT_ACTION_NURSE_JOY_BOW_DOWN 0x5B +#define MOVEMENT_ACTION_ENABLE_JUMP_LANDING_GROUND_EFFECT 0x5C +#define MOVEMENT_ACTION_DISABLE_JUMP_LANDING_GROUND_EFFECT 0x5D +#define MOVEMENT_ACTION_DISABLE_ANIMATION 0x5E +#define MOVEMENT_ACTION_RESTORE_ANIMATION 0x5F +#define MOVEMENT_ACTION_SET_INVISIBLE 0x60 +#define MOVEMENT_ACTION_SET_VISIBLE 0x61 +#define MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK 0x62 +#define MOVEMENT_ACTION_EMOTE_QUESTION_MARK 0x63 +#define MOVEMENT_ACTION_EMOTE_X 0x64 +#define MOVEMENT_ACTION_EMOTE_DOUBLE_EXCL_MARK 0x65 +#define MOVEMENT_ACTION_EMOTE_SMILE 0x66 +#define MOVEMENT_ACTION_REVEAL_TRAINER 0x67 +#define MOVEMENT_ACTION_ROCK_SMASH_BREAK 0x68 +#define MOVEMENT_ACTION_CUT_TREE 0x69 +#define MOVEMENT_ACTION_SET_FIXED_PRIORITY 0x6A +#define MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY 0x6B +#define MOVEMENT_ACTION_INIT_AFFINE_ANIM 0x6C +#define MOVEMENT_ACTION_CLEAR_AFFINE_ANIM 0x6D + +// These still exist in FRLG for some reason. They're not used by anything obvious. +#define MOVEMENT_ACTION_WALK_DOWN_START_AFFINE 0x6E +#define MOVEMENT_ACTION_WALK_DOWN_AFFINE 0x6F +#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN 0x70 +#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP 0x71 +#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT 0x72 +#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT 0x73 +#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN 0x74 +#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP 0x75 +#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT 0x76 +#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT 0x77 +#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN 0x78 +#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP 0x79 +#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT 0x7A +#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT 0x7B +#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN 0x7C +#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP 0x7D +#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT 0x7E +#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT 0x7F +#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN 0x80 +#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP 0x81 +#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT 0x82 +#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT 0x83 +#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN 0x84 +#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP 0x85 +#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT 0x86 +#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT 0x87 +#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN 0x88 +#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP 0x89 +#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT 0x8A +#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT 0x8B +#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN 0x8C +#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP 0x8D +#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT 0x8E +#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT 0x8F +#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN 0x90 +#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP 0x91 +#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT 0x92 +#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT 0x93 +#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN 0x94 +#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP 0x95 +#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT 0x96 +#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT 0x97 + +// 98-A3 are unknown +#define MOVEMENT_ACTION_0x98 0x98 +#define MOVEMENT_ACTION_0x99 0x99 +#define MOVEMENT_ACTION_0x9A 0x9A +#define MOVEMENT_ACTION_0x9B 0x9B +#define MOVEMENT_ACTION_0x9C 0x9C +#define MOVEMENT_ACTION_0x9D 0x9D +#define MOVEMENT_ACTION_0x9E 0x9E +#define MOVEMENT_ACTION_0x9F 0x9F +#define MOVEMENT_ACTION_0xA0 0xA0 +#define MOVEMENT_ACTION_0xA1 0xA1 +#define MOVEMENT_ACTION_0xA2 0xA2 +#define MOVEMENT_ACTION_0xA3 0xA3 -// These two are verified correct in FRLG #define MOVEMENT_ACTION_FLY_UP 0xA4 #define MOVEMENT_ACTION_FLY_DOWN 0xA5 +// Duplicates of JUMP_SPECIAL? +#define MOVEMENT_ACTION_0xA6 0xA6 +#define MOVEMENT_ACTION_0xA7 0xA7 +#define MOVEMENT_ACTION_0xA8 0xA8 +#define MOVEMENT_ACTION_0xA9 0xA9 + #define MOVEMENT_ACTION_STEP_END 0xFE #endif // GUARD_CONSTANTS_EVENT_OBJECT_MOVEMENT_H diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h index 3e48cf029..2d51cd74d 100644 --- a/include/constants/event_objects.h +++ b/include/constants/event_objects.h @@ -1,12 +1,193 @@ #ifndef GUARD_CONSTANTS_EVENT_OBJECTS_H #define GUARD_CONSTANTS_EVENT_OBJECTS_H +#define OBJ_EVENT_GFX_RED_NORMAL 0 +#define OBJ_EVENT_GFX_RED_BIKE 1 +#define OBJ_EVENT_GFX_RED_SURF 2 +#define OBJ_EVENT_GFX_RED_ITEM 3 +#define OBJ_EVENT_GFX_RED_FISH 4 +#define OBJ_EVENT_GFX_RED_ITEM_COPY 5 +#define OBJ_EVENT_GFX_RED_VS_SEEKER 6 +#define OBJ_EVENT_GFX_GREEN_NORMAL 7 +#define OBJ_EVENT_GFX_GREEN_BIKE 8 +#define OBJ_EVENT_GFX_GREEN_SURF 9 +#define OBJ_EVENT_GFX_GREEN_ITEM 10 +#define OBJ_EVENT_GFX_GREEN_FISH 11 +#define OBJ_EVENT_GFX_GREEN_ITEM_COPY 12 +#define OBJ_EVENT_GFX_GREEN_VS_SEEKER 13 +#define OBJ_EVENT_GFX_RS_BRENDAN 14 +#define OBJ_EVENT_GFX_RS_MAY 15 +#define OBJ_EVENT_GFX_LITTLE_BOY 16 +#define OBJ_EVENT_GFX_LITTLE_GIRL 17 +#define OBJ_EVENT_GFX_YOUNGSTER 18 +#define OBJ_EVENT_GFX_BOY 19 +#define OBJ_EVENT_GFX_BUG_CATCHER 20 +#define OBJ_EVENT_GFX_SITTING_BOY 21 +#define OBJ_EVENT_GFX_LASS 22 +#define OBJ_EVENT_GFX_WOMAN_1 23 +#define OBJ_EVENT_GFX_BATTLE_GIRL 24 +#define OBJ_EVENT_GFX_MAN 25 +#define OBJ_EVENT_GFX_ROCKER 26 +#define OBJ_EVENT_GFX_FAT_MAN 27 +#define OBJ_EVENT_GFX_WOMAN_2 28 +#define OBJ_EVENT_GFX_BEAUTY 29 +#define OBJ_EVENT_GFX_BALDING_MAN 30 +#define OBJ_EVENT_GFX_WOMAN_3 31 +#define OBJ_EVENT_GFX_OLD_MAN_1 32 +#define OBJ_EVENT_GFX_OLD_MAN_2 33 +#define OBJ_EVENT_GFX_OLD_MAN_LYING_DOWN 34 +#define OBJ_EVENT_GFX_OLD_WOMAN 35 +#define OBJ_EVENT_GFX_TUBER_M_1 36 +#define OBJ_EVENT_GFX_TUBER_F 37 +#define OBJ_EVENT_GFX_TUBER_M_2 38 +#define OBJ_EVENT_GFX_CAMPER 39 +#define OBJ_EVENT_GFX_PICNICKER 40 +#define OBJ_EVENT_GFX_COOLTRAINER_M 41 +#define OBJ_EVENT_GFX_COOLTRAINER_F 42 +#define OBJ_EVENT_GFX_SWIMMER_M_WATER 43 +#define OBJ_EVENT_GFX_SWIMMER_F_WATER 44 +#define OBJ_EVENT_GFX_SWIMMER_M_LAND 45 +#define OBJ_EVENT_GFX_SWIMMER_F_LAND 46 +#define OBJ_EVENT_GFX_WORKER_M 47 +#define OBJ_EVENT_GFX_WORKER_F 48 +#define OBJ_EVENT_GFX_ROCKET_M 49 +#define OBJ_EVENT_GFX_ROCKET_F 50 +#define OBJ_EVENT_GFX_GBA_KID 51 +#define OBJ_EVENT_GFX_SUPER_NERD 52 +#define OBJ_EVENT_GFX_BIKER 53 +#define OBJ_EVENT_GFX_BLACKBELT 54 +#define OBJ_EVENT_GFX_SCIENTIST 55 +#define OBJ_EVENT_GFX_HIKER 56 +#define OBJ_EVENT_GFX_FISHER 57 +#define OBJ_EVENT_GFX_CHANNELER 58 +#define OBJ_EVENT_GFX_CHEF 59 +#define OBJ_EVENT_GFX_POLICEMAN 60 +#define OBJ_EVENT_GFX_GENTLEMAN 61 +#define OBJ_EVENT_GFX_SAILOR 62 +#define OBJ_EVENT_GFX_CAPTAIN 63 +#define OBJ_EVENT_GFX_NURSE 64 +#define OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST 65 +#define OBJ_EVENT_GFX_UNION_ROOM_RECEPTIONIST 66 +#define OBJ_EVENT_GFX_UNUSED_MALE_RECEPTIONIST 67 +#define OBJ_EVENT_GFX_CLERK 68 +#define OBJ_EVENT_GFX_MG_DELIVERYMAN 69 +#define OBJ_EVENT_GFX_TRAINER_TOWER_DUDE 70 +#define OBJ_EVENT_GFX_PROF_OAK 71 +#define OBJ_EVENT_GFX_BLUE 72 +#define OBJ_EVENT_GFX_BILL 73 +#define OBJ_EVENT_GFX_LANCE 74 +#define OBJ_EVENT_GFX_AGATHA 75 +#define OBJ_EVENT_GFX_DAISY 76 +#define OBJ_EVENT_GFX_LORELEI 77 +#define OBJ_EVENT_GFX_MR_FUJI 78 +#define OBJ_EVENT_GFX_BRUNO 79 +#define OBJ_EVENT_GFX_BROCK 80 +#define OBJ_EVENT_GFX_MISTY 81 +#define OBJ_EVENT_GFX_LT_SURGE 82 +#define OBJ_EVENT_GFX_ERIKA 83 +#define OBJ_EVENT_GFX_KOGA 84 +#define OBJ_EVENT_GFX_SABRINA 85 +#define OBJ_EVENT_GFX_BLAINE 86 +#define OBJ_EVENT_GFX_GIOVANNI 87 +#define OBJ_EVENT_GFX_MOM 88 +#define OBJ_EVENT_GFX_CELIO 89 +#define OBJ_EVENT_GFX_TEACHY_TV_HOST 90 +#define OBJ_EVENT_GFX_GYM_GUY 91 +#define OBJ_EVENT_GFX_ITEM_BALL 92 +#define OBJ_EVENT_GFX_TOWN_MAP 93 +#define OBJ_EVENT_GFX_POKEDEX 94 +#define OBJ_EVENT_GFX_CUT_TREE 95 +#define OBJ_EVENT_GFX_ROCK_SMASH_ROCK 96 +#define OBJ_EVENT_GFX_STRENGTH_BOULDER 97 +#define OBJ_EVENT_GFX_FOSSIL 98 +#define OBJ_EVENT_GFX_RUBY 99 +#define OBJ_EVENT_GFX_SAPPHIRE 100 +#define OBJ_EVENT_GFX_OLD_AMBER 101 +#define OBJ_EVENT_GFX_GYM_SIGN 102 +#define OBJ_EVENT_GFX_SIGN 103 +#define OBJ_EVENT_GFX_TRAINER_TIPS 104 +#define OBJ_EVENT_GFX_CLIPBOARD 105 +#define OBJ_EVENT_GFX_METEORITE 106 +#define OBJ_EVENT_GFX_LAPRAS_DOLL 107 +#define OBJ_EVENT_GFX_SEAGALLOP 108 +#define OBJ_EVENT_GFX_SNORLAX 109 +#define OBJ_EVENT_GFX_SPEAROW 110 +#define OBJ_EVENT_GFX_CUBONE 111 +#define OBJ_EVENT_GFX_POLIWRATH 112 +#define OBJ_EVENT_GFX_CLEFAIRY 113 +#define OBJ_EVENT_GFX_PIDGEOT 114 +#define OBJ_EVENT_GFX_JIGGLYPUFF 115 +#define OBJ_EVENT_GFX_PIDGEY 116 +#define OBJ_EVENT_GFX_CHANSEY 117 +#define OBJ_EVENT_GFX_OMANYTE 118 +#define OBJ_EVENT_GFX_KANGASKHAN 119 +#define OBJ_EVENT_GFX_PIKACHU 120 +#define OBJ_EVENT_GFX_PSYDUCK 121 +#define OBJ_EVENT_GFX_NIDORAN_F 122 +#define OBJ_EVENT_GFX_NIDORAN_M 123 +#define OBJ_EVENT_GFX_NIDORINO 124 +#define OBJ_EVENT_GFX_MEOWTH 125 +#define OBJ_EVENT_GFX_SEEL 126 +#define OBJ_EVENT_GFX_VOLTORB 127 +#define OBJ_EVENT_GFX_SLOWPOKE 128 +#define OBJ_EVENT_GFX_SLOWBRO 129 +#define OBJ_EVENT_GFX_MACHOP 130 +#define OBJ_EVENT_GFX_WIGGLYTUFF 131 +#define OBJ_EVENT_GFX_DODUO 132 +#define OBJ_EVENT_GFX_FEAROW 133 +#define OBJ_EVENT_GFX_MACHOKE 134 +#define OBJ_EVENT_GFX_LAPRAS 135 +#define OBJ_EVENT_GFX_ZAPDOS 136 +#define OBJ_EVENT_GFX_MOLTRES 137 +#define OBJ_EVENT_GFX_ARTICUNO 138 +#define OBJ_EVENT_GFX_MEWTWO 139 +#define OBJ_EVENT_GFX_MEW 140 +#define OBJ_EVENT_GFX_ENTEI 141 +#define OBJ_EVENT_GFX_SUICUNE 142 +#define OBJ_EVENT_GFX_RAIKOU 143 +#define OBJ_EVENT_GFX_LUGIA 144 +#define OBJ_EVENT_GFX_HO_OH 145 +#define OBJ_EVENT_GFX_CELEBI 146 +#define OBJ_EVENT_GFX_KABUTO 147 +#define OBJ_EVENT_GFX_DEOXYS_D 148 +#define OBJ_EVENT_GFX_DEOXYS_A 149 +#define OBJ_EVENT_GFX_DEOXYS_N 150 +#define OBJ_EVENT_GFX_SS_ANNE 151 + #define NUM_OBJ_EVENT_GFX 239 // These are dynamic object gfx ids. // They correspond with the values of the VAR_OBJ_GFX_ID_X vars. // More info about them in include/constants/vars.h #define OBJ_EVENT_GFX_VARS (NUM_OBJ_EVENT_GFX + 1) +#define OBJ_EVENT_GFX_VAR_0 (OBJ_EVENT_GFX_VARS + 0x0) // 240 +#define OBJ_EVENT_GFX_VAR_1 (OBJ_EVENT_GFX_VARS + 0x1) +#define OBJ_EVENT_GFX_VAR_2 (OBJ_EVENT_GFX_VARS + 0x2) +#define OBJ_EVENT_GFX_VAR_3 (OBJ_EVENT_GFX_VARS + 0x3) +#define OBJ_EVENT_GFX_VAR_4 (OBJ_EVENT_GFX_VARS + 0x4) +#define OBJ_EVENT_GFX_VAR_5 (OBJ_EVENT_GFX_VARS + 0x5) +#define OBJ_EVENT_GFX_VAR_6 (OBJ_EVENT_GFX_VARS + 0x6) +#define OBJ_EVENT_GFX_VAR_7 (OBJ_EVENT_GFX_VARS + 0x7) +#define OBJ_EVENT_GFX_VAR_8 (OBJ_EVENT_GFX_VARS + 0x8) +#define OBJ_EVENT_GFX_VAR_9 (OBJ_EVENT_GFX_VARS + 0x9) +#define OBJ_EVENT_GFX_VAR_A (OBJ_EVENT_GFX_VARS + 0xA) +#define OBJ_EVENT_GFX_VAR_B (OBJ_EVENT_GFX_VARS + 0xB) +#define OBJ_EVENT_GFX_VAR_C (OBJ_EVENT_GFX_VARS + 0xC) +#define OBJ_EVENT_GFX_VAR_D (OBJ_EVENT_GFX_VARS + 0xD) +#define OBJ_EVENT_GFX_VAR_E (OBJ_EVENT_GFX_VARS + 0xE) +#define OBJ_EVENT_GFX_VAR_F (OBJ_EVENT_GFX_VARS + 0xF) // 255 + +#define SHADOW_SIZE_S 0 +#define SHADOW_SIZE_M 1 +#define SHADOW_SIZE_L 2 +#define SHADOW_SIZE_XL 3 + +#define F_INANIMATE (1 << 6) +#define F_DISABLE_REFLECTION_PALETTE_LOAD (1 << 7) + +#define TRACKS_NONE 0 +#define TRACKS_FOOT 1 +#define TRACKS_BIKE_TIRE 2 #define OBJ_EVENT_ID_PLAYER 0xFF #define OBJ_EVENT_ID_CAMERA 0x7F diff --git a/include/constants/facility_trainer_classes.h b/include/constants/facility_trainer_classes.h index 10500ff35..fe94608dd 100644 --- a/include/constants/facility_trainer_classes.h +++ b/include/constants/facility_trainer_classes.h @@ -133,10 +133,10 @@ #define FACILITY_CLASS_CRUSH_KIN 0x81 #define FACILITY_CLASS_SIS_AND_BRO_2 0x82 #define FACILITY_CLASS_PKMN_PROF 0x83 -#define FACILITY_CLASS_PLAYER 0x84 -#define FACILITY_CLASS_PLAYER_2 0x85 -#define FACILITY_CLASS_PLAYER_3 0x86 -#define FACILITY_CLASS_PLAYER_4 0x87 +#define FACILITY_CLASS_BRENDAN 0x84 +#define FACILITY_CLASS_MAY 0x85 +#define FACILITY_CLASS_RED 0x86 +#define FACILITY_CLASS_LEAF 0x87 #define FACILITY_CLASS_TEAM_ROCKET_2 0x88 #define FACILITY_CLASS_PSYCHIC_4 0x89 #define FACILITY_CLASS_CRUSH_GIRL 0x8A diff --git a/include/constants/field_effects.h b/include/constants/field_effects.h index e8246ccc5..a4ecd3e21 100644 --- a/include/constants/field_effects.h +++ b/include/constants/field_effects.h @@ -1,7 +1,7 @@ #ifndef GUARD_CONSTANTS_FIELD_EFFECTS_H #define GUARD_CONSTANTS_FIELD_EFFECTS_H - -#define FLDEFF_EXCLAMATION_MARK_ICON 0 + +#define FLDEFF_EXCLAMATION_MARK_ICON 0 #define FLDEFF_USE_CUT_ON_GRASS 1 #define FLDEFF_USE_CUT_ON_TREE 2 #define FLDEFF_SHADOW 3 @@ -47,7 +47,7 @@ #define FLDEFF_USE_WATERFALL 43 #define FLDEFF_USE_DIVE 44 #define FLDEFF_POKEBALL 45 -#define FLDEFF_HEART_ICON 46 +#define FLDEFF_X_ICON 46 #define FLDEFF_NOP_47 47 #define FLDEFF_NOP_48 48 #define FLDEFF_POP_OUT_OF_ASH 49 @@ -65,11 +65,11 @@ #define FLDEFF_PCTURN_ON 61 #define FLDEFF_HALL_OF_FAME_RECORD 62 #define FLDEFF_USE_TELEPORT 63 -#define FLDEFF_UNK_40 64 -#define FLDEFF_UNK_41 65 // TODO: related to vs_seeker -#define FLDEFF_UNK_42 66 // TODO: related to trainer see -#define FLDEFF_UNK_43 67 // TODO: related to deoxys -#define FLDEFF_UNK_44 68 // TODO: related to trainer see +#define FLDEFF_SMILEY_FACE_ICON 64 +#define FLDEFF_USE_VS_SEEKER 65 +#define FLDEFF_DOUBLE_EXCL_MARK_ICON 66 +#define FLDEFF_MOVE_DEOXYS_ROCK 67 +#define FLDEFF_UNK_44 68 // TODO: related to ??? #define FLDEFF_UNK_45 69 // TODO: related to fame checker photos #endif // GUARD_CONSTANTS_FIELD_EFFECTS_H diff --git a/include/constants/field_tasks.h b/include/constants/field_tasks.h new file mode 100644 index 000000000..31edb6ffe --- /dev/null +++ b/include/constants/field_tasks.h @@ -0,0 +1,13 @@ +#ifndef GUARD_CONSTANTS_FIELD_TASKS_H +#define GUARD_CONSTANTS_FIELD_TASKS_H + +#define STEP_CB_DUMMY 0 +#define STEP_CB_ASH 1 // Unused +#define STEP_CB_FORTREE_BRIDGE 2 // Unused, dummied +#define STEP_CB_PACIFIDLOG_BRIDGE 3 // Unused, dummied +#define STEP_CB_ICE 4 +#define STEP_CB_TRUCK 5 // Unused, dummied +#define STEP_CB_SECRET_BASE 6 // Unused, dummied +#define STEP_CB_CRACKED_FLOOR 7 // Unused + +#endif // GUARD_CONSTANTS_FIELD_TASKS_H diff --git a/include/constants/flags.h b/include/constants/flags.h index 26ffa8a7c..85d704680 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -670,7 +670,7 @@ #define FLAG_SILPH_11F_DOOR 0x28D #define FLAG_0x28E 0x28E #define FLAG_0x28F 0x28F -#define FLAG_MET_STICKER_LADY 0x290 +#define FLAG_MET_STICKER_MAN 0x290 #define FLAG_PALLET_LADY_NOT_BLOCKING_SIGN 0x291 #define FLAG_GOT_VS_SEEKER 0x292 #define FLAG_GOT_TM19_FROM_ERIKA 0x293 @@ -766,8 +766,8 @@ #define FLAG_REVIVED_HELIX 0x2ED #define FLAG_REVIVED_AMBER 0x2EE #define FLAG_GOT_HM06 0x2EF -#define FLAG_SHOWED_MYSTICTICKET_TO_CAPTAIN 0x2F0 -#define FLAG_SHOWED_AURORATICKET_TO_CAPTAIN 0x2F1 +#define FLAG_SHOWN_MYSTIC_TICKET 0x2F0 +#define FLAG_SHOWN_AURORA_TICKET 0x2F1 #define FLAG_FOUGHT_LUGIA 0x2F2 #define FLAG_FOUGHT_HO_OH 0x2F3 #define FLAG_OAK_SAW_DEX_COMPLETION 0x2F4 @@ -1046,7 +1046,7 @@ #define HIDDEN_ITEM_SAFARI_ZONE_WEST_REVIVE 23 #define HIDDEN_ITEM_SILPH_CO_5F_ELIXIR 24 #define HIDDEN_ITEM_SILPH_CO_9F_MAX_POTION 25 -#define HIDDEN_ITEM_SAFFRON_CITY_HOUSE1_2F_NUGGET 26 +#define HIDDEN_ITEM_SAFFRON_CITY_COPYCATS_HOUSE_2F_NUGGET 26 #define HIDDEN_ITEM_POWER_PLANT_MAX_ELIXIR 27 #define HIDDEN_ITEM_POWER_PLANT_THUNDER_STONE 28 #define HIDDEN_ITEM_SEAFOAM_ISLANDS_B3F_NUGGET 29 @@ -1327,6 +1327,7 @@ #define FLAG_0x808 (SYS_FLAGS + 0x8) #define PERMA_SYS_FLAGS_START 0x820 + #define FLAG_BADGE01_GET (SYS_FLAGS + 0x20) #define FLAG_BADGE02_GET (SYS_FLAGS + 0x21) #define FLAG_BADGE03_GET (SYS_FLAGS + 0x22) @@ -1335,6 +1336,8 @@ #define FLAG_BADGE06_GET (SYS_FLAGS + 0x25) #define FLAG_BADGE07_GET (SYS_FLAGS + 0x26) #define FLAG_BADGE08_GET (SYS_FLAGS + 0x27) +#define NUM_BADGES (1 + FLAG_BADGE08_GET - FLAG_BADGE01_GET) + #define FLAG_SYS_POKEMON_GET (SYS_FLAGS + 0x28) #define FLAG_SYS_POKEDEX_GET (SYS_FLAGS + 0x29) #define FLAG_0x82A (SYS_FLAGS + 0x2A) @@ -1369,8 +1372,8 @@ #define FLAG_SYS_GOT_BERRY_POUCH (SYS_FLAGS + 0x47) #define FLAG_SYS_DEOXYS_AWAKENED (SYS_FLAGS + 0x48) #define FLAG_SYS_UNLOCKED_TANOBY_RUINS (SYS_FLAGS + 0x49) -#define FLAG_SYS_GOT_MYSTIC_TICKET (SYS_FLAGS + 0x4A) -#define FLAG_SYS_GOT_AURORA_TICKET (SYS_FLAGS + 0x4B) +#define FLAG_ENABLE_SHIP_NAVEL_ROCK (SYS_FLAGS + 0x4A) +#define FLAG_ENABLE_SHIP_BIRTH_ISLAND (SYS_FLAGS + 0x4B) // World Map Flags #define FLAG_WORLD_MAP_PALLET_TOWN (SYS_FLAGS + 0x90) @@ -1415,7 +1418,7 @@ #define FLAG_WORLD_MAP_THREE_ISLAND_BERRY_FOREST (SYS_FLAGS + 0xB7) #define FLAG_WORLD_MAP_FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE (SYS_FLAGS + 0xB8) #define FLAG_WORLD_MAP_FIVE_ISLAND_ROCKET_WAREHOUSE (SYS_FLAGS + 0xB9) -#define FLAG_WORLD_MAP_SEVEN_ISLAND_TRAINER_TOWER_LOBBY (SYS_FLAGS + 0xBA) +#define FLAG_WORLD_MAP_TRAINER_TOWER_LOBBY (SYS_FLAGS + 0xBA) #define FLAG_WORLD_MAP_SIX_ISLAND_DOTTED_HOLE_1F (SYS_FLAGS + 0xBB) #define FLAG_WORLD_MAP_FIVE_ISLAND_LOST_CAVE_ENTRANCE (SYS_FLAGS + 0xBC) #define FLAG_WORLD_MAP_SIX_ISLAND_PATTERN_BUSH (SYS_FLAGS + 0xBD) diff --git a/include/constants/global.h b/include/constants/global.h index e398cc5be..28fe660e3 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -35,6 +35,8 @@ #define QUEST_LOG_SCENE_COUNT 4 +#define NUM_TOWER_CHALLENGE_TYPES 4 + #define MALE 0 #define FEMALE 1 #define GENDER_COUNT 2 diff --git a/include/constants/help_system.h b/include/constants/help_system.h new file mode 100644 index 000000000..628703d3e --- /dev/null +++ b/include/constants/help_system.h @@ -0,0 +1,42 @@ +#ifndef GUARD_CONSTANTS_HELP_SYSTEM_H +#define GUARD_CONSTANTS_HELP_SYSTEM_H + +#define HELPCONTEXT_NONE 0 +#define HELPCONTEXT_TITLE_SCREEN 1 +#define HELPCONTEXT_NEW_GAME 2 +#define HELPCONTEXT_NAMING_SCREEN 3 +#define HELPCONTEXT_POKEDEX 4 +#define HELPCONTEXT_PARTY_MENU 5 +#define HELPCONTEXT_POKEMON_INFO 6 +#define HELPCONTEXT_POKEMON_SKILLS 7 +#define HELPCONTEXT_POKEMON_MOVES 8 +#define HELPCONTEXT_BAG 9 +#define HELPCONTEXT_TRAINER_CARD_FRONT 10 +#define HELPCONTEXT_TRAINER_CARD_BACK 11 +#define HELPCONTEXT_SAVE 12 +#define HELPCONTEXT_OPTIONS 13 +#define HELPCONTEXT_PLAYERS_HOUSE 14 +#define HELPCONTEXT_OAKS_LAB 15 +#define HELPCONTEXT_POKECENTER 16 +#define HELPCONTEXT_MART 17 +#define HELPCONTEXT_GYM 18 +#define HELPCONTEXT_INDOORS 19 +#define HELPCONTEXT_OVERWORLD 20 +#define HELPCONTEXT_DUNGEON 21 // Caves and Forests +#define HELPCONTEXT_SURFING 22 +#define HELPCONTEXT_WILD_BATTLE 23 +#define HELPCONTEXT_TRAINER_BATTLE_SINGLE 24 +#define HELPCONTEXT_TRAINER_BATTLE_DOUBLE 25 +#define HELPCONTEXT_SAFARI_BATTLE 26 +#define HELPCONTEXT_PC 27 +#define HELPCONTEXT_BILLS_PC 28 +#define HELPCONTEXT_PLAYERS_PC_ITEMS 29 +#define HELPCONTEXT_PLAYERS_PC_MAILBOX 30 +#define HELPCONTEXT_PC_MISC 31 // Prof Oaks PC and the HoF PC +#define HELPCONTEXT_BEDROOM_PC 32 +#define HELPCONTEXT_BEDROOM_PC_ITEMS 33 +#define HELPCONTEXT_BEDROOM_PC_MAILBOX 34 +#define HELPCONTEXT_UNUSED 35 +#define HELPCONTEXT_COUNT 36 + +#endif //GUARD_CONSTANTS_HELP_SYSTEM_H diff --git a/include/constants/layouts.h b/include/constants/layouts.h index 657d531e8..431ca198a 100644 --- a/include/constants/layouts.h +++ b/include/constants/layouts.h @@ -4,7 +4,7 @@ #define LAYOUT_PALLET_TOWN_PLAYERS_HOUSE_1F 1 #define LAYOUT_PALLET_TOWN_PLAYERS_HOUSE_2F 2 #define LAYOUT_PALLET_TOWN_GARYS_HOUSE 3 -#define LAYOUT_UNUSED_LAYOUT_82D54D8 4 +#define LAYOUT_LITTLEROOT_TOWN_MAYS_HOUSE_2F 4 #define LAYOUT_PALLET_TOWN_PROFESSOR_OAKS_LAB 5 #define LAYOUT_HOUSE1 6 #define LAYOUT_HOUSE2 7 @@ -14,53 +14,53 @@ #define LAYOUT_HOUSE3 11 #define LAYOUT_CERULEAN_CITY_GYM 12 #define LAYOUT_HOUSE4 13 -#define LAYOUT_UNUSED_LAYOUT_82D6144 14 +#define LAYOUT_LAVARIDGE_TOWN_HERB_SHOP 14 #define LAYOUT_CELADON_CITY_GYM 15 -#define LAYOUT_UNUSED_LAYOUT_82D6490 16 +#define LAYOUT_RS_POKEMON_CENTER_1F 16 #define LAYOUT_FIVE_ISLAND_RESORT_GORGEOUS_HOUSE 17 -#define LAYOUT_UNUSED_LAYOUT_82D6654 18 -#define LAYOUT_UNUSED_LAYOUT_82D672C 19 +#define LAYOUT_PACIFIDLOG_TOWN_HOUSE1 18 +#define LAYOUT_PACIFIDLOG_TOWN_HOUSE2 19 #define LAYOUT_FUCHSIA_CITY_GYM 20 #define LAYOUT_HOUSE5 21 -#define LAYOUT_UNUSED_LAYOUT_82D6C34 24 +#define LAYOUT_UNUSED1 24 #define LAYOUT_VERMILION_CITY_GYM 25 #define LAYOUT_CERULEAN_CITY_BIKE_SHOP 26 #define LAYOUT_CELADON_CITY_GAME_CORNER 27 #define LAYOUT_PEWTER_CITY_GYM 28 #define LAYOUT_FOUR_ISLAND_LORELEIS_HOUSE 30 #define LAYOUT_THREE_ISLAND_HOUSE1 31 -#define LAYOUT_UNUSED_LAYOUT_82D75F0 32 -#define LAYOUT_UNUSED_LAYOUT_82D7674 33 +#define LAYOUT_RUSTBORO_CITY_CUTTERS_HOUSE 32 +#define LAYOUT_FORTREE_CITY_HOUSE1 33 #define LAYOUT_SAFFRON_CITY_GYM 34 -#define LAYOUT_UNUSED_LAYOUT_82D7CC8 35 +#define LAYOUT_FORTREE_CITY_HOUSE2 35 #define LAYOUT_CINNABAR_ISLAND_GYM 36 #define LAYOUT_VIRIDIAN_CITY_GYM 37 -#define LAYOUT_UNUSED_LAYOUT_82D88C8 46 +#define LAYOUT_RS_SAFARI_ZONE_ENTRANCE 46 #define LAYOUT_BATTLE_COLOSSEUM_2P 47 #define LAYOUT_TRADE_CENTER 48 #define LAYOUT_RECORD_CENTER 49 #define LAYOUT_BATTLE_COLOSSEUM_4P 50 #define LAYOUT_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE 51 -#define LAYOUT_UNUSED_LAYOUT_82D9B24 52 -#define LAYOUT_UNUSED_LAYOUT_82DA7C8 53 -#define LAYOUT_UNUSED_LAYOUT_82DB46C 54 -#define LAYOUT_UNUSED_LAYOUT_82DB4F0 55 -#define LAYOUT_UNUSED_LAYOUT_82DBBE0 57 -#define LAYOUT_UNUSED_LAYOUT_82DBDD8 62 -#define LAYOUT_UNUSED_LAYOUT_82DBFB8 63 -#define LAYOUT_UNUSED_LAYOUT_82DC4EC 64 -#define LAYOUT_UNUSED_LAYOUT_82DC60C 65 -#define LAYOUT_UNUSED_LAYOUT_82DC72C 66 -#define LAYOUT_UNUSED_LAYOUT_82DC84C 67 -#define LAYOUT_UNUSED_LAYOUT_82DCA70 68 -#define LAYOUT_UNUSED_LAYOUT_82DCB44 69 -#define LAYOUT_UNUSED_LAYOUT_82DCC40 70 -#define LAYOUT_UNUSED_LAYOUT_82DCCD4 71 -#define LAYOUT_UNUSED_LAYOUT_82DCD68 72 -#define LAYOUT_UNUSED_LAYOUT_82DCDFC 73 -#define LAYOUT_UNUSED_LAYOUT_82DCF00 74 -#define LAYOUT_UNUSED_LAYOUT_82DD004 75 -#define LAYOUT_UNUSED_LAYOUT_82DD0DC 77 +#define LAYOUT_RS_SAFARI_ZONE_NORTHEAST 52 +#define LAYOUT_RS_SAFARI_ZONE_SOUTHWEST 53 +#define LAYOUT_RS_SAFARI_ZONE_SOUTHEAST 54 +#define LAYOUT_FORTREE_CITY_DECORATION_SHOP 55 +#define LAYOUT_RS_BATTLE_TOWER 57 +#define LAYOUT_SS_TIDAL_CORRIDOR 62 +#define LAYOUT_SS_TIDAL_LOWER_DECK 63 +#define LAYOUT_SS_TIDAL_ROOMS 64 +#define LAYOUT_RUSTBORO_CITY_FLAT2_1F 65 +#define LAYOUT_RUSTBORO_CITY_FLAT2_2F 66 +#define LAYOUT_RUSTBORO_CITY_FLAT2_3F 67 +#define LAYOUT_EVER_GRANDE_CITY_HALL_OF_FAME 68 +#define LAYOUT_MOSSDEEP_CITY_EREADER_TRAINER_HOUSE_1F 69 +#define LAYOUT_MOSSDEEP_CITY_EREADER_TRAINER_HOUSE_2F 70 +#define LAYOUT_SOOTOPOLIS_CITY_HOUSE1 71 +#define LAYOUT_SOOTOPOLIS_CITY_HOUSE2 72 +#define LAYOUT_SOOTOPOLIS_CITY_HOUSE3 73 +#define LAYOUT_RUSTBORO_CITY_FLAT1_1F 74 +#define LAYOUT_RUSTBORO_CITY_FLAT1_2F 75 +#define LAYOUT_RS_SAFARI_ZONE_REST_HOUSE 77 #define LAYOUT_PALLET_TOWN 78 #define LAYOUT_VIRIDIAN_CITY 79 #define LAYOUT_PEWTER_CITY 80 @@ -71,7 +71,7 @@ #define LAYOUT_FUCHSIA_CITY 85 #define LAYOUT_CINNABAR_ISLAND 86 #define LAYOUT_INDIGO_PLATEAU_EXTERIOR 87 -#define LAYOUT_SAFFRON_CITY_CLASSIC 88 +#define LAYOUT_SAFFRON_CITY_CONNECTION 88 #define LAYOUT_ROUTE1 89 #define LAYOUT_ROUTE2 90 #define LAYOUT_ROUTE3 91 @@ -208,8 +208,8 @@ #define LAYOUT_ROUTE16_NORTH_ENTRANCE_1F 223 #define LAYOUT_ENTRANCE_1F 224 #define LAYOUT_ROCKET_HIDEOUT_ELEVATOR 225 -#define LAYOUT_SAFFRON_CITY_HOUSE1_1F 226 -#define LAYOUT_SAFFRON_CITY_HOUSE1_2F 227 +#define LAYOUT_SAFFRON_CITY_COPYCATS_HOUSE_1F 226 +#define LAYOUT_SAFFRON_CITY_COPYCATS_HOUSE_2F 227 #define LAYOUT_SAFFRON_CITY_DOJO 228 #define LAYOUT_SILPH_CO_ELEVATOR 229 #define LAYOUT_ONE_ISLAND 230 @@ -224,10 +224,10 @@ #define LAYOUT_TWO_ISLAND_CAPE_BRINK 239 #define LAYOUT_THREE_ISLAND_BOND_BRIDGE 240 #define LAYOUT_THREE_ISLAND_PORT 241 -#define LAYOUT_UNKNOWN_MAP_03_50 242 -#define LAYOUT_UNKNOWN_MAP_03_51 243 -#define LAYOUT_UNKNOWN_MAP_03_52 244 -#define LAYOUT_UNKNOWN_MAP_03_53 245 +#define LAYOUT_PROTOTYPE_SEVII_ISLE_6 242 +#define LAYOUT_PROTOTYPE_SEVII_ISLE_7 243 +#define LAYOUT_PROTOTYPE_SEVII_ISLE_8 244 +#define LAYOUT_PROTOTYPE_SEVII_ISLE_9 245 #define LAYOUT_FIVE_ISLAND_RESORT_GORGEOUS 246 #define LAYOUT_FIVE_ISLAND_WATER_LABYRINTH 247 #define LAYOUT_FIVE_ISLAND_MEADOW 248 @@ -240,17 +240,17 @@ #define LAYOUT_SEVEN_ISLAND_SEVAULT_CANYON_ENTRANCE 255 #define LAYOUT_SEVEN_ISLAND_SEVAULT_CANYON 256 #define LAYOUT_SEVEN_ISLAND_TANOBY_RUINS 257 -#define LAYOUT_UNUSED_LAYOUT_833614C 258 -#define LAYOUT_UNUSED_LAYOUT_83377F0 259 -#define LAYOUT_UNUSED_LAYOUT_8338354 260 -#define LAYOUT_UNUSED_LAYOUT_8338738 261 +#define LAYOUT_PROTOTYPE_SEVII_ISLE_22 258 +#define LAYOUT_PROTOTYPE_SEVII_ISLE_23_EAST 259 +#define LAYOUT_PROTOTYPE_SEVII_ISLE_23_WEST 260 +#define LAYOUT_PROTOTYPE_SEVII_ISLE_24 261 #define LAYOUT_UNION_ROOM 262 #define LAYOUT_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB 263 -#define LAYOUT_UNUSED_LAYOUT_8338B4C 264 +#define LAYOUT_SEVEN_ISLAND_HOUSE_ROOM1_DOOR_OPEN 264 #define LAYOUT_SEVEN_ISLAND_HOUSE_ROOM2 265 #define LAYOUT_VIRIDIAN_CITY_HOUSE2 266 -#define LAYOUT_UNUSED_LAYOUT_8338E90 267 -#define LAYOUT_UNUSED_LAYOUT_833902C 268 +#define LAYOUT_CELADON_CITY_RESTAURANT_DUPLICATE 267 +#define LAYOUT_CELADON_CITY_HOTEL_DUPLICATE 268 #define LAYOUT_MT_EMBER_RUBY_PATH_B4F 269 #define LAYOUT_THREE_ISLAND_BERRY_FOREST 270 #define LAYOUT_ONE_ISLAND_POKEMON_CENTER_1F 271 @@ -279,17 +279,17 @@ #define LAYOUT_FOUR_ISLAND_ICEFALL_CAVE_1F 294 #define LAYOUT_FOUR_ISLAND_ICEFALL_CAVE_B1F 295 #define LAYOUT_FOUR_ISLAND_ICEFALL_CAVE_BACK 296 -#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_LOBBY 297 -#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_1F 298 -#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_2F 299 -#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_3F 300 -#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_4F 301 -#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_5F 302 -#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_6F 303 -#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_7F 304 -#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_8F 305 -#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_ROOF 306 -#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_ELEVATOR 307 +#define LAYOUT_TRAINER_TOWER_LOBBY 297 +#define LAYOUT_TRAINER_TOWER_1F 298 +#define LAYOUT_TRAINER_TOWER_2F 299 +#define LAYOUT_TRAINER_TOWER_3F 300 +#define LAYOUT_TRAINER_TOWER_4F 301 +#define LAYOUT_TRAINER_TOWER_5F 302 +#define LAYOUT_TRAINER_TOWER_6F 303 +#define LAYOUT_TRAINER_TOWER_7F 304 +#define LAYOUT_TRAINER_TOWER_8F 305 +#define LAYOUT_TRAINER_TOWER_ROOF 306 +#define LAYOUT_TRAINER_TOWER_ELEVATOR 307 #define LAYOUT_CERULEAN_CITY_HOUSE5 308 #define LAYOUT_SIX_ISLAND_DOTTED_HOLE_1F 309 #define LAYOUT_SIX_ISLAND_DOTTED_HOLE_B1F 310 @@ -301,7 +301,7 @@ #define LAYOUT_ONE_ISLAND_POKEMON_CENTER_2F 316 #define LAYOUT_SIX_ISLAND_PATTERN_BUSH 317 #define LAYOUT_THREE_ISLAND_DUNSPARCE_TUNNEL 318 -#define LAYOUT_THREE_ISLAND_DUNSPARCE_TUNNEL_2 319 +#define LAYOUT_THREE_ISLAND_DUNSPARCE_TUNNEL_DUG_OUT 319 #define LAYOUT_FIVE_ISLAND_LOST_CAVE_ENTRANCE 320 #define LAYOUT_FIVE_ISLAND_LOST_CAVE_ROOM1 321 #define LAYOUT_FIVE_ISLAND_LOST_CAVE_ROOM2 322 @@ -348,22 +348,22 @@ #define LAYOUT_SEVEN_ISLAND_TANOBY_RUINS_VIAPOIS_CHAMBER 363 #define LAYOUT_NAVEL_ROCK_B1F 364 #define LAYOUT_NAVEL_ROCK_FORK 365 -#define LAYOUT_UNUSED_LAYOUT_834BC2C 366 -#define LAYOUT_UNUSED_LAYOUT_834BEB4 367 -#define LAYOUT_UNUSED_LAYOUT_834C13C 368 -#define LAYOUT_UNUSED_LAYOUT_834C3C4 369 -#define LAYOUT_UNUSED_LAYOUT_834C64C 370 -#define LAYOUT_UNUSED_LAYOUT_834C8D4 371 -#define LAYOUT_UNUSED_LAYOUT_834CB5C 372 -#define LAYOUT_UNUSED_LAYOUT_834CDE4 373 -#define LAYOUT_UNUSED_LAYOUT_834D06C 374 -#define LAYOUT_UNUSED_LAYOUT_834D2F4 375 -#define LAYOUT_UNUSED_LAYOUT_834D57C 376 -#define LAYOUT_UNUSED_LAYOUT_834D804 377 -#define LAYOUT_UNUSED_LAYOUT_834DA8C 378 -#define LAYOUT_UNUSED_LAYOUT_834DD14 379 -#define LAYOUT_UNUSED_LAYOUT_834DF9C 380 -#define LAYOUT_UNUSED_LAYOUT_834E224 381 +#define LAYOUT_TRAINER_TOWER_1F_DOUBLES 366 +#define LAYOUT_TRAINER_TOWER_2F_DOUBLES 367 +#define LAYOUT_TRAINER_TOWER_3F_DOUBLES 368 +#define LAYOUT_TRAINER_TOWER_4F_DOUBLES 369 +#define LAYOUT_TRAINER_TOWER_5F_DOUBLES 370 +#define LAYOUT_TRAINER_TOWER_6F_DOUBLES 371 +#define LAYOUT_TRAINER_TOWER_7F_DOUBLES 372 +#define LAYOUT_TRAINER_TOWER_8F_DOUBLES 373 +#define LAYOUT_TRAINER_TOWER_1F_KNOCKOUT 374 +#define LAYOUT_TRAINER_TOWER_2F_KNOCKOUT 375 +#define LAYOUT_TRAINER_TOWER_3F_KNOCKOUT 376 +#define LAYOUT_TRAINER_TOWER_4F_KNOCKOUT 377 +#define LAYOUT_TRAINER_TOWER_5F_KNOCKOUT 378 +#define LAYOUT_TRAINER_TOWER_6F_KNOCKOUT 379 +#define LAYOUT_TRAINER_TOWER_7F_KNOCKOUT 380 +#define LAYOUT_TRAINER_TOWER_8F_KNOCKOUT 381 #define LAYOUT_SEVEN_ISLAND_HOUSE_ROOM1 382 #define LAYOUT_ONE_ISLAND_KINDLE_ROAD_EMBER_SPA 383 diff --git a/include/constants/map_groups.h b/include/constants/map_groups.h index 0cc1c27fb..27e74b337 100644 --- a/include/constants/map_groups.h +++ b/include/constants/map_groups.h @@ -135,17 +135,17 @@ // Map Group 2 #define MAP_NAVEL_ROCK_EXTERIOR (0 | (2 << 8)) -#define MAP_SEVEN_ISLAND_TRAINER_TOWER_1F (1 | (2 << 8)) -#define MAP_SEVEN_ISLAND_TRAINER_TOWER_2F (2 | (2 << 8)) -#define MAP_SEVEN_ISLAND_TRAINER_TOWER_3F (3 | (2 << 8)) -#define MAP_SEVEN_ISLAND_TRAINER_TOWER_4F (4 | (2 << 8)) -#define MAP_SEVEN_ISLAND_TRAINER_TOWER_5F (5 | (2 << 8)) -#define MAP_SEVEN_ISLAND_TRAINER_TOWER_6F (6 | (2 << 8)) -#define MAP_SEVEN_ISLAND_TRAINER_TOWER_7F (7 | (2 << 8)) -#define MAP_SEVEN_ISLAND_TRAINER_TOWER_8F (8 | (2 << 8)) -#define MAP_SEVEN_ISLAND_TRAINER_TOWER_ROOF (9 | (2 << 8)) -#define MAP_SEVEN_ISLAND_TRAINER_TOWER_LOBBY (10 | (2 << 8)) -#define MAP_SEVEN_ISLAND_TRAINER_TOWER_ELEVATOR (11 | (2 << 8)) +#define MAP_TRAINER_TOWER_1F (1 | (2 << 8)) +#define MAP_TRAINER_TOWER_2F (2 | (2 << 8)) +#define MAP_TRAINER_TOWER_3F (3 | (2 << 8)) +#define MAP_TRAINER_TOWER_4F (4 | (2 << 8)) +#define MAP_TRAINER_TOWER_5F (5 | (2 << 8)) +#define MAP_TRAINER_TOWER_6F (6 | (2 << 8)) +#define MAP_TRAINER_TOWER_7F (7 | (2 << 8)) +#define MAP_TRAINER_TOWER_8F (8 | (2 << 8)) +#define MAP_TRAINER_TOWER_ROOF (9 | (2 << 8)) +#define MAP_TRAINER_TOWER_LOBBY (10 | (2 << 8)) +#define MAP_TRAINER_TOWER_ELEVATOR (11 | (2 << 8)) #define MAP_FIVE_ISLAND_LOST_CAVE_ENTRANCE (12 | (2 << 8)) #define MAP_FIVE_ISLAND_LOST_CAVE_ROOM1 (13 | (2 << 8)) #define MAP_FIVE_ISLAND_LOST_CAVE_ROOM2 (14 | (2 << 8)) @@ -207,7 +207,7 @@ #define MAP_CINNABAR_ISLAND (8 | (3 << 8)) #define MAP_INDIGO_PLATEAU_EXTERIOR (9 | (3 << 8)) #define MAP_SAFFRON_CITY (10 | (3 << 8)) -#define MAP_SAFFRON_CITY_CLASSIC (11 | (3 << 8)) +#define MAP_SAFFRON_CITY_CONNECTION (11 | (3 << 8)) #define MAP_ONE_ISLAND (12 | (3 << 8)) #define MAP_TWO_ISLAND (13 | (3 << 8)) #define MAP_THREE_ISLAND (14 | (3 << 8)) @@ -246,10 +246,10 @@ #define MAP_TWO_ISLAND_CAPE_BRINK (47 | (3 << 8)) #define MAP_THREE_ISLAND_BOND_BRIDGE (48 | (3 << 8)) #define MAP_THREE_ISLAND_PORT (49 | (3 << 8)) -#define MAP_UNKNOWN_MAP_03_50 (50 | (3 << 8)) -#define MAP_UNKNOWN_MAP_03_51 (51 | (3 << 8)) -#define MAP_UNKNOWN_MAP_03_52 (52 | (3 << 8)) -#define MAP_UNKNOWN_MAP_03_53 (53 | (3 << 8)) +#define MAP_PROTOTYPE_SEVII_ISLE_6 (50 | (3 << 8)) +#define MAP_PROTOTYPE_SEVII_ISLE_7 (51 | (3 << 8)) +#define MAP_PROTOTYPE_SEVII_ISLE_8 (52 | (3 << 8)) +#define MAP_PROTOTYPE_SEVII_ISLE_9 (53 | (3 << 8)) #define MAP_FIVE_ISLAND_RESORT_GORGEOUS (54 | (3 << 8)) #define MAP_FIVE_ISLAND_WATER_LABYRINTH (55 | (3 << 8)) #define MAP_FIVE_ISLAND_MEADOW (56 | (3 << 8)) @@ -366,15 +366,15 @@ #define MAP_INDIGO_PLATEAU_POKEMON_CENTER_2F (1 | (13 << 8)) // Map Group 14 -#define MAP_SAFFRON_CITY_HOUSE1_1F (0 | (14 << 8)) -#define MAP_SAFFRON_CITY_HOUSE1_2F (1 | (14 << 8)) +#define MAP_SAFFRON_CITY_COPYCATS_HOUSE_1F (0 | (14 << 8)) +#define MAP_SAFFRON_CITY_COPYCATS_HOUSE_2F (1 | (14 << 8)) #define MAP_SAFFRON_CITY_DOJO (2 | (14 << 8)) #define MAP_SAFFRON_CITY_GYM (3 | (14 << 8)) -#define MAP_SAFFRON_CITY_HOUSE2 (4 | (14 << 8)) +#define MAP_SAFFRON_CITY_HOUSE (4 | (14 << 8)) #define MAP_SAFFRON_CITY_MART (5 | (14 << 8)) #define MAP_SAFFRON_CITY_POKEMON_CENTER_1F (6 | (14 << 8)) #define MAP_SAFFRON_CITY_POKEMON_CENTER_2F (7 | (14 << 8)) -#define MAP_SAFFRON_CITY_HOUSE3 (8 | (14 << 8)) +#define MAP_SAFFRON_CITY_MR_PSYCHICS_HOUSE (8 | (14 << 8)) #define MAP_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB (9 | (14 << 8)) // Map Group 15 diff --git a/include/constants/map_types.h b/include/constants/map_types.h index 96ea73702..d32a4e2a4 100644 --- a/include/constants/map_types.h +++ b/include/constants/map_types.h @@ -1,15 +1,25 @@ #ifndef GUARD_CONSTANTS_MAP_TYPES_H #define GUARD_CONSTANTS_MAP_TYPES_H -#define MAP_TYPE_0 0 +#define MAP_TYPE_NONE 0 #define MAP_TYPE_TOWN 1 -#define MAP_TYPE_CITY 2 +#define MAP_TYPE_CITY 2 // Unused. RSE use this map type to distinguish Town and City. FRLG make no distinction #define MAP_TYPE_ROUTE 3 #define MAP_TYPE_UNDERGROUND 4 -#define MAP_TYPE_UNDERWATER 5 -#define MAP_TYPE_OCEAN_ROUTE 6 -#define MAP_TYPE_7 7 +#define MAP_TYPE_UNDERWATER 5 // Unused +#define MAP_TYPE_OCEAN_ROUTE 6 // Unused +#define MAP_TYPE_UNKNOWN 7 // Unused #define MAP_TYPE_INDOOR 8 -#define MAP_TYPE_SECRET_BASE 9 +#define MAP_TYPE_SECRET_BASE 9 // Unused + +#define MAP_BATTLE_SCENE_NORMAL 0 +#define MAP_BATTLE_SCENE_GYM 1 +#define MAP_BATTLE_SCENE_INDOOR_1 2 // Pokemon Tower, Tanoby ruins +#define MAP_BATTLE_SCENE_INDOOR_2 3 // Pokemon Mansion, Power Plant, Rocket Hideout/Warehouse +#define MAP_BATTLE_SCENE_LORELEI 4 +#define MAP_BATTLE_SCENE_BRUNO 5 +#define MAP_BATTLE_SCENE_AGATHA 6 +#define MAP_BATTLE_SCENE_LANCE 7 +#define MAP_BATTLE_SCENE_LINK 8 #endif // GUARD_CONSTANTS_MAP_TYPES_H diff --git a/include/constants/maps.h b/include/constants/maps.h index db8ee451c..395b07f46 100644 --- a/include/constants/maps.h +++ b/include/constants/maps.h @@ -2,6 +2,7 @@ #define GUARD_CONSTANTS_MAPS_H #include "constants/map_groups.h" +#include "constants/map_types.h" #define MAP_NONE (0x7F | (0x7F << 8)) #define MAP_UNDEFINED (0xFF | (0xFF << 8)) @@ -11,33 +12,4 @@ #define MAP(map) MAP_GROUP(map), MAP_NUM(map) -// temporary map constants -#define BATTLE_SCENE_0 0 -#define BATTLE_SCENE_1 1 -#define BATTLE_SCENE_2 2 -#define BATTLE_SCENE_3 3 -#define BATTLE_SCENE_4 4 -#define BATTLE_SCENE_5 5 -#define BATTLE_SCENE_6 6 -#define BATTLE_SCENE_7 7 -#define BATTLE_SCENE_8 8 -#define BATTLE_SCENE_9 9 -#define BATTLE_SCENE_10 10 -#define BATTLE_SCENE_11 11 -#define BATTLE_SCENE_12 12 -#define BATTLE_SCENE_13 13 -#define BATTLE_SCENE_14 14 -#define BATTLE_SCENE_15 15 - -#define MAP_TYPE_0 0 -#define MAP_TYPE_1 1 -#define MAP_TYPE_2 2 -#define MAP_TYPE_3 3 -#define MAP_TYPE_4 4 -#define MAP_TYPE_5 5 -#define MAP_TYPE_6 6 -#define MAP_TYPE_7 7 -#define MAP_TYPE_8 8 -#define MAP_TYPE_9 9 - #endif // GUARD_CONSTANTS_MAPS_H diff --git a/include/constants/metatile_labels.h b/include/constants/metatile_labels.h index 8726113f4..a9642eeac 100644 --- a/include/constants/metatile_labels.h +++ b/include/constants/metatile_labels.h @@ -1,14 +1,102 @@ #ifndef GUARD_METATILE_LABELS_H #define GUARD_METATILE_LABELS_H -// General +// gTileset_General +#define METATILE_General_Plain_Mowed 0x001 +#define METATILE_General_ThinTreeTop_Grass 0x00A +#define METATILE_General_WideTreeTopLeft_Grass 0x00B +#define METATILE_General_WideTreeTopRight_Grass 0x00C +#define METATILE_General_Plain_Grass 0x00D +#define METATILE_General_WideTreeTopLeft_Mowed 0x00E +#define METATILE_General_WideTreeTopRight_Mowed 0x00F +#define METATILE_General_ThinTreeTop_Mowed 0x013 #define METATILE_General_CalmWater 0x12B +#define METATILE_General_Door 0x03D +#define METATILE_General_SlidingSingleDoor 0x062 +#define METATILE_General_SlidingDoubleDoor 0x15B -// PokeMart -#define METATILE_Shop_CounterMid_Top 0x2BF -#define METATILE_Shop_CounterMid_Bottom 0x2C0 +// gTileset_Building +#define METATILE_Building_PCOff 0x062 +#define METATILE_Building_PCOn 0x063 -// Vermilion Gym +// gTileset_GenericBuilding1 +#define METATILE_GenericBuilding1_PlayersPCOn 0x28A +#define METATILE_GenericBuilding1_PlayersPCOff 0x28F + +// gTileset_Mart +#define METATILE_Mart_CounterMid_Top 0x2BF +#define METATILE_Mart_CounterMid_Bottom 0x2C0 + +// gTileset_PokemonCenter +#define METATILE_PokemonCenter_Floor_ShadeLeft 0x2C5 +#define METATILE_PokemonCenter_CounterBarrier 0x2F9 +#define METATILE_PokemonCenter_NetworkMachine_ScreenLeft_On 0x35A +#define METATILE_PokemonCenter_NetworkMachine_ScreenRight_On 0x35B +#define METATILE_PokemonCenter_NetworkMachine_Ruby 0x35D +#define METATILE_PokemonCenter_NetworkMachine_Sapphire 0x35F +#define METATILE_PokemonCenter_Escalator_Top_Normal 0x2E4 +#define METATILE_PokemonCenter_Escalator_Top_Transition1 0x317 +#define METATILE_PokemonCenter_Escalator_Top_Transition2 0x315 +#define METATILE_PokemonCenter_Escalator_TopNext_Normal 0x2E3 +#define METATILE_PokemonCenter_Escalator_TopNext_Transition1 0x316 +#define METATILE_PokemonCenter_Escalator_TopNext_Transition2 0x314 +#define METATILE_PokemonCenter_Escalator_TopNextRail_Normal 0x2EB +#define METATILE_PokemonCenter_Escalator_TopNextRail_Transition1 0x31E +#define METATILE_PokemonCenter_Escalator_TopNextRail_Transition2 0x31C +#define METATILE_PokemonCenter_Escalator_Bottom_Normal 0x2D9 +#define METATILE_PokemonCenter_Escalator_Bottom_Transition1 0x313 +#define METATILE_PokemonCenter_Escalator_Bottom_Transition2 0x311 +#define METATILE_PokemonCenter_Escalator_BottomRail_Normal 0x2D1 +#define METATILE_PokemonCenter_Escalator_BottomRail_Transition1 0x30B +#define METATILE_PokemonCenter_Escalator_BottomRail_Transition2 0x309 +#define METATILE_PokemonCenter_Escalator_BottomNext_Normal 0x2D8 +#define METATILE_PokemonCenter_Escalator_BottomNext_Transition1 0x312 +#define METATILE_PokemonCenter_Escalator_BottomNext_Transition2 0x310 +#define METATILE_PokemonCenter_Escalator_BottomNextRail_Normal 0x2D0 +#define METATILE_PokemonCenter_Escalator_BottomNextRail_Transition1 0x30A +#define METATILE_PokemonCenter_Escalator_BottomNextRail_Transition2 0x308 +#define METATILE_PokemonCenter_CableClubDoor 0x2DE + +// gTileset_Cave +#define METATILE_Cave_Floor_Ledge_Top 0x2D1 +#define METATILE_Cave_Floor_Ledge_Bottom 0x2E1 +#define METATILE_Cave_RockBarrier_Top 0x307 +#define METATILE_Cave_RockBarrier_Bottom 0x317 + +// gTileset_PalletTown +#define METATILE_PalletTown_Door 0x2A3 +#define METATILE_PalletTown_OaksLabDoor 0x2AC + +// gTileset_ViridianCity +#define METATILE_ViridianCity_Door 0x299 + +// gTileset_ViridianForest +#define METATILE_ViridianForest_HugeTreeTopMiddle_Grass 0x284 +#define METATILE_ViridianForest_HugeTreeTopMiddle_Mowed 0x281 + +// gTileset_PewterCity +#define METATILE_PewterCity_Door 0x2CE + +// gTileset_CeruleanCity +#define METATILE_CeruleanCity_Door 0x298 + +// gTileset_SeaCottage +#define METATILE_SeaCottage_Teleporter_Light_Green 0x28A +#define METATILE_SeaCottage_Teleporter_Light_Yellow 0x2B5 +#define METATILE_SeaCottage_Teleporter_Light_Red 0x2B6 +#define METATILE_SeaCottage_Teleporter_Cable_Top 0x285 +#define METATILE_SeaCottage_Teleporter_Cable_Bottom 0x2B4 +#define METATILE_SeaCottage_Teleporter_CableBall_Top 0x2B9 +#define METATILE_SeaCottage_Teleporter_CableBall_Bottom 0x2BA +#define METATILE_SeaCottage_Teleporter_Door 0x296 +#define METATILE_SeaCottage_Teleporter_Door_HalfGlowing 0x2B7 +#define METATILE_SeaCottage_Teleporter_Door_FullGlowing 0x2B8 + +// gTileset_VermilionCity +#define METATILE_VermilionCity_Door 0x29E +#define METATILE_VermilionCity_PokemonFanClubDoor 0x2E1 // Used to reference door tiles in field_door.c, but the metatile in the tileset is dummied + +// gTileset_VermilionGym #define METATILE_VermilionGym_Floor 0x281 #define METATILE_VermilionGym_Beam_MidTop 0x285 #define METATILE_VermilionGym_Beam_MidBottom 0x28D @@ -39,7 +127,100 @@ #define METATILE_VermilionGym_Beam_Node_BottomRight_Edge_HalfOn 0x2C6 #define METATILE_VermilionGym_Beam_Node_BottomRight_HalfOn 0x2C7 -// Pokemon Mansion +// gTileset_SSAnne +#define METATILE_SSAnne_Door 0x281 + +// gTileset_LavenderTown +#define METATILE_LavenderTown_Door 0x2A2 + +// gTilset_CeladonCity +#define METATILE_CeladonCity_DeptStoreDoor 0x294 +#define METATILE_CeladonCity_CyclingRoad_Grass 0x352 +#define METATILE_CeladonCity_CyclingRoad_Mowed 0x33E + +// gTileset_DepartmentStore +#define METATILE_DepartmentStore_ElevatorDoor 0x28D + +// gTileset_GameCorner +#define METATILE_GameCorner_Floor_ShadeFull 0x292 +#define METATILE_GameCorner_Floor_StairsTop 0x29D +#define METATILE_GameCorner_StairsTop 0x29E +#define METATILE_GameCorner_StairsBottom 0x29F +#define METATILE_GameCorner_PurpleWall_Floor 0x2CF +#define METATILE_GameCorner_PurpleWall_StairsTop 0x2A6 +#define METATILE_GameCorner_PurpleWall_stairsBottom 0x2A7 +#define METATILE_GameCorner_CheckeredFloor_ShadeLeft 0x2E1 +#define METATILE_GameCorner_CounterBarrier 0x2F7 + +// gTileset_SaffronCity +#define METATILE_SaffronCity_Door 0x284 +#define METATILE_SaffronCity_SilphCoDoor 0x2BC + +// gTileset_SilphCo Includes Silph Co, Rocket Hideout/Warehouse, and all Elevators +#define METATILE_SilphCo_HideoutFloor 0x281 +#define METATILE_SilphCo_HideoutFloor_ShadeFull 0x282 +#define METATILE_SilphCo_Arrow_Up 0x2A0 +#define METATILE_SilphCo_Arrow_Left 0x2A1 +#define METATILE_SilphCo_Arrow_Down 0x2A8 +#define METATILE_SilphCo_Arrow_Right 0x2A9 +#define METATILE_SilphCo_HideoutBarrier_TopLeft_Wall 0x2C6 +#define METATILE_SilphCo_HideoutBarrier_TopRight_Wall 0x2C7 +#define METATILE_SilphCo_HideoutBarrier_TopLeft_Floor 0x2CE +#define METATILE_SilphCo_HideoutBarrier_TopRight_Floor 0x2CF +#define METATILE_SilphCo_HideoutBarrier_BottomLeft 0x2D6 +#define METATILE_SilphCo_HideoutBarrier_BottomRight 0x2D7 +#define METATILE_SilphCo_HideoutElevatorDoor 0x2AB +#define METATILE_SilphCo_ElevatorDoor 0x2E2 +#define METATILE_SilphCo_ElevatorWindow_Top0 0x2E8 +#define METATILE_SilphCo_ElevatorWindow_Top1 0x2E9 +#define METATILE_SilphCo_ElevatorWindow_Top2 0x2EA +#define METATILE_SilphCo_ElevatorWindow_Mid0 0x2F0 +#define METATILE_SilphCo_ElevatorWindow_Mid1 0x2F1 +#define METATILE_SilphCo_ElevatorWindow_Mid2 0x2F2 +#define METATILE_SilphCo_ElevatorWindow_Bottom0 0x2F8 +#define METATILE_SilphCo_ElevatorWindow_Bottom1 0x2F9 +#define METATILE_SilphCo_ElevatorWindow_Bottom2 0x2FA +#define METATILE_SilphCo_Floor 0x334 +#define METATILE_SilphCo_Floor_ShadeFull 0x335 +#define METATILE_SilphCo_Floor_WallLeftCorner 0x339 +#define METATILE_SilphCo_Floor_WallRightCorner 0x33A +#define METATILE_SilphCo_Wall_RightEdge 0x346 +#define METATILE_SilphCo_Wall_LeftEdge 0x347 +#define METATILE_SilphCo_HorizontalBarrier_TopLeft 0x3B0 +#define METATILE_SilphCo_HorizontalBarrier_TopRight 0x3B1 +#define METATILE_SilphCo_HorizontalBarrier_BottomLeft 0x3B8 +#define METATILE_SilphCo_HorizontalBarrier_BottomRight 0x3B9 +#define METATILE_SilphCo_VerticalBarrier_TopLeft 0x3C0 +#define METATILE_SilphCo_VerticalBarrier_TopRight 0x3C1 +#define METATILE_SilphCo_VerticalBarrier_MidLeft 0x3C2 +#define METATILE_SilphCo_VerticalBarrier_MidRight 0x3C3 +#define METATILE_SilphCo_VerticalBarrier_BottomLeft 0x3C4 +#define METATILE_SilphCo_VerticalBarrier_BottomRight 0x3C5 + +// gTileset_FuchsiaCity +#define METATILE_FuchsiaCity_Door 0x2BF +#define METATILE_FuchsiaCity_SafariZoneDoor 0x2D2 +#define METATILE_FuchsiaCity_SafariZoneTreeTopLeft_Grass 0x300 +#define METATILE_FuchsiaCity_SafariZoneTreeTopMiddle_Grass 0x301 +#define METATILE_FuchsiaCity_SafariZoneTreeTopRight_Grass 0x302 +#define METATILE_FuchsiaCity_SafariZoneTreeTopLeft_Mowed 0x310 +#define METATILE_FuchsiaCity_SafariZoneTreeTopMiddle_Mowed 0x311 +#define METATILE_FuchsiaCity_SafariZoneTreeTopRight_Mowed 0x312 + +// gTileset_CinnabarIsland +#define METATILE_CinnabarIsland_LabDoor 0x2AD + +// gTileset_CinnabarGym +#define METATILE_CinnabarGym_Floor 0x281 +#define METATILE_CinnabarGym_Floor_ShadeDiagonal 0x282 +#define METATILE_CinnabarGym_Floor_ShadeFull 0x289 +#define METATILE_CinnabarGym_Floor_WallRightCorner 0x2C6 +#define METATILE_CinnabarGym_Floor_WallLeftCorner 0x2C7 +#define METATILE_CinnabarGym_Floor_WallRightEdge 0x2CE +#define METATILE_CinnabarGym_Floor_WallLeftEdge 0x2CF +#define METATILE_CinnabarGym_Wall_RetractedBarrier 0x2D1 + +// gTileset_PokemonMansion #define METATILE_PokemonMansion_Floor 0x284 #define METATILE_PokemonMansion_Floor_ShadeFull 0x285 #define METATILE_PokemonMansion_BasementFloor 0x286 @@ -72,18 +253,46 @@ #define METATILE_PokemonMansion_Statue_RedEyes_Shade 0x34E #define METATILE_PokemonMansion_Statue_RedEyes_Basement 0x34F -// Cinnabar Gym -#define METATILE_CinnabarGym_Floor 0x281 -#define METATILE_CinnabarGym_Floor_ShadeDiagonal 0x282 -#define METATILE_CinnabarGym_Floor_ShadeFull 0x289 -#define METATILE_CinnabarGym_Floor_WallRightCorner 0x2C6 -#define METATILE_CinnabarGym_Floor_WallLeftCorner 0x2C7 -#define METATILE_CinnabarGym_Floor_WallRightEdge 0x2CE -#define METATILE_CinnabarGym_Floor_WallLeftEdge 0x2CF -#define METATILE_CinnabarGym_Wall_RetractedBarrier 0x2D1 +// gTileset_PokemonLeague +#define METATILE_PokemonLeague_Door_Top_Open 0x28E +#define METATILE_PokemonLeague_Door_Mid_Open 0x296 +#define METATILE_PokemonLeague_Entry_TopLeft_Closed 0x29D +#define METATILE_PokemonLeague_Entry_TopMid_Closed 0x29E +#define METATILE_PokemonLeague_Entry_TopRight_Closed 0x29F +#define METATILE_PokemonLeague_Entry_BottomLeft_Closed 0x2A5 +#define METATILE_PokemonLeague_Entry_BottomMid_Closed 0x2A6 +#define METATILE_PokemonLeague_Entry_BottomRight_Closed 0x2A7 +#define METATILE_PokemonLeague_Floor_ShadeFull_Lance 0x311 -// gTileset_82D504C. Below metatile probably needs generic name +// gTileset_MtEmber #define METATILE_MtEmber_CaveEntrance 0x346 +// gTileset_SeafoamIslands +#define METATILE_SeafoamIslands_SlidingIce 0x34B +#define METATILE_SeafoamIslands_UncrackedIce 0x359 +#define METATILE_SeafoamIslands_CrackedIce 0x35A +#define METATILE_SeafoamIslands_IceHole 0x35B + +// gTileset_TrainerTower +#define METATILE_TrainerTower_Floor_ShadeBottomLeft 0x287 +#define METATILE_TrainerTower_CounterBarrier 0x2B4 +#define METATILE_TrainerTower_LobbyElevatorDoor 0x2C3 +#define METATILE_TrainerTower_RoofElevatorDoor 0x356 + +// gTileset_SeviiIslands123 +#define METATILE_SeviiIslands123_Door 0x297 +#define METATILE_SeviiIslands123_GameCornerDoor 0x29B +#define METATILE_SeviiIslands123_PokeCenterDoor 0x2EB + +// gTileset_SeviiIslands45 +#define METATILE_SeviiIslands45_Door 0x29A +#define METATILE_SeviiIslands45_DayCareDoor 0x2B9 +#define METATILE_SeviiIslands45_RocketWarehouseDoor_Locked 0x30B +#define METATILE_SeviiIslands45_RocketWarehouseDoor_Unlocked 0x2AF + +// gTileset_SeviiIslands67 +#define METATILE_SeviiIslands67_Door 0x30C +#define METATILE_SeviiIslands67_DottedHoleDoor_Closed 0x357 +#define METATILE_SeviiIslands67_DottedHoleDoor_Open 0x358 #endif // GUARD_METATILE_LABELS_H diff --git a/include/constants/movement_commands.h b/include/constants/movement_commands.h deleted file mode 100644 index 8556ba951..000000000 --- a/include/constants/movement_commands.h +++ /dev/null @@ -1,121 +0,0 @@ -#ifndef GUARD_CONSTANTS_MOVEMENT_COMMANDS_H -#define GUARD_CONSTANTS_MOVEMENT_COMMANDS_H - -enum -{ - face_down, - face_up, - face_left, - face_right, - face_down_fast, - face_up_fast, - face_left_fast, - face_right_fast, - walk_slowest_down, - walk_slowest_up, - walk_slowest_left, - walk_slowest_right, - walk_slow_down, - walk_slow_up, - walk_slow_left, - walk_slow_right, - walk_down, - walk_up, - walk_left, - walk_right, - jump_2_down, - jump_2_up, - jump_2_left, - jump_2_right, - delay_1, - delay_2, - delay_4, - delay_8, - delay_16, - walk_fast_down, - walk_fast_up, - walk_fast_left, - walk_fast_right, - walk_in_place_slow_down, - walk_in_place_slow_up, - walk_in_place_slow_left, - walk_in_place_slow_right, - walk_in_place_down, - walk_in_place_up, - walk_in_place_left, - walk_in_place_right, - walk_in_place_fast_down, - walk_in_place_fast_up, - walk_in_place_fast_left, - walk_in_place_fast_right, - walk_in_place_fastest_down, - walk_in_place_fastest_up, - walk_in_place_fastest_left, - walk_in_place_fastest_right, - face_down_slow, - face_up_slow, - face_left_slow, - face_right_slow, - walk_fastest_down, - walk_fastest_up, - walk_fastest_left, - walk_fastest_right, - slide_down, - slide_up, - slide_left, - slide_right, - player_run_down, - player_run_up, - player_run_left, - player_run_right, - player_run_down_slow, - player_run_up_slow, - player_run_left_slow, - player_run_right_slow, - step_45, - jump_down_run, - jump_up_run, - jump_left_run, - jump_right_run, - face_player, - face_away_player, - lock_facing_direction, - unlock_facing_direction, - jump_down, - jump_up, - jump_left, - jump_right, - jump_in_place_down, - jump_in_place_up, - jump_in_place_left, - jump_in_place_right, - jump_in_place_down_up, - jump_in_place_up_down, - jump_in_place_left_right, - jump_in_place_right_left, - face_original_direction, - nurse_joy_bow, - enable_jump_landing_ground_effect, - disable_jump_landing_ground_effect, - disable_anim, - restore_anim, - set_invisible, - set_visible, - emote_exclamation_mark, - emote_question_mark, - emote_x, - emote_double_exclamation_mark, - emote_smile, - step_67, - rock_smash_break, - cut_tree, - - step_91 = 0x91, - step_92, - - step_96 = 0x96, - - step_end = 0xfe, -}; - -#endif //GUARD_CONSTANTS_MOVEMENT_COMMANDS_H diff --git a/include/constants/object_events.h b/include/constants/object_events.h deleted file mode 100644 index d6f33b33c..000000000 --- a/include/constants/object_events.h +++ /dev/null @@ -1,186 +0,0 @@ -#ifndef GUARD_CONSTANTS_OBJECT_EVENTS_H -#define GUARD_CONSTANTS_OBJECT_EVENTS_H - -#define OBJECT_EVENT_GFX_RED_NORMAL 0 -#define OBJECT_EVENT_GFX_RED_BIKE 1 -#define OBJECT_EVENT_GFX_RED_RUN 2 -#define OBJECT_EVENT_GFX_RED_ITEM 3 -#define OBJECT_EVENT_GFX_RED_FISH 4 -#define OBJECT_EVENT_GFX_RED_ITEM_COPY 5 -#define OBJECT_EVENT_GFX_RED_VS_SEEKER 6 -#define OBJECT_EVENT_GFX_GREEN_NORMAL 7 -#define OBJECT_EVENT_GFX_GREEN_BIKE 8 -#define OBJECT_EVENT_GFX_GREEN_RUN 9 -#define OBJECT_EVENT_GFX_GREEN_ITEM 10 -#define OBJECT_EVENT_GFX_GREEN_FISH 11 -#define OBJECT_EVENT_GFX_GREEN_ITEM_COPY 12 -#define OBJECT_EVENT_GFX_GREEN_VS_SEEKER 13 -#define OBJECT_EVENT_GFX_RS_BRENDAN 14 -#define OBJECT_EVENT_GFX_RS_MAY 15 -#define OBJECT_EVENT_GFX_LITTLE_BOY 16 -#define OBJECT_EVENT_GFX_LITTLE_GIRL 17 -#define OBJECT_EVENT_GFX_YOUNGSTER 18 -#define OBJECT_EVENT_GFX_BOY 19 -#define OBJECT_EVENT_GFX_BUG_CATCHER 20 -#define OBJECT_EVENT_GFX_SITTING_BOY 21 -#define OBJECT_EVENT_GFX_LASS 22 -#define OBJECT_EVENT_GFX_WOMAN_1 23 -#define OBJECT_EVENT_GFX_BATTLE_GIRL 24 -#define OBJECT_EVENT_GFX_MAN 25 -#define OBJECT_EVENT_GFX_ROCKER 26 -#define OBJECT_EVENT_GFX_FAT_MAN 27 -#define OBJECT_EVENT_GFX_WOMAN_2 28 -#define OBJECT_EVENT_GFX_BEAUTY 29 -#define OBJECT_EVENT_GFX_BALDING_MAN 30 -#define OBJECT_EVENT_GFX_WOMAN_3 31 -#define OBJECT_EVENT_GFX_OLD_MAN_1 32 -#define OBJECT_EVENT_GFX_OLD_MAN_2 33 -#define OBJECT_EVENT_GFX_OLD_MAN_LYING_DOWN 34 -#define OBJECT_EVENT_GFX_OLD_WOMAN 35 -#define OBJECT_EVENT_GFX_TUBER_M_1 36 -#define OBJECT_EVENT_GFX_TUBER_F 37 -#define OBJECT_EVENT_GFX_TUBER_M_2 38 -#define OBJECT_EVENT_GFX_CAMPER 39 -#define OBJECT_EVENT_GFX_PICNICKER 40 -#define OBJECT_EVENT_GFX_COOLTRAINER_M 41 -#define OBJECT_EVENT_GFX_COOLTRAINER_F 42 -#define OBJECT_EVENT_GFX_SWIMMER_M_WATER 43 -#define OBJECT_EVENT_GFX_SWIMMER_F_WATER 44 -#define OBJECT_EVENT_GFX_SWIMMER_M_LAND 45 -#define OBJECT_EVENT_GFX_SWIMMER_F_LAND 46 -#define OBJECT_EVENT_GFX_WORKER_M 47 -#define OBJECT_EVENT_GFX_WORKER_F 48 -#define OBJECT_EVENT_GFX_ROCKET_M 49 -#define OBJECT_EVENT_GFX_ROCKET_F 50 -#define OBJECT_EVENT_GFX_GBA_KID 51 -#define OBJECT_EVENT_GFX_SUPER_NERD 52 -#define OBJECT_EVENT_GFX_BIKER 53 -#define OBJECT_EVENT_GFX_BLACKBELT 54 -#define OBJECT_EVENT_GFX_SCIENTIST 55 -#define OBJECT_EVENT_GFX_HIKER 56 -#define OBJECT_EVENT_GFX_FISHER 57 -#define OBJECT_EVENT_GFX_CHANNELER 58 -#define OBJECT_EVENT_GFX_CHEF 59 -#define OBJECT_EVENT_GFX_POLICEMAN 60 -#define OBJECT_EVENT_GFX_GENTLEMAN 61 -#define OBJECT_EVENT_GFX_SAILOR 62 -#define OBJECT_EVENT_GFX_CAPTAIN 63 -#define OBJECT_EVENT_GFX_NURSE 64 -#define OBJECT_EVENT_GFX_CABLE_CLUB_RECEPTIONIST 65 -#define OBJECT_EVENT_GFX_UNION_ROOM_RECEPTIONIST 66 -#define OBJECT_EVENT_GFX_UNUSED_MALE_RECEPTIONIST 67 -#define OBJECT_EVENT_GFX_CLERK 68 -#define OBJECT_EVENT_GFX_MG_DELIVERYMAN 69 -#define OBJECT_EVENT_GFX_TRAINER_TOWER_DUDE 70 -#define OBJECT_EVENT_GFX_PROF_OAK 71 -#define OBJECT_EVENT_GFX_BLUE 72 -#define OBJECT_EVENT_GFX_BILL 73 -#define OBJECT_EVENT_GFX_LANCE 74 -#define OBJECT_EVENT_GFX_AGATHA 75 -#define OBJECT_EVENT_GFX_DAISY 76 -#define OBJECT_EVENT_GFX_LORELEI 77 -#define OBJECT_EVENT_GFX_MR_FUJI 78 -#define OBJECT_EVENT_GFX_BRUNO 79 -#define OBJECT_EVENT_GFX_BROCK 80 -#define OBJECT_EVENT_GFX_MISTY 81 -#define OBJECT_EVENT_GFX_LT_SURGE 82 -#define OBJECT_EVENT_GFX_ERIKA 83 -#define OBJECT_EVENT_GFX_KOGA 84 -#define OBJECT_EVENT_GFX_SABRINA 85 -#define OBJECT_EVENT_GFX_BLAINE 86 -#define OBJECT_EVENT_GFX_GIOVANNI 87 -#define OBJECT_EVENT_GFX_MOM 88 -#define OBJECT_EVENT_GFX_CELIO 89 -#define OBJECT_EVENT_GFX_TEACHY_TV_HOST 90 -#define OBJECT_EVENT_GFX_GYM_GUY 91 -#define OBJECT_EVENT_GFX_ITEM_BALL 92 -#define OBJECT_EVENT_GFX_TOWN_MAP 93 -#define OBJECT_EVENT_GFX_POKEDEX 94 -#define OBJECT_EVENT_GFX_CUT_TREE 95 -#define OBJECT_EVENT_GFX_ROCK_SMASH_ROCK 96 -#define OBJECT_EVENT_GFX_STRENGTH_BOULDER 97 -#define OBJECT_EVENT_GFX_FOSSIL 98 -#define OBJECT_EVENT_GFX_RUBY 99 -#define OBJECT_EVENT_GFX_SAPPHIRE 100 -#define OBJECT_EVENT_GFX_OLD_AMBER 101 -#define OBJECT_EVENT_GFX_GYM_SIGN 102 -#define OBJECT_EVENT_GFX_SIGN 103 -#define OBJECT_EVENT_GFX_TRAINER_TIPS 104 -#define OBJECT_EVENT_GFX_CLIPBOARD 105 -#define OBJECT_EVENT_GFX_METEORITE 106 -#define OBJECT_EVENT_GFX_LAPRAS_DOLL 107 -#define OBJECT_EVENT_GFX_SEAGALLOP 108 -#define OBJECT_EVENT_GFX_SNORLAX 109 -#define OBJECT_EVENT_GFX_SPEAROW 110 -#define OBJECT_EVENT_GFX_CUBONE 111 -#define OBJECT_EVENT_GFX_POLIWRATH 112 -#define OBJECT_EVENT_GFX_CLEFAIRY 113 -#define OBJECT_EVENT_GFX_PIDGEOT 114 -#define OBJECT_EVENT_GFX_JIGGLYPUFF 115 -#define OBJECT_EVENT_GFX_PIDGEY 116 -#define OBJECT_EVENT_GFX_CHANSEY 117 -#define OBJECT_EVENT_GFX_OMANYTE 118 -#define OBJECT_EVENT_GFX_KANGASKHAN 119 -#define OBJECT_EVENT_GFX_PIKACHU 120 -#define OBJECT_EVENT_GFX_PSYDUCK 121 -#define OBJECT_EVENT_GFX_NIDORAN_F 122 -#define OBJECT_EVENT_GFX_NIDORAN_M 123 -#define OBJECT_EVENT_GFX_NIDORINO 124 -#define OBJECT_EVENT_GFX_MEOWTH 125 -#define OBJECT_EVENT_GFX_SEEL 126 -#define OBJECT_EVENT_GFX_VOLTORB 127 -#define OBJECT_EVENT_GFX_SLOWPOKE 128 -#define OBJECT_EVENT_GFX_SLOWBRO 129 -#define OBJECT_EVENT_GFX_MACHOP 130 -#define OBJECT_EVENT_GFX_WIGGLYTUFF 131 -#define OBJECT_EVENT_GFX_DODUO 132 -#define OBJECT_EVENT_GFX_FEAROW 133 -#define OBJECT_EVENT_GFX_MACHOKE 134 -#define OBJECT_EVENT_GFX_LAPRAS 135 -#define OBJECT_EVENT_GFX_ZAPDOS 136 -#define OBJECT_EVENT_GFX_MOLTRES 137 -#define OBJECT_EVENT_GFX_ARTICUNO 138 -#define OBJECT_EVENT_GFX_MEWTWO 139 -#define OBJECT_EVENT_GFX_MEW 140 -#define OBJECT_EVENT_GFX_ENTEI 141 -#define OBJECT_EVENT_GFX_SUICUNE 142 -#define OBJECT_EVENT_GFX_RAIKOU 143 -#define OBJECT_EVENT_GFX_LUGIA 144 -#define OBJECT_EVENT_GFX_HO_OH 145 -#define OBJECT_EVENT_GFX_CELEBI 146 -#define OBJECT_EVENT_GFX_KABUTO 147 -#define OBJECT_EVENT_GFX_DEOXYS_D 148 -#define OBJECT_EVENT_GFX_DEOXYS_A 149 -#define OBJECT_EVENT_GFX_DEOXYS_N 150 -#define OBJECT_EVENT_GFX_SS_ANNE 151 - -#define OBJECT_EVENT_GFX_VAR_0 240 -#define OBJECT_EVENT_GFX_VAR_1 241 -#define OBJECT_EVENT_GFX_VAR_2 242 -#define OBJECT_EVENT_GFX_VAR_3 243 -#define OBJECT_EVENT_GFX_VAR_4 244 -#define OBJECT_EVENT_GFX_VAR_5 245 -#define OBJECT_EVENT_GFX_VAR_6 246 -#define OBJECT_EVENT_GFX_VAR_7 247 -#define OBJECT_EVENT_GFX_VAR_8 248 -#define OBJECT_EVENT_GFX_VAR_9 249 -#define OBJECT_EVENT_GFX_VAR_A 250 -#define OBJECT_EVENT_GFX_VAR_B 251 -#define OBJECT_EVENT_GFX_VAR_C 252 -#define OBJECT_EVENT_GFX_VAR_D 253 -#define OBJECT_EVENT_GFX_VAR_E 254 -#define OBJECT_EVENT_GFX_VAR_F 255 - -#define SHADOW_SIZE_S 0 -#define SHADOW_SIZE_M 1 -#define SHADOW_SIZE_L 2 -#define SHADOW_SIZE_XL 3 - -#define F_INANIMATE (1 << 6) -#define F_DISABLE_REFLECTION_PALETTE_LOAD (1 << 7) - -#define TRACKS_NONE 0 -#define TRACKS_FOOT 1 -#define TRACKS_BIKE_TIRE 2 - -#endif // GUARD_CONSTANTS_OBJECT_EVENTS_H diff --git a/include/constants/party_menu.h b/include/constants/party_menu.h index 28ce39cd3..0c958ccc5 100644 --- a/include/constants/party_menu.h +++ b/include/constants/party_menu.h @@ -64,7 +64,6 @@ #define PARTY_MENU_TYPE_UNION_ROOM_TRADE 9 // trading board #define PARTY_MENU_TYPE_SPIN_TRADE 10 // Unused beta for Gen IV's Spin Trade #define PARTY_MENU_TYPE_MINIGAME 11 -#define PARTY_MENU_TYPE_STORE_PYRAMID_HELD_ITEMS 12 #define PARTY_ACTION_CHOOSE_MON 0 #define PARTY_ACTION_SEND_OUT 1 diff --git a/include/constants/region_map.h b/include/constants/region_map_sections.h similarity index 98% rename from include/constants/region_map.h rename to include/constants/region_map_sections.h index 78dab242c..4f60212db 100644 --- a/include/constants/region_map.h +++ b/include/constants/region_map_sections.h @@ -1,5 +1,5 @@ -#ifndef GUARD_CONSTANTS_REGION_MAP_H -#define GUARD_CONSTANTS_REGION_MAP_H +#ifndef GUARD_CONSTANTS_REGION_MAP_SECTIONS_H +#define GUARD_CONSTANTS_REGION_MAP_SECTIONS_H #define MAPSEC_LITTLEROOT_TOWN 0x00 #define MAPSEC_OLDALE_TOWN 0x01 @@ -210,4 +210,4 @@ #define METLOC_IN_GAME_TRADE 0xFE #define METLOC_FATEFUL_ENCOUNTER 0xFF -#endif //GUARD_CONSTANTS_REGION_MAP_H +#endif //GUARD_CONSTANTS_REGION_MAP_SECTIONS_H diff --git a/include/constants/species.h b/include/constants/species.h index bedb1282d..89da836f7 100644 --- a/include/constants/species.h +++ b/include/constants/species.h @@ -705,583 +705,582 @@ #define NATIONAL_DEX_HO_OH 250 #define NATIONAL_DEX_CELEBI 251 -#define NATIONAL_DEX_OLD_UNOWN_B 387 -#define NATIONAL_DEX_OLD_UNOWN_C 388 -#define NATIONAL_DEX_OLD_UNOWN_D 389 -#define NATIONAL_DEX_OLD_UNOWN_E 390 -#define NATIONAL_DEX_OLD_UNOWN_F 391 -#define NATIONAL_DEX_OLD_UNOWN_G 392 -#define NATIONAL_DEX_OLD_UNOWN_H 393 -#define NATIONAL_DEX_OLD_UNOWN_I 394 -#define NATIONAL_DEX_OLD_UNOWN_J 395 -#define NATIONAL_DEX_OLD_UNOWN_K 396 -#define NATIONAL_DEX_OLD_UNOWN_L 397 -#define NATIONAL_DEX_OLD_UNOWN_M 398 -#define NATIONAL_DEX_OLD_UNOWN_N 399 -#define NATIONAL_DEX_OLD_UNOWN_O 400 -#define NATIONAL_DEX_OLD_UNOWN_P 401 -#define NATIONAL_DEX_OLD_UNOWN_Q 402 -#define NATIONAL_DEX_OLD_UNOWN_R 403 -#define NATIONAL_DEX_OLD_UNOWN_S 404 -#define NATIONAL_DEX_OLD_UNOWN_T 405 -#define NATIONAL_DEX_OLD_UNOWN_U 406 -#define NATIONAL_DEX_OLD_UNOWN_V 407 -#define NATIONAL_DEX_OLD_UNOWN_W 408 -#define NATIONAL_DEX_OLD_UNOWN_X 409 -#define NATIONAL_DEX_OLD_UNOWN_Y 410 -#define NATIONAL_DEX_OLD_UNOWN_Z 411 - -#define NATIONAL_DEX_TREECKO 252 -#define NATIONAL_DEX_GROVYLE 253 -#define NATIONAL_DEX_SCEPTILE 254 -#define NATIONAL_DEX_TORCHIC 255 -#define NATIONAL_DEX_COMBUSKEN 256 -#define NATIONAL_DEX_BLAZIKEN 257 -#define NATIONAL_DEX_MUDKIP 258 -#define NATIONAL_DEX_MARSHTOMP 259 -#define NATIONAL_DEX_SWAMPERT 260 -#define NATIONAL_DEX_POOCHYENA 261 -#define NATIONAL_DEX_MIGHTYENA 262 -#define NATIONAL_DEX_ZIGZAGOON 263 -#define NATIONAL_DEX_LINOONE 264 -#define NATIONAL_DEX_WURMPLE 265 -#define NATIONAL_DEX_SILCOON 266 -#define NATIONAL_DEX_BEAUTIFLY 267 -#define NATIONAL_DEX_CASCOON 268 -#define NATIONAL_DEX_DUSTOX 269 -#define NATIONAL_DEX_LOTAD 270 -#define NATIONAL_DEX_LOMBRE 271 -#define NATIONAL_DEX_LUDICOLO 272 -#define NATIONAL_DEX_SEEDOT 273 -#define NATIONAL_DEX_NUZLEAF 274 -#define NATIONAL_DEX_SHIFTRY 275 -#define NATIONAL_DEX_NINCADA 290 -#define NATIONAL_DEX_NINJASK 291 -#define NATIONAL_DEX_SHEDINJA 292 -#define NATIONAL_DEX_TAILLOW 276 -#define NATIONAL_DEX_SWELLOW 277 -#define NATIONAL_DEX_SHROOMISH 285 -#define NATIONAL_DEX_BRELOOM 286 -#define NATIONAL_DEX_SPINDA 327 -#define NATIONAL_DEX_WINGULL 278 -#define NATIONAL_DEX_PELIPPER 279 -#define NATIONAL_DEX_SURSKIT 283 +#define NATIONAL_DEX_TREECKO 252 +#define NATIONAL_DEX_GROVYLE 253 +#define NATIONAL_DEX_SCEPTILE 254 +#define NATIONAL_DEX_TORCHIC 255 +#define NATIONAL_DEX_COMBUSKEN 256 +#define NATIONAL_DEX_BLAZIKEN 257 +#define NATIONAL_DEX_MUDKIP 258 +#define NATIONAL_DEX_MARSHTOMP 259 +#define NATIONAL_DEX_SWAMPERT 260 +#define NATIONAL_DEX_POOCHYENA 261 +#define NATIONAL_DEX_MIGHTYENA 262 +#define NATIONAL_DEX_ZIGZAGOON 263 +#define NATIONAL_DEX_LINOONE 264 +#define NATIONAL_DEX_WURMPLE 265 +#define NATIONAL_DEX_SILCOON 266 +#define NATIONAL_DEX_BEAUTIFLY 267 +#define NATIONAL_DEX_CASCOON 268 +#define NATIONAL_DEX_DUSTOX 269 +#define NATIONAL_DEX_LOTAD 270 +#define NATIONAL_DEX_LOMBRE 271 +#define NATIONAL_DEX_LUDICOLO 272 +#define NATIONAL_DEX_SEEDOT 273 +#define NATIONAL_DEX_NUZLEAF 274 +#define NATIONAL_DEX_SHIFTRY 275 +#define NATIONAL_DEX_TAILLOW 276 +#define NATIONAL_DEX_SWELLOW 277 +#define NATIONAL_DEX_WINGULL 278 +#define NATIONAL_DEX_PELIPPER 279 +#define NATIONAL_DEX_RALTS 280 +#define NATIONAL_DEX_KIRLIA 281 +#define NATIONAL_DEX_GARDEVOIR 282 +#define NATIONAL_DEX_SURSKIT 283 #define NATIONAL_DEX_MASQUERAIN 284 -#define NATIONAL_DEX_WAILMER 320 -#define NATIONAL_DEX_WAILORD 321 -#define NATIONAL_DEX_SKITTY 300 -#define NATIONAL_DEX_DELCATTY 301 -#define NATIONAL_DEX_KECLEON 352 -#define NATIONAL_DEX_BALTOY 343 -#define NATIONAL_DEX_CLAYDOL 344 -#define NATIONAL_DEX_NOSEPASS 299 -#define NATIONAL_DEX_TORKOAL 324 -#define NATIONAL_DEX_SABLEYE 302 -#define NATIONAL_DEX_BARBOACH 339 -#define NATIONAL_DEX_WHISCASH 340 -#define NATIONAL_DEX_LUVDISC 370 -#define NATIONAL_DEX_CORPHISH 341 -#define NATIONAL_DEX_CRAWDAUNT 342 -#define NATIONAL_DEX_FEEBAS 349 -#define NATIONAL_DEX_MILOTIC 350 -#define NATIONAL_DEX_CARVANHA 318 -#define NATIONAL_DEX_SHARPEDO 319 -#define NATIONAL_DEX_TRAPINCH 328 -#define NATIONAL_DEX_VIBRAVA 329 -#define NATIONAL_DEX_FLYGON 330 -#define NATIONAL_DEX_MAKUHITA 296 -#define NATIONAL_DEX_HARIYAMA 297 -#define NATIONAL_DEX_ELECTRIKE 309 -#define NATIONAL_DEX_MANECTRIC 310 -#define NATIONAL_DEX_NUMEL 322 -#define NATIONAL_DEX_CAMERUPT 323 -#define NATIONAL_DEX_SPHEAL 363 -#define NATIONAL_DEX_SEALEO 364 -#define NATIONAL_DEX_WALREIN 365 -#define NATIONAL_DEX_CACNEA 331 -#define NATIONAL_DEX_CACTURNE 332 -#define NATIONAL_DEX_SNORUNT 361 -#define NATIONAL_DEX_GLALIE 362 -#define NATIONAL_DEX_LUNATONE 337 -#define NATIONAL_DEX_SOLROCK 338 -#define NATIONAL_DEX_AZURILL 298 -#define NATIONAL_DEX_SPOINK 325 -#define NATIONAL_DEX_GRUMPIG 326 -#define NATIONAL_DEX_PLUSLE 311 -#define NATIONAL_DEX_MINUN 312 -#define NATIONAL_DEX_MAWILE 303 -#define NATIONAL_DEX_MEDITITE 307 -#define NATIONAL_DEX_MEDICHAM 308 -#define NATIONAL_DEX_SWABLU 333 -#define NATIONAL_DEX_ALTARIA 334 -#define NATIONAL_DEX_WYNAUT 360 -#define NATIONAL_DEX_DUSKULL 355 -#define NATIONAL_DEX_DUSCLOPS 356 -#define NATIONAL_DEX_ROSELIA 315 -#define NATIONAL_DEX_SLAKOTH 287 -#define NATIONAL_DEX_VIGOROTH 288 -#define NATIONAL_DEX_SLAKING 289 -#define NATIONAL_DEX_GULPIN 316 -#define NATIONAL_DEX_SWALOT 317 -#define NATIONAL_DEX_TROPIUS 357 -#define NATIONAL_DEX_WHISMUR 293 -#define NATIONAL_DEX_LOUDRED 294 -#define NATIONAL_DEX_EXPLOUD 295 -#define NATIONAL_DEX_CLAMPERL 366 -#define NATIONAL_DEX_HUNTAIL 367 -#define NATIONAL_DEX_GOREBYSS 368 -#define NATIONAL_DEX_ABSOL 359 -#define NATIONAL_DEX_SHUPPET 353 -#define NATIONAL_DEX_BANETTE 354 -#define NATIONAL_DEX_SEVIPER 336 -#define NATIONAL_DEX_ZANGOOSE 335 -#define NATIONAL_DEX_RELICANTH 369 -#define NATIONAL_DEX_ARON 304 -#define NATIONAL_DEX_LAIRON 305 -#define NATIONAL_DEX_AGGRON 306 -#define NATIONAL_DEX_CASTFORM 351 -#define NATIONAL_DEX_VOLBEAT 313 -#define NATIONAL_DEX_ILLUMISE 314 -#define NATIONAL_DEX_LILEEP 345 -#define NATIONAL_DEX_CRADILY 346 -#define NATIONAL_DEX_ANORITH 347 -#define NATIONAL_DEX_ARMALDO 348 -#define NATIONAL_DEX_RALTS 280 -#define NATIONAL_DEX_KIRLIA 281 -#define NATIONAL_DEX_GARDEVOIR 282 -#define NATIONAL_DEX_BAGON 371 -#define NATIONAL_DEX_SHELGON 372 -#define NATIONAL_DEX_SALAMENCE 373 -#define NATIONAL_DEX_BELDUM 374 -#define NATIONAL_DEX_METANG 375 -#define NATIONAL_DEX_METAGROSS 376 -#define NATIONAL_DEX_REGIROCK 377 -#define NATIONAL_DEX_REGICE 378 -#define NATIONAL_DEX_REGISTEEL 379 -#define NATIONAL_DEX_KYOGRE 382 -#define NATIONAL_DEX_GROUDON 383 -#define NATIONAL_DEX_RAYQUAZA 384 -#define NATIONAL_DEX_LATIAS 380 -#define NATIONAL_DEX_LATIOS 381 -#define NATIONAL_DEX_JIRACHI 385 -#define NATIONAL_DEX_DEOXYS 386 -#define NATIONAL_DEX_CHIMECHO 358 +#define NATIONAL_DEX_SHROOMISH 285 +#define NATIONAL_DEX_BRELOOM 286 +#define NATIONAL_DEX_SLAKOTH 287 +#define NATIONAL_DEX_VIGOROTH 288 +#define NATIONAL_DEX_SLAKING 289 +#define NATIONAL_DEX_NINCADA 290 +#define NATIONAL_DEX_NINJASK 291 +#define NATIONAL_DEX_SHEDINJA 292 +#define NATIONAL_DEX_WHISMUR 293 +#define NATIONAL_DEX_LOUDRED 294 +#define NATIONAL_DEX_EXPLOUD 295 +#define NATIONAL_DEX_MAKUHITA 296 +#define NATIONAL_DEX_HARIYAMA 297 +#define NATIONAL_DEX_AZURILL 298 +#define NATIONAL_DEX_NOSEPASS 299 +#define NATIONAL_DEX_SKITTY 300 +#define NATIONAL_DEX_DELCATTY 301 +#define NATIONAL_DEX_SABLEYE 302 +#define NATIONAL_DEX_MAWILE 303 +#define NATIONAL_DEX_ARON 304 +#define NATIONAL_DEX_LAIRON 305 +#define NATIONAL_DEX_AGGRON 306 +#define NATIONAL_DEX_MEDITITE 307 +#define NATIONAL_DEX_MEDICHAM 308 +#define NATIONAL_DEX_ELECTRIKE 309 +#define NATIONAL_DEX_MANECTRIC 310 +#define NATIONAL_DEX_PLUSLE 311 +#define NATIONAL_DEX_MINUN 312 +#define NATIONAL_DEX_VOLBEAT 313 +#define NATIONAL_DEX_ILLUMISE 314 +#define NATIONAL_DEX_ROSELIA 315 +#define NATIONAL_DEX_GULPIN 316 +#define NATIONAL_DEX_SWALOT 317 +#define NATIONAL_DEX_CARVANHA 318 +#define NATIONAL_DEX_SHARPEDO 319 +#define NATIONAL_DEX_WAILMER 320 +#define NATIONAL_DEX_WAILORD 321 +#define NATIONAL_DEX_NUMEL 322 +#define NATIONAL_DEX_CAMERUPT 323 +#define NATIONAL_DEX_TORKOAL 324 +#define NATIONAL_DEX_SPOINK 325 +#define NATIONAL_DEX_GRUMPIG 326 +#define NATIONAL_DEX_SPINDA 327 +#define NATIONAL_DEX_TRAPINCH 328 +#define NATIONAL_DEX_VIBRAVA 329 +#define NATIONAL_DEX_FLYGON 330 +#define NATIONAL_DEX_CACNEA 331 +#define NATIONAL_DEX_CACTURNE 332 +#define NATIONAL_DEX_SWABLU 333 +#define NATIONAL_DEX_ALTARIA 334 +#define NATIONAL_DEX_ZANGOOSE 335 +#define NATIONAL_DEX_SEVIPER 336 +#define NATIONAL_DEX_LUNATONE 337 +#define NATIONAL_DEX_SOLROCK 338 +#define NATIONAL_DEX_BARBOACH 339 +#define NATIONAL_DEX_WHISCASH 340 +#define NATIONAL_DEX_CORPHISH 341 +#define NATIONAL_DEX_CRAWDAUNT 342 +#define NATIONAL_DEX_BALTOY 343 +#define NATIONAL_DEX_CLAYDOL 344 +#define NATIONAL_DEX_LILEEP 345 +#define NATIONAL_DEX_CRADILY 346 +#define NATIONAL_DEX_ANORITH 347 +#define NATIONAL_DEX_ARMALDO 348 +#define NATIONAL_DEX_FEEBAS 349 +#define NATIONAL_DEX_MILOTIC 350 +#define NATIONAL_DEX_CASTFORM 351 +#define NATIONAL_DEX_KECLEON 352 +#define NATIONAL_DEX_SHUPPET 353 +#define NATIONAL_DEX_BANETTE 354 +#define NATIONAL_DEX_DUSKULL 355 +#define NATIONAL_DEX_DUSCLOPS 356 +#define NATIONAL_DEX_TROPIUS 357 +#define NATIONAL_DEX_CHIMECHO 358 +#define NATIONAL_DEX_ABSOL 359 +#define NATIONAL_DEX_WYNAUT 360 +#define NATIONAL_DEX_SNORUNT 361 +#define NATIONAL_DEX_GLALIE 362 +#define NATIONAL_DEX_SPHEAL 363 +#define NATIONAL_DEX_SEALEO 364 +#define NATIONAL_DEX_WALREIN 365 +#define NATIONAL_DEX_CLAMPERL 366 +#define NATIONAL_DEX_HUNTAIL 367 +#define NATIONAL_DEX_GOREBYSS 368 +#define NATIONAL_DEX_RELICANTH 369 +#define NATIONAL_DEX_LUVDISC 370 +#define NATIONAL_DEX_BAGON 371 +#define NATIONAL_DEX_SHELGON 372 +#define NATIONAL_DEX_SALAMENCE 373 +#define NATIONAL_DEX_BELDUM 374 +#define NATIONAL_DEX_METANG 375 +#define NATIONAL_DEX_METAGROSS 376 +#define NATIONAL_DEX_REGIROCK 377 +#define NATIONAL_DEX_REGICE 378 +#define NATIONAL_DEX_REGISTEEL 379 +#define NATIONAL_DEX_LATIAS 380 +#define NATIONAL_DEX_LATIOS 381 +#define NATIONAL_DEX_KYOGRE 382 +#define NATIONAL_DEX_GROUDON 383 +#define NATIONAL_DEX_RAYQUAZA 384 +#define NATIONAL_DEX_JIRACHI 385 +#define NATIONAL_DEX_DEOXYS 386 + +#define NATIONAL_DEX_OLD_UNOWN_B 387 +#define NATIONAL_DEX_OLD_UNOWN_C 388 +#define NATIONAL_DEX_OLD_UNOWN_D 389 +#define NATIONAL_DEX_OLD_UNOWN_E 390 +#define NATIONAL_DEX_OLD_UNOWN_F 391 +#define NATIONAL_DEX_OLD_UNOWN_G 392 +#define NATIONAL_DEX_OLD_UNOWN_H 393 +#define NATIONAL_DEX_OLD_UNOWN_I 394 +#define NATIONAL_DEX_OLD_UNOWN_J 395 +#define NATIONAL_DEX_OLD_UNOWN_K 396 +#define NATIONAL_DEX_OLD_UNOWN_L 397 +#define NATIONAL_DEX_OLD_UNOWN_M 398 +#define NATIONAL_DEX_OLD_UNOWN_N 399 +#define NATIONAL_DEX_OLD_UNOWN_O 400 +#define NATIONAL_DEX_OLD_UNOWN_P 401 +#define NATIONAL_DEX_OLD_UNOWN_Q 402 +#define NATIONAL_DEX_OLD_UNOWN_R 403 +#define NATIONAL_DEX_OLD_UNOWN_S 404 +#define NATIONAL_DEX_OLD_UNOWN_T 405 +#define NATIONAL_DEX_OLD_UNOWN_U 406 +#define NATIONAL_DEX_OLD_UNOWN_V 407 +#define NATIONAL_DEX_OLD_UNOWN_W 408 +#define NATIONAL_DEX_OLD_UNOWN_X 409 +#define NATIONAL_DEX_OLD_UNOWN_Y 410 +#define NATIONAL_DEX_OLD_UNOWN_Z 411 // Hoenn Dex Index Defines +#define HOENN_DEX_NONE 0 +#define HOENN_DEX_TREECKO 1 +#define HOENN_DEX_GROVYLE 2 +#define HOENN_DEX_SCEPTILE 3 +#define HOENN_DEX_TORCHIC 4 +#define HOENN_DEX_COMBUSKEN 5 +#define HOENN_DEX_BLAZIKEN 6 +#define HOENN_DEX_MUDKIP 7 +#define HOENN_DEX_MARSHTOMP 8 +#define HOENN_DEX_SWAMPERT 9 +#define HOENN_DEX_POOCHYENA 10 +#define HOENN_DEX_MIGHTYENA 11 +#define HOENN_DEX_ZIGZAGOON 12 +#define HOENN_DEX_LINOONE 13 +#define HOENN_DEX_WURMPLE 14 +#define HOENN_DEX_SILCOON 15 +#define HOENN_DEX_BEAUTIFLY 16 +#define HOENN_DEX_CASCOON 17 +#define HOENN_DEX_DUSTOX 18 +#define HOENN_DEX_LOTAD 19 +#define HOENN_DEX_LOMBRE 20 +#define HOENN_DEX_LUDICOLO 21 +#define HOENN_DEX_SEEDOT 22 +#define HOENN_DEX_NUZLEAF 23 +#define HOENN_DEX_SHIFTRY 24 +#define HOENN_DEX_TAILLOW 25 +#define HOENN_DEX_SWELLOW 26 +#define HOENN_DEX_WINGULL 27 +#define HOENN_DEX_PELIPPER 28 +#define HOENN_DEX_RALTS 29 +#define HOENN_DEX_KIRLIA 30 +#define HOENN_DEX_GARDEVOIR 31 +#define HOENN_DEX_SURSKIT 32 +#define HOENN_DEX_MASQUERAIN 33 +#define HOENN_DEX_SHROOMISH 34 +#define HOENN_DEX_BRELOOM 35 +#define HOENN_DEX_SLAKOTH 36 +#define HOENN_DEX_VIGOROTH 37 +#define HOENN_DEX_SLAKING 38 +#define HOENN_DEX_ABRA 39 +#define HOENN_DEX_KADABRA 40 +#define HOENN_DEX_ALAKAZAM 41 +#define HOENN_DEX_NINCADA 42 +#define HOENN_DEX_NINJASK 43 +#define HOENN_DEX_SHEDINJA 44 +#define HOENN_DEX_WHISMUR 45 +#define HOENN_DEX_LOUDRED 46 +#define HOENN_DEX_EXPLOUD 47 +#define HOENN_DEX_MAKUHITA 48 +#define HOENN_DEX_HARIYAMA 49 +#define HOENN_DEX_GOLDEEN 50 +#define HOENN_DEX_SEAKING 51 +#define HOENN_DEX_MAGIKARP 52 +#define HOENN_DEX_GYARADOS 53 +#define HOENN_DEX_AZURILL 54 +#define HOENN_DEX_MARILL 55 +#define HOENN_DEX_AZUMARILL 56 +#define HOENN_DEX_GEODUDE 57 +#define HOENN_DEX_GRAVELER 58 +#define HOENN_DEX_GOLEM 59 +#define HOENN_DEX_NOSEPASS 60 +#define HOENN_DEX_SKITTY 61 +#define HOENN_DEX_DELCATTY 62 +#define HOENN_DEX_ZUBAT 63 +#define HOENN_DEX_GOLBAT 64 +#define HOENN_DEX_CROBAT 65 +#define HOENN_DEX_TENTACOOL 66 +#define HOENN_DEX_TENTACRUEL 67 +#define HOENN_DEX_SABLEYE 68 +#define HOENN_DEX_MAWILE 69 +#define HOENN_DEX_ARON 70 +#define HOENN_DEX_LAIRON 71 +#define HOENN_DEX_AGGRON 72 +#define HOENN_DEX_MACHOP 73 +#define HOENN_DEX_MACHOKE 74 +#define HOENN_DEX_MACHAMP 75 +#define HOENN_DEX_MEDITITE 76 +#define HOENN_DEX_MEDICHAM 77 +#define HOENN_DEX_ELECTRIKE 78 +#define HOENN_DEX_MANECTRIC 79 +#define HOENN_DEX_PLUSLE 80 +#define HOENN_DEX_MINUN 81 +#define HOENN_DEX_MAGNEMITE 82 +#define HOENN_DEX_MAGNETON 83 +#define HOENN_DEX_VOLTORB 84 +#define HOENN_DEX_ELECTRODE 85 +#define HOENN_DEX_VOLBEAT 86 +#define HOENN_DEX_ILLUMISE 87 +#define HOENN_DEX_ODDISH 88 +#define HOENN_DEX_GLOOM 89 +#define HOENN_DEX_VILEPLUME 90 +#define HOENN_DEX_BELLOSSOM 91 +#define HOENN_DEX_DODUO 92 +#define HOENN_DEX_DODRIO 93 +#define HOENN_DEX_ROSELIA 94 +#define HOENN_DEX_GULPIN 95 +#define HOENN_DEX_SWALOT 96 +#define HOENN_DEX_CARVANHA 97 +#define HOENN_DEX_SHARPEDO 98 +#define HOENN_DEX_WAILMER 99 +#define HOENN_DEX_WAILORD 100 +#define HOENN_DEX_NUMEL 101 +#define HOENN_DEX_CAMERUPT 102 +#define HOENN_DEX_SLUGMA 103 +#define HOENN_DEX_MAGCARGO 104 +#define HOENN_DEX_TORKOAL 105 +#define HOENN_DEX_GRIMER 106 +#define HOENN_DEX_MUK 107 +#define HOENN_DEX_KOFFING 108 +#define HOENN_DEX_WEEZING 109 +#define HOENN_DEX_SPOINK 110 +#define HOENN_DEX_GRUMPIG 111 +#define HOENN_DEX_SANDSHREW 112 +#define HOENN_DEX_SANDSLASH 113 +#define HOENN_DEX_SPINDA 114 +#define HOENN_DEX_SKARMORY 115 +#define HOENN_DEX_TRAPINCH 116 +#define HOENN_DEX_VIBRAVA 117 +#define HOENN_DEX_FLYGON 118 +#define HOENN_DEX_CACNEA 119 +#define HOENN_DEX_CACTURNE 120 +#define HOENN_DEX_SWABLU 121 +#define HOENN_DEX_ALTARIA 122 +#define HOENN_DEX_ZANGOOSE 123 +#define HOENN_DEX_SEVIPER 124 +#define HOENN_DEX_LUNATONE 125 +#define HOENN_DEX_SOLROCK 126 +#define HOENN_DEX_BARBOACH 127 +#define HOENN_DEX_WHISCASH 128 +#define HOENN_DEX_CORPHISH 129 +#define HOENN_DEX_CRAWDAUNT 130 +#define HOENN_DEX_BALTOY 131 +#define HOENN_DEX_CLAYDOL 132 +#define HOENN_DEX_LILEEP 133 +#define HOENN_DEX_CRADILY 134 +#define HOENN_DEX_ANORITH 135 +#define HOENN_DEX_ARMALDO 136 +#define HOENN_DEX_IGGLYBUFF 137 +#define HOENN_DEX_JIGGLYPUFF 138 +#define HOENN_DEX_WIGGLYTUFF 139 +#define HOENN_DEX_FEEBAS 140 +#define HOENN_DEX_MILOTIC 141 +#define HOENN_DEX_CASTFORM 142 +#define HOENN_DEX_STARYU 143 +#define HOENN_DEX_STARMIE 144 +#define HOENN_DEX_KECLEON 145 +#define HOENN_DEX_SHUPPET 146 +#define HOENN_DEX_BANETTE 147 +#define HOENN_DEX_DUSKULL 148 +#define HOENN_DEX_DUSCLOPS 149 +#define HOENN_DEX_TROPIUS 150 +#define HOENN_DEX_CHIMECHO 151 +#define HOENN_DEX_ABSOL 152 +#define HOENN_DEX_VULPIX 153 +#define HOENN_DEX_NINETALES 154 +#define HOENN_DEX_PICHU 155 +#define HOENN_DEX_PIKACHU 156 +#define HOENN_DEX_RAICHU 157 +#define HOENN_DEX_PSYDUCK 158 +#define HOENN_DEX_GOLDUCK 159 +#define HOENN_DEX_WYNAUT 160 +#define HOENN_DEX_WOBBUFFET 161 +#define HOENN_DEX_NATU 162 +#define HOENN_DEX_XATU 163 +#define HOENN_DEX_GIRAFARIG 164 +#define HOENN_DEX_PHANPY 165 +#define HOENN_DEX_DONPHAN 166 +#define HOENN_DEX_PINSIR 167 +#define HOENN_DEX_HERACROSS 168 +#define HOENN_DEX_RHYHORN 169 +#define HOENN_DEX_RHYDON 170 +#define HOENN_DEX_SNORUNT 171 +#define HOENN_DEX_GLALIE 172 +#define HOENN_DEX_SPHEAL 173 +#define HOENN_DEX_SEALEO 174 +#define HOENN_DEX_WALREIN 175 +#define HOENN_DEX_CLAMPERL 176 +#define HOENN_DEX_HUNTAIL 177 +#define HOENN_DEX_GOREBYSS 178 +#define HOENN_DEX_RELICANTH 179 +#define HOENN_DEX_CORSOLA 180 +#define HOENN_DEX_CHINCHOU 181 +#define HOENN_DEX_LANTURN 182 +#define HOENN_DEX_LUVDISC 183 +#define HOENN_DEX_HORSEA 184 +#define HOENN_DEX_SEADRA 185 +#define HOENN_DEX_KINGDRA 186 +#define HOENN_DEX_BAGON 187 +#define HOENN_DEX_SHELGON 188 +#define HOENN_DEX_SALAMENCE 189 +#define HOENN_DEX_BELDUM 190 +#define HOENN_DEX_METANG 191 +#define HOENN_DEX_METAGROSS 192 +#define HOENN_DEX_REGIROCK 193 +#define HOENN_DEX_REGICE 194 +#define HOENN_DEX_REGISTEEL 195 +#define HOENN_DEX_LATIAS 196 +#define HOENN_DEX_LATIOS 197 +#define HOENN_DEX_KYOGRE 198 +#define HOENN_DEX_GROUDON 199 +#define HOENN_DEX_RAYQUAZA 200 +#define HOENN_DEX_JIRACHI 201 +#define HOENN_DEX_DEOXYS 202 -#define HOENN_DEX_NONE 0 -#define HOENN_DEX_BULBASAUR 203 -#define HOENN_DEX_IVYSAUR 204 -#define HOENN_DEX_VENUSAUR 205 -#define HOENN_DEX_CHARMANDER 206 -#define HOENN_DEX_CHARMELEON 207 -#define HOENN_DEX_CHARIZARD 208 -#define HOENN_DEX_SQUIRTLE 209 -#define HOENN_DEX_WARTORTLE 210 -#define HOENN_DEX_BLASTOISE 211 -#define HOENN_DEX_CATERPIE 212 -#define HOENN_DEX_METAPOD 213 -#define HOENN_DEX_BUTTERFREE 214 -#define HOENN_DEX_WEEDLE 215 -#define HOENN_DEX_KAKUNA 216 -#define HOENN_DEX_BEEDRILL 217 -#define HOENN_DEX_PIDGEY 218 -#define HOENN_DEX_PIDGEOTTO 219 -#define HOENN_DEX_PIDGEOT 220 -#define HOENN_DEX_RATTATA 221 -#define HOENN_DEX_RATICATE 222 -#define HOENN_DEX_SPEAROW 223 -#define HOENN_DEX_FEAROW 224 -#define HOENN_DEX_EKANS 225 -#define HOENN_DEX_ARBOK 226 -#define HOENN_DEX_PIKACHU 156 -#define HOENN_DEX_RAICHU 157 -#define HOENN_DEX_SANDSHREW 112 -#define HOENN_DEX_SANDSLASH 113 -#define HOENN_DEX_NIDORAN_F 227 -#define HOENN_DEX_NIDORINA 228 -#define HOENN_DEX_NIDOQUEEN 229 -#define HOENN_DEX_NIDORAN_M 230 -#define HOENN_DEX_NIDORINO 231 -#define HOENN_DEX_NIDOKING 232 -#define HOENN_DEX_CLEFAIRY 233 -#define HOENN_DEX_CLEFABLE 234 -#define HOENN_DEX_VULPIX 153 -#define HOENN_DEX_NINETALES 154 -#define HOENN_DEX_JIGGLYPUFF 138 -#define HOENN_DEX_WIGGLYTUFF 139 -#define HOENN_DEX_ZUBAT 63 -#define HOENN_DEX_GOLBAT 64 -#define HOENN_DEX_ODDISH 88 -#define HOENN_DEX_GLOOM 89 -#define HOENN_DEX_VILEPLUME 90 -#define HOENN_DEX_PARAS 235 -#define HOENN_DEX_PARASECT 236 -#define HOENN_DEX_VENONAT 237 -#define HOENN_DEX_VENOMOTH 238 -#define HOENN_DEX_DIGLETT 239 -#define HOENN_DEX_DUGTRIO 240 -#define HOENN_DEX_MEOWTH 241 -#define HOENN_DEX_PERSIAN 242 -#define HOENN_DEX_PSYDUCK 158 -#define HOENN_DEX_GOLDUCK 159 -#define HOENN_DEX_MANKEY 243 -#define HOENN_DEX_PRIMEAPE 244 -#define HOENN_DEX_GROWLITHE 245 -#define HOENN_DEX_ARCANINE 246 -#define HOENN_DEX_POLIWAG 247 -#define HOENN_DEX_POLIWHIRL 248 -#define HOENN_DEX_POLIWRATH 249 -#define HOENN_DEX_ABRA 39 -#define HOENN_DEX_KADABRA 40 -#define HOENN_DEX_ALAKAZAM 41 -#define HOENN_DEX_MACHOP 73 -#define HOENN_DEX_MACHOKE 74 -#define HOENN_DEX_MACHAMP 75 -#define HOENN_DEX_BELLSPROUT 250 -#define HOENN_DEX_WEEPINBELL 251 -#define HOENN_DEX_VICTREEBEL 252 -#define HOENN_DEX_TENTACOOL 66 -#define HOENN_DEX_TENTACRUEL 67 -#define HOENN_DEX_GEODUDE 57 -#define HOENN_DEX_GRAVELER 58 -#define HOENN_DEX_GOLEM 59 -#define HOENN_DEX_PONYTA 253 -#define HOENN_DEX_RAPIDASH 254 -#define HOENN_DEX_SLOWPOKE 255 -#define HOENN_DEX_SLOWBRO 256 -#define HOENN_DEX_MAGNEMITE 82 -#define HOENN_DEX_MAGNETON 83 -#define HOENN_DEX_FARFETCHD 257 -#define HOENN_DEX_DODUO 92 -#define HOENN_DEX_DODRIO 93 -#define HOENN_DEX_SEEL 258 -#define HOENN_DEX_DEWGONG 259 -#define HOENN_DEX_GRIMER 106 -#define HOENN_DEX_MUK 107 -#define HOENN_DEX_SHELLDER 260 -#define HOENN_DEX_CLOYSTER 261 -#define HOENN_DEX_GASTLY 262 -#define HOENN_DEX_HAUNTER 263 -#define HOENN_DEX_GENGAR 264 -#define HOENN_DEX_ONIX 265 -#define HOENN_DEX_DROWZEE 266 -#define HOENN_DEX_HYPNO 267 -#define HOENN_DEX_KRABBY 268 -#define HOENN_DEX_KINGLER 269 -#define HOENN_DEX_VOLTORB 84 -#define HOENN_DEX_ELECTRODE 85 -#define HOENN_DEX_EXEGGCUTE 270 -#define HOENN_DEX_EXEGGUTOR 271 -#define HOENN_DEX_CUBONE 272 -#define HOENN_DEX_MAROWAK 273 -#define HOENN_DEX_HITMONLEE 274 -#define HOENN_DEX_HITMONCHAN 275 -#define HOENN_DEX_LICKITUNG 276 -#define HOENN_DEX_KOFFING 108 -#define HOENN_DEX_WEEZING 109 -#define HOENN_DEX_RHYHORN 169 -#define HOENN_DEX_RHYDON 170 -#define HOENN_DEX_CHANSEY 277 -#define HOENN_DEX_TANGELA 278 -#define HOENN_DEX_KANGASKHAN 279 -#define HOENN_DEX_HORSEA 184 -#define HOENN_DEX_SEADRA 185 -#define HOENN_DEX_GOLDEEN 50 -#define HOENN_DEX_SEAKING 51 -#define HOENN_DEX_STARYU 143 -#define HOENN_DEX_STARMIE 144 -#define HOENN_DEX_MR_MIME 280 -#define HOENN_DEX_SCYTHER 281 -#define HOENN_DEX_JYNX 282 -#define HOENN_DEX_ELECTABUZZ 283 -#define HOENN_DEX_MAGMAR 284 -#define HOENN_DEX_PINSIR 167 -#define HOENN_DEX_TAUROS 285 -#define HOENN_DEX_MAGIKARP 52 -#define HOENN_DEX_GYARADOS 53 -#define HOENN_DEX_LAPRAS 286 -#define HOENN_DEX_DITTO 287 -#define HOENN_DEX_EEVEE 288 -#define HOENN_DEX_VAPOREON 289 -#define HOENN_DEX_JOLTEON 290 -#define HOENN_DEX_FLAREON 291 -#define HOENN_DEX_PORYGON 292 -#define HOENN_DEX_OMANYTE 293 -#define HOENN_DEX_OMASTAR 294 -#define HOENN_DEX_KABUTO 295 -#define HOENN_DEX_KABUTOPS 296 -#define HOENN_DEX_AERODACTYL 297 -#define HOENN_DEX_SNORLAX 298 -#define HOENN_DEX_ARTICUNO 299 -#define HOENN_DEX_ZAPDOS 300 -#define HOENN_DEX_MOLTRES 301 -#define HOENN_DEX_DRATINI 302 -#define HOENN_DEX_DRAGONAIR 303 -#define HOENN_DEX_DRAGONITE 304 -#define HOENN_DEX_MEWTWO 305 -#define HOENN_DEX_MEW 306 -#define HOENN_DEX_CHIKORITA 307 -#define HOENN_DEX_BAYLEEF 308 -#define HOENN_DEX_MEGANIUM 309 -#define HOENN_DEX_CYNDAQUIL 310 -#define HOENN_DEX_QUILAVA 311 -#define HOENN_DEX_TYPHLOSION 312 -#define HOENN_DEX_TOTODILE 313 -#define HOENN_DEX_CROCONAW 314 -#define HOENN_DEX_FERALIGATR 315 -#define HOENN_DEX_SENTRET 316 -#define HOENN_DEX_FURRET 317 -#define HOENN_DEX_HOOTHOOT 318 -#define HOENN_DEX_NOCTOWL 319 -#define HOENN_DEX_LEDYBA 320 -#define HOENN_DEX_LEDIAN 321 -#define HOENN_DEX_SPINARAK 322 -#define HOENN_DEX_ARIADOS 323 -#define HOENN_DEX_CROBAT 65 -#define HOENN_DEX_CHINCHOU 181 -#define HOENN_DEX_LANTURN 182 -#define HOENN_DEX_PICHU 155 -#define HOENN_DEX_CLEFFA 324 -#define HOENN_DEX_IGGLYBUFF 137 -#define HOENN_DEX_TOGEPI 325 -#define HOENN_DEX_TOGETIC 326 -#define HOENN_DEX_NATU 162 -#define HOENN_DEX_XATU 163 -#define HOENN_DEX_MAREEP 327 -#define HOENN_DEX_FLAAFFY 328 -#define HOENN_DEX_AMPHAROS 329 -#define HOENN_DEX_BELLOSSOM 91 -#define HOENN_DEX_MARILL 55 -#define HOENN_DEX_AZUMARILL 56 -#define HOENN_DEX_SUDOWOODO 330 -#define HOENN_DEX_POLITOED 331 -#define HOENN_DEX_HOPPIP 332 -#define HOENN_DEX_SKIPLOOM 333 -#define HOENN_DEX_JUMPLUFF 334 -#define HOENN_DEX_AIPOM 335 -#define HOENN_DEX_SUNKERN 336 -#define HOENN_DEX_SUNFLORA 337 -#define HOENN_DEX_YANMA 338 -#define HOENN_DEX_WOOPER 339 -#define HOENN_DEX_QUAGSIRE 340 -#define HOENN_DEX_ESPEON 341 -#define HOENN_DEX_UMBREON 342 -#define HOENN_DEX_MURKROW 343 -#define HOENN_DEX_SLOWKING 344 -#define HOENN_DEX_MISDREAVUS 345 -#define HOENN_DEX_UNOWN 346 -#define HOENN_DEX_WOBBUFFET 161 -#define HOENN_DEX_GIRAFARIG 164 -#define HOENN_DEX_PINECO 347 -#define HOENN_DEX_FORRETRESS 348 -#define HOENN_DEX_DUNSPARCE 349 -#define HOENN_DEX_GLIGAR 350 -#define HOENN_DEX_STEELIX 351 -#define HOENN_DEX_SNUBBULL 352 -#define HOENN_DEX_GRANBULL 353 -#define HOENN_DEX_QWILFISH 354 -#define HOENN_DEX_SCIZOR 355 -#define HOENN_DEX_SHUCKLE 356 -#define HOENN_DEX_HERACROSS 168 -#define HOENN_DEX_SNEASEL 357 -#define HOENN_DEX_TEDDIURSA 358 -#define HOENN_DEX_URSARING 359 -#define HOENN_DEX_SLUGMA 103 -#define HOENN_DEX_MAGCARGO 104 -#define HOENN_DEX_SWINUB 360 -#define HOENN_DEX_PILOSWINE 361 -#define HOENN_DEX_CORSOLA 180 -#define HOENN_DEX_REMORAID 362 -#define HOENN_DEX_OCTILLERY 363 -#define HOENN_DEX_DELIBIRD 364 -#define HOENN_DEX_MANTINE 365 -#define HOENN_DEX_SKARMORY 115 -#define HOENN_DEX_HOUNDOUR 366 -#define HOENN_DEX_HOUNDOOM 367 -#define HOENN_DEX_KINGDRA 186 -#define HOENN_DEX_PHANPY 165 -#define HOENN_DEX_DONPHAN 166 -#define HOENN_DEX_PORYGON2 368 -#define HOENN_DEX_STANTLER 369 -#define HOENN_DEX_SMEARGLE 370 -#define HOENN_DEX_TYROGUE 371 -#define HOENN_DEX_HITMONTOP 372 -#define HOENN_DEX_SMOOCHUM 373 -#define HOENN_DEX_ELEKID 374 -#define HOENN_DEX_MAGBY 375 -#define HOENN_DEX_MILTANK 376 -#define HOENN_DEX_BLISSEY 377 -#define HOENN_DEX_RAIKOU 378 -#define HOENN_DEX_ENTEI 379 -#define HOENN_DEX_SUICUNE 380 -#define HOENN_DEX_LARVITAR 381 -#define HOENN_DEX_PUPITAR 382 -#define HOENN_DEX_TYRANITAR 383 -#define HOENN_DEX_LUGIA 384 -#define HOENN_DEX_HO_OH 385 -#define HOENN_DEX_CELEBI 386 +#define HOENN_DEX_BULBASAUR 203 +#define HOENN_DEX_IVYSAUR 204 +#define HOENN_DEX_VENUSAUR 205 +#define HOENN_DEX_CHARMANDER 206 +#define HOENN_DEX_CHARMELEON 207 +#define HOENN_DEX_CHARIZARD 208 +#define HOENN_DEX_SQUIRTLE 209 +#define HOENN_DEX_WARTORTLE 210 +#define HOENN_DEX_BLASTOISE 211 +#define HOENN_DEX_CATERPIE 212 +#define HOENN_DEX_METAPOD 213 +#define HOENN_DEX_BUTTERFREE 214 +#define HOENN_DEX_WEEDLE 215 +#define HOENN_DEX_KAKUNA 216 +#define HOENN_DEX_BEEDRILL 217 +#define HOENN_DEX_PIDGEY 218 +#define HOENN_DEX_PIDGEOTTO 219 +#define HOENN_DEX_PIDGEOT 220 +#define HOENN_DEX_RATTATA 221 +#define HOENN_DEX_RATICATE 222 +#define HOENN_DEX_SPEAROW 223 +#define HOENN_DEX_FEAROW 224 +#define HOENN_DEX_EKANS 225 +#define HOENN_DEX_ARBOK 226 +#define HOENN_DEX_NIDORAN_F 227 +#define HOENN_DEX_NIDORINA 228 +#define HOENN_DEX_NIDOQUEEN 229 +#define HOENN_DEX_NIDORAN_M 230 +#define HOENN_DEX_NIDORINO 231 +#define HOENN_DEX_NIDOKING 232 +#define HOENN_DEX_CLEFAIRY 233 +#define HOENN_DEX_CLEFABLE 234 +#define HOENN_DEX_PARAS 235 +#define HOENN_DEX_PARASECT 236 +#define HOENN_DEX_VENONAT 237 +#define HOENN_DEX_VENOMOTH 238 +#define HOENN_DEX_DIGLETT 239 +#define HOENN_DEX_DUGTRIO 240 +#define HOENN_DEX_MEOWTH 241 +#define HOENN_DEX_PERSIAN 242 +#define HOENN_DEX_MANKEY 243 +#define HOENN_DEX_PRIMEAPE 244 +#define HOENN_DEX_GROWLITHE 245 +#define HOENN_DEX_ARCANINE 246 +#define HOENN_DEX_POLIWAG 247 +#define HOENN_DEX_POLIWHIRL 248 +#define HOENN_DEX_POLIWRATH 249 +#define HOENN_DEX_BELLSPROUT 250 +#define HOENN_DEX_WEEPINBELL 251 +#define HOENN_DEX_VICTREEBEL 252 +#define HOENN_DEX_PONYTA 253 +#define HOENN_DEX_RAPIDASH 254 +#define HOENN_DEX_SLOWPOKE 255 +#define HOENN_DEX_SLOWBRO 256 +#define HOENN_DEX_FARFETCHD 257 +#define HOENN_DEX_SEEL 258 +#define HOENN_DEX_DEWGONG 259 +#define HOENN_DEX_SHELLDER 260 +#define HOENN_DEX_CLOYSTER 261 +#define HOENN_DEX_GASTLY 262 +#define HOENN_DEX_HAUNTER 263 +#define HOENN_DEX_GENGAR 264 +#define HOENN_DEX_ONIX 265 +#define HOENN_DEX_DROWZEE 266 +#define HOENN_DEX_HYPNO 267 +#define HOENN_DEX_KRABBY 268 +#define HOENN_DEX_KINGLER 269 +#define HOENN_DEX_EXEGGCUTE 270 +#define HOENN_DEX_EXEGGUTOR 271 +#define HOENN_DEX_CUBONE 272 +#define HOENN_DEX_MAROWAK 273 +#define HOENN_DEX_HITMONLEE 274 +#define HOENN_DEX_HITMONCHAN 275 +#define HOENN_DEX_LICKITUNG 276 +#define HOENN_DEX_CHANSEY 277 +#define HOENN_DEX_TANGELA 278 +#define HOENN_DEX_KANGASKHAN 279 +#define HOENN_DEX_MR_MIME 280 +#define HOENN_DEX_SCYTHER 281 +#define HOENN_DEX_JYNX 282 +#define HOENN_DEX_ELECTABUZZ 283 +#define HOENN_DEX_MAGMAR 284 +#define HOENN_DEX_TAUROS 285 +#define HOENN_DEX_LAPRAS 286 +#define HOENN_DEX_DITTO 287 +#define HOENN_DEX_EEVEE 288 +#define HOENN_DEX_VAPOREON 289 +#define HOENN_DEX_JOLTEON 290 +#define HOENN_DEX_FLAREON 291 +#define HOENN_DEX_PORYGON 292 +#define HOENN_DEX_OMANYTE 293 +#define HOENN_DEX_OMASTAR 294 +#define HOENN_DEX_KABUTO 295 +#define HOENN_DEX_KABUTOPS 296 +#define HOENN_DEX_AERODACTYL 297 +#define HOENN_DEX_SNORLAX 298 +#define HOENN_DEX_ARTICUNO 299 +#define HOENN_DEX_ZAPDOS 300 +#define HOENN_DEX_MOLTRES 301 +#define HOENN_DEX_DRATINI 302 +#define HOENN_DEX_DRAGONAIR 303 +#define HOENN_DEX_DRAGONITE 304 +#define HOENN_DEX_MEWTWO 305 +#define HOENN_DEX_MEW 306 +#define HOENN_DEX_CHIKORITA 307 +#define HOENN_DEX_BAYLEEF 308 +#define HOENN_DEX_MEGANIUM 309 +#define HOENN_DEX_CYNDAQUIL 310 +#define HOENN_DEX_QUILAVA 311 +#define HOENN_DEX_TYPHLOSION 312 +#define HOENN_DEX_TOTODILE 313 +#define HOENN_DEX_CROCONAW 314 +#define HOENN_DEX_FERALIGATR 315 +#define HOENN_DEX_SENTRET 316 +#define HOENN_DEX_FURRET 317 +#define HOENN_DEX_HOOTHOOT 318 +#define HOENN_DEX_NOCTOWL 319 +#define HOENN_DEX_LEDYBA 320 +#define HOENN_DEX_LEDIAN 321 +#define HOENN_DEX_SPINARAK 322 +#define HOENN_DEX_ARIADOS 323 +#define HOENN_DEX_CLEFFA 324 +#define HOENN_DEX_TOGEPI 325 +#define HOENN_DEX_TOGETIC 326 +#define HOENN_DEX_MAREEP 327 +#define HOENN_DEX_FLAAFFY 328 +#define HOENN_DEX_AMPHAROS 329 +#define HOENN_DEX_SUDOWOODO 330 +#define HOENN_DEX_POLITOED 331 +#define HOENN_DEX_HOPPIP 332 +#define HOENN_DEX_SKIPLOOM 333 +#define HOENN_DEX_JUMPLUFF 334 +#define HOENN_DEX_AIPOM 335 +#define HOENN_DEX_SUNKERN 336 +#define HOENN_DEX_SUNFLORA 337 +#define HOENN_DEX_YANMA 338 +#define HOENN_DEX_WOOPER 339 +#define HOENN_DEX_QUAGSIRE 340 +#define HOENN_DEX_ESPEON 341 +#define HOENN_DEX_UMBREON 342 +#define HOENN_DEX_MURKROW 343 +#define HOENN_DEX_SLOWKING 344 +#define HOENN_DEX_MISDREAVUS 345 +#define HOENN_DEX_UNOWN 346 +#define HOENN_DEX_PINECO 347 +#define HOENN_DEX_FORRETRESS 348 +#define HOENN_DEX_DUNSPARCE 349 +#define HOENN_DEX_GLIGAR 350 +#define HOENN_DEX_STEELIX 351 +#define HOENN_DEX_SNUBBULL 352 +#define HOENN_DEX_GRANBULL 353 +#define HOENN_DEX_QWILFISH 354 +#define HOENN_DEX_SCIZOR 355 +#define HOENN_DEX_SHUCKLE 356 +#define HOENN_DEX_SNEASEL 357 +#define HOENN_DEX_TEDDIURSA 358 +#define HOENN_DEX_URSARING 359 +#define HOENN_DEX_SWINUB 360 +#define HOENN_DEX_PILOSWINE 361 +#define HOENN_DEX_REMORAID 362 +#define HOENN_DEX_OCTILLERY 363 +#define HOENN_DEX_DELIBIRD 364 +#define HOENN_DEX_MANTINE 365 +#define HOENN_DEX_HOUNDOUR 366 +#define HOENN_DEX_HOUNDOOM 367 +#define HOENN_DEX_PORYGON2 368 +#define HOENN_DEX_STANTLER 369 +#define HOENN_DEX_SMEARGLE 370 +#define HOENN_DEX_TYROGUE 371 +#define HOENN_DEX_HITMONTOP 372 +#define HOENN_DEX_SMOOCHUM 373 +#define HOENN_DEX_ELEKID 374 +#define HOENN_DEX_MAGBY 375 +#define HOENN_DEX_MILTANK 376 +#define HOENN_DEX_BLISSEY 377 +#define HOENN_DEX_RAIKOU 378 +#define HOENN_DEX_ENTEI 379 +#define HOENN_DEX_SUICUNE 380 +#define HOENN_DEX_LARVITAR 381 +#define HOENN_DEX_PUPITAR 382 +#define HOENN_DEX_TYRANITAR 383 +#define HOENN_DEX_LUGIA 384 +#define HOENN_DEX_HO_OH 385 +#define HOENN_DEX_CELEBI 386 -#define HOENN_DEX_OLD_UNOWN_B 387 -#define HOENN_DEX_OLD_UNOWN_C 388 -#define HOENN_DEX_OLD_UNOWN_D 389 -#define HOENN_DEX_OLD_UNOWN_E 390 -#define HOENN_DEX_OLD_UNOWN_F 391 -#define HOENN_DEX_OLD_UNOWN_G 392 -#define HOENN_DEX_OLD_UNOWN_H 393 -#define HOENN_DEX_OLD_UNOWN_I 394 -#define HOENN_DEX_OLD_UNOWN_J 395 -#define HOENN_DEX_OLD_UNOWN_K 396 -#define HOENN_DEX_OLD_UNOWN_L 397 -#define HOENN_DEX_OLD_UNOWN_M 398 -#define HOENN_DEX_OLD_UNOWN_N 399 -#define HOENN_DEX_OLD_UNOWN_O 400 -#define HOENN_DEX_OLD_UNOWN_P 401 -#define HOENN_DEX_OLD_UNOWN_Q 402 -#define HOENN_DEX_OLD_UNOWN_R 403 -#define HOENN_DEX_OLD_UNOWN_S 404 -#define HOENN_DEX_OLD_UNOWN_T 405 -#define HOENN_DEX_OLD_UNOWN_U 406 -#define HOENN_DEX_OLD_UNOWN_V 407 -#define HOENN_DEX_OLD_UNOWN_W 408 -#define HOENN_DEX_OLD_UNOWN_X 409 -#define HOENN_DEX_OLD_UNOWN_Y 410 -#define HOENN_DEX_OLD_UNOWN_Z 411 - -#define HOENN_DEX_TREECKO 1 -#define HOENN_DEX_GROVYLE 2 -#define HOENN_DEX_SCEPTILE 3 -#define HOENN_DEX_TORCHIC 4 -#define HOENN_DEX_COMBUSKEN 5 -#define HOENN_DEX_BLAZIKEN 6 -#define HOENN_DEX_MUDKIP 7 -#define HOENN_DEX_MARSHTOMP 8 -#define HOENN_DEX_SWAMPERT 9 -#define HOENN_DEX_POOCHYENA 10 -#define HOENN_DEX_MIGHTYENA 11 -#define HOENN_DEX_ZIGZAGOON 12 -#define HOENN_DEX_LINOONE 13 -#define HOENN_DEX_WURMPLE 14 -#define HOENN_DEX_SILCOON 15 -#define HOENN_DEX_BEAUTIFLY 16 -#define HOENN_DEX_CASCOON 17 -#define HOENN_DEX_DUSTOX 18 -#define HOENN_DEX_LOTAD 19 -#define HOENN_DEX_LOMBRE 20 -#define HOENN_DEX_LUDICOLO 21 -#define HOENN_DEX_SEEDOT 22 -#define HOENN_DEX_NUZLEAF 23 -#define HOENN_DEX_SHIFTRY 24 -#define HOENN_DEX_NINCADA 42 -#define HOENN_DEX_NINJASK 43 -#define HOENN_DEX_SHEDINJA 44 -#define HOENN_DEX_TAILLOW 25 -#define HOENN_DEX_SWELLOW 26 -#define HOENN_DEX_SHROOMISH 34 -#define HOENN_DEX_BRELOOM 35 -#define HOENN_DEX_SPINDA 114 -#define HOENN_DEX_WINGULL 27 -#define HOENN_DEX_PELIPPER 28 -#define HOENN_DEX_SURSKIT 32 -#define HOENN_DEX_MASQUERAIN 33 -#define HOENN_DEX_WAILMER 99 -#define HOENN_DEX_WAILORD 100 -#define HOENN_DEX_SKITTY 61 -#define HOENN_DEX_DELCATTY 62 -#define HOENN_DEX_KECLEON 145 -#define HOENN_DEX_BALTOY 131 -#define HOENN_DEX_CLAYDOL 132 -#define HOENN_DEX_NOSEPASS 60 -#define HOENN_DEX_TORKOAL 105 -#define HOENN_DEX_SABLEYE 68 -#define HOENN_DEX_BARBOACH 127 -#define HOENN_DEX_WHISCASH 128 -#define HOENN_DEX_LUVDISC 183 -#define HOENN_DEX_CORPHISH 129 -#define HOENN_DEX_CRAWDAUNT 130 -#define HOENN_DEX_FEEBAS 140 -#define HOENN_DEX_MILOTIC 141 -#define HOENN_DEX_CARVANHA 97 -#define HOENN_DEX_SHARPEDO 98 -#define HOENN_DEX_TRAPINCH 116 -#define HOENN_DEX_VIBRAVA 117 -#define HOENN_DEX_FLYGON 118 -#define HOENN_DEX_MAKUHITA 48 -#define HOENN_DEX_HARIYAMA 49 -#define HOENN_DEX_ELECTRIKE 78 -#define HOENN_DEX_MANECTRIC 79 -#define HOENN_DEX_NUMEL 101 -#define HOENN_DEX_CAMERUPT 102 -#define HOENN_DEX_SPHEAL 173 -#define HOENN_DEX_SEALEO 174 -#define HOENN_DEX_WALREIN 175 -#define HOENN_DEX_CACNEA 119 -#define HOENN_DEX_CACTURNE 120 -#define HOENN_DEX_SNORUNT 171 -#define HOENN_DEX_GLALIE 172 -#define HOENN_DEX_LUNATONE 125 -#define HOENN_DEX_SOLROCK 126 -#define HOENN_DEX_AZURILL 54 -#define HOENN_DEX_SPOINK 110 -#define HOENN_DEX_GRUMPIG 111 -#define HOENN_DEX_PLUSLE 80 -#define HOENN_DEX_MINUN 81 -#define HOENN_DEX_MAWILE 69 -#define HOENN_DEX_MEDITITE 76 -#define HOENN_DEX_MEDICHAM 77 -#define HOENN_DEX_SWABLU 121 -#define HOENN_DEX_ALTARIA 122 -#define HOENN_DEX_WYNAUT 160 -#define HOENN_DEX_DUSKULL 148 -#define HOENN_DEX_DUSCLOPS 149 -#define HOENN_DEX_ROSELIA 94 -#define HOENN_DEX_SLAKOTH 36 -#define HOENN_DEX_VIGOROTH 37 -#define HOENN_DEX_SLAKING 38 -#define HOENN_DEX_GULPIN 95 -#define HOENN_DEX_SWALOT 96 -#define HOENN_DEX_TROPIUS 150 -#define HOENN_DEX_WHISMUR 45 -#define HOENN_DEX_LOUDRED 46 -#define HOENN_DEX_EXPLOUD 47 -#define HOENN_DEX_CLAMPERL 176 -#define HOENN_DEX_HUNTAIL 177 -#define HOENN_DEX_GOREBYSS 178 -#define HOENN_DEX_ABSOL 152 -#define HOENN_DEX_SHUPPET 146 -#define HOENN_DEX_BANETTE 147 -#define HOENN_DEX_SEVIPER 124 -#define HOENN_DEX_ZANGOOSE 123 -#define HOENN_DEX_RELICANTH 179 -#define HOENN_DEX_ARON 70 -#define HOENN_DEX_LAIRON 71 -#define HOENN_DEX_AGGRON 72 -#define HOENN_DEX_CASTFORM 142 -#define HOENN_DEX_VOLBEAT 86 -#define HOENN_DEX_ILLUMISE 87 -#define HOENN_DEX_LILEEP 133 -#define HOENN_DEX_CRADILY 134 -#define HOENN_DEX_ANORITH 135 -#define HOENN_DEX_ARMALDO 136 -#define HOENN_DEX_RALTS 29 -#define HOENN_DEX_KIRLIA 30 -#define HOENN_DEX_GARDEVOIR 31 -#define HOENN_DEX_BAGON 187 -#define HOENN_DEX_SHELGON 188 -#define HOENN_DEX_SALAMENCE 189 -#define HOENN_DEX_BELDUM 190 -#define HOENN_DEX_METANG 191 -#define HOENN_DEX_METAGROSS 192 -#define HOENN_DEX_REGIROCK 193 -#define HOENN_DEX_REGICE 194 -#define HOENN_DEX_REGISTEEL 195 -#define HOENN_DEX_KYOGRE 198 -#define HOENN_DEX_GROUDON 199 -#define HOENN_DEX_RAYQUAZA 200 -#define HOENN_DEX_LATIAS 196 -#define HOENN_DEX_LATIOS 197 -#define HOENN_DEX_JIRACHI 201 -#define HOENN_DEX_DEOXYS 202 -#define HOENN_DEX_CHIMECHO 151 +#define HOENN_DEX_OLD_UNOWN_B 387 +#define HOENN_DEX_OLD_UNOWN_C 388 +#define HOENN_DEX_OLD_UNOWN_D 389 +#define HOENN_DEX_OLD_UNOWN_E 390 +#define HOENN_DEX_OLD_UNOWN_F 391 +#define HOENN_DEX_OLD_UNOWN_G 392 +#define HOENN_DEX_OLD_UNOWN_H 393 +#define HOENN_DEX_OLD_UNOWN_I 394 +#define HOENN_DEX_OLD_UNOWN_J 395 +#define HOENN_DEX_OLD_UNOWN_K 396 +#define HOENN_DEX_OLD_UNOWN_L 397 +#define HOENN_DEX_OLD_UNOWN_M 398 +#define HOENN_DEX_OLD_UNOWN_N 399 +#define HOENN_DEX_OLD_UNOWN_O 400 +#define HOENN_DEX_OLD_UNOWN_P 401 +#define HOENN_DEX_OLD_UNOWN_Q 402 +#define HOENN_DEX_OLD_UNOWN_R 403 +#define HOENN_DEX_OLD_UNOWN_S 404 +#define HOENN_DEX_OLD_UNOWN_T 405 +#define HOENN_DEX_OLD_UNOWN_U 406 +#define HOENN_DEX_OLD_UNOWN_V 407 +#define HOENN_DEX_OLD_UNOWN_W 408 +#define HOENN_DEX_OLD_UNOWN_X 409 +#define HOENN_DEX_OLD_UNOWN_Y 410 +#define HOENN_DEX_OLD_UNOWN_Z 411 #endif // GUARD_CONSTANTS_SPECIES_H diff --git a/include/constants/trainer_card.h b/include/constants/trainer_card.h new file mode 100644 index 000000000..67901eb27 --- /dev/null +++ b/include/constants/trainer_card.h @@ -0,0 +1,17 @@ +#ifndef GUARD_CONSTANTS_TRAINER_CARD_H +#define GUARD_CONSTANTS_TRAINER_CARD_H + +#define TRAINER_CARD_PROFILE_LENGTH 4 +#define TRAINER_CARD_STICKER_TYPES 3 + +#define CARD_TYPE_FRLG 0 +#define CARD_TYPE_RSE 1 + +#define MON_ICON_TINT_NORMAL 0 +#define MON_ICON_TINT_BLACK 1 +#define MON_ICON_TINT_PINK 2 +#define MON_ICON_TINT_SEPIA 3 + +#define NUM_LINK_TRAINER_CARD_CLASSES 8 + +#endif // GUARD_CONSTANTS_TRAINER_CARD_H diff --git a/include/constants/trainer_tower.h b/include/constants/trainer_tower.h new file mode 100644 index 000000000..6372a30e8 --- /dev/null +++ b/include/constants/trainer_tower.h @@ -0,0 +1,46 @@ +#ifndef GUARD_CONSTANTS_TRAINER_TOWER_H +#define GUARD_CONSTANTS_TRAINER_TOWER_H + +#define CHALLENGE_TYPE_SINGLE 0 +#define CHALLENGE_TYPE_DOUBLE 1 +#define CHALLENGE_TYPE_KNOCKOUT 2 +// Mixed challenges use one of the above 3 for each floor + +#define CHALLENGE_STATUS_LOST 0 +#define CHALLENGE_STATUS_UNK 1 // Never set, possibly e-Card related +#define CHALLENGE_STATUS_NORMAL 2 // Not started or ongoing + +#define MAX_TRAINER_TOWER_FLOORS 8 + +#define MAX_TRAINERS_PER_FLOOR 3 + +#define TRAINER_TOWER_FUNC_INIT_FLOOR 0 +#define TRAINER_TOWER_FUNC_GET_SPEECH 1 +#define TRAINER_TOWER_FUNC_DO_BATTLE 2 +#define TRAINER_TOWER_FUNC_GET_CHALLENGE_TYPE 3 +#define TRAINER_TOWER_FUNC_CLEARED_FLOOR 4 +#define TRAINER_TOWER_FUNC_GET_FLOOR_CLEARED 5 +#define TRAINER_TOWER_FUNC_START_CHALLENGE 6 +#define TRAINER_TOWER_FUNC_GET_OWNER_STATE 7 +#define TRAINER_TOWER_FUNC_GIVE_PRIZE 8 +#define TRAINER_TOWER_FUNC_CHECK_FINAL_TIME 9 +#define TRAINER_TOWER_FUNC_RESUME_TIMER 10 +#define TRAINER_TOWER_FUNC_SET_LOST 11 +#define TRAINER_TOWER_FUNC_GET_CHALLENGE_STATUS 12 +#define TRAINER_TOWER_FUNC_GET_TIME 13 +#define TRAINER_TOWER_FUNC_SHOW_RESULTS 14 +#define TRAINER_TOWER_FUNC_CLOSE_RESULTS 15 +#define TRAINER_TOWER_FUNC_CHECK_DOUBLES 16 +#define TRAINER_TOWER_FUNC_GET_NUM_FLOORS 17 +#define TRAINER_TOWER_FUNC_SHOULD_WARP_TO_COUNTER 18 +#define TRAINER_TOWER_FUNC_ENCOUNTER_MUSIC 19 +#define TRAINER_TOWER_FUNC_GET_BEAT_CHALLENGE 20 + +#define TRAINER_TOWER_TEXT_INTRO 2 +#define TRAINER_TOWER_TEXT_PLAYER_LOST 3 +#define TRAINER_TOWER_TEXT_PLAYER_WON 4 +#define TRAINER_TOWER_TEXT_AFTER 5 + +#define TRAINER_TOWER_MAX_TIME 215999 // 60 * 60 * 60 - 1 + +#endif //GUARD_CONSTANTS_TRAINER_TOWER_H diff --git a/include/constants/union_room.h b/include/constants/union_room.h index 021424773..b23860645 100644 --- a/include/constants/union_room.h +++ b/include/constants/union_room.h @@ -1,6 +1,48 @@ #ifndef GUARD_CONSTANTS_UNION_ROOM_H #define GUARD_CONSTANTS_UNION_ROOM_H +#define UNION_ROOM_SPAWN_NONE 0 +#define UNION_ROOM_SPAWN_IN 1 +#define UNION_ROOM_SPAWN_OUT 2 + +#define ACTIVITY_NONE 0 +#define ACTIVITY_BATTLE 1 +#define ACTIVITY_DBLBATTLE 2 +#define ACTIVITY_MLTBATTLE 3 +#define ACTIVITY_TRADE 4 +#define ACTIVITY_CHAT 5 +#define ACTIVITY_WCARD 6 +#define ACTIVITY_WNEWS 7 +#define ACTIVITY_CARD 8 +#define ACTIVITY_PJUMP 9 +#define ACTIVITY_BCRUSH 10 +#define ACTIVITY_BPICK 11 +#define ACTIVITY_SEARCH 12 +#define ACTIVITY_SPINTRADE 13 +#define ACTIVITY_ITEMTRADE 14 + +// Player response +#define ACTIVITY_ACCEPT 17 +#define ACTIVITY_DECLINE 18 + +#define ACTIVITY_NPCTALK 19 +#define ACTIVITY_PLYRTALK 20 + +// Duplicate IDs? +#define ACTIVITY_WCARD2 21 +#define ACTIVITY_WNEWS2 22 + +#define IN_UNION_ROOM 0x40 + +// Used in UR_AddTextPrinterParameterized +#define UR_COLOR_DKE_WHT_LTE 0 +#define UR_COLOR_RED_WHT_LTR 1 +#define UR_COLOR_GRN_WHT_LTG 2 +#define UR_COLOR_WHT_WHT_LTE 3 +#define UR_COLOR_WHT_DKE_LTE 4 +#define UR_COLOR_GRN_DN6_LTB 5 +#define UR_COLOR_DN5_DN6_LTB 6 + #define LINK_GROUP_SINGLE_BATTLE 0 #define LINK_GROUP_DOUBLE_BATTLE 1 #define LINK_GROUP_MULTI_BATTLE 2 @@ -12,4 +54,7 @@ #define LINK_GROUP_WONDER_NEWS 8 #define NUM_LINK_GROUP_TYPES 9 +#define LINK_GROUP_UNION_ROOM_RESUME 9 +#define LINK_GROUP_UNION_ROOM_INIT 10 + #endif //GUARD_CONSTANTS_UNION_ROOM_H diff --git a/include/constants/vars.h b/include/constants/vars.h index 043f5bc39..640bf41fd 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -90,7 +90,7 @@ #define VAR_0x402F 0x402F #define VAR_ICE_STEP_COUNT 0x4030 -#define VAR_STARTER_MON 0x4031 +#define VAR_STARTER_MON 0x4031 // 0: Bulbasaur, 1: Squirtle, 2: Charmander #define VAR_0x4032 0x4032 #define VAR_ENIGMA_BERRY_AVAILABLE 0x4033 @@ -323,11 +323,11 @@ #define VAR_RESULT 0x800D #define VAR_ITEM_ID 0x800E #define VAR_LAST_TALKED 0x800F -#define VAR_CONTEST_RANK 0x8010 -#define VAR_CONTEST_CATEGORY 0x8011 -#define VAR_MON_BOX_ID 0x8012 -#define VAR_MON_BOX_POS 0x8013 -#define VAR_TEXT_COLOR 0x8014 +#define VAR_MON_BOX_ID 0x8010 +#define VAR_MON_BOX_POS 0x8011 +#define VAR_TEXT_COLOR 0x8012 +#define VAR_PREV_TEXT_COLOR 0x8013 +#define VAR_0x8014 0x8014 // Unknown/unused #define SPECIAL_VARS_END 0x8014 diff --git a/include/constants/weather.h b/include/constants/weather.h index a45d2e523..77be45c51 100644 --- a/include/constants/weather.h +++ b/include/constants/weather.h @@ -12,7 +12,7 @@ #define WEATHER_SANDSTORM 8 // unused #define WEATHER_FOG_DIAGONAL 9 // unused #define WEATHER_UNDERWATER 10 // unused -#define WEATHER_CLOUDY 11 +#define WEATHER_SHADE 11 #define WEATHER_DROUGHT 12 // unused and broken in overworld #define WEATHER_DOWNPOUR 13 // unused #define WEATHER_UNDERWATER_BUBBLES 14 // unused diff --git a/include/data.h b/include/data.h index f308b044c..90c8e0ace 100644 --- a/include/data.h +++ b/include/data.h @@ -28,7 +28,7 @@ extern const struct MonCoords gMonFrontPicCoords[]; extern const struct CompressedSpriteSheet gMonFrontPicTable[]; extern const struct MonCoords gMonBackPicCoords[]; extern const struct CompressedSpriteSheet gMonBackPicTable[]; -extern const struct CompressedSpritePalette gMonPaletteTable[]; +extern struct CompressedSpritePalette gMonPaletteTable[]; extern const struct CompressedSpritePalette gMonShinyPaletteTable[]; extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[]; extern const struct MonCoords gTrainerFrontPicCoords[]; diff --git a/include/digit_obj_util.h b/include/digit_obj_util.h new file mode 100644 index 000000000..1db775d26 --- /dev/null +++ b/include/digit_obj_util.h @@ -0,0 +1,33 @@ +#ifndef GUARD_DIGIT_OBJ_UTIL_H +#define GUARD_DIGIT_OBJ_UTIL_H + +struct DigitObjUtilTemplate +{ + u8 strConvMode:2; + u8 shape:2; + u8 size:2; + u8 priority:2; + u8 oamCount; + u8 xDelta; + s16 x; + s16 y; + union + { + const struct SpriteSheet * uncompressed; + const struct CompressedSpriteSheet * compressed; + } spriteSheet; + const struct SpritePalette * spritePal; +}; + +extern const u16 gUnknown_8479668[]; +extern const u32 gUnknown_8479688[]; +extern const u32 gUnknown_8479748[]; + +bool32 DigitObjUtil_Init(u32 count); +void DigitObjUtil_Teardown(void); +bool32 DigitObjUtil_CreatePrinter(u32 id, s32 num, const struct DigitObjUtilTemplate *template); +void DigitObjUtil_PrintNumOn(u32 id, s32 num); +void DigitObjUtil_DeletePrinter(u32 id); +void DigitObjUtil_HideOrShow(u32 id, bool32 hide); + +#endif //GUARD_DIGIT_OBJ_UTIL_H diff --git a/include/dodrio_berry_picking.h b/include/dodrio_berry_picking.h index 59736ba7a..26aa51023 100644 --- a/include/dodrio_berry_picking.h +++ b/include/dodrio_berry_picking.h @@ -1,6 +1,106 @@ #ifndef GUARD_DODRIO_BERRY_PICKING_H #define GUARD_DODRIO_BERRY_PICKING_H -void sub_81507FC(u16 species, MainCallback callback); +struct DodrioSubstruct_0160 +{ + /*0x0000 : 0x3000*/ u16 ALIGNED(4) tilemapBuffers[3][BG_SCREEN_SIZE]; + /*0x3000 : 0x3160*/ bool32 finished; + /*0x3004 : 0x3164*/ u8 ALIGNED(4) unk3004; + /*0x3008 : 0x3168*/ u8 ALIGNED(4) unk3008[10]; + /*0x3014 : 0x3174*/ u8 ALIGNED(4) state; + /*0x3018 : 0x3178*/ u8 ALIGNED(4) unk3018; + /*0x301C : 0x317C*/ u16 ALIGNED(4) unk301C; + /*0x3020 : 0x3180*/ u8 ALIGNED(4) unk3020; + /*0x3024 : 0x3184*/ u8 ALIGNED(4) unk3024; + /*0x3024 : 0x3184*/ void (*unk3028)(void); +}; // size = 0x302C + +struct DodrioSubstruct_318C +{ + bool8 isShiny; +}; + +struct DodrioSubstruct_31A0_14 +{ + u8 unk0[11]; + u8 unkB[11]; +}; + +struct DodrioSubstruct_31A0_2C +{ + u8 unk0; + u8 ALIGNED(4) unk4; + u8 ALIGNED(4) unk8; +}; + +struct DodrioSubstruct_31A0 +{ + u8 name[0x10]; + u32 unk10; + struct DodrioSubstruct_31A0_14 unk14; + struct DodrioSubstruct_31A0_2C unk2C; + u8 filler_35[4]; +}; // size = 0x3C + +struct DodrioSubstruct_3308 +{ + u8 unk0; + u32 unk4; +}; + +void StartDodrioBerryPicking(u16 species, MainCallback callback); + +u32 sub_815A950(u32 unused, struct DodrioSubstruct_31A0 *arg0, struct DodrioSubstruct_31A0_2C *arg1, struct DodrioSubstruct_31A0_2C *arg2, struct DodrioSubstruct_31A0_2C *arg3, struct DodrioSubstruct_31A0_2C *arg4, struct DodrioSubstruct_31A0_2C *arg5, u8 *arg6, u32 *arg7, u32 *arg8); +u32 sub_815AB04(u32 arg0, u8 *arg1); +bool32 sub_815AB60(u32 a0); +void sub_815A61C(struct DodrioSubstruct_31A0 *arg0, struct DodrioSubstruct_31A0_2C *arg1, struct DodrioSubstruct_31A0_2C *arg2, struct DodrioSubstruct_31A0_2C *arg3, struct DodrioSubstruct_31A0_2C *arg4, struct DodrioSubstruct_31A0_2C *arg5, u8 arg6, u32 arg7, u32 arg8); +void sub_815A5BC(s32 a0); +void sub_815AAD8(u8 a0); +void sub_815AB3C(u32 a0); +u8 sub_815A5E8(s32 a0); +u32 IncrementWithLimit(u32, u32); +void sub_8153A9C(void); +void sub_8153AFC(struct DodrioSubstruct_318C * unk318C, u8 a1, u8 a2, u8 a3); +void sub_8153BC0(u8 a0); +void sub_8153BF8(u8 a0); +void sub_8153D08(u8 playerCount); +u8 sub_8155E8C(void); +u8 sub_81533B4(void); +void sub_8153DA8(u8 a0, u8 a1); +void sub_8153D80(bool8 a0, u8 a1); +void sub_8153FC8(u8 a0); +void sub_8153DD8(void); +void sub_8153E28(void); +void sub_8153ED8(void); +bool32 sub_8153F1C(void); +void sub_81540DC(bool8 a0); +void sub_8154128(void); +void sub_815417C(void); +void sub_8154274(void); +void sub_81542EC(u8 a0, u8 a1); +void sub_8154370(u8 a0, u8 a1); +void sub_8154398(u16 a0, u8 a1); +void sub_8154438(void); +void sub_81544F0(void); +void sub_8154540(void); +void sub_8154578(void); +void sub_81545BC(bool8 a0); +void sub_81546C0(void); +void sub_8154730(void); +void sub_8154968(struct DodrioSubstruct_0160 * unk0160); +void sub_81549D4(u8 a0); +u8 *sub_81533C4(u8 id); +u8 sub_81537AC(u8 id); +void sub_81536A0(struct DodrioSubstruct_3308 *dst, u8 id); +u32 sub_81534AC(void); +u32 Min(u32 x, u32 y); +u16 sub_8153404(u8 arg0, u8 arg1); +u32 sub_81534F0(u8 arg0); +u32 sub_81535B0(void); +u16 sub_8153390(void); +u8 sub_815372C(void); +bool32 sub_8155E68(void); +void ShowDodrioBerryPickingRecords(void); +void IsDodrioInParty(void); #endif //GUARD_DODRIO_BERRY_PICKING_H diff --git a/include/easy_chat.h b/include/easy_chat.h index e7ec52fd1..11711cbbc 100644 --- a/include/easy_chat.h +++ b/include/easy_chat.h @@ -30,7 +30,6 @@ struct EasyChatWordsByLetter int numWords; }; -void InitEasyChatPhrases(void); u8 *CopyEasyChatWord(u8 *dest, u16 word); u8 *ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 length1, u16 length2); bool8 EC_DoesEasyChatStringFitOnLine(const u16 *easyChatWords, u8 columns, u8 rows, u16 maxLength); @@ -46,5 +45,31 @@ u16 GetNumDisplayedWords(void); const u8 *GetEasyChatWordGroupName(u8); u8 *CopyEasyChatWordPadded(u8 *, u16, u16); void DoEasyChatScreen(u8 type, u16 *words, MainCallback callback); +u8 GetNumDisplayableGroups(void); +bool8 InitEasyChatGraphicsWork(void); +bool8 LoadEasyChatGraphics(void); +void DestroyEasyChatGraphicsResources(void); +void EasyChatInterfaceCommand_Setup(u16 id); +bool8 EasyChatInterfaceCommand_Run(void); +u8 GetEasyChatScreenFrameId(void); +const u8 *GetTitleText(void); +u16 *GetEasyChatWordBuffer(void); +u8 GetNumRows(void); +u8 GetNumColumns(void); +u8 GetMainCursorColumn(void); +u8 GetMainCursorRow(void); +void GetEasyChatInstructionsText(const u8 **str1, const u8 **str2); +void GetEasyChatConfirmText(const u8 **str1, const u8 **str2); +void GetEasyChatConfirmCancelText(const u8 **str1, const u8 **str2); +void GetEasyChatConfirmDeletionText(const u8 **str1, const u8 **str2); +void GetECSelectGroupCursorCoords(u8 *Xp, u8 *Yp); +bool8 IsEasyChatAlphaMode(void); +u8 GetECSelectGroupRowsAbove(void); +void GetECSelectWordCursorCoords(s8 *arg0, s8 *arg1); +u8 GetECSelectWordRowsAbove(void); +u8 GetECSelectWordNumRows(void); +u8 unref_sub_80FFE60(void); +bool32 ShouldDrawECUpArrow(void); +bool32 ShouldDrawECDownArrow(void); #endif // GUARD_EASY_CHAT_H diff --git a/include/ereader_helpers.h b/include/ereader_helpers.h new file mode 100644 index 000000000..dab97470a --- /dev/null +++ b/include/ereader_helpers.h @@ -0,0 +1,36 @@ +#ifndef GUARD_EREADER_HELPERS_H +#define GUARD_EREADER_HELPERS_H + +enum { + EREADER_XFR_STATE_INIT = 0, + EREADER_XFR_STATE_HANDSHAKE, + EREADER_XFR_STATE_START, + EREADER_XFR_STATE_TRANSFER, + EREADER_XFR_STATE_TRANSFER_DONE, + EREADER_XFR_STATE_CHECKSUM, + EREADER_XFR_STATE_DONE +}; + +#define EREADER_XFER_EXE 1 +#define EREADER_XFER_CHK 2 +#define EREADER_XFER_SHIFT 0 +#define EREADER_XFER_MASK 3 + +#define EREADER_CANCEL_TIMEOUT 1 +#define EREADER_CANCEL_KEY 2 +#define EREADER_CANCEL_MASK 0xC +#define EREADER_CANCEL_SHIFT 2 + +#define EREADER_CHECKSUM_OK 1 +#define EREADER_CHECKSUM_ERR 2 +#define EREADER_CHECKSUM_MASK 0x30 +#define EREADER_CHECKSUM_SHIFT 4 + +void EReaderHelper_SerialCallback(void); +void EReaderHelper_Timer3Callback(void); +void EReaderHelper_SaveRegsState(void); +void EReaderHelper_ClearsSendRecvMgr(void); +void EReaderHelper_RestoreRegsState(void); +u16 EReaderHandleTransfer(u8 mode, size_t size, const void * src, void * dest); + +#endif //GUARD_EREADER_HELPERS_H diff --git a/include/event_data.h b/include/event_data.h index 7987720f1..e635cbc6d 100644 --- a/include/event_data.h +++ b/include/event_data.h @@ -54,8 +54,8 @@ bool8 FlagGet(u16 id); u16 * GetVarPointer(u16 id); bool32 IsMysteryGiftEnabled(void); void ResetSpecialVars(void); -void sub_806E2D0(void); -void sub_806E370(void); +void ResetMysteryEventFlags(void); +void ResetMysteryEventVars(void); bool32 IsNationalPokedexEnabled(void); void sub_806E190(void); diff --git a/include/event_object_80688E4.h b/include/event_object_80688E4.h deleted file mode 100644 index a928a6d28..000000000 --- a/include/event_object_80688E4.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef GUARD_EVENT_OBJECT_80688E4_H -#define GUARD_EVENT_OBJECT_80688E4_H - -#include "global.h" - -void FreezeObjectEvents(void); -void FreezeObjectEvent(struct ObjectEvent *); -void FreezeObjectEventsExceptOne(u8 objEventId); -void sub_8069124(u8 a0, bool8 a1); -u32 sub_806916C(u8 a0); -void sub_80691A4(u8 a0, u8 a1); -void sub_8069094(u8 a0, u8 a1); -bool32 sub_8069294(u8 a0); -void sub_8068BBC(struct Sprite *, u8); -void sub_8068C58(struct Sprite *, u8); -void sub_8068C08(struct Sprite *, u8); -bool8 sub_8068C68(struct Sprite *sprite); -bool8 sub_8068C18(struct Sprite *sprite); -void sub_8068CA4(struct Sprite *, u8); -bool8 obj_npc_ministep(struct Sprite *sprite); -bool8 sub_8068CB4(struct Sprite *sprite); -void SetAndStartSpriteAnim(struct Sprite *, u8, u8); -bool8 SpriteAnimEnded(struct Sprite *); -void SetMovementDelay(struct Sprite *, s16); -bool8 WaitForMovementDelay(struct Sprite *); -void UpdateObjectEventSpriteSubpriorityAndVisibility(struct Sprite *); - -#endif // GUARD_EVENT_OBJECT_80688E4_H diff --git a/include/event_object_8097404.h b/include/event_object_8097404.h deleted file mode 100644 index 7fa288830..000000000 --- a/include/event_object_8097404.h +++ /dev/null @@ -1,32 +0,0 @@ -// -// Created by scott on 9/7/2017. -// - -#ifndef GUARD_EVENT_OBJECT_8097404_H -#define GUARD_EVENT_OBJECT_8097404_H - -#include "global.h" - -// Exported type declarations - -// Exported RAM declarations -extern void *gUnknown_020375B8; - -// Exported ROM declarations -void sub_8097AC8(struct Sprite *); -void UnfreezeObjectEvent(struct ObjectEvent *); -void oamt_npc_ministep_reset(struct Sprite *, u8, u8); -u8 sub_8097F78(struct ObjectEvent *); -bool8 sub_80976EC(struct Sprite *sprite); -void sub_80976DC(struct Sprite *, u8); -void sub_809783C(struct Sprite *, u8, u8, u8); -void DoShadowFieldEffect(struct ObjectEvent *); -u8 sub_809785C(struct Sprite *); -u8 sub_80978E4(struct Sprite *); -bool8 sub_80979BC(struct Sprite *); -void sub_8097750(struct Sprite *); -bool8 sub_8097758(struct Sprite *); -void sub_8097FA4(struct ObjectEvent *); -void sub_8098044(u8); - -#endif // GUARD_EVENT_OBJECT_8097404_H diff --git a/include/event_object_lock.h b/include/event_object_lock.h index 5c65585b5..1a0f452fc 100644 --- a/include/event_object_lock.h +++ b/include/event_object_lock.h @@ -11,6 +11,6 @@ void sub_8098630(void); bool8 sub_8098734(void); void sub_80696C0(void); bool8 walkrun_is_standing_still(void); -void sub_80696F0(void); +void UnionRoom_UnlockPlayerAndChatPartner(void); #endif // GUARD_EVENT_OBJECT_LOCK_H diff --git a/include/event_object_movement.h b/include/event_object_movement.h index dac5ed8e8..e8c0d4463 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -3,9 +3,6 @@ #include "global.h" -#define NUM_OBJECT_GRAPHICS_INFO 239 -#define SPRITE_VAR 240 - // Exported struct declarations enum SpinnerRunnerFollowPatterns { @@ -60,9 +57,8 @@ void SpawnObjectEventsInView(s16, s16); u8 sprite_new(u8, u8, s16, s16, u8, u8); u8 AddPseudoObjectEvent(u16, SpriteCallback, s16, s16, u8); u8 TrySpawnObjectEvent(u8 localId, u8 mapNum, u8 mapGroup); -u8 SpawnSpecialObjectEventParameterized(u8, u8, u8, s16, s16, u8); +int SpawnSpecialObjectEventParameterized(u8, u8, u8, s16, s16, u8); u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *); -void SetSpritePosToMapCoords(s16, s16, s16 *, s16 *); void CameraObjectReset1(void); void CameraObjectReset2(void); void ObjectEventSetGraphicsId(struct ObjectEvent *, u8); @@ -114,7 +110,6 @@ u8 GetFaceDirectionMovementAction(u32); void CameraObjectSetFollowedObjectId(u8 objectId); void UnfreezeObjectEvents(void); void sub_8069058(u8, u8); -void SetObjectSubpriorityByZCoord(u8, struct Sprite *, u8); u8 GetSlideMovementAction(u32); u8 GetJumpInPlaceMovementAction(u32); u8 GetJumpMovementAction(u32); @@ -123,7 +118,48 @@ bool8 sub_8068BCC(struct Sprite *sprite); void sub_8068D1C(struct Sprite *, u8, u8, u8); u8 sub_8068D3C(struct Sprite *); u8 sub_8068DC4(struct Sprite *); - +void TurnObjectEvent(u8, u8); +const u8 *GetObjectEventScriptPointerByObjectEventId(u8 objectEventId); +u8 GetFirstInactiveObjectEventId(void); +u8 GetCollisionFlagsAtCoords(struct ObjectEvent * objectEvent, s16 x, s16 y, u8 direction); +u8 sub_8063FB0(u8 direction); +void OverrideTemplateCoordsForObjectEvent(const struct ObjectEvent *objectEvent);void sub_805C774(void); +void FreezeObjectEvents(void); +bool8 FreezeObjectEvent(struct ObjectEvent *); +void UnfreezeObjectEvent(struct ObjectEvent *); +void FreezeObjectEventsExceptOne(u8 objEventId); +void RfuUnionObjectSetFacingDirection(u8 objectEventId, u8 direction); +void RfuUnionObjectToggleInvisibility(u8 objectEventId, bool32 invisible); +bool32 RfuUnionObjectIsInvisible(u8 objectEventId); +void RfuUnionObjectStartWarp(u8 objectEventId, u8 animNo); +bool32 RfuUnionObjectIsWarping(u8 objectEventId); +u8 sub_80641C0(u32 direction); +void sub_805F378(s16 x, s16 y); +void MoveObjectEventToMapCoords(struct ObjectEvent *objectEvent, s16 x, s16 y); +u8 CreateCopySpriteAt(struct Sprite * sprite, s16 x, s16 y, u8 subpriority); +u16 GetObjectPaletteTag(u8 paletteIndex); +void SetSpritePosToMapCoords(s16 x, s16 y, s16 *x2, s16 *y2); +void UpdateObjectEventSpriteVisibility(struct Sprite *sprite, bool8 invisible); +u8 ZCoordToPriority(u8 z); +void SetObjectSubpriorityByZCoord(u8 z, struct Sprite * sprite, u8 offset); +void MakeObjectTemplateFromObjectEventGraphicsInfo(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables); +u8 AddCameraObject(u8 trackedSpriteId); +void UpdateObjectEventsForCameraUpdate(s16 x, s16 y); +void UpdateObjectEventSpriteSubpriorityAndVisibility(struct Sprite *); +void SetMovementDelay(struct Sprite *, s16); +bool8 WaitForMovementDelay(struct Sprite *); +void oamt_npc_ministep_reset(struct Sprite *, u8, u8); +bool8 obj_npc_ministep(struct Sprite *sprite); +void sub_8068BBC(struct Sprite *, u8); +void sub_8068C58(struct Sprite *, u8); +bool8 sub_8068C68(struct Sprite *sprite); +void sub_8068C08(struct Sprite *, u8); +bool8 sub_8068C18(struct Sprite *sprite); +void DoShadowFieldEffect(struct ObjectEvent *); +void sub_8068CA4(struct Sprite *, u8); +bool8 sub_8068CB4(struct Sprite *sprite); +void SetAndStartSpriteAnim(struct Sprite *, u8, u8); +bool8 SpriteAnimEnded(struct Sprite *); // Exported data declarations @@ -131,5 +167,9 @@ extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; extern const struct SpritePalette gUnknown_83A5348; extern const struct SpriteTemplate * const gFieldEffectObjectTemplatePointers[]; extern const struct OamData gObjectEventBaseOam_32x32; +extern const struct Coords16 sDirectionToVectors[]; +extern const u16 gUnknown_8398648[]; +extern const u16 gUnknown_8398688[]; +extern const u8 gReflectionEffectPaletteMap[]; #endif // GUARD_EVENT_OBJECT_MOVEMENT_H diff --git a/include/event_scripts.h b/include/event_scripts.h index f026cb57a..c211e3a34 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -379,9 +379,9 @@ extern const u8 gText_LtSurge[]; extern const u8 gText_Koga[]; extern const u8 gText_PokemonCenter[]; // vs_seeker -extern const u8 gUnknown_81C137C[]; -extern const u8 gUnknown_81C13D6[]; -extern const u8 gUnknown_81C1429[]; +extern const u8 VSSeeker_Text_BatteryNotChargedNeedXSteps[]; +extern const u8 VSSeeker_Text_NoTrainersWithinRange[]; +extern const u8 VSSeeker_Text_TrainersNotReady[]; // fame_checker @@ -773,376 +773,375 @@ extern const u8 gOakText_RememberRivalName[]; extern const u8 gOakText_LegendAboutToUnfold[]; // Help System -extern const u8 gUnknown_81B2DF8[]; -extern const u8 gUnknown_81B2E1C[]; -extern const u8 gUnknown_81B2E2E[]; -extern const u8 gUnknown_81B2E48[]; -extern const u8 gUnknown_81B2E58[]; -extern const u8 gUnknown_81B2E6A[]; -extern const u8 gUnknown_81B2E6F[]; +extern const u8 Help_Text_WhatShouldIDo[]; +extern const u8 Help_Text_HowDoIDoThis[]; +extern const u8 Help_Text_WhatDoesThisTermMean[]; +extern const u8 Help_Text_AboutThisGame[]; +extern const u8 Help_Text_TypeMatchupList[]; +extern const u8 Help_Text_Exit[]; +extern const u8 Help_Text_Cancel[]; extern const u8 gUnknown_81B2E76[]; -extern const u8 gUnknown_81B2E88[]; -extern const u8 gUnknown_81B2EC8[]; -extern const u8 gUnknown_81B2F00[]; -extern const u8 gUnknown_81B2F43[]; -extern const u8 gUnknown_81B2F74[]; -extern const u8 gUnknown_81B2FA9[]; -extern const u8 gUnknown_81B2FC9[]; -extern const u8 gUnknown_81B301B[]; -extern const u8 gUnknown_81B3083[]; -extern const u8 gUnknown_81B30A9[]; -extern const u8 gUnknown_81B30C1[]; -extern const u8 gUnknown_81B30DC[]; -extern const u8 gUnknown_81B30FC[]; -extern const u8 gUnknown_81B311F[]; -extern const u8 gUnknown_81B3140[]; -extern const u8 gUnknown_81B314F[]; -extern const u8 gUnknown_81B3168[]; -extern const u8 gUnknown_81B3189[]; -extern const u8 gUnknown_81B31AE[]; -extern const u8 gUnknown_81B31D3[]; -extern const u8 gUnknown_81B31EC[]; -extern const u8 gUnknown_81B31FF[]; -extern const u8 gUnknown_81B3215[]; -extern const u8 gUnknown_81B3226[]; -extern const u8 gUnknown_81B3243[]; -extern const u8 gUnknown_81B3261[]; -extern const u8 gUnknown_81B3276[]; -extern const u8 gUnknown_81B3290[]; -extern const u8 gUnknown_81B32B6[]; -extern const u8 gUnknown_81B32CD[]; -extern const u8 gUnknown_81B32E3[]; -extern const u8 gUnknown_81B32F9[]; -extern const u8 gUnknown_81B330B[]; -extern const u8 gUnknown_81B332B[]; -extern const u8 gUnknown_81B3344[]; -extern const u8 gUnknown_81B335C[]; -extern const u8 gUnknown_81B3373[]; -extern const u8 gUnknown_81B338C[]; -extern const u8 gUnknown_81B33A6[]; -extern const u8 gUnknown_81B33CA[]; -extern const u8 gUnknown_81B33EA[]; -extern const u8 gUnknown_81B3402[]; -extern const u8 gUnknown_81B3427[]; -extern const u8 gUnknown_81B3440[]; -extern const u8 gUnknown_81B3457[]; -extern const u8 gUnknown_81B346F[]; -extern const u8 gUnknown_81B3481[]; -extern const u8 gUnknown_81B349B[]; -extern const u8 gUnknown_81B34B7[]; -extern const u8 gUnknown_81B34D6[]; -extern const u8 gUnknown_81B34F6[]; -extern const u8 gUnknown_81B3516[]; -extern const u8 gUnknown_81B3525[]; -extern const u8 gUnknown_81B35E6[]; -extern const u8 gUnknown_81B36EB[]; -extern const u8 gUnknown_81B379A[]; -extern const u8 gUnknown_81B3849[]; -extern const u8 gUnknown_81B3876[]; -extern const u8 gUnknown_81B3972[]; -extern const u8 gUnknown_81B3A51[]; -extern const u8 gUnknown_81B3ACC[]; -extern const u8 gUnknown_81B3BB6[]; -extern const u8 gUnknown_81B3C99[]; -extern const u8 gUnknown_81B3D1B[]; -extern const u8 gUnknown_81B3DE3[]; -extern const u8 gUnknown_81B3EBC[]; -extern const u8 gUnknown_81B3F7F[]; -extern const u8 gUnknown_81B406C[]; -extern const u8 gUnknown_81B410B[]; -extern const u8 gUnknown_81B41D7[]; -extern const u8 gUnknown_81B42B3[]; -extern const u8 gUnknown_81B439D[]; -extern const u8 gUnknown_81B4483[]; -extern const u8 gUnknown_81B457C[]; -extern const u8 gUnknown_81B4645[]; -extern const u8 gUnknown_81B470A[]; -extern const u8 gUnknown_81B47F0[]; -extern const u8 gUnknown_81B48C6[]; -extern const u8 gUnknown_81B497A[]; -extern const u8 gUnknown_81B4A72[]; -extern const u8 gUnknown_81B4B65[]; -extern const u8 gUnknown_81B4C54[]; -extern const u8 gUnknown_81B4D26[]; -extern const u8 gUnknown_81B4E0B[]; -extern const u8 gUnknown_81B4ED8[]; -extern const u8 gUnknown_81B4FB2[]; -extern const u8 gUnknown_81B4FFD[]; -extern const u8 gUnknown_81B50FF[]; -extern const u8 gUnknown_81B51B1[]; -extern const u8 gUnknown_81B5272[]; -extern const u8 gUnknown_81B5325[]; -extern const u8 gUnknown_81B5382[]; -extern const u8 gUnknown_81B547C[]; -extern const u8 gUnknown_81B54E1[]; -extern const u8 gUnknown_81B5589[]; -extern const u8 gUnknown_81B55F4[]; -extern const u8 gUnknown_81B56E3[]; -extern const u8 gUnknown_81B56F4[]; -extern const u8 gUnknown_81B5705[]; -extern const u8 gUnknown_81B5717[]; -extern const u8 gUnknown_81B5728[]; -extern const u8 gUnknown_81B5737[]; -extern const u8 gUnknown_81B5744[]; -extern const u8 gUnknown_81B5754[]; -extern const u8 gUnknown_81B5767[]; -extern const u8 gUnknown_81B577B[]; -extern const u8 gUnknown_81B5787[]; -extern const u8 gUnknown_81B5795[]; -extern const u8 gUnknown_81B57A5[]; -extern const u8 gUnknown_81B57B8[]; -extern const u8 gUnknown_81B57CF[]; -extern const u8 gUnknown_81B57DE[]; -extern const u8 gUnknown_81B57EE[]; -extern const u8 gUnknown_81B580D[]; -extern const u8 gUnknown_81B5824[]; -extern const u8 gUnknown_81B5834[]; -extern const u8 gUnknown_81B583F[]; -extern const u8 gUnknown_81B5850[]; -extern const u8 gUnknown_81B5863[]; -extern const u8 gUnknown_81B5875[]; -extern const u8 gUnknown_81B5884[]; -extern const u8 gUnknown_81B5893[]; -extern const u8 gUnknown_81B58A4[]; -extern const u8 gUnknown_81B58BC[]; -extern const u8 gUnknown_81B58D3[]; -extern const u8 gUnknown_81B58E5[]; -extern const u8 gUnknown_81B58FD[]; -extern const u8 gUnknown_81B590E[]; -extern const u8 gUnknown_81B591D[]; -extern const u8 gUnknown_81B592E[]; -extern const u8 gUnknown_81B593E[]; -extern const u8 gUnknown_81B5950[]; -extern const u8 gUnknown_81B595D[]; -extern const u8 gUnknown_81B5974[]; -extern const u8 gUnknown_81B5989[]; -extern const u8 gUnknown_81B59A7[]; -extern const u8 gUnknown_81B59BF[]; -extern const u8 gUnknown_81B59D6[]; -extern const u8 gUnknown_81B59E8[]; -extern const u8 gUnknown_81B59F5[]; -extern const u8 gUnknown_81B5A0D[]; -extern const u8 gUnknown_81B5A1B[]; -extern const u8 gUnknown_81B5A29[]; -extern const u8 gUnknown_81B5A37[]; -extern const u8 gUnknown_81B5A4D[]; -extern const u8 gUnknown_81B5B0C[]; -extern const u8 gUnknown_81B5B7D[]; -extern const u8 gUnknown_81B5C13[]; -extern const u8 gUnknown_81B5CDF[]; -extern const u8 gUnknown_81B5D87[]; -extern const u8 gUnknown_81B5E41[]; -extern const u8 gUnknown_81B5F10[]; -extern const u8 gUnknown_81B5FA6[]; -extern const u8 gUnknown_81B606C[]; -extern const u8 gUnknown_81B6140[]; -extern const u8 gUnknown_81B6203[]; -extern const u8 gUnknown_81B62E4[]; -extern const u8 gUnknown_81B6397[]; -extern const u8 gUnknown_81B6478[]; -extern const u8 gUnknown_81B6525[]; -extern const u8 gUnknown_81B65E7[]; -extern const u8 gUnknown_81B66BA[]; -extern const u8 gUnknown_81B678E[]; -extern const u8 gUnknown_81B6883[]; -extern const u8 gUnknown_81B68CD[]; -extern const u8 gUnknown_81B69B9[]; -extern const u8 gUnknown_81B6A9A[]; -extern const u8 gUnknown_81B6B6E[]; -extern const u8 gUnknown_81B6C4F[]; -extern const u8 gUnknown_81B6D4A[]; -extern const u8 gUnknown_81B6E02[]; -extern const u8 gUnknown_81B6EC1[]; -extern const u8 gUnknown_81B6FA8[]; -extern const u8 gUnknown_81B7075[]; -extern const u8 gUnknown_81B7108[]; -extern const u8 gUnknown_81B71EA[]; -extern const u8 gUnknown_81B723B[]; -extern const u8 gUnknown_81B7319[]; -extern const u8 gUnknown_81B73E8[]; -extern const u8 gUnknown_81B747E[]; -extern const u8 gUnknown_81B752C[]; -extern const u8 gUnknown_81B7611[]; -extern const u8 gUnknown_81B7692[]; -extern const u8 gUnknown_81B771E[]; -extern const u8 gUnknown_81B77DD[]; -extern const u8 gUnknown_81B7884[]; -extern const u8 gUnknown_81B7931[]; -extern const u8 gUnknown_81B79CB[]; -extern const u8 gUnknown_81B7A60[]; -extern const u8 gUnknown_81B7AEE[]; -extern const u8 gUnknown_81B7BBE[]; -extern const u8 gUnknown_81B7C57[]; -extern const u8 gUnknown_81B7CC1[]; -extern const u8 gUnknown_81B7CC4[]; -extern const u8 gUnknown_81B7CD9[]; -extern const u8 gUnknown_81B7CDF[]; -extern const u8 gUnknown_81B7CE6[]; -extern const u8 gUnknown_81B7CEE[]; -extern const u8 gUnknown_81B7CF6[]; -extern const u8 gUnknown_81B7CFE[]; -extern const u8 gUnknown_81B7D04[]; -extern const u8 gUnknown_81B7D12[]; -extern const u8 gUnknown_81B7D17[]; -extern const u8 gUnknown_81B7D1A[]; -extern const u8 gUnknown_81B7D1F[]; -extern const u8 gUnknown_81B7D27[]; -extern const u8 gUnknown_81B7D2D[]; -extern const u8 gUnknown_81B7D37[]; -extern const u8 gUnknown_81B7D3E[]; -extern const u8 gUnknown_81B7D45[]; -extern const u8 gUnknown_81B7D48[]; -extern const u8 gUnknown_81B7D4E[]; -extern const u8 gUnknown_81B7D57[]; -extern const u8 gUnknown_81B7D5B[]; -extern const u8 gUnknown_81B7D61[]; -extern const u8 gUnknown_81B7D6B[]; -extern const u8 gUnknown_81B7D76[]; -extern const u8 gUnknown_81B7D7E[]; -extern const u8 gUnknown_81B7D88[]; -extern const u8 gUnknown_81B7D8F[]; -extern const u8 gUnknown_81B7D9A[]; -extern const u8 gUnknown_81B7DA7[]; -extern const u8 gUnknown_81B7DB4[]; -extern const u8 gUnknown_81B7DBA[]; -extern const u8 gUnknown_81B7DC6[]; -extern const u8 gUnknown_81B7DCC[]; -extern const u8 gUnknown_81B7DD3[]; -extern const u8 gUnknown_81B7DD6[]; -extern const u8 gUnknown_81B7DD9[]; -extern const u8 gUnknown_81B7DE1[]; -extern const u8 gUnknown_81B7DEB[]; -extern const u8 gUnknown_81B7DFA[]; -extern const u8 gUnknown_81B7E02[]; -extern const u8 gUnknown_81B7E09[]; -extern const u8 gUnknown_81B7E0F[]; -extern const u8 gUnknown_81B7E16[]; -extern const u8 gUnknown_81B7F0A[]; -extern const u8 gUnknown_81B800A[]; -extern const u8 gUnknown_81B80EC[]; -extern const u8 gUnknown_81B81C2[]; -extern const u8 gUnknown_81B8256[]; -extern const u8 gUnknown_81B8348[]; -extern const u8 gUnknown_81B83EF[]; -extern const u8 gUnknown_81B847B[]; -extern const u8 gUnknown_81B8550[]; -extern const u8 gUnknown_81B8647[]; -extern const u8 gUnknown_81B86E2[]; -extern const u8 gUnknown_81B87B8[]; -extern const u8 gUnknown_81B8897[]; -extern const u8 gUnknown_81B8924[]; -extern const u8 gUnknown_81B8A04[]; -extern const u8 gUnknown_81B8A84[]; -extern const u8 gUnknown_81B8B62[]; -extern const u8 gUnknown_81B8C18[]; -extern const u8 gUnknown_81B8C94[]; -extern const u8 gUnknown_81B8D1D[]; -extern const u8 gUnknown_81B8DD4[]; -extern const u8 gUnknown_81B8E67[]; -extern const u8 gUnknown_81B8F4D[]; -extern const u8 gUnknown_81B901B[]; -extern const u8 gUnknown_81B90A7[]; -extern const u8 gUnknown_81B90E8[]; -extern const u8 gUnknown_81B9170[]; -extern const u8 gUnknown_81B91C2[]; -extern const u8 gUnknown_81B91F9[]; -extern const u8 gUnknown_81B92B8[]; -extern const u8 gUnknown_81B92ED[]; -extern const u8 gUnknown_81B93D8[]; -extern const u8 gUnknown_81B9439[]; -extern const u8 gUnknown_81B9497[]; -extern const u8 gUnknown_81B9560[]; -extern const u8 gUnknown_81B9656[]; -extern const u8 gUnknown_81B9749[]; -extern const u8 gUnknown_81B984F[]; -extern const u8 gUnknown_81B991C[]; -extern const u8 gUnknown_81B99C4[]; -extern const u8 gUnknown_81B9AA2[]; -extern const u8 gUnknown_81B9B2F[]; -extern const u8 gUnknown_81B9BB7[]; -extern const u8 gUnknown_81B9BC7[]; -extern const u8 gUnknown_81B9BD0[]; -extern const u8 gUnknown_81B9BE1[]; -extern const u8 gUnknown_81B9BF5[]; -extern const u8 gUnknown_81B9C09[]; -extern const u8 gUnknown_81B9C1D[]; -extern const u8 gUnknown_81B9C2F[]; -extern const u8 gUnknown_81B9D04[]; -extern const u8 gUnknown_81B9DC5[]; -extern const u8 gUnknown_81B9E75[]; -extern const u8 gUnknown_81B9F09[]; -extern const u8 gUnknown_81B9FCE[]; -extern const u8 gUnknown_81BA027[]; -extern const u8 gUnknown_81BA0F1[]; -extern const u8 gUnknown_81BA10D[]; -extern const u8 gUnknown_81BA121[]; -extern const u8 gUnknown_81BA138[]; -extern const u8 gUnknown_81BA14C[]; -extern const u8 gUnknown_81BA163[]; -extern const u8 gUnknown_81BA17A[]; -extern const u8 gUnknown_81BA194[]; -extern const u8 gUnknown_81BA1AC[]; -extern const u8 gUnknown_81BA1C7[]; -extern const u8 gUnknown_81BA1DC[]; -extern const u8 gUnknown_81BA1F4[]; -extern const u8 gUnknown_81BA209[]; -extern const u8 gUnknown_81BA221[]; -extern const u8 gUnknown_81BA234[]; -extern const u8 gUnknown_81BA24A[]; -extern const u8 gUnknown_81BA260[]; -extern const u8 gUnknown_81BA279[]; -extern const u8 gUnknown_81BA291[]; -extern const u8 gUnknown_81BA2AC[]; -extern const u8 gUnknown_81BA2C2[]; -extern const u8 gUnknown_81BA2DB[]; -extern const u8 gUnknown_81BA2F1[]; -extern const u8 gUnknown_81BA30A[]; -extern const u8 gUnknown_81BA320[]; -extern const u8 gUnknown_81BA339[]; -extern const u8 gUnknown_81BA34E[]; -extern const u8 gUnknown_81BA366[]; -extern const u8 gUnknown_81BA37C[]; -extern const u8 gUnknown_81BA395[]; -extern const u8 gUnknown_81BA3A9[]; -extern const u8 gUnknown_81BA3C0[]; -extern const u8 gUnknown_81BA3D5[]; -extern const u8 gUnknown_81BA3ED[]; -extern const u8 gUnknown_81BA400[]; -extern const u8 gUnknown_81BA416[]; -extern const u8 gUnknown_81BA4E6[]; -extern const u8 gUnknown_81BA539[]; -extern const u8 gUnknown_81BA595[]; -extern const u8 gUnknown_81BA5F2[]; -extern const u8 gUnknown_81BA66F[]; -extern const u8 gUnknown_81BA6C9[]; -extern const u8 gUnknown_81BA71F[]; -extern const u8 gUnknown_81BA796[]; -extern const u8 gUnknown_81BA7E9[]; -extern const u8 gUnknown_81BA862[]; -extern const u8 gUnknown_81BA8D3[]; -extern const u8 gUnknown_81BA92A[]; -extern const u8 gUnknown_81BA98D[]; -extern const u8 gUnknown_81BA9F1[]; -extern const u8 gUnknown_81BAA44[]; -extern const u8 gUnknown_81BAAB6[]; -extern const u8 gUnknown_81BAB18[]; -extern const u8 gUnknown_81BAB7A[]; -extern const u8 gUnknown_81BABCC[]; -extern const u8 gUnknown_81BAC29[]; -extern const u8 gUnknown_81BAC89[]; -extern const u8 gUnknown_81BACC4[]; -extern const u8 gUnknown_81BAD20[]; -extern const u8 gUnknown_81BAD60[]; -extern const u8 gUnknown_81BADA2[]; -extern const u8 gUnknown_81BADF7[]; -extern const u8 gUnknown_81BAEA8[]; -extern const u8 gUnknown_81BAF01[]; -extern const u8 gUnknown_81BAF6B[]; -extern const u8 gUnknown_81BAFCA[]; -extern const u8 gUnknown_81BB02E[]; -extern const u8 gUnknown_81BB084[]; -extern const u8 gUnknown_81BB0DF[]; -extern const u8 gUnknown_81BB156[]; +extern const u8 Help_Text_DescWhatShouldIDo[]; +extern const u8 Help_Text_DescHowDoIDoThis[]; +extern const u8 Help_Text_DescWhatDoesThisTermMean[]; +extern const u8 Help_Text_DescAboutThisGame[]; +extern const u8 Help_Text_DescTypeMatchupList[]; +extern const u8 Help_Text_DescExit[]; +extern const u8 Help_Text_Greetings[]; +extern const u8 Help_Text_PlayingForFirstTime[]; +extern const u8 Help_Text_WhatShouldIBeDoing[]; +extern const u8 Help_Text_CantGetOutOfRoom[]; +extern const u8 Help_Text_CantFindPersonIWant[]; +extern const u8 Help_Text_TalkedToEveryoneNowWhat[]; +extern const u8 Help_Text_SomeoneBlockingMyWay[]; +extern const u8 Help_Text_ICantGoOn[]; +extern const u8 Help_Text_OutOfThingsToDo[]; +extern const u8 Help_Text_WhatHappenedToItemIGot[]; +extern const u8 Help_Text_WhatAreMyAdventureBasics[]; +extern const u8 Help_Text_HowAreRoadsForestsDifferent[]; +extern const u8 Help_Text_HowAreCavesDifferent[]; +extern const u8 Help_Text_HowDoIProgress[]; +extern const u8 Help_Text_WhenCanIUseItem[]; +extern const u8 Help_Text_WhatsABattle[]; +extern const u8 Help_Text_HowDoIPrepareForBattle[]; +extern const u8 Help_Text_WhatIsAMonsVitality[]; +extern const u8 Help_Text_MyMonsAreHurt[]; +extern const u8 Help_Text_WhatIsStatusProblem[]; +extern const u8 Help_Text_WhatHappensIfAllMyMonsFaint[]; +extern const u8 Help_Text_CantCatchMons[]; +extern const u8 Help_Text_RanOutOfPotions[]; +extern const u8 Help_Text_CanIBuyPokeBalls[]; +extern const u8 Help_Text_WhatsATrainer[]; +extern const u8 Help_Text_HowDoIWinAgainstTrainer[]; +extern const u8 Help_Text_WhereDoMonsAppear[]; +extern const u8 Help_Text_WhatAreMoves[]; +extern const u8 Help_Text_WhatAreHiddenMoves[]; +extern const u8 Help_Text_WhatMovesShouldIUse[]; +extern const u8 Help_Text_WantToAddMoreMoves[]; +extern const u8 Help_Text_WantToMakeMonStronger[]; +extern const u8 Help_Text_FoeMonsTooStrong[]; +extern const u8 Help_Text_WhatDoIDoInCave[]; +extern const u8 Help_Text_NothingIWantToKnow[]; +extern const u8 Help_Text_WhatsPokemonCenter[]; +extern const u8 Help_Text_WhatsPokemonMart[]; +extern const u8 Help_Text_WantToEndGame[]; +extern const u8 Help_Text_WhatsAMon[]; +extern const u8 Help_Text_WhatIsThatPersonLike[]; +extern const u8 Help_Text_WhatDoesHiddenMoveDo[]; +extern const u8 Help_Text_WhatDoIDoInSafari[]; +extern const u8 Help_Text_WhatAreSafariRules[]; +extern const u8 Help_Text_WantToEndSafari[]; +extern const u8 Help_Text_WhatIsAGym[]; +extern const u8 Help_Text_AnswerPlayingForFirstTime[]; +extern const u8 Help_Text_AnswerWhatShouldIBeDoing[]; +extern const u8 Help_Text_AnswerCantGetOutOfRoom[]; +extern const u8 Help_Text_AnswerCantFindPersonIWant[]; +extern const u8 Help_Text_AnswerTalkedToEveryoneNowWhat[]; +extern const u8 Help_Text_AnswerSomeoneBlockingMyWay[]; +extern const u8 Help_Text_AnswerICantGoOn[]; +extern const u8 Help_Text_AnswerOutOfThingsToDo[]; +extern const u8 Help_Text_AnswerWhatHappenedToItemIGot[]; +extern const u8 Help_Text_AnswerWhatAreMyAdventureBasics[]; +extern const u8 Help_Text_AnswerHowAreRoadsForestsDifferent[]; +extern const u8 Help_Text_AnswerHowAreCavesDifferent[]; +extern const u8 Help_Text_AnswerHowDoIProgress[]; +extern const u8 Help_Text_AnswerWhenCanIUseItem[]; +extern const u8 Help_Text_AnswerWhatsABattle[]; +extern const u8 Help_Text_AnswerHowDoIPrepareForBattle[]; +extern const u8 Help_Text_AnswerWhatIsAMonsVitality[]; +extern const u8 Help_Text_AnswerMyMonsAreHurt[]; +extern const u8 Help_Text_AnswerWhatIsStatusProblem[]; +extern const u8 Help_Text_AnswerWhatHappensIfAllMyMonsFaint[]; +extern const u8 Help_Text_AnswerCantCatchMons[]; +extern const u8 Help_Text_AnswerRanOutOfPotions[]; +extern const u8 Help_Text_AnswerCanIBuyPokeBalls[]; +extern const u8 Help_Text_AnswerWhatsATrainer[]; +extern const u8 Help_Text_AnswerHowDoIWinAgainstTrainer[]; +extern const u8 Help_Text_AnswerWhereDoMonsAppear[]; +extern const u8 Help_Text_AnswerWhatAreMoves[]; +extern const u8 Help_Text_AnswerWhatAreHiddenMoves[]; +extern const u8 Help_Text_AnswerWhatMovesShouldIUse[]; +extern const u8 Help_Text_AnswerWantToAddMoreMoves[]; +extern const u8 Help_Text_AnswerWantToMakeMonStronger[]; +extern const u8 Help_Text_AnswerFoeMonsTooStrong[]; +extern const u8 Help_Text_AnswerWhatDoIDoInCave[]; +extern const u8 Help_Text_AnswerNothingIWantToKnow[]; +extern const u8 Help_Text_AnswerWhatsPokemonCenter[]; +extern const u8 Help_Text_AnswerWhatsPokemonMart[]; +extern const u8 Help_Text_AnswerWantToEndGame[]; +extern const u8 Help_Text_AnswerWhatsAMon[]; +extern const u8 Help_Text_AnswerWhatIsThatPersonLike[]; +extern const u8 Help_Text_AnswerWhatDoesHiddenMoveDo[]; +extern const u8 Help_Text_AnswerWhatDoIDoInSafari[]; +extern const u8 Help_Text_AnswerWhatAreSafariRules[]; +extern const u8 Help_Text_AnswerWantToEndSafari[]; +extern const u8 Help_Text_AnswerWhatIsAGym[]; +extern const u8 Help_Text_UsingPokedex[]; +extern const u8 Help_Text_UsingPokemon[]; +extern const u8 Help_Text_UsingSummary[]; +extern const u8 Help_Text_UsingSwitch[]; +extern const u8 Help_Text_UsingItem[]; +extern const u8 Help_Text_UsingBag[]; +extern const u8 Help_Text_UsingAnItem[]; +extern const u8 Help_Text_UsingKeyItem[]; +extern const u8 Help_Text_UsingPokeBall[]; +extern const u8 Help_Text_UsingPlayer[]; +extern const u8 Help_Text_UsingSave[]; +extern const u8 Help_Text_UsingOption[]; +extern const u8 Help_Text_UsingPotion[]; +extern const u8 Help_Text_UsingTownMap[]; +extern const u8 Help_Text_UsingTM[]; +extern const u8 Help_Text_UsingHM[]; +extern const u8 Help_Text_UsingMoveOutsideOfBattle[]; +extern const u8 Help_Text_RidingBicycle[]; +extern const u8 Help_Text_EnteringName[]; +extern const u8 Help_Text_UsingPC[]; +extern const u8 Help_Text_UsingBillsPC[]; +extern const u8 Help_Text_UsingWithdraw[]; +extern const u8 Help_Text_UsingDeposit[]; +extern const u8 Help_Text_UsingMove[]; +extern const u8 Help_Text_MovingItems[]; +extern const u8 Help_Text_UsingPlayersPC[]; +extern const u8 Help_Text_UsingWithdrawItem[]; +extern const u8 Help_Text_UsingDepositItem[]; +extern const u8 Help_Text_UsingMailbox[]; +extern const u8 Help_Text_UsingProfOaksPC[]; +extern const u8 Help_Text_OpeningMenu[]; +extern const u8 Help_Text_UsingFight[]; +extern const u8 Help_Text_UsingPokemon2[]; +extern const u8 Help_Text_UsingShift[]; +extern const u8 Help_Text_UsingSummary2[]; +extern const u8 Help_Text_UsingBag2[]; +extern const u8 Help_Text_ReadingPokedex[]; +extern const u8 Help_Text_UsingHomePC[]; +extern const u8 Help_Text_UsingItemStorage[]; +extern const u8 Help_Text_UsingWithdrawItem2[]; +extern const u8 Help_Text_UsingDepositItem2[]; +extern const u8 Help_Text_UsingMailbox2[]; +extern const u8 Help_Text_UsingRun[]; +extern const u8 Help_Text_RegisterKeyItem[]; +extern const u8 Help_Text_UsingBall[]; +extern const u8 Help_Text_UsingBait[]; +extern const u8 Help_Text_UsingRock[]; +extern const u8 Help_Text_UsingHallOfFame[]; +extern const u8 Help_Text_HowToUsePokedex[]; +extern const u8 Help_Text_HowToUsePokemon[]; +extern const u8 Help_Text_HowToUseSummary[]; +extern const u8 Help_Text_HowToUseSwitch[]; +extern const u8 Help_Text_HowToUseItem[]; +extern const u8 Help_Text_HowToUseBag[]; +extern const u8 Help_Text_HowToUseAnItem[]; +extern const u8 Help_Text_HowToUseKeyItem[]; +extern const u8 Help_Text_HowToUsePokeBall[]; +extern const u8 Help_Text_HowToUsePlayer[]; +extern const u8 Help_Text_HowToUseSave[]; +extern const u8 Help_Text_HowToUseOption[]; +extern const u8 Help_Text_HowToUsePotion[]; +extern const u8 Help_Text_HowToUseTownMap[]; +extern const u8 Help_Text_HowToUseTM[]; +extern const u8 Help_Text_HowToUseHM[]; +extern const u8 Help_Text_HowToUseMoveOutsideOfBattle[]; +extern const u8 Help_Text_HowToRideBicycle[]; +extern const u8 Help_Text_HowToEnterName[]; +extern const u8 Help_Text_HowToUsePC[]; +extern const u8 Help_Text_HowToUseBillsPC[]; +extern const u8 Help_Text_HowToUseWithdraw[]; +extern const u8 Help_Text_HowToUseDeposit[]; +extern const u8 Help_Text_HowToUseMove[]; +extern const u8 Help_Text_HowToMoveItems[]; +extern const u8 Help_Text_HowToUsePlayersPC[]; +extern const u8 Help_Text_HowToUseWithdrawItem[]; +extern const u8 Help_Text_HowToUseDepositItem[]; +extern const u8 Help_Text_HowToUseMailbox[]; +extern const u8 Help_Text_HowToUseProfOaksPC[]; +extern const u8 Help_Text_HowToOpenMenu[]; +extern const u8 Help_Text_HowToUseFight[]; +extern const u8 Help_Text_HowToUsePokemon2[]; +extern const u8 Help_Text_HowToUseShift[]; +extern const u8 Help_Text_HowToUseSummary2[]; +extern const u8 Help_Text_HowToUseBag2[]; +extern const u8 Help_Text_HowToReadPokedex[]; +extern const u8 Help_Text_HowToUseHomePC[]; +extern const u8 Help_Text_HowToUseItemStorage[]; +extern const u8 Help_Text_HowToUseWithdrawItem2[]; +extern const u8 Help_Text_HowToUseDepositItem2[]; +extern const u8 Help_Text_HowToUseMailbox2[]; +extern const u8 Help_Text_HowToUseRun[]; +extern const u8 Help_Text_HowToRegisterKeyItem[]; +extern const u8 Help_Text_HowToUseBall[]; +extern const u8 Help_Text_HowToUseBait[]; +extern const u8 Help_Text_HowToUseRock[]; +extern const u8 Help_Text_HowToUseHallOfFame[]; +extern const u8 Help_Text_HP[]; +extern const u8 Help_Text_EXP[]; +extern const u8 Help_Text_Moves[]; +extern const u8 Help_Text_Attack[]; +extern const u8 Help_Text_Defense[]; +extern const u8 Help_Text_SpAtk[]; +extern const u8 Help_Text_SpDef[]; +extern const u8 Help_Text_Speed[]; +extern const u8 Help_Text_Level[]; +extern const u8 Help_Text_Type[]; +extern const u8 Help_Text_OT[]; +extern const u8 Help_Text_Item[]; +extern const u8 Help_Text_Ability[]; +extern const u8 Help_Text_Money[]; +extern const u8 Help_Text_MoveType[]; +extern const u8 Help_Text_Nature[]; +extern const u8 Help_Text_IDNo[]; +extern const u8 Help_Text_PP[]; +extern const u8 Help_Text_Power[]; +extern const u8 Help_Text_Accuracy[]; +extern const u8 Help_Text_FNT[]; +extern const u8 Help_Text_Items[]; +extern const u8 Help_Text_KeyItems[]; +extern const u8 Help_Text_PokeBalls[]; +extern const u8 Help_Text_Pokedex[]; +extern const u8 Help_Text_PlayTime[]; +extern const u8 Help_Text_Badges[]; +extern const u8 Help_Text_TextSpeed[]; +extern const u8 Help_Text_BattleScene[]; +extern const u8 Help_Text_BattleStyle[]; +extern const u8 Help_Text_Sound[]; +extern const u8 Help_Text_ButtonMode[]; +extern const u8 Help_Text_Frame[]; +extern const u8 Help_Text_Cancel2[]; +extern const u8 Help_Text_TM[]; +extern const u8 Help_Text_HM[]; +extern const u8 Help_Text_HMMove[]; +extern const u8 Help_Text_Evolution[]; +extern const u8 Help_Text_StatusProblem[]; +extern const u8 Help_Text_Pokemon[]; +extern const u8 Help_Text_IDNo2[]; +extern const u8 Help_Text_Money2[]; +extern const u8 Help_Text_Badges2[]; +extern const u8 Help_Text_DefineHP[]; +extern const u8 Help_Text_DefineEXP[]; +extern const u8 Help_Text_DefineMoves[]; +extern const u8 Help_Text_DefineAttack[]; +extern const u8 Help_Text_DefineDefense[]; +extern const u8 Help_Text_DefineSpAtk[]; +extern const u8 Help_Text_DefineSpDef[]; +extern const u8 Help_Text_DefineSpeed[]; +extern const u8 Help_Text_DefineLevel[]; +extern const u8 Help_Text_DefineType[]; +extern const u8 Help_Text_DefineOT[]; +extern const u8 Help_Text_DefineItem[]; +extern const u8 Help_Text_DefineAbility[]; +extern const u8 Help_Text_DefineMoney[]; +extern const u8 Help_Text_DefineMoveType[]; +extern const u8 Help_Text_DefineNature[]; +extern const u8 Help_Text_DefineIDNo[]; +extern const u8 Help_Text_DefinePP[]; +extern const u8 Help_Text_DefinePower[]; +extern const u8 Help_Text_DefineAccuracy[]; +extern const u8 Help_Text_DefineFNT[]; +extern const u8 Help_Text_DefineItems[]; +extern const u8 Help_Text_DefineKeyItems[]; +extern const u8 Help_Text_DefinePokeBalls[]; +extern const u8 Help_Text_DefinePokedex[]; +extern const u8 Help_Text_DefinePlayTime[]; +extern const u8 Help_Text_DefineBadges[]; +extern const u8 Help_Text_DefineTextSpeed[]; +extern const u8 Help_Text_DefineBattleScene[]; +extern const u8 Help_Text_DefineBattleStyle[]; +extern const u8 Help_Text_DefineSound[]; +extern const u8 Help_Text_DefineButtonMode[]; +extern const u8 Help_Text_DefineFrame[]; +extern const u8 Help_Text_DefineCancel2[]; +extern const u8 Help_Text_DefineTM[]; +extern const u8 Help_Text_DefineHM[]; +extern const u8 Help_Text_DefineHMMove[]; +extern const u8 Help_Text_DefineEvolution[]; +extern const u8 Help_Text_DefineStatusProblem[]; +extern const u8 Help_Text_DefinePokemon[]; +extern const u8 Help_Text_DefineIDNo2[]; +extern const u8 Help_Text_DefineMoney2[]; +extern const u8 Help_Text_DefineBadges2[]; +extern const u8 Help_Text_TheHelpSystem[]; +extern const u8 Help_Text_TheGame[]; +extern const u8 Help_Text_WirelessAdapter[]; +extern const u8 Help_Text_GameFundamentals1[]; +extern const u8 Help_Text_GameFundamentals2[]; +extern const u8 Help_Text_GameFundamentals3[]; +extern const u8 Help_Text_WhatArePokemon[]; +extern const u8 Help_Text_DescTheHelpSystem[]; +extern const u8 Help_Text_DescTheGame[]; +extern const u8 Help_Text_DescWirelessAdapter[]; +extern const u8 Help_Text_DescGameFundamentals1[]; +extern const u8 Help_Text_DescGameFundamentals2[]; +extern const u8 Help_Text_DescGameFundamentals3[]; +extern const u8 Help_Text_DescWhatArePokemon[]; +extern const u8 Help_Text_UsingTypeMatchupList[]; +extern const u8 Help_Text_OwnMoveDark[]; +extern const u8 Help_Text_OwnPokemonDark[]; +extern const u8 Help_Text_OwnMoveRock[]; +extern const u8 Help_Text_OwnPokemonRock[]; +extern const u8 Help_Text_OwnMovePsychic[]; +extern const u8 Help_Text_OwnPokemonPsychic[]; +extern const u8 Help_Text_OwnMoveFighting[]; +extern const u8 Help_Text_OwnPokemonFighting[]; +extern const u8 Help_Text_OwnMoveGrass[]; +extern const u8 Help_Text_OwnPokemonGrass[]; +extern const u8 Help_Text_OwnMoveGhost[]; +extern const u8 Help_Text_OwnPokemonGhost[]; +extern const u8 Help_Text_OwnMoveIce[]; +extern const u8 Help_Text_OwnPokemonIce[]; +extern const u8 Help_Text_OwnMoveGround[]; +extern const u8 Help_Text_OwnPokemonGround[]; +extern const u8 Help_Text_OwnMoveElectric[]; +extern const u8 Help_Text_OwnPokemonElectric[]; +extern const u8 Help_Text_OwnMovePoison[]; +extern const u8 Help_Text_OwnPokemonPoison[]; +extern const u8 Help_Text_OwnMoveDragon[]; +extern const u8 Help_Text_OwnPokemonDragon[]; +extern const u8 Help_Text_OwnMoveNormal[]; +extern const u8 Help_Text_OwnPokemonNormal[]; +extern const u8 Help_Text_OwnMoveSteel[]; +extern const u8 Help_Text_OwnPokemonSteel[]; +extern const u8 Help_Text_OwnMoveFlying[]; +extern const u8 Help_Text_OwnPokemonFlying[]; +extern const u8 Help_Text_OwnMoveFire[]; +extern const u8 Help_Text_OwnPokemonFire[]; +extern const u8 Help_Text_OwnMoveWater[]; +extern const u8 Help_Text_OwnPokemonWater[]; +extern const u8 Help_Text_OwnMoveBug[]; +extern const u8 Help_Text_OwnPokemonBug[]; +extern const u8 Help_Text_HowToUseTypeMatchupList[]; +extern const u8 Help_Text_TypeMatchupOwnMoveDark[]; +extern const u8 Help_Text_TypeMatchupOwnPokemonDark[]; +extern const u8 Help_Text_TypeMatchupOwnMoveRock[]; +extern const u8 Help_Text_TypeMatchupOwnPokemonRock[]; +extern const u8 Help_Text_TypeMatchupOwnMovePsychic[]; +extern const u8 Help_Text_TypeMatchupOwnPokemonPsychic[]; +extern const u8 Help_Text_TypeMatchupOwnMoveFighting[]; +extern const u8 Help_Text_TypeMatchupOwnPokemonFighting[]; +extern const u8 Help_Text_TypeMatchupOwnMoveGrass[]; +extern const u8 Help_Text_TypeMatchupOwnPokemonGrass[]; +extern const u8 Help_Text_TypeMatchupOwnMoveGhost[]; +extern const u8 Help_Text_TypeMatchupOwnPokemonGhost[]; +extern const u8 Help_Text_TypeMatchupOwnMoveIce[]; +extern const u8 Help_Text_TypeMatchupOwnPokemonIce[]; +extern const u8 Help_Text_TypeMatchupOwnMoveGround[]; +extern const u8 Help_Text_TypeMatchupOwnPokemonGround[]; +extern const u8 Help_Text_TypeMatchupOwnMoveElectric[]; +extern const u8 Help_Text_TypeMatchupOwnPokemonElectric[]; +extern const u8 Help_Text_TypeMatchupOwnMovePoison[]; +extern const u8 Help_Text_TypeMatchupOwnPokemonPoison[]; +extern const u8 Help_Text_TypeMatchupOwnMoveDragon[]; +extern const u8 Help_Text_TypeMatchupOwnPokemonDragon[]; +extern const u8 Help_Text_TypeMatchupOwnMoveNormal[]; +extern const u8 Help_Text_TypeMatchupOwnPokemonNormal[]; +extern const u8 Help_Text_TypeMatchupOwnMoveSteel[]; +extern const u8 Help_Text_TypeMatchupOwnPokemonSteel[]; +extern const u8 Help_Text_TypeMatchupOwnMoveFlying[]; +extern const u8 Help_Text_TypeMatchupOwnPokemonFlying[]; +extern const u8 Help_Text_TypeMatchupOwnMoveFire[]; +extern const u8 Help_Text_TypeMatchupOwnPokemonFire[]; +extern const u8 Help_Text_TypeMatchupOwnMoveWater[]; +extern const u8 Help_Text_TypeMatchupOwnPokemonWater[]; +extern const u8 Help_Text_TypeMatchupOwnMoveBug[]; +extern const u8 Help_Text_TypeMatchupOwnPokemonBug[]; extern const u8 EventScript_FldEffStrength[]; extern const u8 EventScript_FailSweetScent[]; @@ -1156,12 +1155,12 @@ extern const u8 SafariZone_EventScript_OutOfBalls[]; extern const u8 EventScript_ItemfinderDigUpUnderfootItem[]; // battle_setup -extern const u8 EventScript_DoTrainerBattle[]; +extern const u8 EventScript_DoNoIntroTrainerBattle[]; extern const u8 EventScript_TryDoDoubleTrainerBattle[]; extern const u8 EventScript_TryDoNormalTrainerBattle[]; extern const u8 EventScript_TryDoDoubleRematchBattle[]; extern const u8 EventScript_TryDoRematchBattle[]; -extern const u8 gUnknown_81A4EB4[]; +extern const u8 EventScript_DoTrainerBattleFromApproach[]; extern const u8 Test_EventScript_Sign[]; // new_game @@ -1171,7 +1170,7 @@ extern const u8 EventScript_ResetAllMapFlags[]; extern const u8 EventScript_PalletTown_PlayersHouse_2F_ShutDownPC[]; // field_screen_effect -extern const u8 EventScript_MomHeal[]; +extern const u8 EventScript_AfterWhiteOutMomHeal[]; extern const u8 EventScript_AfterWhiteOutHeal[]; // start_menu @@ -1201,4 +1200,16 @@ extern const u8 Text_MonSentToBoxBillsBoxFull[]; extern const u8 EventScript_BagItemCanBeRegistered[]; +// fldeff_cut +extern const u8 EventScript_FldEffCut[]; + +// cable_club +extern const u8 CableClub_Text_WhenAllPlayersReadyAConfirmBCancel[]; +extern const u8 CableClub_Text_AwaitingLinkupBCancel[]; +extern const u8 CableClub_Text_StartLinkWithXPlayersAConfirmBCancel[]; +extern const u8 CableClub_Text_PleaseWaitBCancel[]; + +// fldeff_flash +extern const u8 EventScript_FldEffFlash[]; + #endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/field_camera.h b/include/field_camera.h index d76b1f8a7..2d1ce2ce9 100644 --- a/include/field_camera.h +++ b/include/field_camera.h @@ -8,9 +8,9 @@ struct CameraObject { void (*callback)(struct CameraObject *); - u32 unk4; - s32 unk8; - s32 unkC; + u32 spriteId; + s32 movementSpeedX; + s32 movementSpeedY; s32 x; s32 y; }; @@ -28,6 +28,7 @@ void CurrentMapDrawMetatileAt(int x, int y); void sub_805A658(s16 *x, s16 *y); void SetCameraPanningCallback(void (*cb)(void)); void SetCameraPanning(s16 x, s16 y); +void UpdateCameraPanning(void); void InstallCameraPanAheadCallback(void); void DrawDoorMetatileAt(int x, int y, const u16 *data); diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h index 23e20fc32..c2ed96126 100644 --- a/include/field_control_avatar.h +++ b/include/field_control_avatar.h @@ -9,5 +9,7 @@ void RestartWildEncounterImmunitySteps(void); void ClearPoisonStepCounter(void); void SetCableClubWarp(void); void sub_806DE28(struct ObjectEvent *); +void dive_warp(struct MapPosition * pos, u16 behavior); + #endif //GUARD_FIELD_CONTROL_AVATAR_H diff --git a/include/field_effect.h b/include/field_effect.h index c2d14d43c..59de741be 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -8,21 +8,22 @@ extern u32 gFieldEffectArguments[8]; extern void (*gPostMenuFieldCallback)(void); extern bool8 (*gFieldCallback2)(void); -u8 FieldEffectStart(u8); +u32 FieldEffectStart(u8); bool8 FieldEffectActiveListContains(u8 id); void sub_80B69DC(void); void CreateTeleportFieldEffectTask(void); void FieldEffectActiveListRemove(u8 id); -void sub_8085620(void); +void StartEscapeRopeFieldEffect(void); void FieldEffectStop(struct Sprite *sprite, u8 id); u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer); -void sub_8084454(void); -void sub_8084784(u8 a0, u8 a1); -void sub_8084F2C(u8 a0); -void sub_80853CC(u8 a0); +void FieldCB_FallWarpExit(void); +void StartEscalatorWarp(u8 metatileBehavior, u8 priority); +void StartLavaridgeGymB1FWarp(u8 a0); +void StartLavaridgeGym1FWarp(u8 a0); void sub_8083598(u8 a0); -void sub_8083A5C(struct Sprite * sprite, u8 spriteId); -u8 sub_8083970(u16 species, s16 x, s16 y, bool8 unused); -void sub_80842C8(void); +void FreeResourcesAndDestroySprite(struct Sprite * sprite, u8 spriteId); +u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y, bool8 unused); +void ReturnToFieldFromFlyMapSelect(void); +void MultiplyInvertedPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b); #endif //GUARD_FIELD_EFFECTS_H diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h index ac025c1cf..e6e0538f6 100644 --- a/include/field_effect_helpers.h +++ b/include/field_effect_helpers.h @@ -12,8 +12,10 @@ // Exported RAM declarations // Exported ROM declarations + u8 CreateWarpArrowSprite(void); void sub_80DC44C(u8, u8); +void sub_80DC478(u8, u8); void StartAshFieldEffect(s16, s16, u16, s16); void sub_80DCBB8(struct ObjectEvent *); bool8 sub_80DCBE0(struct ObjectEvent *); diff --git a/include/field_effect_scripts.h b/include/field_effect_scripts.h new file mode 100644 index 000000000..fd3609d93 --- /dev/null +++ b/include/field_effect_scripts.h @@ -0,0 +1,6 @@ +#ifndef GUARD_FIELD_EFFECT_SCRIPTS_H +#define GUARD_FIELD_EFFECT_SCRIPTS_H + +extern const u8 *const gFieldEffectScriptPointers[]; + +#endif //GUARD_FIELD_EFFECT_SCRIPTS_H diff --git a/include/field_fadetransition.h b/include/field_fadetransition.h index 6683f5e2e..a1fe590fa 100644 --- a/include/field_fadetransition.h +++ b/include/field_fadetransition.h @@ -12,10 +12,11 @@ void DoFallWarp(void); void sub_807E59C(void); void sub_807E500(void); void sub_807DF64(void); -void sub_807DC18(void); +void WarpFadeOutScreen(void); void FieldCallback_ReturnToEventScript2(void); -void sub_807DC00(void); +void FadeInFromBlack(void); void FadeTransition_FadeInOnReturnToStartMenu(void); +void WarpFadeInScreen(void); void sub_807DCE4(void); diff --git a/include/field_message_box.h b/include/field_message_box.h index 5777921b7..a6ef14aae 100644 --- a/include/field_message_box.h +++ b/include/field_message_box.h @@ -8,5 +8,6 @@ bool8 sub_8098238(const u8 *message); bool8 ShowFieldAutoScrollMessage(const u8 *message); void HideFieldMessageBox(void); bool8 IsFieldMessageBoxHidden(void); +bool8 textbox_any_visible(void); #endif // GUARD_FIELD_MESSAGE_BOX_H diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index e6d4d3e6a..51ae9905f 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -16,7 +16,7 @@ void sub_808D074(u8); void sub_805C270(void); void sub_805C780(void); void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr); -u8 sub_805C808(u8); +u8 GetPlayerAvatarGraphicsIdByStateId(u8); void SetPlayerAvatarStateMask(u8 mask); void sub_805D9C4(struct Sprite *sprite); void sub_805D154(u8 direction); @@ -36,5 +36,7 @@ bool32 sub_805DC24(void); bool8 PartyHasMonWithSurf(void); bool8 IsPlayerSurfingNorth(void); void player_get_pos_including_state_based_drift(s16 *x, s16 *y); +void sub_805CBE8(void); +u8 sub_805C7C8(u8 state, u8 gender); #endif //GUARD_FIELD_PLAYER_AVATAR_H diff --git a/include/field_poison.h b/include/field_poison.h index 4887fa27a..a29cf1fd6 100644 --- a/include/field_poison.h +++ b/include/field_poison.h @@ -9,7 +9,6 @@ enum { FLDPSN_FNT }; -void ExecuteWhiteOut(void); s32 DoPoisonFieldEffect(void); #endif //GUARD_FIELD_POISON_H diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h index ca7625782..aee7dc5a7 100644 --- a/include/field_screen_effect.h +++ b/include/field_screen_effect.h @@ -9,7 +9,6 @@ void sub_80B0244(void); void sub_807E3EC(void); void DoOutwardBarnDoorWipe(void); void Task_BarnDoorWipe(u8 taskId); -void sub_807DC00(void); void sub_807F5F0(void); #endif // GUARD_FIELD_SCREEN_EFFECT_H diff --git a/include/field_specials.h b/include/field_specials.h index 02069ff84..b3291bf54 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -14,16 +14,19 @@ enum HiddenItemAttr u8 GetLeadMonIndex(void); s32 CountDigits(s32 number); void TV_PrintIntToStringVar(u8, int); -u16 ScrSpecial_GetStarter(void); +u16 GetStarterSpecies(void); void StopPokemonLeagueLightingEffectTask(void); void nullsub_60(void); void nullsub_61(void); u8 ContextNpcGetTextColor(void); void SetPCBoxToSendMon(u8); u16 GetPCBoxToSendMon(void); +bool8 IsDestinationBoxFull(void); bool8 ShouldShowBoxWasFullMessage(void); u16 GetHiddenItemAttr(u32 hiddenItem, u8 attr); u8 GetUnlockedSeviiAreas(void); u32 GetPlayerTrainerId(void); +bool8 CutMoveRuinValleyCheck(void); +void CutMoveOpenDottedHoleDoor(void); #endif // GUARD_FIELD_SPECIALS_H diff --git a/include/field_weather.h b/include/field_weather.h index de2543edb..6b62f0edd 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -3,7 +3,7 @@ #include "global.h" -void FadeScreen(u8, s8); +void FadeScreen(u8 mode, s8 delay); void SetSav1Weather(u32); u8 GetSav1Weather(void); @@ -18,5 +18,8 @@ void SetWeatherScreenFadeOut(void); void sub_807B070(void); u8 GetCurrentWeather(void); void FieldWeather_StartFadingOutCreditsMap(u8, u8, u32); +void UpdateSpritePaletteWithWeather(u8 palIdx); +void ResetPreservedPalettesInWeather(void); +void PreservePaletteInWeather(u8 palIdx); #endif // GUARD_WEATHER_H diff --git a/include/fieldmap.h b/include/fieldmap.h index d0ff368af..439c7c45d 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -19,6 +19,7 @@ u32 MapGridGetMetatileBehaviorAt(int, int); u8 MapGridGetMetatileLayerTypeAt(s16 x, s16 y); void MapGridSetMetatileIdAt(int, int, u16); void MapGridSetMetatileEntryAt(int, int, u16); +u8 MapGridGetZCoordAt(s32 x, s32 y); void GetCameraCoords(u16*, u16*); bool8 MapGridIsImpassableAt(s32, s32); s32 GetMapBorderIdAt(s32, s32); @@ -29,8 +30,9 @@ struct MapConnection * GetMapConnectionAtPos(s16 x, s16 y); void sub_8059948(u8 a0, u8 a1); void save_serialize_map(void); -u32 sub_8058F1C(u32 original, u8 bit); -u32 sub_8058F48(s16 x, s16 y, u8 z); -void sub_8059024(s32 x, s32 y, bool32 arg2); +u32 GetMetatileAttributeFromRawMetatileBehavior(u32 original, u8 bit); +u32 MapGridGetMetatileAttributeAt(s16 x, s16 y, u8 attr); +void MapGridSetMetatileImpassabilityAt(s32 x, s32 y, bool32 arg2); +bool8 CameraMove(s32 x, s32 y); #endif //GUARD_FIELDMAP_H diff --git a/include/fldeff.h b/include/fldeff.h index 51287f400..9dd6121b2 100644 --- a/include/fldeff.h +++ b/include/fldeff.h @@ -10,11 +10,11 @@ gTasks[taskId].data[9] = (u32)func; extern struct MapPosition gPlayerFacingPosition; bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId); -u8 oei_task_add(void); +u8 CreateFieldEffectShowMon(void); // flash -u8 sub_80C9DCC(u8 lightLevel, u8 mapType); -u8 sub_80C9D7C(u8 mapType1, u8 mapType2); +u8 MapTransitionIsExit(u8 lightLevel, u8 mapType); +u8 MapTransitionIsEnter(u8 mapType1, u8 mapType2); bool8 SetUpFieldMove_Flash(void); // cut @@ -37,7 +37,7 @@ bool32 FldEffPoison_IsActive(void); // strength bool8 SetUpFieldMove_Strength(void); -bool8 sub_80D0860(void); +bool8 FldEff_UseStrength(void); // teleport bool8 SetUpFieldMove_Teleport(void); diff --git a/include/gba/macro.h b/include/gba/macro.h index a3e870210..cc8535305 100644 --- a/include/gba/macro.h +++ b/include/gba/macro.h @@ -105,20 +105,21 @@ } \ } -#define DmaClearLarge(dmaNum, dest, size, block, bit) \ -{ \ - u32 _size = size; \ - while (1) \ - { \ - DmaFill##bit(dmaNum, 0, dest, (block)); \ - dest += (block); \ - _size -= (block); \ - if (_size <= (block)) \ - { \ - DmaFill##bit(dmaNum, 0, dest, _size); \ - break; \ - } \ - } \ +#define DmaClearLarge(dmaNum, dest, size, block, bit) \ +{ \ + void *_dest = dest; \ + u32 _size = size; \ + while (1) \ + { \ + DmaFill##bit(dmaNum, 0, _dest, (block)); \ + _dest += (block); \ + _size -= (block); \ + if (_size <= (block)) \ + { \ + DmaFill##bit(dmaNum, 0, _dest, _size); \ + break; \ + } \ + } \ } #define DmaFillLarge(dmaNum, value, dest, size, block, bit) \ @@ -170,6 +171,16 @@ #define DmaFill16Defvars(dmaNum, value, dest, size) DmaFillDefvars(dmaNum, value, dest, size, 16) #define DmaFill32Defvars(dmaNum, value, dest, size) DmaFillDefvars(dmaNum, value, dest, size, 32) +#define DmaClearDefvars(dmaNum, dest, size, bit) \ +{ \ + void *_dest = dest; \ + u32 _size = size; \ + DmaClear##bit(dmaNum, _dest, _size); \ +} + +#define DmaClear16Defvars(dmaNum, dest, size) DmaClearDefvars(dmaNum, dest, size, 16) +#define DmaClear32Defvars(dmaNum, dest, size) DmaClearDefvars(dmaNum, dest, size, 32) + #define IntrEnable(flags) \ { \ u16 imeTemp; \ diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index a2bcc831c..514bebb95 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -3,6 +3,15 @@ #define OBJECT_EVENTS_COUNT 16 +#define METATILE_COLLISION_MASK 0x0C00 +#define METATILE_ID_MASK 0x03FF +#define METATILE_ID_UNDEFINED 0x03FF +#define METATILE_ELEVATION_SHIFT 12 +#define METATILE_COLLISION_SHIFT 10 +#define METATILE_ELEVATION_MASK 0xF000 + +#define METATILE_ID(tileset, name) (METATILE_##tileset##_##name) + enum { CONNECTION_SOUTH = 1, @@ -168,62 +177,58 @@ struct MapHeader struct ObjectEvent { - /*0x00*/ u32 active:1; - u32 singleMovementActive:1; - u32 triggerGroundEffectsOnMove:1; - u32 triggerGroundEffectsOnStop:1; - u32 disableCoveringGroundEffects:1; - u32 landingJump:1; - u32 heldMovementActive:1; - u32 heldMovementFinished:1; - /*0x01*/ u32 frozen:1; - u32 facingDirectionLocked:1; - u32 disableAnim:1; - u32 enableAnim:1; - u32 inanimate:1; - u32 invisible:1; - u32 offScreen:1; - u32 trackedByCamera:1; - /*0x02*/ u32 isPlayer:1; - u32 hasReflection:1; - u32 inShortGrass:1; - u32 inShallowFlowingWater:1; - u32 inSandPile:1; - u32 inHotSprings:1; - u32 hasShadow:1; - u32 spriteAnimPausedBackup:1; - /*0x03*/ u32 spriteAffineAnimPausedBackup:1; - u32 disableJumpLandingGroundEffect:1; - u32 fixedPriority:1; - u32 hideReflection:1; - u32 mapobj_bit_28:1; - u32 mapobj_bit_29:1; - u32 mapobj_bit_30:1; - u32 mapobj_bit_31:1; - /*0x04*/ u8 spriteId; - /*0x05*/ u8 graphicsId; - /*0x06*/ u8 movementType; - /*0x07*/ u8 trainerType; - /*0x08*/ u8 localId; - /*0x09*/ u8 mapNum; - /*0x0A*/ u8 mapGroup; - /*0x0B*/ u8 currentElevation:4; - u8 previousElevation:4; - /*0x0C*/ struct Coords16 initialCoords; - /*0x10*/ struct Coords16 currentCoords; - /*0x14*/ struct Coords16 previousCoords; - /*0x18*/ u8 facingDirection:4; // current direction? - /*0x18*/ u8 movementDirection:4; - /*0x19*/ union ObjectEventRange range; - /*0x1A*/ u8 fieldEffectSpriteId; - /*0x1B*/ u8 warpArrowSpriteId; - /*0x1C*/ u8 movementActionId; - /*0x1D*/ u8 trainerRange_berryTreeId; - /*0x1E*/ u8 currentMetatileBehavior; - /*0x1F*/ u8 previousMetatileBehavior; - /*0x20*/ u8 previousMovementDirection; - /*0x21*/ u8 directionSequenceIndex; - /*0x22*/ u8 playerCopyableMovement; + /*0x00*/ /* 0*/ u32 active:1; + /* 1*/ u32 singleMovementActive:1; + /* 2*/ u32 triggerGroundEffectsOnMove:1; + /* 3*/ u32 triggerGroundEffectsOnStop:1; + /* 4*/ u32 disableCoveringGroundEffects:1; + /* 5*/ u32 landingJump:1; + /* 6*/ u32 heldMovementActive:1; + /* 7*/ u32 heldMovementFinished:1; + /*0x01*/ /* 8*/ u32 frozen:1; + /* 9*/ u32 facingDirectionLocked:1; + /*10*/ u32 disableAnim:1; + /*11*/ u32 enableAnim:1; + /*12*/ u32 inanimate:1; + /*13*/ u32 invisible:1; + /*14*/ u32 offScreen:1; + /*15*/ u32 trackedByCamera:1; + /*0x02*/ /*16*/ u32 isPlayer:1; + /*17*/ u32 hasReflection:1; + /*18*/ u32 inShortGrass:1; + /*19*/ u32 inShallowFlowingWater:1; + /*20*/ u32 inSandPile:1; + /*21*/ u32 inHotSprings:1; + /*22*/ u32 hasShadow:1; + /*23*/ u32 spriteAnimPausedBackup:1; + /*0x03*/ /*24*/ u32 spriteAffineAnimPausedBackup:1; + /*25*/ u32 disableJumpLandingGroundEffect:1; + /*26*/ u32 fixedPriority:1; + /*27*/ u32 hideReflection:1; + /*0x04*/ u8 spriteId; + /*0x05*/ u8 graphicsId; + /*0x06*/ u8 movementType; + /*0x07*/ u8 trainerType; + /*0x08*/ u8 localId; + /*0x09*/ u8 mapNum; + /*0x0A*/ u8 mapGroup; + /*0x0B*/ u8 currentElevation:4; + u8 previousElevation:4; + /*0x0C*/ struct Coords16 initialCoords; + /*0x10*/ struct Coords16 currentCoords; + /*0x14*/ struct Coords16 previousCoords; + /*0x18*/ u8 facingDirection:4; + /*0x18*/ u8 movementDirection:4; + /*0x19*/ union ObjectEventRange range; + /*0x1A*/ u8 fieldEffectSpriteId; + /*0x1B*/ u8 warpArrowSpriteId; + /*0x1C*/ u8 movementActionId; + /*0x1D*/ u8 trainerRange_berryTreeId; + /*0x1E*/ u8 currentMetatileBehavior; + /*0x1F*/ u8 previousMetatileBehavior; + /*0x20*/ u8 previousMovementDirection; + /*0x21*/ u8 directionSequenceIndex; + /*0x22*/ u8 playerCopyableMovement; /*size = 0x24*/ }; @@ -301,7 +306,7 @@ struct PlayerAvatar /* 0x202E858 */ /*0x03*/ u8 tileTransitionState; // this is a transition running state: 00 is not moving, 01 is transition between tiles, 02 means you are on the frame in which you have centered on a tile but are about to keep moving, even if changing directions. 2 is also used for a ledge hop, since you are transitioning. /*0x04*/ u8 spriteId; /*0x05*/ u8 objectEventId; - /*0x06*/ u8 unk6; + /*0x06*/ bool8 preventStep; /*0x07*/ u8 gender; u8 acroBikeState; u8 unk9; diff --git a/include/global.h b/include/global.h index 2f87a0c29..8a8877143 100644 --- a/include/global.h +++ b/include/global.h @@ -74,8 +74,8 @@ // GameFreak never ceases to amaze. // TODO: Propagate use of this macro #define TEST_BUTTON(field, button) ({(field) & (button);}) -#define JOY_NEW(button) TEST_BUTTON(gMain.newKeys, button) -#define JOY_HELD(button) TEST_BUTTON(gMain.heldKeys, button) +#define JOY_NEW(button) TEST_BUTTON(gMain.newKeys, button) +#define JOY_HELD(button) TEST_BUTTON(gMain.heldKeys, button) #define JOY_REPT(button) TEST_BUTTON(gMain.newAndRepeatedKeys, button) extern u8 gStringVar1[]; @@ -148,8 +148,7 @@ struct PokemonJumpResults // possibly used in the game itself? u16 field2; u16 excellentsInRow; u16 field6; - u16 field8; - u16 fieldA; + u32 field8; u32 bestJumpScore; }; @@ -168,13 +167,6 @@ struct BerryPickingResults // possibly used in the game itself? Size may be wron u8 field_F; }; -struct PyramidBag -{ - u16 items_Lvl50[10]; - u16 items_OpenLvl[10]; - u8 quantity[10]; -}; - struct BerryCrush { u16 berryCrushResults[4]; @@ -591,22 +583,22 @@ union QuestLogMovement struct QuestLogObjectEvent { /*0x00*/ u8 active:1; - /*0x00*/ u8 mapobj_bit_3:1; - /*0x00*/ u8 mapobj_bit_4:1; - /*0x00*/ u8 mapobj_bit_5:1; - /*0x00*/ u8 mapobj_bit_8:1; - /*0x00*/ u8 mapobj_bit_9:1; - /*0x00*/ u8 mapobj_bit_10:1; - /*0x00*/ u8 mapobj_bit_11:1; - /*0x01*/ u8 mapobj_bit_12:1; - /*0x01*/ u8 mapobj_bit_13:1; - /*0x01*/ u8 mapobj_bit_14:1; - /*0x01*/ u8 mapobj_bit_15:1; - /*0x01*/ u8 mapobj_bit_16:1; - /*0x01*/ u8 mapobj_bit_23:1; - /*0x01*/ u8 mapobj_bit_24:1; - /*0x01*/ u8 mapobj_bit_25:1; - /*0x02*/ u8 mapobj_bit_26:1; + /*0x00*/ u8 triggerGroundEffectsOnStop:1; + /*0x00*/ u8 disableCoveringGroundEffects:1; + /*0x00*/ u8 landingJump:1; + /*0x00*/ u8 frozen:1; + /*0x00*/ u8 facingDirectionLocked:1; + /*0x00*/ u8 disableAnim:1; + /*0x00*/ u8 enableAnim:1; + /*0x01*/ u8 inanimate:1; + /*0x01*/ u8 invisible:1; + /*0x01*/ u8 offScreen:1; + /*0x01*/ u8 trackedByCamera:1; + /*0x01*/ u8 isPlayer:1; + /*0x01*/ u8 spriteAnimPausedBackup:1; + /*0x01*/ u8 spriteAffineAnimPausedBackup:1; + /*0x01*/ u8 disableJumpLandingGroundEffect:1; + /*0x02*/ u8 fixedPriority:1; /*0x02*/ u8 mapobj_unk_18:4; /*0x02*/ u8 unused_02_5:3; /*0x03*/ u8 mapobj_unk_0B_0:4; @@ -620,8 +612,8 @@ struct QuestLogObjectEvent /*0x0a*/ s16 x; /*0x0c*/ s16 y; /*0x0e*/ u8 trainerRange_berryTreeId; - /*0x0f*/ u8 mapobj_unk_1F; - /*0x10*/ u8 mapobj_unk_21; + /*0x0f*/ u8 previousMetatileBehavior; + /*0x10*/ u8 directionSequenceIndex; /*0x11*/ u8 animId; }; @@ -658,8 +650,8 @@ struct FameCheckerSaveData struct MEWonderNewsData { - u16 unk_00; - u8 unk_02; + u16 newsId; + u8 shareState; u8 unk_03; u8 unk_04[40]; u8 unk_2C[10][40]; @@ -673,13 +665,13 @@ struct MEWonderNewsStruct struct MEWonderCardData { - u16 unk_00; + u16 cardId; u16 unk_02; u32 unk_04; u8 unk_08_0:2; u8 unk_08_2:4; - u8 unk_08_6:2; - u8 unk_09; + u8 shareState:2; + u8 recvMonCapacity; u8 unk_0A[40]; u8 unk_32[40]; u8 unk_5A[4][40]; @@ -695,11 +687,12 @@ struct MEWonderCardStruct struct MEventBuffer_3430_Sub { - u16 unk_00; - u16 unk_02; - u16 unk_04; + u16 linkWins; + u16 linkLosses; + u16 linkTrades; u16 unk_06; - u16 unk_08[2][7]; + u16 distributedMons[2][7]; // [0][x] = species + // [1][x] = ??? }; struct MEventBuffer_3430 @@ -718,19 +711,18 @@ struct MEventBuffers /*0x344 0x3464*/ u32 unk_344[2][5]; }; // 0x36C 0x348C -struct TrainerTowerLog +struct TrainerTower { - u32 unk0; - u32 unk4; - u8 unk8; + u32 timer; + u32 bestTime; + u8 floorsCleared; u8 unk9; - u8 unkA_0:1; - u8 unkA_1:1; - u8 unkA_2:1; - u8 unkA_3:1; - u8 unkA_4:1; - u8 unkA_5:1; - u8 unkA_6:2; + bool8 receivedPrize:1; + bool8 checkedFinalTime:1; + bool8 spokeToOwner:1; + bool8 hasLost:1; + bool8 unkA_4:1; + bool8 validated:1; }; struct TrainerRematchState @@ -806,8 +798,8 @@ struct SaveBlock1 /*0x3BA8*/ struct TrainerNameRecord trainerNameRecords[20]; /*0x3C98*/ struct DaycareMon route5DayCareMon; /*0x3D24*/ u8 filler3D24[0x10]; - /*0x3D34*/ u32 unkArrayIdx; - /*0x3D38*/ struct TrainerTowerLog unkArray[4]; + /*0x3D34*/ u32 towerChallengeId; + /*0x3D38*/ struct TrainerTower trainerTower[NUM_TOWER_CHALLENGE_TYPES]; }; struct MapPosition diff --git a/include/graphics.h b/include/graphics.h index 467a1d461..d84371e3a 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -2879,7 +2879,7 @@ extern const u16 gTMCaseMainWindowPalette[]; // egg_hatch extern const u32 gBattleTextboxTiles[]; -extern const u32 gFile_graphics_interface_menu_map_tilemap[]; +extern const u32 gBattleTextboxTilemap[]; extern const u32 gBattleTextboxPalette[]; extern const u32 gTradeGba2_Pal[]; extern const u32 gTradeGba_Gfx[]; @@ -4314,7 +4314,7 @@ extern const u32 gHealthboxSafariGfx[]; extern const u32 gBlankGfxCompressed[]; extern const u16 gBattleInterface_BallStatusBarPal[]; extern const u16 gBattleInterface_BallDisplayPal[]; -extern const u32 gFile_graphics_interface_hp_numbers[]; +extern const u32 gInterfaceGfx_HPNumbers[]; extern const u32 gGhostFrontPic[]; extern const u32 gGhostPalette[]; extern const u32 gSubstituteDollGfx[]; @@ -4845,10 +4845,10 @@ extern const u32 gBuyMenuFrame_Pal[]; extern const u16 gUnknown_8D2FBB4[]; // trainer card -extern const u16 gFireRedTrainerCard_Pal[]; -extern const u32 gFireRedTrainerCard_Gfx[]; -extern const u16 gEmeraldTrainerCard_Pal[]; -extern const u32 gEmeraldTrainerCard_Gfx[]; +extern const u16 gKantoTrainerCard_Pal[]; +extern const u32 gKantoTrainerCard_Gfx[]; +extern const u16 gHoennTrainerCard_Pal[]; +extern const u32 gHoennTrainerCard_Gfx[]; // battle_interface extern const u32 gFile_graphics_battle_interface_ball_status_bar_sheet[]; @@ -4875,4 +4875,46 @@ extern const u32 gLinkMiscMenu_Tilemap[]; // union_room_chat_objects extern const u32 gUnionRoomChatIcons[]; +// battle_bg +extern const u32 gFile_graphics_battle_transitions_vs_frame_sheet[]; +extern const u32 gVsLettersGfx[]; +extern const u32 gFile_graphics_battle_transitions_vs_frame_palette[]; +extern const u32 gFile_graphics_battle_transitions_vs_frame_tilemap[]; + +// berry_crush +extern const u16 gUnknown_8EAFEA0[]; +extern const u32 gUnknown_8EAFFC0[]; +extern const u32 gUnknown_8EB0ADC[]; + +// easy_chat_3 +extern const u32 gEasyChatWindow_Gfx[]; +extern const u32 gEasyChatWindow_Tilemap[]; +extern const u32 gEasyChatMode_Pal[]; +extern const u16 gUnknown_8E99F24[]; +extern const u32 gEasyChatRedRectangularCursor_Tiles[]; +extern const u32 gEasyChatSelectGroupHelp_Tiles[]; +extern const u32 gEasyChatModeIcons_Tiles[]; + +// naming_screen +extern const u32 gUnknown_8E982BC[]; +extern const u32 gUnknown_8E98458[]; +extern const u32 gUnknown_8E98398[]; +extern const u32 gUnknown_8E98518[]; +extern const u32 gNamingScreenMenu_Gfx[]; +extern const u16 gUnknown_8E98004[]; +extern const u16 gUnknown_8E97FE4[]; +extern const u16 gNamingScreenMenu_Pal[]; +extern const u16 gUnknown_8E98858[]; +extern const u16 gUnknown_8E98A38[]; +extern const u16 gUnknown_8E985D8[]; +extern const u16 gUnknown_8E98FD8[]; +extern const u16 gUnknown_8E98C18[]; +extern const u16 gUnknown_8E98CB8[]; +extern const u16 gUnknown_8E98D58[]; +extern const u16 gUnknown_8E98DF8[]; +extern const u16 gUnknown_8E98E98[]; +extern const u16 gUnknown_8E98F38[]; +extern const u16 gUnknown_8E990D8[]; +extern const u16 gUnknown_8E990F8[]; + #endif //GUARD_GRAPHICS_H diff --git a/include/help_system.h b/include/help_system.h index 59adec912..8a078f3bc 100644 --- a/include/help_system.h +++ b/include/help_system.h @@ -4,6 +4,7 @@ #include "global.h" #include "list_menu.h" #include "blit.h" +#include "constants/help_system.h" struct HelpSystemListMenu_sub { @@ -17,37 +18,38 @@ struct HelpSystemListMenu_sub struct HelpSystemListMenu { struct HelpSystemListMenu_sub sub; - u8 field_0C; - u8 field_0D; - u8 field_0E; + u8 itemsAbove; + u8 cursorPos; + u8 state; u8 filler_10[0xC]; }; extern struct HelpSystemListMenu gHelpSystemListMenu; extern struct ListMenuItem gHelpSystemListMenuItems[]; extern bool8 gHelpSystemEnabled; -extern u8 gUnknown_203F175; +extern bool8 gHelpSystemToggleWithRButtonDisabled; // help_system_812B1E0 -void HelpSystem_SetSomeVariable(u8); -void HelpSystem_SetSomeVariable2(u8); -bool8 sub_812B40C(void); +void SetHelpContextDontCheckBattle(u8); +void SetHelpContextForMap(void); +void SetHelpContext(u8); +bool8 HelpSystem_UpdateHasntSeenIntro(void); bool8 sub_812B45C(void); void HelpSystem_Disable(void); void HelpSystem_Enable(void); -void sub_812B4B8(void); -bool8 sub_812BB9C(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); -bool8 sub_812BC54(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); -bool8 sub_812BC80(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); -bool8 sub_812BCA8(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); -bool8 sub_812BCD0(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); -bool8 sub_812BD2C(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); -bool8 sub_812BD64(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); -bool8 sub_812BD98(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); -void sub_812BDEC(void); -bool8 sub_812BE10(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); -bool8 sub_812BEEC(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); -bool8 sub_812BF18(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); +void HelpSystem_EnableToggleWithRButton(void); +bool8 RunHelpMenuSubroutine(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer); +bool8 HelpSystemSubroutine_PrintWelcomeMessage(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer); +bool8 HelpSystemSubroutine_WelcomeWaitButton(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer); +bool8 HelpSystemSubroutine_WelcomeEndGotoMenu(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer); +bool8 HelpSystemSubroutine_MenuInputHandlerMain(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer); +bool8 HelpMenuSubroutine_InitSubmenu(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer); +bool8 HelpMenuSubroutine_ReturnFromSubmenu(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer); +bool8 HelpMenuSubroutine_SubmenuInputHandler(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer); +void HelpSystem_PrintTopicLabel(void); +bool8 HelpMenuSubroutine_HelpItemPrint(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer); +bool8 HelpMenuSubroutine_ReturnFromHelpItem(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer); +bool8 HelpMenuSubroutine_HelpItemWaitButton(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer); bool8 sub_812BF88(void); // help_system @@ -89,9 +91,9 @@ void HelpSystem_FillPanel3(void); void PrintListMenuItems(void); void PlaceListMenuCursor(void); bool8 MoveCursor(u8 by, u8 dirn); -void HelpSystem_BackupSomeVariable(void); -void HelpSystem_RestoreSomeVariable(void); +void BackupHelpContext(void); +void RestoreHelpContext(void); void HelpSystemRenderText(u8 font, u8 * dest, const u8 * src, u8 x, u8 y, u8 width, u8 height); -void sub_812B4AC(void); +void HelpSystem_DisableToggleWithRButton(void); #endif //GUARD_HELP_SYSTEM_H diff --git a/include/item.h b/include/item.h index 1d63c1a22..2c5852617 100644 --- a/include/item.h +++ b/include/item.h @@ -79,5 +79,6 @@ void RemovePCItem(u16 itemId, u16 quantity); void SortAndCompactBagPocket(struct BagPocket * pocket); u8 CountItemsInPC(void); void ApplyNewEncryptionKeyToBagItems_(u32 newKey); +bool8 CheckHasAtLeastOneBerry(void); #endif // GUARD_ITEM_H diff --git a/include/data_8479668.h b/include/keyboard_text.h similarity index 65% rename from include/data_8479668.h rename to include/keyboard_text.h index 1a1f44267..cc436c2d3 100644 --- a/include/data_8479668.h +++ b/include/keyboard_text.h @@ -1,5 +1,5 @@ -#ifndef GUARD_DATA_8479668_H -#define GUARD_DATA_8479668_H +#ifndef GUARD_KEYBOARD_TEXT_H +#define GUARD_KEYBOARD_TEXT_H extern const u8 gText_UnionRoomChatKeyboard_ABCDE[]; extern const u8 gText_UnionRoomChatKeyboard_FGHIJ[]; @@ -32,4 +32,22 @@ extern const u8 gText_UnionRoomChatKeyboard_Emoji8[]; extern const u8 gText_UnionRoomChatKeyboard_Emoji9[]; extern const u8 gText_UnionRoomChatKeyboard_Emoji10[]; -#endif //GUARD_DATA_8479668_H +extern const u8 gUnknown_847A8D8[]; +extern const u8 gUnknown_847A8FA[]; +extern const u8 gUnknown_847A913[]; +extern const u8 gUnknown_847A934[]; + +extern const u8 gText_NamingScreenKeyboard_abcdef[]; +extern const u8 gText_NamingScreenKeyboard_ghijkl[]; +extern const u8 gText_NamingScreenKeyboard_mnopqrs[]; +extern const u8 gText_NamingScreenKeyboard_tuvwxyz[]; +extern const u8 gText_NamingScreenKeyboard_ABCDEF[]; +extern const u8 gText_NamingScreenKeyboard_GHIJKL[]; +extern const u8 gText_NamingScreenKeyboard_MNOPQRS[]; +extern const u8 gText_NamingScreenKeyboard_TUVWXYZ[]; +extern const u8 gText_NamingScreenKeyboard_01234[]; +extern const u8 gText_NamingScreenKeyboard_56789[]; +extern const u8 gText_NamingScreenKeyboard_Symbols1[]; +extern const u8 gText_NamingScreenKeyboard_Symbols2[]; + +#endif //GUARD_KEYBOARD_TEXT_H diff --git a/include/librfu.h b/include/librfu.h index 97fd8044e..3c9d776f1 100644 --- a/include/librfu.h +++ b/include/librfu.h @@ -4,11 +4,10 @@ #include "global.h" #include "main.h" -/* TODOs: - * - split files +#define LIBRFU_VERSION 1024 + +/* TODOs: * - documentation - * - decompile librfu_intr.s once arm support is back again - (for internal structs not documented in SDK) * - check if any field needs to be volatile * - check if field names make sense */ @@ -71,6 +70,7 @@ #define ID_CPR_POLL_REQ 0x0033 #define ID_CPR_END_REQ 0x0034 #define ID_UNK35_REQ 0x0035 // not defined in SDK header +#define ID_UNK36_REQ 0x0036 // not defined in SDK header #define ID_RESUME_RETRANSMIT_AND_CHANGE_REQ 0x0037 #define ID_STOP_MODE_REQ 0x003d #define ID_CLOCK_SLAVE_MS_CHANGE_ERROR_BY_DMA_REQ 0x00ff // When the AGB is the clock slave, the RFU generates an informational notice, and an automatically started DMA, such as HDMA, is generated at the instant the AGB is being returned as the clock master. This ID is notified by a REQ callback when the exchange of this information (REQ command) fails. @@ -90,8 +90,13 @@ #define RFU_MBOOT_DOWNLOADER_SERIAL_NO 0x0000 // The game serial number of the multi-boot downloader (programs that boot without a Game Pak) +#if LIBRFU_VERSION >= 1028 #define RFU_API_BUFF_SIZE_RAM 0x0e8c // Necessary size for buffer specified by rfu_initializeAPI (fast communication version that operates the library SIO interrupt routines in RAM) #define RFU_API_BUFF_SIZE_ROM 0x052c // Necessary size for buffer specified by rfu_initializeAPI (fast communication version that operates the library SIO interrupt routines in ROM) +#else +#define RFU_API_BUFF_SIZE_RAM 0x0e64 // Necessary size for buffer specified by rfu_initializeAPI (fast communication version that operates the library SIO interrupt routines in RAM) +#define RFU_API_BUFF_SIZE_ROM 0x0504 // Necessary size for buffer specified by rfu_initializeAPI (fast communication version that operates the library SIO interrupt routines in ROM) +#endif #define RFU_CHILD_MAX 4 // Maximum number of slaves that can be connected to one parent device @@ -304,7 +309,11 @@ struct STWIStatus u8 ackActiveCommand; u8 timerSelect; u8 unk_b; - u32 timerState; // this field is s32 in emerald +#if LIBRFU_VERSION >= 1026 + s32 timerState; +#else + u32 timerState; +#endif vu8 timerActive; u8 unk_11; vu16 error; @@ -314,10 +323,10 @@ struct STWIStatus u8 unk_17; void (*callbackM)(); void (*callbackS)(u16); - void (*unk_20)(void); + void (*callbackID)(void); union RfuPacket *txPacket; union RfuPacket *rxPacket; - vu8 unk_2c; + vu8 sending; }; // This struct is used as u8 array in SDK. @@ -452,54 +461,32 @@ struct RfuStatic u8 nullFrameCount; u8 emberCount; u8 SCStartFlag; - u8 linkEmergencyFlag[4]; - u8 lsFixedCount[4]; - u16 cidBak[4]; - u16 unk_1a; + u8 linkEmergencyFlag[RFU_CHILD_MAX]; + u8 lsFixedCount[RFU_CHILD_MAX]; + u16 cidBak[RFU_CHILD_MAX]; + u16 linkEmergencyLimit; u16 reqResult; u16 tryPid; u16 watchdogTimer; u32 totalPacketSize; }; -struct RfuSIO32Id -{ - u8 unk0; - u8 unk1; - u16 unk2; - u16 unk4; - u16 unk6; - u16 unk8; // unused - u16 unkA; -}; - -struct RfuAPIBuffer -{ - struct RfuLinkStatus linkStatus; - struct RfuStatic static_; - struct RfuFixed fixed; - struct RfuSlotStatusNI NI[RFU_CHILD_MAX]; - struct RfuSlotStatusUNI UNI[RFU_CHILD_MAX]; - struct RfuIntrStruct intr; -}; - extern struct STWIStatus *gSTWIStatus; extern struct RfuLinkStatus *gRfuLinkStatus; extern struct RfuStatic *gRfuStatic; extern struct RfuFixed *gRfuFixed; extern struct RfuSlotStatusNI *gRfuSlotStatusNI[RFU_CHILD_MAX]; extern struct RfuSlotStatusUNI *gRfuSlotStatusUNI[RFU_CHILD_MAX]; -extern struct RfuSIO32Id gRfuSIO32Id; -// librfu_s32id -s32 AgbRFU_checkID(u8); +// librfu_sio32id +s32 AgbRFU_checkID(u8 maxTries); // Arguments with "bm..." specify slots of the form (0x01 << slot number) that are the object of a function operation. // librfu_rfu // API Initialization and Initial Settings // API Initialization -u16 rfu_initializeAPI(struct RfuAPIBuffer *APIBuffer, u16 buffByteSize, IntrFunc *sioIntrTable_p, bool8 copyInterruptToRam); +u16 rfu_initializeAPI(u32 *APIBuffer, u16 buffByteSize, IntrFunc *sioIntrTable_p, bool8 copyInterruptToRam); // Set Timer Interrupt void rfu_setTimerInterrupt(u8 timerNo, IntrFunc *timerIntrTable_p); // Resident Function called from within a V-Blank Interrupt @@ -600,7 +587,7 @@ u16 rfu_MBOOT_CHILD_inheritanceLinkStatus(void); // For Debug // Obtain address of the SWTI-layer receive buffer -struct RfuIntrStruct *rfu_getSTWIRecvBuffer(void); +u8 *rfu_getSTWIRecvBuffer(void); // Obtain RFU state void rfu_REQ_RFUStatus(void); u16 rfu_getRFUStatus(u8 *rfuState); @@ -626,14 +613,14 @@ void STWI_send_DataRxREQ(void); void STWI_send_MS_ChangeREQ(void); void STWI_send_StopModeREQ(void); void STWI_send_SystemStatusREQ(void); -void STWI_send_GameConfigREQ(const u8 *unk1, const u8 *data); +void STWI_send_GameConfigREQ(const u8 *serial_uname, const u8 *gname); void STWI_send_ResetREQ(void); void STWI_send_LinkStatusREQ(void); void STWI_send_VersionStatusREQ(void); void STWI_send_SlotStatusREQ(void); void STWI_send_ConfigStatusREQ(void); void STWI_send_ResumeRetransmitAndChangeREQ(void); -void STWI_send_SystemConfigREQ(u16 unk1, u8 unk2, u8 unk3); +void STWI_send_SystemConfigREQ(u16 availSlotFlag, u8 maxMFrame, u8 mcTimer); void STWI_send_SC_StartREQ(void); void STWI_send_SC_PollingREQ(void); void STWI_send_SC_EndREQ(void); diff --git a/include/link.h b/include/link.h index 770a60f44..e5a40d6a5 100644 --- a/include/link.h +++ b/include/link.h @@ -77,6 +77,10 @@ #define LINKTYPE_BATTLE_TOWER_50 0x2266 #define LINKTYPE_BATTLE_TOWER_OPEN 0x2277 #define LINKTYPE_BATTLE_TOWER 0x2288 +#define LINKTYPE_0x3311 0x3311 +#define LINKTYPE_0x3322 0x3322 +#define LINKTYPE_0x4411 0x4411 +#define LINKTYPE_0x6601 0x6601 #define MASTER_HANDSHAKE 0x8FFF #define SLAVE_HANDSHAKE 0xB9A0 @@ -199,6 +203,7 @@ extern u16 word_3002910[]; extern bool8 gReceivedRemoteLinkPlayers; extern bool8 gLinkVSyncDisabled; extern u8 gWirelessCommType; +extern struct LinkPlayer gLocalLinkPlayer; extern u8 gShouldAdvanceLinkState; extern u16 gLinkPartnersHeldKeys[6]; @@ -246,38 +251,43 @@ void sub_800E0E8(void); bool8 sub_800A520(void); bool8 sub_8010500(void); void sub_800DFB4(u8, u8); -void sub_800AB9C(void); -void sub_800B1F4(void); +void PrepareSendLinkCmd2FFE_or_RfuCmd6600(void); +void SetWirelessCommType1(void); void sub_8009734(void); void sub_800A620(void); -void sub_80FBB4C(void); +void LinkRfu_DestroyIdleTask(void); u8 sub_800ABAC(void); u8 sub_800ABBC(void); -void sub_800AAC0(void); +void Link_TryStartSend5FFF(void); void OpenLink(void); bool8 IsLinkMaster(void); void CheckShouldAdvanceLinkState(void); -void sub_800AA80(u16 a0); +void Link_StartSend5FFFwithParam(u16 a0); void sub_80098D8(void); void CloseLink(void); bool8 IsLinkTaskFinished(void); bool32 sub_800B270(void); void ResetSerial(void); void sub_8054A28(void); -void sub_800B1F4(void); +void SetWirelessCommType1(void); void LoadWirelessStatusIndicatorSpriteGfx(void); void CreateWirelessStatusIndicatorSprite(u8, u8); void sub_8009FE8(void); void ClearLinkCallback_2(void); -void sub_80FA42C(void); -void sub_800B284(struct LinkPlayer * linkPlayer); +void LinkRfu_SetRfuFuncToSend6600(void); +void IntlConvertLinkPlayerName(struct LinkPlayer * linkPlayer); bool8 IsWirelessAdapterConnected(void); -bool8 sub_800A474(u8 a0); +bool8 sub_800A474(u8 blockRequestType); void LinkVSync(void); bool8 HandleLinkConnection(void); -void sub_800B0B4(void); -void sub_800B110(u32 who); -void sub_800ACBC(u32 status, u8 lastSendQueueCount, u8 lastRecvQueueCount, u8 unk_06); +void PrepareLocalLinkPlayerBlock(void); +void LinkPlayerFromBlock(u32 who); +void SetLinkErrorFromRfu(u32 status, u8 lastSendQueueCount, u8 lastRecvQueueCount, u8 unk_06); u8 sub_800A8D4(void); +void sub_800AA24(void); +void sub_800A900(u8 a0); +u8 sub_800A8A4(void); +void sub_800A9A4(void); +void SetLocalLinkPlayerId(u8 playerId); #endif // GUARD_LINK_H diff --git a/include/link_rfu.h b/include/link_rfu.h index 81dd7fdf0..ba2eb0120 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -3,18 +3,31 @@ #include "global.h" #include "librfu.h" +#include "AgbRfu_LinkManager.h" + +#define RFU_COMMAND_0x8800 0x8800 +#define RFU_COMMAND_0x8900 0x8900 +#define RFU_COMMAND_0xa100 0xa100 +#define RFU_COMMAND_0x7700 0x7700 +#define RFU_COMMAND_0x7800 0x7800 +#define RFU_COMMAND_0x6600 0x6600 +#define RFU_COMMAND_0x5f00 0x5f00 +#define RFU_COMMAND_0x2f00 0x2f00 +#define RFU_COMMAND_0xbe00 0xbe00 +#define RFU_COMMAND_0xee00 0xee00 +#define RFU_COMMAND_0xed00 0xed00 // RfuTgtData.gname is read as these structs. struct GFtgtGnameSub { - u16 unk_00_0:4; - u16 unk_00_4:1; - u16 unk_00_5:1; + u16 language:4; + u16 hasNews:1; + u16 hasCard:1; u16 unk_00_6:1; u16 isChampion:1; u16 hasNationalDex:1; u16 gameClear:1; - u16 unk_01_2:4; + u16 version:4; u16 unk_01_6:2; u8 playerTrainerId[2]; }; @@ -22,36 +35,24 @@ struct GFtgtGnameSub struct __attribute__((packed, aligned(2))) GFtgtGname { struct GFtgtGnameSub unk_00; - u8 unk_04[4]; + u8 child_sprite_gender[RFU_CHILD_MAX]; // u8 sprite_idx:3; + // u8 gender:1; + // u8 unk_4:3 + // u8 active:1 u16 species:10; u16 type:6; - u8 unk_0a_0:7; - u8 unk_0a_7:1; + u8 activity:7; + u8 started:1; u8 playerGender:1; u8 level:7; - u8 unk_0c; -}; + u8 padding; +}; // size: RFU_GNAME_SIZE struct Padded_U8 { u8 value; }; -struct UnkLinkRfuStruct_02022B2C -{ - u8 maxMFrame; - u8 mcTimer; - u16 availSlotFlag; - u8 mbootFlag; - u16 serialNo; - struct GFtgtGname *gname; - u8 *uname; - u8 unk_10; - u8 unk_11; - u16 unk_12; - u16 unk_14; -}; - struct UnkLinkRfuStruct_02022B44 { u8 fill_00[6]; @@ -66,106 +67,64 @@ struct UnkLinkRfuStruct_02022B44 u8 fill_84[0x58]; }; -struct UnkRfuStruct_1 +struct RfuBlockSend { - /* 0x000 */ u8 unk_00; - /* 0x001 */ u8 unk_01; - /* 0x002 */ vu8 unk_02; - /* 0x003 */ vu8 unk_03; - /* 0x004 */ u8 unk_04; - /* 0x005 */ u8 unk_05; - /* 0x006 */ u8 unk_06; - /* 0x007 */ u8 unk_07; - /* 0x008 */ u8 unk_08; - /* 0x009 */ u8 unk_09; - /* 0x00a */ u8 unk_0a; - /* 0x00b */ u8 unk_0b; - /* 0x00c */ u8 unk_0c; - /* 0x00d */ u8 unk_0d; - /* 0x00e */ u8 unk_0e; - /* 0x00f */ u8 unk_0f; - /* 0x010 */ u8 unk_10; - /* 0x011 */ u8 unk_11; - /* 0x012 */ u8 unk_12; - // aligned - /* 0x014 */ u16 unk_14; - /* 0x016 */ u16 unk_16; - /* 0x018 */ u16 unk_18; - /* 0x01a */ u16 unk_1a; - /* 0x01c */ u16 unk_1c; - /* 0x01e */ u16 unk_1e; - /* 0x020 */ const u16 *unk_20; - /* 0x024 */ u8 unk_24; - /* 0x026 */ u16 unk_26; - /* 0x028 */ u16 unk_28[RFU_CHILD_MAX]; - /* 0x030 */ u8 unk_30; - // aligned - /* 0x032 */ u16 unk_32; - /* 0x034 */ u16 unk_34[RFU_CHILD_MAX]; - /* 0x03c */ const struct UnkLinkRfuStruct_02022B2C *unk_3c; - /* 0x040 */ void (*unk_40)(u8, u8); - /* 0x044 */ void (*unk_44)(u16); -}; - -struct UnkRfuStruct_2_Sub_6c -{ - /* 0x00 */ u16 unk_00; - /* 0x02 */ u16 unk_02; - /* 0x04 */ const u8 *unk_04; - /* 0x08 */ u32 unk_08; - /* 0x0c */ u32 unk_0c; - /* 0x10 */ u8 unk_10; - /* 0x11 */ u8 unk_11; - /* 0x12 */ u8 unk_12; + /* 0x00 */ u16 next; + /* 0x02 */ u16 count; // max 21 + /* 0x04 */ const u8 *payload; + /* 0x08 */ u32 receivedFlags; + /* 0x0c */ u32 failedFlags; + /* 0x10 */ u8 sending; + /* 0x11 */ u8 owner; + /* 0x12 */ u8 receiving; }; struct UnkRfuStruct_2_Sub_124 { - /* 0x000 */ u8 unk_00[20][70]; - /* 0x578 */ vu8 unk_8c0; - /* 0x579 */ vu8 unk_8c1; - /* 0x57a */ vu8 unk_8c2; - /* 0x57b */ vu8 unk_8c3; + /* 0x000 */ u8 slots[20][70]; + /* 0x578 */ vu8 recv_slot; + /* 0x579 */ vu8 send_slot; + /* 0x57a */ vu8 count; + /* 0x57b */ vu8 full; }; struct UnkRfuStruct_2_Sub_9e8 { - /* 0x000 */ u8 unk_00[40][14]; - /* 0x230 */ vu8 unk_230; - /* 0x231 */ vu8 unk_231; - /* 0x232 */ vu8 unk_232; - /* 0x233 */ vu8 unk_233; + /* 0x000 */ u8 slots[40][14]; + /* 0x230 */ vu8 recv_slot; + /* 0x231 */ vu8 send_slot; + /* 0x232 */ vu8 count; + /* 0x233 */ vu8 full; }; struct UnkRfuStruct_2_Sub_c1c { - /* 0x00 */ u8 unk_00[2][14]; - /* 0x1c */ vu8 unk_1c; - /* 0x1d */ vu8 unk_1d; - /* 0x1e */ vu8 unk_1e; + /* 0x00 */ u8 slots[2][14]; + /* 0x1c */ vu8 recv_slot; + /* 0x1d */ vu8 send_slot; + /* 0x1e */ vu8 count; }; struct UnkRfuStruct_Sub_Unused { - /* 0x000 */ u8 unk_00[2][256]; - /* 0x200 */ vu8 unk_200; - /* 0x201 */ vu8 unk_201; - /* 0x202 */ vu8 unk_202; - /* 0x203 */ vu8 unk_203; + /* 0x000 */ u8 slots[2][256]; + /* 0x200 */ vu8 recv_slot; + /* 0x201 */ vu8 send_slot; + /* 0x202 */ vu8 count; + /* 0x203 */ vu8 full; }; -struct UnkRfuStruct_2 +typedef struct UnkRfuStruct_2 { /* 0x000 */ void (*RfuFunc)(void); - /* 0x004 */ u16 unk_04; + /* 0x004 */ u16 state; /* 0x006 */ u8 filler_06[4]; - /* 0x00a */ u16 unk_0a; - /* 0x00c */ u8 unk_0c; // parentChildMode? + /* 0x00a */ u16 linkman_msg; + /* 0x00c */ u8 parent_child; /* 0x00d */ u8 playerCount; /* 0x00e */ u8 unk_0e; /* 0x00f */ u8 unk_0f; - /* 0x010 */ u16 unk_10; - /* 0x012 */ u16 unk_12; + /* 0x010 */ u16 linkman_param[2]; /* 0x014 */ u8 unk_14[RFU_CHILD_MAX][14]; /* 0x04c */ u8 unk_4c[14]; /* 0x05a */ u8 unk_5a; @@ -175,30 +134,30 @@ struct UnkRfuStruct_2 /* 0x066 */ u8 unk_66; /* 0x067 */ u8 unk_67; /* 0x068 */ u8 filler_68[4]; - /* 0x06c */ struct UnkRfuStruct_2_Sub_6c unk_6c; - /* 0x080 */ struct UnkRfuStruct_2_Sub_6c unk_80[5]; - /* 0x0e4 */ u8 unk_e4[5]; - /* 0x0e9 */ u8 unk_e9[5]; - /* 0x0ee */ vu8 unk_ee; + /* 0x06c */ struct RfuBlockSend cmd_8800_sendbuf; + /* 0x080 */ struct RfuBlockSend cmd_8800_recvbuf[5]; + /* 0x0e4 */ u8 cmd5f00Ack[5]; + /* 0x0e9 */ u8 cmd_6600_recvd[5]; + /* 0x0ee */ vu8 errorState; /* 0x0ef */ u8 unk_ef; - /* 0x0f0 */ u8 unk_f0; + /* 0x0f0 */ u8 linkLossRecoveryState; /* 0x0f1 */ u8 unk_f1; /* 0x0f2 */ u16 unk_f2[6]; - /* 0x0fe */ u16 unk_fe; - /* 0x100 */ u16 unk_100; + /* 0x0fe */ u16 cmd_6600_timer; + /* 0x100 */ u16 cmd_6600_count; /* 0x102 */ u8 unk_102; /* 0x104 */ struct RfuTgtData unk_104; /* 0x124 */ struct UnkRfuStruct_2_Sub_124 unk_124; /* 0x6a0 */ struct UnkRfuStruct_2_Sub_9e8 unk_9e8; /* 0x8d4 */ struct UnkRfuStruct_2_Sub_c1c unk_c1c; /* 0x8f4 */ vu8 unk_c3c; - /* 0x8f5 */ u8 unk_c3d; - /* 0x8f6 */ vu8 unk_c3e; + /* 0x8f5 */ u8 reconnectedParentIdx; + /* 0x8f6 */ vu8 child_slot; /* 0x8f7 */ u8 unk_c3f[70]; /* 0x93d */ u8 unk_c85; /* 0x93e */ u8 unk_c86; - /* 0x93f */ u8 unk_c87[5][7][2]; - /* 0x985 */ u8 unk_ccd; + /* 0x93f */ u8 recvCmds[5][7][2]; + /* 0x985 */ u8 parentId; /* 0x986 */ u8 unk_cce; // childId /* 0x987 */ u8 unk_ccf; /* 0x988 */ vu8 unk_cd0; @@ -209,43 +168,43 @@ struct UnkRfuStruct_2 /* 0x993 */ vu8 unk_cdb; /* 0x994 */ vu8 unk_cdc; /* 0x995 */ u8 unk_cdd; - /* 0x996 */ u8 unk_cde[RFU_CHILD_MAX]; - /* 0x99a */ u8 unk_ce2; - /* 0x99b */ u8 unk_ce3; + /* 0x996 */ u8 linkPlayerIdx[RFU_CHILD_MAX]; + /* 0x99a */ u8 bm_PartnerFlags; + /* 0x99b */ u8 bm_DisconnectSlot; /* 0x99c */ u8 unk_ce4; /* 0x99d */ u8 unk_ce5; - /* 0x99e */ u8 unk_ce6; - /* 0x99f */ u8 unk_ce7; + /* 0x99e */ u8 unionRoomChatters; + /* 0x99f */ u8 acceptSlot_flag; /* 0x9a0 */ bool8 unk_ce8; /* 0x9a1 */ u8 unk_ce9; /* 0x9a2 */ u8 unk_cea[RFU_CHILD_MAX]; /* 0x9a6 */ u8 unk_cee[RFU_CHILD_MAX]; -}; // size: 0x9AC +} GF_RFU_MANAGER; // size: 0x9AC -extern struct UnkRfuStruct_1 gUnknown_3005E10; extern struct GFtgtGname gHostRFUtgtGnameBuffer; extern u8 gHostRFUtgtUnameBuffer[]; +extern GF_RFU_MANAGER Rfu; +// GameFreak signatures void AddTextPrinterToWindow1(const u8 *str); bool32 MG_PrintTextOnWindow1AndWaitButton(u8 * cmdPtr, const u8 * src); void LinkRfu_FatalError(void); void MG_DrawCheckerboardPattern(void); -void task_add_05_task_del_08FA224_when_no_RfuFunc(void); +void Rfu_BeginBuildAndSendCommand5F(void); bool8 IsLinkRfuTaskFinished(void); void DestroyWirelessStatusIndicatorSprite(void); void MEvent_CreateTask_CardOrNewsWithFriend(u32 arg0); void MEvent_CreateTask_CardOrNewsOverWireless(u32 arg0); void MEvent_CreateTask_Leader(u32 arg0); -void sub_80F9E2C(void * data); -u8 sub_8116DE0(void); -void sub_80FBB4C(void); +void RfuPrepareSend0x2f00(void * data); +u8 CreateTask_ListenToWireless(void); +void LinkRfu_DestroyIdleTask(void); void sub_80F86F4(void); void sub_80FB128(bool32 a0); -u32 sub_80FD3A4(void); bool32 IsSendingKeysToRfu(void); void Rfu_set_zero(void); u8 GetRfuPlayerCount(void); -void sub_80F9828(void); +void StartSendingKeysToRfu(void); u8 LinkRfu_GetMultiplayerId(void); bool32 Rfu_InitBlockSend(const u8 * src, size_t size); bool8 sub_80FA0F8(u8 a0); @@ -253,82 +212,70 @@ u8 Rfu_GetBlockReceivedStatus(void); void Rfu_SetBlockReceivedFlag(u8 who); void Rfu_ResetBlockReceivedFlag(u8 who); bool8 Rfu_IsMaster(void); -void sub_80F85F8(void); -bool32 sub_80FAE94(void); -bool32 sub_80FAEF0(void); +void ResetLinkRfuGFLayer(void); +bool32 LinkRfuMain1(void); +bool32 LinkRfuMain2(void); bool32 IsRfuRecvQueueEmpty(void); u32 GetRfuRecvQueueLength(void); -void sub_80F8DC0(void); -void sub_80FBB20(void); +void LinkRfu_Shutdown(void); +void LinkRfu_CreateIdleTask(void); bool8 sub_80FA484(bool32 a0); void var_800D_set_xB(void); -struct GFtgtGname *sub_80F9800(void); +struct GFtgtGname *GetHostRFUtgtGname(void); void UpdateWirelessStatusIndicatorSprite(void); void InitRFU(void); -void sub_80FEB14(void); -bool32 sub_80FBA00(void); +bool32 RfuIsErrorStatus1or2(void); -void sub_80FC478(struct UnkRfuStruct_2_Sub_124 *ptr); -void sub_80FC4D4(struct UnkRfuStruct_2_Sub_9e8 *ptr); +void RFU_queue_20_70_reset(struct UnkRfuStruct_2_Sub_124 *ptr); +void RFU_queue_40_14_reset(struct UnkRfuStruct_2_Sub_9e8 *ptr); -void sub_80FD4B0(const struct UnkLinkRfuStruct_02022B2C *unk0); -u8 sub_80FD538(u8 r5, u16 r7, u16 r8, const u16 *r6); -void sub_80FD760(bool8 a0); -void sub_80FEA10(void (*func)(u16)); -void sub_80FB9E4(u8 a0, u16 a1); -u8 sub_80FB9F4(void); -void LinkRfu_REQ_SendData_HandleParentRelationship(bool8 clockChangeFlag); -void sub_80FC588(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2); -void sub_80FD52C(void); -u8 sub_80FD610(u16 parentId, u16 unk_1a); -bool8 sub_80FC79C(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2); -bool8 sub_80FC888(struct UnkRfuStruct_2_Sub_c1c *q1, u8 *q2); -void sub_80FC828(struct UnkRfuStruct_2_Sub_c1c *q1, const u8 *q2); -bool8 sub_80FC6E8(struct UnkRfuStruct_2_Sub_124 * a0, u8 *a1); -void sub_80FC63C(struct UnkRfuStruct_2_Sub_9e8 * a0, u8 *a1); -u8 sub_80FEA34(u8 a0, u16 a1); -void sub_80FDA30(u32 a0); -void InitHostRFUtgtGname(struct GFtgtGname *data, u8 activity, bool32 r2, s32 r3); -void LinkRfu_syncVBlank_(void); -s32 sub_80FD430(void (*func1)(u8, u8), void (*func2)(u16)); -void sub_80FEB3C(void); -void sub_80FAFE0(u8 a0); -bool32 sub_80FA44C(u32 a0); +void RfuSetErrorStatus(u8 a0, u16 msg); +u8 RfuGetErrorStatus(void); +void RFU_queue_20_70_recv(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2); +bool8 RFU_queue_40_14_send(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2); +bool8 RFU_queue_2_14_send(struct UnkRfuStruct_2_Sub_c1c *q1, u8 *q2); +void RFU_queue_2_14_recv(struct UnkRfuStruct_2_Sub_c1c *q1, const u8 *q2); +bool8 RFU_queue_20_70_send(struct UnkRfuStruct_2_Sub_124 * a0, u8 *a1); +void RFU_queue_40_14_recv(struct UnkRfuStruct_2_Sub_9e8 * a0, u8 *a1); +void InitHostRFUtgtGname(struct GFtgtGname *data, u8 activity, bool32 started, s32 child_sprite_genders); +void UpdateGameData_GroupLockedIn(bool8 started); +bool32 RfuSerialNumberIsValid(u32 a0); bool8 sub_80FC1B0(void); -bool8 sub_80F8F40(void); -void sub_80F8F5C(void); +bool8 LmanAcceptSlotFlagIsNotZero(void); +void LinkRfu_StopManagerAndFinalizeSlots(void); bool32 sub_80FA5D4(void); bool32 sub_80FC1CC(void); -bool32 sub_80F8F7C(bool32 a0); -bool32 sub_80FA634(u16 a0, const u8 *a1); -void sub_80FA670(u8 a0, u16 a1, const u8 *a2); -u32 sub_80FA6FC(u16 a0, const u8 *a1); -void SetHostRFUtgtGname(u8 a0, u32 a1, u32 a2); -void sub_80FBB8C(u32 a0); -void sub_80FBD4C(const u8 *ptr, u16 a1); +bool32 WaitRfuState(bool32 a0); +bool32 TrainerIdAndNameStillInPartnersList(u16 trainerId, const u8 *trainerName); +void SendByteToPartnerByIdAndName(u8 a0, u16 a1, const u8 *a2); +u32 WaitSendByteToPartnerByIdAndName(u16 a0, const u8 *a1); +void SetHostRFUtgtGname(u8 activity, u32 child_sprite_genders, u32 a2); +void InitializeRfuLinkManager_LinkLeader(u32 availSlots); +void RequestDisconnectSlotByTrainerNameAndId(const u8 *trainerName, u16 trainerId); void LinkRfu3_SetGnameUnameFromStaticBuffers(struct GFtgtGname *gname, u8 *uname); -void sub_80FBBD8(void); -void sub_80FA6BC(void); -void sub_80FBF54(const u8 *src, u16 trainerId); -void sub_80FB008(u8 a0, u32 a1, u32 a2); +void InitializeRfuLinkManager_JoinGroup(void); +void LinkRfuNIsend8(void); +void CreateTask_RfuReconnectWithParent(const u8 *src, u16 trainerId); +void UpdateGameDataWithActivitySpriteGendersFlag(u8 activity, u32 child_sprite_genders, u32 started); void RecordMixTrainerNames(void); -void sub_80F8CFC(); -void sub_80F8D14(); -void sub_80FAF74(bool32 a0, bool32 a1); +void LinkRfu_CreateConnectionAsParent(); +void LinkRfu_StopManagerBeforeEnteringChat(); +void SetGnameBufferWonderFlags(bool32 hasNews, bool32 hasCard); void ClearAndInitHostRFUtgtGname(void); void sub_80F8FA0(void); -void sub_80FAFA0(u32 type, u32 species, u32 level); -bool32 sub_80FBB0C(void); -void sub_80FBC00(void); +void RfuUpdatePlayerGnameStateAndSend(u32 type, u32 species, u32 level); +bool32 IsUnionRoomListenTaskActive(void); +void InitializeRfuLinkManager_EnterUnionRoom(void); void sub_80FBD6C(u32 a0); void sub_80FC114(const u8 *name, struct GFtgtGname *structPtr, u8 a2); bool32 PlayerHasMetTrainerBefore(u16 id, u8 *name); -bool8 sub_80FCC3C(struct GFtgtGname *gname, u8 *uname, u8 idx); -bool8 sub_80FCCF4(struct GFtgtGname *gname, u8 *uname, u8 idx); +bool8 LinkRfu_GetNameIfCompatible(struct GFtgtGname *gname, u8 *uname, u8 idx); +bool8 LinkRfu_GetNameIfSerial7F7D(struct GFtgtGname *gname, u8 *uname, u8 idx); bool32 GetRfuUnkCE8(void); void sub_80FA4A8(void); void sub_80FB9D0(void); void sub_80FB030(u32 a0); +void sub_80FBA44(void); #include "mevent_server.h" extern const struct mevent_server_cmd gMEventSrvScript_OtherTrainerCanceled[]; diff --git a/include/map_preview_screen.h b/include/map_preview_screen.h index ea85baf71..a287c6f89 100644 --- a/include/map_preview_screen.h +++ b/include/map_preview_screen.h @@ -34,21 +34,30 @@ enum MapPreviewScreenId MPS_COUNT }; +#define MPS_TYPE_CAVE 0 +#define MPS_TYPE_FOREST 1 +#define MPS_TYPE_ANY 2 + struct MapPreviewScreen { u8 mapsec; - bool8 forceFirstTime; + u8 type; u16 flagId; const void * tilesptr; const void * tilemapptr; const void * palptr; }; -u16 sub_80F8318(u8 id); -void sub_80F85BC(u16 a0); -u16 sub_80F856C(u8 id); -bool8 sub_80F8110(u8 mapsec, bool8 forceFirstTime); -bool32 sub_80F83B0(void); +u16 MapPreview_CreateMapNameWindow(u8 id); +void MapPreview_SetFlag(u16 a0); +u16 MapPreview_GetDuration(u8 id); +bool8 MapHasPreviewScreen(u8 mapsec, u8 type); +bool32 ForestMapPreviewScreenIsRunning(void); const struct MapPreviewScreen * GetDungeonMapPreviewScreenInfo(u8 mapsec); +bool32 MapHasPreviewScreen_HandleQLState2(u8 mapsec, u8 type); +void MapPreview_InitBgs(void); +void MapPreview_LoadGfx(u8 mapsec); +bool32 MapPreview_IsGfxLoadFinished(void); +void MapPreview_Unload(s32 windowId); #endif //GUARD_MAP_PREVIEW_SCREEN_H diff --git a/include/math_util.h b/include/math_util.h index 473be5d45..71e87dad1 100644 --- a/include/math_util.h +++ b/include/math_util.h @@ -3,5 +3,9 @@ s16 sub_80D8B90(s16 y); s16 sub_80D8AA0(s16 x, s16 y); +s32 sub_80D8B68(s32 x, s32 y); +s32 sub_80D8AE0(s32 x, s32 y); +s16 sub_80D8B40(u8 s, s16 x, s16 y); +s16 sub_80D8ABC(u8 s, s16 x, s16 y); #endif //GUARD_MATH_UTIL_H diff --git a/include/menu.h b/include/menu.h index b6d757f85..49dd43e26 100644 --- a/include/menu.h +++ b/include/menu.h @@ -30,7 +30,7 @@ s8 sub_812EAE4(u16 species, u32 personality, u8 a2); // list_menu void sub_8107CD8(u8 palOffset, u16 speciesId); void sub_8107CF8(u8 windowId, u16 speciesId, u32 personality, u16 x, u16 y); -void sub_8107D38(u8 palOffset, u8 palId); +void ListMenuLoadStdPalAt(u8 palOffset, u8 palId); void BlitMoveInfoIcon(u8 windowId, u8 iconId, u16 x, u16 y); // menu diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h index b79a7ce8b..be1dc57bc 100644 --- a/include/metatile_behavior.h +++ b/include/metatile_behavior.h @@ -114,7 +114,7 @@ bool8 MetatileBehavior_UnusedReturnFalse_10(u8 metatileBehavior); bool8 MetatileBehavior_UnusedReturnFalse_11(u8 metatileBehavior); bool8 MetatileBehavior_UnusedReturnFalse_12(u8 metatileBehavior); bool8 MetatileBehavior_UnusedReturnFalse_13(u8 metatileBehavior); -bool8 sub_805A2BC(u8 metatileBehavior, u8 playerDirection); +bool8 TestMetatileAttributeBit(u8 attr, u8 bitmask); bool8 MetatileBehavior_UnusedIsSpinRight(u8 metatileBehavior); bool8 MetatileBehavior_UnusedIsSpinLeft(u8 metatileBehavior); bool8 MetatileBehavior_UnusedIsSpinUp(u8 metatileBehavior); diff --git a/include/mevent.h b/include/mevent.h index 85782f20a..4f3e365f7 100644 --- a/include/mevent.h +++ b/include/mevent.h @@ -13,7 +13,7 @@ struct MEventClientHeaderStruct u16 id; u16 unk_16[4]; struct MEventBuffer_3430_Sub unk_20; - u8 unk_44; + u8 maxDistributionMons; u8 playerName[7]; u8 playerTrainerId[4]; u16 easyChatProfile[6]; @@ -33,21 +33,38 @@ struct MEvent_Str_2 u8 fill_00[0x40]; }; +struct UnkStruct_8467FB8 +{ + u8 textPal1:4; + u8 textPal2:4; + u8 textPal3:4; + u8 index:4; + const u8 * tiles; + const u8 * map; + const u16 * pal; +}; + +extern const u16 gCard1Pal[]; +extern const u16 gCard2Pal[]; +extern const u16 gCard3Pal[]; +extern const u16 gCard4Pal[]; +extern const u16 gCard5Pal[]; + struct MEWonderNewsData * GetSavedWonderNews(void); struct MEWonderCardData * GetSavedWonderCard(void); struct MEventBuffer_3430_Sub * sav1_get_mevent_buffer_2(void); struct MENewsJisanStruct * GetMENewsJisanStructPtr(void); -bool32 sub_8143DC8(const struct MEWonderNewsData * src); +bool32 OverwriteSavedWonderNewsWithReceivedNews(const struct MEWonderNewsData * src); bool32 ValidateReceivedWonderNews(void); bool32 ValidateReceivedWonderCard(void); -bool32 sub_8143EF4(const u8 * src); -bool32 sub_8143F68(const struct MEWonderCardData * data); -void sub_814410C(struct MEWonderCardData * buffer); -bool32 sub_8144254(const u16 * data); +bool32 MEvent_HaveAlreadyReceivedWonderNews(const u8 * src); +bool32 OverwriteSavedWonderCardWithReceivedCard(const struct MEWonderCardData * data); +void MEvent_WonderCardResetUnk08_6(struct MEWonderCardData * buffer); +bool32 MEvent_ReceiveDistributionMon(const u16 * data); void BuildMEventClientHeader(struct MEventClientHeaderStruct * data); bool32 ValidateMEventClientHeader(const struct MEventClientHeaderStruct * data); u32 sub_8144418(const u16 * a0, const struct MEventClientHeaderStruct * a1, void * unused); -u32 sub_8144434(const u16 * a0, const struct MEventClientHeaderStruct * a1, void * unused); +u32 MEvent_CanPlayerReceiveDistributionMon(const u16 * a0, const struct MEventClientHeaderStruct * a1, void * unused); bool32 sub_8144474(const struct MEventClientHeaderStruct * a0, const u16 * a1); u16 sub_81444B0(const struct MEventClientHeaderStruct * a0, u32 command); bool32 InitWonderCardResources(struct MEWonderCardData * r5, struct MEventBuffer_3430_Sub * r6); @@ -66,12 +83,12 @@ void MENews_RemoveScrollIndicatorArrowPair(void); bool32 WonderNews_Test_Unk_02(void); bool32 WonderCard_Test_Unk_08_6(void); u32 MENews_GetInput(u16 input); -void sub_8143D24(void); -u16 sub_81445C0(u32 command); -void sub_8144714(u32 a0, u32 a1); +void InitMEventData(void); +u16 MEvent_GetBattleCardCount(u32 command); +void MEvent_RecordIdOfWonderCardSenderByEventType(u32 eventId, u32 trainerId); u16 *GetMEventProfileECWordsMaybe(void); -void sub_81446C4(void); -bool32 sub_81446D0(u16 a0); +void ResetReceivedWonderCardFlag(void); +bool32 MEventHandleReceivedWonderCard(u16 cardId); u16 GetWonderCardFlagId(void); #endif //GUARD_MEVENT_H diff --git a/include/mevent_server.h b/include/mevent_server.h index 1e9ef7bef..a7c7a3f23 100644 --- a/include/mevent_server.h +++ b/include/mevent_server.h @@ -48,6 +48,7 @@ struct mevent_client_cmd #define CLI_RECVBUF {.instr = 12, .parameter = 0} #define CLI_REQWORD {.instr = 13, .parameter = 0} #define CLI_SNDWORD {.instr = 14, .parameter = 0} +#define CLI_RECVMON {.instr = 16, .parameter = 0} #define CLI_RECVRAM {.instr = 17, .parameter = 0} #define CLI_SENDALL {.instr = 20, .parameter = 0} diff --git a/include/minigame_countdown.h b/include/minigame_countdown.h new file mode 100644 index 000000000..930205218 --- /dev/null +++ b/include/minigame_countdown.h @@ -0,0 +1,7 @@ +#ifndef GUARD_MINIGAME_COUNTDOWN_H +#define GUARD_MINIGAME_COUNTDOWN_H + +void StartMinigameCountdown(u16 tilesTag, u16 palTag, s16 x, s16 y, u8 subpriority); +bool32 IsMinigameCountdownRunning(void); + +#endif //GUARD_MINIGAME_COUNTDOWN_H diff --git a/include/naming_screen.h b/include/naming_screen.h index be2cf34f8..1e8d11b3a 100644 --- a/include/naming_screen.h +++ b/include/naming_screen.h @@ -6,9 +6,9 @@ #define NAMING_SCREEN_PLAYER 0 #define NAMING_SCREEN_BOX 1 #define NAMING_SCREEN_CAUGHT_MON 2 -#define NAMING_SCREEN_3 3 -#define NAMING_SCREEN_WALDA 4 +#define NAMING_SCREEN_NAME_RATER 3 +#define NAMING_SCREEN_RIVAL 4 -void DoNamingScreen(u8 caseId, u8* dst, u16 monSpecies, u8 monGender, u32 monPersonality, void (*callback)(void)); +void DoNamingScreen(u8 templateNum, u8 *destBuffer, u16 monSpecies, u16 monGender, u32 monPersonality, MainCallback returnCallback); #endif // GUARD_NAMING_SCREEN_H diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h index f20375675..8e05f247f 100644 --- a/include/new_menu_helpers.h +++ b/include/new_menu_helpers.h @@ -47,7 +47,7 @@ void RemoveStartMenuWindow(void); u16 GetStdWindowBaseTileNum(void); void DrawHelpMessageWindowWithText(const u8 * text); void DestroyHelpMessageWindow_(void); -void sub_80F79A4(void); +void LoadSignPostWindowFrameGfx(void); void SetDefaultFontsPointer(void); #endif // GUARD_NEW_MENU_HELPERS_H diff --git a/include/overworld.h b/include/overworld.h index 97fa8d67a..37274dfb4 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -82,12 +82,16 @@ void sub_8084DD4(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); void sub_8084E2C(s8, s8, s8, s8, s8); void sub_8084E80(s8, s8, s8, s8, s8); void sub_8084EBC(s16, s16); +void sub_80555E0(void); +void copy_saved_warp3_bank_and_enter_x_to_warp1(void); +u8 IsMapTypeOutdoors(u8 mapType); +void sav1_reset_battle_music_maybe(void); +bool32 sub_8056124(u16 song); void player_avatar_init_params_reset(void); void Overworld_SetFlashLevel(s32 a1); u8 Overworld_GetFlashLevel(void); -void sub_8085524(u16); void Overworld_SetSavedMusic(u16); void Overworld_ChangeMusicToDefault(void); @@ -148,16 +152,16 @@ void Overworld_ResetStateAfterTeleport(void); void Overworld_FadeOutMapMusic(void); void CB2_LoadMap(void); bool8 BGMusicStopped(void); -bool8 is_light_level_8_or_9(u8 mapType); +bool8 IsMapTypeIndoors(u8 mapType); bool32 sub_8055C9C(void); void Overworld_ResetStateAfterDigEscRope(void); bool32 sub_8058244(void); u8 GetCurrentMapType(void); -u8 get_map_light_from_warp0(void); +u8 GetLastUsedWarpMapType(void); const struct MapHeader *warp1_get_mapheader(void); -void sub_8055F88(void); -void sub_8056788(void); +void TryFadeOutOldMapMusic(void); +void CB2_ReturnToFieldCableClub(void); void ResetGameStats(void); void Overworld_CreditsMainCB(void); @@ -177,7 +181,23 @@ void sub_8056078(void *, void *); void sub_805546C(u8 a0); bool32 sub_80582E0(void); bool32 sub_8058274(void); +u8 GetCurrentMapBattleScene(void); +void Overworld_ResetStateAfterFly(void); +bool8 sub_8055B38(u16 metatileBehavior); +void sub_8055DB8(void); +void sub_8057F5C(void); +void sub_8057F34(void); +u32 sub_8057EC0(void); +void sub_8057F70(void); +void sub_8057F48(void); +void SetMainCallback1(MainCallback cb); +void CB1_Overworld(void); +void sub_80568C4(void); +u8 GetLastUsedWarpMapSectionId(void); +extern u16 *gBGTilemapBuffers1; +extern u16 *gBGTilemapBuffers2; +extern u16 *gBGTilemapBuffers3; extern u16 gHeldKeyCodeToSend; #endif //GUARD_OVERWORLD_H diff --git a/include/player_pc.h b/include/player_pc.h index f62835911..84cf2327c 100644 --- a/include/player_pc.h +++ b/include/player_pc.h @@ -13,7 +13,7 @@ struct PlayerPCItemPageStruct u8 pageItems; u8 count; u8 filler_6[3]; - u8 unk_9; + bool8 notInRoom; u8 scrollIndicatorId; u8 filler_B[5]; }; diff --git a/include/pokemon_jump.h b/include/pokemon_jump.h index 0e9094752..83e28d2fd 100644 --- a/include/pokemon_jump.h +++ b/include/pokemon_jump.h @@ -2,9 +2,122 @@ #define GUARD_POKEMON_JUMP_H #include "main.h" +#include "link.h" + +struct PokemonJump1_MonInfo +{ + u16 species; + u32 otId; + u32 personality; +}; + +struct PokemonJump1_82E4 +{ + int unk0; + int unk4; + u8 filler8[0x4]; + u16 unkC; + u16 unkE; + u16 unk10; + u16 unk12; + int unk14; + int unk18; + u8 unk1C[11]; +}; + +struct PokemonJump2 +{ + int unk0; + u16 unk4; + u8 unk6; + u8 filler7[0xa - 0x7]; + u8 unkA; + u8 unkB; + u8 unkC; + u8 unkD; + u8 unkE; + u8 unkF; + u16 filler10; + u16 unk12; + u16 unk14; + u32 unk18; + u16 unk1C[5]; + u8 txtBuff[2][0x40]; + u8 strBuff[0x100]; + u16 tilemapBuffer[0x4000]; // Bug: way larger than it should be + struct Sprite *unk81A8[MAX_RFU_PLAYERS]; + struct Sprite *unk81BC[MAX_RFU_PLAYERS]; + struct Sprite *unk81D0[8]; + u8 filler81F0[0xC]; + u8 unk81FC[MAX_RFU_PLAYERS]; +}; + +struct PokemonJump1Sub +{ + u8 unk0; + u8 unk1; + u16 unk2; + u16 unk4; + u32 unk8; +}; void ResetPokeJumpResults(void); bool32 IsSpeciesAllowedInPokemonJump(u16 species); -void sub_8147AA8(u16 species, MainCallback callback); +void StartPokemonJump(u16 species, MainCallback callback); +u16 sub_81499A4(void); +u16 sub_81499B4(void); +struct PokemonJump1_MonInfo *sub_81499C0(u8 multiplayerId); +u8 *sub_81499E0(u8 multiplayerId); + +void sub_814A95C(int id); +void sub_8149CEC(struct PokemonJump2 *); +void sub_8149D24(void); +void sub_8149D40(int); +bool32 sub_8149D68(void); +void sub_814A3E4(void); +bool32 sub_814A408(void); +void sub_814A468(u16 itemId, u16 quantity); +void sub_814A53C(u16 itemId); +void sub_814A5B4(u16 itemId); +bool32 sub_814A62C(void); +void sub_814A6CC(void); +void sub_814A940(u32 id, s16 y); +void sub_814AA48(u8 multiplayerId); +bool32 sub_814A6FC(void); +void sub_814AA24(int); +s8 sub_814A744(void); +int sub_814A98C(u8 flags); +void sub_814AA34(u16); +void sub_814AA60(u8 multiplayerId); +int sub_814AA78(int multiplayerId); +void sub_814AA8C(void); +void sub_814AAA0(void); +void sub_814AAB4(int); +int sub_814AAC8(void); +void sub_8149A6C(struct PokemonJump1_MonInfo *arg0); +bool32 sub_8149A90(int multiplayerId, struct PokemonJump1_MonInfo *arg0); +void sub_8149AF8(struct PokemonJump1_82E4 *arg0, struct PokemonJump1Sub *arg1); +bool32 sub_8149B7C(struct PokemonJump1_82E4 *arg0, struct PokemonJump1Sub *arg1); +void sub_8149BF4(struct PokemonJump1_82E4 *arg0, u8 arg1, u16 arg2); +bool32 sub_8149C24(struct PokemonJump1_82E4 *arg0, int multiplayerId, u8 *arg2, u16 *arg3); +bool32 sub_8149C90(struct PokemonJump1_82E4 *arg0, int multiplayerId); +bool32 sub_814B494(u32 jumpScore, u16 jumpsInRow, u16 excellentsInRow); +void sub_814B4E8(void); + +void sub_814AD6C(struct PokemonJump2 *); +void sub_814B294(struct PokemonJump2 *); +void sub_814B43C(struct PokemonJump2 *); +bool32 sub_814B460(void); +void sub_814B348(struct PokemonJump2 *, int); +void sub_814AF0C(struct PokemonJump2 *, int); +void sub_814ADCC(struct PokemonJump2 *, struct PokemonJump1_MonInfo *,s16, s16, u8); +void sub_814B240(struct PokemonJump2 *,s16, s16, u8); +void sub_814AFE8(struct PokemonJump2 *, int multiplayerId); +void sub_814B080(struct PokemonJump2 *, int multiplayerId); +bool32 sub_814B010(struct PokemonJump2 *, int multiplayerId); +void sub_814B0A8(struct PokemonJump2 *); +void sub_814B134(struct PokemonJump2 *); +void sub_814B168(struct PokemonJump2 *, int multiplayerId); +bool32 sub_814B190(struct PokemonJump2 *); #endif // GUARD_POKEMON_JUMP_H diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 81f50e1e9..c636651f3 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -6,13 +6,12 @@ #define TOTAL_BOXES_COUNT 14 #define IN_BOX_COUNT 30 -u8* GetBoxNamePtr(u8 boxNumber); +u8 *GetBoxNamePtr(u8 boxNumber); struct BoxPokemon *GetBoxedMonPtr(u8 boxId, u8 monPosition); void SetBoxMonNickFromAnyBox(u8 boxId, u8 monPosition, u8 * newNick); void CompactPartySlots(void); u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request); void sub_808BCB4(u8 boxId, u8 monPosition); -u8 * GetBoxNamePtr(u8 boxId); void sub_808CE60(void); void ResetPokemonStorageSystem(void); u8 StorageGetCurrentBox(void); diff --git a/include/quest_log.h b/include/quest_log.h index 152668f17..e2e652a81 100644 --- a/include/quest_log.h +++ b/include/quest_log.h @@ -26,10 +26,10 @@ extern const u16 gUnknown_84566A8[]; void sub_8112720(u8); void SetQuestLogEvent(u16, const u16 *); void sub_811539C(void); -void sub_8115748(u16); +void QuestLog_RecordEnteredMap(u16); u8 sub_8112CAC(void); bool8 QuestLog_SchedulePlaybackCB(void (*func)(void)); -void sub_8111F38(u16, u16); +void sub_8111F38(u16 offset, u16 idx); void sub_8111134(void); void DestroyHelpMessageWindow(u8 a0); u8 CreateHelpMessageWindow(void); @@ -51,5 +51,9 @@ void sub_8110840(void *oldSave); void sub_8112F18(u8 windowId); void sub_811246C(struct Sprite *sprite); void sub_81124EC(u8 a0, u8 a1, u8 a2, u8 a3); +bool8 sub_8111C2C(void); +void sub_81128BC(u8 a0); +void sub_811278C(u8, u8); +void Special_UpdateTrainerFansAfterLinkBattle(void); #endif //GUARD_QUEST_LOG_H diff --git a/include/renewable_hidden_items.h b/include/renewable_hidden_items.h index 0de109528..3a0385c00 100644 --- a/include/renewable_hidden_items.h +++ b/include/renewable_hidden_items.h @@ -1,7 +1,6 @@ #ifndef GUARD_RENEWABLE_HIDDEN_ITEMS_H #define GUARD_RENEWABLE_HIDDEN_ITEMS_H -bool32 sub_815D834(void); void IncrementRenewableHiddenItemStepCounter(void); void TryRegenerateRenewableHiddenItems(void); void SetAllRenewableItemFlags(void); diff --git a/include/rfu_union_tool.h b/include/rfu_union_tool.h index b8b5cd664..7fc7fd4cb 100644 --- a/include/rfu_union_tool.h +++ b/include/rfu_union_tool.h @@ -3,15 +3,14 @@ #include "union_room.h" -void sub_811C1C8(void); -void sub_811BAAC(u8 *spriteIds, s32 arg1); -void sub_811BB40(u8 *spriteIds); -void sub_811BB68(void); -void sub_811BECC(struct UnkStruct_URoom *arg0); -void sub_811BEDC(struct UnkStruct_URoom *arg0); -bool32 sub_811BF00(struct UnkStruct_Main0 *arg0, s16 *arg1, s16 *arg2, u8 *arg3); -void sub_811C028(u32 arg0, u32 arg1, struct UnkStruct_Main0 *arg2); u8 ZeroUnionObjWork(struct UnionObj * ptr); -void sub_811BA78(void); +void DeleteUnionObjWorkAndStopTask(void); +void CreateGroupMemberObjectsInvisible(u8 *spriteIds, s32 group); +void DestroyGroupMemberObjects(u8 *spriteIds); +void MakeGroupAssemblyAreasPassable(void); +void ScheduleUnionRoomPlayerRefresh(struct UnkStruct_URoom *uroom_p); +void HandleUnionRoomPlayerRefresh(struct UnkStruct_URoom *uroom_p); +bool32 RfuUnionTool_GetGroupAndMemberInFrontOfPlayer(struct UnkStruct_Main0 *main0_p, s16 *member_p, s16 *group_p, u8 *spriteIds); +void UpdateUnionGroupMemberFacing(u32 member, u32 group, struct UnkStruct_Main0 *main0_p); #endif //GUARD_UNION_ROOM_PLAYER_AVATAR_H diff --git a/include/save.h b/include/save.h index ed527eefd..32c09896a 100644 --- a/include/save.h +++ b/include/save.h @@ -113,8 +113,6 @@ u8 sub_80DA45C(void); bool8 sub_80DA4A0(void); u8 Save_LoadGameData(u8 saveType); u32 TryCopySpecialSaveSection(u8 sector, u8* dst); -u32 sub_8153634(u8 sector, u8* src); -void sub_8153688(u8 taskId); u32 TryWriteSpecialSaveSection(u8 sector, u8* src); void sub_80DA634(u8 taskId); diff --git a/include/script.h b/include/script.h index c0b23e248..2fb732396 100644 --- a/include/script.h +++ b/include/script.h @@ -48,7 +48,7 @@ void ScriptContext2_RunNewScript(const u8 *ptr); u8 *mapheader_get_tagged_pointer(u8 tag); void mapheader_run_script_by_tag(u8 tag); u8 *mapheader_get_first_match_from_tagged_ptr_list(u8 tag); -void mapheader_run_script_with_tag_x1(void); +void RunOnLoadMapScript(void); void mapheader_run_script_with_tag_x3(void); void mapheader_run_script_with_tag_x5(void); void mapheader_run_script_with_tag_x7(void); @@ -62,7 +62,7 @@ u8 *GetRamScript(u8 objectId, u8 *script); bool32 sub_80991F8(void); u8 *sub_8099244(void); void sub_80992A0(u8 *script, u16 scriptSize); -bool32 sub_8069DFC(void); +bool32 ValidateRamScript(void); void MEventSetRamScript(u8 * script, u16 scriptSize); u8 * sub_8069E48(void); void sub_8069998(u8 var); diff --git a/include/script_menu.h b/include/script_menu.h index d19e6d14d..0e166e7c7 100644 --- a/include/script_menu.h +++ b/include/script_menu.h @@ -10,7 +10,7 @@ bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 var3, u8 var4, u8 va bool8 ScriptMenu_YesNo(u8 var1, u8 var2); bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 a4, u8 columnCount); bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3); -bool8 ScrSpecial_CreatePCMenu(void); +bool8 CreatePCMenu(void); void ScriptMenu_DisplayPCStartupPrompt(void); bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void); diff --git a/include/script_movement.h b/include/script_movement.h index 2a6dbd2a7..a6f3e7c3c 100644 --- a/include/script_movement.h +++ b/include/script_movement.h @@ -5,6 +5,6 @@ bool8 ScriptMovement_StartObjectMovementScript(u8, u8, u8, const u8 *); bool8 ScriptMovement_IsObjectMovementFinished(u8, u8, u8); -void sub_80974D8(void); +void ScriptMovement_UnfreezeObjectEvents(void); #endif // GUARD_SCRIPT_MOVEMENT_H diff --git a/include/sea_cottage_special_anim.h b/include/sea_cottage_special_anim.h deleted file mode 100644 index 5c939df12..000000000 --- a/include/sea_cottage_special_anim.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef GUARD_SEA_COTTAGE_SPECIAL_ANIM_H -#define GUARD_SEA_COTTAGE_SPECIAL_ANIM_H - -#include "global.h" - -void sub_809C448(u8 a0); -void sub_809C460(void); -bool8 sub_809C474(void); -void sub_809C4A8(void); -void sub_809C5FC(void); - -#endif // GUARD_SEA_COTTAGE_SPECIAL_ANIM_H diff --git a/include/seagallop.h b/include/seagallop.h deleted file mode 100644 index 50b128185..000000000 --- a/include/seagallop.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef GUARD_SEAGALLOP_H -#define GUARD_SEAGALLOP_H - -#include "constants/seagallop.h" - -void ScrSpecial_SeagallopFerry(void); - -#endif //GUARD_SEAGALLOP_H diff --git a/include/special_field_anim.h b/include/special_field_anim.h new file mode 100644 index 000000000..37c31f97b --- /dev/null +++ b/include/special_field_anim.h @@ -0,0 +1,10 @@ +#ifndef GUARD_SPECIAL_FIELD_ANIM_H +#define GUARD_SPECIAL_FIELD_ANIM_H + +#include "global.h" + +void StartEscalator(bool8 goingUp); +void StopEscalator(void); +bool8 IsEscalatorMoving(void); + +#endif // GUARD_SPECIAL_FIELD_ANIM_H diff --git a/include/sprite.h b/include/sprite.h index 43bf5745d..c53919159 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -318,5 +318,6 @@ void ResetAffineAnimData(void); void sub_8007FFC(struct Sprite* sprite, s16 a2, s16 a3); void sub_80075C0(struct Sprite *sprite); s16 AllocSpriteTiles(u16 tileCount); +void obj_pos2_update_enable(struct Sprite* sprite, s16 xmod, s16 ymod); #endif //GUARD_SPRITE_H diff --git a/include/strings.h b/include/strings.h index 5c8ffde4b..be3555780 100644 --- a/include/strings.h +++ b/include/strings.h @@ -114,7 +114,7 @@ extern const u8 gText_TurnedOverItemsWorthYen[]; extern const u8 gPokedudeText_TMTypes[]; extern const u8 gPokedudeText_ReadTMDescription[]; extern const u8 gFameCheckerText_Cancel[]; -extern const u8 gFameCheckerText_ListMenuCursor[]; +extern const u8 gText_SelectorArrow2[]; extern const u8 gFameCheckerText_FameCheckerWillBeClosed[]; extern const u8 gFameCheckerText_ClearTextbox[]; extern const u8 gFameCheckerText_MainScreenUI[]; // "{DPAD_ANY}PICK {DPAD_UPDOWN}SELECT {A_BUTTON}OK$" @@ -159,7 +159,7 @@ extern const u8 gString_Someone[]; extern const u8 gString_Help[]; extern const u8 gString_HelpSystem_ClearTo8[]; -extern const u8 gOtherText_StrVar1[]; +extern const u8 gText_Var1IsSelected[]; extern const u8 gOtherText_WhereShouldTheStrVar1BePlaced[]; extern const u8 gOtherText_Powder[]; extern const u8 gText_NoMoreRoomInBag[]; @@ -244,26 +244,26 @@ extern const u8 gUnknown_83FDCD2[]; extern const u8 gUnknown_83FE6FA[]; // battle_controller_pokedude -extern const u8 gUnknown_81C5F69[]; -extern const u8 gUnknown_81C5FA7[]; -extern const u8 gUnknown_81C5FDC[]; -extern const u8 gUnknown_81C601C[]; -extern const u8 gUnknown_81C60FA[]; -extern const u8 gUnknown_81C615A[]; -extern const u8 gUnknown_81C6196[]; -extern const u8 gUnknown_81C61EA[]; -extern const u8 gUnknown_81C6202[]; -extern const u8 gUnknown_81C6301[]; -extern const u8 gUnknown_81C63A9[]; -extern const u8 gUnknown_81C63F9[]; -extern const u8 gUnknown_81C6446[]; -extern const u8 gUnknown_81C657A[]; -extern const u8 gUnknown_81C6637[]; -extern const u8 gUnknown_81C6645[]; -extern const u8 gUnknown_81C66CF[]; -extern const u8 gUnknown_81C6787[]; -extern const u8 gUnknown_81C684B[]; -extern const u8 gUnknown_81C686C[]; +extern const u8 Pokedude_Text_SpeedierBattlerGoesFirst[]; +extern const u8 Pokedude_Text_MyRattataFasterThanPidgey[]; +extern const u8 Pokedude_Text_BattlersTakeTurnsAttacking[]; +extern const u8 Pokedude_Text_MyRattataWonGetsEXP[]; +extern const u8 Pokedude_Text_UhOhRattataPoisoned[]; +extern const u8 Pokedude_Text_HealStatusRightAway[]; +extern const u8 Pokedude_Text_UsingItemTakesTurn[]; +extern const u8 Pokedude_Text_YayWeManagedToWin[]; +extern const u8 Pokedude_Text_WaterNotVeryEffectiveAgainstGrass[]; +extern const u8 Pokedude_Text_GrassEffectiveAgainstWater[]; +extern const u8 Pokedude_Text_LetsTryShiftingMons[]; +extern const u8 Pokedude_Text_ShiftingUsesTurn[]; +extern const u8 Pokedude_Text_ButterfreeDoubleResistsGrass[]; +extern const u8 Pokedude_Text_ButterfreeGoodAgainstOddish[]; +extern const u8 Pokedude_Text_YeahWeWon[]; +extern const u8 Pokedude_Text_WeakenMonBeforeCatching[]; +extern const u8 Pokedude_Text_BestIfTargetStatused[]; +extern const u8 Pokedude_Text_CantDoubleUpOnStatus[]; +extern const u8 Pokedude_Text_LetMeThrowBall[]; +extern const u8 Pokedude_Text_PickBestKindOfBall[]; // party_menu extern const u8 gText_ChoosePokemon[]; @@ -1100,4 +1100,262 @@ extern const u8 gText_Symbols[]; extern const u8 gText_Register2[]; extern const u8 gText_Exit[]; +// wireless_communication_status_screen +extern const u8 gUnknown_841E2B4[]; +extern const u8 gUnknown_841E2BF[]; +extern const u8 gUnknown_841E2C9[]; +extern const u8 gUnknown_841E2D4[]; +extern const u8 gText_WirelessCommunicationStatus[]; +extern const u8 gText_PeopleTrading[]; +extern const u8 gText_PeopleBattling[]; +extern const u8 gText_PeopleInUnionRoom[]; +extern const u8 gText_PeopleCommunicating[]; + +// mevent +extern const u8 gJPText_ReceiveMysteryGiftWithEReader[]; +extern const u8 gJPText_SelectConnectFromEReaderMenu[]; +extern const u8 gJPText_SelectConnectWithGBA[]; +extern const u8 gJPText_LinkIsIncorrect[]; +extern const u8 gJPText_CardReadingHasBeenHalted[]; +extern const u8 gJPText_Connecting[]; +extern const u8 gJPText_ConnectionErrorCheckLink[]; +extern const u8 gJPText_ConnectionErrorTryAgain[]; +extern const u8 gJPText_AllowEReaderToLoadCard[]; +extern const u8 gJPText_ConnectionComplete[]; +extern const u8 gJPText_NewTrainerHasComeToSevii[]; +extern const u8 gJPText_PleaseWaitAMoment[]; +extern const u8 gJPText_WriteErrorUnableToSaveData[]; + +// pokemon_jump +extern const u8 gText_WantToPlayAgain2[]; +extern const u8 gText_SavingDontTurnOffPower[]; +extern const u8 gText_SomeoneDroppedOut2[]; +extern const u8 gText_CommunicationStandby4[]; +extern const u8 gText_AwesomeWonF701F700[]; +extern const u8 gText_FilledStorageSpace2[]; +extern const u8 gText_CantHoldMore[]; +extern const u8 gText_SpacePoints2[]; +extern const u8 gText_SpaceTimes3[]; +extern const u8 gText_JumpsInARow[]; +extern const u8 gText_BestScore2[]; +extern const u8 gText_ExcellentsInARow[]; +extern const u8 gText_PkmnJumpRecords[]; + +// cable_club +extern const u8 gUnknown_841DF82[]; +extern const u8 gUnknown_841DF8B[]; +extern const u8 gUnknown_841DF92[]; +extern const u8 gUnknown_841DF99[]; +extern const u8 gUnknown_841DFA0[]; + +// berry_crush +extern const u8 gUnknown_841CE3C[]; +extern const u8 gUnknown_841CE78[]; +extern const u8 gUnknown_841CEA8[]; +extern const u8 gUnknown_841CF14[]; +extern const u8 gUnknown_841CF50[]; +extern const u8 gUnknown_841CF70[]; +extern const u8 gUnknown_841CFA0[]; +extern const u8 gUnknown_841CFD4[]; +extern const u8 gUnknown_841D008[]; +extern const u8 gText_1_ClrLtGryShdwBlk_Dynamic0[]; +extern const u8 gText_1_Dynamic0[]; +extern const u8 gText_SpaceTimes[]; +extern const u8 gText_XDotY[]; +extern const u8 gText_StrVar1Berry[]; +extern const u8 gText_TimeColon[]; +extern const u8 gText_PressingSpeed[]; +extern const u8 gText_Silkiness[]; +extern const u8 gText_StrVar1[]; +extern const u8 gText_SpaceMin[]; +extern const u8 gText_XDotY2[]; +extern const u8 gText_SpaceSec[]; +extern const u8 gText_XDotY3[]; +extern const u8 gText_TimesPerSec[]; +extern const u8 gText_Var1Percent[]; +extern const u8 gText_PressesRankings[]; +extern const u8 gText_CrushingResults[]; +extern const u8 gText_BerryCrush2[]; +extern const u8 gText_PressingSpeedRankings[]; +extern const u8 gText_Var1Players[]; +extern const u8 gText_NeatnessRankings[]; +extern const u8 gText_CooperativeRankings[]; +extern const u8 gText_PressingPowerRankings[]; + +// quest log +extern const u8 gText_QuestLog_PreviouslyOnYourQuest[]; +extern const u8 gText_QuestLog_SwitchMon1WithMon2[]; +extern const u8 gText_QuestLog_SwappedHeldItemsOnMon[]; +extern const u8 gText_QuestLog_TookHeldItemFromMon[]; +extern const u8 gText_QuestLog_UsedItemOnMonAtThisLocation[]; +extern const u8 gText_QuestLog_UsedTheItem[]; +extern const u8 gText_QuestLog_UsedTheKeyItem[]; +extern const u8 gText_QuestLog_MonLearnedMoveFromTM[]; +extern const u8 gText_QuestLog_MonReplacedMoveWithTM[]; +extern const u8 gText_QuestLog_MonsWereFullyRestoredAtCenter[]; +extern const u8 gText_QuestLog_PlayerBattledChampionRival[]; +extern const u8 gText_QuestLog_PlayerSentOutMon1RivalSentOutMon2[]; +extern const u8 gText_QuestLog_WonTheMatchAsAResult[]; +extern const u8 gText_QuestLog_StoredItemInPC[]; +extern const u8 gText_QuestLog_WithdrewItemFromPC[]; +extern const u8 gText_QuestLog_TradedMon1ForPersonsMon2[]; +extern const u8 gText_QuestLog_SingleBattleWithPersonResultedInOutcome[]; +extern const u8 gText_QuestLog_DoubleBattleWithPersonResultedInOutcome[]; +extern const u8 gText_QuestLog_MultiBattleWithPeopleResultedInOutcome[]; +extern const u8 gText_QuestLog_Win[]; +extern const u8 gText_QuestLog_Loss[]; +extern const u8 gText_QuestLog_MingledInUnionRoom[]; +extern const u8 gText_QuestLog_DepartedPlaceInTownForNextDestination[]; +extern const u8 gText_QuestLog_SwitchedMonsBetweenBoxes[]; +extern const u8 gText_QuestLog_MovedMonToNewBox[]; +extern const u8 gText_QuestLog_SwitchedMonsWithinBox[]; +extern const u8 gText_QuestLog_MovedMonWithinBox[]; +extern const u8 gText_QuestLog_SwitchedPartyMonForPCMon[]; +extern const u8 gText_QuestLog_WithdrewMonFromPC[]; +extern const u8 gText_QuestLog_DepositedMonInPC[]; +extern const u8 gText_QuestLog_SwitchedMultipleMons[]; +extern const u8 gText_QuestLog_ADifferentSpot[]; +extern const u8 gText_QuestLog_GaveMonHeldItemFromPC[]; +extern const u8 gText_QuestLog_SwappedHeldItemFromPC[]; +extern const u8 gText_QuestLog_ChattedWithManyTrainers[]; +extern const u8 gText_QuestLog_Handily[]; +extern const u8 gText_QuestLog_Tenaciously[]; +extern const u8 gText_QuestLog_Somehow[]; +extern const u8 gText_QuestLog_TradedMon1ForTrainersMon2[]; +extern const u8 gText_QuestLog_BattledTrainerEndedInOutcome[]; +extern const u8 gText_QuestLog_BoughtItem[]; +extern const u8 gText_QuestLog_BoughtItemsIncludingItem[]; +extern const u8 gText_QuestLog_SoldNumOfItem[]; +extern const u8 gText_QuestLog_SoldItemsIncludingItem[]; +extern const u8 gText_QuestLog_JustOne[]; +extern const u8 gText_QuestLog_Num[]; +extern const u8 gText_QuestLog_UsedSoftboiled[]; +extern const u8 gText_QuestLog_UsedMilkDrink[]; +extern const u8 gText_QuestLog_MonLearnedMoveFromHM[]; +extern const u8 gText_QuestLog_MonReplacedMoveWithHM[]; +extern const u8 gText_QuestLog_DefeatedWildMon[]; +extern const u8 gText_QuestLog_DefeatedWildMons[]; +extern const u8 gText_QuestLog_CaughtWildMon[]; +extern const u8 gText_QuestLog_CaughtWildMons[]; +extern const u8 gText_QuestLog_DefeatedWildMonAndCaughtWildMon[]; +extern const u8 gText_QuestLog_DefeatedWildMonAndCaughtWildMons[]; +extern const u8 gText_QuestLog_DefeatedWildMonsAndCaughtWildMon[]; +extern const u8 gText_QuestLog_DefeatedWildMonsAndCaughtWildMons[]; +extern const u8 gText_QuestLog_GaveMonHeldItem[]; +extern const u8 gText_QuestLog_GaveMonHeldItem2[]; +extern const u8 gText_QuestLog_UsedCut[]; +extern const u8 gText_QuestLog_UsedFly[]; +extern const u8 gText_QuestLog_UsedSurf[]; +extern const u8 gText_QuestLog_UsedStrength[]; +extern const u8 gText_QuestLog_UsedFlash[]; +extern const u8 gText_QuestLog_UsedRockSmash[]; +extern const u8 gText_QuestLog_UsedWaterfall[]; +extern const u8 gText_QuestLog_UsedDive[]; +extern const u8 gText_QuestLog_UsedDigInLocation[]; +extern const u8 gText_QuestLog_UsedSweetScent[]; +extern const u8 gText_QuestLog_UsedTeleportToLocation[]; +extern const u8 gText_QuestLog_LeftTownsLocationForNextDestination[]; +extern const u8 gText_QuestLog_PlayedGamesAtGameCorner[]; +extern const u8 gText_QuestLog_RestedAtHome[]; +extern const u8 gText_QuestLog_LeftOaksLab[]; +extern const u8 gText_QuestLog_GymWasFullOfToughTrainers[]; +extern const u8 gText_QuestLog_DepartedGym[]; +extern const u8 gText_QuestLog_HadGreatTimeInSafariZone[]; +extern const u8 gText_QuestLog_ManagedToGetOutOfLocation[]; +extern const u8 gText_QuestLog_TookOnGymLeadersMonWithMonAndWon[]; +extern const u8 gText_QuestLog_TookOnEliteFoursMonWithMonAndWon[]; +extern const u8 gText_QuestLog_TookOnTrainersMonWithMonAndWon[]; +extern const u8 gText_QuestLog_Coolly[]; +extern const u8 gText_QuestLog_Barely[]; +extern const u8 gText_QuestLog_UsedEscapeRope[]; +extern const u8 gText_QuestLog_Draw[]; +extern const u8 gText_QuestLog_DepartedTheLocationForNextDestination[]; +extern const u8 gText_QuestLog_DepartedFromLocationToNextDestination[]; +extern const u8 gText_QuestLog_ObtainedItemInLocation[]; +extern const u8 gText_QuestLog_ArrivedInLocation[]; +extern const u8 gText_QuestLog_SavedGameAtLocation[]; +extern const u8 gText_QuestLog_Home[]; +extern const u8 gText_QuestLog_OakResearchLab[]; +extern const u8 gText_QuestLog_Gym[]; +extern const u8 gText_QuestLog_PokemonLeagueGate[]; +extern const u8 gText_QuestLog_ViridianForest[]; +extern const u8 gText_QuestLog_PewterMuseumOfScience[]; +extern const u8 gText_QuestLog_MtMoon[]; +extern const u8 gText_QuestLog_BikeShop[]; +extern const u8 gText_QuestLog_BillsHouse[]; +extern const u8 gText_QuestLog_DayCare[]; +extern const u8 gText_QuestLog_UndergroundPath[]; +extern const u8 gText_QuestLog_PokemonFanClub[]; +extern const u8 gText_QuestLog_SSAnne[]; +extern const u8 gText_QuestLog_DiglettsCave[]; +extern const u8 gText_QuestLog_RockTunnel[]; +extern const u8 gText_QuestLog_PowerPlant[]; +extern const u8 gText_QuestLog_PokemonTower[]; +extern const u8 gText_QuestLog_VolunteerHouse[]; +extern const u8 gText_QuestLog_NameRatersHouse[]; +extern const u8 gText_QuestLog_CeladonDeptStore[]; +extern const u8 gText_QuestLog_CeladonMansion[]; +extern const u8 gText_QuestLog_RocketGameCorner[]; +extern const u8 gText_QuestLog_Restaurant[]; +extern const u8 gText_QuestLog_RocketHideout[]; +extern const u8 gText_QuestLog_SafariZone[]; +extern const u8 gText_QuestLog_WardensHome[]; +extern const u8 gText_QuestLog_FightingDojo[]; +extern const u8 gText_QuestLog_SilphCo[]; +extern const u8 gText_QuestLog_SeafoamIslands[]; +extern const u8 gText_QuestLog_PokemonMansion[]; +extern const u8 gText_QuestLog_PokemonResearchLab[]; +extern const u8 gText_QuestLog_VictoryRoad[]; +extern const u8 gText_QuestLog_PokemonLeague[]; +extern const u8 gText_QuestLog_CeruleanCave[]; + +// clear_save_data_screen +extern const u8 gUnknown_841B69E[]; +extern const u8 gUnknown_841B6B9[]; + +// easy_chat_2 +extern const u8 gUnknown_84186D1[]; +extern const u8 gUnknown_84186EF[]; +extern const u8 gUnknown_8418706[]; +extern const u8 gUnknown_8418725[]; +extern const u8 gUnknown_8418745[]; +extern const u8 gUnknown_8418763[]; +extern const u8 gUnknown_8418780[]; +extern const u8 gUnknown_841879E[]; +extern const u8 gUnknown_84187B2[]; +extern const u8 gUnknown_84187D1[]; +extern const u8 gUnknown_84187EE[]; +extern const u8 gUnknown_841880E[]; +extern const u8 gUnknown_841881B[]; +extern const u8 gUnknown_841883E[]; +extern const u8 gUnknown_841885F[]; +extern const u8 gUnknown_8418881[]; +extern const u8 gUnknown_841888C[]; +extern const u8 gUnknown_84188AC[]; +extern const u8 gUnknown_84188B9[]; +extern const u8 gUnknown_84188D6[]; +extern const u8 gUnknown_84188F0[]; +extern const u8 gUnknown_8418902[]; +extern const u8 gUnknown_8418937[]; +extern const u8 gUnknown_8418956[]; +extern const u8 gUnknown_84189E0[]; +extern const u8 gUnknown_84189EE[]; +extern const u8 gUnknown_8418A2B[]; +extern const u8 gUnknown_8418A33[]; +extern const u8 gUnknown_8418A4A[]; +extern const u8 gUnknown_8418A61[]; +extern const u8 gUnknown_8418A77[]; +extern const u8 gUnknown_8418A87[]; +extern const u8 gUnknown_8418AA1[]; +extern const u8 gUnknown_8418AB2[]; +extern const u8 gUnknown_841EE2B[]; + +// naming_screen +extern const u8 gText_MoveOkBack[]; +extern const u8 gText_AlphabetUpperLower[]; +extern const u8 gText_YourName[]; +extern const u8 gText_BoxName[]; +extern const u8 gText_PkmnsNickname[]; +extern const u8 gText_RivalsName[]; + #endif //GUARD_STRINGS_H diff --git a/include/task.h b/include/task.h index 7a7a2ff22..0d605b04d 100644 --- a/include/task.h +++ b/include/task.h @@ -3,20 +3,23 @@ #include "global.h" +#define HEAD_SENTINEL 0xFE +#define TAIL_SENTINEL 0xFF + #define NUM_TASKS 16 -#define TASK_NONE 0xFF +#define NUM_TASK_DATA 16 typedef void (*TaskFunc)(u8 taskId); struct Task { - /*0x00*/ TaskFunc func; - /*0x04*/ bool8 isActive; - /*0x05*/ u8 prev; - /*0x06*/ u8 next; - /*0x07*/ u8 priority; - /*0x08*/ s16 data[16]; -}; /*size = 0x28*/ + TaskFunc func; + bool8 isActive; + u8 prev; + u8 next; + u8 priority; + s16 data[NUM_TASK_DATA]; +}; extern struct Task gTasks[]; diff --git a/include/trainer_card.h b/include/trainer_card.h index ed3e803d5..09b9a253a 100644 --- a/include/trainer_card.h +++ b/include/trainer_card.h @@ -1,7 +1,9 @@ #ifndef GUARD_TRAINER_CARD_H #define GUARD_TRAINER_CARD_H -struct TrainerCard +#include "constants/trainer_card.h" + +struct TrainerCardRSE { /*0x00*/ u8 gender; /*0x01*/ u8 stars; @@ -23,19 +25,24 @@ struct TrainerCard /*0x1E*/ u16 pokeblocksWithFriends; /*0x20*/ u16 pokemonTrades; /*0x24*/ u32 money; - /*0x28*/ u16 var_28[4]; + /*0x28*/ u16 easyChatProfile[TRAINER_CARD_PROFILE_LENGTH]; /*0x30*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; +}; + +struct TrainerCard +{ + /*0x00*/ struct TrainerCardRSE rse; /*0x38*/ u8 version; - /*0x3A*/ u16 var_3A; + /*0x3A*/ bool16 hasAllFrontierSymbols; /*0x3C*/ u32 berryCrushPoints; /*0x40*/ u32 unionRoomNum; /*0x44*/ u32 berriesPicked; - /*0x48*/ u32 jumpsInRow; - /*0x4C*/ bool8 var_4C; + /*0x48*/ u32 jumpsInRow; + /*0x4C*/ bool8 shouldDrawStickers; /*0x4D*/ bool8 hasAllMons; - /*0x4E*/ u8 var_4E; - /*0x4F*/ u8 var_4F; - /*0x50*/ u8 var_50[4]; + /*0x4E*/ u8 monIconTint; + /*0x4F*/ u8 facilityClass; + /*0x50*/ u8 stickers[TRAINER_CARD_STICKER_TYPES]; /*0x54*/ u16 monSpecies[PARTY_SIZE]; }; diff --git a/include/trainer_pokemon_sprites.h b/include/trainer_pokemon_sprites.h index 436a791e9..23f6e2cab 100644 --- a/include/trainer_pokemon_sprites.h +++ b/include/trainer_pokemon_sprites.h @@ -3,7 +3,7 @@ #include "global.h" -u16 sub_810C330(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId); +u16 CreateTrainerCardTrainerPicSprite(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId); bool16 ResetAllPicSprites(void); u16 sub_818D3E4(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y, u8 paletteSlot, u16 paletteTag); u16 sub_818D7D8(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag); diff --git a/include/trainer_see.h b/include/trainer_see.h index f0548f650..65d4a9efe 100644 --- a/include/trainer_see.h +++ b/include/trainer_see.h @@ -3,7 +3,12 @@ #include "global.h" -u8 sub_80B47BC(void); -void sub_80824EC(struct ObjectEvent *var); +bool8 CheckForTrainersWantingBattle(void); +void MovementAction_RevealTrainer_RunTrainerSeeFuncList(struct ObjectEvent *var); +u8 FldEff_ExclamationMarkIcon1(void); +u8 FldEff_DoubleExclMarkIcon(void); +u8 FldEff_XIcon(void); +u8 FldEff_SmileyFaceIcon(void); +u8 FldEff_QuestionMarkIcon(void); #endif //GUARD_TRAINER_SEE_H diff --git a/include/trainer_tower.h b/include/trainer_tower.h index 9c1ac0631..72c0f236c 100644 --- a/include/trainer_tower.h +++ b/include/trainer_tower.h @@ -6,7 +6,9 @@ void InitTrainerTowerBattleStruct(void); void FreeTrainerTowerBattleStruct(void); u8 GetTrainerTowerTrainerFrontSpriteId(void); void ResetTrainerTowerResults(void); -void sub_815DA28(u8 *text); -u8 sub_815DA10(void); +void GetTrainerTowerOpponentWinText(u8 *dest, u8 opponentIdx); +void GetTrainerTowerOpponentLoseText(u8 *dest, u8 opponentIdx); +void GetTrainerTowerOpponentName(u8 *text); +u8 GetTrainerTowerOpponentClass(void); #endif //GUARD_TRAINER_TOWER_H diff --git a/include/union_room.h b/include/union_room.h index 7e48b3e6e..d520e8763 100644 --- a/include/union_room.h +++ b/include/union_room.h @@ -4,28 +4,34 @@ #include "global.h" #include "link_rfu.h" -struct UnkStruct_Shared +// Return value of IsRequestedTypeAndSpeciesInPlayerParty +#define UR_TRADE_MATCH 0 +#define UR_TRADE_NOTYPE 1 +#define UR_TRADE_NOEGG 2 + +#define UROOM_MAX_GROUP_COUNT 8 +#define UROOM_MAX_PARTY_SIZE 5 + +struct UnionGnameUnamePair { struct GFtgtGname gname; - u8 ALIGNED(4) playerName[PLAYER_NAME_LENGTH + 1]; + u8 ALIGNED(4) uname[PLAYER_NAME_LENGTH + 1]; }; struct UnkStruct_x1C { - struct UnkStruct_Shared unk0; - u8 unk18:1; + struct UnionGnameUnamePair gname_uname; + u8 active:1; }; struct UnkStruct_x20 { - struct UnkStruct_Shared unk; + struct UnionGnameUnamePair gname_uname; u16 field_18; - u8 field_1A_0:2; - u8 field_1A_1:1; + u8 groupScheduledAnim:2; + bool8 field_1A_1:1; u8 field_1B; - u8 field_1D; - u8 field_1E; - u8 field_1F; + u32 field_1C; // unused }; // These arrays are dynamically allocated but must be @@ -51,17 +57,17 @@ struct UnkStruct_Leader struct UnkStruct_Main0 * field_8; u8 state; u8 textState; - u8 field_E; + u8 delayTimerAfterOk; u8 listWindowId; - u8 field_10; - u8 field_11; + u8 bButtonCancelWindowId; + u8 nPlayerModeWindowId; u8 listTaskId; - u8 field_13; - u8 field_14; + u8 playerCount; + u8 messageWindowId; u8 field_15; u8 field_16; - u8 field_17; - u8 field_18; + u8 listenTaskId; + u8 activity; u8 field_19; u16 field_1A; }; @@ -72,18 +78,18 @@ struct UnkStruct_Group struct UnkStruct_Main4 * field_4; u8 state; u8 textState; - u8 field_A; + u8 field_A; // unused u8 listWindowId; - u8 field_C; - u8 field_D; + u8 bButtonCancelWindowId; + u8 playerNameAndIdWindowId; u8 listTaskId; - u8 field_F; + u8 leaderId; u8 field_10; - u8 field_11; - u8 field_12; - u8 field_13; - u8 field_14; - u8 field_15; + u8 listenTaskId; + u8 cardOrNews; + u8 field_13; // referenced but never set + u8 refreshTimer; + u8 delayBeforePrint; }; struct UnionObj @@ -109,19 +115,21 @@ struct UnkStruct_URoom /* 0x018 */ u8 field_18; /* 0x019 */ u8 field_19; /* 0x01A */ u8 field_1A; - /* 0x01B */ u8 field_1B; - /* 0x01C */ u8 field_1C; - /* 0x01D */ u8 field_1D; - /* 0x01E */ u8 field_1E; + /* 0x01B */ u8 topListMenuWindowId; + /* 0x01C */ u8 topListMenuListMenuId; + /* 0x01D */ u8 tradeBoardSelectWindowId; + /* 0x01E */ u8 tradeBoardDetailsWindowId; /* 0x01F */ u8 field_1F; /* 0x020 */ u8 field_20; /* 0x021 */ u8 spriteIds[40]; /* 0x049 */ u8 field_49; - /* 0x04A */ u8 field_4A; - /* 0x04C */ u16 field_4C[6]; - /* 0x058 */ u8 field_58[4][11]; - /* 0x084 */ u16 field_98; - /* 0x086 */ u16 field_9A[3]; + /* 0x04A */ u8 tradeBoardListMenuId; + + // For communication with potential link partners + /* 0x04C */ u16 playerSendBuffer[6]; + /* 0x058 */ u8 activityRequestStrbufs[4][11]; + /* 0x084 */ u16 partnerYesNoResponse; + /* 0x086 */ u16 recvActivityRequest[3]; // activity[, species, level] /* 0x08C */ struct UnionObj unionObjs[8]; /* 0x0AC */ u8 trainerCardStrbufs[12][15]; /* 0x160 */ u8 field_174[48]; @@ -150,10 +158,11 @@ struct UnionRoomTrade u32 personality; }; -extern struct GFtgtGnameSub gUnknown_203B064; +extern struct GFtgtGnameSub gPartnerTgtGnameSub; extern u16 gUnionRoomOfferedSpecies; extern u8 gUnionRoomRequestedMonType; -void sub_81173C0(u16 battleFlags); +void StartUnionRoomBattle(u16 battleFlags); +u8 UnionRoom_CreateTask_CallCB2ReturnFromLinkTrade(void); #endif //GUARD_UNION_ROOM_H diff --git a/include/union_room_battle.h b/include/union_room_battle.h new file mode 100644 index 000000000..ffccf197f --- /dev/null +++ b/include/union_room_battle.h @@ -0,0 +1,6 @@ +#ifndef GUARD_UNION_ROOM_BATTLE_H +#define GUARD_UNION_ROOM_BATTLE_H + +void CB2_UnionRoomBattle(void); + +#endif //GUARD_UNION_ROOM_BATTLE_H diff --git a/include/union_room_message.h b/include/union_room_message.h index b7de673ba..db24aca15 100644 --- a/include/union_room_message.h +++ b/include/union_room_message.h @@ -3,7 +3,7 @@ #include "global.h" -extern const u8 gUnknown_84571AC[]; +extern const u8 gUnionRoomActivity_Blank[]; extern const u8 gUnknown_84571B0[]; extern const u8 gUnknown_84571B4[]; extern const u8 gUnknown_84571B8[]; @@ -31,8 +31,8 @@ extern const u8 gUnknown_84577BC[]; extern const u8 gUnknown_84577F8[]; extern const u8 *const gUnknown_8457838[]; extern const u8 gUnknown_84578BC[]; -extern const u8 *const gUnknown_8457A34[]; -extern const u8 *const gUnknown_8457B04[][2]; +extern const u8 *const gURText_PleaseWaitMsgs[]; +extern const u8 *const gURText_FriendPromptsForActivity[][2]; extern const u8 *const gUnknown_8457BCC[]; extern const u8 *const gUnknown_8457C20[]; extern const u8 gUnknown_8457C48[]; @@ -46,7 +46,7 @@ extern const u8 gUnknown_8457E44[]; extern const u8 gUnknown_8457E60[]; extern const u8 *const gUnknown_8457F80[][2]; extern const u8 gUnknown_8457F90[]; -extern const u8 *const gUnknown_84580F4[][4]; +extern const u8 *const gResponseToURoomActivityInviteStringPtrs[][4]; extern const u8 *const gUnknown_8458230[][2][3]; extern const u8 *const gUnknown_8458314[]; extern const u8 *const gUnknown_84583B4[]; @@ -63,7 +63,7 @@ extern const u8 *const gUnknown_8458A78[2][4]; extern const u8 gUnknown_8458A98[]; extern const u8 gUnknown_8458AB8[]; extern const u8 gUnknown_8458B44[]; -extern const u8 gUnknown_8458CD4[]; +extern const u8 gURText_PleaseChooseTypeOfMon[]; extern const u8 gUnknown_8458D1C[]; extern const u8 gUnknown_8458D54[]; extern const u8 gUnknown_8458D78[]; @@ -75,7 +75,7 @@ extern const u8 gUnknown_8458E70[]; extern const u8 gUnknown_8458ED0[]; extern const u8 gUnknown_8458F04[]; extern const u8 gUnknown_8458F9C[]; -extern const u8 gUnknown_8458FBC[]; +extern const u8 gText_EggTrade[]; extern const u8 gUnknown_8458FC8[]; extern const u8 gUnknown_8458FE4[]; extern const u8 gUnknown_84591DC[]; @@ -91,20 +91,20 @@ extern const u8 gUnknown_8459360[]; extern const u8 gUnknown_8459368[]; extern const u8 gUnknown_8459370[]; extern const u8 gUnknown_8459378[]; -extern const u8 gUnknown_8459394[]; -extern const u8 gUnknown_84593A4[]; -extern const u8 gUnknown_84593B4[]; -extern const u8 gUnknown_84593C4[]; -extern const u8 gUnknown_84593D4[]; -extern const u8 gUnknown_84593E4[]; -extern const u8 gUnknown_84593F4[]; -extern const u8 gUnknown_84593DC[]; -extern const u8 gUnknown_8459400[]; -extern const u8 gUnknown_8459410[]; -extern const u8 gUnknown_845941C[]; -extern const u8 gUnknown_845942C[]; -extern const u8 gUnknown_8459434[]; -extern const u8 gUnknown_8459440[]; +extern const u8 gUnionRoomActivity_SingleBattle[]; +extern const u8 gUnionRoomActivity_DoubleBattle[]; +extern const u8 gUnionRoomActivity_MultiBattle[]; +extern const u8 gUnionRoomActivity_PokemonTrades[]; +extern const u8 gUnionRoomActivity_Chat[]; +extern const u8 gUnionRoomActivity_WonderCards[]; +extern const u8 gunionRoomActivity_WonderNews[]; +extern const u8 gUnionRoomActivity_Cards[]; +extern const u8 gUnionRoomActivity_PokemonJump[]; +extern const u8 gUnionRoomActivity_BerryCrush[]; +extern const u8 gUnionRoomActivity_BerryPicking[]; +extern const u8 gUnionRoomActivity_Search[]; +extern const u8 gUnionRoomActivity_SpinTradeJP[]; +extern const u8 gUnionRoomActivity_ItemTradeJP[]; extern const u8 *const gUnknown_84594B0[]; extern const u8 gUnknown_84594C4[]; extern const u8 gUnknown_8459504[]; diff --git a/include/unk_810c3a4.h b/include/unk_810c3a4.h deleted file mode 100644 index 11a91b5ef..000000000 --- a/include/unk_810c3a4.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef GUARD_UNK_810C3A4_H -#define GUARD_UNK_810C3A4_H - -#define GET_VS_SEEKER_COUNTER_0() (gSaveBlock1Ptr->trainerRematch.stepCounter & 0xFF) -#define GET_VS_SEEKER_COUNTER_1() (gSaveBlock1Ptr->trainerRematch.stepCounter >> 8) -#define SET_VS_SEEKER_COUNTER_0(x) ({\ - gSaveBlock1Ptr->trainerRematch.stepCounter &= 0xFF00;\ - gSaveBlock1Ptr->trainerRematch.stepCounter |= (x);\ -}) -#define SET_VS_SEEKER_COUNTER_1(x) ({\ - gSaveBlock1Ptr->trainerRematch.stepCounter &= 0x00FF;\ - gSaveBlock1Ptr->trainerRematch.stepCounter |= ((x) << 8);\ -}) -#define INC_VS_SEEKER_COUNTER_0() ({\ - u8 x = GET_VS_SEEKER_COUNTER_0();\ - if (x < 100) gSaveBlock1Ptr->trainerRematch.stepCounter++;\ -}) -#define INC_VS_SEEKER_COUNTER_1() ({\ - u8 x = GET_VS_SEEKER_COUNTER_1();\ - if (x < 100) {x++; SET_VS_SEEKER_COUNTER_1(x);}\ -}) - -void sub_810C604(void); -void sub_810C640(void); - -#endif //GUARD_UNK_810C3A4_H diff --git a/include/unk_815C980.h b/include/unk_815C980.h deleted file mode 100644 index a3249a8e2..000000000 --- a/include/unk_815C980.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef GUARD_UNK_815C980_H -#define GUARD_UNK_815C980_H - -struct UnkStruct3 -{ - u8 field_0_0:2; - u8 shape:2; - u8 size:2; - u8 priority:2; - u8 field_1; - u8 xDelta; - s16 x; - s16 y; - const struct SpriteSheet *spriteSheet; - const struct SpritePalette *spritePal; -}; - -void sub_815C9F4(void); -void sub_815D108(u32 id); -void sub_815D1A8(u32 id, bool32 arg1); -bool32 sub_815CA40(u32 id, s32 arg1, const struct UnkStruct3 *arg2); -void sub_815CD70(u32 id, s32 arg1); - -#endif //GUARD_UNK_815C980_H diff --git a/include/unk_815c27c.h b/include/unk_815c27c.h deleted file mode 100644 index 02c886895..000000000 --- a/include/unk_815c27c.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef GUARD_UNK_815C27C_H -#define GUARD_UNK_815C27C_H - -void EReaderHelper_SerialCallback(void); -void EReaderHelper_Timer3Callback(void); -void EReaderHelper_SaveRegsState(void); -void EReaderHelper_ClearsSendRecvMgr(void); -void EReaderHelper_RestoreRegsState(void); -u16 EReaderHandleTransfer(u8, size_t, const void *, void *); - -#endif //GUARD_UNK_815C27C_H diff --git a/include/vs_seeker.h b/include/vs_seeker.h index fdd6839df..2d88417fa 100644 --- a/include/vs_seeker.h +++ b/include/vs_seeker.h @@ -3,6 +3,9 @@ #include "global.h" +void sub_810C604(void); +void sub_810C640(void); + void Task_VsSeeker_0(u8 taskId); void sub_810CB90(void); void sub_810CDE8(void); diff --git a/include/wild_encounter.h b/include/wild_encounter.h index d0420438a..5d57ddd12 100644 --- a/include/wild_encounter.h +++ b/include/wild_encounter.h @@ -35,7 +35,6 @@ extern const struct WildPokemonHeader gWildMonHeaders[]; void DisableWildEncounters(bool8 disabled); bool8 StandardWildEncounter(u32 currMetaTileBehavior, u16 previousMetaTileBehavior); -void ScrSpecial_RockSmashWildEncounter(void); bool8 SweetScentWildEncounter(void); bool8 DoesCurrentMapHaveFishingMons(void); void FishingWildEncounter(u8 rod); diff --git a/ld_script.txt b/ld_script.txt index 6cf0c0d62..bde78a522 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -63,7 +63,7 @@ SECTIONS { src/main_menu.o(.text); src/battle_controllers.o(.text); src/decompress.o(.text); - asm/battle_bg.o(.text); + src/battle_bg.o(.text); src/battle_main.o(.text); src/battle_util.o(.text); src/battle_script_commands.o(.text); @@ -90,14 +90,13 @@ SECTIONS { asm/overworld.o(.text); src/fieldmap.o(.text); src/metatile_behavior.o(.text); - asm/field_camera.o(.text); + src/field_camera.o(.text); src/field_door.o(.text); asm/field_player_avatar.o(.text); src/event_object_movement.o(.text); asm/event_object_movement.o(.text); - asm/field_ground_effect.o(.text); - asm/event_object_80688E4.o(.text); - asm/field_message_box.o(.text); + src/event_object_80688E4.o(.text); /* event_object_movement */ + src/field_message_box.o(.text); src/event_object_lock.o(.text); src/text_window_graphics.o(.text); src/script.o(.text); @@ -122,28 +121,28 @@ SECTIONS { src/field_fadetransition.o(.text); src/field_screen_effect.o(.text); src/battle_setup.o(.text); - asm/cable_club.o(.text); - asm/trainer_see.o(.text); + src/cable_club.o(.text); + src/trainer_see.o(.text); src/wild_encounter.o(.text); - asm/field_effect.o(.text); + src/field_effect.o(.text); src/scanline_effect.o(.text); src/option_menu.o(.text); src/pokedex.o(.text); src/trainer_card.o(.text); asm/pokemon_storage_system.o(.text); src/pokemon_icon.o(.text); - asm/script_movement.o(.text); - asm/fldeff_cut.o(.text); + src/script_movement.o(.text); + src/fldeff_cut.o(.text); src/mail_data.o(.text); src/map_name_popup.o(.text); src/item_menu_icons.o(.text); src/battle_anim_mon_movement.o(.text); src/item.o(.text); src/shop.o(.text); - src/sea_cottage_special_anim.o(.text); + src/special_field_anim.o(.text); src/berry.o(.text); src/script_menu.o(.text); - asm/naming_screen.o(.text); + src/naming_screen.o(.text); src/money.o(.text); src/script_pokemon_util.o(.text); src/field_poison.o(.text); @@ -185,7 +184,7 @@ SECTIONS { src/battle_ai_script_commands.o(.text); src/fldeff_rocksmash.o(.text); src/fldeff_dig.o(.text); - asm/fldeff_flash.o(.text); + src/fldeff_flash.o(.text); src/post_battle_event_funcs.o(.text); src/prof_pc.o(.text); src/hof_pc.o(.text); @@ -202,7 +201,7 @@ SECTIONS { src/cable_car_util.o(.text); src/save.o(.text); src/mystery_event_script.o(.text); - asm/field_effect_helpers.o(.text); + src/field_effect_helpers.o(.text); src/battle_anim_sound_tasks.o(.text); src/battle_controller_safari.o(.text); src/fldeff_sweetscent.o(.text); @@ -218,7 +217,7 @@ SECTIONS { src/credits.o(.text); src/diploma.o(.text); src/save_failed_screen.o(.text); - asm/clear_save_data_screen.o(.text); + src/clear_save_data_screen.o(.text); src/evolution_graphics.o(.text); src/fldeff_teleport.o(.text); src/new_menu_helpers.o(.text); @@ -227,8 +226,9 @@ SECTIONS { src/map_preview_screen.o(.text); src/link_rfu_2.o(.text); src/link_rfu_3.o(.text); - src/link_rfu.o(.text); - asm/easy_chat_2.o(.text); + src/AgbRfu_LinkManager.o(.text); + src/easy_chat_2.o(.text); + src/easy_chat_3.o(.text); src/pokedex_screen.o(.text); asm/pokedex_screen.o(.text); src/list_menu.o(.text); @@ -271,32 +271,37 @@ SECTIONS { src/mevent_server_helpers.o(.text); src/mevent_client.o(.text); src/mevent_server.o(.text); - src/mevent_8145654.o(.text); + src/mevent_show_card.o(.text); + src/mevent_show_news.o(.text); src/menews_jisan.o(.text); src/seagallop.o(.text); - asm/pokemon_jump.o(.text); - asm/pokemon_jump_2.o(.text); - asm/berry_crush.o(.text); - asm/berry_crush_2.o(.text); - asm/berry_crush_3.o(.text); + src/pokemon_jump.o(.text); + src/pokemon_jump_2.o(.text); + src/pokemon_jump_3.o(.text); + src/pokemon_jump_4.o(.text); + src/pokemon_jump_5.o(.text); + src/pokemon_jump_6.o(.text); + src/berry_crush.o(.text); + src/berry_crush_2.o(.text); + src/berry_crush_3.o(.text); src/wireless_communication_status_screen.o(.text); src/braille_text.o(.text); src/text_window.o(.text); src/quest_log_player.o(.text); - asm/dodrio_berry_picking.o(.text); + src/dodrio_berry_picking.o(.text); + src/dodrio_berry_picking_2.o(.text); src/battle_controller_pokedude.o(.text); src/quest_log_objects.o(.text); - src/dodrio_berry_picking_2.o(.text); - asm/dodrio_berry_picking_2.o(.text); + src/dodrio_berry_picking_3.o(.text); src/teachy_tv.o(.text); src/ereader_helpers.o(.text); - src/unk_815C980.o(.text); + src/digit_obj_util.o(.text); src/ss_anne.o(.text); src/cereader_tool.o(.text); src/renewable_hidden_items.o(.text); src/trainer_tower.o(.text); src/berry_powder.o(.text); - src/unk_815F138.o(.text); + src/minigame_countdown.o(.text); src/berry_fix_program.o(.text); } =0 @@ -323,7 +328,7 @@ SECTIONS { src/agb_flash_mx.o(.text); src/agb_flash_le.o(.text); src/librfu_stwi.o(.text); - asm/librfu_intr.o(.text); + src/librfu_intr.o(.text); src/librfu_rfu.o(.text); src/librfu_sio32id.o(.text); src/isagbprn.o(.text); @@ -397,7 +402,7 @@ SECTIONS { src/link.o(.rodata); src/main_menu.o(.rodata); src/data.o(.rodata); - data/battle_bg.o(.rodata); + src/battle_bg.o(.rodata); src/battle_main.o(.rodata); src/battle_util.o(.rodata); src/battle_script_commands.o(.rodata); @@ -422,8 +427,7 @@ SECTIONS { src/field_door.o(.rodata); data/field_player_avatar.o(.rodata); data/event_object_movement.o(.rodata); - data/field_ground_effect.o(.rodata); - data/event_object_80688E4.o(.rodata); + src/event_object_80688E4.o(.rodata); /* event_object_movement */ src/scrcmd.o(.rodata); src/coord_event_weather.o(.rodata); src/field_tasks.o(.rodata); @@ -439,24 +443,24 @@ SECTIONS { data/field_weather.o(.rodata); src/field_screen_effect.o(.rodata); src/battle_setup.o(.rodata); - data/cable_club.o(.rodata); - data/trainer_see.o(.rodata); + src/cable_club.o(.rodata); + src/trainer_see.o(.rodata); src/wild_encounter.o(.rodata); - data/field_effect.o(.rodata); + src/field_effect.o(.rodata); src/option_menu.o(.rodata); src/trainer_card.o(.rodata); data/pokemon_storage_system.o(.rodata); src/pokemon_icon.o(.rodata); - data/fldeff_cut.o(.rodata); + src/fldeff_cut.o(.rodata); src/map_name_popup.o(.rodata); src/item_menu_icons.o(.rodata); src/battle_anim_mon_movement.o(.rodata); src/item.o(.rodata); src/shop.o(.rodata); - src/sea_cottage_special_anim.o(.rodata); + src/special_field_anim.o(.rodata); src/berry.o(.rodata); src/script_menu.o(.rodata); - data/naming_screen.o(.rodata); + src/naming_screen.o(.rodata); src/pokemon_size_record.o(.rodata); src/item_use.o(.rodata); src/battle_anim_effects_1.o(.rodata); @@ -486,7 +490,7 @@ SECTIONS { src/region_map.o(.rodata); src/image_processing_effects.o(.rodata); src/battle_ai_script_commands.o(.rodata); - data/fldeff_flash.o(.rodata); + src/fldeff_flash.o(.rodata); src/field_specials.o(.rodata); src/battle_records.o(.rodata); src/evolution_scene.o(.rodata); @@ -494,7 +498,7 @@ SECTIONS { src/battle_controller_link_partner.o(.rodata); src/battle_message.o(.rodata); src/save.o(.rodata); - data/field_effect_helpers.o(.rodata); + src/field_effect_helpers.o(.rodata); src/battle_controller_safari.o(.rodata); src/battle_anim_effects_3.o(.rodata); src/learn_move.o(.rodata); @@ -506,16 +510,17 @@ SECTIONS { src/hall_of_fame.o(.rodata); src/credits.o(.rodata); src/diploma.o(.rodata); - data/strings.o(.rodata); + src/strings.o(.rodata); src/save_failed_screen.o(.rodata); - data/clear_save_data_screen.o(.rodata); + src/clear_save_data_screen.o(.rodata); src/evolution_graphics.o(.rodata); src/new_menu_helpers.o(.rodata); src/box_party_pokemon_dropdown.o(.rodata); src/map_preview_screen.o(.rodata); src/link_rfu_2.o(.rodata); src/link_rfu_3.o(.rodata); - data/easy_chat_2.o(.rodata); + src/easy_chat_2.o(.rodata); + src/easy_chat_3.o(.rodata); src/pokedex_screen.o(.rodata); data/pokedex_screen.o(.rodata); src/list_menu.o(.rodata); @@ -559,30 +564,36 @@ SECTIONS { src/mevent_server_helpers.o(.rodata); src/mevent_client.o(.rodata); src/mevent_server.o(.rodata); - src/mevent_8145654.o(.rodata); + src/mevent_show_card.o(.rodata); + src/mevent_show_news.o(.rodata); src/mevent_scripts.o(.rodata); src/menews_jisan.o(.rodata); src/menews_jisan.o(.rodata.str1.4); src/seagallop.o(.rodata); - data/pokemon_jump.o(.rodata); - data/berry_crush.o(.rodata); + src/pokemon_jump.o(.rodata); + src/pokemon_jump_2.o(.rodata); + src/pokemon_jump_4.o(.rodata); + src/pokemon_jump_5.o(.rodata); + src/pokemon_jump_6.o(.rodata); + src/berry_crush_2.o(.rodata); + src/berry_crush_3.o(.rodata); src/wireless_communication_status_screen.o(.rodata); src/braille_text.o(.rodata); src/text_window_graphics.o(.rodata); src/quest_log_player.o(.rodata); - data/berry_powder.o(.rodata); src/dodrio_berry_picking.o(.rodata); + src/dodrio_berry_picking_2.o(.rodata); src/battle_controller_pokedude.o(.rodata); src/teachy_tv.o(.rodata); - src/unk_815C980.o(.rodata); - data/data_8479668.o(.rodata); + src/digit_obj_util.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/minigame_countdown.o(.rodata); src/berry_fix_program.o(.rodata); - data/data_8479668.o(.rodata.after_trainer_tower); + src/keyboard_text.o(.rodata); + data/data_8479668.o(.rodata); /* These should not be moved to C files */ src/mystery_event_msg.o(.rodata); @@ -1008,7 +1019,7 @@ SECTIONS { gfx_data : ALIGN(4) { - data/graphics.o(gfx_data); + src/graphics.o(.rodata); } =0 /* DWARF 2 sections */ diff --git a/src/AgbRfu_LinkManager.c b/src/AgbRfu_LinkManager.c new file mode 100644 index 000000000..e4127ee09 --- /dev/null +++ b/src/AgbRfu_LinkManager.c @@ -0,0 +1,1398 @@ +#include "global.h" +#include "librfu.h" +#include "link_rfu.h" + +#define RN_ACCEPT 0x01 +#define RN_NAME_TIMER_CLEAR 0x02 +#define RN_DISCONNECT 0x04 + +#define LINK_RECOVERY_OFF 0x00 +#define LINK_RECOVERY_START 0x01 +#define LINK_RECOVERY_EXE 0x02 +#define LINK_RECOVERY_IMPOSSIBLE 0x04 + +#define FSP_ON 0x01 +#define FSP_START 0x02 + +LINK_MANAGER lman; + +static void rfu_LMAN_clearVariables(void); +static void rfu_LMAN_settingPCSWITCH(u32 rand); +static void rfu_LMAN_REQ_callback(u16 reqCommandId, u16 reqResult); +static void rfu_LMAN_MSC_callback(u16 reqCommandId); +static void rfu_LMAN_PARENT_checkRecvChildName(void); +static void rfu_LMAN_CHILD_checkSendChildName(void); +static void rfu_LMAN_CHILD_checkSendChildName2(void); +static void rfu_LMAN_CHILD_linkRecoveryProcess(void); +static u8 rfu_LMAN_CHILD_checkEnableParentCandidate(void); +static void rfu_LMAN_occureCallback(u8 msg, u8 param_count); +static void rfu_LMAN_disconnect(u8 bmDisconnectSlot); +static void rfu_LMAN_reflectCommunicationStatus(u8 bm_disconnectedSlot); +static void rfu_LMAN_checkNICommunicateStatus(void); +static void rfu_LMAN_managerChangeAgbClockMaster(void); + +u32 rfu_LMAN_REQBN_softReset_and_checkID(void) +{ + u32 id = rfu_REQBN_softReset_and_checkID(); + if (id == RFU_ID) + lman.RFU_powerOn_flag = 1; + if (lman.state != LMAN_FORCED_STOP_AND_RFU_RESET && lman.state != LMAN_STATE_SOFT_RESET_AND_CHECK_ID) + { + lman.state = lman.next_state = LMAN_STATE_READY; + } + lman.pcswitch_flag = 0; + lman.reserveDisconnectSlot_flag = 0; + lman.acceptCount = 0; + lman.acceptSlot_flag = 0; + lman.parent_child = MODE_NEUTRAL; + rfu_LMAN_managerChangeAgbClockMaster(); + return id; +} + +void rfu_LMAN_REQ_sendData(u8 clockChangeFlag) +{ + if (gRfuLinkStatus->parentChild == MODE_CHILD) + { + if (lman.childClockSlave_flag == RFU_CHILD_CLOCK_SLAVE_ON) + clockChangeFlag = TRUE; + else + clockChangeFlag = FALSE; + } + else + lman.parentAck_flag = 0; + rfu_REQ_sendData(clockChangeFlag); +} + +u8 rfu_LMAN_initializeManager(void (*LMAN_callback_p)(u8, u8), void (*MSC_callback_p)(u16)) +{ + if (LMAN_callback_p == NULL) + { + return LMAN_ERROR_ILLEGAL_PARAMETER; + } + CpuFill16(0, &lman, sizeof(struct linkManagerTag)); + lman.parent_child = MODE_NEUTRAL; + lman.LMAN_callback = LMAN_callback_p; + lman.MSC_callback = MSC_callback_p; + rfu_setMSCCallback(rfu_LMAN_MSC_callback); + rfu_setREQCallback(rfu_LMAN_REQ_callback); + return 0; +} + +static void rfu_LMAN_endManager(void) +{ + CpuFill16(0, &lman, sizeof(struct linkManagerTag) - 8); + lman.parent_child = MODE_NEUTRAL; +} + +void rfu_LMAN_initializeRFU(INIT_PARAM *init_parameters) +{ + rfu_LMAN_clearVariables(); + lman.state = LMAN_STATE_SOFT_RESET_AND_CHECK_ID; + lman.next_state = LMAN_STATE_RESET; + lman.init_param = init_parameters; + lman.linkRecovery_enable = init_parameters->linkRecovery_enable; + lman.linkRecoveryTimer.count_max = init_parameters->linkRecovery_period; + lman.NI_failCounter_limit = init_parameters->NI_failCounter_limit; + if (init_parameters->fastSearchParent_flag) + { + lman.fastSearchParent_flag = FSP_ON; + } +} + +static void rfu_LMAN_clearVariables(void) +{ + u8 i; + + lman.state = lman.next_state = LMAN_STATE_READY; + lman.parent_child = MODE_NEUTRAL; + lman.pcswitch_flag = 0; + lman.child_slot = 0; + lman.connectSlot_flag_old = 0; + lman.nameAcceptTimer.active = 0; + lman.linkRecoveryTimer.active = 0; + for (i = 0; i < RFU_CHILD_MAX; i++) + { + lman.nameAcceptTimer.count[i] = 0; + lman.linkRecoveryTimer.count[i] = 0; + } +} + +void rfu_LMAN_powerDownRFU(void) +{ + lman.state = LMAN_STATE_STOP_MODE; +} + +u8 rfu_LMAN_establishConnection(u8 parent_child, u16 connect_period, u16 name_accept_period, u16 *acceptable_serialNo_list) +{ + u8 i; + u16 *serial_list; + + if (lman.state != LMAN_STATE_READY && (lman.state != LMAN_STATE_WAIT_RECV_CHILD_NAME || parent_child != MODE_PARENT)) + { + lman.param[0] = 1; + rfu_LMAN_occureCallback(LMAN_MSG_LMAN_API_ERROR_RETURN, 1); + return LMAN_ERROR_MANAGER_BUSY; + } + if (rfu_getMasterSlave() == AGB_CLK_SLAVE) + { + lman.param[0] = 2; + rfu_LMAN_occureCallback(LMAN_MSG_LMAN_API_ERROR_RETURN, 1); + return LMAN_ERROR_AGB_CLK_SLAVE; + } + for (i = 0, serial_list = acceptable_serialNo_list; i < 16; i++) + { + if (*serial_list++ == 0xFFFF) + { + break; + } + } + if (i == 16) + { + lman.param[0] = 4; + rfu_LMAN_occureCallback(LMAN_MSG_LMAN_API_ERROR_RETURN, 1); + return LMAN_ERROR_ILLEGAL_PARAMETER; + } + if (parent_child > MODE_PARENT) + { + lman.pcswitch_flag = PCSWITCH_1ST_SC_START; + parent_child = MODE_PARENT; + connect_period = 0; + } + else + { + lman.pcswitch_flag = 0; + } + if (parent_child != MODE_CHILD) + { + lman.state = LMAN_STATE_START_SEARCH_CHILD; + } + else + { + lman.state = LMAN_STATE_START_SEARCH_PARENT; + if (lman.fastSearchParent_flag) + { + lman.fastSearchParent_flag = FSP_START; + } + } + lman.parent_child = parent_child; + lman.connect_period = connect_period; + lman.nameAcceptTimer.count_max = name_accept_period; + lman.acceptable_serialNo_list = acceptable_serialNo_list; + return 0; +} + +u8 rfu_LMAN_CHILD_connectParent(u16 parentId, u16 connect_period) +{ + u8 i; + + if (lman.state != LMAN_STATE_READY && (lman.state < 9 || lman.state > 11)) + { + lman.param[0] = 1; + rfu_LMAN_occureCallback(LMAN_MSG_LMAN_API_ERROR_RETURN, 1); + return LMAN_ERROR_MANAGER_BUSY; + } + if (rfu_getMasterSlave() == AGB_CLK_SLAVE) + { + lman.param[0] = 2; + rfu_LMAN_occureCallback(LMAN_MSG_LMAN_API_ERROR_RETURN, 1); + return LMAN_ERROR_AGB_CLK_SLAVE; + } + for (i = 0; i < gRfuLinkStatus->findParentCount; i++) + { + if (gRfuLinkStatus->partner[i].id == parentId) + { + break; + } + } + if (gRfuLinkStatus->findParentCount == 0 || i == gRfuLinkStatus->findParentCount) + { + lman.param[0] = 3; + rfu_LMAN_occureCallback(LMAN_MSG_LMAN_API_ERROR_RETURN, 1); + return LMAN_ERROR_PID_NOT_FOUND; + } + if (lman.state == LMAN_STATE_READY || lman.state == LMAN_STATE_START_SEARCH_PARENT) + { + lman.state = LMAN_STATE_START_CONNECT_PARENT; + lman.next_state = LMAN_STATE_POLL_CONNECT_PARENT; + } + else + { + lman.state = LMAN_STATE_END_SEARCH_PARENT; + lman.next_state = LMAN_STATE_START_CONNECT_PARENT; + } + lman.work = parentId; + lman.connect_period = connect_period; + if (lman.pcswitch_flag != 0) + { + lman.pcswitch_flag = PCSWITCH_CP; + } + return 0; +} + +static void rfu_LMAN_PARENT_stopWaitLinkRecoveryAndDisconnect(u8 bm_targetSlot) +{ + u8 i; + + if ((bm_targetSlot & lman.linkRecoveryTimer.active) == 0) + return; + lman.linkRecoveryTimer.active &= ~bm_targetSlot; + for (i = 0; i < RFU_CHILD_MAX; i++) + { + if ((bm_targetSlot >> i) & 1) + { + lman.linkRecoveryTimer.count[i] = 0; + } + } + i = gRfuLinkStatus->linkLossSlotFlag & bm_targetSlot; + if (i) + { + rfu_LMAN_disconnect(i); + } + lman.param[0] = i; + rfu_LMAN_occureCallback(LMAN_MSG_LINK_RECOVERY_FAILED_AND_DISCONNECTED, i); +} + +void rfu_LMAN_stopManager(u8 forced_stop_and_RFU_reset_flag) +{ + u8 msg = 0; + lman.pcswitch_flag = 0; + if (forced_stop_and_RFU_reset_flag) + { + rfu_LMAN_clearVariables(); + lman.state = LMAN_FORCED_STOP_AND_RFU_RESET; + return; + } + switch (lman.state) + { + case LMAN_STATE_START_SEARCH_CHILD: + lman.state = LMAN_STATE_WAIT_RECV_CHILD_NAME; + lman.next_state = LMAN_STATE_READY; + msg = LMAN_MSG_SEARCH_CHILD_PERIOD_EXPIRED; + break; + case LMAN_STATE_POLL_SEARCH_CHILD: + lman.state = LMAN_STATE_END_SEARCH_CHILD; + lman.next_state = LMAN_STATE_WAIT_RECV_CHILD_NAME; + break; + case LMAN_STATE_END_SEARCH_CHILD: + lman.state = LMAN_STATE_END_SEARCH_CHILD; + lman.next_state = LMAN_STATE_WAIT_RECV_CHILD_NAME; + break; + case LMAN_STATE_WAIT_RECV_CHILD_NAME: + break; + case LMAN_STATE_START_SEARCH_PARENT: + lman.state = lman.next_state = LMAN_STATE_READY; + msg = LMAN_MSG_SEARCH_PARENT_PERIOD_EXPIRED; + break; + case LMAN_STATE_POLL_SEARCH_PARENT: + lman.state = LMAN_STATE_END_SEARCH_PARENT; + lman.next_state = LMAN_STATE_READY; + break; + case LMAN_STATE_END_SEARCH_PARENT: + lman.state = LMAN_STATE_END_SEARCH_PARENT; + lman.next_state = LMAN_STATE_READY; + break; + case LMAN_STATE_START_CONNECT_PARENT: + lman.state = lman.next_state = LMAN_STATE_READY; + msg = LMAN_MSG_CONNECT_PARENT_FAILED; + break; + case LMAN_STATE_POLL_CONNECT_PARENT: + lman.state = LMAN_STATE_END_CONNECT_PARENT; + break; + case LMAN_STATE_END_CONNECT_PARENT: + lman.state = LMAN_STATE_END_CONNECT_PARENT; + break; + case LMAN_STATE_SEND_CHILD_NAME: + break; + case LMAN_STATE_START_LINK_RECOVERY: + lman.state = lman.state_bak[0]; + lman.next_state = lman.state_bak[1]; + rfu_LMAN_disconnect(gRfuLinkStatus->linkLossSlotFlag); + lman.param[0] = gRfuLinkStatus->linkLossSlotFlag; + rfu_LMAN_occureCallback(LMAN_MSG_LINK_RECOVERY_FAILED_AND_DISCONNECTED, 1); + return; + case LMAN_STATE_POLL_LINK_RECOVERY: + lman.state = LMAN_STATE_END_LINK_RECOVERY; + break; + case LMAN_STATE_END_LINK_RECOVERY: + lman.state = LMAN_STATE_END_LINK_RECOVERY; + break; + default: + lman.state = lman.next_state = LMAN_STATE_READY; + msg = LMAN_MSG_MANAGER_STOPPED; + break; + } + if (lman.state == LMAN_STATE_READY) + { + rfu_LMAN_occureCallback(msg, 0); + } +} + +static bool8 rfu_LMAN_linkWatcher(u16 REQ_commandID) +{ + u8 i; + u8 bm_linkLossSlot; + u8 reason; + u8 bm_linkRecoverySlot; + u8 bm_disconnectSlot; + + bool8 disconnect_occure_flag = FALSE; + rfu_REQBN_watchLink(REQ_commandID, &bm_linkLossSlot, &reason, &bm_linkRecoverySlot); + if (bm_linkLossSlot) + { + lman.param[0] = bm_linkLossSlot; + lman.param[1] = reason; + if (lman.linkRecovery_enable) + { + lman.linkRecovery_start_flag = LINK_RECOVERY_START; + if (lman.parent_child == MODE_CHILD && reason == REASON_DISCONNECTED) + { + lman.linkRecovery_start_flag = LINK_RECOVERY_IMPOSSIBLE; + } + if (lman.linkRecovery_start_flag == LINK_RECOVERY_START) + { + for (i = 0; i < RFU_CHILD_MAX; i++) + { + if ((bm_linkLossSlot >> i) & 1) + { + lman.linkRecoveryTimer.active |= (1 << i); + lman.linkRecoveryTimer.count[i] = lman.linkRecoveryTimer.count_max; + } + } + rfu_LMAN_occureCallback(LMAN_MSG_LINK_LOSS_DETECTED_AND_START_RECOVERY, 1); + } + else + { + lman.linkRecovery_start_flag = 0; + rfu_LMAN_disconnect(bm_linkLossSlot); + disconnect_occure_flag = TRUE; + rfu_LMAN_occureCallback(LMAN_MSG_LINK_RECOVERY_FAILED_AND_DISCONNECTED, 1); + } + } + else + { + rfu_LMAN_disconnect(bm_linkLossSlot); + disconnect_occure_flag = TRUE; + rfu_LMAN_occureCallback(LMAN_MSG_LINK_LOSS_DETECTED_AND_DISCONNECTED, 2); + } + rfu_LMAN_managerChangeAgbClockMaster(); + } + if (gRfuLinkStatus->parentChild == MODE_PARENT) + { + if (bm_linkRecoverySlot) + { + for (i = 0; i < RFU_CHILD_MAX; i++) + { + if ((lman.linkRecoveryTimer.active >> i) & 1 && (bm_linkRecoverySlot >> i) & 1) + { + lman.linkRecoveryTimer.count[i] = 0; + } + } + lman.linkRecoveryTimer.active &= ~bm_linkRecoverySlot; + lman.param[0] = bm_linkRecoverySlot; + rfu_LMAN_occureCallback(LMAN_MSG_LINK_RECOVERY_SUCCESSED, 1); + } + if (lman.linkRecoveryTimer.active) + { + bm_disconnectSlot = 0; + for (i = 0; i < RFU_CHILD_MAX; i++) + { + if ((lman.linkRecoveryTimer.active >> i) & 1 && lman.linkRecoveryTimer.count[i] && --lman.linkRecoveryTimer.count[i] == 0) + { + lman.linkRecoveryTimer.active &= ~(1 << i); + bm_disconnectSlot |= (1 << i); + } + } + if (bm_disconnectSlot) + { + rfu_LMAN_disconnect(bm_disconnectSlot); + disconnect_occure_flag = TRUE; + lman.param[0] = bm_disconnectSlot; + rfu_LMAN_occureCallback(LMAN_MSG_LINK_RECOVERY_FAILED_AND_DISCONNECTED, 1); + } + } + if (!lman.linkRecoveryTimer.active) + { + lman.linkRecovery_start_flag = 0; + } + } + return disconnect_occure_flag; +} + +void rfu_LMAN_syncVBlank(void) +{ + if (rfu_syncVBlank()) + { + rfu_LMAN_occureCallback(LMAN_MSG_WATCH_DOG_TIMER_ERROR, 0); + rfu_LMAN_managerChangeAgbClockMaster(); + } +} + +void rfu_LMAN_manager_entity(u32 rand) +{ + u8 msg; + + if (lman.LMAN_callback == NULL && lman.state != LMAN_STATE_READY) + { + lman.state = LMAN_STATE_READY; + return; + } + if (lman.pcswitch_flag) + { + rfu_LMAN_settingPCSWITCH(rand); + } + while (1) + { + if (lman.state != LMAN_STATE_READY) + { + rfu_waitREQComplete(); + lman.active = 1; + switch (lman.state) + { + case LMAN_FORCED_STOP_AND_RFU_RESET: + if (rfu_LMAN_REQBN_softReset_and_checkID() == RFU_ID) + { + msg=LMAN_MSG_MANAGER_FORCED_STOPPED_AND_RFU_RESET; + } + else + { + msg=LMAN_MSG_RFU_FATAL_ERROR; + } + lman.state = lman.next_state = LMAN_STATE_READY; + rfu_LMAN_occureCallback(msg, 0); + break; + case LMAN_STATE_SOFT_RESET_AND_CHECK_ID: + if (rfu_LMAN_REQBN_softReset_and_checkID() == RFU_ID) + { + lman.state = lman.next_state; + lman.next_state = LMAN_STATE_CONFIG_SYSTEM; + } + else + { + lman.state = lman.next_state = LMAN_STATE_READY; + rfu_LMAN_occureCallback(LMAN_MSG_RFU_FATAL_ERROR, 0); + } + break; + case LMAN_STATE_RESET: + rfu_REQ_reset(); + break; + case LMAN_STATE_CONFIG_SYSTEM: + rfu_REQ_configSystem(lman.init_param->availSlot_flag, lman.init_param->maxMFrame, lman.init_param->MC_TimerCount); + break; + case LMAN_STATE_CONFIG_GAME_DATA: + rfu_REQ_configGameData(lman.init_param->mboot_flag, lman.init_param->serialNo, (const u8 *)lman.init_param->gameName, lman.init_param->userName); + break; + case LMAN_STATE_START_SEARCH_CHILD: + rfu_REQ_startSearchChild(); + break; + case LMAN_STATE_POLL_SEARCH_CHILD: + rfu_REQ_pollSearchChild(); + break; + case LMAN_STATE_END_SEARCH_CHILD: + rfu_REQ_endSearchChild(); + break; + case LMAN_STATE_WAIT_RECV_CHILD_NAME: + break; + case LMAN_STATE_START_SEARCH_PARENT: + rfu_REQ_startSearchParent(); + break; + case LMAN_STATE_POLL_SEARCH_PARENT: + rfu_REQ_pollSearchParent(); + break; + case LMAN_STATE_END_SEARCH_PARENT: + rfu_REQ_endSearchParent(); + break; + case LMAN_STATE_START_CONNECT_PARENT: + rfu_REQ_startConnectParent(lman.work); + break; + case LMAN_STATE_POLL_CONNECT_PARENT: + rfu_REQ_pollConnectParent(); + break; + case LMAN_STATE_END_CONNECT_PARENT: + rfu_REQ_endConnectParent(); + break; + case LMAN_STATE_SEND_CHILD_NAME: + break; + case LMAN_STATE_START_LINK_RECOVERY: + rfu_REQ_CHILD_startConnectRecovery(gRfuLinkStatus->linkLossSlotFlag); + break; + case LMAN_STATE_POLL_LINK_RECOVERY: + rfu_REQ_CHILD_pollConnectRecovery(); + break; + case LMAN_STATE_END_LINK_RECOVERY: + rfu_REQ_CHILD_endConnectRecovery(); + break; + case LMAN_STATE_MS_CHANGE: + rfu_REQ_changeMasterSlave(); + break; + case LMAN_STATE_WAIT_CLOCK_MASTER: + break; + case LMAN_STATE_STOP_MODE: + rfu_REQ_stopMode(); + break; + case LMAN_STATE_BACK_STATE: + break; + default: + break; + } + rfu_waitREQComplete(); + lman.active = 0; + } + if (lman.state == LMAN_STATE_END_LINK_RECOVERY || lman.state == LMAN_STATE_MS_CHANGE) + ; + else + break; + } + if (gRfuLinkStatus->parentChild == MODE_PARENT) + { + if (rfu_LMAN_linkWatcher(0)) + return; + } + rfu_LMAN_PARENT_checkRecvChildName(); + rfu_LMAN_CHILD_checkSendChildName(); + rfu_LMAN_CHILD_linkRecoveryProcess(); + rfu_LMAN_checkNICommunicateStatus(); +} + +static void rfu_LMAN_settingPCSWITCH(u32 rand) +{ + if (lman.pcswitch_flag == PCSWITCH_3RD_SC_START) + { + lman.parent_child = MODE_PARENT; + lman.state = LMAN_STATE_START_SEARCH_CHILD; + lman.connect_period = lman.pcswitch_period_bak; + if (lman.connect_period) + { + lman.pcswitch_flag = PCSWITCH_3RD_SC; + } + else + { + lman.pcswitch_flag = PCSWITCH_1ST_SC_START; + } + } + if (lman.pcswitch_flag == PCSWITCH_1ST_SC_START) + { + lman.parent_child = MODE_PARENT; + lman.state = LMAN_STATE_START_SEARCH_CHILD; + lman.connect_period = rand % 140; + lman.pcswitch_period_bak = 140 - lman.connect_period; + if (lman.connect_period) + { + lman.pcswitch_flag = PCSWITCH_1ST_SC; + } + else + { + lman.pcswitch_flag = PCSWITCH_2ND_SP_START; + } + } + if (lman.pcswitch_flag == PCSWITCH_2ND_SP_START) + { + lman.parent_child = MODE_CHILD; + lman.connect_period = PCSWITCH_SP_PERIOD; + lman.pcswitch_flag = PCSWITCH_2ND_SP; + lman.state = LMAN_STATE_START_SEARCH_PARENT; + } +} + +static void rfu_LMAN_REQ_callback(u16 reqCommandId, u16 reqResult) +{ + u8 status; + u8 *stwiRecvBuffer; + u8 i; + + if (lman.active != 0) + { + lman.active = 0; + switch (reqCommandId) + { + case ID_RESET_REQ: + if (reqResult == 0) + { + lman.state = lman.next_state; + lman.next_state = LMAN_STATE_CONFIG_GAME_DATA; + } + break; + case ID_SYSTEM_CONFIG_REQ: + if (reqResult == 0) + { + lman.state = lman.next_state; + lman.next_state = LMAN_STATE_READY; + } + break; + case ID_GAME_CONFIG_REQ: + if (reqResult == 0) + { + lman.state = lman.next_state = LMAN_STATE_READY; + rfu_LMAN_occureCallback(LMAN_MSG_INITIALIZE_COMPLETED, 0); + } + break; + case ID_SC_START_REQ: + if (reqResult == 0) + { + lman.state = lman.next_state = LMAN_STATE_POLL_SEARCH_CHILD; + } + break; + case ID_SC_POLL_REQ: + if (lman.connect_period && --lman.connect_period == 0) + { + lman.state = LMAN_STATE_END_SEARCH_CHILD; + lman.next_state = LMAN_STATE_WAIT_RECV_CHILD_NAME; + } + break; + case ID_SC_END_REQ: + if (reqResult == 0) + { + lman.state = lman.next_state; + lman.next_state = LMAN_STATE_READY; + if (lman.pcswitch_flag == 0) + { + rfu_LMAN_occureCallback(LMAN_MSG_SEARCH_CHILD_PERIOD_EXPIRED, 0); + } + } + break; + case ID_SP_START_REQ: + if (reqResult == 0) + { + if (lman.fastSearchParent_flag == FSP_ON) + { + if (lman.connect_period > 1) + { + lman.connect_period--; + } + } + lman.state = lman.next_state = LMAN_STATE_POLL_SEARCH_PARENT; + } + break; + case ID_SP_POLL_REQ: + if (reqResult == 0) + { + status = rfu_LMAN_CHILD_checkEnableParentCandidate(); + lman.param[0] = status; + if (status) + { + rfu_LMAN_occureCallback(LMAN_MSG_PARENT_FOUND, 1); + } + if (lman.fastSearchParent_flag && lman.connect_period != 1 && gRfuLinkStatus->findParentCount == RFU_CHILD_MAX) + { + rfu_REQ_endSearchParent(); + rfu_waitREQComplete(); + lman.state = LMAN_STATE_START_SEARCH_PARENT; + lman.fastSearchParent_flag = FSP_ON; + } + } + if (lman.connect_period && --lman.connect_period == 0) + { + lman.state = LMAN_STATE_END_SEARCH_PARENT; + lman.next_state = LMAN_STATE_READY; + } + break; + case ID_SP_END_REQ: + if (reqResult == 0) + { + lman.state = lman.next_state; + if (lman.pcswitch_flag == 0) + { + if (lman.state == LMAN_STATE_READY) + { + rfu_LMAN_occureCallback(LMAN_MSG_SEARCH_PARENT_PERIOD_EXPIRED, 0); + } + } + else if (lman.pcswitch_flag != PCSWITCH_CP) + { + lman.state = LMAN_STATE_START_SEARCH_CHILD; + lman.pcswitch_flag = PCSWITCH_3RD_SC_START; + } + } + break; + case ID_CP_START_REQ: + if (reqResult == 0) + { + lman.state = lman.next_state = LMAN_STATE_POLL_CONNECT_PARENT; + } + break; + case ID_CP_POLL_REQ: + if (reqResult == 0 && !rfu_getConnectParentStatus(&status, &lman.child_slot) && !status) + { + lman.state = LMAN_STATE_END_CONNECT_PARENT; + } + if (lman.connect_period && --lman.connect_period == 0) + { + lman.state = LMAN_STATE_END_CONNECT_PARENT; + } + break; + case ID_CP_END_REQ: + if (reqResult == 0 && !rfu_getConnectParentStatus(&status, &lman.child_slot)) + { + if (!status) + { + lman.state = LMAN_STATE_MS_CHANGE; + lman.next_state = LMAN_STATE_SEND_CHILD_NAME; + lman.work = 0x22; + lman.param[0] = lman.child_slot; + } + else + { + lman.state = lman.next_state = LMAN_STATE_READY; + lman.work = 0x23; + lman.param[0] = status; + if (lman.pcswitch_flag) + { + lman.pcswitch_flag = PCSWITCH_2ND_SP_START; + lman.state = LMAN_STATE_START_SEARCH_PARENT; + } + } + rfu_LMAN_occureCallback(lman.work, 0x01); + lman.work = 0; + } + break; + case ID_CPR_START_REQ: + if (reqResult == 0) + { + lman.param[0] = gRfuLinkStatus->linkLossSlotFlag; + lman.state = lman.next_state = LMAN_STATE_POLL_LINK_RECOVERY; + for (lman.child_slot = 0; lman.child_slot < RFU_CHILD_MAX; lman.child_slot++) + { + if ((gRfuLinkStatus->linkLossSlotFlag >> lman.child_slot) & 1) + { + break; + } + } + } + break; + case ID_CPR_POLL_REQ: + if (reqResult == 0 && !rfu_CHILD_getConnectRecoveryStatus(&status) && status < 2) + { + lman.state = LMAN_STATE_END_LINK_RECOVERY; + } + if (lman.linkRecoveryTimer.count[lman.child_slot] && --lman.linkRecoveryTimer.count[lman.child_slot] == 0) + { + lman.state = LMAN_STATE_END_LINK_RECOVERY; + } + break; + case ID_CPR_END_REQ: + if (reqResult == 0 && !rfu_CHILD_getConnectRecoveryStatus(&status)) + { + if (!status) + { + lman.state = LMAN_STATE_MS_CHANGE; + lman.next_state = LMAN_STATE_BACK_STATE; + lman.work = 0x32; + } + else + { + lman.state = lman.next_state = LMAN_STATE_READY; + rfu_LMAN_disconnect(gRfuLinkStatus->linkLossSlotFlag); + lman.work = 0x33; + } + lman.linkRecoveryTimer.count[lman.child_slot] = 0; + lman.linkRecoveryTimer.active = 0; + lman.linkRecovery_start_flag = 0; + rfu_LMAN_occureCallback(lman.work, 0x01); + lman.work = 0; + } + break; + case ID_MS_CHANGE_REQ: + if (reqResult == 0) + { + if (lman.next_state == LMAN_STATE_BACK_STATE) + { + lman.state = lman.state_bak[0]; + lman.next_state = lman.state_bak[1]; + lman.childClockSlave_flag = RFU_CHILD_CLOCK_SLAVE_ON; + rfu_LMAN_occureCallback(LMAN_MSG_CHANGE_AGB_CLOCK_SLAVE, 0); + } + else if (lman.next_state == LMAN_STATE_SEND_CHILD_NAME) + { + lman.state = lman.next_state; + lman.childClockSlave_flag = RFU_CHILD_CLOCK_SLAVE_ON; + rfu_LMAN_occureCallback(LMAN_MSG_CHANGE_AGB_CLOCK_SLAVE, 0); + lman.nameAcceptTimer.active |= 1 << lman.child_slot; + lman.nameAcceptTimer.count[lman.child_slot] = lman.nameAcceptTimer.count_max; + rfu_clearSlot(TYPE_NI_SEND, lman.child_slot); + status = rfu_NI_CHILD_setSendGameName(lman.child_slot, 0x0e); + if (status) + { + lman.state = lman.next_state = LMAN_STATE_READY; + rfu_LMAN_managerChangeAgbClockMaster(); + rfu_LMAN_disconnect(gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag); + lman.param[0] = status; + rfu_LMAN_occureCallback(LMAN_MSG_CHILD_NAME_SEND_FAILED_AND_DISCONNECTED, 1); + } + } + } + break; + case ID_STOP_MODE_REQ: + if (reqResult == 0) + { + lman.state = lman.next_state = LMAN_STATE_READY; + rfu_LMAN_occureCallback(LMAN_MSG_RFU_POWER_DOWN, 0); + } + break; + } + lman.active = 1; + } + else if (reqResult == 3 && lman.msc_exe_flag && (reqCommandId == ID_DATA_TX_REQ || reqCommandId == ID_DATA_RX_REQ || reqCommandId == ID_MS_CHANGE_REQ)) + { + rfu_REQ_RFUStatus(); + rfu_waitREQComplete(); + rfu_getRFUStatus(&status); + if (status == 0 && gRfuLinkStatus->parentChild == MODE_CHILD) + { + stwiRecvBuffer = rfu_getSTWIRecvBuffer() + 4; + *stwiRecvBuffer++ = gRfuLinkStatus->connSlotFlag; + *stwiRecvBuffer = REASON_LINK_LOSS; + rfu_LMAN_linkWatcher(ID_DISCONNECTED_AND_CHANGE_REQ); + reqResult = 0; + } + } + switch (reqCommandId) + { + case ID_DISCONNECT_REQ: + if (reqResult == 0) + { + lman.param[0] = *(rfu_getSTWIRecvBuffer() + 8); + rfu_LMAN_reflectCommunicationStatus(lman.param[0]); + if (lman.linkRecoveryTimer.active) + { + lman.linkRecoveryTimer.active &= ~lman.param[0]; + for (i = 0; i < RFU_CHILD_MAX; i++) + { + if ((lman.param[0] >> i) & 1) + { + lman.linkRecoveryTimer.count[i] = 0; + } + } + if (lman.parent_child == MODE_CHILD) + { + lman.state = lman.next_state = LMAN_STATE_READY; + } + } + status = lman.acceptSlot_flag & lman.param[0]; + for (i = 0; i < RFU_CHILD_MAX; i++) + { + if ((status >> i) & 1 && lman.acceptCount) + { + lman.acceptCount--; + } + } + lman.acceptSlot_flag &= ~lman.param[0]; + if (lman.pcswitch_flag) + { + if (gRfuLinkStatus->parentChild == MODE_NEUTRAL) + { + if (lman.pcswitch_flag == PCSWITCH_SC_LOCK) + { + lman.connect_period = lman.pcswitch_period_bak; + lman.pcswitch_flag = PCSWITCH_3RD_SC; + lman.state = LMAN_STATE_POLL_SEARCH_CHILD; + } + else if (lman.state != LMAN_STATE_POLL_SEARCH_CHILD && lman.state != LMAN_STATE_END_SEARCH_CHILD) + { + lman.pcswitch_flag = PCSWITCH_1ST_SC_START; + lman.state = LMAN_STATE_START_SEARCH_CHILD; + } + } + } + if (gRfuLinkStatus->parentChild == MODE_NEUTRAL) + { + if (lman.state == LMAN_STATE_READY) + { + lman.parent_child = MODE_NEUTRAL; + } + } + if (lman.active == 0) + { + rfu_LMAN_occureCallback(LMAN_MSG_LINK_DISCONNECTED_BY_USER, 1); + } + } + break; + case ID_DATA_RX_REQ: + rfu_LMAN_CHILD_checkSendChildName2(); + if (gRfuLinkStatus->parentChild != MODE_NEUTRAL) + { + rfu_LMAN_occureCallback(LMAN_MSG_RECV_DATA_REQ_COMPLETED, 0); + } + break; + case ID_RESET_REQ: + case ID_STOP_MODE_REQ: + if (reqResult == 0) + { + lman.reserveDisconnectSlot_flag = 0; + lman.acceptCount = 0; + lman.acceptSlot_flag = 0;; + lman.parent_child = MODE_NEUTRAL; + rfu_LMAN_managerChangeAgbClockMaster(); + if (reqCommandId == ID_STOP_MODE_REQ) + { + rfu_LMAN_endManager(); + } + } + break; + } + if (reqResult != 0) + { + if (reqCommandId == ID_SP_START_REQ && reqResult != 0 && lman.pcswitch_flag == PCSWITCH_2ND_SP) + { + gRfuLinkStatus->parentChild = MODE_PARENT; + gRfuLinkStatus->connSlotFlag = 0xF; + rfu_LMAN_disconnect(15); + rfu_waitREQComplete(); + return; + } + else + { + lman.param[0] = reqCommandId; + lman.param[1] = reqResult; + if (lman.active) + { + lman.state = lman.next_state = LMAN_STATE_READY; + } + rfu_LMAN_occureCallback(LMAN_MSG_REQ_API_ERROR, 2); + rfu_LMAN_managerChangeAgbClockMaster(); + } + } + if (reqCommandId == ID_CLOCK_SLAVE_MS_CHANGE_ERROR_BY_DMA_REQ) + { + rfu_LMAN_occureCallback(LMAN_MSG_CLOCK_SLAVE_MS_CHANGE_ERROR_BY_DMA, 0); + rfu_LMAN_managerChangeAgbClockMaster(); + } +} + +static void rfu_LMAN_MSC_callback(u16 reqCommandId) +{ + u8 active_bak; + u8 thisAck_flag; + + active_bak = lman.active; + lman.active = 0; + lman.msc_exe_flag = 1; + if (gRfuLinkStatus->parentChild == MODE_CHILD) + { + rfu_LMAN_linkWatcher(reqCommandId); + if (lman.childClockSlave_flag != RFU_CHILD_CLOCK_SLAVE_ON) + { + rfu_LMAN_managerChangeAgbClockMaster(); + lman.msc_exe_flag = 0; + lman.active = active_bak; + return; + } + } + else + { + if (!rfu_UNI_PARENT_getDRAC_ACK(&thisAck_flag)) + { + lman.parentAck_flag |= thisAck_flag; + } + } + if (lman.MSC_callback != NULL) + { + lman.MSC_callback(reqCommandId); + rfu_waitREQComplete(); + if (lman.childClockSlave_flag == RFU_CHILD_CLOCK_SLAVE_OFF_REQ) + { + rfu_LMAN_managerChangeAgbClockMaster(); + } + } + lman.msc_exe_flag = 0; + lman.active = active_bak; +} + +static void rfu_LMAN_PARENT_checkRecvChildName(void) +{ + u8 newSlot; + u8 newAcceptSlot; + u8 i; + u8 flags; + u8 tgtSlot; + const u16 *ptr; + + if (lman.state == LMAN_STATE_START_SEARCH_CHILD || lman.state == LMAN_STATE_POLL_SEARCH_CHILD || lman.state == LMAN_STATE_END_SEARCH_CHILD || lman.state == LMAN_STATE_WAIT_RECV_CHILD_NAME) + { + newSlot = ((gRfuLinkStatus->connSlotFlag ^ lman.connectSlot_flag_old) & gRfuLinkStatus->connSlotFlag) & ~gRfuLinkStatus->getNameFlag; + lman.connectSlot_flag_old = gRfuLinkStatus->connSlotFlag; + if (newSlot) + { + lman.param[0] = newSlot; + rfu_LMAN_occureCallback(LMAN_MSG_NEW_CHILD_CONNECT_DETECTED, 1); + } + newAcceptSlot = 0x00; + for (i = 0; i < RFU_CHILD_MAX; i++) + { + tgtSlot = 1 << i; + flags = 0x00; + if (newSlot & tgtSlot) + { + lman.nameAcceptTimer.count[i] = lman.nameAcceptTimer.count_max; + lman.nameAcceptTimer.active |= tgtSlot; + } + else if (lman.nameAcceptTimer.active & tgtSlot) + { + if (gRfuSlotStatusNI[i]->recv.state == SLOT_STATE_RECV_SUCCESS) + { + if (gRfuSlotStatusNI[i]->recv.dataType == 1) + { + flags = RN_NAME_TIMER_CLEAR; + for (ptr = lman.acceptable_serialNo_list; *ptr != 0xFFFF; ptr++) + { + if (gRfuLinkStatus->partner[i].serialNo == *ptr) + { + lman.acceptSlot_flag |= tgtSlot; + lman.acceptCount++; + newAcceptSlot |= tgtSlot; + flags |= RN_ACCEPT; + break; + } + } + if (!(flags & RN_ACCEPT)) + { + flags |= RN_DISCONNECT; + } + } + } + else if (--lman.nameAcceptTimer.count[i] == 0) + { + flags = RN_NAME_TIMER_CLEAR | RN_DISCONNECT; + } + if (flags & RN_NAME_TIMER_CLEAR) + { + lman.nameAcceptTimer.active &= ~tgtSlot; + lman.nameAcceptTimer.count[i] = 0; + rfu_clearSlot(TYPE_NI_RECV, i); + } + if (flags & RN_DISCONNECT) + { + lman.reserveDisconnectSlot_flag |= tgtSlot; + } + } + } + if (newAcceptSlot) + { + lman.param[0] = newAcceptSlot; + rfu_LMAN_occureCallback(LMAN_MSG_NEW_CHILD_CONNECT_ACCEPTED, 1); + } + if (lman.reserveDisconnectSlot_flag) + { + flags = 1; + if (gRfuLinkStatus->sendSlotUNIFlag) + { + if (((lman.parentAck_flag & lman.acceptSlot_flag) != lman.acceptSlot_flag)) + { + flags = 0; + } + } + if (flags) + { + rfu_LMAN_disconnect(lman.reserveDisconnectSlot_flag); + lman.param[0] = lman.reserveDisconnectSlot_flag; + lman.reserveDisconnectSlot_flag = 0; + rfu_LMAN_occureCallback(LMAN_MSG_NEW_CHILD_CONNECT_REJECTED, 1); + } + } + if (lman.nameAcceptTimer.active == 0 && lman.state == LMAN_STATE_WAIT_RECV_CHILD_NAME) + { + if (lman.pcswitch_flag == 0) + { + lman.state = lman.next_state = LMAN_STATE_READY; + rfu_LMAN_occureCallback(LMAN_MSG_END_WAIT_CHILD_NAME, 0); + } + else + { + if (lman.pcswitch_flag == PCSWITCH_1ST_SC) + { + lman.pcswitch_flag = PCSWITCH_2ND_SP_START; + lman.state = LMAN_STATE_START_SEARCH_PARENT; + } + else + { + lman.pcswitch_flag = PCSWITCH_1ST_SC_START; + lman.state = LMAN_STATE_START_SEARCH_CHILD; + } + if (lman.acceptSlot_flag) + { + lman.connect_period = 0; + lman.pcswitch_flag = PCSWITCH_SC_LOCK; + lman.state = LMAN_STATE_START_SEARCH_CHILD; + } + } + } + } +} + +static void rfu_LMAN_CHILD_checkSendChildName(void) +{ + u16 imeBak = REG_IME; + REG_IME = 0; + if (lman.state == LMAN_STATE_SEND_CHILD_NAME) + { + if (--lman.nameAcceptTimer.count[lman.child_slot] == 0 || gRfuSlotStatusNI[lman.child_slot]->send.state == SLOT_STATE_SEND_FAILED) + { + rfu_LMAN_requestChangeAgbClockMaster(); + lman.state = LMAN_STATE_WAIT_CHANGE_CLOCK_MASTER; + rfu_clearSlot(TYPE_NI_SEND, lman.child_slot); + lman.nameAcceptTimer.active &= ~(1 << lman.child_slot); + lman.nameAcceptTimer.count[lman.child_slot] = 0; + } + } + REG_IME = imeBak; + if (lman.state == LMAN_STATE_WAIT_CHANGE_CLOCK_MASTER) + { + if (lman.childClockSlave_flag == RFU_CHILD_CLOCK_SLAVE_ON) + { + rfu_LMAN_requestChangeAgbClockMaster(); + } + if (lman.childClockSlave_flag == RFU_CHILD_CLOCK_SLAVE_OFF) + { + lman.state = lman.next_state = LMAN_STATE_READY; + rfu_LMAN_disconnect(gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag); + lman.param[0] = 0; + rfu_LMAN_occureCallback(LMAN_MSG_CHILD_NAME_SEND_FAILED_AND_DISCONNECTED, 1); + } + } +} + +static void rfu_LMAN_CHILD_checkSendChildName2(void) +{ + if (lman.state == LMAN_STATE_SEND_CHILD_NAME && gRfuSlotStatusNI[lman.child_slot]->send.state == SLOT_STATE_SEND_SUCCESS) + { + lman.state = lman.next_state = LMAN_STATE_READY; + rfu_clearSlot(TYPE_NI_SEND, lman.child_slot); + lman.nameAcceptTimer.active &= ~(1 << lman.child_slot); + lman.nameAcceptTimer.count[lman.child_slot] = 0; + rfu_LMAN_occureCallback(LMAN_MSG_CHILD_NAME_SEND_COMPLETED, 0); + } +} + +static void rfu_LMAN_CHILD_linkRecoveryProcess(void) +{ + if (lman.parent_child == MODE_CHILD && lman.linkRecovery_start_flag == LINK_RECOVERY_START) + { + lman.state_bak[0] = lman.state; + lman.state_bak[1] = lman.next_state; + lman.state = LMAN_STATE_START_LINK_RECOVERY; + lman.next_state = LMAN_STATE_POLL_LINK_RECOVERY; + lman.linkRecovery_start_flag = LINK_RECOVERY_EXE; + } +} + +static u8 rfu_LMAN_CHILD_checkEnableParentCandidate(void) +{ + u8 i; + u16 *serialNo; + u8 flags = 0x00; + + for (i = 0; i < gRfuLinkStatus->findParentCount; i++) + { + for (serialNo = lman.acceptable_serialNo_list; *serialNo != 0xFFFF; serialNo++) + { + if (gRfuLinkStatus->partner[i].serialNo == *serialNo) + { + flags |= (1 << i); + } + } + } + return flags; +} + +static void rfu_LMAN_occureCallback(u8 msg, u8 param_count) +{ + if (lman.LMAN_callback != NULL) + { + lman.LMAN_callback(msg, param_count); + } + lman.param[0] = lman.param[1] = 0; +} + +static void rfu_LMAN_disconnect(u8 bm_disconnectedSlot) +{ + u8 active_bak = lman.active; + lman.active = 1; + rfu_REQ_disconnect(bm_disconnectedSlot); + rfu_waitREQComplete(); + lman.active = active_bak; +} + +static void rfu_LMAN_reflectCommunicationStatus(u8 bm_disconnectedSlot) +{ + u8 i; + + if (gRfuLinkStatus->sendSlotNIFlag) + { + for (i = 0; i < RFU_CHILD_MAX; i++) + { + if (gRfuSlotStatusNI[i]->send.state & SLOT_BUSY_FLAG && gRfuSlotStatusNI[i]->send.bmSlot & bm_disconnectedSlot) + { + rfu_changeSendTarget(TYPE_NI, i, gRfuSlotStatusNI[i]->send.bmSlot & ~bm_disconnectedSlot); + } + } + } + if (gRfuLinkStatus->recvSlotNIFlag) + { + for (i = 0; i < RFU_CHILD_MAX; i++) + { + if (gRfuSlotStatusNI[i]->recv.state & SLOT_BUSY_FLAG && gRfuSlotStatusNI[i]->recv.bmSlot & bm_disconnectedSlot) + { + rfu_NI_stopReceivingData(i); + } + } + } + if (gRfuLinkStatus->sendSlotUNIFlag) + { + gRfuLinkStatus->sendSlotUNIFlag &= ~bm_disconnectedSlot; + for (i = 0; i < RFU_CHILD_MAX; i++) + { + if (gRfuSlotStatusUNI[i]->send.state == SLOT_STATE_SEND_UNI && bm_disconnectedSlot & gRfuSlotStatusUNI[i]->send.bmSlot) + { + gRfuSlotStatusUNI[i]->send.bmSlot &= ~bm_disconnectedSlot; + } + } + } +} + +static void rfu_LMAN_checkNICommunicateStatus(void) +{ + u8 i; + u8 j; + u8 flags; + + if (lman.NI_failCounter_limit) + { + if (gRfuLinkStatus->sendSlotNIFlag) + { + for (i = 0; i < RFU_CHILD_MAX; i++) + { + if (gRfuSlotStatusNI[i]->send.state & SLOT_BUSY_FLAG) + { + flags = 0; + for (j = 0; j < RFU_CHILD_MAX; j++) + { + if ((gRfuSlotStatusNI[i]->send.bmSlot >> j) & 1 && gRfuSlotStatusNI[j]->send.failCounter > lman.NI_failCounter_limit) + { + flags |= (1 << j); + } + if (flags) + { + rfu_changeSendTarget(TYPE_NI, i, flags ^ gRfuSlotStatusNI[i]->send.bmSlot); + } + } + } + } + } + if (gRfuLinkStatus->recvSlotNIFlag) + { + for (i = 0; i < RFU_CHILD_MAX; i++) + { + if (gRfuSlotStatusNI[i]->recv.state & SLOT_BUSY_FLAG && gRfuSlotStatusNI[i]->recv.failCounter > lman.NI_failCounter_limit) + { + rfu_NI_stopReceivingData(i); + } + } + } + } +} + +void rfu_LMAN_setMSCCallback(void (*MSC_callback_p)(u16)) +{ + lman.MSC_callback = MSC_callback_p; + rfu_setMSCCallback(rfu_LMAN_MSC_callback); +} + +static void rfu_LMAN_setLMANCallback(void (*func)(u8, u8)) +{ + lman.LMAN_callback = func; +} + +u8 rfu_LMAN_setLinkRecovery(u8 enable_flag, u16 recovery_period) +{ + u16 imeBak; + if (lman.linkRecovery_enable && enable_flag == 0 && lman.linkRecoveryTimer.active) + { + return LMAN_ERROR_NOW_LINK_RECOVERY; + } + imeBak = REG_IME; + REG_IME = 0; + lman.linkRecovery_enable = enable_flag; + lman.linkRecoveryTimer.count_max = recovery_period; + REG_IME = imeBak; + return 0; +} + +static u8 rfu_LMAN_setNIFailCounterLimit(u16 NI_failCounter_limit) +{ + if (gRfuLinkStatus->sendSlotNIFlag | gRfuLinkStatus->recvSlotNIFlag) + { + lman.param[0] = 6; + rfu_LMAN_occureCallback(LMAN_MSG_LMAN_API_ERROR_RETURN, 1); + return LMAN_ERROR_NOW_COMMUNICATION; + } + lman.NI_failCounter_limit = NI_failCounter_limit; + return 0; +} + +static u8 rfu_LMAN_setFastSearchParent(u8 enable_flag) +{ + if (lman.state == LMAN_STATE_START_SEARCH_PARENT || lman.state == LMAN_STATE_POLL_SEARCH_PARENT || lman.state == LMAN_STATE_END_SEARCH_PARENT) + { + lman.param[0] = 7; + rfu_LMAN_occureCallback(LMAN_MSG_LMAN_API_ERROR_RETURN, 1); + return LMAN_ERROR_NOW_SEARCH_PARENT; + } + if (enable_flag) + { + lman.fastSearchParent_flag = FSP_ON; + } + else + { + lman.fastSearchParent_flag = 0; + } + return 0; +} + +static void rfu_LMAN_managerChangeAgbClockMaster(void) +{ + if (lman.childClockSlave_flag != RFU_CHILD_CLOCK_SLAVE_OFF) + { + lman.childClockSlave_flag = RFU_CHILD_CLOCK_SLAVE_OFF; + rfu_LMAN_occureCallback(LMAN_MSG_CHANGE_AGB_CLOCK_MASTER, 0); + } +} + +void rfu_LMAN_requestChangeAgbClockMaster(void) +{ + if (lman.childClockSlave_flag == RFU_CHILD_CLOCK_SLAVE_OFF) + { + rfu_LMAN_occureCallback(LMAN_MSG_CHANGE_AGB_CLOCK_MASTER, 0); + } + else if (lman.childClockSlave_flag == RFU_CHILD_CLOCK_SLAVE_ON) + { + lman.childClockSlave_flag = RFU_CHILD_CLOCK_SLAVE_OFF_REQ; + } +} + +void rfu_LMAN_forceChangeSP(void) +{ + if (lman.pcswitch_flag) + { + switch (lman.state) + { + case LMAN_STATE_START_SEARCH_CHILD: + lman.pcswitch_flag = PCSWITCH_2ND_SP_START; + lman.state = LMAN_STATE_START_SEARCH_PARENT; + break; + case LMAN_STATE_POLL_SEARCH_CHILD: + lman.pcswitch_flag = PCSWITCH_1ST_SC; + lman.connect_period = 1; + break; + case LMAN_STATE_END_SEARCH_CHILD: + case LMAN_STATE_WAIT_RECV_CHILD_NAME: + lman.pcswitch_flag = PCSWITCH_1ST_SC; + break; + case LMAN_STATE_START_SEARCH_PARENT: + case LMAN_STATE_POLL_SEARCH_PARENT: + lman.connect_period = PCSWITCH_SP_PERIOD; + break; + case LMAN_STATE_END_SEARCH_PARENT: + lman.connect_period = PCSWITCH_SP_PERIOD; + lman.state = LMAN_STATE_POLL_SEARCH_PARENT; + break; + } + } +} diff --git a/src/bag.c b/src/bag.c index 049aa9f8f..2ca62a3b4 100644 --- a/src/bag.c +++ b/src/bag.c @@ -1,5 +1,4 @@ #include "global.h" -#include "task.h" #include "palette.h" #include "item_menu.h" #include "text.h" @@ -9,7 +8,6 @@ #include "new_menu_helpers.h" #include "menu.h" #include "money.h" -#include "bag.h" #include "strings.h" static const u16 sBagWindowPalF[] = INCBIN_U16("data/bag/bag_window_pal.gbapal"); diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index 647d2f367..33b5ceacc 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -1,15 +1,9 @@ #include "global.h" -#include "malloc.h" #include "battle_anim.h" #include "battle_interface.h" -#include "decompress.h" #include "gpu_regs.h" -#include "graphics.h" -#include "main.h" -#include "math_util.h" #include "palette.h" #include "random.h" -#include "scanline_effect.h" #include "sound.h" #include "trig.h" #include "util.h" diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index 23be07785..093660389 100644 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -5,7 +5,6 @@ #include "decompress.h" #include "gpu_regs.h" #include "graphics.h" -#include "main.h" #include "math_util.h" #include "palette.h" #include "random.h" diff --git a/src/battle_anim_sound_tasks.c b/src/battle_anim_sound_tasks.c index d74b743e8..f2740a1a5 100644 --- a/src/battle_anim_sound_tasks.c +++ b/src/battle_anim_sound_tasks.c @@ -178,7 +178,7 @@ void sub_80DD148(u8 taskId) gTasks[taskId].data[2] = pan; if (species != SPECIES_NONE) { - if (gBattleAnimArgs[1] == TASK_NONE) + if (gBattleAnimArgs[1] == TAIL_SENTINEL) PlayCry3(species, pan, 9); else PlayCry3(species, pan, 7); @@ -199,7 +199,7 @@ static void sub_80DD270(u8 taskId) { ++gTasks[taskId].data[9]; } - else if (gTasks[taskId].data[0] == TASK_NONE) + else if (gTasks[taskId].data[0] == TAIL_SENTINEL) { if (!IsCryPlaying()) { diff --git a/src/battle_bg.c b/src/battle_bg.c new file mode 100644 index 000000000..1c0b41bb4 --- /dev/null +++ b/src/battle_bg.c @@ -0,0 +1,1076 @@ +#include "global.h" +#include "gflib.h" +#include "battle.h" +#include "battle_bg.h" +#include "battle_message.h" +#include "decompress.h" +#include "graphics.h" +#include "link.h" +#include "new_menu_helpers.h" +#include "overworld.h" +#include "text_window.h" +#include "trig.h" +#include "constants/maps.h" +#include "constants/songs.h" +#include "constants/trainer_classes.h" + +#define TAG_VS_LETTERS 10000 + +struct BattleBackground +{ + const void *tileset; + const void *tilemap; + const void *entryTileset; + const void *entryTilemap; + const void *palette; +}; + +static void CB2_unused(void); +static u8 GetBattleTerrainOverride(void); + +static const u8 gUnknown_824829C[] = {1, 2}; + +static const struct OamData gOamData_82482A0 = { + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = FALSE, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x64), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(64x64), + .tileNum = 0x000, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData gOamData_82482A8 = { + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = FALSE, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x64), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(64x64), + .tileNum = 0x040, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AffineAnimCmd gUnknown_82482B0[] = { + AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd gUnknown_82482C0[] = { + AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), + AFFINEANIMCMD_FRAME(0x18, 0x18, 0x0, 0x80), + AFFINEANIMCMD_FRAME(0x18, 0x18, 0x0, 0x80), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd *const gAffineAnimTable_82482E0[] = { + gUnknown_82482B0, + gUnknown_82482C0 +}; + +static const struct SpriteTemplate sVsLetter_V_SpriteTemplate = { + .tileTag = TAG_VS_LETTERS, + .paletteTag = TAG_VS_LETTERS, + .oam = &gOamData_82482A0, + .anims = gDummySpriteAnimTable, + .affineAnims = gAffineAnimTable_82482E0, + .callback = nullsub_9 +}; + +static const struct SpriteTemplate sVsLetter_S_SpriteTemplate = { + .tileTag = TAG_VS_LETTERS, + .paletteTag = TAG_VS_LETTERS, + .oam = &gOamData_82482A8, + .anims = gDummySpriteAnimTable, + .affineAnims = gAffineAnimTable_82482E0, + .callback = nullsub_9 +}; + +static const struct CompressedSpriteSheet sVsLettersSpriteSheet = { + gVsLettersGfx, + 0x1000, + TAG_VS_LETTERS +}; + +const struct BgTemplate gBattleBgTemplates[4] = { + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 24, + .screenSize = 2, + .paletteMode = 0, + .priority = 0, + .baseTile = 0x000 + }, { + .bg = 1, + .charBaseIndex = 1, + .mapBaseIndex = 28, + .screenSize = 2, + .paletteMode = 0, + .priority = 0, + .baseTile = 0x000 + }, { + .bg = 2, + .charBaseIndex = 1, + .mapBaseIndex = 30, + .screenSize = 1, + .paletteMode = 0, + .priority = 1, + .baseTile = 0x000 + }, { + .bg = 3, + .charBaseIndex = 2, + .mapBaseIndex = 26, + .screenSize = 1, + .paletteMode = 0, + .priority = 3, + .baseTile = 0x000 + } +}; + +static const struct WindowTemplate gUnknown_8248330[] = { + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 15, + .width = 28, + .height = 4, + .paletteNum = 0, + .baseBlock = 0x090 + }, { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 35, + .width = 14, + .height = 4, + .paletteNum = 0, + .baseBlock = 0x1c0 + }, { + .bg = 0, + .tilemapLeft = 17, + .tilemapTop = 35, + .width = 12, + .height = 4, + .paletteNum = 5, + .baseBlock = 0x190 + }, { + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 55, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x300 + }, { + .bg = 0, + .tilemapLeft = 11, + .tilemapTop = 55, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x310 + }, { + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 57, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x320 + }, { + .bg = 0, + .tilemapLeft = 11, + .tilemapTop = 57, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x330 + }, { + .bg = 0, + .tilemapLeft = 21, + .tilemapTop = 55, + .width = 3, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x290 + }, { + .bg = 0, + .tilemapLeft = 21, + .tilemapTop = 57, + .width = 8, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x296 + }, { + .bg = 0, + .tilemapLeft = 24, + .tilemapTop = 55, + .width = 5, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x2a6 + }, { + .bg = 0, + .tilemapLeft = 25, + .tilemapTop = 57, + .width = 0, + .height = 0, + .paletteNum = 5, + .baseBlock = 0x2b0 + }, { + .bg = 0, + .tilemapLeft = 21, + .tilemapTop = 55, + .width = 8, + .height = 4, + .paletteNum = 5, + .baseBlock = 0x2b0 + }, { + .bg = 1, + .tilemapLeft = 19, + .tilemapTop = 8, + .width = 10, + .height = 11, + .paletteNum = 5, + .baseBlock = 0x100 + }, { + .bg = 2, + .tilemapLeft = 18, + .tilemapTop = 0, + .width = 12, + .height = 3, + .paletteNum = 6, + .baseBlock = 0x16e + }, { + .bg = 0, + .tilemapLeft = 25, + .tilemapTop = 9, + .width = 4, + .height = 4, + .paletteNum = 5, + .baseBlock = 0x100 + }, { + .bg = 1, + .tilemapLeft = 2, + .tilemapTop = 3, + .width = 7, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x020 + }, { + .bg = 2, + .tilemapLeft = 2, + .tilemapTop = 3, + .width = 7, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x040 + }, { + .bg = 1, + .tilemapLeft = 2, + .tilemapTop = 2, + .width = 7, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x020 + }, { + .bg = 2, + .tilemapLeft = 2, + .tilemapTop = 2, + .width = 7, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x040 + }, { + .bg = 1, + .tilemapLeft = 2, + .tilemapTop = 6, + .width = 7, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x060 + }, { + .bg = 2, + .tilemapLeft = 2, + .tilemapTop = 6, + .width = 7, + .height = 2, + .paletteNum = 5, + .baseBlock = 0x080 + }, { + .bg = 0, + .tilemapLeft = 11, + .tilemapTop = 2, + .width = 8, + .height = 2, + .paletteNum = 0, + .baseBlock = 0x0a0 + }, { + .bg = 0, + .tilemapLeft = 4, + .tilemapTop = 2, + .width = 8, + .height = 2, + .paletteNum = 0, + .baseBlock = 0x0a0 + }, { + .bg = 0, + .tilemapLeft = 19, + .tilemapTop = 2, + .width = 8, + .height = 2, + .paletteNum = 0, + .baseBlock = 0x0b0 + }, { + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 26, + .height = 4, + .paletteNum = 7, + .baseBlock = 0x090 + }, DUMMY_WIN_TEMPLATE +}; + +static const u32 sBattleTerrainPalette_Grass[] = INCBIN_U32("graphics/battle/unk_8248400.gbapal.lz"); +static const u32 sBattleTerrainTiles_Grass[] = INCBIN_U32("graphics/battle/unk_824844C.4bpp.lz"); +static const u32 sBattleTerrainTilemap_Grass[] = INCBIN_U32("graphics/battle/unk_82489A8.bin.lz"); +static const u32 sBattleTerrainAnimTiles_Grass[] = INCBIN_U32("graphics/battle/unk_8248C68.4bpp.lz"); +static const u32 sBattleTerrainAnimTilemap_Grass[] = INCBIN_U32("graphics/battle/unk_8248F58.bin.lz"); +static const u32 sBattleTerrainPalette_LongGrass[] = INCBIN_U32("graphics/battle/unk_8249074.gbapal.lz"); +static const u32 sBattleTerrainTiles_LongGrass[] = INCBIN_U32("graphics/battle/unk_82490C4.4bpp.lz"); +static const u32 sBattleTerrainTilemap_LongGrass[] = INCBIN_U32("graphics/battle/unk_8249620.bin.lz"); +static const u32 sBattleTerrainAnimTiles_LongGrass[] = INCBIN_U32("graphics/battle/unk_82498DC.4bpp.lz"); +static const u32 sBattleTerrainAnimTilemap_LongGrass[] = INCBIN_U32("graphics/battle/unk_8249E10.bin.lz"); +static const u32 sBattleTerrainPalette_Sand[] = INCBIN_U32("graphics/battle/unk_8249F98.gbapal.lz"); +static const u32 sBattleTerrainTiles_Sand[] = INCBIN_U32("graphics/battle/unk_8249FE4.4bpp.lz"); +static const u32 sBattleTerrainTilemap_Sand[] = INCBIN_U32("graphics/battle/unk_824A37C.bin.lz"); +static const u32 sBattleTerrainAnimTiles_Sand[] = INCBIN_U32("graphics/battle/unk_824A618.4bpp.lz"); +static const u32 sBattleTerrainAnimTilemap_Sand[] = INCBIN_U32("graphics/battle/unk_824A844.bin.lz"); +static const u32 sBattleTerrainPalette_Underwater[] = INCBIN_U32("graphics/battle/unk_824A940.gbapal.lz"); +static const u32 sBattleTerrainTiles_Underwater[] = INCBIN_U32("graphics/battle/unk_824A990.4bpp.lz"); +static const u32 sBattleTerrainTilemap_Underwater[] = INCBIN_U32("graphics/battle/unk_824ACD0.bin.lz"); +static const u32 sBattleTerrainAnimTiles_Underwater[] = INCBIN_U32("graphics/battle/unk_824AF70.4bpp.lz"); +static const u32 sBattleTerrainAnimTilemap_Underwater[] = INCBIN_U32("graphics/battle/unk_824B0DC.bin.lz"); +static const u32 sBattleTerrainPalette_Water[] = INCBIN_U32("graphics/battle/unk_824B19C.gbapal.lz"); +static const u32 sBattleTerrainTiles_Water[] = INCBIN_U32("graphics/battle/unk_824B1EC.4bpp.lz"); +static const u32 sBattleTerrainTilemap_Water[] = INCBIN_U32("graphics/battle/unk_824B608.bin.lz"); +static const u32 sBattleTerrainAnimTiles_Water[] = INCBIN_U32("graphics/battle/unk_824B8A8.4bpp.lz"); +static const u32 sBattleTerrainAnimTilemap_Water[] = INCBIN_U32("graphics/battle/unk_824BBE0.bin.lz"); +static const u32 sBattleTerrainPalette_Pond[] = INCBIN_U32("graphics/battle/unk_824BCE0.gbapal.lz"); +static const u32 sBattleTerrainTiles_Pond[] = INCBIN_U32("graphics/battle/unk_824BD38.4bpp.lz"); +static const u32 sBattleTerrainTilemap_Pond[] = INCBIN_U32("graphics/battle/unk_824C07C.bin.lz"); +static const u32 sBattleTerrainAnimTiles_Pond[] = INCBIN_U32("graphics/battle/unk_824C314.4bpp.lz"); +static const u32 sBattleTerrainAnimTilemap_Pond[] = INCBIN_U32("graphics/battle/unk_824C520.bin.lz"); +static const u32 sBattleTerrainPalette_Mountain[] = INCBIN_U32("graphics/battle/unk_824C5D8.gbapal.lz"); +static const u32 sBattleTerrainTiles_Mountain[] = INCBIN_U32("graphics/battle/unk_824C624.4bpp.lz"); +static const u32 sBattleTerrainTilemap_Mountain[] = INCBIN_U32("graphics/battle/unk_824C958.bin.lz"); +static const u32 sBattleTerrainAnimTiles_Mountain[] = INCBIN_U32("graphics/battle/unk_824CBF8.4bpp.lz"); +static const u32 sBattleTerrainAnimTilemap_Mountain[] = INCBIN_U32("graphics/battle/unk_824CEC8.bin.lz"); +static const u32 sBattleTerrainPalette_Cave[] = INCBIN_U32("graphics/battle/unk_824CF98.gbapal.lz"); +static const u32 sBattleTerrainTiles_Cave[] = INCBIN_U32("graphics/battle/unk_824CFEC.4bpp.lz"); +static const u32 sBattleTerrainTilemap_Cave[] = INCBIN_U32("graphics/battle/unk_824D418.bin.lz"); +static const u32 sBattleTerrainAnimTiles_Cave[] = INCBIN_U32("graphics/battle/unk_824D6B8.4bpp.lz"); +static const u32 sBattleTerrainAnimTilemap_Cave[] = INCBIN_U32("graphics/battle/unk_824DC98.bin.lz"); +static const u32 sBattleTerrainPalette_Building[] = INCBIN_U32("graphics/battle/unk_824DDF0.gbapal.lz"); +static const u32 sBattleTerrainTiles_Building[] = INCBIN_U32("graphics/battle/unk_824DE34.4bpp.lz"); +static const u32 sBattleTerrainTilemap_Building[] = INCBIN_U32("graphics/battle/unk_824E16C.bin.lz"); +static const u32 sBattleTerrainAnimTiles_Building[] = INCBIN_U32("graphics/battle/unk_824E410.4bpp.lz"); +static const u32 sBattleTerrainAnimTilemap_Building[] = INCBIN_U32("graphics/battle/unk_824E490.bin.lz"); +static const u32 sBattleTerrainPalette_Link[] = INCBIN_U32("graphics/battle/unk_824E528.gbapal.lz"); +static const u32 sBattleTerrainPalette_Gym[] = INCBIN_U32("graphics/battle/unk_824E56C.gbapal.lz"); +static const u32 sBattleTerrainPalette_Leader[] = INCBIN_U32("graphics/battle/unk_824E5B8.gbapal.lz"); +static const u32 sBattleTerrainPalette_Indoor2[] = INCBIN_U32("graphics/battle/unk_824E604.gbapal.lz"); +static const u32 sBattleTerrainPalette_Indoor1[] = INCBIN_U32("graphics/battle/unk_824E650.gbapal.lz"); +static const u32 sBattleTerrainPalette_Lorelei[] = INCBIN_U32("graphics/battle/unk_824E6A4.gbapal.lz"); +static const u32 sBattleTerrainPalette_Bruno[] = INCBIN_U32("graphics/battle/unk_824E6F0.gbapal.lz"); +static const u32 sBattleTerrainPalette_Agatha[] = INCBIN_U32("graphics/battle/unk_824E740.gbapal.lz"); +static const u32 sBattleTerrainPalette_Lance[] = INCBIN_U32("graphics/battle/unk_824E78C.gbapal.lz"); +static const u32 sBattleTerrainPalette_Champion[] = INCBIN_U32("graphics/battle/unk_824E7DC.gbapal.lz"); +static const u32 sBattleTerrainPalette_Plain[] = INCBIN_U32("graphics/battle/unk_824E81C.gbapal.lz"); +static const u32 sBattleTerrainTiles_Indoor2[] = INCBIN_U32("graphics/battle/unk_824E858.4bpp.lz"); +static const u32 sBattleTerrainTilemap_Indoor2[] = INCBIN_U32("graphics/battle/unk_824EB90.bin.lz"); + +static const struct BattleBackground sBattleTerrainTable[] = { + [BATTLE_TERRAIN_GRASS] = + { + .tileset = sBattleTerrainTiles_Grass, + .tilemap = sBattleTerrainTilemap_Grass, + .entryTileset = sBattleTerrainAnimTiles_Grass, + .entryTilemap = sBattleTerrainAnimTilemap_Grass, + .palette = sBattleTerrainPalette_Grass + }, + [BATTLE_TERRAIN_LONG_GRASS] = + { + .tileset = sBattleTerrainTiles_LongGrass, + .tilemap = sBattleTerrainTilemap_LongGrass, + .entryTileset = sBattleTerrainAnimTiles_LongGrass, + .entryTilemap = sBattleTerrainAnimTilemap_LongGrass, + .palette = sBattleTerrainPalette_LongGrass + }, + [BATTLE_TERRAIN_SAND] = + { + .tileset = sBattleTerrainTiles_Sand, + .tilemap = sBattleTerrainTilemap_Sand, + .entryTileset = sBattleTerrainAnimTiles_Sand, + .entryTilemap = sBattleTerrainAnimTilemap_Sand, + .palette = sBattleTerrainPalette_Sand + }, + [BATTLE_TERRAIN_UNDERWATER] = + { + .tileset = sBattleTerrainTiles_Underwater, + .tilemap = sBattleTerrainTilemap_Underwater, + .entryTileset = sBattleTerrainAnimTiles_Underwater, + .entryTilemap = sBattleTerrainAnimTilemap_Underwater, + .palette = sBattleTerrainPalette_Underwater + }, + [BATTLE_TERRAIN_WATER] = + { + .tileset = sBattleTerrainTiles_Water, + .tilemap = sBattleTerrainTilemap_Water, + .entryTileset = sBattleTerrainAnimTiles_Water, + .entryTilemap = sBattleTerrainAnimTilemap_Water, + .palette = sBattleTerrainPalette_Water + }, + [BATTLE_TERRAIN_POND] = + { + .tileset = sBattleTerrainTiles_Pond, + .tilemap = sBattleTerrainTilemap_Pond, + .entryTileset = sBattleTerrainAnimTiles_Pond, + .entryTilemap = sBattleTerrainAnimTilemap_Pond, + .palette = sBattleTerrainPalette_Pond + }, + [BATTLE_TERRAIN_MOUNTAIN] = + { + .tileset = sBattleTerrainTiles_Mountain, + .tilemap = sBattleTerrainTilemap_Mountain, + .entryTileset = sBattleTerrainAnimTiles_Mountain, + .entryTilemap = sBattleTerrainAnimTilemap_Mountain, + .palette = sBattleTerrainPalette_Mountain + }, + [BATTLE_TERRAIN_CAVE] = + { + .tileset = sBattleTerrainTiles_Cave, + .tilemap = sBattleTerrainTilemap_Cave, + .entryTileset = sBattleTerrainAnimTiles_Cave, + .entryTilemap = sBattleTerrainAnimTilemap_Cave, + .palette = sBattleTerrainPalette_Cave + }, + [BATTLE_TERRAIN_BUILDING] = + { + .tileset = sBattleTerrainTiles_Building, + .tilemap = sBattleTerrainTilemap_Building, + .entryTileset = sBattleTerrainAnimTiles_Building, + .entryTilemap = sBattleTerrainAnimTilemap_Building, + .palette = sBattleTerrainPalette_Building + }, + [BATTLE_TERRAIN_PLAIN] = + { + .tileset = sBattleTerrainTiles_Building, + .tilemap = sBattleTerrainTilemap_Building, + .entryTileset = sBattleTerrainAnimTiles_Building, + .entryTilemap = sBattleTerrainAnimTilemap_Building, + .palette = sBattleTerrainPalette_Plain + }, + [BATTLE_TERRAIN_LINK] = + { + .tileset = sBattleTerrainTiles_Building, + .tilemap = sBattleTerrainTilemap_Building, + .entryTileset = sBattleTerrainAnimTiles_Building, + .entryTilemap = sBattleTerrainAnimTilemap_Building, + .palette = sBattleTerrainPalette_Link + }, + [BATTLE_TERRAIN_GYM] = + { + .tileset = sBattleTerrainTiles_Building, + .tilemap = sBattleTerrainTilemap_Building, + .entryTileset = sBattleTerrainAnimTiles_Building, + .entryTilemap = sBattleTerrainAnimTilemap_Building, + .palette = sBattleTerrainPalette_Gym + }, + [BATTLE_TERRAIN_LEADER] = + { + .tileset = sBattleTerrainTiles_Building, + .tilemap = sBattleTerrainTilemap_Building, + .entryTileset = sBattleTerrainAnimTiles_Building, + .entryTilemap = sBattleTerrainAnimTilemap_Building, + .palette = sBattleTerrainPalette_Leader + }, + [BATTLE_TERRAIN_INDOOR_2] = + { + .tileset = sBattleTerrainTiles_Indoor2, + .tilemap = sBattleTerrainTilemap_Indoor2, + .entryTileset = sBattleTerrainAnimTiles_Building, + .entryTilemap = sBattleTerrainAnimTilemap_Building, + .palette = sBattleTerrainPalette_Indoor2 + }, + [BATTLE_TERRAIN_INDOOR_1] = + { + .tileset = sBattleTerrainTiles_Indoor2, + .tilemap = sBattleTerrainTilemap_Indoor2, + .entryTileset = sBattleTerrainAnimTiles_Building, + .entryTilemap = sBattleTerrainAnimTilemap_Building, + .palette = sBattleTerrainPalette_Indoor1 + }, + [BATTLE_TERRAIN_LORELEI] = + { + .tileset = sBattleTerrainTiles_Indoor2, + .tilemap = sBattleTerrainTilemap_Indoor2, + .entryTileset = sBattleTerrainAnimTiles_Building, + .entryTilemap = sBattleTerrainAnimTilemap_Building, + .palette = sBattleTerrainPalette_Lorelei + }, + [BATTLE_TERRAIN_BRUNO] = + { + .tileset = sBattleTerrainTiles_Indoor2, + .tilemap = sBattleTerrainTilemap_Indoor2, + .entryTileset = sBattleTerrainAnimTiles_Building, + .entryTilemap = sBattleTerrainAnimTilemap_Building, + .palette = sBattleTerrainPalette_Bruno + }, + [BATTLE_TERRAIN_AGATHA] = + { + .tileset = sBattleTerrainTiles_Indoor2, + .tilemap = sBattleTerrainTilemap_Indoor2, + .entryTileset = sBattleTerrainAnimTiles_Building, + .entryTilemap = sBattleTerrainAnimTilemap_Building, + .palette = sBattleTerrainPalette_Agatha + }, + [BATTLE_TERRAIN_LANCE] = + { + .tileset = sBattleTerrainTiles_Indoor2, + .tilemap = sBattleTerrainTilemap_Indoor2, + .entryTileset = sBattleTerrainAnimTiles_Building, + .entryTilemap = sBattleTerrainAnimTilemap_Building, + .palette = sBattleTerrainPalette_Lance + }, + [BATTLE_TERRAIN_CHAMPION] = + { + .tileset = sBattleTerrainTiles_Indoor2, + .tilemap = sBattleTerrainTilemap_Indoor2, + .entryTileset = sBattleTerrainAnimTiles_Building, + .entryTilemap = sBattleTerrainAnimTilemap_Building, + .palette = sBattleTerrainPalette_Champion + } +}; + +static const struct { + u8 mapScene; + u8 battleTerrain; +} sMapBattleSceneMapping[] = { + {MAP_BATTLE_SCENE_GYM, BATTLE_TERRAIN_GYM}, + {MAP_BATTLE_SCENE_INDOOR_1, BATTLE_TERRAIN_INDOOR_1}, + {MAP_BATTLE_SCENE_INDOOR_2, BATTLE_TERRAIN_INDOOR_2}, + {MAP_BATTLE_SCENE_LORELEI, BATTLE_TERRAIN_LORELEI}, + {MAP_BATTLE_SCENE_BRUNO, BATTLE_TERRAIN_BRUNO}, + {MAP_BATTLE_SCENE_AGATHA, BATTLE_TERRAIN_AGATHA}, + {MAP_BATTLE_SCENE_LANCE, BATTLE_TERRAIN_LANCE}, + {MAP_BATTLE_SCENE_LINK, BATTLE_TERRAIN_LINK} +}; + +UNUSED void CreateUnknownDebugSprite(void) +{ + u8 spriteId; + + ResetSpriteData(); + spriteId = CreateSprite(&gUnknown_824EFF0, 0, 0, 0); + gSprites[spriteId].invisible = TRUE; + SetMainCallback2(CB2_unused); +} + +static void CB2_unused(void) +{ + AnimateSprites(); + BuildOamBuffer(); +} + +static u8 GetBattleTerrainByMapScene(u8 mapBattleScene) +{ + int i; + for (i = 0; i < NELEMS(sMapBattleSceneMapping); i++) + { + if (mapBattleScene == sMapBattleSceneMapping[i].mapScene) + return sMapBattleSceneMapping[i].battleTerrain; + } + return 9; +} + +static void LoadBattleTerrainGfx(u16 terrain) +{ + if (terrain >= NELEMS(sBattleTerrainTable)) + terrain = 9; + // Copy to bg3 + LZDecompressVram(sBattleTerrainTable[terrain].tileset, (void *)BG_CHAR_ADDR(2)); + LZDecompressVram(sBattleTerrainTable[terrain].tilemap, (void *)BG_SCREEN_ADDR(26)); + LoadCompressedPalette(sBattleTerrainTable[terrain].palette, 0x20, 0x60); +} + +static void LoadBattleTerrainEntryGfx(u16 terrain) +{ + if (terrain >= NELEMS(sBattleTerrainTable)) + terrain = 9; + // Copy to bg1 + LZDecompressVram(sBattleTerrainTable[terrain].entryTileset, (void *)BG_CHAR_ADDR(1)); + LZDecompressVram(sBattleTerrainTable[terrain].entryTilemap, (void *)BG_SCREEN_ADDR(28)); +} + +UNUSED void GetBattleTerrainGfxPtrs(u8 terrain, const u32 **tilesPtr, const u32 **mapPtr, const u32 **palPtr) +{ + if (terrain > 9) + terrain = 9; + *tilesPtr = sBattleTerrainTable[terrain].tileset; + *mapPtr = sBattleTerrainTable[terrain].tilemap; + *palPtr = sBattleTerrainTable[terrain].palette; +} + +void sub_800F324(void) +{ + ResetBgsAndClearDma3BusyFlags(FALSE); + InitBgsFromTemplates(0, gBattleBgTemplates, NELEMS(gBattleBgTemplates)); + InitWindows(gUnknown_8248330); + DeactivateAllTextPrinters(); +} + +void InitBattleBgsVideo(void) +{ + EnableInterrupts(INTR_FLAG_VBLANK | INTR_FLAG_VCOUNT | INTR_FLAG_TIMER3 | INTR_FLAG_SERIAL); + sub_800F324(); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON | DISPCNT_OBJWIN_ON); +} + +void LoadBattleMenuWindowGfx(void) +{ + TextWindow_SetUserSelectedFrame(2, 0x012, 0x10); + TextWindow_SetUserSelectedFrame(2, 0x022, 0x10); + gPlttBufferUnfaded[0x5C] = RGB( 9, 9, 9); + gPlttBufferUnfaded[0x5D] = RGB( 9, 9, 9); + gPlttBufferUnfaded[0x5E] = RGB(31, 31, 31); + gPlttBufferUnfaded[0x5F] = RGB( 26, 26, 25); + CpuCopy16(&gPlttBufferUnfaded[0x5C], &gPlttBufferFaded[0x5C], 8); + if (gBattleTypeFlags & (BATTLE_TYPE_FIRST_BATTLE | BATTLE_TYPE_POKEDUDE)) + { + Menu_LoadStdPalAt(0x70); + TextWindow_LoadResourcesStdFrame0(0, 0x030, 0x70); + gPlttBufferUnfaded[0x76] = RGB( 0, 0, 0); + CpuCopy16(&gPlttBufferUnfaded[0x76], &gPlttBufferFaded[0x76], 2); + } +} + +void DrawMainBattleBackground(void) +{ + LoadBattleTerrainGfx(GetBattleTerrainOverride()); +} + +void LoadBattleTextboxAndBackground(void) +{ + LZDecompressVram(gBattleTextboxTiles, (void *)BG_CHAR_ADDR(0)); + CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0x000); + CopyBgTilemapBufferToVram(0); + LoadCompressedPalette(gBattleTextboxPalette, 0x00, 0x40); + LoadBattleMenuWindowGfx(); + DrawMainBattleBackground(); +} + +static void DrawLinkBattleParticipantPokeballs(u8 taskId, u8 multiplayerId, u8 bgId, u8 destX, u8 destY) +{ + s32 i; + u16 pokeballStatuses = 0; + u16 tiles[6]; + + if (gBattleTypeFlags & BATTLE_TYPE_MULTI) + { + if (gTasks[taskId].data[5] != 0) + { + switch (multiplayerId) + { + case 0: + pokeballStatuses = 0x3F & gTasks[taskId].data[3]; + break; + case 1: + pokeballStatuses = (0xFC0 & gTasks[taskId].data[4]) >> 6; + break; + case 2: + pokeballStatuses = (0xFC0 & gTasks[taskId].data[3]) >> 6; + break; + case 3: + pokeballStatuses = 0x3F & gTasks[taskId].data[4]; + break; + } + } + else + { + switch (multiplayerId) + { + case 0: + pokeballStatuses = 0x3F & gTasks[taskId].data[3]; + break; + case 1: + pokeballStatuses = 0x3F & gTasks[taskId].data[4]; + break; + case 2: + pokeballStatuses = (0xFC0 & gTasks[taskId].data[3]) >> 6; + break; + case 3: + pokeballStatuses = (0xFC0 & gTasks[taskId].data[4]) >> 6; + break; + } + } + + for (i = 0; i < 3; i++) + tiles[i] = ((pokeballStatuses & (3 << (i * 2))) >> (i * 2)) + 0x6001; + + CopyToBgTilemapBufferRect_ChangePalette(bgId, tiles, destX, destY, 3, 1, 0x11); + CopyBgTilemapBufferToVram(bgId); + } + else + { + if (multiplayerId == gBattleStruct->multiplayerId) + pokeballStatuses = gTasks[taskId].data[3]; + else + pokeballStatuses = gTasks[taskId].data[4]; + + for (i = 0; i < 6; i++) + tiles[i] = ((pokeballStatuses & (3 << (i * 2))) >> (i * 2)) + 0x6001; + + CopyToBgTilemapBufferRect_ChangePalette(bgId, tiles, destX, destY, 6, 1, 0x11); + CopyBgTilemapBufferToVram(bgId); + } +} + +static void DrawLinkBattleVsScreenOutcomeText(void) +{ + if (gBattleOutcome == B_OUTCOME_DREW) + { + BattlePutTextOnWindow(gText_Draw, 0x15); + } + else if (gBattleTypeFlags & BATTLE_TYPE_MULTI) + { + if (gBattleOutcome == B_OUTCOME_WON) + { + switch (gLinkPlayers[gBattleStruct->multiplayerId].id) + { + case 0: + BattlePutTextOnWindow(gText_Win, 0x16); + BattlePutTextOnWindow(gText_Loss, 0x17); + break; + case 1: + BattlePutTextOnWindow(gText_Win, 0x17); + BattlePutTextOnWindow(gText_Loss, 0x16); + break; + case 2: + BattlePutTextOnWindow(gText_Win, 0x16); + BattlePutTextOnWindow(gText_Loss, 0x17); + break; + case 3: + BattlePutTextOnWindow(gText_Win, 0x17); + BattlePutTextOnWindow(gText_Loss, 0x16); + break; + } + } + else + { + switch (gLinkPlayers[gBattleStruct->multiplayerId].id) + { + case 0: + BattlePutTextOnWindow(gText_Win, 0x17); + BattlePutTextOnWindow(gText_Loss, 0x16); + break; + case 1: + BattlePutTextOnWindow(gText_Win, 0x16); + BattlePutTextOnWindow(gText_Loss, 0x17); + break; + case 2: + BattlePutTextOnWindow(gText_Win, 0x17); + BattlePutTextOnWindow(gText_Loss, 0x16); + break; + case 3: + BattlePutTextOnWindow(gText_Win, 0x16); + BattlePutTextOnWindow(gText_Loss, 0x17); + break; + } + } + } + else if (gBattleOutcome == B_OUTCOME_WON) + { + if (gLinkPlayers[gBattleStruct->multiplayerId].id != 0) + { + BattlePutTextOnWindow(gText_Win, 0x17); + BattlePutTextOnWindow(gText_Loss, 0x16); + } + else + { + BattlePutTextOnWindow(gText_Win, 0x16); + BattlePutTextOnWindow(gText_Loss, 0x17); + } + } + else + { + if (gLinkPlayers[gBattleStruct->multiplayerId].id != 0) + { + BattlePutTextOnWindow(gText_Win, 0x16); + BattlePutTextOnWindow(gText_Loss, 0x17); + } + else + { + BattlePutTextOnWindow(gText_Win, 0x17); + BattlePutTextOnWindow(gText_Loss, 0x16); + } + } +} + +void InitLinkBattleVsScreen(u8 taskId) +{ + struct LinkPlayer *linkPlayer; + u8 *name; + s32 i, palId; + + switch (gTasks[taskId].data[0]) + { + case 0: + if (gBattleTypeFlags & BATTLE_TYPE_MULTI) + { + for (i = 0; i < MAX_BATTLERS_COUNT; i++) + { + name = gLinkPlayers[i].name; + linkPlayer = &gLinkPlayers[i]; + + switch (linkPlayer->id) + { + case 0: + BattlePutTextOnWindow(name, 0x11); + DrawLinkBattleParticipantPokeballs(taskId, linkPlayer->id, 1, 2, 4); + break; + case 1: + BattlePutTextOnWindow(name, 0x12); + DrawLinkBattleParticipantPokeballs(taskId, linkPlayer->id, 2, 2, 4); + break; + case 2: + BattlePutTextOnWindow(name, 0x13); + DrawLinkBattleParticipantPokeballs(taskId, linkPlayer->id, 1, 2, 8); + break; + case 3: + BattlePutTextOnWindow(name, 0x14); + DrawLinkBattleParticipantPokeballs(taskId, linkPlayer->id, 2, 2, 8); + break; + } + } + } + else + { + u8 playerId = gBattleStruct->multiplayerId; + u8 opponentId = playerId ^ BIT_SIDE; + u8 opponentId_copy = opponentId; + + if (gLinkPlayers[playerId].id != 0) + opponentId = playerId, playerId = opponentId_copy; + + name = gLinkPlayers[playerId].name; + BattlePutTextOnWindow(name, 0xF); + + name = gLinkPlayers[opponentId].name; + BattlePutTextOnWindow(name, 0x10); + + DrawLinkBattleParticipantPokeballs(taskId, playerId, 1, 2, 7); + DrawLinkBattleParticipantPokeballs(taskId, opponentId, 2, 2, 7); + } + gTasks[taskId].data[0]++; + break; + case 1: + palId = AllocSpritePalette(TAG_VS_LETTERS); + gPlttBufferUnfaded[palId * 16 + 0x10F] = gPlttBufferFaded[palId * 16 + 0x10F] = RGB(31, 31, 31); + gBattleStruct->linkBattleVsSpriteId_V = CreateSprite(&sVsLetter_V_SpriteTemplate, 108, 80, 0); + gBattleStruct->linkBattleVsSpriteId_S = CreateSprite(&sVsLetter_S_SpriteTemplate, 132, 80, 0); + gSprites[gBattleStruct->linkBattleVsSpriteId_V].invisible = TRUE; + gSprites[gBattleStruct->linkBattleVsSpriteId_S].invisible = TRUE; + gTasks[taskId].data[0]++; + break; + case 2: + if (gTasks[taskId].data[5] != 0) + { + gBattle_BG1_X = -(20) - (Sin2(gTasks[taskId].data[1]) / 32); + gBattle_BG2_X = -(140) - (Sin2(gTasks[taskId].data[2]) / 32); + gBattle_BG1_Y = -36; + gBattle_BG2_Y = -36; + } + else + { + gBattle_BG1_X = -(20) - (Sin2(gTasks[taskId].data[1]) / 32); + gBattle_BG1_Y = (Cos2(gTasks[taskId].data[1]) / 32) - 164; + gBattle_BG2_X = -(140) - (Sin2(gTasks[taskId].data[2]) / 32); + gBattle_BG2_Y = (Cos2(gTasks[taskId].data[2]) / 32) - 164; + } + + if (gTasks[taskId].data[2] != 0) + { + gTasks[taskId].data[2] -= 2; + gTasks[taskId].data[1] += 2; + } + else + { + if (gTasks[taskId].data[5] != 0) + DrawLinkBattleVsScreenOutcomeText(); + + PlaySE(SE_W231); + DestroyTask(taskId); + gSprites[gBattleStruct->linkBattleVsSpriteId_V].invisible = FALSE; + gSprites[gBattleStruct->linkBattleVsSpriteId_S].invisible = FALSE; + gSprites[gBattleStruct->linkBattleVsSpriteId_S].oam.tileNum += 0x40; + gSprites[gBattleStruct->linkBattleVsSpriteId_V].data[0] = 0; + gSprites[gBattleStruct->linkBattleVsSpriteId_S].data[0] = 1; + gSprites[gBattleStruct->linkBattleVsSpriteId_V].data[1] = gSprites[gBattleStruct->linkBattleVsSpriteId_V].pos1.x; + gSprites[gBattleStruct->linkBattleVsSpriteId_S].data[1] = gSprites[gBattleStruct->linkBattleVsSpriteId_S].pos1.x; + gSprites[gBattleStruct->linkBattleVsSpriteId_V].data[2] = 0; + gSprites[gBattleStruct->linkBattleVsSpriteId_S].data[2] = 0; + } + break; + } +} + +void DrawBattleEntryBackground(void) +{ + if (gBattleTypeFlags & BATTLE_TYPE_LINK) + { + LZDecompressVram(gFile_graphics_battle_transitions_vs_frame_sheet, (void*)(BG_CHAR_ADDR(1))); + LZDecompressVram(gVsLettersGfx, (void*)(VRAM + 0x10000)); + LoadCompressedPalette(gFile_graphics_battle_transitions_vs_frame_palette, 0x60, 0x20); + SetBgAttribute(1, BG_ATTR_SCREENSIZE, 1); + SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(1) | BGCNT_16COLOR | BGCNT_SCREENBASE(28) | BGCNT_TXT512x256); + CopyToBgTilemapBuffer(1, gFile_graphics_battle_transitions_vs_frame_tilemap, 0, 0); + CopyToBgTilemapBuffer(2, gFile_graphics_battle_transitions_vs_frame_tilemap, 0, 0); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_OBJ | WININ_WIN0_CLR); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); + gBattle_BG1_Y = -164; + gBattle_BG2_Y = -164; + LoadCompressedSpriteSheetUsingHeap(&sVsLettersSpriteSheet); + } + else if (gBattleTypeFlags & BATTLE_TYPE_POKEDUDE) + { + LoadBattleTerrainEntryGfx(BATTLE_TERRAIN_GRASS); + } + else if (gBattleTypeFlags & (BATTLE_TYPE_TRAINER_TOWER | BATTLE_TYPE_LINK | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER)) + { + LoadBattleTerrainEntryGfx(BATTLE_TERRAIN_BUILDING); + } + else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) + { + if (gGameVersion == VERSION_FIRE_RED) + { + LoadBattleTerrainEntryGfx(BATTLE_TERRAIN_CAVE); + } + else + { + LoadBattleTerrainEntryGfx(BATTLE_TERRAIN_WATER); + } + } + else + { + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) + { + u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass; + if (trainerClass == CLASS_LEADER_2) + { + LoadBattleTerrainEntryGfx(BATTLE_TERRAIN_BUILDING); + return; + } + else if (trainerClass == CLASS_CHAMPION_2) + { + LoadBattleTerrainEntryGfx(BATTLE_TERRAIN_BUILDING); + return; + } + } + + if (GetCurrentMapBattleScene() == MAP_BATTLE_SCENE_NORMAL) + { + LoadBattleTerrainEntryGfx(gBattleTerrain); + } + else + { + LoadBattleTerrainEntryGfx(BATTLE_TERRAIN_BUILDING); + } + } +} + +static u8 GetBattleTerrainOverride(void) +{ + u8 battleScene; + if (gBattleTypeFlags & (BATTLE_TYPE_TRAINER_TOWER | BATTLE_TYPE_LINK | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER)) + { + return BATTLE_TERRAIN_LINK; + } + else if (gBattleTypeFlags & BATTLE_TYPE_POKEDUDE) + { + gBattleTerrain = BATTLE_TERRAIN_GRASS; + return BATTLE_TERRAIN_GRASS; + } + else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) + { + if (gTrainers[gTrainerBattleOpponent_A].trainerClass == CLASS_LEADER_2) + { + return BATTLE_TERRAIN_LEADER; + } + else if (gTrainers[gTrainerBattleOpponent_A].trainerClass == CLASS_CHAMPION_2) + { + return BATTLE_TERRAIN_CHAMPION; + } + } + battleScene = GetCurrentMapBattleScene(); + if (battleScene == MAP_BATTLE_SCENE_NORMAL) + { + return gBattleTerrain; + } + return GetBattleTerrainByMapScene(battleScene); +} + +bool8 LoadChosenBattleElement(u8 caseId) +{ + bool8 ret = FALSE; + u8 battleScene; + switch (caseId) + { + case 0: + LZDecompressVram(gBattleTextboxTiles, (void *)BG_CHAR_ADDR(0)); + break; + case 1: + CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0x000); + CopyBgTilemapBufferToVram(0); + break; + case 2: + LoadCompressedPalette(gBattleTextboxPalette, 0x00, 0x40); + break; + case 3: + battleScene = GetBattleTerrainOverride(); + LZDecompressVram(sBattleTerrainTable[battleScene].tileset, (void *)BG_CHAR_ADDR(2)); + // fallthrough + case 4: + battleScene = GetBattleTerrainOverride(); + LZDecompressVram(sBattleTerrainTable[battleScene].tilemap, (void *)BG_SCREEN_ADDR(26)); + break; + case 5: + battleScene = GetBattleTerrainOverride(); + LoadCompressedPalette(sBattleTerrainTable[battleScene].palette, 0x20, 0x60); + break; + case 6: + LoadBattleMenuWindowGfx(); + break; + default: + ret = TRUE; + break; + } + return ret; +} diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 7df93e170..a80e79bf4 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -1,27 +1,20 @@ #include "global.h" -#include "bg.h" #include "data.h" #include "link.h" -#include "main.h" #include "m4a.h" #include "palette.h" #include "pokeball.h" #include "pokemon.h" -#include "reshow_battle_screen.h" #include "sound.h" #include "string_util.h" #include "task.h" #include "text.h" #include "util.h" -#include "window.h" #include "battle.h" -#include "battle_ai_script_commands.h" #include "battle_anim.h" #include "battle_controllers.h" #include "battle_interface.h" #include "battle_message.h" -#include "battle_setup.h" -#include "battle_tower.h" #include "constants/battle_anim.h" #include "constants/songs.h" #include "constants/facility_trainer_classes.h" @@ -1134,11 +1127,11 @@ static void LinkOpponentHandleDrawTrainerPic(void) } else if (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender != MALE) { - trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PLAYER_4]; + trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_LEAF]; } else { - trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PLAYER_3]; + trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RED]; } } else @@ -1159,11 +1152,11 @@ static void LinkOpponentHandleDrawTrainerPic(void) } else if (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].gender != MALE) { - trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PLAYER_4]; + trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_LEAF]; } else { - trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PLAYER_3]; + trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RED]; } } DecompressTrainerFrontPic(trainerPicId, gActiveBattler); diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 96130f049..5ac4f1abc 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -1,9 +1,6 @@ #include "global.h" -#include "bg.h" #include "data.h" #include "link.h" -#include "main.h" -#include "m4a.h" #include "palette.h" #include "pokeball.h" #include "pokemon.h" @@ -12,16 +9,11 @@ #include "task.h" #include "text.h" #include "util.h" -#include "window.h" #include "battle.h" -#include "battle_ai_script_commands.h" #include "battle_anim.h" #include "battle_controllers.h" #include "battle_interface.h" #include "battle_message.h" -#include "battle_setup.h" -#include "battle_tower.h" -#include "reshow_battle_screen.h" #include "constants/battle_anim.h" #include "constants/songs.h" diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 3cb6d1432..26e35ae65 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -1,15 +1,10 @@ #include "global.h" -#include "bg.h" #include "data.h" -#include "item.h" -#include "link.h" #include "main.h" #include "m4a.h" #include "task.h" #include "text.h" #include "util.h" -#include "window.h" -#include "palette.h" #include "pokeball.h" #include "pokemon.h" #include "random.h" @@ -20,15 +15,12 @@ #include "battle_controllers.h" #include "battle_message.h" #include "battle_interface.h" -#include "battle_setup.h" #include "battle_tower.h" #include "battle_gfx_sfx_util.h" #include "battle_ai_script_commands.h" #include "battle_ai_switch_items.h" #include "trainer_tower.h" -#include "reshow_battle_screen.h" #include "constants/battle_anim.h" -#include "constants/items.h" #include "constants/moves.h" #include "constants/songs.h" diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index cb9e04a50..a751c0eea 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -10,7 +10,6 @@ #include "party_menu.h" #include "pokeball.h" #include "pokemon.h" -#include "random.h" #include "sound.h" #include "strings.h" #include "string_util.h" @@ -24,7 +23,6 @@ #include "battle_controllers.h" #include "battle_interface.h" #include "battle_message.h" -#include "battle_setup.h" #include "battle_script_commands.h" #include "reshow_battle_screen.h" #include "constants/battle_anim.h" @@ -831,9 +829,9 @@ void sub_802F6A8(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK) { if (gWirelessCommType == 0) - sub_800AAC0(); + Link_TryStartSend5FFF(); else - sub_800AB9C(); + PrepareSendLinkCmd2FFE_or_RfuCmd6600(); gBattlerControllerFuncs[gActiveBattler] = sub_802F610; } else diff --git a/src/battle_controller_pokedude.c b/src/battle_controller_pokedude.c index d8ebe5ba4..a6b3fe994 100644 --- a/src/battle_controller_pokedude.c +++ b/src/battle_controller_pokedude.c @@ -11,7 +11,6 @@ #include "link.h" #include "sound.h" #include "event_data.h" -#include "item.h" #include "item_menu.h" #include "text.h" #include "strings.h" @@ -25,7 +24,6 @@ #include "reshow_battle_screen.h" #include "teachy_tv.h" #include "constants/songs.h" -#include "constants/items.h" #include "constants/moves.h" #include "constants/pokemon.h" #include "constants/trainers.h" @@ -127,7 +125,7 @@ static void SetPokedudeMonData(u8 monId); static void sub_8159478(u8 battlerId); static void PokedudeDoMoveAnimation(void); static void sub_81595EC(u8 taskId); -static const u8 *sub_8159EF0(void); +static const u8 *GetPokedudeText(void); u8 *gUnknown_3005EE0[MAX_BATTLERS_COUNT]; @@ -224,10 +222,10 @@ static const u8 gUnknown_8479048[][8] = static const u8 (*const gUnknown_8479060[])[8] = { - gUnknown_8479008, - gUnknown_8479018, - gUnknown_8479030, - gUnknown_8479048, + [TTVSCR_BATTLE] = gUnknown_8479008, + [TTVSCR_STATUS] = gUnknown_8479018, + [TTVSCR_MATCHUPS] = gUnknown_8479030, + [TTVSCR_CATCHING] = gUnknown_8479048, }; static const u8 gUnknown_8479070[][8] = @@ -261,10 +259,10 @@ static const u8 gUnknown_84790C0[][8] = static const u8 (*const gUnknown_84790D8[])[8] = { - gUnknown_8479070, - gUnknown_8479080, - gUnknown_84790A0, - gUnknown_84790C0, + [TTVSCR_BATTLE] = gUnknown_8479070, + [TTVSCR_STATUS] = gUnknown_8479080, + [TTVSCR_MATCHUPS] = gUnknown_84790A0, + [TTVSCR_CATCHING] = gUnknown_84790C0, }; static const struct Unk_84790E8 gUnknown_84790E8[] = @@ -417,48 +415,48 @@ static const struct Unk_84790E8 gUnknown_8479168[] = static const struct Unk_84790E8 *const gUnknown_8479198[] = { - gUnknown_84790E8, - gUnknown_8479108, - gUnknown_8479130, - gUnknown_8479168, + [TTVSCR_BATTLE] = gUnknown_84790E8, + [TTVSCR_STATUS] = gUnknown_8479108, + [TTVSCR_MATCHUPS] = gUnknown_8479130, + [TTVSCR_CATCHING] = gUnknown_8479168, }; -static const u8 *const gUnknown_84791A8[] = +static const u8 *const sPokedudeTexts_Battle[] = { - gUnknown_81C5F69, - gUnknown_81C5FA7, - gUnknown_81C5FDC, - gUnknown_81C601C, + Pokedude_Text_SpeedierBattlerGoesFirst, + Pokedude_Text_MyRattataFasterThanPidgey, + Pokedude_Text_BattlersTakeTurnsAttacking, + Pokedude_Text_MyRattataWonGetsEXP, }; -static const u8 *const gUnknown_84791B8[] = +static const u8 *const sPokedudeTexts_Status[] = { - gUnknown_81C60FA, - gUnknown_81C60FA, - gUnknown_81C615A, - gUnknown_81C6196, - gUnknown_81C61EA, + Pokedude_Text_UhOhRattataPoisoned, + Pokedude_Text_UhOhRattataPoisoned, + Pokedude_Text_HealStatusRightAway, + Pokedude_Text_UsingItemTakesTurn, + Pokedude_Text_YayWeManagedToWin, }; -static const u8 *const gUnknown_84791CC[] = +static const u8 *const sPokedudeTexts_TypeMatchup[] = { - gUnknown_81C6202, - gUnknown_81C6301, - gUnknown_81C63A9, - gUnknown_81C63F9, - gUnknown_81C6446, - gUnknown_81C657A, - gUnknown_81C6637, + Pokedude_Text_WaterNotVeryEffectiveAgainstGrass, + Pokedude_Text_GrassEffectiveAgainstWater, + Pokedude_Text_LetsTryShiftingMons, + Pokedude_Text_ShiftingUsesTurn, + Pokedude_Text_ButterfreeDoubleResistsGrass, + Pokedude_Text_ButterfreeGoodAgainstOddish, + Pokedude_Text_YeahWeWon, }; -static const u8 *const gUnknown_84791E8[] = +static const u8 *const sPokedudeTexts_Catching[] = { - gUnknown_81C6645, - gUnknown_81C6645, - gUnknown_81C66CF, - gUnknown_81C6787, - gUnknown_81C684B, - gUnknown_81C686C, + Pokedude_Text_WeakenMonBeforeCatching, + Pokedude_Text_WeakenMonBeforeCatching, + Pokedude_Text_BestIfTargetStatused, + Pokedude_Text_CantDoubleUpOnStatus, + Pokedude_Text_LetMeThrowBall, + Pokedude_Text_PickBestKindOfBall, }; static const struct PokedudeBattlePartyInfo sParties_Battle[] = @@ -556,10 +554,10 @@ static const struct PokedudeBattlePartyInfo sParties_Catching[] = static const struct PokedudeBattlePartyInfo *const sPokedudeBattlePartyPointers[] = { - sParties_Battle, - sParties_Status, - sParties_Matchups, - sParties_Catching, + [TTVSCR_BATTLE] = sParties_Battle, + [TTVSCR_STATUS] = sParties_Status, + [TTVSCR_MATCHUPS] = sParties_Matchups, + [TTVSCR_CATCHING] = sParties_Catching, }; static void nullsub_99(void) @@ -2597,7 +2595,7 @@ static void sub_8159BA8(void) break; case 2: gBattle_BG0_Y = 0; - BattleStringExpandPlaceholdersToDisplayedString(sub_8159EF0()); + BattleStringExpandPlaceholdersToDisplayedString(GetPokedudeText()); BattlePutTextOnWindow(gDisplayedStringBattle, 24); ++gUnknown_3005EE0[gActiveBattler][2]; break; @@ -2658,7 +2656,7 @@ static void sub_8159D04(void) } break; case 3: - BattleStringExpandPlaceholdersToDisplayedString(sub_8159EF0()); + BattleStringExpandPlaceholdersToDisplayedString(GetPokedudeText()); BattlePutTextOnWindow(gDisplayedStringBattle, 24); ++gUnknown_3005EE0[gActiveBattler][2]; break; @@ -2698,19 +2696,19 @@ static void sub_8159D04(void) } } -static const u8 *sub_8159EF0(void) +static const u8 *GetPokedudeText(void) { switch (gBattleStruct->field_96) { - case 0: + case TTVSCR_BATTLE: default: - return gUnknown_84791A8[gBattleStruct->field_97 - 1]; - case 1: - return gUnknown_84791B8[gBattleStruct->field_97 - 1]; - case 2: - return gUnknown_84791CC[gBattleStruct->field_97 - 1]; - case 3: - return gUnknown_84791E8[gBattleStruct->field_97 - 1]; + return sPokedudeTexts_Battle[gBattleStruct->field_97 - 1]; + case TTVSCR_STATUS: + return sPokedudeTexts_Status[gBattleStruct->field_97 - 1]; + case TTVSCR_MATCHUPS: + return sPokedudeTexts_TypeMatchup[gBattleStruct->field_97 - 1]; + case TTVSCR_CATCHING: + return sPokedudeTexts_Catching[gBattleStruct->field_97 - 1]; } } diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 4b5153c7c..28ed4091e 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -9,16 +9,12 @@ #include "item_menu.h" #include "link.h" #include "main.h" -#include "m4a.h" #include "palette.h" #include "pokeball.h" #include "pokemon.h" -#include "reshow_battle_screen.h" #include "sound.h" -#include "task.h" #include "text.h" #include "util.h" -#include "window.h" #include "strings.h" #include "constants/songs.h" #include "constants/battle_anim.h" diff --git a/src/battle_controllers.c b/src/battle_controllers.c index ca2ef0b22..834b9e6b6 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -35,7 +35,7 @@ void HandleLinkBattleSetup(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK) { if (gWirelessCommType) - sub_800B1F4(); + SetWirelessCommType1(); if (!gReceivedRemoteLinkPlayers) OpenLink(); CreateTask(sub_8081A90, 0); @@ -491,7 +491,7 @@ void sub_800DD28(void) if (gReceivedRemoteLinkPlayers && (gBattleTypeFlags & BATTLE_TYPE_20) && (gLinkPlayers[0].linkType == 0x2211)) { - sub_80FBB4C(); + LinkRfu_DestroyIdleTask(); for (i = 0; i < GetLinkPlayerCount(); ++i) { if (GetBlockReceivedStatus() & gBitTable[i]) diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 60cff27be..127b0903b 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -13,8 +13,6 @@ #include "party_menu.h" #include "battle.h" #include "battle_main.h" -#include "battle_controllers.h" -#include "battle_ai_script_commands.h" #include "battle_anim.h" #include "battle_interface.h" #include "constants/battle_anim.h" @@ -546,7 +544,7 @@ bool8 BattleLoadAllHealthBoxesGfx(u8 state) void LoadBattleBarGfx(u8 arg0) { - LZDecompressWram(gFile_graphics_interface_hp_numbers, gMonSpritesGfxPtr->barFontGfx); + LZDecompressWram(gInterfaceGfx_HPNumbers, gMonSpritesGfxPtr->barFontGfx); } bool8 BattleInitAllSprites(u8 *state, u8 *battlerId) diff --git a/src/battle_interface.c b/src/battle_interface.c index 56e9e0fad..e5145adc0 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -12,7 +12,6 @@ #include "safari_zone.h" #include "sound.h" #include "string_util.h" -#include "strings.h" #include "text.h" #include "window.h" #include "constants/songs.h" diff --git a/src/battle_main.c b/src/battle_main.c index 76f373f8f..bbfcf5cf9 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -8,13 +8,11 @@ #include "battle_message.h" #include "battle_scripts.h" #include "battle_setup.h" -#include "battle_tower.h" #include "battle_string_ids.h" #include "berry.h" #include "bg.h" #include "data.h" #include "decompress.h" -#include "dma3.h" #include "event_data.h" #include "evolution_scene.h" #include "graphics.h" @@ -40,14 +38,12 @@ #include "sound.h" #include "sprite.h" #include "string_util.h" -#include "strings.h" #include "task.h" #include "text.h" #include "trig.h" #include "vs_seeker.h" #include "util.h" #include "window.h" -#include "cable_club.h" #include "constants/abilities.h" #include "constants/battle_move_effects.h" #include "constants/battle_setup.h" @@ -645,17 +641,17 @@ void CB2_InitBattle(void) if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - HelpSystem_SetSomeVariable2(0x19); + SetHelpContext(HELPCONTEXT_TRAINER_BATTLE_DOUBLE); else - HelpSystem_SetSomeVariable2(0x18); + SetHelpContext(HELPCONTEXT_TRAINER_BATTLE_SINGLE); } else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) { - HelpSystem_SetSomeVariable2(0x1A); + SetHelpContext(HELPCONTEXT_SAFARI_BATTLE); } else { - HelpSystem_SetSomeVariable2(0x17); + SetHelpContext(HELPCONTEXT_WILD_BATTLE); } } } @@ -979,7 +975,7 @@ static void CB2_HandleStartBattle(void) ResetBlockReceivedFlags(); sub_8010414(2, playerMultiplayerId); SetAllPlayersBerryData(); - taskId = CreateTask(sub_800F6FC, 0); + taskId = CreateTask(InitLinkBattleVsScreen, 0); gTasks[taskId].data[1] = 270; gTasks[taskId].data[2] = 90; gTasks[taskId].data[5] = 0; @@ -1152,9 +1148,9 @@ static void CB2_PreInitMultiBattle(void) { ++gBattleCommunication[MULTIUSE_STATE]; if (gWirelessCommType) - sub_800AB9C(); + PrepareSendLinkCmd2FFE_or_RfuCmd6600(); else - sub_800AAC0(); + Link_TryStartSend5FFF(); } break; case 3: @@ -1227,7 +1223,7 @@ static void CB2_HandleStartMultiBattle(void) SetAllPlayersBerryData(); SetDeoxysStats(); memcpy(gDecompressionBuffer, gPlayerParty, sizeof(struct Pokemon) * 3); - taskId = CreateTask(sub_800F6FC, 0); + taskId = CreateTask(InitLinkBattleVsScreen, 0); gTasks[taskId].data[1] = 270; gTasks[taskId].data[2] = 90; gTasks[taskId].data[5] = 0; @@ -1785,7 +1781,7 @@ void sub_8011A1C(void) FreeAllSpritePalettes(); gReservedSpritePaletteCount = 4; SetVBlankCallback(VBlankCB_Battle); - taskId = CreateTask(sub_800F6FC, 0); + taskId = CreateTask(InitLinkBattleVsScreen, 0); gTasks[taskId].data[1] = 270; gTasks[taskId].data[2] = 90; gTasks[taskId].data[5] = 1; @@ -3717,7 +3713,7 @@ static void HandleEndTurn_BattleLost(void) } else { - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && ScrSpecial_GetTrainerBattleMode() == TRAINER_BATTLE_EARLY_RIVAL) + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && GetTrainerBattleMode() == TRAINER_BATTLE_EARLY_RIVAL) { if (GetRivalBattleFlags() & RIVAL_BATTLE_HEAL_AFTER) gBattleCommunication[MULTISTRING_CHOOSER] = 1; // Dont do white out text @@ -4164,7 +4160,6 @@ bool8 TryRunFromBattle(u8 battler) { bool8 effect = FALSE; u8 holdEffect; - u8 pyramidMultiplier; u8 speedVar; if (gBattleMons[battler].item == ITEM_ENIGMA_BERRY) diff --git a/src/battle_message.c b/src/battle_message.c index 4f95ae364..7ca47e6fb 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -1271,9 +1271,9 @@ const u8 gUnknown_83FE860[] = _(" is"); const u8 gUnknown_83FE864[] = _(" is"); const u8 gText_BadEgg[] = _("Bad EGG"); const u8 gUnknown_83FE870[] = _("ミツル"); -const u8 gUnknown_83FE874[] = _("{HIGHLIGHT 0}Win"); -const u8 gUnknown_83FE87B[] = _("{HIGHLIGHT 0}Loss"); -const u8 gUnknown_83FE883[] = _("{HIGHLIGHT 0}Draw"); +const u8 gText_Win[] = _("{HIGHLIGHT 0}Win"); +const u8 gText_Loss[] = _("{HIGHLIGHT 0}Loss"); +const u8 gText_Draw[] = _("{HIGHLIGHT 0}Draw"); static const u8 sText_SpaceIs[] = _(" is"); static const u8 sText_ApostropheS[] = _("'s"); const u8 gUnknown_83FE892[] = _("a NORMAL move"); @@ -1294,9 +1294,9 @@ const u8 gUnknown_83FE94D[] = _("a PSYCHIC move"); const u8 gUnknown_83FE95C[] = _("an ICE move"); const u8 gUnknown_83FE968[] = _("a DRAGON move"); const u8 gUnknown_83FE976[] = _("a DARK move"); -const u8 gUnknown_83FE982[] = _("TIME BOARD"); -const u8 gUnknown_83FE98D[] = _("CLEAR TIME"); -const u8 gUnknown_83FE998[] = _("{STR_VAR_1}MIN. {STR_VAR_2}.{STR_VAR_3}SEC."); +const u8 gText_TimeBoard[] = _("TIME BOARD"); +const u8 gText_ClearTime[] = _("CLEAR TIME"); // Unused +const u8 gText_XMinYZSec[] = _("{STR_VAR_1}MIN. {STR_VAR_2}.{STR_VAR_3}SEC."); const u8 gUnknown_83FE9A9[] = _("1F"); const u8 gUnknown_83FE9AC[] = _("2F"); const u8 gUnknown_83FE9AF[] = _("3F"); @@ -1306,7 +1306,7 @@ const u8 gUnknown_83FE9B8[] = _("6F"); const u8 gUnknown_83FE9BB[] = _("7F"); const u8 gUnknown_83FE9BE[] = _("8F"); -const u8 *const gUnknown_83FE9C4[] = { +const u8 *const gTrainerTowerChallengeTypeTexts[NUM_TOWER_CHALLENGE_TYPES] = { gOtherText_Single, gOtherText_Double, gOtherText_Knockout, @@ -1990,7 +1990,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) toCpy = gTrainerClassNames[GetBattleTowerTrainerClassNameId()]; else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_TOWER) - toCpy = gTrainerClassNames[sub_815DA10()]; + toCpy = gTrainerClassNames[GetTrainerTowerOpponentClass()]; else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER) toCpy = gTrainerClassNames[GetEreaderTrainerClassId()]; else @@ -2014,7 +2014,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) } else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_TOWER) { - sub_815DA28(text); + GetTrainerTowerOpponentName(text); toCpy = text; } else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER) @@ -2054,7 +2054,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) case B_TXT_TRAINER1_LOSE_TEXT: // trainerA lose text if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_TOWER) { - sub_815DC40(gStringVar4, 0); + GetTrainerTowerOpponentLoseText(gStringVar4, 0); toCpy = gStringVar4; } else @@ -2065,7 +2065,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) case B_TXT_TRAINER1_WIN_TEXT: // trainerA win text if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_TOWER) { - sub_815DBF4(gStringVar4, 0); + GetTrainerTowerOpponentWinText(gStringVar4, 0); toCpy = gStringVar4; } else @@ -2074,11 +2074,11 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) } break; case B_TXT_TRAINER2_LOSE_TEXT: - sub_815DC40(gStringVar4, 1); + GetTrainerTowerOpponentLoseText(gStringVar4, 1); toCpy = gStringVar4; break; case B_TXT_TRAINER2_WIN_TEXT: - sub_815DBF4(gStringVar4, 1); + GetTrainerTowerOpponentWinText(gStringVar4, 1); toCpy = gStringVar4; break; case B_TXT_26: // ? diff --git a/src/battle_records.c b/src/battle_records.c index 07ff665d9..3196d9bad 100644 --- a/src/battle_records.c +++ b/src/battle_records.c @@ -88,7 +88,7 @@ static u8 *const sStringVars[3] = { gStringVar3 }; -void Special_BattleRecords(void) +void ShowBattleRecords(void) { SetVBlankCallback(NULL); SetMainCallback2(MainCB2_SetUp); @@ -419,7 +419,7 @@ void ClearPlayerLinkBattleRecords(void) static void IncTrainerCardWinCount(s32 battlerId) { - u16 *wins = &gTrainerCards[battlerId].linkBattleWins; + u16 *wins = &gTrainerCards[battlerId].rse.linkBattleWins; (*wins)++; if (*wins > 9999) *wins = 9999; @@ -427,7 +427,7 @@ static void IncTrainerCardWinCount(s32 battlerId) static void IncTrainerCardLossCount(s32 battlerId) { - u16 *losses = &gTrainerCards[battlerId].linkBattleLosses; + u16 *losses = &gTrainerCards[battlerId].rse.linkBattleLosses; (*losses)++; if (*losses > 9999) *losses = 9999; @@ -453,7 +453,7 @@ void TryRecordLinkBattleOutcome(s32 battlerId) if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(UNION_ROOM) || gSaveBlock1Ptr->location.mapNum != MAP_NUM(UNION_ROOM)) { UpdateBattleOutcomeOnTrainerCards(battlerId); - AddOpponentLinkBattleRecord(&gSaveBlock2Ptr->linkBattleRecords, gTrainerCards[battlerId].playerName, gTrainerCards[battlerId].trainerId, gBattleOutcome, gLinkPlayers[battlerId].language); + AddOpponentLinkBattleRecord(&gSaveBlock2Ptr->linkBattleRecords, gTrainerCards[battlerId].rse.playerName, gTrainerCards[battlerId].rse.trainerId, gBattleOutcome, gLinkPlayers[battlerId].language); } } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 527e32bcc..de505827f 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3,7 +3,6 @@ #include "util.h" #include "pokemon.h" #include "random.h" -#include "data.h" #include "text.h" #include "sound.h" #include "pokedex.h" @@ -14,7 +13,6 @@ #include "bg.h" #include "string_util.h" #include "pokemon_icon.h" -#include "m4a.h" #include "mail.h" #include "event_data.h" #include "strings.h" @@ -30,7 +28,6 @@ #include "battle.h" #include "battle_message.h" #include "battle_anim.h" -#include "battle_setup.h" #include "battle_ai_script_commands.h" #include "battle_scripts.h" #include "battle_string_ids.h" @@ -48,7 +45,7 @@ #include "constants/abilities.h" #include "constants/pokemon.h" #include "constants/trainers.h" -#include "constants/map_types.h" +#include "constants/maps.h" #define DEFENDER_IS_PROTECTED ((gProtectStructs[gBattlerTarget].protected) && (gBattleMoves[gCurrentMove].flags & FLAG_PROTECT_AFFECTED)) diff --git a/src/battle_setup.c b/src/battle_setup.c index ae6aaf8be..82a73990b 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -13,7 +13,7 @@ #include "strings.h" #include "string_util.h" #include "event_data.h" -#include "event_object_80688E4.h" +#include "event_object_movement.h" #include "metatile_behavior.h" #include "event_scripts.h" #include "fldeff.h" @@ -22,10 +22,8 @@ #include "field_player_avatar.h" #include "field_screen_effect.h" #include "field_message_box.h" -#include "event_object_movement.h" #include "vs_seeker.h" #include "battle.h" -#include "battle_setup.h" #include "battle_transition.h" #include "battle_controllers.h" #include "constants/battle_setup.h" @@ -37,7 +35,6 @@ #include "constants/pokemon.h" #include "constants/trainers.h" #include "constants/trainer_classes.h" -#include "constants/map_types.h" enum { @@ -224,7 +221,7 @@ static bool8 CheckSilphScopeInPokemonTower(u16 mapGroup, u16 mapNum) return FALSE; } -void BattleSetup_StartWildBattle(void) +void StartWildBattle(void) { if (GetSafariZoneFlag()) DoSafariBattle(); @@ -246,7 +243,7 @@ static void DoStandardWildBattle(void) IncrementGameStat(GAME_STAT_WILD_BATTLES); } -void BattleSetup_StartRoamerBattle(void) +void StartRoamerBattle(void) { ScriptContext2_Enable(); FreezeObjectEvents(); @@ -288,7 +285,7 @@ static void DoTrainerBattle(void) IncrementGameStat(GAME_STAT_TRAINER_BATTLES); } -void ScrSpecial_StartOldManTutorialBattle(void) +void StartOldManTutorialBattle(void) { CreateMaleMon(&gEnemyParty[0], SPECIES_WEEDLE, 5); ScriptContext2_Enable(); @@ -297,7 +294,7 @@ void ScrSpecial_StartOldManTutorialBattle(void) CreateBattleStartTask(B_TRANSITION_SLICED_SCREEN, 0); } -void BattleSetup_StartScriptedWildBattle(void) +void StartScriptedWildBattle(void) { ScriptContext2_Enable(); gMain.savedCallback = CB2_EndScriptedWildBattle; @@ -307,7 +304,7 @@ void BattleSetup_StartScriptedWildBattle(void) IncrementGameStat(GAME_STAT_WILD_BATTLES); } -void ScrSpecial_StartMarowakBattle(void) +void StartMarowakBattle(void) { ScriptContext2_Enable(); gMain.savedCallback = CB2_EndMarowakBattle; @@ -326,7 +323,7 @@ void ScrSpecial_StartMarowakBattle(void) IncrementGameStat(GAME_STAT_WILD_BATTLES); } -void ScrSpecial_StartSouthernIslandBattle(void) +void StartSouthernIslandBattle(void) { ScriptContext2_Enable(); gMain.savedCallback = CB2_EndScriptedWildBattle; @@ -336,7 +333,7 @@ void ScrSpecial_StartSouthernIslandBattle(void) IncrementGameStat(GAME_STAT_WILD_BATTLES); } -void Special_StartLegendaryBattle(void) +void StartLegendaryBattle(void) { u16 species; @@ -367,7 +364,7 @@ void Special_StartLegendaryBattle(void) IncrementGameStat(GAME_STAT_WILD_BATTLES); } -void Special_StartGroudonKyogreBattle(void) +void StartGroudonKyogreBattle(void) { ScriptContext2_Enable(); gMain.savedCallback = CB2_EndScriptedWildBattle; @@ -380,7 +377,7 @@ void Special_StartGroudonKyogreBattle(void) IncrementGameStat(GAME_STAT_WILD_BATTLES); } -void Special_StartRegiBattle(void) +void StartRegiBattle(void) { ScriptContext2_Enable(); gMain.savedCallback = CB2_EndScriptedWildBattle; @@ -781,7 +778,7 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data) { case TRAINER_BATTLE_SINGLE_NO_INTRO_TEXT: TrainerBattleLoadArgs(sOrdinaryNoIntroBattleParams, data); - return EventScript_DoTrainerBattle; + return EventScript_DoNoIntroTrainerBattle; case TRAINER_BATTLE_DOUBLE: TrainerBattleLoadArgs(sDoubleBattleParams, data); SetMapVarsToTrainer(); @@ -810,7 +807,7 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data) return EventScript_TryDoRematchBattle; case TRAINER_BATTLE_EARLY_RIVAL: TrainerBattleLoadArgs(sEarlyRivalBattleParams, data); - return EventScript_DoTrainerBattle; + return EventScript_DoNoIntroTrainerBattle; default: TrainerBattleLoadArgs(sOrdinaryBattleParams, data); SetMapVarsToTrainer(); @@ -823,7 +820,7 @@ void ConfigureAndSetUpOneTrainerBattle(u8 trainerEventObjId, const u8 *trainerSc gSelectedObjectEvent = trainerEventObjId; gSpecialVar_LastTalked = gObjectEvents[trainerEventObjId].localId; BattleSetup_ConfigureTrainerBattle(trainerScript + 1); - ScriptContext1_SetupScript(gUnknown_81A4EB4); + ScriptContext1_SetupScript(EventScript_DoTrainerBattleFromApproach); ScriptContext2_Enable(); } @@ -841,7 +838,7 @@ void SetUpTrainerMovement(void) SetTrainerMovementType(objectEvent, GetTrainerFacingDirectionMovementType(objectEvent->facingDirection)); } -u8 ScrSpecial_GetTrainerBattleMode(void) +u8 GetTrainerBattleMode(void) { return sTrainerBattleMode; } @@ -851,7 +848,7 @@ u16 GetRivalBattleFlags(void) return sRivalBattleFlags; } -u16 ScrSpecial_HasTrainerBeenFought(void) +u16 Script_HasTrainerBeenFought(void) { return FlagGet(GetTrainerAFlag()); } @@ -882,10 +879,10 @@ void ClearTrainerFlag(u16 trainerId) FlagClear(FLAG_TRAINER_FLAG_START + trainerId); } -void BattleSetup_StartTrainerBattle(void) +void StartTrainerBattle(void) { gBattleTypeFlags = BATTLE_TYPE_TRAINER; - if (ScrSpecial_GetTrainerBattleMode() == TRAINER_BATTLE_EARLY_RIVAL && GetRivalBattleFlags() & RIVAL_BATTLE_TUTORIAL) + if (GetTrainerBattleMode() == TRAINER_BATTLE_EARLY_RIVAL && GetRivalBattleFlags() & RIVAL_BATTLE_TUTORIAL) gBattleTypeFlags |= BATTLE_TYPE_FIRST_BATTLE; gMain.savedCallback = CB2_EndTrainerBattle; DoTrainerBattle(); @@ -959,7 +956,7 @@ static void CB2_EndRematchBattle(void) } } -void ScrSpecial_StartTrainerEyeRematch(void) +void StartRematchBattle(void) { gBattleTypeFlags = BATTLE_TYPE_TRAINER; gMain.savedCallback = CB2_EndRematchBattle; @@ -967,7 +964,7 @@ void ScrSpecial_StartTrainerEyeRematch(void) ScriptContext1_Stop(); } -void ScrSpecial_ShowTrainerIntroSpeech(void) +void ShowTrainerIntroSpeech(void) { ShowFieldMessage(GetIntroSpeechOfApproachingTrainer()); } @@ -988,7 +985,7 @@ const u8 *BattleSetup_GetTrainerPostBattleScript(void) return Test_EventScript_Sign; } -void ScrSpecial_ShowTrainerNonBattlingSpeech(void) +void ShowTrainerCantBattleSpeech(void) { ShowFieldMessage(GetTrainerCantBattleSpeech()); } diff --git a/src/battle_tower.c b/src/battle_tower.c index cecc05e29..818c909aa 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -24,7 +24,7 @@ #include "constants/moves.h" #include "constants/pokemon.h" #include "constants/vars.h" -#include "constants/object_events.h" +#include "constants/event_objects.h" static EWRAM_DATA u16 sSpecialVar_0x8004_Copy = 0; @@ -177,7 +177,7 @@ static const u16 sLongStreakPrizes[] = { ITEM_CHOICE_BAND }; -void ScrSpecial_BattleTowerMapScript2(void) +void BattleTowerMapScript2(void) { u8 count = 0; s32 levelType; @@ -389,7 +389,7 @@ void ChooseNextBattleTowerTrainer(void) static void SetBattleTowerTrainerGfxId(u8 trainerClass) { - VarSet(VAR_OBJ_GFX_ID_0, OBJECT_EVENT_GFX_YOUNGSTER); + VarSet(VAR_OBJ_GFX_ID_0, OBJ_EVENT_GFX_YOUNGSTER); } void SetEReaderTrainerGfxId(void) @@ -825,7 +825,7 @@ void CheckPartyBattleTowerBanlist(void) } } -static void PrintBattleTowerTrainerMessage(const u16 *greeting) +static void BufferBattleTowerTrainerMessage(const u16 *greeting) { s32 i; if (EC_DoesEasyChatStringFitOnLine(greeting, 3, 2, 18)) @@ -847,11 +847,11 @@ static void PrintBattleTowerTrainerMessage(const u16 *greeting) void PrintBattleTowerTrainerGreeting(void) { if (gSaveBlock2Ptr->battleTower.battleTowerTrainerId == BATTLE_TOWER_EREADER_TRAINER_ID) - PrintBattleTowerTrainerMessage(gSaveBlock2Ptr->battleTower.ereaderTrainer.greeting); + BufferBattleTowerTrainerMessage(gSaveBlock2Ptr->battleTower.ereaderTrainer.greeting); else if (gSaveBlock2Ptr->battleTower.battleTowerTrainerId < BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID) - PrintBattleTowerTrainerMessage(gBattleTowerTrainers[gSaveBlock2Ptr->battleTower.battleTowerTrainerId].greeting); + BufferBattleTowerTrainerMessage(gBattleTowerTrainers[gSaveBlock2Ptr->battleTower.battleTowerTrainerId].greeting); else - PrintBattleTowerTrainerMessage(gSaveBlock2Ptr->battleTower.records[gSaveBlock2Ptr->battleTower.battleTowerTrainerId - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].greeting); + BufferBattleTowerTrainerMessage(gSaveBlock2Ptr->battleTower.records[gSaveBlock2Ptr->battleTower.battleTowerTrainerId - BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID].greeting); } static void CB2_FinishEReaderBattle(void) @@ -1395,9 +1395,9 @@ void ClearEReaderTrainer(struct BattleTowerEReaderTrainer *ereaderTrainer) ((u32 *)ereaderTrainer)[i] = 0; } -void PrintEReaderTrainerGreeting(void) +void BufferEReaderTrainerGreeting(void) { - PrintBattleTowerTrainerMessage(gSaveBlock2Ptr->battleTower.ereaderTrainer.greeting); + BufferBattleTowerTrainerMessage(gSaveBlock2Ptr->battleTower.ereaderTrainer.greeting); } static void PrintEReaderTrainerFarewellMessage(void) @@ -1405,9 +1405,9 @@ static void PrintEReaderTrainerFarewellMessage(void) if (gBattleOutcome == B_OUTCOME_DREW) gStringVar4[0] = EOS; else if (gBattleOutcome == B_OUTCOME_WON) - PrintBattleTowerTrainerMessage(gSaveBlock2Ptr->battleTower.ereaderTrainer.farewellPlayerWon); + BufferBattleTowerTrainerMessage(gSaveBlock2Ptr->battleTower.ereaderTrainer.farewellPlayerWon); else - PrintBattleTowerTrainerMessage(gSaveBlock2Ptr->battleTower.ereaderTrainer.farewellPlayerLost); + BufferBattleTowerTrainerMessage(gSaveBlock2Ptr->battleTower.ereaderTrainer.farewellPlayerLost); } void Dummy_TryEnableBravoTrainerBattleTower(void) diff --git a/src/battle_transition.c b/src/battle_transition.c index 463a3d930..b33d72f15 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -644,7 +644,7 @@ static bool8 BT_Phase1Blink(struct Task *task) static bool8 BT_WaitForPhase1(struct Task *task) { - if (FindTaskIdByFunc(sBT_Phase1Tasks[task->tTransitionId]) == TASK_NONE) + if (FindTaskIdByFunc(sBT_Phase1Tasks[task->tTransitionId]) == TAIL_SENTINEL) { ++task->tState; return TRUE; @@ -665,7 +665,7 @@ static bool8 BT_Phase2LaunchAnimTask(struct Task *task) static bool8 BT_WaitForPhase2(struct Task *task) { task->tTransitionDone = FALSE; - if (FindTaskIdByFunc(sBT_Phase2Tasks[task->tTransitionId]) == TASK_NONE) + if (FindTaskIdByFunc(sBT_Phase2Tasks[task->tTransitionId]) == TAIL_SENTINEL) task->tTransitionDone = TRUE; return FALSE; } @@ -3432,7 +3432,7 @@ static void BT_CreatePhase1SubTask(s16 fadeOutDelay, s16 fadeInDelay, s16 blinkT static bool8 BT_IsPhase1Done(void) { - if (FindTaskIdByFunc(BT_Phase1SubTask) == TASK_NONE) + if (FindTaskIdByFunc(BT_Phase1SubTask) == TAIL_SENTINEL) return TRUE; else return FALSE; diff --git a/src/battle_util2.c b/src/battle_util2.c index a3a748767..6de4941cb 100644 --- a/src/battle_util2.c +++ b/src/battle_util2.c @@ -5,7 +5,6 @@ #include "pokemon.h" #include "malloc.h" #include "trainer_tower.h" -#include "battle_util2.h" void AllocateBattleResources(void) { diff --git a/src/berry_crush.c b/src/berry_crush.c new file mode 100644 index 000000000..e59cad21a --- /dev/null +++ b/src/berry_crush.c @@ -0,0 +1,228 @@ +#include "global.h" +#include "gflib.h" +#include "berry_crush.h" +#include "berry_pouch.h" +#include "berry_powder.h" +#include "item.h" +#include "item_menu.h" +#include "link.h" +#include "link_rfu.h" +#include "math_util.h" +#include "overworld.h" +#include "task.h" +#include "constants/songs.h" +#include "constants/items.h" + +static EWRAM_DATA struct BerryCrushGame *gUnknown_203F3DC = NULL; + +static void sub_814B860(void); +static void sub_814BA6C(void); +static void sub_814BA80(void); +static void sub_814BA98(u8 taskId); + +struct BerryCrushGame *sub_814B6F0(void) +{ + return gUnknown_203F3DC; +} + +u32 sub_814B6FC(MainCallback callback) +{ + if (!gUnknown_203F3DC) + return 2; + + if (!callback) + callback = gUnknown_203F3DC->unk0; + + DestroyTask(gUnknown_203F3DC->unkA); + FREE_AND_SET_NULL(gUnknown_203F3DC); + SetMainCallback2(callback); + if (callback == CB2_ReturnToField) + { + PlayNewMapMusic(MUS_POKECEN); + SetMainCallback1(CB1_Overworld); + } + + return 0; +} + +void StartBerryCrush(MainCallback callback) +{ + u8 playerCount = 0; + u8 multiplayerId; + + if (!gReceivedRemoteLinkPlayers || gWirelessCommType == 0) + { + SetMainCallback2(callback); + Rfu.linkman_param[0] = 0; + Rfu.linkman_param[1] = 0; + Rfu.errorState = 1; + return; + } + + playerCount = GetLinkPlayerCount(); + multiplayerId = GetMultiplayerId(); + if (playerCount < 2 || multiplayerId >= playerCount) + { + SetMainCallback2(callback); + Rfu.linkman_param[0] = 0; + Rfu.linkman_param[1] = 0; + Rfu.errorState = 1; + return; + } + + gUnknown_203F3DC = AllocZeroed(sizeof(*gUnknown_203F3DC)); + if (!gUnknown_203F3DC) + { + SetMainCallback2(callback); + Rfu.linkman_param[0] = 0; + Rfu.linkman_param[1] = 0; + Rfu.errorState = 1; + return; + } + + gUnknown_203F3DC->unk0 = callback; + gUnknown_203F3DC->unk8 = multiplayerId; + gUnknown_203F3DC->unk9 = playerCount; + sub_814BABC(gUnknown_203F3DC); + gUnknown_203F3DC->unk12 = 1; + gUnknown_203F3DC->unkE = 1; + gUnknown_203F3DC->unkF = 6; + sub_814D564(gUnknown_203F3DC->unk36, 1, -1, 0, 16, 0, 0); + sub_814BB4C(4, 1, gUnknown_203F3DC->unk36); + SetMainCallback2(sub_814BA80); + gUnknown_203F3DC->unkA = CreateTask(sub_814BA98, 8); +} + +static void sub_814B860(void) +{ + if (gSpecialVar_ItemId < FIRST_BERRY_INDEX || gSpecialVar_ItemId > LAST_BERRY_INDEX + 1) + gSpecialVar_ItemId = ITEM_CHERI_BERRY; + else + RemoveBagItem(gSpecialVar_ItemId, 1); + + gUnknown_203F3DC->unk68.as_four_players.others[gUnknown_203F3DC->unk8].unk0 = gSpecialVar_ItemId - FIRST_BERRY_INDEX; + gUnknown_203F3DC->unkE = 1; + gUnknown_203F3DC->unkF = 9; + sub_814D564(gUnknown_203F3DC->unk36, 0, -1, 0, 16, 0, 0); + sub_814BB4C(4, 1, gUnknown_203F3DC->unk36); + gUnknown_203F3DC->unkA = CreateTask(sub_814BA98, 8); + SetMainCallback2(sub_814BA80); +} + +void sub_814B8F0(void) +{ + DestroyTask(gUnknown_203F3DC->unkA); + InitBerryPouch(BERRYPOUCH_FROMBERRYCRUSH, sub_814B860, FALSE); +} + +void sub_814B914(void) +{ + SetVBlankCallback(sub_814BA6C); +} + +void sub_814B924(void) +{ + SetVBlankCallback(NULL); +} + +void sub_814B930(void) +{ + u32 var0, var1; + + var0 = gUnknown_203F3DC->unk68.as_four_players.unk00.unk04; + var0 <<= 8; + var0 = sub_80D8B68(var0, 60 << 8); + var1 = gUnknown_203F3DC->unk68.as_four_players.unk00.unk0A; + var1 <<= 8; + var1 = sub_80D8B68(var1, var0) & 0xFFFF; + gUnknown_203F3DC->unk16 = var1; + switch (gUnknown_203F3DC->unk9) + { + case 2: + if (gUnknown_203F3DC->unk16 > gSaveBlock2Ptr->berryCrush.berryCrushResults[0]) + { + gUnknown_203F3DC->unk25_1 = 1; + gSaveBlock2Ptr->berryCrush.berryCrushResults[0] = gUnknown_203F3DC->unk16; + } + break; + case 3: + if (gUnknown_203F3DC->unk16 > gSaveBlock2Ptr->berryCrush.berryCrushResults[1]) + { + gUnknown_203F3DC->unk25_1 = 1; + gSaveBlock2Ptr->berryCrush.berryCrushResults[1] = gUnknown_203F3DC->unk16; + } + break; + case 4: + if (gUnknown_203F3DC->unk16 > gSaveBlock2Ptr->berryCrush.berryCrushResults[2]) + { + gUnknown_203F3DC->unk25_1 = 1; + gSaveBlock2Ptr->berryCrush.berryCrushResults[2] = gUnknown_203F3DC->unk16; + } + break; + case 5: + if (gUnknown_203F3DC->unk16 > gSaveBlock2Ptr->berryCrush.berryCrushResults[3]) + { + gUnknown_203F3DC->unk25_1 = 1; + gSaveBlock2Ptr->berryCrush.berryCrushResults[3] = gUnknown_203F3DC->unk16; + } + break; + } + + gUnknown_203F3DC->unk1C = gUnknown_203F3DC->unk68.as_four_players.unk00.unk00; + if (GiveBerryPowder(gUnknown_203F3DC->unk1C)) + return; + + gUnknown_203F3DC->unk25_0 = 1; +} + +static void sub_814BA6C(void) +{ + TransferPlttBuffer(); + LoadOam(); + ProcessSpriteCopyRequests(); +} + +static void sub_814BA80(void) +{ + RunTasks(); + RunTextPrinters(); + AnimateSprites(); + BuildOamBuffer(); +} + +static void sub_814BA98(u8 taskId) +{ + if (gUnknown_203F3DC->unk4) + gUnknown_203F3DC->unk4(gUnknown_203F3DC, gUnknown_203F3DC->unk36); + + sub_814D9CC(gUnknown_203F3DC); +} + +void sub_814BABC(struct BerryCrushGame *arg0) +{ + u8 i; + + for (i = 0; i < arg0->unk9; i++) + { + StringCopy(PLAYER_UNK14(arg0, i), gLinkPlayers[i].name); + arg0->unk68.as_five_players.unk1C[i].unk14[PLAYER_NAME_LENGTH] = EOS; + } + for (; i < 5; i++) + { + memset(PLAYER_UNK14(arg0, i), 1, PLAYER_NAME_LENGTH); + arg0->unk68.as_five_players.unk1C[i].unk14[PLAYER_NAME_LENGTH] = EOS; + } + + switch (gSaveBlock2Ptr->optionsTextSpeed) + { + case OPTIONS_TEXT_SPEED_SLOW: + arg0->unkB = 8; + break; + case OPTIONS_TEXT_SPEED_MID: + arg0->unkB = 4; + break; + case OPTIONS_TEXT_SPEED_FAST: + arg0->unkB = 1; + break; + } +} diff --git a/src/berry_crush_2.c b/src/berry_crush_2.c new file mode 100644 index 000000000..e76f33988 --- /dev/null +++ b/src/berry_crush_2.c @@ -0,0 +1,1480 @@ +#include "global.h" +#include "gflib.h" +#include "berry.h" +#include "berry_crush.h" +#include "berry_powder.h" +#include "item.h" +#include "link.h" +#include "link_rfu.h" +#include "math_util.h" +#include "menu.h" +#include "minigame_countdown.h" +#include "new_menu_helpers.h" +#include "overworld.h" +#include "random.h" +#include "save.h" +#include "strings.h" +#include "constants/songs.h" + +static u32 sub_814BBB8(struct BerryCrushGame * berryCrushGame, u8 *params); +static u32 sub_814BC10(struct BerryCrushGame * berryCrushGame, u8 *params); +static u32 sub_814BC74(struct BerryCrushGame * berryCrushGame, u8 *params); +static u32 sub_814BD7C(struct BerryCrushGame * berryCrushGame, u8 *params); +static u32 sub_814BD9C(struct BerryCrushGame * berryCrushGame, u8 *params); +static u32 sub_814BDBC(struct BerryCrushGame * berryCrushGame, u8 *params); +static u32 sub_814BE0C(struct BerryCrushGame * berryCrushGame, u8 *params); +static u32 sub_814BE64(struct BerryCrushGame * berryCrushGame, u8 *params); +static u32 sub_814BE7C(struct BerryCrushGame * berryCrushGame, u8 *params); +static u32 sub_814BFD0(struct BerryCrushGame * berryCrushGame, u8 *params); +static u32 sub_814C118(struct BerryCrushGame * berryCrushGame, u8 *params); +static u32 sub_814C24C(struct BerryCrushGame * berryCrushGame, u8 *params); +static u32 sub_814C850(struct BerryCrushGame * berryCrushGame, u8 *params); +static u32 sub_814C8F8(struct BerryCrushGame * berryCrushGame, u8 *params); +static u32 sub_814C990(struct BerryCrushGame * berryCrushGame, u8 *params); +static u32 sub_814CB20(struct BerryCrushGame * berryCrushGame, u8 *params); +static u32 sub_814CC0C(struct BerryCrushGame * berryCrushGame, u8 *params); +static u32 sub_814CFA8(struct BerryCrushGame * berryCrushGame, u8 *params); +static u32 sub_814D094(struct BerryCrushGame * berryCrushGame, u8 *params); +static u32 sub_814D188(struct BerryCrushGame * berryCrushGame, u8 *params); +static u32 sub_814D240(struct BerryCrushGame * berryCrushGame, u8 *params); +static u32 sub_814D31C(struct BerryCrushGame * berryCrushGame, u8 *params); +static u32 sub_814D3A4(struct BerryCrushGame * berryCrushGame, u8 *params); +static u32 sub_814D468(struct BerryCrushGame * berryCrushGame, u8 *params); +static u32 sub_814D4C8(struct BerryCrushGame * berryCrushGame, u8 *params); +void sub_814D4D8(struct BerryCrushGame * r4); +void sub_814D5A4(u8 *r0, u32 r1, u32 r2, u32 r3, u32 r5); + +static const u8 gUnknown_846E2E0[] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80}; +static const u8 gUnknown_846E2E8[] = {0x00, 0x01, 0x02, 0x03, 0x05, 0x00, 0x00, 0x00}; + +static const s8 gUnknown_846E2F0[][7] = { + {0x04, 0x01, 0x00, 0xff, 0x00, 0x00, 0x00}, + {0x04, 0x02, 0x00, 0xff, 0x00, 0x00, 0x00}, + {0x04, 0x02, 0x00, 0xfe, 0x00, 0x00, 0x00}, + {0x06, 0x03, 0x01, 0xff, 0xfd, 0xff, 0x00}, + {0x06, 0x04, 0x01, 0xfe, 0xfc, 0xfe, 0x00}, +}; + +ALIGNED(4) const u8 gUnknown_846E314[][4] = { + {0x03, 0x02, 0x01, 0x00}, + {0x03, 0x03, 0x01, 0x00}, + {0x03, 0x03, 0x02, 0x00}, + {0x03, 0x04, 0x02, 0x00}, + {0x03, 0x05, 0x03, 0x00} +}; + +static const u8 *const gUnknown_846E328[] = { + gUnknown_841CE3C, + gUnknown_841CE78, + gUnknown_841CEA8, + gUnknown_841CF14, + gUnknown_841CF50, + gUnknown_841CF70, + gUnknown_841CFA0, + gUnknown_841CFD4, + gUnknown_841D008 +}; + +static u32 (*const gUnknown_846E34C[])(struct BerryCrushGame * berryCrushGame, u8 *params) = { + NULL, + sub_814BBB8, + sub_814BC10, + sub_814BC74, + sub_814BD7C, + sub_814BD9C, + sub_814BDBC, + sub_814BE0C, + sub_814BE64, + sub_814BE7C, + sub_814BFD0, + sub_814C118, + sub_814C24C, + sub_814C850, + sub_814C8F8, + sub_814C990, + sub_814CB20, + sub_814CC0C, + sub_814CFA8, + sub_814D094, + sub_814D188, + sub_814D240, + sub_814D31C, + sub_814D3A4, + sub_814D468, + sub_814D4C8 +}; + +static const u8 gUnknown_846E3B4[][4] = { + {0x02, 0x04, 0x06, 0x07}, + {0x03, 0x05, 0x08, 0x0b}, + {0x03, 0x07, 0x0b, 0x0f}, + {0x04, 0x08, 0x0c, 0x11} +}; + +static const u8 gUnknown_846E3C4[] = {0x05, 0x07, 0x09, 0x0c}; + +static const u8 gUnknown_846E3C8[] = {0x03, 0x07, 0x0F, 0x1F}; + +void sub_814BB4C(u16 r5, u8 r4, u8 *r7) +{ + struct BerryCrushGame * r6 = sub_814B6F0(); + + if (r5 > 25) + r5 = 0; + switch (r4) + { + case 0: + if (r5 != 0) + gUnknown_846E34C[r5](r6, r7); + if (r6->unkE > 25) + r6->unkE = r4; + r6->unk4 = gUnknown_846E34C[r6->unkE]; + break; + case 1: + r6->unk4 = gUnknown_846E34C[r5]; + break; + } +} + +static u32 sub_814BBB8(struct BerryCrushGame * r6, u8 *r1) +{ + u16 r4; + u32 r0; +#ifndef NONMATCHING // fake match, nobody can write such code + register u32 r2 asm("r2"); + register u32 r3 asm("r3"); + + r2 = r1[0]; + r3 = r1[1]; + r3 <<= 8; + r2 |= r3; + r3 = r1[2]; + r3 <<= 16; + r2 |= r3; + r3 = r1[3]; + r3 <<= 24; + r0 = r2; + r0 |= r3; +#else + u32 r2; + + r0 = T1_READ_32(r1); +#endif + r2 = r1[9]; + r1[0] = r2; + r4 = r1[8] << 8; + r2 = r1[7]; + r4 |= r2; + gPaletteFade.bufferTransferDisabled = FALSE; + BeginNormalPaletteFade(r0, r1[4], r1[5], r1[6], r4); + UpdatePaletteFade(); + r6->unkE = 2; + return 0; +} + +static u32 sub_814BC10(struct BerryCrushGame * r4, u8 *r5) +{ + switch (r4->unkC) + { + case 0: + if (UpdatePaletteFade()) + return 0; + if(r5[0] != 0) + ++r4->unkC; + else + r4->unkC = 3; + return 0; + case 1: + LinkRfu_SetRfuFuncToSend6600(); + ++r4->unkC; + return 0; + case 2: + if (IsLinkTaskFinished()) + { + ++r4->unkC; + return 0; + } + return 0; + case 3: + sub_814BB4C(r4->unkF, 1, NULL); + r4->unkC = 0; + return 0; + default: + ++r4->unkC; + return 0; + } +} + +static u32 sub_814BC74(struct BerryCrushGame * r7, u8 *r5) +{ + u16 r4 = r5[3]; + + r4 <<= 8; + r4 |= r5[2]; + switch (r7->unkC) + { + case 0: + DrawDialogueFrame(0, 0); + if (r5[1] & 2) + { + StringExpandPlaceholders(gStringVar4, gUnknown_846E328[r5[0]]); + AddTextPrinterParameterized2(0, 2, gStringVar4, r7->unkB, 0, 2, 1, 3); + } + else + { + AddTextPrinterParameterized2(0, 2, gUnknown_846E328[r5[0]], r7->unkB, 0, 2, 1, 3); + } + CopyWindowToVram(0, 3); + break; + case 1: + if (!IsTextPrinterActive(0)) + { + if (r4 == 0) + ++r7->unkC; + break; + } + return 0; + case 2: + if (!(r4 & gMain.newKeys)) + return 0; + break; + case 3: + if (r5[1] & 1) + ClearDialogWindowAndFrame(0, TRUE); + sub_814BB4C(r7->unkE, 1, NULL); + r7->unkC = r5[4]; + return 0; + } + ++r7->unkC; + return 0; +} + +static u32 sub_814BD7C(struct BerryCrushGame * r4, UNUSED u8 *r1) +{ + if (sub_814D5C8() != 0) + sub_814BB4C(r4->unkE, 0, r4->unk36); + return 0; +} + +static u32 sub_814BD9C(struct BerryCrushGame * r4, UNUSED u8 *r1) +{ + if (sub_814D888() != 0) + sub_814BB4C(r4->unkE, 0, r4->unk36); + return 0; +} + +static u32 sub_814BDBC(struct BerryCrushGame * r4, UNUSED u8 *r1) +{ + switch (r4->unkC) + { + case 0: + LinkRfu_SetRfuFuncToSend6600(); + break; + case 1: + if (IsLinkTaskFinished()) + { + PlayNewMapMusic(MUS_SLOT); + sub_814BB4C(7, 1, NULL); + r4->unk12 = 3; + r4->unkC = 0; + } + return 0; + } + ++r4->unkC; + return 0; +} + +static u32 sub_814BE0C(struct BerryCrushGame * r4, u8 *r5) +{ + switch (r4->unkC) + { + default: + ++r4->unkC; + break; + case 0: + sub_814D4D8(r4); + sub_814D5A4(r5, 0, 1, 0, 1); + r4->unkE = 7; + sub_814BB4C(3, 1, NULL); + break; + case 1: + r4->unkE = 8; + sub_814BB4C(5, 1, NULL); + r4->unkC = 2; + break; + } + return 0; +} + +static u32 sub_814BE64(struct BerryCrushGame * r0, UNUSED u8 *r1) +{ + r0->unk4 = NULL; + SetMainCallback2(sub_814B8F0); + return 0; +} + +static u32 sub_814BE7C(struct BerryCrushGame * r5, u8 *r2) +{ + u8 r3; + + switch (r5->unkC) + { + case 0: + sub_814D5A4(r2, 1, 0, 0, 1); + r5->unkE = 9; + sub_814BB4C(3, 1, NULL); + return 0; + case 1: + LinkRfu_SetRfuFuncToSend6600(); + break; + case 2: + if (!IsLinkTaskFinished()) + return 0; + memset(r5->unk40.unk2, 0, sizeof(r5->unk40.unk2)); + r5->unk40.unk2[0] = r5->unk68.as_four_players.others[r5->unk8].unk0; + SendBlock(0, r5->unk40.unk2, 2); + break; + case 3: + if (!IsLinkTaskFinished()) + return 0; + r5->unk10 = 0; + break; + case 4: + if (GetBlockReceivedStatus() != gUnknown_846E3C8[r5->unk9 - 2]) + return 0; + for (r3 = 0; r3 < r5->unk9; ++r3) + { + r5->unk68.as_four_players.others[r3].unk0 = gBlockRecvBuffer[r3][0]; + if (r5->unk68.as_four_players.others[r3].unk0 > 0xB0) + r5->unk68.as_four_players.others[r3].unk0 = 0; + r5->unk18 += gUnknown_83DFC9C[r5->unk68.as_four_players.others[r3].unk0].unk0; + r5->unk1C += gUnknown_83DFC9C[r5->unk68.as_four_players.others[r3].unk0].unk1; + } + r5->unk10 = 0; + ResetBlockReceivedFlags(); + r5->unk20 = sub_80D8B68(r5->unk18 << 8, 0x2000); + break; + case 5: + ClearDialogWindowAndFrame(0, 1); + sub_814BB4C(10, 1, NULL); + r5->unk12 = 4; + r5->unkC = 0; + return 0; + } + ++r5->unkC; + return 0; +} + +static u32 sub_814BFD0(struct BerryCrushGame * r4, UNUSED u8 *r1) +{ + switch (r4->unkC) + { + case 0: + sub_814DA24(r4, &r4->unk138); + LinkRfu_SetRfuFuncToSend6600(); + break; + case 1: + if (!IsLinkTaskFinished()) + return 0; + r4->unk138.unk0 = 0; + r4->unk138.unk1 = 0; + r4->unk138.unk2 = 0; + r4->unk138.unk3 = 0; + break; + case 2: + r4->unk138.unk38[r4->unk138.unk0]->callback = sub_814DB84; + r4->unk138.unk38[r4->unk138.unk0]->affineAnimPaused = FALSE; + PlaySE(SE_NAGERU); + break; + case 3: + if (r4->unk138.unk38[r4->unk138.unk0]->callback == sub_814DB84) + return 0; + r4->unk138.unk38[r4->unk138.unk0] = NULL; + ++r4->unk138.unk0; + LinkRfu_SetRfuFuncToSend6600(); + break; + case 4: + if (!IsLinkTaskFinished()) + return 0; + if (r4->unk138.unk0 < r4->unk9) + { + r4->unkC = 2; + return 0; + } + r4->unk138.unk0 = 0; + break; + case 5: + sub_814DC24(r4, &r4->unk138); + LinkRfu_SetRfuFuncToSend6600(); + break; + case 6: + if (!IsLinkTaskFinished()) + return 0; + PlaySE(SE_RU_HYUU); + sub_814BB4C(11, 1, NULL); + r4->unk12 = 5; + r4->unkC = 0; + return 0; + } + ++r4->unkC; + return 0; +} + +static u32 sub_814C118(struct BerryCrushGame * r4, UNUSED u8 *r1) +{ + switch (r4->unkC) + { + case 0: + r4->unk2A += 4; + if (r4->unk2A < 0) + return 0; + r4->unk2A = 0; + r4->unk138.unk1 = 4; + r4->unk138.unk0 = 0; + r4->unk138.unk2 = gUnknown_846E2F0[r4->unk138.unk1][0]; + PlaySE(SE_W070); + break; + case 1: + r4->unk2C = gUnknown_846E2F0[r4->unk138.unk1][r4->unk138.unk0]; + SetGpuReg(REG_OFFSET_BG0VOFS, -r4->unk2C); + SetGpuReg(REG_OFFSET_BG2VOFS, -r4->unk2C); + SetGpuReg(REG_OFFSET_BG3VOFS, -r4->unk2C); + ++r4->unk138.unk0; + if (r4->unk138.unk0 < r4->unk138.unk2) + return 0; + if (r4->unk138.unk1 == 0) + break; + --r4->unk138.unk1; + r4->unk138.unk2 = gUnknown_846E2F0[r4->unk138.unk1][0]; + r4->unk138.unk0 = 0; + return 0; + case 2: + r4->unk2C = 0; + SetGpuReg(REG_OFFSET_BG0VOFS, 0); + SetGpuReg(REG_OFFSET_BG2VOFS, 0); + SetGpuReg(REG_OFFSET_BG3VOFS, 0); + LinkRfu_SetRfuFuncToSend6600(); + break; + case 3: + if (!IsLinkTaskFinished()) + return 0; + sub_814BB4C(12, 1, NULL); + r4->unk12 = 6; + r4->unkC = 0; + return 0; + } + ++r4->unkC; + return 0; +} + +static u32 sub_814C24C(struct BerryCrushGame * r4, UNUSED u8 *r1) +{ + switch (r4-> unkC) + { + case 1: + if (!IsLinkTaskFinished()) + return 0; + StartMinigameCountdown(0x1000, 0x1000, 120, 80, 0); + break; + case 2: + if (IsMinigameCountdownRunning()) + return 0; + // fallthrough + case 0: + LinkRfu_SetRfuFuncToSend6600(); + break; + case 3: + if (!IsLinkTaskFinished()) + return 0; + r4->unk138.unk0 = 0; + r4->unk138.unk1 = 0; + r4->unk138.unk2 = 0; + r4->unk138.unk3 = 0; + r4->unk10 = 0; + if (r4->unk8 == 0) + sub_814BB4C(13, 1, NULL); + else + sub_814BB4C(14, 1, NULL); + r4->unk12 = 7; + r4->unkC = 0; + return 0; + } + ++r4->unkC; + return 0; +} + +void sub_814C2FC(struct BerryCrushGame * r4) +{ + u8 r8 = 0; + u16 r3; + u16 *r2; + u8 r7 = 0; + s32 r2_ = 0; + s32 r0; + + for (r7 = 0; r7 < r4->unk9; ++r7) + { + r2 = gRecvCmds[r7]; + if ((r2[0] & 0xFF00) == 0x2F00 + && r2[1] == 2) + { + if ((u8)r2[2] & 4) + { + r4->unk5C.unk02_3 |= gUnknown_846E2E0[r7]; + r4->unk68.as_four_players.others[r7].unk4.as_2d_bytes[1][5] = 1; + ++r4->unk68.as_four_players.others[r7].unk4.as_hwords[3]; + ++r8; + r3 = r4->unk28 - r4->unk68.as_four_players.others[r7].unk2; + if (r3 >= r4->unk68.as_four_players.others[r7].unk4.as_hwords[1] - 1 + && r3 <= r4->unk68.as_four_players.others[r7].unk4.as_hwords[1] + 1) + { + ++r4->unk68.as_four_players.others[r7].unk4.as_hwords[0]; + r4->unk68.as_four_players.others[r7].unk4.as_hwords[1] = r3; + if (r4->unk68.as_four_players.others[r7].unk4.as_hwords[0] > r4->unk68.as_four_players.others[r7].unk4.as_hwords[2]) + r4->unk68.as_four_players.others[r7].unk4.as_hwords[2] = r4->unk68.as_four_players.others[r7].unk4.as_hwords[0]; + } + else + { + r4->unk68.as_four_players.others[r7].unk4.as_hwords[0] = 0; + r4->unk68.as_four_players.others[r7].unk4.as_hwords[1] = r3; + } + r4->unk68.as_four_players.others[r7].unk2 = r4->unk28; + if (++r4->unk68.as_four_players.others[r7].unk4.as_2d_bytes[1][4] > 2) + r4->unk68.as_four_players.others[r7].unk4.as_2d_bytes[1][4] = 0; + } + else + { + r4->unk68.as_four_players.others[r7].unk4.as_2d_bytes[1][5] = 0; + } + } + } + if (r8 > 1) + { + for (r7 = 0; r7 < r4->unk9; ++r7) + { + if (r4->unk68.as_four_players.others[r7].unk4.as_2d_bytes[1][5] != 0) + { + r4->unk68.as_four_players.others[r7].unk4.as_2d_bytes[1][5] |= 2; + ++r4->unk68.as_four_players.others[r7].unk4.as_hwords[4]; + } + } + } + if (r8 != 0) + { + r4->unk2E += r8; + r8 += gUnknown_846E2E8[r8 - 1]; + r4->unk34 += r8; + r4->unk1A += r8; + r0 = r4->unk18; + r2_ = r4->unk1A; + if (r0 - r2_ > 0) + { + r2_ <<= 8; + r2_ = sub_80D8B68(r2_, r4->unk20); + r2_ >>= 8; + r4->unk24 = r2_; + } + else + { + r4->unk24 = 32; + r4->unk5C.unk02_0 = 1; + } + } +} + +void sub_814C4B8(struct BerryCrushGame * r3) +{ + u8 r6 = 0; + u16 r1 = 0; + u8 r4 = 0; + + for (r4 = 0; r4 < r3->unk9; ++r4) + { + if (r3->unk68.as_four_players.others[r4].unk4.as_2d_bytes[1][5] != 0) + { + ++r6; + r1 = r3->unk68.as_four_players.others[r4].unk4.as_2d_bytes[1][4] + 1; + if (r3->unk68.as_four_players.others[r4].unk4.as_2d_bytes[1][5] & 2) + r1 |= 4; + r1 <<= 3 * r4; + r3->unk5C.unk08 |= r1; + } + } + r3->unk5C.unk04 = r3->unk24; + if (r6 == 0) + { + if (r3->unk138.unk3 != 0) + ++r3->unk138.unk0; + else + goto SET_UNK5F_0; + } + else + { + if (r3->unk138.unk3 != 0) + { + if (r6 != r3->unk138.unk1) + { + r3->unk138.unk1 = r6 - 1; + r3->unk138.unk2 = gUnknown_846E314[r6 - 1][0]; + } + else + { + ++r3->unk138.unk0; + } + } + else + { + r3->unk138.unk0 = 0; + r3->unk138.unk1 = r6 - 1; + r3->unk138.unk2 = gUnknown_846E314[r6 - 1][0]; + r3->unk138.unk3 = 1; + } + } + if (r3->unk138.unk3 != 0) + { + if (r3->unk138.unk0 >= r3->unk138.unk2) + { + r3->unk138.unk0 = 0; + r3->unk138.unk1 = 0; + r3->unk138.unk2 = 0; + r3->unk138.unk3 = 0; + r1 = 0; + } + else + { + r1 = gUnknown_846E314[r3->unk138.unk1][r3->unk138.unk0 + 1]; + } + r3->unk5C.unk03 = r1; + } + else + { + SET_UNK5F_0: + r3->unk5C.unk03 = 0; + } + r3->unk5C.unk06 = r3->unk26; +} + +void sub_814C618(struct BerryCrushGame * r5) +{ + if (gMain.newKeys & A_BUTTON) + r5->unk5C.unk02_2 = 1; + if (gMain.heldKeys & A_BUTTON) + { + if (r5->unk68.as_four_players.others[r5->unk8].unk4.as_hwords[5] < r5->unk28) + ++r5->unk68.as_four_players.others[r5->unk8].unk4.as_hwords[5]; + } + if (r5->unk8 != 0 && r5->unk5C.unk02_2 == 0) + return; + r5->unk5C.unk00 = 2; + if (r5->unk28 % 30 == 0) + { + if (r5->unk2E > gUnknown_846E3C4[r5->unk9 - 2]) + { + ++r5->unk30; + r5->unk25_4 = 1; + } + else + { + r5->unk25_4 = 0; + } + r5->unk2E = 0; + ++r5->unk32; + } + if (r5->unk28 % 15 == 0) + { + if (r5->unk34 < gUnknown_846E3B4[r5->unk9 - 2][0]) + r5->unk25_5 = 0; + else if (r5->unk34 < gUnknown_846E3B4[r5->unk9 - 2][1]) + r5->unk25_5 = 1; + else if (r5->unk34 < gUnknown_846E3B4[r5->unk9 - 2][2]) + r5->unk34 = 2; // typo since r5->unk34 will be reset? + else if (r5->unk34 < gUnknown_846E3B4[r5->unk9 - 2][3]) + r5->unk34 = 3; // typo since r5->unk34 will be reset? + else + r5->unk25_5 = 4; + r5->unk34 = 0; + } + else + { + ++r5->unk10; + if (r5->unk10 > 60) + { + if (r5->unk10 > 70) + { + sub_80FBA44(); + r5->unk10 = 0; + } + else if (r5->unk5C.unk02_3 == 0) + { + sub_80FBA44(); + r5->unk10 = 0; + } + } + + } + if (r5->unk28 >= 36000) + r5->unk5C.unk02_0 = 1; + r5->unk5C.unk02_1 = r5->unk25_4; + r5->unk5C.unk0A = r5->unk25_5; + memcpy(r5->unk40.unk2, &r5->unk5C, sizeof(r5->unk40.unk2)); + RfuPrepareSend0x2f00(r5->unk40.unk2); +} + +void sub_814C7BC(struct BerryCrushGame * r5) +{ + struct BerryCrushGame_4E * r4_; +#ifndef NONMATCHING + register u32 r4 asm("r4"); + register u32 r0 asm("r0"); + + for (r4 = 0; r4 < r5->unk9; r4 = (u8)r0) + { + r5->unk68.as_four_players.others[r4].unk4.as_2d_bytes[1][5] = 0; + r0 = r4 + 1; + } +#else + u8 r4; + + for (r4 = 0; r4 < r5->unk9; ++r4) + r5->unk68.as_four_players.others[r4].unk4.as_2d_bytes[1][5] = 0; +#endif + if ((gRecvCmds[0][0] & 0xFF00) != 0x2F00 + || gRecvCmds[0][1] != 2) + { + r5->unk25_2 = 0; + } + else + { + r4_ = &r5->unk40.unkE; + memcpy(r4_, gRecvCmds, sizeof(struct BerryCrushGame_4E)); + r5->unk2A = r4_->unk6; + r5->unk2C = r4_->unk5; + r5->unk28 = r4_->unk8; + sub_814DC5C(r5, &r5->unk138); + if (r4_->unk4_0) + r5->unk25_3 = 1; + } +} + +static u32 sub_814C850(struct BerryCrushGame * r4, UNUSED u8 *r1) +{ + memset(&r4->unk5C, 0, sizeof(r4->unk5C)); + memset(&r4->unk40.unkE, 0, sizeof(r4->unk40.unkE)); + sub_814C7BC(r4); + SetGpuReg(REG_OFFSET_BG0VOFS, -r4->unk2C); + SetGpuReg(REG_OFFSET_BG2VOFS, -r4->unk2C); + SetGpuReg(REG_OFFSET_BG3VOFS, -r4->unk2C); + if (r4->unk25_3) + { + if (r4->unk28 >= 36000) + { + r4->unk28 = 36000; + sub_814BB4C(16, 1, NULL); + } + else + { + sub_814BB4C(15, 1, NULL); + } + r4->unk10 = 0; + r4->unkC = 0; + return 0; + } + else + { + ++r4->unk26; + sub_814C2FC(r4); + sub_814C4B8(r4); + sub_814C618(r4); + return 0; + } +} + +static u32 sub_814C8F8(struct BerryCrushGame * r4, UNUSED u8 *r1) +{ + memset(&r4->unk5C, 0, sizeof(r4->unk5C)); + memset(&r4->unk40.unkE, 0, sizeof(r4->unk40.unkE)); + sub_814C7BC(r4); + SetGpuReg(REG_OFFSET_BG0VOFS, -r4->unk2C); + SetGpuReg(REG_OFFSET_BG2VOFS, -r4->unk2C); + SetGpuReg(REG_OFFSET_BG3VOFS, -r4->unk2C); + if (r4->unk25_3) + { + if (r4->unk28 >= 36000) + { + r4->unk28 = 36000; + sub_814BB4C(16, 1, NULL); + } + else + { + sub_814BB4C(15, 1, NULL); + } + r4->unk10 = 0; + r4->unkC = 0; + return 0; + } + else + { + sub_814C618(r4); + return 0; + } +} + +static u32 sub_814C990(struct BerryCrushGame * r4, UNUSED u8 *r1) +{ + switch (r4->unkC) + { + case 0: + r4->unk12 = 8; + PlaySE(SE_W070); + BlendPalettes(0xFFFFFFFF, 8, RGB(31, 31, 0)); + r4->unk138.unk0 = 2; + break; + case 1: + if (--r4->unk138.unk0 != 255) + return 0; + BlendPalettes(0xFFFFFFFF, 0, RGB(31, 31, 0)); + r4->unk138.unk1 = 4; + r4->unk138.unk0 = 0; + r4->unk138.unk2 = gUnknown_846E2F0[r4->unk138.unk1][0]; + break; + case 2: + r4->unk2C = gUnknown_846E2F0[r4->unk138.unk1][r4->unk138.unk0]; + SetGpuReg(REG_OFFSET_BG0VOFS, -r4->unk2C); + SetGpuReg(REG_OFFSET_BG2VOFS, -r4->unk2C); + SetGpuReg(REG_OFFSET_BG3VOFS, -r4->unk2C); + if (++r4->unk138.unk0 < r4->unk138.unk2) + return 0; + if (r4->unk138.unk1 != 0) + { + --r4->unk138.unk1; + r4->unk138.unk2 = gUnknown_846E2F0[r4->unk138.unk1][0]; + r4->unk138.unk0 = 0; + return 0; + } + break; + case 3: + r4->unk2C = 0; + SetGpuReg(REG_OFFSET_BG0VOFS, 0); + SetGpuReg(REG_OFFSET_BG2VOFS, 0); + SetGpuReg(REG_OFFSET_BG3VOFS, 0); + break; + case 4: + if (!sub_814DE50(r4, &r4->unk138)) + return 0; + LinkRfu_SetRfuFuncToSend6600(); + r4->unk10 = 0; + break; + case 5: + if (!IsLinkTaskFinished()) + return 0; + sub_814BB4C(17, 1, NULL); + r4->unk10 = 0; + r4->unkC = 0; + return 0; + } + ++r4->unkC; + return 0; +} + +static u32 sub_814CB20(struct BerryCrushGame * r5, u8 *r6) +{ + switch (r5->unkC) + { + case 0: + r5->unk12 = 9; + PlaySE(SE_HAZURE); + BlendPalettes(0xFFFFFFFF, 8, RGB(31, 0, 0)); + r5->unk138.unk0 = 4; + break; + case 1: + if (--r5->unk138.unk0 != 255) + return 0; + BlendPalettes(0xFFFFFFFF, 0, RGB(31, 0, 0)); + r5->unk138.unk0 = 0; + break; + case 2: + if (!sub_814DE50(r5, &r5->unk138)) + return 0; + LinkRfu_SetRfuFuncToSend6600(); + r5->unk10 = 0; + SetGpuReg(REG_OFFSET_BG0VOFS, 0); + SetGpuReg(REG_OFFSET_BG2VOFS, 0); + SetGpuReg(REG_OFFSET_BG3VOFS, 0); + break; + case 3: + if (!IsLinkTaskFinished()) + return 0; + ConvertIntToDecimalStringN(gStringVar1, r5->unk1C, STR_CONV_MODE_LEFT_ALIGN, 6); + sub_814D5A4(r6, 7, 1, 0, 0); + r5->unkE = 19; + sub_814BB4C(3, 1, NULL); + r5->unk10 = 0; + r5->unkC = 0; + return 0; + } + ++r5->unkC; + return 0; +} + +static u32 sub_814CC0C(struct BerryCrushGame * r7, UNUSED u8 *r1) +{ + u8 r8, r4_; + s32 r2; + s32 r4; + u8 r6; // ??? + + switch (r7->unkC) + { + case 0: + memset(r7->unk40.unk2, 0, 2 * sizeof(u16)); + if (r7->unk68.as_four_players.others[r7->unk8].unk4.as_hwords[5] > r7->unk28) + r7->unk68.as_four_players.others[r7->unk8].unk4.as_hwords[5] = r7->unk28; + r7->unk40.unk2[0] = r7->unk68.as_four_players.others[r7->unk8].unk4.as_hwords[5]; + SendBlock(0, r7->unk40.unk2, 2); + break; + case 1: + if (!IsLinkTaskFinished()) + return 0; + r7->unk10 = 0; + break; + case 2: + if (GetBlockReceivedStatus() != gUnknown_846E3C8[r7->unk9 - 2]) + return 0; + for (r8 = 0; r8 < r7->unk9; ++r8) + r7->unk68.as_four_players.others[r8].unk4.as_hwords[5] = gBlockRecvBuffer[r8][0]; + r7->unk10 = 0; + r7->unk40.unk2[0] = 0; + ResetBlockReceivedFlags(); + if (r7->unk8 == 0) + r7->unkC = 3; + else + r7->unkC = 6; + return 0; + case 3: + memset( + &r7->unk68, + 0, + sizeof(struct BerryCrushGame_68_x_SubStruct) + ); + r7->unk68.as_four_players.unk00.unk04 = r7->unk28; + r7->unk68.as_four_players.unk00.unk06 = r7->unk18 / (r7->unk28 / 60); + r2 = sub_80D8AE0(r7->unk30 << 8, 0x3200); + r2 = sub_80D8B68(r2, r7->unk32 << 8) + 0x3200; + r2 >>= 8; + r7->unk68.as_four_players.unk00.unk08 = r2 & 0x7F; + r2 <<= 8; + r2 = sub_80D8B68(r2, 0x6400); + r4 = (r7->unk1C * r7->unk9) << 8; + r4 = sub_80D8AE0(r4, r2); + r7->unk68.as_four_players.unk00.unk00 = r4 >> 8; + r7->unk68.as_five_players.unk1C[0].unk4.as_2d_bytes[0][7] = Random() % 3; + for (r6 = 0, r8 = 0; r8 < r7->unk9; ++r8) + { + r7->unk68.as_five_players.unk1C[0].unk4.as_2d_bytes[0][r8] = r8; + r7->unk68.as_five_players.unk1C[0].unk4.as_2d_bytes[1][r8] = r8; + r7->unk68.as_four_players.unk00.unk0C[0][r8] = r7->unk68.as_four_players.others[r8].unk4.as_hwords[3]; + r7->unk68.as_four_players.unk00.unk0A += r7->unk68.as_four_players.unk00.unk0C[0][r8]; + switch (r7->unk68.as_five_players.unk1C[0].unk4.as_2d_bytes[0][7]) + { + case 0: + if (r7->unk68.as_four_players.others[r8].unk4.as_hwords[3] != 0) + { + r2 = r7->unk68.as_four_players.others[r8].unk4.as_hwords[2]; + r2 <<= 8; + r2 = sub_80D8AE0(r2, 0x6400); + r4 = r7->unk68.as_four_players.others[r8].unk4.as_hwords[3]; + r4 <<= 8; + r4 = sub_80D8B68(r2, r4); + } + else + { + r4 = 0; + } + break; + case 1: + if (r7->unk68.as_four_players.others[r8].unk4.as_hwords[3] != 0) + { + r2 = r7->unk68.as_four_players.others[r8].unk4.as_hwords[4]; + r2 <<= 8; + r2 = sub_80D8AE0(r2, 0x6400); + r4 = r7->unk68.as_four_players.others[r8].unk4.as_hwords[3]; + r4 <<= 8; + r4 = sub_80D8B68(r2, r4); + } + else + { + r4 = 0; + } + break; + case 2: + if (r7->unk68.as_four_players.others[r8].unk4.as_hwords[3] == 0) + { + r4 = 0; + } + else if (r7->unk68.as_four_players.others[r8].unk4.as_hwords[5] >= r7->unk28) + { + r4 = 0x6400; + } + else + { + r2 = r7->unk68.as_four_players.others[r8].unk4.as_hwords[5]; + r2 <<= 8; + r2 = sub_80D8AE0(r2, 0x6400); + r4 = r7->unk28; + r4 <<= 8; + r4 = sub_80D8B68(r2, r4); + } + break; + } + r4 >>= 4; + r7->unk68.as_four_players.unk00.unk0C[1][r8] = r4; + } + break; + case 4: + for (r6 = 0, r8 = 0; r8 < r7->unk9 - 1; ++r8) + { + for (r4_ = r7->unk9 - 1; r4_ > r8; --r4_) + { + u16 r0; + u8 r3; + u16 *sp00 = r7->unk68.as_four_players.unk00.unk0C[0]; + u8 *sp04 = r7->unk68.as_five_players.unk1C[0].unk4.as_2d_bytes[0]; + u8 *r10 = r7->unk68.as_five_players.unk1C[0].unk4.as_2d_bytes[1]; + u16 *r9 = r7->unk68.as_four_players.unk00.unk0C[1]; + s32 r12 = r4_ - 1; + u16 *p1 = sp00 + r12; // these have to be here + u16 *p2 = sp00 + r4_; // to swap operands. macro? + + if (*p1 < *p2) + { + r0 = sp00[r4_]; + sp00[r4_] = sp00[r12]; + sp00[r12] = r0; + r3 = sp04[r4_]; + sp04[r4_] = sp04[r12]; + sp04[r12] = r3; + } + p1 = r9 + r12; + p2 = r9 + r4_; + if (*p1 < *p2) + { + r0 = r9[r4_]; + r9[r4_] = r9[r12]; + r9[r12] = r0; + r3 = r10[r4_]; + r10[r4_] = r10[r12]; + r10[r12] = r3; + } + } + } + SendBlock( + 0, + &r7->unk68, + sizeof(struct BerryCrushGame_68_x_SubStruct) + ); + break; + case 5: + if (!IsLinkTaskFinished()) + return 0; + r7->unk10 = 0; + break; + case 6: + if (GetBlockReceivedStatus() != 1) + return 0; + memset( + &r7->unk68, + 0, + sizeof(struct BerryCrushGame_68_x_SubStruct) + ); + memcpy( + &r7->unk68, + gBlockRecvBuffer, + sizeof(struct BerryCrushGame_68_x_SubStruct) + ); + ResetBlockReceivedFlags(); + r7->unk10 = 0; + break; + case 7: + sub_814B930(); + sub_814BB4C(18, 1, NULL); + r7->unk12 = 11; + r7->unkC = 0; + r7->unk24 = 0; + return 0; + } + ++r7->unkC; + return 0; +} + +static u32 sub_814CFA8(struct BerryCrushGame * r5, u8 *r6) +{ + switch (r5->unkC) + { + case 0: + if (!sub_814E644(r5, &r5->unk138)) + return 0; + break; + case 1: + CopyBgTilemapBufferToVram(0); + r5->unk138.unk0 = 30; + break; + case 2: + if (r5->unk138.unk0 != 0) + { + --r5->unk138.unk0; + return 0; + } + if (!(gMain.newKeys & A_BUTTON)) + return 0; + PlaySE(SE_SELECT); + sub_814E80C(r5); + break; + case 3: + if (r5->unk12 <= 12) + { + ++r5->unk12; + r5->unkC = 0; + return 0; + } + break; + case 4: + ConvertIntToDecimalStringN(gStringVar1, r5->unk1C, STR_CONV_MODE_LEFT_ALIGN, 6); + ConvertIntToDecimalStringN(gStringVar2, GetBerryPowder(), STR_CONV_MODE_LEFT_ALIGN, 6); + sub_814D5A4(r6, 2, 3, 0, 0); + r5->unkE = 19; + sub_814BB4C(3, 1, NULL); + r5->unkC = 0; + return 0; + } + ++r5->unkC; + return 0; +} + +static u32 sub_814D094(struct BerryCrushGame * r5, u8 *r4) +{ + switch (r5->unkC) + { + case 0: + if (r5->unk28 >= 36000) + sub_814EB04(&r5->unk138); + sub_814D5A4(r4, 8, 0, 0, 1); + r5->unkE = 19; + sub_814BB4C(3, 1, NULL); + r5->unkC = 0; + return 0; + case 1: + LinkRfu_SetRfuFuncToSend6600(); + break; + case 2: + if (!IsLinkTaskFinished()) + return 0; + DrawDialogueFrame(0, 0); + AddTextPrinterParameterized2(0, 2, gText_SavingDontTurnOffThePower2, 0, 0, 2, 1, 3); + CopyWindowToVram(0, 3); + CreateTask(sub_80DA634, 0); + break; + case 3: + if (FuncIsActiveTask(sub_80DA634)) + return 0; + break; + case 4: + sub_814BB4C(20, 1, NULL); + r5->unk12 = 15; + r5->unkC = 0; + return 0; + } + ++r5->unkC; + return 0; +} + +static u32 sub_814D188(struct BerryCrushGame * r5, u8 *r6) +{ + s32 r4; +#ifndef NONMATCHING + register s32 r0 asm("r0"); +#else + s32 r0; +#endif + + switch (r5->unkC) + { + case 0: + sub_814D5A4(r6, 4, 0, 0, 1); + r5->unkE = 20; + sub_814BB4C(3, 1, NULL); + r0 = 0; + r5->unkC = r0; // dunno what it's doing because it's already in case 0 + return 0; + case 1: + DisplayYesNoMenuDefaultYes(); + break; + case 2: + if ((r4 = Menu_ProcessInputNoWrapClearOnChoose()) != -2) + { + memset(r5->unk40.unk2, 0, sizeof(r5->unk40.unk2)); + if (r4 == 0) + { + if (CheckHasAtLeastOneBerry()) + r5->unk14 = 0; + else + r5->unk14 = 3; + } + else + { + r5->unk14 = 1; + } + ClearDialogWindowAndFrame(0, 1); + sub_814D5A4(r6, 8, 0, 0, 0); + r5->unkE = 21; + sub_814BB4C(3, 1, NULL); + r5->unkC = 0; + } + return 0; + } + ++r5->unkC; + return 0; +} + +static u32 sub_814D240(struct BerryCrushGame * r4, UNUSED u8 *r1) +{ + u8 r5 = 0; + + switch (r4->unkC) + { + case 0: + LinkRfu_SetRfuFuncToSend6600(); + break; + case 1: + if (!IsLinkTaskFinished()) + return 0; + r4->unk40.unk2[0] = r4->unk14; + r4->unk40.unkE.unk0 = 0; + SendBlock(0, r4->unk40.unk2, sizeof(u16)); + break; + case 2: + if (!IsLinkTaskFinished()) + return 0; + r4->unk10 = 0; + break; + case 3: + if (GetBlockReceivedStatus() != gUnknown_846E3C8[r4->unk9 - 2]) + return 0; + for (; r5 < r4->unk9; ++r5) + r4->unk40.unkE.unk0 += gBlockRecvBuffer[r5][0]; + if (r4->unk40.unkE.unk0 != 0) + sub_814BB4C(23, 1, NULL); + else + sub_814BB4C(22, 1, NULL); + ResetBlockReceivedFlags(); + r4->unk40.unk2[0] = 0; + r4->unk40.unkE.unk0 = 0; + r4->unk10 = 0; + r4->unkC = 0; + return 0; + } + ++r4->unkC; + return 0; +} + +static u32 sub_814D31C(struct BerryCrushGame * r5, UNUSED u8 *r1) +{ + switch (r5->unkC) + { + case 0: + BeginNormalPaletteFade(0xFFFFFFFF, 1, 0, 0x10, RGB_BLACK); + UpdatePaletteFade(); + break; + case 1: + if (UpdatePaletteFade()) + return 0; + break; + case 2: + ClearDialogWindowAndFrame(0, 1); + sub_814DA04(r5); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); + UpdatePaletteFade(); + break; + case 3: + if (UpdatePaletteFade()) + return 0; + sub_814BB4C(7, 1, NULL); + r5->unk12 = 3; + r5->unkC = 0; + return 0; + } + ++r5->unkC; + return 0; +} + +static u32 sub_814D3A4(struct BerryCrushGame * r5, UNUSED u8 *r1) +{ + switch (r5->unkC) + { + case 0: + DrawDialogueFrame(0, 0); + if (r5->unk14 == 3) + AddTextPrinterParameterized2(0, 2, gUnknown_846E328[5], r5->unkB, 0, 2, 1, 3); + else + AddTextPrinterParameterized2(0, 2, gUnknown_846E328[6], r5->unkB, 0, 2, 1, 3); + CopyWindowToVram(0, 3); + break; + case 1: + if (IsTextPrinterActive(0)) + return 0; + r5->unk138.unk0 = 120; + break; + case 2: + if (r5->unk138.unk0 != 0) + --r5->unk138.unk0; + else + { + sub_814BB4C(24, 1, NULL); + r5->unkC = 0; + } + return 0; + } + ++r5->unkC; + return 0; +} + +static u32 sub_814D468(struct BerryCrushGame * r5, UNUSED u8 *r1) +{ + switch (r5->unkC) + { + case 0: + LinkRfu_SetRfuFuncToSend6600(); + break; + case 1: + if (!IsLinkTaskFinished()) + return 0; + Link_TryStartSend5FFF(); + break; + case 2: + if (gReceivedRemoteLinkPlayers != 0) + return 0; + r5->unkE = 25; + sub_814BB4C(5, 1, NULL); + r5->unkC = 2; // ??? + return 0; + } + ++r5->unkC; + return 0; +} + +static u32 sub_814D4C8(UNUSED struct BerryCrushGame * r0, UNUSED u8 *r1) +{ + sub_814B6FC(NULL); + return 0; +} + +void sub_814D4D8(struct BerryCrushGame * r4) +{ + u8 r5 = 0; + + IncrementGameStat(GAME_STAT_BERRY_CRUSH_POINTS); + r4->unkD = 0; + r4->unk10 = 0; + r4->unk12 = 2; + r4->unk14 = 0; + r4->unk1C = 0; + r4->unk18 = 0; + r4->unk1A = 0; + r4->unk20 = 0; + r4->unk24 = 0; + r4->unk25_0 = 0; + r4->unk25_1 = 0; + r4->unk25_2 = 0; + r4->unk25_3 = 0; + r4->unk25_4 = 0; + r4->unk25_5 = 0; + r4->unk26 = 0; + r4->unk28 = 0; + r4->unk2E = 0; + r4->unk32 = -1; + r4->unk30 = 0; + r4->unk34 = 0; + for (; r5 < 5; ++r5) // why is it 5 instead of 4? fillerBC isn't sufficient for one player + { + r4->unk68.as_four_players.others[r5].unk0 = -1; + r4->unk68.as_four_players.others[r5].unk2 = 0; + r4->unk68.as_four_players.others[r5].unk4.as_hwords[0] = 0; + r4->unk68.as_four_players.others[r5].unk4.as_hwords[1] = 1; + r4->unk68.as_four_players.others[r5].unk4.as_hwords[2] = 0; + r4->unk68.as_four_players.others[r5].unk4.as_hwords[3] = 0; + r4->unk68.as_four_players.others[r5].unk4.as_hwords[4] = 0; + r4->unk68.as_four_players.others[r5].unk4.as_hwords[5] = 0; + r4->unk68.as_four_players.others[r5].unk4.as_2d_bytes[1][4] = 0; + r4->unk68.as_four_players.others[r5].unk4.as_2d_bytes[1][5] = 0; + } +} + +#ifdef NONMATCHING +void sub_814D564(u8 *r0, u32 r1, s32 r2, u32 r3, u32 r5, u32 r6, u32 r4) +{ + u8 sp[8]; + u8 *p; + + 1[(u32 *)sp] = r2; + 0[(u16 *)sp] = r4; + p = &sp[4]; + r0[0] = p[0]; + r0[1] = p[1]; + r0[2] = p[2]; + r0[3] = p[3]; + r0[4] = r3; + r0[5] = r5; + r0[6] = r6; + r0[7] = sp[0]; + r0[8] = sp[1]; + r0[9] = r1; +} +#else +NAKED +void sub_814D564(u8 *r0, u32 r1, s32 r2, u32 r3, u32 r5, u32 r6, u32 r4) +{ + asm_unified("\n\ + push {r4-r6,lr}\n\ + sub sp, 0x8\n\ + str r2, [sp, 0x4]\n\ + ldr r5, [sp, 0x18]\n\ + ldr r6, [sp, 0x1C]\n\ + ldr r4, [sp, 0x20]\n\ + mov r2, sp\n\ + strh r4, [r2]\n\ + add r4, sp, 0x4\n\ + ldrb r2, [r4]\n\ + strb r2, [r0]\n\ + ldrb r2, [r4, 0x1]\n\ + strb r2, [r0, 0x1]\n\ + ldrb r2, [r4, 0x2]\n\ + strb r2, [r0, 0x2]\n\ + ldrb r2, [r4, 0x3]\n\ + strb r2, [r0, 0x3]\n\ + strb r3, [r0, 0x4]\n\ + strb r5, [r0, 0x5]\n\ + strb r6, [r0, 0x6]\n\ + mov r2, sp\n\ + ldrb r2, [r2]\n\ + strb r2, [r0, 0x7]\n\ + mov r2, sp\n\ + ldrb r2, [r2, 0x1]\n\ + strb r2, [r0, 0x8]\n\ + strb r1, [r0, 0x9]\n\ + add sp, 0x8\n\ + pop {r4-r6}\n\ + pop {r0}\n\ + bx r0"); +} +#endif + +void sub_814D5A4(u8 *r0, u32 r1, u32 r2, u32 r3, u32 r5) +{ + u8 sp[4]; + + 0[(u16 *)sp] = r3; + r0[0] = r1; + r0[1] = r2; + r0[2] = sp[0]; + r0[3] = sp[1]; + r0[4] = r5; +} diff --git a/src/berry_crush_3.c b/src/berry_crush_3.c new file mode 100644 index 000000000..13f392fb4 --- /dev/null +++ b/src/berry_crush_3.c @@ -0,0 +1,1386 @@ +#include "global.h" +#include "gflib.h" +#include "battle_anim.h" +#include "berry.h" +#include "berry_crush.h" +#include "decompress.h" +#include "digit_obj_util.h" +#include "dynamic_placeholder_text_util.h" +#include "graphics.h" +#include "item_menu_icons.h" +#include "link.h" +#include "link_rfu.h" +#include "math_util.h" +#include "menu.h" +#include "new_menu_helpers.h" +#include "scanline_effect.h" +#include "script.h" +#include "strings.h" +#include "text_window.h" +#include "trig.h" +#include "constants/items.h" +#include "constants/songs.h" + +static void sub_814DEC0(struct BerryCrushGame_138 * arg0, u16 arg1); +static void sub_814DF44(u8 windowId, u8 left, u8 colorId, const u8 *string); +static void sub_814DFA4(struct BerryCrushGame * sp0C, u8 sp10, u8 sp14, u8 r3); +static void sub_814E32C(struct BerryCrushGame * r8); +static void Task_ShowBerryCrushRankings(u8 r4); +static void sub_814EAD4(struct BerryCrushGame_138 * r4, u16 r1); +static void sub_814EB38(struct BerryCrushGame * r5); +static void sub_814EBB0(struct BerryCrushGame * r6); +static void sub_814EC80(struct BerryCrushGame * r6); +static void sub_814ECE0(struct BerryCrushGame * r6); +static void sub_814EF10(struct BerryCrushGame * r5); +static void sub_814EFD0(struct Sprite * sprite); +static void sub_814EFFC(struct Sprite * sprite); +static void sub_814F044(struct Sprite * sprite); +static void sub_814F0D8(struct Sprite * sprite); + +static const struct BgTemplate gUnknown_846E3CC[] = { + { + .bg = 0, + .charBaseIndex = 2, + .mapBaseIndex = 15, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0x0000 + }, { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 13, + .screenSize = 2, + .paletteMode = 0, + .priority = 1, + .baseTile = 0x0000 + }, { + .bg = 2, + .charBaseIndex = 0, + .mapBaseIndex = 12, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0x0000 + }, { + .bg = 3, + .charBaseIndex = 0, + .mapBaseIndex = 11, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0x0000 + } +}; + +static const u8 sBerryCrushTextColorTable[][3] = { + { + TEXT_COLOR_WHITE, + TEXT_COLOR_DARK_GREY, + TEXT_COLOR_LIGHT_GREY + }, { + TEXT_COLOR_TRANSPARENT, + TEXT_COLOR_WHITE, + TEXT_COLOR_DARK_GREY + }, { + TEXT_COLOR_TRANSPARENT, + TEXT_COLOR_LIGHT_GREY, + TEXT_COLOR_RED + }, { + TEXT_COLOR_WHITE, + TEXT_COLOR_BLUE, + TEXT_COLOR_LIGHT_BLUE + }, { + TEXT_COLOR_WHITE, + TEXT_COLOR_GREEN, + TEXT_COLOR_LIGHT_GREEN + }, { + TEXT_COLOR_WHITE, + TEXT_COLOR_RED, + TEXT_COLOR_LIGHT_RED + } +}; + +static const struct WindowTemplate gUnknown_846E3F0 = { + .bg = 0, + .tilemapLeft = 3, + .tilemapTop = 4, + .width = 24, + .height = 13, + .paletteNum = 0xF, + .baseBlock = 0x001 +}; + +static const struct WindowTemplate gUnknown_846E3F8[] = { + { + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 0, + .width = 9, + .height = 2, + .paletteNum = 0x8, + .baseBlock = 0x3ed + }, { + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 3, + .width = 9, + .height = 2, + .paletteNum = 0x8, + .baseBlock = 0x3db + }, { + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 6, + .width = 9, + .height = 2, + .paletteNum = 0x8, + .baseBlock = 0x3c9 + }, { + .bg = 0, + .tilemapLeft = 21, + .tilemapTop = 3, + .width = 9, + .height = 2, + .paletteNum = 0x8, + .baseBlock = 0x3b7 + }, { + .bg = 0, + .tilemapLeft = 21, + .tilemapTop = 6, + .width = 9, + .height = 2, + .paletteNum = 0x8, + .baseBlock = 0x3a5 + }, DUMMY_WIN_TEMPLATE +}; + +static const struct WindowTemplate gUnknown_846E428[] = { + { + .bg = 0, + .tilemapLeft = 4, + .tilemapTop = 2, + .width = 22, + .height = 16, + .paletteNum = 0xF, + .baseBlock = 0x001 + }, { + .bg = 0, + .tilemapLeft = 4, + .tilemapTop = 2, + .width = 22, + .height = 16, + .paletteNum = 0xF, + .baseBlock = 0x001 + }, { + .bg = 0, + .tilemapLeft = 3, + .tilemapTop = 2, + .width = 24, + .height = 16, + .paletteNum = 0xF, + .baseBlock = 0x001 + }, DUMMY_WIN_TEMPLATE +}; + +static const u8 gUnknown_846E448[][4] = { + { 6, 8, 9, 11 }, + { 12, 14, 15, 16} +}; + +static const u32 gUnknown_846E450[] = { + 50000000, + 25000000, + 12500000, + 6250000, + 3125000, + 1562500, + 781250, + 390625 +}; + +static const u16 gUnknown_846E470[] = INCBIN_U16("graphics/link_games/unk_846E4D0.gbapal"); +static const u16 gUnknown_846E490[] = INCBIN_U16("graphics/link_games/unk_846E7FC.gbapal"); +static const u16 gUnknown_846E4B0[] = INCBIN_U16("graphics/link_games/unk_846ECC4.gbapal"); + +static const u32 gUnknown_846E4D0[] = INCBIN_U32("graphics/link_games/unk_846E4D0.4bpp.lz"); +static const u32 gUnknown_846E7FC[] = INCBIN_U32("graphics/link_games/unk_846E7FC.4bpp.lz"); +static const u32 gUnknown_846EB78[] = INCBIN_U32("graphics/link_games/unk_846EB78.4bpp.lz"); +static const u32 gUnknown_846ECC4[] = INCBIN_U32("graphics/link_games/unk_846ECC4.4bpp.lz"); + +static const u32 gBerryCrushGrinderTopTilemap[] = INCBIN_U32("graphics/link_games/unk_846ED90.bin.lz"); +static const u32 gBerryCrushContainerCapTilemap[] = INCBIN_U32("graphics/link_games/unk_846EEC0.bin.lz"); +static const u32 gBerryCrushBackgroundTilemap[] = INCBIN_U32("graphics/link_games/unk_846F058.bin.lz"); + +static const u8 gUnknown_846F280[][5] = { + {1, 3}, + {0, 1, 3}, + {1, 3, 2, 4}, + {0, 1, 3, 2, 4} +}; + +static const struct BerryCrushGame_138_C gUnknown_846F294[] = { + {0x00, 0x00, 0x00, 0x0000, 0xfff0, 0x0000, 0x0000}, + {0x01, 0x00, 0x03, 0xffe4, 0xfffc, 0xffe8, 0x0010}, + {0x02, 0x00, 0x06, 0xfff0, 0x0014, 0xfff8, 0x0010}, + {0x03, 0x14, 0x03, 0x001c, 0xfffc, 0x0020, 0xfff8}, + {0x04, 0x14, 0x06, 0x0010, 0x0014, 0x0010, 0xfff8} +}; + +static const s8 gUnknown_846F2D0[][2] = { + {0x00, 0x00}, + {0xff, 0x00}, + {0x01, 0x01} +}; + +static const s8 gUnknown_846F2D6[][2] = { + {0x00, 0x00}, + {0xf0, 0xfc}, + {0x10, 0xfc}, + {0xf8, 0xfe}, + {0x08, 0xfe}, + {0xe8, 0xf8}, + {0x18, 0xf8}, + {0xe0, 0xf4}, + {0x20, 0xf4}, + {0xd8, 0xf0}, + {0x28, 0xf0} +}; + +static const u16 gUnknown_846F2EC[] = { + 5, 6, 7, 8, 9 +}; + +static const struct CompressedSpriteSheet gUnknown_846F2F8[] = { + {gUnknown_846E4D0, 0x0800, 1}, + {gUnknown_846E7FC, 0x0e00, 2}, + {gUnknown_846EB78, 0x0700, 3}, + {gUnknown_846ECC4, 0x02c0, 4}, + {} +}; + +static const struct SpritePalette gUnknown_846F320[] = { + {gUnknown_846E470, 1}, + {gUnknown_846E490, 2}, + {gUnknown_846E4B0, 4}, + {} +}; + +static const union AnimCmd gUnknown_846F340[] = { + ANIMCMD_FRAME(0x00, 0), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_846F348[] = { + ANIMCMD_FRAME(0x00, 4), + ANIMCMD_FRAME(0x10, 4), + ANIMCMD_FRAME(0x20, 4), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_846F358[] = { + ANIMCMD_FRAME(0x30, 2), + ANIMCMD_FRAME(0x40, 2), + ANIMCMD_FRAME(0x50, 2), + ANIMCMD_FRAME(0x60, 2), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_846F36C[] = { + ANIMCMD_FRAME(0x00, 2), + ANIMCMD_FRAME(0x04, 2), + ANIMCMD_FRAME(0x08, 2), + ANIMCMD_FRAME(0x0c, 2), + ANIMCMD_FRAME(0x10, 2), + ANIMCMD_FRAME(0x14, 2), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd gUnknown_846F388[] = { + ANIMCMD_FRAME(0x18, 4), + ANIMCMD_FRAME(0x1c, 4), + ANIMCMD_FRAME(0x20, 4), + ANIMCMD_FRAME(0x24, 4), + ANIMCMD_FRAME(0x28, 4), + ANIMCMD_FRAME(0x2c, 4), + ANIMCMD_FRAME(0x30, 4), + ANIMCMD_FRAME(0x34, 4), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd gUnknown_846F3AC[] = { + ANIMCMD_FRAME(0x14, 0), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_846F3B4[] = { + ANIMCMD_FRAME(0x00, 0), + ANIMCMD_END +}; + +static const union AffineAnimCmd gUnknown_846F3BC[] = { + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, 2, 1), + AFFINEANIMCMD_JUMP(1) +}; + +static const union AffineAnimCmd gUnknown_846F3D4[] = { + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, -2, 1), + AFFINEANIMCMD_JUMP(1) +}; + +static const union AnimCmd *const gUnknown_846F3EC[] = { + gUnknown_846F340 +}; + +static const union AnimCmd *const gUnknown_846F3F0[] = { + gUnknown_846F348, + gUnknown_846F358 +}; + +static const union AnimCmd *const gUnknown_846F3F8[] = { + gUnknown_846F36C, + gUnknown_846F388 +}; + +static const union AnimCmd *const gUnknown_846F400[] = { + gUnknown_846F3AC +}; + +static const union AnimCmd *const gUnknown_846F404[] = { + gUnknown_846F3B4 +}; + +static const union AffineAnimCmd *const gUnknown_846F408[] = { + gUnknown_846F3BC, + gUnknown_846F3D4 +}; + + +static const struct SpriteTemplate gUnknown_846F410 = { + .tileTag = 1, + .paletteTag = 1, + .oam = &gOamData_AffineOff_ObjNormal_64x64, + .anims = gUnknown_846F3EC, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_846F428 = { + .tileTag = 2, + .paletteTag = 2, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gUnknown_846F3F0, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_814EFD0 +}; + +static const struct SpriteTemplate gUnknown_846F440 = { + .tileTag = 3, + .paletteTag = 2, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gUnknown_846F3F8, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_846F458 = { + .tileTag = 4, + .paletteTag = 4, + .oam = &gOamData_AffineOff_ObjNormal_8x16, + .anims = gUnknown_846F400, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_846F470 = { + .tileTag = 5, + .paletteTag = 5, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, + .anims = gUnknown_846F404, + .affineAnims = gUnknown_846F408, + .callback = SpriteCallbackDummy +}; + +static const struct DigitObjUtilTemplate gUnknown_846F488[] = { + { + .strConvMode = 1, + .shape = SPRITE_SHAPE(8x16), + .size = SPRITE_SIZE(8x16), + .priority = 0, + .oamCount = 2, + .xDelta = 8, + .x = 156, + .y = 0, + .spriteSheet = {.compressed = &gUnknown_846F2F8[3]}, + .spritePal = &gUnknown_846F320[2], + }, { + .strConvMode = 0, + .shape = SPRITE_SHAPE(8x16), + .size = SPRITE_SIZE(8x16), + .priority = 0, + .oamCount = 2, + .xDelta = 8, + .x = 180, + .y = 0, + .spriteSheet = {.compressed = &gUnknown_846F2F8[3]}, + .spritePal = &gUnknown_846F320[2], + }, { + .strConvMode = 0, + .shape = SPRITE_SHAPE(8x16), + .size = SPRITE_SIZE(8x16), + .priority = 0, + .oamCount = 2, + .xDelta = 8, + .x = 204, + .y = 0, + .spriteSheet = {.compressed = &gUnknown_846F2F8[3]}, + .spritePal = &gUnknown_846F320[2], + } +}; + +static const u8 *const gUnknown_846F4B8[] = { + gText_SpaceTimes, + gText_XDotY, + gText_StrVar1Berry, + gText_NeatnessRankings, + gText_CooperativeRankings, + gText_PressingPowerRankings +}; + +int sub_814D5C8(void) +{ + struct BerryCrushGame * var0 = sub_814B6F0(); + if (!var0) + return -1; + + switch (var0->unkC) + { + case 0: + SetVBlankCallback(NULL); + SetHBlankCallback(NULL); + SetGpuReg(REG_OFFSET_DISPCNT, 0); + ScanlineEffect_Stop(); + ResetTempTileDataBuffers(); + break; + case 1: + CpuFill16(0, (void *)OAM, OAM_SIZE); + gReservedSpritePaletteCount = 0; + DigitObjUtil_Init(3); + break; + case 2: + ResetPaletteFade(); + ResetSpriteData(); + FreeAllSpritePalettes(); + break; + case 3: + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_846E3CC, NELEMS(gUnknown_846E3CC)); + SetBgTilemapBuffer(1, var0->unk1C0); + SetBgTilemapBuffer(2, var0->unk21C0); + SetBgTilemapBuffer(3, var0->unk31C0); + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + ChangeBgX(3, 0, 0); + ChangeBgY(3, 0, 0); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + break; + case 4: + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32); + FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 32, 64); + FillBgTilemapBufferRect_Palette0(2, 0, 0, 0, 32, 32); + FillBgTilemapBufferRect_Palette0(3, 0, 0, 0, 32, 32); + break; + case 5: + CopyBgTilemapBufferToVram(0); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); + CopyBgTilemapBufferToVram(3); + DecompressAndCopyTileDataToVram(1, gUnknown_8EAFFC0, 0, 0, 0); + break; + case 6: + if (FreeTempTileDataBuffersIfPossible()) + return 0; + + InitStandardTextBoxWindows(); + ResetBg0(); + sub_814EB38(var0); + sub_814EBB0(var0); + gPaletteFade.bufferTransferDisabled = TRUE; + break; + case 7: + LoadPalette(gUnknown_8EAFEA0, 0, 0x180); + CopyToBgTilemapBuffer(1, gBerryCrushGrinderTopTilemap, 0, 0); + CopyToBgTilemapBuffer(2, gBerryCrushContainerCapTilemap, 0, 0); + CopyToBgTilemapBuffer(3, gBerryCrushBackgroundTilemap, 0, 0); + sub_814EC80(var0); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); + CopyBgTilemapBufferToVram(3); + break; + case 8: + LoadWirelessStatusIndicatorSpriteGfx(); + CreateWirelessStatusIndicatorSprite(0, 0); + sub_814ECE0(var0); + SetGpuReg(REG_OFFSET_BG1VOFS, -gSpriteCoordOffsetY); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + break; + case 9: + gPaletteFade.bufferTransferDisabled = FALSE; + BlendPalettes(0xFFFFFFFF, 16, RGB_BLACK); + ShowBg(0); + ShowBg(1); + ShowBg(2); + ShowBg(3); + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); + sub_814B914(); + var0->unkC = 0; + return 1; + } + + var0->unkC++; + return 0; +} + +int sub_814D888(void) +{ + struct BerryCrushGame * var0 = sub_814B6F0(); + if (!var0) + return -1; + + switch (var0->unkC) + { + case 0: + LinkRfu_SetRfuFuncToSend6600(); + break; + case 1: + if (!IsLinkTaskFinished()) + return 0; + // fall through. The original author forgot to use "break" here + // because this will call BeginNormalPaletteFade() twice. + case 2: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + UpdatePaletteFade(); + break; + case 3: + if (UpdatePaletteFade()) + return 0; + break; + case 4: + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32); + FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 32, 32); + FillBgTilemapBufferRect_Palette0(2, 0, 0, 0, 32, 32); + FillBgTilemapBufferRect_Palette0(3, 0, 0, 0, 32, 32); + CopyBgTilemapBufferToVram(0); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); + CopyBgTilemapBufferToVram(3); + break; + case 5: + FreeAllWindowBuffers(); + HideBg(0); + UnsetBgTilemapBuffer(0); + HideBg(1); + UnsetBgTilemapBuffer(1); + HideBg(2); + UnsetBgTilemapBuffer(2); + HideBg(3); + UnsetBgTilemapBuffer(3); + ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); + break; + case 6: + DestroyWirelessStatusIndicatorSprite(); + sub_814EF10(var0); + DigitObjUtil_Teardown(); + break; + case 7: + var0->unkC = 0; + return 1; + } + + var0->unkC++; + return 0; +} + +int sub_814D9CC(struct BerryCrushGame * arg0) +{ + gSpriteCoordOffsetY = arg0->unk2A + arg0->unk2C; + SetGpuReg(REG_OFFSET_BG1VOFS, -gSpriteCoordOffsetY); + if (arg0->unk12 == 7) + { + sub_814EAD4(&arg0->unk138, arg0->unk28); + } + + return 0; +} + +void sub_814DA04(struct BerryCrushGame * arg0) +{ + arg0->unk2A = -104; + arg0->unk2C = 0; + gSpriteCoordOffsetX = 0; + gSpriteCoordOffsetY = -104; +} + +void sub_814DA24(struct BerryCrushGame * arg0, struct BerryCrushGame_138 * arg1) +{ + u8 i; + u8 spriteId; + s16 var0, var1; + s16 *data; + int var3; + s16 var5; + u32 var6; + + for (i = 0; i < arg0->unk9; i++) + { + spriteId = AddItemIconObjectWithCustomObjectTemplate( + &gUnknown_846F470, + gUnknown_846F2EC[i], + gUnknown_846F2EC[i], + arg0->unk68.as_four_players.others[i].unk0 + FIRST_BERRY_INDEX); + arg1->unk38[i] = &gSprites[spriteId]; + arg1->unk38[i]->oam.priority = 3; + arg1->unk38[i]->affineAnimPaused = TRUE; + arg1->unk38[i]->pos1.x = arg1->unkC[i]->unk8 + 120; + arg1->unk38[i]->pos1.y = -16; + data = arg1->unk38[i]->data; + var5 = 512; + data[1] = var5; + data[2] = 32; + data[7] = 112; + var0 = arg1->unkC[i]->unkA - arg1->unkC[i]->unk8; + var3 = var0; + if (var0 < 0) + var3 += 3; + + data[6] = var3 >> 2; + var0 *= 128; + var6 = var5 + 32; + var6 = var6 / 2; + var1 = sub_80D8B40(7, 0x3F80, var6); + data[0] = (u16)arg1->unk38[i]->pos1.x * 128; + data[3] = sub_80D8B40(7, var0, var1); + var1 = sub_80D8ABC(7, var1, 85); + data[4] = 0; + data[5] = sub_80D8B40(7, 0x3F80, var1); + data[7] |= 0x8000; + if (arg1->unkC[i]->unk8 < 0) + StartSpriteAffineAnim(arg1->unk38[i], 1); + } +} + +void sub_814DB84(struct Sprite * sprite) +{ + s16 *data = sprite->data; + + data[1] += data[2]; + sprite->pos2.y += data[1] >> 8; + if (data[7] & 0x8000) + { + sprite->data[0] += data[3]; + data[4] += data[5]; + sprite->pos2.x = Sin(data[4] >> 7, data[6]); + if ((data[7] & 0x8000) && (data[4] >> 7) > 126) + { + sprite->pos2.x = 0; + data[7] &= 0x7FFF; + } + } + + sprite->pos1.x = data[0] >> 7; + if (sprite->pos1.y + sprite->pos2.y >= (data[7] & 0x7FFF)) + { + sprite->callback = SpriteCallbackDummy; + FreeSpriteOamMatrix(sprite); + DestroySprite(sprite); + } +} + +void sub_814DC24(struct BerryCrushGame * arg0, UNUSED struct BerryCrushGame_138 * arg1) +{ + u8 i; + for (i = 0; i < arg0->unk9; i++) + { + FreeSpritePaletteByTag(gUnknown_846F2EC[i]); + FreeSpriteTilesByTag(gUnknown_846F2EC[i]); + } +} + +void sub_814DC5C(struct BerryCrushGame * arg0, struct BerryCrushGame_138 * arg1) +{ + u8 sp4; + struct BerryCrushGame_4E * var4E; + u8 i; + u16 var, var2; + + sp4 = 0; + var4E = &arg0->unk40.unkE; + for (i = 0; i < arg0->unk9; i++) + { + var = var4E->unkA >> (i * 3); + var &= 7; + if (var) + { + sp4++; + if (var & 0x4) + StartSpriteAnim(arg1->unk24[i], 1); + else + StartSpriteAnim(arg1->unk24[i], 0); + + arg1->unk24[i]->invisible = FALSE; + arg1->unk24[i]->animPaused = FALSE; + arg1->unk24[i]->pos2.x = gUnknown_846F2D0[(var % 4) - 1][0]; + arg1->unk24[i]->pos2.y = gUnknown_846F2D0[(var % 4) - 1][1]; + } + } + + if (sp4 == 0) + { + arg0->unk25_2 = 0; + } + else + { + var = (u8)(arg0->unk28 % 3); + var2 = var; + for (i = 0; i < var4E->unkC * 2 + 3; i++) + { + if (arg1->unk4C[i]->invisible) + { + arg1->unk4C[i]->callback = sub_814F0D8; + arg1->unk4C[i]->pos1.x = gUnknown_846F2D6[i][0] + 120; + arg1->unk4C[i]->pos1.y = gUnknown_846F2D6[i][1] + 136 - (var * 4); + arg1->unk4C[i]->pos2.x = gUnknown_846F2D6[i][0] + (gUnknown_846F2D6[i][0] / (var2 * 4)); + arg1->unk4C[i]->pos2.y = gUnknown_846F2D6[i][1]; + if (var4E->unk4_1) + StartSpriteAnim(arg1->unk4C[i], 1); + else + StartSpriteAnim(arg1->unk4C[i], 0); + + var++; + if (var > 3) + var = 0; + } + } + + if (arg0->unk25_2) + { + arg0->unk25_2 = 0; + } + else + { + if (sp4 == 1) + PlaySE(SE_TOY_DANGO); + else + PlaySE(SE_TOY_KABE); + + arg0->unk25_2 = 1; + } + } +} + +bool32 sub_814DE50(struct BerryCrushGame * arg0, struct BerryCrushGame_138 * arg1) +{ + u8 i; + + for (i = 0; i < arg0->unk9; i++) + { + if (!arg1->unk24[i]->invisible) + return FALSE; + } + + for (i = 0; i < 11; i++) + { + if (!arg1->unk4C[i]->invisible) + return FALSE; + } + + if (arg0->unk2C != 0) + arg0->unk2C = 0; + + return TRUE; +} + +static void sub_814DEC0(struct BerryCrushGame_138 * arg0, u16 arg1) +{ + u8 i = 0; + u32 r7 = 0; + s16 r3 = 0; + + arg0->unk4 = arg1 / 3600; + arg0->unk6 = (arg1 % 3600) / 60; + r3 = sub_80D8AA0((arg1 % 60) << 8, 4); + + for (i = 0; i < 8; i++) + { + if ((r3 >> (7 - i)) & 1) + r7 += gUnknown_846E450[i]; + } + + arg0->unk8 = r7 / 1000000; +} + +static void sub_814DF44(u8 windowId, u8 left, u8 colorId, const u8 *string) +{ + left = (left * 4) - (GetStringWidth(2, string, -1) / 2u); + AddTextPrinterParameterized3(windowId, 2, left, 0, sBerryCrushTextColorTable[colorId], 0, string); +} + +static void sub_814DFA4(struct BerryCrushGame * sp0C, u8 sp10, u8 sp14, u8 sp18) +{ + u8 r8 = 0; + u8 sp1C = 0; + u8 sp20 = 0; + u8 r2; + s32 r3; + u8 r7; + union BerryCrushGame_68 * sp24 = &sp0C->unk68; + s32 sp30; + + for (; r8 < sp0C->unk9; r8++) + { + DynamicPlaceholderTextUtil_Reset(); + switch (sp10) + { + case 0: + sp1C = sp24->as_five_players.unk1C[0].unk4.as_2d_bytes[sp10][r8]; + if (r8 != 0 && sp24->as_four_players.unk00.unk0C[sp10][r8] != sp24->as_four_players.unk00.unk0C[sp10][r8 - 1]) + { + sp20 = r8; + } + ConvertIntToDecimalStringN(gStringVar1, sp24->as_four_players.unk00.unk0C[sp10][r8], STR_CONV_MODE_RIGHT_ALIGN, 4); + r7 = sp14 - GetStringWidth(2, gUnknown_846F4B8[sp10], -1) - 4; + AddTextPrinterParameterized3(sp0C->unk138.unk82, 2, r7, sp18 + 14 * r8, sBerryCrushTextColorTable[0], 0, gUnknown_846F4B8[sp10]); + AddTextPrinterParameterized3(sp0C->unk138.unk82, 2, r7 - 24, sp18 + 14 * r8, sBerryCrushTextColorTable[0], 0, gStringVar1); + break; + case 1: + sp1C = sp24->as_five_players.unk1C[0].unk4.as_2d_bytes[sp10][r8]; + if (r8 != 0 && sp24->as_four_players.unk00.unk0C[sp10][r8] != sp24->as_four_players.unk00.unk0C[sp10][r8 - 1]) + { + sp20 = r8; + } + ConvertIntToDecimalStringN(gStringVar1, sp24->as_four_players.unk00.unk0C[sp10][r8] >> 4, STR_CONV_MODE_RIGHT_ALIGN, 3); + r3 = 0; + r7 = sp24->as_four_players.unk00.unk0C[sp10][r8] & 15; + for (r2 = 0; r2 < 4; r2++) + { + if ((r7 >> (3 - r2)) & 1) + r3 += gUnknown_846E450[r2]; + } + r7 = r3 / 1000000u; + ConvertIntToDecimalStringN(gStringVar2, r7, STR_CONV_MODE_LEADING_ZEROS, 2); + StringExpandPlaceholders(gStringVar4, gUnknown_846F4B8[sp10]); + sp30 = sp14 - 4; + AddTextPrinterParameterized3(sp0C->unk138.unk82, 2, sp30 - GetStringWidth(2, gStringVar4, 0), sp18 + 14 * r8, sBerryCrushTextColorTable[0], 0, gStringVar4); + break; + case 2: + sp1C = r8; + sp20 = r8; + r2 = sp0C->unk68.as_five_players.unk1C[r8].unk14[12]; + if (r2 >= LAST_BERRY_INDEX - FIRST_BERRY_INDEX + 2) + r2 = 0; + StringCopy(gStringVar1, gBerries[r2].name); + StringExpandPlaceholders(gStringVar4, gUnknown_846F4B8[sp10]); + AddTextPrinterParameterized3(sp0C->unk138.unk82, 2, sp14 - GetStringWidth(2, gStringVar4, -1) - 4, sp18 + 14 * r8, sBerryCrushTextColorTable[0], 0, gStringVar4); + break; + } + if (sp1C == sp0C->unk8) + StringCopy(gStringVar3, gText_1_ClrLtGryShdwBlk_Dynamic0); + else + StringCopy(gStringVar3, gText_1_Dynamic0); + gStringVar3[0] = sp20 + CHAR_1; + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, PLAYER_UNK14(sp0C, sp1C)); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gStringVar3); + AddTextPrinterParameterized3(sp0C->unk138.unk82, 2, 4, sp18 + 14 * r8, sBerryCrushTextColorTable[0], 0, gStringVar4); + } +} + +static void sub_814E32C(struct BerryCrushGame * r8) +{ + u8 r10 = 0; + u8 r6 = 0; + u32 sp0C = 0; + union BerryCrushGame_68 *sp10 = &r8->unk68; + u8 r7 = GetWindowAttribute(r8->unk138.unk82, WINDOW_HEIGHT) * 8 - 42; + + sub_814DEC0(&r8->unk138, sp10->as_four_players.unk00.unk04); + AddTextPrinterParameterized3(r8->unk138.unk82, 2, 2, r7, sBerryCrushTextColorTable[0], 0, gText_TimeColon); + + r6 = 190 - (u8)GetStringWidth(2, gText_SpaceSec, 0); + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColorTable[0], 0, gText_SpaceSec); + + r6 -= 32; + ConvertIntToDecimalStringN(gStringVar1, r8->unk138.unk6, STR_CONV_MODE_LEADING_ZEROS, 2); + ConvertIntToDecimalStringN(gStringVar2, r8->unk138.unk8, STR_CONV_MODE_LEADING_ZEROS, 2); + StringExpandPlaceholders(gStringVar4, gText_XDotY2); + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColorTable[0], 0, gStringVar4); + + r6 -= (u8)GetStringWidth(2, gText_SpaceMin, 0) + 3; + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColorTable[0], 0, gText_SpaceMin); + + r6 -= 9; + ConvertIntToDecimalStringN(gStringVar1, r8->unk138.unk4, STR_CONV_MODE_LEADING_ZEROS, 1); + StringExpandPlaceholders(gStringVar4, gText_StrVar1); + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColorTable[0], 0, gStringVar4); + + r7 += 14; + AddTextPrinterParameterized3(r8->unk138.unk82, 2, 2, r7, sBerryCrushTextColorTable[0], 0, gText_PressingSpeed); + + r6 = 190 - (u8)GetStringWidth(2, gText_TimesPerSec, 0); + AddTextPrinterParameterized3(r8->unk138.unk82, 3, r6, r7, sBerryCrushTextColorTable[0], 0, gText_TimesPerSec); + + for (r10 = 0; r10 < 8; ++r10) + if (((u8)r8->unk16 >> (7 - r10)) & 1) + sp0C += *(r10 + gUnknown_846E450); // It's accessed in a different way here for unknown reason + ConvertIntToDecimalStringN(gStringVar1, r8->unk16 >> 8, STR_CONV_MODE_RIGHT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar2, sp0C / 1000000, STR_CONV_MODE_LEADING_ZEROS, 2); + StringExpandPlaceholders(gStringVar4, gText_XDotY3); + r6 -= 38; + if (r8->unk25_1) + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColorTable[5], 0, gStringVar4); + else + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColorTable[0], 0, gStringVar4); + + r7 += 14; + AddTextPrinterParameterized3(r8->unk138.unk82, 2, 2, r7, sBerryCrushTextColorTable[0], 0, gText_Silkiness); + + ConvertIntToDecimalStringN(gStringVar1, sp10->as_four_players.unk00.unk08, STR_CONV_MODE_RIGHT_ALIGN, 3); + StringExpandPlaceholders(gStringVar4, gText_Var1Percent); + r6 = 190 - (u8)GetStringWidth(2, gStringVar4, 0); + AddTextPrinterParameterized3(r8->unk138.unk82, 2, r6, r7, sBerryCrushTextColorTable[0], 0, gStringVar4); +} + +bool32 sub_814E644(struct BerryCrushGame * r4, struct BerryCrushGame_138 * r6) +{ + u8 r5; + struct WindowTemplate template; + + switch (r6->unk80) + { + case 0: + r5 = r4->unk9 - 2; + sub_814EB04(r6); + memcpy(&template, &gUnknown_846E428[r4->unk12 - 11], sizeof(struct WindowTemplate)); + if (r4->unk12 == 13) + template.height = gUnknown_846E448[1][r5]; + else + template.height = gUnknown_846E448[0][r5]; + r6->unk82 = AddWindow(&template); + break; + case 1: + PutWindowTilemap(r6->unk82); + FillWindowPixelBuffer(r6->unk82, PIXEL_FILL(0)); + break; + case 2: + TextWindow_SetStdFrame0_WithPal(r6->unk82, 0x21D, 0xD0); + DrawStdFrameWithCustomTileAndPalette(r6->unk82, 0, 541, 13); + break; + case 3: + r5 = r4->unk9 - 2; + switch (r4->unk12) + { + case 11: + sub_814DF44(r6->unk82, 22, 3, gText_PressesRankings); + sub_814DFA4(r4, 0, 0xB0, 8 * gUnknown_846E448[0][r5] - r4->unk9 * 14); + r6->unk80 = 5; + return FALSE; + case 12: + sub_814DF44(r6->unk82, 22, 4, gUnknown_846F4B8[r4->unk68.as_five_players.unk1C[0].unk4.as_2d_bytes[0][7] + 3]); + sub_814DFA4(r4, 1, 0xB0, 8 * gUnknown_846E448[0][r5] - r4->unk9 * 14); + r6->unk80 = 5; + return FALSE; + case 13: + sub_814DF44(r6->unk82, 24, 3, gText_CrushingResults); + sub_814DFA4(r4, 2, 0xC0, 0x10); + break; + } + break; + case 4: + sub_814E32C(r4); + break; + case 5: + CopyWindowToVram(r6->unk82, 3); + r6->unk80 = 0; + return TRUE; + } + ++r6->unk80; + return FALSE; +} + +void sub_814E80C(struct BerryCrushGame * r4) +{ + ClearStdWindowAndFrameToTransparent(r4->unk138.unk82, 1); + RemoveWindow(r4->unk138.unk82); + sub_814EBB0(r4); +} + +static void Task_ShowBerryCrushRankings(u8 taskId) +{ + u8 i = 0, j, xPos, yPos; + u32 score = 0; + s16 *data = gTasks[taskId].data; + u8 *str; + + switch (data[0]) + { + case 0: + data[1] = AddWindow(&gUnknown_846E3F0); + PutWindowTilemap(data[1]); + FillWindowPixelBuffer(data[1], PIXEL_FILL(0)); + TextWindow_SetStdFrame0_WithPal(data[1], 0x21D, 0xD0); + DrawStdFrameWithCustomTileAndPalette(data[1], 0, 0x21D, 0xD); + break; + case 1: + xPos = 96 - GetStringWidth(2, gText_BerryCrush2, -1) / 2u; + AddTextPrinterParameterized3( + data[1], + 2, + xPos, + 2, + sBerryCrushTextColorTable[3], + 0, + gText_BerryCrush2 + ); + xPos = 96 - GetStringWidth(2, gText_PressingSpeedRankings, -1) / 2u; + AddTextPrinterParameterized3( + data[1], + 2, + xPos, + 18, + sBerryCrushTextColorTable[3], + 0, + gText_PressingSpeedRankings + ); + yPos = 42; + for (i = 0; i < 4; ++i) + { + ConvertIntToDecimalStringN(gStringVar1, i + 2, STR_CONV_MODE_LEFT_ALIGN, 1); + StringExpandPlaceholders(gStringVar4, gText_Var1Players); + AddTextPrinterParameterized3( + data[1], + 2, + 4, + yPos, + sBerryCrushTextColorTable[0], + 0, + gStringVar4 + ); + for (j = 0; j < 8; ++j) + { + if (((data[i + 2] & 0xFF) >> (7 - j)) & 1) + score += gUnknown_846E450[j]; + } + ConvertIntToDecimalStringN(gStringVar1, (u16)data[i + 2] >> 8, STR_CONV_MODE_RIGHT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar2, score / 1000000, STR_CONV_MODE_LEADING_ZEROS, 2); + str = StringExpandPlaceholders(gStringVar4, gText_XDotY3); + *str++ = CHAR_SPACE; + StringCopy(str, gText_TimesPerSec); + xPos = 192 - (u8)GetStringWidth(3, gStringVar4, 0); + AddTextPrinterParameterized3( + data[1], + 3, + xPos, + yPos, + sBerryCrushTextColorTable[0], + 0, + gStringVar4 + ); + yPos += 14; + score = 0; + } + CopyWindowToVram(data[1], 3); + break; + case 2: + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + break; + else + return; + case 3: + ClearStdWindowAndFrameToTransparent(data[1], 1); + ClearWindowTilemap(data[1]); + RemoveWindow(data[1]); + DestroyTask(taskId); + EnableBothScriptContexts(); + ScriptContext2_Disable(); + data[0] = 0; + return; + } + ++data[0]; +} + +void ShowBerryCrushRankings(void) +{ + u8 taskId; + + ScriptContext2_Enable(); + taskId = CreateTask(Task_ShowBerryCrushRankings, 0); + gTasks[taskId].data[2] = gSaveBlock2Ptr->berryCrush.berryCrushResults[0]; + gTasks[taskId].data[3] = gSaveBlock2Ptr->berryCrush.berryCrushResults[1]; + gTasks[taskId].data[4] = gSaveBlock2Ptr->berryCrush.berryCrushResults[2]; + gTasks[taskId].data[5] = gSaveBlock2Ptr->berryCrush.berryCrushResults[3]; +} + +static void sub_814EAD4(struct BerryCrushGame_138 * r4, u16 r1) +{ + sub_814DEC0(r4, r1); + DigitObjUtil_PrintNumOn(0, r4->unk4); + DigitObjUtil_PrintNumOn(1, r4->unk6); + DigitObjUtil_PrintNumOn(2, r4->unk8); +} + +void sub_814EB04(struct BerryCrushGame_138 * r0) +{ + r0->unk78[0]->invisible = TRUE; + r0->unk78[1]->invisible = TRUE; + DigitObjUtil_HideOrShow(2, 1); + DigitObjUtil_HideOrShow(1, 1); + DigitObjUtil_HideOrShow(0, 1); +} + +static void sub_814EB38(struct BerryCrushGame * r5) +{ + u8 r6; + + for (r6 = 0; r6 < r5->unk9; ++r6) + { + r5->unk138.unkC[r6] = &gUnknown_846F294[gUnknown_846F280[r5->unk9 - 2][r6]]; + r5->unk138.unk83[r6] = AddWindow(&gUnknown_846E3F8[r5->unk138.unkC[r6]->unk0]); + PutWindowTilemap(r5->unk138.unk83[r6]); + FillWindowPixelBuffer(r5->unk138.unk83[r6], 0); + } +} + +static void sub_814EBB0(struct BerryCrushGame * r6) +{ + u8 r7, r2; + u8 *r4; + + for (r7 = 0; r7 < r6->unk9; ++r7) + { + PutWindowTilemap(r6->unk138.unk83[r7]); + if (r7 == r6->unk8) + { + AddTextPrinterParameterized4( + r6->unk138.unk83[r7], + 2, + 36 - GetStringWidth(2, PLAYER_UNK14(r6, r7), 0) / 2u, + 1, + 0, + 0, + sBerryCrushTextColorTable[1], + 0, + PLAYER_UNK14(r6, r7) + ); + } + else + { + AddTextPrinterParameterized4( + r6->unk138.unk83[r7], + 2, + 36 - GetStringWidth(2, PLAYER_UNK14(r6, r7), 0) / 2u, + 1, + 0, + 0, + sBerryCrushTextColorTable[2], + 0, + PLAYER_UNK14(r6, r7) + ); + } + CopyWindowToVram(r6->unk138.unk83[r7], 3); + } + CopyBgTilemapBufferToVram(0); +} + +static void sub_814EC80(struct BerryCrushGame * r6) +{ + u8 r5 = 0; + const u32 *r0 = gUnknown_8EB0ADC; +#ifndef NONMATCHING // r4, r5, r6 register roulette + register u8 *r4 asm("r4") = gDecompressionBuffer; + register u32 r0_ asm("r0"); +#else + u8 *r4 = gDecompressionBuffer; + u32 r0_; +#endif + + LZ77UnCompWram(r0, r4); + for (; r5 < r6->unk9; ++r5) + { + r0_ = r6->unk138.unkC[r5]->unk0; + CopyToBgTilemapBufferRect( + 3, + &r4[r0_ * 40], + r6->unk138.unkC[r5]->unk1, + r6->unk138.unkC[r5]->unk2, + 10, + 2 + ); + } + CopyBgTilemapBufferToVram(3); +} + +static void sub_814ECE0(struct BerryCrushGame * r6) +{ + u8 r5 = 0; + u8 r2; + + r6->unk2A = -104; + r6->unk2C = 0; + gSpriteCoordOffsetX = 0; + gSpriteCoordOffsetY = -104; + for (; r5 < 4; ++r5) + LoadCompressedSpriteSheet(&gUnknown_846F2F8[r5]); + LoadSpritePalettes(gUnknown_846F320); + r2 = CreateSprite(&gUnknown_846F410, 120, 88, 5); + r6->unk138.unk20 = &gSprites[r2]; + r6->unk138.unk20->oam.priority = 3; + r6->unk138.unk20->coordOffsetEnabled = TRUE; + r6->unk138.unk20->animPaused = TRUE; + for (r5 = 0; r5 < r6->unk9; ++r5) + { + r2 = CreateSprite( + &gUnknown_846F428, + r6->unk138.unkC[r5]->unk4 + 120, + r6->unk138.unkC[r5]->unk6 + 32, + 0 + ); + r6->unk138.unk24[r5] = &gSprites[r2]; + r6->unk138.unk24[r5]->oam.priority = 1; + r6->unk138.unk24[r5]->invisible = TRUE; + r6->unk138.unk24[r5]->coordOffsetEnabled = TRUE; + r6->unk138.unk24[r5]->animPaused = TRUE; + } + for (r5 = 0; r5 < NELEMS(r6->unk138.unk4C); ++r5) + { + r2 = CreateSprite( + &gUnknown_846F440, + gUnknown_846F2D6[r5][0] + 120, + gUnknown_846F2D6[r5][1] + 136, + 6 + ); + r6->unk138.unk4C[r5] = &gSprites[r2]; + r6->unk138.unk4C[r5]->oam.priority = 3; + r6->unk138.unk4C[r5]->invisible = TRUE; + r6->unk138.unk4C[r5]->animPaused = TRUE; + r6->unk138.unk4C[r5]->data[0] = r5; + } + for (r5 = 0; r5 < NELEMS(r6->unk138.unk78); ++r5) + { + r2 = CreateSprite( + &gUnknown_846F458, + 24 * r5 + 176, + 8, + 0 + ); + r6->unk138.unk78[r5] = &gSprites[r2]; + r6->unk138.unk78[r5]->oam.priority = 0; + r6->unk138.unk78[r5]->invisible = FALSE; + r6->unk138.unk78[r5]->animPaused = FALSE; + } + DigitObjUtil_CreatePrinter(0, 0, &gUnknown_846F488[0]); + DigitObjUtil_CreatePrinter(1, 0, &gUnknown_846F488[1]); + DigitObjUtil_CreatePrinter(2, 0, &gUnknown_846F488[2]); + if (r6->unk12 == 1) + sub_814EB04(&r6->unk138); +} + +static void sub_814EF10(struct BerryCrushGame * r5) +{ + u8 r4 = 0; + + FreeSpriteTilesByTag(4); + FreeSpriteTilesByTag(3); + FreeSpriteTilesByTag(2); + FreeSpriteTilesByTag(1); + FreeSpritePaletteByTag(4); + FreeSpritePaletteByTag(2); + FreeSpritePaletteByTag(1); + for (; r4 < NELEMS(r5->unk138.unk78); ++r4) + DestroySprite(r5->unk138.unk78[r4]); + DigitObjUtil_DeletePrinter(2); + DigitObjUtil_DeletePrinter(1); + DigitObjUtil_DeletePrinter(0); + for (r4 = 0; r4 < NELEMS(r5->unk138.unk4C); ++r4) + DestroySprite(r5->unk138.unk4C[r4]); + for (r4 = 0; r4 < r5->unk9; ++r4) + DestroySprite(r5->unk138.unk24[r4]); + if (r5->unk138.unk20->inUse) + DestroySprite(r5->unk138.unk20); +} + +static void sub_814EFD0(struct Sprite * sprite) +{ + if (sprite->animEnded) + { + sprite->invisible = TRUE; + sprite->animPaused = TRUE; + } +} + +static void sub_814EFFC(struct Sprite * sprite) +{ + u8 r1 = 0; + SpriteCallback r5 = SpriteCallbackDummy; + + for (; r1 < NELEMS(sprite->data); ++r1) + sprite->data[r1] = 0; + sprite->pos2.x = 0; + sprite->pos2.y = 0; + sprite->invisible = TRUE; + sprite->animPaused = TRUE; + sprite->callback = r5; +} + +static void sub_814F044(struct Sprite * sprite) +{ + s16 *r4 = sprite->data; + + r4[1] += r4[2]; + sprite->pos2.y += r4[1] >> 8; + if (r4[7] & 0x8000) + { + sprite->data[0] += r4[3]; + r4[4] += r4[5]; + sprite->pos2.x = Sin(r4[4] >> 7, r4[6]); + if (r4[7] & 0x8000 && r4[4] >> 7 > 126) + { + sprite->pos2.x = 0; + r4[7] &= 0x7FFF; + } + } + sprite->pos1.x = r4[0] >> 7; + if (sprite->pos1.y + sprite->pos2.y > (r4[7] & 0x7FFF)) + sprite->callback = sub_814EFFC; +} + +static void sub_814F0D8(struct Sprite * sprite) +{ + s16 *r7 = sprite->data; + s16 r4, r5; + s32 r2; + u32 r8 = 0; + + r2 = 640; + r7[1] = r2; + r7[2] = 32; + r7[7] = 168; + r4 = sprite->pos2.x * 128; + r5 = sub_80D8B40(7, (168 - sprite->pos1.y) << 7, (r2 + 32) >> 1); + sprite->data[0] = sprite->pos1.x << 7; + r7[3] = sub_80D8B40(7, r4, r5); + r2 = sub_80D8ABC(7, r5, 85); + r7[4] = r8; + r7[5] = sub_80D8B40(7, 0x3F80, r2); + r7[6] = sprite->pos2.x / 4; + r7[7] |= 0x8000; + sprite->pos2.y = r8; + sprite->pos2.x = r8; + sprite->callback = sub_814F044; + sprite->animPaused = FALSE; + sprite->invisible = FALSE; +} diff --git a/src/berry_fix_program.c b/src/berry_fix_program.c index e60a53ef9..2e0bf8256 100644 --- a/src/berry_fix_program.c +++ b/src/berry_fix_program.c @@ -1,17 +1,12 @@ #include "global.h" #include "gpu_regs.h" #include "multiboot.h" -#include "malloc.h" -#include "bg.h" #include "graphics.h" #include "main.h" #include "sprite.h" #include "task.h" #include "scanline_effect.h" -#include "window.h" -#include "text.h" #include "help_system.h" -#include "menu.h" #include "m4a.h" // Static type declarations diff --git a/src/berry_pouch.c b/src/berry_pouch.c index 63677574b..a0b2c03a3 100644 --- a/src/berry_pouch.c +++ b/src/berry_pouch.c @@ -748,7 +748,7 @@ static void BerryPouchSetArrowCursorAt(u8 y, u8 colorIdx) } else { - BerryPouchPrint(0, 2, gFameCheckerText_ListMenuCursor, 1, y, 0, 0, 0, colorIdx); + BerryPouchPrint(0, 2, gText_SelectorArrow2, 1, y, 0, 0, 0, colorIdx); } } @@ -1027,7 +1027,7 @@ static void CreateNormalContextMenu(u8 taskId) Menu_InitCursor(windowId, 2, 0, 2, GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT) + 2, sContextMenuNumOptions, 0); windowId2 = GetOrCreateVariableWindow(6); CopySelectedListMenuItemName(data[1], gStringVar1); - StringExpandPlaceholders(gStringVar4, gOtherText_StrVar1); + StringExpandPlaceholders(gStringVar4, gText_Var1IsSelected); BerryPouchPrint(windowId2, 2, gStringVar4, 0, 2, 1, 2, 0, 1); } diff --git a/src/berry_powder.c b/src/berry_powder.c index 2eff23802..3ebffed48 100644 --- a/src/berry_powder.c +++ b/src/berry_powder.c @@ -36,7 +36,7 @@ static bool8 HasEnoughBerryPowder(u32 cost) return TRUE; } -bool8 Special_HasEnoughBerryPowder(void) +bool8 Script_HasEnoughBerryPowder(void) { if (DecryptBerryPowder(&gSaveBlock2Ptr->berryCrush.berryPowderAmount) < gSpecialVar_0x8004) return FALSE; @@ -73,7 +73,7 @@ static bool8 TakeBerryPowder(u32 cost) } } -bool8 Special_TakeBerryPowder(void) +bool8 Script_TakeBerryPowder(void) { u32 *powder = &gSaveBlock2Ptr->berryCrush.berryPowderAmount; if (!HasEnoughBerryPowder(gSpecialVar_0x8004)) diff --git a/src/cable_club.c b/src/cable_club.c new file mode 100644 index 000000000..b7f9b9114 --- /dev/null +++ b/src/cable_club.c @@ -0,0 +1,964 @@ +#include "global.h" +#include "gflib.h" +#include "battle.h" +#include "battle_records.h" +#include "cable_club.h" +#include "event_data.h" +#include "event_scripts.h" +#include "field_message_box.h" +#include "field_weather.h" +#include "link.h" +#include "load_save.h" +#include "m4a.h" +#include "mevent.h" +#include "new_menu_helpers.h" +#include "overworld.h" +#include "quest_log.h" +#include "script.h" +#include "script_pokemon_util.h" +#include "start_menu.h" +#include "strings.h" +#include "task.h" +#include "trade.h" +#include "trainer_card.h" +#include "union_room.h" +#include "constants/songs.h" +#include "constants/cable_club.h" +#include "constants/field_weather.h" + +u32 UnusedVarNeededToMatch[8]; + +static void Task_Linkup0(u8 taskId); +static void Task_Linkup1(u8 taskId); +static void Task_LinkupMaster_2(u8 taskId); +static void Task_LinkupMaster_3(u8 taskId); +static void Task_LinkupMaster_4(u8 taskId); +static void Task_LinkupMaster_5(u8 taskId); +static void Task_LinkupSlave_2(u8 taskId); +static void Task_LinkupMaster_6(u8 taskId); +static void Task_Linkup_6a(u8 taskId); +static void Task_Linkup_7(u8 taskId); +static void Task_Linkup_Canceled(u8 taskId); +static void Task_Linkup_ErroredOut(u8 taskId); +static bool8 Task_Linkup_TimedOut(u8 taskId); +static void Task_ReestablishLinkInCableClubRoom_0(u8 taskId); +static void Task_ReestablishLinkInCableClubRoom_1(u8 taskId); +static void Task_ReestablishLinkInCableClubRoom_Master(u8 taskId); +static void Task_ReestablishLinkInCableClubRoom_2(u8 taskId); + +static const struct WindowTemplate gUnknown_83C6AB0 = { + .bg = 0, + .tilemapLeft = 16, + .tilemapTop = 11, + .width = 11, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x125 +}; + +static const u8 *const sStarsMessagePtrs[] = { + gUnknown_841DF8B, + gUnknown_841DF92, + gUnknown_841DF99, + gUnknown_841DFA0 +}; + +static void CreateLinkupTask(u8 lower, u8 higher) +{ + u8 taskId; + if (FindTaskIdByFunc(Task_Linkup0) == 0xFF) + { + taskId = CreateTask(Task_Linkup0, 80); + gTasks[taskId].data[1] = lower; + gTasks[taskId].data[2] = higher; + } +} + +static void PrintNewCountOnLinkPlayerCountDisplayWindow(u16 windowId, s32 num) +{ + ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_LEFT_ALIGN, 1); + SetStdWindowBorderStyle(windowId, FALSE); + StringExpandPlaceholders(gStringVar4, gUnknown_841DF82); + AddTextPrinterParameterized(windowId, 2, gStringVar4, 0, 0, TEXT_SPEED_FF, NULL); + CopyWindowToVram(windowId, 3); +} + +static void DestroyLinkPlayerCountDisplayWindow(u16 windowId) +{ + ClearStdWindowAndFrame(windowId, FALSE); + CopyWindowToVram(windowId, 3); +} + +static void UpdateLinkPlayerCountDisplay(u8 taskId, u8 num) +{ + s16 *data = gTasks[taskId].data; + if (num != data[3]) + { + if (num < 2) + DestroyLinkPlayerCountDisplayWindow(data[5]); + else + PrintNewCountOnLinkPlayerCountDisplayWindow(data[5], num); + data[3] = num; + } +} + +static u16 sub_8080844(u8 lower, u8 higher) +{ + switch (GetLinkPlayerDataExchangeStatusTimed(lower, higher)) + { + case EXCHANGE_COMPLETE: + return 1; + case EXCHANGE_IN_PROGRESS: + return 3; + case EXCHANGE_STAT_4: + return 7; + case EXCHANGE_STAT_5: + return 9; + case EXCHANGE_STAT_6: + ConvertIntToDecimalStringN(gStringVar1, GetLinkPlayerCount_2(), STR_CONV_MODE_LEFT_ALIGN, 1); + return 4; + default: + return 0; + } +} + +static bool32 sub_80808BC(u8 taskId) +{ + if (HasLinkErrorOccurred() == TRUE) + { + gTasks[taskId].func = Task_Linkup_ErroredOut; + return TRUE; + } + return FALSE; +} + +static bool32 sub_80808F0(u8 taskId) +{ + if (JOY_NEW(B_BUTTON) && !IsLinkConnectionEstablished()) + { + gLinkType = 0; + gTasks[taskId].func = Task_Linkup_Canceled; + return TRUE; + } + return FALSE; +} + +static bool32 sub_808093C(u8 taskId) +{ + if (IsLinkConnectionEstablished()) + { + SetSuppressLinkErrorMessage(TRUE); + } + if (JOY_NEW(B_BUTTON)) + { + gLinkType = 0; + gTasks[taskId].func = Task_Linkup_Canceled; + return TRUE; + } + return FALSE; +} + +static bool32 sub_8080990(u8 taskId) +{ + if (GetSioMultiSI() == TRUE) + { + gTasks[taskId].func = Task_Linkup_ErroredOut; + return TRUE; + } + return FALSE; +} + +static void sub_80809C4(u8 taskId) +{ + gTasks[taskId].data[0]++; + if (gTasks[taskId].data[0] == 10) + { + sub_800A474(2); + DestroyTask(taskId); + } +} + +static void Task_Linkup0(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (data[0] == 0) + { + OpenLinkTimed(); + sub_800AA24(); + ResetLinkPlayers(); + data[5] = AddWindow(&gUnknown_83C6AB0); + } + else if (data[0] > 9) + { + gTasks[taskId].func = Task_Linkup1; + } + data[0]++; +} + +static void Task_Linkup1(u8 taskId) +{ + u8 linkPlayerCount = GetLinkPlayerCount_2(); + if (sub_80808F0(taskId) != TRUE && sub_808093C(taskId) != TRUE && linkPlayerCount >= 2) + { + SetSuppressLinkErrorMessage(TRUE); + gTasks[taskId].data[3] = 0; + if (IsLinkMaster() == TRUE) + { + PlaySE(SE_PIN); + ShowFieldAutoScrollMessage(CableClub_Text_WhenAllPlayersReadyAConfirmBCancel); + gTasks[taskId].func = Task_LinkupMaster_2; + } + else + { + PlaySE(SE_BOO); + ShowFieldAutoScrollMessage(CableClub_Text_AwaitingLinkupBCancel); + gTasks[taskId].func = Task_LinkupSlave_2; + } + } +} + +static void Task_LinkupMaster_2(u8 taskId) +{ + if (sub_80808F0(taskId) != TRUE && sub_8080990(taskId) != TRUE && sub_80808BC(taskId) != TRUE && !textbox_any_visible()) + { + gTasks[taskId].data[3] = 0; + gTasks[taskId].func = Task_LinkupMaster_3; + } +} + +static void Task_LinkupMaster_3(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + s32 linkPlayerCount = GetLinkPlayerCount_2(); + if (sub_80808F0(taskId) != TRUE && sub_8080990(taskId) != TRUE && sub_80808BC(taskId) != TRUE) + { + UpdateLinkPlayerCountDisplay(taskId, linkPlayerCount); + if (JOY_NEW(A_BUTTON) && linkPlayerCount >= data[1]) + { + sub_800A900(linkPlayerCount); + DestroyLinkPlayerCountDisplayWindow(data[5]); + ConvertIntToDecimalStringN(gStringVar1, linkPlayerCount, STR_CONV_MODE_LEFT_ALIGN, 1); + ShowFieldAutoScrollMessage(CableClub_Text_StartLinkWithXPlayersAConfirmBCancel); + gTasks[taskId].func = Task_LinkupMaster_4; + } + } +} + +static void Task_LinkupMaster_4(u8 taskId) +{ + if (sub_80808F0(taskId) != TRUE && sub_8080990(taskId) != TRUE && sub_80808BC(taskId) != TRUE && !textbox_any_visible()) + { + if (GetSavedPlayerCount() != GetLinkPlayerCount_2()) + { + ShowFieldAutoScrollMessage(CableClub_Text_WhenAllPlayersReadyAConfirmBCancel); + gTasks[taskId].func = Task_LinkupMaster_2; + } + else if (JOY_HELD(B_BUTTON)) + { + ShowFieldAutoScrollMessage(CableClub_Text_WhenAllPlayersReadyAConfirmBCancel); + gTasks[taskId].func = Task_LinkupMaster_2; + } + else if (JOY_HELD(A_BUTTON)) + { + PlaySE(SE_SELECT); + CheckShouldAdvanceLinkState(); + gTasks[taskId].func = Task_LinkupMaster_5; + } + } +} + +static void Task_LinkupMaster_5(u8 taskId) +{ + u8 lower = gTasks[taskId].data[1]; + u8 higher = gTasks[taskId].data[2]; + u16 *res; + if (sub_80808BC(taskId) != TRUE && Task_Linkup_TimedOut(taskId) != TRUE) + { + if (GetLinkPlayerCount_2() != GetSavedPlayerCount()) + { + gTasks[taskId].func = Task_Linkup_ErroredOut; + } + else + { + res = &gSpecialVar_Result; + *res = sub_8080844(lower, higher); + if (*res) + gTasks[taskId].func = Task_LinkupMaster_6; + } + } +} + +static void Task_LinkupSlave_2(u8 taskId) +{ + u8 lower = gTasks[taskId].data[1]; + u8 higher = gTasks[taskId].data[2]; + u16 *res; + if (sub_80808F0(taskId) != TRUE && sub_80808BC(taskId) != TRUE) + { + res = &gSpecialVar_Result; + *res = sub_8080844(lower, higher); + if (*res) + { + if (*res == 3 || *res == 4) + { + Link_TryStartSend5FFF(); + HideFieldMessageBox(); + gTasks[taskId].func = Task_Linkup_7; + } + else if (*res == 7 || *res == 9) + { + CloseLink(); + HideFieldMessageBox(); + gTasks[taskId].func = Task_Linkup_7; + } + else + { + gFieldLinkPlayerCount = GetLinkPlayerCount_2(); + gLocalLinkPlayerId = GetMultiplayerId(); + sub_800A900(gFieldLinkPlayerCount); + TrainerCard_GenerateCardForLinkPlayer((void*)gBlockSendBuffer); + gTasks[taskId].func = Task_Linkup_6a; + } + } + } +} + +static bool32 AnyConnectedPartnersPlayingRS(void) +{ + int i; + u16 version; + + for (i = 0; i < GetLinkPlayerCount(); i++) + { + version = gLinkPlayers[i].version & 0xFF; + if (version == VERSION_RUBY || version == VERSION_SAPPHIRE) + return TRUE; + } + return FALSE; +} + +static void Task_LinkupMaster_6(u8 taskId) +{ + if (sub_80808BC(taskId) != TRUE) + { + if (gSpecialVar_Result == 4) + { + if (AnyConnectedPartnersPlayingRS() == TRUE) + CloseLink(); + else + Link_TryStartSend5FFF(); + HideFieldMessageBox(); + gTasks[taskId].func = Task_Linkup_7; + } + else if (gSpecialVar_Result == 3) + { + Link_TryStartSend5FFF(); + HideFieldMessageBox(); + gTasks[taskId].func = Task_Linkup_7; + } + else if (gSpecialVar_Result == 7 || gSpecialVar_Result == 9) + { + CloseLink(); + HideFieldMessageBox(); + gTasks[taskId].func = Task_Linkup_7; + } + else + { + gFieldLinkPlayerCount = GetLinkPlayerCount_2(); + gLocalLinkPlayerId = GetMultiplayerId(); + sub_800A900(gFieldLinkPlayerCount); + TrainerCard_GenerateCardForLinkPlayer((void*)gBlockSendBuffer); + gTasks[taskId].func = Task_Linkup_6a; + sub_800A474(2); + } + } +} + +static void Task_Linkup_6a(u8 taskId) +{ + u8 i; + u16 version; + u8 * dest; + if (sub_80808BC(taskId) != TRUE && GetBlockReceivedStatus() == sub_800A8A4()) + { + for(i = 0; i < GetLinkPlayerCount(); i++) + { + version = gLinkPlayers[i].version & 0xFF; + if (version != VERSION_FIRE_RED && version != VERSION_LEAF_GREEN) + { + const struct TrainerCardRSE * src = (const struct TrainerCardRSE *)gBlockRecvBuffer[i]; + gTrainerCards[i].rse = *src; + gTrainerCards[i].version = gLinkPlayers[i].version; + } + else + { + const struct TrainerCard * src = (const struct TrainerCard *)gBlockRecvBuffer[i]; + gTrainerCards[i] = *src; + } + } + SetSuppressLinkErrorMessage(FALSE); + ResetBlockReceivedFlags(); + HideFieldMessageBox(); + if (gSpecialVar_Result == 1) + { + // Dumb trick required to match + if (gLinkType == LINKTYPE_0x4411) + *UnusedVarNeededToMatch += 0; + DestroyLinkPlayerCountDisplayWindow(gTasks[taskId].data[5]); + EnableBothScriptContexts(); + DestroyTask(taskId); + } + else + { + Link_TryStartSend5FFF(); + gTasks[taskId].func = Task_Linkup_7; + } + } +} + +static void Task_Linkup_7(u8 taskId) +{ + if (!gReceivedRemoteLinkPlayers) + { + DestroyLinkPlayerCountDisplayWindow(gTasks[taskId].data[5]); + EnableBothScriptContexts(); + RemoveWindow(gTasks[taskId].data[5]); + DestroyTask(taskId); + } +} + +static void Task_Linkup_Canceled(u8 taskId) +{ + gSpecialVar_Result = 5; + DestroyLinkPlayerCountDisplayWindow(gTasks[taskId].data[5]); + HideFieldMessageBox(); + EnableBothScriptContexts(); + DestroyTask(taskId); +} + +static void Task_Linkup_ErroredOut(u8 taskId) +{ + gSpecialVar_Result = 6; + DestroyLinkPlayerCountDisplayWindow(gTasks[taskId].data[5]); + HideFieldMessageBox(); + EnableBothScriptContexts(); + DestroyTask(taskId); +} + +static bool8 Task_Linkup_TimedOut(u8 taskId) +{ + gTasks[taskId].data[4]++; + if (gTasks[taskId].data[4] > 600) + { + gTasks[taskId].func = Task_Linkup_ErroredOut; + return TRUE; + } + return FALSE; +} + +void TryBattleLinkup(void) +{ + u8 lower, higher; + higher = lower = 2; + switch (gSpecialVar_0x8004) + { + case USING_SINGLE_BATTLE: + higher = lower = 2; + gLinkType = LINKTYPE_SINGLE_BATTLE; + break; + case USING_DOUBLE_BATTLE: + higher = lower = 2; + gLinkType = LINKTYPE_DOUBLE_BATTLE; + break; + case USING_MULTI_BATTLE: + higher = lower = 4; + gLinkType = LINKTYPE_MULTI_BATTLE; + break; + } + CreateLinkupTask(lower, higher); +} + +void TryTradeLinkup(void) +{ + gLinkType = LINKTYPE_0x1133; + gBattleTypeFlags = 0; + CreateLinkupTask(2, 2); +} + +void TryRecordMixLinkup(void) +{ + gSpecialVar_Result = 0; + gLinkType = LINKTYPE_0x3311; + gBattleTypeFlags = 0; + CreateLinkupTask(2, 4); +} + +void sub_8081128(void) +{ + gLinkType = LINKTYPE_0x6601; + gBattleTypeFlags = 0; + CreateLinkupTask(4, 4); +} + +u8 CreateTask_ReestablishLinkInCableClubRoom(void) +{ + if (FuncIsActiveTask(Task_ReestablishLinkInCableClubRoom_0)) + return 0xFF; + switch (gSpecialVar_0x8004) + { + case USING_SINGLE_BATTLE: + gLinkType = LINKTYPE_SINGLE_BATTLE; + break; + case USING_DOUBLE_BATTLE: + gLinkType = LINKTYPE_DOUBLE_BATTLE; + break; + case USING_MULTI_BATTLE: + gLinkType = LINKTYPE_MULTI_BATTLE; + break; + case USING_TRADE_CENTER: + gLinkType = LINKTYPE_0x1111; + break; + case USING_RECORD_CORNER: + gLinkType = LINKTYPE_0x3322; + break; + } + return CreateTask(Task_ReestablishLinkInCableClubRoom_0, 80); +} + +static void Task_ReestablishLinkInCableClubRoom_0(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (data[0] == 0) + { + OpenLink(); + ResetLinkPlayers(); + CreateTask(sub_8081A90, 80); + } + else if (data[0] > 9) + gTasks[taskId].func = Task_ReestablishLinkInCableClubRoom_1; + data[0]++; +} + +static void Task_ReestablishLinkInCableClubRoom_1(u8 taskId) +{ + if (GetLinkPlayerCount_2() >= 2) + { + if (IsLinkMaster() == TRUE) + { + gTasks[taskId].func = Task_ReestablishLinkInCableClubRoom_Master; + } + else + { + gTasks[taskId].func = Task_ReestablishLinkInCableClubRoom_2; + } + } +} + +static void Task_ReestablishLinkInCableClubRoom_Master(u8 taskId) +{ + if (GetSavedPlayerCount() == GetLinkPlayerCount_2()) + { + CheckShouldAdvanceLinkState(); + gTasks[taskId].func = Task_ReestablishLinkInCableClubRoom_2; + } +} + +static void Task_ReestablishLinkInCableClubRoom_2(u8 taskId) +{ + if (gReceivedRemoteLinkPlayers == TRUE && IsLinkPlayerDataExchangeComplete() == TRUE) + { + sub_800A9A4(); + sub_8009FE8(); + DestroyTask(taskId); + } +} + +void CableClub_AskSaveTheGame(void) +{ + Field_AskSaveTheGame(); +} + +static void Task_StartWiredCableClubBattle(u8 taskId) +{ + struct Task * task = &gTasks[taskId]; + switch (task->data[0]) + { + case 0: + FadeScreen(FADE_TO_BLACK, 0); + gLinkType = LINKTYPE_BATTLE; + ClearLinkCallback_2(); + task->data[0]++; + break; + case 1: + if (!gPaletteFade.active) + task->data[0]++; + break; + case 2: + task->data[1]++; + if (task->data[1] > 20) + task->data[0]++; + break; + case 3: + Link_TryStartSend5FFF(); + task->data[0]++; + break; + case 4: + if (!gReceivedRemoteLinkPlayers) + task->data[0]++; + break; + case 5: + if (gLinkPlayers[0].trainerId & 1) + PlayMapChosenOrBattleBGM(MUS_BATTLE32); + else + PlayMapChosenOrBattleBGM(MUS_BATTLE20); + switch (gSpecialVar_0x8004) + { + case USING_SINGLE_BATTLE: + gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_LINK; + break; + case USING_DOUBLE_BATTLE: + gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_LINK | BATTLE_TYPE_DOUBLE; + break; + case USING_MULTI_BATTLE: + ReducePlayerPartyToThree(); + gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_LINK | BATTLE_TYPE_DOUBLE | BATTLE_TYPE_MULTI; + break; + } + CleanupOverworldWindowsAndTilemaps(); + gTrainerBattleOpponent_A = TRAINER_LINK_OPPONENT; + SetMainCallback2(CB2_InitBattle); + gMain.savedCallback = CB2_ReturnFromCableClubBattle; + DestroyTask(taskId); + break; + } +} + +static void Task_StartWirelessCableClubBattle(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + int i; + switch (data[0]) + { + case 0: + FadeScreen(FADE_TO_BLACK, 0); + gLinkType = LINKTYPE_BATTLE; + ClearLinkCallback_2(); + data[0] = 1; + break; + case 1: + if (!gPaletteFade.active) + data[0] = 2; + break; + case 2: + SendBlock(0, &gLocalLinkPlayer, sizeof(struct LinkPlayer)); + data[0] = 3; + break; + case 3: + if (GetBlockReceivedStatus() == sub_800A8D4()) + { + for (i = 0; i < GetLinkPlayerCount(); i++) + { + gLinkPlayers[i] = *(struct LinkPlayer *)gBlockRecvBuffer[i]; + IntlConvertLinkPlayerName(&gLinkPlayers[i]); + ResetBlockReceivedFlag(i); + } + data[0] = 4; + } + break; + case 4: + data[1]++; + if (data[1] > 20) + data[0] = 5; + break; + case 5: + PrepareSendLinkCmd2FFE_or_RfuCmd6600(); + data[0] = 6; + break; + case 6: + if (IsLinkTaskFinished()) + data[0] = 7; + break; + case 7: + if (gLinkPlayers[0].trainerId & 1) + PlayMapChosenOrBattleBGM(MUS_BATTLE32); + else + PlayMapChosenOrBattleBGM(MUS_BATTLE20); + gLinkPlayers[0].linkType = LINKTYPE_BATTLE; + switch (gSpecialVar_0x8004) + { + case USING_SINGLE_BATTLE: + gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_LINK; + break; + case USING_DOUBLE_BATTLE: + gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_LINK | BATTLE_TYPE_DOUBLE; + break; + case USING_MULTI_BATTLE: + ReducePlayerPartyToThree(); + gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_LINK | BATTLE_TYPE_DOUBLE | BATTLE_TYPE_MULTI; + break; + } + CleanupOverworldWindowsAndTilemaps(); + gTrainerBattleOpponent_A = TRAINER_LINK_OPPONENT; + SetMainCallback2(CB2_InitBattle); + gMain.savedCallback = CB2_ReturnFromCableClubBattle; + DestroyTask(taskId); + break; + } +} + +static void sub_8081624(void) +{ + switch (gMain.state) + { + case 0: + Link_TryStartSend5FFF(); + gMain.state++; + break; + case 1: + if (IsLinkTaskFinished()) + SetMainCallback2(CB2_ReturnToField); + break; + } +} + +void CB2_ReturnFromCableClubBattle(void) +{ + gBattleTypeFlags &= (u16)~BATTLE_TYPE_20; + sub_8055DB8(); + LoadPlayerParty(); + SavePlayerBag(); + Special_UpdateTrainerFansAfterLinkBattle(); + if (gSpecialVar_0x8004 != USING_MULTI_BATTLE) + { + TryRecordLinkBattleOutcome(gLocalLinkPlayerId ^ 1); + if (gWirelessCommType != 0) + { + switch (gBattleOutcome) + { + case B_OUTCOME_WON: + MEvent_RecordIdOfWonderCardSenderByEventType(0, gLinkPlayers[GetMultiplayerId() ^ 1].trainerId); + break; + case B_OUTCOME_LOST: + MEvent_RecordIdOfWonderCardSenderByEventType(1, gLinkPlayers[GetMultiplayerId() ^ 1].trainerId); + break; + } + } + } + if (InUnionRoom() == TRUE) + { + gMain.savedCallback = sub_8081624; + } + else + { + gMain.savedCallback = c2_8056854; + } + SetMainCallback2(CB2_SetUpSaveAfterLinkBattle); +} + +void CleanupLinkRoomState(void) +{ + if (gSpecialVar_0x8004 == USING_SINGLE_BATTLE || gSpecialVar_0x8004 == USING_DOUBLE_BATTLE || gSpecialVar_0x8004 == USING_MULTI_BATTLE) + { + LoadPlayerParty(); + SavePlayerBag(); + } + copy_saved_warp2_bank_and_enter_x_to_warp1(127); +} + +void ExitLinkRoom(void) +{ + sub_8057F5C(); +} + +static void Task_EnterCableClubSeat(u8 taskId) +{ + struct Task * task = &gTasks[taskId]; + switch (task->data[0]) + { + case 0: + ShowFieldMessage(CableClub_Text_PleaseWaitBCancel); + task->data[0] = 1; + break; + case 1: + if (IsFieldMessageBoxHidden()) + { + sub_8057F34(); + SetLocalLinkPlayerId(gSpecialVar_0x8005); + task->data[0] = 2; + } + break; + case 2: + switch (sub_8057EC0()) + { + case 0: + break; + case 1: + HideFieldMessageBox(); + task->data[0] = 0; + sub_8057F70(); + SwitchTaskToFollowupFunc(taskId); + break; + case 2: + task->data[0] = 3; + break; + } + break; + case 3: + sub_8057F48(); + sub_80F771C(TRUE); + DestroyTask(taskId); + EnableBothScriptContexts(); + break; + } +} + +static void CreateEnterCableClubSeatTaskWithFollowupFunc(TaskFunc followUpFunc) +{ + u8 taskId = CreateTask(Task_EnterCableClubSeat, 80); + SetTaskFuncWithFollowupFunc(taskId, Task_EnterCableClubSeat, followUpFunc); + ScriptContext1_Stop(); +} + +static void Task_StartWiredCableClubTrade(u8 taskId) +{ + struct Task * task = &gTasks[taskId]; + switch (task->data[0]) + { + case 0: + ScriptContext2_Enable(); + FadeScreen(FADE_TO_BLACK, 0); + ClearLinkCallback_2(); + task->data[0]++; + break; + case 1: + if (!gPaletteFade.active) + task->data[0]++; + break; + case 2: + gSelectedTradeMonPositions[0] = 0; + gSelectedTradeMonPositions[1] = 0; + m4aMPlayAllStop(); + Link_TryStartSend5FFF(); + task->data[0]++; + break; + case 3: + if (!gReceivedRemoteLinkPlayers) + { + SetMainCallback2(CB2_ReturnFromLinkTrade); + DestroyTask(taskId); + } + break; + } +} + +static void Task_StartWirelessCableClubTrade(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + switch (data[0]) + { + case 0: + ScriptContext2_Enable(); + FadeScreen(FADE_TO_BLACK, 0); + Rfu_set_zero(); + data[0]++; + break; + case 1: + if (!gPaletteFade.active) + data[0]++; + break; + case 2: + gSelectedTradeMonPositions[0] = 0; + gSelectedTradeMonPositions[1] = 0; + m4aMPlayAllStop(); + PrepareSendLinkCmd2FFE_or_RfuCmd6600(); + data[0]++; + break; + case 3: + if (IsLinkTaskFinished()) + { + UnionRoom_CreateTask_CallCB2ReturnFromLinkTrade(); + DestroyTask(taskId); + } + break; + } +} + +void EnterTradeSeat(void) +{ + if (gWirelessCommType) + CreateEnterCableClubSeatTaskWithFollowupFunc(Task_StartWirelessCableClubTrade); + else + CreateEnterCableClubSeatTaskWithFollowupFunc(Task_StartWiredCableClubTrade); +} + +static void CreateTask_StartWiredCableClubTrade(void) +{ + CreateTask(Task_StartWiredCableClubTrade, 80); +} + +void StartWiredCableClubTrade(void) +{ + CreateTask_StartWiredCableClubTrade(); + ScriptContext1_Stop(); +} + +void EnterColosseumPlayerSpot(void) +{ + gLinkType = LINKTYPE_BATTLE; + if (gWirelessCommType) + CreateEnterCableClubSeatTaskWithFollowupFunc(Task_StartWirelessCableClubBattle); + else + CreateEnterCableClubSeatTaskWithFollowupFunc(Task_StartWiredCableClubBattle); +} + +static void Debug_CreateTaskEnterCableClubSeat(void) +{ + CreateTask(Task_EnterCableClubSeat, 80); + ScriptContext1_Stop(); +} + +void Script_ShowLinkTrainerCard(void) +{ + ShowTrainerCardInLink(gSpecialVar_0x8006, CB2_ReturnToFieldContinueScriptPlayMapMusic); +} + +bool32 GetSeeingLinkPlayerCardMsg(u8 who) +{ + u8 stars; + gSpecialVar_0x8006 = who; + StringCopy(gStringVar1, gLinkPlayers[who].name); + stars = GetTrainerCardStars(who); + if (stars == 0) + return FALSE; + StringCopy(gStringVar2, sStarsMessagePtrs[stars - 1]); + return TRUE; +} + +void sub_8081A90(u8 taskId) +{ + struct Task * task = &gTasks[taskId]; + task->data[0]++; + if (task->data[0] > 300) + { + CloseLink(); + SetMainCallback2(CB2_LinkError); + DestroyTask(taskId); + } + if (gReceivedRemoteLinkPlayers) + DestroyTask(taskId); +} + +static void sub_8081AE4(u8 taskId) +{ + if (!gReceivedRemoteLinkPlayers) + { + EnableBothScriptContexts(); + DestroyTask(taskId); + } +} + +static void sub_8081B08(u8 taskId) +{ + Link_TryStartSend5FFF(); + gTasks[taskId].func = sub_8081AE4; +} diff --git a/src/cereader_tool.c b/src/cereader_tool.c index 2c5d05018..c6e0c9a99 100644 --- a/src/cereader_tool.c +++ b/src/cereader_tool.c @@ -6,40 +6,40 @@ u8 sub_815D654(void) { - return (gSaveBlock1Ptr->unkArray[0].unk9 + 1) % 256; + return (gSaveBlock1Ptr->trainerTower[0].unk9 + 1) % 256; } static bool32 ValidateTrainerTowerTrainer(struct TrainerTowerFloor * floor) { - if (floor->floorIdx < 1 || floor->floorIdx > 8) + if (floor->floorIdx < 1 || floor->floorIdx > MAX_TRAINER_TOWER_FLOORS) return FALSE; - if (floor->challengeType > 2) + if (floor->challengeType > CHALLENGE_TYPE_KNOCKOUT) return FALSE; if (CalcByteArraySum((const u8 *)floor, offsetof(typeof(*floor), checksum)) != floor->checksum) return FALSE; return TRUE; } -bool32 ValidateTrainerTowerData(struct EReaderTrainerHillSet * ttdata) +bool32 ValidateTrainerTowerData(struct EReaderTrainerTowerSet * ttdata) { - u32 count = ttdata->count; + u32 numFloors = ttdata->numFloors; s32 i; - if (count < 1 || count > 8) + if (numFloors < 1 || numFloors > MAX_TRAINER_TOWER_FLOORS) return FALSE; - for (i = 0; i < count; i++) + for (i = 0; i < numFloors; i++) { if (!ValidateTrainerTowerTrainer(&ttdata->floors[i])) return FALSE; } - if (CalcByteArraySum((const u8 *)ttdata->floors, count * sizeof(ttdata->floors[0])) != ttdata->checksum) + if (CalcByteArraySum((const u8 *)ttdata->floors, numFloors * sizeof(ttdata->floors[0])) != ttdata->checksum) return FALSE; return TRUE; } -#define SEC30_SIZE (offsetof(struct EReaderTrainerHillSet, floors[4])) -#define SEC31_SIZE (sizeof(struct EReaderTrainerHillSet) - SEC30_SIZE) +#define SEC30_SIZE (offsetof(struct EReaderTrainerTowerSet, floors[4])) +#define SEC31_SIZE (sizeof(struct EReaderTrainerTowerSet) - SEC30_SIZE) -static bool32 CEReaderTool_SaveTrainerTower_r(struct EReaderTrainerHillSet * ttdata, u8 * buffer) +static bool32 CEReaderTool_SaveTrainerTower_r(struct EReaderTrainerTowerSet * ttdata, u8 * buffer) { AGB_ASSERT_EX(ttdata->dummy == 0, ABSPATH("cereader_tool.c"), 198); AGB_ASSERT_EX(ttdata->id == 0, ABSPATH("cereader_tool.c"), 199) @@ -56,7 +56,7 @@ static bool32 CEReaderTool_SaveTrainerTower_r(struct EReaderTrainerHillSet * ttd return TRUE; } -bool32 CEReaderTool_SaveTrainerTower(struct EReaderTrainerHillSet * ttdata) +bool32 CEReaderTool_SaveTrainerTower(struct EReaderTrainerTowerSet * ttdata) { u8 * buffer = AllocZeroed(0x1000); bool32 result = CEReaderTool_SaveTrainerTower_r(ttdata, buffer); @@ -64,7 +64,7 @@ bool32 CEReaderTool_SaveTrainerTower(struct EReaderTrainerHillSet * ttdata) return result; } -static bool32 CEReaderTool_LoadTrainerTower_r(struct EReaderTrainerHillSet * ttdata, void * buffer) +static bool32 CEReaderTool_LoadTrainerTower_r(struct EReaderTrainerTowerSet * ttdata, void * buffer) { if (TryCopySpecialSaveSection(SECTOR_TTOWER(0), buffer) != 1) return FALSE; @@ -79,10 +79,16 @@ static bool32 CEReaderTool_LoadTrainerTower_r(struct EReaderTrainerHillSet * ttd return TRUE; } -bool32 CEReaderTool_LoadTrainerTower(struct EReaderTrainerHillSet * ttdata) +bool32 CEReaderTool_LoadTrainerTower(struct EReaderTrainerTowerSet * ttdata) { void * buffer = AllocZeroed(0x1000); bool32 success = CEReaderTool_LoadTrainerTower_r(ttdata, buffer); Free(buffer); return success; } + +bool32 ReadTrainerTowerAndValidate(void) +{ + // Stubbed out. Populated in Emerald + return FALSE; +} diff --git a/src/clear_save_data_screen.c b/src/clear_save_data_screen.c new file mode 100644 index 000000000..b6f8b83e9 --- /dev/null +++ b/src/clear_save_data_screen.c @@ -0,0 +1,224 @@ +#include "global.h" +#include "gflib.h" +#include "menu.h" +#include "save.h" +#include "strings.h" +#include "task.h" +#include "text_window.h" +#include "constants/songs.h" + +struct ClearSaveDataStruct { + u8 unk0; + u8 unk1; + u8 unk2; +}; + +static EWRAM_DATA struct ClearSaveDataStruct * sClearSaveDataState = NULL; + +static void Task_DrawClearSaveDataScreen(u8 taskId); +static void Task_HandleYesNoMenu(u8 taskId); +static void Task_CleanUpAndSoftReset(u8 taskId); +static void CB2_Sub_SaveClearScreen_Init(void); +static void SaveClearScreen_GpuInit(void); + +static const struct BgTemplate sBgTemplates[] = { + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0x000 + } +}; + +static const struct WindowTemplate sWindowTemplates[] = { + { + .bg = 0, + .tilemapLeft = 3, + .tilemapTop = 5, + .width = 6, + .height = 4, + .paletteNum = 0xF, + .baseBlock = 0x00A + }, { + .bg = 0, + .tilemapLeft = 3, + .tilemapTop = 15, + .width = 23, + .height = 4, + .paletteNum = 0xF, + .baseBlock = 0x022 + }, DUMMY_WIN_TEMPLATE +}; + +static const u8 sTextColor[] = { + TEXT_COLOR_WHITE, + TEXT_COLOR_DARK_GREY, + TEXT_COLOR_LIGHT_GREY +}; + +static void CB2_RunClearSaveDataScreen(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void VBlankCB_WaitYesNo(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void CB2_SaveClearScreen_Init(void) +{ + sClearSaveDataState = AllocZeroed(sizeof(struct ClearSaveDataStruct)); + sClearSaveDataState->unk1 = 0; + sClearSaveDataState->unk0 = 0; + sClearSaveDataState->unk2 = 0; + CB2_Sub_SaveClearScreen_Init(); + CreateTask(Task_DrawClearSaveDataScreen, 0); + SetMainCallback2(CB2_RunClearSaveDataScreen); +} + +static void Task_DrawClearSaveDataScreen(u8 taskId) +{ + switch (sClearSaveDataState->unk1) + { + case 0: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + break; + case 1: + if (gPaletteFade.active) + return; + SetVBlankCallback(NULL); + break; + case 2: + SaveClearScreen_GpuInit(); + break; + case 3: + TextWindow_SetStdFrame0_WithPal(0, 0x001, 0xF0); + TextWindow_SetStdFrame0_WithPal(1, 0x001, 0xF0); + break; + case 4: + DrawStdFrameWithCustomTileAndPalette(1, TRUE, 0x001, 0xF); + AddTextPrinterParameterized4(1, 2, 0, 3, 1, 1, sTextColor, 0, gUnknown_841B69E); + CopyWindowToVram(1, 2); + break; + case 5: + CreateYesNoMenu(&sWindowTemplates[0], 2, 0, 2, 0x001, 0xF, 1); + CopyBgTilemapBufferToVram(0); + break; + default: + BeginNormalPaletteFade(0xFFFF, 0, 16, 0, RGB_WHITEALPHA); + SetVBlankCallback(VBlankCB_WaitYesNo); + gTasks[taskId].func = Task_HandleYesNoMenu; + break; + } + sClearSaveDataState->unk1++; +} + +static void Task_HandleYesNoMenu(u8 taskId) +{ + // agbcc refuses to keep &sClearSaveDataState in a register + // unless explicitly told to do so as such: + struct ClearSaveDataStruct ** r5 = &sClearSaveDataState; + if ((*r5)->unk0 == 0) + { + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case MENU_B_PRESSED: + case 1: + PlaySE(SE_SELECT); + break; + case 0: + PlaySE(SE_SELECT); + FillWindowPixelBuffer(1, PIXEL_FILL(1)); + AddTextPrinterParameterized4(1, 2, 0, 3, 1, 1, sTextColor, 0, gUnknown_841B6B9); + CopyWindowToVram(1, 3); + ClearSaveData(); + break; + case MENU_NOTHING_CHOSEN: + default: + return; + } + (*r5)->unk0++; + } + else + { + Task_CleanUpAndSoftReset(taskId); + } +} + +static void Task_CleanUpAndSoftReset(u8 taskId) +{ + switch (sClearSaveDataState->unk2) + { + case 0: + BeginNormalPaletteFade(0xFFFF, 0, 0, 16, RGB_WHITEALPHA); + sClearSaveDataState->unk2++; + break; + case 1: + if (!gPaletteFade.active) + { + DestroyYesNoMenu(); + DestroyTask(taskId); + FreeAllWindowBuffers(); + FREE_AND_SET_NULL(sClearSaveDataState); + DoSoftReset(); + // noreturn + } + break; + } +} + +static void CB2_Sub_SaveClearScreen_Init(void) +{ + ResetSpriteData(); + ResetPaletteFade(); + ResetTasks(); +} + +static void SaveClearScreen_GpuInit(void) +{ + DmaClearLarge16(3, (void *)VRAM, VRAM_SIZE, 0x1000); + +#ifndef NONMATCHING + asm("":::"ip"); +#endif + + do + { + void * dest = (void *)OAM; + size_t size = OAM_SIZE; + DmaClear32(3, dest, size); + } while (0); + + do + { + void * dest = (void *)PLTT; + size_t size = PLTT_SIZE; + DmaClear16(3, dest, size); + } while (0); + + SetGpuReg(REG_OFFSET_DISPCNT, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + ResetBgsAndClearDma3BusyFlags(FALSE); + InitBgsFromTemplates(0, sBgTemplates, NELEMS(sBgTemplates)); + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + ChangeBgX(3, 0, 0); + ChangeBgY(3, 0, 0); + InitWindows(sWindowTemplates); + DeactivateAllTextPrinters(); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); + ShowBg(0); +} diff --git a/src/coins.c b/src/coins.c index 0f1828a96..fd5000fbd 100644 --- a/src/coins.c +++ b/src/coins.c @@ -4,11 +4,10 @@ #include "menu.h" #include "text_window.h" #include "strings.h" +#include "constants/coins.h" EWRAM_DATA static u8 sCoinsWindowId = 0; -#define MAX_COINS 9999 - u16 GetCoins(void) { return gSaveBlock1Ptr->coins ^ gSaveBlock2Ptr->encryptionKey; diff --git a/src/credits.c b/src/credits.c index ceb2028f9..e0d57a2a4 100644 --- a/src/credits.c +++ b/src/credits.c @@ -11,12 +11,11 @@ #include "decompress.h" #include "graphics.h" #include "strings.h" -#include "menu.h" -#include "field_weather.h" #include "trainer_pokemon_sprites.h" #include "sound.h" #include "constants/species.h" #include "constants/maps.h" +#include "constants/field_weather.h" #if defined(FIRERED) #define TITLE_TEXT gString_PokemonFireRed_Staff @@ -716,7 +715,7 @@ static const struct CreditsTextHeader sCreditsTexts[] = { { gString_Dummy, gString_Dummy, FALSE } }; -void Special_Credits(void) +void DoCredits(void) { sCreditsMgr = AllocZeroed(sizeof(*sCreditsMgr)); ResetTasks(); @@ -920,7 +919,7 @@ static s32 RollCredits(void) case CREDITSSCRCMD_MON: sCreditsMgr->mainseqno = CREDITSSCENE_MON_DESTROY_ASSETS; sCreditsMgr->whichMon = sCreditsScript[sCreditsMgr->scrcmdidx].param; - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); break; case CREDITSSCRCMD_THEENDGFX: sCreditsMgr->mainseqno = CREDITSSCENE_THEEND_DESTROY_ASSETS; diff --git a/src/data/dodrio_berry_picking.h b/src/data/dodrio_berry_picking.h new file mode 100644 index 000000000..e71ce13cf --- /dev/null +++ b/src/data/dodrio_berry_picking.h @@ -0,0 +1,247 @@ +#ifndef GUARD_DATA_DODRIO_BERRY_PICKING_H +#define GUARD_DATA_DODRIO_BERRY_PICKING_H + +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, +}; + +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}, +}; + +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"); + +#endif //GUARD_DATA_DODRIO_BERRY_PICKING_H diff --git a/src/data/graphics/battle_terrain.h b/src/data/graphics/battle_terrain.h new file mode 100644 index 000000000..f91c2d0d9 --- /dev/null +++ b/src/data/graphics/battle_terrain.h @@ -0,0 +1,30 @@ + +const u32 gFile_graphics_battle_terrain_plain_palette_palette[] = INCBIN_U32("graphics/battle_terrain/plain/palette.gbapal.lz"); + +const u32 gFile_graphics_battle_terrain_building_tiles_sheet[] = INCBIN_U32("graphics/battle_terrain/building/tiles.4bpp.lz"); + +const u32 gFile_graphics_battle_terrain_stadium_battle_frontier_palette[] = INCBIN_U32("graphics/battle_terrain/stadium/battle_frontier.gbapal.lz"); + +const u32 gFile_graphics_battle_terrain_building_map_tilemap[] = INCBIN_U32("graphics/battle_terrain/building/map.bin.lz"); + +const u32 gFile_graphics_battle_terrain_stadium_tiles_sheet[] = INCBIN_U32("graphics/battle_terrain/stadium/tiles.4bpp.lz"); +const u32 gFile_graphics_battle_terrain_stadium_map_tilemap[] = INCBIN_U32("graphics/battle_terrain/stadium/map.bin.lz"); + +const u32 gFile_graphics_battle_terrain_building_palette_palette[] = INCBIN_U32("graphics/battle_terrain/building/palette.gbapal.lz"); + +const u32 gFile_graphics_battle_terrain_water_kyogre_palette[] = INCBIN_U32("graphics/battle_terrain/water/kyogre.gbapal.lz"); +const u32 gFile_graphics_battle_terrain_cave_groudon_palette[] = INCBIN_U32("graphics/battle_terrain/cave/groudon.gbapal.lz"); + +const u32 gFile_graphics_battle_terrain_building_palette2_palette[] = INCBIN_U32("graphics/battle_terrain/building/palette2.gbapal.lz"); +const u32 gFile_graphics_battle_terrain_building_palette3_palette[] = INCBIN_U32("graphics/battle_terrain/building/palette3.gbapal.lz"); + +const u32 gFile_graphics_battle_terrain_stadium_palette1_palette[] = INCBIN_U32("graphics/battle_terrain/stadium/palette1.gbapal.lz"); +const u32 gFile_graphics_battle_terrain_stadium_palette2_palette[] = INCBIN_U32("graphics/battle_terrain/stadium/palette2.gbapal.lz"); +const u32 gFile_graphics_battle_terrain_stadium_palette3_palette[] = INCBIN_U32("graphics/battle_terrain/stadium/palette3.gbapal.lz"); +const u32 gFile_graphics_battle_terrain_stadium_palette4_palette[] = INCBIN_U32("graphics/battle_terrain/stadium/palette4.gbapal.lz"); +const u32 gFile_graphics_battle_terrain_stadium_palette5_palette[] = INCBIN_U32("graphics/battle_terrain/stadium/palette5.gbapal.lz"); +const u32 gFile_graphics_battle_terrain_stadium_palette6_palette[] = INCBIN_U32("graphics/battle_terrain/stadium/palette6.gbapal.lz"); +const u32 gFile_graphics_battle_terrain_stadium_palette7_palette[] = INCBIN_U32("graphics/battle_terrain/stadium/palette7.gbapal.lz"); + +const u32 gFile_graphics_battle_terrain_building_anim_tiles_sheet[] = INCBIN_U32("graphics/battle_terrain/building/anim_tiles.4bpp.lz"); +const u32 gFile_graphics_battle_terrain_building_anim_map_tilemap[] = INCBIN_U32("graphics/battle_terrain/building/anim_map.bin.lz"); diff --git a/src/data/graphics/interface_pokeballs.h b/src/data/graphics/interface_pokeballs.h new file mode 100644 index 000000000..fe9a4e5be --- /dev/null +++ b/src/data/graphics/interface_pokeballs.h @@ -0,0 +1,37 @@ +const u32 gInterfaceGfx_PokeBall[] = INCBIN_U32("graphics/interface/ball/poke.4bpp.lz"); +const u32 gInterfacePal_PokeBall[] = INCBIN_U32("graphics/interface/ball/poke.gbapal.lz"); + +const u32 gInterfaceGfx_GreatBall[] = INCBIN_U32("graphics/interface/ball/great.4bpp.lz"); +const u32 gInterfacePal_GreatBall[] = INCBIN_U32("graphics/interface/ball/great.gbapal.lz"); + +const u32 gInterfaceGfx_SafariBall[] = INCBIN_U32("graphics/interface/ball/safari.4bpp.lz"); +const u32 gInterfacePal_SafariBall[] = INCBIN_U32("graphics/interface/ball/safari.gbapal.lz"); + +const u32 gInterfaceGfx_UltraBall[] = INCBIN_U32("graphics/interface/ball/ultra.4bpp.lz"); +const u32 gInterfacePal_UltraBall[] = INCBIN_U32("graphics/interface/ball/ultra.gbapal.lz"); + +const u32 gInterfaceGfx_MasterBall[] = INCBIN_U32("graphics/interface/ball/master.4bpp.lz"); +const u32 gInterfacePal_MasterBall[] = INCBIN_U32("graphics/interface/ball/master.gbapal.lz"); + +const u32 gInterfaceGfx_NetBall[] = INCBIN_U32("graphics/interface/ball/net.4bpp.lz"); +const u32 gInterfacePal_NetBall[] = INCBIN_U32("graphics/interface/ball/net.gbapal.lz"); + +const u32 gInterfaceGfx_DiveBall[] = INCBIN_U32("graphics/interface/ball/dive.4bpp.lz"); +const u32 gInterfacePal_DiveBall[] = INCBIN_U32("graphics/interface/ball/dive.gbapal.lz"); + +const u32 gInterfaceGfx_NestBall[] = INCBIN_U32("graphics/interface/ball/nest.4bpp.lz"); +const u32 gInterfacePal_NestBall[] = INCBIN_U32("graphics/interface/ball/nest.gbapal.lz"); + +const u32 gInterfaceGfx_RepeatBall[] = INCBIN_U32("graphics/interface/ball/repeat.4bpp.lz"); +const u32 gInterfacePal_RepeatBall[] = INCBIN_U32("graphics/interface/ball/repeat.gbapal.lz"); + +const u32 gInterfaceGfx_TimerBall[] = INCBIN_U32("graphics/interface/ball/timer.4bpp.lz"); +const u32 gInterfacePal_TimerBall[] = INCBIN_U32("graphics/interface/ball/timer.gbapal.lz"); + +const u32 gInterfaceGfx_LuxuryBall[] = INCBIN_U32("graphics/interface/ball/luxury.4bpp.lz"); +const u32 gInterfacePal_LuxuryBall[] = INCBIN_U32("graphics/interface/ball/luxury.gbapal.lz"); + +const u32 gInterfaceGfx_PremierBall[] = INCBIN_U32("graphics/interface/ball/premier.4bpp.lz"); +const u32 gInterfacePal_PremierBall[] = INCBIN_U32("graphics/interface/ball/premier.gbapal.lz"); + +const u32 gOpenPokeballGfx[] = INCBIN_U32("graphics/interface/ball_open.4bpp.lz"); diff --git a/src/data/graphics/items.h b/src/data/graphics/items.h new file mode 100644 index 000000000..ee86b454c --- /dev/null +++ b/src/data/graphics/items.h @@ -0,0 +1,672 @@ +const u32 gFile_graphics_items_icons_question_mark_sheet[] = INCBIN_U32("graphics/items/icons/question_mark.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_question_mark_palette[] = INCBIN_U32("graphics/items/icon_palettes/question_mark.gbapal.lz"); + +const u32 gFile_graphics_items_icons_return_to_field_arrow_sheet[] = INCBIN_U32("graphics/items/icons/return_to_field_arrow.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_return_to_field_arrow_palette[] = INCBIN_U32("graphics/items/icon_palettes/return_to_field_arrow.gbapal.lz"); + +const u32 gFile_graphics_items_icons_master_ball_sheet[] = INCBIN_U32("graphics/items/icons/master_ball.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_master_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/master_ball.gbapal.lz"); + +const u32 gFile_graphics_items_icons_ultra_ball_sheet[] = INCBIN_U32("graphics/items/icons/ultra_ball.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_ultra_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/ultra_ball.gbapal.lz"); + +const u32 gFile_graphics_items_icons_great_ball_sheet[] = INCBIN_U32("graphics/items/icons/great_ball.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_great_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/great_ball.gbapal.lz"); + +const u32 gFile_graphics_items_icons_poke_ball_sheet[] = INCBIN_U32("graphics/items/icons/poke_ball.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_poke_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/poke_ball.gbapal.lz"); + +const u32 gFile_graphics_items_icons_safari_ball_sheet[] = INCBIN_U32("graphics/items/icons/safari_ball.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_safari_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/safari_ball.gbapal.lz"); + +const u32 gFile_graphics_items_icons_net_ball_sheet[] = INCBIN_U32("graphics/items/icons/net_ball.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_net_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/net_ball.gbapal.lz"); + +const u32 gFile_graphics_items_icons_dive_ball_sheet[] = INCBIN_U32("graphics/items/icons/dive_ball.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_dive_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/dive_ball.gbapal.lz"); + +const u32 gFile_graphics_items_icons_nest_ball_sheet[] = INCBIN_U32("graphics/items/icons/nest_ball.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_nest_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/nest_ball.gbapal.lz"); + +const u32 gFile_graphics_items_icons_repeat_ball_sheet[] = INCBIN_U32("graphics/items/icons/repeat_ball.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_repeat_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/repeat_ball.gbapal.lz"); + +const u32 gFile_graphics_items_icons_timer_ball_sheet[] = INCBIN_U32("graphics/items/icons/timer_ball.4bpp.lz"); + +const u32 gFile_graphics_items_icons_luxury_ball_sheet[] = INCBIN_U32("graphics/items/icons/luxury_ball.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_luxury_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/luxury_ball.gbapal.lz"); + +const u32 gFile_graphics_items_icons_premier_ball_sheet[] = INCBIN_U32("graphics/items/icons/premier_ball.4bpp.lz"); + +const u32 gFile_graphics_items_icons_potion_sheet[] = INCBIN_U32("graphics/items/icons/potion.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_potion_palette[] = INCBIN_U32("graphics/items/icon_palettes/potion.gbapal.lz"); + +const u32 gFile_graphics_items_icons_antidote_sheet[] = INCBIN_U32("graphics/items/icons/antidote.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_antidote_palette[] = INCBIN_U32("graphics/items/icon_palettes/antidote.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_burn_heal_palette[] = INCBIN_U32("graphics/items/icon_palettes/burn_heal.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_ice_heal_palette[] = INCBIN_U32("graphics/items/icon_palettes/ice_heal.gbapal.lz"); +const u32 gFile_graphics_items_icons_status_heal_sheet[] = INCBIN_U32("graphics/items/icons/status_heal.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_awakening_palette[] = INCBIN_U32("graphics/items/icon_palettes/awakening.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_paralyze_heal_palette[] = INCBIN_U32("graphics/items/icon_palettes/paralyze_heal.gbapal.lz"); + +const u32 gFile_graphics_items_icons_large_potion_sheet[] = INCBIN_U32("graphics/items/icons/large_potion.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_full_restore_palette[] = INCBIN_U32("graphics/items/icon_palettes/full_restore.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_max_potion_palette[] = INCBIN_U32("graphics/items/icon_palettes/max_potion.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_hyper_potion_palette[] = INCBIN_U32("graphics/items/icon_palettes/hyper_potion.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_super_potion_palette[] = INCBIN_U32("graphics/items/icon_palettes/super_potion.gbapal.lz"); + +const u32 gFile_graphics_items_icons_full_heal_sheet[] = INCBIN_U32("graphics/items/icons/full_heal.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_full_heal_palette[] = INCBIN_U32("graphics/items/icon_palettes/full_heal.gbapal.lz"); + +const u32 gFile_graphics_items_icons_revive_sheet[] = INCBIN_U32("graphics/items/icons/revive.4bpp.lz"); +const u32 gFile_graphics_items_icons_max_revive_sheet[] = INCBIN_U32("graphics/items/icons/max_revive.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_revive_palette[] = INCBIN_U32("graphics/items/icon_palettes/revive.gbapal.lz"); + +const u32 gFile_graphics_items_icons_fresh_water_sheet[] = INCBIN_U32("graphics/items/icons/fresh_water.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_fresh_water_palette[] = INCBIN_U32("graphics/items/icon_palettes/fresh_water.gbapal.lz"); + +const u32 gFile_graphics_items_icons_soda_pop_sheet[] = INCBIN_U32("graphics/items/icons/soda_pop.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_soda_pop_palette[] = INCBIN_U32("graphics/items/icon_palettes/soda_pop.gbapal.lz"); + +const u32 gFile_graphics_items_icons_lemonade_sheet[] = INCBIN_U32("graphics/items/icons/lemonade.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_lemonade_palette[] = INCBIN_U32("graphics/items/icon_palettes/lemonade.gbapal.lz"); + +const u32 gFile_graphics_items_icons_moomoo_milk_sheet[] = INCBIN_U32("graphics/items/icons/moomoo_milk.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_moomoo_milk_palette[] = INCBIN_U32("graphics/items/icon_palettes/moomoo_milk.gbapal.lz"); + +const u32 gFile_graphics_items_icons_powder_sheet[] = INCBIN_U32("graphics/items/icons/powder.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_energy_powder_palette[] = INCBIN_U32("graphics/items/icon_palettes/energy_powder.gbapal.lz"); + +const u32 gFile_graphics_items_icons_energy_root_sheet[] = INCBIN_U32("graphics/items/icons/energy_root.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_energy_root_palette[] = INCBIN_U32("graphics/items/icon_palettes/energy_root.gbapal.lz"); + +const u32 gFile_graphics_items_icon_palettes_heal_powder_palette[] = INCBIN_U32("graphics/items/icon_palettes/heal_powder.gbapal.lz"); + +const u32 gFile_graphics_items_icons_revival_herb_sheet[] = INCBIN_U32("graphics/items/icons/revival_herb.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_revival_herb_palette[] = INCBIN_U32("graphics/items/icon_palettes/revival_herb.gbapal.lz"); + +const u32 gFile_graphics_items_icons_ether_sheet[] = INCBIN_U32("graphics/items/icons/ether.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_ether_palette[] = INCBIN_U32("graphics/items/icon_palettes/ether.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_max_ether_palette[] = INCBIN_U32("graphics/items/icon_palettes/max_ether.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_elixir_palette[] = INCBIN_U32("graphics/items/icon_palettes/elixir.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_max_elixir_palette[] = INCBIN_U32("graphics/items/icon_palettes/max_elixir.gbapal.lz"); + +const u32 gFile_graphics_items_icons_lava_cookie_sheet[] = INCBIN_U32("graphics/items/icons/lava_cookie.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_lava_cookie_and_letter_palette[] = INCBIN_U32("graphics/items/icon_palettes/lava_cookie_and_letter.gbapal.lz"); + +const u32 gFile_graphics_items_icons_flute_sheet[] = INCBIN_U32("graphics/items/icons/flute.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_blue_flute_palette[] = INCBIN_U32("graphics/items/icon_palettes/blue_flute.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_yellow_flute_palette[] = INCBIN_U32("graphics/items/icon_palettes/yellow_flute.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_red_flute_palette[] = INCBIN_U32("graphics/items/icon_palettes/red_flute.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_black_flute_palette[] = INCBIN_U32("graphics/items/icon_palettes/black_flute.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_white_flute_palette[] = INCBIN_U32("graphics/items/icon_palettes/white_flute.gbapal.lz"); + +const u32 gFile_graphics_items_icons_berry_juice_sheet[] = INCBIN_U32("graphics/items/icons/berry_juice.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_berry_juice_palette[] = INCBIN_U32("graphics/items/icon_palettes/berry_juice.gbapal.lz"); + +const u32 gFile_graphics_items_icons_sacred_ash_sheet[] = INCBIN_U32("graphics/items/icons/sacred_ash.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_sacred_ash_palette[] = INCBIN_U32("graphics/items/icon_palettes/sacred_ash.gbapal.lz"); + +const u32 gFile_graphics_items_icon_palettes_shoal_salt_palette[] = INCBIN_U32("graphics/items/icon_palettes/shoal_salt.gbapal.lz"); +const u32 gFile_graphics_items_icons_shoal_shell_sheet[] = INCBIN_U32("graphics/items/icons/shoal_shell.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_shell_palette[] = INCBIN_U32("graphics/items/icon_palettes/shell.gbapal.lz"); + +const u32 gFile_graphics_items_icons_shard_sheet[] = INCBIN_U32("graphics/items/icons/shard.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_red_shard_palette[] = INCBIN_U32("graphics/items/icon_palettes/red_shard.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_blue_shard_palette[] = INCBIN_U32("graphics/items/icon_palettes/blue_shard.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_yellow_shard_palette[] = INCBIN_U32("graphics/items/icon_palettes/yellow_shard.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_green_shard_palette[] = INCBIN_U32("graphics/items/icon_palettes/green_shard.gbapal.lz"); + +const u32 gFile_graphics_items_icons_hp_up_sheet[] = INCBIN_U32("graphics/items/icons/hp_up.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_hp_up_palette[] = INCBIN_U32("graphics/items/icon_palettes/hp_up.gbapal.lz"); + +const u32 gFile_graphics_items_icons_vitamin_sheet[] = INCBIN_U32("graphics/items/icons/vitamin.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_protein_palette[] = INCBIN_U32("graphics/items/icon_palettes/protein.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_iron_palette[] = INCBIN_U32("graphics/items/icon_palettes/iron.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_carbos_palette[] = INCBIN_U32("graphics/items/icon_palettes/carbos.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_calcium_palette[] = INCBIN_U32("graphics/items/icon_palettes/calcium.gbapal.lz"); + +const u32 gFile_graphics_items_icons_rare_candy_sheet[] = INCBIN_U32("graphics/items/icons/rare_candy.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_rare_candy_palette[] = INCBIN_U32("graphics/items/icon_palettes/rare_candy.gbapal.lz"); + +const u32 gFile_graphics_items_icons_pp_up_sheet[] = INCBIN_U32("graphics/items/icons/pp_up.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_pp_up_palette[] = INCBIN_U32("graphics/items/icon_palettes/pp_up.gbapal.lz"); + +const u32 gFile_graphics_items_icon_palettes_zinc_palette[] = INCBIN_U32("graphics/items/icon_palettes/zinc.gbapal.lz"); + +const u32 gFile_graphics_items_icons_pp_max_sheet[] = INCBIN_U32("graphics/items/icons/pp_max.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_pp_max_palette[] = INCBIN_U32("graphics/items/icon_palettes/pp_max.gbapal.lz"); + +const u32 gFile_graphics_items_icon_palettes_guard_spec_palette[] = INCBIN_U32("graphics/items/icon_palettes/guard_spec.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_dire_hit_palette[] = INCBIN_U32("graphics/items/icon_palettes/dire_hit.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_x_attack_palette[] = INCBIN_U32("graphics/items/icon_palettes/x_attack.gbapal.lz"); +const u32 gFile_graphics_items_icons_battle_stat_item_sheet[] = INCBIN_U32("graphics/items/icons/battle_stat_item.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_x_defend_palette[] = INCBIN_U32("graphics/items/icon_palettes/x_defend.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_x_speed_palette[] = INCBIN_U32("graphics/items/icon_palettes/x_speed.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_x_accuracy_palette[] = INCBIN_U32("graphics/items/icon_palettes/x_accuracy.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_x_special_palette[] = INCBIN_U32("graphics/items/icon_palettes/x_special.gbapal.lz"); + +const u32 gFile_graphics_items_icons_poke_doll_sheet[] = INCBIN_U32("graphics/items/icons/poke_doll.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_poke_doll_palette[] = INCBIN_U32("graphics/items/icon_palettes/poke_doll.gbapal.lz"); + +const u32 gFile_graphics_items_icons_fluffy_tail_sheet[] = INCBIN_U32("graphics/items/icons/fluffy_tail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_fluffy_tail_palette[] = INCBIN_U32("graphics/items/icon_palettes/fluffy_tail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_repel_sheet[] = INCBIN_U32("graphics/items/icons/repel.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_super_repel_palette[] = INCBIN_U32("graphics/items/icon_palettes/super_repel.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_max_repel_palette[] = INCBIN_U32("graphics/items/icon_palettes/max_repel.gbapal.lz"); + +const u32 gFile_graphics_items_icons_escape_rope_sheet[] = INCBIN_U32("graphics/items/icons/escape_rope.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_escape_rope_palette[] = INCBIN_U32("graphics/items/icon_palettes/escape_rope.gbapal.lz"); + +const u32 gFile_graphics_items_icon_palettes_repel_palette[] = INCBIN_U32("graphics/items/icon_palettes/repel.gbapal.lz"); + +const u32 gFile_graphics_items_icons_sun_stone_sheet[] = INCBIN_U32("graphics/items/icons/sun_stone.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_sun_stone_palette[] = INCBIN_U32("graphics/items/icon_palettes/sun_stone.gbapal.lz"); + +const u32 gFile_graphics_items_icons_moon_stone_sheet[] = INCBIN_U32("graphics/items/icons/moon_stone.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_moon_stone_palette[] = INCBIN_U32("graphics/items/icon_palettes/moon_stone.gbapal.lz"); + +const u32 gFile_graphics_items_icons_fire_stone_sheet[] = INCBIN_U32("graphics/items/icons/fire_stone.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_fire_stone_palette[] = INCBIN_U32("graphics/items/icon_palettes/fire_stone.gbapal.lz"); + +const u32 gFile_graphics_items_icons_thunder_stone_sheet[] = INCBIN_U32("graphics/items/icons/thunder_stone.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_thunder_stone_palette[] = INCBIN_U32("graphics/items/icon_palettes/thunder_stone.gbapal.lz"); + +const u32 gFile_graphics_items_icons_water_stone_sheet[] = INCBIN_U32("graphics/items/icons/water_stone.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_water_stone_palette[] = INCBIN_U32("graphics/items/icon_palettes/water_stone.gbapal.lz"); + +const u32 gFile_graphics_items_icons_leaf_stone_sheet[] = INCBIN_U32("graphics/items/icons/leaf_stone.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_leaf_stone_palette[] = INCBIN_U32("graphics/items/icon_palettes/leaf_stone.gbapal.lz"); + +const u32 gFile_graphics_items_icons_tiny_mushroom_sheet[] = INCBIN_U32("graphics/items/icons/tiny_mushroom.4bpp.lz"); +const u32 gFile_graphics_items_icons_big_mushroom_sheet[] = INCBIN_U32("graphics/items/icons/big_mushroom.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_mushroom_palette[] = INCBIN_U32("graphics/items/icon_palettes/mushroom.gbapal.lz"); + +const u32 gFile_graphics_items_icons_pearl_sheet[] = INCBIN_U32("graphics/items/icons/pearl.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_pearl_palette[] = INCBIN_U32("graphics/items/icon_palettes/pearl.gbapal.lz"); +const u32 gFile_graphics_items_icons_big_pearl_sheet[] = INCBIN_U32("graphics/items/icons/big_pearl.4bpp.lz"); + +const u32 gFile_graphics_items_icons_stardust_sheet[] = INCBIN_U32("graphics/items/icons/stardust.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_star_palette[] = INCBIN_U32("graphics/items/icon_palettes/star.gbapal.lz"); +const u32 gFile_graphics_items_icons_star_piece_sheet[] = INCBIN_U32("graphics/items/icons/star_piece.4bpp.lz"); + +const u32 gFile_graphics_items_icons_nugget_sheet[] = INCBIN_U32("graphics/items/icons/nugget.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_nugget_palette[] = INCBIN_U32("graphics/items/icon_palettes/nugget.gbapal.lz"); + +const u32 gFile_graphics_items_icons_heart_scale_sheet[] = INCBIN_U32("graphics/items/icons/heart_scale.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_heart_scale_palette[] = INCBIN_U32("graphics/items/icon_palettes/heart_scale.gbapal.lz"); + +const u32 gFile_graphics_items_icons_orange_mail_sheet[] = INCBIN_U32("graphics/items/icons/orange_mail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_orange_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/orange_mail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_harbor_mail_sheet[] = INCBIN_U32("graphics/items/icons/harbor_mail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_harbor_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/harbor_mail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_glitter_mail_sheet[] = INCBIN_U32("graphics/items/icons/glitter_mail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_glitter_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/glitter_mail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_mech_mail_sheet[] = INCBIN_U32("graphics/items/icons/mech_mail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_mech_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/mech_mail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_wood_mail_sheet[] = INCBIN_U32("graphics/items/icons/wood_mail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_wood_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/wood_mail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_wave_mail_sheet[] = INCBIN_U32("graphics/items/icons/wave_mail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_wave_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/wave_mail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_bead_mail_sheet[] = INCBIN_U32("graphics/items/icons/bead_mail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_bead_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/bead_mail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_shadow_mail_sheet[] = INCBIN_U32("graphics/items/icons/shadow_mail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_shadow_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/shadow_mail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_tropic_mail_sheet[] = INCBIN_U32("graphics/items/icons/tropic_mail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_tropic_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/tropic_mail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_dream_mail_sheet[] = INCBIN_U32("graphics/items/icons/dream_mail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_dream_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/dream_mail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_fab_mail_sheet[] = INCBIN_U32("graphics/items/icons/fab_mail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_fab_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/fab_mail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_retro_mail_sheet[] = INCBIN_U32("graphics/items/icons/retro_mail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_retro_mail_palette[] = INCBIN_U32("graphics/items/icon_palettes/retro_mail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_cheri_berry_sheet[] = INCBIN_U32("graphics/items/icons/cheri_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_cheri_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/cheri_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_chesto_berry_sheet[] = INCBIN_U32("graphics/items/icons/chesto_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_chesto_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/chesto_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_pecha_berry_sheet[] = INCBIN_U32("graphics/items/icons/pecha_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_pecha_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/pecha_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_rawst_berry_sheet[] = INCBIN_U32("graphics/items/icons/rawst_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_rawst_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/rawst_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_aspear_berry_sheet[] = INCBIN_U32("graphics/items/icons/aspear_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_aspear_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/aspear_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_leppa_berry_sheet[] = INCBIN_U32("graphics/items/icons/leppa_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_leppa_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/leppa_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_oran_berry_sheet[] = INCBIN_U32("graphics/items/icons/oran_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_oran_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/oran_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_persim_berry_sheet[] = INCBIN_U32("graphics/items/icons/persim_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_persim_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/persim_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_lum_berry_sheet[] = INCBIN_U32("graphics/items/icons/lum_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_lum_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/lum_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_sitrus_berry_sheet[] = INCBIN_U32("graphics/items/icons/sitrus_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_sitrus_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/sitrus_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_figy_berry_sheet[] = INCBIN_U32("graphics/items/icons/figy_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_figy_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/figy_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_wiki_berry_sheet[] = INCBIN_U32("graphics/items/icons/wiki_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_wiki_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/wiki_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_mago_berry_sheet[] = INCBIN_U32("graphics/items/icons/mago_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_mago_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/mago_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_aguav_berry_sheet[] = INCBIN_U32("graphics/items/icons/aguav_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_aguav_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/aguav_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_iapapa_berry_sheet[] = INCBIN_U32("graphics/items/icons/iapapa_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_iapapa_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/iapapa_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_razz_berry_sheet[] = INCBIN_U32("graphics/items/icons/razz_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_razz_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/razz_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_bluk_berry_sheet[] = INCBIN_U32("graphics/items/icons/bluk_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_bluk_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/bluk_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_nanab_berry_sheet[] = INCBIN_U32("graphics/items/icons/nanab_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_nanab_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/nanab_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_wepear_berry_sheet[] = INCBIN_U32("graphics/items/icons/wepear_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_wepear_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/wepear_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_pinap_berry_sheet[] = INCBIN_U32("graphics/items/icons/pinap_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_pinap_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/pinap_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_pomeg_berry_sheet[] = INCBIN_U32("graphics/items/icons/pomeg_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_pomeg_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/pomeg_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_kelpsy_berry_sheet[] = INCBIN_U32("graphics/items/icons/kelpsy_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_kelpsy_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/kelpsy_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_qualot_berry_sheet[] = INCBIN_U32("graphics/items/icons/qualot_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_qualot_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/qualot_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_hondew_berry_sheet[] = INCBIN_U32("graphics/items/icons/hondew_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_hondew_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/hondew_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_grepa_berry_sheet[] = INCBIN_U32("graphics/items/icons/grepa_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_grepa_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/grepa_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_tamato_berry_sheet[] = INCBIN_U32("graphics/items/icons/tamato_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_tamato_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/tamato_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_cornn_berry_sheet[] = INCBIN_U32("graphics/items/icons/cornn_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_cornn_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/cornn_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_magost_berry_sheet[] = INCBIN_U32("graphics/items/icons/magost_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_magost_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/magost_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_rabuta_berry_sheet[] = INCBIN_U32("graphics/items/icons/rabuta_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_rabuta_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/rabuta_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_nomel_berry_sheet[] = INCBIN_U32("graphics/items/icons/nomel_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_nomel_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/nomel_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_spelon_berry_sheet[] = INCBIN_U32("graphics/items/icons/spelon_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_spelon_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/spelon_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_pamtre_berry_sheet[] = INCBIN_U32("graphics/items/icons/pamtre_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_pamtre_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/pamtre_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_watmel_berry_sheet[] = INCBIN_U32("graphics/items/icons/watmel_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_watmel_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/watmel_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_durin_berry_sheet[] = INCBIN_U32("graphics/items/icons/durin_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_durin_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/durin_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_belue_berry_sheet[] = INCBIN_U32("graphics/items/icons/belue_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_belue_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/belue_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_liechi_berry_sheet[] = INCBIN_U32("graphics/items/icons/liechi_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_liechi_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/liechi_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_ganlon_berry_sheet[] = INCBIN_U32("graphics/items/icons/ganlon_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_ganlon_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/ganlon_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_salac_berry_sheet[] = INCBIN_U32("graphics/items/icons/salac_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_salac_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/salac_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_petaya_berry_sheet[] = INCBIN_U32("graphics/items/icons/petaya_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_petaya_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/petaya_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_apicot_berry_sheet[] = INCBIN_U32("graphics/items/icons/apicot_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_apicot_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/apicot_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_lansat_berry_sheet[] = INCBIN_U32("graphics/items/icons/lansat_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_lansat_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/lansat_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_starf_berry_sheet[] = INCBIN_U32("graphics/items/icons/starf_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_starf_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/starf_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_enigma_berry_sheet[] = INCBIN_U32("graphics/items/icons/enigma_berry.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_enigma_berry_palette[] = INCBIN_U32("graphics/items/icon_palettes/enigma_berry.gbapal.lz"); + +const u32 gFile_graphics_items_icons_bright_powder_sheet[] = INCBIN_U32("graphics/items/icons/bright_powder.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_bright_powder_palette[] = INCBIN_U32("graphics/items/icon_palettes/bright_powder.gbapal.lz"); + +const u32 gFile_graphics_items_icons_in_battle_herb_sheet[] = INCBIN_U32("graphics/items/icons/in_battle_herb.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_white_herb_palette[] = INCBIN_U32("graphics/items/icon_palettes/white_herb.gbapal.lz"); + +const u32 gFile_graphics_items_icons_macho_brace_sheet[] = INCBIN_U32("graphics/items/icons/macho_brace.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_macho_brace_palette[] = INCBIN_U32("graphics/items/icon_palettes/macho_brace.gbapal.lz"); + +const u32 gFile_graphics_items_icons_exp_share_sheet[] = INCBIN_U32("graphics/items/icons/exp_share.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_exp_share_palette[] = INCBIN_U32("graphics/items/icon_palettes/exp_share.gbapal.lz"); + +const u32 gFile_graphics_items_icons_quick_claw_sheet[] = INCBIN_U32("graphics/items/icons/quick_claw.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_quick_claw_palette[] = INCBIN_U32("graphics/items/icon_palettes/quick_claw.gbapal.lz"); + +const u32 gFile_graphics_items_icons_soothe_bell_sheet[] = INCBIN_U32("graphics/items/icons/soothe_bell.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_soothe_bell_palette[] = INCBIN_U32("graphics/items/icon_palettes/soothe_bell.gbapal.lz"); + +const u32 gFile_graphics_items_icon_palettes_mental_herb_palette[] = INCBIN_U32("graphics/items/icon_palettes/mental_herb.gbapal.lz"); + +const u32 gFile_graphics_items_icons_choice_band_sheet[] = INCBIN_U32("graphics/items/icons/choice_band.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_choice_band_palette[] = INCBIN_U32("graphics/items/icon_palettes/choice_band.gbapal.lz"); + +const u32 gFile_graphics_items_icons_kings_rock_sheet[] = INCBIN_U32("graphics/items/icons/kings_rock.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_kings_rock_palette[] = INCBIN_U32("graphics/items/icon_palettes/kings_rock.gbapal.lz"); + +const u32 gFile_graphics_items_icons_silver_powder_sheet[] = INCBIN_U32("graphics/items/icons/silver_powder.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_silver_powder_palette[] = INCBIN_U32("graphics/items/icon_palettes/silver_powder.gbapal.lz"); + +const u32 gFile_graphics_items_icons_amulet_coin_sheet[] = INCBIN_U32("graphics/items/icons/amulet_coin.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_amulet_coin_palette[] = INCBIN_U32("graphics/items/icon_palettes/amulet_coin.gbapal.lz"); + +const u32 gFile_graphics_items_icons_cleanse_tag_sheet[] = INCBIN_U32("graphics/items/icons/cleanse_tag.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_cleanse_tag_palette[] = INCBIN_U32("graphics/items/icon_palettes/cleanse_tag.gbapal.lz"); + +const u32 gFile_graphics_items_icons_soul_dew_sheet[] = INCBIN_U32("graphics/items/icons/soul_dew.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_soul_dew_palette[] = INCBIN_U32("graphics/items/icon_palettes/soul_dew.gbapal.lz"); + +const u32 gFile_graphics_items_icons_deep_sea_tooth_sheet[] = INCBIN_U32("graphics/items/icons/deep_sea_tooth.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_deep_sea_tooth_palette[] = INCBIN_U32("graphics/items/icon_palettes/deep_sea_tooth.gbapal.lz"); + +const u32 gFile_graphics_items_icons_deep_sea_scale_sheet[] = INCBIN_U32("graphics/items/icons/deep_sea_scale.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_deep_sea_scale_palette[] = INCBIN_U32("graphics/items/icon_palettes/deep_sea_scale.gbapal.lz"); + +const u32 gFile_graphics_items_icons_smoke_ball_sheet[] = INCBIN_U32("graphics/items/icons/smoke_ball.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_smoke_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/smoke_ball.gbapal.lz"); + +const u32 gFile_graphics_items_icons_everstone_sheet[] = INCBIN_U32("graphics/items/icons/everstone.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_everstone_palette[] = INCBIN_U32("graphics/items/icon_palettes/everstone.gbapal.lz"); + +const u32 gFile_graphics_items_icons_focus_band_sheet[] = INCBIN_U32("graphics/items/icons/focus_band.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_focus_band_palette[] = INCBIN_U32("graphics/items/icon_palettes/focus_band.gbapal.lz"); + +const u32 gFile_graphics_items_icons_lucky_egg_sheet[] = INCBIN_U32("graphics/items/icons/lucky_egg.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_lucky_egg_palette[] = INCBIN_U32("graphics/items/icon_palettes/lucky_egg.gbapal.lz"); + +const u32 gFile_graphics_items_icons_scope_lens_sheet[] = INCBIN_U32("graphics/items/icons/scope_lens.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_scope_lens_palette[] = INCBIN_U32("graphics/items/icon_palettes/scope_lens.gbapal.lz"); + +const u32 gFile_graphics_items_icons_metal_coat_sheet[] = INCBIN_U32("graphics/items/icons/metal_coat.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_metal_coat_palette[] = INCBIN_U32("graphics/items/icon_palettes/metal_coat.gbapal.lz"); + +const u32 gFile_graphics_items_icons_leftovers_sheet[] = INCBIN_U32("graphics/items/icons/leftovers.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_leftovers_palette[] = INCBIN_U32("graphics/items/icon_palettes/leftovers.gbapal.lz"); + +const u32 gFile_graphics_items_icons_dragon_scale_sheet[] = INCBIN_U32("graphics/items/icons/dragon_scale.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_dragon_scale_palette[] = INCBIN_U32("graphics/items/icon_palettes/dragon_scale.gbapal.lz"); + +const u32 gFile_graphics_items_icons_light_ball_sheet[] = INCBIN_U32("graphics/items/icons/light_ball.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_light_ball_palette[] = INCBIN_U32("graphics/items/icon_palettes/light_ball.gbapal.lz"); + +const u32 gFile_graphics_items_icons_soft_sand_sheet[] = INCBIN_U32("graphics/items/icons/soft_sand.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_soft_sand_palette[] = INCBIN_U32("graphics/items/icon_palettes/soft_sand.gbapal.lz"); + +const u32 gFile_graphics_items_icons_hard_stone_sheet[] = INCBIN_U32("graphics/items/icons/hard_stone.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_hard_stone_palette[] = INCBIN_U32("graphics/items/icon_palettes/hard_stone.gbapal.lz"); + +const u32 gFile_graphics_items_icons_miracle_seed_sheet[] = INCBIN_U32("graphics/items/icons/miracle_seed.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_miracle_seed_palette[] = INCBIN_U32("graphics/items/icon_palettes/miracle_seed.gbapal.lz"); + +const u32 gFile_graphics_items_icons_black_glasses_sheet[] = INCBIN_U32("graphics/items/icons/black_glasses.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_black_type_enhancing_item_palette[] = INCBIN_U32("graphics/items/icon_palettes/black_type_enhancing_item.gbapal.lz"); +const u32 gFile_graphics_items_icons_black_belt_sheet[] = INCBIN_U32("graphics/items/icons/black_belt.4bpp.lz"); + +const u32 gFile_graphics_items_icons_magnet_sheet[] = INCBIN_U32("graphics/items/icons/magnet.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_magnet_palette[] = INCBIN_U32("graphics/items/icon_palettes/magnet.gbapal.lz"); + +const u32 gFile_graphics_items_icons_mystic_water_sheet[] = INCBIN_U32("graphics/items/icons/mystic_water.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_mystic_water_palette[] = INCBIN_U32("graphics/items/icon_palettes/mystic_water.gbapal.lz"); + +const u32 gFile_graphics_items_icons_sharp_beak_sheet[] = INCBIN_U32("graphics/items/icons/sharp_beak.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_sharp_beak_palette[] = INCBIN_U32("graphics/items/icon_palettes/sharp_beak.gbapal.lz"); + +const u32 gFile_graphics_items_icons_poison_barb_sheet[] = INCBIN_U32("graphics/items/icons/poison_barb.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_poison_barb_palette[] = INCBIN_U32("graphics/items/icon_palettes/poison_barb.gbapal.lz"); + +const u32 gFile_graphics_items_icons_never_melt_ice_sheet[] = INCBIN_U32("graphics/items/icons/never_melt_ice.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_never_melt_ice_palette[] = INCBIN_U32("graphics/items/icon_palettes/never_melt_ice.gbapal.lz"); + +const u32 gFile_graphics_items_icons_spell_tag_sheet[] = INCBIN_U32("graphics/items/icons/spell_tag.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_spell_tag_palette[] = INCBIN_U32("graphics/items/icon_palettes/spell_tag.gbapal.lz"); + +const u32 gFile_graphics_items_icons_twisted_spoon_sheet[] = INCBIN_U32("graphics/items/icons/twisted_spoon.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_twisted_spoon_palette[] = INCBIN_U32("graphics/items/icon_palettes/twisted_spoon.gbapal.lz"); + +const u32 gFile_graphics_items_icons_charcoal_sheet[] = INCBIN_U32("graphics/items/icons/charcoal.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_charcoal_palette[] = INCBIN_U32("graphics/items/icon_palettes/charcoal.gbapal.lz"); + +const u32 gFile_graphics_items_icons_dragon_fang_sheet[] = INCBIN_U32("graphics/items/icons/dragon_fang.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_dragon_fang_palette[] = INCBIN_U32("graphics/items/icon_palettes/dragon_fang.gbapal.lz"); + +const u32 gFile_graphics_items_icons_silk_scarf_sheet[] = INCBIN_U32("graphics/items/icons/silk_scarf.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_silk_scarf_palette[] = INCBIN_U32("graphics/items/icon_palettes/silk_scarf.gbapal.lz"); + +const u32 gFile_graphics_items_icons_up_grade_sheet[] = INCBIN_U32("graphics/items/icons/up_grade.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_up_grade_palette[] = INCBIN_U32("graphics/items/icon_palettes/up_grade.gbapal.lz"); + +const u32 gFile_graphics_items_icons_shell_bell_sheet[] = INCBIN_U32("graphics/items/icons/shell_bell.4bpp.lz"); + +const u32 gFile_graphics_items_icons_sea_incense_sheet[] = INCBIN_U32("graphics/items/icons/sea_incense.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_sea_incense_palette[] = INCBIN_U32("graphics/items/icon_palettes/sea_incense.gbapal.lz"); + +const u32 gFile_graphics_items_icons_lax_incense_sheet[] = INCBIN_U32("graphics/items/icons/lax_incense.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_lax_incense_palette[] = INCBIN_U32("graphics/items/icon_palettes/lax_incense.gbapal.lz"); + +const u32 gFile_graphics_items_icons_lucky_punch_sheet[] = INCBIN_U32("graphics/items/icons/lucky_punch.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_lucky_punch_palette[] = INCBIN_U32("graphics/items/icon_palettes/lucky_punch.gbapal.lz"); + +const u32 gFile_graphics_items_icons_metal_powder_sheet[] = INCBIN_U32("graphics/items/icons/metal_powder.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_metal_powder_palette[] = INCBIN_U32("graphics/items/icon_palettes/metal_powder.gbapal.lz"); + +const u32 gFile_graphics_items_icons_thick_club_sheet[] = INCBIN_U32("graphics/items/icons/thick_club.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_thick_club_palette[] = INCBIN_U32("graphics/items/icon_palettes/thick_club.gbapal.lz"); + +const u32 gFile_graphics_items_icons_stick_sheet[] = INCBIN_U32("graphics/items/icons/stick.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_stick_palette[] = INCBIN_U32("graphics/items/icon_palettes/stick.gbapal.lz"); + +const u32 gFile_graphics_items_icons_scarf_sheet[] = INCBIN_U32("graphics/items/icons/scarf.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_red_scarf_palette[] = INCBIN_U32("graphics/items/icon_palettes/red_scarf.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_blue_scarf_palette[] = INCBIN_U32("graphics/items/icon_palettes/blue_scarf.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_pink_scarf_palette[] = INCBIN_U32("graphics/items/icon_palettes/pink_scarf.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_green_scarf_palette[] = INCBIN_U32("graphics/items/icon_palettes/green_scarf.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_yellow_scarf_palette[] = INCBIN_U32("graphics/items/icon_palettes/yellow_scarf.gbapal.lz"); + +const u32 gFile_graphics_items_icons_mach_bike_sheet[] = INCBIN_U32("graphics/items/icons/mach_bike.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_mach_bike_palette[] = INCBIN_U32("graphics/items/icon_palettes/mach_bike.gbapal.lz"); + +const u32 gFile_graphics_items_icons_coin_case_sheet[] = INCBIN_U32("graphics/items/icons/coin_case.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_coin_case_palette[] = INCBIN_U32("graphics/items/icon_palettes/coin_case.gbapal.lz"); + +const u32 gFile_graphics_items_icons_itemfinder_sheet[] = INCBIN_U32("graphics/items/icons/itemfinder.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_itemfinder_palette[] = INCBIN_U32("graphics/items/icon_palettes/itemfinder.gbapal.lz"); + +const u32 gFile_graphics_items_icons_old_rod_sheet[] = INCBIN_U32("graphics/items/icons/old_rod.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_old_rod_palette[] = INCBIN_U32("graphics/items/icon_palettes/old_rod.gbapal.lz"); + +const u32 gFile_graphics_items_icons_good_rod_sheet[] = INCBIN_U32("graphics/items/icons/good_rod.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_good_rod_palette[] = INCBIN_U32("graphics/items/icon_palettes/good_rod.gbapal.lz"); + +const u32 gFile_graphics_items_icons_super_rod_sheet[] = INCBIN_U32("graphics/items/icons/super_rod.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_super_rod_palette[] = INCBIN_U32("graphics/items/icon_palettes/super_rod.gbapal.lz"); + +const u32 gFile_graphics_items_icons_ss_ticket_sheet[] = INCBIN_U32("graphics/items/icons/ss_ticket.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_ss_ticket_palette[] = INCBIN_U32("graphics/items/icon_palettes/ss_ticket.gbapal.lz"); + +const u32 gFile_graphics_items_icons_contest_pass_sheet[] = INCBIN_U32("graphics/items/icons/contest_pass.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_contest_pass_palette[] = INCBIN_U32("graphics/items/icon_palettes/contest_pass.gbapal.lz"); + +const u32 gFile_graphics_items_icons_wailmer_pail_sheet[] = INCBIN_U32("graphics/items/icons/wailmer_pail.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_wailmer_pail_palette[] = INCBIN_U32("graphics/items/icon_palettes/wailmer_pail.gbapal.lz"); + +const u32 gFile_graphics_items_icons_devon_goods_sheet[] = INCBIN_U32("graphics/items/icons/devon_goods.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_devon_goods_palette[] = INCBIN_U32("graphics/items/icon_palettes/devon_goods.gbapal.lz"); + +const u32 gFile_graphics_items_icons_soot_sack_sheet[] = INCBIN_U32("graphics/items/icons/soot_sack.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_soot_sack_palette[] = INCBIN_U32("graphics/items/icon_palettes/soot_sack.gbapal.lz"); + +const u32 gFile_graphics_items_icons_basement_key_sheet[] = INCBIN_U32("graphics/items/icons/basement_key.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_old_key_palette[] = INCBIN_U32("graphics/items/icon_palettes/old_key.gbapal.lz"); + +const u32 gFile_graphics_items_icons_acro_bike_sheet[] = INCBIN_U32("graphics/items/icons/acro_bike.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_acro_bike_palette[] = INCBIN_U32("graphics/items/icon_palettes/acro_bike.gbapal.lz"); + +const u32 gFile_graphics_items_icons_pokeblock_case_sheet[] = INCBIN_U32("graphics/items/icons/pokeblock_case.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_pokeblock_case_palette[] = INCBIN_U32("graphics/items/icon_palettes/pokeblock_case.gbapal.lz"); + +const u32 gFile_graphics_items_icons_letter_sheet[] = INCBIN_U32("graphics/items/icons/letter.4bpp.lz"); + +const u32 gFile_graphics_items_icons_eon_ticket_sheet[] = INCBIN_U32("graphics/items/icons/eon_ticket.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_eon_ticket_palette[] = INCBIN_U32("graphics/items/icon_palettes/eon_ticket.gbapal.lz"); + +const u32 gFile_graphics_items_icons_orb_sheet[] = INCBIN_U32("graphics/items/icons/orb.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_red_orb_palette[] = INCBIN_U32("graphics/items/icon_palettes/red_orb.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_blue_orb_palette[] = INCBIN_U32("graphics/items/icon_palettes/blue_orb.gbapal.lz"); + +const u32 gFile_graphics_items_icons_scanner_sheet[] = INCBIN_U32("graphics/items/icons/scanner.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_scanner_palette[] = INCBIN_U32("graphics/items/icon_palettes/scanner.gbapal.lz"); + +const u32 gFile_graphics_items_icons_go_goggles_sheet[] = INCBIN_U32("graphics/items/icons/go_goggles.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_go_goggles_palette[] = INCBIN_U32("graphics/items/icon_palettes/go_goggles.gbapal.lz"); + +const u32 gFile_graphics_items_icons_meteorite_sheet[] = INCBIN_U32("graphics/items/icons/meteorite.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_meteorite_palette[] = INCBIN_U32("graphics/items/icon_palettes/meteorite.gbapal.lz"); + +const u32 gFile_graphics_items_icons_room1_key_sheet[] = INCBIN_U32("graphics/items/icons/room1_key.4bpp.lz"); +const u32 gFile_graphics_items_icons_room2_key_sheet[] = INCBIN_U32("graphics/items/icons/room2_key.4bpp.lz"); +const u32 gFile_graphics_items_icons_room4_key_sheet[] = INCBIN_U32("graphics/items/icons/room4_key.4bpp.lz"); +const u32 gFile_graphics_items_icons_room6_key_sheet[] = INCBIN_U32("graphics/items/icons/room6_key.4bpp.lz"); +const u32 gFile_graphics_items_icons_storage_key_sheet[] = INCBIN_U32("graphics/items/icons/storage_key.4bpp.lz"); + +const u32 gFile_graphics_items_icons_root_fossil_sheet[] = INCBIN_U32("graphics/items/icons/root_fossil.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_hoenn_fossil_palette[] = INCBIN_U32("graphics/items/icon_palettes/hoenn_fossil.gbapal.lz"); +const u32 gFile_graphics_items_icons_claw_fossil_sheet[] = INCBIN_U32("graphics/items/icons/claw_fossil.4bpp.lz"); + +const u32 gFile_graphics_items_icons_devon_scope_sheet[] = INCBIN_U32("graphics/items/icons/devon_scope.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_devon_scope_palette[] = INCBIN_U32("graphics/items/icon_palettes/devon_scope.gbapal.lz"); + +const u32 gFile_graphics_items_icons_tm_sheet[] = INCBIN_U32("graphics/items/icons/tm.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_fighting_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/fighting_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_dragon_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/dragon_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_water_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/water_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_psychic_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/psychic_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_normal_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/normal_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_poison_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/poison_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_ice_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/ice_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_grass_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/grass_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_fire_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/fire_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_dark_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/dark_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_steel_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/steel_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_electric_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/electric_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_ground_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/ground_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_ghost_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/ghost_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_rock_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/rock_tm_hm.gbapal.lz"); +const u32 gFile_graphics_items_icon_palettes_flying_tm_hm_palette[] = INCBIN_U32("graphics/items/icon_palettes/flying_tm_hm.gbapal.lz"); + +const u32 gFile_graphics_items_icons_oaks_parcel_sheet[] = INCBIN_U32("graphics/items/icons/oaks_parcel.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_oaks_parcel_palette[] = INCBIN_U32("graphics/items/icon_palettes/oaks_parcel.gbapal.lz"); + +const u32 gFile_graphics_items_icons_poke_flute_sheet[] = INCBIN_U32("graphics/items/icons/poke_flute.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_poke_flute_palette[] = INCBIN_U32("graphics/items/icon_palettes/poke_flute.gbapal.lz"); + +const u32 gFile_graphics_items_icons_secret_key_sheet[] = INCBIN_U32("graphics/items/icons/secret_key.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_secret_key_palette[] = INCBIN_U32("graphics/items/icon_palettes/secret_key.gbapal.lz"); + +const u32 gFile_graphics_items_icons_bike_voucher_sheet[] = INCBIN_U32("graphics/items/icons/bike_voucher.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_bike_voucher_palette[] = INCBIN_U32("graphics/items/icon_palettes/bike_voucher.gbapal.lz"); + +const u32 gFile_graphics_items_icons_gold_teeth_sheet[] = INCBIN_U32("graphics/items/icons/gold_teeth.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_gold_teeth_palette[] = INCBIN_U32("graphics/items/icon_palettes/gold_teeth.gbapal.lz"); + +const u32 gFile_graphics_items_icons_old_amber_sheet[] = INCBIN_U32("graphics/items/icons/old_amber.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_old_amber_palette[] = INCBIN_U32("graphics/items/icon_palettes/old_amber.gbapal.lz"); + +const u32 gFile_graphics_items_icons_card_key_sheet[] = INCBIN_U32("graphics/items/icons/card_key.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_card_key_palette[] = INCBIN_U32("graphics/items/icon_palettes/card_key.gbapal.lz"); + +const u32 gFile_graphics_items_icons_lift_key_sheet[] = INCBIN_U32("graphics/items/icons/lift_key.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_key_palette[] = INCBIN_U32("graphics/items/icon_palettes/key.gbapal.lz"); + +const u32 gFile_graphics_items_icons_helix_fossil_sheet[] = INCBIN_U32("graphics/items/icons/helix_fossil.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_kanto_fossil_palette[] = INCBIN_U32("graphics/items/icon_palettes/kanto_fossil.gbapal.lz"); +const u32 gFile_graphics_items_icons_dome_fossil_sheet[] = INCBIN_U32("graphics/items/icons/dome_fossil.4bpp.lz"); + +const u32 gFile_graphics_items_icons_silph_scope_sheet[] = INCBIN_U32("graphics/items/icons/silph_scope.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_silph_scope_palette[] = INCBIN_U32("graphics/items/icon_palettes/silph_scope.gbapal.lz"); + +const u32 gFile_graphics_items_icons_bicycle_sheet[] = INCBIN_U32("graphics/items/icons/bicycle.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_bicycle_palette[] = INCBIN_U32("graphics/items/icon_palettes/bicycle.gbapal.lz"); + +const u32 gFile_graphics_items_icons_town_map_sheet[] = INCBIN_U32("graphics/items/icons/town_map.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_town_map_palette[] = INCBIN_U32("graphics/items/icon_palettes/town_map.gbapal.lz"); + +const u32 gFile_graphics_items_icons_vs_seeker_sheet[] = INCBIN_U32("graphics/items/icons/vs_seeker.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_vs_seeker_palette[] = INCBIN_U32("graphics/items/icon_palettes/vs_seeker.gbapal.lz"); + +const u32 gFile_graphics_items_icons_fame_checker_sheet[] = INCBIN_U32("graphics/items/icons/fame_checker.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_fame_checker_palette[] = INCBIN_U32("graphics/items/icon_palettes/fame_checker.gbapal.lz"); + +const u32 gFile_graphics_items_icons_tm_case_sheet[] = INCBIN_U32("graphics/items/icons/tm_case.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_tm_case_palette[] = INCBIN_U32("graphics/items/icon_palettes/tm_case.gbapal.lz"); + +const u32 gFile_graphics_items_icons_berry_pouch_sheet[] = INCBIN_U32("graphics/items/icons/berry_pouch.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_berry_pouch_palette[] = INCBIN_U32("graphics/items/icon_palettes/berry_pouch.gbapal.lz"); + +const u32 gFile_graphics_items_icons_teachy_tv_sheet[] = INCBIN_U32("graphics/items/icons/teachy_tv.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_teachy_tv_palette[] = INCBIN_U32("graphics/items/icon_palettes/teachy_tv.gbapal.lz"); + +const u32 gFile_graphics_items_icons_tri_pass_sheet[] = INCBIN_U32("graphics/items/icons/tri_pass.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_tri_pass_palette[] = INCBIN_U32("graphics/items/icon_palettes/tri_pass.gbapal.lz"); + +const u32 gFile_graphics_items_icons_rainbow_pass_sheet[] = INCBIN_U32("graphics/items/icons/rainbow_pass.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_rainbow_pass_palette[] = INCBIN_U32("graphics/items/icon_palettes/rainbow_pass.gbapal.lz"); + +const u32 gFile_graphics_items_icons_tea_sheet[] = INCBIN_U32("graphics/items/icons/tea.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_tea_palette[] = INCBIN_U32("graphics/items/icon_palettes/tea.gbapal.lz"); + +const u32 gFile_graphics_items_icons_mystic_ticket_sheet[] = INCBIN_U32("graphics/items/icons/mystic_ticket.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_mystic_ticket_palette[] = INCBIN_U32("graphics/items/icon_palettes/mystic_ticket.gbapal.lz"); + +const u32 gFile_graphics_items_icons_aurora_ticket_sheet[] = INCBIN_U32("graphics/items/icons/aurora_ticket.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_aurora_ticket_palette[] = INCBIN_U32("graphics/items/icon_palettes/aurora_ticket.gbapal.lz"); + +const u32 gFile_graphics_items_icons_powder_jar_sheet[] = INCBIN_U32("graphics/items/icons/powder_jar.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_powder_jar_palette[] = INCBIN_U32("graphics/items/icon_palettes/powder_jar.gbapal.lz"); + +const u32 gFile_graphics_items_icon_palettes_ruby_palette[] = INCBIN_U32("graphics/items/icon_palettes/ruby.gbapal.lz"); +const u32 gFile_graphics_items_icons_gem_sheet[] = INCBIN_U32("graphics/items/icons/gem.4bpp.lz"); +const u32 gFile_graphics_items_icon_palettes_sapphire_palette[] = INCBIN_U32("graphics/items/icon_palettes/sapphire.gbapal.lz"); diff --git a/src/data/graphics/mail.h b/src/data/graphics/mail.h new file mode 100644 index 000000000..86d827b49 --- /dev/null +++ b/src/data/graphics/mail.h @@ -0,0 +1,38 @@ +const u16 gFile_graphics_mail_orange_palette_pal[] = INCBIN_U16("graphics/mail/orange/palette.gbapal"); +const u16 gFile_graphics_mail_harbor_palette_pal[] = INCBIN_U16("graphics/mail/harbor/palette.gbapal"); +const u16 gFile_graphics_mail_glitter_palette_pal[] = INCBIN_U16("graphics/mail/glitter/palette.gbapal"); +const u16 gFile_graphics_mail_mech_palette_pal[] = INCBIN_U16("graphics/mail/mech/palette.gbapal"); +const u16 gFile_graphics_mail_wood_palette_pal[] = INCBIN_U16("graphics/mail/wood/palette.gbapal"); +const u16 gFile_graphics_mail_wave_palette_pal[] = INCBIN_U16("graphics/mail/wave/palette.gbapal"); +const u16 gFile_graphics_mail_bead_palette_pal[] = INCBIN_U16("graphics/mail/bead/palette.gbapal"); +const u16 gFile_graphics_mail_shadow_palette_pal[] = INCBIN_U16("graphics/mail/shadow/palette.gbapal"); +const u16 gFile_graphics_mail_tropic_palette_pal[] = INCBIN_U16("graphics/mail/tropic/palette.gbapal"); +const u16 gFile_graphics_mail_dream_palette_pal[] = INCBIN_U16("graphics/mail/dream/palette.gbapal"); +const u16 gFile_graphics_mail_fab_palette_pal[] = INCBIN_U16("graphics/mail/fab/palette.gbapal"); +const u16 gFile_graphics_mail_retro_palette_pal[] = INCBIN_U16("graphics/mail/retro/palette.gbapal"); + +const u32 gFile_graphics_mail_orange_tiles_sheet[] = INCBIN_U32("graphics/mail/orange/tiles.4bpp.lz"); +const u32 gFile_graphics_mail_harbor_tiles_sheet[] = INCBIN_U32("graphics/mail/harbor/tiles.4bpp.lz"); +const u32 gFile_graphics_mail_glitter_tiles_sheet[] = INCBIN_U32("graphics/mail/glitter/tiles.4bpp.lz"); +const u32 gFile_graphics_mail_mech_tiles_sheet[] = INCBIN_U32("graphics/mail/mech/tiles.4bpp.lz"); +const u32 gFile_graphics_mail_wood_tiles_sheet[] = INCBIN_U32("graphics/mail/wood/tiles.4bpp.lz"); +const u32 gFile_graphics_mail_wave_tiles_sheet[] = INCBIN_U32("graphics/mail/wave/tiles.4bpp.lz"); +const u32 gFile_graphics_mail_bead_tiles_sheet[] = INCBIN_U32("graphics/mail/bead/tiles.4bpp.lz"); +const u32 gFile_graphics_mail_shadow_tiles_sheet[] = INCBIN_U32("graphics/mail/shadow/tiles.4bpp.lz"); +const u32 gFile_graphics_mail_tropic_tiles_sheet[] = INCBIN_U32("graphics/mail/tropic/tiles.4bpp.lz"); +const u32 gFile_graphics_mail_dream_tiles_sheet[] = INCBIN_U32("graphics/mail/dream/tiles.4bpp.lz"); +const u32 gFile_graphics_mail_fab_tiles_sheet[] = INCBIN_U32("graphics/mail/fab/tiles.4bpp.lz"); +const u32 gFile_graphics_mail_retro_tiles_sheet[] = INCBIN_U32("graphics/mail/retro/tiles.4bpp.lz"); + +const u32 gFile_graphics_mail_orange_map_tilemap[] = INCBIN_U32("graphics/mail/orange/map.bin.lz"); +const u32 gFile_graphics_mail_harbor_map_tilemap[] = INCBIN_U32("graphics/mail/harbor/map.bin.lz"); +const u32 gFile_graphics_mail_glitter_map_tilemap[] = INCBIN_U32("graphics/mail/glitter/map.bin.lz"); +const u32 gFile_graphics_mail_mech_map_tilemap[] = INCBIN_U32("graphics/mail/mech/map.bin.lz"); +const u32 gFile_graphics_mail_wood_map_tilemap[] = INCBIN_U32("graphics/mail/wood/map.bin.lz"); +const u32 gFile_graphics_mail_wave_map_tilemap[] = INCBIN_U32("graphics/mail/wave/map.bin.lz"); +const u32 gFile_graphics_mail_bead_map_tilemap[] = INCBIN_U32("graphics/mail/bead/map.bin.lz"); +const u32 gFile_graphics_mail_shadow_map_tilemap[] = INCBIN_U32("graphics/mail/shadow/map.bin.lz"); +const u32 gFile_graphics_mail_tropic_map_tilemap[] = INCBIN_U32("graphics/mail/tropic/map.bin.lz"); +const u32 gFile_graphics_mail_dream_map_tilemap[] = INCBIN_U32("graphics/mail/dream/map.bin.lz"); +const u32 gFile_graphics_mail_fab_map_tilemap[] = INCBIN_U32("graphics/mail/fab/map.bin.lz"); +const u32 gFile_graphics_mail_retro_map_tilemap[] = INCBIN_U32("graphics/mail/retro/map.bin.lz"); diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h new file mode 100644 index 000000000..edb7e982d --- /dev/null +++ b/src/data/graphics/pokemon.h @@ -0,0 +1,2833 @@ +const u32 gMonFrontPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/front.4bpp.lz"); +const u32 gMonPalette_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/normal.gbapal.lz"); +const u32 gMonBackPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/back.4bpp.lz"); +const u32 gMonShinyPalette_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/shiny.gbapal.lz"); +const u8 gMonIcon_Bulbasaur[] = INCBIN_U8("graphics/pokemon/bulbasaur/icon.4bpp"); +const u8 gMonFootprint_Bulbasaur[] = INCBIN_U8("graphics/pokemon/bulbasaur/footprint.1bpp"); + +const u32 gMonFrontPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/front.4bpp.lz"); +const u32 gMonPalette_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/normal.gbapal.lz"); +const u32 gMonBackPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/back.4bpp.lz"); +const u32 gMonShinyPalette_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/shiny.gbapal.lz"); +const u8 gMonIcon_Ivysaur[] = INCBIN_U8("graphics/pokemon/ivysaur/icon.4bpp"); +const u8 gMonFootprint_Ivysaur[] = INCBIN_U8("graphics/pokemon/ivysaur/footprint.1bpp"); + +const u32 gMonFrontPic_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/front.4bpp.lz"); +const u32 gMonPalette_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/normal.gbapal.lz"); +const u32 gMonBackPic_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/back.4bpp.lz"); +const u32 gMonShinyPalette_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/shiny.gbapal.lz"); +const u8 gMonIcon_Venusaur[] = INCBIN_U8("graphics/pokemon/venusaur/icon.4bpp"); +const u8 gMonFootprint_Venusaur[] = INCBIN_U8("graphics/pokemon/venusaur/footprint.1bpp"); + +const u32 gMonFrontPic_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/front.4bpp.lz"); +const u32 gMonPalette_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/normal.gbapal.lz"); +const u32 gMonBackPic_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/back.4bpp.lz"); +const u32 gMonShinyPalette_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/shiny.gbapal.lz"); +const u8 gMonIcon_Charmander[] = INCBIN_U8("graphics/pokemon/charmander/icon.4bpp"); +const u8 gMonFootprint_Charmander[] = INCBIN_U8("graphics/pokemon/charmander/footprint.1bpp"); + +const u32 gMonFrontPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/front.4bpp.lz"); +const u32 gMonPalette_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/normal.gbapal.lz"); +const u32 gMonBackPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/back.4bpp.lz"); +const u32 gMonShinyPalette_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/shiny.gbapal.lz"); +const u8 gMonIcon_Charmeleon[] = INCBIN_U8("graphics/pokemon/charmeleon/icon.4bpp"); +const u8 gMonFootprint_Charmeleon[] = INCBIN_U8("graphics/pokemon/charmeleon/footprint.1bpp"); + +const u32 gMonFrontPic_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/front.4bpp.lz"); +const u32 gMonPalette_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/normal.gbapal.lz"); +const u32 gMonBackPic_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/back.4bpp.lz"); +const u32 gMonShinyPalette_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/shiny.gbapal.lz"); +const u8 gMonIcon_Charizard[] = INCBIN_U8("graphics/pokemon/charizard/icon.4bpp"); +const u8 gMonFootprint_Charizard[] = INCBIN_U8("graphics/pokemon/charizard/footprint.1bpp"); + +const u32 gMonFrontPic_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/front.4bpp.lz"); +const u32 gMonPalette_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/normal.gbapal.lz"); +const u32 gMonBackPic_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/back.4bpp.lz"); +const u32 gMonShinyPalette_Squirtle[] = INCBIN_U32("graphics/pokemon/squirtle/shiny.gbapal.lz"); +const u8 gMonIcon_Squirtle[] = INCBIN_U8("graphics/pokemon/squirtle/icon.4bpp"); +const u8 gMonFootprint_Squirtle[] = INCBIN_U8("graphics/pokemon/squirtle/footprint.1bpp"); + +const u32 gMonFrontPic_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/front.4bpp.lz"); +const u32 gMonPalette_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/normal.gbapal.lz"); +const u32 gMonBackPic_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/back.4bpp.lz"); +const u32 gMonShinyPalette_Wartortle[] = INCBIN_U32("graphics/pokemon/wartortle/shiny.gbapal.lz"); +const u8 gMonIcon_Wartortle[] = INCBIN_U8("graphics/pokemon/wartortle/icon.4bpp"); +const u8 gMonFootprint_Wartortle[] = INCBIN_U8("graphics/pokemon/wartortle/footprint.1bpp"); + +const u32 gMonFrontPic_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/front.4bpp.lz"); +const u32 gMonPalette_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/normal.gbapal.lz"); +const u32 gMonBackPic_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/back.4bpp.lz"); +const u32 gMonShinyPalette_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/shiny.gbapal.lz"); +const u8 gMonIcon_Blastoise[] = INCBIN_U8("graphics/pokemon/blastoise/icon.4bpp"); +const u8 gMonFootprint_Blastoise[] = INCBIN_U8("graphics/pokemon/blastoise/footprint.1bpp"); + +const u32 gMonFrontPic_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/front.4bpp.lz"); +const u32 gMonPalette_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/normal.gbapal.lz"); +const u32 gMonBackPic_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/back.4bpp.lz"); +const u32 gMonShinyPalette_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/shiny.gbapal.lz"); +const u8 gMonIcon_Caterpie[] = INCBIN_U8("graphics/pokemon/caterpie/icon.4bpp"); +const u8 gMonFootprint_Caterpie[] = INCBIN_U8("graphics/pokemon/caterpie/footprint.1bpp"); + +const u32 gMonFrontPic_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/front.4bpp.lz"); +const u32 gMonPalette_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/normal.gbapal.lz"); +const u32 gMonBackPic_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/back.4bpp.lz"); +const u32 gMonShinyPalette_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/shiny.gbapal.lz"); +const u8 gMonIcon_Metapod[] = INCBIN_U8( "graphics/pokemon/metapod/icon.4bpp"); +const u8 gMonFootprint_Metapod[] = INCBIN_U8("graphics/pokemon/metapod/footprint.1bpp"); + +const u32 gMonFrontPic_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/front.4bpp.lz"); +const u32 gMonPalette_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/normal.gbapal.lz"); +const u32 gMonBackPic_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/back.4bpp.lz"); +const u32 gMonShinyPalette_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/shiny.gbapal.lz"); +const u8 gMonIcon_Butterfree[] = INCBIN_U8("graphics/pokemon/butterfree/icon.4bpp"); +const u8 gMonFootprint_Butterfree[] = INCBIN_U8("graphics/pokemon/butterfree/footprint.1bpp"); + +const u32 gMonFrontPic_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/front.4bpp.lz"); +const u32 gMonPalette_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/normal.gbapal.lz"); +const u32 gMonBackPic_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/back.4bpp.lz"); +const u32 gMonShinyPalette_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/shiny.gbapal.lz"); +const u8 gMonIcon_Weedle[] = INCBIN_U8("graphics/pokemon/weedle/icon.4bpp"); +const u8 gMonFootprint_Weedle[] = INCBIN_U8("graphics/pokemon/weedle/footprint.1bpp"); + +const u32 gMonFrontPic_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/front.4bpp.lz"); +const u32 gMonPalette_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/normal.gbapal.lz"); +const u32 gMonBackPic_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/back.4bpp.lz"); +const u32 gMonShinyPalette_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/shiny.gbapal.lz"); +const u8 gMonIcon_Kakuna[] = INCBIN_U8("graphics/pokemon/kakuna/icon.4bpp"); +const u8 gMonFootprint_Kakuna[] = INCBIN_U8("graphics/pokemon/kakuna/footprint.1bpp"); + +const u32 gMonFrontPic_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/front.4bpp.lz"); +const u32 gMonPalette_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/normal.gbapal.lz"); +const u32 gMonBackPic_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/back.4bpp.lz"); +const u32 gMonShinyPalette_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/shiny.gbapal.lz"); +const u8 gMonIcon_Beedrill[] = INCBIN_U8("graphics/pokemon/beedrill/icon.4bpp"); +const u8 gMonFootprint_Beedrill[] = INCBIN_U8("graphics/pokemon/beedrill/footprint.1bpp"); + +const u32 gMonFrontPic_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/front.4bpp.lz"); +const u32 gMonPalette_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/normal.gbapal.lz"); +const u32 gMonBackPic_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/back.4bpp.lz"); +const u32 gMonShinyPalette_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/shiny.gbapal.lz"); +const u8 gMonIcon_Pidgey[] = INCBIN_U8("graphics/pokemon/pidgey/icon.4bpp"); +const u8 gMonFootprint_Pidgey[] = INCBIN_U8("graphics/pokemon/pidgey/footprint.1bpp"); + +const u32 gMonFrontPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/front.4bpp.lz"); +const u32 gMonPalette_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/normal.gbapal.lz"); +const u32 gMonBackPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/back.4bpp.lz"); +const u32 gMonShinyPalette_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/shiny.gbapal.lz"); +const u8 gMonIcon_Pidgeotto[] = INCBIN_U8("graphics/pokemon/pidgeotto/icon.4bpp"); +const u8 gMonFootprint_Pidgeotto[] = INCBIN_U8("graphics/pokemon/pidgeotto/footprint.1bpp"); + +const u32 gMonFrontPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/front.4bpp.lz"); +const u32 gMonPalette_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/normal.gbapal.lz"); +const u32 gMonBackPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/back.4bpp.lz"); +const u32 gMonShinyPalette_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/shiny.gbapal.lz"); +const u8 gMonIcon_Pidgeot[] = INCBIN_U8("graphics/pokemon/pidgeot/icon.4bpp"); +const u8 gMonFootprint_Pidgeot[] = INCBIN_U8("graphics/pokemon/pidgeot/footprint.1bpp"); + +const u32 gMonFrontPic_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/front.4bpp.lz"); +const u32 gMonPalette_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/normal.gbapal.lz"); +const u32 gMonBackPic_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/back.4bpp.lz"); +const u32 gMonShinyPalette_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/shiny.gbapal.lz"); +const u8 gMonIcon_Rattata[] = INCBIN_U8("graphics/pokemon/rattata/icon.4bpp"); +const u8 gMonFootprint_Rattata[] = INCBIN_U8("graphics/pokemon/rattata/footprint.1bpp"); + +const u32 gMonFrontPic_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/front.4bpp.lz"); +const u32 gMonPalette_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/normal.gbapal.lz"); +const u32 gMonBackPic_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/back.4bpp.lz"); +const u32 gMonShinyPalette_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/shiny.gbapal.lz"); +const u8 gMonIcon_Raticate[] = INCBIN_U8("graphics/pokemon/raticate/icon.4bpp"); +const u8 gMonFootprint_Raticate[] = INCBIN_U8("graphics/pokemon/raticate/footprint.1bpp"); + +const u32 gMonFrontPic_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/front.4bpp.lz"); +const u32 gMonPalette_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/normal.gbapal.lz"); +const u32 gMonBackPic_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/back.4bpp.lz"); +const u32 gMonShinyPalette_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/shiny.gbapal.lz"); +const u8 gMonIcon_Spearow[] = INCBIN_U8("graphics/pokemon/spearow/icon.4bpp"); +const u8 gMonFootprint_Spearow[] = INCBIN_U8("graphics/pokemon/spearow/footprint.1bpp"); + +const u32 gMonFrontPic_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/front.4bpp.lz"); +const u32 gMonPalette_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/normal.gbapal.lz"); +const u32 gMonBackPic_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/back.4bpp.lz"); +const u32 gMonShinyPalette_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/shiny.gbapal.lz"); +const u8 gMonIcon_Fearow[] = INCBIN_U8("graphics/pokemon/fearow/icon.4bpp"); +const u8 gMonFootprint_Fearow[] = INCBIN_U8("graphics/pokemon/fearow/footprint.1bpp"); + +const u32 gMonFrontPic_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/front.4bpp.lz"); +const u32 gMonPalette_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/normal.gbapal.lz"); +const u32 gMonBackPic_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/back.4bpp.lz"); +const u32 gMonShinyPalette_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/shiny.gbapal.lz"); +const u8 gMonIcon_Ekans[] = INCBIN_U8("graphics/pokemon/ekans/icon.4bpp"); +const u8 gMonFootprint_Ekans[] = INCBIN_U8("graphics/pokemon/ekans/footprint.1bpp"); + +const u32 gMonFrontPic_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/front.4bpp.lz"); +const u32 gMonPalette_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/normal.gbapal.lz"); +const u32 gMonBackPic_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/back.4bpp.lz"); +const u32 gMonShinyPalette_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/shiny.gbapal.lz"); +const u8 gMonIcon_Arbok[] = INCBIN_U8("graphics/pokemon/arbok/icon.4bpp"); +const u8 gMonFootprint_Arbok[] = INCBIN_U8("graphics/pokemon/arbok/footprint.1bpp"); + +const u32 gMonFrontPic_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/front.4bpp.lz"); +const u32 gMonPalette_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/normal.gbapal.lz"); +const u32 gMonBackPic_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/back.4bpp.lz"); +const u32 gMonShinyPalette_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/shiny.gbapal.lz"); +const u8 gMonIcon_Pikachu[] = INCBIN_U8("graphics/pokemon/pikachu/icon.4bpp"); +const u8 gMonFootprint_Pikachu[] = INCBIN_U8("graphics/pokemon/pikachu/footprint.1bpp"); + +const u32 gMonFrontPic_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/front.4bpp.lz"); +const u32 gMonPalette_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/normal.gbapal.lz"); +const u32 gMonBackPic_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/back.4bpp.lz"); +const u32 gMonShinyPalette_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/shiny.gbapal.lz"); +const u8 gMonIcon_Raichu[] = INCBIN_U8("graphics/pokemon/raichu/icon.4bpp"); +const u8 gMonFootprint_Raichu[] = INCBIN_U8("graphics/pokemon/raichu/footprint.1bpp"); + +const u32 gMonFrontPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/front.4bpp.lz"); +const u32 gMonPalette_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/normal.gbapal.lz"); +const u32 gMonBackPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/back.4bpp.lz"); +const u32 gMonShinyPalette_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/shiny.gbapal.lz"); +const u8 gMonIcon_Sandshrew[] = INCBIN_U8("graphics/pokemon/sandshrew/icon.4bpp"); +const u8 gMonFootprint_Sandshrew[] = INCBIN_U8("graphics/pokemon/sandshrew/footprint.1bpp"); + +const u32 gMonFrontPic_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/front.4bpp.lz"); +const u32 gMonPalette_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/normal.gbapal.lz"); +const u32 gMonBackPic_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/back.4bpp.lz"); +const u32 gMonShinyPalette_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/shiny.gbapal.lz"); +const u8 gMonIcon_Sandslash[] = INCBIN_U8("graphics/pokemon/sandslash/icon.4bpp"); +const u8 gMonFootprint_Sandslash[] = INCBIN_U8("graphics/pokemon/sandslash/footprint.1bpp"); + +const u32 gMonFrontPic_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/front.4bpp.lz"); +const u32 gMonPalette_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/normal.gbapal.lz"); +const u32 gMonBackPic_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/back.4bpp.lz"); +const u32 gMonShinyPalette_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/shiny.gbapal.lz"); +const u8 gMonIcon_NidoranF[] = INCBIN_U8("graphics/pokemon/nidoran_f/icon.4bpp"); +const u8 gMonFootprint_NidoranF[] = INCBIN_U8("graphics/pokemon/nidoran_f/footprint.1bpp"); + +const u32 gMonFrontPic_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/front.4bpp.lz"); +const u32 gMonPalette_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/normal.gbapal.lz"); +const u32 gMonBackPic_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/back.4bpp.lz"); +const u32 gMonShinyPalette_Nidorina[] = INCBIN_U32("graphics/pokemon/nidorina/shiny.gbapal.lz"); +const u8 gMonIcon_Nidorina[] = INCBIN_U8("graphics/pokemon/nidorina/icon.4bpp"); +const u8 gMonFootprint_Nidorina[] = INCBIN_U8("graphics/pokemon/nidorina/footprint.1bpp"); + +const u32 gMonFrontPic_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/front.4bpp.lz"); +const u32 gMonPalette_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/normal.gbapal.lz"); +const u32 gMonBackPic_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/back.4bpp.lz"); +const u32 gMonShinyPalette_Nidoqueen[] = INCBIN_U32("graphics/pokemon/nidoqueen/shiny.gbapal.lz"); +const u8 gMonIcon_Nidoqueen[] = INCBIN_U8("graphics/pokemon/nidoqueen/icon.4bpp"); +const u8 gMonFootprint_Nidoqueen[] = INCBIN_U8("graphics/pokemon/nidoqueen/footprint.1bpp"); + +const u32 gMonFrontPic_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/front.4bpp.lz"); +const u32 gMonPalette_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/normal.gbapal.lz"); +const u32 gMonBackPic_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/back.4bpp.lz"); +const u32 gMonShinyPalette_NidoranM[] = INCBIN_U32("graphics/pokemon/nidoran_m/shiny.gbapal.lz"); +const u8 gMonIcon_NidoranM[] = INCBIN_U8("graphics/pokemon/nidoran_m/icon.4bpp"); +const u8 gMonFootprint_NidoranM[] = INCBIN_U8("graphics/pokemon/nidoran_m/footprint.1bpp"); + +const u32 gMonFrontPic_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/front.4bpp.lz"); +const u32 gMonPalette_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/normal.gbapal.lz"); +const u32 gMonBackPic_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/back.4bpp.lz"); +const u32 gMonShinyPalette_Nidorino[] = INCBIN_U32("graphics/pokemon/nidorino/shiny.gbapal.lz"); +const u8 gMonIcon_Nidorino[] = INCBIN_U8("graphics/pokemon/nidorino/icon.4bpp"); +const u8 gMonFootprint_Nidorino[] = INCBIN_U8("graphics/pokemon/nidorino/footprint.1bpp"); + +const u32 gMonFrontPic_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/front.4bpp.lz"); +const u32 gMonPalette_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/normal.gbapal.lz"); +const u32 gMonBackPic_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/back.4bpp.lz"); +const u32 gMonShinyPalette_Nidoking[] = INCBIN_U32("graphics/pokemon/nidoking/shiny.gbapal.lz"); +const u8 gMonIcon_Nidoking[] = INCBIN_U8("graphics/pokemon/nidoking/icon.4bpp"); +const u8 gMonFootprint_Nidoking[] = INCBIN_U8("graphics/pokemon/nidoking/footprint.1bpp"); + +const u32 gMonFrontPic_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/front.4bpp.lz"); +const u32 gMonPalette_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/normal.gbapal.lz"); +const u32 gMonBackPic_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/back.4bpp.lz"); +const u32 gMonShinyPalette_Clefairy[] = INCBIN_U32("graphics/pokemon/clefairy/shiny.gbapal.lz"); +const u8 gMonIcon_Clefairy[] = INCBIN_U8("graphics/pokemon/clefairy/icon.4bpp"); +const u8 gMonFootprint_Clefairy[] = INCBIN_U8("graphics/pokemon/clefairy/footprint.1bpp"); + +const u32 gMonFrontPic_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/front.4bpp.lz"); +const u32 gMonPalette_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/normal.gbapal.lz"); +const u32 gMonBackPic_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/back.4bpp.lz"); +const u32 gMonShinyPalette_Clefable[] = INCBIN_U32("graphics/pokemon/clefable/shiny.gbapal.lz"); +const u8 gMonIcon_Clefable[] = INCBIN_U8("graphics/pokemon/clefable/icon.4bpp"); +const u8 gMonFootprint_Clefable[] = INCBIN_U8("graphics/pokemon/clefable/footprint.1bpp"); + +const u32 gMonFrontPic_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/front.4bpp.lz"); +const u32 gMonPalette_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/normal.gbapal.lz"); +const u32 gMonBackPic_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/back.4bpp.lz"); +const u32 gMonShinyPalette_Vulpix[] = INCBIN_U32("graphics/pokemon/vulpix/shiny.gbapal.lz"); +const u8 gMonIcon_Vulpix[] = INCBIN_U8("graphics/pokemon/vulpix/icon.4bpp"); +const u8 gMonFootprint_Vulpix[] = INCBIN_U8("graphics/pokemon/vulpix/footprint.1bpp"); + +const u32 gMonFrontPic_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/front.4bpp.lz"); +const u32 gMonPalette_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/normal.gbapal.lz"); +const u32 gMonBackPic_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/back.4bpp.lz"); +const u32 gMonShinyPalette_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/shiny.gbapal.lz"); +const u8 gMonIcon_Ninetales[] = INCBIN_U8("graphics/pokemon/ninetales/icon.4bpp"); +const u8 gMonFootprint_Ninetales[] = INCBIN_U8("graphics/pokemon/ninetales/footprint.1bpp"); + +const u32 gMonFrontPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/front.4bpp.lz"); +const u32 gMonPalette_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/normal.gbapal.lz"); +const u32 gMonBackPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/back.4bpp.lz"); +const u32 gMonShinyPalette_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/shiny.gbapal.lz"); +const u8 gMonIcon_Jigglypuff[] = INCBIN_U8("graphics/pokemon/jigglypuff/icon.4bpp"); +const u8 gMonFootprint_Jigglypuff[] = INCBIN_U8("graphics/pokemon/jigglypuff/footprint.1bpp"); + +const u32 gMonFrontPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/front.4bpp.lz"); +const u32 gMonPalette_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/normal.gbapal.lz"); +const u32 gMonBackPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/back.4bpp.lz"); +const u32 gMonShinyPalette_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/shiny.gbapal.lz"); +const u8 gMonIcon_Wigglytuff[] = INCBIN_U8("graphics/pokemon/wigglytuff/icon.4bpp"); +const u8 gMonFootprint_Wigglytuff[] = INCBIN_U8("graphics/pokemon/wigglytuff/footprint.1bpp"); + +const u32 gMonFrontPic_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/front.4bpp.lz"); +const u32 gMonPalette_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/normal.gbapal.lz"); +const u32 gMonBackPic_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/back.4bpp.lz"); +const u32 gMonShinyPalette_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/shiny.gbapal.lz"); +const u8 gMonIcon_Zubat[] = INCBIN_U8("graphics/pokemon/zubat/icon.4bpp"); +const u8 gMonFootprint_Zubat[] = INCBIN_U8("graphics/pokemon/zubat/footprint.1bpp"); + +const u32 gMonFrontPic_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/front.4bpp.lz"); +const u32 gMonPalette_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/normal.gbapal.lz"); +const u32 gMonBackPic_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/back.4bpp.lz"); +const u32 gMonShinyPalette_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/shiny.gbapal.lz"); +const u8 gMonIcon_Golbat[] = INCBIN_U8("graphics/pokemon/golbat/icon.4bpp"); +const u8 gMonFootprint_Golbat[] = INCBIN_U8("graphics/pokemon/golbat/footprint.1bpp"); + +const u32 gMonFrontPic_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/front.4bpp.lz"); +const u32 gMonPalette_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/normal.gbapal.lz"); +const u32 gMonBackPic_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/back.4bpp.lz"); +const u32 gMonShinyPalette_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/shiny.gbapal.lz"); +const u8 gMonIcon_Oddish[] = INCBIN_U8("graphics/pokemon/oddish/icon.4bpp"); +const u8 gMonFootprint_Oddish[] = INCBIN_U8("graphics/pokemon/oddish/footprint.1bpp"); + +const u32 gMonFrontPic_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/front.4bpp.lz"); +const u32 gMonPalette_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/normal.gbapal.lz"); +const u32 gMonBackPic_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/back.4bpp.lz"); +const u32 gMonShinyPalette_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/shiny.gbapal.lz"); +const u8 gMonIcon_Gloom[] = INCBIN_U8("graphics/pokemon/gloom/icon.4bpp"); +const u8 gMonFootprint_Gloom[] = INCBIN_U8("graphics/pokemon/gloom/footprint.1bpp"); + +const u32 gMonFrontPic_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/front.4bpp.lz"); +const u32 gMonPalette_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/normal.gbapal.lz"); +const u32 gMonBackPic_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/back.4bpp.lz"); +const u32 gMonShinyPalette_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/shiny.gbapal.lz"); +const u8 gMonIcon_Vileplume[] = INCBIN_U8("graphics/pokemon/vileplume/icon.4bpp"); +const u8 gMonFootprint_Vileplume[] = INCBIN_U8("graphics/pokemon/vileplume/footprint.1bpp"); + +const u32 gMonFrontPic_Paras[] = INCBIN_U32("graphics/pokemon/paras/front.4bpp.lz"); +const u32 gMonPalette_Paras[] = INCBIN_U32("graphics/pokemon/paras/normal.gbapal.lz"); +const u32 gMonBackPic_Paras[] = INCBIN_U32("graphics/pokemon/paras/back.4bpp.lz"); +const u32 gMonShinyPalette_Paras[] = INCBIN_U32("graphics/pokemon/paras/shiny.gbapal.lz"); +const u8 gMonIcon_Paras[] = INCBIN_U8("graphics/pokemon/paras/icon.4bpp"); +const u8 gMonFootprint_Paras[] = INCBIN_U8("graphics/pokemon/paras/footprint.1bpp"); + +const u32 gMonFrontPic_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/front.4bpp.lz"); +const u32 gMonPalette_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/normal.gbapal.lz"); +const u32 gMonBackPic_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/back.4bpp.lz"); +const u32 gMonShinyPalette_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/shiny.gbapal.lz"); +const u8 gMonIcon_Parasect[] = INCBIN_U8("graphics/pokemon/parasect/icon.4bpp"); +const u8 gMonFootprint_Parasect[] = INCBIN_U8("graphics/pokemon/parasect/footprint.1bpp"); + +const u32 gMonFrontPic_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/front.4bpp.lz"); +const u32 gMonPalette_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/normal.gbapal.lz"); +const u32 gMonBackPic_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/back.4bpp.lz"); +const u32 gMonShinyPalette_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/shiny.gbapal.lz"); +const u8 gMonIcon_Venonat[] = INCBIN_U8("graphics/pokemon/venonat/icon.4bpp"); +const u8 gMonFootprint_Venonat[] = INCBIN_U8("graphics/pokemon/venonat/footprint.1bpp"); + +const u32 gMonFrontPic_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/front.4bpp.lz"); +const u32 gMonPalette_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/normal.gbapal.lz"); +const u32 gMonBackPic_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/back.4bpp.lz"); +const u32 gMonShinyPalette_Venomoth[] = INCBIN_U32("graphics/pokemon/venomoth/shiny.gbapal.lz"); +const u8 gMonIcon_Venomoth[] = INCBIN_U8("graphics/pokemon/venomoth/icon.4bpp"); +const u8 gMonFootprint_Venomoth[] = INCBIN_U8("graphics/pokemon/venomoth/footprint.1bpp"); + +const u32 gMonFrontPic_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/front.4bpp.lz"); +const u32 gMonPalette_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/normal.gbapal.lz"); +const u32 gMonBackPic_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/back.4bpp.lz"); +const u32 gMonShinyPalette_Diglett[] = INCBIN_U32("graphics/pokemon/diglett/shiny.gbapal.lz"); +const u8 gMonIcon_Diglett[] = INCBIN_U8("graphics/pokemon/diglett/icon.4bpp"); +const u8 gMonFootprint_Diglett[] = INCBIN_U8("graphics/pokemon/diglett/footprint.1bpp"); + +const u32 gMonFrontPic_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/front.4bpp.lz"); +const u32 gMonPalette_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/normal.gbapal.lz"); +const u32 gMonBackPic_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/back.4bpp.lz"); +const u32 gMonShinyPalette_Dugtrio[] = INCBIN_U32("graphics/pokemon/dugtrio/shiny.gbapal.lz"); +const u8 gMonIcon_Dugtrio[] = INCBIN_U8("graphics/pokemon/dugtrio/icon.4bpp"); +const u8 gMonFootprint_Dugtrio[] = INCBIN_U8("graphics/pokemon/dugtrio/footprint.1bpp"); + +const u32 gMonFrontPic_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/front.4bpp.lz"); +const u32 gMonPalette_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/normal.gbapal.lz"); +const u32 gMonBackPic_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/back.4bpp.lz"); +const u32 gMonShinyPalette_Meowth[] = INCBIN_U32("graphics/pokemon/meowth/shiny.gbapal.lz"); +const u8 gMonIcon_Meowth[] = INCBIN_U8("graphics/pokemon/meowth/icon.4bpp"); +const u8 gMonFootprint_Meowth[] = INCBIN_U8("graphics/pokemon/meowth/footprint.1bpp"); + +const u32 gMonFrontPic_Persian[] = INCBIN_U32("graphics/pokemon/persian/front.4bpp.lz"); +const u32 gMonPalette_Persian[] = INCBIN_U32("graphics/pokemon/persian/normal.gbapal.lz"); +const u32 gMonBackPic_Persian[] = INCBIN_U32("graphics/pokemon/persian/back.4bpp.lz"); +const u32 gMonShinyPalette_Persian[] = INCBIN_U32("graphics/pokemon/persian/shiny.gbapal.lz"); +const u8 gMonIcon_Persian[] = INCBIN_U8("graphics/pokemon/persian/icon.4bpp"); +const u8 gMonFootprint_Persian[] = INCBIN_U8("graphics/pokemon/persian/footprint.1bpp"); + +const u32 gMonFrontPic_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/front.4bpp.lz"); +const u32 gMonPalette_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/normal.gbapal.lz"); +const u32 gMonBackPic_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/back.4bpp.lz"); +const u32 gMonShinyPalette_Psyduck[] = INCBIN_U32("graphics/pokemon/psyduck/shiny.gbapal.lz"); +const u8 gMonIcon_Psyduck[] = INCBIN_U8("graphics/pokemon/psyduck/icon.4bpp"); +const u8 gMonFootprint_Psyduck[] = INCBIN_U8("graphics/pokemon/psyduck/footprint.1bpp"); + +const u32 gMonFrontPic_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/front.4bpp.lz"); +const u32 gMonPalette_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/normal.gbapal.lz"); +const u32 gMonBackPic_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/back.4bpp.lz"); +const u32 gMonShinyPalette_Golduck[] = INCBIN_U32("graphics/pokemon/golduck/shiny.gbapal.lz"); +const u8 gMonIcon_Golduck[] = INCBIN_U8("graphics/pokemon/golduck/icon.4bpp"); +const u8 gMonFootprint_Golduck[] = INCBIN_U8("graphics/pokemon/golduck/footprint.1bpp"); + +const u32 gMonFrontPic_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/front.4bpp.lz"); +const u32 gMonPalette_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/normal.gbapal.lz"); +const u32 gMonBackPic_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/back.4bpp.lz"); +const u32 gMonShinyPalette_Mankey[] = INCBIN_U32("graphics/pokemon/mankey/shiny.gbapal.lz"); +const u8 gMonIcon_Mankey[] = INCBIN_U8("graphics/pokemon/mankey/icon.4bpp"); +const u8 gMonFootprint_Mankey[] = INCBIN_U8("graphics/pokemon/mankey/footprint.1bpp"); + +const u32 gMonFrontPic_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/front.4bpp.lz"); +const u32 gMonPalette_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/normal.gbapal.lz"); +const u32 gMonBackPic_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/back.4bpp.lz"); +const u32 gMonShinyPalette_Primeape[] = INCBIN_U32("graphics/pokemon/primeape/shiny.gbapal.lz"); +const u8 gMonIcon_Primeape[] = INCBIN_U8("graphics/pokemon/primeape/icon.4bpp"); +const u8 gMonFootprint_Primeape[] = INCBIN_U8("graphics/pokemon/primeape/footprint.1bpp"); + +const u32 gMonFrontPic_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/front.4bpp.lz"); +const u32 gMonPalette_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/normal.gbapal.lz"); +const u32 gMonBackPic_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/back.4bpp.lz"); +const u32 gMonShinyPalette_Growlithe[] = INCBIN_U32("graphics/pokemon/growlithe/shiny.gbapal.lz"); +const u8 gMonIcon_Growlithe[] = INCBIN_U8("graphics/pokemon/growlithe/icon.4bpp"); +const u8 gMonFootprint_Growlithe[] = INCBIN_U8("graphics/pokemon/growlithe/footprint.1bpp"); + +const u32 gMonFrontPic_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/front.4bpp.lz"); +const u32 gMonPalette_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/normal.gbapal.lz"); +const u32 gMonBackPic_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/back.4bpp.lz"); +const u32 gMonShinyPalette_Arcanine[] = INCBIN_U32("graphics/pokemon/arcanine/shiny.gbapal.lz"); +const u8 gMonIcon_Arcanine[] = INCBIN_U8("graphics/pokemon/arcanine/icon.4bpp"); +const u8 gMonFootprint_Arcanine[] = INCBIN_U8("graphics/pokemon/arcanine/footprint.1bpp"); + +const u32 gMonFrontPic_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/front.4bpp.lz"); +const u32 gMonPalette_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/normal.gbapal.lz"); +const u32 gMonBackPic_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/back.4bpp.lz"); +const u32 gMonShinyPalette_Poliwag[] = INCBIN_U32("graphics/pokemon/poliwag/shiny.gbapal.lz"); +const u8 gMonIcon_Poliwag[] = INCBIN_U8("graphics/pokemon/poliwag/icon.4bpp"); +const u8 gMonFootprint_Poliwag[] = INCBIN_U8("graphics/pokemon/poliwag/footprint.1bpp"); + +const u32 gMonFrontPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/front.4bpp.lz"); +const u32 gMonPalette_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/normal.gbapal.lz"); +const u32 gMonBackPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/back.4bpp.lz"); +const u32 gMonShinyPalette_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/shiny.gbapal.lz"); +const u8 gMonIcon_Poliwhirl[] = INCBIN_U8("graphics/pokemon/poliwhirl/icon.4bpp"); +const u8 gMonFootprint_Poliwhirl[] = INCBIN_U8("graphics/pokemon/poliwhirl/footprint.1bpp"); + +const u32 gMonFrontPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/front.4bpp.lz"); +const u32 gMonPalette_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/normal.gbapal.lz"); +const u32 gMonBackPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/back.4bpp.lz"); +const u32 gMonShinyPalette_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/shiny.gbapal.lz"); +const u8 gMonIcon_Poliwrath[] = INCBIN_U8("graphics/pokemon/poliwrath/icon.4bpp"); +const u8 gMonFootprint_Poliwrath[] = INCBIN_U8("graphics/pokemon/poliwrath/footprint.1bpp"); + +const u32 gMonFrontPic_Abra[] = INCBIN_U32("graphics/pokemon/abra/front.4bpp.lz"); +const u32 gMonPalette_Abra[] = INCBIN_U32("graphics/pokemon/abra/normal.gbapal.lz"); +const u32 gMonBackPic_Abra[] = INCBIN_U32("graphics/pokemon/abra/back.4bpp.lz"); +const u32 gMonShinyPalette_Abra[] = INCBIN_U32("graphics/pokemon/abra/shiny.gbapal.lz"); +const u8 gMonIcon_Abra[] = INCBIN_U8("graphics/pokemon/abra/icon.4bpp"); +const u8 gMonFootprint_Abra[] = INCBIN_U8("graphics/pokemon/abra/footprint.1bpp"); + +const u32 gMonFrontPic_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/front.4bpp.lz"); +const u32 gMonPalette_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/normal.gbapal.lz"); +const u32 gMonBackPic_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/back.4bpp.lz"); +const u32 gMonShinyPalette_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/shiny.gbapal.lz"); +const u8 gMonIcon_Kadabra[] = INCBIN_U8("graphics/pokemon/kadabra/icon.4bpp"); +const u8 gMonFootprint_Kadabra[] = INCBIN_U8("graphics/pokemon/kadabra/footprint.1bpp"); + +const u32 gMonFrontPic_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/front.4bpp.lz"); +const u32 gMonPalette_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/normal.gbapal.lz"); +const u32 gMonBackPic_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/back.4bpp.lz"); +const u32 gMonShinyPalette_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/shiny.gbapal.lz"); +const u8 gMonIcon_Alakazam[] = INCBIN_U8("graphics/pokemon/alakazam/icon.4bpp"); +const u8 gMonFootprint_Alakazam[] = INCBIN_U8("graphics/pokemon/alakazam/footprint.1bpp"); + +const u32 gMonFrontPic_Machop[] = INCBIN_U32("graphics/pokemon/machop/front.4bpp.lz"); +const u32 gMonPalette_Machop[] = INCBIN_U32("graphics/pokemon/machop/normal.gbapal.lz"); +const u32 gMonBackPic_Machop[] = INCBIN_U32("graphics/pokemon/machop/back.4bpp.lz"); +const u32 gMonShinyPalette_Machop[] = INCBIN_U32("graphics/pokemon/machop/shiny.gbapal.lz"); +const u8 gMonIcon_Machop[] = INCBIN_U8("graphics/pokemon/machop/icon.4bpp"); +const u8 gMonFootprint_Machop[] = INCBIN_U8("graphics/pokemon/machop/footprint.1bpp"); + +const u32 gMonFrontPic_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/front.4bpp.lz"); +const u32 gMonPalette_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/normal.gbapal.lz"); +const u32 gMonBackPic_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/back.4bpp.lz"); +const u32 gMonShinyPalette_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/shiny.gbapal.lz"); +const u8 gMonIcon_Machoke[] = INCBIN_U8("graphics/pokemon/machoke/icon.4bpp"); +const u8 gMonFootprint_Machoke[] = INCBIN_U8("graphics/pokemon/machoke/footprint.1bpp"); + +const u32 gMonFrontPic_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/front.4bpp.lz"); +const u32 gMonPalette_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/normal.gbapal.lz"); +const u32 gMonBackPic_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/back.4bpp.lz"); +const u32 gMonShinyPalette_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/shiny.gbapal.lz"); +const u8 gMonIcon_Machamp[] = INCBIN_U8("graphics/pokemon/machamp/icon.4bpp"); +const u8 gMonFootprint_Machamp[] = INCBIN_U8("graphics/pokemon/machamp/footprint.1bpp"); + +const u32 gMonFrontPic_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/front.4bpp.lz"); +const u32 gMonPalette_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/normal.gbapal.lz"); +const u32 gMonBackPic_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/back.4bpp.lz"); +const u32 gMonShinyPalette_Bellsprout[] = INCBIN_U32("graphics/pokemon/bellsprout/shiny.gbapal.lz"); +const u8 gMonIcon_Bellsprout[] = INCBIN_U8("graphics/pokemon/bellsprout/icon.4bpp"); +const u8 gMonFootprint_Bellsprout[] = INCBIN_U8("graphics/pokemon/bellsprout/footprint.1bpp"); + +const u32 gMonFrontPic_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/front.4bpp.lz"); +const u32 gMonPalette_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/normal.gbapal.lz"); +const u32 gMonBackPic_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/back.4bpp.lz"); +const u32 gMonShinyPalette_Weepinbell[] = INCBIN_U32("graphics/pokemon/weepinbell/shiny.gbapal.lz"); +const u8 gMonIcon_Weepinbell[] = INCBIN_U8("graphics/pokemon/weepinbell/icon.4bpp"); +const u8 gMonFootprint_Weepinbell[] = INCBIN_U8("graphics/pokemon/weepinbell/footprint.1bpp"); + +const u32 gMonFrontPic_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/front.4bpp.lz"); +const u32 gMonPalette_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/normal.gbapal.lz"); +const u32 gMonBackPic_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/back.4bpp.lz"); +const u32 gMonShinyPalette_Victreebel[] = INCBIN_U32("graphics/pokemon/victreebel/shiny.gbapal.lz"); +const u8 gMonIcon_Victreebel[] = INCBIN_U8("graphics/pokemon/victreebel/icon.4bpp"); +const u8 gMonFootprint_Victreebel[] = INCBIN_U8("graphics/pokemon/victreebel/footprint.1bpp"); + +const u32 gMonFrontPic_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/front.4bpp.lz"); +const u32 gMonPalette_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/normal.gbapal.lz"); +const u32 gMonBackPic_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/back.4bpp.lz"); +const u32 gMonShinyPalette_Tentacool[] = INCBIN_U32("graphics/pokemon/tentacool/shiny.gbapal.lz"); +const u8 gMonIcon_Tentacool[] = INCBIN_U8("graphics/pokemon/tentacool/icon.4bpp"); +const u8 gMonFootprint_Tentacool[] = INCBIN_U8("graphics/pokemon/tentacool/footprint.1bpp"); + +const u32 gMonFrontPic_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/front.4bpp.lz"); +const u32 gMonPalette_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/normal.gbapal.lz"); +const u32 gMonBackPic_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/back.4bpp.lz"); +const u32 gMonShinyPalette_Tentacruel[] = INCBIN_U32("graphics/pokemon/tentacruel/shiny.gbapal.lz"); +const u8 gMonIcon_Tentacruel[] = INCBIN_U8("graphics/pokemon/tentacruel/icon.4bpp"); +const u8 gMonFootprint_Tentacruel[] = INCBIN_U8("graphics/pokemon/tentacruel/footprint.1bpp"); + +const u32 gMonFrontPic_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/front.4bpp.lz"); +const u32 gMonPalette_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/normal.gbapal.lz"); +const u32 gMonBackPic_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/back.4bpp.lz"); +const u32 gMonShinyPalette_Geodude[] = INCBIN_U32("graphics/pokemon/geodude/shiny.gbapal.lz"); +const u8 gMonIcon_Geodude[] = INCBIN_U8("graphics/pokemon/geodude/icon.4bpp"); +const u8 gMonFootprint_Geodude[] = INCBIN_U8("graphics/pokemon/geodude/footprint.1bpp"); + +const u32 gMonFrontPic_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/front.4bpp.lz"); +const u32 gMonPalette_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/normal.gbapal.lz"); +const u32 gMonBackPic_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/back.4bpp.lz"); +const u32 gMonShinyPalette_Graveler[] = INCBIN_U32("graphics/pokemon/graveler/shiny.gbapal.lz"); +const u8 gMonIcon_Graveler[] = INCBIN_U8("graphics/pokemon/graveler/icon.4bpp"); +const u8 gMonFootprint_Graveler[] = INCBIN_U8("graphics/pokemon/graveler/footprint.1bpp"); + +const u32 gMonFrontPic_Golem[] = INCBIN_U32("graphics/pokemon/golem/front.4bpp.lz"); +const u32 gMonPalette_Golem[] = INCBIN_U32("graphics/pokemon/golem/normal.gbapal.lz"); +const u32 gMonBackPic_Golem[] = INCBIN_U32("graphics/pokemon/golem/back.4bpp.lz"); +const u32 gMonShinyPalette_Golem[] = INCBIN_U32("graphics/pokemon/golem/shiny.gbapal.lz"); +const u8 gMonIcon_Golem[] = INCBIN_U8("graphics/pokemon/golem/icon.4bpp"); +const u8 gMonFootprint_Golem[] = INCBIN_U8("graphics/pokemon/golem/footprint.1bpp"); + +const u32 gMonFrontPic_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/front.4bpp.lz"); +const u32 gMonPalette_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/normal.gbapal.lz"); +const u32 gMonBackPic_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/back.4bpp.lz"); +const u32 gMonShinyPalette_Ponyta[] = INCBIN_U32("graphics/pokemon/ponyta/shiny.gbapal.lz"); +const u8 gMonIcon_Ponyta[] = INCBIN_U8("graphics/pokemon/ponyta/icon.4bpp"); +const u8 gMonFootprint_Ponyta[] = INCBIN_U8("graphics/pokemon/ponyta/footprint.1bpp"); + +const u32 gMonFrontPic_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/front.4bpp.lz"); +const u32 gMonPalette_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/normal.gbapal.lz"); +const u32 gMonBackPic_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/back.4bpp.lz"); +const u32 gMonShinyPalette_Rapidash[] = INCBIN_U32("graphics/pokemon/rapidash/shiny.gbapal.lz"); +const u8 gMonIcon_Rapidash[] = INCBIN_U8("graphics/pokemon/rapidash/icon.4bpp"); +const u8 gMonFootprint_Rapidash[] = INCBIN_U8("graphics/pokemon/rapidash/footprint.1bpp"); + +const u32 gMonFrontPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/front.4bpp.lz"); +const u32 gMonPalette_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/normal.gbapal.lz"); +const u32 gMonBackPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/back.4bpp.lz"); +const u32 gMonShinyPalette_Slowpoke[] = INCBIN_U32("graphics/pokemon/slowpoke/shiny.gbapal.lz"); +const u8 gMonIcon_Slowpoke[] = INCBIN_U8("graphics/pokemon/slowpoke/icon.4bpp"); +const u8 gMonFootprint_Slowpoke[] = INCBIN_U8("graphics/pokemon/slowpoke/footprint.1bpp"); + +const u32 gMonFrontPic_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/front.4bpp.lz"); +const u32 gMonPalette_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/normal.gbapal.lz"); +const u32 gMonBackPic_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/back.4bpp.lz"); +const u32 gMonShinyPalette_Slowbro[] = INCBIN_U32("graphics/pokemon/slowbro/shiny.gbapal.lz"); +const u8 gMonIcon_Slowbro[] = INCBIN_U8("graphics/pokemon/slowbro/icon.4bpp"); +const u8 gMonFootprint_Slowbro[] = INCBIN_U8("graphics/pokemon/slowbro/footprint.1bpp"); + +const u32 gMonFrontPic_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/front.4bpp.lz"); +const u32 gMonPalette_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/normal.gbapal.lz"); +const u32 gMonBackPic_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/back.4bpp.lz"); +const u32 gMonShinyPalette_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/shiny.gbapal.lz"); +const u8 gMonIcon_Magnemite[] = INCBIN_U8("graphics/pokemon/magnemite/icon.4bpp"); +const u8 gMonFootprint_Magnemite[] = INCBIN_U8("graphics/pokemon/magnemite/footprint.1bpp"); + +const u32 gMonFrontPic_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/front.4bpp.lz"); +const u32 gMonPalette_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/normal.gbapal.lz"); +const u32 gMonBackPic_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/back.4bpp.lz"); +const u32 gMonShinyPalette_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/shiny.gbapal.lz"); +const u8 gMonIcon_Magneton[] = INCBIN_U8("graphics/pokemon/magneton/icon.4bpp"); +const u8 gMonFootprint_Magneton[] = INCBIN_U8("graphics/pokemon/magneton/footprint.1bpp"); + +const u32 gMonFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/front.4bpp.lz"); +const u32 gMonPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/normal.gbapal.lz"); +const u32 gMonBackPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/back.4bpp.lz"); +const u32 gMonShinyPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetch_d/shiny.gbapal.lz"); +const u8 gMonIcon_Farfetchd[] = INCBIN_U8("graphics/pokemon/farfetch_d/icon.4bpp"); +const u8 gMonFootprint_Farfetchd[] = INCBIN_U8("graphics/pokemon/farfetch_d/footprint.1bpp"); + +const u32 gMonFrontPic_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/front.4bpp.lz"); +const u32 gMonPalette_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/normal.gbapal.lz"); +const u32 gMonBackPic_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/back.4bpp.lz"); +const u32 gMonShinyPalette_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/shiny.gbapal.lz"); +const u8 gMonIcon_Doduo[] = INCBIN_U8("graphics/pokemon/doduo/icon.4bpp"); +const u8 gMonFootprint_Doduo[] = INCBIN_U8("graphics/pokemon/doduo/footprint.1bpp"); + +const u32 gMonFrontPic_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/front.4bpp.lz"); +const u32 gMonPalette_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/normal.gbapal.lz"); +const u32 gMonBackPic_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/back.4bpp.lz"); +const u32 gMonShinyPalette_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/shiny.gbapal.lz"); +const u8 gMonIcon_Dodrio[] = INCBIN_U8("graphics/pokemon/dodrio/icon.4bpp"); +const u8 gMonFootprint_Dodrio[] = INCBIN_U8("graphics/pokemon/dodrio/footprint.1bpp"); + +const u32 gMonFrontPic_Seel[] = INCBIN_U32("graphics/pokemon/seel/front.4bpp.lz"); +const u32 gMonPalette_Seel[] = INCBIN_U32("graphics/pokemon/seel/normal.gbapal.lz"); +const u32 gMonBackPic_Seel[] = INCBIN_U32("graphics/pokemon/seel/back.4bpp.lz"); +const u32 gMonShinyPalette_Seel[] = INCBIN_U32("graphics/pokemon/seel/shiny.gbapal.lz"); +const u8 gMonIcon_Seel[] = INCBIN_U8("graphics/pokemon/seel/icon.4bpp"); +const u8 gMonFootprint_Seel[] = INCBIN_U8("graphics/pokemon/seel/footprint.1bpp"); + +const u32 gMonFrontPic_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/front.4bpp.lz"); +const u32 gMonPalette_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/normal.gbapal.lz"); +const u32 gMonBackPic_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/back.4bpp.lz"); +const u32 gMonShinyPalette_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/shiny.gbapal.lz"); +const u8 gMonIcon_Dewgong[] = INCBIN_U8("graphics/pokemon/dewgong/icon.4bpp"); +const u8 gMonFootprint_Dewgong[] = INCBIN_U8("graphics/pokemon/dewgong/footprint.1bpp"); + +const u32 gMonFrontPic_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/front.4bpp.lz"); +const u32 gMonPalette_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/normal.gbapal.lz"); +const u32 gMonBackPic_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/back.4bpp.lz"); +const u32 gMonShinyPalette_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/shiny.gbapal.lz"); +const u8 gMonIcon_Grimer[] = INCBIN_U8("graphics/pokemon/grimer/icon.4bpp"); +const u8 gMonFootprint_Grimer[] = INCBIN_U8("graphics/pokemon/grimer/footprint.1bpp"); + +const u32 gMonFrontPic_Muk[] = INCBIN_U32("graphics/pokemon/muk/front.4bpp.lz"); +const u32 gMonPalette_Muk[] = INCBIN_U32("graphics/pokemon/muk/normal.gbapal.lz"); +const u32 gMonBackPic_Muk[] = INCBIN_U32("graphics/pokemon/muk/back.4bpp.lz"); +const u32 gMonShinyPalette_Muk[] = INCBIN_U32("graphics/pokemon/muk/shiny.gbapal.lz"); +const u8 gMonIcon_Muk[] = INCBIN_U8("graphics/pokemon/muk/icon.4bpp"); +const u8 gMonFootprint_Muk[] = INCBIN_U8("graphics/pokemon/muk/footprint.1bpp"); + +const u32 gMonFrontPic_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/front.4bpp.lz"); +const u32 gMonPalette_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/normal.gbapal.lz"); +const u32 gMonBackPic_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/back.4bpp.lz"); +const u32 gMonShinyPalette_Shellder[] = INCBIN_U32("graphics/pokemon/shellder/shiny.gbapal.lz"); +const u8 gMonIcon_Shellder[] = INCBIN_U8("graphics/pokemon/shellder/icon.4bpp"); +const u8 gMonFootprint_Shellder[] = INCBIN_U8("graphics/pokemon/shellder/footprint.1bpp"); + +const u32 gMonFrontPic_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/front.4bpp.lz"); +const u32 gMonPalette_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/normal.gbapal.lz"); +const u32 gMonBackPic_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/back.4bpp.lz"); +const u32 gMonShinyPalette_Cloyster[] = INCBIN_U32("graphics/pokemon/cloyster/shiny.gbapal.lz"); +const u8 gMonIcon_Cloyster[] = INCBIN_U8("graphics/pokemon/cloyster/icon.4bpp"); +const u8 gMonFootprint_Cloyster[] = INCBIN_U8("graphics/pokemon/cloyster/footprint.1bpp"); + +const u32 gMonFrontPic_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/front.4bpp.lz"); +const u32 gMonPalette_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/normal.gbapal.lz"); +const u32 gMonBackPic_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/back.4bpp.lz"); +const u32 gMonShinyPalette_Gastly[] = INCBIN_U32("graphics/pokemon/gastly/shiny.gbapal.lz"); +const u8 gMonIcon_Gastly[] = INCBIN_U8("graphics/pokemon/gastly/icon.4bpp"); +const u8 gMonFootprint_Gastly[] = INCBIN_U8("graphics/pokemon/gastly/footprint.1bpp"); + +const u32 gMonFrontPic_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/front.4bpp.lz"); +const u32 gMonPalette_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/normal.gbapal.lz"); +const u32 gMonBackPic_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/back.4bpp.lz"); +const u32 gMonShinyPalette_Haunter[] = INCBIN_U32("graphics/pokemon/haunter/shiny.gbapal.lz"); +const u8 gMonIcon_Haunter[] = INCBIN_U8("graphics/pokemon/haunter/icon.4bpp"); +const u8 gMonFootprint_Haunter[] = INCBIN_U8("graphics/pokemon/haunter/footprint.1bpp"); + +const u32 gMonFrontPic_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/front.4bpp.lz"); +const u32 gMonPalette_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/normal.gbapal.lz"); +const u32 gMonBackPic_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/back.4bpp.lz"); +const u32 gMonShinyPalette_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/shiny.gbapal.lz"); +const u8 gMonIcon_Gengar[] = INCBIN_U8("graphics/pokemon/gengar/icon.4bpp"); +const u8 gMonFootprint_Gengar[] = INCBIN_U8("graphics/pokemon/gengar/footprint.1bpp"); + +const u32 gMonFrontPic_Onix[] = INCBIN_U32("graphics/pokemon/onix/front.4bpp.lz"); +const u32 gMonPalette_Onix[] = INCBIN_U32("graphics/pokemon/onix/normal.gbapal.lz"); +const u32 gMonBackPic_Onix[] = INCBIN_U32("graphics/pokemon/onix/back.4bpp.lz"); +const u32 gMonShinyPalette_Onix[] = INCBIN_U32("graphics/pokemon/onix/shiny.gbapal.lz"); +const u8 gMonIcon_Onix[] = INCBIN_U8("graphics/pokemon/onix/icon.4bpp"); +const u8 gMonFootprint_Onix[] = INCBIN_U8("graphics/pokemon/onix/footprint.1bpp"); + +const u32 gMonFrontPic_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/front.4bpp.lz"); +const u32 gMonPalette_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/normal.gbapal.lz"); +const u32 gMonBackPic_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/back.4bpp.lz"); +const u32 gMonShinyPalette_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/shiny.gbapal.lz"); +const u8 gMonIcon_Drowzee[] = INCBIN_U8("graphics/pokemon/drowzee/icon.4bpp"); +const u8 gMonFootprint_Drowzee[] = INCBIN_U8("graphics/pokemon/drowzee/footprint.1bpp"); + +const u32 gMonFrontPic_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/front.4bpp.lz"); +const u32 gMonPalette_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/normal.gbapal.lz"); +const u32 gMonBackPic_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/back.4bpp.lz"); +const u32 gMonShinyPalette_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/shiny.gbapal.lz"); +const u8 gMonIcon_Hypno[] = INCBIN_U8("graphics/pokemon/hypno/icon.4bpp"); +const u8 gMonFootprint_Hypno[] = INCBIN_U8("graphics/pokemon/hypno/footprint.1bpp"); + +const u32 gMonFrontPic_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/front.4bpp.lz"); +const u32 gMonPalette_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/normal.gbapal.lz"); +const u32 gMonBackPic_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/back.4bpp.lz"); +const u32 gMonShinyPalette_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/shiny.gbapal.lz"); +const u8 gMonIcon_Krabby[] = INCBIN_U8("graphics/pokemon/krabby/icon.4bpp"); +const u8 gMonFootprint_Krabby[] = INCBIN_U8("graphics/pokemon/krabby/footprint.1bpp"); + +const u32 gMonFrontPic_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/front.4bpp.lz"); +const u32 gMonPalette_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/normal.gbapal.lz"); +const u32 gMonBackPic_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/back.4bpp.lz"); +const u32 gMonShinyPalette_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/shiny.gbapal.lz"); +const u8 gMonIcon_Kingler[] = INCBIN_U8("graphics/pokemon/kingler/icon.4bpp"); +const u8 gMonFootprint_Kingler[] = INCBIN_U8("graphics/pokemon/kingler/footprint.1bpp"); + +const u32 gMonFrontPic_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/front.4bpp.lz"); +const u32 gMonPalette_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/normal.gbapal.lz"); +const u32 gMonBackPic_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/back.4bpp.lz"); +const u32 gMonShinyPalette_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/shiny.gbapal.lz"); +const u8 gMonIcon_Voltorb[] = INCBIN_U8("graphics/pokemon/voltorb/icon.4bpp"); +const u8 gMonFootprint_Voltorb[] = INCBIN_U8("graphics/pokemon/voltorb/footprint.1bpp"); + +const u32 gMonFrontPic_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/front.4bpp.lz"); +const u32 gMonPalette_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/normal.gbapal.lz"); +const u32 gMonBackPic_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/back.4bpp.lz"); +const u32 gMonShinyPalette_Electrode[] = INCBIN_U32("graphics/pokemon/electrode/shiny.gbapal.lz"); +const u8 gMonIcon_Electrode[] = INCBIN_U8("graphics/pokemon/electrode/icon.4bpp"); +const u8 gMonFootprint_Electrode[] = INCBIN_U8("graphics/pokemon/electrode/footprint.1bpp"); + +const u32 gMonFrontPic_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/front.4bpp.lz"); +const u32 gMonPalette_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/normal.gbapal.lz"); +const u32 gMonBackPic_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/back.4bpp.lz"); +const u32 gMonShinyPalette_Exeggcute[] = INCBIN_U32("graphics/pokemon/exeggcute/shiny.gbapal.lz"); +const u8 gMonIcon_Exeggcute[] = INCBIN_U8("graphics/pokemon/exeggcute/icon.4bpp"); +const u8 gMonFootprint_Exeggcute[] = INCBIN_U8("graphics/pokemon/exeggcute/footprint.1bpp"); + +const u32 gMonFrontPic_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/front.4bpp.lz"); +const u32 gMonPalette_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/normal.gbapal.lz"); +const u32 gMonBackPic_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/back.4bpp.lz"); +const u32 gMonShinyPalette_Exeggutor[] = INCBIN_U32("graphics/pokemon/exeggutor/shiny.gbapal.lz"); +const u8 gMonIcon_Exeggutor[] = INCBIN_U8("graphics/pokemon/exeggutor/icon.4bpp"); +const u8 gMonFootprint_Exeggutor[] = INCBIN_U8("graphics/pokemon/exeggutor/footprint.1bpp"); + +const u32 gMonFrontPic_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/front.4bpp.lz"); +const u32 gMonPalette_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/normal.gbapal.lz"); +const u32 gMonBackPic_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/back.4bpp.lz"); +const u32 gMonShinyPalette_Cubone[] = INCBIN_U32("graphics/pokemon/cubone/shiny.gbapal.lz"); +const u8 gMonIcon_Cubone[] = INCBIN_U8("graphics/pokemon/cubone/icon.4bpp"); +const u8 gMonFootprint_Cubone[] = INCBIN_U8("graphics/pokemon/cubone/footprint.1bpp"); + +const u32 gMonFrontPic_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/front.4bpp.lz"); +const u32 gMonPalette_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/normal.gbapal.lz"); +const u32 gMonBackPic_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/back.4bpp.lz"); +const u32 gMonShinyPalette_Marowak[] = INCBIN_U32("graphics/pokemon/marowak/shiny.gbapal.lz"); +const u8 gMonIcon_Marowak[] = INCBIN_U8("graphics/pokemon/marowak/icon.4bpp"); +const u8 gMonFootprint_Marowak[] = INCBIN_U8("graphics/pokemon/marowak/footprint.1bpp"); + +const u32 gMonFrontPic_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/front.4bpp.lz"); +const u32 gMonPalette_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/normal.gbapal.lz"); +const u32 gMonBackPic_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/back.4bpp.lz"); +const u32 gMonShinyPalette_Hitmonlee[] = INCBIN_U32("graphics/pokemon/hitmonlee/shiny.gbapal.lz"); +const u8 gMonIcon_Hitmonlee[] = INCBIN_U8("graphics/pokemon/hitmonlee/icon.4bpp"); +const u8 gMonFootprint_Hitmonlee[] = INCBIN_U8("graphics/pokemon/hitmonlee/footprint.1bpp"); + +const u32 gMonFrontPic_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/front.4bpp.lz"); +const u32 gMonPalette_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/normal.gbapal.lz"); +const u32 gMonBackPic_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/back.4bpp.lz"); +const u32 gMonShinyPalette_Hitmonchan[] = INCBIN_U32("graphics/pokemon/hitmonchan/shiny.gbapal.lz"); +const u8 gMonIcon_Hitmonchan[] = INCBIN_U8("graphics/pokemon/hitmonchan/icon.4bpp"); +const u8 gMonFootprint_Hitmonchan[] = INCBIN_U8("graphics/pokemon/hitmonchan/footprint.1bpp"); + +const u32 gMonFrontPic_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/front.4bpp.lz"); +const u32 gMonPalette_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/normal.gbapal.lz"); +const u32 gMonBackPic_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/back.4bpp.lz"); +const u32 gMonShinyPalette_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/shiny.gbapal.lz"); +const u8 gMonIcon_Lickitung[] = INCBIN_U8("graphics/pokemon/lickitung/icon.4bpp"); +const u8 gMonFootprint_Lickitung[] = INCBIN_U8("graphics/pokemon/lickitung/footprint.1bpp"); + +const u32 gMonFrontPic_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/front.4bpp.lz"); +const u32 gMonPalette_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/normal.gbapal.lz"); +const u32 gMonBackPic_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/back.4bpp.lz"); +const u32 gMonShinyPalette_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/shiny.gbapal.lz"); +const u8 gMonIcon_Koffing[] = INCBIN_U8("graphics/pokemon/koffing/icon.4bpp"); +const u8 gMonFootprint_Koffing[] = INCBIN_U8("graphics/pokemon/koffing/footprint.1bpp"); + +const u32 gMonFrontPic_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/front.4bpp.lz"); +const u32 gMonPalette_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/normal.gbapal.lz"); +const u32 gMonBackPic_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/back.4bpp.lz"); +const u32 gMonShinyPalette_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/shiny.gbapal.lz"); +const u8 gMonIcon_Weezing[] = INCBIN_U8("graphics/pokemon/weezing/icon.4bpp"); +const u8 gMonFootprint_Weezing[] = INCBIN_U8("graphics/pokemon/weezing/footprint.1bpp"); + +const u32 gMonFrontPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/front.4bpp.lz"); +const u32 gMonPalette_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/normal.gbapal.lz"); +const u32 gMonBackPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/back.4bpp.lz"); +const u32 gMonShinyPalette_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/shiny.gbapal.lz"); +const u8 gMonIcon_Rhyhorn[] = INCBIN_U8("graphics/pokemon/rhyhorn/icon.4bpp"); +const u8 gMonFootprint_Rhyhorn[] = INCBIN_U8("graphics/pokemon/rhyhorn/footprint.1bpp"); + +const u32 gMonFrontPic_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/front.4bpp.lz"); +const u32 gMonPalette_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/normal.gbapal.lz"); +const u32 gMonBackPic_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/back.4bpp.lz"); +const u32 gMonShinyPalette_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/shiny.gbapal.lz"); +const u8 gMonIcon_Rhydon[] = INCBIN_U8("graphics/pokemon/rhydon/icon.4bpp"); +const u8 gMonFootprint_Rhydon[] = INCBIN_U8("graphics/pokemon/rhydon/footprint.1bpp"); + +const u32 gMonFrontPic_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/front.4bpp.lz"); +const u32 gMonPalette_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/normal.gbapal.lz"); +const u32 gMonBackPic_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/back.4bpp.lz"); +const u32 gMonShinyPalette_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/shiny.gbapal.lz"); +const u8 gMonIcon_Chansey[] = INCBIN_U8("graphics/pokemon/chansey/icon.4bpp"); +const u8 gMonFootprint_Chansey[] = INCBIN_U8("graphics/pokemon/chansey/footprint.1bpp"); + +const u32 gMonFrontPic_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/front.4bpp.lz"); +const u32 gMonPalette_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/normal.gbapal.lz"); +const u32 gMonBackPic_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/back.4bpp.lz"); +const u32 gMonShinyPalette_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/shiny.gbapal.lz"); +const u8 gMonIcon_Tangela[] = INCBIN_U8("graphics/pokemon/tangela/icon.4bpp"); +const u8 gMonFootprint_Tangela[] = INCBIN_U8("graphics/pokemon/tangela/footprint.1bpp"); + +const u32 gMonFrontPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/front.4bpp.lz"); +const u32 gMonPalette_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/normal.gbapal.lz"); +const u32 gMonBackPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/back.4bpp.lz"); +const u32 gMonShinyPalette_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/shiny.gbapal.lz"); +const u8 gMonIcon_Kangaskhan[] = INCBIN_U8("graphics/pokemon/kangaskhan/icon.4bpp"); +const u8 gMonFootprint_Kangaskhan[] = INCBIN_U8("graphics/pokemon/kangaskhan/footprint.1bpp"); + +const u32 gMonFrontPic_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/front.4bpp.lz"); +const u32 gMonPalette_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/normal.gbapal.lz"); +const u32 gMonBackPic_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/back.4bpp.lz"); +const u32 gMonShinyPalette_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/shiny.gbapal.lz"); +const u8 gMonIcon_Horsea[] = INCBIN_U8("graphics/pokemon/horsea/icon.4bpp"); +const u8 gMonFootprint_Horsea[] = INCBIN_U8("graphics/pokemon/horsea/footprint.1bpp"); + +const u32 gMonFrontPic_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/front.4bpp.lz"); +const u32 gMonPalette_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/normal.gbapal.lz"); +const u32 gMonBackPic_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/back.4bpp.lz"); +const u32 gMonShinyPalette_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/shiny.gbapal.lz"); +const u8 gMonIcon_Seadra[] = INCBIN_U8("graphics/pokemon/seadra/icon.4bpp"); +const u8 gMonFootprint_Seadra[] = INCBIN_U8("graphics/pokemon/seadra/footprint.1bpp"); + +const u32 gMonFrontPic_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/front.4bpp.lz"); +const u32 gMonPalette_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/normal.gbapal.lz"); +const u32 gMonBackPic_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/back.4bpp.lz"); +const u32 gMonShinyPalette_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/shiny.gbapal.lz"); +const u8 gMonIcon_Goldeen[] = INCBIN_U8("graphics/pokemon/goldeen/icon.4bpp"); +const u8 gMonFootprint_Goldeen[] = INCBIN_U8("graphics/pokemon/goldeen/footprint.1bpp"); + +const u32 gMonFrontPic_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/front.4bpp.lz"); +const u32 gMonPalette_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/normal.gbapal.lz"); +const u32 gMonBackPic_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/back.4bpp.lz"); +const u32 gMonShinyPalette_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/shiny.gbapal.lz"); +const u8 gMonIcon_Seaking[] = INCBIN_U8("graphics/pokemon/seaking/icon.4bpp"); +const u8 gMonFootprint_Seaking[] = INCBIN_U8("graphics/pokemon/seaking/footprint.1bpp"); + +const u32 gMonFrontPic_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/front.4bpp.lz"); +const u32 gMonPalette_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/normal.gbapal.lz"); +const u32 gMonBackPic_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/back.4bpp.lz"); +const u32 gMonShinyPalette_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/shiny.gbapal.lz"); +const u8 gMonIcon_Staryu[] = INCBIN_U8("graphics/pokemon/staryu/icon.4bpp"); +const u8 gMonFootprint_Staryu[] = INCBIN_U8("graphics/pokemon/staryu/footprint.1bpp"); + +const u32 gMonFrontPic_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/front.4bpp.lz"); +const u32 gMonPalette_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/normal.gbapal.lz"); +const u32 gMonBackPic_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/back.4bpp.lz"); +const u32 gMonShinyPalette_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/shiny.gbapal.lz"); +const u8 gMonIcon_Starmie[] = INCBIN_U8("graphics/pokemon/starmie/icon.4bpp"); +const u8 gMonFootprint_Starmie[] = INCBIN_U8("graphics/pokemon/starmie/footprint.1bpp"); + +const u32 gMonFrontPic_Mrmime[] = INCBIN_U32("graphics/pokemon/mr_mime/front.4bpp.lz"); +const u32 gMonPalette_Mrmime[] = INCBIN_U32("graphics/pokemon/mr_mime/normal.gbapal.lz"); +const u32 gMonBackPic_Mrmime[] = INCBIN_U32("graphics/pokemon/mr_mime/back.4bpp.lz"); +const u32 gMonShinyPalette_Mrmime[] = INCBIN_U32("graphics/pokemon/mr_mime/shiny.gbapal.lz"); +const u8 gMonIcon_Mrmime[] = INCBIN_U8("graphics/pokemon/mr_mime/icon.4bpp"); +const u8 gMonFootprint_Mrmime[] = INCBIN_U8("graphics/pokemon/mr_mime/footprint.1bpp"); + +const u32 gMonFrontPic_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/front.4bpp.lz"); +const u32 gMonPalette_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/normal.gbapal.lz"); +const u32 gMonBackPic_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/back.4bpp.lz"); +const u32 gMonShinyPalette_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/shiny.gbapal.lz"); +const u8 gMonIcon_Scyther[] = INCBIN_U8("graphics/pokemon/scyther/icon.4bpp"); +const u8 gMonFootprint_Scyther[] = INCBIN_U8("graphics/pokemon/scyther/footprint.1bpp"); + +const u32 gMonFrontPic_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/front.4bpp.lz"); +const u32 gMonPalette_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/normal.gbapal.lz"); +const u32 gMonBackPic_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/back.4bpp.lz"); +const u32 gMonShinyPalette_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/shiny.gbapal.lz"); +const u8 gMonIcon_Jynx[] = INCBIN_U8("graphics/pokemon/jynx/icon.4bpp"); +const u8 gMonFootprint_Jynx[] = INCBIN_U8("graphics/pokemon/jynx/footprint.1bpp"); + +const u32 gMonFrontPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/front.4bpp.lz"); +const u32 gMonPalette_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/normal.gbapal.lz"); +const u32 gMonBackPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/back.4bpp.lz"); +const u32 gMonShinyPalette_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/shiny.gbapal.lz"); +const u8 gMonIcon_Electabuzz[] = INCBIN_U8("graphics/pokemon/electabuzz/icon.4bpp"); +const u8 gMonFootprint_Electabuzz[] = INCBIN_U8("graphics/pokemon/electabuzz/footprint.1bpp"); + +const u32 gMonFrontPic_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/front.4bpp.lz"); +const u32 gMonPalette_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/normal.gbapal.lz"); +const u32 gMonBackPic_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/back.4bpp.lz"); +const u32 gMonShinyPalette_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/shiny.gbapal.lz"); +const u8 gMonIcon_Magmar[] = INCBIN_U8("graphics/pokemon/magmar/icon.4bpp"); +const u8 gMonFootprint_Magmar[] = INCBIN_U8("graphics/pokemon/magmar/footprint.1bpp"); + +const u32 gMonFrontPic_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/front.4bpp.lz"); +const u32 gMonPalette_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/normal.gbapal.lz"); +const u32 gMonBackPic_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/back.4bpp.lz"); +const u32 gMonShinyPalette_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/shiny.gbapal.lz"); +const u8 gMonIcon_Pinsir[] = INCBIN_U8("graphics/pokemon/pinsir/icon.4bpp"); +const u8 gMonFootprint_Pinsir[] = INCBIN_U8("graphics/pokemon/pinsir/footprint.1bpp"); + +const u32 gMonFrontPic_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/front.4bpp.lz"); +const u32 gMonPalette_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/normal.gbapal.lz"); +const u32 gMonBackPic_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/back.4bpp.lz"); +const u32 gMonShinyPalette_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/shiny.gbapal.lz"); +const u8 gMonIcon_Tauros[] = INCBIN_U8("graphics/pokemon/tauros/icon.4bpp"); +const u8 gMonFootprint_Tauros[] = INCBIN_U8("graphics/pokemon/tauros/footprint.1bpp"); + +const u32 gMonFrontPic_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/front.4bpp.lz"); +const u32 gMonPalette_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/normal.gbapal.lz"); +const u32 gMonBackPic_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/back.4bpp.lz"); +const u32 gMonShinyPalette_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/shiny.gbapal.lz"); +const u8 gMonIcon_Magikarp[] = INCBIN_U8("graphics/pokemon/magikarp/icon.4bpp"); +const u8 gMonFootprint_Magikarp[] = INCBIN_U8("graphics/pokemon/magikarp/footprint.1bpp"); + +const u32 gMonFrontPic_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/front.4bpp.lz"); +const u32 gMonPalette_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/normal.gbapal.lz"); +const u32 gMonBackPic_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/back.4bpp.lz"); +const u32 gMonShinyPalette_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/shiny.gbapal.lz"); +const u8 gMonIcon_Gyarados[] = INCBIN_U8("graphics/pokemon/gyarados/icon.4bpp"); +const u8 gMonFootprint_Gyarados[] = INCBIN_U8("graphics/pokemon/gyarados/footprint.1bpp"); + +const u32 gMonFrontPic_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/front.4bpp.lz"); +const u32 gMonPalette_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/normal.gbapal.lz"); +const u32 gMonBackPic_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/back.4bpp.lz"); +const u32 gMonShinyPalette_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/shiny.gbapal.lz"); +const u8 gMonIcon_Lapras[] = INCBIN_U8("graphics/pokemon/lapras/icon.4bpp"); +const u8 gMonFootprint_Lapras[] = INCBIN_U8("graphics/pokemon/lapras/footprint.1bpp"); + +const u32 gMonFrontPic_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/front.4bpp.lz"); +const u32 gMonPalette_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/normal.gbapal.lz"); +const u32 gMonBackPic_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/back.4bpp.lz"); +const u32 gMonShinyPalette_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/shiny.gbapal.lz"); +const u8 gMonIcon_Ditto[] = INCBIN_U8("graphics/pokemon/ditto/icon.4bpp"); +const u8 gMonFootprint_Ditto[] = INCBIN_U8("graphics/pokemon/ditto/footprint.1bpp"); + +const u32 gMonFrontPic_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/front.4bpp.lz"); +const u32 gMonPalette_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/normal.gbapal.lz"); +const u32 gMonBackPic_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/back.4bpp.lz"); +const u32 gMonShinyPalette_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/shiny.gbapal.lz"); +const u8 gMonIcon_Eevee[] = INCBIN_U8("graphics/pokemon/eevee/icon.4bpp"); +const u8 gMonFootprint_Eevee[] = INCBIN_U8("graphics/pokemon/eevee/footprint.1bpp"); + +const u32 gMonFrontPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/front.4bpp.lz"); +const u32 gMonPalette_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/normal.gbapal.lz"); +const u32 gMonBackPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/back.4bpp.lz"); +const u32 gMonShinyPalette_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/shiny.gbapal.lz"); +const u8 gMonIcon_Vaporeon[] = INCBIN_U8("graphics/pokemon/vaporeon/icon.4bpp"); +const u8 gMonFootprint_Vaporeon[] = INCBIN_U8("graphics/pokemon/vaporeon/footprint.1bpp"); + +const u32 gMonFrontPic_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/front.4bpp.lz"); +const u32 gMonPalette_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/normal.gbapal.lz"); +const u32 gMonBackPic_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/back.4bpp.lz"); +const u32 gMonShinyPalette_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/shiny.gbapal.lz"); +const u8 gMonIcon_Jolteon[] = INCBIN_U8("graphics/pokemon/jolteon/icon.4bpp"); +const u8 gMonFootprint_Jolteon[] = INCBIN_U8("graphics/pokemon/jolteon/footprint.1bpp"); + +const u32 gMonFrontPic_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/front.4bpp.lz"); +const u32 gMonPalette_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/normal.gbapal.lz"); +const u32 gMonBackPic_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/back.4bpp.lz"); +const u32 gMonShinyPalette_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/shiny.gbapal.lz"); +const u8 gMonIcon_Flareon[] = INCBIN_U8("graphics/pokemon/flareon/icon.4bpp"); +const u8 gMonFootprint_Flareon[] = INCBIN_U8("graphics/pokemon/flareon/footprint.1bpp"); + +const u32 gMonFrontPic_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/front.4bpp.lz"); +const u32 gMonPalette_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/normal.gbapal.lz"); +const u32 gMonBackPic_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/back.4bpp.lz"); +const u32 gMonShinyPalette_Porygon[] = INCBIN_U32("graphics/pokemon/porygon/shiny.gbapal.lz"); +const u8 gMonIcon_Porygon[] = INCBIN_U8("graphics/pokemon/porygon/icon.4bpp"); +const u8 gMonFootprint_Porygon[] = INCBIN_U8("graphics/pokemon/porygon/footprint.1bpp"); + +const u32 gMonFrontPic_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/front.4bpp.lz"); +const u32 gMonPalette_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/normal.gbapal.lz"); +const u32 gMonBackPic_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/back.4bpp.lz"); +const u32 gMonShinyPalette_Omanyte[] = INCBIN_U32("graphics/pokemon/omanyte/shiny.gbapal.lz"); +const u8 gMonIcon_Omanyte[] = INCBIN_U8("graphics/pokemon/omanyte/icon.4bpp"); +const u8 gMonFootprint_Omanyte[] = INCBIN_U8("graphics/pokemon/omanyte/footprint.1bpp"); + +const u32 gMonFrontPic_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/front.4bpp.lz"); +const u32 gMonPalette_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/normal.gbapal.lz"); +const u32 gMonBackPic_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/back.4bpp.lz"); +const u32 gMonShinyPalette_Omastar[] = INCBIN_U32("graphics/pokemon/omastar/shiny.gbapal.lz"); +const u8 gMonIcon_Omastar[] = INCBIN_U8("graphics/pokemon/omastar/icon.4bpp"); +const u8 gMonFootprint_Omastar[] = INCBIN_U8("graphics/pokemon/omastar/footprint.1bpp"); + +const u32 gMonFrontPic_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/front.4bpp.lz"); +const u32 gMonPalette_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/normal.gbapal.lz"); +const u32 gMonBackPic_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/back.4bpp.lz"); +const u32 gMonShinyPalette_Kabuto[] = INCBIN_U32("graphics/pokemon/kabuto/shiny.gbapal.lz"); +const u8 gMonIcon_Kabuto[] = INCBIN_U8("graphics/pokemon/kabuto/icon.4bpp"); +const u8 gMonFootprint_Kabuto[] = INCBIN_U8("graphics/pokemon/kabuto/footprint.1bpp"); + +const u32 gMonFrontPic_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/front.4bpp.lz"); +const u32 gMonPalette_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/normal.gbapal.lz"); +const u32 gMonBackPic_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/back.4bpp.lz"); +const u32 gMonShinyPalette_Kabutops[] = INCBIN_U32("graphics/pokemon/kabutops/shiny.gbapal.lz"); +const u8 gMonIcon_Kabutops[] = INCBIN_U8("graphics/pokemon/kabutops/icon.4bpp"); +const u8 gMonFootprint_Kabutops[] = INCBIN_U8("graphics/pokemon/kabutops/footprint.1bpp"); + +const u32 gMonFrontPic_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/front.4bpp.lz"); +const u32 gMonPalette_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/normal.gbapal.lz"); +const u32 gMonBackPic_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/back.4bpp.lz"); +const u32 gMonShinyPalette_Aerodactyl[] = INCBIN_U32("graphics/pokemon/aerodactyl/shiny.gbapal.lz"); +const u8 gMonIcon_Aerodactyl[] = INCBIN_U8("graphics/pokemon/aerodactyl/icon.4bpp"); +const u8 gMonFootprint_Aerodactyl[] = INCBIN_U8("graphics/pokemon/aerodactyl/footprint.1bpp"); + +const u32 gMonFrontPic_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/front.4bpp.lz"); +const u32 gMonPalette_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/normal.gbapal.lz"); +const u32 gMonBackPic_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/back.4bpp.lz"); +const u32 gMonShinyPalette_Snorlax[] = INCBIN_U32("graphics/pokemon/snorlax/shiny.gbapal.lz"); +const u8 gMonIcon_Snorlax[] = INCBIN_U8("graphics/pokemon/snorlax/icon.4bpp"); +const u8 gMonFootprint_Snorlax[] = INCBIN_U8("graphics/pokemon/snorlax/footprint.1bpp"); + +const u32 gMonFrontPic_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/front.4bpp.lz"); +const u32 gMonPalette_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/normal.gbapal.lz"); +const u32 gMonBackPic_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/back.4bpp.lz"); +const u32 gMonShinyPalette_Articuno[] = INCBIN_U32("graphics/pokemon/articuno/shiny.gbapal.lz"); +const u8 gMonIcon_Articuno[] = INCBIN_U8("graphics/pokemon/articuno/icon.4bpp"); +const u8 gMonFootprint_Articuno[] = INCBIN_U8("graphics/pokemon/articuno/footprint.1bpp"); + +const u32 gMonFrontPic_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/front.4bpp.lz"); +const u32 gMonPalette_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/normal.gbapal.lz"); +const u32 gMonBackPic_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/back.4bpp.lz"); +const u32 gMonShinyPalette_Zapdos[] = INCBIN_U32("graphics/pokemon/zapdos/shiny.gbapal.lz"); +const u8 gMonIcon_Zapdos[] = INCBIN_U8("graphics/pokemon/zapdos/icon.4bpp"); +const u8 gMonFootprint_Zapdos[] = INCBIN_U8("graphics/pokemon/zapdos/footprint.1bpp"); + +const u32 gMonFrontPic_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/front.4bpp.lz"); +const u32 gMonPalette_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/normal.gbapal.lz"); +const u32 gMonBackPic_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/back.4bpp.lz"); +const u32 gMonShinyPalette_Moltres[] = INCBIN_U32("graphics/pokemon/moltres/shiny.gbapal.lz"); +const u8 gMonIcon_Moltres[] = INCBIN_U8("graphics/pokemon/moltres/icon.4bpp"); +const u8 gMonFootprint_Moltres[] = INCBIN_U8("graphics/pokemon/moltres/footprint.1bpp"); + +const u32 gMonFrontPic_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/front.4bpp.lz"); +const u32 gMonPalette_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/normal.gbapal.lz"); +const u32 gMonBackPic_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/back.4bpp.lz"); +const u32 gMonShinyPalette_Dratini[] = INCBIN_U32("graphics/pokemon/dratini/shiny.gbapal.lz"); +const u8 gMonIcon_Dratini[] = INCBIN_U8("graphics/pokemon/dratini/icon.4bpp"); +const u8 gMonFootprint_Dratini[] = INCBIN_U8("graphics/pokemon/dratini/footprint.1bpp"); + +const u32 gMonFrontPic_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/front.4bpp.lz"); +const u32 gMonPalette_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/normal.gbapal.lz"); +const u32 gMonBackPic_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/back.4bpp.lz"); +const u32 gMonShinyPalette_Dragonair[] = INCBIN_U32("graphics/pokemon/dragonair/shiny.gbapal.lz"); +const u8 gMonIcon_Dragonair[] = INCBIN_U8("graphics/pokemon/dragonair/icon.4bpp"); +const u8 gMonFootprint_Dragonair[] = INCBIN_U8("graphics/pokemon/dragonair/footprint.1bpp"); + +const u32 gMonFrontPic_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/front.4bpp.lz"); +const u32 gMonPalette_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/normal.gbapal.lz"); +const u32 gMonBackPic_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/back.4bpp.lz"); +const u32 gMonShinyPalette_Dragonite[] = INCBIN_U32("graphics/pokemon/dragonite/shiny.gbapal.lz"); +const u8 gMonIcon_Dragonite[] = INCBIN_U8("graphics/pokemon/dragonite/icon.4bpp"); +const u8 gMonFootprint_Dragonite[] = INCBIN_U8("graphics/pokemon/dragonite/footprint.1bpp"); + +const u32 gMonFrontPic_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/front.4bpp.lz"); +const u32 gMonPalette_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/normal.gbapal.lz"); +const u32 gMonBackPic_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/back.4bpp.lz"); +const u32 gMonShinyPalette_Mewtwo[] = INCBIN_U32("graphics/pokemon/mewtwo/shiny.gbapal.lz"); +const u8 gMonIcon_Mewtwo[] = INCBIN_U8("graphics/pokemon/mewtwo/icon.4bpp"); +const u8 gMonFootprint_Mewtwo[] = INCBIN_U8("graphics/pokemon/mewtwo/footprint.1bpp"); + +const u32 gMonFrontPic_Mew[] = INCBIN_U32("graphics/pokemon/mew/front.4bpp.lz"); +const u32 gMonPalette_Mew[] = INCBIN_U32("graphics/pokemon/mew/normal.gbapal.lz"); +const u32 gMonBackPic_Mew[] = INCBIN_U32("graphics/pokemon/mew/back.4bpp.lz"); +const u32 gMonShinyPalette_Mew[] = INCBIN_U32("graphics/pokemon/mew/shiny.gbapal.lz"); +const u8 gMonIcon_Mew[] = INCBIN_U8("graphics/pokemon/mew/icon.4bpp"); +const u8 gMonFootprint_Mew[] = INCBIN_U8("graphics/pokemon/mew/footprint.1bpp"); + +const u32 gMonFrontPic_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/front.4bpp.lz"); +const u32 gMonPalette_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/normal.gbapal.lz"); +const u32 gMonBackPic_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/back.4bpp.lz"); +const u32 gMonShinyPalette_Chikorita[] = INCBIN_U32("graphics/pokemon/chikorita/shiny.gbapal.lz"); +const u8 gMonIcon_Chikorita[] = INCBIN_U8("graphics/pokemon/chikorita/icon.4bpp"); +const u8 gMonFootprint_Chikorita[] = INCBIN_U8("graphics/pokemon/chikorita/footprint.1bpp"); + +const u32 gMonFrontPic_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/front.4bpp.lz"); +const u32 gMonPalette_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/normal.gbapal.lz"); +const u32 gMonBackPic_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/back.4bpp.lz"); +const u32 gMonShinyPalette_Bayleef[] = INCBIN_U32("graphics/pokemon/bayleef/shiny.gbapal.lz"); +const u8 gMonIcon_Bayleef[] = INCBIN_U8("graphics/pokemon/bayleef/icon.4bpp"); +const u8 gMonFootprint_Bayleef[] = INCBIN_U8("graphics/pokemon/bayleef/footprint.1bpp"); + +const u32 gMonFrontPic_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/front.4bpp.lz"); +const u32 gMonPalette_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/normal.gbapal.lz"); +const u32 gMonBackPic_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/back.4bpp.lz"); +const u32 gMonShinyPalette_Meganium[] = INCBIN_U32("graphics/pokemon/meganium/shiny.gbapal.lz"); +const u8 gMonIcon_Meganium[] = INCBIN_U8("graphics/pokemon/meganium/icon.4bpp"); +const u8 gMonFootprint_Meganium[] = INCBIN_U8("graphics/pokemon/meganium/footprint.1bpp"); + +const u32 gMonFrontPic_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/front.4bpp.lz"); +const u32 gMonPalette_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/normal.gbapal.lz"); +const u32 gMonBackPic_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/back.4bpp.lz"); +const u32 gMonShinyPalette_Cyndaquil[] = INCBIN_U32("graphics/pokemon/cyndaquil/shiny.gbapal.lz"); +const u8 gMonIcon_Cyndaquil[] = INCBIN_U8("graphics/pokemon/cyndaquil/icon.4bpp"); +const u8 gMonFootprint_Cyndaquil[] = INCBIN_U8("graphics/pokemon/cyndaquil/footprint.1bpp"); + +const u32 gMonFrontPic_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/front.4bpp.lz"); +const u32 gMonPalette_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/normal.gbapal.lz"); +const u32 gMonBackPic_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/back.4bpp.lz"); +const u32 gMonShinyPalette_Quilava[] = INCBIN_U32("graphics/pokemon/quilava/shiny.gbapal.lz"); +const u8 gMonIcon_Quilava[] = INCBIN_U8("graphics/pokemon/quilava/icon.4bpp"); +const u8 gMonFootprint_Quilava[] = INCBIN_U8("graphics/pokemon/quilava/footprint.1bpp"); + +const u32 gMonFrontPic_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/front.4bpp.lz"); +const u32 gMonPalette_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/normal.gbapal.lz"); +const u32 gMonBackPic_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/back.4bpp.lz"); +const u32 gMonShinyPalette_Typhlosion[] = INCBIN_U32("graphics/pokemon/typhlosion/shiny.gbapal.lz"); +const u8 gMonIcon_Typhlosion[] = INCBIN_U8("graphics/pokemon/typhlosion/icon.4bpp"); +const u8 gMonFootprint_Typhlosion[] = INCBIN_U8("graphics/pokemon/typhlosion/footprint.1bpp"); + +const u32 gMonFrontPic_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/front.4bpp.lz"); +const u32 gMonPalette_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/normal.gbapal.lz"); +const u32 gMonBackPic_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/back.4bpp.lz"); +const u32 gMonShinyPalette_Totodile[] = INCBIN_U32("graphics/pokemon/totodile/shiny.gbapal.lz"); +const u8 gMonIcon_Totodile[] = INCBIN_U8("graphics/pokemon/totodile/icon.4bpp"); +const u8 gMonFootprint_Totodile[] = INCBIN_U8("graphics/pokemon/totodile/footprint.1bpp"); + +const u32 gMonFrontPic_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/front.4bpp.lz"); +const u32 gMonPalette_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/normal.gbapal.lz"); +const u32 gMonBackPic_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/back.4bpp.lz"); +const u32 gMonShinyPalette_Croconaw[] = INCBIN_U32("graphics/pokemon/croconaw/shiny.gbapal.lz"); +const u8 gMonIcon_Croconaw[] = INCBIN_U8("graphics/pokemon/croconaw/icon.4bpp"); +const u8 gMonFootprint_Croconaw[] = INCBIN_U8("graphics/pokemon/croconaw/footprint.1bpp"); + +const u32 gMonFrontPic_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/front.4bpp.lz"); +const u32 gMonPalette_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/normal.gbapal.lz"); +const u32 gMonBackPic_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/back.4bpp.lz"); +const u32 gMonShinyPalette_Feraligatr[] = INCBIN_U32("graphics/pokemon/feraligatr/shiny.gbapal.lz"); +const u8 gMonIcon_Feraligatr[] = INCBIN_U8("graphics/pokemon/feraligatr/icon.4bpp"); +const u8 gMonFootprint_Feraligatr[] = INCBIN_U8("graphics/pokemon/feraligatr/footprint.1bpp"); + +const u32 gMonFrontPic_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/front.4bpp.lz"); +const u32 gMonPalette_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/normal.gbapal.lz"); +const u32 gMonBackPic_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/back.4bpp.lz"); +const u32 gMonShinyPalette_Sentret[] = INCBIN_U32("graphics/pokemon/sentret/shiny.gbapal.lz"); +const u8 gMonIcon_Sentret[] = INCBIN_U8("graphics/pokemon/sentret/icon.4bpp"); +const u8 gMonFootprint_Sentret[] = INCBIN_U8("graphics/pokemon/sentret/footprint.1bpp"); + +const u32 gMonFrontPic_Furret[] = INCBIN_U32("graphics/pokemon/furret/front.4bpp.lz"); +const u32 gMonPalette_Furret[] = INCBIN_U32("graphics/pokemon/furret/normal.gbapal.lz"); +const u32 gMonBackPic_Furret[] = INCBIN_U32("graphics/pokemon/furret/back.4bpp.lz"); +const u32 gMonShinyPalette_Furret[] = INCBIN_U32("graphics/pokemon/furret/shiny.gbapal.lz"); +const u8 gMonIcon_Furret[] = INCBIN_U8("graphics/pokemon/furret/icon.4bpp"); +const u8 gMonFootprint_Furret[] = INCBIN_U8("graphics/pokemon/furret/footprint.1bpp"); + +const u32 gMonFrontPic_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/front.4bpp.lz"); +const u32 gMonPalette_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/normal.gbapal.lz"); +const u32 gMonBackPic_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/back.4bpp.lz"); +const u32 gMonShinyPalette_Hoothoot[] = INCBIN_U32("graphics/pokemon/hoothoot/shiny.gbapal.lz"); +const u8 gMonIcon_Hoothoot[] = INCBIN_U8("graphics/pokemon/hoothoot/icon.4bpp"); +const u8 gMonFootprint_Hoothoot[] = INCBIN_U8("graphics/pokemon/hoothoot/footprint.1bpp"); + +const u32 gMonFrontPic_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/front.4bpp.lz"); +const u32 gMonPalette_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/normal.gbapal.lz"); +const u32 gMonBackPic_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/back.4bpp.lz"); +const u32 gMonShinyPalette_Noctowl[] = INCBIN_U32("graphics/pokemon/noctowl/shiny.gbapal.lz"); +const u8 gMonIcon_Noctowl[] = INCBIN_U8("graphics/pokemon/noctowl/icon.4bpp"); +const u8 gMonFootprint_Noctowl[] = INCBIN_U8("graphics/pokemon/noctowl/footprint.1bpp"); + +const u32 gMonFrontPic_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/front.4bpp.lz"); +const u32 gMonPalette_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/normal.gbapal.lz"); +const u32 gMonBackPic_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/back.4bpp.lz"); +const u32 gMonShinyPalette_Ledyba[] = INCBIN_U32("graphics/pokemon/ledyba/shiny.gbapal.lz"); +const u8 gMonIcon_Ledyba[] = INCBIN_U8("graphics/pokemon/ledyba/icon.4bpp"); +const u8 gMonFootprint_Ledyba[] = INCBIN_U8("graphics/pokemon/ledyba/footprint.1bpp"); + +const u32 gMonFrontPic_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/front.4bpp.lz"); +const u32 gMonPalette_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/normal.gbapal.lz"); +const u32 gMonBackPic_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/back.4bpp.lz"); +const u32 gMonShinyPalette_Ledian[] = INCBIN_U32("graphics/pokemon/ledian/shiny.gbapal.lz"); +const u8 gMonIcon_Ledian[] = INCBIN_U8("graphics/pokemon/ledian/icon.4bpp"); +const u8 gMonFootprint_Ledian[] = INCBIN_U8("graphics/pokemon/ledian/footprint.1bpp"); + +const u32 gMonFrontPic_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/front.4bpp.lz"); +const u32 gMonPalette_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/normal.gbapal.lz"); +const u32 gMonBackPic_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/back.4bpp.lz"); +const u32 gMonShinyPalette_Spinarak[] = INCBIN_U32("graphics/pokemon/spinarak/shiny.gbapal.lz"); +const u8 gMonIcon_Spinarak[] = INCBIN_U8("graphics/pokemon/spinarak/icon.4bpp"); +const u8 gMonFootprint_Spinarak[] = INCBIN_U8("graphics/pokemon/spinarak/footprint.1bpp"); + +const u32 gMonFrontPic_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/front.4bpp.lz"); +const u32 gMonPalette_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/normal.gbapal.lz"); +const u32 gMonBackPic_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/back.4bpp.lz"); +const u32 gMonShinyPalette_Ariados[] = INCBIN_U32("graphics/pokemon/ariados/shiny.gbapal.lz"); +const u8 gMonIcon_Ariados[] = INCBIN_U8("graphics/pokemon/ariados/icon.4bpp"); +const u8 gMonFootprint_Ariados[] = INCBIN_U8("graphics/pokemon/ariados/footprint.1bpp"); + +const u32 gMonFrontPic_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/front.4bpp.lz"); +const u32 gMonPalette_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/normal.gbapal.lz"); +const u32 gMonBackPic_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/back.4bpp.lz"); +const u32 gMonShinyPalette_Crobat[] = INCBIN_U32("graphics/pokemon/crobat/shiny.gbapal.lz"); +const u8 gMonIcon_Crobat[] = INCBIN_U8("graphics/pokemon/crobat/icon.4bpp"); +const u8 gMonFootprint_Crobat[] = INCBIN_U8("graphics/pokemon/crobat/footprint.1bpp"); + +const u32 gMonFrontPic_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/front.4bpp.lz"); +const u32 gMonPalette_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/normal.gbapal.lz"); +const u32 gMonBackPic_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/back.4bpp.lz"); +const u32 gMonShinyPalette_Chinchou[] = INCBIN_U32("graphics/pokemon/chinchou/shiny.gbapal.lz"); +const u8 gMonIcon_Chinchou[] = INCBIN_U8("graphics/pokemon/chinchou/icon.4bpp"); +const u8 gMonFootprint_Chinchou[] = INCBIN_U8("graphics/pokemon/chinchou/footprint.1bpp"); + +const u32 gMonFrontPic_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/front.4bpp.lz"); +const u32 gMonPalette_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/normal.gbapal.lz"); +const u32 gMonBackPic_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/back.4bpp.lz"); +const u32 gMonShinyPalette_Lanturn[] = INCBIN_U32("graphics/pokemon/lanturn/shiny.gbapal.lz"); +const u8 gMonIcon_Lanturn[] = INCBIN_U8("graphics/pokemon/lanturn/icon.4bpp"); +const u8 gMonFootprint_Lanturn[] = INCBIN_U8("graphics/pokemon/lanturn/footprint.1bpp"); + +const u32 gMonFrontPic_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/front.4bpp.lz"); +const u32 gMonPalette_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/normal.gbapal.lz"); +const u32 gMonBackPic_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/back.4bpp.lz"); +const u32 gMonShinyPalette_Pichu[] = INCBIN_U32("graphics/pokemon/pichu/shiny.gbapal.lz"); +const u8 gMonIcon_Pichu[] = INCBIN_U8("graphics/pokemon/pichu/icon.4bpp"); +const u8 gMonFootprint_Pichu[] = INCBIN_U8("graphics/pokemon/pichu/footprint.1bpp"); + +const u32 gMonFrontPic_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/front.4bpp.lz"); +const u32 gMonPalette_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/normal.gbapal.lz"); +const u32 gMonBackPic_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/back.4bpp.lz"); +const u32 gMonShinyPalette_Cleffa[] = INCBIN_U32("graphics/pokemon/cleffa/shiny.gbapal.lz"); +const u8 gMonIcon_Cleffa[] = INCBIN_U8("graphics/pokemon/cleffa/icon.4bpp"); +const u8 gMonFootprint_Cleffa[] = INCBIN_U8("graphics/pokemon/cleffa/footprint.1bpp"); + +const u32 gMonFrontPic_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/front.4bpp.lz"); +const u32 gMonPalette_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/normal.gbapal.lz"); +const u32 gMonBackPic_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/back.4bpp.lz"); +const u32 gMonShinyPalette_Igglybuff[] = INCBIN_U32("graphics/pokemon/igglybuff/shiny.gbapal.lz"); +const u8 gMonIcon_Igglybuff[] = INCBIN_U8("graphics/pokemon/igglybuff/icon.4bpp"); +const u8 gMonFootprint_Igglybuff[] = INCBIN_U8("graphics/pokemon/igglybuff/footprint.1bpp"); + +const u32 gMonFrontPic_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/front.4bpp.lz"); +const u32 gMonPalette_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/normal.gbapal.lz"); +const u32 gMonBackPic_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/back.4bpp.lz"); +const u32 gMonShinyPalette_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/shiny.gbapal.lz"); +const u8 gMonIcon_Togepi[] = INCBIN_U8("graphics/pokemon/togepi/icon.4bpp"); +const u8 gMonFootprint_Togepi[] = INCBIN_U8("graphics/pokemon/togepi/footprint.1bpp"); + +const u32 gMonFrontPic_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/front.4bpp.lz"); +const u32 gMonPalette_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/normal.gbapal.lz"); +const u32 gMonBackPic_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/back.4bpp.lz"); +const u32 gMonShinyPalette_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/shiny.gbapal.lz"); +const u8 gMonIcon_Togetic[] = INCBIN_U8("graphics/pokemon/togetic/icon.4bpp"); +const u8 gMonFootprint_Togetic[] = INCBIN_U8("graphics/pokemon/togetic/footprint.1bpp"); + +const u32 gMonFrontPic_Natu[] = INCBIN_U32("graphics/pokemon/natu/front.4bpp.lz"); +const u32 gMonPalette_Natu[] = INCBIN_U32("graphics/pokemon/natu/normal.gbapal.lz"); +const u32 gMonBackPic_Natu[] = INCBIN_U32("graphics/pokemon/natu/back.4bpp.lz"); +const u32 gMonShinyPalette_Natu[] = INCBIN_U32("graphics/pokemon/natu/shiny.gbapal.lz"); +const u8 gMonIcon_Natu[] = INCBIN_U8("graphics/pokemon/natu/icon.4bpp"); +const u8 gMonFootprint_Natu[] = INCBIN_U8("graphics/pokemon/natu/footprint.1bpp"); + +const u32 gMonFrontPic_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/front.4bpp.lz"); +const u32 gMonPalette_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/normal.gbapal.lz"); +const u32 gMonBackPic_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/back.4bpp.lz"); +const u32 gMonShinyPalette_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/shiny.gbapal.lz"); +const u8 gMonIcon_Xatu[] = INCBIN_U8("graphics/pokemon/xatu/icon.4bpp"); +const u8 gMonFootprint_Xatu[] = INCBIN_U8("graphics/pokemon/xatu/footprint.1bpp"); + +const u32 gMonFrontPic_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/front.4bpp.lz"); +const u32 gMonPalette_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/normal.gbapal.lz"); +const u32 gMonBackPic_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/back.4bpp.lz"); +const u32 gMonShinyPalette_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/shiny.gbapal.lz"); +const u8 gMonIcon_Mareep[] = INCBIN_U8("graphics/pokemon/mareep/icon.4bpp"); +const u8 gMonFootprint_Mareep[] = INCBIN_U8("graphics/pokemon/mareep/footprint.1bpp"); + +const u32 gMonFrontPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/front.4bpp.lz"); +const u32 gMonPalette_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/normal.gbapal.lz"); +const u32 gMonBackPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/back.4bpp.lz"); +const u32 gMonShinyPalette_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/shiny.gbapal.lz"); +const u8 gMonIcon_Flaaffy[] = INCBIN_U8("graphics/pokemon/flaaffy/icon.4bpp"); +const u8 gMonFootprint_Flaaffy[] = INCBIN_U8("graphics/pokemon/flaaffy/footprint.1bpp"); + +const u32 gMonFrontPic_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/front.4bpp.lz"); +const u32 gMonPalette_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/normal.gbapal.lz"); +const u32 gMonBackPic_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/back.4bpp.lz"); +const u32 gMonShinyPalette_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/shiny.gbapal.lz"); +const u8 gMonIcon_Ampharos[] = INCBIN_U8("graphics/pokemon/ampharos/icon.4bpp"); +const u8 gMonFootprint_Ampharos[] = INCBIN_U8("graphics/pokemon/ampharos/footprint.1bpp"); + +const u32 gMonFrontPic_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/front.4bpp.lz"); +const u32 gMonPalette_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/normal.gbapal.lz"); +const u32 gMonBackPic_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/back.4bpp.lz"); +const u32 gMonShinyPalette_Bellossom[] = INCBIN_U32("graphics/pokemon/bellossom/shiny.gbapal.lz"); +const u8 gMonIcon_Bellossom[] = INCBIN_U8("graphics/pokemon/bellossom/icon.4bpp"); +const u8 gMonFootprint_Bellossom[] = INCBIN_U8("graphics/pokemon/bellossom/footprint.1bpp"); + +const u32 gMonFrontPic_Marill[] = INCBIN_U32("graphics/pokemon/marill/front.4bpp.lz"); +const u32 gMonPalette_Marill[] = INCBIN_U32("graphics/pokemon/marill/normal.gbapal.lz"); +const u32 gMonBackPic_Marill[] = INCBIN_U32("graphics/pokemon/marill/back.4bpp.lz"); +const u32 gMonShinyPalette_Marill[] = INCBIN_U32("graphics/pokemon/marill/shiny.gbapal.lz"); +const u8 gMonIcon_Marill[] = INCBIN_U8("graphics/pokemon/marill/icon.4bpp"); +const u8 gMonFootprint_Marill[] = INCBIN_U8("graphics/pokemon/marill/footprint.1bpp"); + +const u32 gMonFrontPic_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/front.4bpp.lz"); +const u32 gMonPalette_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/normal.gbapal.lz"); +const u32 gMonBackPic_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/back.4bpp.lz"); +const u32 gMonShinyPalette_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/shiny.gbapal.lz"); +const u8 gMonIcon_Azumarill[] = INCBIN_U8("graphics/pokemon/azumarill/icon.4bpp"); +const u8 gMonFootprint_Azumarill[] = INCBIN_U8("graphics/pokemon/azumarill/footprint.1bpp"); + +const u32 gMonFrontPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/front.4bpp.lz"); +const u32 gMonPalette_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/normal.gbapal.lz"); +const u32 gMonBackPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/back.4bpp.lz"); +const u32 gMonShinyPalette_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/shiny.gbapal.lz"); +const u8 gMonIcon_Sudowoodo[] = INCBIN_U8("graphics/pokemon/sudowoodo/icon.4bpp"); +const u8 gMonFootprint_Sudowoodo[] = INCBIN_U8("graphics/pokemon/sudowoodo/footprint.1bpp"); + +const u32 gMonFrontPic_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/front.4bpp.lz"); +const u32 gMonPalette_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/normal.gbapal.lz"); +const u32 gMonBackPic_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/back.4bpp.lz"); +const u32 gMonShinyPalette_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/shiny.gbapal.lz"); +const u8 gMonIcon_Politoed[] = INCBIN_U8("graphics/pokemon/politoed/icon.4bpp"); +const u8 gMonFootprint_Politoed[] = INCBIN_U8("graphics/pokemon/politoed/footprint.1bpp"); + +const u32 gMonFrontPic_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/front.4bpp.lz"); +const u32 gMonPalette_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/normal.gbapal.lz"); +const u32 gMonBackPic_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/back.4bpp.lz"); +const u32 gMonShinyPalette_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/shiny.gbapal.lz"); +const u8 gMonIcon_Hoppip[] = INCBIN_U8("graphics/pokemon/hoppip/icon.4bpp"); +const u8 gMonFootprint_Hoppip[] = INCBIN_U8("graphics/pokemon/hoppip/footprint.1bpp"); + +const u32 gMonFrontPic_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/front.4bpp.lz"); +const u32 gMonPalette_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/normal.gbapal.lz"); +const u32 gMonBackPic_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/back.4bpp.lz"); +const u32 gMonShinyPalette_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/shiny.gbapal.lz"); +const u8 gMonIcon_Skiploom[] = INCBIN_U8("graphics/pokemon/skiploom/icon.4bpp"); +const u8 gMonFootprint_Skiploom[] = INCBIN_U8("graphics/pokemon/skiploom/footprint.1bpp"); + +const u32 gMonFrontPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/front.4bpp.lz"); +const u32 gMonPalette_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/normal.gbapal.lz"); +const u32 gMonBackPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/back.4bpp.lz"); +const u32 gMonShinyPalette_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/shiny.gbapal.lz"); +const u8 gMonIcon_Jumpluff[] = INCBIN_U8("graphics/pokemon/jumpluff/icon.4bpp"); +const u8 gMonFootprint_Jumpluff[] = INCBIN_U8("graphics/pokemon/jumpluff/footprint.1bpp"); + +const u32 gMonFrontPic_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/front.4bpp.lz"); +const u32 gMonPalette_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/normal.gbapal.lz"); +const u32 gMonBackPic_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/back.4bpp.lz"); +const u32 gMonShinyPalette_Aipom[] = INCBIN_U32("graphics/pokemon/aipom/shiny.gbapal.lz"); +const u8 gMonIcon_Aipom[] = INCBIN_U8("graphics/pokemon/aipom/icon.4bpp"); +const u8 gMonFootprint_Aipom[] = INCBIN_U8("graphics/pokemon/aipom/footprint.1bpp"); + +const u32 gMonFrontPic_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/front.4bpp.lz"); +const u32 gMonPalette_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/normal.gbapal.lz"); +const u32 gMonBackPic_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/back.4bpp.lz"); +const u32 gMonShinyPalette_Sunkern[] = INCBIN_U32("graphics/pokemon/sunkern/shiny.gbapal.lz"); +const u8 gMonIcon_Sunkern[] = INCBIN_U8("graphics/pokemon/sunkern/icon.4bpp"); +const u8 gMonFootprint_Sunkern[] = INCBIN_U8("graphics/pokemon/sunkern/footprint.1bpp"); + +const u32 gMonFrontPic_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/front.4bpp.lz"); +const u32 gMonPalette_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/normal.gbapal.lz"); +const u32 gMonBackPic_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/back.4bpp.lz"); +const u32 gMonShinyPalette_Sunflora[] = INCBIN_U32("graphics/pokemon/sunflora/shiny.gbapal.lz"); +const u8 gMonIcon_Sunflora[] = INCBIN_U8("graphics/pokemon/sunflora/icon.4bpp"); +const u8 gMonFootprint_Sunflora[] = INCBIN_U8("graphics/pokemon/sunflora/footprint.1bpp"); + +const u32 gMonFrontPic_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/front.4bpp.lz"); +const u32 gMonPalette_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/normal.gbapal.lz"); +const u32 gMonBackPic_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/back.4bpp.lz"); +const u32 gMonShinyPalette_Yanma[] = INCBIN_U32("graphics/pokemon/yanma/shiny.gbapal.lz"); +const u8 gMonIcon_Yanma[] = INCBIN_U8("graphics/pokemon/yanma/icon.4bpp"); +const u8 gMonFootprint_Yanma[] = INCBIN_U8("graphics/pokemon/yanma/footprint.1bpp"); + +const u32 gMonFrontPic_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/front.4bpp.lz"); +const u32 gMonPalette_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/normal.gbapal.lz"); +const u32 gMonBackPic_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/back.4bpp.lz"); +const u32 gMonShinyPalette_Wooper[] = INCBIN_U32("graphics/pokemon/wooper/shiny.gbapal.lz"); +const u8 gMonIcon_Wooper[] = INCBIN_U8("graphics/pokemon/wooper/icon.4bpp"); +const u8 gMonFootprint_Wooper[] = INCBIN_U8("graphics/pokemon/wooper/footprint.1bpp"); + +const u32 gMonFrontPic_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/front.4bpp.lz"); +const u32 gMonPalette_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/normal.gbapal.lz"); +const u32 gMonBackPic_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/back.4bpp.lz"); +const u32 gMonShinyPalette_Quagsire[] = INCBIN_U32("graphics/pokemon/quagsire/shiny.gbapal.lz"); +const u8 gMonIcon_Quagsire[] = INCBIN_U8("graphics/pokemon/quagsire/icon.4bpp"); +const u8 gMonFootprint_Quagsire[] = INCBIN_U8("graphics/pokemon/quagsire/footprint.1bpp"); + +const u32 gMonFrontPic_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/front.4bpp.lz"); +const u32 gMonPalette_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/normal.gbapal.lz"); +const u32 gMonBackPic_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/back.4bpp.lz"); +const u32 gMonShinyPalette_Espeon[] = INCBIN_U32("graphics/pokemon/espeon/shiny.gbapal.lz"); +const u8 gMonIcon_Espeon[] = INCBIN_U8("graphics/pokemon/espeon/icon.4bpp"); +const u8 gMonFootprint_Espeon[] = INCBIN_U8("graphics/pokemon/espeon/footprint.1bpp"); + +const u32 gMonFrontPic_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/front.4bpp.lz"); +const u32 gMonPalette_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/normal.gbapal.lz"); +const u32 gMonBackPic_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/back.4bpp.lz"); +const u32 gMonShinyPalette_Umbreon[] = INCBIN_U32("graphics/pokemon/umbreon/shiny.gbapal.lz"); +const u8 gMonIcon_Umbreon[] = INCBIN_U8("graphics/pokemon/umbreon/icon.4bpp"); +const u8 gMonFootprint_Umbreon[] = INCBIN_U8("graphics/pokemon/umbreon/footprint.1bpp"); + +const u32 gMonFrontPic_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/front.4bpp.lz"); +const u32 gMonPalette_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/normal.gbapal.lz"); +const u32 gMonBackPic_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/back.4bpp.lz"); +const u32 gMonShinyPalette_Murkrow[] = INCBIN_U32("graphics/pokemon/murkrow/shiny.gbapal.lz"); +const u8 gMonIcon_Murkrow[] = INCBIN_U8("graphics/pokemon/murkrow/icon.4bpp"); +const u8 gMonFootprint_Murkrow[] = INCBIN_U8("graphics/pokemon/murkrow/footprint.1bpp"); + +const u32 gMonFrontPic_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/front.4bpp.lz"); +const u32 gMonPalette_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/normal.gbapal.lz"); +const u32 gMonBackPic_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/back.4bpp.lz"); +const u32 gMonShinyPalette_Slowking[] = INCBIN_U32("graphics/pokemon/slowking/shiny.gbapal.lz"); +const u8 gMonIcon_Slowking[] = INCBIN_U8("graphics/pokemon/slowking/icon.4bpp"); +const u8 gMonFootprint_Slowking[] = INCBIN_U8("graphics/pokemon/slowking/footprint.1bpp"); + +const u32 gMonFrontPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/front.4bpp.lz"); +const u32 gMonPalette_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/normal.gbapal.lz"); +const u32 gMonBackPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/back.4bpp.lz"); +const u32 gMonShinyPalette_Misdreavus[] = INCBIN_U32("graphics/pokemon/misdreavus/shiny.gbapal.lz"); +const u8 gMonIcon_Misdreavus[] = INCBIN_U8("graphics/pokemon/misdreavus/icon.4bpp"); +const u8 gMonFootprint_Misdreavus[] = INCBIN_U8("graphics/pokemon/misdreavus/footprint.1bpp"); + +const u32 gMonFrontPic_UnownA[] = INCBIN_U32("graphics/pokemon/unown/a/front.4bpp.lz"); +const u32 gMonPalette_Unown[] = INCBIN_U32("graphics/pokemon/unown/normal.gbapal.lz"); +const u32 gMonBackPic_UnownA[] = INCBIN_U32("graphics/pokemon/unown/a/back.4bpp.lz"); +const u32 gMonShinyPalette_Unown[] = INCBIN_U32("graphics/pokemon/unown/shiny.gbapal.lz"); +const u8 gMonIcon_UnownA[] = INCBIN_U8("graphics/pokemon/unown/a/icon.4bpp"); +const u8 gMonFootprint_Unown[] = INCBIN_U8("graphics/pokemon/unown/footprint.1bpp"); + +const u32 gMonFrontPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/front.4bpp.lz"); +const u32 gMonPalette_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/normal.gbapal.lz"); +const u32 gMonBackPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/back.4bpp.lz"); +const u32 gMonShinyPalette_Wobbuffet[] = INCBIN_U32("graphics/pokemon/wobbuffet/shiny.gbapal.lz"); +const u8 gMonIcon_Wobbuffet[] = INCBIN_U8("graphics/pokemon/wobbuffet/icon.4bpp"); +const u8 gMonFootprint_Wobbuffet[] = INCBIN_U8("graphics/pokemon/wobbuffet/footprint.1bpp"); + +const u32 gMonFrontPic_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/front.4bpp.lz"); +const u32 gMonPalette_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/normal.gbapal.lz"); +const u32 gMonBackPic_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/back.4bpp.lz"); +const u32 gMonShinyPalette_Girafarig[] = INCBIN_U32("graphics/pokemon/girafarig/shiny.gbapal.lz"); +const u8 gMonIcon_Girafarig[] = INCBIN_U8("graphics/pokemon/girafarig/icon.4bpp"); +const u8 gMonFootprint_Girafarig[] = INCBIN_U8("graphics/pokemon/girafarig/footprint.1bpp"); + +const u32 gMonFrontPic_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/front.4bpp.lz"); +const u32 gMonPalette_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/normal.gbapal.lz"); +const u32 gMonBackPic_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/back.4bpp.lz"); +const u32 gMonShinyPalette_Pineco[] = INCBIN_U32("graphics/pokemon/pineco/shiny.gbapal.lz"); +const u8 gMonIcon_Pineco[] = INCBIN_U8("graphics/pokemon/pineco/icon.4bpp"); +const u8 gMonFootprint_Pineco[] = INCBIN_U8("graphics/pokemon/pineco/footprint.1bpp"); + +const u32 gMonFrontPic_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/front.4bpp.lz"); +const u32 gMonPalette_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/normal.gbapal.lz"); +const u32 gMonBackPic_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/back.4bpp.lz"); +const u32 gMonShinyPalette_Forretress[] = INCBIN_U32("graphics/pokemon/forretress/shiny.gbapal.lz"); +const u8 gMonIcon_Forretress[] = INCBIN_U8("graphics/pokemon/forretress/icon.4bpp"); +const u8 gMonFootprint_Forretress[] = INCBIN_U8("graphics/pokemon/forretress/footprint.1bpp"); + +const u32 gMonFrontPic_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/front.4bpp.lz"); +const u32 gMonPalette_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/normal.gbapal.lz"); +const u32 gMonBackPic_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/back.4bpp.lz"); +const u32 gMonShinyPalette_Dunsparce[] = INCBIN_U32("graphics/pokemon/dunsparce/shiny.gbapal.lz"); +const u8 gMonIcon_Dunsparce[] = INCBIN_U8("graphics/pokemon/dunsparce/icon.4bpp"); +const u8 gMonFootprint_Dunsparce[] = INCBIN_U8("graphics/pokemon/dunsparce/footprint.1bpp"); + +const u32 gMonFrontPic_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/front.4bpp.lz"); +const u32 gMonPalette_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/normal.gbapal.lz"); +const u32 gMonBackPic_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/back.4bpp.lz"); +const u32 gMonShinyPalette_Gligar[] = INCBIN_U32("graphics/pokemon/gligar/shiny.gbapal.lz"); +const u8 gMonIcon_Gligar[] = INCBIN_U8("graphics/pokemon/gligar/icon.4bpp"); +const u8 gMonFootprint_Gligar[] = INCBIN_U8("graphics/pokemon/gligar/footprint.1bpp"); + +const u32 gMonFrontPic_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/front.4bpp.lz"); +const u32 gMonPalette_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/normal.gbapal.lz"); +const u32 gMonBackPic_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/back.4bpp.lz"); +const u32 gMonShinyPalette_Steelix[] = INCBIN_U32("graphics/pokemon/steelix/shiny.gbapal.lz"); +const u8 gMonIcon_Steelix[] = INCBIN_U8("graphics/pokemon/steelix/icon.4bpp"); +const u8 gMonFootprint_Steelix[] = INCBIN_U8("graphics/pokemon/steelix/footprint.1bpp"); + +const u32 gMonFrontPic_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/front.4bpp.lz"); +const u32 gMonPalette_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/normal.gbapal.lz"); +const u32 gMonBackPic_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/back.4bpp.lz"); +const u32 gMonShinyPalette_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/shiny.gbapal.lz"); +const u8 gMonIcon_Snubbull[] = INCBIN_U8("graphics/pokemon/snubbull/icon.4bpp"); +const u8 gMonFootprint_Snubbull[] = INCBIN_U8("graphics/pokemon/snubbull/footprint.1bpp"); + +const u32 gMonFrontPic_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/front.4bpp.lz"); +const u32 gMonPalette_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/normal.gbapal.lz"); +const u32 gMonBackPic_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/back.4bpp.lz"); +const u32 gMonShinyPalette_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/shiny.gbapal.lz"); +const u8 gMonIcon_Granbull[] = INCBIN_U8("graphics/pokemon/granbull/icon.4bpp"); +const u8 gMonFootprint_Granbull[] = INCBIN_U8("graphics/pokemon/granbull/footprint.1bpp"); + +const u32 gMonFrontPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/front.4bpp.lz"); +const u32 gMonPalette_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/normal.gbapal.lz"); +const u32 gMonBackPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/back.4bpp.lz"); +const u32 gMonShinyPalette_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/shiny.gbapal.lz"); +const u8 gMonIcon_Qwilfish[] = INCBIN_U8("graphics/pokemon/qwilfish/icon.4bpp"); +const u8 gMonFootprint_Qwilfish[] = INCBIN_U8("graphics/pokemon/qwilfish/footprint.1bpp"); + +const u32 gMonFrontPic_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/front.4bpp.lz"); +const u32 gMonPalette_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/normal.gbapal.lz"); +const u32 gMonBackPic_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/back.4bpp.lz"); +const u32 gMonShinyPalette_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/shiny.gbapal.lz"); +const u8 gMonIcon_Scizor[] = INCBIN_U8("graphics/pokemon/scizor/icon.4bpp"); +const u8 gMonFootprint_Scizor[] = INCBIN_U8("graphics/pokemon/scizor/footprint.1bpp"); + +const u32 gMonFrontPic_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/front.4bpp.lz"); +const u32 gMonPalette_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/normal.gbapal.lz"); +const u32 gMonBackPic_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/back.4bpp.lz"); +const u32 gMonShinyPalette_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/shiny.gbapal.lz"); +const u8 gMonIcon_Shuckle[] = INCBIN_U8("graphics/pokemon/shuckle/icon.4bpp"); +const u8 gMonFootprint_Shuckle[] = INCBIN_U8("graphics/pokemon/shuckle/footprint.1bpp"); + +const u32 gMonFrontPic_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/front.4bpp.lz"); +const u32 gMonPalette_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/normal.gbapal.lz"); +const u32 gMonBackPic_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/back.4bpp.lz"); +const u32 gMonShinyPalette_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/shiny.gbapal.lz"); +const u8 gMonIcon_Heracross[] = INCBIN_U8("graphics/pokemon/heracross/icon.4bpp"); +const u8 gUnknown_heracross_icon[] = INCBIN_U8("graphics/pokemon/heracross/unk_icon.4bpp"); +const u8 gMonFootprint_Heracross[] = INCBIN_U8("graphics/pokemon/heracross/footprint.1bpp"); + +const u32 gMonFrontPic_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/front.4bpp.lz"); +const u32 gMonPalette_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/normal.gbapal.lz"); +const u32 gMonBackPic_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/back.4bpp.lz"); +const u32 gMonShinyPalette_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/shiny.gbapal.lz"); +const u8 gMonIcon_Sneasel[] = INCBIN_U8("graphics/pokemon/sneasel/icon.4bpp"); +const u8 gMonFootprint_Sneasel[] = INCBIN_U8("graphics/pokemon/sneasel/footprint.1bpp"); + +const u32 gMonFrontPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/front.4bpp.lz"); +const u32 gMonPalette_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/normal.gbapal.lz"); +const u32 gMonBackPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/back.4bpp.lz"); +const u32 gMonShinyPalette_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/shiny.gbapal.lz"); +const u8 gMonIcon_Teddiursa[] = INCBIN_U8("graphics/pokemon/teddiursa/icon.4bpp"); +const u8 gMonFootprint_Teddiursa[] = INCBIN_U8("graphics/pokemon/teddiursa/footprint.1bpp"); + +const u32 gMonFrontPic_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/front.4bpp.lz"); +const u32 gMonPalette_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/normal.gbapal.lz"); +const u32 gMonBackPic_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/back.4bpp.lz"); +const u32 gMonShinyPalette_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/shiny.gbapal.lz"); +const u8 gMonIcon_Ursaring[] = INCBIN_U8("graphics/pokemon/ursaring/icon.4bpp"); +const u8 gMonFootprint_Ursaring[] = INCBIN_U8("graphics/pokemon/ursaring/footprint.1bpp"); + +const u32 gMonFrontPic_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/front.4bpp.lz"); +const u32 gMonPalette_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/normal.gbapal.lz"); +const u32 gMonBackPic_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/back.4bpp.lz"); +const u32 gMonShinyPalette_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/shiny.gbapal.lz"); +const u8 gMonIcon_Slugma[] = INCBIN_U8("graphics/pokemon/slugma/icon.4bpp"); +const u8 gMonFootprint_Slugma[] = INCBIN_U8("graphics/pokemon/slugma/footprint.1bpp"); + +const u32 gMonFrontPic_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/front.4bpp.lz"); +const u32 gMonPalette_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/normal.gbapal.lz"); +const u32 gMonBackPic_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/back.4bpp.lz"); +const u32 gMonShinyPalette_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/shiny.gbapal.lz"); +const u8 gMonIcon_Magcargo[] = INCBIN_U8("graphics/pokemon/magcargo/icon.4bpp"); +const u8 gMonFootprint_Magcargo[] = INCBIN_U8("graphics/pokemon/magcargo/footprint.1bpp"); + +const u32 gMonFrontPic_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/front.4bpp.lz"); +const u32 gMonPalette_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/normal.gbapal.lz"); +const u32 gMonBackPic_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/back.4bpp.lz"); +const u32 gMonShinyPalette_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/shiny.gbapal.lz"); +const u8 gMonIcon_Swinub[] = INCBIN_U8("graphics/pokemon/swinub/icon.4bpp"); +const u8 gMonFootprint_Swinub[] = INCBIN_U8("graphics/pokemon/swinub/footprint.1bpp"); + +const u32 gMonFrontPic_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/front.4bpp.lz"); +const u32 gMonPalette_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/normal.gbapal.lz"); +const u32 gMonBackPic_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/back.4bpp.lz"); +const u32 gMonShinyPalette_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/shiny.gbapal.lz"); +const u8 gMonIcon_Piloswine[] = INCBIN_U8("graphics/pokemon/piloswine/icon.4bpp"); +const u8 gMonFootprint_Piloswine[] = INCBIN_U8("graphics/pokemon/piloswine/footprint.1bpp"); + +const u32 gMonFrontPic_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/front.4bpp.lz"); +const u32 gMonPalette_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/normal.gbapal.lz"); +const u32 gMonBackPic_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/back.4bpp.lz"); +const u32 gMonShinyPalette_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/shiny.gbapal.lz"); +const u8 gMonIcon_Corsola[] = INCBIN_U8("graphics/pokemon/corsola/icon.4bpp"); +const u8 gMonFootprint_Corsola[] = INCBIN_U8("graphics/pokemon/corsola/footprint.1bpp"); + +const u32 gMonFrontPic_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/front.4bpp.lz"); +const u32 gMonPalette_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/normal.gbapal.lz"); +const u32 gMonBackPic_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/back.4bpp.lz"); +const u32 gMonShinyPalette_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/shiny.gbapal.lz"); +const u8 gMonIcon_Remoraid[] = INCBIN_U8("graphics/pokemon/remoraid/icon.4bpp"); +const u8 gMonFootprint_Remoraid[] = INCBIN_U8("graphics/pokemon/remoraid/footprint.1bpp"); + +const u32 gMonFrontPic_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/front.4bpp.lz"); +const u32 gMonPalette_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/normal.gbapal.lz"); +const u32 gMonBackPic_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/back.4bpp.lz"); +const u32 gMonShinyPalette_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/shiny.gbapal.lz"); +const u8 gMonIcon_Octillery[] = INCBIN_U8("graphics/pokemon/octillery/icon.4bpp"); +const u8 gMonFootprint_Octillery[] = INCBIN_U8("graphics/pokemon/octillery/footprint.1bpp"); + +const u32 gMonFrontPic_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/front.4bpp.lz"); +const u32 gMonPalette_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/normal.gbapal.lz"); +const u32 gMonBackPic_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/back.4bpp.lz"); +const u32 gMonShinyPalette_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/shiny.gbapal.lz"); +const u8 gMonIcon_Delibird[] = INCBIN_U8("graphics/pokemon/delibird/icon.4bpp"); +const u8 gMonFootprint_Delibird[] = INCBIN_U8("graphics/pokemon/delibird/footprint.1bpp"); + +const u32 gMonFrontPic_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/front.4bpp.lz"); +const u32 gMonPalette_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/normal.gbapal.lz"); +const u32 gMonBackPic_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/back.4bpp.lz"); +const u32 gMonShinyPalette_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/shiny.gbapal.lz"); +const u8 gMonIcon_Mantine[] = INCBIN_U8("graphics/pokemon/mantine/icon.4bpp"); +const u8 gMonFootprint_Mantine[] = INCBIN_U8("graphics/pokemon/mantine/footprint.1bpp"); + +const u32 gMonFrontPic_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/front.4bpp.lz"); +const u32 gMonPalette_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/normal.gbapal.lz"); +const u32 gMonBackPic_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/back.4bpp.lz"); +const u32 gMonShinyPalette_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/shiny.gbapal.lz"); +const u8 gMonIcon_Skarmory[] = INCBIN_U8("graphics/pokemon/skarmory/icon.4bpp"); +const u8 gMonFootprint_Skarmory[] = INCBIN_U8("graphics/pokemon/skarmory/footprint.1bpp"); + +const u32 gMonFrontPic_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/front.4bpp.lz"); +const u32 gMonPalette_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/normal.gbapal.lz"); +const u32 gMonBackPic_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/back.4bpp.lz"); +const u32 gMonShinyPalette_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/shiny.gbapal.lz"); +const u8 gMonIcon_Houndour[] = INCBIN_U8("graphics/pokemon/houndour/icon.4bpp"); +const u8 gMonFootprint_Houndour[] = INCBIN_U8("graphics/pokemon/houndour/footprint.1bpp"); + +const u32 gMonFrontPic_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/front.4bpp.lz"); +const u32 gMonPalette_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/normal.gbapal.lz"); +const u32 gMonBackPic_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/back.4bpp.lz"); +const u32 gMonShinyPalette_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/shiny.gbapal.lz"); +const u8 gMonIcon_Houndoom[] = INCBIN_U8("graphics/pokemon/houndoom/icon.4bpp"); +const u8 gMonFootprint_Houndoom[] = INCBIN_U8("graphics/pokemon/houndoom/footprint.1bpp"); + +const u32 gMonFrontPic_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/front.4bpp.lz"); +const u32 gMonPalette_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/normal.gbapal.lz"); +const u32 gMonBackPic_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/back.4bpp.lz"); +const u32 gMonShinyPalette_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/shiny.gbapal.lz"); +const u8 gMonIcon_Kingdra[] = INCBIN_U8("graphics/pokemon/kingdra/icon.4bpp"); +const u8 gMonFootprint_Kingdra[] = INCBIN_U8("graphics/pokemon/kingdra/footprint.1bpp"); + +const u32 gMonFrontPic_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/front.4bpp.lz"); +const u32 gMonPalette_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/normal.gbapal.lz"); +const u32 gMonBackPic_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/back.4bpp.lz"); +const u32 gMonShinyPalette_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/shiny.gbapal.lz"); +const u8 gMonIcon_Phanpy[] = INCBIN_U8("graphics/pokemon/phanpy/icon.4bpp"); +const u8 gMonFootprint_Phanpy[] = INCBIN_U8("graphics/pokemon/phanpy/footprint.1bpp"); + +const u32 gMonFrontPic_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/front.4bpp.lz"); +const u32 gMonPalette_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/normal.gbapal.lz"); +const u32 gMonBackPic_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/back.4bpp.lz"); +const u32 gMonShinyPalette_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/shiny.gbapal.lz"); +const u8 gMonIcon_Donphan[] = INCBIN_U8("graphics/pokemon/donphan/icon.4bpp"); +const u8 gMonFootprint_Donphan[] = INCBIN_U8("graphics/pokemon/donphan/footprint.1bpp"); + +const u32 gMonFrontPic_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/front.4bpp.lz"); +const u32 gMonPalette_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/normal.gbapal.lz"); +const u32 gMonBackPic_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/back.4bpp.lz"); +const u32 gMonShinyPalette_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/shiny.gbapal.lz"); +const u8 gMonIcon_Porygon2[] = INCBIN_U8("graphics/pokemon/porygon2/icon.4bpp"); +const u8 gMonFootprint_Porygon2[] = INCBIN_U8("graphics/pokemon/porygon2/footprint.1bpp"); + +const u32 gMonFrontPic_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/front.4bpp.lz"); +const u32 gMonPalette_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/normal.gbapal.lz"); +const u32 gMonBackPic_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/back.4bpp.lz"); +const u32 gMonShinyPalette_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/shiny.gbapal.lz"); +const u8 gMonIcon_Stantler[] = INCBIN_U8("graphics/pokemon/stantler/icon.4bpp"); +const u8 gMonFootprint_Stantler[] = INCBIN_U8("graphics/pokemon/stantler/footprint.1bpp"); + +const u32 gMonFrontPic_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/front.4bpp.lz"); +const u32 gMonPalette_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/normal.gbapal.lz"); +const u32 gMonBackPic_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/back.4bpp.lz"); +const u32 gMonShinyPalette_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/shiny.gbapal.lz"); +const u8 gMonIcon_Smeargle[] = INCBIN_U8("graphics/pokemon/smeargle/icon.4bpp"); +const u8 gMonFootprint_Smeargle[] = INCBIN_U8("graphics/pokemon/smeargle/footprint.1bpp"); + +const u32 gMonFrontPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/front.4bpp.lz"); +const u32 gMonPalette_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/normal.gbapal.lz"); +const u32 gMonBackPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/back.4bpp.lz"); +const u32 gMonShinyPalette_Tyrogue[] = INCBIN_U32("graphics/pokemon/tyrogue/shiny.gbapal.lz"); +const u8 gMonIcon_Tyrogue[] = INCBIN_U8("graphics/pokemon/tyrogue/icon.4bpp"); +const u8 gMonFootprint_Tyrogue[] = INCBIN_U8("graphics/pokemon/tyrogue/footprint.1bpp"); + +const u32 gMonFrontPic_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/front.4bpp.lz"); +const u32 gMonPalette_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/normal.gbapal.lz"); +const u32 gMonBackPic_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/back.4bpp.lz"); +const u32 gMonShinyPalette_Hitmontop[] = INCBIN_U32("graphics/pokemon/hitmontop/shiny.gbapal.lz"); +const u8 gMonIcon_Hitmontop[] = INCBIN_U8("graphics/pokemon/hitmontop/icon.4bpp"); + +// This might be undefined memory garbage. Its all 00s except for 1 0F. Its also not referenced. +const u32 gUndefined_8DD1E90[] = INCBIN_U32("data/garbage_8DD2290.bin"); + +const u8 gMonFootprint_Hitmontop[] = INCBIN_U8("graphics/pokemon/hitmontop/footprint.1bpp"); + +const u32 gMonFrontPic_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/front.4bpp.lz"); +const u32 gMonPalette_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/normal.gbapal.lz"); +const u32 gMonBackPic_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/back.4bpp.lz"); +const u32 gMonShinyPalette_Smoochum[] = INCBIN_U32("graphics/pokemon/smoochum/shiny.gbapal.lz"); +const u8 gMonIcon_Smoochum[] = INCBIN_U8("graphics/pokemon/smoochum/icon.4bpp"); +const u8 gMonFootprint_Smoochum[] = INCBIN_U8("graphics/pokemon/smoochum/footprint.1bpp"); + +const u32 gMonFrontPic_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/front.4bpp.lz"); +const u32 gMonPalette_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/normal.gbapal.lz"); +const u32 gMonBackPic_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/back.4bpp.lz"); +const u32 gMonShinyPalette_Elekid[] = INCBIN_U32("graphics/pokemon/elekid/shiny.gbapal.lz"); +const u8 gMonIcon_Elekid[] = INCBIN_U8("graphics/pokemon/elekid/icon.4bpp"); +const u8 gMonFootprint_Elekid[] = INCBIN_U8("graphics/pokemon/elekid/footprint.1bpp"); + +const u32 gMonFrontPic_Magby[] = INCBIN_U32("graphics/pokemon/magby/front.4bpp.lz"); +const u32 gMonPalette_Magby[] = INCBIN_U32("graphics/pokemon/magby/normal.gbapal.lz"); +const u32 gMonBackPic_Magby[] = INCBIN_U32("graphics/pokemon/magby/back.4bpp.lz"); +const u32 gMonShinyPalette_Magby[] = INCBIN_U32("graphics/pokemon/magby/shiny.gbapal.lz"); +const u8 gMonIcon_Magby[] = INCBIN_U8("graphics/pokemon/magby/icon.4bpp"); +const u8 gMonFootprint_Magby[] = INCBIN_U8("graphics/pokemon/magby/footprint.1bpp"); + +const u32 gMonFrontPic_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/front.4bpp.lz"); +const u32 gMonPalette_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/normal.gbapal.lz"); +const u32 gMonBackPic_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/back.4bpp.lz"); +const u32 gMonShinyPalette_Miltank[] = INCBIN_U32("graphics/pokemon/miltank/shiny.gbapal.lz"); +const u8 gMonIcon_Miltank[] = INCBIN_U8("graphics/pokemon/miltank/icon.4bpp"); +const u8 gMonFootprint_Miltank[] = INCBIN_U8("graphics/pokemon/miltank/footprint.1bpp"); + +const u32 gMonFrontPic_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/front.4bpp.lz"); +const u32 gMonPalette_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/normal.gbapal.lz"); +const u32 gMonBackPic_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/back.4bpp.lz"); +const u32 gMonShinyPalette_Blissey[] = INCBIN_U32("graphics/pokemon/blissey/shiny.gbapal.lz"); +const u8 gMonIcon_Blissey[] = INCBIN_U8("graphics/pokemon/blissey/icon.4bpp"); +const u8 gMonFootprint_Blissey[] = INCBIN_U8("graphics/pokemon/blissey/footprint.1bpp"); + +const u32 gMonFrontPic_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/front.4bpp.lz"); +const u32 gMonPalette_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/normal.gbapal.lz"); +const u32 gMonBackPic_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/back.4bpp.lz"); +const u32 gMonShinyPalette_Raikou[] = INCBIN_U32("graphics/pokemon/raikou/shiny.gbapal.lz"); +const u8 gMonIcon_Raikou[] = INCBIN_U8("graphics/pokemon/raikou/icon.4bpp"); +const u8 gMonFootprint_Raikou[] = INCBIN_U8("graphics/pokemon/raikou/footprint.1bpp"); + +const u32 gMonFrontPic_Entei[] = INCBIN_U32("graphics/pokemon/entei/front.4bpp.lz"); +const u32 gMonPalette_Entei[] = INCBIN_U32("graphics/pokemon/entei/normal.gbapal.lz"); +const u32 gMonBackPic_Entei[] = INCBIN_U32("graphics/pokemon/entei/back.4bpp.lz"); +const u32 gMonShinyPalette_Entei[] = INCBIN_U32("graphics/pokemon/entei/shiny.gbapal.lz"); +const u8 gMonIcon_Entei[] = INCBIN_U8("graphics/pokemon/entei/icon.4bpp"); +const u8 gMonFootprint_Entei[] = INCBIN_U8("graphics/pokemon/entei/footprint.1bpp"); + +const u32 gMonFrontPic_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/front.4bpp.lz"); +const u32 gMonPalette_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/normal.gbapal.lz"); +const u32 gMonBackPic_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/back.4bpp.lz"); +const u32 gMonShinyPalette_Suicune[] = INCBIN_U32("graphics/pokemon/suicune/shiny.gbapal.lz"); +const u8 gMonIcon_Suicune[] = INCBIN_U8("graphics/pokemon/suicune/icon.4bpp"); +const u8 gMonFootprint_Suicune[] = INCBIN_U8("graphics/pokemon/suicune/footprint.1bpp"); + +const u32 gMonFrontPic_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/front.4bpp.lz"); +const u32 gMonPalette_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/normal.gbapal.lz"); +const u32 gMonBackPic_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/back.4bpp.lz"); +const u32 gMonShinyPalette_Larvitar[] = INCBIN_U32("graphics/pokemon/larvitar/shiny.gbapal.lz"); +const u8 gMonIcon_Larvitar[] = INCBIN_U8("graphics/pokemon/larvitar/icon.4bpp"); +const u8 gMonFootprint_Larvitar[] = INCBIN_U8("graphics/pokemon/larvitar/footprint.1bpp"); + +const u32 gMonFrontPic_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/front.4bpp.lz"); +const u32 gMonPalette_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/normal.gbapal.lz"); +const u32 gMonBackPic_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/back.4bpp.lz"); +const u32 gMonShinyPalette_Pupitar[] = INCBIN_U32("graphics/pokemon/pupitar/shiny.gbapal.lz"); +const u8 gMonIcon_Pupitar[] = INCBIN_U8("graphics/pokemon/pupitar/icon.4bpp"); +const u8 gMonFootprint_Pupitar[] = INCBIN_U8("graphics/pokemon/pupitar/footprint.1bpp"); + +const u32 gMonFrontPic_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/front.4bpp.lz"); +const u32 gMonPalette_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/normal.gbapal.lz"); +const u32 gMonBackPic_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/back.4bpp.lz"); +const u32 gMonShinyPalette_Tyranitar[] = INCBIN_U32("graphics/pokemon/tyranitar/shiny.gbapal.lz"); +const u8 gMonIcon_Tyranitar[] = INCBIN_U8("graphics/pokemon/tyranitar/icon.4bpp"); +const u8 gMonFootprint_Tyranitar[] = INCBIN_U8("graphics/pokemon/tyranitar/footprint.1bpp"); + +const u32 gMonFrontPic_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/front.4bpp.lz"); +const u32 gMonPalette_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/normal.gbapal.lz"); +const u32 gMonBackPic_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/back.4bpp.lz"); +const u32 gMonShinyPalette_Lugia[] = INCBIN_U32("graphics/pokemon/lugia/shiny.gbapal.lz"); +const u8 gMonIcon_Lugia[] = INCBIN_U8("graphics/pokemon/lugia/icon.4bpp"); +const u8 gMonFootprint_Lugia[] = INCBIN_U8("graphics/pokemon/lugia/footprint.1bpp"); + +const u32 gMonFrontPic_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/front.4bpp.lz"); +const u32 gMonPalette_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/normal.gbapal.lz"); +const u32 gMonBackPic_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/back.4bpp.lz"); +const u32 gMonShinyPalette_HoOh[] = INCBIN_U32("graphics/pokemon/ho_oh/shiny.gbapal.lz"); +const u8 gMonIcon_HoOh[] = INCBIN_U8("graphics/pokemon/ho_oh/icon.4bpp"); +const u8 gMonFootprint_HoOh[] = INCBIN_U8("graphics/pokemon/ho_oh/footprint.1bpp"); + +const u32 gMonFrontPic_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/front.4bpp.lz"); +const u32 gMonPalette_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/normal.gbapal.lz"); +const u32 gMonBackPic_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/back.4bpp.lz"); +const u32 gMonShinyPalette_Celebi[] = INCBIN_U32("graphics/pokemon/celebi/shiny.gbapal.lz"); +const u8 gMonIcon_Celebi[] = INCBIN_U8("graphics/pokemon/celebi/icon.4bpp"); +const u8 gMonFootprint_Celebi[] = INCBIN_U8("graphics/pokemon/celebi/footprint.1bpp"); + +const u32 gMonFrontPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/double/front.4bpp.lz"); +const u32 gMonPalette_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/double/normal.gbapal.lz"); +const u32 gMonBackPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/double/back.4bpp.lz"); +const u32 gMonShinyPalette_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/double/shiny.gbapal.lz"); + +const u32 gMonFrontPic_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/front.4bpp.lz"); +const u32 gMonPalette_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/normal.gbapal.lz"); +const u32 gMonBackPic_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/back.4bpp.lz"); +const u32 gMonShinyPalette_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/shiny.gbapal.lz"); +const u8 gMonIcon_Treecko[] = INCBIN_U8("graphics/pokemon/treecko/icon.4bpp"); +const u8 gMonFootprint_Treecko[] = INCBIN_U8("graphics/pokemon/treecko/footprint.1bpp"); + +const u32 gMonFrontPic_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/front.4bpp.lz"); +const u32 gMonPalette_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/normal.gbapal.lz"); +const u32 gMonBackPic_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/back.4bpp.lz"); +const u32 gMonShinyPalette_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/shiny.gbapal.lz"); +const u8 gMonIcon_Grovyle[] = INCBIN_U8("graphics/pokemon/grovyle/icon.4bpp"); +const u8 gMonFootprint_Grovyle[] = INCBIN_U8("graphics/pokemon/grovyle/footprint.1bpp"); + +const u32 gMonFrontPic_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/front.4bpp.lz"); +const u32 gMonPalette_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/normal.gbapal.lz"); +const u32 gMonBackPic_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/back.4bpp.lz"); +const u32 gMonShinyPalette_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/shiny.gbapal.lz"); +const u8 gMonIcon_Sceptile[] = INCBIN_U8("graphics/pokemon/sceptile/icon.4bpp"); +const u8 gMonFootprint_Sceptile[] = INCBIN_U8("graphics/pokemon/sceptile/footprint.1bpp"); + +const u32 gMonFrontPic_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/front.4bpp.lz"); +const u32 gMonPalette_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/normal.gbapal.lz"); +const u32 gMonBackPic_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/back.4bpp.lz"); +const u32 gMonShinyPalette_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/shiny.gbapal.lz"); +const u8 gMonIcon_Torchic[] = INCBIN_U8("graphics/pokemon/torchic/icon.4bpp"); +const u8 gMonFootprint_Torchic[] = INCBIN_U8("graphics/pokemon/torchic/footprint.1bpp"); + +const u32 gMonFrontPic_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/front.4bpp.lz"); +const u32 gMonPalette_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/normal.gbapal.lz"); +const u32 gMonBackPic_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/back.4bpp.lz"); +const u32 gMonShinyPalette_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/shiny.gbapal.lz"); +const u8 gMonIcon_Combusken[] = INCBIN_U8("graphics/pokemon/combusken/icon.4bpp"); +const u8 gMonFootprint_Combusken[] = INCBIN_U8("graphics/pokemon/combusken/footprint.1bpp"); + +const u32 gMonFrontPic_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/front.4bpp.lz"); +const u32 gMonPalette_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/normal.gbapal.lz"); +const u32 gMonBackPic_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/back.4bpp.lz"); +const u32 gMonShinyPalette_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/shiny.gbapal.lz"); +const u8 gMonIcon_Blaziken[] = INCBIN_U8("graphics/pokemon/blaziken/icon.4bpp"); +const u8 gMonFootprint_Blaziken[] = INCBIN_U8("graphics/pokemon/blaziken/footprint.1bpp"); + +const u32 gMonFrontPic_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/front.4bpp.lz"); +const u32 gMonPalette_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/normal.gbapal.lz"); +const u32 gMonBackPic_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/back.4bpp.lz"); +const u32 gMonShinyPalette_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/shiny.gbapal.lz"); +const u8 gMonIcon_Mudkip[] = INCBIN_U8("graphics/pokemon/mudkip/icon.4bpp"); +const u8 gMonFootprint_Mudkip[] = INCBIN_U8("graphics/pokemon/mudkip/footprint.1bpp"); + +const u32 gMonFrontPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/front.4bpp.lz"); +const u32 gMonPalette_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/normal.gbapal.lz"); +const u32 gMonBackPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/back.4bpp.lz"); +const u32 gMonShinyPalette_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/shiny.gbapal.lz"); +const u8 gMonIcon_Marshtomp[] = INCBIN_U8("graphics/pokemon/marshtomp/icon.4bpp"); +const u8 gMonFootprint_Marshtomp[] = INCBIN_U8("graphics/pokemon/marshtomp/footprint.1bpp"); + +const u32 gMonFrontPic_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/front.4bpp.lz"); +const u32 gMonPalette_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/normal.gbapal.lz"); +const u32 gMonBackPic_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/back.4bpp.lz"); +const u32 gMonShinyPalette_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/shiny.gbapal.lz"); +const u8 gMonIcon_Swampert[] = INCBIN_U8("graphics/pokemon/swampert/icon.4bpp"); +const u8 gMonFootprint_Swampert[] = INCBIN_U8("graphics/pokemon/swampert/footprint.1bpp"); + +const u32 gMonFrontPic_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/front.4bpp.lz"); +const u32 gMonPalette_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/normal.gbapal.lz"); +const u32 gMonBackPic_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/back.4bpp.lz"); +const u32 gMonShinyPalette_Poochyena[] = INCBIN_U32("graphics/pokemon/poochyena/shiny.gbapal.lz"); +const u8 gMonIcon_Poochyena[] = INCBIN_U8("graphics/pokemon/poochyena/icon.4bpp"); +const u8 gMonFootprint_Poochyena[] = INCBIN_U8("graphics/pokemon/poochyena/footprint.1bpp"); + +const u32 gMonFrontPic_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/front.4bpp.lz"); +const u32 gMonPalette_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/normal.gbapal.lz"); +const u32 gMonBackPic_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/back.4bpp.lz"); +const u32 gMonShinyPalette_Mightyena[] = INCBIN_U32("graphics/pokemon/mightyena/shiny.gbapal.lz"); +const u8 gMonIcon_Mightyena[] = INCBIN_U8("graphics/pokemon/mightyena/icon.4bpp"); +const u8 gMonFootprint_Mightyena[] = INCBIN_U8("graphics/pokemon/mightyena/footprint.1bpp"); + +const u32 gMonFrontPic_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/front.4bpp.lz"); +const u32 gMonPalette_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/normal.gbapal.lz"); +const u32 gMonBackPic_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/back.4bpp.lz"); +const u32 gMonShinyPalette_Zigzagoon[] = INCBIN_U32("graphics/pokemon/zigzagoon/shiny.gbapal.lz"); +const u8 gMonIcon_Zigzagoon[] = INCBIN_U8("graphics/pokemon/zigzagoon/icon.4bpp"); +const u8 gMonFootprint_Zigzagoon[] = INCBIN_U8("graphics/pokemon/zigzagoon/footprint.1bpp"); + +const u32 gMonFrontPic_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/front.4bpp.lz"); +const u32 gMonPalette_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/normal.gbapal.lz"); +const u32 gMonBackPic_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/back.4bpp.lz"); +const u32 gMonShinyPalette_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/shiny.gbapal.lz"); +const u8 gMonIcon_Linoone[] = INCBIN_U8("graphics/pokemon/linoone/icon.4bpp"); +const u8 gMonFootprint_Linoone[] = INCBIN_U8("graphics/pokemon/linoone/footprint.1bpp"); + +const u32 gMonFrontPic_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/front.4bpp.lz"); +const u32 gMonPalette_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/normal.gbapal.lz"); +const u32 gMonBackPic_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/back.4bpp.lz"); +const u32 gMonShinyPalette_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/shiny.gbapal.lz"); +const u8 gMonIcon_Wurmple[] = INCBIN_U8("graphics/pokemon/wurmple/icon.4bpp"); +const u8 gMonFootprint_Wurmple[] = INCBIN_U8("graphics/pokemon/wurmple/footprint.1bpp"); + +const u32 gMonFrontPic_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/front.4bpp.lz"); +const u32 gMonPalette_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/normal.gbapal.lz"); +const u32 gMonBackPic_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/back.4bpp.lz"); +const u32 gMonShinyPalette_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/shiny.gbapal.lz"); +const u8 gMonIcon_Silcoon[] = INCBIN_U8("graphics/pokemon/silcoon/icon.4bpp"); +const u8 gMonFootprint_Silcoon[] = INCBIN_U8("graphics/pokemon/silcoon/footprint.1bpp"); + +const u32 gMonFrontPic_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/front.4bpp.lz"); +const u32 gMonPalette_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/normal.gbapal.lz"); +const u32 gMonBackPic_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/back.4bpp.lz"); +const u32 gMonShinyPalette_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/shiny.gbapal.lz"); +const u8 gMonIcon_Beautifly[] = INCBIN_U8("graphics/pokemon/beautifly/icon.4bpp"); +const u8 gMonFootprint_Beautifly[] = INCBIN_U8("graphics/pokemon/beautifly/footprint.1bpp"); + +const u32 gMonFrontPic_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/front.4bpp.lz"); +const u32 gMonPalette_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/normal.gbapal.lz"); +const u32 gMonBackPic_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/back.4bpp.lz"); +const u32 gMonShinyPalette_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/shiny.gbapal.lz"); +const u8 gMonIcon_Cascoon[] = INCBIN_U8("graphics/pokemon/cascoon/icon.4bpp"); +const u8 gMonFootprint_Cascoon[] = INCBIN_U8("graphics/pokemon/cascoon/footprint.1bpp"); + +const u32 gMonFrontPic_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/front.4bpp.lz"); +const u32 gMonPalette_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/normal.gbapal.lz"); +const u32 gMonBackPic_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/back.4bpp.lz"); +const u32 gMonShinyPalette_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/shiny.gbapal.lz"); +const u8 gMonIcon_Dustox[] = INCBIN_U8("graphics/pokemon/dustox/icon.4bpp"); +const u8 gMonFootprint_Dustox[] = INCBIN_U8("graphics/pokemon/dustox/footprint.1bpp"); + +const u32 gMonFrontPic_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/front.4bpp.lz"); +const u32 gMonPalette_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/normal.gbapal.lz"); +const u32 gMonBackPic_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/back.4bpp.lz"); +const u32 gMonShinyPalette_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/shiny.gbapal.lz"); +const u8 gMonIcon_Lotad[] = INCBIN_U8("graphics/pokemon/lotad/icon.4bpp"); +const u8 gMonFootprint_Lotad[] = INCBIN_U8("graphics/pokemon/lotad/footprint.1bpp"); + +const u32 gMonFrontPic_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/front.4bpp.lz"); +const u32 gMonPalette_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/normal.gbapal.lz"); +const u32 gMonBackPic_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/back.4bpp.lz"); +const u32 gMonShinyPalette_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/shiny.gbapal.lz"); +const u8 gMonIcon_Lombre[] = INCBIN_U8("graphics/pokemon/lombre/icon.4bpp"); +const u8 gMonFootprint_Lombre[] = INCBIN_U8("graphics/pokemon/lombre/footprint.1bpp"); + +const u32 gMonFrontPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/front.4bpp.lz"); +const u32 gMonPalette_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/normal.gbapal.lz"); +const u32 gMonBackPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/back.4bpp.lz"); +const u32 gMonShinyPalette_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/shiny.gbapal.lz"); +const u8 gMonIcon_Ludicolo[] = INCBIN_U8("graphics/pokemon/ludicolo/icon.4bpp"); +const u8 gMonFootprint_Ludicolo[] = INCBIN_U8("graphics/pokemon/ludicolo/footprint.1bpp"); + +const u32 gMonFrontPic_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/front.4bpp.lz"); +const u32 gMonPalette_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/normal.gbapal.lz"); +const u32 gMonBackPic_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/back.4bpp.lz"); +const u32 gMonShinyPalette_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/shiny.gbapal.lz"); +const u8 gMonIcon_Seedot[] = INCBIN_U8("graphics/pokemon/seedot/icon.4bpp"); +const u8 gMonFootprint_Seedot[] = INCBIN_U8("graphics/pokemon/seedot/footprint.1bpp"); + +const u32 gMonFrontPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/front.4bpp.lz"); +const u32 gMonPalette_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/normal.gbapal.lz"); +const u32 gMonBackPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/back.4bpp.lz"); +const u32 gMonShinyPalette_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/shiny.gbapal.lz"); +const u8 gMonIcon_Nuzleaf[] = INCBIN_U8("graphics/pokemon/nuzleaf/icon.4bpp"); +const u8 gMonFootprint_Nuzleaf[] = INCBIN_U8("graphics/pokemon/nuzleaf/footprint.1bpp"); + +const u32 gMonFrontPic_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/front.4bpp.lz"); +const u32 gMonPalette_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/normal.gbapal.lz"); +const u32 gMonBackPic_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/back.4bpp.lz"); +const u32 gMonShinyPalette_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/shiny.gbapal.lz"); +const u8 gMonIcon_Shiftry[] = INCBIN_U8("graphics/pokemon/shiftry/icon.4bpp"); +const u8 gMonFootprint_Shiftry[] = INCBIN_U8("graphics/pokemon/shiftry/footprint.1bpp"); + +const u32 gMonFrontPic_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/front.4bpp.lz"); +const u32 gMonPalette_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/normal.gbapal.lz"); +const u32 gMonBackPic_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/back.4bpp.lz"); +const u32 gMonShinyPalette_Nincada[] = INCBIN_U32("graphics/pokemon/nincada/shiny.gbapal.lz"); +const u8 gMonIcon_Nincada[] = INCBIN_U8("graphics/pokemon/nincada/icon.4bpp"); +const u8 gMonFootprint_Nincada[] = INCBIN_U8("graphics/pokemon/nincada/footprint.1bpp"); + +const u32 gMonFrontPic_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/front.4bpp.lz"); +const u32 gMonPalette_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/normal.gbapal.lz"); +const u32 gMonBackPic_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/back.4bpp.lz"); +const u32 gMonShinyPalette_Ninjask[] = INCBIN_U32("graphics/pokemon/ninjask/shiny.gbapal.lz"); +const u8 gMonIcon_Ninjask[] = INCBIN_U8("graphics/pokemon/ninjask/icon.4bpp"); +const u8 gMonFootprint_Ninjask[] = INCBIN_U8("graphics/pokemon/ninjask/footprint.1bpp"); + +const u32 gMonFrontPic_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/front.4bpp.lz"); +const u32 gMonPalette_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/normal.gbapal.lz"); +const u32 gMonBackPic_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/back.4bpp.lz"); +const u32 gMonShinyPalette_Shedinja[] = INCBIN_U32("graphics/pokemon/shedinja/shiny.gbapal.lz"); +const u8 gMonIcon_Shedinja[] = INCBIN_U8("graphics/pokemon/shedinja/icon.4bpp"); +const u8 gMonFootprint_Shedinja[] = INCBIN_U8("graphics/pokemon/shedinja/footprint.1bpp"); + +const u32 gMonFrontPic_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/front.4bpp.lz"); +const u32 gMonPalette_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/normal.gbapal.lz"); +const u32 gMonBackPic_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/back.4bpp.lz"); +const u32 gMonShinyPalette_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/shiny.gbapal.lz"); +const u8 gMonIcon_Taillow[] = INCBIN_U8("graphics/pokemon/taillow/icon.4bpp"); +const u8 gMonFootprint_Taillow[] = INCBIN_U8("graphics/pokemon/taillow/footprint.1bpp"); + +const u32 gMonFrontPic_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/front.4bpp.lz"); +const u32 gMonPalette_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/normal.gbapal.lz"); +const u32 gMonBackPic_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/back.4bpp.lz"); +const u32 gMonShinyPalette_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/shiny.gbapal.lz"); +const u8 gMonIcon_Swellow[] = INCBIN_U8("graphics/pokemon/swellow/icon.4bpp"); +const u8 gMonFootprint_Swellow[] = INCBIN_U8("graphics/pokemon/swellow/footprint.1bpp"); + +const u32 gMonFrontPic_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/front.4bpp.lz"); +const u32 gMonPalette_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/normal.gbapal.lz"); +const u32 gMonBackPic_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/back.4bpp.lz"); +const u32 gMonShinyPalette_Shroomish[] = INCBIN_U32("graphics/pokemon/shroomish/shiny.gbapal.lz"); +const u8 gMonIcon_Shroomish[] = INCBIN_U8("graphics/pokemon/shroomish/icon.4bpp"); +const u8 gMonFootprint_Shroomish[] = INCBIN_U8("graphics/pokemon/shroomish/footprint.1bpp"); + +const u32 gMonFrontPic_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/front.4bpp.lz"); +const u32 gMonPalette_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/normal.gbapal.lz"); +const u32 gMonBackPic_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/back.4bpp.lz"); +const u32 gMonShinyPalette_Breloom[] = INCBIN_U32("graphics/pokemon/breloom/shiny.gbapal.lz"); +const u8 gMonIcon_Breloom[] = INCBIN_U8("graphics/pokemon/breloom/icon.4bpp"); +const u8 gMonFootprint_Breloom[] = INCBIN_U8("graphics/pokemon/breloom/footprint.1bpp"); + +const u32 gMonFrontPic_Spinda[] = INCBIN_U32("graphics/pokemon/spinda/front.4bpp.lz"); +const u32 gMonPalette_Spinda[] = INCBIN_U32("graphics/pokemon/spinda/normal.gbapal.lz"); +const u32 gMonBackPic_Spinda[] = INCBIN_U32("graphics/pokemon/spinda/back.4bpp.lz"); +const u32 gMonShinyPalette_Spinda[] = INCBIN_U32("graphics/pokemon/spinda/shiny.gbapal.lz"); +const u8 gMonIcon_Spinda[] = INCBIN_U8("graphics/pokemon/spinda/icon.4bpp"); +const u8 gMonFootprint_Spinda[] = INCBIN_U8("graphics/pokemon/spinda/footprint.1bpp"); + +const u32 gMonFrontPic_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/front.4bpp.lz"); +const u32 gMonPalette_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/normal.gbapal.lz"); +const u32 gMonBackPic_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/back.4bpp.lz"); +const u32 gMonShinyPalette_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/shiny.gbapal.lz"); +const u8 gMonIcon_Wingull[] = INCBIN_U8("graphics/pokemon/wingull/icon.4bpp"); +const u8 gMonFootprint_Wingull[] = INCBIN_U8("graphics/pokemon/wingull/footprint.1bpp"); + +const u32 gMonFrontPic_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/front.4bpp.lz"); +const u32 gMonPalette_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/normal.gbapal.lz"); +const u32 gMonBackPic_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/back.4bpp.lz"); +const u32 gMonShinyPalette_Pelipper[] = INCBIN_U32("graphics/pokemon/pelipper/shiny.gbapal.lz"); +const u8 gMonIcon_Pelipper[] = INCBIN_U8("graphics/pokemon/pelipper/icon.4bpp"); +const u8 gMonFootprint_Pelipper[] = INCBIN_U8("graphics/pokemon/pelipper/footprint.1bpp"); + +const u32 gMonFrontPic_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/front.4bpp.lz"); +const u32 gMonPalette_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/normal.gbapal.lz"); +const u32 gMonBackPic_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/back.4bpp.lz"); +const u32 gMonShinyPalette_Surskit[] = INCBIN_U32("graphics/pokemon/surskit/shiny.gbapal.lz"); +const u8 gMonIcon_Surskit[] = INCBIN_U8("graphics/pokemon/surskit/icon.4bpp"); +const u8 gMonFootprint_Surskit[] = INCBIN_U8("graphics/pokemon/surskit/footprint.1bpp"); + +const u32 gMonFrontPic_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/front.4bpp.lz"); +const u32 gMonPalette_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/normal.gbapal.lz"); +const u32 gMonBackPic_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/back.4bpp.lz"); +const u32 gMonShinyPalette_Masquerain[] = INCBIN_U32("graphics/pokemon/masquerain/shiny.gbapal.lz"); +const u8 gMonIcon_Masquerain[] = INCBIN_U8("graphics/pokemon/masquerain/icon.4bpp"); +const u8 gMonFootprint_Masquerain[] = INCBIN_U8("graphics/pokemon/masquerain/footprint.1bpp"); + +const u32 gMonFrontPic_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/front.4bpp.lz"); +const u32 gMonPalette_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/normal.gbapal.lz"); +const u32 gMonBackPic_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/back.4bpp.lz"); +const u32 gMonShinyPalette_Wailmer[] = INCBIN_U32("graphics/pokemon/wailmer/shiny.gbapal.lz"); +const u8 gMonIcon_Wailmer[] = INCBIN_U8("graphics/pokemon/wailmer/icon.4bpp"); +const u8 gMonFootprint_Wailmer[] = INCBIN_U8("graphics/pokemon/wailmer/footprint.1bpp"); + +const u32 gMonFrontPic_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/front.4bpp.lz"); +const u32 gMonPalette_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/normal.gbapal.lz"); +const u32 gMonBackPic_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/back.4bpp.lz"); +const u32 gMonShinyPalette_Wailord[] = INCBIN_U32("graphics/pokemon/wailord/shiny.gbapal.lz"); +const u8 gMonIcon_Wailord[] = INCBIN_U8("graphics/pokemon/wailord/icon.4bpp"); +const u8 gMonFootprint_Wailord[] = INCBIN_U8("graphics/pokemon/wailord/footprint.1bpp"); + +const u32 gMonFrontPic_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/front.4bpp.lz"); +const u32 gMonPalette_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/normal.gbapal.lz"); +const u32 gMonBackPic_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/back.4bpp.lz"); +const u32 gMonShinyPalette_Skitty[] = INCBIN_U32("graphics/pokemon/skitty/shiny.gbapal.lz"); +const u8 gMonIcon_Skitty[] = INCBIN_U8("graphics/pokemon/skitty/icon.4bpp"); +const u8 gMonFootprint_Skitty[] = INCBIN_U8("graphics/pokemon/skitty/footprint.1bpp"); + +const u32 gMonFrontPic_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/front.4bpp.lz"); +const u32 gMonPalette_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/normal.gbapal.lz"); +const u32 gMonBackPic_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/back.4bpp.lz"); +const u32 gMonShinyPalette_Delcatty[] = INCBIN_U32("graphics/pokemon/delcatty/shiny.gbapal.lz"); +const u8 gMonIcon_Delcatty[] = INCBIN_U8("graphics/pokemon/delcatty/icon.4bpp"); +const u8 gMonFootprint_Delcatty[] = INCBIN_U8("graphics/pokemon/delcatty/footprint.1bpp"); + +const u32 gMonFrontPic_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/front.4bpp.lz"); +const u32 gMonPalette_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/normal.gbapal.lz"); +const u32 gMonBackPic_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/back.4bpp.lz"); +const u32 gMonShinyPalette_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/shiny.gbapal.lz"); +const u8 gMonIcon_Kecleon[] = INCBIN_U8("graphics/pokemon/kecleon/icon.4bpp"); +const u8 gMonFootprint_Kecleon[] = INCBIN_U8("graphics/pokemon/kecleon/footprint.1bpp"); + +const u32 gMonFrontPic_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/front.4bpp.lz"); +const u32 gMonPalette_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/normal.gbapal.lz"); +const u32 gMonBackPic_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/back.4bpp.lz"); +const u32 gMonShinyPalette_Baltoy[] = INCBIN_U32("graphics/pokemon/baltoy/shiny.gbapal.lz"); +const u8 gMonIcon_Baltoy[] = INCBIN_U8("graphics/pokemon/baltoy/icon.4bpp"); +const u8 gMonFootprint_Baltoy[] = INCBIN_U8("graphics/pokemon/baltoy/footprint.1bpp"); + +const u32 gMonFrontPic_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/front.4bpp.lz"); +const u32 gMonPalette_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/normal.gbapal.lz"); +const u32 gMonBackPic_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/back.4bpp.lz"); +const u32 gMonShinyPalette_Claydol[] = INCBIN_U32("graphics/pokemon/claydol/shiny.gbapal.lz"); +const u8 gMonIcon_Claydol[] = INCBIN_U8("graphics/pokemon/claydol/icon.4bpp"); +const u8 gMonFootprint_Claydol[] = INCBIN_U8("graphics/pokemon/claydol/footprint.1bpp"); + +const u32 gMonFrontPic_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/front.4bpp.lz"); +const u32 gMonPalette_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/normal.gbapal.lz"); +const u32 gMonBackPic_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/back.4bpp.lz"); +const u32 gMonShinyPalette_Nosepass[] = INCBIN_U32("graphics/pokemon/nosepass/shiny.gbapal.lz"); +const u8 gMonIcon_Nosepass[] = INCBIN_U8("graphics/pokemon/nosepass/icon.4bpp"); +const u8 gMonFootprint_Nosepass[] = INCBIN_U8("graphics/pokemon/nosepass/footprint.1bpp"); + +const u32 gMonFrontPic_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/front.4bpp.lz"); +const u32 gMonPalette_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/normal.gbapal.lz"); +const u32 gMonBackPic_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/back.4bpp.lz"); +const u32 gMonShinyPalette_Torkoal[] = INCBIN_U32("graphics/pokemon/torkoal/shiny.gbapal.lz"); +const u8 gMonIcon_Torkoal[] = INCBIN_U8("graphics/pokemon/torkoal/icon.4bpp"); +const u8 gMonFootprint_Torkoal[] = INCBIN_U8("graphics/pokemon/torkoal/footprint.1bpp"); + +const u32 gMonFrontPic_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/front.4bpp.lz"); +const u32 gMonPalette_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/normal.gbapal.lz"); +const u32 gMonBackPic_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/back.4bpp.lz"); +const u32 gMonShinyPalette_Sableye[] = INCBIN_U32("graphics/pokemon/sableye/shiny.gbapal.lz"); +const u8 gMonIcon_Sableye[] = INCBIN_U8("graphics/pokemon/sableye/icon.4bpp"); +const u8 gMonFootprint_Sableye[] = INCBIN_U8("graphics/pokemon/sableye/footprint.1bpp"); + +const u32 gMonFrontPic_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/front.4bpp.lz"); +const u32 gMonPalette_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/normal.gbapal.lz"); +const u32 gMonBackPic_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/back.4bpp.lz"); +const u32 gMonShinyPalette_Barboach[] = INCBIN_U32("graphics/pokemon/barboach/shiny.gbapal.lz"); +const u8 gMonIcon_Barboach[] = INCBIN_U8("graphics/pokemon/barboach/icon.4bpp"); +const u8 gMonFootprint_Barboach[] = INCBIN_U8("graphics/pokemon/barboach/footprint.1bpp"); + +const u32 gMonFrontPic_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/front.4bpp.lz"); +const u32 gMonPalette_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/normal.gbapal.lz"); +const u32 gMonBackPic_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/back.4bpp.lz"); +const u32 gMonShinyPalette_Whiscash[] = INCBIN_U32("graphics/pokemon/whiscash/shiny.gbapal.lz"); +const u8 gMonIcon_Whiscash[] = INCBIN_U8("graphics/pokemon/whiscash/icon.4bpp"); +const u8 gMonFootprint_Whiscash[] = INCBIN_U8("graphics/pokemon/whiscash/footprint.1bpp"); + +const u32 gMonFrontPic_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/front.4bpp.lz"); +const u32 gMonPalette_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/normal.gbapal.lz"); +const u32 gMonBackPic_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/back.4bpp.lz"); +const u32 gMonShinyPalette_Luvdisc[] = INCBIN_U32("graphics/pokemon/luvdisc/shiny.gbapal.lz"); +const u8 gMonIcon_Luvdisc[] = INCBIN_U8("graphics/pokemon/luvdisc/icon.4bpp"); +const u8 gMonFootprint_Luvdisc[] = INCBIN_U8("graphics/pokemon/luvdisc/footprint.1bpp"); + +const u32 gMonFrontPic_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/front.4bpp.lz"); +const u32 gMonPalette_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/normal.gbapal.lz"); +const u32 gMonBackPic_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/back.4bpp.lz"); +const u32 gMonShinyPalette_Corphish[] = INCBIN_U32("graphics/pokemon/corphish/shiny.gbapal.lz"); +const u8 gMonIcon_Corphish[] = INCBIN_U8("graphics/pokemon/corphish/icon.4bpp"); +const u8 gMonFootprint_Corphish[] = INCBIN_U8("graphics/pokemon/corphish/footprint.1bpp"); + +const u32 gMonFrontPic_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/front.4bpp.lz"); +const u32 gMonPalette_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/normal.gbapal.lz"); +const u32 gMonBackPic_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/back.4bpp.lz"); +const u32 gMonShinyPalette_Crawdaunt[] = INCBIN_U32("graphics/pokemon/crawdaunt/shiny.gbapal.lz"); +const u8 gMonIcon_Crawdaunt[] = INCBIN_U8("graphics/pokemon/crawdaunt/icon.4bpp"); +const u8 gMonFootprint_Crawdaunt[] = INCBIN_U8("graphics/pokemon/crawdaunt/footprint.1bpp"); + +const u32 gMonFrontPic_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/front.4bpp.lz"); +const u32 gMonPalette_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/normal.gbapal.lz"); +const u32 gMonBackPic_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/back.4bpp.lz"); +const u32 gMonShinyPalette_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/shiny.gbapal.lz"); +const u8 gMonIcon_Feebas[] = INCBIN_U8("graphics/pokemon/feebas/icon.4bpp"); +const u8 gMonFootprint_Feebas[] = INCBIN_U8("graphics/pokemon/feebas/footprint.1bpp"); + +const u32 gMonFrontPic_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/front.4bpp.lz"); +const u32 gMonPalette_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/normal.gbapal.lz"); +const u32 gMonBackPic_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/back.4bpp.lz"); +const u32 gMonShinyPalette_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/shiny.gbapal.lz"); +const u8 gMonIcon_Milotic[] = INCBIN_U8("graphics/pokemon/milotic/icon.4bpp"); +const u8 gMonFootprint_Milotic[] = INCBIN_U8("graphics/pokemon/milotic/footprint.1bpp"); + +const u32 gMonFrontPic_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/front.4bpp.lz"); +const u32 gMonPalette_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/normal.gbapal.lz"); +const u32 gMonBackPic_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/back.4bpp.lz"); +const u32 gMonShinyPalette_Carvanha[] = INCBIN_U32("graphics/pokemon/carvanha/shiny.gbapal.lz"); +const u8 gMonIcon_Carvanha[] = INCBIN_U8("graphics/pokemon/carvanha/icon.4bpp"); +const u8 gMonFootprint_Carvanha[] = INCBIN_U8("graphics/pokemon/carvanha/footprint.1bpp"); + +const u32 gMonFrontPic_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/front.4bpp.lz"); +const u32 gMonPalette_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/normal.gbapal.lz"); +const u32 gMonBackPic_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/back.4bpp.lz"); +const u32 gMonShinyPalette_Sharpedo[] = INCBIN_U32("graphics/pokemon/sharpedo/shiny.gbapal.lz"); +const u8 gMonIcon_Sharpedo[] = INCBIN_U8("graphics/pokemon/sharpedo/icon.4bpp"); +const u8 gMonFootprint_Sharpedo[] = INCBIN_U8("graphics/pokemon/sharpedo/footprint.1bpp"); + +const u32 gMonFrontPic_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/front.4bpp.lz"); +const u32 gMonPalette_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/normal.gbapal.lz"); +const u32 gMonBackPic_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/back.4bpp.lz"); +const u32 gMonShinyPalette_Trapinch[] = INCBIN_U32("graphics/pokemon/trapinch/shiny.gbapal.lz"); +const u8 gMonIcon_Trapinch[] = INCBIN_U8("graphics/pokemon/trapinch/icon.4bpp"); +const u8 gMonFootprint_Trapinch[] = INCBIN_U8("graphics/pokemon/trapinch/footprint.1bpp"); + +const u32 gMonFrontPic_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/front.4bpp.lz"); +const u32 gMonPalette_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/normal.gbapal.lz"); +const u32 gMonBackPic_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/back.4bpp.lz"); +const u32 gMonShinyPalette_Vibrava[] = INCBIN_U32("graphics/pokemon/vibrava/shiny.gbapal.lz"); +const u8 gMonIcon_Vibrava[] = INCBIN_U8("graphics/pokemon/vibrava/icon.4bpp"); +const u8 gMonFootprint_Vibrava[] = INCBIN_U8("graphics/pokemon/vibrava/footprint.1bpp"); + +const u32 gMonFrontPic_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/front.4bpp.lz"); +const u32 gMonPalette_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/normal.gbapal.lz"); +const u32 gMonBackPic_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/back.4bpp.lz"); +const u32 gMonShinyPalette_Flygon[] = INCBIN_U32("graphics/pokemon/flygon/shiny.gbapal.lz"); +const u8 gMonIcon_Flygon[] = INCBIN_U8("graphics/pokemon/flygon/icon.4bpp"); +const u8 gMonFootprint_Flygon[] = INCBIN_U8("graphics/pokemon/flygon/footprint.1bpp"); + +const u32 gMonFrontPic_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/front.4bpp.lz"); +const u32 gMonPalette_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/normal.gbapal.lz"); +const u32 gMonBackPic_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/back.4bpp.lz"); +const u32 gMonShinyPalette_Makuhita[] = INCBIN_U32("graphics/pokemon/makuhita/shiny.gbapal.lz"); +const u8 gMonIcon_Makuhita[] = INCBIN_U8("graphics/pokemon/makuhita/icon.4bpp"); +const u8 gMonFootprint_Makuhita[] = INCBIN_U8("graphics/pokemon/makuhita/footprint.1bpp"); + +const u32 gMonFrontPic_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/front.4bpp.lz"); +const u32 gMonPalette_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/normal.gbapal.lz"); +const u32 gMonBackPic_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/back.4bpp.lz"); +const u32 gMonShinyPalette_Hariyama[] = INCBIN_U32("graphics/pokemon/hariyama/shiny.gbapal.lz"); +const u8 gMonIcon_Hariyama[] = INCBIN_U8("graphics/pokemon/hariyama/icon.4bpp"); +const u8 gMonFootprint_Hariyama[] = INCBIN_U8("graphics/pokemon/hariyama/footprint.1bpp"); + +const u32 gMonFrontPic_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/front.4bpp.lz"); +const u32 gMonPalette_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/normal.gbapal.lz"); +const u32 gMonBackPic_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/back.4bpp.lz"); +const u32 gMonShinyPalette_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/shiny.gbapal.lz"); +const u8 gMonIcon_Electrike[] = INCBIN_U8("graphics/pokemon/electrike/icon.4bpp"); +const u8 gMonFootprint_Electrike[] = INCBIN_U8("graphics/pokemon/electrike/footprint.1bpp"); + +const u32 gMonFrontPic_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/front.4bpp.lz"); +const u32 gMonPalette_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/normal.gbapal.lz"); +const u32 gMonBackPic_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/back.4bpp.lz"); +const u32 gMonShinyPalette_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/shiny.gbapal.lz"); +const u8 gMonIcon_Manectric[] = INCBIN_U8("graphics/pokemon/manectric/icon.4bpp"); +const u8 gMonFootprint_Manectric[] = INCBIN_U8("graphics/pokemon/manectric/footprint.1bpp"); + +const u32 gMonFrontPic_Numel[] = INCBIN_U32("graphics/pokemon/numel/front.4bpp.lz"); +const u32 gMonPalette_Numel[] = INCBIN_U32("graphics/pokemon/numel/normal.gbapal.lz"); +const u32 gMonBackPic_Numel[] = INCBIN_U32("graphics/pokemon/numel/back.4bpp.lz"); +const u32 gMonShinyPalette_Numel[] = INCBIN_U32("graphics/pokemon/numel/shiny.gbapal.lz"); +const u8 gMonIcon_Numel[] = INCBIN_U8("graphics/pokemon/numel/icon.4bpp"); +const u8 gMonFootprint_Numel[] = INCBIN_U8("graphics/pokemon/numel/footprint.1bpp"); + +const u32 gMonFrontPic_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/front.4bpp.lz"); +const u32 gMonPalette_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/normal.gbapal.lz"); +const u32 gMonBackPic_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/back.4bpp.lz"); +const u32 gMonShinyPalette_Camerupt[] = INCBIN_U32("graphics/pokemon/camerupt/shiny.gbapal.lz"); +const u8 gMonIcon_Camerupt[] = INCBIN_U8("graphics/pokemon/camerupt/icon.4bpp"); +const u8 gMonFootprint_Camerupt[] = INCBIN_U8("graphics/pokemon/camerupt/footprint.1bpp"); + +const u32 gMonFrontPic_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/front.4bpp.lz"); +const u32 gMonPalette_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/normal.gbapal.lz"); +const u32 gMonBackPic_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/back.4bpp.lz"); +const u32 gMonShinyPalette_Spheal[] = INCBIN_U32("graphics/pokemon/spheal/shiny.gbapal.lz"); +const u8 gMonIcon_Spheal[] = INCBIN_U8("graphics/pokemon/spheal/icon.4bpp"); +const u8 gMonFootprint_Spheal[] = INCBIN_U8("graphics/pokemon/spheal/footprint.1bpp"); + +const u32 gMonFrontPic_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/front.4bpp.lz"); +const u32 gMonPalette_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/normal.gbapal.lz"); +const u32 gMonBackPic_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/back.4bpp.lz"); +const u32 gMonShinyPalette_Sealeo[] = INCBIN_U32("graphics/pokemon/sealeo/shiny.gbapal.lz"); +const u8 gMonIcon_Sealeo[] = INCBIN_U8("graphics/pokemon/sealeo/icon.4bpp"); +const u8 gMonFootprint_Sealeo[] = INCBIN_U8("graphics/pokemon/sealeo/footprint.1bpp"); + +const u32 gMonFrontPic_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/front.4bpp.lz"); +const u32 gMonPalette_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/normal.gbapal.lz"); +const u32 gMonBackPic_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/back.4bpp.lz"); +const u32 gMonShinyPalette_Walrein[] = INCBIN_U32("graphics/pokemon/walrein/shiny.gbapal.lz"); +const u8 gMonIcon_Walrein[] = INCBIN_U8("graphics/pokemon/walrein/icon.4bpp"); +const u8 gMonFootprint_Walrein[] = INCBIN_U8("graphics/pokemon/walrein/footprint.1bpp"); + +const u32 gMonFrontPic_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/front.4bpp.lz"); +const u32 gMonPalette_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/normal.gbapal.lz"); +const u32 gMonBackPic_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/back.4bpp.lz"); +const u32 gMonShinyPalette_Cacnea[] = INCBIN_U32("graphics/pokemon/cacnea/shiny.gbapal.lz"); +const u8 gMonIcon_Cacnea[] = INCBIN_U8("graphics/pokemon/cacnea/icon.4bpp"); +const u8 gMonFootprint_Cacnea[] = INCBIN_U8("graphics/pokemon/cacnea/footprint.1bpp"); + +const u32 gMonFrontPic_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/front.4bpp.lz"); +const u32 gMonPalette_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/normal.gbapal.lz"); +const u32 gMonBackPic_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/back.4bpp.lz"); +const u32 gMonShinyPalette_Cacturne[] = INCBIN_U32("graphics/pokemon/cacturne/shiny.gbapal.lz"); +const u8 gMonIcon_Cacturne[] = INCBIN_U8("graphics/pokemon/cacturne/icon.4bpp"); +const u8 gMonFootprint_Cacturne[] = INCBIN_U8("graphics/pokemon/cacturne/footprint.1bpp"); + +const u32 gMonFrontPic_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/front.4bpp.lz"); +const u32 gMonPalette_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/normal.gbapal.lz"); +const u32 gMonBackPic_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/back.4bpp.lz"); +const u32 gMonShinyPalette_Snorunt[] = INCBIN_U32("graphics/pokemon/snorunt/shiny.gbapal.lz"); +const u8 gMonIcon_Snorunt[] = INCBIN_U8("graphics/pokemon/snorunt/icon.4bpp"); +const u8 gMonFootprint_Snorunt[] = INCBIN_U8("graphics/pokemon/snorunt/footprint.1bpp"); + +const u32 gMonFrontPic_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/front.4bpp.lz"); +const u32 gMonPalette_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/normal.gbapal.lz"); +const u32 gMonBackPic_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/back.4bpp.lz"); +const u32 gMonShinyPalette_Glalie[] = INCBIN_U32("graphics/pokemon/glalie/shiny.gbapal.lz"); +const u8 gMonIcon_Glalie[] = INCBIN_U8("graphics/pokemon/glalie/icon.4bpp"); +const u8 gMonFootprint_Glalie[] = INCBIN_U8("graphics/pokemon/glalie/footprint.1bpp"); + +const u32 gMonFrontPic_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/front.4bpp.lz"); +const u32 gMonPalette_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/normal.gbapal.lz"); +const u32 gMonBackPic_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/back.4bpp.lz"); +const u32 gMonShinyPalette_Lunatone[] = INCBIN_U32("graphics/pokemon/lunatone/shiny.gbapal.lz"); +const u8 gMonIcon_Lunatone[] = INCBIN_U8("graphics/pokemon/lunatone/icon.4bpp"); +const u8 gMonFootprint_Lunatone[] = INCBIN_U8("graphics/pokemon/lunatone/footprint.1bpp"); + +const u32 gMonFrontPic_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/front.4bpp.lz"); +const u32 gMonPalette_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/normal.gbapal.lz"); +const u32 gMonBackPic_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/back.4bpp.lz"); +const u32 gMonShinyPalette_Solrock[] = INCBIN_U32("graphics/pokemon/solrock/shiny.gbapal.lz"); +const u8 gMonIcon_Solrock[] = INCBIN_U8("graphics/pokemon/solrock/icon.4bpp"); +const u8 gMonFootprint_Solrock[] = INCBIN_U8("graphics/pokemon/solrock/footprint.1bpp"); + +const u32 gMonFrontPic_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/front.4bpp.lz"); +const u32 gMonPalette_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/normal.gbapal.lz"); +const u32 gMonBackPic_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/back.4bpp.lz"); +const u32 gMonShinyPalette_Azurill[] = INCBIN_U32("graphics/pokemon/azurill/shiny.gbapal.lz"); +const u8 gMonIcon_Azurill[] = INCBIN_U8("graphics/pokemon/azurill/icon.4bpp"); +const u8 gMonFootprint_Azurill[] = INCBIN_U8("graphics/pokemon/azurill/footprint.1bpp"); + +const u32 gMonFrontPic_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/front.4bpp.lz"); +const u32 gMonPalette_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/normal.gbapal.lz"); +const u32 gMonBackPic_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/back.4bpp.lz"); +const u32 gMonShinyPalette_Spoink[] = INCBIN_U32("graphics/pokemon/spoink/shiny.gbapal.lz"); +const u8 gMonIcon_Spoink[] = INCBIN_U8("graphics/pokemon/spoink/icon.4bpp"); +const u8 gMonFootprint_Spoink[] = INCBIN_U8("graphics/pokemon/spoink/footprint.1bpp"); + +const u32 gMonFrontPic_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/front.4bpp.lz"); +const u32 gMonPalette_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/normal.gbapal.lz"); +const u32 gMonBackPic_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/back.4bpp.lz"); +const u32 gMonShinyPalette_Grumpig[] = INCBIN_U32("graphics/pokemon/grumpig/shiny.gbapal.lz"); +const u8 gMonIcon_Grumpig[] = INCBIN_U8("graphics/pokemon/grumpig/icon.4bpp"); +const u8 gMonFootprint_Grumpig[] = INCBIN_U8("graphics/pokemon/grumpig/footprint.1bpp"); + +const u32 gMonFrontPic_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/front.4bpp.lz"); +const u32 gMonPalette_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/normal.gbapal.lz"); +const u32 gMonBackPic_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/back.4bpp.lz"); +const u32 gMonShinyPalette_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/shiny.gbapal.lz"); +const u8 gMonIcon_Plusle[] = INCBIN_U8("graphics/pokemon/plusle/icon.4bpp"); +const u8 gMonFootprint_Plusle[] = INCBIN_U8("graphics/pokemon/plusle/footprint.1bpp"); + +const u32 gMonFrontPic_Minun[] = INCBIN_U32("graphics/pokemon/minun/front.4bpp.lz"); +const u32 gMonPalette_Minun[] = INCBIN_U32("graphics/pokemon/minun/normal.gbapal.lz"); +const u32 gMonBackPic_Minun[] = INCBIN_U32("graphics/pokemon/minun/back.4bpp.lz"); +const u32 gMonShinyPalette_Minun[] = INCBIN_U32("graphics/pokemon/minun/shiny.gbapal.lz"); +const u8 gMonIcon_Minun[] = INCBIN_U8("graphics/pokemon/minun/icon.4bpp"); +const u8 gMonFootprint_Minun[] = INCBIN_U8("graphics/pokemon/minun/footprint.1bpp"); + +const u32 gMonFrontPic_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/front.4bpp.lz"); +const u32 gMonPalette_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/normal.gbapal.lz"); +const u32 gMonBackPic_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/back.4bpp.lz"); +const u32 gMonShinyPalette_Mawile[] = INCBIN_U32("graphics/pokemon/mawile/shiny.gbapal.lz"); +const u8 gMonIcon_Mawile[] = INCBIN_U8("graphics/pokemon/mawile/icon.4bpp"); +const u8 gMonFootprint_Mawile[] = INCBIN_U8("graphics/pokemon/mawile/footprint.1bpp"); + +const u32 gMonFrontPic_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/front.4bpp.lz"); +const u32 gMonPalette_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/normal.gbapal.lz"); +const u32 gMonBackPic_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/back.4bpp.lz"); +const u32 gMonShinyPalette_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/shiny.gbapal.lz"); +const u8 gMonIcon_Meditite[] = INCBIN_U8("graphics/pokemon/meditite/icon.4bpp"); +const u8 gMonFootprint_Meditite[] = INCBIN_U8("graphics/pokemon/meditite/footprint.1bpp"); + +const u32 gMonFrontPic_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/front.4bpp.lz"); +const u32 gMonPalette_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/normal.gbapal.lz"); +const u32 gMonBackPic_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/back.4bpp.lz"); +const u32 gMonShinyPalette_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/shiny.gbapal.lz"); +const u8 gMonIcon_Medicham[] = INCBIN_U8("graphics/pokemon/medicham/icon.4bpp"); +const u8 gMonFootprint_Medicham[] = INCBIN_U8("graphics/pokemon/medicham/footprint.1bpp"); + +const u32 gMonFrontPic_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/front.4bpp.lz"); +const u32 gMonPalette_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/normal.gbapal.lz"); +const u32 gMonBackPic_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/back.4bpp.lz"); +const u32 gMonShinyPalette_Swablu[] = INCBIN_U32("graphics/pokemon/swablu/shiny.gbapal.lz"); +const u8 gMonIcon_Swablu[] = INCBIN_U8("graphics/pokemon/swablu/icon.4bpp"); +const u8 gMonFootprint_Swablu[] = INCBIN_U8("graphics/pokemon/swablu/footprint.1bpp"); + +const u32 gMonFrontPic_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/front.4bpp.lz"); +const u32 gMonPalette_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/normal.gbapal.lz"); +const u32 gMonBackPic_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/back.4bpp.lz"); +const u32 gMonShinyPalette_Altaria[] = INCBIN_U32("graphics/pokemon/altaria/shiny.gbapal.lz"); +const u8 gMonIcon_Altaria[] = INCBIN_U8("graphics/pokemon/altaria/icon.4bpp"); +const u8 gMonFootprint_Altaria[] = INCBIN_U8("graphics/pokemon/altaria/footprint.1bpp"); + +const u32 gMonFrontPic_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/front.4bpp.lz"); +const u32 gMonPalette_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/normal.gbapal.lz"); +const u32 gMonBackPic_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/back.4bpp.lz"); +const u32 gMonShinyPalette_Wynaut[] = INCBIN_U32("graphics/pokemon/wynaut/shiny.gbapal.lz"); +const u8 gMonIcon_Wynaut[] = INCBIN_U8("graphics/pokemon/wynaut/icon.4bpp"); +const u8 gMonFootprint_Wynaut[] = INCBIN_U8("graphics/pokemon/wynaut/footprint.1bpp"); + +const u32 gMonFrontPic_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/front.4bpp.lz"); +const u32 gMonPalette_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/normal.gbapal.lz"); +const u32 gMonBackPic_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/back.4bpp.lz"); +const u32 gMonShinyPalette_Duskull[] = INCBIN_U32("graphics/pokemon/duskull/shiny.gbapal.lz"); +const u8 gMonIcon_Duskull[] = INCBIN_U8("graphics/pokemon/duskull/icon.4bpp"); +const u8 gMonFootprint_Duskull[] = INCBIN_U8("graphics/pokemon/duskull/footprint.1bpp"); + +const u32 gMonFrontPic_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/front.4bpp.lz"); +const u32 gMonPalette_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/normal.gbapal.lz"); +const u32 gMonBackPic_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/back.4bpp.lz"); +const u32 gMonShinyPalette_Dusclops[] = INCBIN_U32("graphics/pokemon/dusclops/shiny.gbapal.lz"); +const u8 gMonIcon_Dusclops[] = INCBIN_U8("graphics/pokemon/dusclops/icon.4bpp"); +const u8 gMonFootprint_Dusclops[] = INCBIN_U8("graphics/pokemon/dusclops/footprint.1bpp"); + +const u32 gMonFrontPic_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/front.4bpp.lz"); +const u32 gMonPalette_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/normal.gbapal.lz"); +const u32 gMonBackPic_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/back.4bpp.lz"); +const u32 gMonShinyPalette_Roselia[] = INCBIN_U32("graphics/pokemon/roselia/shiny.gbapal.lz"); +const u8 gMonIcon_Roselia[] = INCBIN_U8("graphics/pokemon/roselia/icon.4bpp"); +const u8 gMonFootprint_Roselia[] = INCBIN_U8("graphics/pokemon/roselia/footprint.1bpp"); + +const u32 gMonFrontPic_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/front.4bpp.lz"); +const u32 gMonPalette_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/normal.gbapal.lz"); +const u32 gMonBackPic_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/back.4bpp.lz"); +const u32 gMonShinyPalette_Slakoth[] = INCBIN_U32("graphics/pokemon/slakoth/shiny.gbapal.lz"); +const u8 gMonIcon_Slakoth[] = INCBIN_U8("graphics/pokemon/slakoth/icon.4bpp"); +const u8 gMonFootprint_Slakoth[] = INCBIN_U8("graphics/pokemon/slakoth/footprint.1bpp"); + +const u32 gMonFrontPic_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/front.4bpp.lz"); +const u32 gMonPalette_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/normal.gbapal.lz"); +const u32 gMonBackPic_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/back.4bpp.lz"); +const u32 gMonShinyPalette_Vigoroth[] = INCBIN_U32("graphics/pokemon/vigoroth/shiny.gbapal.lz"); +const u8 gMonIcon_Vigoroth[] = INCBIN_U8("graphics/pokemon/vigoroth/icon.4bpp"); +const u8 gMonFootprint_Vigoroth[] = INCBIN_U8("graphics/pokemon/vigoroth/footprint.1bpp"); + +const u32 gMonFrontPic_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/front.4bpp.lz"); +const u32 gMonPalette_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/normal.gbapal.lz"); +const u32 gMonBackPic_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/back.4bpp.lz"); +const u32 gMonShinyPalette_Slaking[] = INCBIN_U32("graphics/pokemon/slaking/shiny.gbapal.lz"); +const u8 gMonIcon_Slaking[] = INCBIN_U8("graphics/pokemon/slaking/icon.4bpp"); +const u8 gMonFootprint_Slaking[] = INCBIN_U8("graphics/pokemon/slaking/footprint.1bpp"); + +const u32 gMonFrontPic_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/front.4bpp.lz"); +const u32 gMonPalette_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/normal.gbapal.lz"); +const u32 gMonBackPic_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/back.4bpp.lz"); +const u32 gMonShinyPalette_Gulpin[] = INCBIN_U32("graphics/pokemon/gulpin/shiny.gbapal.lz"); +const u8 gMonIcon_Gulpin[] = INCBIN_U8("graphics/pokemon/gulpin/icon.4bpp"); +const u8 gMonFootprint_Gulpin[] = INCBIN_U8("graphics/pokemon/gulpin/footprint.1bpp"); + +const u32 gMonFrontPic_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/front.4bpp.lz"); +const u32 gMonPalette_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/normal.gbapal.lz"); +const u32 gMonBackPic_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/back.4bpp.lz"); +const u32 gMonShinyPalette_Swalot[] = INCBIN_U32("graphics/pokemon/swalot/shiny.gbapal.lz"); +const u8 gMonIcon_Swalot[] = INCBIN_U8("graphics/pokemon/swalot/icon.4bpp"); +const u8 gMonFootprint_Swalot[] = INCBIN_U8("graphics/pokemon/swalot/footprint.1bpp"); + +const u32 gMonFrontPic_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/front.4bpp.lz"); +const u32 gMonPalette_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/normal.gbapal.lz"); +const u32 gMonBackPic_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/back.4bpp.lz"); +const u32 gMonShinyPalette_Tropius[] = INCBIN_U32("graphics/pokemon/tropius/shiny.gbapal.lz"); +const u8 gMonIcon_Tropius[] = INCBIN_U8("graphics/pokemon/tropius/icon.4bpp"); +const u8 gMonFootprint_Tropius[] = INCBIN_U8("graphics/pokemon/tropius/footprint.1bpp"); + +const u32 gMonFrontPic_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/front.4bpp.lz"); +const u32 gMonPalette_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/normal.gbapal.lz"); +const u32 gMonBackPic_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/back.4bpp.lz"); +const u32 gMonShinyPalette_Whismur[] = INCBIN_U32("graphics/pokemon/whismur/shiny.gbapal.lz"); +const u8 gMonIcon_Whismur[] = INCBIN_U8("graphics/pokemon/whismur/icon.4bpp"); +const u8 gMonFootprint_Whismur[] = INCBIN_U8("graphics/pokemon/whismur/footprint.1bpp"); + +const u32 gMonFrontPic_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/front.4bpp.lz"); +const u32 gMonPalette_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/normal.gbapal.lz"); +const u32 gMonBackPic_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/back.4bpp.lz"); +const u32 gMonShinyPalette_Loudred[] = INCBIN_U32("graphics/pokemon/loudred/shiny.gbapal.lz"); +const u8 gMonIcon_Loudred[] = INCBIN_U8("graphics/pokemon/loudred/icon.4bpp"); +const u8 gMonFootprint_Loudred[] = INCBIN_U8("graphics/pokemon/loudred/footprint.1bpp"); + +const u32 gMonFrontPic_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/front.4bpp.lz"); +const u32 gMonPalette_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/normal.gbapal.lz"); +const u32 gMonBackPic_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/back.4bpp.lz"); +const u32 gMonShinyPalette_Exploud[] = INCBIN_U32("graphics/pokemon/exploud/shiny.gbapal.lz"); +const u8 gMonIcon_Exploud[] = INCBIN_U8("graphics/pokemon/exploud/icon.4bpp"); +const u8 gMonFootprint_Exploud[] = INCBIN_U8("graphics/pokemon/exploud/footprint.1bpp"); + +const u32 gMonFrontPic_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/front.4bpp.lz"); +const u32 gMonPalette_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/normal.gbapal.lz"); +const u32 gMonBackPic_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/back.4bpp.lz"); +const u32 gMonShinyPalette_Clamperl[] = INCBIN_U32("graphics/pokemon/clamperl/shiny.gbapal.lz"); +const u8 gMonIcon_Clamperl[] = INCBIN_U8("graphics/pokemon/clamperl/icon.4bpp"); +const u8 gMonFootprint_Clamperl[] = INCBIN_U8("graphics/pokemon/clamperl/footprint.1bpp"); + +const u32 gMonFrontPic_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/front.4bpp.lz"); +const u32 gMonPalette_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/normal.gbapal.lz"); +const u32 gMonBackPic_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/back.4bpp.lz"); +const u32 gMonShinyPalette_Huntail[] = INCBIN_U32("graphics/pokemon/huntail/shiny.gbapal.lz"); +const u8 gMonIcon_Huntail[] = INCBIN_U8("graphics/pokemon/huntail/icon.4bpp"); +const u8 gMonFootprint_Huntail[] = INCBIN_U8("graphics/pokemon/huntail/footprint.1bpp"); + +const u32 gMonFrontPic_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/front.4bpp.lz"); +const u32 gMonPalette_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/normal.gbapal.lz"); +const u32 gMonBackPic_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/back.4bpp.lz"); +const u32 gMonShinyPalette_Gorebyss[] = INCBIN_U32("graphics/pokemon/gorebyss/shiny.gbapal.lz"); +const u8 gMonIcon_Gorebyss[] = INCBIN_U8("graphics/pokemon/gorebyss/icon.4bpp"); +const u8 gMonFootprint_Gorebyss[] = INCBIN_U8("graphics/pokemon/gorebyss/footprint.1bpp"); + +const u32 gMonFrontPic_Absol[] = INCBIN_U32("graphics/pokemon/absol/front.4bpp.lz"); +const u32 gMonPalette_Absol[] = INCBIN_U32("graphics/pokemon/absol/normal.gbapal.lz"); +const u32 gMonBackPic_Absol[] = INCBIN_U32("graphics/pokemon/absol/back.4bpp.lz"); +const u32 gMonShinyPalette_Absol[] = INCBIN_U32("graphics/pokemon/absol/shiny.gbapal.lz"); +const u8 gMonIcon_Absol[] = INCBIN_U8("graphics/pokemon/absol/icon.4bpp"); +const u8 gMonFootprint_Absol[] = INCBIN_U8("graphics/pokemon/absol/footprint.1bpp"); + +const u32 gMonFrontPic_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/front.4bpp.lz"); +const u32 gMonPalette_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/normal.gbapal.lz"); +const u32 gMonBackPic_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/back.4bpp.lz"); +const u32 gMonShinyPalette_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/shiny.gbapal.lz"); +const u8 gMonIcon_Shuppet[] = INCBIN_U8("graphics/pokemon/shuppet/icon.4bpp"); +const u8 gMonFootprint_Shuppet[] = INCBIN_U8("graphics/pokemon/shuppet/footprint.1bpp"); + +const u32 gMonFrontPic_Banette[] = INCBIN_U32("graphics/pokemon/banette/front.4bpp.lz"); +const u32 gMonPalette_Banette[] = INCBIN_U32("graphics/pokemon/banette/normal.gbapal.lz"); +const u32 gMonBackPic_Banette[] = INCBIN_U32("graphics/pokemon/banette/back.4bpp.lz"); +const u32 gMonShinyPalette_Banette[] = INCBIN_U32("graphics/pokemon/banette/shiny.gbapal.lz"); +const u8 gMonIcon_Banette[] = INCBIN_U8("graphics/pokemon/banette/icon.4bpp"); +const u8 gMonFootprint_Banette[] = INCBIN_U8("graphics/pokemon/banette/footprint.1bpp"); + +const u32 gMonFrontPic_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/front.4bpp.lz"); +const u32 gMonPalette_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/normal.gbapal.lz"); +const u32 gMonBackPic_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/back.4bpp.lz"); +const u32 gMonShinyPalette_Seviper[] = INCBIN_U32("graphics/pokemon/seviper/shiny.gbapal.lz"); +const u8 gMonIcon_Seviper[] = INCBIN_U8("graphics/pokemon/seviper/icon.4bpp"); +const u8 gMonFootprint_Seviper[] = INCBIN_U8("graphics/pokemon/seviper/footprint.1bpp"); + +const u32 gMonFrontPic_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/front.4bpp.lz"); +const u32 gMonPalette_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/normal.gbapal.lz"); +const u32 gMonBackPic_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/back.4bpp.lz"); +const u32 gMonShinyPalette_Zangoose[] = INCBIN_U32("graphics/pokemon/zangoose/shiny.gbapal.lz"); +const u8 gMonIcon_Zangoose[] = INCBIN_U8("graphics/pokemon/zangoose/icon.4bpp"); +const u8 gMonFootprint_Zangoose[] = INCBIN_U8("graphics/pokemon/zangoose/footprint.1bpp"); + +const u32 gMonFrontPic_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/front.4bpp.lz"); +const u32 gMonPalette_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/normal.gbapal.lz"); +const u32 gMonBackPic_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/back.4bpp.lz"); +const u32 gMonShinyPalette_Relicanth[] = INCBIN_U32("graphics/pokemon/relicanth/shiny.gbapal.lz"); +const u8 gMonIcon_Relicanth[] = INCBIN_U8("graphics/pokemon/relicanth/icon.4bpp"); +const u8 gMonFootprint_Relicanth[] = INCBIN_U8("graphics/pokemon/relicanth/footprint.1bpp"); + +const u32 gMonFrontPic_Aron[] = INCBIN_U32("graphics/pokemon/aron/front.4bpp.lz"); +const u32 gMonPalette_Aron[] = INCBIN_U32("graphics/pokemon/aron/normal.gbapal.lz"); +const u32 gMonBackPic_Aron[] = INCBIN_U32("graphics/pokemon/aron/back.4bpp.lz"); +const u32 gMonShinyPalette_Aron[] = INCBIN_U32("graphics/pokemon/aron/shiny.gbapal.lz"); +const u8 gMonIcon_Aron[] = INCBIN_U8("graphics/pokemon/aron/icon.4bpp"); +const u8 gMonFootprint_Aron[] = INCBIN_U8("graphics/pokemon/aron/footprint.1bpp"); + +const u32 gMonFrontPic_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/front.4bpp.lz"); +const u32 gMonPalette_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/normal.gbapal.lz"); +const u32 gMonBackPic_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/back.4bpp.lz"); +const u32 gMonShinyPalette_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/shiny.gbapal.lz"); +const u8 gMonIcon_Lairon[] = INCBIN_U8("graphics/pokemon/lairon/icon.4bpp"); +const u8 gMonFootprint_Lairon[] = INCBIN_U8("graphics/pokemon/lairon/footprint.1bpp"); + +const u32 gMonFrontPic_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/front.4bpp.lz"); +const u32 gMonPalette_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/normal.gbapal.lz"); +const u32 gMonBackPic_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/back.4bpp.lz"); +const u32 gMonShinyPalette_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/shiny.gbapal.lz"); +const u8 gMonIcon_Aggron[] = INCBIN_U8("graphics/pokemon/aggron/icon.4bpp"); +const u8 gMonFootprint_Aggron[] = INCBIN_U8("graphics/pokemon/aggron/footprint.1bpp"); + +const u32 gMonFrontPic_Castform[] = INCBIN_U32("graphics/pokemon/castform/front.4bpp.lz"); +const u32 gMonPalette_Castform[] = INCBIN_U32("graphics/pokemon/castform/normal.gbapal.lz"); +const u32 gMonBackPic_Castform[] = INCBIN_U32("graphics/pokemon/castform/back.4bpp.lz"); +const u32 gMonShinyPalette_Castform[] = INCBIN_U32("graphics/pokemon/castform/shiny.gbapal.lz"); +const u8 gMonIcon_Castform[] = INCBIN_U8("graphics/pokemon/castform/icon.4bpp"); +const u8 gMonFootprint_Castform[] = INCBIN_U8("graphics/pokemon/castform/footprint.1bpp"); + +const u32 gMonFrontPic_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/front.4bpp.lz"); +const u32 gMonPalette_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/normal.gbapal.lz"); +const u32 gMonBackPic_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/back.4bpp.lz"); +const u32 gMonShinyPalette_Volbeat[] = INCBIN_U32("graphics/pokemon/volbeat/shiny.gbapal.lz"); +const u8 gMonIcon_Volbeat[] = INCBIN_U8("graphics/pokemon/volbeat/icon.4bpp"); +const u8 gMonFootprint_Volbeat[] = INCBIN_U8("graphics/pokemon/volbeat/footprint.1bpp"); + +const u32 gMonFrontPic_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/front.4bpp.lz"); +const u32 gMonPalette_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/normal.gbapal.lz"); +const u32 gMonBackPic_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/back.4bpp.lz"); +const u32 gMonShinyPalette_Illumise[] = INCBIN_U32("graphics/pokemon/illumise/shiny.gbapal.lz"); +const u8 gMonIcon_Illumise[] = INCBIN_U8("graphics/pokemon/illumise/icon.4bpp"); +const u8 gMonFootprint_Illumise[] = INCBIN_U8("graphics/pokemon/illumise/footprint.1bpp"); + +const u32 gMonFrontPic_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/front.4bpp.lz"); +const u32 gMonPalette_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/normal.gbapal.lz"); +const u32 gMonBackPic_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/back.4bpp.lz"); +const u32 gMonShinyPalette_Lileep[] = INCBIN_U32("graphics/pokemon/lileep/shiny.gbapal.lz"); +const u8 gMonIcon_Lileep[] = INCBIN_U8("graphics/pokemon/lileep/icon.4bpp"); +const u8 gMonFootprint_Lileep[] = INCBIN_U8("graphics/pokemon/lileep/footprint.1bpp"); + +const u32 gMonFrontPic_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/front.4bpp.lz"); +const u32 gMonPalette_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/normal.gbapal.lz"); +const u32 gMonBackPic_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/back.4bpp.lz"); +const u32 gMonShinyPalette_Cradily[] = INCBIN_U32("graphics/pokemon/cradily/shiny.gbapal.lz"); +const u8 gMonIcon_Cradily[] = INCBIN_U8("graphics/pokemon/cradily/icon.4bpp"); +const u8 gMonFootprint_Cradily[] = INCBIN_U8("graphics/pokemon/cradily/footprint.1bpp"); + +const u32 gMonFrontPic_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/front.4bpp.lz"); +const u32 gMonPalette_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/normal.gbapal.lz"); +const u32 gMonBackPic_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/back.4bpp.lz"); +const u32 gMonShinyPalette_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/shiny.gbapal.lz"); +const u8 gMonIcon_Anorith[] = INCBIN_U8("graphics/pokemon/anorith/icon.4bpp"); +const u8 gMonFootprint_Anorith[] = INCBIN_U8("graphics/pokemon/anorith/footprint.1bpp"); + +const u32 gMonFrontPic_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/front.4bpp.lz"); +const u32 gMonPalette_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/normal.gbapal.lz"); +const u32 gMonBackPic_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/back.4bpp.lz"); +const u32 gMonShinyPalette_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/shiny.gbapal.lz"); +const u8 gMonIcon_Armaldo[] = INCBIN_U8("graphics/pokemon/armaldo/icon.4bpp"); +const u8 gMonFootprint_Armaldo[] = INCBIN_U8("graphics/pokemon/armaldo/footprint.1bpp"); + +const u32 gMonFrontPic_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/front.4bpp.lz"); +const u32 gMonPalette_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/normal.gbapal.lz"); +const u32 gMonBackPic_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/back.4bpp.lz"); +const u32 gMonShinyPalette_Ralts[] = INCBIN_U32("graphics/pokemon/ralts/shiny.gbapal.lz"); +const u8 gMonIcon_Ralts[] = INCBIN_U8("graphics/pokemon/ralts/icon.4bpp"); +const u8 gMonFootprint_Ralts[] = INCBIN_U8("graphics/pokemon/ralts/footprint.1bpp"); + +const u32 gMonFrontPic_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/front.4bpp.lz"); +const u32 gMonPalette_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/normal.gbapal.lz"); +const u32 gMonBackPic_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/back.4bpp.lz"); +const u32 gMonShinyPalette_Kirlia[] = INCBIN_U32("graphics/pokemon/kirlia/shiny.gbapal.lz"); +const u8 gMonIcon_Kirlia[] = INCBIN_U8("graphics/pokemon/kirlia/icon.4bpp"); +const u8 gMonFootprint_Kirlia[] = INCBIN_U8("graphics/pokemon/kirlia/footprint.1bpp"); + +const u32 gMonFrontPic_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/front.4bpp.lz"); +const u32 gMonPalette_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/normal.gbapal.lz"); +const u32 gMonBackPic_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/back.4bpp.lz"); +const u32 gMonShinyPalette_Gardevoir[] = INCBIN_U32("graphics/pokemon/gardevoir/shiny.gbapal.lz"); +const u8 gMonIcon_Gardevoir[] = INCBIN_U8("graphics/pokemon/gardevoir/icon.4bpp"); +const u8 gMonFootprint_Gardevoir[] = INCBIN_U8("graphics/pokemon/gardevoir/footprint.1bpp"); + +const u32 gMonFrontPic_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/front.4bpp.lz"); +const u32 gMonPalette_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/normal.gbapal.lz"); +const u32 gMonBackPic_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/back.4bpp.lz"); +const u32 gMonShinyPalette_Bagon[] = INCBIN_U32("graphics/pokemon/bagon/shiny.gbapal.lz"); +const u8 gMonIcon_Bagon[] = INCBIN_U8("graphics/pokemon/bagon/icon.4bpp"); +const u8 gMonFootprint_Bagon[] = INCBIN_U8("graphics/pokemon/bagon/footprint.1bpp"); + +const u32 gMonFrontPic_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/front.4bpp.lz"); +const u32 gMonPalette_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/normal.gbapal.lz"); +const u32 gMonBackPic_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/back.4bpp.lz"); +const u32 gMonShinyPalette_Shelgon[] = INCBIN_U32("graphics/pokemon/shelgon/shiny.gbapal.lz"); +const u8 gMonIcon_Shelgon[] = INCBIN_U8("graphics/pokemon/shelgon/icon.4bpp"); +const u8 gMonFootprint_Shelgon[] = INCBIN_U8("graphics/pokemon/shelgon/footprint.1bpp"); + +const u32 gMonFrontPic_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/front.4bpp.lz"); +const u32 gMonPalette_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/normal.gbapal.lz"); +const u32 gMonBackPic_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/back.4bpp.lz"); +const u32 gMonShinyPalette_Salamence[] = INCBIN_U32("graphics/pokemon/salamence/shiny.gbapal.lz"); +const u8 gMonIcon_Salamence[] = INCBIN_U8("graphics/pokemon/salamence/icon.4bpp"); +const u8 gMonFootprint_Salamence[] = INCBIN_U8("graphics/pokemon/salamence/footprint.1bpp"); + +const u32 gMonFrontPic_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/front.4bpp.lz"); +const u32 gMonPalette_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/normal.gbapal.lz"); +const u32 gMonBackPic_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/back.4bpp.lz"); +const u32 gMonShinyPalette_Beldum[] = INCBIN_U32("graphics/pokemon/beldum/shiny.gbapal.lz"); +const u8 gMonIcon_Beldum[] = INCBIN_U8("graphics/pokemon/beldum/icon.4bpp"); +const u8 gMonFootprint_Beldum[] = INCBIN_U8("graphics/pokemon/beldum/footprint.1bpp"); + +const u32 gMonFrontPic_Metang[] = INCBIN_U32("graphics/pokemon/metang/front.4bpp.lz"); +const u32 gMonPalette_Metang[] = INCBIN_U32("graphics/pokemon/metang/normal.gbapal.lz"); +const u32 gMonBackPic_Metang[] = INCBIN_U32("graphics/pokemon/metang/back.4bpp.lz"); +const u32 gMonShinyPalette_Metang[] = INCBIN_U32("graphics/pokemon/metang/shiny.gbapal.lz"); +const u8 gMonIcon_Metang[] = INCBIN_U8("graphics/pokemon/metang/icon.4bpp"); +const u8 gMonFootprint_Metang[] = INCBIN_U8("graphics/pokemon/metang/footprint.1bpp"); + +const u32 gMonFrontPic_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/front.4bpp.lz"); +const u32 gMonPalette_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/normal.gbapal.lz"); +const u32 gMonBackPic_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/back.4bpp.lz"); +const u32 gMonShinyPalette_Metagross[] = INCBIN_U32("graphics/pokemon/metagross/shiny.gbapal.lz"); +const u8 gMonIcon_Metagross[] = INCBIN_U8("graphics/pokemon/metagross/icon.4bpp"); +const u8 gMonFootprint_Metagross[] = INCBIN_U8("graphics/pokemon/metagross/footprint.1bpp"); + +const u32 gMonFrontPic_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/front.4bpp.lz"); +const u32 gMonPalette_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/normal.gbapal.lz"); +const u32 gMonBackPic_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/back.4bpp.lz"); +const u32 gMonShinyPalette_Regirock[] = INCBIN_U32("graphics/pokemon/regirock/shiny.gbapal.lz"); +const u8 gMonIcon_Regirock[] = INCBIN_U8("graphics/pokemon/regirock/icon.4bpp"); +const u8 gMonFootprint_Regirock[] = INCBIN_U8("graphics/pokemon/regirock/footprint.1bpp"); + +const u32 gMonFrontPic_Regice[] = INCBIN_U32("graphics/pokemon/regice/front.4bpp.lz"); +const u32 gMonPalette_Regice[] = INCBIN_U32("graphics/pokemon/regice/normal.gbapal.lz"); +const u32 gMonBackPic_Regice[] = INCBIN_U32("graphics/pokemon/regice/back.4bpp.lz"); +const u32 gMonShinyPalette_Regice[] = INCBIN_U32("graphics/pokemon/regice/shiny.gbapal.lz"); +const u8 gMonIcon_Regice[] = INCBIN_U8("graphics/pokemon/regice/icon.4bpp"); +const u8 gMonFootprint_Regice[] = INCBIN_U8("graphics/pokemon/regice/footprint.1bpp"); + +const u32 gMonFrontPic_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/front.4bpp.lz"); +const u32 gMonPalette_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/normal.gbapal.lz"); +const u32 gMonBackPic_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/back.4bpp.lz"); +const u32 gMonShinyPalette_Registeel[] = INCBIN_U32("graphics/pokemon/registeel/shiny.gbapal.lz"); +const u8 gMonIcon_Registeel[] = INCBIN_U8("graphics/pokemon/registeel/icon.4bpp"); +const u8 gMonFootprint_Registeel[] = INCBIN_U8("graphics/pokemon/registeel/footprint.1bpp"); + +const u32 gMonFrontPic_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/front.4bpp.lz"); +const u32 gMonPalette_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/normal.gbapal.lz"); +const u32 gMonBackPic_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/back.4bpp.lz"); +const u32 gMonShinyPalette_Kyogre[] = INCBIN_U32("graphics/pokemon/kyogre/shiny.gbapal.lz"); +const u8 gMonIcon_Kyogre[] = INCBIN_U8("graphics/pokemon/kyogre/icon.4bpp"); +const u8 gMonFootprint_Kyogre[] = INCBIN_U8("graphics/pokemon/kyogre/footprint.1bpp"); + +const u32 gMonFrontPic_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/front.4bpp.lz"); +const u32 gMonPalette_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/normal.gbapal.lz"); +const u32 gMonBackPic_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/back.4bpp.lz"); +const u32 gMonShinyPalette_Groudon[] = INCBIN_U32("graphics/pokemon/groudon/shiny.gbapal.lz"); +const u8 gMonIcon_Groudon[] = INCBIN_U8("graphics/pokemon/groudon/icon.4bpp"); +const u8 gMonFootprint_Groudon[] = INCBIN_U8("graphics/pokemon/groudon/footprint.1bpp"); + +const u32 gMonFrontPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/front.4bpp.lz"); +const u32 gMonPalette_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/normal.gbapal.lz"); +const u32 gMonBackPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/back.4bpp.lz"); +const u32 gMonShinyPalette_Rayquaza[] = INCBIN_U32("graphics/pokemon/rayquaza/shiny.gbapal.lz"); +const u8 gMonIcon_Rayquaza[] = INCBIN_U8("graphics/pokemon/rayquaza/icon.4bpp"); +const u8 gMonFootprint_Rayquaza[] = INCBIN_U8("graphics/pokemon/rayquaza/footprint.1bpp"); + +const u32 gMonFrontPic_Latias[] = INCBIN_U32("graphics/pokemon/latias/front.4bpp.lz"); +const u32 gMonPalette_Latias[] = INCBIN_U32("graphics/pokemon/latias/normal.gbapal.lz"); +const u32 gMonBackPic_Latias[] = INCBIN_U32("graphics/pokemon/latias/back.4bpp.lz"); +const u32 gMonShinyPalette_Latias[] = INCBIN_U32("graphics/pokemon/latias/shiny.gbapal.lz"); +const u8 gMonIcon_Latias[] = INCBIN_U8("graphics/pokemon/latias/icon.4bpp"); +const u8 gMonFootprint_Latias[] = INCBIN_U8("graphics/pokemon/latias/footprint.1bpp"); + +const u32 gMonFrontPic_Latios[] = INCBIN_U32("graphics/pokemon/latios/front.4bpp.lz"); +const u32 gMonPalette_Latios[] = INCBIN_U32("graphics/pokemon/latios/normal.gbapal.lz"); +const u32 gMonBackPic_Latios[] = INCBIN_U32("graphics/pokemon/latios/back.4bpp.lz"); +const u32 gMonShinyPalette_Latios[] = INCBIN_U32("graphics/pokemon/latios/shiny.gbapal.lz"); +const u8 gMonIcon_Latios[] = INCBIN_U8("graphics/pokemon/latios/icon.4bpp"); +const u8 gMonFootprint_Latios[] = INCBIN_U8("graphics/pokemon/latios/footprint.1bpp"); + +const u32 gMonFrontPic_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/front.4bpp.lz"); +const u32 gMonPalette_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/normal.gbapal.lz"); +const u32 gMonBackPic_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/back.4bpp.lz"); +const u32 gMonShinyPalette_Jirachi[] = INCBIN_U32("graphics/pokemon/jirachi/shiny.gbapal.lz"); +const u8 gMonIcon_Jirachi[] = INCBIN_U8("graphics/pokemon/jirachi/icon.4bpp"); +const u8 gMonFootprint_Jirachi[] = INCBIN_U8("graphics/pokemon/jirachi/footprint.1bpp"); + +#ifdef FIRERED +const u32 gMonFrontPic_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/front.4bpp.lz"); +const u32 gMonPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/normal.gbapal.lz"); +const u32 gMonBackPic_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/back.4bpp.lz"); +const u32 gMonShinyPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/shiny.gbapal.lz"); +const u8 gMonIcon_Deoxys[] = INCBIN_U8("graphics/pokemon/deoxys/icon.4bpp", "graphics/pokemon/deoxys/icon_attack.4bpp"); +const u8 gMonFootprint_Deoxys[] = INCBIN_U8("graphics/pokemon/deoxys/footprint.1bpp"); +#endif + +#ifdef LEAFGREEN +const u32 gMonFrontPic_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/front_def.4bpp.lz"); +const u32 gMonPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/normal.gbapal.lz"); +const u32 gMonBackPic_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/back_def.4bpp.lz"); +const u32 gMonShinyPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/deoxys/shiny.gbapal.lz"); +const u8 gMonIcon_Deoxys[] = INCBIN_U8("graphics/pokemon/deoxys/icon.4bpp", "graphics/pokemon/deoxys/icon_defense.4bpp"); +const u8 gMonFootprint_Deoxys[] = INCBIN_U8("graphics/pokemon/deoxys/footprint.1bpp"); +#endif + +const u32 gMonFrontPic_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/front.4bpp.lz"); +const u32 gMonPalette_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/normal.gbapal.lz"); +const u32 gMonBackPic_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/back.4bpp.lz"); +const u32 gMonShinyPalette_Chimecho[] = INCBIN_U32("graphics/pokemon/chimecho/shiny.gbapal.lz"); +const u8 gMonIcon_Chimecho[] = INCBIN_U8("graphics/pokemon/chimecho/icon.4bpp"); +const u8 gMonFootprint_Chimecho[] = INCBIN_U8("graphics/pokemon/chimecho/footprint.1bpp"); + +const u32 gMonFrontPic_Egg[] = INCBIN_U32("graphics/pokemon/egg/front.4bpp.lz"); +const u32 gMonPalette_Egg[] = INCBIN_U32("graphics/pokemon/egg/normal.gbapal.lz"); + +const u32 gMonFrontPic_UnownB[] = INCBIN_U32("graphics/pokemon/unown/b/front.4bpp.lz"); +const u32 gMonBackPic_UnownB[] = INCBIN_U32("graphics/pokemon/unown/b/back.4bpp.lz"); +const u8 gMonIcon_UnownB[] = INCBIN_U8("graphics/pokemon/unown/b/icon.4bpp"); + +const u32 gMonFrontPic_UnownC[] = INCBIN_U32("graphics/pokemon/unown/c/front.4bpp.lz"); +const u32 gMonBackPic_UnownC[] = INCBIN_U32("graphics/pokemon/unown/c/back.4bpp.lz"); +const u8 gMonIcon_UnownC[] = INCBIN_U8("graphics/pokemon/unown/c/icon.4bpp"); + +const u32 gMonFrontPic_UnownD[] = INCBIN_U32("graphics/pokemon/unown/d/front.4bpp.lz"); +const u32 gMonBackPic_UnownD[] = INCBIN_U32("graphics/pokemon/unown/d/back.4bpp.lz"); +const u8 gMonIcon_UnownD[] = INCBIN_U8("graphics/pokemon/unown/d/icon.4bpp"); + +const u32 gMonFrontPic_UnownE[] = INCBIN_U32("graphics/pokemon/unown/e/front.4bpp.lz"); +const u32 gMonBackPic_UnownE[] = INCBIN_U32("graphics/pokemon/unown/e/back.4bpp.lz"); +const u8 gMonIcon_UnownE[] = INCBIN_U8("graphics/pokemon/unown/e/icon.4bpp"); + +const u32 gMonFrontPic_UnownF[] = INCBIN_U32("graphics/pokemon/unown/f/front.4bpp.lz"); +const u32 gMonBackPic_UnownF[] = INCBIN_U32("graphics/pokemon/unown/f/back.4bpp.lz"); +const u8 gMonIcon_UnownF[] = INCBIN_U8("graphics/pokemon/unown/f/icon.4bpp"); + +const u32 gMonFrontPic_UnownG[] = INCBIN_U32("graphics/pokemon/unown/g/front.4bpp.lz"); +const u32 gMonBackPic_UnownG[] = INCBIN_U32("graphics/pokemon/unown/g/back.4bpp.lz"); +const u8 gMonIcon_UnownG[] = INCBIN_U8("graphics/pokemon/unown/g/icon.4bpp"); + +const u32 gMonFrontPic_UnownH[] = INCBIN_U32("graphics/pokemon/unown/h/front.4bpp.lz"); +const u32 gMonBackPic_UnownH[] = INCBIN_U32("graphics/pokemon/unown/h/back.4bpp.lz"); +const u8 gMonIcon_UnownH[] = INCBIN_U8("graphics/pokemon/unown/h/icon.4bpp"); + +const u32 gMonFrontPic_UnownI[] = INCBIN_U32("graphics/pokemon/unown/i/front.4bpp.lz"); +const u32 gMonBackPic_UnownI[] = INCBIN_U32("graphics/pokemon/unown/i/back.4bpp.lz"); +const u8 gMonIcon_UnownI[] = INCBIN_U8("graphics/pokemon/unown/i/icon.4bpp"); + +const u32 gMonFrontPic_UnownJ[] = INCBIN_U32("graphics/pokemon/unown/j/front.4bpp.lz"); +const u32 gMonBackPic_UnownJ[] = INCBIN_U32("graphics/pokemon/unown/j/back.4bpp.lz"); +const u8 gMonIcon_UnownJ[] = INCBIN_U8("graphics/pokemon/unown/j/icon.4bpp"); + +const u32 gMonFrontPic_UnownK[] = INCBIN_U32("graphics/pokemon/unown/k/front.4bpp.lz"); +const u32 gMonBackPic_UnownK[] = INCBIN_U32("graphics/pokemon/unown/k/back.4bpp.lz"); +const u8 gMonIcon_UnownK[] = INCBIN_U8("graphics/pokemon/unown/k/icon.4bpp"); + +const u32 gMonFrontPic_UnownL[] = INCBIN_U32("graphics/pokemon/unown/l/front.4bpp.lz"); +const u32 gMonBackPic_UnownL[] = INCBIN_U32("graphics/pokemon/unown/l/back.4bpp.lz"); +const u8 gMonIcon_UnownL[] = INCBIN_U8("graphics/pokemon/unown/l/icon.4bpp"); + +const u32 gMonFrontPic_UnownM[] = INCBIN_U32("graphics/pokemon/unown/m/front.4bpp.lz"); +const u32 gMonBackPic_UnownM[] = INCBIN_U32("graphics/pokemon/unown/m/back.4bpp.lz"); +const u8 gMonIcon_UnownM[] = INCBIN_U8("graphics/pokemon/unown/m/icon.4bpp"); + +const u32 gMonFrontPic_UnownN[] = INCBIN_U32("graphics/pokemon/unown/n/front.4bpp.lz"); +const u32 gMonBackPic_UnownN[] = INCBIN_U32("graphics/pokemon/unown/n/back.4bpp.lz"); +const u8 gMonIcon_UnownN[] = INCBIN_U8("graphics/pokemon/unown/n/icon.4bpp"); + +const u32 gMonFrontPic_UnownO[] = INCBIN_U32("graphics/pokemon/unown/o/front.4bpp.lz"); +const u32 gMonBackPic_UnownO[] = INCBIN_U32("graphics/pokemon/unown/o/back.4bpp.lz"); +const u8 gMonIcon_UnownO[] = INCBIN_U8("graphics/pokemon/unown/o/icon.4bpp"); + +const u32 gMonFrontPic_UnownP[] = INCBIN_U32("graphics/pokemon/unown/p/front.4bpp.lz"); +const u32 gMonBackPic_UnownP[] = INCBIN_U32("graphics/pokemon/unown/p/back.4bpp.lz"); +const u8 gMonIcon_UnownP[] = INCBIN_U8("graphics/pokemon/unown/p/icon.4bpp"); + +const u32 gMonFrontPic_UnownQ[] = INCBIN_U32("graphics/pokemon/unown/q/front.4bpp.lz"); +const u32 gMonBackPic_UnownQ[] = INCBIN_U32("graphics/pokemon/unown/q/back.4bpp.lz"); +const u8 gMonIcon_UnownQ[] = INCBIN_U8("graphics/pokemon/unown/q/icon.4bpp"); + +const u32 gMonFrontPic_UnownR[] = INCBIN_U32("graphics/pokemon/unown/r/front.4bpp.lz"); +const u32 gMonBackPic_UnownR[] = INCBIN_U32("graphics/pokemon/unown/r/back.4bpp.lz"); +const u8 gMonIcon_UnownR[] = INCBIN_U8("graphics/pokemon/unown/r/icon.4bpp"); + +const u32 gMonFrontPic_UnownS[] = INCBIN_U32("graphics/pokemon/unown/s/front.4bpp.lz"); +const u32 gMonBackPic_UnownS[] = INCBIN_U32("graphics/pokemon/unown/s/back.4bpp.lz"); +const u8 gMonIcon_UnownS[] = INCBIN_U8("graphics/pokemon/unown/s/icon.4bpp"); + +const u32 gMonFrontPic_UnownT[] = INCBIN_U32("graphics/pokemon/unown/t/front.4bpp.lz"); +const u32 gMonBackPic_UnownT[] = INCBIN_U32("graphics/pokemon/unown/t/back.4bpp.lz"); +const u8 gMonIcon_UnownT[] = INCBIN_U8("graphics/pokemon/unown/t/icon.4bpp"); + +const u32 gMonFrontPic_UnownU[] = INCBIN_U32("graphics/pokemon/unown/u/front.4bpp.lz"); +const u32 gMonBackPic_UnownU[] = INCBIN_U32("graphics/pokemon/unown/u/back.4bpp.lz"); +const u8 gMonIcon_UnownU[] = INCBIN_U8("graphics/pokemon/unown/u/icon.4bpp"); + +const u32 gMonFrontPic_UnownV[] = INCBIN_U32("graphics/pokemon/unown/v/front.4bpp.lz"); +const u32 gMonBackPic_UnownV[] = INCBIN_U32("graphics/pokemon/unown/v/back.4bpp.lz"); +const u8 gMonIcon_UnownV[] = INCBIN_U8("graphics/pokemon/unown/v/icon.4bpp"); + +const u32 gMonFrontPic_UnownW[] = INCBIN_U32("graphics/pokemon/unown/w/front.4bpp.lz"); +const u32 gMonBackPic_UnownW[] = INCBIN_U32("graphics/pokemon/unown/w/back.4bpp.lz"); +const u8 gMonIcon_UnownW[] = INCBIN_U8("graphics/pokemon/unown/w/icon.4bpp"); + +const u32 gMonFrontPic_UnownX[] = INCBIN_U32("graphics/pokemon/unown/x/front.4bpp.lz"); +const u32 gMonBackPic_UnownX[] = INCBIN_U32("graphics/pokemon/unown/x/back.4bpp.lz"); +const u8 gMonIcon_UnownX[] = INCBIN_U8("graphics/pokemon/unown/x/icon.4bpp"); + +const u32 gMonFrontPic_UnownY[] = INCBIN_U32("graphics/pokemon/unown/y/front.4bpp.lz"); +const u32 gMonBackPic_UnownY[] = INCBIN_U32("graphics/pokemon/unown/y/back.4bpp.lz"); +const u8 gMonIcon_UnownY[] = INCBIN_U8("graphics/pokemon/unown/y/icon.4bpp"); + +const u32 gMonFrontPic_UnownZ[] = INCBIN_U32("graphics/pokemon/unown/z/front.4bpp.lz"); +const u32 gMonBackPic_UnownZ[] = INCBIN_U32("graphics/pokemon/unown/z/back.4bpp.lz"); +const u8 gMonIcon_UnownZ[] = INCBIN_U8("graphics/pokemon/unown/z/icon.4bpp"); + +const u32 gMonFrontPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/unown/exclamation_mark/front.4bpp.lz"); +const u32 gMonBackPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/unown/exclamation_mark/back.4bpp.lz"); +const u8 gMonIcon_UnownExclamationMark[] = INCBIN_U8("graphics/pokemon/unown/exclamation_mark/icon.4bpp"); + +const u32 gMonFrontPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/unown/question_mark/front.4bpp.lz"); +const u32 gMonBackPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/unown/question_mark/back.4bpp.lz"); +const u8 gMonIcon_UnownQuestionMark[] = INCBIN_U8("graphics/pokemon/unown/question_mark/icon.4bpp"); diff --git a/src/data/graphics/trainers.h b/src/data/graphics/trainers.h new file mode 100644 index 000000000..07183e288 --- /dev/null +++ b/src/data/graphics/trainers.h @@ -0,0 +1,456 @@ +const u32 gTrainerFrontPic_AquaLeaderArchie[] = INCBIN_U32("graphics/trainers/front_pics/aqua_leader_archie_front_pic.4bpp.lz"); +const u32 gTrainerPalette_AquaLeaderArchie[] = INCBIN_U32("graphics/trainers/palettes/aqua_leader_archie.gbapal.lz"); + +const u32 gTrainerFrontPic_AquaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_AquaGruntM[] = INCBIN_U32("graphics/trainers/palettes/aqua_grunt_m.gbapal.lz"); + +const u32 gTrainerFrontPic_AquaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_AquaGruntF[] = INCBIN_U32("graphics/trainers/palettes/aqua_grunt_f.gbapal.lz"); + +const u32 gTrainerFrontPic_RSAromaLady[] = INCBIN_U32("graphics/trainers/front_pics/rs_aroma_lady_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSAromaLady[] = INCBIN_U32("graphics/trainers/palettes/rs_aroma_lady.gbapal.lz"); + +const u32 gTrainerFrontPic_RSRuinManiac[] = INCBIN_U32("graphics/trainers/front_pics/rs_ruin_maniac_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSRuinManiac[] = INCBIN_U32("graphics/trainers/palettes/rs_ruin_maniac.gbapal.lz"); + +const u32 gTrainerFrontPic_Interviewer[] = INCBIN_U32("graphics/trainers/front_pics/interviewer_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Interviewer[] = INCBIN_U32("graphics/trainers/palettes/interviewer.gbapal.lz"); + +const u32 gTrainerFrontPic_RSTuberF[] = INCBIN_U32("graphics/trainers/front_pics/rs_tuber_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSTuberF[] = INCBIN_U32("graphics/trainers/palettes/rs_tuber_f.gbapal.lz"); + +const u32 gTrainerFrontPic_TuberM[] = INCBIN_U32("graphics/trainers/front_pics/tuber_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_TuberM[] = INCBIN_U32("graphics/trainers/palettes/tuber_m.gbapal.lz"); + +const u32 gTrainerFrontPic_RSCooltrainerM[] = INCBIN_U32("graphics/trainers/front_pics/rs_cool_trainer_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSCooltrainerM[] = INCBIN_U32("graphics/trainers/palettes/rs_cool_trainer_m.gbapal.lz"); + +const u32 gTrainerFrontPic_RSCooltrainerF[] = INCBIN_U32("graphics/trainers/front_pics/rs_cool_trainer_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSCooltrainerF[] = INCBIN_U32("graphics/trainers/palettes/rs_cool_trainer_f.gbapal.lz"); + +const u32 gTrainerFrontPic_HexManiac[] = INCBIN_U32("graphics/trainers/front_pics/hex_maniac_front_pic.4bpp.lz"); +const u32 gTrainerPalette_HexManiac[] = INCBIN_U32("graphics/trainers/palettes/hex_maniac.gbapal.lz"); + +const u32 gTrainerFrontPic_RSLady[] = INCBIN_U32("graphics/trainers/front_pics/rs_lady_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSLady[] = INCBIN_U32("graphics/trainers/palettes/rs_lady.gbapal.lz"); + +const u32 gTrainerFrontPic_RSBeauty[] = INCBIN_U32("graphics/trainers/front_pics/rs_beauty_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSBeauty[] = INCBIN_U32("graphics/trainers/palettes/rs_beauty.gbapal.lz"); + +const u32 gTrainerFrontPic_RichBoy[] = INCBIN_U32("graphics/trainers/front_pics/rich_boy_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RichBoy[] = INCBIN_U32("graphics/trainers/palettes/rich_boy.gbapal.lz"); + +const u32 gTrainerFrontPic_RSPokeManiac[] = INCBIN_U32("graphics/trainers/front_pics/rs_pokemaniac_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSPokeManiac[] = INCBIN_U32("graphics/trainers/palettes/rs_pokemaniac.gbapal.lz"); + +const u32 gTrainerFrontPic_RSSwimmerM[] = INCBIN_U32("graphics/trainers/front_pics/rs_swimmer_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSSwimmerM[] = INCBIN_U32("graphics/trainers/palettes/rs_swimmer_m.gbapal.lz"); + +const u32 gTrainerFrontPic_RSBlackBelt[] = INCBIN_U32("graphics/trainers/front_pics/rs_black_belt_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSBlackBelt[] = INCBIN_U32("graphics/trainers/palettes/rs_black_belt.gbapal.lz"); + +const u32 gTrainerFrontPic_Guitarist[] = INCBIN_U32("graphics/trainers/front_pics/guitarist_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Guitarist[] = INCBIN_U32("graphics/trainers/palettes/guitarist.gbapal.lz"); + +const u32 gTrainerFrontPic_Kindler[] = INCBIN_U32("graphics/trainers/front_pics/kindler_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Kindler[] = INCBIN_U32("graphics/trainers/palettes/kindler.gbapal.lz"); + +const u32 gTrainerFrontPic_RSCamper[] = INCBIN_U32("graphics/trainers/front_pics/rs_camper_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSCamper[] = INCBIN_U32("graphics/trainers/palettes/rs_camper.gbapal.lz"); + +const u32 gTrainerFrontPic_BugManiac[] = INCBIN_U32("graphics/trainers/front_pics/bug_maniac_front_pic.4bpp.lz"); +const u32 gTrainerPalette_BugManiac[] = INCBIN_U32("graphics/trainers/palettes/bug_maniac.gbapal.lz"); + +const u32 gTrainerFrontPic_RSPsychicM[] = INCBIN_U32("graphics/trainers/front_pics/rs_psychic_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSPsychicM[] = INCBIN_U32("graphics/trainers/palettes/rs_psychic_m.gbapal.lz"); + +const u32 gTrainerFrontPic_RSPsychicF[] = INCBIN_U32("graphics/trainers/front_pics/rs_psychic_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSPsychicF[] = INCBIN_U32("graphics/trainers/palettes/rs_psychic_f.gbapal.lz"); + +const u32 gTrainerFrontPic_RSGentleman[] = INCBIN_U32("graphics/trainers/front_pics/rs_gentleman_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSGentleman[] = INCBIN_U32("graphics/trainers/palettes/rs_gentleman.gbapal.lz"); + +const u32 gTrainerFrontPic_EliteFourSidney[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_sidney_front_pic.4bpp.lz"); +const u32 gTrainerPalette_EliteFourSidney[] = INCBIN_U32("graphics/trainers/palettes/elite_four_sidney.gbapal.lz"); + +const u32 gTrainerFrontPic_EliteFourPhoebe[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_phoebe_front_pic.4bpp.lz"); +const u32 gTrainerPalette_EliteFourPhoebe[] = INCBIN_U32("graphics/trainers/palettes/elite_four_phoebe.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderRoxanne[] = INCBIN_U32("graphics/trainers/front_pics/leader_roxanne_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderRoxanne[] = INCBIN_U32("graphics/trainers/palettes/leader_roxanne.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderBrawly[] = INCBIN_U32("graphics/trainers/front_pics/leader_brawly_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderBrawly[] = INCBIN_U32("graphics/trainers/palettes/leader_brawly.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderTateAndLiza[] = INCBIN_U32("graphics/trainers/front_pics/leader_tate_and_liza_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderTateAndLiza[] = INCBIN_U32("graphics/trainers/palettes/leader_tate_and_liza.gbapal.lz"); + +const u32 gTrainerFrontPic_SchoolKidM[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_SchoolKidM[] = INCBIN_U32("graphics/trainers/palettes/school_kid_m.gbapal.lz"); + +const u32 gTrainerFrontPic_SchoolKidF[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_SchoolKidF[] = INCBIN_U32("graphics/trainers/palettes/school_kid_f.gbapal.lz"); + +const u32 gTrainerFrontPic_SrAndJr[] = INCBIN_U32("graphics/trainers/front_pics/sr_and_jr_front_pic.4bpp.lz"); +const u32 gTrainerPalette_SrAndJr[] = INCBIN_U32("graphics/trainers/palettes/sr_and_jr.gbapal.lz"); + +const u32 gTrainerFrontPic_PokefanM[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_PokefanM[] = INCBIN_U32("graphics/trainers/palettes/pokefan_m.gbapal.lz"); + +const u32 gTrainerFrontPic_PokefanF[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_PokefanF[] = INCBIN_U32("graphics/trainers/palettes/pokefan_f.gbapal.lz"); + +const u32 gTrainerFrontPic_ExpertM[] = INCBIN_U32("graphics/trainers/front_pics/expert_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_ExpertM[] = INCBIN_U32("graphics/trainers/palettes/expert_m.gbapal.lz"); + +const u32 gTrainerFrontPic_ExpertF[] = INCBIN_U32("graphics/trainers/front_pics/expert_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_ExpertF[] = INCBIN_U32("graphics/trainers/palettes/expert_f.gbapal.lz"); + +const u32 gTrainerFrontPic_RSYoungster[] = INCBIN_U32("graphics/trainers/front_pics/rs_youngster_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSYoungster[] = INCBIN_U32("graphics/trainers/palettes/rs_youngster.gbapal.lz"); + +const u32 gTrainerFrontPic_ChampionSteven[] = INCBIN_U32("graphics/trainers/front_pics/champion_steven_front_pic.4bpp.lz"); +const u32 gTrainerPalette_ChampionSteven[] = INCBIN_U32("graphics/trainers/palettes/champion_steven.gbapal.lz"); + +const u32 gTrainerFrontPic_RSFisherman[] = INCBIN_U32("graphics/trainers/front_pics/rs_fisherman_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSFisherman[] = INCBIN_U32("graphics/trainers/palettes/rs_fisherman.gbapal.lz"); + +const u32 gTrainerFrontPic_CyclingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_CyclingTriathleteM[] = INCBIN_U32("graphics/trainers/palettes/cycling_triathlete_m.gbapal.lz"); + +const u32 gTrainerFrontPic_CyclingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_CyclingTriathleteF[] = INCBIN_U32("graphics/trainers/palettes/cycling_triathlete_f.gbapal.lz"); + +const u32 gTrainerFrontPic_RunningTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RunningTriathleteM[] = INCBIN_U32("graphics/trainers/palettes/running_triathlete_m.gbapal.lz"); + +const u32 gTrainerFrontPic_RunningTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RunningTriathleteF[] = INCBIN_U32("graphics/trainers/palettes/running_triathlete_f.gbapal.lz"); + +const u32 gTrainerFrontPic_SwimmingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_SwimmingTriathleteM[] = INCBIN_U32("graphics/trainers/palettes/swimming_triathlete_m.gbapal.lz"); + +const u32 gTrainerFrontPic_SwimmingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_SwimmingTriathleteF[] = INCBIN_U32("graphics/trainers/palettes/swimming_triathlete_f.gbapal.lz"); + +const u32 gTrainerFrontPic_DragonTamer[] = INCBIN_U32("graphics/trainers/front_pics/dragon_tamer_front_pic.4bpp.lz"); +const u32 gTrainerPalette_DragonTamer[] = INCBIN_U32("graphics/trainers/palettes/dragon_tamer.gbapal.lz"); + +const u32 gTrainerFrontPic_RSBirdKeeper[] = INCBIN_U32("graphics/trainers/front_pics/rs_bird_keeper_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSBirdKeeper[] = INCBIN_U32("graphics/trainers/palettes/rs_bird_keeper.gbapal.lz"); + +const u32 gTrainerFrontPic_NinjaBoy[] = INCBIN_U32("graphics/trainers/front_pics/ninja_boy_front_pic.4bpp.lz"); +const u32 gTrainerPalette_NinjaBoy[] = INCBIN_U32("graphics/trainers/palettes/ninja_boy.gbapal.lz"); + +const u32 gTrainerFrontPic_BattleGirl[] = INCBIN_U32("graphics/trainers/front_pics/battle_girl_front_pic.4bpp.lz"); +const u32 gTrainerPalette_BattleGirl[] = INCBIN_U32("graphics/trainers/palettes/battle_girl.gbapal.lz"); + +const u32 gTrainerFrontPic_ParasolLady[] = INCBIN_U32("graphics/trainers/front_pics/parasol_lady_front_pic.4bpp.lz"); +const u32 gTrainerPalette_ParasolLady[] = INCBIN_U32("graphics/trainers/palettes/parasol_lady.gbapal.lz"); + +const u32 gTrainerFrontPic_RSSwimmerF[] = INCBIN_U32("graphics/trainers/front_pics/rs_swimmer_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSSwimmerF[] = INCBIN_U32("graphics/trainers/palettes/rs_swimmer_f.gbapal.lz"); + +const u32 gTrainerFrontPic_RSPicnicker[] = INCBIN_U32("graphics/trainers/front_pics/rs_picnicker_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSPicnicker[] = INCBIN_U32("graphics/trainers/palettes/rs_picnicker.gbapal.lz"); + +const u32 gTrainerFrontPic_RSTwins[] = INCBIN_U32("graphics/trainers/front_pics/rs_twins_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSTwins[] = INCBIN_U32("graphics/trainers/palettes/rs_twins.gbapal.lz"); + +const u32 gTrainerFrontPic_RSSailor[] = INCBIN_U32("graphics/trainers/front_pics/rs_sailor_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSSailor[] = INCBIN_U32("graphics/trainers/palettes/rs_sailor.gbapal.lz"); + +const u32 gTrainerFrontPic_Collector[] = INCBIN_U32("graphics/trainers/front_pics/collector_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Collector[] = INCBIN_U32("graphics/trainers/palettes/collector.gbapal.lz"); + +const u32 gTrainerFrontPic_Wally[] = INCBIN_U32("graphics/trainers/front_pics/wally_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Wally[] = INCBIN_U32("graphics/trainers/palettes/wally.gbapal.lz"); + +const u32 gTrainerFrontPic_RSBrendan1[] = INCBIN_U32("graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSBrendan1[] = INCBIN_U32("graphics/trainers/palettes/ruby_sapphire_brendan.gbapal.lz"); + +const u32 gTrainerFrontPic_RSMay1[] = INCBIN_U32("graphics/trainers/front_pics/ruby_sapphire_may_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSMay1[] = INCBIN_U32("graphics/trainers/palettes/ruby_sapphire_may.gbapal.lz"); + +const u32 gTrainerFrontPic_PokemonBreederM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_PokemonBreederM[] = INCBIN_U32("graphics/trainers/palettes/pokemon_breeder_m.gbapal.lz"); + +const u32 gTrainerFrontPic_RSPokemonBreederF[] = INCBIN_U32("graphics/trainers/front_pics/rs_pokemon_breeder_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSPokemonBreederF[] = INCBIN_U32("graphics/trainers/palettes/rs_pokemon_breeder_f.gbapal.lz"); + +const u32 gTrainerFrontPic_RSPokemonRangerM[] = INCBIN_U32("graphics/trainers/front_pics/rs_pokemon_ranger_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSPokemonRangerM[] = INCBIN_U32("graphics/trainers/palettes/rs_pokemon_ranger_m.gbapal.lz"); + +const u32 gTrainerFrontPic_RSPokemonRangerF[] = INCBIN_U32("graphics/trainers/front_pics/rs_pokemon_ranger_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSPokemonRangerF[] = INCBIN_U32("graphics/trainers/palettes/rs_pokemon_ranger_f.gbapal.lz"); + +const u32 gTrainerFrontPic_MagmaLeaderMaxie[] = INCBIN_U32("graphics/trainers/front_pics/magma_leader_maxie_front_pic.4bpp.lz"); +const u32 gTrainerPalette_MagmaLeaderMaxie[] = INCBIN_U32("graphics/trainers/palettes/magma_leader_maxie.gbapal.lz"); + +const u32 gTrainerFrontPic_MagmaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_MagmaGruntM[] = INCBIN_U32("graphics/trainers/palettes/magma_grunt_m.gbapal.lz"); + +const u32 gTrainerFrontPic_MagmaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_MagmaGruntF[] = INCBIN_U32("graphics/trainers/palettes/magma_grunt_f.gbapal.lz"); + +const u32 gTrainerFrontPic_RSLass[] = INCBIN_U32("graphics/trainers/front_pics/rs_lass_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSLass[] = INCBIN_U32("graphics/trainers/palettes/rs_lass.gbapal.lz"); + +const u32 gTrainerFrontPic_RSBugCatcher[] = INCBIN_U32("graphics/trainers/front_pics/rs_bug_catcher_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSBugCatcher[] = INCBIN_U32("graphics/trainers/palettes/rs_bug_catcher.gbapal.lz"); + +const u32 gTrainerFrontPic_RSHiker[] = INCBIN_U32("graphics/trainers/front_pics/rs_hiker_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSHiker[] = INCBIN_U32("graphics/trainers/palettes/rs_hiker.gbapal.lz"); + +const u32 gTrainerFrontPic_RSYoungCouple[] = INCBIN_U32("graphics/trainers/front_pics/rs_young_couple_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSYoungCouple[] = INCBIN_U32("graphics/trainers/palettes/rs_young_couple.gbapal.lz"); + +const u32 gTrainerFrontPic_OldCouple[] = INCBIN_U32("graphics/trainers/front_pics/old_couple_front_pic.4bpp.lz"); +const u32 gTrainerPalette_OldCouple[] = INCBIN_U32("graphics/trainers/palettes/old_couple.gbapal.lz"); + +const u32 gTrainerFrontPic_RSSisAndBro[] = INCBIN_U32("graphics/trainers/front_pics/rs_sis_and_bro_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSSisAndBro[] = INCBIN_U32("graphics/trainers/palettes/rs_sis_and_bro.gbapal.lz"); + +const u32 gTrainerFrontPic_AquaAdminM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_AquaAdminM[] = INCBIN_U32("graphics/trainers/palettes/aqua_admin_m.gbapal.lz"); + +const u32 gTrainerFrontPic_AquaAdminF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_AquaAdminF[] = INCBIN_U32("graphics/trainers/palettes/aqua_admin_f.gbapal.lz"); + +const u32 gTrainerFrontPic_MagmaAdminM[] = INCBIN_U32("graphics/trainers/front_pics/magma_admin_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_MagmaAdminM[] = INCBIN_U32("graphics/trainers/palettes/magma_admin_m.gbapal.lz"); + +const u32 gTrainerFrontPic_MagmaAdminF[] = INCBIN_U32("graphics/trainers/front_pics/magma_admin_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_MagmaAdminF[] = INCBIN_U32("graphics/trainers/palettes/magma_admin_f.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderWattson[] = INCBIN_U32("graphics/trainers/front_pics/leader_wattson_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderWattson[] = INCBIN_U32("graphics/trainers/palettes/leader_wattson.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderFlannery[] = INCBIN_U32("graphics/trainers/front_pics/leader_flannery_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderFlannery[] = INCBIN_U32("graphics/trainers/palettes/leader_flannery.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderNorman[] = INCBIN_U32("graphics/trainers/front_pics/leader_norman_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderNorman[] = INCBIN_U32("graphics/trainers/palettes/leader_norman.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderWinona[] = INCBIN_U32("graphics/trainers/front_pics/leader_winona_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderWinona[] = INCBIN_U32("graphics/trainers/palettes/leader_winona.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderWallace[] = INCBIN_U32("graphics/trainers/front_pics/leader_wallace_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderWallace[] = INCBIN_U32("graphics/trainers/palettes/leader_wallace.gbapal.lz"); + +const u32 gTrainerFrontPic_EliteFourGlacia[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_glacia_front_pic.4bpp.lz"); +const u32 gTrainerPalette_EliteFourGlacia[] = INCBIN_U32("graphics/trainers/palettes/elite_four_glacia.gbapal.lz"); + +const u32 gTrainerFrontPic_EliteFourDrake[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_drake_front_pic.4bpp.lz"); +const u32 gTrainerPalette_EliteFourDrake[] = INCBIN_U32("graphics/trainers/palettes/elite_four_drake.gbapal.lz"); + +const u32 gTrainerFrontPic_Youngster[] = INCBIN_U32("graphics/trainers/front_pics/youngster_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Youngster[] = INCBIN_U32("graphics/trainers/palettes/youngster.gbapal.lz"); + +const u32 gTrainerFrontPic_BugCatcher[] = INCBIN_U32("graphics/trainers/front_pics/bug_catcher_front_pic.4bpp.lz"); +const u32 gTrainerPalette_BugCatcher[] = INCBIN_U32("graphics/trainers/palettes/bug_catcher.gbapal.lz"); + +const u32 gTrainerFrontPic_Lass[] = INCBIN_U32("graphics/trainers/front_pics/lass_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Lass[] = INCBIN_U32("graphics/trainers/palettes/lass.gbapal.lz"); + +const u32 gTrainerFrontPic_Sailor[] = INCBIN_U32("graphics/trainers/front_pics/sailor_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Sailor[] = INCBIN_U32("graphics/trainers/palettes/sailor.gbapal.lz"); + +const u32 gTrainerFrontPic_Camper[] = INCBIN_U32("graphics/trainers/front_pics/camper_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Camper[] = INCBIN_U32("graphics/trainers/palettes/camper.gbapal.lz"); + +const u32 gTrainerFrontPic_Picnicker[] = INCBIN_U32("graphics/trainers/front_pics/picnicker_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Picnicker[] = INCBIN_U32("graphics/trainers/palettes/picnicker.gbapal.lz"); + +const u32 gTrainerFrontPic_PokeManiac[] = INCBIN_U32("graphics/trainers/front_pics/pokemaniac_front_pic.4bpp.lz"); +const u32 gTrainerPalette_PokeManiac[] = INCBIN_U32("graphics/trainers/palettes/pokemaniac.gbapal.lz"); + +const u32 gTrainerFrontPic_SuperNerd[] = INCBIN_U32("graphics/trainers/front_pics/super_nerd_front_pic.4bpp.lz"); +const u32 gTrainerPalette_SuperNerd[] = INCBIN_U32("graphics/trainers/palettes/super_nerd.gbapal.lz"); + +const u32 gTrainerFrontPic_Hiker[] = INCBIN_U32("graphics/trainers/front_pics/hiker_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Hiker[] = INCBIN_U32("graphics/trainers/palettes/hiker.gbapal.lz"); + +const u32 gTrainerFrontPic_Biker[] = INCBIN_U32("graphics/trainers/front_pics/biker_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Biker[] = INCBIN_U32("graphics/trainers/palettes/biker.gbapal.lz"); + +const u32 gTrainerFrontPic_Burglar[] = INCBIN_U32("graphics/trainers/front_pics/burglar_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Burglar[] = INCBIN_U32("graphics/trainers/palettes/burglar.gbapal.lz"); + +const u32 gTrainerFrontPic_Engineer[] = INCBIN_U32("graphics/trainers/front_pics/engineer_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Engineer[] = INCBIN_U32("graphics/trainers/palettes/engineer.gbapal.lz"); + +const u32 gTrainerFrontPic_Fisherman[] = INCBIN_U32("graphics/trainers/front_pics/fisherman_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Fisherman[] = INCBIN_U32("graphics/trainers/palettes/fisherman.gbapal.lz"); + +const u32 gTrainerFrontPic_SwimmerM[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_SwimmerM[] = INCBIN_U32("graphics/trainers/palettes/swimmer_m.gbapal.lz"); + +const u32 gTrainerFrontPic_CueBall[] = INCBIN_U32("graphics/trainers/front_pics/cue_ball_front_pic.4bpp.lz"); +const u32 gTrainerPalette_CueBall[] = INCBIN_U32("graphics/trainers/palettes/cue_ball.gbapal.lz"); + +const u32 gTrainerFrontPic_Gamer[] = INCBIN_U32("graphics/trainers/front_pics/gamer_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Gamer[] = INCBIN_U32("graphics/trainers/palettes/gamer.gbapal.lz"); + +const u32 gTrainerFrontPic_Beauty[] = INCBIN_U32("graphics/trainers/front_pics/beauty_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Beauty[] = INCBIN_U32("graphics/trainers/palettes/beauty.gbapal.lz"); + +const u32 gTrainerFrontPic_SwimmerF[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_SwimmerF[] = INCBIN_U32("graphics/trainers/palettes/swimmer_f.gbapal.lz"); + +const u32 gTrainerFrontPic_PsychicM[] = INCBIN_U32("graphics/trainers/front_pics/psychic_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_PsychicM[] = INCBIN_U32("graphics/trainers/palettes/psychic_m.gbapal.lz"); + +const u32 gTrainerFrontPic_Rocker[] = INCBIN_U32("graphics/trainers/front_pics/rocker_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Rocker[] = INCBIN_U32("graphics/trainers/palettes/rocker.gbapal.lz"); + +const u32 gTrainerFrontPic_Juggler[] = INCBIN_U32("graphics/trainers/front_pics/juggler_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Juggler[] = INCBIN_U32("graphics/trainers/palettes/juggler.gbapal.lz"); + +const u32 gTrainerFrontPic_Tamer[] = INCBIN_U32("graphics/trainers/front_pics/tamer_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Tamer[] = INCBIN_U32("graphics/trainers/palettes/tamer.gbapal.lz"); + +const u32 gTrainerFrontPic_BirdKeeper[] = INCBIN_U32("graphics/trainers/front_pics/bird_keeper_front_pic.4bpp.lz"); +const u32 gTrainerPalette_BirdKeeper[] = INCBIN_U32("graphics/trainers/palettes/bird_keeper.gbapal.lz"); + +const u32 gTrainerFrontPic_BlackBelt[] = INCBIN_U32("graphics/trainers/front_pics/black_belt_front_pic.4bpp.lz"); +const u32 gTrainerPalette_BlackBelt[] = INCBIN_U32("graphics/trainers/palettes/black_belt.gbapal.lz"); + +const u32 gTrainerFrontPic_Rival1[] = INCBIN_U32("graphics/trainers/front_pics/rival_1_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Rival1[] = INCBIN_U32("graphics/trainers/palettes/rival_1.gbapal.lz"); + +const u32 gTrainerFrontPic_Scientist[] = INCBIN_U32("graphics/trainers/front_pics/scientist_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Scientist[] = INCBIN_U32("graphics/trainers/palettes/scientist.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderGiovanni[] = INCBIN_U32("graphics/trainers/front_pics/leader_giovanni_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderGiovanni[] = INCBIN_U32("graphics/trainers/palettes/leader_giovanni.gbapal.lz"); + +const u32 gTrainerFrontPic_RocketGruntM[] = INCBIN_U32("graphics/trainers/front_pics/rocket_grunt_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RocketGruntM[] = INCBIN_U32("graphics/trainers/palettes/rocket_grunt_m.gbapal.lz"); + +const u32 gTrainerFrontPic_CooltrainerM[] = INCBIN_U32("graphics/trainers/front_pics/cool_trainer_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_CooltrainerM[] = INCBIN_U32("graphics/trainers/palettes/cool_trainer_m.gbapal.lz"); + +const u32 gTrainerFrontPic_CooltrainerF[] = INCBIN_U32("graphics/trainers/front_pics/cool_trainer_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_CooltrainerF[] = INCBIN_U32("graphics/trainers/palettes/cool_trainer_f.gbapal.lz"); + +const u32 gTrainerFrontPic_EliteFourLorelei[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_lorelei_front_pic.4bpp.lz"); +const u32 gTrainerPalette_EliteFourLorelei[] = INCBIN_U32("graphics/trainers/palettes/elite_four_lorelei.gbapal.lz"); + +const u32 gTrainerFrontPic_EliteFourBruno[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_bruno_front_pic.4bpp.lz"); +const u32 gTrainerPalette_EliteFourBruno[] = INCBIN_U32("graphics/trainers/palettes/elite_four_bruno.gbapal.lz"); + +const u32 gTrainerFrontPic_EliteFourAgatha[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_agatha_front_pic.4bpp.lz"); +const u32 gTrainerPalette_EliteFourAgatha[] = INCBIN_U32("graphics/trainers/palettes/elite_four_agatha.gbapal.lz"); + +const u32 gTrainerFrontPic_EliteFourLance[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_lance_front_pic.4bpp.lz"); +const u32 gTrainerPalette_EliteFourLance[] = INCBIN_U32("graphics/trainers/palettes/elite_four_lance.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderBrock[] = INCBIN_U32("graphics/trainers/front_pics/leader_brock_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderBrock[] = INCBIN_U32("graphics/trainers/palettes/leader_brock.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderMisty[] = INCBIN_U32("graphics/trainers/front_pics/leader_misty_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderMisty[] = INCBIN_U32("graphics/trainers/palettes/leader_misty.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderLtSurge[] = INCBIN_U32("graphics/trainers/front_pics/leader_lt_surge_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderLtSurge[] = INCBIN_U32("graphics/trainers/palettes/leader_lt_surge.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderErika[] = INCBIN_U32("graphics/trainers/front_pics/leader_erika_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderErika[] = INCBIN_U32("graphics/trainers/palettes/leader_erika.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderKoga[] = INCBIN_U32("graphics/trainers/front_pics/leader_koga_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderKoga[] = INCBIN_U32("graphics/trainers/palettes/leader_koga.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderBlaine[] = INCBIN_U32("graphics/trainers/front_pics/leader_blaine_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderBlaine[] = INCBIN_U32("graphics/trainers/palettes/leader_blaine.gbapal.lz"); + +const u32 gTrainerFrontPic_LeaderSabrina[] = INCBIN_U32("graphics/trainers/front_pics/leader_sabrina_front_pic.4bpp.lz"); +const u32 gTrainerPalette_LeaderSabrina[] = INCBIN_U32("graphics/trainers/palettes/leader_sabrina.gbapal.lz"); + +const u32 gTrainerFrontPic_Gentleman[] = INCBIN_U32("graphics/trainers/front_pics/gentleman_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Gentleman[] = INCBIN_U32("graphics/trainers/palettes/gentleman.gbapal.lz"); + +const u32 gTrainerFrontPic_Rival2[] = INCBIN_U32("graphics/trainers/front_pics/rival_2_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Rival2[] = INCBIN_U32("graphics/trainers/palettes/rival_2.gbapal.lz"); + +const u32 gTrainerFrontPic_ChampionRival[] = INCBIN_U32("graphics/trainers/front_pics/champion_rival_front_pic.4bpp.lz"); +const u32 gTrainerPalette_ChampionRival[] = INCBIN_U32("graphics/trainers/palettes/champion_rival.gbapal.lz"); + +const u32 gTrainerFrontPic_Channeler[] = INCBIN_U32("graphics/trainers/front_pics/channeler_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Channeler[] = INCBIN_U32("graphics/trainers/palettes/channeler.gbapal.lz"); + +const u32 gTrainerFrontPic_Twins[] = INCBIN_U32("graphics/trainers/front_pics/twins_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Twins[] = INCBIN_U32("graphics/trainers/palettes/twins.gbapal.lz"); + +const u32 gTrainerFrontPic_CoolCouple[] = INCBIN_U32("graphics/trainers/front_pics/cool_couple_front_pic.4bpp.lz"); +const u32 gTrainerPalette_CoolCouple[] = INCBIN_U32("graphics/trainers/palettes/cool_couple.gbapal.lz"); + +const u32 gTrainerFrontPic_YoungCouple[] = INCBIN_U32("graphics/trainers/front_pics/young_couple_front_pic.4bpp.lz"); +const u32 gTrainerPalette_YoungCouple[] = INCBIN_U32("graphics/trainers/palettes/young_couple.gbapal.lz"); + +const u32 gTrainerFrontPic_CrushKin[] = INCBIN_U32("graphics/trainers/front_pics/crush_kin_front_pic.4bpp.lz"); +const u32 gTrainerPalette_CrushKin[] = INCBIN_U32("graphics/trainers/palettes/crush_kin.gbapal.lz"); + +const u32 gTrainerFrontPic_SisAndBro[] = INCBIN_U32("graphics/trainers/front_pics/sis_and_bro_front_pic.4bpp.lz"); +const u32 gTrainerPalette_SisAndBro[] = INCBIN_U32("graphics/trainers/palettes/sis_and_bro.gbapal.lz"); + +const u32 gTrainerFrontPic_ProfessorOak[] = INCBIN_U32("graphics/trainers/front_pics/professor_oak_front_pic.4bpp.lz"); +const u32 gTrainerPalette_ProfessorOak[] = INCBIN_U32("graphics/trainers/palettes/professor_oak.gbapal.lz"); + +const u32 gTrainerFrontPic_RSBrendan2[] = INCBIN_U32("graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSBrendan2[] = INCBIN_U32("graphics/trainers/palettes/ruby_sapphire_brendan.gbapal.lz"); + +const u32 gTrainerFrontPic_RSMay2[] = INCBIN_U32("graphics/trainers/front_pics/ruby_sapphire_may_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RSMay2[] = INCBIN_U32("graphics/trainers/palettes/ruby_sapphire_may.gbapal.lz"); + +const u32 gTrainerFrontPic_Red[] = INCBIN_U32("graphics/trainers/front_pics/red_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Red[] = INCBIN_U32("graphics/trainers/palettes/red.gbapal.lz"); + +const u32 gTrainerFrontPic_Leaf[] = INCBIN_U32("graphics/trainers/front_pics/leaf_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Leaf[] = INCBIN_U32("graphics/trainers/palettes/leaf.gbapal.lz"); + +const u32 gTrainerFrontPic_RocketGruntF[] = INCBIN_U32("graphics/trainers/front_pics/rocket_grunt_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RocketGruntF[] = INCBIN_U32("graphics/trainers/palettes/rocket_grunt_f.gbapal.lz"); + +const u32 gTrainerFrontPic_PsychicF[] = INCBIN_U32("graphics/trainers/front_pics/psychic_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_PsychicF[] = INCBIN_U32("graphics/trainers/palettes/psychic_f.gbapal.lz"); + +const u32 gTrainerFrontPic_CrushGirl[] = INCBIN_U32("graphics/trainers/front_pics/crush_girl_front_pic.4bpp.lz"); +const u32 gTrainerPalette_CrushGirl[] = INCBIN_U32("graphics/trainers/palettes/crush_girl.gbapal.lz"); + +const u32 gTrainerFrontPic_TuberF[] = INCBIN_U32("graphics/trainers/front_pics/tuber_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_TuberF[] = INCBIN_U32("graphics/trainers/palettes/tuber_f.gbapal.lz"); + +const u32 gTrainerFrontPic_PokemonBreederF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_PokemonBreederF[] = INCBIN_U32("graphics/trainers/palettes/pokemon_breeder_f.gbapal.lz"); + +const u32 gTrainerFrontPic_PokemonRangerM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_m_front_pic.4bpp.lz"); +const u32 gTrainerPalette_PokemonRangerM[] = INCBIN_U32("graphics/trainers/palettes/pokemon_ranger_m.gbapal.lz"); + +const u32 gTrainerFrontPic_PokemonRangerF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_f_front_pic.4bpp.lz"); +const u32 gTrainerPalette_PokemonRangerF[] = INCBIN_U32("graphics/trainers/palettes/pokemon_ranger_f.gbapal.lz"); + +const u32 gTrainerFrontPic_AromaLady[] = INCBIN_U32("graphics/trainers/front_pics/aroma_lady_front_pic.4bpp.lz"); +const u32 gTrainerPalette_AromaLady[] = INCBIN_U32("graphics/trainers/palettes/aroma_lady.gbapal.lz"); + +const u32 gTrainerFrontPic_RuinManiac[] = INCBIN_U32("graphics/trainers/front_pics/ruin_maniac_front_pic.4bpp.lz"); +const u32 gTrainerPalette_RuinManiac[] = INCBIN_U32("graphics/trainers/palettes/ruin_maniac.gbapal.lz"); + +const u32 gTrainerFrontPic_Lady[] = INCBIN_U32("graphics/trainers/front_pics/lady_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Lady[] = INCBIN_U32("graphics/trainers/palettes/lady.gbapal.lz"); + +const u32 gTrainerFrontPic_Painter[] = INCBIN_U32("graphics/trainers/front_pics/painter_front_pic.4bpp.lz"); +const u32 gTrainerPalette_Painter[] = INCBIN_U32("graphics/trainers/palettes/painter.gbapal.lz"); + +const u8 gTrainerBackPic_Red[] = INCBIN_U8("graphics/trainers/back_pics/red_back_pic.4bpp"); +const u8 gTrainerBackPic_Leaf[] = INCBIN_U8("graphics/trainers/back_pics/leaf_back_pic.4bpp"); +const u8 gTrainerBackPic_Pokedude[] = INCBIN_U8("graphics/trainers/back_pics/pokedude_back_pic.4bpp"); +const u8 gTrainerBackPic_OldMan[] = INCBIN_U8("graphics/trainers/back_pics/old_man_back_pic.4bpp"); + +const u8 gTrainerBackPic_RSBrendan[] = INCBIN_U8("graphics/trainers/back_pics/ruby_sapphire_brendan_back_pic.4bpp"); +const u8 gTrainerBackPic_RSMay[] = INCBIN_U8("graphics/trainers/back_pics/ruby_sapphire_may_back_pic.4bpp"); + +const u32 gTrainerPalette_RedBackPic[] = INCBIN_U32("graphics/trainers/palettes/leaf_back_pic.gbapal.lz"); +const u32 gTrainerPalette_LeafBackPic[] = INCBIN_U32("graphics/trainers/palettes/red_back_pic.gbapal.lz"); +const u32 gTrainerPalette_PokedudeBackPic[] = INCBIN_U32("graphics/trainers/palettes/pokedude_back_pic.gbapal.lz"); +const u32 gTrainerPalette_OldManBackPic[] = INCBIN_U32("graphics/trainers/palettes/old_man_back_pic.gbapal.lz"); diff --git a/src/data/pokemon/trainer_class_lookups.h b/src/data/pokemon/trainer_class_lookups.h index faf23bf31..2309f85a1 100644 --- a/src/data/pokemon/trainer_class_lookups.h +++ b/src/data/pokemon/trainer_class_lookups.h @@ -133,10 +133,10 @@ const u8 gFacilityClassToPicIndex[] = [FACILITY_CLASS_CRUSH_KIN] = 130, [FACILITY_CLASS_SIS_AND_BRO_2] = 131, [FACILITY_CLASS_PKMN_PROF] = 132, - [FACILITY_CLASS_PLAYER] = 133, - [FACILITY_CLASS_PLAYER_2] = 134, - [FACILITY_CLASS_PLAYER_3] = 135, - [FACILITY_CLASS_PLAYER_4] = 136, + [FACILITY_CLASS_BRENDAN] = TRAINER_PIC_RS_BRENDAN_2, + [FACILITY_CLASS_MAY] = TRAINER_PIC_RS_MAY_2, + [FACILITY_CLASS_RED] = TRAINER_PIC_RED, + [FACILITY_CLASS_LEAF] = TRAINER_PIC_LEAF, [FACILITY_CLASS_TEAM_ROCKET_2] = 137, [FACILITY_CLASS_PSYCHIC_4] = 138, [FACILITY_CLASS_CRUSH_GIRL] = 139, @@ -287,10 +287,10 @@ const u8 gFacilityClassToTrainerClass[] = [FACILITY_CLASS_CRUSH_KIN] = CLASS_CRUSH_KIN, [FACILITY_CLASS_SIS_AND_BRO_2] = CLASS_SIS_AND_BRO_2, [FACILITY_CLASS_PKMN_PROF] = CLASS_PKMN_PROF, - [FACILITY_CLASS_PLAYER] = CLASS_PLAYER, - [FACILITY_CLASS_PLAYER_2] = CLASS_PLAYER, - [FACILITY_CLASS_PLAYER_3] = CLASS_PLAYER, - [FACILITY_CLASS_PLAYER_4] = CLASS_PLAYER, + [FACILITY_CLASS_BRENDAN] = CLASS_PLAYER, + [FACILITY_CLASS_MAY] = CLASS_PLAYER, + [FACILITY_CLASS_RED] = CLASS_PLAYER, + [FACILITY_CLASS_LEAF] = CLASS_PLAYER, [FACILITY_CLASS_TEAM_ROCKET_2] = CLASS_TEAM_ROCKET, [FACILITY_CLASS_PSYCHIC_4] = CLASS_PSYCHIC_2, [FACILITY_CLASS_CRUSH_GIRL] = CLASS_CRUSH_GIRL, diff --git a/src/data/pokemon_graphics/palette_table.h b/src/data/pokemon_graphics/palette_table.h index 35edcc76c..bb4f64a07 100644 --- a/src/data/pokemon_graphics/palette_table.h +++ b/src/data/pokemon_graphics/palette_table.h @@ -1,4 +1,5 @@ -const struct CompressedSpritePalette gMonPaletteTable[] = +// A dirty hack because field_effect.c requires this not be const +__attribute__((section(".rodata"))) struct CompressedSpritePalette gMonPaletteTable[] = { SPECIES_PAL(NONE, gMonPalette_CircledQuestionMark), SPECIES_PAL(BULBASAUR, gMonPalette_Bulbasaur), diff --git a/src/data/text/quest_log.h b/src/data/text/quest_log.h new file mode 100644 index 000000000..db65f6e47 --- /dev/null +++ b/src/data/text/quest_log.h @@ -0,0 +1,125 @@ +const u8 gText_QuestLog_PreviouslyOnYourQuest[] = _("Previously on your quest…"); +const u8 gText_QuestLog_SwitchMon1WithMon2[] = _("{PLAYER} switched the POKéMON\n{STR_VAR_1} with {STR_VAR_2}."); +const u8 gText_QuestLog_SwappedHeldItemsOnMon[] = _("Took the item {STR_VAR_2} from\n{STR_VAR_1} and gave it the item\n{STR_VAR_3} to hold."); +const u8 gText_QuestLog_TookHeldItemFromMon[] = _("Took the item {STR_VAR_2} from\n{STR_VAR_1}."); +const u8 gText_QuestLog_UsedItemOnMonAtThisLocation[] = _("Used the item {STR_VAR_1} on {STR_VAR_2}\nat this location."); +const u8 gText_QuestLog_UsedTheItem[] = _("{PLAYER} used the\n{STR_VAR_1}."); +const u8 gText_QuestLog_UsedTheKeyItem[] = _("Used the item {STR_VAR_1}, which was\nin the KEY ITEMS POCKET."); +const u8 gText_QuestLog_MonLearnedMoveFromTM[] = _("{STR_VAR_1} learned the move\n{STR_VAR_2} from a TM."); +const u8 gText_QuestLog_MonReplacedMoveWithTM[] = _("{STR_VAR_1} learned the move\n{STR_VAR_2} from a TM and forgot\nthe move {STR_VAR_3}."); +const u8 gText_QuestLog_MonsWereFullyRestoredAtCenter[] = _("POKéMON were fully restored\nat a POKéMON CENTER."); +const u8 gText_QuestLog_PlayerBattledChampionRival[] = _("{DYNAMIC 0x00} had a marvelous battle\nwith the CHAMPION, {DYNAMIC 0x01}."); +const u8 gText_QuestLog_PlayerSentOutMon1RivalSentOutMon2[] = _("In the end, {DYNAMIC 0x00} sent out {DYNAMIC 0x01}\nwhile {DYNAMIC 0x02} countered with\n{DYNAMIC 0x03}."); +const u8 gText_QuestLog_WonTheMatchAsAResult[] = _("And, as a result of battling with every\nbit of power, {DYNAMIC 0x00} won\nthe match."); +const u8 gText_QuestLog_StoredItemInPC[] = _("Removed the item {STR_VAR_1} from\nthe BAG's ITEMS POCKET and stored it\non the PC."); +const u8 gText_QuestLog_WithdrewItemFromPC[] = _("{PLAYER} withdrew the item {STR_VAR_1}\nfrom the PC."); +const u8 gText_QuestLog_TradedMon1ForPersonsMon2[] = _("Traded {STR_VAR_3} in exchange for\n{STR_VAR_1}'s {STR_VAR_2}."); +const u8 gText_QuestLog_SingleBattleWithPersonResultedInOutcome[] = _("Took on {DYNAMIC 0x00} in a SINGLE BATTLE.\nIt was a hotly contested match that\nresulted in a {DYNAMIC 0x01}."); +const u8 gText_QuestLog_DoubleBattleWithPersonResultedInOutcome[] = _("Took on {DYNAMIC 0x00} in a DOUBLE BATTLE.\nIt was an extended match that resulted\nin a {DYNAMIC 0x01}."); +const u8 gText_QuestLog_MultiBattleWithPeopleResultedInOutcome[] = _("{DYNAMIC 0x00} and {DYNAMIC 0x01} took on\n{DYNAMIC 0x02} and {DYNAMIC 0x03} in a\nMULTI BATTLE and got a {DYNAMIC 0x04}."); +const u8 gText_QuestLog_Win[] = _("win"); +const u8 gText_QuestLog_Loss[] = _("loss"); +const u8 gText_QuestLog_MingledInUnionRoom[] = _("Mingled with other TRAINERS in\nthe UNION ROOM."); +const u8 gText_QuestLog_DepartedPlaceInTownForNextDestination[] = _("Departed {STR_VAR_2}\nin {STR_VAR_1} for the next\ndestination."); +const u8 gText_QuestLog_SwitchedMonsBetweenBoxes[] = _("After consideration, switched\n{DYNAMIC 0x01} in {DYNAMIC 0x00} with\n{DYNAMIC 0x03} in {DYNAMIC 0x02}."); +const u8 gText_QuestLog_MovedMonToNewBox[] = _("After deep thought, switched\n{DYNAMIC 0x01} in BOX “{DYNAMIC 0x00}” to\nthe BOX “{DYNAMIC 0x02}.”"); +const u8 gText_QuestLog_SwitchedMonsWithinBox[] = _("Switched around {DYNAMIC 0x01} and\n{DYNAMIC 0x02} in {DYNAMIC 0x00}."); +const u8 gText_QuestLog_MovedMonWithinBox[] = _("Moved {DYNAMIC 0x01} in {DYNAMIC 0x00}."); +const u8 gText_QuestLog_SwitchedPartyMonForPCMon[] = _("Switched {DYNAMIC 0x01} in {DYNAMIC 0x00}\nwith {DYNAMIC 0x02} in the party."); +const u8 gText_QuestLog_WithdrewMonFromPC[] = _("Added {DYNAMIC 0x01} in {DYNAMIC 0x00}\nto the party."); +const u8 gText_QuestLog_DepositedMonInPC[] = _("Moved {DYNAMIC 0x00} from the party\nto {DYNAMIC 0x01}."); +const u8 gText_QuestLog_SwitchedMultipleMons[] = _("Moved a group of POKéMON in\n{DYNAMIC 0x00} to {DYNAMIC 0x01}."); +const u8 gText_QuestLog_ADifferentSpot[] = _("a different spot"); +const u8 gText_QuestLog_GaveMonHeldItemFromPC[] = _("Removed the item {STR_VAR_1} from\n{PLAYER}'s PC and gave it to {STR_VAR_2}\nto hold."); +const u8 gText_QuestLog_SwappedHeldItemFromPC[] = _("Removed the item {STR_VAR_1} from\na PC, gave it to {STR_VAR_2}, and put\nthe {STR_VAR_3} it held in the BAG."); +const u8 gText_QuestLog_ChattedWithManyTrainers[] = _("Chatted with many TRAINERS."); +const u8 gText_QuestLog_Handily[] = _("handily"); +const u8 gText_QuestLog_Tenaciously[] = _("tenaciously"); +const u8 gText_QuestLog_Somehow[] = _("somehow"); +const u8 gText_QuestLog_TradedMon1ForTrainersMon2[] = _("Met and traded with {STR_VAR_1}.\nObtained the TRAINER's {STR_VAR_2} in\nexchange for {STR_VAR_3}."); +const u8 gText_QuestLog_BattledTrainerEndedInOutcome[] = _("Met and battled {STR_VAR_1}.\nThe match ended in a {STR_VAR_2}."); +const u8 gText_QuestLog_BoughtItem[] = _("Went to the POKéMON MART in\n{DYNAMIC 0x00} and bought one \n{DYNAMIC 0x01}."); +const u8 gText_QuestLog_BoughtItemsIncludingItem[] = _("Went to the POKéMON MART in\n{DYNAMIC 0x00} and spent ¥{DYNAMIC 0x02} for\nitems including {DYNAMIC 0x01}(s)."); +const u8 gText_QuestLog_SoldNumOfItem[] = _("{DYNAMIC 0x00} went to the POKéMON MART in\n{DYNAMIC 0x01} and sold {DYNAMIC 0x03} of\nthe item {DYNAMIC 0x02}."); +const u8 gText_QuestLog_SoldItemsIncludingItem[] = _("Sold items including {DYNAMIC 0x01} at\nthe POKéMON MART in {DYNAMIC 0x00},\nworth ¥{DYNAMIC 0x02}."); +const u8 gText_QuestLog_JustOne[] = _("just one"); +const u8 gText_QuestLog_Num[] = _("{DYNAMIC 0x04}"); +const u8 gText_QuestLog_UsedSoftboiled[] = _("{STR_VAR_1} shared its HP using the move\nSOFTBOILED."); +const u8 gText_QuestLog_UsedMilkDrink[] = _("{STR_VAR_1} shared its HP using the move\nMILK DRINK."); +const u8 gText_QuestLog_MonLearnedMoveFromHM[] = _("{STR_VAR_1} securely learned the move\n{STR_VAR_2} using an HM."); +const u8 gText_QuestLog_MonReplacedMoveWithHM[] = _("{STR_VAR_1} securely learned the move\n{STR_VAR_2} using an HM and forgot\nthe move {STR_VAR_3}."); +const u8 gText_QuestLog_DefeatedWildMon[] = _("{DYNAMIC 0x05} managed to defeat the POKéMON\n{DYNAMIC 0x01} in {DYNAMIC 0x00}."); +const u8 gText_QuestLog_DefeatedWildMons[] = _("Defeated {DYNAMIC 0x02} wild POKéMON including\n{DYNAMIC 0x01} in {DYNAMIC 0x00}."); +const u8 gText_QuestLog_CaughtWildMon[] = _("{DYNAMIC 0x05} managed to catch the POKéMON\n{DYNAMIC 0x03} in {DYNAMIC 0x00}."); +const u8 gText_QuestLog_CaughtWildMons[] = _("Threw POKé BALLS in a frenzy, catching\n{DYNAMIC 0x04} POKéMON including {DYNAMIC 0x03} here\nin {DYNAMIC 0x00}."); +const u8 gText_QuestLog_DefeatedWildMonAndCaughtWildMon[] = _("{DYNAMIC 0x05} defeated the POKéMON\n{DYNAMIC 0x01} and caught one {DYNAMIC 0x03}\nin {DYNAMIC 0x00}."); +const u8 gText_QuestLog_DefeatedWildMonAndCaughtWildMons[] = _("Defeated the POKéMON {DYNAMIC 0x01}\nand caught {DYNAMIC 0x04} POKéMON including\n{DYNAMIC 0x03} in {DYNAMIC 0x00}."); +const u8 gText_QuestLog_DefeatedWildMonsAndCaughtWildMon[] = _("{DYNAMIC 0x05} defeated {DYNAMIC 0x02} POKéMON including\n{DYNAMIC 0x01} and caught one {DYNAMIC 0x03}\nin {DYNAMIC 0x00}."); +const u8 gText_QuestLog_DefeatedWildMonsAndCaughtWildMons[] = _("Defeated {DYNAMIC 0x02} POKéMON including\n{DYNAMIC 0x01} and caught {DYNAMIC 0x04} POKéMON\nincluding {DYNAMIC 0x03} in {DYNAMIC 0x00}."); +const u8 gText_QuestLog_GaveMonHeldItem[] = _("Made {STR_VAR_1} hold the item\n{STR_VAR_2}."); +const u8 gText_QuestLog_GaveMonHeldItem2[] = _("{PLAYER} made {STR_VAR_1} hold the item\n{STR_VAR_2}."); +const u8 gText_QuestLog_UsedCut[] = _("{STR_VAR_1} used the Hidden Move\nCUT here."); +const u8 gText_QuestLog_UsedFly[] = _("{STR_VAR_1} used the Hidden Move\nFLY and flew to {STR_VAR_2}."); +const u8 gText_QuestLog_UsedSurf[] = _("{STR_VAR_1} used the Hidden Move\nSURF and rode the waves."); +const u8 gText_QuestLog_UsedStrength[] = _("{STR_VAR_1} used the Hidden Move\nSTRENGTH here."); +const u8 gText_QuestLog_UsedFlash[] = _("{STR_VAR_1} used the Hidden Move\nFLASH and illuminated a pitch-black\ncave."); +const u8 gText_QuestLog_UsedRockSmash[] = _("{STR_VAR_1} used the Hidden Move\nROCK SMASH here."); +const u8 gText_QuestLog_UsedWaterfall[] = _("{STR_VAR_1} used the Hidden Move\nWATERFALL to scale a raging torrent."); // Unused +const u8 gText_QuestLog_UsedDive[] = _("{STR_VAR_1}は ふかい ところを めざし\nひでんわざ\nダイビングを つかった!"); +const u8 gText_QuestLog_UsedDigInLocation[] = _("{STR_VAR_1} used DIG to escape from\n{STR_VAR_2}."); +const u8 gText_QuestLog_UsedSweetScent[] = _("{STR_VAR_1} used SWEET SCENT to attract\nwild POKéMON."); +const u8 gText_QuestLog_UsedTeleportToLocation[] = _("{STR_VAR_1} used TELEPORT, transporting\nthe party to {STR_VAR_2}'s\n{STR_VAR_3}."); +const u8 gText_QuestLog_LeftTownsLocationForNextDestination[] = _("{PLAYER} left {STR_VAR_1}'s\n{STR_VAR_2} for the next\ndestination."); +const u8 gText_QuestLog_PlayedGamesAtGameCorner[] = _("Played a lot of games at the ROCKET\nGAME CORNER in {STR_VAR_1}."); +const u8 gText_QuestLog_RestedAtHome[] = _("{PLAYER} rested comfortably at home."); +const u8 gText_QuestLog_LeftOaksLab[] = _("{PLAYER} left PROF. OAK's POKéMON\nRESEARCH LAB."); +const u8 gText_QuestLog_GymWasFullOfToughTrainers[] = _("The GYM in {STR_VAR_1} was full of\ntough TRAINERS…\nPreparations had to be made."); +const u8 gText_QuestLog_DepartedGym[] = _("Departed the GYM in {STR_VAR_1}."); +const u8 gText_QuestLog_HadGreatTimeInSafariZone[] = _("{PLAYER} had a great time with POKéMON\nin the SAFARI ZONE."); +const u8 gText_QuestLog_ManagedToGetOutOfLocation[] = _("Managed to get out of {STR_VAR_2}\nafter wandering about."); +const u8 gText_QuestLog_TookOnGymLeadersMonWithMonAndWon[] = _("Took on {DYNAMIC 0x00} GYM LEADER\n{DYNAMIC 0x01}'s {DYNAMIC 0x02} with {DYNAMIC 0x03}\nand won {DYNAMIC 0x04}!"); +const u8 gText_QuestLog_TookOnEliteFoursMonWithMonAndWon[] = _("Took on ELITE FOUR {DYNAMIC 0x00}'s\n{DYNAMIC 0x01} with {DYNAMIC 0x02} and\nwon {DYNAMIC 0x03}!"); +const u8 gText_QuestLog_TookOnTrainersMonWithMonAndWon[] = _("In {DYNAMIC 0x00}, took on\n{DYNAMIC 0x01}'s {DYNAMIC 0x02} with {DYNAMIC 0x03}\nand won {DYNAMIC 0x04}!"); +const u8 gText_QuestLog_Coolly[] = _("coolly"); +const u8 gText_QuestLog_Barely[] = _("barely"); +const u8 gText_QuestLog_UsedEscapeRope[] = _("{PLAYER} used an ESCAPE ROPE to get\nout from {STR_VAR_2}."); +const u8 gText_QuestLog_Draw[] = _("draw"); +const u8 gText_QuestLog_DepartedTheLocationForNextDestination[] = _("Departed from the {STR_VAR_2}\nfor the next destination."); +const u8 gText_QuestLog_DepartedFromLocationToNextDestination[] = _("{PLAYER} departed from\n{STR_VAR_2} and made way\nto the next destination."); +const u8 gText_QuestLog_ObtainedItemInLocation[] = _("Here in {STR_VAR_1}, {PLAYER}\nobtained the item {STR_VAR_2}."); +const u8 gText_QuestLog_ArrivedInLocation[] = _("Arrived in {STR_VAR_1}."); +const u8 gText_QuestLog_SavedGameAtLocation[] = _("And {PLAYER} saved the game at this\nlocation: {STR_VAR_1}."); +const u8 gText_QuestLog_Home[] = _("HOME"); +const u8 gText_QuestLog_OakResearchLab[] = _("OAK RESEARCH LAB"); +const u8 gText_QuestLog_Gym[] = _("GYM"); +const u8 gText_QuestLog_PokemonLeagueGate[] = _("POKéMON LEAGUE GATE"); +const u8 gText_QuestLog_ViridianForest[] = _("VIRIDIAN FOREST"); +const u8 gText_QuestLog_PewterMuseumOfScience[] = _("PEWTER MUSEUM OF SCIENCE"); +const u8 gText_QuestLog_MtMoon[] = _("MT. MOON"); +const u8 gText_QuestLog_BikeShop[] = _("BIKE SHOP"); +const u8 gText_QuestLog_BillsHouse[] = _("BILL'S HOUSE"); +const u8 gText_QuestLog_DayCare[] = _("DAY CARE"); +const u8 gText_QuestLog_UndergroundPath[] = _("UNDERGROUND PATH"); +const u8 gText_QuestLog_PokemonFanClub[] = _("POKéMON FAN CLUB"); +const u8 gText_QuestLog_SSAnne[] = _("S.S. ANNE"); +const u8 gText_QuestLog_DiglettsCave[] = _("DIGLETT'S CAVE"); +const u8 gText_QuestLog_RockTunnel[] = _("ROCK TUNNEL"); +const u8 gText_QuestLog_PowerPlant[] = _("POWER PLANT"); +const u8 gText_QuestLog_PokemonTower[] = _("POKéMON TOWER"); +const u8 gText_QuestLog_VolunteerHouse[] = _("VOLUNTEER HOUSE"); +const u8 gText_QuestLog_NameRatersHouse[] = _("NAME RATER'S HOUSE"); +const u8 gText_QuestLog_CeladonDeptStore[] = _("CELADON DEPT. STORE"); +const u8 gText_QuestLog_CeladonMansion[] = _("CELADON MANSION"); +const u8 gText_QuestLog_RocketGameCorner[] = _("ROCKET GAME CORNER"); +const u8 gText_QuestLog_Restaurant[] = _("RESTAURANT"); +const u8 gText_QuestLog_RocketHideout[] = _("ROCKET HIDEOUT"); +const u8 gText_QuestLog_SafariZone[] = _("SAFARI ZONE"); +const u8 gText_QuestLog_WardensHome[] = _("WARDEN'S HOME"); +const u8 gText_QuestLog_FightingDojo[] = _("FIGHTING DOJO"); +const u8 gText_QuestLog_SilphCo[] = _("SILPH CO."); +const u8 gText_QuestLog_SeafoamIslands[] = _("SEAFOAM ISLANDS"); +const u8 gText_QuestLog_PokemonMansion[] = _("POKéMON MANSION"); +const u8 gText_QuestLog_PokemonResearchLab[] = _("POKéMON RESEARCH LAB"); +const u8 gText_QuestLog_VictoryRoad[] = _("VICTORY ROAD"); +const u8 gText_QuestLog_PokemonLeague[] = _("POKéMON LEAGUE"); +const u8 gText_QuestLog_CeruleanCave[] = _("CERULEAN CAVE"); diff --git a/src/data/text/teachy_tv.h b/src/data/text/teachy_tv.h new file mode 100644 index 000000000..3cfa41ff7 --- /dev/null +++ b/src/data/text/teachy_tv.h @@ -0,0 +1,198 @@ +const u8 gTeachyTvString_TeachBattle[] = _("Teach me how to battle."); +const u8 gTeachyTvString_StatusProblems[] = _("What are status problems?"); +const u8 gTeachyTvString_TypeMatchups[] = _("What are type matchups?"); +const u8 gTeachyTvString_CatchPkmn[] = _("I want to catch POKéMON."); +const u8 gTeachyTvString_AboutTMs[] = _("Teach me about TMs."); +const u8 gTeachyTvString_RegisterItem[] = _("How do I register an item?"); +const u8 gTeachyTvString_Cancel[] = _("CANCEL"); +const u8 gTeachyTvText_PokedudeSaysHello[] = _( + "Hey, all you TRAINERS out there!\n" + "HELLO, TRAINERS!\p" + "……… ……… ………\p" + "Come on, let me hear you!\n" + "HELLO, TRAINERS!\l" + "It's me, the POKé DUDE!\p"); +const u8 gTeachyTvText_BattleScript1[] = _( + "Today, the POKé DUDE's here to\n" + "tell you about how you can battle\l" + "POKéMON!\p" + "Say you're out for a stroll when,\n" + "suddenly, a wild POKéMON appears!\p" + "It's up to you to smartly use your\n" + "POKéMON and their moves to reduce\l" + "the opponent's HP to nothing, and\l" + "claim victory!\p" + "I'll show you how to do that in\n" + "person and for sure!\p" + "All righty, here goes!\p" + "Keep your eyes glued to the super\n" + "POKé DUDE SHOW!"); +const u8 gTeachyTvText_BattleScript2[] = _( + "Well, did you get that?\p" + "Even if your own POKéMON's HP\n" + "falls to zero, and it becomes\l" + "unable to battle, not to worry!\p" + "Just take it to any POKéMON\n" + "CENTER and heal it!\p" + "All righty, be seeing you!\p" + "Remember, TRAINERS, a good deed\n" + "a day brings happiness to stay!"); +const u8 gTeachyTvText_StatusScript1[] = _( + "Today, the POKé DUDE's here to\n" + "tell you about status problems!\p" + "Status problems include poisoning,\n" + "paralysis, sleep, burn…\p" + "There are a couple others, but\n" + "they really are trouble.\p" + "Get any one, and your POKéMON\n" + "may become useless in battle.\p" + "You know, it hurts the POKé DUDE\n" + "to see a POKéMON suffer…\p" + "So, what should you do if your\n" + "POKéMON gets a status problem?\p" + "Well, you've got me to show you!\p" + "All righty, here goes!\p" + "Keep your eyes glued to the super\n" + "POKé DUDE SHOW!"); +const u8 gTeachyTvText_StatusScript2[] = _( + "Poisoning or paralysis don't go\n" + "away after a battle.\p" + "If a POKéMON is poisoned, it loses\n" + "HP even while you're walking.\p" + "You should heal POKéMON of these\n" + "kinds of problems right away.\p" + "Use an item, or try to get to a\n" + "POKéMON CENTER for healing.\p" + "That wasn't hard, was it?\n" + "All righty, be seeing you!\p" + "Remember, TRAINERS, a good deed\n" + "a day brings happiness to stay!"); +const u8 gTeachyTvText_MatchupsScript1[] = _( + "Does everyone know about type\n" + "matchups?\p" + "POKéMON and their moves all\n" + "belong to certain types.\p" + "For example, there are such types\n" + "as GRASS and WATER.\p" + "You need to consider the type of\n" + "the move used to attack…\p" + "And, the type of the POKéMON that\n" + "is hit by that attack.\p" + "Depending on how those two types\n" + "match up, the damage can change.\p" + "You see, it depends on whether\n" + "the type matchup is good or bad.\p" + "If you don't know how matchups\n" + "work, battles will be tough.\p" + "So, let me demonstrate exactly\n" + "what I mean.\p" + "All righty, here goes!\p" + "Keep your eyes glued to the super\n" + "POKé DUDE SHOW!"); +const u8 gTeachyTvText_MatchupsScript2[] = _( + "Is it possible to launch an attack\n" + "that will inflict heavy damage?\p" + "Does the opposing POKéMON pose\n" + "a threat to your POKéMON?\p" + "Is there any chance that it may\n" + "have disastrously tough moves?\p" + "Watch the type matchups to gain\n" + "the upper hand!\p" + "All righty, be seeing you!\p" + "Oh, for the COOL-type POKé DUDE,\n" + "AWESOME-type kids like you match\l" + "up perfectly!\p" + "Remember, a good deed a day\n" + "brings happiness to stay!"); +const u8 gTeachyTvText_CatchingScript1[] = _( + "Today, the POKé DUDE's going to\n" + "show you how to catch POKéMON!\p" + "Just imagine… A groovy POKéMON\n" + "suddenly appearing in the wild!\p" + "Oh, you want it!\n" + "You just can't help it!\p" + "Oh, you have to catch it!\n" + "You gotta have it!\p" + "Let me show you how you can make\n" + "it happen!\p" + "All righty, here goes!\p" + "Keep your eyes glued to the super\n" + "POKé DUDE SHOW!"); +const u8 gTeachyTvText_CatchingScript2[] = _( + "If your first POKé BALL fails to\n" + "catch the POKéMON, don't give up!\p" + "Keep throwing POKé BALLS…\n" + "It's bound to work sometime!\p" + "All righty, be seeing you!\p" + "Remember, TRAINERS, a good deed\n" + "a day brings happiness to stay!"); +const u8 gTeachyTvText_TMsScript1[] = _( + "Hey, everyone!\n" + "Do you all have TMs?\p" + "A TM, Technical Machine, is an\n" + "amazingly great item!\p" + "It teaches POKéMON a move that\n" + "it may not learn when leveling up!\p" + "Isn't that just great? What a\n" + "convenient world we live in!\p" + "Open the TM CASE and check out\n" + "the TMs you have.\p" + "You can check them out in detail,\n" + "too."); +const u8 gPokedudeText_TMTypes[] = _( + "POKé DUDE: NORMAL, WATER, GRASS…\n" + "TMs also come in types.\p" + "Check the type and teach it to\n" + "a POKéMON that matches up well.\p" + "For example, WATER PULSE is\n" + "suitable for WATER-type POKéMON.\p" + "BULLET SEED is a move that most\n" + "GRASS-type POKéMON can learn.\p" + "There's one other thing!"); +const u8 gPokedudeText_ReadTMDescription[] = _( + "Don't just look at the type, read\n" + "the description, too.\p" + "It will contain hints about what\n" + "POKéMON might learn the move.\p" + "For example, take a move like\n" + "FOCUS PUNCH.\p" + "It doesn't sound like anything a\n" + "bird or fish POKéMON can learn.\p" + "So, try using it on POKéMON with\n" + "arms that can throw punches!"); +const u8 gTeachyTvText_TMsScript2[] = _( + "Wow, I talked a lot today!\n" + "All righty, be seeing you!\p" + "Remember, TRAINERS, a good deed\n" + "a day brings happiness to stay!"); +const u8 gTeachyTvText_RegisterScript1[] = _( + "A TRAINER's BAG has a bunch of\n" + "nifty, convenient features!\p" + "Take stuff in the KEY ITEMS\n" + "POCKET, for instance.\p" + "You can use a key item without\n" + "opening the BAG every time.\p" + "For example, let's pretend I have\n" + "a TEACHY TV in my BAG.\p" + "I can register it for instant use,\n" + "and I'll show you how!\p" + "All righty, here goes!\p" + "Keep your eyes glued to the sorta\n" + "super POKé DUDE SHOW!"); +const u8 gTeachyTvText_RegisterScript2[] = _( + "And now, your TEACHY TV is\n" + "registered.\p" + "How do you use it?\n" + "Well, here's how it works.\p" + "Once an item in the KEY ITEMS\n" + "POKCET is registered, you can use\l" + "it by pressing SELECT.\p" + "So, you've given yourself\n" + "one-touch access to TEACHY TV.\p" + "All it takes for you to see me is\n" + "pressing one button!\p" + "That kind of attention is a little\n" + "embarrassing!\p" + "All righty, be seeing you!\p" + "Remember, TRAINERS, a good deed\n" + "a day brings happiness to stay!"); diff --git a/src/data/trainers.h b/src/data/trainers.h index 4cb0b8443..0c3a3f1ee 100644 --- a/src/data/trainers.h +++ b/src/data/trainers.h @@ -22,7 +22,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A1A0), .party = {.NoItemDefaultMoves = sTrainerMons_823A1A0} }, [TRAINER_TEAM_AQUA_1] = { @@ -34,7 +34,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A1A8), .party = {.NoItemDefaultMoves = sTrainerMons_823A1A8} }, [TRAINER_TEAM_AQUA_2] = { @@ -46,7 +46,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A1B0), .party = {.NoItemDefaultMoves = sTrainerMons_823A1B0} }, [TRAINER_AROMA_LADY_1] = { @@ -58,7 +58,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A1B8), .party = {.NoItemDefaultMoves = sTrainerMons_823A1B8} }, [TRAINER_RUIN_MANIAC_1] = { @@ -70,7 +70,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A1C0), .party = {.NoItemDefaultMoves = sTrainerMons_823A1C0} }, [TRAINER_INTERVIEWER_1] = { @@ -82,7 +82,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A1C8), .party = {.NoItemDefaultMoves = sTrainerMons_823A1C8} }, [TRAINER_TUBER_1] = { @@ -94,7 +94,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A1D0), .party = {.NoItemDefaultMoves = sTrainerMons_823A1D0} }, [TRAINER_TUBER_2] = { @@ -106,7 +106,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A1D8), .party = {.NoItemDefaultMoves = sTrainerMons_823A1D8} }, [TRAINER_COOLTRAINER_1] = { @@ -118,7 +118,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A1E0), .party = {.NoItemDefaultMoves = sTrainerMons_823A1E0} }, [TRAINER_COOLTRAINER_2] = { @@ -130,7 +130,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A1E8), .party = {.NoItemDefaultMoves = sTrainerMons_823A1E8} }, [TRAINER_HEX_MANIAC_1] = { @@ -142,7 +142,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A1F0), .party = {.NoItemDefaultMoves = sTrainerMons_823A1F0} }, [TRAINER_LADY_1] = { @@ -154,7 +154,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A1F8), .party = {.NoItemDefaultMoves = sTrainerMons_823A1F8} }, [TRAINER_BEAUTY_1] = { @@ -166,7 +166,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A200), .party = {.NoItemDefaultMoves = sTrainerMons_823A200} }, [TRAINER_RICH_BOY_1] = { @@ -178,7 +178,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A208), .party = {.NoItemDefaultMoves = sTrainerMons_823A208} }, [TRAINER_POKEMANIAC_1] = { @@ -190,7 +190,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A210), .party = {.NoItemDefaultMoves = sTrainerMons_823A210} }, [TRAINER_SWIMMER_MALE_1] = { @@ -202,7 +202,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A218), .party = {.NoItemDefaultMoves = sTrainerMons_823A218} }, [TRAINER_BLACK_BELT_1] = { @@ -214,7 +214,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A220), .party = {.NoItemDefaultMoves = sTrainerMons_823A220} }, [TRAINER_GUITARIST_1] = { @@ -226,7 +226,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A228), .party = {.NoItemDefaultMoves = sTrainerMons_823A228} }, [TRAINER_KINDLER_1] = { @@ -238,7 +238,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A230), .party = {.NoItemDefaultMoves = sTrainerMons_823A230} }, [TRAINER_CAMPER_1] = { @@ -250,7 +250,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A238), .party = {.NoItemDefaultMoves = sTrainerMons_823A238} }, [TRAINER_BUG_MANIAC_1] = { @@ -262,7 +262,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A240), .party = {.NoItemDefaultMoves = sTrainerMons_823A240} }, [TRAINER_PSYCHIC_1] = { @@ -274,7 +274,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A248), .party = {.NoItemDefaultMoves = sTrainerMons_823A248} }, [TRAINER_PSYCHIC_2] = { @@ -286,7 +286,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A250), .party = {.NoItemDefaultMoves = sTrainerMons_823A250} }, [TRAINER_GENTLEMAN_1] = { @@ -298,7 +298,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A258), .party = {.NoItemDefaultMoves = sTrainerMons_823A258} }, [TRAINER_ELITE_FOUR_SIDNEY] = { @@ -310,7 +310,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A260), .party = {.NoItemDefaultMoves = sTrainerMons_823A260} }, [TRAINER_ELITE_FOUR_PHOEBE] = { @@ -322,7 +322,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A268), .party = {.NoItemDefaultMoves = sTrainerMons_823A268} }, [TRAINER_LEADER_ROXANNE] = { @@ -334,7 +334,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A270), .party = {.NoItemDefaultMoves = sTrainerMons_823A270} }, [TRAINER_LEADER_BRAWLY] = { @@ -346,7 +346,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A278), .party = {.NoItemDefaultMoves = sTrainerMons_823A278} }, [TRAINER_LEADER_TATE_LIZA] = { @@ -358,7 +358,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A280), .party = {.NoItemDefaultMoves = sTrainerMons_823A280} }, [TRAINER_SCHOOL_KID_1] = { @@ -370,7 +370,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A288), .party = {.NoItemDefaultMoves = sTrainerMons_823A288} }, [TRAINER_SCHOOL_KID_2] = { @@ -382,7 +382,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A290), .party = {.NoItemDefaultMoves = sTrainerMons_823A290} }, [TRAINER_SR_AND_JR_1] = { @@ -394,7 +394,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A298), .party = {.NoItemDefaultMoves = sTrainerMons_823A298} }, [TRAINER_POKEFAN_1] = { @@ -406,7 +406,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A2A0), .party = {.NoItemDefaultMoves = sTrainerMons_823A2A0} }, [TRAINER_POKEFAN_2] = { @@ -418,7 +418,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A2A8), .party = {.NoItemDefaultMoves = sTrainerMons_823A2A8} }, [TRAINER_EXPERT_1] = { @@ -430,7 +430,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A2B0), .party = {.NoItemDefaultMoves = sTrainerMons_823A2B0} }, [TRAINER_EXPERT_2] = { @@ -442,7 +442,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A2B8), .party = {.NoItemDefaultMoves = sTrainerMons_823A2B8} }, [TRAINER_YOUNGSTER_1] = { @@ -454,7 +454,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A2C0), .party = {.NoItemDefaultMoves = sTrainerMons_823A2C0} }, [TRAINER_CHAMPION_1] = { @@ -466,7 +466,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A2C8), .party = {.NoItemDefaultMoves = sTrainerMons_823A2C8} }, [TRAINER_FISHERMAN_1] = { @@ -478,7 +478,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A2D0), .party = {.NoItemDefaultMoves = sTrainerMons_823A2D0} }, [TRAINER_TRIATHLETE_1] = { @@ -490,7 +490,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A2D8), .party = {.NoItemDefaultMoves = sTrainerMons_823A2D8} }, [TRAINER_TRIATHLETE_2] = { @@ -502,7 +502,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A2E0), .party = {.NoItemDefaultMoves = sTrainerMons_823A2E0} }, [TRAINER_TRIATHLETE_3] = { @@ -514,7 +514,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A2E8), .party = {.NoItemDefaultMoves = sTrainerMons_823A2E8} }, [TRAINER_TRIATHLETE_4] = { @@ -526,7 +526,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A2F0), .party = {.NoItemDefaultMoves = sTrainerMons_823A2F0} }, [TRAINER_TRIATHLETE_5] = { @@ -538,7 +538,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A2F8), .party = {.NoItemDefaultMoves = sTrainerMons_823A2F8} }, [TRAINER_TRIATHLETE_6] = { @@ -550,7 +550,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A300), .party = {.NoItemDefaultMoves = sTrainerMons_823A300} }, [TRAINER_DRAGON_TAMER_1] = { @@ -562,7 +562,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A308), .party = {.NoItemDefaultMoves = sTrainerMons_823A308} }, [TRAINER_BIRD_KEEPER_1] = { @@ -574,7 +574,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A310), .party = {.NoItemDefaultMoves = sTrainerMons_823A310} }, [TRAINER_NINJA_BOY_1] = { @@ -586,7 +586,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A318), .party = {.NoItemDefaultMoves = sTrainerMons_823A318} }, [TRAINER_BATTLE_GIRL_1] = { @@ -598,7 +598,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A320), .party = {.NoItemDefaultMoves = sTrainerMons_823A320} }, [TRAINER_PARASOL_LADY_1] = { @@ -610,7 +610,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A328), .party = {.NoItemDefaultMoves = sTrainerMons_823A328} }, [TRAINER_SWIMMER_FEMALE_1] = { @@ -622,7 +622,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A330), .party = {.NoItemDefaultMoves = sTrainerMons_823A330} }, [TRAINER_PICNICKER_1] = { @@ -634,7 +634,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A338), .party = {.NoItemDefaultMoves = sTrainerMons_823A338} }, [TRAINER_TWINS_1] = { @@ -646,7 +646,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A340), .party = {.NoItemDefaultMoves = sTrainerMons_823A340} }, [TRAINER_SAILOR_1] = { @@ -658,7 +658,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A348), .party = {.NoItemDefaultMoves = sTrainerMons_823A348} }, [TRAINER_BOARDER_1] = { @@ -670,7 +670,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A350), .party = {.NoItemDefaultMoves = sTrainerMons_823A350} }, [TRAINER_BOARDER_2] = { @@ -682,7 +682,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A358), .party = {.NoItemDefaultMoves = sTrainerMons_823A358} }, [TRAINER_COLLECTOR_1] = { @@ -694,7 +694,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A360), .party = {.NoItemDefaultMoves = sTrainerMons_823A360} }, [TRAINER_PKMN_TRAINER_2] = { @@ -706,7 +706,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A368), .party = {.NoItemDefaultMoves = sTrainerMons_823A368} }, [TRAINER_PKMN_TRAINER_3] = { @@ -718,7 +718,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A370), .party = {.NoItemDefaultMoves = sTrainerMons_823A370} }, [TRAINER_PKMN_TRAINER_4] = { @@ -730,7 +730,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A378), .party = {.NoItemDefaultMoves = sTrainerMons_823A378} }, [TRAINER_PKMN_TRAINER_5] = { @@ -742,7 +742,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A380), .party = {.NoItemDefaultMoves = sTrainerMons_823A380} }, [TRAINER_PKMN_TRAINER_6] = { @@ -754,7 +754,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A388), .party = {.NoItemDefaultMoves = sTrainerMons_823A388} }, [TRAINER_PKMN_TRAINER_7] = { @@ -766,7 +766,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A390), .party = {.NoItemDefaultMoves = sTrainerMons_823A390} }, [TRAINER_PKMN_TRAINER_8] = { @@ -778,7 +778,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A398), .party = {.NoItemDefaultMoves = sTrainerMons_823A398} }, [TRAINER_PKMN_BREEDER_1] = { @@ -790,7 +790,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A3A0), .party = {.NoItemDefaultMoves = sTrainerMons_823A3A0} }, [TRAINER_PKMN_BREEDER_2] = { @@ -802,7 +802,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A3A8), .party = {.NoItemDefaultMoves = sTrainerMons_823A3A8} }, [TRAINER_PKMN_RANGER_1] = { @@ -814,7 +814,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A3B0), .party = {.NoItemDefaultMoves = sTrainerMons_823A3B0} }, [TRAINER_PKMN_RANGER_2] = { @@ -826,7 +826,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A3B8), .party = {.NoItemDefaultMoves = sTrainerMons_823A3B8} }, [TRAINER_MAGMA_LEADER_1] = { @@ -838,7 +838,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A3C0), .party = {.NoItemDefaultMoves = sTrainerMons_823A3C0} }, [TRAINER_TEAM_MAGMA_1] = { @@ -850,7 +850,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A3C8), .party = {.NoItemDefaultMoves = sTrainerMons_823A3C8} }, [TRAINER_TEAM_MAGMA_2] = { @@ -862,7 +862,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A3D0), .party = {.NoItemDefaultMoves = sTrainerMons_823A3D0} }, [TRAINER_LASS_1] = { @@ -874,7 +874,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A3D8), .party = {.NoItemDefaultMoves = sTrainerMons_823A3D8} }, [TRAINER_BUG_CATCHER_1] = { @@ -886,7 +886,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A3E0), .party = {.NoItemDefaultMoves = sTrainerMons_823A3E0} }, [TRAINER_HIKER_1] = { @@ -898,7 +898,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A3E8), .party = {.NoItemDefaultMoves = sTrainerMons_823A3E8} }, [TRAINER_YOUNG_COUPLE_1] = { @@ -910,7 +910,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A3F0), .party = {.NoItemDefaultMoves = sTrainerMons_823A3F0} }, [TRAINER_OLD_COUPLE_1] = { @@ -922,7 +922,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A400), .party = {.NoItemDefaultMoves = sTrainerMons_823A400} }, [TRAINER_SIS_AND_BRO_1] = { @@ -934,7 +934,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A408), .party = {.NoItemDefaultMoves = sTrainerMons_823A408} }, [TRAINER_AQUA_ADMIN_MATT] = { @@ -946,7 +946,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A410), .party = {.NoItemDefaultMoves = sTrainerMons_823A410} }, [TRAINER_AQUA_ADMIN_SHELLY] = { @@ -958,7 +958,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A418), .party = {.NoItemDefaultMoves = sTrainerMons_823A418} }, [TRAINER_MAGMA_ADMIN_TABITHA] = { @@ -970,7 +970,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A420), .party = {.NoItemDefaultMoves = sTrainerMons_823A420} }, [TRAINER_MAGMA_ADMIN_COURTNEY] = { @@ -982,7 +982,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A428), .party = {.NoItemDefaultMoves = sTrainerMons_823A428} }, [TRAINER_LEADER_WATTSON] = { @@ -994,7 +994,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A430), .party = {.NoItemDefaultMoves = sTrainerMons_823A430} }, [TRAINER_LEADER_FLANNERY] = { @@ -1006,7 +1006,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A438), .party = {.NoItemDefaultMoves = sTrainerMons_823A438} }, [TRAINER_LEADER_NORMAN] = { @@ -1018,7 +1018,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A440), .party = {.NoItemDefaultMoves = sTrainerMons_823A440} }, [TRAINER_LEADER_WINONA] = { @@ -1030,7 +1030,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A448), .party = {.NoItemDefaultMoves = sTrainerMons_823A448} }, [TRAINER_LEADER_WALLACE] = { @@ -1042,7 +1042,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A450), .party = {.NoItemDefaultMoves = sTrainerMons_823A450} }, [TRAINER_ELITE_FOUR_GLACIA] = { @@ -1054,7 +1054,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A458), .party = {.NoItemDefaultMoves = sTrainerMons_823A458} }, [TRAINER_ELITE_FOUR_DRAKE] = { @@ -1066,7 +1066,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A460), .party = {.NoItemDefaultMoves = sTrainerMons_823A460} }, [TRAINER_YOUNGSTER_BEN] = { @@ -1078,7 +1078,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A468), .party = {.NoItemDefaultMoves = sTrainerMons_823A468} }, [TRAINER_YOUNGSTER_CALVIN] = { @@ -1090,7 +1090,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A478), .party = {.NoItemDefaultMoves = sTrainerMons_823A478} }, [TRAINER_YOUNGSTER_JOSH] = { @@ -1102,7 +1102,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A480), .party = {.NoItemDefaultMoves = sTrainerMons_823A480} }, [TRAINER_YOUNGSTER_TIMMY] = { @@ -1114,7 +1114,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A498), .party = {.NoItemDefaultMoves = sTrainerMons_823A498} }, [TRAINER_YOUNGSTER_JOEY] = { @@ -1126,7 +1126,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A4A8), .party = {.NoItemDefaultMoves = sTrainerMons_823A4A8} }, [TRAINER_YOUNGSTER_DAN] = { @@ -1138,7 +1138,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A4B8), .party = {.NoItemDefaultMoves = sTrainerMons_823A4B8} }, [TRAINER_YOUNGSTER_CHAD] = { @@ -1150,7 +1150,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A4C0), .party = {.NoItemDefaultMoves = sTrainerMons_823A4C0} }, [TRAINER_YOUNGSTER_TYLER] = { @@ -1162,7 +1162,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A4D0), .party = {.NoItemDefaultMoves = sTrainerMons_823A4D0} }, [TRAINER_YOUNGSTER_EDDIE] = { @@ -1174,7 +1174,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A4D8), .party = {.NoItemDefaultMoves = sTrainerMons_823A4D8} }, [TRAINER_YOUNGSTER_DILLON] = { @@ -1186,7 +1186,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A4E0), .party = {.NoItemDefaultMoves = sTrainerMons_823A4E0} }, [TRAINER_YOUNGSTER_YASU] = { @@ -1198,7 +1198,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A4F0), .party = {.NoItemDefaultMoves = sTrainerMons_823A4F0} }, [TRAINER_YOUNGSTER_DAVE] = { @@ -1210,7 +1210,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A508), .party = {.NoItemDefaultMoves = sTrainerMons_823A508} }, [TRAINER_YOUNGSTER_BEN_2] = { @@ -1222,7 +1222,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A518), .party = {.NoItemDefaultMoves = sTrainerMons_823A518} }, [TRAINER_BUG_CATCHER_RICK] = { @@ -1234,7 +1234,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A528), .party = {.NoItemDefaultMoves = sTrainerMons_823A528} }, [TRAINER_BUG_CATCHER_DOUG] = { @@ -1246,7 +1246,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A538), .party = {.NoItemDefaultMoves = sTrainerMons_823A538} }, [TRAINER_BUG_CATCHER_SAMMY] = { @@ -1258,7 +1258,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A550), .party = {.NoItemDefaultMoves = sTrainerMons_823A550} }, [TRAINER_BUG_CATCHER_COLTON] = { @@ -1270,7 +1270,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A558), .party = {.NoItemDefaultMoves = sTrainerMons_823A558} }, [TRAINER_BUG_CATCHER_GREG] = { @@ -1282,7 +1282,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823A570), .party = {.NoItemDefaultMoves = sTrainerMons_823A570} }, [TRAINER_BUG_CATCHER_JAMES] = { @@ -1294,7 +1294,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A590), .party = {.NoItemDefaultMoves = sTrainerMons_823A590} }, [TRAINER_BUG_CATCHER_KENT] = { @@ -1306,7 +1306,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A5A0), .party = {.NoItemDefaultMoves = sTrainerMons_823A5A0} }, [TRAINER_BUG_CATCHER_ROBBY] = { @@ -1318,7 +1318,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A5B0), .party = {.NoItemDefaultMoves = sTrainerMons_823A5B0} }, [TRAINER_BUG_CATCHER_CALE] = { @@ -1330,7 +1330,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823A5C8), .party = {.NoItemDefaultMoves = sTrainerMons_823A5C8} }, [TRAINER_BUG_CATCHER_KEIGO] = { @@ -1342,7 +1342,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A5E8), .party = {.NoItemDefaultMoves = sTrainerMons_823A5E8} }, [TRAINER_BUG_CATCHER_ELIJAH] = { @@ -1354,7 +1354,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A600), .party = {.NoItemDefaultMoves = sTrainerMons_823A600} }, [TRAINER_BUG_CATCHER_2] = { @@ -1366,7 +1366,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A608), .party = {.NoItemDefaultMoves = sTrainerMons_823A608} }, [TRAINER_BUG_CATCHER_BRENT] = { @@ -1378,7 +1378,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A620), .party = {.NoItemDefaultMoves = sTrainerMons_823A620} }, [TRAINER_BUG_CATCHER_CONNER] = { @@ -1390,7 +1390,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A630), .party = {.NoItemDefaultMoves = sTrainerMons_823A630} }, [TRAINER_LASS_JANICE] = { @@ -1402,7 +1402,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A648), .party = {.NoItemDefaultMoves = sTrainerMons_823A648} }, [TRAINER_LASS_SALLY] = { @@ -1414,7 +1414,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A658), .party = {.NoItemDefaultMoves = sTrainerMons_823A658} }, [TRAINER_LASS_ROBIN] = { @@ -1426,7 +1426,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A668), .party = {.NoItemDefaultMoves = sTrainerMons_823A668} }, [TRAINER_LASS_CRISSY] = { @@ -1438,7 +1438,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A670), .party = {.NoItemDefaultMoves = sTrainerMons_823A670} }, [TRAINER_LASS_MIRIAM] = { @@ -1450,7 +1450,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A688), .party = {.NoItemDefaultMoves = sTrainerMons_823A688} }, [TRAINER_LASS_IRIS] = { @@ -1462,7 +1462,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A698), .party = {.NoItemDefaultMoves = sTrainerMons_823A698} }, [TRAINER_LASS_RELI] = { @@ -1474,7 +1474,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A6A0), .party = {.NoItemDefaultMoves = sTrainerMons_823A6A0} }, [TRAINER_LASS_ALI] = { @@ -1486,7 +1486,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A6B0), .party = {.NoItemDefaultMoves = sTrainerMons_823A6B0} }, [TRAINER_LASS_2] = { @@ -1498,7 +1498,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A6C8), .party = {.NoItemDefaultMoves = sTrainerMons_823A6C8} }, [TRAINER_LASS_HALEY] = { @@ -1510,7 +1510,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A6D8), .party = {.NoItemDefaultMoves = sTrainerMons_823A6D8} }, [TRAINER_LASS_ANN] = { @@ -1522,7 +1522,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A6F0), .party = {.NoItemDefaultMoves = sTrainerMons_823A6F0} }, [TRAINER_LASS_DAWN] = { @@ -1534,7 +1534,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A700), .party = {.NoItemDefaultMoves = sTrainerMons_823A700} }, [TRAINER_LASS_PAIGE] = { @@ -1546,7 +1546,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A710), .party = {.NoItemDefaultMoves = sTrainerMons_823A710} }, [TRAINER_LASS_ANDREA] = { @@ -1558,7 +1558,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A720), .party = {.NoItemDefaultMoves = sTrainerMons_823A720} }, [TRAINER_LASS_MEGAN] = { @@ -1570,7 +1570,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823A738), .party = {.NoItemDefaultMoves = sTrainerMons_823A738} }, [TRAINER_LASS_JULIA] = { @@ -1582,7 +1582,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A760), .party = {.NoItemDefaultMoves = sTrainerMons_823A760} }, [TRAINER_LASS_KAY] = { @@ -1594,7 +1594,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A770), .party = {.NoItemDefaultMoves = sTrainerMons_823A770} }, [TRAINER_LASS_LISA] = { @@ -1606,7 +1606,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A780), .party = {.NoItemDefaultMoves = sTrainerMons_823A780} }, [TRAINER_SAILOR_EDMOND] = { @@ -1618,7 +1618,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A790), .party = {.NoItemDefaultMoves = sTrainerMons_823A790} }, [TRAINER_SAILOR_TREVOR] = { @@ -1630,7 +1630,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A7A0), .party = {.NoItemDefaultMoves = sTrainerMons_823A7A0} }, [TRAINER_SAILOR_LEONARD] = { @@ -1642,7 +1642,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A7B0), .party = {.NoItemDefaultMoves = sTrainerMons_823A7B0} }, [TRAINER_SAILOR_DUNCAN] = { @@ -1654,7 +1654,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A7B8), .party = {.NoItemDefaultMoves = sTrainerMons_823A7B8} }, [TRAINER_SAILOR_HUEY] = { @@ -1666,7 +1666,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A7D0), .party = {.NoItemDefaultMoves = sTrainerMons_823A7D0} }, [TRAINER_SAILOR_DYLAN] = { @@ -1678,7 +1678,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A7E0), .party = {.NoItemDefaultMoves = sTrainerMons_823A7E0} }, [TRAINER_SAILOR_PHILLIP] = { @@ -1690,7 +1690,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A7F8), .party = {.NoItemDefaultMoves = sTrainerMons_823A7F8} }, [TRAINER_SAILOR_DWAYNE] = { @@ -1702,7 +1702,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A800), .party = {.NoItemDefaultMoves = sTrainerMons_823A800} }, [TRAINER_CAMPER_LIAM] = { @@ -1714,7 +1714,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A810), .party = {.NoItemCustomMoves = sTrainerMons_823A810} }, [TRAINER_CAMPER_SHANE] = { @@ -1726,7 +1726,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A830), .party = {.NoItemDefaultMoves = sTrainerMons_823A830} }, [TRAINER_CAMPER_ETHAN] = { @@ -1738,7 +1738,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A840), .party = {.NoItemDefaultMoves = sTrainerMons_823A840} }, [TRAINER_CAMPER_RICKY] = { @@ -1750,7 +1750,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A848), .party = {.NoItemDefaultMoves = sTrainerMons_823A848} }, [TRAINER_CAMPER_JEFF] = { @@ -1762,7 +1762,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A850), .party = {.NoItemDefaultMoves = sTrainerMons_823A850} }, [TRAINER_CAMPER_2] = { @@ -1774,7 +1774,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A860), .party = {.NoItemDefaultMoves = sTrainerMons_823A860} }, [TRAINER_CAMPER_CHRIS] = { @@ -1786,7 +1786,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A868), .party = {.NoItemDefaultMoves = sTrainerMons_823A868} }, [TRAINER_CAMPER_DREW] = { @@ -1798,7 +1798,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823A878), .party = {.NoItemDefaultMoves = sTrainerMons_823A878} }, [TRAINER_PICNICKER_DIANA] = { @@ -1810,7 +1810,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A898), .party = {.NoItemDefaultMoves = sTrainerMons_823A898} }, [TRAINER_PICNICKER_NANCY] = { @@ -1822,7 +1822,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A8A0), .party = {.NoItemDefaultMoves = sTrainerMons_823A8A0} }, [TRAINER_PICNICKER_ISABELLE] = { @@ -1834,7 +1834,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A8B0), .party = {.NoItemDefaultMoves = sTrainerMons_823A8B0} }, [TRAINER_PICNICKER_KELSEY] = { @@ -1846,7 +1846,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A8C8), .party = {.NoItemDefaultMoves = sTrainerMons_823A8C8} }, [TRAINER_PICNICKER_ALICIA] = { @@ -1858,7 +1858,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823A8D8), .party = {.NoItemDefaultMoves = sTrainerMons_823A8D8} }, [TRAINER_PICNICKER_CAITLIN] = { @@ -1870,7 +1870,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A8F8), .party = {.NoItemDefaultMoves = sTrainerMons_823A8F8} }, [TRAINER_PICNICKER_HEIDI] = { @@ -1882,7 +1882,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A900), .party = {.NoItemDefaultMoves = sTrainerMons_823A900} }, [TRAINER_PICNICKER_CAROL] = { @@ -1894,7 +1894,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A910), .party = {.NoItemDefaultMoves = sTrainerMons_823A910} }, [TRAINER_PICNICKER_SOFIA] = { @@ -1906,7 +1906,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A920), .party = {.NoItemDefaultMoves = sTrainerMons_823A920} }, [TRAINER_PICNICKER_MARTHA] = { @@ -1918,7 +1918,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A938), .party = {.NoItemDefaultMoves = sTrainerMons_823A938} }, [TRAINER_PICNICKER_TINA] = { @@ -1930,7 +1930,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A948), .party = {.NoItemDefaultMoves = sTrainerMons_823A948} }, [TRAINER_PICNICKER_HANNAH] = { @@ -1942,7 +1942,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823A958), .party = {.NoItemDefaultMoves = sTrainerMons_823A958} }, [TRAINER_POKEMANIAC_MARK] = { @@ -1954,7 +1954,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A980), .party = {.NoItemDefaultMoves = sTrainerMons_823A980} }, [TRAINER_POKEMANIAC_HERMAN] = { @@ -1966,7 +1966,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A990), .party = {.NoItemDefaultMoves = sTrainerMons_823A990} }, [TRAINER_POKEMANIAC_COOPER] = { @@ -1978,7 +1978,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A9A0), .party = {.NoItemDefaultMoves = sTrainerMons_823A9A0} }, [TRAINER_POKEMANIAC_STEVE] = { @@ -1990,7 +1990,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A9B8), .party = {.NoItemDefaultMoves = sTrainerMons_823A9B8} }, [TRAINER_POKEMANIAC_WINSTON] = { @@ -2002,7 +2002,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823A9C8), .party = {.NoItemDefaultMoves = sTrainerMons_823A9C8} }, [TRAINER_POKEMANIAC_DAWSON] = { @@ -2014,7 +2014,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823A9D0), .party = {.NoItemDefaultMoves = sTrainerMons_823A9D0} }, [TRAINER_POKEMANIAC_ASHTON] = { @@ -2026,7 +2026,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A9E8), .party = {.NoItemDefaultMoves = sTrainerMons_823A9E8} }, [TRAINER_SUPER_NERD_JOVAN] = { @@ -2038,7 +2038,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823A9F8), .party = {.NoItemDefaultMoves = sTrainerMons_823A9F8} }, [TRAINER_SUPER_NERD_MIGUEL] = { @@ -2050,7 +2050,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AA08), .party = {.NoItemDefaultMoves = sTrainerMons_823AA08} }, [TRAINER_SUPER_NERD_AIDAN] = { @@ -2062,7 +2062,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823AA20), .party = {.NoItemCustomMoves = sTrainerMons_823AA20} }, [TRAINER_SUPER_NERD_GLENN] = { @@ -2074,7 +2074,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AA60), .party = {.NoItemDefaultMoves = sTrainerMons_823AA60} }, [TRAINER_SUPER_NERD_LESLIE] = { @@ -2086,7 +2086,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823AA78), .party = {.NoItemCustomMoves = sTrainerMons_823AA78} }, [TRAINER_SUPER_NERD_1] = { @@ -2098,7 +2098,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AA88), .party = {.NoItemDefaultMoves = sTrainerMons_823AA88} }, [TRAINER_SUPER_NERD_2] = { @@ -2110,7 +2110,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823AAA0), .party = {.NoItemDefaultMoves = sTrainerMons_823AAA0} }, [TRAINER_SUPER_NERD_3] = { @@ -2122,7 +2122,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AAC0), .party = {.NoItemDefaultMoves = sTrainerMons_823AAC0} }, [TRAINER_SUPER_NERD_ERIK] = { @@ -2134,7 +2134,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AAD0), .party = {.NoItemDefaultMoves = sTrainerMons_823AAD0} }, [TRAINER_SUPER_NERD_AVERY] = { @@ -2146,7 +2146,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823AAE8), .party = {.NoItemDefaultMoves = sTrainerMons_823AAE8} }, [TRAINER_SUPER_NERD_DEREK] = { @@ -2158,7 +2158,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823AB08), .party = {.NoItemDefaultMoves = sTrainerMons_823AB08} }, [TRAINER_SUPER_NERD_ZAC] = { @@ -2170,7 +2170,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AB10), .party = {.NoItemDefaultMoves = sTrainerMons_823AB10} }, [TRAINER_HIKER_MARCOS] = { @@ -2182,7 +2182,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AB20), .party = {.NoItemDefaultMoves = sTrainerMons_823AB20} }, [TRAINER_HIKER_FRANKLIN] = { @@ -2194,7 +2194,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AB38), .party = {.NoItemDefaultMoves = sTrainerMons_823AB38} }, [TRAINER_HIKER_NOB] = { @@ -2206,7 +2206,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823AB48), .party = {.NoItemDefaultMoves = sTrainerMons_823AB48} }, [TRAINER_HIKER_WAYNE] = { @@ -2218,7 +2218,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823AB68), .party = {.NoItemDefaultMoves = sTrainerMons_823AB68} }, [TRAINER_HIKER_ALAN] = { @@ -2230,7 +2230,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AB70), .party = {.NoItemCustomMoves = sTrainerMons_823AB70} }, [TRAINER_HIKER_BRICE] = { @@ -2242,7 +2242,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AB90), .party = {.NoItemDefaultMoves = sTrainerMons_823AB90} }, [TRAINER_HIKER_CLARK] = { @@ -2254,7 +2254,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823ABA8), .party = {.NoItemCustomMoves = sTrainerMons_823ABA8} }, [TRAINER_HIKER_TRENT] = { @@ -2266,7 +2266,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823ABC8), .party = {.NoItemDefaultMoves = sTrainerMons_823ABC8} }, [TRAINER_HIKER_DUDLEY] = { @@ -2278,7 +2278,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823ABD8), .party = {.NoItemCustomMoves = sTrainerMons_823ABD8} }, [TRAINER_HIKER_ALLEN] = { @@ -2290,7 +2290,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823AC08), .party = {.NoItemCustomMoves = sTrainerMons_823AC08} }, [TRAINER_HIKER_ERIC] = { @@ -2302,7 +2302,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AC18), .party = {.NoItemDefaultMoves = sTrainerMons_823AC18} }, [TRAINER_HIKER_LENNY] = { @@ -2314,7 +2314,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823AC28), .party = {.NoItemDefaultMoves = sTrainerMons_823AC28} }, [TRAINER_HIKER_OLIVER] = { @@ -2326,7 +2326,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AC48), .party = {.NoItemDefaultMoves = sTrainerMons_823AC48} }, [TRAINER_HIKER_LUCAS] = { @@ -2338,7 +2338,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AC60), .party = {.NoItemCustomMoves = sTrainerMons_823AC60} }, [TRAINER_BIKER_JARED] = { @@ -2350,7 +2350,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AC80), .party = {.NoItemCustomMoves = sTrainerMons_823AC80} }, [TRAINER_BIKER_MALIK] = { @@ -2362,7 +2362,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823ACB0), .party = {.NoItemCustomMoves = sTrainerMons_823ACB0} }, [TRAINER_BIKER_ERNEST] = { @@ -2374,7 +2374,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823ACD0), .party = {.NoItemCustomMoves = sTrainerMons_823ACD0} }, [TRAINER_BIKER_ALEX] = { @@ -2386,7 +2386,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AD20), .party = {.NoItemCustomMoves = sTrainerMons_823AD20} }, [TRAINER_BIKER_LAO] = { @@ -2398,7 +2398,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AD50), .party = {.NoItemCustomMoves = sTrainerMons_823AD50} }, [TRAINER_BIKER_1] = { @@ -2410,7 +2410,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823AD70), .party = {.NoItemDefaultMoves = sTrainerMons_823AD70} }, [TRAINER_BIKER_HIDEO] = { @@ -2422,7 +2422,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823AD78), .party = {.NoItemDefaultMoves = sTrainerMons_823AD78} }, [TRAINER_BIKER_RUBEN] = { @@ -2434,7 +2434,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AD80), .party = {.NoItemCustomMoves = sTrainerMons_823AD80} }, [TRAINER_BIKER_BILLY] = { @@ -2446,7 +2446,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823ADB0), .party = {.NoItemDefaultMoves = sTrainerMons_823ADB0} }, [TRAINER_BIKER_NIKOLAS] = { @@ -2458,7 +2458,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823ADB8), .party = {.NoItemCustomMoves = sTrainerMons_823ADB8} }, [TRAINER_BIKER_JAXON] = { @@ -2470,7 +2470,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823ADD8), .party = {.NoItemCustomMoves = sTrainerMons_823ADD8} }, [TRAINER_BIKER_WILLIAM] = { @@ -2482,7 +2482,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823ADF8), .party = {.NoItemCustomMoves = sTrainerMons_823ADF8} }, [TRAINER_BIKER_LUKAS] = { @@ -2494,7 +2494,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823AE48), .party = {.NoItemCustomMoves = sTrainerMons_823AE48} }, [TRAINER_BIKER_ISAAC] = { @@ -2506,7 +2506,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AE88), .party = {.NoItemCustomMoves = sTrainerMons_823AE88} }, [TRAINER_BIKER_GERALD] = { @@ -2518,7 +2518,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AEB8), .party = {.NoItemCustomMoves = sTrainerMons_823AEB8} }, [TRAINER_BURGLAR_1] = { @@ -2530,7 +2530,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AED8), .party = {.NoItemDefaultMoves = sTrainerMons_823AED8} }, [TRAINER_BURGLAR_2] = { @@ -2542,7 +2542,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823AEE8), .party = {.NoItemDefaultMoves = sTrainerMons_823AEE8} }, [TRAINER_BURGLAR_3] = { @@ -2554,7 +2554,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AEF0), .party = {.NoItemDefaultMoves = sTrainerMons_823AEF0} }, [TRAINER_BURGLAR_QUINN] = { @@ -2566,7 +2566,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AF08), .party = {.NoItemDefaultMoves = sTrainerMons_823AF08} }, [TRAINER_BURGLAR_RAMON] = { @@ -2578,7 +2578,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823AF20), .party = {.NoItemDefaultMoves = sTrainerMons_823AF20} }, [TRAINER_BURGLAR_DUSTY] = { @@ -2590,7 +2590,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AF28), .party = {.NoItemDefaultMoves = sTrainerMons_823AF28} }, [TRAINER_BURGLAR_ARNIE] = { @@ -2602,7 +2602,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AF38), .party = {.NoItemDefaultMoves = sTrainerMons_823AF38} }, [TRAINER_BURGLAR_4] = { @@ -2614,7 +2614,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AF48), .party = {.NoItemDefaultMoves = sTrainerMons_823AF48} }, [TRAINER_BURGLAR_SIMON] = { @@ -2626,7 +2626,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823AF58), .party = {.NoItemDefaultMoves = sTrainerMons_823AF58} }, [TRAINER_BURGLAR_LEWIS] = { @@ -2638,7 +2638,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AF60), .party = {.NoItemDefaultMoves = sTrainerMons_823AF60} }, [TRAINER_ENGINEER_BAILY] = { @@ -2650,7 +2650,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AF70), .party = {.NoItemDefaultMoves = sTrainerMons_823AF70} }, [TRAINER_ENGINEER_BRAXTON] = { @@ -2662,7 +2662,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823AF80), .party = {.NoItemDefaultMoves = sTrainerMons_823AF80} }, [TRAINER_ENGINEER_BERNIE] = { @@ -2674,7 +2674,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AF88), .party = {.NoItemDefaultMoves = sTrainerMons_823AF88} }, [TRAINER_FISHERMAN_DALE] = { @@ -2686,7 +2686,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AFA0), .party = {.NoItemDefaultMoves = sTrainerMons_823AFA0} }, [TRAINER_FISHERMAN_BARNY] = { @@ -2698,7 +2698,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AFB8), .party = {.NoItemDefaultMoves = sTrainerMons_823AFB8} }, [TRAINER_FISHERMAN_NED] = { @@ -2710,7 +2710,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823AFD0), .party = {.NoItemDefaultMoves = sTrainerMons_823AFD0} }, [TRAINER_FISHERMAN_CHIP] = { @@ -2722,7 +2722,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823AFE8), .party = {.NoItemDefaultMoves = sTrainerMons_823AFE8} }, [TRAINER_FISHERMAN_HANK] = { @@ -2734,7 +2734,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823AFF8), .party = {.NoItemDefaultMoves = sTrainerMons_823AFF8} }, [TRAINER_FISHERMAN_ELLIOT] = { @@ -2746,7 +2746,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B000), .party = {.NoItemDefaultMoves = sTrainerMons_823B000} }, [TRAINER_FISHERMAN_RONALD] = { @@ -2758,7 +2758,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B020), .party = {.NoItemDefaultMoves = sTrainerMons_823B020} }, [TRAINER_FISHERMAN_CLAUDE] = { @@ -2770,7 +2770,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B040), .party = {.NoItemDefaultMoves = sTrainerMons_823B040} }, [TRAINER_FISHERMAN_WADE] = { @@ -2782,7 +2782,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 6, + .partySize = NELEMS(sTrainerMons_823B050), .party = {.NoItemDefaultMoves = sTrainerMons_823B050} }, [TRAINER_FISHERMAN_NOLAN] = { @@ -2794,7 +2794,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B080), .party = {.NoItemDefaultMoves = sTrainerMons_823B080} }, [TRAINER_FISHERMAN_ANDREW] = { @@ -2806,7 +2806,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B090), .party = {.NoItemDefaultMoves = sTrainerMons_823B090} }, [TRAINER_SWIMMER_MALE_LUIS] = { @@ -2818,7 +2818,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B0A0), .party = {.NoItemDefaultMoves = sTrainerMons_823B0A0} }, [TRAINER_SWIMMER_MALE_RICHARD] = { @@ -2830,7 +2830,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B0B0), .party = {.NoItemDefaultMoves = sTrainerMons_823B0B0} }, [TRAINER_SWIMMER_MALE_REECE] = { @@ -2842,7 +2842,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B0C0), .party = {.NoItemDefaultMoves = sTrainerMons_823B0C0} }, [TRAINER_SWIMMER_MALE_MATTHEW] = { @@ -2854,7 +2854,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B0D8), .party = {.NoItemDefaultMoves = sTrainerMons_823B0D8} }, [TRAINER_SWIMMER_MALE_DOUGLAS] = { @@ -2866,7 +2866,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B0E8), .party = {.NoItemDefaultMoves = sTrainerMons_823B0E8} }, [TRAINER_SWIMMER_MALE_DAVID] = { @@ -2878,7 +2878,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B108), .party = {.NoItemDefaultMoves = sTrainerMons_823B108} }, [TRAINER_SWIMMER_MALE_TONY] = { @@ -2890,7 +2890,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B120), .party = {.NoItemDefaultMoves = sTrainerMons_823B120} }, [TRAINER_SWIMMER_MALE_AXLE] = { @@ -2902,7 +2902,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823B130), .party = {.NoItemDefaultMoves = sTrainerMons_823B130} }, [TRAINER_SWIMMER_MALE_BARRY] = { @@ -2914,7 +2914,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B158), .party = {.NoItemDefaultMoves = sTrainerMons_823B158} }, [TRAINER_SWIMMER_MALE_DEAN] = { @@ -2926,7 +2926,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B168), .party = {.NoItemDefaultMoves = sTrainerMons_823B168} }, [TRAINER_SWIMMER_MALE_DARRIN] = { @@ -2938,7 +2938,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B170), .party = {.NoItemDefaultMoves = sTrainerMons_823B170} }, [TRAINER_SWIMMER_MALE_SPENCER] = { @@ -2950,7 +2950,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B190), .party = {.NoItemDefaultMoves = sTrainerMons_823B190} }, [TRAINER_SWIMMER_MALE_JACK] = { @@ -2962,7 +2962,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B1A0), .party = {.NoItemDefaultMoves = sTrainerMons_823B1A0} }, [TRAINER_SWIMMER_MALE_JEROME] = { @@ -2974,7 +2974,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B1A8), .party = {.NoItemDefaultMoves = sTrainerMons_823B1A8} }, [TRAINER_SWIMMER_MALE_ROLAND] = { @@ -2986,7 +2986,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B1B8), .party = {.NoItemDefaultMoves = sTrainerMons_823B1B8} }, [TRAINER_CUE_BALL_KOJI] = { @@ -2998,7 +2998,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B1D0), .party = {.NoItemDefaultMoves = sTrainerMons_823B1D0} }, [TRAINER_CUE_BALL_LUKE] = { @@ -3010,7 +3010,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B1E8), .party = {.NoItemDefaultMoves = sTrainerMons_823B1E8} }, [TRAINER_CUE_BALL_CAMRON] = { @@ -3022,7 +3022,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B1F8), .party = {.NoItemDefaultMoves = sTrainerMons_823B1F8} }, [TRAINER_CUE_BALL_RAUL] = { @@ -3034,7 +3034,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B208), .party = {.NoItemDefaultMoves = sTrainerMons_823B208} }, [TRAINER_CUE_BALL_ISAIAH] = { @@ -3046,7 +3046,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B218), .party = {.NoItemDefaultMoves = sTrainerMons_823B218} }, [TRAINER_CUE_BALL_ZEEK] = { @@ -3058,7 +3058,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B228), .party = {.NoItemDefaultMoves = sTrainerMons_823B228} }, [TRAINER_CUE_BALL_JAMAL] = { @@ -3070,7 +3070,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B230), .party = {.NoItemDefaultMoves = sTrainerMons_823B230} }, [TRAINER_CUE_BALL_COREY] = { @@ -3082,7 +3082,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B250), .party = {.NoItemDefaultMoves = sTrainerMons_823B250} }, [TRAINER_CUE_BALL_CHASE] = { @@ -3094,7 +3094,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B260), .party = {.NoItemDefaultMoves = sTrainerMons_823B260} }, [TRAINER_GAMER_HUGO] = { @@ -3106,7 +3106,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B278), .party = {.NoItemDefaultMoves = sTrainerMons_823B278} }, [TRAINER_GAMER_JASPER] = { @@ -3118,7 +3118,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B288), .party = {.NoItemDefaultMoves = sTrainerMons_823B288} }, [TRAINER_GAMER_DIRK] = { @@ -3130,7 +3130,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B298), .party = {.NoItemDefaultMoves = sTrainerMons_823B298} }, [TRAINER_GAMER_DARIAN] = { @@ -3142,7 +3142,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B2A8), .party = {.NoItemDefaultMoves = sTrainerMons_823B2A8} }, [TRAINER_GAMER_STAN] = { @@ -3154,7 +3154,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B2B8), .party = {.NoItemDefaultMoves = sTrainerMons_823B2B8} }, [TRAINER_GAMER_1] = { @@ -3166,7 +3166,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B2D0), .party = {.NoItemDefaultMoves = sTrainerMons_823B2D0} }, [TRAINER_GAMER_RICH] = { @@ -3178,7 +3178,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B2D8), .party = {.NoItemDefaultMoves = sTrainerMons_823B2D8} }, [TRAINER_BEAUTY_BRIDGET] = { @@ -3190,7 +3190,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B2E8), .party = {.NoItemDefaultMoves = sTrainerMons_823B2E8} }, [TRAINER_BEAUTY_TAMIA] = { @@ -3202,7 +3202,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B308), .party = {.NoItemDefaultMoves = sTrainerMons_823B308} }, [TRAINER_BEAUTY_LORI] = { @@ -3214,7 +3214,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B318), .party = {.NoItemDefaultMoves = sTrainerMons_823B318} }, [TRAINER_BEAUTY_LOLA] = { @@ -3226,7 +3226,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B320), .party = {.NoItemDefaultMoves = sTrainerMons_823B320} }, [TRAINER_BEAUTY_SHEILA] = { @@ -3238,7 +3238,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B338), .party = {.NoItemDefaultMoves = sTrainerMons_823B338} }, [TRAINER_SWIMMER_FEMALE_TIFFANY] = { @@ -3250,7 +3250,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B348), .party = {.NoItemDefaultMoves = sTrainerMons_823B348} }, [TRAINER_SWIMMER_FEMALE_NORA] = { @@ -3262,7 +3262,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B350), .party = {.NoItemDefaultMoves = sTrainerMons_823B350} }, [TRAINER_SWIMMER_FEMALE_MELISSA] = { @@ -3274,7 +3274,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B368), .party = {.NoItemDefaultMoves = sTrainerMons_823B368} }, [TRAINER_BEAUTY_GRACE] = { @@ -3286,7 +3286,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B378), .party = {.NoItemDefaultMoves = sTrainerMons_823B378} }, [TRAINER_BEAUTY_OLIVIA] = { @@ -3298,7 +3298,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B388), .party = {.NoItemDefaultMoves = sTrainerMons_823B388} }, [TRAINER_BEAUTY_LAUREN] = { @@ -3310,7 +3310,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B398), .party = {.NoItemDefaultMoves = sTrainerMons_823B398} }, [TRAINER_SWIMMER_FEMALE_ANYA] = { @@ -3322,7 +3322,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823B3B0), .party = {.NoItemDefaultMoves = sTrainerMons_823B3B0} }, [TRAINER_SWIMMER_FEMALE_ALICE] = { @@ -3334,7 +3334,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B3D8), .party = {.NoItemDefaultMoves = sTrainerMons_823B3D8} }, [TRAINER_SWIMMER_FEMALE_CONNIE] = { @@ -3346,7 +3346,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B3E8), .party = {.NoItemDefaultMoves = sTrainerMons_823B3E8} }, [TRAINER_SWIMMER_FEMALE_SHIRLEY] = { @@ -3358,7 +3358,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B400), .party = {.NoItemDefaultMoves = sTrainerMons_823B400} }, [TRAINER_PSYCHIC_JOHAN] = { @@ -3370,7 +3370,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B418), .party = {.NoItemDefaultMoves = sTrainerMons_823B418} }, [TRAINER_PSYCHIC_TYRON] = { @@ -3382,7 +3382,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B438), .party = {.NoItemDefaultMoves = sTrainerMons_823B438} }, [TRAINER_PSYCHIC_CAMERON] = { @@ -3394,7 +3394,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B448), .party = {.NoItemDefaultMoves = sTrainerMons_823B448} }, [TRAINER_PSYCHIC_PRESTON] = { @@ -3406,7 +3406,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B460), .party = {.NoItemDefaultMoves = sTrainerMons_823B460} }, [TRAINER_ROCKER_RANDALL] = { @@ -3418,7 +3418,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B468), .party = {.NoItemDefaultMoves = sTrainerMons_823B468} }, [TRAINER_ROCKER_LUCA] = { @@ -3430,7 +3430,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B480), .party = {.NoItemDefaultMoves = sTrainerMons_823B480} }, [TRAINER_JUGGLER_DALTON] = { @@ -3442,7 +3442,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B490), .party = {.NoItemDefaultMoves = sTrainerMons_823B490} }, [TRAINER_JUGGLER_NELSON] = { @@ -3454,7 +3454,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B4A0), .party = {.NoItemDefaultMoves = sTrainerMons_823B4A0} }, [TRAINER_JUGGLER_KIRK] = { @@ -3466,7 +3466,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B4C0), .party = {.NoItemDefaultMoves = sTrainerMons_823B4C0} }, [TRAINER_JUGGLER_SHAWN] = { @@ -3478,7 +3478,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B4E0), .party = {.NoItemDefaultMoves = sTrainerMons_823B4E0} }, [TRAINER_JUGGLER_GREGORY] = { @@ -3490,7 +3490,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B4F0), .party = {.NoItemCustomMoves = sTrainerMons_823B4F0} }, [TRAINER_JUGGLER_EDWARD] = { @@ -3502,7 +3502,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B500), .party = {.NoItemCustomMoves = sTrainerMons_823B500} }, [TRAINER_JUGGLER_KAYDEN] = { @@ -3514,7 +3514,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B540), .party = {.NoItemDefaultMoves = sTrainerMons_823B540} }, [TRAINER_JUGGLER_NATE] = { @@ -3526,7 +3526,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B548), .party = {.NoItemDefaultMoves = sTrainerMons_823B548} }, [TRAINER_TAMER_PHIL] = { @@ -3538,7 +3538,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B558), .party = {.NoItemDefaultMoves = sTrainerMons_823B558} }, [TRAINER_TAMER_EDGAR] = { @@ -3550,7 +3550,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B568), .party = {.NoItemDefaultMoves = sTrainerMons_823B568} }, [TRAINER_TAMER_JASON] = { @@ -3562,7 +3562,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B580), .party = {.NoItemDefaultMoves = sTrainerMons_823B580} }, [TRAINER_TAMER_COLE] = { @@ -3574,7 +3574,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B588), .party = {.NoItemDefaultMoves = sTrainerMons_823B588} }, [TRAINER_TAMER_VINCENT] = { @@ -3586,7 +3586,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B598), .party = {.NoItemDefaultMoves = sTrainerMons_823B598} }, [TRAINER_TAMER_JOHN] = { @@ -3598,7 +3598,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B5A8), .party = {.NoItemDefaultMoves = sTrainerMons_823B5A8} }, [TRAINER_BIRD_KEEPER_SEBASTIAN] = { @@ -3610,7 +3610,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B5C8), .party = {.NoItemDefaultMoves = sTrainerMons_823B5C8} }, [TRAINER_BIRD_KEEPER_PERRY] = { @@ -3622,7 +3622,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823B5D8), .party = {.NoItemDefaultMoves = sTrainerMons_823B5D8} }, [TRAINER_BIRD_KEEPER_ROBERT] = { @@ -3634,7 +3634,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B600), .party = {.NoItemDefaultMoves = sTrainerMons_823B600} }, [TRAINER_BIRD_KEEPER_DONALD] = { @@ -3646,7 +3646,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B620), .party = {.NoItemDefaultMoves = sTrainerMons_823B620} }, [TRAINER_BIRD_KEEPER_BENNY] = { @@ -3658,7 +3658,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B628), .party = {.NoItemDefaultMoves = sTrainerMons_823B628} }, [TRAINER_BIRD_KEEPER_EDWIN] = { @@ -3670,7 +3670,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B638), .party = {.NoItemDefaultMoves = sTrainerMons_823B638} }, [TRAINER_BIRD_KEEPER_CHESTER] = { @@ -3682,7 +3682,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B658), .party = {.NoItemDefaultMoves = sTrainerMons_823B658} }, [TRAINER_BIRD_KEEPER_WILTON] = { @@ -3694,7 +3694,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B670), .party = {.NoItemDefaultMoves = sTrainerMons_823B670} }, [TRAINER_BIRD_KEEPER_RAMIRO] = { @@ -3706,7 +3706,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B680), .party = {.NoItemDefaultMoves = sTrainerMons_823B680} }, [TRAINER_BIRD_KEEPER_JACOB] = { @@ -3718,7 +3718,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B688), .party = {.NoItemDefaultMoves = sTrainerMons_823B688} }, [TRAINER_BIRD_KEEPER_ROGER] = { @@ -3730,7 +3730,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B6A8), .party = {.NoItemDefaultMoves = sTrainerMons_823B6A8} }, [TRAINER_BIRD_KEEPER_REED] = { @@ -3742,7 +3742,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B6C0), .party = {.NoItemDefaultMoves = sTrainerMons_823B6C0} }, [TRAINER_BIRD_KEEPER_KEITH] = { @@ -3754,7 +3754,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B6E0), .party = {.NoItemDefaultMoves = sTrainerMons_823B6E0} }, [TRAINER_BIRD_KEEPER_CARTER] = { @@ -3766,7 +3766,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B6F0), .party = {.NoItemDefaultMoves = sTrainerMons_823B6F0} }, [TRAINER_BIRD_KEEPER_MITCH] = { @@ -3778,7 +3778,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B708), .party = {.NoItemDefaultMoves = sTrainerMons_823B708} }, [TRAINER_BIRD_KEEPER_BECK] = { @@ -3790,7 +3790,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B728), .party = {.NoItemDefaultMoves = sTrainerMons_823B728} }, [TRAINER_BIRD_KEEPER_MARLON] = { @@ -3802,7 +3802,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B738), .party = {.NoItemDefaultMoves = sTrainerMons_823B738} }, [TRAINER_BLACK_BELT_KOICHI] = { @@ -3814,7 +3814,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B750), .party = {.ItemDefaultMoves = sTrainerMons_823B750} }, [TRAINER_BLACK_BELT_MIKE] = { @@ -3826,7 +3826,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B760), .party = {.ItemDefaultMoves = sTrainerMons_823B760} }, [TRAINER_BLACK_BELT_HIDEKI] = { @@ -3838,7 +3838,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B778), .party = {.ItemDefaultMoves = sTrainerMons_823B778} }, [TRAINER_BLACK_BELT_AARON] = { @@ -3850,7 +3850,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B788), .party = {.ItemDefaultMoves = sTrainerMons_823B788} }, [TRAINER_BLACK_BELT_HITOSHI] = { @@ -3862,7 +3862,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B790), .party = {.ItemDefaultMoves = sTrainerMons_823B790} }, [TRAINER_BLACK_BELT_ATSUSHI] = { @@ -3874,7 +3874,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B7A8), .party = {.ItemDefaultMoves = sTrainerMons_823B7A8} }, [TRAINER_BLACK_BELT_KIYO] = { @@ -3886,7 +3886,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B7B8), .party = {.ItemDefaultMoves = sTrainerMons_823B7B8} }, [TRAINER_BLACK_BELT_TAKASHI] = { @@ -3898,7 +3898,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B7C0), .party = {.ItemDefaultMoves = sTrainerMons_823B7C0} }, [TRAINER_BLACK_BELT_DAISUKE] = { @@ -3910,7 +3910,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B7D8), .party = {.ItemDefaultMoves = sTrainerMons_823B7D8} }, [TRAINER_RIVAL_OAKS_LAB_SQUIRTLE] = { @@ -3922,7 +3922,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B7F0), .party = {.NoItemDefaultMoves = sTrainerMons_823B7F0} }, [TRAINER_RIVAL_OAKS_LAB_BULBASAUR] = { @@ -3934,7 +3934,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B7F8), .party = {.NoItemDefaultMoves = sTrainerMons_823B7F8} }, [TRAINER_RIVAL_OAKS_LAB_CHARMANDER] = { @@ -3946,7 +3946,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B800), .party = {.NoItemDefaultMoves = sTrainerMons_823B800} }, [TRAINER_RIVAL_ROUTE22_EARLY_SQUIRTLE] = { @@ -3958,7 +3958,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B808), .party = {.NoItemCustomMoves = sTrainerMons_823B808} }, [TRAINER_RIVAL_ROUTE22_EARLY_BULBASAUR] = { @@ -3970,7 +3970,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B828), .party = {.NoItemCustomMoves = sTrainerMons_823B828} }, [TRAINER_RIVAL_ROUTE22_EARLY_CHARMANDER] = { @@ -3982,7 +3982,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B848), .party = {.NoItemCustomMoves = sTrainerMons_823B848} }, [TRAINER_RIVAL_CERULEAN_SQUIRTLE] = { @@ -3994,7 +3994,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B868), .party = {.NoItemCustomMoves = sTrainerMons_823B868} }, [TRAINER_RIVAL_CERULEAN_BULBASAUR] = { @@ -4006,7 +4006,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B8A8), .party = {.NoItemCustomMoves = sTrainerMons_823B8A8} }, [TRAINER_RIVAL_CERULEAN_CHARMANDER] = { @@ -4018,7 +4018,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B8E8), .party = {.NoItemCustomMoves = sTrainerMons_823B8E8} }, [TRAINER_SCIENTIST_TED] = { @@ -4030,7 +4030,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B928), .party = {.NoItemDefaultMoves = sTrainerMons_823B928} }, [TRAINER_SCIENTIST_CONNOR] = { @@ -4042,7 +4042,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B938), .party = {.NoItemCustomMoves = sTrainerMons_823B938} }, [TRAINER_SCIENTIST_JERRY] = { @@ -4054,7 +4054,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823B978), .party = {.NoItemDefaultMoves = sTrainerMons_823B978} }, [TRAINER_SCIENTIST_JOSE] = { @@ -4066,7 +4066,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823B990), .party = {.NoItemCustomMoves = sTrainerMons_823B990} }, [TRAINER_SCIENTIST_RODNEY] = { @@ -4078,7 +4078,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823B9B0), .party = {.NoItemDefaultMoves = sTrainerMons_823B9B0} }, [TRAINER_SCIENTIST_BEAU] = { @@ -4090,7 +4090,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823B9B8), .party = {.NoItemCustomMoves = sTrainerMons_823B9B8} }, [TRAINER_SCIENTIST_TAYLOR] = { @@ -4102,7 +4102,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823B9F8), .party = {.NoItemCustomMoves = sTrainerMons_823B9F8} }, [TRAINER_SCIENTIST_JOSHUA] = { @@ -4114,7 +4114,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BA48), .party = {.NoItemDefaultMoves = sTrainerMons_823BA48} }, [TRAINER_SCIENTIST_PARKER] = { @@ -4126,7 +4126,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BA58), .party = {.NoItemDefaultMoves = sTrainerMons_823BA58} }, [TRAINER_SCIENTIST_ED] = { @@ -4138,7 +4138,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BA68), .party = {.NoItemCustomMoves = sTrainerMons_823BA68} }, [TRAINER_SCIENTIST_TRAVIS] = { @@ -4150,7 +4150,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BA98), .party = {.NoItemDefaultMoves = sTrainerMons_823BA98} }, [TRAINER_SCIENTIST_BRAYDON] = { @@ -4162,7 +4162,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BAA8), .party = {.NoItemDefaultMoves = sTrainerMons_823BAA8} }, [TRAINER_SCIENTIST_IVAN] = { @@ -4174,7 +4174,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BAC0), .party = {.NoItemDefaultMoves = sTrainerMons_823BAC0} }, [TRAINER_BOSS_GIOVANNI] = { @@ -4186,7 +4186,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BAD0), .party = {.NoItemDefaultMoves = sTrainerMons_823BAD0} }, [TRAINER_BOSS_GIOVANNI_2] = { @@ -4198,7 +4198,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823BAE8), .party = {.NoItemDefaultMoves = sTrainerMons_823BAE8} }, [TRAINER_LEADER_GIOVANNI] = { @@ -4210,7 +4210,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_FULL_HEAL}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823BB08), .party = {.NoItemCustomMoves = sTrainerMons_823BB08} }, [TRAINER_TEAM_ROCKET_GRUNT] = { @@ -4222,7 +4222,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BB58), .party = {.NoItemDefaultMoves = sTrainerMons_823BB58} }, [TRAINER_TEAM_ROCKET_GRUNT_2] = { @@ -4234,7 +4234,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BB68), .party = {.NoItemDefaultMoves = sTrainerMons_823BB68} }, [TRAINER_TEAM_ROCKET_GRUNT_3] = { @@ -4246,7 +4246,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BB80), .party = {.NoItemDefaultMoves = sTrainerMons_823BB80} }, [TRAINER_TEAM_ROCKET_GRUNT_4] = { @@ -4258,7 +4258,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BB90), .party = {.NoItemDefaultMoves = sTrainerMons_823BB90} }, [TRAINER_TEAM_ROCKET_GRUNT_5] = { @@ -4270,7 +4270,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BBA0), .party = {.NoItemDefaultMoves = sTrainerMons_823BBA0} }, [TRAINER_TEAM_ROCKET_GRUNT_6] = { @@ -4282,7 +4282,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BBB0), .party = {.NoItemDefaultMoves = sTrainerMons_823BBB0} }, [TRAINER_TEAM_ROCKET_GRUNT_7] = { @@ -4294,7 +4294,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BBC0), .party = {.NoItemDefaultMoves = sTrainerMons_823BBC0} }, [TRAINER_TEAM_ROCKET_GRUNT_8] = { @@ -4306,7 +4306,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BBD0), .party = {.NoItemDefaultMoves = sTrainerMons_823BBD0} }, [TRAINER_TEAM_ROCKET_GRUNT_9] = { @@ -4318,7 +4318,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BBE0), .party = {.NoItemDefaultMoves = sTrainerMons_823BBE0} }, [TRAINER_TEAM_ROCKET_GRUNT_10] = { @@ -4330,7 +4330,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BBF0), .party = {.NoItemCustomMoves = sTrainerMons_823BBF0} }, [TRAINER_TEAM_ROCKET_GRUNT_11] = { @@ -4342,7 +4342,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823BC20), .party = {.NoItemDefaultMoves = sTrainerMons_823BC20} }, [TRAINER_TEAM_ROCKET_GRUNT_12] = { @@ -4354,7 +4354,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BC40), .party = {.NoItemCustomMoves = sTrainerMons_823BC40} }, [TRAINER_TEAM_ROCKET_GRUNT_13] = { @@ -4366,7 +4366,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823BC60), .party = {.NoItemCustomMoves = sTrainerMons_823BC60} }, [TRAINER_TEAM_ROCKET_GRUNT_14] = { @@ -4378,7 +4378,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BCB0), .party = {.NoItemDefaultMoves = sTrainerMons_823BCB0} }, [TRAINER_TEAM_ROCKET_GRUNT_15] = { @@ -4390,7 +4390,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BCC8), .party = {.NoItemDefaultMoves = sTrainerMons_823BCC8} }, [TRAINER_TEAM_ROCKET_GRUNT_16] = { @@ -4402,7 +4402,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BCD8), .party = {.NoItemDefaultMoves = sTrainerMons_823BCD8} }, [TRAINER_TEAM_ROCKET_GRUNT_17] = { @@ -4414,7 +4414,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BCF0), .party = {.NoItemDefaultMoves = sTrainerMons_823BCF0} }, [TRAINER_TEAM_ROCKET_GRUNT_18] = { @@ -4426,7 +4426,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BD08), .party = {.NoItemDefaultMoves = sTrainerMons_823BD08} }, [TRAINER_TEAM_ROCKET_GRUNT_19] = { @@ -4438,7 +4438,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BD18), .party = {.NoItemDefaultMoves = sTrainerMons_823BD18} }, [TRAINER_TEAM_ROCKET_GRUNT_20] = { @@ -4450,7 +4450,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BD30), .party = {.NoItemDefaultMoves = sTrainerMons_823BD30} }, [TRAINER_TEAM_ROCKET_GRUNT_21] = { @@ -4462,7 +4462,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823BD40), .party = {.NoItemDefaultMoves = sTrainerMons_823BD40} }, [TRAINER_TEAM_ROCKET_GRUNT_22] = { @@ -4474,7 +4474,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BD60), .party = {.NoItemDefaultMoves = sTrainerMons_823BD60} }, [TRAINER_TEAM_ROCKET_GRUNT_23] = { @@ -4486,7 +4486,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BD70), .party = {.NoItemDefaultMoves = sTrainerMons_823BD70} }, [TRAINER_TEAM_ROCKET_GRUNT_24] = { @@ -4498,7 +4498,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823BD80), .party = {.NoItemDefaultMoves = sTrainerMons_823BD80} }, [TRAINER_TEAM_ROCKET_GRUNT_25] = { @@ -4510,7 +4510,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BDA8), .party = {.NoItemDefaultMoves = sTrainerMons_823BDA8} }, [TRAINER_TEAM_ROCKET_GRUNT_26] = { @@ -4522,7 +4522,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BDC0), .party = {.NoItemDefaultMoves = sTrainerMons_823BDC0} }, [TRAINER_TEAM_ROCKET_GRUNT_27] = { @@ -4534,7 +4534,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BDD0), .party = {.NoItemDefaultMoves = sTrainerMons_823BDD0} }, [TRAINER_TEAM_ROCKET_GRUNT_28] = { @@ -4546,7 +4546,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823BDE8), .party = {.NoItemDefaultMoves = sTrainerMons_823BDE8} }, [TRAINER_TEAM_ROCKET_GRUNT_29] = { @@ -4558,7 +4558,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823BDF0), .party = {.NoItemDefaultMoves = sTrainerMons_823BDF0} }, [TRAINER_TEAM_ROCKET_GRUNT_30] = { @@ -4570,7 +4570,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BDF8), .party = {.NoItemDefaultMoves = sTrainerMons_823BDF8} }, [TRAINER_TEAM_ROCKET_GRUNT_31] = { @@ -4582,7 +4582,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BE08), .party = {.NoItemDefaultMoves = sTrainerMons_823BE08} }, [TRAINER_TEAM_ROCKET_GRUNT_32] = { @@ -4594,7 +4594,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823BE20), .party = {.NoItemCustomMoves = sTrainerMons_823BE20} }, [TRAINER_TEAM_ROCKET_GRUNT_33] = { @@ -4606,7 +4606,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BE60), .party = {.NoItemDefaultMoves = sTrainerMons_823BE60} }, [TRAINER_TEAM_ROCKET_GRUNT_34] = { @@ -4618,7 +4618,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823BE70), .party = {.NoItemDefaultMoves = sTrainerMons_823BE70} }, [TRAINER_TEAM_ROCKET_GRUNT_35] = { @@ -4630,7 +4630,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823BE80), .party = {.NoItemDefaultMoves = sTrainerMons_823BE80} }, [TRAINER_TEAM_ROCKET_GRUNT_36] = { @@ -4642,7 +4642,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BEA0), .party = {.NoItemDefaultMoves = sTrainerMons_823BEA0} }, [TRAINER_TEAM_ROCKET_GRUNT_37] = { @@ -4654,7 +4654,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BEB8), .party = {.NoItemDefaultMoves = sTrainerMons_823BEB8} }, [TRAINER_TEAM_ROCKET_GRUNT_38] = { @@ -4666,7 +4666,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BED0), .party = {.NoItemDefaultMoves = sTrainerMons_823BED0} }, [TRAINER_TEAM_ROCKET_GRUNT_39] = { @@ -4678,7 +4678,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823BEE8), .party = {.NoItemDefaultMoves = sTrainerMons_823BEE8} }, [TRAINER_TEAM_ROCKET_GRUNT_40] = { @@ -4690,7 +4690,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823BEF0), .party = {.NoItemDefaultMoves = sTrainerMons_823BEF0} }, [TRAINER_TEAM_ROCKET_GRUNT_41] = { @@ -4702,7 +4702,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823BF18), .party = {.NoItemDefaultMoves = sTrainerMons_823BF18} }, [TRAINER_COOLTRAINER_SAMUEL] = { @@ -4714,7 +4714,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823BF30), .party = {.NoItemCustomMoves = sTrainerMons_823BF30} }, [TRAINER_COOLTRAINER_GEORGE] = { @@ -4726,7 +4726,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823BF80), .party = {.NoItemCustomMoves = sTrainerMons_823BF80} }, [TRAINER_COOLTRAINER_COLBY] = { @@ -4738,7 +4738,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823BFD0), .party = {.NoItemCustomMoves = sTrainerMons_823BFD0} }, [TRAINER_COOLTRAINER_PAUL] = { @@ -4750,7 +4750,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C020), .party = {.NoItemCustomMoves = sTrainerMons_823C020} }, [TRAINER_COOLTRAINER_ROLANDO] = { @@ -4762,7 +4762,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C070), .party = {.NoItemCustomMoves = sTrainerMons_823C070} }, [TRAINER_COOLTRAINER_GILBERT] = { @@ -4774,7 +4774,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C0C0), .party = {.NoItemCustomMoves = sTrainerMons_823C0C0} }, [TRAINER_COOLTRAINER_OWEN] = { @@ -4786,7 +4786,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C110), .party = {.NoItemCustomMoves = sTrainerMons_823C110} }, [TRAINER_COOLTRAINER_BERKE] = { @@ -4798,7 +4798,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C160), .party = {.NoItemCustomMoves = sTrainerMons_823C160} }, [TRAINER_COOLTRAINER_YUJI] = { @@ -4810,7 +4810,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C1B0), .party = {.NoItemCustomMoves = sTrainerMons_823C1B0} }, [TRAINER_COOLTRAINER_WARREN] = { @@ -4822,7 +4822,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C200), .party = {.NoItemCustomMoves = sTrainerMons_823C200} }, [TRAINER_COOLTRAINER_MARY] = { @@ -4834,7 +4834,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C250), .party = {.NoItemCustomMoves = sTrainerMons_823C250} }, [TRAINER_COOLTRAINER_CAROLINE] = { @@ -4846,7 +4846,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C2A0), .party = {.NoItemCustomMoves = sTrainerMons_823C2A0} }, [TRAINER_COOLTRAINER_ALEXA] = { @@ -4858,7 +4858,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C2F0), .party = {.NoItemCustomMoves = sTrainerMons_823C2F0} }, [TRAINER_COOLTRAINER_SHANNON] = { @@ -4870,7 +4870,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C340), .party = {.NoItemCustomMoves = sTrainerMons_823C340} }, [TRAINER_COOLTRAINER_NAOMI] = { @@ -4882,7 +4882,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C390), .party = {.NoItemCustomMoves = sTrainerMons_823C390} }, [TRAINER_COOLTRAINER_BROOKE] = { @@ -4894,7 +4894,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C3E0), .party = {.NoItemCustomMoves = sTrainerMons_823C3E0} }, [TRAINER_COOLTRAINER_AUSTINA] = { @@ -4906,7 +4906,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C430), .party = {.NoItemCustomMoves = sTrainerMons_823C430} }, [TRAINER_COOLTRAINER_JULIE] = { @@ -4918,7 +4918,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C480), .party = {.NoItemCustomMoves = sTrainerMons_823C480} }, [TRAINER_ELITE_FOUR_LORELEI] = { @@ -4930,7 +4930,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C4D0), .party = {.ItemCustomMoves = sTrainerMons_823C4D0} }, [TRAINER_ELITE_FOUR_BRUNO] = { @@ -4942,7 +4942,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C520), .party = {.ItemCustomMoves = sTrainerMons_823C520} }, [TRAINER_ELITE_FOUR_AGATHA] = { @@ -4954,7 +4954,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C570), .party = {.ItemCustomMoves = sTrainerMons_823C570} }, [TRAINER_ELITE_FOUR_LANCE] = { @@ -4966,7 +4966,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C5C0), .party = {.ItemCustomMoves = sTrainerMons_823C5C0} }, [TRAINER_LEADER_BROCK] = { @@ -4978,7 +4978,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823C610), .party = {.NoItemCustomMoves = sTrainerMons_823C610} }, [TRAINER_LEADER_MISTY] = { @@ -4990,7 +4990,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823C630), .party = {.NoItemCustomMoves = sTrainerMons_823C630} }, [TRAINER_LEADER_LT_SURGE] = { @@ -5002,7 +5002,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_FULL_HEAL}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823C650), .party = {.NoItemCustomMoves = sTrainerMons_823C650} }, [TRAINER_LEADER_ERIKA] = { @@ -5014,7 +5014,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_FULL_HEAL}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823C680), .party = {.NoItemCustomMoves = sTrainerMons_823C680} }, [TRAINER_LEADER_KOGA] = { @@ -5026,7 +5026,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_FULL_HEAL}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823C6B0), .party = {.NoItemCustomMoves = sTrainerMons_823C6B0} }, [TRAINER_LEADER_BLAINE] = { @@ -5038,7 +5038,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_FULL_HEAL}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823C6F0), .party = {.NoItemCustomMoves = sTrainerMons_823C6F0} }, [TRAINER_LEADER_SABRINA] = { @@ -5050,7 +5050,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_FULL_HEAL}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823C730), .party = {.NoItemCustomMoves = sTrainerMons_823C730} }, [TRAINER_GENTLEMAN_THOMAS] = { @@ -5062,7 +5062,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823C770), .party = {.NoItemDefaultMoves = sTrainerMons_823C770} }, [TRAINER_GENTLEMAN_ARTHUR] = { @@ -5074,7 +5074,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823C780), .party = {.NoItemDefaultMoves = sTrainerMons_823C780} }, [TRAINER_GENTLEMAN_TUCKER] = { @@ -5086,7 +5086,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823C790), .party = {.NoItemDefaultMoves = sTrainerMons_823C790} }, [TRAINER_GENTLEMAN_NORTON] = { @@ -5098,7 +5098,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823C798), .party = {.NoItemDefaultMoves = sTrainerMons_823C798} }, [TRAINER_GENTLEMAN_WALTER] = { @@ -5110,7 +5110,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823C7A0), .party = {.NoItemDefaultMoves = sTrainerMons_823C7A0} }, [TRAINER_RIVAL_SS_ANNE_SQUIRTLE] = { @@ -5122,7 +5122,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823C7B0), .party = {.NoItemDefaultMoves = sTrainerMons_823C7B0} }, [TRAINER_RIVAL_SS_ANNE_BULBASAUR] = { @@ -5134,7 +5134,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823C7D0), .party = {.NoItemDefaultMoves = sTrainerMons_823C7D0} }, [TRAINER_RIVAL_SS_ANNE_CHARMANDER] = { @@ -5146,7 +5146,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823C7F0), .party = {.NoItemDefaultMoves = sTrainerMons_823C7F0} }, [TRAINER_RIVAL_POKENON_TOWER_SQUIRTLE] = { @@ -5158,7 +5158,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C810), .party = {.NoItemDefaultMoves = sTrainerMons_823C810} }, [TRAINER_RIVAL_POKENON_TOWER_BULBASAUR] = { @@ -5170,7 +5170,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C838), .party = {.NoItemDefaultMoves = sTrainerMons_823C838} }, [TRAINER_RIVAL_POKENON_TOWER_CHARMANDER] = { @@ -5182,7 +5182,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C860), .party = {.NoItemDefaultMoves = sTrainerMons_823C860} }, [TRAINER_RIVAL_SILPH_SQUIRTLE] = { @@ -5194,7 +5194,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C888), .party = {.NoItemDefaultMoves = sTrainerMons_823C888} }, [TRAINER_RIVAL_SILPH_BULBASAUR] = { @@ -5206,7 +5206,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C8B0), .party = {.NoItemDefaultMoves = sTrainerMons_823C8B0} }, [TRAINER_RIVAL_SILPH_CHARMANDER] = { @@ -5218,7 +5218,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823C8D8), .party = {.NoItemDefaultMoves = sTrainerMons_823C8D8} }, [TRAINER_RIVAL_ROUTE22_LATE_SQUIRTLE] = { @@ -5230,7 +5230,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 6, + .partySize = NELEMS(sTrainerMons_823C900), .party = {.NoItemCustomMoves = sTrainerMons_823C900} }, [TRAINER_RIVAL_ROUTE22_LATE_BULBASAUR] = { @@ -5242,7 +5242,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 6, + .partySize = NELEMS(sTrainerMons_823C960), .party = {.NoItemCustomMoves = sTrainerMons_823C960} }, [TRAINER_RIVAL_ROUTE22_LATE_CHARMANDER] = { @@ -5254,7 +5254,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 6, + .partySize = NELEMS(sTrainerMons_823C9C0), .party = {.NoItemCustomMoves = sTrainerMons_823C9C0} }, [TRAINER_CHAMPION_FIRST_SQUIRTLE] = { @@ -5266,7 +5266,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 6, + .partySize = NELEMS(sTrainerMons_823CA20), .party = {.ItemCustomMoves = sTrainerMons_823CA20} }, [TRAINER_CHAMPION_FIRST_BULBASAUR] = { @@ -5278,7 +5278,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 6, + .partySize = NELEMS(sTrainerMons_823CA80), .party = {.ItemCustomMoves = sTrainerMons_823CA80} }, [TRAINER_CHAMPION_FIRST_CHARMANDER] = { @@ -5290,7 +5290,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 6, + .partySize = NELEMS(sTrainerMons_823CAE0), .party = {.ItemCustomMoves = sTrainerMons_823CAE0} }, [TRAINER_CHANNELER_PATRICIA] = { @@ -5302,7 +5302,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CB40), .party = {.NoItemDefaultMoves = sTrainerMons_823CB40} }, [TRAINER_CHANNELER_CARLY] = { @@ -5314,7 +5314,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CB48), .party = {.NoItemDefaultMoves = sTrainerMons_823CB48} }, [TRAINER_CHANNELER_HOPE] = { @@ -5326,7 +5326,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CB50), .party = {.NoItemDefaultMoves = sTrainerMons_823CB50} }, [TRAINER_CHANNELER_PAULA] = { @@ -5338,7 +5338,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CB58), .party = {.NoItemDefaultMoves = sTrainerMons_823CB58} }, [TRAINER_CHANNELER_LAUREL] = { @@ -5350,7 +5350,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CB60), .party = {.NoItemDefaultMoves = sTrainerMons_823CB60} }, [TRAINER_CHANNELER_JODY] = { @@ -5362,7 +5362,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CB70), .party = {.NoItemDefaultMoves = sTrainerMons_823CB70} }, [TRAINER_CHANNELER_TAMMY] = { @@ -5374,7 +5374,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CB78), .party = {.NoItemDefaultMoves = sTrainerMons_823CB78} }, [TRAINER_CHANNELER_RUTH] = { @@ -5386,7 +5386,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CB80), .party = {.NoItemDefaultMoves = sTrainerMons_823CB80} }, [TRAINER_CHANNELER_KARINA] = { @@ -5398,7 +5398,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CB88), .party = {.NoItemDefaultMoves = sTrainerMons_823CB88} }, [TRAINER_CHANNELER_JANAE] = { @@ -5410,7 +5410,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CB90), .party = {.NoItemDefaultMoves = sTrainerMons_823CB90} }, [TRAINER_CHANNELER_ANGELICA] = { @@ -5422,7 +5422,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CB98), .party = {.NoItemDefaultMoves = sTrainerMons_823CB98} }, [TRAINER_CHANNELER_EMILIA] = { @@ -5434,7 +5434,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CBB0), .party = {.NoItemDefaultMoves = sTrainerMons_823CBB0} }, [TRAINER_CHANNELER_JENNIFER] = { @@ -5446,7 +5446,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CBB8), .party = {.NoItemDefaultMoves = sTrainerMons_823CBB8} }, [TRAINER_CHANNELER_1] = { @@ -5458,7 +5458,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CBC0), .party = {.NoItemDefaultMoves = sTrainerMons_823CBC0} }, [TRAINER_CHANNELER_2] = { @@ -5470,7 +5470,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CBC8), .party = {.NoItemDefaultMoves = sTrainerMons_823CBC8} }, [TRAINER_CHANNELER_3] = { @@ -5482,7 +5482,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CBD0), .party = {.NoItemDefaultMoves = sTrainerMons_823CBD0} }, [TRAINER_CHANNELER_4] = { @@ -5494,7 +5494,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CBD8), .party = {.NoItemDefaultMoves = sTrainerMons_823CBD8} }, [TRAINER_CHANNELER_5] = { @@ -5506,7 +5506,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CBE0), .party = {.NoItemDefaultMoves = sTrainerMons_823CBE0} }, [TRAINER_CHANNELER_6] = { @@ -5518,7 +5518,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CBE8), .party = {.NoItemDefaultMoves = sTrainerMons_823CBE8} }, [TRAINER_CHANNELER_7] = { @@ -5530,7 +5530,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CC00), .party = {.NoItemDefaultMoves = sTrainerMons_823CC00} }, [TRAINER_CHANNELER_8] = { @@ -5542,7 +5542,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CC08), .party = {.NoItemDefaultMoves = sTrainerMons_823CC08} }, [TRAINER_CHANNELER_AMANDA] = { @@ -5554,7 +5554,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CC10), .party = {.NoItemDefaultMoves = sTrainerMons_823CC10} }, [TRAINER_CHANNELER_STACY] = { @@ -5566,7 +5566,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CC20), .party = {.NoItemDefaultMoves = sTrainerMons_823CC20} }, [TRAINER_CHANNELER_TASHA] = { @@ -5578,7 +5578,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CC28), .party = {.NoItemDefaultMoves = sTrainerMons_823CC28} }, [TRAINER_HIKER_JEREMY] = { @@ -5590,7 +5590,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CC40), .party = {.NoItemDefaultMoves = sTrainerMons_823CC40} }, [TRAINER_PICNICKER_ALMA] = { @@ -5602,7 +5602,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CC50), .party = {.NoItemDefaultMoves = sTrainerMons_823CC50} }, [TRAINER_PICNICKER_SUSIE] = { @@ -5614,7 +5614,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823CC68), .party = {.NoItemDefaultMoves = sTrainerMons_823CC68} }, [TRAINER_PICNICKER_VALERIE] = { @@ -5626,7 +5626,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CC90), .party = {.NoItemDefaultMoves = sTrainerMons_823CC90} }, [TRAINER_PICNICKER_GWEN] = { @@ -5638,7 +5638,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823CCA0), .party = {.NoItemDefaultMoves = sTrainerMons_823CCA0} }, [TRAINER_BIKER_VIRGIL] = { @@ -5650,7 +5650,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CCC0), .party = {.NoItemCustomMoves = sTrainerMons_823CCC0} }, [TRAINER_CAMPER_FLINT] = { @@ -5662,7 +5662,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CCF0), .party = {.NoItemDefaultMoves = sTrainerMons_823CCF0} }, [TRAINER_PICNICKER_MISSY] = { @@ -5674,7 +5674,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CD00), .party = {.NoItemDefaultMoves = sTrainerMons_823CD00} }, [TRAINER_PICNICKER_IRENE] = { @@ -5686,7 +5686,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CD10), .party = {.NoItemDefaultMoves = sTrainerMons_823CD10} }, [TRAINER_PICNICKER_DANA] = { @@ -5698,7 +5698,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CD28), .party = {.NoItemDefaultMoves = sTrainerMons_823CD28} }, [TRAINER_PICNICKER_ARIANA] = { @@ -5710,7 +5710,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823CD40), .party = {.NoItemDefaultMoves = sTrainerMons_823CD40} }, [TRAINER_PICNICKER_LEAH] = { @@ -5722,7 +5722,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CD60), .party = {.NoItemDefaultMoves = sTrainerMons_823CD60} }, [TRAINER_CAMPER_JUSTIN] = { @@ -5734,7 +5734,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CD70), .party = {.NoItemDefaultMoves = sTrainerMons_823CD70} }, [TRAINER_PICNICKER_YAZMIN] = { @@ -5746,7 +5746,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CD80), .party = {.NoItemDefaultMoves = sTrainerMons_823CD80} }, [TRAINER_PICNICKER_KINDRA] = { @@ -5758,7 +5758,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CD98), .party = {.NoItemDefaultMoves = sTrainerMons_823CD98} }, [TRAINER_PICNICKER_BECKY] = { @@ -5770,7 +5770,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CDB0), .party = {.NoItemDefaultMoves = sTrainerMons_823CDB0} }, [TRAINER_PICNICKER_CELIA] = { @@ -5782,7 +5782,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CDC0), .party = {.NoItemDefaultMoves = sTrainerMons_823CDC0} }, [TRAINER_GENTLEMAN_BROOKS] = { @@ -5794,7 +5794,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CDC8), .party = {.NoItemDefaultMoves = sTrainerMons_823CDC8} }, [TRAINER_GENTLEMAN_LAMAR] = { @@ -5806,7 +5806,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CDD0), .party = {.NoItemDefaultMoves = sTrainerMons_823CDD0} }, [TRAINER_TWINS_ELI_ANNE] = { @@ -5818,7 +5818,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CDE0), .party = {.NoItemDefaultMoves = sTrainerMons_823CDE0} }, [TRAINER_COOL_COUPLE_RAY_TYRA] = { @@ -5830,7 +5830,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CDF0), .party = {.NoItemCustomMoves = sTrainerMons_823CDF0} }, [TRAINER_YOUNG_COUPLE_GIA_JES] = { @@ -5842,7 +5842,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CE10), .party = {.NoItemDefaultMoves = sTrainerMons_823CE10} }, [TRAINER_TWINS_KIRI_JAN] = { @@ -5854,7 +5854,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CE20), .party = {.NoItemDefaultMoves = sTrainerMons_823CE20} }, [TRAINER_CRUSH_KIN_RON_MYA] = { @@ -5866,7 +5866,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CE30), .party = {.ItemDefaultMoves = sTrainerMons_823CE30} }, [TRAINER_YOUNG_COUPLE_LEA_JED] = { @@ -5878,7 +5878,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CE40), .party = {.NoItemDefaultMoves = sTrainerMons_823CE40} }, [TRAINER_SIS_AND_BRO_LIA_LUC] = { @@ -5890,7 +5890,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CE50), .party = {.NoItemDefaultMoves = sTrainerMons_823CE50} }, [TRAINER_SIS_AND_BRO_LIL_IAN] = { @@ -5902,7 +5902,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CE60), .party = {.NoItemDefaultMoves = sTrainerMons_823CE60} }, [TRAINER_BUG_CATCHER_3] = { @@ -5914,7 +5914,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CE70), .party = {.NoItemDefaultMoves = sTrainerMons_823CE70} }, [TRAINER_BUG_CATCHER_4] = { @@ -5926,7 +5926,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CE78), .party = {.NoItemDefaultMoves = sTrainerMons_823CE78} }, [TRAINER_BUG_CATCHER_5] = { @@ -5938,7 +5938,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CE80), .party = {.NoItemDefaultMoves = sTrainerMons_823CE80} }, [TRAINER_BUG_CATCHER_6] = { @@ -5950,7 +5950,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CE88), .party = {.NoItemDefaultMoves = sTrainerMons_823CE88} }, [TRAINER_BUG_CATCHER_7] = { @@ -5962,7 +5962,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CE90), .party = {.NoItemDefaultMoves = sTrainerMons_823CE90} }, [TRAINER_BUG_CATCHER_8] = { @@ -5974,7 +5974,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CE98), .party = {.NoItemDefaultMoves = sTrainerMons_823CE98} }, [TRAINER_YOUNGSTER_BEN_3] = { @@ -5986,7 +5986,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CEA0), .party = {.NoItemDefaultMoves = sTrainerMons_823CEA0} }, [TRAINER_YOUNGSTER_BEN_4] = { @@ -5998,7 +5998,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CEB0), .party = {.NoItemDefaultMoves = sTrainerMons_823CEB0} }, [TRAINER_YOUNGSTER_CHAD_2] = { @@ -6010,7 +6010,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CEC0), .party = {.NoItemDefaultMoves = sTrainerMons_823CEC0} }, [TRAINER_LASS_RELI_2] = { @@ -6022,7 +6022,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CED0), .party = {.NoItemDefaultMoves = sTrainerMons_823CED0} }, [TRAINER_LASS_RELI_3] = { @@ -6034,7 +6034,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CEE0), .party = {.NoItemDefaultMoves = sTrainerMons_823CEE0} }, [TRAINER_YOUNGSTER_TIMMY_2] = { @@ -6046,7 +6046,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CEF0), .party = {.NoItemDefaultMoves = sTrainerMons_823CEF0} }, [TRAINER_YOUNGSTER_TIMMY_3] = { @@ -6058,7 +6058,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CF08), .party = {.NoItemDefaultMoves = sTrainerMons_823CF08} }, [TRAINER_YOUNGSTER_TIMMY_4] = { @@ -6070,7 +6070,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CF20), .party = {.NoItemDefaultMoves = sTrainerMons_823CF20} }, [TRAINER_YOUNGSTER_CHAD_3] = { @@ -6082,7 +6082,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CF38), .party = {.NoItemDefaultMoves = sTrainerMons_823CF38} }, [TRAINER_LASS_JANICE_2] = { @@ -6094,7 +6094,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CF48), .party = {.NoItemDefaultMoves = sTrainerMons_823CF48} }, [TRAINER_LASS_JANICE_3] = { @@ -6106,7 +6106,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CF58), .party = {.NoItemDefaultMoves = sTrainerMons_823CF58} }, [TRAINER_YOUNGSTER_CHAD_4] = { @@ -6118,7 +6118,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CF68), .party = {.NoItemDefaultMoves = sTrainerMons_823CF68} }, [TRAINER_HIKER_FRANKLIN_2] = { @@ -6130,7 +6130,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CF78), .party = {.NoItemDefaultMoves = sTrainerMons_823CF78} }, [TRAINER_PKMN_PROF_PROF_OAK] = { @@ -6142,7 +6142,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CF88), .party = {.NoItemDefaultMoves = sTrainerMons_823CF88} }, [TRAINER_PLAYER_BRENDAN] = { @@ -6154,7 +6154,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CF90), .party = {.NoItemDefaultMoves = sTrainerMons_823CF90} }, [TRAINER_PLAYER_MAY] = { @@ -6166,7 +6166,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CF98), .party = {.NoItemDefaultMoves = sTrainerMons_823CF98} }, [TRAINER_PLAYER_RED] = { @@ -6178,7 +6178,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CFA0), .party = {.NoItemDefaultMoves = sTrainerMons_823CFA0} }, [TRAINER_PLAYER_LEAF] = { @@ -6190,7 +6190,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823CFA8), .party = {.NoItemDefaultMoves = sTrainerMons_823CFA8} }, [TRAINER_TEAM_ROCKET_GRUNT_42] = { @@ -6202,7 +6202,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CFB0), .party = {.NoItemDefaultMoves = sTrainerMons_823CFB0} }, [TRAINER_PSYCHIC_JACLYN] = { @@ -6214,7 +6214,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823CFC0), .party = {.NoItemCustomMoves = sTrainerMons_823CFC0} }, [TRAINER_CRUSH_GIRL_SHARON] = { @@ -6226,7 +6226,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823CFF0), .party = {.ItemDefaultMoves = sTrainerMons_823CFF0} }, [TRAINER_TUBER_AMIRA] = { @@ -6238,7 +6238,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D000), .party = {.NoItemDefaultMoves = sTrainerMons_823D000} }, [TRAINER_PKMN_BREEDER_ALIZE] = { @@ -6250,7 +6250,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D018), .party = {.NoItemDefaultMoves = sTrainerMons_823D018} }, [TRAINER_PKMN_RANGER_NICOLAS] = { @@ -6262,7 +6262,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D030), .party = {.NoItemCustomMoves = sTrainerMons_823D030} }, [TRAINER_PKMN_RANGER_MADELINE] = { @@ -6274,7 +6274,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D050), .party = {.NoItemCustomMoves = sTrainerMons_823D050} }, [TRAINER_AROMA_LADY_NIKKI] = { @@ -6286,7 +6286,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D070), .party = {.NoItemDefaultMoves = sTrainerMons_823D070} }, [TRAINER_RUIN_MANIAC_STANLY] = { @@ -6298,7 +6298,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D080), .party = {.NoItemDefaultMoves = sTrainerMons_823D080} }, [TRAINER_LADY_JACKI] = { @@ -6310,7 +6310,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D098), .party = {.ItemDefaultMoves = sTrainerMons_823D098} }, [TRAINER_PAINTER_DAISY] = { @@ -6322,7 +6322,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D0A8), .party = {.NoItemCustomMoves = sTrainerMons_823D0A8} }, [TRAINER_BIKER_GOON] = { @@ -6334,7 +6334,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D0B8), .party = {.NoItemCustomMoves = sTrainerMons_823D0B8} }, [TRAINER_BIKER_GOON_2] = { @@ -6346,7 +6346,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D0D8), .party = {.NoItemCustomMoves = sTrainerMons_823D0D8} }, [TRAINER_BIKER_GOON_3] = { @@ -6358,7 +6358,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D0E8), .party = {.NoItemDefaultMoves = sTrainerMons_823D0E8} }, [TRAINER_BIKER_2] = { @@ -6370,7 +6370,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D0F0), .party = {.NoItemDefaultMoves = sTrainerMons_823D0F0} }, [TRAINER_BUG_CATCHER_ANTHONY] = { @@ -6382,7 +6382,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D0F8), .party = {.NoItemDefaultMoves = sTrainerMons_823D0F8} }, [TRAINER_BUG_CATCHER_CHARLIE] = { @@ -6394,7 +6394,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D108), .party = {.NoItemDefaultMoves = sTrainerMons_823D108} }, [TRAINER_TWINS_ELI_ANNE_2] = { @@ -6406,7 +6406,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D120), .party = {.NoItemDefaultMoves = sTrainerMons_823D120} }, [TRAINER_YOUNGSTER_JOHNSON] = { @@ -6418,7 +6418,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D130), .party = {.NoItemDefaultMoves = sTrainerMons_823D130} }, [TRAINER_BIKER_RICARDO] = { @@ -6430,7 +6430,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D148), .party = {.NoItemCustomMoves = sTrainerMons_823D148} }, [TRAINER_BIKER_JAREN] = { @@ -6442,7 +6442,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D178), .party = {.NoItemDefaultMoves = sTrainerMons_823D178} }, [TRAINER_TEAM_ROCKET_GRUNT_43] = { @@ -6454,7 +6454,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D188), .party = {.NoItemDefaultMoves = sTrainerMons_823D188} }, [TRAINER_TEAM_ROCKET_GRUNT_44] = { @@ -6466,7 +6466,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823D198), .party = {.NoItemDefaultMoves = sTrainerMons_823D198} }, [TRAINER_TEAM_ROCKET_GRUNT_45] = { @@ -6478,7 +6478,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D1B8), .party = {.NoItemDefaultMoves = sTrainerMons_823D1B8} }, [TRAINER_TEAM_ROCKET_GRUNT_46] = { @@ -6490,7 +6490,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D1D0), .party = {.NoItemDefaultMoves = sTrainerMons_823D1D0} }, [TRAINER_TEAM_ROCKET_GRUNT_47] = { @@ -6502,7 +6502,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D1E8), .party = {.NoItemDefaultMoves = sTrainerMons_823D1E8} }, [TRAINER_TEAM_ROCKET_GRUNT_48] = { @@ -6514,7 +6514,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D200), .party = {.NoItemDefaultMoves = sTrainerMons_823D200} }, [TRAINER_TEAM_ROCKET_ADMIN] = { @@ -6526,7 +6526,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D210), .party = {.NoItemCustomMoves = sTrainerMons_823D210} }, [TRAINER_TEAM_ROCKET_ADMIN_2] = { @@ -6538,7 +6538,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D240), .party = {.NoItemCustomMoves = sTrainerMons_823D240} }, [TRAINER_SCIENTIST_GIDEON] = { @@ -6550,7 +6550,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823D270), .party = {.NoItemCustomMoves = sTrainerMons_823D270} }, [TRAINER_SWIMMER_FEMALE_AMARA] = { @@ -6562,7 +6562,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D2C0), .party = {.NoItemDefaultMoves = sTrainerMons_823D2C0} }, [TRAINER_SWIMMER_FEMALE_MARIA] = { @@ -6574,7 +6574,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D2D8), .party = {.NoItemDefaultMoves = sTrainerMons_823D2D8} }, [TRAINER_SWIMMER_FEMALE_ABIGAIL] = { @@ -6586,7 +6586,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D2E8), .party = {.NoItemDefaultMoves = sTrainerMons_823D2E8} }, [TRAINER_SWIMMER_MALE_FINN] = { @@ -6598,7 +6598,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D300), .party = {.NoItemDefaultMoves = sTrainerMons_823D300} }, [TRAINER_SWIMMER_MALE_GARRETT] = { @@ -6610,7 +6610,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D308), .party = {.NoItemDefaultMoves = sTrainerMons_823D308} }, [TRAINER_FISHERMAN_TOMMY] = { @@ -6622,7 +6622,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823D320), .party = {.NoItemDefaultMoves = sTrainerMons_823D320} }, [TRAINER_CRUSH_GIRL_TANYA] = { @@ -6634,7 +6634,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D348), .party = {.ItemDefaultMoves = sTrainerMons_823D348} }, [TRAINER_BLACK_BELT_SHEA] = { @@ -6646,7 +6646,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D358), .party = {.ItemDefaultMoves = sTrainerMons_823D358} }, [TRAINER_BLACK_BELT_HUGH] = { @@ -6658,7 +6658,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D368), .party = {.ItemDefaultMoves = sTrainerMons_823D368} }, [TRAINER_CAMPER_BRYCE] = { @@ -6670,7 +6670,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D378), .party = {.NoItemDefaultMoves = sTrainerMons_823D378} }, [TRAINER_PICNICKER_CLAIRE] = { @@ -6682,7 +6682,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823D390), .party = {.NoItemDefaultMoves = sTrainerMons_823D390} }, [TRAINER_CRUSH_KIN_MIK_KIA] = { @@ -6694,7 +6694,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D3B0), .party = {.ItemDefaultMoves = sTrainerMons_823D3B0} }, [TRAINER_AROMA_LADY_VIOLET] = { @@ -6706,7 +6706,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D3C0), .party = {.NoItemDefaultMoves = sTrainerMons_823D3C0} }, [TRAINER_TUBER_ALEXIS] = { @@ -6718,7 +6718,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823D3D8), .party = {.NoItemDefaultMoves = sTrainerMons_823D3D8} }, [TRAINER_TWINS_JOY_MEG] = { @@ -6730,7 +6730,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D3F8), .party = {.NoItemDefaultMoves = sTrainerMons_823D3F8} }, [TRAINER_SWIMMER_FEMALE_TISHA] = { @@ -6742,7 +6742,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D408), .party = {.NoItemDefaultMoves = sTrainerMons_823D408} }, [TRAINER_PAINTER_CELINA] = { @@ -6754,7 +6754,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D410), .party = {.NoItemCustomMoves = sTrainerMons_823D410} }, [TRAINER_PAINTER_RAYNA] = { @@ -6766,7 +6766,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D420), .party = {.NoItemCustomMoves = sTrainerMons_823D420} }, [TRAINER_LADY_GILLIAN] = { @@ -6778,7 +6778,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D430), .party = {.ItemDefaultMoves = sTrainerMons_823D430} }, [TRAINER_YOUNGSTER_DESTIN] = { @@ -6790,7 +6790,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D448), .party = {.NoItemDefaultMoves = sTrainerMons_823D448} }, [TRAINER_SWIMMER_MALE_TOBY] = { @@ -6802,7 +6802,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D458), .party = {.NoItemDefaultMoves = sTrainerMons_823D458} }, [TRAINER_TEAM_ROCKET_GRUNT_49] = { @@ -6814,7 +6814,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D470), .party = {.NoItemDefaultMoves = sTrainerMons_823D470} }, [TRAINER_TEAM_ROCKET_GRUNT_50] = { @@ -6826,7 +6826,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D488), .party = {.NoItemCustomMoves = sTrainerMons_823D488} }, [TRAINER_TEAM_ROCKET_GRUNT_51] = { @@ -6838,7 +6838,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D4A8), .party = {.NoItemDefaultMoves = sTrainerMons_823D4A8} }, [TRAINER_BIRD_KEEPER_MILO] = { @@ -6850,7 +6850,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D4C0), .party = {.NoItemDefaultMoves = sTrainerMons_823D4C0} }, [TRAINER_BIRD_KEEPER_CHAZ] = { @@ -6862,7 +6862,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D4D0), .party = {.NoItemDefaultMoves = sTrainerMons_823D4D0} }, [TRAINER_BIRD_KEEPER_HAROLD] = { @@ -6874,7 +6874,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D4E0), .party = {.NoItemDefaultMoves = sTrainerMons_823D4E0} }, [TRAINER_FISHERMAN_TYLOR] = { @@ -6886,7 +6886,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D4F0), .party = {.NoItemDefaultMoves = sTrainerMons_823D4F0} }, [TRAINER_SWIMMER_MALE_MYMO] = { @@ -6898,7 +6898,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D500), .party = {.NoItemDefaultMoves = sTrainerMons_823D500} }, [TRAINER_SWIMMER_FEMALE_NICOLE] = { @@ -6910,7 +6910,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D510), .party = {.NoItemDefaultMoves = sTrainerMons_823D510} }, [TRAINER_SIS_AND_BRO_AVA_GEB] = { @@ -6922,7 +6922,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D518), .party = {.NoItemDefaultMoves = sTrainerMons_823D518} }, [TRAINER_AROMA_LADY_ROSE] = { @@ -6934,7 +6934,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D528), .party = {.NoItemDefaultMoves = sTrainerMons_823D528} }, [TRAINER_SWIMMER_MALE_SAMIR] = { @@ -6946,7 +6946,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D538), .party = {.NoItemDefaultMoves = sTrainerMons_823D538} }, [TRAINER_SWIMMER_FEMALE_DENISE] = { @@ -6958,7 +6958,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D540), .party = {.NoItemDefaultMoves = sTrainerMons_823D540} }, [TRAINER_TWINS_MIU_MIA] = { @@ -6970,7 +6970,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D550), .party = {.NoItemDefaultMoves = sTrainerMons_823D550} }, [TRAINER_HIKER_EARL] = { @@ -6982,7 +6982,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D560), .party = {.NoItemDefaultMoves = sTrainerMons_823D560} }, [TRAINER_RUIN_MANIAC_FOSTER] = { @@ -6994,7 +6994,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D570), .party = {.NoItemDefaultMoves = sTrainerMons_823D570} }, [TRAINER_RUIN_MANIAC_LARRY] = { @@ -7006,7 +7006,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D578), .party = {.NoItemDefaultMoves = sTrainerMons_823D578} }, [TRAINER_HIKER_DARYL] = { @@ -7018,7 +7018,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D588), .party = {.NoItemDefaultMoves = sTrainerMons_823D588} }, [TRAINER_POKEMANIAC_HECTOR] = { @@ -7030,7 +7030,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D590), .party = {.NoItemDefaultMoves = sTrainerMons_823D590} }, [TRAINER_PSYCHIC_DARIO] = { @@ -7042,7 +7042,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D5A0), .party = {.NoItemCustomMoves = sTrainerMons_823D5A0} }, [TRAINER_PSYCHIC_RODETTE] = { @@ -7054,7 +7054,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D5B0), .party = {.NoItemCustomMoves = sTrainerMons_823D5B0} }, [TRAINER_AROMA_LADY_MIAH] = { @@ -7066,7 +7066,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D5E0), .party = {.NoItemDefaultMoves = sTrainerMons_823D5E0} }, [TRAINER_YOUNG_COUPLE_EVE_JON] = { @@ -7078,7 +7078,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D5F0), .party = {.NoItemDefaultMoves = sTrainerMons_823D5F0} }, [TRAINER_JUGGLER_MASON] = { @@ -7090,7 +7090,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823D600), .party = {.NoItemCustomMoves = sTrainerMons_823D600} }, [TRAINER_CRUSH_GIRL_CYNDY] = { @@ -7102,7 +7102,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D640), .party = {.ItemDefaultMoves = sTrainerMons_823D640} }, [TRAINER_CRUSH_GIRL_JOCELYN] = { @@ -7114,7 +7114,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D658), .party = {.ItemDefaultMoves = sTrainerMons_823D658} }, [TRAINER_TAMER_EVAN] = { @@ -7126,7 +7126,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D668), .party = {.NoItemDefaultMoves = sTrainerMons_823D668} }, [TRAINER_POKEMANIAC_MARK_2] = { @@ -7138,7 +7138,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D680), .party = {.NoItemDefaultMoves = sTrainerMons_823D680} }, [TRAINER_PKMN_RANGER_LOGAN] = { @@ -7150,7 +7150,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D690), .party = {.NoItemCustomMoves = sTrainerMons_823D690} }, [TRAINER_PKMN_RANGER_JACKSON] = { @@ -7162,7 +7162,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D6B0), .party = {.NoItemCustomMoves = sTrainerMons_823D6B0} }, [TRAINER_PKMN_RANGER_BETH] = { @@ -7174,7 +7174,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D6E0), .party = {.NoItemDefaultMoves = sTrainerMons_823D6E0} }, [TRAINER_PKMN_RANGER_KATELYN] = { @@ -7186,7 +7186,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D6F8), .party = {.NoItemCustomMoves = sTrainerMons_823D6F8} }, [TRAINER_COOLTRAINER_LEROY] = { @@ -7198,7 +7198,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823D708), .party = {.NoItemCustomMoves = sTrainerMons_823D708} }, [TRAINER_COOLTRAINER_MICHELLE] = { @@ -7210,7 +7210,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823D758), .party = {.NoItemCustomMoves = sTrainerMons_823D758} }, [TRAINER_COOL_COUPLE_LEX_NYA] = { @@ -7222,7 +7222,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D7A8), .party = {.NoItemCustomMoves = sTrainerMons_823D7A8} }, [TRAINER_RUIN_MANIAC_BRANDON] = { @@ -7234,7 +7234,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D7C8), .party = {.NoItemDefaultMoves = sTrainerMons_823D7C8} }, [TRAINER_RUIN_MANIAC_BENJAMIN] = { @@ -7246,7 +7246,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D7D0), .party = {.NoItemCustomMoves = sTrainerMons_823D7D0} }, [TRAINER_PAINTER_EDNA] = { @@ -7258,7 +7258,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D800), .party = {.NoItemCustomMoves = sTrainerMons_823D800} }, [TRAINER_GENTLEMAN_CLIFFORD] = { @@ -7270,7 +7270,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D810), .party = {.NoItemDefaultMoves = sTrainerMons_823D810} }, [TRAINER_LADY_SELPHY] = { @@ -7282,7 +7282,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D820), .party = {.ItemCustomMoves = sTrainerMons_823D820} }, [TRAINER_RUIN_MANIAC_LAWSON] = { @@ -7294,7 +7294,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D840), .party = {.NoItemDefaultMoves = sTrainerMons_823D840} }, [TRAINER_PSYCHIC_LAURA] = { @@ -7306,7 +7306,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D858), .party = {.NoItemDefaultMoves = sTrainerMons_823D858} }, [TRAINER_PKMN_BREEDER_BETHANY] = { @@ -7318,7 +7318,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D870), .party = {.NoItemDefaultMoves = sTrainerMons_823D870} }, [TRAINER_PKMN_BREEDER_ALLISON] = { @@ -7330,7 +7330,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D878), .party = {.NoItemDefaultMoves = sTrainerMons_823D878} }, [TRAINER_BUG_CATCHER_GARRET] = { @@ -7342,7 +7342,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D890), .party = {.NoItemDefaultMoves = sTrainerMons_823D890} }, [TRAINER_BUG_CATCHER_JONAH] = { @@ -7354,7 +7354,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823D898), .party = {.NoItemDefaultMoves = sTrainerMons_823D898} }, [TRAINER_BUG_CATCHER_VANCE] = { @@ -7366,7 +7366,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D8B8), .party = {.NoItemDefaultMoves = sTrainerMons_823D8B8} }, [TRAINER_YOUNGSTER_NASH] = { @@ -7378,7 +7378,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D8C8), .party = {.NoItemDefaultMoves = sTrainerMons_823D8C8} }, [TRAINER_YOUNGSTER_CORDELL] = { @@ -7390,7 +7390,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D8E0), .party = {.NoItemDefaultMoves = sTrainerMons_823D8E0} }, [TRAINER_LASS_DALIA] = { @@ -7402,7 +7402,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823D8F0), .party = {.NoItemDefaultMoves = sTrainerMons_823D8F0} }, [TRAINER_LASS_JOANA] = { @@ -7414,7 +7414,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D910), .party = {.NoItemDefaultMoves = sTrainerMons_823D910} }, [TRAINER_CAMPER_RILEY] = { @@ -7426,7 +7426,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D918), .party = {.NoItemDefaultMoves = sTrainerMons_823D918} }, [TRAINER_PICNICKER_MARCY] = { @@ -7438,7 +7438,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D928), .party = {.NoItemDefaultMoves = sTrainerMons_823D928} }, [TRAINER_RUIN_MANIAC_LAYTON] = { @@ -7450,7 +7450,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D940), .party = {.NoItemDefaultMoves = sTrainerMons_823D940} }, [TRAINER_PICNICKER_KELSEY_2] = { @@ -7462,7 +7462,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D958), .party = {.NoItemDefaultMoves = sTrainerMons_823D958} }, [TRAINER_PICNICKER_KELSEY_3] = { @@ -7474,7 +7474,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D968), .party = {.NoItemDefaultMoves = sTrainerMons_823D968} }, [TRAINER_PICNICKER_KELSEY_4] = { @@ -7486,7 +7486,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D978), .party = {.NoItemDefaultMoves = sTrainerMons_823D978} }, [TRAINER_CAMPER_RICKY_2] = { @@ -7498,7 +7498,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D988), .party = {.NoItemDefaultMoves = sTrainerMons_823D988} }, [TRAINER_CAMPER_RICKY_3] = { @@ -7510,7 +7510,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D990), .party = {.NoItemDefaultMoves = sTrainerMons_823D990} }, [TRAINER_CAMPER_RICKY_4] = { @@ -7522,7 +7522,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823D998), .party = {.NoItemDefaultMoves = sTrainerMons_823D998} }, [TRAINER_CAMPER_JEFF_2] = { @@ -7534,7 +7534,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D9A0), .party = {.NoItemDefaultMoves = sTrainerMons_823D9A0} }, [TRAINER_CAMPER_JEFF_3] = { @@ -7546,7 +7546,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D9B0), .party = {.NoItemDefaultMoves = sTrainerMons_823D9B0} }, [TRAINER_CAMPER_JEFF_4] = { @@ -7558,7 +7558,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823D9C0), .party = {.NoItemDefaultMoves = sTrainerMons_823D9C0} }, [TRAINER_PICNICKER_ISABELLE_2] = { @@ -7570,7 +7570,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D9D0), .party = {.NoItemDefaultMoves = sTrainerMons_823D9D0} }, [TRAINER_PICNICKER_ISABELLE_3] = { @@ -7582,7 +7582,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823D9E8), .party = {.NoItemDefaultMoves = sTrainerMons_823D9E8} }, [TRAINER_PICNICKER_ISABELLE_4] = { @@ -7594,7 +7594,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823DA00), .party = {.NoItemDefaultMoves = sTrainerMons_823DA00} }, [TRAINER_YOUNGSTER_YASU_2] = { @@ -7606,7 +7606,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823DA18), .party = {.NoItemDefaultMoves = sTrainerMons_823DA18} }, [TRAINER_YOUNGSTER_YASU_3] = { @@ -7618,7 +7618,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823DA30), .party = {.NoItemDefaultMoves = sTrainerMons_823DA30} }, [TRAINER_ENGINEER_BERNIE_2] = { @@ -7630,7 +7630,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823DA48), .party = {.NoItemDefaultMoves = sTrainerMons_823DA48} }, [TRAINER_GAMER_DARIAN_2] = { @@ -7642,7 +7642,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DA60), .party = {.NoItemDefaultMoves = sTrainerMons_823DA60} }, [TRAINER_CAMPER_CHRIS_2] = { @@ -7654,7 +7654,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DA70), .party = {.NoItemDefaultMoves = sTrainerMons_823DA70} }, [TRAINER_CAMPER_CHRIS_3] = { @@ -7666,7 +7666,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DA80), .party = {.NoItemDefaultMoves = sTrainerMons_823DA80} }, [TRAINER_CAMPER_CHRIS_4] = { @@ -7678,7 +7678,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DA90), .party = {.NoItemDefaultMoves = sTrainerMons_823DA90} }, [TRAINER_PICNICKER_ALICIA_2] = { @@ -7690,7 +7690,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823DAA0), .party = {.NoItemDefaultMoves = sTrainerMons_823DAA0} }, [TRAINER_PICNICKER_ALICIA_3] = { @@ -7702,7 +7702,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823DAA8), .party = {.NoItemDefaultMoves = sTrainerMons_823DAA8} }, [TRAINER_PICNICKER_ALICIA_4] = { @@ -7714,7 +7714,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823DAB0), .party = {.NoItemDefaultMoves = sTrainerMons_823DAB0} }, [TRAINER_HIKER_JEREMY_2] = { @@ -7726,7 +7726,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DAB8), .party = {.NoItemDefaultMoves = sTrainerMons_823DAB8} }, [TRAINER_POKEMANIAC_MARK_3] = { @@ -7738,7 +7738,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DAC8), .party = {.NoItemDefaultMoves = sTrainerMons_823DAC8} }, [TRAINER_POKEMANIAC_HERMAN_2] = { @@ -7750,7 +7750,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DAD8), .party = {.NoItemDefaultMoves = sTrainerMons_823DAD8} }, [TRAINER_POKEMANIAC_HERMAN_3] = { @@ -7762,7 +7762,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DAE8), .party = {.NoItemDefaultMoves = sTrainerMons_823DAE8} }, [TRAINER_HIKER_TRENT_2] = { @@ -7774,7 +7774,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DAF8), .party = {.NoItemDefaultMoves = sTrainerMons_823DAF8} }, [TRAINER_LASS_MEGAN_2] = { @@ -7786,7 +7786,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823DB08), .party = {.NoItemDefaultMoves = sTrainerMons_823DB08} }, [TRAINER_LASS_MEGAN_3] = { @@ -7798,7 +7798,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823DB30), .party = {.NoItemDefaultMoves = sTrainerMons_823DB30} }, [TRAINER_SUPER_NERD_GLENN_2] = { @@ -7810,7 +7810,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823DB58), .party = {.NoItemDefaultMoves = sTrainerMons_823DB58} }, [TRAINER_GAMER_RICH_2] = { @@ -7822,7 +7822,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DB70), .party = {.NoItemDefaultMoves = sTrainerMons_823DB70} }, [TRAINER_BIKER_JAREN_2] = { @@ -7834,7 +7834,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DB80), .party = {.NoItemDefaultMoves = sTrainerMons_823DB80} }, [TRAINER_FISHERMAN_ELLIOT_2] = { @@ -7846,7 +7846,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823DB90), .party = {.NoItemDefaultMoves = sTrainerMons_823DB90} }, [TRAINER_ROCKER_LUCA_2] = { @@ -7858,7 +7858,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DBB0), .party = {.NoItemDefaultMoves = sTrainerMons_823DBB0} }, [TRAINER_BEAUTY_SHEILA_2] = { @@ -7870,7 +7870,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DBC0), .party = {.NoItemDefaultMoves = sTrainerMons_823DBC0} }, [TRAINER_BIRD_KEEPER_ROBERT_2] = { @@ -7882,7 +7882,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823DBD0), .party = {.NoItemDefaultMoves = sTrainerMons_823DBD0} }, [TRAINER_BIRD_KEEPER_ROBERT_3] = { @@ -7894,7 +7894,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823DBF0), .party = {.NoItemDefaultMoves = sTrainerMons_823DBF0} }, [TRAINER_PICNICKER_SUSIE_2] = { @@ -7906,7 +7906,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823DC10), .party = {.NoItemDefaultMoves = sTrainerMons_823DC10} }, [TRAINER_PICNICKER_SUSIE_3] = { @@ -7918,7 +7918,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823DC38), .party = {.NoItemDefaultMoves = sTrainerMons_823DC38} }, [TRAINER_PICNICKER_SUSIE_4] = { @@ -7930,7 +7930,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823DC60), .party = {.NoItemDefaultMoves = sTrainerMons_823DC60} }, [TRAINER_BIKER_LUKAS_2] = { @@ -7942,7 +7942,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823DC88), .party = {.NoItemDefaultMoves = sTrainerMons_823DC88} }, [TRAINER_BIRD_KEEPER_BENNY_2] = { @@ -7954,7 +7954,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DCA8), .party = {.NoItemDefaultMoves = sTrainerMons_823DCA8} }, [TRAINER_BIRD_KEEPER_BENNY_3] = { @@ -7966,7 +7966,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DCB8), .party = {.NoItemDefaultMoves = sTrainerMons_823DCB8} }, [TRAINER_BIRD_KEEPER_MARLON_2] = { @@ -7978,7 +7978,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823DCC8), .party = {.NoItemDefaultMoves = sTrainerMons_823DCC8} }, [TRAINER_BIRD_KEEPER_MARLON_3] = { @@ -7990,7 +7990,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823DCE0), .party = {.NoItemDefaultMoves = sTrainerMons_823DCE0} }, [TRAINER_BEAUTY_GRACE_2] = { @@ -8002,7 +8002,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DCF8), .party = {.NoItemDefaultMoves = sTrainerMons_823DCF8} }, [TRAINER_BIRD_KEEPER_CHESTER_2] = { @@ -8014,7 +8014,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823DD08), .party = {.NoItemDefaultMoves = sTrainerMons_823DD08} }, [TRAINER_BIRD_KEEPER_CHESTER_3] = { @@ -8026,7 +8026,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823DD20), .party = {.NoItemDefaultMoves = sTrainerMons_823DD20} }, [TRAINER_PICNICKER_BECKY_2] = { @@ -8038,7 +8038,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DD38), .party = {.NoItemDefaultMoves = sTrainerMons_823DD38} }, [TRAINER_PICNICKER_BECKY_3] = { @@ -8050,7 +8050,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DD48), .party = {.NoItemDefaultMoves = sTrainerMons_823DD48} }, [TRAINER_PICNICKER_BECKY_4] = { @@ -8062,7 +8062,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DD58), .party = {.NoItemDefaultMoves = sTrainerMons_823DD58} }, [TRAINER_CRUSH_KIN_RON_MYA_2] = { @@ -8074,7 +8074,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DD68), .party = {.ItemDefaultMoves = sTrainerMons_823DD68} }, [TRAINER_CRUSH_KIN_RON_MYA_3] = { @@ -8086,7 +8086,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DD78), .party = {.ItemDefaultMoves = sTrainerMons_823DD78} }, [TRAINER_CRUSH_KIN_RON_MYA_4] = { @@ -8098,7 +8098,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DD88), .party = {.ItemDefaultMoves = sTrainerMons_823DD88} }, [TRAINER_BIKER_RUBEN_2] = { @@ -8110,7 +8110,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823DD98), .party = {.NoItemDefaultMoves = sTrainerMons_823DD98} }, [TRAINER_CUE_BALL_CAMRON_2] = { @@ -8122,7 +8122,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DDB0), .party = {.NoItemDefaultMoves = sTrainerMons_823DDB0} }, [TRAINER_BIKER_JAXON_2] = { @@ -8134,7 +8134,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DDC0), .party = {.NoItemDefaultMoves = sTrainerMons_823DDC0} }, [TRAINER_CUE_BALL_ISAIAH_2] = { @@ -8146,7 +8146,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DDD0), .party = {.NoItemDefaultMoves = sTrainerMons_823DDD0} }, [TRAINER_CUE_BALL_COREY_2] = { @@ -8158,7 +8158,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DDE0), .party = {.NoItemDefaultMoves = sTrainerMons_823DDE0} }, [TRAINER_BIRD_KEEPER_JACOB_2] = { @@ -8170,7 +8170,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823DDF0), .party = {.NoItemDefaultMoves = sTrainerMons_823DDF0} }, [TRAINER_BIRD_KEEPER_JACOB_3] = { @@ -8182,7 +8182,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823DE10), .party = {.NoItemDefaultMoves = sTrainerMons_823DE10} }, [TRAINER_SWIMMER_FEMALE_ALICE_2] = { @@ -8194,7 +8194,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DE30), .party = {.NoItemDefaultMoves = sTrainerMons_823DE30} }, [TRAINER_SWIMMER_MALE_DARRIN_2] = { @@ -8206,7 +8206,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823DE40), .party = {.NoItemDefaultMoves = sTrainerMons_823DE40} }, [TRAINER_PICNICKER_MISSY_2] = { @@ -8218,7 +8218,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DE60), .party = {.NoItemDefaultMoves = sTrainerMons_823DE60} }, [TRAINER_PICNICKER_MISSY_3] = { @@ -8230,7 +8230,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DE70), .party = {.NoItemDefaultMoves = sTrainerMons_823DE70} }, [TRAINER_FISHERMAN_WADE_2] = { @@ -8242,7 +8242,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 6, + .partySize = NELEMS(sTrainerMons_823DE80), .party = {.NoItemDefaultMoves = sTrainerMons_823DE80} }, [TRAINER_SWIMMER_MALE_JACK_2] = { @@ -8254,7 +8254,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823DEB0), .party = {.NoItemDefaultMoves = sTrainerMons_823DEB0} }, [TRAINER_SIS_AND_BRO_LIL_IAN_2] = { @@ -8266,7 +8266,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DEB8), .party = {.NoItemDefaultMoves = sTrainerMons_823DEB8} }, [TRAINER_SIS_AND_BRO_LIL_IAN_3] = { @@ -8278,7 +8278,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DEC8), .party = {.NoItemDefaultMoves = sTrainerMons_823DEC8} }, [TRAINER_SWIMMER_MALE_FINN_2] = { @@ -8290,7 +8290,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823DED8), .party = {.NoItemDefaultMoves = sTrainerMons_823DED8} }, [TRAINER_CRUSH_GIRL_SHARON_2] = { @@ -8302,7 +8302,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DEE0), .party = {.ItemDefaultMoves = sTrainerMons_823DEE0} }, [TRAINER_CRUSH_GIRL_SHARON_3] = { @@ -8314,7 +8314,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DEF0), .party = {.ItemDefaultMoves = sTrainerMons_823DEF0} }, [TRAINER_CRUSH_GIRL_TANYA_2] = { @@ -8326,7 +8326,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DF00), .party = {.ItemDefaultMoves = sTrainerMons_823DF00} }, [TRAINER_CRUSH_GIRL_TANYA_3] = { @@ -8338,7 +8338,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DF10), .party = {.ItemDefaultMoves = sTrainerMons_823DF10} }, [TRAINER_BLACK_BELT_SHEA_2] = { @@ -8350,7 +8350,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DF20), .party = {.ItemDefaultMoves = sTrainerMons_823DF20} }, [TRAINER_BLACK_BELT_SHEA_3] = { @@ -8362,7 +8362,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DF30), .party = {.ItemDefaultMoves = sTrainerMons_823DF30} }, [TRAINER_BLACK_BELT_HUGH_2] = { @@ -8374,7 +8374,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DF40), .party = {.ItemDefaultMoves = sTrainerMons_823DF40} }, [TRAINER_BLACK_BELT_HUGH_3] = { @@ -8386,7 +8386,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DF50), .party = {.ItemDefaultMoves = sTrainerMons_823DF50} }, [TRAINER_CRUSH_KIN_MIK_KIA_2] = { @@ -8398,7 +8398,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DF60), .party = {.ItemDefaultMoves = sTrainerMons_823DF60} }, [TRAINER_CRUSH_KIN_MIK_KIA_3] = { @@ -8410,7 +8410,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DF70), .party = {.ItemDefaultMoves = sTrainerMons_823DF70} }, [TRAINER_TUBER_AMIRA_2] = { @@ -8422,7 +8422,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823DF80), .party = {.NoItemDefaultMoves = sTrainerMons_823DF80} }, [TRAINER_TWINS_JOY_MEG_2] = { @@ -8434,7 +8434,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DF98), .party = {.NoItemDefaultMoves = sTrainerMons_823DF98} }, [TRAINER_PAINTER_RAYNA_2] = { @@ -8446,7 +8446,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823DFA8), .party = {.NoItemCustomMoves = sTrainerMons_823DFA8} }, [TRAINER_YOUNGSTER_DESTIN_2] = { @@ -8458,7 +8458,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DFB8), .party = {.NoItemDefaultMoves = sTrainerMons_823DFB8} }, [TRAINER_PKMN_BREEDER_ALIZE_2] = { @@ -8470,7 +8470,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823DFC8), .party = {.NoItemDefaultMoves = sTrainerMons_823DFC8} }, [TRAINER_YOUNG_COUPLE_GIA_JES_2] = { @@ -8482,7 +8482,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DFE0), .party = {.NoItemDefaultMoves = sTrainerMons_823DFE0} }, [TRAINER_YOUNG_COUPLE_GIA_JES_3] = { @@ -8494,7 +8494,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823DFF0), .party = {.NoItemDefaultMoves = sTrainerMons_823DFF0} }, [TRAINER_BIRD_KEEPER_MILO_2] = { @@ -8506,7 +8506,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E000), .party = {.NoItemDefaultMoves = sTrainerMons_823E000} }, [TRAINER_BIRD_KEEPER_CHAZ_2] = { @@ -8518,7 +8518,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E010), .party = {.NoItemDefaultMoves = sTrainerMons_823E010} }, [TRAINER_BIRD_KEEPER_HAROLD_2] = { @@ -8530,7 +8530,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E020), .party = {.NoItemDefaultMoves = sTrainerMons_823E020} }, [TRAINER_SWIMMER_FEMALE_NICOLE_2] = { @@ -8542,7 +8542,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823E030), .party = {.NoItemDefaultMoves = sTrainerMons_823E030} }, [TRAINER_PSYCHIC_JACLYN_2] = { @@ -8554,7 +8554,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823E038), .party = {.NoItemCustomMoves = sTrainerMons_823E038} }, [TRAINER_SWIMMER_MALE_SAMIR_2] = { @@ -8566,7 +8566,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823E068), .party = {.NoItemDefaultMoves = sTrainerMons_823E068} }, [TRAINER_HIKER_EARL_2] = { @@ -8578,7 +8578,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E070), .party = {.NoItemDefaultMoves = sTrainerMons_823E070} }, [TRAINER_RUIN_MANIAC_LARRY_2] = { @@ -8590,7 +8590,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E080), .party = {.NoItemDefaultMoves = sTrainerMons_823E080} }, [TRAINER_POKEMANIAC_HECTOR_2] = { @@ -8602,7 +8602,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E090), .party = {.NoItemDefaultMoves = sTrainerMons_823E090} }, [TRAINER_PSYCHIC_DARIO_2] = { @@ -8614,7 +8614,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823E0A0), .party = {.NoItemCustomMoves = sTrainerMons_823E0A0} }, [TRAINER_PSYCHIC_RODETTE_2] = { @@ -8626,7 +8626,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823E0B0), .party = {.NoItemCustomMoves = sTrainerMons_823E0B0} }, [TRAINER_JUGGLER_MASON_2] = { @@ -8638,7 +8638,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 4, + .partySize = NELEMS(sTrainerMons_823E0E0), .party = {.NoItemDefaultMoves = sTrainerMons_823E0E0} }, [TRAINER_PKMN_RANGER_NICOLAS_2] = { @@ -8650,7 +8650,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E100), .party = {.NoItemCustomMoves = sTrainerMons_823E100} }, [TRAINER_PKMN_RANGER_MADELINE_2] = { @@ -8662,7 +8662,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E120), .party = {.NoItemCustomMoves = sTrainerMons_823E120} }, [TRAINER_CRUSH_GIRL_CYNDY_2] = { @@ -8674,7 +8674,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823E140), .party = {.ItemDefaultMoves = sTrainerMons_823E140} }, [TRAINER_TAMER_EVAN_2] = { @@ -8686,7 +8686,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823E158), .party = {.NoItemDefaultMoves = sTrainerMons_823E158} }, [TRAINER_PKMN_RANGER_JACKSON_2] = { @@ -8698,7 +8698,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823E170), .party = {.NoItemCustomMoves = sTrainerMons_823E170} }, [TRAINER_PKMN_RANGER_KATELYN_2] = { @@ -8710,7 +8710,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 1, + .partySize = NELEMS(sTrainerMons_823E1A0), .party = {.NoItemCustomMoves = sTrainerMons_823E1A0} }, [TRAINER_COOLTRAINER_LEROY_2] = { @@ -8722,7 +8722,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823E1B0), .party = {.NoItemCustomMoves = sTrainerMons_823E1B0} }, [TRAINER_COOLTRAINER_MICHELLE_2] = { @@ -8734,7 +8734,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823E200), .party = {.NoItemCustomMoves = sTrainerMons_823E200} }, [TRAINER_COOL_COUPLE_LEX_NYA_2] = { @@ -8746,7 +8746,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = TRUE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E250), .party = {.NoItemCustomMoves = sTrainerMons_823E250} }, [TRAINER_BUG_CATCHER_COLTON_2] = { @@ -8758,7 +8758,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823E270), .party = {.NoItemDefaultMoves = sTrainerMons_823E270} }, [TRAINER_BUG_CATCHER_COLTON_3] = { @@ -8770,7 +8770,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823E288), .party = {.NoItemDefaultMoves = sTrainerMons_823E288} }, [TRAINER_BUG_CATCHER_COLTON_4] = { @@ -8782,7 +8782,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 3, + .partySize = NELEMS(sTrainerMons_823E2A0), .party = {.NoItemDefaultMoves = sTrainerMons_823E2A0} }, [TRAINER_SWIMMER_MALE_MATTHEW_2] = { @@ -8794,7 +8794,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E2B8), .party = {.NoItemDefaultMoves = sTrainerMons_823E2B8} }, [TRAINER_SWIMMER_MALE_TONY_2] = { @@ -8806,7 +8806,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E2C8), .party = {.NoItemDefaultMoves = sTrainerMons_823E2C8} }, [TRAINER_SWIMMER_FEMALE_MELISSA_2] = { @@ -8818,7 +8818,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E2D8), .party = {.NoItemDefaultMoves = sTrainerMons_823E2D8} }, [TRAINER_ELITE_FOUR_LORELEI_2] = { @@ -8830,7 +8830,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823E2E8), .party = {.ItemCustomMoves = sTrainerMons_823E2E8} }, [TRAINER_ELITE_FOUR_BRUNO_2] = { @@ -8842,7 +8842,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823E338), .party = {.ItemCustomMoves = sTrainerMons_823E338} }, [TRAINER_ELITE_FOUR_AGATHA_2] = { @@ -8854,7 +8854,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823E388), .party = {.ItemCustomMoves = sTrainerMons_823E388} }, [TRAINER_ELITE_FOUR_LANCE_2] = { @@ -8866,7 +8866,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 5, + .partySize = NELEMS(sTrainerMons_823E3D8), .party = {.ItemCustomMoves = sTrainerMons_823E3D8} }, [TRAINER_CHAMPION_REMATCH_SQUIRTLE] = { @@ -8878,7 +8878,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 6, + .partySize = NELEMS(sTrainerMons_823E428), .party = {.ItemCustomMoves = sTrainerMons_823E428} }, [TRAINER_CHAMPION_REMATCH_BULBASAUR] = { @@ -8890,7 +8890,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 6, + .partySize = NELEMS(sTrainerMons_823E488), .party = {.ItemCustomMoves = sTrainerMons_823E488} }, [TRAINER_CHAMPION_REMATCH_CHARMANDER] = { @@ -8902,7 +8902,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .partySize = 6, + .partySize = NELEMS(sTrainerMons_823E4E8), .party = {.ItemCustomMoves = sTrainerMons_823E4E8} }, [TRAINER_CUE_BALL_PAXTON] = { @@ -8914,7 +8914,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .partySize = 2, + .partySize = NELEMS(sTrainerMons_823E548), .party = {.NoItemDefaultMoves = sTrainerMons_823E548} }, }; diff --git a/src/daycare.c b/src/daycare.c index 277a382c7..0a19c6c9b 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -1,7 +1,6 @@ #include "global.h" #include "gflib.h" #include "battle.h" -#include "daycare.h" #include "constants/species.h" #include "constants/items.h" #include "mail_data.h" @@ -29,7 +28,7 @@ #include "field_fadetransition.h" #include "trade.h" #include "constants/daycare.h" -#include "constants/region_map.h" +#include "constants/region_map_sections.h" // Combination of RSE's Day-Care (re-used on Four Island), FRLG's Day-Care, and egg_hatch.c @@ -1816,7 +1815,7 @@ static void CB2_EggHatch_0(void) break; case 2: DecompressAndLoadBgGfxUsingHeap(0, gBattleTextboxTiles, 0, 0, 0); - CopyToBgTilemapBuffer(0, gFile_graphics_interface_menu_map_tilemap, 0, 0); + CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0); LoadCompressedPalette(gBattleTextboxPalette, 0, 0x20); gMain.state++; break; @@ -1968,7 +1967,7 @@ static void CB2_EggHatch_1(void) species = GetMonData(&gPlayerParty[sEggHatchData->eggPartyID], MON_DATA_SPECIES); gender = GetMonGender(&gPlayerParty[sEggHatchData->eggPartyID]); personality = GetMonData(&gPlayerParty[sEggHatchData->eggPartyID], MON_DATA_PERSONALITY, 0); - DoNamingScreen(3, gStringVar3, species, gender, personality, EggHatchSetMonNickname); + DoNamingScreen(NAMING_SCREEN_NAME_RATER, gStringVar3, species, gender, personality, EggHatchSetMonNickname); break; case 1: case -1: diff --git a/src/decompress.c b/src/decompress.c index caeda738a..3f0c82bce 100644 --- a/src/decompress.c +++ b/src/decompress.c @@ -2,7 +2,6 @@ #include "malloc.h" #include "decompress.h" #include "pokemon.h" -#include "text.h" #include "constants/species.h" extern const struct CompressedSpriteSheet gMonFrontPicTable[]; diff --git a/src/digit_obj_util.c b/src/digit_obj_util.c new file mode 100644 index 000000000..82af5dcab --- /dev/null +++ b/src/digit_obj_util.c @@ -0,0 +1,452 @@ +#include "global.h" +#include "malloc.h" +#include "decompress.h" +#include "digit_obj_util.h" +#include "main.h" + +struct DigitPrinterAlloc +{ + u32 count; + struct DigitPrinter + { + bool8 isActive; + u8 firstOamId; + u8 strConvMode; + u8 oamCount; + u8 palTagIndex; + u8 size; + u8 shape; + u8 priority; + u8 xDelta; + u8 tilesPerImage; + u16 tileStart; + s16 x; + s16 y; + u16 tileTag; + u16 palTag; + u32 pow10; + s32 lastPrinted; + } *array; +}; + +// this file's functions +static u8 GetFirstOamId(u8 oamCount); +static void CopyWorkToOam(struct DigitPrinter *objWork); +static void DrawNumObjsLeadingZeros(struct DigitPrinter *objWork, s32 num, bool32 sign); +static void DrawNumObjsMinusInFront(struct DigitPrinter *objWork, s32 num, bool32 sign); +static void DrawNumObjsMinusInBack(struct DigitPrinter *objWork, s32 num, bool32 sign); +static bool32 SharesTileWithAnyActive(u32 id); +static bool32 SharesPalWithAnyActive(u32 id); +static u8 GetTilesPerImage(u32 shape, u32 size); + +// ewram +static EWRAM_DATA struct DigitPrinterAlloc *sOamWork = {0}; + +// const rom data +static const u8 sTilesPerImage[4][4] = +{ + [ST_OAM_SQUARE] = { + [ST_OAM_SIZE_0] = 0x01, // SPRITE_SIZE_8x8 + [ST_OAM_SIZE_1] = 0x04, // SPRITE_SIZE_16x16 + [ST_OAM_SIZE_2] = 0x10, // SPRITE_SIZE_32x32 + [ST_OAM_SIZE_3] = 0x40 // SPRITE_SIZE_64x64 + }, + [ST_OAM_H_RECTANGLE] = { + [ST_OAM_SIZE_0] = 0x02, // SPRITE_SIZE_16x8 + [ST_OAM_SIZE_1] = 0x04, // SPRITE_SIZE_32x8 + [ST_OAM_SIZE_2] = 0x08, // SPRITE_SIZE_32x16 + [ST_OAM_SIZE_3] = 0x20 // SPRITE_SIZE_64x32 + }, + [ST_OAM_V_RECTANGLE] = { + [ST_OAM_SIZE_0] = 0x02, // SPRITE_SIZE_8x16 + [ST_OAM_SIZE_1] = 0x04, // SPRITE_SIZE_8x32 + [ST_OAM_SIZE_2] = 0x08, // SPRITE_SIZE_16x32 + [ST_OAM_SIZE_3] = 0x20 // SPRITE_SIZE_32x64 + } +}; + +const u16 gUnknown_8479668[] = INCBIN_U16("graphics/misc/unk_8479688.gbapal"); +const u32 gUnknown_8479688[] = INCBIN_U32("graphics/misc/unk_8479688.4bpp.lz"); +const u32 gUnknown_8479748[] = INCBIN_U32("graphics/misc/unk_8479748.4bpp.lz"); + +// code +bool32 DigitObjUtil_Init(u32 count) +{ + u32 i; + + if (sOamWork != NULL) + DigitObjUtil_Teardown(); + + sOamWork = Alloc(sizeof(*sOamWork)); + if (sOamWork == NULL) + return FALSE; + + sOamWork->array = Alloc(sizeof(struct DigitPrinter) * count); + if (sOamWork->array == NULL) + { + Free(sOamWork); + return FALSE; + } + + sOamWork->count = count; + for (i = 0; i < count; i++) + { + sOamWork->array[i].isActive = FALSE; + sOamWork->array[i].firstOamId = 0xFF; + } + + return TRUE; +} + +void DigitObjUtil_Teardown(void) +{ + if (sOamWork != NULL) + { + if (sOamWork->array != NULL) + { + u32 i; + + for (i = 0; i < sOamWork->count; i++) + DigitObjUtil_DeletePrinter(i); + + Free(sOamWork->array); + } + + FREE_AND_SET_NULL(sOamWork); + } +} + +bool32 DigitObjUtil_CreatePrinter(u32 id, s32 num, const struct DigitObjUtilTemplate *template) +{ + u32 i; + + if (sOamWork == NULL) + return FALSE; + if (sOamWork->array[id].isActive) + return FALSE; + + sOamWork->array[id].firstOamId = GetFirstOamId(template->oamCount); + if (sOamWork->array[id].firstOamId == 0xFF) + return FALSE; + + sOamWork->array[id].tileStart = GetSpriteTileStartByTag(template->spriteSheet.uncompressed->tag); + if (sOamWork->array[id].tileStart == 0xFFFF) + { + if (template->spriteSheet.uncompressed->size != 0) + { + sOamWork->array[id].tileStart = LoadSpriteSheet(template->spriteSheet.uncompressed); + } + else + { + struct CompressedSpriteSheet compObjectPic; + + compObjectPic = *template->spriteSheet.compressed; + compObjectPic.size = GetDecompressedDataSize((const void *)template->spriteSheet.compressed->data); + sOamWork->array[id].tileStart = LoadCompressedSpriteSheet(&compObjectPic); + } + + if (sOamWork->array[id].tileStart == 0xFFFF) + return FALSE; + } + + sOamWork->array[id].palTagIndex = IndexOfSpritePaletteTag(template->spritePal->tag); + if (sOamWork->array[id].palTagIndex == 0xFF) + sOamWork->array[id].palTagIndex = LoadSpritePalette(template->spritePal); + + sOamWork->array[id].strConvMode = template->strConvMode; + sOamWork->array[id].oamCount = template->oamCount; + sOamWork->array[id].x = template->x; + sOamWork->array[id].y = template->y; + sOamWork->array[id].shape = template->shape; + sOamWork->array[id].size = template->size; + sOamWork->array[id].priority = template->priority; + sOamWork->array[id].xDelta = template->xDelta; + sOamWork->array[id].tilesPerImage = GetTilesPerImage(template->shape, template->size); + sOamWork->array[id].tileTag = template->spriteSheet.uncompressed->tag; + sOamWork->array[id].palTag = template->spritePal->tag; + sOamWork->array[id].isActive = TRUE; + + // Decimal left shift + sOamWork->array[id].pow10 = 1; + for (i = 1; i < template->oamCount; i++) + sOamWork->array[id].pow10 *= 10; + + CopyWorkToOam(&sOamWork->array[id]); + DigitObjUtil_PrintNumOn(id, num); + + return TRUE; +} + +static void CopyWorkToOam(struct DigitPrinter *objWork) +{ + u32 i; + u32 oamId = objWork->firstOamId; + u32 x = objWork->x; + u32 oamCount = objWork->oamCount + 1; + + CpuFill16(0, &gMain.oamBuffer[oamId], sizeof(struct OamData) * oamCount); + for (i = 0, oamId = objWork->firstOamId; i < oamCount; i++, oamId++) + { + gMain.oamBuffer[oamId].y = objWork->y; + gMain.oamBuffer[oamId].x = x; + gMain.oamBuffer[oamId].shape = objWork->shape; + gMain.oamBuffer[oamId].size = objWork->size; + gMain.oamBuffer[oamId].tileNum = objWork->tileStart; + gMain.oamBuffer[oamId].priority = objWork->priority; + gMain.oamBuffer[oamId].paletteNum = objWork->palTagIndex; + + x += objWork->xDelta; + } + + oamId--; + gMain.oamBuffer[oamId].x = objWork->x - objWork->xDelta; + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; + gMain.oamBuffer[oamId].tileNum = objWork->tileStart + (objWork->tilesPerImage * 10); +} + +void DigitObjUtil_PrintNumOn(u32 id, s32 num) +{ + bool32 sign; + + if (sOamWork == NULL) + return; + if (!sOamWork->array[id].isActive) + return; + + sOamWork->array[id].lastPrinted = num; + if (num < 0) + { + sign = TRUE; + num *= -1; + } + else + { + sign = FALSE; + } + + switch (sOamWork->array[id].strConvMode) + { + case 0: + default: + DrawNumObjsLeadingZeros(&sOamWork->array[id], num, sign); + break; + case 1: + DrawNumObjsMinusInFront(&sOamWork->array[id], num, sign); + break; + case 2: + DrawNumObjsMinusInBack(&sOamWork->array[id], num, sign); + break; + } +} + +static void DrawNumObjsLeadingZeros(struct DigitPrinter *objWork, s32 num, bool32 sign) +{ + u32 pow10 = objWork->pow10; + u32 oamId = objWork->firstOamId; + + while (pow10 != 0) + { + u32 digit = num / pow10; + num -= (digit * pow10); + pow10 /= 10; + + gMain.oamBuffer[oamId].tileNum = (digit * objWork->tilesPerImage) + objWork->tileStart; + oamId++; + } + + if (sign) + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_OFF; + else + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; +} + +static void DrawNumObjsMinusInFront(struct DigitPrinter *objWork, s32 num, bool32 sign) +{ + u32 pow10 = objWork->pow10; + static int oamId; + static int curDigit; + static int firstDigit; + + oamId = objWork->firstOamId; + curDigit = 0; + firstDigit = -1; + + while (pow10 != 0) + { + u32 digit = num / pow10; + num -= (digit * pow10); + pow10 /= 10; + + if (digit != 0 || firstDigit != -1 || pow10 == 0) + { + gMain.oamBuffer[oamId].tileNum = (digit * objWork->tilesPerImage) + objWork->tileStart; + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_OFF; + + if (firstDigit == -1) + firstDigit = curDigit; + } + else + { + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; + } + + oamId++; + curDigit++; + } + + if (sign) + { + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_OFF; + gMain.oamBuffer[oamId].x = objWork->x + ((firstDigit - 1) * objWork->xDelta); + } + else + { + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; + } +} + +static void DrawNumObjsMinusInBack(struct DigitPrinter *objWork, s32 num, bool32 sign) +{ + u32 pow10 = objWork->pow10; + u32 oamId = objWork->firstOamId; + u32 printingDigits = 0; + s32 nsprites = 0; + + while (pow10 != 0) + { + u32 digit = num / pow10; + num -= (digit * pow10); + pow10 /= 10; + + if (digit != 0 || printingDigits != 0 || pow10 == 0) + { + printingDigits = 1; + gMain.oamBuffer[oamId].tileNum = (digit * objWork->tilesPerImage) + objWork->tileStart; + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_OFF; + + oamId++; + nsprites++; + } + } + + while (nsprites < objWork->oamCount) + { + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; + oamId++; + nsprites++; + } + + if (sign) + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_OFF; + else + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; +} + +void DigitObjUtil_DeletePrinter(u32 id) +{ + s32 oamId, oamCount, i; + + if (sOamWork == NULL) + return; + if (!sOamWork->array[id].isActive) + return; + + oamCount = sOamWork->array[id].oamCount + 1; + oamId = sOamWork->array[id].firstOamId; + + for (i = 0; i < oamCount; i++, oamId++) + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; + + if (!SharesTileWithAnyActive(id)) + FreeSpriteTilesByTag(sOamWork->array[id].tileTag); + if (!SharesPalWithAnyActive(id)) + FreeSpritePaletteByTag(sOamWork->array[id].palTag); + + sOamWork->array[id].isActive = FALSE; +} + +void DigitObjUtil_HideOrShow(u32 id, bool32 hide) +{ + s32 oamId, oamCount, i; + + if (sOamWork == NULL) + return; + if (!sOamWork->array[id].isActive) + return; + + oamCount = sOamWork->array[id].oamCount + 1; + oamId = sOamWork->array[id].firstOamId; + if (hide) + { + for (i = 0; i < oamCount; i++, oamId++) + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_ERASE; + } + else + { + for (i = 0; i < oamCount; i++, oamId++) + gMain.oamBuffer[oamId].affineMode = ST_OAM_AFFINE_OFF; + + DigitObjUtil_PrintNumOn(id, sOamWork->array[id].lastPrinted); + } +} + +static u8 GetFirstOamId(u8 oamCount) +{ + u32 i; + u16 firstOamId = 64; + + for (i = 0; i < sOamWork->count; i++) + { + if (!sOamWork->array[i].isActive) + { + if (sOamWork->array[i].firstOamId != 0xFF && sOamWork->array[i].oamCount <= oamCount) + return sOamWork->array[i].firstOamId; + } + else + { + firstOamId += 1 + sOamWork->array[i].oamCount; + } + } + + if (firstOamId + oamCount + 1 > 128) + return 0xFF; + else + return firstOamId; +} + +static bool32 SharesTileWithAnyActive(u32 id) +{ + u32 i; + + for (i = 0; i < sOamWork->count; i++) + { + if (sOamWork->array[i].isActive && i != id + && sOamWork->array[i].tileTag == sOamWork->array[id].tileTag) + { + return TRUE; + } + } + + return FALSE; +} + +static bool32 SharesPalWithAnyActive(u32 id) +{ + u32 i; + + for (i = 0; i < sOamWork->count; i++) + { + if (sOamWork->array[i].isActive && i != id + && sOamWork->array[i].palTag == sOamWork->array[id].palTag) + { + return TRUE; + } + } + + return FALSE; +} + +static u8 GetTilesPerImage(u32 shape, u32 size) +{ + return sTilesPerImage[shape][size]; +} diff --git a/src/diploma.c b/src/diploma.c index afb22400b..f702eebd5 100644 --- a/src/diploma.c +++ b/src/diploma.c @@ -4,7 +4,6 @@ #include "dynamic_placeholder_text_util.h" #include "gba/macro.h" #include "gpu_regs.h" -#include "gpu_regs.h" #include "main.h" #include "malloc.h" #include "menu.h" @@ -19,7 +18,6 @@ #include "task.h" #include "text.h" #include "window.h" -#include "diploma.h" struct Diploma { diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c index 1860f1917..ea6d46df2 100644 --- a/src/dodrio_berry_picking.c +++ b/src/dodrio_berry_picking.c @@ -1,162 +1,145 @@ #include "global.h" -#include "bg.h" +#include "gflib.h" +#include "dodrio_berry_picking.h" +#include "event_data.h" +#include "item.h" +#include "link.h" +#include "link_rfu.h" +#include "m4a.h" +#include "minigame_countdown.h" +#include "random.h" +#include "script.h" #include "strings.h" -#include "window.h" +#include "task.h" +#include "text_window.h" +#include "constants/songs.h" +#include "constants/fanfares.h" +#include "constants/items.h" +#include "constants/species.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); +struct DodrioStruct +{ + /*0x0000*/ void (*savedCallback)(void); + /*0x0004*/ u8 ALIGNED(4) unk04; + /*0x0008*/ u8 ALIGNED(4) unk08; + /*0x000C*/ u8 ALIGNED(4) unk0C; + /*0x0010*/ u8 ALIGNED(4) unk10; + /*0x0014*/ u8 ALIGNED(4) unk14; + /*0x0018*/ u8 ALIGNED(4) unk18; + /*0x001C*/ u8 ALIGNED(4) unk1C; + /*0x0020*/ u8 ALIGNED(4) unk20; + /*0x0024*/ u8 ALIGNED(4) unk24; + /*0x0028*/ u8 ALIGNED(4) multiplayerId; + /*0x0030*/ u8 ALIGNED(8) unk30; + /*0x0034*/ u8 ALIGNED(4) unk34[5]; + /*0x003C*/ u8 ALIGNED(4) unk3C; + /*0x0040*/ u8 ALIGNED(4) unk40; + /*0x0044*/ u8 ALIGNED(4) unk44; + /*0x0048*/ u8 ALIGNED(4) unk48; + /*0x004A*/ u16 unk4A[5][6]; + /*0x0086*/ u16 unk86[5]; + /*0x0090*/ u8 ALIGNED(4) unk90[5]; + /*0x0098*/ u8 ALIGNED(4) unk98[4]; + /*0x009C*/ u8 ALIGNED(4) unk9C[11]; + /*0x00A8*/ u8 ALIGNED(4) unkA8[5]; + /*0x00B0*/ u8 ALIGNED(4) unkB0[5]; + /*0x00B8*/ u8 ALIGNED(4) unkB8[11]; + /*0x00C4*/ u8 ALIGNED(4) unkC4[11]; + /*0x00D0*/ u8 ALIGNED(4) unkD0[11]; + /*0x00DC*/ u8 ALIGNED(4) unkDC[11]; + /*0x00E8*/ u8 ALIGNED(4) unkE8[11]; + /*0x00F4*/ u8 ALIGNED(4) unkF4[11][2]; + /*0x010C*/ u8 ALIGNED(4) unk10C[5]; + /*0x0112*/ u16 unk112; + /*0x0114*/ u16 unk114; + /*0x0118*/ u32 unk118; + /*0x011C*/ u32 unk11C; + /*0x0120*/ u32 unk120; + /*0x0124*/ u8 ALIGNED(4) unk124; + /*0x0128*/ u8 ALIGNED(4) unk128; + /*0x012C*/ u32 unk12C; + /*0x0130*/ u32 unk130[5]; + /*0x0144*/ u8 ALIGNED(4) unk144; + /*0x0148*/ u8 ALIGNED(4) unk148[11]; + /*0x0154*/ u8 ALIGNED(4) unk154; + /*0x0158*/ u8 ALIGNED(4) unk158[5]; + /*0x0160*/ struct DodrioSubstruct_0160 unk160; + /*0x318C*/ struct DodrioSubstruct_318C unk318C[5]; + /*0x31A0*/ struct DodrioSubstruct_31A0 unk31A0[5]; + /*0x32CC*/ struct DodrioSubstruct_31A0 unk32CC; + /*0x3308*/ struct DodrioSubstruct_3308 unk3308[5]; +}; // size = 0x3330 + +static EWRAM_DATA struct DodrioStruct * gUnknown_203F3E0 = NULL; + +static bool32 gUnknown_3002044; + +static void sub_81508D8(void); +static void sub_81508EC(struct DodrioStruct * dodrio); +static void sub_8150A84(u8 taskId); +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_8150E68(void); +static void sub_8150F40(void); +static void sub_8150FC4(void); +static void sub_8150FDC(void); +static void sub_815109C(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_81516DC(u8 taskId); +static void sub_8151750(u8 taskId); +static void sub_8151B54(void); +static void sub_8151BA0(void); +static void sub_8151C5C(void); +static void sub_8151D28(void); +static void sub_8151D98(void); +static void sub_8151E94(void); +static void sub_815201C(void); +static void sub_8152034(void); +static void sub_8152048(struct DodrioSubstruct_318C * dodrioMon, struct Pokemon * partyMon); +static void sub_815205C(TaskFunc func, u8 priority); +static void sub_815206C(TaskFunc func); +static void sub_8152090(u8 a0); +static bool32 sub_81520B4(void); +static void sub_8152110(void); +static bool32 sub_8152484(u8 a0, u8 a1, u8 a2); +static void sub_815256C(void); +static void sub_815293C(void); +static void sub_8152970(void); +static bool32 sub_8152A00(void); +static void sub_8152A70(void); +static void sub_81529A4(u8 a0, u8 *a1, u8 *a2); +static bool32 sub_8152A98(void); +static bool32 sub_8152AD8(void); +static void sub_8152B64(u8 a0); +static u8 sub_8152BD4(u8 a0); +static u8 sub_8152BF8(u8 a0, u8 a1); +static u8 sub_8152CB8(u8 arg0, u8 arg1); +static void sub_8152D34(u8 a0, u8 a1, u8 a2); +static void sub_8152F94(bool32 a0); +static void sub_8153004(void); +static void sub_8153048(void); +static void sub_8153150(void); +static void sub_81531FC(void); +static u8 sub_815327C(u8); +static void sub_81532B8(void); +static void sub_815336C(void); +static u32 sub_8153424(u8 mpId); +static void Task_ShowDodrioBerryPickingRecords(u8 taskId); +static void sub_81538D0(u8 windowId); // 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}, - }, -}; +// Assets in this header are duplicated +#include "data/dodrio_berry_picking.h" -/*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] = +static const u8 sUnknown_847553C[][3] = { {40, 24, 13}, {32, 19, 10}, @@ -164,20 +147,20 @@ ALIGNED(4) }; ALIGNED(4) -/*static*/ const u8 sUnknown_8475548[] = {8, 5, 8, 11, 15}; +static const u8 sUnknown_8475548[] = {8, 5, 8, 11, 15}; ALIGNED(4) -/*static*/ const u8 sUnknown_8475550[] = {5, 10, 20, 30, 50, 70, 100}; +static const u8 sUnknown_8475550[] = {5, 10, 20, 30, 50, 70, 100}; ALIGNED(4) -/*static*/ const u8 sUnknown_8475558[][10] = +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) = +static void (*const sUnknown_8475578[])(void) = { sub_8150C78, sub_8150CBC, @@ -193,7 +176,7 @@ ALIGNED(4) sub_8150F40 }; -/*static*/ void (*const sUnknown_84755A8[])(void) = +static void (*const sUnknown_84755A8[])(void) = { sub_8150C78, sub_8150CBC, @@ -209,10 +192,2128 @@ ALIGNED(4) sub_8150FC4 }; -/*static*/ const s16 sUnknown_84755D8[] = {10, 30, 50, 50}; +void StartDodrioBerryPicking(u16 a0, MainCallback callback) +{ + gUnknown_3002044 = FALSE; + + if (gReceivedRemoteLinkPlayers && (gUnknown_203F3E0 = AllocZeroed(sizeof(*gUnknown_203F3E0))) != NULL) + { + sub_81508D8(); + sub_81508EC(gUnknown_203F3E0); + gUnknown_203F3E0->savedCallback = callback; + gUnknown_203F3E0->multiplayerId = GetMultiplayerId(); + gUnknown_203F3E0->unk32CC = gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId]; + sub_8152048(&gUnknown_203F3E0->unk318C[gUnknown_203F3E0->multiplayerId], &gPlayerParty[a0]); + CreateTask(sub_8150A84, 1); + SetMainCallback2(sub_815201C); + sub_8153150(); + sub_81529A4(gUnknown_203F3E0->unk24, &gUnknown_203F3E0->unk44, &gUnknown_203F3E0->unk48); + StopMapMusic(); + PlayNewMapMusic(MUS_KINOMIKUI); + } + else + { + SetMainCallback2(callback); + return; + } +} + +static void sub_81508D8(void) +{ + ResetTasks(); + ResetSpriteData(); + FreeAllSpritePalettes(); +} + +static void sub_81508EC(struct DodrioStruct * data) +{ + u8 i; + + data->unk0C = 0; + data->unk10 = 0; + data->unk14 = 0; + data->unk18 = 0; + data->unk1C = 0; + data->unk11C = 0; + data->unk120 = 0; + data->unk30 = 0; + data->unk40 = 0; + data->unk3C = 0; + data->unk12C = 0; + + for (i = 0; i < 4; i++) + { + data->unk98[i] = 0; + } + + for (i = 0; i < 5; i++) + { + data->unkA8[i] = 0; + data->unkB0[i] = 0; + data->unk4A[i][0] = 0; + data->unk4A[i][1] = 0; + data->unk4A[i][2] = 0; + data->unk4A[i][3] = 0; + data->unk4A[i][5] = 0; + data->unk10C[i] = 0; + data->unk130[i] = 0; + } + + for (i = 0; i < 11; i++) + { + data->unkD0[i] = 0; + data->unkDC[i] = 0; + data->unkC4[i] = 0; + data->unkF4[i][0] = 0xFF; + data->unkF4[i][1] = 0xFF; + } + + data->unk20 = GetMultiplayerId() == 0 ? 1 : 0; + data->unk24 = GetLinkPlayerCount(); + data->unk34[0] = GetMultiplayerId(); + for (i = 1; i < data->unk24; i++) + { + data->unk34[i] = data->unk34[i - 1] + 1; + if (data->unk34[i] > data->unk24 - 1) + data->unk34[i] %= data->unk24; + } +} + +static void sub_8150A84(u8 taskId) +{ + u8 r4, r5; + + switch (gUnknown_203F3E0->unk0C) + { + case 0: + SetVBlankCallback(NULL); + sub_815205C(sub_8151750, 4); + gUnknown_203F3E0->unk0C++; + break; + case 1: + if (!FuncIsActiveTask(sub_8151750)) + { + sub_8154968(&gUnknown_203F3E0->unk160); + gUnknown_203F3E0->unk0C++; + } + break; + case 2: + if (!sub_8155E68()) + { + LinkRfu_SetRfuFuncToSend6600(); + gUnknown_203F3E0->unk0C++; + } + break; + case 3: + if (IsLinkTaskFinished()) + { + if (gReceivedRemoteLinkPlayers) + { + LoadWirelessStatusIndicatorSpriteGfx(); + CreateWirelessStatusIndicatorSprite(0, 0); + } + gUnknown_203F3E0->unk0C++; + } + break; + case 4: + r5 = gUnknown_203F3E0->unk24; + sub_8153A9C(); + for (r4 = 0; r4 < r5; r4++) + { + sub_8153AFC(&gUnknown_203F3E0->unk318C[gUnknown_203F3E0->unk34[r4]], r4, gUnknown_203F3E0->unk34[r4], gUnknown_203F3E0->unk24); + } + sub_8153D80(FALSE, gUnknown_203F3E0->unk24); + gUnknown_203F3E0->unk0C++; + break; + case 5: + sub_8154128(); + sub_815417C(); + sub_8154438(); + sub_8153E28(); + gUnknown_203F3E0->unk0C++; + break; + case 6: + BlendPalettes(0xFFFFFFFF, 0x10, RGB_BLACK); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + SetVBlankCallback(sub_8152034); + gUnknown_203F3E0->unk0C++; + break; + case 7: + UpdatePaletteFade(); + if (!gPaletteFade.active) + { + gUnknown_203F3E0->unk0C++; + } + break; + default: + DestroyTask(taskId); + sub_815206C(sub_81516DC); + break; + } +} + +static void sub_8150C08(u8 taskId) +{ + sub_8151B54(); + sUnknown_8475578[gUnknown_203F3E0->unk18](); + if (!gUnknown_3002044) + { + sub_815293C(); + } + sub_8151BA0(); +} + +static void sub_8150C40(u8 taskId) +{ + sub_8151C5C(); + sUnknown_84755A8[gUnknown_203F3E0->unk18](); + if (!gUnknown_3002044) + { + sub_8152970(); + } + sub_8151D28(); +} + +static void sub_8150C78(void) +{ + switch (gUnknown_203F3E0->unk10) + { + case 0: + sub_8153BF8(1); + sub_81549D4(1); + gUnknown_203F3E0->unk10++; + break; + case 1: + if (!sub_8155E68()) + sub_8152090(1); + break; + } +} + +static void sub_8150CBC(void) +{ + if (gUnknown_203F3E0->unk10 == 0) + { + sub_8152110(); + gUnknown_203F3E0->unk10++; + } + else + { + gUnknown_203F3E0->unk118 = 1; + sub_8152090(2); + } +} + +static void sub_8150CF4(void) +{ + switch (gUnknown_203F3E0->unk10) + { + case 0: + StartMinigameCountdown(7, 8, 120, 80, 0); + gUnknown_203F3E0->unk10++; + break; + case 1: + LinkRfu_SetRfuFuncToSend6600(); + gUnknown_203F3E0->unk10++; + break; + case 2: + if (IsLinkTaskFinished()) + { + gUnknown_203F3E0->unk10++; + } + break; + case 3: + if (!IsMinigameCountdownRunning()) + { + LinkRfu_SetRfuFuncToSend6600(); + gUnknown_203F3E0->unk10++; + } + break; + case 4: + if (IsLinkTaskFinished()) + { + sub_8152090(3); + } + break; + } +} + +static void sub_8150D7C(void) +{ + if (gUnknown_203F3E0->unk10 == 0) + { + if (gUnknown_203F3E0->unk11C != 0) + { + sub_8152090(4); + } + } +} + +static void sub_8150DA4(void) +{ + if (gUnknown_203F3E0->unk10 == 0) + { + if (gUnknown_203F3E0->unk40 < 10) + { + if (gUnknown_203F3E0->unkA8[0] == 0) + { + if (JOY_NEW(DPAD_UP)) + { + if (gUnknown_203F3E0->unk31A0[0].unk2C.unk0 == 0) + { + gUnknown_203F3E0->unk31A0[0].unk2C.unk4 = 0; + gUnknown_203F3E0->unk31A0[0].unk2C.unk0 = sub_815327C(2); + } + } + else if (JOY_NEW(DPAD_RIGHT)) + { + if (gUnknown_203F3E0->unk31A0[0].unk2C.unk0 == 0) + { + gUnknown_203F3E0->unk31A0[0].unk2C.unk4 = 0; + gUnknown_203F3E0->unk31A0[0].unk2C.unk0 = sub_815327C(1); + } + } + else if (JOY_NEW(DPAD_LEFT)) + { + if (gUnknown_203F3E0->unk31A0[0].unk2C.unk0 == 0) + { + gUnknown_203F3E0->unk31A0[0].unk2C.unk4 = 0; + gUnknown_203F3E0->unk31A0[0].unk2C.unk0 = sub_815327C(3); + } + } + else + { + gUnknown_203F3E0->unk31A0[0].unk2C.unk0 = sub_815327C(0); + } + } + } + else + { + sub_8152090(11); + } + sub_815256C(); + sub_8151D98(); + } +} +static void sub_8150E68(void) +{ + if (gUnknown_203F3E0->unk40 < 10) + { + if (JOY_NEW(DPAD_UP)) + { + if (gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId].unk2C.unk0 == 0) + { + gUnknown_203F3E0->unk32CC.unk2C.unk0 = 2; + } + } + else if (JOY_NEW(DPAD_RIGHT)) + { + if (gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId].unk2C.unk0 == 0) + { + gUnknown_203F3E0->unk32CC.unk2C.unk0 = 1; + } + } + else if (JOY_NEW(DPAD_LEFT)) + { + if (gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId].unk2C.unk0 == 0) + { + gUnknown_203F3E0->unk32CC.unk2C.unk0 = 3; + } + } + else + { + gUnknown_203F3E0->unk32CC.unk2C.unk0 = 0; + } + } + else + { + sub_8152090(11); + } + sub_8151E94(); +} + +static void sub_8150F40(void) +{ + u8 i; + + sub_815256C(); + sub_8151D98(); + if (sub_8152A98() == 1) + { + sub_8153004(); + sub_8152090(5); + } + else + { + gUnknown_203F3E0->unk12C = 1; + for (i = 1; i < gUnknown_203F3E0->unk24; i++) + { + if (gUnknown_203F3E0->unk130[i] != 1) + { + gUnknown_203F3E0->unk12C = 0; + break; + } + } + } +} + +static void sub_8150FC4(void) +{ + sub_8151E94(); + if (sub_8152AD8() == 1) + sub_8152090(5); +} + +static void sub_8150FDC(void) +{ + u8 blockReceivedStatus; + u8 i; + switch (gUnknown_203F3E0->unk10) + { + case 0: + SendBlock(0, gUnknown_203F3E0->unk4A, sizeof(gUnknown_203F3E0->unk4A)); + gUnknown_203F3E0->unk08 = 0; + gUnknown_203F3E0->unk10++; + break; + case 1: + if (IsLinkTaskFinished()) + { + gUnknown_203F3E0->unk10++; + } + break; + case 2: + blockReceivedStatus = GetBlockReceivedStatus(); + for (i = 0; i < gUnknown_203F3E0->unk24; blockReceivedStatus >>= 1, i++) + { + if (blockReceivedStatus & 1) + { + ResetBlockReceivedFlag(i); + gUnknown_203F3E0->unk08++; + } + } + if (gUnknown_203F3E0->unk08 >= gUnknown_203F3E0->unk24) + { + gUnknown_203F3E0->unk14++; + gUnknown_203F3E0->unk10++; + } + break; + default: + if (WaitFanfare(TRUE)) + { + sub_8152090(6); + FadeOutAndPlayNewMapMusic(MUS_WIN_YASEI, 4); + } + break; + } +} + +static void sub_815109C(void) +{ + u8 i; + u8 blockReceivedStatus; + + switch (gUnknown_203F3E0->unk10) { + case 0: + SendBlock(0, gUnknown_203F3E0->unk4A[gUnknown_203F3E0->unk14], sizeof(gUnknown_203F3E0->unk4A)); + gUnknown_203F3E0->unk08 = 0; + gUnknown_203F3E0->unk10++; + break; + case 1: + if (IsLinkTaskFinished()) { + gUnknown_203F3E0->unk10++; + } + break; + case 2: + blockReceivedStatus = GetBlockReceivedStatus(); + for (i = 0; i < gUnknown_203F3E0->unk24; blockReceivedStatus >>= 1, i++) + { + if (blockReceivedStatus & 1) + { + memcpy(gUnknown_203F3E0->unk4A, gBlockRecvBuffer, sizeof(gUnknown_203F3E0->unk4A)); + ResetBlockReceivedFlag(i); + gUnknown_203F3E0->unk08++; + } + } + if (gUnknown_203F3E0->unk08 >= gUnknown_203F3E0->unk24) { + gUnknown_203F3E0->unk14++; + gUnknown_203F3E0->unk10++; + } + break; + default: + if (WaitFanfare(TRUE)) { + gUnknown_203F3E0->unk114 = gUnknown_203F3E0->unk4A[gUnknown_203F3E0->multiplayerId][5]; + sub_8152090(6); + FadeOutAndPlayNewMapMusic(MUS_WIN_YASEI, 4); + } + break; + } +} + +static void sub_8151198(void) +{ + u8 sp00; + u8 i; + u8 blockReceivedStatus; + + switch (gUnknown_203F3E0->unk10) + { + case 0: + sub_81531FC(); + sub_81540DC(TRUE); + sub_81544F0(); + sub_81545BC(TRUE); + sub_81549D4(2); + gUnknown_203F3E0->unk10++; + break; + case 1: + if (!sub_8155E68()) + { + sp00 = 1; + sub_81549D4(5); + sp00 = sub_8155E8C(); + SendBlock(0, &sp00, sizeof(sp00)); + gUnknown_203F3E0->unk10++; + } + break; + case 2: + if (IsLinkTaskFinished()) + { + gUnknown_203F3E0->unk10++; + gUnknown_203F3E0->unk08 = 0; + } + break; + case 3: + blockReceivedStatus = GetBlockReceivedStatus(); + for (i = 0; i < gUnknown_203F3E0->unk24; blockReceivedStatus >>= 1, i++) + { + if (blockReceivedStatus & 1) + { + *(gUnknown_203F3E0->unk10C + i) = *(u8 *)gBlockRecvBuffer[i]; + ResetBlockReceivedFlag(i); + gUnknown_203F3E0->unk08++; + } + } + if (gUnknown_203F3E0->unk08 >= gUnknown_203F3E0->unk24) { + if (++gUnknown_203F3E0->unk14 >= 120) + { + sub_81549D4(6); + gUnknown_203F3E0->unk10++; + } + } + break; + default: + if (!sub_8155E68()) + { + sub_8152090(7); + } + break; + } +} + +static void sub_81512B4(void) +{ + u8 sp0; + u8 i; + u8 blockReceivedStatus; + + switch (gUnknown_203F3E0->unk10) + { + case 0: + if (sub_81534AC() >= 3000) + { + sub_81549D4(4); + } + gUnknown_203F3E0->unk10++; + break; + case 1: + if (!sub_8155E68()) + { + sub_81549D4(3); + gUnknown_203F3E0->unk10++; + } + break; + case 2: + sub_81546C0(); + sub_8153048(); + gUnknown_203F3E0->unk10++; + break; + case 3: + if ((sp0 = sub_8155E8C()) != 0) + { + gUnknown_203F3E0->unk10++; + } + break; + case 4: + if (!sub_8155E68()) + { + sub_81549D4(5); + sp0 = sub_8155E8C(); + SendBlock(0, &sp0, sizeof(sp0)); + gUnknown_203F3E0->unk10++; + } + break; + case 5: + if (IsLinkTaskFinished()) + { + gUnknown_203F3E0->unk10++; + gUnknown_203F3E0->unk08 = 0; + } + break; + case 6: + blockReceivedStatus = GetBlockReceivedStatus(); + for (i = 0; i < gUnknown_203F3E0->unk24; blockReceivedStatus >>= 1, i++) + { + if (blockReceivedStatus & 1) + { + *(gUnknown_203F3E0->unk10C + i) = *(u8 *)gBlockRecvBuffer[i]; + ResetBlockReceivedFlag(i); + gUnknown_203F3E0->unk08++; + } + } + if (gUnknown_203F3E0->unk08 >= gUnknown_203F3E0->unk24) { + if (++gUnknown_203F3E0->unk14 >= 120) + { + sub_815336C(); + sub_81549D4(6); + gUnknown_203F3E0->unk10++; + } + } + else + { + sub_81532B8(); + } + break; + default: + if (!sub_8155E68()) + { + for (i = 0; i < gUnknown_203F3E0->unk24; i++) + { + if (gUnknown_203F3E0->unk10C[i] == 2) + { + sub_8152090(8); + return; + } + } + sub_8152090(10); + } + break; + } +} + +static void sub_8151488(void) +{ + switch (gUnknown_203F3E0->unk10) + { + case 0: + Link_TryStartSend5FFF(); + sub_81549D4(7); + gUnknown_203F3E0->unk10++; + break; + case 1: + if (!sub_8155E68()) + { + gUnknown_203F3E0->unk10++; + } + break; + case 2: + if (sub_8155E8C() == 5) + { + gUnknown_203F3E0->unk10++; + } + break; + default: + if (!gReceivedRemoteLinkPlayers) + { + sub_8152090(9); + } + break; + } +} + +static void sub_81514F0(void) +{ + switch (gUnknown_203F3E0->unk10) + { + case 0: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gUnknown_203F3E0->unk10++; + break; + case 1: + UpdatePaletteFade(); + if (!gPaletteFade.active) + { + gUnknown_203F3E0->unk10++; + } + break; + case 2: + sub_8154274(); + sub_8153ED8(); + sub_8153D08(gUnknown_203F3E0->unk24); + sub_8154578(); + gUnknown_3002044 = TRUE; + sub_81549D4(8); + gUnknown_203F3E0->unk10++; + break; + default: + if (!sub_8155E68()) + { + SetMainCallback2(gUnknown_203F3E0->savedCallback); + DestroyTask(gUnknown_203F3E0->unk04); + Free(gUnknown_203F3E0); + FreeAllWindowBuffers(); + } + break; + } +} + +static void sub_815159C(void) +{ + switch (gUnknown_203F3E0->unk10) + { + case 0: + sub_81549D4(9); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gUnknown_203F3E0->unk10++; + break; + case 1: + UpdatePaletteFade(); + if (!gPaletteFade.active) + { + gUnknown_203F3E0->unk10++; + } + break; + case 2: + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + ChangeBgX(3, 0, 0); + ChangeBgY(3, 0, 0); + gUnknown_203F3E0->unk10++; + break; + case 3: + StopMapMusic(); + gUnknown_203F3E0->unk10++; + break; + case 4: + PlayNewMapMusic(MUS_KINOMIKUI); + sub_8154540(); + gUnknown_203F3E0->unk10++; + break; + case 5: + BlendPalettes(0xFFFFFFFF, 16, RGB_BLACK); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + gUnknown_203F3E0->unk10++; + break; + case 6: + UpdatePaletteFade(); + if (!gPaletteFade.active) + { + gUnknown_203F3E0->unk10++; + } + break; + default: + DestroyTask(gUnknown_203F3E0->unk04); + sub_815206C(sub_81516DC); + sub_8154730(); + sub_81508EC(gUnknown_203F3E0); + if (!gReceivedRemoteLinkPlayers) + { + gUnknown_203F3E0->unk24 = 1; + } + sub_8153150(); + sub_81545BC(FALSE); + break; + } +} + +static void sub_81516DC(u8 taskId) +{ + switch (gUnknown_203F3E0->unk10) + { + case 0: + if (sub_81520B4() == 1) + { + gUnknown_203F3E0->unk10++; + } + break; + case 1: + sub_8153DD8(); + gUnknown_203F3E0->unk10++; + break; + case 2: + if (sub_8153F1C() == TRUE) + { + gUnknown_203F3E0->unk10++; + } + break; + default: + if (gUnknown_203F3E0->unk20 != 0) + { + sub_815206C(sub_8150C08); + } + else + { + sub_815206C(sub_8150C40); + } + DestroyTask(taskId); + break; + } +} + +static void sub_8151750(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + u8 i; + u8 blockReceivedStatus; + + switch (data[0]) + { + case 0: + SendBlock(0, &gUnknown_203F3E0->unk318C[gUnknown_203F3E0->multiplayerId].isShiny, sizeof(gUnknown_203F3E0->unk318C[gUnknown_203F3E0->multiplayerId].isShiny)); + gUnknown_203F3E0->unk08 = 0; + data[0]++; + break; + case 1: + if (IsLinkTaskFinished()) + { + data[0]++; + } + break; + case 2: + blockReceivedStatus = GetBlockReceivedStatus(); + for (i = 0; i < gUnknown_203F3E0->unk24; blockReceivedStatus >>= 1, i++) + { + if (blockReceivedStatus & 1) + { + *(u8 *)&gUnknown_203F3E0->unk318C[i] = *(u8 *)gBlockRecvBuffer[i]; + ResetBlockReceivedFlag(i); + gUnknown_203F3E0->unk08++; + } + } + if (gUnknown_203F3E0->unk08 >= gUnknown_203F3E0->unk24) + { + DestroyTask(taskId); + sub_81549D4(6); + gUnknown_203F3E0->unk10++; + } + break; + } +} + +static void sub_815184C(void) +{ + u8 i; + u8 r7 = gUnknown_203F3E0->unk24; + + gUnknown_203F3E0->unk31A0[0].unk10 = sub_815A950(0, &gUnknown_203F3E0->unk31A0[0], &gUnknown_203F3E0->unk31A0[0].unk2C, &gUnknown_203F3E0->unk31A0[1].unk2C, &gUnknown_203F3E0->unk31A0[2].unk2C, &gUnknown_203F3E0->unk31A0[3].unk2C, &gUnknown_203F3E0->unk31A0[4].unk2C, &gUnknown_203F3E0->unk40, &gUnknown_203F3E0->unk120, &gUnknown_203F3E0->unk12C); + gUnknown_203F3E0->unk128 = 1; + + for (i = 1; i < r7; i++) + { + if ( gUnknown_203F3E0->unkA8[i] == 0 + && sub_815AB04(i, &gUnknown_203F3E0->unk31A0[i].unk2C.unk0) == 0) + { + gUnknown_203F3E0->unk31A0[i].unk2C.unk0 = 0; + gUnknown_203F3E0->unk128 = 0; + } + } + if (++gUnknown_203F3E0->unk124 >= 60) + { + if (gUnknown_203F3E0->unk128 != 0) + { + sub_80FBA44(); + gUnknown_203F3E0->unk124 = 0; + } + else if (gUnknown_203F3E0->unk124 > 70) + { + sub_80FBA44(); + gUnknown_203F3E0->unk124 = 0; + } + } + + for (i = 0; i < r7; i++) + { + if ( gUnknown_203F3E0->unk31A0[i].unk2C.unk0 != 0 + && gUnknown_203F3E0->unkA8[i] == 0) + { + gUnknown_203F3E0->unkA8[i] = 1; + } + switch (gUnknown_203F3E0->unkA8[i]) + { + case 0: + default: + break; + case 1 ... 3: + if (++gUnknown_203F3E0->unkB0[i] >= 6) + { + gUnknown_203F3E0->unkB0[i] = 0; + gUnknown_203F3E0->unkA8[i] = 0; + gUnknown_203F3E0->unk31A0[i].unk2C.unk0 = 0; + gUnknown_203F3E0->unk31A0[i].unk2C.unk4 = 0; + gUnknown_203F3E0->unk31A0[i].unk2C.unk8 = 0; + } + break; + case 4: + if (++gUnknown_203F3E0->unkB0[i] >= 40) + { + gUnknown_203F3E0->unkB0[i] = 0; + gUnknown_203F3E0->unkA8[i] = 0; + gUnknown_203F3E0->unk31A0[i].unk2C.unk0 = 0; + gUnknown_203F3E0->unk31A0[i].unk2C.unk4 = 0; + gUnknown_203F3E0->unk31A0[i].unk2C.unk8 = 0; + } + break; + } + } +} + +static void sub_8151A5C(void) +{ + u8 i; + u8 r6 = gUnknown_203F3E0->unk24; + + gUnknown_203F3E0->unk31A0[0].unk10 = sub_815A950(0, &gUnknown_203F3E0->unk31A0[0], &gUnknown_203F3E0->unk31A0[0].unk2C, &gUnknown_203F3E0->unk31A0[1].unk2C, &gUnknown_203F3E0->unk31A0[2].unk2C, &gUnknown_203F3E0->unk31A0[3].unk2C, &gUnknown_203F3E0->unk31A0[4].unk2C, &gUnknown_203F3E0->unk40, &gUnknown_203F3E0->unk120, &gUnknown_203F3E0->unk12C); + gUnknown_203F3E0->unk128 = 1; + + for (i = 1; i < r6; i++) + { + if (sub_815AB60(i) != 0) + { + gUnknown_203F3E0->unk130[i] = 1; + gUnknown_203F3E0->unk128 = 0; + } + } + if (++gUnknown_203F3E0->unk124 >= 60) + { + if (gUnknown_203F3E0->unk128 != 0) + { + sub_80FBA44(); + gUnknown_203F3E0->unk124 = 0; + } + else if (gUnknown_203F3E0->unk124 > 70) + { + sub_80FBA44(); + gUnknown_203F3E0->unk124 = 0; + } + } +} + +static void sub_8151B54(void) +{ + switch (gUnknown_203F3E0->unk18) + { + case 3: + if (sub_8152A00() == TRUE) + { + sub_8152A70(); + gUnknown_203F3E0->unk11C = 1; + } + break; + case 4: + sub_815184C(); + break; + case 11: + sub_8151A5C(); + break; + } +} + +static void sub_8151BA0(void) +{ + switch (gUnknown_203F3E0->unk18) + { + case 4: + sub_815A61C(&gUnknown_203F3E0->unk32CC, &gUnknown_203F3E0->unk31A0[0].unk2C, &gUnknown_203F3E0->unk31A0[1].unk2C, &gUnknown_203F3E0->unk31A0[2].unk2C, &gUnknown_203F3E0->unk31A0[3].unk2C, &gUnknown_203F3E0->unk31A0[4].unk2C, gUnknown_203F3E0->unk40, gUnknown_203F3E0->unk120, gUnknown_203F3E0->unk12C); + break; + case 11: + sub_815A61C(&gUnknown_203F3E0->unk32CC, &gUnknown_203F3E0->unk31A0[0].unk2C, &gUnknown_203F3E0->unk31A0[1].unk2C, &gUnknown_203F3E0->unk31A0[2].unk2C, &gUnknown_203F3E0->unk31A0[3].unk2C, &gUnknown_203F3E0->unk31A0[4].unk2C, gUnknown_203F3E0->unk40, gUnknown_203F3E0->unk120, gUnknown_203F3E0->unk12C); + break; + } +} + +static void sub_8151C5C(void) +{ + switch (gUnknown_203F3E0->unk18) + { + case 4: + sub_815A950(gUnknown_203F3E0->multiplayerId, &gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId], &gUnknown_203F3E0->unk31A0[0].unk2C, &gUnknown_203F3E0->unk31A0[1].unk2C, &gUnknown_203F3E0->unk31A0[2].unk2C, &gUnknown_203F3E0->unk31A0[3].unk2C, &gUnknown_203F3E0->unk31A0[4].unk2C, &gUnknown_203F3E0->unk40, &gUnknown_203F3E0->unk120, &gUnknown_203F3E0->unk12C); + break; + case 11: + sub_815A950(gUnknown_203F3E0->multiplayerId, &gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId], &gUnknown_203F3E0->unk31A0[0].unk2C, &gUnknown_203F3E0->unk31A0[1].unk2C, &gUnknown_203F3E0->unk31A0[2].unk2C, &gUnknown_203F3E0->unk31A0[3].unk2C, &gUnknown_203F3E0->unk31A0[4].unk2C, &gUnknown_203F3E0->unk40, &gUnknown_203F3E0->unk120, &gUnknown_203F3E0->unk12C); + break; + } +} + +static void sub_8151D28(void) +{ + switch (gUnknown_203F3E0->unk18) + { + case 3: + sub_815A5BC(1); + gUnknown_203F3E0->unk11C = 1; + break; + case 4: + if (gUnknown_203F3E0->unk32CC.unk2C.unk0 != 0) + { + sub_815AAD8(gUnknown_203F3E0->unk32CC.unk2C.unk0); + } + break; + case 11: + if (gUnknown_203F3E0->unk120 == 0 && gUnknown_203F3E0->unk12C == 0) + { + sub_815AB3C(1); + } + break; + } +} + +static void sub_8151D98(void) +{ + if (gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId].unk2C.unk0 == 0) + { + if (!IsSEPlaying()) + { + gUnknown_203F3E0->unk144 = 0; + } + } + else if (gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId].unk2C.unk4 == 1) + { + if (gUnknown_203F3E0->unk144 == 0) + { + m4aSongNumStop(SE_SEIKAI); + PlaySE(SE_SEIKAI); + gUnknown_203F3E0->unk144 = 1; + } + } + else if (gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId].unk2C.unk8 == 1) + { + if (gUnknown_203F3E0->unk144 == 0 && !IsSEPlaying()) + { + PlaySE(SE_BOO); + sub_8153BC0(1); + gUnknown_203F3E0->unk144 = 1; + } + } + + if (gUnknown_203F3E0->unk154 == 0 && gUnknown_203F3E0->unk40 >= 10) + { + StopMapMusic(); + gUnknown_203F3E0->unk154 = 1; + } + else if (gUnknown_203F3E0->unk154 == 1) + { + PlayFanfareByFanfareNum(FANFARE_10); // MUS_ME_ZANNEN + gUnknown_203F3E0->unk154 = 2; + } +} + +static void sub_8151E94(void) +{ + u8 r8 = gUnknown_203F3E0->unk44; + u8 r7 = gUnknown_203F3E0->unk48; + u8 r4; + if (gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId].unk2C.unk0 == 0) + { + if (gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId].unk2C.unk4 != 1 && gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId].unk2C.unk8 != 1) + { + gUnknown_203F3E0->unk144 = 0; + } + } + else if (gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId].unk2C.unk4 == 1) + { + if (gUnknown_203F3E0->unk144 == 0) + { + m4aSongNumStop(SE_SEIKAI); + PlaySE(SE_SEIKAI); + gUnknown_203F3E0->unk144 = 1; + } + } + else if (gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId].unk2C.unk8 == 1) + { + if (gUnknown_203F3E0->unk144 == 0 && !IsSEPlaying()) + { + PlaySE(SE_BOO); + sub_8153BC0(1); + gUnknown_203F3E0->unk144 = 1; + } + } + for (r4 = r8; r4 < r7; r4++) + { + struct DodrioSubstruct_31A0_14 * ptr = &gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId].unk14; + if (ptr->unkB[r4] >= 10) + { + if (gUnknown_203F3E0->unk148[r4] == 0) + { + PlaySE(SE_FUUSEN1 + ptr->unk0[r4]); + gUnknown_203F3E0->unk148[r4] = 1; + } + } + else + { + gUnknown_203F3E0->unk148[r4] = 0; + } + } + if (gUnknown_203F3E0->unk154 == 0 && gUnknown_203F3E0->unk40 >= 10) + { + StopMapMusic(); + gUnknown_203F3E0->unk154 = 1; + } + else if (gUnknown_203F3E0->unk154 == 1) + { + PlayFanfareByFanfareNum(FANFARE_10); // MUS_ME_ZANNEN + gUnknown_203F3E0->unk154 = 2; + } +} + +static void sub_815201C(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void sub_8152034(void) +{ + TransferPlttBuffer(); + LoadOam(); + ProcessSpriteCopyRequests(); +} + +static void sub_8152048(struct DodrioSubstruct_318C * a0, struct Pokemon * a1) +{ + a0->isShiny = IsMonShiny(a1); +} + +static void sub_815205C(TaskFunc func, u8 priority) +{ + CreateTask(func, priority); +} + +static void sub_815206C(TaskFunc func) +{ + gUnknown_203F3E0->unk04 = CreateTask(func, 1); + gUnknown_203F3E0->unk10 = 0; + gUnknown_203F3E0->unk0C = 0; + gUnknown_203F3E0->unk14 = 0; +} + +static void sub_8152090(u8 a0) +{ + gUnknown_203F3E0->unk1C = gUnknown_203F3E0->unk18; + gUnknown_203F3E0->unk18 = a0; + gUnknown_203F3E0->unk10 = 0; + gUnknown_203F3E0->unk14 = 0; +} + +static bool32 sub_81520B4(void) +{ + u8 r2 = gUnknown_203F3E0->unk14 / 4; + gUnknown_203F3E0->unk14++; + if (r2 != 0 && gUnknown_203F3E0->unk14 % 4 == 0) + { + if (r2 < sUnknown_8475548[gUnknown_203F3E0->unk24 - 1]) + { + SetGpuReg(REG_OFFSET_BG1HOFS, (r2 * 8)); + SetGpuReg(REG_OFFSET_BG2HOFS, -(r2 * 8)); + return FALSE; + } + else + { + return TRUE; + } + } + else + { + return FALSE; + } +} + +static void sub_8152110(void) +{ + u8 i; + u8 start = gUnknown_203F3E0->unk44; + u8 finish = gUnknown_203F3E0->unk48; + + for (i = start; i < finish; i++) + { + struct DodrioSubstruct_31A0_14 * ptr = &gUnknown_203F3E0->unk32CC.unk14; + ptr->unkB[i] = (i % 2 == 0) ? 1 : 0; + ptr->unk0[i] = 0; + } +} + +static void sub_8152174(void) +{ + u8 sp0 = gUnknown_203F3E0->unk44; + u8 sp4 = gUnknown_203F3E0->unk48; + u8 sp8 = gUnknown_203F3E0->unk24; + u8 i, j, k, r5; + + if (gUnknown_203F3E0->unk40 >= 10) + return; + + for (i = 0; i < sp8; i++) + { + u8 *ptr = &gUnknown_203F3E0->unk31A0[i].unk2C.unk0; + if (*ptr != 0 && gUnknown_203F3E0->unkA8[i] == 1) + { + for (j = sp0; j < sp4; j++) + { + r5 = sUnknown_8471F50[0][0][j]; + if (gUnknown_203F3E0->unkF4[r5][0] == i || gUnknown_203F3E0->unkF4[r5][1] == i) + break; + if (sub_8152484(i, *ptr, r5) == TRUE) + { + for (k = 0; k < 2; k++) + { + if (gUnknown_203F3E0->unkF4[r5][k] == 0xFF) + { + gUnknown_203F3E0->unkF4[r5][k] = i; + gUnknown_203F3E0->unkA8[i] = 2; + gUnknown_203F3E0->unkC4[r5] = 1; + break; + } + } + break; + } + if (gUnknown_203F3E0->unk31A0[i].unk2C.unk8 == 1) + break; + } + } + } + + for (j = sp0; j < sp4; j++) + { + u8 id = 0xFF; + r5 = sUnknown_8471F50[0][0][j]; + if (gUnknown_203F3E0->unkC4[r5] == 1) + { + s32 r2; + u8 r4, r3 = gUnknown_203F3E0->unk90[sub_8152BD4(r5)] / 7; + if (r3 >= NELEMS(sUnknown_847553C) - 1) + r3 = NELEMS(sUnknown_847553C) - 1; + + r2 = sUnknown_847553C[r3][gUnknown_203F3E0->unk31A0[0].unk14.unk0[r5]] - gUnknown_203F3E0->unkD0[r5]; + if (r2 < 6) + gUnknown_203F3E0->unk9C[r5] += r2; + + if (++gUnknown_203F3E0->unk9C[r5] >= 6) + { + gUnknown_203F3E0->unk9C[r5] = 0; + if (gUnknown_203F3E0->unkF4[r5][0] == 0xFF && gUnknown_203F3E0->unkF4[r5][1] == 0xFF) + { + continue; + } + else if (gUnknown_203F3E0->unkF4[r5][0] != 0xFF && gUnknown_203F3E0->unkF4[r5][1] == 0xFF) + { + r4 = gUnknown_203F3E0->unkF4[r5][0]; + } + else + { + u8 unk0 = gUnknown_203F3E0->unkF4[r5][0]; + i = gUnknown_203F3E0->unkF4[r5][1]; // Have to re-use the variable to match. + if (!(Random() & 1)) + { + r4 = unk0; + id = i; + } + else + { + r4 = i; + id = unk0; + } + } + gUnknown_203F3E0->unk32CC.unk14.unkB[r5] = 7; + gUnknown_203F3E0->unkC4[r5] = 2; + gUnknown_203F3E0->unkA8[r4] = 3; + gUnknown_203F3E0->unkB8[r5] = r4; + gUnknown_203F3E0->unk31A0[r4].unk2C.unk4 = 1; + gUnknown_203F3E0->unk31A0[id].unk2C.unk8 = 1; + gUnknown_203F3E0->unk86[r4]++; + sub_8152D34(0, r5, r4); + sub_8152F94(TRUE); + sub_8152B64(r4); + gUnknown_203F3E0->unkE8[r5] = gUnknown_203F3E0->unk32CC.unk14.unk0[r5]; + gUnknown_203F3E0->unk32CC.unk14.unk0[r5] = 3; + gUnknown_203F3E0->unkF4[r5][0] = 0xFF; + gUnknown_203F3E0->unkF4[r5][1] = 0xFF; + } + } + } +} + +static bool32 sub_8152484(u8 a0, u8 a1, u8 a2) +{ + s32 r7 = 0; + u8 r5 = gUnknown_203F3E0->unk24 - 1; + struct DodrioSubstruct_31A0_14 * ptr = &gUnknown_203F3E0->unk32CC.unk14; + + switch (a1) + { + case 3: + default: + r7 = 0; + break; + case 2: + r7 = 1; + break; + case 1: + r7 = 2; + break; + } + if (ptr->unkB[a2] == 6 || ptr->unkB[a2] == 7) + { + if (a2 == sUnknown_8472063[r5][a0][r7]) + { + if (gUnknown_203F3E0->unkC4[a2] == 1 || gUnknown_203F3E0->unkC4[a2] == 2) + { + gUnknown_203F3E0->unk31A0[a0].unk2C.unk8 = 1; + return FALSE; + } + else + { + return TRUE; + } + } + } + else + { + if (a2 == sUnknown_8472063[r5][a0][r7]) + { + gUnknown_203F3E0->unkA8[a0] = 4; + gUnknown_203F3E0->unk31A0[a0].unk2C.unk8 = 1; + } + } + return FALSE; +} + +static void sub_815256C(void) +{ + u8 r1 = gUnknown_203F3E0->unk44; + u8 r9 = gUnknown_203F3E0->unk48; + u8 r3 = 0; + u8 r10 = 0; + u8 i; + u8 r2; + struct DodrioStruct * ptr; + + gUnknown_203F3E0->unk120 = 0; + + for (i = r1; i < r9 - 1; i++) + { + ptr = gUnknown_203F3E0; + + if (gUnknown_203F3E0->unkC4[i] == 0 || gUnknown_203F3E0->unkC4[i] == 1) + { + gUnknown_203F3E0->unk120 = 1; + if (ptr->unk32CC.unk14.unkB[i] >= 10) + { + ptr->unk32CC.unk14.unkB[i] = 10; + gUnknown_203F3E0->unkC4[i] = 3; + if (gUnknown_203F3E0->unk148[i] == 0) + { + gUnknown_203F3E0->unk148[i] = 1; + PlaySE(SE_FUUSEN1 + ptr->unk32CC.unk14.unk0[i]); + } + if (gUnknown_203F3E0->unk40 < 10 || r10 == 1) + { + r10 = 1; + gUnknown_203F3E0->unk148[i] = 0; + if (gUnknown_203F3E0->unk40 < 10) + { + gUnknown_203F3E0->unk40++; + } + sub_8152D34(3, i, 0); + sub_8152F94(FALSE); + } + } + else + { + r3 = gUnknown_203F3E0->unk90[sub_8152BD4(i)] / 7; + if (r3 >= NELEMS(sUnknown_847553C) - 1) + { + r3 = NELEMS(sUnknown_847553C) - 1; + } + r2 = sUnknown_847553C[r3][ptr->unk32CC.unk14.unk0[i]]; + if (++gUnknown_203F3E0->unkD0[i] >= r2) + { + ptr->unk32CC.unk14.unkB[i]++; + gUnknown_203F3E0->unkD0[i] = 0; + } + sub_8152174(); + } + } + else if (gUnknown_203F3E0->unkC4[i] == 2) + { + // gUnknown_203F3E0->unk120 = 1; + if (++gUnknown_203F3E0->unkDC[i] >= 20) + { + gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->unkB8[i]].unk2C.unk4 = 0; + gUnknown_203F3E0->unkDC[i] = 0; + gUnknown_203F3E0->unkD0[i] = 0; + gUnknown_203F3E0->unkC4[i] = 0; + ptr->unk32CC.unk14.unkB[i] = 1; + ptr->unk32CC.unk14.unk0[i] = sub_8152BF8(sub_8152BD4(i), i); + } + } + else if (gUnknown_203F3E0->unkC4[i] == 3) + { + if (++gUnknown_203F3E0->unkDC[i] >= 20) + { + if (gUnknown_203F3E0->unk40 < 10) + { + gUnknown_203F3E0->unkDC[i] = 0; + gUnknown_203F3E0->unkD0[i] = 0; + gUnknown_203F3E0->unkC4[i] = 0; + ptr->unk32CC.unk14.unkB[i] = 1; + gUnknown_203F3E0->unkE8[i] = ptr->unk32CC.unk14.unk0[i]; + ptr->unk32CC.unk14.unk0[i] = sub_8152BF8(sub_8152BD4(i), i); + } + } + } + } +} + +static void sub_81527D0(void) +{ + u8 i, first, count; + + first = gUnknown_203F3E0->unk44; + count = gUnknown_203F3E0->unk48; + for (i = first; i < count; i++) + { + struct DodrioSubstruct_31A0 * ptr = &gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId]; + u8 var = sUnknown_8471F50[gUnknown_203F3E0->unk24 - 1][gUnknown_203F3E0->multiplayerId][i]; + + if (ptr->unk14.unkB[var] != 0) + sub_81542EC(i, FALSE); + else + sub_81542EC(i, TRUE); + + if (ptr->unk14.unkB[var] > 9) + { + sub_8154398(i, ptr->unk14.unk0[var] + 3); + sub_8154370(i, ptr->unk14.unkB[var] * 2 - 1); + } + else if (ptr->unk14.unk0[var] == 3) + { + ptr->unk14.unkB[var] = 7; + sub_8154398(i, 6); + sub_8154370(i, ptr->unk14.unkB[var] * 2 - 1); + } + else + { + sub_8154398(i, ptr->unk14.unk0[var]); + sub_8154370(i, ptr->unk14.unkB[var] * 2); + } + } +} + +static void sub_81528D0(void) +{ + u8 i, count; + + count = gUnknown_203F3E0->unk24; + for (i = 0; i < count; i++) + { + struct DodrioSubstruct_31A0 * ptr = &gUnknown_203F3E0->unk31A0[i]; + sub_8153DA8(i, ptr->unk2C.unk0); + } +} + +static void sub_8152910(void) +{ + u8 i, count; + + count = gUnknown_203F3E0->unk24; + for (i = 0; i < count; i++) + sub_8153DA8(i, 4); +} + +static void sub_815293C(void) +{ + sub_81527D0(); + if (gUnknown_203F3E0->unk40 > 9) + sub_8152910(); + else + sub_81528D0(); + + sub_8153FC8(gUnknown_203F3E0->unk40); +} + +// This function is literally the same as the one above...Why? +static void sub_8152970(void) +{ + sub_81527D0(); + if (gUnknown_203F3E0->unk40 > 9) + sub_8152910(); + else + sub_81528D0(); + + sub_8153FC8(gUnknown_203F3E0->unk40); +} + +static void sub_81529A4(u8 arg0, u8 *arg1, u8 *arg2) +{ + switch (arg0) + { + case 1: + *arg1 = 4, *arg2 = 7; + break; + case 2: + *arg1 = 3, *arg2 = 8; + break; + case 3: + *arg1 = 2, *arg2 = 9; + break; + case 4: + *arg1 = 1, *arg2 = 10; + break; + case 5: + *arg1 = 0, *arg2 = 11; + break; + } +} + +static bool32 sub_8152A00(void) +{ + u8 i, count; + + count = gUnknown_203F3E0->unk24; + for (i = 1; i < count; i++) + { + if (gUnknown_203F3E0->unk158[i] == 0) + gUnknown_203F3E0->unk158[i] = sub_815A5E8(i); + } + + // This loop won't ever run, the seemingly pointless assingment below is to make the compiler + // generate code for it. + count = count; + for (; i < count; i++) + { + if (gUnknown_203F3E0->unk158[i] == 0) + return FALSE; + } + + return TRUE; +} + +static void sub_8152A70(void) +{ + u8 i; + + for (i = 0; i < 5; i++) + gUnknown_203F3E0->unk158[i] = 0; +} + +static bool32 sub_8152A98(void) +{ + if (gUnknown_203F3E0->unk40 > 9 && gUnknown_203F3E0->unk120 == 0) + { + gUnknown_203F3E0->unk40 = 10; + if (gUnknown_203F3E0->unk12C != 0) + return TRUE; + } + + return FALSE; +} + +static bool32 sub_8152AD8(void) +{ + u8 i, first, count; + + if (gUnknown_203F3E0->unk40 > 9) + { + first = gUnknown_203F3E0->unk44; + count = gUnknown_203F3E0->unk48; + gUnknown_203F3E0->unk40 = 10; + if (gUnknown_203F3E0->unk12C != 0) + { + for (i = first; i < count; i++) + { + struct DodrioSubstruct_31A0 * ptr = &gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId]; + u8 var = sUnknown_8471F50[gUnknown_203F3E0->unk24 - 1][gUnknown_203F3E0->multiplayerId][i]; + + if (ptr->unk14.unkB[var] != 10) + return FALSE; + } + return TRUE; + } + } + + return FALSE; +} + +static void sub_8152B64(u8 arg0) +{ + u8 var = sUnknown_8475550[gUnknown_203F3E0->unk90[arg0] % 7] + (gUnknown_203F3E0->unk90[arg0] / 7) * 100; + if (gUnknown_203F3E0->unk86[arg0] >= var) + gUnknown_203F3E0->unk90[arg0]++; +} + +static u8 sub_8152BD4(u8 arg0) +{ + return sUnknown_84720FC[gUnknown_203F3E0->unk24 - 1][arg0]; +} + +static u8 sub_8152BF8(u8 arg0, u8 arg1) +{ + u8 i, var3; + u8 count = gUnknown_203F3E0->unk24 - 1; + u8 var0 = sUnknown_84720AE[count][arg0][0]; + u8 var1 = sUnknown_84720AE[count][arg0][1]; + u8 var2 = sUnknown_84720AE[count][arg0][2]; + + for (i = 0; sUnknown_8472133[count][i] != 0; i++) + { + if (arg1 == sUnknown_8472133[count][i]) + return sub_8152CB8(gUnknown_203F3E0->unk90[var1], arg1); + } + + // Gets the highest of the three. + if (gUnknown_203F3E0->unk90[var0] > gUnknown_203F3E0->unk90[var1]) + var3 = gUnknown_203F3E0->unk90[var0]; + else + var3 = gUnknown_203F3E0->unk90[var1]; + + if (gUnknown_203F3E0->unk90[var2] > var3) + var3 = gUnknown_203F3E0->unk90[var2]; + + return sub_8152CB8(var3, arg1); +} + +static u8 sub_8152CB8(u8 arg0, u8 arg1) +{ + u8 var = gUnknown_203F3E0->unkE8[arg1]; + switch (arg0 % 7) + { + default: return 0; + case 0: return 0; + case 1: return 1; + case 2: return 2; + case 3: + if (var == 0) + return 1; + else + return 0; + case 4: + if (var == 0) + return 2; + else + return 0; + case 5: + if (var == 2) + return 1; + else + return 2; + case 6: + if (var == 0) + return 1; + else if (var == 1) + return 2; + else + return 0; + } +} + +static void sub_8152D34(u8 arg0, u8 arg1, u8 arg2) +{ + u8 var; + u8 count = gUnknown_203F3E0->unk24; + switch (arg0) + { + case 0: + case 1: + case 2: + var = gUnknown_203F3E0->unk31A0[0].unk14.unk0[arg1]; + gUnknown_203F3E0->unk4A[arg2][var] = IncrementWithLimit(gUnknown_203F3E0->unk4A[arg2][var], 20000); + break; + case 3: + switch (count) + { + case 5: + switch (arg1) + { + case 0: + gUnknown_203F3E0->unk4A[2][3]++; + gUnknown_203F3E0->unk4A[3][3]++; + break; + case 1: + gUnknown_203F3E0->unk4A[3][3]++; + break; + case 2: + gUnknown_203F3E0->unk4A[3][3]++; + gUnknown_203F3E0->unk4A[4][3]++; + break; + case 3: + gUnknown_203F3E0->unk4A[4][3]++; + break; + case 4: + gUnknown_203F3E0->unk4A[4][3]++; + gUnknown_203F3E0->unk4A[0][3]++; + break; + case 5: + gUnknown_203F3E0->unk4A[0][3]++; + break; + case 6: + gUnknown_203F3E0->unk4A[0][3]++; + gUnknown_203F3E0->unk4A[1][3]++; + break; + case 7: + gUnknown_203F3E0->unk4A[1][3]++; + break; + case 8: + gUnknown_203F3E0->unk4A[1][3]++; + gUnknown_203F3E0->unk4A[2][3]++; + break; + case 9: + gUnknown_203F3E0->unk4A[2][3]++; + break; + } + break; + case 4: + switch (arg1) + { + case 1: + gUnknown_203F3E0->unk4A[2][3]++; + gUnknown_203F3E0->unk4A[3][3]++; + break; + case 2: + gUnknown_203F3E0->unk4A[3][3]++; + break; + case 3: + gUnknown_203F3E0->unk4A[3][3]++; + gUnknown_203F3E0->unk4A[0][3]++; + break; + case 4: + gUnknown_203F3E0->unk4A[0][3]++; + break; + case 5: + gUnknown_203F3E0->unk4A[0][3]++; + gUnknown_203F3E0->unk4A[1][3]++; + break; + case 6: + gUnknown_203F3E0->unk4A[1][3]++; + break; + case 7: + gUnknown_203F3E0->unk4A[1][3]++; + gUnknown_203F3E0->unk4A[2][3]++; + break; + case 8: + gUnknown_203F3E0->unk4A[2][3]++; + break; + } + break; + case 3: + switch (arg1) + { + case 2: + gUnknown_203F3E0->unk4A[1][3]++; + gUnknown_203F3E0->unk4A[2][3]++; + break; + case 3: + gUnknown_203F3E0->unk4A[2][3]++; + break; + case 4: + gUnknown_203F3E0->unk4A[2][3]++; + gUnknown_203F3E0->unk4A[0][3]++; + break; + case 5: + gUnknown_203F3E0->unk4A[0][3]++; + break; + case 6: + gUnknown_203F3E0->unk4A[0][3]++; + gUnknown_203F3E0->unk4A[1][3]++; + break; + case 7: + gUnknown_203F3E0->unk4A[1][3]++; + break; + } + break; + case 2: + switch (arg1) + { + case 3: + gUnknown_203F3E0->unk4A[0][3]++; + gUnknown_203F3E0->unk4A[1][3]++; + break; + case 4: + gUnknown_203F3E0->unk4A[0][3]++; + break; + case 5: + gUnknown_203F3E0->unk4A[0][3]++; + gUnknown_203F3E0->unk4A[1][3]++; + break; + case 6: + gUnknown_203F3E0->unk4A[1][3]++; + break; + } + break; + } + break; + } +} + +static void sub_8152F94(bool32 arg0) +{ + if (gUnknown_203F3E0->unk24 != 5) + return; + + if (arg0 == TRUE) + { + if (++gUnknown_203F3E0->unk112 > gUnknown_203F3E0->unk114) + gUnknown_203F3E0->unk114 = gUnknown_203F3E0->unk112; + if (gUnknown_203F3E0->unk112 > 9999) + gUnknown_203F3E0->unk112 = 9999; + } + else + { + if (gUnknown_203F3E0->unk112 > gUnknown_203F3E0->unk114) + gUnknown_203F3E0->unk114 = gUnknown_203F3E0->unk112; + gUnknown_203F3E0->unk112 = 0; + } +} + +static void sub_8153004(void) +{ + u8 i; + for (i = 0; i < gUnknown_203F3E0->unk24; i++) + gUnknown_203F3E0->unk4A[i][5] = gUnknown_203F3E0->unk114; +} + +static void sub_8153048(void) +{ + u8 i, j; + + for (i = 0; i < 5; i++) + { + for (j = 0; j < 11; j++) + gUnknown_203F3E0->unk31A0[i].unk14.unkB[j] = 0; + gUnknown_203F3E0->unk31A0[i].unk2C.unk0 = 0; + gUnknown_203F3E0->unk31A0[i].unk2C.unk4 = 0; + gUnknown_203F3E0->unk90[i] = 0; + gUnknown_203F3E0->unk86[i] = 0; + gUnknown_203F3E0->unk3308[i].unk0 = 0; + gUnknown_203F3E0->unk3308[i].unk4 = 0; + gUnknown_203F3E0->unk4A[i][0] = 0; + gUnknown_203F3E0->unk4A[i][1] = 0; + gUnknown_203F3E0->unk4A[i][2] = 0; + gUnknown_203F3E0->unk4A[i][3] = 0; + gUnknown_203F3E0->unk4A[i][4] = 0; + gUnknown_203F3E0->unk4A[i][5] = 0; + } + gUnknown_203F3E0->unk154 = 0; + gUnknown_203F3E0->unk112 = 0; + gUnknown_203F3E0->unk40 = 0; + sub_81528D0(); + sub_81527D0(); +} + +static const s16 sUnknown_84755D8[] = {10, 30, 50, 50}; + +static void sub_8153150(void) +{ + u8 i, var = 0, var2 = 0; + + switch (gUnknown_203F3E0->unk24) + { + case 4: var = 1; break; + case 5: var = 2; break; + } + + var2 = Random() % 10; + for (i = 0; i < 5; i++) + gUnknown_203F3E0->unk4A[i][4] = sUnknown_8475558[var][var2]; +} + +static u32 sub_81531BC(u8 arg0) +{ + u32 sum = gUnknown_203F3E0->unk4A[arg0][0] + + gUnknown_203F3E0->unk4A[arg0][1] + + gUnknown_203F3E0->unk4A[arg0][2]; + return min(sum, 9999); +} + +static void sub_81531FC(void) +{ + u32 berriesPicked = Min(sub_81531BC(gUnknown_203F3E0->multiplayerId), 9999); + u32 score = Min(sub_8153424(gUnknown_203F3E0->multiplayerId), 999990); + + if (gSaveBlock2Ptr->berryPick.bestScore < score) + gSaveBlock2Ptr->berryPick.bestScore = score; + if (gSaveBlock2Ptr->berryPick.berriesPicked < berriesPicked) + gSaveBlock2Ptr->berryPick.berriesPicked = berriesPicked; + if (gSaveBlock2Ptr->berryPick.berriesPickedInRow < gUnknown_203F3E0->unk114) + gSaveBlock2Ptr->berryPick.berriesPickedInRow = gUnknown_203F3E0->unk114; +} + +static u8 sub_815327C(u8 arg0) +{ + u8 i, saved; + + saved = gUnknown_203F3E0->unk98[3]; + for (i = 3; i != 0; i--) + gUnknown_203F3E0->unk98[i] = gUnknown_203F3E0->unk98[i - 1]; + gUnknown_203F3E0->unk98[0] = arg0; + return saved; +} + +static void sub_81532B8(void) +{ + if (gUnknown_203F3E0->unkB0[gUnknown_203F3E0->multiplayerId] == 0) + { + if (JOY_NEW(DPAD_UP)) + { + gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId].unk2C.unk0 = 2; + gUnknown_203F3E0->unkB0[gUnknown_203F3E0->multiplayerId] = 6; + PlaySE(SE_W204); + } + else if (JOY_NEW(DPAD_LEFT)) + { + gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId].unk2C.unk0 = 3; + gUnknown_203F3E0->unkB0[gUnknown_203F3E0->multiplayerId] = 6; + PlaySE(SE_W204); + } + else if (JOY_NEW(DPAD_RIGHT)) + { + gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId].unk2C.unk0 = 1; + gUnknown_203F3E0->unkB0[gUnknown_203F3E0->multiplayerId] = 6; + PlaySE(SE_W204); + } + else + { + gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId].unk2C.unk0 = 0; + } + } + else + { + gUnknown_203F3E0->unkB0[gUnknown_203F3E0->multiplayerId]--; + } +} + +static void sub_815336C(void) +{ + gUnknown_203F3E0->unk31A0[gUnknown_203F3E0->multiplayerId].unk2C.unk0 = 0; +} + +u16 sub_8153390(void) +{ + return gUnknown_203F3E0->unk4A[gUnknown_203F3E0->multiplayerId][4] + FIRST_BERRY_INDEX; +} + +u8 sub_81533B4(void) +{ + return gUnknown_203F3E0->unk24; +} + +u8 *sub_81533C4(u8 id) +{ + if (gReceivedRemoteLinkPlayers) + return gLinkPlayers[id].name; + else + return gUnknown_203F3E0->unk31A0[id].name; +} + +u16 sub_8153404(u8 arg0, u8 arg1) +{ + return gUnknown_203F3E0->unk4A[arg0][arg1]; +} + +static u32 sub_8153424(u8 arg0) +{ + u8 i; + u32 var, sum = 0; + + for (i = 0; i < 3; i++) + sum += gUnknown_203F3E0->unk4A[arg0][i] * sUnknown_84755D8[i]; + + var = gUnknown_203F3E0->unk4A[arg0][3] * sUnknown_84755D8[3]; + if (sum <= var) + return 0; + else + return sum - var; +} + +u32 sub_81534AC(void) +{ + u8 i, count = gUnknown_203F3E0->unk24; + u32 maxVar = sub_8153424(0); + + for (i = 1; i < count; i++) + { + u32 var = sub_8153424(i); + if (var > maxVar) + maxVar = var; + } + return Min(maxVar, 999990); +} + +u32 sub_81534F0(u8 arg0) +{ + u8 i, count = gUnknown_203F3E0->unk24; + u16 maxVar = gUnknown_203F3E0->unk4A[0][arg0]; + + for (i = 0; i < count; i++) + { + u16 var = gUnknown_203F3E0->unk4A[i][arg0]; + if (var > maxVar) + maxVar = var; + } + return maxVar; +} + +static u32 sub_8153534(u8 arg0) +{ + u32 vals[5], temp; + s16 r6 = TRUE; + u8 i, count = gUnknown_203F3E0->unk24; + + for (i = 0; i < count; i++) + vals[i] = temp = sub_8153424(i); + + while (r6) + { + r6 = FALSE; + for (i = 0; i < count - 1; i++) + { + if (vals[i] < vals[i + 1]) + { + SWAP(vals[i], vals[i + 1], temp); + r6 = TRUE; + } + } + } + + return vals[arg0]; +} + +u32 sub_81535B0(void) +{ + u8 i, r10 = 0, r8 = 0, r9 = 0, count = gUnknown_203F3E0->unk24; + + // Function called two times for some reason. + sub_81534AC(); + if (sub_81534AC() == 0) + { + for (i = 0; i < count; i++) + { + gUnknown_203F3E0->unk3308[i].unk0 = 4; + gUnknown_203F3E0->unk3308[i].unk4 = 0; + } + } + + for (i = 0; i < count; i++) + gUnknown_203F3E0->unk3308[i].unk4 = Min(sub_8153424(i), 999990); + + do + { + u32 r6 = sub_8153534(r10); + u8 r3 = r8; + for (i = 0; i < count; i++) + { + if (r6 == gUnknown_203F3E0->unk3308[i].unk4) + { + gUnknown_203F3E0->unk3308[i].unk0 = r3; + r8++; + r9++; + } + } + r10 = r8; + } while (r9 < count); + + return 0; +} + +void sub_81536A0(struct DodrioSubstruct_3308 * dst, u8 id) +{ + *dst = gUnknown_203F3E0->unk3308[id]; +} + +static u8 sub_81536C0(u8 arg0) +{ + u8 i, ret = 0, count = gUnknown_203F3E0->unk24; + u32 var, vars[5] = {0}; + + for (i = 0; i < count; i++) + vars[i] = sub_8153424(i); + + var = vars[arg0]; + for (i = 0; i < 5; i++) + { + if (i != arg0 && var < vars[i]) + ret++; + } + + return ret; +} + +u8 sub_815372C(void) +{ + u8 multiplayerId = gUnknown_203F3E0->multiplayerId; + u16 itemId = sub_8153390(); + + if (sub_8153424(multiplayerId) != sub_81534AC()) + return 3; + if (!CheckBagHasSpace(itemId, 1)) + return 2; + + AddBagItem(itemId, 1); + if (!CheckBagHasSpace(itemId, 1)) + return 1; + return 0; +} + +// Really? What next, u32 Add(u32 a)return a+1;? +u32 IncrementWithLimit(u32 a, u32 max) +{ + if (a < max) + return a + 1; + else + return max; +} + +// Gamefreak pls, min(a, b) ((a) < (b) ? (a) : (b)) is a well-known macro +u32 Min(u32 a, u32 b) +{ + if (a < b) + return a; + else + return b; +} + +u8 sub_81537AC(u8 id) +{ + return gUnknown_203F3E0->unk34[id]; +} + +void IsDodrioInParty(void) +{ + int i; + for (i = 0; i < PARTY_SIZE; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_HAS_SPECIES) + && GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_DODRIO) + { + gSpecialVar_Result = TRUE; + return; + } + } + + gSpecialVar_Result = FALSE; +} + +void ShowDodrioBerryPickingRecords(void) +{ + u8 taskId = CreateTask(Task_ShowDodrioBerryPickingRecords, 0); + Task_ShowDodrioBerryPickingRecords(taskId); +} // Data related to printing saved results. -/*static*/ const struct WindowTemplate sUnknown_84755E0 = +static const struct WindowTemplate sUnknown_84755E0 = { .bg = 0, .tilemapLeft = 1, @@ -223,15 +2324,76 @@ ALIGNED(4) .baseBlock = 1, }; -/*static*/ const u8 *const sUnknown_84755E8[] = {gText_BerryPickingRecords, gText_BerriesPicked, gText_BestScore, gText_BerriesInRowFivePlayers}; -/*static*/ const u8 sUnknown_84755F8[] = {4, 7, 4}; +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}}; +static const u8 sUnknown_84755FC[][2] = {{24}, {40}, {56}}; +static const u8 sUnknown_8475602[][2] = {{24}, {40}, {70}}; + +static void Task_ShowDodrioBerryPickingRecords(u8 taskId) +{ + struct WindowTemplate window; + s32 i, width, widthCurr; + s16 *data = gTasks[taskId].data; + + switch (data[0]) + { + case 0: + data[1] = AddWindow(&sUnknown_84755E0); + sub_81538D0(data[1]); + CopyWindowToVram(data[1], 3); + data[0]++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + data[0]++; + break; + case 2: + if (JOY_NEW(A_BUTTON | B_BUTTON)) + { + rbox_fill_rectangle(data[1]); + CopyWindowToVram(data[1], 1); + data[0]++; + } + break; + case 3: + if (!IsDma3ManagerBusyWithBgCopy()) + { + RemoveWindow(data[1]); + DestroyTask(taskId); + EnableBothScriptContexts(); + } + break; + } +} + +static void sub_81538D0(u8 windowId) +{ + s32 i, x, numWidth; + s32 results[3]; + u8 strbuf[20]; + results[0] = gSaveBlock2Ptr->berryPick.berriesPicked; + results[1] = gSaveBlock2Ptr->berryPick.bestScore; + results[2] = gSaveBlock2Ptr->berryPick.berriesPickedInRow; + + TextWindow_SetStdFrame0_WithPal(windowId, 0x21D, 0xD0); + DrawTextBorderOuter(windowId, 0x21D, 0xD); + FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); + AddTextPrinterParameterized(windowId, 2, sUnknown_84755E8[0], 1, 1, TEXT_SPEED_FF, NULL); + for (i = 0; i < 3; i++) + { + ConvertIntToDecimalStringN(strbuf, results[i], STR_CONV_MODE_LEFT_ALIGN, sUnknown_84755F8[i]); + numWidth = GetStringWidth(2, strbuf, -1); + AddTextPrinterParameterized(windowId, 2, sUnknown_84755E8[i + 1], 1, sUnknown_84755FC[i][0], TEXT_SPEED_FF, NULL); + x = 224 - numWidth; + AddTextPrinterParameterized(windowId, 2, strbuf, x, sUnknown_8475602[i][0], TEXT_SPEED_FF, NULL); + } + PutWindowTilemap(windowId); +} // Debug functions? -/*static*/ const u16 sUnknown_8475608[][4] = +static const u16 sUnknown_8475608[][4] = { {9999, 0, 90, 9999}, {9999, 9999, 70, 9999}, @@ -240,11 +2402,11 @@ ALIGNED(4) {9999, 9999, 9999, 0}, }; -/*static*/ const u8 sUnknown_8475630[] = _("あいうえおかき"); -/*static*/ const u8 sUnknown_8475638[] = _("ABCDEFG"); -/*static*/ const u8 sUnknown_8475640[] = _("0123456"); +static const u8 sUnknown_8475630[] = _("あいうえおかき"); +static const u8 sUnknown_8475638[] = _("ABCDEFG"); +static const u8 sUnknown_8475640[] = _("0123456"); -/*static*/ const u8 *const sUnknown_8475648[] = +static const u8 *const sPlaceholderPlayerNames[] = { sUnknown_8475630, sUnknown_8475630, @@ -253,496 +2415,22 @@ ALIGNED(4) sUnknown_8475640 }; -// Large chunk of data -/*static*/ const struct BgTemplate sUnknown_847565C[] = +static void sub_81539EC(void) { - { - .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 - }, -}; + gUnknown_203F3E0->unk24 = GetLinkPlayerCount(); +} -// Unknown unreferenced data, feel free to remove. -/*static*/ const u32 sUnused[] = {255, 0}; - -/*static*/ const struct WindowTemplate sUnknown_8475674[] = +static void sub_8153A04(void) { + u8 i, playerId; + + for (playerId = gUnknown_203F3E0->unk24; playerId < NELEMS(sPlaceholderPlayerNames); playerId++) + StringCopy(gLinkPlayers[playerId].name, sPlaceholderPlayerNames[playerId]); + + gUnknown_203F3E0->unk24 = 5; + for (i = 0; i < 4; i++) { - .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, + for (playerId = 0; playerId < gUnknown_203F3E0->unk24; playerId++) + gUnknown_203F3E0->unk4A[playerId][i] = sUnknown_8475608[playerId][i]; } -}; - -/*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}; +} diff --git a/src/dodrio_berry_picking_2.c b/src/dodrio_berry_picking_2.c index fc6aa14c6..e170ac903 100644 --- a/src/dodrio_berry_picking_2.c +++ b/src/dodrio_berry_picking_2.c @@ -1,23 +1,1617 @@ #include "global.h" +#include "gflib.h" +#include "dodrio_berry_picking.h" +#include "dynamic_placeholder_text_util.h" +#include "item.h" #include "link.h" -#include "link_rfu.h" +#include "menu.h" +#include "new_menu_helpers.h" +#include "save.h" +#include "strings.h" +#include "task.h" +#include "text_window.h" +#include "text_window_graphics.h" +#include "constants/songs.h" -void sub_815A5BC(s32 a0) +struct DodrioStruct_2022CF4 { - struct Padded_U8 data[2]; - data[0].value = 1; - data[1].value = a0; - sub_80F9E2C(data); + u8 filler_00[0xc]; + u8 unkC[10]; + s16 unk16[10]; + u16 unk2A[10]; + u16 unk3E; +}; // size = 0x40 + +static EWRAM_DATA u16 *gUnknown_203F3E4[5] = {NULL}; +static EWRAM_DATA u16 *gUnknown_203F3F8[2] = {NULL}; +static EWRAM_DATA u16 *gUnknown_203F400[11] = {NULL}; +static EWRAM_DATA u16 *gUnknown_203F42C[4] = {NULL}; +static EWRAM_DATA struct DodrioStruct_2022CF4 * gUnknown_203F43C = NULL; +static EWRAM_DATA struct DodrioSubstruct_0160 * gUnknown_203F440 = NULL; + +static void sub_8153B9C(struct Sprite * sprite); +static u32 sub_8153C30(struct Sprite * sprite); +static u32 sub_8153CA0(struct Sprite * sprite); +static void sub_8153D48(bool8 a0, u8 a1); +static void nullsub_97(struct Sprite * sprite); +static void sub_8154324(bool8 a0); +static void sub_81543E8(struct Sprite * sprite); +static s16 sub_8154608(u8 a0, u8 a1); +static void sub_8154A08(u8 taskId); +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); +static void sub_8155E24(MainCallback cb); +MainCallback sub_8155E54(void); +static void sub_8155EA0(void); +static bool32 sub_8155FE0(void); + +// Assets in this header are duplicated +#include "data/dodrio_berry_picking.h" + +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 +}; + +// Code + +void sub_8153A9C(void) +{ + void *ptr = AllocZeroed(0x3000); + struct SpritePalette pal1 = {sDodrioBerryPkmnPal, 0}; + struct SpritePalette pal2 = {sDodrioBerryShinyPal, 1}; + + LZ77UnCompWram(sDodrioBerryPkmnGfx, ptr); + // This check should be one line up. + if (ptr != NULL) + { + struct SpriteSheet sheet = {ptr, 0x3000, 0}; + LoadSpriteSheet(&sheet); + Free(ptr); + } + LoadSpritePalette(&pal1); + LoadSpritePalette(&pal2); } -u8 sub_815A5E8(s32 a0) +void sub_8153AFC(struct DodrioSubstruct_318C * arg0, u8 arg1, u8 id, u8 arg3) { - u8 * r1; - if ((gRecvCmds[0][0] & 0xFF00) != 0x2F00) - return 0; - r1 = (u8 *)&gRecvCmds[a0][1]; - if (r1[0] == 1) - return r1[4]; + struct SpriteTemplate sprTemplate = + { + .tileTag = 0, + .paletteTag = arg0->isShiny, + .oam = &sOamData_8478C98, + .anims = sSpriteAnimTable_8478CE0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8153B9C, + }; + + gUnknown_203F3E4[id] = AllocZeroed(4); + *gUnknown_203F3E4[id] = CreateSprite(&sprTemplate, sub_8154608(arg1, arg3), 136, 3); + sub_8153D48(TRUE, id); +} + +static void sub_8153B9C(struct Sprite * sprite) +{ + switch (sprite->data[0]) + { + case 0: + break; + case 1: + sub_8153C30(sprite); + break; + case 2: + sub_8153CA0(sprite); + break; + } +} + +void sub_8153BC0(u8 unused) +{ + struct Sprite * sprite = &gSprites[*gUnknown_203F3E4[GetMultiplayerId()]]; + sprite->data[0] = 1; + sprite->data[1] = 0; + sprite->data[2] = 0; + sprite->data[3] = 0; + sprite->data[4] = 0; +} + +void sub_8153BF8(u8 unused) +{ + struct Sprite * sprite = &gSprites[*gUnknown_203F3E4[GetMultiplayerId()]]; + sprite->data[0] = 2; + sprite->data[1] = 0; + sprite->data[2] = 0; + sprite->data[3] = 0; + sprite->data[4] = 0; +} + +static u32 sub_8153C30(struct Sprite * sprite) +{ + s8 var; + u8 mod = (++sprite->data[1] / 2) % 4; + + if (sprite->data[1] >= 3) + { + switch (mod) + { + default: + var = 1; + break; + case 1: + case 2: + var = -1; + break; + } + + sprite->pos1.x += var; + if (++sprite->data[1] >= 40) + { + sprite->data[0] = 0; + sprite->pos1.x = sub_8154608(0, sub_81533B4()); + } + } + return 0; } +static u32 sub_8153CA0(struct Sprite * sprite) +{ + u8 mod = (++sprite->data[1] / 13) % 4; + + if (sprite->data[1] % 13 == 0 && mod != 0) + PlaySE(SE_W204); + if (sprite->data[1] >= 104) + { + sprite->data[0] = 0; + mod = 0; + } + sub_8153DA8(GetMultiplayerId(), mod); + return 0; +} + +void sub_8153D08(u8 count) +{ + u8 i; + for (i = 0; i < count; i++) + { + struct Sprite * sprite = &gSprites[*gUnknown_203F3E4[i]]; + if (sprite != NULL) + DestroySpriteAndFreeResources(sprite); + // Memory should be freed here but is not. + } +} + +static void sub_8153D48(bool8 invisible, u8 id) +{ + gSprites[*gUnknown_203F3E4[id]].invisible = invisible; +} + +void sub_8153D80(bool8 invisible, u8 count) +{ + u8 i; + for (i = 0; i < count; i++) + sub_8153D48(invisible, i); +} + +void sub_8153DA8(u8 id, u8 frameNum) +{ + StartSpriteAnim(&gSprites[*gUnknown_203F3E4[id]], frameNum); +} + +static void nullsub_97(struct Sprite * sprite) +{ + +} + +void sub_8153DD8(void) +{ + u8 i; + for (i = 0; i < 10; i++) + { + struct Sprite * sprite = &gSprites[gUnknown_203F43C->unk2A[i]]; + sprite->pos1.x = (i * 16) + 48; + sprite->pos1.y = -8 - (i * 8); + gUnknown_203F43C->unkC[i] = 0; + } +} + +void sub_8153E28(void) +{ + u8 i; + void *ptr = AllocZeroed(0x180); + struct SpritePalette spPal = {sDodrioBerryStatusPal, 2}; + + LZ77UnCompWram(sDodrioBerryStatusGfx, ptr); + // This check should be one line up. + if (ptr != NULL) + { + struct SpriteSheet spSheet = {ptr, 0x180, 1}; + struct SpriteTemplate spTemplate = + { + .tileTag = 1, + .paletteTag = 2, + .oam = &sOamData_8478CA0, + .anims = sSpriteAnimTable_8478D0C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = nullsub_97, + }; + + gUnknown_203F43C = AllocZeroed(sizeof(*gUnknown_203F43C)); + LoadSpriteSheet(&spSheet); + LoadSpritePalette(&spPal); + for (i = 0; i < 10; i++) + gUnknown_203F43C->unk2A[i] = CreateSprite(&spTemplate, (i * 16) + 48, -8 - (i * 8), 0); + } + + Free(ptr); +} + +void sub_8153ED8(void) +{ + u8 i; + for (i = 0; i < 10; i++) + { + struct Sprite * sprite = &gSprites[gUnknown_203F43C->unk2A[i]]; + if (sprite != NULL) + DestroySpriteAndFreeResources(sprite); + } + FREE_AND_SET_NULL(gUnknown_203F43C); +} + +bool32 sub_8153F1C(void) +{ + u8 i; + bool32 r3 = FALSE; + for (i = 0; i < 10; i++) + { + struct Sprite * sprite = &gSprites[gUnknown_203F43C->unk2A[i]]; + gUnknown_203F43C->unk16[i] = 2; + if (gUnknown_203F43C->unkC[i] != 0 && sprite->pos1.y == 8) + continue; + r3 = TRUE; + if (sprite->pos1.y == 8) + { + if (gUnknown_203F43C->unkC[i] != 0) + continue; + gUnknown_203F43C->unkC[i] = 1; + gUnknown_203F43C->unk16[i] = -16; + PlaySE(SE_TK_KASYA); + } + sprite->pos1.y += gUnknown_203F43C->unk16[i]; + } + + if (r3) + return FALSE; + else + return TRUE; +} + +void sub_8153FC8(u8 arg0) +{ + u8 i; + + if (arg0 > 10) + { + for (i = 0; i < 10; i++) + StartSpriteAnim(&gSprites[gUnknown_203F43C->unk2A[i]], 1); + } + else + { + for (i = 0; i < 10 - arg0; i++) + { + if (arg0 > 6) + { + gUnknown_203F43C->unk3E += arg0 - 6; + if (gUnknown_203F43C->unk3E > 30) + gUnknown_203F43C->unk3E = 0; + else if (gUnknown_203F43C->unk3E > 10) + StartSpriteAnim(&gSprites[gUnknown_203F43C->unk2A[i]], 2); + else + StartSpriteAnim(&gSprites[gUnknown_203F43C->unk2A[i]], 0); + } + else + { + StartSpriteAnim(&gSprites[gUnknown_203F43C->unk2A[i]], 0); + } + } + for (; i < 10; i++) + StartSpriteAnim(&gSprites[gUnknown_203F43C->unk2A[i]], 1); + } +} + +void sub_81540DC(bool8 invisible) +{ + u8 i; + for (i = 0; i < 10; i++) + gSprites[gUnknown_203F43C->unk2A[i]].invisible = invisible; +} + +// Unknown unused data, feel free to remove. +static const u8 sUnused2[] = { + SE_W204, + SE_TOY_C, + SE_TOY_D, + SE_TOY_E, + SE_TOY_F, + SE_TOY_G, + SE_TOY_A, + SE_TOY_B, + SE_TOY_C1, + SE_CARD3 +}; + +void sub_8154128(void) +{ + void *ptr = AllocZeroed(0x480); + struct SpritePalette sprPal = {sDodrioBerrySpritesPal, 3}; + + LZ77UnCompWram(sDodrioBerrySpritesGfx, ptr); + if (ptr != NULL) // This should be one line up + { + struct SpriteSheet sprSheet = {ptr, 0x480, 2}; + LoadSpriteSheet(&sprSheet); + } + + LoadSpritePalette(&sprPal); + Free(ptr); +} + +static const s16 sUnknown_8478DD4[] = {88, 128, 168, 208}; + +void sub_815417C(void) +{ + u8 i; + s16 x; + + struct SpriteTemplate sprTemplate1 = + { + .tileTag = 2, + .paletteTag = 3, + .oam = &sOamData_8478CA8, + .anims = sSpriteAnimTable_8478D60, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }; + struct SpriteTemplate sprTemplate2 = + { + .tileTag = 2, + .paletteTag = 3, + .oam = &sOamData_8478CA0, + .anims = sSpriteAnimTable_8478D60, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }; + + for (i = 0; i < 11; i++) + { + gUnknown_203F400[i] = AllocZeroed(4); + x = i * 16; + *gUnknown_203F400[i] = CreateSprite(&sprTemplate1, x + (i * 8), 8, 1); + sub_81542EC(i, TRUE); + } + for (i = 0; i < 4; i++) + { + gUnknown_203F42C[i] = AllocZeroed(4); + if (i == 3) + *gUnknown_203F42C[i] = CreateSprite(&sprTemplate2, sUnknown_8478DD4[i], 57, 0); + else + *gUnknown_203F42C[i] = CreateSprite(&sprTemplate2, sUnknown_8478DD4[i], 60, 0); + StartSpriteAnim(&gSprites[*gUnknown_203F42C[i]], i); + } + + sub_8154324(TRUE); +} + +void sub_8154274(void) +{ + struct Sprite * sprite; + u8 i; + + for (i = 0; i < 11; i++) + { + sprite = &gSprites[*gUnknown_203F400[i]]; + if (sprite != NULL) + DestroySprite(sprite); + FREE_AND_SET_NULL(gUnknown_203F400[i]); + } + for (i = 0; i < 4; i++) + { + sprite = &gSprites[*gUnknown_203F42C[i]]; + if (sprite != NULL) + DestroySprite(sprite); + FREE_AND_SET_NULL(gUnknown_203F42C[i]); + } +} + +void sub_81542EC(u8 id, bool8 invisible) +{ + gSprites[*gUnknown_203F400[id]].invisible = invisible; +} + +static void sub_8154324(bool8 invisible) +{ + u8 i; + for (i = 0; i < 4; i++) + gSprites[*gUnknown_203F42C[i]].invisible = invisible; +} + +void sub_8154370(u8 id, u8 y) +{ + gSprites[*gUnknown_203F400[id]].pos1.y = y * 8; +} + +void sub_8154398(u16 id, u8 frameNum) +{ + StartSpriteAnim(&gSprites[*gUnknown_203F400[id]], frameNum); +} + +// Unused +static void sub_81543C4(u8 spriteId) +{ + gSprites[spriteId].pos1.x = 20 * spriteId + 50; + gSprites[spriteId].pos1.y = 50; +} + +// Gamefreak made a mistake there and goes out of bounds for the data array as it holds 8 elements +// in turn overwriting sprite's subpriority and subsprites fields. +#if defined(BUGFIX) +#define sKeepPosX data[1] +#else +#define sKeepPosX data[10] +#endif // NONMATCHING + +static void sub_81543E8(struct Sprite * sprite) +{ + u8 i; + static const u8 array[] = {30, 20}; + + if (sprite->sKeepPosX != TRUE) + { + for (i = 0; i < 2; i++) + { + if (++gUnknown_203F3F8[i][1] > array[i]) + { + sprite->pos1.x--; + gUnknown_203F3F8[i][1] = 0; + } + } + } +} + +static const s16 gUnknown_8478E0E[][2] = {{230, 55}, {30, 74}}; + +void sub_8154438(void) +{ + u8 i; + void *ptr = AllocZeroed(0x400); + struct SpritePalette sprPal = {sDodrioBerryPlatformPal, 6}; + + LZ77UnCompWram(sDodrioBerryPlatformGfx, ptr); + if (ptr != NULL) // This should be one line up + { + struct SpriteSheet sprSheet = {ptr, 0x400, 5}; + struct SpriteTemplate sprTemplate = + { + .tileTag = 5, + .paletteTag = 6, + .oam = &sOamData_8478CB0, + .anims = sSpriteAnimTable_8478D8C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81543E8, + }; + + LoadSpriteSheet(&sprSheet); + LoadSpritePalette(&sprPal); + for (i = 0; i < 2; i++) + { + gUnknown_203F3F8[i] = AllocZeroed(4); + *gUnknown_203F3F8[i] = CreateSprite(&sprTemplate, gUnknown_8478E0E[i][0], gUnknown_8478E0E[i][1], 4); + } + } + + Free(ptr); +} + +void sub_81544F0(void) +{ + u8 i; + for (i = 0; i < 2; i++) + { + struct Sprite * sprite = &gSprites[*gUnknown_203F3F8[i]]; + sprite->sKeepPosX = TRUE; + sprite->pos1.x = gUnknown_8478E0E[i][0]; + sprite->pos1.y = gUnknown_8478E0E[i][1]; + } +} + +void sub_8154540(void) +{ + u8 i; + for (i = 0; i < 2; i++) + { + struct Sprite * sprite = &gSprites[*gUnknown_203F3F8[i]]; + sprite->sKeepPosX = FALSE; + } +} + +void sub_8154578(void) +{ + u8 i; + for (i = 0; i < 2; i++) + { + struct Sprite * sprite = &gSprites[*gUnknown_203F3F8[i]]; + if (sprite) + DestroySprite(sprite); + FREE_AND_SET_NULL(gUnknown_203F3F8[i]); + } +} + +void sub_81545BC(bool8 invisible) +{ + u8 i; + for (i = 0; i < 2; i++) + gSprites[*gUnknown_203F3F8[i]].invisible = invisible; +} + +#undef sKeepPosX + +static s16 sub_8154608(u8 arg0, u8 arg1) +{ + s16 x = 0; + switch (arg1) + { + case 1: + x = 15; + break; + case 2: + switch (arg0) + { + case 0: x = 12; break; + case 1: x = 18; break; + } + break; + case 3: + switch (arg0) + { + case 0: x = 15; break; + case 1: x = 21; break; + case 2: x = 9; break; + } + break; + case 4: + switch (arg0) + { + case 0: x = 12; break; + case 1: x = 18; break; + case 2: x = 24; break; + case 3: x = 6; break; + } + break; + case 5: + switch (arg0) + { + case 0: x = 15; break; + case 1: x = 21; break; + case 2: x = 27; break; + case 3: x = 3; break; + case 4: x = 9; break; + } + break; + } + + return x * 8; +} + +void sub_81546C0(void) +{ + u8 i; + for (i = 0; i < 11; i++) + { + sub_81542EC(i, TRUE); + sub_8154370(i, 1); + } + sub_81540DC(FALSE); +} + +static void sub_81546EC(u8 frameId) +{ + LoadBgTiles(0, GetUserFrameGraphicsInfo(frameId)->tiles, 0x120, 1); + LoadPalette(GetUserFrameGraphicsInfo(frameId)->palette, 0xA0, 0x20); +} + +static void sub_8154720(void) +{ + TextWindow_SetStdFrame0_WithPal(0, 0xA, 0xB0); +} + +void sub_8154730(void) +{ + gUnknown_203F440->finished = FALSE; + gUnknown_203F440->state = 0; + gUnknown_203F440->unk3018 = 0; + gUnknown_203F440->unk3020 = 0; + gUnknown_203F440->unk3024 = 0; +} + +static void sub_8154768(const struct WindowTemplate * winTempl) +{ + u8 pal = 0xA; + + FillBgTilemapBufferRect(0, 1, winTempl->tilemapLeft - 1, winTempl->tilemapTop - 1, 1, 1, pal); + FillBgTilemapBufferRect(0, 2, winTempl->tilemapLeft, winTempl->tilemapTop - 1, winTempl->width, 1, pal); + FillBgTilemapBufferRect(0, 3, winTempl->tilemapLeft + winTempl->width, winTempl->tilemapTop - 1, 1, 1, pal); + FillBgTilemapBufferRect(0, 4, winTempl->tilemapLeft - 1, winTempl->tilemapTop, 1, winTempl->height, pal); + FillBgTilemapBufferRect(0, 6, winTempl->tilemapLeft + winTempl->width, winTempl->tilemapTop, 1, winTempl->height, pal); + FillBgTilemapBufferRect(0, 7, winTempl->tilemapLeft - 1, winTempl->tilemapTop + winTempl->height, 1, 1, pal); + FillBgTilemapBufferRect(0, 8, winTempl->tilemapLeft, winTempl->tilemapTop + winTempl->height, winTempl->width, 1, pal); + FillBgTilemapBufferRect(0, 9, winTempl->tilemapLeft + winTempl->width, winTempl->tilemapTop + winTempl->height, 1, 1, pal); +} + +static void sub_8154868(const struct WindowTemplate * winTempl) +{ + u8 pal = 0xB; + + FillBgTilemapBufferRect(0, 10, winTempl->tilemapLeft - 1, winTempl->tilemapTop - 1, 1, 1, pal); + FillBgTilemapBufferRect(0, 11, winTempl->tilemapLeft, winTempl->tilemapTop - 1, winTempl->width, 1, pal); + FillBgTilemapBufferRect(0, 12, winTempl->tilemapLeft + winTempl->width, winTempl->tilemapTop - 1, 1, 1, pal); + FillBgTilemapBufferRect(0, 13, winTempl->tilemapLeft - 1, winTempl->tilemapTop, 1, winTempl->height, pal); + FillBgTilemapBufferRect(0, 15, winTempl->tilemapLeft + winTempl->width, winTempl->tilemapTop, 1, winTempl->height, pal); + FillBgTilemapBufferRect(0, 16, winTempl->tilemapLeft - 1, winTempl->tilemapTop + winTempl->height, 1, 1, pal); + FillBgTilemapBufferRect(0, 17, winTempl->tilemapLeft, winTempl->tilemapTop + winTempl->height, winTempl->width, 1, pal); + FillBgTilemapBufferRect(0, 18, winTempl->tilemapLeft + winTempl->width, winTempl->tilemapTop + winTempl->height, 1, 1, pal); +} + +void sub_8154968(struct DodrioSubstruct_0160 * ptr) +{ + gUnknown_203F440 = ptr; + gUnknown_203F440->finished = FALSE; + gUnknown_203F440->state = 0; + gUnknown_203F440->unk3018 = 0; + gUnknown_203F440->unk3020 = 0; + gUnknown_203F440->unk3024 = 0; + gUnknown_203F440->unk3004 = CreateTask(sub_8154A08, 3); + sub_8155E24(sub_8154A2C); +} + +static void sub_81549C8(void) +{ + FreeAllWindowBuffers(); +} + +struct WinCoords +{ + u8 left; + u8 top; +}; + +static const u8 sTextColorTable[][3] = +{ + { + TEXT_COLOR_WHITE, + TEXT_COLOR_DARK_GREY, + TEXT_COLOR_LIGHT_GREY + }, { + TEXT_COLOR_WHITE, + TEXT_COLOR_RED, + TEXT_COLOR_LIGHT_RED + }, { + TEXT_COLOR_WHITE, + TEXT_COLOR_BLUE, + TEXT_COLOR_LIGHT_BLUE + }, { + TEXT_COLOR_WHITE, + TEXT_COLOR_GREEN, + TEXT_COLOR_LIGHT_GREEN + } +}; + +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}, +}; + +void sub_81549D4(u8 arg0) +{ + u8 i; + for (i = 0; i < 10; i++) + { + if (gUnknown_8478EC4[i].id == arg0) + sub_8155E24(gUnknown_8478EC4[i].func); + } +} + +static void sub_8154A08(u8 taskId) +{ + if (!gUnknown_203F440->finished) + sub_8155E54()(); +} + +static void sub_8154A2C(void) +{ + switch (gUnknown_203F440->state) + { + case 0: + sub_8155EA0(); + gUnknown_203F440->state++; + break; + case 1: + if (sub_8155FE0() == TRUE) + gUnknown_203F440->state++; + break; + case 2: + CopyToBgTilemapBuffer(3, sDodrioBerryBgTilemap1, 0, 0); + CopyToBgTilemapBuffer(1, sDodrioBerryBgTilemap2Left, 0, 0); + CopyToBgTilemapBuffer(2, sDodrioBerryBgTilemap2Right, 0, 0); + CopyBgTilemapBufferToVram(3); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); + gUnknown_203F440->state++; + break; + case 3: + ShowBg(0); + ShowBg(3); + ShowBg(1); + ShowBg(2); + gUnknown_203F440->state++; + break; + case 4: + sub_81546EC(gSaveBlock2Ptr->optionsWindowFrameType); + sub_8154720(); + gUnknown_203F440->state++; + break; + default: + gUnknown_203F440->finished = TRUE; + break; + } +} + +static void sub_8154B34(void) +{ + u8 i, playersCount, id, colorsId, *name; + u32 left; + struct WindowTemplate window; + const struct WinCoords * ptr; + + switch (gUnknown_203F440->state) + { + case 0: + playersCount = sub_81533B4(); + ptr = sUnknown_8478E80[playersCount - 1]; + window.bg = 0; + window.width = 7; + window.height = 2; + window.paletteNum = 0xD; + window.baseBlock = 0x13; + for (i = 0; i < playersCount; ptr++, i++) + { + colorsId = 0; + id = sub_81537AC(i); + left = (56 - GetStringWidth(0, sub_81533C4(id), -1)) / 2u; + window.tilemapLeft = ptr->left; + window.tilemapTop = ptr->top; + gUnknown_203F440->unk3008[i] = AddWindow(&window); + ClearWindowTilemap(gUnknown_203F440->unk3008[i]); + FillWindowPixelBuffer(gUnknown_203F440->unk3008[i], PIXEL_FILL(1)); + if (id == GetMultiplayerId()) + colorsId = 2; + name = sub_81533C4(id); + AddTextPrinterParameterized3(gUnknown_203F440->unk3008[i], 0, left, 1, sTextColorTable[colorsId], -1, name); + CopyWindowToVram(gUnknown_203F440->unk3008[i], 2); + window.baseBlock += 0xE; + sub_8154868(&window); + } + gUnknown_203F440->state++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + playersCount = sub_81533B4(); + for (i = 0; i < playersCount; i++) + PutWindowTilemap(gUnknown_203F440->unk3008[i]); + CopyBgTilemapBufferToVram(0); + gUnknown_203F440->state++; + } + break; + default: + if (++gUnknown_203F440->state > 180) + { + playersCount = sub_81533B4(); + for (i = 0; i < playersCount; i++) + { + ClearWindowTilemap(gUnknown_203F440->unk3008[i]); + RemoveWindow(gUnknown_203F440->unk3008[i]); + } + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); + CopyBgTilemapBufferToVram(0); + gUnknown_203F440->finished = TRUE; + } + break; + } +} + +static void sub_8154D9C(u8 playersCount_) +{ + u8 i, r8 = 0, r6 = 0; + u8 playersCount = playersCount_; // Pointless variable, I know, but it's needed to match. + u8 *name; + u32 x, numWidth; + u8 numString[32]; + u8 array[5] = {0, 1, 2, 3, 4}; + struct DodrioSubstruct_3308 temp, structArray[5]; + + for (i = 0; i < playersCount; i++) + { + array[i] = i; + sub_81536A0(&temp, i); + structArray[i] = temp; + } + + if (sub_81534AC() != 0) + { + do + { + for (i = 0; i < playersCount; i++) + { + if (structArray[i].unk0 == r8) + { + array[r6] = i; + r6++; + } + } + r8 = r6; + } while (r6 < playersCount); + } + + for (i = 0; i < playersCount; i++) + { + if (structArray[i].unk4 == 0) + structArray[i].unk0 = playersCount - 1; + } + + x = 216 - GetStringWidth(0, gText_SpacePoints, 0); + for (i = 0; i < playersCount; i++) + { + u8 colorsId = 0; + u8 id = array[i]; + u32 points = structArray[id].unk4; + + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, sUnknown_8478E94[structArray[id].unk0], 8, sUnknown_8478EBA[i], -1, NULL); + if (id == GetMultiplayerId()) + colorsId = 2; + name = sub_81533C4(id); + AddTextPrinterParameterized3(gUnknown_203F440->unk3008[1], 0, 28, sUnknown_8478EBA[i], sTextColorTable[colorsId], -1, name); + ConvertIntToDecimalStringN(numString, points, STR_CONV_MODE_RIGHT_ALIGN, 7); + numWidth = GetStringWidth(0, numString, -1); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, numString, x - 35, sUnknown_8478EBA[i], -1, NULL); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, gText_SpacePoints, x, sUnknown_8478EBA[i], -1, NULL); + } +} + +static void sub_8154F80(void) +{ + u8 i, j, itemGiveRet, playersCount = sub_81533B4(); + u8 *name; + u32 strWidth, x; + u8 sp0C[100]; + u8 sp70[20]; + + switch (gUnknown_203F440->state) + { + case 0: + sub_81535B0(); + gUnknown_203F440->unk301C = 0; + gUnknown_203F440->state++; + break; + case 1: + gUnknown_203F440->unk3008[0] = AddWindow(&sUnknown_8475674[0]); + gUnknown_203F440->unk3008[1] = AddWindow(&sUnknown_8475674[1]); + ClearWindowTilemap(gUnknown_203F440->unk3008[0]); + ClearWindowTilemap(gUnknown_203F440->unk3008[1]); + sub_8154868(&sUnknown_8475674[0]); + sub_8154868(&sUnknown_8475674[1]); + gUnknown_203F440->state++; + break; + case 2: + FillWindowPixelBuffer(gUnknown_203F440->unk3008[0], PIXEL_FILL(1)); + FillWindowPixelBuffer(gUnknown_203F440->unk3008[1], PIXEL_FILL(1)); + strWidth = GetStringWidth(0, gText_BerryPickingResults, -1); + x = (224 - strWidth) / 2; + AddTextPrinterParameterized(gUnknown_203F440->unk3008[0], 0, gText_BerryPickingResults, x, 2, -1, NULL); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, gText_10P30P50P50P, 68, 16, -1, NULL); + for (i = 0; i < playersCount; i++) + { + u8 colorsId = 0; + if (i == GetMultiplayerId()) + colorsId = 2; + + name = sub_81533C4(i); + AddTextPrinterParameterized3(gUnknown_203F440->unk3008[1], 0, 2, sUnknown_8478EB0[i], sTextColorTable[colorsId], -1, name); + for (j = 0; j < 4; j++) + { + u32 width; + u16 result1 = Min(sub_8153404(i, j), 9999); + u16 result2 = Min(sub_81534F0(j), 9999); + + ConvertIntToDecimalStringN(sp0C, result1, STR_CONV_MODE_LEFT_ALIGN, 4); + width = GetStringWidth(0, sp0C, -1); + if (result2 == result1 && result2 != 0) + AddTextPrinterParameterized3(gUnknown_203F440->unk3008[1], 0, sUnknown_8478EA8[j] - width, sUnknown_8478EB0[i], sTextColorTable[1], -1, sp0C); + else + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, sp0C, sUnknown_8478EA8[j] - width, sUnknown_8478EB0[i], -1, NULL); + } + } + CopyWindowToVram(gUnknown_203F440->unk3008[0], 2); + CopyWindowToVram(gUnknown_203F440->unk3008[1], 2); + gUnknown_203F440->state++; + break; + case 3: + if (!IsDma3ManagerBusyWithBgCopy()) + { + PutWindowTilemap(gUnknown_203F440->unk3008[0]); + PutWindowTilemap(gUnknown_203F440->unk3008[1]); + } + CopyBgTilemapBufferToVram(0); + sub_8154324(FALSE); + gUnknown_203F440->state++; + break; + case 4: + if (++gUnknown_203F440->unk301C >= 30 && JOY_NEW(A_BUTTON)) + { + gUnknown_203F440->unk301C = 0; + PlaySE(SE_SELECT); + sub_8154324(TRUE); + gUnknown_203F440->state++; + } + break; + case 5: + FillWindowPixelBuffer(gUnknown_203F440->unk3008[0], PIXEL_FILL(1)); + FillWindowPixelBuffer(gUnknown_203F440->unk3008[1], PIXEL_FILL(1)); + strWidth = GetStringWidth(0, gText_AnnouncingRankings, -1); + x = (224 - strWidth) / 2; + AddTextPrinterParameterized(gUnknown_203F440->unk3008[0], 0, gText_AnnouncingRankings, x, 2, -1, NULL); + gUnknown_203F440->state++; + break; + case 6: + sub_8154D9C(playersCount); + CopyWindowToVram(gUnknown_203F440->unk3008[0], 2); + CopyWindowToVram(gUnknown_203F440->unk3008[1], 2); + gUnknown_203F440->state++; + break; + case 7: + if (!IsDma3ManagerBusyWithBgCopy()) + { + PutWindowTilemap(gUnknown_203F440->unk3008[0]); + PutWindowTilemap(gUnknown_203F440->unk3008[1]); + } + CopyBgTilemapBufferToVram(0); + gUnknown_203F440->state++; + break; + case 8: + if (++gUnknown_203F440->unk301C >= 30 && JOY_NEW(A_BUTTON)) + { + gUnknown_203F440->unk301C = 0; + PlaySE(SE_SELECT); + if (sub_81534AC() < 3000) + { + gUnknown_203F440->state = 127; + } + else + { + StopMapMusic(); + gUnknown_203F440->state++; + } + + FillBgTilemapBufferRect_Palette0(0, 0, 0, 5, 30, 15); + RemoveWindow(gUnknown_203F440->unk3008[1]); + gUnknown_203F440->unk3008[1] = AddWindow(&sUnknown_8475684); + ClearWindowTilemap(gUnknown_203F440->unk3008[1]); + sub_8154868(&sUnknown_8475684); + } + break; + case 9: + PlayNewMapMusic(MUS_FANFA1); + FillWindowPixelBuffer(gUnknown_203F440->unk3008[0], PIXEL_FILL(1)); + FillWindowPixelBuffer(gUnknown_203F440->unk3008[1], PIXEL_FILL(1)); + strWidth = GetStringWidth(0, gText_AnnouncingPrizes, -1); + x = (224 - strWidth) / 2; + AddTextPrinterParameterized(gUnknown_203F440->unk3008[0], 0, gText_AnnouncingPrizes, x, 2, -1, NULL); + DynamicPlaceholderTextUtil_Reset(); + CopyItemName(sub_8153390(), sp70); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, sp70); + DynamicPlaceholderTextUtil_ExpandPlaceholders(sp0C, gText_FirstPlacePrize); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, sp0C, 8, 2, -1, NULL); + itemGiveRet = sub_815372C(); + if (itemGiveRet != 0 && itemGiveRet != 3) + { + DynamicPlaceholderTextUtil_Reset(); + CopyItemName(sub_8153390(), sp70); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, sp70); + if (itemGiveRet == 2) + DynamicPlaceholderTextUtil_ExpandPlaceholders(sp0C, gText_CantHoldAnyMore); + else if (itemGiveRet == 1) + DynamicPlaceholderTextUtil_ExpandPlaceholders(sp0C, gText_FilledStorageSpace); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 0, sp0C, 8, 40, -1, NULL); + } + CopyWindowToVram(gUnknown_203F440->unk3008[0], 2); + CopyWindowToVram(gUnknown_203F440->unk3008[1], 2); + gUnknown_203F440->state++; + break; + case 10: + if (!IsDma3ManagerBusyWithBgCopy()) + { + PutWindowTilemap(gUnknown_203F440->unk3008[0]); + PutWindowTilemap(gUnknown_203F440->unk3008[1]); + } + CopyBgTilemapBufferToVram(0); + FadeOutAndFadeInNewMapMusic(MUS_WIN_YASEI, 20, 10); + gUnknown_203F440->state++; + break; + case 11: + if (++gUnknown_203F440->unk301C >= 30 && JOY_NEW(A_BUTTON)) + { + gUnknown_203F440->unk301C = 0; + PlaySE(SE_SELECT); + gUnknown_203F440->state++; + } + break; + default: + ClearWindowTilemap(gUnknown_203F440->unk3008[0]); + ClearWindowTilemap(gUnknown_203F440->unk3008[1]); + RemoveWindow(gUnknown_203F440->unk3008[0]); + RemoveWindow(gUnknown_203F440->unk3008[1]); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); + CopyBgTilemapBufferToVram(0); + gUnknown_203F440->finished = TRUE; + break; + } +} + +static void sub_81556E0(void) +{ + u8 y; + + switch (gUnknown_203F440->state) + { + case 0: + gUnknown_203F440->unk3008[0] = AddWindow(&sUnknown_847568C[0]); + gUnknown_203F440->unk3008[1] = AddWindow(&sUnknown_847568C[1]); + ClearWindowTilemap(gUnknown_203F440->unk3008[0]); + ClearWindowTilemap(gUnknown_203F440->unk3008[1]); + sub_8154868(&sUnknown_847568C[0]); + sub_8154768(&sUnknown_847568C[1]); + gUnknown_203F440->state++; + gUnknown_203F440->unk3020 = 0; + gUnknown_203F440->unk3024 = 0; + break; + case 1: + FillWindowPixelBuffer(gUnknown_203F440->unk3008[0], PIXEL_FILL(1)); + FillWindowPixelBuffer(gUnknown_203F440->unk3008[1], PIXEL_FILL(1)); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[0], 2, gText_WantToPlayAgain, 0, 6, -1, NULL); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_Yes, 8, 2, -1, NULL); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_No, 8, 16, -1, NULL); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_SelectorArrow2, 0, 2, -1, NULL); + CopyWindowToVram(gUnknown_203F440->unk3008[0], 2); + CopyWindowToVram(gUnknown_203F440->unk3008[1], 2); + gUnknown_203F440->state++; + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + { + PutWindowTilemap(gUnknown_203F440->unk3008[0]); + PutWindowTilemap(gUnknown_203F440->unk3008[1]); + } + CopyBgTilemapBufferToVram(0); + gUnknown_203F440->state++; + break; + case 3: + y = gUnknown_203F440->unk3020; + if (y == 0) + y = 1; + FillWindowPixelBuffer(gUnknown_203F440->unk3008[1], PIXEL_FILL(1)); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_Yes, 8, 2, -1, NULL); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_No, 8, 16, -1, NULL); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[1], 2, gText_SelectorArrow2, 0, y == 1 ? 2 : 16, -1, NULL); + CopyWindowToVram(gUnknown_203F440->unk3008[1], 3); + // Increment state only if A or B button have been pressed. + if (JOY_NEW(A_BUTTON)) + { + PlaySE(SE_SELECT); + if (gUnknown_203F440->unk3020 == 0) + gUnknown_203F440->unk3020 = 1; + gUnknown_203F440->state++; + } + else if (JOY_NEW(DPAD_UP | DPAD_DOWN)) + { + PlaySE(SE_SELECT); + switch (gUnknown_203F440->unk3020) + { + case 0: + gUnknown_203F440->unk3020 = 2; + break; + case 1: + gUnknown_203F440->unk3020 = 2; + break; + case 2: + gUnknown_203F440->unk3020 = 1; + break; + } + } + else if (JOY_NEW(B_BUTTON)) + { + PlaySE(SE_SELECT); + gUnknown_203F440->unk3020 = 2; + gUnknown_203F440->state++; + } + break; + default: + gUnknown_203F440->unk3024 = gUnknown_203F440->unk3020; + ClearWindowTilemap(gUnknown_203F440->unk3008[0]); + ClearWindowTilemap(gUnknown_203F440->unk3008[1]); + RemoveWindow(gUnknown_203F440->unk3008[0]); + RemoveWindow(gUnknown_203F440->unk3008[1]); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); + CopyBgTilemapBufferToVram(0); + gUnknown_203F440->finished = TRUE; + break; + } +} + +static void sub_8155A78(void) +{ + switch (gUnknown_203F440->state) + { + case 0: + DrawDialogueFrame(0, FALSE); + AddTextPrinterParameterized2(0, 2, gText_SavingDontTurnOffThePower2, 0, NULL, TEXT_COLOR_DARK_GREY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GREY); + gUnknown_203F440->state++; + break; + case 1: + CopyWindowToVram(0, 3); + gUnknown_203F440->state++; + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + { + CreateTask(sub_80DA634, 0); + gUnknown_203F440->state++; + } + break; + case 3: + if (!FuncIsActiveTask(sub_80DA634)) + gUnknown_203F440->state++; + break; + default: + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); + CopyBgTilemapBufferToVram(0); + gUnknown_203F440->finished = TRUE; + break; + } +} + +static void sub_8155B4C(void) +{ + switch (gUnknown_203F440->state) + { + case 0: + gUnknown_203F440->unk3008[0] = AddWindow(&sUnknown_84756A4); + ClearWindowTilemap(gUnknown_203F440->unk3008[0]); + sub_8154868(&sUnknown_84756A4); + gUnknown_203F440->state++; + break; + case 1: + FillWindowPixelBuffer(gUnknown_203F440->unk3008[0], PIXEL_FILL(1)); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[0], 2, gText_CommunicationStandby3, 0, 6, -1, NULL); + CopyWindowToVram(gUnknown_203F440->unk3008[0], 2); + gUnknown_203F440->state++; + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + PutWindowTilemap(gUnknown_203F440->unk3008[0]); + CopyBgTilemapBufferToVram(0); + gUnknown_203F440->state++; + break; + default: + gUnknown_203F440->finished = TRUE; + break; + } +} + +static void sub_8155C2C(void) +{ + ClearWindowTilemap(gUnknown_203F440->unk3008[0]); + RemoveWindow(gUnknown_203F440->unk3008[0]); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); + CopyBgTilemapBufferToVram(0); + gUnknown_203F440->finished = TRUE; +} + +static void sub_8155C80(void) +{ + switch (gUnknown_203F440->state) + { + case 0: + gUnknown_203F440->unk3008[0] = AddWindow(&sUnknown_847569C); + ClearWindowTilemap(gUnknown_203F440->unk3008[0]); + sub_8154868(&sUnknown_847569C); + gUnknown_203F440->state++; + gUnknown_203F440->unk301C = 0; + gUnknown_203F440->unk3020 = 0; + gUnknown_203F440->unk3024 = 0; + break; + case 1: + FillWindowPixelBuffer(gUnknown_203F440->unk3008[0], PIXEL_FILL(1)); + AddTextPrinterParameterized(gUnknown_203F440->unk3008[0], 2, gText_SomeoneDroppedOut, 0, 6, TEXT_SPEED_FF, NULL); + CopyWindowToVram(gUnknown_203F440->unk3008[0], 2); + gUnknown_203F440->state++; + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + PutWindowTilemap(gUnknown_203F440->unk3008[0]); + CopyBgTilemapBufferToVram(0); + gUnknown_203F440->state++; + break; + case 3: + if (++gUnknown_203F440->unk301C >= 120) + gUnknown_203F440->state++; + break; + default: + gUnknown_203F440->unk3024 = 5; + ClearWindowTilemap(gUnknown_203F440->unk3008[0]); + RemoveWindow(gUnknown_203F440->unk3008[0]); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); + CopyBgTilemapBufferToVram(0); + gUnknown_203F440->finished = TRUE; + break; + } +} + +static void unused_0(void) +{ + DestroyTask(gUnknown_203F440->unk3004); + gUnknown_203F440->finished = TRUE; +} + +static void nullsub_98(void) +{ + +} + +static void sub_8155E24(void (*func)(void)) +{ + gUnknown_203F440->state = 0; + gUnknown_203F440->finished = FALSE; + gUnknown_203F440->unk3028 = func; +} + +void (*sub_8155E54(void))(void) +{ + return gUnknown_203F440->unk3028; +} + +bool32 sub_8155E68(void) +{ + if (gUnknown_203F440->finished == TRUE) + return FALSE; + else + return TRUE; +} + +u8 sub_8155E8C(void) +{ + return gUnknown_203F440->unk3024; +} + +static void sub_8155EA0(void) +{ + DmaClearLarge16(3, (void *)VRAM, VRAM_SIZE, 0x1000); + DmaClear32(3,(void *)OAM, OAM_SIZE); + DmaClear16(3, (void *)PLTT, PLTT_SIZE); + SetGpuReg(REG_OFFSET_DISPCNT, 0); + ResetBgsAndClearDma3BusyFlags(FALSE); + InitBgsFromTemplates(0, sUnknown_847565C, ARRAY_COUNT(sUnknown_847565C)); + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + ChangeBgX(3, 0, 0); + ChangeBgY(3, 0, 0); + InitStandardTextBoxWindows(); + ResetBg0(); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); + SetBgTilemapBuffer(3, gUnknown_203F440->tilemapBuffers[0]); + SetBgTilemapBuffer(1, gUnknown_203F440->tilemapBuffers[1]); + SetBgTilemapBuffer(2, gUnknown_203F440->tilemapBuffers[2]); +} + +static bool32 sub_8155FE0(void) +{ + switch (gUnknown_203F440->unk3018) + { + case 0: + LoadPalette(sDodrioBerryBgPal1, 0, sizeof(sDodrioBerryBgPal1)); + break; + case 1: + ResetTempTileDataBuffers(); + break; + case 2: + DecompressAndCopyTileDataToVram(3, sDodrioBerryBgGfx1, 0, 0, 0); + break; + case 3: + DecompressAndCopyTileDataToVram(1, sDodrioBerryBgGfx2, 0, 0, 0); + break; + case 4: + if (FreeTempTileDataBuffersIfPossible() == TRUE) + return FALSE; + break; + case 5: + LoadPalette(stdpal_get(3), 0xD0, 0x20); + break; + default: + gUnknown_203F440->unk3018 = 0; + return TRUE; + } + + gUnknown_203F440->unk3018++; + return FALSE; +} diff --git a/src/dodrio_berry_picking_3.c b/src/dodrio_berry_picking_3.c new file mode 100644 index 000000000..fec1d62f7 --- /dev/null +++ b/src/dodrio_berry_picking_3.c @@ -0,0 +1,241 @@ +#include "global.h" +#include "dodrio_berry_picking.h" +#include "link.h" +#include "link_rfu.h" + +void sub_815A5BC(s32 a0) +{ + struct Padded_U8 data[2]; + data[0].value = 1; + data[1].value = a0; + RfuPrepareSend0x2f00(data); +} + +u8 sub_815A5E8(s32 a0) +{ + u8 * r1; + if ((gRecvCmds[0][0] & 0xFF00) != 0x2F00) + return 0; + r1 = (u8 *)&gRecvCmds[a0][1]; + if (r1[0] == 1) + return r1[4]; + return 0; +} + +struct UnkPacket2 +{ + u8 id; + u8 unk1_0:4; + u8 unk1_1:4; + u16 unk2_0:4; + u16 unk2_1:4; + u16 unk3_0:4; + u16 unk3_1:4; + u16 unk4_0:4; + u16 unk4_1:4; + u16 unk5_0:4; + u16 unk5_1:4; + u16 unk6_0:2; + u16 unk6_1:2; + u16 unk6_2:2; + u16 unk6_3:2; + u16 unk7_0:2; + u16 unk7_1:2; + u16 unk7_2:2; + u16 unk7_3:2; + u8 unk8_0:2; + u8 unk8_1:2; + u8 unk8_2:2; + u8 unk8_3:2; + u8 unk9_0:2; + u8 unk9_1:2; + u8 unk9_2:2; + u8 unk9_3:1; + u8 unk9_4:1; + u8 unkA_0:1; + u8 unkA_1:1; + u8 unkA_2:1; + u8 unkA_3:5; + u8 unkB_0:1; + u8 unkB_1:1; + u8 unkB_2:1; + u8 unkB_3:1; + u8 unkB_4:1; + u8 unkB_5:1; + u8 unkB_6:1; +}; + +void sub_815A61C(struct DodrioSubstruct_31A0 * arg0, struct DodrioSubstruct_31A0_2C * arg1, struct DodrioSubstruct_31A0_2C * arg2, struct DodrioSubstruct_31A0_2C * arg3, struct DodrioSubstruct_31A0_2C * arg4, struct DodrioSubstruct_31A0_2C * arg5, u8 arg6, u32 arg7, u32 arg8) +{ + struct UnkPacket2 packet; + struct DodrioSubstruct_31A0_14 * ptr = &arg0->unk14; + + packet.id = 2; + packet.unk1_0 = ptr->unkB[0]; + packet.unk1_1 = ptr->unkB[1]; + packet.unk2_0 = ptr->unkB[2]; + packet.unk2_1 = ptr->unkB[3]; + packet.unk3_0 = ptr->unkB[4]; + packet.unk3_1 = ptr->unkB[5]; + packet.unk4_0 = ptr->unkB[6]; + packet.unk4_1 = ptr->unkB[7]; + packet.unk5_0 = ptr->unkB[8]; + packet.unk5_1 = ptr->unkB[9]; + + packet.unk6_0 = ptr->unk0[0]; + packet.unk6_1 = ptr->unk0[1]; + packet.unk6_2 = ptr->unk0[2]; + packet.unk6_3 = ptr->unk0[3]; + packet.unk7_0 = ptr->unk0[4]; + packet.unk7_1 = ptr->unk0[5]; + packet.unk7_2 = ptr->unk0[6]; + packet.unk7_3 = ptr->unk0[7]; + packet.unk8_0 = ptr->unk0[8]; + packet.unk8_1 = ptr->unk0[9]; + + packet.unk8_2 = arg1->unk0; + packet.unk8_3 = arg2->unk0; + packet.unk9_0 = arg3->unk0; + packet.unk9_1 = arg4->unk0; + packet.unk9_2 = arg5->unk0; + + packet.unk9_3 = arg1->unk4; + packet.unk9_4 = arg2->unk4; + packet.unkA_0 = arg3->unk4; + packet.unkA_1 = arg4->unk4; + packet.unkA_2 = arg5->unk4; + + packet.unkB_2 = arg1->unk8; + packet.unkB_3 = arg2->unk8; + packet.unkB_4 = arg3->unk8; + packet.unkB_5 = arg4->unk8; + packet.unkB_6 = arg5->unk8; + + packet.unkA_3 = arg6; + packet.unkB_1 = arg7; + packet.unkB_0 = arg8; + RfuPrepareSend0x2f00(&packet); +} + +u32 sub_815A950(u32 unused, struct DodrioSubstruct_31A0 * arg0, struct DodrioSubstruct_31A0_2C * arg1, struct DodrioSubstruct_31A0_2C * arg2, struct DodrioSubstruct_31A0_2C * arg3, struct DodrioSubstruct_31A0_2C * arg4, struct DodrioSubstruct_31A0_2C * arg5, u8 *arg6, u32 *arg7, u32 *arg8) +{ + struct UnkPacket2 * packet; + struct DodrioSubstruct_31A0_14 * ptr = &arg0->unk14; + + if ((gRecvCmds[0][0] & 0xFF00) != 0x2F00) + return 0; + + packet = (void *)&gRecvCmds[0][1]; + if (packet->id == 2) + { + ptr->unkB[0] = packet->unk1_0; + ptr->unkB[1] = packet->unk1_1; + ptr->unkB[2] = packet->unk2_0; + ptr->unkB[3] = packet->unk2_1; + ptr->unkB[4] = packet->unk3_0; + ptr->unkB[5] = packet->unk3_1; + ptr->unkB[6] = packet->unk4_0; + ptr->unkB[7] = packet->unk4_1; + ptr->unkB[8] = packet->unk5_0; + ptr->unkB[9] = packet->unk5_1; + ptr->unkB[10] = packet->unk1_0; + + ptr->unk0[0] = packet->unk6_0; + ptr->unk0[1] = packet->unk6_1; + ptr->unk0[2] = packet->unk6_2; + ptr->unk0[3] = packet->unk6_3; + ptr->unk0[4] = packet->unk7_0; + ptr->unk0[5] = packet->unk7_1; + ptr->unk0[6] = packet->unk7_2; + ptr->unk0[7] = packet->unk7_3; + ptr->unk0[8] = packet->unk8_0; + ptr->unk0[9] = packet->unk8_1; + ptr->unk0[10] = packet->unk6_0; + + arg1->unk0 = packet->unk8_2; + arg1->unk4 = packet->unk9_3; + arg1->unk8 = packet->unkB_2; + + arg2->unk0 = packet->unk8_3; + arg2->unk4 = packet->unk9_4; + arg2->unk8 = packet->unkB_3; + + arg3->unk0 = packet->unk9_0; + arg3->unk4 = packet->unkA_0; + arg3->unk8 = packet->unkB_4; + + arg4->unk0 = packet->unk9_1; + arg4->unk4 = packet->unkA_1; + arg4->unk8 = packet->unkB_5; + + arg5->unk0 = packet->unk9_2; + arg5->unk4 = packet->unkA_2; + arg5->unk8 = packet->unkB_6; + + *arg6 = packet->unkA_3; + *arg7 = packet->unkB_1; + *arg8 = packet->unkB_0; + return 1; + } + + return 0; +} + +struct UnkPacket3 +{ + u8 id; + u8 ALIGNED(4) unk4; +}; + +void sub_815AAD8(u8 arg0) +{ + struct UnkPacket3 packet; + packet.id = 3; + packet.unk4 = arg0; + RfuPrepareSend0x2f00(&packet); +} + +u32 sub_815AB04(u32 arg0, u8 *arg1) +{ + struct UnkPacket3 * packet; + + if ((gRecvCmds[0][0] & 0xFF00) != 0x2F00) + return 0; + + packet = (void *)&gRecvCmds[arg0][1]; + if (packet->id == 3) + { + *arg1 = packet->unk4; + return 1; + } + + return 0; +} + +struct UnkPacket4 +{ + u8 id; + u32 unk4; +}; + +void sub_815AB3C(u32 arg0) +{ + struct UnkPacket4 packet; + packet.id = 4; + packet.unk4 = arg0; + RfuPrepareSend0x2f00(&packet); +} + +u32 sub_815AB60(u32 arg0) +{ + struct UnkPacket4 * packet; + + if ((gRecvCmds[0][0] & 0xFF00) != 0x2F00) + return 0; + + packet = (void *)&gRecvCmds[arg0][1]; + if (packet->id == 4) + return packet->unk4; + + return 0; +} diff --git a/src/dynamic_placeholder_text_util.c b/src/dynamic_placeholder_text_util.c index 6909fea30..921612cfc 100644 --- a/src/dynamic_placeholder_text_util.c +++ b/src/dynamic_placeholder_text_util.c @@ -1,17 +1,89 @@ #include "global.h" #include "text.h" -#include "dynamic_placeholder_text_util.h" #include "string_util.h" +#include "constants/event_objects.h" static EWRAM_DATA const u8 *sStringPointers[8] = {0}; static const u8 sTextColorTable[] = { - 0, 0, 0, 16, 17, 17, 17, 16, 16, 0, 0, 17, 1, 0, 17, 16, - 0, 16, 16, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, - 17, 1, 0, 0, 0, 16, 17, 0, 16, 16, 16, 0, 1, 0, 51, 51, - 51, 51, 51, 51, 51, 51, 35, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 50, + // [LOW_NYBBLE / 2] = 0xXY, // HIGH_NYBBLE + [OBJ_EVENT_GFX_RED_NORMAL / 2] = 0x00, // OBJ_EVENT_GFX_RED_BIKE + [OBJ_EVENT_GFX_RED_SURF / 2] = 0x00, // OBJ_EVENT_GFX_RED_ITEM + [OBJ_EVENT_GFX_RED_FISH / 2] = 0x00, // OBJ_EVENT_GFX_RED_ITEM_COPY + [OBJ_EVENT_GFX_RED_VS_SEEKER / 2] = 0x10, // OBJ_EVENT_GFX_GREEN_NORMAL + [OBJ_EVENT_GFX_GREEN_BIKE / 2] = 0x11, // OBJ_EVENT_GFX_GREEN_SURF + [OBJ_EVENT_GFX_GREEN_ITEM / 2] = 0x11, // OBJ_EVENT_GFX_GREEN_FISH + [OBJ_EVENT_GFX_GREEN_ITEM_COPY / 2] = 0x11, // OBJ_EVENT_GFX_GREEN_VS_SEEKER + [OBJ_EVENT_GFX_RS_BRENDAN / 2] = 0x10, // OBJ_EVENT_GFX_RS_MAY + [OBJ_EVENT_GFX_LITTLE_BOY / 2] = 0x10, // OBJ_EVENT_GFX_LITTLE_GIRL + [OBJ_EVENT_GFX_YOUNGSTER / 2] = 0x00, // OBJ_EVENT_GFX_BOY + [OBJ_EVENT_GFX_BUG_CATCHER / 2] = 0x00, // OBJ_EVENT_GFX_SITTING_BOY + [OBJ_EVENT_GFX_LASS / 2] = 0x11, // OBJ_EVENT_GFX_WOMAN_1 + [OBJ_EVENT_GFX_BATTLE_GIRL / 2] = 0x01, // OBJ_EVENT_GFX_MAN + [OBJ_EVENT_GFX_ROCKER / 2] = 0x00, // OBJ_EVENT_GFX_FAT_MAN + [OBJ_EVENT_GFX_WOMAN_2 / 2] = 0x11, // OBJ_EVENT_GFX_BEAUTY + [OBJ_EVENT_GFX_BALDING_MAN / 2] = 0x10, // OBJ_EVENT_GFX_WOMAN_3 + [OBJ_EVENT_GFX_OLD_MAN_1 / 2] = 0x00, // OBJ_EVENT_GFX_OLD_MAN_2 + [OBJ_EVENT_GFX_OLD_MAN_LYING_DOWN / 2] = 0x10, // OBJ_EVENT_GFX_OLD_WOMAN + [OBJ_EVENT_GFX_TUBER_M_1 / 2] = 0x10, // OBJ_EVENT_GFX_TUBER_F + [OBJ_EVENT_GFX_TUBER_M_2 / 2] = 0x00, // OBJ_EVENT_GFX_CAMPER + [OBJ_EVENT_GFX_PICNICKER / 2] = 0x01, // OBJ_EVENT_GFX_COOLTRAINER_M + [OBJ_EVENT_GFX_COOLTRAINER_F / 2] = 0x01, // OBJ_EVENT_GFX_SWIMMER_M_WATER + [OBJ_EVENT_GFX_SWIMMER_F_WATER / 2] = 0x01, // OBJ_EVENT_GFX_SWIMMER_M_LAND + [OBJ_EVENT_GFX_SWIMMER_F_LAND / 2] = 0x01, // OBJ_EVENT_GFX_WORKER_M + [OBJ_EVENT_GFX_WORKER_F / 2] = 0x01, // OBJ_EVENT_GFX_ROCKET_M + [OBJ_EVENT_GFX_ROCKET_F / 2] = 0x01, // OBJ_EVENT_GFX_GBA_KID + [OBJ_EVENT_GFX_SUPER_NERD / 2] = 0x00, // OBJ_EVENT_GFX_BIKER + [OBJ_EVENT_GFX_BLACKBELT / 2] = 0x00, // OBJ_EVENT_GFX_SCIENTIST + [OBJ_EVENT_GFX_HIKER / 2] = 0x00, // OBJ_EVENT_GFX_FISHER + [OBJ_EVENT_GFX_CHANNELER / 2] = 0x01, // OBJ_EVENT_GFX_CHEF + [OBJ_EVENT_GFX_POLICEMAN / 2] = 0x00, // OBJ_EVENT_GFX_GENTLEMAN + [OBJ_EVENT_GFX_SAILOR / 2] = 0x00, // OBJ_EVENT_GFX_CAPTAIN + [OBJ_EVENT_GFX_NURSE / 2] = 0x11, // OBJ_EVENT_GFX_CABLE_CLUB_RECEPTIONIST + [OBJ_EVENT_GFX_UNION_ROOM_RECEPTIONIST / 2] = 0x01, // OBJ_EVENT_GFX_UNUSED_MALE_RECEPTIONIST + [OBJ_EVENT_GFX_CLERK / 2] = 0x00, // OBJ_EVENT_GFX_MG_DELIVERYMAN + [OBJ_EVENT_GFX_TRAINER_TOWER_DUDE / 2] = 0x00, // OBJ_EVENT_GFX_PROF_OAK + [OBJ_EVENT_GFX_BLUE / 2] = 0x00, // OBJ_EVENT_GFX_BILL + [OBJ_EVENT_GFX_LANCE / 2] = 0x10, // OBJ_EVENT_GFX_AGATHA + [OBJ_EVENT_GFX_DAISY / 2] = 0x11, // OBJ_EVENT_GFX_LORELEI + [OBJ_EVENT_GFX_MR_FUJI / 2] = 0x00, // OBJ_EVENT_GFX_BRUNO + [OBJ_EVENT_GFX_BROCK / 2] = 0x10, // OBJ_EVENT_GFX_MISTY + [OBJ_EVENT_GFX_LT_SURGE / 2] = 0x10, // OBJ_EVENT_GFX_ERIKA + [OBJ_EVENT_GFX_KOGA / 2] = 0x10, // OBJ_EVENT_GFX_SABRINA + [OBJ_EVENT_GFX_BLAINE / 2] = 0x00, // OBJ_EVENT_GFX_GIOVANNI + [OBJ_EVENT_GFX_MOM / 2] = 0x01, // OBJ_EVENT_GFX_CELIO + [OBJ_EVENT_GFX_TEACHY_TV_HOST / 2] = 0x00, // OBJ_EVENT_GFX_GYM_GUY + [OBJ_EVENT_GFX_ITEM_BALL / 2] = 0x33, // OBJ_EVENT_GFX_TOWN_MAP + [OBJ_EVENT_GFX_POKEDEX / 2] = 0x33, // OBJ_EVENT_GFX_CUT_TREE + [OBJ_EVENT_GFX_ROCK_SMASH_ROCK / 2] = 0x33, // OBJ_EVENT_GFX_STRENGTH_BOULDER + [OBJ_EVENT_GFX_FOSSIL / 2] = 0x33, // OBJ_EVENT_GFX_RUBY + [OBJ_EVENT_GFX_SAPPHIRE / 2] = 0x33, // OBJ_EVENT_GFX_OLD_AMBER + [OBJ_EVENT_GFX_GYM_SIGN / 2] = 0x33, // OBJ_EVENT_GFX_SIGN + [OBJ_EVENT_GFX_TRAINER_TIPS / 2] = 0x33, // OBJ_EVENT_GFX_CLIPBOARD + [OBJ_EVENT_GFX_METEORITE / 2] = 0x33, // OBJ_EVENT_GFX_LAPRAS_DOLL + [OBJ_EVENT_GFX_SEAGALLOP / 2] = 0x23, // OBJ_EVENT_GFX_SNORLAX + [OBJ_EVENT_GFX_SPEAROW / 2] = 0x22, // OBJ_EVENT_GFX_CUBONE + [OBJ_EVENT_GFX_POLIWRATH / 2] = 0x22, // OBJ_EVENT_GFX_CLEFAIRY + [OBJ_EVENT_GFX_PIDGEOT / 2] = 0x22, // OBJ_EVENT_GFX_JIGGLYPUFF + [OBJ_EVENT_GFX_PIDGEY / 2] = 0x22, // OBJ_EVENT_GFX_CHANSEY + [OBJ_EVENT_GFX_OMANYTE / 2] = 0x22, // OBJ_EVENT_GFX_KANGASKHAN + [OBJ_EVENT_GFX_PIKACHU / 2] = 0x22, // OBJ_EVENT_GFX_PSYDUCK + [OBJ_EVENT_GFX_NIDORAN_F / 2] = 0x22, // OBJ_EVENT_GFX_NIDORAN_M + [OBJ_EVENT_GFX_NIDORINO / 2] = 0x22, // OBJ_EVENT_GFX_MEOWTH + [OBJ_EVENT_GFX_SEEL / 2] = 0x22, // OBJ_EVENT_GFX_VOLTORB + [OBJ_EVENT_GFX_SLOWPOKE / 2] = 0x22, // OBJ_EVENT_GFX_SLOWBRO + [OBJ_EVENT_GFX_MACHOP / 2] = 0x22, // OBJ_EVENT_GFX_WIGGLYTUFF + [OBJ_EVENT_GFX_DODUO / 2] = 0x22, // OBJ_EVENT_GFX_FEAROW + [OBJ_EVENT_GFX_MACHOKE / 2] = 0x22, // OBJ_EVENT_GFX_LAPRAS + [OBJ_EVENT_GFX_ZAPDOS / 2] = 0x22, // OBJ_EVENT_GFX_MOLTRES + [OBJ_EVENT_GFX_ARTICUNO / 2] = 0x22, // OBJ_EVENT_GFX_MEWTWO + [OBJ_EVENT_GFX_MEW / 2] = 0x22, // OBJ_EVENT_GFX_ENTEI + [OBJ_EVENT_GFX_SUICUNE / 2] = 0x22, // OBJ_EVENT_GFX_RAIKOU + [OBJ_EVENT_GFX_LUGIA / 2] = 0x22, // OBJ_EVENT_GFX_HO_OH + [OBJ_EVENT_GFX_CELEBI / 2] = 0x22, // OBJ_EVENT_GFX_KABUTO + [OBJ_EVENT_GFX_DEOXYS_D / 2] = 0x22, // OBJ_EVENT_GFX_DEOXYS_A + [OBJ_EVENT_GFX_DEOXYS_N / 2] = 0x32, // OBJ_EVENT_GFX_SS_ANNE }; void DynamicPlaceholderTextUtil_Reset(void) @@ -63,7 +135,7 @@ u8 GetColorFromTextColorTable(u16 graphicId) u32 test = graphicId >> 1; u32 shift = (graphicId & 1) << 2; - if (test > 0x4B) + if (test >= NELEMS(sTextColorTable)) return 3; else return (sTextColorTable[graphicId >> 1] >> shift) & 0xF; diff --git a/src/easy_chat.c b/src/easy_chat.c index 1d2873fc2..657d178d7 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -1,33 +1,18 @@ #include "global.h" #include "malloc.h" -#include "bg.h" #include "data.h" -#include "decompress.h" -#include "dynamic_placeholder_text_util.h" #include "easy_chat.h" #include "event_data.h" #include "field_message_box.h" -#include "field_weather.h" -#include "gpu_regs.h" -#include "graphics.h" -#include "main.h" #include "mevent.h" #include "menu.h" #include "mail.h" -#include "overworld.h" -#include "palette.h" #include "pokedex.h" #include "random.h" -#include "sound.h" #include "string_util.h" #include "strings.h" -#include "task.h" -#include "text_window.h" -#include "window.h" #include "constants/easy_chat.h" -#include "constants/object_events.h" #include "constants/flags.h" -#include "constants/songs.h" #include "constants/species.h" struct Unk203A120 @@ -291,7 +276,7 @@ static u16 GetRandomWordFromAnyGroup(u16 groupId) return GetRandomWordFromGroup(groupId); } -void Special_BufferEasyChatMessage(void) +void ShowEasyChatMessage(void) { u16 *easyChatWords; int columns, rows; diff --git a/src/easy_chat_2.c b/src/easy_chat_2.c new file mode 100644 index 000000000..4b3c70b67 --- /dev/null +++ b/src/easy_chat_2.c @@ -0,0 +1,1363 @@ +#include "global.h" +#include "gflib.h" +#include "easy_chat.h" +#include "event_data.h" +#include "menu.h" +#include "mevent.h" +#include "overworld.h" +#include "strings.h" +#include "task.h" +#include "constants/songs.h" + +#define EZCHAT_TASK_STATE 0 +#define EZCHAT_TASK_TYPE 1 +#define EZCHAT_TASK_WORDS 2 +#define EZCHAT_TASK_MAINCALLBACK 4 +#define EZCHAT_TASK_UNK06 6 +#define EZCHAT_TASK_SIZE 7 + +struct EasyChatScreenTemplate +{ + u8 type; + u8 numColumns; + u8 numRows; + u8 frameId; + const u8 *titleText; + const u8 *instructionsText1; + const u8 *instructionsText2; + const u8 *confirmText1; + const u8 *confirmText2; +}; + +struct EasyChatScreen +{ + /*0x00*/ u8 type; + /*0x01*/ u8 templateId; + /*0x02*/ u8 numColumns; + /*0x03*/ u8 numRows; + /*0x04*/ u8 state; + /*0x05*/ s8 mainCursorColumn; + /*0x06*/ s8 mainCursorRow; + /*0x07*/ u8 numWords; + /*0x08*/ u8 stateBackup; + /*0x09*/ bool8 isAlphaMode; + /*0x0A*/ s8 selectGroupCursorX; + /*0x0B*/ s8 selectGroupCursorY; + /*0x0C*/ u8 selectGroupRowsAbove; + /*0x0D*/ u8 selectGroupNumRows; + /*0x0E*/ u8 selectWordRowsAbove; + /*0x0F*/ u8 selectWordNumRows; + /*0x10*/ s8 selectWordCursorX; + /*0x11*/ s8 selectWordCursorY; + /*0x14*/ u16 *words; + /*0x18*/ u16 ecWordBuffer[9]; +}; + +static EWRAM_DATA struct EasyChatScreen * sEasyChatScreen = NULL; + +static void CB2_EasyChatScreen(void); +static void Task_InitEasyChat(u8 taskId); +static void Task_RunEasyChat(u8 taskId); +static bool8 Task_InitEasyChatInternal(u8 taskId); +static void DismantleEasyChat(MainCallback cb); +static void CompareProfileResponseWithPassphrase(void); +static void CompareQuestionnaireResponseWithPassphrase(void); +static bool8 EasyChat_AllocateResources(u8 type, u16 *words); +static void EasyChat_FreeResources(void); +static u16 EasyChatScreen_HandleJoypad(void); +static u16 HandleJoypad_SelectField(void); +static u16 HandleJoypad_SelectFooter(void); +static u16 HandleJoypad_SelectGroup(void); +static u16 HandleJoypad_SelectWord(void); +static u16 Cancel_HandleYesNoMenu(void); +static u16 Confirm_HandleYesNoMenu(void); +static u16 DelAll_HandleYesNoMenu(void); +static u16 Cancel_CreateYesNoMenu(void); +static u16 DelAll_CreateYesNoMenu(void); +static u16 Confirm_CreateYesNoMenu(void); +static u8 GetStateBackup(void); +static int OpenSelectedGroup(void); +static int BackOutFromGroupToFieldSelect(void); +static int ToggleGroupAlphaMode(void); +static int DeleteSelectedWord(void); +static int PlaceSelectedWord(void); +static void CommitECWords(void); +static void DeleteAllECFields(void); +static void SetEasyChatWordToField(u16 word); +static bool8 HasECMessageChanged(void); +static u16 SelectGroupCursorAction(u32 action); +static int UpdateSelectGroupCursorPos_OutsideBlueBox_GroupMode(u32 action); +static int UpdateSelectGroupCursorPos_OutsideBlueBox_AlphaMode(u32 action); +static int UpdateSelectGroupCursorPos_InsideBlueBox(u32 action); +static void GroupCursorMoveToBlueBox(void); +static void GroupCursorWrapAroundLeft(void); +static u16 SelectWordCursorAction(u32 action); +static u16 GetSelectedFieldIndex(void); +static u16 GetSelectedGroupIndex(void); +static int GetSelectedLetter(void); +static u16 GetSelectWordCursorPos(void); +static u8 GetMaxGroupCursorXinAlphaMode(u8 unkB); +static void MoveGroupCursorXToMaxCol(void); +static void MoveWordCursorXToMaxCol(void); +static bool8 GroupSelectCursorXPosTooFarRight(void); +static bool8 WordSelectCursorXPosTooFarRight(void); +static bool8 IsPhraseDifferentThanPlayerInput(const u16 *wordsToCompare, u8 numWords); +static u8 GetEasyChatScreenTemplateId(u8 type); +static bool32 IsEcWordBufferUninitialized(void); + +void DoEasyChatScreen(u8 type, u16 *words, MainCallback callback) +{ + u8 taskId; + ResetTasks(); + taskId = CreateTask(Task_InitEasyChat, 0); + gTasks[taskId].data[EZCHAT_TASK_TYPE] = type; + SetWordTaskArg(taskId, EZCHAT_TASK_WORDS, (uintptr_t)words); + SetWordTaskArg(taskId, EZCHAT_TASK_MAINCALLBACK, (uintptr_t)callback); + SetMainCallback2(CB2_EasyChatScreen); +} + +static void CB2_EasyChatScreen(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void VBlankCallback_EasyChatScreen(void) +{ + TransferPlttBuffer(); + LoadOam(); + ProcessSpriteCopyRequests(); +} + +static void SetEasyChatTaskFunc(u8 taskId, TaskFunc func) +{ + gTasks[taskId].func = func; + gTasks[taskId].data[EZCHAT_TASK_STATE] = 0; +} + +static void Task_InitEasyChat(u8 taskId) +{ + if (!IsUpdateLinkStateCBActive()) + { + while (Task_InitEasyChatInternal(taskId)) + ; + } + else + { + if (Task_InitEasyChatInternal(taskId) == TRUE) + return; + } + SetEasyChatTaskFunc(taskId, Task_RunEasyChat); +} + +static void Task_RunEasyChat(u8 taskId) +{ + u16 action; + s16 *data; + + data = gTasks[taskId].data; + switch (data[EZCHAT_TASK_STATE]) + { + case 0: + SetVBlankCallback(VBlankCallback_EasyChatScreen); + BlendPalettes(0xFFFFFFFF, 16, RGB_BLACK); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + data[EZCHAT_TASK_STATE]++; + break; + case 1: + action = EasyChatScreen_HandleJoypad(); + if (action == 23) + { + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); + data[EZCHAT_TASK_STATE] = 3; + } + else if (action != 0) + { + PlaySE(SE_SELECT); + EasyChatInterfaceCommand_Setup(action); + data[EZCHAT_TASK_STATE]++; + } + break; + case 2: + if (!EasyChatInterfaceCommand_Run()) + data[EZCHAT_TASK_STATE] = 1; + break; + case 3: + if (!gPaletteFade.active) + { + if (data[EZCHAT_TASK_TYPE] == EASY_CHAT_TYPE_QUESTIONNAIRE) + CompareQuestionnaireResponseWithPassphrase(); + if (data[EZCHAT_TASK_TYPE] == EASY_CHAT_TYPE_PROFILE) + { + FlagSet(FLAG_SYS_SET_TRAINER_CARD_PROFILE); + CompareProfileResponseWithPassphrase(); + } + DismantleEasyChat((MainCallback)GetWordTaskArg(taskId, EZCHAT_TASK_MAINCALLBACK)); + } + break; + } +} + +static bool8 Task_InitEasyChatInternal(u8 taskId) +{ + s16 *data; + + data = gTasks[taskId].data; + switch (data[EZCHAT_TASK_STATE]) + { + case 0: + SetVBlankCallback(NULL); + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetPaletteFade(); + break; + case 1: + if (!InitEasyChatSelection()) + { + DismantleEasyChat((MainCallback)GetWordTaskArg(taskId, EZCHAT_TASK_MAINCALLBACK)); + } + break; + case 2: + if (!EasyChat_AllocateResources(data[EZCHAT_TASK_TYPE], (u16 *)GetWordTaskArg(taskId, EZCHAT_TASK_WORDS))) + { + DismantleEasyChat((MainCallback)GetWordTaskArg(taskId, EZCHAT_TASK_MAINCALLBACK)); + } + break; + case 3: + if (!InitEasyChatGraphicsWork()) + { + DismantleEasyChat((MainCallback)GetWordTaskArg(taskId, EZCHAT_TASK_MAINCALLBACK)); + } + break; + case 4: + if (LoadEasyChatGraphics()) + { + return TRUE; + } + break; + default: + return FALSE; + } + data[EZCHAT_TASK_STATE]++; + return TRUE; +} + +static void DismantleEasyChat(MainCallback callback) +{ + DestroyEasyChatSelectionData(); + EasyChat_FreeResources(); + DestroyEasyChatGraphicsResources(); + FreeAllWindowBuffers(); + SetMainCallback2(callback); +} + +void ShowEasyChatScreen(void) +{ + u16 *words; + switch (gSpecialVar_0x8004) + { + case EASY_CHAT_TYPE_PROFILE: + words = gSaveBlock1Ptr->easyChatProfile; + break; + case EASY_CHAT_TYPE_BATTLE_START: + words = gSaveBlock1Ptr->easyChatBattleStart; + break; + case EASY_CHAT_TYPE_BATTLE_WON: + words = gSaveBlock1Ptr->easyChatBattleWon; + break; + case EASY_CHAT_TYPE_BATTLE_LOST: + words = gSaveBlock1Ptr->easyChatBattleLost; + break; + case EASY_CHAT_TYPE_QUESTIONNAIRE: + words = GetMEventProfileECWordsMaybe(); + break; + case EASY_CHAT_TYPE_MAIL: + words = gSaveBlock1Ptr->mail[gSpecialVar_0x8005].words; + break; + default: + return; + } + DoEasyChatScreen(gSpecialVar_0x8004, words, sub_80568C4); +} + +static const u16 sECPhrase_MysteryEventIsExciting[] = { + EC_WORD_MYSTERY, + EC_WORD_EVENT, + EC_WORD_IS, + EC_WORD_EXCITING +}; + +static void CompareProfileResponseWithPassphrase(void) +{ + gSpecialVar_0x8004 = IsPhraseDifferentThanPlayerInput(sECPhrase_MysteryEventIsExciting, NELEMS(sECPhrase_MysteryEventIsExciting)); +} + +static const u16 sECPhrase_LinkTogetherWithAll[] = { + EC_WORD_LINK, + EC_WORD_TOGETHER, + EC_WORD_WITH, + EC_WORD_ALL +}; + +static void CompareQuestionnaireResponseWithPassphrase(void) +{ + gSpecialVar_0x8004 = IsPhraseDifferentThanPlayerInput(sECPhrase_LinkTogetherWithAll, NELEMS(sECPhrase_LinkTogetherWithAll)); +} + +static const struct EasyChatScreenTemplate sEasyChatScreenTemplates[] = { + { + .type = EASY_CHAT_TYPE_PROFILE, + .numColumns = 2, + .numRows = 2, + .frameId = 0, + .titleText = gUnknown_8418A2B, + .instructionsText1 = gUnknown_84186D1, + .instructionsText2 = gUnknown_84186EF, + .confirmText1 = gUnknown_841880E, + .confirmText2 = gUnknown_8418902 + }, { + .type = EASY_CHAT_TYPE_BATTLE_START, + .numColumns = 2, + .numRows = 3, + .frameId = 1, + .titleText = gUnknown_8418A33, + .instructionsText1 = gUnknown_8418706, + .instructionsText2 = gUnknown_8418725, + .confirmText1 = gUnknown_841881B, + .confirmText2 = gUnknown_8418902 + }, { + .type = EASY_CHAT_TYPE_BATTLE_WON, + .numColumns = 2, + .numRows = 3, + .frameId = 1, + .titleText = gUnknown_8418A4A, + .instructionsText1 = gUnknown_8418706, + .instructionsText2 = gUnknown_8418725, + .confirmText1 = gUnknown_841883E, + .confirmText2 = gUnknown_8418902 + }, { + .type = EASY_CHAT_TYPE_BATTLE_LOST, + .numColumns = 2, + .numRows = 3, + .frameId = 1, + .titleText = gUnknown_8418A61, + .instructionsText1 = gUnknown_8418706, + .instructionsText2 = gUnknown_8418725, + .confirmText1 = gUnknown_841885F, + .confirmText2 = gUnknown_8418902 + }, { + .type = EASY_CHAT_TYPE_MAIL, + .numColumns = 2, + .numRows = 5, + .frameId = 2, + .titleText = NULL, + .instructionsText1 = gUnknown_8418780, + .instructionsText2 = gUnknown_841879E, + .confirmText1 = gUnknown_841888C, + .confirmText2 = gUnknown_8418902 + }, { + .type = EASY_CHAT_TYPE_MAIL_NO_CONFIRM, + .numColumns = 2, + .numRows = 2, + .frameId = 0, + .instructionsText1 = gUnknown_8418780, + .instructionsText2 = gUnknown_841879E, + }, { + .type = EASY_CHAT_TYPE_BARD_SONG, + .numColumns = 2, + .numRows = 3, + .frameId = 1, + .titleText = gUnknown_8418A77, + .instructionsText1 = gUnknown_84187B2, + .instructionsText2 = gUnknown_84187D1, + .confirmText1 = gUnknown_84188AC, + .confirmText2 = gUnknown_8418902 + }, { + .type = EASY_CHAT_TYPE_INTERVIEW, + .numColumns = 2, + .numRows = 3, + .frameId = 1, + .titleText = gUnknown_8418AA1, + .instructionsText1 = gUnknown_8418745, + .instructionsText2 = gUnknown_8418763, + .confirmText1 = gUnknown_8418881, + .confirmText2 = gUnknown_8418902 + }, { + .type = EASY_CHAT_TYPE_TRENDY_PHRASE, + .numColumns = 2, + .numRows = 1, + .frameId = 3, + .titleText = gUnknown_8418A87, + .instructionsText1 = gUnknown_84188B9, + .instructionsText2 = gUnknown_84188D6, + .confirmText1 = gUnknown_84188F0, + .confirmText2 = gUnknown_8418902 + }, { + .type = EASY_CHAT_TYPE_QUESTIONNAIRE, + .numColumns = 2, + .numRows = 2, + .frameId = 0, + .titleText = gUnknown_8418AB2, + .instructionsText1 = gUnknown_84186D1, + .instructionsText2 = gUnknown_84187EE, + .confirmText1 = gUnknown_8418881, + .confirmText2 = gUnknown_8418902 + } +}; + +static bool8 EasyChat_AllocateResources(u8 type, u16 *words) +{ + u8 templateId; + int i; + + sEasyChatScreen = malloc(sizeof(*sEasyChatScreen)); + if (sEasyChatScreen == NULL) + return FALSE; + + sEasyChatScreen->type = type; + sEasyChatScreen->words = words; + sEasyChatScreen->state = 0; + sEasyChatScreen->mainCursorColumn = 0; + sEasyChatScreen->mainCursorRow = 0; + sEasyChatScreen->isAlphaMode = FALSE; + templateId = GetEasyChatScreenTemplateId(type); + + sEasyChatScreen->numColumns = sEasyChatScreenTemplates[templateId].numColumns; + sEasyChatScreen->numRows = sEasyChatScreenTemplates[templateId].numRows; + sEasyChatScreen->numWords = sEasyChatScreen->numColumns * sEasyChatScreen->numRows; + sEasyChatScreen->templateId = templateId; + if (sEasyChatScreen->numWords > 9) + sEasyChatScreen->numWords = 9; + + CpuCopy16(words, sEasyChatScreen->ecWordBuffer, sEasyChatScreen->numWords * sizeof(u16)); + sEasyChatScreen->selectGroupNumRows = (GetNumDisplayableGroups() - 1) / 2 + 1; + return TRUE; +} + +static void EasyChat_FreeResources(void) +{ + if (sEasyChatScreen != NULL) + Free(sEasyChatScreen); +} + +static u16 EasyChatScreen_HandleJoypad(void) +{ + switch (sEasyChatScreen->state) + { + case 0: + return HandleJoypad_SelectField(); + case 1: + return HandleJoypad_SelectFooter(); + case 2: + return HandleJoypad_SelectGroup(); + case 3: + return HandleJoypad_SelectWord(); + case 4: + return Cancel_HandleYesNoMenu(); + case 5: + return DelAll_HandleYesNoMenu(); + case 6: + return Confirm_HandleYesNoMenu(); + } + return 0; +} + +static u16 HandleJoypad_SelectField(void) +{ + do + { + if (JOY_NEW(A_BUTTON)) + { + sEasyChatScreen->state = 2; + sEasyChatScreen->selectGroupCursorX = 0; + sEasyChatScreen->selectGroupCursorY = 0; + sEasyChatScreen->selectGroupRowsAbove = 0; + return 9; + } + else if (JOY_NEW(B_BUTTON)) + { + return Cancel_CreateYesNoMenu(); + } + else if (JOY_NEW(START_BUTTON)) + { + return Confirm_CreateYesNoMenu(); + } + else if (JOY_NEW(DPAD_UP)) + { + sEasyChatScreen->mainCursorRow--; + break; + } + else if (JOY_NEW(DPAD_LEFT)) + { + sEasyChatScreen->mainCursorColumn--; + break; + } + else if (JOY_NEW(DPAD_DOWN)) + { + sEasyChatScreen->mainCursorRow++; + break; + } + else if (JOY_NEW(DPAD_RIGHT)) + { + sEasyChatScreen->mainCursorColumn++; + break; + } + + return 0; + } while (0); + + if (sEasyChatScreen->mainCursorRow < 0) + sEasyChatScreen->mainCursorRow = sEasyChatScreenTemplates[sEasyChatScreen->templateId].numRows; + + if (sEasyChatScreen->mainCursorRow > sEasyChatScreenTemplates[sEasyChatScreen->templateId].numRows) + sEasyChatScreen->mainCursorRow = 0; + + if (sEasyChatScreen->mainCursorRow == sEasyChatScreenTemplates[sEasyChatScreen->templateId].numRows) + { + if (sEasyChatScreen->mainCursorColumn > 2) + sEasyChatScreen->mainCursorColumn = 2; + + sEasyChatScreen->state = 1; + return 3; + } + + if (sEasyChatScreen->mainCursorColumn < 0) + sEasyChatScreen->mainCursorColumn = sEasyChatScreenTemplates[sEasyChatScreen->templateId].numColumns - 1; + + if (sEasyChatScreen->mainCursorColumn >= sEasyChatScreenTemplates[sEasyChatScreen->templateId].numColumns) + sEasyChatScreen->mainCursorColumn = 0; + + if (GetEasyChatScreenFrameId() == 2 && sEasyChatScreen->mainCursorColumn == 1 && sEasyChatScreen->mainCursorRow == 4) + sEasyChatScreen->mainCursorColumn = 0; + + return 2; +} + +static u16 HandleJoypad_SelectFooter(void) +{ + do + { + if (JOY_NEW(A_BUTTON)) + { + switch (sEasyChatScreen->mainCursorColumn) + { + case 0: + return DelAll_CreateYesNoMenu(); + case 1: + return Cancel_CreateYesNoMenu(); + case 2: + return Confirm_CreateYesNoMenu(); + } + } + + if (JOY_NEW(B_BUTTON)) + { + return Cancel_CreateYesNoMenu(); + } + else if (JOY_NEW(START_BUTTON)) + { + return Confirm_CreateYesNoMenu(); + } + else if (JOY_NEW(DPAD_UP)) + { + sEasyChatScreen->mainCursorRow--; + break; + } + else if (JOY_NEW(DPAD_LEFT)) + { + sEasyChatScreen->mainCursorColumn--; + break; + } + else if (JOY_NEW(DPAD_DOWN)) + { + sEasyChatScreen->mainCursorRow = 0; + break; + } + else if (JOY_NEW(DPAD_RIGHT)) + { + sEasyChatScreen->mainCursorColumn++; + break; + } + + return 0; + } while (0); + + if (sEasyChatScreen->mainCursorRow == sEasyChatScreenTemplates[sEasyChatScreen->templateId].numRows) + { + if (sEasyChatScreen->mainCursorColumn < 0) + sEasyChatScreen->mainCursorColumn = 2; + + if (sEasyChatScreen->mainCursorColumn >= 3) + sEasyChatScreen->mainCursorColumn = 0; + + return 3; + } + + if (sEasyChatScreen->mainCursorColumn >= sEasyChatScreenTemplates[sEasyChatScreen->templateId].numColumns) + sEasyChatScreen->mainCursorColumn = sEasyChatScreenTemplates[sEasyChatScreen->templateId].numColumns - 1; + + if (GetEasyChatScreenFrameId() == 2 && sEasyChatScreen->mainCursorColumn == 1 && sEasyChatScreen->mainCursorRow == 4) + sEasyChatScreen->mainCursorColumn = 0; + + sEasyChatScreen->state = 0; + return 2; +} + +static u16 HandleJoypad_SelectGroup(void) +{ + if (JOY_NEW(B_BUTTON)) + return BackOutFromGroupToFieldSelect(); + + if (JOY_NEW(A_BUTTON)) + { + if (sEasyChatScreen->selectGroupCursorX != -1) + return OpenSelectedGroup(); + + switch (sEasyChatScreen->selectGroupCursorY) + { + case 0: + return ToggleGroupAlphaMode(); + case 1: + return DeleteSelectedWord(); + case 2: + return BackOutFromGroupToFieldSelect(); + } + } + + if (JOY_NEW(SELECT_BUTTON)) + return ToggleGroupAlphaMode(); + + if (JOY_REPT(DPAD_UP)) + return SelectGroupCursorAction(2); + + if (JOY_REPT(DPAD_DOWN)) + return SelectGroupCursorAction(3); + + if (JOY_REPT(DPAD_LEFT)) + return SelectGroupCursorAction(1); + + if (JOY_REPT(DPAD_RIGHT)) + return SelectGroupCursorAction(0); + + return 0; +} + +static u16 HandleJoypad_SelectWord(void) +{ + if (JOY_NEW(B_BUTTON)) + { + sEasyChatScreen->state = 2; + return 13; + } + + if (JOY_NEW(A_BUTTON)) + return PlaceSelectedWord(); + + if (JOY_NEW(START_BUTTON)) + return SelectWordCursorAction(4); + + if (JOY_NEW(SELECT_BUTTON)) + return SelectWordCursorAction(5); + + if (JOY_REPT(DPAD_UP)) + return SelectWordCursorAction(2); + + if (JOY_REPT(DPAD_DOWN)) + return SelectWordCursorAction(3); + + if (JOY_REPT(DPAD_LEFT)) + return SelectWordCursorAction(1); + + if (JOY_REPT(DPAD_RIGHT)) + return SelectWordCursorAction(0); + + return 0; +} + +static u16 Cancel_HandleYesNoMenu(void) +{ + u8 var0; + + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case MENU_B_PRESSED: // B Button + case 1: // No + sEasyChatScreen->state = GetStateBackup(); + return 7; + case 0: // Yes + gSpecialVar_Result = 0; + + return 23; + default: + return 0; + } +} + +static u16 Confirm_HandleYesNoMenu(void) +{ + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case MENU_B_PRESSED: // B Button + case 1: // No + sEasyChatScreen->state = GetStateBackup(); + return 7; + case 0: // Yes + gSpecialVar_Result = HasECMessageChanged(); + CommitECWords(); + return 23; + default: + return 0; + } +} + +static u16 DelAll_HandleYesNoMenu(void) +{ + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case MENU_B_PRESSED: // B Button + case 1: // No + sEasyChatScreen->state = 1; + return 7; + case 0: // Yes + DeleteAllECFields(); + sEasyChatScreen->state = 1; + return 8; + default: + return 0; + } +} + +static u16 Cancel_CreateYesNoMenu(void) +{ + sEasyChatScreen->stateBackup = sEasyChatScreen->state; + sEasyChatScreen->state = 4; + return 5; +} + +static u16 DelAll_CreateYesNoMenu(void) +{ + sEasyChatScreen->stateBackup = sEasyChatScreen->state; + sEasyChatScreen->state = 5; + return 4; +} + +static u16 Confirm_CreateYesNoMenu(void) +{ + sEasyChatScreen->stateBackup = sEasyChatScreen->state; + if (IsEcWordBufferUninitialized()) + { + sEasyChatScreen->state = 4; + return 5; + } + else + { + sEasyChatScreen->state = 6; + return 6; + } +} + +static u8 GetStateBackup(void) +{ + return sEasyChatScreen->stateBackup; +} + +static int OpenSelectedGroup(void) +{ + u16 numDisplayedWords; + + if (!sEasyChatScreen->isAlphaMode) + { + u8 groupId = GetSelectedGroupByIndex(GetSelectedGroupIndex()); + GetUnlockedECWords(FALSE, groupId); + } + else + { + GetUnlockedECWords(TRUE, GetSelectedLetter()); + } + + numDisplayedWords = GetNumDisplayedWords(); + if (numDisplayedWords == 0) + return 0; + + sEasyChatScreen->selectWordNumRows = (numDisplayedWords - 1) / 2; + sEasyChatScreen->selectWordRowsAbove = 0; + sEasyChatScreen->selectWordCursorX = 0; + sEasyChatScreen->selectWordCursorY = 0; + sEasyChatScreen->state = 3; + return 11; +} + +static int BackOutFromGroupToFieldSelect(void) +{ + sEasyChatScreen->state = 0; + return 10; +} + +static int ToggleGroupAlphaMode(void) +{ + sEasyChatScreen->selectGroupCursorX = 0; + sEasyChatScreen->selectGroupCursorY = 0; + sEasyChatScreen->selectGroupRowsAbove = 0; + if (!sEasyChatScreen->isAlphaMode) + sEasyChatScreen->isAlphaMode = TRUE; + else + sEasyChatScreen->isAlphaMode = FALSE; + + return 22; +} + +static int DeleteSelectedWord(void) +{ + SetEasyChatWordToField(0xFFFF); + return 1; +} + +static int PlaceSelectedWord(void) +{ + u16 easyChatWord = GetDisplayedWordByIndex(GetSelectWordCursorPos()); + SetEasyChatWordToField(easyChatWord); + sEasyChatScreen->state = 0; + return 12; +} + +static void CommitECWords(void) +{ + u16 i; + for (i = 0; i < sEasyChatScreen->numWords; i++) + sEasyChatScreen->words[i] = sEasyChatScreen->ecWordBuffer[i]; +} + +static void DeleteAllECFields(void) +{ + u16 i; + for (i = 0; i < sEasyChatScreen->numWords; i++) + sEasyChatScreen->ecWordBuffer[i] = 0xFFFF; +} + +static void SetEasyChatWordToField(u16 easyChatWord) +{ + u16 index = GetSelectedFieldIndex(); + sEasyChatScreen->ecWordBuffer[index] = easyChatWord; +} + +static bool8 HasECMessageChanged(void) +{ + u16 i; + for (i = 0; i < sEasyChatScreen->numWords; i++) + { + if (sEasyChatScreen->ecWordBuffer[i] != sEasyChatScreen->words[i]) + return TRUE; + } + + return FALSE; +} + +static u16 SelectGroupCursorAction(u32 action) +{ + if (sEasyChatScreen->selectGroupCursorX != -1) + { + if (!sEasyChatScreen->isAlphaMode) + return UpdateSelectGroupCursorPos_OutsideBlueBox_GroupMode(action); + else + return UpdateSelectGroupCursorPos_OutsideBlueBox_AlphaMode(action); + } + else + { + return UpdateSelectGroupCursorPos_InsideBlueBox(action); + } +} + +static int UpdateSelectGroupCursorPos_OutsideBlueBox_GroupMode(u32 arg0) +{ + switch (arg0) + { + case 2: + if (sEasyChatScreen->selectGroupCursorY != -sEasyChatScreen->selectGroupRowsAbove) + { + if (sEasyChatScreen->selectGroupCursorY) + { + sEasyChatScreen->selectGroupCursorY--; + return 14; + } + else + { + sEasyChatScreen->selectGroupRowsAbove--; + return 16; + } + } + break; + case 3: + if (sEasyChatScreen->selectGroupCursorY + sEasyChatScreen->selectGroupRowsAbove < sEasyChatScreen->selectGroupNumRows - 1) + { + int var0; + if (sEasyChatScreen->selectGroupCursorY < 3) + { + sEasyChatScreen->selectGroupCursorY++; + var0 = 14; + } + else + { + sEasyChatScreen->selectGroupRowsAbove++; + var0 = 15; + } + + MoveGroupCursorXToMaxCol(); + return var0; + } + break; + case 1: + if (sEasyChatScreen->selectGroupCursorX) + sEasyChatScreen->selectGroupCursorX--; + else + GroupCursorMoveToBlueBox(); + + return 14; + case 0: + if (sEasyChatScreen->selectGroupCursorX < 1) + { + sEasyChatScreen->selectGroupCursorX++; + if (GroupSelectCursorXPosTooFarRight()) + GroupCursorMoveToBlueBox(); + } + else + { + GroupCursorMoveToBlueBox(); + } + return 14; + } + + return 0; +} + +static int UpdateSelectGroupCursorPos_OutsideBlueBox_AlphaMode(u32 arg0) +{ + switch (arg0) + { + case 2: + if (sEasyChatScreen->selectGroupCursorY > 0) + sEasyChatScreen->selectGroupCursorY--; + else + sEasyChatScreen->selectGroupCursorY = 3; + + MoveGroupCursorXToMaxCol(); + return 14; + case 3: + if (sEasyChatScreen->selectGroupCursorY < 3) + sEasyChatScreen->selectGroupCursorY++; + else + sEasyChatScreen->selectGroupCursorY = 0; + + MoveGroupCursorXToMaxCol(); + return 14; + case 0: + sEasyChatScreen->selectGroupCursorX++; + if (GroupSelectCursorXPosTooFarRight()) + GroupCursorMoveToBlueBox(); + + return 14; + case 1: + sEasyChatScreen->selectGroupCursorX--; + if (sEasyChatScreen->selectGroupCursorX < 0) + GroupCursorMoveToBlueBox(); + + return 14; + } + + return 0; +} + +static int UpdateSelectGroupCursorPos_InsideBlueBox(u32 arg0) +{ + switch (arg0) + { + case 2: + if (sEasyChatScreen->selectGroupCursorY) + sEasyChatScreen->selectGroupCursorY--; + else + sEasyChatScreen->selectGroupCursorY = 2; + + return 14; + case 3: + if (sEasyChatScreen->selectGroupCursorY < 2) + sEasyChatScreen->selectGroupCursorY++; + else + sEasyChatScreen->selectGroupCursorY = 0; + + return 14; + case 1: + sEasyChatScreen->selectGroupCursorY++; + GroupCursorWrapAroundLeft(); + return 14; + case 0: + sEasyChatScreen->selectGroupCursorX = 0; + sEasyChatScreen->selectGroupCursorY++; + return 14; + } + + return 0; +} + +static void GroupCursorMoveToBlueBox(void) +{ + sEasyChatScreen->selectGroupCursorX = 0xFF; + if (sEasyChatScreen->selectGroupCursorY) + sEasyChatScreen->selectGroupCursorY--; +} + +static void GroupCursorWrapAroundLeft(void) +{ + if (!sEasyChatScreen->isAlphaMode) + { + sEasyChatScreen->selectGroupCursorX = 1; + MoveGroupCursorXToMaxCol(); + } + else + { + sEasyChatScreen->selectGroupCursorX = GetMaxGroupCursorXinAlphaMode(sEasyChatScreen->selectGroupCursorY); + } +} + +static u16 SelectWordCursorAction(u32 arg0) +{ + u16 result; + switch (arg0) + { + case 2: // up + if (sEasyChatScreen->selectWordCursorY + sEasyChatScreen->selectWordRowsAbove > 0) + { + if (sEasyChatScreen->selectWordCursorY > 0) + { + sEasyChatScreen->selectWordCursorY--; + result = 17; + } + else + { + sEasyChatScreen->selectWordRowsAbove--; + result = 18; + } + + MoveWordCursorXToMaxCol(); + return result; + } + break; + case 3: // down + if (sEasyChatScreen->selectWordCursorY + sEasyChatScreen->selectWordRowsAbove < sEasyChatScreen->selectWordNumRows) + { + if (sEasyChatScreen->selectWordCursorY < 3) + { + sEasyChatScreen->selectWordCursorY++; + result = 17; + } + else + { + sEasyChatScreen->selectWordRowsAbove++; + result = 19; + } + + MoveWordCursorXToMaxCol(); + return result; + } + break; + case 1: // left + if (sEasyChatScreen->selectWordCursorX > 0) + sEasyChatScreen->selectWordCursorX--; + else + sEasyChatScreen->selectWordCursorX = 1; + + MoveWordCursorXToMaxCol(); + return 17; + case 0: // right + if (sEasyChatScreen->selectWordCursorX < 1) + { + sEasyChatScreen->selectWordCursorX++; + if (WordSelectCursorXPosTooFarRight()) + sEasyChatScreen->selectWordCursorX = 0; + } + else + { + sEasyChatScreen->selectWordCursorX = 0; + } + return 17; + case 4: // pg up + if (sEasyChatScreen->selectWordRowsAbove) + { + if (sEasyChatScreen->selectWordRowsAbove > 3) + sEasyChatScreen->selectWordRowsAbove -= 4; + else + sEasyChatScreen->selectWordRowsAbove = 0; + + return 20; + } + break; + case 5: // pg dn + if (sEasyChatScreen->selectWordRowsAbove <= sEasyChatScreen->selectWordNumRows - 4) + { + sEasyChatScreen->selectWordRowsAbove += 4; + if (sEasyChatScreen->selectWordRowsAbove > sEasyChatScreen->selectWordNumRows - 3) + sEasyChatScreen->selectWordRowsAbove = sEasyChatScreen->selectWordNumRows + -3u; + + MoveWordCursorXToMaxCol(); + return 21; + } + break; + } + + return 0; +} + +static u16 GetSelectedFieldIndex(void) +{ + return (sEasyChatScreen->mainCursorRow * sEasyChatScreen->numColumns) + sEasyChatScreen->mainCursorColumn; +} + +static u16 GetSelectedGroupIndex(void) +{ + return 2 * (sEasyChatScreen->selectGroupCursorY + sEasyChatScreen->selectGroupRowsAbove) + sEasyChatScreen->selectGroupCursorX; +} + +static const u8 sAlphabetLayout[][7] = { + { 1, 2, 3, 4, 5, 6}, + { 7, 8, 9, 10, 11, 12}, + {13, 14, 15, 16, 17, 18, 19}, + {20, 21, 22, 23, 24, 25, 26} +}; + +static int GetSelectedLetter(void) +{ + int col = sEasyChatScreen->selectGroupCursorX < NELEMS(*sAlphabetLayout) ? sEasyChatScreen->selectGroupCursorX : 0; + int row = sEasyChatScreen->selectGroupCursorY < NELEMS(sAlphabetLayout) ? sEasyChatScreen->selectGroupCursorY : 0; + return sAlphabetLayout[row][col]; +} + +static u16 GetSelectWordCursorPos(void) +{ + return 2 * (sEasyChatScreen->selectWordCursorY + sEasyChatScreen->selectWordRowsAbove) + sEasyChatScreen->selectWordCursorX; +} + +static u8 GetMaxGroupCursorXinAlphaMode(u8 arg0) +{ + switch (arg0) + { + case 0: + default: + return 6; + case 1: + return 5; + } +} + +static void MoveGroupCursorXToMaxCol(void) +{ + while (GroupSelectCursorXPosTooFarRight()) + { + if (sEasyChatScreen->selectGroupCursorX) + sEasyChatScreen->selectGroupCursorX--; + else + break; + } +} + +static void MoveWordCursorXToMaxCol(void) +{ + while (WordSelectCursorXPosTooFarRight()) + { + if (sEasyChatScreen->selectWordCursorX) + sEasyChatScreen->selectWordCursorX--; + else + break; + } +} + +static bool8 GroupSelectCursorXPosTooFarRight(void) +{ + if (!sEasyChatScreen->isAlphaMode) + return GetSelectedGroupIndex() >= GetNumDisplayableGroups() ? TRUE : FALSE; + else + return sEasyChatScreen->selectGroupCursorX > GetMaxGroupCursorXinAlphaMode(sEasyChatScreen->selectGroupCursorY) ? TRUE : FALSE; +} + +static bool8 WordSelectCursorXPosTooFarRight(void) +{ + return GetSelectWordCursorPos() >= GetNumDisplayedWords() ? TRUE : FALSE; +} + +u8 GetEasyChatScreenFrameId(void) +{ + return sEasyChatScreenTemplates[sEasyChatScreen->templateId].frameId; +} + +const u8 *GetTitleText(void) +{ + return sEasyChatScreenTemplates[sEasyChatScreen->templateId].titleText; +} + +u16 *GetEasyChatWordBuffer(void) +{ + return sEasyChatScreen->ecWordBuffer; +} + +u8 GetNumRows(void) +{ + return sEasyChatScreen->numRows; +} + +u8 GetNumColumns(void) +{ + return sEasyChatScreen->numColumns; +} + +u8 GetMainCursorColumn(void) +{ + return sEasyChatScreen->mainCursorColumn; +} + +u8 GetMainCursorRow(void) +{ + return sEasyChatScreen->mainCursorRow; +} + +void GetEasyChatInstructionsText(const u8 **str1, const u8 **str2) +{ + *str1 = sEasyChatScreenTemplates[sEasyChatScreen->templateId].instructionsText1; + *str2 = sEasyChatScreenTemplates[sEasyChatScreen->templateId].instructionsText2; +} + +void GetEasyChatConfirmText(const u8 **str1, const u8 **str2) +{ + *str1 = sEasyChatScreenTemplates[sEasyChatScreen->templateId].confirmText1; + *str2 = sEasyChatScreenTemplates[sEasyChatScreen->templateId].confirmText2; +} + +void GetEasyChatConfirmCancelText(const u8 **str1, const u8 **str2) +{ + switch (sEasyChatScreen->type) + { + case EASY_CHAT_TYPE_MAIL: + *str1 = gUnknown_84189EE; + *str2 = NULL; + break; + default: + *str1 = gUnknown_84189E0; + *str2 = NULL; + break; + } + +} + +void GetEasyChatConfirmDeletionText(const u8 **str1, const u8 **str2) +{ + *str1 = gUnknown_8418937; + *str2 = gUnknown_8418956; +} + +void GetECSelectGroupCursorCoords(u8 *Xp, u8 *Yp) +{ + *Xp = sEasyChatScreen->selectGroupCursorX; + *Yp = sEasyChatScreen->selectGroupCursorY; +} + +bool8 IsEasyChatAlphaMode(void) +{ + return sEasyChatScreen->isAlphaMode; +} + +u8 GetECSelectGroupRowsAbove(void) +{ + return sEasyChatScreen->selectGroupRowsAbove; +} + +void GetECSelectWordCursorCoords(s8 *Xp, s8 *Yp) +{ + *Xp = sEasyChatScreen->selectWordCursorX; + *Yp = sEasyChatScreen->selectWordCursorY; +} + +u8 GetECSelectWordRowsAbove(void) +{ + return sEasyChatScreen->selectWordRowsAbove; +} + +u8 GetECSelectWordNumRows(void) +{ + return sEasyChatScreen->selectWordNumRows; +} + +u8 unref_sub_80FFE60(void) +{ + return 0; +} + +bool32 ShouldDrawECUpArrow(void) +{ + switch (sEasyChatScreen->state) + { + case 2: + if (!sEasyChatScreen->isAlphaMode && sEasyChatScreen->selectGroupRowsAbove != 0) + return TRUE; + break; + case 3: + if (sEasyChatScreen->selectWordRowsAbove != 0) + return TRUE; + break; + } + + return FALSE; +} + +bool32 ShouldDrawECDownArrow(void) +{ + switch (sEasyChatScreen->state) + { + case 2: + if (!sEasyChatScreen->isAlphaMode && sEasyChatScreen->selectGroupRowsAbove + 4 <= sEasyChatScreen->selectGroupNumRows - 1) + return TRUE; + break; + case 3: + if (sEasyChatScreen->selectWordRowsAbove + 4 <= sEasyChatScreen->selectWordNumRows) + return TRUE; + break; + } + + return FALSE; +} + +static bool8 IsPhraseDifferentThanPlayerInput(const u16 *phrase, u8 phraseLength) +{ + u8 i; + + for (i = 0; i < phraseLength; i++) + { + if (phrase[i] != sEasyChatScreen->ecWordBuffer[i]) + return TRUE; + } + + return FALSE; +} + +static u8 GetEasyChatScreenTemplateId(u8 type) +{ + u32 i; + + for (i = 0; i < NELEMS(sEasyChatScreenTemplates); i++) + { + if (sEasyChatScreenTemplates[i].type == type) + return i; + } + + return 0; +} + +static bool32 IsEcWordBufferUninitialized(void) +{ + int i; + + for (i = 0; i < sEasyChatScreen->numWords; i++) + { + if (sEasyChatScreen->ecWordBuffer[i] != 0xFFFF) + return FALSE; + } + + return TRUE; +} diff --git a/src/easy_chat_3.c b/src/easy_chat_3.c new file mode 100644 index 000000000..1501762bc --- /dev/null +++ b/src/easy_chat_3.c @@ -0,0 +1,2298 @@ +#include "global.h" +#include "gflib.h" +#include "keyboard_text.h" +#include "decompress.h" +#include "easy_chat.h" +#include "graphics.h" +#include "menu.h" +#include "new_menu_helpers.h" +#include "strings.h" +#include "text_window.h" + +struct ECWork +{ + u16 state; + u16 windowId; + u16 id; + u8 frameAnimIdx; + u8 frameAnimTarget; + s8 frameAnimDelta; + u8 modeIconState; + u8 ecPrintBuffer[0xC1]; + u8 ecPaddedWordBuffer[0x200]; + u16 bg2ScrollRow; + int tgtBgY; + int deltaBgY; + struct Sprite * selectDestFieldCursorSprite; + struct Sprite * rectCursorSpriteRight; + struct Sprite * rectCursorSpriteLeft; + struct Sprite * selectWordCursorSprite; + struct Sprite * selectGroupHelpSprite; + struct Sprite * modeIconsSprite; + struct Sprite * upTriangleCursorSprite; + struct Sprite * downTriangleCursorSprite; + struct Sprite * startPgUpButtonSprite; + struct Sprite * selectPgDnButtonSprite; + u16 bg1TilemapBuffer[BG_SCREEN_SIZE / 2]; + u16 bg3TilemapBuffer[BG_SCREEN_SIZE / 2]; +}; + +struct EasyChatPhraseFrameDimensions +{ + u8 left; + u8 top; + u8 width; + u8 height; +}; + +static EWRAM_DATA struct ECWork * sEasyChatGraphicsResources = NULL; + +static bool8 ECInterfaceCmd_01(void); +static bool8 ECInterfaceCmd_02(void); +static bool8 ECInterfaceCmd_03(void); +static bool8 ECInterfaceCmd_05(void); +static bool8 ECInterfaceCmd_06(void); +static bool8 ECInterfaceCmd_04(void); +static bool8 ECInterfaceCmd_07(void); +static bool8 ECInterfaceCmd_08(void); +static bool8 ECInterfaceCmd_09(void); +static bool8 ECInterfaceCmd_10(void); +static bool8 ECInterfaceCmd_22(void); +static bool8 ECInterfaceCmd_14(void); +static bool8 ECInterfaceCmd_15(void); +static bool8 ECInterfaceCmd_16(void); +static bool8 ECInterfaceCmd_11(void); +static bool8 ECInterfaceCmd_12(void); +static bool8 ECInterfaceCmd_13(void); +static bool8 ECInterfaceCmd_17(void); +static bool8 ECInterfaceCmd_19(void); +static bool8 ECInterfaceCmd_18(void); +static bool8 ECInterfaceCmd_21(void); +static bool8 ECInterfaceCmd_20(void); +static bool8 InitEasyChatGraphicsWork_Internal(void); +static void SetGpuRegsForEasyChatInit(void); +static void LoadEasyChatPals(void); +static void PrintTitleText(void); +static void EC_AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, u8 bg, u8 fg, u8 shadow); +static void PrintECInstructionsText(void); +static void PrintECInterfaceTextById(u8 a0); +static void EC_CreateYesNoMenuWithInitialCursorPos(u8 initialCursorPos); +static void CreatePhraseFrameWindow(void); +static void PrintECFields(void); +static void DrawECFrameInTilemapBuffer(u16 *buffer); +static void PutWin2TilemapAndCopyToVram(void); +static void PrintECMenuById(u32 a0); +static void PrintECGroupOrAlphaMenu(void); +static void PrintECGroupsMenu(void); +static void PrintEasyChatKeyboardText(void); +static void PrintECWordsMenu(void); +static void UpdateWin2PrintWordsScrollDown(void); +static void UpdateWin2PrintWordsScrollUp(void); +static void UpdateWin2PrintWordsScrollPageDown(void); +static void UpdateWin2PrintWordsScrollPageUp(void); +static void PrintECRowsWin2(u8 row, u8 remrow); +static void ClearECRowsWin2(u8 row, u8 remrow); +static void ClearWin2AndCopyToVram(void); +static void StartWin2FrameAnim(int a0); +static bool8 AnimateFrameResize(void); +static void RedrawFrameByIndex(u8 a0); +static void RedrawFrameByRect(int left, int top, int width, int height); +static void InitBg2Scroll(void); +static void ScheduleBg2VerticalScroll(s16 direction, u8 speed); +static bool8 AnimateBg2VerticalScroll(void); +static int GetBg2ScrollRow(void); +static void SetRegWin0Coords(u8 left, u8 top, u8 right, u8 bottom); +static void LoadSpriteGfx(void); +static void CreateSelectDestFieldCursorSprite(void); +static void SpriteCB_BounceCursor(struct Sprite * sprite); +static void SetSelectDestFieldCursorSpritePosAndResetAnim(u8 x, u8 y); +static void FreezeSelectDestFieldCursorSprite(void); +static void UnfreezeSelectDestFieldCursorSprite(void); +static void CreateRedRectangularCursorSpritePair(void); +static void DestroyRedRectangularCursor(void); +static void EC_MoveCursor(void); +static void MoveCursor_Group(s8 a0, s8 a1); +static void MoveCursor_Alpha(s8 a0, s8 a1); +static void CreateSelectWordCursorSprite(void); +static void SpriteCB_SelectWordCursorSprite(struct Sprite * sprite); +static void SetSelectWordCursorSpritePos(void); +static void SetSelectWordCursorSpritePosExplicit(u8 x, u8 y); +static void DestroySelectWordCursorSprite(void); +static void CreateSelectGroupHelpSprite(void); +static bool8 AnimateSeletGroupModeAndHelpSpriteEnter(void); +static void StartModeIconHidingAnimation(void); +static bool8 RunModeIconHidingAnimation(void); +static void ShrinkModeIconsSprite(void); +static void ShowModeIconsSprite(void); +static bool8 ModeIconsSpriteAnimIsEnded(void); +static void CreateVerticalScrollArrowSprites(void); +static void UpdateVerticalScrollArrowVisibility(void); +static void HideVerticalScrollArrowSprites(void); +static void UpdateVerticalScrollArrowSpriteXPos(int a0); +static void CreateStartSelectButtonsSprites(void); +static void UpdateStartSelectButtonSpriteVisibility(void); +static void HideStartSelectButtonSprites(void); +static void CreateFooterWindow(void); + +static const u16 gUnknown_843F3B8[] = INCBIN_U16("graphics/link_rfu/unk_843F3F8.gbapal"); +static const u16 gUnknown_843F3D8[] = INCBIN_U16("graphics/link_rfu/unk_8E9BD28.gbapal"); +static const u16 sRightTriangleCursor_Tiles[] = INCBIN_U16("graphics/link_rfu/unk_843F3F8.4bpp"); +static const u16 sUpTriangleCursor_Tiles[] = INCBIN_U16("graphics/link_rfu/unk_843F418.4bpp"); +static const u16 sStartSelectButtons_Tiles[] = INCBIN_U16("graphics/link_rfu/unk_843F518.4bpp"); +static const u16 gUnknown_843F618[] = INCBIN_U16("graphics/link_rfu/unk_843F638.gbapal"); +static const u32 gUnknown_843F638[] = INCBIN_U32("graphics/link_rfu/unk_843F638.4bpp.lz"); +static const u16 gUnknown_843F76C[] = INCBIN_U16("graphics/link_rfu/unk_843F76C.gbapal"); +static const u16 gUnknown_843F78C[] = INCBIN_U16("graphics/link_rfu/unk_843F78C.gbapal"); +static const u32 gUnknown_843F7AC[] = INCBIN_U32("graphics/link_rfu/unk_843F7AC.4bpp.lz"); + +static const u16 gUnknown_843F874[] = { + RGB( 0, 0, 0), + RGB( 0, 0, 0), + RGB( 7, 25, 31), + RGB(21, 21, 29) +}; + +static const u16 gUnknown_843F87C[] = { + RGB( 0, 0, 0), + RGB(31, 31, 31), + RGB(12, 12, 12), + RGB(27, 26, 27), + RGB( 8, 17, 9) +}; + +static const struct EasyChatPhraseFrameDimensions sPhraseFrameDimensions[] = { + { + .left = 0x03, + .top = 0x04, + .width = 0x18, + .height = 0x04 + }, { + .left = 0x01, + .top = 0x04, + .width = 0x1b, + .height = 0x04 + }, { + .left = 0x03, + .top = 0x00, + .width = 0x18, + .height = 0x0a + }, { + .left = 0x06, + .top = 0x06, + .width = 0x12, + .height = 0x04 + }, { + .left = 0x10, + .top = 0x04, + .width = 0x09, + .height = 0x02 + }, { + .left = 0x0e, + .top = 0x04, + .width = 0x12, + .height = 0x04 + } +}; + +static const struct BgTemplate sEasyChatBgTemplates[] = { + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 28, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0, + }, { + .bg = 1, + .charBaseIndex = 3, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0, + }, { + .bg = 2, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0x80, + }, { + .bg = 3, + .charBaseIndex = 2, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0, + } +}; + +static const struct WindowTemplate sEasyChatWindowTemplates[] = { + { + .bg = 1, + .tilemapLeft = 7, + .tilemapTop = 0, + .width = 16, + .height = 2, + .paletteNum = 10, + .baseBlock = 0x10, + }, + { + .bg = 0, + .tilemapLeft = 4, + .tilemapTop = 15, + .width = 22, + .height = 4, + .paletteNum = 15, + .baseBlock = 0xA, + }, + { + .bg = 2, + .tilemapLeft = 1, + .tilemapTop = 0, + .width = 28, + .height = 32, + .paletteNum = 3, + .baseBlock = 0, + }, + DUMMY_WIN_TEMPLATE, +}; + +static const struct WindowTemplate sEasyChatYesNoWindowTemplate = { + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 9, + .width = 5, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x062 +}; + +static const u8 gUnknown_843F8D8[] = _("{UNDERSCORE}"); +static const u8 sText_Clear17[] = _("{CLEAR 17}"); + +static const u8 *const sEasyChatKeyboardText[] = { + gUnknown_847A8D8, + gUnknown_847A8FA, + gUnknown_847A913, + gUnknown_847A934 +}; + +static const struct SpriteSheet sEasyChatSpriteSheets[] = { + {sRightTriangleCursor_Tiles, 0x0020, 0}, + {sUpTriangleCursor_Tiles, 0x0100, 2}, + {sStartSelectButtons_Tiles, 0x0100, 3}, + {} +}; + +static const struct SpritePalette sEasyChatSpritePalettes[] = { + {gUnknown_843F3B8, 0}, + {gUnknown_843F3D8, 1}, + {gUnknown_8E99F24, 2}, + {gUnknown_843F618, 3}, + {} +}; + +static const struct CompressedSpriteSheet sEasyChatCompressedSpriteSheets[] = { + {gUnknown_843F638, 0x0800, 5}, + {gEasyChatRedRectangularCursor_Tiles, 0x1000, 1}, + {gEasyChatSelectGroupHelp_Tiles, 0x0800, 6}, + {gEasyChatModeIcons_Tiles, 0x1000, 4} +}; + +static const u8 sECDisplay_AlphaModeXCoords[] = { + 0, + 12, + 24, + 56, + 68, + 80, + 92 +}; + +static const struct OamData sOamData_RightTriangleCursor = { + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .mosaic = FALSE, + .shape = SPRITE_SHAPE(8x8), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(8x8), + .tileNum = 0x000, + .priority = 3, + .paletteNum = 0 +}; + +static const struct SpriteTemplate sSpriteTemplate_RightTriangleCursor = { + .tileTag = 0, + .paletteTag = 0, + .oam = &sOamData_RightTriangleCursor, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_BounceCursor +}; + +static const struct OamData sOamData_RedRectangularCursor = { + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .mosaic = FALSE, + .shape = SPRITE_SHAPE(64x32), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(64x32), + .tileNum = 0x000, + .priority = 1, + .paletteNum = 0 +}; + +static const union AnimCmd sAnimCmd_RectCursor_Wide[] = { + ANIMCMD_FRAME(0x00, 0), + ANIMCMD_END +}; + +static const union AnimCmd sAnimCmd_RectCursor_Norm[] = { + ANIMCMD_FRAME(0x20, 0), + ANIMCMD_END +}; + +static const union AnimCmd sAnimCmd_RectCursor_NormTaller[] = { + ANIMCMD_FRAME(0x40, 0), + ANIMCMD_END +}; + +static const union AnimCmd sAnimCmd_RectCursor_Narrow[] = { + ANIMCMD_FRAME(0x60, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const sAnimTable_RedRectangularCursor[] = { + sAnimCmd_RectCursor_Wide, + sAnimCmd_RectCursor_Norm, + sAnimCmd_RectCursor_NormTaller, + sAnimCmd_RectCursor_Narrow +}; + +static const struct SpriteTemplate sSpriteTemplate_RedRectangularCursor = { + .tileTag = 1, + .paletteTag = 1, + .oam = &sOamData_RedRectangularCursor, + .anims = sAnimTable_RedRectangularCursor, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_BounceCursor +}; + +static const struct OamData sOamData_EasyChatModeIcons = { + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .mosaic = FALSE, + .shape = SPRITE_SHAPE(64x32), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(64x32), + .tileNum = 0x000, + .priority = 1, + .paletteNum = 0 +}; + +static const union AnimCmd sAnim_EasyChatModeIcon_Hidden[] = { + ANIMCMD_FRAME(0x60, 0), + ANIMCMD_END +}; + +static const union AnimCmd sAnim_EasyChatModeIcon_ToGroupMode[] = { + ANIMCMD_FRAME(0x40, 4), + ANIMCMD_FRAME(0x20, 4), + ANIMCMD_END +}; + +static const union AnimCmd sAnim_EasyChatModeIcon_ToAlphaMode[] = { + ANIMCMD_FRAME(0x40, 4), + ANIMCMD_FRAME(0x00, 4), + ANIMCMD_END +}; + +static const union AnimCmd sAnim_EasyChatModeIcon_ToHidden[] = { + ANIMCMD_FRAME(0x40, 4), + ANIMCMD_FRAME(0x60, 0), + ANIMCMD_END +}; + +static const union AnimCmd sAnim_EasyChatModeIcon_HoldSmall[] = { + ANIMCMD_FRAME(0x40, 4), + ANIMCMD_END +}; + +static const union AnimCmd *const sAnimTable_EasyChatModeIcons[] = { + sAnim_EasyChatModeIcon_Hidden, + sAnim_EasyChatModeIcon_ToGroupMode, + sAnim_EasyChatModeIcon_ToAlphaMode, + sAnim_EasyChatModeIcon_ToHidden, + sAnim_EasyChatModeIcon_HoldSmall +}; + +static const struct SpriteTemplate sSpriteTemplate_EasyChatModeIcons = { + .tileTag = 4, + .paletteTag = 2, + .oam = &sOamData_EasyChatModeIcons, + .anims = sAnimTable_EasyChatModeIcons, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct OamData sOamData_SelectGroupHelp = { + .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 = 0x000, + .priority = 3, + .paletteNum = 0 +}; + +static const struct SpriteTemplate sSpriteTemplate_SelectGroupHelp = { + .tileTag = 6, + .paletteTag = 2, + .oam = &sOamData_SelectGroupHelp, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct OamData gUnknown_843FA58 = { + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = FALSE, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x8), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(32x8), + .tileNum = 0x000, + .priority = 1, + .paletteNum = 0 +}; + +static const struct OamData sOamData_UpTriangleCursor = { + .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 = 0x000, + .priority = 1, + .paletteNum = 0 +}; + +static const union AnimCmd gUnknown_843FA68[] = { + ANIMCMD_FRAME(0, 0), + ANIMCMD_END, +}; + +static const union AnimCmd gUnknown_843FA70[] = { + ANIMCMD_FRAME(4, 0), + ANIMCMD_END, +}; + +static const union AnimCmd *const gUnknown_843FA78[] = { + gUnknown_843FA68, + gUnknown_843FA70, +}; + +static const struct SpriteTemplate sSpriteTemplate_StartSelectButtons = { + .tileTag = 3, + .paletteTag = 2, + .oam = &gUnknown_843FA58, + .anims = gUnknown_843FA78, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct SpriteTemplate sSpriteTemplate_UpTriangleCursor = { + .tileTag = 2, + .paletteTag = 2, + .oam = &sOamData_UpTriangleCursor, + .anims = gUnknown_843FA78, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +bool8 InitEasyChatGraphicsWork(void) +{ + if (!InitEasyChatGraphicsWork_Internal()) + return FALSE; + else + return TRUE; +} + +bool8 LoadEasyChatGraphics(void) +{ + switch (sEasyChatGraphicsResources->state) + { + case 0: + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, sEasyChatBgTemplates, NELEMS(sEasyChatBgTemplates)); + SetBgTilemapBuffer(3, sEasyChatGraphicsResources->bg3TilemapBuffer); + SetBgTilemapBuffer(1, sEasyChatGraphicsResources->bg1TilemapBuffer); + InitWindows(sEasyChatWindowTemplates); + DeactivateAllTextPrinters(); + LoadEasyChatPals(); + SetGpuRegsForEasyChatInit(); + CpuFastFill(0, (void *)VRAM + 0x1000000, 0x400); + break; + case 1: + DecompressAndLoadBgGfxUsingHeap(3, gEasyChatWindow_Gfx, 0, 0, 0); + CopyToBgTilemapBuffer(3, gEasyChatWindow_Tilemap, 0, 0); + CreatePhraseFrameWindow(); + CreateFooterWindow(); + CopyBgTilemapBufferToVram(3); + break; + case 2: + DrawECFrameInTilemapBuffer(sEasyChatGraphicsResources->bg1TilemapBuffer); + DecompressAndLoadBgGfxUsingHeap(1, gUnknown_843F7AC, 0, 0, 0); + CopyBgTilemapBufferToVram(1); + break; + case 3: + PrintTitleText(); + PrintECInstructionsText(); + PrintECFields(); + PutWin2TilemapAndCopyToVram(); + break; + case 4: + LoadSpriteGfx(); + CreateSelectDestFieldCursorSprite(); + break; + case 5: + if (IsDma3ManagerBusyWithBgCopy()) + { + return TRUE; + } + else + { + SetRegWin0Coords(0, 0, 0, 0); + SetGpuReg(REG_OFFSET_WININ, WIN_RANGE(0, 63)); + SetGpuReg(REG_OFFSET_WINOUT, WIN_RANGE(0, 59)); + ShowBg(3); + ShowBg(1); + ShowBg(2); + ShowBg(0); + CreateVerticalScrollArrowSprites(); + CreateStartSelectButtonsSprites(); + } + break; + default: + return FALSE; + } + + sEasyChatGraphicsResources->state++; + return TRUE; +} + +void DestroyEasyChatGraphicsResources(void) +{ + if (sEasyChatGraphicsResources) + Free(sEasyChatGraphicsResources); +} + +void EasyChatInterfaceCommand_Setup(u16 id) +{ + sEasyChatGraphicsResources->id = id; + sEasyChatGraphicsResources->state = 0; + EasyChatInterfaceCommand_Run(); +} + +bool8 EasyChatInterfaceCommand_Run(void) +{ + switch (sEasyChatGraphicsResources->id) + { + case 0: return FALSE; + case 1: return ECInterfaceCmd_01(); + case 2: return ECInterfaceCmd_02(); + case 3: return ECInterfaceCmd_03(); + case 4: return ECInterfaceCmd_04(); + case 5: return ECInterfaceCmd_05(); + case 6: return ECInterfaceCmd_06(); + case 7: return ECInterfaceCmd_07(); + case 8: return ECInterfaceCmd_08(); + case 9: return ECInterfaceCmd_09(); + case 10: return ECInterfaceCmd_10(); + case 11: return ECInterfaceCmd_11(); + case 12: return ECInterfaceCmd_12(); + case 13: return ECInterfaceCmd_13(); + case 14: return ECInterfaceCmd_14(); + case 15: return ECInterfaceCmd_15(); + case 16: return ECInterfaceCmd_16(); + case 17: return ECInterfaceCmd_17(); + case 18: return ECInterfaceCmd_18(); + case 19: return ECInterfaceCmd_19(); + case 20: return ECInterfaceCmd_20(); + case 21: return ECInterfaceCmd_21(); + case 22: return ECInterfaceCmd_22(); + default: return FALSE; + } +} + +static bool8 ECInterfaceCmd_01(void) +{ + switch (sEasyChatGraphicsResources->state) + { + case 0: + PrintECFields(); + sEasyChatGraphicsResources->state++; + break; + case 1: + return IsDma3ManagerBusyWithBgCopy(); + } + + return TRUE; +} + +static bool8 ECInterfaceCmd_02(void) +{ + u8 i; + u16 *ecWordBuffer; + u16 *ecWord; + u8 frameId; + u8 cursorColumn, cursorRow, numColumns; + s16 var1; + int stringWidth; + int trueStringWidth; + int var2; + u8 str[64]; + + ecWordBuffer = GetEasyChatWordBuffer(); + frameId = GetEasyChatScreenFrameId(); + cursorColumn = GetMainCursorColumn(); + cursorRow = GetMainCursorRow(); + numColumns = GetNumColumns(); + ecWord = &ecWordBuffer[cursorRow * numColumns]; + var1 = 8 * sPhraseFrameDimensions[frameId].left + 13; + for (i = 0; i < cursorColumn; i++) + { + if (*ecWord == 0xFFFF) + { + stringWidth = GetStringWidth(1, gUnknown_843F8D8, 0) * 7; + } + else + { + CopyEasyChatWord(str, *ecWord); + stringWidth = GetStringWidth(1, str, 0); + } + + trueStringWidth = stringWidth + 17; + var1 += trueStringWidth; + ecWord++; + } + + var2 = 8 * (sPhraseFrameDimensions[frameId].top + cursorRow * 2 + 1) + 1; + SetSelectDestFieldCursorSpritePosAndResetAnim(var1, var2); + return FALSE; +} + +static bool8 ECInterfaceCmd_03(void) +{ + u8 xOffset; + switch (GetMainCursorColumn()) + { + case 0: + xOffset = 28; + break; + case 1: + xOffset = 115; + break; + case 2: + xOffset = 191; + break; + default: + return FALSE; + } + SetSelectDestFieldCursorSpritePosAndResetAnim(xOffset, 97); + return FALSE; +} + +static bool8 ECInterfaceCmd_05(void) +{ + switch (sEasyChatGraphicsResources->state) + { + case 0: + FreezeSelectDestFieldCursorSprite(); + PrintECInterfaceTextById(2); + EC_CreateYesNoMenuWithInitialCursorPos(1); + sEasyChatGraphicsResources->state++; + break; + case 1: + return IsDma3ManagerBusyWithBgCopy(); + } + + return TRUE; +} + +static bool8 ECInterfaceCmd_06(void) +{ + switch (sEasyChatGraphicsResources->state) + { + case 0: + FreezeSelectDestFieldCursorSprite(); + PrintECInterfaceTextById(3); + EC_CreateYesNoMenuWithInitialCursorPos(0); + sEasyChatGraphicsResources->state++; + break; + case 1: + return IsDma3ManagerBusyWithBgCopy(); + } + + return TRUE; +} + +static bool8 ECInterfaceCmd_04(void) +{ + switch (sEasyChatGraphicsResources->state) + { + case 0: + FreezeSelectDestFieldCursorSprite(); + PrintECInterfaceTextById(1); + EC_CreateYesNoMenuWithInitialCursorPos(1); + sEasyChatGraphicsResources->state++; + break; + case 1: + return IsDma3ManagerBusyWithBgCopy(); + } + + return TRUE; +} + +static bool8 ECInterfaceCmd_07(void) +{ + switch (sEasyChatGraphicsResources->state) + { + case 0: + UnfreezeSelectDestFieldCursorSprite(); + PrintECInterfaceTextById(0); + ShowBg(0); + sEasyChatGraphicsResources->state++; + break; + case 1: + return IsDma3ManagerBusyWithBgCopy(); + } + + return TRUE; +} + +static bool8 ECInterfaceCmd_08(void) +{ + switch (sEasyChatGraphicsResources->state) + { + case 0: + UnfreezeSelectDestFieldCursorSprite(); + PrintECInterfaceTextById(0); + PrintECFields(); + sEasyChatGraphicsResources->state++; + // Fall through + case 1: + return IsDma3ManagerBusyWithBgCopy(); + } + + return TRUE; +} + +static bool8 ECInterfaceCmd_09(void) +{ + switch (sEasyChatGraphicsResources->state) + { + case 0: + FreezeSelectDestFieldCursorSprite(); + HideBg(0); + SetRegWin0Coords(0, 0, 0, 0); + PrintECGroupOrAlphaMenu(); + sEasyChatGraphicsResources->state++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + StartWin2FrameAnim(0); + sEasyChatGraphicsResources->state++; + } + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy() && !AnimateFrameResize()) + sEasyChatGraphicsResources->state++; + break; + case 3: + if (!IsDma3ManagerBusyWithBgCopy()) + { + CreateSelectGroupHelpSprite(); + sEasyChatGraphicsResources->state++; + } + break; + case 4: + if (!AnimateSeletGroupModeAndHelpSpriteEnter()) + { + CreateRedRectangularCursorSpritePair(); + UpdateVerticalScrollArrowSpriteXPos(0); + UpdateVerticalScrollArrowVisibility(); + sEasyChatGraphicsResources->state++; + return FALSE; + } + break; + default: + return FALSE; + } + + return TRUE; +} + +static bool8 ECInterfaceCmd_10(void) +{ + switch (sEasyChatGraphicsResources->state) + { + case 0: + DestroyRedRectangularCursor(); + StartModeIconHidingAnimation(); + HideVerticalScrollArrowSprites(); + sEasyChatGraphicsResources->state++; + break; + case 1: + if (RunModeIconHidingAnimation() == TRUE) + break; + + StartWin2FrameAnim(1); + sEasyChatGraphicsResources->state++; + // Fall through + case 2: + if (!AnimateFrameResize()) + sEasyChatGraphicsResources->state++; + break; + case 3: + if (!IsDma3ManagerBusyWithBgCopy()) + { + UnfreezeSelectDestFieldCursorSprite(); + ShowBg(0); + sEasyChatGraphicsResources->state++; + } + break; + case 4: + return FALSE; + } + + return TRUE; +} + +static bool8 ECInterfaceCmd_22(void) +{ + switch (sEasyChatGraphicsResources->state) + { + case 0: + DestroyRedRectangularCursor(); + HideVerticalScrollArrowSprites(); + ShrinkModeIconsSprite(); + StartWin2FrameAnim(5); + sEasyChatGraphicsResources->state++; + break; + case 1: + if (!AnimateFrameResize() && !ModeIconsSpriteAnimIsEnded()) + { + PrintECGroupOrAlphaMenu(); + sEasyChatGraphicsResources->state++; + } + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + { + StartWin2FrameAnim(6); + ShowModeIconsSprite(); + sEasyChatGraphicsResources->state++; + } + break; + case 3: + if (!AnimateFrameResize() && !ModeIconsSpriteAnimIsEnded()) + { + UpdateVerticalScrollArrowVisibility(); + CreateRedRectangularCursorSpritePair(); + sEasyChatGraphicsResources->state++; + return FALSE; + } + break; + case 4: + return FALSE; + } + + return TRUE; +} + +static bool8 ECInterfaceCmd_14(void) +{ + EC_MoveCursor(); + return FALSE; +} + +static bool8 ECInterfaceCmd_15(void) +{ + switch (sEasyChatGraphicsResources->state) + { + case 0: + ScheduleBg2VerticalScroll(1, 2); + sEasyChatGraphicsResources->state++; + // Fall through + case 1: + if (!AnimateBg2VerticalScroll()) + { + EC_MoveCursor(); + UpdateVerticalScrollArrowVisibility(); + return FALSE; + } + break; + } + + return TRUE; +} + +static bool8 ECInterfaceCmd_16(void) +{ + switch (sEasyChatGraphicsResources->state) + { + case 0: + ScheduleBg2VerticalScroll(-1, 2); + sEasyChatGraphicsResources->state++; + // Fall through + case 1: + if (!AnimateBg2VerticalScroll()) + { + UpdateVerticalScrollArrowVisibility(); + sEasyChatGraphicsResources->state++; + return FALSE; + } + break; + case 2: + return FALSE; + } + + return TRUE; +} + +static bool8 ECInterfaceCmd_11(void) +{ + switch (sEasyChatGraphicsResources->state) + { + case 0: + DestroyRedRectangularCursor(); + StartModeIconHidingAnimation(); + HideVerticalScrollArrowSprites(); + sEasyChatGraphicsResources->state++; + break; + case 1: + if (!RunModeIconHidingAnimation()) + { + ClearWin2AndCopyToVram(); + sEasyChatGraphicsResources->state++; + } + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + { + StartWin2FrameAnim(2); + sEasyChatGraphicsResources->state++; + } + break; + case 3: + if (!AnimateFrameResize()) + { + PrintECMenuById(2); + sEasyChatGraphicsResources->state++; + } + break; + case 4: + if (!IsDma3ManagerBusyWithBgCopy()) + { + CreateSelectWordCursorSprite(); + UpdateVerticalScrollArrowSpriteXPos(1); + UpdateVerticalScrollArrowVisibility(); + UpdateStartSelectButtonSpriteVisibility(); + sEasyChatGraphicsResources->state++; + return FALSE; + } + break; + case 5: + return FALSE; + } + + return TRUE; +} + +static bool8 ECInterfaceCmd_12(void) +{ + switch (sEasyChatGraphicsResources->state) + { + case 0: + PrintECFields(); + sEasyChatGraphicsResources->state++; + break; + case 1: + DestroySelectWordCursorSprite(); + HideVerticalScrollArrowSprites(); + HideStartSelectButtonSprites(); + ClearWin2AndCopyToVram(); + sEasyChatGraphicsResources->state++; + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + { + StartWin2FrameAnim(3); + sEasyChatGraphicsResources->state++; + } + break; + case 3: + if (!AnimateFrameResize()) + { + ShowBg(0); + sEasyChatGraphicsResources->state++; + } + break; + case 4: + if (!IsDma3ManagerBusyWithBgCopy()) + { + UnfreezeSelectDestFieldCursorSprite(); + sEasyChatGraphicsResources->state++; + return FALSE; + } + break; + case 5: + return FALSE; + } + + return TRUE; +} + +static bool8 ECInterfaceCmd_13(void) +{ + switch (sEasyChatGraphicsResources->state) + { + case 0: + DestroySelectWordCursorSprite(); + HideVerticalScrollArrowSprites(); + HideStartSelectButtonSprites(); + ClearWin2AndCopyToVram(); + sEasyChatGraphicsResources->state++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + StartWin2FrameAnim(4); + sEasyChatGraphicsResources->state++; + } + break; + case 2: + if (!AnimateFrameResize()) + { + PrintECGroupOrAlphaMenu(); + sEasyChatGraphicsResources->state++; + } + break; + case 3: + if (!IsDma3ManagerBusyWithBgCopy()) + { + CreateSelectGroupHelpSprite(); + sEasyChatGraphicsResources->state++; + } + break; + case 4: + if (!AnimateSeletGroupModeAndHelpSpriteEnter()) + { + CreateRedRectangularCursorSpritePair(); + UpdateVerticalScrollArrowSpriteXPos(0); + UpdateVerticalScrollArrowVisibility(); + sEasyChatGraphicsResources->state++; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool8 ECInterfaceCmd_17(void) +{ + SetSelectWordCursorSpritePos(); + return FALSE; +} + +static bool8 ECInterfaceCmd_19(void) +{ + switch (sEasyChatGraphicsResources->state) + { + case 0: + UpdateWin2PrintWordsScrollDown(); + sEasyChatGraphicsResources->state++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + ScheduleBg2VerticalScroll(1, 2); + sEasyChatGraphicsResources->state++; + } + break; + case 2: + if (!AnimateBg2VerticalScroll()) + { + SetSelectWordCursorSpritePos(); + UpdateVerticalScrollArrowVisibility(); + UpdateStartSelectButtonSpriteVisibility(); + sEasyChatGraphicsResources->state++; + return FALSE; + } + break; + case 3: + return FALSE; + } + + return TRUE; +} + +static bool8 ECInterfaceCmd_18(void) +{ + switch (sEasyChatGraphicsResources->state) + { + case 0: + UpdateWin2PrintWordsScrollUp(); + sEasyChatGraphicsResources->state++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + ScheduleBg2VerticalScroll(-1, 2); + sEasyChatGraphicsResources->state++; + } + break; + case 2: + if (!AnimateBg2VerticalScroll()) + { + UpdateVerticalScrollArrowVisibility(); + UpdateStartSelectButtonSpriteVisibility(); + sEasyChatGraphicsResources->state++; + return FALSE; + } + break; + case 3: + return FALSE; + } + + return TRUE; +} + +static bool8 ECInterfaceCmd_21(void) +{ + switch (sEasyChatGraphicsResources->state) + { + case 0: + UpdateWin2PrintWordsScrollPageDown(); + sEasyChatGraphicsResources->state++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + s16 direction = GetECSelectWordRowsAbove() - GetBg2ScrollRow(); + ScheduleBg2VerticalScroll(direction, 4); + sEasyChatGraphicsResources->state++; + } + break; + case 2: + if (!AnimateBg2VerticalScroll()) + { + SetSelectWordCursorSpritePos(); + UpdateVerticalScrollArrowVisibility(); + UpdateStartSelectButtonSpriteVisibility(); + sEasyChatGraphicsResources->state++; + return FALSE; + } + break; + case 3: + return FALSE; + } + + return TRUE; +} + +static bool8 ECInterfaceCmd_20(void) +{ + switch (sEasyChatGraphicsResources->state) + { + case 0: + UpdateWin2PrintWordsScrollPageUp(); + sEasyChatGraphicsResources->state++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + s16 direction = GetECSelectWordRowsAbove() - GetBg2ScrollRow(); + ScheduleBg2VerticalScroll(direction, 4); + sEasyChatGraphicsResources->state++; + } + break; + case 2: + if (!AnimateBg2VerticalScroll()) + { + UpdateVerticalScrollArrowVisibility(); + UpdateStartSelectButtonSpriteVisibility(); + sEasyChatGraphicsResources->state++; + return FALSE; + } + break; + case 3: + return FALSE; + } + + return TRUE; +} + +static bool8 InitEasyChatGraphicsWork_Internal(void) +{ + sEasyChatGraphicsResources = Alloc(sizeof(*sEasyChatGraphicsResources)); + if (sEasyChatGraphicsResources == NULL) + return FALSE; + + sEasyChatGraphicsResources->state = 0; + sEasyChatGraphicsResources->selectDestFieldCursorSprite = NULL; + sEasyChatGraphicsResources->rectCursorSpriteRight = NULL; + sEasyChatGraphicsResources->rectCursorSpriteLeft = NULL; + sEasyChatGraphicsResources->selectWordCursorSprite = NULL; + sEasyChatGraphicsResources->selectGroupHelpSprite = NULL; + sEasyChatGraphicsResources->modeIconsSprite = NULL; + sEasyChatGraphicsResources->upTriangleCursorSprite = NULL; + sEasyChatGraphicsResources->downTriangleCursorSprite = NULL; + sEasyChatGraphicsResources->startPgUpButtonSprite = NULL; + sEasyChatGraphicsResources->selectPgDnButtonSprite = NULL; + return TRUE; +} + +static void SetGpuRegsForEasyChatInit(void) +{ + ChangeBgX(3, 0, 0); + ChangeBgY(3, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON); +} + +static void LoadEasyChatPals(void) +{ + ResetPaletteFade(); + LoadPalette(gEasyChatMode_Pal, 0, 32); + LoadPalette(gUnknown_843F76C, 1 * 16, 32); + LoadPalette(gUnknown_843F78C, 4 * 16, 32); + LoadPalette(gUnknown_843F874, 10 * 16, 8); + LoadPalette(gUnknown_843F87C, 11 * 16, 10); + LoadPalette(gUnknown_843F87C, 15 * 16, 10); + LoadPalette(gUnknown_843F87C, 3 * 16, 10); +} + +static void PrintTitleText(void) +{ + int xOffset; + const u8 *titleText = GetTitleText(); + if (titleText == NULL) + return; + + xOffset = (128 - GetStringWidth(1, titleText, 0)) / 2u; + FillWindowPixelBuffer(0, PIXEL_FILL(0)); + EC_AddTextPrinterParameterized2(0, 1, titleText, xOffset, 0, TEXT_SPEED_FF, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY); + PutWindowTilemap(0); + CopyWindowToVram(0, 3); +} + +static void EC_AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16)) +{ + if (fontId == 1) y += 2; + AddTextPrinterParameterized(windowId, fontId, str, x, y, speed, callback); +} + +static void EC_AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, u8 bg, u8 fg, u8 shadow) +{ + u8 color[3]; + if (fontId == 1) y += 2; + color[0] = bg; + color[1] = fg; + color[2] = shadow; + AddTextPrinterParameterized3(windowId, fontId, x, y, color, speed, str); +} + +static void PrintECInstructionsText(void) +{ + FillBgTilemapBufferRect(0, 0, 0, 0, 32, 20, 17); + TextWindow_SetUserSelectedFrame(1, 1, 0xE0); + DrawTextBorderOuter(1, 1, 14); + PrintECInterfaceTextById(0); + PutWindowTilemap(1); + CopyBgTilemapBufferToVram(0); +} + +static void PrintECInterfaceTextById(u8 direction) +{ + const u8 *text2 = NULL; + const u8 *text1 = NULL; + switch (direction) + { + case 0: + GetEasyChatInstructionsText(&text1, &text2); + break; + case 2: + GetEasyChatConfirmCancelText(&text1, &text2); + break; + case 3: + GetEasyChatConfirmText(&text1, &text2); + break; + case 1: + GetEasyChatConfirmDeletionText(&text1, &text2); + break; + } + + FillWindowPixelBuffer(1, PIXEL_FILL(1)); + if (text1) + EC_AddTextPrinterParameterized(1, 1, text1, 0, 0, TEXT_SPEED_FF, NULL); + + if (text2) + EC_AddTextPrinterParameterized(1, 1, text2, 0, 16, TEXT_SPEED_FF, NULL); + + CopyWindowToVram(1, 3); +} + +static void EC_CreateYesNoMenuWithInitialCursorPos(u8 initialCursorPos) +{ + CreateYesNoMenu(&sEasyChatYesNoWindowTemplate, 1, 0, 2, 0x001, 14, initialCursorPos); +} + +static void CreatePhraseFrameWindow(void) +{ + u8 frameId; + struct WindowTemplate template; + + frameId = GetEasyChatScreenFrameId(); + template.bg = 3; + template.tilemapLeft = sPhraseFrameDimensions[frameId].left; + template.tilemapTop = sPhraseFrameDimensions[frameId].top; + template.width = sPhraseFrameDimensions[frameId].width; + template.height = sPhraseFrameDimensions[frameId].height; + template.paletteNum = 11; + template.baseBlock = 0x060; + sEasyChatGraphicsResources->windowId = AddWindow(&template); + PutWindowTilemap(sEasyChatGraphicsResources->windowId); +} + +static void PrintECFields(void) +{ + u16 *ecWord; + u8 numColumns, numRows; + u8 *str; + u8 frameId; + int i, j, k; + + ecWord = GetEasyChatWordBuffer(); + numColumns = GetNumColumns(); + numRows = GetNumRows(); + frameId = GetEasyChatScreenFrameId(); + FillWindowPixelBuffer(sEasyChatGraphicsResources->windowId, PIXEL_FILL(1)); + for (i = 0; i < numRows; i++) + { + str = sEasyChatGraphicsResources->ecPrintBuffer; + str[0] = EOS; + str = StringAppend(str, sText_Clear17); + for (j = 0; j < numColumns; j++) + { + if (*ecWord != 0xFFFF) + { + str = CopyEasyChatWord(str, *ecWord); + ecWord++; + } + else + { + str = WriteColorChangeControlCode(str, 0, TEXT_COLOR_RED); + ecWord++; + for (k = 0; k < 7; k++) + { + *str++ = CHAR_EXTRA_EMOJI; + *str++ = 9; + } + + str = WriteColorChangeControlCode(str, 0, TEXT_COLOR_DARK_GREY); + } + + str = StringAppend(str, sText_Clear17); + if (frameId == 2) + { + if (j == 0 && i == 4) + break; + } + } + + *str = EOS; + EC_AddTextPrinterParameterized(sEasyChatGraphicsResources->windowId, 1, sEasyChatGraphicsResources->ecPrintBuffer, 0, i * 16, TEXT_SPEED_FF, NULL); + } + + CopyWindowToVram(sEasyChatGraphicsResources->windowId, 3); +} + +static void DrawECFrameInTilemapBuffer(u16 *tilemap) +{ + u8 frameId; + int right, bottom; + int x, y; + + frameId = GetEasyChatScreenFrameId(); + CpuFastFill(0, tilemap, BG_SCREEN_SIZE); + if (frameId == 2) + { + right = sPhraseFrameDimensions[frameId].left + sPhraseFrameDimensions[frameId].width; + bottom = sPhraseFrameDimensions[frameId].top + sPhraseFrameDimensions[frameId].height; + for (y = sPhraseFrameDimensions[frameId].top; y < bottom; y++) + { + x = sPhraseFrameDimensions[frameId].left - 1; + tilemap[y * 32 + x] = 0x1005; + x++; + for (; x < right; x++) + tilemap[y * 32 + x] = 0x1000; + + tilemap[y* 32 + x] = 0x1007; + } + } + else + { + y = sPhraseFrameDimensions[frameId].top - 1; + x = sPhraseFrameDimensions[frameId].left - 1; + right = sPhraseFrameDimensions[frameId].left + sPhraseFrameDimensions[frameId].width; + bottom = sPhraseFrameDimensions[frameId].top + sPhraseFrameDimensions[frameId].height; + tilemap[y * 32 + x] = 0x1001; + x++; + for (; x < right; x++) + tilemap[y * 32 + x] = 0x1002; + + tilemap[y * 32 + x] = 0x1003; + y++; + for (; y < bottom; y++) + { + x = sPhraseFrameDimensions[frameId].left - 1; + tilemap[y * 32 + x] = 0x1005; + x++; + for (; x < right; x++) + tilemap[y * 32 + x] = 0x1000; + + tilemap[y* 32 + x] = 0x1007; + } + + x = sPhraseFrameDimensions[frameId].left - 1; + tilemap[y * 32 + x] = 0x1009; + x++; + for (; x < right; x++) + tilemap[y * 32 + x] = 0x100A; + + tilemap[y * 32 + x] = 0x100B; + } +} + +static void PutWin2TilemapAndCopyToVram(void) +{ + PutWindowTilemap(2); + CopyBgTilemapBufferToVram(2); +} + +static void PrintECMenuById(u32 id) +{ + InitBg2Scroll(); + FillWindowPixelBuffer(2, PIXEL_FILL(1)); + switch (id) + { + case 0: + PrintECGroupsMenu(); + break; + case 1: + PrintEasyChatKeyboardText(); + break; + case 2: + PrintECWordsMenu(); + break; + } + + CopyWindowToVram(2, 2); +} + +static void PrintECGroupOrAlphaMenu(void) +{ + if (!IsEasyChatAlphaMode()) + PrintECMenuById(0); + else + PrintECMenuById(1); +} + +static void PrintECGroupsMenu(void) +{ + int i; + int x, y; + + i = 0; + y = 96; + while (1) + { + for (x = 0; x < 2; x++) + { + u8 groupId = GetSelectedGroupByIndex(i++); + if (groupId == EC_NUM_GROUPS) + { + ScheduleBg2VerticalScroll(GetECSelectGroupRowsAbove(), 0); + return; + } + + EC_AddTextPrinterParameterized(2, 1, GetEasyChatWordGroupName(groupId), x * 84 + 10, y, TEXT_SPEED_FF, NULL); + } + + y += 16; + } +} + +static void PrintEasyChatKeyboardText(void) +{ + u32 i; + + for (i = 0; i < NELEMS(sEasyChatKeyboardText); i++) + EC_AddTextPrinterParameterized(2, 1, sEasyChatKeyboardText[i], 10, 96 + i * 16, TEXT_SPEED_FF, NULL); +} + +static void PrintECWordsMenu(void) +{ + PrintECRowsWin2(0, 4); +} + +static void UpdateWin2PrintWordsScrollDown(void) +{ + u8 rowsAbove = GetECSelectWordRowsAbove() + 3; + ClearECRowsWin2(rowsAbove, 1); + PrintECRowsWin2(rowsAbove, 1); +} + +static void UpdateWin2PrintWordsScrollUp(void) +{ + u8 rowsAbove = GetECSelectWordRowsAbove(); + ClearECRowsWin2(rowsAbove, 1); + PrintECRowsWin2(rowsAbove, 1); +} + +static void UpdateWin2PrintWordsScrollPageDown(void) +{ + u8 row = GetECSelectWordRowsAbove(); + u8 maxrow = row + 4; + u8 numrowsplus1 = GetECSelectWordNumRows() + 1; + if (maxrow > numrowsplus1) + maxrow = numrowsplus1; + + if (row < maxrow) + { + u8 remrow = maxrow - row; + ClearECRowsWin2(row, remrow); + PrintECRowsWin2(row, remrow); + } +} + +static void UpdateWin2PrintWordsScrollPageUp(void) +{ + u8 row = GetECSelectWordRowsAbove(); + u8 maxrow = GetBg2ScrollRow(); + if (row < maxrow) + { + u8 remrow = maxrow - row; + ClearECRowsWin2(row, remrow); + PrintECRowsWin2(row, remrow); + } +} + +static void PrintECRowsWin2(u8 row, u8 remrow) +{ + int i, j; + u16 easyChatWord; + u8 *str; + int y; + u8 y_; + int ecWordIdx; + + ecWordIdx = row * 2; + y = (row * 16 + 96) & 0xFF; + + for (i = 0; i < remrow; i++) + { + for (j = 0; j < 2; j++) + { + // FIXME: Dumb trick needed to match + y_ = y << 18 >> 18; + easyChatWord = GetDisplayedWordByIndex(ecWordIdx++); + if (easyChatWord != 0xFFFF) + { + + CopyEasyChatWordPadded(sEasyChatGraphicsResources->ecPaddedWordBuffer, easyChatWord, 0); + + EC_AddTextPrinterParameterized(2, 1, sEasyChatGraphicsResources->ecPaddedWordBuffer, (j * 13 + 3) * 8, y_, TEXT_SPEED_FF, NULL); + } + } + y += 16; + + } + + CopyWindowToVram(2, 2); +} + +static void ClearECRowsWin2(u8 row, u8 remrow) +{ + int y; + int totalHeight; + int heightWrappedAround; + int heightToBottom; + + y = (row * 16 + 96) & 0xFF; + heightToBottom = remrow * 16; + totalHeight = y + heightToBottom; + if (totalHeight > 255) + { + heightWrappedAround = totalHeight - 256; + heightToBottom = 256 - y; + } + else + { + heightWrappedAround = 0; + } + + FillWindowPixelRect(2, PIXEL_FILL(1), 0, y, 224, heightToBottom); + if (heightWrappedAround) + FillWindowPixelRect(2, PIXEL_FILL(1), 0, 0, 224, heightWrappedAround); +} + +static void ClearWin2AndCopyToVram(void) +{ + FillWindowPixelBuffer(2, PIXEL_FILL(1)); + CopyWindowToVram(2, 2); +} + +static void StartWin2FrameAnim(int animNo) +{ + switch (animNo) + { + case 0: + sEasyChatGraphicsResources->frameAnimIdx = 0; + sEasyChatGraphicsResources->frameAnimTarget = 10; + break; + case 1: + sEasyChatGraphicsResources->frameAnimIdx = 9; + sEasyChatGraphicsResources->frameAnimTarget = 0; + break; + case 2: + sEasyChatGraphicsResources->frameAnimIdx = 11; + sEasyChatGraphicsResources->frameAnimTarget = 17; + break; + case 3: + sEasyChatGraphicsResources->frameAnimIdx = 17; + sEasyChatGraphicsResources->frameAnimTarget = 0; + break; + case 4: + sEasyChatGraphicsResources->frameAnimIdx = 17; + sEasyChatGraphicsResources->frameAnimTarget = 10; + break; + case 5: + sEasyChatGraphicsResources->frameAnimIdx = 18; + sEasyChatGraphicsResources->frameAnimTarget = 22; + break; + case 6: + sEasyChatGraphicsResources->frameAnimIdx = 22; + sEasyChatGraphicsResources->frameAnimTarget = 18; + break; + } + + sEasyChatGraphicsResources->frameAnimDelta = sEasyChatGraphicsResources->frameAnimIdx < sEasyChatGraphicsResources->frameAnimTarget ? 1 : -1; +} + +static bool8 AnimateFrameResize(void) +{ + if (sEasyChatGraphicsResources->frameAnimIdx == sEasyChatGraphicsResources->frameAnimTarget) + return FALSE; + + sEasyChatGraphicsResources->frameAnimIdx += sEasyChatGraphicsResources->frameAnimDelta; + RedrawFrameByIndex(sEasyChatGraphicsResources->frameAnimIdx); + return sEasyChatGraphicsResources->frameAnimIdx != sEasyChatGraphicsResources->frameAnimTarget; +} + +static void RedrawFrameByIndex(u8 direction) +{ + FillBgTilemapBufferRect_Palette0(1, 0, 0, 10, 30, 10); + switch (direction) + { + case 0: + break; + case 1: + RedrawFrameByRect(11, 14, 3, 2); + break; + case 2: + RedrawFrameByRect(9, 14, 7, 2); + break; + case 3: + RedrawFrameByRect(7, 14, 11, 2); + break; + case 4: + RedrawFrameByRect(5, 14, 15, 2); + break; + case 5: + RedrawFrameByRect(3, 14, 19, 2); + break; + case 6: + RedrawFrameByRect(1, 14, 23, 2); + break; + case 7: + RedrawFrameByRect(1, 13, 23, 4); + break; + case 8: + RedrawFrameByRect(1, 12, 23, 6); + break; + case 9: + RedrawFrameByRect(1, 11, 23, 8); + break; + case 10: + RedrawFrameByRect(1, 10, 23, 10); + break; + case 11: + RedrawFrameByRect(1, 10, 24, 10); + break; + case 12: + RedrawFrameByRect(1, 10, 25, 10); + break; + case 13: + RedrawFrameByRect(1, 10, 26, 10); + break; + case 14: + RedrawFrameByRect(1, 10, 27, 10); + break; + case 15: + RedrawFrameByRect(1, 10, 28, 10); + break; + case 16: + RedrawFrameByRect(1, 10, 29, 10); + break; + case 17: + RedrawFrameByRect(0, 10, 30, 10); + break; + case 18: + RedrawFrameByRect(1, 10, 23, 10); + break; + case 19: + RedrawFrameByRect(1, 11, 23, 8); + break; + case 20: + RedrawFrameByRect(1, 12, 23, 6); + break; + case 21: + RedrawFrameByRect(1, 13, 23, 4); + break; + case 22: + RedrawFrameByRect(1, 14, 23, 2); + break; + } + + CopyBgTilemapBufferToVram(1); +} + +static void RedrawFrameByRect(int left, int top, int width, int height) +{ + u16 *tilemap; + int right; + int bottom; + int x, y; + + tilemap = sEasyChatGraphicsResources->bg1TilemapBuffer; + right = left + width - 1; + bottom = top + height - 1; + x = left; + y = top; + tilemap[y * 32 + x] = 0x4001; + x++; + for (; x < right; x++) + tilemap[y * 32 + x] = 0x4002; + + tilemap[y * 32 + x] = 0x4003; + y++; + for (; y < bottom; y++) + { + tilemap[y * 32 + left] = 0x4005; + x = left + 1; + for (; x < right; x++) + tilemap[y * 32 + x] = 0x4000; + + tilemap[y * 32 + x] = 0x4007; + } + + tilemap[y * 32 + left] = 0x4009; + x = left + 1; + for (; x < right; x++) + tilemap[y * 32 + x] = 0x400A; + + tilemap[y * 32 + x] = 0x400B; + SetRegWin0Coords((left + 1) * 8, (top + 1) * 8, (width - 2) * 8, (height - 2) * 8); +} + +static void InitBg2Scroll(void) +{ + ChangeBgY(2, 0x800, 0); + sEasyChatGraphicsResources->bg2ScrollRow = 0; +} + +static void ScheduleBg2VerticalScroll(s16 direction, u8 speed) +{ + int bgY; + s16 totalDelta; + + bgY = GetBgY(2); + sEasyChatGraphicsResources->bg2ScrollRow += direction; + totalDelta = direction * 16; + bgY += totalDelta << 8; + if (speed) + { + sEasyChatGraphicsResources->tgtBgY = bgY; + sEasyChatGraphicsResources->deltaBgY = speed * 256; + if (totalDelta < 0) + sEasyChatGraphicsResources->deltaBgY = -sEasyChatGraphicsResources->deltaBgY; + } + else + { + ChangeBgY(2, bgY, 0); + } +} + +static bool8 AnimateBg2VerticalScroll(void) +{ + int bgY; + + bgY = GetBgY(2); + if (bgY == sEasyChatGraphicsResources->tgtBgY) + { + return FALSE; + } + else + { + ChangeBgY(2, sEasyChatGraphicsResources->deltaBgY, 1); + return TRUE; + } +} + +static int GetBg2ScrollRow(void) +{ + return sEasyChatGraphicsResources->bg2ScrollRow; +} + +static void SetRegWin0Coords(u8 left, u8 top, u8 width, u8 height) +{ + u16 horizontalDimensions = WIN_RANGE(left, left + width); + u16 verticalDimensions = WIN_RANGE(top, top + height); + SetGpuReg(REG_OFFSET_WIN0H, horizontalDimensions); + SetGpuReg(REG_OFFSET_WIN0V, verticalDimensions); +} + +static void LoadSpriteGfx(void) +{ + u32 i; + + LoadSpriteSheets(sEasyChatSpriteSheets); + LoadSpritePalettes(sEasyChatSpritePalettes); + for (i = 0; i < NELEMS(sEasyChatCompressedSpriteSheets); i++) + LoadCompressedSpriteSheet(&sEasyChatCompressedSpriteSheets[i]); +} + +static void CreateSelectDestFieldCursorSprite(void) +{ + u8 frameId = GetEasyChatScreenFrameId(); + s16 x = sPhraseFrameDimensions[frameId].left * 8 + 13; + s16 y = (sPhraseFrameDimensions[frameId].top + 1) * 8 + 1; + u8 spriteId = CreateSprite(&sSpriteTemplate_RightTriangleCursor, x, y, 2); + sEasyChatGraphicsResources->selectDestFieldCursorSprite = &gSprites[spriteId]; + gSprites[spriteId].data[1] = 1; +} + +static void SpriteCB_BounceCursor(struct Sprite * sprite) +{ + if (sprite->data[1]) + { + if (++sprite->data[0] > 2) + { + sprite->data[0] = 0; + if (++sprite->pos2.x > 0) + sprite->pos2.x = -6; + } + } +} + +static void SetSelectDestFieldCursorSpritePosAndResetAnim(u8 x, u8 y) +{ + sEasyChatGraphicsResources->selectDestFieldCursorSprite->pos1.x = x; + sEasyChatGraphicsResources->selectDestFieldCursorSprite->pos1.y = y; + sEasyChatGraphicsResources->selectDestFieldCursorSprite->pos2.x = 0; + sEasyChatGraphicsResources->selectDestFieldCursorSprite->data[0] = 0; +} + +static void FreezeSelectDestFieldCursorSprite(void) +{ + sEasyChatGraphicsResources->selectDestFieldCursorSprite->data[0] = 0; + sEasyChatGraphicsResources->selectDestFieldCursorSprite->data[1] = 0; + sEasyChatGraphicsResources->selectDestFieldCursorSprite->pos2.x = 0; +} + +static void UnfreezeSelectDestFieldCursorSprite(void) +{ + sEasyChatGraphicsResources->selectDestFieldCursorSprite->data[1] = 1; +} + +static void CreateRedRectangularCursorSpritePair(void) +{ + u8 spriteId = CreateSprite(&sSpriteTemplate_RedRectangularCursor, 0, 0, 3); + sEasyChatGraphicsResources->rectCursorSpriteRight = &gSprites[spriteId]; + sEasyChatGraphicsResources->rectCursorSpriteRight->pos2.x = 32; + + spriteId = CreateSprite(&sSpriteTemplate_RedRectangularCursor, 0, 0, 3); + sEasyChatGraphicsResources->rectCursorSpriteLeft = &gSprites[spriteId]; + sEasyChatGraphicsResources->rectCursorSpriteLeft->pos2.x = -32; + + sEasyChatGraphicsResources->rectCursorSpriteRight->hFlip = TRUE; + EC_MoveCursor(); +} + +static void DestroyRedRectangularCursor(void) +{ + DestroySprite(sEasyChatGraphicsResources->rectCursorSpriteRight); + sEasyChatGraphicsResources->rectCursorSpriteRight = NULL; + DestroySprite(sEasyChatGraphicsResources->rectCursorSpriteLeft); + sEasyChatGraphicsResources->rectCursorSpriteLeft = NULL; +} + +static void EC_MoveCursor(void) +{ + u8 x; + u8 y; + + if (sEasyChatGraphicsResources->rectCursorSpriteRight && sEasyChatGraphicsResources->rectCursorSpriteLeft) + { + GetECSelectGroupCursorCoords(&x, &y); + if (!IsEasyChatAlphaMode()) + MoveCursor_Group(x, y); + else + MoveCursor_Alpha(x, y); + } +} + +static void MoveCursor_Group(s8 x, s8 y) +{ + if (x != -1) + { + StartSpriteAnim(sEasyChatGraphicsResources->rectCursorSpriteRight, 0); + sEasyChatGraphicsResources->rectCursorSpriteRight->pos1.x = x * 84 + 58; + sEasyChatGraphicsResources->rectCursorSpriteRight->pos1.y = y * 16 + 96; + + StartSpriteAnim(sEasyChatGraphicsResources->rectCursorSpriteLeft, 0); + sEasyChatGraphicsResources->rectCursorSpriteLeft->pos1.x = x * 84 + 58; + sEasyChatGraphicsResources->rectCursorSpriteLeft->pos1.y = y * 16 + 96; + } + else + { + StartSpriteAnim(sEasyChatGraphicsResources->rectCursorSpriteRight, 1); + sEasyChatGraphicsResources->rectCursorSpriteRight->pos1.x = 216; + sEasyChatGraphicsResources->rectCursorSpriteRight->pos1.y = y * 16 + 112; + + StartSpriteAnim(sEasyChatGraphicsResources->rectCursorSpriteLeft, 1); + sEasyChatGraphicsResources->rectCursorSpriteLeft->pos1.x = 216; + sEasyChatGraphicsResources->rectCursorSpriteLeft->pos1.y = y * 16 + 112; + } +} + +static void MoveCursor_Alpha(s8 cursorX, s8 cursorY) +{ + int anim; + int x, y; + + if (cursorX != -1) + { + y = cursorY * 16 + 96; + x = 32; + if (cursorX == 6 && cursorY == 0) + { + x = 157; + anim = 2; + } + else + { + x += sECDisplay_AlphaModeXCoords[cursorX < NELEMS(sECDisplay_AlphaModeXCoords) ? cursorX : 0]; + anim = 3; + } + + StartSpriteAnim(sEasyChatGraphicsResources->rectCursorSpriteRight, anim); + sEasyChatGraphicsResources->rectCursorSpriteRight->pos1.x = x; + sEasyChatGraphicsResources->rectCursorSpriteRight->pos1.y = y; + + StartSpriteAnim(sEasyChatGraphicsResources->rectCursorSpriteLeft, anim); + sEasyChatGraphicsResources->rectCursorSpriteLeft->pos1.x = x; + sEasyChatGraphicsResources->rectCursorSpriteLeft->pos1.y = y; + } + else + { + StartSpriteAnim(sEasyChatGraphicsResources->rectCursorSpriteRight, 1); + sEasyChatGraphicsResources->rectCursorSpriteRight->pos1.x = 216; + sEasyChatGraphicsResources->rectCursorSpriteRight->pos1.y = cursorY * 16 + 112; + + StartSpriteAnim(sEasyChatGraphicsResources->rectCursorSpriteLeft, 1); + sEasyChatGraphicsResources->rectCursorSpriteLeft->pos1.x = 216; + sEasyChatGraphicsResources->rectCursorSpriteLeft->pos1.y = cursorY * 16 + 112; + } +} + +static void CreateSelectWordCursorSprite(void) +{ + u8 spriteId = CreateSprite(&sSpriteTemplate_RightTriangleCursor, 0, 0, 4); + sEasyChatGraphicsResources->selectWordCursorSprite = &gSprites[spriteId]; + sEasyChatGraphicsResources->selectWordCursorSprite->callback = SpriteCB_SelectWordCursorSprite; + sEasyChatGraphicsResources->selectWordCursorSprite->oam.priority = 2; + SetSelectWordCursorSpritePos(); +} + +static void SpriteCB_SelectWordCursorSprite(struct Sprite * sprite) +{ + if (++sprite->data[0] > 2) + { + sprite->data[0] = 0; + if (++sprite->pos2.x > 0) + sprite->pos2.x = -6; + } +} + +static void SetSelectWordCursorSpritePos(void) +{ + s8 cursorX, cursorY; + u8 x, y; + + GetECSelectWordCursorCoords(&cursorX, &cursorY); + x = cursorX * 13 + 3; + y = cursorY * 2 + 11; + SetSelectWordCursorSpritePosExplicit(x, y); +} + +static void SetSelectWordCursorSpritePosExplicit(u8 x, u8 y) +{ + if (sEasyChatGraphicsResources->selectWordCursorSprite) + { + sEasyChatGraphicsResources->selectWordCursorSprite->pos1.x = x * 8 + 4; + sEasyChatGraphicsResources->selectWordCursorSprite->pos1.y = (y + 1) * 8 + 1; + sEasyChatGraphicsResources->selectWordCursorSprite->pos2.x = 0; + sEasyChatGraphicsResources->selectWordCursorSprite->data[0] = 0; + } +} + +static void DestroySelectWordCursorSprite(void) +{ + if (sEasyChatGraphicsResources->selectWordCursorSprite) + { + DestroySprite(sEasyChatGraphicsResources->selectWordCursorSprite); + sEasyChatGraphicsResources->selectWordCursorSprite = NULL; + } +} + +static void CreateSelectGroupHelpSprite(void) +{ + u8 spriteId = CreateSprite(&sSpriteTemplate_SelectGroupHelp, 208, 128, 6); + sEasyChatGraphicsResources->selectGroupHelpSprite = &gSprites[spriteId]; + sEasyChatGraphicsResources->selectGroupHelpSprite->pos2.x = -64; + + spriteId = CreateSprite(&sSpriteTemplate_EasyChatModeIcons, 208, 80, 5); + sEasyChatGraphicsResources->modeIconsSprite = &gSprites[spriteId]; + sEasyChatGraphicsResources->modeIconState = 0; +} + +static bool8 AnimateSeletGroupModeAndHelpSpriteEnter(void) +{ + switch (sEasyChatGraphicsResources->modeIconState) + { + default: + return FALSE; + case 0: + sEasyChatGraphicsResources->selectGroupHelpSprite->pos2.x += 8; + if (sEasyChatGraphicsResources->selectGroupHelpSprite->pos2.x >= 0) + { + sEasyChatGraphicsResources->selectGroupHelpSprite->pos2.x = 0; + if (!IsEasyChatAlphaMode()) + StartSpriteAnim(sEasyChatGraphicsResources->modeIconsSprite, 1); + else + StartSpriteAnim(sEasyChatGraphicsResources->modeIconsSprite, 2); + + sEasyChatGraphicsResources->modeIconState++; + } + break; + case 1: + if (sEasyChatGraphicsResources->modeIconsSprite->animEnded) + { + sEasyChatGraphicsResources->modeIconState = 2; + return FALSE; + } + } + + return TRUE; +} + +static void StartModeIconHidingAnimation(void) +{ + sEasyChatGraphicsResources->modeIconState = 0; + StartSpriteAnim(sEasyChatGraphicsResources->modeIconsSprite, 3); +} + +static bool8 RunModeIconHidingAnimation(void) +{ + switch (sEasyChatGraphicsResources->modeIconState) + { + default: + return FALSE; + case 0: + if (sEasyChatGraphicsResources->modeIconsSprite->animEnded) + sEasyChatGraphicsResources->modeIconState = 1; + break; + case 1: + sEasyChatGraphicsResources->selectGroupHelpSprite->pos2.x -= 8; + if (sEasyChatGraphicsResources->selectGroupHelpSprite->pos2.x <= -64) + { + DestroySprite(sEasyChatGraphicsResources->modeIconsSprite); + DestroySprite(sEasyChatGraphicsResources->selectGroupHelpSprite); + sEasyChatGraphicsResources->modeIconsSprite = NULL; + sEasyChatGraphicsResources->selectGroupHelpSprite = NULL; + sEasyChatGraphicsResources->modeIconState++; + return FALSE; + } + } + + return TRUE; +} + +static void ShrinkModeIconsSprite(void) +{ + StartSpriteAnim(sEasyChatGraphicsResources->modeIconsSprite, 4); +} + +static void ShowModeIconsSprite(void) +{ + if (!IsEasyChatAlphaMode()) + StartSpriteAnim(sEasyChatGraphicsResources->modeIconsSprite, 1); + else + StartSpriteAnim(sEasyChatGraphicsResources->modeIconsSprite, 2); +} + +static bool8 ModeIconsSpriteAnimIsEnded(void) +{ + return !sEasyChatGraphicsResources->modeIconsSprite->animEnded; +} + +static void CreateVerticalScrollArrowSprites(void) +{ + u8 spriteId = CreateSprite(&sSpriteTemplate_UpTriangleCursor, 96, 80, 0); + if (spriteId != MAX_SPRITES) + sEasyChatGraphicsResources->upTriangleCursorSprite = &gSprites[spriteId]; + + spriteId = CreateSprite(&sSpriteTemplate_UpTriangleCursor, 96, 156, 0); + if (spriteId != MAX_SPRITES) + { + sEasyChatGraphicsResources->downTriangleCursorSprite = &gSprites[spriteId]; + sEasyChatGraphicsResources->downTriangleCursorSprite->vFlip = TRUE; + } + + HideVerticalScrollArrowSprites(); +} + +static void UpdateVerticalScrollArrowVisibility(void) +{ + sEasyChatGraphicsResources->upTriangleCursorSprite->invisible = !ShouldDrawECUpArrow(); + sEasyChatGraphicsResources->downTriangleCursorSprite->invisible = !ShouldDrawECDownArrow(); +} + +static void HideVerticalScrollArrowSprites(void) +{ + sEasyChatGraphicsResources->upTriangleCursorSprite->invisible = TRUE; + sEasyChatGraphicsResources->downTriangleCursorSprite->invisible = TRUE; +} + +static void UpdateVerticalScrollArrowSpriteXPos(int direction) +{ + if (!direction) + { + // Group select + sEasyChatGraphicsResources->upTriangleCursorSprite->pos1.x = 96; + sEasyChatGraphicsResources->downTriangleCursorSprite->pos1.x = 96; + } + else + { + // Word select + sEasyChatGraphicsResources->upTriangleCursorSprite->pos1.x = 120; + sEasyChatGraphicsResources->downTriangleCursorSprite->pos1.x = 120; + } +} + +static void CreateStartSelectButtonsSprites(void) +{ + u8 spriteId = CreateSprite(&sSpriteTemplate_StartSelectButtons, 220, 84, 1); + if (spriteId != MAX_SPRITES) + sEasyChatGraphicsResources->startPgUpButtonSprite = &gSprites[spriteId]; + + spriteId = CreateSprite(&sSpriteTemplate_StartSelectButtons, 220, 156, 1); + if (spriteId != MAX_SPRITES) + { + sEasyChatGraphicsResources->selectPgDnButtonSprite = &gSprites[spriteId]; + StartSpriteAnim(sEasyChatGraphicsResources->selectPgDnButtonSprite, 1); + } + + HideStartSelectButtonSprites(); +} + +static void UpdateStartSelectButtonSpriteVisibility(void) +{ + sEasyChatGraphicsResources->startPgUpButtonSprite->invisible = !ShouldDrawECUpArrow(); + sEasyChatGraphicsResources->selectPgDnButtonSprite->invisible = !ShouldDrawECDownArrow(); +} + +static void HideStartSelectButtonSprites(void) +{ + sEasyChatGraphicsResources->startPgUpButtonSprite->invisible = TRUE; + sEasyChatGraphicsResources->selectPgDnButtonSprite->invisible = TRUE; +} + +static void CreateFooterWindow(void) +{ + u16 windowId; + struct WindowTemplate template; + template.bg = 3; + template.tilemapLeft = 4; + template.tilemapTop = 11; + template.width = 24; + template.height = 2; + template.paletteNum = 11; + template.baseBlock = 0x030; + windowId = AddWindow(&template); + FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); + EC_AddTextPrinterParameterized(windowId, 1, gUnknown_841EE2B, 0, 0, 0, NULL); + PutWindowTilemap(windowId); +} diff --git a/src/ereader_helpers.c b/src/ereader_helpers.c index cce6cefca..df1b1c279 100644 --- a/src/ereader_helpers.c +++ b/src/ereader_helpers.c @@ -1,25 +1,18 @@ #include "global.h" #include "link.h" -#include "unk_815c27c.h" - -enum { - EREADER_XFR_STATE_INIT, - EREADER_XFR_STATE_HANDSHAKE, - EREADER_XFR_STATE_START, - EREADER_XFR_STATE_TRANSFER, -}; +#include "ereader_helpers.h" struct SendRecvMgr { - u8 sendOrRecv; - u8 state; - u8 field_02; - u8 field_03; - u8 field_04; - u32 * dataptr; - int cursor; - int size; - u32 checksum; + u8 master_slave; // 0: clock slave; 1: clock master + u8 state; // EREADER_XFR_STATE_* + u8 xferState; // EREADER_XFER_* + u8 checksumResult; // EREADER_CHECKSUM_* + u8 cancellationReason; // EREADER_CANCEL_* + u32 * dataptr; // Payload source or destination + int cursor; // Index of the next word + int size; // Last word index + u32 checksum; // Validation checksum }; static bool16 DetermineSendRecvState(u8); @@ -39,10 +32,9 @@ static u16 sSavedIme; static u16 sSavedIe; static u16 sSavedTm3Cnt; static u16 sSavedSioCnt; -static u16 sSavedSioCnt; static u16 sSavedRCnt; -int EReader_Send(size_t r6, const void * r5) +int EReader_Send(size_t size, const void * src) { int result; EReaderHelper_SaveRegsState(); @@ -53,18 +45,18 @@ int EReader_Send(size_t r6, const void * r5) if (TEST_BUTTON(sJoyNew, B_BUTTON)) gShouldAdvanceLinkState = 2; - sSendRecvStatus = EReaderHandleTransfer(1, r6, r5, NULL); - if ((sSendRecvStatus & 0x13) == 0x10) + sSendRecvStatus = EReaderHandleTransfer(1, size, src, NULL); + if ((sSendRecvStatus & 0x13) == 0x10) // checksum OK and xfer off { result = 0; break; } - else if (sSendRecvStatus & 8) + else if (sSendRecvStatus & 8) // cancelled by player { result = 1; break; } - else if (sSendRecvStatus & 4) + else if (sSendRecvStatus & 4) // timed out { result = 2; break; @@ -81,7 +73,7 @@ int EReader_Send(size_t r6, const void * r5) return result; } -int EReader_Recv(void * r5) +int EReader_Recv(void * dest) { int result; EReaderHelper_SaveRegsState(); @@ -92,18 +84,18 @@ int EReader_Recv(void * r5) if (TEST_BUTTON(sJoyNew, B_BUTTON)) gShouldAdvanceLinkState = 2; - sSendRecvStatus = EReaderHandleTransfer(0, 0, NULL, r5); - if ((sSendRecvStatus & 0x13) == 0x10) + sSendRecvStatus = EReaderHandleTransfer(0, 0, NULL, dest); + if ((sSendRecvStatus & 0x13) == 0x10) // checksum OK and xfer off { result = 0; break; } - else if (sSendRecvStatus & 8) + else if (sSendRecvStatus & 8) // cancelled by player { result = 1; break; } - else if (sSendRecvStatus & 4) + else if (sSendRecvStatus & 4) // timed out { result = 2; break; @@ -159,92 +151,98 @@ u16 EReaderHandleTransfer(u8 mode, size_t size, const void * data, void * recvBu { switch (sSendRecvMgr.state) { - case 0: + case EREADER_XFR_STATE_INIT: OpenSerialMulti(); - sSendRecvMgr.field_02 = 1; - sSendRecvMgr.state = 1; + sSendRecvMgr.xferState = EREADER_XFER_EXE; + sSendRecvMgr.state = EREADER_XFR_STATE_HANDSHAKE; break; - case 1: + case EREADER_XFR_STATE_HANDSHAKE: if (DetermineSendRecvState(mode)) EnableSio(); if (gShouldAdvanceLinkState == 2) { - sSendRecvMgr.field_04 = 2; - sSendRecvMgr.state = 6; + sSendRecvMgr.cancellationReason = EREADER_CANCEL_KEY; + sSendRecvMgr.state = EREADER_XFR_STATE_DONE; } + // Progression is handled by the serial callback break; - case 2: + case EREADER_XFR_STATE_START: OpenSerial32(); SetUpTransferManager(size, data, recvBuffer); - sSendRecvMgr.state = 3; + sSendRecvMgr.state = EREADER_XFR_STATE_TRANSFER; // fallthrough - case 3: + case EREADER_XFR_STATE_TRANSFER: if (gShouldAdvanceLinkState == 2) { - sSendRecvMgr.field_04 = 2; - sSendRecvMgr.state = 6; + sSendRecvMgr.cancellationReason = EREADER_CANCEL_KEY; + sSendRecvMgr.state = EREADER_XFR_STATE_DONE; } else { sCounter1++; sCounter2++; - if (sSendRecvMgr.sendOrRecv == 0 && sCounter2 > 60) + if (sSendRecvMgr.master_slave == 0 && sCounter2 > 60) { - sSendRecvMgr.field_04 = 1; - sSendRecvMgr.state = 6; + sSendRecvMgr.cancellationReason = EREADER_CANCEL_TIMEOUT; + sSendRecvMgr.state = EREADER_XFR_STATE_DONE; } - if (sSendRecvMgr.field_02 != 2) + if (sSendRecvMgr.xferState != EREADER_XFER_CHK) { - if (sSendRecvMgr.sendOrRecv != 0 && sCounter1 > 2) + if (sSendRecvMgr.master_slave != 0 && sCounter1 > 2) { EnableSio(); - sSendRecvMgr.field_02 = 2; + sSendRecvMgr.xferState = EREADER_XFER_CHK; } else { EnableSio(); - sSendRecvMgr.field_02 = 2; + sSendRecvMgr.xferState = EREADER_XFER_CHK; } } } + // Progression is handled by the serial callback break; - case 4: + case EREADER_XFR_STATE_TRANSFER_DONE: OpenSerialMulti(); - sSendRecvMgr.state = 5; + sSendRecvMgr.state = EREADER_XFR_STATE_CHECKSUM; break; - case 5: - if (sSendRecvMgr.sendOrRecv == 1 && sCounter1 > 2) + case EREADER_XFR_STATE_CHECKSUM: + if (sSendRecvMgr.master_slave == 1 && sCounter1 > 2) EnableSio(); if (++sCounter1 > 60) { - sSendRecvMgr.field_04 = 1; - sSendRecvMgr.state = 6; + sSendRecvMgr.cancellationReason = EREADER_CANCEL_TIMEOUT; + sSendRecvMgr.state = EREADER_XFR_STATE_DONE; } break; - case 6: - if (sSendRecvMgr.field_02 != 0) + // Progression is handled by the serial callback + case EREADER_XFR_STATE_DONE: + if (sSendRecvMgr.xferState != 0) { CloseSerial(); - sSendRecvMgr.field_02 = 0; + sSendRecvMgr.xferState = 0; } break; } - return sSendRecvMgr.field_02 | (sSendRecvMgr.field_04 << 2) | (sSendRecvMgr.field_03 << 4); + return + (sSendRecvMgr.xferState << EREADER_XFER_SHIFT) + | (sSendRecvMgr.cancellationReason << EREADER_CANCEL_SHIFT) + | (sSendRecvMgr.checksumResult << EREADER_CHECKSUM_SHIFT); } static bool16 DetermineSendRecvState(u8 mode) { bool16 resp; if ((*(vu32 *)REG_ADDR_SIOCNT & (SIO_MULTI_SI | SIO_MULTI_SD)) == SIO_MULTI_SD && mode) - resp = sSendRecvMgr.sendOrRecv = TRUE; + resp = sSendRecvMgr.master_slave = TRUE; else - resp = sSendRecvMgr.sendOrRecv = FALSE; + resp = sSendRecvMgr.master_slave = FALSE; return resp; } static void SetUpTransferManager(size_t size, const void * data, void * recvBuffer) { - if (sSendRecvMgr.sendOrRecv) + if (sSendRecvMgr.master_slave) { REG_SIOCNT |= SIO_38400_BPS; sSendRecvMgr.dataptr = (void *)data; @@ -284,7 +282,7 @@ void EReaderHelper_SerialCallback(void) switch (sSendRecvMgr.state) { - case 1: + case EREADER_XFR_STATE_HANDSHAKE: REG_SIOMLT_SEND = 0xCCD0; *(u64 *)recv = REG_SIOMLT_RECV; for (i = 0, cnt1 = 0, cnt2 = 0; i < 4; i++) @@ -295,14 +293,17 @@ void EReaderHelper_SerialCallback(void) cnt2++; } if (cnt1 == 2 && cnt2 == 0) - sSendRecvMgr.state = 2; + sSendRecvMgr.state = EREADER_XFR_STATE_START; break; - case 3: + // Progression is handled by software + case EREADER_XFR_STATE_TRANSFER: recv32 = REG_SIODATA32; - if (sSendRecvMgr.cursor == 0 && sSendRecvMgr.sendOrRecv == 0) + // The first value sent by the EReader is the payload size + if (sSendRecvMgr.cursor == 0 && sSendRecvMgr.master_slave == 0) sSendRecvMgr.size = recv32 / 4 + 1; - if (sSendRecvMgr.sendOrRecv == 1) + if (sSendRecvMgr.master_slave == 1) { + // Send mode if (sSendRecvMgr.cursor < sSendRecvMgr.size) { REG_SIODATA32 = sSendRecvMgr.dataptr[sSendRecvMgr.cursor]; @@ -313,43 +314,51 @@ void EReaderHelper_SerialCallback(void) } else { + // Receive mode if (sSendRecvMgr.cursor > 0 && sSendRecvMgr.cursor < sSendRecvMgr.size + 1) { + // Receive next word sSendRecvMgr.dataptr[sSendRecvMgr.cursor - 1] = recv32; sSendRecvMgr.checksum += recv32; } else if (sSendRecvMgr.cursor != 0) { + // Reached the end, test the received checksum if (sSendRecvMgr.checksum == recv32) - sSendRecvMgr.field_03 = 1; + sSendRecvMgr.checksumResult = EREADER_CHECKSUM_OK; else - sSendRecvMgr.field_03 = 2; + sSendRecvMgr.checksumResult = EREADER_CHECKSUM_ERR; } sCounter2 = 0; } sSendRecvMgr.cursor++; if (sSendRecvMgr.cursor < sSendRecvMgr.size + 2) { - if (sSendRecvMgr.sendOrRecv != 0) + if (sSendRecvMgr.master_slave != 0) + // Clock master; start timer REG_TM3CNT_H |= TIMER_ENABLE; else + // Clock slave; reset EnableSio(); } else { - sSendRecvMgr.state = 4; + sSendRecvMgr.state = EREADER_XFR_STATE_TRANSFER_DONE; sCounter1 = 0; } break; - case 5: - if (sSendRecvMgr.sendOrRecv == 0) - REG_SIODATA8 = sSendRecvMgr.field_03; + // Progression is handled by the software + case EREADER_XFR_STATE_CHECKSUM: + if (sSendRecvMgr.master_slave == 0) + // Clock slave + REG_SIODATA8 = sSendRecvMgr.checksumResult; *(vu64 *)recv = REG_SIOMLT_RECV; - if (recv[1] == 1 || recv[1] == 2) + if (recv[1] == EREADER_CHECKSUM_OK || recv[1] == EREADER_CHECKSUM_ERR) { - if (sSendRecvMgr.sendOrRecv == 1) - sSendRecvMgr.field_03 = recv[1]; - sSendRecvMgr.state = 6; + if (sSendRecvMgr.master_slave == 1) + // EReader has (in)validated the payload + sSendRecvMgr.checksumResult = recv[1]; + sSendRecvMgr.state = EREADER_XFR_STATE_DONE; } break; } diff --git a/src/event_data.c b/src/event_data.c index 010a4414c..a162e8701 100644 --- a/src/event_data.c +++ b/src/event_data.c @@ -24,7 +24,7 @@ EWRAM_DATA u16 gSpecialVar_MonBoxId = 0; EWRAM_DATA u16 gSpecialVar_MonBoxPos = 0; EWRAM_DATA u16 gSpecialVar_TextColor = 0; EWRAM_DATA u16 gSpecialVar_PrevTextColor = 0; -EWRAM_DATA u16 gUnknown_20370DE = 0; +EWRAM_DATA u16 gSpecialVar_0x8014 = 0; EWRAM_DATA u8 sSpecialFlags[SPECIAL_FLAGS_COUNT] = {}; u16 gLastQuestLogStoredFlagOrVarIdx; @@ -118,7 +118,7 @@ bool32 IsMysteryGiftEnabled(void) return FlagGet(FLAG_SYS_MYSTERY_GIFT_ENABLED); } -void sub_806E2D0(void) +void ResetMysteryEventFlags(void) { FlagClear(FLAG_MYSTERY_EVENT_DONE); FlagClear(FLAG_0x3D9); @@ -138,7 +138,7 @@ void sub_806E2D0(void) FlagClear(FLAG_0x3E7); } -void sub_806E370(void) +void ResetMysteryEventVars(void) { VarSet(VAR_EVENT_PICHU_SLOT, 0); VarSet(VAR_0x40B6, 0); @@ -321,5 +321,5 @@ void ResetSpecialVars(void) gSpecialVar_MonBoxPos = 0; gSpecialVar_TextColor = 0; gSpecialVar_PrevTextColor = 0; - gUnknown_20370DE = 0; + gSpecialVar_0x8014 = 0; } diff --git a/src/event_object_80688E4.c b/src/event_object_80688E4.c new file mode 100644 index 000000000..746b10f38 --- /dev/null +++ b/src/event_object_80688E4.c @@ -0,0 +1,653 @@ +#include "global.h" +#include "event_object_movement.h" +#include "field_effect.h" +#include "field_ground_effect.h" + +// This is part of evobjmv.c (see assert statement in DoObjectUnionRoomWarpYDisplacement). + +static void DoObjectUnionRoomWarpYDisplacement(struct Sprite * sprite); + +bool8 FreezeObjectEvent(struct ObjectEvent * objectEvent) +{ + if (objectEvent->heldMovementActive || objectEvent->frozen) + return TRUE; + objectEvent->frozen = TRUE; + objectEvent->spriteAnimPausedBackup = gSprites[objectEvent->spriteId].animPaused; + objectEvent->spriteAffineAnimPausedBackup = gSprites[objectEvent->spriteId].affineAnimPaused; + gSprites[objectEvent->spriteId].animPaused = TRUE; + gSprites[objectEvent->spriteId].affineAnimPaused = TRUE; + return FALSE; +} + +void FreezeObjectEvents(void) +{ + u8 i; + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) + { + if (gObjectEvents[i].active && i != gPlayerAvatar.objectEventId) + FreezeObjectEvent(&gObjectEvents[i]); + } +} + +void FreezeObjectEventsExceptOne(u8 noFreeze) +{ + u8 i; + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) + { + if (i != noFreeze && gObjectEvents[i].active && i != gPlayerAvatar.objectEventId) + FreezeObjectEvent(&gObjectEvents[i]); + } +} + +void UnfreezeObjectEvent(struct ObjectEvent * objectEvent) +{ + if (objectEvent->active && objectEvent->frozen) + { + objectEvent->frozen = FALSE; + gSprites[objectEvent->spriteId].animPaused = objectEvent->spriteAnimPausedBackup; + gSprites[objectEvent->spriteId].affineAnimPaused = objectEvent->spriteAffineAnimPausedBackup; + } +} + +void UnfreezeObjectEvents(void) +{ + u8 i; + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) + { + if (gObjectEvents[i].active) + UnfreezeObjectEvent(&gObjectEvents[i]); + } +} + +#define tObjectEventId data[0] +#define tZCoord data[1] +#define tInvisible data[2] + +#define tDirection data[3] +#define tSpeed data[4] +#define tStepNo data[5] + +static void little_step(struct Sprite * sprite, u8 direction) +{ + sprite->pos1.x += sDirectionToVectors[direction].x; + sprite->pos1.y += sDirectionToVectors[direction].y; +} + +static void double_little_steps(struct Sprite * sprite, u8 direction) +{ + sprite->pos1.x += 2 * (u16) sDirectionToVectors[direction].x; + sprite->pos1.y += 2 * (u16) sDirectionToVectors[direction].y; +} + +static void triple_little_steps(struct Sprite * sprite, u8 direction) +{ + sprite->pos1.x += 2 * (u16) sDirectionToVectors[direction].x + (u16) sDirectionToVectors[direction].x; + sprite->pos1.y += 2 * (u16) sDirectionToVectors[direction].y + (u16) sDirectionToVectors[direction].y; +} + +static void quad_little_steps(struct Sprite * sprite, u8 direction) +{ + sprite->pos1.x += 4 * (u16) sDirectionToVectors[direction].x; + sprite->pos1.y += 4 * (u16) sDirectionToVectors[direction].y; +} + +static void oct_little_steps(struct Sprite * sprite, u8 direction) +{ + sprite->pos1.x += 8 * (u16) sDirectionToVectors[direction].x; + sprite->pos1.y += 8 * (u16) sDirectionToVectors[direction].y; +} + +void oamt_npc_ministep_reset(struct Sprite * sprite, u8 direction, u8 speed) +{ + sprite->tDirection = direction; + sprite->tSpeed = speed; + sprite->tStepNo = 0; +} + +typedef void (*SpriteStepFunc)(struct Sprite *sprite, u8 direction); + +static const SpriteStepFunc sSpeed0[] = { + little_step, + little_step, + little_step, + little_step, + little_step, + little_step, + little_step, + little_step, + little_step, + little_step, + little_step, + little_step, + little_step, + little_step, + little_step, + little_step +}; + +static const SpriteStepFunc sSpeed1[] = { + double_little_steps, + double_little_steps, + double_little_steps, + double_little_steps, + double_little_steps, + double_little_steps, + double_little_steps, + double_little_steps +}; + +static const SpriteStepFunc sSpeed2[] = { + double_little_steps, + triple_little_steps, + triple_little_steps, + double_little_steps, + triple_little_steps, + triple_little_steps +}; + +static const SpriteStepFunc sSpeed3[] = { + quad_little_steps, + quad_little_steps, + quad_little_steps, + quad_little_steps +}; + +static const SpriteStepFunc sSpeed4[] = { + oct_little_steps, + oct_little_steps +}; + +static const SpriteStepFunc *const sSpriteStepFuncsBySpeed[] = { + sSpeed0, + sSpeed1, + sSpeed2, + sSpeed3, + sSpeed4 +}; + +static const s16 sSpriteStepCountsBySpeed[] = { + NELEMS(sSpeed0), + NELEMS(sSpeed1), + NELEMS(sSpeed2), + NELEMS(sSpeed3), + NELEMS(sSpeed4) +}; + +bool8 obj_npc_ministep(struct Sprite *sprite) +{ + if (sprite->tStepNo >= sSpriteStepCountsBySpeed[sprite->tSpeed]) + return FALSE; + + sSpriteStepFuncsBySpeed[sprite->tSpeed][sprite->tStepNo](sprite, sprite->tDirection); + + sprite->tStepNo++; + + if (sprite->tStepNo < sSpriteStepCountsBySpeed[sprite->tSpeed]) + return FALSE; + + return TRUE; +} + +#undef tStepNo +#undef tSpeed +#undef tDirection + +#define tDirection data[3] +#define tDelay data[4] +#define tStepNo data[5] + +void sub_8068BBC(struct Sprite *sprite, u8 direction) +{ + sprite->tDirection = direction; + sprite->tDelay = 0; + sprite->tStepNo = 0; +} + +// used by an_walk_any_2 +bool8 sub_8068BCC(struct Sprite *sprite) +{ + if (!(sprite->tDelay & 1)) + { + little_step(sprite, sprite->tDirection); + sprite->tStepNo++; + } + + sprite->tDelay++; + + if (sprite->tStepNo > 15) + return TRUE; + else + return FALSE; +} + +void sub_8068C08(struct Sprite *sprite, u8 direction) +{ + sprite->tDirection = direction; + sprite->tDelay = 0; + sprite->tStepNo = 0; +} + +bool8 sub_8068C18(struct Sprite *sprite) +{ + if (++sprite->tDelay < 3) + { + little_step(sprite, sprite->tDirection); + sprite->tStepNo++; + } + else + sprite->tDelay = 0; + + if (sprite->tStepNo > 15) + return TRUE; + else + return FALSE; +} + +void sub_8068C58(struct Sprite *sprite, u8 direction) +{ + sprite->tDirection = direction; + sprite->tDelay = 0; + sprite->tStepNo = 0; +} + +bool8 sub_8068C68(struct Sprite *sprite) +{ + if (++sprite->tDelay > 9) + { + sprite->tDelay = 0; + little_step(sprite, sprite->tDirection); + sprite->tStepNo++; + } + + if (sprite->tStepNo > 15) + return TRUE; + else + return FALSE; +} + +void sub_8068CA4(struct Sprite *sprite, u8 direction) +{ + sprite->tDirection = direction; + sprite->tDelay = 0; + sprite->tStepNo = 0; +} + +bool8 sub_8068CB4(struct Sprite *sprite) +{ + if ((++sprite->tDelay) & 1) + { + little_step(sprite, sprite->tDirection); + sprite->tStepNo++; + } + else + { + double_little_steps(sprite, sprite->tDirection); + sprite->tStepNo += 2; + } + + if (sprite->tStepNo > 15) + return TRUE; + else + return FALSE; +} + +#undef tStepNo +#undef tDelay +#undef tDirection + +#define tDirection data[3] +#define tJumpSpeed data[4] +#define tJumpHeight data[5] +#define tStepNo data[6] + +static const s8 sJumpHeight12[] = { + -4, -6, -8, -10, -11, -12, -12, -12, -11, -10, -9, -8, -6, -4, 0, 0 +}; + +static const s8 sJumpHeight6[] = { + 0, -2, -3, -4, -5, -6, -6, -6, -5, -5, -4, -3, -2, 0, 0, 0 +}; + +static const s8 sJumpHeight10[] = { + -2, -4, -6, -8, -9, -10, -10, -10, -9, -8, -6, -5, -3, -2, 0, 0 +}; + +static const s8 *const sYDisplacementPtrs[] = { + sJumpHeight12, + sJumpHeight6, + sJumpHeight10 +}; + +static s16 GetJumpYDisplacement(s16 stepno, u8 jumpno) +{ + return sYDisplacementPtrs[jumpno][stepno]; +} + +void sub_8068D1C(struct Sprite *sprite, u8 direction, u8 speed, u8 height) +{ + sprite->tDirection = direction; + sprite->tJumpSpeed = speed; + sprite->tJumpHeight = height; + sprite->tStepNo = 0; +} + +u8 sub_8068D3C(struct Sprite *sprite) +{ + s16 duration[3] = {0x10, 0x10, 0x20}; + u8 shifts[3] = {0, 0, 1}; + u8 jumpPhase = 0; + + if (sprite->tJumpSpeed != 0) + little_step(sprite, sprite->tDirection); + + sprite->pos2.y = GetJumpYDisplacement(sprite->tStepNo >> shifts[sprite->tJumpSpeed], sprite->tJumpHeight); + + sprite->tStepNo++; + + if (sprite->tStepNo == (duration[sprite->tJumpSpeed] >> 1)) + jumpPhase = 1; + + if (sprite->tStepNo >= duration[sprite->tJumpSpeed]) + { + sprite->pos2.y = 0; + jumpPhase = -1; + } + + return jumpPhase; +} + +u8 sub_8068DC4(struct Sprite *sprite) +{ + s16 duration[3] = {0x20, 0x20, 0x40}; + u8 shifts[3] = {1, 1, 2}; + u8 jumpPhase = 0; + + if (sprite->tJumpSpeed != 0 && !(sprite->tStepNo & 1)) + little_step(sprite, sprite->tDirection); + + sprite->pos2.y = GetJumpYDisplacement(sprite->tStepNo >> shifts[sprite->tJumpSpeed], sprite->tJumpHeight); + + sprite->tStepNo++; + + if (sprite->tStepNo == (duration[sprite->tJumpSpeed] >> 1)) + jumpPhase = 1; + + if (sprite->tStepNo >= duration[sprite->tJumpSpeed]) + { + sprite->pos2.y = 0; + jumpPhase = -1; + } + + return jumpPhase; +} + +#undef tStepNo +#undef tJumpHeight +#undef tJumpSpeed +#undef tDirection + +#define tDelay data[3] + +void SetMovementDelay(struct Sprite *sprite, s16 delay) +{ + sprite->tDelay = delay; +} + +bool8 WaitForMovementDelay(struct Sprite *sprite) +{ + sprite->tDelay--; + + if (sprite->tDelay == 0) + return TRUE; + else + return FALSE; +} + +#undef tDelay + +void SetAndStartSpriteAnim(struct Sprite *sprite, u8 animNum, u8 animCmdIndex) +{ + sprite->animNum = animNum; + sprite->animPaused = FALSE; + SeekSpriteAnim(sprite, animCmdIndex); +} + +bool8 SpriteAnimEnded(struct Sprite *sprite) +{ + if (sprite->animEnded) + return TRUE; + else + return FALSE; +} + +void UpdateObjectEventSpriteVisibility(struct Sprite *sprite, bool8 invisible) +{ + u16 x, y; + s16 x2, y2; + + sprite->invisible = invisible; + + if (sprite->coordOffsetEnabled) + { + x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX + gSpriteCoordOffsetX; + y = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY; + } + else + { + x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX; + y = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY; + } + + x2 = x - (sprite->centerToCornerVecX >> 1); + y2 = y - (sprite->centerToCornerVecY >> 1); + + if ((s16)x > 255 || x2 < -16) + sprite->invisible = TRUE; + if ((s16)y > 175 || y2 < -16) + sprite->invisible = TRUE; +} + +void UpdateObjectEventSpriteSubpriorityAndVisibility(struct Sprite *sprite) +{ + DoObjectUnionRoomWarpYDisplacement(sprite); + SetObjectSubpriorityByZCoord(sprite->tZCoord, sprite, 1); + UpdateObjectEventSpriteVisibility(sprite, sprite->tInvisible); +} + +void sub_8068FD0(void) +{ + s32 i; + for (i = 0; i < MAX_SPRITES; i++) + { + struct Sprite *sprite = &gSprites[i]; + if (sprite->inUse && sprite->callback == UpdateObjectEventSpriteSubpriorityAndVisibility) + { + DestroySprite(sprite); + } + } +} + +#define tUnionRoomWarpAnimNo data[3] +#define tUnionRoomWarpAnimState data[4] + +static int GetObjectEventSpriteId(u8 objectEventId) +{ + int i; + for (i = 0; i < MAX_SPRITES; i++) + { + struct Sprite *sprite = &gSprites[i]; + if (sprite->inUse && sprite->callback == UpdateObjectEventSpriteSubpriorityAndVisibility && (u8)sprite->tObjectEventId == objectEventId) + { + return i; + } + } + return MAX_SPRITES; +} + +void TurnObjectEvent(u8 objectEventId, u8 direction) +{ + u8 animNum; + u8 spriteId = GetObjectEventSpriteId(objectEventId); + if (spriteId != MAX_SPRITES) + { + struct Sprite *sprite = &gSprites[spriteId]; + StartSpriteAnim(sprite, GetFaceDirectionAnimNum(direction)); + } +} + +void RfuUnionObjectSetFacingDirection(u8 objectEventId, u8 direction) +{ + u8 animNum; + int spriteId = GetObjectEventSpriteId(objectEventId); + u16 baseBlock; + if (spriteId != MAX_SPRITES) + { + struct Sprite *sprite = &gSprites[spriteId]; + const struct ObjectEventGraphicsInfo * info = GetObjectEventGraphicsInfo(direction); + baseBlock = sprite->oam.tileNum; + sprite->oam = *info->oam; + sprite->oam.tileNum = baseBlock; + sprite->oam.paletteNum = info->paletteSlot; + sprite->images = info->images; + if (info->subspriteTables == NULL) + { + sprite->subspriteTables = NULL; + sprite->subspriteTableNum = 0; + sprite->subspriteMode = SUBSPRITES_OFF; + } + else + { + SetSubspriteTables(sprite, info->subspriteTables); + sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; + } + StartSpriteAnim(sprite, 0); + } +} + +void RfuUnionObjectToggleInvisibility(u8 objectEventId, bool32 invisible) +{ + u8 spriteId = GetObjectEventSpriteId(objectEventId); + if (spriteId != MAX_SPRITES) + { + if (invisible) + gSprites[spriteId].tInvisible = TRUE; + else + gSprites[spriteId].tInvisible = FALSE; + } +} + +bool32 RfuUnionObjectIsInvisible(u8 objectEventId) +{ + u8 spriteId = GetObjectEventSpriteId(objectEventId); + if (spriteId == MAX_SPRITES) + return FALSE; + return gSprites[spriteId].tInvisible == TRUE; +} + +void RfuUnionObjectStartWarp(u8 objectEventId, u8 animNo) +{ + u8 spriteId = GetObjectEventSpriteId(objectEventId); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].tUnionRoomWarpAnimNo = animNo; + gSprites[spriteId].tUnionRoomWarpAnimState = 0; + } +} + +static void DoObjectUnionRoomWarpYDisplacementUpwards(struct Sprite * sprite) +{ + switch (sprite->tUnionRoomWarpAnimState) + { + case 0: + sprite->pos2.y = 0; + sprite->tUnionRoomWarpAnimState++; + // fallthrough + case 1: + if ((sprite->pos2.y -= 8) == -160) + { + sprite->pos2.y = 0; + sprite->tInvisible = 1; + sprite->tUnionRoomWarpAnimNo = 0; + sprite->tUnionRoomWarpAnimState = 0; + } + break; + } +} + +static void DoObjectUnionRoomWarpYDisplacementDownwards(struct Sprite * sprite) +{ + switch (sprite->tUnionRoomWarpAnimState) + { + case 0: + sprite->pos2.y = -160; + sprite->tUnionRoomWarpAnimState++; + // fallthrough + case 1: + if ((sprite->pos2.y += 8) == 0) + { + sprite->tUnionRoomWarpAnimNo = 0; + sprite->tUnionRoomWarpAnimState = 0; + } + break; + } +} + +static void DoObjectUnionRoomWarpYDisplacement(struct Sprite * sprite) +{ + switch (sprite->tUnionRoomWarpAnimNo) + { + case 0: + break; + case 1: + DoObjectUnionRoomWarpYDisplacementDownwards(sprite); + break; + case 2: + DoObjectUnionRoomWarpYDisplacementUpwards(sprite); + break; + default: + sprite->tUnionRoomWarpAnimNo = 0; + AGB_ASSERT_EX(0, ABSPATH("evobjmv.c"), 13331); + } +} + +bool32 RfuUnionObjectIsWarping(u8 objectEventId) +{ + u8 spriteId = GetObjectEventSpriteId(objectEventId); + if (spriteId == MAX_SPRITES) + return FALSE; + if (gSprites[spriteId].tUnionRoomWarpAnimNo) + return TRUE; + else + return FALSE; +} + +#undef tUnionRoomWarpAnimState +#undef tUnionRoomWarpAnimNo +#undef tInvisible +#undef tZCoord +#undef tObjectEventId + +u32 oe_exec_and_other_stuff(u8 fieldEffectId, struct ObjectEvent * objectEvent) +{ + ObjectEventGetLocalIdAndMap(objectEvent, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]); + return FieldEffectStart(fieldEffectId); +} + +void DoShadowFieldEffect(struct ObjectEvent *objectEvent) +{ + if (!objectEvent->hasShadow) + { + objectEvent->hasShadow = TRUE; + oe_exec_and_other_stuff(FLDEFF_SHADOW, objectEvent); + } +} + +void DoRippleFieldEffect(struct ObjectEvent *objectEvent, struct Sprite *sprite) +{ + const struct ObjectEventGraphicsInfo *graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); + gFieldEffectArguments[0] = sprite->pos1.x; + gFieldEffectArguments[1] = sprite->pos1.y + (graphicsInfo->height >> 1) - 2; + gFieldEffectArguments[2] = 151; + gFieldEffectArguments[3] = 3; + FieldEffectStart(FLDEFF_RIPPLE); +} diff --git a/src/event_object_lock.c b/src/event_object_lock.c index 996e0c19c..a72845ac7 100644 --- a/src/event_object_lock.c +++ b/src/event_object_lock.c @@ -3,9 +3,7 @@ #include "field_player_avatar.h" #include "event_object_movement.h" #include "script_movement.h" -#include "event_object_80688E4.h" #include "event_data.h" -#include "event_object_lock.h" bool8 walkrun_is_standing_still(void) { @@ -89,18 +87,18 @@ void sub_80696C0(void) { u8 objectEventId = GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0); ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objectEventId]); - sub_80974D8(); + ScriptMovement_UnfreezeObjectEvents(); UnfreezeObjectEvents(); } -void sub_80696F0(void) +void UnionRoom_UnlockPlayerAndChatPartner(void) { u8 objectEventId; if (gObjectEvents[gSelectedObjectEvent].active) ObjectEventClearHeldMovementIfFinished(&gObjectEvents[gSelectedObjectEvent]); objectEventId = GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0); ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objectEventId]); - sub_80974D8(); + ScriptMovement_UnfreezeObjectEvents(); UnfreezeObjectEvents(); } diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 53008f3a0..7ec8dd8d1 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1,8 +1,6 @@ #include "global.h" #include "malloc.h" #include "event_data.h" -#include "event_object_80688E4.h" -#include "event_object_8097404.h" #include "event_object_movement.h" #include "field_camera.h" #include "field_control_avatar.h" @@ -21,7 +19,6 @@ #include "trig.h" #include "constants/event_object_movement.h" #include "constants/event_objects.h" -#include "constants/object_events.h" #define NUM_FIELD_MAP_OBJECT_TEMPLATES 0x51 @@ -74,18 +71,18 @@ static u8 sub_8063304(struct ObjectEvent *, struct Sprite *); static u8 sub_8063324(struct ObjectEvent *, struct Sprite *); static u8 sub_8063344(struct ObjectEvent *, struct Sprite *); static void sub_8064544(struct ObjectEvent *, struct Sprite *); -u8 sub_8064988(struct ObjectEvent *, struct Sprite *); -u8 sub_80649C8(struct ObjectEvent *, struct Sprite *); -u8 sub_8064A08(struct ObjectEvent *, struct Sprite *); -u8 sub_8064A48(struct ObjectEvent *, struct Sprite *); -u8 sub_8064A88(struct ObjectEvent *, struct Sprite *); -u8 sub_8064AC8(struct ObjectEvent *, struct Sprite *); -u8 sub_8064B08(struct ObjectEvent *, struct Sprite *); -u8 sub_8064B48(struct ObjectEvent *, struct Sprite *); -u8 sub_8064C5C(struct ObjectEvent *, struct Sprite *); -u8 sub_8064C9C(struct ObjectEvent *, struct Sprite *); -u8 sub_8064CDC(struct ObjectEvent *, struct Sprite *); -u8 sub_8064D1C(struct ObjectEvent *, struct Sprite *); +u8 MovementActionFunc_x9B_1(struct ObjectEvent *, struct Sprite *); +u8 MovementActionFunc_x9C_1(struct ObjectEvent *, struct Sprite *); +u8 MovementActionFunc_x9D_1(struct ObjectEvent *, struct Sprite *); +u8 MovementActionFunc_x9E_1(struct ObjectEvent *, struct Sprite *); +u8 MovementActionFunc_x08_1(struct ObjectEvent *, struct Sprite *); +u8 MovementActionFunc_x09_1(struct ObjectEvent *, struct Sprite *); +u8 MovementActionFunc_x0A_1(struct ObjectEvent *, struct Sprite *); +u8 MovementActionFunc_x0B_1(struct ObjectEvent *, struct Sprite *); +u8 MovementActionFunc_x0D_1(struct ObjectEvent *, struct Sprite *); +u8 MovementActionFunc_x0C_1(struct ObjectEvent *, struct Sprite *); +u8 MovementActionFunc_x0E_1(struct ObjectEvent *, struct Sprite *); +u8 MovementActionFunc_x0F_1(struct ObjectEvent *, struct Sprite *); u8 MovementAction_WalkNormalDown_Step1(struct ObjectEvent *, struct Sprite *); u8 MovementAction_WalkNormalUp_Step1(struct ObjectEvent *, struct Sprite *); u8 MovementAction_WalkNormalLeft_Step1(struct ObjectEvent *, struct Sprite *); @@ -98,10 +95,10 @@ u8 MovementAction_WalkFastDown_Step1(struct ObjectEvent *, struct Sprite *); u8 MovementAction_WalkFastUp_Step1(struct ObjectEvent *, struct Sprite *); u8 MovementAction_WalkFastLeft_Step1(struct ObjectEvent *, struct Sprite *); u8 MovementAction_WalkFastRight_Step1(struct ObjectEvent *, struct Sprite *); -bool8 sub_8065438(struct ObjectEvent *, struct Sprite *); -bool8 sub_80654A4(struct ObjectEvent *, struct Sprite *); -bool8 sub_8065510(struct ObjectEvent *, struct Sprite *); -bool8 sub_806557C(struct ObjectEvent *, struct Sprite *); +bool8 MovementActionFunc_xA0_1(struct ObjectEvent *, struct Sprite *); +bool8 MovementActionFunc_xA1_1(struct ObjectEvent *, struct Sprite *); +bool8 MovementActionFunc_xA2_1(struct ObjectEvent *, struct Sprite *); +bool8 MovementActionFunc_xA3_1(struct ObjectEvent *, struct Sprite *); u8 MovementAction_RideWaterCurrentDown_Step1(struct ObjectEvent *, struct Sprite *); u8 MovementAction_RideWaterCurrentUp_Step1(struct ObjectEvent *, struct Sprite *); u8 MovementAction_RideWaterCurrentLeft_Step1(struct ObjectEvent *, struct Sprite *); @@ -118,18 +115,18 @@ u8 MovementAction_PlayerRunDown_Step1(struct ObjectEvent *, struct Sprite *); u8 MovementAction_PlayerRunUp_Step1(struct ObjectEvent *, struct Sprite *); u8 MovementAction_PlayerRunLeft_Step1(struct ObjectEvent *, struct Sprite *); u8 MovementAction_PlayerRunRight_Step1(struct ObjectEvent *, struct Sprite *); -bool8 sub_8065FE4(struct ObjectEvent *, struct Sprite *); -bool8 sub_8066024(struct ObjectEvent *, struct Sprite *); -bool8 sub_8066064(struct ObjectEvent *, struct Sprite *); -bool8 sub_80660A4(struct ObjectEvent *, struct Sprite *); +bool8 MovementActionFunc_x41_1(struct ObjectEvent *, struct Sprite *); +bool8 MovementActionFunc_x42_1(struct ObjectEvent *, struct Sprite *); +bool8 MovementActionFunc_x43_1(struct ObjectEvent *, struct Sprite *); +bool8 MovementActionFunc_x44_1(struct ObjectEvent *, struct Sprite *); u8 MovementAction_JumpSpecialDown_Step1(struct ObjectEvent *, struct Sprite *); u8 MovementAction_JumpSpecialUp_Step1(struct ObjectEvent *, struct Sprite *); u8 MovementAction_JumpSpecialLeft_Step1(struct ObjectEvent *, struct Sprite *); u8 MovementAction_JumpSpecialRight_Step1(struct ObjectEvent *, struct Sprite *); -bool8 sub_806629C(struct ObjectEvent *, struct Sprite *); -bool8 sub_80662DC(struct ObjectEvent *, struct Sprite *); -bool8 sub_806631C(struct ObjectEvent *, struct Sprite *); -bool8 sub_806635C(struct ObjectEvent *, struct Sprite *); +bool8 MovementActionFunc_xA6_1(struct ObjectEvent *, struct Sprite *); +bool8 MovementActionFunc_xA7_1(struct ObjectEvent *, struct Sprite *); +bool8 MovementActionFunc_xA8_1(struct ObjectEvent *, struct Sprite *); +bool8 MovementActionFunc_xA9_1(struct ObjectEvent *, struct Sprite *); u8 MovementAction_JumpDown_Step1(struct ObjectEvent *, struct Sprite *); u8 MovementAction_JumpUp_Step1(struct ObjectEvent *, struct Sprite *); u8 MovementAction_JumpLeft_Step1(struct ObjectEvent *, struct Sprite *); @@ -165,10 +162,10 @@ u8 MovementAction_AcroWheelieMoveDown_Step1(struct ObjectEvent *, struct Sprite u8 MovementAction_AcroWheelieMoveUp_Step1(struct ObjectEvent *, struct Sprite *); u8 MovementAction_AcroWheelieMoveLeft_Step1(struct ObjectEvent *, struct Sprite *); u8 MovementAction_AcroWheelieMoveRight_Step1(struct ObjectEvent *, struct Sprite *);; -bool8 sub_80676A4(struct ObjectEvent *, struct Sprite *); -bool8 sub_80676E4(struct ObjectEvent *, struct Sprite *); -bool8 sub_8067724(struct ObjectEvent *, struct Sprite *); -bool8 sub_8067764(struct ObjectEvent *, struct Sprite *); +bool8 MovementActionFunc_x94_1(struct ObjectEvent *, struct Sprite *); +bool8 MovementActionFunc_x95_1(struct ObjectEvent *, struct Sprite *); +bool8 MovementActionFunc_x96_1(struct ObjectEvent *, struct Sprite *); +bool8 MovementActionFunc_x97_1(struct ObjectEvent *, struct Sprite *); #define movement_type_def(setup, table) \ static u8 setup##_callback(struct ObjectEvent *, struct Sprite *);\ @@ -319,7 +316,6 @@ extern const struct UnkStruct_083A3698 gUnknown_83A3698[]; extern const u8 gTrainerFacingDirectionMovementTypes[]; extern bool8 (*const gOppositeDirectionBlockedMetatileFuncs[])(u8); extern bool8 (*const gDirectionBlockedMetatileFuncs[])(u8); -extern const struct Coords16 sDirectionToVectors[]; extern const u8 gFaceDirectionMovementActions[5]; extern const u8 gWalkSlowMovementActions[5]; extern const u8 gUnknown_83A64F6[]; @@ -793,7 +789,7 @@ static u8 sub_805E238(struct ObjectEventTemplate *template, u8 var, s16 x, s16 y static u8 sub_805E27C(struct ObjectEventTemplate *template, s16 x, s16 y) { - if ((u8) (template->graphicsId - OBJECT_EVENT_GFX_CUT_TREE) > 1) + if ((u8) (template->graphicsId - OBJ_EVENT_GFX_CUT_TREE) > 1) return 1; if (gSaveBlock1Ptr->pos.x < x) @@ -826,7 +822,7 @@ static u8 sub_805E2E8(struct ObjectEventTemplate *template, s16 x, s16 y) x2 = gBackupMapLayout.Xsize - 16; y2 = gBackupMapLayout.Ysize - 15; - if ((u8) (template->graphicsId - OBJECT_EVENT_GFX_CUT_TREE) > 1) + if ((u8) (template->graphicsId - OBJ_EVENT_GFX_CUT_TREE) > 1) return 1; if (!gSaveBlock1Ptr->pos.x) @@ -1043,7 +1039,7 @@ u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *objectEventTemplate) return TrySpawnObjectEventTemplate(objectEventTemplate, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); } -u8 SpawnSpecialObjectEventParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z) +int SpawnSpecialObjectEventParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z) { struct ObjectEventTemplate objectEventTemplate; @@ -4846,13 +4842,13 @@ bool8 sub_8064930(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_8064968(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x9B_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8064904(objectEvent, sprite, DIR_SOUTH); - return sub_8064988(objectEvent, sprite); + return MovementActionFunc_x9B_1(objectEvent, sprite); } -bool8 sub_8064988(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x9B_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (sub_8064930(objectEvent, sprite)) { @@ -4862,13 +4858,13 @@ bool8 sub_8064988(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_80649A8(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x9C_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8064904(objectEvent, sprite, DIR_NORTH); - return sub_80649C8(objectEvent, sprite); + return MovementActionFunc_x9C_1(objectEvent, sprite); } -bool8 sub_80649C8(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x9C_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (sub_8064930(objectEvent, sprite)) { @@ -4878,13 +4874,13 @@ bool8 sub_80649C8(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_80649E8(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x9D_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8064904(objectEvent, sprite, DIR_WEST); - return sub_8064A08(objectEvent, sprite); + return MovementActionFunc_x9D_1(objectEvent, sprite); } -bool8 sub_8064A08(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x9D_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (sub_8064930(objectEvent, sprite)) { @@ -4894,13 +4890,13 @@ bool8 sub_8064A08(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_8064A28(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x9E_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8064904(objectEvent, sprite, DIR_EAST); - return sub_8064A48(objectEvent, sprite); + return MovementActionFunc_x9E_1(objectEvent, sprite); } -bool8 sub_8064A48(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x9E_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (sub_8064930(objectEvent, sprite)) { @@ -4910,13 +4906,13 @@ bool8 sub_8064A48(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_8064A68(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x08_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8064830(objectEvent, sprite, DIR_SOUTH); - return sub_8064A88(objectEvent, sprite); + return MovementActionFunc_x08_1(objectEvent, sprite); } -bool8 sub_8064A88(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x08_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (an_walk_any_2(objectEvent, sprite)) { @@ -4926,13 +4922,13 @@ bool8 sub_8064A88(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_8064AA8(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x09_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8064830(objectEvent, sprite, DIR_NORTH); - return sub_8064AC8(objectEvent, sprite); + return MovementActionFunc_x09_1(objectEvent, sprite); } -bool8 sub_8064AC8(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x09_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (an_walk_any_2(objectEvent, sprite)) { @@ -4942,13 +4938,13 @@ bool8 sub_8064AC8(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_8064AE8(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x0A_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8064830(objectEvent, sprite, DIR_WEST); - return sub_8064B08(objectEvent, sprite); + return MovementActionFunc_x0A_1(objectEvent, sprite); } -bool8 sub_8064B08(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x0A_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (an_walk_any_2(objectEvent, sprite)) { @@ -4958,13 +4954,13 @@ bool8 sub_8064B08(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_8064B28(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x0B_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8064830(objectEvent, sprite, DIR_EAST); - return sub_8064B48(objectEvent, sprite); + return MovementActionFunc_x0B_1(objectEvent, sprite); } -bool8 sub_8064B48(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x0B_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (an_walk_any_2(objectEvent, sprite)) { @@ -5008,13 +5004,13 @@ bool8 sub_8064C04(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_8064C3C(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x0D_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8064BD8(objectEvent, sprite, DIR_NORTH); - return sub_8064C5C(objectEvent, sprite); + return MovementActionFunc_x0D_1(objectEvent, sprite); } -bool8 sub_8064C5C(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x0D_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (sub_8064C04(objectEvent, sprite)) { @@ -5024,13 +5020,13 @@ bool8 sub_8064C5C(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_8064C7C(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x0C_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8064BD8(objectEvent, sprite, DIR_SOUTH); - return sub_8064C9C(objectEvent, sprite); + return MovementActionFunc_x0C_1(objectEvent, sprite); } -bool8 sub_8064C9C(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x0C_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (sub_8064C04(objectEvent, sprite)) { @@ -5040,13 +5036,13 @@ bool8 sub_8064C9C(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_8064CBC(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x0E_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8064BD8(objectEvent, sprite, DIR_WEST); - return sub_8064CDC(objectEvent, sprite); + return MovementActionFunc_x0E_1(objectEvent, sprite); } -bool8 sub_8064CDC(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x0E_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (sub_8064C04(objectEvent, sprite)) { @@ -5056,13 +5052,13 @@ bool8 sub_8064CDC(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_8064CFC(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x0F_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8064BD8(objectEvent, sprite, DIR_EAST); - return sub_8064D1C(objectEvent, sprite); + return MovementActionFunc_x0F_1(objectEvent, sprite); } -bool8 sub_8064D1C(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x0F_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (sub_8064C04(objectEvent, sprite)) { @@ -5421,16 +5417,16 @@ bool8 sub_80653CC(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -u8 sub_80653F8(struct ObjectEvent *objectEvent, struct Sprite *sprite) +u8 MovementActionFunc_xA0_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if(objectEvent->facingDirection != DIR_SOUTH) StartSpriteAnim(sprite, GetFaceDirectionAnimNum(DIR_SOUTH)); npc_apply_direction(objectEvent, sprite, DIR_SOUTH, 1); - return sub_8065438(objectEvent, sprite); + return MovementActionFunc_xA0_1(objectEvent, sprite); } -bool8 sub_8065438(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_xA0_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { AnimateSprite(sprite); if (sub_80653CC(objectEvent, sprite)) @@ -5441,16 +5437,16 @@ bool8 sub_8065438(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -u8 sub_8065464(struct ObjectEvent *objectEvent, struct Sprite *sprite) +u8 MovementActionFunc_xA1_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if(objectEvent->facingDirection != DIR_NORTH) StartSpriteAnim(sprite, GetFaceDirectionAnimNum(DIR_NORTH)); npc_apply_direction(objectEvent, sprite, DIR_NORTH, 1); - return sub_80654A4(objectEvent, sprite); + return MovementActionFunc_xA1_1(objectEvent, sprite); } -bool8 sub_80654A4(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_xA1_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { AnimateSprite(sprite); if (sub_80653CC(objectEvent, sprite)) @@ -5461,16 +5457,16 @@ bool8 sub_80654A4(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -u8 sub_80654D0(struct ObjectEvent *objectEvent, struct Sprite *sprite) +u8 MovementActionFunc_xA2_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if(objectEvent->facingDirection != DIR_WEST) StartSpriteAnim(sprite, GetFaceDirectionAnimNum(DIR_WEST)); npc_apply_direction(objectEvent, sprite, DIR_WEST, 1); - return sub_8065510(objectEvent, sprite); + return MovementActionFunc_xA2_1(objectEvent, sprite); } -bool8 sub_8065510(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_xA2_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { AnimateSprite(sprite); if (sub_80653CC(objectEvent, sprite)) @@ -5481,16 +5477,16 @@ bool8 sub_8065510(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -u8 sub_806553C(struct ObjectEvent *objectEvent, struct Sprite *sprite) +u8 MovementActionFunc_xA3_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if(objectEvent->facingDirection != DIR_EAST) StartSpriteAnim(sprite, GetFaceDirectionAnimNum(DIR_EAST)); npc_apply_direction(objectEvent, sprite, DIR_EAST, 1); - return sub_806557C(objectEvent, sprite); + return MovementActionFunc_xA3_1(objectEvent, sprite); } -bool8 sub_806557C(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_xA3_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { AnimateSprite(sprite); if (sub_80653CC(objectEvent, sprite)) @@ -5509,7 +5505,7 @@ void sub_80655A8(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 dire sprite->data[2] = 1; } -u8 sub_80655D4(struct ObjectEvent *objectEvent, struct Sprite *sprite) +u8 MovementActionFunc_x04_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if(objectEvent->facingDirection != DIR_SOUTH) StartSpriteAnim(sprite, GetFaceDirectionAnimNum(DIR_SOUTH)); @@ -5519,7 +5515,7 @@ u8 sub_80655D4(struct ObjectEvent *objectEvent, struct Sprite *sprite) return TRUE; } -u8 sub_8065610(struct ObjectEvent *objectEvent, struct Sprite *sprite) +u8 MovementActionFunc_x05_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if(objectEvent->facingDirection != DIR_NORTH) StartSpriteAnim(sprite, GetFaceDirectionAnimNum(DIR_NORTH)); @@ -5529,7 +5525,7 @@ u8 sub_8065610(struct ObjectEvent *objectEvent, struct Sprite *sprite) return TRUE; } -u8 sub_806564C(struct ObjectEvent *objectEvent, struct Sprite *sprite) +u8 MovementActionFunc_x06_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if(objectEvent->facingDirection != DIR_WEST) StartSpriteAnim(sprite, GetFaceDirectionAnimNum(DIR_WEST)); @@ -5539,7 +5535,7 @@ u8 sub_806564C(struct ObjectEvent *objectEvent, struct Sprite *sprite) return TRUE; } -u8 sub_8065688(struct ObjectEvent *objectEvent, struct Sprite *sprite) +u8 MovementActionFunc_x07_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if(objectEvent->facingDirection != DIR_EAST) StartSpriteAnim(sprite, GetFaceDirectionAnimNum(DIR_EAST)); @@ -5964,13 +5960,13 @@ bool8 sub_8065F8C(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_8065FC4(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x41_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8065F60(objectEvent, sprite, DIR_SOUTH); - return sub_8065FE4(objectEvent, sprite); + return MovementActionFunc_x41_1(objectEvent, sprite); } -bool8 sub_8065FE4(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x41_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (sub_8065F8C(objectEvent, sprite)) { @@ -5980,13 +5976,13 @@ bool8 sub_8065FE4(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_8066004(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x42_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8065F60(objectEvent, sprite, DIR_NORTH); - return sub_8066024(objectEvent, sprite); + return MovementActionFunc_x42_1(objectEvent, sprite); } -bool8 sub_8066024(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x42_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (sub_8065F8C(objectEvent, sprite)) { @@ -5996,13 +5992,13 @@ bool8 sub_8066024(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_8066044(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x43_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8065F60(objectEvent, sprite, DIR_WEST); - return sub_8066064(objectEvent, sprite); + return MovementActionFunc_x43_1(objectEvent, sprite); } -bool8 sub_8066064(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x43_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (sub_8065F8C(objectEvent, sprite)) { @@ -6012,13 +6008,13 @@ bool8 sub_8066064(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_8066084(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x44_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8065F60(objectEvent, sprite, DIR_SOUTH); - return sub_80660A4(objectEvent, sprite); + return MovementActionFunc_x44_1(objectEvent, sprite); } -bool8 sub_80660A4(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x44_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (sub_8065F8C(objectEvent, sprite)) { @@ -6125,13 +6121,13 @@ bool8 MovementAction_JumpSpecialRight_Step1(struct ObjectEvent *objectEvent, str return FALSE; } -bool8 sub_806627C(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_xA6_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8066128(objectEvent, sprite, DIR_SOUTH); - return sub_806629C(objectEvent, sprite); + return MovementActionFunc_xA6_1(objectEvent, sprite); } -bool8 sub_806629C(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_xA6_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (sub_8065040(objectEvent, sprite)) { @@ -6141,13 +6137,13 @@ bool8 sub_806629C(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_80662BC(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_xA7_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8066128(objectEvent, sprite, DIR_NORTH); - return sub_80662DC(objectEvent, sprite); + return MovementActionFunc_xA7_1(objectEvent, sprite); } -bool8 sub_80662DC(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_xA7_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (sub_8065040(objectEvent, sprite)) { @@ -6157,13 +6153,13 @@ bool8 sub_80662DC(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_80662FC(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_xA8_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8066128(objectEvent, sprite, DIR_WEST); - return sub_806631C(objectEvent, sprite); + return MovementActionFunc_xA8_1(objectEvent, sprite); } -bool8 sub_806631C(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_xA8_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (sub_8065040(objectEvent, sprite)) { @@ -6173,13 +6169,13 @@ bool8 sub_806631C(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_806633C(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_xA9_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8066128(objectEvent, sprite, DIR_EAST); - return sub_806635C(objectEvent, sprite); + return MovementActionFunc_xA9_1(objectEvent, sprite); } -bool8 sub_806635C(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_xA9_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (sub_8065040(objectEvent, sprite)) { @@ -6504,23 +6500,23 @@ bool8 MovementAction_EmoteQuestionMark_Step0(struct ObjectEvent *objectEvent, st bool8 MovementAction_EmoteHeart_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { ObjectEventGetLocalIdAndMap(objectEvent, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - FieldEffectStart(FLDEFF_HEART_ICON); + FieldEffectStart(FLDEFF_X_ICON); sprite->data[2] = 1; return TRUE; } -bool8 sub_806698C(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 do_double_excl_bubble(struct ObjectEvent *objectEvent, struct Sprite *sprite) { ObjectEventGetLocalIdAndMap(objectEvent, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - FieldEffectStart(FLDEFF_UNK_42); + FieldEffectStart(FLDEFF_DOUBLE_EXCL_MARK_ICON); sprite->data[2] = 1; return TRUE; } -bool8 sub_80669B0(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 do_smile_bubble(struct ObjectEvent *objectEvent, struct Sprite *sprite) { ObjectEventGetLocalIdAndMap(objectEvent, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - FieldEffectStart(FLDEFF_UNK_40); + FieldEffectStart(FLDEFF_SMILEY_FACE_ICON); sprite->data[2] = 1; return TRUE; } @@ -6529,7 +6525,7 @@ bool8 MovementAction_RevealTrainer_Step0(struct ObjectEvent *objectEvent, struct { if (objectEvent->movementType == MOVEMENT_TYPE_HIDDEN) { - sub_80824EC(objectEvent); + MovementAction_RevealTrainer_RunTrainerSeeFuncList(objectEvent); return FALSE; } if (objectEvent->movementType != MOVEMENT_TYPE_TREE_DISGUISE && objectEvent->movementType != MOVEMENT_TYPE_MOUNTAIN_DISGUISE) @@ -6686,25 +6682,25 @@ void sub_8066C70(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 dire sprite->data[2] = 1; } -bool8 sub_8066CB0(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x70_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8066C70(objectEvent, sprite, DIR_SOUTH); return TRUE; } -bool8 sub_8066CC0(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x71_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8066C70(objectEvent, sprite, DIR_NORTH); return TRUE; } -bool8 sub_8066CD0(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x72_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8066C70(objectEvent, sprite, DIR_WEST); return TRUE; } -bool8 sub_8066CE0(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x73_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_8066C70(objectEvent, sprite, DIR_EAST); return TRUE; @@ -6993,25 +6989,25 @@ bool8 MovementAction_AcroWheelieJumpRight_Step1(struct ObjectEvent *objectEvent, return FALSE; } -bool8 sub_8067304(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x88_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_80656C4(objectEvent, sprite, DIR_SOUTH, GetFishingDirectionAnimNum(DIR_SOUTH), 8); return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } -bool8 sub_806733C(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x89_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_80656C4(objectEvent, sprite, DIR_NORTH, GetFishingDirectionAnimNum(DIR_NORTH), 8); return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } -bool8 sub_8067374(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x8A_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_80656C4(objectEvent, sprite, DIR_WEST, GetFishingDirectionAnimNum(DIR_WEST), 8); return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } -bool8 sub_80673AC(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x8B_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_80656C4(objectEvent, sprite, DIR_EAST, GetFishingDirectionAnimNum(DIR_EAST), 8); return MovementAction_WalkInPlace_Step1(objectEvent, sprite); @@ -7165,13 +7161,13 @@ void sub_806764C(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 dire SeekSpriteAnim(sprite, 0); } -bool8 sub_8067684(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x94_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_806764C(objectEvent, sprite, DIR_SOUTH, 1); - return sub_80676A4(objectEvent, sprite); + return MovementActionFunc_x94_1(objectEvent, sprite); } -bool8 sub_80676A4(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x94_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { @@ -7181,13 +7177,13 @@ bool8 sub_80676A4(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_80676C4(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x95_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_806764C(objectEvent, sprite, DIR_NORTH, 1); - return sub_80676E4(objectEvent, sprite); + return MovementActionFunc_x95_1(objectEvent, sprite); } -bool8 sub_80676E4(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x95_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { @@ -7197,13 +7193,13 @@ bool8 sub_80676E4(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_8067704(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x96_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_806764C(objectEvent, sprite, DIR_WEST, 1); - return sub_8067724(objectEvent, sprite); + return MovementActionFunc_x96_1(objectEvent, sprite); } -bool8 sub_8067724(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x96_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { @@ -7213,13 +7209,13 @@ bool8 sub_8067724(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_8067744(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x97_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sub_806764C(objectEvent, sprite, DIR_EAST, 1); - return sub_8067764(objectEvent, sprite); + return MovementActionFunc_x97_1(objectEvent, sprite); } -bool8 sub_8067764(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x97_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) { @@ -7229,7 +7225,7 @@ bool8 sub_8067764(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_8067784(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x98_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { StartSpriteAnim(sprite, 20); sprite->animPaused = FALSE; @@ -7242,12 +7238,12 @@ bool8 sub_8067784(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_80677C0(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x98_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { return sprite->animEnded; } -bool8 sub_80677CC(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x99_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { s32 y; switch (sprite->data[7]) @@ -7294,7 +7290,7 @@ bool8 sub_80677CC(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_80678C0(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x9A_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { bool8 ret; sprite->data[7] = (sprite->data[7] + 4) & 0xFF; @@ -7306,7 +7302,7 @@ bool8 sub_80678C0(struct ObjectEvent *objectEvent, struct Sprite *sprite) return ret; } -bool8 sub_80678F0(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x9F_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { StartSpriteAnim(sprite, 28); sprite->animPaused = FALSE; @@ -7315,7 +7311,7 @@ bool8 sub_80678F0(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_8067924(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_x9F_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { return sprite->animEnded; } @@ -7331,14 +7327,14 @@ bool8 MovementAction_PauseSpriteAnim(struct ObjectEvent *objectEvent, struct Spr return TRUE; } -bool8 sub_8067944(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_xA4_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sprite->pos2.y = 0; sprite->data[2]++; return FALSE; } -bool8 sub_8067954(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_xA4_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sprite->pos2.y -= 8; if (sprite->pos2.y == -160) @@ -7346,14 +7342,14 @@ bool8 sub_8067954(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -bool8 sub_8067978(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_xA5_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sprite->pos2.y = -160; sprite->data[2]++; return FALSE; } -bool8 sub_806798C(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 MovementActionFunc_xA5_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { sprite->pos2.y += 8; if (sprite->pos2.y == 0) @@ -7361,7 +7357,7 @@ bool8 sub_806798C(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -u8 sub_80679A8(struct ObjectEvent *objectEvent, struct Sprite *sprite) +u8 MovementActionFunc_xA4_2(struct ObjectEvent *objectEvent, struct Sprite *sprite) { return TRUE; } diff --git a/src/evolution_scene.c b/src/evolution_scene.c index f3b05b32c..71eb3fc36 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -31,8 +31,6 @@ #include "text.h" #include "text_window.h" #include "trig.h" -#include "trade.h" -#include "util.h" #include "battle_string_ids.h" #include "constants/species.h" #include "constants/songs.h" diff --git a/src/fame_checker.c b/src/fame_checker.c index c9a8aac5a..7b71610ed 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -1536,7 +1536,7 @@ static void PlaceListMenuCursor(bool8 isActive) { u16 cursorY = ListMenuGetYCoordForPrintingArrowCursor(sFameCheckerData->listMenuTaskId); if (isActive == TRUE) - AddTextPrinterParameterized4(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, sTextColor_DkGrey, 0, gFameCheckerText_ListMenuCursor); + AddTextPrinterParameterized4(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, sTextColor_DkGrey, 0, gText_SelectorArrow2); else - AddTextPrinterParameterized4(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, sTextColor_White, 0, gFameCheckerText_ListMenuCursor); + AddTextPrinterParameterized4(FCWINDOWID_LIST, 2, 0, cursorY, 0, 0, sTextColor_White, 0, gText_SelectorArrow2); } diff --git a/src/field_camera.c b/src/field_camera.c new file mode 100644 index 000000000..40ab8f464 --- /dev/null +++ b/src/field_camera.c @@ -0,0 +1,572 @@ +#include "global.h" +#include "gflib.h" +#include "field_camera.h" +#include "field_player_avatar.h" +#include "fieldmap.h" +#include "event_object_movement.h" +#include "new_menu_helpers.h" +#include "overworld.h" + +EWRAM_DATA bool8 gUnusedBikeCameraAheadPanback = FALSE; + +// Static type declarations +struct FieldCameraOffset +{ + u8 xPixelOffset; + u8 yPixelOffset; + u8 xTileOffset; + u8 yTileOffset; + bool8 copyBGToVRAM; +}; + +// static functions +static void RedrawMapSliceNorth(struct FieldCameraOffset *cameraOffset, const struct MapLayout *mapLayout); +static void RedrawMapSliceSouth(struct FieldCameraOffset *cameraOffset, const struct MapLayout *mapLayout); +static void RedrawMapSliceEast(struct FieldCameraOffset *cameraOffset, const struct MapLayout *mapLayout); +static void RedrawMapSliceWest(struct FieldCameraOffset *cameraOffset, const struct MapLayout *mapLayout); +static s32 MapPosToBgTilemapOffset(struct FieldCameraOffset *a, s32 x, s32 y); +static void DrawWholeMapViewInternal(int x, int y, const struct MapLayout *mapLayout); +static void DrawMetatileAt(const struct MapLayout *mapLayout, u16, int, int); +static void DrawMetatile(s32 a, const u16 *b, u16 c); +static void CameraPanningCB_PanAhead(void); + +// IWRAM bss vars +static struct FieldCameraOffset sFieldCameraOffset; +static s16 sHorizontalCameraPan; +static s16 sVerticalCameraPan; +static u8 gUnknown_3000E9C; +static void (*sFieldCameraPanningCallback)(void); + +struct CameraObject gFieldCamera; +u16 gTotalCameraPixelOffsetY; +u16 gTotalCameraPixelOffsetX; + +// text +static void move_tilemap_camera_to_upper_left_corner_(struct FieldCameraOffset *cameraOffset) +{ + cameraOffset->xTileOffset = 0; + cameraOffset->yTileOffset = 0; + cameraOffset->xPixelOffset = 0; + cameraOffset->yPixelOffset = 0; + cameraOffset->copyBGToVRAM = TRUE; +} + +static void tilemap_move_something(struct FieldCameraOffset *cameraOffset, u32 b, u32 c) +{ + cameraOffset->xTileOffset += b; + cameraOffset->xTileOffset %= 32; + cameraOffset->yTileOffset += c; + cameraOffset->yTileOffset %= 32; +} + +static void coords8_add(struct FieldCameraOffset *cameraOffset, u32 b, u32 c) +{ + cameraOffset->xPixelOffset += b; + cameraOffset->yPixelOffset += c; +} + +void move_tilemap_camera_to_upper_left_corner(void) +{ + move_tilemap_camera_to_upper_left_corner_(&sFieldCameraOffset); +} + +void FieldUpdateBgTilemapScroll(void) +{ + u32 r4, r5; + r5 = sFieldCameraOffset.xPixelOffset + sHorizontalCameraPan; + r4 = sVerticalCameraPan + sFieldCameraOffset.yPixelOffset + 8; + + SetGpuReg(REG_OFFSET_BG1HOFS, r5); + SetGpuReg(REG_OFFSET_BG1VOFS, r4); + SetGpuReg(REG_OFFSET_BG2HOFS, r5); + SetGpuReg(REG_OFFSET_BG2VOFS, r4); + SetGpuReg(REG_OFFSET_BG3HOFS, r5); + SetGpuReg(REG_OFFSET_BG3VOFS, r4); +} + +void sub_805A658(s16 *a, s16 *b) +{ + *a = sFieldCameraOffset.xPixelOffset + sHorizontalCameraPan; + *b = sFieldCameraOffset.yPixelOffset + sVerticalCameraPan + 8; +} + +void DrawWholeMapView(void) +{ + DrawWholeMapViewInternal(gSaveBlock1Ptr->pos.x, gSaveBlock1Ptr->pos.y, gMapHeader.mapLayout); + // sFieldCameraOffset.copyBGToVRAM = TRUE; +} + +static void DrawWholeMapViewInternal(int x, int y, const struct MapLayout *mapLayout) +{ + u8 i; + u8 j; + u32 r6; + u8 temp; + + for (i = 0; i < 32; i += 2) + { + temp = sFieldCameraOffset.yTileOffset + i; + if (temp >= 32) + temp -= 32; + r6 = temp * 32; + for (j = 0; j < 32; j += 2) + { + temp = sFieldCameraOffset.xTileOffset + j; + if (temp >= 32) + temp -= 32; + DrawMetatileAt(mapLayout, r6 + temp, x + j / 2, y + i / 2); + } + } +} + +static void RedrawMapSlicesForCameraUpdate(struct FieldCameraOffset *cameraOffset, int x, int y) +{ + const struct MapLayout *mapLayout = gMapHeader.mapLayout; + + if (x > 0) + RedrawMapSliceWest(cameraOffset, mapLayout); + if (x < 0) + RedrawMapSliceEast(cameraOffset, mapLayout); + if (y > 0) + RedrawMapSliceNorth(cameraOffset, mapLayout); + if (y < 0) + RedrawMapSliceSouth(cameraOffset, mapLayout); + cameraOffset->copyBGToVRAM = TRUE; +} + +static void RedrawMapSliceNorth(struct FieldCameraOffset *cameraOffset, const struct MapLayout *mapLayout) +{ + u8 i; + u8 temp; + u32 r7; + + temp = cameraOffset->yTileOffset + 28; + if (temp >= 32) + temp -= 32; + r7 = temp * 32; + for (i = 0; i < 32; i += 2) + { + temp = cameraOffset->xTileOffset + i; + if (temp >= 32) + temp -= 32; + DrawMetatileAt(mapLayout, r7 + temp, gSaveBlock1Ptr->pos.x + i / 2, gSaveBlock1Ptr->pos.y + 14); + } +} + +static void RedrawMapSliceSouth(struct FieldCameraOffset *cameraOffset, const struct MapLayout *mapLayout) +{ + u8 i; + u8 temp; + u32 r7 = cameraOffset->yTileOffset * 32; + + for (i = 0; i < 32; i += 2) + { + temp = cameraOffset->xTileOffset + i; + if (temp >= 32) + temp -= 32; + DrawMetatileAt(mapLayout, r7 + temp, gSaveBlock1Ptr->pos.x + i / 2, gSaveBlock1Ptr->pos.y); + } +} + +static void RedrawMapSliceEast(struct FieldCameraOffset *cameraOffset, const struct MapLayout *mapLayout) +{ + u8 i; + u8 temp; + u32 r6 = cameraOffset->xTileOffset; + + for (i = 0; i < 32; i += 2) + { + temp = cameraOffset->yTileOffset + i; + if (temp >= 32) + temp -= 32; + DrawMetatileAt(mapLayout, temp * 32 + r6, gSaveBlock1Ptr->pos.x, gSaveBlock1Ptr->pos.y + i / 2); + } +} + +static void RedrawMapSliceWest(struct FieldCameraOffset *cameraOffset, const struct MapLayout *mapLayout) +{ + u8 i; + u8 temp; + u8 r5 = cameraOffset->xTileOffset + 28; + + if (r5 >= 32) + r5 -= 32; + for (i = 0; i < 32; i += 2) + { + temp = cameraOffset->yTileOffset + i; + if (temp >= 32) + temp -= 32; + DrawMetatileAt(mapLayout, temp * 32 + r5, gSaveBlock1Ptr->pos.x + 14, gSaveBlock1Ptr->pos.y + i / 2); + } +} + +void CurrentMapDrawMetatileAt(int x, int y) +{ + int offset = MapPosToBgTilemapOffset(&sFieldCameraOffset, x, y); + + if (offset >= 0) + { + DrawMetatileAt(gMapHeader.mapLayout, offset, x, y); + // sFieldCameraOffset.copyBGToVRAM = TRUE; + } +} + +void DrawDoorMetatileAt(int x, int y, const u16 *arr) +{ + int offset = MapPosToBgTilemapOffset(&sFieldCameraOffset, x, y); + + if (offset >= 0) + { + DrawMetatile(1, arr, offset); + // sFieldCameraOffset.copyBGToVRAM = TRUE; + } +} + +static void DrawMetatileAt(const struct MapLayout *mapLayout, u16 offset, int x, int y) +{ + u16 metatileId = MapGridGetMetatileIdAt(x, y); + u16 *metatiles; + + if (metatileId > NUM_METATILES_TOTAL) + metatileId = 0; + if (metatileId < NUM_METATILES_IN_PRIMARY) + metatiles = mapLayout->primaryTileset->metatiles; + else + { + metatiles = mapLayout->secondaryTileset->metatiles; + metatileId -= NUM_METATILES_IN_PRIMARY; + } + DrawMetatile(MapGridGetMetatileLayerTypeAt(x, y), metatiles + metatileId * 8, offset); +} + +static void DrawMetatile(s32 metatileLayerType, const u16 *metatiles, u16 offset) +{ + switch (metatileLayerType) + { + case 2: // LAYER_TYPE_ + // Draw metatile's bottom layer to the bottom background layer. + gBGTilemapBuffers3[offset] = metatiles[0]; + gBGTilemapBuffers3[offset + 1] = metatiles[1]; + gBGTilemapBuffers3[offset + 0x20] = metatiles[2]; + gBGTilemapBuffers3[offset + 0x21] = metatiles[3]; + + // Draw transparent tiles to the middle background layer. + gBGTilemapBuffers1[offset] = 0; + gBGTilemapBuffers1[offset + 1] = 0; + gBGTilemapBuffers1[offset + 0x20] = 0; + gBGTilemapBuffers1[offset + 0x21] = 0; + + // Draw metatile's top layer to the top background layer. + gBGTilemapBuffers2[offset] = metatiles[4]; + gBGTilemapBuffers2[offset + 1] = metatiles[5]; + gBGTilemapBuffers2[offset + 0x20] = metatiles[6]; + gBGTilemapBuffers2[offset + 0x21] = metatiles[7]; + break; + case 1: // LAYER_TYPE_COVERED_BY_OBJECTS + // Draw metatile's bottom layer to the bottom background layer. + gBGTilemapBuffers3[offset] = metatiles[0]; + gBGTilemapBuffers3[offset + 1] = metatiles[1]; + gBGTilemapBuffers3[offset + 0x20] = metatiles[2]; + gBGTilemapBuffers3[offset + 0x21] = metatiles[3]; + + // Draw metatile's top layer to the middle background layer. + gBGTilemapBuffers1[offset] = metatiles[4]; + gBGTilemapBuffers1[offset + 1] = metatiles[5]; + gBGTilemapBuffers1[offset + 0x20] = metatiles[6]; + gBGTilemapBuffers1[offset + 0x21] = metatiles[7]; + + // Draw transparent tiles to the top background layer. + gBGTilemapBuffers2[offset] = 0; + gBGTilemapBuffers2[offset + 1] = 0; + gBGTilemapBuffers2[offset + 0x20] = 0; + gBGTilemapBuffers2[offset + 0x21] = 0; + break; + case 0: // LAYER_TYPE_NORMAL + // Draw garbage to the bottom background layer. + gBGTilemapBuffers3[offset] = 0x3014; + gBGTilemapBuffers3[offset + 1] = 0x3014; + gBGTilemapBuffers3[offset + 0x20] = 0x3014; + gBGTilemapBuffers3[offset + 0x21] = 0x3014; + + // Draw metatile's bottom layer to the middle background layer. + gBGTilemapBuffers1[offset] = metatiles[0]; + gBGTilemapBuffers1[offset + 1] = metatiles[1]; + gBGTilemapBuffers1[offset + 0x20] = metatiles[2]; + gBGTilemapBuffers1[offset + 0x21] = metatiles[3]; + + // Draw metatile's top layer to the top background layer, which covers object event sprites. + gBGTilemapBuffers2[offset] = metatiles[4]; + gBGTilemapBuffers2[offset + 1] = metatiles[5]; + gBGTilemapBuffers2[offset + 0x20] = metatiles[6]; + gBGTilemapBuffers2[offset + 0x21] = metatiles[7]; + break; + } + ScheduleBgCopyTilemapToVram(1); + ScheduleBgCopyTilemapToVram(2); + ScheduleBgCopyTilemapToVram(3); +} + +static s32 MapPosToBgTilemapOffset(struct FieldCameraOffset *cameraOffset, s32 x, s32 y) +{ + x -= gSaveBlock1Ptr->pos.x; + x *= 2; + if (x >= 32 || x < 0) + return -1; + x = x + cameraOffset->xTileOffset; + if (x >= 32) + x -= 32; + + y = (y - gSaveBlock1Ptr->pos.y) * 2; + if (y >= 32 || y < 0) + return -1; + y = y + cameraOffset->yTileOffset; + if (y >= 32) + y -= 32; + + return y * 32 + x; +} + +static void CameraUpdateCallback(struct CameraObject *fieldCamera) +{ + if (fieldCamera->spriteId != 0) + { + fieldCamera->movementSpeedX = gSprites[fieldCamera->spriteId].data[2]; + fieldCamera->movementSpeedY = gSprites[fieldCamera->spriteId].data[3]; + } +} + +void ResetCameraUpdateInfo(void) +{ + gFieldCamera.movementSpeedX = 0; + gFieldCamera.movementSpeedY = 0; + gFieldCamera.x = 0; + gFieldCamera.y = 0; + gFieldCamera.spriteId = 0; + gFieldCamera.callback = NULL; +} + +u32 InitCameraUpdateCallback(u8 trackedSpriteId) +{ + if (gFieldCamera.spriteId != 0) + DestroySprite(&gSprites[gFieldCamera.spriteId]); + gFieldCamera.spriteId = AddCameraObject(trackedSpriteId); + gFieldCamera.callback = CameraUpdateCallback; + return 0; +} + +void CameraUpdate(void) +{ + int deltaX; + int deltaY; + int curMovementOffsetY; + int curMovementOffsetX; + int movementSpeedX; + int movementSpeedY; + + if (gFieldCamera.callback != NULL) + gFieldCamera.callback(&gFieldCamera); + movementSpeedX = gFieldCamera.movementSpeedX; + movementSpeedY = gFieldCamera.movementSpeedY; + deltaX = 0; + deltaY = 0; + curMovementOffsetX = gFieldCamera.x; + curMovementOffsetY = gFieldCamera.y; + + + if (curMovementOffsetX == 0 && movementSpeedX != 0) + { + if (movementSpeedX > 0) + deltaX = 1; + else + deltaX = -1; + } + if (curMovementOffsetY == 0 && movementSpeedY != 0) + { + if (movementSpeedY > 0) + deltaY = 1; + else + deltaY = -1; + } + if (curMovementOffsetX != 0 && curMovementOffsetX == -movementSpeedX) + { + if (movementSpeedX > 0) + deltaX = 1; + else + deltaX = -1; + } + if (curMovementOffsetY != 0 && curMovementOffsetY == -movementSpeedY) + { + if (movementSpeedY > 0) + deltaX = 1; + else + deltaX = -1; + } + + gFieldCamera.x += movementSpeedX; + gFieldCamera.x = gFieldCamera.x - 16 * (gFieldCamera.x / 16); + gFieldCamera.y += movementSpeedY; + gFieldCamera.y = gFieldCamera.y - 16 * (gFieldCamera.y / 16); + + if (deltaX != 0 || deltaY != 0) + { + CameraMove(deltaX, deltaY); + UpdateObjectEventsForCameraUpdate(deltaX, deltaY); + // RotatingGatePuzzleCameraUpdate(deltaX, deltaY); + // ResetBerryTreeSparkleFlags(); + tilemap_move_something(&sFieldCameraOffset, deltaX * 2, deltaY * 2); + RedrawMapSlicesForCameraUpdate(&sFieldCameraOffset, deltaX * 2, deltaY * 2); + } + + coords8_add(&sFieldCameraOffset, movementSpeedX, movementSpeedY); + gTotalCameraPixelOffsetX -= movementSpeedX; + gTotalCameraPixelOffsetY -= movementSpeedY; +} + +void MoveCameraAndRedrawMap(int deltaX, int deltaY) // unused +{ + CameraMove(deltaX, deltaY); + UpdateObjectEventsForCameraUpdate(deltaX, deltaY); + DrawWholeMapView(); + gTotalCameraPixelOffsetX -= deltaX * 16; + gTotalCameraPixelOffsetY -= deltaY * 16; +} + +void sub_805ACF0(void) +{ + int deltaX; + int deltaY; + int curMovementOffsetY; + int curMovementOffsetX; + int movementSpeedX; + int movementSpeedY; + + if (gFieldCamera.callback != NULL) + gFieldCamera.callback(&gFieldCamera); + movementSpeedX = gFieldCamera.movementSpeedX; + movementSpeedY = gFieldCamera.movementSpeedY; + deltaX = 0; + deltaY = 0; + curMovementOffsetX = gFieldCamera.x; + curMovementOffsetY = gFieldCamera.y; + + + if (curMovementOffsetX == 0 && movementSpeedX != 0) + { + if (movementSpeedX > 0) + deltaX = 1; + else + deltaX = -1; + } + if (curMovementOffsetY == 0 && movementSpeedY != 0) + { + if (movementSpeedY > 0) + deltaY = 1; + else + deltaY = -1; + } + if (curMovementOffsetX != 0 && curMovementOffsetX == -movementSpeedX) + { + if (movementSpeedX > 0) + deltaX = 1; + else + deltaX = -1; + } + if (curMovementOffsetY != 0 && curMovementOffsetY == -movementSpeedY) + { + if (movementSpeedY > 0) + deltaX = 1; + else + deltaX = -1; + } + + gFieldCamera.x += movementSpeedX; + gFieldCamera.x = gFieldCamera.x - 16 * (gFieldCamera.x / 16); + gFieldCamera.y += movementSpeedY; + gFieldCamera.y = gFieldCamera.y - 16 * (gFieldCamera.y / 16); + + if (deltaX != 0 || deltaY != 0) + { + CameraMove(deltaX, deltaY); + // UpdateObjectEventsForCameraUpdate(deltaX, deltaY); + // RotatingGatePuzzleCameraUpdate(deltaX, deltaY); + // ResetBerryTreeSparkleFlags(); + tilemap_move_something(&sFieldCameraOffset, deltaX * 2, deltaY * 2); + RedrawMapSlicesForCameraUpdate(&sFieldCameraOffset, deltaX * 2, deltaY * 2); + } + + coords8_add(&sFieldCameraOffset, movementSpeedX, movementSpeedY); + // gTotalCameraPixelOffsetX -= movementSpeedX; + // gTotalCameraPixelOffsetY -= movementSpeedY; +} + +void SetCameraPanningCallback(void (*a)(void)) +{ + sFieldCameraPanningCallback = a; +} + +void SetCameraPanning(s16 a, s16 b) +{ + sHorizontalCameraPan = a; + sVerticalCameraPan = b + 32; +} + +void InstallCameraPanAheadCallback(void) +{ + sFieldCameraPanningCallback = CameraPanningCB_PanAhead; + gUnknown_3000E9C = 0; + sHorizontalCameraPan = 0; + sVerticalCameraPan = 32; +} + +void UpdateCameraPanning(void) +{ + if (sFieldCameraPanningCallback != NULL) + sFieldCameraPanningCallback(); + // Update sprite offset of overworld objects + gSpriteCoordOffsetX = gTotalCameraPixelOffsetX - sHorizontalCameraPan; + gSpriteCoordOffsetY = gTotalCameraPixelOffsetY - sVerticalCameraPan - 8; +} + +static void CameraPanningCB_PanAhead(void) +{ + u8 var; + + if (gUnusedBikeCameraAheadPanback == FALSE) + { + InstallCameraPanAheadCallback(); + } + else + { + // this code is never reached. + if (gPlayerAvatar.tileTransitionState == 1) + { + gUnknown_3000E9C ^= 1; + if (gUnknown_3000E9C == 0) + return; + } + else + { + gUnknown_3000E9C = 0; + } + + var = GetPlayerMovementDirection(); + if (var == 2) + { + if (sVerticalCameraPan > -8) + sVerticalCameraPan -= 2; + } + else if (var == 1) + { + if (sVerticalCameraPan < 72) + sVerticalCameraPan += 2; + } + else if (sVerticalCameraPan < 32) + { + sVerticalCameraPan += 2; + } + else if (sVerticalCameraPan > 32) + { + sVerticalCameraPan -= 2; + } + } +} diff --git a/src/field_door.c b/src/field_door.c index cbf7a79ea..e17ef0d5a 100644 --- a/src/field_door.c +++ b/src/field_door.c @@ -4,6 +4,10 @@ #include "fieldmap.h" #include "metatile_behavior.h" #include "constants/songs.h" +#include "constants/metatile_labels.h" + +#define DOOR_SOUND_NORMAL 0 +#define DOOR_SOUND_SLIDING 1 struct DoorAnimFrame { @@ -14,7 +18,7 @@ struct DoorAnimFrame struct DoorGraphics { u16 metatileId; - s8 sliding; + u8 sound; u8 size; const u8 * tiles; const u8 * palettes; @@ -26,204 +30,148 @@ static void SetDoorFramePalettes(const struct DoorGraphics * gfx, int x, int y, static void BufferDoorFrameTilesWithPalettes(u16 *a0, u16 a1, const u8 *a2); static bool32 PlayDoorAnimationFrame(const struct DoorGraphics * gfx, const struct DoorAnimFrame * frames, s16 *data); static const struct DoorAnimFrame * SeekToEndOfDoorAnim(const struct DoorAnimFrame * frames); -static s8 GetDoorOpenType(const struct DoorGraphics * gfx, int x, int y); +static s8 GetDoorSoundType(const struct DoorGraphics * gfx, int x, int y); -static const u8 gUnknown_8353088[] = INCBIN_U8("graphics/door_anims/frame_8353088_1.4bpp", "graphics/door_anims/frame_8353088_2.4bpp", "graphics/door_anims/frame_8353088_3.4bpp"); -static const u8 gUnknown_8353208[32] = {}; -static const u8 gUnknown_8353228[] = INCBIN_U8("graphics/door_anims/frame_8353228_1.4bpp", "graphics/door_anims/frame_8353228_2.4bpp", "graphics/door_anims/frame_8353228_3.4bpp"); -static const u8 gUnknown_83533A8[32] = {}; -static const u8 gUnknown_83533C8[] = INCBIN_U8("graphics/door_anims/frame_83533C8_1.4bpp", "graphics/door_anims/frame_83533C8_2.4bpp", "graphics/door_anims/frame_83533C8_3.4bpp"); -static const u8 gUnknown_8353548[32] = {}; -static const u8 gUnknown_8353568[] = INCBIN_U8("graphics/door_anims/frame_8353568_1.4bpp", "graphics/door_anims/frame_8353568_2.4bpp", "graphics/door_anims/frame_8353568_3.4bpp"); -static const u8 gUnknown_83536E8[32] = {}; -static const u8 gUnknown_8353708[] = INCBIN_U8("graphics/door_anims/frame_8353708_1.4bpp", "graphics/door_anims/frame_8353708_2.4bpp", "graphics/door_anims/frame_8353708_3.4bpp"); -static const u8 gUnknown_8353888[32] = {}; -static const u8 gUnknown_83538A8[] = INCBIN_U8("graphics/door_anims/frame_83538A8_1.4bpp", "graphics/door_anims/frame_83538A8_2.4bpp", "graphics/door_anims/frame_83538A8_3.4bpp"); -static const u8 gUnknown_8353A28[32] = {}; -static const u8 gUnknown_8353A48[] = INCBIN_U8("graphics/door_anims/frame_8353A48_1.4bpp", "graphics/door_anims/frame_8353A48_2.4bpp", "graphics/door_anims/frame_8353A48_3.4bpp"); -static const u8 gUnknown_8353BC8[32] = {}; -static const u8 gUnknown_8353BE8[] = INCBIN_U8("graphics/door_anims/frame_8353BE8_1.4bpp", "graphics/door_anims/frame_8353BE8_2.4bpp", "graphics/door_anims/frame_8353BE8_3.4bpp"); -static const u8 gUnknown_8353D68[32] = {}; -static const u8 gUnknown_8353D88[] = INCBIN_U8("graphics/door_anims/frame_8353D88_1.4bpp", "graphics/door_anims/frame_8353D88_2.4bpp", "graphics/door_anims/frame_8353D88_3.4bpp"); -static const u8 gUnknown_8353F08[32] = {}; -static const u8 gUnknown_8353F28[] = INCBIN_U8("graphics/door_anims/frame_8353F28_1.4bpp", "graphics/door_anims/frame_8353F28_2.4bpp", "graphics/door_anims/frame_8353F28_3.4bpp"); -static const u8 gUnknown_83540A8[32] = {}; -static const u8 gUnknown_83540C8[] = INCBIN_U8("graphics/door_anims/frame_83540C8_1.4bpp", "graphics/door_anims/frame_83540C8_2.4bpp", "graphics/door_anims/frame_83540C8_3.4bpp"); -static const u8 gUnknown_8354248[32] = {}; -static const u8 gUnknown_8354268[] = INCBIN_U8("graphics/door_anims/frame_8354268_1.4bpp", "graphics/door_anims/frame_8354268_2.4bpp", "graphics/door_anims/frame_8354268_3.4bpp"); -static const u8 gUnknown_83543E8[32] = {}; -static const u8 gUnknown_8354408[] = INCBIN_U8("graphics/door_anims/frame_8354408_1.4bpp", "graphics/door_anims/frame_8354408_2.4bpp", "graphics/door_anims/frame_8354408_3.4bpp"); -static const u8 gUnknown_8354588[32] = {}; -static const u8 gUnknown_83545A8[] = INCBIN_U8("graphics/door_anims/frame_83545A8_1.4bpp", "graphics/door_anims/frame_83545A8_2.4bpp", "graphics/door_anims/frame_83545A8_3.4bpp"); -static const u8 gUnknown_8354728[32] = {}; -static const u8 gUnknown_8354748[] = INCBIN_U8("graphics/door_anims/frame_8354748_1.4bpp", "graphics/door_anims/frame_8354748_2.4bpp", "graphics/door_anims/frame_8354748_3.4bpp"); -static const u8 gUnknown_83548C8[32] = {}; -static const u8 gUnknown_83548E8[] = INCBIN_U8("graphics/door_anims/frame_83548E8_1.4bpp", "graphics/door_anims/frame_83548E8_2.4bpp", "graphics/door_anims/frame_83548E8_3.4bpp"); -static const u8 gUnknown_8354A68[32] = {}; -static const u8 gUnknown_8354A88[] = INCBIN_U8("graphics/door_anims/frame_8354A88_1.4bpp", "graphics/door_anims/frame_8354A88_2.4bpp", "graphics/door_anims/frame_8354A88_3.4bpp"); -static const u8 gUnknown_8354C08[32] = {}; -static const u8 gUnknown_8354C28[] = INCBIN_U8("graphics/door_anims/frame_8354C28_1.4bpp", "graphics/door_anims/frame_8354C28_2.4bpp", "graphics/door_anims/frame_8354C28_3.4bpp"); -static const u8 gUnknown_8354F28[32] = {}; -static const u8 gUnknown_8354F48[] = INCBIN_U8("graphics/door_anims/frame_8354F48_1.4bpp", "graphics/door_anims/frame_8354F48_2.4bpp", "graphics/door_anims/frame_8354F48_3.4bpp"); -static const u8 gUnknown_8355248[32] = {}; -static const u8 gUnknown_8355268[] = INCBIN_U8("graphics/door_anims/frame_8355268_1.4bpp", "graphics/door_anims/frame_8355268_2.4bpp", "graphics/door_anims/frame_8355268_3.4bpp"); -static const u8 gUnknown_8355568[32] = {}; -static const u8 gUnknown_8355588[] = INCBIN_U8("graphics/door_anims/frame_8355588_1.4bpp", "graphics/door_anims/frame_8355588_2.4bpp", "graphics/door_anims/frame_8355588_3.4bpp"); -static const u8 gUnknown_8355888[32] = {}; -static const u8 gUnknown_83558A8[256] = {}; -static const u8 gUnknown_83559A8[256] = {}; -static const u8 gUnknown_8355AA8[256] = {}; -static const u8 gUnknown_8355BA8[32] = {}; -static const u8 gUnknown_8355BC8[256] = {}; -static const u8 gUnknown_8355CC8[256] = {}; -static const u8 gUnknown_8355DC8[256] = {}; -static const u8 gUnknown_8355EC8[32] = {}; -static const u8 gUnknown_8355EE8[256] = {}; -static const u8 gUnknown_8355FE8[256] = {}; -static const u8 gUnknown_83560E8[256] = {}; -static const u8 gUnknown_83561E8[32] = {}; -static const u8 gUnknown_8356208[256] = {}; -static const u8 gUnknown_8356308[256] = {}; -static const u8 gUnknown_8356408[256] = {}; -static const u8 gUnknown_8356508[32] = {}; -static const u8 gUnknown_8356528[256] = {}; -static const u8 gUnknown_8356628[256] = {}; -static const u8 gUnknown_8356728[256] = {}; -static const u8 gUnknown_8356828[32] = {}; -static const u8 gUnknown_8356848[256] = {}; -static const u8 gUnknown_8356948[256] = {}; -static const u8 gUnknown_8356A48[256] = {}; -static const u8 gUnknown_8356B48[32] = {}; -static const u8 gUnknown_8356B68[256] = {}; -static const u8 gUnknown_8356C68[256] = {}; -static const u8 gUnknown_8356D68[256] = {}; -static const u8 gUnknown_8356E68[32] = {}; -static const u8 gUnknown_8356E88[128] = {}; -static const u8 gUnknown_8356F08[128] = {}; -static const u8 gUnknown_8356F88[128] = {}; -static const u8 gUnknown_8357008[32] = {}; -static const u8 gUnknown_8357028[128] = {}; -static const u8 gUnknown_83570A8[128] = {}; -static const u8 gUnknown_8357128[128] = {}; -static const u8 gUnknown_83571A8[32] = {}; -static const u8 gUnknown_83571C8[128] = {}; -static const u8 gUnknown_8357248[128] = {}; -static const u8 gUnknown_83572C8[128] = {}; -static const u8 gUnknown_8357348[32] = {}; -static const u8 gUnknown_8357368[128] = {}; -static const u8 gUnknown_83573E8[128] = {}; -static const u8 gUnknown_8357468[128] = {}; -static const u8 gUnknown_83574E8[32] = {}; -static const u8 gUnknown_8357508[128] = {}; -static const u8 gUnknown_8357588[128] = {}; -static const u8 gUnknown_8357608[128] = {}; -static const u8 gUnknown_8357688[32] = {}; -static const u8 gUnknown_83576A8[128] = {}; -static const u8 gUnknown_8357728[128] = {}; -static const u8 gUnknown_83577A8[128] = {}; -static const u8 gUnknown_8357828[32] = {}; -static const u8 gUnknown_8357848[128] = {}; -static const u8 gUnknown_83578C8[128] = {}; -static const u8 gUnknown_8357948[128] = {}; -static const u8 gUnknown_83579C8[32] = {}; -static const u8 gUnknown_83579E8[128] = {}; -static const u8 gUnknown_8357A68[128] = {}; -static const u8 gUnknown_8357AE8[128] = {}; -static const u8 gUnknown_8357B68[32] = {}; -static const u8 gUnknown_8357B88[128] = {}; -static const u8 gUnknown_8357C08[128] = {}; -static const u8 gUnknown_8357C88[128] = {}; -static const u8 gUnknown_8357D08[32] = {}; -static const u8 gUnknown_8357D28[128] = {}; -static const u8 gUnknown_8357DA8[128] = {}; -static const u8 gUnknown_8357E28[128] = {}; -static const u8 gUnknown_8357EA8[32] = {}; -static const u8 gUnknown_8357EC8[128] = {}; -static const u8 gUnknown_8357F48[128] = {}; -static const u8 gUnknown_8357FC8[128] = {}; -static const u8 gUnknown_8358048[32] = {}; -static const u8 gUnknown_8358068[128] = {}; -static const u8 gUnknown_83580E8[128] = {}; -static const u8 gUnknown_8358168[128] = {}; -static const u8 gUnknown_83581E8[32] = {}; -static const u8 gUnknown_8358208[128] = {}; -static const u8 gUnknown_8358288[128] = {}; -static const u8 gUnknown_8358308[128] = {}; -static const u8 gUnknown_8358388[32] = {}; -static const u8 gUnknown_83583A8[128] = {}; -static const u8 gUnknown_8358428[128] = {}; -static const u8 gUnknown_83584A8[128] = {}; -static const u8 gUnknown_8358528[32] = {}; -static const u8 gUnknown_8358548[128] = {}; -static const u8 gUnknown_83585C8[128] = {}; -static const u8 gUnknown_8358648[128] = {}; -static const u8 gUnknown_83586C8[32] = {}; -static const u8 gUnknown_83586E8[128] = {}; -static const u8 gUnknown_8358768[128] = {}; -static const u8 gUnknown_83587E8[128] = {}; -static const u8 gUnknown_8358868[32] = {}; -static const u8 gUnknown_8358888[128] = {}; -static const u8 gUnknown_8358908[128] = {}; -static const u8 gUnknown_8358988[128] = {}; -static const u8 gUnknown_8358A08[32] = {}; -static const u8 gUnknown_8358A28[128] = {}; -static const u8 gUnknown_8358AA8[128] = {}; -static const u8 gUnknown_8358B28[128] = {}; -static const u8 gUnknown_8358BA8[32] = {}; -static const u8 gUnknown_8358BC8[128] = {}; -static const u8 gUnknown_8358C48[128] = {}; -static const u8 gUnknown_8358CC8[128] = {}; -static const u8 gUnknown_8358D48[32] = {}; -static const u8 gUnknown_8358D68[128] = {}; -static const u8 gUnknown_8358DE8[128] = {}; -static const u8 gUnknown_8358E68[128] = {}; -static const u8 gUnknown_8358EE8[32] = {}; -static const u8 gUnknown_8358F08[128] = {}; -static const u8 gUnknown_8358F88[128] = {}; -static const u8 gUnknown_8359008[128] = {}; -static const u8 gUnknown_8359088[32] = {}; -static const u8 gUnknown_83590A8[128] = {}; -static const u8 gUnknown_8359128[128] = {}; -static const u8 gUnknown_83591A8[128] = {}; -static const u8 gUnknown_8359228[32] = {}; -static const u8 gUnknown_8359248[128] = {}; -static const u8 gUnknown_83592C8[128] = {}; -static const u8 gUnknown_8359348[128] = {}; -static const u8 gUnknown_83593C8[32] = {}; -static const u8 gUnknown_83593E8[128] = {}; -static const u8 gUnknown_8359468[128] = {}; -static const u8 gUnknown_83594E8[128] = {}; -static const u8 gUnknown_8359568[32] = {}; -static const u8 gUnknown_8359588[] = INCBIN_U8("graphics/door_anims/frame_8359588_1.4bpp", "graphics/door_anims/frame_8359588_2.4bpp"); -static const u8 gUnknown_8359688[256] = {}; -static const u8 gUnknown_8359788[] = INCBIN_U8("graphics/door_anims/frame_8359788_1.4bpp", "graphics/door_anims/frame_8359788_2.4bpp", "graphics/door_anims/frame_8359788_3.4bpp", "graphics/door_anims/frame_8359788_4.4bpp"); -static const u8 gUnknown_8359888[256] = {}; -static const u8 gUnknown_8359988[] = INCBIN_U8("graphics/door_anims/frame_8359988_1.4bpp", "graphics/door_anims/frame_8359988_2.4bpp", "graphics/door_anims/frame_8359988_3.4bpp", "graphics/door_anims/frame_8359988_4.4bpp"); -static const u8 gUnknown_8359A88[256] = {}; -static const u8 gUnknown_8359B88[] = INCBIN_U8("graphics/door_anims/frame_8359B88_1.4bpp", "graphics/door_anims/frame_8359B88_2.4bpp", "graphics/door_anims/frame_8359B88_3.4bpp", "graphics/door_anims/frame_8359B88_4.4bpp"); -static const u8 gUnknown_8359C88[32] = {}; -static const u8 gUnknown_8359CA8[] = INCBIN_U8("graphics/door_anims/frame_8359CA8_1.4bpp", "graphics/door_anims/frame_8359CA8_2.4bpp", "graphics/door_anims/frame_8359CA8_3.4bpp"); -static const u8 gUnknown_8359FA8[32] = {}; -static const u8 gUnknown_8359FC8[] = INCBIN_U8("graphics/door_anims/frame_8359FC8_1.4bpp", "graphics/door_anims/frame_8359FC8_2.4bpp", "graphics/door_anims/frame_8359FC8_3.4bpp"); -static const u8 gUnknown_835A148[32] = {}; -static const u8 gUnknown_835A168[] = INCBIN_U8("graphics/door_anims/frame_835A168_1.4bpp", "graphics/door_anims/frame_835A168_2.4bpp", "graphics/door_anims/frame_835A168_3.4bpp"); -static const u8 gUnknown_835A2E8[32] = {}; -static const u8 gUnknown_835A308[] = INCBIN_U8("graphics/door_anims/frame_835A308_1.4bpp", "graphics/door_anims/frame_835A308_2.4bpp", "graphics/door_anims/frame_835A308_3.4bpp"); -static const u8 gUnknown_835A488[32] = {}; -static const u8 gUnknown_835A4A8[] = INCBIN_U8("graphics/door_anims/frame_835A4A8_1.4bpp", "graphics/door_anims/frame_835A4A8_2.4bpp", "graphics/door_anims/frame_835A4A8_3.4bpp"); -static const u8 gUnknown_835A628[32] = {}; -static const u8 gUnknown_835A648[] = INCBIN_U8("graphics/door_anims/frame_835A648_1.4bpp", "graphics/door_anims/frame_835A648_2.4bpp", "graphics/door_anims/frame_835A648_3.4bpp"); -static const u8 gUnknown_835A7C8[32] = {}; -static const u8 gUnknown_835A7E8[] = INCBIN_U8("graphics/door_anims/frame_835A7E8_1.4bpp", "graphics/door_anims/frame_835A7E8_2.4bpp", "graphics/door_anims/frame_835A7E8_3.4bpp"); -static const u8 gUnknown_835A968[32] = {}; -static const u8 gUnknown_835A988[] = INCBIN_U8("graphics/door_anims/frame_835A988_1.4bpp", "graphics/door_anims/frame_835A988_2.4bpp", "graphics/door_anims/frame_835A988_3.4bpp"); -static const u8 gUnknown_835AB08[32] = {}; -static const u8 gUnknown_835AB28[] = INCBIN_U8("graphics/door_anims/frame_835AB28_1.4bpp", "graphics/door_anims/frame_835AB28_2.4bpp", "graphics/door_anims/frame_835AB28_3.4bpp"); -static const u8 gUnknown_835AE28[32] = {}; -static const u8 gUnknown_835AE48[] = INCBIN_U8("graphics/door_anims/frame_835AE48_1.4bpp", "graphics/door_anims/frame_835AE48_2.4bpp", "graphics/door_anims/frame_835AE48_3.4bpp"); -static const u8 gUnknown_835B148[32] = {}; -static const u8 gUnknown_835B168[] = INCBIN_U8("graphics/door_anims/frame_835B168_1.4bpp", "graphics/door_anims/frame_835B168_2.4bpp", "graphics/door_anims/frame_835B168_3.4bpp"); -static const u8 gUnknown_835B468[32] = {}; +static const u8 sDoorAnimTiles_General[] = INCBIN_U8("graphics/door_anims/general.4bpp"); +static const u16 sDoorNullPalette1[16] = {}; +static const u8 sDoorAnimTiles_SlidingSingle[] = INCBIN_U8("graphics/door_anims/sliding_single.4bpp"); +static const u16 sDoorNullPalette2[16] = {}; +static const u8 sDoorAnimTiles_SlidingDouble[] = INCBIN_U8("graphics/door_anims/sliding_double.4bpp"); +static const u16 sDoorNullPalette3[16] = {}; +static const u8 sDoorAnimTiles_Pallet[] = INCBIN_U8("graphics/door_anims/pallet.4bpp"); +static const u16 sDoorNullPalette4[16] = {}; +static const u8 sDoorAnimTiles_OaksLab[] = INCBIN_U8("graphics/door_anims/oaks_lab.4bpp"); +static const u16 sDoorNullPalette5[16] = {}; +static const u8 sDoorAnimTiles_Viridian[] = INCBIN_U8("graphics/door_anims/viridian.4bpp"); +static const u16 sDoorNullPalette6[16] = {}; +static const u8 sDoorAnimTiles_Pewter[] = INCBIN_U8("graphics/door_anims/pewter.4bpp"); +static const u16 sDoorNullPalette7[16] = {}; +static const u8 sDoorAnimTiles_Saffron[] = INCBIN_U8("graphics/door_anims/saffron.4bpp"); +static const u16 sDoorNullPalette8[16] = {}; +static const u8 sDoorAnimTiles_SilphCo[] = INCBIN_U8("graphics/door_anims/silph_co.4bpp"); +static const u16 sDoorNullPalette9[16] = {}; +static const u8 sDoorAnimTiles_Cerulean[] = INCBIN_U8("graphics/door_anims/cerulean.4bpp"); +static const u16 sDoorNullPalette10[16] = {}; +static const u8 sDoorAnimTiles_Lavender[] = INCBIN_U8("graphics/door_anims/lavender.4bpp"); +static const u16 sDoorNullPalette11[16] = {}; +static const u8 sDoorAnimTiles_Vermilion[] = INCBIN_U8("graphics/door_anims/vermilion.4bpp"); +static const u16 sDoorNullPalette12[16] = {}; +static const u8 sDoorAnimTiles_PokemonFanClub[] = INCBIN_U8("graphics/door_anims/pokemon_fan_club.4bpp"); +static const u16 sDoorNullPalette13[16] = {}; +static const u8 sDoorAnimTiles_DeptStore[] = INCBIN_U8("graphics/door_anims/dept_store.4bpp"); +static const u16 sDoorNullPalette14[16] = {}; +static const u8 sDoorAnimTiles_Fuchsia[] = INCBIN_U8("graphics/door_anims/fuchsia.4bpp"); +static const u16 sDoorNullPalette15[16] = {}; +static const u8 sDoorAnimTiles_SafariZone[] = INCBIN_U8("graphics/door_anims/safari_zone.4bpp"); +static const u16 sDoorNullPalette16[16] = {}; +static const u8 sDoorAnimTiles_CinnabarLab[] = INCBIN_U8("graphics/door_anims/cinnabar_lab.4bpp"); +static const u16 sDoorNullPalette17[16] = {}; +static const u8 sDoorAnimTiles_DeptStoreElevator[] = INCBIN_U8("graphics/door_anims/dept_store_elevator.4bpp"); +static const u16 sDoorNullPalette18[16] = {}; +static const u8 sDoorAnimTiles_CableClub[] = INCBIN_U8("graphics/door_anims/cable_club.4bpp"); +static const u16 sDoorNullPalette19[16] = {}; +static const u8 sDoorAnimTiles_HideoutElevator[] = INCBIN_U8("graphics/door_anims/hideout_elevator.4bpp"); +static const u16 sDoorNullPalette20[16] = {}; +static const u8 sDoorAnimTiles_SSAnne[] = INCBIN_U8("graphics/door_anims/ss_anne.4bpp"); +static const u16 sDoorNullPalette21[16] = {}; + +// Doors from R/S dummied below +static const u8 sDoorAnimTiles_Empty1[256 * 3] = {}; +static const u16 sDoorNullPalette22[16] = {}; +static const u8 sDoorAnimTiles_Empty2[256 * 3] = {}; +static const u16 sDoorNullPalette23[16] = {}; +static const u8 sDoorAnimTiles_Empty3[256 * 3] = {}; +static const u16 sDoorNullPalette24[16] = {}; +static const u8 sDoorAnimTiles_Empty4[256 * 3] = {}; +static const u16 sDoorNullPalette25[16] = {}; +static const u8 sDoorAnimTiles_Empty5[256 * 3] = {}; +static const u16 sDoorNullPalette26[16] = {}; +static const u8 sDoorAnimTiles_Empty6[256 * 3] = {}; +static const u16 sDoorNullPalette27[16] = {}; +static const u8 sDoorAnimTiles_Empty7[256 * 3] = {}; +static const u16 sDoorNullPalette28[16] = {}; +static const u8 sDoorAnimTiles_Empty8[128 * 3] = {}; +static const u16 sDoorNullPalette29[16] = {}; +static const u8 sDoorAnimTiles_Empty9[128 * 3] = {}; +static const u16 sDoorNullPalette30[16] = {}; +static const u8 sDoorAnimTiles_Empty10[128 * 3] = {}; +static const u16 sDoorNullPalette31[16] = {}; +static const u8 sDoorAnimTiles_Empty11[128 * 3] = {}; +static const u16 sDoorNullPalette32[16] = {}; +static const u8 sDoorAnimTiles_Empty12[128 * 3] = {}; +static const u16 sDoorNullPalette33[16] = {}; +static const u8 sDoorAnimTiles_Empty13[128 * 3] = {}; +static const u16 sDoorNullPalette34[16] = {}; +static const u8 sDoorAnimTiles_Empty14[128 * 3] = {}; +static const u16 sDoorNullPalette35[16] = {}; +static const u8 sDoorAnimTiles_Empty15[128 * 3] = {}; +static const u16 sDoorNullPalette36[16] = {}; +static const u8 sDoorAnimTiles_Empty16[128 * 3] = {}; +static const u16 sDoorNullPalette37[16] = {}; +static const u8 sDoorAnimTiles_Empty17[128 * 3] = {}; +static const u16 sDoorNullPalette38[16] = {}; +static const u8 sDoorAnimTiles_Empty18[128 * 3] = {}; +static const u16 sDoorNullPalette39[16] = {}; +static const u8 sDoorAnimTiles_Empty19[128 * 3] = {}; +static const u16 sDoorNullPalette40[16] = {}; +static const u8 sDoorAnimTiles_Empty20[128 * 3] = {}; +static const u16 sDoorNullPalette41[16] = {}; +static const u8 sDoorAnimTiles_Empty21[128 * 3] = {}; +static const u16 sDoorNullPalette42[16] = {}; +static const u8 sDoorAnimTiles_Empty22[128 * 3] = {}; +static const u16 sDoorNullPalette43[16] = {}; +static const u8 sDoorAnimTiles_Empty23[128 * 3] = {}; +static const u16 sDoorNullPalette44[16] = {}; +static const u8 sDoorAnimTiles_Empty24[128 * 3] = {}; +static const u16 sDoorNullPalette45[16] = {}; +static const u8 sDoorAnimTiles_Empty25[128 * 3] = {}; +static const u16 sDoorNullPalette46[16] = {}; +static const u8 sDoorAnimTiles_Empty26[128 * 3] = {}; +static const u16 sDoorNullPalette47[16] = {}; +static const u8 sDoorAnimTiles_Empty27[128 * 3] = {}; +static const u16 sDoorNullPalette48[16] = {}; +static const u8 sDoorAnimTiles_Empty28[128 * 3] = {}; +static const u16 sDoorNullPalette49[16] = {}; +static const u8 sDoorAnimTiles_Empty29[128 * 3] = {}; +static const u16 sDoorNullPalette50[16] = {}; +static const u8 sDoorAnimTiles_Empty30[128 * 3] = {}; +static const u16 sDoorNullPalette51[16] = {}; +static const u8 sDoorAnimTiles_Empty31[128 * 3] = {}; +static const u16 sDoorNullPalette52[16] = {}; + +// Unused block of door tiles +static const u8 sDoorAnimTiles_UnusedTop[] = INCBIN_U8("graphics/door_anims/unused_top.4bpp"); +static const u8 sDoorAnimTiles_Empty32[256] = {}; +static const u8 sDoorAnimTiles_UnusedMidTop[] = INCBIN_U8("graphics/door_anims/unused_midtop.4bpp"); +static const u8 sDoorAnimTiles_Empty33[256] = {}; +static const u8 sDoorAnimTiles_UnusedMidBottom[] = INCBIN_U8("graphics/door_anims/unused_midbottom.4bpp"); +static const u8 sDoorAnimTiles_Empty34[256] = {}; +static const u8 sDoorAnimTiles_UnusedBottom[] = INCBIN_U8("graphics/door_anims/unused_bottom.4bpp"); +static const u16 sDoorNullPalette53[16] = {}; + +// Used FRLG doors resume +static const u8 sDoorAnimTiles_SilphCoElevator[] = INCBIN_U8("graphics/door_anims/silph_co_elevator.4bpp"); +static const u16 sDoorNullPalette54[16] = {}; +static const u8 sDoorAnimTiles_Sevii123[] = INCBIN_U8("graphics/door_anims/sevii_123.4bpp"); +static const u16 sDoorNullPalette55[16] = {}; +static const u8 sDoorAnimTiles_JoyfulGameCorner[] = INCBIN_U8("graphics/door_anims/joyful_game_corner.4bpp"); +static const u16 sDoorNullPalette56[16] = {}; +static const u8 sDoorAnimTiles_OneIslandPokeCenter[] = INCBIN_U8("graphics/door_anims/one_island_poke_center.4bpp"); +static const u16 sDoorNullPalette57[16] = {}; +static const u8 sDoorAnimTiles_Sevii45[] = INCBIN_U8("graphics/door_anims/sevii_45.4bpp"); +static const u16 sDoorNullPalette58[16] = {}; +static const u8 sDoorAnimTiles_FourIslandDayCare[] = INCBIN_U8("graphics/door_anims/four_island_day_care.4bpp"); +static const u16 sDoorNullPalette59[16] = {}; +static const u8 sDoorAnimTiles_RocketWarehouse[] = INCBIN_U8("graphics/door_anims/rocket_warehouse.4bpp"); +static const u16 sDoorNullPalette60[16] = {}; +static const u8 sDoorAnimTiles_Sevii67[] = INCBIN_U8("graphics/door_anims/sevii_67.4bpp"); +static const u16 sDoorNullPalette61[16] = {}; +static const u8 sDoorAnimTiles_Teleporter[] = INCBIN_U8("graphics/door_anims/teleporter.4bpp"); +static const u16 sDoorNullPalette62[16] = {}; +static const u8 sDoorAnimTiles_TrainerTowerLobbyElevator[] = INCBIN_U8("graphics/door_anims/trainer_tower_lobby_elevator.4bpp"); +static const u16 sDoorNullPalette63[16] = {}; +static const u8 sDoorAnimTiles_TrainerTowerRoofElevator[] = INCBIN_U8("graphics/door_anims/trainer_tower_roof_elevator.4bpp"); +static const u16 sDoorNullPalette64[16] = {}; static const struct DoorAnimFrame sDoorAnimFrames_OpenSmall[] = { {4, 0xFFFF}, @@ -257,72 +205,72 @@ static const struct DoorAnimFrame sDoorAnimFrames_CloseLarge[] = { {} }; -static const u8 gUnknown_835B4D8[] = {0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2}; -static const u8 gUnknown_835B4E0[] = {0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3}; -static const u8 gUnknown_835B4E8[] = {0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3}; -static const u8 gUnknown_835B4F0[] = {0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}; -static const u8 gUnknown_835B4F8[] = {0xa, 0xa, 0xa, 0xa, 0xa, 0xa, 0xa, 0xa}; -static const u8 gUnknown_835B500[] = {0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}; -static const u8 gUnknown_835B508[] = {0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}; -static const u8 gUnknown_835B510[] = {0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}; -static const u8 gUnknown_835B518[] = {0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3}; -static const u8 gUnknown_835B520[] = {0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc}; -static const u8 gUnknown_835B528[] = {0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9}; -static const u8 gUnknown_835B530[] = {0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9}; -static const u8 gUnknown_835B538[] = {0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9}; -static const u8 gUnknown_835B540[] = {0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3}; -static const u8 gUnknown_835B548[] = {0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}; -static const u8 gUnknown_835B550[] = {0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9}; -static const u8 gUnknown_835B558[] = {0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3}; -static const u8 gUnknown_835B560[] = {0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}; -static const u8 gUnknown_835B568[] = {0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}; -static const u8 gUnknown_835B570[] = {0xc, 0xc, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2}; -static const u8 gUnknown_835B578[] = {0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7}; -static const u8 gUnknown_835B580[] = {0x8, 0x8, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2}; -static const u8 gUnknown_835B588[] = {0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5}; -static const u8 gUnknown_835B590[] = {0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3}; -static const u8 gUnknown_835B598[] = {0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3}; -static const u8 gUnknown_835B5A0[] = {0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5}; -static const u8 gUnknown_835B5A8[] = {0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3}; -static const u8 gUnknown_835B5B0[] = {0xa, 0xa, 0xa, 0xa, 0xa, 0xa, 0xa, 0xa}; -static const u8 gUnknown_835B5B8[] = {0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5}; -static const u8 gUnknown_835B5C0[] = {0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}; -static const u8 gUnknown_835B5C8[] = {0x8, 0x8, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2}; -static const u8 gUnknown_835B5D0[] = {0xb, 0xb, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2}; +static const u8 sDoorAnimPalettes_General[] = {2, 2, 2, 2, 2, 2, 2, 2}; +static const u8 sDoorAnimPalettes_SlidingSingle[] = {3, 3, 3, 3, 3, 3, 3, 3}; +static const u8 sDoorAnimPalettes_SlidingDouble[] = {3, 3, 3, 3, 3, 3, 3, 3}; +static const u8 sDoorAnimPalettes_Pallet[] = {8, 8, 8, 8, 8, 8, 8, 8}; +static const u8 sDoorAnimPalettes_OaksLab[] = {10, 10, 10, 10, 10, 10, 10, 10}; +static const u8 sDoorAnimPalettes_Viridian[] = {8, 8, 8, 8, 8, 8, 8, 8}; +static const u8 sDoorAnimPalettes_Pewter[] = {8, 8, 8, 8, 8, 8, 8, 8}; +static const u8 sDoorAnimPalettes_Saffron[] = {8, 8, 8, 8, 8, 8, 8, 8}; +static const u8 sDoorAnimPalettes_SilphCo[] = {3, 3, 3, 3, 3, 3, 3, 3}; +static const u8 sDoorAnimPalettes_Cerulean[] = {12, 12, 12, 12, 12, 12, 12, 12}; +static const u8 sDoorAnimPalettes_Lavender[] = {9, 9, 9, 9, 9, 9, 9, 9}; +static const u8 sDoorAnimPalettes_Vermilion[] = {9, 9, 9, 9, 9, 9, 9, 9}; +static const u8 sDoorAnimPalettes_PokemonFanClub[] = {9, 9, 9, 9, 9, 9, 9, 9}; +static const u8 sDoorAnimPalettes_DeptStore[] = {3, 3, 3, 3, 3, 3, 3, 3}; +static const u8 sDoorAnimPalettes_Fuchsia[] = {8, 8, 8, 8, 8, 8, 8, 8}; +static const u8 sDoorAnimPalettes_SafariZone[] = {9, 9, 9, 9, 9, 9, 9, 9}; +static const u8 sDoorAnimPalettes_CinnabarLab[] = {3, 3, 3, 3, 3, 3, 3, 3}; +static const u8 sDoorAnimPalettes_DeptStoreElevator[] = {8, 8, 8, 8, 8, 8, 8, 8}; +static const u8 sDoorAnimPalettes_CableClub[] = {8, 8, 8, 8, 8, 8, 8, 8}; +static const u8 sDoorAnimPalettes_HideoutElevator[] = {12, 12, 2, 2, 2, 2, 2, 2}; +static const u8 sDoorAnimPalettes_SSAnne[] = {7, 7, 7, 7, 7, 7, 7, 7}; +static const u8 sDoorAnimPalettes_SilphCoElevator[] = {8, 8, 2, 2, 2, 2, 2, 2}; +static const u8 sDoorAnimPalettes_Sevii123[] = {5, 5, 5, 5, 5, 5, 5, 5}; +static const u8 sDoorAnimPalettes_JoyfulGameCorner[] = {3, 3, 3, 3, 3, 3, 3, 3}; +static const u8 sDoorAnimPalettes_OneIslandPokeCenter[] = {3, 3, 3, 3, 3, 3, 3, 3}; +static const u8 sDoorAnimPalettes_Sevii45[] = {5, 5, 5, 5, 5, 5, 5, 5}; +static const u8 sDoorAnimPalettes_FourIslandDayCare[] = {3, 3, 3, 3, 3, 3, 3, 3}; +static const u8 sDoorAnimPalettes_RocketWarehouse[] = {10, 10, 10, 10, 10, 10, 10, 10}; +static const u8 sDoorAnimPalettes_Sevii67[] = {5, 5, 5, 5, 5, 5, 5, 5}; +static const u8 sDoorAnimPalettes_Teleporter[] = {8, 8, 8, 8, 8, 8, 8, 8}; +static const u8 sDoorAnimPalettes_TrainerTowerLobbyElevator[] = {8, 8, 2, 2, 2, 2, 2, 2}; +static const u8 sDoorAnimPalettes_TrainerTowerRoofElevator[] = {11, 11, 2, 2, 2, 2, 2, 2}; static const struct DoorGraphics sDoorGraphics[] = { - {0x03d, 0, 0, gUnknown_8353088, gUnknown_835B4D8}, - {0x062, 1, 0, gUnknown_8353228, gUnknown_835B4E0}, - {0x15b, 1, 0, gUnknown_83533C8, gUnknown_835B4E8}, - {0x2a3, 0, 0, gUnknown_8353568, gUnknown_835B4F0}, - {0x2ac, 0, 0, gUnknown_8353708, gUnknown_835B4F8}, - {0x299, 0, 0, gUnknown_83538A8, gUnknown_835B500}, - {0x2ce, 0, 0, gUnknown_8353A48, gUnknown_835B508}, - {0x284, 0, 0, gUnknown_8353BE8, gUnknown_835B510}, - {0x2bc, 1, 0, gUnknown_8353D88, gUnknown_835B518}, - {0x298, 0, 0, gUnknown_8353F28, gUnknown_835B520}, - {0x2a2, 0, 0, gUnknown_83540C8, gUnknown_835B528}, - {0x29e, 0, 0, gUnknown_8354268, gUnknown_835B530}, - {0x2e1, 0, 0, gUnknown_8354408, gUnknown_835B538}, - {0x294, 1, 0, gUnknown_83545A8, gUnknown_835B540}, - {0x2bf, 0, 0, gUnknown_8354748, gUnknown_835B548}, - {0x2d2, 1, 0, gUnknown_83548E8, gUnknown_835B550}, - {0x2ad, 0, 0, gUnknown_8354A88, gUnknown_835B558}, - {0x297, 0, 0, gUnknown_8359FC8, gUnknown_835B588}, - {0x29b, 1, 0, gUnknown_835A168, gUnknown_835B590}, - {0x2eb, 0, 0, gUnknown_835A308, gUnknown_835B598}, - {0x29a, 0, 0, gUnknown_835A4A8, gUnknown_835B5A0}, - {0x2b9, 0, 0, gUnknown_835A648, gUnknown_835B5A8}, - {0x2af, 0, 0, gUnknown_835A7E8, gUnknown_835B5B0}, - {0x30c, 0, 0, gUnknown_835A988, gUnknown_835B5B8}, - {0x28d, 1, 1, gUnknown_8354C28, gUnknown_835B560}, - {0x2de, 1, 1, gUnknown_8354F48, gUnknown_835B568}, - {0x2ab, 1, 1, gUnknown_8355268, gUnknown_835B570}, - {0x281, 0, 1, gUnknown_8355588, gUnknown_835B578}, - {0x2e2, 1, 1, gUnknown_8359CA8, gUnknown_835B580}, - {0x296, 1, 1, gUnknown_835AB28, gUnknown_835B5C0}, - {0x2c3, 1, 1, gUnknown_835AE48, gUnknown_835B5C8}, - {0x356, 1, 1, gUnknown_835B168, gUnknown_835B5D0}, + {METATILE_General_Door, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_General, sDoorAnimPalettes_General}, + {METATILE_General_SlidingSingleDoor, DOOR_SOUND_SLIDING, 0, sDoorAnimTiles_SlidingSingle, sDoorAnimPalettes_SlidingSingle}, + {METATILE_General_SlidingDoubleDoor, DOOR_SOUND_SLIDING, 0, sDoorAnimTiles_SlidingDouble, sDoorAnimPalettes_SlidingDouble}, + {METATILE_PalletTown_Door, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_Pallet, sDoorAnimPalettes_Pallet}, + {METATILE_PalletTown_OaksLabDoor, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_OaksLab, sDoorAnimPalettes_OaksLab}, + {METATILE_ViridianCity_Door, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_Viridian, sDoorAnimPalettes_Viridian}, + {METATILE_PewterCity_Door, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_Pewter, sDoorAnimPalettes_Pewter}, + {METATILE_SaffronCity_Door, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_Saffron, sDoorAnimPalettes_Saffron}, + {METATILE_SaffronCity_SilphCoDoor, DOOR_SOUND_SLIDING, 0, sDoorAnimTiles_SilphCo, sDoorAnimPalettes_SilphCo}, + {METATILE_CeruleanCity_Door, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_Cerulean, sDoorAnimPalettes_Cerulean}, + {METATILE_LavenderTown_Door, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_Lavender, sDoorAnimPalettes_Lavender}, + {METATILE_VermilionCity_Door, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_Vermilion, sDoorAnimPalettes_Vermilion}, + {METATILE_VermilionCity_PokemonFanClubDoor, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_PokemonFanClub, sDoorAnimPalettes_PokemonFanClub}, + {METATILE_CeladonCity_DeptStoreDoor, DOOR_SOUND_SLIDING, 0, sDoorAnimTiles_DeptStore, sDoorAnimPalettes_DeptStore}, + {METATILE_FuchsiaCity_Door, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_Fuchsia, sDoorAnimPalettes_Fuchsia}, + {METATILE_FuchsiaCity_SafariZoneDoor, DOOR_SOUND_SLIDING, 0, sDoorAnimTiles_SafariZone, sDoorAnimPalettes_SafariZone}, + {METATILE_CinnabarIsland_LabDoor, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_CinnabarLab, sDoorAnimPalettes_CinnabarLab}, + {METATILE_SeviiIslands123_Door, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_Sevii123, sDoorAnimPalettes_Sevii123}, + {METATILE_SeviiIslands123_GameCornerDoor, DOOR_SOUND_SLIDING, 0, sDoorAnimTiles_JoyfulGameCorner, sDoorAnimPalettes_JoyfulGameCorner}, + {METATILE_SeviiIslands123_PokeCenterDoor, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_OneIslandPokeCenter, sDoorAnimPalettes_OneIslandPokeCenter}, + {METATILE_SeviiIslands45_Door, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_Sevii45, sDoorAnimPalettes_Sevii45}, + {METATILE_SeviiIslands45_DayCareDoor, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_FourIslandDayCare, sDoorAnimPalettes_FourIslandDayCare}, + {METATILE_SeviiIslands45_RocketWarehouseDoor_Unlocked, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_RocketWarehouse, sDoorAnimPalettes_RocketWarehouse}, + {METATILE_SeviiIslands67_Door, DOOR_SOUND_NORMAL, 0, sDoorAnimTiles_Sevii67, sDoorAnimPalettes_Sevii67}, + {METATILE_DepartmentStore_ElevatorDoor, DOOR_SOUND_SLIDING, 1, sDoorAnimTiles_DeptStoreElevator, sDoorAnimPalettes_DeptStoreElevator}, + {METATILE_PokemonCenter_CableClubDoor, DOOR_SOUND_SLIDING, 1, sDoorAnimTiles_CableClub, sDoorAnimPalettes_CableClub}, + {METATILE_SilphCo_HideoutElevatorDoor, DOOR_SOUND_SLIDING, 1, sDoorAnimTiles_HideoutElevator, sDoorAnimPalettes_HideoutElevator}, + {METATILE_SSAnne_Door, DOOR_SOUND_NORMAL, 1, sDoorAnimTiles_SSAnne, sDoorAnimPalettes_SSAnne}, + {METATILE_SilphCo_ElevatorDoor, DOOR_SOUND_SLIDING, 1, sDoorAnimTiles_SilphCoElevator, sDoorAnimPalettes_SilphCoElevator}, + {METATILE_SeaCottage_Teleporter_Door, DOOR_SOUND_SLIDING, 1, sDoorAnimTiles_Teleporter, sDoorAnimPalettes_Teleporter}, + {METATILE_TrainerTower_LobbyElevatorDoor, DOOR_SOUND_SLIDING, 1, sDoorAnimTiles_TrainerTowerLobbyElevator, sDoorAnimPalettes_TrainerTowerLobbyElevator}, + {METATILE_TrainerTower_RoofElevatorDoor, DOOR_SOUND_SLIDING, 1, sDoorAnimTiles_TrainerTowerRoofElevator, sDoorAnimPalettes_TrainerTowerRoofElevator}, {} }; @@ -418,7 +366,7 @@ static bool32 PlayDoorAnimationFrame(const struct DoorGraphics * gfx, const stru return TRUE; } -static const struct DoorGraphics * door_find(const struct DoorGraphics * gfx, u16 id) +static const struct DoorGraphics * GetDoorGraphics(const struct DoorGraphics * gfx, u16 id) { while (gfx->tiles != NULL) { @@ -429,16 +377,18 @@ static const struct DoorGraphics * door_find(const struct DoorGraphics * gfx, u1 return NULL; } -static s8 task_overworld_door_add_if_inactive(const struct DoorGraphics * gfx, const struct DoorAnimFrame * frames, int a2, int a3) +static s8 StartDoorAnimationTask(const struct DoorGraphics * gfx, const struct DoorAnimFrame * frames, int x, int y) { u8 taskId; s16 *data; if (FuncIsActiveTask(Task_AnimateDoor) == TRUE) return -1; + taskId = CreateTask(Task_AnimateDoor, 80); data = gTasks[taskId].data; - data[6] = a2; - data[7] = a3; + + data[6] = x; + data[7] = y; data[1] = (uintptr_t)frames; data[0] = (uintptr_t)frames >> 16; data[3] = (uintptr_t)gfx; @@ -446,14 +396,14 @@ static s8 task_overworld_door_add_if_inactive(const struct DoorGraphics * gfx, c return taskId; } -static void DrawClosedDoor(const struct DoorGraphics * gfx, int a1, int a2) +static void DrawClosedDoor(const struct DoorGraphics * gfx, int x, int y) { - DrawDoorDefaultImage(gfx, a1, a2); + DrawDoorDefaultImage(gfx, x, y); } static void DrawOpenedDoor(const struct DoorGraphics * gfx, int x, int y) { - gfx = door_find(gfx, MapGridGetMetatileIdAt(x, y)); + gfx = GetDoorGraphics(gfx, MapGridGetMetatileIdAt(x, y)); if (gfx != NULL) { UpdateDrawDoorFrame(gfx, SeekToEndOfDoorAnim(gfx->size == 0 ? sDoorAnimFrames_OpenSmall : sDoorAnimFrames_OpenLarge), x, y); @@ -469,24 +419,24 @@ static const struct DoorAnimFrame * SeekToEndOfDoorAnim(const struct DoorAnimFra static s8 AnimateDoorOpenInternal(const struct DoorGraphics * gfx, int x, int y) { - gfx = door_find(gfx, MapGridGetMetatileIdAt(x, y)); + gfx = GetDoorGraphics(gfx, MapGridGetMetatileIdAt(x, y)); if (gfx == NULL) return -1; else if (gfx->size == 0) - return task_overworld_door_add_if_inactive(gfx, sDoorAnimFrames_OpenSmall, x, y); + return StartDoorAnimationTask(gfx, sDoorAnimFrames_OpenSmall, x, y); else - return task_overworld_door_add_if_inactive(gfx, sDoorAnimFrames_OpenLarge, x, y); + return StartDoorAnimationTask(gfx, sDoorAnimFrames_OpenLarge, x, y); } static s8 AnimateDoorCloseInternal(const struct DoorGraphics * gfx, int x, int y) { - gfx = door_find(gfx, MapGridGetMetatileIdAt(x, y)); + gfx = GetDoorGraphics(gfx, MapGridGetMetatileIdAt(x, y)); if (gfx == NULL) return -1; else if (gfx->size == 0) - return task_overworld_door_add_if_inactive(gfx, sDoorAnimFrames_CloseSmall, x, y); + return StartDoorAnimationTask(gfx, sDoorAnimFrames_CloseSmall, x, y); else - return task_overworld_door_add_if_inactive(gfx, sDoorAnimFrames_CloseLarge, x, y); + return StartDoorAnimationTask(gfx, sDoorAnimFrames_CloseLarge, x, y); } void FieldSetDoorOpened(int x, int y) @@ -522,16 +472,16 @@ bool8 FieldIsDoorAnimationRunning(void) u16 GetDoorSoundEffect(x, y) { - if (!GetDoorOpenType(sDoorGraphics, x, y)) + if (GetDoorSoundType(sDoorGraphics, x, y) == DOOR_SOUND_NORMAL) return MUS_W_DOOR; - else + else // DOOR_SOUND_SLIDING return SE_JIDO_DOA; } -static s8 GetDoorOpenType(const struct DoorGraphics * gfx, int x, int y) +static s8 GetDoorSoundType(const struct DoorGraphics * gfx, int x, int y) { - gfx = door_find(gfx, MapGridGetMetatileIdAt(x, y)); + gfx = GetDoorGraphics(gfx, MapGridGetMetatileIdAt(x, y)); if (gfx == NULL) return -1; - return gfx->sliding; + return gfx->sound; } diff --git a/src/field_effect.c b/src/field_effect.c new file mode 100644 index 000000000..082aee32d --- /dev/null +++ b/src/field_effect.c @@ -0,0 +1,3909 @@ +#include "global.h" +#include "gflib.h" +#include "data.h" +#include "decompress.h" +#include "event_data.h" +#include "event_object_movement.h" +#include "field_camera.h" +#include "field_control_avatar.h" +#include "field_effect.h" +#include "field_effect_helpers.h" +#include "field_effect_scripts.h" +#include "field_fadetransition.h" +#include "field_player_avatar.h" +#include "field_weather.h" +#include "fieldmap.h" +#include "help_system.h" +#include "metatile_behavior.h" +#include "new_menu_helpers.h" +#include "overworld.h" +#include "party_menu.h" +#include "quest_log.h" +#include "script.h" +#include "special_field_anim.h" +#include "task.h" +#include "trainer_pokemon_sprites.h" +#include "trig.h" +#include "util.h" +#include "constants/event_object_movement.h" +#include "constants/metatile_behaviors.h" +#include "constants/songs.h" + +#define subsprite_table(ptr) {.subsprites = ptr, .subspriteCount = (sizeof ptr) / (sizeof(struct Subsprite))} +#define FIELD_EFFECT_COUNT 32 + +EWRAM_DATA u32 gFieldEffectArguments[8] = {0}; + +static u8 sFieldEffectActiveList[FIELD_EFFECT_COUNT]; + +static void FieldEffectActiveListAdd(u8 fldeff); +static bool8 FieldEffectCmd_loadtiles(const u8 **script, u32 *result); +static bool8 FieldEffectCmd_loadfadedpal(const u8 **script, u32 *result); +static bool8 FieldEffectCmd_loadpal(const u8 **script, u32 *result); +static bool8 FieldEffectCmd_callnative(const u8 **script, u32 *result); +static bool8 FieldEffectCmd_end(const u8 **script, u32 *result); +static bool8 FieldEffectCmd_loadgfx_callnative(const u8 **script, u32 *result); +static bool8 FieldEffectCmd_loadtiles_callnative(const u8 **script, u32 *result); +static bool8 FieldEffectCmd_loadfadedpal_callnative(const u8 **script, u32 *result); +static void FieldEffectScript_LoadTiles(const u8 **script); +static void FieldEffectScript_LoadFadedPal(const u8 **script); +static void FieldEffectScript_LoadPal(const u8 **script); +static void FieldEffectScript_CallNative(const u8 **script, u32 *result); +static void FieldEffectFreeTilesIfUnused(u16 tilesTag); +static void FieldEffectFreePaletteIfUnused(u8 paletteNum); +static void Task_PokecenterHeal(u8 taskId); +static void SpriteCB_PokeballGlow(struct Sprite * sprite); +static void SpriteCB_PokecenterMonitor(struct Sprite * sprite); +static void SpriteCB_HallOfFameMonitor(struct Sprite * sprite); + +static const u16 sNewGameOakObjectSpriteTiles[] = INCBIN_U16("graphics/field_effects/unk_83CA770.4bpp"); +static const u16 sNewGameOakObjectPals[] = INCBIN_U16("graphics/field_effects/unk_83CAF70.gbapal"); +static const u16 sUnknown_83CAF90[] = INCBIN_U16("graphics/field_effects/unk_83CAF90.4bpp"); +static const u16 sUnknown_83CAFB0[] = INCBIN_U16("graphics/field_effects/unk_83CAFB0.gbapal"); +static const u16 sUnknown_83CAFD0[] = INCBIN_U16("graphics/field_effects/unk_83CAFD0.4bpp"); +static const u16 sUnknown_83CB3D0[] = INCBIN_U16("graphics/field_effects/unk_83CB3D0.gbapal"); +static const u16 sUnknown_83CB3F0[] = INCBIN_U16("graphics/field_effects/unk_83CB3F0.4bpp"); +static const u16 sFieldMoveStreaksTiles[] = INCBIN_U16("graphics/field_effects/unk_83CB5F0.4bpp"); +static const u16 sFieldMoveStreaksPalette[] = INCBIN_U16("graphics/field_effects/unk_83CB7F0.gbapal"); +static const u16 sFieldMoveStreaksTilemap[] = INCBIN_U16("graphics/field_effects/unk_83CB810.bin"); +static const u16 sDarknessFieldMoveStreaksTiles[] = INCBIN_U16("graphics/field_effects/unk_83CBA90.4bpp"); +static const u16 sDarknessFieldMoveStreaksPalette[] = INCBIN_U16("graphics/field_effects/unk_83CBB10.gbapal"); +static const u16 sDarknessFieldMoveStreaksTilemap[] = INCBIN_U16("graphics/field_effects/unk_83CBB30.bin"); +static const u16 sFldEffUnk44_Tiles[] = INCBIN_U16("graphics/field_effects/unk_83CBDB0.4bpp"); + +static bool8 (*const sFldEffScrcmdTable[])(const u8 **script, u32 *result) = { + FieldEffectCmd_loadtiles, + FieldEffectCmd_loadfadedpal, + FieldEffectCmd_loadpal, + FieldEffectCmd_callnative, + FieldEffectCmd_end, + FieldEffectCmd_loadgfx_callnative, + FieldEffectCmd_loadtiles_callnative, + FieldEffectCmd_loadfadedpal_callnative +}; + +static const struct OamData sNewGameOakOamAttributes = { + .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 = 0x000, + .priority = 0, + .paletteNum = 0x0, + .affineParam = 0 +}; + +static const struct OamData sOamData_8x8 = { + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = FALSE, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x8), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(8x8), + .tileNum = 0x000, + .priority = 0, + .paletteNum = 0x0, + .affineParam = 0 +}; + +static const struct OamData sOamData_16x16 = { + .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 = 0x000, + .priority = 0, + .paletteNum = 0x0, + .affineParam = 0 +}; + +static const struct SpriteFrameImage sNewGameOakObjectSpriteFrames[] = { + {sNewGameOakObjectSpriteTiles, 0x800} +}; + +static const struct SpritePalette sNewGameOakObjectPaletteInfo = { + sNewGameOakObjectPals, 4102 +}; + +static const union AnimCmd sNewGameOakAnim[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sNewGameOakAnimTable[] = { + sNewGameOakAnim +}; + +static const struct SpriteTemplate sNewGameOakObjectTemplate = { + .tileTag = SPRITE_INVALID_TAG, + .paletteTag = 4102, + .oam = &sNewGameOakOamAttributes, + .anims = sNewGameOakAnimTable, + .images = sNewGameOakObjectSpriteFrames, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +const struct SpritePalette gUnknown_83CBE9C = { + sUnknown_83CAFB0, 4103 +}; + +const struct SpritePalette gUnknown_83CBEA4 = { + sUnknown_83CB3D0, 4112 +}; + +static const struct OamData sOamData_83CBEAC = { + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = FALSE, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x16), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(32x16), + .tileNum = 0x000, + .priority = 0, + .paletteNum = 0x0, + .affineParam = 0 +}; + +static const struct SpriteFrameImage sUnknown_83CBEB4[] = { + {sUnknown_83CAF90, 0x20} +}; + +static const struct SpriteFrameImage sUnknown_83CBEBC[] = { + {sUnknown_83CAFD0 + 0x000, 0x100}, + {sUnknown_83CAFD0 + 0x080, 0x100}, + {sUnknown_83CAFD0 + 0x100, 0x100}, + {sUnknown_83CAFD0 + 0x180, 0x100} +}; + +static const struct SpriteFrameImage sUnknown_83CBEDC[] = { + {sUnknown_83CB3F0 + 0x00, 0x80}, + {sUnknown_83CB3F0 + 0x40, 0x80}, + {sUnknown_83CB3F0 + 0x80, 0x80}, + {sUnknown_83CB3F0 + 0xC0, 0x80} +}; + +static const struct Subsprite sUnknown_83CBEFC[] = +{ + { + .x = -12, + .y = -8, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 0, + .priority = 2 + }, { + .x = 4, + .y = -8, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 2, + .priority = 2 + }, { + .x = -12, + .y = 0, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 3, + .priority = 2 + }, { + .x = 4, + .y = 0, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 5, + .priority = 2 + } +}; + +static const struct SubspriteTable sUnknown_83CBF0C = subsprite_table(sUnknown_83CBEFC); + +static const struct Subsprite sUnknown_83CBF14[] = +{ + { + .x = -32, + .y = -8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 2 + }, { + .x = 0, + .y = -8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 4, + .priority = 2 + }, { + .x = -32, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 8, + .priority = 2 + }, { + .x = 0, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 12, + .priority = 2 + } +}; + +static const struct SubspriteTable sUnknown_83CBF24 = subsprite_table(sUnknown_83CBF14); + +static const union AnimCmd sUnknown_83CBF2C[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd sUnknown_83CBF34[] = { + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(2, 5), + ANIMCMD_FRAME(3, 7), + ANIMCMD_FRAME(2, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_LOOP(3), + ANIMCMD_END +}; + +static const union AnimCmd *const sUnknown_83CBF54[] = { + sUnknown_83CBF2C, + sUnknown_83CBF34 +}; + +static const union AnimCmd sUnknown_83CBF5C[] = { + ANIMCMD_FRAME(3, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_LOOP(2), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END +}; + +static const union AnimCmd *const sUnknown_83CBF84[] = { + sUnknown_83CBF5C +}; + +static const struct SpriteTemplate sUnknown_83CBF88 = { + .tileTag = SPRITE_INVALID_TAG, + .paletteTag = 4103, + .oam = &sOamData_8x8, + .anims = sUnknown_83CBF54, + .images = sUnknown_83CBEB4, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_PokeballGlow +}; + +static const struct SpriteTemplate sUnknown_83CBFA0 = { + .tileTag = SPRITE_INVALID_TAG, + .paletteTag = 4103, + .oam = &sOamData_83CBEAC, + .anims = sUnknown_83CBF54, + .images = sUnknown_83CBEBC, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_PokecenterMonitor +}; + +static const struct SpriteTemplate sUnknown_83CBFB8 = { + .tileTag = SPRITE_INVALID_TAG, + .paletteTag = 4112, + .oam = &sOamData_16x16, + .anims = sUnknown_83CBF84, + .images = sUnknown_83CBEDC, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_HallOfFameMonitor +}; + + +u32 FieldEffectStart(u8 fldeff) +{ + const u8 *script; + u32 result; + FieldEffectActiveListAdd(fldeff); + script = gFieldEffectScriptPointers[fldeff]; + while (sFldEffScrcmdTable[*script](&script, &result)) + ; + return result; +} + +static bool8 FieldEffectCmd_loadtiles(const u8 **script, u32 *result) +{ + (*script)++; + FieldEffectScript_LoadTiles(script); + return TRUE; +} + +static bool8 FieldEffectCmd_loadfadedpal(const u8 **script, u32 *result) +{ + (*script)++; + FieldEffectScript_LoadFadedPal(script); + return TRUE; +} + +static bool8 FieldEffectCmd_loadpal(const u8 **script, u32 *result) +{ + (*script)++; + FieldEffectScript_LoadPal(script); + return TRUE; +} +static bool8 FieldEffectCmd_callnative(const u8 **script, u32 *result) +{ + (*script)++; + FieldEffectScript_CallNative(script, result); + return TRUE; +} + +static bool8 FieldEffectCmd_end(const u8 **script, u32 *result) +{ + return FALSE; +} + +static bool8 FieldEffectCmd_loadgfx_callnative(const u8 **script, u32 *result) +{ + (*script)++; + FieldEffectScript_LoadTiles(script); + FieldEffectScript_LoadFadedPal(script); + FieldEffectScript_CallNative(script, result); + return TRUE; +} + +static bool8 FieldEffectCmd_loadtiles_callnative(const u8 **script, u32 *result) +{ + (*script)++; + FieldEffectScript_LoadTiles(script); + FieldEffectScript_CallNative(script, result); + return TRUE; +} + +static bool8 FieldEffectCmd_loadfadedpal_callnative(const u8 **script, u32 *result) +{ + (*script)++; + FieldEffectScript_LoadFadedPal(script); + FieldEffectScript_CallNative(script, result); + return TRUE; +} + +static u32 FieldEffectScript_ReadWord(const u8 **script) +{ + return T2_READ_32(*script); +} + +static void FieldEffectScript_LoadTiles(const u8 **script) +{ + const struct SpriteSheet * spriteSheet = (const struct SpriteSheet * )FieldEffectScript_ReadWord(script); + if (GetSpriteTileStartByTag(spriteSheet->tag) == 0xFFFF) + LoadSpriteSheet(spriteSheet); + *script += sizeof(u32); +} + +void sub_8083598(u8 paletteIdx) +{ + switch (gUnknown_2036E28) + { + case 0: + return; + case 1: + TintPalette_GrayScale(&gPlttBufferUnfaded[(paletteIdx + 16) * 16], 0x10); + break; + case 2: + TintPalette_SepiaTone(&gPlttBufferUnfaded[(paletteIdx + 16) * 16], 0x10); + break; + case 3: + sub_8111F38((paletteIdx + 16) * 16, 0x10); + TintPalette_GrayScale(&gPlttBufferUnfaded[(paletteIdx + 16) * 16], 0x10); + break; + default: + return; + } + CpuFastCopy(&gPlttBufferUnfaded[(paletteIdx + 16) * 16], &gPlttBufferFaded[(paletteIdx + 16) * 16], 0x20); +} + +static void FieldEffectScript_LoadFadedPal(const u8 **script) +{ + const struct SpritePalette * spritePalette = (const struct SpritePalette * )FieldEffectScript_ReadWord(script); + u8 idx = IndexOfSpritePaletteTag(spritePalette->tag); + LoadSpritePalette(spritePalette); + if (idx == 0xFF) + sub_8083598(IndexOfSpritePaletteTag(spritePalette->tag)); + UpdateSpritePaletteWithWeather(IndexOfSpritePaletteTag(spritePalette->tag)); + *script += sizeof(u32); +} + +static void FieldEffectScript_LoadPal(const u8 **script) +{ + const struct SpritePalette * spritePalette = (const struct SpritePalette * )FieldEffectScript_ReadWord(script); + u8 idx = IndexOfSpritePaletteTag(spritePalette->tag); + LoadSpritePalette(spritePalette); + if (idx != 0xFF) + sub_8083598(IndexOfSpritePaletteTag(spritePalette->tag)); + *script += sizeof(u32); +} + +static void FieldEffectScript_CallNative(const u8 **script, u32 *result) +{ + u32 (*func)(void) = (u32 (*)(void))FieldEffectScript_ReadWord(script); + *result = func(); + *script += sizeof(u32); +} + +static void FieldEffectFreeGraphicsResources(struct Sprite * sprite) +{ + u16 tileStart = sprite->sheetTileStart; + u8 paletteNum = sprite->oam.paletteNum; + DestroySprite(sprite); + FieldEffectFreeTilesIfUnused(tileStart); + FieldEffectFreePaletteIfUnused(paletteNum); +} + +void FieldEffectStop(struct Sprite * sprite, u8 fldeff) +{ + FieldEffectFreeGraphicsResources(sprite); + FieldEffectActiveListRemove(fldeff); +} + +static void FieldEffectFreeTilesIfUnused(u16 tileStart) +{ + u8 i; + u16 tileTag = GetSpriteTileTagByTileStart(tileStart); + if (tileTag == SPRITE_INVALID_TAG) + return; + for (i = 0; i < MAX_SPRITES; i++) + { + if (gSprites[i].inUse && gSprites[i].usingSheet && tileStart == gSprites[i].sheetTileStart) + return; + } + FreeSpriteTilesByTag(tileTag); +} + +static void FieldEffectFreePaletteIfUnused(u8 paletteNum) +{ + u8 i; + u16 paletteTag = GetSpritePaletteTagByPaletteNum(paletteNum); + if (paletteTag == SPRITE_INVALID_TAG) + return; + for (i = 0; i < MAX_SPRITES; i++) + { + if (gSprites[i].inUse && gSprites[i].oam.paletteNum == paletteNum) + return; + } + FreeSpritePaletteByTag(paletteTag); +} + +void FieldEffectActiveListClear(void) +{ + u8 i; + for (i = 0; i < FIELD_EFFECT_COUNT; i++) + { + sFieldEffectActiveList[i] = 0xFF; + } +} + +static void FieldEffectActiveListAdd(u8 fldeff) +{ + u8 i; + for (i = 0; i < FIELD_EFFECT_COUNT; i++) + { + if (sFieldEffectActiveList[i] == 0xFF) + { + sFieldEffectActiveList[i] = fldeff; + return; + } + } +} + +void FieldEffectActiveListRemove(u8 fldeff) +{ + u8 i; + for (i = 0; i < FIELD_EFFECT_COUNT; i++) + { + if (sFieldEffectActiveList[i] == fldeff) + { + sFieldEffectActiveList[i] = 0xFF; + return; + } + } +} + +bool8 FieldEffectActiveListContains(u8 fldeff) +{ + u8 i; + for (i = 0; i < FIELD_EFFECT_COUNT; i++) + { + if (sFieldEffectActiveList[i] == fldeff) + { + return TRUE; + } + } + return FALSE; +} + +u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer) +{ + struct SpriteTemplate spriteTemplate; + LoadCompressedSpritePaletteOverrideBuffer(&gTrainerFrontPicPaletteTable[trainerSpriteID], buffer); + LoadCompressedSpriteSheetOverrideBuffer(&gTrainerFrontPicTable[trainerSpriteID], buffer); + spriteTemplate.tileTag = gTrainerFrontPicTable[trainerSpriteID].tag; + spriteTemplate.paletteTag = gTrainerFrontPicPaletteTable[trainerSpriteID].tag; + spriteTemplate.oam = &sNewGameOakOamAttributes; + spriteTemplate.anims = gDummySpriteAnimTable; + spriteTemplate.images = NULL; + spriteTemplate.affineAnims = gDummySpriteAffineAnimTable; + spriteTemplate.callback = SpriteCallbackDummy; + return CreateSprite(&spriteTemplate, x, y, subpriority); +} + +static void LoadTrainerGfx_TrainerCard(u8 gender, u16 palOffset, u8 *dest) +{ + LZDecompressVram(gTrainerFrontPicTable[gender].data, dest); + LoadCompressedPalette(gTrainerFrontPicPaletteTable[gender].data, palOffset, 0x20); +} + +static u8 AddNewGameBirchObject(s16 x, s16 y, u8 subpriority) +{ + LoadSpritePalette(&sNewGameOakObjectPaletteInfo); + return CreateSprite(&sNewGameOakObjectTemplate, x, y, subpriority); +} + +u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y, u8 subpriority) +{ + u16 spriteId = CreateMonPicSprite_HandleDeoxys(species, 0, 0x8000, TRUE, x, y, 0, gMonPaletteTable[species].tag); + PreservePaletteInWeather(IndexOfSpritePaletteTag(gMonPaletteTable[species].tag) + 0x10); + if (spriteId == 0xFFFF) + return MAX_SPRITES; + else + return spriteId; +} + +static u8 CreateMonSprite_FieldMove(u16 species, u32 otId, u32 personality, s16 x, s16 y, u8 subpriority) +{ + const struct CompressedSpritePalette * spritePalette = GetMonSpritePalStructFromOtIdPersonality(species, otId, personality); + u16 spriteId = CreateMonPicSprite_HandleDeoxys(species, otId, personality, 1, x, y, 0, spritePalette->tag); + PreservePaletteInWeather(IndexOfSpritePaletteTag(spritePalette->tag) + 0x10); + if (spriteId == 0xFFFF) + return MAX_SPRITES; + else + return spriteId; +} + +void FreeResourcesAndDestroySprite(struct Sprite * sprite, u8 spriteId) +{ + ResetPreservedPalettesInWeather(); + if (sprite->oam.affineMode != ST_OAM_AFFINE_OFF) + { + FreeOamMatrix(sprite->oam.matrixNum); + } + FreeAndDestroyMonPicSprite(spriteId); +} + +// r, g, b are between 0 and 16 +void MultiplyInvertedPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b) +{ + int curRed; + int curGreen; + int curBlue; + u16 outPal; + + outPal = gPlttBufferUnfaded[i]; + curRed = outPal & 0x1f; + curGreen = (outPal & (0x1f << 5)) >> 5; + curBlue = (outPal & (0x1f << 10)) >> 10; + curRed += (((0x1f - curRed) * r) >> 4); + curGreen += (((0x1f - curGreen) * g) >> 4); + curBlue += (((0x1f - curBlue) * b) >> 4); + outPal = curRed; + outPal |= curGreen << 5; + outPal |= curBlue << 10; + gPlttBufferFaded[i] = outPal; +} + +// r, g, b are between 0 and 16 +static void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b) +{ + int curRed; + int curGreen; + int curBlue; + u16 outPal; + + outPal = gPlttBufferUnfaded[i]; + curRed = outPal & 0x1f; + curGreen = (outPal & (0x1f << 5)) >> 5; + curBlue = (outPal & (0x1f << 10)) >> 10; + curRed -= ((curRed * r) >> 4); + curGreen -= ((curGreen * g) >> 4); + curBlue -= ((curBlue * b) >> 4); + outPal = curRed; + outPal |= curGreen << 5; + outPal |= curBlue << 10; + gPlttBufferFaded[i] = outPal; +} + +static void PokecenterHealEffect_0(struct Task * task); +static void PokecenterHealEffect_1(struct Task * task); +static void PokecenterHealEffect_2(struct Task * task); +static void PokecenterHealEffect_3(struct Task * task); +static void HallOfFameRecordEffect_0(struct Task * task); +static void HallOfFameRecordEffect_1(struct Task * task); +static void HallOfFameRecordEffect_2(struct Task * task); +static void HallOfFameRecordEffect_3(struct Task * task); +static void Task_HallOfFameRecord(u8 taskId); +static u8 CreatePokeballGlowSprite(s16 duration, s16 x, s16 y, bool16 fanfare); +static void SpriteCB_PokeballGlowEffect(struct Sprite * sprite); +static void PokeballGlowEffect_0(struct Sprite * sprite); +static void PokeballGlowEffect_1(struct Sprite * sprite); +static void PokeballGlowEffect_2(struct Sprite * sprite); +static void PokeballGlowEffect_3(struct Sprite * sprite); +static void PokeballGlowEffect_4(struct Sprite * sprite); +static void PokeballGlowEffect_5(struct Sprite * sprite); +static void PokeballGlowEffect_6(struct Sprite * sprite); +static void PokeballGlowEffect_7(struct Sprite * sprite); +static u8 PokecenterHealEffectHelper(s32 x, s32 y); +static void HallOfFameRecordEffectHelper(s32 x, s32 y); + +static void (*const sPokecenterHealTaskCBTable[])(struct Task * ) = { + PokecenterHealEffect_0, + PokecenterHealEffect_1, + PokecenterHealEffect_2, + PokecenterHealEffect_3 +}; + +static void (*const sHallOfFameRecordTaskCBTable[])(struct Task * ) = { + HallOfFameRecordEffect_0, + HallOfFameRecordEffect_1, + HallOfFameRecordEffect_2, + HallOfFameRecordEffect_3 +}; + +static void (*const sPokeballGlowSpriteCBTable[])(struct Sprite * ) = { + PokeballGlowEffect_0, + PokeballGlowEffect_1, + PokeballGlowEffect_2, + PokeballGlowEffect_3, + PokeballGlowEffect_4, + PokeballGlowEffect_5, + PokeballGlowEffect_6, + PokeballGlowEffect_7 +}; + +bool8 FldEff_PokecenterHeal(void) +{ + u8 nPokemon; + struct Task * task; + + nPokemon = CalculatePlayerPartyCount(); + task = &gTasks[CreateTask(Task_PokecenterHeal, 0xff)]; + task->data[1] = nPokemon; + task->data[2] = 0x5d; + task->data[3] = 0x24; + task->data[4] = 0x80; + task->data[5] = 0x18; + return FALSE; +} + +static void Task_PokecenterHeal(u8 taskId) +{ + struct Task * task = &gTasks[taskId]; + sPokecenterHealTaskCBTable[task->data[0]](task); +} + +static void PokecenterHealEffect_0(struct Task * task) +{ + task->data[0]++; + task->data[6] = CreatePokeballGlowSprite(task->data[1], task->data[2], task->data[3], TRUE); + task->data[7] = PokecenterHealEffectHelper(task->data[4], task->data[5]); +} + +static void PokecenterHealEffect_1(struct Task * task) +{ + if (gSprites[task->data[6]].data[0] > 1) + { + gSprites[task->data[7]].data[0]++; + task->data[0]++; + } +} + +static void PokecenterHealEffect_2(struct Task * task) +{ + if (gSprites[task->data[6]].data[0] > 4) + { + task->data[0]++; + } +} + +static void PokecenterHealEffect_3(struct Task * task) +{ + if (gSprites[task->data[6]].data[0] > 6) + { + DestroySprite(&gSprites[task->data[6]]); + FieldEffectActiveListRemove(FLDEFF_POKECENTER_HEAL); + DestroyTask(FindTaskIdByFunc(Task_PokecenterHeal)); + } +} + +bool8 FldEff_HallOfFameRecord(void) +{ + u8 nPokemon; + struct Task * task; + + nPokemon = CalculatePlayerPartyCount(); + task = &gTasks[CreateTask(Task_HallOfFameRecord, 0xff)]; + task->data[1] = nPokemon; + task->data[2] = 0x75; + task->data[3] = 0x3C; + return FALSE; +} + +static void Task_HallOfFameRecord(u8 taskId) +{ + struct Task * task; + task = &gTasks[taskId]; + sHallOfFameRecordTaskCBTable[task->data[0]](task); +} + +static void HallOfFameRecordEffect_0(struct Task * task) +{ + u8 taskId; + task->data[0]++; + task->data[6] = CreatePokeballGlowSprite(task->data[1], task->data[2], task->data[3], FALSE); +} + +static void HallOfFameRecordEffect_1(struct Task * task) +{ + if (gSprites[task->data[6]].data[0] > 1) + { + HallOfFameRecordEffectHelper(0x78, 0x19); + task->data[15]++; // was this ever initialized? is this ever used? + task->data[0]++; + } +} + +static void HallOfFameRecordEffect_2(struct Task * task) +{ + if (gSprites[task->data[6]].data[0] > 4) + { + task->data[0]++; + } +} + +static void HallOfFameRecordEffect_3(struct Task * task) +{ + if (gSprites[task->data[6]].data[0] > 6) + { + DestroySprite(&gSprites[task->data[6]]); + FieldEffectActiveListRemove(FLDEFF_HALL_OF_FAME_RECORD); + DestroyTask(FindTaskIdByFunc(Task_HallOfFameRecord)); + } +} + +static u8 CreatePokeballGlowSprite(s16 duration, s16 x, s16 y, bool16 fanfare) +{ + u8 spriteId; + struct Sprite * sprite; + spriteId = CreateInvisibleSprite(SpriteCB_PokeballGlowEffect); + sprite = &gSprites[spriteId]; + sprite->pos2.x = x; + sprite->pos2.y = y; + sprite->subpriority = 0xFF; + sprite->data[5] = fanfare; + sprite->data[6] = duration; + sprite->data[7] = spriteId; + return spriteId; +} + +static void SpriteCB_PokeballGlowEffect(struct Sprite * sprite) +{ + sPokeballGlowSpriteCBTable[sprite->data[0]](sprite); +} + +static const struct Coords16 sUnknown_83CC010[] = { + {0, 0}, + {6, 0}, + {0, 4}, + {6, 4}, + {0, 8}, + {6, 8} +}; + +static const u8 sUnknown_83CC028[] = {16, 12, 8, 0}; +static const u8 sUnknown_83CC02C[] = {16, 12, 8, 0}; +static const u8 sUnknown_83CC030[] = { 0, 0, 0, 0}; + +static void PokeballGlowEffect_0(struct Sprite * sprite) +{ + u8 endSpriteId; + if (sprite->data[1] == 0 || (--sprite->data[1]) == 0) + { + sprite->data[1] = 25; + endSpriteId = CreateSpriteAtEnd(&sUnknown_83CBF88, sUnknown_83CC010[sprite->data[2]].x + sprite->pos2.x, sUnknown_83CC010[sprite->data[2]].y + sprite->pos2.y, 0xFF); + gSprites[endSpriteId].oam.priority = 2; + gSprites[endSpriteId].data[0] = sprite->data[7]; + sprite->data[2]++; + sprite->data[6]--; + PlaySE(SE_BOWA); + } + if (sprite->data[6] == 0) + { + sprite->data[1] = 32; + sprite->data[0]++; + } +} + +static void PokeballGlowEffect_1(struct Sprite * sprite) +{ + if ((--sprite->data[1]) == 0) + { + sprite->data[0]++; + sprite->data[1] = 8; + sprite->data[2] = 0; + sprite->data[3] = 0; + if (sprite->data[5]) + { + PlayFanfare(MUS_ME_ASA); + } + } +} + +static void PokeballGlowEffect_2(struct Sprite * sprite) +{ + u8 phase; + if ((--sprite->data[1]) == 0) + { + sprite->data[1] = 8; + sprite->data[2]++; + sprite->data[2] &= 3; + if (sprite->data[2] == 0) + { + sprite->data[3]++; + } + } + phase = (sprite->data[2] + 3) & 3; + MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x108, sUnknown_83CC028[phase], sUnknown_83CC02C[phase], sUnknown_83CC030[phase]); + phase = (sprite->data[2] + 2) & 3; + MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x106, sUnknown_83CC028[phase], sUnknown_83CC02C[phase], sUnknown_83CC030[phase]); + phase = (sprite->data[2] + 1) & 3; + MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x102, sUnknown_83CC028[phase], sUnknown_83CC02C[phase], sUnknown_83CC030[phase]); + phase = sprite->data[2]; + MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x105, sUnknown_83CC028[phase], sUnknown_83CC02C[phase], sUnknown_83CC030[phase]); + MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x103, sUnknown_83CC028[phase], sUnknown_83CC02C[phase], sUnknown_83CC030[phase]); + if (sprite->data[3] > 2) + { + sprite->data[0]++; + sprite->data[1] = 8; + sprite->data[2] = 0; + } +} + +static void PokeballGlowEffect_3(struct Sprite * sprite) +{ + u8 phase; + if ((--sprite->data[1]) == 0) + { + sprite->data[1] = 8; + sprite->data[2]++; + sprite->data[2] &= 3; + if (sprite->data[2] == 3) + { + sprite->data[0]++; + sprite->data[1] = 30; + } + } + phase = sprite->data[2]; + MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x108, sUnknown_83CC028[phase], sUnknown_83CC02C[phase], sUnknown_83CC030[phase]); + MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x106, sUnknown_83CC028[phase], sUnknown_83CC02C[phase], sUnknown_83CC030[phase]); + MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x102, sUnknown_83CC028[phase], sUnknown_83CC02C[phase], sUnknown_83CC030[phase]); + MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x105, sUnknown_83CC028[phase], sUnknown_83CC02C[phase], sUnknown_83CC030[phase]); + MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x103, sUnknown_83CC028[phase], sUnknown_83CC02C[phase], sUnknown_83CC030[phase]); +} + +static void PokeballGlowEffect_4(struct Sprite * sprite) +{ + if ((--sprite->data[1]) == 0) + { + sprite->data[0]++; + } +} + +static void PokeballGlowEffect_5(struct Sprite * sprite) +{ + sprite->data[0]++; +} + +static void PokeballGlowEffect_6(struct Sprite * sprite) +{ + if (sprite->data[5] == 0 || IsFanfareTaskInactive()) + { + sprite->data[0]++; + } +} + +static void PokeballGlowEffect_7(struct Sprite * sprite) +{ +} + +static void SpriteCB_PokeballGlow(struct Sprite * sprite) +{ + if (gSprites[sprite->data[0]].data[0] > 4) + FieldEffectFreeGraphicsResources(sprite); +} + +static u8 PokecenterHealEffectHelper(s32 x, s32 y) +{ + u8 spriteId; + struct Sprite * sprite; + spriteId = CreateSpriteAtEnd(&sUnknown_83CBFA0, x, y, 0); + sprite = &gSprites[spriteId]; + sprite->oam.priority = 2; + sprite->invisible = TRUE; + return spriteId; +} + +static void SpriteCB_PokecenterMonitor(struct Sprite * sprite) +{ + if (sprite->data[0] != 0) + { + sprite->data[0] = 0; + sprite->invisible = FALSE; + StartSpriteAnim(sprite, 1); + } + if (sprite->animEnded) + FieldEffectFreeGraphicsResources(sprite); +} + +static void HallOfFameRecordEffectHelper(s32 x, s32 y) +{ + CreateSpriteAtEnd(&sUnknown_83CBFB8, x, y, 0); +} + +static void SpriteCB_HallOfFameMonitor(struct Sprite * sprite) +{ + if (sprite->animEnded) + FieldEffectFreeGraphicsResources(sprite); +} + +static void FieldCallback_Fly(void); +static void Task_FlyOut(u8 taskId); +static void FieldCallback_FlyArrive(void); +static void Task_FlyIn(u8 taskId); + +void ReturnToFieldFromFlyMapSelect(void) +{ + SetMainCallback2(CB2_ReturnToField); + gFieldCallback = FieldCallback_Fly; +} + +static void FieldCallback_Fly(void) +{ + FadeInFromBlack(); + CreateTask(Task_FlyOut, 0); + ScriptContext2_Enable(); + FreezeObjectEvents(); + gFieldCallback = NULL; +} + +static void Task_FlyOut(u8 taskId) +{ + struct Task * task; + task = &gTasks[taskId]; + if (task->data[0] == 0) + { + if (!IsWeatherNotFadingIn()) + return; + gFieldEffectArguments[0] = GetCursorSelectionMonId(); + if ((int)gFieldEffectArguments[0] >= PARTY_SIZE) + gFieldEffectArguments[0] = 0; + FieldEffectStart(FLDEFF_USE_FLY); + task->data[0]++; + } + if (!FieldEffectActiveListContains(FLDEFF_USE_FLY)) + { + Overworld_ResetStateAfterFly(); + WarpIntoMap(); + SetMainCallback2(CB2_LoadMap); + gFieldCallback = FieldCallback_FlyArrive; + DestroyTask(taskId); + } +} + +static void FieldCallback_FlyArrive(void) +{ + Overworld_PlaySpecialMapMusic(); + FadeInFromBlack(); + CreateTask(Task_FlyIn, 0); + gObjectEvents[gPlayerAvatar.objectEventId].invisible = TRUE; + if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) + { + ObjectEventTurn(&gObjectEvents[gPlayerAvatar.objectEventId], DIR_WEST); + } + ScriptContext2_Enable(); + FreezeObjectEvents(); + gFieldCallback = NULL; +} + +static void Task_FlyIn(u8 taskId) +{ + struct Task * task; + task = &gTasks[taskId]; + if (task->data[0] == 0) + { + if (gPaletteFade.active) + { + return; + } + FieldEffectStart(FLDEFF_FLY_IN); + task->data[0]++; + } + if (!FieldEffectActiveListContains(FLDEFF_FLY_IN)) + { + ScriptContext2_Disable(); + UnfreezeObjectEvents(); + DestroyTask(taskId); + } +} + +static void Task_FallWarpFieldEffect(u8 taskId); +static bool8 FallWarpEffect_1(struct Task * task); +static bool8 FallWarpEffect_2(struct Task * task); +static bool8 FallWarpEffect_3(struct Task * task); +static bool8 FallWarpEffect_4(struct Task * task); +static bool8 FallWarpEffect_5(struct Task * task); +static bool8 FallWarpEffect_6(struct Task * task); +static bool8 FallWarpEffect_7(struct Task * task); + +static bool8 (*const sFallWarpEffectCBPtrs[])(struct Task * task) = { + FallWarpEffect_1, + FallWarpEffect_2, + FallWarpEffect_3, + FallWarpEffect_4, + FallWarpEffect_5, + FallWarpEffect_6, + FallWarpEffect_7 +}; + +void FieldCB_FallWarpExit(void) +{ + Overworld_PlaySpecialMapMusic(); + WarpFadeInScreen(); + sub_8111CF0(); + ScriptContext2_Enable(); + FreezeObjectEvents(); + CreateTask(Task_FallWarpFieldEffect, 0); + gFieldCallback = NULL; +} + +static void Task_FallWarpFieldEffect(u8 taskId) +{ + struct Task * task = &gTasks[taskId]; + while (sFallWarpEffectCBPtrs[task->data[0]](task)) + ; +} + +static bool8 FallWarpEffect_1(struct Task * task) +{ + struct ObjectEvent * playerObject; + struct Sprite * playerSprite; + playerObject = &gObjectEvents[gPlayerAvatar.objectEventId]; + playerSprite = &gSprites[gPlayerAvatar.spriteId]; + CameraObjectReset2(); + gObjectEvents[gPlayerAvatar.objectEventId].invisible = TRUE; + gPlayerAvatar.preventStep = TRUE; + ObjectEventSetHeldMovement(playerObject, GetFaceDirectionMovementAction(GetPlayerFacingDirection())); + task->data[4] = playerSprite->subspriteMode; + playerObject->fixedPriority = TRUE; + playerSprite->oam.priority = 1; + playerSprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; + task->data[0]++; + return TRUE; +} + +static bool8 FallWarpEffect_2(struct Task * task) +{ + if (IsWeatherNotFadingIn()) + { + task->data[0]++; + } + return FALSE; +} + +static bool8 FallWarpEffect_3(struct Task * task) +{ + struct Sprite * sprite; + s16 centerToCornerVecY; + sprite = &gSprites[gPlayerAvatar.spriteId]; + centerToCornerVecY = -(sprite->centerToCornerVecY << 1); + sprite->pos2.y = -(sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY); + task->data[1] = 1; + task->data[2] = 0; + gObjectEvents[gPlayerAvatar.objectEventId].invisible = FALSE; + PlaySE(SE_RU_HYUU); + task->data[0]++; + return FALSE; +} + +static bool8 FallWarpEffect_4(struct Task * task) +{ + struct ObjectEvent * objectEvent; + struct Sprite * sprite; + + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + sprite = &gSprites[gPlayerAvatar.spriteId]; + sprite->pos2.y += task->data[1]; + if (task->data[1] < 8) + { + task->data[2] += task->data[1]; + if (task->data[2] & 0xf) + { + task->data[1] <<= 1; + } + } + if (task->data[3] == 0 && sprite->pos2.y >= -16) + { + task->data[3]++; + objectEvent->fixedPriority = FALSE; + sprite->subspriteMode = task->data[4]; + objectEvent->triggerGroundEffectsOnMove = TRUE; + } + if (sprite->pos2.y >= 0) + { + PlaySE(SE_W070); + objectEvent->triggerGroundEffectsOnStop = TRUE; + objectEvent->landingJump = TRUE; + sprite->pos2.y = 0; + task->data[0]++; + } + return FALSE; +} + +static bool8 FallWarpEffect_5(struct Task * task) +{ + task->data[0]++; + task->data[1] = 4; + task->data[2] = 0; + SetCameraPanningCallback(NULL); + return TRUE; +} + +static bool8 FallWarpEffect_6(struct Task * task) +{ + SetCameraPanning(0, task->data[1]); + task->data[1] = -task->data[1]; + task->data[2]++; + if ((task->data[2] & 3) == 0) + { + task->data[1] >>= 1; + } + if (task->data[1] == 0) + { + task->data[0]++; + } + return FALSE; +} + +static bool8 FallWarpEffect_7(struct Task * task) +{ + s16 x, y; + gPlayerAvatar.preventStep = FALSE; + ScriptContext2_Disable(); + CameraObjectReset1(); + UnfreezeObjectEvents(); + InstallCameraPanAheadCallback(); + PlayerGetDestCoords(&x, &y); + // Seafoam Islands + if (sub_8055B38(MapGridGetMetatileBehaviorAt(x, y)) == TRUE) + { + VarSet(VAR_TEMP_1, 1); + SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_SURFING); + SetHelpContext(HELPCONTEXT_SURFING); + } + DestroyTask(FindTaskIdByFunc(Task_FallWarpFieldEffect)); + return FALSE; +} + +static void Task_EscalatorWarpFieldEffect(u8 taskId); +static bool8 EscalatorWarpEffect_1(struct Task * task); +static bool8 EscalatorWarpEffect_2(struct Task * task); +static bool8 EscalatorWarpEffect_3(struct Task * task); +static bool8 EscalatorWarpEffect_4(struct Task * task); +static bool8 EscalatorWarpEffect_5(struct Task * task); +static bool8 EscalatorWarpEffect_6(struct Task * task); +static void Escalator_AnimatePlayerGoingDown(struct Task * task); +static void Escalator_AnimatePlayerGoingUp(struct Task * task); +static void Escalator_BeginFadeOutToNewMap(void); +static void Escalator_TransitionToWarpInEffect(void); +static void FieldCB_EscalatorWarpIn(void); +static void Task_EscalatorWarpInFieldEffect(u8 taskId); +static bool8 EscalatorWarpInEffect_1(struct Task * task); +static bool8 EscalatorWarpInEffect_2(struct Task * task); +static bool8 EscalatorWarpInEffect_3(struct Task * task); +static bool8 EscalatorWarpInEffect_4(struct Task * task); +static bool8 EscalatorWarpInEffect_5(struct Task * task); +static bool8 EscalatorWarpInEffect_6(struct Task * task); +static bool8 EscalatorWarpInEffect_7(struct Task * task); + +static bool8 (*const sEscalatorWarpFieldEffectFuncs[])(struct Task * task) = { + EscalatorWarpEffect_1, + EscalatorWarpEffect_2, + EscalatorWarpEffect_3, + EscalatorWarpEffect_4, + EscalatorWarpEffect_5, + EscalatorWarpEffect_6 +}; + +void StartEscalatorWarp(u8 metatileBehavior, u8 priority) +{ + u8 taskId = CreateTask(Task_EscalatorWarpFieldEffect, priority); + gTasks[taskId].data[1] = 0; + if (metatileBehavior == MB_UP_ESCALATOR) + gTasks[taskId].data[1] = 1; +} + +static void Task_EscalatorWarpFieldEffect(u8 taskId) +{ + struct Task * task = &gTasks[taskId]; + while (sEscalatorWarpFieldEffectFuncs[task->data[0]](task)) + ; +} + +static bool8 EscalatorWarpEffect_1(struct Task * task) +{ + FreezeObjectEvents(); + CameraObjectReset2(); + StartEscalator(task->data[1]); + sub_81128BC(1); + task->data[0]++; + return FALSE; +} + +static bool8 EscalatorWarpEffect_2(struct Task * task) +{ + struct ObjectEvent * objectEvent; + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (!ObjectEventIsMovementOverridden(objectEvent) || ObjectEventClearHeldMovementIfFinished(objectEvent)) + { + ObjectEventSetHeldMovement(objectEvent, GetFaceDirectionMovementAction(GetPlayerFacingDirection())); + task->data[0]++; + task->data[2] = 0; + task->data[3] = 0; + if ((u8)task->data[1] == 0) + { + task->data[0] = 4; + } + PlaySE(SE_ESUKA); + } + return FALSE; +} + +static bool8 EscalatorWarpEffect_3(struct Task * task) +{ + Escalator_AnimatePlayerGoingDown(task); + if (task->data[2] > 3) + { + Escalator_BeginFadeOutToNewMap(); + task->data[0]++; + } + return FALSE; +} + +static bool8 EscalatorWarpEffect_4(struct Task * task) +{ + Escalator_AnimatePlayerGoingDown(task); + Escalator_TransitionToWarpInEffect(); + return FALSE; +} + +static bool8 EscalatorWarpEffect_5(struct Task * task) +{ + Escalator_AnimatePlayerGoingUp(task); + if (task->data[2] > 3) + { + Escalator_BeginFadeOutToNewMap(); + task->data[0]++; + } + return FALSE; +} + +static bool8 EscalatorWarpEffect_6(struct Task * task) +{ + Escalator_AnimatePlayerGoingUp(task); + Escalator_TransitionToWarpInEffect(); + return FALSE; +} + + +static void Escalator_AnimatePlayerGoingDown(struct Task * task) +{ + struct Sprite * sprite; + sprite = &gSprites[gPlayerAvatar.spriteId]; + sprite->pos2.x = Cos(0x84, task->data[2]); + sprite->pos2.y = Sin(0x94, task->data[2]); + task->data[3]++; + if (task->data[3] & 1) + { + task->data[2]++; + } +} + +static void Escalator_AnimatePlayerGoingUp(struct Task * task) +{ + struct Sprite * sprite; + sprite = &gSprites[gPlayerAvatar.spriteId]; + sprite->pos2.x = Cos(0x7c, task->data[2]); + sprite->pos2.y = Sin(0x76, task->data[2]); + task->data[3]++; + if (task->data[3] & 1) + { + task->data[2]++; + } +} + +static void Escalator_BeginFadeOutToNewMap(void) +{ + TryFadeOutOldMapMusic(); + WarpFadeOutScreen(); +} + +static void Escalator_TransitionToWarpInEffect(void) +{ + if (!gPaletteFade.active && BGMusicStopped() == TRUE) + { + StopEscalator(); + WarpIntoMap(); + gFieldCallback = FieldCB_EscalatorWarpIn; + SetMainCallback2(CB2_LoadMap); + DestroyTask(FindTaskIdByFunc(Task_EscalatorWarpFieldEffect)); + } +} + +static bool8 (*const sEscalatorWarpInFieldEffectFuncs[])(struct Task * task) = { + EscalatorWarpInEffect_1, + EscalatorWarpInEffect_2, + EscalatorWarpInEffect_3, + EscalatorWarpInEffect_4, + EscalatorWarpInEffect_5, + EscalatorWarpInEffect_6, + EscalatorWarpInEffect_7 +}; + +static void FieldCB_EscalatorWarpIn(void) +{ + Overworld_PlaySpecialMapMusic(); + WarpFadeInScreen(); + sub_8111CF0(); + ScriptContext2_Enable(); + FreezeObjectEvents(); + CreateTask(Task_EscalatorWarpInFieldEffect, 0); + gFieldCallback = NULL; +} + +static void Task_EscalatorWarpInFieldEffect(u8 taskId) +{ + struct Task * task = &gTasks[taskId]; + while (sEscalatorWarpInFieldEffectFuncs[task->data[0]](task)) + ; +} + +static bool8 EscalatorWarpInEffect_1(struct Task * task) +{ + struct ObjectEvent * objectEvent; + s16 x; + s16 y; + u8 behavior; + CameraObjectReset2(); + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + ObjectEventSetHeldMovement(objectEvent, GetFaceDirectionMovementAction(DIR_EAST)); + PlayerGetDestCoords(&x, &y); + behavior = MapGridGetMetatileBehaviorAt(x, y); + task->data[0]++; + task->data[1] = 16; + if (behavior == MB_DOWN_ESCALATOR) + { + behavior = 1; + task->data[0] = 3; + } else + { + behavior = 0; + } + StartEscalator(behavior); + return TRUE; +} + +static bool8 EscalatorWarpInEffect_2(struct Task * task) +{ + struct Sprite * sprite; + sprite = &gSprites[gPlayerAvatar.spriteId]; + sprite->pos2.x = Cos(0x84, task->data[1]); + sprite->pos2.y = Sin(0x94, task->data[1]); + task->data[0]++; + return FALSE; +} + +static bool8 EscalatorWarpInEffect_3(struct Task * task) +{ + struct Sprite * sprite; + sprite = &gSprites[gPlayerAvatar.spriteId]; + sprite->pos2.x = Cos(0x84, task->data[1]); + sprite->pos2.y = Sin(0x94, task->data[1]); + task->data[2]++; + if (task->data[2] & 1) + { + task->data[1]--; + } + if (task->data[1] == 0) + { + sprite->pos2.x = 0; + sprite->pos2.y = 0; + task->data[0] = 5; + } + return FALSE; +} + + +static bool8 EscalatorWarpInEffect_4(struct Task * task) +{ + struct Sprite * sprite; + sprite = &gSprites[gPlayerAvatar.spriteId]; + sprite->pos2.x = Cos(0x7c, task->data[1]); + sprite->pos2.y = Sin(0x76, task->data[1]); + task->data[0]++; + return FALSE; +} + +static bool8 EscalatorWarpInEffect_5(struct Task * task) +{ + struct Sprite * sprite; + sprite = &gSprites[gPlayerAvatar.spriteId]; + sprite->pos2.x = Cos(0x7c, task->data[1]); + sprite->pos2.y = Sin(0x76, task->data[1]); + task->data[2]++; + if (task->data[2] & 1) + { + task->data[1]--; + } + if (task->data[1] == 0) + { + sprite->pos2.x = 0; + sprite->pos2.y = 0; + task->data[0]++; + } + return FALSE; +} + +static bool8 EscalatorWarpInEffect_6(struct Task * task) +{ + if (IsEscalatorMoving()) + { + return FALSE; + } + StopEscalator(); + task->data[0]++; + return TRUE; +} + +static bool8 EscalatorWarpInEffect_7(struct Task * task) +{ + struct ObjectEvent * objectEvent; + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (ObjectEventClearHeldMovementIfFinished(objectEvent)) + { + CameraObjectReset1(); + ScriptContext2_Disable(); + UnfreezeObjectEvents(); + ObjectEventSetHeldMovement(objectEvent, GetWalkNormalMovementAction(DIR_EAST)); + DestroyTask(FindTaskIdByFunc(Task_EscalatorWarpInFieldEffect)); + sub_81128BC(2); + } + return FALSE; +} + +static void Task_UseWaterfall(u8 taskId); + +static bool8 waterfall_0_setup(struct Task * task, struct ObjectEvent * playerObj); +static bool8 waterfall_1_do_anim_probably(struct Task * task, struct ObjectEvent * playerObj); +static bool8 waterfall_2_wait_anim_finish_probably(struct Task * task, struct ObjectEvent * playerObj); +static bool8 waterfall_3_move_player_probably(struct Task * task, struct ObjectEvent * playerObj); +static bool8 waterfall_4_wait_player_move_probably(struct Task * task, struct ObjectEvent * playerObj); + +static bool8 (*const sUseWaterfallFieldEffectFuncs[])(struct Task * task, struct ObjectEvent * playerObj) = { + waterfall_0_setup, + waterfall_1_do_anim_probably, + waterfall_2_wait_anim_finish_probably, + waterfall_3_move_player_probably, + waterfall_4_wait_player_move_probably +}; + +u32 FldEff_UseWaterfall(void) +{ + u8 taskId = CreateTask(Task_UseWaterfall, 0xFF); + gTasks[taskId].data[1] = gFieldEffectArguments[0]; + Task_UseWaterfall(taskId); + return 0; +} + +static void Task_UseWaterfall(u8 taskId) +{ + while (sUseWaterfallFieldEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gObjectEvents[gPlayerAvatar.objectEventId])) + ; +} + +static bool8 waterfall_0_setup(struct Task * task, struct ObjectEvent * playerObj) +{ + ScriptContext2_Enable(); + gPlayerAvatar.preventStep = TRUE; + task->data[0]++; + return FALSE; +} + +static bool8 waterfall_1_do_anim_probably(struct Task * task, struct ObjectEvent * playerObj) +{ + ScriptContext2_Enable(); + if (!ObjectEventIsMovementOverridden(playerObj)) + { + ObjectEventClearHeldMovementIfFinished(playerObj); + gFieldEffectArguments[0] = task->data[1]; + FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); + task->data[0]++; + } + return FALSE; +} + +static bool8 waterfall_2_wait_anim_finish_probably(struct Task * task, struct ObjectEvent * playerObj) +{ + if (FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) + return FALSE; + task->data[0]++; + return TRUE; +} + +static bool8 waterfall_3_move_player_probably(struct Task * task, struct ObjectEvent * playerObj) +{ + ObjectEventSetHeldMovement(playerObj, sub_8063F2C(DIR_NORTH)); + task->data[0]++; + return FALSE; +} + +static bool8 waterfall_4_wait_player_move_probably(struct Task * task, struct ObjectEvent * playerObj) +{ + if (!ObjectEventClearHeldMovementIfFinished(playerObj)) + return FALSE; + if (MetatileBehavior_IsWaterfall(playerObj->currentMetatileBehavior)) + { + task->data[0] = 3; + return TRUE; + } + ScriptContext2_Disable(); + gPlayerAvatar.preventStep = FALSE; + DestroyTask(FindTaskIdByFunc(Task_UseWaterfall)); + FieldEffectActiveListRemove(FLDEFF_USE_WATERFALL); + return FALSE; +} + +static void Task_Dive(u8 taskId); +static bool8 dive_1_lock(struct Task * task); +static bool8 dive_2_unknown(struct Task * task); +static bool8 dive_3_unknown(struct Task * task); + +static bool8 (*const sDiveFieldEffectFuncPtrs[])(struct Task * task) = { + dive_1_lock, + dive_2_unknown, + dive_3_unknown +}; + +u32 FldEff_UseDive(void) +{ + u8 taskId = CreateTask(Task_Dive, 0xFF); + gTasks[taskId].data[15] = gFieldEffectArguments[0]; + gTasks[taskId].data[14] = gFieldEffectArguments[1]; + Task_Dive(taskId); + return 0; +} + +static void Task_Dive(u8 taskId) +{ + while (sDiveFieldEffectFuncPtrs[gTasks[taskId].data[0]](&gTasks[taskId])) + ; +} + +static bool8 dive_1_lock(struct Task * task) +{ + gPlayerAvatar.preventStep = TRUE; + task->data[0]++; + return FALSE; +} + +static bool8 dive_2_unknown(struct Task * task) +{ + ScriptContext2_Enable(); + gFieldEffectArguments[0] = task->data[15]; + FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); + task->data[0]++; + return FALSE; +} + +static bool8 dive_3_unknown(struct Task * task) +{ + struct MapPosition pos; + PlayerGetDestCoords(&pos.x, &pos.y); + if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) + { + dive_warp(&pos, gObjectEvents[gPlayerAvatar.objectEventId].currentMetatileBehavior); + DestroyTask(FindTaskIdByFunc(Task_Dive)); + FieldEffectActiveListRemove(FLDEFF_USE_DIVE); + } + return FALSE; +} + +static void Task_LavaridgeGymB1FWarp(u8 taskId); +static bool8 LavaridgeGymB1FWarpEffect_1(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite); +static bool8 LavaridgeGymB1FWarpEffect_2(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite); +static bool8 LavaridgeGymB1FWarpEffect_3(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite); +static bool8 LavaridgeGymB1FWarpEffect_4(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite); +static bool8 LavaridgeGymB1FWarpEffect_5(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite); +static bool8 LavaridgeGymB1FWarpEffect_6(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite); +static void FieldCB_LavaridgeGymB1FWarpExit(void); +static void Task_LavaridgeGymB1FWarpExit(u8 taskId); +static bool8 LavaridgeGymB1FWarpExitEffect_1(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite); +static bool8 LavaridgeGymB1FWarpExitEffect_2(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite); +static bool8 LavaridgeGymB1FWarpExitEffect_3(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite); +static bool8 LavaridgeGymB1FWarpExitEffect_4(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite); + +static bool8 (*const sLavaridgeGymB1FWarpEffectFuncs[])(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite) = { + LavaridgeGymB1FWarpEffect_1, + LavaridgeGymB1FWarpEffect_2, + LavaridgeGymB1FWarpEffect_3, + LavaridgeGymB1FWarpEffect_4, + LavaridgeGymB1FWarpEffect_5, + LavaridgeGymB1FWarpEffect_6 +}; + +void StartLavaridgeGymB1FWarp(u8 priority) +{ + CreateTask(Task_LavaridgeGymB1FWarp, priority); +} + +static void Task_LavaridgeGymB1FWarp(u8 taskId) +{ + while (sLavaridgeGymB1FWarpEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gObjectEvents[gPlayerAvatar.objectEventId], &gSprites[gPlayerAvatar.spriteId])); +} + +static bool8 LavaridgeGymB1FWarpEffect_1(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite) +{ + FreezeObjectEvents(); + CameraObjectReset2(); + SetCameraPanningCallback(NULL); + gPlayerAvatar.preventStep = TRUE; + objectEvent->fixedPriority = TRUE; + task->data[1] = 1; + task->data[0]++; + return TRUE; +} + +static bool8 LavaridgeGymB1FWarpEffect_2(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite) +{ + SetCameraPanning(0, task->data[1]); + task->data[1] = -task->data[1]; + task->data[2]++; + if (task->data[2] > 7) + { + task->data[2] = 0; + task->data[0]++; + } + return FALSE; +} + +static bool8 LavaridgeGymB1FWarpEffect_3(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite) +{ + sprite->pos2.y = 0; + task->data[3] = 1; + gFieldEffectArguments[0] = objectEvent->currentCoords.x; + gFieldEffectArguments[1] = objectEvent->currentCoords.y; + gFieldEffectArguments[2] = sprite->subpriority - 1; + gFieldEffectArguments[3] = sprite->oam.priority; + FieldEffectStart(FLDEFF_LAVARIDGE_GYM_WARP); + PlaySE(SE_W153); + task->data[0]++; + return TRUE; +} + +static bool8 LavaridgeGymB1FWarpEffect_4(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite) +{ + s16 centerToCornerVecY; + SetCameraPanning(0, task->data[1]); + if (task->data[1] = -task->data[1], ++task->data[2] <= 17) + { + if (!(task->data[2] & 1) && (task->data[1] <= 3)) + { + task->data[1] <<= 1; + } + } else if (!(task->data[2] & 4) && (task->data[1] > 0)) + { + task->data[1] >>= 1; + } + if (task->data[2] > 6) + { + centerToCornerVecY = -(sprite->centerToCornerVecY << 1); + if (sprite->pos2.y > -(sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY)) + { + sprite->pos2.y -= task->data[3]; + if (task->data[3] <= 7) + { + task->data[3]++; + } + } else + { + task->data[4] = 1; + } + } + if (task->data[5] == 0 && sprite->pos2.y < -0x10) + { + task->data[5]++; + objectEvent->fixedPriority = TRUE; + sprite->oam.priority = 1; + sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; + } + if (task->data[1] == 0 && task->data[4] != 0) + { + task->data[0]++; + } + return FALSE; +} + +static bool8 LavaridgeGymB1FWarpEffect_5(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite) +{ + TryFadeOutOldMapMusic(); + WarpFadeOutScreen(); + task->data[0]++; + return FALSE; +} + +static bool8 LavaridgeGymB1FWarpEffect_6(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite) +{ + if (!gPaletteFade.active && BGMusicStopped() == TRUE) + { + WarpIntoMap(); + gFieldCallback = FieldCB_LavaridgeGymB1FWarpExit; + SetMainCallback2(CB2_LoadMap); + DestroyTask(FindTaskIdByFunc(Task_LavaridgeGymB1FWarp)); + } + return FALSE; +} + +static bool8 (*const sLavaridgeGymB1FWarpExitEffectFuncs[])(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite) = { + LavaridgeGymB1FWarpExitEffect_1, + LavaridgeGymB1FWarpExitEffect_2, + LavaridgeGymB1FWarpExitEffect_3, + LavaridgeGymB1FWarpExitEffect_4 +}; + +static void FieldCB_LavaridgeGymB1FWarpExit(void) +{ + Overworld_PlaySpecialMapMusic(); + WarpFadeInScreen(); + sub_8111CF0(); + ScriptContext2_Enable(); + gFieldCallback = NULL; + CreateTask(Task_LavaridgeGymB1FWarpExit, 0); +} + +static void Task_LavaridgeGymB1FWarpExit(u8 taskId) +{ + while (sLavaridgeGymB1FWarpExitEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gObjectEvents[gPlayerAvatar.objectEventId], &gSprites[gPlayerAvatar.spriteId])); +} + +static bool8 LavaridgeGymB1FWarpExitEffect_1(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite) +{ + CameraObjectReset2(); + FreezeObjectEvents(); + gPlayerAvatar.preventStep = TRUE; + objectEvent->invisible = TRUE; + task->data[0]++; + return FALSE; +} + +static bool8 LavaridgeGymB1FWarpExitEffect_2(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite) +{ + if (IsWeatherNotFadingIn()) + { + gFieldEffectArguments[0] = objectEvent->currentCoords.x; + gFieldEffectArguments[1] = objectEvent->currentCoords.y; + gFieldEffectArguments[2] = sprite->subpriority - 1; + gFieldEffectArguments[3] = sprite->oam.priority; + task->data[1] = FieldEffectStart(FLDEFF_POP_OUT_OF_ASH); + task->data[0]++; + } + return FALSE; +} + +static bool8 LavaridgeGymB1FWarpExitEffect_3(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite) +{ + sprite = &gSprites[task->data[1]]; + if (sprite->animCmdIndex > 1) + { + task->data[0]++; + objectEvent->invisible = FALSE; + CameraObjectReset1(); + PlaySE(SE_W091); + ObjectEventSetHeldMovement(objectEvent, GetJumpMovementAction(DIR_EAST)); + } + return FALSE; +} + +static bool8 LavaridgeGymB1FWarpExitEffect_4(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite) +{ + if (ObjectEventClearHeldMovementIfFinished(objectEvent)) + { + gPlayerAvatar.preventStep = FALSE; + ScriptContext2_Disable(); + UnfreezeObjectEvents(); + DestroyTask(FindTaskIdByFunc(Task_LavaridgeGymB1FWarpExit)); + } + return FALSE; +} + +static void Task_LavaridgeGym1FWarp(u8 taskId); +static bool8 LavaridgeGym1FWarpEffect_1(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite); +static bool8 LavaridgeGym1FWarpEffect_2(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite); +static bool8 LavaridgeGym1FWarpEffect_3(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite); +static bool8 LavaridgeGym1FWarpEffect_4(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite); +static bool8 LavaridgeGym1FWarpEffect_5(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite); + +static bool8 (*const sLavaridgeGym1FWarpEffectFuncs[])(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite) = { + LavaridgeGym1FWarpEffect_1, + LavaridgeGym1FWarpEffect_2, + LavaridgeGym1FWarpEffect_3, + LavaridgeGym1FWarpEffect_4, + LavaridgeGym1FWarpEffect_5 +}; + +// For the ash puff effect when warping off the B1F ash tiles +u8 FldEff_LavaridgeGymWarp(void) +{ + u8 spriteId; + sub_8063BC4((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[33], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + gSprites[spriteId].oam.priority = gFieldEffectArguments[3]; + gSprites[spriteId].coordOffsetEnabled = TRUE; + return spriteId; +} + +void SpriteCB_LavaridgeGymWarp(struct Sprite * sprite) +{ + if (sprite->animEnded) + { + FieldEffectStop(sprite, FLDEFF_LAVARIDGE_GYM_WARP); + } +} + +void StartLavaridgeGym1FWarp(u8 priority) +{ + CreateTask(Task_LavaridgeGym1FWarp, priority); +} + +static void Task_LavaridgeGym1FWarp(u8 taskId) +{ + while(sLavaridgeGym1FWarpEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gObjectEvents[gPlayerAvatar.objectEventId], &gSprites[gPlayerAvatar.spriteId])); +} + +static bool8 LavaridgeGym1FWarpEffect_1(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite) +{ + FreezeObjectEvents(); + CameraObjectReset2(); + gPlayerAvatar.preventStep = TRUE; + objectEvent->fixedPriority = TRUE; + task->data[0]++; + return FALSE; +} + +static bool8 LavaridgeGym1FWarpEffect_2(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite) +{ + if (ObjectEventClearHeldMovementIfFinished(objectEvent)) + { + if (task->data[1] > 3) + { + gFieldEffectArguments[0] = objectEvent->currentCoords.x; + gFieldEffectArguments[1] = objectEvent->currentCoords.y; + gFieldEffectArguments[2] = sprite->subpriority - 1; + gFieldEffectArguments[3] = sprite->oam.priority; + task->data[1] = FieldEffectStart(FLDEFF_POP_OUT_OF_ASH); + task->data[0]++; + } else + { + task->data[1]++; + ObjectEventSetHeldMovement(objectEvent, GetWalkInPlaceFastMovementAction(objectEvent->facingDirection)); + PlaySE(SE_FU_ZUZUZU); + } + } + return FALSE; +} + +static bool8 LavaridgeGym1FWarpEffect_3(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite) +{ + if (gSprites[task->data[1]].animCmdIndex == 2) + { + objectEvent->invisible = TRUE; + task->data[0]++; + } + return FALSE; +} + +static bool8 LavaridgeGym1FWarpEffect_4(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite) +{ + if (!FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH)) + { + TryFadeOutOldMapMusic(); + WarpFadeOutScreen(); + task->data[0]++; + } + return FALSE; +} + +static bool8 LavaridgeGym1FWarpEffect_5(struct Task * task, struct ObjectEvent * objectEvent, struct Sprite * sprite) +{ + if (!gPaletteFade.active && BGMusicStopped() == TRUE) + { + WarpIntoMap(); + gFieldCallback = FieldCB_FallWarpExit; + SetMainCallback2(CB2_LoadMap); + DestroyTask(FindTaskIdByFunc(Task_LavaridgeGym1FWarp)); + } + return FALSE; +} + +u8 FldEff_PopOutOfAsh(void) +{ + u8 spriteId; + sub_8063BC4((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[32], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + gSprites[spriteId].oam.priority = gFieldEffectArguments[3]; + gSprites[spriteId].coordOffsetEnabled = TRUE; + return spriteId; +} + +void SpriteCB_PopOutOfAsh(struct Sprite * sprite) +{ + if (sprite->animEnded) + { + FieldEffectStop(sprite, FLDEFF_POP_OUT_OF_ASH); + } +} + +static void Task_DoEscapeRopeFieldEffect(u8 taskId); +static void EscapeRopeFieldEffect_Step0(struct Task * task); +static void EscapeRopeFieldEffect_Step1(struct Task * task); +static u8 sub_808576C(struct ObjectEvent * playerObj, s16 *a1p, s16 *a2p); +static bool32 sub_80857F0(struct ObjectEvent * playerObj, s16 *a1p, s16 *a2p); +static void FieldCallback_EscapeRopeExit(void); +static void Task_DoEscapeRopeExitFieldEffect(u8 taskId); +static void EscapeRopeExitFieldEffect_Step0(struct Task * task); +static void EscapeRopeExitFieldEffect_Step1(struct Task * task); + +static void (*const gEscapeRopeFieldEffectFuncs[])(struct Task * task) = { + EscapeRopeFieldEffect_Step0, + EscapeRopeFieldEffect_Step1 +}; + +void StartEscapeRopeFieldEffect(void) +{ + ScriptContext2_Enable(); + FreezeObjectEvents(); + CreateTask(Task_DoEscapeRopeFieldEffect, 80); +} + +static void Task_DoEscapeRopeFieldEffect(u8 taskId) +{ + gEscapeRopeFieldEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId]); +} + +static void EscapeRopeFieldEffect_Step0(struct Task * task) +{ + task->data[0]++; + task->data[13] = 64; + task->data[14] = GetPlayerFacingDirection(); + task->data[15] = 0; +} + +static void EscapeRopeFieldEffect_Step1(struct Task * task) +{ + struct ObjectEvent * playerObj = &gObjectEvents[gPlayerAvatar.objectEventId]; + s16 *data = task->data; + sub_808576C(playerObj, &task->data[1], &task->data[2]); + if (data[3] < 60) + { + data[3]++; + if (data[3] == 20) + { + PlaySE(SE_TK_WARPIN); + } + } + else if (data[4] == 0 && !sub_80857F0(playerObj, &task->data[5], &task->data[6])) + { + TryFadeOutOldMapMusic(); + WarpFadeOutScreen(); + data[4] = 1; + } + if (data[4] == 1 && !gPaletteFade.active && BGMusicStopped() == TRUE) + { + SetObjectEventDirection(playerObj, task->data[15]); + sub_80555E0(); + WarpIntoMap(); + gFieldCallback = FieldCallback_EscapeRopeExit; + SetMainCallback2(CB2_LoadMap); + DestroyTask(FindTaskIdByFunc(Task_DoEscapeRopeFieldEffect)); + } +} + +static const u8 sUnknown_83CC0E8[] = { + [DIR_NONE] = DIR_SOUTH, + [DIR_SOUTH] = DIR_WEST, + [DIR_WEST] = DIR_NORTH, + [DIR_NORTH] = DIR_EAST, + [DIR_EAST] = DIR_SOUTH, +}; + +static u8 sub_808576C(struct ObjectEvent * playerObj, s16 *delay_p, s16 *stage_p) +{ + if (!ObjectEventIsMovementOverridden(playerObj) || ObjectEventClearHeldMovementIfFinished(playerObj)) + { + if (*delay_p != 0 && --(*delay_p) != 0) + return playerObj->facingDirection; + ObjectEventSetHeldMovement(playerObj, GetFaceDirectionMovementAction(sUnknown_83CC0E8[playerObj->facingDirection])); + if (*stage_p < 12) + (*stage_p)++; + *delay_p = 12 >> (*stage_p); // 12 >> 4 = 0 + return sUnknown_83CC0E8[playerObj->facingDirection]; + } + return playerObj->facingDirection; +} + +static bool32 sub_80857F0(struct ObjectEvent * playerObj, s16 *state_p, s16 *y_p) +{ + struct Sprite * sprite = &gSprites[playerObj->spriteId]; + switch (*state_p) + { + case 0: + CameraObjectReset2(); + (*state_p)++; + // fallthrough + case 1: + sprite->pos2.y -= 8; + (*y_p) -= 8; + if (*y_p <= -16) + { + playerObj->fixedPriority = TRUE; + sprite->oam.priority = 1; + sprite->subpriority = 0; + sprite->subspriteMode = SUBSPRITES_OFF; + (*state_p)++; + } + break; + case 2: + sprite->pos2.y -= 8; + (*y_p) -= 8; + if (*y_p <= -88) + { + (*state_p)++; + return FALSE; + } + break; + case 3: + return FALSE; + } + return TRUE; +} + +static void (*const sEscapeRopeExitEffectFuncs[])(struct Task * task) = { + EscapeRopeExitFieldEffect_Step0, + EscapeRopeExitFieldEffect_Step1 +}; + +static bool32 sub_80858A4(struct ObjectEvent * playerObj, s16 *state_p, s16 *y_p, s16 *priority_p, s16 *subpriority_p, s16 *subspriteMode_p) +{ + struct Sprite * sprite = &gSprites[playerObj->spriteId]; + switch (*state_p) + { + case 0: + CameraObjectReset2(); + *y_p = -88; + sprite->pos2.y -= 88; + *priority_p = sprite->oam.priority; + *subpriority_p = sprite->subpriority; + *subspriteMode_p = sprite->subspriteMode; + playerObj->fixedPriority = TRUE; + sprite->oam.priority = 1; + sprite->subpriority = 0; + sprite->subspriteMode = SUBSPRITES_OFF; + (*state_p)++; + // fallthrough + case 1: + sprite->pos2.y += 4; + (*y_p) += 4; + if (*y_p >= -16) + { + sprite->oam.priority = *priority_p; + sprite->subpriority = *subpriority_p; + sprite->subspriteMode = *subspriteMode_p; + (*state_p)++; + } + break; + case 2: + sprite->pos2.y += 4; + (*y_p) += 4; + if (*y_p >= 0) + { + PlaySE(SE_TK_KASYA); + CameraObjectReset1(); + (*state_p)++; + return FALSE; + } + break; + case 3: + return FALSE; + } + return TRUE; +} + +static void FieldCallback_EscapeRopeExit(void) +{ + Overworld_PlaySpecialMapMusic(); + WarpFadeInScreen(); + sub_8111CF0(); + ScriptContext2_Enable(); + FreezeObjectEvents(); + gFieldCallback = NULL; + gObjectEvents[gPlayerAvatar.objectEventId].invisible = TRUE; + CreateTask(Task_DoEscapeRopeExitFieldEffect, 0); +} + +static void Task_DoEscapeRopeExitFieldEffect(u8 taskId) +{ + sEscapeRopeExitEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId]); +} + +static void EscapeRopeExitFieldEffect_Step0(struct Task * task) +{ + if (IsWeatherNotFadingIn()) + { + PlaySE(SE_TK_WARPOUT); + task->data[15] = GetPlayerFacingDirection(); + task->data[0]++; + } +} + +static void EscapeRopeExitFieldEffect_Step1(struct Task * task) +{ + s16 *data = task->data; + struct ObjectEvent * playerObj = &gObjectEvents[gPlayerAvatar.objectEventId]; + bool32 finished = sub_80858A4(playerObj, &data[1], &data[2], &data[3], &data[4], &data[5]); + playerObj->invisible = FALSE; + if (data[6] < 8) + data[6]++; + else if (data[7] == 0) + { + data[6]++; + data[8] = sub_808576C(playerObj, &data[9], &data[10]); + if (data[6] >= 50 && data[8] == data[15]) + data[7] = 1; + } + if (!finished && data[8] == data[15] && ObjectEventCheckHeldMovementStatus(playerObj) == TRUE) + { + playerObj->invisible = FALSE; + playerObj->fixedPriority = FALSE; + ScriptContext2_Disable(); + UnfreezeObjectEvents(); + DestroyTask(FindTaskIdByFunc(Task_DoEscapeRopeExitFieldEffect)); + } +} + +static void Task_DoTeleportFieldEffect(u8 taskId); +static void TeleportFieldEffectTask1(struct Task * task); +static void TeleportFieldEffectTask2(struct Task * task); +static void TeleportFieldEffectTask3(struct Task * task); +static void TeleportFieldEffectTask4(struct Task * task); +static void FieldCallback_TeleportIn(void); +static void Task_DoTeleportInFieldEffect(u8 taskId); +static void TeleportInFieldEffectTask1(struct Task * task); +static void TeleportInFieldEffectTask2(struct Task * task); +static void TeleportInFieldEffectTask3(struct Task * task); + +static void (*const sTeleportEffectFuncs[])(struct Task * ) = { + TeleportFieldEffectTask1, + TeleportFieldEffectTask2, + TeleportFieldEffectTask3, + TeleportFieldEffectTask4 +}; + +void CreateTeleportFieldEffectTask(void) +{ + CreateTask(Task_DoTeleportFieldEffect, 0); +} + +static void Task_DoTeleportFieldEffect(u8 taskId) +{ + sTeleportEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId]); +} + +static void TeleportFieldEffectTask1(struct Task * task) +{ + ScriptContext2_Enable(); + FreezeObjectEvents(); + CameraObjectReset2(); + task->data[15] = GetPlayerFacingDirection(); + task->data[0]++; +} + +static void TeleportFieldEffectTask2(struct Task * task) +{ + u8 spinDirections[5] = { + [DIR_NONE] = DIR_SOUTH, + [DIR_SOUTH] = DIR_WEST, + [DIR_WEST] = DIR_NORTH, + [DIR_NORTH] = DIR_EAST, + [DIR_EAST] = DIR_SOUTH + }; + struct ObjectEvent * objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (task->data[1] == 0 || (--task->data[1]) == 0) + { + ObjectEventTurn(objectEvent, spinDirections[objectEvent->facingDirection]); + task->data[1] = 8; + task->data[2]++; + } + if (task->data[2] > 7 && task->data[15] == objectEvent->facingDirection) + { + task->data[0]++; + task->data[1] = 4; + task->data[2] = 8; + task->data[3] = 1; + PlaySE(SE_TK_WARPIN); + } +} + +static void TeleportFieldEffectTask3(struct Task * task) +{ + u8 spinDirections[5] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; + struct ObjectEvent * objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + struct Sprite * sprite = &gSprites[gPlayerAvatar.spriteId]; + if ((--task->data[1]) <= 0) + { + task->data[1] = 4; + ObjectEventTurn(objectEvent, spinDirections[objectEvent->facingDirection]); + } + sprite->pos1.y -= task->data[3]; + task->data[4] += task->data[3]; + if ((--task->data[2]) <= 0 && (task->data[2] = 4, task->data[3] < 8)) + { + task->data[3] <<= 1; + } + if (task->data[4] > 8 && (sprite->oam.priority = 1, sprite->subspriteMode != SUBSPRITES_OFF)) + { + sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; + } + if (task->data[4] >= 0xa8) + { + task->data[0]++; + TryFadeOutOldMapMusic(); + WarpFadeOutScreen(); + } +} + +static void TeleportFieldEffectTask4(struct Task * task) +{ + if (!gPaletteFade.active) + { + if (BGMusicStopped() == TRUE) + { + copy_saved_warp3_bank_and_enter_x_to_warp1(); + WarpIntoMap(); + SetMainCallback2(CB2_LoadMap); + gFieldCallback = FieldCallback_TeleportIn; + DestroyTask(FindTaskIdByFunc(Task_DoTeleportFieldEffect)); + } + } +} + +static void (*const sTeleportInEffectFuncs[])(struct Task * ) = { + TeleportInFieldEffectTask1, + TeleportInFieldEffectTask2, + TeleportInFieldEffectTask3 +}; + +static void FieldCallback_TeleportIn(void) +{ + Overworld_PlaySpecialMapMusic(); + WarpFadeInScreen(); + sub_8111CF0(); + ScriptContext2_Enable(); + FreezeObjectEvents(); + gFieldCallback = NULL; + gObjectEvents[gPlayerAvatar.objectEventId].invisible = TRUE; + CameraObjectReset2(); + CreateTask(Task_DoTeleportInFieldEffect, 0); +} + +static void Task_DoTeleportInFieldEffect(u8 taskId) +{ + sTeleportInEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId]); +} + +static void TeleportInFieldEffectTask1(struct Task * task) +{ + struct Sprite * sprite; + s16 centerToCornerVecY; + if (IsWeatherNotFadingIn()) + { + sprite = &gSprites[gPlayerAvatar.spriteId]; + centerToCornerVecY = -(sprite->centerToCornerVecY << 1); + sprite->pos2.y = -(sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY); + gObjectEvents[gPlayerAvatar.objectEventId].invisible = FALSE; + task->data[0]++; + task->data[1] = 8; + task->data[2] = 1; + task->data[14] = sprite->subspriteMode; + task->data[15] = GetPlayerFacingDirection(); + PlaySE(SE_TK_WARPIN); + } +} + +static void TeleportInFieldEffectTask2(struct Task * task) +{ + u8 spinDirections[5] = {1, 3, 4, 2, 1}; + struct ObjectEvent * objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + struct Sprite * sprite = &gSprites[gPlayerAvatar.spriteId]; + if ((sprite->pos2.y += task->data[1]) >= -8) + { + if (task->data[13] == 0) + { + task->data[13]++; + objectEvent->triggerGroundEffectsOnMove = TRUE; + sprite->subspriteMode = task->data[14]; + } + } else + { + sprite->oam.priority = 1; + if (sprite->subspriteMode != SUBSPRITES_OFF) + { + sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; + } + } + if (sprite->pos2.y >= -0x30 && task->data[1] > 1 && !(sprite->pos2.y & 1)) + { + task->data[1]--; + } + if ((--task->data[2]) == 0) + { + task->data[2] = 4; + ObjectEventTurn(objectEvent, spinDirections[objectEvent->facingDirection]); + } + if (sprite->pos2.y >= 0) + { + sprite->pos2.y = 0; + task->data[0]++; + task->data[1] = 1; + task->data[2] = 0; + } +} + +static void TeleportInFieldEffectTask3(struct Task * task) +{ + u8 spinDirections[5] = {1, 3, 4, 2, 1}; + struct ObjectEvent * objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + if ((--task->data[1]) == 0) + { + ObjectEventTurn(objectEvent, spinDirections[objectEvent->facingDirection]); + task->data[1] = 8; + if ((++task->data[2]) > 4 && task->data[14] == objectEvent->facingDirection) + { + ScriptContext2_Disable(); + CameraObjectReset1(); + UnfreezeObjectEvents(); + DestroyTask(FindTaskIdByFunc(Task_DoTeleportInFieldEffect)); + } + } +} + +static void Task_ShowMon_Outdoors(u8 taskId); +static void ShowMonEffect_Outdoors_1(struct Task * task); +static void ShowMonEffect_Outdoors_2(struct Task * task); +static void ShowMonEffect_Outdoors_3(struct Task * task); +static void ShowMonEffect_Outdoors_4(struct Task * task); +static void ShowMonEffect_Outdoors_5(struct Task * task); +static void ShowMonEffect_Outdoors_6(struct Task * task); +static void ShowMonEffect_Outdoors_7(struct Task * task); +static void VBlankCB_ShowMonEffect_Outdoors(void); +static void LoadFieldMoveStreaksTilemapToVram(u16 screenbase); +static void Task_ShowMon_Indoors(u8 taskId); +static void ShowMonEffect_Indoors_1(struct Task * task); +static void ShowMonEffect_Indoors_2(struct Task * task); +static void ShowMonEffect_Indoors_3(struct Task * task); +static void ShowMonEffect_Indoors_4(struct Task * task); +static void ShowMonEffect_Indoors_5(struct Task * task); +static void ShowMonEffect_Indoors_6(struct Task * task); +static void ShowMonEffect_Indoors_7(struct Task * task); +static void VBlankCB_ShowMonEffect_Indoors(void); +static void sub_8086728(struct Task * task); +static bool8 sub_8086738(struct Task * task); +static bool8 sub_80867F0(struct Task * task); +static u8 sub_8086860(u32 species, u32 otId, u32 personality); +static void sub_80868C0(struct Sprite * sprite); +static void sub_8086904(struct Sprite * sprite); +static void sub_8086920(struct Sprite * sprite); + +static void (*const sShowMonOutdoorsEffectFuncs[])(struct Task * task) = { + ShowMonEffect_Outdoors_1, + ShowMonEffect_Outdoors_2, + ShowMonEffect_Outdoors_3, + ShowMonEffect_Outdoors_4, + ShowMonEffect_Outdoors_5, + ShowMonEffect_Outdoors_6, + ShowMonEffect_Outdoors_7 +}; + +u32 FldEff_FieldMoveShowMon(void) +{ + u8 taskId; + if (IsMapTypeOutdoors(GetCurrentMapType()) == TRUE) + taskId = CreateTask(Task_ShowMon_Outdoors, 0xFF); + else + taskId = CreateTask(Task_ShowMon_Indoors, 0xFF); + gTasks[taskId].data[15] = sub_8086860(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + return 0; +} + +u32 FldEff_FieldMoveShowMonInit(void) +{ + u32 r6 = gFieldEffectArguments[0] & 0x80000000; + u8 partyIdx = gFieldEffectArguments[0]; + gFieldEffectArguments[0] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_SPECIES); + gFieldEffectArguments[1] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_OT_ID); + gFieldEffectArguments[2] = GetMonData(&gPlayerParty[partyIdx], MON_DATA_PERSONALITY); + gFieldEffectArguments[0] |= r6; + FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON); + FieldEffectActiveListRemove(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); + return 0; +} + +static void Task_ShowMon_Outdoors(u8 taskId) +{ + sShowMonOutdoorsEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId]); +} + +static void ShowMonEffect_Outdoors_1(struct Task * task) +{ + task->data[11] = GetGpuReg(REG_OFFSET_WININ); + task->data[12] = GetGpuReg(REG_OFFSET_WINOUT); + StoreWordInTwoHalfwords((u16*)&task->data[13], (u32)gMain.vblankCallback); + task->data[1] = WIN_RANGE(0xF0, 0xF1); + task->data[2] = WIN_RANGE(0x50, 0x51); + task->data[3] = WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR; + task->data[4] = WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR; + SetGpuReg(REG_OFFSET_WIN0H, task->data[1]); + SetGpuReg(REG_OFFSET_WIN0V, task->data[2]); + SetGpuReg(REG_OFFSET_WININ, task->data[3]); + SetGpuReg(REG_OFFSET_WINOUT, task->data[4]); + SetVBlankCallback(VBlankCB_ShowMonEffect_Outdoors); + task->data[0]++; +} + +static void ShowMonEffect_Outdoors_2(struct Task * task) +{ + u16 charbase = ((GetGpuReg(REG_OFFSET_BG0CNT) >> 2) << 14); + u16 screenbase = ((GetGpuReg(REG_OFFSET_BG0CNT) >> 8) << 11); + CpuCopy16(sFieldMoveStreaksTiles, (void *)(VRAM + charbase), 0x200); + CpuFill32(0, (void *)(VRAM + screenbase), 0x800); + LoadPalette(sFieldMoveStreaksPalette, 0xf0, 0x20); + LoadFieldMoveStreaksTilemapToVram(screenbase); + task->data[0]++; +} + +static void ShowMonEffect_Outdoors_3(struct Task * task) +{ + s16 win0h_lo; + s16 win0v_lo; + s16 win0v_hi; + task->data[5] -= 16; + win0h_lo = ((u16)task->data[1] >> 8); + win0v_lo = ((u16)task->data[2] >> 8); + win0v_hi = ((u16)task->data[2] & 0xff); + win0h_lo -= 16; + win0v_lo -= 2; + win0v_hi += 2; + if (win0h_lo < 0) + { + win0h_lo = 0; + } + if (win0v_lo < 0x28) + { + win0v_lo = 0x28; + } + if (win0v_hi > 0x78) + { + win0v_hi = 0x78; + } + task->data[1] = WIN_RANGE(win0h_lo, task->data[1] & 0xff); + task->data[2] = WIN_RANGE(win0v_lo, win0v_hi); + if (win0h_lo == 0 && win0v_lo == 0x28 && win0v_hi == 0x78) + { + gSprites[task->data[15]].callback = sub_80868C0; + task->data[0]++; + } +} + +static void ShowMonEffect_Outdoors_4(struct Task * task) +{ + task->data[5] -= 16; + if (gSprites[task->data[15]].data[7]) + { + task->data[0]++; + } +} + +static void ShowMonEffect_Outdoors_5(struct Task * task) +{ + s16 win0v_lo; + s16 win0v_hi; + task->data[5] -= 16; + win0v_lo = (task->data[2] >> 8); + win0v_hi = (task->data[2] & 0xff); + win0v_lo += 6; + win0v_hi -= 6; + if (win0v_lo > 0x50) + { + win0v_lo = 0x50; + } + if (win0v_hi < 0x51) + { + win0v_hi = 0x51; + } + task->data[2] = WIN_RANGE(win0v_lo, win0v_hi); + if (win0v_lo == 0x50 && win0v_hi == 0x51) + { + task->data[0]++; + } +} + +static void ShowMonEffect_Outdoors_6(struct Task * task) +{ + u16 bg0cnt = (GetGpuReg(REG_OFFSET_BG0CNT) >> 8) << 11; + CpuFill32(0, (void *)VRAM + bg0cnt, 0x800); + task->data[1] = WIN_RANGE(0x00, 0xf1); + task->data[2] = WIN_RANGE(0x00, 0xa1); + task->data[3] = task->data[11]; + task->data[4] = task->data[12]; + task->data[0]++; +} + +static void ShowMonEffect_Outdoors_7(struct Task * task) +{ + IntrCallback callback; + LoadWordFromTwoHalfwords((u16 *)&task->data[13], (uintptr_t *)&callback); + SetVBlankCallback(callback); + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + Menu_LoadStdPal(); + FreeResourcesAndDestroySprite(&gSprites[task->data[15]], task->data[15]); + FieldEffectActiveListRemove(FLDEFF_FIELD_MOVE_SHOW_MON); + DestroyTask(FindTaskIdByFunc(Task_ShowMon_Outdoors)); +} + +static void VBlankCB_ShowMonEffect_Outdoors(void) +{ + IntrCallback callback; + struct Task * task = &gTasks[FindTaskIdByFunc(Task_ShowMon_Outdoors)]; + LoadWordFromTwoHalfwords((u16 *)&task->data[13], (uintptr_t *)&callback); + callback(); + SetGpuReg(REG_OFFSET_WIN0H, task->data[1]); + SetGpuReg(REG_OFFSET_WIN0V, task->data[2]); + SetGpuReg(REG_OFFSET_WININ, task->data[3]); + SetGpuReg(REG_OFFSET_WINOUT, task->data[4]); + SetGpuReg(REG_OFFSET_BG0HOFS, task->data[5]); + SetGpuReg(REG_OFFSET_BG0VOFS, task->data[6]); +} + +static void LoadFieldMoveStreaksTilemapToVram(u16 screenbase) +{ + u16 i; + u16 *dest; + dest = (u16 *)(VRAM + (10 * 32) + screenbase); + for (i = 0; i < (10 * 32); i++, dest++) + { + *dest = sFieldMoveStreaksTilemap[i] | METATILE_ELEVATION_MASK; + } +} + +static void (*const sShowMonIndoorsEffectFuncs[])(struct Task * ) = { + ShowMonEffect_Indoors_1, + ShowMonEffect_Indoors_2, + ShowMonEffect_Indoors_3, + ShowMonEffect_Indoors_4, + ShowMonEffect_Indoors_5, + ShowMonEffect_Indoors_6, + ShowMonEffect_Indoors_7 +}; + +static void Task_ShowMon_Indoors(u8 taskId) +{ + sShowMonIndoorsEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId]); +} + +static void ShowMonEffect_Indoors_1(struct Task * task) +{ + SetGpuReg(REG_OFFSET_BG0HOFS, task->data[1]); + SetGpuReg(REG_OFFSET_BG0VOFS, task->data[2]); + StoreWordInTwoHalfwords((u16 *)&task->data[13], (u32)gMain.vblankCallback); + SetVBlankCallback(VBlankCB_ShowMonEffect_Indoors); + task->data[0]++; +} + +static void ShowMonEffect_Indoors_2(struct Task * task) +{ + u16 charbase; + u16 screenbase; + charbase = ((GetGpuReg(REG_OFFSET_BG0CNT) >> 2) << 14); + screenbase = ((GetGpuReg(REG_OFFSET_BG0CNT) >> 8) << 11); + task->data[12] = screenbase; + CpuCopy16(sDarknessFieldMoveStreaksTiles, (void *)(VRAM + charbase), 0x80); + CpuFill32(0, (void *)(VRAM + screenbase), 0x800); + LoadPalette(sDarknessFieldMoveStreaksPalette, 0xf0, 0x20); + task->data[0]++; +} + +static void ShowMonEffect_Indoors_3(struct Task * task) +{ + if (sub_8086738(task)) + { + task->data[5] = GetGpuReg(REG_OFFSET_WININ); + SetGpuReg(REG_OFFSET_WININ, (task->data[5] & 0xFF) | WININ_WIN1_BG0 | WININ_WIN1_OBJ); + SetGpuReg(REG_OFFSET_WIN1H, WIN_RANGE(0x00, 0xf0)); + SetGpuReg(REG_OFFSET_WIN1V, WIN_RANGE(0x28, 0x78)); + gSprites[task->data[15]].callback = sub_80868C0; + task->data[0]++; + } + sub_8086728(task); +} + +static void ShowMonEffect_Indoors_4(struct Task * task) +{ + sub_8086728(task); + if (gSprites[task->data[15]].data[7]) + { + task->data[0]++; + } +} + +static void ShowMonEffect_Indoors_5(struct Task * task) +{ + sub_8086728(task); + task->data[3] = task->data[1] & 7; + task->data[4] = 0; + SetGpuReg(REG_OFFSET_WIN1H, WIN_RANGE(0xff, 0xff)); + SetGpuReg(REG_OFFSET_WIN1V, WIN_RANGE(0xff, 0xff)); + SetGpuReg(REG_OFFSET_WININ, task->data[5]); + task->data[0]++; +} + +static void ShowMonEffect_Indoors_6(struct Task * task) +{ + sub_8086728(task); + if (sub_80867F0(task)) + { + task->data[0]++; + } +} + +static void ShowMonEffect_Indoors_7(struct Task * task) +{ + IntrCallback intrCallback; + u16 charbase; + charbase = (GetGpuReg(REG_OFFSET_BG0CNT) >> 8) << 11; + CpuFill32(0, (void *)VRAM + charbase, 0x800); + LoadWordFromTwoHalfwords((u16 *)&task->data[13], (uintptr_t *)&intrCallback); + SetVBlankCallback(intrCallback); + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + Menu_LoadStdPal(); + FreeResourcesAndDestroySprite(&gSprites[task->data[15]], task->data[15]); + FieldEffectActiveListRemove(FLDEFF_FIELD_MOVE_SHOW_MON); + DestroyTask(FindTaskIdByFunc(Task_ShowMon_Indoors)); +} + +static void VBlankCB_ShowMonEffect_Indoors(void) +{ + IntrCallback intrCallback; + struct Task * task; + task = &gTasks[FindTaskIdByFunc(Task_ShowMon_Indoors)]; + LoadWordFromTwoHalfwords((u16 *)&task->data[13], (uintptr_t *)&intrCallback); + intrCallback(); + SetGpuReg(REG_OFFSET_BG0HOFS, task->data[1]); + SetGpuReg(REG_OFFSET_BG0VOFS, task->data[2]); +} + +static void sub_8086728(struct Task * task) +{ + task->data[1] -= 16; + task->data[3] += 16; +} + +static bool8 sub_8086738(struct Task * task) +{ + u16 i; + u16 srcOffs; + u16 dstOffs; + u16 *dest; + if (task->data[4] >= 32) + { + return TRUE; + } + dstOffs = (task->data[3] >> 3) & 0x1f; + if (dstOffs >= task->data[4]) + { + dstOffs = (32 - dstOffs) & 0x1f; + srcOffs = (32 - task->data[4]) & 0x1f; + dest = (u16 *)(VRAM + 0x140 + (u16)task->data[12]); + for (i = 0; i < 10; i++) + { + dest[dstOffs + i * 32] = sDarknessFieldMoveStreaksTilemap[srcOffs + i * 32]; + dest[dstOffs + i * 32] |= 0xf000; + + dest[((dstOffs + 1) & 0x1f) + i * 32] = sDarknessFieldMoveStreaksTilemap[((srcOffs + 1) & 0x1f) + i * 32] | 0xf000; + dest[((dstOffs + 1) & 0x1f) + i * 32] |= 0xf000; + } + task->data[4] += 2; + } + return FALSE; +} + +static bool8 sub_80867F0(struct Task * task) +{ + u16 i; + u16 dstOffs; + u16 *dest; + if (task->data[4] >= 32) + { + return TRUE; + } + dstOffs = task->data[3] >> 3; + if (dstOffs >= task->data[4]) + { + dstOffs = (task->data[1] >> 3) & 0x1f; + dest = (u16 *)(VRAM + 0x140 + (u16)task->data[12]); + for (i = 0; i < 10; i++) + { + dest[dstOffs + i * 32] = 0xf000; + dest[((dstOffs + 1) & 0x1f) + i * 32] = 0xf000; + } + task->data[4] += 2; + } + return FALSE; +} + +static u8 sub_8086860(u32 species, u32 otId, u32 personality) +{ + bool16 playCry; + u8 monSprite; + struct Sprite * sprite; + playCry = (species & 0x80000000) >> 16; + species &= 0x7fffffff; + monSprite = CreateMonSprite_FieldMove(species, otId, personality, 0x140, 0x50, 0); + sprite = &gSprites[monSprite]; + sprite->callback = SpriteCallbackDummy; + sprite->oam.priority = 0; + sprite->data[0] = species; + sprite->data[6] = playCry; + return monSprite; +} + +static void sub_80868C0(struct Sprite * sprite) +{ + if ((sprite->pos1.x -= 20) <= 0x78) + { + sprite->pos1.x = 0x78; + sprite->data[1] = 30; + sprite->callback = sub_8086904; + if (sprite->data[6]) + { + PlayCry2(sprite->data[0], 0, 0x7d, 0xa); + } + else + { + PlayCry1(sprite->data[0], 0); + } + } +} + +static void sub_8086904(struct Sprite * sprite) +{ + if ((--sprite->data[1]) == 0) + { + sprite->callback = sub_8086920; + } +} + +static void sub_8086920(struct Sprite * sprite) +{ + if (sprite->pos1.x < -0x40) + { + sprite->data[7] = 1; + } + else + { + sprite->pos1.x -= 20; + } +} + +static void Task_FldEffUseSurf(u8 taskId); +static void UseSurfEffect_1(struct Task * task); +static void UseSurfEffect_2(struct Task * task); +static void UseSurfEffect_3(struct Task * task); +static void UseSurfEffect_4(struct Task * task); +static void UseSurfEffect_5(struct Task * task); + +static void (*const sUseSurfEffectFuncs[])(struct Task * ) = { + UseSurfEffect_1, + UseSurfEffect_2, + UseSurfEffect_3, + UseSurfEffect_4, + UseSurfEffect_5, +}; + +u8 FldEff_UseSurf(void) +{ + u8 taskId = CreateTask(Task_FldEffUseSurf, 0xff); + gTasks[taskId].data[15] = gFieldEffectArguments[0]; + sav1_reset_battle_music_maybe(); + if (sub_8056124(MUS_NAMINORI)) + Overworld_ChangeMusicTo(MUS_NAMINORI); + return FALSE; +} + +static void Task_FldEffUseSurf(u8 taskId) +{ + sUseSurfEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId]); +} + +static void UseSurfEffect_1(struct Task * task) +{ + ScriptContext2_Enable(); + FreezeObjectEvents(); + gPlayerAvatar.preventStep = TRUE; + SetPlayerAvatarStateMask(8); + PlayerGetDestCoords(&task->data[1], &task->data[2]); + MoveCoords(gObjectEvents[gPlayerAvatar.objectEventId].movementDirection, &task->data[1], &task->data[2]); + task->data[0]++; +} + +static void UseSurfEffect_2(struct Task * task) +{ + struct ObjectEvent * objectEvent; + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (!ObjectEventIsMovementOverridden(objectEvent) || ObjectEventClearHeldMovementIfFinished(objectEvent)) + { + sub_805CB70(); + ObjectEventSetHeldMovement(objectEvent, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); + task->data[0]++; + } +} + +static void UseSurfEffect_3(struct Task * task) +{ + struct ObjectEvent * objectEvent; + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (ObjectEventCheckHeldMovementStatus(objectEvent)) + { + gFieldEffectArguments[0] = task->data[15] | 0x80000000; + FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); + task->data[0]++; + } +} + +static void UseSurfEffect_4(struct Task * task) +{ + struct ObjectEvent * objectEvent; + if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) + { + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(2)); + ObjectEventClearHeldMovementIfFinished(objectEvent); + ObjectEventSetHeldMovement(objectEvent, sub_80641C0(objectEvent->movementDirection)); + gFieldEffectArguments[0] = task->data[1]; + gFieldEffectArguments[1] = task->data[2]; + gFieldEffectArguments[2] = gPlayerAvatar.objectEventId; + objectEvent->fieldEffectSpriteId = FieldEffectStart(FLDEFF_SURF_BLOB); + task->data[0]++; + } +} + +static void UseSurfEffect_5(struct Task * task) +{ + struct ObjectEvent * objectEvent; + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (ObjectEventClearHeldMovementIfFinished(objectEvent)) + { + gPlayerAvatar.preventStep = FALSE; + gPlayerAvatar.flags &= 0xdf; + ObjectEventSetHeldMovement(objectEvent, GetFaceDirectionMovementAction(objectEvent->movementDirection)); + sub_80DC44C(objectEvent->fieldEffectSpriteId, 1); + UnfreezeObjectEvents(); + ScriptContext2_Disable(); + FieldEffectActiveListRemove(FLDEFF_USE_SURF); + DestroyTask(FindTaskIdByFunc(Task_FldEffUseSurf)); + SetHelpContext(HELPCONTEXT_SURFING); + } +} + +static void Task_FldEffUseVsSeeker(u8 taskId); +static void UseVsSeekerEffect_1(struct Task * task); +static void UseVsSeekerEffect_2(struct Task * task); +static void UseVsSeekerEffect_3(struct Task * task); +static void UseVsSeekerEffect_4(struct Task * task); + +static void (*const sUseVsSeekerEffectFuncs[])(struct Task * task) = { + UseVsSeekerEffect_1, + UseVsSeekerEffect_2, + UseVsSeekerEffect_3, + UseVsSeekerEffect_4 +}; + +u32 FldEff_UseVsSeeker(void) +{ + if (gQuestLogState == QL_STATE_1) + sub_811278C(8, 89); + CreateTask(Task_FldEffUseVsSeeker, 0xFF); + return 0; +} + +static void Task_FldEffUseVsSeeker(u8 taskId) +{ + sUseVsSeekerEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId]); +} + +static void UseVsSeekerEffect_1(struct Task * task) +{ + ScriptContext2_Enable(); + FreezeObjectEvents(); + gPlayerAvatar.preventStep = TRUE; + task->data[0]++; +} + +static void UseVsSeekerEffect_2(struct Task * task) +{ + struct ObjectEvent * playerObj = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (!ObjectEventIsMovementOverridden(playerObj) || ObjectEventClearHeldMovementIfFinished(playerObj)) + { + sub_805CBE8(); + ObjectEventSetHeldMovement(playerObj, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); + task->data[0]++; + } +} + +static void UseVsSeekerEffect_3(struct Task * task) +{ + struct ObjectEvent * playerObj = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (ObjectEventClearHeldMovementIfFinished(playerObj)) + { + if (gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_ACRO_BIKE | PLAYER_AVATAR_FLAG_MACH_BIKE)) + ObjectEventSetGraphicsId(playerObj, GetPlayerAvatarGraphicsIdByStateId(1)); + else if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) + ObjectEventSetGraphicsId(playerObj, GetPlayerAvatarGraphicsIdByStateId(2)); + else + ObjectEventSetGraphicsId(playerObj, GetPlayerAvatarGraphicsIdByStateId(0)); + ObjectEventForceSetHeldMovement(playerObj, GetFaceDirectionMovementAction(playerObj->facingDirection)); + task->data[0]++; + } +} + +static void UseVsSeekerEffect_4(struct Task * task) +{ + struct ObjectEvent * playerObj = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (ObjectEventClearHeldMovementIfFinished(playerObj)) + { + gPlayerAvatar.preventStep = FALSE; + FieldEffectActiveListRemove(FLDEFF_USE_VS_SEEKER); + DestroyTask(FindTaskIdByFunc(Task_FldEffUseVsSeeker)); + } +} + +static void sub_8086D94(struct Sprite * sprite); + +u8 FldEff_NpcFlyOut(void) +{ + u8 spriteId = CreateSprite(gFieldEffectObjectTemplatePointers[26], 0x78, 0, 1); + struct Sprite * sprite = &gSprites[spriteId]; + + sprite->oam.paletteNum = 0; + sprite->oam.priority = 1; + sprite->callback = sub_8086D94; + sprite->data[1] = gFieldEffectArguments[0]; + PlaySE(SE_W019); + return spriteId; +} + +static void sub_8086D94(struct Sprite * sprite) +{ + struct Sprite * npcSprite; + + sprite->pos2.x = Cos(sprite->data[2], 0x8c); + sprite->pos2.y = Sin(sprite->data[2], 0x48); + sprite->data[2] = (sprite->data[2] + 4) & 0xff; + if (sprite->data[0]) + { + npcSprite = &gSprites[sprite->data[1]]; + npcSprite->coordOffsetEnabled = FALSE; + npcSprite->pos1.x = sprite->pos1.x + sprite->pos2.x; + npcSprite->pos1.y = sprite->pos1.y + sprite->pos2.y - 8; + npcSprite->pos2.x = 0; + npcSprite->pos2.y = 0; + } + if (sprite->data[2] >= 0x80) + { + FieldEffectStop(sprite, FLDEFF_NPCFLY_OUT); + } +} + +static void Task_UseFly(u8 taskId); +static void UseFlyEffect_1(struct Task * task); +static void UseFlyEffect_2(struct Task * task); +static void UseFlyEffect_3(struct Task * task); +static void UseFlyEffect_4(struct Task * task); +static void UseFlyEffect_5(struct Task * task); +static void UseFlyEffect_6(struct Task * task); +static void UseFlyEffect_7(struct Task * task); +static void UseFlyEffect_8(struct Task * task); +static void UseFlyEffect_9(struct Task * task); +static u8 sub_8087168(void); +static bool8 sub_80871AC(u8 flyBlobSpriteId); +static void sub_80871C8(u8 flyBlobSpriteId); +static void sub_8087204(u8 flyBlobSpriteId, u8 playerSpriteId); +static void sub_8087220(struct Sprite * sprite); +static void sub_80872F0(struct Sprite * sprite); +static void sub_80877FC(struct Sprite * sprite, u8 affineAnimId); +static void sub_8087828(struct Sprite * sprite); + +static void (*const sUseFlyEffectFuncs[])(struct Task * ) = { + UseFlyEffect_1, + UseFlyEffect_2, + UseFlyEffect_3, + UseFlyEffect_4, + UseFlyEffect_5, + UseFlyEffect_6, + UseFlyEffect_7, + UseFlyEffect_8, + UseFlyEffect_9 +}; + +u8 FldEff_UseFly(void) +{ + u8 taskId = CreateTask(Task_UseFly, 0xfe); + gTasks[taskId].data[1] = gFieldEffectArguments[0]; + return 0; +} + +static void Task_UseFly(u8 taskId) +{ + sUseFlyEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId]); +} + +static void UseFlyEffect_1(struct Task * task) +{ + struct ObjectEvent * objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (!ObjectEventIsMovementOverridden(objectEvent) || ObjectEventClearHeldMovementIfFinished(objectEvent)) + { + task->data[15] = gPlayerAvatar.flags; + gPlayerAvatar.preventStep = TRUE; + SetPlayerAvatarStateMask(1); + sub_805CB70(); + ObjectEventSetHeldMovement(objectEvent, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); + task->data[0]++; + } +} + +static void UseFlyEffect_2(struct Task * task) +{ + struct ObjectEvent * objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (ObjectEventClearHeldMovementIfFinished(objectEvent)) + { + task->data[0]++; + gFieldEffectArguments[0] = task->data[1]; + FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); + } +} + +static void UseFlyEffect_3(struct Task * task) +{ + if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) + { + struct ObjectEvent * objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (task->data[15] & 0x08) + { + sub_80DC44C(objectEvent->fieldEffectSpriteId, 2); + sub_80DC478(objectEvent->fieldEffectSpriteId, 0); + } + task->data[1] = sub_8087168(); + task->data[0]++; + } +} + +static void UseFlyEffect_4(struct Task * task) +{ + if (sub_80871AC(task->data[1])) + { + task->data[0]++; + task->data[2] = 16; + SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); + ObjectEventSetHeldMovement(&gObjectEvents[gPlayerAvatar.objectEventId], MOVEMENT_ACTION_FACE_LEFT); + } +} + +static void UseFlyEffect_5(struct Task * task) +{ + struct ObjectEvent * objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + if ((task->data[2] == 0 || (--task->data[2]) == 0) && ObjectEventClearHeldMovementIfFinished(objectEvent)) + { + task->data[0]++; + PlaySE(SE_W019); + sub_80871C8(task->data[1]); + } +} + +static void UseFlyEffect_6(struct Task * task) +{ + if ((++task->data[2]) >= 8) + { + struct ObjectEvent * objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(2)); + StartSpriteAnim(&gSprites[objectEvent->spriteId], 0x16); + objectEvent->inanimate = TRUE; + ObjectEventSetHeldMovement(objectEvent, MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT); + task->data[0]++; + task->data[2] = 0; + } +} + +static void UseFlyEffect_7(struct Task * task) +{ + if ((++task->data[2]) >= 10) + { + struct ObjectEvent * objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + ObjectEventClearHeldMovementIfActive(objectEvent); + objectEvent->inanimate = FALSE; + objectEvent->hasShadow = FALSE; + sub_8087204(task->data[1], objectEvent->spriteId); + StartSpriteAnim(&gSprites[task->data[1]], gSaveBlock2Ptr->playerGender * 2 + 1); + sub_80877FC(&gSprites[task->data[1]], 0); + gSprites[task->data[1]].callback = sub_8087828; + CameraObjectReset2(); + task->data[0]++; + } +} + +static void UseFlyEffect_8(struct Task * task) +{ + if (sub_80871AC(task->data[1])) + { + WarpFadeOutScreen(); + task->data[0]++; + } +} + +static void UseFlyEffect_9(struct Task * task) +{ + if (!gPaletteFade.active) + { + FieldEffectActiveListRemove(FLDEFF_USE_FLY); + DestroyTask(FindTaskIdByFunc(Task_UseFly)); + } +} + +static u8 sub_8087168(void) +{ + u8 spriteId; + struct Sprite * sprite; + spriteId = CreateSprite(gFieldEffectObjectTemplatePointers[26], 0xff, 0xb4, 0x1); + sprite = &gSprites[spriteId]; + sprite->oam.paletteNum = 0; + sprite->oam.priority = 1; + sprite->callback = sub_8087220; + return spriteId; +} + +static u8 sub_80871AC(u8 spriteId) +{ + return gSprites[spriteId].data[7]; +} + +static void sub_80871C8(u8 spriteId) +{ + struct Sprite * sprite; + sprite = &gSprites[spriteId]; + sprite->callback = sub_80872F0; + sprite->pos1.x = 0x78; + sprite->pos1.y = 0x00; + sprite->pos2.x = 0; + sprite->pos2.y = 0; + memset(&sprite->data[0], 0, 8 * sizeof(u16) /* zero all data cells */); + sprite->data[6] = 0x40; +} + +static void sub_8087204(u8 a0, u8 a1) +{ + gSprites[a0].data[6] = a1; +} + +static const union AffineAnimCmd sUnknown_83CC19C[] = { + AFFINEANIMCMD_FRAME( 8, 8, 226, 0), + AFFINEANIMCMD_FRAME(28, 28, 0, 30), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd sUnknown_83CC1B4[] = { + AFFINEANIMCMD_FRAME(256, 256, 64, 0), + AFFINEANIMCMD_FRAME(-10, -10, 0, 22), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd *const sUnknown_83CC1CC[] = { + sUnknown_83CC19C, + sUnknown_83CC1B4 +}; + +static void sub_8087220(struct Sprite * sprite) +{ + if (sprite->data[7] == 0) + { + if (sprite->data[0] == 0) + { + sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE; + sprite->affineAnims = sUnknown_83CC1CC; + InitSpriteAffineAnim(sprite); + StartSpriteAffineAnim(sprite, 0); + if (gSaveBlock2Ptr->playerGender == MALE) + sprite->pos1.x = 0x80; + else + sprite->pos1.x = 0x76; + sprite->pos1.y = -0x30; + sprite->data[0]++; + sprite->data[1] = 0x40; + sprite->data[2] = 0x100; + } + sprite->data[1] += (sprite->data[2] >> 8); + sprite->pos2.x = Cos(sprite->data[1], 0x78); + sprite->pos2.y = Sin(sprite->data[1], 0x78); + if (sprite->data[2] < 0x800) + { + sprite->data[2] += 0x60; + } + if (sprite->data[1] > 0x81) + { + sprite->data[7]++; + sprite->oam.affineMode = ST_OAM_AFFINE_OFF; + FreeOamMatrix(sprite->oam.matrixNum); + CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, ST_OAM_AFFINE_OFF); + } + } +} + +static void sub_80872F0(struct Sprite * sprite) +{ + sprite->pos2.x = Cos(sprite->data[2], 0x8c); + sprite->pos2.y = Sin(sprite->data[2], 0x48); + sprite->data[2] = (sprite->data[2] + 4) & 0xff; + if (sprite->data[6] != MAX_SPRITES) + { + struct Sprite * sprite1 = &gSprites[sprite->data[6]]; + sprite1->coordOffsetEnabled = FALSE; + sprite1->pos1.x = sprite->pos1.x + sprite->pos2.x; + sprite1->pos1.y = sprite->pos1.y + sprite->pos2.y - 8; + sprite1->pos2.x = 0; + sprite1->pos2.y = 0; + } + if (sprite->data[2] >= 0x80) + { + sprite->data[7] = 1; + } +} + +static void sub_8087364(struct Sprite * sprite) +{ + if (sprite->data[7] == 0) + { + if (sprite->data[0] == 0) + { + sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE; + sprite->affineAnims = sUnknown_83CC1CC; + InitSpriteAffineAnim(sprite); + StartSpriteAffineAnim(sprite, 1); + if (gSaveBlock2Ptr->playerGender == MALE) + sprite->pos1.x = 0x70; + else + sprite->pos1.x = 0x64; + sprite->pos1.y = -0x20; + sprite->data[0]++; + sprite->data[1] = 0xf0; + sprite->data[2] = 0x800; + sprite->data[4] = 0x80; + } + sprite->data[1] += sprite->data[2] >> 8; + sprite->data[3] += sprite->data[2] >> 8; + sprite->data[1] &= 0xff; + sprite->pos2.x = Cos(sprite->data[1], 0x20); + sprite->pos2.y = Sin(sprite->data[1], 0x78); + if (sprite->data[2] > 0x100) + { + sprite->data[2] -= sprite->data[4]; + } + if (sprite->data[4] < 0x100) + { + sprite->data[4] += 24; + } + if (sprite->data[2] < 0x100) + { + sprite->data[2] = 0x100; + } + if (sprite->data[3] >= 60) + { + sprite->data[7]++; + sprite->oam.affineMode = ST_OAM_AFFINE_OFF; + FreeOamMatrix(sprite->oam.matrixNum); + sprite->invisible = TRUE; + } + } +} + +static void sub_8087458(u8 spriteId) +{ + sub_80871C8(spriteId); + gSprites[spriteId].callback = sub_8087364; +} + +static void Task_FldEffFlyIn(u8 taskId); +static void FlyInEffect_1(struct Task * task); +static void FlyInEffect_2(struct Task * task); +static void FlyInEffect_3(struct Task * task); +static void FlyInEffect_4(struct Task * task); +static void FlyInEffect_5(struct Task * task); +static void FlyInEffect_6(struct Task * task); +static void FlyInEffect_7(struct Task * task); +static void sub_80878C0(struct Sprite * sprite); + +static void (*const sFlyInEffectFuncs[])(struct Task * task) = { + FlyInEffect_1, + FlyInEffect_2, + FlyInEffect_3, + FlyInEffect_4, + FlyInEffect_5, + FlyInEffect_6, + FlyInEffect_7 +}; + +u32 FldEff_FlyIn(void) +{ + CreateTask(Task_FldEffFlyIn, 0xfe); + return 0; +} + +static void Task_FldEffFlyIn(u8 taskId) +{ + sFlyInEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId]); +} + +static void FlyInEffect_1(struct Task * task) +{ + struct ObjectEvent * objectEvent; + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (!ObjectEventIsMovementOverridden(objectEvent) || ObjectEventClearHeldMovementIfFinished(objectEvent)) + { + task->data[0]++; + task->data[2] = 33; + task->data[15] = gPlayerAvatar.flags; + gPlayerAvatar.preventStep = TRUE; + SetPlayerAvatarStateMask(0x01); + if (task->data[15] & 0x08) + { + sub_80DC44C(objectEvent->fieldEffectSpriteId, 0); + } + ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(2)); + CameraObjectReset2(); + ObjectEventTurn(objectEvent, DIR_WEST); + StartSpriteAnim(&gSprites[objectEvent->spriteId], 0x16); + objectEvent->invisible = FALSE; + task->data[1] = sub_8087168(); + sub_80871C8(task->data[1]); + sub_8087204(task->data[1], objectEvent->spriteId); + StartSpriteAnim(&gSprites[task->data[1]], gSaveBlock2Ptr->playerGender * 2 + 2); + sub_80877FC(&gSprites[task->data[1]], 1); + gSprites[task->data[1]].callback = sub_8087828; + } +} + +static void FlyInEffect_2(struct Task * task) +{ + struct ObjectEvent * objectEvent; + struct Sprite * sprite; + sub_80878C0(&gSprites[task->data[1]]); + if (task->data[2] == 0 || (--task->data[2]) == 0) + { + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + sprite = &gSprites[objectEvent->spriteId]; + sub_8087204(task->data[1], 0x40); + sprite->pos1.x += sprite->pos2.x; + sprite->pos1.y += sprite->pos2.y; + sprite->pos2.x = 0; + sprite->pos2.y = 0; + task->data[0]++; + task->data[2] = 0; + } +} + +static void FlyInEffect_3(struct Task * task) +{ + s16 gUnknown_83CC1F0[18] = { + -2, + -4, + -5, + -6, + -7, + -8, + -8, + -8, + -7, + -7, + -6, + -5, + -3, + -2, + 0, + 2, + 4, + 8 + }; + struct Sprite * sprite = &gSprites[gPlayerAvatar.spriteId]; + sprite->pos2.y = gUnknown_83CC1F0[task->data[2]]; + if ((++task->data[2]) >= 18) + { + task->data[0]++; + } +} + +static void FlyInEffect_4(struct Task * task) +{ + struct ObjectEvent * objectEvent; + struct Sprite * sprite; + if (sub_80871AC(task->data[1])) + { + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + sprite = &gSprites[objectEvent->spriteId]; + objectEvent->inanimate = FALSE; + MoveObjectEventToMapCoords(objectEvent, objectEvent->currentCoords.x, objectEvent->currentCoords.y); + sprite->pos2.x = 0; + sprite->pos2.y = 0; + sprite->coordOffsetEnabled = TRUE; + sub_805CB70(); + ObjectEventSetHeldMovement(objectEvent, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); + task->data[0]++; + } +} + +static void FlyInEffect_5(struct Task * task) +{ + if (ObjectEventClearHeldMovementIfFinished(&gObjectEvents[gPlayerAvatar.objectEventId])) + { + task->data[0]++; + sub_8087458(task->data[1]); + } +} + +static void FlyInEffect_6(struct Task * task) +{ + if (sub_80871AC(task->data[1])) + { + DestroySprite(&gSprites[task->data[1]]); + task->data[0]++; + task->data[1] = 0x10; + } +} + +static void FlyInEffect_7(struct Task * task) +{ + u8 state; + struct ObjectEvent * objectEvent; + if ((--task->data[1]) == 0) + { + objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; + state = 0; + if (task->data[15] & 0x08) + { + state = 2; + sub_80DC44C(objectEvent->fieldEffectSpriteId, 1); + } + ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(state)); + ObjectEventTurn(objectEvent, DIR_SOUTH); + gPlayerAvatar.flags = task->data[15]; + gPlayerAvatar.preventStep = FALSE; + FieldEffectActiveListRemove(FLDEFF_FLY_IN); + DestroyTask(FindTaskIdByFunc(Task_FldEffFlyIn)); + } +} + +static const union AffineAnimCmd sUnknown_83CC214[] = { + AFFINEANIMCMD_FRAME(24, 24, 0, 1), + AFFINEANIMCMD_JUMP(0) +}; + +static const union AffineAnimCmd sUnknown_83CC224[] = { + AFFINEANIMCMD_FRAME(512, 512, 0, 1), + AFFINEANIMCMD_FRAME(-16, -16, 0, 1), + AFFINEANIMCMD_JUMP(1) +}; + +static const union AffineAnimCmd *const sUnknown_83CC23C[] = { + sUnknown_83CC214, + sUnknown_83CC224 +}; + +static void sub_80877FC(struct Sprite * sprite, u8 affineAnimId) +{ + sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE; + sprite->affineAnims = sUnknown_83CC23C; + InitSpriteAffineAnim(sprite); + StartSpriteAffineAnim(sprite, affineAnimId); +} + +static void sub_8087828(struct Sprite * sprite) +{ + struct Sprite * sprite2; + sprite->pos2.x = Cos(sprite->data[2], 0xB4); + sprite->pos2.y = Sin(sprite->data[2], 0x48); + sprite->data[2] += 2; + sprite->data[2] &= 0xFF; + if (sprite->data[6] != MAX_SPRITES) + { + sprite2 = &gSprites[sprite->data[6]]; + sprite2->coordOffsetEnabled = FALSE; + sprite2->pos1.x = sprite->pos1.x + sprite->pos2.x; + sprite2->pos1.y = sprite->pos1.y + sprite->pos2.y - 8; + sprite2->pos2.x = 0; + sprite2->pos2.y = 0; + } + if (sprite->data[2] >= 0x80) + { + sprite->data[7] = 1; + sprite->oam.affineMode = ST_OAM_AFFINE_OFF; + FreeOamMatrix(sprite->oam.matrixNum); + CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, ST_OAM_AFFINE_OFF); + } +} + +static void sub_80878C0(struct Sprite * sprite) +{ + if (sprite->oam.affineMode != ST_OAM_AFFINE_OFF) + { + if (gOamMatrices[sprite->oam.matrixNum].a == 0x100 || gOamMatrices[sprite->oam.matrixNum].d == 0x100) + { + sprite->oam.affineMode = ST_OAM_AFFINE_OFF; + FreeOamMatrix(sprite->oam.matrixNum); + CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, ST_OAM_AFFINE_OFF); + StartSpriteAnim(sprite, 0); + sprite->callback = sub_80872F0; + } + } +} + +static void Task_MoveDeoxysRock_Step(u8 taskId); + +u32 FldEff_MoveDeoxysRock(void) +{ + u8 taskId; + u8 objectEventIdBuffer; + s32 x; + s32 y; + struct ObjectEvent * objectEvent; + if (!TryGetObjectEventIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2], &objectEventIdBuffer)) + { + objectEvent = &gObjectEvents[objectEventIdBuffer]; + x = objectEvent->currentCoords.x - 7; + y = objectEvent->currentCoords.y - 7; + x = (gFieldEffectArguments[3] - x) * 16; + y = (gFieldEffectArguments[4] - y) * 16; + ShiftObjectEventCoords(objectEvent, gFieldEffectArguments[3] + 7, gFieldEffectArguments[4] + 7); + taskId = CreateTask(Task_MoveDeoxysRock_Step, 0x50); + gTasks[taskId].data[1] = objectEvent->spriteId; + gTasks[taskId].data[2] = gSprites[objectEvent->spriteId].pos1.x + x; + gTasks[taskId].data[3] = gSprites[objectEvent->spriteId].pos1.y + y; + gTasks[taskId].data[8] = gFieldEffectArguments[5]; + gTasks[taskId].data[9] = objectEventIdBuffer; + } + return FALSE; +} + +static void Task_MoveDeoxysRock_Step(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + struct Sprite * sprite = &gSprites[data[1]]; + struct ObjectEvent * objectEvent; + switch (data[0]) + { + case 0: + data[4] = sprite->pos1.x << 4; + data[5] = sprite->pos1.y << 4; + data[6] = ((data[2] << 4) - data[4]) / data[8]; + data[7] = ((data[3] << 4) - data[5]) / data[8]; + data[0]++; + // fallthrough + case 1: + if (data[8] != 0) + { + data[8]--; + data[4] += data[6]; + data[5] += data[7]; + sprite->pos1.x = data[4] >> 4; + sprite->pos1.y = data[5] >> 4; + } + else + { + objectEvent = &gObjectEvents[data[9]]; + sprite->pos1.x = data[2]; + sprite->pos1.y = data[3]; + ShiftStillObjectEventCoords(objectEvent); + objectEvent->triggerGroundEffectsOnStop = TRUE; + FieldEffectActiveListRemove(FLDEFF_MOVE_DEOXYS_ROCK); + DestroyTask(taskId); + } + break; + } +} + +static void Task_FldEffUnk44(u8 taskId); +static void Unk44Effect_0(s16 *data, u8 taskId); +static void Unk44Effect_1(s16 *data, u8 taskId); +static void Unk44Effect_2(s16 *data, u8 taskId); +static void sub_8087CFC(struct Sprite * sprite); +static void SpriteCB_FldEffUnk44(struct Sprite * sprite); + +static void (*const sUnk44EffectFuncs[])(s16 *data, u8 taskId) = { + Unk44Effect_0, + Unk44Effect_1, + Unk44Effect_2 +}; + +static const struct SpriteFrameImage sImages_FldEffUnk44[] = { + {sFldEffUnk44_Tiles + 0x00, 0x20}, + {sFldEffUnk44_Tiles + 0x10, 0x20}, + {sFldEffUnk44_Tiles + 0x20, 0x20}, + {sFldEffUnk44_Tiles + 0x30, 0x20} +}; + +static const union AnimCmd sAnimCmd_FldEffUnk44_0[] = { + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +static const union AnimCmd sAnimCmd_FldEffUnk44_1[] = { + ANIMCMD_FRAME(1, 0), + ANIMCMD_END +}; + +static const union AnimCmd sAnimCmd_FldEffUnk44_2[] = { + ANIMCMD_FRAME(2, 0), + ANIMCMD_END +}; + +static const union AnimCmd sAnimCmd_FldEffUnk44_3[] = { + ANIMCMD_FRAME(3, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const sAnimCmdTable_FldEffUnk44[] = { + sAnimCmd_FldEffUnk44_0, + sAnimCmd_FldEffUnk44_1, + sAnimCmd_FldEffUnk44_2, + sAnimCmd_FldEffUnk44_3 +}; + +static const struct SpriteTemplate sUnknown_83CC2A0 = { + .tileTag = SPRITE_INVALID_TAG, + .paletteTag = 4371, + .oam = &sOamData_8x8, + .anims = sAnimCmdTable_FldEffUnk44, + .images = sImages_FldEffUnk44, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_FldEffUnk44 +}; + +u32 FldEff_Unk44(void) +{ + u8 taskId; + u8 objectEventIdBuffer; + if (!TryGetObjectEventIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2], &objectEventIdBuffer)) + { + taskId = CreateTask(Task_FldEffUnk44, 0x50); + gTasks[taskId].data[2] = objectEventIdBuffer; + gTasks[taskId].data[6] = gFieldEffectArguments[0]; + gTasks[taskId].data[7] = gFieldEffectArguments[1]; + gTasks[taskId].data[8] = gFieldEffectArguments[2]; + } + else + { + FieldEffectActiveListRemove(FLDEFF_UNK_44); + } + return FALSE; +} + +static void sub_8087B14(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (data[7] != 0) + { + if (++data[6] > 20) + { + data[6] = 0; + if (data[5] != 0) + data[5]--; + } + } + else + { + data[5] = 4; + } + + if (++data[0] > 1) + { + data[0] = 0; + if (++data[1] & 1) + { + SetCameraPanning(0, -data[5]); + } + else + { + SetCameraPanning(0, data[5]); + } + } + UpdateCameraPanning(); + if (data[5] == 0) + DestroyTask(taskId); +} + +static void sub_8087BA8(u8 taskId) +{ + gTasks[taskId].data[7] = 1; +} + +static void Task_FldEffUnk44(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + InstallCameraPanAheadCallback(); + SetCameraPanningCallback(NULL); + sUnk44EffectFuncs[data[1]](data, taskId); +} + +static void Unk44Effect_0(s16 *data, u8 taskId) +{ + u8 newTaskId = CreateTask(sub_8087B14, 90); + PlaySE(SE_T_KAMI2); + data[5] = newTaskId; + data[1]++; +} + +static void Unk44Effect_1(s16 *data, u8 taskId) +{ + if (++data[3] > 0x78) + { + struct Sprite * sprite = &gSprites[gObjectEvents[data[2]].spriteId]; + gObjectEvents[data[2]].invisible = TRUE; + BlendPalettes(0x0000FFFF, 0x10, RGB_WHITE); + BeginNormalPaletteFade(0x0000FFFF, 0, 0x10, 0, RGB_WHITE); + sub_8087CFC(sprite); + PlaySE(SE_T_KAMI); + sub_8087BA8(data[5]); + data[3] = 0; + data[1]++; + } +} + +static void Unk44Effect_2(s16 *data, u8 taskId) +{ + if (!gPaletteFade.active && !FuncIsActiveTask(sub_8087B14)) + { + InstallCameraPanAheadCallback(); + RemoveObjectEventByLocalIdAndMap(data[6], data[7], data[8]); + FieldEffectActiveListRemove(FLDEFF_UNK_44); + DestroyTask(taskId); + } +} + +static void sub_8087CFC(struct Sprite* sprite) +{ + int i; + int xPos = (s16)gTotalCameraPixelOffsetX + sprite->pos1.x + sprite->pos2.x; + int yPos = (s16)gTotalCameraPixelOffsetY + sprite->pos1.y + sprite->pos2.y - 4; + + for (i = 0; i < 4; i++) + { + u8 spriteId = CreateSprite(&sUnknown_83CC2A0, xPos, yPos, 0); + if (spriteId != MAX_SPRITES) + { + StartSpriteAnim(&gSprites[spriteId], i); + gSprites[spriteId].data[0] = i; + gSprites[spriteId].oam.paletteNum = sprite->oam.paletteNum; + } + } +} + +static void SpriteCB_FldEffUnk44(struct Sprite* sprite) +{ + switch (sprite->data[0]) + { + case 0: + sprite->pos1.x -= 16; + sprite->pos1.y -= 12; + break; + case 1: + sprite->pos1.x += 16; + sprite->pos1.y -= 12; + break; + case 2: + sprite->pos1.x -= 16; + sprite->pos1.y += 12; + break; + case 3: + sprite->pos1.x += 16; + sprite->pos1.y += 12; + break; + } + if (sprite->pos1.x < -4 || sprite->pos1.x > 0xF4 || sprite->pos1.y < -4 || sprite->pos1.y > 0xA4) + DestroySprite(sprite); +} + +static void Task_FldEffUnk45(u8 taskId) +{ + if (!gPaletteFade.active) + { + FieldEffectActiveListRemove(FLDEFF_UNK_45); + DestroyTask(taskId); + } +} + +// Bug: Return value should be u32, not void +void FldEff_Unk45(void) +{ + BlendPalettes(0xFFFFFFFF, 0x10, RGB_WHITE); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0x0F, 0x00, RGB_WHITE); + CreateTask(Task_FldEffUnk45, 90); +} diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c new file mode 100644 index 000000000..06d48fce0 --- /dev/null +++ b/src/field_effect_helpers.c @@ -0,0 +1,1411 @@ +#include "global.h" +#include "event_object_movement.h" +#include "field_camera.h" +#include "field_effect.h" +#include "field_weather.h" +#include "fieldmap.h" +#include "metatile_behavior.h" +#include "sound.h" +#include "sprite.h" +#include "constants/field_effects.h" +#include "constants/songs.h" + +#define OBJ_EVENT_PAL_TAG_NONE 0x11FF // duplicate of define in event_object_movement.c + +static void UpdateObjectReflectionSprite(struct Sprite * sprite); +static void LoadObjectReflectionPalette(struct ObjectEvent * objectEvent, struct Sprite * sprite); +static void LoadObjectHighBridgeReflectionPalette(struct ObjectEvent * objectEvent, u8 paletteNum); +static void LoadObjectRegularReflectionPalette(struct ObjectEvent * objectEvent, u8 paletteNum); +static void sub_80DCD48(struct Sprite * sprite, u8 z, u8 offset); +static void FadeFootprintsTireTracks_Step0(struct Sprite * sprite); +static void FadeFootprintsTireTracks_Step1(struct Sprite * sprite); +static void UpdateFeetInFlowingWaterFieldEffect(struct Sprite * sprite); +static void UpdateAshFieldEffect_Step0(struct Sprite * sprite); +static void UpdateAshFieldEffect_Step1(struct Sprite * sprite); +static void UpdateAshFieldEffect_Step2(struct Sprite * sprite); +static void SynchroniseSurfAnim(struct ObjectEvent * objectEvent, struct Sprite * sprite); +static void sub_80DC588(struct ObjectEvent * objectEvent, struct Sprite * sprite); +static void CreateBobbingEffect(struct ObjectEvent * objectEvent, struct Sprite * linkedSprite, struct Sprite * sprite); +static void sub_80DC700(struct Sprite * sprite); +static u32 ShowDisguiseFieldEffect(u8 fldEff, u8 templateIdx, u8 paletteNum); + +void SetUpReflection(struct ObjectEvent * objectEvent, struct Sprite * sprite, bool8 stillReflection) +{ + struct Sprite * reflectionSprite; + + reflectionSprite = &gSprites[CreateCopySpriteAt(sprite, sprite->pos1.x, sprite->pos1.y, 0x98)]; + reflectionSprite->callback = UpdateObjectReflectionSprite; + reflectionSprite->oam.priority = 3; + reflectionSprite->oam.paletteNum = gReflectionEffectPaletteMap[reflectionSprite->oam.paletteNum]; + reflectionSprite->usingSheet = TRUE; + reflectionSprite->anims = gDummySpriteAnimTable; + StartSpriteAnim(reflectionSprite, 0); + reflectionSprite->affineAnims = gDummySpriteAffineAnimTable; + reflectionSprite->affineAnimBeginning = TRUE; + reflectionSprite->subspriteMode = SUBSPRITES_OFF; + reflectionSprite->data[0] = sprite->data[0]; + reflectionSprite->data[1] = objectEvent->localId; + reflectionSprite->data[7] = stillReflection; + LoadObjectReflectionPalette(objectEvent, reflectionSprite); + + if (!stillReflection) + reflectionSprite->oam.affineMode = ST_OAM_AFFINE_NORMAL; +} + +static s16 GetReflectionVerticalOffset(struct ObjectEvent * objectEvent) +{ + return GetObjectEventGraphicsInfo(objectEvent->graphicsId)->height - 2; +} + +static void LoadObjectReflectionPalette(struct ObjectEvent * objectEvent, struct Sprite * sprite) +{ + u8 bridgeType; + u16 bridgeReflectionVerticalOffsets[] = { 12, 28, 44 }; + sprite->data[2] = 0; + if (!GetObjectEventGraphicsInfo(objectEvent->graphicsId)->disableReflectionPaletteLoad && ((bridgeType = MetatileBehavior_GetBridgeType(objectEvent->previousMetatileBehavior)) || (bridgeType = MetatileBehavior_GetBridgeType(objectEvent->currentMetatileBehavior)))) + { + sprite->data[2] = bridgeReflectionVerticalOffsets[bridgeType - 1]; + LoadObjectHighBridgeReflectionPalette(objectEvent, sprite->oam.paletteNum); + } + else + { + LoadObjectRegularReflectionPalette(objectEvent, sprite->oam.paletteNum); + } +} + +static void LoadObjectRegularReflectionPalette(struct ObjectEvent * objectEvent, u8 paletteIndex) +{ + const struct ObjectEventGraphicsInfo * graphicsInfo; + + graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); + if (graphicsInfo->paletteTag2 != OBJ_EVENT_PAL_TAG_NONE) + { + if (graphicsInfo->paletteSlot == 0) + { + LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag1, paletteIndex); + } + else if (graphicsInfo->paletteSlot == 10) + { + LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag1, paletteIndex); + } + else + { + PatchObjectPalette(GetObjectPaletteTag(paletteIndex), paletteIndex); + } + UpdateSpritePaletteWithWeather(paletteIndex); + } +} + +// When walking on a bridge high above water (Route 120), the reflection is a solid dark blue color. +// This is so the sprite blends in with the dark water metatile underneath the bridge. +static void LoadObjectHighBridgeReflectionPalette(struct ObjectEvent * objectEvent, u8 paletteNum) +{ + const struct ObjectEventGraphicsInfo * graphicsInfo; + + graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); + if (graphicsInfo->paletteTag2 != OBJ_EVENT_PAL_TAG_NONE) + { + PatchObjectPalette(graphicsInfo->paletteTag2, paletteNum); + UpdateSpritePaletteWithWeather(paletteNum); + } +} + +static void UpdateObjectReflectionSprite(struct Sprite * reflectionSprite) +{ + struct ObjectEvent * objectEvent; + struct Sprite * mainSprite; + + objectEvent = &gObjectEvents[reflectionSprite->data[0]]; + mainSprite = &gSprites[objectEvent->spriteId]; + if (!objectEvent->active || !objectEvent->hasReflection || objectEvent->localId != reflectionSprite->data[1]) + { + reflectionSprite->inUse = FALSE; + } + else + { + reflectionSprite->oam.paletteNum = gReflectionEffectPaletteMap[mainSprite->oam.paletteNum]; + reflectionSprite->oam.shape = mainSprite->oam.shape; + reflectionSprite->oam.size = mainSprite->oam.size; + reflectionSprite->oam.matrixNum = mainSprite->oam.matrixNum | ST_OAM_VFLIP; + reflectionSprite->oam.tileNum = mainSprite->oam.tileNum; + reflectionSprite->subspriteTables = mainSprite->subspriteTables; + reflectionSprite->subspriteTableNum = mainSprite->subspriteTableNum; + reflectionSprite->invisible = mainSprite->invisible; + reflectionSprite->pos1.x = mainSprite->pos1.x; + // reflectionSprite->data[2] holds an additional vertical offset, used by the high bridges on Route 120 + reflectionSprite->pos1.y = mainSprite->pos1.y + GetReflectionVerticalOffset(objectEvent) + reflectionSprite->data[2]; + reflectionSprite->centerToCornerVecX = mainSprite->centerToCornerVecX; + reflectionSprite->centerToCornerVecY = mainSprite->centerToCornerVecY; + reflectionSprite->pos2.x = mainSprite->pos2.x; + reflectionSprite->pos2.y = -mainSprite->pos2.y; + reflectionSprite->coordOffsetEnabled = mainSprite->coordOffsetEnabled; + +/* + if (objectEvent->hideReflection == TRUE) + reflectionSprite->invisible = TRUE; +*/ + + // Check if the reflection is not still. + if (reflectionSprite->data[7] == FALSE) + { + // Sets the reflection sprite's rot/scale matrix to the appropriate + // matrix based on whether or not the main sprite is horizontally flipped. + // If the sprite is facing to the east, then it is flipped, and its matrixNum is 8. + reflectionSprite->oam.matrixNum = 0; + if (mainSprite->oam.matrixNum & ST_OAM_HFLIP) + reflectionSprite->oam.matrixNum = 1; + } + } +} + +extern const struct SpriteTemplate * const gFieldEffectObjectTemplatePointers[]; + +u8 CreateWarpArrowSprite(void) +{ + u8 spriteId; + struct Sprite * sprite; + + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[8], 0, 0, 0x52); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->oam.priority = 1; + sprite->coordOffsetEnabled = TRUE; + sprite->invisible = TRUE; + } + return spriteId; +} + +void SetSpriteInvisible(u8 spriteId) +{ + gSprites[spriteId].invisible = TRUE; +} + +void ShowWarpArrowSprite(u8 spriteId, u8 direction, s16 x, s16 y) +{ + s16 x2; + s16 y2; + struct Sprite * sprite; + + sprite = &gSprites[spriteId]; + if (sprite->invisible || sprite->data[0] != x || sprite->data[1] != y) + { + SetSpritePosToMapCoords(x, y, &x2, &y2); + sprite = &gSprites[spriteId]; + sprite->pos1.x = x2 + 8; + sprite->pos1.y = y2 + 8; + sprite->invisible = FALSE; + sprite->data[0] = x; + sprite->data[1] = y; + StartSpriteAnim(sprite, direction - 1); + } +} + +const u8 gShadowEffectTemplateIds[] = { + 0, + 1, + 2, + 3 +}; + +const u16 gShadowVerticalOffsets[] = { + 4, + 4, + 4, + 16 +}; + +u32 FldEff_Shadow(void) +{ + u8 objectEventId; + const struct ObjectEventGraphicsInfo * graphicsInfo; + u8 spriteId; + + objectEventId = GetObjectEventIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + graphicsInfo = GetObjectEventGraphicsInfo(gObjectEvents[objectEventId].graphicsId); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[gShadowEffectTemplateIds[graphicsInfo->shadowSize]], 0, 0, 0x94); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].coordOffsetEnabled = TRUE; + gSprites[spriteId].data[0] = gFieldEffectArguments[0]; + gSprites[spriteId].data[1] = gFieldEffectArguments[1]; + gSprites[spriteId].data[2] = gFieldEffectArguments[2]; + gSprites[spriteId].data[3] = (graphicsInfo->height >> 1) - gShadowVerticalOffsets[graphicsInfo->shadowSize]; + } + return 0; +} + +void UpdateShadowFieldEffect(struct Sprite * sprite) +{ + u8 objectEventId; + struct ObjectEvent * objectEvent; + struct Sprite * linkedSprite; + + if (TryGetObjectEventIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &objectEventId)) + { + FieldEffectStop(sprite, FLDEFF_SHADOW); + } + else + { + objectEvent = &gObjectEvents[objectEventId]; + linkedSprite = &gSprites[objectEvent->spriteId]; + sprite->oam.priority = linkedSprite->oam.priority; + sprite->pos1.x = linkedSprite->pos1.x; + sprite->pos1.y = linkedSprite->pos1.y + sprite->data[3]; + if (!objectEvent->active || !objectEvent->hasShadow + || MetatileBehavior_IsPokeGrass(objectEvent->currentMetatileBehavior) + || MetatileBehavior_IsSurfable(objectEvent->currentMetatileBehavior) + || MetatileBehavior_IsSurfable(objectEvent->previousMetatileBehavior) + || MetatileBehavior_IsReflective(objectEvent->currentMetatileBehavior) + || MetatileBehavior_IsReflective(objectEvent->previousMetatileBehavior)) + { + FieldEffectStop(sprite, FLDEFF_SHADOW); + } + } +} + +u32 FldEff_TallGrass(void) +{ + s16 x; + s16 y; + u8 spriteId; + struct Sprite * sprite; + + x = gFieldEffectArguments[0]; + y = gFieldEffectArguments[1]; + sub_8063BC4(&x, &y, 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[4], x, y, 0); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data[0] = gFieldEffectArguments[2]; + sprite->data[1] = gFieldEffectArguments[0]; + sprite->data[2] = gFieldEffectArguments[1]; + sprite->data[3] = gFieldEffectArguments[4]; + sprite->data[4] = gFieldEffectArguments[5]; + sprite->data[5] = gFieldEffectArguments[6]; + if (gFieldEffectArguments[7]) + { + SeekSpriteAnim(sprite, 4); + } + } + return 0; +} + +void UpdateTallGrassFieldEffect(struct Sprite * sprite) +{ + u8 mapNum; + u8 mapGroup; + u8 metatileBehavior; + u8 localId; + u8 objectEventId; + struct ObjectEvent * objectEvent; + + mapNum = sprite->data[5] >> 8; + mapGroup = sprite->data[5]; + if (gCamera.active && (gSaveBlock1Ptr->location.mapNum != mapNum || gSaveBlock1Ptr->location.mapGroup != mapGroup)) + { + sprite->data[1] -= gCamera.x; + sprite->data[2] -= gCamera.y; + sprite->data[5] = ((u8)gSaveBlock1Ptr->location.mapNum << 8) | (u8)gSaveBlock1Ptr->location.mapGroup; + } + localId = sprite->data[3] >> 8; + mapNum = sprite->data[3]; + mapGroup = sprite->data[4]; + metatileBehavior = MapGridGetMetatileBehaviorAt(sprite->data[1], sprite->data[2]); + if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId) || !MetatileBehavior_IsTallGrass_2(metatileBehavior) || (sprite->data[7] && sprite->animEnded)) + { + FieldEffectStop(sprite, FLDEFF_TALL_GRASS); + } + else + { + objectEvent = &gObjectEvents[objectEventId]; + if ((objectEvent->currentCoords.x != sprite->data[1] || objectEvent->currentCoords.y != sprite->data[2]) && (objectEvent->previousCoords.x != sprite->data[1] || objectEvent->previousCoords.y != sprite->data[2])) + sprite->data[7] = TRUE; + + // This variable is misused. + metatileBehavior = 0; + if (sprite->animCmdIndex == 0) + metatileBehavior = 4; + + UpdateObjectEventSpriteVisibility(sprite, FALSE); + sub_80DCD48(sprite, sprite->data[0], metatileBehavior); + } +} + +u32 FldEff_JumpTallGrass(void) +{ + u8 spriteId; + struct Sprite * sprite; + + sub_8063BC4((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 12); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[10], gFieldEffectArguments[0], gFieldEffectArguments[1], 0); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data[0] = gFieldEffectArguments[2]; + sprite->data[1] = 12; + } + return 0; +} + +u8 FindTallGrassFieldEffectSpriteId(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) +{ + struct Sprite * sprite; + u8 i; + + for (i = 0; i < MAX_SPRITES; i++) + { + if (gSprites[i].inUse) + { + sprite = &gSprites[i]; + if (sprite->callback == UpdateTallGrassFieldEffect && (x == sprite->data[1] && y == sprite->data[2]) && (localId == (sprite->data[3] >> 8) && mapNum == (sprite->data[3] & 0xFF) && mapGroup == sprite->data[4])) + return i; + } + } + + return MAX_SPRITES; +} + +u32 FldEff_LongGrass(void) +{ + s16 x; + s16 y; + u8 spriteId; + struct Sprite * sprite; + + x = gFieldEffectArguments[0]; + y = gFieldEffectArguments[1]; + sub_8063BC4(&x, &y, 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[15], x, y, 0); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = ZCoordToPriority(gFieldEffectArguments[2]); + sprite->data[0] = gFieldEffectArguments[2]; + sprite->data[1] = gFieldEffectArguments[0]; + sprite->data[2] = gFieldEffectArguments[1]; + sprite->data[3] = gFieldEffectArguments[4]; + sprite->data[4] = gFieldEffectArguments[5]; + sprite->data[5] = gFieldEffectArguments[6]; + if (gFieldEffectArguments[7]) + { + SeekSpriteAnim(sprite, 6); + } + } + return 0; +} + +void UpdateLongGrassFieldEffect(struct Sprite * sprite) +{ + u8 mapNum; + u8 mapGroup; + u8 metatileBehavior; + u8 localId; + u8 objectEventId; + struct ObjectEvent * objectEvent; + + mapNum = sprite->data[5] >> 8; + mapGroup = sprite->data[5]; + if (gCamera.active && (gSaveBlock1Ptr->location.mapNum != mapNum || gSaveBlock1Ptr->location.mapGroup != mapGroup)) + { + sprite->data[1] -= gCamera.x; + sprite->data[2] -= gCamera.y; + sprite->data[5] = ((u8)gSaveBlock1Ptr->location.mapNum << 8) | (u8)gSaveBlock1Ptr->location.mapGroup; + } + localId = sprite->data[3] >> 8; + mapNum = sprite->data[3]; + mapGroup = sprite->data[4]; + metatileBehavior = MapGridGetMetatileBehaviorAt(sprite->data[1], sprite->data[2]); + if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId) || !MetatileBehavior_IsLongGrass(metatileBehavior) || (sprite->data[7] && sprite->animEnded)) + { + FieldEffectStop(sprite, FLDEFF_LONG_GRASS); + } + else + { + objectEvent = &gObjectEvents[objectEventId]; + if ((objectEvent->currentCoords.x != sprite->data[1] || objectEvent->currentCoords.y != sprite->data[2]) && (objectEvent->previousCoords.x != sprite->data[1] || objectEvent->previousCoords.y != sprite->data[2])) + { + sprite->data[7] = TRUE; + } + UpdateObjectEventSpriteVisibility(sprite, FALSE); + sub_80DCD48(sprite, sprite->data[0], 0); + } +} + +u32 FldEff_JumpLongGrass(void) +{ + u8 spriteId; + struct Sprite * sprite; + + sub_8063BC4((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[16], gFieldEffectArguments[0], gFieldEffectArguments[1], 0); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data[0] = gFieldEffectArguments[2]; + sprite->data[1] = 18; + } + return 0; +} + +u32 FldEff_ShortGrass(void) +{ + u8 objectEventId; + struct ObjectEvent * objectEvent; + u8 spriteId; + struct Sprite * sprite; + + objectEventId = GetObjectEventIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + objectEvent = &gObjectEvents[objectEventId]; + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[30], 0, 0, 0); + if (spriteId != MAX_SPRITES) + { + sprite = &(gSprites[spriteId]); + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gSprites[objectEvent->spriteId].oam.priority; + sprite->data[0] = gFieldEffectArguments[0]; + sprite->data[1] = gFieldEffectArguments[1]; + sprite->data[2] = gFieldEffectArguments[2]; + sprite->data[3] = gSprites[objectEvent->spriteId].pos1.x; + sprite->data[4] = gSprites[objectEvent->spriteId].pos1.y; + } + return 0; +} + +void UpdateShortGrassFieldEffect(struct Sprite * sprite) +{ + u8 objectEventId; + s16 x; + s16 y; + const struct ObjectEventGraphicsInfo * graphicsInfo; + struct Sprite * linkedSprite; + + if (TryGetObjectEventIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &objectEventId) || !gObjectEvents[objectEventId].inShortGrass) + { + FieldEffectStop(sprite, FLDEFF_SHORT_GRASS); + } + else + { + graphicsInfo = GetObjectEventGraphicsInfo(gObjectEvents[objectEventId].graphicsId); + linkedSprite = &gSprites[gObjectEvents[objectEventId].spriteId]; + y = linkedSprite->pos1.y; + x = linkedSprite->pos1.x; + if (x != sprite->data[3] || y != sprite->data[4]) + { + sprite->data[3] = x; + sprite->data[4] = y; + if (sprite->animEnded) + { + StartSpriteAnim(sprite, 0); + } + } + sprite->pos1.x = x; + sprite->pos1.y = y; + sprite->pos2.y = (graphicsInfo->height >> 1) - 8; + sprite->subpriority = linkedSprite->subpriority - 1; + sprite->oam.priority = linkedSprite->oam.priority; + UpdateObjectEventSpriteVisibility(sprite, linkedSprite->invisible); + } +} + +u32 FldEff_SandFootprints(void) +{ + u8 spriteId; + struct Sprite * sprite; + + sub_8063BC4((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[11], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data[7] = FLDEFF_SAND_FOOTPRINTS; + StartSpriteAnim(sprite, gFieldEffectArguments[4]); + } + return 0; +} + +u32 FldEff_DeepSandFootprints(void) +{ + u8 spriteId; + struct Sprite * sprite; + + sub_8063BC4((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[23], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data[7] = FLDEFF_DEEP_SAND_FOOTPRINTS; + StartSpriteAnim(sprite, gFieldEffectArguments[4]); + } + return spriteId; +} + +u32 FldEff_BikeTireTracks(void) +{ + u8 spriteId; + struct Sprite * sprite; + + sub_8063BC4((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[27], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data[7] = FLDEFF_BIKE_TIRE_TRACKS; + StartSpriteAnim(sprite, gFieldEffectArguments[4]); + } + return spriteId; +} + +void (*const gFadeFootprintsTireTracksFuncs[])(struct Sprite * sprite) = { + FadeFootprintsTireTracks_Step0, + FadeFootprintsTireTracks_Step1 +}; + +void UpdateFootprintsTireTracksFieldEffect(struct Sprite * sprite) +{ + gFadeFootprintsTireTracksFuncs[sprite->data[0]](sprite); +} + +static void FadeFootprintsTireTracks_Step0(struct Sprite * sprite) +{ + // Wait 40 frames before the flickering starts. + if (++sprite->data[1] > 40) + sprite->data[0] = 1; + + UpdateObjectEventSpriteVisibility(sprite, FALSE); +} + +static void FadeFootprintsTireTracks_Step1(struct Sprite * sprite) +{ + sprite->invisible ^= 1; + sprite->data[1]++; + UpdateObjectEventSpriteVisibility(sprite, sprite->invisible); + if (sprite->data[1] > 56) + { + FieldEffectStop(sprite, sprite->data[7]); + } +} + +u32 FldEff_Splash(void) +{ + u8 objectEventId; + struct ObjectEvent * objectEvent; + u8 spriteId; + struct Sprite * sprite; + const struct ObjectEventGraphicsInfo * graphicsInfo; + struct Sprite * linkedSprite; + + objectEventId = GetObjectEventIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + objectEvent = &gObjectEvents[objectEventId]; + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[13], 0, 0, 0); + if (spriteId != MAX_SPRITES) + { + graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + linkedSprite = &gSprites[objectEvent->spriteId]; + sprite->oam.priority = linkedSprite->oam.priority; + sprite->data[0] = gFieldEffectArguments[0]; + sprite->data[1] = gFieldEffectArguments[1]; + sprite->data[2] = gFieldEffectArguments[2]; + sprite->pos2.y = (graphicsInfo->height >> 1) - 4; + PlaySE(SE_MIZU); + } + return 0; +} + +void UpdateSplashFieldEffect(struct Sprite * sprite) +{ + u8 objectEventId; + + if (sprite->animEnded || TryGetObjectEventIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &objectEventId)) + { + FieldEffectStop(sprite, FLDEFF_SPLASH); + } + else + { + sprite->pos1.x = gSprites[gObjectEvents[objectEventId].spriteId].pos1.x; + sprite->pos1.y = gSprites[gObjectEvents[objectEventId].spriteId].pos1.y; + UpdateObjectEventSpriteVisibility(sprite, FALSE); + } +} + +u32 FldEff_JumpSmallSplash(void) +{ + u8 spriteId; + struct Sprite * sprite; + + sub_8063BC4((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 12); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[14], gFieldEffectArguments[0], gFieldEffectArguments[1], 0); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data[0] = gFieldEffectArguments[2]; + sprite->data[1] = FLDEFF_JUMP_SMALL_SPLASH; + } + return 0; +} + +u32 FldEff_JumpBigSplash(void) +{ + u8 spriteId; + struct Sprite * sprite; + + sub_8063BC4((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[12], gFieldEffectArguments[0], gFieldEffectArguments[1], 0); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data[0] = gFieldEffectArguments[2]; + sprite->data[1] = FLDEFF_JUMP_BIG_SPLASH; + } + return 0; +} + +u32 FldEff_FeetInFlowingWater(void) +{ + u8 objectEventId; + struct ObjectEvent * objectEvent; + u8 spriteId; + struct Sprite * sprite; + const struct ObjectEventGraphicsInfo * graphicsInfo; + + objectEventId = GetObjectEventIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + objectEvent = &gObjectEvents[objectEventId]; + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[13], 0, 0, 0); + if (spriteId != MAX_SPRITES) + { + graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); + sprite = &gSprites[spriteId]; + sprite->callback = UpdateFeetInFlowingWaterFieldEffect; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gSprites[objectEvent->spriteId].oam.priority; + sprite->data[0] = gFieldEffectArguments[0]; + sprite->data[1] = gFieldEffectArguments[1]; + sprite->data[2] = gFieldEffectArguments[2]; + sprite->data[3] = -1; + sprite->data[4] = -1; + sprite->pos2.y = (graphicsInfo->height >> 1) - 4; + StartSpriteAnim(sprite, 1); + } + return 0; +} + +static void UpdateFeetInFlowingWaterFieldEffect(struct Sprite * sprite) +{ + u8 objectEventId; + struct Sprite * linkedSprite; + struct ObjectEvent * objectEvent; + + if (TryGetObjectEventIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &objectEventId) || !gObjectEvents[objectEventId].inShallowFlowingWater) + { + FieldEffectStop(sprite, FLDEFF_FEET_IN_FLOWING_WATER); + } + else + { + objectEvent = &gObjectEvents[objectEventId]; + linkedSprite = &gSprites[objectEvent->spriteId]; + sprite->pos1.x = linkedSprite->pos1.x; + sprite->pos1.y = linkedSprite->pos1.y; + sprite->subpriority = linkedSprite->subpriority; + UpdateObjectEventSpriteVisibility(sprite, FALSE); + if (objectEvent->currentCoords.x != sprite->data[3] || objectEvent->currentCoords.y != sprite->data[4]) + { + sprite->data[3] = objectEvent->currentCoords.x; + sprite->data[4] = objectEvent->currentCoords.y; + if (!sprite->invisible) + { + PlaySE(SE_MIZU); + } + } + } +} + +u32 FldEff_Ripple(void) +{ + u8 spriteId; + struct Sprite * sprite; + + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[5], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data[0] = FLDEFF_RIPPLE; + } + return 0; +} + +u32 FldEff_HotSpringsWater(void) +{ + u8 objectEventId; + struct ObjectEvent * objectEvent; + u8 spriteId; + struct Sprite * sprite; + + objectEventId = GetObjectEventIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + objectEvent = &gObjectEvents[objectEventId]; + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[31], 0, 0, 0); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gSprites[objectEvent->spriteId].oam.priority; + sprite->data[0] = gFieldEffectArguments[0]; + sprite->data[1] = gFieldEffectArguments[1]; + sprite->data[2] = gFieldEffectArguments[2]; + sprite->data[3] = gSprites[objectEvent->spriteId].pos1.x; + sprite->data[4] = gSprites[objectEvent->spriteId].pos1.y; + } + return 0; +} + +void UpdateHotSpringsWaterFieldEffect(struct Sprite * sprite) +{ + u8 objectEventId; + const struct ObjectEventGraphicsInfo * graphicsInfo; + struct Sprite * linkedSprite; + + if (TryGetObjectEventIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &objectEventId) || !gObjectEvents[objectEventId].inHotSprings) + { + FieldEffectStop(sprite, FLDEFF_HOT_SPRINGS_WATER); + } + else + { + graphicsInfo = GetObjectEventGraphicsInfo(gObjectEvents[objectEventId].graphicsId); + linkedSprite = &gSprites[gObjectEvents[objectEventId].spriteId]; + sprite->pos1.x = linkedSprite->pos1.x; + sprite->pos1.y = (graphicsInfo->height >> 1) + linkedSprite->pos1.y - 8; + sprite->subpriority = linkedSprite->subpriority - 1; + UpdateObjectEventSpriteVisibility(sprite, FALSE); + } +} + +u32 FldEff_Unknown19(void) +{ + u8 spriteId; + struct Sprite * sprite; + + sub_8063BC4((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[17], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data[0] = FLDEFF_UNKNOWN_19; + } + return 0; +} + +u32 FldEff_Unknown20(void) +{ + u8 spriteId; + struct Sprite * sprite; + + sub_8063BC4((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[18], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data[0] = FLDEFF_UNKNOWN_20; + } + return 0; +} + +u32 FldEff_Unknown21(void) +{ + u8 spriteId; + struct Sprite * sprite; + + sub_8063BC4((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[19], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data[0] = FLDEFF_UNKNOWN_21; + } + return 0; +} + +u32 FldEff_Unknown22(void) +{ + u8 spriteId; + struct Sprite * sprite; + + sub_8063BC4((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[20], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data[0] = FLDEFF_UNKNOWN_22; + } + return 0; +} + +void StartAshFieldEffect(s16 x, s16 y, u16 metatileId, s16 d) +{ + gFieldEffectArguments[0] = x; + gFieldEffectArguments[1] = y; + gFieldEffectArguments[2] = 0x52; + gFieldEffectArguments[3] = 1; + gFieldEffectArguments[4] = metatileId; + gFieldEffectArguments[5] = d; + FieldEffectStart(FLDEFF_ASH); +} + +u32 FldEff_Ash(void) +{ + s16 x; + s16 y; + u8 spriteId; + struct Sprite * sprite; + + x = gFieldEffectArguments[0]; + y = gFieldEffectArguments[1]; + sub_8063BC4(&x, &y, 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[6], x, y, gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data[1] = gFieldEffectArguments[0]; + sprite->data[2] = gFieldEffectArguments[1]; + sprite->data[3] = gFieldEffectArguments[4]; + sprite->data[4] = gFieldEffectArguments[5]; + } + return 0; +} + +void (*const gAshFieldEffectFuncs[])(struct Sprite * sprite) = { + UpdateAshFieldEffect_Step0, + UpdateAshFieldEffect_Step1, + UpdateAshFieldEffect_Step2 +}; + +void UpdateAshFieldEffect(struct Sprite * sprite) +{ + gAshFieldEffectFuncs[sprite->data[0]](sprite); +} + +static void UpdateAshFieldEffect_Step0(struct Sprite * sprite) +{ + sprite->invisible = TRUE; + sprite->animPaused = TRUE; + if (--sprite->data[4] == 0) + sprite->data[0] = 1; +} + +static void UpdateAshFieldEffect_Step1(struct Sprite * sprite) +{ + sprite->invisible = FALSE; + sprite->animPaused = FALSE; + MapGridSetMetatileIdAt(sprite->data[1], sprite->data[2], sprite->data[3]); + CurrentMapDrawMetatileAt(sprite->data[1], sprite->data[2]); + gObjectEvents[gPlayerAvatar.objectEventId].triggerGroundEffectsOnMove = TRUE; + sprite->data[0] = 2; +} + +static void UpdateAshFieldEffect_Step2(struct Sprite * sprite) +{ + UpdateObjectEventSpriteVisibility(sprite, FALSE); + if (sprite->animEnded) + FieldEffectStop(sprite, FLDEFF_ASH); +} + +u32 FldEff_SurfBlob(void) +{ + u8 spriteId; + struct Sprite * sprite; + + sub_8063BC4((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[7], gFieldEffectArguments[0], gFieldEffectArguments[1], 0x96); + if (spriteId !=MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.paletteNum = 0; + sprite->data[2] = gFieldEffectArguments[2]; + sprite->data[3] = 0; + sprite->data[6] = -1; + sprite->data[7] = -1; + } + FieldEffectActiveListRemove(FLDEFF_SURF_BLOB); + return spriteId; +} + +void sub_80DC44C(u8 spriteId, u8 value) +{ + gSprites[spriteId].data[0] = (gSprites[spriteId].data[0] & ~0xF) | (value & 0xF); +} + +void sub_80DC478(u8 spriteId, u8 value) +{ + gSprites[spriteId].data[0] = (gSprites[spriteId].data[0] & ~0xF0) | ((value & 0xF) << 4); +} + +void sub_80DC4A4(u8 spriteId, u8 value, s16 data1) +{ + gSprites[spriteId].data[0] = (gSprites[spriteId].data[0] & ~0xF00) | ((value & 0xF) << 8); + gSprites[spriteId].data[1] = data1; +} + +static u8 sub_80DC4D8(struct Sprite * sprite) +{ + return sprite->data[0] & 0xF; +} + +static u8 sub_80DC4E0(struct Sprite * sprite) +{ + return (sprite->data[0] & 0xF0) >> 4; +} + +static u8 sub_80DC4EC(struct Sprite * sprite) +{ + return (sprite->data[0] & 0xF00) >> 8; +} + +void UpdateSurfBlobFieldEffect(struct Sprite * sprite) +{ + struct ObjectEvent * objectEvent; + struct Sprite * linkedSprite; + + objectEvent = &gObjectEvents[sprite->data[2]]; + linkedSprite = &gSprites[objectEvent->spriteId]; + SynchroniseSurfAnim(objectEvent, sprite); + sub_80DC588(objectEvent, sprite); + CreateBobbingEffect(objectEvent, linkedSprite, sprite); + sprite->oam.priority = linkedSprite->oam.priority; +} + +static void SynchroniseSurfAnim(struct ObjectEvent * objectEvent, struct Sprite * sprite) +{ + u8 surfBlobDirectionAnims[] = { + [DIR_NONE] = 0, + [DIR_SOUTH] = 0, + [DIR_NORTH] = 1, + [DIR_WEST] = 2, + [DIR_EAST] = 3 + }; + + if (sub_80DC4E0(sprite) == 0) + StartSpriteAnimIfDifferent(sprite, surfBlobDirectionAnims[objectEvent->movementDirection]); +} + +void sub_80DC588(struct ObjectEvent * objectEvent, struct Sprite * sprite) +{ + u8 i; + s16 x = objectEvent->currentCoords.x; + s16 y = objectEvent->currentCoords.y; + s32 spriteY = sprite->pos2.y; + + if (spriteY == 0 && (x != sprite->data[6] || y != sprite->data[7])) + { + sprite->data[5] = spriteY; + sprite->data[6] = x; + sprite->data[7] = y; + for (i = DIR_SOUTH; i <= DIR_EAST; i++, x = sprite->data[6], y = sprite->data[7]) + { + MoveCoords(i, &x, &y); + if (MapGridGetZCoordAt(x, y) == 3) + { + sprite->data[5]++; + break; + } + } + } +} + +static void CreateBobbingEffect(struct ObjectEvent * objectEvent, struct Sprite * linkedSprite, struct Sprite * sprite) +{ + u16 unk_83FECFA[] = {7, 15}; + u8 v0 = sub_80DC4D8(sprite); + if (v0 != 0) + { + if (((u16)(++ sprite->data[4]) & unk_83FECFA[sprite->data[5]]) == 0) + { + sprite->pos2.y += sprite->data[3]; + } + if ((sprite->data[4] & 0x1F) == 0) + { + sprite->data[3] = -sprite->data[3]; + } + if (v0 != 2) + { + if (sub_80DC4EC(sprite) == 0) + linkedSprite->pos2.y = sprite->pos2.y; + else + linkedSprite->pos2.y = sprite->data[1] + sprite->pos2.y; + if (sprite->animCmdIndex != 0) + linkedSprite->pos2.y++; + sprite->pos1.x = linkedSprite->pos1.x; + sprite->pos1.y = linkedSprite->pos1.y + 8; + } + } +} + +u8 sub_80DC6B0(u8 oldSpriteId) +{ + u8 spriteId; + struct Sprite * sprite; + + spriteId = CreateSpriteAtEnd(&gDummySpriteTemplate, 0, 0, -1); + sprite = &gSprites[spriteId]; + sprite->callback = sub_80DC700; + sprite->invisible = TRUE; + sprite->data[0] = oldSpriteId; + sprite->data[1] = 1; + return spriteId; +} + +static void sub_80DC700(struct Sprite * sprite) +{ + struct Sprite * oldSprite; + + oldSprite = &gSprites[sprite->data[0]]; + if (((sprite->data[2]++) & 0x03) == 0) + { + oldSprite->pos2.y += sprite->data[1]; + } + if ((sprite->data[2] & 0x0F) == 0) + { + sprite->data[1] = -sprite->data[1]; + } +} + +u32 FldEff_Dust(void) +{ + u8 spriteId; + struct Sprite * sprite; + + sub_8063BC4((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 12); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[9], gFieldEffectArguments[0], gFieldEffectArguments[1], 0); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data[0] = gFieldEffectArguments[2]; + sprite->data[1] = 10; + } + return 0; +} + +u32 FldEff_SandPile(void) +{ + u8 objectEventId; + struct ObjectEvent * objectEvent; + u8 spriteId; + struct Sprite * sprite; + const struct ObjectEventGraphicsInfo * graphicsInfo; + + objectEventId = GetObjectEventIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + objectEvent = &gObjectEvents[objectEventId]; + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[29], 0, 0, 0); + if (spriteId != MAX_SPRITES) + { + graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gSprites[objectEvent->spriteId].oam.priority; + sprite->data[0] = gFieldEffectArguments[0]; + sprite->data[1] = gFieldEffectArguments[1]; + sprite->data[2] = gFieldEffectArguments[2]; + sprite->data[3] = gSprites[objectEvent->spriteId].pos1.x; + sprite->data[4] = gSprites[objectEvent->spriteId].pos1.y; + sprite->pos2.y = (graphicsInfo->height >> 1) - 2; + SeekSpriteAnim(sprite, 2); + } + return 0; +} + +void UpdateSandPileFieldEffect(struct Sprite * sprite) +{ + u8 objectEventId; + s16 x; + s16 y; + + if (TryGetObjectEventIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &objectEventId) || !gObjectEvents[objectEventId].inSandPile) + { + FieldEffectStop(sprite, FLDEFF_SAND_PILE); + } + else + { + y = gSprites[gObjectEvents[objectEventId].spriteId].pos1.y; + x = gSprites[gObjectEvents[objectEventId].spriteId].pos1.x; + if (x != sprite->data[3] || y != sprite->data[4]) + { + sprite->data[3] = x; + sprite->data[4] = y; + if (sprite->animEnded) + { + StartSpriteAnim(sprite, 0); + } + } + sprite->pos1.x = x; + sprite->pos1.y = y; + sprite->subpriority = gSprites[gObjectEvents[objectEventId].spriteId].subpriority; + UpdateObjectEventSpriteVisibility(sprite, FALSE); + } +} + +u32 FldEff_Bubbles(void) +{ + u8 spriteId; + struct Sprite * sprite; + + sub_8063BC4((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 0); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[34], gFieldEffectArguments[0], gFieldEffectArguments[1], 0x52); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = 1; + } + return 0; +} + +void UpdateBubblesFieldEffect(struct Sprite * sprite) +{ + sprite->data[0] += 0x80; + sprite->data[0] &= 0x100; + sprite->pos1.y -= sprite->data[0] >> 8; + UpdateObjectEventSpriteVisibility(sprite, FALSE); + if (sprite->invisible || sprite->animEnded) + { + FieldEffectStop(sprite, FLDEFF_BUBBLES); + } +} + +u32 FldEff_BerryTreeGrowthSparkle(void) +{ + /*u8 spriteId; + struct Sprite * sprite; + + sub_8063BC4((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 4); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[22], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->oam.paletteNum = 5; + sprite->data[0] = FLDEFF_BERRY_TREE_GROWTH_SPARKLE; + }*/ + return 0; +} + +u32 ShowTreeDisguiseFieldEffect(void) +{ + return ShowDisguiseFieldEffect(FLDEFF_TREE_DISGUISE, 24, 4); +} + +u32 ShowMountainDisguiseFieldEffect(void) +{ + return ShowDisguiseFieldEffect(FLDEFF_MOUNTAIN_DISGUISE, 25, 3); +} + +u32 ShowSandDisguiseFieldEffect(void) +{ + return ShowDisguiseFieldEffect(FLDEFF_SAND_DISGUISE, 28, 2); +} + +static u32 ShowDisguiseFieldEffect(u8 fldEff, u8 templateIdx, u8 paletteNum) +{ + u8 spriteId; + struct Sprite * sprite; + + if (TryGetObjectEventIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2], &spriteId)) + { + FieldEffectActiveListRemove(fldEff); + return MAX_SPRITES; + } + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[templateIdx], 0, 0, 0); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled++; + sprite->oam.paletteNum = paletteNum; + sprite->data[1] = fldEff; + sprite->data[2] = gFieldEffectArguments[0]; + sprite->data[3] = gFieldEffectArguments[1]; + sprite->data[4] = gFieldEffectArguments[2]; + } + return spriteId; +} + +void UpdateDisguiseFieldEffect(struct Sprite * sprite) +{ + u8 objectEventId; + const struct ObjectEventGraphicsInfo * graphicsInfo; + struct Sprite * linkedSprite; + + if (TryGetObjectEventIdByLocalIdAndMap(sprite->data[2], sprite->data[3], sprite->data[4], &objectEventId)) + { + FieldEffectStop(sprite, sprite->data[1]); + } + + graphicsInfo = GetObjectEventGraphicsInfo(gObjectEvents[objectEventId].graphicsId); + linkedSprite = &gSprites[gObjectEvents[objectEventId].spriteId]; + sprite->invisible = linkedSprite->invisible; + sprite->pos1.x = linkedSprite->pos1.x; + sprite->pos1.y = (graphicsInfo->height >> 1) + linkedSprite->pos1.y - 16; + sprite->subpriority = linkedSprite->subpriority - 1; + if (sprite->data[0] == 1) + { + sprite->data[0]++; + StartSpriteAnim(sprite, 1); + } + if (sprite->data[0] == 2 && sprite->animEnded) + { + sprite->data[7] = 1; + } + if (sprite->data[0] == 3) + { + FieldEffectStop(sprite, sprite->data[1]); + } +} + +void sub_80DCBB8(struct ObjectEvent * objectEvent) +{ + if (objectEvent->directionSequenceIndex == 1) + { + gSprites[objectEvent->fieldEffectSpriteId].data[0]++; + } +} + +bool8 sub_80DCBE0(struct ObjectEvent * objectEvent) +{ + struct Sprite * sprite; + + if (objectEvent->directionSequenceIndex == 2) + { + return TRUE; + } + if (objectEvent->directionSequenceIndex == 0) + { + return TRUE; + } + sprite = &gSprites[objectEvent->fieldEffectSpriteId]; + if (sprite->data[7]) + { + objectEvent->directionSequenceIndex = 2; + sprite->data[0]++; + return TRUE; + } + return FALSE; +} + +u32 FldEff_Sparkle(void) +{ + u8 spriteId; + + gFieldEffectArguments[0] += 7; + gFieldEffectArguments[1] += 7; + sub_8063BC4((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[35], gFieldEffectArguments[0], gFieldEffectArguments[1], 0x52); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].oam.priority = gFieldEffectArguments[2]; + gSprites[spriteId].coordOffsetEnabled = TRUE; + } + return 0; +} + +void UpdateSparkleFieldEffect(struct Sprite * sprite) +{ + if (sprite->data[0] == 0) + { + if (sprite->animEnded) + { + sprite->invisible = TRUE; + sprite->data[0]++; + } + + if (sprite->data[0] == 0) + return; + } + + if (++sprite->data[1] > 34) + FieldEffectStop(sprite, FLDEFF_SPARKLE); +} + +void sub_80DCCE0(struct Sprite * sprite) +{ + if (sprite->animEnded) + { + FieldEffectStop(sprite, sprite->data[1]); + } + else + { + UpdateObjectEventSpriteVisibility(sprite, FALSE); + SetObjectSubpriorityByZCoord(sprite->data[0], sprite, 0); + } +} + +void WaitFieldEffectSpriteAnim(struct Sprite * sprite) +{ + if (sprite->animEnded) + FieldEffectStop(sprite, sprite->data[0]); + else + UpdateObjectEventSpriteVisibility(sprite, FALSE); +} + +static void sub_80DCD48(struct Sprite * sprite, u8 z, u8 offset) +{ + u8 i; + s16 var, xhi, lyhi, yhi, ylo; + const struct ObjectEventGraphicsInfo * graphicsInfo; // Unused Variable + struct Sprite * linkedSprite; + + SetObjectSubpriorityByZCoord(z, sprite, offset); + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) + { + struct ObjectEvent * objectEvent = &gObjectEvents[i]; + if (objectEvent->active) + { + graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); + linkedSprite = &gSprites[objectEvent->spriteId]; + xhi = sprite->pos1.x + sprite->centerToCornerVecX; + var = sprite->pos1.x - sprite->centerToCornerVecX; + if (xhi < linkedSprite->pos1.x && var > linkedSprite->pos1.x) + { + lyhi = linkedSprite->pos1.y + linkedSprite->centerToCornerVecY; + var = linkedSprite->pos1.y; + ylo = sprite->pos1.y - sprite->centerToCornerVecY; + yhi = ylo + linkedSprite->centerToCornerVecY; + if ((lyhi < yhi || lyhi < ylo) && var > yhi && sprite->subpriority <= linkedSprite->subpriority) + { + sprite->subpriority = linkedSprite->subpriority + 2; + break; + } + } + } + } +} diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c index 4edefd13a..58f654110 100644 --- a/src/field_fadetransition.c +++ b/src/field_fadetransition.c @@ -13,16 +13,17 @@ #include "metatile_behavior.h" #include "quest_log.h" #include "link.h" -#include "event_object_80688E4.h" +#include "event_object_movement.h" #include "sound.h" #include "field_door.h" #include "field_effect.h" #include "field_screen_effect.h" -#include "event_object_movement.h" #include "field_specials.h" #include "event_object_lock.h" #include "start_menu.h" #include "constants/songs.h" +#include "constants/event_object_movement.h" +#include "constants/field_weather.h" static void sub_807DF4C(u8 a0); static void sub_807DFBC(u8 taskId); @@ -50,18 +51,18 @@ void palette_bg_faded_fill_black(void) CpuFastFill16(RGB_BLACK, gPlttBufferFaded, 0x400); } -void pal_fill_for_maplights(void) +void WarpFadeInScreen(void) { - switch (sub_80C9DCC(get_map_light_from_warp0(), GetCurrentMapType())) + switch (MapTransitionIsExit(GetLastUsedWarpMapType(), GetCurrentMapType())) { case 0: palette_bg_faded_fill_black(); - FadeScreen(0, 0); + FadeScreen(FADE_FROM_BLACK, 0); palette_bg_faded_fill_black(); break; case 1: palette_bg_faded_fill_white(); - FadeScreen(2, 0); + FadeScreen(FADE_FROM_WHITE, 0); palette_bg_faded_fill_white(); break; } @@ -69,42 +70,42 @@ void pal_fill_for_maplights(void) static void sub_807DBAC(void) { - switch (sub_80C9DCC(get_map_light_from_warp0(), GetCurrentMapType())) + switch (MapTransitionIsExit(GetLastUsedWarpMapType(), GetCurrentMapType())) { case 0: palette_bg_faded_fill_black(); - FadeScreen(0, 3); + FadeScreen(FADE_FROM_BLACK, 3); palette_bg_faded_fill_black(); break; case 1: palette_bg_faded_fill_white(); - FadeScreen(2, 3); + FadeScreen(FADE_FROM_WHITE, 3); palette_bg_faded_fill_white(); break; } } -void sub_807DC00(void) +void FadeInFromBlack(void) { palette_bg_faded_fill_black(); - FadeScreen(0, 0); + FadeScreen(FADE_FROM_BLACK, 0); palette_bg_faded_fill_black(); } -void sub_807DC18(void) +void WarpFadeOutScreen(void) { const struct MapHeader *header = warp1_get_mapheader(); - if (header->regionMapSectionId != gMapHeader.regionMapSectionId && sub_80F8110(header->regionMapSectionId, FALSE)) - FadeScreen(1, 0); + if (header->regionMapSectionId != gMapHeader.regionMapSectionId && MapHasPreviewScreen(header->regionMapSectionId, MPS_TYPE_CAVE)) + FadeScreen(FADE_TO_BLACK, 0); else { - switch (sub_80C9D7C(GetCurrentMapType(), header->mapType)) + switch (MapTransitionIsEnter(GetCurrentMapType(), header->mapType)) { - case 0: - FadeScreen(1, 0); + case FALSE: + FadeScreen(FADE_TO_BLACK, 0); break; - case 1: - FadeScreen(3, 0); + case TRUE: + FadeScreen(FADE_TO_WHITE, 0); break; } } @@ -112,13 +113,13 @@ void sub_807DC18(void) static void sub_807DC70(void) { - switch (sub_80C9D7C(GetCurrentMapType(), warp1_get_mapheader()->mapType)) + switch (MapTransitionIsEnter(GetCurrentMapType(), warp1_get_mapheader()->mapType)) { - case 0: - FadeScreen(1, 3); + case FALSE: + FadeScreen(FADE_TO_BLACK, 3); break; - case 1: - FadeScreen(3, 3); + case TRUE: + FadeScreen(FADE_TO_WHITE, 3); break; } } @@ -138,7 +139,7 @@ void sub_807DCE4(void) { ScriptContext2_Enable(); Overworld_PlaySpecialMapMusic(); - sub_807DC00(); + FadeInFromBlack(); CreateTask(task0A_nop_for_a_while, 10); } @@ -155,14 +156,14 @@ void FieldCallback_ReturnToEventScript2(void) { ScriptContext2_Enable(); Overworld_PlaySpecialMapMusic(); - sub_807DC00(); + FadeInFromBlack(); CreateTask(task0A_asap_script_env_2_enable_and_set_ctx_running, 10); } void sub_807DD44(void) { ScriptContext2_Enable(); - sub_807DC00(); + FadeInFromBlack(); CreateTask(task0A_asap_script_env_2_enable_and_set_ctx_running, 10); } @@ -172,13 +173,13 @@ static void task_mpl_807DD60(u8 taskId) switch (task->data[0]) { case 0: - task->data[1] = sub_8081150(); + task->data[1] = CreateTask_ReestablishLinkInCableClubRoom(); task->data[0]++; break; case 1: if (gTasks[task->data[1]].isActive != TRUE) { - pal_fill_for_maplights(); + WarpFadeInScreen(); task->data[0]++; } break; @@ -192,7 +193,7 @@ static void task_mpl_807DD60(u8 taskId) } } -void sub_807DDD0(void) +void FieldCB_ReturnToFieldWiredLink(void) { ScriptContext2_Enable(); Overworld_PlaySpecialMapMusic(); @@ -206,13 +207,13 @@ static void sub_807DDF0(u8 taskId) switch (task->data[0]) { case 0: - sub_800AB9C(); + PrepareSendLinkCmd2FFE_or_RfuCmd6600(); task->data[0]++; break; case 1: if (IsLinkTaskFinished()) { - pal_fill_for_maplights(); + WarpFadeInScreen(); task->data[0]++; } break; @@ -227,7 +228,7 @@ static void sub_807DDF0(u8 taskId) } } -void sub_807DE58(void) +void FieldCB_ReturnToFieldWirelessLink(void) { ScriptContext2_Enable(); Overworld_PlaySpecialMapMusic(); @@ -246,7 +247,7 @@ static void sub_807DE78(bool8 a0) if (MetatileBehavior_IsWarpDoor_2(behavior) == TRUE) { func = sub_807DFBC; - switch (sub_80C9DCC(get_map_light_from_warp0(), GetCurrentMapType())) + switch (MapTransitionIsExit(GetLastUsedWarpMapType(), GetCurrentMapType())) { case 0: palette_bg_faded_fill_black(); @@ -278,9 +279,9 @@ static void sub_807DE78(bool8 a0) static void sub_807DF4C(bool8 a0) { if (!a0) - pal_fill_for_maplights(); + WarpFadeInScreen(); else - sub_807DC00(); + FadeInFromBlack(); } void sub_807DF64(void) @@ -302,7 +303,7 @@ void sub_807DF7C(void) static void sub_807DF94(void) { Overworld_PlaySpecialMapMusic(); - pal_fill_for_maplights(); + WarpFadeInScreen(); sub_8111CF0(); PlaySE(SE_TK_WARPOUT); CreateTask(sub_807E31C, 10); @@ -349,7 +350,7 @@ static void sub_807DFBC(u8 taskId) { PlayerGetDestCoords(&task->data[12], &task->data[13]); sub_807DCB0(TRUE); - ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], 16); + ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], MOVEMENT_ACTION_WALK_NORMAL_DOWN); task->data[0] = 8; } break; @@ -373,7 +374,7 @@ static void sub_807DFBC(u8 taskId) if (sub_807E418()) { sub_807DCB0(TRUE); - ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], 16); + ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], MOVEMENT_ACTION_WALK_NORMAL_DOWN); task->data[0] = 2; } break; @@ -485,7 +486,7 @@ static void Task_WaitFadeAndCreateStartMenuTask(u8 taskId) void FadeTransition_FadeInOnReturnToStartMenu(void) { - sub_807DC00(); + FadeInFromBlack(); CreateTask(Task_WaitFadeAndCreateStartMenuTask, 80); ScriptContext2_Enable(); } @@ -510,7 +511,7 @@ void sub_807E3EC(void) { ScriptContext2_Enable(); Overworld_PlaySpecialMapMusic(); - sub_807DC00(); + FadeInFromBlack(); CreateTask(task_mpl_807E3C8, 10); } @@ -521,7 +522,7 @@ static bool32 sub_807E40C(void) bool32 sub_807E418(void) { - if (IsWeatherNotFadingIn() == TRUE && sub_80F83B0()) + if (IsWeatherNotFadingIn() == TRUE && ForestMapPreviewScreenIsRunning()) return TRUE; else return FALSE; @@ -530,8 +531,8 @@ bool32 sub_807E418(void) void DoWarp(void) { ScriptContext2_Enable(); - sub_8055F88(); - sub_807DC18(); + TryFadeOutOldMapMusic(); + WarpFadeOutScreen(); PlayRainStoppingSoundEffect(); PlaySE(SE_KAIDAN); gFieldCallback = sub_807DF64; @@ -541,8 +542,8 @@ void DoWarp(void) void DoDiveWarp(void) { ScriptContext2_Enable(); - sub_8055F88(); - sub_807DC18(); + TryFadeOutOldMapMusic(); + WarpFadeOutScreen(); PlayRainStoppingSoundEffect(); gFieldCallback = sub_807DF64; CreateTask(sub_807E718, 10); @@ -580,31 +581,31 @@ void sub_807E524(void) void DoFallWarp(void) { DoDiveWarp(); - gFieldCallback = sub_8084454; + gFieldCallback = FieldCB_FallWarpExit; } void sub_807E560(u8 a0) { ScriptContext2_Enable(); - sub_8084784(a0, 10); + StartEscalatorWarp(a0, 10); } void sub_807E57C(void) { ScriptContext2_Enable(); - sub_8084F2C(10); + StartLavaridgeGymB1FWarp(10); } void sub_807E58C(void) { ScriptContext2_Enable(); - sub_80853CC(10); + StartLavaridgeGym1FWarp(10); } void sub_807E59C(void) { ScriptContext2_Enable(); - sub_8055F88(); + TryFadeOutOldMapMusic(); CreateTask(sub_807E784, 10); gFieldCallback = sub_807DF94; } @@ -612,7 +613,7 @@ void sub_807E59C(void) void sub_807E5C4(void) { ScriptContext2_Enable(); - sub_807DC18(); + WarpFadeOutScreen(); CreateTask(sub_807E718, 10); gFieldCallback = nullsub_60; } @@ -632,7 +633,7 @@ static void sub_807E5EC(u8 taskId) break; case 2: WarpIntoMap(); - SetMainCallback2(sub_8056788); + SetMainCallback2(CB2_ReturnToFieldCableClub); DestroyTask(taskId); break; } @@ -641,8 +642,8 @@ static void sub_807E5EC(u8 taskId) void DoCableClubWarp(void) { ScriptContext2_Enable(); - sub_8055F88(); - sub_807DC18(); + TryFadeOutOldMapMusic(); + WarpFadeOutScreen(); PlaySE(SE_KAIDAN); CreateTask(sub_807E5EC, 10); } @@ -654,15 +655,15 @@ static void sub_807E678(u8 taskId) { case 0: ClearLinkCallback_2(); - FadeScreen(1, 0); - sub_8055F88(); + FadeScreen(FADE_TO_BLACK, 0); + TryFadeOutOldMapMusic(); PlaySE(SE_KAIDAN); data[0]++; break; case 1: if (!sub_807E40C() && BGMusicStopped()) { - sub_800AAC0(); + Link_TryStartSend5FFF(); data[0]++; } break; @@ -719,7 +720,7 @@ static void sub_807E784(u8 taskId) case 1: if (!sub_805DAD0()) { - sub_807DC18(); + WarpFadeOutScreen(); task->data[0]++; } break; @@ -753,7 +754,7 @@ static void sub_807E80C(u8 taskId) if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE) { ObjectEventClearHeldMovementIfActive(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)]); - ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], 17); + ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], MOVEMENT_ACTION_WALK_NORMAL_UP); task->data[0] = 2; } break; @@ -773,14 +774,14 @@ static void sub_807E80C(u8 taskId) } break; case 4: - sub_8055F88(); - sub_807DC18(); + TryFadeOutOldMapMusic(); + WarpFadeOutScreen(); PlayRainStoppingSoundEffect(); task->data[0] = 0; task->func = sub_807E718; break; case 5: - sub_8055F88(); + TryFadeOutOldMapMusic(); PlayRainStoppingSoundEffect(); task->data[0] = 0; task->func = sub_807E718; @@ -808,7 +809,7 @@ static void sub_807E980(u8 taskId) data[15]--; else { - sub_8055F88(); + TryFadeOutOldMapMusic(); PlayRainStoppingSoundEffect(); playerSpr->oam.priority = 1; sub_807EB64(data[1], &data[2], &data[3]); @@ -822,7 +823,7 @@ static void sub_807E980(u8 taskId) data[15]++; if (data[15] >= 12) { - sub_807DC18(); + WarpFadeOutScreen(); data[0]++; } break; @@ -906,7 +907,7 @@ static void sub_807EC34(u8 taskId) break; case 0: Overworld_PlaySpecialMapMusic(); - pal_fill_for_maplights(); + WarpFadeInScreen(); ScriptContext2_Enable(); sub_807ECBC(&data[1], &data[2], &data[3], &data[4], &data[5]); data[0]++; diff --git a/src/field_message_box.c b/src/field_message_box.c new file mode 100644 index 000000000..1909fd398 --- /dev/null +++ b/src/field_message_box.c @@ -0,0 +1,140 @@ +#include "global.h" +#include "gflib.h" +#include "new_menu_helpers.h" +#include "quest_log.h" +#include "script.h" +#include "text_window.h" + +static EWRAM_DATA u8 sMessageBoxType = 0; + +static void textbox_fdecode_auto_and_task_add(const u8 *str); +static void textbox_auto_and_task_add(void); + +void sub_8069348(void) +{ + sMessageBoxType = 0; + gTextFlags.canABSpeedUpPrint = FALSE; + gTextFlags.useAlternateDownArrow = FALSE; + gTextFlags.autoScroll = FALSE; +} + +static void Task_RunFieldMessageBoxPrinter(u8 taskId) +{ + struct Task * task = &gTasks[taskId]; + switch (task->data[0]) + { + case 0: + if (gQuestLogState == QL_STATE_2) + { + gTextFlags.autoScroll = TRUE; + TextWindow_LoadTilesStdFrame1(0, 0x200); + } + else if (!IsMsgSignPost()) + { + LoadStdWindowFrameGfx(); + } + else + { + LoadSignPostWindowFrameGfx(); + } + task->data[0]++; + break; + case 1: + DrawDialogueFrame(0, TRUE); + task->data[0]++; + break; + case 2: + if (RunTextPrinters_CheckPrinter0Active() != TRUE) + { + sMessageBoxType = 0; + DestroyTask(taskId); + } + break; + } +} + +static void task_add_textbox(void) +{ + CreateTask(Task_RunFieldMessageBoxPrinter, 80); +} + +static void task_del_textbox(void) +{ + u8 taskId = FindTaskIdByFunc(Task_RunFieldMessageBoxPrinter); + if (taskId != 0xFF) + DestroyTask(taskId); +} + +bool8 ShowFieldMessage(const u8 *str) +{ + if (sMessageBoxType != 0) + return FALSE; + textbox_fdecode_auto_and_task_add(str); + sMessageBoxType = 2; + return TRUE; +} + +bool8 ShowFieldAutoScrollMessage(const u8 *str) +{ + if (sMessageBoxType != 0) + return FALSE; + sMessageBoxType = 3; + textbox_fdecode_auto_and_task_add(str); + return TRUE; +} + +bool8 sub_806948C(const u8 *str) +{ + sMessageBoxType = 3; + textbox_fdecode_auto_and_task_add(str); + return TRUE; +} + +bool8 sub_80694A4(const u8 *str) +{ + if (sMessageBoxType != 0) + return FALSE; + sMessageBoxType = 2; + textbox_auto_and_task_add(); + return TRUE; +} + +static void textbox_fdecode_auto_and_task_add(const u8 *str) +{ + StringExpandPlaceholders(gStringVar4, str); + AddTextPrinterDiffStyle(TRUE); + task_add_textbox(); +} + +static void textbox_auto_and_task_add(void) +{ + AddTextPrinterDiffStyle(TRUE); + task_add_textbox(); +} + +void HideFieldMessageBox(void) +{ + task_del_textbox(); + ClearDialogWindowAndFrame(0, TRUE); + sMessageBoxType = 0; +} + +u8 textbox_any_visible(void) +{ + return sMessageBoxType; +} + +bool8 IsFieldMessageBoxHidden(void) +{ + if (sMessageBoxType == 0) + return TRUE; + else + return FALSE; +} + +void sub_8069538(void) +{ + task_del_textbox(); + DrawStdWindowFrame(0, TRUE); + sMessageBoxType = 0; +} diff --git a/src/field_poison.c b/src/field_poison.c index 07c2b763f..aa77375a5 100644 --- a/src/field_poison.c +++ b/src/field_poison.c @@ -48,42 +48,45 @@ static bool32 MonFaintedFromPoison(u8 partyIdx) return FALSE; } -static void Task_WhiteOut(u8 taskId) +#define tState data[0] +#define tPartyId data[1] + +static void Task_TryFieldPoisonWhiteOut(u8 taskId) { s16 *data = gTasks[taskId].data; - switch (data[0]) + switch (tState) { case 0: - for (; data[1] < PARTY_SIZE; data[1]++) + for (; tPartyId < PARTY_SIZE; tPartyId++) { - if (MonFaintedFromPoison(data[1])) + if (MonFaintedFromPoison(tPartyId)) { - FaintFromFieldPoison(data[1]); + FaintFromFieldPoison(tPartyId); ShowFieldMessage(gText_PkmnFainted3); data[0]++; return; } } - data[0] = 2; + tState = 2; break; case 1: if (IsFieldMessageBoxHidden()) - data[0]--; + tState--; break; case 2: if (AllMonsFainted()) - gSpecialVar_Result = 1; + gSpecialVar_Result = TRUE; else - gSpecialVar_Result = 0; + gSpecialVar_Result = FALSE; EnableBothScriptContexts(); DestroyTask(taskId); break; } } -void ExecuteWhiteOut(void) +void TryFieldPoisonWhiteOut(void) { - CreateTask(Task_WhiteOut, 80); + CreateTask(Task_TryFieldPoisonWhiteOut, 80); ScriptContext1_Stop(); } diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 0a3224cfa..85739ad24 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -212,7 +212,7 @@ void WriteFlashScanlineEffectBuffer(u8 flashLevel) } } -void sub_807F0B0(void) +void Script_FadeOutMapMusic(void) { Overworld_FadeOutMapMusic(); CreateTask(Task_EnableScriptAfterMusicFade, 80); @@ -430,7 +430,7 @@ static void sub_807F45C(u8 taskId) CopyWindowToVram(windowId, 1); RemoveWindow(windowId); palette_bg_faded_fill_black(); - sub_807DC00(); + FadeInFromBlack(); ++gTasks[taskId].data[0]; break; case 3: @@ -444,7 +444,7 @@ static void sub_807F45C(u8 taskId) if (sub_807E418() == TRUE) { DestroyTask(taskId); - ScriptContext1_SetupScript(EventScript_MomHeal); + ScriptContext1_SetupScript(EventScript_AfterWhiteOutMomHeal); } break; } diff --git a/src/field_special_scene.c b/src/field_special_scene.c index 4f9446942..327426231 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -21,6 +21,7 @@ void nullsub_60(void) { } -void nullsub_61(void) +// From Hoenn's SS Tidal +void LookThroughPorthole(void) { } diff --git a/src/field_specials.c b/src/field_specials.c index bb320d42a..ea4ed9449 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -41,11 +41,12 @@ #include "constants/songs.h" #include "constants/species.h" #include "constants/items.h" -#include "constants/object_events.h" #include "constants/maps.h" -#include "constants/region_map.h" +#include "constants/region_map_sections.h" #include "constants/moves.h" #include "constants/menu.h" +#include "constants/event_objects.h" +#include "constants/metatile_labels.h" static EWRAM_DATA u8 sElevatorCurrentFloorWindowId = 0; static EWRAM_DATA u16 sElevatorScroll = 0; @@ -76,12 +77,12 @@ static void Task_SuspendListMenu(u8 taskId); static void Task_RedrawScrollArrowsAndWaitInput(u8 taskId); static void Task_CreateMenuRemoveScrollIndicatorArrowPair(u8 taskId); static void Task_ListMenuRemoveScrollIndicatorArrowPair(u8 taskId); -static u16 GetStarterPokemon(u16 starterIdx); +static u16 GetStarterSpeciesById(u16 starterIdx); static void ChangeBoxPokemonNickname_CB(void); static void ChangePokemonNickname_CB(void); static void Task_RunPokemonLeagueLightingEffect(u8 taskId); static void Task_CancelPokemonLeagueLightingEffect(u8 taskId); -static void Task_DoDeoxysRockInteraction(u8 taskId); +static void Task_DoDeoxysTriangleInteraction(u8 taskId); static void MoveDeoxysObject(u8 num); static void Task_WaitDeoxysFieldEffect(u8 taskId); static void Task_WingFlapSound(u8 taskId); @@ -92,14 +93,14 @@ static u8 *const sStringVarPtrs[] = { gStringVar3 }; -void Special_ShowDiploma(void) +void ShowDiploma(void) { sub_8112364(); SetMainCallback2(CB2_ShowDiploma); ScriptContext2_Enable(); } -void Special_ForcePlayerOntoBike(void) +void ForcePlayerOntoBike(void) { if (gPlayerAvatar.flags & 1) SetPlayerAvatarTransitionFlags(2); @@ -112,7 +113,7 @@ void nullsub_74(void) } -u8 Special_GetPlayerAvatarBike(void) +u8 GetPlayerAvatarBike(void) { if (TestPlayerAvatarFlags(4)) return 1; @@ -122,24 +123,24 @@ u8 Special_GetPlayerAvatarBike(void) return 0; } -void Special_ShowStringVar4AsFieldMessage(void) +void ShowFieldMessageStringVar4(void) { ShowFieldMessage(gStringVar4); } -void Special_GetPlayerXY(void) +void GetPlayerXY(void) { gSpecialVar_0x8004 = gSaveBlock1Ptr->pos.x; gSpecialVar_0x8005 = gSaveBlock1Ptr->pos.y; } -u8 Special_GetPlayerTrainerIdOnesDigit(void) +u8 GetPlayerTrainerIdOnesDigit(void) { u16 playerId = (gSaveBlock2Ptr->playerTrainerId[1] << 8) | gSaveBlock2Ptr->playerTrainerId[0]; return playerId % 10; } -void Special_BufferBigGuyOrBigGirlString(void) +void BufferBigGuyOrBigGirlString(void) { if (gSaveBlock2Ptr->playerGender == MALE) StringCopy(gStringVar1, gText_BigGuy); @@ -147,7 +148,7 @@ void Special_BufferBigGuyOrBigGirlString(void) StringCopy(gStringVar1, gText_BigGirl); } -void Special_BufferSonOrDaughterString(void) +void BufferSonOrDaughterString(void) { if (gSaveBlock2Ptr->playerGender == MALE) StringCopy(gStringVar1, gText_Son); @@ -155,17 +156,17 @@ void Special_BufferSonOrDaughterString(void) StringCopy(gStringVar1, gText_Daughter); } -u8 Special_GetBattleOutcome(void) +u8 GetBattleOutcome(void) { return gBattleOutcome; } -void Special_SetHiddenItemFlag(void) +void SetHiddenItemFlag(void) { FlagSet(gSpecialVar_0x8004); } -u8 Special_GetLeadMonFriendship(void) +u8 GetLeadMonFriendship(void) { struct Pokemon * pokemon = &gPlayerParty[GetLeadMonIndex()]; if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) == 255) @@ -184,13 +185,13 @@ u8 Special_GetLeadMonFriendship(void) return 0; } -void Special_TownMap(void) +void ShowTownMap(void) { sub_8112364(); sub_80BFF50(1, CB2_ReturnToFieldContinueScriptPlayMapMusic); } -bool8 Special_PlayerHasGrassPokemonInParty(void) +bool8 PlayerHasGrassPokemonInParty(void) { u8 i; struct Pokemon * pokemon; @@ -211,34 +212,41 @@ bool8 Special_PlayerHasGrassPokemonInParty(void) return FALSE; } -void Special_AnimatePcTurnOn(void) +#define tState data[0] +#define tTimer data[1] + +void AnimatePcTurnOn(void) { u8 taskId; if (FuncIsActiveTask(Task_AnimatePcTurnOn) != TRUE) { taskId = CreateTask(Task_AnimatePcTurnOn, 8); - gTasks[taskId].data[0] = 0; - gTasks[taskId].data[1] = 0; + gTasks[taskId].tState = 0; + gTasks[taskId].tTimer = 0; } } +// PC flickers on and off while turning on static void Task_AnimatePcTurnOn(u8 taskId) { s16 *data = gTasks[taskId].data; - if (data[1] == 6) + if (tTimer == 6) { - PcTurnOnUpdateMetatileId(data[0] & 1); + PcTurnOnUpdateMetatileId(tState & 1); DrawWholeMapView(); - data[1] = 0; - data[0]++; - if (data[0] == 5) + tTimer = 0; + tState++; + if (tState == 5) DestroyTask(taskId); } - data[1]++; + tTimer++; } -static void PcTurnOnUpdateMetatileId(bool16 a0) +#undef tState +#undef tTimer + +static void PcTurnOnUpdateMetatileId(bool16 flickerOff) { u16 metatileId = 0; s8 deltaX = 0; @@ -260,28 +268,28 @@ static void PcTurnOnUpdateMetatileId(bool16 a0) deltaY = -1; break; } - if (a0) + if (flickerOff) { if (gSpecialVar_0x8004 == 0) - metatileId = 0x62; + metatileId = METATILE_Building_PCOff; else if (gSpecialVar_0x8004 == 1) - metatileId = 0x28F; + metatileId = METATILE_GenericBuilding1_PlayersPCOff; else if (gSpecialVar_0x8004 == 2) - metatileId = 0x28F; + metatileId = METATILE_GenericBuilding1_PlayersPCOff; } else { if (gSpecialVar_0x8004 == 0) - metatileId = 0x63; + metatileId = METATILE_Building_PCOn; else if (gSpecialVar_0x8004 == 1) - metatileId = 0x28A; + metatileId = METATILE_GenericBuilding1_PlayersPCOn; else if (gSpecialVar_0x8004 == 2) - metatileId = 0x28A; + metatileId = METATILE_GenericBuilding1_PlayersPCOn; } - MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + deltaX + 7, gSaveBlock1Ptr->pos.y + deltaY + 7, metatileId | 0xC00); + MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + deltaX + 7, gSaveBlock1Ptr->pos.y + deltaY + 7, metatileId | METATILE_COLLISION_MASK); } -void Special_AnimatePcTurnOff() +void AnimatePcTurnOff() { u16 metatileId = 0; s8 deltaX = 0; @@ -304,18 +312,19 @@ void Special_AnimatePcTurnOff() break; } if (gSpecialVar_0x8004 == 0) - metatileId = 0x62; + metatileId = METATILE_Building_PCOff; else if (gSpecialVar_0x8004 == 1) - metatileId = 0x28F; + metatileId = METATILE_GenericBuilding1_PlayersPCOff; else if (gSpecialVar_0x8004 == 2) - metatileId = 0x28F; - MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + deltaX + 7, gSaveBlock1Ptr->pos.y + deltaY + 7, metatileId | 0xC00); + metatileId = METATILE_GenericBuilding1_PlayersPCOff; + MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + deltaX + 7, gSaveBlock1Ptr->pos.y + deltaY + 7, metatileId | METATILE_COLLISION_MASK); DrawWholeMapView(); } void SpawnCameraObject(void) { - u8 objectEventId = SpawnSpecialObjectEventParameterized(OBJECT_EVENT_GFX_YOUNGSTER, 8, 127, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3); + + u8 objectEventId = SpawnSpecialObjectEventParameterized(OBJ_EVENT_GFX_YOUNGSTER, 8, OBJ_EVENT_ID_CAMERA, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3); gObjectEvents[objectEventId].invisible = TRUE; CameraObjectSetFollowedObjectId(gObjectEvents[objectEventId].spriteId); } @@ -326,7 +335,7 @@ void RemoveCameraObject(void) RemoveObjectEventByLocalIdAndMap(127, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); } -void Special_BufferEReaderTrainerName5(void) +void BufferEReaderTrainerName(void) { CopyEReaderTrainerName5(gStringVar1); } @@ -381,7 +390,7 @@ static const u8 sSlotMachineIndices[] = { 5 }; -u8 Special_GetRandomSlotMachine(void) +u8 GetRandomSlotMachineId(void) { u16 rval = Random() % NELEMS(sSlotMachineIndices); return sSlotMachineIndices[rval]; @@ -404,7 +413,7 @@ void GiveLeadMonEffortRibbon(void) SetMonData(&gPlayerParty[leadMonIdx], MON_DATA_EFFORT_RIBBON, ¶m); } -bool8 ScrSpecial_AreLeadMonEVsMaxedOut(void) +bool8 AreLeadMonEVsMaxedOut(void) { u8 leadMonIndex = GetLeadMonIndex(); if (GetMonEVCount(&gPlayerParty[leadMonIndex]) >= 510) @@ -413,9 +422,9 @@ bool8 ScrSpecial_AreLeadMonEVsMaxedOut(void) return FALSE; } -bool8 Special_IsStarterFirstStageInParty(void) +bool8 IsStarterFirstStageInParty(void) { - u16 species = GetStarterPokemon(VarGet(VAR_STARTER_MON)); + u16 species = GetStarterSpeciesById(VarGet(VAR_STARTER_MON)); u8 partyCount = CalculatePlayerPartyCount(); u8 i; for (i = 0; i < partyCount; i++) @@ -426,7 +435,7 @@ bool8 Special_IsStarterFirstStageInParty(void) return FALSE; } -bool8 Special_IsThereRoomInAnyBoxForMorePokemon(void) +bool8 IsThereRoomInAnyBoxForMorePokemon(void) { u16 i; u16 j; @@ -441,7 +450,7 @@ bool8 Special_IsThereRoomInAnyBoxForMorePokemon(void) return FALSE; } -bool8 Special_CheckPartyPokerus(void) +bool8 IsPokerusInParty(void) { if (!CheckPartyPokerus(gPlayerParty, 0x3F)) return FALSE; @@ -455,7 +464,7 @@ bool8 Special_CheckPartyPokerus(void) #define tDuration data[3] #define tYtrans data[4] -void Special_ShakeScreen(void) +void ShakeScreen(void) { /* * 0x8004 = x translation @@ -518,12 +527,12 @@ u8 GetLeadMonIndex(void) return 0; } -u16 Special_GetSpeciesOfPartySlot_x8004(void) +u16 GetPartyMonSpecies(void) { return GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPECIES2, NULL); } -bool8 Special_IsMonOTNameNotPlayers(void) +bool8 IsMonOTNameNotPlayers(void) { GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_OT_NAME, gStringVar1); @@ -533,7 +542,8 @@ bool8 Special_IsMonOTNameNotPlayers(void) return TRUE; } -void nullsub_75(void) +// Used to nop all the unused specials from RS +void NullFieldSpecial(void) { } @@ -545,7 +555,7 @@ void sub_80CADC4(void) sub_809D424(); } -void Special_SetVermilionTrashCans(void) +void SetVermilionTrashCans(void) { u16 idx = (Random() % 15) + 1; gSpecialVar_0x8004 = idx; @@ -672,10 +682,10 @@ void IncrementResortGorgeousStepCounter(void) } } -void Special_SampleResortGorgeousMonAndReward(void) +void SampleResortGorgeousMonAndReward(void) { - u16 var4036 = VarGet(VAR_RESORT_GORGEOUS_REQUESTED_MON); - if (var4036 == SPECIES_NONE || var4036 == 0xFFFF) + u16 requestedSpecies = VarGet(VAR_RESORT_GORGEOUS_REQUESTED_MON); + if (requestedSpecies == SPECIES_NONE || requestedSpecies == 0xFFFF) { VarSet(VAR_RESORT_GORGEOUS_REQUESTED_MON, SampleResortGorgeousMon()); VarSet(VAR_RESORT_GORGEOUS_REWARD, SampleResortGorgeousReward()); @@ -712,7 +722,7 @@ static u16 SampleResortGorgeousReward(void) return sResortGorgeousDeluxeRewards[Random() % NELEMS(sResortGorgeousDeluxeRewards)]; } -bool8 Special_CheckAddCoins(void) +bool8 CheckAddCoins(void) { if (gSpecialVar_Result + gSpecialVar_0x8006 > 9999) return FALSE; @@ -769,15 +779,39 @@ static const u8 sUnused_83F5B84[] = { }; static const u16 sElevatorWindowMetatilesGoingUp[][3] = { - {0x2e8, 0x2e9, 0x2ea}, - {0x2f0, 0x2f1, 0x2f2}, - {0x2f8, 0x2f9, 0x2fa} + { + METATILE_SilphCo_ElevatorWindow_Top0, + METATILE_SilphCo_ElevatorWindow_Top1, + METATILE_SilphCo_ElevatorWindow_Top2 + }, + { + METATILE_SilphCo_ElevatorWindow_Mid0, + METATILE_SilphCo_ElevatorWindow_Mid1, + METATILE_SilphCo_ElevatorWindow_Mid2 + }, + { + METATILE_SilphCo_ElevatorWindow_Bottom0, + METATILE_SilphCo_ElevatorWindow_Bottom1, + METATILE_SilphCo_ElevatorWindow_Bottom2 + } }; static const u16 sElevatorWindowMetatilesGoingDown[][3] = { - {0x2e8, 0x2ea, 0x2e9}, - {0x2f0, 0x2f2, 0x2f1}, - {0x2f8, 0x2fa, 0x2f9} + { + METATILE_SilphCo_ElevatorWindow_Top0, + METATILE_SilphCo_ElevatorWindow_Top2, + METATILE_SilphCo_ElevatorWindow_Top1 + }, + { + METATILE_SilphCo_ElevatorWindow_Mid0, + METATILE_SilphCo_ElevatorWindow_Mid2, + METATILE_SilphCo_ElevatorWindow_Mid1 + }, + { + METATILE_SilphCo_ElevatorWindow_Bottom0, + METATILE_SilphCo_ElevatorWindow_Bottom2, + METATILE_SilphCo_ElevatorWindow_Bottom1 + } }; static const u8 sElevatorAnimationDuration[] = { @@ -804,7 +838,7 @@ static const u8 sElevatorWindowAnimDuration[] = { 27 }; -void Special_GetElevatorFloor(void) +void GetElevatorFloor(void) { u16 floor = 4; if (gSaveBlock1Ptr->warp2.mapGroup == MAP_GROUP(ROCKET_HIDEOUT_B1F)) @@ -876,22 +910,22 @@ void Special_GetElevatorFloor(void) break; } } - if (gSaveBlock1Ptr->warp2.mapGroup == MAP_GROUP(SEVEN_ISLAND_TRAINER_TOWER_1F)) + if (gSaveBlock1Ptr->warp2.mapGroup == MAP_GROUP(TRAINER_TOWER_1F)) { switch (gSaveBlock1Ptr->warp2.mapNum) { - case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_1F): - case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_2F): - case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_3F): - case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_4F): - case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_5F): - case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_6F): - case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_7F): - case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_8F): - case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_ROOF): + case MAP_NUM(TRAINER_TOWER_1F): + case MAP_NUM(TRAINER_TOWER_2F): + case MAP_NUM(TRAINER_TOWER_3F): + case MAP_NUM(TRAINER_TOWER_4F): + case MAP_NUM(TRAINER_TOWER_5F): + case MAP_NUM(TRAINER_TOWER_6F): + case MAP_NUM(TRAINER_TOWER_7F): + case MAP_NUM(TRAINER_TOWER_8F): + case MAP_NUM(TRAINER_TOWER_ROOF): floor = 15; break; - case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_LOBBY): + case MAP_NUM(TRAINER_TOWER_LOBBY): floor = 3; break; } @@ -899,7 +933,7 @@ void Special_GetElevatorFloor(void) VarSet(VAR_ELEVATOR_FLOOR, floor); } -u16 Special_InitElevatorFloorSelectMenuPos(void) +u16 InitElevatorFloorSelectMenuPos(void) { sElevatorScroll = 0; sElevatorCursorPos = 0; @@ -992,23 +1026,23 @@ u16 Special_InitElevatorFloorSelectMenuPos(void) break; } } - if (gSaveBlock1Ptr->warp2.mapGroup == MAP_GROUP(SEVEN_ISLAND_TRAINER_TOWER_1F)) + if (gSaveBlock1Ptr->warp2.mapGroup == MAP_GROUP(TRAINER_TOWER_1F)) { switch (gSaveBlock1Ptr->warp2.mapNum) { - case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_1F): - case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_2F): - case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_3F): - case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_4F): - case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_5F): - case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_6F): - case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_7F): - case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_8F): - case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_ROOF): + case MAP_NUM(TRAINER_TOWER_1F): + case MAP_NUM(TRAINER_TOWER_2F): + case MAP_NUM(TRAINER_TOWER_3F): + case MAP_NUM(TRAINER_TOWER_4F): + case MAP_NUM(TRAINER_TOWER_5F): + case MAP_NUM(TRAINER_TOWER_6F): + case MAP_NUM(TRAINER_TOWER_7F): + case MAP_NUM(TRAINER_TOWER_8F): + case MAP_NUM(TRAINER_TOWER_ROOF): sElevatorScroll = 0; sElevatorCursorPos = 0; break; - case MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_LOBBY): + case MAP_NUM(TRAINER_TOWER_LOBBY): sElevatorScroll = 0; sElevatorCursorPos = 1; break; @@ -1017,7 +1051,7 @@ u16 Special_InitElevatorFloorSelectMenuPos(void) return sElevatorCursorPos; } -void Special_AnimateElevator(void) +void AnimateElevator(void) { u16 nfloors; s16 *data = gTasks[CreateTask(Task_ElevatorShake, 9)].data; @@ -1062,7 +1096,7 @@ static void Task_ElevatorShake(u8 taskId) } } -void Special_DrawElevatorCurrentFloorWindow(void) +void DrawElevatorCurrentFloorWindow(void) { const u8 *floorname; u32 strwidth; @@ -1080,7 +1114,7 @@ void Special_DrawElevatorCurrentFloorWindow(void) } } -void Special_CloseElevatorCurrentFloorWindow(void) +void CloseElevatorCurrentFloorWindow(void) { ClearStdWindowAndFrameToTransparent(sElevatorCurrentFloorWindowId, TRUE); RemoveWindow(sElevatorCurrentFloorWindowId); @@ -1113,7 +1147,7 @@ static void Task_AnimateElevatorWindowView(u8 taskId) { for (j = 0; j < 3; j++) { - MapGridSetMetatileIdAt(j + 8, i + 7, sElevatorWindowMetatilesGoingUp[i][data[0] % 3] | 0xC00); + MapGridSetMetatileIdAt(j + 8, i + 7, sElevatorWindowMetatilesGoingUp[i][data[0] % 3] | METATILE_COLLISION_MASK); } } } @@ -1123,7 +1157,7 @@ static void Task_AnimateElevatorWindowView(u8 taskId) { for (j = 0; j < 3; j++) { - MapGridSetMetatileIdAt(j + 8, i + 7, sElevatorWindowMetatilesGoingDown[i][data[0] % 3] | 0xC00); + MapGridSetMetatileIdAt(j + 8, i + 7, sElevatorWindowMetatilesGoingDown[i][data[0] % 3] | METATILE_COLLISION_MASK); } } } @@ -1135,7 +1169,7 @@ static void Task_AnimateElevatorWindowView(u8 taskId) data[1]++; } -void Special_ListMenu(void) +void ListMenu(void) { u8 taskId; struct Task * task; @@ -1439,7 +1473,7 @@ static void Task_SuspendListMenu(u8 taskId) } } -void Special_ReturnToListMenu(void) +void ReturnToListMenu(void) { u8 taskId = FindTaskIdByFunc(Task_SuspendListMenu); if (taskId == 0xFF) @@ -1483,31 +1517,31 @@ static void Task_ListMenuRemoveScrollIndicatorArrowPair(u8 taskId) RemoveScrollIndicatorArrowPair(task->data[12]); } -void Special_ForcePlayerToStartSurfing(void) +void ForcePlayerToStartSurfing(void) { - HelpSystem_SetSomeVariable2(22); + SetHelpContext(HELPCONTEXT_SURFING); SetPlayerAvatarTransitionFlags(8); } -static const u16 sStarterMon[] = { +static const u16 sStarterSpecies[] = { SPECIES_BULBASAUR, SPECIES_SQUIRTLE, SPECIES_CHARMANDER }; -static u16 GetStarterPokemon(u16 idx) +static u16 GetStarterSpeciesById(u16 idx) { - if (idx >= NELEMS(sStarterMon)) + if (idx >= NELEMS(sStarterSpecies)) idx = 0; - return sStarterMon[idx]; + return sStarterSpecies[idx]; } -u16 ScrSpecial_GetStarter(void) +u16 GetStarterSpecies(void) { - return GetStarterPokemon(VarGet(VAR_STARTER_MON)); + return GetStarterSpeciesById(VarGet(VAR_STARTER_MON)); } -void Special_SetSeenMon(void) +void SetSeenMon(void) { GetSetPokedexFlag(SpeciesToNationalPokedexNum(gSpecialVar_0x8004), 2); } @@ -1528,8 +1562,8 @@ u8 ContextNpcGetTextColor(void) else { gfxId = gObjectEvents[gSelectedObjectEvent].graphicsId; - if (gfxId >= OBJECT_EVENT_GFX_VAR_0) - gfxId = VarGetObjectEventGraphicsId(gfxId - OBJECT_EVENT_GFX_VAR_0); + if (gfxId >= OBJ_EVENT_GFX_VAR_0) + gfxId = VarGetObjectEventGraphicsId(gfxId - OBJ_EVENT_GFX_VAR_0); return GetColorFromTextColorTable(gfxId); } } @@ -1548,7 +1582,7 @@ static bool8 HasMonBeenRenamed(u8 idx) return FALSE; } -bool8 Special_HasLeadMonBeenRenamed(void) +bool8 HasLeadMonBeenRenamed(void) { return HasMonBeenRenamed(GetLeadMonIndex()); } @@ -1604,7 +1638,7 @@ void ChangeBoxPokemonNickname(void) species = GetBoxMonData(pokemon, MON_DATA_SPECIES, NULL); gender = GetBoxMonGender(pokemon); personality = GetBoxMonData(pokemon, MON_DATA_PERSONALITY, NULL); - DoNamingScreen(3, gStringVar2, species, gender, personality, ChangeBoxPokemonNickname_CB); + DoNamingScreen(NAMING_SCREEN_NAME_RATER, gStringVar2, species, gender, personality, ChangeBoxPokemonNickname_CB); } static void ChangeBoxPokemonNickname_CB(void) @@ -1624,7 +1658,7 @@ void ChangePokemonNickname(void) species = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPECIES, NULL); gender = GetMonGender(&gPlayerParty[gSpecialVar_0x8004]); personality = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_PERSONALITY, NULL); - DoNamingScreen(3, gStringVar2, species, gender, personality, ChangePokemonNickname_CB); + DoNamingScreen(NAMING_SCREEN_NAME_RATER, gStringVar2, species, gender, personality, ChangePokemonNickname_CB); } static void ChangePokemonNickname_CB(void) @@ -1633,13 +1667,13 @@ static void ChangePokemonNickname_CB(void) CB2_ReturnToFieldContinueScriptPlayMapMusic(); } -void Special_GetMonNickname(void) +void BufferMonNickname(void) { GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar1); StringGetEnd10(gStringVar1); } -void Special_IsMonOTIDNotPlayers(void) +void IsMonOTIDNotPlayers(void) { if (GetPlayerTrainerId() == GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_OT_ID, NULL)) gSpecialVar_Result = FALSE; @@ -1672,7 +1706,7 @@ u8 GetUnlockedSeviiAreas(void) return result; } -void Special_UpdateTrainerCardPhotoIcons(void) +void UpdateTrainerCardPhotoIcons(void) { u16 species[PARTY_SIZE]; u32 personality[PARTY_SIZE]; @@ -1695,7 +1729,7 @@ void Special_UpdateTrainerCardPhotoIcons(void) VarSet(VAR_TRAINER_CARD_MON_ICON_TINT_IDX, gSpecialVar_0x8004); } -u16 Special_StickerLadyGetBragFlags(void) +u16 StickerManGetBragFlags(void) { u16 result = 0; u32 numEggs; @@ -1729,7 +1763,7 @@ u16 GetHiddenItemAttr(u32 hiddenItem, u8 attr) return 1; } -bool8 Special_PlayerPartyContainsSpecies(void) +bool8 DoesPlayerPartyContainSpecies(void) { u8 partyCount = CalculatePlayerPartyCount(); u8 i; @@ -1756,7 +1790,7 @@ static const u8 sMartMaps[][3] = { {MAP_GROUP(SIX_ISLAND_MART), MAP_NUM(SIX_ISLAND_MART), 1} }; -u8 Special_GetMartClerkObjectId(void) +u8 GetMartClerkObjectId(void) { u8 i; for (i = 0; i < NELEMS(sMartMaps); i++) @@ -1915,20 +1949,20 @@ void sub_80CC59C(void) } } -u16 Special_BattleCardAction(void) +u16 BattleCardAction(void) { switch (gSpecialVar_Result) { case 0: - return sub_81445C0(3); + return MEvent_GetBattleCardCount(3); case 1: - return sub_81445C0(4); + return MEvent_GetBattleCardCount(4); case 2: - return sub_81445C0(0); + return MEvent_GetBattleCardCount(0); case 3: - return sub_81445C0(1); + return MEvent_GetBattleCardCount(1); case 4: - return sub_81445C0(2); + return MEvent_GetBattleCardCount(2); default: AGB_ASSERT_EX(0, ABSPATH("scr_tool.c"), 3873); return 0; @@ -2016,7 +2050,7 @@ bool8 sub_80CC87C(void) return FALSE; } -bool8 Special_ItemIsTM_GetMoveName(void) +bool8 BufferTMHMMoveName(void) { // 8004 = item ID if (gSpecialVar_0x8004 >= ITEM_TM01 && gSpecialVar_0x8004 <= ITEM_HM08) @@ -2035,7 +2069,7 @@ void RunMassageCooldownStepCounter(void) VarSet(VAR_MASSAGE_COOLDOWN_STEP_COUNTER, count + 1); } -void Special_DaisyMassageServices(void) +void DaisyMassageServices(void) { AdjustFriendship(&gPlayerParty[gSpecialVar_0x8004], 6); VarSet(VAR_MASSAGE_COOLDOWN_STEP_COUNTER, 0); @@ -2093,7 +2127,7 @@ static const u8 sChampionRoomLightingTimers[] = { 8 }; -void Special_PokemonLeagueLightingEffect(void) +void DoPokemonLeagueLightingEffect(void) { u8 taskId = CreateTask(Task_RunPokemonLeagueLightingEffect, 8); s16 *data = gTasks[taskId].data; @@ -2183,36 +2217,36 @@ static const u8 sCapeBrinkCompatibleSpecies[] = { SPECIES_BLASTOISE }; -bool8 Special_CapeBrinkGetMoveToTeachLeadPokemon(void) +bool8 CapeBrinkGetMoveToTeachLeadPokemon(void) { // Returns: // 8005 = Move tutor index // 8006 = Num moves known by lead mon // 8007 = Index of lead mon // to specialvar = whether a move can be taught in the first place - u8 r7 = 0; - u8 r6 = 0; - u8 r8 = GetLeadMonIndex(); - u8 r4; - gSpecialVar_0x8007 = r8; - for (r4 = 0; r4 < NELEMS(sCapeBrinkCompatibleSpecies); r4++) + u8 tutorMonId = 0; + u8 numMovesKnown = 0; + u8 leadMonSlot = GetLeadMonIndex(); + u8 i; + gSpecialVar_0x8007 = leadMonSlot; + for (i = 0; i < NELEMS(sCapeBrinkCompatibleSpecies); i++) { - if (GetMonData(&gPlayerParty[r8], MON_DATA_SPECIES2, NULL) == sCapeBrinkCompatibleSpecies[r4]) + if (GetMonData(&gPlayerParty[leadMonSlot], MON_DATA_SPECIES2, NULL) == sCapeBrinkCompatibleSpecies[i]) { - r7 = r4; + tutorMonId = i; break; } } - if (r4 == NELEMS(sCapeBrinkCompatibleSpecies) || GetMonData(&gPlayerParty[r8], MON_DATA_FRIENDSHIP) != 255) + if (i == NELEMS(sCapeBrinkCompatibleSpecies) || GetMonData(&gPlayerParty[leadMonSlot], MON_DATA_FRIENDSHIP) != 255) return FALSE; - if (r7 == 0) + if (tutorMonId == 0) { StringCopy(gStringVar2, gMoveNames[MOVE_FRENZY_PLANT]); gSpecialVar_0x8005 = MOVETUTOR_FRENZY_PLANT; if (FlagGet(FLAG_TUTOR_FRENZY_PLANT) == TRUE) return FALSE; } - else if (r7 == 1) + else if (tutorMonId == 1) { StringCopy(gStringVar2, gMoveNames[MOVE_BLAST_BURN]); gSpecialVar_0x8005 = MOVETUTOR_BLAST_BURN; @@ -2226,21 +2260,21 @@ bool8 Special_CapeBrinkGetMoveToTeachLeadPokemon(void) if (FlagGet(FLAG_TUTOR_HYDRO_CANNON) == TRUE) return FALSE; } - if (GetMonData(&gPlayerParty[r8], MON_DATA_MOVE1) != MOVE_NONE) - r6++; - if (GetMonData(&gPlayerParty[r8], MON_DATA_MOVE2) != MOVE_NONE) - r6++; - if (GetMonData(&gPlayerParty[r8], MON_DATA_MOVE3) != MOVE_NONE) - r6++; - if (GetMonData(&gPlayerParty[r8], MON_DATA_MOVE4) != MOVE_NONE) - r6++; - gSpecialVar_0x8006 = r6; + if (GetMonData(&gPlayerParty[leadMonSlot], MON_DATA_MOVE1) != MOVE_NONE) + numMovesKnown++; + if (GetMonData(&gPlayerParty[leadMonSlot], MON_DATA_MOVE2) != MOVE_NONE) + numMovesKnown++; + if (GetMonData(&gPlayerParty[leadMonSlot], MON_DATA_MOVE3) != MOVE_NONE) + numMovesKnown++; + if (GetMonData(&gPlayerParty[leadMonSlot], MON_DATA_MOVE4) != MOVE_NONE) + numMovesKnown++; + gSpecialVar_0x8006 = numMovesKnown; return TRUE; } -bool8 Special_HasLearnedAllMovesFromCapeBrinkTutor(void) +bool8 HasLearnedAllMovesFromCapeBrinkTutor(void) { - // 8005 is set by Special_CapeBrinkGetMoveToTeachLeadPokemon + // 8005 is set by CapeBrinkGetMoveToTeachLeadPokemon u8 r4 = 0; if (gSpecialVar_0x8005 == MOVETUTOR_FRENZY_PLANT) FlagSet(FLAG_TUTOR_FRENZY_PLANT); @@ -2276,7 +2310,7 @@ bool8 CutMoveRuinValleyCheck(void) void CutMoveOpenDottedHoleDoor(void) { - MapGridSetMetatileIdAt(31, 31, 0x358); + MapGridSetMetatileIdAt(31, 31, METATILE_SeviiIslands67_DottedHoleDoor_Open); DrawWholeMapView(); PlaySE(SE_BAN); FlagSet(FLAG_USED_CUT_ON_RUIN_VALLEY_BRAILLE); @@ -2324,12 +2358,12 @@ static const u8 sDeoxysStepCaps[] = { 3 }; -void DoDeoxysRockInteraction(void) +void DoDeoxysTriangleInteraction(void) { - CreateTask(Task_DoDeoxysRockInteraction, 8); + CreateTask(Task_DoDeoxysTriangleInteraction, 8); } -static void Task_DoDeoxysRockInteraction(u8 taskId) +static void Task_DoDeoxysTriangleInteraction(u8 taskId) { u16 r5; u16 r6; @@ -2389,13 +2423,13 @@ static void MoveDeoxysObject(u8 num) gFieldEffectArguments[5] = 60; else gFieldEffectArguments[5] = 5; - FieldEffectStart(FLDEFF_UNK_43); + FieldEffectStart(FLDEFF_MOVE_DEOXYS_ROCK); Overworld_SetMapObjTemplateCoords(1, sDeoxysCoords[num][0], sDeoxysCoords[num][1]); } static void Task_WaitDeoxysFieldEffect(u8 taskId) { - if (!FieldEffectActiveListContains(FLDEFF_UNK_43)) + if (!FieldEffectActiveListContains(FLDEFF_MOVE_DEOXYS_ROCK)) { EnableBothScriptContexts(); DestroyTask(taskId); @@ -2415,14 +2449,14 @@ void BirthIslandDeoxysStepCounter(void) } } -void Special_SetDeoxysTriangleObjectPal(void) +void SetDeoxysTrianglePalette(void) { u8 num = VarGet(VAR_DEOXYS_INTERACTION_NUM); LoadPalette(sDeoxysObjectPals[num], 0x1A0, 0x08); sub_8083598(10); } -bool8 Special_BadEggInParty(void) +bool8 IsBadEggInParty(void) { u8 partyCount = CalculatePlayerPartyCount(); u8 i; @@ -2434,15 +2468,15 @@ bool8 Special_BadEggInParty(void) return FALSE; } -bool8 Special_PlayerIsNotInTrainerTowerLobby(void) +bool8 IsPlayerNotInTrainerTowerLobby(void) { - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SEVEN_ISLAND_TRAINER_TOWER_LOBBY) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_LOBBY)) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(TRAINER_TOWER_LOBBY) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_TOWER_LOBBY)) return FALSE; else return TRUE; } -void Special_BrailleCursorToggle(void) +void BrailleCursorToggle(void) { // 8004 = x - 27 // 8005 = y @@ -2458,14 +2492,15 @@ void Special_BrailleCursorToggle(void) } } -bool8 Special_PlayerPartyContainsSpeciesWithPlayerID(void) +bool8 PlayerPartyContainsSpeciesWithPlayerID(void) { // 8004 = species u8 playerCount = CalculatePlayerPartyCount(); u8 i; for (i = 0; i < playerCount; i++) { - if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL) == gSpecialVar_0x8004 && GetPlayerTrainerId() == GetMonData(&gPlayerParty[i], MON_DATA_OT_ID, NULL)) + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL) == gSpecialVar_0x8004 + && GetPlayerTrainerId() == GetMonData(&gPlayerParty[i], MON_DATA_OT_ID, NULL)) return TRUE; } return FALSE; @@ -2475,7 +2510,7 @@ bool8 Special_PlayerPartyContainsSpeciesWithPlayerID(void) * Determines which of Lorelei's doll collection to show * based on how many times you've entered the Hall of Fame. */ -void Special_ComputeLoreleiDollCollection(void) +void UpdateLoreleiDollCollection(void) { u32 numHofClears = GetGameStat(GAME_STAT_ENTERED_HOF); if (numHofClears >= 25) @@ -2498,7 +2533,7 @@ void Special_ComputeLoreleiDollCollection(void) } } -void Special_LoopWingFlapSound(void) +void LoopWingFlapSound(void) { // 8004 = Num flaps // 8005 = Frame delay between flaps diff --git a/src/field_tasks.c b/src/field_tasks.c index c64fb1924..6bd4b6f46 100644 --- a/src/field_tasks.c +++ b/src/field_tasks.c @@ -11,10 +11,14 @@ #include "script.h" #include "sound.h" #include "task.h" +#include "constants/field_tasks.h" #include "constants/flags.h" +#include "constants/metatile_labels.h" #include "constants/songs.h" #include "constants/vars.h" +// TODO: Metatile IDs in this file + static void DummyPerStepCallback(u8 taskId); static void AshGrassPerStepCallback(u8 taskId); static void IcefallCaveIcePerStepCallback(u8 taskId); @@ -22,27 +26,27 @@ static void CrackedFloorPerStepCallback(u8 taskId); static const TaskFunc sPerStepCallbacks[] = { - DummyPerStepCallback, - AshGrassPerStepCallback, - DummyPerStepCallback, - DummyPerStepCallback, - IcefallCaveIcePerStepCallback, - DummyPerStepCallback, - DummyPerStepCallback, - CrackedFloorPerStepCallback + [STEP_CB_DUMMY] = DummyPerStepCallback, + [STEP_CB_ASH] = AshGrassPerStepCallback, + [STEP_CB_FORTREE_BRIDGE] = DummyPerStepCallback, + [STEP_CB_PACIFIDLOG_BRIDGE] = DummyPerStepCallback, + [STEP_CB_ICE] = IcefallCaveIcePerStepCallback, + [STEP_CB_TRUCK] = DummyPerStepCallback, + [STEP_CB_SECRET_BASE] = DummyPerStepCallback, + [STEP_CB_CRACKED_FLOOR] = CrackedFloorPerStepCallback }; static const u8 sIcefallCaveIceTileCoords[][2] = { - { 0x08, 0x03 }, - { 0x0a, 0x05 }, - { 0x0f, 0x05 }, - { 0x08, 0x09 }, - { 0x09, 0x09 }, - { 0x10, 0x09 }, - { 0x08, 0x0a }, - { 0x09, 0x0a }, - { 0x08, 0x0e } + { 8, 3 }, + { 10, 5 }, + { 15, 5 }, + { 8, 9 }, + { 9, 9 }, + { 16, 9 }, + { 8, 10 }, + { 9, 10 }, + { 8, 14 } }; static void Task_RunPerStepCallback(u8 taskId) @@ -134,7 +138,7 @@ static void MarkIcefallCaveCoordVisited(s16 x, s16 y) } } -void Special_SetIcefallCaveCrackedIceMetatiles(void) +void SetIcefallCaveCrackedIceMetatiles(void) { u8 i = 0; for (; i < NELEMS(sIcefallCaveIceTileCoords); ++i) @@ -143,7 +147,7 @@ void Special_SetIcefallCaveCrackedIceMetatiles(void) { int x = sIcefallCaveIceTileCoords[i][0] + 7; int y = sIcefallCaveIceTileCoords[i][1] + 7; - MapGridSetMetatileIdAt(x, y, 0x35a); + MapGridSetMetatileIdAt(x, y, METATILE_SeafoamIslands_CrackedIce); } } } @@ -196,7 +200,7 @@ static void IcefallCaveIcePerStepCallback(u8 taskId) x = data[4]; y = data[5]; PlaySE(SE_RU_BARI); - MapGridSetMetatileIdAt(x, y, 0x35a); + MapGridSetMetatileIdAt(x, y, METATILE_SeafoamIslands_CrackedIce); CurrentMapDrawMetatileAt(x, y); data[1] = 1; } @@ -211,7 +215,7 @@ static void IcefallCaveIcePerStepCallback(u8 taskId) x = data[4]; y = data[5]; PlaySE(SE_RU_GASYAN); - MapGridSetMetatileIdAt(x, y, 0x35b); + MapGridSetMetatileIdAt(x, y, METATILE_SeafoamIslands_IceHole); CurrentMapDrawMetatileAt(x, y); VarSet(VAR_TEMP_1, 1); data[1] = 1; diff --git a/src/fieldmap.c b/src/fieldmap.c index d2598c3e6..3e61c6c29 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -3,7 +3,6 @@ #include "palette.h" #include "overworld.h" #include "script.h" -#include "menu.h" #include "new_menu_helpers.h" #include "quest_log.h" #include "fieldmap.h" @@ -18,38 +17,39 @@ struct ConnectionFlags u8 east:1; }; -void sub_8058A00(struct MapHeader *mapHeader); -void map_copy_with_padding(u16 *map, u16 width, u16 height); -void mapheader_copy_mapdata_of_adjacent_maps(struct MapHeader *mapHeader); -void fillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset); -void fillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset); -void fillWestConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset); -void fillEastConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset); -void LoadSavedMapView(void); -struct MapConnection *sub_8059600(u8 direction, s32 x, s32 y); -bool8 sub_8059658(u8 direction, s32 x, s32 y, struct MapConnection *connection); -bool8 sub_80596BC(s32 x, s32 src_width, s32 dest_width, s32 offset); +static void InitMapLayoutData(struct MapHeader *mapHeader); +static void map_copy_with_padding(u16 *map, u16 width, u16 height); +static void mapheader_copy_mapdata_of_adjacent_maps(struct MapHeader *mapHeader); +static void fillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset); +static void fillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset); +static void fillWestConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset); +static void fillEastConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset); +static void LoadSavedMapView(void); +static struct MapConnection *sub_8059600(u8 direction, s32 x, s32 y); +static bool8 sub_8059658(u8 direction, s32 x, s32 y, struct MapConnection *connection); +static bool8 sub_80596BC(s32 x, s32 src_width, s32 dest_width, s32 offset); struct BackupMapLayout gBackupMapLayout; EWRAM_DATA u16 gBackupMapData[VIRTUAL_MAP_SIZE] = {}; EWRAM_DATA struct MapHeader gMapHeader = {}; EWRAM_DATA struct Camera gCamera = {}; -EWRAM_DATA struct ConnectionFlags gMapConnectionFlags = {}; +static EWRAM_DATA struct ConnectionFlags gMapConnectionFlags = {}; +EWRAM_DATA u8 gUnknown_2036E28 = 0; -const struct ConnectionFlags sDummyConnectionFlags = {}; +static const struct ConnectionFlags sDummyConnectionFlags = {}; -const u32 gUnknown_8352EF0[] = { - 0x1ff, - 0x3e00, - 0x3c000, - 0xfc0000, - 0x7000000, +static const u32 sMetatileAttrMasks[] = { + 0x000001ff, + 0x00003e00, + 0x0003c000, + 0x00fc0000, + 0x07000000, 0x18000000, 0x60000000, 0x80000000 }; -const u8 gUnknown_8352F10[] = { +static const u8 sMetatileAttrShifts[] = { 0, 9, 14, @@ -65,20 +65,20 @@ const struct MapHeader * mapconnection_get_mapheader(struct MapConnection * conn return Overworld_GetMapHeaderByGroupAndId(connection->mapGroup, connection->mapNum); } -void not_trainer_hill_battle_pyramid(void) +void InitMap(void) { - sub_8058A00(&gMapHeader); - mapheader_run_script_with_tag_x1(); + InitMapLayoutData(&gMapHeader); + RunOnLoadMapScript(); } -void sub_80589E8(void) +void InitMapFromSavedGame(void) { - sub_8058A00(&gMapHeader); + InitMapLayoutData(&gMapHeader); LoadSavedMapView(); - mapheader_run_script_with_tag_x1(); + RunOnLoadMapScript(); } -void sub_8058A00(struct MapHeader * mapHeader) +static void InitMapLayoutData(struct MapHeader * mapHeader) { const struct MapLayout * mapLayout = mapHeader->mapLayout; CpuFastFill(0x03FF03FF, gBackupMapData, sizeof(gBackupMapData)); @@ -90,7 +90,7 @@ void sub_8058A00(struct MapHeader * mapHeader) mapheader_copy_mapdata_of_adjacent_maps(mapHeader); } -void map_copy_with_padding(u16 *map, u16 width, u16 height) +static void map_copy_with_padding(u16 *map, u16 width, u16 height) { s32 y; u16 *dest = gBackupMapLayout.map; @@ -104,7 +104,7 @@ void map_copy_with_padding(u16 *map, u16 width, u16 height) } } -void mapheader_copy_mapdata_of_adjacent_maps(struct MapHeader *mapHeader) +static void mapheader_copy_mapdata_of_adjacent_maps(struct MapHeader *mapHeader) { s32 count; struct MapConnection *connection; @@ -150,7 +150,7 @@ void mapheader_copy_mapdata_of_adjacent_maps(struct MapHeader *mapHeader) } } -void sub_8058B54(s32 x, s32 y, const struct MapHeader *connectedMapHeader, s32 x2, s32 y2, s32 width, s32 height) +static void sub_8058B54(s32 x, s32 y, const struct MapHeader *connectedMapHeader, s32 x2, s32 y2, s32 width, s32 height) { s32 i; u16 *src; @@ -169,7 +169,7 @@ void sub_8058B54(s32 x, s32 y, const struct MapHeader *connectedMapHeader, s32 x } } -void fillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset) +static void fillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset) { s32 x, y; s32 x2; @@ -216,7 +216,7 @@ void fillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader con } } -void fillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset) +static void fillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset) { s32 x; s32 x2, y2; @@ -265,7 +265,7 @@ void fillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader con } } -void fillWestConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset) +static void fillWestConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset) { s32 y; s32 x2, y2; @@ -311,7 +311,7 @@ void fillWestConnection(struct MapHeader const *mapHeader, struct MapHeader cons } } -void fillEastConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset) +static void fillEastConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset) { s32 x, y; s32 y2; @@ -446,28 +446,28 @@ u32 MapGridGetMetatileIdAt(s32 x, s32 y) return block & 0x3FF; } -u32 sub_8058F1C(u32 original, u8 bit) +u32 GetMetatileAttributeFromRawMetatileBehavior(u32 original, u8 bit) { if (bit >= 8) return original; - return (original & gUnknown_8352EF0[bit]) >> gUnknown_8352F10[bit]; + return (original & sMetatileAttrMasks[bit]) >> sMetatileAttrShifts[bit]; } -u32 sub_8058F48(s16 x, s16 y, u8 z) +u32 MapGridGetMetatileAttributeAt(s16 x, s16 y, u8 attr) { u16 metatileId = MapGridGetMetatileIdAt(x, y); - return GetBehaviorByMetatileIdAndMapLayout(gMapHeader.mapLayout, metatileId, z); + return GetBehaviorByMetatileIdAndMapLayout(gMapHeader.mapLayout, metatileId, attr); } u32 MapGridGetMetatileBehaviorAt(s32 x, s32 y) { - return sub_8058F48(x, y, 0); + return MapGridGetMetatileAttributeAt(x, y, 0); } u8 MapGridGetMetatileLayerTypeAt(s16 x, s16 y) { - return sub_8058F48(x, y, 6); + return MapGridGetMetatileAttributeAt(x, y, 6); } void MapGridSetMetatileIdAt(s32 x, s32 y, u16 metatile) @@ -492,7 +492,7 @@ void MapGridSetMetatileEntryAt(s32 x, s32 y, u16 metatile) } } -void sub_8059024(s32 x, s32 y, bool32 arg2) +void MapGridSetMetatileImpassabilityAt(s32 x, s32 y, bool32 arg2) { if (x >= 0 && x < gBackupMapLayout.Xsize && y >= 0 && y < gBackupMapLayout.Ysize) @@ -515,12 +515,12 @@ u32 GetBehaviorByMetatileIdAndMapLayout(struct MapLayout *mapLayout, u16 metatil if (metatile < NUM_METATILES_IN_PRIMARY) { attributes = mapLayout->primaryTileset->metatileAttributes; - return sub_8058F1C(attributes[metatile], attr); + return GetMetatileAttributeFromRawMetatileBehavior(attributes[metatile], attr); } else if (metatile < 0x400) { attributes = mapLayout->secondaryTileset->metatileAttributes; - return sub_8058F1C(attributes[metatile - NUM_METATILES_IN_PRIMARY], attr); + return GetMetatileAttributeFromRawMetatileBehavior(attributes[metatile - NUM_METATILES_IN_PRIMARY], attr); } else { @@ -547,7 +547,7 @@ void save_serialize_map(void) } } -bool32 SavedMapViewIsEmpty(void) +static bool32 SavedMapViewIsEmpty(void) { u16 i; u32 marker = 0; @@ -562,12 +562,12 @@ bool32 SavedMapViewIsEmpty(void) return FALSE; } -void ClearSavedMapView(void) +static void ClearSavedMapView(void) { CpuFill16(0, gSaveBlock2Ptr->mapView, sizeof(gSaveBlock2Ptr->mapView)); } -void LoadSavedMapView(void) +static void LoadSavedMapView(void) { s32 i, j; s32 x, y; @@ -591,7 +591,7 @@ void LoadSavedMapView(void) } } -void sub_8059250(u8 a1) +static void sub_8059250(u8 a1) { s32 width; u16 *mapView; @@ -693,7 +693,7 @@ s32 GetMapBorderIdAt(s32 x, s32 y) return 0; } -s32 GetPostCameraMoveMapBorderId(s32 x, s32 y) +static s32 GetPostCameraMoveMapBorderId(s32 x, s32 y) { return GetMapBorderIdAt(7 + gSaveBlock1Ptr->pos.x + x, 7 + gSaveBlock1Ptr->pos.y + y); } @@ -711,7 +711,7 @@ bool32 CanCameraMoveInDirection(s32 direction) return TRUE; } -void sub_80594AC(struct MapConnection *connection, int direction, s32 x, s32 y) +static void sub_80594AC(struct MapConnection *connection, int direction, s32 x, s32 y) { struct MapHeader const *mapHeader; mapHeader = mapconnection_get_mapheader(connection); @@ -782,7 +782,7 @@ struct MapConnection *sub_8059600(u8 direction, s32 x, s32 y) } -bool8 sub_8059658(u8 direction, s32 x, s32 y, struct MapConnection *connection) +static bool8 sub_8059658(u8 direction, s32 x, s32 y, struct MapConnection *connection) { struct MapHeader const *mapHeader; mapHeader = mapconnection_get_mapheader(connection); @@ -798,7 +798,7 @@ bool8 sub_8059658(u8 direction, s32 x, s32 y, struct MapConnection *connection) return FALSE; } -bool8 sub_80596BC(s32 x, s32 src_width, s32 dest_width, s32 offset) +static bool8 sub_80596BC(s32 x, s32 src_width, s32 dest_width, s32 offset) { s32 offset2 = max(offset, 0); @@ -811,7 +811,7 @@ bool8 sub_80596BC(s32 x, s32 src_width, s32 dest_width, s32 offset) return FALSE; } -bool32 sub_80596E8(s32 x, s32 width) +static bool32 sub_80596E8(s32 x, s32 width) { if (x >= 0 && x < width) return TRUE; @@ -819,7 +819,7 @@ bool32 sub_80596E8(s32 x, s32 width) return FALSE; } -s32 sub_80596FC(struct MapConnection *connection, s32 x, s32 y) +static s32 sub_80596FC(struct MapConnection *connection, s32 x, s32 y) { struct MapHeader const *mapHeader; mapHeader = mapconnection_get_mapheader(connection); @@ -881,7 +881,7 @@ void GetCameraFocusCoords(u16 *x, u16 *y) *y = gSaveBlock1Ptr->pos.y + 7; } -void SetCameraCoords(u16 x, u16 y) +static void SetCameraCoords(u16 x, u16 y) { gSaveBlock1Ptr->pos.x = x; gSaveBlock1Ptr->pos.y = y; @@ -892,7 +892,7 @@ void GetCameraCoords(u16 *x, u16 *y) *x = gSaveBlock1Ptr->pos.x; *y = gSaveBlock1Ptr->pos.y; } -void copy_tileset_patterns_to_vram(struct Tileset const *tileset, u16 numTiles, u16 offset) +static void copy_tileset_patterns_to_vram(struct Tileset const *tileset, u16 numTiles, u16 offset) { if (tileset) { @@ -903,7 +903,7 @@ void copy_tileset_patterns_to_vram(struct Tileset const *tileset, u16 numTiles, } } -void copy_tileset_patterns_to_vram2(struct Tileset const *tileset, u16 numTiles, u16 offset) +static void copy_tileset_patterns_to_vram2(struct Tileset const *tileset, u16 numTiles, u16 offset) { if (tileset) { @@ -914,7 +914,7 @@ void copy_tileset_patterns_to_vram2(struct Tileset const *tileset, u16 numTiles, } } -void sub_80598CC(u16 a0, u16 a1) +static void sub_80598CC(u16 a0, u16 a1) { switch (gUnknown_2036E28) { @@ -958,7 +958,7 @@ void sub_8059948(u8 a0, u8 a1) CpuFastCopy(gPlttBufferUnfaded + a0 * 16, gPlttBufferFaded + a0 * 16, a1 * 16 * sizeof(u16)); } -void apply_map_tileset_palette(struct Tileset const *tileset, u16 destOffset, u16 size) +static void apply_map_tileset_palette(struct Tileset const *tileset, u16 destOffset, u16 size) { u16 black = RGB_BLACK; diff --git a/src/fldeff_berrytree.c b/src/fldeff_berrytree.c index 90ca36508..3826e1d33 100644 --- a/src/fldeff_berrytree.c +++ b/src/fldeff_berrytree.c @@ -1,4 +1,4 @@ -void nullsub_56(void) +// From R/S, removed +void DoWateringBerryTreeAnim(void) { - } diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c new file mode 100644 index 000000000..8617a1aaa --- /dev/null +++ b/src/fldeff_cut.c @@ -0,0 +1,299 @@ +#include "global.h" +#include "gflib.h" +#include "event_object_lock.h" +#include "event_object_movement.h" +#include "event_scripts.h" +#include "fieldmap.h" +#include "field_camera.h" +#include "field_specials.h" +#include "fldeff.h" +#include "field_effect.h" +#include "field_player_avatar.h" +#include "metatile_behavior.h" +#include "overworld.h" +#include "party_menu.h" +#include "script.h" +#include "trig.h" +#include "constants/event_objects.h" +#include "constants/songs.h" +#include "constants/metatile_labels.h" + +#define CUT_GRASS_SPRITE_COUNT 8 + +static EWRAM_DATA u8 *sCutGrassSpriteArrayPtr = NULL; +static EWRAM_DATA bool8 sScheduleOpenDottedHole = FALSE; + +static void FieldCallback_CutGrass(void); +static void FieldCallback_CutTree(void); +static void FieldMoveCallback_CutGrass(void); +static void SetCutGrassMetatileAt(s16 x, s16 y); +static void SpriteCallback_CutGrass_Init(struct Sprite * sprite); +static void SpriteCallback_CutGrass_Run(struct Sprite * sprite); +static void SpriteCallback_CutGrass_Cleanup(struct Sprite * sprite); +static void FieldMoveCallback_CutTree(void); + +static const u16 sCutGrassMetatileMapping[][2] = { + { + METATILE_ID(General, Plain_Grass), + METATILE_ID(General, Plain_Mowed) + }, { + METATILE_ID(General, ThinTreeTop_Grass), + METATILE_ID(General, ThinTreeTop_Mowed) + }, { + METATILE_ID(General, WideTreeTopLeft_Grass), + METATILE_ID(General, WideTreeTopLeft_Mowed) + }, { + METATILE_ID(General, WideTreeTopRight_Grass), + METATILE_ID(General, WideTreeTopRight_Mowed) + }, { + METATILE_ID(CeladonCity, CyclingRoad_Grass), + METATILE_ID(CeladonCity, CyclingRoad_Mowed) + }, { + METATILE_ID(FuchsiaCity, SafariZoneTreeTopLeft_Grass), + METATILE_ID(FuchsiaCity, SafariZoneTreeTopLeft_Mowed) + }, { + METATILE_ID(FuchsiaCity, SafariZoneTreeTopMiddle_Grass), + METATILE_ID(FuchsiaCity, SafariZoneTreeTopMiddle_Mowed) + }, { + METATILE_ID(FuchsiaCity, SafariZoneTreeTopRight_Grass), + METATILE_ID(FuchsiaCity, SafariZoneTreeTopRight_Mowed) + }, { + METATILE_ID(ViridianForest, HugeTreeTopMiddle_Grass), + METATILE_ID(ViridianForest, HugeTreeTopMiddle_Mowed) + }, { + 0xffff, + 0xffff + } +}; + +static const struct OamData sOamData_FldEff_CutGrass = { + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = FALSE, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x8), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(8x8), + .tileNum = 0x001, + .priority = 1, + .paletteNum = 0x1, + .affineParam = 0 +}; + +static const union AnimCmd sSpriteAnim_Fldeff_CutGrass_0[] = { + ANIMCMD_FRAME(0, 30), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const sSpriteAnimTable_FldEff_CutGrass[] = { + sSpriteAnim_Fldeff_CutGrass_0 +}; + +static const struct SpriteFrameImage sSpriteFrameImages_FldEff_CutGrass[] = { + {gUnknown_8398648, 0x20} +}; + +const struct SpritePalette gFldEffPalette_CutGrass[] = { + gUnknown_8398688, 4096 +}; + +static const struct SpriteTemplate sSpriteTemplate_FldEff_CutGrass = { + .tileTag = 0xFFFF, + .paletteTag = 4096, + .oam = &sOamData_FldEff_CutGrass, + .anims = sSpriteAnimTable_FldEff_CutGrass, + .images = sSpriteFrameImages_FldEff_CutGrass, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallback_CutGrass_Init +}; + +static u8 MetatileAtCoordsIsGrassTile(s16 x, s16 y) +{ + return TestMetatileAttributeBit(MapGridGetMetatileAttributeAt(x, y, 1), 1); +} + +bool8 SetUpFieldMove_Cut(void) +{ + s16 x, y; + u8 i, j; + sScheduleOpenDottedHole = FALSE; + if (CutMoveRuinValleyCheck() == TRUE) + { + sScheduleOpenDottedHole = TRUE; + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = FieldCallback_CutGrass; + return TRUE; + } + + if (CheckObjectGraphicsInFrontOfPlayer(OBJ_EVENT_GFX_CUT_TREE) == TRUE) + { + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = FieldCallback_CutTree; + return TRUE; + } + else + { + // FIXME: this fakematch + register s32 neg1 asm("r8"); + struct MapPosition *pos; + PlayerGetDestCoords(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); + + for (i = 0, pos = &gPlayerFacingPosition, neg1 = 0xFFFF; i < 3; i++) + { + + y = i + neg1 + pos->y; + for (j = 0; j < 3; j++) + { + x = j + neg1 + pos->x; + if (MapGridGetZCoordAt(x, y) == pos->height) + { + if (MetatileAtCoordsIsGrassTile(x, y) == TRUE) + { + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = FieldCallback_CutGrass; + return TRUE; + } + } + } + } + return FALSE; + } +} + +static void FieldCallback_CutGrass(void) +{ + FieldEffectStart(FLDEFF_USE_CUT_ON_GRASS); + gFieldEffectArguments[0] = GetCursorSelectionMonId(); +} + +bool8 FldEff_UseCutOnGrass(void) +{ + u8 taskId = CreateFieldEffectShowMon(); + FLDEFF_SET_FUNC_TO_DATA(FieldMoveCallback_CutGrass); + IncrementGameStat(GAME_STAT_USED_CUT); + return FALSE; +} + +static void FieldCallback_CutTree(void) +{ + gFieldEffectArguments[0] = GetCursorSelectionMonId(); + ScriptContext1_SetupScript(EventScript_FldEffCut); +} + +bool8 FldEff_UseCutOnTree(void) +{ + u8 taskId = CreateFieldEffectShowMon(); + FLDEFF_SET_FUNC_TO_DATA(FieldMoveCallback_CutTree); + IncrementGameStat(GAME_STAT_USED_CUT); + return FALSE; +} + +static void FieldMoveCallback_CutGrass(void) +{ + FieldEffectActiveListRemove(FLDEFF_USE_CUT_ON_GRASS); + if (sScheduleOpenDottedHole == TRUE) + CutMoveOpenDottedHoleDoor(); + else + FieldEffectStart(FLDEFF_CUT_GRASS); +} + +bool8 FldEff_CutGrass(void) +{ + u8 i, j; + s16 x, y; + // FIXME: this fakematch + register s32 neg1 asm("r9"); + struct MapPosition *pos; + + i = 0; + PlaySE(SE_W015); + PlayerGetDestCoords(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); + + for (i = 0, pos = &gPlayerFacingPosition, neg1 = 0xFFFF; i < 3; i++) + { + + y = i + neg1 + pos->y; + for (j = 0; j < 3; j++) + { + x = j + neg1 + pos->x; + if (MapGridGetZCoordAt(x, y) == pos->height) + { + if (MetatileAtCoordsIsGrassTile(x, y) == TRUE) + { + SetCutGrassMetatileAt(x, y); + sub_805F378(x, y); + } + } + } + } + DrawWholeMapView(); + sCutGrassSpriteArrayPtr = Alloc(CUT_GRASS_SPRITE_COUNT); + for (i = 0; i < 8; i++) + { + sCutGrassSpriteArrayPtr[i] = CreateSprite(&sSpriteTemplate_FldEff_CutGrass, gSprites[gPlayerAvatar.spriteId].oam.x + 8, gSprites[gPlayerAvatar.spriteId].oam.y + 20, 0); + gSprites[sCutGrassSpriteArrayPtr[i]].data[2] = i * (0x100 / CUT_GRASS_SPRITE_COUNT); + } + return FALSE; +} + +static void SetCutGrassMetatileAt(s16 x, s16 y) +{ + u16 i = 0; + u16 metatileId = MapGridGetMetatileIdAt(x, y); + while (1) + { + if (sCutGrassMetatileMapping[i][0] == 0xFFFF) + return; + if (sCutGrassMetatileMapping[i][0] == metatileId) + { + MapGridSetMetatileIdAt(x, y, sCutGrassMetatileMapping[i][1]); + break; + } + i++; + } +} + +static void SpriteCallback_CutGrass_Init(struct Sprite * sprite) +{ + sprite->data[0] = 8; + sprite->data[1] = 0; + sprite->data[3] = 0; + sprite->callback = SpriteCallback_CutGrass_Run; +} + +static void SpriteCallback_CutGrass_Run(struct Sprite * sprite) +{ + sprite->pos2.x = Sin(sprite->data[2], sprite->data[0]); + sprite->pos2.y = Cos(sprite->data[2], sprite->data[0]); + sprite->data[2] += 8; + sprite->data[2] &= 0xFF; + sprite->data[0]++; + sprite->data[0] += sprite->data[3] >> 2; + sprite->data[3]++; + if (sprite->data[1] != 28) + sprite->data[1]++; + else + sprite->callback = SpriteCallback_CutGrass_Cleanup; +} + +static void SpriteCallback_CutGrass_Cleanup(struct Sprite * sprite) +{ + u8 i; + for (i = 1; i < CUT_GRASS_SPRITE_COUNT; i++) + { + DestroySprite(&gSprites[sCutGrassSpriteArrayPtr[i]]); + } + FieldEffectStop(&gSprites[sCutGrassSpriteArrayPtr[0]], FLDEFF_CUT_GRASS); + Free(sCutGrassSpriteArrayPtr); + sub_80696C0(); + ScriptContext2_Disable(); +} + +static void FieldMoveCallback_CutTree(void) +{ + PlaySE(SE_W015); + FieldEffectActiveListRemove(FLDEFF_USE_CUT_ON_TREE); + EnableBothScriptContexts(); +} diff --git a/src/fldeff_dig.c b/src/fldeff_dig.c index 7d229ce3f..0eb0d3c1e 100644 --- a/src/fldeff_dig.c +++ b/src/fldeff_dig.c @@ -5,8 +5,6 @@ #include "item_use.h" #include "overworld.h" #include "party_menu.h" -#include "sprite.h" -#include "constants/object_events.h" static void FieldCallback_Dig(void); static void sub_80C9AFC(void); @@ -31,7 +29,7 @@ static void FieldCallback_Dig(void) bool8 FldEff_UseDig(void) { - u8 taskId = oei_task_add(); + u8 taskId = CreateFieldEffectShowMon(); FLDEFF_SET_FUNC_TO_DATA(sub_80C9AFC); SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); diff --git a/src/fldeff_flash.c b/src/fldeff_flash.c new file mode 100644 index 000000000..58cb4c251 --- /dev/null +++ b/src/fldeff_flash.c @@ -0,0 +1,479 @@ +#include "global.h" +#include "gflib.h" +#include "event_data.h" +#include "event_scripts.h" +#include "fldeff.h" +#include "field_effect.h" +#include "map_preview_screen.h" +#include "overworld.h" +#include "party_menu.h" +#include "script.h" +#include "constants/songs.h" +#include "constants/map_types.h" + +struct FlashStruct +{ + u8 fromType; + u8 toType; + bool8 isEnter; + bool8 isExit; + void (*func1)(void); + void (*func2)(u8 mapSecId); +}; + +static void FieldCallback_Flash(void); +static void FldEff_UseFlash(void); +static bool8 TryDoMapTransition(void); +static void FlashTransition_Exit(void); +static void Task_FlashTransition_Exit_0(u8 taskId); +static void Task_FlashTransition_Exit_1(u8 taskId); +static void Task_FlashTransition_Exit_2(u8 taskId); +static void Task_FlashTransition_Exit_3(u8 taskId); +static void Task_FlashTransition_Exit_4(u8 taskId); +static void FlashTransition_Enter(void); +static void Task_FlashTransition_Enter_0(u8 taskId); +static void Task_FlashTransition_Enter_1(u8 taskId); +static void Task_FlashTransition_Enter_2(u8 taskId); +static void Task_FlashTransition_Enter_3(u8 taskId); +static void RunMapPreviewScreen(u8 mapsecId); +static void Task_MapPreviewScreen_0(u8 taskId); + +static const struct FlashStruct sTransitionTypes[] = { + { + .fromType = MAP_TYPE_TOWN, + .toType = MAP_TYPE_UNDERGROUND, + .isEnter = TRUE, + .isExit = FALSE, + .func1 = FlashTransition_Enter, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_CITY, + .toType = MAP_TYPE_UNDERGROUND, + .isEnter = TRUE, + .isExit = FALSE, + .func1 = FlashTransition_Enter, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_ROUTE, + .toType = MAP_TYPE_UNDERGROUND, + .isEnter = TRUE, + .isExit = FALSE, + .func1 = FlashTransition_Enter, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_UNDERWATER, + .toType = MAP_TYPE_UNDERGROUND, + .isEnter = TRUE, + .isExit = FALSE, + .func1 = FlashTransition_Enter, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_OCEAN_ROUTE, + .toType = MAP_TYPE_UNDERGROUND, + .isEnter = TRUE, + .isExit = FALSE, + .func1 = FlashTransition_Enter, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_UNKNOWN, + .toType = MAP_TYPE_UNDERGROUND, + .isEnter = TRUE, + .isExit = FALSE, + .func1 = FlashTransition_Enter, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_INDOOR, + .toType = MAP_TYPE_UNDERGROUND, + .isEnter = TRUE, + .isExit = FALSE, + .func1 = FlashTransition_Enter, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_SECRET_BASE, + .toType = MAP_TYPE_UNDERGROUND, + .isEnter = TRUE, + .isExit = FALSE, + .func1 = FlashTransition_Enter, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_UNDERGROUND, + .toType = MAP_TYPE_TOWN, + .isEnter = FALSE, + .isExit = TRUE, + .func1 = FlashTransition_Exit, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_UNDERGROUND, + .toType = MAP_TYPE_CITY, + .isEnter = FALSE, + .isExit = TRUE, + .func1 = FlashTransition_Exit, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_UNDERGROUND, + .toType = MAP_TYPE_ROUTE, + .isEnter = FALSE, + .isExit = TRUE, + .func1 = FlashTransition_Exit, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_UNDERGROUND, + .toType = MAP_TYPE_UNDERWATER, + .isEnter = FALSE, + .isExit = TRUE, + .func1 = FlashTransition_Exit, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_UNDERGROUND, + .toType = MAP_TYPE_OCEAN_ROUTE, + .isEnter = FALSE, + .isExit = TRUE, + .func1 = FlashTransition_Exit, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_UNDERGROUND, + .toType = MAP_TYPE_UNKNOWN, + .isEnter = FALSE, + .isExit = TRUE, + .func1 = FlashTransition_Exit, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_UNDERGROUND, + .toType = MAP_TYPE_INDOOR, + .isEnter = FALSE, + .isExit = TRUE, + .func1 = FlashTransition_Exit, + .func2 = RunMapPreviewScreen + }, { + .fromType = MAP_TYPE_UNDERGROUND, + .toType = MAP_TYPE_SECRET_BASE, + .isEnter = FALSE, + .isExit = TRUE, + .func1 = FlashTransition_Exit, + .func2 = RunMapPreviewScreen + }, {0} +}; + +static const u16 sCaveTransitionPalette_White[] = INCBIN_U16("graphics/field_effects/flash_white.gbapal"); +static const u16 sCaveTransitionPalette_Black[] = INCBIN_U16("graphics/field_effects/flash_black.gbapal"); +static const u16 sCaveTransitionPalette_Gradient[] = INCBIN_U16("graphics/field_effects/flash_gradient.gbapal"); +static const u32 sCaveTransitionTilemap[] = INCBIN_U32("graphics/field_effects/flash_effect_map.bin.lz"); +static const u32 sCaveTransitionTiles[] = INCBIN_U32("graphics/field_effects/flash_effect_tiles.4bpp.lz"); + +bool8 SetUpFieldMove_Flash(void) +{ + if (gMapHeader.cave != TRUE) + return FALSE; + + if (FlagGet(FLAG_SYS_FLASH_ACTIVE)) + return FALSE; + + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = FieldCallback_Flash; + return TRUE; +} + +static void FieldCallback_Flash(void) +{ + u8 taskId = CreateFieldEffectShowMon(); + gFieldEffectArguments[0] = GetCursorSelectionMonId(); + gTasks[taskId].data[8] = ((uintptr_t)FldEff_UseFlash) >> 16; + gTasks[taskId].data[9] = ((uintptr_t)FldEff_UseFlash); +} + +static void FldEff_UseFlash(void) +{ + PlaySE(SE_W115); + FlagSet(FLAG_SYS_FLASH_ACTIVE); + ScriptContext1_SetupScript(EventScript_FldEffFlash); +} + +// Map transition animatics + +static void CB2_ChangeMapMain(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void VBC_ChangeMapVBlank(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void CB2_DoChangeMap(void) +{ + SetVBlankCallback(NULL); + + SetGpuReg(REG_OFFSET_DISPCNT, 0); + SetGpuReg(REG_OFFSET_BG2CNT, 0); + SetGpuReg(REG_OFFSET_BG1CNT, 0); + SetGpuReg(REG_OFFSET_BG0CNT, 0); + SetGpuReg(REG_OFFSET_BG2HOFS, 0); + SetGpuReg(REG_OFFSET_BG2VOFS, 0); + SetGpuReg(REG_OFFSET_BG1HOFS, 0); + SetGpuReg(REG_OFFSET_BG1VOFS, 0); + SetGpuReg(REG_OFFSET_BG0HOFS, 0); + SetGpuReg(REG_OFFSET_BG0VOFS, 0); + + DmaFill16(3, 0, (void *)VRAM, VRAM_SIZE); + DmaFill32(3, 0, (void *)OAM, OAM_SIZE); + DmaFill16(3, 0, (void *)(PLTT + 2), PLTT_SIZE - 2); + ResetPaletteFade(); + ResetTasks(); + ResetSpriteData(); + EnableInterrupts(INTR_FLAG_VBLANK); + SetVBlankCallback(VBC_ChangeMapVBlank); + SetMainCallback2(CB2_ChangeMapMain); + if (!TryDoMapTransition()) + SetMainCallback2(gMain.savedCallback); +} + +static bool8 TryDoMapTransition(void) +{ + u8 fromType = GetLastUsedWarpMapType(); + u8 toType = GetCurrentMapType(); + u8 i = 0; + if (GetLastUsedWarpMapSectionId() != gMapHeader.regionMapSectionId && MapHasPreviewScreen_HandleQLState2(gMapHeader.regionMapSectionId, MPS_TYPE_CAVE) == TRUE) + { + RunMapPreviewScreen(gMapHeader.regionMapSectionId); + return TRUE; + } + for (; sTransitionTypes[i].fromType != 0; i++) + { + if (sTransitionTypes[i].fromType == fromType && sTransitionTypes[i].toType == toType) + { + sTransitionTypes[i].func1(); + return TRUE; + } + } + return FALSE; +} + +bool8 MapTransitionIsEnter(u8 _fromType, u8 _toType) +{ + u8 fromType = _fromType; + u8 toType = _toType; + u8 i = 0; + for (; sTransitionTypes[i].fromType != 0; i++) + { + if (sTransitionTypes[i].fromType == fromType && sTransitionTypes[i].toType == toType) + { + return sTransitionTypes[i].isEnter; + } + } + return FALSE; +} + +bool8 MapTransitionIsExit(u8 _fromType, u8 _toType) +{ + u8 fromType = _fromType; + u8 toType = _toType; + u8 i = 0; + for (; sTransitionTypes[i].fromType != 0; i++) + { + if (sTransitionTypes[i].fromType == fromType && sTransitionTypes[i].toType == toType) + { + return sTransitionTypes[i].isExit; + } + } + return FALSE; +} + +static void FlashTransition_Exit(void) +{ + CreateTask(Task_FlashTransition_Exit_0, 0); +} + +static void Task_FlashTransition_Exit_0(u8 taskId) +{ + gTasks[taskId].func = Task_FlashTransition_Exit_1; +} + +static void Task_FlashTransition_Exit_1(u8 taskId) +{ + SetGpuReg(REG_OFFSET_DISPCNT, 0); + LZ77UnCompVram(sCaveTransitionTiles, (void *)BG_CHAR_ADDR(3)); + LZ77UnCompVram(sCaveTransitionTilemap, (void *)BG_SCREEN_ADDR(31)); + LoadPalette(sCaveTransitionPalette_White, 0xE0, 0x20); + LoadPalette(sCaveTransitionPalette_Gradient + 8, 0xE0, 0x10); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + SetGpuReg(REG_OFFSET_BG0CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(3) | BGCNT_SCREENBASE(31)); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_OBJ_ON); + gTasks[taskId].func = Task_FlashTransition_Exit_2; + gTasks[taskId].data[0] = 16; + gTasks[taskId].data[1] = 0; +} + +static void Task_FlashTransition_Exit_2(u8 taskId) +{ + u16 r4 = gTasks[taskId].data[1]; + SetGpuReg(REG_OFFSET_BLDALPHA, (16 << 8) + r4); + if (r4 <= 16) + { + gTasks[taskId].data[1]++; + } + else + { + gTasks[taskId].data[2] = 0; + gTasks[taskId].func = Task_FlashTransition_Exit_3; + } +} + +static void Task_FlashTransition_Exit_3(u8 taskId) +{ + u16 r4; + SetGpuReg(REG_OFFSET_BLDALPHA, (16 << 8) + 16); + r4 = gTasks[taskId].data[2]; + if (r4 < 8) + { + gTasks[taskId].data[2]++; + LoadPalette(sCaveTransitionPalette_Gradient + 8 + r4, 0xE0, 0x10 - 2 * r4); + } + else + { + LoadPalette(sCaveTransitionPalette_White, 0x00, 0x20); + gTasks[taskId].func = Task_FlashTransition_Exit_4; + gTasks[taskId].data[2] = 8; + } +} + +static void Task_FlashTransition_Exit_4(u8 taskId) +{ + if (gTasks[taskId].data[2] != 0) + gTasks[taskId].data[2]--; + else + SetMainCallback2(gMain.savedCallback); +} + +static void FlashTransition_Enter(void) +{ + CreateTask(Task_FlashTransition_Enter_0, 0); +} + +static void Task_FlashTransition_Enter_0(u8 taskId) +{ + gTasks[taskId].func = Task_FlashTransition_Enter_1; +} + +static void Task_FlashTransition_Enter_1(u8 taskId) +{ + SetGpuReg(REG_OFFSET_DISPCNT, 0); + LZ77UnCompVram(sCaveTransitionTiles, (void *)BG_CHAR_ADDR(3)); + LZ77UnCompVram(sCaveTransitionTilemap, (void *)BG_SCREEN_ADDR(31)); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + SetGpuReg(REG_OFFSET_BG0CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(3) | BGCNT_SCREENBASE(31)); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_OBJ_ON); + LoadPalette(sCaveTransitionPalette_White, 0xE0, 0x20); + LoadPalette(sCaveTransitionPalette_Black, 0, 0x20); + gTasks[taskId].func = Task_FlashTransition_Enter_2; + gTasks[taskId].data[0] = 16; + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[2] = 0; +} + +static void Task_FlashTransition_Enter_2(u8 taskId) +{ + u16 r4; + r4 = gTasks[taskId].data[2]; + if (r4 < 16) + { + gTasks[taskId].data[2]++; + gTasks[taskId].data[2]++; + LoadPalette(&sCaveTransitionPalette_Gradient[16 - (r4 + 1)], 0xE0, 2 * (r4 + 1)); + } + else + { + SetGpuReg(REG_OFFSET_BLDALPHA, (16 << 8) + 16); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD); + gTasks[taskId].func = Task_FlashTransition_Enter_3; + } +} + +static void Task_FlashTransition_Enter_3(u8 taskId) +{ + u16 r4 = 16 - gTasks[taskId].data[1]; + SetGpuReg(REG_OFFSET_BLDALPHA, (16 << 8) + r4); + if (r4 != 0) + { + gTasks[taskId].data[1]++; + } + else + { + LoadPalette(sCaveTransitionPalette_Black, 0x00, 0x20); + SetMainCallback2(gMain.savedCallback); + } +} + +static void RunMapPreviewScreen(u8 mapSecId) +{ + u8 taskId = CreateTask(Task_MapPreviewScreen_0, 0); + gTasks[taskId].data[3] = mapSecId; +} + +static void Task_MapPreviewScreen_0(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + switch (data[0]) + { + case 0: + SetWordTaskArg(taskId, 5, (uintptr_t)gMain.vblankCallback); + SetVBlankCallback(NULL); + MapPreview_InitBgs(); + MapPreview_LoadGfx(data[3]); + BlendPalettes(0xFFFFFFFF, 0x10, RGB_BLACK); + data[0]++; + break; + case 1: + if (!MapPreview_IsGfxLoadFinished()) + { + data[4] = MapPreview_CreateMapNameWindow(data[3]); + CopyWindowToVram(data[4], 3); + data[0]++; + } + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + { + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + SetVBlankCallback((IntrCallback)GetWordTaskArg(taskId, 5)); + data[0]++; + } + break; + case 3: + if (!UpdatePaletteFade()) + { + data[2] = MapPreview_GetDuration(data[3]); + data[0]++; + } + break; + case 4: + data[1]++; + if (data[1] > data[2] || JOY_HELD(B_BUTTON)) + { + BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, RGB_WHITE); + data[0]++; + } + break; + case 5: + if (!UpdatePaletteFade()) + { + int i; + for (i = 0; i < 16; i++) + { + data[i] = 0; + } + MapPreview_Unload(data[4]); + gTasks[taskId].func = Task_FlashTransition_Enter_1; + } + break; + } +} diff --git a/src/fldeff_rocksmash.c b/src/fldeff_rocksmash.c index 2cca37f7a..dc372ce18 100644 --- a/src/fldeff_rocksmash.c +++ b/src/fldeff_rocksmash.c @@ -3,25 +3,22 @@ #include "field_player_avatar.h" #include "field_effect.h" #include "party_menu.h" -#include "malloc.h" #include "event_data.h" #include "script.h" #include "fldeff.h" #include "event_scripts.h" -#include "field_weather.h" #include "sound.h" -#include "palette.h" #include "overworld.h" -#include "wild_encounter.h" #include "event_object_movement.h" #include "constants/songs.h" -#include "constants/object_events.h" -#include "constants/map_types.h" +#include "constants/event_objects.h" +#include "constants/event_object_movement.h" +#include "constants/maps.h" -static void task08_080C9820(u8 taskId); -static void sub_80C98FC(u8 taskId); -static void sub_80C98B0(u8 taskId); -static void sub_80C99A0(u8 taskId); +static void Task_FieldEffectShowMon_Init(u8 taskId); +static void Task_FieldEffectShowMon_WaitFldeff(u8 taskId); +static void Task_FieldEffectShowMon_WaitPlayerAnim(u8 taskId); +static void Task_FieldEffectShowMon_Cleanup(u8 taskId); static void sub_80C9A10(void); static void sub_80C9A60(void); @@ -40,75 +37,76 @@ bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId) return TRUE; } -u8 oei_task_add(void) +u8 CreateFieldEffectShowMon(void) { GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); - return CreateTask(task08_080C9820, 8); + return CreateTask(Task_FieldEffectShowMon_Init, 8); } -static void task08_080C9820(u8 taskId) +static void Task_FieldEffectShowMon_Init(u8 taskId) { u8 mapObjId; ScriptContext2_Enable(); - gPlayerAvatar.unk6 = TRUE; + gPlayerAvatar.preventStep = TRUE; mapObjId = gPlayerAvatar.objectEventId; if (!ObjectEventIsMovementOverridden(&gObjectEvents[mapObjId]) || ObjectEventClearHeldMovementIfFinished(&gObjectEvents[mapObjId])) { if (gMapHeader.mapType == MAP_TYPE_UNDERWATER) { + // Leftover from RS, inhibits the player anim while underwater. FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); - gTasks[taskId].func = sub_80C98FC; + gTasks[taskId].func = Task_FieldEffectShowMon_WaitFldeff; } else { sub_805CB70(); - ObjectEventSetHeldMovement(&gObjectEvents[mapObjId], 0x45); - gTasks[taskId].func = sub_80C98B0; + ObjectEventSetHeldMovement(&gObjectEvents[mapObjId], MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); + gTasks[taskId].func = Task_FieldEffectShowMon_WaitPlayerAnim; } } } -static void sub_80C98B0(u8 taskId) +static void Task_FieldEffectShowMon_WaitPlayerAnim(u8 taskId) { if (ObjectEventCheckHeldMovementStatus(&gObjectEvents[gPlayerAvatar.objectEventId]) == TRUE) { FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); - gTasks[taskId].func = sub_80C98FC; + gTasks[taskId].func = Task_FieldEffectShowMon_WaitFldeff; } } -static void sub_80C98FC(u8 taskId) +static void Task_FieldEffectShowMon_WaitFldeff(u8 taskId) { if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) { gFieldEffectArguments[1] = GetPlayerFacingDirection(); - if (gFieldEffectArguments[1] == 1) + if (gFieldEffectArguments[1] == DIR_SOUTH) gFieldEffectArguments[2] = 0; - if (gFieldEffectArguments[1] == 2) + if (gFieldEffectArguments[1] == DIR_NORTH) gFieldEffectArguments[2] = 1; - if (gFieldEffectArguments[1] == 3) + if (gFieldEffectArguments[1] == DIR_WEST) gFieldEffectArguments[2] = 2; - if (gFieldEffectArguments[1] == 4) + if (gFieldEffectArguments[1] == DIR_EAST) gFieldEffectArguments[2] = 3; ObjectEventSetGraphicsId(&gObjectEvents[gPlayerAvatar.objectEventId], GetPlayerAvatarGraphicsIdByCurrentState()); StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], gFieldEffectArguments[2]); - FieldEffectActiveListRemove(6); - gTasks[taskId].func = sub_80C99A0; + FieldEffectActiveListRemove(FLDEFF_FIELD_MOVE_SHOW_MON); + gTasks[taskId].func = Task_FieldEffectShowMon_Cleanup; } } -static void sub_80C99A0(u8 taskId) +static void Task_FieldEffectShowMon_Cleanup(u8 taskId) { FLDEFF_CALL_FUNC_IN_DATA(); - gPlayerAvatar.unk6 = FALSE; + gPlayerAvatar.preventStep = FALSE; DestroyTask(taskId); } bool8 SetUpFieldMove_RockSmash(void) { - if (CheckObjectGraphicsInFrontOfPlayer(OBJECT_EVENT_GFX_ROCK_SMASH_ROCK) == TRUE) + if (CheckObjectGraphicsInFrontOfPlayer(OBJ_EVENT_GFX_ROCK_SMASH_ROCK) == TRUE) { gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; gPostMenuFieldCallback = sub_80C9A10; @@ -125,7 +123,7 @@ static void sub_80C9A10(void) bool8 FldEff_UseRockSmash(void) { - u8 taskId = oei_task_add(); + u8 taskId = CreateFieldEffectShowMon(); FLDEFF_SET_FUNC_TO_DATA(sub_80C9A60); IncrementGameStat(GAME_STAT_USED_ROCK_SMASH); diff --git a/src/fldeff_softboiled.c b/src/fldeff_softboiled.c index 60437c125..966a7934c 100644 --- a/src/fldeff_softboiled.c +++ b/src/fldeff_softboiled.c @@ -5,7 +5,6 @@ #include "menu.h" #include "new_menu_helpers.h" #include "constants/songs.h" -#include "fldeff.h" static void sub_80E57E8(u8 taskId); static void sub_80E583C(u8 taskId); diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c index b8d5af31d..c6b92b28c 100644 --- a/src/fldeff_strength.c +++ b/src/fldeff_strength.c @@ -6,15 +6,14 @@ #include "script.h" #include "fldeff.h" #include "event_scripts.h" -#include "constants/songs.h" -#include "constants/object_events.h" +#include "constants/event_objects.h" -static void FldEff_UseStrength(void); -static void sub_80D08A8(void); +static void FieldCB_UseStrength(void); +static void ShowMonCB_UseStrength(void); bool8 SetUpFieldMove_Strength(void) { - if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING) || CheckObjectGraphicsInFrontOfPlayer(OBJECT_EVENT_GFX_STRENGTH_BOULDER) != TRUE) + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING) || CheckObjectGraphicsInFrontOfPlayer(OBJ_EVENT_GFX_STRENGTH_BOULDER) != TRUE) { return FALSE; } @@ -22,25 +21,25 @@ bool8 SetUpFieldMove_Strength(void) { gSpecialVar_Result = GetCursorSelectionMonId(); gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; - gPostMenuFieldCallback = FldEff_UseStrength; + gPostMenuFieldCallback = FieldCB_UseStrength; return TRUE; } } -static void FldEff_UseStrength(void) +static void FieldCB_UseStrength(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); ScriptContext1_SetupScript(EventScript_FldEffStrength); } -bool8 sub_80D0860(void) +bool8 FldEff_UseStrength(void) { - u8 taskId = oei_task_add(); - FLDEFF_SET_FUNC_TO_DATA(sub_80D08A8); + u8 taskId = CreateFieldEffectShowMon(); + FLDEFF_SET_FUNC_TO_DATA(ShowMonCB_UseStrength); GetMonNickname(&gPlayerParty[gFieldEffectArguments[0]], gStringVar1); return FALSE; } -static void sub_80D08A8(void) +static void ShowMonCB_UseStrength(void) { FieldEffectActiveListRemove(FLDEFF_USE_STRENGTH); EnableBothScriptContexts(); diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c index 943d8504c..d827aff4d 100644 --- a/src/fldeff_sweetscent.c +++ b/src/fldeff_sweetscent.c @@ -3,7 +3,6 @@ #include "field_effect.h" #include "party_menu.h" #include "malloc.h" -#include "event_data.h" #include "script.h" #include "fldeff.h" #include "event_scripts.h" @@ -44,7 +43,7 @@ bool8 FldEff_SweetScent(void) u8 taskId; SetWeatherScreenFadeOut(); - taskId = oei_task_add(); + taskId = CreateFieldEffectShowMon(); FLDEFF_SET_FUNC_TO_DATA(StartSweetScentFieldEffect); return FALSE; } diff --git a/src/fldeff_teleport.c b/src/fldeff_teleport.c index a66a332bf..44a7af732 100644 --- a/src/fldeff_teleport.c +++ b/src/fldeff_teleport.c @@ -28,7 +28,7 @@ static void FieldCallback_Teleport(void) bool8 FldEff_UseTeleport(void) { - u8 taskId = oei_task_add(); + u8 taskId = CreateFieldEffectShowMon(); FLDEFF_SET_FUNC_TO_DATA(StartTeleportFieldEffect); SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); return FALSE; diff --git a/src/flying.c b/src/flying.c index 6d4a1eb56..4ecfa2899 100644 --- a/src/flying.c +++ b/src/flying.c @@ -178,7 +178,7 @@ const struct SpriteTemplate gUnknown_83E6C00 = }; // not used -static const u16 gUnknown_83E6C18[] = INCBIN_U16("graphics/battle_anims/sprites/unk_83E6C18.gbapal"); +static const u16 gUnknown_83E6C18[] = INCBIN_U16("graphics/battle_anims/unk_83E6C18.gbapal"); const struct SpriteTemplate gUnknown_83E6C38 = { diff --git a/src/graphics.c b/src/graphics.c new file mode 100644 index 000000000..69e804fd9 --- /dev/null +++ b/src/graphics.c @@ -0,0 +1,1419 @@ +#include "global.h" + +const u32 gBattleTextboxTiles[] = INCBIN_U32("graphics/battle_interface/window.4bpp.lz"); +const u32 gBattleTextboxPalette[] = INCBIN_U32("graphics/battle_interface/window.gbapal.lz"); +const u32 gBattleTextboxTilemap[] = INCBIN_U32("graphics/interface/menu_map.bin.lz"); + +const u32 gMonFrontPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/circled/front.4bpp.lz"); +const u32 gMonBackPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/circled/back.4bpp.lz"); +const u32 gMonPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/circled/normal.gbapal.lz"); +const u32 gMonShinyPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/question_mark/circled/shiny.gbapal.lz"); + +// From Ruby. +const u32 gUnusedGfx_OldCharmap[] = INCBIN_U32("graphics/unused/old_charmap.4bpp.lz"); +const u32 gUnusedTimemap_OldCharmap[] = INCBIN_U32("graphics/unused/old_charmap.bin.lz"); +const u32 gUnusedPal_OldCharmap[] = INCBIN_U32("graphics/unused/old_charmap.gbapal.lz"); + +const u32 gSmokescreenImpactTiles[] = INCBIN_U32("graphics/battle_anims/sprites/smokescreen_impact.4bpp.lz"); +const u32 gSmokescreenImpactPalette[] = INCBIN_U32("graphics/battle_anims/sprites/smokescreen_impact.gbapal.lz"); + +#include "data/graphics/interface_pokeballs.h" + +const u32 gBlankGfxCompressed[] = INCBIN_U32("graphics/interface/blank.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Bubble[] = INCBIN_U32("graphics/battle_anims/sprites/bubble.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Bone[] = INCBIN_U32("graphics/battle_anims/sprites/bone.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_AirWave[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Orb[] = INCBIN_U32("graphics/battle_anims/sprites/orb.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Sword[] = INCBIN_U32("graphics/battle_anims/sprites/sword.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Seed[] = INCBIN_U32("graphics/battle_anims/sprites/seed.4bpp.lz"); + +const u32 gBattleAnimSpritePal_RainDrops[] = INCBIN_U32("graphics/battle_anims/sprites/rain_drops.gbapal.lz"); +const u32 gBattleAnimSpritePal_Bone[] = INCBIN_U32("graphics/battle_anims/sprites/bone.gbapal.lz"); +const u32 gBattleAnimSpritePal_AirWave[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave.gbapal.lz"); +const u32 gBattleAnimSpritePal_Orb[] = INCBIN_U32("graphics/battle_anims/sprites/orb.gbapal.lz"); +const u32 gBattleAnimSpritePal_Sword[] = INCBIN_U32("graphics/battle_anims/sprites/sword.gbapal.lz"); +const u32 gBattleAnimSpritePal_Seed[] = INCBIN_U32("graphics/battle_anims/sprites/seed.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Needle[] = INCBIN_U32("graphics/battle_anims/sprites/needle.4bpp.lz"); +const u32 gBattleAnimSpritePal_Needle[] = INCBIN_U32("graphics/battle_anims/sprites/needle.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Explosion6[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_6.4bpp.lz"); +const u32 gBattleAnimSpritePal_Explosion6[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_6.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PinkOrb[] = INCBIN_U32("graphics/battle_anims/sprites/pink_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_PinkOrb[] = INCBIN_U32("graphics/battle_anims/sprites/pink_orb.gbapal.lz"); + +const u32 gBattleAnimSpritePal_IceCube[] = INCBIN_U32("graphics/battle_anims/sprites/ice_cube.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_IceCube[] = INCBIN_U32("graphics/battle_anims/sprites/ice_cube.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Gust[] = INCBIN_U32("graphics/battle_anims/sprites/gust.4bpp.lz"); +const u32 gBattleAnimSpritePal_Gust[] = INCBIN_U32("graphics/battle_anims/sprites/gust.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Spark2[] = INCBIN_U32("graphics/battle_anims/sprites/spark_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Spark2[] = INCBIN_U32("graphics/battle_anims/sprites/spark_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Orange[] = INCBIN_U32("graphics/battle_anims/sprites/orange.4bpp.lz"); +const u32 gBattleAnimSpritePal_Orange[] = INCBIN_U32("graphics/battle_anims/sprites/orange.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Spikes[] = INCBIN_U32("graphics/battle_anims/sprites/spikes.4bpp.lz"); +const u32 gBattleAnimSpritePal_Spikes[] = INCBIN_U32("graphics/battle_anims/sprites/spikes.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_YellowBall[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_ball.4bpp.lz"); +const u32 gBattleAnimSpritePal_YellowBall[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_ball.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_TiedBag[] = INCBIN_U32("graphics/battle_anims/sprites/tied_bag.4bpp.lz"); +const u32 gBattleAnimSpritePal_TiedBag[] = INCBIN_U32("graphics/battle_anims/sprites/tied_bag.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_BlackSmoke[] = INCBIN_U32("graphics/battle_anims/sprites/black_smoke.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlackSmoke[] = INCBIN_U32("graphics/battle_anims/sprites/black_smoke.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_BlackBall[] = INCBIN_U32("graphics/battle_anims/sprites/black_ball.4bpp.lz"); + +const u32 gUnknownGfx_8D035A0[] = INCBIN_U32("graphics/unknown/unknown_D035A0.4bpp.lz"); + +const u32 gBattleAnimSpritePal_Glass[] = INCBIN_U32("graphics/battle_anims/sprites/glass.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Glass[] = INCBIN_U32("graphics/battle_anims/sprites/glass.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_HornHit[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit.4bpp.lz"); +const u32 gBattleAnimSpritePal_HornHit[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit.gbapal.lz"); + +const u32 gBattleAnimSpritePal_BlueShards[] = INCBIN_U32("graphics/battle_anims/sprites/blue_shards.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlueShards[] = INCBIN_U32("graphics/battle_anims/sprites/blue_shards.4bpp.lz"); + +const u32 gUnused_BattleSpritePalette_023[] = INCBIN_U32("graphics/unused/battle_anim_023.gbapal.lz"); + +const u32 gUnusedGfx_MusicNotes[] = INCBIN_U32("graphics/unused/music_notes.4bpp.lz"); + +const u32 gBattleAnimSpritePal_Hit[] = INCBIN_U32("graphics/battle_anims/sprites/hit.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Hit[] = INCBIN_U32("graphics/battle_anims/sprites/hit.4bpp.lz"); + +const u32 gBattleAnimSpritePal_Hit2[] = INCBIN_U32("graphics/battle_anims/sprites/hit_2.gbapal.lz"); + +const u32 gBattleAnimSpritePal_WavingHand[] = INCBIN_U32("graphics/battle_anims/sprites/waving_hand.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WavingHand[] = INCBIN_U32("graphics/battle_anims/sprites/waving_hand.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_ClosingEye[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye.4bpp.lz"); +const u32 gBattleAnimSpritePal_ClosingEye[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_BlueStar[] = INCBIN_U32("graphics/battle_anims/sprites/blue_star.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlueStar[] = INCBIN_U32("graphics/battle_anims/sprites/blue_star.gbapal.lz"); + +const u32 gBattleAnimSpritePal_BubbleBurst[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BubbleBurst[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_HitDuplicate[] = INCBIN_U32("graphics/battle_anims/sprites/hit_duplicate.4bpp.lz"); +const u32 gBattleAnimSpritePal_HitDuplicate[] = INCBIN_U32("graphics/battle_anims/sprites/hit_duplicate.gbapal.lz"); + +const u32 gBattleAnimSpritePal_Leer[] = INCBIN_U32("graphics/battle_anims/sprites/leer.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Leer[] = INCBIN_U32("graphics/battle_anims/sprites/leer.4bpp.lz"); + +const u32 gBattleAnimSpritePal_BlueBurst[] = INCBIN_U32("graphics/battle_anims/sprites/blue_burst.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_BlueBurst[] = INCBIN_U32("graphics/battle_anims/sprites/blue_burst.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_SmallEmber[] = INCBIN_U32("graphics/battle_anims/sprites/small_ember.4bpp.lz"); +const u32 gBattleAnimSpritePal_SmallEmber[] = INCBIN_U32("graphics/battle_anims/sprites/small_ember.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_GraySmoke[] = INCBIN_U32("graphics/battle_anims/sprites/gray_smoke.4bpp.lz"); +const u32 gBattleAnimSpritePal_GraySmoke[] = INCBIN_U32("graphics/battle_anims/sprites/gray_smoke.gbapal.lz"); + +const u32 gBattleAnimSpritePal_Fire[] = INCBIN_U32("graphics/battle_anims/sprites/fire.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Fire[] = INCBIN_U32("graphics/battle_anims/sprites/fire.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_SpinningFire[] = INCBIN_U32("graphics/battle_anims/sprites/spinning_fire.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_FirePlume[] = INCBIN_U32("graphics/battle_anims/sprites/fire_plume.4bpp.lz"); + +const u32 gBattleAnimSpritePal_Lightning2[] = INCBIN_U32("graphics/battle_anims/sprites/lightning_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Lightning2[] = INCBIN_U32("graphics/battle_anims/sprites/lightning_2.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Lightning[] = INCBIN_U32("graphics/battle_anims/sprites/lightning.4bpp.lz"); + +const u32 gUnknownGfx_D06D80[] = INCBIN_U32("graphics/unknown/unknown_D06D80.4bpp.lz"); +const u32 gUnknownPal_D06DC4[] = INCBIN_U32("graphics/unknown/unknown_D06D80.gbapal.lz"); +const u32 gUnknownPal_D06DD8[] = INCBIN_U32("graphics/unknown/unknown_D06D80_2.gbapal.lz"); + +// old battle interface data, unused +const u32 gOldBattleInterfaceGfx[] = INCBIN_U32("graphics/unused/obi1.4bpp.lz"); +const u32 gOldBattleInterfacePal_1_2_3[] = INCBIN_U32("graphics/unused/obi_palpak1.gbapal.lz"); // palettes 1-3 +const u32 gOldBattleInterfacePal4[] = INCBIN_U32("graphics/unused/old_pal4.gbapal.lz"); // 4 is by itself +const u32 gOldBattleInterfacePal_5_6_7[] = INCBIN_U32("graphics/unused/obi_palpak3.gbapal.lz"); // palettes 5-7 +const u32 gOldBattleInterfaceGfx2[] = INCBIN_U32("graphics/unused/obi2.4bpp.lz"); +const u32 gOldBattleInterfaceTilemap[] = INCBIN_U32("graphics/unused/old_battle_interface_tilemap.bin.lz"); + +const u32 gBattleAnimSpritePal_ClawSlash2[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_ClawSlash[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_ClawSlash2[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_ClawSlash[] = INCBIN_U32("graphics/battle_anims/sprites/claw_slash.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Scratch3[] = INCBIN_U32("graphics/battle_anims/sprites/scratch_3.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Scratch2[] = INCBIN_U32("graphics/battle_anims/sprites/scratch_2.4bpp.lz"); + +const u32 gPartyMenuHpBar_Gfx[] = INCBIN_U32("graphics/interface/party_menu_hpbar.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_BubbleBurst2[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst_2.4bpp.lz"); + +const u32 gBattleAnimSpritePal_BubbleBurst2[] = INCBIN_U32("graphics/battle_anims/sprites/bubble_burst_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_IceChunk[] = INCBIN_U32("graphics/battle_anims/sprites/ice_chunk.4bpp.lz"); +const u32 gBattleAnimSpritePal_IceChunk[] = INCBIN_U32("graphics/battle_anims/sprites/ice_chunk.gbapal.lz"); + +const u32 gBattleAnimSpritePal_Glass2[] = INCBIN_U32("graphics/battle_anims/sprites/glass_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Glass2[] = INCBIN_U32("graphics/battle_anims/sprites/glass_2.4bpp.lz"); + +const u32 gBattleAnimSpritePal_PinkHeart2[] = INCBIN_U32("graphics/battle_anims/sprites/pink_heart_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PinkHeart2[] = INCBIN_U32("graphics/battle_anims/sprites/pink_heart_2.4bpp.lz"); + +const u32 gInterfaceGfx_UnusedWindow[] = INCBIN_U32("graphics/battle_interface/unused_window.4bpp.lz"); +const u32 gInterfacePal_UnusedWindow[] = INCBIN_U32("graphics/battle_interface/unused_window.gbapal.lz"); + +const u32 gInterfaceGfx_HPNumbers[] = INCBIN_U32("graphics/interface/hp_numbers.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_SapDrip[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip.4bpp.lz"); +const u32 gBattleAnimSpritePal_SapDrip[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip.gbapal.lz"); + +const u32 gBattleAnimSpritePal_SapDrip2[] = INCBIN_U32("graphics/battle_anims/sprites/sap_drip_2.gbapal.lz"); + +const u32 gUnusedGfx_Window2[] = INCBIN_U32("graphics/battle_interface/unused_window2.4bpp.lz"); +const u32 gUnusedGfx_Window2Bar[] = INCBIN_U32("graphics/battle_interface/unused_window2bar.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Sparkle1[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_1.4bpp.lz"); +const u32 gBattleAnimSpritePal_Sparkle1[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_1.gbapal.lz"); + +const u32 gBattleAnimSpritePal_Sparkle2[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_HumanoidFoot[] = INCBIN_U32("graphics/battle_anims/sprites/humanoid_foot.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_HumanoidFoot[] = INCBIN_U32("graphics/battle_anims/sprites/humanoid_foot.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_MonsterFoot[] = INCBIN_U32("graphics/battle_anims/sprites/monster_foot.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_HumanoidHand[] = INCBIN_U32("graphics/battle_anims/sprites/humanoid_hand.4bpp.lz"); + +const u32 gUnusedGfx_LineSketch[] = INCBIN_U32("graphics/unused/line_sketch.4bpp.lz"); +const u32 gUnusedPal_LineSketch[] = INCBIN_U32("graphics/unused/line_sketch.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_YellowUnk[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk.4bpp.lz"); +const u32 gBattleAnimSpritePal_YellowUnk[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_SlamHit[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit.4bpp.lz"); +const u32 gBattleAnimSpritePal_SlamHit[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_RedFist[] = INCBIN_U32("graphics/battle_anims/sprites/red_fist.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Ring[] = INCBIN_U32("graphics/battle_anims/sprites/ring.4bpp.lz"); +const u32 gBattleAnimSpritePal_Ring[] = INCBIN_U32("graphics/battle_anims/sprites/ring.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Rocks[] = INCBIN_U32("graphics/battle_anims/sprites/rocks.4bpp.lz"); +const u32 gBattleAnimSpritePal_Rocks[] = INCBIN_U32("graphics/battle_anims/sprites/rocks.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Z[] = INCBIN_U32("graphics/battle_anims/sprites/z.4bpp.lz"); +const u32 gBattleAnimSpritePal_Z[] = INCBIN_U32("graphics/battle_anims/sprites/z.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_YellowUnk2[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_YellowUnk2[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_unk_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_AirSlash[] = INCBIN_U32("graphics/battle_anims/sprites/air_slash.4bpp.lz"); +const u32 gBattleAnimSpritePal_AirSlash[] = INCBIN_U32("graphics/battle_anims/sprites/air_slash.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_SpinningGreenOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/spinning_green_orbs.4bpp.lz"); +const u32 gBattleAnimSpritePal_SpinningGreenOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/spinning_green_orbs.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Leaf[] = INCBIN_U32("graphics/battle_anims/sprites/leaf.4bpp.lz"); +const u32 gBattleAnimSpritePal_Leaf[] = INCBIN_U32("graphics/battle_anims/sprites/leaf.gbapal.lz"); + +const u32 gUnusedGfx_Metronome[] = INCBIN_U32("graphics/unused/metronome_hand_small.4bpp.lz"); // unused, was for metronome at one point + +const u32 gBattleAnimSpritePal_Clapping[] = INCBIN_U32("graphics/battle_anims/sprites/clapping.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PoisonPowder[] = INCBIN_U32("graphics/battle_anims/sprites/poison_powder.4bpp.lz"); +const u32 gBattleAnimSpritePal_PoisonPowder[] = INCBIN_U32("graphics/battle_anims/sprites/poison_powder.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_BrownTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/brown_triangle.4bpp.lz"); +const u32 gBattleAnimSpritePal_BrownTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/brown_triangle.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Sparkle3[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_3.4bpp.lz"); +const u32 gBattleAnimSpritePal_Sparkle3[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_3.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Sparkle4[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_4.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_MusicNotes[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes.4bpp.lz"); +const u32 gBattleAnimSpritePal_MusicNotes[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Duck[] = INCBIN_U32("graphics/battle_anims/sprites/duck.4bpp.lz"); +const u32 gBattleAnimSpritePal_Duck[] = INCBIN_U32("graphics/battle_anims/sprites/duck.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Alert[] = INCBIN_U32("graphics/battle_anims/sprites/alert.4bpp.lz"); +const u32 gBattleAnimSpritePal_Alert[] = INCBIN_U32("graphics/battle_anims/sprites/alert.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Shock4[] = INCBIN_U32("graphics/battle_anims/sprites/shock_4.4bpp.lz"); +const u32 gBattleAnimSpritePal_Shock4[] = INCBIN_U32("graphics/battle_anims/sprites/shock_4.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Shock[] = INCBIN_U32("graphics/battle_anims/sprites/shock.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Bell2[] = INCBIN_U32("graphics/battle_anims/sprites/bell_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Bell2[] = INCBIN_U32("graphics/battle_anims/sprites/bell_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PinkGlove[] = INCBIN_U32("graphics/battle_anims/sprites/pink_glove.4bpp.lz"); +const u32 gBattleAnimSpritePal_PinkGlove[] = INCBIN_U32("graphics/battle_anims/sprites/pink_glove.gbapal.lz"); + +const u16 gUnknown_D0CA04[] = INCBIN_U16("graphics/unknown/unknown_D0CA04.bin"); +const u16 gUnknown_D0CA28[] = INCBIN_U16("graphics/unknown/unknown_D0CA28.bin"); +const u16 gUnknown_D0CA4C[] = INCBIN_U16("graphics/unknown/unknown_D0CA4C.bin"); +const u32 gUnusedGfx8bpp_LineSketch2[] = INCBIN_U32("graphics/unused/line_sketch_2.8bpp.lz"); +const u16 gUnknown_D0CAC8[] = INCBIN_U16("graphics/unknown/unknown_D0CAC8.bin"); +const u32 gUnusedTilemap_LineSketch2[] = INCBIN_U32("graphics/unused/line_sketch_2.bin.lz"); + +const u32 gBattleAnimSpriteGfx_BlueLines[] = INCBIN_U32("graphics/battle_anims/sprites/blue_lines.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlueLines[] = INCBIN_U32("graphics/battle_anims/sprites/blue_lines.gbapal.lz"); + +const u32 gBattleAnimSpritePal_Impact3[] = INCBIN_U32("graphics/battle_anims/sprites/impact_3.gbapal.lz"); +const u32 gBattleAnimSpritePal_Impact2[] = INCBIN_U32("graphics/battle_anims/sprites/impact_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_Reticle[] = INCBIN_U32("graphics/battle_anims/sprites/reticle.gbapal.lz"); +const u32 gBattleAnimSpritePal_Breath[] = INCBIN_U32("graphics/battle_anims/sprites/breath.gbapal.lz"); +const u32 gBattleAnimSpritePal_Snowball[] = INCBIN_U32("graphics/battle_anims/sprites/snowball.gbapal.lz"); +const u32 gBattleAnimSpritePal_Vine[] = INCBIN_U32("graphics/battle_anims/sprites/vine.gbapal.lz"); +const u32 gBattleAnimSpritePal_Sword2[] = INCBIN_U32("graphics/battle_anims/sprites/sword_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_RedTube[] = INCBIN_U32("graphics/battle_anims/sprites/red_tube.gbapal.lz"); +const u32 gBattleAnimSpritePal_Amnesia[] = INCBIN_U32("graphics/battle_anims/sprites/amnesia.gbapal.lz"); +const u32 gBattleAnimSpritePal_String2[] = INCBIN_U32("graphics/battle_anims/sprites/string_2.gbapal.lz"); + +const u32 gFile_graphics_unknown_unknown_D0CD0C[] = INCBIN_U32("graphics/unknown/unknown_D0CD0C.bin.lz"); + +const u32 gBattleAnimSpritePal_Pencil2[] = INCBIN_U32("graphics/battle_anims/sprites/pencil_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_Petal[] = INCBIN_U32("graphics/battle_anims/sprites/petal.gbapal.lz"); +const u32 gBattleAnimSpritePal_BentSpoon[] = INCBIN_U32("graphics/battle_anims/sprites/bent_spoon.gbapal.lz"); +const u32 gBattleAnimSpritePal_Coin[] = INCBIN_U32("graphics/battle_anims/sprites/coin.gbapal.lz"); +const u32 gBattleAnimSpritePal_CrackedEgg[] = INCBIN_U32("graphics/battle_anims/sprites/cracked_egg.gbapal.lz"); +const u32 gBattleAnimSpritePal_FreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/fresh_egg.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Impact3[] = INCBIN_U32("graphics/battle_anims/sprites/impact_3.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Impact2[] = INCBIN_U32("graphics/battle_anims/sprites/impact_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Reticle[] = INCBIN_U32("graphics/battle_anims/sprites/reticle.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Breath[] = INCBIN_U32("graphics/battle_anims/sprites/breath.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Snowball[] = INCBIN_U32("graphics/battle_anims/sprites/snowball.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Vine[] = INCBIN_U32("graphics/battle_anims/sprites/vine.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Sword2[] = INCBIN_U32("graphics/battle_anims/sprites/sword_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Clapping[] = INCBIN_U32("graphics/battle_anims/sprites/clapping.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_RedTube[] = INCBIN_U32("graphics/battle_anims/sprites/red_tube.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Amnesia[] = INCBIN_U32("graphics/battle_anims/sprites/amnesia.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_String2[] = INCBIN_U32("graphics/battle_anims/sprites/string_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Pencil2[] = INCBIN_U32("graphics/battle_anims/sprites/pencil_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Petal[] = INCBIN_U32("graphics/battle_anims/sprites/petal.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_BentSpoon[] = INCBIN_U32("graphics/battle_anims/sprites/bent_spoon.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Web[] = INCBIN_U32("graphics/battle_anims/sprites/web.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Coin[] = INCBIN_U32("graphics/battle_anims/sprites/coin.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_CrackedEgg[] = INCBIN_U32("graphics/battle_anims/sprites/cracked_egg.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_HatchedEgg[] = INCBIN_U32("graphics/battle_anims/sprites/hatched_egg.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_FreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/fresh_egg.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Fangs[] = INCBIN_U32("graphics/battle_anims/sprites/fangs.4bpp.lz"); +const u32 gBattleAnimSpritePal_Fangs[] = INCBIN_U32("graphics/battle_anims/sprites/fangs.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Explosion2[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Explosion2[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Explosion3[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_3.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_WaterDroplet[] = INCBIN_U32("graphics/battle_anims/sprites/water_droplet.4bpp.lz"); +const u32 gBattleAnimSpritePal_WaterDroplet[] = INCBIN_U32("graphics/battle_anims/sprites/water_droplet.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_WaterDroplet2[] = INCBIN_U32("graphics/battle_anims/sprites/water_droplet_2.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Seed2[] = INCBIN_U32("graphics/battle_anims/sprites/seed_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Seed2[] = INCBIN_U32("graphics/battle_anims/sprites/seed_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Sprout[] = INCBIN_U32("graphics/battle_anims/sprites/sprout.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_RedWand[] = INCBIN_U32("graphics/battle_anims/sprites/red_wand.4bpp.lz"); +const u32 gBattleAnimSpritePal_RedWand[] = INCBIN_U32("graphics/battle_anims/sprites/red_wand.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PurpleGreenUnk[] = INCBIN_U32("graphics/battle_anims/sprites/purple_green_unk.4bpp.lz"); +const u32 gBattleAnimSpritePal_PurpleGreenUnk[] = INCBIN_U32("graphics/battle_anims/sprites/purple_green_unk.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_WaterColumn[] = INCBIN_U32("graphics/battle_anims/sprites/water_column.4bpp.lz"); +const u32 gBattleAnimSpritePal_WaterColumn[] = INCBIN_U32("graphics/battle_anims/sprites/water_column.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_MudUnk[] = INCBIN_U32("graphics/battle_anims/sprites/mud_unk.4bpp.lz"); +const u32 gBattleAnimSpritePal_MudUnk[] = INCBIN_U32("graphics/battle_anims/sprites/mud_unk.gbapal.lz"); + +const u32 gUnusedTilemap_BlueFrame[] = INCBIN_U32("graphics/unused/blue_frame.bin.lz"); // P1, P2, P3 and P4 tilemaps? +const u32 gUnusedTilemap_RedYellowGreenFrame[] = INCBIN_U32("graphics/unused/redyellowgreen_frame.bin.lz"); +const u32 gUnusedGfx_ColorFrames[] = INCBIN_U32("graphics/unused/color_frames.4bpp.lz"); +const u32 gUnusedPal_ColorFrames[] = INCBIN_U32("graphics/unused/color_frames.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_RainDrops[] = INCBIN_U32("graphics/battle_anims/sprites/rain_drops.4bpp.lz"); + +const u32 gUnusedGfx8bpp_WaterSplash [] = INCBIN_U32("graphics/unused/water_splash.8bpp.lz"); +const u32 gUnusedTilemap_WaterSplash[] = INCBIN_U32("graphics/unused/water_splash.bin.lz"); +const u32 gUnusedPalette_WaterSplash[] = INCBIN_U32("graphics/unused/water_splash.gbapal.lz"); + +const u32 gUnusedGfx_BasicFrame[] = INCBIN_U32("graphics/unused/basic_frame.4bpp.lz"); +const u32 gUnusedPal_BasicFrame[] = INCBIN_U32("graphics/unused/basic_frame.gbapal.lz"); +const u32 gUnusedTilemap_BasicFrame[] = INCBIN_U32("graphics/unused/basic_frame.bin.lz"); + +// Battle Interface + +const u16 gBattleInterface_BallStatusBarPal[] = INCBIN_U16("graphics/battle_interface/ball_status_bar.gbapal"); + +const u16 gBattleInterface_BallDisplayPal[] = INCBIN_U16("graphics/battle_interface/ball_display.gbapal"); + +//Originally an array? +const u8 gHealthboxElementsGfxTable[] = INCBIN_U8("graphics/battle_interface/hp_bar.4bpp"); +const u8 gHealthboxElementsGfxTable_ExpBar[] = INCBIN_U8("graphics/battle_interface/exp_bar.4bpp"); +const u8 gHealthboxElementsGfxTable_StatusPsn[] = INCBIN_U8("graphics/battle_interface/status_psn.4bpp"); +const u8 gHealthboxElementsGfxTable_StatusPar[] = INCBIN_U8("graphics/battle_interface/status_par.4bpp"); +const u8 gHealthboxElementsGfxTable_StatusSlp[] = INCBIN_U8("graphics/battle_interface/status_slp.4bpp"); +const u8 gHealthboxElementsGfxTable_StatusFrz[] = INCBIN_U8("graphics/battle_interface/status_frz.4bpp"); +const u8 gHealthboxElementsGfxTable_StatusBrn[] = INCBIN_U8("graphics/battle_interface/status_brn.4bpp"); +const u8 gHealthboxElementsGfxTable_Misc[] = INCBIN_U8("graphics/battle_interface/misc.4bpp"); +const u8 gHealthboxElementsGfxTable_HpBarAnim[] = INCBIN_U8("graphics/battle_interface/hp_bar_anim.4bpp"); +const u8 gHealthboxElementsGfxTable_MiscFrameEnd[] = INCBIN_U8("graphics/battle_interface/misc_frame_end.4bpp"); + +const u8 gUnknown_8D12404[] = INCBIN_U8("graphics/battle_interface/ball_display.4bpp"); + +//Originally an array? +const u8 gUnknown_08C1249C[] = INCBIN_U8("graphics/battle_interface/ball_display_unused_extra.4bpp"); +const u8 gBattleInterfaceGfx_Status2[] = INCBIN_U8("graphics/battle_interface/status2.4bpp"); // these three duplicate sets of graphics are for the opponent pokemon +const u8 gBattleInterfaceGfx_Status3[] = INCBIN_U8("graphics/battle_interface/status3.4bpp"); // and are also for use in double battles. they use dynamic palettes so +const u8 gBattleInterfaceGfx_Status4[] = INCBIN_U8("graphics/battle_interface/status4.4bpp"); // coloring them is an extreme headache and wont be done for now +const u8 gUnknown_8D12A44[] = INCBIN_U8("graphics/unknown/unknown_D12A44.4bpp"); +const u8 gUnknown_8D12A64[] = INCBIN_U8("graphics/unknown/unknown_D12A64.4bpp"); +const u32 gBattleInterfaceGfx_UnusedWindow3[] = INCBIN_U32("graphics/battle_interface/unused_window3.4bpp.lz"); +const u32 gBattleInterfaceGfx_UnusedWindow4[] = INCBIN_U32("graphics/battle_interface/unused_window4.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_FurySwipes[] = INCBIN_U32("graphics/battle_anims/sprites/fury_swipes.4bpp.lz"); +const u32 gBattleAnimSpritePal_FurySwipes[] = INCBIN_U32("graphics/battle_anims/sprites/fury_swipes.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Vine2[] = INCBIN_U32("graphics/battle_anims/sprites/vine_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Vine2[] = INCBIN_U32("graphics/battle_anims/sprites/vine_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Teeth[] = INCBIN_U32("graphics/battle_anims/sprites/teeth.4bpp.lz"); +const u32 gBattleAnimSpritePal_Teeth[] = INCBIN_U32("graphics/battle_anims/sprites/teeth.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Bone2[] = INCBIN_U32("graphics/battle_anims/sprites/bone_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Bone2[] = INCBIN_U32("graphics/battle_anims/sprites/bone_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_WhiteBag[] = INCBIN_U32("graphics/battle_anims/sprites/white_bag.4bpp.lz"); +const u32 gBattleAnimSpritePal_WhiteBag[] = INCBIN_U32("graphics/battle_anims/sprites/white_bag.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Unknown[] = INCBIN_U32("graphics/battle_anims/sprites/unknown.4bpp.lz"); +const u32 gBattleAnimSpritePal_Unknown[] = INCBIN_U32("graphics/battle_anims/sprites/unknown.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PurpleCoral[] = INCBIN_U32("graphics/battle_anims/sprites/purple_coral.4bpp.lz"); +const u32 gBattleAnimSpritePal_PurpleCoral[] = INCBIN_U32("graphics/battle_anims/sprites/purple_coral.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PurpleDroplet[] = INCBIN_U32("graphics/battle_anims/sprites/purple_droplet.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Shock2[] = INCBIN_U32("graphics/battle_anims/sprites/shock_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_Shock2[] = INCBIN_U32("graphics/battle_anims/sprites/shock_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_ClosingEye2[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_ClosingEye2[] = INCBIN_U32("graphics/battle_anims/sprites/closing_eye_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_MetalBall[] = INCBIN_U32("graphics/battle_anims/sprites/metal_ball.4bpp.lz"); +const u32 gBattleAnimSpritePal_MetalBall[] = INCBIN_U32("graphics/battle_anims/sprites/metal_ball.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_MonsterDoll[] = INCBIN_U32("graphics/battle_anims/sprites/monster_doll.4bpp.lz"); +const u32 gBattleAnimSpritePal_MonsterDoll[] = INCBIN_U32("graphics/battle_anims/sprites/monster_doll.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Whirlwind[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind.4bpp.lz"); +const u32 gBattleAnimSpritePal_Whirlwind[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Whirlwind2[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind_2.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Explosion4[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_4.4bpp.lz"); +const u32 gBattleAnimSpritePal_Explosion4[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_4.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Explosion5[] = INCBIN_U32("graphics/battle_anims/sprites/explosion_5.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Tongue[] = INCBIN_U32("graphics/battle_anims/sprites/tongue.4bpp.lz"); +const u32 gBattleAnimSpritePal_Tongue[] = INCBIN_U32("graphics/battle_anims/sprites/tongue.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Smoke[] = INCBIN_U32("graphics/battle_anims/sprites/smoke.4bpp.lz"); +const u32 gBattleAnimSpritePal_Smoke[] = INCBIN_U32("graphics/battle_anims/sprites/smoke.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Smoke2[] = INCBIN_U32("graphics/battle_anims/sprites/smoke_2.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_BlueFlames[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flames.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlueFlames[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flames.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_BlueFlames2[] = INCBIN_U32("graphics/battle_anims/sprites/blue_flames_2.4bpp.lz"); + +// Contest + +const u32 gUnusedGfx_OldContest[] = INCBIN_U32("graphics/unused/old_contest.4bpp.lz"); +const u32 gUnusedPal_OldContest[] = INCBIN_U32("graphics/unused/old_contest.gbapal.lz"); +const u32 gUnusedTilemap_OldContest[] = INCBIN_U32("graphics/unused/old_contest.bin.lz"); + +const u32 gFile_graphics_unknown_unknown_D15BE8_tilemap[] = INCBIN_U32("graphics/unknown/unknown_D15BE8.bin.lz"); + +const u32 gFile_graphics_unused_numbers_sheet[] = INCBIN_U32("graphics/unused/numbers.4bpp.lz"); // From ruby +const u32 gFile_graphics_unused_numbers_palette[] = INCBIN_U32("graphics/unused/numbers.gbapal.lz"); // From ruby + +const u32 gUnusedGfx_OldContest2[] = INCBIN_U32("graphics/unused/old_contest_2.4bpp.lz"); +const u32 gOldContestPalette[] = INCBIN_U32("graphics/unused/old_contest_2.gbapal.lz"); +const u32 gOldContestGfx[] = INCBIN_U32("graphics/unused/old_contest_2.bin.lz"); + +const u32 gFile_graphics_unknown_unknown_D172A8_tilemap[] = INCBIN_U32("graphics/unknown/unknown_D172A8.bin.lz"); + +const u32 gFile_graphics_unknown_unknown_D17548_tilemap[] = INCBIN_U32("graphics/unknown/unknown_D17548.bin.lz"); + +const u32 gFile_graphics_unknown_unknown_D17654_tilemap[] = INCBIN_U32("graphics/unknown/unknown_D17654.bin.lz"); + +const u32 gFile_graphics_unknown_unknown_D17AB8_tilemap[] = INCBIN_U32("graphics/unknown/unknown_D17AB8.bin.lz"); + +const u32 gContestMiscGfx[] = INCBIN_U32("graphics/contest/misc.4bpp.lz"); + +const u32 gFile_graphics_contest_audience_sheet[] = INCBIN_U32("graphics/contest/audience.4bpp.lz"); + +const u32 gFile_graphics_contest_faces_sheet[] = INCBIN_U32("graphics/contest/faces.4bpp.lz"); + +const u32 gFile_graphics_contest_judge_symbols_sheet[] = INCBIN_U32("graphics/contest/judge_symbols.4bpp.lz"); +const u32 gFile_graphics_contest_judge_symbols_palette[] = INCBIN_U32("graphics/contest/judge_symbols.gbapal.lz"); + +const u8 gFile_graphics_contest_heart[] = INCBIN_U8("graphics/contest/heart.4bpp"); + +const u32 gFile_graphics_unknown_unknown_D196E4_sheet[] = INCBIN_U32("graphics/unknown/unknown_D196E4.4bpp.lz"); +const u32 gFile_graphics_unknown_unknown_D196E4_palette[] = INCBIN_U32("graphics/unknown/unknown_D196E4.gbapal.lz"); + +const u32 gUnknown_8D197FC[] = INCBIN_U32("graphics/contest/misc_2.4bpp.lz"); + +const u32 gFile_graphics_contest_misc_2_tilemap_1_tilemap[] = INCBIN_U32("graphics/contest/misc_2_tilemap_1.bin.lz"); +const u32 gFile_graphics_contest_misc_2_tilemap_2_tilemap[] = INCBIN_U32("graphics/contest/misc_2_tilemap_2.bin.lz"); +const u32 gFile_graphics_contest_misc_2_tilemap_3_tilemap[] = INCBIN_U32("graphics/contest/misc_2_tilemap_3.bin.lz"); + +const u32 gFile_graphics_contest_misc_2_palette[] = INCBIN_U32("graphics/contest/misc_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Impact[] = INCBIN_U32("graphics/battle_anims/sprites/impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_Impact[] = INCBIN_U32("graphics/battle_anims/sprites/impact.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Particles[] = INCBIN_U32("graphics/battle_anims/sprites/particles.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_CircleImpact[] = INCBIN_U32("graphics/battle_anims/sprites/circle_impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_CircleImpact[] = INCBIN_U32("graphics/battle_anims/sprites/circle_impact.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Scratch[] = INCBIN_U32("graphics/battle_anims/sprites/scratch.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_SharpTeeth[] = INCBIN_U32("graphics/battle_anims/sprites/sharp_teeth.4bpp.lz"); +const u32 gBattleAnimSpritePal_SharpTeeth[] = INCBIN_U32("graphics/battle_anims/sprites/sharp_teeth.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Clamp[] = INCBIN_U32("graphics/battle_anims/sprites/clamp.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Cut[] = INCBIN_U32("graphics/battle_anims/sprites/cut.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_RainbowRings[] = INCBIN_U32("graphics/battle_anims/sprites/rainbow_rings.4bpp.lz"); +const u32 gBattleAnimSpritePal_RainbowRings[] = INCBIN_U32("graphics/battle_anims/sprites/rainbow_rings.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_IceCrystals[] = INCBIN_U32("graphics/battle_anims/sprites/ice_crystals.4bpp.lz"); +const u32 gBattleAnimSpritePal_IceCrystals[] = INCBIN_U32("graphics/battle_anims/sprites/ice_crystals.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_IceSpikes[] = INCBIN_U32("graphics/battle_anims/sprites/ice_spikes.4bpp.lz"); + +const u32 gUnusedGfx_OldBeatUp[] = INCBIN_U32("graphics/unused/old_beatup.4bpp.lz"); +const u32 gUnusedPal_OldBeatUp[] = INCBIN_U32("graphics/unused/old_beatup.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Orbs[] = INCBIN_U32("graphics/battle_anims/sprites/orbs.4bpp.lz"); +const u32 gBattleAnimSpritePal_Orbs[] = INCBIN_U32("graphics/battle_anims/sprites/orbs.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_WaterOrb[] = INCBIN_U32("graphics/battle_anims/sprites/water_orb.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_WaterImpact[] = INCBIN_U32("graphics/battle_anims/sprites/water_impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_WaterImpact[] = INCBIN_U32("graphics/battle_anims/sprites/water_impact.gbapal.lz"); + +const u32 gBattleAnimSpritePal_BrownOrb[] = INCBIN_U32("graphics/battle_anims/sprites/brown_orb.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_MudSand[] = INCBIN_U32("graphics/battle_anims/sprites/mud_sand.4bpp.lz"); +const u32 gBattleAnimSpritePal_MudSand[] = INCBIN_U32("graphics/battle_anims/sprites/mud_sand.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PoisonBubble[] = INCBIN_U32("graphics/battle_anims/sprites/poison_bubble.4bpp.lz"); +const u32 gBattleAnimSpritePal_PoisonBubble[] = INCBIN_U32("graphics/battle_anims/sprites/poison_bubble.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_ToxicBubble[] = INCBIN_U32("graphics/battle_anims/sprites/toxic_bubble.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_HornHit2[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_HornHit2[] = INCBIN_U32("graphics/battle_anims/sprites/horn_hit_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_AirWave2[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_AirWave2[] = INCBIN_U32("graphics/battle_anims/sprites/air_wave_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_SmallBubbles[] = INCBIN_U32("graphics/battle_anims/sprites/small_bubbles.4bpp.lz"); +const u32 gBattleAnimSpritePal_SmallBubbles[] = INCBIN_U32("graphics/battle_anims/sprites/small_bubbles.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_RoundShadow[] = INCBIN_U32("graphics/battle_anims/sprites/round_shadow.4bpp.lz"); +const u32 gBattleAnimSpritePal_RoundShadow[] = INCBIN_U32("graphics/battle_anims/sprites/round_shadow.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Sunlight[] = INCBIN_U32("graphics/battle_anims/sprites/sunlight.4bpp.lz"); +const u32 gBattleAnimSpritePal_Sunlight[] = INCBIN_U32("graphics/battle_anims/sprites/sunlight.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Spore[] = INCBIN_U32("graphics/battle_anims/sprites/spore.4bpp.lz"); + +const u32 gBattleAnimSpritePal_Spore[] = INCBIN_U32("graphics/battle_anims/sprites/spore.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Flower[] = INCBIN_U32("graphics/battle_anims/sprites/flower.4bpp.lz"); +const u32 gBattleAnimSpritePal_Flower[] = INCBIN_U32("graphics/battle_anims/sprites/flower.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_RazorLeaf[] = INCBIN_U32("graphics/battle_anims/sprites/razor_leaf.4bpp.lz"); +const u32 gBattleAnimSpritePal_RazorLeaf[] = INCBIN_U32("graphics/battle_anims/sprites/razor_leaf.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_MistCloud[] = INCBIN_U32("graphics/battle_anims/sprites/mist_cloud.4bpp.lz"); +const u32 gBattleAnimSpritePal_MistCloud[] = INCBIN_U32("graphics/battle_anims/sprites/mist_cloud.gbapal.lz"); + +const u32 gFile_graphics_unknown_unknown_D1BE74_sheet[] = INCBIN_U32("graphics/unknown/unknown_D1BE74.4bpp.lz"); +const u32 gFile_graphics_unknown_unknown_D1BE74_palette[] = INCBIN_U32("graphics/unknown/unknown_D1BE74.gbapal.lz"); +const u32 gFile_graphics_unknown_unknown_D1BE74_tilemap[] = INCBIN_U32("graphics/unknown/unknown_D1BE74.bin.lz"); + +const u32 gBattleAnimSpriteGfx_WhirlwindLines[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind_lines.4bpp.lz"); +const u32 gBattleAnimSpritePal_WhirlwindLines[] = INCBIN_U32("graphics/battle_anims/sprites/whirlwind_lines.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_GoldRing[] = INCBIN_U32("graphics/battle_anims/sprites/gold_ring.4bpp.lz"); +const u32 gBattleAnimSpritePal_GoldRing[] = INCBIN_U32("graphics/battle_anims/sprites/gold_ring.gbapal.lz"); + +const u32 gBattleAnimSpritePal_BlueRing2[] = INCBIN_U32("graphics/battle_anims/sprites/blue_ring_2.gbapal.lz"); +const u32 gBattleAnimSpritePal_PurpleRing[] = INCBIN_U32("graphics/battle_anims/sprites/purple_ring.gbapal.lz"); +const u32 gBattleAnimSpritePal_BlueRing[] = INCBIN_U32("graphics/battle_anims/sprites/blue_ring.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_GreenLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/green_light_wall.4bpp.lz"); +const u32 gBattleAnimSpritePal_GreenLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/green_light_wall.gbapal.lz"); + +const u32 gBattleAnimSpritePal_BlueLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/blue_light_wall.gbapal.lz"); +const u32 gBattleAnimSpritePal_RedLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/red_light_wall.gbapal.lz"); +const u32 gBattleAnimSpritePal_GrayLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/gray_light_wall.gbapal.lz"); +const u32 gBattleAnimSpritePal_OrangeLightWall[] = INCBIN_U32("graphics/battle_anims/sprites/orange_light_wall.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_BlackBall2[] = INCBIN_U32("graphics/battle_anims/sprites/black_ball_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_BlackBall2[] = INCBIN_U32("graphics/battle_anims/sprites/black_ball_2.gbapal.lz"); + +const u32 gBattleAnimSpritePal_PurpleGasCloud[] = INCBIN_U32("graphics/battle_anims/sprites/purple_gas_cloud.gbapal.lz"); + +const u32 gFile_graphics_contest_judge_sheet[] = INCBIN_U32("graphics/contest/judge.4bpp.lz"); +const u32 gFile_graphics_contest_judge_palette[] = INCBIN_U32("graphics/contest/judge.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Spark[] = INCBIN_U32("graphics/battle_anims/sprites/spark.4bpp.lz"); +const u32 gBattleAnimSpritePal_Spark[] = INCBIN_U32("graphics/battle_anims/sprites/spark.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_SparkH[] = INCBIN_U32("graphics/battle_anims/sprites/spark_h.4bpp.lz"); + +const u32 gBattleAnimBgImage_Dark[] = INCBIN_U32("graphics/battle_anims/backgrounds/dark.4bpp.lz"); +const u32 gBattleAnimBgPalette_Dark[] = INCBIN_U32("graphics/battle_anims/backgrounds/dark.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Dark[] = INCBIN_U32("graphics/battle_anims/backgrounds/dark.bin.lz"); + +const u32 gMetalShineGfx[] = INCBIN_U32("graphics/battle_anims/masks/metal_shine.4bpp.lz"); +const u32 gMetalShinePalette[] = INCBIN_U32("graphics/battle_anims/masks/metal_shine.gbapal.lz"); +const u32 gMetalShineTilemap[] = INCBIN_U32("graphics/battle_anims/masks/metal_shine.bin.lz"); + +const u32 gUnusedGfx_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.4bpp.lz"); // ghost +const u32 gUnusedPal_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.gbapal.lz"); +const u32 gUnusedTilemap_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.bin.lz"); + +const u32 gBattleAnimSpriteGfx_YellowStar[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_star.4bpp.lz"); +const u32 gBattleAnimSpritePal_YellowStar[] = INCBIN_U32("graphics/battle_anims/sprites/yellow_star.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_LargeFreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/large_fresh_egg.4bpp.lz"); +const u32 gBattleAnimSpritePal_LargeFreshEgg[] = INCBIN_U32("graphics/battle_anims/sprites/large_fresh_egg.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_ShadowBall[] = INCBIN_U32("graphics/battle_anims/sprites/shadow_ball.4bpp.lz"); +const u32 gBattleAnimSpritePal_ShadowBall[] = INCBIN_U32("graphics/battle_anims/sprites/shadow_ball.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Lick[] = INCBIN_U32("graphics/battle_anims/sprites/lick.4bpp.lz"); +const u32 gBattleAnimSpritePal_Lick[] = INCBIN_U32("graphics/battle_anims/sprites/lick.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_VoidLines[] = INCBIN_U32("graphics/battle_anims/sprites/void_lines.4bpp.lz"); +const u32 gBattleAnimSpritePal_VoidLines[] = INCBIN_U32("graphics/battle_anims/sprites/void_lines.gbapal.lz"); + +const u32 gBattleAnimSpritePal_String[] = INCBIN_U32("graphics/battle_anims/sprites/string.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_String[] = INCBIN_U32("graphics/battle_anims/sprites/string.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_WebThread[] = INCBIN_U32("graphics/battle_anims/sprites/web_thread.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_SpiderWeb[] = INCBIN_U32("graphics/battle_anims/sprites/spider_web.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Lightbulb[] = INCBIN_U32("graphics/battle_anims/sprites/lightbulb.4bpp.lz"); +const u32 gBattleAnimSpritePal_Lightbulb[] = INCBIN_U32("graphics/battle_anims/sprites/lightbulb.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Slash[] = INCBIN_U32("graphics/battle_anims/sprites/slash.4bpp.lz"); +const u32 gBattleAnimSpritePal_Slash[] = INCBIN_U32("graphics/battle_anims/sprites/slash.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_FocusEnergy[] = INCBIN_U32("graphics/battle_anims/sprites/focus_energy.4bpp.lz"); +const u32 gBattleAnimSpritePal_FocusEnergy[] = INCBIN_U32("graphics/battle_anims/sprites/focus_energy.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_SphereToCube[] = INCBIN_U32("graphics/battle_anims/sprites/sphere_to_cube.4bpp.lz"); +const u32 gBattleAnimSpritePal_SphereToCube[] = INCBIN_U32("graphics/battle_anims/sprites/sphere_to_cube.gbapal.lz"); + +const u32 gBattleAnimBgImage_Psychic[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic.4bpp.lz"); +const u32 gBattleAnimBgPalette_Psychic[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Psychic[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic.bin.lz"); + +const u32 gBattleAnimSpriteGfx_Eye[] = INCBIN_U32("graphics/battle_anims/sprites/eye.4bpp.lz"); +const u32 gBattleAnimSpritePal_Eye[] = INCBIN_U32("graphics/battle_anims/sprites/eye.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Tendrils[] = INCBIN_U32("graphics/battle_anims/sprites/tendrils.4bpp.lz"); +const u32 gBattleAnimSpritePal_Tendrils[] = INCBIN_U32("graphics/battle_anims/sprites/tendrils.gbapal.lz"); + +const u32 gHealthboxSinglesPlayerGfx[] = INCBIN_U32("graphics/battle_interface/healthbox_singles_player.4bpp.lz"); +const u32 gHealthboxSinglesOpponentGfx[] = INCBIN_U32("graphics/battle_interface/healthbox_singles_opponent.4bpp.lz"); +const u32 gHealthboxDoublesPlayerGfx[] = INCBIN_U32( "graphics/battle_interface/healthbox_doubles_player.4bpp.lz"); +const u32 gHealthboxDoublesOpponentGfx[] = INCBIN_U32("graphics/battle_interface/healthbox_doubles_opponent.4bpp.lz"); +const u32 gHealthboxSafariGfx[] = INCBIN_U32("graphics/battle_interface/healthbox_safari.4bpp.lz"); + +const u32 gUnusedGfx_Shadow[] = INCBIN_U32("graphics/unused/shadow.4bpp.lz"); +const u32 gUnusedPal_Shadow[] = INCBIN_U32("graphics/unused/shadow.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_LockOn[] = INCBIN_U32("graphics/battle_anims/sprites/lock_on.4bpp.lz"); +const u32 gBattleAnimSpritePal_LockOn[] = INCBIN_U32("graphics/battle_anims/sprites/lock_on.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_OpeningEye[] = INCBIN_U32("graphics/battle_anims/sprites/opening_eye.4bpp.lz"); +const u32 gBattleAnimSpritePal_OpeningEye[] = INCBIN_U32("graphics/battle_anims/sprites/opening_eye.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_RoundWhiteHalo[] = INCBIN_U32("graphics/battle_anims/sprites/round_white_halo.4bpp.lz"); +const u32 gBattleAnimSpritePal_RoundWhiteHalo[] = INCBIN_U32("graphics/battle_anims/sprites/round_white_halo.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_TealAlert[] = INCBIN_U32("graphics/battle_anims/sprites/teal_alert.4bpp.lz"); +const u32 gBattleAnimSpritePal_TealAlert[] = INCBIN_U32("graphics/battle_anims/sprites/teal_alert.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_FangAttack[] = INCBIN_U32("graphics/battle_anims/sprites/fang_attack.4bpp.lz"); +const u32 gBattleAnimSpritePal_FangAttack[] = INCBIN_U32("graphics/battle_anims/sprites/fang_attack.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PurpleHandOutline[] = INCBIN_U32("graphics/battle_anims/sprites/purple_hand_outline.4bpp.lz"); +const u32 gBattleAnimSpritePal_PurpleHandOutline[] = INCBIN_U32("graphics/battle_anims/sprites/purple_hand_outline.gbapal.lz"); + +const u32 gFile_graphics_battle_anims_masks_curse_sheet[] = INCBIN_U32("graphics/battle_anims/masks/curse.4bpp.lz"); +const u32 gFile_graphics_battle_anims_masks_curse_tilemap[] = INCBIN_U32("graphics/battle_anims/masks/curse.bin.lz"); + +const u32 gBattleAnimSpriteGfx_Pencil[] = INCBIN_U32("graphics/battle_anims/sprites/pencil.4bpp.lz"); +const u32 gBattleAnimSpritePal_Pencil[] = INCBIN_U32("graphics/battle_anims/sprites/pencil.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Spiral[] = INCBIN_U32("graphics/battle_anims/sprites/spiral.4bpp.lz"); +const u32 gBattleAnimSpritePal_Spiral[] = INCBIN_U32("graphics/battle_anims/sprites/spiral.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Moon[] = INCBIN_U32("graphics/battle_anims/sprites/moon.4bpp.lz"); +const u32 gBattleAnimSpritePal_Moon[] = INCBIN_U32("graphics/battle_anims/sprites/moon.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_GreenSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/green_sparkle.4bpp.lz"); +const u32 gBattleAnimSpritePal_GreenSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/green_sparkle.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_SnoreZ[] = INCBIN_U32("graphics/battle_anims/sprites/snore_z.4bpp.lz"); +const u32 gBattleAnimSpritePal_SnoreZ[] = INCBIN_U32("graphics/battle_anims/sprites/snore_z.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Explosion[] = INCBIN_U32("graphics/battle_anims/sprites/explosion.4bpp.lz"); +const u32 gBattleAnimSpritePal_Explosion[] = INCBIN_U32("graphics/battle_anims/sprites/explosion.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Nail[] = INCBIN_U32("graphics/battle_anims/sprites/nail.4bpp.lz"); +const u32 gBattleAnimSpritePal_Nail[] = INCBIN_U32("graphics/battle_anims/sprites/nail.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_GhostlySpirit[] = INCBIN_U32("graphics/battle_anims/sprites/ghostly_spirit.4bpp.lz"); +const u32 gBattleAnimSpritePal_GhostlySpirit[] = INCBIN_U32("graphics/battle_anims/sprites/ghostly_spirit.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_WarmRock[] = INCBIN_U32("graphics/battle_anims/sprites/warm_rock.4bpp.lz"); +const u32 gBattleAnimSpritePal_WarmRock[] = INCBIN_U32("graphics/battle_anims/sprites/warm_rock.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PunchImpact[] = INCBIN_U32("graphics/battle_anims/sprites/punch_impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_PunchImpact[] = INCBIN_U32("graphics/battle_anims/sprites/punch_impact.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_BreakingEgg[] = INCBIN_U32("graphics/battle_anims/sprites/breaking_egg.4bpp.lz"); +const u32 gBattleAnimSpritePal_BreakingEgg[] = INCBIN_U32("graphics/battle_anims/sprites/breaking_egg.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_ThinRing[] = INCBIN_U32("graphics/battle_anims/sprites/thin_ring.4bpp.lz"); +const u32 gBattleAnimSpritePal_ThinRing[] = INCBIN_U32("graphics/battle_anims/sprites/thin_ring.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_MusicNotes2[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes_2.4bpp.lz"); +const u32 gBattleAnimSpritePal_MusicNotes2[] = INCBIN_U32("graphics/battle_anims/sprites/music_notes_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Bell[] = INCBIN_U32("graphics/battle_anims/sprites/bell.4bpp.lz"); +const u32 gBattleAnimSpritePal_Bell[] = INCBIN_U32("graphics/battle_anims/sprites/bell.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_SpeedDust[] = INCBIN_U32("graphics/battle_anims/sprites/speed_dust.4bpp.lz"); +const u32 gBattleAnimSpritePal_SpeedDust[] = INCBIN_U32("graphics/battle_anims/sprites/speed_dust.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_TornMetal[] = INCBIN_U32("graphics/battle_anims/sprites/torn_metal.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_ThoughtBubble[] = INCBIN_U32("graphics/battle_anims/sprites/thought_bubble.4bpp.lz"); +const u32 gBattleAnimSpritePal_ThoughtBubble[] = INCBIN_U32("graphics/battle_anims/sprites/thought_bubble.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Finger[] = INCBIN_U32("graphics/battle_anims/sprites/finger.4bpp.lz"); +const u32 gBattleAnimSpritePal_Finger[] = INCBIN_U32("graphics/battle_anims/sprites/finger.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_MagentaHeart[] = INCBIN_U32("graphics/battle_anims/sprites/magenta_heart.4bpp.lz"); + +const u32 gBattleAnimSpritePal_PinkHeart[] = INCBIN_U32("graphics/battle_anims/sprites/pink_heart.gbapal.lz"); +const u32 gBattleAnimSpritePal_MagentaHeart[] = INCBIN_U32("graphics/battle_anims/sprites/magenta_heart.gbapal.lz"); +const u32 gBattleAnimSpritePal_RedHeart[] = INCBIN_U32("graphics/battle_anims/sprites/red_heart.gbapal.lz"); + +const u32 gBattleAnimBg_AttractGfx[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.4bpp.lz"); +const u32 gBattleAnimBg_AttractPal[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.gbapal.lz"); +const u32 gBattleAnimBg_AttractTilemap[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.bin.lz"); + +const u32 gBattleAnimSpriteGfx_RedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_RedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_CircleOfLight[] = INCBIN_U32("graphics/battle_anims/sprites/circle_of_light.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_ElectricOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/electric_orbs.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Electricity[] = INCBIN_U32("graphics/battle_anims/sprites/electricity.4bpp.lz"); + +const u32 gBattleAnimSpritePal_ElectricOrbs[] = INCBIN_U32("graphics/battle_anims/sprites/electric_orbs.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Finger2[] = INCBIN_U32("graphics/battle_anims/sprites/finger_2.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_MovementWaves[] = INCBIN_U32("graphics/battle_anims/sprites/movement_waves.4bpp.lz"); +const u32 gBattleAnimSpritePal_MovementWaves[] = INCBIN_U32("graphics/battle_anims/sprites/movement_waves.gbapal.lz"); + +const u32 gBattleAnim_ScaryFacePal[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.gbapal.lz"); +const u32 gBattleAnim_ScaryFaceGfx[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.4bpp.lz"); + +const u32 gBattleAnimSpritePal_EyeSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/eye_sparkle.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_EyeSparkle[] = INCBIN_U32("graphics/battle_anims/sprites/eye_sparkle.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Anger[] = INCBIN_U32("graphics/battle_anims/sprites/anger.4bpp.lz"); +const u32 gBattleAnimSpritePal_Anger[] = INCBIN_U32("graphics/battle_anims/sprites/anger.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Conversion[] = INCBIN_U32("graphics/battle_anims/sprites/conversion.4bpp.lz"); +const u32 gBattleAnimSpritePal_Conversion[] = INCBIN_U32("graphics/battle_anims/sprites/conversion.gbapal.lz"); + +const u32 gBattleAnimSpritePal_Angel[] = INCBIN_U32("graphics/battle_anims/sprites/angel.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Angel[] = INCBIN_U32("graphics/battle_anims/sprites/angel.4bpp.lz"); + +const u32 gBattleAnimSpritePal_Devil[] = INCBIN_U32("graphics/battle_anims/sprites/devil.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Devil[] = INCBIN_U32("graphics/battle_anims/sprites/devil.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Swipe[] = INCBIN_U32("graphics/battle_anims/sprites/swipe.4bpp.lz"); +const u32 gBattleAnimSpritePal_Swipe[] = INCBIN_U32("graphics/battle_anims/sprites/swipe.gbapal.lz"); + +const u32 gBattleAnimSpritePal_Roots[] = INCBIN_U32("graphics/battle_anims/sprites/roots.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Roots[] = INCBIN_U32("graphics/battle_anims/sprites/roots.4bpp.lz"); + +const u32 gBattleAnimSpritePal_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.4bpp.lz"); + +const u32 gBattleAnimSpritePal_TriForceTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_attack_triangle.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_TriForceTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_attack_triangle.4bpp.lz"); + +const u32 gBattleAnimSpritePal_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.4bpp.lz"); + +const u32 gBattleAnimBgPalette_Impact[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact.gbapal.lz"); +const u32 gBattleAnimBgImage_Impact[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact.4bpp.lz"); +const u32 gBattleAnimBgTilemap_ImpactOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact_opponent.bin.lz"); + +const u32 gBattleAnimBgTilemap_ImpactPlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact_player.bin.lz"); +const u32 gBattleAnimBgTilemap_ImpactContests[] = INCBIN_U32("graphics/battle_anims/backgrounds/impact_contests.bin.lz"); + +const u32 gBattleAnimSpriteGfx_JaggedMusicNote[] = INCBIN_U32("graphics/battle_anims/sprites/jagged_music_note.4bpp.lz"); +const u32 gBattleAnimSpritePal_JaggedMusicNote[] = INCBIN_U32("graphics/battle_anims/sprites/jagged_music_note.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Spotlight[] = INCBIN_U32("graphics/battle_anims/sprites/spotlight.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Pokeball[] = INCBIN_U32("graphics/battle_anims/sprites/pokeball.4bpp.lz"); +const u32 gBattleAnimSpritePal_Pokeball[] = INCBIN_U32("graphics/battle_anims/sprites/pokeball.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_RapidSpin[] = INCBIN_U32("graphics/battle_anims/sprites/rapid_spin.4bpp.lz"); +const u32 gBattleAnimSpritePal_RapidSpin[] = INCBIN_U32("graphics/battle_anims/sprites/rapid_spin.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_MilkBottle[] = INCBIN_U32("graphics/battle_anims/sprites/milk_bottle.4bpp.lz"); +const u32 gBattleAnimSpritePal_MilkBottle[] = INCBIN_U32("graphics/battle_anims/sprites/milk_bottle.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_WispFire[] = INCBIN_U32("graphics/battle_anims/sprites/wisp_fire.4bpp.lz"); + +const u32 gBattleAnimSpritePal_WispOrb[] = INCBIN_U32("graphics/battle_anims/sprites/wisp_orb.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WispOrb[] = INCBIN_U32("graphics/battle_anims/sprites/wisp_orb.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_GoldStars[] = INCBIN_U32("graphics/battle_anims/sprites/gold_stars.4bpp.lz"); +const u32 gBattleAnimSpritePal_GoldStars[] = INCBIN_U32("graphics/battle_anims/sprites/gold_stars.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_EclipsingOrb[] = INCBIN_U32("graphics/battle_anims/sprites/eclipsing_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_EclipsingOrb[] = INCBIN_U32("graphics/battle_anims/sprites/eclipsing_orb.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PinkPetal[] = INCBIN_U32("graphics/battle_anims/sprites/pink_petal.4bpp.lz"); +const u32 gBattleAnimSpritePal_PinkPetal[] = INCBIN_U32("graphics/battle_anims/sprites/pink_petal.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_GrayOrb[] = INCBIN_U32("graphics/battle_anims/sprites/gray_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_GrayOrb[] = INCBIN_U32("graphics/battle_anims/sprites/gray_orb.gbapal.lz"); + +const u32 gBattleAnimSpritePal_BlueOrb[] = INCBIN_U32("graphics/battle_anims/sprites/blue_orb.gbapal.lz"); +const u32 gBattleAnimSpritePal_RedOrb2[] = INCBIN_U32("graphics/battle_anims/sprites/red_orb_2.gbapal.lz"); + +const u32 gBattleAnimBgImage_Drill[] = INCBIN_U32("graphics/battle_anims/backgrounds/drill.4bpp.lz"); +const u32 gBattleAnimBgPalette_Drill[] = INCBIN_U32("graphics/battle_anims/backgrounds/drill.gbapal.lz"); + +const u32 gBattleAnimBgPalette_Sky[] = INCBIN_U32("graphics/battle_anims/backgrounds/sky.gbapal.lz"); + +const u32 gBattleAnimBgTilemap_Drill[] = INCBIN_U32("graphics/battle_anims/backgrounds/drill.bin.lz"); +const u32 gBattleAnimBgTilemap_DrillContests[] = INCBIN_U32("graphics/battle_anims/backgrounds/drill_contests.bin.lz"); + +const u32 gBattleAnimBgImage_Aurora[] = INCBIN_U32("graphics/battle_anims/backgrounds/aurora.4bpp.lz"); +const u32 gBattleAnimBgPalette_Aurora[] = INCBIN_U32("graphics/battle_anims/backgrounds/aurora.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Aurora[] = INCBIN_U32("graphics/battle_anims/backgrounds/aurora.bin.lz"); + +const u32 gBattleAnimBgTilemap_HighspeedOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed_opponent.bin.lz"); +const u32 gBattleAnimBgPalette_Highspeed[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed.gbapal.lz"); + +const u32 gBattleAnimBgPalette_Bug[] = INCBIN_U32("graphics/battle_anims/backgrounds/bug.gbapal.lz"); + +const u32 gBattleAnimBgImage_Highspeed[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed.4bpp.lz"); +const u32 gBattleAnimBgTilemap_HighspeedPlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/highspeed_player.bin.lz"); + +const u32 gBattleAnim_MorningSunGfx[] = INCBIN_U32("graphics/battle_anims/masks/light_beam.4bpp.lz"); +const u32 gBattleAnim_MorningSunPal[] = INCBIN_U32("graphics/battle_anims/masks/light_beam.gbapal.lz"); +const u32 gBattleAnim_MorningSunTilemap[] = INCBIN_U32("graphics/battle_anims/masks/light_beam.bin.lz"); + +const u32 gBattleAnimBgTilemap_GuillotineOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine_opponent.bin.lz"); +const u32 gBattleAnimBgTilemap_GuillotinePlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine_player.bin.lz"); +const u32 gBattleAnimBgTilemap_GuillotineContests[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine_contests.bin.lz"); + +const u32 gBattleAnimBgImage_Guillotine[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine.4bpp.lz"); +const u32 gBattleAnimBgPalette_Guillotine[] = INCBIN_U32("graphics/battle_anims/backgrounds/guillotine.gbapal.lz"); + +const u32 gBattleAnimBgImage_Thunder[] = INCBIN_U32("graphics/battle_anims/backgrounds/thunder.4bpp.lz"); +const u32 gBattleAnimBgPalette_Thunder[] = INCBIN_U32("graphics/battle_anims/backgrounds/thunder.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Thunder[] = INCBIN_U32("graphics/battle_anims/backgrounds/thunder.bin.lz"); + +const u32 gBattleAnimSpriteGfx_PainSplit[] = INCBIN_U32("graphics/battle_anims/sprites/pain_split.4bpp.lz"); +const u32 gBattleAnimSpritePal_PainSplit[] = INCBIN_U32("graphics/battle_anims/sprites/pain_split.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_HandsAndFeet[] = INCBIN_U32("graphics/battle_anims/sprites/hands_and_feet.4bpp.lz"); +const u32 gBattleAnimSpritePal_HandsAndFeet[] = INCBIN_U32("graphics/battle_anims/sprites/hands_and_feet.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Confetti[] = INCBIN_U32("graphics/battle_anims/sprites/confetti.4bpp.lz"); +const u32 gBattleAnimSpritePal_Confetti[] = INCBIN_U32("graphics/battle_anims/sprites/confetti.gbapal.lz"); + +const u32 gSubstituteDollPal[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.gbapal.lz"); +const u32 gSubstituteDollGfx[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.4bpp.lz"); +const u32 gSubstituteDollTilemap[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.bin.lz"); + +const u32 gBattleAnimSpriteGfx_GreenStar[] = INCBIN_U32("graphics/battle_anims/sprites/green_star.4bpp.lz"); +const u32 gBattleAnimSpritePal_GreenStar[] = INCBIN_U32("graphics/battle_anims/sprites/green_star.gbapal.lz"); + +const u32 gFile_graphics_misc_confetti_sheet[] = INCBIN_U32("graphics/misc/confetti.4bpp.lz"); +const u32 gFile_graphics_misc_confetti_palette[] = INCBIN_U32("graphics/misc/confetti.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PinkCloud[] = INCBIN_U32("graphics/battle_anims/sprites/pink_cloud.4bpp.lz"); +const u32 gBattleAnimSpritePal_PinkCloud[] = INCBIN_U32("graphics/battle_anims/sprites/pink_cloud.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_SweatDrop[] = INCBIN_U32("graphics/battle_anims/sprites/sweat_drop.4bpp.lz"); +const u32 gBattleAnimSpritePal_SweatDrop[] = INCBIN_U32("graphics/battle_anims/sprites/sweat_drop.gbapal.lz"); + +const u32 gBattleStatMask_Gfx[] = INCBIN_U32("graphics/battle_anims/masks/stat.4bpp.lz"); +const u32 gBattleStatMask1_Tilemap[] = INCBIN_U32("graphics/battle_anims/masks/stat_tilemap_1.bin.lz"); +const u32 gBattleStatMask2_Tilemap[] = INCBIN_U32("graphics/battle_anims/masks/stat_tilemap_2.bin.lz"); + +const u32 gBattleStatMask1_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat1.gbapal.lz"); +const u32 gBattleStatMask2_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat2.gbapal.lz"); +const u32 gBattleStatMask3_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat3.gbapal.lz"); +const u32 gBattleStatMask4_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat4.gbapal.lz"); +const u32 gBattleStatMask5_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat5.gbapal.lz"); +const u32 gBattleStatMask6_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat6.gbapal.lz"); +const u32 gBattleStatMask7_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat7.gbapal.lz"); +const u32 gBattleStatMask8_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat8.gbapal.lz"); + +const u32 gCureBubblesGfx[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.4bpp.lz"); +const u32 gCureBubblesPal[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.gbapal.lz"); +const u32 gCureBubblesTilemap[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.bin.lz"); + +const u32 gBattleAnimSpritePal_PurpleScratch[] = INCBIN_U32("graphics/battle_anims/sprites/purple_scratch.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_PurpleScratch[] = INCBIN_U32("graphics/battle_anims/sprites/purple_scratch.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_PurpleSwipe[] = INCBIN_U32("graphics/battle_anims/sprites/purple_swipe.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_GuardRing[] = INCBIN_U32("graphics/battle_anims/sprites/guard_ring.4bpp.lz"); +const u32 gBattleAnimSpritePal_GuardRing[] = INCBIN_U32("graphics/battle_anims/sprites/guard_ring.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_TagHand[] = INCBIN_U32("graphics/battle_anims/sprites/tag_hand.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_NoiseLine[] = INCBIN_U32("graphics/battle_anims/sprites/noise_line.4bpp.lz"); + +const u32 gUnknown_D2EC24_Gfx[] = INCBIN_U32("graphics/battle_anims/masks/unknown_D2EC24.4bpp.lz"); +const u32 gUnknown_D2EC24_Tilemap[] = INCBIN_U32("graphics/battle_anims/masks/unknown_D2EC24.bin.lz"); + +const u32 gBattleAnimSpriteGfx_SmallRedEye[] = INCBIN_U32("graphics/battle_anims/sprites/small_red_eye.4bpp.lz"); +const u32 gBattleAnimSpritePal_SmallRedEye[] = INCBIN_U32("graphics/battle_anims/sprites/small_red_eye.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_HollowOrb[] = INCBIN_U32("graphics/battle_anims/sprites/hollow_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_HollowOrb[] = INCBIN_U32("graphics/battle_anims/sprites/hollow_orb.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_XSign[] = INCBIN_U32("graphics/battle_anims/sprites/x_sign.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_BluegreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/bluegreen_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_BluegreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/bluegreen_orb.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PawPrint[] = INCBIN_U32("graphics/battle_anims/sprites/paw_print.4bpp.lz"); +const u32 gBattleAnimSpritePal_PawPrint[] = INCBIN_U32("graphics/battle_anims/sprites/paw_print.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_PurpleFlame[] = INCBIN_U32("graphics/battle_anims/sprites/purple_flame.4bpp.lz"); +const u32 gBattleAnimSpritePal_PurpleFlame[] = INCBIN_U32("graphics/battle_anims/sprites/purple_flame.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_RedBall[] = INCBIN_U32("graphics/battle_anims/sprites/red_ball.4bpp.lz"); +const u32 gBattleAnimSpritePal_RedBall[] = INCBIN_U32("graphics/battle_anims/sprites/red_ball.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_SmellingsaltEffect[] = INCBIN_U32("graphics/battle_anims/sprites/smellingsalt_effect.4bpp.lz"); +const u32 gBattleAnimSpritePal_SmellingsaltEffect[] = INCBIN_U32("graphics/battle_anims/sprites/smellingsalt_effect.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_MagnifyingGlass[] = INCBIN_U32("graphics/battle_anims/sprites/magnifying_glass.4bpp.lz"); +const u32 gBattleAnimSpritePal_MagnifyingGlass[] = INCBIN_U32("graphics/battle_anims/sprites/magnifying_glass.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Meteor[] = INCBIN_U32("graphics/battle_anims/sprites/meteor.4bpp.lz"); +const u32 gBattleAnimSpritePal_Meteor[] = INCBIN_U32("graphics/battle_anims/sprites/meteor.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_FlatRock[] = INCBIN_U32("graphics/battle_anims/sprites/flat_rock.4bpp.lz"); +const u32 gBattleAnimSpritePal_FlatRock[] = INCBIN_U32("graphics/battle_anims/sprites/flat_rock.gbapal.lz"); + +const u16 gUnknown_8D2FBB4[] = INCBIN_U16("graphics/interface/unk_8D2FBB4.gbapal"); + +#include "data/graphics/pokemon.h" +#include "data/graphics/trainers.h" + +const u8 gMonIcon_QuestionMark[] = INCBIN_U8("graphics/pokemon/question_mark/icon.4bpp"); +const u8 gMonFootprint_QuestionMark[] = INCBIN_U8("graphics/pokemon/question_mark/footprint.1bpp"); + +const u32 gFile_graphics_battle_transitions_vs_frame_sheet[] = INCBIN_U32("graphics/battle_transitions/vs_frame.4bpp.lz"); +const u32 gFile_graphics_battle_transitions_vs_frame_tilemap[] = INCBIN_U32("graphics/battle_transitions/vs_frame.bin.lz"); +const u32 gFile_graphics_battle_transitions_vs_frame_palette[] = INCBIN_U32("graphics/battle_transitions/vs_frame.gbapal.lz"); + +const u32 gVsLettersGfx[] = INCBIN_U32("graphics/battle_transitions/vs.4bpp.lz"); + +#include "data/graphics/battle_terrain.h" + +const u32 gBattleAnimSpriteGfx_FlyingDirt[] = INCBIN_U32("graphics/battle_anims/sprites/flying_dirt.4bpp.lz"); + +const u32 gFile_graphics_battle_anims_backgrounds_sandstorm_brew_tilemap[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.bin.lz"); +const u32 gFile_graphics_battle_anims_backgrounds_sandstorm_brew_sheet[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.4bpp.lz"); + +const u32 gBattleAnimSpritePal_FlyingDirt[] = INCBIN_U32("graphics/battle_anims/sprites/flying_dirt.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_MetalSoundWaves[] = INCBIN_U32("graphics/battle_anims/sprites/metal_sound_waves.4bpp.lz"); +const u32 gBattleAnimSpritePal_MetalSoundWaves[] = INCBIN_U32("graphics/battle_anims/sprites/metal_sound_waves.gbapal.lz"); + +const u32 gBattleAnimBgImage_Ice[] = INCBIN_U32("graphics/battle_anims/backgrounds/ice.4bpp.lz"); +const u32 gBattleAnimBgPalette_Ice[] = INCBIN_U32("graphics/battle_anims/backgrounds/ice.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Ice[] = INCBIN_U32("graphics/battle_anims/backgrounds/ice.bin.lz"); + +const u32 gBattleAnimSpriteGfx_IcicleSpear[] = INCBIN_U32("graphics/battle_anims/sprites/icicle_spear.4bpp.lz"); +const u32 gBattleAnimSpritePal_IcicleSpear[] = INCBIN_U32("graphics/battle_anims/sprites/icicle_spear.gbapal.lz"); + +const u32 gContestNextTurnGfx[] = INCBIN_U32("graphics/contest/next_turn.4bpp.lz"); +const u8 gFile_graphics_contest_nextturn_numbers[] = INCBIN_U8("graphics/contest/next_turn_numbers.4bpp"); +const u8 gFile_graphics_contest_nextturn_random[] = INCBIN_U8("graphics/contest/next_turn_random.4bpp"); + +const u32 gBattleAnimSpriteGfx_GlowyRedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_red_orb.4bpp.lz"); +const u32 gBattleAnimSpritePal_GlowyRedOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_red_orb.gbapal.lz"); +const u32 gBattleAnimSpritePal_GlowyGreenOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_green_orb.gbapal.lz"); +const u32 gBattleAnimSpritePal_SleepPowder[] = INCBIN_U32("graphics/battle_anims/sprites/sleep_powder.gbapal.lz"); +const u32 gBattleAnimSpritePal_StunSpore[] = INCBIN_U32("graphics/battle_anims/sprites/stun_spore.gbapal.lz"); + +const u32 gContestApplauseGfx[] = INCBIN_U32("graphics/contest/applause.4bpp.lz"); +const u8 gFile_graphics_contest_applause_meter[] = INCBIN_U8("graphics/contest/applause_meter.4bpp"); + +const u16 gFile_graphics_contest_nextturn[] = INCBIN_U16("graphics/contest/next_turn.gbapal"); + +const u32 gBattleAnimSpriteGfx_Splash[] = INCBIN_U32("graphics/battle_anims/sprites/splash.4bpp.lz"); +const u32 gBattleAnimSpritePal_Splash[] = INCBIN_U32("graphics/battle_anims/sprites/splash.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_SweatBead[] = INCBIN_U32("graphics/battle_anims/sprites/sweat_bead.4bpp.lz"); + +const u32 gBattleAnimSpriteGfx_Pokeblock[] = INCBIN_U32("graphics/battle_anims/sprites/pokeblock.4bpp.lz"); +const u32 gBattleAnimSpritePal_Pokeblock[] = INCBIN_U32("graphics/battle_anims/sprites/pokeblock.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Gem1[] = INCBIN_U32("graphics/battle_anims/sprites/gem_1.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Gem2[] = INCBIN_U32("graphics/battle_anims/sprites/gem_2.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Gem3[] = INCBIN_U32("graphics/battle_anims/sprites/gem_3.4bpp.lz"); + +const u32 gBattleAnimSpritePal_Gem1[] = INCBIN_U32("graphics/battle_anims/sprites/gem_1.gbapal.lz"); + +const u32 gBattleAnimBgImage_InAir[] = INCBIN_U32("graphics/battle_anims/backgrounds/in_air.4bpp.lz"); +const u32 gBattleAnimBgPalette_InAir[] = INCBIN_U32("graphics/battle_anims/backgrounds/in_air.gbapal.lz"); +const u32 gBattleAnimBgTilemap_InAir[] = INCBIN_U32("graphics/battle_anims/backgrounds/in_air.bin.lz"); + +const u32 gBattleAnimSpriteGfx_Protect[] = INCBIN_U32("graphics/battle_anims/sprites/protect.4bpp.lz"); +const u32 gBattleAnimSpritePal_Protect[] = INCBIN_U32("graphics/battle_anims/sprites/protect.gbapal.lz"); + +const u32 gFile_graphics_battle_anims_backgrounds_water_muddy_palette[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_muddy.gbapal.lz"); + +const u32 gFile_graphics_battle_interface_enemy_mon_shadow_sheet[] = INCBIN_U32("graphics/battle_interface/enemy_mon_shadow.4bpp.lz"); + +const u32 gFile_graphics_battle_interface_ball_status_bar_sheet[] = INCBIN_U32("graphics/battle_interface/ball_status_bar.4bpp.lz"); + +const u8 gMonIcon_Egg[] = INCBIN_U8("graphics/pokemon/egg/icon.4bpp"); + +const u32 gBattleAnimBgImage_Ghost[] = INCBIN_U32("graphics/battle_anims/backgrounds/ghost.4bpp.lz"); +const u32 gBattleAnimBgPalette_Ghost[] = INCBIN_U32("graphics/battle_anims/backgrounds/ghost.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Ghost[] = INCBIN_U32("graphics/battle_anims/backgrounds/ghost.bin.lz"); + +const u32 gBattleAnimSpritePal_WhipHit[] = INCBIN_U32("graphics/battle_anims/sprites/whip_hit.gbapal.lz"); + +const u32 gBattleAnimBgPalette_Solarbeam[] = INCBIN_U32("graphics/battle_anims/backgrounds/solarbeam.gbapal.lz"); + +const u32 gFile_graphics_unknown_unknown_E7CFB0_tilemap[] = INCBIN_U32("graphics/unknown/unknown_E7CFB0.bin.lz"); + +const u32 gFile_graphics_berry_blender_center_sheet[] = INCBIN_U32("graphics/berry_blender/center.8bpp.lz"); + +const u32 gFile_graphics_berry_blender_outer_sheet[] = INCBIN_U32("graphics/berry_blender/outer.4bpp.lz"); +const u32 gFile_graphics_berry_blender_outer_map_tilemap[] = INCBIN_U32("graphics/berry_blender/outer_map.bin.lz"); + +const u32 gBattleAnimBgPalette_Cosmic[] = INCBIN_U32("graphics/battle_anims/backgrounds/cosmic.gbapal.lz"); +const u32 gBattleAnimBgImage_Cosmic[] = INCBIN_U32("graphics/battle_anims/backgrounds/cosmic.4bpp.lz"); +const u32 gBattleAnimBgTilemap_Cosmic[] = INCBIN_U32("graphics/battle_anims/backgrounds/cosmic.bin.lz"); + +const u32 gBattleAnimSpritePal_SlamHit2[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_SlamHit2[] = INCBIN_U32("graphics/battle_anims/sprites/slam_hit_2.4bpp.lz"); + +const u32 gBattleAnimFogTilemap[] = INCBIN_U32("graphics/battle_anims/backgrounds/fog.bin.lz"); + +const u32 gBattleAnimSpritePal_WeatherBall[] = INCBIN_U32("graphics/battle_anims/sprites/weather_ball.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WeatherBall[] = INCBIN_U32("graphics/battle_anims/sprites/weather_ball.4bpp.lz"); + +const u32 gBattleAnimBgTilemap_ScaryFacePlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_player.bin.lz"); +const u32 gBattleAnimBgTilemap_ScaryFaceOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_opponent.bin.lz"); +const u32 gBattleAnimBgTilemap_ScaryFaceContest[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_contest.bin.lz"); + +const u32 gBattleAnimSpriteGfx_Hail[] = INCBIN_U32("graphics/battle_anims/sprites/hail.4bpp.lz"); +const u32 gBattleAnimSpritePal_Hail[] = INCBIN_U32("graphics/battle_anims/sprites/hail.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_GreenSpike[] = INCBIN_U32("graphics/battle_anims/sprites/green_spike.4bpp.lz"); +const u32 gBattleAnimSpritePal_GreenSpike[] = INCBIN_U32("graphics/battle_anims/sprites/green_spike.gbapal.lz"); +const u32 gBattleAnimSpritePal_WhiteCircleOfLight[] = INCBIN_U32("graphics/battle_anims/sprites/white_circle_of_light.gbapal.lz"); +const u32 gBattleAnimSpritePal_GlowyBlueOrb[] = INCBIN_U32("graphics/battle_anims/sprites/glowy_blue_orb.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_Recycle[] = INCBIN_U32("graphics/battle_anims/sprites/recycle.4bpp.lz"); +const u32 gBattleAnimSpritePal_Recycle[] = INCBIN_U32("graphics/battle_anims/sprites/recycle.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_RedParticles[] = INCBIN_U32("graphics/battle_anims/sprites/red_particles.4bpp.lz"); +const u32 gBattleAnimSpritePal_RedParticles[] = INCBIN_U32("graphics/battle_anims/sprites/red_particles.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_DirtMound[] = INCBIN_U32("graphics/battle_anims/sprites/dirt_mound.4bpp.lz"); +const u32 gBattleAnimSpritePal_DirtMound[] = INCBIN_U32("graphics/battle_anims/sprites/dirt_mound.gbapal.lz"); + +const u32 gBattleAnimBgImage_Fissure[] = INCBIN_U32("graphics/battle_anims/backgrounds/fissure.4bpp.lz"); +const u32 gBattleAnimBgPalette_Fissure[] = INCBIN_U32("graphics/battle_anims/backgrounds/fissure.gbapal.lz"); +const u32 gBattleAnimBgTilemap_Fissure[] = INCBIN_U32("graphics/battle_anims/backgrounds/fissure.bin.lz"); + +const u32 gBattleAnimSpriteGfx_Bird[] = INCBIN_U32("graphics/battle_anims/sprites/bird.4bpp.lz"); +const u32 gBattleAnimSpritePal_Bird[] = INCBIN_U32("graphics/battle_anims/sprites/bird.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_CrossImpact[] = INCBIN_U32("graphics/battle_anims/sprites/cross_impact.4bpp.lz"); +const u32 gBattleAnimSpritePal_CrossImpact[] = INCBIN_U32("graphics/battle_anims/sprites/cross_impact.gbapal.lz"); + +const u32 gFile_graphics_battle_anims_backgrounds_water_sheet[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.4bpp.lz"); +const u32 gFile_graphics_battle_anims_backgrounds_water_palette[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.gbapal.lz"); +const u32 gFile_graphics_unknown_unknown_E81D14_tilemap[] = INCBIN_U32("graphics/unknown/unknown_E81D14.bin.lz"); +const u32 gFile_graphics_unknown_unknown_E81FE4_tilemap[] = INCBIN_U32("graphics/unknown/unknown_E81FE4.bin.lz"); +const u32 gFile_graphics_unknown_unknown_E822B8_tilemap[] = INCBIN_U32("graphics/unknown/unknown_E822B8.bin.lz"); + +const u32 gBattleAnimSpritePal_Slash2[] = INCBIN_U32("graphics/battle_anims/sprites/slash_2.gbapal.lz"); + +const u32 gBattleAnimSpriteGfx_WhiteShadow[] = INCBIN_U32("graphics/battle_anims/sprites/white_shadow.4bpp.lz"); +const u32 gBattleAnimSpritePal_WhiteShadow[] = INCBIN_U32("graphics/battle_anims/sprites/white_shadow.gbapal.lz"); + +const u32 gPartyMenuBg_Gfx[] = INCBIN_U32("graphics/interface/party_menu_misc.4bpp.lz"); +const u32 gPartyMenuBg_Pal[] = INCBIN_U32("graphics/interface/party_menu_misc.gbapal.lz"); +const u32 gPartyMenuBg_Tilemap[] = INCBIN_U32("graphics/interface/party_menu_misc.bin.lz"); + +const u32 gPartyMenuPokeball_Gfx[] = INCBIN_U32("graphics/interface/party_menu_pokeball.4bpp.lz"); +const u32 gPartyMenuPokeballSmall_Gfx[] = INCBIN_U32("graphics/interface/party_menu_pokeball_small.4bpp.lz"); //unused +const u32 gPartyMenuPokeball_Pal[] = INCBIN_U32("graphics/interface/party_menu_pokeball.gbapal.lz"); + +const u32 gStatusGfx_Icons[] = INCBIN_U32("graphics/interface/status_icons.4bpp.lz"); +const u32 gStatusPal_Icons[] = INCBIN_U32("graphics/interface/status_icons.gbapal.lz"); + +const u32 gUnknown_8E830CC[] = INCBIN_U32("graphics/item_menu/bag_tiles.4bpp.lz"); + +const u32 gUnknown_8E832C0[] = INCBIN_U32("graphics/item_menu/bag_tilemap1.bin.lz"); // bag menu +const u32 gUnknown_8E83444[] = INCBIN_U32("graphics/item_menu/bag_tilemap2.bin.lz"); // PC deposit items + +const u32 gBagBgPalette[] = INCBIN_U32("graphics/item_menu/bag_pal1.gbapal.lz"); // palette 1 (Boy + misc Pal) +const u32 gBagBgPalette_FemaleOverride[] = INCBIN_U32("graphics/item_menu/bag_pal2.gbapal.lz"); // palette 2 (Girl) + +const u32 gUnknown_8E8362C[] = INCBIN_U32("graphics/interface/unk_8E8362C.4bpp.lz"); +const u32 gUnknown_8E83DBC[] = INCBIN_U32("graphics/interface/unk_8E83DBC.4bpp.lz"); +const u32 gUnknown_8E84560[] = INCBIN_U32("graphics/interface/unk_8E84560.gbapal.lz"); + +const u32 gFile_graphics_interface_bag_swap_sheet[] = INCBIN_U32("graphics/interface/bag_swap.4bpp.lz"); +const u32 gFile_graphics_interface_bag_swap_palette[] = INCBIN_U32("graphics/interface/bag_swap.gbapal.lz"); + +const u32 gUnknown_8E845D8[] = INCBIN_U32("graphics/tm_case/unk_8E845D8.4bpp.lz"); +const u32 gUnknown_8E84A24[] = INCBIN_U32("graphics/tm_case/unk_8E84A24.bin.lz"); +const u32 gUnknown_8E84B70[] = INCBIN_U32("graphics/tm_case/unk_8E84B70.bin.lz"); +const u32 gUnknown_8E84CB0[] = INCBIN_U32("graphics/tm_case/unk_8E84CB0.gbapal.lz"); +const u32 gUnknown_8E84D20[] = INCBIN_U32("graphics/tm_case/unk_8E84D20.gbapal.lz"); +const u32 gTMCase_TMSpriteGfx[] = INCBIN_U32("graphics/tm_case/unk_8E84D90.4bpp.lz"); +const u32 gUnknown_8E84F20[] = INCBIN_U32("graphics/tm_case/unk_8E84F20.gbapal.lz"); +const u32 gUnknown_8E85068[] = INCBIN_U32("graphics/tm_case/unk_8E85068.gbapal.lz"); + +const u8 gItemPcTiles[] = INCBIN_U8("graphics/item_pc/unk_8E85090.4bpp.lz"); +const u32 gItemPcBgPals[] = INCBIN_U32("graphics/item_pc/unk_8E85408.gbapal.lz"); +const u8 gItemPcTilemap[] = INCBIN_U8("graphics/item_pc/unk_8E85458.bin.lz"); + +const u32 gBerryPouchSpriteTiles[] = INCBIN_U32("graphics/berry_pouch/unk_8E8560C.4bpp.lz"); +const u8 gBerryPouchBgGfx[] = INCBIN_U8("graphics/berry_pouch/unk_8E859D0.4bpp.lz"); +const u32 gBerryPouchBgPals[] = INCBIN_U32("graphics/berry_pouch/unk_8E85BA4.gbapal.lz"); +const u32 gBerryPouchBgPal0FemaleOverride[] = INCBIN_U32("graphics/berry_pouch/unk_8E85BF4.gbapal.lz"); +const u32 gBerryPouchSpritePalette[] = INCBIN_U32("graphics/berry_pouch/unk_8E85C1C.gbapal.lz"); +const u8 gBerryPouchBg1Tilemap[] = INCBIN_U8("graphics/berry_pouch/unk_8E85C44.bin.lz"); + +const u32 gBuyMenuFrame_Gfx[] = INCBIN_U32("graphics/shop_menu/shop_menu.4bpp.lz"); +const u32 gBuyMenuFrame_Tilemap[] = INCBIN_U32("graphics/shop_menu/shop_tilemap.bin"); +const u32 gBuyMenuFrame_TmHmTilemap[] = INCBIN_U32("graphics/shop_menu/shop_tm_hm_tilemap.bin"); +const u32 gBuyMenuFrame_Pal[] = INCBIN_U32("graphics/shop_menu/shop_menu.gbapal.lz"); + +const u32 gUnknown_8E861A8[] = INCBIN_U32("graphics/unknown/unknown_E861A8.bin.lz"); + +const u8 gUnknown_8E86240[] = INCBIN_U8("graphics/teachy_tv/tiles.4bpp.lz"); +const u8 gUnknown_8E86BE8[] = INCBIN_U8("graphics/teachy_tv/bg1_tilemap.bin.lz"); +const u8 gUnknown_8E86D6C[] = INCBIN_U8("graphics/teachy_tv/bg2_tilemap.bin.lz"); +const u32 gUnknown_8E86F98[] = INCBIN_U32("graphics/teachy_tv/palettes.gbapal.lz"); + +const u32 gUnknown_8E87010[] = INCBIN_U32("graphics/unknown/unknown_E87010.gbapal.lz"); + +#include "data/graphics/items.h" + +const u32 gBattleAnimSpritePal_Shock3[] = INCBIN_U32("graphics/battle_anims/sprites/shock_3.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Shock3[] = INCBIN_U32("graphics/battle_anims/sprites/shock_3.4bpp.lz"); + +const u32 gBattleAnimSpritePal_WhiteFeather[] = INCBIN_U32("graphics/battle_anims/sprites/white_feather.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WhiteFeather[] = INCBIN_U32("graphics/battle_anims/sprites/white_feather.4bpp.lz"); + +const u32 gBattleAnimSpritePal_Sparkle6[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_6.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Sparkle6[] = INCBIN_U32("graphics/battle_anims/sprites/sparkle_6.4bpp.lz"); + +const u32 gGhostPalette[] = INCBIN_U32("graphics/pokemon/ghost/front.gbapal.lz"); +const u32 gGhostFrontPic[] = INCBIN_U32("graphics/pokemon/ghost/front.4bpp.lz"); + +#include "data/graphics/mail.h" + +const u16 gFireRedMenuElements1_Pal[] = INCBIN_U16("graphics/interface/dex_caught_pokeball.gbapal"); +const u16 gFireRedMenuElements2_Pal[] = INCBIN_U16("graphics/interface/pokemon_types.gbapal"); +const u8 gFireRedMenuElements_Gfx[] = INCBIN_U8("graphics/interface/dex_caught_pokeball_and_pokemon_types.4bpp"); + +const u16 gUnknown_8E97DDC[] = INCBIN_U16("graphics/interface/learn_move.gbapal"); +const u32 gUnknown_8E97DFC[] = INCBIN_U32("graphics/interface/learn_move.4bpp.lz"); +const u32 gUnknown_8E97EC4[] = INCBIN_U32("graphics/interface/learn_move.bin.lz"); + +const u16 gUnknown_8E97FE4[] = INCBIN_U16("graphics/interface/naming_screen_8E97FE4.gbapal"); +const u16 gUnknown_8E98004[] = INCBIN_U16("graphics/interface/naming_screen_8E98004.gbapal"); +const u16 gNamingScreenMenu_Pal[] = INCBIN_U16("graphics/interface/naming_screen_8E98024.gbapal"); +const u16 gUnknown_8E98044[] = INCBIN_U16("graphics/interface/naming_screen_8E98044.gbapal"); +const u16 gUnknown_8E98064[] = INCBIN_U16("graphics/interface/naming_screen_8E98064.gbapal"); +const u16 gUnknown_8E98084[] = INCBIN_U16("graphics/interface/naming_screen_8E98084.gbapal"); +const u16 gUnknown_8E980A4[] = INCBIN_U16("graphics/interface/naming_screen_8E980A4.gbapal"); +const u16 gUnknown_8E980C4[] = INCBIN_U16("graphics/interface/naming_screen_8E980C4.gbapal"); + +const u32 gNamingScreenMenu_Gfx[] = INCBIN_U32("graphics/interface/naming_screen_menu.4bpp.lz"); +const u32 gUnknown_8E982BC[] = INCBIN_U32("graphics/interface/naming_screen_menu.bin.lz"); +const u32 gUnknown_8E98398[] = INCBIN_U32("graphics/interface/naming_screen_E98398.bin.lz"); +const u32 gUnknown_8E98458[] = INCBIN_U32("graphics/interface/naming_screen_E98458.bin.lz"); +const u32 gUnknown_8E98518[] = INCBIN_U32("graphics/interface/naming_screen_E98518.bin.lz"); + +const u32 gUnknown_8E985D8[] = INCBIN_U32("graphics/interface/naming_screen_8E985D8.4bpp"); +const u32 gUnknown_8E98858[] = INCBIN_U32("graphics/interface/naming_screen_8E98858.4bpp"); +const u32 gUnknown_8E98A38[] = INCBIN_U32("graphics/interface/naming_screen_8E98A38.4bpp"); +const u32 gUnknown_8E98C18[] = INCBIN_U32("graphics/interface/naming_screen_8E98C18.4bpp"); +const u32 gUnknown_8E98CB8[] = INCBIN_U32("graphics/interface/naming_screen_8E98CB8.4bpp"); +const u32 gUnknown_8E98D58[] = INCBIN_U32("graphics/interface/naming_screen_8E98D58.4bpp"); +const u32 gUnknown_8E98DF8[] = INCBIN_U32("graphics/interface/naming_screen_8E98DF8.4bpp"); +const u32 gUnknown_8E98E98[] = INCBIN_U32("graphics/interface/naming_screen_8E98E98.4bpp"); +const u32 gUnknown_8E98F38[] = INCBIN_U32("graphics/interface/naming_screen_8E98F38.4bpp"); +const u32 gUnknown_8E98FD8[] = INCBIN_U32("graphics/interface/naming_screen_8E98FD8.4bpp"); +const u32 gUnknown_8E990D8[] = INCBIN_U32("graphics/interface/naming_screen_8E990D8.4bpp"); +const u32 gUnknown_8E990F8[] = INCBIN_U32("graphics/interface/naming_screen_8E990F8.4bpp"); + +const u8 gUnknown_8E99118[] = INCBIN_U8("graphics/tm_case/unk_8E99118.4bpp"); + +const u16 gKantoTrainerCard_Pal[] = INCBIN_U16("graphics/trainer_card/0star.gbapal"); +const u32 gKantoTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/card.4bpp.lz"); +const u16 gHoennTrainerCard_Pal[] = INCBIN_U16("graphics/trainer_card/0star_em.gbapal"); +const u32 gHoennTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/card_em.4bpp.lz"); + +const u16 gEasyChatMode_Pal[] = INCBIN_U16("graphics/link_rfu/unk_8E99DAC.gbapal"); +const u32 gEasyChatWindow_Gfx[] = INCBIN_U32("graphics/link_rfu/unk_8E99DAC.4bpp.lz"); +const u32 gEasyChatWindow_Tilemap[] = INCBIN_U32("graphics/link_rfu/unk_8E99E74.bin.lz"); + +const u16 gUnknown_8E99F24[] = INCBIN_U16("graphics/link_rfu/unk_8E9A168.gbapal"); +const u32 gEasyChatSelectGroupHelp_Tiles[] = INCBIN_U32("graphics/link_rfu/unk_8E99F44.4bpp.lz"); +const u32 gEasyChatModeIcons_Tiles[] = INCBIN_U32("graphics/link_rfu/unk_8E9A168.4bpp.lz"); + +const u32 gUnknown_8E9A460[] = INCBIN_U32("graphics/interface/trainer_memo.4bpp.lz"); +const u32 gUnknown_8E9B310[] = INCBIN_U32("graphics/interface/trainer_memo_pal1.gbapal"); +const u32 gUnknown_8E9B3B0[] = INCBIN_U32("graphics/interface/trainer_memo_pal2.gbapal"); +const u32 gUnknown_8E9B3D0[] = INCBIN_U32("graphics/interface/trainer_memo_pal3.gbapal"); + +const u32 gUnknown_8E9B3F0[] = INCBIN_U32("graphics/interface/summary_exp_bar.4bpp.lz"); +const u32 gUnknown_8E9B4B8[] = INCBIN_U32("graphics/interface/summary_hp_bar.4bpp.lz"); +const u16 gUnknown_8E9B578[] = INCBIN_U16("graphics/interface/summary_exp_bar.gbapal"); // hp bar uses this too + +const u32 gUnknown_8E9B598[] = INCBIN_U32("graphics/interface/trainer_memo.bin.lz"); +const u32 gUnknown_8E9B750[] = INCBIN_U32("graphics/interface/trainer_memo_2.bin.lz"); +const u32 gUnknown_8E9B950[] = INCBIN_U32("graphics/interface/trainer_memo_3.bin.lz"); +const u32 gUnknown_8E9BA9C[] = INCBIN_U32("graphics/interface/trainer_memo_4.bin.lz"); +const u32 gUnknown_8E9BBCC[] = INCBIN_U32("graphics/interface/trainer_memo_5.bin.lz"); + +const u16 gUnknown_8E9BD08[] = INCBIN_U16("graphics/unknown/unknown_E9BD08.gbapal"); // might be an alternate unused palette of the link_rfu gfx below. + +const u32 gEasyChatRedRectangularCursor_Tiles[] = INCBIN_U32("graphics/interface/link_rfu_frame.4bpp.lz"); +const u16 gUnknown_8E9BF28[] = INCBIN_U16("graphics/interface/link_rfu_frame.gbapal"); +const u32 gUnknown_8E9BF48[] = INCBIN_U32("graphics/interface/link_rfu_status.4bpp.lz"); + +const u16 gUnknown_8E9C14C[] = INCBIN_U16("graphics/interface/pokedex_abc.gbapal"); +const u32 gUnknown_8E9C16C[] = INCBIN_U32("graphics/interface/pokedex_abc.4bpp.lz"); + +const u16 gUnknown_8E9C3D8[] = INCBIN_U16("graphics/interface/box_tiles_pal1.gbapal"); +const u16 gUnknown_8E9C3F8[] = INCBIN_U16("graphics/interface/box_tiles_pal2.gbapal"); +const u16 gUnknown_8E9C418[] = INCBIN_U16("graphics/interface/box_tiles_pal3.gbapal"); +const u32 gUnknown_8E9C438[] = INCBIN_U32("graphics/interface/box_tiles.4bpp.lz"); + +const u32 gUnknown_8E9CAEC[] = INCBIN_U32("graphics/unknown/unknown_E9CAEC.bin.lz"); + +const u16 gUnknown_8E9CB9C[] = INCBIN_U16("graphics/misc/markings2.gbapal"); +const u16 gUnknown_8E9CBBC[] = INCBIN_U16("graphics/misc/markings2.4bpp"); + +const u16 gTradeMenu_Pal[] = INCBIN_U16("graphics/trade/menu.gbapal"); +const u16 gTradeButtons_Pal[] = INCBIN_U16("graphics/trade/unknown_DDB444.gbapal"); +const u16 gTradeMenu_Gfx[] = INCBIN_U16("graphics/trade/menu.4bpp"); +const u16 gTradeButtons_Gfx[] = INCBIN_U16("graphics/trade/buttons.4bpp"); +const u16 gUnknown_8E9E9DC[] = INCBIN_U16("graphics/unused/unused_DDCEE4.bin"); +const u16 gUnknown_8E9E9FC[] = INCBIN_U16("graphics/trade/unknown_DDCF04.bin"); +const u16 gTradeMenuMonBox_Tilemap[] = INCBIN_U16("graphics/trade/menu_mon_box.bin"); + +const u16 gFameCheckerBgPals[] = INCBIN_U16("data/graphics/fame_checker_bg.gbapal"); +const u16 gFameCheckerBgTiles[] = INCBIN_U16("data/graphics/fame_checker_bg.4bpp"); +const u16 gFameCheckerBg3Tilemap[] = INCBIN_U16("data/graphics/fame_checker_tilemap3.bin"); +const u16 gFameCheckerBg2Tilemap[] = INCBIN_U16("data/graphics/fame_checker_tilemap2.bin"); + +const u16 gLinkMiscMenu_Pal[] = INCBIN_U16("graphics/interface/union_room_chat.gbapal"); +const u32 gLinkMiscMenu_Gfx[] = INCBIN_U32("graphics/interface/union_room_chat.4bpp.lz"); +const u32 gLinkMiscMenu_Tilemap[] = INCBIN_U32("graphics/interface/union_room_chat.bin.lz"); +const u32 gUnionRoomChatIcons[] = INCBIN_U32("graphics/interface/union_room_chat_icons.4bpp.lz"); + +const u16 gTilesetPalettes_General[][16] = +{ + INCBIN_U16("data/tilesets/primary/general/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/primary/general/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_General[] = INCBIN_U32("data/tilesets/primary/general/tiles.4bpp.lz"); + +const u8 gBerryFixGameboy_Pal[] = INCBIN_U8("graphics/berry_fix/gba_small.gbapal"); +const u8 gBerryFixGameboy_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_small.4bpp.lz"); +const u8 gBerryFixGameboy_Tilemap[] = INCBIN_U8("graphics/berry_fix/gba_small.bin.lz"); +const u8 gBerryFixGameboyLogo_Pal[] = INCBIN_U8("graphics/berry_fix/logo.gbapal"); +const u8 gBerryFixGameboyLogo_Gfx[] = INCBIN_U8("graphics/berry_fix/logo.4bpp.lz"); +const u8 gBerryFixGameboyLogo_Tilemap[] = INCBIN_U8("graphics/berry_fix/logo.bin.lz"); +const u8 gBerryFixGbaTransfer_Pal[] = INCBIN_U8("graphics/berry_fix/gba_transfer.gbapal"); +const u8 gBerryFixGbaTransfer_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_transfer.4bpp.lz"); +const u8 gBerryFixGbaTransfer_Tilemap[] = INCBIN_U8("graphics/berry_fix/gba_transfer.bin.lz"); +const u8 gBerryFixGbaTransferHighlight_Pal[] = INCBIN_U8("graphics/berry_fix/gba_transfer_highlight.gbapal"); +const u8 gBerryFixGbaTransferHighlight_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_transfer_highlight.4bpp.lz"); +const u8 gBerryFixGbaTransferHighlight_Tilemap[] = INCBIN_U8("graphics/berry_fix/gba_transfer_highlight.bin.lz"); +const u8 gBerryFixGbaTransferError_Pal[] = INCBIN_U8("graphics/berry_fix/gba_transfer_error.gbapal"); +const u8 gBerryFixGbaTransferError_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_transfer_error.4bpp.lz"); +const u8 gBerryFixGbaTransferError_Tilemap[] = INCBIN_U8("graphics/berry_fix/gba_transfer_error.bin.lz"); +const u8 gBerryFixWindow_Pal[] = INCBIN_U8("graphics/berry_fix/window.gbapal"); +const u8 gBerryFixWindow_Gfx[] = INCBIN_U8("graphics/berry_fix/window.4bpp.lz"); +const u8 gBerryFixWindow_Tilemap[] = INCBIN_U8("graphics/berry_fix/window.bin.lz"); + +const u16 gTilesetPalettes_GenericBuilding1[][16] = +{ + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building1/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_GenericBuilding1[] = INCBIN_U32("data/tilesets/secondary/generic_building1/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_DepartmentStore[][16] = +{ + INCBIN_U16("data/tilesets/secondary/department_store/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/department_store/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_DepartmentStore[] = INCBIN_U32("data/tilesets/secondary/department_store/tiles.4bpp.lz"); + +const u16 gUnionRoomChatPanelBgPal_7[] = INCBIN_U16("graphics/interface/union_room_chat_panel.gbapal"); +const u32 gUnionRoomChatPanelBgTiles[] = INCBIN_U32("graphics/interface/union_room_chat_panel.4bpp.lz"); +const u32 gUnionRoomChatPanelBgMap[] = INCBIN_U32("graphics/interface/union_room_chat_panel.bin.lz"); + +const u16 gCreditsMonBackdropPals[][16] = +{ + INCBIN_U16("graphics/credits/charizard.gbapal"), + INCBIN_U16("graphics/credits/venusaur.gbapal"), + INCBIN_U16("graphics/credits/blastoise.gbapal"), + INCBIN_U16("graphics/credits/pikachu.gbapal"), +}; + +const u32 gCreditsPokeballBgGfxTiles[] = INCBIN_U32("graphics/credits/unk_8EAAB98.4bpp.lz"); +const u32 gCreditsPokeballBgGfxMap[] = INCBIN_U32("graphics/credits/unk_8EAB30C.bin.lz"); + +#ifdef FIRERED +const u16 gGraphics_TitleScreen_GameTitleLogoPals[] = INCBIN_U16("graphics/title_screen/unk_8eab6c4.gbapal"); +const u8 gGraphics_TitleScreen_GameTitleLogoTiles[] = INCBIN_U8("graphics/title_screen/unk_8eab8c4.8bpp.lz"); +const u8 gGraphics_TitleScreen_GameTitleLogoMap[] = INCBIN_U8("graphics/title_screen/unk_8ead390.bin.lz"); +const u16 gGraphics_TitleScreen_BoxArtMonPals[] = INCBIN_U16("graphics/title_screen/unk_8ead5e8.gbapal"); +const u8 gGraphics_TitleScreen_BoxArtMonTiles[] = INCBIN_U8("graphics/title_screen/unk_8ead608.4bpp.lz"); +const u8 gGraphics_TitleScreen_BoxArtMonMap[] = INCBIN_U8("graphics/title_screen/unk_8eadee4.bin.lz"); +const u16 gGraphics_TitleScreen_BackgroundPals[] = INCBIN_U16("graphics/title_screen/unk_8eae094.gbapal"); +const u8 gGraphics_TitleScreen_CopyrightPressStartTiles[] = INCBIN_U8("graphics/title_screen/unk_8eae0b4.4bpp.lz"); +const u8 gGraphics_TitleScreen_CopyrightPressStartMap[] = INCBIN_U8("graphics/title_screen/unk_8eae374.bin.lz"); +const u16 gGraphics_TitleScreen_FireOrLeafPals[] = INCBIN_U16("graphics/title_screen/unk_8eae488.gbapal"); +const u32 gGraphics_TitleScreen_BlankObjTiles[] = INCBIN_U32("graphics/title_screen/unk_8eae4a8.4bpp.lz"); +#endif + +#ifdef LEAFGREEN +const u16 gGraphics_TitleScreen_GameTitleLogoPals[] = INCBIN_U16("graphics/title_screen/unk_lg_8eab744.gbapal"); +const u8 gGraphics_TitleScreen_GameTitleLogoTiles[] = INCBIN_U8("graphics/title_screen/unk_lg_8eab944.8bpp.lz"); +const u8 gGraphics_TitleScreen_GameTitleLogoMap[] = INCBIN_U8("graphics/title_screen/unk_lg_8ead508.bin.lz"); +const u16 gGraphics_TitleScreen_BoxArtMonPals[] = INCBIN_U16("graphics/title_screen/unk_lg_8ead768.gbapal"); +const u8 gGraphics_TitleScreen_BoxArtMonTiles[] = INCBIN_U8("graphics/title_screen/unk_lg_8ead788.4bpp.lz"); +const u8 gGraphics_TitleScreen_BoxArtMonMap[] = INCBIN_U8("graphics/title_screen/unk_lg_8eae1ec.bin.lz"); +const u16 gGraphics_TitleScreen_BackgroundPals[] = INCBIN_U16("graphics/title_screen/unk_lg_8eae388.gbapal"); +const u8 gGraphics_TitleScreen_CopyrightPressStartTiles[] = INCBIN_U8("graphics/title_screen/unk_8eae0b4.4bpp.lz"); +const u8 gGraphics_TitleScreen_CopyrightPressStartMap[] = INCBIN_U8("graphics/title_screen/unk_8eae374.bin.lz"); +const u16 gGraphics_TitleScreen_FireOrLeafPals[] = INCBIN_U16("graphics/title_screen/unk_lg_8eae77c.gbapal"); +const u32 gGraphics_TitleScreen_BlankObjTiles[] = INCBIN_U32("graphics/title_screen/unk_8eae4a8.4bpp.lz"); +#endif + +const u16 gCreditsAllRightsReservedGfxPal[] = INCBIN_U16("graphics/credits/unk_8EAE548.gbapal"); +const u8 gCreditsAllRightsReservedGfxTiles[] = INCBIN_U8("graphics/credits/unk_8EAE548.4bpp.lz"); +const u8 gCreditsAllRightsReservedGfxMap[] = INCBIN_U8("graphics/credits/unk_8EAE548.bin.lz"); + +const u32 gUnknown_8EAEA00[] = INCBIN_U32("graphics/link/gba.gbapal"); +const u32 gTradeGba2_Pal[] = INCBIN_U32("graphics/link/gba_pal2.gbapal"); +const u32 gTradeGba_Gfx[] = INCBIN_U32("graphics/link/gba.4bpp"); + +const u16 gUnknown_8EAFE80[] = INCBIN_U16("graphics/interface/blank2.gbapal"); + +const u16 gUnknown_8EAFEA0[] = INCBIN_U16("graphics/berry_crush/berry_crush.gbapal"); +const u16 gUnknown_8EAFF60[] = INCBIN_U16("graphics/unknown/unknown_EAFF60.gbapal"); +const u32 gUnknown_8EAFFC0[] = INCBIN_U32("graphics/berry_crush/berry_crush.4bpp.lz"); +const u32 gUnknown_8EB0ADC[] = INCBIN_U32("graphics/berry_crush/data_EB0ADC.bin.lz"); diff --git a/src/heal_location.c b/src/heal_location.c index 89d9478c0..5c31e2df3 100644 --- a/src/heal_location.c +++ b/src/heal_location.c @@ -124,13 +124,13 @@ void SetBlackoutRespawnWarpAndHealerNpc(struct WarpData * warp) if (VarGet(VAR_MAP_SCENE_TRAINER_TOWER) == 1) { - if (!gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_2) + if (!gSaveBlock1Ptr->trainerTower[gSaveBlock1Ptr->towerChallengeId].spokeToOwner) VarSet(VAR_MAP_SCENE_TRAINER_TOWER, 0); gSpecialVar_LastTalked = 1; warp->x = 4; warp->y = 11; - warp->mapGroup = MAP_GROUP(SEVEN_ISLAND_TRAINER_TOWER_LOBBY); - warp->mapNum = MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_LOBBY); + warp->mapGroup = MAP_GROUP(TRAINER_TOWER_LOBBY); + warp->mapNum = MAP_NUM(TRAINER_TOWER_LOBBY); warp->warpId = 0xFF; } else @@ -155,7 +155,7 @@ void SetBlackoutRespawnWarpAndHealerNpc(struct WarpData * warp) warp->x = 5; warp->y = 4; } - else if (sBlackoutRespawnHealCenterMapIdxs[healLocationIdx - 1][0] == MAP_GROUP(SEVEN_ISLAND_TRAINER_TOWER_LOBBY) && sBlackoutRespawnHealCenterMapIdxs[healLocationIdx - 1][1] == MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_LOBBY)) + else if (sBlackoutRespawnHealCenterMapIdxs[healLocationIdx - 1][0] == MAP_GROUP(TRAINER_TOWER_LOBBY) && sBlackoutRespawnHealCenterMapIdxs[healLocationIdx - 1][1] == MAP_NUM(TRAINER_TOWER_LOBBY)) { warp->x = 4; warp->y = 11; diff --git a/src/help_system.c b/src/help_system.c index 4a4d927c5..8eabd4e1d 100644 --- a/src/help_system.c +++ b/src/help_system.c @@ -10,9 +10,7 @@ #include "strings.h" #include "text.h" #include "blit.h" -#include "event_data.h" #include "constants/songs.h" -#include "constants/flags.h" extern u8 gGlyphInfo[]; @@ -33,7 +31,7 @@ struct HelpSystemVideoState static EWRAM_DATA u8 sMapTilesBackup[BG_CHAR_SIZE] = {0}; EWRAM_DATA u8 gUnknown_203F174 = 0; -EWRAM_DATA u8 gUnknown_203F175 = 0; +EWRAM_DATA bool8 gHelpSystemToggleWithRButtonDisabled = FALSE; static EWRAM_DATA u8 sDelayTimer = 0; static EWRAM_DATA u8 sInHelpSystem = 0; static EWRAM_DATA struct HelpSystemVideoState sVideoState = {0}; @@ -53,7 +51,7 @@ u8 RunHelpSystemCallback(void) sInHelpSystem = 0; if (gSaveBlock2Ptr->optionsButtonMode != OPTIONS_BUTTON_MODE_HELP) return 0; - if (JOY_NEW(R_BUTTON) && gUnknown_203F175 == 1) + if (JOY_NEW(R_BUTTON) && gHelpSystemToggleWithRButtonDisabled == TRUE) return 0; if (JOY_NEW(L_BUTTON | R_BUTTON)) { @@ -92,10 +90,10 @@ u8 RunHelpSystemCallback(void) HelpSystem_FillPanel2(); HelpSystem_PrintText_Row61(gString_Help); sub_813BD14(1); - if (sub_812B40C() == TRUE) - sub_812BC54(&gHelpSystemListMenu, gHelpSystemListMenuItems); + if (HelpSystem_UpdateHasntSeenIntro() == TRUE) + HelpSystemSubroutine_PrintWelcomeMessage(&gHelpSystemListMenu, gHelpSystemListMenuItems); else - sub_812BCA8(&gHelpSystemListMenu, gHelpSystemListMenuItems); + HelpSystemSubroutine_WelcomeEndGotoMenu(&gHelpSystemListMenu, gHelpSystemListMenuItems); sub_813BE78(1); sub_813BF50(1); CommitTilemap(); @@ -110,7 +108,7 @@ u8 RunHelpSystemCallback(void) sVideoState.state = 5; break; case 5: - if (!sub_812BB9C(&gHelpSystemListMenu, gHelpSystemListMenuItems)) + if (!RunHelpMenuSubroutine(&gHelpSystemListMenu, gHelpSystemListMenuItems)) { PlaySE(SE_HELP_CL); sVideoState.state = 6; @@ -981,9 +979,9 @@ void HelpSystem_FillPanel1(void) void HelpSystem_InitListMenuController(struct HelpSystemListMenu * a0, u8 a1, u8 a2) { gHelpSystemListMenu.sub = a0->sub; - gHelpSystemListMenu.field_0C = a1; - gHelpSystemListMenu.field_0D = a2; - gHelpSystemListMenu.field_0E = 0; + gHelpSystemListMenu.itemsAbove = a1; + gHelpSystemListMenu.cursorPos = a2; + gHelpSystemListMenu.state = 0; if (gHelpSystemListMenu.sub.totalItems < gHelpSystemListMenu.sub.maxShowed) gHelpSystemListMenu.sub.maxShowed = gHelpSystemListMenu.sub.totalItems; sub_813BDA4(0); @@ -1007,7 +1005,7 @@ s32 HelpSystem_GetMenuInput(void) else if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); - return gHelpSystemListMenu.sub.items[gHelpSystemListMenu.field_0C + gHelpSystemListMenu.field_0D].index; + return gHelpSystemListMenu.sub.items[gHelpSystemListMenu.itemsAbove + gHelpSystemListMenu.cursorPos].index; } else if (JOY_NEW(B_BUTTON)) { @@ -1051,15 +1049,15 @@ void sub_813C75C(void) u8 r6 = gHelpSystemListMenu.sub.totalItems - 7; if (gHelpSystemListMenu.sub.totalItems > 7) { - s32 r4 = gHelpSystemListMenu.field_0C + gHelpSystemListMenu.field_0D; + s32 r4 = gHelpSystemListMenu.itemsAbove + gHelpSystemListMenu.cursorPos; sub_813C004(0, 0); if (r4 == 0) sub_813C004(1, 1); - else if (gHelpSystemListMenu.field_0C == 0 && gHelpSystemListMenu.field_0D != 0) + else if (gHelpSystemListMenu.itemsAbove == 0 && gHelpSystemListMenu.cursorPos != 0) sub_813C004(1, 1); - else if (gHelpSystemListMenu.field_0C == r6) + else if (gHelpSystemListMenu.itemsAbove == r6) sub_813C004(0, 1); - else if (gHelpSystemListMenu.field_0C != 0) + else if (gHelpSystemListMenu.itemsAbove != 0) { sub_813C004(0, 1); sub_813C004(1, 1); @@ -1071,7 +1069,7 @@ void PrintListMenuItems(void) { u8 glyphHeight = GetFontAttribute(2, 1) + 1; s32 i; - s32 r5 = gHelpSystemListMenu.field_0C; + s32 r5 = gHelpSystemListMenu.itemsAbove; for (i = 0; i < gHelpSystemListMenu.sub.maxShowed; i++) { @@ -1086,8 +1084,8 @@ void PlaceListMenuCursor(void) { u8 glyphHeight = GetFontAttribute(2, 1) + 1; u8 x = gHelpSystemListMenu.sub.left; - u8 y = gHelpSystemListMenu.sub.top + glyphHeight * gHelpSystemListMenu.field_0D; - HelpSystem_PrintTextAt(gFameCheckerText_ListMenuCursor, x, y); + u8 y = gHelpSystemListMenu.sub.top + glyphHeight * gHelpSystemListMenu.cursorPos; + HelpSystem_PrintTextAt(gText_SelectorArrow2, x, y); } void sub_813C860(u8 i) @@ -1107,24 +1105,24 @@ u8 TryMoveCursor1(u8 dirn) r4 = 0; else r4 = gHelpSystemListMenu.sub.maxShowed - (gHelpSystemListMenu.sub.maxShowed / 2 + (gHelpSystemListMenu.sub.maxShowed & 1)) - 1; - if (gHelpSystemListMenu.field_0C == 0) + if (gHelpSystemListMenu.itemsAbove == 0) { - if (gHelpSystemListMenu.field_0D != 0) + if (gHelpSystemListMenu.cursorPos != 0) { - gHelpSystemListMenu.field_0D--; + gHelpSystemListMenu.cursorPos--; return 1; } else return 0; } - if (gHelpSystemListMenu.field_0D > r4) + if (gHelpSystemListMenu.cursorPos > r4) { - gHelpSystemListMenu.field_0D--; + gHelpSystemListMenu.cursorPos--; return 1; } else { - gHelpSystemListMenu.field_0C--; + gHelpSystemListMenu.itemsAbove--; return 2; } } @@ -1134,24 +1132,24 @@ u8 TryMoveCursor1(u8 dirn) r4 = 0; else r4 = gHelpSystemListMenu.sub.maxShowed / 2 + (gHelpSystemListMenu.sub.maxShowed & 1); - if (gHelpSystemListMenu.field_0C == gHelpSystemListMenu.sub.totalItems - gHelpSystemListMenu.sub.maxShowed) + if (gHelpSystemListMenu.itemsAbove == gHelpSystemListMenu.sub.totalItems - gHelpSystemListMenu.sub.maxShowed) { - if (gHelpSystemListMenu.field_0D < gHelpSystemListMenu.sub.maxShowed - 1) + if (gHelpSystemListMenu.cursorPos < gHelpSystemListMenu.sub.maxShowed - 1) { - gHelpSystemListMenu.field_0D++; + gHelpSystemListMenu.cursorPos++; return 1; } else return 0; } - else if (gHelpSystemListMenu.field_0D < r4) + else if (gHelpSystemListMenu.cursorPos < r4) { - gHelpSystemListMenu.field_0D++; + gHelpSystemListMenu.cursorPos++; return 1; } else { - gHelpSystemListMenu.field_0C++; + gHelpSystemListMenu.itemsAbove++; return 2; } } @@ -1159,7 +1157,7 @@ u8 TryMoveCursor1(u8 dirn) bool8 MoveCursor(u8 by, u8 dirn) { - u8 r7 = gHelpSystemListMenu.field_0D; + u8 r7 = gHelpSystemListMenu.cursorPos; u8 flags = 0; s32 i; for (i = 0; i < by; i++) @@ -1172,21 +1170,21 @@ bool8 MoveCursor(u8 by, u8 dirn) // neither changed return TRUE; case 1: - // changed field_0D only + // changed cursorPos only sub_813C860(r7); PlaceListMenuCursor(); CommitTilemap(); break; case 2: case 3: - // changed field_0C + // changed itemsAbove if (sub_812BF88() == TRUE) { HelpSystem_SetInputDelay(2); HelpSystem_FillPanel1(); PrintListMenuItems(); PlaceListMenuCursor(); - sub_812BDEC(); + HelpSystem_PrintTopicLabel(); sub_813C75C(); } else diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c index df892152a..ee26c6de5 100644 --- a/src/help_system_812B1E0.c +++ b/src/help_system_812B1E0.c @@ -16,812 +16,1678 @@ #include "constants/maps.h" #include "constants/songs.h" -static EWRAM_DATA u16 sSomeVariable = 0; -static EWRAM_DATA u8 gUnknown_203B0EE = 0; +static EWRAM_DATA u16 sHelpSystemContextId = 0; +static EWRAM_DATA u8 sSeenHelpSystemIntro = 0; -u8 gUnknown_3005E9C[4]; -u16 gSomeVariableBackup; +u8 gHelpSystemState[4]; +u16 gHelpContextIdBackup; static bool32 IsCurrentMapInArray(const u16 * mapIdxs); -static void sub_812B520(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); -static void sub_812B614(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); -static bool8 sub_812B754(void); -static bool8 sub_812B780(u8); -static bool8 sub_812BB10(void); - -static void sub_812BF5C(void); -static void sub_812BF74(const u8 *); -static void sub_812BF94(struct HelpSystemListMenu * a0); -static void sub_812BF9C(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); - -static const u8 *const gUnknown_845B080[] = { - gUnknown_81B2DF8, - gUnknown_81B2E1C, - gUnknown_81B2E2E, - gUnknown_81B2E48, - gUnknown_81B2E58, - gUnknown_81B2E6A -}; - -static const u8 *const gUnknown_845B098[] = { - gUnknown_81B2E88, - gUnknown_81B2EC8, - gUnknown_81B2F00, - gUnknown_81B2F43, - gUnknown_81B2F74, - gUnknown_81B2FA9 -}; - -static const u8 *const gUnknown_845B0B0[] = { - NULL, - gUnknown_81B3083, - gUnknown_81B30A9, - gUnknown_81B30C1, - gUnknown_81B30DC, - gUnknown_81B30FC, - gUnknown_81B311F, - gUnknown_81B3140, - gUnknown_81B314F, - gUnknown_81B3168, - gUnknown_81B3189, - gUnknown_81B31AE, - gUnknown_81B31D3, - gUnknown_81B31EC, - gUnknown_81B31FF, - gUnknown_81B3215, - gUnknown_81B3226, - gUnknown_81B3243, - gUnknown_81B3261, - gUnknown_81B3276, - gUnknown_81B3290, - gUnknown_81B32B6, - gUnknown_81B32CD, - gUnknown_81B32E3, - gUnknown_81B32F9, - gUnknown_81B330B, - gUnknown_81B332B, - gUnknown_81B3344, - gUnknown_81B335C, - gUnknown_81B3373, - gUnknown_81B338C, - gUnknown_81B33A6, - gUnknown_81B33CA, - gUnknown_81B33EA, - gUnknown_81B3402, - gUnknown_81B3427, - gUnknown_81B3440, - gUnknown_81B3457, - gUnknown_81B346F, - gUnknown_81B3481, - gUnknown_81B349B, - gUnknown_81B34B7, - gUnknown_81B34D6, - gUnknown_81B34F6, - gUnknown_81B3516 -}; - -static const u8 *const gUnknown_845B164[] = { - NULL, - gUnknown_81B3525, - gUnknown_81B35E6, - gUnknown_81B36EB, - gUnknown_81B379A, - gUnknown_81B3849, - gUnknown_81B3876, - gUnknown_81B3972, - gUnknown_81B3A51, - gUnknown_81B3ACC, - gUnknown_81B3BB6, - gUnknown_81B3C99, - gUnknown_81B3D1B, - gUnknown_81B3DE3, - gUnknown_81B3EBC, - gUnknown_81B3F7F, - gUnknown_81B406C, - gUnknown_81B410B, - gUnknown_81B41D7, - gUnknown_81B42B3, - gUnknown_81B439D, - gUnknown_81B4483, - gUnknown_81B457C, - gUnknown_81B4645, - gUnknown_81B470A, - gUnknown_81B47F0, - gUnknown_81B48C6, - gUnknown_81B497A, - gUnknown_81B4A72, - gUnknown_81B4B65, - gUnknown_81B4C54, - gUnknown_81B4D26, - gUnknown_81B4E0B, - gUnknown_81B4ED8, - gUnknown_81B4FB2, - gUnknown_81B4FFD, - gUnknown_81B50FF, - gUnknown_81B51B1, - gUnknown_81B5272, - gUnknown_81B5325, - gUnknown_81B5382, - gUnknown_81B547C, - gUnknown_81B54E1, - gUnknown_81B5589, - gUnknown_81B55F4 -}; - -static const u8 *const gUnknown_845B218[] = { - NULL, - gUnknown_81B56E3, - gUnknown_81B56F4, - gUnknown_81B5705, - gUnknown_81B5717, - gUnknown_81B5728, - gUnknown_81B5737, - gUnknown_81B5744, - gUnknown_81B5754, - gUnknown_81B5767, - gUnknown_81B577B, - gUnknown_81B5787, - gUnknown_81B5795, - gUnknown_81B57A5, - gUnknown_81B57B8, - gUnknown_81B57CF, - gUnknown_81B57DE, - gUnknown_81B57EE, - gUnknown_81B580D, - gUnknown_81B5824, - gUnknown_81B5834, - gUnknown_81B583F, - gUnknown_81B5850, - gUnknown_81B5863, - gUnknown_81B5875, - gUnknown_81B5884, - gUnknown_81B5893, - gUnknown_81B58A4, - gUnknown_81B58BC, - gUnknown_81B58D3, - gUnknown_81B58E5, - gUnknown_81B58FD, - gUnknown_81B590E, - gUnknown_81B591D, - gUnknown_81B592E, - gUnknown_81B593E, - gUnknown_81B5950, - gUnknown_81B595D, - gUnknown_81B5974, - gUnknown_81B5989, - gUnknown_81B59A7, - gUnknown_81B59BF, - gUnknown_81B59D6, - gUnknown_81B59E8, - gUnknown_81B59F5, - gUnknown_81B5A0D, - gUnknown_81B5A1B, - gUnknown_81B5A29, - gUnknown_81B5A37 -}; - -static const u8 *const gUnknown_845B2DC[] = { - NULL, - gUnknown_81B5A4D, - gUnknown_81B5B0C, - gUnknown_81B5B7D, - gUnknown_81B5C13, - gUnknown_81B5CDF, - gUnknown_81B5D87, - gUnknown_81B5E41, - gUnknown_81B5F10, - gUnknown_81B5FA6, - gUnknown_81B606C, - gUnknown_81B6140, - gUnknown_81B6203, - gUnknown_81B62E4, - gUnknown_81B6397, - gUnknown_81B6478, - gUnknown_81B6525, - gUnknown_81B65E7, - gUnknown_81B66BA, - gUnknown_81B678E, - gUnknown_81B6883, - gUnknown_81B68CD, - gUnknown_81B69B9, - gUnknown_81B6A9A, - gUnknown_81B6B6E, - gUnknown_81B6C4F, - gUnknown_81B6D4A, - gUnknown_81B6E02, - gUnknown_81B6EC1, - gUnknown_81B6FA8, - gUnknown_81B7075, - gUnknown_81B7108, - gUnknown_81B71EA, - gUnknown_81B723B, - gUnknown_81B7319, - gUnknown_81B73E8, - gUnknown_81B747E, - gUnknown_81B752C, - gUnknown_81B7611, - gUnknown_81B7692, - gUnknown_81B771E, - gUnknown_81B77DD, - gUnknown_81B7884, - gUnknown_81B7931, - gUnknown_81B79CB, - gUnknown_81B7A60, - gUnknown_81B7AEE, - gUnknown_81B7BBE, - gUnknown_81B7C57 -}; - -static const u8 *const gUnknown_845B3A0[] = { - NULL, - gUnknown_81B7CC1, - gUnknown_81B7CC4, - gUnknown_81B7CD9, - gUnknown_81B7CDF, - gUnknown_81B7CE6, - gUnknown_81B7CEE, - gUnknown_81B7CF6, - gUnknown_81B7CFE, - gUnknown_81B7D04, - gUnknown_81B7D12, - gUnknown_81B7D17, - gUnknown_81B7D1A, - gUnknown_81B7D1F, - gUnknown_81B7D27, - gUnknown_81B7D2D, - gUnknown_81B7D37, - gUnknown_81B7D3E, - gUnknown_81B7D45, - gUnknown_81B7D48, - gUnknown_81B7D4E, - gUnknown_81B7D57, - gUnknown_81B7D5B, - gUnknown_81B7D61, - gUnknown_81B7D6B, - gUnknown_81B7D76, - gUnknown_81B7D7E, - gUnknown_81B7D88, - gUnknown_81B7D8F, - gUnknown_81B7D9A, - gUnknown_81B7DA7, - gUnknown_81B7DB4, - gUnknown_81B7DBA, - gUnknown_81B7DC6, - gUnknown_81B7DCC, - gUnknown_81B7DD3, - gUnknown_81B7DD6, - gUnknown_81B7DD9, - gUnknown_81B7DE1, - gUnknown_81B7DEB, - gUnknown_81B7DFA, - gUnknown_81B7E02, - gUnknown_81B7E09, - gUnknown_81B7E0F -}; - -static const u8 *const gUnknown_845B450[] = { - NULL, - gUnknown_81B7E16, - gUnknown_81B7F0A, - gUnknown_81B800A, - gUnknown_81B80EC, - gUnknown_81B81C2, - gUnknown_81B8256, - gUnknown_81B8348, - gUnknown_81B83EF, - gUnknown_81B847B, - gUnknown_81B8550, - gUnknown_81B8647, - gUnknown_81B86E2, - gUnknown_81B87B8, - gUnknown_81B8897, - gUnknown_81B8924, - gUnknown_81B8A04, - gUnknown_81B8A84, - gUnknown_81B8B62, - gUnknown_81B8C18, - gUnknown_81B8C94, - gUnknown_81B8D1D, - gUnknown_81B8DD4, - gUnknown_81B8E67, - gUnknown_81B8F4D, - gUnknown_81B901B, - gUnknown_81B90A7, - gUnknown_81B90E8, - gUnknown_81B9170, - gUnknown_81B91C2, - gUnknown_81B91F9, - gUnknown_81B92B8, - gUnknown_81B92ED, - gUnknown_81B93D8, - gUnknown_81B9439, - gUnknown_81B9497, - gUnknown_81B9560, - gUnknown_81B9656, - gUnknown_81B9749, - gUnknown_81B984F, - gUnknown_81B991C, - gUnknown_81B99C4, - gUnknown_81B9AA2, - gUnknown_81B9B2F -}; - -static const u8 *const gUnknown_845B500[] = { - NULL, - gUnknown_81B9BB7, - gUnknown_81B9BC7, - gUnknown_81B9BD0, - gUnknown_81B9BE1, - gUnknown_81B9BF5, - gUnknown_81B9C09, - gUnknown_81B9C1D -}; - -static const u8 *const gUnknown_845B520[] = { - NULL, - gUnknown_81B9C2F, - gUnknown_81B9D04, - gUnknown_81B9DC5, - gUnknown_81B9E75, - gUnknown_81B9F09, - gUnknown_81B9FCE, - gUnknown_81BA027 -}; - -static const u8 *const gUnknown_845B540[] = { - NULL, - gUnknown_81BA0F1, - gUnknown_81BA10D, - gUnknown_81BA121, - gUnknown_81BA138, - gUnknown_81BA14C, - gUnknown_81BA163, - gUnknown_81BA17A, - gUnknown_81BA194, - gUnknown_81BA1AC, - gUnknown_81BA1C7, - gUnknown_81BA1DC, - gUnknown_81BA1F4, - gUnknown_81BA209, - gUnknown_81BA221, - gUnknown_81BA234, - gUnknown_81BA24A, - gUnknown_81BA260, - gUnknown_81BA279, - gUnknown_81BA291, - gUnknown_81BA2AC, - gUnknown_81BA2C2, - gUnknown_81BA2DB, - gUnknown_81BA2F1, - gUnknown_81BA30A, - gUnknown_81BA320, - gUnknown_81BA339, - gUnknown_81BA34E, - gUnknown_81BA366, - gUnknown_81BA37C, - gUnknown_81BA395, - gUnknown_81BA3A9, - gUnknown_81BA3C0, - gUnknown_81BA3D5, - gUnknown_81BA3ED, - gUnknown_81BA400 -}; - -static const u8 *const gUnknown_845B5D0[] = { - NULL, - gUnknown_81BA416, - gUnknown_81BA4E6, - gUnknown_81BA539, - gUnknown_81BA595, - gUnknown_81BA5F2, - gUnknown_81BA66F, - gUnknown_81BA6C9, - gUnknown_81BA71F, - gUnknown_81BA796, - gUnknown_81BA7E9, - gUnknown_81BA862, - gUnknown_81BA8D3, - gUnknown_81BA92A, - gUnknown_81BA98D, - gUnknown_81BA9F1, - gUnknown_81BAA44, - gUnknown_81BAAB6, - gUnknown_81BAB18, - gUnknown_81BAB7A, - gUnknown_81BABCC, - gUnknown_81BAC29, - gUnknown_81BAC89, - gUnknown_81BACC4, - gUnknown_81BAD20, - gUnknown_81BAD60, - gUnknown_81BADA2, - gUnknown_81BADF7, - gUnknown_81BAEA8, - gUnknown_81BAF01, - gUnknown_81BAF6B, - gUnknown_81BAFCA, - gUnknown_81BB02E, - gUnknown_81BB084, - gUnknown_81BB0DF, - gUnknown_81BB156 -}; - - -static const u8 gUnknown_845B660[] = { - 0x01, 0x02, 0x03, 0xff -}; - -static const u8 gUnknown_845B664[] = { - 0x01, 0x02, 0x03, 0xff -}; - -static const u8 gUnknown_845B668[] = { - 0x13, 0xff -}; - -static const u8 gUnknown_845B66A[] = { - 0x01, 0x02, 0x03, 0xff -}; - -static const u8 gUnknown_845B66E[] = { - 0x01, 0x25, 0xff -}; - -static const u8 gUnknown_845B671[] = { - 0x02, 0x03, 0x04, 0x05, 0x11, 0xff -}; - -static const u8 gUnknown_845B677[] = { - 0x09, 0x01, 0xff -}; - -static const u8 gUnknown_845B67A[] = { - 0x02, 0x03, 0xff -}; - -static const u8 gUnknown_845B67D[] = { - 0x09, 0x0a, 0x0b, 0x11, 0x0c, 0x10, 0xff -}; - -static const u8 gUnknown_845B684[] = { - 0x09, 0x01, 0x04, 0x05, 0x06, 0x07, 0x08, 0x02, 0x0d, 0xff -}; - -static const u8 gUnknown_845B68E[] = { - 0x09, 0x03, 0x0a, 0x0f, 0x12, 0x13, 0x14, 0xff -}; - -static const u8 gUnknown_845B696[] = { - 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x12, 0xff -}; - -static const u8 gUnknown_845B6A1[] = { - 0x16, 0x17, 0x18, 0xff -}; - -static const u8 gUnknown_845B6A5[] = { - 0x0a, 0xff -}; - -static const u8 gUnknown_845B6A7[] = { - 0x11, 0x0e, 0x19, 0x1a, 0x1b, 0xff -}; - -static const u8 gUnknown_845B6AD[] = { - 0x0a, 0xff -}; - -static const u8 gUnknown_845B6AF[] = { - 0x0b, 0xff -}; - -static const u8 gUnknown_845B6B1[] = { - 0x2b, 0x19, 0x1a, 0xff -}; - -static const u8 gUnknown_845B6B5[] = { - 0x0c, 0xff -}; - -static const u8 gUnknown_845B6B7[] = { - 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0xff -}; - -static const u8 gUnknown_845B6BF[] = { - 0x02, 0x03, 0x04, 0xff -}; - -static const u8 gUnknown_845B6C3[] = { - 0x01, 0x02, 0x03, 0x07, 0xff -}; - -static const u8 gUnknown_845B6C8[] = { - 0x02, 0x04, 0x05, 0x09, 0x25, 0xff -}; - -static const u8 gUnknown_845B6CE[] = { - 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff -}; - -static const u8 gUnknown_845B6E2[] = { - 0x09, 0x01, 0x02, 0x03, 0x0a, 0x28, 0xff -}; - -static const u8 gUnknown_845B6E9[] = { - 0x02, 0x05, 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff -}; - -static const u8 gUnknown_845B6F2[] = { - 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0x14, 0xff -}; - -static const u8 gUnknown_845B707[] = { - 0x09, 0x01, 0x02, 0x03, 0x0a, 0x28, 0xff -}; - -static const u8 gUnknown_845B70E[] = { - 0x03, 0x07, 0x04, 0x05, 0x06, 0xff -}; - -static const u8 gUnknown_845B714[] = { - 0x02, 0x05, 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff -}; - -static const u8 gUnknown_845B71D[] = { - 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff -}; - -static const u8 gUnknown_845B731[] = { - 0x09, 0x01, 0x02, 0x03, 0x0a, 0x0c, 0x0e, 0x16, 0x17, 0x18, 0x15, 0xff -}; - -static const u8 gUnknown_845B73D[] = { - 0x06, 0x0a, 0x23, 0x24, 0x09, 0x25, 0xff -}; - -static const u8 gUnknown_845B744[] = { - 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff -}; - -static const u8 gUnknown_845B758[] = { - 0x09, 0x01, 0x02, 0x03, 0x0a, 0x15, 0xff -}; - -static const u8 gUnknown_845B75F[] = { - 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff -}; - -static const u8 gUnknown_845B783[] = { - 0x02, 0x0a, 0x04, 0x05, 0x06, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x17, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff -}; - -static const u8 gUnknown_845B7A7[] = { - 0x1f, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x2c, 0x09, 0x0d, 0x0e, 0x0f, 0x10, 0x0a, 0x0b, 0x0c, 0x11, 0xff -}; - -static const u8 gUnknown_845B7BB[] = { - 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff -}; - -static const u8 gUnknown_845B7C4[] = { - 0x02, 0x0a, 0x04, 0x05, 0x06, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x17, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff -}; - -static const u8 gUnknown_845B7E8[] = { - 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff -}; - -static const u8 gUnknown_845B7F1[] = { - 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0x28, 0xff -}; - -static const u8 gUnknown_845B7FB[] = { - 0x0a, 0x07, 0x0d, 0x27, 0x08, 0x0b, 0x21, 0x23, 0x24, 0x2c, 0x09, 0x0e, 0x16, 0x0f, 0x10, 0x11, 0x1a, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff -}; - -static const u8 gUnknown_845B81A[] = { - 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff -}; - -static const u8 gUnknown_845B823[] = { - 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff -}; - -static const u8 gUnknown_845B82C[] = { - 0x07, 0x27, 0x08, 0x2c, 0x15, 0x1f, 0x20, 0x12, 0x13, 0x14, 0x18, 0x19, 0x1b, 0x1e, 0x1c, 0x28, 0x25, 0xff -}; - -static const u8 gUnknown_845B83E[] = { - 0x1f, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x11, 0xff -}; - -static const u8 gUnknown_845B847[] = { - 0x09, 0x01, 0x02, 0x0a, 0x0b, 0x0c, 0x0d, 0x15, 0xff -}; - -static const u8 gUnknown_845B850[] = { - 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x15, 0x17, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff -}; - -static const u8 gUnknown_845B85D[] = { - 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x09, 0x2b, 0xff -}; - -static const u8 gUnknown_845B866[] = { - 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff -}; - -static const u8 gUnknown_845B878[] = { - 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff -}; - -static const u8 gUnknown_845B89C[] = { - 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff -}; - -static const u8 gUnknown_845B8A7[] = { - 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x2b, 0xff -}; - -static const u8 gUnknown_845B8AF[] = { - 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff -}; - -static const u8 gUnknown_845B8C1[] = { - 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff -}; - -static const u8 gUnknown_845B8E5[] = { - 0x0f, 0x1b, 0x1d, 0x11, 0x12, 0x16, 0x1f, 0x20, 0x13, 0x14, 0xff -}; - -static const u8 gUnknown_845B8F0[] = { - 0x20, 0x21, 0x22, 0x23, 0x24, 0x07, 0x2b, 0xff -}; - -static const u8 gUnknown_845B8F8[] = { - 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0x27, 0x15, 0xff -}; - -static const u8 gUnknown_845B90A[] = { - 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff -}; - -static const u8 gUnknown_845B92E[] = { - 0x29, 0x2a, 0x2b, 0xff -}; - -static const u8 gUnknown_845B932[] = { - 0x2d, 0x2e, 0x2f, 0x2b, 0xff -}; - -static const u8 gUnknown_845B937[] = { - 0x09, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0d, 0x0f, 0x12, 0x13, 0x14, 0xff -}; - -static const u8 gUnknown_845B947[] = { - 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0xff -}; - -static const u8 gUnknown_845B96B[] = { - 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff -}; - -static const u8 gUnknown_845B978[] = { - 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff -}; - -static const u8 gUnknown_845B985[] = { - 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff -}; - -static const u8 gUnknown_845B992[] = { - 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff -}; - -static const u8 gUnknown_845B99F[] = { - 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x30, 0xff -}; - -static const u8 gUnknown_845B9AC[] = { - 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff -}; - -static const u8 gUnknown_845B9B2[] = { - 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff -}; - -static const u8 gUnknown_845B9B8[] = { - 0x26, 0x27, 0x28, 0x29, 0x2a, 0xff -}; - -static const u8 gUnknown_845B9BE[] = { - 0x09, 0x01, 0x02, 0x03, 0x23, 0x25, 0x24, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0b, 0x0c, 0x0d, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x27, 0x15, 0x26, 0x16, 0x17, 0x18, 0x1a, 0x0e, 0x1b, 0xff -}; - -static const u8 *const gUnknown_845B9E0[] = { - NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, gUnknown_845B660, NULL, - NULL, NULL, NULL, gUnknown_845B664, NULL, - NULL, gUnknown_845B668, NULL, gUnknown_845B66A, NULL, - NULL, gUnknown_845B66E, NULL, NULL, NULL, - NULL, gUnknown_845B671, gUnknown_845B677, NULL, NULL, - NULL, gUnknown_845B67A, gUnknown_845B67D, NULL, NULL, - NULL, NULL, gUnknown_845B684, NULL, NULL, - NULL, NULL, gUnknown_845B68E, NULL, NULL, - NULL, gUnknown_845B696, gUnknown_845B6A1, NULL, NULL, - NULL, gUnknown_845B6A5, gUnknown_845B6A7, NULL, NULL, - NULL, gUnknown_845B6AD, NULL, NULL, NULL, - NULL, gUnknown_845B6AF, gUnknown_845B6B1, NULL, NULL, - NULL, gUnknown_845B6B5, gUnknown_845B6B7, NULL, NULL, - gUnknown_845B6BF, NULL, NULL, gUnknown_845B6C3, NULL, - gUnknown_845B6C8, gUnknown_845B6CE, gUnknown_845B6E2, NULL, NULL, - gUnknown_845B6E9, gUnknown_845B6F2, gUnknown_845B707, gUnknown_845B70E, NULL, - gUnknown_845B714, gUnknown_845B71D, gUnknown_845B731, NULL, NULL, - gUnknown_845B73D, gUnknown_845B744, gUnknown_845B758, NULL, gUnknown_845B75F, - gUnknown_845B783, gUnknown_845B7A7, gUnknown_845B7BB, NULL, NULL, - gUnknown_845B7C4, gUnknown_845B7E8, gUnknown_845B7F1, NULL, NULL, - gUnknown_845B7FB, gUnknown_845B81A, gUnknown_845B823, NULL, NULL, - gUnknown_845B82C, gUnknown_845B83E, gUnknown_845B847, NULL, NULL, - gUnknown_845B850, gUnknown_845B85D, gUnknown_845B866, NULL, gUnknown_845B878, - gUnknown_845B89C, gUnknown_845B8A7, gUnknown_845B8AF, NULL, gUnknown_845B8C1, - gUnknown_845B8E5, gUnknown_845B8F0, gUnknown_845B8F8, NULL, gUnknown_845B90A, - gUnknown_845B92E, gUnknown_845B932, gUnknown_845B937, NULL, gUnknown_845B947, - NULL, gUnknown_845B96B, NULL, NULL, NULL, - NULL, gUnknown_845B978, NULL, NULL, NULL, - NULL, gUnknown_845B985, NULL, NULL, NULL, - NULL, gUnknown_845B992, NULL, NULL, NULL, - NULL, gUnknown_845B99F, NULL, NULL, NULL, - NULL, gUnknown_845B9AC, NULL, NULL, NULL, - NULL, gUnknown_845B9B2, NULL, NULL, NULL, - NULL, gUnknown_845B9B8, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL +static void BuildMainTopicsListAndMoveToH00(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); +static void SetHelpSystemSubmenuItems(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); +static bool8 HelpSystem_ShouldShowBasicTerms(void); +static bool8 IsHelpSystemSubmenuEnabled(u8); +static bool8 HasGottenAtLeastOneHM(void); + +static void PrintWelcomeMessageOnPanel1(void); +static void PrintTextOnPanel2Row52RightAlign(const u8 *); +static void ResetHelpSystemCursor(struct HelpSystemListMenu * a0); +static void PrintHelpSystemTopicMouseoverDescription(struct HelpSystemListMenu * a0, struct ListMenuItem * a1); + +#define HELP_NONE 0 +#define HELP_END 0xFF + +// Help Main Topics +enum +{ + TOPIC_WHAT_TO_DO, + TOPIC_HOW_TO_DO, + TOPIC_TERMS, + TOPIC_ABOUT_GAME, + TOPIC_TYPE_MATCHUP, + TOPIC_EXIT, + TOPIC_COUNT +}; + +static const u8 *const sHelpSystemTopicPtrs[TOPIC_COUNT] = { + [TOPIC_WHAT_TO_DO] = Help_Text_WhatShouldIDo, + [TOPIC_HOW_TO_DO] = Help_Text_HowDoIDoThis, + [TOPIC_TERMS] = Help_Text_WhatDoesThisTermMean, + [TOPIC_ABOUT_GAME] = Help_Text_AboutThisGame, + [TOPIC_TYPE_MATCHUP] = Help_Text_TypeMatchupList, + [TOPIC_EXIT] = Help_Text_Exit +}; + +static const u8 *const sHelpSystemTopicMouseoverDescriptionPtrs[TOPIC_COUNT] = { + [TOPIC_WHAT_TO_DO] = Help_Text_DescWhatShouldIDo, + [TOPIC_HOW_TO_DO] = Help_Text_DescHowDoIDoThis, + [TOPIC_TERMS] = Help_Text_DescWhatDoesThisTermMean, + [TOPIC_ABOUT_GAME] = Help_Text_DescAboutThisGame, + [TOPIC_TYPE_MATCHUP] = Help_Text_DescTypeMatchupList, + [TOPIC_EXIT] = Help_Text_DescExit +}; + +// Submenu IDs for TOPIC_WHAT_TO_DO +enum +{ + HELP_PLAYING_FOR_FIRST_TIME = 1, + HELP_WHAT_SHOULD_I_BE_DOING, + HELP_CANT_GET_OUT_OF_ROOM, + HELP_CANT_FIND_PERSON_I_WANT, + HELP_TALKED_TO_EVERYONE_NOW_WHAT, + HELP_SOMEONE_BLOCKING_MY_WAY, + HELP_I_CANT_GO_ON, + HELP_OUT_OF_THINGS_TO_DO, + HELP_WHAT_HAPPENED_TO_ITEM_I_GOT, + HELP_WHAT_ARE_MY_ADVENTURE_BASICS, + HELP_HOW_ARE_ROADS_FORESTS_DIFFERENT, + HELP_HOW_ARE_CAVES_DIFFERENT, + HELP_HOW_DO_I_PROGRESS, + HELP_WHEN_CAN_I_USE_ITEM, + HELP_WHATS_A_BATTLE, + HELP_HOW_DO_I_PREPARE_FOR_BATTLE, + HELP_WHAT_IS_A_MONS_VITALITY, + HELP_MY_MONS_ARE_HURT, + HELP_WHAT_IS_STATUS_PROBLEM, + HELP_WHAT_HAPPENS_IF_ALL_MY_MONS_FAINT, + HELP_CANT_CATCH_MONS, + HELP_RAN_OUT_OF_POTIONS, + HELP_CAN_I_BUY_POKEBALLS, + HELP_WHATS_A_TRAINER, + HELP_HOW_DO_I_WIN_AGAINST_TRAINER, + HELP_WHERE_DO_MONS_APPEAR, + HELP_WHAT_ARE_MOVES, + HELP_WHAT_ARE_HIDDEN_MOVES, + HELP_WHAT_MOVES_SHOULD_I_USE, + HELP_WANT_TO_ADD_MORE_MOVES, + HELP_WANT_TO_MAKE_MON_STRONGER, + HELP_FOE_MONS_TOO_STRONG, + HELP_WHAT_DO_I_DO_IN_CAVE, + HELP_NOTHING_I_WANT_TO_KNOW, + HELP_WHATS_POKEMON_CENTER, + HELP_WHATS_POKEMON_MART, + HELP_WANT_TO_END_GAME, + HELP_WHATS_A_MON, + HELP_WHAT_IS_THAT_PERSON_LIKE, + HELP_WHAT_DOES_HIDDEN_MOVE_DO, + HELP_WHAT_DO_I_DO_IN_SAFARI, + HELP_WHAT_ARE_SAFARI_RULES, + HELP_WANT_TO_END_SAFARI, + HELP_WHAT_IS_A_GYM, +}; + +static const u8 *const sHelpSystemSpecializedQuestionTextPtrs[] = { + [HELP_NONE] = NULL, + [HELP_PLAYING_FOR_FIRST_TIME] = Help_Text_PlayingForFirstTime, + [HELP_WHAT_SHOULD_I_BE_DOING] = Help_Text_WhatShouldIBeDoing, + [HELP_CANT_GET_OUT_OF_ROOM] = Help_Text_CantGetOutOfRoom, + [HELP_CANT_FIND_PERSON_I_WANT] = Help_Text_CantFindPersonIWant, + [HELP_TALKED_TO_EVERYONE_NOW_WHAT] = Help_Text_TalkedToEveryoneNowWhat, + [HELP_SOMEONE_BLOCKING_MY_WAY] = Help_Text_SomeoneBlockingMyWay, + [HELP_I_CANT_GO_ON] = Help_Text_ICantGoOn, + [HELP_OUT_OF_THINGS_TO_DO] = Help_Text_OutOfThingsToDo, + [HELP_WHAT_HAPPENED_TO_ITEM_I_GOT] = Help_Text_WhatHappenedToItemIGot, + [HELP_WHAT_ARE_MY_ADVENTURE_BASICS] = Help_Text_WhatAreMyAdventureBasics, + [HELP_HOW_ARE_ROADS_FORESTS_DIFFERENT] = Help_Text_HowAreRoadsForestsDifferent, + [HELP_HOW_ARE_CAVES_DIFFERENT] = Help_Text_HowAreCavesDifferent, + [HELP_HOW_DO_I_PROGRESS] = Help_Text_HowDoIProgress, + [HELP_WHEN_CAN_I_USE_ITEM] = Help_Text_WhenCanIUseItem, + [HELP_WHATS_A_BATTLE] = Help_Text_WhatsABattle, + [HELP_HOW_DO_I_PREPARE_FOR_BATTLE] = Help_Text_HowDoIPrepareForBattle, + [HELP_WHAT_IS_A_MONS_VITALITY] = Help_Text_WhatIsAMonsVitality, + [HELP_MY_MONS_ARE_HURT] = Help_Text_MyMonsAreHurt, + [HELP_WHAT_IS_STATUS_PROBLEM] = Help_Text_WhatIsStatusProblem, + [HELP_WHAT_HAPPENS_IF_ALL_MY_MONS_FAINT] = Help_Text_WhatHappensIfAllMyMonsFaint, + [HELP_CANT_CATCH_MONS] = Help_Text_CantCatchMons, + [HELP_RAN_OUT_OF_POTIONS] = Help_Text_RanOutOfPotions, + [HELP_CAN_I_BUY_POKEBALLS] = Help_Text_CanIBuyPokeBalls, + [HELP_WHATS_A_TRAINER] = Help_Text_WhatsATrainer, + [HELP_HOW_DO_I_WIN_AGAINST_TRAINER] = Help_Text_HowDoIWinAgainstTrainer, + [HELP_WHERE_DO_MONS_APPEAR] = Help_Text_WhereDoMonsAppear, + [HELP_WHAT_ARE_MOVES] = Help_Text_WhatAreMoves, + [HELP_WHAT_ARE_HIDDEN_MOVES] = Help_Text_WhatAreHiddenMoves, + [HELP_WHAT_MOVES_SHOULD_I_USE] = Help_Text_WhatMovesShouldIUse, + [HELP_WANT_TO_ADD_MORE_MOVES] = Help_Text_WantToAddMoreMoves, + [HELP_WANT_TO_MAKE_MON_STRONGER] = Help_Text_WantToMakeMonStronger, + [HELP_FOE_MONS_TOO_STRONG] = Help_Text_FoeMonsTooStrong, + [HELP_WHAT_DO_I_DO_IN_CAVE] = Help_Text_WhatDoIDoInCave, + [HELP_NOTHING_I_WANT_TO_KNOW] = Help_Text_NothingIWantToKnow, + [HELP_WHATS_POKEMON_CENTER] = Help_Text_WhatsPokemonCenter, + [HELP_WHATS_POKEMON_MART] = Help_Text_WhatsPokemonMart, + [HELP_WANT_TO_END_GAME] = Help_Text_WantToEndGame, + [HELP_WHATS_A_MON] = Help_Text_WhatsAMon, + [HELP_WHAT_IS_THAT_PERSON_LIKE] = Help_Text_WhatIsThatPersonLike, + [HELP_WHAT_DOES_HIDDEN_MOVE_DO] = Help_Text_WhatDoesHiddenMoveDo, + [HELP_WHAT_DO_I_DO_IN_SAFARI] = Help_Text_WhatDoIDoInSafari, + [HELP_WHAT_ARE_SAFARI_RULES] = Help_Text_WhatAreSafariRules, + [HELP_WANT_TO_END_SAFARI] = Help_Text_WantToEndSafari, + [HELP_WHAT_IS_A_GYM] = Help_Text_WhatIsAGym +}; + +static const u8 *const sHelpSystemSpecializedAnswerTextPtrs[] = { + [HELP_NONE] = NULL, + [HELP_PLAYING_FOR_FIRST_TIME] = Help_Text_AnswerPlayingForFirstTime, + [HELP_WHAT_SHOULD_I_BE_DOING] = Help_Text_AnswerWhatShouldIBeDoing, + [HELP_CANT_GET_OUT_OF_ROOM] = Help_Text_AnswerCantGetOutOfRoom, + [HELP_CANT_FIND_PERSON_I_WANT] = Help_Text_AnswerCantFindPersonIWant, + [HELP_TALKED_TO_EVERYONE_NOW_WHAT] = Help_Text_AnswerTalkedToEveryoneNowWhat, + [HELP_SOMEONE_BLOCKING_MY_WAY] = Help_Text_AnswerSomeoneBlockingMyWay, + [HELP_I_CANT_GO_ON] = Help_Text_AnswerICantGoOn, + [HELP_OUT_OF_THINGS_TO_DO] = Help_Text_AnswerOutOfThingsToDo, + [HELP_WHAT_HAPPENED_TO_ITEM_I_GOT] = Help_Text_AnswerWhatHappenedToItemIGot, + [HELP_WHAT_ARE_MY_ADVENTURE_BASICS] = Help_Text_AnswerWhatAreMyAdventureBasics, + [HELP_HOW_ARE_ROADS_FORESTS_DIFFERENT] = Help_Text_AnswerHowAreRoadsForestsDifferent, + [HELP_HOW_ARE_CAVES_DIFFERENT] = Help_Text_AnswerHowAreCavesDifferent, + [HELP_HOW_DO_I_PROGRESS] = Help_Text_AnswerHowDoIProgress, + [HELP_WHEN_CAN_I_USE_ITEM] = Help_Text_AnswerWhenCanIUseItem, + [HELP_WHATS_A_BATTLE] = Help_Text_AnswerWhatsABattle, + [HELP_HOW_DO_I_PREPARE_FOR_BATTLE] = Help_Text_AnswerHowDoIPrepareForBattle, + [HELP_WHAT_IS_A_MONS_VITALITY] = Help_Text_AnswerWhatIsAMonsVitality, + [HELP_MY_MONS_ARE_HURT] = Help_Text_AnswerMyMonsAreHurt, + [HELP_WHAT_IS_STATUS_PROBLEM] = Help_Text_AnswerWhatIsStatusProblem, + [HELP_WHAT_HAPPENS_IF_ALL_MY_MONS_FAINT] = Help_Text_AnswerWhatHappensIfAllMyMonsFaint, + [HELP_CANT_CATCH_MONS] = Help_Text_AnswerCantCatchMons, + [HELP_RAN_OUT_OF_POTIONS] = Help_Text_AnswerRanOutOfPotions, + [HELP_CAN_I_BUY_POKEBALLS] = Help_Text_AnswerCanIBuyPokeBalls, + [HELP_WHATS_A_TRAINER] = Help_Text_AnswerWhatsATrainer, + [HELP_HOW_DO_I_WIN_AGAINST_TRAINER] = Help_Text_AnswerHowDoIWinAgainstTrainer, + [HELP_WHERE_DO_MONS_APPEAR] = Help_Text_AnswerWhereDoMonsAppear, + [HELP_WHAT_ARE_MOVES] = Help_Text_AnswerWhatAreMoves, + [HELP_WHAT_ARE_HIDDEN_MOVES] = Help_Text_AnswerWhatAreHiddenMoves, + [HELP_WHAT_MOVES_SHOULD_I_USE] = Help_Text_AnswerWhatMovesShouldIUse, + [HELP_WANT_TO_ADD_MORE_MOVES] = Help_Text_AnswerWantToAddMoreMoves, + [HELP_WANT_TO_MAKE_MON_STRONGER] = Help_Text_AnswerWantToMakeMonStronger, + [HELP_FOE_MONS_TOO_STRONG] = Help_Text_AnswerFoeMonsTooStrong, + [HELP_WHAT_DO_I_DO_IN_CAVE] = Help_Text_AnswerWhatDoIDoInCave, + [HELP_NOTHING_I_WANT_TO_KNOW] = Help_Text_AnswerNothingIWantToKnow, + [HELP_WHATS_POKEMON_CENTER] = Help_Text_AnswerWhatsPokemonCenter, + [HELP_WHATS_POKEMON_MART] = Help_Text_AnswerWhatsPokemonMart, + [HELP_WANT_TO_END_GAME] = Help_Text_AnswerWantToEndGame, + [HELP_WHATS_A_MON] = Help_Text_AnswerWhatsAMon, + [HELP_WHAT_IS_THAT_PERSON_LIKE] = Help_Text_AnswerWhatIsThatPersonLike, + [HELP_WHAT_DOES_HIDDEN_MOVE_DO] = Help_Text_AnswerWhatDoesHiddenMoveDo, + [HELP_WHAT_DO_I_DO_IN_SAFARI] = Help_Text_AnswerWhatDoIDoInSafari, + [HELP_WHAT_ARE_SAFARI_RULES] = Help_Text_AnswerWhatAreSafariRules, + [HELP_WANT_TO_END_SAFARI] = Help_Text_AnswerWantToEndSafari, + [HELP_WHAT_IS_A_GYM] = Help_Text_AnswerWhatIsAGym +}; + +// Submenu IDs for TOPIC_HOW_TO_DO +enum +{ + HELP_USING_POKEDEX = 1, + HELP_USING_POKEMON, + HELP_USING_SUMMARY, + HELP_USING_SWITCH, + HELP_USING_ITEM, + HELP_USING_BAG, + HELP_USING_AN_ITEM, + HELP_USING_KEYITEM, + HELP_USING_POKEBALL, + HELP_USING_PLAYER, + HELP_USING_SAVE, + HELP_USING_OPTION, + HELP_USING_POTION, + HELP_USING_TOWN_MAP, + HELP_USING_TM, + HELP_USING_HM, + HELP_USING_MOVE_OUTSIDE_OF_BATTLE, + HELP_RIDING_BICYCLE, + HELP_ENTERING_NAME, + HELP_USING_PC, + HELP_USING_BILLS_PC, + HELP_USING_WITHDRAW, + HELP_USING_DEPOSIT, + HELP_USING_MOVE, + HELP_MOVING_ITEMS, + HELP_USING_PLAYERS_PC, + HELP_USING_WITHDRAW_ITEM, + HELP_USING_DEPOSIT_ITEM, + HELP_USING_MAILBOX, + HELP_USING_PROF_OAKS_PC, + HELP_OPENING_MENU, + HELP_USING_FIGHT, + HELP_USING_POKEMON2, + HELP_USING_SHIFT, + HELP_USING_SUMMARY2, + HELP_USING_BAG2, + HELP_READING_POKEDEX, + HELP_USING_HOME_PC, + HELP_USING_ITEM_STORAGE, + HELP_USING_WITHDRAW_ITEM2, + HELP_USING_DEPOSIT_ITEM2, + HELP_USING_MAILBOX2, + HELP_USING_RUN, + HELP_REGISTER_KEY_ITEM, + HELP_USING_BALL, + HELP_USING_BAIT, + HELP_USING_ROCK, + HELP_USING_HALL_OF_FAME, +}; + +static const u8 *const sHelpSystemMenuTopicTextPtrs[] = { + [HELP_NONE] = NULL, + [HELP_USING_POKEDEX] = Help_Text_UsingPokedex, + [HELP_USING_POKEMON] = Help_Text_UsingPokemon, + [HELP_USING_SUMMARY] = Help_Text_UsingSummary, + [HELP_USING_SWITCH] = Help_Text_UsingSwitch, + [HELP_USING_ITEM] = Help_Text_UsingItem, + [HELP_USING_BAG] = Help_Text_UsingBag, + [HELP_USING_AN_ITEM] = Help_Text_UsingAnItem, + [HELP_USING_KEYITEM] = Help_Text_UsingKeyItem, + [HELP_USING_POKEBALL] = Help_Text_UsingPokeBall, + [HELP_USING_PLAYER] = Help_Text_UsingPlayer, + [HELP_USING_SAVE] = Help_Text_UsingSave, + [HELP_USING_OPTION] = Help_Text_UsingOption, + [HELP_USING_POTION] = Help_Text_UsingPotion, + [HELP_USING_TOWN_MAP] = Help_Text_UsingTownMap, + [HELP_USING_TM] = Help_Text_UsingTM, + [HELP_USING_HM] = Help_Text_UsingHM, + [HELP_USING_MOVE_OUTSIDE_OF_BATTLE] = Help_Text_UsingMoveOutsideOfBattle, + [HELP_RIDING_BICYCLE] = Help_Text_RidingBicycle, + [HELP_ENTERING_NAME] = Help_Text_EnteringName, + [HELP_USING_PC] = Help_Text_UsingPC, + [HELP_USING_BILLS_PC] = Help_Text_UsingBillsPC, + [HELP_USING_WITHDRAW] = Help_Text_UsingWithdraw, + [HELP_USING_DEPOSIT] = Help_Text_UsingDeposit, + [HELP_USING_MOVE] = Help_Text_UsingMove, + [HELP_MOVING_ITEMS] = Help_Text_MovingItems, + [HELP_USING_PLAYERS_PC] = Help_Text_UsingPlayersPC, + [HELP_USING_WITHDRAW_ITEM] = Help_Text_UsingWithdrawItem, + [HELP_USING_DEPOSIT_ITEM] = Help_Text_UsingDepositItem, + [HELP_USING_MAILBOX] = Help_Text_UsingMailbox, + [HELP_USING_PROF_OAKS_PC] = Help_Text_UsingProfOaksPC, + [HELP_OPENING_MENU] = Help_Text_OpeningMenu, + [HELP_USING_FIGHT] = Help_Text_UsingFight, + [HELP_USING_POKEMON2] = Help_Text_UsingPokemon2, + [HELP_USING_SHIFT] = Help_Text_UsingShift, + [HELP_USING_SUMMARY2] = Help_Text_UsingSummary2, + [HELP_USING_BAG2] = Help_Text_UsingBag2, + [HELP_READING_POKEDEX] = Help_Text_ReadingPokedex, + [HELP_USING_HOME_PC] = Help_Text_UsingHomePC, + [HELP_USING_ITEM_STORAGE] = Help_Text_UsingItemStorage, + [HELP_USING_WITHDRAW_ITEM2] = Help_Text_UsingWithdrawItem2, + [HELP_USING_DEPOSIT_ITEM2] = Help_Text_UsingDepositItem2, + [HELP_USING_MAILBOX2] = Help_Text_UsingMailbox2, + [HELP_USING_RUN] = Help_Text_UsingRun, + [HELP_REGISTER_KEY_ITEM] = Help_Text_RegisterKeyItem, + [HELP_USING_BALL] = Help_Text_UsingBall, + [HELP_USING_BAIT] = Help_Text_UsingBait, + [HELP_USING_ROCK] = Help_Text_UsingRock, + [HELP_USING_HALL_OF_FAME] = Help_Text_UsingHallOfFame +}; + +static const u8 *const sHelpSystemHowToUseMenuTextPtrs[] = { + [HELP_NONE] = NULL, + [HELP_USING_POKEDEX] = Help_Text_HowToUsePokedex, + [HELP_USING_POKEMON] = Help_Text_HowToUsePokemon, + [HELP_USING_SUMMARY] = Help_Text_HowToUseSummary, + [HELP_USING_SWITCH] = Help_Text_HowToUseSwitch, + [HELP_USING_ITEM] = Help_Text_HowToUseItem, + [HELP_USING_BAG] = Help_Text_HowToUseBag, + [HELP_USING_AN_ITEM] = Help_Text_HowToUseAnItem, + [HELP_USING_KEYITEM] = Help_Text_HowToUseKeyItem, + [HELP_USING_POKEBALL] = Help_Text_HowToUsePokeBall, + [HELP_USING_PLAYER] = Help_Text_HowToUsePlayer, + [HELP_USING_SAVE] = Help_Text_HowToUseSave, + [HELP_USING_OPTION] = Help_Text_HowToUseOption, + [HELP_USING_POTION] = Help_Text_HowToUsePotion, + [HELP_USING_TOWN_MAP] = Help_Text_HowToUseTownMap, + [HELP_USING_TM] = Help_Text_HowToUseTM, + [HELP_USING_HM] = Help_Text_HowToUseHM, + [HELP_USING_MOVE_OUTSIDE_OF_BATTLE] = Help_Text_HowToUseMoveOutsideOfBattle, + [HELP_RIDING_BICYCLE] = Help_Text_HowToRideBicycle, + [HELP_ENTERING_NAME] = Help_Text_HowToEnterName, + [HELP_USING_PC] = Help_Text_HowToUsePC, + [HELP_USING_BILLS_PC] = Help_Text_HowToUseBillsPC, + [HELP_USING_WITHDRAW] = Help_Text_HowToUseWithdraw, + [HELP_USING_DEPOSIT] = Help_Text_HowToUseDeposit, + [HELP_USING_MOVE] = Help_Text_HowToUseMove, + [HELP_MOVING_ITEMS] = Help_Text_HowToMoveItems, + [HELP_USING_PLAYERS_PC] = Help_Text_HowToUsePlayersPC, + [HELP_USING_WITHDRAW_ITEM] = Help_Text_HowToUseWithdrawItem, + [HELP_USING_DEPOSIT_ITEM] = Help_Text_HowToUseDepositItem, + [HELP_USING_MAILBOX] = Help_Text_HowToUseMailbox, + [HELP_USING_PROF_OAKS_PC] = Help_Text_HowToUseProfOaksPC, + [HELP_OPENING_MENU] = Help_Text_HowToOpenMenu, + [HELP_USING_FIGHT] = Help_Text_HowToUseFight, + [HELP_USING_POKEMON2] = Help_Text_HowToUsePokemon2, + [HELP_USING_SHIFT] = Help_Text_HowToUseShift, + [HELP_USING_SUMMARY2] = Help_Text_HowToUseSummary2, + [HELP_USING_BAG2] = Help_Text_HowToUseBag2, + [HELP_READING_POKEDEX] = Help_Text_HowToReadPokedex, + [HELP_USING_HOME_PC] = Help_Text_HowToUseHomePC, + [HELP_USING_ITEM_STORAGE] = Help_Text_HowToUseItemStorage, + [HELP_USING_WITHDRAW_ITEM2] = Help_Text_HowToUseWithdrawItem2, + [HELP_USING_DEPOSIT_ITEM2] = Help_Text_HowToUseDepositItem2, + [HELP_USING_MAILBOX2] = Help_Text_HowToUseMailbox2, + [HELP_USING_RUN] = Help_Text_HowToUseRun, + [HELP_REGISTER_KEY_ITEM] = Help_Text_HowToRegisterKeyItem, + [HELP_USING_BALL] = Help_Text_HowToUseBall, + [HELP_USING_BAIT] = Help_Text_HowToUseBait, + [HELP_USING_ROCK] = Help_Text_HowToUseRock, + [HELP_USING_HALL_OF_FAME] = Help_Text_HowToUseHallOfFame +}; + +// Submenu IDs for TOPIC_TERMS +enum +{ + HELP_TERM_HP = 1, + HELP_TERM_EXP, + HELP_TERM_MOVES, + HELP_TERM_ATTACK, + HELP_TERM_DEFENSE, + HELP_TERM_SPATK, + HELP_TERM_SPDEF, + HELP_TERM_SPEED, + HELP_TERM_LEVEL, + HELP_TERM_TYPE, + HELP_TERM_OT, + HELP_TERM_ITEM, + HELP_TERM_ABILITY, + HELP_TERM_MONEY, + HELP_TERM_MOVE_TYPE, + HELP_TERM_NATURE, + HELP_TERM_ID_NO, + HELP_TERM_PP, + HELP_TERM_POWER, + HELP_TERM_ACCURACY, + HELP_TERM_FNT, + HELP_TERM_ITEMS, + HELP_TERM_KEYITEMS, + HELP_TERM_POKEBALLS, + HELP_TERM_POKEDEX, + HELP_TERM_PLAY_TIME, + HELP_TERM_BADGES, + HELP_TERM_TEXT_SPEED, + HELP_TERM_BATTLE_SCENE, + HELP_TERM_BATTLE_STYLE, + HELP_TERM_SOUND, + HELP_TERM_BUTTON_MODE, + HELP_TERM_FRAME, + HELP_TERM_CANCEL, + HELP_TERM_TM, + HELP_TERM_HM, + HELP_TERM_HM_MOVE, + HELP_TERM_EVOLUTION, + HELP_TERM_STATUS_PROBLEM, + HELP_TERM_POKEMON, + HELP_TERM_ID_NO2, + HELP_TERM_MONEY2, + HELP_TERM_BADGES2, +}; + +static const u8 *const sHelpSystemTermTextPtrs[] = { + [HELP_NONE] = NULL, + [HELP_TERM_HP] = Help_Text_HP, + [HELP_TERM_EXP] = Help_Text_EXP, + [HELP_TERM_MOVES] = Help_Text_Moves, + [HELP_TERM_ATTACK] = Help_Text_Attack, + [HELP_TERM_DEFENSE] = Help_Text_Defense, + [HELP_TERM_SPATK] = Help_Text_SpAtk, + [HELP_TERM_SPDEF] = Help_Text_SpDef, + [HELP_TERM_SPEED] = Help_Text_Speed, + [HELP_TERM_LEVEL] = Help_Text_Level, + [HELP_TERM_TYPE] = Help_Text_Type, + [HELP_TERM_OT] = Help_Text_OT, + [HELP_TERM_ITEM] = Help_Text_Item, + [HELP_TERM_ABILITY] = Help_Text_Ability, + [HELP_TERM_MONEY] = Help_Text_Money, + [HELP_TERM_MOVE_TYPE] = Help_Text_MoveType, + [HELP_TERM_NATURE] = Help_Text_Nature, + [HELP_TERM_ID_NO] = Help_Text_IDNo, + [HELP_TERM_PP] = Help_Text_PP, + [HELP_TERM_POWER] = Help_Text_Power, + [HELP_TERM_ACCURACY] = Help_Text_Accuracy, + [HELP_TERM_FNT] = Help_Text_FNT, + [HELP_TERM_ITEMS] = Help_Text_Items, + [HELP_TERM_KEYITEMS] = Help_Text_KeyItems, + [HELP_TERM_POKEBALLS] = Help_Text_PokeBalls, + [HELP_TERM_POKEDEX] = Help_Text_Pokedex, + [HELP_TERM_PLAY_TIME] = Help_Text_PlayTime, + [HELP_TERM_BADGES] = Help_Text_Badges, + [HELP_TERM_TEXT_SPEED] = Help_Text_TextSpeed, + [HELP_TERM_BATTLE_SCENE] = Help_Text_BattleScene, + [HELP_TERM_BATTLE_STYLE] = Help_Text_BattleStyle, + [HELP_TERM_SOUND] = Help_Text_Sound, + [HELP_TERM_BUTTON_MODE] = Help_Text_ButtonMode, + [HELP_TERM_FRAME] = Help_Text_Frame, + [HELP_TERM_CANCEL] = Help_Text_Cancel2, + [HELP_TERM_TM] = Help_Text_TM, + [HELP_TERM_HM] = Help_Text_HM, + [HELP_TERM_HM_MOVE] = Help_Text_HMMove, + [HELP_TERM_EVOLUTION] = Help_Text_Evolution, + [HELP_TERM_STATUS_PROBLEM] = Help_Text_StatusProblem, + [HELP_TERM_POKEMON] = Help_Text_Pokemon, + [HELP_TERM_ID_NO2] = Help_Text_IDNo2, + [HELP_TERM_MONEY2] = Help_Text_Money2, + [HELP_TERM_BADGES2] = Help_Text_Badges2 +}; + +static const u8 *const sHelpSystemTermDefinitionsTextPtrs[] = { + [HELP_NONE] = NULL, + [HELP_TERM_HP] = Help_Text_DefineHP, + [HELP_TERM_EXP] = Help_Text_DefineEXP, + [HELP_TERM_MOVES] = Help_Text_DefineMoves, + [HELP_TERM_ATTACK] = Help_Text_DefineAttack, + [HELP_TERM_DEFENSE] = Help_Text_DefineDefense, + [HELP_TERM_SPATK] = Help_Text_DefineSpAtk, + [HELP_TERM_SPDEF] = Help_Text_DefineSpDef, + [HELP_TERM_SPEED] = Help_Text_DefineSpeed, + [HELP_TERM_LEVEL] = Help_Text_DefineLevel, + [HELP_TERM_TYPE] = Help_Text_DefineType, + [HELP_TERM_OT] = Help_Text_DefineOT, + [HELP_TERM_ITEM] = Help_Text_DefineItem, + [HELP_TERM_ABILITY] = Help_Text_DefineAbility, + [HELP_TERM_MONEY] = Help_Text_DefineMoney, + [HELP_TERM_MOVE_TYPE] = Help_Text_DefineMoveType, + [HELP_TERM_NATURE] = Help_Text_DefineNature, + [HELP_TERM_ID_NO] = Help_Text_DefineIDNo, + [HELP_TERM_PP] = Help_Text_DefinePP, + [HELP_TERM_POWER] = Help_Text_DefinePower, + [HELP_TERM_ACCURACY] = Help_Text_DefineAccuracy, + [HELP_TERM_FNT] = Help_Text_DefineFNT, + [HELP_TERM_ITEMS] = Help_Text_DefineItems, + [HELP_TERM_KEYITEMS] = Help_Text_DefineKeyItems, + [HELP_TERM_POKEBALLS] = Help_Text_DefinePokeBalls, + [HELP_TERM_POKEDEX] = Help_Text_DefinePokedex, + [HELP_TERM_PLAY_TIME] = Help_Text_DefinePlayTime, + [HELP_TERM_BADGES] = Help_Text_DefineBadges, + [HELP_TERM_TEXT_SPEED] = Help_Text_DefineTextSpeed, + [HELP_TERM_BATTLE_SCENE] = Help_Text_DefineBattleScene, + [HELP_TERM_BATTLE_STYLE] = Help_Text_DefineBattleStyle, + [HELP_TERM_SOUND] = Help_Text_DefineSound, + [HELP_TERM_BUTTON_MODE] = Help_Text_DefineButtonMode, + [HELP_TERM_FRAME] = Help_Text_DefineFrame, + [HELP_TERM_CANCEL] = Help_Text_DefineCancel2, + [HELP_TERM_TM] = Help_Text_DefineTM, + [HELP_TERM_HM] = Help_Text_DefineHM, + [HELP_TERM_HM_MOVE] = Help_Text_DefineHMMove, + [HELP_TERM_EVOLUTION] = Help_Text_DefineEvolution, + [HELP_TERM_STATUS_PROBLEM] = Help_Text_DefineStatusProblem, + [HELP_TERM_POKEMON] = Help_Text_DefinePokemon, + [HELP_TERM_ID_NO2] = Help_Text_DefineIDNo2, + [HELP_TERM_MONEY2] = Help_Text_DefineMoney2, + [HELP_TERM_BADGES2] = Help_Text_DefineBadges2 +}; + +// Submenu IDs for TOPIC_ABOUT_GAME +enum +{ + HELP_THE_HELP_SYSTEM = 1, + HELP_THE_GAME, + HELP_WIRELESS_ADAPTER, + HELP_GAME_FUNDAMENTALS_1, + HELP_GAME_FUNDAMENTALS_2, + HELP_GAME_FUNDAMENTALS_3, + HELP_WHAT_ARE_POKEMON, +}; + +static const u8 *const sHelpSystemGeneralTopicTextPtrs[] = { + [HELP_NONE] = NULL, + [HELP_THE_HELP_SYSTEM] = Help_Text_TheHelpSystem, + [HELP_THE_GAME] = Help_Text_TheGame, + [HELP_WIRELESS_ADAPTER] = Help_Text_WirelessAdapter, + [HELP_GAME_FUNDAMENTALS_1] = Help_Text_GameFundamentals1, + [HELP_GAME_FUNDAMENTALS_2] = Help_Text_GameFundamentals2, + [HELP_GAME_FUNDAMENTALS_3] = Help_Text_GameFundamentals3, + [HELP_WHAT_ARE_POKEMON] = Help_Text_WhatArePokemon +}; + +static const u8 *const sHelpSystemGeneralTopicDescriptionTextPtrs[] = { + [HELP_NONE] = NULL, + [HELP_THE_HELP_SYSTEM] = Help_Text_DescTheHelpSystem, + [HELP_THE_GAME] = Help_Text_DescTheGame, + [HELP_WIRELESS_ADAPTER] = Help_Text_DescWirelessAdapter, + [HELP_GAME_FUNDAMENTALS_1] = Help_Text_DescGameFundamentals1, + [HELP_GAME_FUNDAMENTALS_2] = Help_Text_DescGameFundamentals2, + [HELP_GAME_FUNDAMENTALS_3] = Help_Text_DescGameFundamentals3, + [HELP_WHAT_ARE_POKEMON] = Help_Text_DescWhatArePokemon +}; + +// An enum for the type matchups isn't necessary, when used they're always used in their entirety +// Macro below is used to reference the entire group at once +#define HELP_TYPE_MATCHUPS \ + 1, \ + 2, 3, \ + 4, 5, \ + 6, 7, \ + 8, 9, \ + 10, 11, \ + 12, 13, \ + 14, 15, \ + 16, 17, \ + 18, 19, \ + 20, 21, \ + 22, 23, \ + 24, 25, \ + 26, 27, \ + 28, 29, \ + 30, 31, \ + 32, 33, \ + 34, 35 \ + +static const u8 *const sHelpSystemTypeMatchupTextPtrs[] = { + [HELP_NONE] = NULL, + [1] = Help_Text_UsingTypeMatchupList, + [2] = Help_Text_OwnMoveDark, + [3] = Help_Text_OwnPokemonDark, + [4] = Help_Text_OwnMoveRock, + [5] = Help_Text_OwnPokemonRock, + [6] = Help_Text_OwnMovePsychic, + [7] = Help_Text_OwnPokemonPsychic, + [8] = Help_Text_OwnMoveFighting, + [9] = Help_Text_OwnPokemonFighting, + [10] = Help_Text_OwnMoveGrass, + [11] = Help_Text_OwnPokemonGrass, + [12] = Help_Text_OwnMoveGhost, + [13] = Help_Text_OwnPokemonGhost, + [14] = Help_Text_OwnMoveIce, + [15] = Help_Text_OwnPokemonIce, + [16] = Help_Text_OwnMoveGround, + [17] = Help_Text_OwnPokemonGround, + [18] = Help_Text_OwnMoveElectric, + [19] = Help_Text_OwnPokemonElectric, + [20] = Help_Text_OwnMovePoison, + [21] = Help_Text_OwnPokemonPoison, + [22] = Help_Text_OwnMoveDragon, + [23] = Help_Text_OwnPokemonDragon, + [24] = Help_Text_OwnMoveNormal, + [25] = Help_Text_OwnPokemonNormal, + [26] = Help_Text_OwnMoveSteel, + [27] = Help_Text_OwnPokemonSteel, + [28] = Help_Text_OwnMoveFlying, + [29] = Help_Text_OwnPokemonFlying, + [30] = Help_Text_OwnMoveFire, + [31] = Help_Text_OwnPokemonFire, + [32] = Help_Text_OwnMoveWater, + [33] = Help_Text_OwnPokemonWater, + [34] = Help_Text_OwnMoveBug, + [35] = Help_Text_OwnPokemonBug +}; + +static const u8 *const sHelpSystemTypeMatchupDescriptionTextPtrs[] = { + [HELP_NONE] = NULL, + [1] = Help_Text_HowToUseTypeMatchupList, + [2] = Help_Text_TypeMatchupOwnMoveDark, + [3] = Help_Text_TypeMatchupOwnPokemonDark, + [4] = Help_Text_TypeMatchupOwnMoveRock, + [5] = Help_Text_TypeMatchupOwnPokemonRock, + [6] = Help_Text_TypeMatchupOwnMovePsychic, + [7] = Help_Text_TypeMatchupOwnPokemonPsychic, + [8] = Help_Text_TypeMatchupOwnMoveFighting, + [9] = Help_Text_TypeMatchupOwnPokemonFighting, + [10] = Help_Text_TypeMatchupOwnMoveGrass, + [11] = Help_Text_TypeMatchupOwnPokemonGrass, + [12] = Help_Text_TypeMatchupOwnMoveGhost, + [13] = Help_Text_TypeMatchupOwnPokemonGhost, + [14] = Help_Text_TypeMatchupOwnMoveIce, + [15] = Help_Text_TypeMatchupOwnPokemonIce, + [16] = Help_Text_TypeMatchupOwnMoveGround, + [17] = Help_Text_TypeMatchupOwnPokemonGround, + [18] = Help_Text_TypeMatchupOwnMoveElectric, + [19] = Help_Text_TypeMatchupOwnPokemonElectric, + [20] = Help_Text_TypeMatchupOwnMovePoison, + [21] = Help_Text_TypeMatchupOwnPokemonPoison, + [22] = Help_Text_TypeMatchupOwnMoveDragon, + [23] = Help_Text_TypeMatchupOwnPokemonDragon, + [24] = Help_Text_TypeMatchupOwnMoveNormal, + [25] = Help_Text_TypeMatchupOwnPokemonNormal, + [26] = Help_Text_TypeMatchupOwnMoveSteel, + [27] = Help_Text_TypeMatchupOwnPokemonSteel, + [28] = Help_Text_TypeMatchupOwnMoveFlying, + [29] = Help_Text_TypeMatchupOwnPokemonFlying, + [30] = Help_Text_TypeMatchupOwnMoveFire, + [31] = Help_Text_TypeMatchupOwnPokemonFire, + [32] = Help_Text_TypeMatchupOwnMoveWater, + [33] = Help_Text_TypeMatchupOwnPokemonWater, + [34] = Help_Text_TypeMatchupOwnMoveBug, + [35] = Help_Text_TypeMatchupOwnPokemonBug +}; + +static const u8 sAboutGame_TitleScreen[] = { + HELP_THE_HELP_SYSTEM, + HELP_THE_GAME, + HELP_WIRELESS_ADAPTER, + HELP_END +}; + +static const u8 sAboutGame_NewGame[] = { + HELP_THE_HELP_SYSTEM, + HELP_THE_GAME, + HELP_WIRELESS_ADAPTER, + HELP_END +}; + +static const u8 sHowTo_NamingScreen[] = { + HELP_ENTERING_NAME, + HELP_END +}; + +static const u8 sAboutGame_NamingScreen[] = { + HELP_THE_HELP_SYSTEM, + HELP_THE_GAME, + HELP_WIRELESS_ADAPTER, + HELP_END +}; + +static const u8 sHowTo_Pokedex[] = { + HELP_USING_POKEDEX, + HELP_READING_POKEDEX, + HELP_END +}; + +static const u8 sHowTo_PartyMenu[] = { + HELP_USING_POKEMON, + HELP_USING_SUMMARY, + HELP_USING_SWITCH, + HELP_USING_ITEM, + HELP_USING_MOVE_OUTSIDE_OF_BATTLE, + HELP_END +}; + +static const u8 sTerms_PartyMenu[] = { + HELP_TERM_LEVEL, + HELP_TERM_HP, + HELP_END +}; + +static const u8 sHowTo_PokemonInfo[] = { + HELP_USING_POKEMON, + HELP_USING_SUMMARY, + HELP_END +}; + +static const u8 sTerms_PokemonInfo[] = { + HELP_TERM_LEVEL, + HELP_TERM_TYPE, + HELP_TERM_OT, + HELP_TERM_ID_NO, + HELP_TERM_ITEM, + HELP_TERM_NATURE, + HELP_END +}; + +static const u8 sTerms_PokemonSkills[] = { + HELP_TERM_LEVEL, + HELP_TERM_HP, + HELP_TERM_ATTACK, + HELP_TERM_DEFENSE, + HELP_TERM_SPATK, + HELP_TERM_SPDEF, + HELP_TERM_SPEED, + HELP_TERM_EXP, + HELP_TERM_ABILITY, + HELP_END +}; + +static const u8 sTerms_PokemonMoves[] = { + HELP_TERM_LEVEL, + HELP_TERM_MOVES, + HELP_TERM_TYPE, + HELP_TERM_MOVE_TYPE, + HELP_TERM_PP, + HELP_TERM_POWER, + HELP_TERM_ACCURACY, + HELP_END +}; + +static const u8 sHowTo_Bag[] = { + HELP_USING_BAG, + HELP_USING_AN_ITEM, + HELP_USING_KEYITEM, + HELP_REGISTER_KEY_ITEM, + HELP_USING_POKEBALL, + HELP_USING_POTION, + HELP_USING_TOWN_MAP, + HELP_USING_TM, + HELP_USING_HM, + HELP_RIDING_BICYCLE, + HELP_END +}; + +static const u8 sTerms_Bag[] = { + HELP_TERM_ITEMS, + HELP_TERM_KEYITEMS, + HELP_TERM_POKEBALLS, + HELP_END +}; + +static const u8 sHowTo_TrainerCardFront[] = { + HELP_USING_PLAYER, + HELP_END +}; + +static const u8 sTerms_TrainerCardFront[] = { + HELP_TERM_ID_NO, + HELP_TERM_MONEY, + HELP_TERM_POKEDEX, + HELP_TERM_PLAY_TIME, + HELP_TERM_BADGES, + HELP_END +}; + +static const u8 sHowTo_TrainerCardBack[] = { + HELP_USING_PLAYER, + HELP_END +}; + +static const u8 sHowTo_Save[] = { + HELP_USING_SAVE, + HELP_END +}; + +static const u8 sTerms_Save[] = { + HELP_TERM_BADGES2, + HELP_TERM_POKEDEX, + HELP_TERM_PLAY_TIME, + HELP_END +}; + +static const u8 sHowTo_Options[] = { + HELP_USING_OPTION, + HELP_END +}; + +static const u8 sTerms_Options[] = { + HELP_TERM_TEXT_SPEED, + HELP_TERM_BATTLE_SCENE, + HELP_TERM_BATTLE_STYLE, + HELP_TERM_SOUND, + HELP_TERM_BUTTON_MODE, + HELP_TERM_FRAME, + HELP_TERM_CANCEL, + HELP_END +}; + +static const u8 sWhatToDo_PlayersHouse[] = { + HELP_WHAT_SHOULD_I_BE_DOING, + HELP_CANT_GET_OUT_OF_ROOM, + HELP_CANT_FIND_PERSON_I_WANT, + HELP_END +}; + +static const u8 sAboutGame_PlayersHouse[] = { + HELP_THE_HELP_SYSTEM, + HELP_THE_GAME, + HELP_WIRELESS_ADAPTER, + HELP_WHAT_ARE_POKEMON, + HELP_END +}; + +static const u8 sWhatToDo_OaksLab[] = { + HELP_WHAT_SHOULD_I_BE_DOING, + HELP_CANT_FIND_PERSON_I_WANT, + HELP_TALKED_TO_EVERYONE_NOW_WHAT, + HELP_WHAT_HAPPENED_TO_ITEM_I_GOT, + HELP_WANT_TO_END_GAME, + HELP_END +}; + +static const u8 sHowTo_OaksLab[] = { + HELP_OPENING_MENU, + HELP_USING_POKEDEX, + HELP_USING_POKEMON, + HELP_USING_SUMMARY, + HELP_USING_SWITCH, + HELP_USING_ITEM, + HELP_USING_BAG, + HELP_USING_AN_ITEM, + HELP_USING_KEYITEM, + HELP_REGISTER_KEY_ITEM, + HELP_USING_POKEBALL, + HELP_USING_POTION, + HELP_USING_TOWN_MAP, + HELP_USING_TM, + HELP_USING_HM, + HELP_USING_PLAYER, + HELP_USING_SAVE, + HELP_USING_OPTION, + HELP_USING_MOVE_OUTSIDE_OF_BATTLE, + HELP_END +}; + +static const u8 sTerms_OaksLab[] = { + HELP_TERM_LEVEL, + HELP_TERM_HP, + HELP_TERM_EXP, + HELP_TERM_MOVES, + HELP_TERM_TYPE, + HELP_TERM_POKEMON, + HELP_END +}; + +static const u8 sWhatToDo_PokeCenter[] = { + HELP_WHAT_SHOULD_I_BE_DOING, + HELP_TALKED_TO_EVERYONE_NOW_WHAT, + HELP_SOMEONE_BLOCKING_MY_WAY, + HELP_WHAT_ARE_MY_ADVENTURE_BASICS, + HELP_WHATS_POKEMON_CENTER, + HELP_WHATS_POKEMON_MART, + HELP_WHAT_HAPPENED_TO_ITEM_I_GOT, + HELP_WANT_TO_END_GAME, + HELP_END +}; + +static const u8 sHowTo_PokeCenter[] = { + HELP_OPENING_MENU, + HELP_USING_POKEDEX, + HELP_USING_POKEMON, + HELP_USING_SUMMARY, + HELP_USING_SWITCH, + HELP_USING_ITEM, + HELP_USING_BAG, + HELP_USING_AN_ITEM, + HELP_USING_KEYITEM, + HELP_REGISTER_KEY_ITEM, + HELP_USING_POKEBALL, + HELP_USING_POTION, + HELP_USING_TOWN_MAP, + HELP_USING_TM, + HELP_USING_HM, + HELP_USING_PLAYER, + HELP_USING_SAVE, + HELP_USING_OPTION, + HELP_USING_MOVE_OUTSIDE_OF_BATTLE, + HELP_USING_PC, + HELP_END +}; + +static const u8 sTerms_PokeCenter[] = { + HELP_TERM_LEVEL, + HELP_TERM_HP, + HELP_TERM_EXP, + HELP_TERM_MOVES, + HELP_TERM_TYPE, + HELP_TERM_POKEMON, + HELP_END +}; + +static const u8 sAboutGame_PokeCenter[] = { + HELP_WIRELESS_ADAPTER, + HELP_WHAT_ARE_POKEMON, + HELP_GAME_FUNDAMENTALS_1, + HELP_GAME_FUNDAMENTALS_2, + HELP_GAME_FUNDAMENTALS_3, + HELP_END +}; + +static const u8 sWhatToDo_Mart[] = { + HELP_WHAT_SHOULD_I_BE_DOING, + HELP_TALKED_TO_EVERYONE_NOW_WHAT, + HELP_SOMEONE_BLOCKING_MY_WAY, + HELP_WHAT_ARE_MY_ADVENTURE_BASICS, + HELP_WHATS_POKEMON_CENTER, + HELP_WHATS_POKEMON_MART, + HELP_WHAT_HAPPENED_TO_ITEM_I_GOT, + HELP_WANT_TO_END_GAME, + HELP_END +}; + +static const u8 sHowTo_Mart[] = { + HELP_OPENING_MENU, + HELP_USING_POKEDEX, + HELP_USING_POKEMON, + HELP_USING_SUMMARY, + HELP_USING_SWITCH, + HELP_USING_ITEM, + HELP_USING_BAG, + HELP_USING_AN_ITEM, + HELP_USING_KEYITEM, + HELP_REGISTER_KEY_ITEM, + HELP_USING_POKEBALL, + HELP_USING_POTION, + HELP_USING_TOWN_MAP, + HELP_USING_TM, + HELP_USING_HM, + HELP_USING_PLAYER, + HELP_USING_SAVE, + HELP_USING_OPTION, + HELP_USING_MOVE_OUTSIDE_OF_BATTLE, + HELP_END +}; + +static const u8 sTerms_Mart[] = { + HELP_TERM_LEVEL, + HELP_TERM_HP, + HELP_TERM_EXP, + HELP_TERM_MOVES, + HELP_TERM_TYPE, + HELP_TERM_ITEM, + HELP_TERM_MONEY, + HELP_TERM_ITEMS, + HELP_TERM_KEYITEMS, + HELP_TERM_POKEBALLS, + HELP_TERM_FNT, + HELP_END +}; + +static const u8 sWhatToDo_Gym[] = { + HELP_SOMEONE_BLOCKING_MY_WAY, + HELP_WHAT_ARE_MY_ADVENTURE_BASICS, + HELP_WHATS_POKEMON_CENTER, + HELP_WHATS_POKEMON_MART, + HELP_WHAT_HAPPENED_TO_ITEM_I_GOT, + HELP_WANT_TO_END_GAME, + HELP_END +}; + +static const u8 sHowTo_Gym[] = { + HELP_OPENING_MENU, + HELP_USING_POKEDEX, + HELP_USING_POKEMON, + HELP_USING_SUMMARY, + HELP_USING_SWITCH, + HELP_USING_ITEM, + HELP_USING_BAG, + HELP_USING_AN_ITEM, + HELP_USING_KEYITEM, + HELP_REGISTER_KEY_ITEM, + HELP_USING_POKEBALL, + HELP_USING_POTION, + HELP_USING_TOWN_MAP, + HELP_USING_TM, + HELP_USING_HM, + HELP_USING_PLAYER, + HELP_USING_SAVE, + HELP_USING_OPTION, + HELP_USING_MOVE_OUTSIDE_OF_BATTLE, + HELP_END +}; + +static const u8 sTerms_Gym[] = { + HELP_TERM_LEVEL, + HELP_TERM_HP, + HELP_TERM_EXP, + HELP_TERM_MOVES, + HELP_TERM_TYPE, + HELP_TERM_FNT, + HELP_END +}; + +static const u8 sTypeMatchups_Gym[] = { + HELP_TYPE_MATCHUPS, + HELP_END +}; + +static const u8 sWhatToDo_Indoors[] = { + HELP_WHAT_SHOULD_I_BE_DOING, + HELP_WHAT_ARE_MY_ADVENTURE_BASICS, + HELP_CANT_FIND_PERSON_I_WANT, + HELP_TALKED_TO_EVERYONE_NOW_WHAT, + HELP_SOMEONE_BLOCKING_MY_WAY, + HELP_I_CANT_GO_ON, + HELP_HOW_DO_I_PROGRESS, + HELP_WHAT_IS_THAT_PERSON_LIKE, + HELP_OUT_OF_THINGS_TO_DO, + HELP_HOW_ARE_ROADS_FORESTS_DIFFERENT, + HELP_WHAT_DO_I_DO_IN_CAVE, + HELP_WHATS_POKEMON_CENTER, + HELP_WHATS_POKEMON_MART, + HELP_WHAT_IS_A_GYM, + HELP_WHAT_HAPPENED_TO_ITEM_I_GOT, + HELP_WHEN_CAN_I_USE_ITEM, + HELP_RAN_OUT_OF_POTIONS, + HELP_CAN_I_BUY_POKEBALLS, + HELP_WHATS_A_BATTLE, + HELP_HOW_DO_I_PREPARE_FOR_BATTLE, + HELP_WHAT_IS_A_MONS_VITALITY, + HELP_WHERE_DO_MONS_APPEAR, + HELP_CANT_CATCH_MONS, + HELP_WANT_TO_MAKE_MON_STRONGER, + HELP_FOE_MONS_TOO_STRONG, + HELP_MY_MONS_ARE_HURT, + HELP_WHAT_IS_STATUS_PROBLEM, + HELP_WHAT_HAPPENS_IF_ALL_MY_MONS_FAINT, + HELP_WHATS_A_TRAINER, + HELP_HOW_DO_I_WIN_AGAINST_TRAINER, + HELP_WHAT_ARE_MOVES, + HELP_WANT_TO_ADD_MORE_MOVES, + HELP_WHAT_ARE_HIDDEN_MOVES, + HELP_WHAT_DOES_HIDDEN_MOVE_DO, + HELP_WANT_TO_END_GAME, + HELP_END +}; + +static const u8 sHowTo_Indoors[] = { + HELP_OPENING_MENU, + HELP_USING_POKEDEX, + HELP_USING_POKEMON, + HELP_USING_SUMMARY, + HELP_USING_SWITCH, + HELP_USING_ITEM, + HELP_USING_BAG, + HELP_USING_AN_ITEM, + HELP_USING_KEYITEM, + HELP_REGISTER_KEY_ITEM, + HELP_USING_POKEBALL, + HELP_USING_POTION, + HELP_USING_TOWN_MAP, + HELP_USING_TM, + HELP_USING_HM, + HELP_USING_PLAYER, + HELP_USING_SAVE, + HELP_USING_OPTION, + HELP_USING_MOVE_OUTSIDE_OF_BATTLE, + HELP_END +}; + +static const u8 sTerms_Indoors[] = { + HELP_TERM_LEVEL, + HELP_TERM_HP, + HELP_TERM_EXP, + HELP_TERM_TYPE, + HELP_TERM_OT, + HELP_TERM_ITEM, + HELP_TERM_ABILITY, + HELP_TERM_FNT, + HELP_END +}; + +static const u8 sWhatToDo_Overworld[] = { + HELP_WHAT_SHOULD_I_BE_DOING, + HELP_WHAT_ARE_MY_ADVENTURE_BASICS, + HELP_CANT_FIND_PERSON_I_WANT, + HELP_TALKED_TO_EVERYONE_NOW_WHAT, + HELP_SOMEONE_BLOCKING_MY_WAY, + HELP_I_CANT_GO_ON, + HELP_HOW_DO_I_PROGRESS, + HELP_WHAT_IS_THAT_PERSON_LIKE, + HELP_OUT_OF_THINGS_TO_DO, + HELP_HOW_ARE_ROADS_FORESTS_DIFFERENT, + HELP_WHAT_DO_I_DO_IN_CAVE, + HELP_WHATS_POKEMON_CENTER, + HELP_WHATS_POKEMON_MART, + HELP_WHAT_IS_A_GYM, + HELP_WHAT_HAPPENED_TO_ITEM_I_GOT, + HELP_WHEN_CAN_I_USE_ITEM, + HELP_RAN_OUT_OF_POTIONS, + HELP_CAN_I_BUY_POKEBALLS, + HELP_WHATS_A_BATTLE, + HELP_HOW_DO_I_PREPARE_FOR_BATTLE, + HELP_WHAT_IS_A_MONS_VITALITY, + HELP_WHERE_DO_MONS_APPEAR, + HELP_CANT_CATCH_MONS, + HELP_WANT_TO_MAKE_MON_STRONGER, + HELP_FOE_MONS_TOO_STRONG, + HELP_MY_MONS_ARE_HURT, + HELP_WHAT_IS_STATUS_PROBLEM, + HELP_WHAT_HAPPENS_IF_ALL_MY_MONS_FAINT, + HELP_WHATS_A_TRAINER, + HELP_HOW_DO_I_WIN_AGAINST_TRAINER, + HELP_WHAT_ARE_MOVES, + HELP_WANT_TO_ADD_MORE_MOVES, + HELP_WHAT_ARE_HIDDEN_MOVES, + HELP_WHAT_DOES_HIDDEN_MOVE_DO, + HELP_WANT_TO_END_GAME, + HELP_END +}; + +static const u8 sHowTo_Overworld[] = { + HELP_OPENING_MENU, + HELP_USING_POKEDEX, + HELP_USING_POKEMON, + HELP_USING_BAG, + HELP_USING_PLAYER, + HELP_USING_SAVE, + HELP_USING_OPTION, + HELP_USING_MOVE_OUTSIDE_OF_BATTLE, + HELP_END +}; + +static const u8 sTerms_Overworld[] = { + HELP_TERM_LEVEL, + HELP_TERM_HP, + HELP_TERM_EXP, + HELP_TERM_TYPE, + HELP_TERM_OT, + HELP_TERM_ITEM, + HELP_TERM_ABILITY, + HELP_TERM_FNT, + HELP_TERM_POKEMON, + HELP_END +}; + +static const u8 sWhatToDo_Dungeon[] = { + HELP_WHAT_ARE_MY_ADVENTURE_BASICS, + HELP_I_CANT_GO_ON, + HELP_HOW_DO_I_PROGRESS, + HELP_WHAT_IS_THAT_PERSON_LIKE, + HELP_OUT_OF_THINGS_TO_DO, + HELP_HOW_ARE_ROADS_FORESTS_DIFFERENT, + HELP_WHAT_DO_I_DO_IN_CAVE, + HELP_WHATS_POKEMON_CENTER, + HELP_WHATS_POKEMON_MART, + HELP_WHAT_IS_A_GYM, + HELP_WHAT_HAPPENED_TO_ITEM_I_GOT, + HELP_WHEN_CAN_I_USE_ITEM, + HELP_RAN_OUT_OF_POTIONS, + HELP_WHATS_A_BATTLE, + HELP_HOW_DO_I_PREPARE_FOR_BATTLE, + HELP_WHAT_IS_A_MONS_VITALITY, + HELP_WHERE_DO_MONS_APPEAR, + HELP_CANT_CATCH_MONS, + HELP_WANT_TO_MAKE_MON_STRONGER, + HELP_FOE_MONS_TOO_STRONG, + HELP_MY_MONS_ARE_HURT, + HELP_WHAT_IS_STATUS_PROBLEM, + HELP_WHAT_HAPPENS_IF_ALL_MY_MONS_FAINT, + HELP_WHATS_A_TRAINER, + HELP_HOW_DO_I_WIN_AGAINST_TRAINER, + HELP_WHAT_ARE_MOVES, + HELP_WANT_TO_ADD_MORE_MOVES, + HELP_WHAT_ARE_HIDDEN_MOVES, + HELP_WHAT_DOES_HIDDEN_MOVE_DO, + HELP_WANT_TO_END_GAME, + HELP_END +}; + +static const u8 sHowTo_Dungeon[] = { + HELP_OPENING_MENU, + HELP_USING_POKEDEX, + HELP_USING_POKEMON, + HELP_USING_BAG, + HELP_USING_PLAYER, + HELP_USING_SAVE, + HELP_USING_OPTION, + HELP_USING_MOVE_OUTSIDE_OF_BATTLE, + HELP_END +}; + +static const u8 sTerms_Dungeon[] = { + HELP_TERM_LEVEL, + HELP_TERM_HP, + HELP_TERM_EXP, + HELP_TERM_TYPE, + HELP_TERM_OT, + HELP_TERM_ITEM, + HELP_TERM_ABILITY, + HELP_TERM_FNT, + HELP_END +}; + +static const u8 sWhatToDo_Surfing[] = { + HELP_I_CANT_GO_ON, + HELP_WHAT_IS_THAT_PERSON_LIKE, + HELP_OUT_OF_THINGS_TO_DO, + HELP_WHAT_IS_A_GYM, + HELP_CANT_CATCH_MONS, + HELP_WANT_TO_MAKE_MON_STRONGER, + HELP_FOE_MONS_TOO_STRONG, + HELP_MY_MONS_ARE_HURT, + HELP_WHAT_IS_STATUS_PROBLEM, + HELP_WHAT_HAPPENS_IF_ALL_MY_MONS_FAINT, + HELP_WHATS_A_TRAINER, + HELP_HOW_DO_I_WIN_AGAINST_TRAINER, + HELP_WHAT_ARE_MOVES, + HELP_WANT_TO_ADD_MORE_MOVES, + HELP_WHAT_ARE_HIDDEN_MOVES, + HELP_WHAT_DOES_HIDDEN_MOVE_DO, + HELP_WANT_TO_END_GAME, + HELP_END +}; + +static const u8 sHowTo_Surfing[] = { + HELP_OPENING_MENU, + HELP_USING_POKEDEX, + HELP_USING_POKEMON, + HELP_USING_BAG, + HELP_USING_PLAYER, + HELP_USING_SAVE, + HELP_USING_OPTION, + HELP_USING_MOVE_OUTSIDE_OF_BATTLE, + HELP_END +}; + +static const u8 sTerms_Surfing[] = { + HELP_TERM_LEVEL, + HELP_TERM_HP, + HELP_TERM_EXP, + HELP_TERM_TYPE, + HELP_TERM_OT, + HELP_TERM_ITEM, + HELP_TERM_ABILITY, + HELP_TERM_FNT, + HELP_END +}; + +static const u8 sWhatToDo_WildBattle[] = { + HELP_WHATS_A_BATTLE, + HELP_WHAT_ARE_MOVES, + HELP_WHAT_MOVES_SHOULD_I_USE, + HELP_WHAT_IS_A_MONS_VITALITY, + HELP_MY_MONS_ARE_HURT, + HELP_CANT_CATCH_MONS, + HELP_CAN_I_BUY_POKEBALLS, + HELP_RAN_OUT_OF_POTIONS, + HELP_WANT_TO_MAKE_MON_STRONGER, + HELP_FOE_MONS_TOO_STRONG, + HELP_WHAT_IS_STATUS_PROBLEM, + HELP_WHAT_HAPPENS_IF_ALL_MY_MONS_FAINT, + HELP_END +}; + +static const u8 sHowTo_WildBattle[] = { + HELP_USING_FIGHT, + HELP_USING_POKEMON2, + HELP_USING_SHIFT, + HELP_USING_SUMMARY2, + HELP_USING_BAG2, + HELP_USING_AN_ITEM, + HELP_USING_POKEBALL, + HELP_USING_RUN, + HELP_END +}; + +static const u8 sTerms_WildBattle[] = { + HELP_TERM_LEVEL, + HELP_TERM_HP, + HELP_TERM_EXP, + HELP_TERM_MOVES, + HELP_TERM_ATTACK, + HELP_TERM_DEFENSE, + HELP_TERM_SPATK, + HELP_TERM_SPDEF, + HELP_TERM_SPEED, + HELP_TERM_TYPE, + HELP_TERM_ABILITY, + HELP_TERM_MOVE_TYPE, + HELP_TERM_PP, + HELP_TERM_POWER, + HELP_TERM_ACCURACY, + HELP_TERM_STATUS_PROBLEM, + HELP_TERM_FNT, + HELP_END +}; + +static const u8 sTypeMatchups_WildBattle[] = { + HELP_TYPE_MATCHUPS, + HELP_END +}; + +static const u8 sWhatToDo_TrainerBattleSingle[] = { + HELP_WHATS_A_BATTLE, + HELP_WHAT_ARE_MOVES, + HELP_WHAT_MOVES_SHOULD_I_USE, + HELP_WHAT_IS_A_MONS_VITALITY, + HELP_MY_MONS_ARE_HURT, + HELP_RAN_OUT_OF_POTIONS, + HELP_WANT_TO_MAKE_MON_STRONGER, + HELP_FOE_MONS_TOO_STRONG, + HELP_WHAT_IS_STATUS_PROBLEM, + HELP_WHAT_HAPPENS_IF_ALL_MY_MONS_FAINT, + HELP_END +}; + +static const u8 sHowTo_TrainerBattleSingle[] = { + HELP_USING_FIGHT, + HELP_USING_POKEMON2, + HELP_USING_SHIFT, + HELP_USING_SUMMARY2, + HELP_USING_BAG2, + HELP_USING_AN_ITEM, + HELP_USING_RUN, + HELP_END +}; + +static const u8 sTerms_TrainerBattleSingle[] = { + HELP_TERM_LEVEL, + HELP_TERM_HP, + HELP_TERM_EXP, + HELP_TERM_MOVES, + HELP_TERM_ATTACK, + HELP_TERM_DEFENSE, + HELP_TERM_SPATK, + HELP_TERM_SPDEF, + HELP_TERM_SPEED, + HELP_TERM_TYPE, + HELP_TERM_ABILITY, + HELP_TERM_MOVE_TYPE, + HELP_TERM_PP, + HELP_TERM_POWER, + HELP_TERM_ACCURACY, + HELP_TERM_STATUS_PROBLEM, + HELP_TERM_FNT, + HELP_END +}; + +static const u8 sTypeMatchups_TrainerBattleSingle[] = { + HELP_TYPE_MATCHUPS, + HELP_END +}; + +static const u8 sWhatToDo_TrainerBattleDouble[] = { + HELP_WHATS_A_BATTLE, + HELP_WHAT_ARE_MOVES, + HELP_WHAT_MOVES_SHOULD_I_USE, + HELP_WHAT_IS_A_MONS_VITALITY, + HELP_MY_MONS_ARE_HURT, + HELP_RAN_OUT_OF_POTIONS, + HELP_WANT_TO_MAKE_MON_STRONGER, + HELP_FOE_MONS_TOO_STRONG, + HELP_WHAT_IS_STATUS_PROBLEM, + HELP_WHAT_HAPPENS_IF_ALL_MY_MONS_FAINT, + HELP_END +}; + +static const u8 sHowTo_TrainerBattleDouble[] = { + HELP_USING_FIGHT, + HELP_USING_POKEMON2, + HELP_USING_SHIFT, + HELP_USING_SUMMARY2, + HELP_USING_BAG2, + HELP_USING_AN_ITEM, + HELP_USING_RUN, + HELP_END +}; + +static const u8 sTerms_TrainerBattleDouble[] = { + HELP_TERM_LEVEL, + HELP_TERM_HP, + HELP_TERM_EXP, + HELP_TERM_MOVES, + HELP_TERM_ATTACK, + HELP_TERM_DEFENSE, + HELP_TERM_SPATK, + HELP_TERM_SPDEF, + HELP_TERM_SPEED, + HELP_TERM_TYPE, + HELP_TERM_ABILITY, + HELP_TERM_MOVE_TYPE, + HELP_TERM_PP, + HELP_TERM_POWER, + HELP_TERM_ACCURACY, + HELP_TERM_STATUS_PROBLEM, + HELP_TERM_FNT, + HELP_END +}; + +static const u8 sTypeMatchups_TrainerBattleDouble[] = { + HELP_TYPE_MATCHUPS, + HELP_END +}; + +static const u8 sWhatToDo_SafariBattle[] = { + HELP_WHAT_DO_I_DO_IN_SAFARI, + HELP_WHAT_ARE_SAFARI_RULES, + HELP_WANT_TO_END_SAFARI, + HELP_END +}; + +static const u8 sHowTo_SafariBattle[] = { + HELP_USING_BALL, + HELP_USING_BAIT, + HELP_USING_ROCK, + HELP_USING_RUN, + HELP_END +}; + +static const u8 sTerms_SafariBattle[] = { + HELP_TERM_LEVEL, + HELP_TERM_HP, + HELP_TERM_EXP, + HELP_TERM_MOVES, + HELP_TERM_ATTACK, + HELP_TERM_DEFENSE, + HELP_TERM_SPATK, + HELP_TERM_SPDEF, + HELP_TERM_SPEED, + HELP_TERM_TYPE, + HELP_TERM_ABILITY, + HELP_TERM_MOVE_TYPE, + HELP_TERM_PP, + HELP_TERM_POWER, + HELP_TERM_ACCURACY, + HELP_END +}; + +static const u8 sTypeMatchups_SafariBattle[] = { + HELP_TYPE_MATCHUPS, + HELP_END +}; + +static const u8 sHowTo_PC[] = { + HELP_USING_PC, + HELP_USING_BILLS_PC, + HELP_USING_WITHDRAW, + HELP_USING_DEPOSIT, + HELP_USING_MOVE, + HELP_MOVING_ITEMS, + HELP_USING_PLAYERS_PC, + HELP_USING_WITHDRAW_ITEM, + HELP_USING_DEPOSIT_ITEM, + HELP_USING_MAILBOX, + HELP_USING_PROF_OAKS_PC, + HELP_USING_HALL_OF_FAME, + HELP_END +}; + +static const u8 sHowTo_BillsPC[] = { + HELP_USING_PC, + HELP_USING_BILLS_PC, + HELP_USING_WITHDRAW, + HELP_USING_DEPOSIT, + HELP_USING_MOVE, + HELP_MOVING_ITEMS, + HELP_USING_PLAYERS_PC, + HELP_USING_WITHDRAW_ITEM, + HELP_USING_DEPOSIT_ITEM, + HELP_USING_MAILBOX, + HELP_USING_PROF_OAKS_PC, + HELP_USING_HALL_OF_FAME, + HELP_END +}; + +static const u8 sHowTo_PlayersPCItems[] = { + HELP_USING_PC, + HELP_USING_BILLS_PC, + HELP_USING_WITHDRAW, + HELP_USING_DEPOSIT, + HELP_USING_MOVE, + HELP_MOVING_ITEMS, + HELP_USING_PLAYERS_PC, + HELP_USING_WITHDRAW_ITEM, + HELP_USING_DEPOSIT_ITEM, + HELP_USING_MAILBOX, + HELP_USING_PROF_OAKS_PC, + HELP_USING_HALL_OF_FAME, + HELP_END +}; + +static const u8 sHowTo_PlayersPCMailbox[] = { + HELP_USING_PC, + HELP_USING_BILLS_PC, + HELP_USING_WITHDRAW, + HELP_USING_DEPOSIT, + HELP_USING_MOVE, + HELP_MOVING_ITEMS, + HELP_USING_PLAYERS_PC, + HELP_USING_WITHDRAW_ITEM, + HELP_USING_DEPOSIT_ITEM, + HELP_USING_MAILBOX, + HELP_USING_PROF_OAKS_PC, + HELP_USING_HALL_OF_FAME, + HELP_END +}; + +static const u8 sHowTo_PCMisc[] = { + HELP_USING_PC, + HELP_USING_BILLS_PC, + HELP_USING_WITHDRAW, + HELP_USING_DEPOSIT, + HELP_USING_MOVE, + HELP_MOVING_ITEMS, + HELP_USING_PLAYERS_PC, + HELP_USING_WITHDRAW_ITEM, + HELP_USING_DEPOSIT_ITEM, + HELP_USING_MAILBOX, + HELP_USING_PROF_OAKS_PC, + HELP_USING_HALL_OF_FAME, + HELP_END +}; + +static const u8 sHowTo_BedroomPC[] = { + HELP_USING_HOME_PC, + HELP_USING_ITEM_STORAGE, + HELP_USING_WITHDRAW_ITEM2, + HELP_USING_DEPOSIT_ITEM2, + HELP_USING_MAILBOX2, + HELP_END +}; + +static const u8 sHowTo_BedroomPCItems[] = { + HELP_USING_HOME_PC, + HELP_USING_ITEM_STORAGE, + HELP_USING_WITHDRAW_ITEM2, + HELP_USING_DEPOSIT_ITEM2, + HELP_USING_MAILBOX2, + HELP_END +}; + +static const u8 sHowTo_BedroomPCMailbox[] = { + HELP_USING_HOME_PC, + HELP_USING_ITEM_STORAGE, + HELP_USING_WITHDRAW_ITEM2, + HELP_USING_DEPOSIT_ITEM2, + HELP_USING_MAILBOX2, + HELP_END +}; + +static const u8 sTerms_Basic[] = { + HELP_TERM_LEVEL, + HELP_TERM_HP, + HELP_TERM_EXP, + HELP_TERM_MOVES, + HELP_TERM_TM, + HELP_TERM_HM_MOVE, + HELP_TERM_HM, + HELP_TERM_ATTACK, + HELP_TERM_DEFENSE, + HELP_TERM_SPATK, + HELP_TERM_SPDEF, + HELP_TERM_SPEED, + HELP_TERM_TYPE, + HELP_TERM_OT, + HELP_TERM_ITEM, + HELP_TERM_ABILITY, + HELP_TERM_MOVE_TYPE, + HELP_TERM_NATURE, + HELP_TERM_ID_NO, + HELP_TERM_PP, + HELP_TERM_POWER, + HELP_TERM_ACCURACY, + HELP_TERM_STATUS_PROBLEM, + HELP_TERM_FNT, + HELP_TERM_EVOLUTION, + HELP_TERM_ITEMS, + HELP_TERM_KEYITEMS, + HELP_TERM_POKEBALLS, + HELP_TERM_PLAY_TIME, + HELP_TERM_MONEY, + HELP_TERM_BADGES, + HELP_END +}; + + +// Cant get this to match as a 2D array but it probably should be one, [HELPCONTEXT_COUNT][TOPIC_COUNT - 1] (Excludes TOPIC_EXIT) +static const u8 *const sHelpSystemSubmenuItemLists[HELPCONTEXT_COUNT * (TOPIC_COUNT - 1)] = { + NULL, NULL, NULL, NULL, NULL, // HELPCONTEXT_NONE + NULL, NULL, NULL, sAboutGame_TitleScreen, NULL, // HELPCONTEXT_TITLE_SCREEN + NULL, NULL, NULL, sAboutGame_NewGame, NULL, // HELPCONTEXT_NEW_GAME + NULL, sHowTo_NamingScreen, NULL, sAboutGame_NamingScreen, NULL, // HELPCONTEXT_NAMING_SCREEN + NULL, sHowTo_Pokedex, NULL, NULL, NULL, // HELPCONTEXT_POKEDEX + NULL, sHowTo_PartyMenu, sTerms_PartyMenu, NULL, NULL, // HELPCONTEXT_PARTY_MENU + NULL, sHowTo_PokemonInfo, sTerms_PokemonInfo, NULL, NULL, // HELPCONTEXT_POKEMON_INFO + NULL, NULL, sTerms_PokemonSkills, NULL, NULL, // HELPCONTEXT_POKEMON_SKILLS + NULL, NULL, sTerms_PokemonMoves, NULL, NULL, // HELPCONTEXT_POKEMON_MOVES + NULL, sHowTo_Bag, sTerms_Bag, NULL, NULL, // HELPCONTEXT_BAG + NULL, sHowTo_TrainerCardFront, sTerms_TrainerCardFront, NULL, NULL, // HELPCONTEXT_TRAINER_CARD_FRONT + NULL, sHowTo_TrainerCardBack, NULL, NULL, NULL, // HELPCONTEXT_TRAINER_CARD_BACK + NULL, sHowTo_Save, sTerms_Save, NULL, NULL, // HELPCONTEXT_SAVE + NULL, sHowTo_Options, sTerms_Options, NULL, NULL, // HELPCONTEXT_OPTIONS + sWhatToDo_PlayersHouse, NULL, NULL, sAboutGame_PlayersHouse, NULL, // HELPCONTEXT_PLAYERS_HOUSE + sWhatToDo_OaksLab, sHowTo_OaksLab, sTerms_OaksLab, NULL, NULL, // HELPCONTEXT_OAKS_LAB + sWhatToDo_PokeCenter, sHowTo_PokeCenter, sTerms_PokeCenter, sAboutGame_PokeCenter, NULL, // HELPCONTEXT_POKECENTER + sWhatToDo_Mart, sHowTo_Mart, sTerms_Mart, NULL, NULL, // HELPCONTEXT_MART + sWhatToDo_Gym, sHowTo_Gym, sTerms_Gym, NULL, sTypeMatchups_Gym, // HELPCONTEXT_GYM + sWhatToDo_Indoors, sHowTo_Indoors, sTerms_Indoors, NULL, NULL, // HELPCONTEXT_INDOORS + sWhatToDo_Overworld, sHowTo_Overworld, sTerms_Overworld, NULL, NULL, // HELPCONTEXT_OVERWORLD + sWhatToDo_Dungeon, sHowTo_Dungeon, sTerms_Dungeon, NULL, NULL, // HELPCONTEXT_DUNGEON + sWhatToDo_Surfing, sHowTo_Surfing, sTerms_Surfing, NULL, NULL, // HELPCONTEXT_SURFING + sWhatToDo_WildBattle, sHowTo_WildBattle, sTerms_WildBattle, NULL, sTypeMatchups_WildBattle, // HELPCONTEXT_WILD_BATTLE + sWhatToDo_TrainerBattleSingle, sHowTo_TrainerBattleSingle, sTerms_TrainerBattleSingle, NULL, sTypeMatchups_TrainerBattleSingle, // HELPCONTEXT_TRAINER_BATTLE_SINGLE + sWhatToDo_TrainerBattleDouble, sHowTo_TrainerBattleDouble, sTerms_TrainerBattleDouble, NULL, sTypeMatchups_TrainerBattleDouble, // HELPCONTEXT_TRAINER_BATTLE_DOUBLE + sWhatToDo_SafariBattle, sHowTo_SafariBattle, sTerms_SafariBattle, NULL, sTypeMatchups_SafariBattle, // HELPCONTEXT_SAFARI_BATTLE + NULL, sHowTo_PC, NULL, NULL, NULL, // HELPCONTEXT_PC + NULL, sHowTo_BillsPC, NULL, NULL, NULL, // HELPCONTEXT_BILLS_PC + NULL, sHowTo_PlayersPCItems, NULL, NULL, NULL, // HELPCONTEXT_PLAYERS_PC_ITEMS + NULL, sHowTo_PlayersPCMailbox, NULL, NULL, NULL, // HELPCONTEXT_PLAYERS_PC_MAILBOX + NULL, sHowTo_PCMisc, NULL, NULL, NULL, // HELPCONTEXT_PC_MISC + NULL, sHowTo_BedroomPC, NULL, NULL, NULL, // HELPCONTEXT_BEDROOM_PC + NULL, sHowTo_BedroomPCItems, NULL, NULL, NULL, // HELPCONTEXT_BEDROOM_PC_ITEMS + NULL, sHowTo_BedroomPCMailbox, NULL, NULL, NULL, // HELPCONTEXT_BEDROOM_PC_MAILBOX + NULL, NULL, NULL, NULL, NULL // HELPCONTEXT_UNUSED }; static const u16 unref_845BCB0[] = INCBIN_U16("graphics/help_system/unk_845BCB0.bin"); -static const u8 gUnknown_845C4B0[] = { - 3, 0, 1, 2, 4, 5 +static const u8 sHelpSystemContextTopicOrder[TOPIC_COUNT] = { + TOPIC_ABOUT_GAME, + TOPIC_WHAT_TO_DO, + TOPIC_HOW_TO_DO, + TOPIC_TERMS, + TOPIC_TYPE_MATCHUP, + TOPIC_EXIT }; -static const u8 gUnknown_845C4B6[][6] = { - {0, 0, 0, 0, 0, 1}, - {0, 0, 0, 1, 0, 1}, - {0, 0, 0, 1, 0, 1}, - {0, 1, 0, 1, 0, 1}, - {0, 1, 0, 0, 0, 1}, - {0, 1, 1, 0, 0, 1}, - {0, 1, 1, 0, 0, 1}, - {0, 0, 1, 0, 0, 1}, - {0, 0, 1, 0, 0, 1}, - {0, 1, 1, 0, 0, 1}, - {0, 1, 1, 0, 0, 1}, - {0, 1, 0, 0, 0, 1}, - {0, 1, 1, 0, 0, 1}, - {0, 1, 1, 0, 0, 1}, - {1, 0, 0, 1, 0, 1}, - {1, 1, 1, 0, 0, 1}, - {1, 1, 1, 1, 0, 1}, - {1, 1, 1, 0, 0, 1}, - {1, 1, 1, 0, 1, 1}, - {1, 1, 1, 0, 0, 1}, - {1, 1, 1, 0, 0, 1}, - {1, 1, 1, 0, 0, 1}, - {1, 1, 1, 0, 0, 1}, - {1, 1, 1, 0, 1, 1}, - {1, 1, 1, 0, 1, 1}, - {1, 1, 1, 0, 1, 1}, - {1, 1, 1, 0, 1, 1}, - {0, 1, 0, 0, 0, 1}, - {0, 1, 0, 0, 0, 1}, - {0, 1, 0, 0, 0, 1}, - {0, 1, 0, 0, 0, 1}, - {0, 1, 0, 0, 0, 1}, - {0, 1, 0, 0, 0, 1}, - {0, 1, 0, 0, 0, 1}, - {0, 1, 0, 0, 0, 1}, - {0, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0, 0} +#define CONTEXT_TOPIC_FLAGS(whatToDo, howToDo, terms, aboutGame, typeMatchup, exit) \ + { \ + [TOPIC_WHAT_TO_DO] = whatToDo, \ + [TOPIC_HOW_TO_DO] = howToDo, \ + [TOPIC_TERMS] = terms, \ + [TOPIC_ABOUT_GAME] = aboutGame, \ + [TOPIC_TYPE_MATCHUP] = typeMatchup, \ + [TOPIC_EXIT] = exit \ + } \ + +static const bool8 sHelpSystemContextTopicFlags[HELPCONTEXT_COUNT + 1][TOPIC_COUNT] = { + [HELPCONTEXT_NONE] = CONTEXT_TOPIC_FLAGS(FALSE, FALSE, FALSE, FALSE, FALSE, TRUE), + [HELPCONTEXT_TITLE_SCREEN] = CONTEXT_TOPIC_FLAGS(FALSE, FALSE, FALSE, TRUE, FALSE, TRUE), + [HELPCONTEXT_NEW_GAME] = CONTEXT_TOPIC_FLAGS(FALSE, FALSE, FALSE, TRUE, FALSE, TRUE), + [HELPCONTEXT_NAMING_SCREEN] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, FALSE, TRUE, FALSE, TRUE), + [HELPCONTEXT_POKEDEX] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, FALSE, FALSE, FALSE, TRUE), + [HELPCONTEXT_PARTY_MENU] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, TRUE, FALSE, FALSE, TRUE), + [HELPCONTEXT_POKEMON_INFO] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, TRUE, FALSE, FALSE, TRUE), + [HELPCONTEXT_POKEMON_SKILLS] = CONTEXT_TOPIC_FLAGS(FALSE, FALSE, TRUE, FALSE, FALSE, TRUE), + [HELPCONTEXT_POKEMON_MOVES] = CONTEXT_TOPIC_FLAGS(FALSE, FALSE, TRUE, FALSE, FALSE, TRUE), + [HELPCONTEXT_BAG] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, TRUE, FALSE, FALSE, TRUE), + [HELPCONTEXT_TRAINER_CARD_FRONT] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, TRUE, FALSE, FALSE, TRUE), + [HELPCONTEXT_TRAINER_CARD_BACK] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, FALSE, FALSE, FALSE, TRUE), + [HELPCONTEXT_SAVE] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, TRUE, FALSE, FALSE, TRUE), + [HELPCONTEXT_OPTIONS] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, TRUE, FALSE, FALSE, TRUE), + [HELPCONTEXT_PLAYERS_HOUSE] = CONTEXT_TOPIC_FLAGS( TRUE, FALSE, FALSE, TRUE, FALSE, TRUE), + [HELPCONTEXT_OAKS_LAB] = CONTEXT_TOPIC_FLAGS( TRUE, TRUE, TRUE, FALSE, FALSE, TRUE), + [HELPCONTEXT_POKECENTER] = CONTEXT_TOPIC_FLAGS( TRUE, TRUE, TRUE, TRUE, FALSE, TRUE), + [HELPCONTEXT_MART] = CONTEXT_TOPIC_FLAGS( TRUE, TRUE, TRUE, FALSE, FALSE, TRUE), + [HELPCONTEXT_GYM] = CONTEXT_TOPIC_FLAGS( TRUE, TRUE, TRUE, FALSE, TRUE, TRUE), + [HELPCONTEXT_INDOORS] = CONTEXT_TOPIC_FLAGS( TRUE, TRUE, TRUE, FALSE, FALSE, TRUE), + [HELPCONTEXT_OVERWORLD] = CONTEXT_TOPIC_FLAGS( TRUE, TRUE, TRUE, FALSE, FALSE, TRUE), + [HELPCONTEXT_DUNGEON] = CONTEXT_TOPIC_FLAGS( TRUE, TRUE, TRUE, FALSE, FALSE, TRUE), + [HELPCONTEXT_SURFING] = CONTEXT_TOPIC_FLAGS( TRUE, TRUE, TRUE, FALSE, FALSE, TRUE), + [HELPCONTEXT_WILD_BATTLE] = CONTEXT_TOPIC_FLAGS( TRUE, TRUE, TRUE, FALSE, TRUE, TRUE), + [HELPCONTEXT_TRAINER_BATTLE_SINGLE] = CONTEXT_TOPIC_FLAGS( TRUE, TRUE, TRUE, FALSE, TRUE, TRUE), + [HELPCONTEXT_TRAINER_BATTLE_DOUBLE] = CONTEXT_TOPIC_FLAGS( TRUE, TRUE, TRUE, FALSE, TRUE, TRUE), + [HELPCONTEXT_SAFARI_BATTLE] = CONTEXT_TOPIC_FLAGS( TRUE, TRUE, TRUE, FALSE, TRUE, TRUE), + [HELPCONTEXT_PC] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, FALSE, FALSE, FALSE, TRUE), + [HELPCONTEXT_BILLS_PC] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, FALSE, FALSE, FALSE, TRUE), + [HELPCONTEXT_PLAYERS_PC_ITEMS] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, FALSE, FALSE, FALSE, TRUE), + [HELPCONTEXT_PLAYERS_PC_MAILBOX] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, FALSE, FALSE, FALSE, TRUE), + [HELPCONTEXT_PC_MISC] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, FALSE, FALSE, FALSE, TRUE), + [HELPCONTEXT_BEDROOM_PC] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, FALSE, FALSE, FALSE, TRUE), + [HELPCONTEXT_BEDROOM_PC_ITEMS] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, FALSE, FALSE, FALSE, TRUE), + [HELPCONTEXT_BEDROOM_PC_MAILBOX] = CONTEXT_TOPIC_FLAGS(FALSE, TRUE, FALSE, FALSE, FALSE, TRUE), + [HELPCONTEXT_UNUSED] = {}, + [HELPCONTEXT_COUNT] = {} }; static const u16 sMartMaps[] = { @@ -878,41 +1744,45 @@ static const u8 sDungeonMaps[][3] = { { MAP_GROUP(SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER), MAP_NUM(SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER), 7 } }; -void HelpSystem_SetSomeVariable(u8 a0) +void SetHelpContextDontCheckBattle(u8 contextId) { - sSomeVariable = a0; + sHelpSystemContextId = contextId; } -void HelpSystem_SetSomeVariable2(u8 a0) +void SetHelpContext(u8 contextId) { - switch (sSomeVariable) + switch (sHelpSystemContextId) { - case 23: - case 24: - case 25: - case 26: - if (a0 == 9 || a0 == 5 || a0 == 6 || a0 == 7 || a0 == 8) + case HELPCONTEXT_WILD_BATTLE: + case HELPCONTEXT_TRAINER_BATTLE_SINGLE: + case HELPCONTEXT_TRAINER_BATTLE_DOUBLE: + case HELPCONTEXT_SAFARI_BATTLE: + if (contextId == HELPCONTEXT_BAG + || contextId == HELPCONTEXT_PARTY_MENU + || contextId == HELPCONTEXT_POKEMON_INFO + || contextId == HELPCONTEXT_POKEMON_SKILLS + || contextId == HELPCONTEXT_POKEMON_MOVES) break; // fallthrough default: - sSomeVariable = a0; + sHelpSystemContextId = contextId; break; } } -void Special_SetSomeVariable(void) +void Script_SetHelpContext(void) { - sSomeVariable = gSpecialVar_0x8004; + sHelpSystemContextId = gSpecialVar_0x8004; } -void HelpSystem_BackupSomeVariable(void) +void BackupHelpContext(void) { - gSomeVariableBackup = sSomeVariable; + gHelpContextIdBackup = sHelpSystemContextId; } -void HelpSystem_RestoreSomeVariable(void) +void RestoreHelpContext(void) { - sSomeVariable = gSomeVariableBackup; + sHelpSystemContextId = gHelpContextIdBackup; } static bool32 IsInMartMap(void) @@ -943,7 +1813,7 @@ static bool8 IsInDungeonMap(void) { u8 i, j; - for (i = 0; i < 16; i++) + for (i = 0; i < NELEMS(sDungeonMaps); i++) { for (j = 0; j < sDungeonMaps[i][2]; j++) { @@ -959,42 +1829,52 @@ static bool8 IsInDungeonMap(void) return FALSE; } -void sub_812B35C(void) +#define IN_PLAYERS_HOUSE \ + ((gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(PALLET_TOWN_PLAYERS_HOUSE_1F) \ + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(PALLET_TOWN_PLAYERS_HOUSE_1F)) \ + || (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(PALLET_TOWN_PLAYERS_HOUSE_2F) \ + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(PALLET_TOWN_PLAYERS_HOUSE_2F))) \ + + #define IN_OAKS_LAB \ + (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(PALLET_TOWN_PROFESSOR_OAKS_LAB) \ + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(PALLET_TOWN_PROFESSOR_OAKS_LAB)) \ + +void SetHelpContextForMap(void) { - sub_812B4B8(); + HelpSystem_EnableToggleWithRButton(); if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) - HelpSystem_SetSomeVariable2(0x16); + SetHelpContext(HELPCONTEXT_SURFING); else if (IsInDungeonMap()) - HelpSystem_SetSomeVariable2(0x15); - else if (is_light_level_8_or_9(gMapHeader.mapType)) + SetHelpContext(HELPCONTEXT_DUNGEON); + else if (IsMapTypeIndoors(gMapHeader.mapType)) { - if ((gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(PALLET_TOWN_PLAYERS_HOUSE_1F) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(PALLET_TOWN_PLAYERS_HOUSE_1F)) || (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(PALLET_TOWN_PLAYERS_HOUSE_2F) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(PALLET_TOWN_PLAYERS_HOUSE_2F))) - HelpSystem_SetSomeVariable2(0x0E); - else if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(PALLET_TOWN_PROFESSOR_OAKS_LAB) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(PALLET_TOWN_PROFESSOR_OAKS_LAB)) - HelpSystem_SetSomeVariable2(0x0F); + if (IN_PLAYERS_HOUSE) + SetHelpContext(HELPCONTEXT_PLAYERS_HOUSE); + else if (IN_OAKS_LAB) + SetHelpContext(HELPCONTEXT_OAKS_LAB); else if (IsCurMapPokeCenter() == TRUE) - HelpSystem_SetSomeVariable2(0x10); + SetHelpContext(HELPCONTEXT_POKECENTER); else if (IsInMartMap() == TRUE) - HelpSystem_SetSomeVariable2(0x11); + SetHelpContext(HELPCONTEXT_MART); else if (IsInGymMap() == TRUE) - HelpSystem_SetSomeVariable2(0x12); + SetHelpContext(HELPCONTEXT_GYM); else - HelpSystem_SetSomeVariable2(0x13); + SetHelpContext(HELPCONTEXT_INDOORS); } else - HelpSystem_SetSomeVariable2(0x14); + SetHelpContext(HELPCONTEXT_OVERWORLD); } -bool8 sub_812B40C(void) +bool8 HelpSystem_UpdateHasntSeenIntro(void) { - if (gUnknown_203B0EE == 1) + if (sSeenHelpSystemIntro == TRUE) return FALSE; if (gSaveFileStatus != SAVE_STATUS_EMPTY && gSaveFileStatus != SAVE_STATUS_INVALID && FlagGet(FLAG_SYS_SAW_HELP_SYSTEM_INTRO)) return FALSE; FlagSet(FLAG_SYS_SAW_HELP_SYSTEM_INTRO); - gUnknown_203B0EE = 1; + sSeenHelpSystemIntro = TRUE; return TRUE; } @@ -1015,323 +1895,326 @@ void HelpSystem_Enable(void) if (gQuestLogState != 2 && gQuestLogState != 3) { gHelpSystemEnabled = TRUE; - sub_812B4B8(); + HelpSystem_EnableToggleWithRButton(); } } -void sub_812B4AC(void) +void HelpSystem_DisableToggleWithRButton(void) { - gUnknown_203F175 = 1; + gHelpSystemToggleWithRButtonDisabled = TRUE; } -void sub_812B4B8(void) +void HelpSystem_EnableToggleWithRButton(void) { - gUnknown_203F175 = 0; + gHelpSystemToggleWithRButtonDisabled = FALSE; } -static void sub_812B4C4(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) +static void ResetHelpSystemListMenu(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer) { - a0->sub.items = a1; - a0->sub.totalItems = 1; - a0->sub.maxShowed = 1; - a0->sub.left = 1; - a0->sub.top = 4; + helpListMenu->sub.items = listMenuItemsBuffer; + helpListMenu->sub.totalItems = 1; + helpListMenu->sub.maxShowed = 1; + helpListMenu->sub.left = 1; + helpListMenu->sub.top = 4; } -static void sub_812B4D8(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) +static void BuildAndPrintMainTopicsListMenu(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer) { - sub_812B4C4(a0, a1); - sub_812B520(a0, a1); - sub_812BF74(gUnknown_841DFAC); - HelpSystem_InitListMenuController(a0, 0, gUnknown_3005E9C[2]); - sub_812BF9C(a0, a1); + ResetHelpSystemListMenu(helpListMenu, listMenuItemsBuffer); + BuildMainTopicsListAndMoveToH00(helpListMenu, listMenuItemsBuffer); + PrintTextOnPanel2Row52RightAlign(gUnknown_841DFAC); + HelpSystem_InitListMenuController(helpListMenu, 0, gHelpSystemState[2]); + PrintHelpSystemTopicMouseoverDescription(helpListMenu, listMenuItemsBuffer); sub_813BDA4(1); sub_813BD5C(1); } -static void sub_812B520(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) +static void BuildMainTopicsListAndMoveToH00(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer) { u8 i; - u8 r4 = 0; - for (i = 0; i < 6; i++) + u8 totalItems = 0; + for (i = 0; i < TOPIC_COUNT; i++) { - if (gUnknown_845C4B6[sSomeVariable][gUnknown_845C4B0[i]] == 1) + if (sHelpSystemContextTopicFlags[sHelpSystemContextId][sHelpSystemContextTopicOrder[i]] == TRUE) { - a1[r4].label = gUnknown_845B080[gUnknown_845C4B0[i]]; - a1[r4].index = gUnknown_845C4B0[i]; - r4++; + listMenuItemsBuffer[totalItems].label = sHelpSystemTopicPtrs[sHelpSystemContextTopicOrder[i]]; + listMenuItemsBuffer[totalItems].index = sHelpSystemContextTopicOrder[i]; + totalItems++; } } - a1[r4 - 1].index = -2; - a0->sub.totalItems = r4; - a0->sub.maxShowed = r4; - a0->sub.left = 0; + listMenuItemsBuffer[totalItems - 1].index = -2; + helpListMenu->sub.totalItems = totalItems; + helpListMenu->sub.maxShowed = totalItems; + helpListMenu->sub.left = 0; } -static void sub_812B5A8(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) +static void BuildAndPrintSubmenuList(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer) { sub_813BDE8(0); sub_813BFC0(0); sub_813BE78(1); - sub_812B4C4(a0, a1); - sub_812B614(a0, a1); - sub_812BF74(gUnknown_841DFC9); - HelpSystem_InitListMenuController(a0, a0->field_0C, a0->field_0D); - HelpSystem_PrintTextAt(gUnknown_845B080[gUnknown_3005E9C[1]], 0, 0); + ResetHelpSystemListMenu(helpListMenu, listMenuItemsBuffer); + SetHelpSystemSubmenuItems(helpListMenu, listMenuItemsBuffer); + PrintTextOnPanel2Row52RightAlign(gUnknown_841DFC9); + HelpSystem_InitListMenuController(helpListMenu, helpListMenu->itemsAbove, helpListMenu->cursorPos); + HelpSystem_PrintTextAt(sHelpSystemTopicPtrs[gHelpSystemState[1]], 0, 0); sub_813BDA4(1); sub_813BD5C(1); } -static void sub_812B614(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) +static void SetHelpSystemSubmenuItems(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer) { - u8 r6 = 0; - const u8 * r3 = gUnknown_845B9E0[sSomeVariable * 5 + gUnknown_3005E9C[1]]; + u8 totalItems = 0; + const u8 * submenuItems = sHelpSystemSubmenuItemLists[sHelpSystemContextId * 5 + gHelpSystemState[1]]; // accessing as 2D array u8 i; - for (i = 0; r3[i] != 0xFF; i++) + for (i = 0; submenuItems[i] != HELP_END; i++) { - if (sub_812B780(r3[i]) == TRUE) + if (IsHelpSystemSubmenuEnabled(submenuItems[i]) == TRUE) { - if (gUnknown_3005E9C[1] == 0) - a1[r6].label = gUnknown_845B0B0[r3[i]]; - else if (gUnknown_3005E9C[1] == 1) - a1[r6].label = gUnknown_845B218[r3[i]]; - else if (gUnknown_3005E9C[1] == 2) - a1[r6].label = gUnknown_845B3A0[r3[i]]; - else if (gUnknown_3005E9C[1] == 3) - a1[r6].label = gUnknown_845B500[r3[i]]; - else - a1[r6].label = gUnknown_845B540[r3[i]]; - a1[r6].index = r3[i]; - r6++; + if (gHelpSystemState[1] == TOPIC_WHAT_TO_DO) + listMenuItemsBuffer[totalItems].label = sHelpSystemSpecializedQuestionTextPtrs[submenuItems[i]]; + else if (gHelpSystemState[1] == TOPIC_HOW_TO_DO) + listMenuItemsBuffer[totalItems].label = sHelpSystemMenuTopicTextPtrs[submenuItems[i]]; + else if (gHelpSystemState[1] == TOPIC_TERMS) + listMenuItemsBuffer[totalItems].label = sHelpSystemTermTextPtrs[submenuItems[i]]; + else if (gHelpSystemState[1] == TOPIC_ABOUT_GAME) + listMenuItemsBuffer[totalItems].label = sHelpSystemGeneralTopicTextPtrs[submenuItems[i]]; + else // TOPIC_TYPE_MATCHUP + listMenuItemsBuffer[totalItems].label = sHelpSystemTypeMatchupTextPtrs[submenuItems[i]]; + listMenuItemsBuffer[totalItems].index = submenuItems[i]; + totalItems++; } } - if (sub_812B754() == TRUE) + if (HelpSystem_ShouldShowBasicTerms() == TRUE) { - for (i = 0, r3 = gUnknown_845B9BE; r3[i] != 0xFF; i++) + for (i = 0, submenuItems = sTerms_Basic; submenuItems[i] != HELP_END; i++) { - a1[r6].label = gUnknown_845B3A0[r3[i]]; - a1[r6].index = r3[i]; - r6++; + listMenuItemsBuffer[totalItems].label = sHelpSystemTermTextPtrs[submenuItems[i]]; + listMenuItemsBuffer[totalItems].index = submenuItems[i]; + totalItems++; } } - a1[r6].label = gUnknown_81B2E6F; - a1[r6].index = -2; - r6++; - a0->sub.totalItems = r6; - a0->sub.maxShowed = 7; - a0->sub.left = 0; - a0->sub.top = 21; + listMenuItemsBuffer[totalItems].label = Help_Text_Cancel; + listMenuItemsBuffer[totalItems].index = -2; + totalItems++; + helpListMenu->sub.totalItems = totalItems; + helpListMenu->sub.maxShowed = 7; + helpListMenu->sub.left = 0; + helpListMenu->sub.top = 21; } -static bool8 sub_812B754(void) +static bool8 HelpSystem_ShouldShowBasicTerms(void) { - if (FlagGet(FLAG_DEFEATED_BROCK) == TRUE && gUnknown_3005E9C[1] == 2) + if (FlagGet(FLAG_DEFEATED_BROCK) == TRUE && gHelpSystemState[1] == TOPIC_TERMS) return TRUE; return FALSE; } -static bool8 sub_812B780(u8 id) +static bool8 IsHelpSystemSubmenuEnabled(u8 id) { u8 i = 0; - if (gUnknown_3005E9C[1] == 0) + if (gHelpSystemState[1] == TOPIC_WHAT_TO_DO) { switch (id) { - case 1: - case 2: - case 3: - case 5: - case 8: - case 34: - case 38: - case 41: - case 42: - case 43: + case HELP_PLAYING_FOR_FIRST_TIME: + case HELP_WHAT_SHOULD_I_BE_DOING: + case HELP_CANT_GET_OUT_OF_ROOM: + case HELP_TALKED_TO_EVERYONE_NOW_WHAT: + case HELP_OUT_OF_THINGS_TO_DO: + case HELP_NOTHING_I_WANT_TO_KNOW: + case HELP_WHATS_A_MON: + case HELP_WHAT_DO_I_DO_IN_SAFARI: + case HELP_WHAT_ARE_SAFARI_RULES: + case HELP_WANT_TO_END_SAFARI: return TRUE; - case 4: + case HELP_CANT_FIND_PERSON_I_WANT: return FlagGet(FLAG_VISITED_OAKS_LAB); - case 6: - case 10: - case 16: - case 19: - case 22: - case 35: - case 36: + case HELP_SOMEONE_BLOCKING_MY_WAY: + case HELP_WHAT_ARE_MY_ADVENTURE_BASICS: + case HELP_HOW_DO_I_PREPARE_FOR_BATTLE: + case HELP_WHAT_IS_STATUS_PROBLEM: + case HELP_RAN_OUT_OF_POTIONS: + case HELP_WHATS_POKEMON_CENTER: + case HELP_WHATS_POKEMON_MART: return FlagGet(FLAG_WORLD_MAP_VIRIDIAN_CITY); - case 7: + case HELP_I_CANT_GO_ON: return FlagGet(FLAG_WORLD_MAP_VERMILION_CITY); - case 11: - case 24: + case HELP_HOW_ARE_ROADS_FORESTS_DIFFERENT: + case HELP_WHATS_A_TRAINER: return FlagGet(FLAG_WORLD_MAP_VIRIDIAN_FOREST); - case 9: - case 13: - case 14: - case 15: - case 17: - case 18: - case 20: - case 26: - case 29: - case 31: - case 37: + case HELP_WHAT_HAPPENED_TO_ITEM_I_GOT: + case HELP_WHEN_CAN_I_USE_ITEM: + case HELP_HOW_DO_I_PROGRESS: + case HELP_WHATS_A_BATTLE: + case HELP_WHAT_IS_A_MONS_VITALITY: + case HELP_MY_MONS_ARE_HURT: + case HELP_WHAT_HAPPENS_IF_ALL_MY_MONS_FAINT: + case HELP_WHERE_DO_MONS_APPEAR: + case HELP_WHAT_MOVES_SHOULD_I_USE: + case HELP_WANT_TO_MAKE_MON_STRONGER: + case HELP_WANT_TO_END_GAME: return FlagGet(FLAG_SYS_POKEMON_GET); - case 21: - case 23: + case HELP_CANT_CATCH_MONS: + case HELP_CAN_I_BUY_POKEBALLS: return FlagGet(FLAG_SYS_POKEDEX_GET); - case 12: - case 25: - case 27: - case 30: - case 32: - case 33: + case HELP_HOW_ARE_CAVES_DIFFERENT: + case HELP_WHAT_DO_I_DO_IN_CAVE: + case HELP_HOW_DO_I_WIN_AGAINST_TRAINER: + case HELP_FOE_MONS_TOO_STRONG: + case HELP_WHAT_ARE_MOVES: + case HELP_WANT_TO_ADD_MORE_MOVES: return FlagGet(FLAG_BADGE01_GET); - case 28: - case 40: - return sub_812BB10(); - case 39: + case HELP_WHAT_ARE_HIDDEN_MOVES: + case HELP_WHAT_DOES_HIDDEN_MOVE_DO: + return HasGottenAtLeastOneHM(); + case HELP_WHAT_IS_THAT_PERSON_LIKE: return FlagGet(FLAG_GOT_FAME_CHECKER); - case 44: + case HELP_WHAT_IS_A_GYM: return FlagGet(FLAG_WORLD_MAP_PEWTER_CITY); } return FALSE; } - if (gUnknown_3005E9C[1] == 1) + if (gHelpSystemState[1] == TOPIC_HOW_TO_DO) { switch (id) { - case 06: - case 10: - case 11: - case 12: - case 19: - case 20: - case 21: - case 22: - case 23: - case 24: - case 25: - case 26: - case 27: - case 28: - case 29: - case 31: - case 36: - case 38: - case 39: - case 40: - case 41: - case 42: - case 45: - case 46: - case 47: + case HELP_USING_BAG: + case HELP_USING_PLAYER: + case HELP_USING_SAVE: + case HELP_USING_OPTION: + case HELP_ENTERING_NAME: + case HELP_USING_PC: + case HELP_USING_BILLS_PC: + case HELP_USING_WITHDRAW: + case HELP_USING_DEPOSIT: + case HELP_USING_MOVE: + case HELP_MOVING_ITEMS: + case HELP_USING_PLAYERS_PC: + case HELP_USING_WITHDRAW_ITEM: + case HELP_USING_DEPOSIT_ITEM: + case HELP_USING_MAILBOX: + case HELP_OPENING_MENU: + case HELP_USING_BAG2: + case HELP_USING_HOME_PC: + case HELP_USING_ITEM_STORAGE: + case HELP_USING_WITHDRAW_ITEM2: + case HELP_USING_DEPOSIT_ITEM2: + case HELP_USING_MAILBOX2: + case HELP_USING_BALL: + case HELP_USING_BAIT: + case HELP_USING_ROCK: return TRUE; - case 1: - case 30: - case 37: + case HELP_USING_POKEDEX: + case HELP_USING_PROF_OAKS_PC: + case HELP_READING_POKEDEX: return FlagGet(FLAG_SYS_POKEDEX_GET); - case 14: + case HELP_USING_TOWN_MAP: return CheckBagHasItem(ITEM_TOWN_MAP, 1); - case 2: - case 3: - case 5: - case 7: - case 8: - case 9: - case 13: - case 32: - case 33: - case 35: - case 43: - case 44: + case HELP_USING_POKEMON: + case HELP_USING_SUMMARY: + case HELP_USING_ITEM: + case HELP_USING_AN_ITEM: + case HELP_USING_KEYITEM: + case HELP_USING_POKEBALL: + case HELP_USING_POTION: + case HELP_USING_FIGHT: + case HELP_USING_POKEMON2: + case HELP_USING_SUMMARY2: + case HELP_USING_RUN: + case HELP_REGISTER_KEY_ITEM: return FlagGet(FLAG_SYS_POKEMON_GET); - case 4: - case 34: + case HELP_USING_SWITCH: + case HELP_USING_SHIFT: + // Only show if player has caught mon after starter if (GetKantoPokedexCount(1) > 1) return TRUE; return FALSE; - case 15: + case HELP_USING_TM: return FlagGet(FLAG_BADGE01_GET); - case 16: - case 17: - return sub_812BB10(); - case 18: + case HELP_USING_HM: + case HELP_USING_MOVE_OUTSIDE_OF_BATTLE: + return HasGottenAtLeastOneHM(); + case HELP_RIDING_BICYCLE: return FlagGet(FLAG_GOT_BICYCLE); - case 48: + case HELP_USING_HALL_OF_FAME: return FlagGet(FLAG_SYS_GAME_CLEAR); } return FALSE; } - if (gUnknown_3005E9C[1] == 2) + if (gHelpSystemState[1] == TOPIC_TERMS) { - if (sub_812B754() == TRUE) + if (HelpSystem_ShouldShowBasicTerms() == TRUE) { - for (i = 0; gUnknown_845B9BE[i] != 0xFF; i++) + // After defeating Brock, all basic terms are added + // This checks to make sure they arent added twice + for (i = 0; sTerms_Basic[i] != HELP_END; i++) { - if (gUnknown_845B9BE[i] == id) + if (sTerms_Basic[i] == id) return FALSE; } } switch (id) { - case 14: - case 17: - case 22: - case 23: - case 24: - case 25: - case 26: - case 27: - case 28: - case 29: - case 30: - case 31: - case 32: - case 33: - case 34: - case 35: - case 38: + case HELP_TERM_MONEY: + case HELP_TERM_ID_NO: + case HELP_TERM_ITEMS: + case HELP_TERM_KEYITEMS: + case HELP_TERM_POKEBALLS: + case HELP_TERM_POKEDEX: + case HELP_TERM_PLAY_TIME: + case HELP_TERM_BADGES: + case HELP_TERM_TEXT_SPEED: + case HELP_TERM_BATTLE_SCENE: + case HELP_TERM_BATTLE_STYLE: + case HELP_TERM_SOUND: + case HELP_TERM_BUTTON_MODE: + case HELP_TERM_FRAME: + case HELP_TERM_CANCEL: + case HELP_TERM_TM: + case HELP_TERM_EVOLUTION: return TRUE; - case 1: - case 2: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 11: - case 12: - case 13: - case 16: - case 19: - case 20: - case 21: + case HELP_TERM_HP: + case HELP_TERM_EXP: + case HELP_TERM_ATTACK: + case HELP_TERM_DEFENSE: + case HELP_TERM_SPATK: + case HELP_TERM_SPDEF: + case HELP_TERM_SPEED: + case HELP_TERM_LEVEL: + case HELP_TERM_TYPE: + case HELP_TERM_OT: + case HELP_TERM_ITEM: + case HELP_TERM_ABILITY: + case HELP_TERM_NATURE: + case HELP_TERM_POWER: + case HELP_TERM_ACCURACY: + case HELP_TERM_FNT: return FlagGet(FLAG_SYS_POKEMON_GET); - case 36: - case 37: - return sub_812BB10(); - case 3: - case 15: - case 18: - case 39: + case HELP_TERM_HM: + case HELP_TERM_HM_MOVE: + return HasGottenAtLeastOneHM(); + case HELP_TERM_MOVES: + case HELP_TERM_MOVE_TYPE: + case HELP_TERM_PP: + case HELP_TERM_STATUS_PROBLEM: return FlagGet(FLAG_WORLD_MAP_VIRIDIAN_FOREST); } return TRUE; } - if (gUnknown_3005E9C[1] == 3) + if (gHelpSystemState[1] == TOPIC_ABOUT_GAME) { switch (id) { - case 5: + case HELP_GAME_FUNDAMENTALS_2: return FlagGet(FLAG_BADGE01_GET); - case 6: + case HELP_GAME_FUNDAMENTALS_3: return FlagGet(FLAG_BADGE02_GET); } return TRUE; } - if (gUnknown_3005E9C[1] == 4) + if (gHelpSystemState[1] == TOPIC_TYPE_MATCHUP) { return TRUE; } @@ -1339,7 +2222,7 @@ static bool8 sub_812B780(u8 id) return FALSE; } -static bool8 sub_812BB10(void) +static bool8 HasGottenAtLeastOneHM(void) { if (FlagGet(FLAG_GOT_HM01) == TRUE) return TRUE; @@ -1358,117 +2241,117 @@ static bool8 sub_812BB10(void) return FALSE; } -bool8 sub_812BB9C(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) +bool8 RunHelpMenuSubroutine(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer) { - switch (a0->field_0E) + switch (helpListMenu->state) { case 8: - return sub_812BC54(a0, a1); + return HelpSystemSubroutine_PrintWelcomeMessage(helpListMenu, listMenuItemsBuffer); case 9: - return sub_812BC80(a0, a1); + return HelpSystemSubroutine_WelcomeWaitButton(helpListMenu, listMenuItemsBuffer); case 10: - return sub_812BCA8(a0, a1); + return HelpSystemSubroutine_WelcomeEndGotoMenu(helpListMenu, listMenuItemsBuffer); case 0: - return sub_812BCD0(a0, a1); + return HelpSystemSubroutine_MenuInputHandlerMain(helpListMenu, listMenuItemsBuffer); case 1: - return sub_812BD2C(a0, a1); + return HelpMenuSubroutine_InitSubmenu(helpListMenu, listMenuItemsBuffer); case 2: - return sub_812BD64(a0, a1); + return HelpMenuSubroutine_ReturnFromSubmenu(helpListMenu, listMenuItemsBuffer); case 3: - return sub_812BD98(a0, a1); + return HelpMenuSubroutine_SubmenuInputHandler(helpListMenu, listMenuItemsBuffer); case 4: - return sub_812BE10(a0, a1); + return HelpMenuSubroutine_HelpItemPrint(helpListMenu, listMenuItemsBuffer); case 5: - return sub_812BEEC(a0, a1); + return HelpMenuSubroutine_ReturnFromHelpItem(helpListMenu, listMenuItemsBuffer); case 6: - return sub_812BF18(a0, a1); + return HelpMenuSubroutine_HelpItemWaitButton(helpListMenu, listMenuItemsBuffer); } return FALSE; } -bool8 sub_812BC54(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) +bool8 HelpSystemSubroutine_PrintWelcomeMessage(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer) { - sub_812BF74(gUnknown_841DFA5); - sub_812BF5C(); + PrintTextOnPanel2Row52RightAlign(gUnknown_841DFA5); + PrintWelcomeMessageOnPanel1(); sub_813BDA4(1); sub_813BD5C(1); - a0->field_0E = 9; + helpListMenu->state = 9; return TRUE; } -bool8 sub_812BC80(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) +bool8 HelpSystemSubroutine_WelcomeWaitButton(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer) { if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); - a0->field_0E = 10; + helpListMenu->state = 10; } return TRUE; } -bool8 sub_812BCA8(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) +bool8 HelpSystemSubroutine_WelcomeEndGotoMenu(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer) { - gUnknown_3005E9C[2] = 0; - sub_812BF94(a0); - sub_812B4D8(a0, a1); - a0->field_0E = 0; + gHelpSystemState[2] = 0; + ResetHelpSystemCursor(helpListMenu); + BuildAndPrintMainTopicsListMenu(helpListMenu, listMenuItemsBuffer); + helpListMenu->state = 0; return TRUE; } -bool8 sub_812BCD0(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) +bool8 HelpSystemSubroutine_MenuInputHandlerMain(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer) { - s32 v0 = HelpSystem_GetMenuInput(); - switch (v0) + s32 input = HelpSystem_GetMenuInput(); + switch (input) { case -6: case -2: return FALSE; case -5: case -4: - sub_812BF9C(a0, a1); + PrintHelpSystemTopicMouseoverDescription(helpListMenu, listMenuItemsBuffer); break; case -3: case -1: break; default: - gUnknown_3005E9C[1] = v0; - a0->field_0E = 1; + gHelpSystemState[1] = input; + helpListMenu->state = 1; break; } return TRUE; } -bool8 sub_812BD2C(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) +bool8 HelpMenuSubroutine_InitSubmenu(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer) { - gUnknown_3005E9C[0] = 1; - gUnknown_3005E9C[2] = a0->field_0D; - sub_812BF94(a0); - sub_812B5A8(a0, a1); + gHelpSystemState[0] = 1; + gHelpSystemState[2] = helpListMenu->cursorPos; + ResetHelpSystemCursor(helpListMenu); + BuildAndPrintSubmenuList(helpListMenu, listMenuItemsBuffer); sub_813C75C(); HelpSystem_SetInputDelay(2); - a0->field_0E = 3; + helpListMenu->state = 3; return TRUE; } -bool8 sub_812BD64(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) +bool8 HelpMenuSubroutine_ReturnFromSubmenu(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer) { sub_813C004(0, 0); sub_813C004(1, 0); - gUnknown_3005E9C[0] = 0; - sub_812B4D8(a0, a1); - a0->field_0E = 0; + gHelpSystemState[0] = 0; + BuildAndPrintMainTopicsListMenu(helpListMenu, listMenuItemsBuffer); + helpListMenu->state = 0; return TRUE; } -bool8 sub_812BD98(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) +bool8 HelpMenuSubroutine_SubmenuInputHandler(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer) { - s32 v0 = HelpSystem_GetMenuInput(); - switch (v0) + s32 input = HelpSystem_GetMenuInput(); + switch (input) { case -6: return FALSE; case -2: - a0->field_0E = 2; + helpListMenu->state = 2; break; case -5: case -4: @@ -1476,69 +2359,69 @@ bool8 sub_812BD98(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) case -1: break; default: - gUnknown_3005E9C[3] = v0; - a0->field_0E = 4; + gHelpSystemState[3] = input; + helpListMenu->state = 4; break; } return TRUE; } -void sub_812BDEC(void) +void HelpSystem_PrintTopicLabel(void) { - HelpSystem_PrintTextAt(gUnknown_845B080[gUnknown_3005E9C[1]], 0, 0); + HelpSystem_PrintTextAt(sHelpSystemTopicPtrs[gHelpSystemState[1]], 0, 0); } -bool8 sub_812BE10(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) +bool8 HelpMenuSubroutine_HelpItemPrint(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer) { - gUnknown_3005E9C[0] = 2; + gHelpSystemState[0] = 2; sub_813BDA4(0); HelpSystem_FillPanel1(); - sub_812BF74(gUnknown_841DFBE); + PrintTextOnPanel2Row52RightAlign(gUnknown_841DFBE); sub_813BDE8(1); sub_813BEE4(1); - if (gUnknown_3005E9C[1] == 0) + if (gHelpSystemState[1] == TOPIC_WHAT_TO_DO) { - HelpSystem_PrintTwoStrings(gUnknown_845B0B0[gUnknown_3005E9C[3]], gUnknown_845B164[gUnknown_3005E9C[3]]); + HelpSystem_PrintTwoStrings(sHelpSystemSpecializedQuestionTextPtrs[gHelpSystemState[3]], sHelpSystemSpecializedAnswerTextPtrs[gHelpSystemState[3]]); } - else if (gUnknown_3005E9C[1] == 1) + else if (gHelpSystemState[1] == TOPIC_HOW_TO_DO) { - HelpSystem_PrintTwoStrings(gUnknown_845B218[gUnknown_3005E9C[3]], gUnknown_845B2DC[gUnknown_3005E9C[3]]); + HelpSystem_PrintTwoStrings(sHelpSystemMenuTopicTextPtrs[gHelpSystemState[3]], sHelpSystemHowToUseMenuTextPtrs[gHelpSystemState[3]]); } - else if (gUnknown_3005E9C[1] == 2) + else if (gHelpSystemState[1] == TOPIC_TERMS) { - HelpSystem_PrintTwoStrings(gUnknown_845B3A0[gUnknown_3005E9C[3]], gUnknown_845B450[gUnknown_3005E9C[3]]); + HelpSystem_PrintTwoStrings(sHelpSystemTermTextPtrs[gHelpSystemState[3]], sHelpSystemTermDefinitionsTextPtrs[gHelpSystemState[3]]); } - else if (gUnknown_3005E9C[1] == 3) + else if (gHelpSystemState[1] == TOPIC_ABOUT_GAME) { - HelpSystem_PrintTwoStrings(gUnknown_845B500[gUnknown_3005E9C[3]], gUnknown_845B520[gUnknown_3005E9C[3]]); + HelpSystem_PrintTwoStrings(sHelpSystemGeneralTopicTextPtrs[gHelpSystemState[3]], sHelpSystemGeneralTopicDescriptionTextPtrs[gHelpSystemState[3]]); } - else + else // TOPIC_TYPE_MATCHUP { - HelpSystem_PrintTwoStrings(gUnknown_845B540[gUnknown_3005E9C[3]], gUnknown_845B5D0[gUnknown_3005E9C[3]]); + HelpSystem_PrintTwoStrings(sHelpSystemTypeMatchupTextPtrs[gHelpSystemState[3]], sHelpSystemTypeMatchupDescriptionTextPtrs[gHelpSystemState[3]]); } sub_813BDA4(1); sub_813BD5C(1); - a0->field_0E = 6; + helpListMenu->state = 6; return TRUE; } -bool8 sub_812BEEC(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) +bool8 HelpMenuSubroutine_ReturnFromHelpItem(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer) { - gUnknown_3005E9C[0] = 1; - sub_812B5A8(a0, a1); + gHelpSystemState[0] = 1; + BuildAndPrintSubmenuList(helpListMenu, listMenuItemsBuffer); sub_813C75C(); HelpSystem_SetInputDelay(2); - a0->field_0E = 3; + helpListMenu->state = 3; return TRUE; } -bool8 sub_812BF18(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) +bool8 HelpMenuSubroutine_HelpItemWaitButton(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer) { if (JOY_NEW(B_BUTTON) || JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); - a0->field_0E = 5; + helpListMenu->state = 5; return TRUE; } if (JOY_NEW(L_BUTTON | R_BUTTON)) @@ -1546,13 +2429,13 @@ bool8 sub_812BF18(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) return TRUE; } -static void sub_812BF5C(void) +static void PrintWelcomeMessageOnPanel1(void) { HelpSystem_FillPanel1(); - HelpSystem_PrintTextAt(gUnknown_81B2FC9, 0, 0); + HelpSystem_PrintTextAt(Help_Text_Greetings, 0, 0); } -static void sub_812BF74(const u8 * str) +static void PrintTextOnPanel2Row52RightAlign(const u8 * str) { HelpSystem_FillPanel2(); HelpSystem_PrintTextRightAlign_Row52(str); @@ -1560,21 +2443,21 @@ static void sub_812BF74(const u8 * str) u8 sub_812BF88(void) { - return gUnknown_3005E9C[0]; + return gHelpSystemState[0]; } -static void sub_812BF94(struct HelpSystemListMenu * a0) +static void ResetHelpSystemCursor(struct HelpSystemListMenu * helpListMenu) { - a0->field_0C = 0; - a0->field_0D = 0; + helpListMenu->itemsAbove = 0; + helpListMenu->cursorPos = 0; } -static void sub_812BF9C(struct HelpSystemListMenu * a0, struct ListMenuItem * a1) +static void PrintHelpSystemTopicMouseoverDescription(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer) { - s32 index = a1[a0->field_0C + a0->field_0D].index; + s32 index = listMenuItemsBuffer[helpListMenu->itemsAbove + helpListMenu->cursorPos].index; if (index == -2) - HelpSystem_PrintText_813C584(gUnknown_845B098[5]); + HelpSystem_PrintText_813C584(sHelpSystemTopicMouseoverDescriptionPtrs[5]); else - HelpSystem_PrintText_813C584(gUnknown_845B098[index]); + HelpSystem_PrintText_813C584(sHelpSystemTopicMouseoverDescriptionPtrs[index]); sub_813BE30(1); } diff --git a/src/hof_pc.c b/src/hof_pc.c index 76fd06abf..173625774 100644 --- a/src/hof_pc.c +++ b/src/hof_pc.c @@ -5,7 +5,6 @@ #include "script.h" #include "script_menu.h" #include "task.h" -#include "hall_of_fame.h" #include "bg.h" #include "window.h" @@ -40,7 +39,7 @@ static void ReshowPCMenuAfterHallOfFamePC(void) { ScriptContext2_Enable(); Overworld_PlaySpecialMapMusic(); - ScrSpecial_CreatePCMenu(); + CreatePCMenu(); ScriptMenu_DisplayPCStartupPrompt(); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); CreateTask(Task_WaitForPaletteFade, 10); diff --git a/src/ice.c b/src/ice.c index 4ed6e0ece..6843538f9 100644 --- a/src/ice.c +++ b/src/ice.c @@ -1,10 +1,8 @@ #include "global.h" #include "battle_anim.h" #include "bg.h" -#include "field_weather.h" #include "gpu_regs.h" #include "graphics.h" -#include "main.h" #include "palette.h" #include "random.h" #include "sprite.h" diff --git a/src/intro.c b/src/intro.c index cee1c8fec..837d4f905 100644 --- a/src/intro.c +++ b/src/intro.c @@ -1431,7 +1431,7 @@ static void sub_80EDB70(struct IntroSequenceData * this) { this->field_0018->pos1.x += this->field_0018->pos2.x; this->field_0018->pos1.y += this->field_0018->pos2.y; - sub_8007FFC(this->field_0018, 0, 0x2A); + obj_pos2_update_enable(this->field_0018, 0, 0x2A); this->field_0018->callback = SpriteCallbackDummy; StartSpriteAffineAnim(this->field_0018, 1); } @@ -1448,7 +1448,7 @@ static void sub_80EDBAC(struct IntroSequenceData * this) { StartSpriteAffineAnim(this->field_0028[i], 1); this->field_0028[i]->callback = nullsub_83; - sub_8007FFC(this->field_0028[i], gUnknown_840BBB8[i][0], gUnknown_840BBB8[i][1]); + obj_pos2_update_enable(this->field_0028[i], gUnknown_840BBB8[i][0], gUnknown_840BBB8[i][1]); } } diff --git a/src/item.c b/src/item.c index d1f732b4d..296ba8ec7 100644 --- a/src/item.c +++ b/src/item.c @@ -12,6 +12,8 @@ #include "constants/items.h" #include "constants/maps.h" +EWRAM_DATA struct BagPocket gBagPockets[NUM_BAG_POCKETS] = {}; + void SortAndCompactBagPocket(struct BagPocket * pocket); // Item descriptions and data diff --git a/src/item_menu.c b/src/item_menu.c index ffba2eae9..4131e7fd5 100644 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -5,7 +5,7 @@ #include "berry_pouch.h" #include "decompress.h" #include "event_scripts.h" -#include "event_object_80688E4.h" +#include "event_object_movement.h" #include "field_player_avatar.h" #include "graphics.h" #include "help_system.h" @@ -496,9 +496,9 @@ static bool8 LoadBagMenuGraphics(void) break; case 19: if (gBagMenuState.location == ITEMMENULOCATION_ITEMPC) - HelpSystem_SetSomeVariable2(29); + SetHelpContext(HELPCONTEXT_PLAYERS_PC_ITEMS); else - HelpSystem_SetSomeVariable2(9); + SetHelpContext(HELPCONTEXT_BAG); gPaletteFade.bufferTransferDisabled = FALSE; gMain.state++; break; @@ -740,7 +740,7 @@ static void bag_menu_print_cursor(u8 y, u8 colorIdx) } else { - BagPrintTextOnWindow(0, 2, gFameCheckerText_ListMenuCursor, 1, y, 0, 0, 0, colorIdx); + BagPrintTextOnWindow(0, 2, gText_SelectorArrow2, 1, y, 0, 0, 0, colorIdx); } } @@ -1434,7 +1434,7 @@ static void OpenContextMenu(u8 taskId) Menu_InitCursor(r6, 2, 0, 2, GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT) + 2, sContextMenuNumItems, 0); r4 = ShowBagWindow(6, 0); CopyItemName(gSpecialVar_ItemId, gStringVar1); - StringExpandPlaceholders(gStringVar4, gOtherText_StrVar1); + StringExpandPlaceholders(gStringVar4, gText_Var1IsSelected); BagPrintTextOnWindow(r4, 2, gStringVar4, 0, 2, 1, 0, 0, 1); } diff --git a/src/item_pc.c b/src/item_pc.c index 7c7abdce3..46419f2f3 100644 --- a/src/item_pc.c +++ b/src/item_pc.c @@ -361,7 +361,7 @@ static bool8 ItemPc_DoGfxSetup(void) gMain.state++; break; case 17: - HelpSystem_SetSomeVariable2(29); + SetHelpContext(HELPCONTEXT_PLAYERS_PC_ITEMS); gMain.state++; break; case 18: @@ -577,7 +577,7 @@ static void ItemPc_PrintOrRemoveCursorAt(u8 y, u8 colorIdx) } else { - ItemPc_AddTextPrinterParameterized(0, 2, gFameCheckerText_ListMenuCursor, 0, y, 0, 0, 0, colorIdx); + ItemPc_AddTextPrinterParameterized(0, 2, gText_SelectorArrow2, 0, y, 0, 0, 0, colorIdx); } } @@ -848,7 +848,7 @@ static void Task_ItemPcSubmenuInit(u8 taskId) PrintTextArray(4, 2, 8, 2, GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT) + 2, 3, sItemPcSubmenuOptions); Menu_InitCursor(4, 2, 0, 2, GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT) + 2, 3, 0); CopyItemName(ItemPc_GetItemIdBySlotId(data[1]), gStringVar1); - StringExpandPlaceholders(gStringVar4, gOtherText_StrVar1); + StringExpandPlaceholders(gStringVar4, gText_Var1IsSelected); ItemPc_AddTextPrinterParameterized(windowId, 2, gStringVar4, 0, 2, 1, 0, 0, 1); ScheduleBgCopyTilemapToVram(0); gTasks[taskId].func = Task_ItemPcSubmenuRun; diff --git a/src/item_use.c b/src/item_use.c index 57771754a..6f81ee0e3 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -19,7 +19,6 @@ #include "mail.h" #include "main.h" #include "malloc.h" -#include "event_object_80688E4.h" #include "event_object_lock.h" #include "metatile_behavior.h" #include "new_menu_helpers.h" @@ -42,7 +41,7 @@ #include "constants/maps.h" #include "constants/moves.h" #include "constants/songs.h" -#include "constants/map_types.h" +#include "constants/field_weather.h" static EWRAM_DATA void (*sItemUseOnFieldCB)(u8 taskId) = NULL; @@ -172,7 +171,7 @@ static void sub_80A103C(u8 taskId) static void sub_80A1084(void) { - sub_807DC00(); + FadeInFromBlack(); CreateTask(sub_80A109C, 8); } @@ -225,7 +224,7 @@ static bool8 sub_80A1194(void) { FreezeObjectEvents(); ScriptContext2_Enable(); - sub_807DC00(); + FadeInFromBlack(); CreateTask(sub_80A11C0, 10); gUnknown_2031DE0 = 0; return TRUE; @@ -458,7 +457,7 @@ void FieldUseFunc_TmCase(u8 taskId) else { StopPokemonLeagueLightingEffectTask(); - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].func = Task_InitTMCaseFromField; } } @@ -489,7 +488,7 @@ void FieldUseFunc_BerryPouch(u8 taskId) else { StopPokemonLeagueLightingEffectTask(); - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].func = Task_InitBerryPouchFromField; } } @@ -532,7 +531,7 @@ void FieldUseFunc_TeachyTv(u8 taskId) else { StopPokemonLeagueLightingEffectTask(); - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].func = Task_InitTeachyTvFromField; } } @@ -648,7 +647,7 @@ static void sub_80A1C08(u8 taskId) void sub_80A1C44(u8 taskId) { ResetInitialPlayerAvatarState(); - sub_8085620(); + StartEscapeRopeFieldEffect(); DestroyTask(taskId); } @@ -662,7 +661,7 @@ void FieldUseFunc_TownMap(u8 taskId) else { StopPokemonLeagueLightingEffectTask(); - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].func = sub_80A1CC0; } } @@ -694,7 +693,7 @@ void FieldUseFunc_FameChecker(u8 taskId) else { StopPokemonLeagueLightingEffectTask(); - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].func = sub_80A1D68; } } diff --git a/src/itemfinder.c b/src/itemfinder.c index 370fce841..5d6950acc 100644 --- a/src/itemfinder.c +++ b/src/itemfinder.c @@ -10,7 +10,6 @@ #include "field_player_avatar.h" #include "field_specials.h" #include "fieldmap.h" -#include "itemfinder.h" #include "constants/songs.h" static void Task_NoResponse_CleanUp(u8 taskId); diff --git a/src/keyboard_text.c b/src/keyboard_text.c new file mode 100644 index 000000000..5db1a6aaa --- /dev/null +++ b/src/keyboard_text.c @@ -0,0 +1,61 @@ +#include "global.h" + +// easy_chat_3 +const u8 gUnknown_847A8D8[] = _("{CLEAR 11}A{CLEAR 6}B{CLEAR 6}C{CLEAR 26}D{CLEAR 6}E{CLEAR 6}F{CLEAR 26}others"); +const u8 gUnknown_847A8FA[] = _("{CLEAR 11}G{CLEAR 6}H{CLEAR 6}I{CLEAR 26}J{CLEAR 6}K{CLEAR 6}L"); +const u8 gUnknown_847A913[] = _("{CLEAR 11}M{CLEAR 6}N{CLEAR 6}O{CLEAR 26}P{CLEAR 6}Q{CLEAR 6}R{CLEAR 6}S{CLEAR 26} "); +const u8 gUnknown_847A934[] = _("{CLEAR 11}T{CLEAR 6}U{CLEAR 6}V{CLEAR 26}W{CLEAR 6}X{CLEAR 6}Y{CLEAR 6}Z{CLEAR 26} "); + +// naming_screen +const u8 gText_NamingScreenKeyboard_abcdef[] = _("{CLEAR 11}a{CLEAR 6}b{CLEAR 6}c{CLEAR 26}d{CLEAR 6}e{CLEAR 6}f{CLEAR 6} {CLEAR 26}."); +const u8 gText_NamingScreenKeyboard_ghijkl[] = _("{CLEAR 11}g{CLEAR 6}h{CLEAR 7}i{CLEAR 27}j{CLEAR 6}k{CLEAR 6}l{CLEAR 7} {CLEAR 26},"); +const u8 gText_NamingScreenKeyboard_mnopqrs[] = _("{CLEAR 11}m{CLEAR 6}n{CLEAR 7}o{CLEAR 26}p{CLEAR 6}q{CLEAR 7}r{CLEAR 6}s{CLEAR 27} "); +const u8 gText_NamingScreenKeyboard_tuvwxyz[] = _("{CLEAR 12}t{CLEAR 6}u{CLEAR 6}v{CLEAR 26}w{CLEAR 6}x{CLEAR 6}y{CLEAR 6}z{CLEAR 26} "); +const u8 gText_NamingScreenKeyboard_ABCDEF[] = _("{CLEAR 11}A{CLEAR 6}B{CLEAR 6}C{CLEAR 26}D{CLEAR 6}E{CLEAR 6}F{CLEAR 6} {CLEAR 26}."); +const u8 gText_NamingScreenKeyboard_GHIJKL[] = _("{CLEAR 11}G{CLEAR 6}H{CLEAR 6}I{CLEAR 26}J{CLEAR 6}K{CLEAR 6}L{CLEAR 6} {CLEAR 26},"); +const u8 gText_NamingScreenKeyboard_MNOPQRS[] = _("{CLEAR 11}M{CLEAR 6}N{CLEAR 6}O{CLEAR 26}P{CLEAR 6}Q{CLEAR 6}R{CLEAR 6}S{CLEAR 26} "); +const u8 gText_NamingScreenKeyboard_TUVWXYZ[] = _("{CLEAR 11}T{CLEAR 6}U{CLEAR 6}V{CLEAR 26}W{CLEAR 6}X{CLEAR 6}Y{CLEAR 6}Z{CLEAR 26} "); +const u8 gText_NamingScreenKeyboard_01234[] = _("{CLEAR 11}0{CLEAR 16}1{CLEAR 16}2{CLEAR 16}3{CLEAR 16}4{CLEAR 16} "); +const u8 gText_NamingScreenKeyboard_56789[] = _("{CLEAR 11}5{CLEAR 16}6{CLEAR 16}7{CLEAR 16}8{CLEAR 16}9{CLEAR 16} "); +const u8 gText_NamingScreenKeyboard_Symbols1[] = _("{CLEAR 11}!{CLEAR 16}?{CLEAR 16}♂{CLEAR 16}♀{CLEAR 16}/{CLEAR 16}-"); +const u8 gText_NamingScreenKeyboard_Symbols2[] = _("{CLEAR 11}…{CLEAR 16}“{CLEAR 16}”{CLEAR 18}‘{CLEAR 18}'{CLEAR 18} "); + +// union_room_chat +const u8 gText_UnionRoomChatKeyboard_ABCDE[] = _("ABCDE"); +const u8 gText_UnionRoomChatKeyboard_FGHIJ[] = _("FGHIJ"); +const u8 gText_UnionRoomChatKeyboard_KLMNO[] = _("KLMNO"); +const u8 gText_UnionRoomChatKeyboard_PQRST[] = _("PQRST"); +const u8 gText_UnionRoomChatKeyboard_UVWXY[] = _("UVWXY"); +const u8 gText_UnionRoomChatKeyboard_Z[] = _("Z "); +const u8 gText_UnionRoomChatKeyboard_01234Upper[] = _("01234"); +const u8 gText_UnionRoomChatKeyboard_56789Upper[] = _("56789"); +const u8 gText_UnionRoomChatKeyboard_PunctuationUpper[] = _(".,!? "); +const u8 gText_UnionRoomChatKeyboard_SymbolsUpper[] = _("-/&… "); +const u8 gText_UnionRoomChatKeyboard_abcde[] = _("abcde"); +const u8 gText_UnionRoomChatKeyboard_fghij[] = _("fghij"); +const u8 gText_UnionRoomChatKeyboard_klmno[] = _("klmno"); +const u8 gText_UnionRoomChatKeyboard_pqrst[] = _("pqrst"); +const u8 gText_UnionRoomChatKeyboard_uvwxy[] = _("uvwxy"); +const u8 gText_UnionRoomChatKeyboard_z[] = _("z "); +const u8 gText_UnionRoomChatKeyboard_01234Lower[] = _("01234"); +const u8 gText_UnionRoomChatKeyboard_56789Lower[] = _("56789"); +const u8 gText_UnionRoomChatKeyboard_PunctuationLower[] = _(".,!? "); +const u8 gText_UnionRoomChatKeyboard_SymbolsLower[] = _("-/&… "); +const u8 gText_BlankString_847AB39[] = _(""); +const u8 gText_BlankString_847AB3A[] = _(""); +const u8 gText_BlankString_847AB3B[] = _(""); +const u8 gText_BlankString_847AB3C[] = _(""); +const u8 gText_BlankString_847AB3D[] = _(""); +const u8 gText_BlankString_847AB3E[] = _(""); +const u8 gText_BlankString_847AB3F[] = _(""); +const u8 gText_BlankString_847AB40[] = _(""); +const u8 gText_UnionRoomChatKeyboard_Emoji1[] = _("{EXTRA 245}{EXTRA 246}{EXTRA 247}{EXTRA 248}{EXTRA 254}"); +const u8 gText_UnionRoomChatKeyboard_Emoji2[] = _("{EXTRA 249}{EXTRA 250}{EXTRA 252}{EXTRA 251}{EXTRA 253}"); +const u8 gText_UnionRoomChatKeyboard_Emoji3[] = _("{EXTRA 236}{EXTRA 237}{EXTRA 238}{EXTRA 235}{EXTRA 234}"); +const u8 gText_UnionRoomChatKeyboard_Emoji4[] = _("♂♀{EXTRA 212}{EXTRA 213}{EXTRA 211}"); +const u8 gText_UnionRoomChatKeyboard_Emoji5[] = _("{EXTRA 216}{EXTRA 217}{EXTRA 242}{EXTRA 243}{EXTRA 244}"); +const u8 gText_UnionRoomChatKeyboard_Emoji6[] = _("{EXTRA 218}{EXTRA 241}{EXTRA 224}{EXTRA 226}{EXTRA 227}"); +const u8 gText_UnionRoomChatKeyboard_Emoji7[] = _("{EXTRA 240}{EXTRA 239}{EXTRA 225}{EXTRA 214}{EXTRA 215}"); +const u8 gText_UnionRoomChatKeyboard_Emoji8[] = _("{EXTRA 228}{EXTRA 229}{EXTRA 230}{EXTRA 231}{EXTRA 232}"); +const u8 gText_UnionRoomChatKeyboard_Emoji9[] = _("{EXTRA 233}{EXTRA 220}{EXTRA 221}{EXTRA 222}{EXTRA 209}"); +const u8 gText_UnionRoomChatKeyboard_Emoji10[] = _("{EXTRA 210}{EXTRA 208}ょ: "); diff --git a/src/learn_move.c b/src/learn_move.c index e22922528..8a2f5781b 100644 --- a/src/learn_move.c +++ b/src/learn_move.c @@ -309,7 +309,7 @@ static void MoveRelearnerLoadBgGfx(void) FillBgTilemapBufferRect(0, 0x000, 0, 0, 30, 20, 0xF); SetBgTilemapBuffer(1, sMoveRelearner->bg1TilemapBuffer); TextWindow_SetUserSelectedFrame(0, 1, 0xE0); - sub_8107D38(0xD0, 1); + ListMenuLoadStdPalAt(0xD0, 1); LoadPalette(gUnknown_8E97DDC, 0x00, 0x20); DecompressAndLoadBgGfxUsingHeap(1, gUnknown_8E97DFC, 0, 0, 0); CopyToBgTilemapBuffer(1, gUnknown_8E97EC4, 0, 0); diff --git a/src/librfu_intr.c b/src/librfu_intr.c new file mode 100644 index 000000000..23962a937 --- /dev/null +++ b/src/librfu_intr.c @@ -0,0 +1,402 @@ +#include "global.h" +#include "librfu.h" + +static void sio32intr_clock_master(void); +static void sio32intr_clock_slave(void); +static u16 handshake_wait(u16 slot); +static void STWI_set_timer_in_RAM(u8 count); +static void STWI_stop_timer_in_RAM(void); +static void STWI_init_slave(void); +static void Callback_Dummy_M(int reqCommandId, int error, void (*callbackM)()); +static void Callback_Dummy_S(u16 reqCommandId, void (*callbackS)(u16)); +static void Callback_Dummy_ID(void (*callbackId)(void)); + +void IntrSIO32(void) +{ + if (gSTWIStatus->state == 10) + { + if (gSTWIStatus->callbackID != NULL) + Callback_Dummy_ID(gSTWIStatus->callbackID); + } + else + { + if (gSTWIStatus->msMode == AGB_CLK_MASTER) + sio32intr_clock_master(); + else + sio32intr_clock_slave(); + } +} + +static void sio32intr_clock_master(void) +{ + u32 regSIODATA32; + u32 ackLen; + + STWI_set_timer_in_RAM(80); + regSIODATA32 = REG_SIODATA32; + + if (gSTWIStatus->state == 0) // master send req + { + if (regSIODATA32 == 0x80000000) + { + if (gSTWIStatus->reqNext <= gSTWIStatus->reqLength) + { + REG_SIODATA32 = ((u32*)gSTWIStatus->txPacket->rfuPacket8.data)[gSTWIStatus->reqNext]; + gSTWIStatus->reqNext++; + } + else + { + gSTWIStatus->state = 1; // master wait ack + REG_SIODATA32 = 0x80000000; + } + } + else + { + STWI_stop_timer_in_RAM(); + STWI_set_timer_in_RAM(130); + return; + } + } + else if (gSTWIStatus->state == 1) // master wait ack + { + if ((regSIODATA32 & 0xFFFF0000) == 0x99660000) + { + gSTWIStatus->ackNext = 0; + ((u32*)gSTWIStatus->rxPacket)[gSTWIStatus->ackNext] = regSIODATA32; + gSTWIStatus->ackNext++; + gSTWIStatus->ackActiveCommand = regSIODATA32; + gSTWIStatus->ackLength = ackLen = regSIODATA32 >> 8; + if ((ackLen = gSTWIStatus->ackLength) >= gSTWIStatus->ackNext) + { + gSTWIStatus->state = 2; // master receive ack + REG_SIODATA32 = 0x80000000; + } + else + { + gSTWIStatus->state = 3; // master done ack + } + } + else + { + STWI_stop_timer_in_RAM(); + STWI_set_timer_in_RAM(130); + return; + } + } + else if (gSTWIStatus->state == 2) // master receive ack + { + ((u32*)gSTWIStatus->rxPacket)[gSTWIStatus->ackNext] = regSIODATA32; + gSTWIStatus->ackNext++; + if (gSTWIStatus->ackLength < gSTWIStatus->ackNext) + gSTWIStatus->state = 3; // master done ack + else + REG_SIODATA32 = 0x80000000; + } + + if (handshake_wait(1) == 1) + return; + + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_115200_BPS | SIO_MULTI_SD; + + if (handshake_wait(0) == 1) + return; + + STWI_stop_timer_in_RAM(); + + if (gSTWIStatus->state == 3) // master done ack + { + if ( + gSTWIStatus->ackActiveCommand == (0x80 | ID_MS_CHANGE_REQ) + || gSTWIStatus->ackActiveCommand == (0x80 | ID_DATA_TX_AND_CHANGE_REQ) + || gSTWIStatus->ackActiveCommand == (0x80 | ID_UNK35_REQ) + || gSTWIStatus->ackActiveCommand == (0x80 | ID_RESUME_RETRANSMIT_AND_CHANGE_REQ) + ) + { + + gSTWIStatus->msMode = AGB_CLK_SLAVE; + REG_SIODATA32 = 0x80000000; + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_57600_BPS; + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_57600_BPS | SIO_ENABLE; + gSTWIStatus->state = 5; // slave receive req init + } + else + { + if (gSTWIStatus->ackActiveCommand == 0xEE) + { + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_115200_BPS; + gSTWIStatus->state = 4; // error + gSTWIStatus->error = ERR_REQ_CMD_ACK_REJECTION; + } + else + { + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_115200_BPS; + gSTWIStatus->state = 4; // error + } + } + gSTWIStatus->sending = 0; + if (gSTWIStatus->callbackM != NULL) + Callback_Dummy_M(gSTWIStatus->reqActiveCommand, gSTWIStatus->error, gSTWIStatus->callbackM); + } + else + { + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_115200_BPS; + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_115200_BPS | SIO_ENABLE; + } +} + +static void sio32intr_clock_slave(void) +{ + u32 regSIODATA32; + u32 r0; + register u32 reqLen asm("r2"); + + gSTWIStatus->timerActive = 0; + STWI_set_timer_in_RAM(100); + if (handshake_wait(0) == 1) + return; + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_57600_BPS | SIO_MULTI_SD; + regSIODATA32 = REG_SIODATA32; + if (gSTWIStatus->state == 5) // slave receive req init + { + ((u32*)gSTWIStatus->rxPacket)[0] = regSIODATA32; + gSTWIStatus->reqNext = 1; + r0 = 0x99660000; + if ((regSIODATA32 >> 16) == (r0 >> 16)) + { + gSTWIStatus->reqLength = reqLen = regSIODATA32 >> 8; + gSTWIStatus->reqActiveCommand = regSIODATA32; + if (gSTWIStatus->reqLength == 0) + { + if ( + gSTWIStatus->reqActiveCommand == ID_MS_CHANGE_REQ + || gSTWIStatus->reqActiveCommand == ID_DATA_READY_AND_CHANGE_REQ + || gSTWIStatus->reqActiveCommand == ID_DISCONNECTED_AND_CHANGE_REQ + || gSTWIStatus->reqActiveCommand == ID_UNK36_REQ + ) + { + gSTWIStatus->ackActiveCommand = gSTWIStatus->reqActiveCommand + 0x80; + ((u32*)gSTWIStatus->txPacket)[0] = 0x99660000 + gSTWIStatus->ackActiveCommand; + gSTWIStatus->ackLength = 0; + } + else + { + ((u32*)gSTWIStatus->txPacket)[0] = 0x996601EE; + if (gSTWIStatus->reqActiveCommand >= 0x10 && gSTWIStatus->reqActiveCommand <= 0x3D) + { + ((u32*)gSTWIStatus->txPacket)[1] = 1; + } + else + { + ((u32*)gSTWIStatus->txPacket)[1] = 2; + } + gSTWIStatus->ackLength = 1; + gSTWIStatus->error = ERR_REQ_CMD_ACK_REJECTION; + } + REG_SIODATA32 = ((u32*)gSTWIStatus->txPacket)[0]; + gSTWIStatus->ackNext = 1; + gSTWIStatus->state = 7; // slave send ack + } + else + { + REG_SIODATA32 = 0x80000000; + gSTWIStatus->reqNext = 1; + gSTWIStatus->state = 6; // slave receive req + } + } + else + { + STWI_stop_timer_in_RAM(); + STWI_set_timer_in_RAM(100); + return; + } + } + else if (gSTWIStatus->state == 6) // slave receive req + { + ((u32*)gSTWIStatus->rxPacket)[gSTWIStatus->reqNext] = regSIODATA32; + gSTWIStatus->reqNext++; + if (gSTWIStatus->reqLength < gSTWIStatus->reqNext) + { + if ( + gSTWIStatus->reqActiveCommand == ID_DATA_READY_AND_CHANGE_REQ + || gSTWIStatus->reqActiveCommand == ID_DISCONNECTED_AND_CHANGE_REQ + || gSTWIStatus->reqActiveCommand == ID_UNK36_REQ + ) + { + gSTWIStatus->ackActiveCommand = gSTWIStatus->reqActiveCommand + 0x80; + ((u32*)gSTWIStatus->txPacket)[0] = 0x99660000 | gSTWIStatus->ackActiveCommand; + gSTWIStatus->ackLength = 0; + } + else + { + ((u32*)gSTWIStatus->txPacket)[0] = 0x996601EE; + if (gSTWIStatus->reqActiveCommand >= 0x10 && gSTWIStatus->reqActiveCommand <= 0x3D) + { + ((u32*)gSTWIStatus->txPacket)[1] = 1; + } + else + { + ((u32*)gSTWIStatus->txPacket)[1] = 2; + } + gSTWIStatus->ackLength = 1; + gSTWIStatus->error = ERR_REQ_CMD_ACK_REJECTION; + } + REG_SIODATA32 = ((u32*)gSTWIStatus->txPacket)[0]; + gSTWIStatus->ackNext = 1; + gSTWIStatus->state = 7; // slave send ack + } + else + { + REG_SIODATA32 = 0x80000000; + } + } + else if (gSTWIStatus->state == 7) // slave send ack + { + if (regSIODATA32 == 0x80000000) + { + if (gSTWIStatus->ackLength < gSTWIStatus->ackNext) + { + gSTWIStatus->state = 8; // slave done ack + } + else + { + REG_SIODATA32 = ((u32*)gSTWIStatus->txPacket)[gSTWIStatus->ackNext]; + gSTWIStatus->ackNext++; + } + } + else + { + STWI_stop_timer_in_RAM(); + STWI_set_timer_in_RAM(100); + return; + } + } + if (handshake_wait(1) == 1) + return; + if (gSTWIStatus->state == 8) // slave done ack + { + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_57600_BPS; + STWI_stop_timer_in_RAM(); + if (gSTWIStatus->error == ERR_REQ_CMD_ACK_REJECTION) + { + STWI_init_slave(); + if (gSTWIStatus->callbackS != NULL) + { + Callback_Dummy_S(0x1EE, gSTWIStatus->callbackS); + } + } + else + { + REG_SIODATA32 = 0; + REG_SIOCNT = 0; + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_115200_BPS; + gSTWIStatus->msMode = AGB_CLK_MASTER; + gSTWIStatus->state = 0; // master send req + if (gSTWIStatus->callbackS != NULL) + { + Callback_Dummy_S((gSTWIStatus->reqLength << 8) | (gSTWIStatus->reqActiveCommand), gSTWIStatus->callbackS); + } + } + } + else + { + REG_IME = 0; + if (REG_TM0CNT_H & TIMER_ENABLE) + { + if ((REG_TM0CNT_H & 0x03) == TIMER_1CLK) + { + while (REG_TM0CNT_L > 0xFF9B); + } + else + { + while (REG_TM0CNT_L > 0xFFFE); + } + } + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_57600_BPS; + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_57600_BPS | SIO_ENABLE; + REG_IME = 1; + } +} + +static u16 handshake_wait(u16 slot) +{ + do + { + if ((gSTWIStatus->timerActive & 0xFF) == 1) + { + gSTWIStatus->timerActive = 0; + return 1; + } + } while ((REG_SIOCNT & SIO_MULTI_SI) != (slot << SIO_MULTI_SI_SHIFT)); + return 0; +} + +static void STWI_set_timer_in_RAM(u8 count) +{ + vu16* regTMCNTL = (vu16*)(REG_ADDR_TMCNT_L + gSTWIStatus->timerSelect * 4); + vu16* regTMCNTH = (vu16*)(REG_ADDR_TMCNT_H + gSTWIStatus->timerSelect * 4); + REG_IME = 0; + switch (count) + { + case 50: + *regTMCNTL = 0xFCCB; + gSTWIStatus->timerState = 1; + break; + case 80: + *regTMCNTL = 0xFAE0; + gSTWIStatus->timerState = 2; + break; + case 100: + *regTMCNTL = 0xF996; + gSTWIStatus->timerState = 3; + break; + case 130: + *regTMCNTL = 0xF7AD; + gSTWIStatus->timerState = 4; + break; + } + *regTMCNTH = TIMER_ENABLE | TIMER_64CLK | TIMER_256CLK | TIMER_INTR_ENABLE; + REG_IF = INTR_FLAG_TIMER0 << gSTWIStatus->timerSelect; + REG_IME = 1; +} + +static void STWI_stop_timer_in_RAM(void) +{ + gSTWIStatus->timerState = 0; + REG_TMCNT_L(gSTWIStatus->timerSelect) = 0; + REG_TMCNT_H(gSTWIStatus->timerSelect) = 0; +} + +static void STWI_init_slave(void) +{ + gSTWIStatus->state = 5; // slave receive req init + gSTWIStatus->msMode = AGB_CLK_SLAVE; + gSTWIStatus->reqLength = 0; + gSTWIStatus->reqNext = 0; + gSTWIStatus->reqActiveCommand = 0; + gSTWIStatus->ackLength = 0; + gSTWIStatus->ackNext = 0; + gSTWIStatus->ackActiveCommand = 0; + gSTWIStatus->timerState = 0; + gSTWIStatus->timerActive = 0; + gSTWIStatus->error = 0; + gSTWIStatus->recoveryCount = 0; + REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_57600_BPS | SIO_ENABLE; +} + +NAKED +static void Callback_Dummy_M(int reqCommandId, int error, void (*callbackM)()) +{ + asm("bx r2"); +} + +NAKED +static void Callback_Dummy_S(u16 reqCommandId, void (*callbackS)(u16)) +{ + asm("bx r1"); +} + +NAKED +static void Callback_Dummy_ID(void (*callbackId)(void)) +{ + asm("bx r0"); +} diff --git a/src/librfu_rfu.c b/src/librfu_rfu.c index dccd342f2..582060f78 100644 --- a/src/librfu_rfu.c +++ b/src/librfu_rfu.c @@ -2,54 +2,54 @@ struct LLSFStruct { - u8 unk00; - u8 unk01; - u8 unk02; - u8 unk03; - u8 unk04; - u8 unk05; - u8 unk06; - u8 unk07; - u8 unk08; - u8 unk09; - u8 unk0A; - u8 unk0B; - u8 unk0C; - u16 unk0E; + u8 frameSize; + u8 recvFirstShift; + u8 connSlotFlagShift; + u8 slotStateShift; + u8 ackShift; + u8 phaseShit; + u8 nShift; + u8 recvFirstMask; + u8 connSlotFlagMask; + u8 slotStateMask; + u8 ackMask; + u8 phaseMask; + u8 nMask; + u16 framesMask; }; struct RfuLocalStruct { - u8 unk00; - u8 unk01; - u8 unk02; - u8 unk03; - u8 unk04; - u8 unk05; - u16 unk06; + u8 recvFirst; + u8 connSlotFlag; + u8 slotState; + u8 ack; + u8 phase; + u8 n; + u16 frame; }; -static void rfu_CB_defaultCallback(u8, u16); -static void rfu_CB_reset(u8, u16); -static void rfu_CB_configGameData(u8, u16); -static void rfu_CB_stopMode(u8, u16); -static void rfu_CB_startSearchChild(u8, u16); -static void rfu_CB_pollAndEndSearchChild(u8, u16); -static void rfu_CB_startSearchParent(u8, u16); -static void rfu_CB_pollSearchParent(u8, u16); -static void rfu_CB_pollConnectParent(u8, u16); -static void rfu_CB_pollConnectParent(u8, u16); -static void rfu_CB_disconnect(u8, u16); -static void rfu_CB_CHILD_pollConnectRecovery(u8, u16); -static void rfu_CB_sendData(UNUSED u8, u16); -static void rfu_CB_sendData2(UNUSED u8, u16); -static void rfu_CB_sendData3(u8, u16); -static void rfu_CB_recvData(u8, u16); -static void rfu_enableREQCallback(bool8); +static void rfu_CB_defaultCallback(u8 reqCommand, u16 reqResult); +static void rfu_CB_reset(u8 reqCommand, u16 reqResult); +static void rfu_CB_configGameData(u8 reqCommand, u16 reqResult); +static void rfu_CB_stopMode(u8 reqCommand, u16 reqResult); +static void rfu_CB_startSearchChild(u8 reqCommand, u16 reqResult); +static void rfu_CB_pollAndEndSearchChild(u8 reqCommand, u16 reqResult); +static void rfu_CB_startSearchParent(u8 reqCommand, u16 reqResult); +static void rfu_CB_pollSearchParent(u8 reqCommand, u16 reqResult); +static void rfu_CB_pollConnectParent(u8 reqCommand, u16 reqResult); +static void rfu_CB_pollConnectParent(u8 reqCommand, u16 reqResult); +static void rfu_CB_disconnect(u8 reqCommand, u16 reqResult); +static void rfu_CB_CHILD_pollConnectRecovery(u8 reqCommand, u16 reqResult); +static void rfu_CB_sendData(UNUSED u8 reqCommand, u16 reqResult); +static void rfu_CB_sendData2(UNUSED u8 reqCommand, u16 reqResult); +static void rfu_CB_sendData3(u8 reqCommand, u16 reqResult); +static void rfu_CB_recvData(u8 reqCommand, u16 reqResult); +static void rfu_enableREQCallback(bool8 enable); static void rfu_STC_clearAPIVariables(void); static void rfu_STC_readChildList(void); static void rfu_STC_readParentCandidateList(void); -static void rfu_STC_REQ_callback(u8, u16); +static void rfu_STC_REQ_callback(u8 reqCommand, u16 reqResult); static void rfu_STC_removeLinkData(u8, u8); static void rfu_STC_fastCopy(const u8 **, u8 **, s32); static void rfu_STC_clearLinkStatus(u8); @@ -74,63 +74,94 @@ struct RfuStatic *gRfuStatic; struct RfuFixed *gRfuFixed; static const struct LLSFStruct llsf_struct[2] = { - { - 2, 14, 0, 10, 9, 5, 7, 2, - 0, 15, 1, 3, 3, 0x1f - }, { - 3, 22, 18, 14, 13, 9, 11, 3, - 15, 15, 1, 3, 3, 0x7f - } + [MODE_CHILD] = { + .frameSize = 2, + .recvFirstShift = 14, + .connSlotFlagShift = 0, + .slotStateShift = 10, + .ackShift = 9, + .phaseShit = 5, + .nShift = 7, + .recvFirstMask = 2, + .connSlotFlagMask = 0, + .slotStateMask = 15, + .ackMask = 1, + .phaseMask = 3, + .nMask = 3, + .framesMask = 0x1f + }, + [MODE_PARENT] = { + .frameSize = 3, + .recvFirstShift = 22, + .connSlotFlagShift = 18, + .slotStateShift = 14, + .ackShift = 13, + .phaseShit = 9, + .nShift = 11, + .recvFirstMask = 3, + .connSlotFlagMask = 15, + .slotStateMask = 15, + .ackMask = 1, + .phaseMask = 3, + .nMask = 3, + .framesMask = 0x7f + } }; -#ifdef EMERALD -static const char lib_ver[] = "RFU_V1026"; -#else -static const char lib_ver[] = "RFU_V1024"; -#endif +#define xstr(s) str(s) +#define str(s) #s +const char version_string[] = "RFU_V" xstr(LIBRFU_VERSION); static const char str_checkMbootLL[] = "RFU-MBOOT"; -u16 rfu_initializeAPI(struct RfuAPIBuffer *APIBuffer, u16 buffByteSize, IntrFunc *sioIntrTable_p, bool8 copyInterruptToRam) +#define COPY(src, dst, iterator, size) do { \ + const u16 *_src = (const u16 *)(src); \ + u16 *_dst = (u16 *)(dst); \ + (iterator) = (size); \ + while ((iterator)-- != 0) \ + *_dst++ = *_src++; \ +} while (0) + +u16 rfu_initializeAPI(u32 *APIBuffer, u16 buffByteSize, IntrFunc *sioIntrTable_p, bool8 copyInterruptToRam) { u16 i; u16 *dst; const u16 *src; - u16 r3; + u16 buffByteSizeMax; - // is in EWRAM? - if (((u32)APIBuffer & 0xF000000) == 0x2000000 && copyInterruptToRam) + // is in EWRAM? + if (((uintptr_t)APIBuffer & 0xF000000) == 0x2000000 && copyInterruptToRam) return ERR_RFU_API_BUFF_ADR; - // is not 4-byte aligned? + // is not 4-byte aligned? if ((u32)APIBuffer & 3) return ERR_RFU_API_BUFF_ADR; if (copyInterruptToRam) { // An assert/debug print may have existed before, ie // printf("%s %u < %u", "somefile.c:12345", buffByteSize, num) - // to push this into r3? - r3 = sizeof(struct RfuAPIBuffer); - if (buffByteSize < r3) + // to push this into buffByteSizeMax? + buffByteSizeMax = RFU_API_BUFF_SIZE_RAM; + if (buffByteSize < buffByteSizeMax) return ERR_RFU_API_BUFF_SIZE; } if (!copyInterruptToRam) { - r3 = 0x504; // same issue as above - if (buffByteSize < r3) + buffByteSizeMax = RFU_API_BUFF_SIZE_ROM; // same issue as above + if (buffByteSize < buffByteSizeMax) return ERR_RFU_API_BUFF_SIZE; } - gRfuLinkStatus = &APIBuffer->linkStatus; - gRfuStatic = &APIBuffer->static_; - gRfuFixed = &APIBuffer->fixed; - gRfuSlotStatusNI[0] = &APIBuffer->NI[0]; - gRfuSlotStatusUNI[0] = &APIBuffer->UNI[0]; + gRfuLinkStatus = (void *)APIBuffer + 0; + gRfuStatic = (void *)APIBuffer + 0xb4; // + sizeof(*gRfuLinkStatus) + gRfuFixed = (void *)APIBuffer + 0xdc; // + sizeof(*gRfuStatic) + gRfuSlotStatusNI[0] = (void *)APIBuffer + 0x1bc; // + sizeof(*gRfuFixed) + gRfuSlotStatusUNI[0] = (void *)APIBuffer + 0x37c; // + sizeof(*gRfuSlotStatusNI[0]) for (i = 1; i < RFU_CHILD_MAX; ++i) { gRfuSlotStatusNI[i] = &gRfuSlotStatusNI[i - 1][1]; gRfuSlotStatusUNI[i] = &gRfuSlotStatusUNI[i - 1][1]; } - // TODO: Is it possible to fix the following 2 statements? - // It's equivalent to: + // TODO: Is it possible to fix the following 2 statements? + // It's equivalent to: // gRfuFixed->STWIBuffer = &APIBuffer->intr; // STWI_init_all(&APIBuffer->intr, sioIntrTable_p, copyInterruptToRam); gRfuFixed->STWIBuffer = (struct RfuIntrStruct *)&gRfuSlotStatusUNI[3][1]; @@ -143,11 +174,21 @@ u16 rfu_initializeAPI(struct RfuAPIBuffer *APIBuffer, u16 buffByteSize, IntrFunc gRfuSlotStatusUNI[i]->recvBuffer = NULL; gRfuSlotStatusUNI[i]->recvBufferSize = 0; } - src = (const u16 *)((u32)&rfu_STC_fastCopy & ~1); - dst = gRfuFixed->fastCopyBuffer; // rfu_REQ_changeMasterSlave is the function next to rfu_STC_fastCopy - for (r3 = ((void *)rfu_REQ_changeMasterSlave - (void *)rfu_STC_fastCopy) / sizeof(u16), --r3; r3 != 0xFFFF; --r3) +#if LIBRFU_VERSION < 1026 + src = (const u16 *)((uintptr_t)&rfu_STC_fastCopy & ~1); + dst = gRfuFixed->fastCopyBuffer; + buffByteSizeMax = ((void *)rfu_REQ_changeMasterSlave - (void *)rfu_STC_fastCopy) / sizeof(u16); + while (buffByteSizeMax-- != 0) *dst++ = *src++; +#else + COPY( + (uintptr_t)&rfu_STC_fastCopy & ~1, + gRfuFixed->fastCopyBuffer, + buffByteSizeMax, + 0x60 / sizeof(u16) + ); +#endif gRfuFixed->fastCopyPtr = (void *)gRfuFixed->fastCopyBuffer + 1; return 0; } @@ -155,19 +196,19 @@ u16 rfu_initializeAPI(struct RfuAPIBuffer *APIBuffer, u16 buffByteSize, IntrFunc static void rfu_STC_clearAPIVariables(void) { u16 IMEBackup = REG_IME; - u8 i, r4; + u8 i, flags; REG_IME = 0; - r4 = gRfuStatic->flags; + flags = gRfuStatic->flags; CpuFill16(0, gRfuStatic, sizeof(struct RfuStatic)); - gRfuStatic->flags = r4 & 8; + gRfuStatic->flags = flags & 8; CpuFill16(0, gRfuLinkStatus, sizeof(struct RfuLinkStatus)); gRfuLinkStatus->watchInterval = 4; gRfuStatic->nowWatchInterval = 0; gRfuLinkStatus->parentChild = MODE_NEUTRAL; rfu_clearAllSlot(); gRfuStatic->SCStartFlag = 0; - for (i = 0; i < NELEMS(gRfuStatic->cidBak); ++i) + for (i = 0; i < RFU_CHILD_MAX; ++i) gRfuStatic->cidBak[i] = 0; REG_IME = IMEBackup; } @@ -180,20 +221,20 @@ void rfu_REQ_PARENT_resumeRetransmitAndChange(void) u16 rfu_UNI_PARENT_getDRAC_ACK(u8 *ackFlag) { - struct RfuIntrStruct *buf; + u8 *buf; *ackFlag = 0; if (gRfuLinkStatus->parentChild != MODE_PARENT) return ERR_MODE_NOT_PARENT; buf = rfu_getSTWIRecvBuffer(); - switch (buf->rxPacketAlloc.rfuPacket8.data[0]) + switch (*buf) { case 40: case 54: - if (buf->rxPacketAlloc.rfuPacket8.data[1] == 0) + if (buf[1] == 0) *ackFlag = gRfuLinkStatus->connSlotFlag; else - *ackFlag = buf->rxPacketAlloc.rfuPacket8.data[4]; + *ackFlag = buf[4]; return 0; default: return ERR_REQ_CMD_ID; @@ -205,9 +246,9 @@ void rfu_setTimerInterrupt(u8 timerNo, IntrFunc *timerIntrTable_p) STWI_init_timer(timerIntrTable_p, timerNo); } -struct RfuIntrStruct *rfu_getSTWIRecvBuffer(void) +u8 *rfu_getSTWIRecvBuffer(void) { - return gRfuFixed->STWIBuffer; + return (u8 *)gRfuFixed->STWIBuffer; } void rfu_setMSCCallback(void (*callback)(u16 reqCommandId)) @@ -229,26 +270,26 @@ static void rfu_enableREQCallback(bool8 enable) gRfuStatic->flags &= 0xF7; } -static void rfu_STC_REQ_callback(u8 r5, u16 reqResult) +static void rfu_STC_REQ_callback(u8 reqCommand, u16 reqResult) { STWI_set_Callback_M(rfu_CB_defaultCallback); gRfuStatic->reqResult = reqResult; if (gRfuStatic->flags & 8) - gRfuFixed->reqCallback(r5, reqResult); + gRfuFixed->reqCallback(reqCommand, reqResult); } -static void rfu_CB_defaultCallback(u8 r0, u16 reqResult) +static void rfu_CB_defaultCallback(u8 reqCommand, u16 reqResult) { - s32 r5; + s32 bmSlotFlags; u8 i; - if (r0 == 0xFF) + if (reqCommand == ID_CLOCK_SLAVE_MS_CHANGE_ERROR_BY_DMA_REQ) { if (gRfuStatic->flags & 8) - gRfuFixed->reqCallback(r0, reqResult); - r5 = gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag; + gRfuFixed->reqCallback(reqCommand, reqResult); + bmSlotFlags = gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag; for (i = 0; i < RFU_CHILD_MAX; ++i) - if ((r5 >> i) & 1) + if ((bmSlotFlags >> i) & 1) rfu_STC_removeLinkData(i, 1); gRfuLinkStatus->parentChild = MODE_NEUTRAL; } @@ -277,25 +318,39 @@ u16 rfu_getRFUStatus(u8 *rfuState) return 0; } +/* + * RFU Multiboot images are loaded into IWRAM + * struct RfuMbootLL + * { + * struct RfuLinkStatus status; + * u8 filler_B4[0x3C]; + * char name[10]; + * u16 checksum; + * } + * Returns 1 if the packet to inherit is malformed. + */ u16 rfu_MBOOT_CHILD_inheritanceLinkStatus(void) { const char *s1 = str_checkMbootLL; char *s2 = (char *)0x30000F0; u16 checksum; - u16 *r2; + u16 *mb_buff_iwram_p; u8 i; + // if (strcmp(s1, s2) != 0) return 1; while (*s1 != '\0') if (*s1++ != *s2++) return 1; - r2 = (u16 *)0x3000000; + mb_buff_iwram_p = (u16 *)0x3000000; + + // The size of struct RfuLinkStatus is 180 checksum = 0; - for (i = 0; i < 90; ++i) - checksum += *r2++; + for (i = 0; i < 180/2; ++i) + checksum += *mb_buff_iwram_p++; if (checksum != *(u16 *)0x30000FA) return 1; CpuCopy16((u16 *)0x3000000, gRfuLinkStatus, sizeof(struct RfuLinkStatus)); - gRfuStatic->flags |= 0x80; + gRfuStatic->flags |= 0x80; // mboot return 0; } @@ -305,14 +360,14 @@ void rfu_REQ_stopMode(void) if (REG_IME == 0) { - rfu_STC_REQ_callback(61, 6); + rfu_STC_REQ_callback(ID_STOP_MODE_REQ, 6); gSTWIStatus->error = ERR_REQ_CMD_IME_DISABLE; } else { AgbRFU_SoftReset(); rfu_STC_clearAPIVariables(); - if (AgbRFU_checkID(8) == 0x8001) + if (AgbRFU_checkID(8) == RFU_ID) { timerReg = ®_TMCNT(gSTWIStatus->timerSelect); *timerReg = 0; @@ -326,29 +381,29 @@ void rfu_REQ_stopMode(void) else { REG_SIOCNT = SIO_MULTI_MODE; - rfu_STC_REQ_callback(61, 0); + rfu_STC_REQ_callback(ID_STOP_MODE_REQ, 0); } } } -static void rfu_CB_stopMode(u8 a1, u16 reqResult) +static void rfu_CB_stopMode(u8 reqCommand, u16 reqResult) { if (reqResult == 0) REG_SIOCNT = SIO_MULTI_MODE; - rfu_STC_REQ_callback(a1, reqResult); + rfu_STC_REQ_callback(reqCommand, reqResult); } u32 rfu_REQBN_softReset_and_checkID(void) { - u32 r2; + u32 id; if (REG_IME == 0) return ERR_ID_CHECK_IME_DISABLE; AgbRFU_SoftReset(); rfu_STC_clearAPIVariables(); - if ((r2 = AgbRFU_checkID(30)) == 0) + if ((id = AgbRFU_checkID(30)) == 0) REG_SIOCNT = SIO_MULTI_MODE; - return r2; + return id; } void rfu_REQ_reset(void) @@ -357,11 +412,11 @@ void rfu_REQ_reset(void) STWI_send_ResetREQ(); } -static void rfu_CB_reset(u8 a1, u16 reqResult) +static void rfu_CB_reset(u8 reqCommand, u16 reqResult) { if (reqResult == 0) rfu_STC_clearAPIVariables(); - rfu_STC_REQ_callback(a1, reqResult); + rfu_STC_REQ_callback(reqCommand, reqResult); } void rfu_REQ_configSystem(u16 availSlotFlag, u8 maxMFrame, u8 mcTimer) @@ -370,59 +425,59 @@ void rfu_REQ_configSystem(u16 availSlotFlag, u8 maxMFrame, u8 mcTimer) STWI_send_SystemConfigREQ((availSlotFlag & AVAIL_SLOT1) | 0x3C, maxMFrame, mcTimer); if (mcTimer == 0) { - gRfuStatic->unk_1a = 1; + gRfuStatic->linkEmergencyLimit = 1; } else { u16 IMEBackup = REG_IME; REG_IME = 0; - gRfuStatic->unk_1a = Div(600, mcTimer); + gRfuStatic->linkEmergencyLimit = Div(600, mcTimer); REG_IME = IMEBackup; } } void rfu_REQ_configGameData(u8 mbootFlag, u16 serialNo, const u8 *gname, const u8 *uname) { - u8 sp[16]; + u8 packet[16]; u8 i; - u8 r3; + u8 check_sum; const u8 *gnameBackup = gname; const u8 *unameBackup; - sp[0] = serialNo; - sp[1] = serialNo >> 8; + packet[0] = serialNo; + packet[1] = serialNo >> 8; if (mbootFlag != 0) - sp[1] = (serialNo >> 8) | 0x80; + packet[1] = (serialNo >> 8) | 0x80; for (i = 2; i < 15; ++i) - sp[i] = *gname++; - r3 = 0; + packet[i] = *gname++; + check_sum = 0; unameBackup = uname; for (i = 0; i < 8; ++i) { - r3 += *unameBackup++; - r3 += *gnameBackup++; + check_sum += *unameBackup++; + check_sum += *gnameBackup++; } - sp[15] = ~r3; + packet[15] = ~check_sum; if (mbootFlag != 0) - sp[14] = 0; + packet[14] = 0; STWI_set_Callback_M(rfu_CB_configGameData); - STWI_send_GameConfigREQ(sp, uname); + STWI_send_GameConfigREQ(packet, uname); } -static void rfu_CB_configGameData(u8 ip, u16 r7) +static void rfu_CB_configGameData(u8 reqCommand, u16 reqResult) { - s32 r2, r3; - u8 *r4; + s32 serialNo; + u8 *gname_uname_p; u8 i; - u8 *r1; + u8 *packet_p; - if (r7 == 0) + if (reqResult == 0) { - r1 = gSTWIStatus->txPacket->rfuPacket8.data; - r2 = gRfuLinkStatus->my.serialNo = r1[4]; - gRfuLinkStatus->my.serialNo = (r1[5] << 8) | r2; - r4 = &r1[6]; + packet_p = gSTWIStatus->txPacket->rfuPacket8.data; + serialNo = gRfuLinkStatus->my.serialNo = packet_p[4]; + gRfuLinkStatus->my.serialNo = (packet_p[5] << 8) | serialNo; + gname_uname_p = &packet_p[6]; if (gRfuLinkStatus->my.serialNo & 0x8000) { gRfuLinkStatus->my.serialNo = gRfuLinkStatus->my.serialNo ^ 0x8000; @@ -433,47 +488,54 @@ static void rfu_CB_configGameData(u8 ip, u16 r7) gRfuLinkStatus->my.mbootFlag = 0; } for (i = 0; i < RFU_GAME_NAME_LENGTH; ++i) - gRfuLinkStatus->my.gname[i] = *r4++; - ++r4; + gRfuLinkStatus->my.gname[i] = *gname_uname_p++; + ++gname_uname_p; for (i = 0; i < RFU_USER_NAME_LENGTH; ++i) - gRfuLinkStatus->my.uname[i] = *r4++; + gRfuLinkStatus->my.uname[i] = *gname_uname_p++; } - rfu_STC_REQ_callback(ip, r7); + rfu_STC_REQ_callback(reqCommand, reqResult); } void rfu_REQ_startSearchChild(void) { - u16 r1; - + u16 result; +#if LIBRFU_VERSION >= 1026 + u16 i; + for (i = 0; i < RFU_CHILD_MAX; i++) + { + gRfuStatic->lsFixedCount[i] = 0; + } +#endif + STWI_set_Callback_M(rfu_CB_defaultCallback); STWI_send_SystemStatusREQ(); - r1 = STWI_poll_CommandEnd(); - if (r1 == 0) + result = STWI_poll_CommandEnd(); + if (result == 0) { if (gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[7] == 0) - rfu_STC_clearLinkStatus(1); + rfu_STC_clearLinkStatus(MODE_PARENT); } else { - rfu_STC_REQ_callback(25, r1); + rfu_STC_REQ_callback(ID_SC_START_REQ, result); } STWI_set_Callback_M(rfu_CB_startSearchChild); STWI_send_SC_StartREQ(); } -static void rfu_CB_startSearchChild(u8 r3, u16 reqResult) +static void rfu_CB_startSearchChild(u8 reqCommand, u16 reqResult) { if (reqResult == 0) gRfuStatic->SCStartFlag = 1; - rfu_STC_REQ_callback(r3, reqResult); + rfu_STC_REQ_callback(reqCommand, reqResult); } -static void rfu_STC_clearLinkStatus(u8 r4) +static void rfu_STC_clearLinkStatus(u8 parentChild) { u8 i; - + rfu_clearAllSlot(); - if (r4 != 0) + if (parentChild != MODE_CHILD) { CpuFill16(0, gRfuLinkStatus->partner, sizeof(gRfuLinkStatus->partner)); gRfuLinkStatus->findParentCount = 0; @@ -498,11 +560,11 @@ void rfu_REQ_endSearchChild(void) STWI_send_SC_EndREQ(); } -static void rfu_CB_pollAndEndSearchChild(u8 r4, u16 reqResult) +static void rfu_CB_pollAndEndSearchChild(u8 reqCommand, u16 reqResult) { if (reqResult == 0) rfu_STC_readChildList(); - if (r4 == 26) + if (reqCommand == ID_SC_POLL_REQ) { if (gRfuLinkStatus->my.id == 0) { @@ -512,60 +574,76 @@ static void rfu_CB_pollAndEndSearchChild(u8 r4, u16 reqResult) gRfuLinkStatus->my.id = *(u16 *)&gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.data[0]; } } - else if (r4 == 27) + else if (reqCommand == ID_SC_END_REQ) { if (gRfuLinkStatus->parentChild == MODE_NEUTRAL) gRfuLinkStatus->my.id = 0; gRfuStatic->SCStartFlag = 0; } - rfu_STC_REQ_callback(r4, reqResult); + rfu_STC_REQ_callback(reqCommand, reqResult); } static void rfu_STC_readChildList(void) { - u32 r5; - u8 r8 = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[1]; - u8 *r4; + u32 stwiParam; + u8 numSlots = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[1]; + u8 *data_p; u8 i; - u8 sp[4]; - u8 r2; + u8 bm_slot_id; +#if LIBRFU_VERSION < 1026 + u8 true_slots[RFU_CHILD_MAX]; +#endif - if (r8 != 0) +#if LIBRFU_VERSION < 1026 + if (numSlots != 0) { - r5 = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.data[0]; + stwiParam = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.data[0]; STWI_set_Callback_M(rfu_CB_defaultCallback); STWI_send_LinkStatusREQ(); if (STWI_poll_CommandEnd() == 0) { - r4 = &gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[4]; - for (i = 0; i < NELEMS(sp); ++i) - sp[i] = *r4++; + data_p = &gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[4]; + for (i = 0; i < RFU_CHILD_MAX; ++i) + true_slots[i] = *data_p++; } - gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.data[0] = r5; + gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.data[0] = stwiParam; } - for (r4 = &gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[4]; - r8 != 0; - r4 += 4) +#endif + for (data_p = &gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[4]; + numSlots != 0; + data_p += 4) { - r2 = r4[2]; - if (r2 < RFU_CHILD_MAX && !((gRfuLinkStatus->connSlotFlag >> r2) & 1) && !((gRfuLinkStatus->linkLossSlotFlag >> r2) & 1)) + bm_slot_id = data_p[2]; + if (bm_slot_id < RFU_CHILD_MAX && !((gRfuLinkStatus->connSlotFlag >> bm_slot_id) & 1) && !((gRfuLinkStatus->linkLossSlotFlag >> bm_slot_id) & 1)) { - if (sp[r2] != 0) - ++gRfuStatic->lsFixedCount[r2]; - if (gRfuStatic->lsFixedCount[r2] >= 4) + #if LIBRFU_VERSION < 1026 + if (true_slots[bm_slot_id] != 0) + ++gRfuStatic->lsFixedCount[bm_slot_id]; + if (gRfuStatic->lsFixedCount[bm_slot_id] >= 4) { - gRfuStatic->lsFixedCount[r2] = 0; - gRfuLinkStatus->strength[r2] = 0xFF; - gRfuLinkStatus->connSlotFlag |= 1 << r2; + gRfuStatic->lsFixedCount[bm_slot_id] = 0; + gRfuLinkStatus->strength[bm_slot_id] = 255; + gRfuLinkStatus->connSlotFlag |= 1 << bm_slot_id; ++gRfuLinkStatus->connCount; - gRfuLinkStatus->partner[r2].id = *(u16 *)r4; - gRfuLinkStatus->partner[r2].slot = r2; + gRfuLinkStatus->partner[bm_slot_id].id = *(u16 *)data_p; + gRfuLinkStatus->partner[bm_slot_id].slot = bm_slot_id; gRfuLinkStatus->parentChild = MODE_PARENT; gRfuStatic->flags &= 0x7F; - gRfuStatic->cidBak[r2] = gRfuLinkStatus->partner[r2].id; + gRfuStatic->cidBak[bm_slot_id] = gRfuLinkStatus->partner[bm_slot_id].id; } + #else + gRfuStatic->lsFixedCount[bm_slot_id] = 0xF0; + gRfuLinkStatus->strength[bm_slot_id] = 16; + gRfuLinkStatus->connSlotFlag |= 1 << bm_slot_id; + ++gRfuLinkStatus->connCount; + gRfuLinkStatus->partner[bm_slot_id].id = *(u16 *)data_p; + gRfuLinkStatus->partner[bm_slot_id].slot = bm_slot_id; + gRfuLinkStatus->parentChild = MODE_PARENT; + gRfuStatic->flags &= 0x7F; + gRfuStatic->cidBak[bm_slot_id] = gRfuLinkStatus->partner[bm_slot_id].id; + #endif } - --r8; + --numSlots; } } @@ -575,11 +653,11 @@ void rfu_REQ_startSearchParent(void) STWI_send_SP_StartREQ(); } -static void rfu_CB_startSearchParent(u8 r5, u16 reqResult) +static void rfu_CB_startSearchParent(u8 reqCommand, u16 reqResult) { if (reqResult == 0) - rfu_STC_clearLinkStatus(0); - rfu_STC_REQ_callback(r5, reqResult); + rfu_STC_clearLinkStatus(MODE_CHILD); + rfu_STC_REQ_callback(reqCommand, reqResult); } void rfu_REQ_pollSearchParent(void) @@ -588,11 +666,11 @@ void rfu_REQ_pollSearchParent(void) STWI_send_SP_PollingREQ(); } -static void rfu_CB_pollSearchParent(u8 r5, u16 reqResult) +static void rfu_CB_pollSearchParent(u8 reqCommand, u16 reqResult) { if (reqResult == 0) rfu_STC_readParentCandidateList(); - rfu_STC_REQ_callback(r5, reqResult); + rfu_STC_REQ_callback(reqCommand, reqResult); } void rfu_REQ_endSearchParent(void) @@ -603,47 +681,47 @@ void rfu_REQ_endSearchParent(void) static void rfu_STC_readParentCandidateList(void) { - u8 r7, r6, r5, r4, r3; - u8 *r1, *r2; - struct RfuTgtData *r4_; + u8 numSlots, i, check_sum, my_check_sum, j; + u8 *uname_p, *packet_p; + struct RfuTgtData *target; CpuFill16(0, gRfuLinkStatus->partner, sizeof(gRfuLinkStatus->partner)); - r2 = &gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[0]; - r7 = r2[1]; - r2 += 4; + packet_p = &gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[0]; + numSlots = packet_p[1]; + packet_p += 4; gRfuLinkStatus->findParentCount = 0; - for (r6 = 0; r6 < 4 && r7 != 0; ++r6) + for (i = 0; i < RFU_CHILD_MAX && numSlots != 0; ++i) { - r7 -= 7; - r1 = r2 + 6; - r2 += 19; - r5 = ~*r2; - ++r2; - r4 = 0; - for (r3 = 0; r3 < 8; ++r3) + numSlots -= 7; + uname_p = packet_p + 6; + packet_p += 19; + check_sum = ~*packet_p; + ++packet_p; + my_check_sum = 0; + for (j = 0; j < 8; ++j) { - r4 += *r2++; - r4 += *r1++; + my_check_sum += *packet_p++; + my_check_sum += *uname_p++; } - if (r4 == r5) + if (my_check_sum == check_sum) { - r2 -= 28; - r4_ = &gRfuLinkStatus->partner[gRfuLinkStatus->findParentCount]; - r4_->id = *(u16 *)r2; - r2 += 2; - r4_->slot = *r2; - r2 += 2; - r4_->serialNo = *(u16 *)r2 & 0x7FFF; - if (*(u16 *)r2 & 0x8000) - r4_->mbootFlag = 1; + packet_p -= 28; + target = &gRfuLinkStatus->partner[gRfuLinkStatus->findParentCount]; + target->id = *(u16 *)packet_p; + packet_p += 2; + target->slot = *packet_p; + packet_p += 2; + target->serialNo = *(u16 *)packet_p & 0x7FFF; + if (*(u16 *)packet_p & 0x8000) + target->mbootFlag = 1; else - r4_->mbootFlag = 0; - r2 += 2; - for (r3 = 0; r3 < RFU_GAME_NAME_LENGTH; ++r3) - r4_->gname[r3] = *r2++; - ++r2; - for (r3 = 0; r3 < RFU_USER_NAME_LENGTH; ++r3) - r4_->uname[r3] = *r2++; + target->mbootFlag = 0; + packet_p += 2; + for (j = 0; j < RFU_GAME_NAME_LENGTH; ++j) + target->gname[j] = *packet_p++; + ++packet_p; + for (j = 0; j < RFU_USER_NAME_LENGTH; ++j) + target->uname[j] = *packet_p++; ++gRfuLinkStatus->findParentCount; } } @@ -651,13 +729,13 @@ static void rfu_STC_readParentCandidateList(void) void rfu_REQ_startConnectParent(u16 pid) { - u16 r3 = 0; + u16 result = 0; u8 i; for (i = 0; i < RFU_CHILD_MAX && gRfuLinkStatus->partner[i].id != pid; ++i) ; - if (i == 4) - r3 = 256; - if (r3 == 0) + if (i == RFU_CHILD_MAX) + result = ERR_PID_NOT_FOUND; + if (result == 0) { gRfuStatic->tryPid = pid; STWI_set_Callback_M(rfu_STC_REQ_callback); @@ -665,7 +743,7 @@ void rfu_REQ_startConnectParent(u16 pid) } else { - rfu_STC_REQ_callback(31, r3); + rfu_STC_REQ_callback(ID_CP_START_REQ, result); } } @@ -675,70 +753,69 @@ void rfu_REQ_pollConnectParent(void) STWI_send_CP_PollingREQ(); } -static void rfu_CB_pollConnectParent(u8 sp24, u16 sp28) +static void rfu_CB_pollConnectParent(u8 reqCommand, u16 reqResult) { u16 id; u8 slot; - u8 r2, r5; - struct RfuTgtData *r9; - struct RfuTgtData sp; + u8 bm_slot_flag, i; + struct RfuTgtData *target_p; + struct RfuTgtData target_local; - if (sp28 == 0) + if (reqResult == 0) { id = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.data[0]; slot = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[6]; if (gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[7] == 0) { - r2 = 1 << slot; - if (!(r2 & gRfuLinkStatus->connSlotFlag)) + bm_slot_flag = 1 << slot; + if (!(bm_slot_flag & gRfuLinkStatus->connSlotFlag)) { - gRfuLinkStatus->connSlotFlag |= r2; - gRfuLinkStatus->linkLossSlotFlag &= ~r2; + gRfuLinkStatus->connSlotFlag |= bm_slot_flag; + gRfuLinkStatus->linkLossSlotFlag &= ~bm_slot_flag; gRfuLinkStatus->my.id = id; ++gRfuLinkStatus->connCount; gRfuLinkStatus->parentChild = MODE_CHILD; gRfuStatic->flags |= 0x80; - for (r5 = 0; r5 < RFU_CHILD_MAX; ++r5) + for (i = 0; i < RFU_CHILD_MAX; ++i) { - if (gRfuLinkStatus->partner[r5].id == gRfuStatic->tryPid) + if (gRfuLinkStatus->partner[i].id == gRfuStatic->tryPid) { if (gRfuLinkStatus->findParentCount != 0) { - r9 = &sp; - CpuCopy16(&gRfuLinkStatus->partner[r5], &sp, sizeof(struct RfuTgtData)); + target_p = &target_local; + CpuCopy16(&gRfuLinkStatus->partner[i], &target_local, sizeof(struct RfuTgtData)); CpuFill16(0, gRfuLinkStatus->partner, sizeof(gRfuLinkStatus->partner)); gRfuLinkStatus->findParentCount = 0; } else { - r9 = &gRfuLinkStatus->partner[r5]; + target_p = &gRfuLinkStatus->partner[i]; } break; } } - if (r5 < RFU_CHILD_MAX) + if (i < RFU_CHILD_MAX) { - CpuCopy16(r9, &gRfuLinkStatus->partner[slot], sizeof(struct RfuTgtData)); + CpuCopy16(target_p, &gRfuLinkStatus->partner[slot], sizeof(struct RfuTgtData)); gRfuLinkStatus->partner[slot].slot = slot; } } } } - rfu_STC_REQ_callback(sp24, sp28); + rfu_STC_REQ_callback(reqCommand, reqResult); } u16 rfu_getConnectParentStatus(u8 *status, u8 *connectSlotNo) { - u8 r0, *r2; + u8 *packet_p; *status = 0xFF; - r2 = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data; - r0 = r2[0] + 96; - if (r0 <= 1) + packet_p = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data; + if (packet_p[0] == 0xa0 || packet_p[0] == 0xa1) { - r2 += 6; - *connectSlotNo = r2[0]; - *status = r2[1]; + packet_p += 6; + *connectSlotNo = packet_p[0]; + *status = packet_p[1]; return 0; } return ERR_REQ_CMD_ID; @@ -754,28 +831,28 @@ void rfu_REQ_endConnectParent(void) u16 rfu_syncVBlank(void) { - u8 r3, r4; - s32 r5; + u8 masterSlave, i; + s32 bmSlotFlag; rfu_NI_checkCommFailCounter(); if (gRfuLinkStatus->parentChild == MODE_NEUTRAL) return 0; if (gRfuStatic->nowWatchInterval != 0) --gRfuStatic->nowWatchInterval; - r3 = rfu_getMasterSlave(); + masterSlave = rfu_getMasterSlave(); if (!(gRfuStatic->flags & 2)) { - if (r3 == 0) + if (masterSlave == AGB_CLK_SLAVE) { gRfuStatic->flags |= 4; gRfuStatic->watchdogTimer = 360; } } - else if (r3 != 0) + else if (masterSlave != AGB_CLK_SLAVE) { gRfuStatic->flags &= 0xFB; } - if (r3 != 0) + if (masterSlave != AGB_CLK_SLAVE) gRfuStatic->flags &= 0xFD; else gRfuStatic->flags |= 2; @@ -784,10 +861,10 @@ u16 rfu_syncVBlank(void) if (gRfuStatic->watchdogTimer == 0) { gRfuStatic->flags &= 0xFB; - r5 = gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag; - for (r4 = 0; r4 < RFU_CHILD_MAX; ++r4) - if ((r5 >> r4) & 1) - rfu_STC_removeLinkData(r4, 1); + bmSlotFlag = gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag; + for (i = 0; i < RFU_CHILD_MAX; ++i) + if ((bmSlotFlag >> i) & 1) + rfu_STC_removeLinkData(i, 1); gRfuLinkStatus->parentChild = MODE_NEUTRAL; return 1; } @@ -797,13 +874,13 @@ u16 rfu_syncVBlank(void) u16 rfu_REQBN_watchLink(u16 reqCommandId, u8 *bmLinkLossSlot, u8 *linkLossReason, u8 *parentBmLinkRecoverySlot) { - u8 sp08 = 0; - u8 sp0C = 0; + u8 reasonMaybe = 0; + u8 reqResult = 0; u8 i; - s32 sp10, sp14; - u8 *r2; - u8 r9, r6, r3, connSlotFlag, r0; - + s32 stwiCommand, stwiParam; + u8 *packet_p; + u8 to_req_disconnect, newLinkLossFlag, num_packets, connSlotFlag, to_disconnect; + *bmLinkLossSlot = 0; *linkLossReason = REASON_DISCONNECTED; *parentBmLinkRecoverySlot = 0; @@ -813,26 +890,30 @@ u16 rfu_REQBN_watchLink(u16 reqCommandId, u8 *bmLinkLossSlot, u8 *linkLossReason gRfuStatic->watchdogTimer = 360; if (gRfuStatic->nowWatchInterval == 0) { + #if LIBRFU_VERSION < 1026 gRfuStatic->nowWatchInterval = gRfuLinkStatus->watchInterval; - sp08 = 1; + #else + gRfuStatic->nowWatchInterval = 4; + #endif + reasonMaybe = 1; } - if ((u8)reqCommandId == 41) + if ((u8)reqCommandId == ID_DISCONNECTED_AND_CHANGE_REQ) { - u8 *r1 = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data; - - *bmLinkLossSlot = r1[4]; - *linkLossReason = r1[5]; + u8 *packet_p_2 = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data; + + *bmLinkLossSlot = packet_p_2[4]; + *linkLossReason = packet_p_2[5]; if (*linkLossReason == REASON_LINK_LOSS) *bmLinkLossSlot = gRfuLinkStatus->connSlotFlag; - sp08 = 2; + reasonMaybe = 2; } else { - if (reqCommandId == 310) + if (reqCommandId == 0x0136) { - r6 = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[5]; - r6 ^= gRfuLinkStatus->connSlotFlag; - *bmLinkLossSlot = r6 & gRfuLinkStatus->connSlotFlag; + newLinkLossFlag = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[5]; + newLinkLossFlag ^= gRfuLinkStatus->connSlotFlag; + *bmLinkLossSlot = newLinkLossFlag & gRfuLinkStatus->connSlotFlag; *linkLossReason = REASON_LINK_LOSS; for (i = 0; i < RFU_CHILD_MAX; ++i) { @@ -843,33 +924,41 @@ u16 rfu_REQBN_watchLink(u16 reqCommandId, u8 *bmLinkLossSlot, u8 *linkLossReason } } } - if (sp08 == 0) + if (reasonMaybe == 0) return 0; } - sp10 = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.command; - sp14 = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.data[0]; + stwiCommand = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.command; + stwiParam = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.data[0]; STWI_set_Callback_M(rfu_CB_defaultCallback); STWI_send_LinkStatusREQ(); - sp0C = STWI_poll_CommandEnd(); - if (sp0C == 0) + reqResult = STWI_poll_CommandEnd(); + if (reqResult == 0) { - r2 = &gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[4]; + packet_p = &gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[4]; for (i = 0; i < RFU_CHILD_MAX; ++i) - gRfuLinkStatus->strength[i] = *r2++; - r9 = 0; + gRfuLinkStatus->strength[i] = *packet_p++; + to_req_disconnect = 0; i = 0; } else { - rfu_STC_REQ_callback(17, sp0C); - return sp0C; + rfu_STC_REQ_callback(ID_LINK_STATUS_REQ, reqResult); + return reqResult; } for (; i < RFU_CHILD_MAX; ++i) { - r6 = 1 << i; - if (sp0C == 0) + #if LIBRFU_VERSION >= 1026 + if (gRfuStatic->lsFixedCount[i] != 0) { - if (sp08 == 1 && (gRfuLinkStatus->connSlotFlag & r6)) + gRfuStatic->lsFixedCount[i] -= 4; + if (gRfuLinkStatus->strength[i] <= 15) + gRfuLinkStatus->strength[i] = 16; + } + #endif + newLinkLossFlag = 1 << i; + if (reqResult == 0) + { + if (reasonMaybe == 1 && (gRfuLinkStatus->connSlotFlag & newLinkLossFlag)) { if (gRfuLinkStatus->strength[i] == 0) { @@ -878,8 +967,8 @@ u16 rfu_REQBN_watchLink(u16 reqCommandId, u8 *bmLinkLossSlot, u8 *linkLossReason ++gRfuStatic->linkEmergencyFlag[i]; if (gRfuStatic->linkEmergencyFlag[i] > 3) { - *bmLinkLossSlot |= r6; - *linkLossReason = sp08; // why not directly use REASON_LINK_LOSS? + *bmLinkLossSlot |= newLinkLossFlag; + *linkLossReason = REASON_LINK_LOSS; } } else @@ -889,18 +978,18 @@ u16 rfu_REQBN_watchLink(u16 reqCommandId, u8 *bmLinkLossSlot, u8 *linkLossReason { if (gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[7] == 0) { - *bmLinkLossSlot |= r6; - *linkLossReason = sp08; // why not directly use REASON_LINK_LOSS? + *bmLinkLossSlot |= newLinkLossFlag; + *linkLossReason = REASON_LINK_LOSS; } else { - if (++gRfuStatic->linkEmergencyFlag[i] > gRfuStatic->unk_1a) + if (++gRfuStatic->linkEmergencyFlag[i] > gRfuStatic->linkEmergencyLimit) { gRfuStatic->linkEmergencyFlag[i] = 0; STWI_send_DisconnectREQ(gRfuLinkStatus->connSlotFlag); STWI_poll_CommandEnd(); - *bmLinkLossSlot |= r6; - *linkLossReason = sp08; // why not directly use REASON_LINK_LOSS? + *bmLinkLossSlot |= newLinkLossFlag; + *linkLossReason = REASON_LINK_LOSS; } } } @@ -908,18 +997,18 @@ u16 rfu_REQBN_watchLink(u16 reqCommandId, u8 *bmLinkLossSlot, u8 *linkLossReason } else { - gRfuStatic->linkEmergencyFlag[i] = sp0C; // why not directly use 0? + gRfuStatic->linkEmergencyFlag[i] = 0; } } if (gRfuLinkStatus->parentChild == MODE_PARENT && gRfuLinkStatus->strength[i] != 0) { - if (r6 & gRfuLinkStatus->linkLossSlotFlag) + if (newLinkLossFlag & gRfuLinkStatus->linkLossSlotFlag) { if (gRfuLinkStatus->strength[i] > 10) { - *parentBmLinkRecoverySlot |= r6; - gRfuLinkStatus->connSlotFlag |= r6; - gRfuLinkStatus->linkLossSlotFlag &= ~r6; + *parentBmLinkRecoverySlot |= newLinkLossFlag; + gRfuLinkStatus->connSlotFlag |= newLinkLossFlag; + gRfuLinkStatus->linkLossSlotFlag &= ~newLinkLossFlag; ++gRfuLinkStatus->connCount; gRfuStatic->linkEmergencyFlag[i] = 0; } @@ -930,19 +1019,19 @@ u16 rfu_REQBN_watchLink(u16 reqCommandId, u8 *bmLinkLossSlot, u8 *linkLossReason } else { - if (!((gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag) & r6)) + if (!((gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag) & newLinkLossFlag)) { STWI_send_SlotStatusREQ(); STWI_poll_CommandEnd(); - r2 = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data; - r3 = r2[1] - 1; - for (r2 += 8; r3 != 0; r2 += 4, --r3) + packet_p = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data; + num_packets = packet_p[1] - 1; + for (packet_p += 8; num_packets != 0; packet_p += 4, --num_packets) { - u16 r4 = *(u16 *)r2; + u16 cid = *(u16 *)packet_p; - if (r2[2] == i && r4 == gRfuStatic->cidBak[i]) + if (packet_p[2] == i && cid == gRfuStatic->cidBak[i]) { - r9 |= 1 << i; + to_req_disconnect |= 1 << i; break; } } @@ -951,46 +1040,49 @@ u16 rfu_REQBN_watchLink(u16 reqCommandId, u8 *bmLinkLossSlot, u8 *linkLossReason } } connSlotFlag = gRfuLinkStatus->connSlotFlag; - r0 = *bmLinkLossSlot; - r0 &= connSlotFlag; - if (r6 & r0) + to_disconnect = *bmLinkLossSlot; + to_disconnect &= connSlotFlag; + if (newLinkLossFlag & to_disconnect) rfu_STC_removeLinkData(i, 0); } - if (r9 != 0) + if (to_req_disconnect != 0) { - STWI_send_DisconnectREQ(r9); + STWI_send_DisconnectREQ(to_req_disconnect); STWI_poll_CommandEnd(); } // equivalent to: - // gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.command = sp10; - *(u32 *)gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data = sp10; - gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.data[0] = sp14; + // gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.command = stwiCommand; + *(u32 *)gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data = stwiCommand; + gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.data[0] = stwiParam; return 0; } -static void rfu_STC_removeLinkData(u8 r7, u8 r12) +static void rfu_STC_removeLinkData(u8 bmConnectedPartnerId, u8 bmDisconnect) { - u8 r5 = 1 << r7; - s32 r6; + u8 bmLinkLossFlag = 1 << bmConnectedPartnerId; + s32 bmLinkRetainedFlag; - if ((gRfuLinkStatus->connSlotFlag & r5) && gRfuLinkStatus->connCount != 0) +#if LIBRFU_VERSION >= 1026 + gRfuStatic->lsFixedCount[bmConnectedPartnerId] = 0; +#endif + if ((gRfuLinkStatus->connSlotFlag & bmLinkLossFlag) && gRfuLinkStatus->connCount != 0) --gRfuLinkStatus->connCount; - gRfuLinkStatus->connSlotFlag &= r6 = ~r5; - gRfuLinkStatus->linkLossSlotFlag |= r5; - if ((*(u32 *)gRfuLinkStatus & 0xFF00FF) == 0) + gRfuLinkStatus->connSlotFlag &= bmLinkRetainedFlag = ~bmLinkLossFlag; + gRfuLinkStatus->linkLossSlotFlag |= bmLinkLossFlag; + if (gRfuLinkStatus->parentChild == MODE_CHILD && gRfuLinkStatus->connSlotFlag == 0) gRfuLinkStatus->parentChild = MODE_NEUTRAL; - if (r12 != 0) + if (bmDisconnect) { - CpuFill16(0, &gRfuLinkStatus->partner[r7], sizeof(struct RfuTgtData)); - gRfuLinkStatus->linkLossSlotFlag &= r6; - gRfuLinkStatus->getNameFlag &= r6; - gRfuLinkStatus->strength[r7] = 0; + CpuFill16(0, &gRfuLinkStatus->partner[bmConnectedPartnerId], sizeof(struct RfuTgtData)); + gRfuLinkStatus->linkLossSlotFlag &= bmLinkRetainedFlag; + gRfuLinkStatus->getNameFlag &= bmLinkRetainedFlag; + gRfuLinkStatus->strength[bmConnectedPartnerId] = 0; } } void rfu_REQ_disconnect(u8 bmDisconnectSlot) { - u16 r1; + u16 result; if ((gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag) & bmDisconnectSlot) { @@ -1003,9 +1095,9 @@ void rfu_REQ_disconnect(u8 bmDisconnectSlot) else if (gRfuStatic->SCStartFlag && (STWI_set_Callback_M(rfu_CB_defaultCallback), STWI_send_SC_EndREQ(), - (r1 = STWI_poll_CommandEnd()) != 0)) + (result = STWI_poll_CommandEnd()) != 0)) { - rfu_STC_REQ_callback(27, r1); + rfu_STC_REQ_callback(ID_SC_END_REQ, result); } else { @@ -1015,38 +1107,38 @@ void rfu_REQ_disconnect(u8 bmDisconnectSlot) } } -static void rfu_CB_disconnect(u8 r6, u16 r5) +static void rfu_CB_disconnect(u8 reqCommand, u16 reqResult) { - u8 r4, r0; + u8 i, bm_slot_flag; - if (r5 == 3 && gRfuLinkStatus->parentChild == MODE_CHILD) + if (reqResult == 3 && gRfuLinkStatus->parentChild == MODE_CHILD) { STWI_set_Callback_M(rfu_CB_defaultCallback); STWI_send_SystemStatusREQ(); if (STWI_poll_CommandEnd() == 0 && gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[7] == 0) - r5 = 0; + reqResult = 0; } gRfuStatic->recoveryBmSlot &= gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag; gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[8] = gRfuStatic->recoveryBmSlot; - if (r5 == 0) + if (reqResult == 0) { - for (r4 = 0; r4 < RFU_CHILD_MAX; ++r4) + for (i = 0; i < RFU_CHILD_MAX; ++i) { - r0 = 1 << r4; - if (r0 & gRfuStatic->recoveryBmSlot) - rfu_STC_removeLinkData(r4, 1); + bm_slot_flag = 1 << i; + if (bm_slot_flag & gRfuStatic->recoveryBmSlot) + rfu_STC_removeLinkData(i, 1); } } if ((gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag) == 0) gRfuLinkStatus->parentChild = MODE_NEUTRAL; - rfu_STC_REQ_callback(r6, r5); + rfu_STC_REQ_callback(reqCommand, reqResult); if (gRfuStatic->SCStartFlag) { STWI_set_Callback_M(rfu_CB_defaultCallback); STWI_send_SC_StartREQ(); - r5 = STWI_poll_CommandEnd(); - if (r5 != 0) - rfu_STC_REQ_callback(25, r5); + reqResult = STWI_poll_CommandEnd(); + if (reqResult != 0) + rfu_STC_REQ_callback(ID_SC_START_REQ, reqResult); } } @@ -1068,38 +1160,35 @@ void rfu_REQ_CHILD_pollConnectRecovery(void) STWI_send_CPR_PollingREQ(); } -static void rfu_CB_CHILD_pollConnectRecovery(u8 r8, u16 r7) +static void rfu_CB_CHILD_pollConnectRecovery(u8 reqCommand, u16 reqResult) { - u8 r3, r4; - struct RfuLinkStatus *r2; + u8 bm_slot_flag, i; + struct RfuLinkStatus *rfuLinkStatus; - if (r7 == 0 && gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[4] == 0 && gRfuStatic->recoveryBmSlot) + if (reqResult == 0 && gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[4] == 0 && gRfuStatic->recoveryBmSlot) { gRfuLinkStatus->parentChild = MODE_CHILD; - for (r4 = 0; r4 < NELEMS(gRfuStatic->linkEmergencyFlag); ++r4) + for (i = 0; i < RFU_CHILD_MAX; ++i) { - r3 = 1 << r4; - r2 = gRfuLinkStatus; // ??? - if (gRfuStatic->recoveryBmSlot & r3 & r2->linkLossSlotFlag) + bm_slot_flag = 1 << i; + rfuLinkStatus = gRfuLinkStatus; // ??? + if (gRfuStatic->recoveryBmSlot & bm_slot_flag & rfuLinkStatus->linkLossSlotFlag) { - gRfuLinkStatus->connSlotFlag |= r3; - gRfuLinkStatus->linkLossSlotFlag &= ~r3; + gRfuLinkStatus->connSlotFlag |= bm_slot_flag; + gRfuLinkStatus->linkLossSlotFlag &= ~bm_slot_flag; ++gRfuLinkStatus->connCount; - gRfuStatic->linkEmergencyFlag[r4] = 0; + gRfuStatic->linkEmergencyFlag[i] = 0; } } gRfuStatic->recoveryBmSlot = 0; } - rfu_STC_REQ_callback(r8, r7); + rfu_STC_REQ_callback(reqCommand, reqResult); } u16 rfu_CHILD_getConnectRecoveryStatus(u8 *status) { - u8 r0; - *status = 0xFF; - r0 = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[0] + 77; - if (r0 <= 1) + if (gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[0] == 0xB3 || gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[0] == 0xB4) { *status = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[4]; return 0; @@ -1127,14 +1216,14 @@ static void rfu_STC_fastCopy(const u8 **src_p, u8 **dst_p, s32 size) void rfu_REQ_changeMasterSlave(void) { - if (STWI_read_status(1) == 1) + if (STWI_read_status(1) == AGB_CLK_MASTER) { STWI_set_Callback_M(rfu_STC_REQ_callback); STWI_send_MS_ChangeREQ(); } else { - rfu_STC_REQ_callback(39, 0); + rfu_STC_REQ_callback(ID_MS_CHANGE_REQ, 0); } } @@ -1144,11 +1233,11 @@ bool8 rfu_getMasterSlave(void) if (masterSlave == AGB_CLK_MASTER) { - if (gSTWIStatus->unk_2c) + if (gSTWIStatus->sending) { - if (gSTWIStatus->reqActiveCommand == 39 - || gSTWIStatus->reqActiveCommand == 37 - || gSTWIStatus->reqActiveCommand == 55) + if (gSTWIStatus->reqActiveCommand == ID_MS_CHANGE_REQ + || gSTWIStatus->reqActiveCommand == ID_DATA_TX_AND_CHANGE_REQ + || gSTWIStatus->reqActiveCommand == ID_RESUME_RETRANSMIT_AND_CHANGE_REQ) masterSlave = AGB_CLK_SLAVE; } } @@ -1159,7 +1248,7 @@ void rfu_clearAllSlot(void) { u16 i; u16 IMEBackup = REG_IME; - + REG_IME = 0; for (i = 0; i < RFU_CHILD_MAX; ++i) { @@ -1175,87 +1264,87 @@ void rfu_clearAllSlot(void) REG_IME = IMEBackup; } -static void rfu_STC_releaseFrame(u8 r5, u8 r3, struct NIComm *r4) +static void rfu_STC_releaseFrame(u8 bm_slot_id, u8 send_recv, struct NIComm *NI_comm) { if (!(gRfuStatic->flags & 0x80)) { - if (r3 == 0) - gRfuLinkStatus->remainLLFrameSizeParent += r4->payloadSize; + if (send_recv == 0) + gRfuLinkStatus->remainLLFrameSizeParent += NI_comm->payloadSize; gRfuLinkStatus->remainLLFrameSizeParent += 3; } else { - if (r3 == 0) - gRfuLinkStatus->remainLLFrameSizeChild[r5] += r4->payloadSize; - gRfuLinkStatus->remainLLFrameSizeChild[r5] += 2; + if (send_recv == 0) + gRfuLinkStatus->remainLLFrameSizeChild[bm_slot_id] += NI_comm->payloadSize; + gRfuLinkStatus->remainLLFrameSizeChild[bm_slot_id] += 2; } } u16 rfu_clearSlot(u8 connTypeFlag, u8 slotStatusIndex) { - u16 r10, r3, r1; - struct NIComm *r4; + u16 imeBak, send_recv, i; + struct NIComm *NI_comm; if (slotStatusIndex >= RFU_CHILD_MAX) return ERR_SLOT_NO; if (!(connTypeFlag & (TYPE_UNI_SEND | TYPE_UNI_RECV | TYPE_NI_SEND | TYPE_NI_RECV))) return ERR_COMM_TYPE; - r10 = REG_IME; + imeBak = REG_IME; REG_IME = 0; if (connTypeFlag & (TYPE_NI_SEND | TYPE_NI_RECV)) { - for (r3 = 0; r3 < 2; ++r3) + for (send_recv = 0; send_recv < 2; ++send_recv) { - r4 = NULL; - if (r3 == 0) + NI_comm = NULL; + if (send_recv == 0) { if (connTypeFlag & TYPE_NI_SEND) { - r4 = &gRfuSlotStatusNI[slotStatusIndex]->send; - gRfuLinkStatus->sendSlotNIFlag &= ~r4->bmSlotOrg; + NI_comm = &gRfuSlotStatusNI[slotStatusIndex]->send; + gRfuLinkStatus->sendSlotNIFlag &= ~NI_comm->bmSlotOrg; } } else { if (connTypeFlag & TYPE_NI_RECV) { - r4 = &gRfuSlotStatusNI[slotStatusIndex]->recv; + NI_comm = &gRfuSlotStatusNI[slotStatusIndex]->recv; gRfuLinkStatus->recvSlotNIFlag &= ~(1 << slotStatusIndex); } } - if (r4 != NULL) + if (NI_comm != NULL) { - if (r4->state & SLOT_BUSY_FLAG) + if (NI_comm->state & SLOT_BUSY_FLAG) { - rfu_STC_releaseFrame(slotStatusIndex, r3, r4); - for (r1 = 0; r1 < RFU_CHILD_MAX; ++r1) - if ((r4->bmSlotOrg >> r1) & 1) - r4->failCounter = 0; + rfu_STC_releaseFrame(slotStatusIndex, send_recv, NI_comm); + for (i = 0; i < RFU_CHILD_MAX; ++i) + if ((NI_comm->bmSlotOrg >> i) & 1) + NI_comm->failCounter = 0; } - CpuFill16(0, r4, sizeof(struct NIComm)); + CpuFill16(0, NI_comm, sizeof(struct NIComm)); } } } if (connTypeFlag & TYPE_UNI_SEND) { - struct RfuSlotStatusUNI *r3 = gRfuSlotStatusUNI[slotStatusIndex]; + struct RfuSlotStatusUNI *slotStatusUNI = gRfuSlotStatusUNI[slotStatusIndex]; - if (r3->send.state & SLOT_BUSY_FLAG) + if (slotStatusUNI->send.state & SLOT_BUSY_FLAG) { if (!(gRfuStatic->flags & 0x80)) - gRfuLinkStatus->remainLLFrameSizeParent += 3 + (u8)r3->send.payloadSize; + gRfuLinkStatus->remainLLFrameSizeParent += 3 + (u8)slotStatusUNI->send.payloadSize; else - gRfuLinkStatus->remainLLFrameSizeChild[slotStatusIndex] += 2 + (u8)r3->send.payloadSize; - gRfuLinkStatus->sendSlotUNIFlag &= ~r3->send.bmSlot; + gRfuLinkStatus->remainLLFrameSizeChild[slotStatusIndex] += 2 + (u8)slotStatusUNI->send.payloadSize; + gRfuLinkStatus->sendSlotUNIFlag &= ~slotStatusUNI->send.bmSlot; } - CpuFill16(0, &r3->send, sizeof(struct UNISend)); + CpuFill16(0, &slotStatusUNI->send, sizeof(struct UNISend)); } if (connTypeFlag & TYPE_UNI_RECV) { CpuFill16(0, &gRfuSlotStatusUNI[slotStatusIndex]->recv, sizeof(struct UNIRecv)); } - REG_IME = r10; + REG_IME = imeBak; return 0; } @@ -1301,16 +1390,16 @@ u16 rfu_NI_CHILD_setSendGameName(u8 slotNo, u8 subFrameSize) return rfu_STC_setSendData_org(64, 1 << slotNo, subFrameSize, &gRfuLinkStatus->my.serialNo, 26); } -static u16 rfu_STC_setSendData_org(u8 r6, u8 bmSendSlot, u8 subFrameSize, const void *src, u32 sp28) +static u16 rfu_STC_setSendData_org(u8 ni_or_uni, u8 bmSendSlot, u8 subFrameSize, const void *src, u32 dataSize) { - u8 r2, r0; - u8 r4; - u8 *r9; - u8 r5; + u8 bm_slot_id, sendSlotFlag; + u8 frameSize; + u8 *llFrameSize_p; + u8 sending; u8 i; - u16 sp04; - struct RfuSlotStatusUNI *r1; - struct RfuSlotStatusNI *r12; + u16 imeBak; + struct RfuSlotStatusUNI *slotStatus_UNI; + struct RfuSlotStatusNI *slotStatus_NI; if (gRfuLinkStatus->parentChild == MODE_NEUTRAL) return ERR_MODE_NOT_CONNECTED; @@ -1318,108 +1407,108 @@ static u16 rfu_STC_setSendData_org(u8 r6, u8 bmSendSlot, u8 subFrameSize, const return ERR_SLOT_NO; if (((gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag) & bmSendSlot) != bmSendSlot) return ERR_SLOT_NOT_CONNECTED; - if (r6 & 0x10) - r0 = gRfuLinkStatus->sendSlotUNIFlag; + if (ni_or_uni & 0x10) + sendSlotFlag = gRfuLinkStatus->sendSlotUNIFlag; else - r0 = gRfuLinkStatus->sendSlotNIFlag; - if (r0 & bmSendSlot) + sendSlotFlag = gRfuLinkStatus->sendSlotNIFlag; + if (sendSlotFlag & bmSendSlot) return ERR_SLOT_BUSY; - for (r2 = 0; r2 < RFU_CHILD_MAX && !((bmSendSlot >> r2) & 1); ++r2) + for (bm_slot_id = 0; bm_slot_id < RFU_CHILD_MAX && !((bmSendSlot >> bm_slot_id) & 1); ++bm_slot_id) ; if (gRfuLinkStatus->parentChild == MODE_PARENT) - r9 = &gRfuLinkStatus->remainLLFrameSizeParent; + llFrameSize_p = &gRfuLinkStatus->remainLLFrameSizeParent; else if (gRfuLinkStatus->parentChild == MODE_CHILD) - r9 = &gRfuLinkStatus->remainLLFrameSizeChild[r2]; - r4 = llsf_struct[gRfuLinkStatus->parentChild].unk00; - if (subFrameSize > *r9 || subFrameSize <= r4) + llFrameSize_p = &gRfuLinkStatus->remainLLFrameSizeChild[bm_slot_id]; + frameSize = llsf_struct[gRfuLinkStatus->parentChild].frameSize; + if (subFrameSize > *llFrameSize_p || subFrameSize <= frameSize) return ERR_SUBFRAME_SIZE; - sp04 = REG_IME; + imeBak = REG_IME; REG_IME = 0; - r5 = r6 & 0x20; - if (r5 || r6 == 0x40) + sending = ni_or_uni & 0x20; + if (sending || ni_or_uni == 0x40) { - u8 *r1; // a hack to swap instructions + u8 *dataType_p; // a hack to swap instructions - r12 = gRfuSlotStatusNI[r2]; - r1 = NULL; - r12->send.errorCode = 0; - *r12->send.now_p = r1 = &r12->send.dataType; - r12->send.remainSize = 7; - r12->send.bmSlotOrg = bmSendSlot; - r12->send.bmSlot = bmSendSlot; - r12->send.payloadSize = subFrameSize - r4; - if (r5 != 0) - *r1 = 0; + slotStatus_NI = gRfuSlotStatusNI[bm_slot_id]; + slotStatus_UNI = NULL; + slotStatus_NI->send.errorCode = 0; + *slotStatus_NI->send.now_p = dataType_p = &slotStatus_NI->send.dataType; + slotStatus_NI->send.remainSize = 7; + slotStatus_NI->send.bmSlotOrg = bmSendSlot; + slotStatus_NI->send.bmSlot = bmSendSlot; + slotStatus_NI->send.payloadSize = subFrameSize - frameSize; + if (sending != 0) + *dataType_p = 0; else - *r1 = 1; - r12->send.dataSize = sp28; - r12->send.src = src; - r12->send.ack = 0; - r12->send.phase = 0; + *dataType_p = 1; + slotStatus_NI->send.dataSize = dataSize; + slotStatus_NI->send.src = src; + slotStatus_NI->send.ack = 0; + slotStatus_NI->send.phase = 0; #ifndef NONMATCHING // to fix r2, r3, r4, r5 register roulette asm("":::"r2"); #endif for (i = 0; i < WINDOW_COUNT; ++i) { - r12->send.recvAckFlag[i] = 0; - r12->send.n[i] = 1; + slotStatus_NI->send.recvAckFlag[i] = 0; + slotStatus_NI->send.n[i] = 1; } - for (r2 = 0; r2 < RFU_CHILD_MAX; ++r2) - if ((bmSendSlot >> r2) & 1) - gRfuSlotStatusNI[r2]->send.failCounter = 0; + for (bm_slot_id = 0; bm_slot_id < RFU_CHILD_MAX; ++bm_slot_id) + if ((bmSendSlot >> bm_slot_id) & 1) + gRfuSlotStatusNI[bm_slot_id]->send.failCounter = 0; gRfuLinkStatus->sendSlotNIFlag |= bmSendSlot; - *r9 -= subFrameSize; - r12->send.state = SLOT_STATE_SEND_START; + *llFrameSize_p -= subFrameSize; + slotStatus_NI->send.state = SLOT_STATE_SEND_START; } - else if (r6 & 0x10) + else if (ni_or_uni & 0x10) { - r1 = gRfuSlotStatusUNI[r2]; - r1->send.bmSlot = bmSendSlot; - r1->send.src = src; - r1->send.payloadSize = subFrameSize - r4; - *r9 -= subFrameSize; - r1->send.state = SLOT_STATE_SEND_UNI; + slotStatus_UNI = gRfuSlotStatusUNI[bm_slot_id]; + slotStatus_UNI->send.bmSlot = bmSendSlot; + slotStatus_UNI->send.src = src; + slotStatus_UNI->send.payloadSize = subFrameSize - frameSize; + *llFrameSize_p -= subFrameSize; + slotStatus_UNI->send.state = SLOT_STATE_SEND_UNI; gRfuLinkStatus->sendSlotUNIFlag |= bmSendSlot; } - REG_IME = sp04; + REG_IME = imeBak; return 0; } u16 rfu_changeSendTarget(u8 connType, u8 slotStatusIndex, u8 bmNewTgtSlot) { - struct RfuSlotStatusNI *r5; - u16 r8; - u8 r2; + struct RfuSlotStatusNI *slotStatusNI; + u16 imeBak; + u8 i; if (slotStatusIndex >= RFU_CHILD_MAX) return ERR_SLOT_NO; if (connType == 0x20) { - r5 = gRfuSlotStatusNI[slotStatusIndex]; - if ((r5->send.state & SLOT_BUSY_FLAG) - && (r5->send.state & SLOT_SEND_FLAG)) + slotStatusNI = gRfuSlotStatusNI[slotStatusIndex]; + if ((slotStatusNI->send.state & SLOT_BUSY_FLAG) + && (slotStatusNI->send.state & SLOT_SEND_FLAG)) { - connType = bmNewTgtSlot ^ r5->send.bmSlot; - + connType = bmNewTgtSlot ^ slotStatusNI->send.bmSlot; + if (!(connType & bmNewTgtSlot)) { if (connType) { - r8 = REG_IME; + imeBak = REG_IME; REG_IME = 0; - for (r2 = 0; r2 < RFU_CHILD_MAX; ++r2) + for (i = 0; i < RFU_CHILD_MAX; ++i) { - if ((connType >> r2) & 1) - gRfuSlotStatusNI[r2]->send.failCounter = 0; + if ((connType >> i) & 1) + gRfuSlotStatusNI[i]->send.failCounter = 0; } gRfuLinkStatus->sendSlotNIFlag &= ~connType; - r5->send.bmSlot = bmNewTgtSlot; - if (r5->send.bmSlot == 0) + slotStatusNI->send.bmSlot = bmNewTgtSlot; + if (slotStatusNI->send.bmSlot == 0) { - rfu_STC_releaseFrame(slotStatusIndex, 0, &r5->send); - r5->send.state = SLOT_STATE_SEND_FAILED; + rfu_STC_releaseFrame(slotStatusIndex, 0, &slotStatusNI->send); + slotStatusNI->send.state = SLOT_STATE_SEND_FAILED; } - REG_IME = r8; + REG_IME = imeBak; } } else @@ -1436,21 +1525,21 @@ u16 rfu_changeSendTarget(u8 connType, u8 slotStatusIndex, u8 bmNewTgtSlot) { if (connType == 16) { - s32 r3; + s32 bmSlot; if (gRfuSlotStatusUNI[slotStatusIndex]->send.state != SLOT_STATE_SEND_UNI) return ERR_SLOT_NOT_SENDING; - for (r3 = 0, r2 = 0; r2 < RFU_CHILD_MAX; ++r2) - if (r2 != slotStatusIndex) - r3 |= gRfuSlotStatusUNI[r2]->send.bmSlot; - if (bmNewTgtSlot & r3) + for (bmSlot = 0, i = 0; i < RFU_CHILD_MAX; ++i) + if (i != slotStatusIndex) + bmSlot |= gRfuSlotStatusUNI[i]->send.bmSlot; + if (bmNewTgtSlot & bmSlot) return ERR_SLOT_TARGET; - r8 = REG_IME; + imeBak = REG_IME; REG_IME = 0; gRfuLinkStatus->sendSlotUNIFlag &= ~gRfuSlotStatusUNI[slotStatusIndex]->send.bmSlot; gRfuLinkStatus->sendSlotUNIFlag |= bmNewTgtSlot; gRfuSlotStatusUNI[slotStatusIndex]->send.bmSlot = bmNewTgtSlot; - REG_IME = r8; + REG_IME = imeBak; } else { @@ -1462,14 +1551,14 @@ u16 rfu_changeSendTarget(u8 connType, u8 slotStatusIndex, u8 bmNewTgtSlot) u16 rfu_NI_stopReceivingData(u8 slotStatusIndex) { - struct NIComm *r5; - u16 r4, r1; + struct NIComm *NI_comm; + u16 imeBak; if (slotStatusIndex >= RFU_CHILD_MAX) return ERR_SLOT_NO; - r5 = &gRfuSlotStatusNI[slotStatusIndex]->recv; - r4 = REG_IME; - ++r4; --r4; // fix r4, r5 register swap + NI_comm = &gRfuSlotStatusNI[slotStatusIndex]->recv; + imeBak = REG_IME; + ++imeBak; --imeBak; // fix imeBak, NI_comm register swap REG_IME = 0; if (gRfuSlotStatusNI[slotStatusIndex]->recv.state & SLOT_BUSY_FLAG) { @@ -1478,43 +1567,43 @@ u16 rfu_NI_stopReceivingData(u8 slotStatusIndex) else gRfuSlotStatusNI[slotStatusIndex]->recv.state = SLOT_STATE_RECV_FAILED; gRfuLinkStatus->recvSlotNIFlag &= ~(1 << slotStatusIndex); - rfu_STC_releaseFrame(slotStatusIndex, 1, r5); + rfu_STC_releaseFrame(slotStatusIndex, 1, NI_comm); } - REG_IME = r4; + REG_IME = imeBak; return 0; } u16 rfu_UNI_changeAndReadySendData(u8 slotStatusIndex, const void *src, u8 size) { - struct UNISend *r4; - u8 *r6; - u16 r1; - u8 r3_; + struct UNISend *UNI_send; + u8 *frame_p; + u16 imeBak; + u8 frameEnd; if (slotStatusIndex >= RFU_CHILD_MAX) return ERR_SLOT_NO; - r4 = &gRfuSlotStatusUNI[slotStatusIndex]->send; - if (r4->state != SLOT_STATE_SEND_UNI) + UNI_send = &gRfuSlotStatusUNI[slotStatusIndex]->send; + if (UNI_send->state != SLOT_STATE_SEND_UNI) return ERR_SLOT_NOT_SENDING; if (gRfuLinkStatus->parentChild == MODE_PARENT) { - r6 = &gRfuLinkStatus->remainLLFrameSizeParent; - r3_ = gRfuLinkStatus->remainLLFrameSizeParent + (u8)r4->payloadSize; + frame_p = &gRfuLinkStatus->remainLLFrameSizeParent; + frameEnd = gRfuLinkStatus->remainLLFrameSizeParent + (u8)UNI_send->payloadSize; } else { - r6 = &gRfuLinkStatus->remainLLFrameSizeChild[slotStatusIndex]; - r3_ = gRfuLinkStatus->remainLLFrameSizeChild[slotStatusIndex] + (u8)r4->payloadSize; + frame_p = &gRfuLinkStatus->remainLLFrameSizeChild[slotStatusIndex]; + frameEnd = gRfuLinkStatus->remainLLFrameSizeChild[slotStatusIndex] + (u8)UNI_send->payloadSize; } - if (r3_ < size) + if (frameEnd < size) return ERR_SUBFRAME_SIZE; - r1 = REG_IME; + imeBak = REG_IME; REG_IME = 0; - r4->src = src; - *r6 = r3_ - size; - r4->payloadSize = size; - r4->dataReadyFlag = 1; - REG_IME = r1; + UNI_send->src = src; + *frame_p = frameEnd - size; + UNI_send->payloadSize = size; + UNI_send->dataReadyFlag = 1; + REG_IME = imeBak; return 0; } @@ -1593,184 +1682,184 @@ void rfu_REQ_sendData(bool8 clockChangeFlag) } } -static void rfu_CB_sendData(UNUSED u8 r0, u16 r7) +static void rfu_CB_sendData(UNUSED u8 reqCommand, u16 reqResult) { - u8 r6; - struct NIComm *r4; + u8 i; + struct NIComm *NI_comm; - if (r7 == 0) + if (reqResult == 0) { - for (r6 = 0; r6 < RFU_CHILD_MAX; ++r6) + for (i = 0; i < RFU_CHILD_MAX; ++i) { - if (gRfuSlotStatusUNI[r6]->send.dataReadyFlag) - gRfuSlotStatusUNI[r6]->send.dataReadyFlag = 0; - r4 = &gRfuSlotStatusNI[r6]->send; - if (r4->state == SLOT_STATE_SEND_NULL) + if (gRfuSlotStatusUNI[i]->send.dataReadyFlag) + gRfuSlotStatusUNI[i]->send.dataReadyFlag = 0; + NI_comm = &gRfuSlotStatusNI[i]->send; + if (NI_comm->state == SLOT_STATE_SEND_NULL) { - rfu_STC_releaseFrame(r6, 0, r4); - gRfuLinkStatus->sendSlotNIFlag &= ~r4->bmSlot; - if (r4->dataType == 1) - gRfuLinkStatus->getNameFlag |= 1 << r6; - r4->state = SLOT_STATE_SEND_SUCCESS; + rfu_STC_releaseFrame(i, 0, NI_comm); + gRfuLinkStatus->sendSlotNIFlag &= ~NI_comm->bmSlot; + if (NI_comm->dataType == 1) + gRfuLinkStatus->getNameFlag |= 1 << i; + NI_comm->state = SLOT_STATE_SEND_SUCCESS; } } } gRfuLinkStatus->LLFReadyFlag = 0; - rfu_STC_REQ_callback(36, r7); + rfu_STC_REQ_callback(ID_DATA_TX_REQ, reqResult); } -static void rfu_CB_sendData2(UNUSED u8 r0, u16 r1) +static void rfu_CB_sendData2(UNUSED u8 reqCommand, u16 reqResult) { - rfu_STC_REQ_callback(36, r1); + rfu_STC_REQ_callback(ID_DATA_TX_REQ, reqResult); } -static void rfu_CB_sendData3(u8 r0, u16 r1) +static void rfu_CB_sendData3(u8 reqCommand, u16 reqResult) { - if (r1 != 0) - rfu_STC_REQ_callback(36, r1); - else if (r0 == 0xFF) - rfu_STC_REQ_callback(0xFF, 0); + if (reqResult != 0) + rfu_STC_REQ_callback(ID_DATA_TX_REQ, reqResult); + else if (reqCommand == ID_CLOCK_SLAVE_MS_CHANGE_ERROR_BY_DMA_REQ) + rfu_STC_REQ_callback(ID_CLOCK_SLAVE_MS_CHANGE_ERROR_BY_DMA_REQ, 0); } static void rfu_constructSendLLFrame(void) { - u32 r8, r5; - u8 r6; - u8 *sp00; - struct RfuSlotStatusNI *r2; + u32 pakcketSize, currSize; + u8 i; + u8 *llf_p; + struct RfuSlotStatusNI *slotStatusNI; if (gRfuLinkStatus->parentChild != MODE_NEUTRAL && gRfuLinkStatus->sendSlotNIFlag | gRfuLinkStatus->recvSlotNIFlag | gRfuLinkStatus->sendSlotUNIFlag) { gRfuLinkStatus->LLFReadyFlag = 0; - r8 = 0; - sp00 = (u8 *)&gRfuFixed->LLFBuffer[1]; - for (r6 = 0; r6 < RFU_CHILD_MAX; ++r6) + pakcketSize = 0; + llf_p = (u8 *)&gRfuFixed->LLFBuffer[1]; + for (i = 0; i < RFU_CHILD_MAX; ++i) { - r5 = 0; - if (gRfuSlotStatusNI[r6]->send.state & SLOT_BUSY_FLAG) - r5 = rfu_STC_NI_constructLLSF(r6, &sp00, &gRfuSlotStatusNI[r6]->send); - if (gRfuSlotStatusNI[r6]->recv.state & SLOT_BUSY_FLAG) - r5 += rfu_STC_NI_constructLLSF(r6, &sp00, &gRfuSlotStatusNI[r6]->recv); - if (gRfuSlotStatusUNI[r6]->send.state == SLOT_STATE_SEND_UNI) - r5 += rfu_STC_UNI_constructLLSF(r6, &sp00); - if (r5 != 0) + currSize = 0; + if (gRfuSlotStatusNI[i]->send.state & SLOT_BUSY_FLAG) + currSize = rfu_STC_NI_constructLLSF(i, &llf_p, &gRfuSlotStatusNI[i]->send); + if (gRfuSlotStatusNI[i]->recv.state & SLOT_BUSY_FLAG) + currSize += rfu_STC_NI_constructLLSF(i, &llf_p, &gRfuSlotStatusNI[i]->recv); + if (gRfuSlotStatusUNI[i]->send.state == SLOT_STATE_SEND_UNI) + currSize += rfu_STC_UNI_constructLLSF(i, &llf_p); + if (currSize != 0) { if (gRfuLinkStatus->parentChild == MODE_PARENT) - r8 += r5; + pakcketSize += currSize; else - r8 |= r5 << (5 * r6 + 8); + pakcketSize |= currSize << (5 * i + 8); } } - if (r8 != 0) + if (pakcketSize != 0) { - while ((u32)sp00 & 3) - *sp00++ = 0; - gRfuFixed->LLFBuffer[0] = r8; + while ((u32)llf_p & 3) + *llf_p++ = 0; + gRfuFixed->LLFBuffer[0] = pakcketSize; if (gRfuLinkStatus->parentChild == MODE_CHILD) { - u8 *r0 = sp00 - offsetof(struct RfuFixed, LLFBuffer[1]); - - // Does the volatile qualifier make sense? - // It's the same as: + u8 *maxSize = llf_p - offsetof(struct RfuFixed, LLFBuffer[1]); + + // Does the volatile qualifier make sense? + // It's the same as: // asm("":::"memory"); - r8 = r0 - *(u8 *volatile *)&gRfuFixed; + pakcketSize = maxSize - *(u8 *volatile *)&gRfuFixed; } } - gRfuStatic->totalPacketSize = r8; + gRfuStatic->totalPacketSize = pakcketSize; } } -static u16 rfu_STC_NI_constructLLSF(u8 r10, u8 **r12, struct NIComm *r4) +static u16 rfu_STC_NI_constructLLSF(u8 bm_slot_id, u8 **dest_pp, struct NIComm *NI_comm) { - u16 r5; - u32 sp00; + u16 size; + u32 frame; u8 i; - u8 *r2; - const struct LLSFStruct *r8 = &llsf_struct[gRfuLinkStatus->parentChild]; + u8 *frame8_p; + const struct LLSFStruct *llsf = &llsf_struct[gRfuLinkStatus->parentChild]; - if (r4->state == SLOT_STATE_SENDING) + if (NI_comm->state == SLOT_STATE_SENDING) { - while (r4->now_p[r4->phase] >= (const u8 *)r4->src + r4->dataSize) + while (NI_comm->now_p[NI_comm->phase] >= (const u8 *)NI_comm->src + NI_comm->dataSize) { - ++r4->phase; - if (r4->phase == 4) - r4->phase = 0; + ++NI_comm->phase; + if (NI_comm->phase == 4) + NI_comm->phase = 0; } } - if (r4->state & SLOT_RECV_FLAG) + if (NI_comm->state & SLOT_RECV_FLAG) { - r5 = 0; + size = 0; } - else if (r4->state == SLOT_STATE_SENDING) + else if (NI_comm->state == SLOT_STATE_SENDING) { - if (r4->now_p[r4->phase] + r4->payloadSize > (const u8 *)r4->src + r4->dataSize) - r5 = (const u8 *)r4->src + r4->dataSize - r4->now_p[r4->phase]; + if (NI_comm->now_p[NI_comm->phase] + NI_comm->payloadSize > (const u8 *)NI_comm->src + NI_comm->dataSize) + size = (const u8 *)NI_comm->src + NI_comm->dataSize - NI_comm->now_p[NI_comm->phase]; else - r5 = r4->payloadSize; + size = NI_comm->payloadSize; } else { - if ((u32)r4->remainSize >= r4->payloadSize) - r5 = r4->payloadSize; + if ((u32)NI_comm->remainSize >= NI_comm->payloadSize) + size = NI_comm->payloadSize; else - r5 = r4->remainSize; + size = NI_comm->remainSize; } - sp00 = (r4->state & 0xF) << r8->unk03 - | r4->ack << r8->unk04 - | r4->phase << r8->unk05 - | r4->n[r4->phase] << r8->unk06 - | r5; + frame = (NI_comm->state & 0xF) << llsf->slotStateShift + | NI_comm->ack << llsf->ackShift + | NI_comm->phase << llsf->phaseShit + | NI_comm->n[NI_comm->phase] << llsf->nShift + | size; if (gRfuLinkStatus->parentChild == MODE_PARENT) - sp00 |= r4->bmSlot << 18; - r2 = (u8 *)&sp00; - for (i = 0; i < r8->unk00; ++i) - *(*r12)++ = *r2++; - if (r5 != 0) + frame |= NI_comm->bmSlot << 18; + frame8_p = (u8 *)&frame; + for (i = 0; i < llsf->frameSize; ++i) + *(*dest_pp)++ = *frame8_p++; + if (size != 0) { - const u8 *sp04 = r4->now_p[r4->phase]; + const u8 *src = NI_comm->now_p[NI_comm->phase]; - gRfuFixed->fastCopyPtr(&sp04, r12, r5); + gRfuFixed->fastCopyPtr(&src, dest_pp, size); } - if (r4->state == SLOT_STATE_SENDING) + if (NI_comm->state == SLOT_STATE_SENDING) { - ++r4->phase; - if (r4->phase == 4) - r4->phase = 0; + ++NI_comm->phase; + if (NI_comm->phase == 4) + NI_comm->phase = 0; } if (gRfuLinkStatus->parentChild == MODE_PARENT) gRfuLinkStatus->LLFReadyFlag = 1; else - gRfuLinkStatus->LLFReadyFlag |= 1 << r10; - return r5 + r8->unk00; + gRfuLinkStatus->LLFReadyFlag |= 1 << bm_slot_id; + return size + llsf->frameSize; } -static u16 rfu_STC_UNI_constructLLSF(u8 r8, u8 **r6) +static u16 rfu_STC_UNI_constructLLSF(u8 bm_slot_id, u8 **dest_p) { - const struct LLSFStruct *r5; - const u8 *sp04; - u32 sp00; - u8 *r2; + const struct LLSFStruct *llsf; + const u8 *src_p; + u32 frame; + u8 *frame8_p; u8 i; - struct UNISend *r4 = &gRfuSlotStatusUNI[r8]->send; + struct UNISend *UNI_send = &gRfuSlotStatusUNI[bm_slot_id]->send; - if (!r4->dataReadyFlag || !r4->bmSlot) + if (!UNI_send->dataReadyFlag || !UNI_send->bmSlot) return 0; - r5 = &llsf_struct[gRfuLinkStatus->parentChild]; - sp00 = (r4->state & 0xF) << r5->unk03 - | r4->payloadSize; + llsf = &llsf_struct[gRfuLinkStatus->parentChild]; + frame = (UNI_send->state & 0xF) << llsf->slotStateShift + | UNI_send->payloadSize; if (gRfuLinkStatus->parentChild == MODE_PARENT) - sp00 |= r4->bmSlot << 18; - r2 = (u8 *)&sp00; - for (i = 0; i < r5->unk00; ++i) - *(*r6)++ = *r2++; - sp04 = r4->src; - gRfuFixed->fastCopyPtr(&sp04, r6, r4->payloadSize); + frame |= UNI_send->bmSlot << 18; + frame8_p = (u8 *)&frame; + for (i = 0; i < llsf->frameSize; ++i) + *(*dest_p)++ = *frame8_p++; + src_p = UNI_send->src; + gRfuFixed->fastCopyPtr(&src_p, dest_p, UNI_send->payloadSize); if (gRfuLinkStatus->parentChild == MODE_PARENT) gRfuLinkStatus->LLFReadyFlag = 16; else - gRfuLinkStatus->LLFReadyFlag |= 16 << r8; - return r5->unk00 + r4->payloadSize; + gRfuLinkStatus->LLFReadyFlag |= 16 << bm_slot_id; + return llsf->frameSize + UNI_send->payloadSize; } void rfu_REQ_recvData(void) @@ -1784,434 +1873,433 @@ void rfu_REQ_recvData(void) } } -static void rfu_CB_recvData(u8 r9, u16 r7) +static void rfu_CB_recvData(u8 reqCommand, u16 reqResult) { - u8 r6; - struct RfuSlotStatusNI *r4; - struct NIComm *r5; + u8 i; + struct RfuSlotStatusNI *slotStatusNI; + struct NIComm *NI_comm; - if (r7 == 0 && gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[1]) + if (reqResult == 0 && gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[1]) { gRfuStatic->NIEndRecvFlag = 0; if (gRfuLinkStatus->parentChild == MODE_PARENT) rfu_STC_PARENT_analyzeRecvPacket(); else rfu_STC_CHILD_analyzeRecvPacket(); - for (r6 = 0; r6 < RFU_CHILD_MAX; ++r6) + for (i = 0; i < RFU_CHILD_MAX; ++i) { - r4 = gRfuSlotStatusNI[r6]; - if (r4->recv.state == SLOT_STATE_RECV_LAST && !((gRfuStatic->NIEndRecvFlag >> r6) & 1)) + slotStatusNI = gRfuSlotStatusNI[i]; + if (slotStatusNI->recv.state == SLOT_STATE_RECV_LAST && !((gRfuStatic->NIEndRecvFlag >> i) & 1)) { - r5 = &r4->recv; - if (r5->dataType == 1) - gRfuLinkStatus->getNameFlag |= 1 << r6; - rfu_STC_releaseFrame(r6, 1, r5); - gRfuLinkStatus->recvSlotNIFlag &= ~r5->bmSlot; - r4->recv.state = SLOT_STATE_RECV_SUCCESS; + NI_comm = &slotStatusNI->recv; + if (NI_comm->dataType == 1) + gRfuLinkStatus->getNameFlag |= 1 << i; + rfu_STC_releaseFrame(i, 1, NI_comm); + gRfuLinkStatus->recvSlotNIFlag &= ~NI_comm->bmSlot; + slotStatusNI->recv.state = SLOT_STATE_RECV_SUCCESS; } } if (gRfuStatic->recvErrorFlag) - r7 = gRfuStatic->recvErrorFlag | ERR_DATA_RECV; + reqResult = gRfuStatic->recvErrorFlag | ERR_DATA_RECV; } - rfu_STC_REQ_callback(r9, r7); + rfu_STC_REQ_callback(reqCommand, reqResult); } static void rfu_STC_PARENT_analyzeRecvPacket(void) { - u32 r3; - u8 r5; - u8 sp[4]; - u8 *r6; + u32 frames32; + u8 bm_slot_id; + u8 frame_counts[RFU_CHILD_MAX]; + u8 *packet_p; - r3 = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.data[0] >> 8; - for (r5 = 0; r5 < NELEMS(sp); ++r5) + frames32 = gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket32.data[0] >> 8; + for (bm_slot_id = 0; bm_slot_id < RFU_CHILD_MAX; ++bm_slot_id) { - sp[r5] = r3 & 0x1F; - r3 >>= 5; - if (sp[r5] == 0) - gRfuStatic->NIEndRecvFlag |= 1 << r5; + frame_counts[bm_slot_id] = frames32 & 0x1F; + frames32 >>= 5; + if (frame_counts[bm_slot_id] == 0) + gRfuStatic->NIEndRecvFlag |= 1 << bm_slot_id; } - r6 = &gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[8]; - for (r5 = 0; r5 < NELEMS(sp); ++r5) + packet_p = &gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[8]; + for (bm_slot_id = 0; bm_slot_id < RFU_CHILD_MAX; ++bm_slot_id) { - if (sp[r5]) + if (frame_counts[bm_slot_id]) { - u8 *r4 = &sp[r5]; + u8 *frames_p = &frame_counts[bm_slot_id]; do { - u8 r0 = rfu_STC_analyzeLLSF(r5, r6, *r4); + u8 analyzed_frames = rfu_STC_analyzeLLSF(bm_slot_id, packet_p, *frames_p); - r6 += r0; - *r4 -= r0; - } while (!(*r4 & 0x80) && (*r4)); + packet_p += analyzed_frames; + *frames_p -= analyzed_frames; + } while (!(*frames_p & 0x80) && (*frames_p)); } } } static void rfu_STC_CHILD_analyzeRecvPacket(void) { - u16 r4; - u8 *r5; - u16 r0; + u16 frames_remaining; + u8 *packet_p; + u16 analyzed_frames; - r4 = *(u16 *)&gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[4] & 0x7F; - r5 = &gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[8]; - if (r4 == 0) + frames_remaining = *(u16 *)&gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[4] & 0x7F; + packet_p = &gRfuFixed->STWIBuffer->rxPacketAlloc.rfuPacket8.data[8]; + if (frames_remaining == 0) gRfuStatic->NIEndRecvFlag = 15; do { - if (r4 == 0) + if (frames_remaining == 0) break; - r0 = rfu_STC_analyzeLLSF(0, r5, r4); - r5 += r0; - r4 -= r0; - } while (!(r4 & 0x8000)); + analyzed_frames = rfu_STC_analyzeLLSF(0, packet_p, frames_remaining); + packet_p += analyzed_frames; + frames_remaining -= analyzed_frames; + } while (!(frames_remaining & 0x8000)); } -static u16 rfu_STC_analyzeLLSF(u8 r12, const u8 *r7, u16 r3) +static u16 rfu_STC_analyzeLLSF(u8 slot_id, const u8 *src, u16 last_frame) { - struct RfuLocalStruct sp00; - const struct LLSFStruct *r6; - u32 r5; - u8 r4; - u32 r0; - u16 r10; + struct RfuLocalStruct llsf_NI; + const struct LLSFStruct *llsf_p; + u32 frames; + u8 i; + u16 retVal; - r6 = &llsf_struct[~gRfuLinkStatus->parentChild & (MODE_NEUTRAL & MODE_PARENT)]; - if (r3 < r6->unk00) - return r3; - r5 = 0; - for (r4 = 0; r4 < r6->unk00; ++r4) - r5 |= *r7++ << 8 * r4; - sp00.unk00 = (r5 >> r6->unk01) & r6->unk07; - sp00.unk01 = (r5 >> r6->unk02) & r6->unk08; - sp00.unk02 = (r5 >> r6->unk03) & r6->unk09; - sp00.unk03 = (r5 >> r6->unk04) & r6->unk0A; - sp00.unk04 = (r5 >> r6->unk05) & r6->unk0B; - sp00.unk05 = (r5 >> r6->unk06) & r6->unk0C; - sp00.unk06 = (r5 & r6->unk0E) & r5; - r10 = sp00.unk06 + r6->unk00; - if (sp00.unk00 == 0) + llsf_p = &llsf_struct[~gRfuLinkStatus->parentChild & (MODE_NEUTRAL & MODE_PARENT)]; + if (last_frame < llsf_p->frameSize) + return last_frame; + frames = 0; + for (i = 0; i < llsf_p->frameSize; ++i) + frames |= *src++ << 8 * i; + llsf_NI.recvFirst = (frames >> llsf_p->recvFirstShift) & llsf_p->recvFirstMask; + llsf_NI.connSlotFlag = (frames >> llsf_p->connSlotFlagShift) & llsf_p->connSlotFlagMask; + llsf_NI.slotState = (frames >> llsf_p->slotStateShift) & llsf_p->slotStateMask; + llsf_NI.ack = (frames >> llsf_p->ackShift) & llsf_p->ackMask; + llsf_NI.phase = (frames >> llsf_p->phaseShit) & llsf_p->phaseMask; + llsf_NI.n = (frames >> llsf_p->nShift) & llsf_p->nMask; + llsf_NI.frame = (frames & llsf_p->framesMask) & frames; + retVal = llsf_NI.frame + llsf_p->frameSize; + if (llsf_NI.recvFirst == 0) { if (gRfuLinkStatus->parentChild == MODE_PARENT) { - if ((gRfuLinkStatus->connSlotFlag >> r12) & 1) + if ((gRfuLinkStatus->connSlotFlag >> slot_id) & 1) { - if (sp00.unk02 == 4) + if (llsf_NI.slotState == LCOM_UNI) { - rfu_STC_UNI_receive(r12, &sp00, r7); + rfu_STC_UNI_receive(slot_id, &llsf_NI, src); } - else if (sp00.unk03 == 0) + else if (llsf_NI.ack == 0) { - rfu_STC_NI_receive_Receiver(r12, &sp00, r7); + rfu_STC_NI_receive_Receiver(slot_id, &llsf_NI, src); } else { - for (r4 = 0; r4 < RFU_CHILD_MAX; ++r4) - if (((gRfuSlotStatusNI[r4]->send.bmSlot >> r12) & 1) - && ((gRfuLinkStatus->sendSlotNIFlag >> r12) & 1)) + for (i = 0; i < RFU_CHILD_MAX; ++i) + if (((gRfuSlotStatusNI[i]->send.bmSlot >> slot_id) & 1) + && ((gRfuLinkStatus->sendSlotNIFlag >> slot_id) & 1)) break; - if (r4 <= 3) - rfu_STC_NI_receive_Sender(r4, r12, &sp00, r7); + if (i < RFU_CHILD_MAX) + rfu_STC_NI_receive_Sender(i, slot_id, &llsf_NI, src); } } } else { - s32 r5 = gRfuLinkStatus->connSlotFlag & sp00.unk01; + s32 conSlots = gRfuLinkStatus->connSlotFlag & llsf_NI.connSlotFlag; - if (r5) + if (conSlots) { - for (r4 = 0; r4 < RFU_CHILD_MAX; ++r4) + for (i = 0; i < RFU_CHILD_MAX; ++i) { - if ((r5 >> r4) & 1) + if ((conSlots >> i) & 1) { - if (sp00.unk02 == 4) - rfu_STC_UNI_receive(r4, &sp00, r7); - else if (sp00.unk03 == 0) - rfu_STC_NI_receive_Receiver(r4, &sp00, r7); - else if ((gRfuLinkStatus->sendSlotNIFlag >> r4) & 1) - rfu_STC_NI_receive_Sender(r4, r4, &sp00, r7); + if (llsf_NI.slotState == LCOM_UNI) + rfu_STC_UNI_receive(i, &llsf_NI, src); + else if (llsf_NI.ack == 0) + rfu_STC_NI_receive_Receiver(i, &llsf_NI, src); + else if ((gRfuLinkStatus->sendSlotNIFlag >> i) & 1) + rfu_STC_NI_receive_Sender(i, i, &llsf_NI, src); } } } } } - return r10; + return retVal; } -static void rfu_STC_UNI_receive(u8 r7, const struct RfuLocalStruct *r6, const u8 *sp00) +static void rfu_STC_UNI_receive(u8 bm_slot_id, const struct RfuLocalStruct *llsf_NI, const u8 *src) { - u8 *sp04; - u32 r2; - struct RfuSlotStatusUNI *r3 = gRfuSlotStatusUNI[r7]; - struct UNIRecv *r5 = &r3->recv; + u8 *dest; + u32 size; + struct RfuSlotStatusUNI *slotStatusUNI = gRfuSlotStatusUNI[bm_slot_id]; + struct UNIRecv *UNI_recv = &slotStatusUNI->recv; - r5->errorCode = 0; - if (gRfuSlotStatusUNI[r7]->recvBufferSize < r6->unk06) + UNI_recv->errorCode = 0; + if (gRfuSlotStatusUNI[bm_slot_id]->recvBufferSize < llsf_NI->frame) { - r3->recv.state = SLOT_STATE_RECV_IGNORE; - r5->errorCode = ERR_RECV_BUFF_OVER; + slotStatusUNI->recv.state = SLOT_STATE_RECV_IGNORE; + UNI_recv->errorCode = ERR_RECV_BUFF_OVER; } else - { - if (r5->dataBlockFlag) + { + if (UNI_recv->dataBlockFlag) { - if (r5->newDataFlag) + if (UNI_recv->newDataFlag) { - r5->errorCode = ERR_RECV_UNK; - goto _081E2F0E; + UNI_recv->errorCode = ERR_RECV_UNK; + goto force_tail_merge; } } else { - if (r5->newDataFlag) - r5->errorCode = ERR_RECV_DATA_OVERWRITED; + if (UNI_recv->newDataFlag) + UNI_recv->errorCode = ERR_RECV_DATA_OVERWRITED; } - r5->state = SLOT_STATE_RECEIVING; - r2 = r5->dataSize = r6->unk06; - sp04 = gRfuSlotStatusUNI[r7]->recvBuffer; - gRfuFixed->fastCopyPtr(&sp00, &sp04, r2); - r5->newDataFlag = 1; - r5->state = 0; + UNI_recv->state = SLOT_STATE_RECEIVING; + size = UNI_recv->dataSize = llsf_NI->frame; + dest = gRfuSlotStatusUNI[bm_slot_id]->recvBuffer; + gRfuFixed->fastCopyPtr(&src, &dest, size); + UNI_recv->newDataFlag = 1; + UNI_recv->state = 0; } -_081E2F0E: - if (r5->errorCode) - gRfuStatic->recvErrorFlag |= 16 << r7; +force_tail_merge: + if (UNI_recv->errorCode) + gRfuStatic->recvErrorFlag |= 16 << bm_slot_id; } -static void rfu_STC_NI_receive_Sender(u8 r0, u8 r10, const struct RfuLocalStruct *r6, const u8 *r3) +static void rfu_STC_NI_receive_Sender(u8 NI_slot, u8 bm_flag, const struct RfuLocalStruct *llsf_NI, const u8 *data_p) { - struct NIComm *r12 = &gRfuSlotStatusNI[r0]->send; - u16 r9 = r12->state; - u8 sp00 = r12->n[r6->unk04]; - u8 *r8; - u8 r4; - u16 r2; + struct NIComm *NI_comm = &gRfuSlotStatusNI[NI_slot]->send; + u16 state = NI_comm->state; + u8 n = NI_comm->n[llsf_NI->phase]; + u8 i; + u16 imeBak; - if ((r6->unk02 == 2 && r9 == SLOT_STATE_SENDING) - || (r6->unk02 == 1 && r9 == SLOT_STATE_SEND_START) - || (r6->unk02 == 3 && r9 == SLOT_STATE_SEND_LAST)) + if ((llsf_NI->slotState == LCOM_NI && state == SLOT_STATE_SENDING) + || (llsf_NI->slotState == LCOM_NI_START && state == SLOT_STATE_SEND_START) + || (llsf_NI->slotState == LCOM_NI_END && state == SLOT_STATE_SEND_LAST)) { - if (r12->n[r6->unk04] == r6->unk05) - r12->recvAckFlag[r6->unk04] |= 1 << r10; + if (NI_comm->n[llsf_NI->phase] == llsf_NI->n) + NI_comm->recvAckFlag[llsf_NI->phase] |= 1 << bm_flag; } - if ((r12->recvAckFlag[r6->unk04] & r12->bmSlot) == r12->bmSlot) + if ((NI_comm->recvAckFlag[llsf_NI->phase] & NI_comm->bmSlot) == NI_comm->bmSlot) { - r12->n[r6->unk04] = (r12->n[r6->unk04] + 1) & 3; - r12->recvAckFlag[r6->unk04] = 0; - if ((u16)(r12->state + ~SLOT_STATE_SEND_NULL) <= 1) + NI_comm->n[llsf_NI->phase] = (NI_comm->n[llsf_NI->phase] + 1) & 3; + NI_comm->recvAckFlag[llsf_NI->phase] = 0; + if ((u16)(NI_comm->state + ~SLOT_STATE_SEND_NULL) <= 1) { - if (r12->state == SLOT_STATE_SEND_START) - r12->now_p[r6->unk04] += r12->payloadSize; + if (NI_comm->state == SLOT_STATE_SEND_START) + NI_comm->now_p[llsf_NI->phase] += NI_comm->payloadSize; else - r12->now_p[r6->unk04] += r12->payloadSize << 2; - r12->remainSize -= r12->payloadSize; - if (r12->remainSize != 0) - if (r12->remainSize >= 0) + NI_comm->now_p[llsf_NI->phase] += NI_comm->payloadSize << 2; + NI_comm->remainSize -= NI_comm->payloadSize; + if (NI_comm->remainSize != 0) + if (NI_comm->remainSize >= 0) goto _081E30AE; - // Above is a hack to avoid optimization over comparison. - // rfu_STC_NI_constructLLSF uses this field as u32. - // It's equivalent to the following condition: - // if (r12->remainSize == 0 || r12->remainSize < 0) - { - r12->phase = 0; - if (r12->state == SLOT_STATE_SEND_START) + // Above is a hack to avoid optimization over comparison. + // rfu_STC_NI_constructLLSF uses this field as u32. + // It's equivalent to the following condition: + // if (NI_comm->remainSize == 0 || NI_comm->remainSize < 0) { - for (r4 = 0; r4 < WINDOW_COUNT; ++r4) + NI_comm->phase = 0; + if (NI_comm->state == SLOT_STATE_SEND_START) { - r12->n[r4] = 1; - r12->now_p[r4] = r12->src + r12->payloadSize * r4; + for (i = 0; i < WINDOW_COUNT; ++i) + { + NI_comm->n[i] = 1; + NI_comm->now_p[i] = NI_comm->src + NI_comm->payloadSize * i; + } + NI_comm->remainSize = NI_comm->dataSize; + NI_comm->state = SLOT_STATE_SENDING; + } + else + { + NI_comm->n[0] = 0; + NI_comm->remainSize = 0; + NI_comm->state = SLOT_STATE_SEND_LAST; } - r12->remainSize = r12->dataSize; - r12->state = SLOT_STATE_SENDING; } - else - { - r12->n[0] = 0; - r12->remainSize = 0; - r12->state = SLOT_STATE_SEND_LAST; - } - } _081E30AE: + ; } - else if (r12->state == SLOT_STATE_SEND_LAST) + else if (NI_comm->state == SLOT_STATE_SEND_LAST) { - r12->state = SLOT_STATE_SEND_NULL; + NI_comm->state = SLOT_STATE_SEND_NULL; } } - if (r12->state != r9 - || r12->n[r6->unk04] != sp00 - || (r12->recvAckFlag[r6->unk04] >> r10) & 1) + if (NI_comm->state != state + || NI_comm->n[llsf_NI->phase] != n + || (NI_comm->recvAckFlag[llsf_NI->phase] >> bm_flag) & 1) { - r2 = REG_IME; + imeBak = REG_IME; REG_IME = 0; - gRfuStatic->recvRenewalFlag |= 16 << r10; - gRfuSlotStatusNI[r10]->send.failCounter = 0; - REG_IME = r2; + gRfuStatic->recvRenewalFlag |= 16 << bm_flag; + gRfuSlotStatusNI[bm_flag]->send.failCounter = 0; + REG_IME = imeBak; } } -static void rfu_STC_NI_receive_Receiver(u8 r8, const struct RfuLocalStruct *r6, const u8 *sp00) +static void rfu_STC_NI_receive_Receiver(u8 bm_slot_id, const struct RfuLocalStruct *llsf_NI, const u8 *data_p) { - u16 r2; - u32 r7 = 0; - struct RfuSlotStatusNI *r4 = gRfuSlotStatusNI[r8]; - struct NIComm *r5 = &r4->recv; - u16 r9 = r4->recv.state; - u8 r10 = r4->recv.n[r6->unk04]; + u16 imeBak; + u32 state_check = 0; + struct RfuSlotStatusNI *slotStatus_NI = gRfuSlotStatusNI[bm_slot_id]; + struct NIComm *recvSlot = &slotStatus_NI->recv; + u16 state = slotStatus_NI->recv.state; + u8 n = slotStatus_NI->recv.n[llsf_NI->phase]; - if (r6->unk02 == 3) + if (llsf_NI->slotState == LCOM_NI_END) { - gRfuStatic->NIEndRecvFlag |= 1 << r8; - if (r4->recv.state == SLOT_STATE_RECEIVING) + gRfuStatic->NIEndRecvFlag |= 1 << bm_slot_id; + if (slotStatus_NI->recv.state == SLOT_STATE_RECEIVING) { - r4->recv.phase = 0; - r4->recv.n[0] = 0; - r4->recv.state = SLOT_STATE_RECV_LAST; + slotStatus_NI->recv.phase = 0; + slotStatus_NI->recv.n[0] = 0; + slotStatus_NI->recv.state = SLOT_STATE_RECV_LAST; } } - else if (r6->unk02 == 2) + else if (llsf_NI->slotState == LCOM_NI) { - if (r9 == SLOT_STATE_RECV_START && !r5->remainSize) - rfu_STC_NI_initSlot_asRecvDataEntity(r8, r5); - if (r5->state == SLOT_STATE_RECEIVING) - r7 = 1; + if (state == SLOT_STATE_RECV_START && !recvSlot->remainSize) + rfu_STC_NI_initSlot_asRecvDataEntity(bm_slot_id, recvSlot); + if (recvSlot->state == SLOT_STATE_RECEIVING) + state_check = 1; } - else if (r6->unk02 == 1) + else if (llsf_NI->slotState == LCOM_NI_START) { - if (r9 == SLOT_STATE_RECV_START) + if (state == SLOT_STATE_RECV_START) { - r7 = 1; + state_check = 1; } else { - rfu_STC_NI_initSlot_asRecvControllData(r8, r5); - if (r4->recv.state != SLOT_STATE_RECV_START) + rfu_STC_NI_initSlot_asRecvControllData(bm_slot_id, recvSlot); + if (slotStatus_NI->recv.state != SLOT_STATE_RECV_START) return; - r7 = 1; + state_check = 1; } } - if (r7 != 0) + if (state_check != 0) { - if (r6->unk05 == ((r5->n[r6->unk04] + 1) & 3)) + if (llsf_NI->n == ((recvSlot->n[llsf_NI->phase] + 1) & 3)) { - gRfuFixed->fastCopyPtr(&sp00, (u8 **)&r5->now_p[r6->unk04], r6->unk06); - if (r5->state == SLOT_STATE_RECEIVING) - r5->now_p[r6->unk04] += 3 * r5->payloadSize; - r5->remainSize -= r6->unk06; - r5->n[r6->unk04] = r6->unk05; + gRfuFixed->fastCopyPtr(&data_p, (u8 **)&recvSlot->now_p[llsf_NI->phase], llsf_NI->frame); + if (recvSlot->state == SLOT_STATE_RECEIVING) + recvSlot->now_p[llsf_NI->phase] += 3 * recvSlot->payloadSize; + recvSlot->remainSize -= llsf_NI->frame; + recvSlot->n[llsf_NI->phase] = llsf_NI->n; } } - if (r5->errorCode == 0) + if (recvSlot->errorCode == 0) { - r5->phase = r6->unk04; - if (r5->state != r9 || r5->n[r6->unk04] != r10 || r5->n[r6->unk04] == r6->unk05) + recvSlot->phase = llsf_NI->phase; + if (recvSlot->state != state || recvSlot->n[llsf_NI->phase] != n || recvSlot->n[llsf_NI->phase] == llsf_NI->n) { - r2 = REG_IME; + imeBak = REG_IME; REG_IME = 0; - gRfuStatic->recvRenewalFlag |= 1 << r8; - r5->failCounter = 0; - REG_IME = r2; + gRfuStatic->recvRenewalFlag |= 1 << bm_slot_id; + recvSlot->failCounter = 0; + REG_IME = imeBak; } } } -static void rfu_STC_NI_initSlot_asRecvControllData(u8 r4, struct NIComm *r2) +static void rfu_STC_NI_initSlot_asRecvControllData(u8 bm_slot_id, struct NIComm *NI_comm) { - u8 *r1; - u32 r5; - u8 r6; + u8 *llFrameSize_p; + u32 llFrameSize; + u8 bm_slot_flag; if (gRfuLinkStatus->parentChild == MODE_PARENT) { - r5 = 3; - r1 = &gRfuLinkStatus->remainLLFrameSizeParent; + llFrameSize = 3; + llFrameSize_p = &gRfuLinkStatus->remainLLFrameSizeParent; } else { - r5 = 2; - r1 = &gRfuLinkStatus->remainLLFrameSizeChild[r4]; + llFrameSize = 2; + llFrameSize_p = &gRfuLinkStatus->remainLLFrameSizeChild[bm_slot_id]; } - r6 = 1 << r4; - if (r2->state == 0) + bm_slot_flag = 1 << bm_slot_id; + if (NI_comm->state == 0) { - if (*r1 < r5) + if (*llFrameSize_p < llFrameSize) { - r2->state = SLOT_STATE_RECV_IGNORE; - r2->errorCode = ERR_RECV_REPLY_SUBFRAME_SIZE; - gRfuStatic->recvErrorFlag |= r6; + NI_comm->state = SLOT_STATE_RECV_IGNORE; + NI_comm->errorCode = ERR_RECV_REPLY_SUBFRAME_SIZE; + gRfuStatic->recvErrorFlag |= bm_slot_flag; } else { - r2->errorCode = 0; - *r1 -= r5; - r2->now_p[0] = &r2->dataType; - r2->remainSize = 7; - r2->ack = 1; - r2->payloadSize = 0; - r2->bmSlot = r6; - r2->state = SLOT_STATE_RECV_START; - gRfuLinkStatus->recvSlotNIFlag |= r6; + NI_comm->errorCode = 0; + *llFrameSize_p -= llFrameSize; + NI_comm->now_p[0] = &NI_comm->dataType; + NI_comm->remainSize = 7; + NI_comm->ack = 1; + NI_comm->payloadSize = 0; + NI_comm->bmSlot = bm_slot_flag; + NI_comm->state = SLOT_STATE_RECV_START; + gRfuLinkStatus->recvSlotNIFlag |= bm_slot_flag; } } } -static void rfu_STC_NI_initSlot_asRecvDataEntity(u8 r5, struct NIComm *r4) +static void rfu_STC_NI_initSlot_asRecvDataEntity(u8 bm_slot_id, struct NIComm *NI_comm) { - u8 r1, r3; + u8 bm_slot_flag, win_id; - if (r4->dataType == 1) + if (NI_comm->dataType == 1) { - r4->now_p[0] = (void *)&gRfuLinkStatus->partner[r5].serialNo; + NI_comm->now_p[0] = (void *)&gRfuLinkStatus->partner[bm_slot_id].serialNo; } else { - if (r4->dataSize > gRfuSlotStatusNI[r5]->recvBufferSize) + if (NI_comm->dataSize > gRfuSlotStatusNI[bm_slot_id]->recvBufferSize) { - r1 = 1 << r5; - gRfuStatic->recvErrorFlag |= r1; - gRfuLinkStatus->recvSlotNIFlag &= ~r1; - r4->errorCode = ERR_RECV_BUFF_OVER; - r4->state = SLOT_STATE_RECV_FAILED; - rfu_STC_releaseFrame(r5, 1, r4); + bm_slot_flag = 1 << bm_slot_id; + gRfuStatic->recvErrorFlag |= bm_slot_flag; + gRfuLinkStatus->recvSlotNIFlag &= ~bm_slot_flag; + NI_comm->errorCode = ERR_RECV_BUFF_OVER; + NI_comm->state = SLOT_STATE_RECV_FAILED; + rfu_STC_releaseFrame(bm_slot_id, 1, NI_comm); return; } - r4->now_p[0] = gRfuSlotStatusNI[r5]->recvBuffer; + NI_comm->now_p[0] = gRfuSlotStatusNI[bm_slot_id]->recvBuffer; } - for (r3 = 0; r3 < WINDOW_COUNT; ++r3) + for (win_id = 0; win_id < WINDOW_COUNT; ++win_id) { - r4->n[r3] = 0; - r4->now_p[r3] = &r4->now_p[0][r4->payloadSize * r3]; + NI_comm->n[win_id] = 0; + NI_comm->now_p[win_id] = &NI_comm->now_p[0][NI_comm->payloadSize * win_id]; } - r4->remainSize = r4->dataSize; - r4->state = SLOT_STATE_RECEIVING; + NI_comm->remainSize = NI_comm->dataSize; + NI_comm->state = SLOT_STATE_RECEIVING; } static void rfu_NI_checkCommFailCounter(void) { - u16 r12; - u32 r7; - u8 r2, r3; + u16 imeBak; + u32 recvRenewalFlag; + u8 bm_slot_flag, bm_slot_id; if (gRfuLinkStatus->sendSlotNIFlag | gRfuLinkStatus->recvSlotNIFlag) { - r12 = REG_IME; + imeBak = REG_IME; REG_IME = 0; - r7 = gRfuStatic->recvRenewalFlag >> 4; - for (r3 = 0; r3 < RFU_CHILD_MAX; ++r3) + recvRenewalFlag = gRfuStatic->recvRenewalFlag >> 4; + for (bm_slot_id = 0; bm_slot_id < RFU_CHILD_MAX; ++bm_slot_id) { - r2 = 1 << r3; - if (gRfuLinkStatus->sendSlotNIFlag & r2 - && !(gRfuStatic->recvRenewalFlag & r2)) - ++gRfuSlotStatusNI[r3]->send.failCounter; - if (gRfuLinkStatus->recvSlotNIFlag & r2 - && !(r7 & r2)) - ++gRfuSlotStatusNI[r3]->recv.failCounter; + bm_slot_flag = 1 << bm_slot_id; + if (gRfuLinkStatus->sendSlotNIFlag & bm_slot_flag + && !(gRfuStatic->recvRenewalFlag & bm_slot_flag)) + ++gRfuSlotStatusNI[bm_slot_id]->send.failCounter; + if (gRfuLinkStatus->recvSlotNIFlag & bm_slot_flag + && !(recvRenewalFlag & bm_slot_flag)) + ++gRfuSlotStatusNI[bm_slot_id]->recv.failCounter; } gRfuStatic->recvRenewalFlag = 0; - REG_IME = r12; + REG_IME = imeBak; } } diff --git a/src/librfu_sio32id.c b/src/librfu_sio32id.c index fc5701986..b6623540f 100644 --- a/src/librfu_sio32id.c +++ b/src/librfu_sio32id.c @@ -4,44 +4,56 @@ static void Sio32IDIntr(void); static void Sio32IDInit(void); static s32 Sio32IDMain(void); +struct RfuSIO32Id +{ + u8 MS_mode; + u8 state; + u16 count; + u16 send_id; + u16 recv_id; + u16 unk8; // unused + u16 lastId; +}; + struct RfuSIO32Id gRfuSIO32Id; static const u16 Sio32ConnectionData[] = { 0x494e, 0x544e, 0x4e45, 0x4f44 }; // NINTENDO static const char Sio32IDLib_Var[] = "Sio32ID_030820"; -s32 AgbRFU_checkID(u8 r5) +s32 AgbRFU_checkID(u8 maxTries) { - u16 r8; - vu16 *r4; - s32 r6; + u16 ieBak; + vu16 *regTMCNTL; + s32 id; + // Interrupts must be enabled if (REG_IME == 0) return -1; - r8 = REG_IE; + ieBak = REG_IE; gSTWIStatus->state = 10; STWI_set_Callback_ID(Sio32IDIntr); Sio32IDInit(); - r4 = ®_TMCNT_L(gSTWIStatus->timerSelect); - r5 *= 8; - while (--r5 != 0xFF) + regTMCNTL = ®_TMCNT_L(gSTWIStatus->timerSelect); + maxTries *= 8; + while (--maxTries != 0xFF) { - r6 = Sio32IDMain(); - if (r6 != 0) + id = Sio32IDMain(); + if (id != 0) break; - r4[1] = 0; - r4[0] = 0; - r4[1] = TIMER_1024CLK | TIMER_ENABLE; - while (r4[0] < 32) + regTMCNTL[1] = 0; + regTMCNTL[0] = 0; + regTMCNTL[1] = TIMER_1024CLK | TIMER_ENABLE; + while (regTMCNTL[0] < 32) ; - r4[1] = 0; - r4[0] = 0; + regTMCNTL[1] = 0; + regTMCNTL[0] = 0; } REG_IME = 0; - REG_IE = r8; + REG_IE = ieBak; REG_IME = 1; gSTWIStatus->state = 0; STWI_set_Callback_ID(NULL); - return r6; + return id; } static void Sio32IDInit(void) @@ -58,107 +70,105 @@ static void Sio32IDInit(void) static s32 Sio32IDMain(void) { - u8 r12; - - switch (r12 = gRfuSIO32Id.unk1) + switch (gRfuSIO32Id.state) { case 0: - gRfuSIO32Id.unk0 = 1; + gRfuSIO32Id.MS_mode = AGB_CLK_MASTER; REG_SIOCNT |= SIO_38400_BPS; - REG_IME = r12; + REG_IME = 0; REG_IE |= INTR_FLAG_SERIAL; REG_IME = 1; - gRfuSIO32Id.unk1 = 1; + gRfuSIO32Id.state = 1; *(vu8 *)®_SIOCNT |= SIO_ENABLE; break; case 1: - if (gRfuSIO32Id.unkA == 0) + if (gRfuSIO32Id.lastId == 0) { - if (gRfuSIO32Id.unk0 == 1) + if (gRfuSIO32Id.MS_mode == AGB_CLK_MASTER) { - if (gRfuSIO32Id.unk2 == 0) + if (gRfuSIO32Id.count == 0) { - REG_IME = gRfuSIO32Id.unk2; + REG_IME = 0; REG_SIOCNT |= SIO_ENABLE; - REG_IME = r12; + REG_IME = 1; } } - else if (gRfuSIO32Id.unk4 != 0x8001 && !gRfuSIO32Id.unk2) + else if (gRfuSIO32Id.send_id != RFU_ID && !gRfuSIO32Id.count) { - REG_IME = gRfuSIO32Id.unk2; + REG_IME = 0; REG_IE &= ~INTR_FLAG_SERIAL; - REG_IME = r12; - REG_SIOCNT = gRfuSIO32Id.unk2; + REG_IME = 1; + REG_SIOCNT = 0; REG_SIOCNT = SIO_32BIT_MODE; REG_IF = INTR_FLAG_SERIAL; REG_SIOCNT |= SIO_INTR_ENABLE | SIO_ENABLE; - REG_IME = gRfuSIO32Id.unk2; + REG_IME = 0; REG_IE |= INTR_FLAG_SERIAL; - REG_IME = r12; + REG_IME = 1; } break; } else { - gRfuSIO32Id.unk1 = 2; + gRfuSIO32Id.state = 2; // fallthrough } default: - return gRfuSIO32Id.unkA; + return gRfuSIO32Id.lastId; } return 0; } static void Sio32IDIntr(void) { - u32 r5; - u16 r0; + u32 regSIODATA32; + u16 delay; #ifndef NONMATCHING - register u32 r1 asm("r1"); - register u16 r0_ asm("r0"); + register u32 rfuSIO32IdUnk0_times_16 asm("r1"); + register u16 negRfuSIO32IdUnk6 asm("r0"); #else - u32 r1; - u16 r0_; + u32 rfuSIO32IdUnk0_times_16; + u16 negRfuSIO32IdUnk6; #endif - r5 = REG_SIODATA32; - if (gRfuSIO32Id.unk0 != 1) + regSIODATA32 = REG_SIODATA32; + if (gRfuSIO32Id.MS_mode != AGB_CLK_MASTER) REG_SIOCNT |= SIO_ENABLE; - r1 = 16 * gRfuSIO32Id.unk0; // to handle side effect of inline asm - r1 = (r5 << r1) >> 16; - r5 = (r5 << 16 * (1 - gRfuSIO32Id.unk0)) >> 16; - if (gRfuSIO32Id.unkA == 0) + rfuSIO32IdUnk0_times_16 = 16 * gRfuSIO32Id.MS_mode; // to handle side effect of inline asm + rfuSIO32IdUnk0_times_16 = (regSIODATA32 << rfuSIO32IdUnk0_times_16) >> 16; + regSIODATA32 = (regSIODATA32 << 16 * (1 - gRfuSIO32Id.MS_mode)) >> 16; + if (gRfuSIO32Id.lastId == 0) { - if (r1 == gRfuSIO32Id.unk6) + if (rfuSIO32IdUnk0_times_16 == gRfuSIO32Id.recv_id) { - if (gRfuSIO32Id.unk2 > 3) + if (gRfuSIO32Id.count > 3) { - gRfuSIO32Id.unkA = r5; + gRfuSIO32Id.lastId = regSIODATA32; } - else if (r1 == (u16)~gRfuSIO32Id.unk4) + else if (rfuSIO32IdUnk0_times_16 == (u16)~gRfuSIO32Id.send_id) { - r0_ = ~gRfuSIO32Id.unk6; - if (r5 == r0_) - ++gRfuSIO32Id.unk2; + negRfuSIO32IdUnk6 = ~gRfuSIO32Id.recv_id; + if (regSIODATA32 == negRfuSIO32IdUnk6) + ++gRfuSIO32Id.count; } } else { - gRfuSIO32Id.unk2 = gRfuSIO32Id.unkA; + gRfuSIO32Id.count = 0; } } - if (gRfuSIO32Id.unk2 < 4) - gRfuSIO32Id.unk4 = *(gRfuSIO32Id.unk2 + Sio32ConnectionData); + if (gRfuSIO32Id.count < 4) + gRfuSIO32Id.send_id = *(gRfuSIO32Id.count + Sio32ConnectionData); else - gRfuSIO32Id.unk4 = 0x8001; - gRfuSIO32Id.unk6 = ~r5; - REG_SIODATA32 = (gRfuSIO32Id.unk4 << 16 * (1 - gRfuSIO32Id.unk0)) - + (gRfuSIO32Id.unk6 << 16 * gRfuSIO32Id.unk0); - if (gRfuSIO32Id.unk0 == 1 && (gRfuSIO32Id.unk2 || r5 == 0x494E)) + gRfuSIO32Id.send_id = RFU_ID; + gRfuSIO32Id.recv_id = ~regSIODATA32; + REG_SIODATA32 = (gRfuSIO32Id.send_id << 16 * (1 - gRfuSIO32Id.MS_mode)) + + (gRfuSIO32Id.recv_id << 16 * gRfuSIO32Id.MS_mode); + if (gRfuSIO32Id.MS_mode == AGB_CLK_MASTER && (gRfuSIO32Id.count != 0 || regSIODATA32 == 0x494e)) { - for (r0 = 0; r0 < 600; ++r0) + for (delay = 0; delay < 600; ++delay) ; - if (gRfuSIO32Id.unkA == 0) + if (gRfuSIO32Id.lastId == 0) REG_SIOCNT |= SIO_ENABLE; } } diff --git a/src/librfu_stwi.c b/src/librfu_stwi.c index b88f21737..0287b358a 100644 --- a/src/librfu_stwi.c +++ b/src/librfu_stwi.c @@ -28,8 +28,8 @@ void STWI_init_all(struct RfuIntrStruct *interruptStruct, IntrFunc *interrupt, b } gSTWIStatus->rxPacket = &interruptStruct->rxPacketAlloc; gSTWIStatus->txPacket = &interruptStruct->txPacketAlloc; - gSTWIStatus->msMode = 1; - gSTWIStatus->state = 0; + gSTWIStatus->msMode = AGB_CLK_MASTER; + gSTWIStatus->state = 0; // master send req gSTWIStatus->reqLength = 0; gSTWIStatus->reqNext = 0; gSTWIStatus->ackLength = 0; @@ -39,7 +39,7 @@ void STWI_init_all(struct RfuIntrStruct *interruptStruct, IntrFunc *interrupt, b gSTWIStatus->timerActive = 0; gSTWIStatus->error = 0; gSTWIStatus->recoveryCount = 0; - gSTWIStatus->unk_2c = 0; + gSTWIStatus->sending = 0; REG_RCNT = 0x100; // TODO: mystery bit? REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_115200_BPS; STWI_init_Callback_M(); @@ -71,7 +71,7 @@ void AgbRFU_SoftReset(void) *timerH = 3; REG_RCNT = 0x80A0; REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_115200_BPS; - gSTWIStatus->state = 0; + gSTWIStatus->state = 0; // master send req gSTWIStatus->reqLength = 0; gSTWIStatus->reqNext = 0; gSTWIStatus->reqActiveCommand = 0; @@ -81,9 +81,9 @@ void AgbRFU_SoftReset(void) gSTWIStatus->timerState = 0; gSTWIStatus->timerActive = 0; gSTWIStatus->error = 0; - gSTWIStatus->msMode = 1; + gSTWIStatus->msMode = AGB_CLK_MASTER; gSTWIStatus->recoveryCount = 0; - gSTWIStatus->unk_2c = 0; + gSTWIStatus->sending = 0; } void STWI_set_MS_mode(u8 mode) @@ -131,12 +131,12 @@ void STWI_set_Callback_S(void (*callbackS)(u16)) void STWI_set_Callback_ID(void (*func)(void)) // name in SDK, but is actually setting a function pointer { - gSTWIStatus->unk_20 = func; + gSTWIStatus->callbackID = func; } u16 STWI_poll_CommandEnd(void) { - while (gSTWIStatus->unk_2c == TRUE) + while (gSTWIStatus->sending == 1) ; return gSTWIStatus->error; } @@ -195,7 +195,7 @@ void STWI_send_ConfigStatusREQ(void) } } -void STWI_send_GameConfigREQ(const u8 *unk1, const u8 *data) +void STWI_send_GameConfigREQ(const u8 *serial_gname, const u8 *uname) { u8 *packetBytes; s32 i; @@ -203,29 +203,28 @@ void STWI_send_GameConfigREQ(const u8 *unk1, const u8 *data) if (!STWI_init(ID_GAME_CONFIG_REQ)) { gSTWIStatus->reqLength = 6; - // TODO: what is unk1 packetBytes = gSTWIStatus->txPacket->rfuPacket8.data; packetBytes += sizeof(u32); - *(u16 *)packetBytes = *(u16 *)unk1; + *(u16 *)packetBytes = *(u16 *)serial_gname; packetBytes += sizeof(u16); - unk1 += sizeof(u16); + serial_gname += sizeof(u16); for (i = 0; i < 14; ++i) { - *packetBytes = *unk1; + *packetBytes = *serial_gname; ++packetBytes; - ++unk1; + ++serial_gname; } for (i = 0; i < 8; ++i) { - *packetBytes = *data; + *packetBytes = *uname; ++packetBytes; - ++data; + ++uname; } STWI_start_Command(); } } -void STWI_send_SystemConfigREQ(u16 unk1, u8 unk2, u8 unk3) +void STWI_send_SystemConfigREQ(u16 availSlotFlag, u8 maxMFrame, u8 mcTimer) { if (!STWI_init(ID_SYSTEM_CONFIG_REQ)) { @@ -234,9 +233,9 @@ void STWI_send_SystemConfigREQ(u16 unk1, u8 unk2, u8 unk3) gSTWIStatus->reqLength = 1; packetBytes = gSTWIStatus->txPacket->rfuPacket8.data; packetBytes += sizeof(u32); - *packetBytes++ = unk3; - *packetBytes++ = unk2; - *(u16*)packetBytes = unk1; + *packetBytes++ = mcTimer; + *packetBytes++ = maxMFrame; + *(u16*)packetBytes = availSlotFlag; STWI_start_Command(); } } @@ -499,20 +498,17 @@ static void STWI_intr_timer(void) STWI_stop_timer(); STWI_reset_ClockCounter(); if (gSTWIStatus->callbackM != NULL) - gSTWIStatus->callbackM(255, 0); + gSTWIStatus->callbackM(ID_CLOCK_SLAVE_MS_CHANGE_ERROR_BY_DMA_REQ, 0); break; } } -static void STWI_set_timer(u8 unk) +static void STWI_set_timer(u8 count) { - vu16 *timerL; - vu16 *timerH; - - timerL = ®_TMCNT_L(gSTWIStatus->timerSelect); - timerH = ®_TMCNT_H(gSTWIStatus->timerSelect); + vu16 *timerL = ®_TMCNT_L(gSTWIStatus->timerSelect); + vu16 *timerH = ®_TMCNT_H(gSTWIStatus->timerSelect); REG_IME = 0; - switch (unk) + switch (count) { case 50: *timerL = 0xFCCB; @@ -543,25 +539,31 @@ static void STWI_stop_timer(void) REG_TMCNT_H(gSTWIStatus->timerSelect) = 0; } +/* + * Set up STWI to send REQ. Returns 1 if error (see below). + */ static u16 STWI_init(u8 request) { if (!REG_IME) { + // Can't start sending if IME is disabled. gSTWIStatus->error = ERR_REQ_CMD_IME_DISABLE; if (gSTWIStatus->callbackM != NULL) gSTWIStatus->callbackM(request, gSTWIStatus->error); return TRUE; } - else if (gSTWIStatus->unk_2c == TRUE) + else if (gSTWIStatus->sending == 1) { + // Already sending something. Cancel and error. gSTWIStatus->error = ERR_REQ_CMD_SENDING; - gSTWIStatus->unk_2c = FALSE; + gSTWIStatus->sending = 0; if (gSTWIStatus->callbackM != NULL) gSTWIStatus->callbackM(request, gSTWIStatus->error); return TRUE; } - else if(!gSTWIStatus->msMode) + else if (gSTWIStatus->msMode == AGB_CLK_SLAVE) { + // Can't send if clock slave gSTWIStatus->error = ERR_REQ_CMD_CLOCK_SLAVE; if (gSTWIStatus->callbackM != NULL) gSTWIStatus->callbackM(request, gSTWIStatus->error, gSTWIStatus); @@ -569,9 +571,10 @@ static u16 STWI_init(u8 request) } else { - gSTWIStatus->unk_2c = TRUE; + // Good to go, start sending + gSTWIStatus->sending = 1; gSTWIStatus->reqActiveCommand = request; - gSTWIStatus->state = 0; + gSTWIStatus->state = 0; // master send req gSTWIStatus->reqLength = 0; gSTWIStatus->reqNext = 0; gSTWIStatus->ackLength = 0; @@ -595,7 +598,7 @@ static s32 STWI_start_Command(void) // but the cast here is required to avoid register issue *(u32 *)gSTWIStatus->txPacket->rfuPacket8.data = 0x99660000 | (gSTWIStatus->reqLength << 8) | gSTWIStatus->reqActiveCommand; REG_SIODATA32 = gSTWIStatus->txPacket->rfuPacket32.command; - gSTWIStatus->state = 0; + gSTWIStatus->state = 0; // master send req gSTWIStatus->reqNext = 1; imeTemp = REG_IME; REG_IME = 0; @@ -608,7 +611,7 @@ static s32 STWI_start_Command(void) static s32 STWI_restart_Command(void) { - if (gSTWIStatus->recoveryCount <= 1) + if (gSTWIStatus->recoveryCount < 2) { ++gSTWIStatus->recoveryCount; STWI_start_Command(); @@ -618,17 +621,17 @@ static s32 STWI_restart_Command(void) if (gSTWIStatus->reqActiveCommand == ID_MS_CHANGE_REQ || gSTWIStatus->reqActiveCommand == ID_DATA_TX_AND_CHANGE_REQ || gSTWIStatus->reqActiveCommand == ID_UNK35_REQ || gSTWIStatus->reqActiveCommand == ID_RESUME_RETRANSMIT_AND_CHANGE_REQ) { gSTWIStatus->error = ERR_REQ_CMD_CLOCK_DRIFT; - gSTWIStatus->unk_2c = 0; + gSTWIStatus->sending = 0; if (gSTWIStatus->callbackM != NULL) gSTWIStatus->callbackM(gSTWIStatus->reqActiveCommand, gSTWIStatus->error); } else { gSTWIStatus->error = ERR_REQ_CMD_CLOCK_DRIFT; - gSTWIStatus->unk_2c = 0; + gSTWIStatus->sending = 0; if (gSTWIStatus->callbackM != NULL) gSTWIStatus->callbackM(gSTWIStatus->reqActiveCommand, gSTWIStatus->error); - gSTWIStatus->state = 4; // TODO: what's 4 + gSTWIStatus->state = 4; // error } } return 0; @@ -636,7 +639,7 @@ static s32 STWI_restart_Command(void) static s32 STWI_reset_ClockCounter(void) { - gSTWIStatus->state = 5; // TODO: what is 5 + gSTWIStatus->state = 5; // slave receive req init gSTWIStatus->reqLength = 0; gSTWIStatus->reqNext = 0; REG_SIODATA32 = (1 << 31); diff --git a/src/link.c b/src/link.c index dfb21f126..cb46a50ff 100644 --- a/src/link.c +++ b/src/link.c @@ -82,14 +82,14 @@ u32 gFiller_3003EC0; u16 gLinkHeldKeys; u16 gRecvCmds[MAX_RFU_PLAYERS][CMD_LENGTH]; u32 gLinkStatus; -bool8 gUnknown_3003F24; +bool8 gLinkAllAcked5FFF; bool8 gUnknown_3003F28; -bool8 gUnknown_3003F2C[MAX_LINK_PLAYERS]; -bool8 gUnknown_3003F30[MAX_LINK_PLAYERS]; -u16 gUnknown_3003F34; +bool8 gLinkCommand2FFEAck[MAX_LINK_PLAYERS]; +bool8 gLinkCommand5FFFAck[MAX_LINK_PLAYERS]; +u16 gLinkCmd5FFFparam; u8 gSuppressLinkErrorMessage; -bool8 gWirelessCommType; -bool8 gSavedLinkPlayerCount; +u8 gWirelessCommType; +u8 gSavedLinkPlayerCount; u16 gSendCmd[CMD_LENGTH]; u8 gSavedMultiplayerId; bool8 gReceivedRemoteLinkPlayers; @@ -123,8 +123,8 @@ EWRAM_DATA struct { u8 lastSendQueueCount; u8 unk_06; } sLinkErrorBuffer = {}; -EWRAM_DATA u16 gUnknown_202285C = 0; -EWRAM_DATA void *gUnknown_2022860 = NULL; +static EWRAM_DATA u16 sStartSend5FFFfailures = 0; +static EWRAM_DATA void *sLinkErrorBgTilemapBuffer = NULL; static void InitLocalLinkPlayer(void); static void sub_800978C(void); @@ -142,13 +142,13 @@ static u16 LinkTestCalcBlockChecksum(const u16 *src, u16 size); static void LinkTest_prnthex(u32 pos, u8 a0, u8 a1, u8 a2); static void LinkCB_RequestPlayerDataExchange(void); static void Task_PrintTestData(u8 taskId); -static void sub_800AB0C(void); -static void sub_800AB38(void); -static void sub_800ABD4(void); -static void sub_800AC00(void); +static void LinkCB_BuildCommand5FFF(void); +static void LinkCB_WaitAckCommand5FFF(void); +static void LinkFunc_Send2FFE_1(void); +static void LinkFunc_Send2FFE_2(void); static void CheckErrorStatus(void); static void CB2_PrintErrorMessage(void); -static void sub_800B210(void); +static void SetWirelessCommType0(void); static void DisableSerial(void); static void EnableSerial(void); static bool8 IsSioMultiMaster(void); @@ -232,16 +232,16 @@ bool8 IsWirelessAdapterConnected(void) if (gQuestLogState == 2 || gQuestLogState == 3) return FALSE; - sub_800B1F4(); + SetWirelessCommType1(); sub_80F86F4(); sub_80FB128(TRUE); - if (sub_80FD3A4() == RFU_ID) + if (rfu_LMAN_REQBN_softReset_and_checkID() == RFU_ID) { rfu_REQ_stopMode(); rfu_waitREQComplete(); return TRUE; } - sub_800B210(); + SetWirelessCommType0(); CloseLink(); RestoreSerialTimer3IntrHandlers(); return FALSE; @@ -379,8 +379,8 @@ void OpenLink(void) ResetBlockSend(); gUnknown_3000E4C = 0; gUnknown_3003F28 = FALSE; - gUnknown_3003F24 = FALSE; - gUnknown_3003F34 = 0; + gLinkAllAcked5FFF = FALSE; + gLinkCmd5FFFparam = 0; CreateTask(Task_TriggerHandshake, 2); } else @@ -391,8 +391,8 @@ void OpenLink(void) for (i = 0; i < MAX_LINK_PLAYERS; i++) { gRemoteLinkPlayersNotReceived[i] = TRUE; - gUnknown_3003F30[i] = FALSE; - gUnknown_3003F2C[i] = FALSE; + gLinkCommand5FFFAck[i] = FALSE; + gLinkCommand2FFEAck[i] = FALSE; } } @@ -401,7 +401,7 @@ void CloseLink(void) gReceivedRemoteLinkPlayers = FALSE; if (gWirelessCommType) { - sub_80F8DC0(); + LinkRfu_Shutdown(); } gLinkOpen = FALSE; DisableSerial(); @@ -468,7 +468,7 @@ void LinkTestProcessKeyInput(void) } if (JOY_NEW(SELECT_BUTTON)) { - sub_800AAC0(); + Link_TryStartSend5FFF(); } if (gLinkTestDebugValuesEnabled) { @@ -613,7 +613,7 @@ void ProcessRecvCmds(u8 unused) linkPlayer->name[9] = 0; linkPlayer->name[8] = 0; } - sub_800B284(linkPlayer); + IntlConvertLinkPlayerName(linkPlayer); if (strcmp(block->magic1, sASCIIGameFreakInc) != 0 || strcmp(block->magic2, sASCIIGameFreakInc) != 0) { @@ -632,10 +632,10 @@ void ProcessRecvCmds(u8 unused) } break; case LINKCMD_0x5FFF: - gUnknown_3003F30[i] = TRUE; + gLinkCommand5FFFAck[i] = TRUE; break; case LINKCMD_0x2FFE: - gUnknown_3003F2C[i] = TRUE; + gLinkCommand2FFEAck[i] = TRUE; break; case LINKCMD_0xAAAA: sub_800A3CC(); @@ -701,7 +701,7 @@ void BuildSendCmd(u16 command) break; case LINKCMD_0x5FFF: gSendCmd[0] = LINKCMD_0x5FFF; - gSendCmd[1] = gUnknown_3003F34; + gSendCmd[1] = gLinkCmd5FFFparam; break; case LINKCMD_0x5566: gSendCmd[0] = LINKCMD_0x5566; @@ -721,7 +721,7 @@ void sub_8009FE8(void) { if (gWirelessCommType) { - sub_80F9828(); + StartSendingKeysToRfu(); } gLinkCallback = sub_800A040; } @@ -796,7 +796,7 @@ u8 GetLinkPlayerDataExchangeStatusTimed(int lower, int upper) if (lower > cmpVal || cmpVal > upper) { sPlayerDataExchangeStatus = EXCHANGE_STAT_6; - return 6; + return EXCHANGE_STAT_6; } else { @@ -1006,15 +1006,15 @@ bool8 SendBlock(u8 unused, const void *src, u16 size) return InitBlockSend(src, size); } -bool8 sub_800A474(u8 a0) +bool8 sub_800A474(u8 blockRequestType) { if (gWirelessCommType == 1) { - return sub_80FA0F8(a0); + return sub_80FA0F8(blockRequestType); } if (gLinkCallback == NULL) { - gBlockRequestType = a0; + gBlockRequestType = blockRequestType; BuildSendCmd(LINKCMD_0xCCCC); return TRUE; } @@ -1312,54 +1312,54 @@ u8 sub_800AA74(void) return gUnknown_3000E50; } -void sub_800AA80(u16 a0) +void Link_StartSend5FFFwithParam(u16 a0) { if (gWirelessCommType == 1) { - task_add_05_task_del_08FA224_when_no_RfuFunc(); + Rfu_BeginBuildAndSendCommand5F(); } else { if (gLinkCallback == NULL) { - gLinkCallback = sub_800AB0C; - gUnknown_3003F24 = FALSE; - gUnknown_3003F34 = a0; + gLinkCallback = LinkCB_BuildCommand5FFF; + gLinkAllAcked5FFF = FALSE; + gLinkCmd5FFFparam = a0; } } } -void sub_800AAC0(void) +void Link_TryStartSend5FFF(void) { if (gWirelessCommType == 1) { - task_add_05_task_del_08FA224_when_no_RfuFunc(); + Rfu_BeginBuildAndSendCommand5F(); } else { if (gLinkCallback != NULL) { - gUnknown_202285C++; + sStartSend5FFFfailures++; } else { - gLinkCallback = sub_800AB0C; - gUnknown_3003F24 = FALSE; - gUnknown_3003F34 = 0; + gLinkCallback = LinkCB_BuildCommand5FFF; + gLinkAllAcked5FFF = FALSE; + gLinkCmd5FFFparam = 0; } } } -static void sub_800AB0C(void) +static void LinkCB_BuildCommand5FFF(void) { if (gLastRecvQueueCount == 0) { BuildSendCmd(LINKCMD_0x5FFF); - gLinkCallback = sub_800AB38; + gLinkCallback = LinkCB_WaitAckCommand5FFF; } } -static void sub_800AB38(void) +static void LinkCB_WaitAckCommand5FFF(void) { int i; unsigned count; @@ -1369,7 +1369,7 @@ static void sub_800AB38(void) count = 0; for (i = 0; i < linkPlayerCount; i++) { - if (gUnknown_3003F30[i]) + if (gLinkCommand5FFFAck[i]) { count++; } @@ -1380,36 +1380,36 @@ static void sub_800AB38(void) gLinkVSyncDisabled = TRUE; CloseLink(); gLinkCallback = NULL; - gUnknown_3003F24 = TRUE; + gLinkAllAcked5FFF = TRUE; } } -void sub_800AB9C(void) +void PrepareSendLinkCmd2FFE_or_RfuCmd6600(void) { if (gWirelessCommType == 1) { - sub_80FA42C(); + LinkRfu_SetRfuFuncToSend6600(); } else { if (gLinkCallback == NULL) { - gLinkCallback = sub_800ABD4; + gLinkCallback = LinkFunc_Send2FFE_1; } - gUnknown_3003F24 = FALSE; + gLinkAllAcked5FFF = FALSE; } } -static void sub_800ABD4(void) +static void LinkFunc_Send2FFE_1(void) { if (gLastRecvQueueCount == 0) { BuildSendCmd(LINKCMD_0x2FFE); - gLinkCallback = sub_800AC00; + gLinkCallback = LinkFunc_Send2FFE_2; } } -static void sub_800AC00(void) +static void LinkFunc_Send2FFE_2(void) { u8 i; u8 linkPlayerCount; @@ -1417,7 +1417,7 @@ static void sub_800AC00(void) linkPlayerCount = GetLinkPlayerCount(); for (i = 0; i < linkPlayerCount; i++) { - if (!gUnknown_3003F2C[i]) + if (!gLinkCommand2FFEAck[i]) { break; } @@ -1426,7 +1426,7 @@ static void sub_800AC00(void) { for (i = 0; i < MAX_LINK_PLAYERS; i++) { - gUnknown_3003F2C[i] = FALSE; + gLinkCommand2FFEAck[i] = FALSE; } gLinkCallback = NULL; } @@ -1448,7 +1448,7 @@ static void CheckErrorStatus(void) } } -void sub_800ACBC(u32 status, u8 lastSendQueueCount, u8 lastRecvQueueCount, u8 unk_06) +void SetLinkErrorFromRfu(u32 status, u8 lastSendQueueCount, u8 lastRecvQueueCount, u8 unk_06) { sLinkErrorBuffer.status = status; sLinkErrorBuffer.lastSendQueueCount = lastSendQueueCount; @@ -1477,12 +1477,12 @@ void CB2_LinkError(void) { gWirelessCommType = 3; } - sub_80F85F8(); + ResetLinkRfuGFLayer(); } SetVBlankCallback(sub_800978C); - ResetBgsAndClearDma3BusyFlags(0); + ResetBgsAndClearDma3BusyFlags(FALSE); InitBgsFromTemplates(0, sLinkErrorBgTemplates, 2); - gUnknown_2022860 = tilemapBuffer = malloc(0x800); + sLinkErrorBgTilemapBuffer = tilemapBuffer = malloc(0x800); SetBgTilemapBuffer(1, tilemapBuffer); if (InitWindows(sLinkErrorWindowTemplates)) { @@ -1603,12 +1603,12 @@ static void CB2_PrintErrorMessage(void) bool8 GetSioMultiSI(void) { - return (REG_SIOCNT & 0x04) != 0; + return (REG_SIOCNT & SIO_MULTI_SI) != 0; } static bool8 IsSioMultiMaster(void) { - return (REG_SIOCNT & 0x8) && !(REG_SIOCNT & 0x04); + return (REG_SIOCNT & SIO_MULTI_SD) && !(REG_SIOCNT & SIO_MULTI_SI); } bool8 IsLinkConnectionEstablished(void) @@ -1626,7 +1626,7 @@ bool8 HasLinkErrorOccurred(void) return gLinkErrorOccurred; } -void sub_800B0B4(void) +void PrepareLocalLinkPlayerBlock(void) { struct LinkPlayerBlock * block; @@ -1638,7 +1638,7 @@ void sub_800B0B4(void) memcpy(gBlockSendBuffer, block, sizeof(*block)); } -void sub_800B110(u32 who) +void LinkPlayerFromBlock(u32 who) { u8 who_ = who; struct LinkPlayerBlock * block; @@ -1647,7 +1647,7 @@ void sub_800B110(u32 who) block = (struct LinkPlayerBlock *)gBlockRecvBuffer[who_]; player = &gLinkPlayers[who_]; *player = block->linkPlayer; - sub_800B284(player); + IntlConvertLinkPlayerName(player); if (strcmp(block->magic1, sASCIIGameFreakInc) != 0 || strcmp(block->magic2, sASCIIGameFreakInc) != 0) { SetMainCallback2(CB2_LinkError); @@ -1670,8 +1670,8 @@ bool8 HandleLinkConnection(void) } else { - r4 = sub_80FAE94(); - r5 = sub_80FAEF0(); + r4 = LinkRfuMain1(); + r5 = LinkRfuMain2(); if (sub_8058318() == TRUE) { if (r4 == TRUE || IsRfuRecvQueueEmpty() || r5) @@ -1683,7 +1683,7 @@ bool8 HandleLinkConnection(void) return FALSE; } -void sub_800B1F4(void) +void SetWirelessCommType1(void) { if (gReceivedRemoteLinkPlayers == 0) { @@ -1691,7 +1691,7 @@ void sub_800B1F4(void) } } -static void sub_800B210(void) +static void SetWirelessCommType0(void) { if (gReceivedRemoteLinkPlayers == 0) { @@ -1699,7 +1699,7 @@ static void sub_800B210(void) } } -void sub_800B22C(void) +void SetWirelessCommType0_UnusedCopy(void) { if (gReceivedRemoteLinkPlayers == 0) { @@ -1725,7 +1725,7 @@ bool32 sub_800B270(void) return FALSE; } -void sub_800B284(struct LinkPlayer * player) +void IntlConvertLinkPlayerName(struct LinkPlayer * player) { player->name[10] = player->name[8]; ConvertInternationalString(player->name, player->language); diff --git a/src/link_rfu.c b/src/link_rfu.c deleted file mode 100644 index 8ab76ffd5..000000000 --- a/src/link_rfu.c +++ /dev/null @@ -1,1381 +0,0 @@ -#include "global.h" -#include "librfu.h" -#include "link_rfu.h" - -struct UnkRfuStruct_1 gUnknown_3005E10; - -static void sub_80FD4E4(void); -static void sub_80FDC28(u32 a0); -static void sub_80FDC98(u16 reqCommandId, u16 reqResult); -static void sub_80FE394(u16 reqCommandId); -static void sub_80FE418(void); -static void sub_80FE63C(void); -static void sub_80FE6F0(void); -static void sub_80FE74C(void); -static u8 sub_80FE778(void); -static void sub_80FE7F0(u8 a0, u8 a1); -static void sub_80FE818(u8 bmDisconnectSlot); -static void sub_80FE83C(u8 a0); -static void sub_80FE918(void); -static void sub_80FEAF4(void); - -u32 sub_80FD3A4(void) -{ - u32 id = rfu_REQBN_softReset_and_checkID(); - if (id == RFU_ID) - gUnknown_3005E10.unk_08 = 1; - if (gUnknown_3005E10.unk_04 != 0x17 && gUnknown_3005E10.unk_04 != 0x01) - { - gUnknown_3005E10.unk_05 = 0; - gUnknown_3005E10.unk_04 = 0; - } - gUnknown_3005E10.unk_07 = 0; - gUnknown_3005E10.unk_0d = 0; - gUnknown_3005E10.unk_01 = 0; - gUnknown_3005E10.unk_00 = 0; - gUnknown_3005E10.unk_06 = -1; - sub_80FEAF4(); - return id; -} - -void LinkRfu_REQ_SendData_HandleParentRelationship(u8 clockChangeFlag) -{ - if (gRfuLinkStatus->parentChild == MODE_CHILD) - { - if (gUnknown_3005E10.unk_02 == TRUE) - clockChangeFlag = TRUE; - else - clockChangeFlag = FALSE; - } - else - gUnknown_3005E10.unk_03 = 0; - rfu_REQ_sendData(clockChangeFlag); -} - -s32 sub_80FD430(void (*func1)(u8, u8), void (*func2)(u16)) -{ - if (func1 == NULL) - { - return 4; - } - CpuFill16(0, &gUnknown_3005E10, sizeof(struct UnkRfuStruct_1)); - gUnknown_3005E10.unk_06 = -1; - gUnknown_3005E10.unk_40 = func1; - gUnknown_3005E10.unk_44 = func2; - rfu_setMSCCallback(sub_80FE394); - rfu_setREQCallback(sub_80FDC98); - return 0; -} - -static void sub_80FD484(void) -{ - CpuFill16(0, &gUnknown_3005E10, offsetof(struct UnkRfuStruct_1, unk_40)); - gUnknown_3005E10.unk_06 = -1; -} - -void sub_80FD4B0(const struct UnkLinkRfuStruct_02022B2C *unk0) -{ - sub_80FD4E4(); - gUnknown_3005E10.unk_04 = 1; - gUnknown_3005E10.unk_05 = 2; - gUnknown_3005E10.unk_3c = unk0; - gUnknown_3005E10.unk_09 = unk0->unk_11; - gUnknown_3005E10.unk_32 = unk0->unk_12; - gUnknown_3005E10.unk_18 = unk0->unk_14; - if (unk0->unk_10) - { - gUnknown_3005E10.unk_0b = 1; - } -} - -static void sub_80FD4E4(void) -{ - u8 i; - - gUnknown_3005E10.unk_05 = 0; - gUnknown_3005E10.unk_04 = 0; - gUnknown_3005E10.unk_06 = -1; - gUnknown_3005E10.unk_07 = 0; - gUnknown_3005E10.unk_10 = 0; - gUnknown_3005E10.unk_0c = 0; - gUnknown_3005E10.unk_24 = 0; - gUnknown_3005E10.unk_30 = 0; - for (i = 0; i < RFU_CHILD_MAX; i++) - { - gUnknown_3005E10.unk_28[i] = 0; - gUnknown_3005E10.unk_34[i] = 0; - } -} - -void sub_80FD52C(void) -{ - gUnknown_3005E10.unk_04 = 0x15; -} - -u8 sub_80FD538(u8 r5, u16 r7, u16 r8, const u16 *r6) -{ - u8 i; - const u16 *buffer; - - if (gUnknown_3005E10.unk_04 != 0 && (gUnknown_3005E10.unk_04 != 0x08 || r5 != 1)) - { - gUnknown_3005E10.unk_14 = 1; - sub_80FE7F0(0xf3, 0x01); - return 1; - } - if (rfu_getMasterSlave() == AGB_CLK_SLAVE) - { - gUnknown_3005E10.unk_14 = 2; - sub_80FE7F0(0xf3, 0x01); - return 2; - } - for (i = 0, buffer = r6; i < 16; i++) - { - if (*buffer++ == 0xFFFF) - { - break; - } - } - if (i == 16) - { - gUnknown_3005E10.unk_14 = 4; - sub_80FE7F0(0xf3, 0x01); - return 4; - } - if (r5 > 1) - { - gUnknown_3005E10.unk_07 = 1; - r5 = 1; - r7 = 0; - } - else - { - gUnknown_3005E10.unk_07 = 0; - } - if (r5 != 0) - { - gUnknown_3005E10.unk_04 = 5; - } - else - { - gUnknown_3005E10.unk_04 = 9; - if (gUnknown_3005E10.unk_0b) - { - gUnknown_3005E10.unk_0b = 2; - } - } - gUnknown_3005E10.unk_06 = r5; - gUnknown_3005E10.unk_1a = r7; - gUnknown_3005E10.unk_26 = r8; - gUnknown_3005E10.unk_20 = r6; - return 0; -} - -u8 sub_80FD610(u16 parentId, u16 unk_1a) -{ - u8 i; - - if (gUnknown_3005E10.unk_04 != 0 && (gUnknown_3005E10.unk_04 < 9 || gUnknown_3005E10.unk_04 > 11)) - { - gUnknown_3005E10.unk_14 = 1; - sub_80FE7F0(0xF3, 0x01); - return 1; - } - if (rfu_getMasterSlave() == AGB_CLK_SLAVE) - { - gUnknown_3005E10.unk_14 = 2; - sub_80FE7F0(0xF3, 0x01); - return 2; - } - for (i = 0; i < gRfuLinkStatus->findParentCount; i++) - { - if (gRfuLinkStatus->partner[i].id == parentId) - { - break; - } - } - if (gRfuLinkStatus->findParentCount == 0 || i == gRfuLinkStatus->findParentCount) - { - gUnknown_3005E10.unk_14 = 3; - sub_80FE7F0(0xF3, 0x01); - return 3; - } - if (gUnknown_3005E10.unk_04 == 0 || gUnknown_3005E10.unk_04 == 9) - { - gUnknown_3005E10.unk_04 = 12; - gUnknown_3005E10.unk_05 = 13; - } - else - { - gUnknown_3005E10.unk_04 = 11; - gUnknown_3005E10.unk_05 = 12; - } - gUnknown_3005E10.unk_1e = parentId; - gUnknown_3005E10.unk_1a = unk_1a; - if (gUnknown_3005E10.unk_07 != 0) - { - gUnknown_3005E10.unk_07 = 7; - } - return 0; -} - -static void sub_80FD6F4(u8 lossSlot) -{ - u8 i; - - if (lossSlot & gUnknown_3005E10.unk_30) - { - gUnknown_3005E10.unk_30 &= ~lossSlot; - for (i = 0; i < RFU_CHILD_MAX; i++) - { - if ((lossSlot >> i) & 1) - { - gUnknown_3005E10.unk_34[i] = 0; - } - } - i = gRfuLinkStatus->linkLossSlotFlag & lossSlot; - if (i) - { - sub_80FE818(i); - } - gUnknown_3005E10.unk_14 = i; - sub_80FE7F0(0x33, i); - } -} - -void sub_80FD760(bool8 a0) -{ - u8 r2; - - r2 = 0; - gUnknown_3005E10.unk_07 = 0; - if (a0) - { - sub_80FD4E4(); - gUnknown_3005E10.unk_04 = 23; - } - else - { - switch (gUnknown_3005E10.unk_04) - { - case 5: - gUnknown_3005E10.unk_04 = 8; - gUnknown_3005E10.unk_05 = 0; - r2 = 0x13; - break; - case 6: - gUnknown_3005E10.unk_04 = 7; - gUnknown_3005E10.unk_05 = 8; - break; - case 7: - gUnknown_3005E10.unk_04 = 7; - gUnknown_3005E10.unk_05 = 8; - break; - case 8: - break; - case 9: - gUnknown_3005E10.unk_05 = 0; - gUnknown_3005E10.unk_04 = 0; - r2 = 0x21; - break; - case 10: - gUnknown_3005E10.unk_04 = 11; - gUnknown_3005E10.unk_05 = 0; - break; - case 11: - gUnknown_3005E10.unk_04 = 11; - gUnknown_3005E10.unk_05 = 0; - break; - case 12: - gUnknown_3005E10.unk_05 = 0; - gUnknown_3005E10.unk_04 = 0; - r2 = 0x23; - break; - case 13: - gUnknown_3005E10.unk_04 = 14; - break; - case 14: - gUnknown_3005E10.unk_04 = 14; - break; - case 15: - break; - case 16: - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_11; - gUnknown_3005E10.unk_05 = gUnknown_3005E10.unk_12; - sub_80FE818(gRfuLinkStatus->linkLossSlotFlag); - gUnknown_3005E10.unk_14 = gRfuLinkStatus->linkLossSlotFlag; - sub_80FE7F0(0x33, 0x01); - return; - case 17: - gUnknown_3005E10.unk_04 = 18; - break; - case 18: - gUnknown_3005E10.unk_04 = 18; - break; - default: - gUnknown_3005E10.unk_05 = 0; - gUnknown_3005E10.unk_04 = 0; - r2 = 0x43; - break; - } - if (gUnknown_3005E10.unk_04 == 0) - { - sub_80FE7F0(r2, 0); - } - } -} - -static bool8 sub_80FD850(u16 reqCommandId) -{ - bool8 retVal; - u8 i; - u8 bmLinkLossSlot; - u8 linkLossReason; - u8 parentBmLinkRecoverySlot; - u8 flags; - - retVal = FALSE; - rfu_REQBN_watchLink(reqCommandId, &bmLinkLossSlot, &linkLossReason, &parentBmLinkRecoverySlot); - if (bmLinkLossSlot) - { - gUnknown_3005E10.unk_14 = bmLinkLossSlot; - gUnknown_3005E10.unk_16 = linkLossReason; - if (gUnknown_3005E10.unk_09) - { - gUnknown_3005E10.unk_0a = 1; - if (gUnknown_3005E10.unk_06 == 0 && linkLossReason == REASON_DISCONNECTED) - { - gUnknown_3005E10.unk_0a = 4; - } - if (gUnknown_3005E10.unk_0a == 1) - { - for (i = 0; i < RFU_CHILD_MAX; i++) - { - if ((bmLinkLossSlot >> i) & 1) - { - gUnknown_3005E10.unk_30 |= (1 << i); - gUnknown_3005E10.unk_34[i] = gUnknown_3005E10.unk_32; - } - } - sub_80FE7F0(0x31, 0x01); - } - else - { - gUnknown_3005E10.unk_0a = 0; - sub_80FE818(bmLinkLossSlot); - retVal = TRUE; - sub_80FE7F0(0x33, 0x01); - } - } - else - { - sub_80FE818(bmLinkLossSlot); - retVal = TRUE; - sub_80FE7F0(0x30, 0x02); - } - sub_80FEAF4(); - } - if (gRfuLinkStatus->parentChild == MODE_PARENT) - { - if (parentBmLinkRecoverySlot) - { - for (i = 0; i < RFU_CHILD_MAX; i++) - { - if ((gUnknown_3005E10.unk_30 >> i) & 1 && (parentBmLinkRecoverySlot >> i) & 1) - { - gUnknown_3005E10.unk_34[i] = 0; - } - } - gUnknown_3005E10.unk_30 &= ~parentBmLinkRecoverySlot; - gUnknown_3005E10.unk_14 = parentBmLinkRecoverySlot; - sub_80FE7F0(0x32, 0x01); - } - if (gUnknown_3005E10.unk_30) - { - flags = 0; - for (i = 0; i < RFU_CHILD_MAX; i++) - { - if ((gUnknown_3005E10.unk_30 >> i) & 1 && gUnknown_3005E10.unk_34[i] && --gUnknown_3005E10.unk_34[i] == 0) - { - gUnknown_3005E10.unk_30 &= ~(1 << i); - flags |= (1 << i); - } - } - if (flags) - { - sub_80FE818(flags); - retVal = TRUE; - gUnknown_3005E10.unk_14 = flags; - sub_80FE7F0(0x33, 0x01); - } - } - if (!gUnknown_3005E10.unk_30) - { - gUnknown_3005E10.unk_0a = 0; - } - } - return retVal; -} - -void LinkRfu_syncVBlank_(void) -{ - if (rfu_syncVBlank()) - { - sub_80FE7F0(0xF1, 0x00); - sub_80FEAF4(); - } -} - -void sub_80FDA30(u32 a0) -{ - u8 r2; - - if (gUnknown_3005E10.unk_40 == NULL && gUnknown_3005E10.unk_04 != 0) - { - gUnknown_3005E10.unk_04 = 0; - } - else - { - if (gUnknown_3005E10.unk_07 != 0) - { - sub_80FDC28(a0); - } - do - { - if (gUnknown_3005E10.unk_04 != 0) - { - rfu_waitREQComplete(); - gUnknown_3005E10.unk_0e = 1; - switch (gUnknown_3005E10.unk_04) - { - case 23: - r2 = sub_80FD3A4() == RFU_ID ? 0x44 : 0xFF; - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 0; - sub_80FE7F0(r2, 0); - break; - case 1: - if (sub_80FD3A4() == RFU_ID) - { - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05; - gUnknown_3005E10.unk_05 = 3; - } - else - { - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 0; - sub_80FE7F0(0xFF, 0); - } - break; - case 2: - rfu_REQ_reset(); - break; - case 3: - rfu_REQ_configSystem(gUnknown_3005E10.unk_3c->availSlotFlag, gUnknown_3005E10.unk_3c->maxMFrame, gUnknown_3005E10.unk_3c->mcTimer); - break; - case 4: - rfu_REQ_configGameData(gUnknown_3005E10.unk_3c->mbootFlag, gUnknown_3005E10.unk_3c->serialNo, (const u8 *)gUnknown_3005E10.unk_3c->gname, gUnknown_3005E10.unk_3c->uname); - break; - case 5: - rfu_REQ_startSearchChild(); - break; - case 6: - rfu_REQ_pollSearchChild(); - break; - case 7: - rfu_REQ_endSearchChild(); - break; - case 8: - break; - case 9: - rfu_REQ_startSearchParent(); - break; - case 10: - rfu_REQ_pollSearchParent(); - break; - case 11: - rfu_REQ_endSearchParent(); - break; - case 12: - rfu_REQ_startConnectParent(gUnknown_3005E10.unk_1e); - break; - case 13: - rfu_REQ_pollConnectParent(); - break; - case 14: - rfu_REQ_endConnectParent(); - break; - case 15: - break; - case 16: - rfu_REQ_CHILD_startConnectRecovery(gRfuLinkStatus->linkLossSlotFlag); - break; - case 17: - rfu_REQ_CHILD_pollConnectRecovery(); - break; - case 18: - rfu_REQ_CHILD_endConnectRecovery(); - break; - case 19: - rfu_REQ_changeMasterSlave(); - break; - case 20: - break; - case 21: - rfu_REQ_stopMode(); - break; - case 22: - break; - } - rfu_waitREQComplete(); - gUnknown_3005E10.unk_0e = 0; - } - } while (gUnknown_3005E10.unk_04 == 18 || gUnknown_3005E10.unk_04 == 19); - if (gRfuLinkStatus->parentChild != MODE_PARENT || !sub_80FD850(0)) - { - sub_80FE418(); - sub_80FE63C(); - sub_80FE74C(); - sub_80FE918(); - } - } -} - -static void sub_80FDC28(u32 a0) -{ - if (gUnknown_3005E10.unk_07 == 5) - { - gUnknown_3005E10.unk_06 = 1; - gUnknown_3005E10.unk_04 = 5; - gUnknown_3005E10.unk_1a = gUnknown_3005E10.unk_1c; - if (gUnknown_3005E10.unk_1a) - { - gUnknown_3005E10.unk_07 = 6; - } - else - { - gUnknown_3005E10.unk_07 = 1; - } - } - if (gUnknown_3005E10.unk_07 == 1) - { - gUnknown_3005E10.unk_06 = 1; - gUnknown_3005E10.unk_04 = 5; - gUnknown_3005E10.unk_1a = a0 % 140; - gUnknown_3005E10.unk_1c = 140 - gUnknown_3005E10.unk_1a; - if (gUnknown_3005E10.unk_1a) - { - gUnknown_3005E10.unk_07 = 2; - } - else - { - gUnknown_3005E10.unk_07 = 3; - } - } - if (gUnknown_3005E10.unk_07 == 3) - { - gUnknown_3005E10.unk_06 = 0; - gUnknown_3005E10.unk_1a = 40; - gUnknown_3005E10.unk_07 = 4; - gUnknown_3005E10.unk_04 = 9; - } -} - -static void sub_80FDC98(u16 reqCommandId, u16 reqResult) -{ - u8 sp0; - register u8 *stwiRecvBuffer asm("r0"); - u8 *tmp; - u8 i; - - if (gUnknown_3005E10.unk_0e != 0) - { - gUnknown_3005E10.unk_0e = 0; - switch (reqCommandId) - { - case ID_RESET_REQ: - if (reqResult == 0) - { - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05; - gUnknown_3005E10.unk_05 = 4; - } - break; - case ID_SYSTEM_CONFIG_REQ: - if (reqResult == 0) - { - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05; - gUnknown_3005E10.unk_05 = 0; - } - break; - case ID_GAME_CONFIG_REQ: - if (reqResult == 0) - { - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 0; - sub_80FE7F0(0x00, 0x00); - } - break; - case ID_SC_START_REQ: - if (reqResult == 0) - { - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 6; - } - break; - case ID_SC_POLL_REQ: - if (gUnknown_3005E10.unk_1a && --gUnknown_3005E10.unk_1a == 0) - { - gUnknown_3005E10.unk_04 = 7; - gUnknown_3005E10.unk_05 = 8; - } - break; - case ID_SC_END_REQ: - if (reqResult == 0) - { - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05; - gUnknown_3005E10.unk_05 = 0; - if (gUnknown_3005E10.unk_07 == 0) - { - sub_80FE7F0(0x13, 0x00); - } - } - break; - case ID_SP_START_REQ: - if (reqResult == 0) - { - if (gUnknown_3005E10.unk_0b == 1 && gUnknown_3005E10.unk_1a > 1) - { - gUnknown_3005E10.unk_1a--; - } - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 10; - } - break; - case ID_SP_POLL_REQ: - if (reqResult == 0) - { - sp0 = sub_80FE778(); - gUnknown_3005E10.unk_14 = sp0; - if (sp0) - { - sub_80FE7F0(0x20, 0x01); - } - if (gUnknown_3005E10.unk_0b && gUnknown_3005E10.unk_1a != 1 && gRfuLinkStatus->findParentCount == RFU_CHILD_MAX) - { - rfu_REQ_endSearchParent(); - rfu_waitREQComplete(); - gUnknown_3005E10.unk_04 = 9; - gUnknown_3005E10.unk_0b = 1; - } - } - if (gUnknown_3005E10.unk_1a && --gUnknown_3005E10.unk_1a == 0) - { - gUnknown_3005E10.unk_04 = 11; - gUnknown_3005E10.unk_05 = 0; - } - break; - case ID_SP_END_REQ: - if (reqResult == 0) - { - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05; - if (gUnknown_3005E10.unk_07 == 0) - { - if (gUnknown_3005E10.unk_04 == 0) - { - sub_80FE7F0(0x21, 0x00); - } - } - else if (gUnknown_3005E10.unk_07 != 7) - { - gUnknown_3005E10.unk_04 = 5; - gUnknown_3005E10.unk_07 = 5; - } - } - break; - case ID_CP_START_REQ: - if (reqResult == 0) - { - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 13; - } - break; - case ID_CP_POLL_REQ: - if (reqResult == 0 && !rfu_getConnectParentStatus(&sp0, &gUnknown_3005E10.unk_10) && !sp0) - { - gUnknown_3005E10.unk_04 = 14; - } - if (gUnknown_3005E10.unk_1a && --gUnknown_3005E10.unk_1a == 0) - { - gUnknown_3005E10.unk_04 = 14; - } - break; - case ID_CP_END_REQ: - if (reqResult == 0 && !rfu_getConnectParentStatus(&sp0, &gUnknown_3005E10.unk_10)) - { - if (!sp0) - { - gUnknown_3005E10.unk_04 = 19; - gUnknown_3005E10.unk_05 = 15; - gUnknown_3005E10.unk_1e = 0x22; - gUnknown_3005E10.unk_14 = gUnknown_3005E10.unk_10; - } - else - { - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 0; - gUnknown_3005E10.unk_1e = 0x23; - gUnknown_3005E10.unk_14 = sp0; - if (gUnknown_3005E10.unk_07) - { - gUnknown_3005E10.unk_07 = 3; - gUnknown_3005E10.unk_04 = 9; - } - } - sub_80FE7F0(gUnknown_3005E10.unk_1e, 0x01); - gUnknown_3005E10.unk_1e = 0; - } - break; - case ID_CPR_START_REQ: - if (reqResult == 0) - { - gUnknown_3005E10.unk_14 = gRfuLinkStatus->linkLossSlotFlag; - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 17; - for (gUnknown_3005E10.unk_10 = 0; gUnknown_3005E10.unk_10 < RFU_CHILD_MAX; gUnknown_3005E10.unk_10++) - { - if ((gRfuLinkStatus->linkLossSlotFlag >> gUnknown_3005E10.unk_10) & 1) - { - break; - } - } - } - break; - case ID_CPR_POLL_REQ: - if (reqResult == 0 && !rfu_CHILD_getConnectRecoveryStatus(&sp0) && sp0 < 2) - { - gUnknown_3005E10.unk_04 = 18; - } - if (gUnknown_3005E10.unk_34[gUnknown_3005E10.unk_10] && --gUnknown_3005E10.unk_34[gUnknown_3005E10.unk_10] == 0) - { - gUnknown_3005E10.unk_04 = 18; - } - break; - case ID_CPR_END_REQ: - if (reqResult == 0 && !rfu_CHILD_getConnectRecoveryStatus(&sp0)) - { - if (!sp0) - { - gUnknown_3005E10.unk_04 = 19; - gUnknown_3005E10.unk_05 = 22; - gUnknown_3005E10.unk_1e = 0x32; - } - else - { - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 0; - sub_80FE818(gRfuLinkStatus->linkLossSlotFlag); - gUnknown_3005E10.unk_1e = 0x33; - } - gUnknown_3005E10.unk_34[gUnknown_3005E10.unk_10] = 0; - gUnknown_3005E10.unk_30 = 0; - gUnknown_3005E10.unk_0a = 0; - sub_80FE7F0(gUnknown_3005E10.unk_1e, 0x01); - gUnknown_3005E10.unk_1e = 0; - } - break; - case ID_MS_CHANGE_REQ: - if (reqResult == 0) - { - if (gUnknown_3005E10.unk_05 == 22) - { - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_11; - gUnknown_3005E10.unk_05 = gUnknown_3005E10.unk_12; - gUnknown_3005E10.unk_02 = 1; - sub_80FE7F0(0x41, 0x00); - } - else if (gUnknown_3005E10.unk_05 == 15) - { - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05; - gUnknown_3005E10.unk_02 = 1; - sub_80FE7F0(0x41, 0x00); - gUnknown_3005E10.unk_24 |= 1 << gUnknown_3005E10.unk_10; - gUnknown_3005E10.unk_28[gUnknown_3005E10.unk_10] = gUnknown_3005E10.unk_26; - rfu_clearSlot(TYPE_NI_SEND, gUnknown_3005E10.unk_10); - tmp = &sp0; - *tmp = rfu_NI_CHILD_setSendGameName(gUnknown_3005E10.unk_10, 0x0e); - if (*tmp) - { - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 0; - sub_80FEAF4(); - sub_80FE818(gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag); - gUnknown_3005E10.unk_14 = sp0; - sub_80FE7F0(0x25, 0x01); - } - } - } - break; - case ID_STOP_MODE_REQ: - if (reqResult == 0) - { - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 0; - sub_80FE7F0(0x42, 0x00); - } - break; - } - gUnknown_3005E10.unk_0e = 1; - } - else if (reqResult == 3 && gUnknown_3005E10.unk_0f && (reqCommandId == ID_DATA_TX_REQ || reqCommandId == ID_DATA_RX_REQ || reqCommandId == ID_MS_CHANGE_REQ)) - { - rfu_REQ_RFUStatus(); - rfu_waitREQComplete(); - rfu_getRFUStatus(&sp0); - if (sp0 == 0 && gRfuLinkStatus->parentChild == MODE_CHILD) - { - stwiRecvBuffer = rfu_getSTWIRecvBuffer()->rxPacketAlloc.rfuPacket8.data; - stwiRecvBuffer[4] = gRfuLinkStatus->connSlotFlag; - stwiRecvBuffer[5] = 1; - sub_80FD850(0x29); - reqResult = 0; - } - } - switch (reqCommandId) - { - case ID_DISCONNECT_REQ: - if (reqResult == 0) - { - stwiRecvBuffer = rfu_getSTWIRecvBuffer()->rxPacketAlloc.rfuPacket8.data; - gUnknown_3005E10.unk_14 = stwiRecvBuffer[8]; - sub_80FE83C(gUnknown_3005E10.unk_14); - if (gUnknown_3005E10.unk_30) - { - gUnknown_3005E10.unk_30 &= ~gUnknown_3005E10.unk_14; - for (i = 0; i < RFU_CHILD_MAX; i++) - { - if ((gUnknown_3005E10.unk_14 >> i) & 1) - { - gUnknown_3005E10.unk_34[i] = 0; - } - } - if (gUnknown_3005E10.unk_06 == 0) - { - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 0; - } - } - sp0 = gUnknown_3005E10.unk_00 & gUnknown_3005E10.unk_14; - for (i = 0; i < RFU_CHILD_MAX; i++) - { - if ((sp0 >> i) & 1 && gUnknown_3005E10.unk_01) - { - gUnknown_3005E10.unk_01--; - } - } - gUnknown_3005E10.unk_00 &= ~gUnknown_3005E10.unk_14; - if (gUnknown_3005E10.unk_07) - { - if (gRfuLinkStatus->parentChild == MODE_NEUTRAL) - { - if (gUnknown_3005E10.unk_07 == 8) - { - gUnknown_3005E10.unk_1a = gUnknown_3005E10.unk_1c; - gUnknown_3005E10.unk_07 = 6; - gUnknown_3005E10.unk_04 = 6; - } - else if (gUnknown_3005E10.unk_04 != 6 && gUnknown_3005E10.unk_04 != 7) - { - gUnknown_3005E10.unk_07 = 1; - gUnknown_3005E10.unk_04 = 5; - } - } - } - if (gRfuLinkStatus->parentChild == MODE_NEUTRAL) - { - if (gUnknown_3005E10.unk_04 == 0) - { - gUnknown_3005E10.unk_06 = -1; - } - } - if (gUnknown_3005E10.unk_0e == 0) - { - sub_80FE7F0(0x40, 0x01); - } - } - break; - case ID_DATA_RX_REQ: - sub_80FE6F0(); - if (gRfuLinkStatus->parentChild != MODE_NEUTRAL) - { - sub_80FE7F0(0x50, 0x00); - } - break; - case ID_RESET_REQ: - case ID_STOP_MODE_REQ: - if (reqResult == 0) - { - gUnknown_3005E10.unk_0d = 0; - gUnknown_3005E10.unk_01 = 0; - gUnknown_3005E10.unk_00 = 0;; - gUnknown_3005E10.unk_06 = -1; - sub_80FEAF4(); - if (reqCommandId == 61) - { - sub_80FD484(); - } - } - break; - } - if (reqResult != 0) - { - if (reqCommandId == ID_SP_START_REQ && reqResult != 0 && gUnknown_3005E10.unk_07 == 4) - { - gRfuLinkStatus->parentChild = MODE_PARENT; - gRfuLinkStatus->connSlotFlag = 0xF; - sub_80FE818(15); - rfu_waitREQComplete(); - return; - } - else - { - gUnknown_3005E10.unk_14 = reqCommandId; - gUnknown_3005E10.unk_16 = reqResult; - if (gUnknown_3005E10.unk_0e) - { - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 0; - } - sub_80FE7F0(0xf0, 0x02); - sub_80FEAF4(); - } - } - if (reqCommandId == ID_CLOCK_SLAVE_MS_CHANGE_ERROR_BY_DMA_REQ) - { - sub_80FE7F0(0xf2, 0x00); - sub_80FEAF4(); - } -} - -static void sub_80FE394(u16 reqCommandId) -{ - u8 r7; - u8 ackFlag; - - r7 = gUnknown_3005E10.unk_0e; - gUnknown_3005E10.unk_0e = 0; - gUnknown_3005E10.unk_0f = 1; - if (gRfuLinkStatus->parentChild == MODE_CHILD) - { - sub_80FD850(reqCommandId); - if (gUnknown_3005E10.unk_02 != 1) - { - sub_80FEAF4(); - gUnknown_3005E10.unk_0f = 0; - gUnknown_3005E10.unk_0e = r7; - return; - } - } - else - { - if (!rfu_UNI_PARENT_getDRAC_ACK(&ackFlag)) - { - gUnknown_3005E10.unk_03 |= ackFlag; - } - } - if (gUnknown_3005E10.unk_44 != NULL) - { - gUnknown_3005E10.unk_44(reqCommandId); - rfu_waitREQComplete(); - if (gUnknown_3005E10.unk_02 == 2) - { - sub_80FEAF4(); - } - } - gUnknown_3005E10.unk_0f = 0; - gUnknown_3005E10.unk_0e = r7; -} - -static void sub_80FE418(void) -{ - u8 flags; - u8 sp0; - u8 i; - u8 r5; - u8 r4; - const u16 *ptr; - - if (gUnknown_3005E10.unk_04 == 5 || gUnknown_3005E10.unk_04 == 6 || gUnknown_3005E10.unk_04 == 7 || gUnknown_3005E10.unk_04 == 8) - { - flags = ((gRfuLinkStatus->connSlotFlag ^ gUnknown_3005E10.unk_0c) & gRfuLinkStatus->connSlotFlag) & ~gRfuLinkStatus->getNameFlag; - gUnknown_3005E10.unk_0c = gRfuLinkStatus->connSlotFlag; - if (flags) - { - gUnknown_3005E10.unk_14 = flags; - sub_80FE7F0(0x10, 0x01); - } - sp0 = 0x00; - for (i = 0; i < RFU_CHILD_MAX; i++) - { - r4 = 1 << i; - r5 = 0x00; - if (flags & r4) - { - gUnknown_3005E10.unk_28[i] = gUnknown_3005E10.unk_26; - gUnknown_3005E10.unk_24 |= r4; - } - else if (gUnknown_3005E10.unk_24 & r4) - { - if (gRfuSlotStatusNI[i]->recv.state == SLOT_STATE_RECV_SUCCESS) - { - if (gRfuSlotStatusNI[i]->recv.dataType == 1) // Game identification information - { - r5 = 0x02; - for (ptr = gUnknown_3005E10.unk_20; *ptr != 0xFFFF; ptr++) - { - if (gRfuLinkStatus->partner[i].serialNo == *ptr) - { - gUnknown_3005E10.unk_00 |= r4; - gUnknown_3005E10.unk_01++; - sp0 |= r4; - r5 |= 0x01; - break; - } - } - if (!(r5 & 0x01)) - { - r5 |= 0x04; - } - } - } - else if (--gUnknown_3005E10.unk_28[i] == 0) - { - r5 = 0x06; - } - if (r5 & 0x02) - { - gUnknown_3005E10.unk_24 &= ~r4; - gUnknown_3005E10.unk_28[i] = 0; - rfu_clearSlot(TYPE_NI_RECV, i); - } - if (r5 & 0x04) - { - gUnknown_3005E10.unk_0d |= r4; - } - } - } - if (sp0) - { - gUnknown_3005E10.unk_14 = sp0; - sub_80FE7F0(0x11, 0x01); - } - if (gUnknown_3005E10.unk_0d) - { - r5 = 0x01; - if (gRfuLinkStatus->sendSlotUNIFlag && ((gUnknown_3005E10.unk_03 & gUnknown_3005E10.unk_00) != gUnknown_3005E10.unk_00)) - { - r5 = 0x00; - } - if (r5) - { - sub_80FE818(gUnknown_3005E10.unk_0d); - gUnknown_3005E10.unk_14 = gUnknown_3005E10.unk_0d; - gUnknown_3005E10.unk_0d = 0; - sub_80FE7F0(0x12, 0x01); - } - } - if (gUnknown_3005E10.unk_24 == 0 && gUnknown_3005E10.unk_04 == 8) - { - if (gUnknown_3005E10.unk_07 == 0) - { - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 0; - sub_80FE7F0(0x14, 0x00); - } - else - { - if (gUnknown_3005E10.unk_07 == 2) - { - gUnknown_3005E10.unk_07 = 3; - gUnknown_3005E10.unk_04 = 9; - } - else - { - gUnknown_3005E10.unk_07 = 1; - gUnknown_3005E10.unk_04 = 5; - } - if (gUnknown_3005E10.unk_00) - { - gUnknown_3005E10.unk_1a = 0; - gUnknown_3005E10.unk_07 = 8; - gUnknown_3005E10.unk_04 = 5; - } - } - } - } -} - -static void sub_80FE63C(void) -{ - u16 imeBak = REG_IME; - REG_IME = 0; - if (gUnknown_3005E10.unk_04 == 15) - { - if (--gUnknown_3005E10.unk_28[gUnknown_3005E10.unk_10] == 0 || gRfuSlotStatusNI[gUnknown_3005E10.unk_10]->send.state == SLOT_STATE_SEND_FAILED) - { - sub_80FEB14(); - gUnknown_3005E10.unk_04 = 24; - rfu_clearSlot(TYPE_NI_SEND, gUnknown_3005E10.unk_10); - gUnknown_3005E10.unk_24 &= ~(1 << gUnknown_3005E10.unk_10); - gUnknown_3005E10.unk_28[gUnknown_3005E10.unk_10] = 0; - } - } - REG_IME = imeBak; - if (gUnknown_3005E10.unk_04 == 24) - { - if (gUnknown_3005E10.unk_02 == 1) - { - sub_80FEB14(); - } - if (gUnknown_3005E10.unk_02 == 0) - { - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 0; - sub_80FE818(gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag); - gUnknown_3005E10.unk_14 = 0; - sub_80FE7F0(0x25, 0x01); - } - } -} - -static void sub_80FE6F0(void) -{ - if (gUnknown_3005E10.unk_04 == 15 && gRfuSlotStatusNI[gUnknown_3005E10.unk_10]->send.state == SLOT_STATE_SEND_SUCCESS) - { - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 0; - rfu_clearSlot(TYPE_NI_SEND, gUnknown_3005E10.unk_10); - gUnknown_3005E10.unk_24 &= ~(1 << gUnknown_3005E10.unk_10); - gUnknown_3005E10.unk_28[gUnknown_3005E10.unk_10] = 0; - sub_80FE7F0(0x24, 0x00); - } -} - -static void sub_80FE74C(void) -{ - if (gUnknown_3005E10.unk_06 == 0 && gUnknown_3005E10.unk_0a == 1) - { - gUnknown_3005E10.unk_11 = gUnknown_3005E10.unk_04; - gUnknown_3005E10.unk_12 = gUnknown_3005E10.unk_05; - gUnknown_3005E10.unk_04 = 16; - gUnknown_3005E10.unk_05 = 17; - gUnknown_3005E10.unk_0a = 2; - } -} - -static u8 sub_80FE778(void) -{ - u8 i; - const u16 *ptr; - u8 flags = 0x00; - - for (i = 0; i < gRfuLinkStatus->findParentCount; i++) - { - for (ptr = gUnknown_3005E10.unk_20; *ptr != 0xFFFF; ptr++) - { - if (gRfuLinkStatus->partner[i].serialNo == *ptr) - { - flags |= (1 << i); - } - } - } - return flags; -} - -static void sub_80FE7F0(u8 a0, u8 a1) -{ - if (gUnknown_3005E10.unk_40 != NULL) - { - gUnknown_3005E10.unk_40(a0, a1); - } - gUnknown_3005E10.unk_14 = gUnknown_3005E10.unk_16 = 0; -} - -static void sub_80FE818(u8 a0) -{ - u8 unk_0e_bak = gUnknown_3005E10.unk_0e; - gUnknown_3005E10.unk_0e = 1; - rfu_REQ_disconnect(a0); - rfu_waitREQComplete(); - gUnknown_3005E10.unk_0e = unk_0e_bak; -} - -static void sub_80FE83C(u8 a0) -{ - u8 i; - - if (gRfuLinkStatus->sendSlotNIFlag) - { - for (i = 0; i < RFU_CHILD_MAX; i++) - { - if (gRfuSlotStatusNI[i]->send.state & SLOT_BUSY_FLAG && gRfuSlotStatusNI[i]->send.bmSlot & a0) - { - rfu_changeSendTarget(TYPE_NI, i, gRfuSlotStatusNI[i]->send.bmSlot & ~a0); - } - } - } - if (gRfuLinkStatus->recvSlotNIFlag) - { - for (i = 0; i < RFU_CHILD_MAX; i++) - { - if (gRfuSlotStatusNI[i]->recv.state & SLOT_BUSY_FLAG && gRfuSlotStatusNI[i]->recv.bmSlot & a0) - { - rfu_NI_stopReceivingData(i); - } - } - } - if (gRfuLinkStatus->sendSlotUNIFlag) - { - gRfuLinkStatus->sendSlotUNIFlag &= ~a0; - for (i = 0; i < RFU_CHILD_MAX; i++) - { - if (gRfuSlotStatusUNI[i]->send.state == SLOT_STATE_SEND_UNI && a0 & gRfuSlotStatusUNI[i]->send.bmSlot) - { - gRfuSlotStatusUNI[i]->send.bmSlot &= ~a0; - } - } - } -} - -static void sub_80FE918(void) -{ - u8 i; - u8 j; - u8 flags; - - if (gUnknown_3005E10.unk_18) - { - if (gRfuLinkStatus->sendSlotNIFlag) - { - for (i = 0; i < RFU_CHILD_MAX; i++) - { - if (gRfuSlotStatusNI[i]->send.state & SLOT_BUSY_FLAG) - { - flags = 0; - for (j = 0; j < RFU_CHILD_MAX; j++) - { - if ((gRfuSlotStatusNI[i]->send.bmSlot >> j) & 1 && gRfuSlotStatusNI[j]->send.failCounter > gUnknown_3005E10.unk_18) - { - flags |= (1 << j); - } - if (flags) - { - rfu_changeSendTarget(TYPE_NI, i, flags ^ gRfuSlotStatusNI[i]->send.bmSlot); - } - } - } - } - } - if (gRfuLinkStatus->recvSlotNIFlag) - { - for (i = 0; i < RFU_CHILD_MAX; i++) - { - if (gRfuSlotStatusNI[i]->recv.state & SLOT_BUSY_FLAG && gRfuSlotStatusNI[i]->recv.failCounter > gUnknown_3005E10.unk_18) - { - rfu_NI_stopReceivingData(i); - } - } - } - } -} - -void sub_80FEA10(void (*func)(u16)) -{ - gUnknown_3005E10.unk_44 = func; - rfu_setMSCCallback(sub_80FE394); -} - -static void sub_80FEA28(void (*func)(u8, u8)) -{ - gUnknown_3005E10.unk_40 = func; -} - -u8 sub_80FEA34(u8 a0, u16 a1) -{ - u16 imeBak; - if (gUnknown_3005E10.unk_09 && a0 == 0 && gUnknown_3005E10.unk_30) - { - return 5; - } - imeBak = REG_IME; - REG_IME = 0; - gUnknown_3005E10.unk_09 = a0; - gUnknown_3005E10.unk_32 = a1; - REG_IME = imeBak; - return 0; -} - -static u8 sub_80FEA78(u16 a0) -{ - if (gRfuLinkStatus->sendSlotNIFlag | gRfuLinkStatus->recvSlotNIFlag) - { - gUnknown_3005E10.unk_14 = 6; - sub_80FE7F0(0xf3, 0x01); - return 6; - } - gUnknown_3005E10.unk_18 = a0; - return 0; -} - -static u8 sub_80FEAB4(u8 a0) -{ - if (gUnknown_3005E10.unk_04 == 9 || gUnknown_3005E10.unk_04 == 10 || gUnknown_3005E10.unk_04 == 11) - { - gUnknown_3005E10.unk_14 = 7; - sub_80FE7F0(0xf3, 0x01); - return 7; - } - if (a0) - { - gUnknown_3005E10.unk_0b = 1; - } - else - { - gUnknown_3005E10.unk_0b = 0; - } - return 0; -} - -static void sub_80FEAF4(void) -{ - if (gUnknown_3005E10.unk_02) - { - gUnknown_3005E10.unk_02 = 0; - sub_80FE7F0(0x45, 0x00); - } -} - -void sub_80FEB14(void) -{ - if (gUnknown_3005E10.unk_02 == 0) - { - sub_80FE7F0(0x45, 0x00); - } - else if (gUnknown_3005E10.unk_02 == 1) - { - gUnknown_3005E10.unk_02 = 2; - } -} - -void sub_80FEB3C(void) -{ - if (gUnknown_3005E10.unk_07) - { - switch (gUnknown_3005E10.unk_04) - { - case 5: - gUnknown_3005E10.unk_07 = 3; - gUnknown_3005E10.unk_04 = 9; - break; - case 6: - gUnknown_3005E10.unk_07 = 2; - gUnknown_3005E10.unk_1a = 1; - break; - case 7: - case 8: - gUnknown_3005E10.unk_07 = 2; - break; - case 9: - case 10: - gUnknown_3005E10.unk_1a = 40; - break; - case 11: - gUnknown_3005E10.unk_1a = 40; - gUnknown_3005E10.unk_04 = 10; - break; - } - } -} diff --git a/src/link_rfu_2.c b/src/link_rfu_2.c index a27948650..2259e9214 100644 --- a/src/link_rfu_2.c +++ b/src/link_rfu_2.c @@ -12,67 +12,69 @@ #include "string_util.h" #include "task.h" #include "constants/species.h" +#include "constants/union_room.h" -struct UnkRfuStruct_8010A14{ - char unk_00[15]; // PokemonSioInfo - u8 unk_0f; - u8 unk_10[4]; - struct LinkPlayer unk_14[5]; +struct SioInfo +{ + char magic[15]; // PokemonSioInfo + u8 playerCount; + u8 linkPlayerIdx[RFU_CHILD_MAX]; + struct LinkPlayer linkPlayers[MAX_RFU_PLAYERS]; u8 fill_a0[0x5c]; }; -static EWRAM_DATA struct UnkLinkRfuStruct_02022B2C sRfuReqConfig = {}; +static EWRAM_DATA struct InitializeParametersTag sRfuReqConfig = {}; static EWRAM_DATA struct UnkLinkRfuStruct_02022B44 gUnknown_203AC08 = {}; -static struct RfuAPIBuffer gRfuAPIBuffer; -static u8 gUnknown_3001FF8[14]; -static u16 gUnknown_3002008[7]; +static u32 gf_rfu_REQ_api[RFU_API_BUFF_SIZE_RAM / 4]; +static u8 sResendBlock8[14]; +static u16 sResendBlock16[7]; struct GFtgtGname gHostRFUtgtGnameBuffer; -struct UnkRfuStruct_2 Rfu; +GF_RFU_MANAGER Rfu; u8 gHostRFUtgtUnameBuffer[PLAYER_NAME_LENGTH + 1]; static void sub_80F8AA4(void); static void sub_80F8AEC(void); -static void sub_80F8D20(u16 a0); -static void sub_80F8DA8(u16 a0); +static void MscCallback_Child(u16 a0); +static void MSCCallback_SetUnkCDB(u16 a0); static void sub_80F906C(void); -static void sub_80F9868(u8 unused); -static void sub_80F9CB4(struct UnkRfuStruct_2_Sub_6c *data); -static void sub_80F9D04(u16 command); -static void rfufunc_80F9F44(void); -static void sub_80F9FA8(void); -static void rfufunc_80FA020(void); +static void RfuHandleReceiveCommand(u8 unused); +static void ResetSendDataManager(struct RfuBlockSend *data); +static void RfuPrepareSendBuffer(u16 command); +static void RfuFunc_HandleBlockSend(void); +static void RfuFunc_SendNextBlock(void); +static void RfuFunc_SendLastBlock(void); static void CallRfuFunc(void); static void sub_80FA738(void); static int sub_80FA788(void); static void sub_80FA834(u8 taskId); static void sub_80FA9D0(u16 a0); -static void sub_80FAA58(void * a0); -static void sub_80FAA94(u8 taskId); +static void ValidateAndReceivePokemonSioInfo(void * a0); +static void Task_ExchangeLinkPlayers(u8 taskId); static void sub_80FACF0(u8 taskId); -static void sub_80FB0E8(u32 a0); -static void sub_80FB564(s32 a0); +static void GetLinkmanErrorParams(u32 msg); +static void sub_80FB564(s32 bmConnectedFlag); static void sub_80FBB74(void); -static u8 sub_80FBC70(const u8 *a0, u16 a1); -static void sub_80FBCF8(u32 a0); +static u8 GetPartnerIndexByNameAndTrainerID(const u8 *trainerName, u16 trainerId); +static void RfuReqDisconnectSlot(u32 bmDisconnectSlot); static void sub_80FBE20(u32 a0, u32 a1); static void sub_80FC028(u8 taskId); -static void sub_80FC208(void); -static void nullsub_89(u8 taskId); +static void rfu_dbg_clear(void); +static void Task_idle(u8 taskId); -static const struct UnkLinkRfuStruct_02022B2C sRfuReqConfigTemplate = { +static const struct InitializeParametersTag sRfuReqConfigTemplate = { .maxMFrame = 4, - .mcTimer = 32, - .availSlotFlag = 0, - .mbootFlag = 0, + .MC_TimerCount = 32, + .availSlot_flag = 0, + .mboot_flag = 0, .serialNo = 0x0002, - .gname = &gHostRFUtgtGnameBuffer, - .uname = gHostRFUtgtUnameBuffer, - .unk_10 = 0x01, - .unk_11 = 0x00, - .unk_12 = 0x0258, - .unk_14 = 0x012c + .gameName = (void *)&gHostRFUtgtGnameBuffer, + .userName = gHostRFUtgtUnameBuffer, + .fastSearchParent_flag = TRUE, + .linkRecovery_enable = FALSE, + .linkRecovery_period = 600, + .NI_failCounter_limit = 300 }; static const u8 sAvailSlots[] = { @@ -82,7 +84,7 @@ static const u8 sAvailSlots[] = { [4] = AVAIL_SLOT4 }; -static const u32 gUnknown_843EBD4[] = { +static const u32 sAllBlocksReceived[] = { 0x000000, 0x000001, 0x000003, @@ -138,8 +140,10 @@ static const struct { { gBlockSendBuffer, 40 } }; -static const u16 gUnknown_843EC8C[] = { - 0x0002, 0x7f7d, 0xFFFF +static const u16 sAcceptedSerialNos[] = { + 0x0002, // Pokemon FR/LG/EM + 0x7f7d, + 0xFFFF }; static const char sUnref_843EC92[][15] = { @@ -166,38 +170,38 @@ static const char sUnref_843ED37[][16] = { static const TaskFunc gUnknown_843ED88[] = { sub_80FA834, - sub_80FAA94, + Task_ExchangeLinkPlayers, sub_80FACF0 }; -static void nullsub_87(const void *unused_0, u8 unused_1, u8 unused_2) +static void rfu_dbg_print_str(const void *string, u8 x, u8 y) { // debug? } -static void nullsub_88(u16 unused_0, u8 unused_1, u8 unused_2, u8 unused_3) +static void rfu_dbg_print_num(u16 num, u8 x, u8 y, u8 ndigits) { } -void sub_80F85F8(void) +void ResetLinkRfuGFLayer(void) { s32 i; - u8 unk_ee_bak = Rfu.unk_ee; + u8 errorState_bak = Rfu.errorState; CpuFill16(0, &Rfu, sizeof Rfu); - Rfu.unk_0c = 0xFF; - Rfu.unk_ee = unk_ee_bak; - if (Rfu.unk_ee != 4) + Rfu.parent_child = MODE_NEUTRAL; + Rfu.errorState = errorState_bak; + if (Rfu.errorState != 4) { - Rfu.unk_ee = 0; + Rfu.errorState = 0; } for (i = 0; i < 5; i++) { - sub_80F9CB4(Rfu.unk_80 + i); + ResetSendDataManager(Rfu.cmd_8800_recvbuf + i); } - sub_80F9CB4(&Rfu.unk_6c); - sub_80FC478(&Rfu.unk_124); - sub_80FC4D4(&Rfu.unk_9e8); + ResetSendDataManager(&Rfu.cmd_8800_sendbuf); + RFU_queue_20_70_reset(&Rfu.unk_124); + RFU_queue_40_14_reset(&Rfu.unk_9e8); CpuFill16(0, gSendCmd, sizeof gSendCmd); CpuFill16(0, gRecvCmds, sizeof gRecvCmds); CpuFill16(0, gLinkPlayers, sizeof gLinkPlayers); @@ -218,46 +222,46 @@ void InitRFU(void) void sub_80F86F4(void) { - if (!rfu_initializeAPI(&gRfuAPIBuffer, sizeof gRfuAPIBuffer, gIntrTable + 1, TRUE)) + if (!rfu_initializeAPI(gf_rfu_REQ_api, RFU_API_BUFF_SIZE_RAM, gIntrTable + 1, TRUE)) { gLinkType = 0; sub_80FB128(FALSE); - sub_80F85F8(); + ResetLinkRfuGFLayer(); rfu_setTimerInterrupt(3, gIntrTable + 2); } } -static void sub_80F8738(u8 taskId) +static void Task_LinkLeaderSearchForChildren(u8 taskId) { sub_80FA738(); - switch (Rfu.unk_04) + switch (Rfu.state) { case 0: - sub_80FD4B0(&sRfuReqConfig); - Rfu.unk_04 = 1; + rfu_LMAN_initializeRFU(&sRfuReqConfig); + Rfu.state = 1; gTasks[taskId].data[1] = 1; break; case 1: break; case 2: - sub_80FD538(Rfu.unk_0c, 0, 240, gUnknown_843EC8C); - Rfu.unk_04 = 3; + rfu_LMAN_establishConnection(Rfu.parent_child, 0, 240, (u16*)sAcceptedSerialNos); + Rfu.state = 3; gTasks[taskId].data[1] = 6; break; case 3: break; case 4: - sub_80FD760(FALSE); - Rfu.unk_04 = 5; + rfu_LMAN_stopManager(0); + Rfu.state = 5; break; case 5: break; case 18: Rfu.unk_cdb = 0; - sub_80FEA10(sub_80F8DA8); + rfu_LMAN_setMSCCallback(MSCCallback_SetUnkCDB); sub_80F8AA4(); sub_80F8AEC(); - Rfu.unk_04 = 20; + Rfu.state = 20; gTasks[taskId].data[1] = 8; CreateTask(sub_80FA834, 5); DestroyTask(taskId); @@ -282,7 +286,7 @@ static void sub_80F887C(s32 r2, s32 r5) { if (r2 & 1) { - Rfu.unk_cde[i] = r4; + Rfu.linkPlayerIdx[i] = r4; r4++; } } @@ -293,12 +297,12 @@ static void sub_80F887C(s32 r2, s32 r5) { if (!(r1 & 1)) { - Rfu.unk_cde[i] = 0; + Rfu.linkPlayerIdx[i] = 0; } } for (r4 = 4; r4 != 0; r4--) { - for (i = 0; i < RFU_CHILD_MAX && Rfu.unk_cde[i] != r4; i++); + for (i = 0; i < RFU_CHILD_MAX && Rfu.linkPlayerIdx[i] != r4; i++); if (i == 4) { r6 = r4; @@ -308,26 +312,26 @@ static void sub_80F887C(s32 r2, s32 r5) { if (r5 & 1) { - Rfu.unk_cde[i] = r6++; + Rfu.linkPlayerIdx[i] = r6++; } } } } -static void sub_80F893C(u8 taskId) +static void Task_JoinGroupSearchForParent(u8 taskId) { - switch (Rfu.unk_04) + switch (Rfu.state) { case 0: - sub_80FD4B0(&sRfuReqConfigTemplate); - Rfu.unk_04 = 1; + rfu_LMAN_initializeRFU((INIT_PARAM*)&sRfuReqConfigTemplate); + Rfu.state = 1; gTasks[taskId].data[1] = 1; break; case 1: break; case 6: - sub_80FD538(Rfu.unk_0c, 0, 0xf0, gUnknown_843EC8C); - Rfu.unk_04 = 7; + rfu_LMAN_establishConnection(Rfu.parent_child, 0, 240, (u16*)sAcceptedSerialNos); + Rfu.state = 7; gTasks[taskId].data[1] = 7; break; case 7: @@ -339,11 +343,11 @@ static void sub_80F893C(u8 taskId) switch (sub_80FA788()) { case 5: - Rfu.unk_04 = 12; + Rfu.state = 12; break; case 6: case 9: - sub_80FEB14(); + rfu_LMAN_requestChangeAgbClockMaster(); Rfu.unk_ce4 = 2; DestroyTask(taskId); break; @@ -351,15 +355,15 @@ static void sub_80F893C(u8 taskId) break; case 12: { - u8 r5 = 1 << Rfu.unk_c3e; - rfu_clearSlot(TYPE_NI_SEND | TYPE_NI_RECV, Rfu.unk_c3e); - rfu_setRecvBuffer(TYPE_UNI, Rfu.unk_c3e, Rfu.unk_c3f, sizeof(Rfu.unk_c3f)); - rfu_UNI_setSendData(r5, Rfu.unk_4c, sizeof(Rfu.unk_4c)); + u8 bmChildSlot = 1 << Rfu.child_slot; + rfu_clearSlot(TYPE_NI_SEND | TYPE_NI_RECV, Rfu.child_slot); + rfu_setRecvBuffer(TYPE_UNI, Rfu.child_slot, Rfu.unk_c3f, sizeof(Rfu.unk_c3f)); + rfu_UNI_setSendData(bmChildSlot, Rfu.unk_4c, sizeof(Rfu.unk_4c)); gTasks[taskId].data[1] = 8; DestroyTask(taskId); if (gUnknown_203AC08.unk_0f == 0) { - sub_80FC208(); + rfu_dbg_clear(); gUnknown_203AC08.unk_0f++; } CreateTask(sub_80FA834, 5); @@ -371,56 +375,56 @@ static void sub_80F893C(u8 taskId) static void sub_80F8AA4(void) { u8 i; - u8 r5 = gUnknown_3005E10.unk_00; + u8 acceptSlot = lman.acceptSlot_flag; for (i = 0; i < RFU_CHILD_MAX; i++) { - if (r5 & 1) + if (acceptSlot & 1) { rfu_setRecvBuffer(TYPE_UNI, i, Rfu.unk_14[i], sizeof(Rfu.unk_14[i])); rfu_clearSlot(TYPE_UNI_SEND | TYPE_UNI_RECV, i); } - r5 >>= 1; + acceptSlot >>= 1; } } static void sub_80F8AEC(void) { - u8 r5 = gUnknown_3005E10.unk_00; - rfu_UNI_setSendData(r5, Rfu.unk_c87, sizeof(Rfu.unk_c87)); - Rfu.unk_cda = sub_80F886C(r5); - Rfu.unk_ce2 = r5; - sub_80F887C(r5, -1); - Rfu.unk_0c = 1; + u8 acceptSlot = lman.acceptSlot_flag; + rfu_UNI_setSendData(acceptSlot, Rfu.recvCmds, sizeof(Rfu.recvCmds)); + Rfu.unk_cda = sub_80F886C(acceptSlot); + Rfu.bm_PartnerFlags = acceptSlot; + sub_80F887C(acceptSlot, -1); + Rfu.parent_child = MODE_PARENT; } -static void sub_80F8B34(u8 taskId) +static void Task_LinkRfu_UnionRoomListen(u8 taskId) { - if (sub_80F9800()->unk_0a_0 == 0x54 && sub_80FB9F4() == 4) + if (GetHostRFUtgtGname()->activity == (ACTIVITY_PLYRTALK | IN_UNION_ROOM) && RfuGetErrorStatus() == 4) { - rfu_REQ_disconnect(gUnknown_3005E10.unk_00); + rfu_REQ_disconnect(lman.acceptSlot_flag); rfu_waitREQComplete(); - sub_80FB9E4(0, 0); + RfuSetErrorStatus(0, 0); } - switch (Rfu.unk_04) + switch (Rfu.state) { case 0: - sub_80FD4B0(&sRfuReqConfig); - Rfu.unk_04 = 1; + rfu_LMAN_initializeRFU(&sRfuReqConfig); + Rfu.state = 1; gTasks[taskId].data[1] = 1; break; case 1: break; case 17: - sub_80FD538(2, 0, 240, gUnknown_843EC8C); - sub_80FEA10(sub_80F8D20); - Rfu.unk_04 = 18; + rfu_LMAN_establishConnection(2, 0, 240, (u16*)sAcceptedSerialNos); + rfu_LMAN_setMSCCallback(MscCallback_Child); + Rfu.state = 18; break; case 18: break; case 13: - if (rfu_UNI_setSendData(1 << Rfu.unk_c3e, Rfu.unk_4c, sizeof(Rfu.unk_4c)) == 0) + if (rfu_UNI_setSendData(1 << Rfu.child_slot, Rfu.unk_4c, sizeof(Rfu.unk_4c)) == 0) { - Rfu.unk_0c = 0; + Rfu.parent_child = MODE_CHILD; DestroyTask(taskId); if (gTasks[taskId].data[7]) { @@ -433,20 +437,20 @@ static void sub_80F8B34(u8 taskId) } break; case 14: - sub_80FD760(0); - Rfu.unk_04 = 15; + rfu_LMAN_stopManager(0); + Rfu.state = 15; break; case 15: break; case 16: Rfu.unk_cdb = 0; - sub_80FEA10(sub_80F8DA8); - sub_80FAFE0(1); + rfu_LMAN_setMSCCallback(MSCCallback_SetUnkCDB); + UpdateGameData_GroupLockedIn(1); sub_80F8AA4(); sub_80F8AEC(); - Rfu.unk_04 = 20; + Rfu.state = 20; gTasks[taskId].data[1] = 8; - Rfu.unk_0c = 1; + Rfu.parent_child = MODE_PARENT; CreateTask(sub_80FA834, 5); Rfu.unk_ce8 = TRUE; DestroyTask(taskId); @@ -454,17 +458,17 @@ static void sub_80F8B34(u8 taskId) } } -void sub_80F8CFC(void) +void LinkRfu_CreateConnectionAsParent(void) { - sub_80FD538(1, 0, 240, gUnknown_843EC8C); + rfu_LMAN_establishConnection(MODE_PARENT, 0, 240, (u16*)sAcceptedSerialNos); } -void sub_80F8D14(void) +void LinkRfu_StopManagerBeforeEnteringChat(void) { - sub_80FD760(FALSE); + rfu_LMAN_stopManager(0); } -static void sub_80F8D20(u16 unused) +static void MscCallback_Child(u16 unused) { s32 i; @@ -474,53 +478,53 @@ static void sub_80F8D20(u16 unused) } rfu_REQ_recvData(); rfu_waitREQComplete(); - if (gRfuSlotStatusUNI[Rfu.unk_c3e]->recv.newDataFlag) + if (gRfuSlotStatusUNI[Rfu.child_slot]->recv.newDataFlag) { Rfu.unk_cd0++; - sub_80FC588(&Rfu.unk_124, Rfu.unk_c3f); + RFU_queue_20_70_recv(&Rfu.unk_124, Rfu.unk_c3f); gUnknown_203AC08.unk_06++; sub_80F906C(); - rfu_UNI_readySendData(Rfu.unk_c3e); - rfu_UNI_clearRecvNewDataFlag(Rfu.unk_c3e); + rfu_UNI_readySendData(Rfu.child_slot); + rfu_UNI_clearRecvNewDataFlag(Rfu.child_slot); } - LinkRfu_REQ_SendData_HandleParentRelationship(TRUE); + rfu_LMAN_REQ_sendData(TRUE); } -static void sub_80F8DA8(u16 unused) +static void MSCCallback_SetUnkCDB(u16 unused) { Rfu.unk_cdb = 1; } -void sub_80F8DC0(void) +void LinkRfu_Shutdown(void) { u8 i; if (gQuestLogState == 2 || gQuestLogState == 3) return; - sub_80FD52C(); - if (Rfu.unk_0c == 1) + rfu_LMAN_powerDownRFU(); + if (Rfu.parent_child == MODE_PARENT) { - if (FuncIsActiveTask(sub_80F8738) == TRUE) + if (FuncIsActiveTask(Task_LinkLeaderSearchForChildren) == TRUE) { DestroyTask(Rfu.unk_67); - sub_80F85F8(); + ResetLinkRfuGFLayer(); } } - else if (Rfu.unk_0c == 0) + else if (Rfu.parent_child == MODE_CHILD) { - if (FuncIsActiveTask(sub_80F893C) == TRUE) + if (FuncIsActiveTask(Task_JoinGroupSearchForParent) == TRUE) { DestroyTask(Rfu.unk_67); - sub_80F85F8(); + ResetLinkRfuGFLayer(); } } - else if (Rfu.unk_0c == 2) + else if (Rfu.parent_child == 2) { - if (FuncIsActiveTask(sub_80F8B34) == TRUE) + if (FuncIsActiveTask(Task_LinkRfu_UnionRoomListen) == TRUE) { DestroyTask(Rfu.unk_67); - sub_80F85F8(); + ResetLinkRfuGFLayer(); } } for (i = 0; i < NELEMS(gUnknown_843ED88); i++) @@ -532,59 +536,59 @@ void sub_80F8DC0(void) } } -static void sub_80F8E74(void) +static void CreateTask_LinkLeaderSearchForChildren(void) { if (gQuestLogState == 2 || gQuestLogState == 3) return; - Rfu.unk_67 = CreateTask(sub_80F8738, 1); + Rfu.unk_67 = CreateTask(Task_LinkLeaderSearchForChildren, 1); } -static bool8 sub_80F8EA4(void) +static bool8 RfuStateIs7AndPlayerIsChild(void) { - if (Rfu.unk_04 == 7 && Rfu.unk_ccd) + if (Rfu.state == 7 && Rfu.parentId) { return TRUE; } return FALSE; } -static bool32 sub_80F8ECC(void) +static bool32 IsParentSuccessfullyReconnected(void) { - if (Rfu.unk_04 == 7 && !sub_80FD610(gRfuLinkStatus->partner[Rfu.unk_c3d].id, 240)) + if (Rfu.state == 7 && !rfu_LMAN_CHILD_connectParent(gRfuLinkStatus->partner[Rfu.reconnectedParentIdx].id, 240)) { - Rfu.unk_04 = 9; + Rfu.state = 9; return TRUE; } return FALSE; } -static void sub_80F8F10(void) +static void CreateTask_JoinGroupSearchForParent(void) { if (gQuestLogState == 2 || gQuestLogState == 3) return; - Rfu.unk_67 = CreateTask(sub_80F893C, 1); + Rfu.unk_67 = CreateTask(Task_JoinGroupSearchForParent, 1); } -bool8 sub_80F8F40(void) +bool8 LmanAcceptSlotFlagIsNotZero(void) { - if (gUnknown_3005E10.unk_00) + if (lman.acceptSlot_flag) { return TRUE; } return FALSE; } -void sub_80F8F5C(void) +void LinkRfu_StopManagerAndFinalizeSlots(void) { - Rfu.unk_04 = 4; - Rfu.unk_ce7 = gUnknown_3005E10.unk_00; + Rfu.state = 4; + Rfu.acceptSlot_flag = lman.acceptSlot_flag; } -bool32 sub_80F8F7C(bool32 a0) +bool32 WaitRfuState(bool32 force) { - if (Rfu.unk_04 == 17 || a0) + if (Rfu.state == 17 || force) { - Rfu.unk_04 = 18; + Rfu.state = 18; return TRUE; } return FALSE; @@ -592,7 +596,7 @@ bool32 sub_80F8F7C(bool32 a0) void sub_80F8FA0(void) { - Rfu.unk_04 = 14; + Rfu.state = 14; } static void sub_80F8FAC(u8 a0) @@ -616,11 +620,11 @@ static void sub_80F8FD4(void) for (i = 0; i < 5; i++) { - struct UnkRfuStruct_2 *ptr = &Rfu; + GF_RFU_MANAGER *ptr = &Rfu; for (j = 0; j < 7; j++) { - ptr->unk_c87[i][j][1] = gRecvCmds[i][j] >> 8; - ptr->unk_c87[i][j][0] = gRecvCmds[i][j]; + ptr->recvCmds[i][j][1] = gRecvCmds[i][j] >> 8; + ptr->recvCmds[i][j][0] = gRecvCmds[i][j]; } } CpuFill16(0, gRecvCmds, sizeof gRecvCmds); @@ -643,8 +647,8 @@ static void sub_80F906C(void) { if (Rfu.unk_c3c) { - u8 r2 = sub_80FC888(&Rfu.unk_c1c, Rfu.unk_4c); - if (Rfu.unk_c1c.unk_1e == 0) + u8 r2 = RFU_queue_2_14_send(&Rfu.unk_c1c, Rfu.unk_4c); + if (Rfu.unk_c1c.count == 0) { Rfu.unk_c3c = 0; } @@ -655,8 +659,8 @@ static void sub_80F906C(void) } if (Rfu.unk_c3c == 0) { - sub_80FC79C(&Rfu.unk_9e8, Rfu.unk_4c); - sub_80FC828(&Rfu.unk_c1c, Rfu.unk_4c); + RFU_queue_40_14_send(&Rfu.unk_9e8, Rfu.unk_4c); + RFU_queue_2_14_recv(&Rfu.unk_c1c, Rfu.unk_4c); } } @@ -684,39 +688,39 @@ bool32 IsRfuRecvQueueEmpty(void) static bool32 sub_80F911C(void) { - if (Rfu.unk_04 < 20) + if (Rfu.state < 20) { rfu_REQ_recvData(); rfu_waitREQComplete(); - LinkRfu_REQ_SendData_HandleParentRelationship(FALSE); + rfu_LMAN_REQ_sendData(FALSE); } else { Rfu.unk_cdb = 0; - if ((Rfu.unk_ce2 & gRfuLinkStatus->connSlotFlag) == Rfu.unk_ce2 && (Rfu.unk_ce2 & gRfuLinkStatus->connSlotFlag)) + if ((Rfu.bm_PartnerFlags & gRfuLinkStatus->connSlotFlag) == Rfu.bm_PartnerFlags && (Rfu.bm_PartnerFlags & gRfuLinkStatus->connSlotFlag)) { if (!Rfu.unk_cdc) { - if (Rfu.unk_ce3) + if (Rfu.bm_DisconnectSlot) { - sub_80FBCF8(Rfu.unk_ce3); - Rfu.unk_ce3 = 0; + RfuReqDisconnectSlot(Rfu.bm_DisconnectSlot); + Rfu.bm_DisconnectSlot = 0; if (Rfu.unk_ce4 == 1) { - sub_80FB9E4(2, 0x8000); - sub_80FB0E8(0x8000); + RfuSetErrorStatus(2, 0x8000); + GetLinkmanErrorParams(0x8000); return FALSE; } - if (!gUnknown_3005E10.unk_00) + if (!lman.acceptSlot_flag) { - sub_80F8DC0(); + LinkRfu_Shutdown(); gReceivedRemoteLinkPlayers = 0; return FALSE; } } sub_80F8FD4(); rfu_UNI_readySendData(Rfu.unk_cda); - LinkRfu_REQ_SendData_HandleParentRelationship(TRUE); + rfu_LMAN_REQ_sendData(TRUE); } else { @@ -736,23 +740,23 @@ static bool32 sub_80F9204(void) u16 j; u8 retval; - if (Rfu.unk_04 >= 20 && Rfu.unk_0e == 1) + if (Rfu.state >= 20 && Rfu.unk_0e == 1) { rfu_waitREQComplete(); while (Rfu.unk_cdb == 0) { - if (Rfu.unk_ee != 0) + if (Rfu.errorState != 0) { return FALSE; } } rfu_REQ_recvData(); rfu_waitREQComplete(); - if ((gUnknown_3005E10.unk_03 & Rfu.unk_ce2) == Rfu.unk_ce2) + if ((lman.parentAck_flag & Rfu.bm_PartnerFlags) == Rfu.bm_PartnerFlags) { Rfu.unk_cdc = 0; gUnknown_203AC08.unk_06++; - flags = gUnknown_3005E10.unk_00; + flags = lman.acceptSlot_flag; for (i = 0; i < RFU_CHILD_MAX; i++) { if (flags & 1) @@ -762,14 +766,14 @@ static bool32 sub_80F9204(void) if (Rfu.unk_cee[i] != 0xFF && (Rfu.unk_14[i][0] >> 5) != ((Rfu.unk_cee[i] + 1) & 7)) { if (++Rfu.unk_cea[i] > 4) - sub_80FB0E8(0x8100); + GetLinkmanErrorParams(0x8100); } else { Rfu.unk_cee[i] = Rfu.unk_14[i][0] / 32; Rfu.unk_cea[i] = 0; Rfu.unk_14[i][0] &= 0x1f; - r0 = Rfu.unk_cde[i]; + r0 = Rfu.linkPlayerIdx[i]; for (j = 0; j < 7; j++) { gRecvCmds[r0][j] = (Rfu.unk_14[i][(j << 1) + 1] << 8) | Rfu.unk_14[i][(j << 1) + 0]; @@ -783,7 +787,7 @@ static bool32 sub_80F9204(void) flags >>= 1; } sub_80F9038(); - sub_80F9868(0); + RfuHandleReceiveCommand(0); CallRfuFunc(); if (Rfu.unk_ce5 && !Rfu.unk_cd9) { @@ -796,13 +800,13 @@ static bool32 sub_80F9204(void) rfu_setRecvBuffer(TYPE_UNI, i, Rfu.unk_14[i], sizeof(Rfu.unk_14[i])); } } - sub_80F887C(Rfu.unk_ce2, Rfu.unk_ce2 | Rfu.unk_ce5); + sub_80F887C(Rfu.bm_PartnerFlags, Rfu.bm_PartnerFlags | Rfu.unk_ce5); Rfu.unk_ce9 = Rfu.unk_ce5; - Rfu.unk_ce2 |= Rfu.unk_ce5; + Rfu.bm_PartnerFlags |= Rfu.unk_ce5; Rfu.unk_ce5 = 0; - rfu_UNI_setSendData(Rfu.unk_ce2, Rfu.unk_c87, sizeof(Rfu.unk_c87)); - Rfu.unk_cda = sub_80F886C(Rfu.unk_ce2); - CreateTask(sub_80FAA94, 0); + rfu_UNI_setSendData(Rfu.bm_PartnerFlags, Rfu.recvCmds, sizeof(Rfu.recvCmds)); + Rfu.unk_cda = sub_80F886C(Rfu.bm_PartnerFlags); + CreateTask(Task_ExchangeLinkPlayers, 0); } } else @@ -837,7 +841,7 @@ static void sub_80F94BC(u16 *a0, u8 *a1) } } -static bool32 sub_80F9514(void) +static bool32 RfuProcessEnqueuedRecvBlock(void) { u8 i; u8 j; @@ -845,7 +849,7 @@ static bool32 sub_80F9514(void) u8 sp48[2 * (CMD_LENGTH - 1)]; u8 switchval; - sub_80FC6E8(&Rfu.unk_124, sp00); + RFU_queue_20_70_send(&Rfu.unk_124, sp00); for (i = 0; i < MAX_RFU_PLAYERS; i++) { for (j = 0; j < CMD_LENGTH - 1; j++) @@ -853,23 +857,23 @@ static bool32 sub_80F9514(void) gRecvCmds[i][j] = (sp00[i * 14 + (j << 1) + 1] << 8) | sp00[i * 14 + (j << 1) + 0]; } } - sub_80F9868(0); - if (gUnknown_3005E10.unk_02 == 0 && Rfu.unk_ce4) + RfuHandleReceiveCommand(0); + if (lman.childClockSlave_flag == 0 && Rfu.unk_ce4) { rfu_REQ_disconnect(gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag); rfu_waitREQComplete(); - switchval = sub_80FB9F4(); + switchval = RfuGetErrorStatus(); if (switchval != 1 && switchval != 6 && switchval != 9) - sub_80FB9E4(2, 0x9000); + RfuSetErrorStatus(2, 0x9000); rfu_clearAllSlot(); gReceivedRemoteLinkPlayers = FALSE; Rfu.RfuFunc = NULL; if (Rfu.unk_ce4 == 1) { - sub_80FB9E4(2, 0x9000); - sub_80FB0E8(0x9000); + RfuSetErrorStatus(2, 0x9000); + GetLinkmanErrorParams(0x9000); } - gUnknown_3005E10.unk_04 = gUnknown_3005E10.unk_05 = 0; + lman.state = lman.next_state = 0; Rfu.unk_ce4 = 0; } if (Rfu.unk_cd0) @@ -877,36 +881,36 @@ static bool32 sub_80F9514(void) Rfu.unk_cd0--; CallRfuFunc(); sub_80F94BC(gSendCmd, sp48); - sub_80FC63C(&Rfu.unk_9e8, sp48); + RFU_queue_40_14_recv(&Rfu.unk_9e8, sp48); for (i = 0; i < CMD_LENGTH - 1; i++) gSendCmd[i] = 0; } return IsRfuRecvQueueEmpty(); } -static void sub_80F965C(u8 unused, u32 flags) +static void HandleSendFailure(u8 unused, u32 flags) { s32 i, j; - const u8 *r10 = Rfu.unk_6c.unk_04; - for (i = 0; i < Rfu.unk_6c.unk_02; i++) + const u8 *r10 = Rfu.cmd_8800_sendbuf.payload; + for (i = 0; i < Rfu.cmd_8800_sendbuf.count; i++) { if (!(flags & 1)) { - gUnknown_3002008[0] = (~0x76ff) | i; + sResendBlock16[0] = RFU_COMMAND_0x8900 | i; for (j = 0; j < 7; j++) { - gUnknown_3002008[j + 1] = (r10[12 * i + (j << 1) + 1] << 8) | r10[12 * i + (j << 1) + 0]; + sResendBlock16[j + 1] = (r10[12 * i + (j << 1) + 1] << 8) | r10[12 * i + (j << 1) + 0]; } for (j = 0; j < 7; j++) { - gUnknown_3001FF8[2 * j + 1] = gUnknown_3002008[j] >> 8; - gUnknown_3001FF8[2 * j + 0] = gUnknown_3002008[j]; + sResendBlock8[2 * j + 1] = sResendBlock16[j] >> 8; + sResendBlock8[2 * j + 0] = sResendBlock16[j]; j++;j--; // Needed to match; } - sub_80FC63C(&Rfu.unk_9e8, gUnknown_3001FF8); - Rfu.unk_6c.unk_0c |= (1 << i); + RFU_queue_40_14_recv(&Rfu.unk_9e8, sResendBlock8); + Rfu.cmd_8800_sendbuf.failedFlags |= (1 << i); } flags >>= 1; } @@ -914,7 +918,7 @@ static void sub_80F965C(u8 unused, u32 flags) void Rfu_SetBlockReceivedFlag(u8 a0) { - if (Rfu.unk_0c == 1 && a0) + if (Rfu.parent_child == MODE_PARENT && a0) Rfu.unk_61[a0] = 1; else Rfu.unk_5c[a0] = 1; @@ -923,23 +927,23 @@ void Rfu_SetBlockReceivedFlag(u8 a0) void Rfu_ResetBlockReceivedFlag(u8 a0) { Rfu.unk_5c[a0] = 0; - Rfu.unk_80[a0].unk_12 = 0; + Rfu.cmd_8800_recvbuf[a0].receiving = 0; } static u8 sub_80F9770(const u8 *a0) { u8 i; - if (Rfu.unk_0c == 1) + if (Rfu.parent_child == MODE_PARENT) return FALSE; for (i = 0; i < RFU_CHILD_MAX; i++) { - Rfu.unk_cde[i] = a0[i]; + Rfu.linkPlayerIdx[i] = a0[i]; } - return a0[Rfu.unk_c3e]; + return a0[Rfu.child_slot]; } -static void rfu_func_080F97B8(void) +static void RfuFunc_SendKeysToRfu(void) { static u8 gUnknown_3001188; if (gReceivedRemoteLinkPlayers @@ -948,24 +952,24 @@ static void rfu_func_080F97B8(void) { gUnknown_3001188++; gHeldKeyCodeToSend |= (gUnknown_3001188 << 8); - sub_80F9D04(0xbe00); + RfuPrepareSendBuffer(RFU_COMMAND_0xbe00); } } -struct GFtgtGname *sub_80F9800(void) +struct GFtgtGname *GetHostRFUtgtGname(void) { return &gHostRFUtgtGnameBuffer; } bool32 IsSendingKeysToRfu(void) { - return Rfu.RfuFunc == rfu_func_080F97B8; + return Rfu.RfuFunc == RfuFunc_SendKeysToRfu; } -void sub_80F9828(void) +void StartSendingKeysToRfu(void) { AGB_ASSERT_EX(Rfu.RfuFunc == NULL, ABSPATH("rfu.c"), 1473); - Rfu.RfuFunc = rfu_func_080F97B8; + Rfu.RfuFunc = RfuFunc_SendKeysToRfu; } void Rfu_set_zero(void) @@ -973,7 +977,7 @@ void Rfu_set_zero(void) Rfu.RfuFunc = NULL; } -static void sub_80F9868(u8 unused) +static void RfuHandleReceiveCommand(u8 unused) { u16 i; u16 j; @@ -982,63 +986,63 @@ static void sub_80F9868(u8 unused) { switch (gRecvCmds[i][0] & 0xff00) { - case 0x7800: - if (Rfu.unk_0c == 0 && gReceivedRemoteLinkPlayers != 0) + case RFU_COMMAND_0x7800: + if (Rfu.parent_child == MODE_CHILD && gReceivedRemoteLinkPlayers != 0) return; // fallthrough - case 0x7700: + case RFU_COMMAND_0x7700: if (gRfuLinkStatus->parentChild == MODE_CHILD) { Rfu.playerCount = gRecvCmds[i][1]; Rfu.unk_cce = sub_80F9770((u8 *)(gRecvCmds[i] + 2)); } break; - case 0x8800: - if (Rfu.unk_80[i].unk_12 == 0) + case RFU_COMMAND_0x8800: + if (Rfu.cmd_8800_recvbuf[i].receiving == 0) { - Rfu.unk_80[i].unk_00 = 0; - Rfu.unk_80[i].unk_02 = gRecvCmds[i][1]; - Rfu.unk_80[i].unk_11 = gRecvCmds[i][2]; - Rfu.unk_80[i].unk_08 = 0; - Rfu.unk_80[i].unk_12 = 1; + Rfu.cmd_8800_recvbuf[i].next = 0; + Rfu.cmd_8800_recvbuf[i].count = gRecvCmds[i][1]; + Rfu.cmd_8800_recvbuf[i].owner = gRecvCmds[i][2]; + Rfu.cmd_8800_recvbuf[i].receivedFlags = 0; + Rfu.cmd_8800_recvbuf[i].receiving = 1; Rfu.unk_5c[i] = 0; } break; - case 0x8900: - if (Rfu.unk_80[i].unk_12 == 1) + case RFU_COMMAND_0x8900: + if (Rfu.cmd_8800_recvbuf[i].receiving == 1) { - Rfu.unk_80[i].unk_00 = gRecvCmds[i][0] & 0xff; - Rfu.unk_80[i].unk_08 |= (1 << Rfu.unk_80[i].unk_00); + Rfu.cmd_8800_recvbuf[i].next = gRecvCmds[i][0] & 0xff; + Rfu.cmd_8800_recvbuf[i].receivedFlags |= (1 << Rfu.cmd_8800_recvbuf[i].next); for (j = 0; j < 6; j++) - gBlockRecvBuffer[i][Rfu.unk_80[i].unk_00 * 6 + j] = gRecvCmds[i][j + 1]; - if (Rfu.unk_80[i].unk_08 == gUnknown_843EBD4[Rfu.unk_80[i].unk_02]) + gBlockRecvBuffer[i][Rfu.cmd_8800_recvbuf[i].next * 6 + j] = gRecvCmds[i][j + 1]; + if (Rfu.cmd_8800_recvbuf[i].receivedFlags == sAllBlocksReceived[Rfu.cmd_8800_recvbuf[i].count]) { - Rfu.unk_80[i].unk_12 = 2; + Rfu.cmd_8800_recvbuf[i].receiving = 2; Rfu_SetBlockReceivedFlag(i); - if (sub_80F9800()->unk_0a_0 == 0x45 && gReceivedRemoteLinkPlayers != 0 && Rfu.unk_0c == 0) - sub_80FAA58(gBlockRecvBuffer); + if (GetHostRFUtgtGname()->activity == (ACTIVITY_CHAT | IN_UNION_ROOM) && gReceivedRemoteLinkPlayers != 0 && Rfu.parent_child == MODE_CHILD) + ValidateAndReceivePokemonSioInfo(gBlockRecvBuffer); } } break; - case 0xa100: + case RFU_COMMAND_0xa100: Rfu_InitBlockSend(gUnknown_843EC64[gRecvCmds[i][1]].buffer, (u16)gUnknown_843EC64[gRecvCmds[i][1]].size); break; - case 0x5f00: - Rfu.unk_e4[i] = 1; + case RFU_COMMAND_0x5f00: + Rfu.cmd5f00Ack[i] = 1; break; - case 0x6600: - if (Rfu.unk_100 == gRecvCmds[i][1]) - Rfu.unk_e9[i] = 1; + case RFU_COMMAND_0x6600: + if (Rfu.cmd_6600_count == gRecvCmds[i][1]) + Rfu.cmd_6600_recvd[i] = 1; break; - case 0xed00: - if (Rfu.unk_0c == 0) + case RFU_COMMAND_0xed00: + if (Rfu.parent_child == MODE_CHILD) { if (gReceivedRemoteLinkPlayers != 0) { if (gRecvCmds[i][1] & gRfuLinkStatus->connSlotFlag) { gReceivedRemoteLinkPlayers = 0; - sub_80FEB14(); + rfu_LMAN_requestChangeAgbClockMaster(); Rfu.unk_ce4 = gRecvCmds[i][2]; } Rfu.playerCount = gRecvCmds[i][3]; @@ -1047,25 +1051,25 @@ static void sub_80F9868(u8 unused) } else { - sub_80F9D04(0xee00); + RfuPrepareSendBuffer(RFU_COMMAND_0xee00); gSendCmd[1] = gRecvCmds[i][1]; gSendCmd[2] = gRecvCmds[i][2]; gSendCmd[3] = gRecvCmds[i][3]; } break; - case 0xee00: - if (Rfu.unk_0c == 1) + case RFU_COMMAND_0xee00: + if (Rfu.parent_child == MODE_PARENT) { - Rfu.unk_ce3 |= gRecvCmds[i][1]; + Rfu.bm_DisconnectSlot |= gRecvCmds[i][1]; Rfu.unk_ce4 = gRecvCmds[i][2]; sub_80FA9D0(gRecvCmds[i][1]); } break; - case 0xbe00: + case RFU_COMMAND_0xbe00: gLinkPartnersHeldKeys[i] = gRecvCmds[i][1]; break; } - if (Rfu.unk_0c == 1 && Rfu.unk_61[i]) + if (Rfu.parent_child == MODE_PARENT && Rfu.unk_61[i]) { if (Rfu.unk_61[i] == 4) { @@ -1078,13 +1082,13 @@ static void sub_80F9868(u8 unused) } } -static bool8 sub_80F9C50(void) +static bool8 Cmd8000recvIsFinished(void) { s32 i; for (i = 0; i < 5; i++) { - if (Rfu.unk_80[i].unk_12) + if (Rfu.cmd_8800_recvbuf[i].receiving) return FALSE; } return TRUE; @@ -1096,21 +1100,21 @@ static bool8 sub_80F9C78(void) for (i = 0; i < Rfu.playerCount; i++) { - if (Rfu.unk_80[i].unk_12 != 2 || Rfu.unk_5c[i] != 1) + if (Rfu.cmd_8800_recvbuf[i].receiving != 2 || Rfu.unk_5c[i] != 1) return FALSE; } return TRUE; } -static void sub_80F9CB4(struct UnkRfuStruct_2_Sub_6c *data) +static void ResetSendDataManager(struct RfuBlockSend *data) { - data->unk_00 = 0; - data->unk_02 = 0; - data->unk_04 = NULL; - data->unk_08 = 0; - data->unk_10 = 0; - data->unk_11 = 0; - data->unk_12 = 0; + data->next = 0; + data->count = 0; + data->payload = NULL; + data->receivedFlags = 0; + data->sending = 0; + data->owner = 0; + data->receiving = 0; } u8 Rfu_GetBlockReceivedStatus(void) @@ -1120,7 +1124,7 @@ u8 Rfu_GetBlockReceivedStatus(void) for (i = 0; i < 5; i++) { - if (Rfu.unk_80[i].unk_12 == 2 && Rfu.unk_5c[i] == 1) + if (Rfu.cmd_8800_recvbuf[i].receiving == 2 && Rfu.unk_5c[i] == 1) { flags |= (1 << i); } @@ -1128,7 +1132,7 @@ u8 Rfu_GetBlockReceivedStatus(void) return flags; } -static void sub_80F9D04(u16 command) +static void RfuPrepareSendBuffer(u16 command) { u8 i; u8 *buff; @@ -1137,47 +1141,47 @@ static void sub_80F9D04(u16 command) gSendCmd[0] = command; switch (command) { - case 0x8800: - gSendCmd[1] = Rfu.unk_6c.unk_02; - gSendCmd[2] = Rfu.unk_6c.unk_11 + 0x80; + case RFU_COMMAND_0x8800: + gSendCmd[1] = Rfu.cmd_8800_sendbuf.count; + gSendCmd[2] = Rfu.cmd_8800_sendbuf.owner + 0x80; break; - case 0xa100: - if (sub_80F9C50()) + case RFU_COMMAND_0xa100: + if (Cmd8000recvIsFinished()) gSendCmd[1] = Rfu.unk_5a; break; - case 0x7700: - case 0x7800: - tmp = Rfu.unk_ce2 ^ Rfu.unk_ce3; + case RFU_COMMAND_0x7700: + case RFU_COMMAND_0x7800: + tmp = Rfu.bm_PartnerFlags ^ Rfu.bm_DisconnectSlot; Rfu.playerCount = gUnknown_843EC41[tmp] + 1; gSendCmd[1] = Rfu.playerCount; buff = (u8 *)(gSendCmd + 2); for (i = 0; i < RFU_CHILD_MAX; i++) - buff[i] = Rfu.unk_cde[i]; + buff[i] = Rfu.linkPlayerIdx[i]; break; - case 0x6600: - case 0x5f00: - gSendCmd[1] = Rfu.unk_100; + case RFU_COMMAND_0x6600: + case RFU_COMMAND_0x5f00: + gSendCmd[1] = Rfu.cmd_6600_count; break; - case 0x2f00: + case RFU_COMMAND_0x2f00: for (i = 0; i < 6; i++) gSendCmd[1 + i] = Rfu.unk_f2[i]; break; - case 0xbe00: + case RFU_COMMAND_0xbe00: gSendCmd[1] = gHeldKeyCodeToSend; break; - case 0xee00: + case RFU_COMMAND_0xee00: break; - case 0xed00: + case RFU_COMMAND_0xed00: break; } } -void sub_80F9E2C(void *a0) +void RfuPrepareSend0x2f00(void * data) { - if (gSendCmd[0] == 0 && !sub_80FBA00()) + if (gSendCmd[0] == 0 && !RfuIsErrorStatus1or2()) { - memcpy(Rfu.unk_f2, a0, sizeof(Rfu.unk_f2)); - sub_80F9D04(0x2f00); + memcpy(Rfu.unk_f2, data, sizeof(Rfu.unk_f2)); + RfuPrepareSendBuffer(RFU_COMMAND_0x2f00); } } @@ -1189,77 +1193,77 @@ bool32 Rfu_InitBlockSend(const u8 *src, size_t size) return FALSE; if (gSendCmd[0] != 0) return FALSE; - if (Rfu.unk_6c.unk_10 != 0) + if (Rfu.cmd_8800_sendbuf.sending != 0) { gUnknown_203AC08.unk_83++; return FALSE; } r4 = (size % 12) != 0; - Rfu.unk_6c.unk_11 = GetMultiplayerId(); - Rfu.unk_6c.unk_10 = 1; - Rfu.unk_6c.unk_02 = (size / 12) + r4; - Rfu.unk_6c.unk_00 = 0; - if (size > 0x100) - Rfu.unk_6c.unk_04 = src; + Rfu.cmd_8800_sendbuf.owner = GetMultiplayerId(); + Rfu.cmd_8800_sendbuf.sending = 1; + Rfu.cmd_8800_sendbuf.count = (size / 12) + r4; + Rfu.cmd_8800_sendbuf.next = 0; + if (size > 0x100) // should never be reached + Rfu.cmd_8800_sendbuf.payload = src; else { if (src != gBlockSendBuffer) memcpy(gBlockSendBuffer, src, size); - Rfu.unk_6c.unk_04 = gBlockSendBuffer; + Rfu.cmd_8800_sendbuf.payload = gBlockSendBuffer; } - sub_80F9D04(0x8800); - Rfu.RfuFunc = rfufunc_80F9F44; + RfuPrepareSendBuffer(RFU_COMMAND_0x8800); + Rfu.RfuFunc = RfuFunc_HandleBlockSend; Rfu.unk_5b = 0; return TRUE; } -static void rfufunc_80F9F44(void) +static void RfuFunc_HandleBlockSend(void) { if (gSendCmd[0] == 0) { - sub_80F9D04(0x8800); - if (Rfu.unk_0c == 1) + RfuPrepareSendBuffer(RFU_COMMAND_0x8800); + if (Rfu.parent_child == MODE_PARENT) { if (++Rfu.unk_5b > 2) - Rfu.RfuFunc = sub_80F9FA8; + Rfu.RfuFunc = RfuFunc_SendNextBlock; } else { - if ((gRecvCmds[GetMultiplayerId()][0] & 0xff00) == 0x8800) - Rfu.RfuFunc = sub_80F9FA8; + if ((gRecvCmds[GetMultiplayerId()][0] & 0xff00) == RFU_COMMAND_0x8800) + Rfu.RfuFunc = RfuFunc_SendNextBlock; } } } -static void sub_80F9FA8(void) +static void RfuFunc_SendNextBlock(void) { s32 i; - const u8 *src = Rfu.unk_6c.unk_04; - gSendCmd[0] = 0x8900 | Rfu.unk_6c.unk_00; + const u8 *src = Rfu.cmd_8800_sendbuf.payload; + gSendCmd[0] = RFU_COMMAND_0x8900 | Rfu.cmd_8800_sendbuf.next; for (i = 0; i < 7; i++) - gSendCmd[i + 1] = (src[(i << 1) + Rfu.unk_6c.unk_00 * 12 + 1] << 8) | src[(i << 1) + Rfu.unk_6c.unk_00 * 12 + 0]; - Rfu.unk_6c.unk_00++; - if (Rfu.unk_6c.unk_02 <= Rfu.unk_6c.unk_00) + gSendCmd[i + 1] = (src[(i << 1) + Rfu.cmd_8800_sendbuf.next * 12 + 1] << 8) | src[(i << 1) + Rfu.cmd_8800_sendbuf.next * 12 + 0]; + Rfu.cmd_8800_sendbuf.next++; + if (Rfu.cmd_8800_sendbuf.count <= Rfu.cmd_8800_sendbuf.next) { - Rfu.unk_6c.unk_10 = 0; - Rfu.RfuFunc = rfufunc_80FA020; + Rfu.cmd_8800_sendbuf.sending = 0; + Rfu.RfuFunc = RfuFunc_SendLastBlock; } } -static void rfufunc_80FA020(void) +static void RfuFunc_SendLastBlock(void) { - const u8 *src = Rfu.unk_6c.unk_04; + const u8 *src = Rfu.cmd_8800_sendbuf.payload; u8 mpId = GetMultiplayerId(); s32 i; - if (Rfu.unk_0c == 0) + if (Rfu.parent_child == MODE_CHILD) { - gSendCmd[0] = (~0x76ff) | (Rfu.unk_6c.unk_02 - 1); + gSendCmd[0] = RFU_COMMAND_0x8900 | (Rfu.cmd_8800_sendbuf.count - 1); for (i = 0; i < 7; i++) - gSendCmd[i + 1] = (src[(i << 1) + (Rfu.unk_6c.unk_02 - 1) * 12 + 1] << 8) | src[(i << 1) + (Rfu.unk_6c.unk_02 - 1) * 12 + 0]; - if ((u8)gRecvCmds[mpId][0] == Rfu.unk_6c.unk_02 - 1) + gSendCmd[i + 1] = (src[(i << 1) + (Rfu.cmd_8800_sendbuf.count - 1) * 12 + 1] << 8) | src[(i << 1) + (Rfu.cmd_8800_sendbuf.count - 1) * 12 + 0]; + if ((u8)gRecvCmds[mpId][0] == Rfu.cmd_8800_sendbuf.count - 1) { - if (Rfu.unk_80[mpId].unk_08 != gUnknown_843EBD4[Rfu.unk_80[mpId].unk_02]) + if (Rfu.cmd_8800_recvbuf[mpId].receivedFlags != sAllBlocksReceived[Rfu.cmd_8800_recvbuf[mpId].count]) { - sub_80F965C(mpId, Rfu.unk_80[mpId].unk_08); + HandleSendFailure(mpId, Rfu.cmd_8800_recvbuf[mpId].receivedFlags); gUnknown_203AC08.unk_64++; } else @@ -1273,45 +1277,45 @@ static void rfufunc_80FA020(void) bool8 sub_80FA0F8(u8 a0) { Rfu.unk_5a = a0; - sub_80F9D04(0xa100); + RfuPrepareSendBuffer(RFU_COMMAND_0xa100); return TRUE; } -static void sub_80FA114(void) +static void RfuFunc_End5F00_PowerDownRfu(void) { rfu_clearAllSlot(); - sub_80FD52C(); + rfu_LMAN_powerDownRFU(); gReceivedRemoteLinkPlayers = 0; Rfu.unk_ef = 1; Rfu.RfuFunc = NULL; } -static void sub_80FA140(void) +static void RfuFunc_End5F00_ParentDisconnect(void) { rfu_REQ_disconnect(gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag); rfu_waitREQComplete(); - sub_80FA114(); + RfuFunc_End5F00_PowerDownRfu(); } -static void sub_80FA160(void) +static void RfuFunc_End5F00(void) { - if (Rfu.unk_0c == 0) + if (Rfu.parent_child == MODE_CHILD) { - sub_80FEB14(); + rfu_LMAN_requestChangeAgbClockMaster(); Rfu.unk_ce4 = 2; } else - Rfu.RfuFunc = sub_80FA140; + Rfu.RfuFunc = RfuFunc_End5F00_ParentDisconnect; } void LinkRfu_FatalError(void) { - sub_80FEB14(); + rfu_LMAN_requestChangeAgbClockMaster(); Rfu.unk_ce4 = 1; - Rfu.unk_ce3 = gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag; + Rfu.bm_DisconnectSlot = gRfuLinkStatus->connSlotFlag | gRfuLinkStatus->linkLossSlotFlag; } -static void sub_80FA1C4(void) +static void RfuFunc_WaitAck5F00(void) { s32 i; u8 playerCount = Rfu.playerCount; @@ -1319,132 +1323,132 @@ static void sub_80FA1C4(void) for (i = 0; i < MAX_RFU_PLAYERS; i++) { - if (Rfu.unk_e4[i]) + if (Rfu.cmd5f00Ack[i]) count++; } if (count == playerCount) { - gBattleTypeFlags &= (u16)~BATTLE_TYPE_20; - if (Rfu.unk_0c == 0) + gBattleTypeFlags &= ~(BATTLE_TYPE_20 | 0xFFFF0000); + if (Rfu.parent_child == MODE_CHILD) { - Rfu.unk_ee = 3; - sub_80FA160(); + Rfu.errorState = 3; + RfuFunc_End5F00(); } else - Rfu.RfuFunc = sub_80FA160; + Rfu.RfuFunc = RfuFunc_End5F00; } } -static void sub_80FA224(void) +static void RfuFunc_BuildCommand5F00(void) { if (gSendCmd[0] == 0 && !Rfu.unk_ce8) { - sub_80F9D04(0x5f00); - Rfu.RfuFunc = sub_80FA1C4; + RfuPrepareSendBuffer(RFU_COMMAND_0x5f00); + Rfu.RfuFunc = RfuFunc_WaitAck5F00; } } -static void sub_80FA25C(u8 taskId) +static void Task_WaitRfuFuncAndSetBuildCmd5F00(u8 taskId) { if (Rfu.RfuFunc == NULL) { Rfu.unk_cd9 = 1; - Rfu.RfuFunc = sub_80FA224; + Rfu.RfuFunc = RfuFunc_BuildCommand5F00; DestroyTask(taskId); } } -void task_add_05_task_del_08FA224_when_no_RfuFunc(void) +void Rfu_BeginBuildAndSendCommand5F(void) { - if (!FuncIsActiveTask(sub_80FA25C)) - CreateTask(sub_80FA25C, 5); + if (!FuncIsActiveTask(Task_WaitRfuFuncAndSetBuildCmd5F00)) + CreateTask(Task_WaitRfuFuncAndSetBuildCmd5F00, 5); } -static void sub_80FA2B0(void) +static void RfuFunc_Send6600_3(void) { u8 playerCount; u8 i; - if (GetMultiplayerId() != 0) + if (GetMultiplayerId() != 0) // child { - if (Rfu.unk_124.unk_8c2 == 0 && Rfu.unk_fe > 0x3c) + if (Rfu.unk_124.count == 0 && Rfu.cmd_6600_timer > 60) { - sub_80F9D04(0x6600); - Rfu.unk_fe = 0; + RfuPrepareSendBuffer(RFU_COMMAND_0x6600); + Rfu.cmd_6600_timer = 0; } } playerCount = GetLinkPlayerCount(); for (i = 0; i < playerCount; i++) { - if (Rfu.unk_e9[i] == 0) + if (Rfu.cmd_6600_recvd[i] == 0) break; } if (i == playerCount) { for (i = 0; i < MAX_RFU_PLAYERS; i++) - Rfu.unk_e9[i] = 0; - Rfu.unk_100++; + Rfu.cmd_6600_recvd[i] = 0; + Rfu.cmd_6600_count++; Rfu.RfuFunc = NULL; } - Rfu.unk_fe++; + Rfu.cmd_6600_timer++; } -static void sub_80FA350(void) +static void RfuFunc_Send6600_2(void) { - if (Rfu.unk_124.unk_8c2 == 0 && gSendCmd[0] == 0) + if (Rfu.unk_124.count == 0 && gSendCmd[0] == 0) { - sub_80F9D04(0x6600); - Rfu.RfuFunc = sub_80FA2B0; + RfuPrepareSendBuffer(RFU_COMMAND_0x6600); + Rfu.RfuFunc = RfuFunc_Send6600_3; } } -static void sub_80FA388(void) +static void RfuFunc_Send6600_1(void) { u8 i; u8 playerCount; - if (GetMultiplayerId() != 0) + if (GetMultiplayerId() != 0) // child { - if (Rfu.unk_124.unk_8c2 == 0 && gSendCmd[0] == 0) + if (Rfu.unk_124.count == 0 && gSendCmd[0] == 0) { - sub_80F9D04(0x6600); - Rfu.RfuFunc = sub_80FA2B0; + RfuPrepareSendBuffer(RFU_COMMAND_0x6600); + Rfu.RfuFunc = RfuFunc_Send6600_3; } } - else + else // parent { playerCount = GetLinkPlayerCount(); for (i = 1; i < playerCount; i++) { - if (Rfu.unk_e9[i] == 0) + if (Rfu.cmd_6600_recvd[i] == 0) break; } if (i == playerCount) { - if (Rfu.unk_124.unk_8c2 == 0 && gSendCmd[0] == 0) + if (Rfu.unk_124.count == 0 && gSendCmd[0] == 0) { - sub_80F9D04(0x6600); - Rfu.RfuFunc = sub_80FA350; + RfuPrepareSendBuffer(RFU_COMMAND_0x6600); + Rfu.RfuFunc = RfuFunc_Send6600_2; } } } } -void sub_80FA42C(void) +void LinkRfu_SetRfuFuncToSend6600(void) { if (Rfu.RfuFunc == NULL) { - Rfu.RfuFunc = sub_80FA388; - Rfu.unk_fe = 0; + Rfu.RfuFunc = RfuFunc_Send6600_1; + Rfu.cmd_6600_timer = 0; } } -bool32 sub_80FA44C(u32 a0) +bool32 RfuSerialNumberIsValid(u32 serialNo) { s32 i; - for (i = 0; gUnknown_843EC8C[i] != a0; i++) + for (i = 0; sAcceptedSerialNos[i] != serialNo; i++) { - if (gUnknown_843EC8C[i] == 0xFFFF) + if (sAcceptedSerialNos[i] == 0xFFFF) return FALSE; } return TRUE; @@ -1453,20 +1457,20 @@ bool32 sub_80FA44C(u32 a0) u8 sub_80FA484(bool32 a0) { if (!a0) - return sub_80FEA34(0, 0); - sub_80FEA34(1, 0x258); + return rfu_LMAN_setLinkRecovery(0, 0); + rfu_LMAN_setLinkRecovery(1, 600); return 0; } void sub_80FA4A8(void) { Rfu.unk_cd9 = 1; - sub_80FD760(FALSE); + rfu_LMAN_stopManager(0); } u8 LinkRfu_GetMultiplayerId(void) { - if (Rfu.unk_0c == 1) + if (Rfu.parent_child == MODE_PARENT) return 0; return Rfu.unk_cce; } @@ -1507,7 +1511,7 @@ static bool8 sub_80FA528(void) } } - else if (gRfuSlotStatusNI[Rfu.unk_c3e]->recv.state == SLOT_STATE_RECV_FAILED) + else if (gRfuSlotStatusNI[Rfu.child_slot]->recv.state == SLOT_STATE_RECV_FAILED) { rfu_clearSlot(TYPE_NI_RECV, i); } @@ -1541,9 +1545,9 @@ bool32 sub_80FA5D4(void) return FALSE; } -bool32 sub_80FA634(u16 a0, const u8 *a1) +bool32 TrainerIdAndNameStillInPartnersList(u16 trainerId, const u8 *trainerName) { - u8 r1 = sub_80FBC70(a1, a0); + u8 r1 = GetPartnerIndexByNameAndTrainerID(trainerName, trainerId); if (r1 == 0xFF) return TRUE; if (Rfu.unk_cd1[r1] == 9) @@ -1551,27 +1555,27 @@ bool32 sub_80FA634(u16 a0, const u8 *a1) return FALSE; } -void sub_80FA670(u8 a0, u16 a1, const u8 *a2) +void SendByteToPartnerByIdAndName(u8 value, u16 trainerId, const u8 *trainerName) { - u8 r4 = sub_80FBC70(a2, a1); - Rfu.unk_cd1[r4] = a0; - rfu_clearSlot(TYPE_NI_SEND, r4); - rfu_NI_setSendData(1 << r4, 8, Rfu.unk_cd1 + r4, 1); + u8 slotNo = GetPartnerIndexByNameAndTrainerID(trainerName, trainerId); + Rfu.unk_cd1[slotNo] = value; + rfu_clearSlot(TYPE_NI_SEND, slotNo); + rfu_NI_setSendData(1 << slotNo, 8, Rfu.unk_cd1 + slotNo, 1); } -void sub_80FA6BC(void) +void LinkRfuNIsend8(void) { Rfu.unk_c85 = 8; - rfu_clearSlot(TYPE_NI_SEND, Rfu.unk_c3e); - rfu_NI_setSendData(1 << Rfu.unk_c3e, 8, &Rfu.unk_c85, 1); + rfu_clearSlot(TYPE_NI_SEND, Rfu.child_slot); + rfu_NI_setSendData(1 << Rfu.child_slot, 8, &Rfu.unk_c85, 1); } -u32 sub_80FA6FC(u16 a0, const u8 *a1) +u32 WaitSendByteToPartnerByIdAndName(u16 trainerId, const u8 *trainerName) { - u8 r0 = sub_80FBC70(a1, a0); + u8 r0 = GetPartnerIndexByNameAndTrainerID(trainerName, trainerId); if (r0 == 0xFF) return 2; - if (gRfuSlotStatusNI[r0]->send.state == 0) + if (gRfuSlotStatusNI[r0]->send.state == SLOT_STATE_READY) return 1; return 0; } @@ -1597,18 +1601,18 @@ static s32 sub_80FA788(void) s32 retval = 0; if (Rfu.unk_c85 == 8) { - if (gRfuSlotStatusNI[Rfu.unk_c3e]->send.state == SLOT_STATE_SEND_SUCCESS || gRfuSlotStatusNI[Rfu.unk_c3e]->send.state == SLOT_STATE_SEND_FAILED) - rfu_clearSlot(TYPE_NI_SEND, Rfu.unk_c3e); + if (gRfuSlotStatusNI[Rfu.child_slot]->send.state == SLOT_STATE_SEND_SUCCESS || gRfuSlotStatusNI[Rfu.child_slot]->send.state == SLOT_STATE_SEND_FAILED) + rfu_clearSlot(TYPE_NI_SEND, Rfu.child_slot); } - if (gRfuSlotStatusNI[Rfu.unk_c3e]->recv.state == SLOT_STATE_RECV_SUCCESS || gRfuSlotStatusNI[Rfu.unk_c3e]->recv.state == SLOT_STATE_RECV_SUCCESS_AND_SENDSIDE_UNKNOWN) + if (gRfuSlotStatusNI[Rfu.child_slot]->recv.state == SLOT_STATE_RECV_SUCCESS || gRfuSlotStatusNI[Rfu.child_slot]->recv.state == SLOT_STATE_RECV_SUCCESS_AND_SENDSIDE_UNKNOWN) { - rfu_clearSlot(TYPE_NI_RECV, Rfu.unk_c3e); - sub_80FB9E4(Rfu.unk_c86, 0); + rfu_clearSlot(TYPE_NI_RECV, Rfu.child_slot); + RfuSetErrorStatus(Rfu.unk_c86, 0); retval = Rfu.unk_c86; } - else if (gRfuSlotStatusNI[Rfu.unk_c3e]->recv.state == SLOT_STATE_RECV_FAILED) + else if (gRfuSlotStatusNI[Rfu.child_slot]->recv.state == SLOT_STATE_RECV_FAILED) { - rfu_clearSlot(TYPE_NI_RECV, Rfu.unk_c3e); + rfu_clearSlot(TYPE_NI_RECV, Rfu.child_slot); retval = 6; } return retval; @@ -1626,20 +1630,20 @@ static void sub_80FA834(u8 taskId) switch (gTasks[taskId].data[0]) { case 0: - if (sub_80F9C50()) + if (Cmd8000recvIsFinished()) { ResetBlockReceivedFlags(); - sub_800B0B4(); + PrepareLocalLinkPlayerBlock(); gTasks[taskId].data[0]++; } break; case 1: - if (Rfu.unk_0c == 1) + if (Rfu.parent_child == MODE_PARENT) { if (gReceivedRemoteLinkPlayers) - sub_80F9D04(0x7800); + RfuPrepareSendBuffer(RFU_COMMAND_0x7800); else - sub_80F9D04(0x7700); + RfuPrepareSendBuffer(RFU_COMMAND_0x7700); gTasks[taskId].data[0] = 101; } else @@ -1654,12 +1658,12 @@ static void sub_80FA834(u8 taskId) gTasks[taskId].data[0]++; break; case 3: - if (Rfu.unk_0c == 1) + if (Rfu.parent_child == MODE_PARENT) { - if (sub_80F9C50()) + if (Cmd8000recvIsFinished()) { Rfu.unk_5a = 0; - sub_80F9D04(0xa100); + RfuPrepareSendBuffer(RFU_COMMAND_0xa100); gTasks[taskId].data[0]++; } } @@ -1673,7 +1677,7 @@ static void sub_80FA834(u8 taskId) case 5: for (i = 0; i < Rfu.playerCount; i++) { - sub_800B110(i); + LinkPlayerFromBlock(i); Rfu_ResetBlockReceivedFlag(i); } gTasks[taskId].data[0]++; @@ -1682,15 +1686,15 @@ static void sub_80FA834(u8 taskId) DestroyTask(taskId); gReceivedRemoteLinkPlayers = 1; Rfu.unk_ce8 = FALSE; - sub_80FEA34(1, 0x258); - if (Rfu.unk_ce6) + rfu_LMAN_setLinkRecovery(1, 600); + if (Rfu.unionRoomChatters) { for (i = 0; i < RFU_CHILD_MAX; i++) { - if ((Rfu.unk_ce6 >> i) & 1) + if ((Rfu.unionRoomChatters >> i) & 1) { Rfu.unk_ce5 = 1 << i; - Rfu.unk_ce6 ^= (1 << i); + Rfu.unionRoomChatters ^= (1 << i); } } } @@ -1705,39 +1709,39 @@ static void sub_80FA9D0(u16 a0) for (i = 0; i < RFU_CHILD_MAX; i++) { if ((a0 >> i) & 1) - Rfu.unk_cde[i] = 0; + Rfu.linkPlayerIdx[i] = 0; } } -static void sub_80FA9FC(const struct UnkRfuStruct_8010A14 *a0) +static void ReceiveRfuLinkPlayers(const struct SioInfo *chunk) { s32 i; - Rfu.playerCount = a0->unk_0f; + Rfu.playerCount = chunk->playerCount; for (i = 0; i < RFU_CHILD_MAX; i++) - Rfu.unk_cde[i] = a0->unk_10[i]; + Rfu.linkPlayerIdx[i] = chunk->linkPlayerIdx[i]; for (i = 0; i < MAX_RFU_PLAYERS; i++) { - gLinkPlayers[i] = a0->unk_14[i]; - sub_800B284(gLinkPlayers + i); + gLinkPlayers[i] = chunk->linkPlayers[i]; + IntlConvertLinkPlayerName(gLinkPlayers + i); } } -static void sub_80FAA58(void *a0) +static void ValidateAndReceivePokemonSioInfo(void *recvBuffer) { - if (strcmp("PokemonSioInfo", ((struct UnkRfuStruct_8010A14 *)a0)->unk_00) == 0) + if (strcmp("PokemonSioInfo", recvBuffer) == 0) { - sub_80FA9FC(a0); - CpuFill16(0, a0, sizeof(struct UnkRfuStruct_8010A14)); + ReceiveRfuLinkPlayers(recvBuffer); + CpuFill16(0, recvBuffer, sizeof(struct SioInfo)); ResetBlockReceivedFlag(0); } } -static void sub_80FAA94(u8 taskId) +static void Task_ExchangeLinkPlayers(u8 taskId) { s32 i; struct LinkPlayerBlock *r2; - struct UnkRfuStruct_8010A14 *r5; - u8 r4 = Rfu.unk_cde[gUnknown_843EC38[Rfu.unk_ce9]]; + struct SioInfo *r5; + u8 r4 = Rfu.linkPlayerIdx[gUnknown_843EC38[Rfu.unk_ce9]]; if (Rfu.unk_f1 == 1 || Rfu.unk_f1 == 2) { Rfu.unk_ce8 = FALSE; @@ -1749,7 +1753,7 @@ static void sub_80FAA94(u8 taskId) if (gSendCmd[0] == 0) { ResetBlockReceivedFlag(r4); - sub_80F9D04(0x7800); + RfuPrepareSendBuffer(RFU_COMMAND_0x7800); gTasks[taskId].data[0]++; } break; @@ -1763,42 +1767,43 @@ static void sub_80FAA94(u8 taskId) ResetBlockReceivedFlag(r4); r2 = (struct LinkPlayerBlock *)gBlockRecvBuffer[r4]; gLinkPlayers[r4] = r2->linkPlayer; - sub_800B284(gLinkPlayers + r4); + IntlConvertLinkPlayerName(gLinkPlayers + r4); gTasks[taskId].data[0]++; } break; case 3: - r5 = (struct UnkRfuStruct_8010A14 *)gBlockSendBuffer; - memcpy(r5->unk_00, "PokemonSioInfo", sizeof("PokemonSioInfo")); - r5->unk_0f = Rfu.playerCount; + // Prepare send block + r5 = (struct SioInfo *)gBlockSendBuffer; + memcpy(r5->magic, "PokemonSioInfo", sizeof("PokemonSioInfo")); + r5->playerCount = Rfu.playerCount; for (i = 0; i < RFU_CHILD_MAX; i++) - r5->unk_10[i] = Rfu.unk_cde[i]; - memcpy(r5->unk_14, gLinkPlayers, sizeof gLinkPlayers); + r5->linkPlayerIdx[i] = Rfu.linkPlayerIdx[i]; + memcpy(r5->linkPlayers, gLinkPlayers, sizeof gLinkPlayers); gTasks[taskId].data[0]++; // fallthrough case 4: - r5 = (struct UnkRfuStruct_8010A14 *)gBlockSendBuffer; - r5->unk_0f = Rfu.playerCount; + r5 = (struct SioInfo *)gBlockSendBuffer; + r5->playerCount = Rfu.playerCount; for (i = 0; i < RFU_CHILD_MAX; i++) - r5->unk_10[i] = Rfu.unk_cde[i]; - memcpy(r5->unk_14, gLinkPlayers, sizeof gLinkPlayers); + r5->linkPlayerIdx[i] = Rfu.linkPlayerIdx[i]; + memcpy(r5->linkPlayers, gLinkPlayers, sizeof gLinkPlayers); if (SendBlock(0, gBlockSendBuffer, 0xa0)) gTasks[taskId].data[0]++; break; case 5: if (IsLinkTaskFinished() && GetBlockReceivedStatus() & 1) { - CpuFill16(0, gBlockRecvBuffer, sizeof(struct UnkRfuStruct_8010A14)); + CpuFill16(0, gBlockRecvBuffer, sizeof(struct SioInfo)); ResetBlockReceivedFlag(0); Rfu.unk_ce8 = FALSE; - if (Rfu.unk_ce6) + if (Rfu.unionRoomChatters) { for (i = 0; i < RFU_CHILD_MAX; i++) { - if ((Rfu.unk_ce6 >> i) & 1) + if ((Rfu.unionRoomChatters >> i) & 1) { Rfu.unk_ce5 = 1 << i; - Rfu.unk_ce6 ^= (1 << i); + Rfu.unionRoomChatters ^= (1 << i); Rfu.unk_ce8 = TRUE; break; } @@ -1819,7 +1824,7 @@ static void sub_80FACF0(u8 taskId) case 0: if (Rfu.playerCount) { - sub_800B0B4(); + PrepareLocalLinkPlayerBlock(); SendBlock(0, gBlockSendBuffer, sizeof(struct LinkPlayerBlock)); gTasks[taskId].data[0]++; } @@ -1831,7 +1836,7 @@ static void sub_80FACF0(u8 taskId) case 2: if (GetBlockReceivedStatus() & 1) { - sub_80FA9FC((const struct UnkRfuStruct_8010A14 *)gBlockRecvBuffer); + ReceiveRfuLinkPlayers((const struct SioInfo *)gBlockRecvBuffer); ResetBlockReceivedFlag(0); gReceivedRemoteLinkPlayers = 1; DestroyTask(taskId); @@ -1840,51 +1845,51 @@ static void sub_80FACF0(u8 taskId) } } -static void sub_80FAD98(void) +static void RfuCheckErrorStatus(void) { - if (Rfu.unk_ee == 1 && gUnknown_3005E10.unk_02 == 0) + if (Rfu.errorState == 1 && lman.childClockSlave_flag == 0) { if (gMain.callback2 == c2_mystery_gift_e_reader_run) gWirelessCommType = 2; SetMainCallback2(CB2_LinkError); gMain.savedCallback = CB2_LinkError; - sub_800ACBC((Rfu.unk_0a << 16) | (Rfu.unk_10 << 8) | Rfu.unk_12, Rfu.unk_124.unk_8c2, Rfu.unk_9e8.unk_232, sub_80FB9F4() == 2); - Rfu.unk_ee = 2; + SetLinkErrorFromRfu((Rfu.linkman_msg << 16) | (Rfu.linkman_param[0] << 8) | Rfu.linkman_param[1], Rfu.unk_124.count, Rfu.unk_9e8.count, RfuGetErrorStatus() == 2); + Rfu.errorState = 2; CloseLink(); } - else if (Rfu.unk_9e8.unk_233 == 1 || Rfu.unk_124.unk_8c3 == 1) + else if (Rfu.unk_9e8.full == 1 || Rfu.unk_124.full == 1) { - if (gUnknown_3005E10.unk_02) - sub_80FEB14(); - sub_80FB9E4(1, 0x7000); - sub_80FB0E8(0x7000); + if (lman.childClockSlave_flag) + rfu_LMAN_requestChangeAgbClockMaster(); + RfuSetErrorStatus(1, 0x7000); + GetLinkmanErrorParams(0x7000); } } static void rfu_REQ_recvData_then_sendData(void) { - if (gUnknown_3005E10.unk_06 == 1) + if (lman.parent_child == MODE_PARENT) { rfu_REQ_recvData(); rfu_waitREQComplete(); - LinkRfu_REQ_SendData_HandleParentRelationship(0); + rfu_LMAN_REQ_sendData(RFU_CHILD_CLOCK_SLAVE_OFF); } } -bool32 sub_80FAE94(void) +bool32 LinkRfuMain1(void) { bool32 retval = FALSE; - Rfu.unk_ccd = 0; - sub_80FDA30(Random()); + Rfu.parentId = 0; + rfu_LMAN_manager_entity(Random()); if (Rfu.unk_ef == 0) { - switch (Rfu.unk_0c) + switch (Rfu.parent_child) { case 1: sub_80F911C(); break; case 0: - retval = sub_80F9514(); + retval = RfuProcessEnqueuedRecvBlock(); break; case 2: rfu_REQ_recvData_then_sendData(); @@ -1894,19 +1899,19 @@ bool32 sub_80FAE94(void) return retval; } -bool32 sub_80FAEF0(void) +bool32 LinkRfuMain2(void) { bool32 retval = FALSE; if (Rfu.unk_ef == 0) { - if (Rfu.unk_0c == 1) + if (Rfu.parent_child == MODE_PARENT) retval = sub_80F9204(); - sub_80FAD98(); + RfuCheckErrorStatus(); } return retval; } -static void sub_80FAF1C(void) +static void CopyPlayerNameToUnameBuffer(void) { StringCopy(gHostRFUtgtUnameBuffer, gSaveBlock2Ptr->playerName); } @@ -1914,94 +1919,96 @@ static void sub_80FAF1C(void) void ClearAndInitHostRFUtgtGname(void) { memset(&gHostRFUtgtGnameBuffer, 0, RFU_GAME_NAME_LENGTH); - InitHostRFUtgtGname(&gHostRFUtgtGnameBuffer, 0, 0, 0); + InitHostRFUtgtGname(&gHostRFUtgtGnameBuffer, 0, FALSE, 0); } -void SetHostRFUtgtGname(u8 a0, u32 a1, u32 a2) +void SetHostRFUtgtGname(u8 activity, u32 child_sprite_genders, u32 started) { - InitHostRFUtgtGname(&gHostRFUtgtGnameBuffer, a0, a2, a1); + InitHostRFUtgtGname(&gHostRFUtgtGnameBuffer, activity, started, child_sprite_genders); } -void sub_80FAF74(bool32 a0, bool32 a1) +void SetGnameBufferWonderFlags(bool32 hasNews, bool32 hasCard) { - gHostRFUtgtGnameBuffer.unk_00.unk_00_4 = a0; - gHostRFUtgtGnameBuffer.unk_00.unk_00_5 = a1; + gHostRFUtgtGnameBuffer.unk_00.hasNews = hasNews; + gHostRFUtgtGnameBuffer.unk_00.hasCard = hasCard; } -void sub_80FAFA0(u32 type, u32 species, u32 level) +void RfuUpdatePlayerGnameStateAndSend(u32 type, u32 species, u32 level) { gHostRFUtgtGnameBuffer.type = type; gHostRFUtgtGnameBuffer.species = species; gHostRFUtgtGnameBuffer.level = level; } -void sub_80FAFE0(u8 a0) +void UpdateGameData_GroupLockedIn(bool8 started) { - gHostRFUtgtGnameBuffer.unk_0a_7 = a0; - rfu_REQ_configGameData(0, 2, (void *)&gHostRFUtgtGnameBuffer, gHostRFUtgtUnameBuffer); + gHostRFUtgtGnameBuffer.started = started; + rfu_REQ_configGameData(0, 0x0002, (void *)&gHostRFUtgtGnameBuffer, gHostRFUtgtUnameBuffer); } -void sub_80FB008(u8 a0, u32 a1, u32 a2) +void UpdateGameDataWithActivitySpriteGendersFlag(u8 activity, u32 child_sprite_genders, u32 started) { - if (a0) - SetHostRFUtgtGname(a0, a1, a2); - rfu_REQ_configGameData(0, 2, (void *)&gHostRFUtgtGnameBuffer, gHostRFUtgtUnameBuffer); + if (activity) + SetHostRFUtgtGname(activity, child_sprite_genders, started); + rfu_REQ_configGameData(0, 0x0002, (void *)&gHostRFUtgtGnameBuffer, gHostRFUtgtUnameBuffer); } void sub_80FB030(u32 linkPlayerCount) { s32 i; - u32 r5; - u32 r7; - s32 r8; + u32 numConnectedChildren; + u32 child_sprite_genders; + s32 bm_child_slots; - if (sub_80F9800()->unk_0a_0 == 0x45) + if (GetHostRFUtgtGname()->activity == (ACTIVITY_CHAT | IN_UNION_ROOM)) { - r5 = 0; - r7 = 0; - r8 = Rfu.unk_ce2 ^ Rfu.unk_ce3; + numConnectedChildren = 0; + child_sprite_genders = 0; + bm_child_slots = Rfu.bm_PartnerFlags ^ Rfu.bm_DisconnectSlot; for (i = 0; i < RFU_CHILD_MAX; i++) { - if ((r8 >> i) & 1) + if ((bm_child_slots >> i) & 1) { - r7 |= (( - 0x80 | ((gLinkPlayers[Rfu.unk_cde[i]].gender & 1) << 3) | (gLinkPlayers[Rfu.unk_cde[i]].trainerId & 7)) << (r5 << 3)); - r5++; - if (r5 == linkPlayerCount - 1) + // The 0x80 prevents this element from being incorrectly read as a 0. + child_sprite_genders |= (( + 0x80 | ((gLinkPlayers[Rfu.linkPlayerIdx[i]].gender & 1) << 3) | (gLinkPlayers[Rfu.linkPlayerIdx[i]].trainerId & 7) + ) << (numConnectedChildren << 3)); + numConnectedChildren++; + if (numConnectedChildren == linkPlayerCount - 1) break; } } - sub_80FB008(0x45, r7, 0); + UpdateGameDataWithActivitySpriteGendersFlag(ACTIVITY_CHAT | IN_UNION_ROOM, child_sprite_genders, 0); } } -static void sub_80FB0E8(u32 a0) +static void GetLinkmanErrorParams(u32 msg) { - if (Rfu.unk_ee == 0) + if (Rfu.errorState == 0) { - Rfu.unk_10 = gUnknown_3005E10.unk_14; - Rfu.unk_12 = gUnknown_3005E10.unk_16; - Rfu.unk_0a = a0; - Rfu.unk_ee = 1; + Rfu.linkman_param[0] = lman.param[0]; + Rfu.linkman_param[1] = lman.param[1]; + Rfu.linkman_msg = msg; + Rfu.errorState = 1; } } -static void sub_80FB118(void) +static void ResetErrorState(void) { - Rfu.unk_ee = 0; + Rfu.errorState = 0; } void sub_80FB128(bool32 a0) { if (!a0) - Rfu.unk_ee = 0; + Rfu.errorState = 0; else - Rfu.unk_ee = 4; + Rfu.errorState = 4; } static void sub_80FB154(void) { - sub_80FBE20(gUnknown_3005E10.unk_00, 1); + sub_80FBE20(lman.acceptSlot_flag, 1); Rfu.RfuFunc = NULL; } @@ -2010,25 +2017,25 @@ static void sub_80FB174(void) Rfu.RfuFunc = sub_80FB154; } -static void sub_80FB184(u8 a0, u8 unused1) +static void LmanCallback_Parent2(u8 msg, u8 param_count) { u8 i; - u8 r6 = 0; - switch (a0) + u8 bmDisconnectFlag = 0; + switch (msg) { - case 0x00: - Rfu.unk_04 = 2; + case LMAN_MSG_INITIALIZE_COMPLETED: + Rfu.state = 2; break; - case 0x10: + case LMAN_MSG_NEW_CHILD_CONNECT_DETECTED: break; - case 0x11: - sub_80FB564(gUnknown_3005E10.unk_14); + case LMAN_MSG_NEW_CHILD_CONNECT_ACCEPTED: + sub_80FB564(lman.param[0]); for (i = 0; i < RFU_CHILD_MAX; i++) { - if ((gUnknown_3005E10.unk_14 >> i) & 1) + if ((lman.param[0] >> i) & 1) { struct GFtgtGname *structPtr = (void *)&gRfuLinkStatus->partner[i].gname; - if (structPtr->unk_0a_0 == sub_80F9800()->unk_0a_0) + if (structPtr->activity == GetHostRFUtgtGname()->activity) { Rfu.unk_cd1[i] = 0; Rfu.unk_cd5[i] = 0; @@ -2036,60 +2043,64 @@ static void sub_80FB184(u8 a0, u8 unused1) } else { - r6 |= (1 << i); + bmDisconnectFlag |= (1 << i); } } } - if (r6) + if (bmDisconnectFlag) { - rfu_REQ_disconnect(r6); + rfu_REQ_disconnect(bmDisconnectFlag); rfu_waitREQComplete(); } break; - case 0x12: + case LMAN_MSG_NEW_CHILD_CONNECT_REJECTED: break; - case 0x13: + case LMAN_MSG_SEARCH_CHILD_PERIOD_EXPIRED: break; - case 0x14: - if (Rfu.unk_ce7 != gUnknown_3005E10.unk_00) + case LMAN_MSG_END_WAIT_CHILD_NAME: + if (Rfu.acceptSlot_flag != lman.acceptSlot_flag) { - rfu_REQ_disconnect(Rfu.unk_ce7 ^ gUnknown_3005E10.unk_00); + rfu_REQ_disconnect(Rfu.acceptSlot_flag ^ lman.acceptSlot_flag); rfu_waitREQComplete(); } - Rfu.unk_04 = 0x11; + Rfu.state = 17; break; - case 0x31: - Rfu.unk_f0 = 1; + case LMAN_MSG_LINK_LOSS_DETECTED_AND_START_RECOVERY: + Rfu.linkLossRecoveryState = 1; break; - case 0x32: - Rfu.unk_f0 = 3; + case LMAN_MSG_LINK_RECOVERY_SUCCESSED: + Rfu.linkLossRecoveryState = 3; break; - case 0x30: - case 0x33: - Rfu.unk_f0 = 4; - Rfu.unk_ce2 &= ~gUnknown_3005E10.unk_14; + case LMAN_MSG_LINK_LOSS_DETECTED_AND_DISCONNECTED: + case LMAN_MSG_LINK_RECOVERY_FAILED_AND_DISCONNECTED: + Rfu.linkLossRecoveryState = 4; + Rfu.bm_PartnerFlags &= ~lman.param[0]; if (gReceivedRemoteLinkPlayers == 1) { - if (Rfu.unk_ce2 == 0) - sub_80FB0E8(a0); + if (Rfu.bm_PartnerFlags == 0) + GetLinkmanErrorParams(msg); else sub_80FB174(); } - sub_80FB9E4(2, a0); + RfuSetErrorStatus(2, msg); break; case 0x34: break; - case 0x42 ... 0x44: + case LMAN_MSG_RFU_POWER_DOWN: + case LMAN_MSG_MANAGER_STOPPED: + case LMAN_MSG_MANAGER_FORCED_STOPPED_AND_RFU_RESET: break; - case 0xf3: - sub_80FB9E4(1, a0); - sub_80FB0E8(a0); + case LMAN_MSG_LMAN_API_ERROR_RETURN: + RfuSetErrorStatus(1, msg); + GetLinkmanErrorParams(msg); Rfu.unk_ef = 1; break; - case 0xf0 ... 0xf2: - case 0xff: - sub_80FB0E8(a0); - sub_80FB9E4(1, a0); + case LMAN_MSG_REQ_API_ERROR: + case LMAN_MSG_WATCH_DOG_TIMER_ERROR: + case LMAN_MSG_CLOCK_SLAVE_MS_CHANGE_ERROR_BY_DMA: + case LMAN_MSG_RFU_FATAL_ERROR: + GetLinkmanErrorParams(msg); + RfuSetErrorStatus(1, msg); Rfu.unk_cdb = 1; break; } @@ -2097,80 +2108,84 @@ static void sub_80FB184(u8 a0, u8 unused1) static const u8 unref_843EDF3[] = _(" あきと"); -static void sub_80FB37C(u8 a0, u8 unused1) +static void LmanCallback_Child(u8 msg, u8 param_count) { - switch (a0) + switch (msg) { - case 0x00: - Rfu.unk_04 = 6; + case LMAN_MSG_INITIALIZE_COMPLETED: + Rfu.state = 6; break; - case 0x20: - Rfu.unk_ccd = gUnknown_3005E10.unk_14; + case LMAN_MSG_PARENT_FOUND: + Rfu.parentId = lman.param[0]; break; - case 0x21: + case LMAN_MSG_SEARCH_PARENT_PERIOD_EXPIRED: break; - case 0x22: - Rfu.unk_c3e = gUnknown_3005E10.unk_14; + case LMAN_MSG_CONNECT_PARENT_SUCCESSED: + Rfu.child_slot = lman.param[0]; break; - case 0x23: - sub_80FB9E4(2, a0); + case LMAN_MSG_CONNECT_PARENT_FAILED: + RfuSetErrorStatus(2, msg); break; - case 0x24: - Rfu.unk_04 = 11; + case LMAN_MSG_CHILD_NAME_SEND_COMPLETED: + Rfu.state = 11; Rfu.unk_c85 = 0; Rfu.unk_c86 = 0; - rfu_setRecvBuffer(TYPE_NI, Rfu.unk_c3e, &Rfu.unk_c86, 1); - rfu_setRecvBuffer(TYPE_UNI, Rfu.unk_c3e, Rfu.unk_c3f, 70); + rfu_setRecvBuffer(TYPE_NI, Rfu.child_slot, &Rfu.unk_c86, 1); + rfu_setRecvBuffer(TYPE_UNI, Rfu.child_slot, Rfu.unk_c3f, sizeof(Rfu.unk_c3f)); break; - case 0x25: - sub_80FB9E4(2, 0x25); + case LMAN_MSG_CHILD_NAME_SEND_FAILED_AND_DISCONNECTED: + RfuSetErrorStatus(2, msg); break; - case 0x30: - Rfu.unk_f0 = 2; + case LMAN_MSG_LINK_LOSS_DETECTED_AND_DISCONNECTED: + Rfu.linkLossRecoveryState = 2; if (Rfu.unk_c86 == 6) break; - case 0x33: - if (Rfu.unk_f0 != 2) - Rfu.unk_f0 = 4; + case LMAN_MSG_LINK_RECOVERY_FAILED_AND_DISCONNECTED: + if (Rfu.linkLossRecoveryState != 2) + Rfu.linkLossRecoveryState = 4; if (Rfu.unk_c86 != 9) - sub_80FB9E4(2, a0); - nullsub_87("LINK LOSS DISCONNECT!", 5, 5); + RfuSetErrorStatus(2, msg); + rfu_dbg_print_str("LINK LOSS DISCONNECT!", 5, 5); if (gReceivedRemoteLinkPlayers == 1) - sub_80FB0E8(a0); + GetLinkmanErrorParams(msg); break; - case 0x31: - Rfu.unk_f0 = 1; - nullsub_87("LINK LOSS RECOVERY NOW", 5, 5); + case LMAN_MSG_LINK_LOSS_DETECTED_AND_START_RECOVERY: + Rfu.linkLossRecoveryState = 1; + rfu_dbg_print_str("LINK LOSS RECOVERY NOW", 5, 5); break; - case 0x32: - Rfu.unk_f0 = 3; + case LMAN_MSG_LINK_RECOVERY_SUCCESSED: + Rfu.linkLossRecoveryState = 3; Rfu.unk_c3c = 1; break; case 0x34: break; - case 0x42 ... 0x44: + case LMAN_MSG_RFU_POWER_DOWN: + case LMAN_MSG_MANAGER_STOPPED: + case LMAN_MSG_MANAGER_FORCED_STOPPED_AND_RFU_RESET: break; - case 0xF3: - sub_80FB9E4(1, a0); - sub_80FB0E8(a0); + case LMAN_MSG_LMAN_API_ERROR_RETURN: + RfuSetErrorStatus(1, msg); + GetLinkmanErrorParams(msg); Rfu.unk_ef = 1; break; - case 0xF0 ... 0xF2: - case 0xFF: - sub_80FB9E4(1, a0); - sub_80FB0E8(a0); + case LMAN_MSG_REQ_API_ERROR: + case LMAN_MSG_WATCH_DOG_TIMER_ERROR: + case LMAN_MSG_CLOCK_SLAVE_MS_CHANGE_ERROR_BY_DMA: + case LMAN_MSG_RFU_FATAL_ERROR: + RfuSetErrorStatus(1, msg); + GetLinkmanErrorParams(msg); Rfu.unk_cdb = 1; break; } } -static void sub_80FB564(s32 a0) +static void sub_80FB564(s32 bmConnectedFlag) { s32 i; for (i = 0; i < RFU_CHILD_MAX; i++) { - if ((a0 >> i) & 1) + if ((bmConnectedFlag >> i) & 1) { Rfu.unk_cea[i] = 0; Rfu.unk_cee[i] = 0xFF; @@ -2178,17 +2193,17 @@ static void sub_80FB564(s32 a0) } } -static u8 sub_80FB5A0(s32 a0) +static u8 GetNewChildrenInUnionRoomChat(s32 bmNewChildSlot) { u8 ret = 0; u8 i; for (i = 0; i < RFU_CHILD_MAX; i++) { - if ((a0 >> i) & 1) + if ((bmNewChildSlot >> i) & 1) { struct GFtgtGname *structPtr = (void *)&gRfuLinkStatus->partner[i].gname; - if (structPtr->unk_0a_0 == 0x45) + if (structPtr->activity == (ACTIVITY_CHAT | IN_UNION_ROOM)) ret |= (1 << i); } } @@ -2196,73 +2211,73 @@ static u8 sub_80FB5A0(s32 a0) return ret; } -static void sub_80FB5EC(u8 a0, u8 unused1) +static void LmanCallback_Parent(u8 msg, u8 param_count) { u8 r1; - switch (a0) + switch (msg) { - case 0x00: - Rfu.unk_04 = 0x11; + case LMAN_MSG_INITIALIZE_COMPLETED: + Rfu.state = 17; break; - case 0x10: - sub_80FB9E4(4, 0); + case LMAN_MSG_NEW_CHILD_CONNECT_DETECTED: + RfuSetErrorStatus(4, 0); break; - case 0x11: - if (sub_80F9800()->unk_0a_0 == 0x45 && Rfu.unk_cd9 == 0) + case LMAN_MSG_NEW_CHILD_CONNECT_ACCEPTED: + if (GetHostRFUtgtGname()->activity == (ACTIVITY_CHAT | IN_UNION_ROOM) && Rfu.unk_cd9 == 0) { - u8 idx = sub_80FB5A0(gUnknown_3005E10.unk_14); - if (idx != 0) + u8 bmAcceptSlot = GetNewChildrenInUnionRoomChat(lman.param[0]); + if (bmAcceptSlot != 0) { - r1 = 1 << sub_80F886C(idx); - if (Rfu.unk_ce6 == 0 && !Rfu.unk_ce8) + r1 = 1 << sub_80F886C(bmAcceptSlot); + if (Rfu.unionRoomChatters == 0 && !Rfu.unk_ce8) { Rfu.unk_ce5 = r1; - Rfu.unk_ce6 |= (r1 ^ idx); + Rfu.unionRoomChatters |= (r1 ^ bmAcceptSlot); Rfu.unk_ce8 = TRUE; } else { - Rfu.unk_ce6 |= idx; + Rfu.unionRoomChatters |= bmAcceptSlot; } } - if (idx != gUnknown_3005E10.unk_14) + if (bmAcceptSlot != lman.param[0]) { - Rfu.unk_ce3 |= (idx ^ gUnknown_3005E10.unk_14); + Rfu.bm_DisconnectSlot |= (bmAcceptSlot ^ lman.param[0]); Rfu.unk_ce4 = 2; } } - else if (sub_80F9800()->unk_0a_0 == 0x54) + else if (GetHostRFUtgtGname()->activity == (ACTIVITY_PLYRTALK | IN_UNION_ROOM)) { - rfu_REQ_disconnect(gUnknown_3005E10.unk_00); + rfu_REQ_disconnect(lman.acceptSlot_flag); rfu_waitREQComplete(); } - sub_80FB564(gUnknown_3005E10.unk_14); + sub_80FB564(lman.param[0]); break; - case 0x12: + case LMAN_MSG_NEW_CHILD_CONNECT_REJECTED: break; - case 0x13: + case LMAN_MSG_SEARCH_CHILD_PERIOD_EXPIRED: break; - case 0x14: - if (sub_80F9800()->unk_0a_0 != 0x45 && gUnknown_3005E10.unk_01 > 1) + case LMAN_MSG_END_WAIT_CHILD_NAME: + if (GetHostRFUtgtGname()->activity != (ACTIVITY_CHAT | IN_UNION_ROOM) && lman.acceptCount > 1) { - r1 = 1 << sub_80F886C(gUnknown_3005E10.unk_14); - rfu_REQ_disconnect(gUnknown_3005E10.unk_00 ^ r1); + r1 = 1 << sub_80F886C(lman.param[0]); + rfu_REQ_disconnect(lman.acceptSlot_flag ^ r1); rfu_waitREQComplete(); } - if (Rfu.unk_04 == 0xF) - Rfu.unk_04 = 0x10; + if (Rfu.state == 0xF) + Rfu.state = 16; break; - case 0x20: - Rfu.unk_ccd = gUnknown_3005E10.unk_14; + case LMAN_MSG_PARENT_FOUND: + Rfu.parentId = lman.param[0]; break; - case 0x21: + case LMAN_MSG_SEARCH_PARENT_PERIOD_EXPIRED: break; - case 0x22: - Rfu.unk_c3e = gUnknown_3005E10.unk_14; + case LMAN_MSG_CONNECT_PARENT_SUCCESSED: + Rfu.child_slot = lman.param[0]; break; - case 0x23: - Rfu.unk_04 = 0x12; + case LMAN_MSG_CONNECT_PARENT_FAILED: + Rfu.state = 18; if (Rfu.unk_ccf < 2) { Rfu.unk_ccf++; @@ -2270,67 +2285,72 @@ static void sub_80FB5EC(u8 a0, u8 unused1) } else { - sub_80FB9E4(2, a0); + RfuSetErrorStatus(2, msg); } break; - case 0x24: - Rfu.unk_04 = 0xD; - sub_80FB9E4(3, 0); - rfu_setRecvBuffer(TYPE_UNI, Rfu.unk_c3e, Rfu.unk_c3f, sizeof(Rfu.unk_c3f)); + case LMAN_MSG_CHILD_NAME_SEND_COMPLETED: + Rfu.state = 13; + RfuSetErrorStatus(3, 0); + rfu_setRecvBuffer(TYPE_UNI, Rfu.child_slot, Rfu.unk_c3f, sizeof(Rfu.unk_c3f)); break; - case 0x25: - sub_80FB9E4(2, a0); + case LMAN_MSG_CHILD_NAME_SEND_FAILED_AND_DISCONNECTED: + RfuSetErrorStatus(2, msg); break; - case 0x31: - if (gUnknown_3005E10.unk_00 & gUnknown_3005E10.unk_14) - Rfu.unk_f0 = 1; + case LMAN_MSG_LINK_LOSS_DETECTED_AND_START_RECOVERY: + if (lman.acceptSlot_flag & lman.param[0]) + Rfu.linkLossRecoveryState = 1; break; - case 0x32: - Rfu.unk_f0 = 3; + case LMAN_MSG_LINK_RECOVERY_SUCCESSED: + Rfu.linkLossRecoveryState = 3; if (gRfuLinkStatus->parentChild == MODE_CHILD) Rfu.unk_c3c = 1; break; - case 0x30: - Rfu.unk_f0 = 2; - case 0x33: - if (Rfu.unk_f0 != 2) - Rfu.unk_f0 = 4; - if (Rfu.unk_0c == 1) + case LMAN_MSG_LINK_LOSS_DETECTED_AND_DISCONNECTED: + Rfu.linkLossRecoveryState = 2; + // fallthrough + case LMAN_MSG_LINK_RECOVERY_FAILED_AND_DISCONNECTED: + if (Rfu.linkLossRecoveryState != 2) + Rfu.linkLossRecoveryState = 4; + if (Rfu.parent_child == MODE_PARENT) { if (gReceivedRemoteLinkPlayers == 1) { - Rfu.unk_ce2 &= ~(gUnknown_3005E10.unk_14); - if (Rfu.unk_ce2 == 0) - sub_80FB0E8(a0); + Rfu.bm_PartnerFlags &= ~(lman.param[0]); + if (Rfu.bm_PartnerFlags == 0) + GetLinkmanErrorParams(msg); else sub_80FB174(); } } else if (Rfu.unk_ce4 != 2 && gReceivedRemoteLinkPlayers == 1) { - sub_80FB0E8(a0); - sub_80FD760(0); + GetLinkmanErrorParams(msg); + rfu_LMAN_stopManager(0); } - if (gRfuLinkStatus->parentChild == MODE_NEUTRAL && gUnknown_3005E10.unk_07 == 0 && FuncIsActiveTask(sub_80F8B34) == TRUE) - Rfu.unk_04 = 0x11; + if (gRfuLinkStatus->parentChild == MODE_NEUTRAL && lman.pcswitch_flag == 0 && FuncIsActiveTask(Task_LinkRfu_UnionRoomListen) == TRUE) + Rfu.state = 17; - sub_80FB9E4(2, a0); + RfuSetErrorStatus(2, msg); break; - case 0x40: - Rfu.unk_ce3 = 0; + case LMAN_MSG_LINK_DISCONNECTED_BY_USER: + Rfu.bm_DisconnectSlot = 0; break; - case 0x42 ... 0x44: + case LMAN_MSG_RFU_POWER_DOWN: + case LMAN_MSG_MANAGER_STOPPED: + case LMAN_MSG_MANAGER_FORCED_STOPPED_AND_RFU_RESET: break; - case 0xF3: - sub_80FB9E4(1, a0); - sub_80FB0E8(a0); + case LMAN_MSG_LMAN_API_ERROR_RETURN: + RfuSetErrorStatus(1, msg); + GetLinkmanErrorParams(msg); Rfu.unk_ef = 1; break; - case 0xF0 ... 0xF2: - case 0xFF: - sub_80FB0E8(a0); - sub_80FB9E4(1, a0); + case LMAN_MSG_REQ_API_ERROR: + case LMAN_MSG_WATCH_DOG_TIMER_ERROR: + case LMAN_MSG_CLOCK_SLAVE_MS_CHANGE_ERROR_BY_DMA: + case LMAN_MSG_RFU_FATAL_ERROR: + GetLinkmanErrorParams(msg); + RfuSetErrorStatus(1, msg); Rfu.unk_cdb = 0; break; } @@ -2341,21 +2361,21 @@ void sub_80FB9D0(void) Rfu.unk_ce4 = 2; } -void sub_80FB9E4(u8 a0, u16 a1) +void RfuSetErrorStatus(u8 a0, u16 msg) { Rfu.unk_f1 = a0; - Rfu.unk_0a = a1; + Rfu.linkman_msg = msg; } -u8 sub_80FB9F4(void) +u8 RfuGetErrorStatus(void) { return Rfu.unk_f1; } -bool32 sub_80FBA00(void) +bool32 RfuIsErrorStatus1or2(void) { - u32 var = sub_80FB9F4() - 1; - if (var < 2) + u32 var = RfuGetErrorStatus(); + if (var == 1 || var == 2) return TRUE; else return FALSE; @@ -2368,12 +2388,12 @@ bool32 GetRfuUnkCE8(void) bool8 Rfu_IsMaster(void) { - return Rfu.unk_0c; + return Rfu.parent_child; } void RFUVSync(void) { - LinkRfu_syncVBlank_(); + rfu_LMAN_syncVBlank(); } void sub_80FBA44(void) @@ -2400,7 +2420,7 @@ static void sub_80FBA78(void) if (IsWirelessAdapterConnected()) { gLinkType = LINKTYPE_0x1111; - sub_800B1F4(); + SetWirelessCommType1(); OpenLink(); SeedRng(gMain.vblankCounter2); for (i = 0; i < RFU_CHILD_MAX; i++) @@ -2411,25 +2431,25 @@ static void sub_80FBA78(void) AnimateSprites(); BuildOamBuffer(); UpdatePaletteFade(); - sub_80FBB20(); + LinkRfu_CreateIdleTask(); SetMainCallback2(sub_80FBB74); } } -bool32 sub_80FBB0C(void) +bool32 IsUnionRoomListenTaskActive(void) { - return FuncIsActiveTask(sub_80F8B34); + return FuncIsActiveTask(Task_LinkRfu_UnionRoomListen); } -void sub_80FBB20(void) +void LinkRfu_CreateIdleTask(void) { - if (!FuncIsActiveTask(nullsub_89)) - Rfu.unk_66 = CreateTask(nullsub_89, 0); + if (!FuncIsActiveTask(Task_idle)) + Rfu.unk_66 = CreateTask(Task_idle, 0); } -void sub_80FBB4C(void) +void LinkRfu_DestroyIdleTask(void) { - if (FuncIsActiveTask(nullsub_89) == TRUE) + if (FuncIsActiveTask(Task_idle) == TRUE) DestroyTask(Rfu.unk_66); } @@ -2441,35 +2461,35 @@ static void sub_80FBB74(void) UpdatePaletteFade(); } -void sub_80FBB8C(u32 a0) +void InitializeRfuLinkManager_LinkLeader(u32 availSlots) { - Rfu.unk_0c = 1; - sub_80FAF1C(); - sub_80FD430(sub_80FB184, NULL); + Rfu.parent_child = MODE_PARENT; + CopyPlayerNameToUnameBuffer(); + rfu_LMAN_initializeManager(LmanCallback_Parent2, NULL); sRfuReqConfig = sRfuReqConfigTemplate; - sRfuReqConfig.availSlotFlag = sAvailSlots[a0 - 1]; - sub_80F8E74(); + sRfuReqConfig.availSlot_flag = sAvailSlots[availSlots - 1]; + CreateTask_LinkLeaderSearchForChildren(); } -void sub_80FBBD8(void) +void InitializeRfuLinkManager_JoinGroup(void) { - Rfu.unk_0c = 0; - sub_80FAF1C(); - sub_80FD430(sub_80FB37C, sub_80F8D20); - sub_80F8F10(); + Rfu.parent_child = MODE_CHILD; + CopyPlayerNameToUnameBuffer(); + rfu_LMAN_initializeManager(LmanCallback_Child, MscCallback_Child); + CreateTask_JoinGroupSearchForParent(); } -void sub_80FBC00(void) +void InitializeRfuLinkManager_EnterUnionRoom(void) { if (gQuestLogState == 2 || gQuestLogState == 3) return; - Rfu.unk_0c = 2; - sub_80FAF1C(); - sub_80FD430(sub_80FB5EC, NULL); + Rfu.parent_child = 2; + CopyPlayerNameToUnameBuffer(); + rfu_LMAN_initializeManager(LmanCallback_Parent, NULL); sRfuReqConfig = sRfuReqConfigTemplate; - sRfuReqConfig.unk_11 = 0; - sRfuReqConfig.unk_12 = 0x258; - Rfu.unk_67 = CreateTask(sub_80F8B34, 1); + sRfuReqConfig.linkRecovery_enable = 0; + sRfuReqConfig.linkRecovery_period = 600; + Rfu.unk_67 = CreateTask(Task_LinkRfu_UnionRoomListen, 1); } static u16 ReadU16(const void *ptr) @@ -2478,17 +2498,24 @@ static u16 ReadU16(const void *ptr) return (ptr_[1] << 8) | (ptr_[0]); } -static u8 sub_80FBC70(const u8 *a0, u16 a1) +/* + * ================================================================ + * Looks up the player by uname and pid. Returns the index in + * gRfuLinkStatus->partner of the first match with a valid slot ID. + * Returns 0xFF if not found. + * ================================================================ + */ +static u8 GetPartnerIndexByNameAndTrainerID(const u8 *trainerName, u16 trainerId) { u8 i; u8 ret = 0xFF; for (i = 0; i < RFU_CHILD_MAX; i++) { - u16 trainerId = ReadU16(((struct GFtgtGname *)gRfuLinkStatus->partner[i].gname)->unk_00.playerTrainerId); - if (sub_80FA44C(gRfuLinkStatus->partner[i].serialNo) - && !StringCompare(a0, gRfuLinkStatus->partner[i].uname) - && a1 == trainerId) + u16 partnerTrainerId = ReadU16(((struct GFtgtGname *)gRfuLinkStatus->partner[i].gname)->unk_00.playerTrainerId); + if (RfuSerialNumberIsValid(gRfuLinkStatus->partner[i].serialNo) + && !StringCompare(trainerName, gRfuLinkStatus->partner[i].uname) + && trainerId == partnerTrainerId) { ret = i; if (gRfuLinkStatus->partner[i].slot != 0xFF) @@ -2499,21 +2526,21 @@ static u8 sub_80FBC70(const u8 *a0, u16 a1) return ret; } -static void sub_80FBCF8(u32 a0) +static void RfuReqDisconnectSlot(u32 bmDisconnectSlot) { - rfu_REQ_disconnect(a0); + rfu_REQ_disconnect(bmDisconnectSlot); rfu_waitREQComplete(); - Rfu.unk_ce2 &= ~(a0); + Rfu.bm_PartnerFlags &= ~(bmDisconnectSlot); rfu_clearSlot(TYPE_UNI_SEND, Rfu.unk_cda); - rfu_UNI_setSendData(Rfu.unk_ce2, Rfu.unk_c87, 70); - Rfu.unk_cda = sub_80F886C(Rfu.unk_ce2); + rfu_UNI_setSendData(Rfu.bm_PartnerFlags, Rfu.recvCmds, 70); + Rfu.unk_cda = sub_80F886C(Rfu.bm_PartnerFlags); } -void sub_80FBD4C(const u8 *ptr, u16 a1) +void RequestDisconnectSlotByTrainerNameAndId(const u8 *trainerName, u16 trainerId) { - u8 var = sub_80FBC70(ptr, a1); + u8 var = GetPartnerIndexByNameAndTrainerID(trainerName, trainerId); if (var != 0xFF) - sub_80FBCF8(1 << var); + RfuReqDisconnectSlot(1 << var); } void sub_80FBD6C(u32 a0) @@ -2525,7 +2552,7 @@ void sub_80FBD6C(u32 a0) for (i = 0; i < RFU_CHILD_MAX; i++) { - if (Rfu.unk_cde[i] == a0 && (Rfu.unk_ce2 >> i) & 1) + if (Rfu.linkPlayerIdx[i] == a0 && (Rfu.bm_PartnerFlags >> i) & 1) var |= 1 << i; } if (var) @@ -2537,7 +2564,7 @@ static void sub_80FBDB8(u8 taskId) { if (gSendCmd[0] == 0 && !Rfu.unk_ce8) { - sub_80F9D04(0xED00); + RfuPrepareSendBuffer(RFU_COMMAND_0xed00); gSendCmd[1] = gTasks[taskId].data[0]; gSendCmd[2] = gTasks[taskId].data[1]; Rfu.playerCount -= gUnknown_843EC41[gTasks[taskId].data[0]]; @@ -2562,35 +2589,35 @@ static void sub_80FBE20(u32 a0, u32 a1) gTasks[taskId].data[1] = a1; } -static void sub_80FBE80(u8 taskId) +static void Task_RfuReconnectWithParent(u8 taskId) { s16 *data = gTasks[taskId].data; - if (sub_80F8EA4()) + if (RfuStateIs7AndPlayerIsChild()) { - u8 id = sub_80FBC70((u8*)data, ReadU16(&data[8])); + u8 id = GetPartnerIndexByNameAndTrainerID((u8*)data, ReadU16(&data[8])); if (id != 0xFF) { if (gRfuLinkStatus->partner[id].slot != 0xFF) { - Rfu.unk_c3d = id; - if (sub_80F8ECC()) + Rfu.reconnectedParentIdx = id; + if (IsParentSuccessfullyReconnected()) DestroyTask(taskId); } - else if (sub_80F9800()->unk_0a_0 == 0x15 || sub_80F9800()->unk_0a_0 == 0x16) + else if (GetHostRFUtgtGname()->activity == ACTIVITY_WCARD2 || GetHostRFUtgtGname()->activity == ACTIVITY_WNEWS2) { data[15]++; } else { - sub_80FB9E4(2, 0x7000); + RfuSetErrorStatus(2, 0x7000); DestroyTask(taskId); } } else { data[15]++; - Rfu.unk_c3d = id; + Rfu.reconnectedParentIdx = id; } } else @@ -2600,47 +2627,47 @@ static void sub_80FBE80(u8 taskId) if (data[15] > 240) { - sub_80FB9E4(2, 0x7000); + RfuSetErrorStatus(2, 0x7000); DestroyTask(taskId); } } -void sub_80FBF54(const u8 *src, u16 trainerId) +void CreateTask_RfuReconnectWithParent(const u8 *trainerName, u16 trainerId) { u8 taskId; s16 *data; Rfu.unk_f1 = 0; - taskId = CreateTask(sub_80FBE80, 3); + taskId = CreateTask(Task_RfuReconnectWithParent, 3); data = gTasks[taskId].data; - StringCopy((u8*)(data), src); + StringCopy((u8*)(data), trainerName); data[8] = trainerId; } -static bool32 sub_80FBF98(s16 a1, struct GFtgtGname *structPtr) +static bool32 ShouldRejectPartnerConnectionBasedOnActivity(s16 activity, struct GFtgtGname *partnerGname) { - if (sub_80F9800()->unk_0a_0 == 0x45) + if (GetHostRFUtgtGname()->activity == (ACTIVITY_CHAT | IN_UNION_ROOM)) { - if (structPtr->unk_0a_0 != 0x45) + if (partnerGname->activity != (ACTIVITY_CHAT | IN_UNION_ROOM)) return TRUE; } - else if (structPtr->unk_0a_0 != 0x40) + else if (partnerGname->activity != IN_UNION_ROOM) { return TRUE; } - else if (a1 == 0x44) + else if (activity == (ACTIVITY_TRADE | IN_UNION_ROOM)) { - struct GFtgtGname *structPtr2 = (struct GFtgtGname *)&Rfu.unk_104.gname; - if (structPtr2->species == SPECIES_EGG) + struct GFtgtGname *myTradeGname = (struct GFtgtGname *)&Rfu.unk_104.gname; + if (myTradeGname->species == SPECIES_EGG) { - if (structPtr->species == structPtr2->species) + if (partnerGname->species == myTradeGname->species) return FALSE; else return TRUE; } - else if (structPtr->species != structPtr2->species - || structPtr->level != structPtr2->level - || structPtr->type != structPtr2->type) + else if (partnerGname->species != myTradeGname->species + || partnerGname->level != myTradeGname->level + || partnerGname->type != myTradeGname->type) { return TRUE; } @@ -2656,34 +2683,34 @@ static void sub_80FC028(u8 taskId) if (++gTasks[taskId].data[0] > 300) { - sub_80FB9E4(2, 0x7000); + RfuSetErrorStatus(2, 0x7000); DestroyTask(taskId); } - if (Rfu.unk_ccd != 0 && gUnknown_3005E10.unk_06 == 0) + if (Rfu.parentId != 0 && lman.parent_child == MODE_CHILD) { u16 trainerId = ReadU16(((struct GFtgtGname *)&Rfu.unk_104.gname)->unk_00.playerTrainerId); - u8 id = sub_80FBC70(Rfu.unk_104.uname, trainerId); + u8 id = GetPartnerIndexByNameAndTrainerID(Rfu.unk_104.uname, trainerId); if (id != 0xFF) { - if (!sub_80FBF98(gTasks[taskId].data[1], (struct GFtgtGname *)&gRfuLinkStatus->partner[id].gname)) + if (!ShouldRejectPartnerConnectionBasedOnActivity(gTasks[taskId].data[1], (struct GFtgtGname *)&gRfuLinkStatus->partner[id].gname)) { - if (gRfuLinkStatus->partner[id].slot != 0xFF && !sub_80FD610(gRfuLinkStatus->partner[id].id, 0x5A)) + if (gRfuLinkStatus->partner[id].slot != 0xFF && !rfu_LMAN_CHILD_connectParent(gRfuLinkStatus->partner[id].id, 90)) { - Rfu.unk_04 = 0xA; + Rfu.state = 10; DestroyTask(taskId); } } else { - sub_80FB9E4(2, 0x7000); + RfuSetErrorStatus(2, 0x7000); DestroyTask(taskId); } } } } -void sub_80FC114(const u8 *name, struct GFtgtGname *structPtr, u8 a2) +void sub_80FC114(const u8 *name, struct GFtgtGname *structPtr, u8 activity) { u8 taskId, taskId2; @@ -2691,11 +2718,11 @@ void sub_80FC114(const u8 *name, struct GFtgtGname *structPtr, u8 a2) Rfu.unk_f1 = 0; StringCopy(Rfu.unk_104.uname, name); memcpy(Rfu.unk_104.gname, structPtr, RFU_GAME_NAME_LENGTH); - sub_80FEB3C(); + rfu_LMAN_forceChangeSP(); taskId = CreateTask(sub_80FC028, 2); - gTasks[taskId].data[1] = a2; - taskId2 = FindTaskIdByFunc(sub_80F8B34); - if (a2 == 0x45) + gTasks[taskId].data[1] = activity; + taskId2 = FindTaskIdByFunc(Task_LinkRfu_UnionRoomListen); + if (activity == (ACTIVITY_CHAT | IN_UNION_ROOM)) { if (taskId2 != 0xFF) gTasks[taskId2].data[7] = 1; @@ -2709,7 +2736,7 @@ void sub_80FC114(const u8 *name, struct GFtgtGname *structPtr, u8 a2) bool8 sub_80FC1B0(void) { - if (Rfu.unk_f0 == 1) + if (Rfu.linkLossRecoveryState == 1) return TRUE; else return FALSE; @@ -2721,19 +2748,19 @@ bool32 sub_80FC1CC(void) for (i = 0; i < RFU_CHILD_MAX; i++) { - if ((gUnknown_3005E10.unk_00 >> i) & 1 && Rfu.unk_cd1[i] == 0) + if ((lman.acceptSlot_flag >> i) & 1 && Rfu.unk_cd1[i] == 0) return FALSE; } return TRUE; } -static void sub_80FC208(void) +static void rfu_dbg_clear(void) { s32 i; for (i = 0; i < 20; i++) - nullsub_87(" ", 0, i); + rfu_dbg_print_str(" ", 0, i); } static const char gUnknown_843EE47[16] = { @@ -2749,44 +2776,44 @@ static const char gUnknown_843EE57[9] = { static const char gUnknown_843EE60[] = {' ', '\0'}; static const char gUnknown_843EE62[] = {'*', '\0'}; -static void sub_80FC228(void) +static void rfu_dbg_print_status(void) { s32 i, j; - nullsub_88(GetBlockReceivedStatus(), 0x1C, 0x13, 2); - nullsub_88(gRfuLinkStatus->connSlotFlag, 0x14, 1, 1); - nullsub_88(gRfuLinkStatus->linkLossSlotFlag, 0x17, 1, 1); - if (Rfu.unk_0c == 1) + rfu_dbg_print_num(GetBlockReceivedStatus(), 0x1C, 0x13, 2); + rfu_dbg_print_num(gRfuLinkStatus->connSlotFlag, 0x14, 1, 1); + rfu_dbg_print_num(gRfuLinkStatus->linkLossSlotFlag, 0x17, 1, 1); + if (Rfu.parent_child == MODE_PARENT) { for (i = 0; i < RFU_CHILD_MAX; i++) { if ((gRfuLinkStatus->getNameFlag >> i) & 1) { - nullsub_88(gRfuLinkStatus->partner[i].serialNo, 1, i + 3, 4); - nullsub_87((void*) &gRfuLinkStatus->partner[i].gname, 6, i + 3); - nullsub_87(gRfuLinkStatus->partner[i].uname, 0x16, i + 3); + rfu_dbg_print_num(gRfuLinkStatus->partner[i].serialNo, 1, i + 3, 4); + rfu_dbg_print_str((void*) &gRfuLinkStatus->partner[i].gname, 6, i + 3); + rfu_dbg_print_str(gRfuLinkStatus->partner[i].uname, 0x16, i + 3); } } for (i = 0; i < RFU_CHILD_MAX; i++) { for (j = 0; j < 14; j++) { - nullsub_88(Rfu.unk_14[i][j], j * 2, i + 11, 2); + rfu_dbg_print_num(Rfu.unk_14[i][j], j * 2, i + 11, 2); } } - nullsub_87("NOWSLOT", 1, 0xF); + rfu_dbg_print_str("NOWSLOT", 1, 0xF); } else if (gRfuLinkStatus->connSlotFlag != 0 && gRfuLinkStatus->getNameFlag != 0) { for (i = 0; i < RFU_CHILD_MAX; i++) { - nullsub_88(0, 1, i + 3, 4); - nullsub_87(gUnknown_843EE47, 6, i + 3); - nullsub_87(gUnknown_843EE57, 0x16, i + 3); + rfu_dbg_print_num(0, 1, i + 3, 4); + rfu_dbg_print_str(gUnknown_843EE47, 6, i + 3); + rfu_dbg_print_str(gUnknown_843EE57, 0x16, i + 3); } - nullsub_88(gRfuLinkStatus->partner[Rfu.unk_c3e].serialNo, 1, 3, 4); - nullsub_87(gRfuLinkStatus->partner[Rfu.unk_c3e].gname, 6, 3); - nullsub_87(gRfuLinkStatus->partner[Rfu.unk_c3e].uname, 0x16, 3); + rfu_dbg_print_num(gRfuLinkStatus->partner[Rfu.child_slot].serialNo, 1, 3, 4); + rfu_dbg_print_str(gRfuLinkStatus->partner[Rfu.child_slot].gname, 6, 3); + rfu_dbg_print_str(gRfuLinkStatus->partner[Rfu.child_slot].uname, 0x16, 3); } else { @@ -2794,16 +2821,16 @@ static void sub_80FC228(void) { if (gRfuLinkStatus->partner[i].slot != 0xFF) { - nullsub_88(gRfuLinkStatus->partner[i].serialNo, 1, i + 3, 4); - nullsub_88(gRfuLinkStatus->partner[i].id, 6, i + 3, 4); - nullsub_87(gRfuLinkStatus->partner[i].uname, 0x16, i + 3); + rfu_dbg_print_num(gRfuLinkStatus->partner[i].serialNo, 1, i + 3, 4); + rfu_dbg_print_num(gRfuLinkStatus->partner[i].id, 6, i + 3, 4); + rfu_dbg_print_str(gRfuLinkStatus->partner[i].uname, 0x16, i + 3); } } for (; i < RFU_CHILD_MAX; i++) { - nullsub_88(0, 1, i + 3, 4); - nullsub_87(gUnknown_843EE47, 6, i + 3); - nullsub_87(gUnknown_843EE57, 0x16, i + 3); + rfu_dbg_print_num(0, 1, i + 3, 4); + rfu_dbg_print_str(gUnknown_843EE47, 6, i + 3); + rfu_dbg_print_str(gUnknown_843EE57, 0x16, i + 3); } } } @@ -2824,15 +2851,15 @@ static const char gUnknown_843EEA8[][8] = { static u32 sub_80FC44C(void) { - return Rfu.unk_9e8.unk_232; + return Rfu.unk_9e8.count; } u32 GetRfuRecvQueueLength(void) { - return Rfu.unk_124.unk_8c2; + return Rfu.unk_124.count; } -static void nullsub_89(u8 taskId) +static void Task_idle(u8 taskId) { } diff --git a/src/link_rfu_3.c b/src/link_rfu_3.c index 69b6603a8..d3f6e93db 100644 --- a/src/link_rfu_3.c +++ b/src/link_rfu_3.c @@ -166,7 +166,7 @@ static const struct SpriteTemplate sWirelessStatusIndicatorSpriteTemplate = { SpriteCallbackDummy }; -void sub_80FC478(struct UnkRfuStruct_2_Sub_124 *ptr) +void RFU_queue_20_70_reset(struct UnkRfuStruct_2_Sub_124 *queue) { s32 i; s32 j; @@ -175,16 +175,16 @@ void sub_80FC478(struct UnkRfuStruct_2_Sub_124 *ptr) { for (j = 0; j < 70; j++) { - ptr->unk_00[i][j] = 0; + queue->slots[i][j] = 0; } } - ptr->unk_8c1 = 0; - ptr->unk_8c0 = 0; - ptr->unk_8c2 = 0; - ptr->unk_8c3 = 0; + queue->send_slot = 0; + queue->recv_slot = 0; + queue->count = 0; + queue->full = 0; } -void sub_80FC4D4(struct UnkRfuStruct_2_Sub_9e8 *ptr) +void RFU_queue_40_14_reset(struct UnkRfuStruct_2_Sub_9e8 *ptr) { s32 i; s32 j; @@ -193,16 +193,16 @@ void sub_80FC4D4(struct UnkRfuStruct_2_Sub_9e8 *ptr) { for (j = 0; j < 14; j++) { - ptr->unk_00[i][j] = 0; + ptr->slots[i][j] = 0; } } - ptr->unk_231 = 0; - ptr->unk_230 = 0; - ptr->unk_232 = 0; - ptr->unk_233 = 0; + ptr->send_slot = 0; + ptr->recv_slot = 0; + ptr->count = 0; + ptr->full = 0; } -static void sub_80FC530(struct UnkRfuStruct_Sub_Unused *ptr) +static void RFU_queue_2_256_reset(struct UnkRfuStruct_Sub_Unused *ptr) { s32 i; s32 j; @@ -211,29 +211,29 @@ static void sub_80FC530(struct UnkRfuStruct_Sub_Unused *ptr) { for (j = 0; j < 256; j++) { - ptr->unk_00[i][j] = 0; + ptr->slots[i][j] = 0; } } - ptr->unk_201 = 0; - ptr->unk_200 = 0; - ptr->unk_202 = 0; - ptr->unk_203 = 0; + ptr->send_slot = 0; + ptr->recv_slot = 0; + ptr->count = 0; + ptr->full = 0; } -void sub_80FC588(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2) +void RFU_queue_20_70_recv(struct UnkRfuStruct_2_Sub_124 *queue, u8 *data) { s32 i; u16 imeBak; u8 count; - if (q1->unk_8c2 < 20) + if (queue->count < 20) { imeBak = REG_IME; REG_IME = 0; count = 0; for (i = 0; i < 70; i += 14) { - if (q2[i] == 0 && q2[i + 1] == 0) + if (data[i] == 0 && data[i + 1] == 0) { count++; } @@ -242,36 +242,36 @@ void sub_80FC588(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2) { for (i = 0; i < 70; i++) { - q1->unk_00[q1->unk_8c0][i] = q2[i]; + queue->slots[queue->recv_slot][i] = data[i]; } - q1->unk_8c0++; - q1->unk_8c0 %= 20; - q1->unk_8c2++; + queue->recv_slot++; + queue->recv_slot %= 20; + queue->count++; for (i = 0; i < 70; i++) { - q2[i] = 0; + data[i] = 0; } } REG_IME = imeBak; } else { - q1->unk_8c3 = 1; + queue->full = 1; } } -void sub_80FC63C(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2) +void RFU_queue_40_14_recv(struct UnkRfuStruct_2_Sub_9e8 *queue, u8 *data) { s32 i; u16 imeBak; - if (q1->unk_232 < 40) + if (queue->count < 40) { imeBak = REG_IME; REG_IME = 0; for (i = 0; i < 14; i++) { - if (q2[i] != 0) + if (data[i] != 0) { break; } @@ -280,57 +280,57 @@ void sub_80FC63C(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2) { for (i = 0; i < 14; i++) { - q1->unk_00[q1->unk_230][i] = q2[i]; + queue->slots[queue->recv_slot][i] = data[i]; } - q1->unk_230++; - q1->unk_230 %= 40; - q1->unk_232++; + queue->recv_slot++; + queue->recv_slot %= 40; + queue->count++; for (i = 0; i < 14; i++) { - q2[i] = 0; + data[i] = 0; } } REG_IME = imeBak; } else { - q1->unk_233 = 1; + queue->full = 1; } } -bool8 sub_80FC6E8(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2) +bool8 RFU_queue_20_70_send(struct UnkRfuStruct_2_Sub_124 *queue, u8 *dest) { u16 imeBak; s32 i; imeBak = REG_IME; REG_IME = 0; - if (q1->unk_8c0 == q1->unk_8c1 || q1->unk_8c3 != 0) + if (queue->recv_slot == queue->send_slot || queue->full) { for (i = 0; i < 70; i++) { - q2[i] = 0; + dest[i] = 0; } REG_IME = imeBak; return FALSE; } for (i = 0; i < 70; i++) { - q2[i] = q1->unk_00[q1->unk_8c1][i]; + dest[i] = queue->slots[queue->send_slot][i]; } - q1->unk_8c1++; - q1->unk_8c1 %= 20; - q1->unk_8c2--; + queue->send_slot++; + queue->send_slot %= 20; + queue->count--; REG_IME = imeBak; return TRUE; } -bool8 sub_80FC79C(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2) +bool8 RFU_queue_40_14_send(struct UnkRfuStruct_2_Sub_9e8 *queue, u8 *dest) { s32 i; u16 imeBak; - if (q1->unk_230 == q1->unk_231 || q1->unk_233 != 0) + if (queue->recv_slot == queue->send_slot || queue->full != 0) { return FALSE; } @@ -338,98 +338,98 @@ bool8 sub_80FC79C(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2) REG_IME = 0; for (i = 0; i < 14; i++) { - q2[i] = q1->unk_00[q1->unk_231][i]; + dest[i] = queue->slots[queue->send_slot][i]; } - q1->unk_231++; - q1->unk_231 %= 40; - q1->unk_232--; + queue->send_slot++; + queue->send_slot %= 40; + queue->count--; REG_IME = imeBak; return TRUE; } -void sub_80FC828(struct UnkRfuStruct_2_Sub_c1c *q1, const u8 *q2) +void RFU_queue_2_14_recv(struct UnkRfuStruct_2_Sub_c1c *queue, const u8 *data) { s32 i; - if (q2[1] == 0) + if (data[1] == 0) { - sub_80FC888(q1, NULL); + RFU_queue_2_14_send(queue, NULL); } else { for (i = 0; i < 14; i++) { - q1->unk_00[q1->unk_1c][i] = q2[i]; + queue->slots[queue->recv_slot][i] = data[i]; } - q1->unk_1c++; - q1->unk_1c %= 2; - if (q1->unk_1e < 2) + queue->recv_slot++; + queue->recv_slot %= 2; + if (queue->count < 2) { - q1->unk_1e++; + queue->count++; } else { - q1->unk_1d = q1->unk_1c; + queue->send_slot = queue->recv_slot; } } } -bool8 sub_80FC888(struct UnkRfuStruct_2_Sub_c1c *q1, u8 *q2) +bool8 RFU_queue_2_14_send(struct UnkRfuStruct_2_Sub_c1c *queue, u8 *dest) { s32 i; - if (q1->unk_1e == 0) + if (queue->count == 0) { return FALSE; } - if (q2 != NULL) + if (dest != NULL) { for (i = 0; i < 14; i++) { - q2[i] = q1->unk_00[q1->unk_1d][i]; + dest[i] = queue->slots[queue->send_slot][i]; } } - q1->unk_1d++; - q1->unk_1d %= 2; - q1->unk_1e--; + queue->send_slot++; + queue->send_slot %= 2; + queue->count--; return TRUE; } -static void sub_80FC8D8(struct UnkRfuStruct_Sub_Unused *q1, u8 *q2) +static void RFU_queue_2_256_recv(struct UnkRfuStruct_Sub_Unused *queue, u8 *data) { s32 i; - if (q1->unk_202 < 2) + if (queue->count < 2) { for (i = 0; i < 256; i++) { - q1->unk_00[q1->unk_200][i] = q2[i]; + queue->slots[queue->recv_slot][i] = data[i]; } - q1->unk_200++; - q1->unk_200 %= 2; - q1->unk_202++; + queue->recv_slot++; + queue->recv_slot %= 2; + queue->count++; } else { - q1->unk_203 = 1; + queue->full = 1; } } -static bool8 sub_80FC944(struct UnkRfuStruct_Sub_Unused *q1, u8 *q2) +static bool8 RFU_queue_2_256_send(struct UnkRfuStruct_Sub_Unused *queue, u8 *send) { s32 i; - if (q1->unk_200 == q1->unk_201 || q1->unk_203) + if (queue->recv_slot == queue->send_slot || queue->full) { return FALSE; } for (i = 0; i < 256; i++) { - q2[i] = q1->unk_00[q1->unk_201][i]; + send[i] = queue->slots[queue->send_slot][i]; } - q1->unk_201++; - q1->unk_201 %= 2; - q1->unk_202--; + queue->send_slot++; + queue->send_slot %= 2; + queue->count--; return TRUE; } @@ -438,7 +438,7 @@ static void sub_80FC9B8(u8 *q1, u8 mode) s32 i; u8 rval; u16 r5 = 0; - static u8 _3002018; + static u8 counter; switch (mode) { @@ -470,11 +470,11 @@ static void sub_80FC9B8(u8 *q1, u8 mode) case 3: for (i = 0; i < 200; i++) { - q1[i] = i + 1 + _3002018; - r5 += (i + 1 + _3002018) & 0xFF; + q1[i] = i + 1 + counter; + r5 += (i + 1 + counter) & 0xFF; } *((u16 *)(q1 + i)) = r5; - _3002018++; + counter++; break; } } @@ -603,7 +603,7 @@ static u8 GetConnectedChildStrength(u8 maxFlags) } #endif -void InitHostRFUtgtGname(struct GFtgtGname *data, u8 activity, bool32 r2, s32 r3) +void InitHostRFUtgtGname(struct GFtgtGname *data, u8 activity, bool32 started, s32 child_sprite_genders) { s32 i; @@ -613,30 +613,37 @@ void InitHostRFUtgtGname(struct GFtgtGname *data, u8 activity, bool32 r2, s32 r3 } for (i = 0; i < RFU_CHILD_MAX; i++) { - data->unk_04[i] = r3; - r3 >>= 8; + data->child_sprite_gender[i] = child_sprite_genders; + child_sprite_genders >>= 8; } data->playerGender = gSaveBlock2Ptr->playerGender; - data->unk_0a_0 = activity; - data->unk_0a_7 = r2; - data->unk_00.unk_00_0 = GAME_LANGUAGE; - data->unk_00.unk_01_2 = GAME_VERSION; - data->unk_00.unk_00_4 = 0; - data->unk_00.unk_00_5 = 0; + data->activity = activity; + data->started = started; + data->unk_00.language = GAME_LANGUAGE; + data->unk_00.version = GAME_VERSION; + data->unk_00.hasNews = FALSE; + data->unk_00.hasCard = FALSE; data->unk_00.unk_00_6 = 0; data->unk_00.isChampion = FlagGet(FLAG_SYS_CAN_LINK_WITH_RS); data->unk_00.hasNationalDex = IsNationalPokedexEnabled(); data->unk_00.gameClear = FlagGet(FLAG_SYS_GAME_CLEAR); } -bool8 sub_80FCC3C(struct GFtgtGname *gname, u8 *uname, u8 idx) +/* + * ========================================================== + * Returns 1 if parent, 0 if child or neutral. + * If partner serial number is valid, copies gname and uname. + * Otherwise, blanks these. + * ========================================================== + */ +bool8 LinkRfu_GetNameIfCompatible(struct GFtgtGname *gname, u8 *uname, u8 idx) { bool8 retVal; - if (gUnknown_3005E10.unk_06 == 1) + if (lman.parent_child == MODE_PARENT) { retVal = TRUE; - if (sub_80FA44C(gRfuLinkStatus->partner[idx].serialNo) && ((gRfuLinkStatus->getNameFlag >> idx) & 1)) + if (RfuSerialNumberIsValid(gRfuLinkStatus->partner[idx].serialNo) && ((gRfuLinkStatus->getNameFlag >> idx) & 1)) { memcpy(gname, &gRfuLinkStatus->partner[idx].gname, RFU_GAME_NAME_LENGTH); memcpy(uname, gRfuLinkStatus->partner[idx].uname, RFU_USER_NAME_LENGTH); @@ -650,7 +657,7 @@ bool8 sub_80FCC3C(struct GFtgtGname *gname, u8 *uname, u8 idx) else { retVal = FALSE; - if (sub_80FA44C(gRfuLinkStatus->partner[idx].serialNo)) + if (RfuSerialNumberIsValid(gRfuLinkStatus->partner[idx].serialNo)) { memcpy(gname, &gRfuLinkStatus->partner[idx].gname, RFU_GAME_NAME_LENGTH); memcpy(uname, gRfuLinkStatus->partner[idx].uname, RFU_USER_NAME_LENGTH); @@ -664,7 +671,13 @@ bool8 sub_80FCC3C(struct GFtgtGname *gname, u8 *uname, u8 idx) return retVal; } -bool8 sub_80FCCF4(struct GFtgtGname *gname, u8 *uname, u8 idx) +/* + * ========================================================== + * Specific check for serial number 0x7F7D, + * which comes from ??? + * ========================================================== + */ +bool8 LinkRfu_GetNameIfSerial7F7D(struct GFtgtGname *gname, u8 *uname, u8 idx) { bool8 retVal = FALSE; if (gRfuLinkStatus->partner[idx].serialNo == 0x7F7D) @@ -824,7 +837,7 @@ void UpdateWirelessStatusIndicatorSprite(void) gMain.oamBuffer[125].paletteNum = sprite->oam.paletteNum; gMain.oamBuffer[125].tileNum = sprite->data[6] + sprite->anims[sprite->data[2]][sprite->data[4]].frame.imageValue; CpuCopy16(gMain.oamBuffer + 125, (struct OamData *)OAM + 125, sizeof(struct OamData)); - if (sub_80FB9F4() == 1) + if (RfuGetErrorStatus() == 1) { DestroyWirelessStatusIndicatorSprite(); } diff --git a/src/list_menu.c b/src/list_menu.c index 6c4d50961..9439d712c 100644 --- a/src/list_menu.c +++ b/src/list_menu.c @@ -8,9 +8,7 @@ #include "main.h" #include "task.h" #include "graphics.h" -#include "decompress.h" #include "palette.h" -#include "malloc.h" #include "strings.h" #include "sound.h" #include "pokemon_icon.h" @@ -258,7 +256,7 @@ void DestroyListMenuTask(u8 listTaskId, u16 *cursorPos, u16 *itemsAbove) if (itemsAbove != NULL) *itemsAbove = list->itemsAbove; - if (list->taskId != TASK_NONE) + if (list->taskId != TAIL_SENTINEL) ListMenuRemoveCursorObject(list->taskId, list->template.cursorKind - 2); DestroyTask(listTaskId); @@ -348,7 +346,7 @@ static u8 ListMenuInitInternal(const struct ListMenuTemplate *listMenuTemplate, list->itemsAbove = itemsAbove; list->unk_1C = 0; list->unk_1D = 0; - list->taskId = TASK_NONE; + list->taskId = TAIL_SENTINEL; list->unk_1F = 0; gListMenuOverride.cursorPal = list->template.cursorPal; gListMenuOverride.fillValue = list->template.fillValue; @@ -415,17 +413,17 @@ static void ListMenuDrawCursor(struct ListMenu *list) switch (list->template.cursorKind) { case 0: - ListMenuPrint(list, gFameCheckerText_ListMenuCursor, x, y); + ListMenuPrint(list, gText_SelectorArrow2, x, y); break; case 1: break; case 2: - if (list->taskId == TASK_NONE) + if (list->taskId == TAIL_SENTINEL) list->taskId = ListMenuAddCursorObject(list, 0); ListMenuUpdateCursorObject(list->taskId, GetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_LEFT) * 8 - 1, GetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_TOP) * 8 + y - 1, 0); break; case 3: - if (list->taskId == TASK_NONE) + if (list->taskId == TAIL_SENTINEL) list->taskId = ListMenuAddCursorObject(list, 1); ListMenuUpdateCursorObject(list->taskId, GetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_LEFT) * 8 + x, GetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_TOP) * 8 + y, 1); break; @@ -763,7 +761,7 @@ void sub_8107CF8(u8 windowId, u16 speciesId, u32 personality, u16 x, u16 y) BlitBitmapToWindow(windowId, GetMonIconPtr(speciesId, personality, 1), x, y, 32, 32); } -void sub_8107D38(u8 palOffset, u8 palId) +void ListMenuLoadStdPalAt(u8 palOffset, u8 palId) { const u16 *palette; diff --git a/src/load_save.c b/src/load_save.c index 9c30494f8..7ab28ffc3 100644 --- a/src/load_save.c +++ b/src/load_save.c @@ -8,7 +8,6 @@ #include "item.h" #include "save_location.h" #include "berry_powder.h" -#include "item.h" #include "overworld.h" #include "quest_log.h" @@ -284,8 +283,8 @@ void ApplyNewEncryptionKeyToAllEncryptedData(u32 encryptionKey) { int i; - for(i = 0; i < 4; i++) - ApplyNewEncryptionKeyToWord(&gSaveBlock1Ptr->unkArray[i].unk4, encryptionKey); + for(i = 0; i < NUM_TOWER_CHALLENGE_TYPES; i++) + ApplyNewEncryptionKeyToWord(&gSaveBlock1Ptr->trainerTower[i].bestTime, encryptionKey); sub_8054F38(encryptionKey); ApplyNewEncryptionKeyToBagItems_(encryptionKey); diff --git a/src/mail.c b/src/mail.c index dbdf48ac7..b5c0343b3 100644 --- a/src/mail.c +++ b/src/mail.c @@ -506,10 +506,10 @@ static bool8 DoInitMailView(void) SetVBlankCallback(NULL); ScanlineEffect_Stop(); SetGpuReg(REG_OFFSET_DISPCNT, 0); - if (gPlayerPcMenuManager.unk_9 == 0) - HelpSystem_SetSomeVariable2(34); + if (gPlayerPcMenuManager.notInRoom == FALSE) + SetHelpContext(HELPCONTEXT_BEDROOM_PC_MAILBOX); else - HelpSystem_SetSomeVariable2(30); + SetHelpContext(HELPCONTEXT_PLAYERS_PC_MAILBOX); break; case 1: CpuFill16(0, (void *)OAM, OAM_SIZE); diff --git a/src/main.c b/src/main.c index b88326cda..77f668e6f 100644 --- a/src/main.c +++ b/src/main.c @@ -9,7 +9,6 @@ #include "random.h" #include "dma3.h" #include "gba/flash_internal.h" -#include "battle.h" #include "help_system.h" #include "sound.h" #include "new_menu_helpers.h" @@ -17,12 +16,11 @@ #include "overworld.h" #include "sprite.h" #include "play_time.h" -#include "pokemon.h" #include "intro.h" #include "battle_controllers.h" #include "scanline_effect.h" #include "save_failed_screen.h" -#include "battle.h" +#include "quest_log.h" extern u32 intr_main[]; @@ -80,9 +78,6 @@ static IntrFunc * const sTimerIntrFunc = gIntrTable + 0x7; EWRAM_DATA u8 gDecompressionBuffer[0x4000] = {0}; EWRAM_DATA u16 gTrainerId = 0; -extern bool8 gWirelessCommType; -extern bool8 gUnknown_3005E88; - static void UpdateLinkAndCallCallbacks(void); static void InitMainCallbacks(void); static void CallCallbacks(void); @@ -181,7 +176,7 @@ static void InitMainCallbacks(void) gSaveBlock2Ptr = &gSaveBlock2; gSaveBlock1Ptr = &gSaveBlock1; gSaveBlock2.encryptionKey = 0; - gUnknown_3005E88 = FALSE; + gUnknown_3005E88 = 0; } static void CallCallbacks(void) diff --git a/src/map_preview_screen.c b/src/map_preview_screen.c index bb748ae91..1788b17cc 100644 --- a/src/map_preview_screen.c +++ b/src/map_preview_screen.c @@ -14,12 +14,12 @@ #include "overworld.h" #include "event_data.h" #include "map_preview_screen.h" -#include "constants/region_map.h" +#include "constants/region_map_sections.h" -static EWRAM_DATA bool8 gUnknown_203ABEC = FALSE; -static EWRAM_DATA bool8 gUnknown_203ABED = FALSE; +static EWRAM_DATA bool8 sHasVisitedMapBefore = FALSE; +static EWRAM_DATA bool8 sAllocedBg0TilemapBuffer = FALSE; -static void sub_80F83D0(u8 taskId); +static void Task_RunMapPreviewScreenForest(u8 taskId); static const u8 gViridianForestMapPreviewPalette[] = INCBIN_U8("data/map_preview/viridian_forest_pal.gbapal"); static const u8 gViridianForestMapPreviewTiles[] = INCBIN_U8("data/map_preview/viridian_forest_tiles.4bpp.lz"); @@ -88,7 +88,7 @@ static const u8 gAlteringCaveMapPreviewTilemap[] = INCBIN_U8("data/map_preview/a static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { [MPS_VIRIDIAN_FOREST] = { .mapsec = MAPSEC_VIRIDIAN_FOREST, - .forceFirstTime = TRUE, + .type = MPS_TYPE_FOREST, .flagId = FLAG_WORLD_MAP_VIRIDIAN_FOREST, .tilesptr = gViridianForestMapPreviewTiles, .tilemapptr = gViridianForestMapPreviewTilemap, @@ -96,7 +96,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_MT_MOON] = { .mapsec = MAPSEC_MT_MOON, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_MT_MOON_1F, .tilesptr = gMtMoonMapPreviewTiles, .tilemapptr = gMtMoonMapPreviewTilemap, @@ -104,7 +104,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_DIGLETTS_CAVE] = { .mapsec = MAPSEC_DIGLETTS_CAVE, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_DIGLETTS_CAVE_B1F, .tilesptr = gDiglettsCaveMapPreviewTiles, .tilemapptr = gDiglettsCaveMapPreviewTilemap, @@ -112,7 +112,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_ROCK_TUNNEL] = { .mapsec = MAPSEC_ROCK_TUNNEL, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_ROCK_TUNNEL_1F, .tilesptr = gRockTunnelMapPreviewTiles, .tilemapptr = gRockTunnelMapPreviewTilemap, @@ -120,7 +120,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_POKEMON_TOWER] = { .mapsec = MAPSEC_POKEMON_TOWER, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_POKEMON_TOWER_1F, .tilesptr = gPokemonTowerMapPreviewTiles, .tilemapptr = gPokemonTowerMapPreviewTilemap, @@ -128,7 +128,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_SAFARI_ZONE] = { .mapsec = MAPSEC_KANTO_SAFARI_ZONE, - .forceFirstTime = TRUE, + .type = MPS_TYPE_FOREST, .flagId = FLAG_WORLD_MAP_SAFARI_ZONE_CENTER, .tilesptr = gKantoSafariZoneMapPreviewTiles, .tilemapptr = gKantoSafariZoneMapPreviewTilemap, @@ -136,7 +136,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_SEAFOAM_ISLANDS] = { .mapsec = MAPSEC_SEAFOAM_ISLANDS, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_SEAFOAM_ISLANDS_1F, .tilesptr = gSeafoamIslandsMapPreviewTiles, .tilemapptr = gSeafoamIslandsMapPreviewTilemap, @@ -144,7 +144,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_POKEMON_MANSION] = { .mapsec = MAPSEC_POKEMON_MANSION, - .forceFirstTime = TRUE, + .type = MPS_TYPE_FOREST, .flagId = FLAG_WORLD_MAP_POKEMON_MANSION_1F, .tilesptr = gPokemonMansionMapPreviewTiles, .tilemapptr = gPokemonMansionMapPreviewTilemap, @@ -152,7 +152,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_ROCKET_HIDEOUT] = { .mapsec = MAPSEC_ROCKET_HIDEOUT, - .forceFirstTime = TRUE, + .type = MPS_TYPE_FOREST, .flagId = FLAG_WORLD_MAP_ROCKET_HIDEOUT_B1F, .tilesptr = gRocketHideoutMapPreviewTiles, .tilemapptr = gRocketHideoutMapPreviewTilemap, @@ -160,7 +160,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_SILPH_CO] = { .mapsec = MAPSEC_SILPH_CO, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_SILPH_CO_1F, .tilesptr = gSilphCoMapPreviewTiles, .tilemapptr = gSilphCoMapPreviewTilemap, @@ -168,7 +168,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_VICTORY_ROAD] = { .mapsec = MAPSEC_KANTO_VICTORY_ROAD, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_VICTORY_ROAD_1F, .tilesptr = gKantoVictoryRoadMapPreviewTiles, .tilemapptr = gKantoVictoryRoadMapPreviewTilemap, @@ -176,7 +176,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_CERULEAN_CAVE] = { .mapsec = MAPSEC_CERULEAN_CAVE, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_CERULEAN_CAVE_1F, .tilesptr = gCeruleanCaveMapPreviewTiles, .tilemapptr = gCeruleanCaveMapPreviewTilemap, @@ -184,7 +184,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_POWER_PLANT] = { .mapsec = MAPSEC_POWER_PLANT, - .forceFirstTime = TRUE, + .type = MPS_TYPE_FOREST, .flagId = FLAG_WORLD_MAP_POWER_PLANT, .tilesptr = gPowerPlantMapPreviewTiles, .tilemapptr = gPowerPlantMapPreviewTilemap, @@ -192,7 +192,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_MT_EMBER] = { .mapsec = MAPSEC_MT_EMBER, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_MT_EMBER_EXTERIOR, .tilesptr = gMtEmberMapPreviewTiles, .tilemapptr = gMtEmberMapPreviewTilemap, @@ -200,7 +200,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_ROCKET_WAREHOUSE] = { .mapsec = MAPSEC_ROCKET_WAREHOUSE, - .forceFirstTime = TRUE, + .type = MPS_TYPE_FOREST, .flagId = FLAG_WORLD_MAP_THREE_ISLAND_BERRY_FOREST, .tilesptr = gRocketWarehouseMapPreviewTiles, .tilemapptr = gRocketWarehouseMapPreviewTilemap, @@ -208,7 +208,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_MONEAN_CHAMBER] = { .mapsec = MAPSEC_MONEAN_CHAMBER, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, .tilesptr = gMoneanChamberMapPreviewTiles, .tilemapptr = gMoneanChamberMapPreviewTilemap, @@ -216,7 +216,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_DOTTED_HOLE] = { .mapsec = MAPSEC_DOTTED_HOLE, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_SIX_ISLAND_DOTTED_HOLE_1F, .tilesptr = gDottedHoleMapPreviewTiles, .tilemapptr = gDottedHoleMapPreviewTilemap, @@ -224,7 +224,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_BERRY_FOREST] = { .mapsec = MAPSEC_BERRY_FOREST, - .forceFirstTime = TRUE, + .type = MPS_TYPE_FOREST, .flagId = FLAG_WORLD_MAP_THREE_ISLAND_BERRY_FOREST, .tilesptr = gBerryForestMapPreviewTiles, .tilemapptr = gBerryForestMapPreviewTilemap, @@ -232,7 +232,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_ICEFALL_CAVE] = { .mapsec = MAPSEC_ICEFALL_CAVE, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE, .tilesptr = gIcefallCaveMapPreviewTiles, .tilemapptr = gIcefallCaveMapPreviewTilemap, @@ -240,7 +240,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_LOST_CAVE] = { .mapsec = MAPSEC_LOST_CAVE, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_FIVE_ISLAND_LOST_CAVE_ENTRANCE, .tilesptr = gLostCaveMapPreviewTiles, .tilemapptr = gLostCaveMapPreviewTilemap, @@ -248,7 +248,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_ALTERING_CAVE] = { .mapsec = MAPSEC_ALTERING_CAVE, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_SIX_ISLAND_ALTERING_CAVE, .tilesptr = gAlteringCaveMapPreviewTiles, .tilemapptr = gAlteringCaveMapPreviewTilemap, @@ -256,7 +256,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_PATTERN_BUSH] = { .mapsec = MAPSEC_PATTERN_BUSH, - .forceFirstTime = TRUE, + .type = MPS_TYPE_FOREST, .flagId = FLAG_WORLD_MAP_SIX_ISLAND_PATTERN_BUSH, .tilesptr = gViridianForestMapPreviewTiles, .tilemapptr = gViridianForestMapPreviewTilemap, @@ -264,7 +264,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_LIPTOO_CHAMBER] = { .mapsec = MAPSEC_LIPTOO_CHAMBER, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, .tilesptr = gMoneanChamberMapPreviewTiles, .tilemapptr = gMoneanChamberMapPreviewTilemap, @@ -272,7 +272,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_WEEPTH_CHAMBER] = { .mapsec = MAPSEC_WEEPTH_CHAMBER, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, .tilesptr = gMoneanChamberMapPreviewTiles, .tilemapptr = gMoneanChamberMapPreviewTilemap, @@ -280,7 +280,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_TDILFORD_CHAMBER] = { .mapsec = MAPSEC_DILFORD_CHAMBER, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, .tilesptr = gMoneanChamberMapPreviewTiles, .tilemapptr = gMoneanChamberMapPreviewTilemap, @@ -288,7 +288,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_SCUFIB_CHAMBER] = { .mapsec = MAPSEC_SCUFIB_CHAMBER, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, .tilesptr = gMoneanChamberMapPreviewTiles, .tilemapptr = gMoneanChamberMapPreviewTilemap, @@ -296,7 +296,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_RIXY_CHAMBER] = { .mapsec = MAPSEC_RIXY_CHAMBER, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, .tilesptr = gMoneanChamberMapPreviewTiles, .tilemapptr = gMoneanChamberMapPreviewTilemap, @@ -304,7 +304,7 @@ static const struct MapPreviewScreen sMapPreviewScreenData[MPS_COUNT] = { }, [MPS_VIAPOIS_CHAMBER] = { .mapsec = MAPSEC_VIAPOIS_CHAMBER, - .forceFirstTime = FALSE, + .type = MPS_TYPE_CAVE, .flagId = FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, .tilesptr = gMoneanChamberMapPreviewTiles, .tilemapptr = gMoneanChamberMapPreviewTilemap, @@ -328,7 +328,7 @@ static const struct BgTemplate sMapPreviewBgTemplate[1] = { } }; -static u8 sub_80F80E4(u8 mapsec) +static u8 GetMapPreviewScreenIdx(u8 mapsec) { s32 i; @@ -342,20 +342,20 @@ static u8 sub_80F80E4(u8 mapsec) return MPS_COUNT; } -bool8 sub_80F8110(u8 mapsec, u8 forceFirstTime) +bool8 MapHasPreviewScreen(u8 mapsec, u8 type) { u8 idx; - idx = sub_80F80E4(mapsec); + idx = GetMapPreviewScreenIdx(mapsec); if (idx != MPS_COUNT) { - if (forceFirstTime == 2) + if (type == MPS_TYPE_ANY) { return TRUE; } else { - return sMapPreviewScreenData[idx].forceFirstTime == forceFirstTime ? TRUE : FALSE; + return sMapPreviewScreenData[idx].type == type ? TRUE : FALSE; } } else @@ -364,29 +364,29 @@ bool8 sub_80F8110(u8 mapsec, u8 forceFirstTime) } } -bool8 sub_80F8154(u8 mapsec, u8 forceFirstTime) +bool32 MapHasPreviewScreen_HandleQLState2(u8 mapsec, u8 type) { - if (gQuestLogState == 2) + if (gQuestLogState == QL_STATE_2) { return FALSE; } else { - return sub_80F8110(mapsec, forceFirstTime); + return MapHasPreviewScreen(mapsec, type); } } -void sub_80F8180(void) +void MapPreview_InitBgs(void) { InitBgsFromTemplates(0, sMapPreviewBgTemplate, NELEMS(sMapPreviewBgTemplate)); ShowBg(0); } -void sub_80F819C(u8 mapsec) +void MapPreview_LoadGfx(u8 mapsec) { u8 idx; - idx = sub_80F80E4(mapsec); + idx = GetMapPreviewScreenIdx(mapsec); if (idx != MPS_COUNT) { ResetTempTileDataBuffers(); @@ -395,55 +395,55 @@ void sub_80F819C(u8 mapsec) if (GetBgTilemapBuffer(0) == NULL) { SetBgTilemapBuffer(0, Alloc(BG_SCREEN_SIZE)); - gUnknown_203ABED = TRUE; + sAllocedBg0TilemapBuffer = TRUE; } else { - gUnknown_203ABED = FALSE; + sAllocedBg0TilemapBuffer = FALSE; } CopyToBgTilemapBuffer(0, sMapPreviewScreenData[idx].tilemapptr, 0, 0x000); CopyBgTilemapBufferToVram(0); } } -void sub_80F8234(s32 windowId) +void MapPreview_Unload(s32 windowId) { RemoveWindow(windowId); - if (gUnknown_203ABED) + if (sAllocedBg0TilemapBuffer) { Free(GetBgTilemapBuffer(0)); } } -bool32 sub_80F8258(void) +bool32 MapPreview_IsGfxLoadFinished(void) { return FreeTempTileDataBuffersIfPossible(); } -void sub_80F8268(u8 mapsec) +void MapPreview_StartForestTransition(u8 mapsec) { u8 taskId; - taskId = CreateTask(sub_80F83D0, 0); + taskId = CreateTask(Task_RunMapPreviewScreenForest, 0); gTasks[taskId].data[2] = GetBgAttribute(0, BG_ATTR_PRIORITY); gTasks[taskId].data[4] = GetGpuReg(REG_OFFSET_BLDCNT); gTasks[taskId].data[5] = GetGpuReg(REG_OFFSET_BLDALPHA); gTasks[taskId].data[3] = GetGpuReg(REG_OFFSET_DISPCNT); gTasks[taskId].data[6] = GetGpuReg(REG_OFFSET_WININ); gTasks[taskId].data[7] = GetGpuReg(REG_OFFSET_WINOUT); - gTasks[taskId].data[10] = sub_80F856C(mapsec); + gTasks[taskId].data[10] = MapPreview_GetDuration(mapsec); gTasks[taskId].data[8] = 16; gTasks[taskId].data[9] = 0; SetBgAttribute(0, BG_ATTR_PRIORITY, 0); SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0)); - SetGpuRegBits(REG_OFFSET_WININ, 0x2020); - SetGpuRegBits(REG_OFFSET_WINOUT, 0x0020); - gTasks[taskId].data[11] = sub_80F8318(mapsec); + SetGpuRegBits(REG_OFFSET_WININ, WININ_WIN0_CLR | WININ_WIN1_CLR); + SetGpuRegBits(REG_OFFSET_WINOUT, WINOUT_WIN01_CLR); + gTasks[taskId].data[11] = MapPreview_CreateMapNameWindow(mapsec); ScriptContext2_Enable(); } -u16 sub_80F8318(u8 mapsec) +u16 MapPreview_CreateMapNameWindow(u8 mapsec) { u16 windowId; u32 xctr; @@ -452,18 +452,18 @@ u16 sub_80F8318(u8 mapsec) windowId = AddWindow(&sMapNameWindow); FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); PutWindowTilemap(windowId); - color[0] = 1; // Access violation - color[1] = 4; // Access violation - color[2] = 3; // Access violation + color[0] = TEXT_COLOR_WHITE; // Access violation + color[1] = TEXT_COLOR_RED; // Access violation + color[2] = TEXT_COLOR_LIGHT_GREY; // Access violation GetMapName(gStringVar4, mapsec, 0); xctr = 104 - GetStringWidth(2, gStringVar4, 0); AddTextPrinterParameterized4(windowId, 2, xctr / 2, 2, 0, 0, color/* Access violation */, -1, gStringVar4); return windowId; } -bool32 sub_80F83B0(void) +bool32 ForestMapPreviewScreenIsRunning(void) { - if (FuncIsActiveTask(sub_80F83D0) == TRUE) + if (FuncIsActiveTask(Task_RunMapPreviewScreenForest) == TRUE) { return FALSE; } @@ -473,7 +473,7 @@ bool32 sub_80F83B0(void) } } -static void sub_80F83D0(u8 taskId) +static void Task_RunMapPreviewScreenForest(u8 taskId) { s16 * data; @@ -481,7 +481,7 @@ static void sub_80F83D0(u8 taskId) switch (data[0]) { case 0: - if (!sub_80F8258() && !IsDma3ManagerBusyWithBgCopy()) + if (!MapPreview_IsGfxLoadFinished() && !IsDma3ManagerBusyWithBgCopy()) { CopyWindowToVram(data[11], 3); data[0]++; @@ -490,7 +490,7 @@ static void sub_80F83D0(u8 taskId) case 1: if (!IsDma3ManagerBusyWithBgCopy()) { - sub_807DC00(); + FadeInFromBlack(); data[0]++; } break; @@ -539,7 +539,7 @@ static void sub_80F83D0(u8 taskId) case 5: if (!IsDma3ManagerBusyWithBgCopy()) { - sub_80F8234(data[11]); + MapPreview_Unload(data[11]); SetBgAttribute(0, BG_ATTR_PRIORITY, data[2]); SetGpuReg(REG_OFFSET_DISPCNT, data[3]); SetGpuReg(REG_OFFSET_BLDCNT, data[4]); @@ -556,7 +556,7 @@ const struct MapPreviewScreen * GetDungeonMapPreviewScreenInfo(u8 mapsec) { u8 idx; - idx = sub_80F80E4(mapsec); + idx = GetMapPreviewScreenIdx(mapsec); if (idx == MPS_COUNT) { return NULL; @@ -567,18 +567,18 @@ const struct MapPreviewScreen * GetDungeonMapPreviewScreenInfo(u8 mapsec) } } -u16 sub_80F856C(u8 mapsec) +u16 MapPreview_GetDuration(u8 mapsec) { u8 idx; u16 flagId; - idx = sub_80F80E4(mapsec); + idx = GetMapPreviewScreenIdx(mapsec); if (idx == MPS_COUNT) { return 0; } flagId = sMapPreviewScreenData[idx].flagId; - if (!sMapPreviewScreenData[idx].forceFirstTime) + if (sMapPreviewScreenData[idx].type == MPS_TYPE_CAVE) { if (!FlagGet(flagId)) { @@ -590,7 +590,7 @@ u16 sub_80F856C(u8 mapsec) } } else { - if (gUnknown_203ABEC) + if (sHasVisitedMapBefore) { return 120; } @@ -601,15 +601,15 @@ u16 sub_80F856C(u8 mapsec) } } -void sub_80F85BC(u16 flagId) +void MapPreview_SetFlag(u16 flagId) { if (!FlagGet(flagId)) { - gUnknown_203ABEC = TRUE; + sHasVisitedMapBefore = TRUE; } else { - gUnknown_203ABEC = FALSE; + sHasVisitedMapBefore = FALSE; } FlagSet(flagId); } diff --git a/src/menews_jisan.c b/src/menews_jisan.c index d8971f6a2..f3b8fca78 100644 --- a/src/menews_jisan.c +++ b/src/menews_jisan.c @@ -54,7 +54,7 @@ void MENewsJisanStepCounter(void) } } -u16 Special_GetMENewsJisanItemAndState(void) +u16 GetMENewsJisanItemAndState(void) { u16 *r6 = &gSpecialVar_Result; struct MENewsJisanStruct *r4 = GetMENewsJisanStructPtr(); diff --git a/src/menu.c b/src/menu.c index 5a0da28b9..b7c3f54eb 100644 --- a/src/menu.c +++ b/src/menu.c @@ -1,12 +1,8 @@ #include "global.h" #include "bg.h" -#include "malloc.h" #include "menu.h" #include "menu_helpers.h" -#include "new_menu_helpers.h" -#include "string_util.h" #include "strings.h" -#include "task.h" #include "text_window.h" #include "window.h" #include "sound.h" @@ -307,7 +303,7 @@ static void Menu_RedrawCursor(u8 oldPos, u8 newPos) width = GetMenuCursorDimensionByFont(sMenu.fontId, 0); height = GetMenuCursorDimensionByFont(sMenu.fontId, 1); FillWindowPixelRect(sMenu.windowId, 1, sMenu.left, sMenu.optionHeight * oldPos + sMenu.top, width, height); - AddTextPrinterParameterized(sMenu.windowId, sMenu.fontId, gFameCheckerText_ListMenuCursor, sMenu.left, sMenu.optionHeight * newPos + sMenu.top, 0, 0); + AddTextPrinterParameterized(sMenu.windowId, sMenu.fontId, gText_SelectorArrow2, sMenu.left, sMenu.optionHeight * newPos + sMenu.top, 0, 0); } u8 Menu_MoveCursor(s8 cursorDelta) @@ -649,7 +645,7 @@ static void MultichoiceGrid_RedrawCursor(u8 oldCursorPos, u8 newCursorPos) FillWindowPixelRect(sMenu.windowId, PIXEL_FILL(1), xPos, yPos, cursorWidth, cursorHeight); xPos = (newCursorPos % sMenu.columns) * sMenu.optionWidth + sMenu.left; yPos = (newCursorPos / sMenu.columns) * sMenu.optionHeight + sMenu.top; - AddTextPrinterParameterized(sMenu.windowId, sMenu.fontId, gFameCheckerText_ListMenuCursor, xPos, yPos, 0, 0); + AddTextPrinterParameterized(sMenu.windowId, sMenu.fontId, gText_SelectorArrow2, xPos, yPos, 0, 0); } static u8 MultichoiceGrid_MoveCursor(s8 deltaX, s8 deltaY) diff --git a/src/menu_indicators.c b/src/menu_indicators.c index c07aaf772..3044fb8b4 100644 --- a/src/menu_indicators.c +++ b/src/menu_indicators.c @@ -3,7 +3,6 @@ #include "task.h" #include "decompress.h" #include "palette.h" -#include "strings.h" #include "sprite.h" #include "trig.h" #include "list_menu.h" diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c index 29a296255..507bcf2b4 100644 --- a/src/metatile_behavior.c +++ b/src/metatile_behavior.c @@ -16,39 +16,12 @@ static const bool8 sTileSurfable[METATILE_COUNT] = { [MB_SOUTHWARD_CURRENT] = TRUE }; -static const u8 sTileBitAttributes[] = { - 0x00, - 0x01, - 0x02, - 0x04, - 0x08, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00 +static const u8 sTileBitAttributes[32] = { + [0] = 0x00, + [1] = 0x01, + [2] = 0x02, + [3] = 0x04, + [4] = 0x08, }; bool8 MetatileBehavior_UnusedReturnTrue(u8 metatileBehavior) @@ -769,7 +742,7 @@ bool8 MetatileBehavior_UnusedReturnFalse_11(u8 metatileBehavior) { return FALSE; bool8 MetatileBehavior_UnusedReturnFalse_12(u8 metatileBehavior) { return FALSE; } bool8 MetatileBehavior_UnusedReturnFalse_13(u8 metatileBehavior) { return FALSE; } -bool8 sub_805A2BC(u8 arg1, u8 arg2) +bool8 TestMetatileAttributeBit(u8 arg1, u8 arg2) { if(sTileBitAttributes[arg1] & arg2) return TRUE; diff --git a/src/mevent.c b/src/mevent.c index afad326b5..9eabcad61 100644 --- a/src/mevent.c +++ b/src/mevent.c @@ -9,7 +9,7 @@ #include "decompress.h" #include "link.h" #include "link_rfu.h" -#include "unk_815c27c.h" +#include "ereader_helpers.h" #include "util.h" #include "script.h" #include "event_data.h" @@ -21,77 +21,65 @@ #include "mystery_gift_menu.h" #include "help_system.h" #include "mevent.h" +#include "strings.h" struct MEventTaskData1 { - u16 t00; + u16 stateAdvanceDelay; u16 t02; u16 t04; u16 t06; u8 state; - u8 t09; + u8 textOrReceiveState; u8 t0A; u8 t0B; u8 t0C; u8 t0D; - u8 t0E; + u8 initialSendResult; struct MEvent_Str_2 *t10; }; -void sub_8143910(u8 taskId); -bool32 sub_8143E64(const struct MEWonderNewsData * src); -void sub_8143E9C(void); -void sub_8143ED0(void); -bool32 sub_8144018(const struct MEWonderCardData * src); -void BlankSavedWonderCard(void); -void BlankMEventBuffer2(void); -void sub_8144824(u32, u32, u32 *, s32); -void sub_8144790(void); +static void Task_EReaderComm(u8 taskId); +static bool32 IsReceivedWonderNewsHeaderValid(const struct MEWonderNewsData * src); +static void BlankWonderNews(void); +static void BlankMENewsJisan(void); +static bool32 IsReceivedWonderCardHeaderValid(const struct MEWonderCardData * src); +static void BlankSavedWonderCard(void); +static void BlankMEventBuffer2(void); +static void RecordIdOfWonderCardSender(u32 eventId, u32 trainerId, u32 *idsList, s32 count); +static void BlankBuffer344(void); -extern const u8 gUnknown_841DE52[]; -extern const u8 gUnknown_841DE53[]; -extern const u8 gUnknown_841DE54[]; -extern const u8 gUnknown_841DE7C[]; -extern const u8 gUnknown_841DE7D[]; -extern const u8 gUnknown_841DE95[]; -extern const u8 gUnknown_841DE96[]; -extern const u8 gUnknown_841DE97[]; -extern const u8 gUnknown_841DE98[]; -extern const u8 gUnknown_841DE99[]; -extern const u8 gUnknown_841DE9A[]; -extern const u8 gUnknown_841DE9B[]; -extern const u8 gUnknown_841DE9C[]; extern const u8 gUnknownSerialData_Start[]; extern const u8 gUnknownSerialData_End[]; -const u16 gUnknown_8466F00[] = { - 0x02a7, - 0x02a8, - 0x02a9, - 0x02aa, - 0x02ab, - 0x02ac, - 0x02ad, - 0x02ae, - 0x02af, - 0x02b0, - 0x02b1, - 0x02b2, - 0x02b3, - 0x02b4, - 0x02b5, - 0x02b6, - 0x02b7, - 0x02b8, - 0x02b9, - 0x02ba +static const u16 sGiftItemFlagIds[] = { + FLAG_GOT_AURORA_TICKET, + FLAG_GOT_MYSTIC_TICKET, + FLAG_0x2A9, + FLAG_0x2AA, + FLAG_0x2AB, + FLAG_0x2AC, + FLAG_0x2AD, + FLAG_0x2AE, + FLAG_0x2AF, + FLAG_0x2B0, + FLAG_0x2B1, + FLAG_0x2B2, + FLAG_0x2B3, + FLAG_0x2B4, + FLAG_0x2B5, + FLAG_0x2B6, + FLAG_0x2B7, + FLAG_0x2B8, + FLAG_0x2B9, + FLAG_0x2BA }; -struct MEvent_Str_1 gUnknown_3005ED0; +struct MEvent_Str_1 sMEventSendToEReaderManager; -static EWRAM_DATA bool32 gUnknown_203F3BC = FALSE; +static EWRAM_DATA bool32 sReceivedWonderCardIsValid = FALSE; -void sub_81435DC(struct MEvent_Str_1 *mgr, size_t size, const void * data) +void SendUnknownSerialData_Init(struct MEvent_Str_1 *mgr, size_t size, const void * data) { vu16 imeBak = REG_IME; REG_IME = 0; @@ -106,7 +94,7 @@ void sub_81435DC(struct MEvent_Str_1 *mgr, size_t size, const void * data) mgr->data = data; } -void sub_8143644(struct MEvent_Str_1 *unused) +void SendUnknownSerialData_Teardown(struct MEvent_Str_1 *unused) { vu16 imeBak = REG_IME; REG_IME = 0; @@ -116,15 +104,15 @@ void sub_8143644(struct MEvent_Str_1 *unused) REG_IME = imeBak; } -u8 sub_8143674(struct MEvent_Str_1 *mgr) +u8 SendUnknownSerialData_Run(struct MEvent_Str_1 *mgr) { u8 resp = 0; mgr->status = EReaderHandleTransfer(1, mgr->size, mgr->data, 0); - if ((mgr->status & 0x13) == 0x10) + if ((mgr->status & 0x13) == 0x10) // checksum OK and xfer off resp = 1; - if (mgr->status & 8) + if (mgr->status & 8) // cancelled by player resp = 2; - if (mgr->status & 4) + if (mgr->status & 4) // timed out resp = 3; gShouldAdvanceLinkState = 0; return resp; @@ -161,32 +149,32 @@ static bool32 IsEReaderConnectionSane(void) return FALSE; } -u32 sub_8143770(u8 * r4, u16 * r5) +static u32 EReaderReceive(u8 * state_p, u16 * receiveDelay) { - if ((*r4 == 3 || *r4 == 4 || *r4 == 5) && HasLinkErrorOccurred()) + if ((*state_p == 3 || *state_p == 4 || *state_p == 5) && HasLinkErrorOccurred()) { - *r4 = 0; + *state_p = 0; return 3; } - switch (*r4) + switch (*state_p) { case 0: if (IsLinkMaster() && GetLinkPlayerCount_2() > 1) { - *r4 = 1; + *state_p = 1; ; } else if (JOY_NEW(B_BUTTON)) { - *r4 = 0; + *state_p = 0; return 1; } break; case 1: - if (++(*r5) > 5) + if (++(*receiveDelay) > 5) { - *r5 = 0; - *r4 = 2; + *receiveDelay = 0; + *state_p = 2; } break; case 2: @@ -194,19 +182,19 @@ u32 sub_8143770(u8 * r4, u16 * r5) { PlaySE(SE_PINPON); CheckShouldAdvanceLinkState(); - *r5 = 0; - *r4 = 3; + *receiveDelay = 0; + *state_p = 3; } else if (JOY_NEW(B_BUTTON)) { - *r4 = 0; + *state_p = 0; return 1; } break; case 3: - if (++(*r5) > 30) + if (++(*receiveDelay) > 30) { - *r4 = 0; + *state_p = 0; return 5; } else if (IsLinkConnectionEstablished()) @@ -215,24 +203,24 @@ u32 sub_8143770(u8 * r4, u16 * r5) { if (IsLinkPlayerDataExchangeComplete()) { - *r4 = 0; + *state_p = 0; return 2; } else - *r4 = 4; + *state_p = 4; } else - *r4 = 3; + *state_p = 3; } break; case 4: - sub_800AA80(0); - *r4 = 5; + Link_StartSend5FFFwithParam(0); + *state_p = 5; break; case 5: if (!gReceivedRemoteLinkPlayers) { - *r4 = 0; + *state_p = 0; return 4; } break; @@ -242,19 +230,19 @@ u32 sub_8143770(u8 * r4, u16 * r5) void task_add_00_ereader(void) { - u8 taskId = CreateTask(sub_8143910, 0); + u8 taskId = CreateTask(Task_EReaderComm, 0); struct MEventTaskData1 *data = (struct MEventTaskData1 *)gTasks[taskId].data; data->state = 0; - data->t09 = 0; + data->textOrReceiveState = 0; data->t0A = 0; data->t0B = 0; data->t0C = 0; data->t0D = 0; - data->t00 = 0; + data->stateAdvanceDelay = 0; data->t02 = 0; data->t04 = 0; data->t06 = 0; - data->t0E = 0; + data->initialSendResult = 0; data->t10 = AllocZeroed(sizeof(struct MEvent_Str_2)); } @@ -273,22 +261,22 @@ static bool32 AdvanceDelayTimerCheckTimeout(u16 * a0, u16 a1) return FALSE; } -void sub_8143910(u8 taskId) +static void Task_EReaderComm(u8 taskId) { struct MEventTaskData1 *data = (struct MEventTaskData1 *)gTasks[taskId].data; switch (data->state) { case 0: - if (MG_PrintTextOnWindow1AndWaitButton(&data->t09, gUnknown_841DE52)) + if (MG_PrintTextOnWindow1AndWaitButton(&data->textOrReceiveState, gJPText_ReceiveMysteryGiftWithEReader)) data->state = 1; break; case 1: ResetTTDataBuffer(); - ResetDelayTimer(&data->t00); + ResetDelayTimer(&data->stateAdvanceDelay); data->state = 2; break; case 2: - if (AdvanceDelayTimerCheckTimeout(&data->t00, 10)) + if (AdvanceDelayTimerCheckTimeout(&data->stateAdvanceDelay, 10)) data->state = 3; break; case 3: @@ -301,22 +289,22 @@ void sub_8143910(u8 taskId) data->state = 13; break; case 4: - if (MG_PrintTextOnWindow1AndWaitButton(&data->t09, gUnknown_841DE53)) + if (MG_PrintTextOnWindow1AndWaitButton(&data->textOrReceiveState, gJPText_SelectConnectFromEReaderMenu)) { - AddTextPrinterToWindow1(gUnknown_841DE54); - ResetDelayTimer(&data->t00); + AddTextPrinterToWindow1(gJPText_SelectConnectWithGBA); + ResetDelayTimer(&data->stateAdvanceDelay); data->state = 5; } break; case 5: - if (AdvanceDelayTimerCheckTimeout(&data->t00, 90)) + if (AdvanceDelayTimerCheckTimeout(&data->stateAdvanceDelay, 90)) { ResetTTDataBuffer(); data->state = 6; } else if (JOY_NEW(B_BUTTON)) { - ResetDelayTimer(&data->t00); + ResetDelayTimer(&data->stateAdvanceDelay); PlaySE(SE_SELECT); data->state = 23; } @@ -326,12 +314,12 @@ void sub_8143910(u8 taskId) { PlaySE(SE_SELECT); CloseLink(); - ResetDelayTimer(&data->t00); + ResetDelayTimer(&data->stateAdvanceDelay); data->state = 23; } else if (GetLinkPlayerCount_2() > 1) { - ResetDelayTimer(&data->t00); + ResetDelayTimer(&data->stateAdvanceDelay); CloseLink(); data->state = 7; } @@ -339,72 +327,80 @@ void sub_8143910(u8 taskId) { PlaySE(SE_SELECT); CloseLink(); - ResetDelayTimer(&data->t00); + ResetDelayTimer(&data->stateAdvanceDelay); data->state = 8; } - else if (AdvanceDelayTimerCheckTimeout(&data->t00, 10)) + else if (AdvanceDelayTimerCheckTimeout(&data->stateAdvanceDelay, 10)) { CloseLink(); ResetTTDataBuffer(); - ResetDelayTimer(&data->t00); + ResetDelayTimer(&data->stateAdvanceDelay); } break; case 7: - if (MG_PrintTextOnWindow1AndWaitButton(&data->t09, gUnknown_841DE7C)) + if (MG_PrintTextOnWindow1AndWaitButton(&data->textOrReceiveState, gJPText_LinkIsIncorrect)) data->state = 4; break; case 8: - AddTextPrinterToWindow1(gUnknown_841DE95); - sub_81435DC(&gUnknown_3005ED0, gUnknownSerialData_End - gUnknownSerialData_Start, gUnknownSerialData_Start); + AddTextPrinterToWindow1(gJPText_Connecting); + SendUnknownSerialData_Init(&sMEventSendToEReaderManager, gUnknownSerialData_End - gUnknownSerialData_Start, gUnknownSerialData_Start); data->state = 9; break; case 9: - data->t0E = sub_8143674(&gUnknown_3005ED0); - if (data->t0E != 0) + data->initialSendResult = SendUnknownSerialData_Run(&sMEventSendToEReaderManager); + if (data->initialSendResult != 0) data->state = 10; break; case 10: - sub_8143644(&gUnknown_3005ED0); - if (data->t0E == 3) + SendUnknownSerialData_Teardown(&sMEventSendToEReaderManager); + if (data->initialSendResult == 3) + // Error data->state = 20; - else if (data->t0E == 1) + else if (data->initialSendResult == 1) { - ResetDelayTimer(&data->t00); - AddTextPrinterToWindow1(gUnknown_841DE9B); + // OK + ResetDelayTimer(&data->stateAdvanceDelay); + AddTextPrinterToWindow1(gJPText_PleaseWaitAMoment); data->state = 11; } else + // Try again data->state = 0; break; case 11: - if (AdvanceDelayTimerCheckTimeout(&data->t00, 840)) + if (AdvanceDelayTimerCheckTimeout(&data->stateAdvanceDelay, 840)) data->state = 12; break; case 12: ResetTTDataBuffer(); - AddTextPrinterToWindow1(gUnknown_841DE98); + AddTextPrinterToWindow1(gJPText_AllowEReaderToLoadCard); data->state = 13; break; case 13: - switch (sub_8143770(&data->t09, &data->t00)) + switch (EReaderReceive(&data->textOrReceiveState, &data->stateAdvanceDelay)) { case 0: + // Running break; case 2: - AddTextPrinterToWindow1(gUnknown_841DE95); + // Done + AddTextPrinterToWindow1(gJPText_Connecting); data->state = 14; break; case 1: + // Cancelled PlaySE(SE_SELECT); CloseLink(); data->state = 23; break; case 5: + // Error Try Again CloseLink(); data->state = 21; break; case 3: case 4: + // Error CheckLink CloseLink(); data->state = 20; break; @@ -423,55 +419,55 @@ void sub_8143910(u8 taskId) } break; case 15: - data->t0E = ValidateTrainerTowerData((struct EReaderTrainerHillSet *)gDecompressionBuffer); - sub_800AA80(data->t0E); + data->initialSendResult = ValidateTrainerTowerData((struct EReaderTrainerTowerSet *)gDecompressionBuffer); + Link_StartSend5FFFwithParam(data->initialSendResult); data->state = 16; break; case 16: if (!gReceivedRemoteLinkPlayers) { - if (data->t0E == 1) + if (data->initialSendResult == 1) data->state = 17; else data->state = 20; } break; case 17: - if (CEReaderTool_SaveTrainerTower((struct EReaderTrainerHillSet *)gDecompressionBuffer)) + if (CEReaderTool_SaveTrainerTower((struct EReaderTrainerTowerSet *)gDecompressionBuffer)) { - AddTextPrinterToWindow1(gUnknown_841DE99); - ResetDelayTimer(&data->t00); + AddTextPrinterToWindow1(gJPText_ConnectionComplete); + ResetDelayTimer(&data->stateAdvanceDelay); data->state = 18; } else data->state = 22; break; case 18: - if (AdvanceDelayTimerCheckTimeout(&data->t00, 120)) + if (AdvanceDelayTimerCheckTimeout(&data->stateAdvanceDelay, 120)) { - AddTextPrinterToWindow1(gUnknown_841DE9A); - PlayFanfare(258); + AddTextPrinterToWindow1(gJPText_NewTrainerHasComeToSevii); + PlayFanfare(MUS_FANFA4); data->state = 19; } break; case 19: - if (IsFanfareTaskInactive() &&JOY_NEW(A_BUTTON | B_BUTTON)) + if (IsFanfareTaskInactive() && JOY_NEW(A_BUTTON | B_BUTTON)) data->state = 26; break; case 23: - if (MG_PrintTextOnWindow1AndWaitButton(&data->t09, gUnknown_841DE7D)) + if (MG_PrintTextOnWindow1AndWaitButton(&data->textOrReceiveState, gJPText_CardReadingHasBeenHalted)) data->state = 26; break; case 20: - if (MG_PrintTextOnWindow1AndWaitButton(&data->t09, gUnknown_841DE96)) + if (MG_PrintTextOnWindow1AndWaitButton(&data->textOrReceiveState, gJPText_ConnectionErrorCheckLink)) data->state = 0; break; case 21: - if (MG_PrintTextOnWindow1AndWaitButton(&data->t09, gUnknown_841DE97)) + if (MG_PrintTextOnWindow1AndWaitButton(&data->textOrReceiveState, gJPText_ConnectionErrorTryAgain)) data->state = 0; break; case 22: - if (MG_PrintTextOnWindow1AndWaitButton(&data->t09, gUnknown_841DE9C)) + if (MG_PrintTextOnWindow1AndWaitButton(&data->textOrReceiveState, gJPText_WriteErrorUnableToSaveData)) data->state = 0; break; case 26: @@ -483,10 +479,10 @@ void sub_8143910(u8 taskId) } } -void sub_8143D24(void) +void InitMEventData(void) { CpuFill32(0, &gSaveBlock1Ptr->mysteryEventBuffers, sizeof(gSaveBlock1Ptr->mysteryEventBuffers)); - sub_8143ED0(); + BlankMENewsJisan(); EC_ResetMEventProfileMaybe(); } @@ -517,14 +513,14 @@ u16 * GetMEventProfileECWordsMaybe(void) void DestroyWonderNews(void) { - sub_8143E9C(); + BlankWonderNews(); } -bool32 sub_8143DC8(const struct MEWonderNewsData * src) +bool32 OverwriteSavedWonderNewsWithReceivedNews(const struct MEWonderNewsData * src) { - if (!sub_8143E64(src)) + if (!IsReceivedWonderNewsHeaderValid(src)) return FALSE; - sub_8143E9C(); + BlankWonderNews(); gSaveBlock1Ptr->mysteryEventBuffers.menews.data = *src; gSaveBlock1Ptr->mysteryEventBuffers.menews.crc = CalcCRC16WithTable((void *)&gSaveBlock1Ptr->mysteryEventBuffers.menews.data, sizeof(struct MEWonderNewsData)); return TRUE; @@ -534,14 +530,14 @@ bool32 ValidateReceivedWonderNews(void) { if (CalcCRC16WithTable((void *)&gSaveBlock1Ptr->mysteryEventBuffers.menews.data, sizeof(struct MEWonderNewsData)) != gSaveBlock1Ptr->mysteryEventBuffers.menews.crc) return FALSE; - if (!sub_8143E64(&gSaveBlock1Ptr->mysteryEventBuffers.menews.data)) + if (!IsReceivedWonderNewsHeaderValid(&gSaveBlock1Ptr->mysteryEventBuffers.menews.data)) return FALSE; return TRUE; } -bool32 sub_8143E64(const struct MEWonderNewsData * data) +static bool32 IsReceivedWonderNewsHeaderValid(const struct MEWonderNewsData * data) { - if (data->unk_00 == 0) + if (data->newsId == 0) return FALSE; return TRUE; } @@ -549,24 +545,24 @@ bool32 sub_8143E64(const struct MEWonderNewsData * data) bool32 WonderNews_Test_Unk_02(void) { const struct MEWonderNewsData * data = &gSaveBlock1Ptr->mysteryEventBuffers.menews.data; - if (data->unk_02 == 0) + if (data->shareState == 0) return FALSE; return TRUE; } -void sub_8143E9C(void) +static void BlankWonderNews(void) { CpuFill32(0, GetSavedWonderNews(), sizeof(gSaveBlock1Ptr->mysteryEventBuffers.menews.data)); gSaveBlock1Ptr->mysteryEventBuffers.menews.crc = 0; } -void sub_8143ED0(void) +static void BlankMENewsJisan(void) { CpuFill32(0, GetMENewsJisanStructPtr(), sizeof(struct MENewsJisanStruct)); MENewsJisanReset(); } -bool32 sub_8143EF4(const u8 * src) +bool32 MEvent_HaveAlreadyReceivedWonderNews(const u8 * src) { const u8 * r5 = (const u8 *)&gSaveBlock1Ptr->mysteryEventBuffers.menews.data; u32 i; @@ -584,22 +580,23 @@ void DestroyWonderCard(void) { BlankSavedWonderCard(); BlankMEventBuffer2(); - sub_8144790(); + BlankBuffer344(); ClearRamScript(); - sub_806E2D0(); - sub_806E370(); + ResetMysteryEventFlags(); + ResetMysteryEventVars(); ClearEReaderTrainer(&gSaveBlock2Ptr->battleTower.ereaderTrainer); } -bool32 sub_8143F68(const struct MEWonderCardData * data) +bool32 OverwriteSavedWonderCardWithReceivedCard(const struct MEWonderCardData * data) { struct MEventBuffer_3430_Sub * r2; struct MEWonderCardData * r1; - if (!sub_8144018(data)) + if (!IsReceivedWonderCardHeaderValid(data)) return FALSE; DestroyWonderCard(); memcpy(&gSaveBlock1Ptr->mysteryEventBuffers.mecard.data, data, sizeof(struct MEWonderCardData)); gSaveBlock1Ptr->mysteryEventBuffers.mecard.crc = CalcCRC16WithTable((void *)&gSaveBlock1Ptr->mysteryEventBuffers.mecard.data, sizeof(struct MEWonderCardData)); + // Annoying hack to match r2 = &gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.data; r1 = &gSaveBlock1Ptr->mysteryEventBuffers.mecard.data; r2->unk_06 = r1->unk_02; @@ -610,24 +607,24 @@ bool32 ValidateReceivedWonderCard(void) { if (gSaveBlock1Ptr->mysteryEventBuffers.mecard.crc != CalcCRC16WithTable((void *)&gSaveBlock1Ptr->mysteryEventBuffers.mecard.data, sizeof(struct MEWonderCardData))) return FALSE; - if (!sub_8144018(&gSaveBlock1Ptr->mysteryEventBuffers.mecard.data)) + if (!IsReceivedWonderCardHeaderValid(&gSaveBlock1Ptr->mysteryEventBuffers.mecard.data)) return FALSE; - if (!sub_8069DFC()) + if (!ValidateRamScript()) return FALSE; return TRUE; } -bool32 sub_8144018(const struct MEWonderCardData * data) +static bool32 IsReceivedWonderCardHeaderValid(const struct MEWonderCardData * data) { - if (data->unk_00 == 0) + if (data->cardId == 0) return FALSE; if (data->unk_08_0 > 2) return FALSE; - if (!(data->unk_08_6 == 0 || data->unk_08_6 == 1 || data->unk_08_6 == 2)) + if (!(data->shareState == 0 || data->shareState == 1 || data->shareState == 2)) return FALSE; if (data->unk_08_2 > 7) return FALSE; - if (data->unk_09 > 7) + if (data->recvMonCapacity > 7) return FALSE; return TRUE; } @@ -635,18 +632,18 @@ bool32 sub_8144018(const struct MEWonderCardData * data) bool32 WonderCard_Test_Unk_08_6(void) { const struct MEWonderCardData * data = &gSaveBlock1Ptr->mysteryEventBuffers.mecard.data; - if (data->unk_08_6 == 0) + if (data->shareState == 0) return FALSE; return TRUE; } -void BlankSavedWonderCard(void) +static void BlankSavedWonderCard(void) { CpuFill32(0, &gSaveBlock1Ptr->mysteryEventBuffers.mecard.data, sizeof(struct MEWonderCardData)); gSaveBlock1Ptr->mysteryEventBuffers.mecard.crc = 0; } -void BlankMEventBuffer2(void) +static void BlankMEventBuffer2(void) { CpuFill32(0, sav1_get_mevent_buffer_2(), 18 * sizeof(u16)); gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.crc = 0; @@ -655,17 +652,17 @@ void BlankMEventBuffer2(void) u16 GetWonderCardFlagId(void) { if (ValidateReceivedWonderCard()) - return gSaveBlock1Ptr->mysteryEventBuffers.mecard.data.unk_00; + return gSaveBlock1Ptr->mysteryEventBuffers.mecard.data.cardId; return 0; } -void sub_814410C(struct MEWonderCardData * buffer) +void MEvent_WonderCardResetUnk08_6(struct MEWonderCardData * buffer) { - if (buffer->unk_08_6 == 1) - buffer->unk_08_6 = 0; + if (buffer->shareState == 1) + buffer->shareState = 0; } -bool32 sub_8144124(u16 a0) +static bool32 IsCardIdInValidRange(u16 a0) { if (a0 >= 1000 && a0 < 1020) return TRUE; @@ -675,33 +672,33 @@ bool32 sub_8144124(u16 a0) bool32 CheckReceivedGiftFromWonderCard(void) { u16 value = GetWonderCardFlagId(); - if (!sub_8144124(value)) + if (!IsCardIdInValidRange(value)) return FALSE; - if (FlagGet(gUnknown_8466F00[value - 1000]) == TRUE) + if (FlagGet(sGiftItemFlagIds[value - 1000]) == TRUE) return FALSE; return TRUE; } -s32 sub_8144184(const struct MEventBuffer_3430_Sub * data, s32 size) +static s32 CountReceivedDistributionMons(const struct MEventBuffer_3430_Sub * data, s32 size) { s32 r3 = 0; s32 i; for (i = 0; i < size; i++) { - if (data->unk_08[1][i] && data->unk_08[0][i]) + if (data->distributedMons[1][i] && data->distributedMons[0][i]) r3++; } return r3; } -bool32 sub_81441AC(const struct MEventBuffer_3430_Sub * data1, const u16 * data2, s32 size) +static bool32 HasPlayerAlreadyReceivedDistributedMon(const struct MEventBuffer_3430_Sub * data1, const u16 * data2, s32 size) { s32 i; for (i = 0; i < size; i++) { - if (data1->unk_08[1][i] == data2[1]) + if (data1->distributedMons[1][i] == data2[1]) return TRUE; - if (data1->unk_08[0][i] == data2[0]) + if (data1->distributedMons[0][i] == data2[0]) return TRUE; } return FALSE; @@ -718,7 +715,7 @@ static bool32 IsWonderCardSpeciesValid(const u16 * data) return TRUE; } -s32 sub_8144218(void) +static s32 ValidateCardAndCountMonsReceived(void) { struct MEWonderCardData * data; if (!ValidateReceivedWonderCard()) @@ -726,24 +723,24 @@ s32 sub_8144218(void) data = &gSaveBlock1Ptr->mysteryEventBuffers.mecard.data; if (data->unk_08_0 != 1) return 0; - return sub_8144184(&gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.data, data->unk_09); + return CountReceivedDistributionMons(&gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.data, data->recvMonCapacity); } -bool32 sub_8144254(const u16 * data) +bool32 MEvent_ReceiveDistributionMon(const u16 * data) { struct MEWonderCardData * buffer = &gSaveBlock1Ptr->mysteryEventBuffers.mecard.data; - s32 size = buffer->unk_09; + s32 capacity = buffer->recvMonCapacity; s32 i; if (!IsWonderCardSpeciesValid(data)) return FALSE; - if (sub_81441AC(&gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.data, data, size)) + if (HasPlayerAlreadyReceivedDistributedMon(&gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.data, data, capacity)) return FALSE; - for (i = 0; i < size; i++) + for (i = 0; i < capacity; i++) { - if (gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.data.unk_08[1][i] == 0 && gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.data.unk_08[0][i] == 0) + if (gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.data.distributedMons[1][i] == 0 && gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.data.distributedMons[0][i] == 0) { - gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.data.unk_08[1][i] = data[1]; - gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.data.unk_08[0][i] = data[0]; + gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.data.distributedMons[1][i] = data[1]; + gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.data.distributedMons[0][i] = data[0]; return TRUE; } } @@ -771,9 +768,9 @@ void BuildMEventClientHeader(struct MEventClientHeaderStruct * data) if (ValidateReceivedWonderCard()) { // Populate fields - data->id = GetSavedWonderCard()->unk_00; + data->id = GetSavedWonderCard()->cardId; data->unk_20 = *sav1_get_mevent_buffer_2(); - data->unk_44 = GetSavedWonderCard()->unk_09; + data->maxDistributionMons = GetSavedWonderCard()->recvMonCapacity; } else data->id = 0; @@ -815,14 +812,14 @@ u32 sub_8144418(const u16 * a0, const struct MEventClientHeaderStruct * a1, void return 2; } -u32 sub_8144434(const u16 * a0, const struct MEventClientHeaderStruct * a1, void * unused) +u32 MEvent_CanPlayerReceiveDistributionMon(const u16 * a0, const struct MEventClientHeaderStruct * a1, void * unused) { - s32 r4 = a1->unk_44 - sub_8144184(&a1->unk_20, a1->unk_44); - if (r4 == 0) + s32 numSpaces = a1->maxDistributionMons - CountReceivedDistributionMons(&a1->unk_20, a1->maxDistributionMons); + if (numSpaces == 0) return 1; - if (sub_81441AC(&a1->unk_20, a0, a1->unk_44)) + if (HasPlayerAlreadyReceivedDistributedMon(&a1->unk_20, a0, a1->maxDistributionMons)) return 3; - if (r4 == 1) + if (numSpaces == 1) return 4; return 2; } @@ -838,9 +835,9 @@ bool32 sub_8144474(const struct MEventClientHeaderStruct * a0, const u16 * a1) return TRUE; } -s32 sub_814449C(const struct MEventClientHeaderStruct * a0) +static s32 GetNumReceivedDistributionMons(const struct MEventClientHeaderStruct * a0) { - return sub_8144184(&a0->unk_20, a0->unk_44); + return CountReceivedDistributionMons(&a0->unk_20, a0->maxDistributionMons); } u16 sub_81444B0(const struct MEventClientHeaderStruct * a0, u32 command) @@ -848,22 +845,23 @@ u16 sub_81444B0(const struct MEventClientHeaderStruct * a0, u32 command) switch (command) { case 0: - return a0->unk_20.unk_00; + return a0->unk_20.linkWins; case 1: - return a0->unk_20.unk_02; + return a0->unk_20.linkLosses; case 2: - return a0->unk_20.unk_04; + return a0->unk_20.linkTrades; case 3: - return sub_814449C(a0); + return GetNumReceivedDistributionMons(a0); case 4: - return a0->unk_44; + return a0->maxDistributionMons; default: AGB_ASSERT_EX(0, ABSPATH("mevent.c"), 825); return 0; } } -void sub_814451C(u32 command) +// Increments an interaction count in the save block +static void IncrementBattleCardCount(u32 command) { struct MEWonderCardData * data = &gSaveBlock1Ptr->mysteryEventBuffers.mecard.data; if (data->unk_08_0 == 2) @@ -872,13 +870,13 @@ void sub_814451C(u32 command) switch (command) { case 0: - dest = &gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.data.unk_00; + dest = &gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.data.linkWins; break; case 1: - dest = &gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.data.unk_02; + dest = &gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.data.linkLosses; break; case 2: - dest = &gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.data.unk_04; + dest = &gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.data.linkTrades; break; case 3: break; @@ -896,7 +894,7 @@ void sub_814451C(u32 command) } } -u16 sub_81445C0(u32 command) +u16 MEvent_GetBattleCardCount(u32 command) { switch (command) { @@ -906,7 +904,7 @@ u16 sub_81445C0(u32 command) if (data->unk_08_0 == 2) { struct MEventBuffer_3430_Sub * buffer = &gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.data; - return buffer->unk_00; + return buffer->linkWins; } break; } @@ -916,7 +914,7 @@ u16 sub_81445C0(u32 command) if (data->unk_08_0 == 2) { struct MEventBuffer_3430_Sub * buffer = &gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.data; - return buffer->unk_02; + return buffer->linkLosses; } break; } @@ -926,7 +924,7 @@ u16 sub_81445C0(u32 command) if (data->unk_08_0 == 2) { struct MEventBuffer_3430_Sub * buffer = &gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.data; - return buffer->unk_04; + return buffer->linkTrades; } break; } @@ -934,14 +932,14 @@ u16 sub_81445C0(u32 command) { struct MEWonderCardData * data = &gSaveBlock1Ptr->mysteryEventBuffers.mecard.data; if (data->unk_08_0 == 1) - return sub_8144218(); + return ValidateCardAndCountMonsReceived(); break; } case 4: { struct MEWonderCardData * data = &gSaveBlock1Ptr->mysteryEventBuffers.mecard.data; if (data->unk_08_0 == 1) - return data->unk_09; + return data->recvMonCapacity; break; } } @@ -949,38 +947,38 @@ u16 sub_81445C0(u32 command) return 0; } -void sub_81446C4(void) +void ResetReceivedWonderCardFlag(void) { - gUnknown_203F3BC = FALSE; + sReceivedWonderCardIsValid = FALSE; } -bool32 sub_81446D0(u16 a0) +bool32 MEventHandleReceivedWonderCard(u16 cardId) { - gUnknown_203F3BC = FALSE; - if (a0 == 0) + sReceivedWonderCardIsValid = FALSE; + if (cardId == 0) return FALSE; if (!ValidateReceivedWonderCard()) return FALSE; - if (gSaveBlock1Ptr->mysteryEventBuffers.mecard.data.unk_00 != a0) + if (gSaveBlock1Ptr->mysteryEventBuffers.mecard.data.cardId != cardId) return FALSE; - gUnknown_203F3BC = TRUE; + sReceivedWonderCardIsValid = TRUE; return TRUE; } -void sub_8144714(u32 a0, u32 a1) +void MEvent_RecordIdOfWonderCardSenderByEventType(u32 eventId, u32 trainerId) { - if (gUnknown_203F3BC) + if (sReceivedWonderCardIsValid) { - switch (a0) + switch (eventId) { - case 2: - sub_8144824(2, a1, gSaveBlock1Ptr->mysteryEventBuffers.unk_344[1], 5); + case 2: // trade + RecordIdOfWonderCardSender(2, trainerId, gSaveBlock1Ptr->mysteryEventBuffers.unk_344[1], 5); break; - case 0: - sub_8144824(0, a1, gSaveBlock1Ptr->mysteryEventBuffers.unk_344[0], 5); + case 0: // link win + RecordIdOfWonderCardSender(0, trainerId, gSaveBlock1Ptr->mysteryEventBuffers.unk_344[0], 5); break; - case 1: - sub_8144824(1, a1, gSaveBlock1Ptr->mysteryEventBuffers.unk_344[0], 5); + case 1: // link loss + RecordIdOfWonderCardSender(1, trainerId, gSaveBlock1Ptr->mysteryEventBuffers.unk_344[0], 5); break; default: AGB_ASSERT_EX(0, ABSPATH("mevent.c"), 988); @@ -988,43 +986,48 @@ void sub_8144714(u32 a0, u32 a1) } } -void sub_8144790(void) +static void BlankBuffer344(void) { CpuFill32(0, gSaveBlock1Ptr->mysteryEventBuffers.unk_344, sizeof(gSaveBlock1Ptr->mysteryEventBuffers.unk_344)); } -bool32 sub_81447BC(u32 a0, u32 * a1, s32 size) +// Looks up trainerId in an array idsList with count elements. +// If trainerId is found, rearranges idsList to put it in the front. +// Otherwise, drops the last element of the list and inserts +// trainerId at the front. +// Returns TRUE in the latter case. +static bool32 PlaceTrainerIdAtFrontOfList(u32 trainerId, u32 * idsList, s32 count) { s32 i; s32 j; - for (i = 0; i < size; i++) + for (i = 0; i < count; i++) { - if (a1[i] == a0) + if (idsList[i] == trainerId) break; } - if (i == size) + if (i == count) { - for (j = size - 1; j > 0; j--) + for (j = count - 1; j > 0; j--) { - a1[j] = a1[j - 1]; + idsList[j] = idsList[j - 1]; } - a1[0] = a0; + idsList[0] = trainerId; return TRUE; } else { for (j = i; j > 0; j--) { - a1[j] = a1[j - 1]; + idsList[j] = idsList[j - 1]; } - a1[0] = a0; + idsList[0] = trainerId; return FALSE; } } -void sub_8144824(u32 a0, u32 a1, u32 * a2, s32 a3) +static void RecordIdOfWonderCardSender(u32 eventId, u32 trainerId, u32 * idsList, s32 count) { - if (sub_81447BC(a1, a2, a3)) - sub_814451C(a0); + if (PlaceTrainerIdAtFrontOfList(trainerId, idsList, count)) + IncrementBattleCardCount(eventId); } diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c deleted file mode 100644 index 3de09ab44..000000000 --- a/src/mevent_8145654.c +++ /dev/null @@ -1,793 +0,0 @@ -#include "global.h" -#include "constants/species.h" -#include "bg.h" -#include "gpu_regs.h" -#include "palette.h" -#include "decompress.h" -#include "malloc.h" -#include "menu.h" -#include "new_menu_helpers.h" -#include "pokemon_icon.h" -#include "mystery_gift_menu.h" -#include "menu_indicators.h" -#include "string_util.h" -#include "link_rfu.h" -#include "mevent.h" -#include "battle_anim.h" - -struct UnkStruct_8467FB8 -{ - u8 textPal1:4; - u8 textPal2:4; - u8 textPal3:4; - u8 textPal4:4; - const u8 * tiles; - const u8 * map; - const u16 * pal; -}; - -struct UnkStruct_203F3C8_02DC -{ - u8 unk_00; - u8 unk_01[41]; - u8 unk_42[4]; -}; - -struct UnkStruct_203F3C8 -{ - /*0000*/ struct MEWonderCardData unk_0000; - /*014c*/ struct MEventBuffer_3430_Sub unk_014C; - /*0170*/ const struct UnkStruct_8467FB8 * unk_0170; - /*0174*/ u8 unk_0174; - /*0175*/ u8 unk_0175; - /*0176*/ u16 unk_0176[3]; - /*017C*/ u8 unk_017C; - /*017D*/ u8 unk_017D[7][2]; - /*018B*/ u8 unk_018B[41]; - /*01B4*/ u8 unk_01B4[41]; - /*01DD*/ u8 unk_01DD[7]; - /*01E4*/ u8 unk_01E4[4][41]; - /*0288*/ u8 unk_0288[41]; - /*02B1*/ u8 unk_02B1[41]; - /*02DC*/ struct UnkStruct_203F3C8_02DC unk_02DC[8]; - /*045C*/ u8 buffer_045C[0x1000]; -}; - -EWRAM_DATA struct UnkStruct_203F3C8 * gUnknown_203F3C8 = NULL; - -void sub_8145A98(void); -void sub_8145D18(u8 whichWindow); -void sub_8146060(void); -void sub_81461D8(void); - -const u8 gUnknown_8467068[][3] = { - {0, 2, 3}, - {0, 1, 2} -}; -const u8 ALIGNED(4) gUnknown_8467070[3] = {7, 4, 7}; -const struct WindowTemplate gUnknown_8467074[] = { - {0x01, 0x01, 0x01, 0x19, 0x04, 0x0f, 0x029c}, - {0x01, 0x01, 0x06, 0x1c, 0x08, 0x0f, 0x01bc}, - {0x01, 0x01, 0x0e, 0x1c, 0x05, 0x0f, 0x0130} -}; - -const u16 gUnknown_846708C[] = INCBIN_U16("data/graphics/mevent/pal_46708C.gbapal"); -const u16 gUnknown_84670AC[] = INCBIN_U16("data/graphics/mevent/pal_4670AC.gbapal"); -const u16 gUnknown_84670CC[] = INCBIN_U16("data/graphics/mevent/pal_4670CC.gbapal"); -const u16 gUnknown_84670EC[] = INCBIN_U16("data/graphics/mevent/pal_4670EC.gbapal"); -const u16 gUnknown_846710C[] = INCBIN_U16("data/graphics/mevent/pal_46710C.gbapal"); -const u16 gUnknown_846712C[] = INCBIN_U16("data/graphics/mevent/pal_46712C.gbapal"); -const u16 gUnknown_846714C[] = INCBIN_U16("data/graphics/mevent/pal_46714C.gbapal"); -const u16 gUnknown_846716C[] = INCBIN_U16("data/graphics/mevent/pal_46716C.gbapal"); -const u8 gUnknown_846718C[] = INCBIN_U8("data/graphics/mevent/gfx_46718C.4bpp.lz"); -const u8 gUnknown_8467288[] = INCBIN_U8("data/graphics/mevent/tilemap_467288.bin.lz"); -const u8 gUnknown_846737C[] = INCBIN_U8("data/graphics/mevent/gfx_46737C.4bpp.lz"); -const u8 gUnknown_8467470[] = INCBIN_U8("data/graphics/mevent/tilemap_467470.bin.lz"); -const u8 gUnknown_8467558[] = INCBIN_U8("data/graphics/mevent/gfx_467558.4bpp.lz"); -const u8 gUnknown_846762C[] = INCBIN_U8("data/graphics/mevent/tilemap_46762C.bin.lz"); -const u8 gUnknown_8467700[] = INCBIN_U8("data/graphics/mevent/gfx_467700.4bpp.lz"); -const u8 gUnknown_8467934[] = INCBIN_U8("data/graphics/mevent/tilemap_467934.bin.lz"); -const u8 gUnknown_8467A7C[] = INCBIN_U8("data/graphics/mevent/gfx_467A7C.4bpp.lz"); -const u8 gUnknown_8467CAC[] = INCBIN_U8("data/graphics/mevent/tilemap_467CAC.bin.lz"); -const u16 gUnknown_8467DF4[] = INCBIN_U16("data/graphics/mevent/pal_467DF4.gbapal"); -const u16 gUnknown_8467E14[] = INCBIN_U16("data/graphics/mevent/pal_467E14.gbapal"); -const u16 gUnknown_8467E34[] = INCBIN_U16("data/graphics/mevent/pal_467E34.gbapal"); -const u16 gUnknown_8467E54[] = INCBIN_U16("data/graphics/mevent/pal_467E54.gbapal"); -const u16 gUnknown_8467E74[] = INCBIN_U16("data/graphics/mevent/pal_467E74.gbapal"); -const u16 gUnknown_8467E94[] = INCBIN_U16("data/graphics/mevent/pal_467E94.gbapal"); -const u16 gUnknown_8467EB4[] = INCBIN_U16("data/graphics/mevent/pal_467EB4.gbapal"); -const u16 gUnknown_8467ED4[] = INCBIN_U16("data/graphics/mevent/pal_467ED4.gbapal"); -const u32 gUnknown_8467EF4[] = INCBIN_U32("data/graphics/mevent/gfx_467EF4.4bpp.lz"); - -const struct CompressedSpriteSheet gUnknown_8467F58 = { - gUnknown_8467EF4, 0x100, 0x8000 -}; -const struct SpritePalette gUnknown_8467F60[] = { - {gUnknown_8467DF4, 0x8000}, - {gUnknown_8467E14, 0x8000}, - {gUnknown_8467E34, 0x8000}, - {gUnknown_8467E54, 0x8000}, - {gUnknown_8467E74, 0x8000}, - {gUnknown_8467E94, 0x8000}, - {gUnknown_8467EB4, 0x8000}, - {gUnknown_8467ED4, 0x8000} -}; -const struct SpriteTemplate gUnknown_8467FA0 = { - 0x8000, 0x8000, &gOamData_AffineOff_ObjNormal_32x16, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy -}; -const struct UnkStruct_8467FB8 gUnknown_8467FB8[8] = { - {1, 0, 0, 0, gUnknown_846718C, gUnknown_8467288, gUnknown_846708C}, - {1, 0, 0, 1, gUnknown_846737C, gUnknown_8467470, gUnknown_84670AC}, - {1, 0, 0, 2, gUnknown_8467558, gUnknown_846762C, gUnknown_84670CC}, - {1, 0, 0, 3, gUnknown_8467558, gUnknown_846762C, gUnknown_84670EC}, - {1, 0, 0, 4, gUnknown_8467558, gUnknown_846762C, gUnknown_846710C}, - {1, 0, 0, 5, gUnknown_8467558, gUnknown_846762C, gUnknown_846712C}, - {1, 0, 0, 6, gUnknown_8467700, gUnknown_8467934, gUnknown_846714C}, - {1, 0, 0, 7, gUnknown_8467A7C, gUnknown_8467CAC, gUnknown_846716C} -}; - -bool32 InitWonderCardResources(struct MEWonderCardData * r5, struct MEventBuffer_3430_Sub * r6) -{ - if (r5 == NULL || r6 == NULL) - return FALSE; - gUnknown_203F3C8 = AllocZeroed(sizeof(struct UnkStruct_203F3C8)); - if (gUnknown_203F3C8 == NULL) - return FALSE; - gUnknown_203F3C8->unk_0000 = *r5; - gUnknown_203F3C8->unk_014C = *r6; - if (gUnknown_203F3C8->unk_0000.unk_08_2 >= NELEMS(gUnknown_8467FB8)) - gUnknown_203F3C8->unk_0000.unk_08_2 = 0; - if (gUnknown_203F3C8->unk_0000.unk_08_0 >= NELEMS(gUnknown_8467070)) - gUnknown_203F3C8->unk_0000.unk_08_0 = 0; - if (gUnknown_203F3C8->unk_0000.unk_09 > NELEMS(gUnknown_203F3C8->unk_017D)) - gUnknown_203F3C8->unk_0000.unk_09 = 0; - gUnknown_203F3C8->unk_0170 = &gUnknown_8467FB8[gUnknown_203F3C8->unk_0000.unk_08_2]; - return TRUE; -} - -void DestroyWonderCardResources(void) -{ - if (gUnknown_203F3C8 != NULL) - { - *gUnknown_203F3C8 = (struct UnkStruct_203F3C8){}; - Free(gUnknown_203F3C8); - gUnknown_203F3C8 = NULL; - } -} - -s32 FadeToWonderCardMenu(void) -{ - if (gUnknown_203F3C8 == NULL) - return -1; - switch(gUnknown_203F3C8->unk_0174) - { - case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - break; - case 1: - if (UpdatePaletteFade()) - return 0; - break; - case 2: - FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20); - CopyBgTilemapBufferToVram(0); - CopyBgTilemapBufferToVram(1); - CopyBgTilemapBufferToVram(2); - DecompressAndCopyTileDataToVram(2, gUnknown_203F3C8->unk_0170->tiles, 0, 0x008, 0); - gUnknown_203F3C8->unk_0176[0] = AddWindow(&gUnknown_8467074[0]); - gUnknown_203F3C8->unk_0176[1] = AddWindow(&gUnknown_8467074[1]); - gUnknown_203F3C8->unk_0176[2] = AddWindow(&gUnknown_8467074[2]); - break; - case 3: - if (FreeTempTileDataBuffersIfPossible()) - return 0; - gPaletteFade.bufferTransferDisabled = TRUE; - LoadPalette(gUnknown_203F3C8->unk_0170->pal, 0x10, 0x20); - LZ77UnCompWram(gUnknown_203F3C8->unk_0170->map, gUnknown_203F3C8->buffer_045C); - CopyRectToBgTilemapBufferRect(2, gUnknown_203F3C8->buffer_045C, 0, 0, 30, 20, 0, 0, 30, 20, 1, 0x008, 0); - CopyBgTilemapBufferToVram(2); - break; - case 4: - sub_8145A98(); - break; - case 5: - sub_8145D18(0); - sub_8145D18(1); - sub_8145D18(2); - CopyBgTilemapBufferToVram(1); - break; - case 6: - LoadMonIconPalettes(); - break; - case 7: - ShowBg(1); - ShowBg(2); - gPaletteFade.bufferTransferDisabled = FALSE; - sub_8146060(); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); - UpdatePaletteFade(); - break; - default: - if (UpdatePaletteFade()) - return 0; - gUnknown_203F3C8->unk_0174 = 0; - return 1; - } - ++gUnknown_203F3C8->unk_0174; - return 0; -} - -s32 FadeOutFromWonderCard(bool32 flag) -{ - if (gUnknown_203F3C8 == NULL) - return -1; - switch (gUnknown_203F3C8->unk_0174) - { - case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - break; - case 1: - if (UpdatePaletteFade()) - return 0; - break; - case 2: - FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20); - CopyBgTilemapBufferToVram(0); - CopyBgTilemapBufferToVram(1); - CopyBgTilemapBufferToVram(2); - break; - case 3: - HideBg(1); - HideBg(2); - RemoveWindow(gUnknown_203F3C8->unk_0176[2]); - RemoveWindow(gUnknown_203F3C8->unk_0176[1]); - RemoveWindow(gUnknown_203F3C8->unk_0176[0]); - break; - case 4: - sub_81461D8(); - FreeMonIconPalettes(); - break; - case 5: - PrintMysteryGiftOrEReaderTopMenu(gGiftIsFromEReader, flag); - break; - case 6: - CopyBgTilemapBufferToVram(0); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); - break; - default: - if (UpdatePaletteFade()) - return 0; - gUnknown_203F3C8->unk_0174 = 0; - return 1; - } - ++gUnknown_203F3C8->unk_0174; - return 0; -} - -void sub_8145A98(void) -{ - u16 i = 0; - u16 r6; - u16 sp0[3] = {0, 0, 0}; - - memcpy(gUnknown_203F3C8->unk_018B, gUnknown_203F3C8->unk_0000.unk_0A, 40); - gUnknown_203F3C8->unk_018B[40] = EOS; - memcpy(gUnknown_203F3C8->unk_01B4, gUnknown_203F3C8->unk_0000.unk_32, 40); - gUnknown_203F3C8->unk_01B4[40] = EOS; - if (gUnknown_203F3C8->unk_0000.unk_04 > 999999) - gUnknown_203F3C8->unk_0000.unk_04 = 999999; - ConvertIntToDecimalStringN(gUnknown_203F3C8->unk_01DD, gUnknown_203F3C8->unk_0000.unk_04, STR_CONV_MODE_LEFT_ALIGN, 6); - for (i = 0; i < 4; i++) - { - memcpy(gUnknown_203F3C8->unk_01E4[i], gUnknown_203F3C8->unk_0000.unk_5A[i], 40); - gUnknown_203F3C8->unk_01E4[i][40] = EOS; - } - memcpy(gUnknown_203F3C8->unk_0288, gUnknown_203F3C8->unk_0000.unk_FA, 40); - gUnknown_203F3C8->unk_0288[40] = EOS; - switch (gUnknown_203F3C8->unk_0000.unk_08_0) - { - case 0: - memcpy(gUnknown_203F3C8->unk_02B1, gUnknown_203F3C8->unk_0000.unk_122, 40); - gUnknown_203F3C8->unk_02B1[40] = EOS; - break; - case 1: - gUnknown_203F3C8->unk_02B1[00] = EOS; - break; - case 2: - gUnknown_203F3C8->unk_02B1[00] = EOS; - sp0[0] = gUnknown_203F3C8->unk_014C.unk_00 < 999 ? gUnknown_203F3C8->unk_014C.unk_00 : 999; - sp0[1] = gUnknown_203F3C8->unk_014C.unk_02 < 999 ? gUnknown_203F3C8->unk_014C.unk_02 : 999; - sp0[2] = gUnknown_203F3C8->unk_014C.unk_04 < 999 ? gUnknown_203F3C8->unk_014C.unk_04 : 999; - for (i = 0; i < 8; i++) - { - memset(gUnknown_203F3C8->unk_02DC[i].unk_42, EOS, 4); - memset(gUnknown_203F3C8->unk_02DC[i].unk_01, EOS, 41); - } - for (i = 0, r6 = 0; i < 40; i++) - { - if (gUnknown_203F3C8->unk_0000.unk_122[i] != 0xF7) - { - gUnknown_203F3C8->unk_02DC[gUnknown_203F3C8->unk_0175].unk_01[r6] = gUnknown_203F3C8->unk_0000.unk_122[i]; - r6++; - } - else - { - u8 r3 = gUnknown_203F3C8->unk_0000.unk_122[i + 1]; - if (r3 > 2) - { - i += 2; - } - else - { - ConvertIntToDecimalStringN(gUnknown_203F3C8->unk_02DC[gUnknown_203F3C8->unk_0175].unk_42, sp0[r3], STR_CONV_MODE_LEADING_ZEROS, 3); - gUnknown_203F3C8->unk_02DC[gUnknown_203F3C8->unk_0175].unk_00 = gUnknown_203F3C8->unk_0000.unk_122[i + 2]; - gUnknown_203F3C8->unk_0175++; - if (gUnknown_203F3C8->unk_0175 > 7) - break; - r6 = 0; - i += 2; - } - } - } - } -} - -void sub_8145D18(u8 whichWindow) -{ - s8 sp0C = 0; - s32 windowId = gUnknown_203F3C8->unk_0176[whichWindow]; - PutWindowTilemap(windowId); - FillWindowPixelBuffer(windowId, 0); - switch (whichWindow) - { - case 0: - { - s32 x; - AddTextPrinterParameterized3(windowId, 3, 0, 1, gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal1], 0, gUnknown_203F3C8->unk_018B); - x = 160 - GetStringWidth(3, gUnknown_203F3C8->unk_01B4, GetFontAttribute(3, 2)); - if (x < 0) - x = 0; - AddTextPrinterParameterized3(windowId, 3, x, 17, gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal1], 0, gUnknown_203F3C8->unk_01B4); - if (gUnknown_203F3C8->unk_0000.unk_04 != 0) - { - AddTextPrinterParameterized3(windowId, 2, 166, 17, gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal1], 0, gUnknown_203F3C8->unk_01DD); - } - break; - } - case 1: - for (; sp0C < 4; sp0C++) - { - AddTextPrinterParameterized3(windowId, 3, 0, 16 * sp0C + 2, gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal2], 0, gUnknown_203F3C8->unk_01E4[sp0C]); - } - break; - case 2: - AddTextPrinterParameterized3(windowId, 3, 0, gUnknown_8467070[gUnknown_203F3C8->unk_0000.unk_08_0], gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal3], 0, gUnknown_203F3C8->unk_0288); - if (gUnknown_203F3C8->unk_0000.unk_08_0 != 2) - { - AddTextPrinterParameterized3(windowId, 3, 0, 16 + gUnknown_8467070[gUnknown_203F3C8->unk_0000.unk_08_0], gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal3], 0, gUnknown_203F3C8->unk_02B1); - } - else - { - s32 x = 0; - s32 y = gUnknown_8467070[gUnknown_203F3C8->unk_0000.unk_08_0] + 16; - s32 spacing = GetFontAttribute(3, 2); - for (; sp0C < gUnknown_203F3C8->unk_0175; sp0C++) - { - AddTextPrinterParameterized3(windowId, 3, x, y, gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal3], 0, gUnknown_203F3C8->unk_02DC[sp0C].unk_01); - if (gUnknown_203F3C8->unk_02DC[sp0C].unk_42[0] != EOS) - { - x += GetStringWidth(3, gUnknown_203F3C8->unk_02DC[sp0C].unk_01, spacing); - AddTextPrinterParameterized3(windowId, 2, x, y, gUnknown_8467068[gUnknown_203F3C8->unk_0170->textPal3], 0, gUnknown_203F3C8->unk_02DC[sp0C].unk_42); - x += GetStringWidth(3, gUnknown_203F3C8->unk_02DC[sp0C].unk_42, spacing) + gUnknown_203F3C8->unk_02DC[sp0C].unk_00; - } - } - } - break; - } - CopyWindowToVram(windowId, 3); -} - -void sub_8146060(void) -{ - u8 r7 = 0; - gUnknown_203F3C8->unk_017C = 0xFF; - if (gUnknown_203F3C8->unk_014C.unk_06 != SPECIES_NONE) - { - gUnknown_203F3C8->unk_017C = CreateMonIcon_HandleDeoxys(MailSpeciesToIconSpecies(gUnknown_203F3C8->unk_014C.unk_06), SpriteCallbackDummy, 0xDC, 0x14, 0, FALSE); - gSprites[gUnknown_203F3C8->unk_017C].oam.priority = 2; - } - if (gUnknown_203F3C8->unk_0000.unk_09 != 0 && gUnknown_203F3C8->unk_0000.unk_08_0 == 1) - { - LoadCompressedSpriteSheetUsingHeap(&gUnknown_8467F58); - LoadSpritePalette(&gUnknown_8467F60[gUnknown_203F3C8->unk_0170->textPal4]); - for (; r7 < gUnknown_203F3C8->unk_0000.unk_09; r7++) - { - gUnknown_203F3C8->unk_017D[r7][0] = 0xFF; - gUnknown_203F3C8->unk_017D[r7][1] = 0xFF; - gUnknown_203F3C8->unk_017D[r7][0] = CreateSprite(&gUnknown_8467FA0, 0xd8 - 32 * r7, 0x90, 8); - if (gUnknown_203F3C8->unk_014C.unk_08[0][r7] != 0) - { - gUnknown_203F3C8->unk_017D[r7][1] = CreateMonIcon_HandleDeoxys(MailSpeciesToIconSpecies(gUnknown_203F3C8->unk_014C.unk_08[0][r7]), SpriteCallbackDummy, 0xd8 - 32 * r7, 0x88, 0, 0); - gSprites[gUnknown_203F3C8->unk_017D[r7][1]].oam.priority = 2; - } - } - } -} - -void sub_81461D8(void) -{ - u8 r6 = 0; - if (gUnknown_203F3C8->unk_017C != 0xFF) - DestroyMonIcon(&gSprites[gUnknown_203F3C8->unk_017C]); - if (gUnknown_203F3C8->unk_0000.unk_09 != 0 && gUnknown_203F3C8->unk_0000.unk_08_0 == 1) - { - for (; r6 < gUnknown_203F3C8->unk_0000.unk_09; r6++) - { - if (gUnknown_203F3C8->unk_017D[r6][0] != 0xFF) - { - DestroySprite(&gSprites[gUnknown_203F3C8->unk_017D[r6][0]]); - // This might be a typo. Uncomment the next line, and comment the one that follows, to get the presumed intended behavior. - // if (gUnknown_203F3C8->unk_017D[r6][1] != 0xFF) - if (gUnknown_203F3C8->unk_017D[r6][0] != 0xFF) - { - DestroyMonIcon(&gSprites[gUnknown_203F3C8->unk_017D[r6][1]]); - } - } - } - FreeSpriteTilesByTag(0x8000); - FreeSpritePaletteByTag(0x8000); - } -} - -struct UnkStruct_203F3CC -{ - /*0000*/ struct MEWonderNewsData unk_0000; - /*01bc*/ const struct UnkStruct_8467FB8 * unk_01BC; - /*01c0*/ u8 unk_01C0_0:1; - u8 unk_01C0_1:7; - /*01c1*/ u8 unk_01C1; - /*01c2*/ u8 unk_01C2_0:1; - u8 unk_01C2_1:7; - /*01c3*/ u8 unk_01C3_0:1; - u8 unk_01C3_1:7; - /*01c4*/ u16 unk_01C4; - /*01c6*/ u16 unk_01C6; - /*01c8*/ u16 unk_01C8[2]; - /*01cc*/ u8 filler_01CC[2]; - /*01ce*/ u8 unk_01CE[41]; - /*01f7*/ u8 unk_01F7[10][41]; - /*0394*/ struct ScrollArrowsTemplate unk_0394; - /*03a4*/ u8 buffer_03A4[0x1000]; -}; - -EWRAM_DATA struct UnkStruct_203F3CC * gUnknown_203F3CC = NULL; - -void sub_8146980(void); -void sub_8146A30(void); -void sub_8146B58(void); - -const u8 gUnknown_8468038[][3] = { - {0, 2, 3}, - {0, 1, 2} -}; -const struct WindowTemplate gUnknown_8468040[] = { - {0, 1, 0, 28, 3, 15, 0x000}, - {2, 1, 3, 28, 20, 15, 0x000} -}; -const struct ScrollArrowsTemplate gUnknown_8468050 = { - 0x02, 0xe8, 0x18, 0x03, 0xe8, 0x98, - 0x0000, 0x0002, 0x1000, 0x1000, 0x0, -}; - -const u16 gUnknown_8468060[] = INCBIN_U16("data/graphics/mevent/pal_468060.gbapal"); -const u16 gUnknown_8468080[] = INCBIN_U16("data/graphics/mevent/pal_468080.gbapal"); -const u16 gUnknown_84680A0[] = INCBIN_U16("data/graphics/mevent/pal_4680A0.gbapal"); -const u8 gUnknown_84680C0[] = INCBIN_U8("data/graphics/mevent/gfx_4680C0.4bpp.lz"); -const u8 gUnknown_8468140[] = INCBIN_U8("data/graphics/mevent/tilemap_468140.bin.lz"); -const u8 gUnknown_846821C[] = INCBIN_U8("data/graphics/mevent/gfx_46821C.4bpp.lz"); -const u8 gUnknown_846824C[] = INCBIN_U8("data/graphics/mevent/tilemap_46824C.bin.lz"); -const u8 gUnknown_846830C[] = INCBIN_U8("data/graphics/mevent/gfx_46830C.4bpp.lz"); -const u8 gUnknown_846837C[] = INCBIN_U8("data/graphics/mevent/tilemap_46837C.bin.lz"); -const u8 gUnknown_8468448[] = INCBIN_U8("data/graphics/mevent/gfx_468448.4bpp.lz"); -const u8 gUnknown_84684D8[] = INCBIN_U8("data/graphics/mevent/tilemap_4684D8.bin.lz"); -const u8 gUnknown_84685B4[] = INCBIN_U8("data/graphics/mevent/gfx_4685B4.4bpp.lz"); -const u8 gUnknown_8468644[] = INCBIN_U8("data/graphics/mevent/tilemap_468644.bin.lz"); - -const struct UnkStruct_8467FB8 gUnknown_8468720[] = { - {1, 0, 0, 0, gUnknown_84680C0, gUnknown_8468140, gUnknown_8468060}, - {1, 0, 0, 0, gUnknown_846821C, gUnknown_846824C, gUnknown_84670AC}, - {1, 0, 0, 0, gUnknown_846830C, gUnknown_846837C, gUnknown_84670CC}, - {1, 0, 0, 0, gUnknown_846830C, gUnknown_846837C, gUnknown_84670EC}, - {1, 0, 0, 0, gUnknown_846830C, gUnknown_846837C, gUnknown_846710C}, - {1, 0, 0, 0, gUnknown_846830C, gUnknown_846837C, gUnknown_846712C}, - {1, 0, 0, 0, gUnknown_8468448, gUnknown_84684D8, gUnknown_8468080}, - {1, 0, 0, 0, gUnknown_84685B4, gUnknown_8468644, gUnknown_84680A0} -}; - -bool32 InitWonderNewsResources(const struct MEWonderNewsData * a0) -{ - if (a0 == NULL) - return FALSE; - gUnknown_203F3CC = AllocZeroed(sizeof(struct UnkStruct_203F3CC)); - if (gUnknown_203F3CC == NULL) - return FALSE; - gUnknown_203F3CC->unk_0000 = *a0; - if (gUnknown_203F3CC->unk_0000.unk_03 >= NELEMS(gUnknown_8468720)) - gUnknown_203F3CC->unk_0000.unk_03 = 0; - gUnknown_203F3CC->unk_01BC = &gUnknown_8468720[gUnknown_203F3CC->unk_0000.unk_03]; - gUnknown_203F3CC->unk_01C1 = 0xFF; - return TRUE; -} - -void DestroyWonderNewsResources(void) -{ - if (gUnknown_203F3CC != NULL) - { - *gUnknown_203F3CC = (struct UnkStruct_203F3CC){}; - Free(gUnknown_203F3CC); - gUnknown_203F3CC = NULL; - } -} - -s32 FadeToWonderNewsMenu(void) -{ - if (gUnknown_203F3CC == NULL) - return -1; - - switch (gUnknown_203F3CC->unk_01C0_1) - { - case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - break; - case 1: - if (UpdatePaletteFade()) - return 0; - ChangeBgY(0, 0, 0); - ChangeBgY(1, 0, 0); - ChangeBgY(2, 0, 0); - ChangeBgY(3, 0, 0); - SetGpuReg(REG_OFFSET_WIN0H, 0xF0); - SetGpuReg(REG_OFFSET_WIN0V, 0x1A98); - SetGpuReg(REG_OFFSET_WININ, 0x1F); - SetGpuReg(REG_OFFSET_WINOUT, 0x1B); - SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); - break; - case 2: - FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(3, 0x000, 0, 0, 30, 20); - CopyBgTilemapBufferToVram(0); - CopyBgTilemapBufferToVram(1); - CopyBgTilemapBufferToVram(2); - CopyBgTilemapBufferToVram(3); - DecompressAndCopyTileDataToVram(3, gUnknown_203F3CC->unk_01BC->tiles, 0, 8, 0); - gUnknown_203F3CC->unk_01C8[0] = AddWindow(&gUnknown_8468040[0]); - gUnknown_203F3CC->unk_01C8[1] = AddWindow(&gUnknown_8468040[1]); - break; - case 3: - if (FreeTempTileDataBuffersIfPossible()) - return 0; - gPaletteFade.bufferTransferDisabled = TRUE; - LoadPalette(gUnknown_203F3CC->unk_01BC->pal, 0x10, 0x20); - LZ77UnCompWram(gUnknown_203F3CC->unk_01BC->map, gUnknown_203F3CC->buffer_03A4); - CopyRectToBgTilemapBufferRect(1, gUnknown_203F3CC->buffer_03A4, 0, 0, 30, 3, 0, 0, 30, 3, 1, 8, 0); - CopyRectToBgTilemapBufferRect(3, gUnknown_203F3CC->buffer_03A4, 0, 3, 30, 23, 0, 3, 30, 23, 1, 8, 0); - CopyBgTilemapBufferToVram(1); - CopyBgTilemapBufferToVram(3); - break; - case 4: - sub_8146980(); - break; - case 5: - sub_8146A30(); - CopyBgTilemapBufferToVram(0); - CopyBgTilemapBufferToVram(2); - break; - case 6: - ShowBg(1); - ShowBg(2); - ShowBg(3); - gPaletteFade.bufferTransferDisabled = FALSE; - gUnknown_203F3CC->unk_01C1 = AddScrollIndicatorArrowPair(&gUnknown_203F3CC->unk_0394, &gUnknown_203F3CC->unk_01C6); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); - UpdatePaletteFade(); - break; - default: - if (UpdatePaletteFade()) - return 0; - gUnknown_203F3CC->unk_01C0_1 = 0; - return 1; - } - - ++gUnknown_203F3CC->unk_01C0_1; - return 0; -} - -s32 FadeOutFromWonderNews(bool32 flag) -{ - if (gUnknown_203F3CC == NULL) - return -1; - switch (gUnknown_203F3CC->unk_01C0_1) - { - case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - break; - case 1: - if (UpdatePaletteFade()) - return 0; - ChangeBgY(2, 0, 0); - SetGpuReg(REG_OFFSET_WIN0H, 0); - SetGpuReg(REG_OFFSET_WIN0V, 0); - SetGpuReg(REG_OFFSET_WININ, 0); - SetGpuReg(REG_OFFSET_WINOUT, 0); - ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); - break; - case 2: - FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 24); - FillBgTilemapBufferRect_Palette0(3, 0x000, 0, 0, 30, 24); - CopyBgTilemapBufferToVram(0); - CopyBgTilemapBufferToVram(1); - CopyBgTilemapBufferToVram(2); - CopyBgTilemapBufferToVram(3); - break; - case 3: - HideBg(1); - HideBg(2); - RemoveWindow(gUnknown_203F3CC->unk_01C8[1]); - RemoveWindow(gUnknown_203F3CC->unk_01C8[0]); - break; - case 4: - ChangeBgY(2, 0, 0); - ChangeBgY(3, 0, 0); - if (gUnknown_203F3CC->unk_01C1 != 0xFF) - { - RemoveScrollIndicatorArrowPair(gUnknown_203F3CC->unk_01C1); - gUnknown_203F3CC->unk_01C1 = 0xFF; - } - break; - case 5: - PrintMysteryGiftOrEReaderTopMenu(gGiftIsFromEReader, flag); - break; - case 6: - MG_DrawCheckerboardPattern(); - CopyBgTilemapBufferToVram(0); - CopyBgTilemapBufferToVram(3); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); - break; - default: - if (UpdatePaletteFade()) - return 0; - gUnknown_203F3CC->unk_01C0_1 = 0; - return 1; - } - ++gUnknown_203F3CC->unk_01C0_1; - return 0; -} - -void MENews_RemoveScrollIndicatorArrowPair(void) -{ - if (!gUnknown_203F3CC->unk_01C0_0 && gUnknown_203F3CC->unk_01C1 != 0xFF) - { - RemoveScrollIndicatorArrowPair(gUnknown_203F3CC->unk_01C1); - gUnknown_203F3CC->unk_01C1 = 0xFF; - gUnknown_203F3CC->unk_01C0_0 = TRUE; - } -} - - -void MENews_AddScrollIndicatorArrowPair(void) -{ - if (gUnknown_203F3CC->unk_01C0_0) - { - gUnknown_203F3CC->unk_01C1 = AddScrollIndicatorArrowPair(&gUnknown_203F3CC->unk_0394, &gUnknown_203F3CC->unk_01C6); - gUnknown_203F3CC->unk_01C0_0 = FALSE; - } -} - -u32 MENews_GetInput(u16 input) -{ - if (gUnknown_203F3CC->unk_01C2_0) - { - sub_8146B58(); - return 0xFF; - } - switch (input) - { - case A_BUTTON: - return 0; - case B_BUTTON: - return 1; - case DPAD_UP: - if (gUnknown_203F3CC->unk_01C6 == 0) - return 0xFF; - if (gUnknown_203F3CC->unk_01C0_0) - return 0xFF; - gUnknown_203F3CC->unk_01C3_0 = FALSE; - break; - case DPAD_DOWN: - if (gUnknown_203F3CC->unk_01C6 == gUnknown_203F3CC->unk_01C4) - return 0xFF; - if (gUnknown_203F3CC->unk_01C0_0) - return 0xFF; - gUnknown_203F3CC->unk_01C3_0 = TRUE; - break; - default: - return 0xFF; - } - gUnknown_203F3CC->unk_01C2_0 = TRUE; - gUnknown_203F3CC->unk_01C2_1 = 2; - gUnknown_203F3CC->unk_01C3_1 = 0; - if (gUnknown_203F3CC->unk_01C3_0 == FALSE) - return 2; - else - return 3; -} - -void sub_8146980(void) -{ - u8 i = 0; - memcpy(gUnknown_203F3CC->unk_01CE, gUnknown_203F3CC->unk_0000.unk_04, 40); - gUnknown_203F3CC->unk_01CE[40] = EOS; - for (; i < 10; ++i) - { - memcpy(gUnknown_203F3CC->unk_01F7[i], gUnknown_203F3CC->unk_0000.unk_2C[i], 40); - gUnknown_203F3CC->unk_01F7[i][40] = EOS; - if (i > 7 && gUnknown_203F3CC->unk_01F7[i][0] != EOS) - ++gUnknown_203F3CC->unk_01C4; - } - gUnknown_203F3CC->unk_0394 = gUnknown_8468050; - gUnknown_203F3CC->unk_0394.fullyDownThreshold = gUnknown_203F3CC->unk_01C4; -} - -void sub_8146A30(void) -{ - u8 i = 0; - s32 x; - PutWindowTilemap(gUnknown_203F3CC->unk_01C8[0]); - PutWindowTilemap(gUnknown_203F3CC->unk_01C8[1]); - FillWindowPixelBuffer(gUnknown_203F3CC->unk_01C8[0], 0); - FillWindowPixelBuffer(gUnknown_203F3CC->unk_01C8[1], 0); - x = (0xe0 - GetStringWidth(3, gUnknown_203F3CC->unk_01CE, GetFontAttribute(3, 2))) / 2; - if (x < 0) - x = 0; - AddTextPrinterParameterized3(gUnknown_203F3CC->unk_01C8[0], 3, x, 6, gUnknown_8468038[gUnknown_203F3CC->unk_01BC->textPal1], 0, gUnknown_203F3CC->unk_01CE); - for (; i < 10; ++i) - { - AddTextPrinterParameterized3(gUnknown_203F3CC->unk_01C8[1], 3, 0, 16 * i + 2, gUnknown_8468038[gUnknown_203F3CC->unk_01BC->textPal2], 0, gUnknown_203F3CC->unk_01F7[i]); - } - CopyWindowToVram(gUnknown_203F3CC->unk_01C8[0], 3); - CopyWindowToVram(gUnknown_203F3CC->unk_01C8[1], 3); -} - -void sub_8146B58(void) -{ - u16 r4 = gUnknown_203F3CC->unk_01C2_1; - r4 <<= 8; - if (gUnknown_203F3CC->unk_01C3_0) - { - ChangeBgY(2, r4, 1); - ChangeBgY(3, r4, 1); - } - else - { - ChangeBgY(2, r4, 2); - ChangeBgY(3, r4, 2); - } - gUnknown_203F3CC->unk_01C3_1 += gUnknown_203F3CC->unk_01C2_1; - if (gUnknown_203F3CC->unk_01C3_1 > 15) - { - if (gUnknown_203F3CC->unk_01C3_0) - ++gUnknown_203F3CC->unk_01C6; - else - --gUnknown_203F3CC->unk_01C6; - gUnknown_203F3CC->unk_01C2_0 = FALSE; - gUnknown_203F3CC->unk_01C3_1 = 0; - } -} diff --git a/src/mevent_client.c b/src/mevent_client.c index 4da0b4bc1..d7eff1ec6 100644 --- a/src/mevent_client.c +++ b/src/mevent_client.c @@ -195,15 +195,16 @@ static u32 client_mainseq_4(struct mevent_client * svr) mevent_client_send_word(svr, 0x13, svr->param); break; case 10: - sub_8143F68(svr->recvBuffer); + OverwriteSavedWonderCardWithReceivedCard(svr->recvBuffer); break; case 9: - if (!sub_8143EF4(svr->recvBuffer)) + if (!MEvent_HaveAlreadyReceivedWonderNews(svr->recvBuffer)) { - sub_8143DC8(svr->recvBuffer); + OverwriteSavedWonderNewsWithReceivedNews(svr->recvBuffer); mevent_client_send_word(svr, 0x13, 0); } else + // Other trainer already has news mevent_client_send_word(svr, 0x13, 1); break; case 15: @@ -211,7 +212,7 @@ static u32 client_mainseq_4(struct mevent_client * svr) svr->flag = 0; break; case 16: - sub_8144254(svr->recvBuffer); + MEvent_ReceiveDistributionMon(svr->recvBuffer); break; case 17: MEventSetRamScript(svr->recvBuffer, 1000); diff --git a/src/mevent_server.c b/src/mevent_server.c index bebd69fe3..f1505fcbc 100644 --- a/src/mevent_server.c +++ b/src/mevent_server.c @@ -1,10 +1,6 @@ #include "global.h" #include "malloc.h" -#include "decompress.h" -#include "overworld.h" #include "script.h" -#include "battle_tower.h" -#include "mystery_event_script.h" #include "mevent.h" #include "mevent_server.h" @@ -176,7 +172,7 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr) case 9: AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 408); ptr = mevent_first_if_not_null_else_second(cmd->parameter, &svr->sendWord); - svr->param = sub_8144434(ptr, svr->mevent_unk1442cc, ptr); + svr->param = MEvent_CanPlayerReceiveDistributionMon(ptr, svr->mevent_unk1442cc, ptr); break; case 10: AGB_ASSERT_EX(cmd->parameter == NULL, ABSPATH("mevent_server.c"), 415); @@ -247,7 +243,7 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr) case 26: AGB_ASSERT_EX(cmd->flag == FALSE && cmd->parameter == NULL, ABSPATH("mevent_server.c"), 506); memcpy(svr->card, GetSavedWonderCard(), 332); - sub_814410C(svr->card); + MEvent_WonderCardResetUnk08_6(svr->card); break; case 27: AGB_ASSERT_EX(cmd->flag == FALSE && cmd->parameter == NULL, ABSPATH("mevent_server.c"), 512); diff --git a/src/mevent_server_helpers.c b/src/mevent_server_helpers.c index 94c01c081..234064afc 100644 --- a/src/mevent_server_helpers.c +++ b/src/mevent_server_helpers.c @@ -1,14 +1,7 @@ #include "global.h" -#include "malloc.h" -#include "decompress.h" #include "util.h" #include "link.h" #include "link_rfu.h" -#include "overworld.h" -#include "script.h" -#include "battle_tower.h" -#include "mystery_event_script.h" -#include "mevent.h" #include "mevent_server.h" static u32 mevent_receive_func(struct mevent_srv_sub *); diff --git a/src/mevent_show_card.c b/src/mevent_show_card.c new file mode 100644 index 000000000..d2df613ae --- /dev/null +++ b/src/mevent_show_card.c @@ -0,0 +1,456 @@ +#include "global.h" +#include "constants/species.h" +#include "bg.h" +#include "palette.h" +#include "decompress.h" +#include "malloc.h" +#include "menu.h" +#include "new_menu_helpers.h" +#include "pokemon_icon.h" +#include "mystery_gift_menu.h" +#include "string_util.h" +#include "mevent.h" +#include "battle_anim.h" + +struct MEventScreenMgr_02DC +{ + u8 nDigits; + u8 nameTxt[41]; + u8 numberTxt[4]; +}; + +struct MEventScreenMgr +{ + /*0000*/ struct MEWonderCardData wonderCard; + /*014c*/ struct MEventBuffer_3430_Sub buff3430Sub; + /*0170*/ const struct UnkStruct_8467FB8 * bgSpec; + /*0174*/ u8 state; + /*0175*/ u8 recordIdx; + /*0176*/ u16 windowIds[3]; + /*017C*/ u8 monIconId; + /*017D*/ u8 cardIconAndShadowSprites[7][2]; + /*018B*/ u8 title[41]; + /*01B4*/ u8 subtitle[41]; + /*01DD*/ u8 unk_01DD[7]; + /*01E4*/ u8 mainMessageLines[4][41]; + /*0288*/ u8 instructionsLine1[41]; + /*02B1*/ u8 instructionsLine2[41]; + /*02DC*/ struct MEventScreenMgr_02DC recordStrings[8]; + /*045C*/ u8 buffer_045C[0x1000]; +}; + +static EWRAM_DATA struct MEventScreenMgr * sMEventScreenData = NULL; + +static void sub_8145A98(void); +static void sub_8145D18(u8 whichWindow); +static void sub_8146060(void); +static void sub_81461D8(void); + +static const u8 gUnknown_8467068[][3] = { + {0, 2, 3}, + {0, 1, 2} +}; + +static const u8 ALIGNED(4) sTextYCoords[3] = {7, 4, 7}; + +static const struct WindowTemplate sWindowTemplates[] = { + { + .bg = 1, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 25, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x29c}, + { + .bg = 1, + .tilemapLeft = 1, + .tilemapTop = 6, + .width = 28, + .height = 8, + .paletteNum = 15, + .baseBlock = 0x1bc}, + { + .bg = 1, + .tilemapLeft = 1, + .tilemapTop = 14, + .width = 28, + .height = 5, + .paletteNum = 15, + .baseBlock = 0x130} +}; + +static const u16 gCard0Pal[] = INCBIN_U16("data/graphics/mevent/pal_46708C.gbapal"); +const u16 gCard1Pal[] = INCBIN_U16("data/graphics/mevent/pal_4670AC.gbapal"); +const u16 gCard2Pal[] = INCBIN_U16("data/graphics/mevent/pal_4670CC.gbapal"); +const u16 gCard3Pal[] = INCBIN_U16("data/graphics/mevent/pal_4670EC.gbapal"); +const u16 gCard4Pal[] = INCBIN_U16("data/graphics/mevent/pal_46710C.gbapal"); +const u16 gCard5Pal[] = INCBIN_U16("data/graphics/mevent/pal_46712C.gbapal"); +static const u16 gCard6Pal[] = INCBIN_U16("data/graphics/mevent/pal_46714C.gbapal"); +static const u16 gCard7Pal[] = INCBIN_U16("data/graphics/mevent/pal_46716C.gbapal"); +static const u8 sCard0Gfx[] = INCBIN_U8("data/graphics/mevent/gfx_46718C.4bpp.lz"); +static const u8 sCard0Map[] = INCBIN_U8("data/graphics/mevent/tilemap_467288.bin.lz"); +static const u8 sCard1Gfx[] = INCBIN_U8("data/graphics/mevent/gfx_46737C.4bpp.lz"); +static const u8 sCard1Map[] = INCBIN_U8("data/graphics/mevent/tilemap_467470.bin.lz"); +static const u8 sCard2Gfx[] = INCBIN_U8("data/graphics/mevent/gfx_467558.4bpp.lz"); +static const u8 sCard2Map[] = INCBIN_U8("data/graphics/mevent/tilemap_46762C.bin.lz"); +static const u8 sCard6Gfx[] = INCBIN_U8("data/graphics/mevent/gfx_467700.4bpp.lz"); +static const u8 sCard6Map[] = INCBIN_U8("data/graphics/mevent/tilemap_467934.bin.lz"); +static const u8 sCard7Gfx[] = INCBIN_U8("data/graphics/mevent/gfx_467A7C.4bpp.lz"); +static const u8 sCard7Map[] = INCBIN_U8("data/graphics/mevent/tilemap_467CAC.bin.lz"); +static const u16 gUnknown_8467DF4[] = INCBIN_U16("data/graphics/mevent/pal_467DF4.gbapal"); +static const u16 gUnknown_8467E14[] = INCBIN_U16("data/graphics/mevent/pal_467E14.gbapal"); +static const u16 gUnknown_8467E34[] = INCBIN_U16("data/graphics/mevent/pal_467E34.gbapal"); +static const u16 gUnknown_8467E54[] = INCBIN_U16("data/graphics/mevent/pal_467E54.gbapal"); +static const u16 gUnknown_8467E74[] = INCBIN_U16("data/graphics/mevent/pal_467E74.gbapal"); +static const u16 gUnknown_8467E94[] = INCBIN_U16("data/graphics/mevent/pal_467E94.gbapal"); +static const u16 gUnknown_8467EB4[] = INCBIN_U16("data/graphics/mevent/pal_467EB4.gbapal"); +static const u16 gUnknown_8467ED4[] = INCBIN_U16("data/graphics/mevent/pal_467ED4.gbapal"); +static const u32 gUnknown_8467EF4[] = INCBIN_U32("data/graphics/mevent/gfx_467EF4.4bpp.lz"); + +static const struct CompressedSpriteSheet sShadowSpriteSheet = { + gUnknown_8467EF4, 0x100, 0x8000 +}; + +static const struct SpritePalette sShadowSpritePalettes[] = { + {gUnknown_8467DF4, 0x8000}, + {gUnknown_8467E14, 0x8000}, + {gUnknown_8467E34, 0x8000}, + {gUnknown_8467E54, 0x8000}, + {gUnknown_8467E74, 0x8000}, + {gUnknown_8467E94, 0x8000}, + {gUnknown_8467EB4, 0x8000}, + {gUnknown_8467ED4, 0x8000} +}; + +static const struct SpriteTemplate sShadowSpriteTemplate = { + 0x8000, 0x8000, &gOamData_AffineOff_ObjNormal_32x16, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +static const struct UnkStruct_8467FB8 sCardGfxPtrs[8] = { + {1, 0, 0, 0, sCard0Gfx, sCard0Map, gCard0Pal}, + {1, 0, 0, 1, sCard1Gfx, sCard1Map, gCard1Pal}, + {1, 0, 0, 2, sCard2Gfx, sCard2Map, gCard2Pal}, + {1, 0, 0, 3, sCard2Gfx, sCard2Map, gCard3Pal}, + {1, 0, 0, 4, sCard2Gfx, sCard2Map, gCard4Pal}, + {1, 0, 0, 5, sCard2Gfx, sCard2Map, gCard5Pal}, + {1, 0, 0, 6, sCard6Gfx, sCard6Map, gCard6Pal}, + {1, 0, 0, 7, sCard7Gfx, sCard7Map, gCard7Pal} +}; + +bool32 InitWonderCardResources(struct MEWonderCardData * card, struct MEventBuffer_3430_Sub * b3430sub) +{ + if (card == NULL || b3430sub == NULL) + return FALSE; + sMEventScreenData = AllocZeroed(sizeof(struct MEventScreenMgr)); + if (sMEventScreenData == NULL) + return FALSE; + sMEventScreenData->wonderCard = *card; + sMEventScreenData->buff3430Sub = *b3430sub; + if (sMEventScreenData->wonderCard.unk_08_2 >= NELEMS(sCardGfxPtrs)) + sMEventScreenData->wonderCard.unk_08_2 = 0; + if (sMEventScreenData->wonderCard.unk_08_0 >= NELEMS(sTextYCoords)) + sMEventScreenData->wonderCard.unk_08_0 = 0; + if (sMEventScreenData->wonderCard.recvMonCapacity > NELEMS(sMEventScreenData->cardIconAndShadowSprites)) + sMEventScreenData->wonderCard.recvMonCapacity = 0; + sMEventScreenData->bgSpec = &sCardGfxPtrs[sMEventScreenData->wonderCard.unk_08_2]; + return TRUE; +} + +void DestroyWonderCardResources(void) +{ + if (sMEventScreenData != NULL) + { + *sMEventScreenData = (struct MEventScreenMgr){}; + Free(sMEventScreenData); + sMEventScreenData = NULL; + } +} + +s32 FadeToWonderCardMenu(void) +{ + if (sMEventScreenData == NULL) + return -1; + switch(sMEventScreenData->state) + { + case 0: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + break; + case 1: + if (UpdatePaletteFade()) + return 0; + break; + case 2: + FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20); + CopyBgTilemapBufferToVram(0); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); + DecompressAndCopyTileDataToVram(2, sMEventScreenData->bgSpec->tiles, 0, 0x008, 0); + sMEventScreenData->windowIds[0] = AddWindow(&sWindowTemplates[0]); + sMEventScreenData->windowIds[1] = AddWindow(&sWindowTemplates[1]); + sMEventScreenData->windowIds[2] = AddWindow(&sWindowTemplates[2]); + break; + case 3: + if (FreeTempTileDataBuffersIfPossible()) + return 0; + gPaletteFade.bufferTransferDisabled = TRUE; + LoadPalette(sMEventScreenData->bgSpec->pal, 0x10, 0x20); + LZ77UnCompWram(sMEventScreenData->bgSpec->map, sMEventScreenData->buffer_045C); + CopyRectToBgTilemapBufferRect(2, sMEventScreenData->buffer_045C, 0, 0, 30, 20, 0, 0, 30, 20, 1, 0x008, 0); + CopyBgTilemapBufferToVram(2); + break; + case 4: + sub_8145A98(); + break; + case 5: + sub_8145D18(0); + sub_8145D18(1); + sub_8145D18(2); + CopyBgTilemapBufferToVram(1); + break; + case 6: + LoadMonIconPalettes(); + break; + case 7: + ShowBg(1); + ShowBg(2); + gPaletteFade.bufferTransferDisabled = FALSE; + sub_8146060(); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + UpdatePaletteFade(); + break; + default: + if (UpdatePaletteFade()) + return 0; + sMEventScreenData->state = 0; + return 1; + } + ++sMEventScreenData->state; + return 0; +} + +s32 FadeOutFromWonderCard(bool32 flag) +{ + if (sMEventScreenData == NULL) + return -1; + switch (sMEventScreenData->state) + { + case 0: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + break; + case 1: + if (UpdatePaletteFade()) + return 0; + break; + case 2: + FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20); + CopyBgTilemapBufferToVram(0); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); + break; + case 3: + HideBg(1); + HideBg(2); + RemoveWindow(sMEventScreenData->windowIds[2]); + RemoveWindow(sMEventScreenData->windowIds[1]); + RemoveWindow(sMEventScreenData->windowIds[0]); + break; + case 4: + sub_81461D8(); + FreeMonIconPalettes(); + break; + case 5: + PrintMysteryGiftOrEReaderTopMenu(gGiftIsFromEReader, flag); + break; + case 6: + CopyBgTilemapBufferToVram(0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + break; + default: + if (UpdatePaletteFade()) + return 0; + sMEventScreenData->state = 0; + return 1; + } + ++sMEventScreenData->state; + return 0; +} + +static void sub_8145A98(void) +{ + u16 i = 0; + u16 r6; + u16 sp0[3] = {0, 0, 0}; + + memcpy(sMEventScreenData->title, sMEventScreenData->wonderCard.unk_0A, 40); + sMEventScreenData->title[40] = EOS; + memcpy(sMEventScreenData->subtitle, sMEventScreenData->wonderCard.unk_32, 40); + sMEventScreenData->subtitle[40] = EOS; + if (sMEventScreenData->wonderCard.unk_04 > 999999) + sMEventScreenData->wonderCard.unk_04 = 999999; + ConvertIntToDecimalStringN(sMEventScreenData->unk_01DD, sMEventScreenData->wonderCard.unk_04, STR_CONV_MODE_LEFT_ALIGN, 6); + for (i = 0; i < 4; i++) + { + memcpy(sMEventScreenData->mainMessageLines[i], sMEventScreenData->wonderCard.unk_5A[i], 40); + sMEventScreenData->mainMessageLines[i][40] = EOS; + } + memcpy(sMEventScreenData->instructionsLine1, sMEventScreenData->wonderCard.unk_FA, 40); + sMEventScreenData->instructionsLine1[40] = EOS; + switch (sMEventScreenData->wonderCard.unk_08_0) + { + case 0: + memcpy(sMEventScreenData->instructionsLine2, sMEventScreenData->wonderCard.unk_122, 40); + sMEventScreenData->instructionsLine2[40] = EOS; + break; + case 1: + sMEventScreenData->instructionsLine2[00] = EOS; + break; + case 2: + sMEventScreenData->instructionsLine2[00] = EOS; + sp0[0] = sMEventScreenData->buff3430Sub.linkWins < 999 ? sMEventScreenData->buff3430Sub.linkWins : 999; + sp0[1] = sMEventScreenData->buff3430Sub.linkLosses < 999 ? sMEventScreenData->buff3430Sub.linkLosses : 999; + sp0[2] = sMEventScreenData->buff3430Sub.linkTrades < 999 ? sMEventScreenData->buff3430Sub.linkTrades : 999; + for (i = 0; i < 8; i++) + { + memset(sMEventScreenData->recordStrings[i].numberTxt, EOS, 4); + memset(sMEventScreenData->recordStrings[i].nameTxt, EOS, 41); + } + for (i = 0, r6 = 0; i < 40; i++) + { + if (sMEventScreenData->wonderCard.unk_122[i] != CHAR_SPECIAL_F7) + { + sMEventScreenData->recordStrings[sMEventScreenData->recordIdx].nameTxt[r6] = sMEventScreenData->wonderCard.unk_122[i]; + r6++; + } + else + { + u8 r3 = sMEventScreenData->wonderCard.unk_122[i + 1]; + if (r3 > 2) + { + i += 2; + } + else + { + ConvertIntToDecimalStringN(sMEventScreenData->recordStrings[sMEventScreenData->recordIdx].numberTxt, sp0[r3], STR_CONV_MODE_LEADING_ZEROS, 3); + sMEventScreenData->recordStrings[sMEventScreenData->recordIdx].nDigits = sMEventScreenData->wonderCard.unk_122[i + 2]; + sMEventScreenData->recordIdx++; + if (sMEventScreenData->recordIdx > 7) + break; + r6 = 0; + i += 2; + } + } + } + } +} + +static void sub_8145D18(u8 whichWindow) +{ + s8 sp0C = 0; + s32 windowId = sMEventScreenData->windowIds[whichWindow]; + PutWindowTilemap(windowId); + FillWindowPixelBuffer(windowId, 0); + switch (whichWindow) + { + case 0: + { + s32 x; + AddTextPrinterParameterized3(windowId, 3, 0, 1, gUnknown_8467068[sMEventScreenData->bgSpec->textPal1], 0, sMEventScreenData->title); + x = 160 - GetStringWidth(3, sMEventScreenData->subtitle, GetFontAttribute(3, 2)); + if (x < 0) + x = 0; + AddTextPrinterParameterized3(windowId, 3, x, 17, gUnknown_8467068[sMEventScreenData->bgSpec->textPal1], 0, sMEventScreenData->subtitle); + if (sMEventScreenData->wonderCard.unk_04 != 0) + { + AddTextPrinterParameterized3(windowId, 2, 166, 17, gUnknown_8467068[sMEventScreenData->bgSpec->textPal1], 0, sMEventScreenData->unk_01DD); + } + break; + } + case 1: + for (; sp0C < 4; sp0C++) + { + AddTextPrinterParameterized3(windowId, 3, 0, 16 * sp0C + 2, gUnknown_8467068[sMEventScreenData->bgSpec->textPal2], 0, sMEventScreenData->mainMessageLines[sp0C]); + } + break; + case 2: + AddTextPrinterParameterized3(windowId, 3, 0, sTextYCoords[sMEventScreenData->wonderCard.unk_08_0], gUnknown_8467068[sMEventScreenData->bgSpec->textPal3], 0, sMEventScreenData->instructionsLine1); + if (sMEventScreenData->wonderCard.unk_08_0 != 2) + { + AddTextPrinterParameterized3(windowId, 3, 0, 16 + sTextYCoords[sMEventScreenData->wonderCard.unk_08_0], gUnknown_8467068[sMEventScreenData->bgSpec->textPal3], 0, sMEventScreenData->instructionsLine2); + } + else + { + s32 x = 0; + s32 y = sTextYCoords[sMEventScreenData->wonderCard.unk_08_0] + 16; + s32 spacing = GetFontAttribute(3, 2); + for (; sp0C < sMEventScreenData->recordIdx; sp0C++) + { + AddTextPrinterParameterized3(windowId, 3, x, y, gUnknown_8467068[sMEventScreenData->bgSpec->textPal3], 0, sMEventScreenData->recordStrings[sp0C].nameTxt); + if (sMEventScreenData->recordStrings[sp0C].numberTxt[0] != EOS) + { + x += GetStringWidth(3, sMEventScreenData->recordStrings[sp0C].nameTxt, spacing); + AddTextPrinterParameterized3(windowId, 2, x, y, gUnknown_8467068[sMEventScreenData->bgSpec->textPal3], 0, sMEventScreenData->recordStrings[sp0C].numberTxt); + x += GetStringWidth(3, sMEventScreenData->recordStrings[sp0C].numberTxt, spacing) + sMEventScreenData->recordStrings[sp0C].nDigits; + } + } + } + break; + } + CopyWindowToVram(windowId, 3); +} + +static void sub_8146060(void) +{ + u8 r7 = 0; + sMEventScreenData->monIconId = 0xFF; + if (sMEventScreenData->buff3430Sub.unk_06 != SPECIES_NONE) + { + sMEventScreenData->monIconId = CreateMonIcon_HandleDeoxys(MailSpeciesToIconSpecies(sMEventScreenData->buff3430Sub.unk_06), SpriteCallbackDummy, 0xDC, 0x14, 0, FALSE); + gSprites[sMEventScreenData->monIconId].oam.priority = 2; + } + if (sMEventScreenData->wonderCard.recvMonCapacity != 0 && sMEventScreenData->wonderCard.unk_08_0 == 1) + { + LoadCompressedSpriteSheetUsingHeap(&sShadowSpriteSheet); + LoadSpritePalette(&sShadowSpritePalettes[sMEventScreenData->bgSpec->index]); + for (; r7 < sMEventScreenData->wonderCard.recvMonCapacity; r7++) + { + sMEventScreenData->cardIconAndShadowSprites[r7][0] = 0xFF; + sMEventScreenData->cardIconAndShadowSprites[r7][1] = 0xFF; + sMEventScreenData->cardIconAndShadowSprites[r7][0] = CreateSprite(&sShadowSpriteTemplate, 0xd8 - 32 * r7, 0x90, 8); + if (sMEventScreenData->buff3430Sub.distributedMons[0][r7] != 0) + { + sMEventScreenData->cardIconAndShadowSprites[r7][1] = CreateMonIcon_HandleDeoxys(MailSpeciesToIconSpecies(sMEventScreenData->buff3430Sub.distributedMons[0][r7]), SpriteCallbackDummy, 0xd8 - 32 * r7, 0x88, 0, 0); + gSprites[sMEventScreenData->cardIconAndShadowSprites[r7][1]].oam.priority = 2; + } + } + } +} + +static void sub_81461D8(void) +{ + u8 r6 = 0; + if (sMEventScreenData->monIconId != 0xFF) + DestroyMonIcon(&gSprites[sMEventScreenData->monIconId]); + if (sMEventScreenData->wonderCard.recvMonCapacity != 0 && sMEventScreenData->wonderCard.unk_08_0 == 1) + { + for (; r6 < sMEventScreenData->wonderCard.recvMonCapacity; r6++) + { + if (sMEventScreenData->cardIconAndShadowSprites[r6][0] != 0xFF) + { + DestroySprite(&gSprites[sMEventScreenData->cardIconAndShadowSprites[r6][0]]); + // This might be a typo. Uncomment the next line, and comment the one that follows, to get the presumed intended behavior. + // if (sMEventScreenData->cardIconAndShadowSprites[r6][1] != 0xFF) + if (sMEventScreenData->cardIconAndShadowSprites[r6][0] != 0xFF) + { + DestroyMonIcon(&gSprites[sMEventScreenData->cardIconAndShadowSprites[r6][1]]); + } + } + } + FreeSpriteTilesByTag(0x8000); + FreeSpritePaletteByTag(0x8000); + } +} diff --git a/src/mevent_show_news.c b/src/mevent_show_news.c new file mode 100644 index 000000000..44b19b130 --- /dev/null +++ b/src/mevent_show_news.c @@ -0,0 +1,357 @@ +#include "global.h" +#include "gflib.h" +#include "menu_indicators.h" +#include "new_menu_helpers.h" +#include "mevent.h" +#include "mystery_gift_menu.h" +#include "menu.h" +#include "link_rfu.h" + +struct UnkStruct_203F3CC +{ + /*0000*/ struct MEWonderNewsData wonderNews; + /*01bc*/ const struct UnkStruct_8467FB8 * bgSpec; + /*01c0*/ u8 verticalScrollDisabled:1; + u8 state:7; + /*01c1*/ u8 menuIndicatorsId; + /*01c2*/ u8 unk_01C2_0:1; + u8 unk_01C2_1:7; + /*01c3*/ u8 scrollDirection:1; + u8 unk_01C3_1:7; + /*01c4*/ u16 numMails; + /*01c6*/ u16 scrollOffset; + /*01c8*/ u16 windowIds[2]; + /*01cc*/ u8 filler_01CC[2]; + /*01ce*/ u8 title[41]; + /*01f7*/ u8 messages[10][41]; + /*0394*/ struct ScrollArrowsTemplate scrollArrowsTemplate; + /*03a4*/ u8 buffer_03A4[0x1000]; +}; + +static EWRAM_DATA struct UnkStruct_203F3CC * sWork = NULL; + +static void sub_8146980(void); +static void sub_8146A30(void); +static void sub_8146B58(void); + +static const u8 sTextPals[][3] = { + {0, 2, 3}, + {0, 1, 2} +}; +static const struct WindowTemplate gUnknown_8468040[] = { + {0, 1, 0, 28, 3, 15, 0x000}, + {2, 1, 3, 28, 20, 15, 0x000} +}; +static const struct ScrollArrowsTemplate sScrollArrowsTemplate = { + 0x02, 0xe8, 0x18, 0x03, 0xe8, 0x98, + 0x0000, 0x0002, 0x1000, 0x1000, 0x0, +}; + +static const u16 sNews1Pal[] = INCBIN_U16("data/graphics/mevent/pal_468060.gbapal"); +static const u16 sNews6Pal[] = INCBIN_U16("data/graphics/mevent/pal_468080.gbapal"); +static const u16 sNews7Pal[] = INCBIN_U16("data/graphics/mevent/pal_4680A0.gbapal"); +static const u8 sNews0Gfx[] = INCBIN_U8("data/graphics/mevent/gfx_4680C0.4bpp.lz"); +static const u8 sNews0Map[] = INCBIN_U8("data/graphics/mevent/tilemap_468140.bin.lz"); +static const u8 sNews1Gfx[] = INCBIN_U8("data/graphics/mevent/gfx_46821C.4bpp.lz"); +static const u8 sNews1Map[] = INCBIN_U8("data/graphics/mevent/tilemap_46824C.bin.lz"); +static const u8 sNews2Gfx[] = INCBIN_U8("data/graphics/mevent/gfx_46830C.4bpp.lz"); +static const u8 sNews2Map[] = INCBIN_U8("data/graphics/mevent/tilemap_46837C.bin.lz"); +static const u8 sNews6Gfx[] = INCBIN_U8("data/graphics/mevent/gfx_468448.4bpp.lz"); +static const u8 sNews6Map[] = INCBIN_U8("data/graphics/mevent/tilemap_4684D8.bin.lz"); +static const u8 sNews7Gfx[] = INCBIN_U8("data/graphics/mevent/gfx_4685B4.4bpp.lz"); +static const u8 sNews7Map[] = INCBIN_U8("data/graphics/mevent/tilemap_468644.bin.lz"); + +static const struct UnkStruct_8467FB8 sBgSpecs[] = { + {1, 0, 0, 0, sNews0Gfx, sNews0Map, sNews1Pal}, + {1, 0, 0, 0, sNews1Gfx, sNews1Map, gCard1Pal}, + {1, 0, 0, 0, sNews2Gfx, sNews2Map, gCard2Pal}, + {1, 0, 0, 0, sNews2Gfx, sNews2Map, gCard3Pal}, + {1, 0, 0, 0, sNews2Gfx, sNews2Map, gCard4Pal}, + {1, 0, 0, 0, sNews2Gfx, sNews2Map, gCard5Pal}, + {1, 0, 0, 0, sNews6Gfx, sNews6Map, sNews6Pal}, + {1, 0, 0, 0, sNews7Gfx, sNews7Map, sNews7Pal} +}; + +bool32 InitWonderNewsResources(const struct MEWonderNewsData * news) +{ + if (news == NULL) + return FALSE; + sWork = AllocZeroed(sizeof(struct UnkStruct_203F3CC)); + if (sWork == NULL) + return FALSE; + sWork->wonderNews = *news; + if (sWork->wonderNews.unk_03 >= NELEMS(sBgSpecs)) + sWork->wonderNews.unk_03 = 0; + sWork->bgSpec = &sBgSpecs[sWork->wonderNews.unk_03]; + sWork->menuIndicatorsId = 0xFF; + return TRUE; +} + +void DestroyWonderNewsResources(void) +{ + if (sWork != NULL) + { + *sWork = (struct UnkStruct_203F3CC){}; + Free(sWork); + sWork = NULL; + } +} + +s32 FadeToWonderNewsMenu(void) +{ + if (sWork == NULL) + return -1; + + switch (sWork->state) + { + case 0: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + break; + case 1: + if (UpdatePaletteFade()) + return 0; + ChangeBgY(0, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgY(2, 0, 0); + ChangeBgY(3, 0, 0); + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(0, 240)); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(26, 152)); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ); + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); + break; + case 2: + FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(3, 0x000, 0, 0, 30, 20); + CopyBgTilemapBufferToVram(0); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); + CopyBgTilemapBufferToVram(3); + DecompressAndCopyTileDataToVram(3, sWork->bgSpec->tiles, 0, 8, 0); + sWork->windowIds[0] = AddWindow(&gUnknown_8468040[0]); + sWork->windowIds[1] = AddWindow(&gUnknown_8468040[1]); + break; + case 3: + if (FreeTempTileDataBuffersIfPossible()) + return 0; + gPaletteFade.bufferTransferDisabled = TRUE; + LoadPalette(sWork->bgSpec->pal, 0x10, 0x20); + LZ77UnCompWram(sWork->bgSpec->map, sWork->buffer_03A4); + CopyRectToBgTilemapBufferRect(1, sWork->buffer_03A4, 0, 0, 30, 3, 0, 0, 30, 3, 1, 8, 0); + CopyRectToBgTilemapBufferRect(3, sWork->buffer_03A4, 0, 3, 30, 23, 0, 3, 30, 23, 1, 8, 0); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(3); + break; + case 4: + sub_8146980(); + break; + case 5: + sub_8146A30(); + CopyBgTilemapBufferToVram(0); + CopyBgTilemapBufferToVram(2); + break; + case 6: + ShowBg(1); + ShowBg(2); + ShowBg(3); + gPaletteFade.bufferTransferDisabled = FALSE; + sWork->menuIndicatorsId = AddScrollIndicatorArrowPair(&sWork->scrollArrowsTemplate, &sWork->scrollOffset); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + UpdatePaletteFade(); + break; + default: + if (UpdatePaletteFade()) + return 0; + sWork->state = 0; + return 1; + } + + ++sWork->state; + return 0; +} + +s32 FadeOutFromWonderNews(bool32 flag) +{ + if (sWork == NULL) + return -1; + switch (sWork->state) + { + case 0: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + break; + case 1: + if (UpdatePaletteFade()) + return 0; + ChangeBgY(2, 0, 0); + SetGpuReg(REG_OFFSET_WIN0H, 0); + SetGpuReg(REG_OFFSET_WIN0V, 0); + SetGpuReg(REG_OFFSET_WININ, 0); + SetGpuReg(REG_OFFSET_WINOUT, 0); + ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); + break; + case 2: + FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 24); + FillBgTilemapBufferRect_Palette0(3, 0x000, 0, 0, 30, 24); + CopyBgTilemapBufferToVram(0); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); + CopyBgTilemapBufferToVram(3); + break; + case 3: + HideBg(1); + HideBg(2); + RemoveWindow(sWork->windowIds[1]); + RemoveWindow(sWork->windowIds[0]); + break; + case 4: + ChangeBgY(2, 0, 0); + ChangeBgY(3, 0, 0); + if (sWork->menuIndicatorsId != 0xFF) + { + RemoveScrollIndicatorArrowPair(sWork->menuIndicatorsId); + sWork->menuIndicatorsId = 0xFF; + } + break; + case 5: + PrintMysteryGiftOrEReaderTopMenu(gGiftIsFromEReader, flag); + break; + case 6: + MG_DrawCheckerboardPattern(); + CopyBgTilemapBufferToVram(0); + CopyBgTilemapBufferToVram(3); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + break; + default: + if (UpdatePaletteFade()) + return 0; + sWork->state = 0; + return 1; + } + ++sWork->state; + return 0; +} + +void MENews_RemoveScrollIndicatorArrowPair(void) +{ + if (!sWork->verticalScrollDisabled && sWork->menuIndicatorsId != 0xFF) + { + RemoveScrollIndicatorArrowPair(sWork->menuIndicatorsId); + sWork->menuIndicatorsId = 0xFF; + sWork->verticalScrollDisabled = TRUE; + } +} + + +void MENews_AddScrollIndicatorArrowPair(void) +{ + if (sWork->verticalScrollDisabled) + { + sWork->menuIndicatorsId = AddScrollIndicatorArrowPair(&sWork->scrollArrowsTemplate, &sWork->scrollOffset); + sWork->verticalScrollDisabled = FALSE; + } +} + +u32 MENews_GetInput(u16 input) +{ + if (sWork->unk_01C2_0) + { + sub_8146B58(); + return 0xFF; + } + switch (input) + { + case A_BUTTON: + return 0; + case B_BUTTON: + return 1; + case DPAD_UP: + if (sWork->scrollOffset == 0) + return 0xFF; + if (sWork->verticalScrollDisabled) + return 0xFF; + sWork->scrollDirection = FALSE; + break; + case DPAD_DOWN: + if (sWork->scrollOffset == sWork->numMails) + return 0xFF; + if (sWork->verticalScrollDisabled) + return 0xFF; + sWork->scrollDirection = TRUE; + break; + default: + return 0xFF; + } + sWork->unk_01C2_0 = TRUE; + sWork->unk_01C2_1 = 2; + sWork->unk_01C3_1 = 0; + if (sWork->scrollDirection == FALSE) + return 2; + else + return 3; +} + +static void sub_8146980(void) +{ + u8 i = 0; + memcpy(sWork->title, sWork->wonderNews.unk_04, 40); + sWork->title[40] = EOS; + for (; i < 10; ++i) + { + memcpy(sWork->messages[i], sWork->wonderNews.unk_2C[i], 40); + sWork->messages[i][40] = EOS; + if (i > 7 && sWork->messages[i][0] != EOS) + ++sWork->numMails; + } + sWork->scrollArrowsTemplate = sScrollArrowsTemplate; + sWork->scrollArrowsTemplate.fullyDownThreshold = sWork->numMails; +} + +static void sub_8146A30(void) +{ + u8 i = 0; + s32 x; + PutWindowTilemap(sWork->windowIds[0]); + PutWindowTilemap(sWork->windowIds[1]); + FillWindowPixelBuffer(sWork->windowIds[0], 0); + FillWindowPixelBuffer(sWork->windowIds[1], 0); + x = (0xe0 - GetStringWidth(3, sWork->title, GetFontAttribute(3, 2))) / 2; + if (x < 0) + x = 0; + AddTextPrinterParameterized3(sWork->windowIds[0], 3, x, 6, sTextPals[sWork->bgSpec->textPal1], 0, sWork->title); + for (; i < 10; ++i) + { + AddTextPrinterParameterized3(sWork->windowIds[1], 3, 0, 16 * i + 2, sTextPals[sWork->bgSpec->textPal2], 0, sWork->messages[i]); + } + CopyWindowToVram(sWork->windowIds[0], 3); + CopyWindowToVram(sWork->windowIds[1], 3); +} + +static void sub_8146B58(void) +{ + u16 r4 = sWork->unk_01C2_1; + r4 <<= 8; + if (sWork->scrollDirection) + { + ChangeBgY(2, r4, 1); + ChangeBgY(3, r4, 1); + } + else + { + ChangeBgY(2, r4, 2); + ChangeBgY(3, r4, 2); + } + sWork->unk_01C3_1 += sWork->unk_01C2_1; + if (sWork->unk_01C3_1 > 15) + { + if (sWork->scrollDirection) + ++sWork->scrollOffset; + else + --sWork->scrollOffset; + sWork->unk_01C2_0 = FALSE; + sWork->unk_01C3_1 = 0; + } +} diff --git a/src/unk_815F138.c b/src/minigame_countdown.c similarity index 51% rename from src/unk_815F138.c rename to src/minigame_countdown.c index 8aa776bc9..5911676bb 100644 --- a/src/unk_815F138.c +++ b/src/minigame_countdown.c @@ -5,72 +5,83 @@ #include "trig.h" #include "constants/songs.h" -void sub_815F1AC(u8 taskId); -bool32 sub_815F2AC(u8 spriteId); -void sub_815F3E0(u8 spriteId1, u8 spriteId2, u8 spriteId3); -bool32 sub_815F444(u8 spriteId); -void sub_815F470(struct Sprite * sprite); -void sub_815F564(u16 tilesTag, u16 palTag); -u8 sub_815F5BC(u16 tilesTag, u16 palTag, s16 x, s16 y, u8 subpriority); -void sub_815F610(u16 tilesTag, u16 palTag, s16 x, s16 y, u8 subpriority, s16 * spriteId2_p, s16 * spriteId3_p); +static void Task_MinigameCountdown(u8 taskId); +static bool32 RunMinigameCountdownDigitsAnim(u8 spriteId); +static void StartStartGraphic(u8 spriteId1, u8 spriteId2, u8 spriteId3); +static bool32 IsStartGraphicAnimRunning(u8 spriteId); +static void SpriteCB_Start(struct Sprite * sprite); +static void Load321StartGfx(u16 tilesTag, u16 palTag); +static u8 CreateNumberSprite(u16 tilesTag, u16 palTag, s16 x, s16 y, u8 subpriority); +static void CreateStartSprite(u16 tilesTag, u16 palTag, s16 x, s16 y, u8 subpriority, s16 * spriteId2_p, s16 * spriteId3_p); -void sub_815F138(u16 tilesTag, u16 palTag, s16 x, s16 y, u8 subpriority) +#define tState data[0] +#define tTilesTag data[2] +#define tPalTag data[3] +#define tX data[4] +#define tY data[5] +#define tSubpriority data[6] +#define tSpriteId1 data[7] +#define tSpriteId2 data[8] +#define tSpriteId3 data[9] + +void StartMinigameCountdown(u16 tilesTag, u16 palTag, s16 x, s16 y, u8 subpriority) { - u8 taskId = CreateTask(sub_815F1AC, 80); - gTasks[taskId].data[2] = tilesTag; - gTasks[taskId].data[3] = palTag; - gTasks[taskId].data[4] = x; - gTasks[taskId].data[5] = y; - gTasks[taskId].data[6] = subpriority; + u8 taskId = CreateTask(Task_MinigameCountdown, 80); + gTasks[taskId].tTilesTag = tilesTag; + gTasks[taskId].tPalTag = palTag; + gTasks[taskId].tX = x; + gTasks[taskId].tY = y; + gTasks[taskId].tSubpriority = subpriority; } -bool8 sub_815F198(void) +bool32 IsMinigameCountdownRunning(void) { - return FuncIsActiveTask(sub_815F1AC); + return FuncIsActiveTask(Task_MinigameCountdown); } -void sub_815F1AC(u8 taskId) +static void Task_MinigameCountdown(u8 taskId) { s16 * data = gTasks[taskId].data; - switch (data[0]) + switch (tState) { case 0: - sub_815F564(data[2], data[3]); - data[7] = sub_815F5BC(data[2], data[3], data[4], data[5], data[6]); - sub_815F610(data[2], data[3], data[4], data[5], data[6], &data[8], &data[9]); - data[0]++; + Load321StartGfx(tTilesTag, tPalTag); + tSpriteId1 = CreateNumberSprite(tTilesTag, tPalTag, tX, tY, tSubpriority); + CreateStartSprite(tTilesTag, tPalTag, tX, tY, tSubpriority, &tSpriteId2, &tSpriteId3); + tState++; break; case 1: - if (!sub_815F2AC(data[7])) + if (!RunMinigameCountdownDigitsAnim(tSpriteId1)) { - sub_815F3E0(data[7], data[8], data[9]); - FreeSpriteOamMatrix(&gSprites[data[7]]); - DestroySprite(&gSprites[data[7]]); - data[0]++; + StartStartGraphic(tSpriteId1, tSpriteId2, tSpriteId3); + FreeSpriteOamMatrix(&gSprites[tSpriteId1]); + DestroySprite(&gSprites[tSpriteId1]); + tState++; } break; case 2: - if (!sub_815F444(data[8])) + if (!IsStartGraphicAnimRunning(tSpriteId2)) { - DestroySprite(&gSprites[data[8]]); - DestroySprite(&gSprites[data[9]]); - FreeSpriteTilesByTag(data[2]); - FreeSpritePaletteByTag(data[3]); + DestroySprite(&gSprites[tSpriteId2]); + DestroySprite(&gSprites[tSpriteId3]); + FreeSpriteTilesByTag(tTilesTag); + FreeSpritePaletteByTag(tPalTag); DestroyTask(taskId); } break; } } -bool32 sub_815F2AC(u8 spriteId) +static bool32 RunMinigameCountdownDigitsAnim(u8 spriteId) { struct Sprite * sprite = &gSprites[spriteId]; switch (sprite->data[0]) { case 0: - sub_8007FFC(sprite, 0x800, 0x1A); + // some sort of affine transform; x transform disabled + obj_pos2_update_enable(sprite, 0x800, 0x1A); sprite->data[0]++; // fallthrough case 1: @@ -134,22 +145,22 @@ bool32 sub_815F2AC(u8 spriteId) return TRUE; } -void sub_815F3E0(u8 spriteId1, u8 spriteId2, u8 spriteId3) +static void StartStartGraphic(u8 spriteId1, u8 spriteId2, u8 spriteId3) { gSprites[spriteId2].pos2.y = -40; gSprites[spriteId3].pos2.y = -40; gSprites[spriteId2].invisible = FALSE; gSprites[spriteId3].invisible = FALSE; - gSprites[spriteId2].callback = sub_815F470; - gSprites[spriteId3].callback = sub_815F470; + gSprites[spriteId2].callback = SpriteCB_Start; + gSprites[spriteId3].callback = SpriteCB_Start; } -bool32 sub_815F444(u8 spriteId) +static bool32 IsStartGraphicAnimRunning(u8 spriteId) { - return gSprites[spriteId].callback == sub_815F470; + return gSprites[spriteId].callback == SpriteCB_Start; } -void sub_815F470(struct Sprite * sprite) +static void SpriteCB_Start(struct Sprite * sprite) { s16 * data = sprite->data; s32 y; @@ -200,103 +211,103 @@ void sub_815F470(struct Sprite * sprite) } } -const u16 gUnknown_847A328[] = INCBIN_U16("data/graphics/unk_847a348.gbapal"); -const u16 gUnknown_847A348[] = INCBIN_U16("data/graphics/unk_847a348.4bpp.lz"); +static const u16 sSpritePal_321Start[] = INCBIN_U16("data/graphics/unk_847a348.gbapal"); +static const u16 sSpriteSheet_321Start[] = INCBIN_U16("data/graphics/unk_847a348.4bpp.lz"); -void sub_815F564(u16 tilesTag, u16 palTag) +static void Load321StartGfx(u16 tilesTag, u16 palTag) { - struct CompressedSpriteSheet spriteSheet = {(const void *)gUnknown_847A348, 0xE00}; - struct SpritePalette spritePalette = {gUnknown_847A328}; + struct CompressedSpriteSheet spriteSheet = {(const void *)sSpriteSheet_321Start, 0xE00}; + struct SpritePalette spritePalette = {sSpritePal_321Start}; spriteSheet.tag = tilesTag; spritePalette.tag = palTag; LoadCompressedSpriteSheet(&spriteSheet); LoadSpritePalette(&spritePalette); } -const struct OamData gOamData_847A7AC = { +static const struct OamData sOamData_Numbers = { .affineMode = ST_OAM_AFFINE_DOUBLE, - .shape = ST_OAM_SQUARE, - .size = 2 + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32) }; -const struct OamData gOamData_847A7B4 = { +static const struct OamData sOamData_Start = { .affineMode = ST_OAM_AFFINE_OFF, - .shape = ST_OAM_H_RECTANGLE, - .size = 3 + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32) }; -const union AnimCmd gUnknown_847A7BC[] = { +static const union AnimCmd sAnim_Numbers_Three[] = { ANIMCMD_FRAME( 0, 1), ANIMCMD_END }; -const union AnimCmd gUnknown_847A7C4[] = { +static const union AnimCmd sAnim_Numbers_Two[] = { ANIMCMD_FRAME(16, 1), ANIMCMD_END }; -const union AnimCmd gUnknown_847A7CC[] = { +static const union AnimCmd sAnim_Numbers_One[] = { ANIMCMD_FRAME(32, 1), ANIMCMD_END }; -const union AnimCmd *const gUnknown_847A7D4[] = { - gUnknown_847A7BC, - gUnknown_847A7C4, - gUnknown_847A7CC +static const union AnimCmd *const sAnimTable_Numbers[] = { + sAnim_Numbers_Three, + sAnim_Numbers_Two, + sAnim_Numbers_One }; -const union AnimCmd gUnknown_847A7E0[] = { +static const union AnimCmd sAnim_StartLeft[] = { ANIMCMD_FRAME(48, 1), ANIMCMD_END }; -const union AnimCmd gUnknown_847A7E8[] = { +static const union AnimCmd sAnim_StartRight[] = { ANIMCMD_FRAME(80, 1), ANIMCMD_END }; -const union AnimCmd *const gUnknown_847A7F0[] = { - gUnknown_847A7E0, - gUnknown_847A7E8 +static const union AnimCmd *const sAnimTable_Start[] = { + sAnim_StartLeft, + sAnim_StartRight }; -const union AffineAnimCmd gUnknown_847A7F8[] = { +static const union AffineAnimCmd sAffineAnim_Numbers_0[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_END }; -const union AffineAnimCmd gUnknown_847A808[] = { +static const union AffineAnimCmd sAffineAnim_Numbers_1[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME( 0x10, -0x10, 0, 8), AFFINEANIMCMD_END }; -const union AffineAnimCmd gUnknown_847A820[] = { +static const union AffineAnimCmd sAffineAnim_Numbers_2[] = { AFFINEANIMCMD_FRAME(-0x12, 0x12, 0, 8), AFFINEANIMCMD_END }; -const union AffineAnimCmd gUnknown_847A830[] = { +static const union AffineAnimCmd sAffineAnim_Numbers_3[] = { AFFINEANIMCMD_FRAME( 0x6, -0x6, 0, 8), AFFINEANIMCMD_FRAME( -0x4, 0x4, 0, 8), AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_END }; -const union AffineAnimCmd *const gUnknown_847A850[] = { - gUnknown_847A7F8, - gUnknown_847A808, - gUnknown_847A820, - gUnknown_847A830 +static const union AffineAnimCmd *const sAffineAnimTable_Numbers[] = { + sAffineAnim_Numbers_0, + sAffineAnim_Numbers_1, + sAffineAnim_Numbers_2, + sAffineAnim_Numbers_3 }; -u8 sub_815F5BC(u16 tilesTag, u16 palTag, s16 x, s16 y, u8 subpriority) +static u8 CreateNumberSprite(u16 tilesTag, u16 palTag, s16 x, s16 y, u8 subpriority) { struct SpriteTemplate spriteTemplate = { - .oam = &gOamData_847A7AC, - .anims = gUnknown_847A7D4, - .affineAnims = gUnknown_847A850, + .oam = &sOamData_Numbers, + .anims = sAnimTable_Numbers, + .affineAnims = sAffineAnimTable_Numbers, .callback = SpriteCallbackDummy }; spriteTemplate.tileTag = tilesTag; @@ -304,11 +315,11 @@ u8 sub_815F5BC(u16 tilesTag, u16 palTag, s16 x, s16 y, u8 subpriority) return CreateSprite(&spriteTemplate, x, y, subpriority); } -void sub_815F610(u16 tilesTag, u16 palTag, s16 x, s16 y, u8 subpriority, s16 * spriteId2_p, s16 * spriteId3_p) +static void CreateStartSprite(u16 tilesTag, u16 palTag, s16 x, s16 y, u8 subpriority, s16 * spriteId2_p, s16 * spriteId3_p) { struct SpriteTemplate spriteTemplate = { - .oam = &gOamData_847A7B4, - .anims = gUnknown_847A7F0, + .oam = &sOamData_Start, + .anims = sAnimTable_Start, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCallbackDummy }; diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c index 7b25cc5ff..5a105bae9 100644 --- a/src/mystery_event_script.c +++ b/src/mystery_event_script.c @@ -3,7 +3,6 @@ #include "battle_tower.h" #include "easy_chat.h" #include "event_data.h" -#include "mail.h" #include "mail_data.h" #include "mystery_event_script.h" #include "pokedex.h" diff --git a/src/mystery_gift_menu.c b/src/mystery_gift_menu.c index 8384d211d..cdfd62624 100644 --- a/src/mystery_gift_menu.c +++ b/src/mystery_gift_menu.c @@ -25,6 +25,7 @@ #include "help_system.h" #include "strings.h" #include "constants/songs.h" +#include "constants/union_room.h" EWRAM_DATA u8 sDownArrowCounterAndYCoordIdx[8] = {}; EWRAM_DATA bool8 gGiftIsFromEReader = FALSE; @@ -1237,21 +1238,21 @@ void task00_mystery_gift(u8 taskId) case 0: if (data->source == 1) { - MEvent_CreateTask_CardOrNewsWithFriend(0x15); + MEvent_CreateTask_CardOrNewsWithFriend(ACTIVITY_WCARD2); } else if (data->source == 0) { - MEvent_CreateTask_CardOrNewsOverWireless(0x15); + MEvent_CreateTask_CardOrNewsOverWireless(ACTIVITY_WCARD2); } break; case 1: if (data->source == 1) { - MEvent_CreateTask_CardOrNewsWithFriend(0x16); + MEvent_CreateTask_CardOrNewsWithFriend(ACTIVITY_WNEWS2); } else if (data->source == 0) { - MEvent_CreateTask_CardOrNewsOverWireless(0x16); + MEvent_CreateTask_CardOrNewsOverWireless(ACTIVITY_WNEWS2); } break; } @@ -1278,7 +1279,7 @@ void task00_mystery_gift(u8 taskId) switch (mevent_client_do_exec(&data->curPromptWindowId)) { case 6: // done - task_add_05_task_del_08FA224_when_no_RfuFunc(); + Rfu_BeginBuildAndSendCommand5F(); data->prevPromptWindowId = data->curPromptWindowId; data->state = 13; break; @@ -1595,10 +1596,10 @@ void task00_mystery_gift(u8 taskId) switch (data->IsCardOrNews) { case 0: - MEvent_CreateTask_Leader(21); + MEvent_CreateTask_Leader(ACTIVITY_WCARD2); break; case 1: - MEvent_CreateTask_Leader(22); + MEvent_CreateTask_Leader(ACTIVITY_WNEWS2); break; } data->source = 1; @@ -1644,7 +1645,7 @@ void task00_mystery_gift(u8 taskId) } break; case 33: - task_add_05_task_del_08FA224_when_no_RfuFunc(); + Rfu_BeginBuildAndSendCommand5F(); StringCopy(gStringVar1, gLinkPlayers[1].name); data->state = 34; break; diff --git a/src/naming_screen.c b/src/naming_screen.c new file mode 100644 index 000000000..364fc3fe6 --- /dev/null +++ b/src/naming_screen.c @@ -0,0 +1,2401 @@ +#include "global.h" +#include "gflib.h" +#include "data.h" +#include "keyboard_text.h" +#include "event_data.h" +#include "event_object_movement.h" +#include "event_scripts.h" +#include "field_effect.h" +#include "field_player_avatar.h" +#include "field_specials.h" +#include "graphics.h" +#include "help_system.h" +#include "menu.h" +#include "overworld.h" +#include "naming_screen.h" +#include "new_menu_helpers.h" +#include "pokemon_icon.h" +#include "pokemon_storage_system.h" +#include "strings.h" +#include "task.h" +#include "text_window.h" +#include "trig.h" +#include "constants/help_system.h" +#include "constants/flags.h" +#include "constants/songs.h" +#include "constants/event_objects.h" + +#define subsprite_table(ptr) {.subsprites = ptr, .subspriteCount = (sizeof ptr) / (sizeof(struct Subsprite))} + +#define KBEVENT_NONE 0 +#define KBEVENT_PRESSED_A 5 +#define KBEVENT_PRESSED_B 6 +#define KBEVENT_PRESSED_SELECT 8 +#define KBEVENT_PRESSED_START 9 + +#define KBROW_COUNT 4 + +enum +{ + KBPAGE_LETTERS_LOWER, + KBPAGE_LETTERS_UPPER, + KBPAGE_SYMBOLS, + KBPAGE_COUNT, +}; + +enum +{ + MAIN_STATE_BEGIN_FADE_IN, + MAIN_STATE_WAIT_FADE_IN, + MAIN_STATE_HANDLE_INPUT, + MAIN_STATE_MOVE_TO_OK_BUTTON, + MAIN_STATE_START_PAGE_SWAP, + MAIN_STATE_WAIT_PAGE_SWAP, + MAIN_STATE_6, + MAIN_STATE_UPDATE_SENT_TO_PC_MESSAGE, + MAIN_STATE_BEGIN_FADE_OUT, + MAIN_STATE_WAIT_FADE_OUT_AND_EXIT, +}; + +enum +{ + INPUT_STATE_DISABLED, + INPUT_STATE_ENABLED, +}; + +enum +{ + KEY_ROLE_CHAR, + KEY_ROLE_PAGE, + KEY_ROLE_BACKSPACE, + KEY_ROLE_OK, +}; + +struct NamingScreenTemplate +{ + u8 copyExistingString; + u8 maxChars; + u8 iconFunction; + u8 addGenderIcon; + u8 initialPage; + const u8 *title; +}; + +struct NamingScreenData +{ + /*0x0*/ u8 tilemapBuffer1[0x800]; + /*0x800*/ u8 tilemapBuffer2[0x800]; + /*0x800*/ u8 tilemapBuffer3[0x800]; + /*0x1800*/ u8 textBuffer[0x10]; + /*0x1810*/ u8 tileBuffer[0x600]; + /*0x1E10*/ u8 state; + /*0x1E11*/ u8 windows[5]; + /*0x1E16*/ u16 inputCharBaseXPos; + /*0x1E18*/ u16 bg1vOffset; + /*0x1E1A*/ u16 bg2vOffset; + /*0x1E1C*/ u16 bg1Priority; + /*0x1E1E*/ u16 bg2Priority; + /*0x1E20*/ u8 bgToReveal; + /*0x1E21*/ u8 bgToHide; + /*0x1E22*/ u8 currentPage; + /*0x1E23*/ u8 cursorSpriteId; + /*0x1E24*/ u8 selectBtnFrameSpriteId; + /*0x1E25*/ u8 keyRepeatStartDelayCopy; + /*0x1E28*/ const struct NamingScreenTemplate *template; + /*0x1E2C*/ u8 templateNum; + /*0x1E30*/ u8 *destBuffer; + /*0x1E34*/ u16 monSpecies; + /*0x1E36*/ u16 monGender; + /*0x1E38*/ u32 monPersonality; + /*0x1E3C*/ MainCallback returnCallback; +}; + +static EWRAM_DATA struct NamingScreenData * sNamingScreenData = NULL; + +static void CB2_NamingScreen(void); +static void NamingScreen_Init(void); +static void NamingScreen_InitBGs(void); +static void sub_809DD60(void); +static void sub_809DD88(u8 taskId); +static bool8 MainState_BeginFadeIn(void); +static bool8 MainState_WaitFadeIn(void); +static bool8 MainState_HandleInput(void); +static bool8 MainState_MoveToOKButton(void); +static bool8 pokemon_store(void); +static bool8 MainState_BeginFadeInOut(void); +static bool8 MainState_WaitFadeOutAndExit(void); +static void pokemon_transfer_to_pc_with_message(void); +static bool8 sub_809E1D4(void); +static bool8 MainState_StartPageSwap(void); +static bool8 MainState_WaitPageSwap(void); +static void StartPageSwapAnim(void); +static void Task_HandlePageSwapAnim(u8 taskId); +static bool8 IsPageSwapAnimNotInProgress(void); +static bool8 PageSwapAnimState_Init(struct Task * task); +static bool8 PageSwapAnimState_1(struct Task * task); +static bool8 PageSwapAnimState_2(struct Task * task); +static bool8 PageSwapAnimState_Done(struct Task * task); +static void sub_809E518(u8 a0, u8 a1, u8 a2); +static void Task_809E58C(u8 taskId); +static u16 sub_809E644(u8 tag); +static void sub_809E6B8(u8 a0); +static void sub_809E6E0(struct Task * task, u8 a1, u8 a2); +static void sub_809E700(struct Sprite * sprite); +static void sub_809E7F0(struct Sprite * sprite); +static void sub_809E83C(struct Sprite * sprite); +static void sub_809E898(void); +static void CursorInit(void); +static void SetCursorPos(s16 x, s16 y); +static void GetCursorPos(s16 *xP, s16 *yP); +static void MoveCursorToOKButton(void); +static void sub_809EA0C(u8 a0); +static void sub_809EA64(u8 a0); +static bool8 IsCursorAnimFinished(void); +static u8 GetCurrentPageColumnCount(void); +static void CreatePageSwitcherSprites(void); +static void sub_809EC20(void); +static bool8 PageSwapSpritesCB_Init(struct Sprite * sprite); +static bool8 PageSwapSpritesCB_Idle(struct Sprite * sprite); +static bool8 PageSwapSpritesCB_SwapHide(struct Sprite * sprite); +static bool8 PageSwapSpritesCB_SwapShow(struct Sprite * sprite); +static void sub_809ED88(u8 a0, struct Sprite * spr1, struct Sprite * spr2); +static void CreateBackOkSprites(void); +static void CreateUnderscoreSprites(void); +static void CreateInputTargetIcon(void); +static void NamingScreen_NoCreateIcon(void); +static void NamingScreen_CreatePlayerIcon(void); +static void NamingScreen_CreatePCIcon(void); +static void NamingScreen_CreateMonIcon(void); +static void NamingScreen_CreateRivalIcon(void); +static bool8 HandleKeyboardEvent(void); +static bool8 KeyboardKeyHandler_Character(u8); +static bool8 KeyboardKeyHandler_Page(u8); +static bool8 KeyboardKeyHandler_Backspace(u8); +static bool8 KeyboardKeyHandler_OK(u8); +static bool8 TriggerKeyboardChange(void); +static u8 GetInputEvent(void); +static void SetInputState(u8 state); +static void Task_HandleInput(u8 taskId); +static void InputState_Disabled(struct Task * task); +static void InputState_Enabled(struct Task * task); +static void HandleDpadMovement(struct Task * task); +static void PrintTitle(void); +static void AddGenderIconFunc_No(void); +static void AddGenderIconFunc_Yes(void); +static void DeleteTextCharacter(void); +static u8 GetTextCaretPosition(void); +static bool8 AppendCharToBuffer_CheckBufferFull(void); +static void AddTextCharacter(u8 character); +static void CopyStringToDestBuffer(void); +static void choose_name_or_words_screen_load_bg_tile_patterns(void); +static void sub_809F8C0(void); +static void choose_name_or_words_screen_apply_bg_pals(void); +static void DecompressToBgTilemapBuffer(u8 bgId, const u32 * tmap); +static void PrintBufferCharactersOnScreen(void); +static void sub_809F9E8(u8 windowId, u8 kbPage); +static void sub_809FA60(void); +static void sub_809FAE4(void); +static void sub_809FB70(void); +static void NamingScreen_TurnOffScreen(void); +static void NamingScreen_InitDisplayMode(void); +static void VBlankCB_NamingScreen(void); +static void ShowAllBgs(void); +static bool8 IsLetter(u8 character); + +// Forward declarations + +static const struct SubspriteTable gUnknown_83E2504[]; +static const struct SubspriteTable gUnknown_83E250C[]; +static const struct SubspriteTable gUnknown_83E2524[]; +static const struct SubspriteTable gUnknown_83E252C[]; + +static const struct SpriteTemplate gUnknown_83E2574; +static const struct SpriteTemplate gUnknown_83E258C; +static const struct SpriteTemplate gUnknown_83E25A4; +static const struct SpriteTemplate gUnknown_83E25BC; +static const struct SpriteTemplate gUnknown_83E25D4; +static const struct SpriteTemplate gUnknown_83E25EC; +static const struct SpriteTemplate sSpriteTemplate_InputArrow; +static const struct SpriteTemplate sSpriteTemplate_Underscore; +static const struct SpriteTemplate gUnknown_83E2634; + +static const u8 *const sNamingScreenKeyboardText[][KBROW_COUNT]; + +static const struct SpriteSheet gUnknown_83E267C[]; +static const struct SpritePalette gUnknown_83E26E4[]; + +static const u16 gUnknown_83E1800[] = INCBIN_U16("graphics/interface/naming_screen_83E1800.4bpp"); +static const u16 gUnknown_83E18C0[] = INCBIN_U16("graphics/interface/naming_screen_83E18C0.4bpp"); +static const u16 gUnknown_83E1980[] = INCBIN_U16("graphics/interface/naming_screen_83E1980.4bpp"); + +static const u8 *const sTransferredToPCMessages[] = { + Text_MonSentToBoxInSomeonesPC, + Text_MonSentToBoxInBillsPC, + Text_MonSentToBoxSomeonesBoxFull, + Text_MonSentToBoxBillsBoxFull +}; + +static const struct BgTemplate gUnknown_83E2290[4] = { + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0x000 + }, { + .bg = 1, + .charBaseIndex = 2, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0x000 + }, { + .bg = 2, + .charBaseIndex = 2, + .mapBaseIndex = 28, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0x000 + }, { + .bg = 3, + .charBaseIndex = 3, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0x000 + } +}; + +static const struct WindowTemplate gUnknown_83E22A0[6] = { + { + .bg = 1, + .tilemapLeft = 3, + .tilemapTop = 10, + .width = 19, + .height = 8, + .paletteNum = 10, + .baseBlock = 0x0030 + }, { + .bg = 2, + .tilemapLeft = 3, + .tilemapTop = 10, + .width = 19, + .height = 8, + .paletteNum = 10, + .baseBlock = 0x00c8 + }, { + .bg = 3, + .tilemapLeft = 8, + .tilemapTop = 6, + .width = 14, + .height = 2, + .paletteNum = 10, + .baseBlock = 0x0030 + }, { + .bg = 3, + .tilemapLeft = 9, + .tilemapTop = 4, + .width = 16, + .height = 2, + .paletteNum = 10, + .baseBlock = 0x004c + }, { + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 0, + .width = 30, + .height = 2, + .paletteNum = 11, + .baseBlock = 0x006c + }, DUMMY_WIN_TEMPLATE +}; + +static const u8 gUnknown_83E22D0[][4][8] = { + [KBPAGE_LETTERS_LOWER] = { + __("abcdef ."), + __("ghijkl ,"), + __("mnopqrs"), + __("tuvwxyz"), + }, + [KBPAGE_LETTERS_UPPER] = { + __("ABCDEF ."), + __("GHIJKL ,"), + __("MNOPQRS"), + __("TUVWXYZ"), + }, + [KBPAGE_SYMBOLS] = { + __("01234"), + __("56789"), + __("!?♂♀/-"), + __("…“”‘'"), + } +}; + +static const u8 gUnknown_83E2330[] = { + [KBPAGE_LETTERS_LOWER] = 8, // lower + [KBPAGE_LETTERS_UPPER] = 8, // upper + [KBPAGE_SYMBOLS] = 6 +}; + +static const u8 gUnknown_83E2333[][8] = { + [KBPAGE_LETTERS_LOWER] = { + 0, + 12, + 24, + 56, + 68, + 80, + 92, + 123 + }, + [KBPAGE_LETTERS_UPPER] = { + 0, + 12, + 24, + 56, + 68, + 80, + 92, + 123 + }, + [KBPAGE_SYMBOLS] = { + 0, + 22, + 44, + 66, + 88, + 110 + } +}; + +static const struct NamingScreenTemplate *const sNamingScreenTemplates[]; + +void DoNamingScreen(u8 templateNum, u8 *destBuffer, u16 monSpecies, u16 monGender, u32 monPersonality, MainCallback returnCallback) +{ + sNamingScreenData = Alloc(sizeof(struct NamingScreenData)); + if (!sNamingScreenData) + { + SetMainCallback2(returnCallback); + } + else + { + sNamingScreenData->templateNum = templateNum; + sNamingScreenData->monSpecies = monSpecies; + sNamingScreenData->monGender = monGender; + sNamingScreenData->monPersonality = monPersonality; + sNamingScreenData->destBuffer = destBuffer; + sNamingScreenData->returnCallback = returnCallback; + + if (templateNum == 0) + StartTimer1(); + + SetMainCallback2(CB2_NamingScreen); + } +} + +static void CB2_NamingScreen(void) +{ + switch (gMain.state) + { + case 0: + NamingScreen_TurnOffScreen(); + NamingScreen_Init(); + gMain.state++; + break; + case 1: + NamingScreen_InitBGs(); + gMain.state++; + break; + case 2: + ResetPaletteFade(); + gMain.state++; + break; + case 3: + ResetSpriteData(); + FreeAllSpritePalettes(); + gMain.state++; + break; + case 4: + ResetTasks(); + gMain.state++; + break; + case 5: + choose_name_or_words_screen_apply_bg_pals(); + gMain.state++; + break; + case 6: + choose_name_or_words_screen_load_bg_tile_patterns(); + gMain.state++; + break; + case 7: + sub_809E898(); + UpdatePaletteFade(); + ShowAllBgs(); + gMain.state++; + break; + default: + sub_809F8C0(); + sub_809DD60(); + break; + } +} + +static void NamingScreen_Init(void) +{ + sNamingScreenData->state = 0; + sNamingScreenData->bg1vOffset = 0; + sNamingScreenData->bg2vOffset = 0; + sNamingScreenData->bg1Priority = BGCNT_PRIORITY(1); + sNamingScreenData->bg2Priority = BGCNT_PRIORITY(2); + sNamingScreenData->bgToReveal = 0; + sNamingScreenData->bgToHide = 1; + sNamingScreenData->template = sNamingScreenTemplates[sNamingScreenData->templateNum]; + sNamingScreenData->currentPage = sNamingScreenData->template->initialPage; + sNamingScreenData->inputCharBaseXPos = (240 - sNamingScreenData->template->maxChars * 8) / 2 + 6; + sNamingScreenData->keyRepeatStartDelayCopy = gKeyRepeatStartDelay; + memset(sNamingScreenData->textBuffer, 0xFF, sizeof(sNamingScreenData->textBuffer)); + if (sNamingScreenData->template->copyExistingString != 0) + StringCopy(sNamingScreenData->textBuffer, sNamingScreenData->destBuffer); + gKeyRepeatStartDelay = 16; +} + +static void sub_809DB70(void) +{ + u8 i; + for (i = 0; i < MAX_SPRITES; i++) + { + if (gSprites[i].inUse) + gSprites[i].invisible = FALSE; + } + sub_809EA0C(0); +} + +static void NamingScreen_InitBGs(void) +{ + u8 i; + + DmaClearLarge16(3, (void *)VRAM, VRAM_SIZE, 0x1000); + DmaClear32(3, (void *)OAM, OAM_SIZE); + DmaClear16(3, (void *)PLTT, PLTT_SIZE); + + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0); + ResetBgsAndClearDma3BusyFlags(FALSE); + InitBgsFromTemplates(0, gUnknown_83E2290, NELEMS(gUnknown_83E2290)); + + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + ChangeBgX(3, 0, 0); + ChangeBgY(3, 0, 0); + + InitStandardTextBoxWindows(); + ResetBg0(); + + for (i = 0; i < NELEMS(gUnknown_83E22A0) - 1; i++) + sNamingScreenData->windows[i] = AddWindow(&gUnknown_83E22A0[i]); + + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0xC, 0x8)); + + SetBgTilemapBuffer(1, sNamingScreenData->tilemapBuffer1); + SetBgTilemapBuffer(2, sNamingScreenData->tilemapBuffer2); + SetBgTilemapBuffer(3, sNamingScreenData->tilemapBuffer3); + + FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 0x20, 0x20); + FillBgTilemapBufferRect_Palette0(2, 0, 0, 0, 0x20, 0x20); + FillBgTilemapBufferRect_Palette0(3, 0, 0, 0, 0x20, 0x20); +} + +static void sub_809DD60(void) +{ + CreateTask(sub_809DD88, 2); + SetMainCallback2(sub_809FB70); + BackupHelpContext(); + SetHelpContext(HELPCONTEXT_NAMING_SCREEN); +} + +static void sub_809DD88(u8 taskId) +{ + switch (sNamingScreenData->state) + { + case MAIN_STATE_BEGIN_FADE_IN: + MainState_BeginFadeIn(); + sub_809DB70(); + NamingScreen_InitDisplayMode(); + break; + case MAIN_STATE_WAIT_FADE_IN: + MainState_WaitFadeIn(); + break; + case MAIN_STATE_HANDLE_INPUT: + MainState_HandleInput(); + break; + case MAIN_STATE_MOVE_TO_OK_BUTTON: + MainState_MoveToOKButton(); + break; + case MAIN_STATE_START_PAGE_SWAP: + MainState_StartPageSwap(); + break; + case MAIN_STATE_WAIT_PAGE_SWAP: + MainState_WaitPageSwap(); + break; + case MAIN_STATE_6: + pokemon_store(); + break; + case MAIN_STATE_UPDATE_SENT_TO_PC_MESSAGE: + sub_809E1D4(); + break; + case MAIN_STATE_BEGIN_FADE_OUT: + MainState_BeginFadeInOut(); + break; + case MAIN_STATE_WAIT_FADE_OUT_AND_EXIT: + MainState_WaitFadeOutAndExit(); + break; + } +} + +static const u8 sPageOrderLowerFirst[] = { + KBPAGE_LETTERS_LOWER, + KBPAGE_SYMBOLS, + KBPAGE_LETTERS_UPPER +}; + +static const u8 sPageOrderUpperFirst[] = { + KBPAGE_LETTERS_UPPER, + KBPAGE_LETTERS_LOWER, + KBPAGE_SYMBOLS +}; + +static const u8 sPageOrderSymbolsFirst[] = { + KBPAGE_SYMBOLS, + KBPAGE_LETTERS_UPPER, + KBPAGE_LETTERS_LOWER +}; + +static u8 sub_809DE20(u8 a1) +{ + return sPageOrderLowerFirst[a1]; +} + +static u8 sub_809DE30(void) +{ + return sPageOrderUpperFirst[sNamingScreenData->currentPage]; +} + +static u8 sub_809DE50(void) +{ + return sPageOrderSymbolsFirst[sNamingScreenData->currentPage]; +} + +static bool8 MainState_BeginFadeIn(void) +{ + DecompressToBgTilemapBuffer(3, gUnknown_8E982BC); + sNamingScreenData->currentPage = KBPAGE_LETTERS_UPPER; + DecompressToBgTilemapBuffer(2, gUnknown_8E98458); + DecompressToBgTilemapBuffer(1, gUnknown_8E98398); + sub_809F9E8(sNamingScreenData->windows[1], KBPAGE_LETTERS_LOWER); + sub_809F9E8(sNamingScreenData->windows[0], KBPAGE_LETTERS_UPPER); + PrintBufferCharactersOnScreen(); + PrintTitle(); + sub_809FAE4(); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); + CopyBgTilemapBufferToVram(3); + BlendPalettes(-1, 16, RGB_BLACK); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + sNamingScreenData->state++; + return FALSE; +} + +static bool8 MainState_WaitFadeIn(void) +{ + if (!gPaletteFade.active) + { + SetInputState(INPUT_STATE_ENABLED); + sub_809EA64(1); + sNamingScreenData->state++; + } + return FALSE; +} + +static bool8 MainState_HandleInput(void) +{ + return HandleKeyboardEvent(); +} + +static bool8 MainState_MoveToOKButton(void) +{ + if (IsCursorAnimFinished()) + { + SetInputState(INPUT_STATE_ENABLED); + MoveCursorToOKButton(); + sNamingScreenData->state = MAIN_STATE_HANDLE_INPUT; + } + return FALSE; +} + +static bool8 pokemon_store(void) +{ + CopyStringToDestBuffer(); + SetInputState(INPUT_STATE_DISABLED); + sub_809EA64(0); + sub_809E518(3, 0, 1); + if (sNamingScreenData->templateNum == NAMING_SCREEN_CAUGHT_MON && + CalculatePlayerPartyCount() >= 6) + { + pokemon_transfer_to_pc_with_message(); + sNamingScreenData->state = MAIN_STATE_UPDATE_SENT_TO_PC_MESSAGE; + return FALSE; + } + else + { + sNamingScreenData->state = MAIN_STATE_BEGIN_FADE_OUT; + return TRUE; //Exit the naming screen + } +} + +static bool8 MainState_BeginFadeInOut(void) +{ + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + sNamingScreenData->state++; + return FALSE; +} + +static bool8 MainState_WaitFadeOutAndExit(void) +{ + if (!gPaletteFade.active) + { + if (sNamingScreenData->templateNum == NAMING_SCREEN_PLAYER) + SeedRngAndSetTrainerId(); + SetMainCallback2(sNamingScreenData->returnCallback); + DestroyTask(FindTaskIdByFunc(sub_809DD88)); + FreeAllWindowBuffers(); + FREE_AND_SET_NULL(sNamingScreenData); + RestoreHelpContext(); + } + return FALSE; +} + +static void pokemon_transfer_to_pc_with_message(void) +{ + u8 stringToDisplay = 0; + + if (!IsDestinationBoxFull()) + { + StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_PC_BOX_TO_SEND_MON))); + StringCopy(gStringVar2, sNamingScreenData->destBuffer); + } + else + { + StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_PC_BOX_TO_SEND_MON))); + StringCopy(gStringVar2, sNamingScreenData->destBuffer); + StringCopy(gStringVar3, GetBoxNamePtr(GetPCBoxToSendMon())); + stringToDisplay = 2; + } + + if (FlagGet(FLAG_SYS_NOT_SOMEONES_PC)) + stringToDisplay++; + + StringExpandPlaceholders(gStringVar4, sTransferredToPCMessages[stringToDisplay]); + DrawDialogueFrame(0, FALSE); + gTextFlags.canABSpeedUpPrint = TRUE; + AddTextPrinterParameterized2(0, 2, gStringVar4, GetTextSpeedSetting(), NULL, TEXT_COLOR_DARK_GREY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GREY); + CopyWindowToVram(0, 3); +} + +static bool8 sub_809E1D4(void) +{ + RunTextPrinters(); + + if (!IsTextPrinterActive(0) && (JOY_NEW(A_BUTTON))) + sNamingScreenData->state = MAIN_STATE_BEGIN_FADE_OUT; + + return FALSE; +} + +static bool8 MainState_StartPageSwap(void) +{ + SetInputState(INPUT_STATE_DISABLED); + sub_809EC20(); + StartPageSwapAnim(); + sub_809EA0C(1); + sub_809E518(0, 0, 1); + PlaySE(SE_WIN_OPEN); + sNamingScreenData->state = MAIN_STATE_WAIT_PAGE_SWAP; + return FALSE; +} + +static bool8 MainState_WaitPageSwap(void) +{ + s16 cursorX; + s16 cursorY; + bool32 var3; + + if (IsPageSwapAnimNotInProgress()) + { + + GetCursorPos(&cursorX, &cursorY); + var3 = (cursorX == GetCurrentPageColumnCount()); + + sNamingScreenData->state = MAIN_STATE_HANDLE_INPUT; + sNamingScreenData->currentPage++; + sNamingScreenData->currentPage %= 3; + + if (var3) + { + cursorX = GetCurrentPageColumnCount(); + } + else + { + if (cursorX >= GetCurrentPageColumnCount()) + cursorX = GetCurrentPageColumnCount() - 1; + } + + SetCursorPos(cursorX, cursorY); + sub_809FA60(); + SetInputState(INPUT_STATE_ENABLED); + sub_809EA0C(0); + } + return FALSE; +} + +//-------------------------------------------------- +// Page Swap +//-------------------------------------------------- + +#define tState data[0] +#define tFrameCount data[1] + +static bool8 (*const sPageSwapAnimStateFuncs[])(struct Task * task) = { + PageSwapAnimState_Init, + PageSwapAnimState_1, + PageSwapAnimState_2, + PageSwapAnimState_Done +}; + +static void StartPageSwapAnim(void) +{ + u8 taskId; + + taskId = CreateTask(Task_HandlePageSwapAnim, 0); + Task_HandlePageSwapAnim(taskId); +} + +static void Task_HandlePageSwapAnim(u8 taskId) +{ + while (sPageSwapAnimStateFuncs[gTasks[taskId].tState](&gTasks[taskId])) + ; +} + +static bool8 IsPageSwapAnimNotInProgress(void) +{ + if (FindTaskIdByFunc(Task_HandlePageSwapAnim) == 0xFF) + return TRUE; + else + return FALSE; +} + +static bool8 PageSwapAnimState_Init(struct Task *task) +{ + sNamingScreenData->bg1vOffset = 0; + sNamingScreenData->bg2vOffset = 0; + task->tState++; + return 0; +} + +static bool8 PageSwapAnimState_1(struct Task *task) +{ + u16 *const arr[] = + { + &sNamingScreenData->bg2vOffset, + &sNamingScreenData->bg1vOffset + }; + + task->tFrameCount += 4; + *arr[sNamingScreenData->bgToReveal] = Sin(task->tFrameCount, 40); + *arr[sNamingScreenData->bgToHide] = Sin((task->tFrameCount + 128) & 0xFF, 40); + if (task->tFrameCount >= 64) + { + u8 temp = sNamingScreenData->bg1Priority; //Why u8 and not u16? + + sNamingScreenData->bg1Priority = sNamingScreenData->bg2Priority; + sNamingScreenData->bg2Priority = temp; + task->tState++; + } + return 0; +} + +static bool8 PageSwapAnimState_2(struct Task *task) +{ + u16 *const arr[] = + { + &sNamingScreenData->bg2vOffset, + &sNamingScreenData->bg1vOffset + }; + + task->tFrameCount += 4; + *arr[sNamingScreenData->bgToReveal] = Sin(task->tFrameCount, 40); + *arr[sNamingScreenData->bgToHide] = Sin((task->tFrameCount + 128) & 0xFF, 40); + if (task->tFrameCount >= 128) + { + u8 temp = sNamingScreenData->bgToReveal; + + sNamingScreenData->bgToReveal = sNamingScreenData->bgToHide; + sNamingScreenData->bgToHide = temp; + task->tState++; + } + return 0; +} + +static bool8 PageSwapAnimState_Done(struct Task *task) +{ + DestroyTask(FindTaskIdByFunc(Task_HandlePageSwapAnim)); + return 0; +} + +#undef tState +#undef tFrameCount + +//-------------------------------------------------- +// Cursor blink +//-------------------------------------------------- + +#define tIdent data[0] + +static void sub_809E4F0(void) +{ + u8 taskId; + + taskId = CreateTask(Task_809E58C, 3); + gTasks[taskId].data[0] = 3; +} + +static void sub_809E518(u8 a, u8 b, u8 c) +{ + struct Task *task = &gTasks[FindTaskIdByFunc(Task_809E58C)]; + + if (a == task->data[0] && c == 0) + { + task->data[1] = b; + task->data[2] = 1; + return; + } + if (a == 3 && task->data[1] == 0 && c == 0) + return; + if (task->data[0] != 3) + sub_809E6B8(task->data[0]); + sub_809E6E0(task, a, b); +} + +static void Task_809E58C(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + if (task->data[0] == 3 || task->data[2] == 0) + return; + MultiplyInvertedPaletteRGBComponents(sub_809E644(task->data[0]), task->data[3], task->data[3], task->data[3]); + if (task->data[5] != 0) + { + task->data[5]--; + if (task->data[5] != 0) + return; + } + task->data[5] = 2; + if (task->data[4] >= 0) + { + if (task->data[3] < 14) + { + task->data[3] += task->data[4]; + task->data[6] += task->data[4]; + } + else + { + task->data[3] = 16; + task->data[6]++; + } + } + else + { + task->data[3] += task->data[4]; + task->data[6] += task->data[4]; + } + + if (task->data[3] == 16 && task->data[6] == 22) + { + task->data[4] = -4; + } + else if (task->data[3] == 0) + { + task->data[2] = task->data[1]; + task->data[4] = 2; + task->data[6] = 0; + } +} + +static u16 sub_809E644(u8 a) +{ + const u16 arr[] = + { + IndexOfSpritePaletteTag(4) * 16 + 0x10E, // Swap + IndexOfSpritePaletteTag(6) * 16 + 0x10E, // BACK + IndexOfSpritePaletteTag(7) * 16 + 0x10E, // OK + IndexOfSpritePaletteTag(7) * 16 + 0x101, // kbd + }; + + return arr[a]; +} + +static void sub_809E6B8(u8 a) +{ + u16 index = sub_809E644(a); + + gPlttBufferFaded[index] = gPlttBufferUnfaded[index]; +} + +static void sub_809E6E0(struct Task *task, u8 b, u8 c) +{ + task->data[0] = b; + task->data[1] = c; + task->data[2] = 1; + task->data[3] = 4; + task->data[4] = 2; + task->data[5] = 0; + task->data[6] = 4; +} + +//-------------------------------------------------- +// Cursor +//-------------------------------------------------- + +static void sub_809E700(struct Sprite *sprite) +{ + if (sprite->animEnded) + StartSpriteAnim(sprite, 0); + sprite->invisible = (sprite->data[4] & 0xFF); + if (sprite->data[0] == GetCurrentPageColumnCount()) + sprite->invisible = TRUE; + if (sprite->invisible || (sprite->data[4] & 0xFF00) == 0 + || sprite->data[0] != sprite->data[2] || sprite->data[1] != sprite->data[3]) + { + sprite->data[5] = 0; + sprite->data[6] = 2; + sprite->data[7] = 2; + } + sprite->data[7]--; + if (sprite->data[7] == 0) + { + sprite->data[5] += sprite->data[6]; + if (sprite->data[5] == 16 || sprite->data[5] == 0) + sprite->data[6] = -sprite->data[6]; + sprite->data[7] = 2; + } + if ((sprite->data[4] & 0xFF00) != 0) + { + s8 gb = sprite->data[5]; + s8 r = sprite->data[5] >> 1; + u16 index = IndexOfSpritePaletteTag(5) * 16 + 0x0101; + + MultiplyInvertedPaletteRGBComponents(index, r, gb, gb); + } +} + +static void sub_809E7F0(struct Sprite *sprite) +{ + const s16 arr[] = {0, -4, -2, -1}; + + if (sprite->data[0] == 0 || --sprite->data[0] == 0) + { + sprite->data[0] = 8; + sprite->data[1] = (sprite->data[1] + 1) & 3; + } + sprite->pos2.x = arr[sprite->data[1]]; +} + +static void sub_809E83C(struct Sprite *sprite) +{ + const s16 arr[] = {2, 3, 2, 1}; + u8 var; + + var = GetTextCaretPosition(); + if (var != (u8)sprite->data[0]) + { + sprite->pos2.y = 0; + sprite->data[1] = 0; + sprite->data[2] = 0; + } + else + { + sprite->pos2.y = arr[sprite->data[1]]; + sprite->data[2]++; + if (sprite->data[2] > 8) + { + sprite->data[1] = (sprite->data[1] + 1) & 3; + sprite->data[2] = 0; + } + } +} + +static void sub_809E898(void) +{ + CursorInit(); + CreatePageSwitcherSprites(); + CreateBackOkSprites(); + CreateUnderscoreSprites(); + CreateInputTargetIcon(); +} + +static void CursorInit(void) +{ + sNamingScreenData->cursorSpriteId = CreateSprite(&gUnknown_83E25EC, 38, 88, 1); + sub_809EA0C(1); + gSprites[sNamingScreenData->cursorSpriteId].oam.priority = 1; + gSprites[sNamingScreenData->cursorSpriteId].oam.objMode = ST_OAM_OBJ_BLEND; + gSprites[sNamingScreenData->cursorSpriteId].data[6] = 1; + gSprites[sNamingScreenData->cursorSpriteId].data[6] = 2; + SetCursorPos(0, 0); +} + +static void SetCursorPos(s16 x, s16 y) +{ + struct Sprite *cursorSprite = &gSprites[sNamingScreenData->cursorSpriteId]; + + if (x < gUnknown_83E2330[sub_809DE50()]) + cursorSprite->pos1.x = gUnknown_83E2333[sub_809DE50()][x] + 38; + else + cursorSprite->pos1.x = 0; + + cursorSprite->pos1.y = y * 16 + 88; + cursorSprite->data[2] = cursorSprite->data[0]; + cursorSprite->data[3] = cursorSprite->data[1]; + cursorSprite->data[0] = x; + cursorSprite->data[1] = y; +} + +static void GetCursorPos(s16 *x, s16 *y) +{ + struct Sprite *cursorSprite = &gSprites[sNamingScreenData->cursorSpriteId]; + + *x = cursorSprite->data[0]; + *y = cursorSprite->data[1]; +} + +static void MoveCursorToOKButton(void) +{ + SetCursorPos(GetCurrentPageColumnCount(), 2); +} + +static void sub_809EA0C(u8 a) +{ + gSprites[sNamingScreenData->cursorSpriteId].data[4] &= ~0xFF; + gSprites[sNamingScreenData->cursorSpriteId].data[4] |= a; + StartSpriteAnim(&gSprites[sNamingScreenData->cursorSpriteId], 0); +} + +static void sub_809EA64(u8 a) +{ + gSprites[sNamingScreenData->cursorSpriteId].data[4] &= 0xFF; + gSprites[sNamingScreenData->cursorSpriteId].data[4] |= a << 8; +} + +static void sub_809EAA8(void) +{ + StartSpriteAnim(&gSprites[sNamingScreenData->cursorSpriteId], 1); +} + +static bool8 IsCursorAnimFinished(void) +{ + return gSprites[sNamingScreenData->cursorSpriteId].animEnded; +} + +static const u8 sKeyRoles[] = {KEY_ROLE_PAGE, KEY_ROLE_BACKSPACE, KEY_ROLE_OK}; + +static u8 GetKeyRoleAtCursorPos(void) +{ + s16 cursorX; + s16 cursorY; + + GetCursorPos(&cursorX, &cursorY); + if (cursorX < GetCurrentPageColumnCount()) + return KEY_ROLE_CHAR; + else + return sKeyRoles[cursorY]; +} + +static u8 GetCurrentPageColumnCount(void) +{ + return gUnknown_83E2330[sub_809DE50()]; +} + +static void CreatePageSwitcherSprites(void) +{ + u8 spriteId1; + u8 spriteId2; + u8 spriteId3; + + spriteId1 = CreateSprite(&gUnknown_83E2574, 0xCC, 0x58, 0); + sNamingScreenData->selectBtnFrameSpriteId = spriteId1; + SetSubspriteTables(&gSprites[spriteId1], gUnknown_83E2504); + gSprites[spriteId1].invisible = TRUE; + + spriteId2 = CreateSprite(&gUnknown_83E25A4, 0xCC, 0x54, 1); + gSprites[spriteId1].data[6] = spriteId2; + SetSubspriteTables(&gSprites[spriteId2], gUnknown_83E250C); + gSprites[spriteId2].invisible = TRUE; + + spriteId3 = CreateSprite(&gUnknown_83E258C, 0xCC, 0x53, 2); + gSprites[spriteId3].oam.priority = 1; + gSprites[spriteId1].data[7] = spriteId3; + gSprites[spriteId3].invisible = TRUE; +} + +static void sub_809EC20(void) +{ + struct Sprite *sprite = &gSprites[sNamingScreenData->selectBtnFrameSpriteId]; + + sprite->data[0] = 2; + sprite->data[1] = sNamingScreenData->currentPage; +} + +static bool8 (*const sPageSwapSpritesCBs[])(struct Sprite * sprite) = { + PageSwapSpritesCB_Init, + PageSwapSpritesCB_Idle, + PageSwapSpritesCB_SwapHide, + PageSwapSpritesCB_SwapShow +}; + +static void SpriteCB_PageSwap(struct Sprite *sprite) +{ + while (sPageSwapSpritesCBs[sprite->data[0]](sprite)) + ; +} + +static bool8 PageSwapSpritesCB_Init(struct Sprite *sprite) +{ + struct Sprite *sprite1 = &gSprites[sprite->data[6]]; + struct Sprite *sprite2 = &gSprites[sprite->data[7]]; + + sub_809ED88(sub_809DE20(sNamingScreenData->currentPage), sprite1, sprite2); + sprite->data[0]++; + return FALSE; +} + +static bool8 PageSwapSpritesCB_Idle(struct Sprite *sprite) +{ + struct Sprite *sprite1 = &gSprites[sprite->data[6]]; + struct Sprite *sprite2 = &gSprites[sprite->data[7]]; + + return FALSE; +} + +static bool8 PageSwapSpritesCB_SwapHide(struct Sprite *sprite) +{ + struct Sprite *sprite1 = &gSprites[sprite->data[6]]; + struct Sprite *sprite2 = &gSprites[sprite->data[7]]; + u8 page; + + sprite1->pos2.y++; + if (sprite1->pos2.y > 7) + { + sprite->data[0]++; + sprite1->pos2.y = -4; + sprite1->invisible = TRUE; + page = sprite->data[1]; + sub_809ED88(sub_809DE20((page + 1) % 3), sprite1, sprite2); + } + return FALSE; +} + +static bool8 PageSwapSpritesCB_SwapShow(struct Sprite *sprite) +{ + struct Sprite *sprite1 = &gSprites[sprite->data[6]]; + struct Sprite *sprite2 = &gSprites[sprite->data[7]]; + + sprite1->invisible = FALSE; + sprite1->pos2.y++; + if (sprite1->pos2.y >= 0) + { + sprite1->pos2.y = 0; + sprite->data[0] = 1; + } + return FALSE; +} + +static const u16 gUnknown_83E2388[] = {1, 3, 2}; +static const u16 gUnknown_83E238E[] = {4, 6, 5}; + +static void sub_809ED88(u8 page, struct Sprite * sprite1, struct Sprite * sprite2) +{ + sprite2->oam.paletteNum = IndexOfSpritePaletteTag(gUnknown_83E2388[page]); + sprite1->sheetTileStart = GetSpriteTileStartByTag(gUnknown_83E238E[page]); + sprite1->subspriteTableNum = page; +} + +// + +static void CreateBackOkSprites(void) +{ + u8 spriteId; + + spriteId = CreateSprite(&gUnknown_83E25BC, 0xCC, 0x74, 0); + SetSubspriteTables(&gSprites[spriteId], gUnknown_83E2524); + gSprites[spriteId].invisible = TRUE; + + spriteId = CreateSprite(&gUnknown_83E25D4, 0xCC, 0x8C, 0); + SetSubspriteTables(&gSprites[spriteId], gUnknown_83E2524); + gSprites[spriteId].invisible = TRUE; +} + +static void CreateUnderscoreSprites(void) +{ + u8 spriteId; + s16 xPos; + u8 i; + + xPos = sNamingScreenData->inputCharBaseXPos - 5; + spriteId = CreateSprite(&sSpriteTemplate_InputArrow, xPos, 0x38, 0); + gSprites[spriteId].oam.priority = 3; + gSprites[spriteId].invisible = TRUE; + xPos = sNamingScreenData->inputCharBaseXPos; + for (i = 0; i < sNamingScreenData->template->maxChars; i++, xPos += 8) + { + spriteId = CreateSprite(&sSpriteTemplate_Underscore, xPos + 3, 0x3C, 0); + gSprites[spriteId].oam.priority = 3; + gSprites[spriteId].data[0] = i; + gSprites[spriteId].invisible = TRUE; + } +} + +//-------------------------------------------------- +// Icon creation (the thing you're naming or giving input to) +//-------------------------------------------------- + +static void (*const sIconFunctions[])(void) = { + NamingScreen_NoCreateIcon, + NamingScreen_CreatePlayerIcon, + NamingScreen_CreatePCIcon, + NamingScreen_CreateMonIcon, + NamingScreen_CreateRivalIcon +}; + +static void CreateInputTargetIcon(void) +{ + sIconFunctions[sNamingScreenData->template->iconFunction](); +} + +static void NamingScreen_NoCreateIcon(void) +{ + +} + +static void NamingScreen_CreatePlayerIcon(void) +{ + u8 rivalGfxId; + u8 spriteId; + + rivalGfxId = sub_805C7C8(0, sNamingScreenData->monSpecies); + spriteId = AddPseudoObjectEvent(rivalGfxId, SpriteCallbackDummy, 0x38, 0x25, 0); + gSprites[spriteId].oam.priority = 3; + StartSpriteAnim(&gSprites[spriteId], 4); +} + +static void NamingScreen_CreatePCIcon(void) +{ + u8 spriteId; + + spriteId = CreateSprite(&gUnknown_83E2634, 0x38, 0x29, 0); + SetSubspriteTables(&gSprites[spriteId], gUnknown_83E252C); + gSprites[spriteId].oam.priority = 3; +} + +static void NamingScreen_CreateMonIcon(void) +{ + u8 spriteId; + + LoadMonIconPalettes(); + spriteId = CreateMonIcon(sNamingScreenData->monSpecies, SpriteCallbackDummy, 0x38, 0x28, 0, sNamingScreenData->monPersonality, 1); + gSprites[spriteId].oam.priority = 3; +} + +static const union AnimCmd gUnknown_83E23A8[] = { + ANIMCMD_FRAME( 0, 10), + ANIMCMD_FRAME(24, 10), + ANIMCMD_FRAME( 0, 10), + ANIMCMD_FRAME(32, 10), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const gUnknown_83E23BC[] = { + gUnknown_83E23A8 +}; + +static void NamingScreen_CreateRivalIcon(void) +{ + const struct SpriteSheet sheet = { + gUnknown_83E1980, 0x900, 255 + }; + const struct SpritePalette palette = { + gUnknown_8E98004, 255 + }; + struct SpriteTemplate template; + const struct SubspriteTable * tables_p; + u8 spriteId; + + MakeObjectTemplateFromObjectEventGraphicsInfo(OBJ_EVENT_GFX_RED_NORMAL, SpriteCallbackDummy, &template, &tables_p); + + template.tileTag = sheet.tag; + template.paletteTag = palette.tag; + template.anims = gUnknown_83E23BC; + LoadSpriteSheet(&sheet); + LoadSpritePalette(&palette); + spriteId = CreateSprite(&template, 0x38, 0x25, 0); + gSprites[spriteId].oam.priority = 3; +} + +static bool8 (*const sKeyboardKeyHandlers[])(u8) = { + KeyboardKeyHandler_Character, + KeyboardKeyHandler_Page, + KeyboardKeyHandler_Backspace, + KeyboardKeyHandler_OK, +}; + +static bool8 HandleKeyboardEvent(void) +{ + u8 event = GetInputEvent(); + u8 keyRole = GetKeyRoleAtCursorPos(); + + if (event == KBEVENT_PRESSED_SELECT) + { + return TriggerKeyboardChange(); + } + else if (event == KBEVENT_PRESSED_B) + { + DeleteTextCharacter(); + return FALSE; + } + else if (event == KBEVENT_PRESSED_START) + { + MoveCursorToOKButton(); + return FALSE; + } + else + { + return sKeyboardKeyHandlers[keyRole](event); + } +} + +static bool8 KeyboardKeyHandler_Character(u8 event) +{ + sub_809E518(3, 0, 0); + if (event == KBEVENT_PRESSED_A) + { + bool8 var = AppendCharToBuffer_CheckBufferFull(); + + sub_809EAA8(); + if (var) + { + SetInputState(INPUT_STATE_DISABLED); + sNamingScreenData->state = MAIN_STATE_MOVE_TO_OK_BUTTON; + } + } + return FALSE; +} + +static bool8 KeyboardKeyHandler_Page(u8 event) +{ + sub_809E518(0, 1, 0); + if (event == KBEVENT_PRESSED_A) + return TriggerKeyboardChange(); + else + return FALSE; +} + +static bool8 KeyboardKeyHandler_Backspace(u8 event) +{ + sub_809E518(1, 1, 0); + if (event == KBEVENT_PRESSED_A) + DeleteTextCharacter(); + return FALSE; +} + +static bool8 KeyboardKeyHandler_OK(u8 event) +{ + sub_809E518(2, 1, 0); + if (event == KBEVENT_PRESSED_A) + { + PlaySE(SE_SELECT); + sNamingScreenData->state = MAIN_STATE_6; + return TRUE; + } + else + return FALSE; +} + +static bool8 TriggerKeyboardChange(void) +{ + sNamingScreenData->state = MAIN_STATE_START_PAGE_SWAP; + return TRUE; +} + +//-------------------------------------------------- +// Input handling +//-------------------------------------------------- + +enum +{ + FNKEY_CASE, + FNKEY_BACK, + FNKEY_OK, +}; + +#define tState data[0] +#define tKeyboardEvent data[1] +#define tKbFunctionKey data[2] + +static void (*const sInputStateFuncs[])(struct Task *) = { + InputState_Disabled, + InputState_Enabled +}; + +static void InputInit(void) +{ + CreateTask(Task_HandleInput, 1); +} + +static u8 GetInputEvent(void) +{ + u8 taskId = FindTaskIdByFunc(Task_HandleInput); + + return gTasks[taskId].tKeyboardEvent; +} + +static void SetInputState(u8 state) +{ + u8 taskId = FindTaskIdByFunc(Task_HandleInput); + + gTasks[taskId].tState = state; +} + +static void Task_HandleInput(u8 taskId) +{ + sInputStateFuncs[gTasks[taskId].tState](&gTasks[taskId]); +} + +static void InputState_Disabled(struct Task *task) +{ + task->tKeyboardEvent = 0; +} + +static void InputState_Enabled(struct Task *task) +{ + task->tKeyboardEvent = 0; + + if (JOY_NEW(A_BUTTON)) + task->tKeyboardEvent = KBEVENT_PRESSED_A; + else if (JOY_NEW(B_BUTTON)) + task->tKeyboardEvent = KBEVENT_PRESSED_B; + else if (JOY_NEW(SELECT_BUTTON)) + task->tKeyboardEvent = KBEVENT_PRESSED_SELECT; + else if (JOY_NEW(START_BUTTON)) + task->tKeyboardEvent = KBEVENT_PRESSED_START; + else + HandleDpadMovement(task); +} + +static void HandleDpadMovement(struct Task *task) +{ + const s16 sDpadDeltaX[] = { + 0, //none + 0, //up + 0, //down + -1, //left + 1 //right + }; + + const s16 sDpadDeltaY[] = { + 0, //none + -1, //up + 1, //down + 0, //left + 0 //right + }; + + const s16 s4RowTo3RowTableY[] = {0, 1, 1, 2}; + const s16 s3RowTo4RowTableY[] = {0, 0, 3}; + + s16 cursorX; + s16 cursorY; + u16 dpadDir; + s16 prevCursorX; + + GetCursorPos(&cursorX, &cursorY); + dpadDir = 0; + if (JOY_REPT(DPAD_UP)) + dpadDir = 1; + if (JOY_REPT(DPAD_DOWN)) + dpadDir = 2; + if (JOY_REPT(DPAD_LEFT)) + dpadDir = 3; + if (JOY_REPT(DPAD_RIGHT)) + dpadDir = 4; + + //Get new cursor position + prevCursorX = cursorX; + cursorX += sDpadDeltaX[dpadDir]; + cursorY += sDpadDeltaY[dpadDir]; + + //Wrap cursor position in the X direction + if (cursorX < 0) + cursorX = GetCurrentPageColumnCount(); + if (cursorX > GetCurrentPageColumnCount()) + cursorX = 0; + + //Handle cursor movement in X direction + if (sDpadDeltaX[dpadDir] != 0) + { + if (cursorX == GetCurrentPageColumnCount()) + { + //We are now on the last column + task->tKbFunctionKey = cursorY; + cursorY = s4RowTo3RowTableY[cursorY]; + } + else if (prevCursorX == GetCurrentPageColumnCount()) + { + if (cursorY == 1) + cursorY = task->tKbFunctionKey; + else + cursorY = s3RowTo4RowTableY[cursorY]; + } + } + + if (cursorX == GetCurrentPageColumnCount()) + { + //There are only 3 keys on the last column, unlike the others, + //so wrap Y accordingly + if (cursorY < 0) + cursorY = 2; + if (cursorY > 2) + cursorY = 0; + if (cursorY == 0) + task->tKbFunctionKey = FNKEY_BACK; + else if (cursorY == 2) + task->tKbFunctionKey = FNKEY_OK; + } + else + { + if (cursorY < 0) + cursorY = 3; + if (cursorY > 3) + cursorY = 0; + } + SetCursorPos(cursorX, cursorY); +} + +#undef tState +#undef tKeyboardEvent +#undef tKbFunctionKey + +static void PrintTitleFunction_NoMon(void) +{ + FillWindowPixelBuffer(sNamingScreenData->windows[3], PIXEL_FILL(1)); + AddTextPrinterParameterized(sNamingScreenData->windows[3], 1, sNamingScreenData->template->title, 1, 1, 0, NULL); + PutWindowTilemap(sNamingScreenData->windows[3]); +} + +static void PrintTitleFunction_WithMon(void) +{ + u8 buffer[0x20]; + + StringCopy(buffer, gSpeciesNames[sNamingScreenData->monSpecies]); + StringAppendN(buffer, sNamingScreenData->template->title, 15); + FillWindowPixelBuffer(sNamingScreenData->windows[3], PIXEL_FILL(1)); + AddTextPrinterParameterized(sNamingScreenData->windows[3], 1, buffer, 1, 1, 0, NULL); + PutWindowTilemap(sNamingScreenData->windows[3]); +} + +static void (*const sPrintTitleFuncs[])(void) = { + [NAMING_SCREEN_PLAYER] = PrintTitleFunction_NoMon, + [NAMING_SCREEN_BOX] = PrintTitleFunction_NoMon, + [NAMING_SCREEN_CAUGHT_MON] = PrintTitleFunction_WithMon, + [NAMING_SCREEN_NAME_RATER] = PrintTitleFunction_WithMon, + [NAMING_SCREEN_RIVAL] = PrintTitleFunction_NoMon +}; + +static void PrintTitle(void) +{ + sPrintTitleFuncs[sNamingScreenData->templateNum](); +} + +static void (*const sAddGenderIconFuncs[])(void) = { + AddGenderIconFunc_No, + AddGenderIconFunc_Yes +}; + +static void CallAddGenderIconFunc(void) +{ + sAddGenderIconFuncs[sNamingScreenData->template->addGenderIcon](); +} + +static void AddGenderIconFunc_No(void) +{ + +} + +static const u8 sGenderColors[2][3] = { + [MALE] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_LIGHT_BLUE, TEXT_COLOR_BLUE}, + [FEMALE] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_LIGHT_RED, TEXT_COLOR_RED} +}; + +static void AddGenderIconFunc_Yes(void) +{ + u8 genderSymbol[2]; + bool8 gender = MALE; + + StringCopy(genderSymbol, gText_MaleSymbol); + + if (sNamingScreenData->monGender != MON_GENDERLESS) + { + if (sNamingScreenData->monGender == MON_FEMALE) + { + StringCopy(genderSymbol, gText_FemaleSymbol); + gender = FEMALE; + } + AddTextPrinterParameterized3(sNamingScreenData->windows[2], 2, 0x68, 1, sGenderColors[gender], TEXT_SPEED_FF, genderSymbol); + } +} + +static u8 GetCharAtKeyboardPos(s16 x, s16 y) +{ + return gUnknown_83E22D0[sub_809DE50()][y][x]; +} + +static u8 GetTextCaretPosition(void) +{ + u8 i; + + for (i = 0; i < sNamingScreenData->template->maxChars; i++) + { + if (sNamingScreenData->textBuffer[i] == EOS) + return i; + } + return sNamingScreenData->template->maxChars - 1; +} + +static u8 GetPreviousTextCaretPosition(void) +{ + s8 i; + + for (i = sNamingScreenData->template->maxChars - 1; i > 0; i--) + { + if (sNamingScreenData->textBuffer[i] != EOS) + return i; + } + return 0; +} + +static void DeleteTextCharacter(void) +{ + u8 index; + u8 var2; + + index = GetPreviousTextCaretPosition(); + // Temporarily make this a space for redrawing purposes + sNamingScreenData->textBuffer[index] = CHAR_SPACE; + PrintBufferCharactersOnScreen(); + CopyBgTilemapBufferToVram(3); + sNamingScreenData->textBuffer[index] = EOS; + var2 = GetKeyRoleAtCursorPos(); + if (var2 == KEY_ROLE_CHAR || var2 == KEY_ROLE_BACKSPACE) + sub_809E518(1, 0, 1); + PlaySE(SE_BOWA); +} + +static bool8 AppendCharToBuffer_CheckBufferFull(void) +{ + s16 x; + s16 y; + + GetCursorPos(&x, &y); + AddTextCharacter(GetCharAtKeyboardPos(x, y)); + PrintBufferCharactersOnScreen(); + CopyBgTilemapBufferToVram(3); + PlaySE(SE_SELECT); + + if (GetPreviousTextCaretPosition() != sNamingScreenData->template->maxChars - 1) + return FALSE; + else + return TRUE; +} + +static void AddTextCharacter(u8 ch) +{ + u8 index = GetTextCaretPosition(); + + sNamingScreenData->textBuffer[index] = ch; +} + +static void CopyStringToDestBuffer(void) +{ + // Copy from the first non-whitespace character + u8 i; + + for (i = 0; i < sNamingScreenData->template->maxChars; i++) + { + if (sNamingScreenData->textBuffer[i] != CHAR_SPACE && sNamingScreenData->textBuffer[i] != EOS) + { + StringCopyN(sNamingScreenData->destBuffer, sNamingScreenData->textBuffer, sNamingScreenData->template->maxChars + 1); + break; + } + } +} + +static void choose_name_or_words_screen_load_bg_tile_patterns(void) +{ + LZ77UnCompWram(gNamingScreenMenu_Gfx, sNamingScreenData->tileBuffer); + LoadBgTiles(1, sNamingScreenData->tileBuffer, 0x600, 0); + LoadBgTiles(2, sNamingScreenData->tileBuffer, 0x600, 0); + LoadBgTiles(3, sNamingScreenData->tileBuffer, 0x600, 0); + LoadSpriteSheets(gUnknown_83E267C); + LoadSpritePalettes(gUnknown_83E26E4); +} + +static void sub_809F8C0(void) +{ + InputInit(); + sub_809E4F0(); +} + +static void choose_name_or_words_screen_apply_bg_pals(void) +{ + LoadPalette(gNamingScreenMenu_Pal, 0, 0xC0); + LoadPalette(gUnknown_8E97FE4, 0xA0, 0x20); + LoadPalette(stdpal_get(2), 0xB0, 0x20); +} + +static void DecompressToBgTilemapBuffer(u8 bg, const u32 *src) +{ + CopyToBgTilemapBuffer(bg, src, 0, 0); +} + +static void PrintBufferCharactersOnScreen(void) +{ + u8 i; + u8 temp[2]; + u16 xoff; + u8 maxChars = sNamingScreenData->template->maxChars; + u16 xpos = sNamingScreenData->inputCharBaseXPos - 0x40; + + FillWindowPixelBuffer(sNamingScreenData->windows[2], PIXEL_FILL(1)); + + for (i = 0; i < maxChars; i++) + { + temp[0] = sNamingScreenData->textBuffer[i]; + temp[1] = gExpandedPlaceholder_Empty[0]; + xoff = (IsLetter(temp[0]) == TRUE) ? 2 : 0; + + AddTextPrinterParameterized(sNamingScreenData->windows[2], 2, temp, i * 8 + xpos + xoff, 1, TEXT_SPEED_FF, NULL); + } + + CallAddGenderIconFunc(); + CopyWindowToVram(sNamingScreenData->windows[2], 2); + PutWindowTilemap(sNamingScreenData->windows[2]); +} + +struct TextColor // Needed because of alignment +{ + u8 colors[3][4]; +}; + +static const struct TextColor sTextColorStruct = { + { + {TEXT_DYNAMIC_COLOR_4, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY}, + {TEXT_DYNAMIC_COLOR_5, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY}, + {TEXT_DYNAMIC_COLOR_6, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY} + } +}; + +static const u8 sFillValues[KBPAGE_COUNT] = { + [KBPAGE_LETTERS_LOWER] = PIXEL_FILL(14), + [KBPAGE_LETTERS_UPPER] = PIXEL_FILL(13), + [KBPAGE_SYMBOLS] = PIXEL_FILL(15) +}; + +static const u8 *const sKeyboardTextColors[KBPAGE_COUNT] = { + [KBPAGE_LETTERS_LOWER] = sTextColorStruct.colors[1], + [KBPAGE_LETTERS_UPPER] = sTextColorStruct.colors[0], + [KBPAGE_SYMBOLS] = sTextColorStruct.colors[2] +}; + +static void sub_809F9E8(u8 window, u8 page) +{ + u8 i; + + FillWindowPixelBuffer(window, sFillValues[page]); + + for (i = 0; i < KBROW_COUNT; i++) + { + AddTextPrinterParameterized3(window, 1, 0, i * 16 + 1, sKeyboardTextColors[page], 0, sNamingScreenKeyboardText[page][i]); + } + + PutWindowTilemap(window); +} + +static const u32 *const gUnknown_83E244C[] = { + gUnknown_8E98398, + gUnknown_8E98458, + gUnknown_8E98518 +}; + +static void sub_809FA60(void) +{ + u8 bgId; + u8 bgId_copy; + u8 windowId; + u8 bg1Priority = GetGpuReg(REG_OFFSET_BG1CNT) & 3; + u8 bg2Priority = GetGpuReg(REG_OFFSET_BG2CNT) & 3; + + if (bg1Priority > bg2Priority) + { + bgId = 1; + bgId_copy = 1; + windowId = sNamingScreenData->windows[0]; + } + else + { + bgId = 2; + bgId_copy = 2; + windowId = sNamingScreenData->windows[1]; + } + + DecompressToBgTilemapBuffer(bgId, gUnknown_83E244C[sNamingScreenData->currentPage]); + sub_809F9E8(windowId, sub_809DE30()); + CopyBgTilemapBufferToVram(bgId_copy); +} + +static void sub_809FAE4(void) +{ + const u8 color[3] = { TEXT_DYNAMIC_COLOR_6, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY }; + int strwidth = GetStringWidth(0, gText_MoveOkBack, 0); + + FillWindowPixelBuffer(sNamingScreenData->windows[4], PIXEL_FILL(15)); + AddTextPrinterParameterized3(sNamingScreenData->windows[4], 0, 236 - strwidth, 0, color, 0, gText_MoveOkBack); + PutWindowTilemap(sNamingScreenData->windows[4]); + CopyWindowToVram(sNamingScreenData->windows[4], 3); +} + +static void sub_809FB70(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void NamingScreen_TurnOffScreen(void) +{ + SetVBlankCallback(NULL); + SetHBlankCallback(NULL); +} + +static void NamingScreen_InitDisplayMode(void) +{ + SetVBlankCallback(VBlankCB_NamingScreen); +} + +static void VBlankCB_NamingScreen(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + SetGpuReg(REG_OFFSET_BG1VOFS, sNamingScreenData->bg1vOffset); + SetGpuReg(REG_OFFSET_BG2VOFS, sNamingScreenData->bg2vOffset); + SetGpuReg(REG_OFFSET_BG1CNT, GetGpuReg(REG_OFFSET_BG1CNT) & 0xFFFC); // clear priority bits + SetGpuRegBits(REG_OFFSET_BG1CNT, sNamingScreenData->bg1Priority); + SetGpuReg(REG_OFFSET_BG2CNT, GetGpuReg(REG_OFFSET_BG2CNT) & 0xFFFC); // clear priority bits + SetGpuRegBits(REG_OFFSET_BG2CNT, sNamingScreenData->bg2Priority); +} + +static void ShowAllBgs(void) +{ + ShowBg(0); + ShowBg(1); + ShowBg(2); + ShowBg(3); +} + +static bool8 IsLetter(u8 character) +{ + u8 i; + + for (i = 0; gText_AlphabetUpperLower[i] != EOS; i++) + { + if (character == gText_AlphabetUpperLower[i]) + return TRUE; + } + return FALSE; +} + +//-------------------------------------------------- +// Unused debug functions +//-------------------------------------------------- + +static void Debug_DoNamingScreen_Player(void) +{ + DoNamingScreen(NAMING_SCREEN_PLAYER, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, MON_MALE, 0, CB2_ReturnToFieldWithOpenMenu); +} + +static void Debug_DoNamingScreen_Box(void) +{ + DoNamingScreen(NAMING_SCREEN_BOX, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, MON_MALE, 0, CB2_ReturnToFieldWithOpenMenu); +} + +static void Debug_DoNamingScreen_CaughtMon(void) +{ + DoNamingScreen(NAMING_SCREEN_CAUGHT_MON, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, MON_MALE, 0, CB2_ReturnToFieldWithOpenMenu); +} + +static void Debug_DoNamingScreen_NameRater(void) +{ + DoNamingScreen(NAMING_SCREEN_NAME_RATER, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, MON_MALE, 0, CB2_ReturnToFieldWithOpenMenu); +} + +static void Debug_DoNamingScreen_Rival(void) +{ + DoNamingScreen(NAMING_SCREEN_RIVAL, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, MON_MALE, 0, CB2_ReturnToFieldWithOpenMenu); +} + +//-------------------------------------------------- +// Forward-declared variables +//-------------------------------------------------- + +static const struct NamingScreenTemplate sPlayerNamingScreenTemplate = { + .copyExistingString = FALSE, + .maxChars = PLAYER_NAME_LENGTH, + .iconFunction = 1, + .addGenderIcon = 0, + .initialPage = KBPAGE_LETTERS_UPPER, + .title = gText_YourName, +}; + +static const struct NamingScreenTemplate sPcBoxNamingScreenTemplate = { + .copyExistingString = FALSE, + .maxChars = 8/*BOX_NAME_LENGTH*/, + .iconFunction = 2, + .addGenderIcon = 0, + .initialPage = KBPAGE_LETTERS_UPPER, + .title = gText_BoxName, +}; + +static const struct NamingScreenTemplate sMonNamingScreenTemplate = { + .copyExistingString = FALSE, + .maxChars = POKEMON_NAME_LENGTH, + .iconFunction = 3, + .addGenderIcon = 1, + .initialPage = KBPAGE_LETTERS_UPPER, + .title = gText_PkmnsNickname, +}; + +static const struct NamingScreenTemplate sRivalNamingScreenTemplate = { + .copyExistingString = FALSE, + .maxChars = OT_NAME_LENGTH, + .iconFunction = 4, + .addGenderIcon = 0, + .initialPage = KBPAGE_LETTERS_UPPER, + .title = gText_RivalsName, +}; + +static const struct NamingScreenTemplate *const sNamingScreenTemplates[] = { + &sPlayerNamingScreenTemplate, + &sPcBoxNamingScreenTemplate, + &sMonNamingScreenTemplate, + &sMonNamingScreenTemplate, + &sRivalNamingScreenTemplate, +}; + +static const struct OamData gOamData_858BFEC = { + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x8), + .x = 0, + .size = SPRITE_SIZE(8x8), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, +}; + +static const struct OamData gOamData_858BFF4 = { + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), + .x = 0, + .size = SPRITE_SIZE(16x16), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, +}; + +static const struct OamData gOamData_858BFFC = { + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x16), + .x = 0, + .size = SPRITE_SIZE(32x16), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, +}; + +static const struct Subsprite gUnknown_83E24B8[] = { + { + .x = -20, + .y = -16, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 1 + }, { + .x = 12, + .y = -16, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 4, + .priority = 1 + }, { + .x = -20, + .y = -8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 5, + .priority = 1 + }, { + .x = 12, + .y = -8, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 9, + .priority = 1 + }, { + .x = -20, + .y = 0, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 10, + .priority = 1 + }, { + .x = 12, + .y = 0, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 14, + .priority = 1 + }, { + .x = -20, + .y = 8, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 15, + .priority = 1 + }, { + .x = 12, + .y = 8, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 19, + .priority = 1 + } +}; + +static const struct Subsprite gUnknown_83E24D8[] = { + { + .x = -12, + .y = -4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 0, + .priority = 1 + }, { + .x = 4, + .y = -4, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 2, + .priority = 1 + } +}; + +static const struct Subsprite gUnknown_83E24E0[] = { + { + .x = -20, + .y = -12, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 0, + .priority = 1 + }, { + .x = 12, + .y = -12, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 4, + .priority = 1 + }, { + .x = -20, + .y = -4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 5, + .priority = 1 + }, { + .x = 12, + .y = -4, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 9, + .priority = 1 + }, { + .x = -20, + .y = 4, + .shape = SPRITE_SHAPE(32x8), + .size = SPRITE_SIZE(32x8), + .tileOffset = 10, + .priority = 1 + }, { + .x = 12, + .y = 4, + .shape = SPRITE_SHAPE(8x8), + .size = SPRITE_SIZE(8x8), + .tileOffset = 14, + .priority = 1 + } +}; + +static const struct Subsprite gUnknown_83E24F8[] = { + { + .x = -8, + .y = -12, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 0, + .priority = 3 + }, { + .x = -8, + .y = -4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 2, + .priority = 3 + }, { + .x = -8, + .y = 4, + .shape = SPRITE_SHAPE(16x8), + .size = SPRITE_SIZE(16x8), + .tileOffset = 4, + .priority = 3 + } +}; + +static const struct SubspriteTable gUnknown_83E2504[] = { + subsprite_table(gUnknown_83E24B8) +}; + +static const struct SubspriteTable gUnknown_83E250C[] = { + subsprite_table(gUnknown_83E24D8), + subsprite_table(gUnknown_83E24D8), + subsprite_table(gUnknown_83E24D8) +}; + +static const struct SubspriteTable gUnknown_83E2524[] = { + subsprite_table(gUnknown_83E24E0) +}; + +static const struct SubspriteTable gUnknown_83E252C[] = { + subsprite_table(gUnknown_83E24F8) +}; + +static const struct SpriteFrameImage gUnknown_0858C080[] = { + {gUnknown_83E1800, sizeof(gUnknown_83E1800)}, + {gUnknown_83E18C0, sizeof(gUnknown_83E18C0)}, +}; + +static const union AnimCmd gSpriteAnim_858C090[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd gSpriteAnim_858C098[] = { + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(8, 8), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_858C0A4[] = { + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const gSpriteAnimTable_858C0B0[] = { + gSpriteAnim_858C090 +}; + +static const union AnimCmd *const gSpriteAnimTable_858C0B4[] = { + gSpriteAnim_858C090, + gSpriteAnim_858C098 +}; + +static const union AnimCmd *const gSpriteAnimTable_858C0BC[] = { + gSpriteAnim_858C0A4 +}; + +static const struct SpriteTemplate gUnknown_83E2574 = { + .tileTag = 0x0002, + .paletteTag = 0x0004, + .oam = &gOamData_858BFEC, + .anims = gSpriteAnimTable_858C0B0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_PageSwap +}; + +static const struct SpriteTemplate gUnknown_83E258C = { + .tileTag = 0x0003, + .paletteTag = 0x0001, + .oam = &gOamData_858BFFC, + .anims = gSpriteAnimTable_858C0B0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_83E25A4 = { + .tileTag = 0x0004, + .paletteTag = 0x0004, + .oam = &gOamData_858BFEC, + .anims = gSpriteAnimTable_858C0B0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_83E25BC = { + .tileTag = 0x0000, + .paletteTag = 0x0006, + .oam = &gOamData_858BFEC, + .anims = gSpriteAnimTable_858C0B0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_83E25D4 = { + .tileTag = 0x0001, + .paletteTag = 0x0007, + .oam = &gOamData_858BFEC, + .anims = gSpriteAnimTable_858C0B0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate gUnknown_83E25EC = { + .tileTag = 0x0007, + .paletteTag = 0x0005, + .oam = &gOamData_858BFF4, + .anims = gSpriteAnimTable_858C0B4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_809E700 +}; + +static const struct SpriteTemplate sSpriteTemplate_InputArrow = { + .tileTag = 0x000A, + .paletteTag = 0x0003, + .oam = &gOamData_858BFEC, + .anims = gSpriteAnimTable_858C0B0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_809E7F0 +}; + +static const struct SpriteTemplate sSpriteTemplate_Underscore = { + .tileTag = 0x000B, + .paletteTag = 0x0003, + .oam = &gOamData_858BFEC, + .anims = gSpriteAnimTable_858C0B0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_809E83C +}; + +static const struct SpriteTemplate gUnknown_83E2634 = { + .tileTag = 0xFFFF, + .paletteTag = 0x0000, + .oam = &gOamData_858BFEC, + .anims = gSpriteAnimTable_858C0BC, + .images = gUnknown_0858C080, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const u8 *const sNamingScreenKeyboardText[KBPAGE_COUNT][KBROW_COUNT] = { + [KBPAGE_LETTERS_LOWER] = { + gText_NamingScreenKeyboard_abcdef, + gText_NamingScreenKeyboard_ghijkl, + gText_NamingScreenKeyboard_mnopqrs, + gText_NamingScreenKeyboard_tuvwxyz + }, + [KBPAGE_LETTERS_UPPER] = { + gText_NamingScreenKeyboard_ABCDEF, + gText_NamingScreenKeyboard_GHIJKL, + gText_NamingScreenKeyboard_MNOPQRS, + gText_NamingScreenKeyboard_TUVWXYZ + }, + [KBPAGE_SYMBOLS] = { + gText_NamingScreenKeyboard_01234, + gText_NamingScreenKeyboard_56789, + gText_NamingScreenKeyboard_Symbols1, + gText_NamingScreenKeyboard_Symbols2 + }, +}; + +// FIXME: Sync with Emerald +static const struct SpriteSheet gUnknown_83E267C[] = { + {gUnknown_8E98858, 0x1E0, 0x0000}, + {gUnknown_8E98A38, 0x1E0, 0x0001}, + {gUnknown_8E985D8, 0x280, 0x0002}, + {gUnknown_8E98FD8, 0x100, 0x0003}, + {gUnknown_8E98C18, 0x060, 0x0004}, + {gUnknown_8E98CB8, 0x060, 0x0005}, + {gUnknown_8E98D58, 0x060, 0x0006}, + {gUnknown_8E98DF8, 0x080, 0x0007}, + {gUnknown_8E98E98, 0x080, 0x0008}, + {gUnknown_8E98F38, 0x080, 0x0009}, + {gUnknown_8E990D8, 0x020, 0x000A}, + {gUnknown_8E990F8, 0x020, 0x000B}, + {} // terminator +}; + +static const struct SpritePalette gUnknown_83E26E4[] = { + {gNamingScreenMenu_Pal, 0x0000}, + {gNamingScreenMenu_Pal + 0x10, 0x0001}, + {gNamingScreenMenu_Pal + 0x20, 0x0002}, + {gNamingScreenMenu_Pal + 0x30, 0x0003}, + {gNamingScreenMenu_Pal + 0x40, 0x0004}, + {gNamingScreenMenu_Pal + 0x50, 0x0005}, + {gNamingScreenMenu_Pal + 0x40, 0x0006}, + {gNamingScreenMenu_Pal + 0x40, 0x0007}, + {} // terminator +}; diff --git a/src/new_game.c b/src/new_game.c index 05fb9c83e..d03e83b34 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -1,5 +1,4 @@ #include "global.h" -#include "new_game.h" #include "random.h" #include "main.h" #include "overworld.h" @@ -145,7 +144,7 @@ void NewGameInitData(void) ResetTrainerFanClub(); UnionRoomChat_InitializeRegisteredTexts(); ResetMiniGamesResults(); - sub_8143D24(); + InitMEventData(); SetAllRenewableItemFlags(); WarpToPlayersRoom(); ScriptContext2_RunNewScript(EventScript_ResetAllMapFlags); diff --git a/src/new_menu_helpers.c b/src/new_menu_helpers.c index 39340ca55..959370398 100644 --- a/src/new_menu_helpers.c +++ b/src/new_menu_helpers.c @@ -3,7 +3,6 @@ #include "dma3.h" #include "task.h" #include "bg.h" -#include "gpu_regs.h" #include "window.h" #include "menu.h" #include "menu_helpers.h" @@ -13,7 +12,6 @@ #include "field_specials.h" #include "text_window.h" #include "script.h" -#include "graphics.h" #include "palette.h" #define DLG_WINDOW_PALETTE_NUM 15 @@ -718,7 +716,7 @@ void DestroyHelpMessageWindow_(void) DestroyHelpMessageWindow(2); } -void sub_80F79A4(void) +void LoadSignPostWindowFrameGfx(void) { Menu_LoadStdPal(); sub_814FEEC(0, DLG_WINDOW_BASE_TILE_NUM, 0x10 * DLG_WINDOW_PALETTE_NUM); diff --git a/src/oak_speech.c b/src/oak_speech.c index 6887ff85a..11281da30 100644 --- a/src/oak_speech.c +++ b/src/oak_speech.c @@ -4,7 +4,6 @@ #include "task.h" #include "malloc.h" #include "gpu_regs.h" -#include "wild_encounter.h" #include "palette.h" #include "blend_palette.h" #include "text.h" @@ -25,7 +24,6 @@ #include "overworld.h" #include "random.h" #include "data.h" -#include "oak_speech.h" #include "constants/species.h" #include "constants/songs.h" @@ -514,7 +512,7 @@ static void Task_OaksSpeech1(u8 taskId) ResetSpriteData(); FreeAllSpritePalettes(); ResetTempTileDataBuffers(); - HelpSystem_SetSomeVariable2(2); + SetHelpContext(HELPCONTEXT_NEW_GAME); break; case 1: sOakSpeechResources = AllocZeroed(sizeof(*sOakSpeechResources)); @@ -1225,13 +1223,13 @@ static void Task_OakSpeech25(u8 taskId) GetDefaultName(sOakSpeechResources->unk_0010, 0); if (sOakSpeechResources->unk_0010 == 0) { - DoNamingScreen(0, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, 0, 0, CB2_ReturnFromNamingScreen); + DoNamingScreen(NAMING_SCREEN_PLAYER, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, 0, 0, CB2_ReturnFromNamingScreen); } else { ClearStdWindowAndFrameToTransparent(gTasks[taskId].data[13], 1); RemoveWindow(gTasks[taskId].data[13]); - DoNamingScreen(4, gSaveBlock1Ptr->rivalName, 0, 0, 0, CB2_ReturnFromNamingScreen); + DoNamingScreen(NAMING_SCREEN_RIVAL, gSaveBlock1Ptr->rivalName, 0, 0, 0, CB2_ReturnFromNamingScreen); } DestroyLinkedPikaOrGrassPlatformSprites(taskId, 1); FreeAllWindowBuffers(); diff --git a/src/option_menu.c b/src/option_menu.c index 5453dfa9e..56a4ec877 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -224,7 +224,7 @@ void CB2_OptionsMenuFromStartMenu(void) if (sOptionMenuPtr->option[i] > (sOptionMenuItemCounts[i]) - 1) sOptionMenuPtr->option[i] = 0; } - HelpSystem_SetSomeVariable2(0xD); + SetHelpContext(HELPCONTEXT_OPTIONS); SetMainCallback2(CB2_OptionMenu); } diff --git a/src/palette.c b/src/palette.c index 6609c9baa..04638f6d1 100644 --- a/src/palette.c +++ b/src/palette.c @@ -948,7 +948,7 @@ void sub_8071898(void) while (TRUE) { taskId = FindTaskIdByFunc(sub_80718B8); - if (taskId == TASK_NONE) + if (taskId == TAIL_SENTINEL) break; DestroyTask(taskId); } diff --git a/src/party_menu.c b/src/party_menu.c index df0e70b37..edf7e96f6 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -1,5 +1,5 @@ #include "global.h" -#include "malloc.h" +#include "gflib.h" #include "battle.h" #include "battle_anim.h" #include "battle_controllers.h" @@ -7,21 +7,17 @@ #include "battle_interface.h" #include "battle_tower.h" #include "berry_pouch.h" -#include "bg.h" #include "data.h" #include "decompress.h" #include "easy_chat.h" #include "event_data.h" #include "evolution_scene.h" -#include "field_control_avatar.h" #include "field_effect.h" #include "field_player_avatar.h" -#include "field_screen_effect.h" -#include "field_specials.h" +#include "field_fadetransition.h" #include "field_weather.h" #include "fieldmap.h" #include "fldeff.h" -#include "gpu_regs.h" #include "graphics.h" #include "help_system.h" #include "item.h" @@ -38,7 +34,6 @@ #include "new_menu_helpers.h" #include "metatile_behavior.h" #include "overworld.h" -#include "palette.h" #include "party_menu.h" #include "player_pc.h" #include "pokedex.h" @@ -46,26 +41,21 @@ #include "pokemon_icon.h" #include "pokemon_jump.h" #include "pokemon_special_anim.h" -#include "pokemon_storage_system.h" #include "pokemon_summary_screen.h" #include "quest_log.h" #include "region_map.h" #include "reshow_battle_screen.h" #include "scanline_effect.h" #include "script.h" -#include "sound.h" -#include "sprite.h" #include "start_menu.h" #include "string_util.h" #include "strings.h" #include "task.h" #include "teachy_tv.h" -#include "text.h" #include "text_window.h" #include "tm_case.h" #include "trade.h" #include "union_room.h" -#include "window.h" #include "constants/battle.h" #include "constants/easy_chat.h" #include "constants/field_effects.h" @@ -78,7 +68,6 @@ #include "constants/quest_log.h" #include "constants/songs.h" #include "constants/species.h" -#include "constants/vars.h" #define PARTY_PAL_SELECTED (1 << 0) #define PARTY_PAL_FAINTED (1 << 1) @@ -577,7 +566,7 @@ static bool8 ShowPartyMenu(void) ++gMain.state; break; case 19: - HelpSystem_SetSomeVariable2(5); + SetHelpContext(HELPCONTEXT_PARTY_MENU); ++gMain.state; break; case 20: @@ -3881,7 +3870,7 @@ static void CursorCB_Register(u8 taskId) u16 species = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES); u8 obedience = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_OBEDIENCE); - switch (CanRegisterMonForTradingBoard(*(struct GFtgtGnameSub *)sub_80F9800(), species2, species, obedience)) + switch (CanRegisterMonForTradingBoard(*(struct GFtgtGnameSub *)GetHostRFUtgtGname(), species2, species, obedience)) { case CANT_REGISTER_MON: StringExpandPlaceholders(gStringVar4, gText_PkmnCantBeTradedNow); @@ -3907,7 +3896,7 @@ static void CursorCB_Trade1(u8 taskId) u16 species2 = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES2); u16 species = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES); u8 obedience = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_OBEDIENCE); - u32 stringId = GetUnionRoomTradeMessageId(*(struct GFtgtGnameSub *)sub_80F9800(), gUnknown_203B064, species2, gUnionRoomOfferedSpecies, gUnionRoomRequestedMonType, species, obedience); + u32 stringId = GetUnionRoomTradeMessageId(*(struct GFtgtGnameSub *)GetHostRFUtgtGname(), gPartnerTgtGnameSub, species2, gUnionRoomOfferedSpecies, gUnionRoomRequestedMonType, species, obedience); if (stringId != UR_TRADE_MSG_NONE) { @@ -4048,7 +4037,7 @@ static void Task_HandleFieldMoveExitAreaYesNoInput(u8 taskId) bool8 FieldCallback_PrepareFadeInFromMenu(void) { - sub_807DC00(); + FadeInFromBlack(); CreateTask(Task_FieldMoveWaitForFade, 8); return TRUE; } @@ -6365,7 +6354,7 @@ void ChoosePartyMonByMenuType(u8 menuType) static bool8 CB2_FadeFromPartyMenu(void) { - sub_807DC00(); + FadeInFromBlack(); CreateTask(Task_PartyMenuWaitForFade, 10); return TRUE; } diff --git a/src/party_menu_specials.c b/src/party_menu_specials.c index 751684bd5..aba11a534 100644 --- a/src/party_menu_specials.c +++ b/src/party_menu_specials.c @@ -2,7 +2,6 @@ #include "data.h" #include "script.h" #include "overworld.h" -#include "battle.h" #include "palette.h" #include "pokemon.h" #include "party_menu.h" @@ -14,7 +13,7 @@ static void sub_80BF97C(u8 taskId); -void Special_ChooseMonFromParty(void) +void ChoosePartyMon(void) { u8 taskId; @@ -24,7 +23,7 @@ void Special_ChooseMonFromParty(void) BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); } -void Special_SelectMoveTutorMon(void) +void SelectMoveTutorMon(void) { u8 taskId; @@ -44,14 +43,14 @@ static void sub_80BF97C(u8 taskId) } } -void Special_SelectMove(void) +void SelectMoveDeleterMove(void) { ShowSelectMovePokemonSummaryScreen(gPlayerParty, gSpecialVar_0x8004, gPlayerPartyCount - 1, CB2_ReturnToField, 0); sub_8138B38(3); gFieldCallback = FieldCallback_ReturnToEventScript2; } -void Special_GetNumMovesSelectedMonHas(void) +void GetNumMovesSelectedMonHas(void) { u8 i; @@ -61,7 +60,7 @@ void Special_GetNumMovesSelectedMonHas(void) ++gSpecialVar_Result; } -void Special_BufferMoveDeleterNicknameAndMove(void) +void BufferMoveDeleterNicknameAndMove(void) { struct Pokemon *mon = &gPlayerParty[gSpecialVar_0x8004]; u16 move = GetMonData(mon, MON_DATA_MOVE1 + gSpecialVar_0x8005); @@ -92,7 +91,7 @@ static void ShiftMoveSlot(struct Pokemon *mon, u8 slotTo, u8 slotFrom) SetMonData(mon, MON_DATA_PP_BONUSES, &ppBonuses); } -void Special_MoveDeleterForgetMove(void) +void MoveDeleterForgetMove(void) { u16 i; @@ -102,7 +101,7 @@ void Special_MoveDeleterForgetMove(void) ShiftMoveSlot(&gPlayerParty[gSpecialVar_0x8004], i, i + 1); } -void Special_IsSelectedMonEgg(void) +void IsSelectedMonEgg(void) { if (GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_IS_EGG)) gSpecialVar_Result = TRUE; diff --git a/src/player_pc.c b/src/player_pc.c index 928676844..736c67a51 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -23,6 +23,7 @@ #include "party_menu.h" #include "constants/items.h" #include "constants/songs.h" +#include "constants/field_weather.h" #define PC_ITEM_ID 0 #define PC_QUANTITY 1 @@ -153,8 +154,8 @@ void BedroomPC(void) { u8 taskId; - gPlayerPcMenuManager.unk_9 = 0; - HelpSystem_BackupSomeVariable(); + gPlayerPcMenuManager.notInRoom = FALSE; + BackupHelpContext(); sItemOrder = gUnknown_8402200; sTopMenuItemCount = 3; taskId = CreateTask(TaskDummy, 0); @@ -165,8 +166,8 @@ void PlayerPC(void) { u8 taskId; - gPlayerPcMenuManager.unk_9 = 1; - HelpSystem_BackupSomeVariable(); + gPlayerPcMenuManager.notInRoom = TRUE; + BackupHelpContext(); sItemOrder = gUnknown_8402203; sTopMenuItemCount = 3; taskId = CreateTask(TaskDummy, 0); @@ -215,7 +216,7 @@ static void Task_TopMenuHandleInput(u8 taskId) static void Task_ReturnToTopMenu(u8 taskId) { - HelpSystem_RestoreSomeVariable(); + RestoreHelpContext(); DisplayItemMessageOnField(taskId, 2, gText_WhatWouldYouLikeToDo, Task_DrawPlayerPcTopMenu); } @@ -238,10 +239,10 @@ static void Task_PlayerPcMailbox(u8 taskId) gPlayerPcMenuManager.itemsAbove = 0; PCMailCompaction(); Task_SetPageItemVars(taskId); - if (gPlayerPcMenuManager.unk_9 == 0) - HelpSystem_SetSomeVariable2(34); + if (gPlayerPcMenuManager.notInRoom == FALSE) + SetHelpContext(HELPCONTEXT_BEDROOM_PC_MAILBOX); else - HelpSystem_SetSomeVariable2(30); + SetHelpContext(HELPCONTEXT_PLAYERS_PC_MAILBOX); if (MailboxPC_InitBuffers(gPlayerPcMenuManager.count) == TRUE) { ClearDialogWindowAndFrame(0, FALSE); @@ -257,7 +258,7 @@ static void Task_PlayerPcMailbox(u8 taskId) static void Task_PlayerPcTurnOff(u8 taskId) { - if (gPlayerPcMenuManager.unk_9 == 0) + if (gPlayerPcMenuManager.notInRoom == FALSE) ScriptContext1_SetupScript(EventScript_PalletTown_PlayersHouse_2F_ShutDownPC); else EnableBothScriptContexts(); @@ -267,10 +268,10 @@ static void Task_PlayerPcTurnOff(u8 taskId) static void Task_CreateItemStorageSubmenu(u8 taskId, u8 cursorPos) { s16 *data = gTasks[taskId].data; - if (gPlayerPcMenuManager.unk_9 == 0) - HelpSystem_SetSomeVariable2(33); + if (gPlayerPcMenuManager.notInRoom == FALSE) + SetHelpContext(HELPCONTEXT_BEDROOM_PC_ITEMS); else - HelpSystem_SetSomeVariable2(29); + SetHelpContext(HELPCONTEXT_PLAYERS_PC_ITEMS); tWindowId = AddWindow(&sWindowTemplate_ItemStorageSubmenu); SetStdWindowBorderStyle(tWindowId, FALSE); PrintTextArray(tWindowId, 2, GetMenuCursorDimensionByFont(2, 0), 2, 16, 3, sMenuActions_ItemPc); @@ -331,7 +332,7 @@ static void Task_DepositItem_WaitFadeAndGoToBag(u8 taskId) static void Task_PlayerPcDepositItem(u8 taskId) { gTasks[taskId].func = Task_DepositItem_WaitFadeAndGoToBag; - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); } static void Task_ReturnToItemStorageSubmenu(u8 taskId) @@ -347,7 +348,7 @@ static void CB2_ReturnFromDepositMenu(void) DrawDialogueFrame(0, TRUE); taskId = CreateTask(Task_ReturnToItemStorageSubmenu, 0); Task_CreateItemStorageSubmenu(taskId, 1); - sub_807DC00(); + FadeInFromBlack(); } static void Task_PlayerPcWithdrawItem(u8 taskId) @@ -376,7 +377,7 @@ static void CB2_ReturnFromWithdrawMenu(void) DrawDialogueFrame(0, TRUE); taskId = CreateTask(Task_ReturnToItemStorageSubmenu, 0); Task_CreateItemStorageSubmenu(taskId, 0); - sub_807DC00(); + FadeInFromBlack(); } static void Task_WithdrawItem_WaitFadeAndGoToItemStorage(u8 taskId) @@ -394,7 +395,7 @@ static void Task_WithdrawItemBeginFade(u8 taskId) { gTasks[taskId].func = Task_WithdrawItem_WaitFadeAndGoToItemStorage; ItemPc_SetInitializedFlag(0); - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); } static void Task_PlayerPcCancel(u8 taskId) @@ -556,7 +557,7 @@ static void Task_MailSubmenuHandleInput(u8 taskId) static void Task_PlayerPcReadMail(u8 taskId) { - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].func = Task_WaitFadeAndReadSelectedMail; } @@ -580,17 +581,17 @@ static void Task_WaitFadeAndReturnToMailboxPcInputHandler(u8 taskId) static void CB2_ReturnToMailbox(void) { u8 taskId; - if (gPlayerPcMenuManager.unk_9 == 0) - HelpSystem_SetSomeVariable2(34); + if (gPlayerPcMenuManager.notInRoom == FALSE) + SetHelpContext(HELPCONTEXT_BEDROOM_PC_MAILBOX); else - HelpSystem_SetSomeVariable2(30); + SetHelpContext(HELPCONTEXT_PLAYERS_PC_MAILBOX); LoadStdWindowFrameGfx(); taskId = CreateTask(Task_WaitFadeAndReturnToMailboxPcInputHandler, 0); if (MailboxPC_InitBuffers(gPlayerPcMenuManager.count) == TRUE) Task_DrawMailboxPcMenu(taskId); else DestroyTask(taskId); - sub_807DC00(); + FadeInFromBlack(); } static void CB2_SetCbToReturnToMailbox(void) @@ -663,7 +664,7 @@ static void Task_PlayerPcGiveMailToMon(u8 taskId) } else { - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].func = Task_WaitFadeAndGoToPartyMenu; } } @@ -683,10 +684,10 @@ static void CB2_ReturnToMailboxPc_UpdateScrollVariables(void) { u8 taskId; u8 count; - if (gPlayerPcMenuManager.unk_9 == 0) - HelpSystem_SetSomeVariable2(34); + if (gPlayerPcMenuManager.notInRoom == FALSE) + SetHelpContext(HELPCONTEXT_BEDROOM_PC_MAILBOX); else - HelpSystem_SetSomeVariable2(30); + SetHelpContext(HELPCONTEXT_PLAYERS_PC_MAILBOX); taskId = CreateTask(Task_WaitFadeAndReturnToMailboxPcInputHandler, 0); count = gPlayerPcMenuManager.count; gPlayerPcMenuManager.count = CountPCMail(); @@ -705,7 +706,7 @@ static void CB2_ReturnToMailboxPc_UpdateScrollVariables(void) Task_DrawMailboxPcMenu(taskId); else DestroyTask(taskId); - sub_807DC00(); + FadeInFromBlack(); } void Mailbox_ReturnToMailListAfterDeposit(void) diff --git a/src/pokeball.c b/src/pokeball.c index aeaba08ab..92b22abe6 100644 --- a/src/pokeball.c +++ b/src/pokeball.c @@ -15,7 +15,6 @@ #include "link.h" #include "battle_gfx_sfx_util.h" #include "constants/songs.h" -#include "constants/species.h" #define tFrames data[0] #define tPan data[1] diff --git a/src/pokedex_screen.c b/src/pokedex_screen.c index 2ccec7a3f..0219ca466 100644 --- a/src/pokedex_screen.c +++ b/src/pokedex_screen.c @@ -302,7 +302,7 @@ void CB2_OpenPokedexFromStartMenu(void) SetGpuReg(REG_OFFSET_BLDALPHA, 0); SetGpuReg(REG_OFFSET_BLDY, 0); SetMainCallback2(sub_81024D4); - HelpSystem_SetSomeVariable2(4); + SetHelpContext(HELPCONTEXT_POKEDEX); } #define FREE_IF_NOT_NULL(ptr0) ({ void * ptr = (ptr0); if (ptr) Free(ptr); }) @@ -562,8 +562,8 @@ void sub_8102F80(u8 taskId) switch (gUnknown_203ACF0->field_01) { case 0: - sub_8107D38(0x10, 0); - sub_8107D38(0x20, 1); + ListMenuLoadStdPalAt(0x10, 0); + ListMenuLoadStdPalAt(0x20, 1); gUnknown_203ACF0->field_48 = sub_8103518(gUnknown_203ACF0->field_42); gUnknown_203ACF0->field_01 = 2; break; @@ -648,8 +648,8 @@ void sub_8103238(u8 taskId) switch (gUnknown_203ACF0->field_01) { case 0: - sub_8107D38(0x10, 0); - sub_8107D38(0x20, 1); + ListMenuLoadStdPalAt(0x10, 0); + ListMenuLoadStdPalAt(0x20, 1); gUnknown_203ACF0->field_48 = sub_8103518(gUnknown_203ACF0->field_42); gUnknown_203ACF0->field_01 = 2; break; diff --git a/src/pokemon.c b/src/pokemon.c index 09e2ed998..f1f7834b1 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -90,7 +90,20 @@ static u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon); #include "data/battle_moves.h" -static const u8 sUnreferencedData[] = { 0x34, 0x00, 0x10, 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00 }; +// Used in an unreferenced function in RS. +// Unreferenced here and in Emerald. +struct CombinedMove +{ + u16 move1; + u16 move2; + u16 newMove; +}; + +static const struct CombinedMove sCombinedMoves[2] = +{ + {MOVE_EMBER, MOVE_GUST, MOVE_HEAT_WAVE}, + {0xFFFF, 0xFFFF, 0xFFFF} +}; static const u16 sSpeciesToHoennPokedexNum[] = // Assigns all species to the Hoenn Dex Index (Summary No. for Hoenn Dex) { diff --git a/src/pokemon_jump.c b/src/pokemon_jump.c new file mode 100644 index 000000000..063176151 --- /dev/null +++ b/src/pokemon_jump.c @@ -0,0 +1,254 @@ +#include "global.h" +#include "gflib.h" +#include "battle_anim.h" +#include "decompress.h" +#include "link.h" +#include "link_rfu.h" +#include "task.h" +#include "constants/songs.h" + +static void sub_8147654(u8 taskId); +static void sub_81477C0(u8 taskId); +static void sub_814784C(u8 taskId); +static void sub_81479D4(u8 taskId); +static void sub_8147A34(u8 taskId); + +static const u16 gUnknown_846AFE8[] = INCBIN_U16("graphics/misc/unk_846B008.gbapal"); +static const u32 gUnknown_846B008[] = INCBIN_U32("graphics/misc/unk_846B008.4bpp.lz"); + +static const struct CompressedSpriteSheet gUnknown_846B42C[] = { + {gUnknown_846B008, 0x0C00, 0x2000}, + {} +}; + +static const struct SpritePalette gUnknown_846B43C[] = { + {gUnknown_846AFE8, 0x2000}, + {} +}; + +static const union AnimCmd gUnknown_846B44C[] = { + ANIMCMD_FRAME(0x00, 0), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_846B454[] = { + ANIMCMD_FRAME(0x10, 0), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_846B45C[] = { + ANIMCMD_FRAME(0x20, 0), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_846B464[] = { + ANIMCMD_FRAME(0x40, 0), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_846B46C[] = { + ANIMCMD_FRAME(0x30, 0), + ANIMCMD_END +}; + +static const union AnimCmd gUnknown_846B474[] = { + ANIMCMD_FRAME(0x50, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const gUnknown_846B47C[] = { + gUnknown_846B44C, + gUnknown_846B454, + gUnknown_846B45C, + gUnknown_846B464, + gUnknown_846B46C, + gUnknown_846B474 +}; + +static const struct SpriteTemplate gUnknown_846B494[] = { + { + .tileTag = 0x2000, + .paletteTag = 0x2000, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gUnknown_846B47C, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy + }, +}; + +static const TaskFunc gUnknown_846B4AC[][4] = { + { sub_81477C0, sub_814784C, sub_81479D4, sub_8147A34 } +}; + +// Unused, but looks like it was intended to be a hook +UNUSED u8 sub_81475C0(u8 data1, u8 priority) +{ + u8 taskId; + struct Task * task; + + taskId = CreateTask(sub_8147654, priority); + task = &gTasks[taskId]; + task->data[0] = 1; + task->data[1] = data1; + gUnknown_846B4AC[data1][0](taskId); + return taskId; +} + +// Unused, but looks like it was intended to be a hook +UNUSED bool32 sub_814760C(void) +{ + u8 taskId; + + taskId = FindTaskIdByFunc(sub_8147654); + if (taskId == 0xFF) + return FALSE; + gTasks[taskId].data[0] = 2; + return TRUE; +} + +// Unused, but looks like it was intended to be a hook +UNUSED bool32 sub_8147640(void) +{ + return FuncIsActiveTask(sub_8147654); +} + +static void sub_8147654(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + switch (data[0]) + { + case 2: + gUnknown_846B4AC[data[1]][2](taskId); + data[0] = 3; + break; + case 3: + gUnknown_846B4AC[data[1]][3](taskId); + break; + case 4: + gUnknown_846B4AC[data[1]][1](taskId); + DestroyTask(taskId); + break; + } +} + +static void sub_81476E0(u8 taskId, s16 *data) +{ + u8 i; + struct Sprite *sprite; + + LoadCompressedSpriteSheet(&gUnknown_846B42C[data[3]]); + LoadSpritePalette(&gUnknown_846B43C[data[4]]); + for (i = 0; i < data[8]; i++) + data[13 + i] = CreateSprite(&gUnknown_846B494[data[2]], data[9], data[10], data[7]); + for (i = 0; i < data[8]; i++) + { + sprite = &gSprites[data[13 + i]]; + sprite->oam.priority = data[6]; + sprite->invisible = TRUE; + sprite->data[1] = data[5]; + sprite->data[3] = taskId; + sprite->data[4] = i; + sprite->data[5] = data[13]; + } +} + +static void sub_81477C0(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + data[2] = 0; + data[3] = 0; + data[4] = 0; + data[5] = 60; + data[6] = 0; + data[7] = 0; + data[8] = 3; + data[9] = 120; + data[10] = 88; + sub_81476E0(taskId, data); + + StartSpriteAnim(&gSprites[data[14]], 4); + gSprites[data[14]].pos2.x = -32; + + StartSpriteAnim(&gSprites[data[15]], 5); + gSprites[data[15]].pos2.x = 32; +} + +static void sub_814784C(u8 taskId) +{ + u8 i = 0; + s16 *data = gTasks[taskId].data; + + for (i = 0; i < data[8]; i++) + DestroySprite(&gSprites[data[13 + i]]); + FreeSpriteTilesByTag(gUnknown_846B42C[data[3]].tag); + FreeSpritePaletteByTag(gUnknown_846B43C[data[4]].tag); +} + +static void sub_81478BC(struct Sprite *sprite) +{ + s16 *data = gTasks[sprite->data[3]].data; + + if (data[11] % data[5] != 0) + return; + if (data[11] == data[10]) + return; + + data[10] = data[11]; + switch (sprite->data[2]) + { + case 0: + sprite->invisible = FALSE; + case 1: + case 2: + PlaySE(SE_KON); + StartSpriteAnim(sprite, sprite->data[2]); + break; + case 3: + PlaySE(SE_PIN); + StartSpriteAnim(sprite, sprite->data[2]); + gSprites[data[14]].invisible = FALSE; + gSprites[data[15]].invisible = FALSE; + break; + case 4: + sprite->invisible = TRUE; + gSprites[data[14]].invisible = TRUE; + gSprites[data[15]].invisible = TRUE; + data[0] = 4; + return; + } + sprite->data[2]++; +} + +static void sub_81479D4(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + PlaySE(SE_KON); + gSprites[data[13]].callback = sub_81478BC; + gSprites[data[13]].invisible = FALSE; + gTasks[taskId].data[0] = 3; +} + +static void sub_8147A34(u8 taskId) +{ + u16 packet[6]; + s16 *data = gTasks[taskId].data; + + if (gReceivedRemoteLinkPlayers != 0) + { + if (gRecvCmds[0][1] == 0x7FFF) + data[11] = gRecvCmds[0][2]; + if (GetMultiplayerId() == 0) + { + data[12]++; + memset(packet, 0, sizeof(packet)); + packet[0] = 0x7FFF; + packet[1] = data[12]; + RfuPrepareSend0x2f00(packet); + } + } + else + { + data[11]++; + } +} diff --git a/src/pokemon_jump_2.c b/src/pokemon_jump_2.c new file mode 100644 index 000000000..aa1238e3f --- /dev/null +++ b/src/pokemon_jump_2.c @@ -0,0 +1,2035 @@ +#include "global.h" +#include "gflib.h" +#include "event_data.h" +#include "item.h" +#include "link_rfu.h" +#include "menu.h" +#include "random.h" +#include "save.h" +#include "task.h" +#include "pokemon_jump.h" +#include "constants/songs.h" +#include "constants/species.h" + +struct PokemonJump1 +{ + MainCallback returnCallback; + u8 unk4; + u8 unk5; + u8 unk6; + u8 unk7; + u16 unk8; + u16 unkA; + u16 unkC; + u16 unkE; + int unk10; + u32 unk14; + u32 unk18; + int unk1C; + u32 unk20; + u32 unk24; + u32 unk28; + int unk2C; + u32 unk30; + u16 unk34; + u16 unk36; + u8 filler38[0x2]; + u16 unk3A; + u16 unk3C; + u16 unk3E; + u16 unk40; + u16 unk42; + u8 unk44; + u8 unk45; + u8 unk46; + u8 isLeader; + u8 unk48; + u8 unk49; + u16 unk4A; + u8 unk4C; + u8 unk4D; + u16 unk4E; + u8 unk50; + u8 unk51; + u8 filler52[0x2]; + int unk54; + int unk58; + int unk5C; + int unk60; + int unk64; + int unk68; + int unk6C; + struct PokemonJump1Sub unk70; + u8 unk7C[MAX_RFU_PLAYERS]; + u8 unk81[MAX_RFU_PLAYERS]; + u8 unk86[MAX_RFU_PLAYERS]; + u8 unk8B[MAX_RFU_PLAYERS]; + u16 unk90[MAX_RFU_PLAYERS]; + u16 unk9A[MAX_RFU_PLAYERS]; + struct PokemonJump2 unkA4; + struct PokemonJump1_MonInfo unk82A8[MAX_RFU_PLAYERS]; + struct PokemonJump1_82E4 unk82E4[MAX_RFU_PLAYERS]; + struct PokemonJump1_82E4 *unk83AC; +}; + +static void sub_8147B60(struct PokemonJump1 *); +static void sub_8147B94(struct PokemonJump1 *); +static void sub_8147C20(void); +static void sub_8147C98(void); +static s16 GetPokemonJumpSpeciesIdx(u16 species); +static void sub_8147D2C(struct PokemonJump1_MonInfo *monInfo, struct Pokemon *mon); +static void sub_8147D6C(void); +static void sub_8147DA0(u8 taskId); +static void sub_814807C(u8 taskId); +static void sub_8148104(void); +static void sub_8148290(u8 taskId); +static void sub_81482F8(void); +static bool32 sub_8148344(void); +static bool32 sub_81483D0(void); +static bool32 sub_8148464(void); +static bool32 sub_81484D0(void); +static bool32 sub_814856C(void); +static bool32 sub_81485C8(void); +static bool32 sub_8148664(void); +static bool32 sub_81486C4(void); +static bool32 sub_8148724(void); +static bool32 sub_8148760(void); +static bool32 sub_81487B4(void); +static bool32 sub_8148800(void); +static bool32 sub_814881C(void); +static bool32 sub_81488DC(void); +static bool32 sub_81489C8(void); +static bool32 sub_8148A60(void); +static bool32 sub_8148398(void); +static bool32 sub_8148418(void); +static bool32 sub_81484B0(void); +static bool32 sub_8148B54(void); +static bool32 sub_8148C80(void); +static bool32 sub_8148D5C(void); +static bool32 sub_8148E2C(void); +static void sub_8148E80(u8 taskId); +static void sub_8148F5C(TaskFunc func, u8 taskPriority); +static void sub_8148F7C(void); +static void sub_8148F9C(void); +static void sub_8148FE0(void); +static int sub_8149044(void); +static void sub_8149078(void); +static int sub_8149194(void); +static void sub_81491B4(void); +static void sub_81491E4(void); +static void sub_8149210(void); +static bool32 sub_814922C(u16); +static void sub_8149260(void); +static void sub_81492D8(void); +static void sub_814933C(void); +static void sub_814935C(void); +static void sub_814936C(void); +static void sub_814937C(void); +static void sub_8149490(int); +static void sub_8149534(void); +static bool32 sub_8149630(void); +static bool32 sub_81496D4(void); +static bool32 sub_8149710(void); +static bool32 sub_8149748(void); +static void sub_8149780(int); +static int sub_81497A8(void); +static bool32 sub_8149804(void); +static int sub_8149834(u8 *); +static void sub_8149878(void); +static int sub_8149888(int); +static void sub_8149898(u16); +static bool32 sub_81498B4(void); +static u16 sub_81498D8(void); +static void sub_8149900(u16, u16 *, u16 *); +static u16 sub_8149910(void); +static u16 sub_8149930(void); +static u16 sub_8149978(u16 item, u16 quantity); + +EWRAM_DATA static struct PokemonJump1 *gUnknown_203F3D4 = NULL; + +static const struct PokemonJumpMons +{ + u16 species; + u16 unk2; +} sPkmnJumpSpecies[] = +{ + { .species = SPECIES_BULBASAUR, .unk2 = 2, }, + { .species = SPECIES_CHARMANDER, .unk2 = 1, }, + { .species = SPECIES_SQUIRTLE, .unk2 = 0, }, + { .species = SPECIES_CATERPIE, .unk2 = 1, }, + { .species = SPECIES_METAPOD, .unk2 = 1, }, + { .species = SPECIES_WEEDLE, .unk2 = 1, }, + { .species = SPECIES_KAKUNA, .unk2 = 1, }, + { .species = SPECIES_RATTATA, .unk2 = 1, }, + { .species = SPECIES_RATICATE, .unk2 = 1, }, + { .species = SPECIES_PIKACHU, .unk2 = 0, }, + { .species = SPECIES_SANDSHREW, .unk2 = 0, }, + { .species = SPECIES_NIDORAN_F, .unk2 = 0, }, + { .species = SPECIES_NIDORAN_M, .unk2 = 0, }, + { .species = SPECIES_CLEFAIRY, .unk2 = 0, }, + { .species = SPECIES_VULPIX, .unk2 = 0, }, + { .species = SPECIES_JIGGLYPUFF, .unk2 = 2, }, + { .species = SPECIES_ODDISH, .unk2 = 2, }, + { .species = SPECIES_PARAS, .unk2 = 1, }, + { .species = SPECIES_MEOWTH, .unk2 = 0, }, + { .species = SPECIES_PSYDUCK, .unk2 = 2, }, + { .species = SPECIES_MANKEY, .unk2 = 1, }, + { .species = SPECIES_GROWLITHE, .unk2 = 1, }, + { .species = SPECIES_POLIWAG, .unk2 = 2, }, + { .species = SPECIES_BELLSPROUT, .unk2 = 2, }, + { .species = SPECIES_SHELLDER, .unk2 = 1, }, + { .species = SPECIES_KRABBY, .unk2 = 1, }, + { .species = SPECIES_EXEGGCUTE, .unk2 = 2, }, + { .species = SPECIES_CUBONE, .unk2 = 0, }, + { .species = SPECIES_DITTO, .unk2 = 2, }, + { .species = SPECIES_EEVEE, .unk2 = 0, }, + { .species = SPECIES_OMANYTE, .unk2 = 1, }, + { .species = SPECIES_KABUTO, .unk2 = 1, }, + { .species = SPECIES_CHIKORITA, .unk2 = 2, }, + { .species = SPECIES_CYNDAQUIL, .unk2 = 1, }, + { .species = SPECIES_TOTODILE, .unk2 = 0, }, + { .species = SPECIES_SPINARAK, .unk2 = 1, }, + { .species = SPECIES_PICHU, .unk2 = 0, }, + { .species = SPECIES_CLEFFA, .unk2 = 0, }, + { .species = SPECIES_IGGLYBUFF, .unk2 = 2, }, + { .species = SPECIES_TOGEPI, .unk2 = 2, }, + { .species = SPECIES_MAREEP, .unk2 = 0, }, + { .species = SPECIES_BELLOSSOM, .unk2 = 2, }, + { .species = SPECIES_MARILL, .unk2 = 2, }, + { .species = SPECIES_SUNKERN, .unk2 = 2, }, + { .species = SPECIES_WOOPER, .unk2 = 2, }, + { .species = SPECIES_PINECO, .unk2 = 2, }, + { .species = SPECIES_SNUBBULL, .unk2 = 0, }, + { .species = SPECIES_SHUCKLE, .unk2 = 2, }, + { .species = SPECIES_TEDDIURSA, .unk2 = 0, }, + { .species = SPECIES_SLUGMA, .unk2 = 2, }, + { .species = SPECIES_SWINUB, .unk2 = 0, }, + { .species = SPECIES_HOUNDOUR, .unk2 = 1, }, + { .species = SPECIES_PHANPY, .unk2 = 0, }, + { .species = SPECIES_PORYGON2, .unk2 = 0, }, + { .species = SPECIES_TYROGUE, .unk2 = 1, }, + { .species = SPECIES_SMOOCHUM, .unk2 = 2, }, + { .species = SPECIES_ELEKID, .unk2 = 1, }, + { .species = SPECIES_MAGBY, .unk2 = 1, }, + { .species = SPECIES_LARVITAR, .unk2 = 1, }, + { .species = SPECIES_TREECKO, .unk2 = 1, }, + { .species = SPECIES_TORCHIC, .unk2 = 2, }, + { .species = SPECIES_MUDKIP, .unk2 = 0, }, + { .species = SPECIES_MARSHTOMP, .unk2 = 0, }, + { .species = SPECIES_POOCHYENA, .unk2 = 1, }, + { .species = SPECIES_ZIGZAGOON, .unk2 = 0, }, + { .species = SPECIES_LINOONE, .unk2 = 0, }, + { .species = SPECIES_WURMPLE, .unk2 = 1, }, + { .species = SPECIES_SILCOON, .unk2 = 2, }, + { .species = SPECIES_CASCOON, .unk2 = 2, }, + { .species = SPECIES_LOTAD, .unk2 = 2, }, + { .species = SPECIES_SEEDOT, .unk2 = 1, }, + { .species = SPECIES_RALTS, .unk2 = 0, }, + { .species = SPECIES_KIRLIA, .unk2 = 0, }, + { .species = SPECIES_SURSKIT, .unk2 = 2, }, + { .species = SPECIES_SHROOMISH, .unk2 = 2, }, + { .species = SPECIES_NINCADA, .unk2 = 1, }, + { .species = SPECIES_WHISMUR, .unk2 = 0, }, + { .species = SPECIES_AZURILL, .unk2 = 2, }, + { .species = SPECIES_SKITTY, .unk2 = 0, }, + { .species = SPECIES_SABLEYE, .unk2 = 0, }, + { .species = SPECIES_MAWILE, .unk2 = 0, }, + { .species = SPECIES_ARON, .unk2 = 1, }, + { .species = SPECIES_MEDITITE, .unk2 = 2, }, + { .species = SPECIES_ELECTRIKE, .unk2 = 1, }, + { .species = SPECIES_PLUSLE, .unk2 = 1, }, + { .species = SPECIES_MINUN, .unk2 = 1, }, + { .species = SPECIES_VOLBEAT, .unk2 = 0, }, + { .species = SPECIES_ILLUMISE, .unk2 = 0, }, + { .species = SPECIES_ROSELIA, .unk2 = 2, }, + { .species = SPECIES_GULPIN, .unk2 = 2, }, + { .species = SPECIES_NUMEL, .unk2 = 2, }, + { .species = SPECIES_TORKOAL, .unk2 = 2, }, + { .species = SPECIES_SPOINK, .unk2 = 0, }, + { .species = SPECIES_TRAPINCH, .unk2 = 2, }, + { .species = SPECIES_CACNEA, .unk2 = 2, }, + { .species = SPECIES_ANORITH, .unk2 = 1, }, + { .species = SPECIES_WYNAUT, .unk2 = 0, }, + { .species = SPECIES_SNORUNT, .unk2 = 0, }, + { .species = SPECIES_CLAMPERL, .unk2 = 1, }, + { .species = SPECIES_BAGON, .unk2 = 1, }, +}; + +void StartPokemonJump(u16 partyIndex, MainCallback callback) +{ + u8 taskId; + + if (gReceivedRemoteLinkPlayers) + { + gUnknown_203F3D4 = Alloc(sizeof(*gUnknown_203F3D4)); + if (gUnknown_203F3D4 != NULL) + { + ResetTasks(); + taskId = CreateTask(sub_8147DA0, 1); + gUnknown_203F3D4->unk8 = 0; + gUnknown_203F3D4->returnCallback = callback; + gUnknown_203F3D4->unk4 = taskId; + gUnknown_203F3D4->unk6 = GetMultiplayerId(); + sub_8147D2C(&gUnknown_203F3D4->unk82A8[gUnknown_203F3D4->unk6], &gPlayerParty[partyIndex]); + sub_8147B60(gUnknown_203F3D4); + SetWordTaskArg(taskId, 2, (uintptr_t)gUnknown_203F3D4); + SetMainCallback2(sub_8147D6C); + return; + } + } + + SetMainCallback2(callback); +} + +static void sub_8147B48(void) +{ + sub_8149D24(); + Free(gUnknown_203F3D4); +} + +static void sub_8147B60(struct PokemonJump1 *arg0) +{ + arg0->unk5 = GetLinkPlayerCount(); + arg0->unk70.unk0 = 5; + arg0->unk70.unk2 = 0; + sub_8147C20(); + sub_8147B94(arg0); + if (arg0->unk5 == MAX_RFU_PLAYERS) + sub_814B4E8(); +} + +static void sub_8147B94(struct PokemonJump1 *arg0) +{ + int i; + + arg0->unk14 = 6; + arg0->unk18 = 6; + arg0->unk4A = 0; + arg0->unk1C = 0; + arg0->unk5C = 0; + arg0->isLeader = GetMultiplayerId() == 0; + arg0->unk8 = 0; + arg0->unkA = 0; + arg0->unkC = 0; + arg0->unkE = 0; + arg0->unk58 = 0; + arg0->unk3A = 0; + arg0->unk44 = 0; + arg0->unk54 = 0; + arg0->unk46 = 0; + arg0->unk49 = 0; + arg0->unk48 = 1; + arg0->unk70.unk8 = 0; + arg0->unk70.unk1 = 0; + arg0->unk70.unk4 = 0; + arg0->unk60 = 1; + arg0->unk4D = 0; + arg0->unk68 = 0; + arg0->unk64 = 0; + arg0->unk2C = 0; + arg0->unk30 = 0; + sub_8147C98(); + sub_81491E4(); + + for (i = 0; i < MAX_RFU_PLAYERS; i++) + { + arg0->unk7C[i] = 0; + arg0->unk9A[i] = 0; + } +} + +static void sub_8147C20(void) +{ + int i, index; + + for (i = 0; i < MAX_RFU_PLAYERS; i++) + { + index = GetPokemonJumpSpeciesIdx(gUnknown_203F3D4->unk82A8[i].species); + gUnknown_203F3D4->unk82E4[i].unkC = sPkmnJumpSpecies[index].unk2; + } + + gUnknown_203F3D4->unk83AC = &gUnknown_203F3D4->unk82E4[gUnknown_203F3D4->unk6]; +} + +static void sub_8147C98(void) +{ + int i; + + for (i = 0; i < MAX_RFU_PLAYERS; i++) + { + gUnknown_203F3D4->unk82E4[i].unkE = 0; + gUnknown_203F3D4->unk82E4[i].unk10 = 0; + gUnknown_203F3D4->unk82E4[i].unk12 = 0; + gUnknown_203F3D4->unk82E4[i].unk0 = 0; + gUnknown_203F3D4->unk82E4[i].unk4 = 0x7FFFFFFF; + gUnknown_203F3D4->unk82E4[i].unk14 = 0; + gUnknown_203F3D4->unk8B[i] = 9; + } +} + +static s16 GetPokemonJumpSpeciesIdx(u16 species) +{ + u32 i; + for (i = 0; i < NELEMS(sPkmnJumpSpecies); i++) + { + if (sPkmnJumpSpecies[i].species == species) + return i; + } + + return -1; // species isnt allowed +} + +static void sub_8147D2C(struct PokemonJump1_MonInfo *monInfo, struct Pokemon *mon) +{ + monInfo->species = GetMonData(mon, MON_DATA_SPECIES); + monInfo->otId = GetMonData(mon, MON_DATA_OT_ID); + monInfo->personality = GetMonData(mon, MON_DATA_PERSONALITY); +} + +static void sub_8147D58(void) +{ + TransferPlttBuffer(); + LoadOam(); + ProcessSpriteCopyRequests(); +} + +static void sub_8147D6C(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void sub_8147D84(TaskFunc func) +{ + gUnknown_203F3D4->unk4 = CreateTask(func, 1); + gUnknown_203F3D4->unk8 = 0; +} + +static void sub_8147DA0(u8 taskId) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + SetVBlankCallback(NULL); + ResetSpriteData(); + FreeAllSpritePalettes(); + sub_8148F5C(sub_8148E80, 5); + FadeOutMapMusic(4); + gUnknown_203F3D4->unk8++; + break; + case 1: + if (!FuncIsActiveTask(sub_8148E80)) + { + sub_8149CEC(&gUnknown_203F3D4->unkA4); + LoadWirelessStatusIndicatorSpriteGfx(); + CreateWirelessStatusIndicatorSprite(0, 0); + gUnknown_203F3D4->unk8++; + } + break; + case 2: + if (!sub_8149D68() && IsNotWaitingForBGMStop() == TRUE) + { + FadeOutAndPlayNewMapMusic(MUS_JUMP, 8); + gUnknown_203F3D4->unk8++; + } + break; + case 3: + if (IsLinkTaskFinished()) + { + BlendPalettes(0xFFFFFFFF, 16, RGB_BLACK); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + SetVBlankCallback(sub_8147D58); + gUnknown_203F3D4->unk8++; + } + break; + case 4: + UpdatePaletteFade(); + if (!gPaletteFade.active) + { + gUnknown_203F3D4->unk7 = 0; + gUnknown_203F3D4->unk8++; + } + break; + case 5: + gUnknown_203F3D4->unk7++; + if (gUnknown_203F3D4->unk7 >= 20) + { + if (gUnknown_203F3D4->isLeader) + sub_8147D84(sub_814807C); + else + sub_8147D84(sub_8148290); + + sub_8148F7C(); + DestroyTask(taskId); + } + break; + } +} + +static void sub_8147F10(int arg0) +{ + if (arg0 == 0) + { + gUnknown_203F3D4->unk30 = 0x1111; + gUnknown_203F3D4->unk2C = 1; + } + else + { + gUnknown_203F3D4->unk30 = (1 << (arg0 - 1)) - 1; + gUnknown_203F3D4->unk2C = 0; + } +} + +static void sub_8147F4C(u8 arg0) +{ + int i; + + gUnknown_203F3D4->unk70.unk0 = arg0; + gUnknown_203F3D4->unk8 = 0; + gUnknown_203F3D4->unkA = 0; + gUnknown_203F3D4->unk48 = 1; + gUnknown_203F3D4->unk49 = 0; + for (i = 1; i < gUnknown_203F3D4->unk5; i++) + gUnknown_203F3D4->unk82E4[i].unk18 = 0; +} + +static void sub_8147FA0(void) +{ + int i; + int count; + u16 var0; + u8 var1; + u16 var2; + + for (i = 1, count = 0; i < gUnknown_203F3D4->unk5; i++) + { + var0 = gUnknown_203F3D4->unk82E4[i].unk10; + if (sub_8149C24(&gUnknown_203F3D4->unk82E4[i], i, &var1, &var2)) + { + gUnknown_203F3D4->unk90[i] = var2; + gUnknown_203F3D4->unk8B[i] = var1; + gUnknown_203F3D4->unk82E4[i].unk12 = var0; + } + + if (gUnknown_203F3D4->unk82E4[i].unk18 && gUnknown_203F3D4->unk8B[i] == gUnknown_203F3D4->unk70.unk0) + count++; + } + + if (count == gUnknown_203F3D4->unk5 - 1) + gUnknown_203F3D4->unk49 = 1; +} + +static bool32 (* const gUnknown_846B64C[])(void) = +{ + sub_8148344, + sub_81483D0, + sub_8148464, + sub_81484D0, + sub_81485C8, + sub_81486C4, + sub_8148760, + sub_81487B4, + sub_814881C, +}; + +static void sub_814807C(u8 taskId) +{ + sub_8147FA0(); + sub_8149534(); + if (!gUnknown_203F3D4->unk48 && gUnknown_203F3D4->unk49) + { + sub_8147F4C(gUnknown_203F3D4->unk4C); + sub_8147F10(3); + } + + if (gUnknown_203F3D4->unk48 == 1) + { + if (!gUnknown_846B64C[gUnknown_203F3D4->unk70.unk0]()) + { + gUnknown_203F3D4->unk48 = 0; + gUnknown_203F3D4->unk82E4[gUnknown_203F3D4->unk6].unk18 = 1; + } + } + + sub_81492D8(); + sub_8148104(); +} + +static void sub_8148104(void) +{ + if (!gUnknown_203F3D4->unk2C) + sub_8149AF8(gUnknown_203F3D4->unk82E4, &gUnknown_203F3D4->unk70); + + if (gUnknown_203F3D4->unk30 != 0x1111) + { + gUnknown_203F3D4->unk2C++; + gUnknown_203F3D4->unk2C &= gUnknown_203F3D4->unk30; + } +} + +static void sub_8148140(u8 arg0) +{ + gUnknown_203F3D4->unk70.unk0 = arg0; + gUnknown_203F3D4->unk8 = 0; + gUnknown_203F3D4->unkA = 0; + gUnknown_203F3D4->unk48 = 1; + gUnknown_203F3D4->unk82E4[gUnknown_203F3D4->unk6].unk18 = 0; +} + +static void sub_8148174(void) +{ + int i; + u16 var0; + struct PokemonJump1Sub sp0; + + var0 = gUnknown_203F3D4->unk82E4[0].unk10; + if (sub_8149B7C(gUnknown_203F3D4->unk82E4, &sp0)) + { + if (gUnknown_203F3D4->unk82E4[gUnknown_203F3D4->unk6].unk18 == 1 + && sp0.unk0 != gUnknown_203F3D4->unk70.unk0) + { + sub_8148140(sp0.unk0); + } + + if (gUnknown_203F3D4->unk70.unk8 != sp0.unk8) + { + gUnknown_203F3D4->unk70.unk8 = sp0.unk8; + gUnknown_203F3D4->unk5C = 1; + gUnknown_203F3D4->unk70.unk1 = sp0.unk1; + if (gUnknown_203F3D4->unk70.unk1) + gUnknown_203F3D4->unk4D = 1; + else + gUnknown_203F3D4->unk4D = 0; + } + + gUnknown_203F3D4->unk70.unk2 = sp0.unk2; + gUnknown_203F3D4->unk70.unk4 = sp0.unk4; + gUnknown_203F3D4->unk82E4[0].unk12 = var0; + } + + for (i = 1; i < gUnknown_203F3D4->unk5; i++) + { + if (i != gUnknown_203F3D4->unk6) + { + var0 = gUnknown_203F3D4->unk82E4[i].unk10; + if (sub_8149C90(&gUnknown_203F3D4->unk82E4[i], i)) + gUnknown_203F3D4->unk82E4[i].unk12 = var0; + } + } +} + +static bool32 (* const gUnknown_846B670[])(void) = +{ + sub_8148398, + sub_8148418, + sub_81484B0, + sub_814856C, + sub_8148664, + sub_8148724, + sub_8148760, + sub_8148800, + sub_814881C, +}; + +static void sub_8148290(u8 taskId) +{ + sub_8148174(); + if (gUnknown_203F3D4->unk48) + { + if (!gUnknown_846B670[gUnknown_203F3D4->unk70.unk0]()) + { + gUnknown_203F3D4->unk48 = 0; + gUnknown_203F3D4->unk82E4[gUnknown_203F3D4->unk6].unk18 = 1; + sub_8147F10(3); + } + } + + sub_81492D8(); + sub_81482F8(); +} + +static void sub_81482F8(void) +{ + if (!gUnknown_203F3D4->unk2C) + sub_8149BF4(&gUnknown_203F3D4->unk82E4[gUnknown_203F3D4->unk6], gUnknown_203F3D4->unk70.unk0, gUnknown_203F3D4->unk42); + + if (gUnknown_203F3D4->unk30 != 0x1111) + { + gUnknown_203F3D4->unk2C++; + gUnknown_203F3D4->unk2C &= gUnknown_203F3D4->unk30; + } +} + +static bool32 sub_8148344(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + sub_8147F10(3); + gUnknown_203F3D4->unk8++; + // fall through + case 1: + if (!sub_81488DC()) + { + gUnknown_203F3D4->unk70.unk2 = gUnknown_203F3D4->unk4A; + gUnknown_203F3D4->unk4C = 1; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool32 sub_8148398(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + sub_8147F10(0); + gUnknown_203F3D4->unk24 = gUnknown_203F3D4->unk70.unk2; + gUnknown_203F3D4->unk8++; + // fall through + case 1: + return sub_81488DC(); + } + + return TRUE; +} + +static bool32 sub_81483D0(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + sub_81491E4(); + sub_8147F10(5); + gUnknown_203F3D4->unk8++; + break; + case 1: + if (gUnknown_203F3D4->unk49) + { + gUnknown_203F3D4->unk4C = 2; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool32 sub_8148418(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + sub_81491E4(); + sub_8147F10(0); + gUnknown_203F3D4->unk4A = gUnknown_203F3D4->unk70.unk2; + gUnknown_203F3D4->unk8++; + // fall through + case 1: + if (sub_8149804()) + return FALSE; + break; + } + + return TRUE; +} + +static bool32 sub_8148464(void) +{ + if (!sub_81489C8()) + { + gUnknown_203F3D4->unk70.unk2 = gUnknown_203F3D4->unk4A; + gUnknown_203F3D4->unk4C = 1; + } + else if (sub_8149630()) + { + return TRUE; + } + else + { + sub_81491B4(); + gUnknown_203F3D4->unk4C = 3; + } + + return FALSE; +} + +static bool32 sub_81484B0(void) +{ + if (!sub_81489C8()) + ; + else if (sub_8149630()) + return TRUE; + else + sub_81491B4(); + + return FALSE; +} + +static bool32 sub_81484D0(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + sub_8149630(); + if (sub_81496D4()) + gUnknown_203F3D4->unk8++; + break; + case 1: + if (!sub_8148A60()) + { + if (sub_81498B4()) + { + gUnknown_203F3D4->unk70.unk2 = sub_81498D8(); + gUnknown_203F3D4->unk4C = 7; + } + else if (gUnknown_203F3D4->unk70.unk4 >= 200) + { + gUnknown_203F3D4->unk70.unk2 = gUnknown_203F3D4->unkE; + gUnknown_203F3D4->unk4C = 8; + } + else + { + gUnknown_203F3D4->unk70.unk2 = gUnknown_203F3D4->unkE; + gUnknown_203F3D4->unk4C = 4; + } + + gUnknown_203F3D4->unk8++; + return FALSE; + } + break; + case 2: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_814856C(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + if (!sub_8149630()) + sub_81491B4(); + if (sub_81496D4()) + gUnknown_203F3D4->unk8++; + break; + case 1: + if (!sub_8148A60()) + { + gUnknown_203F3D4->unk8++; + return FALSE; + } + break; + case 2: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_81485C8(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + sub_8147F10(4); + gUnknown_203F3D4->unk8++; + // fall through + case 1: + if (!sub_8148C80()) + { + sub_814B494(gUnknown_203F3D4->unk70.unk8, gUnknown_203F3D4->unk70.unk4, gUnknown_203F3D4->unk70.unk2); + gUnknown_203F3D4->unk8++; + } + break; + case 2: + if (gUnknown_203F3D4->unk49) + { + if (sub_8149748()) + gUnknown_203F3D4->unk4C = 5; + else + gUnknown_203F3D4->unk4C = 6; + + gUnknown_203F3D4->unk8++; + return FALSE; + } + break; + case 3: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_8148664(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + sub_8147F10(0); + gUnknown_203F3D4->unk8++; + // fall through + case 1: + if (!sub_8148C80()) + { + sub_814B494(gUnknown_203F3D4->unk70.unk8, gUnknown_203F3D4->unk70.unk4, gUnknown_203F3D4->unk70.unk2); + gUnknown_203F3D4->unk42 = gUnknown_203F3D4->unk45; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool32 sub_81486C4(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + if (!sub_8148E2C()) + gUnknown_203F3D4->unk8++; + break; + case 1: + if (gUnknown_203F3D4->unk49) + { + sub_8147B94(gUnknown_203F3D4); + gUnknown_203F3D4->unk24 = Random(); + gUnknown_203F3D4->unk70.unk2 = gUnknown_203F3D4->unk24; + gUnknown_203F3D4->unk4C = 0; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool32 sub_8148724(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + if (!sub_8148E2C()) + { + sub_8147B94(gUnknown_203F3D4); + gUnknown_203F3D4->unk8++; + return FALSE; + } + break; + case 1: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_8148760(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + gUnknown_203F3D4->unk8 = 1; + break; + case 1: + sub_8147F10(0); + gUnknown_203F3D4->unk8++; + break; + case 2: + if (!sub_8148D5C()) + { + SetMainCallback2(gUnknown_203F3D4->returnCallback); + sub_8147B48(); + } + break; + } + + return TRUE; +} + +static bool32 sub_81487B4(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + sub_8147F10(4); + gUnknown_203F3D4->unk8++; + break; + case 1: + if (!sub_8148B54()) + { + gUnknown_203F3D4->unk70.unk2 = gUnknown_203F3D4->unkE; + gUnknown_203F3D4->unk4C = 8; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool32 sub_8148800(void) +{ + sub_8147F10(0); + if (!sub_8148B54()) + return FALSE; + else + return TRUE; +} + +static bool32 sub_814881C(void) +{ + switch (gUnknown_203F3D4->unk8) + { + case 0: + sub_814B494(gUnknown_203F3D4->unk70.unk8, gUnknown_203F3D4->unk70.unk4, gUnknown_203F3D4->unk70.unk2); + sub_8149D40(5); + gUnknown_203F3D4->unk8++; + break; + case 1: + if (!sub_8149D68()) + { + sub_8147F10(0); + gUnknown_203F3D4->unk8++; + } + break; + case 2: + if (sub_8149804()) + { + CreateTask(sub_80DA634, 6); + gUnknown_203F3D4->unk8++; + } + break; + case 3: + if (!FuncIsActiveTask(sub_80DA634)) + { + sub_814A6CC(); + gUnknown_203F3D4->unk8++; + } + break; + case 4: + if (!sub_814A6FC()) + { + gUnknown_203F3D4->unk4C = 4; + return FALSE; + } + break; + } + + return TRUE; +} + +static bool32 sub_81488DC(void) +{ + switch (gUnknown_203F3D4->unkA) + { + case 0: + sub_8149D40(2); + sub_814AAA0(); + gUnknown_203F3D4->unkA++; + break; + case 1: + if (!sub_8149D68()) + { + sub_814AAB4(gUnknown_203F3D4->unk6); + gUnknown_203F3D4->unk3C = 0; + gUnknown_203F3D4->unkA++; + } + break; + case 2: + if (++gUnknown_203F3D4->unk3C > 120) + { + sub_8149D40(3); + gUnknown_203F3D4->unkA++; + } + break; + case 3: + if (sub_8149D68() != 1 && sub_814AAC8() != 1) + gUnknown_203F3D4->unkA++; + break; + case 4: + sub_8149D40(9); + gUnknown_203F3D4->unkA++; + break; + case 5: + if (!sub_8149D68()) + { + sub_814935C(); + sub_814A3E4(); + gUnknown_203F3D4->unkA++; + } + break; + case 6: + if (!sub_814A408()) + { + sub_814936C(); + sub_8148F9C(); + gUnknown_203F3D4->unkA++; + return FALSE; + } + break; + case 7: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_81489C8(void) +{ + sub_8148FE0(); + if (gUnknown_203F3D4->unk36) + { + gUnknown_203F3D4->unk36 = 0; + return FALSE; + } + + switch (gUnknown_203F3D4->unkA) + { + case 0: + if (sub_814922C(0)) + gUnknown_203F3D4->unkA++; + else + break; + // fall through + case 1: + if (gMain.newKeys & A_BUTTON) + { + sub_8149260(); + sub_8147F10(3); + gUnknown_203F3D4->unkA++; + } + break; + case 2: + if (sub_814922C(1) == TRUE) + gUnknown_203F3D4->unkA++; + break; + case 3: + if (sub_814922C(0) == TRUE) + gUnknown_203F3D4->unkA = 0; + break; + } + + return TRUE; +} + +static bool32 sub_8148A60(void) +{ + int i; + + switch (gUnknown_203F3D4->unkA) + { + case 0: + for (i = 0; i < gUnknown_203F3D4->unk5; i++) + { + if (sub_814AA78(i) == 1) + return TRUE; + } + + gUnknown_203F3D4->unkA++; + break; + case 1: + for (i = 0; i < gUnknown_203F3D4->unk5; i++) + { + if (gUnknown_203F3D4->unk82E4[i].unk10 == 2) + sub_814AA60(i); + } + + sub_8149D40(1); + gUnknown_203F3D4->unk3C = 0; + gUnknown_203F3D4->unkA++; + break; + case 2: + if (++gUnknown_203F3D4->unk3C > 100) + { + sub_8149D40(3); + gUnknown_203F3D4->unk3C = 0; + gUnknown_203F3D4->unkA++; + } + break; + case 3: + if (!sub_8149D68()) + { + sub_814AA8C(); + gUnknown_203F3D4->unk70.unk1 = 0; + sub_8149210(); + gUnknown_203F3D4->unkA++; + return FALSE; + } + break; + case 4: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_8148B54(void) +{ + switch (gUnknown_203F3D4->unkA) + { + case 0: + sub_8149900(gUnknown_203F3D4->unk70.unk2, &gUnknown_203F3D4->unk3E, &gUnknown_203F3D4->unk40); + sub_814A468(gUnknown_203F3D4->unk3E, gUnknown_203F3D4->unk40); + gUnknown_203F3D4->unkA++; + break; + case 1: + case 4: + if (!sub_814A62C()) + { + gUnknown_203F3D4->unk3C = 0; + gUnknown_203F3D4->unkA++; + } + break; + case 2: + case 5: + gUnknown_203F3D4->unk3C++; + if (gMain.newKeys & (A_BUTTON | B_BUTTON) || gUnknown_203F3D4->unk3C > 180) + { + sub_814A6CC(); + gUnknown_203F3D4->unkA++; + } + break; + case 3: + if (!sub_814A6FC()) + { + gUnknown_203F3D4->unk40 = sub_8149978(gUnknown_203F3D4->unk3E, gUnknown_203F3D4->unk40); + if (gUnknown_203F3D4->unk40 && AddBagItem(gUnknown_203F3D4->unk3E, gUnknown_203F3D4->unk40)) + { + if (!CheckBagHasSpace(gUnknown_203F3D4->unk3E, 1)) + { + sub_814A53C(gUnknown_203F3D4->unk3E); + gUnknown_203F3D4->unkA = 4; + } + else + { + gUnknown_203F3D4->unkA = 6; + break; + } + } + else + { + sub_814A5B4(gUnknown_203F3D4->unk3E); + gUnknown_203F3D4->unkA = 4; + } + } + break; + case 6: + if (!sub_814A6FC()) + return FALSE; + break; + } + + return TRUE; +} + +static bool32 sub_8148C80(void) +{ + s8 input; + + switch (gUnknown_203F3D4->unkA) + { + case 0: + sub_8149D40(4); + gUnknown_203F3D4->unkA++; + break; + case 1: + if (!sub_8149D68()) + gUnknown_203F3D4->unkA++; + break; + case 2: + input = sub_814A744(); + switch (input) + { + case MENU_B_PRESSED: + case 1: + gUnknown_203F3D4->unk45 = 1; + sub_8149D40(6); + gUnknown_203F3D4->unkA++; + break; + case 0: + gUnknown_203F3D4->unk45 = 2; + sub_8149D40(6); + gUnknown_203F3D4->unkA++; + break; + } + break; + case 3: + if (!sub_8149D68()) + gUnknown_203F3D4->unkA++; + break; + case 4: + sub_8149D40(8); + gUnknown_203F3D4->unkA++; + break; + case 5: + if (!sub_8149D68()) + { + gUnknown_203F3D4->unkA++; + return FALSE; + } + break; + case 6: + return FALSE; + } + + return TRUE; +} + +static bool32 sub_8148D5C(void) +{ + int var0; + + switch (gUnknown_203F3D4->unkA) + { + case 0: + sub_814A6CC(); + gUnknown_203F3D4->unkA++; + break; + case 1: + if (!sub_814A6FC()) + { + sub_8149D40(7); + gUnknown_203F3D4->unkA++; + } + break; + case 2: + var0 = sub_8149D68(); + if (!var0) + { + gUnknown_203F3D4->unk3C = var0; + gUnknown_203F3D4->unkA++; + } + break; + case 3: + if (++gUnknown_203F3D4->unk3C > 120) + { + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); + gUnknown_203F3D4->unkA++; + } + break; + case 4: + if (!gPaletteFade.active) + { + Link_TryStartSend5FFF(); + gUnknown_203F3D4->unkA++; + } + break; + case 5: + if (!gReceivedRemoteLinkPlayers) + return FALSE; + break; + } + + return TRUE; +} + +static bool32 sub_8148E2C(void) +{ + switch (gUnknown_203F3D4->unkA) + { + case 0: + sub_814A6CC(); + sub_814AA24(0); + gUnknown_203F3D4->unkA++; + break; + case 1: + if (!sub_814A6FC()) + { + gUnknown_203F3D4->unkA++; + return FALSE; + } + break; + case 2: + return FALSE; + } + + return TRUE; +} + +static void sub_8148E80(u8 taskId) +{ + int i; + s16 *taskData = gTasks[taskId].data; + struct PokemonJump1 *ptr = (struct PokemonJump1 *)GetWordTaskArg(taskId, 14); + + switch (taskData[0]) + { + case 0: + for (i = 0; i < MAX_RFU_PLAYERS; i++) + taskData[i + 2] = 0; + + taskData[0]++; + // fall through + case 1: + sub_8149A6C(&ptr->unk82A8[ptr->unk6]); + for (i = 0; i < MAX_RFU_PLAYERS; i++) + { + if (!taskData[i + 2] && sub_8149A90(i, &ptr->unk82A8[i])) + { + StringCopy(ptr->unk82E4[i].unk1C, gLinkPlayers[i].name); + taskData[i + 2] = 1; + taskData[1]++; + if (taskData[1] == ptr->unk5) + { + sub_8147C20(); + DestroyTask(taskId); + break; + } + } + } + break; + } +} + +static void sub_8148F5C(TaskFunc func, u8 taskPriority) +{ + u8 taskId = CreateTask(func, taskPriority); + SetWordTaskArg(taskId, 14, (uintptr_t)gUnknown_203F3D4); +} + +static void sub_8148F7C(void) +{ + gUnknown_203F3D4->unk4A = 0; + gUnknown_203F3D4->unk14 = 6; + gUnknown_203F3D4->unk34 = 0; + gUnknown_203F3D4->unk1C = 0; + gUnknown_203F3D4->unk36 = 0; + gUnknown_203F3D4->unk10 = 0; +} + +static void sub_8148F9C(void) +{ + gUnknown_203F3D4->unk4A = 0; + gUnknown_203F3D4->unk34 = 0x6FF; + gUnknown_203F3D4->unk14 = 7; + gUnknown_203F3D4->unk36 = 0; + gUnknown_203F3D4->unk10 = 0; + gUnknown_203F3D4->unk51 = 0; + gUnknown_203F3D4->unk50 = 0; + gUnknown_203F3D4->unk20 = 0; + gUnknown_203F3D4->unk4E = 0; + gUnknown_203F3D4->unk6C = 0; + sub_8149078(); +} + +static void sub_8148FE0(void) +{ + if (gUnknown_203F3D4->unk46) + { + gUnknown_203F3D4->unk4A++; + gUnknown_203F3D4->unk34 += sub_8149044(); + if (gUnknown_203F3D4->unk34 >= 0x9FF) + gUnknown_203F3D4->unk34 -= 0x9FF; + + gUnknown_203F3D4->unk18 = gUnknown_203F3D4->unk14; + gUnknown_203F3D4->unk14 = gUnknown_203F3D4->unk34 >> 8; + if (gUnknown_203F3D4->unk14 > 6 && gUnknown_203F3D4->unk18 < 7) + { + gUnknown_203F3D4->unk36++; + sub_8149078(); + } + } +} + +static int sub_8149044(void) +{ + int result; + + if (gUnknown_203F3D4->unk10) + return 0; + + result = gUnknown_203F3D4->unk1C; + if (gUnknown_203F3D4->unk34 <= 0x5FF) + { + gUnknown_203F3D4->unk20 += 80; + result += gUnknown_203F3D4->unk20 >> 8; + } + + return result; +} + +static const u16 gUnknown_846B694[] = {0x1a, 0x1f, 0x24, 0x29, 0x2e, 0x33, 0x38, 0x3d}; +static const u16 gUnknown_846B6A4[] = {0, 1, 1, 2}; + +static void sub_8149078(void) +{ + int var0; + + gUnknown_203F3D4->unk20 = 0; + if (gUnknown_203F3D4->unk4E) + { + gUnknown_203F3D4->unk4E--; + if (gUnknown_203F3D4->unk6C) + { + if (sub_8149194() % 4 != 0) + { + gUnknown_203F3D4->unk1C = gUnknown_203F3D4->unk28; + } + else + { + if (gUnknown_203F3D4->unk28 > 54) + gUnknown_203F3D4->unk1C = 30; + else + gUnknown_203F3D4->unk1C = 82; + } + } + } + else + { + if (!(gUnknown_203F3D4->unk50 & 8)) + { + gUnknown_203F3D4->unk28 = gUnknown_846B694[gUnknown_203F3D4->unk50] + (gUnknown_203F3D4->unk51 * 7); + gUnknown_203F3D4->unk4E = gUnknown_846B6A4[sub_8149194() % NELEMS(gUnknown_846B6A4)] + 2; + gUnknown_203F3D4->unk50++; + } + else + { + if (gUnknown_203F3D4->unk50 == 8) + { + if (gUnknown_203F3D4->unk51 < 3) + gUnknown_203F3D4->unk51++; + else + gUnknown_203F3D4->unk6C = 1; + } + + var0 = gUnknown_846B694[15 - gUnknown_203F3D4->unk50]; + gUnknown_203F3D4->unk28 = var0 + (gUnknown_203F3D4->unk51 * 7); + if (++gUnknown_203F3D4->unk50 > 15) + { + if (sub_8149194() % 4 == 0) + gUnknown_203F3D4->unk28 -= 5; + + gUnknown_203F3D4->unk50 = 0; + } + } + + gUnknown_203F3D4->unk1C = gUnknown_203F3D4->unk28; + } +} + +static int sub_8149194(void) +{ + // The number 1103515245 comes from the example implementation of rand and srand + gUnknown_203F3D4->unk24 = gUnknown_203F3D4->unk24 * 1103515245 + 24691; + return gUnknown_203F3D4->unk24 >> 16; +} + +static void sub_81491B4(void) +{ + gUnknown_203F3D4->unk10 = 1; + gUnknown_203F3D4->unk14 = 6; + gUnknown_203F3D4->unk34 = 0x5FF; + sub_814936C(); +} + +static int sub_81491D8(void) +{ + return gUnknown_203F3D4->unk10; +} + +static void sub_81491E4(void) +{ + int i; + for (i = 0; i < MAX_RFU_PLAYERS; i++) + gUnknown_203F3D4->unk82E4[i].unk14 = 0; +} + +static void sub_8149210(void) +{ + gUnknown_203F3D4->unk83AC->unk10 = 0; + gUnknown_203F3D4->unk83AC->unk12 = 0; +} + +static bool32 sub_814922C(u16 arg0) +{ + if (gUnknown_203F3D4->unk82E4[gUnknown_203F3D4->unk6].unk10 == arg0) + return TRUE; + else + return FALSE; +} + +static void sub_8149260(void) +{ + gUnknown_203F3D4->unk83AC->unkE = gUnknown_203F3D4->unk4A; + gUnknown_203F3D4->unk83AC->unk12 = gUnknown_203F3D4->unk83AC->unk10; + gUnknown_203F3D4->unk83AC->unk10 = 1; +} + +static void sub_8149288(void) +{ + gUnknown_203F3D4->unk83AC->unk12 = gUnknown_203F3D4->unk83AC->unk10; + gUnknown_203F3D4->unk83AC->unk10 = 2; + gUnknown_203F3D4->unk83AC->unkE = gUnknown_203F3D4->unk4A; + gUnknown_203F3D4->unk83AC->unk14 = 2; +} + +static void sub_81492B8(void) +{ + gUnknown_203F3D4->unk83AC->unk12 = gUnknown_203F3D4->unk83AC->unk10; + gUnknown_203F3D4->unk83AC->unk10 = 0; +} + +static const u16 gUnknown_846B6AC[] = {SE_REGI, SE_REAPOKE, SE_W234, SE_EXCELLENT}; + +static void sub_81492D8(void) +{ + if (gUnknown_203F3D4->unk5C) + { + sub_814AA24(gUnknown_203F3D4->unk70.unk8); + gUnknown_203F3D4->unk5C = 0; + if (gUnknown_203F3D4->unk4D) + { + int index = sub_814A98C(gUnknown_203F3D4->unk70.unk1); + PlaySE(gUnknown_846B6AC[index - 2]); + gUnknown_203F3D4->unk4D = 0; + } + } + + sub_814AA34(gUnknown_203F3D4->unk70.unk4); + sub_814937C(); + sub_814933C(); +} + +static void sub_814933C(void) +{ + if (gUnknown_203F3D4->unk46) + sub_814A95C(gUnknown_203F3D4->unk14); +} + +static void sub_814935C(void) +{ + gUnknown_203F3D4->unk46 = 0; +} + +static void sub_814936C(void) +{ + gUnknown_203F3D4->unk46 = 1; +} + +static void sub_814937C(void) +{ + int i; + int whichSound = 0; + int numLinkPlayers = gUnknown_203F3D4->unk5; + + for (i = 0; i < numLinkPlayers; i++) + { + switch (gUnknown_203F3D4->unk82E4[i].unk10) + { + case 0: + sub_814A940(i, 0); + break; + case 1: + if (gUnknown_203F3D4->unk82E4[i].unk12 != 1 || gUnknown_203F3D4->unk82E4[i].unkE != gUnknown_203F3D4->unk9A[i]) + { + if (i == gUnknown_203F3D4->unk6) + gUnknown_203F3D4->unk82E4[i].unk12 = 1; + + whichSound |= 0x1; + gUnknown_203F3D4->unk82E4[i].unk4 = 0x7FFFFFFF; + gUnknown_203F3D4->unk9A[i] = gUnknown_203F3D4->unk82E4[i].unkE; + } + + sub_8149490(i); + break; + case 2: + if (gUnknown_203F3D4->unk82E4[i].unk12 != 2) + { + if (i == gUnknown_203F3D4->unk6) + gUnknown_203F3D4->unk82E4[i].unk12 = 2; + + whichSound |= 0x2; + sub_814AA48(i); + } + break; + } + } + + if (whichSound & 0x2) + PlaySE(SE_NAWAMISS); + else if (whichSound & 0x1) + PlaySE(SE_DANSA); +} + +static const s8 gUnknown_846B6B4[][48] = +{ + {-3, -6, -8, -10, -13, -15, -17, -19, -21, -23, -25, -27, -28, -29, -30, -30, -30, -28, -27, + -26, -25, -23, -22, -20, -18, -17, -15, -13, -11, -8, -6, -4, -1}, + + {-3, -6, -9, -11, -14, -16, -18, -20, -22, -24, -26, -28, -29, -30, -30, -28, -26, -24, -22, + -20, -18, -16, -14, -11, -9, -6, -4, -1}, + + {-3, -6, -9, -11, -13, -15, -17, -19, -21, -23, -25, -27, -28, -29, -30, -30, -30, -30, -29, + -29, -28, -28, -27, -27, -26, -25, -24, -22, -20, -18, -16, -14, + -12, -11, -9, -6, -4, -1}, +}; + +static void sub_8149490(int multiplayerId) +{ + int var0; + int var1; + struct PokemonJump1_82E4 *player; + + if (gUnknown_203F3D4->unk68) + return; + + player = &gUnknown_203F3D4->unk82E4[multiplayerId]; + if (player->unk4 != 0x7FFFFFFF) + { + player->unk4++; + var0 = player->unk4; + } + else + { + var0 = gUnknown_203F3D4->unk4A - player->unkE; + if (var0 >= 65000) + { + var0 -= 65000; + var0 += gUnknown_203F3D4->unk4A; + } + + player->unk4 = var0; + } + + if (var0 < 4) + return; + + var0 -= 4; + if (var0 < 48) + var1 = gUnknown_846B6B4[player->unkC][var0]; + else + var1 = 0; + + sub_814A940(multiplayerId, var1); + if (!var1 && multiplayerId == gUnknown_203F3D4->unk6) + sub_81492B8(); + + player->unk0 = var1; +} + +static void sub_8149534(void) +{ + if (gUnknown_203F3D4->unk14 == 8 && gUnknown_203F3D4->unk18 == 7) + { + if (gUnknown_203F3D4->unk58 == 0) + { + sub_8149878(); + gUnknown_203F3D4->unk54 = 0; + gUnknown_203F3D4->unk58 = 1; + gUnknown_203F3D4->unk70.unk1 = 0; + } + else + { + if (gUnknown_203F3D4->unk54 == 5) + { + gUnknown_203F3D4->unkC++; + sub_8149898(gUnknown_203F3D4->unkC); + } + else + { + gUnknown_203F3D4->unkC = 0; + } + + if (gUnknown_203F3D4->unk54 > 1) + { + gUnknown_203F3D4->unk64 = 1; + memcpy(gUnknown_203F3D4->unk86, gUnknown_203F3D4->unk81, sizeof(u8) * MAX_RFU_PLAYERS); + } + + sub_8149878(); + gUnknown_203F3D4->unk54 = 0; + gUnknown_203F3D4->unk58 = 1; + gUnknown_203F3D4->unk70.unk1 = 0; + if (gUnknown_203F3D4->unk70.unk4 < 9999) + gUnknown_203F3D4->unk70.unk4++; + + sub_8149780(10); + sub_8147F10(3); + } + } + + if (gUnknown_203F3D4->unk64 && (sub_8149710() == TRUE || !gUnknown_203F3D4->unk14)) + { + int var0 = sub_8149834(gUnknown_203F3D4->unk86); + sub_8149780(sub_8149888(var0)); + sub_8147F10(3); + gUnknown_203F3D4->unk64 = 0; + } + + if (gUnknown_203F3D4->unk58) + { + int var1 = sub_81497A8(); + if (var1 > gUnknown_203F3D4->unk54) + { + gUnknown_203F3D4->unk54 = var1; + memcpy(gUnknown_203F3D4->unk81, gUnknown_203F3D4->unk7C, sizeof(u8) * MAX_RFU_PLAYERS); + } + } +} + +static bool32 sub_8149630(void) +{ + int i; + + if (gUnknown_203F3D4->unk14 == 6 && !gUnknown_203F3D4->unk83AC->unk0) + { + if (gUnknown_203F3D4->unk83AC->unk12 == 1 && sub_81491D8() == 1) + { + gUnknown_203F3D4->unk83AC->unk14 = 1; + } + else + { + sub_8149288(); + sub_8147F10(3); + } + } + + if (gUnknown_203F3D4->unk14 == 7 + && gUnknown_203F3D4->unk18 == 6 + && gUnknown_203F3D4->unk83AC->unk10 != 2) + { + gUnknown_203F3D4->unk83AC->unk14 = 1; + sub_8147F10(3); + } + + for (i = 0; i < gUnknown_203F3D4->unk5; i++) + { + if (gUnknown_203F3D4->unk82E4[i].unk10 == 2) + return FALSE; + } + + return TRUE; +} + +static bool32 sub_81496D4(void) +{ + int i; + int numPlayers = gUnknown_203F3D4->unk5; + int count = 0; + for (i = 0; i < numPlayers; i++) + { + if (gUnknown_203F3D4->unk82E4[i].unk14) + count++; + } + + return count == numPlayers; +} + +static bool32 sub_8149710(void) +{ + int i; + for (i = 0; i < gUnknown_203F3D4->unk5; i++) + { + if (gUnknown_203F3D4->unk82E4[i].unk14 != 1) + return FALSE; + } + + return TRUE; +} + +static bool32 sub_8149748(void) +{ + int i; + + if (gUnknown_203F3D4->unk45 == 1) + return FALSE; + + for (i = 1; i < gUnknown_203F3D4->unk5; i++) + { + if (gUnknown_203F3D4->unk90[i] == 1) + return FALSE; + } + + return TRUE; +} + +static void sub_8149780(int arg0) +{ + gUnknown_203F3D4->unk70.unk8 += arg0; + gUnknown_203F3D4->unk5C = 1; + if (gUnknown_203F3D4->unk70.unk8 >= 99990) + gUnknown_203F3D4->unk70.unk8 = 99990; +} + +static int sub_81497A8(void) +{ + int i; + int count = 0; + int numPlayers = gUnknown_203F3D4->unk5; + + for (i = 0; i < numPlayers; i++) + { + if (gUnknown_203F3D4->unk82E4[i].unk0 == -30) + { + gUnknown_203F3D4->unk7C[i] = 1; + count++; + } + else + { + gUnknown_203F3D4->unk7C[i] = 0; + } + } + + return count; +} + +static bool32 sub_8149804(void) +{ + return !Rfu.unk_124.count && !Rfu.unk_9e8.count; +} + +static int sub_8149834(u8 *arg0) +{ + int i; + int flags; + int count; + + for (i = 0, flags = 0, count = 0; i < MAX_RFU_PLAYERS; i++) + { + if (arg0[i]) + { + flags |= 1 << i; + count++; + } + } + + gUnknown_203F3D4->unk70.unk1 = flags; + if (flags) + gUnknown_203F3D4->unk4D = 1; + + return count; +} + +static void sub_8149878(void) +{ + gUnknown_203F3D4->unk44 = 0; +} + +static const int gUnknown_846B74C[] = {0, 0, 50, 100, 200, 500}; + +static int sub_8149888(int arg0) +{ + return gUnknown_846B74C[arg0]; +} + +static void sub_8149898(u16 arg0) +{ + if (arg0 > gUnknown_203F3D4->unkE) + gUnknown_203F3D4->unkE = arg0; +} + +static const u16 gUnknown_846B764[] = {0x8a, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93}; +static const u32 gUnknown_846B76C[][2] = +{ + {0x1388, 1}, + {0x1f40, 2}, + {0x2ee0, 3}, + {0x3e80, 4}, + {0x4e20, 5}, +}; + +static bool32 sub_81498B4(void) +{ + if (gUnknown_203F3D4->unk70.unk8 >= gUnknown_846B76C[0][0]) + return TRUE; + else + return FALSE; +} + +static u16 sub_81498D8(void) +{ + u16 lo = sub_8149910(); + u16 hi = sub_8149930(); + return (hi << 12) | (lo & 0xFFF); +} + +static void sub_8149900(u16 arg0, u16 *arg1, u16 *arg2) +{ + *arg2 = arg0 >> 12; + *arg1 = arg0 & 0xFFF; +} + +static u16 sub_8149910(void) +{ + u16 index = Random() % NELEMS(gUnknown_846B764); + return gUnknown_846B764[index]; +} + +static u16 sub_8149930(void) +{ + u32 val, i; + + val = 0; + for (i = 0; i < 5; i++) + { + if (gUnknown_203F3D4->unk70.unk8 < gUnknown_846B76C[i][0]) + break; + else if (1) // required to match, see pret/pokeemerald#982 + val = gUnknown_846B76C[i][1]; + else + break; + } + + return val; +} + +static u16 sub_8149978(u16 item, u16 quantity) +{ + while (quantity && !CheckBagHasSpace(item, quantity)) + quantity--; + + return quantity; +} + +u16 sub_81499A4(void) +{ + return GetLinkPlayerCount(); +} + +u16 sub_81499B4(void) +{ + return gUnknown_203F3D4->unk6; +} + +struct PokemonJump1_MonInfo *sub_81499C0(u8 multiplayerId) +{ + return &gUnknown_203F3D4->unk82A8[multiplayerId]; +} + +u8 *sub_81499E0(u8 multiplayerId) +{ + return gUnknown_203F3D4->unk82E4[multiplayerId].unk1C; +} + +bool32 IsSpeciesAllowedInPokemonJump(u16 species) +{ + return GetPokemonJumpSpeciesIdx(species) > -1; +} + +void IsPokemonJumpSpeciesInParty(void) +{ + int i; + + for (i = 0; i < PARTY_SIZE; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_HAS_SPECIES)) + { + u16 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); + if (IsSpeciesAllowedInPokemonJump(species)) + { + gSpecialVar_Result = TRUE; + return; + } + } + } + + gSpecialVar_Result = FALSE; +} diff --git a/src/pokemon_jump_3.c b/src/pokemon_jump_3.c new file mode 100644 index 000000000..04d9ad439 --- /dev/null +++ b/src/pokemon_jump_3.c @@ -0,0 +1,167 @@ +#include "global.h" +#include "link_rfu.h" +#include "pokemon_jump.h" + +struct MonInfoPacket +{ + u8 id; // packet id + u16 species; + u32 personality; + u32 otId; +}; + +void sub_8149A6C(struct PokemonJump1_MonInfo *arg0) +{ + struct MonInfoPacket packet; + packet.id = 1; + packet.species = arg0->species; + packet.otId = arg0->otId; + packet.personality = arg0->personality; + RfuPrepareSend0x2f00(&packet); +} + +bool32 sub_8149A90(int multiplayerId, struct PokemonJump1_MonInfo *arg0) +{ + struct MonInfoPacket packet; + + if ((gRecvCmds[multiplayerId][0] & 0xFF00) != 0x2F00) + return FALSE; + + memcpy(&packet, &gRecvCmds[multiplayerId][1], sizeof(packet)); + if (packet.id == 1) + { + arg0->species = packet.species; + arg0->otId = packet.otId; + arg0->personality = packet.personality; + return TRUE; + } + + return FALSE; +} + +struct UnkPacket2 +{ + u8 id; // packet id + u32 unk4; + u32 unk8; +}; + +void sub_8149AE0(u32 arg0) +{ + struct UnkPacket2 packet; + packet.id = 2; + packet.unk4 = arg0; + RfuPrepareSend0x2f00(&packet); +} + +struct UnkPacket3 +{ + u8 id; // packet id + u8 unk1; + u8 unk2; + u8 unk3_0:5; + u8 unk3_1:3; + u16 unk4; + u16 unk6; + u32 unk8_0:15; + u32 unk8_1:17; +}; + +void sub_8149AF8(struct PokemonJump1_82E4 *arg0, struct PokemonJump1Sub *arg1) +{ + struct UnkPacket3 packet; + packet.id = 3; + packet.unk8_1 = arg1->unk8; + packet.unk3_0 = arg1->unk1; + packet.unk1 = arg1->unk0; + packet.unk6 = arg1->unk2; + packet.unk8_0 = arg1->unk4; + packet.unk2 = arg0->unk10; + packet.unk3_1 = arg0->unk14; + packet.unk4 = arg0->unkE; + RfuPrepareSend0x2f00(&packet); +} + +bool32 sub_8149B7C(struct PokemonJump1_82E4 *arg0, struct PokemonJump1Sub *arg1) +{ + struct UnkPacket3 packet; + + if ((gRecvCmds[0][0] & 0xFF00) != 0x2F00) + return FALSE; + + memcpy(&packet, &gRecvCmds[0][1], sizeof(packet)); + if (packet.id != 3) + return FALSE; + + arg1->unk8 = packet.unk8_1; + arg1->unk1 = packet.unk3_0; + arg1->unk0 = packet.unk1; + arg1->unk2 = packet.unk6; + arg1->unk4 = packet.unk8_0; + arg0->unk10 = packet.unk2; + arg0->unk14 = packet.unk3_1; + arg0->unkE = packet.unk4; + return TRUE; +} + +struct UnkPacket4 +{ + u8 id; // packet id + u8 unk1; + u8 unk2; + u8 unk3; + u16 unk4; + u8 unk6; + u16 unk8; +}; + +void sub_8149BF4(struct PokemonJump1_82E4 *arg0, u8 arg1, u16 arg2) +{ + struct UnkPacket4 packet; + packet.id = 4; + packet.unk1 = arg0->unk10; + packet.unk2 = arg0->unk14; + packet.unk3 = arg0->unk18; + packet.unk4 = arg0->unkE; + packet.unk6 = arg1; + packet.unk8 = arg2; + RfuPrepareSend0x2f00(&packet); +} + +bool32 sub_8149C24(struct PokemonJump1_82E4 *arg0, int multiplayerId, u8 *arg2, u16 *arg3) +{ + struct UnkPacket4 packet; + + if ((gRecvCmds[multiplayerId][0] & 0xFF00) != 0x2F00) + return FALSE; + + memcpy(&packet, &gRecvCmds[multiplayerId][1], sizeof(packet)); + if (packet.id != 4) + return FALSE; + + arg0->unk10 = packet.unk1; + arg0->unk14 = packet.unk2; + arg0->unk18 = packet.unk3; + arg0->unkE = packet.unk4; + *arg2 = packet.unk6; + *arg3 = packet.unk8; + return TRUE; +} + +bool32 sub_8149C90(struct PokemonJump1_82E4 *arg0, int multiplayerId) +{ + struct UnkPacket4 packet; + + if ((gRecvCmds[multiplayerId][0] & 0xFF00) != 0x2F00) + return FALSE; + + memcpy(&packet, &gRecvCmds[multiplayerId][1], sizeof(packet)); + if (packet.id != 4) + return FALSE; + + arg0->unk10 = packet.unk1; + arg0->unk14 = packet.unk2; + arg0->unk18 = packet.unk3; + arg0->unkE = packet.unk4; + return TRUE; +} diff --git a/src/pokemon_jump_4.c b/src/pokemon_jump_4.c new file mode 100644 index 000000000..c125734a3 --- /dev/null +++ b/src/pokemon_jump_4.c @@ -0,0 +1,922 @@ +#include "global.h" +#include "gflib.h" +#include "data.h" +#include "digit_obj_util.h" +#include "dynamic_placeholder_text_util.h" +#include "item.h" +#include "menu.h" +#include "new_menu_helpers.h" +#include "pokemon_jump.h" +#include "strings.h" +#include "task.h" +#include "text_window.h" +#include "constants/songs.h" +#include "constants/items.h" + +EWRAM_DATA static struct PokemonJump2 *gUnknown_203F3D8 = NULL; + +static void sub_8149D80(void (*func)(void)); +static void sub_8149DA4(u8 taskId); +static void sub_8149DC8(void); +static void sub_8149F64(void); +static void sub_8149FD0(void); +static void sub_814A03C(void); +static void sub_814A0C8(void); +static void sub_814A174(void); +static void sub_814A218(void); +static void sub_814A264(void); +static void sub_814A308(void); +static void sub_814A3AC(void); +static u32 sub_814A754(u32 left, u32 top, u32 width, u32 height); +static void sub_814A7D0(u16 left, u16 top, u8 cursorPos); +static void sub_814A84C(void); +static void sub_814A8B8(void); +static void sub_814A9C8(void); +static void sub_814AADC(void); +static void sub_814AC30(bool32 arg0); +static void sub_814AC94(void); +static void sub_814ACCC(u8 arg0); +static void sub_814AD50(u8 taskId); + +static void sub_8149D34(struct PokemonJump2 *); + +void sub_8149CEC(struct PokemonJump2 *arg0) +{ + u8 taskId; + + gUnknown_203F3D8 = arg0; + sub_8149D34(gUnknown_203F3D8); + taskId = CreateTask(sub_8149DA4, 3); + gUnknown_203F3D8->unk6 = taskId; + SetWordTaskArg(gUnknown_203F3D8->unk6, 2, (uintptr_t)gUnknown_203F3D8); + sub_8149D80(sub_8149DC8); +} + +void sub_8149D24(void) +{ + FreeAllWindowBuffers(); + DigitObjUtil_Teardown(); +} + +static void sub_8149D34(struct PokemonJump2 *arg0) +{ + arg0->unk4 = 0; + arg0->unk0 = 0; + arg0->unk12 = 0xFF; +} + +// Gfx +static const u16 sPkmnJumpPal3[] = INCBIN_U16("graphics/link_games/pkmnjump_pal3.gbapal"); + +static const u16 sPkmnJumpBgPal[] = INCBIN_U16("graphics/link_games/pkmnjump_bg.gbapal"); +static const u32 sPkmnJumpBgGfx[] = INCBIN_U32("graphics/link_games/pkmnjump_bg.4bpp.lz"); +static const u32 sPkmnJumpBgTilemap[] = INCBIN_U32("graphics/link_games/pkmnjump_bg.bin.lz"); + +static const u16 sPkmnJumpVenusaurPal[] = INCBIN_U16("graphics/link_games/pkmnjump_venusaur.gbapal"); +static const u32 sPkmnJumpVenusaurGfx[] = INCBIN_U32("graphics/link_games/pkmnjump_venusaur.4bpp.lz"); +static const u32 sPkmnJumpVenusaurTilemap[] = INCBIN_U32("graphics/link_games/pkmnjump_venusaur.bin.lz"); + +static const u16 sPkmnJumpResultsPal[] = INCBIN_U16("graphics/link_games/pkmnjump_results.gbapal"); +static const u32 sPkmnJumpResultsGfx[] = INCBIN_U32("graphics/link_games/pkmnjump_results.4bpp.lz"); +static const u32 sPkmnJumpResultsTilemap[] = INCBIN_U32("graphics/link_games/pkmnjump_results.bin.lz"); + +static const struct BgTemplate gUnknown_846D8D4[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 27, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 1, + .mapBaseIndex = 30, + .screenSize = 2, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 2, + .mapBaseIndex = 12, + .screenSize = 3, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 3, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + }, +}; + +static const struct WindowTemplate gUnknown_846D8E4[] = +{ + { + .bg = 0, + .tilemapLeft = 19, + .tilemapTop = 0, + .width = 6, + .height = 2, + .paletteNum = 2, + .baseBlock = 0x13, + }, + { + .bg = 0, + .tilemapLeft = 8, + .tilemapTop = 0, + .width = 6, + .height = 2, + .paletteNum = 2, + .baseBlock = 0x1F, + }, + DUMMY_WIN_TEMPLATE, +}; + +struct +{ + int id; + void (*func)(void); +} static const gUnknown_846D8FC[] = +{ + {0x00, sub_8149DC8}, + {0x01, sub_8149F64}, + {0x02, sub_8149FD0}, + {0x03, sub_814A03C}, + {0x04, sub_814A0C8}, + {0x05, sub_814A174}, + {0x06, sub_814A218}, + {0x07, sub_814A264}, + {0x09, sub_814A3AC}, + {0x08, sub_814A308}, +}; + +void sub_8149D40(int arg0) +{ + int i; + + for (i = 0; i < NELEMS(gUnknown_846D8FC); i++) + { + if (gUnknown_846D8FC[i].id == arg0) + sub_8149D80(gUnknown_846D8FC[i].func); + } +} + +bool32 sub_8149D68(void) +{ + return (gUnknown_203F3D8->unk0 != 1); +} + +static void sub_8149D80(void (*func)(void)) +{ + SetWordTaskArg(gUnknown_203F3D8->unk6, 0, (uintptr_t)func); + gUnknown_203F3D8->unk4 = 0; + gUnknown_203F3D8->unk0 = 0; +} + +static void sub_8149DA4(u8 taskId) +{ + if (!gUnknown_203F3D8->unk0) + { + void (*func)(void) = (void *)(GetWordTaskArg(taskId, 0)); + + func(); + } +} + +static void sub_8149DC8(void) +{ + switch (gUnknown_203F3D8->unk4) + { + case 0: + ResetBgsAndClearDma3BusyFlags(FALSE); + InitBgsFromTemplates(0, gUnknown_846D8D4, NELEMS(gUnknown_846D8D4)); + InitWindows(gUnknown_846D8E4); + ResetBgPositions(); + ResetTempTileDataBuffers(); + sub_814AD6C(gUnknown_203F3D8); + sub_814A9C8(); + LoadPalette(sPkmnJumpBgPal, 0, 0x20); + DecompressAndCopyTileDataToVram(3, sPkmnJumpBgGfx, 0, 0, 0); + DecompressAndCopyTileDataToVram(3, sPkmnJumpBgTilemap, 0, 0, 1); + LoadPalette(sPkmnJumpVenusaurPal, 0x30, 0x20); + DecompressAndCopyTileDataToVram(2, sPkmnJumpVenusaurGfx, 0, 0, 0); + DecompressAndCopyTileDataToVram(2, sPkmnJumpVenusaurTilemap, 0, 0, 1); + LoadPalette(sPkmnJumpResultsPal, 0x10, 0x20); + DecompressAndCopyTileDataToVram(1, sPkmnJumpResultsGfx, 0, 0, 0); + DecompressAndCopyTileDataToVram(1, sPkmnJumpResultsTilemap, 0, 0, 1); + LoadPalette(sPkmnJumpPal3, 0x20, 0x20); + SetBgTilemapBuffer(0, gUnknown_203F3D8->tilemapBuffer); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x20, 0x20); + sub_814A84C(); + sub_814AA24(0); + sub_814FDA0(0, 1, 0xE0); + LoadUserWindowBorderGfx(0, 0x00A, 0xD0); + CopyBgTilemapBufferToVram(0); + CopyBgTilemapBufferToVram(2); + CopyBgTilemapBufferToVram(1); + gUnknown_203F3D8->unk4++; + break; + case 1: + if (!FreeTempTileDataBuffersIfPossible()) + { + sub_814A8B8(); + sub_814B294(gUnknown_203F3D8); + sub_814B348(gUnknown_203F3D8, 6); + ShowBg(3); + ShowBg(0); + ShowBg(2); + HideBg(1); + gUnknown_203F3D8->unk4++; + } + break; + case 2: + gUnknown_203F3D8->unk0 = 1; + break; + } +} + +static void sub_8149F64(void) +{ + switch (gUnknown_203F3D8->unk4) + { + case 0: + sub_814AADC(); + gUnknown_203F3D8->unk4++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + sub_814AC30(FALSE); + gUnknown_203F3D8->unk4++; + } + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + { + sub_814AC94(); + gUnknown_203F3D8->unk4++; + } + break; + case 3: + if (!IsDma3ManagerBusyWithBgCopy()) + gUnknown_203F3D8->unk0 = 1; + break; + } +} + +static void sub_8149FD0(void) +{ + switch (gUnknown_203F3D8->unk4) + { + case 0: + sub_814AADC(); + gUnknown_203F3D8->unk4++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + sub_814AC30(TRUE); + gUnknown_203F3D8->unk4++; + } + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + { + sub_814AC94(); + gUnknown_203F3D8->unk4++; + } + break; + case 3: + if (!IsDma3ManagerBusyWithBgCopy()) + gUnknown_203F3D8->unk0 = 1; + break; + } +} + +static void sub_814A03C(void) +{ + int i, numPlayers; + + numPlayers = sub_81499A4(); + switch (gUnknown_203F3D8->unk4) + { + case 0: + for (i = 0; i < numPlayers; i++) + ClearWindowTilemap(gUnknown_203F3D8->unk1C[i]); + + CopyBgTilemapBufferToVram(0); + gUnknown_203F3D8->unk4++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + for (i = 0; i < numPlayers; i++) + RemoveWindow(gUnknown_203F3D8->unk1C[i]); + + gUnknown_203F3D8->unk0 = 1; + } + break; + } +} + +static void sub_814A0C8(void) +{ + switch (gUnknown_203F3D8->unk4) + { + case 0: + gUnknown_203F3D8->unk12 = sub_814A754(1, 8, 20, 2); + AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gText_WantToPlayAgain2, 0, 2, TEXT_SPEED_FF, NULL); + CopyWindowToVram(gUnknown_203F3D8->unk12, 2); + gUnknown_203F3D8->unk4++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + PutWindowTilemap(gUnknown_203F3D8->unk12); + DrawTextBorderOuter(gUnknown_203F3D8->unk12, 1, 14); + sub_814A7D0(23, 7, 0); + CopyBgTilemapBufferToVram(0); + gUnknown_203F3D8->unk4++; + } + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + gUnknown_203F3D8->unk0 = 1; + break; + } +} + +static void sub_814A174(void) +{ + switch (gUnknown_203F3D8->unk4) + { + case 0: + gUnknown_203F3D8->unk12 = sub_814A754(2, 7, 26, 4); + AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gText_SavingDontTurnOffPower, 0, 2, TEXT_SPEED_FF, NULL); + CopyWindowToVram(gUnknown_203F3D8->unk12, 2); + gUnknown_203F3D8->unk4++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + PutWindowTilemap(gUnknown_203F3D8->unk12); + DrawTextBorderOuter(gUnknown_203F3D8->unk12, 1, 14); + CopyBgTilemapBufferToVram(0); + gUnknown_203F3D8->unk4++; + } + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + gUnknown_203F3D8->unk0 = 1; + break; + } +} + +static void sub_814A218(void) +{ + switch (gUnknown_203F3D8->unk4) + { + case 0: + sub_814A6CC(); + DestroyYesNoMenu(); + CopyBgTilemapBufferToVram(0); + gUnknown_203F3D8->unk4++; + break; + case 1: + if (!sub_814A6FC() && !IsDma3ManagerBusyWithBgCopy()) + gUnknown_203F3D8->unk0 = 1; + break; + } +} + +static void sub_814A264(void) +{ + switch (gUnknown_203F3D8->unk4) + { + case 0: + gUnknown_203F3D8->unk12 = sub_814A754(2, 8, 22, 4); + AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gText_SomeoneDroppedOut2, 0, 2, TEXT_SPEED_FF, NULL); + CopyWindowToVram(gUnknown_203F3D8->unk12, 2); + gUnknown_203F3D8->unk4++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + PutWindowTilemap(gUnknown_203F3D8->unk12); + DrawTextBorderOuter(gUnknown_203F3D8->unk12, 1, 14); + CopyBgTilemapBufferToVram(0); + gUnknown_203F3D8->unk4++; + } + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + gUnknown_203F3D8->unk0 = 1; + break; + } +} + +static void sub_814A308(void) +{ + switch (gUnknown_203F3D8->unk4) + { + case 0: + gUnknown_203F3D8->unk12 = sub_814A754(7, 10, 16, 2); + AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gText_CommunicationStandby4, 0, 2, TEXT_SPEED_FF, NULL); + CopyWindowToVram(gUnknown_203F3D8->unk12, 2); + gUnknown_203F3D8->unk4++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + PutWindowTilemap(gUnknown_203F3D8->unk12); + DrawTextBorderOuter(gUnknown_203F3D8->unk12, 1, 14); + CopyBgTilemapBufferToVram(0); + gUnknown_203F3D8->unk4++; + } + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + gUnknown_203F3D8->unk0 = 1; + break; + } +} + +static void sub_814A3AC(void) +{ + switch (gUnknown_203F3D8->unk4) + { + case 0: + sub_814B43C(gUnknown_203F3D8); + gUnknown_203F3D8->unk4++; + break; + case 1: + if (!sub_814B460()) + gUnknown_203F3D8->unk0 = 1; + break; + } +} + +void sub_814A3E4(void) +{ + gUnknown_203F3D8->unkA = 0; + gUnknown_203F3D8->unkB = 0; + gUnknown_203F3D8->unkC = 6; + sub_814A95C(gUnknown_203F3D8->unkC); +} + +bool32 sub_814A408(void) +{ + switch (gUnknown_203F3D8->unkA) + { + case 0: + gUnknown_203F3D8->unkB++; + if (gUnknown_203F3D8->unkB > 10) + { + gUnknown_203F3D8->unkB = 0; + gUnknown_203F3D8->unkC++; + if (gUnknown_203F3D8->unkC >= 10) + { + gUnknown_203F3D8->unkC = 0; + gUnknown_203F3D8->unkA++; + } + } + sub_814A95C(gUnknown_203F3D8->unkC); + if (gUnknown_203F3D8->unkC != 7) + break; + case 1: + return FALSE; + } + + return TRUE; +} + +static const u8 sPluralTxt[] = _("IES"); + +void sub_814A468(u16 itemId, u16 quantity) +{ + CopyItemName(itemId, gUnknown_203F3D8->txtBuff[0]); + ConvertIntToDecimalStringN(gUnknown_203F3D8->txtBuff[1], quantity, STR_CONV_MODE_LEFT_ALIGN, 1); + if (itemId >= FIRST_BERRY_INDEX && itemId < LAST_BERRY_INDEX) + { + if (quantity > 1) + { + int endi = StringLength(gUnknown_203F3D8->txtBuff[0]); + if (endi != 0) + { + endi--; + endi[gUnknown_203F3D8->txtBuff[0]] = EOS; + StringAppend(gUnknown_203F3D8->txtBuff[0], sPluralTxt); + } + } + } + DynamicPlaceholderTextUtil_Reset(); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gUnknown_203F3D8->txtBuff[0]); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gUnknown_203F3D8->txtBuff[1]); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gUnknown_203F3D8->strBuff, gText_AwesomeWonF701F700); + gUnknown_203F3D8->unk12 = sub_814A754(4, 8, 22, 4); + AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gUnknown_203F3D8->strBuff, 0, 2, TEXT_SPEED_FF, NULL); + CopyWindowToVram(gUnknown_203F3D8->unk12, 2); + gUnknown_203F3D8->unk14 = MUS_FANFA1; + gUnknown_203F3D8->unkD = 0; +} + +void sub_814A53C(u16 itemId) +{ + CopyItemName(itemId, gUnknown_203F3D8->txtBuff[0]); + DynamicPlaceholderTextUtil_Reset(); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gUnknown_203F3D8->txtBuff[0]); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gUnknown_203F3D8->strBuff, gText_FilledStorageSpace2); + gUnknown_203F3D8->unk12 = sub_814A754(4, 8, 22, 4); + AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gUnknown_203F3D8->strBuff, 0, 2, TEXT_SPEED_FF, NULL); + CopyWindowToVram(gUnknown_203F3D8->unk12, 2); + gUnknown_203F3D8->unk14 = 0; + gUnknown_203F3D8->unkD = 0; +} + +void sub_814A5B4(u16 itemId) +{ + CopyItemName(itemId, gUnknown_203F3D8->txtBuff[0]); + DynamicPlaceholderTextUtil_Reset(); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gUnknown_203F3D8->txtBuff[0]); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gUnknown_203F3D8->strBuff, gText_CantHoldMore); + gUnknown_203F3D8->unk12 = sub_814A754(4, 9, 22, 2); + AddTextPrinterParameterized(gUnknown_203F3D8->unk12, 2, gUnknown_203F3D8->strBuff, 0, 2, TEXT_SPEED_FF, NULL); + CopyWindowToVram(gUnknown_203F3D8->unk12, 2); + gUnknown_203F3D8->unk14 = 0; + gUnknown_203F3D8->unkD = 0; +} + +bool32 sub_814A62C(void) +{ + switch (gUnknown_203F3D8->unkD) + { + case 0: + if (!IsDma3ManagerBusyWithBgCopy()) + { + PutWindowTilemap(gUnknown_203F3D8->unk12); + DrawTextBorderOuter(gUnknown_203F3D8->unk12, 1, 14); + CopyBgTilemapBufferToVram(0); + gUnknown_203F3D8->unkD++; + } + break; + case 1: + if (IsDma3ManagerBusyWithBgCopy()) + break; + if (gUnknown_203F3D8->unk14 == 0) + { + gUnknown_203F3D8->unkD += 2; + return FALSE; + } + PlayFanfare(gUnknown_203F3D8->unk14); + gUnknown_203F3D8->unkD++; + case 2: + if (!IsFanfareTaskInactive()) + break; + gUnknown_203F3D8->unkD++; + case 3: + return FALSE; + } + + return TRUE; +} + +void sub_814A6CC(void) +{ + if (gUnknown_203F3D8->unk12 != 0xFF) + { + rbox_fill_rectangle(gUnknown_203F3D8->unk12); + CopyWindowToVram(gUnknown_203F3D8->unk12, 1); + gUnknown_203F3D8->unkD = 0; + } +} + +// Can't match this without the ugly GOTO, oh well. +bool32 sub_814A6FC(void) +{ + if (gUnknown_203F3D8->unk12 == 0xFF) + { + RET_FALSE: + return FALSE; + } + + if (gUnknown_203F3D8->unkD == 0) + { + if (!IsDma3ManagerBusyWithBgCopy()) + { + RemoveWindow(gUnknown_203F3D8->unk12); + gUnknown_203F3D8->unk12 = 0xFF; + gUnknown_203F3D8->unkD++; + goto RET_FALSE; + } + } + else if (gUnknown_203F3D8->unkD == 1) + goto RET_FALSE; + + return TRUE; +} + +s8 sub_814A744(void) +{ + return Menu_ProcessInputNoWrapClearOnChoose(); +} + +static u32 sub_814A754(u32 left, u32 top, u32 width, u32 height) +{ + u32 windowId; + struct WindowTemplate window; + + window.bg = 0; + window.tilemapLeft = left; + window.tilemapTop = top; + window.width = width; + window.height = height; + window.paletteNum = 0xF; + window.baseBlock = 0x43; + + windowId = AddWindow(&window); + FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); + return windowId; +} + +static void sub_814A7D0(u16 left, u16 top, u8 cursorPos) +{ + struct WindowTemplate window; + u8 a = cursorPos; + + window.bg = 0; + window.tilemapLeft = left; + window.tilemapTop = top; + window.width = 6; + window.height = 4; + window.paletteNum = 2; + window.baseBlock = 0x2B; + + CreateYesNoMenu(&window, 2, 0, 2, 0x00a, 0xD, a); +} + +static void sub_814A84C(void) +{ + u8 color[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY}; + + PutWindowTilemap(0); + PutWindowTilemap(1); + FillWindowPixelBuffer(0, PIXEL_FILL(0)); + FillWindowPixelBuffer(1, PIXEL_FILL(0)); + AddTextPrinterParameterized3(0, 0, 0, 2, color, 0, gText_SpacePoints2); + AddTextPrinterParameterized3(1, 0, 0, 2, color, 0, gText_SpaceTimes3); +} + +static const u8 gUnknown_846D953[] = {2, 2, 0, 0, 1, 1, 1, 0, 0, 2, 0, 0, 0}; + +static const struct CompressedSpriteSheet gUnknown_846D960 = {gUnknown_8479688, 0, 0x320}; +static const struct SpritePalette gUnknown_846D968 = {gUnknown_8479668, 0x320}; + +static const u16 gUnknown_846D970[] = {0x06, 0x08, 0x10, 0x08}; +static const u16 gUnknown_846D978[] = {0x06, 0x08, 0x0b, 0x06, 0x10, 0x08}; +static const u16 gUnknown_846D984[] = {0x02, 0x06, 0x06, 0x08, 0x10, 0x08, 0x14, 0x06}; +static const u16 gUnknown_846D994[] = {0x02, 0x06, 0x06, 0x08, 0x0b, 0x06, 0x10, 0x08, 0x14, 0x06}; + +static const u16 *const gUnknown_846D9A8[] = +{ + gUnknown_846D970, + gUnknown_846D978, + gUnknown_846D984, + gUnknown_846D994, +}; + +static const s16 gUnknown_846D9B8[] = {0x0058, 0x0098}; +static const s16 gUnknown_846D9BC[] = {0x0058, 0x0078, 0x0098}; +static const s16 gUnknown_846D9C2[] = {0x0038, 0x0058, 0x0098, 0x00b8}; +static const s16 gUnknown_846D9CA[] = {0x0038, 0x0058, 0x0078, 0x0098, 0x00b8}; + +static const s16 *const gUnknown_846D9D4[] = +{ + gUnknown_846D9B8, + gUnknown_846D9BC, + gUnknown_846D9C2, + gUnknown_846D9CA, +}; + +static void sub_814A8B8(void) +{ + int i, y, playersCount = sub_81499A4(); + const s16 *xCoords = gUnknown_846D9D4[playersCount - 2]; + + for (i = 0; i < playersCount; i++) + { + struct PokemonJump1_MonInfo *info = sub_81499C0(i); + + y = gMonFrontPicCoords[info->species].y_offset; + sub_814ADCC(gUnknown_203F3D8, info, *xCoords, y + 112, i); + sub_814B240(gUnknown_203F3D8, *xCoords, 112, i); + xCoords++; + } +} + +void sub_814A940(u32 id, s16 y) +{ + gUnknown_203F3D8->unk81A8[id]->pos2.y = y; +} + +void sub_814A95C(int id) +{ + sub_814B348(gUnknown_203F3D8, id); + ChangeBgY(2, (gUnknown_846D953[id] * 5) << 0xD, 0); +} + +int sub_814A98C(u8 flags) +{ + int i, count; + + for (i = 0, count = 0; i < 5; i++) + { + if (flags & 1) + { + sub_814AF0C(gUnknown_203F3D8, i); + count++; + } + flags >>= 1; + } + + sub_814ACCC(count - 2); + return count; +} + +static void sub_814A9C8(void) +{ + struct DigitObjUtilTemplate unkStruct; + struct DigitObjUtilTemplate *ptr = &unkStruct; // This temp variable is needed to match, don't ask me why. + + ptr->shape = SPRITE_SHAPE(8x8); + ptr->size = SPRITE_SIZE(8x8); + ptr->strConvMode = 0; + ptr->priority = 1; + ptr->oamCount = 5; + ptr->xDelta = 8; + ptr->x = 108; + ptr->y = 6; + ptr->spriteSheet.compressed = &gUnknown_846D960; + ptr->spritePal = &gUnknown_846D968; + + DigitObjUtil_Init(2); + DigitObjUtil_CreatePrinter(0, 0, ptr); + + unkStruct.oamCount = 4; + unkStruct.x = 30; + unkStruct.y = 6; + DigitObjUtil_CreatePrinter(1, 0, &unkStruct); +} + +void sub_814AA24(int arg0) +{ + DigitObjUtil_PrintNumOn(0, arg0); +} + +void sub_814AA34(u16 arg0) +{ + DigitObjUtil_PrintNumOn(1, arg0); +} + +void sub_814AA48(u8 multiplayerId) +{ + sub_814AFE8(gUnknown_203F3D8, multiplayerId); +} + +void sub_814AA60(u8 multiplayerId) +{ + sub_814B080(gUnknown_203F3D8, multiplayerId); +} + +int sub_814AA78(int multiplayerId) +{ + return sub_814B010(gUnknown_203F3D8, multiplayerId); +} + +void sub_814AA8C(void) +{ + sub_814B0A8(gUnknown_203F3D8); +} + +void sub_814AAA0(void) +{ + sub_814B134(gUnknown_203F3D8); +} + +void sub_814AAB4(int multiplayerId) +{ + sub_814B168(gUnknown_203F3D8, multiplayerId); +} + +int sub_814AAC8(void) +{ + return sub_814B190(gUnknown_203F3D8); +} + +static void sub_814AADC(void) +{ + struct WindowTemplate window; + int i, playersCount = sub_81499A4(); + const u16 *winCoords = gUnknown_846D9A8[playersCount - 2]; + + window.bg = 0; + window.width = 8; + window.height = 2; + window.paletteNum = 2; + window.baseBlock = 0x2B; + + for (i = 0; i < playersCount; i++) + { + window.tilemapLeft = winCoords[0]; + window.tilemapTop = winCoords[1]; + gUnknown_203F3D8->unk1C[i] = AddWindow(&window); + ClearWindowTilemap(gUnknown_203F3D8->unk1C[i]); + window.baseBlock += 0x10; + winCoords += 2; + } + + CopyBgTilemapBufferToVram(0); +} + +static void sub_814AB98(int multiplayerId, u8 clr1, u8 clr2, u8 clr3) +{ + u32 x; + u8 colors[3] = {clr1, clr2, clr3}; + + FillWindowPixelBuffer(gUnknown_203F3D8->unk1C[multiplayerId], PIXEL_FILL(0)); + x = 64 - GetStringWidth(0, sub_81499E0(multiplayerId), -1); + x /= 2; + AddTextPrinterParameterized3(gUnknown_203F3D8->unk1C[multiplayerId], 0, x, 2, colors, -1, sub_81499E0(multiplayerId)); + CopyWindowToVram(gUnknown_203F3D8->unk1C[multiplayerId], 2); +} + +static void sub_814AC30(bool32 arg0) +{ + int i, var, playersCount = sub_81499A4(); + + if (!arg0) + { + for (i = 0; i < playersCount; i++) + sub_814AB98(i, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY); + } + else + { + var = sub_81499B4(); + for (i = 0; i < playersCount; i++) + { + if (var != i) + sub_814AB98(i, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY); + else + sub_814AB98(i, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED); + } + } +} + +static void sub_814AC94(void) +{ + int i, playersCount = sub_81499A4(); + + for (i = 0; i < playersCount; i++) + PutWindowTilemap(gUnknown_203F3D8->unk1C[i]); + CopyBgTilemapBufferToVram(0); +} + +static void sub_814ACCC(u8 arg0) +{ + gUnknown_203F3D8->unk18 = 0; + ChangeBgX(1, (arg0 / 2) << 16, 0); + ChangeBgY(1, (((arg0 % 2) << 8) - 40) << 8, 0); + ShowBg(1); + CreateTask(sub_814AD50, 4); +} + +static bool32 sub_814AD18(void) +{ + if (gUnknown_203F3D8->unk18 >= 32) + { + return FALSE; + } + else + { + ChangeBgY(1, 128, 1); + if (++gUnknown_203F3D8->unk18 >= 32) + HideBg(1); + return TRUE; + } +} + +static void sub_814AD50(u8 taskId) +{ + if (!sub_814AD18()) + DestroyTask(taskId); +} diff --git a/src/pokemon_jump_5.c b/src/pokemon_jump_5.c new file mode 100644 index 000000000..f8abb2a1f --- /dev/null +++ b/src/pokemon_jump_5.c @@ -0,0 +1,637 @@ +#include "global.h" +#include "gflib.h" +#include "decompress.h" +#include "minigame_countdown.h" +#include "pokemon_jump.h" +#include "data.h" +#include "trig.h" +#include "constants/songs.h" + +static void sub_814AF74(struct Sprite *sprite); +static void sub_814B038(struct Sprite *sprite); +static void sub_814B100(struct Sprite *sprite); +static void sub_814B1CC(struct Sprite *sprite); + +static const u16 sPkmnJumpPal1[] = INCBIN_U16("graphics/link_games/pkmnjump_pal1.gbapal"); +static const u16 sPkmnJumpPal2[] = INCBIN_U16("graphics/link_games/pkmnjump_pal2.gbapal"); + +static const u32 sPkmnJumpRopeGfx1[] = INCBIN_U32("graphics/link_games/pkmnjump_rope1.4bpp.lz"); +static const u32 sPkmnJumpRopeGfx2[] = INCBIN_U32("graphics/link_games/pkmnjump_rope2.4bpp.lz"); +static const u32 sPkmnJumpRopeGfx3[] = INCBIN_U32("graphics/link_games/pkmnjump_rope3.4bpp.lz"); +static const u32 sPkmnJumpRopeGfx4[] = INCBIN_U32("graphics/link_games/pkmnjump_rope4.4bpp.lz"); + +static const u32 sPkmnJumpStarGfx[] = INCBIN_U32("graphics/link_games/pkmnjump_star.4bpp.lz"); + +static const struct CompressedSpriteSheet gUnknown_846E0B0[] = +{ + {sPkmnJumpRopeGfx1, 0x600, 5}, + {sPkmnJumpRopeGfx2, 0x0c00, 6}, + {sPkmnJumpRopeGfx3, 0x0600, 7}, + {sPkmnJumpRopeGfx4, 0x0600, 8}, + {sPkmnJumpStarGfx, 0x0200, 10}, +}; + +static const struct SpritePalette gUnknown_846E0D8[] = +{ + {sPkmnJumpPal1, 5}, + {sPkmnJumpPal2, 6}, +}; + +// Forward declarations. +static const struct OamData sOamData_846E170; +static const struct SpriteTemplate gUnknown_846E220; +static const struct SpriteTemplate gUnknown_846E238; +static const struct SpriteTemplate gUnknown_846E250; +static const struct SpriteTemplate gUnknown_846E268; + +static const struct SpriteTemplate gUnknown_846E0E8 = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &sOamData_846E170, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const s16 gUnknown_846E100[][10] = +{ + {0x60, 0x60, 0x60, 0x72, 0x78, 0x78, 0x78, 0x72, 0x60, 0x60}, + {0x46, 0x50, 0x60, 0x72, 0x78, 0x80, 0x78, 0x72, 0x60, 0x50}, + {0x32, 0x48, 0x60, 0x72, 0x80, 0x88, 0x80, 0x72, 0x60, 0x48}, + {0x2a, 0x48, 0x60, 0x72, 0x80, 0x88, 0x80, 0x72, 0x60, 0x48}, +}; + +static const s16 gUnknown_846E150[] = {0x10, 0x28, 0x48, 0x68, 0x88, 0xa8, 0xc8, 0xe0}; + +static const struct SpriteTemplate *const gUnknown_846E160[] = +{ + &gUnknown_846E220, + &gUnknown_846E238, + &gUnknown_846E250, + &gUnknown_846E268, +}; + +static const struct OamData sOamData_846E170 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .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_846E178 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x32), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(16x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_846E180 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x32), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(32x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct OamData sOamData_846E188 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x16), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(32x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AnimCmd sSpriteAnim_846E190[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_846E198[] = +{ + ANIMCMD_FRAME(8, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_846E1A0[] = +{ + ANIMCMD_FRAME(16, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_846E1A8[] = +{ + ANIMCMD_FRAME(24, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_846E1B0[] = +{ + ANIMCMD_FRAME(32, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_846E1B8[] = +{ + ANIMCMD_FRAME(40, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_846E1C0[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_846E1C8[] = +{ + ANIMCMD_FRAME(16, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_846E1D0[] = +{ + ANIMCMD_FRAME(32, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_846E1D8[] = +{ + ANIMCMD_FRAME(48, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_846E1E0[] = +{ + ANIMCMD_FRAME(64, 1), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_846E1E8[] = +{ + ANIMCMD_FRAME(80, 1), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_846E1F0[] = +{ + sSpriteAnim_846E190, + sSpriteAnim_846E198, + sSpriteAnim_846E1A0, + sSpriteAnim_846E1A8, + sSpriteAnim_846E1B0, + sSpriteAnim_846E1B8 +}; + +static const union AnimCmd *const sSpriteAnimTable_846E208[] = +{ + sSpriteAnim_846E1C0, + sSpriteAnim_846E1C8, + sSpriteAnim_846E1D0, + sSpriteAnim_846E1D8, + sSpriteAnim_846E1E0, + sSpriteAnim_846E1E8 +}; + +static const struct SpriteTemplate gUnknown_846E220 = +{ + .tileTag = 5, + .paletteTag = 5, + .oam = &sOamData_846E178, + .anims = sSpriteAnimTable_846E1F0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct SpriteTemplate gUnknown_846E238 = +{ + .tileTag = 6, + .paletteTag = 5, + .oam = &sOamData_846E180, + .anims = sSpriteAnimTable_846E208, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct SpriteTemplate gUnknown_846E250 = +{ + .tileTag = 7, + .paletteTag = 5, + .oam = &sOamData_846E188, + .anims = sSpriteAnimTable_846E1F0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct SpriteTemplate gUnknown_846E268 = +{ + .tileTag = 8, + .paletteTag = 5, + .oam = &sOamData_846E188, + .anims = sSpriteAnimTable_846E1F0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct OamData sOamData_846E280 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(16x16), + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AnimCmd sSpriteAnim_846E288[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_846E290[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(8, 4), + ANIMCMD_FRAME(12, 4), + ANIMCMD_LOOP(1), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_846E2AC[] = +{ + sSpriteAnim_846E288, + sSpriteAnim_846E290 +}; + +static const struct SpriteTemplate gUnknown_846E2B4 = +{ + .tileTag = 10, + .paletteTag = 5, + .oam = &sOamData_846E280, + .anims = sSpriteAnimTable_846E2AC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +void sub_814AD6C(struct PokemonJump2 *arg0) +{ + int i; + + for (i = 0; i < NELEMS(gUnknown_846E0B0); i++) + LoadCompressedSpriteSheet(&gUnknown_846E0B0[i]); + + for (i = 0; i < NELEMS(gUnknown_846E0D8); i++) + LoadSpritePalette(&gUnknown_846E0D8[i]); + + arg0->unkE = IndexOfSpritePaletteTag(5); + arg0->unkF = IndexOfSpritePaletteTag(6); +} + +static void sub_814ADB4(struct Sprite *sprite) +{ + int i; + for (i = 0; i < 8; i++) + sprite->data[i] = 0; +} + +void sub_814ADCC(struct PokemonJump2 *arg0, struct PokemonJump1_MonInfo *jumpMon, s16 x, s16 y, u8 multiplayerId) +{ + struct SpriteTemplate spriteTemplate; + struct SpriteSheet spriteSheet; + struct CompressedSpritePalette spritePalette; + u8 *buffer; + u8 *unusedBuffer; + u8 subpriority; + u8 spriteId; + + spriteTemplate = gUnknown_846E0E8; + buffer = Alloc(0x2000); + unusedBuffer = Alloc(0x800); + if (multiplayerId == sub_81499B4()) + subpriority = 3; + else + subpriority = multiplayerId + 4; + + if (buffer && unusedBuffer) + { + HandleLoadSpecialPokePic( + &gMonFrontPicTable[jumpMon->species], + buffer, + jumpMon->species, + jumpMon->personality); + + spriteSheet.data = buffer; + spriteSheet.tag = multiplayerId; + spriteSheet.size = 0x800; + LoadSpriteSheet(&spriteSheet); + + spritePalette.data = GetMonSpritePalFromSpeciesAndPersonality(jumpMon->species, jumpMon->otId, jumpMon->personality); + spritePalette.tag = multiplayerId; + LoadCompressedSpritePalette(&spritePalette); + + Free(buffer); + Free(unusedBuffer); + + spriteTemplate.tileTag += multiplayerId; + spriteTemplate.paletteTag += multiplayerId; + spriteId = CreateSprite(&spriteTemplate, x, y, subpriority); + if (spriteId != MAX_SPRITES) + { + arg0->unk81A8[multiplayerId] = &gSprites[spriteId]; + arg0->unk81FC[multiplayerId] = subpriority; + return; + } + } + + arg0->unk81A8[multiplayerId] = NULL; +} + +void sub_814AF0C(struct PokemonJump2 *arg0, int multiplayerId) +{ + sub_814ADB4(arg0->unk81BC[multiplayerId]); + arg0->unk81BC[multiplayerId]->data[7] = arg0->unk81A8[multiplayerId] - gSprites; + arg0->unk81BC[multiplayerId]->invisible = FALSE; + arg0->unk81BC[multiplayerId]->pos1.y = 96; + arg0->unk81BC[multiplayerId]->callback = sub_814AF74; + StartSpriteAnim(arg0->unk81BC[multiplayerId], 1); +} + +static void sub_814AF74(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + if (sprite->animEnded) + { + sprite->invisible = TRUE; + sprite->callback = SpriteCallbackDummy; + } + break; + case 1: + sprite->pos1.y--; + sprite->data[1]++; + if (sprite->pos1.y <= 72) + { + sprite->pos1.y = 72; + sprite->data[0]++; + } + break; + case 2: + if (++sprite->data[1] >= 48) + { + sprite->invisible = TRUE; + sprite->callback = SpriteCallbackDummy; + } + break; + } +} + +void sub_814AFE8(struct PokemonJump2 *arg0, int multiplayerId) +{ + arg0->unk81A8[multiplayerId]->callback = sub_814B038; + arg0->unk81A8[multiplayerId]->pos2.y = 0; + sub_814ADB4(arg0->unk81A8[multiplayerId]); +} + +bool32 sub_814B010(struct PokemonJump2 *arg0, int multiplayerId) +{ + return arg0->unk81A8[multiplayerId]->callback == sub_814B038; +} + +static void sub_814B038(struct Sprite *sprite) +{ + if (++sprite->data[1] > 1) + { + if (++sprite->data[2] & 1) + sprite->pos2.y = 2; + else + sprite->pos2.y = -2; + + sprite->data[1] = 0; + } + + if (sprite->data[2] > 12) + { + sprite->pos2.y = 0; + sprite->callback = SpriteCallbackDummy; + } +} + +void sub_814B080(struct PokemonJump2 *arg0, int multiplayerId) +{ + sub_814ADB4(arg0->unk81A8[multiplayerId]); + arg0->unk81A8[multiplayerId]->callback = sub_814B100; +} + +void sub_814B0A8(struct PokemonJump2 *arg0) +{ + int i; + u16 numPlayers = sub_81499A4(); + for (i = 0; i < numPlayers; i++) + { + if (arg0->unk81A8[i]->callback == sub_814B100) + { + arg0->unk81A8[i]->invisible = FALSE; + arg0->unk81A8[i]->callback = SpriteCallbackDummy; + arg0->unk81A8[i]->subpriority = 10; + } + } +} + +static void sub_814B100(struct Sprite *sprite) +{ + if (++sprite->data[0] > 3) + { + sprite->data[0] = 0; + sprite->invisible ^= 1; + } +} + +void sub_814B134(struct PokemonJump2 *arg0) +{ + int i; + u16 numPlayers = sub_81499A4(); + for (i = 0; i < numPlayers; i++) + arg0->unk81A8[i]->subpriority = arg0->unk81FC[i]; +} + +void sub_814B168(struct PokemonJump2 *arg0, int multiplayerId) +{ + sub_814ADB4(arg0->unk81A8[multiplayerId]); + arg0->unk81A8[multiplayerId]->callback = sub_814B1CC; +} + +bool32 sub_814B190(struct PokemonJump2 *arg0) +{ + int i; + u16 numPlayers = sub_81499A4(); + for (i = 0; i < numPlayers; i++) + { + if (arg0->unk81A8[i]->callback == sub_814B1CC) + return TRUE; + } + + return FALSE; +} + +static void sub_814B1CC(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + PlaySE(SE_JITE_PYOKO); + sprite->data[1] = 0; + sprite->data[0]++; + // fall through + case 1: + sprite->data[1] += 4; + if (sprite->data[1] > 0x7F) + sprite->data[1] = 0; + + sprite->pos2.y = -(gSineTable[sprite->data[1]] >> 3); + if (sprite->data[1] == 0) + { + if (++sprite->data[2] < 2) + sprite->data[0] = 0; + else + sprite->callback = SpriteCallbackDummy; + } + break; + } +} + +void sub_814B240(struct PokemonJump2 *arg0, s16 x, s16 y, u8 multiplayerId) +{ + u8 spriteId = CreateSprite(&gUnknown_846E2B4, x, y, 1); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].invisible = TRUE; + arg0->unk81BC[multiplayerId] = &gSprites[spriteId]; + } +} + +void sub_814B294(struct PokemonJump2 *arg0) +{ + int i; + int count; + u8 spriteId; + + count = 0; + for (i = 0; i < 4; i++) + { + spriteId = CreateSprite(gUnknown_846E160[i], gUnknown_846E150[count], gUnknown_846E100[i][0], 2); + arg0->unk81D0[count] = &gSprites[spriteId]; + count++; + } + + for (i = 3; i >= 0; i--) + { + spriteId = CreateSprite(gUnknown_846E160[i], gUnknown_846E150[count], gUnknown_846E100[i][0], 2); + arg0->unk81D0[count] = &gSprites[spriteId]; + arg0->unk81D0[count]->hFlip = 1; + count++; + } +} + +void sub_814B348(struct PokemonJump2 *arg0, int arg1) +{ + int i, count, palNum; + int priority; + + if (arg1 > 5) + { + arg1 = 10 - arg1; + priority = 3; + palNum = arg0->unkF; + } + else + { + priority = 2; + palNum = arg0->unkE; + } + + count = 0; + for (i = 0; i < 4; i++) + { + arg0->unk81D0[count]->pos1.y = gUnknown_846E100[i][arg1]; + arg0->unk81D0[count]->oam.priority = priority; + arg0->unk81D0[count]->oam.paletteNum = palNum; + StartSpriteAnim(arg0->unk81D0[count], arg1); + count++; + } + + for (i = 3; i >= 0; i--) + { + arg0->unk81D0[count]->pos1.y = gUnknown_846E100[i][arg1]; + arg0->unk81D0[count]->oam.priority = priority; + arg0->unk81D0[count]->oam.paletteNum = palNum; + StartSpriteAnim(arg0->unk81D0[count], arg1); + count++; + } +} + +void sub_814B43C(struct PokemonJump2 *arg0) +{ + StartMinigameCountdown(9, 7, 120, 80, 0); + sub_814B134(arg0); +} + +bool32 sub_814B460(void) +{ + return IsMinigameCountdownRunning(); +} diff --git a/src/pokemon_jump_6.c b/src/pokemon_jump_6.c new file mode 100644 index 000000000..1e213ad75 --- /dev/null +++ b/src/pokemon_jump_6.c @@ -0,0 +1,140 @@ +#include "global.h" +#include "gflib.h" +#include "menu.h" +#include "script.h" +#include "strings.h" +#include "task.h" +#include "text_window.h" + +static void Task_ShowPokemonJumpRecords(u8 taskId); +static void TruncateToFirstWordOnly(u8 *str); +static void sub_814B5C4(u16 windowId); + +static struct PokemonJumpResults *sub_814B46C(void) +{ + return &gSaveBlock2Ptr->pokeJump; +} + +void ResetPokeJumpResults(void) +{ + struct PokemonJumpResults *pokeJump = sub_814B46C(); + pokeJump->jumpsInRow = 0; + pokeJump->bestJumpScore = 0; + pokeJump->excellentsInRow = 0; + pokeJump->field6 = 0; + pokeJump->field8 = 0; + pokeJump->field2 = 0; +} + +bool32 sub_814B494(u32 jumpScore, u16 jumpsInRow, u16 excellentsInRow) +{ + struct PokemonJumpResults *pokeJump = sub_814B46C(); + bool32 ret = FALSE; + + if (pokeJump->bestJumpScore < jumpScore && jumpScore <= 99990) + pokeJump->bestJumpScore = jumpScore, ret = TRUE; + if (pokeJump->jumpsInRow < jumpsInRow && jumpsInRow <= 9999) + pokeJump->jumpsInRow = jumpsInRow, ret = TRUE; + if (pokeJump->excellentsInRow < excellentsInRow && excellentsInRow <= 9999) + pokeJump->excellentsInRow = excellentsInRow, ret = TRUE; + + return ret; +} + +void sub_814B4E8(void) +{ + struct PokemonJumpResults *pokeJump = sub_814B46C(); + if (pokeJump->field6 < 9999) + pokeJump->field6++; +} + +void ShowPokemonJumpRecords(void) +{ + u8 taskId = CreateTask(Task_ShowPokemonJumpRecords, 0); + Task_ShowPokemonJumpRecords(taskId); +} + +static const struct WindowTemplate gUnknown_846E2CC = +{ + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 28, + .height = 9, + .paletteNum = 15, + .baseBlock = 0x1, +}; + +static const u8 *const gUnknown_846E2D4[] = {gText_JumpsInARow, gText_BestScore2, gText_ExcellentsInARow}; + +static void Task_ShowPokemonJumpRecords(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + switch (data[0]) + { + case 0: + data[1] = AddWindow(&gUnknown_846E2CC); + sub_814B5C4(data[1]); + CopyWindowToVram(data[1], 3); + data[0]++; + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + data[0]++; + break; + case 2: + if (JOY_NEW(A_BUTTON | B_BUTTON)) + { + rbox_fill_rectangle(data[1]); + CopyWindowToVram(data[1], 1); + data[0]++; + } + break; + case 3: + if (!IsDma3ManagerBusyWithBgCopy()) + { + RemoveWindow(data[1]); + DestroyTask(taskId); + EnableBothScriptContexts(); + } + break; + } +} + +static void sub_814B5C4(u16 windowId) +{ + int i, x; + int results[3]; + struct PokemonJumpResults *pokeJump = sub_814B46C(); + u8 strbuf[8]; + results[0] = pokeJump->jumpsInRow; + results[1] = pokeJump->bestJumpScore; + results[2] = pokeJump->excellentsInRow; + + TextWindow_SetStdFrame0_WithPal(windowId, 0x21D, 0xD0); + DrawTextBorderOuter(windowId, 0x21D, 0xD); + FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); + AddTextPrinterParameterized5(windowId, 2, gText_PkmnJumpRecords, 0, 0, TEXT_SPEED_FF, NULL, 1, 0); + for (i = 0; i < NELEMS(gUnknown_846E2D4); i++) + { + AddTextPrinterParameterized5(windowId, 2, gUnknown_846E2D4[i], 0, 20 + (i * 14), TEXT_SPEED_FF, NULL, 1, 0); + ConvertIntToDecimalStringN(strbuf, results[i], STR_CONV_MODE_LEFT_ALIGN, 5); + TruncateToFirstWordOnly(strbuf); + x = 0xDE - GetStringWidth(2, strbuf, 0); + AddTextPrinterParameterized5(windowId, 2, strbuf, x, 20 + (i * 14), TEXT_SPEED_FF, NULL, 0, 0); + } + PutWindowTilemap(windowId); +} + +static void TruncateToFirstWordOnly(u8 *str) +{ + for (;*str != EOS; str++) + { + if (*str == CHAR_SPACE) + { + *str = EOS; + break; + } + } +} diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c index 6eff367c5..66bdb9194 100644 --- a/src/pokemon_size_record.c +++ b/src/pokemon_size_record.c @@ -3,7 +3,6 @@ #include "event_data.h" #include "pokedex.h" #include "pokemon.h" -#include "pokemon_size_record.h" #include "string_util.h" #include "text.h" #include "strings.h" diff --git a/src/post_battle_event_funcs.c b/src/post_battle_event_funcs.c index 112889710..b564e74ce 100644 --- a/src/post_battle_event_funcs.c +++ b/src/post_battle_event_funcs.c @@ -8,7 +8,7 @@ #include "constants/flags.h" #include "constants/spawn_points.h" -bool8 Special_HallOfFame(void) +bool8 EnterHallOfFame(void) { bool8 ribbonState; bool8 *r7; @@ -52,7 +52,7 @@ bool8 Special_HallOfFame(void) return FALSE; } -bool8 sp0C8_whiteout_maybe(void) +bool8 SetCB2WhiteOut(void) { SetMainCallback2(CB2_WhiteOut); return FALSE; diff --git a/src/prof_pc.c b/src/prof_pc.c index d1f06a2ba..c7eed8878 100644 --- a/src/prof_pc.c +++ b/src/prof_pc.c @@ -4,24 +4,24 @@ #include "field_message_box.h" #include "constants/species.h" -extern const u8 gUnknown_81A6D17[]; -extern const u8 gUnknown_81A6D6D[]; -extern const u8 gUnknown_81A6DDF[]; -extern const u8 gUnknown_81A6E36[]; -extern const u8 gUnknown_81A6EA4[]; -extern const u8 gUnknown_81A6F0B[]; -extern const u8 gUnknown_81A6F71[]; -extern const u8 gUnknown_81A6FAB[]; -extern const u8 gUnknown_81A6FF1[]; -extern const u8 gUnknown_81A7031[]; -extern const u8 gUnknown_81A7063[]; -extern const u8 gUnknown_81A70A5[]; -extern const u8 gUnknown_81A70D8[]; -extern const u8 gUnknown_81A7108[]; -extern const u8 gUnknown_81A7137[]; -extern const u8 gUnknown_81A7175[]; +extern const u8 PokedexRating_Text_LessThan10[]; +extern const u8 PokedexRating_Text_LessThan20[]; +extern const u8 PokedexRating_Text_LessThan30[]; +extern const u8 PokedexRating_Text_LessThan40[]; +extern const u8 PokedexRating_Text_LessThan50[]; +extern const u8 PokedexRating_Text_LessThan60[]; +extern const u8 PokedexRating_Text_LessThan70[]; +extern const u8 PokedexRating_Text_LessThan80[]; +extern const u8 PokedexRating_Text_LessThan90[]; +extern const u8 PokedexRating_Text_LessThan100[]; +extern const u8 PokedexRating_Text_LessThan110[]; +extern const u8 PokedexRating_Text_LessThan120[]; +extern const u8 PokedexRating_Text_LessThan130[]; +extern const u8 PokedexRating_Text_LessThan140[]; +extern const u8 PokedexRating_Text_LessThan150[]; +extern const u8 PokedexRating_Text_Complete[]; -u16 Special_GetPokedexCount(void) +u16 GetPokedexCount(void) { if (gSpecialVar_0x8004 == 0) { @@ -41,68 +41,70 @@ static const u8 *GetProfOaksRatingMessageByCount(u16 count) gSpecialVar_Result = FALSE; if (count < 10) - return gUnknown_81A6D17; + return PokedexRating_Text_LessThan10; if (count < 20) - return gUnknown_81A6D6D; + return PokedexRating_Text_LessThan20; if (count < 30) - return gUnknown_81A6DDF; + return PokedexRating_Text_LessThan30; if (count < 40) - return gUnknown_81A6E36; + return PokedexRating_Text_LessThan40; if (count < 50) - return gUnknown_81A6EA4; + return PokedexRating_Text_LessThan50; if (count < 60) - return gUnknown_81A6F0B; + return PokedexRating_Text_LessThan60; if (count < 70) - return gUnknown_81A6F71; + return PokedexRating_Text_LessThan70; if (count < 80) - return gUnknown_81A6FAB; + return PokedexRating_Text_LessThan80; if (count < 90) - return gUnknown_81A6FF1; + return PokedexRating_Text_LessThan90; if (count < 100) - return gUnknown_81A7031; + return PokedexRating_Text_LessThan100; if (count < 110) - return gUnknown_81A7063; + return PokedexRating_Text_LessThan110; if (count < 120) - return gUnknown_81A70A5; + return PokedexRating_Text_LessThan120; if (count < 130) - return gUnknown_81A70D8; + return PokedexRating_Text_LessThan130; if (count < 140) - return gUnknown_81A7108; + return PokedexRating_Text_LessThan140; if (count < 150) - return gUnknown_81A7137; + return PokedexRating_Text_LessThan150; if (count == 150) { + // Mew doesn't count for completing the pokedex if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_MEW), 1)) - return gUnknown_81A7137; + return PokedexRating_Text_LessThan150; + gSpecialVar_Result = TRUE; - return gUnknown_81A7175; + return PokedexRating_Text_Complete; } if (count == 151) { gSpecialVar_Result = TRUE; - return gUnknown_81A7175; + return PokedexRating_Text_Complete; } - return gUnknown_81A6D17; + return PokedexRating_Text_LessThan10; } -void Special_GetProfOaksRatingMessage(void) +void GetProfOaksRatingMessage(void) { ShowFieldMessage(GetProfOaksRatingMessageByCount(gSpecialVar_0x8004)); } diff --git a/src/quest_log.c b/src/quest_log.c index a02aea302..91c07223e 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -18,10 +18,8 @@ #include "field_fadetransition.h" #include "field_weather.h" #include "event_object_movement.h" -#include "event_object_80688E4.h" #include "event_object_lock.h" #include "field_player_avatar.h" -#include "field_control_avatar.h" #include "battle.h" #include "item.h" #include "region_map.h" @@ -44,6 +42,7 @@ #include "constants/trainer_classes.h" #include "constants/species.h" #include "constants/items.h" +#include "constants/field_weather.h" u8 gUnknown_3005E88; @@ -115,7 +114,7 @@ static EWRAM_DATA u16 *gUnknown_203AE90 = NULL; static EWRAM_DATA struct UnkStruct_203AE94 gUnknown_203AE94 = {0}; static EWRAM_DATA struct UnkStruct_203AE98 gUnknown_203AE98[32] = {0}; static EWRAM_DATA u16 sQuestLogIdx = 0; -static EWRAM_DATA u8 gUnknown_203AF9A[64][2] = {{0}}; +static EWRAM_DATA u8 sMovementScripts[64][2] = {{0}}; static EWRAM_DATA u16 gUnknown_203B01A = 0; static EWRAM_DATA u16 gUnknown_203B01C = 0; static EWRAM_DATA u16 sFlagOrVarPlayhead = 0; @@ -154,7 +153,7 @@ static u8 sub_8111BD4(void); static void DrawQuestLogSceneDescription(void); static void sub_8111D90(u8); static void QuestLog_CloseTextWindow(void); -static void QuestLog_SkipToEndOfPlayback(s8); +static void QuestLog_SkipToEndOfPlayback(s8 delay); static void QuestLog_WaitFadeAndCancelPlayback(void); static bool8 sub_8111F60(void); static void sub_8111F8C(u8); @@ -283,133 +282,6 @@ static bool8 sub_81153A8(u16, const u16 *); static bool8 sub_81153E4(u16, const u16 *); static void BufferLinkPartnersName(u8 *); -extern const u8 QuestLog_Text_PreviouslyOnYourQuest[]; -extern const u8 QuestLog_Text_SwitchMon1WithMon2[]; -extern const u8 QuestLog_Text_SwappedHeldItemsOnMon[]; -extern const u8 QuestLog_Text_TookHeldItemFromMon[]; -extern const u8 QuestLog_Text_UsedItemOnMonAtThisLocation[]; -extern const u8 QuestLog_Text_UsedTheItem[]; -extern const u8 QuestLog_Text_UsedTheKeyItem[]; -extern const u8 QuestLog_Text_MonLearnedMoveFromTM[]; -extern const u8 QuestLog_Text_MonReplacedMoveWithTM[]; -extern const u8 QuestLog_Text_MonsWereFullyRestoredAtCenter[]; -extern const u8 QuestLog_Text_PlayerBattledChampionRival[]; -extern const u8 QuestLog_Text_PlayerSentOutMon1RivalSentOutMon2[]; -extern const u8 QuestLog_Text_WonTheMatchAsAResult[]; -extern const u8 QuestLog_Text_StoredItemInPC[]; -extern const u8 QuestLog_Text_WithdrewItemFromPC[]; -extern const u8 QuestLog_Text_TradedMon1ForPersonsMon2[]; -extern const u8 QuestLog_Text_SingleBattleWithPersonResultedInOutcome[]; -extern const u8 QuestLog_Text_DoubleBattleWithPersonResultedInOutcome[]; -extern const u8 QuestLog_Text_MultiBattleWithPeopleResultedInOutcome[]; -extern const u8 QuestLog_Text_Win[]; -extern const u8 QuestLog_Text_Loss[]; -extern const u8 QuestLog_Text_MingledInUnionRoom[]; -extern const u8 QuestLog_Text_DepartedPlaceInTownForNextDestination[]; -extern const u8 QuestLog_Text_SwitchedMonsBetweenBoxes[]; -extern const u8 QuestLog_Text_MovedMonToNewBox[]; -extern const u8 QuestLog_Text_SwitchedMonsWithinBox[]; -extern const u8 QuestLog_Text_MovedMonWithinBox[]; -extern const u8 QuestLog_Text_SwitchedPartyMonForPCMon[]; -extern const u8 QuestLog_Text_WithdrewMonFromPC[]; -extern const u8 QuestLog_Text_DepositedMonInPC[]; -extern const u8 QuestLog_Text_SwitchedMultipleMons[]; -extern const u8 QuestLog_Text_ADifferentSpot[]; -extern const u8 QuestLog_Text_GaveMonHeldItemFromPC[]; -extern const u8 QuestLog_Text_SwappedHeldItemFromPC[]; -extern const u8 QuestLog_Text_ChattedWithManyTrainers[]; -extern const u8 QuestLog_Text_Handily[]; -extern const u8 QuestLog_Text_Tenaciously[]; -extern const u8 QuestLog_Text_Somehow[]; -extern const u8 QuestLog_Text_TradedMon1ForTrainersMon2[]; -extern const u8 QuestLog_Text_BattledTrainerEndedInOutcome[]; -extern const u8 QuestLog_Text_BoughtItem[]; -extern const u8 QuestLog_Text_BoughtItemsIncludingItem[]; -extern const u8 QuestLog_Text_SoldNumOfItem[]; -extern const u8 QuestLog_Text_SoldItemsIncludingItem[]; -extern const u8 QuestLog_Text_JustOne[]; -extern const u8 QuestLog_Text_Num[]; -extern const u8 QuestLog_Text_UsedSoftboiled[]; -extern const u8 QuestLog_Text_UsedMilkDrink[]; -extern const u8 QuestLog_Text_MonLearnedMoveFromHM[]; -extern const u8 QuestLog_Text_MonReplacedMoveWithHM[]; -extern const u8 QuestLog_Text_DefeatedWildMon[]; -extern const u8 QuestLog_Text_DefeatedWildMons[]; -extern const u8 QuestLog_Text_CaughtWildMon[]; -extern const u8 QuestLog_Text_CaughtWildMons[]; -extern const u8 QuestLog_Text_DefeatedWildMonAndCaughtWildMon[]; -extern const u8 QuestLog_Text_DefeatedWildMonAndCaughtWildMons[]; -extern const u8 QuestLog_Text_DefeatedWildMonsAndCaughtWildMon[]; -extern const u8 QuestLog_Text_DefeatedWildMonsAndCaughtWildMons[]; -extern const u8 QuestLog_Text_GaveMonHeldItem[]; -extern const u8 QuestLog_Text_GaveMonHeldItem2[]; -extern const u8 QuestLog_Text_UsedCut[]; -extern const u8 QuestLog_Text_UsedFly[]; -extern const u8 QuestLog_Text_UsedSurf[]; -extern const u8 QuestLog_Text_UsedStrength[]; -extern const u8 QuestLog_Text_UsedFlash[]; -extern const u8 QuestLog_Text_UsedRockSmash[]; -extern const u8 QuestLog_Text_UsedWaterfall[]; -extern const u8 QuestLog_Text_UsedDive[]; -extern const u8 QuestLog_Text_UsedDigInLocation[]; -extern const u8 QuestLog_Text_UsedSweetScent[]; -extern const u8 QuestLog_Text_UsedTeleportToLocation[]; -extern const u8 QuestLog_Text_LeftTownsLocationForNextDestination[]; -extern const u8 QuestLog_Text_PlayedGamesAtGameCorner[]; -extern const u8 QuestLog_Text_RestedAtHome[]; -extern const u8 QuestLog_Text_LeftOaksLab[]; -extern const u8 QuestLog_Text_GymWasFullOfToughTrainers[]; -extern const u8 QuestLog_Text_DepartedGym[]; -extern const u8 QuestLog_Text_HadGreatTimeInSafariZone[]; -extern const u8 QuestLog_Text_ManagedToGetOutOfLocation[]; -extern const u8 QuestLog_Text_TookOnGymLeadersMonWithMonAndWon[]; -extern const u8 QuestLog_Text_TookOnEliteFoursMonWithMonAndWon[]; -extern const u8 QuestLog_Text_TookOnTrainersMonWithMonAndWon[]; -extern const u8 QuestLog_Text_Coolly[]; -extern const u8 QuestLog_Text_Barely[]; -extern const u8 QuestLog_Text_UsedEscapeRope[]; -extern const u8 QuestLog_Text_Draw[]; -extern const u8 QuestLog_Text_DepartedTheLocationForNextDestination[]; -extern const u8 QuestLog_Text_DepartedFromLocationToNextDestination[]; -extern const u8 QuestLog_Text_ObtainedItemInLocation[]; -extern const u8 QuestLog_Text_ArrivedInLocation[]; -extern const u8 QuestLog_Text_SavedGameAtLocation[]; -extern const u8 QuestLog_Text_Home[]; -extern const u8 QuestLog_Text_OakResearchLab[]; -extern const u8 QuestLog_Text_Gym[]; -extern const u8 QuestLog_Text_PokemonLeagueGate[]; -extern const u8 QuestLog_Text_ViridianForest[]; -extern const u8 QuestLog_Text_PewterMuseumOfScience[]; -extern const u8 QuestLog_Text_MtMoon[]; -extern const u8 QuestLog_Text_BikeShop[]; -extern const u8 QuestLog_Text_BillsHouse[]; -extern const u8 QuestLog_Text_DayCare[]; -extern const u8 QuestLog_Text_UndergroundPath[]; -extern const u8 QuestLog_Text_PokemonFanClub[]; -extern const u8 QuestLog_Text_SSAnne[]; -extern const u8 QuestLog_Text_DiglettsCave[]; -extern const u8 QuestLog_Text_RockTunnel[]; -extern const u8 QuestLog_Text_PowerPlant[]; -extern const u8 QuestLog_Text_PokemonTower[]; -extern const u8 QuestLog_Text_VolunteerHouse[]; -extern const u8 QuestLog_Text_NameRatersHouse[]; -extern const u8 QuestLog_Text_CeladonDeptStore[]; -extern const u8 QuestLog_Text_CeladonMansion[]; -extern const u8 QuestLog_Text_RocketGameCorner[]; -extern const u8 QuestLog_Text_Restaurant[]; -extern const u8 QuestLog_Text_RocketHideout[]; -extern const u8 QuestLog_Text_SafariZone[]; -extern const u8 QuestLog_Text_WardensHome[]; -extern const u8 QuestLog_Text_FightingDojo[]; -extern const u8 QuestLog_Text_SilphCo[]; -extern const u8 QuestLog_Text_SeafoamIslands[]; -extern const u8 QuestLog_Text_PokemonMansion[]; -extern const u8 QuestLog_Text_PokemonResearchLab[]; -extern const u8 QuestLog_Text_VictoryRoad[]; -extern const u8 QuestLog_Text_PokemonLeague[]; -extern const u8 QuestLog_Text_CeruleanCave[]; - - static const struct WindowTemplate gUnknown_845661C[3] = { { 0, 0, 0, 30, 2, 15, 0x0e9 }, { 0, 0, 18, 30, 2, 15, 0x0ad }, @@ -528,7 +400,7 @@ static void sub_8110A3C(void) } } -void Special_GetQuestLogState(void) +void GetQuestLogState(void) { gSpecialVar_Result = gQuestLogState; } @@ -753,7 +625,7 @@ void DrawPreviouslyOnQuestHeader(u8 sceneNum) FillWindowPixelRect(gUnknown_203ADFE[i], 15, 0, 0, gUnknown_845661C[i].width * 8, gUnknown_845661C[i].height * 8); } - StringExpandPlaceholders(gStringVar4, QuestLog_Text_PreviouslyOnYourQuest); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_PreviouslyOnYourQuest); // Scene numbers count from 4 to 0, 0 being where the player saved if (sceneNum != 0) @@ -1049,7 +921,7 @@ static void sub_811175C(u8 sceneNum, struct UnkStruct_203AE98 * a1) static void sub_81118F4(s8 a0) { - FadeScreen(1, a0); + FadeScreen(FADE_TO_BLACK, a0); sQuestLogCB = QuestLog_AdvancePlayhead; } @@ -1307,9 +1179,9 @@ static void QuestLog_CloseTextWindow(void) CopyWindowToVram(gUnknown_203ADFE[1], 1); } -static void QuestLog_SkipToEndOfPlayback(s8 a0) +static void QuestLog_SkipToEndOfPlayback(s8 delay) { - FadeScreen(1, a0); + FadeScreen(FADE_TO_BLACK, delay); sQuestLogCB = QuestLog_WaitFadeAndCancelPlayback; } @@ -1372,7 +1244,7 @@ static void Task_QuestLogScene_SavedGame(u8 taskId) if (gUnknown_203AE94.unk_0_6 != 1) { GetMapNameGeneric(gStringVar1, gMapHeader.regionMapSectionId); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_SavedGameAtLocation); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_SavedGameAtLocation); DrawQuestLogSceneDescription(); } task->data[0] = 0; @@ -1553,24 +1425,24 @@ void sub_811246C(struct Sprite *sprite) struct ObjectEvent *objectEvent = &gObjectEvents[sprite->data[0]]; if (objectEvent->localId == OBJ_EVENT_ID_PLAYER) { - if (gUnknown_203AF9A[0][0] != OBJ_EVENT_ID_PLAYER) + if (sMovementScripts[0][0] != 0xFF) { - ObjectEventSetHeldMovement(objectEvent, gUnknown_203AF9A[0][0]); - gUnknown_203AF9A[0][0] = OBJ_EVENT_ID_PLAYER; + ObjectEventSetHeldMovement(objectEvent, sMovementScripts[0][0]); + sMovementScripts[0][0] = 0xFF; } - if (gUnknown_203AF9A[0][1] != OBJ_EVENT_ID_PLAYER) + if (sMovementScripts[0][1] != OBJ_EVENT_ID_PLAYER) { sub_8150454(); - gUnknown_203AF9A[0][1] = OBJ_EVENT_ID_PLAYER; + sMovementScripts[0][1] = OBJ_EVENT_ID_PLAYER; } sub_8063E28(objectEvent, sprite); } else { - if (gUnknown_203AF9A[objectEvent->localId][0] != OBJ_EVENT_ID_PLAYER) + if (sMovementScripts[objectEvent->localId][0] != 0xFF) { - ObjectEventSetHeldMovement(objectEvent, gUnknown_203AF9A[objectEvent->localId][0]); - gUnknown_203AF9A[objectEvent->localId][0] = OBJ_EVENT_ID_PLAYER; + ObjectEventSetHeldMovement(objectEvent, sMovementScripts[objectEvent->localId][0]); + sMovementScripts[objectEvent->localId][0] = 0xFF; } sub_8063E28(objectEvent, sprite); } @@ -1738,15 +1610,15 @@ static void sub_8112940(u8 a0, struct UnkStruct_203AE98 *a1, u16 a2) sNumQuestLogs = a2 / 8; for (i = 0; i < 0x40; i++) { - gUnknown_203AF9A[i][0] |= 0xFF; - gUnknown_203AF9A[i][1] |= 0xFF; + sMovementScripts[i][0] |= 0xFF; + sMovementScripts[i][1] |= 0xFF; } sQuestLogIdx = 0; gUnknown_203B01C = 0; gUnknown_3005E90 = (struct UnkStruct_3005E90){}; gUnknown_203B01A = gUnknown_3005E94[sQuestLogIdx].unk_4; - gUnknown_203AF9A[0][0] = gUnknown_3005E94[sQuestLogIdx].unk_3; - gUnknown_203AF9A[0][1] = 0xFF; + sMovementScripts[0][0] = gUnknown_3005E94[sQuestLogIdx].unk_3; + sMovementScripts[0][1] = 0xFF; gUnknown_3005E88 = 1; break; case 2: @@ -1809,10 +1681,10 @@ void sub_8112B3C(void) switch (gUnknown_3005E94[sQuestLogIdx].unk_6) { case 0: - gUnknown_203AF9A[gUnknown_3005E94[sQuestLogIdx].unk_0][0] = gUnknown_3005E94[sQuestLogIdx].unk_3; + sMovementScripts[gUnknown_3005E94[sQuestLogIdx].unk_0][0] = gUnknown_3005E94[sQuestLogIdx].unk_3; break; case 1: - gUnknown_203AF9A[gUnknown_3005E94[sQuestLogIdx].unk_0][1] = gUnknown_3005E94[sQuestLogIdx].unk_3; + sMovementScripts[gUnknown_3005E94[sQuestLogIdx].unk_0][1] = gUnknown_3005E94[sQuestLogIdx].unk_3; break; case 2: *(u32 *)&gUnknown_3005E90 = ((gUnknown_3005E94[sQuestLogIdx].unk_3 << 24) | (gUnknown_3005E94[sQuestLogIdx].unk_2 << 16) | (gUnknown_3005E94[sQuestLogIdx].unk_1 << 8) | (gUnknown_3005E94[sQuestLogIdx].unk_0 << 0)); @@ -2153,7 +2025,7 @@ void ResetTrainerFanClub(void) VarSet(VAR_FANCLUB_LOSE_FAN_TIMER, 0); } -void Special_TryLoseFansFromPlayTimeAfterLinkBattle(void) +void Script_TryLoseFansFromPlayTimeAfterLinkBattle(void) { TryLoseFansFromPlayTimeAfterLinkBattle(TRAINER_FAN_CLUB); } @@ -2167,7 +2039,7 @@ static void TryLoseFansFromPlayTimeAfterLinkBattle(struct TrainerFanClub *fanClu } } -void Special_UpdateTrainerFanClubGameClear(void) +void Script_UpdateTrainerFanClubGameClear(void) { UpdateTrainerFanClubGameClear(TRAINER_FAN_CLUB); } @@ -2284,7 +2156,7 @@ static u8 PlayerLoseRandomTrainerFan(struct TrainerFanClub *fanClub) return sFanClubMemberIds[idx]; } -u16 Special_GetNumFansOfPlayerInTrainerFanClub(void) +u16 Script_GetNumFansOfPlayerInTrainerFanClub(void) { return GetNumFansOfPlayerInTrainerFanClub(TRAINER_FAN_CLUB); } @@ -2303,7 +2175,7 @@ static u16 GetNumFansOfPlayerInTrainerFanClub(struct TrainerFanClub *fanClub) return count; } -void Special_TryLoseFansFromPlayTime(void) +void Script_TryLoseFansFromPlayTime(void) { TryLoseFansFromPlayTime(TRAINER_FAN_CLUB); } @@ -2337,7 +2209,7 @@ static void TryLoseFansFromPlayTime(struct TrainerFanClub *fanClub) } } -bool16 Special_IsFanClubMemberFanOfPlayer(void) +bool16 Script_IsFanClubMemberFanOfPlayer(void) { return IsFanClubMemberFanOfPlayer(TRAINER_FAN_CLUB); } @@ -2354,7 +2226,7 @@ static void SetInitialFansOfPlayer(struct TrainerFanClub *fanClub) SET_TRAINER_FAN_CLUB_FLAG(FANCLUB_MEMBER3); } -void Special_BufferFanClubTrainerName(void) +void Script_BufferFanClubTrainerName(void) { u8 whichLinkTrainer = 0; u8 whichNPCTrainer = 0; @@ -2448,7 +2320,7 @@ static bool8 DidPlayerGetFirstFans(struct TrainerFanClub *fanClub) return fanClub->gotInitialFans; } -void Special_SetPlayerGotFirstFans(void) +void Script_SetPlayerGotFirstFans(void) { SetPlayerGotFirstFans(TRAINER_FAN_CLUB); } @@ -2458,7 +2330,7 @@ static void SetPlayerGotFirstFans(struct TrainerFanClub *fanClub) fanClub->gotInitialFans = TRUE; } -u8 Special_TryGainNewFanFromCounter(void) +u8 Script_TryGainNewFanFromCounter(void) { return TryGainNewFanFromCounter(TRAINER_FAN_CLUB, gSpecialVar_0x8004); } @@ -2602,18 +2474,18 @@ void SetQuestLogEvent(u16 eventId, const u16 *eventData) static bool8 InQuestLogDisabledLocation(void) { // In Trainer Tower - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SEVEN_ISLAND_TRAINER_TOWER_1F) - && (gSaveBlock1Ptr->location.mapNum == MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_1F) - || gSaveBlock1Ptr->location.mapNum == MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_2F) - || gSaveBlock1Ptr->location.mapNum == MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_3F) - || gSaveBlock1Ptr->location.mapNum == MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_4F) - || gSaveBlock1Ptr->location.mapNum == MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_5F) - || gSaveBlock1Ptr->location.mapNum == MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_6F) - || gSaveBlock1Ptr->location.mapNum == MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_7F) - || gSaveBlock1Ptr->location.mapNum == MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_8F) - || gSaveBlock1Ptr->location.mapNum == MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_ROOF) - || gSaveBlock1Ptr->location.mapNum == MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_LOBBY) - || gSaveBlock1Ptr->location.mapNum == MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_ELEVATOR))) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(TRAINER_TOWER_1F) + && (gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_TOWER_1F) + || gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_TOWER_2F) + || gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_TOWER_3F) + || gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_TOWER_4F) + || gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_TOWER_5F) + || gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_TOWER_6F) + || gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_TOWER_7F) + || gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_TOWER_8F) + || gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_TOWER_ROOF) + || gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_TOWER_LOBBY) + || gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_TOWER_ELEVATOR))) return TRUE; // In pokemon trainer fan club @@ -2629,7 +2501,7 @@ static bool8 InQuestLogDisabledLocation(void) // In elevator if ((gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROCKET_HIDEOUT_ELEVATOR) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROCKET_HIDEOUT_ELEVATOR)) || (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SILPH_CO_ELEVATOR) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(SILPH_CO_ELEVATOR)) - || (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SEVEN_ISLAND_TRAINER_TOWER_ELEVATOR) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER_ELEVATOR)) + || (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(TRAINER_TOWER_ELEVATOR) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_TOWER_ELEVATOR)) || (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(CELADON_CITY_DEPARTMENT_STORE_ELEVATOR) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(CELADON_CITY_DEPARTMENT_STORE_ELEVATOR))) return TRUE; @@ -2763,7 +2635,7 @@ static bool8 TrySetTrainerBattleQuestLogEvent(u16 eventId, const u16 *eventData) return FALSE; sub_81138F8(); - if (gUnknown_3005E88 || FlagGet(FLAG_SYS_GAME_CLEAR) || sub_81137E4(eventId, eventData) != TRUE) + if (gUnknown_3005E88 != 0 || FlagGet(FLAG_SYS_GAME_CLEAR) || sub_81137E4(eventId, eventData) != TRUE) { gUnknown_203B024.unk_00 = eventId; memcpy(gUnknown_203B024.unk_04, eventData, 8); @@ -3172,7 +3044,7 @@ static const u16 *BufferQuestLogText_SwitchedPartyOrder(const u16 *eventData) const u16 *r4 = sub_8113E88(QL_EVENT_SWITCHED_PARTY_ORDER, eventData); QuestLog_GetSpeciesName(r4[0], gStringVar1, 0); QuestLog_GetSpeciesName(r4[1], gStringVar2, 0); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_SwitchMon1WithMon2); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_SwitchMon1WithMon2); r4 += 2; return r4; } @@ -3206,21 +3078,21 @@ static const u16 *BufferQuestLogText_UsedItem(const u16 *eventData) if (r5[0] == ITEM_ESCAPE_ROPE) { GetMapNameGeneric(gStringVar2, (u8)r5[2]); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_UsedEscapeRope); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_UsedEscapeRope); } else if (r5[1] != 0xFFFF) { QuestLog_GetSpeciesName(r5[1], gStringVar2, 0); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_UsedItemOnMonAtThisLocation); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_UsedItemOnMonAtThisLocation); } else { - StringExpandPlaceholders(gStringVar4, QuestLog_Text_UsedTheItem); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_UsedTheItem); } break; case POCKET_KEY_ITEMS: StringCopy(gStringVar1, ItemId_GetName(r5[0])); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_UsedTheKeyItem); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_UsedTheKeyItem); break; case POCKET_TM_CASE: QuestLog_GetSpeciesName(r5[1], gStringVar1, 0); @@ -3229,16 +3101,16 @@ static const u16 *BufferQuestLogText_UsedItem(const u16 *eventData) { StringCopy(gStringVar3, gMoveNames[r5[2]]); if (r5[0] > ITEM_TM50) - StringExpandPlaceholders(gStringVar4, QuestLog_Text_MonReplacedMoveWithHM); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_MonReplacedMoveWithHM); else - StringExpandPlaceholders(gStringVar4, QuestLog_Text_MonReplacedMoveWithTM); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_MonReplacedMoveWithTM); } else { if (r5[0] > ITEM_TM50) - StringExpandPlaceholders(gStringVar4, QuestLog_Text_MonLearnedMoveFromHM); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_MonLearnedMoveFromHM); else - StringExpandPlaceholders(gStringVar4, QuestLog_Text_MonLearnedMoveFromTM); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_MonLearnedMoveFromTM); } break; } @@ -3266,7 +3138,7 @@ static const u16 *BufferQuestLogText_GaveHeldItemFromPartyMenu(const u16 *eventD const u16 *r4 = sub_8113E88(QL_EVENT_GAVE_HELD_ITEM, eventData); QuestLog_GetSpeciesName(r4[1], gStringVar1, 0); StringCopy(gStringVar2, ItemId_GetName(r4[0])); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_GaveMonHeldItem); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_GaveMonHeldItem); r4 += 2; return r4; } @@ -3281,7 +3153,7 @@ static const u16 *BufferQuestLogText_GaveHeldItemFromBagMenu(const u16 *eventDat const u16 *r4 = sub_8113E88(QL_EVENT_GAVE_HELD_ITEM_BAG, eventData); QuestLog_GetSpeciesName(r4[1], gStringVar1, 0); StringCopy(gStringVar2, ItemId_GetName(r4[0])); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_GaveMonHeldItem2); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_GaveMonHeldItem2); r4 += 2; return r4; } @@ -3297,7 +3169,7 @@ static const u16 *BufferQuestLogText_GaveHeldItemFromPC(const u16 *eventData) QuestLog_GetSpeciesName(r4[1], gStringVar2, 0); StringCopy(gStringVar1, ItemId_GetName(r4[0])); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_GaveMonHeldItemFromPC); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_GaveMonHeldItemFromPC); r4 += 2; return r4; } @@ -3313,7 +3185,7 @@ static const u16 *BufferQuestLogText_TookHeldItem(const u16 *eventData) QuestLog_GetSpeciesName(r4[1], gStringVar1, 0); StringCopy(gStringVar2, ItemId_GetName(r4[0])); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_TookHeldItemFromMon); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_TookHeldItemFromMon); r4 += 2; return r4; } @@ -3341,7 +3213,7 @@ static const u16 *BufferQuestLogText_SwappedHeldItem(const u16 *eventData) QuestLog_GetSpeciesName(r4[2], gStringVar1, 0); StringCopy(gStringVar2, ItemId_GetName(r4[0])); // Item taken StringCopy(gStringVar3, ItemId_GetName(r4[1])); // Item given - StringExpandPlaceholders(gStringVar4, QuestLog_Text_SwappedHeldItemsOnMon); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_SwappedHeldItemsOnMon); r4 += 3; return r4; } @@ -3357,7 +3229,7 @@ static const u16 *BufferQuestLogText_SwappedHeldItemFromPC(const u16 *eventData) QuestLog_GetSpeciesName(r4[2], gStringVar2, 0); StringCopy(gStringVar3, ItemId_GetName(r4[0])); StringCopy(gStringVar1, ItemId_GetName(r4[1])); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_SwappedHeldItemFromPC); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_SwappedHeldItemFromPC); r4 += 3; return r4; } @@ -3378,7 +3250,7 @@ static u16 *BufferQuestLogData_UsedPkmnCenter(u16 *a0, const u16 *eventData) static const u16 *BufferQuestLogText_UsedPkmnCenter(const u16 *a0) { - StringExpandPlaceholders(gStringVar4, QuestLog_Text_MonsWereFullyRestoredAtCenter); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_MonsWereFullyRestoredAtCenter); a0 += 2; return a0; } @@ -3407,27 +3279,27 @@ static const u16 *BufferQuestLogText_LinkTraded(const u16 *a0) BufferLinkPartnersName(gStringVar1); QuestLog_GetSpeciesName(a0[3], gStringVar2, 0); // Mon received QuestLog_GetSpeciesName(a0[2], gStringVar3, 0); // Mon sent - StringExpandPlaceholders(gStringVar4, QuestLog_Text_TradedMon1ForPersonsMon2); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_TradedMon1ForPersonsMon2); r6 += 4; return r6; } static const u8 *const sDefeatedOpponentFlavorTexts[] = { - QuestLog_Text_Handily, - QuestLog_Text_Tenaciously, - QuestLog_Text_Somehow + gText_QuestLog_Handily, + gText_QuestLog_Tenaciously, + gText_QuestLog_Somehow }; static const u8 *const sDefeatedChampionFlavorTexts[] = { - QuestLog_Text_Coolly, - QuestLog_Text_Somehow, - QuestLog_Text_Barely + gText_QuestLog_Coolly, + gText_QuestLog_Somehow, + gText_QuestLog_Barely }; static const u8 *const sBattleOutcomeTexts[] = { - QuestLog_Text_Win, - QuestLog_Text_Loss, - QuestLog_Text_Draw + gText_QuestLog_Win, + gText_QuestLog_Loss, + gText_QuestLog_Draw }; static u16 *BufferQuestLogData_LinkBattledSingle(u16 *a0, const u16 *eventData) @@ -3449,7 +3321,7 @@ static const u16 *BufferQuestLogText_LinkBattledSingle(const u16 *a0) BufferLinkPartnersName(gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, sBattleOutcomeTexts[((const u8 *)a0)[4]]); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_SingleBattleWithPersonResultedInOutcome); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_SingleBattleWithPersonResultedInOutcome); a0 += 6; return a0; } @@ -3473,7 +3345,7 @@ static const u16 *BufferQuestLogText_LinkBattledDouble(const u16 *a0) BufferLinkPartnersName(gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, sBattleOutcomeTexts[((const u8 *)a0)[4]]); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_DoubleBattleWithPersonResultedInOutcome); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_DoubleBattleWithPersonResultedInOutcome); a0 += 6; return a0; } @@ -3508,7 +3380,7 @@ static const u16 *BufferQuestLogText_LinkBattledMulti(const u16 *a0) DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gStringVar2); // opponent 1 DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, gStringVar3); // opponent 2 DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, sBattleOutcomeTexts[((const u8 *)a0)[4]]); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_MultiBattleWithPeopleResultedInOutcome); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_MultiBattleWithPeopleResultedInOutcome); a0 += 13; return a0; } @@ -3522,7 +3394,7 @@ static u16 *BufferQuestLogData_UsedUnionRoom(u16 *a0, const u16 *eventData) static const u16 *BufferQuestLogText_UsedUnionRoom(const u16 *a0) { - StringExpandPlaceholders(gStringVar4, QuestLog_Text_MingledInUnionRoom); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_MingledInUnionRoom); a0 += 2; return a0; } @@ -3536,7 +3408,7 @@ static u16 *BufferQuestLogData_UsedUnionRoomChat(u16 *a0, const u16 *eventData) static const u16 *BufferQuestLogText_UsedUnionRoomChat(const u16 *a0) { - StringExpandPlaceholders(gStringVar4, QuestLog_Text_ChattedWithManyTrainers); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_ChattedWithManyTrainers); a0 += 2; return a0; } @@ -3561,7 +3433,7 @@ static const u16 *BufferQuestLogText_LinkTradedUnionRoom(const u16 *a0) BufferLinkPartnersName(gStringVar1); QuestLog_GetSpeciesName(a0[3], gStringVar2, 0); QuestLog_GetSpeciesName(a0[2], gStringVar3, 0); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_TradedMon1ForTrainersMon2); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_TradedMon1ForTrainersMon2); r6 += 8; return (const u16 *)r6; } @@ -3582,7 +3454,7 @@ static const u16 *BufferQuestLogText_LinkBattledUnionRoom(const u16 *a0) memcpy(gStringVar1, (const u8 *)a0 + 5, PLAYER_NAME_LENGTH); BufferLinkPartnersName(gStringVar1); StringCopy(gStringVar2, sBattleOutcomeTexts[*(const u8 *)&a0[2]]); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_BattledTrainerEndedInOutcome); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_BattledTrainerEndedInOutcome); a0 += 6; return a0; } @@ -3609,7 +3481,7 @@ static const u16 *BufferQuestLogText_SwitchedMonsBetweenBoxes(const u16 *eventDa QuestLog_GetSpeciesName(eventData[0], NULL, 1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, GetBoxNamePtr(boxIdxs[1])); QuestLog_GetSpeciesName(eventData[1], NULL, 3); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_SwitchedMonsBetweenBoxes); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_SwitchedMonsBetweenBoxes); return eventData + 3; } @@ -3633,7 +3505,7 @@ static const u16 *BufferQuestLogText_SwitchedMonsWithinBox(const u16 *eventData) DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(boxIdxs[0])); QuestLog_GetSpeciesName(eventData[0], NULL, 1); QuestLog_GetSpeciesName(eventData[1], NULL, 2); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_SwitchedMonsWithinBox); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_SwitchedMonsWithinBox); return eventData + 3; } @@ -3669,7 +3541,7 @@ static const u16 *BufferQuestLogText_SwitchedPartyMonForPCMon(const u16 *eventDa DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(boxIdxs[0])); QuestLog_GetSpeciesName(eventData[0], NULL, 1); QuestLog_GetSpeciesName(eventData[1], NULL, 2); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_SwitchedPartyMonForPCMon); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_SwitchedPartyMonForPCMon); return eventData + 3; } @@ -3696,7 +3568,7 @@ static const u16 *BufferQuestLogText_MovedMonBetweenBoxes(const u16 *eventData) DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(boxIdxs[0])); QuestLog_GetSpeciesName(eventData[0], NULL, 1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, GetBoxNamePtr(boxIdxs[1])); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_MovedMonToNewBox); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_MovedMonToNewBox); return (const u16 *)boxIdxs + 1; } @@ -3719,7 +3591,7 @@ static const u16 *BufferQuestLogText_MovedMonWithinBox(const u16 *eventData) DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(boxIdxs[0])); QuestLog_GetSpeciesName(eventData[0], NULL, 1); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_MovedMonWithinBox); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_MovedMonWithinBox); return (const u16 *)boxIdxs + 1; } @@ -3742,7 +3614,7 @@ static const u16 *BufferQuestLogText_WithdrewMonFromPC(const u16 *eventData) DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(boxIdxs[0])); QuestLog_GetSpeciesName(eventData[0], NULL, 1); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_WithdrewMonFromPC); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_WithdrewMonFromPC); return (const u16 *)boxIdxs + 1; } @@ -3765,7 +3637,7 @@ static const u16 *BufferQuestLogText_DepositedMonInPC(const u16 *eventData) DynamicPlaceholderTextUtil_Reset(); QuestLog_GetSpeciesName(eventData[0], NULL, 0); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, GetBoxNamePtr(boxIdxs[0])); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_DepositedMonInPC); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_DepositedMonInPC); return (const u16 *)boxIdxs + 1; } @@ -3786,10 +3658,10 @@ static const u16 *BufferQuestLogText_SwitchedMultipleMons(const u16 *eventData) DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, GetBoxNamePtr(*((const u8 *)r4 + 0))); if (*((const u8 *)r4 + 0) == *((const u8 *)r4 + 1)) - DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, QuestLog_Text_ADifferentSpot); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gText_QuestLog_ADifferentSpot); else DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, GetBoxNamePtr(*((const u8 *)r4 + 1))); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_SwitchedMultipleMons); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_SwitchedMultipleMons); return r4 + 1; } @@ -3806,7 +3678,7 @@ static const u16 *BufferQuestLogText_DepositedItemInPC(const u16 *eventData) { const u16 *r4 = sub_8113E88(QL_EVENT_DEPOSITED_ITEM_PC, eventData); CopyItemName(r4[0], gStringVar1); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_StoredItemInPC); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_StoredItemInPC); return r4 + 1; } @@ -3823,7 +3695,7 @@ static const u16 *BufferQuestLogText_WithdrewItemFromPC(const u16 *eventData) { const u16 *r4 = sub_8113E88(QL_EVENT_WITHDREW_ITEM_PC, eventData); CopyItemName(r4[0], gStringVar1); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_WithdrewItemFromPC); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_WithdrewItemFromPC); return r4 + 1; } @@ -3858,7 +3730,7 @@ static const u16 *BufferQuestLogText_DefeatedGymLeader(const u16 *eventData) QuestLog_GetSpeciesName(eventData[0], 0, 2); QuestLog_GetSpeciesName(eventData[1], 0, 3); DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, sDefeatedOpponentFlavorTexts[r6[1]]); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_TookOnGymLeadersMonWithMonAndWon); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_TookOnGymLeadersMonWithMonAndWon); return eventData + 4; } @@ -3905,30 +3777,30 @@ static const u16 *BufferQuestLogText_DefeatedWildMon(const u16 *a0) if (data[0] == 0) { if (data[1] == 1) - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_CaughtWildMon); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_CaughtWildMon); else - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_CaughtWildMons); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_CaughtWildMons); } else if (data[1] == 0) { if (data[0] == 1) - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_DefeatedWildMon); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_DefeatedWildMon); else - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_DefeatedWildMons); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_DefeatedWildMons); } else if (data[0] == 1) { if (data[1] == 1) - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_DefeatedWildMonAndCaughtWildMon); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_DefeatedWildMonAndCaughtWildMon); else - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_DefeatedWildMonAndCaughtWildMons); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_DefeatedWildMonAndCaughtWildMons); } else { if (data[1] == 1) - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_DefeatedWildMonsAndCaughtWildMon); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_DefeatedWildMonsAndCaughtWildMon); else - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_DefeatedWildMonsAndCaughtWildMons); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_DefeatedWildMonsAndCaughtWildMons); } return (const u16 *)(data + 4); } @@ -3966,7 +3838,7 @@ static const u16 *BufferQuestLogText_DefeatedEliteFourMember(const u16 *eventDat QuestLog_GetSpeciesName(eventData[0], NULL, 1); QuestLog_GetSpeciesName(eventData[1], NULL, 2); DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, sDefeatedOpponentFlavorTexts[r5[1]]); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_TookOnEliteFoursMonWithMonAndWon); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_TookOnEliteFoursMonWithMonAndWon); return eventData + 4; } @@ -3997,18 +3869,18 @@ static const u16 *BufferQuestLogText_DefeatedChampion(const u16 *a0) case 0: DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gSaveBlock2Ptr->playerName); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gSaveBlock1Ptr->rivalName); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_PlayerBattledChampionRival); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_PlayerBattledChampionRival); break; case 1: DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gSaveBlock1Ptr->rivalName); QuestLog_GetSpeciesName(a0[2], NULL, 1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gSaveBlock2Ptr->playerName); QuestLog_GetSpeciesName(a0[3], NULL, 3); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_PlayerSentOutMon1RivalSentOutMon2); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_PlayerSentOutMon1RivalSentOutMon2); break; case 2: DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, sDefeatedChampionFlavorTexts[r5[0]]); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_WonTheMatchAsAResult); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_WonTheMatchAsAResult); break; } return (const u16 *)(r5 + 2); @@ -4038,77 +3910,77 @@ static const u16 *BufferQuestLogText_DefeatedTrainer(const u16 *eventData) QuestLog_GetSpeciesName(r5[0], NULL, 2); QuestLog_GetSpeciesName(r5[1], NULL, 3); DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, sDefeatedOpponentFlavorTexts[r6[1]]); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_TookOnTrainersMonWithMonAndWon); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_TookOnTrainersMonWithMonAndWon); return (const u16 *)(r6 + 2); } static const u8 *const sLocationNameTexts[] = { - [QL_LOCATION_HOME] = QuestLog_Text_Home, - [QL_LOCATION_OAKS_LAB] = QuestLog_Text_OakResearchLab, - [QL_LOCATION_VIRIDIAN_GYM] = QuestLog_Text_Gym, - [QL_LOCATION_LEAGUE_GATE_1] = QuestLog_Text_PokemonLeagueGate, - [QL_LOCATION_LEAGUE_GATE_2] = QuestLog_Text_PokemonLeagueGate, - [QL_LOCATION_VIRIDIAN_FOREST_1] = QuestLog_Text_ViridianForest, - [QL_LOCATION_VIRIDIAN_FOREST_2] = QuestLog_Text_ViridianForest, - [QL_LOCATION_PEWTER_MUSEUM] = QuestLog_Text_PewterMuseumOfScience, - [QL_LOCATION_PEWTER_GYM] = QuestLog_Text_Gym, - [QL_LOCATION_MT_MOON_1] = QuestLog_Text_MtMoon, - [QL_LOCATION_MT_MOON_2] = QuestLog_Text_MtMoon, - [QL_LOCATION_CERULEAN_GYM] = QuestLog_Text_Gym, - [QL_LOCATION_BIKE_SHOP] = QuestLog_Text_BikeShop, - [QL_LOCATION_BILLS_HOUSE] = QuestLog_Text_BillsHouse, - [QL_LOCATION_DAY_CARE] = QuestLog_Text_DayCare, - [QL_LOCATION_UNDERGROUND_PATH_1] = QuestLog_Text_UndergroundPath, - [QL_LOCATION_UNDERGROUND_PATH_2] = QuestLog_Text_UndergroundPath, - [QL_LOCATION_PKMN_FAN_CLUB] = QuestLog_Text_PokemonFanClub, - [QL_LOCATION_VERMILION_GYM] = QuestLog_Text_Gym, - [QL_LOCATION_SS_ANNE] = QuestLog_Text_SSAnne, - [QL_LOCATION_DIGLETTS_CAVE_1] = QuestLog_Text_DiglettsCave, - [QL_LOCATION_DIGLETTS_CAVE_2] = QuestLog_Text_DiglettsCave, - [QL_LOCATION_ROCK_TUNNEL_1] = QuestLog_Text_RockTunnel, - [QL_LOCATION_ROCK_TUNNEL_2] = QuestLog_Text_RockTunnel, - [QL_LOCATION_POWER_PLANT] = QuestLog_Text_PowerPlant, - [QL_LOCATION_PKMN_TOWER] = QuestLog_Text_PokemonTower, - [QL_LOCATION_VOLUNTEER_HOUSE] = QuestLog_Text_VolunteerHouse, - [QL_LOCATION_NAME_RATERS_HOUSE] = QuestLog_Text_NameRatersHouse, - [QL_LOCATION_UNDERGROUND_PATH_3] = QuestLog_Text_UndergroundPath, - [QL_LOCATION_UNDERGROUND_PATH_4] = QuestLog_Text_UndergroundPath, - [QL_LOCATION_CELADON_DEPT_STORE] = QuestLog_Text_CeladonDeptStore, - [QL_LOCATION_CELADON_MANSION] = QuestLog_Text_CeladonMansion, - [QL_LOCATION_GAME_CORNER] = QuestLog_Text_RocketGameCorner, - [QL_LOCATION_CELADON_GYM] = QuestLog_Text_Gym, - [QL_LOCATION_CELADON_RESTAURANT] = QuestLog_Text_Restaurant, - [QL_LOCATION_ROCKET_HIDEOUT] = QuestLog_Text_RocketHideout, - [QL_LOCATION_SAFARI_ZONE] = QuestLog_Text_SafariZone, - [QL_LOCATION_FUCHSIA_GYM] = QuestLog_Text_Gym, - [QL_LOCATION_WARDENS_HOME] = QuestLog_Text_WardensHome, - [QL_LOCATION_FIGHTING_DOJO] = QuestLog_Text_FightingDojo, - [QL_LOCATION_SAFFRON_GYM] = QuestLog_Text_Gym, - [QL_LOCATION_SILPH_CO] = QuestLog_Text_SilphCo, - [QL_LOCATION_SEAFOAM_ISLANDS_1] = QuestLog_Text_SeafoamIslands, - [QL_LOCATION_SEAFOAM_ISLANDS_2] = QuestLog_Text_SeafoamIslands, - [QL_LOCATION_PKMN_MANSION] = QuestLog_Text_PokemonMansion, - [QL_LOCATION_CINNABAR_GYM] = QuestLog_Text_Gym, - [QL_LOCATION_CINNABAR_LAB] = QuestLog_Text_PokemonResearchLab, - [QL_LOCATION_VICTORY_ROAD_1] = QuestLog_Text_VictoryRoad, - [QL_LOCATION_VICTORY_ROAD_2] = QuestLog_Text_VictoryRoad, - [QL_LOCATION_PKMN_LEAGUE] = QuestLog_Text_PokemonLeague, - [QL_LOCATION_CERULEAN_CAVE] = QuestLog_Text_CeruleanCave + [QL_LOCATION_HOME] = gText_QuestLog_Home, + [QL_LOCATION_OAKS_LAB] = gText_QuestLog_OakResearchLab, + [QL_LOCATION_VIRIDIAN_GYM] = gText_QuestLog_Gym, + [QL_LOCATION_LEAGUE_GATE_1] = gText_QuestLog_PokemonLeagueGate, + [QL_LOCATION_LEAGUE_GATE_2] = gText_QuestLog_PokemonLeagueGate, + [QL_LOCATION_VIRIDIAN_FOREST_1] = gText_QuestLog_ViridianForest, + [QL_LOCATION_VIRIDIAN_FOREST_2] = gText_QuestLog_ViridianForest, + [QL_LOCATION_PEWTER_MUSEUM] = gText_QuestLog_PewterMuseumOfScience, + [QL_LOCATION_PEWTER_GYM] = gText_QuestLog_Gym, + [QL_LOCATION_MT_MOON_1] = gText_QuestLog_MtMoon, + [QL_LOCATION_MT_MOON_2] = gText_QuestLog_MtMoon, + [QL_LOCATION_CERULEAN_GYM] = gText_QuestLog_Gym, + [QL_LOCATION_BIKE_SHOP] = gText_QuestLog_BikeShop, + [QL_LOCATION_BILLS_HOUSE] = gText_QuestLog_BillsHouse, + [QL_LOCATION_DAY_CARE] = gText_QuestLog_DayCare, + [QL_LOCATION_UNDERGROUND_PATH_1] = gText_QuestLog_UndergroundPath, + [QL_LOCATION_UNDERGROUND_PATH_2] = gText_QuestLog_UndergroundPath, + [QL_LOCATION_PKMN_FAN_CLUB] = gText_QuestLog_PokemonFanClub, + [QL_LOCATION_VERMILION_GYM] = gText_QuestLog_Gym, + [QL_LOCATION_SS_ANNE] = gText_QuestLog_SSAnne, + [QL_LOCATION_DIGLETTS_CAVE_1] = gText_QuestLog_DiglettsCave, + [QL_LOCATION_DIGLETTS_CAVE_2] = gText_QuestLog_DiglettsCave, + [QL_LOCATION_ROCK_TUNNEL_1] = gText_QuestLog_RockTunnel, + [QL_LOCATION_ROCK_TUNNEL_2] = gText_QuestLog_RockTunnel, + [QL_LOCATION_POWER_PLANT] = gText_QuestLog_PowerPlant, + [QL_LOCATION_PKMN_TOWER] = gText_QuestLog_PokemonTower, + [QL_LOCATION_VOLUNTEER_HOUSE] = gText_QuestLog_VolunteerHouse, + [QL_LOCATION_NAME_RATERS_HOUSE] = gText_QuestLog_NameRatersHouse, + [QL_LOCATION_UNDERGROUND_PATH_3] = gText_QuestLog_UndergroundPath, + [QL_LOCATION_UNDERGROUND_PATH_4] = gText_QuestLog_UndergroundPath, + [QL_LOCATION_CELADON_DEPT_STORE] = gText_QuestLog_CeladonDeptStore, + [QL_LOCATION_CELADON_MANSION] = gText_QuestLog_CeladonMansion, + [QL_LOCATION_GAME_CORNER] = gText_QuestLog_RocketGameCorner, + [QL_LOCATION_CELADON_GYM] = gText_QuestLog_Gym, + [QL_LOCATION_CELADON_RESTAURANT] = gText_QuestLog_Restaurant, + [QL_LOCATION_ROCKET_HIDEOUT] = gText_QuestLog_RocketHideout, + [QL_LOCATION_SAFARI_ZONE] = gText_QuestLog_SafariZone, + [QL_LOCATION_FUCHSIA_GYM] = gText_QuestLog_Gym, + [QL_LOCATION_WARDENS_HOME] = gText_QuestLog_WardensHome, + [QL_LOCATION_FIGHTING_DOJO] = gText_QuestLog_FightingDojo, + [QL_LOCATION_SAFFRON_GYM] = gText_QuestLog_Gym, + [QL_LOCATION_SILPH_CO] = gText_QuestLog_SilphCo, + [QL_LOCATION_SEAFOAM_ISLANDS_1] = gText_QuestLog_SeafoamIslands, + [QL_LOCATION_SEAFOAM_ISLANDS_2] = gText_QuestLog_SeafoamIslands, + [QL_LOCATION_PKMN_MANSION] = gText_QuestLog_PokemonMansion, + [QL_LOCATION_CINNABAR_GYM] = gText_QuestLog_Gym, + [QL_LOCATION_CINNABAR_LAB] = gText_QuestLog_PokemonResearchLab, + [QL_LOCATION_VICTORY_ROAD_1] = gText_QuestLog_VictoryRoad, + [QL_LOCATION_VICTORY_ROAD_2] = gText_QuestLog_VictoryRoad, + [QL_LOCATION_PKMN_LEAGUE] = gText_QuestLog_PokemonLeague, + [QL_LOCATION_CERULEAN_CAVE] = gText_QuestLog_CeruleanCave }; static const u8 *const sDepartedLocationTexts[] = { - [QL_DEPARTED_TOWN_BUILDING] = QuestLog_Text_DepartedPlaceInTownForNextDestination, - [QL_DEPARTED_MUSEUM] = QuestLog_Text_LeftTownsLocationForNextDestination, - [QL_DEPARTED_GAME_CORNER] = QuestLog_Text_PlayedGamesAtGameCorner, - [QL_DEPARTED_HOME] = QuestLog_Text_RestedAtHome, - [QL_DEPARTED_OAKS_LAB] = QuestLog_Text_LeftOaksLab, - [QL_DEPARTED_GYM] = QuestLog_Text_GymWasFullOfToughTrainers, - [QL_DEPARTED_SAFARI_ZONE] = QuestLog_Text_HadGreatTimeInSafariZone, - [QL_DEPARTED_CAVE] = QuestLog_Text_ManagedToGetOutOfLocation, - [QL_DEPARTED_MISC_BUILDING_1] = QuestLog_Text_DepartedTheLocationForNextDestination, - [QL_DEPARTED_MISC_BUILDING_2] = QuestLog_Text_DepartedFromLocationToNextDestination + [QL_DEPARTED_TOWN_BUILDING] = gText_QuestLog_DepartedPlaceInTownForNextDestination, + [QL_DEPARTED_MUSEUM] = gText_QuestLog_LeftTownsLocationForNextDestination, + [QL_DEPARTED_GAME_CORNER] = gText_QuestLog_PlayedGamesAtGameCorner, + [QL_DEPARTED_HOME] = gText_QuestLog_RestedAtHome, + [QL_DEPARTED_OAKS_LAB] = gText_QuestLog_LeftOaksLab, + [QL_DEPARTED_GYM] = gText_QuestLog_GymWasFullOfToughTrainers, + [QL_DEPARTED_SAFARI_ZONE] = gText_QuestLog_HadGreatTimeInSafariZone, + [QL_DEPARTED_CAVE] = gText_QuestLog_ManagedToGetOutOfLocation, + [QL_DEPARTED_MISC_BUILDING_1] = gText_QuestLog_DepartedTheLocationForNextDestination, + [QL_DEPARTED_MISC_BUILDING_2] = gText_QuestLog_DepartedFromLocationToNextDestination }; static const u8 sLocationToDepartedTextId[] = @@ -4179,18 +4051,18 @@ static const u8 gUnknown_8456C17[] = { static const u8 *const sUsedFieldMoveTexts[] = { - [FIELD_MOVE_FLASH] = QuestLog_Text_UsedFlash, - [FIELD_MOVE_CUT] = QuestLog_Text_UsedCut, - [FIELD_MOVE_FLY] = QuestLog_Text_UsedFly, - [FIELD_MOVE_STRENGTH] = QuestLog_Text_UsedStrength, - [FIELD_MOVE_SURF] = QuestLog_Text_UsedSurf, - [FIELD_MOVE_ROCK_SMASH] = QuestLog_Text_UsedRockSmash, - [FIELD_MOVE_WATERFALL] = QuestLog_Text_UsedWaterfall, - [FIELD_MOVE_TELEPORT] = QuestLog_Text_UsedTeleportToLocation, - [FIELD_MOVE_DIG] = QuestLog_Text_UsedDigInLocation, - [FIELD_MOVE_MILK_DRINK] = QuestLog_Text_UsedMilkDrink, - [FIELD_MOVE_SOFT_BOILED] = QuestLog_Text_UsedSoftboiled, - [FIELD_MOVE_SWEET_SCENT] = QuestLog_Text_UsedSweetScent + [FIELD_MOVE_FLASH] = gText_QuestLog_UsedFlash, + [FIELD_MOVE_CUT] = gText_QuestLog_UsedCut, + [FIELD_MOVE_FLY] = gText_QuestLog_UsedFly, + [FIELD_MOVE_STRENGTH] = gText_QuestLog_UsedStrength, + [FIELD_MOVE_SURF] = gText_QuestLog_UsedSurf, + [FIELD_MOVE_ROCK_SMASH] = gText_QuestLog_UsedRockSmash, + [FIELD_MOVE_WATERFALL] = gText_QuestLog_UsedWaterfall, + [FIELD_MOVE_TELEPORT] = gText_QuestLog_UsedTeleportToLocation, + [FIELD_MOVE_DIG] = gText_QuestLog_UsedDigInLocation, + [FIELD_MOVE_MILK_DRINK] = gText_QuestLog_UsedMilkDrink, + [FIELD_MOVE_SOFT_BOILED] = gText_QuestLog_UsedSoftboiled, + [FIELD_MOVE_SWEET_SCENT] = gText_QuestLog_UsedSweetScent }; static u16 *BufferQuestLogData_DepartedLocation(u16 *a0, const u16 *eventData) @@ -4219,9 +4091,9 @@ static const u16 *BufferQuestLogText_DepartedLocation(const u16 *eventData) if (r5_2[0] != gUnknown_8456C17[r4]) continue; if (FlagGet(FLAG_BADGE01_GET + r4) == TRUE) - StringExpandPlaceholders(gStringVar4, QuestLog_Text_DepartedGym); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_DepartedGym); else - StringExpandPlaceholders(gStringVar4, QuestLog_Text_GymWasFullOfToughTrainers); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_GymWasFullOfToughTrainers); break; } if (r4 == 8) @@ -4292,7 +4164,7 @@ static const u16 *BufferQuestLogText_UsedFieldMove(const u16 *eventData) if (r5[0] == FIELD_MOVE_TELEPORT) { if (r5[1] == 0x58) - StringCopy(gStringVar3, QuestLog_Text_Home); + StringCopy(gStringVar3, gText_QuestLog_Home); else StringCopy(gStringVar3, gText_PokemonCenter); } @@ -4325,12 +4197,12 @@ static const u16 *BufferQuestLogText_BoughtItem(const u16 *eventData) DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, ItemId_GetName(r4[0])); if (r4[1] < 2) - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_BoughtItem); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_BoughtItem); else { ConvertIntToDecimalStringN(gStringVar2, r6, STR_CONV_MODE_LEFT_ALIGN, 6); DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gStringVar2); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_BoughtItemsIncludingItem); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_BoughtItemsIncludingItem); } return (const u16 *)(r7 + 2); } @@ -4361,15 +4233,15 @@ static const u16 *BufferQuestLogText_SoldItem(const u16 *eventData) DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, ItemId_GetName(r5[0])); if (r5[1] == 1) - DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, QuestLog_Text_JustOne); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, gText_QuestLog_JustOne); else { ConvertIntToDecimalStringN(gStringVar2, r5[1], STR_CONV_MODE_LEFT_ALIGN, 3); DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, gStringVar2); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar3, QuestLog_Text_Num); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar3, gText_QuestLog_Num); DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, gStringVar3); } - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_SoldNumOfItem); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_SoldNumOfItem); } else { @@ -4377,7 +4249,7 @@ static const u16 *BufferQuestLogText_SoldItem(const u16 *eventData) DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, ItemId_GetName(r5[0])); ConvertIntToDecimalStringN(gStringVar2, r6, STR_CONV_MODE_LEFT_ALIGN, 6); DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gStringVar2); - DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, QuestLog_Text_SoldItemsIncludingItem); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_QuestLog_SoldItemsIncludingItem); } return (const u16 *)(r7 + 2); } @@ -4398,7 +4270,7 @@ static const u16 *BufferQuestLogText_ObtainedItem(const u16 *eventData) const u8 *r5 = (const u8 *)r4 + 2; GetMapNameGeneric(gStringVar1, r5[0]); StringCopy(gStringVar2, ItemId_GetName(r4[0])); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_ObtainedItemInLocation); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_ObtainedItemInLocation); return (const u16 *)(r5 + 2); } @@ -4423,7 +4295,7 @@ static const u16 sQuestLogWorldMapFlags[] = FLAG_WORLD_MAP_SIX_ISLAND }; -void sub_8115748(u16 worldMapFlag) +void QuestLog_RecordEnteredMap(u16 worldMapFlag) { s32 i; @@ -4476,7 +4348,7 @@ static const u16 *BufferQuestLogText_ArrivedInLocation(const u16 *eventData) { const u16 *r4 = sub_8113E88(QL_EVENT_ARRIVED, eventData); GetMapNameGeneric(gStringVar1, (u8)r4[0]); - StringExpandPlaceholders(gStringVar4, QuestLog_Text_ArrivedInLocation); + StringExpandPlaceholders(gStringVar4, gText_QuestLog_ArrivedInLocation); return r4 + 1; } diff --git a/src/quest_log_objects.c b/src/quest_log_objects.c index c021bbb61..2c17987e8 100644 --- a/src/quest_log_objects.c +++ b/src/quest_log_objects.c @@ -1,11 +1,8 @@ #include "global.h" -#include "event_data.h" #include "quest_log.h" #include "fieldmap.h" #include "field_player_avatar.h" #include "metatile_behavior.h" -#include "link.h" -#include "link_rfu.h" void SetQuestLogObjectEventsData(struct QuestLog * questLog) { @@ -14,22 +11,22 @@ void SetQuestLogObjectEventsData(struct QuestLog * questLog) for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { questLog->unk_008[i].active = gObjectEvents[i].active; - questLog->unk_008[i].mapobj_bit_3 = gObjectEvents[i].triggerGroundEffectsOnStop; - questLog->unk_008[i].mapobj_bit_4 = gObjectEvents[i].disableCoveringGroundEffects; - questLog->unk_008[i].mapobj_bit_5 = gObjectEvents[i].landingJump; - questLog->unk_008[i].mapobj_bit_8 = gObjectEvents[i].frozen; - questLog->unk_008[i].mapobj_bit_9 = gObjectEvents[i].facingDirectionLocked; - questLog->unk_008[i].mapobj_bit_10 = gObjectEvents[i].disableAnim; - questLog->unk_008[i].mapobj_bit_11 = gObjectEvents[i].enableAnim; - questLog->unk_008[i].mapobj_bit_12 = gObjectEvents[i].inanimate; - questLog->unk_008[i].mapobj_bit_13 = gObjectEvents[i].invisible; - questLog->unk_008[i].mapobj_bit_14 = gObjectEvents[i].offScreen; - questLog->unk_008[i].mapobj_bit_15 = gObjectEvents[i].trackedByCamera; - questLog->unk_008[i].mapobj_bit_16 = gObjectEvents[i].isPlayer; - questLog->unk_008[i].mapobj_bit_23 = gObjectEvents[i].spriteAnimPausedBackup; - questLog->unk_008[i].mapobj_bit_24 = gObjectEvents[i].spriteAffineAnimPausedBackup; - questLog->unk_008[i].mapobj_bit_25 = gObjectEvents[i].disableJumpLandingGroundEffect; - questLog->unk_008[i].mapobj_bit_26 = gObjectEvents[i].fixedPriority; + questLog->unk_008[i].triggerGroundEffectsOnStop = gObjectEvents[i].triggerGroundEffectsOnStop; + questLog->unk_008[i].disableCoveringGroundEffects = gObjectEvents[i].disableCoveringGroundEffects; + questLog->unk_008[i].landingJump = gObjectEvents[i].landingJump; + questLog->unk_008[i].frozen = gObjectEvents[i].frozen; + questLog->unk_008[i].facingDirectionLocked = gObjectEvents[i].facingDirectionLocked; + questLog->unk_008[i].disableAnim = gObjectEvents[i].disableAnim; + questLog->unk_008[i].enableAnim = gObjectEvents[i].enableAnim; + questLog->unk_008[i].inanimate = gObjectEvents[i].inanimate; + questLog->unk_008[i].invisible = gObjectEvents[i].invisible; + questLog->unk_008[i].offScreen = gObjectEvents[i].offScreen; + questLog->unk_008[i].trackedByCamera = gObjectEvents[i].trackedByCamera; + questLog->unk_008[i].isPlayer = gObjectEvents[i].isPlayer; + questLog->unk_008[i].spriteAnimPausedBackup = gObjectEvents[i].spriteAnimPausedBackup; + questLog->unk_008[i].spriteAffineAnimPausedBackup = gObjectEvents[i].spriteAffineAnimPausedBackup; + questLog->unk_008[i].disableJumpLandingGroundEffect = gObjectEvents[i].disableJumpLandingGroundEffect; + questLog->unk_008[i].fixedPriority = gObjectEvents[i].fixedPriority; questLog->unk_008[i].mapobj_unk_18 = gObjectEvents[i].facingDirection; questLog->unk_008[i].mapobj_unk_0B_0 = gObjectEvents[i].currentElevation; questLog->unk_008[i].elevation = gObjectEvents[i].previousElevation; @@ -42,8 +39,8 @@ void SetQuestLogObjectEventsData(struct QuestLog * questLog) questLog->unk_008[i].x = gObjectEvents[i].currentCoords.x; questLog->unk_008[i].y = gObjectEvents[i].currentCoords.y; questLog->unk_008[i].trainerRange_berryTreeId = gObjectEvents[i].trainerRange_berryTreeId; - questLog->unk_008[i].mapobj_unk_1F = gObjectEvents[i].previousMetatileBehavior; - questLog->unk_008[i].mapobj_unk_21 = gObjectEvents[i].directionSequenceIndex; + questLog->unk_008[i].previousMetatileBehavior = gObjectEvents[i].previousMetatileBehavior; + questLog->unk_008[i].directionSequenceIndex = gObjectEvents[i].directionSequenceIndex; questLog->unk_008[i].animId = gObjectEvents[i].playerCopyableMovement; } } @@ -58,22 +55,22 @@ void sub_815A1F8(const struct QuestLog * questLog, const struct ObjectEventTempl for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { gObjectEvents[i].active = questLogObjectEvents[i].active; - gObjectEvents[i].triggerGroundEffectsOnStop = questLogObjectEvents[i].mapobj_bit_3; - gObjectEvents[i].disableCoveringGroundEffects = questLogObjectEvents[i].mapobj_bit_4; - gObjectEvents[i].landingJump = questLogObjectEvents[i].mapobj_bit_5; - gObjectEvents[i].frozen = questLogObjectEvents[i].mapobj_bit_8; - gObjectEvents[i].facingDirectionLocked = questLogObjectEvents[i].mapobj_bit_9; - gObjectEvents[i].disableAnim = questLogObjectEvents[i].mapobj_bit_10; - gObjectEvents[i].enableAnim = questLogObjectEvents[i].mapobj_bit_11; - gObjectEvents[i].inanimate = questLogObjectEvents[i].mapobj_bit_12; - gObjectEvents[i].invisible = questLogObjectEvents[i].mapobj_bit_13; - gObjectEvents[i].offScreen = questLogObjectEvents[i].mapobj_bit_14; - gObjectEvents[i].trackedByCamera = questLogObjectEvents[i].mapobj_bit_15; - gObjectEvents[i].isPlayer = questLogObjectEvents[i].mapobj_bit_16; - gObjectEvents[i].spriteAnimPausedBackup = questLogObjectEvents[i].mapobj_bit_23; - gObjectEvents[i].spriteAffineAnimPausedBackup = questLogObjectEvents[i].mapobj_bit_24; - gObjectEvents[i].disableJumpLandingGroundEffect = questLogObjectEvents[i].mapobj_bit_25; - gObjectEvents[i].fixedPriority = questLogObjectEvents[i].mapobj_bit_26; + gObjectEvents[i].triggerGroundEffectsOnStop = questLogObjectEvents[i].triggerGroundEffectsOnStop; + gObjectEvents[i].disableCoveringGroundEffects = questLogObjectEvents[i].disableCoveringGroundEffects; + gObjectEvents[i].landingJump = questLogObjectEvents[i].landingJump; + gObjectEvents[i].frozen = questLogObjectEvents[i].frozen; + gObjectEvents[i].facingDirectionLocked = questLogObjectEvents[i].facingDirectionLocked; + gObjectEvents[i].disableAnim = questLogObjectEvents[i].disableAnim; + gObjectEvents[i].enableAnim = questLogObjectEvents[i].enableAnim; + gObjectEvents[i].inanimate = questLogObjectEvents[i].inanimate; + gObjectEvents[i].invisible = questLogObjectEvents[i].invisible; + gObjectEvents[i].offScreen = questLogObjectEvents[i].offScreen; + gObjectEvents[i].trackedByCamera = questLogObjectEvents[i].trackedByCamera; + gObjectEvents[i].isPlayer = questLogObjectEvents[i].isPlayer; + gObjectEvents[i].spriteAnimPausedBackup = questLogObjectEvents[i].spriteAnimPausedBackup; + gObjectEvents[i].spriteAffineAnimPausedBackup = questLogObjectEvents[i].spriteAffineAnimPausedBackup; + gObjectEvents[i].disableJumpLandingGroundEffect = questLogObjectEvents[i].disableJumpLandingGroundEffect; + gObjectEvents[i].fixedPriority = questLogObjectEvents[i].fixedPriority; gObjectEvents[i].facingDirection = questLogObjectEvents[i].mapobj_unk_18; gObjectEvents[i].currentElevation = questLogObjectEvents[i].mapobj_unk_0B_0; gObjectEvents[i].previousElevation = questLogObjectEvents[i].elevation; @@ -86,8 +83,8 @@ void sub_815A1F8(const struct QuestLog * questLog, const struct ObjectEventTempl gObjectEvents[i].currentCoords.x = questLogObjectEvents[i].x; gObjectEvents[i].currentCoords.y = questLogObjectEvents[i].y; gObjectEvents[i].trainerRange_berryTreeId = questLogObjectEvents[i].trainerRange_berryTreeId; - gObjectEvents[i].previousMetatileBehavior = questLogObjectEvents[i].mapobj_unk_1F; - gObjectEvents[i].directionSequenceIndex = questLogObjectEvents[i].mapobj_unk_21; + gObjectEvents[i].previousMetatileBehavior = questLogObjectEvents[i].previousMetatileBehavior; + gObjectEvents[i].directionSequenceIndex = questLogObjectEvents[i].directionSequenceIndex; gObjectEvents[i].playerCopyableMovement = questLogObjectEvents[i].animId; for (j = 0; j < 0x40; j++) diff --git a/src/quest_log_player.c b/src/quest_log_player.c index 5a2152d8e..be40042b3 100644 --- a/src/quest_log_player.c +++ b/src/quest_log_player.c @@ -57,7 +57,7 @@ void sub_8150498(u8 a0) static void sub_81504A8(void) { struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - sub_81507BC(objectEvent, sub_805C808(0)); + sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(0)); ObjectEventTurn(objectEvent, objectEvent->movementDirection); SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_ON_FOOT); } @@ -65,7 +65,7 @@ static void sub_81504A8(void) static void sub_81504E8(void) { struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; - sub_81507BC(objectEvent, sub_805C808(1)); + sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(1)); ObjectEventTurn(objectEvent, objectEvent->movementDirection); SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_MACH_BIKE); sub_80BD620(0, 0); @@ -80,13 +80,13 @@ static void sub_8150530(void) { u8 taskId; ScriptContext2_Enable(); - gPlayerAvatar.unk6 = 1; + gPlayerAvatar.preventStep = TRUE; taskId = CreateTask(sub_81505C4, 0xFF); gTasks[taskId].data[0] = 0; } else { - sub_81507BC(objectEvent, sub_805C808(4)); + sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(4)); StartSpriteAnim(sprite, GetFishingNoCatchDirectionAnimNum(objectEvent->facingDirection)); } } @@ -101,7 +101,7 @@ static void sub_81505C4(u8 taskId) case 0: ObjectEventClearHeldMovementIfActive(objectEvent); objectEvent->enableAnim = TRUE; - sub_81507BC(objectEvent, sub_805C808(4)); + sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(4)); StartSpriteAnim(sprite, GetFishingNoCatchDirectionAnimNum(objectEvent->facingDirection)); gTasks[taskId].data[0]++; gTasks[taskId].data[1] = 0; @@ -122,9 +122,9 @@ static void sub_81505C4(u8 taskId) if (sprite->animEnded) { if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING)) - sub_81507BC(objectEvent, sub_805C808(0)); + sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(0)); else - sub_81507BC(objectEvent, sub_805C808(2)); + sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(2)); ObjectEventTurn(objectEvent, objectEvent->movementDirection); sprite->pos2.x = 0; sprite->pos2.y = 0; @@ -142,7 +142,7 @@ static void sub_8150708(void) if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING)) { - sub_81507BC(objectEvent, sub_805C808(2)); + sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(2)); ObjectEventTurn(objectEvent, objectEvent->movementDirection); SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_SURFING); gFieldEffectArguments[0] = objectEvent->currentCoords.x; @@ -156,13 +156,13 @@ static void sub_8150708(void) static void sub_815077C(void) { - FieldEffectStart(FLDEFF_UNK_41); + FieldEffectStart(FLDEFF_USE_VS_SEEKER); CreateTask(sub_8150794, 0x00); } static void sub_8150794(u8 taskId) { - if (!FieldEffectActiveListContains(0x41)) + if (!FieldEffectActiveListContains(FLDEFF_USE_VS_SEEKER)) { UnfreezeObjectEvents(); ScriptContext2_Disable(); diff --git a/src/random.c b/src/random.c index f6c49971d..cb12ec805 100644 --- a/src/random.c +++ b/src/random.c @@ -1,5 +1,4 @@ #include "global.h" -#include "random.h" // The number 1103515245 comes from the example implementation // of rand and srand in the ISO C standard. diff --git a/src/region_map.c b/src/region_map.c index d526f9aaa..731abc59f 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -19,7 +19,7 @@ #include "map_preview_screen.h" #include "constants/flags.h" #include "constants/songs.h" -#include "constants/region_map.h" +#include "constants/region_map_sections.h" #include "constants/spawn_points.h" #include "constants/maps.h" @@ -1269,10 +1269,10 @@ static const u8 sMapsecToSpawn[][3] = { [MAPSEC_CAPE_BRINK - MAPSECS_KANTO] = {MAP_GROUP(TWO_ISLAND_CAPE_BRINK), MAP_NUM(TWO_ISLAND_CAPE_BRINK), 0}, [MAPSEC_BOND_BRIDGE - MAPSECS_KANTO] = {MAP_GROUP(THREE_ISLAND_BOND_BRIDGE), MAP_NUM(THREE_ISLAND_BOND_BRIDGE), 0}, [MAPSEC_THREE_ISLE_PORT - MAPSECS_KANTO] = {MAP_GROUP(THREE_ISLAND_PORT), MAP_NUM(THREE_ISLAND_PORT), 0}, - [MAPSEC_SEVII_ISLE_6 - MAPSECS_KANTO] = {MAP_GROUP(UNKNOWN_MAP_03_50), MAP_NUM(UNKNOWN_MAP_03_50), 0}, - [MAPSEC_SEVII_ISLE_7 - MAPSECS_KANTO] = {MAP_GROUP(UNKNOWN_MAP_03_51), MAP_NUM(UNKNOWN_MAP_03_51), 0}, - [MAPSEC_SEVII_ISLE_8 - MAPSECS_KANTO] = {MAP_GROUP(UNKNOWN_MAP_03_52), MAP_NUM(UNKNOWN_MAP_03_52), 0}, - [MAPSEC_SEVII_ISLE_9 - MAPSECS_KANTO] = {MAP_GROUP(UNKNOWN_MAP_03_53), MAP_NUM(UNKNOWN_MAP_03_53), 0}, + [MAPSEC_SEVII_ISLE_6 - MAPSECS_KANTO] = {MAP_GROUP(PROTOTYPE_SEVII_ISLE_6), MAP_NUM(PROTOTYPE_SEVII_ISLE_6), 0}, + [MAPSEC_SEVII_ISLE_7 - MAPSECS_KANTO] = {MAP_GROUP(PROTOTYPE_SEVII_ISLE_7), MAP_NUM(PROTOTYPE_SEVII_ISLE_7), 0}, + [MAPSEC_SEVII_ISLE_8 - MAPSECS_KANTO] = {MAP_GROUP(PROTOTYPE_SEVII_ISLE_8), MAP_NUM(PROTOTYPE_SEVII_ISLE_8), 0}, + [MAPSEC_SEVII_ISLE_9 - MAPSECS_KANTO] = {MAP_GROUP(PROTOTYPE_SEVII_ISLE_9), MAP_NUM(PROTOTYPE_SEVII_ISLE_9), 0}, [MAPSEC_RESORT_GORGEOUS - MAPSECS_KANTO] = {MAP_GROUP(FIVE_ISLAND_RESORT_GORGEOUS), MAP_NUM(FIVE_ISLAND_RESORT_GORGEOUS), 0}, [MAPSEC_WATER_LABYRINTH - MAPSECS_KANTO] = {MAP_GROUP(FIVE_ISLAND_WATER_LABYRINTH), MAP_NUM(FIVE_ISLAND_WATER_LABYRINTH), 0}, [MAPSEC_FIVE_ISLE_MEADOW - MAPSECS_KANTO] = {MAP_GROUP(FIVE_ISLAND_MEADOW), MAP_NUM(FIVE_ISLAND_MEADOW), 0}, @@ -3420,7 +3420,7 @@ static u8 sub_80C3878(u8 mapsec) case MAPSEC_ROCKET_WAREHOUSE: return FlagGet(FLAG_WORLD_MAP_FIVE_ISLAND_ROCKET_WAREHOUSE) ? 2 : 3; case MAPSEC_TRAINER_TOWER_2: - return FlagGet(FLAG_WORLD_MAP_SEVEN_ISLAND_TRAINER_TOWER_LOBBY) ? 2 : 3; + return FlagGet(FLAG_WORLD_MAP_TRAINER_TOWER_LOBBY) ? 2 : 3; case MAPSEC_DOTTED_HOLE: return FlagGet(FLAG_WORLD_MAP_SIX_ISLAND_DOTTED_HOLE_1F) ? 2 : 3; case MAPSEC_LOST_CAVE: @@ -4395,5 +4395,5 @@ static void sub_80C527C(u16 mapsec) { warp1_set_2(sMapsecToSpawn[idx][0], sMapsecToSpawn[idx][1], -1); } - sub_80842C8(); + ReturnToFieldFromFlyMapSelect(); } diff --git a/src/renewable_hidden_items.c b/src/renewable_hidden_items.c index cbaa780e6..c0406fe94 100644 --- a/src/renewable_hidden_items.c +++ b/src/renewable_hidden_items.c @@ -529,12 +529,6 @@ static const struct RenewableHiddenItemData sRenewableHiddenItems[] = { }, }; -bool32 sub_815D834(void) -{ - // Stubbed out? - return FALSE; -} - void SetAllRenewableItemFlags(void) { u8 i, j; diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index ebfd18493..25470fc43 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -6,7 +6,6 @@ #include "link.h" #include "data.h" #include "sprite.h" -#include "text.h" #include "gpu_regs.h" #include "scanline_effect.h" #include "help_system.h" @@ -14,8 +13,6 @@ #include "battle_interface.h" #include "battle_anim.h" #include "battle_controllers.h" -#include "reshow_battle_screen.h" -#include "constants/species.h" static void CB2_ReshowBattleScreenAfterMenu(void); static void sub_8077AAC(void); @@ -39,17 +36,17 @@ void ReshowBattleScreenAfterMenu(void) if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - HelpSystem_SetSomeVariable2(0x19); + SetHelpContext(HELPCONTEXT_TRAINER_BATTLE_DOUBLE); else - HelpSystem_SetSomeVariable2(0x18); + SetHelpContext(HELPCONTEXT_TRAINER_BATTLE_SINGLE); } else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) { - HelpSystem_SetSomeVariable2(0x1A); + SetHelpContext(HELPCONTEXT_SAFARI_BATTLE); } else { - HelpSystem_SetSomeVariable2(0x17); + SetHelpContext(HELPCONTEXT_WILD_BATTLE); } } SetMainCallback2(CB2_ReshowBattleScreenAfterMenu); diff --git a/src/rfu_union_tool.c b/src/rfu_union_tool.c index 20b29de9b..132ac7b85 100644 --- a/src/rfu_union_tool.c +++ b/src/rfu_union_tool.c @@ -1,8 +1,6 @@ #include "global.h" #include "event_data.h" #include "event_object_movement.h" -#include "event_object_80688E4.h" -#include "event_object_8097404.h" #include "field_player_avatar.h" #include "fieldmap.h" #include "rfu_union_tool.h" @@ -10,35 +8,36 @@ #include "task.h" #include "constants/flags.h" #include "constants/event_object_movement.h" -#include "constants/object_events.h" +#include "constants/union_room.h" +#include "constants/event_objects.h" static EWRAM_DATA struct UnionObj * UnionObjWork = NULL; static EWRAM_DATA u32 sUnionObjRefreshTimer = 0; static u8 StartUnionObjAnimTask(void); -static u32 sub_811BBC8(u32 playerIdx, u32 arg1); -static void sub_811C008(s32 arg0, s32 arg1, u8 arg2); +static u32 RfuUnionGroupMemberIsInvisible(u32 group, u32 member); +static void UnionPartnerObjectSetFacing(s32 member, s32 group, u8 direction); static const u8 sUnionObjectEventGfxIds[][10] = { [MALE] = { - OBJECT_EVENT_GFX_COOLTRAINER_M, - OBJECT_EVENT_GFX_BLACKBELT, - OBJECT_EVENT_GFX_CAMPER, - OBJECT_EVENT_GFX_YOUNGSTER, - OBJECT_EVENT_GFX_BOY, - OBJECT_EVENT_GFX_BUG_CATCHER, - OBJECT_EVENT_GFX_MAN, - OBJECT_EVENT_GFX_ROCKER + OBJ_EVENT_GFX_COOLTRAINER_M, + OBJ_EVENT_GFX_BLACKBELT, + OBJ_EVENT_GFX_CAMPER, + OBJ_EVENT_GFX_YOUNGSTER, + OBJ_EVENT_GFX_BOY, + OBJ_EVENT_GFX_BUG_CATCHER, + OBJ_EVENT_GFX_MAN, + OBJ_EVENT_GFX_ROCKER }, [FEMALE] = { - OBJECT_EVENT_GFX_COOLTRAINER_F, - OBJECT_EVENT_GFX_CHANNELER, - OBJECT_EVENT_GFX_PICNICKER, - OBJECT_EVENT_GFX_LASS, - OBJECT_EVENT_GFX_WOMAN_1, - OBJECT_EVENT_GFX_BATTLE_GIRL, - OBJECT_EVENT_GFX_WOMAN_2, - OBJECT_EVENT_GFX_BEAUTY + OBJ_EVENT_GFX_COOLTRAINER_F, + OBJ_EVENT_GFX_CHANNELER, + OBJ_EVENT_GFX_PICNICKER, + OBJ_EVENT_GFX_LASS, + OBJ_EVENT_GFX_WOMAN_1, + OBJ_EVENT_GFX_BATTLE_GIRL, + OBJ_EVENT_GFX_WOMAN_2, + OBJ_EVENT_GFX_BEAUTY } }; @@ -69,12 +68,12 @@ static const u8 sOppositeFacingDirection[] = { [DIR_EAST] = DIR_WEST }; -static const u8 gUnknown_845711B[] = { - 1, - 3, - 1, - 4, - 2 +static const u8 sUnionGroupMemberFacings[] = { + DIR_SOUTH, + DIR_WEST, + DIR_SOUTH, + DIR_EAST, + DIR_NORTH }; static const u8 sUnionRoomLocalIds[] = { @@ -116,19 +115,19 @@ static u8 GetUnionRoomPlayerGraphicsId(u32 gender, u32 id) return sUnionObjectEventGfxIds[gender][id % 8]; } -static void GetUnionRoomPlayerFacingCoords(u32 id, u32 dirn, s32 * xp, s32 * yp) +static void GetUnionRoomPlayerFacingCoords(u32 group, u32 member, s32 * xp, s32 * yp) { - *xp = sUnionPartnerCoords[id][0] + sFacingDirectionOffsets[dirn][0] + 7; - *yp = sUnionPartnerCoords[id][1] + sFacingDirectionOffsets[dirn][1] + 7; + *xp = sUnionPartnerCoords[group][0] + sFacingDirectionOffsets[member][0] + 7; + *yp = sUnionPartnerCoords[group][1] + sFacingDirectionOffsets[member][1] + 7; } -static bool32 sub_811B58C(u32 id, u32 dirn, s32 x, s32 y) +static bool32 IsUnionRoomPlayerFacingTileAt(u32 group, u32 member, s32 x, s32 y) { - if (sUnionPartnerCoords[id][0] + sFacingDirectionOffsets[dirn][0] + 7 != x) + if (sUnionPartnerCoords[group][0] + sFacingDirectionOffsets[member][0] + 7 != x) { return FALSE; } - else if (sUnionPartnerCoords[id][1] + sFacingDirectionOffsets[dirn][1] + 7 != y) + else if (sUnionPartnerCoords[group][1] + sFacingDirectionOffsets[member][1] + 7 != y) { return FALSE; } @@ -188,6 +187,7 @@ static bool32 SetUnionRoomPlayerEnterExitMovement(u32 playerIdx, const u8 * move } return TRUE; } + static bool32 TryReleaseUnionRoomPlayerObjectEvent(u32 playerIdx) { u8 objectId; @@ -263,11 +263,11 @@ static const u8 sMovement_UnionPlayerEnter[2] = { MOVEMENT_ACTION_STEP_END }; -static bool32 AnimateUnionRoomPlayerSpawn(s8 * a0, u32 playerIdx, struct UnionObj * ptr) +static bool32 AnimateUnionRoomPlayerSpawn(s8 * state_p, u32 playerIdx, struct UnionObj * ptr) { s16 x, y; - switch (*a0) + switch (*state_p) { case 0: if (!is_walking_or_running()) @@ -275,30 +275,30 @@ static bool32 AnimateUnionRoomPlayerSpawn(s8 * a0, u32 playerIdx, struct UnionOb break; } PlayerGetDestCoords(&x, &y); - if (sub_811B58C(playerIdx, 0, x, y) == TRUE) + if (IsUnionRoomPlayerFacingTileAt(playerIdx, 0, x, y) == TRUE) { break; } player_get_pos_including_state_based_drift(&x, &y); - if (sub_811B58C(playerIdx, 0, x, y) == TRUE) + if (IsUnionRoomPlayerFacingTileAt(playerIdx, 0, x, y) == TRUE) { break; } SetUnionRoomPlayerGfx(playerIdx, ptr->gfxId); CreateUnionRoomPlayerObjectEvent(playerIdx); ShowUnionRoomPlayer(playerIdx); - (*a0)++; + (*state_p)++; // fallthrough case 3: // incorrect? if (SetUnionRoomPlayerEnterExitMovement(playerIdx, sMovement_UnionPlayerEnter) == 1) { - (*a0)++; + (*state_p)++; } break; case 2: if (TryReleaseUnionRoomPlayerObjectEvent(playerIdx)) { - *a0 = 0; + *state_p = 0; return TRUE; } break; @@ -306,12 +306,12 @@ static bool32 AnimateUnionRoomPlayerSpawn(s8 * a0, u32 playerIdx, struct UnionOb return FALSE; } -static bool32 sub_811B8BC(u32 playerIdx, u32 a1, u32 a2) +static bool32 SpawnGroupLeader(u32 playerIdx, u32 gender, u32 idMod256) { struct UnionObj * ptr = &UnionObjWork[playerIdx]; AGB_ASSERT_EX(UnionObjWork != NULL, ABSPATH("rfu_union_tool.c"), 561) - ptr->schedAnim = 1; - ptr->gfxId = GetUnionRoomPlayerGraphicsId(a1, a2); + ptr->schedAnim = UNION_ROOM_SPAWN_IN; + ptr->gfxId = GetUnionRoomPlayerGraphicsId(gender, idMod256); if (ptr->state == 0) { return TRUE; @@ -322,11 +322,11 @@ static bool32 sub_811B8BC(u32 playerIdx, u32 a1, u32 a2) } } -static bool32 sub_811B90C(u32 playerIdx) +static bool32 DespawnGroupLeader(u32 playerIdx) { struct UnionObj * ptr = &UnionObjWork[playerIdx]; AGB_ASSERT_EX(UnionObjWork != NULL, ABSPATH("rfu_union_tool.c"), 577) - ptr->schedAnim = 2; + ptr->schedAnim = UNION_ROOM_SPAWN_OUT; if (ptr->state == 1) { return TRUE; @@ -342,7 +342,7 @@ static void AnimateUnionObj(u32 playerIdx, struct UnionObj * ptr) switch (ptr->state) { case 0: - if (ptr->schedAnim == 1) + if (ptr->schedAnim == UNION_ROOM_SPAWN_IN) { ptr->state = 2; ptr->animState = 0; @@ -353,7 +353,7 @@ static void AnimateUnionObj(u32 playerIdx, struct UnionObj * ptr) } // fallthrough case 2: - if (!sub_811BBC8(playerIdx, 0) && ptr->schedAnim == 2) + if (!RfuUnionGroupMemberIsInvisible(playerIdx, 0) && ptr->schedAnim == 2) { ptr->state = 0; ptr->animState = 0; @@ -366,7 +366,7 @@ static void AnimateUnionObj(u32 playerIdx, struct UnionObj * ptr) } break; case 1: - if (ptr->schedAnim == 2) + if (ptr->schedAnim == UNION_ROOM_SPAWN_OUT) { ptr->state = 3; ptr->animState = 0; @@ -383,7 +383,7 @@ static void AnimateUnionObj(u32 playerIdx, struct UnionObj * ptr) } break; } - ptr->schedAnim = 0; + ptr->schedAnim = UNION_ROOM_SPAWN_NONE; } static void Task_AnimateUnionObjs(u8 taskId) @@ -409,7 +409,7 @@ static u8 StartUnionObjAnimTask(void) } } -static void sub_811BA5C(void) +static void DestroyAnimateUnionObjsTask(void) { u8 taskId = FindTaskIdByFunc(Task_AnimateUnionObjs); if (taskId < NUM_TASKS) @@ -418,7 +418,7 @@ static void sub_811BA5C(void) } } -void sub_811BA78(void) +void DeleteUnionObjWorkAndStopTask(void) { s32 i; for (i = 0; i < 8; i++) @@ -430,31 +430,31 @@ void sub_811BA78(void) } } UnionObjWork = NULL; - sub_811BA5C(); + DestroyAnimateUnionObjsTask(); } -void sub_811BAAC(u8 * sp8, s32 r9) +void CreateGroupMemberObjectsInvisible(u8 * sprite_ids, s32 group) { - s32 r7; + s32 i; - for (r7 = 0; r7 < 5; r7++) + for (i = 0; i < 5; i++) { - s32 r5 = 5 * r9 + r7; - sp8[r5] = sprite_new(OBJECT_EVENT_GFX_MAN, r5 - 0x38, sUnionPartnerCoords[r9][0] + sFacingDirectionOffsets[r7][0], sUnionPartnerCoords[r9][1] + sFacingDirectionOffsets[r7][1], 3, 1); - sub_8069124(r5 - 0x38, TRUE); + s32 obj_id = 5 * group + i; + sprite_ids[obj_id] = sprite_new(OBJ_EVENT_GFX_MAN, obj_id - 0x38, sUnionPartnerCoords[group][0] + sFacingDirectionOffsets[i][0], sUnionPartnerCoords[group][1] + sFacingDirectionOffsets[i][1], 3, 1); + RfuUnionObjectToggleInvisibility(obj_id - 0x38, TRUE); } } -void sub_811BB40(u8 * r5) +void DestroyGroupMemberObjects(u8 *spriteIds) { s32 i; for (i = 0; i < 40; i++) { - DestroySprite(&gSprites[r5[i]]); + DestroySprite(&gSprites[spriteIds[i]]); } } -void sub_811BB68(void) +void MakeGroupAssemblyAreasPassable(void) { s32 i, j, x, y; for (i = 0; i < 8; i++) @@ -462,94 +462,94 @@ void sub_811BB68(void) for (j = 0; j < 5; j++) { GetUnionRoomPlayerFacingCoords(i, j, &x, &y); - sub_8059024(x, y, 0); + MapGridSetMetatileImpassabilityAt(x, y, FALSE); } } } -static u8 sub_811BBA0(u32 r1, u32 unused, struct GFtgtGname * r2) +static u8 UnionPartnerObjectGetFacing(u32 member, u32 group, struct GFtgtGname * gname) { - if (r1 != 0) + if (member != 0) { - return gUnknown_845711B[r1]; + return sUnionGroupMemberFacings[member]; } - else if (r2->unk_0a_0 == 0x45) + else if (gname->activity == 0x45) { - return 1; + return DIR_SOUTH; } else { - return 4; + return DIR_EAST; } } -static u32 sub_811BBC8(u32 a0, u32 a1) +static u32 RfuUnionGroupMemberIsInvisible(u32 group, u32 member) { - return sub_806916C(5 * a0 + a1 - 0x38); + return RfuUnionObjectIsInvisible(5 * group + member - 0x38); } -static void sub_811BBE0(u32 r5, u32 r6, u8 r8, struct GFtgtGname * r9) +static void SpawnGroupMember(u32 groupNo, u32 memberNo, u8 direction, struct GFtgtGname * gname) { s32 x, y; - s32 r7 = 5 * r5 + r6; - if (sub_811BBC8(r5, r6) == 1) + s32 objId = 5 * groupNo + memberNo; + if (RfuUnionGroupMemberIsInvisible(groupNo, memberNo) == TRUE) { - sub_8069124(r7 - 0x38, FALSE); - sub_80691A4(r7 - 0x38, 1); + RfuUnionObjectToggleInvisibility(objId - 0x38, FALSE); + RfuUnionObjectStartWarp(objId - 0x38, UNION_ROOM_SPAWN_IN); } - sub_8069094(r7 - 0x38, r8); - sub_811C008(r6, r5, sub_811BBA0(r6, r5, r9)); - GetUnionRoomPlayerFacingCoords(r5, r6, &x, &y); - sub_8059024(x, y, 1); + RfuUnionObjectSetFacingDirection(objId - 0x38, direction); + UnionPartnerObjectSetFacing(memberNo, groupNo, UnionPartnerObjectGetFacing(memberNo, groupNo, gname)); + GetUnionRoomPlayerFacingCoords(groupNo, memberNo, &x, &y); + MapGridSetMetatileImpassabilityAt(x, y, TRUE); } -static void sub_811BC68(u32 a0, u32 a1) +static void DespawnGroupMember(u32 group, u32 member) { s32 x, y; - sub_80691A4(5 * a0 + a1 - 0x38, 2); - GetUnionRoomPlayerFacingCoords(a0, a1, &x, &y); - sub_8059024(x, y, 0); + RfuUnionObjectStartWarp(5 * group + member - 0x38, UNION_ROOM_SPAWN_OUT); + GetUnionRoomPlayerFacingCoords(group, member, &x, &y); + MapGridSetMetatileImpassabilityAt(x, y, FALSE); } -static void sub_811BCA0(u32 r7, struct GFtgtGname * r8) +static void AssembleGroup(u32 group, struct GFtgtGname * gname) { s16 x, y, x2, y2; s32 i; PlayerGetDestCoords(&x, &y); player_get_pos_including_state_based_drift(&x2, &y2); - if (sub_806916C(5 * r7 - 0x38) == 1) + if (RfuUnionObjectIsInvisible(5 * group - 0x38) == TRUE) { - if (sub_811B58C(r7, 0, x, y) == TRUE || sub_811B58C(r7, 0, x2, y2) == TRUE) + if (IsUnionRoomPlayerFacingTileAt(group, 0, x, y) == TRUE || IsUnionRoomPlayerFacingTileAt(group, 0, x2, y2) == TRUE) { return; } - sub_811BBE0(r7, 0, GetUnionRoomPlayerGraphicsId(r8->playerGender, r8->unk_00.playerTrainerId[0]), r8); + SpawnGroupMember(group, 0, GetUnionRoomPlayerGraphicsId(gname->playerGender, gname->unk_00.playerTrainerId[0]), gname); } for (i = 1; i < 5; i++) { - if (r8->unk_04[i - 1] == 0) + if (gname->child_sprite_gender[i - 1] == 0) { - sub_811BC68(r7, i); + DespawnGroupMember(group, i); } - else if (sub_811B58C(r7, i, x, y) == FALSE && sub_811B58C(r7, i, x2, y2) == FALSE) + else if (IsUnionRoomPlayerFacingTileAt(group, i, x, y) == FALSE && IsUnionRoomPlayerFacingTileAt(group, i, x2, y2) == FALSE) { - sub_811BBE0(r7, i, GetUnionRoomPlayerGraphicsId((r8->unk_04[i - 1] >> 3) & 1, r8->unk_04[i - 1] & 7), r8); + SpawnGroupMember(group, i, GetUnionRoomPlayerGraphicsId((gname->child_sprite_gender[i - 1] >> 3) & 1, gname->child_sprite_gender[i - 1] & 7), gname); } } } -static void sub_811BDA8(u32 r5, struct GFtgtGname * r4) +static void SpawnGroupLeaderAndMembers(u32 group, struct GFtgtGname * gname) { u32 i; - switch (r4->unk_0a_0) + switch (gname->activity) { case 0x40: case 0x54: - sub_811B8BC(r5, r4->playerGender, r4->unk_00.playerTrainerId[0]); + SpawnGroupLeader(group, gname->playerGender, gname->unk_00.playerTrainerId[0]); for (i = 0; i < 5; i++) { - sub_811BC68(r5, i); + DespawnGroupMember(group, i); } break; case 0x41: @@ -559,70 +559,70 @@ static void sub_811BDA8(u32 r5, struct GFtgtGname * r4) case 0x51: case 0x52: case 0x53: - sub_811B90C(r5); - sub_811BCA0(r5, r4); + DespawnGroupLeader(group); + AssembleGroup(group, gname); break; default: AGB_ASSERT_EX(0, ABSPATH("rfu_union_tool.c"), 979) } } -static void sub_811BE6C(u32 r5, struct GFtgtGname * unused) +static void DespawnGroupLeaderAndMembers(u32 group, struct GFtgtGname * gname) { s32 i; - sub_811B90C(r5); + DespawnGroupLeader(group); for (i = 0; i < 5; i++) { - sub_811BC68(r5, i); + DespawnGroupMember(group, i); } } -static void UpdateUnionRoomPlayerSprites(struct UnkStruct_URoom *r0) +static void UpdateUnionRoomPlayerSprites(struct UnkStruct_URoom * groups) { s32 i; - struct UnkStruct_x20 * r4; + struct UnkStruct_x20 * x20_p; sUnionObjRefreshTimer = 0; - for (i = 0, r4 = r0->field_0->arr; i < 8; i++) + for (i = 0, x20_p = groups->field_0->arr; i < 8; i++) { - if (r4[i].field_1A_0 == 1) + if (x20_p[i].groupScheduledAnim == UNION_ROOM_SPAWN_IN) { - sub_811BDA8(i, &r4[i].unk.gname); + SpawnGroupLeaderAndMembers(i, &x20_p[i].gname_uname.gname); } - else if (r4[i].field_1A_0 == 2) + else if (x20_p[i].groupScheduledAnim == UNION_ROOM_SPAWN_OUT) { - sub_811BE6C(i, &r4[i].unk.gname); + DespawnGroupLeaderAndMembers(i, &x20_p[i].gname_uname.gname); } } } -void sub_811BECC(struct UnkStruct_URoom *unused) +void ScheduleUnionRoomPlayerRefresh(struct UnkStruct_URoom *uroom_p) { sUnionObjRefreshTimer = 300; } -void sub_811BEDC(struct UnkStruct_URoom *r2) +void HandleUnionRoomPlayerRefresh(struct UnkStruct_URoom *uroom_p) { if (++sUnionObjRefreshTimer > 300) { - UpdateUnionRoomPlayerSprites(r2); + UpdateUnionRoomPlayerSprites(uroom_p); } } -bool32 sub_811BF00(struct UnkStruct_Main0 *arg0, s16 *arg1, s16 *arg2, u8 *arg3) +bool32 RfuUnionTool_GetGroupAndMemberInFrontOfPlayer(struct UnkStruct_Main0 *main0_p, s16 *member_p, s16 *group_p, u8 *spriteIds) { s16 x, y; s32 i, j; - struct UnkStruct_x20 * r4; + struct UnkStruct_x20 * x20_p; if (!is_walking_or_running()) { return FALSE; } GetXYCoordsOneStepInFrontOfPlayer(&x, &y); - for (i = 0, r4 = arg0->arr; i < 8; i++) + for (i = 0, x20_p = main0_p->arr; i < 8; i++) { for (j = 0; j < 5; j++) { - s32 r3 = 5 * i + j; + s32 objId = 5 * i + j; if (x != sUnionPartnerCoords[i][0] + sFacingDirectionOffsets[j][0] + 7) { continue; @@ -631,33 +631,33 @@ bool32 sub_811BF00(struct UnkStruct_Main0 *arg0, s16 *arg1, s16 *arg2, u8 *arg3) { continue; } - if (sub_806916C(r3 - 0x38) != 0) + if (RfuUnionObjectIsInvisible(objId - 0x38) != 0) { continue; } - if (sub_8069294(r3 - 0x38) != 0) + if (RfuUnionObjectIsWarping(objId - 0x38) != 0) { continue; } - if (r4[i].field_1A_0 != 1) + if (x20_p[i].groupScheduledAnim != UNION_ROOM_SPAWN_IN) { continue; } - sub_811C008(j, i, sOppositeFacingDirection[GetPlayerFacingDirection()]); - *arg1 = j; - *arg2 = i; + UnionPartnerObjectSetFacing(j, i, sOppositeFacingDirection[GetPlayerFacingDirection()]); + *member_p = j; + *group_p = i; return TRUE; } } return FALSE; } -static void sub_811C008(s32 arg0, s32 arg1, u8 arg2) +static void UnionPartnerObjectSetFacing(s32 member, s32 group, u8 direction) { - sub_8069058(5 * arg1 - 0x38 + arg0, arg2); + TurnObjectEvent(5 * group - 0x38 + member, direction); } -void sub_811C028(u32 arg0, u32 arg1, struct UnkStruct_Main0 *arg2) +void UpdateUnionGroupMemberFacing(u32 member, u32 group, struct UnkStruct_Main0 *main0_p) { - return sub_811C008(arg0, arg1, sub_811BBA0(arg0, arg1, &arg2->arr[arg1].unk.gname)); + return UnionPartnerObjectSetFacing(member, group, UnionPartnerObjectGetFacing(member, group, &main0_p->arr[group].gname_uname.gname)); } diff --git a/src/roamer.c b/src/roamer.c index b3cc67f85..f3e8bbccd 100644 --- a/src/roamer.c +++ b/src/roamer.c @@ -1,11 +1,10 @@ #include "global.h" -#include "roamer.h" #include "random.h" #include "overworld.h" #include "field_specials.h" #include "constants/species.h" #include "constants/maps.h" -#include "constants/region_map.h" +#include "constants/region_map_sections.h" EWRAM_DATA u8 sLocationHistory[3][2] = {}; EWRAM_DATA u8 sRoamerLocation[2] = {}; @@ -62,7 +61,7 @@ void ClearRoamerData(void) #define GetRoamerSpecies() ({\ u16 a;\ - switch (ScrSpecial_GetStarter())\ + switch (GetStarterSpecies())\ {\ default:\ a = SPECIES_RAIKOU;\ diff --git a/src/rock.c b/src/rock.c index 082f3b655..3ec9cec04 100644 --- a/src/rock.c +++ b/src/rock.c @@ -704,7 +704,7 @@ static void sub_80B4F78(struct Sprite *sprite) { u8 taskId = FindTaskIdByFunc(sub_80B4D00); - if (taskId != TASK_NONE) + if (taskId != TAIL_SENTINEL) --gTasks[taskId].data[11]; DestroySprite(sprite); } diff --git a/src/safari_zone.c b/src/safari_zone.c index 65fb89bca..29e436d35 100644 --- a/src/safari_zone.c +++ b/src/safari_zone.c @@ -2,7 +2,6 @@ #include "battle.h" #include "event_scripts.h" #include "overworld.h" -#include "battle.h" #include "script.h" #include "event_data.h" #include "field_screen_effect.h" diff --git a/src/save.c b/src/save.c index a2d365886..3db8dcdbf 100644 --- a/src/save.c +++ b/src/save.c @@ -856,7 +856,7 @@ void sub_80DA634(u8 taskId) gTasks[taskId].data[0] = 1; break; case 1: - sub_800AB9C(); + PrepareSendLinkCmd2FFE_or_RfuCmd6600(); gTasks[taskId].data[0] = 2; break; case 2: @@ -890,7 +890,7 @@ void sub_80DA634(u8 taskId) break; case 7: ClearContinueGameWarpStatus2(); - sub_800AB9C(); + PrepareSendLinkCmd2FFE_or_RfuCmd6600(); gTasks[taskId].data[0] = 8; break; case 8: @@ -901,7 +901,7 @@ void sub_80DA634(u8 taskId) } break; case 9: - sub_800AB9C(); + PrepareSendLinkCmd2FFE_or_RfuCmd6600(); gTasks[taskId].data[0] = 10; break; case 10: diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c index b6cce890a..09e49a1bb 100644 --- a/src/save_failed_screen.c +++ b/src/save_failed_screen.c @@ -6,7 +6,6 @@ #include "help_system.h" #include "m4a.h" #include "save.h" -#include "save_failed_screen.h" #include "strings.h" #include "text.h" diff --git a/src/scanline_effect.c b/src/scanline_effect.c index 22699b96d..e664945cd 100644 --- a/src/scanline_effect.c +++ b/src/scanline_effect.c @@ -1,5 +1,4 @@ #include "global.h" -#include "battle.h" #include "task.h" #include "trig.h" #include "scanline_effect.h" diff --git a/src/scrcmd.c b/src/scrcmd.c index c79a8bd1f..32ac5c4e2 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -21,7 +21,6 @@ #include "field_message_box.h" #include "new_menu_helpers.h" #include "window.h" -#include "start_menu.h" #include "script_menu.h" #include "string_util.h" #include "data.h" @@ -38,7 +37,6 @@ #include "field_effect.h" #include "fieldmap.h" #include "field_door.h" -#include "scrcmd.h" extern u16 (*const gSpecials[])(void); extern u16 (*const gSpecialsEnd[])(void); @@ -62,7 +60,7 @@ extern u8 gSelectedObjectEvent; // This is defined in here so the optimizer can't see its value when compiling // script.c. -void * const gNullScriptPtr = NULL; +void *const gNullScriptPtr = NULL; static const u8 sScriptConditionTable[6][3] = { @@ -75,30 +73,30 @@ static const u8 sScriptConditionTable[6][3] = 1, 0, 1, // != }; -bool8 ScrCmd_nop(struct ScriptContext *ctx) +bool8 ScrCmd_nop(struct ScriptContext * ctx) { return FALSE; } -bool8 ScrCmd_nop1(struct ScriptContext *ctx) +bool8 ScrCmd_nop1(struct ScriptContext * ctx) { return FALSE; } -bool8 ScrCmd_end(struct ScriptContext *ctx) +bool8 ScrCmd_end(struct ScriptContext * ctx) { StopScript(ctx); return FALSE; } -bool8 ScrCmd_gotonative(struct ScriptContext *ctx) +bool8 ScrCmd_gotonative(struct ScriptContext * ctx) { bool8 (*func)(void) = (bool8 (*)(void))ScriptReadWord(ctx); SetupNativeScript(ctx, func); return TRUE; } -bool8 ScrCmd_special(struct ScriptContext *ctx) +bool8 ScrCmd_special(struct ScriptContext * ctx) { u16 (*const *specialPtr)(void) = gSpecials + ScriptReadHalfword(ctx); if (specialPtr < gSpecialsEnd) @@ -108,7 +106,7 @@ bool8 ScrCmd_special(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_specialvar(struct ScriptContext *ctx) +bool8 ScrCmd_specialvar(struct ScriptContext * ctx) { u16 * varPtr = GetVarPointer(ScriptReadHalfword(ctx)); u16 (*const *specialPtr)(void) = gSpecials + ScriptReadHalfword(ctx); @@ -119,40 +117,40 @@ bool8 ScrCmd_specialvar(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_callnative(struct ScriptContext *ctx) +bool8 ScrCmd_callnative(struct ScriptContext * ctx) { void (*func )(void) = ((void (*)(void))ScriptReadWord(ctx)); func(); return FALSE; } -bool8 ScrCmd_waitstate(struct ScriptContext *ctx) +bool8 ScrCmd_waitstate(struct ScriptContext * ctx) { ScriptContext1_Stop(); return TRUE; } -bool8 ScrCmd_goto(struct ScriptContext *ctx) +bool8 ScrCmd_goto(struct ScriptContext * ctx) { const u8 * scrptr = (const u8 *)ScriptReadWord(ctx); ScriptJump(ctx, scrptr); return FALSE; } -bool8 ScrCmd_return(struct ScriptContext *ctx) +bool8 ScrCmd_return(struct ScriptContext * ctx) { ScriptReturn(ctx); return FALSE; } -bool8 ScrCmd_call(struct ScriptContext *ctx) +bool8 ScrCmd_call(struct ScriptContext * ctx) { const u8 * scrptr = (const u8 *)ScriptReadWord(ctx); ScriptCall(ctx, scrptr); return FALSE; } -bool8 ScrCmd_goto_if(struct ScriptContext *ctx) +bool8 ScrCmd_goto_if(struct ScriptContext * ctx) { u8 condition = ScriptReadByte(ctx); const u8 * scrptr = (const u8 *)ScriptReadWord(ctx); @@ -161,7 +159,7 @@ bool8 ScrCmd_goto_if(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_call_if(struct ScriptContext *ctx) +bool8 ScrCmd_call_if(struct ScriptContext * ctx) { u8 condition = ScriptReadByte(ctx); const u8 * scrptr = (const u8 *)ScriptReadWord(ctx); @@ -170,7 +168,7 @@ bool8 ScrCmd_call_if(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_setvaddress(struct ScriptContext *ctx) +bool8 ScrCmd_setvaddress(struct ScriptContext * ctx) { u32 addr1 = (u32)ctx->scriptPtr - 1; u32 addr2 = ScriptReadWord(ctx); @@ -179,21 +177,21 @@ bool8 ScrCmd_setvaddress(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_vgoto(struct ScriptContext *ctx) +bool8 ScrCmd_vgoto(struct ScriptContext * ctx) { const u8 * scrptr = (const u8 *)ScriptReadWord(ctx); ScriptJump(ctx, scrptr - gVScriptOffset); return FALSE; } -bool8 ScrCmd_vcall(struct ScriptContext *ctx) +bool8 ScrCmd_vcall(struct ScriptContext * ctx) { const u8 * scrptr = (const u8 *)ScriptReadWord(ctx); ScriptCall(ctx, scrptr - gVScriptOffset); return FALSE; } -bool8 ScrCmd_vgoto_if(struct ScriptContext *ctx) +bool8 ScrCmd_vgoto_if(struct ScriptContext * ctx) { u8 condition = ScriptReadByte(ctx); const u8 * scrptr = (const u8 *)ScriptReadWord(ctx) - gVScriptOffset; @@ -202,7 +200,7 @@ bool8 ScrCmd_vgoto_if(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_vcall_if(struct ScriptContext *ctx) +bool8 ScrCmd_vcall_if(struct ScriptContext * ctx) { u8 condition = ScriptReadByte(ctx); const u8 * scrptr = (const u8 *)ScriptReadWord(ctx) - gVScriptOffset; @@ -211,7 +209,7 @@ bool8 ScrCmd_vcall_if(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_gotostd(struct ScriptContext *ctx) +bool8 ScrCmd_gotostd(struct ScriptContext * ctx) { u8 stdIdx = ScriptReadByte(ctx); const u8 *const * script = gStdScripts + stdIdx; @@ -220,7 +218,7 @@ bool8 ScrCmd_gotostd(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_callstd(struct ScriptContext *ctx) +bool8 ScrCmd_callstd(struct ScriptContext * ctx) { u8 stdIdx = ScriptReadByte(ctx); const u8 *const * script = gStdScripts + stdIdx; @@ -229,7 +227,7 @@ bool8 ScrCmd_callstd(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_gotostd_if(struct ScriptContext *ctx) +bool8 ScrCmd_gotostd_if(struct ScriptContext * ctx) { u8 condition = ScriptReadByte(ctx); u8 stdIdx = ScriptReadByte(ctx); @@ -242,7 +240,7 @@ bool8 ScrCmd_gotostd_if(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_callstd_if(struct ScriptContext *ctx) +bool8 ScrCmd_callstd_if(struct ScriptContext * ctx) { u8 condition = ScriptReadByte(ctx); u8 stdIdx = ScriptReadByte(ctx); @@ -255,26 +253,26 @@ bool8 ScrCmd_callstd_if(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_gotoram(struct ScriptContext *ctx) +bool8 ScrCmd_gotoram(struct ScriptContext * ctx) { ScriptJump(ctx, gRAMScriptPtr); return FALSE; } -bool8 ScrCmd_killscript(struct ScriptContext *ctx) +bool8 ScrCmd_killscript(struct ScriptContext * ctx) { ClearRamScript(); StopScript(ctx); return TRUE; } -bool8 ScrCmd_setmysteryeventstatus(struct ScriptContext *ctx) +bool8 ScrCmd_setmysteryeventstatus(struct ScriptContext * ctx) { SetMysteryEventScriptStatus(ScriptReadByte(ctx)); return FALSE; } -bool8 ScrCmd_execram(struct ScriptContext *ctx) +bool8 ScrCmd_execram(struct ScriptContext * ctx) { const u8 * script = sub_8069E48(); if (script != NULL) @@ -285,42 +283,42 @@ bool8 ScrCmd_execram(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_loadword(struct ScriptContext *ctx) +bool8 ScrCmd_loadword(struct ScriptContext * ctx) { u8 which = ScriptReadByte(ctx); ctx->data[which] = ScriptReadWord(ctx); return FALSE; } -bool8 ScrCmd_loadbytefromaddr(struct ScriptContext *ctx) +bool8 ScrCmd_loadbytefromaddr(struct ScriptContext * ctx) { u8 which = ScriptReadByte(ctx); ctx->data[which] = *(const u8 *)ScriptReadWord(ctx); return FALSE; } -bool8 ScrCmd_writebytetoaddr(struct ScriptContext *ctx) +bool8 ScrCmd_writebytetoaddr(struct ScriptContext * ctx) { u8 value = ScriptReadByte(ctx); *(u8 *)ScriptReadWord(ctx) = value; return FALSE; } -bool8 ScrCmd_loadbyte(struct ScriptContext *ctx) +bool8 ScrCmd_loadbyte(struct ScriptContext * ctx) { u8 which = ScriptReadByte(ctx); ctx->data[which] = ScriptReadByte(ctx); return FALSE; } -bool8 ScrCmd_setptrbyte(struct ScriptContext *ctx) +bool8 ScrCmd_setptrbyte(struct ScriptContext * ctx) { u8 which = ScriptReadByte(ctx); *(u8 *)ScriptReadWord(ctx) = ctx->data[which]; return FALSE; } -bool8 ScrCmd_copylocal(struct ScriptContext *ctx) +bool8 ScrCmd_copylocal(struct ScriptContext * ctx) { u8 whichDst = ScriptReadByte(ctx); u8 whichSrc = ScriptReadByte(ctx); @@ -328,21 +326,21 @@ bool8 ScrCmd_copylocal(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_copybyte(struct ScriptContext *ctx) +bool8 ScrCmd_copybyte(struct ScriptContext * ctx) { u8 * dest = (u8 *)ScriptReadWord(ctx); *dest = *(const u8 *)ScriptReadWord(ctx); return FALSE; } -bool8 ScrCmd_setvar(struct ScriptContext *ctx) +bool8 ScrCmd_setvar(struct ScriptContext * ctx) { u16 * varPtr = GetVarPointer(ScriptReadHalfword(ctx)); *varPtr = ScriptReadHalfword(ctx); return FALSE; } -bool8 ScrCmd_copyvar(struct ScriptContext *ctx) +bool8 ScrCmd_copyvar(struct ScriptContext * ctx) { u16 * destPtr = GetVarPointer(ScriptReadHalfword(ctx)); u16 * srcPtr = GetVarPointer(ScriptReadHalfword(ctx)); @@ -350,7 +348,7 @@ bool8 ScrCmd_copyvar(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_setorcopyvar(struct ScriptContext *ctx) +bool8 ScrCmd_setorcopyvar(struct ScriptContext * ctx) { u16 * destPtr = GetVarPointer(ScriptReadHalfword(ctx)); *destPtr = VarGet(ScriptReadHalfword(ctx)); @@ -368,7 +366,7 @@ u8 compare_012(u16 left, u16 right) } // comparelocaltolocal -bool8 ScrCmd_compare_local_to_local(struct ScriptContext *ctx) +bool8 ScrCmd_compare_local_to_local(struct ScriptContext * ctx) { const u8 value1 = ctx->data[ScriptReadByte(ctx)]; const u8 value2 = ctx->data[ScriptReadByte(ctx)]; @@ -378,7 +376,7 @@ bool8 ScrCmd_compare_local_to_local(struct ScriptContext *ctx) } // comparelocaltoimm -bool8 ScrCmd_compare_local_to_value(struct ScriptContext *ctx) +bool8 ScrCmd_compare_local_to_value(struct ScriptContext * ctx) { const u8 value1 = ctx->data[ScriptReadByte(ctx)]; const u8 value2 = ScriptReadByte(ctx); @@ -387,7 +385,7 @@ bool8 ScrCmd_compare_local_to_value(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_compare_local_to_addr(struct ScriptContext *ctx) +bool8 ScrCmd_compare_local_to_addr(struct ScriptContext * ctx) { const u8 value1 = ctx->data[ScriptReadByte(ctx)]; const u8 value2 = *(const u8 *)ScriptReadWord(ctx); @@ -396,7 +394,7 @@ bool8 ScrCmd_compare_local_to_addr(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_compare_addr_to_local(struct ScriptContext *ctx) +bool8 ScrCmd_compare_addr_to_local(struct ScriptContext * ctx) { const u8 value1 = *(const u8 *)ScriptReadWord(ctx); const u8 value2 = ctx->data[ScriptReadByte(ctx)]; @@ -405,7 +403,7 @@ bool8 ScrCmd_compare_addr_to_local(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_compare_addr_to_value(struct ScriptContext *ctx) +bool8 ScrCmd_compare_addr_to_value(struct ScriptContext * ctx) { const u8 value1 = *(const u8 *)ScriptReadWord(ctx); const u8 value2 = ScriptReadByte(ctx); @@ -414,7 +412,7 @@ bool8 ScrCmd_compare_addr_to_value(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_compare_addr_to_addr(struct ScriptContext *ctx) +bool8 ScrCmd_compare_addr_to_addr(struct ScriptContext * ctx) { const u8 value1 = *(const u8 *)ScriptReadWord(ctx); const u8 value2 = *(const u8 *)ScriptReadWord(ctx); @@ -423,7 +421,7 @@ bool8 ScrCmd_compare_addr_to_addr(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_compare_var_to_value(struct ScriptContext *ctx) +bool8 ScrCmd_compare_var_to_value(struct ScriptContext * ctx) { const u16 value1 = *GetVarPointer(ScriptReadHalfword(ctx)); const u16 value2 = ScriptReadHalfword(ctx); @@ -432,7 +430,7 @@ bool8 ScrCmd_compare_var_to_value(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_compare_var_to_var(struct ScriptContext *ctx) +bool8 ScrCmd_compare_var_to_var(struct ScriptContext * ctx) { const u16 *ptr1 = GetVarPointer(ScriptReadHalfword(ctx)); const u16 *ptr2 = GetVarPointer(ScriptReadHalfword(ctx)); @@ -441,21 +439,21 @@ bool8 ScrCmd_compare_var_to_var(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_addvar(struct ScriptContext *ctx) +bool8 ScrCmd_addvar(struct ScriptContext * ctx) { u16 *ptr = GetVarPointer(ScriptReadHalfword(ctx)); *ptr += ScriptReadHalfword(ctx); return FALSE; } -bool8 ScrCmd_subvar(struct ScriptContext *ctx) +bool8 ScrCmd_subvar(struct ScriptContext * ctx) { u16 *ptr = GetVarPointer(ScriptReadHalfword(ctx)); *ptr -= VarGet(ScriptReadHalfword(ctx)); return FALSE; } -bool8 ScrCmd_random(struct ScriptContext *ctx) +bool8 ScrCmd_random(struct ScriptContext * ctx) { u16 max = VarGet(ScriptReadHalfword(ctx)); @@ -463,7 +461,7 @@ bool8 ScrCmd_random(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_additem(struct ScriptContext *ctx) +bool8 ScrCmd_additem(struct ScriptContext * ctx) { u16 itemId = VarGet(ScriptReadHalfword(ctx)); u32 quantity = VarGet(ScriptReadHalfword(ctx)); @@ -473,7 +471,7 @@ bool8 ScrCmd_additem(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_removeitem(struct ScriptContext *ctx) +bool8 ScrCmd_removeitem(struct ScriptContext * ctx) { u16 itemId = VarGet(ScriptReadHalfword(ctx)); u32 quantity = VarGet(ScriptReadHalfword(ctx)); @@ -482,7 +480,7 @@ bool8 ScrCmd_removeitem(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_checkitemspace(struct ScriptContext *ctx) +bool8 ScrCmd_checkitemspace(struct ScriptContext * ctx) { u16 itemId = VarGet(ScriptReadHalfword(ctx)); u32 quantity = VarGet(ScriptReadHalfword(ctx)); @@ -491,7 +489,7 @@ bool8 ScrCmd_checkitemspace(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_checkitem(struct ScriptContext *ctx) +bool8 ScrCmd_checkitem(struct ScriptContext * ctx) { u16 itemId = VarGet(ScriptReadHalfword(ctx)); u32 quantity = VarGet(ScriptReadHalfword(ctx)); @@ -500,7 +498,7 @@ bool8 ScrCmd_checkitem(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_checkitemtype(struct ScriptContext *ctx) +bool8 ScrCmd_checkitemtype(struct ScriptContext * ctx) { u16 itemId = VarGet(ScriptReadHalfword(ctx)); @@ -508,7 +506,7 @@ bool8 ScrCmd_checkitemtype(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_addpcitem(struct ScriptContext *ctx) +bool8 ScrCmd_addpcitem(struct ScriptContext * ctx) { u16 itemId = VarGet(ScriptReadHalfword(ctx)); u16 quantity = VarGet(ScriptReadHalfword(ctx)); @@ -517,7 +515,7 @@ bool8 ScrCmd_addpcitem(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_checkpcitem(struct ScriptContext *ctx) +bool8 ScrCmd_checkpcitem(struct ScriptContext * ctx) { u16 itemId = VarGet(ScriptReadHalfword(ctx)); u16 quantity = VarGet(ScriptReadHalfword(ctx)); @@ -526,7 +524,7 @@ bool8 ScrCmd_checkpcitem(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_givedecoration(struct ScriptContext *ctx) +bool8 ScrCmd_givedecoration(struct ScriptContext * ctx) { u32 decorId = VarGet(ScriptReadHalfword(ctx)); @@ -534,7 +532,7 @@ bool8 ScrCmd_givedecoration(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_takedecoration(struct ScriptContext *ctx) +bool8 ScrCmd_takedecoration(struct ScriptContext * ctx) { u32 decorId = VarGet(ScriptReadHalfword(ctx)); @@ -542,7 +540,7 @@ bool8 ScrCmd_takedecoration(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_checkdecorspace(struct ScriptContext *ctx) +bool8 ScrCmd_checkdecorspace(struct ScriptContext * ctx) { u32 decorId = VarGet(ScriptReadHalfword(ctx)); @@ -550,7 +548,7 @@ bool8 ScrCmd_checkdecorspace(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_checkdecor(struct ScriptContext *ctx) +bool8 ScrCmd_checkdecor(struct ScriptContext * ctx) { u32 decorId = VarGet(ScriptReadHalfword(ctx)); @@ -558,31 +556,31 @@ bool8 ScrCmd_checkdecor(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_setflag(struct ScriptContext *ctx) +bool8 ScrCmd_setflag(struct ScriptContext * ctx) { FlagSet(ScriptReadHalfword(ctx)); return FALSE; } -bool8 ScrCmd_clearflag(struct ScriptContext *ctx) +bool8 ScrCmd_clearflag(struct ScriptContext * ctx) { FlagClear(ScriptReadHalfword(ctx)); return FALSE; } -bool8 ScrCmd_checkflag(struct ScriptContext *ctx) +bool8 ScrCmd_checkflag(struct ScriptContext * ctx) { ctx->comparisonResult = FlagGet(ScriptReadHalfword(ctx)); return FALSE; } -bool8 ScrCmd_incrementgamestat(struct ScriptContext *ctx) +bool8 ScrCmd_incrementgamestat(struct ScriptContext * ctx) { IncrementGameStat(ScriptReadByte(ctx)); return FALSE; } -bool8 ScrCmd_comparestattoword(struct ScriptContext *ctx) +bool8 ScrCmd_comparestattoword(struct ScriptContext * ctx) { u8 statIdx = ScriptReadByte(ctx); u32 value = ScriptReadWord(ctx); @@ -597,22 +595,22 @@ bool8 ScrCmd_comparestattoword(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_setworldmapflag(struct ScriptContext *ctx) +bool8 ScrCmd_setworldmapflag(struct ScriptContext * ctx) { u16 value = ScriptReadHalfword(ctx); - sub_8115748(value); - sub_80F85BC(value); + QuestLog_RecordEnteredMap(value); + MapPreview_SetFlag(value); return FALSE; } -bool8 ScrCmd_animateflash(struct ScriptContext *ctx) +bool8 ScrCmd_animateflash(struct ScriptContext * ctx) { AnimateFlash(ScriptReadByte(ctx)); ScriptContext1_Stop(); return TRUE; } -bool8 ScrCmd_setflashradius(struct ScriptContext *ctx) +bool8 ScrCmd_setflashradius(struct ScriptContext * ctx) { u16 flashLevel = VarGet(ScriptReadHalfword(ctx)); @@ -628,14 +626,14 @@ static bool8 IsPaletteNotActive(void) return FALSE; } -bool8 ScrCmd_fadescreen(struct ScriptContext *ctx) +bool8 ScrCmd_fadescreen(struct ScriptContext * ctx) { FadeScreen(ScriptReadByte(ctx), 0); SetupNativeScript(ctx, IsPaletteNotActive); return TRUE; } -bool8 ScrCmd_fadescreenspeed(struct ScriptContext *ctx) +bool8 ScrCmd_fadescreenspeed(struct ScriptContext * ctx) { u8 mode = ScriptReadByte(ctx); u8 speed = ScriptReadByte(ctx); @@ -655,14 +653,14 @@ static bool8 RunPauseTimer(void) return FALSE; } -bool8 ScrCmd_delay(struct ScriptContext *ctx) +bool8 ScrCmd_delay(struct ScriptContext * ctx) { sPauseCounter = ScriptReadHalfword(ctx); SetupNativeScript(ctx, RunPauseTimer); return TRUE; } -bool8 ScrCmd_initclock(struct ScriptContext *ctx) +bool8 ScrCmd_initclock(struct ScriptContext * ctx) { // u8 hour = VarGet(ScriptReadHalfword(ctx)); // u8 minute = VarGet(ScriptReadHalfword(ctx)); @@ -671,13 +669,13 @@ bool8 ScrCmd_initclock(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_dodailyevents(struct ScriptContext *ctx) +bool8 ScrCmd_dodailyevents(struct ScriptContext * ctx) { // DoTimeBasedEvents(); return FALSE; } -bool8 ScrCmd_gettime(struct ScriptContext *ctx) +bool8 ScrCmd_gettime(struct ScriptContext * ctx) { // RtcCalcLocalTime(); // gSpecialVar_0x8000 = gLocalTime.hours; @@ -689,7 +687,7 @@ bool8 ScrCmd_gettime(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_setweather(struct ScriptContext *ctx) +bool8 ScrCmd_setweather(struct ScriptContext * ctx) { u16 weather = VarGet(ScriptReadHalfword(ctx)); @@ -697,25 +695,25 @@ bool8 ScrCmd_setweather(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_resetweather(struct ScriptContext *ctx) +bool8 ScrCmd_resetweather(struct ScriptContext * ctx) { SetSav1WeatherFromCurrMapHeader(); return FALSE; } -bool8 ScrCmd_doweather(struct ScriptContext *ctx) +bool8 ScrCmd_doweather(struct ScriptContext * ctx) { DoCurrentWeather(); return FALSE; } -bool8 ScrCmd_setstepcallback(struct ScriptContext *ctx) +bool8 ScrCmd_setstepcallback(struct ScriptContext * ctx) { ActivatePerStepCallback(ScriptReadByte(ctx)); return FALSE; } -bool8 ScrCmd_setmaplayoutindex(struct ScriptContext *ctx) +bool8 ScrCmd_setmaplayoutindex(struct ScriptContext * ctx) { u16 value = VarGet(ScriptReadHalfword(ctx)); @@ -723,7 +721,7 @@ bool8 ScrCmd_setmaplayoutindex(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_warp(struct ScriptContext *ctx) +bool8 ScrCmd_warp(struct ScriptContext * ctx) { u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); @@ -737,7 +735,7 @@ bool8 ScrCmd_warp(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_warpsilent(struct ScriptContext *ctx) +bool8 ScrCmd_warpsilent(struct ScriptContext * ctx) { u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); @@ -751,7 +749,7 @@ bool8 ScrCmd_warpsilent(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_warpdoor(struct ScriptContext *ctx) +bool8 ScrCmd_warpdoor(struct ScriptContext * ctx) { u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); @@ -765,7 +763,7 @@ bool8 ScrCmd_warpdoor(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_warphole(struct ScriptContext *ctx) +bool8 ScrCmd_warphole(struct ScriptContext * ctx) { u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); @@ -782,7 +780,7 @@ bool8 ScrCmd_warphole(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_warpteleport(struct ScriptContext *ctx) +bool8 ScrCmd_warpteleport(struct ScriptContext * ctx) { u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); @@ -796,7 +794,7 @@ bool8 ScrCmd_warpteleport(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_warpteleport2(struct ScriptContext *ctx) +bool8 ScrCmd_warpteleport2(struct ScriptContext * ctx) { u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); @@ -811,7 +809,7 @@ bool8 ScrCmd_warpteleport2(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_setwarp(struct ScriptContext *ctx) +bool8 ScrCmd_setwarp(struct ScriptContext * ctx) { u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); @@ -823,7 +821,7 @@ bool8 ScrCmd_setwarp(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_setdynamicwarp(struct ScriptContext *ctx) +bool8 ScrCmd_setdynamicwarp(struct ScriptContext * ctx) { u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); @@ -835,7 +833,7 @@ bool8 ScrCmd_setdynamicwarp(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_setdivewarp(struct ScriptContext *ctx) +bool8 ScrCmd_setdivewarp(struct ScriptContext * ctx) { u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); @@ -847,7 +845,7 @@ bool8 ScrCmd_setdivewarp(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_setholewarp(struct ScriptContext *ctx) +bool8 ScrCmd_setholewarp(struct ScriptContext * ctx) { u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); @@ -859,7 +857,7 @@ bool8 ScrCmd_setholewarp(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_setescapewarp(struct ScriptContext *ctx) +bool8 ScrCmd_setescapewarp(struct ScriptContext * ctx) { u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); @@ -871,7 +869,7 @@ bool8 ScrCmd_setescapewarp(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_getplayerxy(struct ScriptContext *ctx) +bool8 ScrCmd_getplayerxy(struct ScriptContext * ctx) { u16 *pX = GetVarPointer(ScriptReadHalfword(ctx)); u16 *pY = GetVarPointer(ScriptReadHalfword(ctx)); @@ -881,13 +879,13 @@ bool8 ScrCmd_getplayerxy(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_getpartysize(struct ScriptContext *ctx) +bool8 ScrCmd_getpartysize(struct ScriptContext * ctx) { gSpecialVar_Result = CalculatePlayerPartyCount(); return FALSE; } -bool8 ScrCmd_playse(struct ScriptContext *ctx) +bool8 ScrCmd_playse(struct ScriptContext * ctx) { PlaySE(ScriptReadHalfword(ctx)); return FALSE; @@ -901,13 +899,13 @@ static bool8 WaitForSoundEffectFinish(void) return FALSE; } -bool8 ScrCmd_waitse(struct ScriptContext *ctx) +bool8 ScrCmd_waitse(struct ScriptContext * ctx) { SetupNativeScript(ctx, WaitForSoundEffectFinish); return TRUE; } -bool8 ScrCmd_playfanfare(struct ScriptContext *ctx) +bool8 ScrCmd_playfanfare(struct ScriptContext * ctx) { PlayFanfare(ScriptReadHalfword(ctx)); return FALSE; @@ -918,13 +916,13 @@ static bool8 WaitForFanfareFinish(void) return IsFanfareTaskInactive(); } -bool8 ScrCmd_waitfanfare(struct ScriptContext *ctx) +bool8 ScrCmd_waitfanfare(struct ScriptContext * ctx) { SetupNativeScript(ctx, WaitForFanfareFinish); return TRUE; } -bool8 ScrCmd_playbgm(struct ScriptContext *ctx) +bool8 ScrCmd_playbgm(struct ScriptContext * ctx) { u16 songId = ScriptReadHalfword(ctx); bool8 val = ScriptReadByte(ctx); @@ -937,13 +935,13 @@ bool8 ScrCmd_playbgm(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_savebgm(struct ScriptContext *ctx) +bool8 ScrCmd_savebgm(struct ScriptContext * ctx) { Overworld_SetSavedMusic(ScriptReadHalfword(ctx)); return FALSE; } -bool8 ScrCmd_fadedefaultbgm(struct ScriptContext *ctx) +bool8 ScrCmd_fadedefaultbgm(struct ScriptContext * ctx) { if (gQuestLogState == 2 || gQuestLogState == 3) return FALSE; @@ -951,7 +949,7 @@ bool8 ScrCmd_fadedefaultbgm(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_fadenewbgm(struct ScriptContext *ctx) +bool8 ScrCmd_fadenewbgm(struct ScriptContext * ctx) { u16 music = ScriptReadHalfword(ctx); if (gQuestLogState == 2 || gQuestLogState == 3) @@ -960,7 +958,7 @@ bool8 ScrCmd_fadenewbgm(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_fadeoutbgm(struct ScriptContext *ctx) +bool8 ScrCmd_fadeoutbgm(struct ScriptContext * ctx) { u8 speed = ScriptReadByte(ctx); @@ -974,7 +972,7 @@ bool8 ScrCmd_fadeoutbgm(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_fadeinbgm(struct ScriptContext *ctx) +bool8 ScrCmd_fadeinbgm(struct ScriptContext * ctx) { u8 speed = ScriptReadByte(ctx); @@ -987,7 +985,7 @@ bool8 ScrCmd_fadeinbgm(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_applymovement(struct ScriptContext *ctx) +bool8 ScrCmd_applymovement(struct ScriptContext * ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); const void *movementScript = (const void *)ScriptReadWord(ctx); @@ -997,7 +995,7 @@ bool8 ScrCmd_applymovement(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_applymovement_at(struct ScriptContext *ctx) +bool8 ScrCmd_applymovement_at(struct ScriptContext * ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); const void *movementScript = (const void *)ScriptReadWord(ctx); @@ -1014,7 +1012,7 @@ static bool8 WaitForMovementFinish(void) return ScriptMovement_IsObjectMovementFinished(sMovingNpcId, sMovingNpcMapId, sMovingNpcMapBank); } -bool8 ScrCmd_waitmovement(struct ScriptContext *ctx) +bool8 ScrCmd_waitmovement(struct ScriptContext * ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); @@ -1026,7 +1024,7 @@ bool8 ScrCmd_waitmovement(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_waitmovement_at(struct ScriptContext *ctx) +bool8 ScrCmd_waitmovement_at(struct ScriptContext * ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); u8 mapBank; @@ -1042,7 +1040,7 @@ bool8 ScrCmd_waitmovement_at(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_removeobject(struct ScriptContext *ctx) +bool8 ScrCmd_removeobject(struct ScriptContext * ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); @@ -1050,7 +1048,7 @@ bool8 ScrCmd_removeobject(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_removeobject_at(struct ScriptContext *ctx) +bool8 ScrCmd_removeobject_at(struct ScriptContext * ctx) { u16 objectId = VarGet(ScriptReadHalfword(ctx)); u8 mapGroup = ScriptReadByte(ctx); @@ -1060,7 +1058,7 @@ bool8 ScrCmd_removeobject_at(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_addobject(struct ScriptContext *ctx) +bool8 ScrCmd_addobject(struct ScriptContext * ctx) { u16 objectId = VarGet(ScriptReadHalfword(ctx)); @@ -1068,7 +1066,7 @@ bool8 ScrCmd_addobject(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_addobject_at(struct ScriptContext *ctx) +bool8 ScrCmd_addobject_at(struct ScriptContext * ctx) { u16 objectId = VarGet(ScriptReadHalfword(ctx)); u8 mapGroup = ScriptReadByte(ctx); @@ -1078,7 +1076,7 @@ bool8 ScrCmd_addobject_at(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_setobjectxy(struct ScriptContext *ctx) +bool8 ScrCmd_setobjectxy(struct ScriptContext * ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); u16 x = VarGet(ScriptReadHalfword(ctx)); @@ -1088,7 +1086,7 @@ bool8 ScrCmd_setobjectxy(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_setobjectxyperm(struct ScriptContext *ctx) +bool8 ScrCmd_setobjectxyperm(struct ScriptContext * ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); u16 x = VarGet(ScriptReadHalfword(ctx)); @@ -1098,7 +1096,7 @@ bool8 ScrCmd_setobjectxyperm(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_moveobjectoffscreen(struct ScriptContext *ctx) +bool8 ScrCmd_moveobjectoffscreen(struct ScriptContext * ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); @@ -1106,7 +1104,7 @@ bool8 ScrCmd_moveobjectoffscreen(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_showobject_at(struct ScriptContext *ctx) +bool8 ScrCmd_showobject_at(struct ScriptContext * ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); u8 mapGroup = ScriptReadByte(ctx); @@ -1116,7 +1114,7 @@ bool8 ScrCmd_showobject_at(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_hideobject_at(struct ScriptContext *ctx) +bool8 ScrCmd_hideobject_at(struct ScriptContext * ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); u8 mapGroup = ScriptReadByte(ctx); @@ -1126,7 +1124,7 @@ bool8 ScrCmd_hideobject_at(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_setobjectpriority(struct ScriptContext *ctx) +bool8 ScrCmd_setobjectpriority(struct ScriptContext * ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); u8 mapGroup = ScriptReadByte(ctx); @@ -1137,7 +1135,7 @@ bool8 ScrCmd_setobjectpriority(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_resetobjectpriority(struct ScriptContext *ctx) +bool8 ScrCmd_resetobjectpriority(struct ScriptContext * ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); u8 mapGroup = ScriptReadByte(ctx); @@ -1147,7 +1145,7 @@ bool8 ScrCmd_resetobjectpriority(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_faceplayer(struct ScriptContext *ctx) +bool8 ScrCmd_faceplayer(struct ScriptContext * ctx) { if (gObjectEvents[gSelectedObjectEvent].active) { @@ -1157,7 +1155,7 @@ bool8 ScrCmd_faceplayer(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_turnobject(struct ScriptContext *ctx) +bool8 ScrCmd_turnobject(struct ScriptContext * ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); u8 direction = ScriptReadByte(ctx); @@ -1166,7 +1164,7 @@ bool8 ScrCmd_turnobject(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_setobjectmovementtype(struct ScriptContext *ctx) +bool8 ScrCmd_setobjectmovementtype(struct ScriptContext * ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); u8 movementType = ScriptReadByte(ctx); @@ -1175,7 +1173,7 @@ bool8 ScrCmd_setobjectmovementtype(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_createvobject(struct ScriptContext *ctx) +bool8 ScrCmd_createvobject(struct ScriptContext * ctx) { u8 graphicsId = ScriptReadByte(ctx); u8 v2 = ScriptReadByte(ctx); @@ -1188,16 +1186,16 @@ bool8 ScrCmd_createvobject(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_turnvobject(struct ScriptContext *ctx) +bool8 ScrCmd_turnvobject(struct ScriptContext * ctx) { u8 v1 = ScriptReadByte(ctx); u8 direction = ScriptReadByte(ctx); - sub_8069058(v1, direction); + TurnObjectEvent(v1, direction); return FALSE; } -bool8 ScrCmd_lockall(struct ScriptContext *ctx) +bool8 ScrCmd_lockall(struct ScriptContext * ctx) { if (IsUpdateLinkStateCBActive()) { @@ -1211,7 +1209,7 @@ bool8 ScrCmd_lockall(struct ScriptContext *ctx) } } -bool8 ScrCmd_lock(struct ScriptContext *ctx) +bool8 ScrCmd_lock(struct ScriptContext * ctx) { if (IsUpdateLinkStateCBActive()) { @@ -1233,19 +1231,19 @@ bool8 ScrCmd_lock(struct ScriptContext *ctx) } } -bool8 ScrCmd_releaseall(struct ScriptContext *ctx) +bool8 ScrCmd_releaseall(struct ScriptContext * ctx) { u8 playerObjectId; HideFieldMessageBox(); playerObjectId = GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0); ObjectEventClearHeldMovementIfFinished(&gObjectEvents[playerObjectId]); - sub_80974D8(); + ScriptMovement_UnfreezeObjectEvents(); UnfreezeObjectEvents(); return FALSE; } -bool8 ScrCmd_release(struct ScriptContext *ctx) +bool8 ScrCmd_release(struct ScriptContext * ctx) { u8 playerObjectId; @@ -1254,19 +1252,19 @@ bool8 ScrCmd_release(struct ScriptContext *ctx) ObjectEventClearHeldMovementIfFinished(&gObjectEvents[gSelectedObjectEvent]); playerObjectId = GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0); ObjectEventClearHeldMovementIfFinished(&gObjectEvents[playerObjectId]); - sub_80974D8(); + ScriptMovement_UnfreezeObjectEvents(); UnfreezeObjectEvents(); return FALSE; } -bool8 ScrCmd_textcolor(struct ScriptContext *ctx) +bool8 ScrCmd_textcolor(struct ScriptContext * ctx) { gSpecialVar_PrevTextColor = gSpecialVar_TextColor; gSpecialVar_TextColor = ScriptReadByte(ctx); return FALSE; } -bool8 ScrCmd_message(struct ScriptContext *ctx) +bool8 ScrCmd_message(struct ScriptContext * ctx) { const u8 *msg = (const u8 *)ScriptReadWord(ctx); @@ -1276,7 +1274,7 @@ bool8 ScrCmd_message(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_loadhelp(struct ScriptContext *ctx) +bool8 ScrCmd_loadhelp(struct ScriptContext * ctx) { const u8 *msg = (const u8 *)ScriptReadWord(ctx); @@ -1287,13 +1285,13 @@ bool8 ScrCmd_loadhelp(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_unloadhelp(struct ScriptContext *ctx) +bool8 ScrCmd_unloadhelp(struct ScriptContext * ctx) { DestroyHelpMessageWindow_(); return FALSE; } -bool8 ScrCmd_messageautoscroll(struct ScriptContext *ctx) +bool8 ScrCmd_messageautoscroll(struct ScriptContext * ctx) { const u8 *msg = (const u8 *)ScriptReadWord(ctx); @@ -1303,13 +1301,13 @@ bool8 ScrCmd_messageautoscroll(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_waitmessage(struct ScriptContext *ctx) +bool8 ScrCmd_waitmessage(struct ScriptContext * ctx) { SetupNativeScript(ctx, IsFieldMessageBoxHidden); return TRUE; } -bool8 ScrCmd_closemessage(struct ScriptContext *ctx) +bool8 ScrCmd_closemessage(struct ScriptContext * ctx) { HideFieldMessageBox(); return FALSE; @@ -1403,7 +1401,7 @@ static u8 sub_806B96C(struct ScriptContext * ctx) return 0; } -bool8 ScrCmd_waitbuttonpress(struct ScriptContext *ctx) +bool8 ScrCmd_waitbuttonpress(struct ScriptContext * ctx) { gUnknown_3005070 = ctx; @@ -1413,7 +1411,7 @@ bool8 ScrCmd_waitbuttonpress(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_yesnobox(struct ScriptContext *ctx) +bool8 ScrCmd_yesnobox(struct ScriptContext * ctx) { u8 left = ScriptReadByte(ctx); u8 top = ScriptReadByte(ctx); @@ -1429,7 +1427,7 @@ bool8 ScrCmd_yesnobox(struct ScriptContext *ctx) } } -bool8 ScrCmd_multichoice(struct ScriptContext *ctx) +bool8 ScrCmd_multichoice(struct ScriptContext * ctx) { u8 left = ScriptReadByte(ctx); u8 top = ScriptReadByte(ctx); @@ -1447,7 +1445,7 @@ bool8 ScrCmd_multichoice(struct ScriptContext *ctx) } } -bool8 ScrCmd_multichoicedefault(struct ScriptContext *ctx) +bool8 ScrCmd_multichoicedefault(struct ScriptContext * ctx) { u8 left = ScriptReadByte(ctx); u8 top = ScriptReadByte(ctx); @@ -1466,7 +1464,7 @@ bool8 ScrCmd_multichoicedefault(struct ScriptContext *ctx) } } -bool8 ScrCmd_drawbox(struct ScriptContext *ctx) +bool8 ScrCmd_drawbox(struct ScriptContext * ctx) { /*u8 left = ScriptReadByte(ctx); u8 top = ScriptReadByte(ctx); @@ -1477,7 +1475,7 @@ bool8 ScrCmd_drawbox(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_multichoicegrid(struct ScriptContext *ctx) +bool8 ScrCmd_multichoicegrid(struct ScriptContext * ctx) { u8 left = ScriptReadByte(ctx); u8 top = ScriptReadByte(ctx); @@ -1496,7 +1494,7 @@ bool8 ScrCmd_multichoicegrid(struct ScriptContext *ctx) } } -bool8 ScrCmd_erasebox(struct ScriptContext *ctx) +bool8 ScrCmd_erasebox(struct ScriptContext * ctx) { u8 left = ScriptReadByte(ctx); u8 top = ScriptReadByte(ctx); @@ -1507,7 +1505,7 @@ bool8 ScrCmd_erasebox(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_drawboxtext(struct ScriptContext *ctx) +bool8 ScrCmd_drawboxtext(struct ScriptContext * ctx) { // u8 left = ScriptReadByte(ctx); // u8 top = ScriptReadByte(ctx); @@ -1522,7 +1520,7 @@ bool8 ScrCmd_drawboxtext(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_showmonpic(struct ScriptContext *ctx) +bool8 ScrCmd_showmonpic(struct ScriptContext * ctx) { u16 species = VarGet(ScriptReadHalfword(ctx)); u8 x = ScriptReadByte(ctx); @@ -1533,7 +1531,7 @@ bool8 ScrCmd_showmonpic(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_hidemonpic(struct ScriptContext *ctx) +bool8 ScrCmd_hidemonpic(struct ScriptContext * ctx) { bool8 (*func)(void) = ScriptMenu_GetPicboxWaitFunc(); @@ -1543,7 +1541,7 @@ bool8 ScrCmd_hidemonpic(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_showcontestwinner(struct ScriptContext *ctx) +bool8 ScrCmd_showcontestwinner(struct ScriptContext * ctx) { u8 v1 = ScriptReadByte(ctx); @@ -1558,7 +1556,7 @@ bool8 ScrCmd_showcontestwinner(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_braillemessage(struct ScriptContext *ctx) +bool8 ScrCmd_braillemessage(struct ScriptContext * ctx) { u8 *ptr = (u8 *)ScriptReadWord(ctx); if (ptr == NULL) @@ -1570,7 +1568,7 @@ bool8 ScrCmd_braillemessage(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_getbraillestringwidth(struct ScriptContext *ctx) +bool8 ScrCmd_getbraillestringwidth(struct ScriptContext * ctx) { u8 *ptr = (u8 *)ScriptReadWord(ctx); if (ptr == NULL) @@ -1580,7 +1578,7 @@ bool8 ScrCmd_getbraillestringwidth(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_vmessage(struct ScriptContext *ctx) +bool8 ScrCmd_vmessage(struct ScriptContext * ctx) { u32 v1 = ScriptReadWord(ctx); @@ -1588,14 +1586,14 @@ bool8 ScrCmd_vmessage(struct ScriptContext *ctx) return FALSE; } -u8 * const sScriptStringVars[] = +u8 *const sScriptStringVars[] = { gStringVar1, gStringVar2, gStringVar3, }; -bool8 ScrCmd_bufferspeciesname(struct ScriptContext *ctx) +bool8 ScrCmd_bufferspeciesname(struct ScriptContext * ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 species = VarGet(ScriptReadHalfword(ctx)); @@ -1604,7 +1602,7 @@ bool8 ScrCmd_bufferspeciesname(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_bufferleadmonspeciesname(struct ScriptContext *ctx) +bool8 ScrCmd_bufferleadmonspeciesname(struct ScriptContext * ctx) { u8 stringVarIndex = ScriptReadByte(ctx); @@ -1615,7 +1613,7 @@ bool8 ScrCmd_bufferleadmonspeciesname(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_bufferpartymonnick(struct ScriptContext *ctx) +bool8 ScrCmd_bufferpartymonnick(struct ScriptContext * ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 partyIndex = VarGet(ScriptReadHalfword(ctx)); @@ -1625,7 +1623,7 @@ bool8 ScrCmd_bufferpartymonnick(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_bufferitemname(struct ScriptContext *ctx) +bool8 ScrCmd_bufferitemname(struct ScriptContext * ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 itemId = VarGet(ScriptReadHalfword(ctx)); @@ -1637,7 +1635,7 @@ bool8 ScrCmd_bufferitemname(struct ScriptContext *ctx) const u8 gUnknown_83A72A0[] = _("S"); const u8 gUnknown_83A72A2[] = _("IES"); -bool8 ScrCmd_bufferitemnameplural(struct ScriptContext *ctx) +bool8 ScrCmd_bufferitemnameplural(struct ScriptContext * ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 itemId = VarGet(ScriptReadHalfword(ctx)); @@ -1660,7 +1658,7 @@ bool8 ScrCmd_bufferitemnameplural(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_bufferdecorationname(struct ScriptContext *ctx) +bool8 ScrCmd_bufferdecorationname(struct ScriptContext * ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 decorId = VarGet(ScriptReadHalfword(ctx)); @@ -1669,7 +1667,7 @@ bool8 ScrCmd_bufferdecorationname(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_buffermovename(struct ScriptContext *ctx) +bool8 ScrCmd_buffermovename(struct ScriptContext * ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 moveId = VarGet(ScriptReadHalfword(ctx)); @@ -1678,7 +1676,7 @@ bool8 ScrCmd_buffermovename(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_buffernumberstring(struct ScriptContext *ctx) +bool8 ScrCmd_buffernumberstring(struct ScriptContext * ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 v1 = VarGet(ScriptReadHalfword(ctx)); @@ -1688,7 +1686,7 @@ bool8 ScrCmd_buffernumberstring(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_bufferstdstring(struct ScriptContext *ctx) +bool8 ScrCmd_bufferstdstring(struct ScriptContext * ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 index = VarGet(ScriptReadHalfword(ctx)); @@ -1698,7 +1696,7 @@ bool8 ScrCmd_bufferstdstring(struct ScriptContext *ctx) } /* -bool8 ScrCmd_buffercontesttype(struct ScriptContext *ctx) +bool8 ScrCmd_buffercontesttype(struct ScriptContext * ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 index = VarGet(ScriptReadHalfword(ctx)); @@ -1708,7 +1706,7 @@ bool8 ScrCmd_buffercontesttype(struct ScriptContext *ctx) } */ -bool8 ScrCmd_bufferstring(struct ScriptContext *ctx) +bool8 ScrCmd_bufferstring(struct ScriptContext * ctx) { u8 stringVarIndex = ScriptReadByte(ctx); const u8 *text = (u8 *)ScriptReadWord(ctx); @@ -1717,7 +1715,7 @@ bool8 ScrCmd_bufferstring(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_vloadword(struct ScriptContext *ctx) +bool8 ScrCmd_vloadword(struct ScriptContext * ctx) { const u8 *ptr = (u8 *)(ScriptReadWord(ctx) - gVScriptOffset); @@ -1725,7 +1723,7 @@ bool8 ScrCmd_vloadword(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_vbufferstring(struct ScriptContext *ctx) +bool8 ScrCmd_vbufferstring(struct ScriptContext * ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u32 addr = ScriptReadWord(ctx); @@ -1736,7 +1734,7 @@ bool8 ScrCmd_vbufferstring(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_bufferboxname(struct ScriptContext *ctx) +bool8 ScrCmd_bufferboxname(struct ScriptContext * ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 boxId = VarGet(ScriptReadHalfword(ctx)); @@ -1745,7 +1743,7 @@ bool8 ScrCmd_bufferboxname(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_givemon(struct ScriptContext *ctx) +bool8 ScrCmd_givemon(struct ScriptContext * ctx) { u16 species = VarGet(ScriptReadHalfword(ctx)); u8 level = ScriptReadByte(ctx); @@ -1758,7 +1756,7 @@ bool8 ScrCmd_givemon(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_giveegg(struct ScriptContext *ctx) +bool8 ScrCmd_giveegg(struct ScriptContext * ctx) { u16 species = VarGet(ScriptReadHalfword(ctx)); @@ -1766,7 +1764,7 @@ bool8 ScrCmd_giveegg(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_setmonmove(struct ScriptContext *ctx) +bool8 ScrCmd_setmonmove(struct ScriptContext * ctx) { u8 partyIndex = ScriptReadByte(ctx); u8 slot = ScriptReadByte(ctx); @@ -1776,7 +1774,7 @@ bool8 ScrCmd_setmonmove(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_checkpartymove(struct ScriptContext *ctx) +bool8 ScrCmd_checkpartymove(struct ScriptContext * ctx) { u8 i; u16 moveId = ScriptReadHalfword(ctx); @@ -1797,7 +1795,7 @@ bool8 ScrCmd_checkpartymove(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_addmoney(struct ScriptContext *ctx) +bool8 ScrCmd_addmoney(struct ScriptContext * ctx) { u32 amount = ScriptReadWord(ctx); u8 ignore = ScriptReadByte(ctx); @@ -1807,7 +1805,7 @@ bool8 ScrCmd_addmoney(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_removemoney(struct ScriptContext *ctx) +bool8 ScrCmd_removemoney(struct ScriptContext * ctx) { u32 amount = ScriptReadWord(ctx); u8 ignore = ScriptReadByte(ctx); @@ -1817,7 +1815,7 @@ bool8 ScrCmd_removemoney(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_checkmoney(struct ScriptContext *ctx) +bool8 ScrCmd_checkmoney(struct ScriptContext * ctx) { u32 amount = ScriptReadWord(ctx); u8 ignore = ScriptReadByte(ctx); @@ -1827,7 +1825,7 @@ bool8 ScrCmd_checkmoney(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_showmoneybox(struct ScriptContext *ctx) +bool8 ScrCmd_showmoneybox(struct ScriptContext * ctx) { u8 x = ScriptReadByte(ctx); u8 y = ScriptReadByte(ctx); @@ -1838,7 +1836,7 @@ bool8 ScrCmd_showmoneybox(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_hidemoneybox(struct ScriptContext *ctx) +bool8 ScrCmd_hidemoneybox(struct ScriptContext * ctx) { /*u8 x = ScriptReadByte(ctx); u8 y = ScriptReadByte(ctx);*/ @@ -1847,7 +1845,7 @@ bool8 ScrCmd_hidemoneybox(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_updatemoneybox(struct ScriptContext *ctx) +bool8 ScrCmd_updatemoneybox(struct ScriptContext * ctx) { u8 x = ScriptReadByte(ctx); u8 y = ScriptReadByte(ctx); @@ -1858,7 +1856,7 @@ bool8 ScrCmd_updatemoneybox(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_showcoinsbox(struct ScriptContext *ctx) +bool8 ScrCmd_showcoinsbox(struct ScriptContext * ctx) { u8 x = ScriptReadByte(ctx); u8 y = ScriptReadByte(ctx); @@ -1868,7 +1866,7 @@ bool8 ScrCmd_showcoinsbox(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_hidecoinsbox(struct ScriptContext *ctx) +bool8 ScrCmd_hidecoinsbox(struct ScriptContext * ctx) { u8 x = ScriptReadByte(ctx); u8 y = ScriptReadByte(ctx); @@ -1877,7 +1875,7 @@ bool8 ScrCmd_hidecoinsbox(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_updatecoinsbox(struct ScriptContext *ctx) +bool8 ScrCmd_updatecoinsbox(struct ScriptContext * ctx) { u8 x = ScriptReadByte(ctx); u8 y = ScriptReadByte(ctx); @@ -1886,31 +1884,31 @@ bool8 ScrCmd_updatecoinsbox(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_trainerbattle(struct ScriptContext *ctx) +bool8 ScrCmd_trainerbattle(struct ScriptContext * ctx) { ctx->scriptPtr = BattleSetup_ConfigureTrainerBattle(ctx->scriptPtr); return FALSE; } -bool8 ScrCmd_dotrainerbattle(struct ScriptContext *ctx) +bool8 ScrCmd_dotrainerbattle(struct ScriptContext * ctx) { - BattleSetup_StartTrainerBattle(); + StartTrainerBattle(); return TRUE; } -bool8 ScrCmd_gotopostbattlescript(struct ScriptContext *ctx) +bool8 ScrCmd_gotopostbattlescript(struct ScriptContext * ctx) { ctx->scriptPtr = BattleSetup_GetScriptAddrAfterBattle(); return FALSE; } -bool8 ScrCmd_gotobeatenscript(struct ScriptContext *ctx) +bool8 ScrCmd_gotobeatenscript(struct ScriptContext * ctx) { ctx->scriptPtr = BattleSetup_GetTrainerPostBattleScript(); return FALSE; } -bool8 ScrCmd_checktrainerflag(struct ScriptContext *ctx) +bool8 ScrCmd_checktrainerflag(struct ScriptContext * ctx) { u16 index = VarGet(ScriptReadHalfword(ctx)); @@ -1918,7 +1916,7 @@ bool8 ScrCmd_checktrainerflag(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_settrainerflag(struct ScriptContext *ctx) +bool8 ScrCmd_settrainerflag(struct ScriptContext * ctx) { u16 index = VarGet(ScriptReadHalfword(ctx)); @@ -1926,7 +1924,7 @@ bool8 ScrCmd_settrainerflag(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_cleartrainerflag(struct ScriptContext *ctx) +bool8 ScrCmd_cleartrainerflag(struct ScriptContext * ctx) { u16 index = VarGet(ScriptReadHalfword(ctx)); @@ -1934,7 +1932,7 @@ bool8 ScrCmd_cleartrainerflag(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_setwildbattle(struct ScriptContext *ctx) +bool8 ScrCmd_setwildbattle(struct ScriptContext * ctx) { u16 species = ScriptReadHalfword(ctx); u8 level = ScriptReadByte(ctx); @@ -1944,14 +1942,14 @@ bool8 ScrCmd_setwildbattle(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_dowildbattle(struct ScriptContext *ctx) +bool8 ScrCmd_dowildbattle(struct ScriptContext * ctx) { - BattleSetup_StartScriptedWildBattle(); + StartScriptedWildBattle(); ScriptContext1_Stop(); return TRUE; } -bool8 ScrCmd_pokemart(struct ScriptContext *ctx) +bool8 ScrCmd_pokemart(struct ScriptContext * ctx) { const void *ptr = (void *)ScriptReadWord(ctx); @@ -1960,7 +1958,7 @@ bool8 ScrCmd_pokemart(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_pokemartdecoration(struct ScriptContext *ctx) +bool8 ScrCmd_pokemartdecoration(struct ScriptContext * ctx) { const void *ptr = (void *)ScriptReadWord(ctx); @@ -1969,7 +1967,7 @@ bool8 ScrCmd_pokemartdecoration(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_pokemartdecoration2(struct ScriptContext *ctx) +bool8 ScrCmd_pokemartdecoration2(struct ScriptContext * ctx) { const void *ptr = (void *)ScriptReadWord(ctx); @@ -1978,7 +1976,7 @@ bool8 ScrCmd_pokemartdecoration2(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_playslotmachine(struct ScriptContext *ctx) +bool8 ScrCmd_playslotmachine(struct ScriptContext * ctx) { u8 slotMachineIndex = VarGet(ScriptReadHalfword(ctx)); @@ -1987,7 +1985,7 @@ bool8 ScrCmd_playslotmachine(struct ScriptContext *ctx) return TRUE; } -bool8 ScrCmd_setberrytree(struct ScriptContext *ctx) +bool8 ScrCmd_setberrytree(struct ScriptContext * ctx) { // u8 treeId = ScriptReadByte(ctx); // u8 berry = ScriptReadByte(ctx); @@ -2000,7 +1998,7 @@ bool8 ScrCmd_setberrytree(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_getpricereduction(struct ScriptContext *ctx) +bool8 ScrCmd_getpricereduction(struct ScriptContext * ctx) { // u16 value = VarGet(ScriptReadHalfword(ctx)); // @@ -2008,7 +2006,7 @@ bool8 ScrCmd_getpricereduction(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_choosecontestmon(struct ScriptContext *ctx) +bool8 ScrCmd_choosecontestmon(struct ScriptContext * ctx) { // sub_81B9404(); ScriptContext1_Stop(); @@ -2016,7 +2014,7 @@ bool8 ScrCmd_choosecontestmon(struct ScriptContext *ctx) } -bool8 ScrCmd_startcontest(struct ScriptContext *ctx) +bool8 ScrCmd_startcontest(struct ScriptContext * ctx) { // sub_80F840C(); // ScriptContext1_Stop(); @@ -2024,7 +2022,7 @@ bool8 ScrCmd_startcontest(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_showcontestresults(struct ScriptContext *ctx) +bool8 ScrCmd_showcontestresults(struct ScriptContext * ctx) { // sub_80F8484(); // ScriptContext1_Stop(); @@ -2032,7 +2030,7 @@ bool8 ScrCmd_showcontestresults(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_contestlinktransfer(struct ScriptContext *ctx) +bool8 ScrCmd_contestlinktransfer(struct ScriptContext * ctx) { // sub_80F84C4(gSpecialVar_ContestCategory); // ScriptContext1_Stop(); @@ -2040,7 +2038,7 @@ bool8 ScrCmd_contestlinktransfer(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_dofieldeffect(struct ScriptContext *ctx) +bool8 ScrCmd_dofieldeffect(struct ScriptContext * ctx) { u16 effectId = VarGet(ScriptReadHalfword(ctx)); @@ -2049,7 +2047,7 @@ bool8 ScrCmd_dofieldeffect(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_setfieldeffectarg(struct ScriptContext *ctx) +bool8 ScrCmd_setfieldeffectarg(struct ScriptContext * ctx) { u8 argNum = ScriptReadByte(ctx); @@ -2065,14 +2063,14 @@ static bool8 WaitForFieldEffectFinish(void) return FALSE; } -bool8 ScrCmd_waitfieldeffect(struct ScriptContext *ctx) +bool8 ScrCmd_waitfieldeffect(struct ScriptContext * ctx) { sFieldEffectScriptId = VarGet(ScriptReadHalfword(ctx)); SetupNativeScript(ctx, WaitForFieldEffectFinish); return TRUE; } -bool8 ScrCmd_setrespawn(struct ScriptContext *ctx) +bool8 ScrCmd_setrespawn(struct ScriptContext * ctx) { u16 healLocationId = VarGet(ScriptReadHalfword(ctx)); @@ -2080,13 +2078,13 @@ bool8 ScrCmd_setrespawn(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_checkplayergender(struct ScriptContext *ctx) +bool8 ScrCmd_checkplayergender(struct ScriptContext * ctx) { gSpecialVar_Result = gSaveBlock2Ptr->playerGender; return FALSE; } -bool8 ScrCmd_playmoncry(struct ScriptContext *ctx) +bool8 ScrCmd_playmoncry(struct ScriptContext * ctx) { u16 species = VarGet(ScriptReadHalfword(ctx)); u16 mode = VarGet(ScriptReadHalfword(ctx)); @@ -2095,13 +2093,13 @@ bool8 ScrCmd_playmoncry(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_waitmoncry(struct ScriptContext *ctx) +bool8 ScrCmd_waitmoncry(struct ScriptContext * ctx) { SetupNativeScript(ctx, IsCryFinished); return TRUE; } -bool8 ScrCmd_setmetatile(struct ScriptContext *ctx) +bool8 ScrCmd_setmetatile(struct ScriptContext * ctx) { u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); @@ -2113,11 +2111,11 @@ bool8 ScrCmd_setmetatile(struct ScriptContext *ctx) if (!v8) MapGridSetMetatileIdAt(x, y, tileId); else - MapGridSetMetatileIdAt(x, y, tileId | 0xC00); + MapGridSetMetatileIdAt(x, y, tileId | METATILE_COLLISION_MASK); return FALSE; } -bool8 ScrCmd_opendoor(struct ScriptContext *ctx) +bool8 ScrCmd_opendoor(struct ScriptContext * ctx) { u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); @@ -2129,7 +2127,7 @@ bool8 ScrCmd_opendoor(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_closedoor(struct ScriptContext *ctx) +bool8 ScrCmd_closedoor(struct ScriptContext * ctx) { u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); @@ -2148,13 +2146,13 @@ static bool8 IsDoorAnimationStopped(void) return FALSE; } -bool8 ScrCmd_waitdooranim(struct ScriptContext *ctx) +bool8 ScrCmd_waitdooranim(struct ScriptContext * ctx) { SetupNativeScript(ctx, IsDoorAnimationStopped); return TRUE; } -bool8 ScrCmd_setdooropen(struct ScriptContext *ctx) +bool8 ScrCmd_setdooropen(struct ScriptContext * ctx) { u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); @@ -2165,7 +2163,7 @@ bool8 ScrCmd_setdooropen(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_setdoorclosed(struct ScriptContext *ctx) +bool8 ScrCmd_setdoorclosed(struct ScriptContext * ctx) { u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); @@ -2176,7 +2174,7 @@ bool8 ScrCmd_setdoorclosed(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_addelevmenuitem(struct ScriptContext *ctx) +bool8 ScrCmd_addelevmenuitem(struct ScriptContext * ctx) { // u8 v3 = ScriptReadByte(ctx); // u16 v5 = VarGet(ScriptReadHalfword(ctx)); @@ -2187,7 +2185,7 @@ bool8 ScrCmd_addelevmenuitem(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_showelevmenu(struct ScriptContext *ctx) +bool8 ScrCmd_showelevmenu(struct ScriptContext * ctx) { /*ScriptShowElevatorMenu(); ScriptContext1_Stop(); @@ -2195,14 +2193,14 @@ bool8 ScrCmd_showelevmenu(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_checkcoins(struct ScriptContext *ctx) +bool8 ScrCmd_checkcoins(struct ScriptContext * ctx) { u16 *ptr = GetVarPointer(ScriptReadHalfword(ctx)); *ptr = GetCoins(); return FALSE; } -bool8 ScrCmd_addcoins(struct ScriptContext *ctx) +bool8 ScrCmd_addcoins(struct ScriptContext * ctx) { u16 coins = VarGet(ScriptReadHalfword(ctx)); @@ -2213,7 +2211,7 @@ bool8 ScrCmd_addcoins(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_removecoins(struct ScriptContext *ctx) +bool8 ScrCmd_removecoins(struct ScriptContext * ctx) { u16 coins = VarGet(ScriptReadHalfword(ctx)); @@ -2224,20 +2222,20 @@ bool8 ScrCmd_removecoins(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_signmsg(struct ScriptContext *ctx) +bool8 ScrCmd_signmsg(struct ScriptContext * ctx) { sub_8069A20(); return FALSE; } -bool8 ScrCmd_normalmsg(struct ScriptContext *ctx) +bool8 ScrCmd_normalmsg(struct ScriptContext * ctx) { sub_8069A2C(); return FALSE; } // This command will force the Pokémon to be obedient, you don't get to make it disobedient. -bool8 ScrCmd_setmonobedient(struct ScriptContext *ctx) +bool8 ScrCmd_setmonobedient(struct ScriptContext * ctx) { bool8 obedient = TRUE; u16 partyIndex = VarGet(ScriptReadHalfword(ctx)); @@ -2246,7 +2244,7 @@ bool8 ScrCmd_setmonobedient(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_checkmonobedience(struct ScriptContext *ctx) +bool8 ScrCmd_checkmonobedience(struct ScriptContext * ctx) { u16 partyIndex = VarGet(ScriptReadHalfword(ctx)); @@ -2254,7 +2252,7 @@ bool8 ScrCmd_checkmonobedience(struct ScriptContext *ctx) return FALSE; } -bool8 ScrCmd_setmonmetlocation(struct ScriptContext *ctx) +bool8 ScrCmd_setmonmetlocation(struct ScriptContext * ctx) { u16 partyIndex = VarGet(ScriptReadHalfword(ctx)); u8 location = ScriptReadByte(ctx); diff --git a/src/script.c b/src/script.c index 0a4b69bac..4b8565589 100644 --- a/src/script.c +++ b/src/script.c @@ -406,7 +406,7 @@ u8 *mapheader_get_first_match_from_tagged_ptr_list(u8 tag) } } -void mapheader_run_script_with_tag_x1(void) +void RunOnLoadMapScript(void) { mapheader_run_script_by_tag(1); } @@ -506,7 +506,7 @@ u8 *GetRamScript(u8 objectId, u8 *script) } } -bool32 sub_8069DFC(void) +bool32 ValidateRamScript(void) { struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data; if (scriptData->magic != RAM_SCRIPT_MAGIC) diff --git a/src/script_menu.c b/src/script_menu.c index 72ff1dc9e..a4745ee10 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -944,7 +944,7 @@ static void Hask_MultichoiceGridMenu_HandleInput(u8 taskId) EnableBothScriptContexts(); } -bool8 ScrSpecial_CreatePCMenu(void) +bool8 CreatePCMenu(void) { if (FuncIsActiveTask(Task_MultichoiceMenu_HandleInput) == TRUE) return FALSE; @@ -1022,7 +1022,7 @@ static void Task_ScriptShowMonPic(u8 taskId) case 1: break; case 2: - sub_8083A5C(&gSprites[task->data[2]], task->data[2]); + FreeResourcesAndDestroySprite(&gSprites[task->data[2]], task->data[2]); task->data[0]++; break; case 3: @@ -1040,7 +1040,7 @@ bool8 ScriptMenu_ShowPokemonPic(u16 species, u8 x, u8 y) return TRUE; if (FindTaskIdByFunc(Task_ScriptShowMonPic) != 0xFF) return FALSE; - spriteId = sub_8083970(species, 8 * x + 40, 8 * y + 40, FALSE); + spriteId = CreateMonSprite_PicBox(species, 8 * x + 40, 8 * y + 40, FALSE); taskId = CreateTask(Task_ScriptShowMonPic, 80); gTasks[taskId].data[5] = CreateWindowFromRect(x, y, 8, 8); gTasks[taskId].data[0] = 0; @@ -1082,7 +1082,7 @@ void sub_809D424(void) case 0: case 1: case 2: - sub_8083A5C(&gSprites[task->data[2]], task->data[2]); + FreeResourcesAndDestroySprite(&gSprites[task->data[2]], task->data[2]); DestroyScriptMenuWindow(task->data[5]); DestroyTask(taskId); break; @@ -1116,7 +1116,7 @@ void Task_WaitMuseumFossilPic(u8 taskId) } } -bool8 Special_OpenMuseumFossilPic(void) +bool8 OpenMuseumFossilPic(void) { u8 spriteId; u8 taskId; @@ -1149,7 +1149,7 @@ bool8 Special_OpenMuseumFossilPic(void) return TRUE; } -bool8 Special_CloseMuseumFossilPic(void) +bool8 CloseMuseumFossilPic(void) { u8 taskId = FindTaskIdByFunc(Task_WaitMuseumFossilPic); if (taskId == 0xFF) @@ -1183,7 +1183,7 @@ void QLPlaybackCB_DestroyScriptMenuMonPicSprites(void) { data = gTasks[taskId].data; if (data[0] < 2) - sub_8083A5C(&gSprites[data[2]], data[2]); + FreeResourcesAndDestroySprite(&gSprites[data[2]], data[2]); } taskId = FindTaskIdByFunc(Task_WaitMuseumFossilPic); if (taskId != 0xFF) @@ -1197,7 +1197,7 @@ void QLPlaybackCB_DestroyScriptMenuMonPicSprites(void) } } -void Special_DrawSeagallopDestinationMenu(void) +void DrawSeagallopDestinationMenu(void) { // 8004 = Starting location // 8005 = Page (0: Verm, One, Two, Three, Four, Other, Exit; 1: Four, Five, Six, Seven, Other, Exit) @@ -1249,7 +1249,7 @@ void Special_DrawSeagallopDestinationMenu(void) } } -u16 Special_GetSelectedSeagallopDestination(void) +u16 GetSelectedSeagallopDestination(void) { // 8004 = Starting location // 8005 = Page (0: Verm, One, Two, Three, Four, Other, Exit; 1: Four, Five, Six, Seven, Other, Exit) diff --git a/src/script_movement.c b/src/script_movement.c new file mode 100644 index 000000000..55c26ded8 --- /dev/null +++ b/src/script_movement.c @@ -0,0 +1,226 @@ +#include "global.h" +#include "task.h" +#include "util.h" +#include "event_object_movement.h" +#include "constants/event_objects.h" +#include "constants/event_object_movement.h" + +static EWRAM_DATA const u8 (*sMovementScripts[OBJECT_EVENTS_COUNT]) = {}; + +static void ScriptMovement_StartMoveObjects(u8 priority); +static u8 GetMoveObjectsTaskId(void); +static u8 ScriptMovement_TryAddNewMovement(u8 taskId, u8 objEventId, const u8 *movementScript); +static u8 GetMovementScriptIdFromObjectEventId(u8 taskId, u8 objEventId); +static bool8 IsMovementScriptFinished(u8 taskId, u8 moveScrId); +static void ScriptMovement_MoveObjects(u8 taskId); +static void ScriptMovement_AddNewMovement(u8 taskId, u8 moveScrId, u8 objEventId, const u8 *movementScript); +static void ScriptMovement_UnfreezeActiveObjects(u8 taskId); +static void ScriptMovement_TakeStep(u8 taskId, u8 moveScrId, u8 objEventId, const u8 *movementScript); + +bool8 ScriptMovement_StartObjectMovementScript(u8 localId, u8 mapNum, u8 mapGroup, const u8 *movementScript) +{ + u8 objEventId; + if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objEventId)) + return TRUE; + + if (!FuncIsActiveTask(ScriptMovement_MoveObjects)) + ScriptMovement_StartMoveObjects(50); + return ScriptMovement_TryAddNewMovement(GetMoveObjectsTaskId(), objEventId, movementScript); +} + +bool8 ScriptMovement_IsObjectMovementFinished(u8 localId, u8 mapNum, u8 mapGroup) +{ + u8 objEventId; + u8 taskId; + u8 moveScrId; + if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objEventId)) + return TRUE; + taskId = GetMoveObjectsTaskId(); + moveScrId = GetMovementScriptIdFromObjectEventId(taskId, objEventId); + if (moveScrId == OBJECT_EVENTS_COUNT) + return TRUE; + return IsMovementScriptFinished(taskId, moveScrId); +} + +void ScriptMovement_UnfreezeObjectEvents(void) +{ + u8 taskId = GetMoveObjectsTaskId(); + if (taskId != TAIL_SENTINEL) + { + ScriptMovement_UnfreezeActiveObjects(taskId); + DestroyTask(taskId); + } +} + +void ScriptMovement_StartMoveObjects(u8 priority) +{ + u8 i; + u8 taskId = CreateTask(ScriptMovement_MoveObjects, priority); + for (i = 1; i < NUM_TASK_DATA; i++) + { + gTasks[taskId].data[i] = -1; + } +} + +u8 GetMoveObjectsTaskId(void) +{ + return FindTaskIdByFunc(ScriptMovement_MoveObjects); +} + +bool8 ScriptMovement_TryAddNewMovement(u8 taskId, u8 objEventId, const u8 *movementScript) +{ + u8 moveScrId; + + moveScrId = GetMovementScriptIdFromObjectEventId(taskId, objEventId); + if (moveScrId != OBJECT_EVENTS_COUNT) + { + if (IsMovementScriptFinished(taskId, moveScrId) == FALSE) + { + return TRUE; + } + else + { + ScriptMovement_AddNewMovement(taskId, moveScrId, objEventId, movementScript); + return FALSE; + } + } + moveScrId = GetMovementScriptIdFromObjectEventId(taskId, OBJ_EVENT_ID_PLAYER); + if (moveScrId == OBJECT_EVENTS_COUNT) + { + return TRUE; + } + else + { + ScriptMovement_AddNewMovement(taskId, moveScrId, objEventId, movementScript); + return FALSE; + } +} + +u8 GetMovementScriptIdFromObjectEventId(u8 taskId, u8 objEventId) +{ + u8 i; + u8 *moveScriptId = (u8 *)&gTasks[taskId].data[1]; + for (i = 0; i < OBJECT_EVENTS_COUNT; i++, moveScriptId++) + { + if (*moveScriptId == objEventId) + return i; + } + return OBJECT_EVENTS_COUNT; +} + +void LoadObjectEventIdPtrFromMovementScript(u8 taskId, u8 moveScrId, u8 **pObjEventId) +{ + u8 i; + + *pObjEventId = (u8 *)&gTasks[taskId].data[1]; + for (i = 0; i < moveScrId; i++, (*pObjEventId)++) + ; +} + +void SetObjectEventIdAtMovementScript(u8 taskId, u8 moveScrId, u8 objEventId) +{ + u8 *ptr; + + LoadObjectEventIdPtrFromMovementScript(taskId, moveScrId, &ptr); + *ptr = objEventId; +} + +void LoadObjectEventIdFromMovementScript(u8 taskId, u8 moveScrId, u8 *objEventId) +{ + u8 *ptr; + + LoadObjectEventIdPtrFromMovementScript(taskId, moveScrId, &ptr); + *objEventId = *ptr; +} + + +static void ClearMovementScriptFinished(u8 taskId, u8 moveScrId) +{ + u16 mask = ~gBitTable[moveScrId]; + + gTasks[taskId].data[0] &= mask; +} + +static void SetMovementScriptFinished(u8 taskId, u8 moveScrId) +{ + gTasks[taskId].data[0] |= gBitTable[moveScrId]; +} + +static bool8 IsMovementScriptFinished(u8 taskId, u8 moveScrId) +{ + u16 moveScriptFinished = (u16)gTasks[taskId].data[0] & gBitTable[moveScrId]; + + if (moveScriptFinished != 0) + return TRUE; + else + return FALSE; +} + +static void SetMovementScript(u8 moveScrId, const u8 *movementScript) +{ + sMovementScripts[moveScrId] = movementScript; +} + +static const u8 *GetMovementScript(u8 moveScrId) +{ + return sMovementScripts[moveScrId]; +} + +static void ScriptMovement_AddNewMovement(u8 taskId, u8 moveScrId, u8 objEventId, const u8 *movementScript) +{ + ClearMovementScriptFinished(taskId, moveScrId); + SetMovementScript(moveScrId, movementScript); + SetObjectEventIdAtMovementScript(taskId, moveScrId, objEventId); +} + +static void ScriptMovement_UnfreezeActiveObjects(u8 taskId) +{ + u8 *pObjEventId; + u8 i; + + pObjEventId = (u8 *)&gTasks[taskId].data[1]; + for (i = 0; i < OBJECT_EVENTS_COUNT; i++, pObjEventId++) + { + if (*pObjEventId != 0xFF) + UnfreezeObjectEvent(&gObjectEvents[*pObjEventId]); + } +} + +static void ScriptMovement_MoveObjects(u8 taskId) +{ + u8 i; + u8 objEventId; + + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) + { + LoadObjectEventIdFromMovementScript(taskId, i, &objEventId); + if (objEventId != 0xFF) + ScriptMovement_TakeStep(taskId, i, objEventId, GetMovementScript(i)); + } +} + +static void ScriptMovement_TakeStep(u8 taskId, u8 moveScrId, u8 objEventId, const u8 *movementScript) +{ + u8 nextMoveActionId; + + if (IsMovementScriptFinished(taskId, moveScrId) == TRUE) + return; + if (ObjectEventIsHeldMovementActive(&gObjectEvents[objEventId]) + && !ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objEventId])) + return; + + nextMoveActionId = *movementScript; + if (nextMoveActionId == MOVEMENT_ACTION_STEP_END) + { + SetMovementScriptFinished(taskId, moveScrId); + FreezeObjectEvent(&gObjectEvents[objEventId]); + } + else + { + if (!ObjectEventSetHeldMovement(&gObjectEvents[objEventId], nextMoveActionId)) + { + movementScript++; + SetMovementScript(moveScrId, movementScript); + } + } +} diff --git a/src/script_pokemon_util.c b/src/script_pokemon_util.c index e12b809c6..677759497 100644 --- a/src/script_pokemon_util.c +++ b/src/script_pokemon_util.c @@ -1,9 +1,7 @@ #include "global.h" -#include "battle.h" #include "berry.h" #include "daycare.h" #include "event_data.h" -#include "event_object_movement.h" #include "load_save.h" #include "malloc.h" #include "overworld.h" @@ -119,7 +117,7 @@ static bool8 CheckPartyMonHasHeldItem(u16 item) return FALSE; } -bool8 GetNameOfEnigmaBerryInPlayerParty(void) +bool8 DoesPartyHaveEnigmaBerry(void) { bool8 hasItem = CheckPartyMonHasHeldItem(ITEM_ENIGMA_BERRY); if (hasItem == TRUE) diff --git a/src/sea_cottage_special_anim.c b/src/sea_cottage_special_anim.c deleted file mode 100644 index 56d01ca29..000000000 --- a/src/sea_cottage_special_anim.c +++ /dev/null @@ -1,264 +0,0 @@ -#include "global.h" -#include "event_data.h" -#include "task.h" -#include "menu.h" -#include "field_player_avatar.h" -#include "fieldmap.h" -#include "event_object_movement.h" -#include "field_camera.h" - -static EWRAM_DATA u8 gUnknown_2039984 = 0; - -static void sub_809C1D8(u8 taskId, const s16 *a1, u16 a2); -static void sub_809C334(u8 taskId); -static void sub_809C500(u8 taskId); -static void sub_809C640(u8 taskId); - -static const u16 gUnknown_83DF0D4[] = {0x0308, 0x030a, 0x02d0}; -static const u16 gUnknown_83DF0DA[] = {0x0309, 0x030b, 0x02d1}; -static const u16 gUnknown_83DF0E0[] = {0x0310, 0x0312, 0x02d8}; -static const u16 gUnknown_83DF0E6[] = {0x0311, 0x0313, 0x02d9}; -static const u16 gUnknown_83DF0EC[] = {0x02e3, 0x0316, 0x0314}; -static const u16 gUnknown_83DF0F2[] = {0x02e4, 0x0317, 0x0315}; -static const u16 gUnknown_83DF0F8[] = {0x02eb, 0x031e, 0x031c}; - -// Functions -static void sub_809C1D8(u8 taskId, const s16 *a1, u16 a2) -{ - s16 r5, r3, r4; - s16 i, j; - - r5 = gTasks[taskId].data[4] - 1; - r3 = gTasks[taskId].data[5] - 1; - r4 = gTasks[taskId].data[1]; - - if (gTasks[taskId].data[2] == 0) - { - for (i = 0; i < 3; i++) - { - for (j = 0; j < 3; j++) - { - s32 id = MapGridGetMetatileIdAt(r5 + j, r3 + i); - - if (a1[r4] == (s16)id) - { - if (r4 != 2) - MapGridSetMetatileIdAt(r5 + j, r3 + i, a2 | a1[r4 + 1]); - else - MapGridSetMetatileIdAt(r5 + j, r3 + i, a2 | a1[0]); - } - } - } - } - else - { - for (i = 0; i < 3; i++) - { - for (j = 0; j < 3; j++) - { - s32 id = MapGridGetMetatileIdAt(r5 + j, r3 + i); - - if (a1[2 - r4] == (s16)id) - { - if (r4 != 2) - MapGridSetMetatileIdAt(r5 + j, r3 + i, a2 | a1[1 - r4]); - else - MapGridSetMetatileIdAt(r5 + j, r3 + i, a2 | a1[2]); - } - } - } - } -} - -static void sub_809C334(u8 taskId) -{ - s16 *data = gTasks[taskId].data; - u16 v1; - - data[3] = 1; - switch (data[0]) - { - case 0: - sub_809C1D8(taskId, gUnknown_83DF0D4, 0); - break; - case 1: - sub_809C1D8(taskId, gUnknown_83DF0DA, 0); - break; - case 2: - sub_809C1D8(taskId, gUnknown_83DF0E0, 0xC00); - break; - case 3: - sub_809C1D8(taskId, gUnknown_83DF0E6, 0); - break; - case 4: - sub_809C1D8(taskId, gUnknown_83DF0EC, 0xC00); - break; - case 5: - sub_809C1D8(taskId, gUnknown_83DF0F2, 0); - break; - case 6: - sub_809C1D8(taskId, gUnknown_83DF0F8, 0); - default: - break; - } - - data[0] = (data[0] + 1) & 7; - v1 = data[0] & 7; - if (v1 == 0) - { - DrawWholeMapView(); - data[1] = (data[1] + 1) % 3; - data[3] = v1; - } -} - -static u8 sub_809C3FC(u16 a0) -{ - u8 taskId; - s16 *data; - - taskId = CreateTask(sub_809C334, 0); - data = gTasks[taskId].data; - PlayerGetDestCoords(&data[4], &data[5]); - data[0] = 0; - data[1] = 0; - data[2] = a0; - sub_809C334(taskId); - return taskId; -} - -void sub_809C448(u8 a0) -{ - u8 taskId; - - taskId = sub_809C3FC(a0); - gUnknown_2039984 = taskId; -} - -void sub_809C460(void) -{ - DestroyTask(gUnknown_2039984); -} - -bool8 sub_809C474(void) -{ - if (gTasks[gUnknown_2039984].data[3] == 0) - { - if (gTasks[gUnknown_2039984].data[1] != 2) - return TRUE; - return FALSE; - } - else - { - return TRUE; - } -} - -// special 0x1b5 - creates a tile animaiton one block left two-four up the player -void sub_809C4A8(void) -{ - u8 taskId; - s16 *data; - - taskId = CreateTask(sub_809C500, 0); - gTasks[taskId].data[0] = 0; - gTasks[taskId].data[1] = 0; - data = gTasks[taskId].data; - PlayerGetDestCoords(&data[2], &data[3]); - if (gSpecialVar_0x8004 == 0) - { - gTasks[taskId].data[2] += 6; - gTasks[taskId].data[3] -= 5; - } - else - { - gTasks[taskId].data[2]--; - gTasks[taskId].data[3] -= 5; - } -} - -static void sub_809C500(u8 taskId) -{ - s16 *data = gTasks[taskId].data; - - if (data[0] == 0) - { - if ((data[1] & 1) == 0) - { - MapGridSetMetatileIdAt(data[2], data[3], 0xEB5); - MapGridSetMetatileIdAt(data[2], data[3] + 2, 0xEB7); - } - else - { - MapGridSetMetatileIdAt(data[2], data[3], 0xEB6); - MapGridSetMetatileIdAt(data[2], data[3] + 2, 0xEB8); - } - CurrentMapDrawMetatileAt(data[2], data[3]); - CurrentMapDrawMetatileAt(data[2], data[3] + 2); - } - - data[0]++; - if (data[0] != 0x10) - return; - - data[0] = 0; - data[1]++; - if (data[1] != 0xD) - return; - - MapGridSetMetatileIdAt(data[2], data[3], 0xE8A); - MapGridSetMetatileIdAt(data[2], data[3] + 2, 0xE96); - CurrentMapDrawMetatileAt(data[2], data[3]); - CurrentMapDrawMetatileAt(data[2], data[3] + 2); - DestroyTask(taskId); -} - -// special 0x1B7 - creates a tile animation two-six blocks right from the top-left corner of the screen -void sub_809C5FC(void) -{ - u8 taskId; - s16 *data; - - taskId = CreateTask(sub_809C640, 0); - gTasks[taskId].data[0] = 0; - gTasks[taskId].data[1] = 0; - data = gTasks[taskId].data; - PlayerGetDestCoords(&data[2], &data[3]); - gTasks[taskId].data[2] += 4; - gTasks[taskId].data[3] -= 5; -} - -static void sub_809C640(u8 taskId) -{ - s16 *data = gTasks[taskId].data; - - if (data[0] == 0) - { - if (data[1] != 0) - { - MapGridSetMetatileIdAt(data[2], data[3], 0xE85); - MapGridSetMetatileIdAt(data[2], data[3] + 1, 0xEB4); - CurrentMapDrawMetatileAt(data[2], data[3]); - CurrentMapDrawMetatileAt(data[2], data[3] + 1); - if (data[1] == 4) - { - DestroyTask(taskId); - return; - } - - data[2]--; - } - MapGridSetMetatileIdAt(data[2], data[3], 0xEB9); - MapGridSetMetatileIdAt(data[2], data[3] + 1, 0xEBA); - CurrentMapDrawMetatileAt(data[2], data[3]); - CurrentMapDrawMetatileAt(data[2], data[3] + 1); - } - - data[0]++; - if (data[0] == 4) - { - data[0] = 0; - data[1]++; - } -} - diff --git a/src/seagallop.c b/src/seagallop.c index aa0c48da1..1e2234b9c 100644 --- a/src/seagallop.c +++ b/src/seagallop.c @@ -16,7 +16,7 @@ #include "field_weather.h" #include "constants/songs.h" #include "constants/maps.h" -#include "seagallop.h" +#include "constants/seagallop.h" #define TILESTAG_FERRY 3000 #define TILESTAG_WAKE 4000 @@ -295,7 +295,7 @@ static void Task_Seagallop_1(u8 taskId) if (++task->data[1] == 140) { Overworld_FadeOutMapMusic(); - sub_807DC18(); + WarpFadeOutScreen(); task->func = Task_Seagallop_2; } } diff --git a/src/shop.c b/src/shop.c index 97061f8c0..ddeaf6a68 100644 --- a/src/shop.c +++ b/src/shop.c @@ -10,7 +10,6 @@ #include "window.h" #include "field_specials.h" #include "field_weather.h" -#include "field_camera.h" #include "task.h" #include "text.h" #include "item.h" @@ -19,7 +18,6 @@ #include "sound.h" #include "string_util.h" #include "overworld.h" -#include "window.h" #include "palette.h" #include "field_fadetransition.h" #include "scanline_effect.h" @@ -38,6 +36,7 @@ #include "constants/songs.h" #include "constants/items.h" #include "constants/game_stat.h" +#include "constants/field_weather.h" #define tItemCount data[1] #define tItemId data[5] @@ -294,14 +293,14 @@ static void Task_ShopMenu(u8 taskId) static void Task_HandleShopMenuBuy(u8 taskId) { SetWordTaskArg(taskId, 0xE, (u32)CB2_InitBuyMenu); - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].func = Task_GoToBuyOrSellMenu; } static void Task_HandleShopMenuSell(u8 taskId) { SetWordTaskArg(taskId, 0xE, (u32)CB2_GoToSellMenu); - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); gTasks[taskId].func = Task_GoToBuyOrSellMenu; } @@ -338,7 +337,7 @@ static void Task_GoToBuyOrSellMenu(u8 taskId) static void MapPostLoadHook_ReturnToShopMenu(void) { - sub_807DC00(); + FadeInFromBlack(); CreateTask(Task_ReturnToShopMenu, 8); } @@ -670,7 +669,7 @@ static void BuyMenuPrintCursorAtYPosition(u8 y, u8 a1) } else { - BuyMenuPrint(4, 2, gFameCheckerText_ListMenuCursor, 1, y, 0, 0, 0, a1); + BuyMenuPrint(4, 2, gText_SelectorArrow2, 1, y, 0, 0, 0, a1); } } diff --git a/src/slot_machine.c b/src/slot_machine.c index 651465ddb..d0422ab99 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -11,7 +11,6 @@ #include "coins.h" #include "quest_log.h" #include "overworld.h" -#include "slot_machine.h" #include "menu.h" #include "new_menu_helpers.h" #include "text_window.h" diff --git a/src/sound.c b/src/sound.c index ebd755838..99e9a162e 100644 --- a/src/sound.c +++ b/src/sound.c @@ -5,8 +5,8 @@ #include "quest_log.h" #include "m4a.h" #include "main.h" -#include "pokemon.h" #include "constants/songs.h" +#include "constants/fanfares.h" #include "task.h" struct Fanfare @@ -42,20 +42,20 @@ extern struct ToneData gCryTable[]; extern struct ToneData gCryTable2[]; static const struct Fanfare sFanfares[] = { - { MUS_FANFA1, 80 }, - { MUS_FANFA4, 160 }, - { MUS_FANFA5, 220 }, - { MUS_ME_WAZA, 220 }, - { MUS_ME_ASA, 160 }, - { MUS_ME_BACHI, 340 }, - { MUS_ME_WASURE, 180 }, - { MUS_ME_KINOMI, 120 }, - { MUS_ME_B_BIG, 250 }, - { MUS_ME_B_SMALL, 150 }, - { MUS_ME_ZANNEN, 160 }, - { MUS_POKEFUE, 450 }, - { MUS_FAN5, 170 }, - { MUS_FAN2, 196 } + [FANFARE_00] = { MUS_FANFA1, 80 }, + [FANFARE_01] = { MUS_FANFA4, 160 }, + [FANFARE_02] = { MUS_FANFA5, 220 }, + [FANFARE_03] = { MUS_ME_WAZA, 220 }, + [FANFARE_04] = { MUS_ME_ASA, 160 }, + [FANFARE_05] = { MUS_ME_BACHI, 340 }, + [FANFARE_06] = { MUS_ME_WASURE, 180 }, + [FANFARE_07] = { MUS_ME_KINOMI, 120 }, + [FANFARE_08] = { MUS_ME_B_BIG, 250 }, + [FANFARE_09] = { MUS_ME_B_SMALL, 150 }, + [FANFARE_10] = { MUS_ME_ZANNEN, 160 }, + [FANFARE_POKEFLUTE] = { MUS_POKEFUE, 450 }, + [FANFARE_KEY_ITEM] = { MUS_FAN5, 170 }, + [FANFARE_DEX_EVAL] = { MUS_FAN2, 196 } }; extern u16 SpeciesToCryId(u16); diff --git a/src/special_field_anim.c b/src/special_field_anim.c new file mode 100644 index 000000000..4193f0b5a --- /dev/null +++ b/src/special_field_anim.c @@ -0,0 +1,341 @@ +#include "global.h" +#include "event_data.h" +#include "task.h" +#include "field_player_avatar.h" +#include "fieldmap.h" +#include "field_camera.h" +#include "constants/metatile_labels.h" + +static EWRAM_DATA u8 sEscalatorTaskId = 0; + +static void SetEscalatorMetatile(u8 taskId, const s16 *metatileIds, u16 metatileMasks); +static void Task_DrawEscalator(u8 taskId); +static void Task_DrawTeleporterHousing(u8 taskId); +static void Task_DrawTeleporterCable(u8 taskId); + +#define ESCALATOR_STAGES 3 +#define LAST_ESCALATOR_STAGE (ESCALATOR_STAGES - 1) + +static const u16 sEscalatorMetatiles_BottomNextRail[ESCALATOR_STAGES] = +{ + METATILE_PokemonCenter_Escalator_BottomNextRail_Transition2, + METATILE_PokemonCenter_Escalator_BottomNextRail_Transition1, + METATILE_PokemonCenter_Escalator_BottomNextRail_Normal +}; + +static const u16 sEscalatorMetatiles_BottomRail[ESCALATOR_STAGES] = +{ + METATILE_PokemonCenter_Escalator_BottomRail_Transition2, + METATILE_PokemonCenter_Escalator_BottomRail_Transition1, + METATILE_PokemonCenter_Escalator_BottomRail_Normal +}; + +static const u16 sEscalatorMetatiles_BottomNext[ESCALATOR_STAGES] = +{ + METATILE_PokemonCenter_Escalator_BottomNext_Transition2, + METATILE_PokemonCenter_Escalator_BottomNext_Transition1, + METATILE_PokemonCenter_Escalator_BottomNext_Normal +}; + +static const u16 sEscalatorMetatiles_Bottom[ESCALATOR_STAGES] = +{ + METATILE_PokemonCenter_Escalator_Bottom_Transition2, + METATILE_PokemonCenter_Escalator_Bottom_Transition1, + METATILE_PokemonCenter_Escalator_Bottom_Normal +}; + +static const u16 sEscalatorMetatiles_TopNext[ESCALATOR_STAGES] = +{ + METATILE_PokemonCenter_Escalator_TopNext_Normal, + METATILE_PokemonCenter_Escalator_TopNext_Transition1, + METATILE_PokemonCenter_Escalator_TopNext_Transition2 +}; + +static const u16 sEscalatorMetatiles_Top[ESCALATOR_STAGES] = +{ + METATILE_PokemonCenter_Escalator_Top_Normal, + METATILE_PokemonCenter_Escalator_Top_Transition1, + METATILE_PokemonCenter_Escalator_Top_Transition2 +}; + +static const u16 sEscalatorMetatiles_TopNextRail[ESCALATOR_STAGES] = +{ + METATILE_PokemonCenter_Escalator_TopNextRail_Normal, + METATILE_PokemonCenter_Escalator_TopNextRail_Transition1, + METATILE_PokemonCenter_Escalator_TopNextRail_Transition2 +}; + +#define tState data[0] +#define tTransitionStage data[1] +#define tGoingUp data[2] +#define tDrawingEscalator data[3] +#define tPlayerX data[4] +#define tPlayerY data[5] + +static void SetEscalatorMetatile(u8 taskId, const s16 *metatileIds, u16 metatileMasks) +{ + s16 x, y, transitionStage; + s16 i, j; + + x = gTasks[taskId].tPlayerX - 1; + y = gTasks[taskId].tPlayerY - 1; + transitionStage = gTasks[taskId].tTransitionStage; + + // Check all the escalator sections and only progress the selected one to the next stage + if (!gTasks[taskId].tGoingUp) + { + for (i = 0; i < 3; i++) + { + for (j = 0; j < 3; j++) + { + s32 id = MapGridGetMetatileIdAt(x + j, y + i); + + if (metatileIds[transitionStage] == (s16)id) + { + if (transitionStage != LAST_ESCALATOR_STAGE) + MapGridSetMetatileIdAt(x + j, y + i, metatileMasks | metatileIds[transitionStage + 1]); + else + MapGridSetMetatileIdAt(x + j, y + i, metatileMasks | metatileIds[0]); + } + } + } + } + else + { + for (i = 0; i < 3; i++) + { + for (j = 0; j < 3; j++) + { + s32 id = MapGridGetMetatileIdAt(x + j, y + i); + + if (metatileIds[LAST_ESCALATOR_STAGE - transitionStage] == (s16)id) + { + if (transitionStage != LAST_ESCALATOR_STAGE) + MapGridSetMetatileIdAt(x + j, y + i, metatileMasks | metatileIds[1 - transitionStage]); + else + MapGridSetMetatileIdAt(x + j, y + i, metatileMasks | metatileIds[LAST_ESCALATOR_STAGE]); + } + } + } + } +} + +static void Task_DrawEscalator(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + u16 state; + + tDrawingEscalator = TRUE; + + // Set tile for each section of the escalator in sequence for current transition stage + switch (tState) + { + case 0: + SetEscalatorMetatile(taskId, sEscalatorMetatiles_BottomNextRail, 0); + break; + case 1: + SetEscalatorMetatile(taskId, sEscalatorMetatiles_BottomRail, 0); + break; + case 2: + SetEscalatorMetatile(taskId, sEscalatorMetatiles_BottomNext, METATILE_COLLISION_MASK); + break; + case 3: + SetEscalatorMetatile(taskId, sEscalatorMetatiles_Bottom, 0); + break; + case 4: + SetEscalatorMetatile(taskId, sEscalatorMetatiles_TopNext, METATILE_COLLISION_MASK); + break; + case 5: + SetEscalatorMetatile(taskId, sEscalatorMetatiles_Top, 0); + break; + case 6: + SetEscalatorMetatile(taskId, sEscalatorMetatiles_TopNextRail, 0); + default: + break; + } + + tState = (tState + 1) & 7; + state = tState & 7; + + // If all sections of the escalator have been set, draw map and progress to next stage + if (state == 0) + { + DrawWholeMapView(); + tTransitionStage = (tTransitionStage + 1) % ESCALATOR_STAGES; + tDrawingEscalator = FALSE; + } +} + +static u8 CreateEscalatorTask(bool16 goingUp) +{ + u8 taskId; + s16 *data; + + taskId = CreateTask(Task_DrawEscalator, 0); + data = gTasks[taskId].data; + PlayerGetDestCoords(&tPlayerX, &tPlayerY); + tState = 0; + tTransitionStage = 0; + tGoingUp = goingUp; + Task_DrawEscalator(taskId); + return taskId; +} + +void StartEscalator(bool8 goingUp) +{ + u8 taskId; + + taskId = CreateEscalatorTask(goingUp); + sEscalatorTaskId = taskId; +} + +void StopEscalator(void) +{ + DestroyTask(sEscalatorTaskId); +} + +bool8 IsEscalatorMoving(void) +{ + if (gTasks[sEscalatorTaskId].tDrawingEscalator == FALSE) + { + if (gTasks[sEscalatorTaskId].tTransitionStage != LAST_ESCALATOR_STAGE) + return TRUE; + return FALSE; + } + else + { + return TRUE; + } +} + +#undef tState +#undef tTransitionStage +#undef tGoingUp +#undef tDrawingEscalator +#undef tPlayerX +#undef tPlayerY + +#define tTimer data[0] +#define tState data[1] +#define tX data[2] +#define tY data[3] + +void AnimateTeleporterHousing(void) +{ + u8 taskId; + s16 *data; + + taskId = CreateTask(Task_DrawTeleporterHousing, 0); + gTasks[taskId].tTimer = 0; + gTasks[taskId].tState = 0; + data = gTasks[taskId].data; + PlayerGetDestCoords(&tX, &tY); + + // Set the coords of whichever teleporter is being animated + // 0 for the right teleporter, 1 for the left teleporter + if (gSpecialVar_0x8004 == 0) + { + gTasks[taskId].tX += 6; + gTasks[taskId].tY -= 5; + } + else + { + gTasks[taskId].tX -= 1; + gTasks[taskId].tY -= 5; + } +} + +static void Task_DrawTeleporterHousing(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (tTimer == 0) + { + // Alternate the teleporter light / brightness of the teleporter door + if ((tState & 1) == 0) + { + MapGridSetMetatileIdAt(tX, tY, METATILE_SeaCottage_Teleporter_Light_Yellow | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(tX, tY + 2, METATILE_SeaCottage_Teleporter_Door_HalfGlowing | METATILE_COLLISION_MASK); + } + else + { + MapGridSetMetatileIdAt(tX, tY, METATILE_SeaCottage_Teleporter_Light_Red | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(tX, tY + 2, METATILE_SeaCottage_Teleporter_Door_FullGlowing | METATILE_COLLISION_MASK); + } + CurrentMapDrawMetatileAt(tX, tY); + CurrentMapDrawMetatileAt(tX, tY + 2); + } + + tTimer++; + if (tTimer != 16) + return; + + tTimer = 0; + tState++; + if (tState != 13) + return; + + MapGridSetMetatileIdAt(tX, tY, METATILE_SeaCottage_Teleporter_Light_Green | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(tX, tY + 2, METATILE_SeaCottage_Teleporter_Door | METATILE_COLLISION_MASK); + CurrentMapDrawMetatileAt(tX, tY); + CurrentMapDrawMetatileAt(tX, tY + 2); + DestroyTask(taskId); +} + +void AnimateTeleporterCable(void) +{ + u8 taskId; + s16 *data; + + taskId = CreateTask(Task_DrawTeleporterCable, 0); + gTasks[taskId].tTimer = 0; + gTasks[taskId].tState = 0; + data = gTasks[taskId].data; + PlayerGetDestCoords(&tX, &tY); + gTasks[taskId].tX += 4; + gTasks[taskId].tY -= 5; +} + +static void Task_DrawTeleporterCable(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (tTimer == 0) + { + if (tState != 0) + { + // Set default cable tiles to clear the ball + MapGridSetMetatileIdAt(tX, tY, METATILE_SeaCottage_Teleporter_Cable_Top | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(tX, tY + 1, METATILE_SeaCottage_Teleporter_Cable_Bottom | METATILE_COLLISION_MASK); + CurrentMapDrawMetatileAt(tX, tY); + CurrentMapDrawMetatileAt(tX, tY + 1); + + // End after drawing 4 times (length of the cable) + if (tState == 4) + { + DestroyTask(taskId); + return; + } + + tX--; + } + + // Draw the cable ball + MapGridSetMetatileIdAt(tX, tY, METATILE_SeaCottage_Teleporter_CableBall_Top | METATILE_COLLISION_MASK); + MapGridSetMetatileIdAt(tX, tY + 1, METATILE_SeaCottage_Teleporter_CableBall_Bottom | METATILE_COLLISION_MASK); + CurrentMapDrawMetatileAt(tX, tY); + CurrentMapDrawMetatileAt(tX, tY + 1); + } + + tTimer++; + if (tTimer == 4) + { + tTimer = 0; + tState++; + } +} + +#undef tTimer +#undef tState +#undef tX +#undef tY diff --git a/src/sprite.c b/src/sprite.c index c1fc89777..fd824494b 100644 --- a/src/sprite.c +++ b/src/sprite.c @@ -94,17 +94,17 @@ typedef void (*AffineAnimCmdFunc)(u8 matrixNum, struct Sprite *); #define DUMMY_OAM_DATA \ { \ 160, /* Y (off-screen) */ \ - 0, \ - 0, \ - 0, \ - 0, \ - 0, \ + ST_OAM_AFFINE_OFF, \ + ST_OAM_OBJ_NORMAL, \ + FALSE, \ + ST_OAM_4BPP, \ + ST_OAM_SQUARE, \ 304, /* X */ \ 0, \ - 0, \ - 0, \ + ST_OAM_SIZE_0, \ + 0x000, \ 3, /* lowest priority */ \ - 0, \ + 0x0, \ 0 \ } @@ -250,47 +250,47 @@ static const AffineAnimCmdFunc sAffineAnimCmdFuncs[] = AffineAnimCmd_frame, }; -static const s32 sUnknown_082EC6F4[3][4][2] = +static const s32 sOamDimensionsCopy[3][4][2] = { - { - {8, 8}, - {0x10, 0x10}, - {0x20, 0x20}, - {0x40, 0x40}, + [ST_OAM_SQUARE] = { + [ST_OAM_SIZE_0] = { 8, 8}, // SPRITE_SIZE_8x8 + [ST_OAM_SIZE_1] = {16, 16}, // SPRITE_SIZE_16x16 + [ST_OAM_SIZE_2] = {32, 32}, // SPRITE_SIZE_32x32 + [ST_OAM_SIZE_3] = {64, 64}, // SPRITE_SIZE_64x64 }, - { - {0x10, 8}, - {0x20, 8}, - {0x20, 0x10}, - {0x40, 0x20}, + [ST_OAM_H_RECTANGLE] = { + [ST_OAM_SIZE_0] = {16, 8}, // SPRITE_SIZE_16x8 + [ST_OAM_SIZE_1] = {32, 8}, // SPRITE_SIZE_32x8 + [ST_OAM_SIZE_2] = {32, 16}, // SPRITE_SIZE_32x16 + [ST_OAM_SIZE_3] = {64, 32}, // SPRITE_SIZE_64x32 }, - { - {8, 0x10}, - {8, 0x20}, - {0x10, 0x20}, - {0x20, 0x40}, + [ST_OAM_V_RECTANGLE] = { + [ST_OAM_SIZE_0] = { 8, 16}, // SPRITE_SIZE_8x16 + [ST_OAM_SIZE_1] = { 8, 32}, // SPRITE_SIZE_8x32 + [ST_OAM_SIZE_2] = {16, 32}, // SPRITE_SIZE_16x32 + [ST_OAM_SIZE_3] = {32, 64}, // SPRITE_SIZE_32x64 }, }; static const struct OamDimensions sOamDimensions[3][4] = { - { // square - { 8, 8 }, - { 16, 16 }, - { 32, 32 }, - { 64, 64 }, + [ST_OAM_SQUARE] = { + [ST_OAM_SIZE_0] = { 8, 8}, // SPRITE_SIZE_8x8 + [ST_OAM_SIZE_1] = {16, 16}, // SPRITE_SIZE_16x16 + [ST_OAM_SIZE_2] = {32, 32}, // SPRITE_SIZE_32x32 + [ST_OAM_SIZE_3] = {64, 64}, // SPRITE_SIZE_64x64 }, - { // horizontal rectangle - { 16, 8 }, - { 32, 8 }, - { 32, 16 }, - { 64, 32 }, + [ST_OAM_H_RECTANGLE] = { + [ST_OAM_SIZE_0] = {16, 8}, // SPRITE_SIZE_16x8 + [ST_OAM_SIZE_1] = {32, 8}, // SPRITE_SIZE_32x8 + [ST_OAM_SIZE_2] = {32, 16}, // SPRITE_SIZE_32x16 + [ST_OAM_SIZE_3] = {64, 32}, // SPRITE_SIZE_64x32 }, - { // vertical rectangle - { 8, 16 }, - { 8, 32 }, - { 16, 32 }, - { 32, 64 }, + [ST_OAM_V_RECTANGLE] = { + [ST_OAM_SIZE_0] = { 8, 16}, // SPRITE_SIZE_8x16 + [ST_OAM_SIZE_1] = { 8, 32}, // SPRITE_SIZE_8x32 + [ST_OAM_SIZE_2] = {16, 32}, // SPRITE_SIZE_16x32 + [ST_OAM_SIZE_3] = {32, 64}, // SPRITE_SIZE_32x64 }, }; @@ -1222,43 +1222,43 @@ u8 GetSpriteMatrixNum(struct Sprite *sprite) return matrixNum; } -void sub_8007FFC(struct Sprite* sprite, s16 a2, s16 a3) +void obj_pos2_update_enable(struct Sprite* sprite, s16 xmod, s16 ymod) { - sprite->data[6] = a2; - sprite->data[7] = a3; + sprite->data[6] = xmod; + sprite->data[7] = ymod; sprite->flags_f = 1; } -s32 sub_800800C(s32 a0, s32 a1, s32 a2) +static s32 affine_get_new_pos2(s32 baseDim, s32 xformed, s32 modifier) { - s32 subResult, var1; + s32 subResult, shiftResult; - subResult = a1 - a0; + subResult = xformed - baseDim; if (subResult < 0) - var1 = -(subResult) >> 9; + shiftResult = -(subResult) >> 9; else - var1 = -(subResult >> 9); - return a2 - ((u32)(a2 * a1) / (u32)(a0) + var1); + shiftResult = -(subResult >> 9); + return modifier - ((u32)(modifier * xformed) / (u32)(baseDim) + shiftResult); } -void obj_update_pos2(struct Sprite *sprite, s32 a1, s32 a2) +static void obj_update_pos2(struct Sprite *sprite, s32 xmod, s32 ymod) { - s32 var0, var1, var2; + s32 dim, baseDim, xFormed; u32 matrixNum = sprite->oam.matrixNum; - if (a1 != 0x800) + if (xmod != 0x800) { - var0 = sUnknown_082EC6F4[sprite->oam.shape][sprite->oam.size][0]; - var1 = var0 << 8; - var2 = (var0 << 16) / gOamMatrices[matrixNum].a; - sprite->pos2.x = sub_800800C(var1, var2, a1); + dim = sOamDimensionsCopy[sprite->oam.shape][sprite->oam.size][0]; + baseDim = dim << 8; + xFormed = (dim << 16) / gOamMatrices[matrixNum].a; + sprite->pos2.x = affine_get_new_pos2(baseDim, xFormed, xmod); } - if (a2 != 0x800) + if (ymod != 0x800) { - var0 = sUnknown_082EC6F4[sprite->oam.shape][sprite->oam.size][1]; - var1 = var0 << 8; - var2 = (var0 << 16) / gOamMatrices[matrixNum].d; - sprite->pos2.y = sub_800800C(var1, var2, a2); + dim = sOamDimensionsCopy[sprite->oam.shape][sprite->oam.size][1]; + baseDim = dim << 8; + xFormed = (dim << 16) / gOamMatrices[matrixNum].d; + sprite->pos2.y = affine_get_new_pos2(baseDim, xFormed, ymod); } } diff --git a/src/ss_anne.c b/src/ss_anne.c index 401f4e235..df04d8c66 100644 --- a/src/ss_anne.c +++ b/src/ss_anne.c @@ -79,7 +79,7 @@ static const struct SpriteTemplate sSmokeSpriteTemplate = { SmokeSpriteCallback }; -void Special_SSAnneDepartureCutscene(void) +void DoSSAnneDepartureCutscene(void) { u8 taskId; diff --git a/src/start_menu.c b/src/start_menu.c index b159f0375..867e469e0 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -23,7 +23,7 @@ #include "field_fadetransition.h" #include "field_player_avatar.h" #include "new_menu_helpers.h" -#include "event_object_80688E4.h" +#include "event_object_movement.h" #include "event_object_lock.h" #include "script.h" #include "sound.h" @@ -39,6 +39,7 @@ #include "help_system.h" #include "constants/songs.h" #include "constants/flags.h" +#include "constants/field_weather.h" enum StartMenuOption { @@ -446,7 +447,7 @@ static void StartMenu_FadeScreenIfLeavingOverworld(void) && sStartMenuCallback != StartMenuSafariZoneRetireCallback) { StopPokemonLeagueLightingEffectTask(); - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); } } @@ -562,8 +563,8 @@ static bool8 StartMenuLinkPlayerCallback(void) static bool8 StartCB_Save1(void) { - HelpSystem_BackupSomeVariable(); - HelpSystem_SetSomeVariable2(12); + BackupHelpContext(); + SetHelpContext(HELPCONTEXT_SAVE); StartMenu_PrepareForSave(); sStartMenuCallback = StartCB_Save2; return FALSE; @@ -579,19 +580,19 @@ static bool8 StartCB_Save2(void) ClearDialogWindowAndFrameToTransparent(0, TRUE); sub_80696C0(); ScriptContext2_Disable(); - HelpSystem_RestoreSomeVariable(); + RestoreHelpContext(); return TRUE; case SAVECB_RETURN_CANCEL: ClearDialogWindowAndFrameToTransparent(0, FALSE); DrawStartMenuInOneGo(); - HelpSystem_RestoreSomeVariable(); + RestoreHelpContext(); sStartMenuCallback = StartCB_HandleInput; break; case SAVECB_RETURN_ERROR: ClearDialogWindowAndFrameToTransparent(0, TRUE); sub_80696C0(); ScriptContext2_Disable(); - HelpSystem_RestoreSomeVariable(); + RestoreHelpContext(); return TRUE; } return FALSE; @@ -614,8 +615,8 @@ static u8 RunSaveDialogCB(void) void Field_AskSaveTheGame(void) { - HelpSystem_BackupSomeVariable(); - HelpSystem_SetSomeVariable2(12); + BackupHelpContext(); + SetHelpContext(HELPCONTEXT_SAVE); StartMenu_PrepareForSave(); CreateTask(task50_save_game, 80); } @@ -645,7 +646,7 @@ static void task50_save_game(u8 taskId) } DestroyTask(taskId); EnableBothScriptContexts(); - HelpSystem_RestoreSomeVariable(); + RestoreHelpContext(); } static void CloseSaveMessageWindow(void) diff --git a/src/strings.c b/src/strings.c new file mode 100644 index 000000000..f5040838a --- /dev/null +++ b/src/strings.c @@ -0,0 +1,1335 @@ +#include "global.h" +#include "strings.h" + +const u8 gExpandedPlaceholder_Empty[] = _(""); +const u8 gExpandedPlaceholder_Kun[] = _(""); +const u8 gExpandedPlaceholder_Chan[] = _(""); +const u8 gExpandedPlaceholder_Sapphire[] = _("SAPPHIRE"); +const u8 gExpandedPlaceholder_Ruby[] = _("RUBY"); +const u8 gExpandedPlaceholder_Aqua[] = _("AQUA"); +const u8 gExpandedPlaceholder_Magma[] = _("MAGMA"); +const u8 gExpandedPlaceholder_Archie[] = _("ARCHIE"); +const u8 gExpandedPlaceholder_Maxie[] = _("MAXIE"); +const u8 gExpandedPlaceholder_Kyogre[] = _("KYOGRE"); +const u8 gExpandedPlaceholder_Groudon[] = _("GROUDON"); +const u8 gExpandedPlaceholder_Red[] = _("RED"); +const u8 gExpandedPlaceholder_Green[] = _("GREEN"); +const u8 gText_EggNickname[] = _("EGG"); +const u8 gStartMenuText_Pokemon[] = _("POKéMON"); +const u8 gText_NewGame[] = _("NEW GAME"); +const u8 gText_Continue[] = _("CONTINUE"); +const u8 gTextJP_Options[] = _("せっていを かえる"); +const u8 gUnusedText_MysteryGift[] = _("MYSTERY GIFT"); +const u8 gText_MysteryGift[] = _("MYSTERY GIFT"); +const u8 gText_WirelessAdapterIsNotConnected[] = _("The Wireless Adapter is not\nconnected."); +const u8 gText_MysteryGiftCantBeUsedWhileWirelessAdapterIsAttached[] = _("MYSTERY GIFT can't be used while\nthe Wireless Adapter is attached."); +const u8 gUnknown_8415B0E[] = _("がいぶデ-タにより レポ-トを こうしんします\nしばらく おまちください"); +const u8 gUnknown_8415B33[] = _("レポ-トが こうしんされました!"); +const u8 gUnknown_8415B44[] = _("レポ-トが こうしんされました!\pこれいじょう\nレポ-トが かききれないので\lバックアップカ-トリッジを\lこうかんしてください!\pくわしくは\nにんてんどう サ-ビスセンタ- まで\lおといあわせ ください"); +const u8 gUnknown_8415BAA[] = _("レポ-トの こうしんは\nしっぱいしました!\pバックアップカ-トリッジを\nこうかんしてください!\pくわしくは\nにんてんどう サ-ビスセンタ- まで\lおといあわせ ください"); +const u8 gText_SaveFileCorruptedPrevWillBeLoaded[] = _("The save file is corrupted.\pThe previous save file will be\nloaded."); +const u8 gText_SaveFileHasBeenDeleted[] = _("The save file has been\ndeleted..."); +const u8 gText_1MSubCircuitBoardNotInstalled[] = _("The 1M sub-circuit board is\nnot installed."); +const u8 gTextJP_InternalBatteryHasRunDry[] = _("でんちぎれの ために\nとけいが うごかなくなりました\pとけいに かんけいする できごとは おきませんが\nゲ-ムを つづけて あそぶことは できます"); +const u8 gUnknown_8415CD9[] = _("しゅじんこう"); +const u8 gUnknown_8415CE0[] = _("ポケモンずかん"); +const u8 gText_MainMenuTime[] = _("TIME"); +const u8 gUnknown_8415CED[] = _("もっているバッジ"); +const u8 gUnknown_8415CF6[] = _("Aボタン"); +const u8 gUnknown_8415CFB[] = _("Bボタン"); +const u8 gUnknown_8415D00[] = _("Rボタン"); +const u8 gUnknown_8415D05[] = _("Lボタン"); +const u8 gUnknown_8415D0A[] = _("スタ-トボタン"); +const u8 gUnknown_8415D12[] = _("セレクトボタン"); +const u8 gUnknown_8415D1A[] = _("じゅうじボタン"); +const u8 gUnknown_8415D22[] = _("Lボタン Rボタン"); +const u8 gText_Controls[] = _("CONTROLS"); +ALIGNED(4) const u8 gUnknown_8415D38[] = _("{DPAD_UPDOWN}えらぶ {A_BUTTON}けってい"); +ALIGNED(4) const u8 gText_ABUTTONNext[] = _("{A_BUTTON}NEXT"); +ALIGNED(4) const u8 gText_ABUTTONNext_BBUTTONBack[] = _("{A_BUTTON}NEXT {B_BUTTON}BACK"); +ALIGNED(4) const u8 gText_UPDOWNPick_ABUTTONNext_BBUTTONBack[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}NEXT {B_BUTTON}CANCEL"); +ALIGNED(4) const u8 gText_UPDOWNPick_ABUTTONBBUTTONCancel[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}{B_BUTTON}CANCEL"); +ALIGNED(4) const u8 gText_ABUTTONExit[] = _("{A_BUTTON}EXIT"); +const u8 gText_Boy[] = _("BOY"); +const u8 gText_Girl[] = _("GIRL"); +const u8 gUnknown_8415D9C[] = _("POKéDEX TABLE OF CONTENTS"); +const u8 gUnknown_8415DB8[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK"); +const u8 gUnknown_8415DC4[] = _("Seen:"); +const u8 gUnknown_8415DCA[] = _("Owned:"); +const u8 gUnknown_8415DD1[] = _("KANTO"); +const u8 gUnknown_8415DD7[] = _("NATIONAL"); +const u8 gUnknown_8415DE0[] = _("{COLOR WHITE2}{SHADOW LIGHT_BLUE}POKéMON HABITATS"); +const u8 gText_DexCategory_GrasslandPkmn[] = _("Grassland POKéMON"); +const u8 gText_DexCategory_ForestPkmn[] = _("Forest POKéMON"); +const u8 gText_DexCategory_WatersEdgePkmn[] = _("Water's-edge POKéMON"); +const u8 gText_DexCategory_SeaPkmn[] = _("Sea POKéMON"); +const u8 gText_DexCategory_CavePkmn[] = _("Cave POKéMON"); +const u8 gText_DexCategory_MountainPkmn[] = _("Mountain POKéMON"); +const u8 gText_DexCategory_RoughTerrainPkmn[] = _("Rough-terrain POKéMON"); +const u8 gText_DexCategory_UrbanPkmn[] = _("Urban POKéMON"); +const u8 gText_DexCategory_RarePkmn[] = _("Rare POKéMON"); +const u8 gUnknown_8415E88[] = _("{COLOR WHITE2}{SHADOW LIGHT_BLUE}SEARCH"); +const u8 gUnknown_8415E95[] = _("NUMERICAL MODE"); +const u8 gUnknown_8415EA4[] = _("A TO Z MODE"); +const u8 gUnknown_8415EB0[] = _("{COLOR WHITE2}{SHADOW LIGHT_BLUE}OTHER"); +const u8 gUnknown_8415EBC[] = _("ずかんの つかいかた"); +const u8 gUnknown_8415EC7[] = _("CLOSE POKéDEX"); +const u8 gUnknown_8415ED5[] = _("TYPE MODE"); +const u8 gUnknown_8415EDF[] = _("LIGHTEST MODE"); +const u8 gUnknown_8415EED[] = _("SMALLEST MODE"); +const u8 gUnknown_8415EFB[] = _("{COLOR WHITE2}{SHADOW LIGHT_BLUE}POKéMON LIST"); +const u8 gUnknown_8415F0E[] = _("NUMERICAL MODE: KANTO"); +const u8 gUnknown_8415F24[] = _("NUMERICAL MODE: NATIONAL"); +const u8 gUnknown_8415F3D[] = _("POKéMON LIST"); +const u8 gUnknown_8415F4A[] = _("SEARCH"); +const u8 gText_PickOKExit[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK {B_BUTTON}CANCEL"); +const u8 gUnknown_8415F66[] = _("-----"); +const u8 gUnknown_8415F6C[] = _("{DPAD_LEFTRIGHT}PICK{PLUS}FLIP PAGE {A_BUTTON}CHECK {B_BUTTON}CANCEL"); +const u8 gUnknown_8415F8F[] = _(" POKéMON"); +const u8 gUnknown_8415F98[] = _("HT"); +const u8 gUnknown_8415F9B[] = _("WT"); +const u8 gUnknown_8415F9E[] = _("”"); +const u8 gUnknown_8415FA0[] = _("lbs."); +const u8 gUnknown_8415FA5[] = _("ポケモンデ-タ"); +const u8 gUnknown_8415FAD[] = _("{START_BUTTON}CRY"); +const u8 gUnknown_8415FB3[] = _("{A_BUTTON}NEXT DATA {B_BUTTON}CANCEL"); +const u8 gUnknown_8415FC8[] = _("{A_BUTTON}NEXT"); +const u8 gUnknown_8415FCF[] = _("{A_BUTTON}CANCEL {B_BUTTON}PREVIOUS DATA"); +const u8 gUnknown_8415FE8[] = _("AREA"); +const u8 gUnknown_8415FED[] = _("SIZE"); +const u8 gUnknown_8415FF2[] = _("AREA UNKNOWN"); +const u8 gUnknown_8415FFF[] = _("{NO}"); +const u8 gUnknown_8416002[] = _("PAGE"); +ALIGNED(4) const u8 gText_WelcomeToHOF[] = _("Welcome to the HALL OF FAME!"); +ALIGNED(4) const u8 gUnknown_8416028[] = _("みつけた ポケモン {STR_VAR_1}!\nつかまえた ポケモン {STR_VAR_2}!\pオダマキはかせの\nポケモンずかん ひょうか!\pオダマキ“どれどれ\p"); +ALIGNED(4) const u8 gUnknown_8416068[] = _("ここまでの レポ-トを かきしるしています!\nでんげんを きらないでください"); +ALIGNED(4) const u8 gText_HOFCorrupted[] = _("The HALL OF FAME data is\ncorrupted."); +const u8 gText_HOFNumber[] = _("HALL OF FAME No. {STR_VAR_1}"); +const u8 gText_LeagueChamp[] = _("LEAGUE CHAMPION!\nCONGRATULATIONS!"); +ALIGNED(4) const u8 gText_Number[] = _("No. "); +ALIGNED(4) const u8 gText_Level[] = _("Lv. "); +ALIGNED(4) const u8 gText_Name[] = _("NAME"); +ALIGNED(4) const u8 gText_IDNumber[] = _("IDNo."); +const u8 gUnknown_841610A[] = _("{HIGHLIGHT WHITE2}{COLOR DARK_GREY}オダマキはかせが ピンチだ!\nポケモンを だして たすけてあげよう!"); +const u8 gUnknown_8416133[] = _("{HIGHLIGHT WHITE2}{COLOR DARK_GREY}このポケモンにしますか?"); +const u8 gUnknown_8416146[] = _("ポケモン"); +const u8 gText_SaveError_PleaseExchangeBackupMemory[] = _("Save error.\pPlease exchange the\nbackup memory."); +const u8 gSaveStatName_Player[] = _("PLAYER"); +const u8 gSaveStatName_Badges[] = _("BADGES"); +const u8 gSaveStatName_Pokedex[] = _("POKéDEX"); +const u8 gSaveStatName_Time[] = _("TIME"); +const u8 gUnknown_8416195[] = _("どこへ とびますか?"); +const u8 gOtherText_Use[] = _("USE"); +const u8 gOtherText_Toss[] = _("TOSS"); +const u8 gOtherText_Register[] = _("REGISTER"); +const u8 gOtherText_Give[] = _("GIVE"); +const u8 gUnknown_84161B7[] = _("けってい"); +const u8 gOtherText_Walk[] = _("WALK"); +const u8 gFameCheckerText_Cancel[] = _("CANCEL"); +const u8 gOtherText_Exit[] = _("EXIT"); +const u8 gString_Dummy[] = _(""); +const u8 gUnknown_84161CE[] = _("キャンセル"); +const u8 gText_Item[] = _("ITEM"); +const u8 gText_Mail[] = _("MAIL"); +const u8 gText_Take[] = _("TAKE"); +const u8 gText_Store[] = _("STORE"); +const u8 gOtherText_Check[] = _("CHECK"); +const u8 gUnknown_84161EF[] = _("NONE"); +const u8 gOtherText_Open[] = _("OPEN"); +const u8 gOtherText_Deselect[] = _("DESELECT"); +const u8 gUnknown_8416202[] = _("???"); +const u8 gUnknown_8416206[] = _("?????"); +const u8 gText_Slash[] = _("/"); +const u8 gUnknown_841620E[] = _("-"); +const u8 gUnknown_8416210[] = _("--"); +const u8 gText_ThreeHyphens[] = _("---"); +const u8 gText_SevenHyphens[] = _("-------"); +const u8 gText_MaleSymbol[] = _("♂"); +const u8 gText_FemaleSymbol[] = _("♀"); +const u8 gText_Lv[] = _("{LV_2}"); +const u8 gOtherText_UnkF9_08_Clear_01[] = _("{NO}{CLEAR 0x01}"); +const u8 gUnknown_841622C[] = _("{PLUS}"); +const u8 gUnknown_841622F[] = _("{ESCAPE 0x03}"); +const u8 gUnknown_8416233[] = _("{ID}{NO}"); +const u8 gUnknown_8416238[] = _("{PP}"); +const u8 gText_SelectorArrow2[] = _("▶"); +const u8 gUnknown_841623D[] = _("YES\nNO"); +const u8 gText_GoBackToThePreviousMenu[] = _("Go back to the\nprevious menu."); +const u8 gText_WhatWouldYouLikeToDo[] = _("What would you like to do?"); +const u8 gStartMenuText_Pokedex[] = _("POKéDEX"); +const u8 gStartMenuText_Bag[] = _("BAG"); +const u8 gUnknown_8416289[] = _("ポケナビ"); +const u8 gStartMenuText_Player[] = _("{PLAYER}"); +const u8 gStartMenuText_Save[] = _("SAVE"); +const u8 gStartMenuText_Option[] = _("OPTION"); +const u8 gStartMenuText_Exit[] = _("EXIT"); +const u8 gStartMenuText_Retire[] = _("RETIRE"); +const u8 gUnknown_84162A9[] = _("{STR_VAR_1}/{STR_VAR_2}\nBALLS {STR_VAR_3}"); +const u8 gText_TimesStrVar1[] = _("×{STR_VAR_1}"); +const u8 gUnknown_84162BD[] = _(" BERRY"); +const u8 gText_Coins[] = _("{STR_VAR_1} COINS"); +const u8 gText_Items2[] = _("ITEMS"); +const u8 gText_PokeBalls2[] = _("POKé BALLS"); +const u8 gText_KeyItems2[] = _("KEY ITEMS"); +const u8 gText_DepositItem[] = _("DEPOSIT ITEM"); +const u8 gText_CloseBag[] = _("CLOSE BAG"); +const u8 gText_Var1IsSelected[] = _("{STR_VAR_1} is\nselected."); +const u8 gText_CantWriteMailHere[] = _("You can't write\nMAIL here."); +const u8 gText_ThereIsNoPokemon[] = _("There is no\nPOKéMON."); +const u8 gOtherText_WhereShouldTheStrVar1BePlaced[] = _("Where should the {STR_VAR_1}\nbe placed?"); +const u8 gText_ItemCantBeHeld[] = _("The {STR_VAR_1} can't be held."); +const u8 gText_TheStrVar1CantBeHeldHere[] = _("The {STR_VAR_1} can't be held\nhere."); +const u8 gText_DepositHowManyStrVars1[] = _("Deposit how many\n{STR_VAR_1}(s)?"); +const u8 gText_DepositedStrVar2StrVar1s[] = _("Deposited {STR_VAR_2}\n{STR_VAR_1}(s)."); +const u8 gText_NoRoomToStoreItems[] = _("There's no room to\nstore items."); +const u8 gText_TossOutHowManyStrVar1s[] = _("Toss out how many\n{STR_VAR_1}(s)?"); +const u8 gText_ThrewAwayStrVar2StrVar1s[] = _("Threw away {STR_VAR_2}\n{STR_VAR_1}(s)."); +const u8 gText_ThrowAwayStrVar2OfThisItemQM[] = _("Throw away {STR_VAR_2} of\nthis item?"); +const u8 gUnknown_8416425[] = _("OAK: {PLAYER}!\nThis isn't the time to use that!{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_8416451[] = _("You can't dismount your BIKE here.{PAUSE_UNTIL_PRESS}"); +const u8 gText_ItemfinderResponding[] = _("Huh?\nThe ITEMFINDER's responding!\pThere's an item buried around here!{PAUSE_UNTIL_PRESS}"); +const u8 gText_ItemfinderShakingWildly[] = _("Oh!\nThe ITEMFINDER's shaking wildly!\pThere's an item buried underfoot!\p‥ ‥ ‥ ‥ ‥ ‥{PAUSE_UNTIL_PRESS}"); +const u8 gText_NopeTheresNoResponse[] = _("‥ ‥ ‥ ‥Nope!\nThere's no response.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_8416537[] = _("Your COINS:\n{STR_VAR_1}{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_8416548[] = _("わざマシンを きどうした!"); +const u8 gUnknown_8416556[] = _("ひでんマシンを きどうした!"); +const u8 gUnknown_8416565[] = _("なかには {STR_VAR_1}が\nきろくされていた!\p{STR_VAR_1}を\nポケモンに おぼえさせますか?"); +const u8 gUnknown_841658C[] = _("{PLAYER} used the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_841659E[] = _("But the effects of a REPEL\nlingered from earlier.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_84165D2[] = _("{PLAYER} used the\n{STR_VAR_2}.\pWild POKéMON will be lured.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_8416600[] = _("{PLAYER} used the\n{STR_VAR_2}.\pWild POKéMON will be repelled.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_8416631[] = _("The BOX is full.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_8416644[] = _("POWDER QTY: {STR_VAR_1}{PAUSE_UNTIL_PRESS}"); +const u8 gOtherText_Powder[] = _("POWDER"); +const u8 gUnknown_841665C[] = _("Played the POKé FLUTE.\pNow, that's a catchy tune!{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_8416690[] = _("Played the POKé FLUTE."); +const u8 gUnknown_84166A7[] = _("The POKé FLUTE awakened sleeping\nPOKéMON.{PAUSE_UNTIL_PRESS}"); +const u8 gText_TMCase[] = _("TM CASE"); +const u8 gText_Close[] = _("CLOSE"); +const u8 gText_TMCaseWillBePutAway[] = _("The TM CASE will be\nput away."); +const u8 gText_FontSize0[] = _("{SIZE 0}"); +const u8 gText_FontSize2[] = _("{SIZE 2}"); +const u8 gUnknown_8416707[] = _(" "); +const u8 gText_BerryPouch[] = _("BERRY POUCH"); +const u8 gText_TheBerryPouchWillBePutAway[] = _("The BERRY POUCH will be\nput away."); +const u8 gText_ShopBuy[] = _("BUY"); +const u8 gText_ShopSell[] = _("SELL"); +const u8 gText_ShopQuit[] = _("SEE YA!"); +const u8 gText_InBagVar1[] = _("IN BAG:{SMALL} {STR_VAR_1}"); +const u8 gText_QuitShopping[] = _("Quit shopping."); +const u8 gText_Var1CertainlyHowMany[] = _("{STR_VAR_1}? Certainly.\nHow many would you like?"); +const u8 gText_Var1AndYouWantedVar2[] = _("{STR_VAR_1}, and you want {STR_VAR_2}.\nThat will be ¥{STR_VAR_3}. Okay?"); +const u8 gUnknown_84167BB[] = _("{STR_VAR_1} だね!\n{STR_VAR_2}¥ だけど かうかい?"); +const u8 gUnknown_84167D0[] = _("{STR_VAR_1} ですね!\n{STR_VAR_2}¥ だけど かいますか?"); +const u8 gText_HereYouGoThankYou[] = _("Here you are!\nThank you!"); +const u8 gUnknown_8416800[] = _("どうも ありがとう!\nじたくの パソコンに おくって おきますね!"); +const u8 gUnknown_8416822[] = _("どうも ありがとう!\nじたくの パソコンに おくって おくね!"); +const u8 gText_YouDontHaveMoney[] = _("You don't have enough money.{PAUSE_UNTIL_PRESS}"); +const u8 gText_NoMoreRoomForThis[] = _("You have no more room for this\nitem.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_8416888[] = _("{STR_VAR_1}を\nいれる ばしょが いっぱいです{PAUSE_UNTIL_PRESS}"); +const u8 gText_CanIHelpWithAnythingElse[] = _("Is there anything else I can do?"); +const u8 gUnknown_84168BF[] = _("その ほかに\nなにか ちからに なれることは?"); +const u8 gUnknown_84168D7[] = _("プレミアボ-ル 1コ\nおまけ しておきますね!{PAUSE_UNTIL_PRESS}"); +const u8 gText_OhNoICantBuyThat[] = _("{STR_VAR_1}? Oh, no.\nI can't buy that.{PAUSE_UNTIL_PRESS}"); +const u8 gText_HowManyWouldYouLikeToSell[] = _("{STR_VAR_1}?\nHow many would you like to sell?"); +const u8 gText_ICanPayThisMuch_WouldThatBeOkay[] = _("I can pay ¥{STR_VAR_3}.\nWould that be okay?"); +const u8 gText_TurnedOverItemsWorthYen[] = _("Turned over the {STR_VAR_1}シSス\nworth ¥{STR_VAR_3}."); +const u8 gText_PokedollarVar1[] = _("¥{STR_VAR_1}"); +const u8 gText_Shift[] = _("SHIFT"); +const u8 gText_SendOut[] = _("SEND OUT"); +const u8 gText_Switch2[] = _("SWITCH"); +const u8 gText_Summary5[] = _("SUMMARY"); +const u8 gUnknown_841699C[] = _("つかえるわざ"); +const u8 gText_Enter[] = _("ENTER"); +const u8 gText_NoEntry[] = _("NO ENTRY"); +const u8 gText_Take2[] = _("TAKE"); +const u8 gText_Read2[] = _("READ"); +const u8 gText_Trade4[] = _("TRADE"); +const u8 gText_HP3[] = _("HP"); +const u8 gText_SpAtk3[] = _("SP. ATK"); +const u8 gText_SpDef3[] = _("SP. DEF"); +const u8 gMenuText_Confirm[] = _("OK"); +const u8 gUnknown_84169D8[] = _(""); +const u8 gText_PauseUntilPress[] = _("{PAUSE_UNTIL_PRESS}"); +const u8 gText_WontHaveEffect[] = _("It won't have any effect.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_84169F8[] = _("This can't be used on\nthat POKéMON.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnCantSwitchOut[] = _("{STR_VAR_1} can't be switched\nout!{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnAlreadyInBattle[] = _("{STR_VAR_1} is already\nin battle!{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnAlreadySelected[] = _("{STR_VAR_1} has already been\nselected.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnHasNoEnergy[] = _("{STR_VAR_1} has no energy\nleft to battle!{PAUSE_UNTIL_PRESS}"); +const u8 gText_CantSwitchWithAlly[] = _("You can't switch {STR_VAR_1}'s\nPOKéMON with one of yours!{PAUSE_UNTIL_PRESS}"); +const u8 gText_EggCantBattle[] = _("An EGG can't battle!{PAUSE_UNTIL_PRESS}"); +const u8 gText_CantUseUntilNewBadge[] = _("This can't be used until a new\nBADGE is obtained.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_8416B16[] = _("No more than three POKéMON\nmay enter.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_8416B3E[] = _("No more than two POKéMON\nmay enter.{PAUSE_UNTIL_PRESS}"); +const u8 gText_SendMailToPC[] = _("Send the removed MAIL to\nyour PC?"); +const u8 gText_MailSentToPC[] = _("The MAIL was sent to your PC.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PCMailboxFull[] = _("Your PC's MAILBOX is full.{PAUSE_UNTIL_PRESS}"); +const u8 gText_MailMessageWillBeLost[] = _("If the MAIL is removed, the\nmessage will be lost. Okay?"); +const u8 gText_RemoveMailBeforeItem[] = _("MAIL must be removed before\nholding an item.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnWasGivenItem[] = _("{STR_VAR_1} was given the\n{STR_VAR_2} to hold.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnAlreadyHoldingItemSwitch[] = _("{STR_VAR_1} is already holding\none {STR_VAR_2}.\pWould you like to switch the\ntwo items?"); +const u8 gText_PkmnNotHolding[] = _("{STR_VAR_1} isn't holding\nanything.{PAUSE_UNTIL_PRESS}"); +const u8 gText_ReceivedItemFromPkmn[] = _("Received the {STR_VAR_2}\nfrom {STR_VAR_1}.{PAUSE_UNTIL_PRESS}"); +const u8 gText_MailTakenFromPkmn[] = _("MAIL was taken from the\nPOKéMON.{PAUSE_UNTIL_PRESS}"); +const u8 gText_SwitchedPkmnItem[] = _("The {STR_VAR_2} was taken and\nreplaced with the {STR_VAR_1}.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnHoldingItemCantHoldMail[] = _("This POKéMON is holding an\nitem. It cannot hold MAIL.{PAUSE_UNTIL_PRESS}"); +const u8 gText_MailTransferredFromMailbox[] = _("MAIL was transferred from\nthe MAILBOX.{PAUSE_UNTIL_PRESS}"); +const u8 gText_BagFullCouldNotRemoveItem[] = _("The {STR_VAR_1} is full. The POKéMON's\nitem could not be removed.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnLearnedMove3[] = _("{STR_VAR_1} learned\n{STR_VAR_2}!"); +const u8 gText_PkmnCantLearnMove[] = _("{STR_VAR_1} and {STR_VAR_2}\nare not compatible.\p{STR_VAR_2} can't be\nlearned.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnNeedsToReplaceMove[] = _("{STR_VAR_1} wants to learn the\nmove {STR_VAR_2}.\pHowever, {STR_VAR_1} already\nknows four moves.\pShould a move be deleted and\nreplaced with {STR_VAR_2}?"); +const u8 gText_StopLearningMove2[] = _("Stop trying to teach\n{STR_VAR_2}?"); +const u8 gText_MoveNotLearned[] = _("{STR_VAR_1} did not learn the\nmove {STR_VAR_2}.{PAUSE_UNTIL_PRESS}"); +const u8 gText_WhichMoveToForget[] = _("Which move should be forgotten?{PAUSE_UNTIL_PRESS}"); +const u8 gText_12PoofForgotMove[] = _("1, {PAUSE 0x0F}2, and{PAUSE 0x0F}‥ {PAUSE 0x0F}‥ {PAUSE 0x0F}‥ {PAUSE 0x0F}{PLAY_SE SE_KON}Poof!\p{STR_VAR_1} forgot how to\nuse {STR_VAR_2}.\pAnd...{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnAlreadyKnows[] = _("{STR_VAR_1} already knows\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnHPRestoredByVar2[] = _("{STR_VAR_1}'s HP was restored\nby {STR_VAR_2} point(s).{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnCuredOfPoison[] = _("{STR_VAR_1} was cured of its\npoisoning.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnCuredOfParalysis[] = _("{STR_VAR_1} was cured of\nparalysis.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnWokeUp2[] = _("{STR_VAR_1} woke up.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnBurnHealed[] = _("{STR_VAR_1}'s burn was healed.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnThawedOut[] = _("{STR_VAR_1} was thawed out.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PPWasRestored[] = _("PP was restored.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_8416FDA[] = _("{STR_VAR_1}は\nげんきを とりもどした!{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnBecameHealthy[] = _("{STR_VAR_1} became healthy.{PAUSE_UNTIL_PRESS}"); +const u8 gText_MovesPPIncreased[] = _("{STR_VAR_1}'s PP increased.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnElevatedToLvVar2[] = _("{STR_VAR_1} was elevated to\nLv. {STR_VAR_2}."); +const u8 gText_PkmnBaseVar2StatIncreased[] = _("{STR_VAR_1}'s base {STR_VAR_2}\nstat was raised.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnSnappedOutOfConfusion[] = _("{STR_VAR_1} snapped out of its\nconfusion.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnGotOverInfatuation[] = _("{STR_VAR_1} got over its\ninfatuation.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_8417094[] = _("That's your only\nPOKéMON for battle."); +ALIGNED(4) const u8 gText_PkmnCantBeTradedNow[] = _("That POKéMON can't be traded\nnow."); +ALIGNED(4) const u8 gText_EggCantBeTradedNow[] = _("An EGG can't be traded now."); +ALIGNED(4) const u8 gText_OtherTrainersPkmnCantBeTraded[] = _("The other TRAINER's POKéMON\ncan't be traded now."); +ALIGNED(4) const u8 gText_OtherTrainerCantAcceptPkmn[] = _("The other TRAINER can't accept\nthat POKéMON now."); +ALIGNED(4) const u8 gText_CantTradeWithTrainer[] = _("You can't trade with that\nTRAINER now."); +ALIGNED(4) const u8 gText_NotPkmnOtherTrainerWants[] = _("That isn't the type of POKéMON\nthat the other TRAINER wants."); +ALIGNED(4) const u8 gText_ThatIsntAnEgg[] = _("That isn't an EGG."); +const u8 gText_ChoosePokemon[] = _("Choose a POKéMON."); +const u8 gText_MoveToWhere[] = _("Move to where?"); +const u8 gText_TeachWhichPokemon[] = _("Teach which POKéMON?"); +const u8 gText_UseOnWhichPokemon[] = _("Use on which POKéMON?"); +const u8 gText_GiveToWhichPokemon[] = _("Give to which POKéMON?"); +const u8 gText_DoWhatWithPokemon[] = _("Do what with this {PKMN}?"); +const u8 gText_NothingToCut[] = _("There's nothing to CUT."); +const u8 gText_CantSurfHere[] = _("No SURFING here!"); +const u8 gText_AlreadySurfing[] = _("You're already SURFING."); +const u8 gText_CantUseHere[] = _("Can't use that here."); +const u8 gText_RestoreWhichMove[] = _("Restore which move?"); +const u8 gText_BoostPp[] = _("Boost PP of which?"); +const u8 gText_DoWhatWithItem[] = _("Do what with an item?"); +const u8 gText_NoPokemonForBattle[] = _("No battling this way!"); +const u8 gText_ChoosePokemon2[] = _("Choose a POKéMON."); +const u8 gText_NotEnoughHp[] = _("Not enough HP‥"); +const u8 gText_ThreePkmnAreNeeded[] = _("Three {PKMN} are needed."); +const u8 gText_PokemonCantBeSame[] = _("{PKMN} can't be the same."); +const u8 gText_NoIdenticalHoldItems[] = _("No same hold items!"); +const u8 gText_CurrentIsTooFast[] = _("The current is much too fast!"); +const u8 gText_DoWhatWithMail[] = _("Do what with the MAIL?"); +const u8 gText_ChoosePokemonCancel[] = _("Choose POKéMON or CANCEL."); +const u8 gText_ChoosePokemonConfirm[] = _("Choose POKéMON and confirm."); +const u8 gText_TwoPokemonAreNeeded[] = _("Two POKéMON are needed."); +const u8 gText_EnjoyCycling[] = _("Let's enjoy cycling!"); +const u8 gText_InUseAlready_PM[] = _("This is in use already."); +const u8 gText_NoUse[] = _("No use."); +const u8 gText_Able[] = _("ABLE"); +const u8 gText_First_PM[] = _("FIRST"); +const u8 gText_Second_PM[] = _("SECOND"); +const u8 gText_Third_PM[] = _("THIRD"); +const u8 gText_Able2[] = _("ABLE"); +const u8 gText_NotAble[] = _("NOT ABLE"); +const u8 gText_Able3[] = _("ABLE!"); +const u8 gText_NotAble2[] = _("NOT ABLE!"); +const u8 gText_Learned[] = _("LEARNED"); +const u8 gUnknown_8417457[] = _("OAK: It's important to get to know\nyour POKéMON thoroughly.\p"); +const u8 gUnknown_8417494[] = _("This is a list of your POKéMON,\n{PLAYER}.\pOpen this to check the skills\nand moves of your POKéMON.\pYou also choose POKéMON here if\nyou want to use an item on one.{PAUSE_UNTIL_PRESS}"); +const u8 gText_CutATreeOrGrass[] = _("Cut a tree or grass."); +const u8 gText_FlyToAKnownTown[] = _("Fly to a known town."); +const u8 gText_TravelOnWater[] = _("Travel on water."); +const u8 gText_MoveHeavyBoulders[] = _("Move heavy boulders."); +const u8 gText_LightUpDarkness[] = _("Light up darkness."); +const u8 gText_ShatterACrackedRock[] = _("Shatter a cracked rock."); +const u8 gText_ClimbAWaterfall[] = _("Climb a waterfall."); +const u8 gUnknown_84175C1[] = _("すいちゅうに もぐる"); +const u8 gText_EscapeFromHere[] = _("Escape from here."); +const u8 gText_LureWildPokemon[] = _("Lure wild POKéMON."); +const u8 gText_ShareHp[] = _("Share HP."); +const u8 gText_ReturnToAHealingSpot[] = _("Return to a healing spot."); +const u8 gText_EscapeFromHereAndReturnTo[] = _("Want to escape from here and return\nto {STR_VAR_1}?"); +const u8 gText_ReturnToHealingSpot[] = _("Want to return to the healing spot\nused last in {STR_VAR_1}?"); +const u8 gText_Attack3[] = _("ATTACK"); +const u8 gText_Defense3[] = _("DEFENSE"); +const u8 gUnknown_8417683[] = _("とくこう"); +const u8 gUnknown_8417688[] = _("とくぼう"); +const u8 gText_Speed2[] = _("SPEED"); +const u8 gUnknown_8417693[] = _("HP"); +const u8 gText_PkmnCantParticipate[] = _("That POKéMON can't participate.{PAUSE_UNTIL_PRESS}"); +const u8 gText_CancelParticipation[] = _("Cancel participation?"); +const u8 gUnknown_84176CE[] = _(""); +const u8 gUnknown_84176CF[] = _("Cancel the battle?"); +const u8 gText_TurnOff[] = _("TURN OFF"); +const u8 gUnknown_84176EB[] = _("もようがえ"); +const u8 gText_ItemStorage[] = _("ITEM STORAGE"); +const u8 gText_Mailbox[] = _("MAILBOX"); +const u8 gText_DepositItem2[] = _("DEPOSIT ITEM"); +const u8 gText_WithdrawItem2[] = _("WITHDRAW ITEM"); +const u8 gUnknown_8417721[] = _("どうぐを すてる"); +const u8 gText_StoreItemsInThePC[] = _("Store items in the PC."); +const u8 gText_TakeOutItemsFromThePC[] = _("Take out items from the PC."); +const u8 gUnknown_841775D[] = _("パソコンに あずけている\nどうぐを すてます"); +const u8 gText_ThereAreNoItems[] = _("There are no items.{PAUSE_UNTIL_PRESS}"); +const u8 gText_NoMoreRoomInBag[] = _("There is no more\nroom in the BAG."); +const u8 gText_WithdrawHowMany[] = _("Withdraw how many\n{STR_VAR_1}(s)?"); +const u8 gText_WithdrewQuantItem[] = _("Withdrew {STR_VAR_2}\n{STR_VAR_1}(s)."); +const u8 gOtherText_Read[] = _("READ"); +const u8 gOtherText_MoveToBag[] = _("MOVE TO BAG"); +const u8 gOtherText_Give2[] = _("GIVE"); +const u8 gText_TheresNoMailHere[] = _("There's no MAIL here.{PAUSE_UNTIL_PRESS}"); +const u8 gText_WhatWouldYouLikeToDoWithPlayersMail[] = _("What would you like to do with\n{STR_VAR_1}'s MAIL?"); +const u8 gText_MessageWillBeLost[] = _("The message will be lost.\nIs that okay?"); +const u8 gText_BagIsFull[] = _("The BAG is full.{PAUSE_UNTIL_PRESS}"); +const u8 gText_MailReturnedToBagMessageErased[] = _("The MAIL was returned to the BAG\nwith its message erased.{PAUSE_UNTIL_PRESS}"); +const u8 gText_WithdrawItem[] = _("WITHDRAW\nITEM"); +const u8 gText_Withdraw[] = _("WITHDRAW"); +const u8 gText_ReturnToPC[] = _("Return to the PC."); +const u8 gText_LtSurge[] = _("LT. SURGE"); +const u8 gText_Koga[] = _("KOGA"); +const u8 gUnknown_84178DF[] = _("さんか する"); +const u8 gText_Info[] = _("INFO"); +const u8 gText_Eggs[] = _("EGGS"); +const u8 gText_HallOfFame[] = _("HALL OF FAME"); +const u8 gText_Victories[] = _("VICTORIES"); +const u8 gText_Quit[] = _("QUIT"); +const u8 gText_Psn[] = _("PSN"); +const u8 gText_Par[] = _("PAR"); +const u8 gText_Slp[] = _("SLP"); +const u8 gText_Brn[] = _("BRN"); +const u8 gText_Frz[] = _("FRZ"); +const u8 gUnknown_8417920[] = _("TOXIC"); +const u8 gUnknown_8417926[] = _("OK"); +const u8 gOtherText_Quit[] = _("QUIT"); +const u8 gUnknown_841792E[] = _("みました"); +const u8 gUnknown_8417933[] = _("これから"); +const u8 gText_Yes[] = _("YES"); +const u8 gText_No[] = _("NO"); +const u8 gUnknown_841793F[] = _("せつめい"); +const u8 gText_SingleBattle[] = _("SINGLE BATTLE"); +const u8 gText_DoubleBattle[] = _("DOUBLE BATTLE"); +const u8 gText_MultiBattle[] = _("MULTI BATTLE"); +const u8 gText_MakeAChallenge[] = _("Make a challenge."); +const u8 gText_Info_2[] = _("INFO"); +const u8 gText_FreshWater_200[] = _("FRESH WATER{CLEAR_TO 0x57}{SMALL}¥200"); +const u8 gText_SodaPop_300[] = _("SODA POP{CLEAR_TO 0x57}{SMALL}¥300"); +const u8 gText_Lemonade_350[] = _("LEMONADE{CLEAR_TO 0x57}{SMALL}¥350"); +const u8 gText_50Coins_1000[] = _("{SMALL} 50 COINS{CLEAR_TO 0x45}¥1,000"); +const u8 gText_500Coins_10000[] = _("{SMALL}500 COINS{CLEAR_TO 0x40}¥10,000"); +const u8 gText_Excellent[] = _("Excellent"); +const u8 gText_NotSoBad[] = _("Not so bad"); +const u8 gText_RedShard[] = _("RED SHARD"); +const u8 gText_YellowShard[] = _("YELLOW SHARD"); +const u8 gText_BlueShard[] = _("BLUE SHARD"); +const u8 gText_GreenShard[] = _("GREEN SHARD"); +const u8 gUnknown_8417A30[] = _("バトルタワ-"); +const u8 gText_Right[] = _("Right"); +const u8 gText_Left[] = _("Left"); +const u8 gText_Tm13_4000Coins[] = _("TM13{CLEAR_TO 0x48}{SMALL}4,000 COINS"); +const u8 gText_Tm23_3500Coins[] = _("TM23{CLEAR_TO 0x48}{SMALL}3,500 COINS"); +const u8 gText_Tm24_4000Coins[] = _("TM24{CLEAR_TO 0x48}{SMALL}4,000 COINS"); +const u8 gText_Tm30_4500Coins[] = _("TM30{CLEAR_TO 0x48}{SMALL}4,500 COINS"); +const u8 gText_Tm35_4000Coins[] = _("TM35{CLEAR_TO 0x48}{SMALL}4,000 COINS"); +const u8 gText_1F_2[] = _("1F"); +const u8 gText_2F_2[] = _("2F"); +const u8 gText_3F_2[] = _("3F"); +const u8 gText_4F_2[] = _("4F"); +const u8 gText_5F_2[] = _("5F"); +const u8 gText_Cool[] = _("COOL"); +const u8 gText_Beauty[] = _("BEAUTY"); +const u8 gText_Cute[] = _("CUTE"); +const u8 gText_Smart[] = _("SMART"); +const u8 gText_Tough[] = _("TOUGH"); +const u8 gText_Normal[] = _("NORMAL"); +const u8 gText_Black[] = _("BLACK"); +const u8 gText_Pink[] = _("PINK"); +const u8 gText_Sepia[] = _("SEPIA"); +const u8 gText_Cool_2[] = _("COOL"); +const u8 gText_Beauty_2[] = _("BEAUTY"); +const u8 gText_Cute_2[] = _("CUTE"); +const u8 gText_Smart_2[] = _("SMART"); +const u8 gText_Tough_2[] = _("TOUGH"); +const u8 gText_Items[] = _("ITEMS"); +const u8 gText_KeyItems[] = _("KEY ITEMS"); +const u8 gText_PokeBalls[] = _("POKé BALLS"); +const u8 gText_TMsAndHMs[] = _("TMs & HMs"); +const u8 gText_Berries[] = _("BERRIES"); +const u8 gText_Boulderbadge[] = _("BOULDERBADGE"); +const u8 gText_Cascadebadge[] = _("CASCADEBADGE"); +const u8 gText_Thunderbadge[] = _("THUNDERBADGE"); +const u8 gText_Rainbowbadge[] = _("RAINBOWBADGE"); +const u8 gText_Soulbadge[] = _("SOULBADGE"); +const u8 gText_Marshbadge[] = _("MARSHBADGE"); +const u8 gText_Volcanobadge[] = _("VOLCANOBADGE"); +const u8 gText_Earthbadge[] = _("EARTHBADGE"); +const u8 gText_SomeoneSPc[] = _("SOMEONE'S PC"); +const u8 gText_BillSPc[] = _("BILL'S PC"); +const u8 gText_SPc[] = _("{PLAYER}'s PC"); +const u8 gText_HallOfFame_2[] = _("HALL OF FAME"); +const u8 gText_LogOff[] = _("LOG OFF"); +const u8 gText_ProfOakSPc[] = _("PROF. OAK's PC"); +const u8 gText_Eevee[] = _("EEVEE"); +const u8 gText_Flareon[] = _("FLAREON"); +const u8 gText_Jolteon[] = _("JOLTEON"); +const u8 gText_Vaporeon[] = _("VAPOREON"); +const u8 gText_QuitLooking[] = _("Quit looking."); +const u8 gText_FreshWater[] = _("FRESH WATER"); +const u8 gText_SodaPop[] = _("SODA POP"); +const u8 gText_Lemonade[] = _("LEMONADE"); +const u8 gText_Coins_2[] = _("COINS"); +const u8 gText_Bicycle_1000000[] = _("BICYCLE{CLEAR_TO 0x49}{SMALL}¥1,000,000"); +const u8 gText_NoThanks[] = _("NO THANKS"); +const u8 gText_Abra_180Coins[] = _("ABRA{CLEAR_TO 0x55}{SMALL} 180 COINS"); +const u8 gText_Clefairy_500Coins[] = _("CLEFAIRY{CLEAR_TO 0x55}{SMALL} 500 COINS"); +const u8 gText_Dratini_2800Coins[] = _("DRATINI{CLEAR_TO 0x4B}{SMALL} 2,800 COINS"); +const u8 gText_Scyther_5500Coins[] = _("SCYTHER{CLEAR_TO 0x4B}{SMALL} 5,500 COINS"); +const u8 gText_Porygon_9999Coins[] = _("PORYGON{CLEAR_TO 0x4B}{SMALL} 9,999 COINS"); +const u8 gText_Abra_120Coins[] = _("ABRA{CLEAR_TO 0x55}{SMALL} 120 COINS"); +const u8 gText_Clefairy_750Coins[] = _("CLEFAIRY{CLEAR_TO 0x55}{SMALL} 750 COINS"); +const u8 gText_Pinsir_2500Coins[] = _("PINSIR{CLEAR_TO 0x4B}{SMALL} 2,500 COINS"); +const u8 gText_Dratini_4600Coins[] = _("DRATINI{CLEAR_TO 0x4B}{SMALL} 4,600 COINS"); +const u8 gText_Porygon_6500Coins[] = _("PORYGON{CLEAR_TO 0x4B}{SMALL} 6,500 COINS"); +const u8 gText_NoThanks_2[] = _("NO THANKS"); +const u8 gText_HelixFossil[] = _("HELIX FOSSIL"); +const u8 gText_DomeFossil[] = _("DOME FOSSIL"); +const u8 gText_OldAmber[] = _("OLD AMBER"); +const u8 gText_TradeCenter[] = _("TRADE CENTER"); +const u8 gText_Colosseum[] = _("COLOSSEUM"); +const u8 gText_GameLinkCable[] = _("Game Link cable"); +const u8 gText_Wireless[] = _("Wireless"); +const u8 gText_ItemsPocket[] = _("ITEMS POCKET"); +const u8 gText_KeyItemsPocket[] = _("KEY ITEMS POCKET"); +const u8 gText_PokeBallsPocket[] = _("POKé BALLS POCKET"); +const u8 gText_TmCase[] = _("TM CASE"); +const u8 gText_BerryPouch_2[] = _("BERRY POUCH"); +const u8 gText_Other[] = _("OTHER"); +const u8 gText_OneIsland[] = _("ONE ISLAND"); +const u8 gText_TwoIsland[] = _("TWO ISLAND"); +const u8 gText_ThreeIsland[] = _("THREE ISLAND"); +const u8 gText_FourIsland[] = _("FOUR ISLAND"); +const u8 gText_FiveIsland[] = _("FIVE ISLAND"); +const u8 gText_SixIsland[] = _("SIX ISLAND"); +const u8 gText_SevenIsland[] = _("SEVEN ISLAND"); +const u8 gText_Vermilion[] = _("VERMILION"); +const u8 gText_Colosseum_2[] = _("COLOSSEUM"); +const u8 gText_BerryCrush[] = _("BERRY CRUSH"); +const u8 gText_Dummy_8417E66[] = _(""); +const u8 gText_Dummy_8417E67[] = _(""); +const u8 gUnknown_8417E68[] = _("せつめいを きく"); +const u8 gText_Dummy_8417E71[] = _(""); +const u8 gText_PokemonJump[] = _("POKéMON JUMP"); +const u8 gText_DodrioBerryPicking[] = _("DODRIO BERRY-PICKING"); +const u8 gText_2Tinymushrooms[] = _("2 TINYMUSHROOMS"); +const u8 gText_1BigMushroom[] = _("1 BIG MUSHROOM"); +const u8 gText_SeviiIslands[] = _("SEVII ISLANDS"); +const u8 gText_NavelRock[] = _("NAVEL ROCK"); +const u8 gText_BirthIsland[] = _("BIRTH ISLAND"); +const u8 gText_MiracleSeed_1000Coins[] = _("MIRACLE SEED{CLEAR_TO 0x50}{SMALL}1,000 COINS"); +const u8 gText_Charcoal_1000Coins[] = _("CHARCOAL{CLEAR_TO 0x50}{SMALL}1,000 COINS"); +const u8 gText_MysticWater_1000Coins[] = _("MYSTIC WATER{CLEAR_TO 0x50}{SMALL}1,000 COINS"); +const u8 gText_YellowFlute_1600Coins[] = _("YELLOW FLUTE{CLEAR_TO 0x50}{SMALL}1,600 COINS"); +const u8 gText_SmokeBall_800Coins[] = _("SMOKE BALL{CLEAR_TO 0x5A}{SMALL}800 COINS"); +const u8 gText_Dummy_8417F67[] = _(""); +const u8 gText_Dummy_8417F68[] = _(""); +const u8 gText_BecomeLeader[] = _("BECOME LEADER"); +const u8 gText_JoinGroup[] = _("JOIN GROUP"); +const u8 gOtherText_Single[] = _("SINGLE"); +const u8 gOtherText_Double[] = _("DOUBLE"); +const u8 gOtherText_Knockout[] = _("KNOCKOUT"); +const u8 gOtherText_Mixed[] = _("MIXED"); +const u8 gUnknown_8417F9F[] = _("99かい いじょう"); +const u8 gUnknown_8417FA9[] = _("1ぷん いじょう"); +const u8 gUnknown_8417FB2[] = _("びょう"); +const u8 gUnknown_8417FB6[] = _("かい"); +const u8 gText_DecimalPoint[] = _("."); +const u8 gText_BigGuy[] = _("Big guy"); +const u8 gText_BigGirl[] = _("Big girl"); +const u8 gText_Daughter[] = _("son"); +const u8 gText_Son[] = _("daughter"); +const u8 gText_BoulderBadge[] = _("BOULDERBADGE"); +const u8 gText_CascadeBadge[] = _("CASCADEBADGE"); +const u8 gText_ThunderBadge[] = _("THUNDERBADGE"); +const u8 gText_RainbowBadge[] = _("RAINBOWBADGE"); +const u8 gText_SoulBadge[] = _("SOULBADGE"); +const u8 gText_MarshBadge[] = _("MARSHBADGE"); +const u8 gText_VolcanoBadge[] = _("VOLCANOBADGE"); +const u8 gText_EarthBadge[] = _("EARTHBADGE"); +const u8 gText_1F[] = _("1F"); +const u8 gText_2F[] = _("2F"); +const u8 gText_3F[] = _("3F"); +const u8 gText_4F[] = _("4F"); +const u8 gText_5F[] = _("5F"); +const u8 gText_6F[] = _("6F"); +const u8 gText_7F[] = _("7F"); +const u8 gText_8F[] = _("8F"); +const u8 gText_9F[] = _("9F"); +const u8 gText_10F[] = _("10F"); +const u8 gText_11F[] = _("11F"); +const u8 gText_B1F[] = _("B1F"); +const u8 gText_B2F[] = _("B2F"); +const u8 gText_B3F[] = _("B3F"); +const u8 gText_B4F[] = _("B4F"); +const u8 gText_Rooftop[] = _("ROOFTOP"); +const u8 gText_NowOn[] = _("Now on:"); +const u8 gText_LinkedGamePlay[] = _("LINKED GAME PLAY"); +const u8 gText_DirectCorner[] = _("DIRECT CORNER"); +const u8 gText_UnionRoom[] = _("UNION ROOM"); +const u8 gText_Energypowder_50[] = _("ENERGYPOWDER{CLEAR_TO 0x74}{SMALL}50"); +const u8 gText_EnergyRoot_80[] = _("ENERGY ROOT{CLEAR_TO 0x74}{SMALL}80"); +const u8 gText_HealPowder_50[] = _("HEAL POWDER{CLEAR_TO 0x74}{SMALL}50"); +const u8 gText_RevivalHerb_300[] = _("REVIVAL HERB{CLEAR_TO 0x6F}{SMALL}300"); +const u8 gText_Protein_1000[] = _("PROTEIN{CLEAR_TO 0x65}{SMALL}1,000"); +const u8 gText_Iron_1000[] = _("IRON{CLEAR_TO 0x65}{SMALL}1,000"); +const u8 gText_Carbos_1000[] = _("CARBOS{CLEAR_TO 0x65}{SMALL}1,000"); +const u8 gText_Calcium_1000[] = _("CALCIUM{CLEAR_TO 0x65}{SMALL}1,000"); +const u8 gText_Zinc_1000[] = _("ZINC{CLEAR_TO 0x65}{SMALL}1,000"); +const u8 gText_HpUp_1000[] = _("HP UP{CLEAR_TO 0x65}{SMALL}1,000"); +const u8 gText_PpUp_3000[] = _("PP UP{CLEAR_TO 0x65}{SMALL}3,000"); +const u8 gString_BattleRecords_PlayersBattleResults[] = _("{PLAYER}'s BATTLE RESULTS"); +const u8 gString_BattleRecords_TotalRecord[] = _("TOTAL RECORD W:{STR_VAR_1} L:{STR_VAR_2} D:{STR_VAR_3}"); +const u8 gString_BattleRecords_ColumnHeaders[] = _("WIN{CLEAR_TO 0x30}LOSE{CLEAR_TO 0x60}DRAW"); +const u8 gString_BattleRecords_7Dashes[] = _("-------"); +const u8 gString_BattleRecords_4Dashes[] = _("----"); +const u8 gFameCheckerText_FameCheckerWillBeClosed[] = _("The FAME CHECKER will be closed."); +const u8 gFameCheckerText_ClearTextbox[] = _("\n "); +const u8 gUnknown_8418204[] = _("やめる"); +const u8 gUnknown_8418208[] = _("Exit from the BOX."); +const u8 gUnknown_841821B[] = _("What do you want to do?"); +const u8 gUnknown_8418233[] = _("Please pick a theme."); +const u8 gUnknown_8418248[] = _("Pick the wallpaper."); +const u8 gUnknown_841825C[] = _("{DYNAMIC 0x00} is selected."); +const u8 gUnknown_841826C[] = _("Jump to which BOX?"); +const u8 gUnknown_841827F[] = _("Deposit in which BOX?"); +const u8 gUnknown_8418295[] = _("{DYNAMIC 0x00} was deposited."); +const u8 gUnknown_84182A7[] = _("The BOX is full."); +const u8 gUnknown_84182B8[] = _("Release this POKéMON?"); +const u8 gUnknown_84182CE[] = _("{DYNAMIC 0x00} was released."); +const u8 gUnknown_84182DF[] = _("Bye-bye, {DYNAMIC 0x00}!"); +const u8 gUnknown_84182EC[] = _("Mark your POKéMON."); +const u8 gUnknown_84182FF[] = _("That's your last POKéMON!"); +const u8 gUnknown_8418319[] = _("Your party's full!"); +const u8 gUnknown_841832C[] = _("You're holding a POKéMON!"); +const u8 gUnknown_8418346[] = _("Which one will you take?"); +const u8 gUnknown_841835F[] = _("You can't release an EGG."); +const u8 gUnknown_8418379[] = _("Continue BOX operations?"); +const u8 gUnknown_8418392[] = _("{DYNAMIC 0x00} came back!"); +const u8 gUnknown_84183A0[] = _("Was it worried about you?"); +const u8 gUnknown_84183BA[] = _("‥ ‥ ‥ ‥ ‥!"); +const u8 gUnknown_84183C5[] = _("Please remove the MAIL."); +const u8 gUnknown_84183DD[] = _("GIVE to a POKéMON?"); +const u8 gUnknown_84183F0[] = _("Placed item in the BAG."); +const u8 gUnknown_8418408[] = _("The BAG is full."); +const u8 gUnknown_8418419[] = _("Put this item in the BAG?"); +const u8 gUnknown_8418433[] = _("{DYNAMIC 0x00} is now held."); +const u8 gUnknown_8418443[] = _("Changed to {DYNAMIC 0x00}."); +const u8 gUnknown_8418452[] = _("MAIL can't be stored!"); +const u8 gUnknown_8418468[] = _("CANCEL"); +const u8 gUnknown_841846F[] = _("STORE"); +const u8 gUnknown_8418475[] = _("WITHDRAW"); +const u8 gUnknown_841847E[] = _("SHIFT"); +const u8 gUnknown_8418484[] = _("MOVE"); +const u8 gUnknown_8418489[] = _("PLACE"); +const u8 gUnknown_841848F[] = _("SUMMARY"); +const u8 gUnknown_8418497[] = _("RELEASE"); +const u8 gUnknown_841849F[] = _("MARK"); +const u8 gUnknown_84184A4[] = _("NAME"); +const u8 gUnknown_84184A9[] = _("JUMP"); +const u8 gUnknown_84184AE[] = _("WALLPAPER"); +const u8 gUnknown_84184B8[] = _("TAKE"); +const u8 gUnknown_84184BD[] = _("GIVE"); +const u8 gUnknown_84184C2[] = _("SWITCH"); +const u8 gUnknown_84184C9[] = _("BAG"); +const u8 gUnknown_84184CD[] = _("INFO"); +const u8 gUnknown_84184D2[] = _("SCENERY 1"); +const u8 gUnknown_84184DC[] = _("SCENERY 2"); +const u8 gUnknown_84184E6[] = _("SCENERY 3"); +const u8 gUnknown_84184F0[] = _("ETCETERA"); +const u8 gUnknown_84184F9[] = _("FOREST"); +const u8 gUnknown_8418500[] = _("CITY"); +const u8 gUnknown_8418505[] = _("DESERT"); +const u8 gUnknown_841850C[] = _("SAVANNA"); +const u8 gUnknown_8418514[] = _("CRAG"); +const u8 gUnknown_8418519[] = _("VOLCANO"); +const u8 gUnknown_8418521[] = _("SNOW"); +const u8 gUnknown_8418526[] = _("CAVE"); +const u8 gUnknown_841852B[] = _("BEACH"); +const u8 gUnknown_8418531[] = _("SEAFLOOR"); +const u8 gUnknown_841853A[] = _("RIVER"); +const u8 gUnknown_8418540[] = _("SKY"); +const u8 gUnknown_8418544[] = _("STARS"); +const u8 gUnknown_841854A[] = _("POKéCENTER"); +const u8 gUnknown_8418555[] = _("TILES"); +const u8 gUnknown_841855B[] = _("SIMPLE"); +const u8 gUnknown_8418562[] = _("なにを しますか?"); +const u8 gUnknown_841856C[] = _("WITHDRAW POKéMON"); +const u8 gUnknown_841857D[] = _("DEPOSIT POKéMON"); +const u8 gUnknown_841858D[] = _("MOVE POKéMON"); +const u8 gUnknown_841859A[] = _("MOVE ITEMS"); +const u8 gUnknown_84185A5[] = _("SEE YA!"); +const u8 gUnknown_84185AD[] = _("You can withdraw a POKéMON if you\nhave any in a BOX."); +const u8 gUnknown_84185E2[] = _("You can deposit your party\nPOKéMON in any BOX."); +const u8 gUnknown_8418611[] = _("You can move POKéMON that are\nstored in any BOX."); +const u8 gUnknown_8418642[] = _("You can move items held by any\nPOKéMON in a BOX or your party."); +const u8 gUnknown_8418681[] = _("See you later!"); +const u8 gUnknown_8418690[] = _("Can't deposit the last POKéMON!"); +const u8 gUnknown_84186B0[] = _("Can't take any more POKéMON."); +const u8 gUnknown_84186CD[] = _("BOX"); +const u8 gUnknown_84186D1[] = _("Combine four words or phrases"); +const u8 gUnknown_84186EF[] = _("and make your profile."); +const u8 gUnknown_8418706[] = _("Make a message of six phrases."); +const u8 gUnknown_8418725[] = _("Max two 12-letter phrases/line."); +const u8 gUnknown_8418745[] = _("Find words that describe your"); +const u8 gUnknown_8418763[] = _("feelings right now."); +const u8 gUnknown_8418777[] = _("4つの ことばで"); +const u8 gUnknown_8418780[] = _("Combine nine words or phrases"); +const u8 gUnknown_841879E[] = _("and make a message."); +const u8 gUnknown_84187B2[] = _("Change just one word or phrase"); +const u8 gUnknown_84187D1[] = _("and improve the BARD's song."); +const u8 gUnknown_84187EE[] = _("and fill out the questionnaire."); +const u8 gUnknown_841880E[] = _("Your profile"); +const u8 gUnknown_841881B[] = _("Your feeling at the battle's start"); +const u8 gUnknown_841883E[] = _("What you say if you win a battle"); +const u8 gUnknown_841885F[] = _("What you say if you lose a battle"); +const u8 gUnknown_8418881[] = _("The answer"); +const u8 gUnknown_841888C[] = _("The MAIL message"); +const u8 gUnknown_841889D[] = _("はがきに のせる あいさつは"); +const u8 gUnknown_84188AC[] = _("The new song"); +const u8 gUnknown_84188B9[] = _("Combine two words or phrases"); +const u8 gUnknown_84188D6[] = _("and make a trendy saying."); +const u8 gUnknown_84188F0[] = _("The trendy saying"); +const u8 gUnknown_8418902[] = _("is as shown. Okay?"); +const u8 gUnknown_8418915[] = _("2つの ことばを くみあわせて"); +const u8 gUnknown_8418925[] = _("いい ことばを おしえてあげよう!"); +const u8 gUnknown_8418937[] = _("All the text being edited will"); +const u8 gUnknown_8418956[] = _("be deleted. Is that okay?"); +const u8 gUnknown_8418970[] = _("なにか ことばを いれてください!"); +const u8 gUnknown_8418982[] = _("ことばを ぜんぶ けすことは できません!"); +const u8 gUnknown_8418998[] = _("かえられる ことばは 1つ までです!"); +const u8 gUnknown_84189AC[] = _("うたを もとに もどします!"); +const u8 gUnknown_84189BB[] = _("それは もう はやっています!"); +const u8 gUnknown_84189CB[] = _("2つの ことばを くみあわせてください!"); +const u8 gUnknown_84189E0[] = _("Quit editing?"); +const u8 gUnknown_84189EE[] = _("Stop giving the POKéMON MAIL?"); +const u8 gUnknown_8418A0C[] = _("へんしゅうした ことばは ほぞん"); +const u8 gUnknown_8418A1D[] = _("されませんが いいですか?"); +const u8 gUnknown_8418A2B[] = _("PROFILE"); +const u8 gUnknown_8418A33[] = _("At the battle's start:"); +const u8 gUnknown_8418A4A[] = _("Upon winning a battle:"); +const u8 gUnknown_8418A61[] = _("Upon losing a battle:"); +const u8 gUnknown_8418A77[] = _("The BARD's Song"); +const u8 gUnknown_8418A87[] = _("What's hip and happening?"); +const u8 gUnknown_8418AA1[] = _("Interview"); +const u8 gUnknown_8418AAB[] = _("いい ことば"); +const u8 gUnknown_8418AB2[] = _("QUESTIONNAIRE"); +const u8 gUnknown_8418AC0[] = _(" きれい だよね-"); +const u8 gUnknown_8418ACA[] = _(" かわいい よね-"); +const u8 gUnknown_8418AD4[] = _(" のんびり だよね-"); +const u8 gUnknown_8418ADF[] = _(" ぽっかぽか だよね-"); +const u8 gUnknown_8418AEB[] = _(" あこがれる よね-"); +const u8 gUnknown_8418AF6[] = _(" ドキドキ するよね-"); +const u8 gUnknown_8418B02[] = _(" おもしろい よね-"); +const u8 gUnknown_8418B0D[] = _(" ふしぎ だよね-"); +const u8 gUnknown_8418B17[] = _("って"); +const u8 gUnknown_8418B1A[] = _("\nそう おもわない?"); +const u8 gUnknown_8418B25[] = _("たびに でたいな-\nどこか いい ところ しらない?"); +const u8 gUnknown_8418B40[] = _("120しょくの クレヨン かったんだ-\nいいでしょう?"); +const u8 gUnknown_8418B5C[] = _("しゃぼんだまに のって とべるように\nならないかな-"); +const u8 gUnknown_8418B77[] = _("すなはまに かいた もじは\nすぐに きえちゃうのが かなしいよね-"); +const u8 gUnknown_8418B99[] = _("うみの そこって どうなってるのかな-\nいちどで いいから みて みたいな-"); +const u8 gUnknown_8418BC0[] = _("ゆうやけを みると\nウチに かえりたく ならない?"); +const u8 gUnknown_8418BDA[] = _("みどりの しばで ねころがると\nきもちいいよね-"); +const u8 gUnknown_8418BF3[] = _("ひみつきち って いいよね!\nなんか わくわく してこない?"); +const u8 gUnknown_8418C12[] = _("ポケモン リ-グ"); +const u8 gText_PokemonCenter[] = _("POKéMON CENTER"); +const u8 gUnknown_8418C2A[] = _("に ポロックを あげますか?"); +const u8 gUnknown_8418C39[] = _("かっこよさ"); +const u8 gUnknown_8418C3F[] = _("うつくしさ"); +const u8 gUnknown_8418C45[] = _("かわいさ"); +const u8 gUnknown_8418C4A[] = _("かしこさ"); +const u8 gUnknown_8418C4F[] = _("たくましさ"); +const u8 gUnknown_8418C55[] = _("に みがきが かかった!"); +const u8 gUnknown_8418C62[] = _("なにも かわらなかった!"); +const u8 gUnknown_8418C6F[] = _("もう これいじょう たべない みたい‥"); +const u8 gText_SaveFailedScreen_CheckingBackupMemory[] = _("Save failed.\nChecking the backup memory‥\nPlease wait.\n“Time required:\nabout 1 minute”"); +const u8 gText_SaveFailedScreen_BackupMemoryDamaged[] = _("The backup memory is damaged or\nthe game's battery has run dry.\nThe game can be played, but its\nprogress cannot be saved.\n“Please press the A Button.”"); +const u8 gUnknown_8418D70[] = _("{COLOR RED}“このまま ぼうけんをつづけることは できません\nタイトルに もどります”"); +const u8 gUnknown_8418D99[] = _("けんさが しゅうりょうしました!\nもういちど レポ-トを かきこみます\nしばらくおまちください"); +const u8 gUnknown_8418DC9[] = _("レポ-トの かきこみは しゅうりょうしました\n{COLOR RED}“このまま ぼうけんをつづけることは できません\nタイトルに もどります”"); +const u8 gText_SaveFailedScreen_SaveCompleted[] = _("Save completed.\n“Please press the A Button.”"); +const u8 gUnknown_8418E36[] = _("れんらくせん"); +const u8 gUnknown_8418E3D[] = _("ひみつきち"); +const u8 gUnknown_8418E43[] = _("アジト"); +const u8 gText_YourName[] = _("YOUR NAME?"); +const u8 gText_BoxName[] = _("BOX NAME?"); +const u8 gText_PkmnsNickname[] = _("'s nickname?"); +const u8 gText_RivalsName[] = _("RIVAL's NAME?"); +const u8 gText_MoveOkBack[] = _("{DPAD_ANY}MOVE {A_BUTTON}OK {B_BUTTON}BACK"); +const u8 gText_AlphabetUpperLower[] = _(""); +const u8 gText_RegionMap_Space[] = _(" "); +const u8 gText_RegionMap_AButtonGuide[] = _("{A_BUTTON}GUIDE"); +const u8 gText_RegionMap_AButtonCancel[] = _("{A_BUTTON}CANCEL"); +const u8 gText_RegionMap_AButtonCancel2[] = _("{A_BUTTON}CANCEL"); +const u8 gText_RegionMap_AButtonSwitch[] = _("{A_BUTTON}SWITCH"); +const u8 gText_RegionMap_AButtonOK[] = _("{A_BUTTON}OK"); +const u8 gText_RegionMap_DPadMove[] = _("{DPAD_ANY}MOVE"); +const u8 gText_RegionMap_UpDownPick[] = _("{DPAD_UPDOWN}PICK"); +const u8 gText_RegionMap_NoData[] = _("No data"); +const u8 gText_RegionMap_AreaDesc_ViridianForest[] = _("A deep and sprawling forest that\nextends around VIRIDIAN CITY.\nA natural maze, many people\nbecome lost inside."); +const u8 gText_RegionMap_AreaDesc_MtMoon[] = _("A mystical mountain that is known\nfor its frequent meteor falls.\nThe shards of stars that fall\nhere are known as MOON STONES."); +const u8 gText_RegionMap_AreaDesc_DiglettsCave[] = _("A seemingly plain tunnel that was\ndug by wild DIGLETT.\nIt is famous for connecting\nROUTES 2 and 11."); +const u8 gText_RegionMap_AreaDesc_VictoryRoad[] = _("A tunnel situated on ROUTE 23.\nIt earned its name because it\nmust be traveled by all TRAINERS\naiming for the top."); +const u8 gText_RegionMap_AreaDesc_PokemonMansion[] = _("A decrepit, burned-down mansion\non CINNABAR ISLAND.\nIt got its name because a famous\nPOKéMON researcher lived there."); +const u8 gText_RegionMap_AreaDesc_SafariZone[] = _("An amusement park outside FUCHSIA\nCITY where many rare POKéMON can\nbe observed in the wild.\nCatch them in a popular game!"); +const u8 gText_RegionMap_AreaDesc_RockTunnel[] = _("A naturally formed underground\ntunnel. Because it has not been\ndeveloped, it is inky dark inside.\nA light is needed to get through."); +const u8 gText_RegionMap_AreaDesc_SeafoamIslands[] = _("A pair of islands that is situated\non ROUTE 20.\nThe two islands are shaped the\nsame, as if they were twins."); +const u8 gText_RegionMap_AreaDesc_PokemonTower[] = _("A tower that houses the graves of\ncountless POKéMON.\nMany people visit it daily to pay\ntheir respects to the fallen."); +const u8 gText_RegionMap_AreaDesc_CeruleanCave[] = _("A mysterious cave that is filled\nwith terribly tough POKéMON.\nIt is so dangerous, the POKéMON\nLEAGUE is in charge of it."); +const u8 gText_RegionMap_AreaDesc_PowerPlant[] = _("A power plant that was abandoned\nyears ago, though some of the\nmachines still work. It is infested\nwith electric POKéMON."); +const u8 gText_RegionMap_AreaDesc_MtEmber[] = _("Supposedly an inactive volcano.\nHowever, there are persistent\nreports that the peak blazes\nwith fire at night."); +const u8 gText_RegionMap_AreaDesc_BerryForest[] = _("A forest on a small islet off the\ncoast of THREE ISLAND. BERRIES\ngrow wildly in profusion, quickly\nreplenishing those that fall off."); +const u8 gText_RegionMap_AreaDesc_IcefallCave[] = _("A cave which is covered by water\nand ice on FOUR ISLAND.\nIt seems like the end of the cave\nis connected to the ocean."); +const u8 gText_RegionMap_AreaDesc_LostCave[] = _("A bewildering cave off the coast\nof RESORT GORGEOUS.\nSome curious thrill seekers have\nnever emerged from it."); +const u8 gText_RegionMap_AreaDesc_TanobyRuins[] = _("An ancient ruin that is rumored to\nbe home to a peculiar POKéMON.\nHowever, so far, the POKéMON\nremains an unconfirmed rumor."); +const u8 gText_RegionMap_AreaDesc_AlteringCave[] = _("This island has been known by this\nname since the distant past.\nNo one today knows where it got\nthis name, however."); +const u8 gText_RegionMap_AreaDesc_PatternBush[] = _("A lush and bush-like area. \nIn it are patterns where no grass\ngrows. Some study it in the belief\nthat a secret is concealed."); +const u8 gText_RegionMap_AreaDesc_DottedHole[] = _("A mysterious, just-discovered\nruin from an ancient time.\nIt got its name from the six dots\non its door."); +const u8 gUnknown_8419782[] = _("{DYNAMIC 0x00} nature.\nMet in a trade."); +const u8 gUnknown_841979D[] = _("{DYNAMIC 0x00} nature.\nMet in a trade."); +const u8 gUnknown_84197B8[] = _("{DYNAMIC 0x00} nature.\nMet in a fateful encounter when\nat {LV_2} {DYNAMIC 0x01}."); +const u8 gUnknown_84197ED[] = _("{DYNAMIC 0x00} nature.\nMet in a fateful encounter when\nat {LV_2} {DYNAMIC 0x01}."); +const u8 gUnknown_8419822[] = _("{DYNAMIC 0x00} nature.\nMet in {DYNAMIC 0x02} at {LV_2} {DYNAMIC 0x01}."); +const u8 gUnknown_8419841[] = _("{DYNAMIC 0x00} nature.\nMet in {DYNAMIC 0x02} at {LV_2} {DYNAMIC 0x01}."); +const u8 gUnknown_8419860[] = _("{DYNAMIC 0x00} nature.\nApparently met in {DYNAMIC 0x02}\nat {LV_2} {DYNAMIC 0x01}."); +const u8 gUnknown_841988A[] = _("{DYNAMIC 0x00} nature.\nApparently met in {DYNAMIC 0x02}\nat {LV_2} {DYNAMIC 0x01}."); +const u8 gUnknown_84198B4[] = _("{DYNAMIC 0x00} nature.\nHatched: {DYNAMIC 0x02}\nat {LV_2} {DYNAMIC 0x01}."); +const u8 gUnknown_84198D5[] = _("{DYNAMIC 0x00} nature.\nHatched: {DYNAMIC 0x02}\nat {LV_2} {DYNAMIC 0x01}."); +const u8 gUnknown_84198F6[] = _("{DYNAMIC 0x00}なせいかく {LV_2}{DYNAMIC 0x01}のとき\n{DYNAMIC 0x02}で かえった ようだ"); +const u8 gUnknown_8419913[] = _("{DYNAMIC 0x00}せいかく {LV_2}{DYNAMIC 0x01}のとき\n{DYNAMIC 0x02}で かえった ようだ"); +const u8 gUnknown_841992F[] = _("{DYNAMIC 0x00} nature. Met in a fateful\nencounter (hatched: {DYNAMIC 0x02}\nat {LV_2} {DYNAMIC 0x01})."); +const u8 gUnknown_841996D[] = _("{DYNAMIC 0x00} nature. Met in a fateful\nencounter (hatched: {DYNAMIC 0x02}\nat {LV_2} {DYNAMIC 0x01})."); +const u8 gUnknown_84199AB[] = _("{DYNAMIC 0x00} nature. Apparently met in\na fateful encounter (hatched:\n{DYNAMIC 0x02} at {LV_2} {DYNAMIC 0x01})."); +const u8 gUnknown_84199F4[] = _("{DYNAMIC 0x00} nature. Apparently met in\na fateful encounter シhatched:\n{DYNAMIC 0x02} at {LV_2} {DYNAMIC 0x01}ス."); +const u8 gUnknown_8419A3D[] = _("An odd POKéMON EGG found by the\nDAY-CARE couple."); +const u8 gUnknown_8419A6E[] = _("An odd POKéMON EGG obtained from\nthe traveling man."); +const u8 gUnknown_8419AA2[] = _("A wondrously peculiar POKéMON EGG\nobtained at a nice place."); +const u8 gUnknown_8419ADE[] = _("An odd POKéMON EGG obtained from\nan old woman at the SPA."); +const u8 gUnknown_8419B18[] = _("A peculiar POKéMON EGG obtained\nin a trade."); +const u8 gUnknown_8419B44[] = _("It looks like this\nEGG will take a\nlong time to hatch."); +const u8 gUnknown_8419B7B[] = _("What will hatch\nfrom this? It will\ntake some time."); +const u8 gUnknown_8419BAE[] = _("It occasionally\nmoves. It should\nhatch soon."); +const u8 gUnknown_8419BDB[] = _("It's making sounds.\nIt's almost ready\nto hatch!"); +const u8 gUnknown_8419C0B[] = _("a trade"); +const u8 gUnknown_8419C13[] = _("Somewhere"); +const u8 gUnknown_8419C1D[] = _("POKéMON INFO"); +const u8 gUnknown_8419C2A[] = _("POKéMON SKILLS"); +const u8 gUnknown_8419C39[] = _("KNOWN MOVES"); +const u8 gUnknown_8419C45[] = _("No data"); +const u8 gUnknown_8419C4D[] = _("EXP. POINTS"); +const u8 gUnknown_8419C59[] = _("NEXT LV."); +const u8 gUnknown_8419C62[] = _("{DPAD_RIGHT}PAGE {A_BUTTON}CANCEL"); +const u8 gUnknown_8419C72[] = _("{A_BUTTON}CANCEL"); +const u8 gUnknown_8419C7B[] = _("{DPAD_LEFTRIGHT}PAGE"); +const u8 gUnknown_8419C82[] = _("{DPAD_LEFT}PAGE {A_BUTTON}DETAIL"); +const u8 gUnknown_8419C92[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}SWITCH"); +const u8 gUnknown_8419CA2[] = _("{DPAD_UPDOWN}PICK"); +const u8 gUnknown_8419CA9[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}DELETE"); +const u8 gUnknown_8419CB9[] = _("HM moves can't be\nforgotten now."); +const u8 gText_TrainerCardName[] = _("NAME: "); +const u8 gText_TrainerCardIDNo[] = _("IDNo."); +const u8 gText_TrainerCardMoney[] = _("MONEY"); +const u8 gText_TrainerCardYen[] = _("¥"); +const u8 gText_TrainerCardPokedex[] = _("POKéDEX"); +const u8 gText_TrainerCardNull[] = _(""); +const u8 gText_Colon2[] = _(":"); +const u8 gUnknown_8419CFA[] = _("てん"); +const u8 gText_TrainerCardTime[] = _("TIME"); +const u8 gUnknown_8419D02[] = _("ゲ-ムポイント"); +const u8 gText_Var1sTrainerCard[] = _("'s TRAINER CARD"); +const u8 gText_HallOfFameDebut[] = _("HALL OF FAME DEBUT "); +const u8 gText_LinkBattles[] = _("LINK BATTLES"); +const u8 gText_LinkCableBattles[] = _("LINK CABLE BATTLES"); +const u8 gText_WinLossRatio[] = _("W:{CLEAR_TO 0x30}L:"); +const u8 gText_PokemonTrades[] = _("POKéMON TRADES"); +const u8 gText_UnionRoomTradesBattles[] = _("UNION TRADES & BATTLES"); +const u8 gText_BerryCrushes[] = _("BERRY CRUSH"); +const u8 gText_WaitingTrainerFinishReading[] = _("Waiting for the other TRAINER to\nfinish reading your TRAINER CARD."); +const u8 gText_MenuOption[] = _("OPTION"); +const u8 gText_TextSpeed[] = _("TEXT SPEED"); +const u8 gText_BattleScene[] = _("BATTLE SCENE"); +const u8 gText_BattleStyle[] = _("BATTLE STYLE"); +const u8 gText_Sound[] = _("SOUND"); +const u8 gText_ButtonMode[] = _("BUTTON MODE"); +const u8 gText_Frame[] = _("FRAME"); +const u8 gText_OptionMenuCancel[] = _("CANCEL"); +const u8 gText_TextSpeedSlow[] = _("SLOW"); +const u8 gText_TextSpeedMid[] = _("MID"); +const u8 gText_TextSpeedFast[] = _("FAST"); +const u8 gText_BattleSceneOn[] = _("ON"); +const u8 gText_BattleSceneOff[] = _("OFF"); +const u8 gText_BattleStyleShift[] = _("SHIFT"); +const u8 gText_BattleStyleSet[] = _("SET"); +const u8 gText_SoundMono[] = _("MONO"); +const u8 gText_SoundStereo[] = _("STEREO"); +const u8 gTextJP_Type[] = _("タイプ"); +const u8 gText_ButtonTypeHelp[] = _("HELP"); +const u8 gText_ButtonTypeLEqualsA[] = _("L=A"); +const u8 gText_ButtonTypeLR[] = _("LR"); +const u8 gText_FrameType[] = _("TYPE"); +const u8 gText_PickSwitchCancel[] = _("{DPAD_UPDOWN}PICK {DPAD_LEFTRIGHT}SWITCH {A_BUTTON}{B_BUTTON}CANCEL"); +const u8 gUnknown_8419E72[] = _("RTCを リセットします\nAで けってい Bで キャンセル"); +const u8 gUnknown_8419E90[] = _("げんざいの ゲ-ムない じかん"); +const u8 gUnknown_8419EA0[] = _("ぜんかいの ゲ-ムない じかん"); +const u8 gUnknown_8419EB0[] = _("じかんを さいせってい してください"); +const u8 gUnknown_8419EC3[] = _("じかんを さいせってい しました!\nレポ-トを かいています おまちください"); +const u8 gUnknown_8419EEA[] = _("レポ-トを かきこみました!"); +const u8 gUnknown_8419EF9[] = _("レポ-トの かきこみに\nしっぱい しました‥"); +const u8 gUnknown_8419F10[] = _("レポ-トが ないので\nじかんの せっていは できません!"); +const u8 gUnknown_8419F2D[] = _("ゲ-ムない じかんの しゅうせい システムが\nつかえる ように なりました!"); +const u8 gText_SavingDontTurnOffThePower2[] = _("SAVING…\nDON'T TURN OFF THE POWER."); + +// Start menu option descriptions +const u8 gStartMenuDesc_Pokedex[] = _("A device that records POKéMON secrets\nupon meeting or catching them."); +const u8 gStartMenuDesc_Pokemon[] = _("Check and organize POKéMON that are\ntraveling with you in your party."); +const u8 gStartMenuDesc_Bag[] = _("Equipped with pockets for storing items\nyou bought, received, or found."); +const u8 gStartMenuDesc_Player[] = _("Check your money and other game data."); +const u8 gStartMenuDesc_Save[] = _("Save your game with a complete record\nof your progress to take a break."); +const u8 gStartMenuDesc_Option[] = _("Adjust various game settings such as text\nspeed, game rules, etc."); +const u8 gStartMenuDesc_Exit[] = _("Close this MENU window."); +const u8 gStartMenuDesc_Retire[] = _("Retire from the SAFARI GAME and return to\nthe registration counter."); + +#include "data/text/quest_log.h" + +const u8 gUnknown_841B285[] = _(" was used on\n"); +const u8 gUnknown_841B293[] = _("."); +const u8 gUnknown_841B295[] = _("'s level rose to\n"); +const u8 gUnknown_841B2A7[] = _("."); +const u8 gUnknown_841B2A9[] = _("{SMALL}MAX.{SIZE 0x02} HP"); +const u8 gUnknown_841B2B7[] = _("ATTACK"); +const u8 gUnknown_841B2BE[] = _("DEFENSE"); +const u8 gUnknown_841B2C6[] = _("SPEED"); +const u8 gUnknown_841B2CC[] = _("SP. ATK"); +const u8 gUnknown_841B2D4[] = _("SP. DEF"); +const u8 gUnknown_841B2DC[] = _("{SMALL}{PLUS}{SIZE 0x02}"); +const u8 gUnknown_841B2E5[] = _("{SMALL}-{SIZE 0x02}"); +const u8 gUnknown_841B2ED[] = _("1, "); +const u8 gUnknown_841B2F1[] = _("2, and ‥ ‥ ‥ "); +const u8 gUnknown_841B2FF[] = _("Poof!\p"); +const u8 gUnknown_841B306[] = _("{DYNAMIC 0x00} forgot\n{DYNAMIC 0x01}.\p"); +const u8 gUnknown_841B315[] = _("And‥\p"); +const u8 gUnknown_841B31B[] = _("Machine set!\p"); +const u8 gUnknown_841B329[] = _("Huh?"); +const u8 gUnknown_841B32E[] = _("{DYNAMIC 0x00} learned\n{DYNAMIC 0x01}!"); +const u8 gText_Upper[] = _("UPPER"); +const u8 gText_Lower[] = _("lower"); +const u8 gText_Others[] = _("OTHERS"); +const u8 gText_Symbols[] = _("SYMBOLS"); +const u8 gText_Register2[] = _("REGISTER"); +const u8 gText_Exit[] = _("EXIT"); +const u8 gText_QuitChatting[] = _("Quit chatting?"); +const u8 gText_RegisterTextWhere[] = _("Register text where?"); +const u8 gText_RegisterTextHere[] = _("Register text here?"); +const u8 gText_InputText[] = _("Input text."); +const u8 gText_F700JoinedChat[] = _("{DYNAMIC 0x00} joined the chat!"); +const u8 gText_F700LeftChat[] = _("{DYNAMIC 0x00} left the chat."); +const u8 gUnknown_841B3D0[] = _("{DYNAMIC 0x00}の{DYNAMIC 0x01}ひきめ:"); +const u8 gUnknown_841B3DA[] = _("{DYNAMIC 0x00}の{DYNAMIC 0x01}ひきめは いません"); +const u8 gText_ExitingTheChat[] = _("Exiting the chat‥"); +const u8 gText_LeaderHasLeftEndingChat[] = _("The LEADER, {DYNAMIC 0x00}, has\nleft, ending the chat."); +const u8 gText_RegisteredTextChanged_OKtoSave[] = _("The registered text has been changed.\nIs it okay to save the game?"); +const u8 gText_RegisteredTextChanged_AlreadySavedFile[] = _("There is already a saved file.\nIs it okay to overwrite it?"); +const u8 gText_RegisteredTextChanged_SavingDontTurnOff[] = _("SAVING‥\nDON'T TURN OFF THE POWER."); +const u8 gText_RegisteredTextChanged_SavedTheGame[] = _("{DYNAMIC 0x00} saved the game."); +const u8 gText_IfLeaderLeavesChatWillEnd[] = _("If the LEADER leaves, the chat\nwill end. Is that okay?"); +const u8 gText_Hello[] = _("HELLO"); +const u8 gText_Pokemon2[] = _("POKéMON"); +const u8 gText_Trade[] = _("TRADE"); +const u8 gText_Battle[] = _("BATTLE"); +const u8 gText_Lets[] = _("LET'S"); +const u8 gText_Ok[] = _("OK!"); +const u8 gText_Sorry[] = _("SORRY"); +const u8 gText_YaySmileEmoji[] = _("YAY{EXTRA 0xF9}"); +const u8 gText_ThankYou[] = _("THANK YOU"); +const u8 gText_ByeBye[] = _("BYE-BYE!"); +const u8 gUnknown_841B554[] = _("{PLAYER} scurried to a POKéMON CENTER,\nprotecting the exhausted and fainted\nPOKéMON from further harm‥\p"); +const u8 gUnknown_841B5B6[] = _("{PLAYER} scurried back home, protecting\nthe exhausted and fainted POKéMON from\nfurther harm‥\p"); +const u8 gUnknown_841B60E[] = _("PLAYER: {DYNAMIC 0x00}"); +const u8 gUnknown_841B619[] = _("This document is issued in\nrecognition of your magnificent\nachievement - the completion of\nthe {DYNAMIC 0x01} POKéDEX."); +const u8 gUnknown_841B684[] = _("GAME FREAK"); +const u8 gUnknown_841B68F[] = _("NATIONAL"); +const u8 gUnknown_841B698[] = _("KANTO"); +const u8 gUnknown_841B69E[] = _("Clear all save data areas?"); +const u8 gUnknown_841B6B9[] = _("Clearing data‥\nPlease wait."); +const u8 gText_Player[] = _("PLAYER"); +const u8 gText_Time[] = _("TIME"); +const u8 gText_Colon[] = _(":"); +const u8 gText_Pokedex[] = _("POKéDEX"); +const u8 gTextJPDummy_Hiki[] = _(""); +const u8 gText_Badges[] = _("BADGES"); +const u8 gTextJPDummy_Ko[] = _(""); +const u8 gText_Register[] = _("REGISTER"); +const u8 gText_HatchedFromEgg[] = _("{STR_VAR_1} hatched from the EGG!"); +const u8 gText_NickHatchPrompt[] = _("Would you like to nickname the newly\nhatched {STR_VAR_1}?"); +const u8 gString_OutOfCoins[] = _("You've run out of COINS.\nGame over!"); +const u8 gString_QuitPlaying[] = _("Quit playing?"); +const u8 gString_SlotMachineControls[] = _("{DPAD_LEFTRIGHT}COMBOS {DPAD_DOWN}WAGER {A_BUTTON}STOP {B_BUTTON}EXIT"); +const u8 gUnknown_841B798[] = _("おしえテレビ"); +const u8 gUnknown_841B79F[] = _("おしまい"); + +#include "data/text/teachy_tv.h" + +const u8 gString_Bill[] = _("BILL"); +const u8 gString_Someone[] = _("SOMEONE"); +const u8 gString_Help[] = _("HELP"); +const u8 gString_HelpSystem_ClearTo8[] = _("{CLEAR_TO 8}"); +const u8 gText_SpacePoints2[] = _(" points"); +const u8 gText_SpaceTimes3[] = _(" time(s)"); +const u8 gText_PkmnJumpRecords[] = _("POKéMON JUMP RECORDS"); +const u8 gText_JumpsInARow[] = _("Jumps in a row:"); +const u8 gText_BestScore2[] = _("Best score:"); +const u8 gText_ExcellentsInARow[] = _("EXCELLENTS in a row:"); +const u8 gText_AwesomeWonF701F700[] = _("Awesome score! You've\nwon {DYNAMIC 01} {DYNAMIC 00}!"); +const u8 gText_FilledStorageSpace2[] = _("There's no room left now."); +const u8 gText_CantHoldMore[] = _("You can't hold any more!"); +const u8 gText_WantToPlayAgain2[] = _("Want to play again?"); +const u8 gText_SomeoneDroppedOut2[] = _("Somebody dropped out.\nThe link will be canceled."); +const u8 gText_SavingDontTurnOffPower[] = _("SAVING…\nDON'T TURN OFF THE POWER."); +const u8 gText_CommunicationStandby4[] = _("Communication standby…"); +const u8 gText_SavingDontTurnOffPower2[] = _("SAVING...\nDON'T TURN OFF THE POWER."); // Unused +const u8 gText_BerryPickingRecords[] = _("DODRIO BERRY-PICKING RECORDS"); +const u8 gText_BerriesPicked[] = _("BERRIES picked:"); +const u8 gText_BestScore[] = _("Best score:"); +const u8 gText_BerriesInRowFivePlayers[] = _("BERRIES picked in a row with\nfive players:"); +const u8 gText_BerryPickingResults[] = _("Announcing BERRY-PICKING results!"); +const u8 gText_10P30P50P50P[] = _("10P 30P 50P {EXTRA 0xDD}50P"); +const u8 gText_AnnouncingRankings[] = _("Announcing rankings!"); +const u8 gText_AnnouncingPrizes[] = _("Announcing prizes!"); +const u8 gText_1Colon[] = _("1:"); +const u8 gText_2Colon[] = _("2:"); +const u8 gText_3Colon[] = _("3:"); +const u8 gText_4Colon[] = _("4:"); +const u8 gText_5Colon[] = _("5:"); +const u8 gText_FirstPlacePrize[] = _("The first-place winner gets\nthis {DYNAMIC 00}!"); +const u8 gText_CantHoldAnyMore[] = _("You can't hold any more..."); +const u8 gText_FilledStorageSpace[] = _("It filled its storage space."); +const u8 gText_WantToPlayAgain[] = _("Want to play again?"); +const u8 gText_SomeoneDroppedOut[] = _("Somebody dropped out.\nThe link will be canceled."); +const u8 gText_SpacePoints[] = _(" points"); +const u8 gText_CommunicationStandby3[] = _("Communication standby…"); +ALIGNED(4) const u8 gUnknown_841CE3C[] = _("Are you ready to BERRY-CRUSH?\nPlease pick a BERRY for use.\p"); +ALIGNED(4) const u8 gUnknown_841CE78[] = _("Please wait while each member\nchooses a BERRY."); +ALIGNED(4) const u8 gUnknown_841CEA8[] = _("{PAUSE_MUSIC}{PLAY_BGM MUS_FANFA1}You ended up with {STR_VAR_1} units of\nsilky-smooth BERRY POWDER.{RESUME_MUSIC}\pYour total amount of BERRY POWDER\nis {STR_VAR_2}.\p"); +ALIGNED(4) const u8 gUnknown_841CF14[] = _("Recording your game results in the\nsave file.\nPlease wait."); +ALIGNED(4) const u8 gUnknown_841CF50[] = _("Want to play BERRY CRUSH again?"); +ALIGNED(4) const u8 gUnknown_841CF70[] = _("You have no BERRIES.\nThe game will be canceled."); +ALIGNED(4) const u8 gUnknown_841CFA0[] = _("A member dropped out.\nThe game will be canceled."); +ALIGNED(4) const u8 gUnknown_841CFD4[] = _("Time's up.\pGood BERRY POWDER could not be\nmade…\p"); +ALIGNED(4) const u8 gUnknown_841D008[] = _("Communication standby…"); +ALIGNED(4) const u8 gText_1_ClrLtGryShdwBlk_Dynamic0[] = _("1. {COLOR LIGHT_GRAY}{SHADOW BLACK}{DYNAMIC 0x00}"); +const u8 gText_1_Dynamic0[] = _("1. {DYNAMIC 0x00}"); +ALIGNED(4) const u8 gText_SpaceTimes[] = _(" times"); +ALIGNED(4) const u8 gText_XDotY[] = _("{STR_VAR_1}.{STR_VAR_2}"); +ALIGNED(4) const u8 gText_StrVar1Berry[] = _("{STR_VAR_1} BERRY"); +ALIGNED(4) const u8 gText_TimeColon[] = _("Time:"); +ALIGNED(4) const u8 gText_PressingSpeed[] = _("Pressing Speed:"); +const u8 gText_Silkiness[] = _("Silkiness:"); +ALIGNED(4) const u8 gText_StrVar1[] = _("{STR_VAR_1}"); +ALIGNED(4) const u8 gText_SpaceMin[] = _("min."); +ALIGNED(4) const u8 gText_XDotY2[] = _("{STR_VAR_1}.{STR_VAR_2}"); +ALIGNED(4) const u8 gText_SpaceSec[] = _("sec."); +ALIGNED(4) const u8 gText_XDotY3[] = _("{STR_VAR_1}.{STR_VAR_2}"); +ALIGNED(4) const u8 gText_TimesPerSec[] = _("Times/sec."); +ALIGNED(4) const u8 gText_Var1Percent[] = _("{STR_VAR_1}%"); +ALIGNED(4) const u8 gText_PressesRankings[] = _("No. of Presses Rankings"); +ALIGNED(4) const u8 gText_CrushingResults[] = _("Crushing Results"); +ALIGNED(4) const u8 gText_NeatnessRankings[] = _("Neatness Rankings"); +ALIGNED(4) const u8 gText_CooperativeRankings[] = _("Cooperative Rankings"); +ALIGNED(4) const u8 gText_PressingPowerRankings[] = _("Pressing-Power Rankings"); +const u8 gText_BerryCrush2[] = _("BERRY CRUSH"); +const u8 gText_PressingSpeedRankings[] = _("Pressing-Speed Rankings"); +const u8 gText_Var1Players[] = _("{STR_VAR_1} PLAYERS"); +ALIGNED(4) const u8 gText_Ghost[] = _("GHOST"); +const u8 gUnknown_841D14E[] = _("A POKéMON's on the hook!{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_841D169[] = _("Not even a nibble‥{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_841D17E[] = _("It got away‥{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_841D18D[] = _("ROOFTOP"); +ALIGNED(4) const u8 gString_PokemonFireRed_Staff[] = _("Pokémon FireRed Version\nStaff"); +ALIGNED(4) const u8 gString_PokemonLeafGreen_Staff[] = _("Pokémon LeafGreen Version\nStaff"); +ALIGNED(4) const u8 gCreditsString_Director[] = _("\n\nDirector\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Junichi_Masuda[] = _("\n\n\nJunichi Masuda\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Art_Director_Battle_Director[] = _("\nArt Director\n\nBattle Director\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Ken_Sugimori_Shigeki_Morimoto[] = _("\n\nKen Sugimori\n\nShigeki Morimoto\n\n"); +ALIGNED(4) const u8 gCreditsString_Program_Leader_Planning_Leader_Graphic_Design_Leader[] = _("Program Leader\n\nPlanning Leader\n\nGraphic Design Leader\n\n"); +ALIGNED(4) const u8 gCreditsString_Tetsuya_Watanabe_Koji_Nishino_Takao_Unno[] = _("\nTetsuya Watanabe\n\nKoji Nishino\n\nTakao Unno\n"); +ALIGNED(4) const u8 gCreditsString_Programmers[] = _("Programmers\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Hiroyuki_Nakamura_Masao_Taya_Satoshi_Nohara_Miyuki_Iwasawa_Daisuke_Goto[] = _("\nHiroyuki Nakamura\nMasao Taya\nSatoshi Nohara\nMiyuki Iwasawa\nDaisuke Goto\n"); +ALIGNED(4) const u8 gCreditsString_System_Programmers[] = _("System Programmers\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Tetsuya_Watanabe_Akito_Mori_Hisashi_Sogabe_Sousuke_Tamada[] = _("\nTetsuya Watanabe\nAkito Mori\nHisashi Sogabe\nSousuke Tamada\n\n"); +ALIGNED(4) const u8 gCreditsString_Graphic_Designers[] = _("Graphic Designers\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Takao_Unno_Asuka_Iwashita_Kanako_Eo_Hiroki_Fuchino[] = _("\nTakao Unno\nAsuka Iwashita\nKanako Eo\nHiroki Fuchino\n\n"); +ALIGNED(4) const u8 gCreditsString_Graphic_Designers_2[] = _("\nGraphic Designers\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Ken_Sugimori_Hironobu_Yoshida[] = _("\n\nKen Sugimori\nHironobu Yoshida\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Music_Composition[] = _("\nMusic Composition\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Go_Ichinose_Junichi_Masuda[] = _("\n\nGo Ichinose\nJunichi Masuda\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Sound_Effects[] = _("\n\nSound Effects\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Go_Ichinose[] = _("\n\n\nGo Ichinose\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Game_Designers[] = _("\nGame Designers\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Junichi_Masuda_Koji_Nishino_Tetsuji_Ohta[] = _("\n\nJunichi Masuda\nKoji Nishino\nTetsuji Ohta\n\n"); +ALIGNED(4) const u8 gCreditsString_Game_Designers_2[] = _("\nGame Designers\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Hitomi_Sato_Shigeru_Ohmori_Tadashi_Takahashi[] = _("\n\nHitomi Sato\nShigeru Ohmori\nTadashi Takahashi\n\n"); +ALIGNED(4) const u8 gCreditsString_Game_Scenario[] = _("\nGame Scenario\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Hitomi_Sato_Satoshi_Tajiri[] = _("\n\nHitomi Sato\nSatoshi Tajiri\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Script_Designer_Map_Designer[] = _("\nScript Designer\n\nMap Designer\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Satoshi_Nohara_Shigeru_Ohmori[] = _("\n\nSatoshi Nohara\n\nShigeru Ohmori\n\n"); +ALIGNED(4) const u8 gCreditsString_Parametric_Designers[] = _("\nParametric Designers\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Koji_Nishino_Tetsuji_Ohta_Shigeki_Morimoto[] = _("\n\nKoji Nishino\nTetsuji Ohta\nShigeki Morimoto\n\n"); +ALIGNED(4) const u8 gCreditsString_POKeDEX_Text[] = _("\n\nPOKéDEX Text\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Kenji_Matsushima[] = _("\n\n\nKenji Matsushima\n\n\n"); +ALIGNED(4) const u8 gCreditsString_POKeMON_Designers[] = _("POKéMON Designers\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Ken_Sugimori_Motofumi_Fujiwara_Shigeki_Morimoto_Hironobu_Yoshida[] = _("\nKen Sugimori\nMotofumi Fujiwara\nShigeki Morimoto\nHironobu Yoshida\n\n"); +ALIGNED(4) const u8 gCreditsString_POKeMON_Designers_2[] = _("POKéMON Designers\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Satoshi_Ohta_Asuka_Iwashita_Takao_Unno_Kanako_Eo_Aimi_Tomita[] = _("\nSatoshi Ohta\nAsuka Iwashita\nTakao Unno\nKanako Eo\nAimi Tomita\n"); +ALIGNED(4) const u8 gCreditsString_POKeMON_Designers_3[] = _("POKéMON Designers\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Atsuko_Nishida_Muneo_Saito_Rena_Yoshikawa_Jun_Okutani[] = _("\nAtsuko Nishida\nMuneo Saito\nRena Yoshikawa\nJun Okutani\n\n"); +ALIGNED(4) const u8 gCreditsString_Supporting_Programmers[] = _("Supporting Programmers\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Teruyuki_Yoshioka_Takao_Nakano_Satoshi_Mitsuhara_Daisuke_Hoshino[] = _("\nTeruyuki Yoshioka\nTakao Nakano\n\nSatoshi Mitsuhara\nDaisuke Hoshino\n"); +ALIGNED(4) const u8 gCreditsString_NCL_Product_Testing[] = _("\n\nNCL Product Testing\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_NCL_Super_Mario_Club[] = _("\n\n\nNCL Super Mario Club\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Special_Thanks[] = _("Special Thanks\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Hiro_Nakamura_Hiroyuki_Uesugi_Teruki_Murakawa_Kazuya_Suyama[] = _("\nHiro Nakamura\nHiroyuki Uesugi\nTeruki Murakawa\n\nKazuya Suyama\n"); +ALIGNED(4) const u8 gCreditsString_Special_Thanks_2[] = _("Special Thanks\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Kenji_Tominaga_Kenjiro_Ito_Tomotaka_Komura_Michiko_Takizawa[] = _("\nKenji Tominaga\n\nKenjiro Ito\nTomotaka Komura\nMichiko Takizawa\n"); +ALIGNED(4) const u8 gCreditsString_Special_Thanks_3[] = _("Special Thanks\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Makiko_Takada_Mikiko_Ohashi_Shusaku_Egami_Takanao_Kondo_Rui_Kawaguchi[] = _("\nMakiko Takada\nMikiko Ohashi\nShusaku Egami\nTakanao Kondo\nRui Kawaguchi\n"); +ALIGNED(4) const u8 gCreditsString_Braille_Code_Check[] = _("\n\nBraille Code Check\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Japan_Braille_Library[] = _("\n\n\nJapan Braille Library\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Information_Supervisors[] = _("Information Supervisors\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Hiroki_Enomoto_Kazuyuki_Terada_Yuri_Sakurai_Yumi_Funasaka_Naoko_Yanase[] = _("\nHiroki Enomoto\nKazuyuki Terada\nYuri Sakurai\nYumi Funasaka\nNaoko Yanase\n"); +ALIGNED(4) const u8 gCreditsString_Coordinators[] = _("Coordinators\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Azusa_Tajima_Akira_Kinashi_Kazuki_Yoshihara_Retsuji_Nomoto[] = _("\nAzusa Tajima\nAkira Kinashi\nKazuki Yoshihara\n\nRetsuji Nomoto\n"); +ALIGNED(4) const u8 gCreditsString_Task_Managers[] = _("\nTask Managers\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Hitoshi_Yamagami_Gakuji_Nomoto[] = _("\n\nHitoshi Yamagami\nGakuji Nomoto\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Producers[] = _("\nProducers\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Hiroyuki_Jinnai_Takehiro_Izushi_Hiroaki_Tsuru[] = _("\n\nHiroyuki Jinnai\nTakehiro Izushi\nHiroaki Tsuru\n\n"); +ALIGNED(4) const u8 gCreditsString_Executive_Director[] = _("\n\nExecutive Director\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Satoshi_Tajiri[] = _("\n\n\nSatoshi Tajiri\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Executive_Producer[] = _("\n\nExecutive Producer\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Satoru_Iwata[] = _("\n\n\nSatoru Iwata\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Executive_Producer_2[] = _("\n\nExecutive Producer\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Tsunekaz_Ishihara[] = _("\n\n\nTsunekaz Ishihara\n\n\n"); +ALIGNED(4) const u8 gCreditsString_English_Version_Coordinators[] = _("\nEnglish Version Coordinators\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Hiro_Nakamura_Seth_McMahill[] = _("\n\nHiro Nakamura\nSeth McMahill\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Translator_Text_Editor[] = _("\nTranslator\n\nText Editor\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Nob_Ogasawara_Teresa_Lillygren[] = _("\n\nNob Ogasawara\n\nTeresa Lillygren\n\n"); +ALIGNED(4) const u8 gCreditsString_Programmers_2[] = _("Programmers\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Teruki_Murakawa_Souichi_Yamamoto_Yuichiro_Ito_Akira_Kinashi[] = _("\nTeruki Murakawa\nSouichi Yamamoto\nYuichiro Ito\nAkira Kinashi\n\n"); +ALIGNED(4) const u8 gCreditsString_Environment_Tool_Programmers[] = _("\nEnvironment & Tool Programmers\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Teruki_Murakawa_Souichi_Yamamoto_Kimiko_Nakamichi[] = _("\n\nTeruki Murakawa\nSouichi Yamamoto\nKimiko Nakamichi\n\n"); +ALIGNED(4) const u8 gCreditsString_NOA_Product_Testing[] = _("NOA Product Testing\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Thomas_Hertzog_Kathy_Huguenard_Mika_Kurosawa[] = _("\nThomas Hertzog\nKathy Huguenard\nMika Kurosawa\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Braille_Code_Check_2[] = _("Braille Code Check\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_National_Federation_of_the_Blind_Patricia_A_Maurer_Japan_Braille_Library_European_Blind_Union[] = _("\nNational Federation\n{CLEAR_TO 0x13}of the Blind\nPatricia A. Maurer\nJapan Braille Library\nEuropean Blind Union\n"); +ALIGNED(4) const u8 gCreditsString_Braille_Code_Check_3[] = _("\nBraille Code Check\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_National_Information_Library_Service_Margaret_Campion[] = _("\n\nNational Information Library\n{CLEAR_TO 0x2D}Service\nMargaret Campion\n\n"); +ALIGNED(4) const u8 gCreditsString_Special_Thanks_4[] = _("Special Thanks\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Takehiro_Izushi_Motoyasu_Tojima_Hitoshi_Yamagami_Hiroyuki_Uesugi[] = _("\nTakehiro Izushi\nMotoyasu Tojima\nHitoshi Yamagami\nHiroyuki Uesugi\n\n"); +ALIGNED(4) const u8 gCreditsString_Special_Thanks_5[] = _("Special Thanks\n\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Nicola_Pratt_Barlow_Shellie_Dow_Anthony_Howitt_Naoko_Saeki_Kyoko_Onishi[] = _("\nNicola Pratt-Barlow\nShellie Dow\nAnthony Howitt\nNaoko Saeki\nKyoko Onishi\n"); +ALIGNED(4) const u8 gCreditsString_Braille_Code_Check_4[] = _("\nBraille Code Check\n\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_The_Royal_New_Zealand_Foundation_of_the_Blind_Greg_Moran[] = _("\n\nThe Royal New Zealand\nFoundation of the Blind\nGreg Moran\n\n"); +ALIGNED(4) const u8 gCreditsString_Graphic_Designer[] = _("\n\nGraphic Designer\n\n\n\n"); +ALIGNED(4) const u8 gCreditsString_Akira_Kinashi[] = _("\n\n\nAkira Kinashi\n\n\n"); +const u8 gJPText_MysteryGift[] = _(""); +const u8 gJPText_DecideStop[] = _(""); +const u8 gJPText_ReceiveMysteryGiftWithEReader[] = _(""); +const u8 gJPText_SelectConnectFromEReaderMenu[] = _(""); +const u8 gJPText_SelectConnectWithGBA[] = _(""); +const u8 gJPText_SelectConnectAndPressA[] = _("カ-ドeリ-ダ-{PLUS}の ‘つうしん'を\nえらんで Aボタンを おしてください"); +const u8 gJPText_LinkIsIncorrect[] = _(""); +const u8 gJPText_CardReadingHasBeenHalted[] = _(""); +const u8 gJPText_UnableConnectWithEReader[] = _("カ-ドeリ-ダ-{PLUS}と\nつうしん できません"); +const u8 gJPText_Connecting[] = _(""); +const u8 gJPText_ConnectionErrorCheckLink[] = _(""); +const u8 gJPText_ConnectionErrorTryAgain[] = _(""); +const u8 gJPText_AllowEReaderToLoadCard[] = _(""); +const u8 gJPText_ConnectionComplete[] = _(""); +const u8 gJPText_NewTrainerHasComeToSevii[] = _(""); +const u8 gJPText_PleaseWaitAMoment[] = _(""); +const u8 gJPText_WriteErrorUnableToSaveData[] = _(""); +const u8 gText_CommErrorCheckConnections[] = _("Communication error…\nPlease check all connections,\nthen turn the power OFF and ON."); +const u8 gText_CommErrorEllipsis[] = _("Communication error…"); +const u8 gText_MoveCloserToLinkPartner[] = _("Move closer to your link partner(s).\nAvoid obstacles between partners."); +const u8 gText_ABtnRegistrationCounter[] = _("A Button: Registration Counter"); +const u8 gText_ABtnTitleScreen[] = _("A Button: Title Screen"); +const u8 gUnknown_841DF82[] = _("{STR_VAR_1}P LINK"); +const u8 gUnknown_841DF8B[] = _("BRONZE"); +const u8 gUnknown_841DF92[] = _("COPPER"); +const u8 gUnknown_841DF99[] = _("SILVER"); +const u8 gUnknown_841DFA0[] = _("GOLD"); +const u8 gUnknown_841DFA5[] = _("{A_BUTTON}NEXT"); +const u8 gUnknown_841DFAC[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK {B_BUTTON}END"); +const u8 gUnknown_841DFBE[] = _("{A_BUTTON}{B_BUTTON}CANCEL"); +const u8 gUnknown_841DFC9[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK {B_BUTTON}CANCEL"); +const u8 gEasyChatGroupName_Pokemon[] = _("POKéMON"); +const u8 gEasyChatGroupName_Trainer[] = _("TRAINER"); +const u8 gEasyChatGroupName_Status[] = _("STATUS"); +const u8 gEasyChatGroupName_Battle[] = _("BATTLE"); +const u8 gEasyChatGroupName_Greetings[] = _("GREETINGS"); +const u8 gEasyChatGroupName_People[] = _("PEOPLE"); +const u8 gEasyChatGroupName_Voices[] = _("VOICES"); +const u8 gEasyChatGroupName_Speech[] = _("SPEECH"); +const u8 gEasyChatGroupName_Endings[] = _("ENDINGS"); +const u8 gEasyChatGroupName_Feelings[] = _("FEELINGS"); +const u8 gEasyChatGroupName_Conditions[] = _("CONDITIONS"); +const u8 gEasyChatGroupName_Actions[] = _("ACTIONS"); +const u8 gEasyChatGroupName_Lifestyle[] = _("LIFESTYLE"); +const u8 gEasyChatGroupName_Hobbies[] = _("HOBBIES"); +const u8 gEasyChatGroupName_Time[] = _("TIME"); +const u8 gEasyChatGroupName_Misc[] = _("MISC."); +const u8 gEasyChatGroupName_Adjectives[] = _("ADJECTIVES"); +const u8 gEasyChatGroupName_Events[] = _("EVENTS"); +const u8 gEasyChatGroupName_Move1[] = _("MOVE 1"); +const u8 gEasyChatGroupName_Move2[] = _("MOVE 2"); +const u8 gEasyChatGroupName_TrendySaying[] = _("TRENDY SAYING"); +const u8 gEasyChatGroupName_Pokemon2[] = _("POKéMON2"); +const u8 gText_ThreeQuestionMarks[] = _("???"); +const u8 gText_UnusedEmpty[] = _(""); +const u8 gText_UnusedLv[] = _("Lv"); +const u8 gText_UnusedDashes[] = _("---"); +const u8 gUnknown_841E09F[] = _("????"); +const u8 gText_UnusedEmpty2[] = _(""); +const u8 gUnknown_841E0A5[] = _("Is this trade okay?"); +const u8 gTradeText_Cancel[] = _("CANCEL"); +const u8 gTradeText_ChooseAPokemon[] = _("Choose a POKéMON."); +const u8 gTradeText_Summary[] = _("SUMMARY"); +const u8 gTradeText_Trade[] = _("TRADE"); +const u8 gTradeText_CancelTrade[] = _("Cancel trade?"); +const u8 gTradeText_PressBButtonToExit[] = _("Press the B Button to exit."); +const u8 gUnknown_841E10A[] = _("SUMMARY"); +const u8 gUnknown_841E112[] = _("TRADE"); +const u8 gUnknown_841E118[] = _("{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}Communication standby…\nPlease wait."); +const u8 gUnknown_841E145[] = _("{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}The trade has been canceled."); +const u8 gUnknown_841E16B[] = _("{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}That's your only POKéMON\nfor battle."); +const u8 gUnknown_841E199[] = _("{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}Waiting for your friend\nto finish…"); +const u8 gUnknown_841E1C5[] = _("Your friend wants\nto trade POKéMON."); +const u8 gText_XWillBeSentToY[] = _("{STR_VAR_2} will be\nsent to {STR_VAR_1}."); +const u8 gText_ByeByeVar1[] = _("Bye-bye, {STR_VAR_2}!"); +const u8 gText_XSentOverY[] = _("{STR_VAR_1} sent over {STR_VAR_3}."); +const u8 gText_TakeGoodCareOfX[] = _("Take good care of {STR_VAR_3}!"); +const u8 gText_From[] = _("From "); +const u8 gUnknown_841E23A[] = _(""); +const u8 gUnknown_841E23B[] = _(""); +const u8 gUnknown_841E23C[] = _(""); +const u8 gUnknown_841E23D[] = _(""); +const u8 gUnknown_841E23E[] = _(""); +const u8 gUnknown_841E23F[] = _(""); +const u8 gUnknown_841E240[] = _(""); +const u8 gUnknown_841E241[] = _(""); +const u8 gUnknown_841E242[] = _(""); +const u8 gUnknown_841E243[] = _(""); +const u8 gUnknown_841E244[] = _(""); +const u8 gText_WirelessCommunicationStatus[] = _("Wireless Communication Status"); +const u8 gText_PeopleTrading[] = _("People trading:"); +const u8 gText_PeopleBattling[] = _("People battling:"); +const u8 gText_PeopleInUnionRoom[] = _("People in the UNION ROOM:"); +const u8 gText_PeopleCommunicating[] = _("People communicating:"); +const u8 gUnknown_841E2B4[] = _("{DYNAMIC 0x00} players"); +const u8 gUnknown_841E2BF[] = _("{DYNAMIC 0x01} player"); +const u8 gUnknown_841E2C9[] = _("{DYNAMIC 0x02} players"); +const u8 gUnknown_841E2D4[] = _("{DYNAMIC 0x03} players"); +const u8 gUnknown_841E2DF[] = _("{DPAD_ANY}えらぶ:{A_BUTTON}けってい"); +const u8 gUnknown_841E2EC[] = _("{B_BUTTON}CANCEL"); +const u8 gUnknown_841E2F5[] = _("{COLOR BLUE}{SHADOW YELLOW} たいせんの くみあわせ\n{COLOR RED}{SHADOW GREEN}じぶんの ばしょをきめて ください"); +const u8 gUnknown_841E322[] = _("{ID}"); +const u8 gText_CommunicationStandby5[] = _("Communication standby…"); +const u8 gDaycareText_GetAlongVeryWell[] = _("The two seem to get along\nvery well."); +const u8 gDaycareText_GetAlong[] = _("The two seem to get along."); +const u8 gDaycareText_DontLikeOther[] = _("The two don't seem to like\neach other much."); +const u8 gDaycareText_PlayOther[] = _("The two prefer to play with other\nPOKéMON than each other."); +const u8 gText_TeachWhichMoveToMon[] = _("Teach which move to {STR_VAR_1}?"); +const u8 gText_TeachMoveQues[] = _("Teach {STR_VAR_2}?"); +const u8 gText_MonLearnedMove[] = _("{STR_VAR_1} learned\n{STR_VAR_2}."); +const u8 gText_MonIsTryingToLearnMove[] = _("{STR_VAR_1} is trying to learn\n{STR_VAR_2}.\pBut {STR_VAR_1} can't learn more\nthan four moves.\pDelete an older move to make\nroom for {STR_VAR_2}?"); +const u8 gText_StopLearningMove[] = _("Stop learning {STR_VAR_2}?"); +const u8 gText_1_2_and_Poof[] = _("{PAUSE 0x20}1, {PAUSE 0x0F}2, and {PAUSE 0x0F}‥ {PAUSE 0x0F}‥ {PAUSE 0x0F}‥ {PAUSE 0x0F}{PLAY_SE SE_KON}Poof!\p"); +const u8 gText_MonForgotOldMoveAndMonLearnedNewMove[] = _("{STR_VAR_1} forgot {STR_VAR_3}.\pAnd‥\p{STR_VAR_1}\nlearned {STR_VAR_2}."); +const u8 gText_GiveUpTryingToTeachNewMove[] = _("Give up trying to teach a new\nmove to {STR_VAR_1}?"); +const u8 gText_WhichMoveShouldBeForgotten[] = _("Which move should be forgotten?\p"); +const u8 gUnknown_841E52D[] = _("----------"); +const u8 gText_CommStandbyAwaitingOtherPlayer[] = _("Communication standby‥\nAwaiting another player to choose."); +const u8 gText_BattleWasRefused[] = _("The battle was refused.{PAUSE 0x3C}"); +const u8 gText_RefusedBattle[] = _("Refused the battle.{PAUSE 0x3C}"); +const u8 gFameCheckerText_MainScreenUI[] = _("{START_BUTTON}PICK {DPAD_UPDOWN}SELECT {A_BUTTON}OK"); +const u8 gFameCheckerText_PickScreenUI[] = _("{START_BUTTON}PICK {DPAD_UPDOWN}SELECT {B_BUTTON}CANCEL"); +const u8 gFameCheckerText_FlavorTextUI[] = _("{DPAD_ANY}PICK {A_BUTTON}READ {B_BUTTON}CANCEL"); +const u8 gFameCheckerOakName[] = _("OAK"); +const u8 gFameCheckerDaisyName[] = _("DAISY"); +const u8 gFameCheckerBillName[] = _("BILL"); +const u8 gFameCheckerMrFujiName[] = _("FUJI"); +const u8 gText_VarietyOfEventsImportedWireless[] = _("A variety of events will be imported\nover Wireless Communication."); +const u8 gText_WonderCardsInPossession[] = _("Read the WONDER CARDS in your\npossession."); +const u8 gText_ReadNewsThatArrived[] = _("Read the NEWS that arrived."); +const u8 gText_ReturnToTitle[] = _("Return to the title screen."); +const u8 gText_DontHaveCardNewOneInput[] = _("You don't have a WONDER CARD,\nso a new CARD will be input."); +const u8 gText_DontHaveNewsNewOneInput[] = _("You don't have any WONDER NEWS,\nso new NEWS will be input."); +const u8 gText_WhereShouldCardBeAccessed[] = _("Where should the WONDER CARD\nbe accessed?"); +const u8 gText_WhereShouldNewsBeAccessed[] = _("Where should the WONDER NEWS\nbe accessed?"); +const u8 gUnknown_841E76B[] = _("Link standby...\n... ... B Button: Cancel"); +const u8 gText_Communicating[] = _("Communicating…"); +const u8 gText_CommunicationCompleted[] = _("Communication completed."); +const u8 gText_CommunicationError[] = _("Communication error."); +const u8 gText_CommunicationCanceled[] = _("Communication has been canceled."); +const u8 gText_ThrowAwayWonderCard[] = _("Throw away the WONDER CARD\nand input a new CARD?"); +const u8 gText_HaventReceivedCardsGift[] = _("You haven't received the CARD's gift\nyet. Input a new CARD anyway?"); +const u8 gText_WonderCardReceivedFrom[] = _("A WONDER CARD has been received\nfrom {STR_VAR_1}."); +const u8 gText_WonderNewsReceivedFrom[] = _("A WONDER NEWS item has been\nreceived from {STR_VAR_1}."); +const u8 gText_WonderCardReceived[] = _("A new WONDER CARD has been\nreceived."); +const u8 gText_WonderNewsReceived[] = _("A new WONDER NEWS item has been\nreceived."); +const u8 gText_NewStampReceived[] = _("A new STAMP has been received."); +const u8 gText_NewTrainerReceived[] = _("A new TRAINER has arrived."); +const u8 gText_AlreadyHadCard[] = _("You already had that\nWONDER CARD."); +const u8 gText_AlreadyHadNews[] = _("You already had that\nWONDER NEWS item."); +const u8 gText_AlreadyHadStamp[] = _("You already had that\nSTAMP."); +const u8 gText_NoMoreRoomForStamps[] = _("There's no more room for adding\nSTAMPS."); +const u8 gText_RecordUploadedViaWireless[] = _("Your record has been uploaded via\nWIRELESS COMMUNICATION."); +const u8 gText_CantAcceptCardFromTrainer[] = _("You can't accept a WONDER CARD\nfrom this TRAINER."); +const u8 gText_CantAcceptNewsFromTrainer[] = _("You can't accept WONDER NEWS\nfrom this TRAINER."); +const u8 gText_NothingSentOver[] = _("Nothing was sent over…"); +const u8 gText_WhatToDoWithCards[] = _("What would you like to do\nwith the WONDER CARDS?"); +const u8 gText_WhatToDoWithNews[] = _("What would you like to do\nwith the WONDER NEWS?"); +const u8 gText_SendingWonderCard[] = _("Sending your WONDER CARD…"); +const u8 gText_SendingWonderNews[] = _("Sending your WONDER NEWS item…"); +const u8 gText_WonderCardSentTo[] = _("Your WONDER CARD has been sent\nto {STR_VAR_1}."); +const u8 gText_WonderNewsSentTo[] = _("Your WONDER NEWS item has been\nsent to {STR_VAR_1}."); +const u8 gText_StampSentTo[] = _("A STAMP has been sent to {STR_VAR_1}."); +const u8 gText_GiftSentTo[] = _("A GIFT has been sent to {STR_VAR_1}."); +const u8 gText_OtherTrainerHasCard[] = _("The other TRAINER has the same\nWONDER CARD already."); +const u8 gText_OtherTrainerHasNews[] = _("The other TRAINER has the same\nWONDER NEWS already."); +const u8 gText_OtherTrainerHasStamp[] = _("The other TRAINER has the same\nSTAMP already."); +const u8 gText_OtherTrainerCanceled[] = _("The other TRAINER canceled\ncommunication."); +const u8 gText_CantSendGiftToTrainer[] = _("You can't send a MYSTERY GIFT to\nthis TRAINER."); +const u8 gText_IfThrowAwayCardEventWontHappen[] = _("If you throw away the CARD,\nits event won't happen. Okay?"); +const u8 gText_OkayToDiscardNews[] = _("Is it okay to discard this\nNEWS item?"); +const u8 gText_HaventReceivedGiftOkayToDiscard[] = _("You haven't received the\nGIFT. Is it okay to discard?"); +const u8 gText_DataWillBeSaved[] = _("Data will be saved.\nPlease wait."); +const u8 gText_SaveCompletedPressA[] = _("Save completed.\nPlease press the A Button."); +const u8 gText_WonderCardThrownAway[] = _("The WONDER CARD was thrown away."); +const u8 gText_WonderNewsThrownAway[] = _("The WONDER NEWS was thrown away."); +const u8 gText_MysteryGift2[] = _("MYSTERY GIFT"); +const u8 gText_PickOKCancel[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK {B_BUTTON}EXIT"); +const u8 gText_WonderCards[] = _("WONDER CARDS"); +const u8 gText_WonderNews[] = _("WONDER NEWS"); +const u8 gText_WirelessCommunication[] = _("WIRELESS COMMUNICATION"); +const u8 gText_Friend2[] = _("FRIEND"); +const u8 gText_Exit3[] = _("EXIT"); +const u8 gText_Receive[] = _("RECEIVE"); +const u8 gText_Send[] = _("SEND"); +const u8 gText_Toss[] = _("TOSS"); +const u8 gUnknown_841EE2B[] = _("DEL. ALL{CLEAR_TO 0x57}CANCEL{CLEAR_TO 0xA4}OK"); diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 1467131b0..1d49ee3d9 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -500,7 +500,7 @@ static void TeachyTvMainCallback(void) ScheduleBgCopyTilemapToVram(1); ScheduleBgCopyTilemapToVram(2); ScheduleBgCopyTilemapToVram(3); - HelpSystem_SetSomeVariable(9); // help system something + SetHelpContextDontCheckBattle(HELPCONTEXT_BAG); BlendPalettes(0xFFFFFFFF, 0x10, 0); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); SetVBlankCallback(TeachyTvVblankHandler); diff --git a/src/text.c b/src/text.c index 83f089c12..2d4d4a9b0 100644 --- a/src/text.c +++ b/src/text.c @@ -1,15 +1,11 @@ #include "global.h" #include "main.h" -#include "palette.h" -#include "string_util.h" #include "window.h" #include "text.h" #include "sprite.h" -#include "blit.h" #include "sound.h" #include "m4a.h" #include "quest_log.h" -#include "window.h" #include "graphics.h" #include "dynamic_placeholder_text_util.h" #include "constants/songs.h" diff --git a/src/text_window.c b/src/text_window.c index 98f82e818..6fde39078 100644 --- a/src/text_window.c +++ b/src/text_window.c @@ -1,7 +1,6 @@ #include "global.h" #include "bg.h" #include "palette.h" -#include "text.h" #include "window.h" #include "text_window.h" #include "text_window_graphics.h" diff --git a/src/tileset_anims.c b/src/tileset_anims.c index 44e86448f..04e129049 100644 --- a/src/tileset_anims.c +++ b/src/tileset_anims.c @@ -1,10 +1,4 @@ #include "global.h" -#include "graphics.h" -#include "palette.h" -#include "util.h" -#include "battle_transition.h" -#include "task.h" -#include "fieldmap.h" static EWRAM_DATA struct { const u16 *src; @@ -232,7 +226,7 @@ static void sub_8070120(u16 timer) sub_80700A4(timer >> 4); } -void sub_8070154(void) +void InitTilesetAnim_General(void) { sPrimaryTilesetAnimCounter = 0; sPrimaryTilesetAnimCounterMax = 640; @@ -250,7 +244,7 @@ static void sub_80701AC(u16 timer) sub_807017C(timer / 12); } -void sub_80701D8(void) +void InitTilesetAnim_CeladonCity(void) { sSecondaryTilesetAnimCounter = 0; sSecondaryTilesetAnimCounterMax = 120; @@ -268,7 +262,7 @@ static void sub_8070224(u16 timer) sub_80701FC(timer / 10); } -void sub_8070250(void) +void InitTilesetAnim_SilphCo(void) { sSecondaryTilesetAnimCounter = 0; sSecondaryTilesetAnimCounterMax = 160; @@ -286,7 +280,7 @@ static void sub_807029C(u16 timer) sub_8070274(timer >> 4); } -void sub_80702B4(void) +void InitTilesetAnim_MtEmber(void) { sSecondaryTilesetAnimCounter = 0; sSecondaryTilesetAnimCounterMax = 256; @@ -306,7 +300,7 @@ static void sub_8070304(u16 timer) sub_80702DC(timer >> 1); } -void sub_807031C(void) +void InitTilesetAnim_VermilionGym(void) { sSecondaryTilesetAnimCounter = 0; sSecondaryTilesetAnimCounterMax = 240; @@ -326,7 +320,7 @@ static void sub_8070368(u16 timer) sub_8070340(timer >> 4); } -void sub_8070380(void) +void InitTilesetAnim_CeladonGym(void) { sSecondaryTilesetAnimCounter = 0; sSecondaryTilesetAnimCounterMax = 256; diff --git a/src/title_screen.c b/src/title_screen.c index af78893b9..0ff0a6b96 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -575,7 +575,7 @@ static void SetTitleScreenScene_Run(s16 * data) switch (data[1]) { case 0: - HelpSystem_SetSomeVariable2(1); + SetHelpContext(HELPCONTEXT_TITLE_SCREEN); CreateTask(Task_TitleScreen_BlinkPressStart, 0); CreateTask(Task_FlameOrLeafSpawner, 5); SetGpuRegsForTitleScreenRun(); diff --git a/src/tm_case.c b/src/tm_case.c index d45061bde..2f27cc0db 100644 --- a/src/tm_case.c +++ b/src/tm_case.c @@ -25,7 +25,6 @@ #include "scanline_effect.h" #include "sound.h" #include "strings.h" -#include "tm_case.h" #include "menu_indicators.h" #include "constants/items.h" #include "constants/songs.h" @@ -613,7 +612,7 @@ static void PrintListMenuCursorAt_WithColorIdx(u8 a0, u8 a1) } else { - AddTextPrinterParameterized_ColorByIndex(0, 2, gFameCheckerText_ListMenuCursor, 0, a0, 0, 0, 0, a1); + AddTextPrinterParameterized_ColorByIndex(0, 2, gText_SelectorArrow2, 0, a0, 0, 0, 0, a1); } } @@ -798,7 +797,7 @@ static void Task_SelectTMAction_FromFieldBag(u8 taskId) Menu_InitCursor(sTMCaseDynamicResources->contextMenuWindowId, 2, 0, 2, GetFontAttribute(2, 1) + 2, sTMCaseDynamicResources->numMenuActions, 0); strbuf = Alloc(256); GetTMNumberAndMoveString(strbuf, gSpecialVar_ItemId); - StringAppend(strbuf, gText_IsSelected); + StringAppend(strbuf, gText_Var1IsSelected + 2); // +2 skips over the stringvar AddTextPrinterParameterized_ColorByIndex(2, 2, strbuf, 0, 2, 1, 0, 0, 1); Free(strbuf); if (itemid_is_unique(gSpecialVar_ItemId)) @@ -1304,7 +1303,7 @@ static void InitWindowTemplatesAndPals(void) LoadPalette(gTMCaseMainWindowPalette, 0xA0, 0x20); LoadPalette(sPal3Override, 0xF6, 0x04); LoadPalette(sPal3Override, 0xD6, 0x04); - sub_8107D38(0xc0, 0x01); + ListMenuLoadStdPalAt(0xc0, 0x01); for (i = 0; i < 9; i++) FillWindowPixelBuffer(i, 0x00); PutWindowTilemap(0); diff --git a/src/trade.c b/src/trade.c index fe5f53be9..30bfa8389 100644 --- a/src/trade.c +++ b/src/trade.c @@ -6,7 +6,6 @@ #include "pokemon_icon.h" #include "graphics.h" #include "link.h" -#include "load_save.h" #include "link_rfu.h" #include "cable_club.h" #include "data.h" @@ -14,7 +13,6 @@ #include "menu.h" #include "overworld.h" #include "battle_anim.h" -#include "pokeball.h" #include "party_menu.h" #include "daycare.h" #include "event_data.h" @@ -22,7 +20,6 @@ #include "pokemon_summary_screen.h" #include "pokemon_storage_system.h" #include "new_menu_helpers.h" -#include "trade.h" #include "trade_scene.h" #include "constants/songs.h" #include "constants/moves.h" @@ -765,9 +762,9 @@ static void sub_804C728(void) if (gWirelessCommType) { - sub_800B1F4(); + SetWirelessCommType1(); OpenLink(); - sub_80FBB20(); + LinkRfu_CreateIdleTask(); } else { @@ -810,14 +807,14 @@ static void sub_804C728(void) case 4: if (gReceivedRemoteLinkPlayers == TRUE && IsLinkPlayerDataExchangeComplete() == TRUE) { - sub_80FBB4C(); + LinkRfu_DestroyIdleTask(); CalculatePlayerPartyCount(); gMain.state++; sTradeMenuResourcesPtr->unk_A8 = 0; if (gWirelessCommType) { sub_80FA484(TRUE); - sub_800AB9C(); + PrepareSendLinkCmd2FFE_or_RfuCmd6600(); } } break; @@ -1213,7 +1210,7 @@ static void sub_804D548(void) } else { - sub_800AA80(32); + Link_StartSend5FFFwithParam(32); sTradeMenuResourcesPtr->unk_6F = 13; } } @@ -2004,11 +2001,11 @@ static void sub_804E908(void) { if (gWirelessCommType) { - sub_800AB9C(); + PrepareSendLinkCmd2FFE_or_RfuCmd6600(); } else { - sub_800AA80(12); + Link_StartSend5FFFwithParam(12); } sTradeMenuResourcesPtr->unk_6F = 12; @@ -2044,7 +2041,7 @@ static void sub_804E9C0(void) { if (!sub_80FA484(FALSE)) { - sub_800AB9C(); + PrepareSendLinkCmd2FFE_or_RfuCmd6600(); sTradeMenuResourcesPtr->unk_6F = 13; } } @@ -2740,30 +2737,30 @@ static bool32 IsDeoxysOrMewUntradable(u16 species, bool8 isObedientBitSet) return FALSE; } -int GetUnionRoomTradeMessageId(struct GFtgtGnameSub a0, struct GFtgtGnameSub a1, u16 species1, u16 species2, u8 type, u16 species3, u8 isObedientBitSet) +int GetUnionRoomTradeMessageId(struct GFtgtGnameSub playerSub, struct GFtgtGnameSub partnerSub, u16 species1, u16 species2, u8 type, u16 species3, u8 isObedientBitSet) { - u8 r9 = a0.hasNationalDex; - u8 r4 = a0.isChampion; - u8 r10 = a1.hasNationalDex; - u8 r0 = a1.isChampion; - u8 r1 = a1.unk_01_2; - u8 r2; + u8 playerHasNationalDex = playerSub.hasNationalDex; + u8 playerIsChampion = playerSub.isChampion; + u8 partnerHasNationalDex = partnerSub.hasNationalDex; + u8 partnerIsChampion = partnerSub.isChampion; + u8 partnerVersion = partnerSub.version; + bool8 isNotFRLG; - if (r1 == VERSION_FIRE_RED || r1 == VERSION_LEAF_GREEN) + if (partnerVersion == VERSION_FIRE_RED || partnerVersion == VERSION_LEAF_GREEN) { - r2 = 0; + isNotFRLG = FALSE; } else { - r2 = 1; + isNotFRLG = TRUE; } - if (r2) + if (isNotFRLG) { - if (!r4) + if (!playerIsChampion) { return 8; } - else if (!r0) + else if (!partnerIsChampion) { return 9; } @@ -2794,7 +2791,7 @@ int GetUnionRoomTradeMessageId(struct GFtgtGnameSub a0, struct GFtgtGnameSub a1, return 3; } - if (!r9) + if (!playerHasNationalDex) { if (species1 == SPECIES_EGG) { @@ -2812,7 +2809,7 @@ int GetUnionRoomTradeMessageId(struct GFtgtGnameSub a0, struct GFtgtGnameSub a1, } } - if (!r10 && species1 > SPECIES_MEW) + if (!partnerHasNationalDex && species1 > SPECIES_MEW) { return 7; } @@ -2820,11 +2817,11 @@ int GetUnionRoomTradeMessageId(struct GFtgtGnameSub a0, struct GFtgtGnameSub a1, return 0; } -int CanRegisterMonForTradingBoard(struct GFtgtGnameSub a0, u16 species, u16 a2, u8 a3) +int CanRegisterMonForTradingBoard(struct GFtgtGnameSub playerSub, u16 species2, u16 species, u8 obedience) { - u8 canTradeEggAndNational = a0.hasNationalDex; + u8 canTradeEggAndNational = playerSub.hasNationalDex; - if (IsDeoxysOrMewUntradable(a2, a3)) + if (IsDeoxysOrMewUntradable(species, obedience)) { return 1; } @@ -2834,12 +2831,12 @@ int CanRegisterMonForTradingBoard(struct GFtgtGnameSub a0, u16 species, u16 a2, return 0; } - if (species == SPECIES_EGG) + if (species2 == SPECIES_EGG) { return 2; } - if (species > SPECIES_MEW && species != SPECIES_EGG) + if (species2 > SPECIES_MEW && species2 != SPECIES_EGG) { return 1; } diff --git a/src/trade_scene.c b/src/trade_scene.c index b420cb196..d609a9b53 100644 --- a/src/trade_scene.c +++ b/src/trade_scene.c @@ -10,7 +10,6 @@ #include "palette.h" #include "trade.h" #include "link.h" -#include "librfu.h" #include "link_rfu.h" #include "text.h" #include "mevent.h" @@ -31,7 +30,6 @@ #include "quest_log.h" #include "help_system.h" #include "new_menu_helpers.h" -#include "battle_interface.h" #include "pokedex.h" #include "save.h" #include "load_save.h" @@ -41,7 +39,7 @@ #include "constants/items.h" #include "constants/easy_chat.h" #include "constants/songs.h" -#include "constants/region_map.h" +#include "constants/region_map_sections.h" #include "constants/moves.h" #define TAG_GLOW1_TILES 5550 @@ -948,13 +946,13 @@ static void TradeAnimInit_LoadGfx(void) DeactivateAllTextPrinters(); // Doing the graphics load... DecompressAndLoadBgGfxUsingHeap(0, gBattleTextboxTiles, 0, 0, 0); - LZDecompressWram(gFile_graphics_interface_menu_map_tilemap, gDecompressionBuffer); + LZDecompressWram(gBattleTextboxTilemap, gDecompressionBuffer); CopyToBgTilemapBuffer(0, gDecompressionBuffer, BG_SCREEN_SIZE, 0); LoadCompressedPalette(gBattleTextboxPalette, 0x000, 0x20); InitWindows(gUnknown_826D1BC); // ... and doing the same load again DecompressAndLoadBgGfxUsingHeap(0, gBattleTextboxTiles, 0, 0, 0); - LZDecompressWram(gFile_graphics_interface_menu_map_tilemap, gDecompressionBuffer); + LZDecompressWram(gBattleTextboxTilemap, gDecompressionBuffer); CopyToBgTilemapBuffer(0, gDecompressionBuffer, BG_SCREEN_SIZE, 0); LoadCompressedPalette(gBattleTextboxPalette, 0x000, 0x20); } @@ -2556,7 +2554,7 @@ static void sub_8053E8C(void) DrawTextOnTradeWindow(0, gStringVar4, 0); break; case 1: - sub_800AB9C(); + PrepareSendLinkCmd2FFE_or_RfuCmd6600(); gMain.state = 100; sTradeData->timer = 0; break; @@ -2594,7 +2592,7 @@ static void sub_8053E8C(void) } if (gWirelessCommType) { - sub_8144714(2, gLinkPlayers[GetMultiplayerId() ^ 1].trainerId); + MEvent_RecordIdOfWonderCardSenderByEventType(2, gLinkPlayers[GetMultiplayerId() ^ 1].trainerId); } SetContinueGameWarpStatusToDynamicWarp(); sub_80DA3AC(); @@ -2641,7 +2639,7 @@ static void sub_8053E8C(void) case 41: if (sTradeData->timer == 0) { - sub_800AB9C(); + PrepareSendLinkCmd2FFE_or_RfuCmd6600(); gMain.state = 42; } else @@ -2660,7 +2658,7 @@ static void sub_8053E8C(void) if (++sTradeData->timer > 60) { gMain.state++; - sub_800AB9C(); + PrepareSendLinkCmd2FFE_or_RfuCmd6600(); } break; case 6: @@ -2682,11 +2680,11 @@ static void sub_8053E8C(void) { if (gWirelessCommType && gMain.savedCallback == CB2_ReturnFromLinkTrade) { - sub_800AB9C(); + PrepareSendLinkCmd2FFE_or_RfuCmd6600(); } else { - sub_800AAC0(); + Link_TryStartSend5FFF(); } gMain.state++; } diff --git a/src/trainer_card.c b/src/trainer_card.c index e4778f5ed..df116d379 100644 --- a/src/trainer_card.c +++ b/src/trainer_card.c @@ -14,7 +14,6 @@ #include "event_data.h" #include "easy_chat.h" #include "money.h" -#include "window.h" #include "strings.h" #include "string_util.h" #include "trainer_card.h" @@ -22,7 +21,6 @@ #include "pokedex.h" #include "pokemon_icon.h" #include "graphics.h" -#include "pokemon_icon.h" #include "help_system.h" #include "trainer_pokemon_sprites.h" #include "new_menu_helpers.h" @@ -31,15 +29,7 @@ #include "constants/game_stat.h" #include "constants/vars.h" #include "constants/species.h" - -#define BADGE_COUNT 8 - -// Trainer Card Types -enum -{ - CARD_TYPE_FRLG, - CARD_TYPE_EMERALD, -}; +#include "constants/facility_trainer_classes.h" // Trainer Card Strings enum @@ -61,46 +51,43 @@ enum struct TrainerCardData { - /*0x0000*/ u8 taskState; - /*0x0001*/ u8 printState; - /*0x0002*/ u8 gfxLoadState; - /*0x0003*/ u8 bgPalLoadState; - /*0x0004*/ u8 var_4; - /*0x0005*/ bool8 isLink; - /*0x0006*/ u8 var_6; - /*0x0007*/ u8 var_7; - /*0x0008*/ u8 var_8; - /*0x0009*/ bool8 allowDMACopy; - /*0x000A*/ bool8 hasPokedex; - /*0x000B*/ bool8 hasHofResult; - /*0x000C*/ bool8 hasLinkResults; - /*0x000D*/ bool8 hasBattleTowerWins; - /*0x000E*/ u8 var_E; - /*0x000F*/ u8 var_F; - /*0x0010*/ bool8 hasTrades; - /*0x0011*/ bool8 hasBadge[BADGE_COUNT]; - /*0x0019*/ u8 var_19[4][13]; - /*0x004D*/ u8 strings[TRAINER_CARD_STRING_COUNT][70]; - /*0x0395*/ u8 var_395; - /*0x0396*/ u16 monIconPals[0x30]; - /*0x03F6*/ u8 var_3DB[0x60]; - /*0x0456*/ s8 var_456; - /*0x0457*/ u8 cardType; - /*0x0458*/ void (*callback2)(void); - /*0x045C*/ struct TrainerCard trainerCard; - /*0x04BC*/ u16 var_4BC; - /*0x04BE*/ u8 var_4BE[0x4AE]; - /*0x096C*/ u16 var_96C[0x258]; - /*0x0E1C*/ u16 var_E1C; - /*0x0E1E*/ u8 unk_E1E[0x4AE]; - /*0x12CC*/ u16 cardTiles[0x200]; - /*0x16CC*/ u16 bgTiles[0x100]; - /*0x18CC*/ u16 var_18CC[0x1180]; - /*0x3BCC*/ u16 bgTilemap0[0x1000]; - /*0x5BCC*/ u16 bgTilemap2[0x1000]; - /*0x7BCC*/ u16 var_7BCC; - /*0x7BCE*/ bool8 var_7BCE; - /*0x7BCF*/ u8 language; + u8 mainState; + u8 printState; + u8 gfxLoadState; + u8 bgPalLoadState; + u8 flipDrawState; + bool8 isLink; + u8 timeColonBlinkTimer; + bool8 timeColonInvisible; + bool8 onBack; + bool8 allowDMACopy; + bool8 hasPokedex; + bool8 hasHofResult; + bool8 hasLinkResults; + bool8 hasBattleTowerWins; + bool8 var_E; + bool8 var_F; + bool8 hasTrades; + bool8 hasBadge[NUM_BADGES]; + u8 easyChatProfile[TRAINER_CARD_PROFILE_LENGTH][13]; + u8 strings[TRAINER_CARD_STRING_COUNT][70]; + u8 var_395; + u16 monIconPals[16 * PARTY_SIZE]; + s8 flipBlendY; + u8 cardType; + void (*callback2)(void); + struct TrainerCard trainerCard; + u16 frontTilemap[600]; + u16 backTilemap[600]; + u16 bgTilemap[600]; + u8 badgeTiles[0x80 * NUM_BADGES]; + u16 stickerTiles[0x100]; + u16 cardTiles[0x1180]; + u16 cardTilemapBuffer[0x1000]; + u16 bgTilemapBuffer[0x1000]; + u16 var_7BCC; + bool8 timeColonNeedDraw; + u8 language; }; /* size = 0x7BD0 */ // RAM @@ -126,84 +113,84 @@ static void TrainerCardNull(void); static void sub_8089C5C(void); static void sub_8089C80(void); static void sub_8089CA4(void); -static void ResetTrainerCard(void); +static void InitBgsAndWindows(void); static void SetTrainerCardCB2(void); -static void sub_8089DA4(void); -static bool8 PrintAllOnCardPage1(void); -static bool8 PrintStringsOnCardPage2(void); -static void sub_8089ECC(void); -static void PrintNameOnCard(void); +static void SetUpTrainerCardTask(void); +static bool8 PrintAllOnCardFront(void); +static bool8 PrintAllOnCardBack(void); +static void BufferTextForCardBack(void); +static void PrintNameOnCardFront(void); static void PrintIdOnCard(void); static void PrintMoneyOnCard(void); static u16 GetCaughtMonsCount(void); static void PrintPokedexOnCard(void); static void PrintTimeOnCard(void); static void PrintProfilePhraseOnCard(void); -static void PrintNameOnCard2(void); -static void sub_808A4FC(void); -static void PrintHofTimeOnCard(void); -static void PrintHofDebutStringOnCard(void); -static void PrintLinkResultsNumsOnCard(void); -static void PrintWinsLossesStringOnCard(void); -static void PrintTradesNumOnCard(void); +static void BufferNameForCardBack(void); +static void PrintNameOnCardBack(void); +static void BufferHofDebutTime(void); +static void PrintHofDebutTimeOnCard(void); +static void BufferLinkBattleResults(void); +static void PrintLinkBattleResultsOnCard(void); +static void BufferNumTrades(void); static void PrintTradesStringOnCard(void); -static void PrintBerryCrushNumOnCard(void); +static void BufferBerryCrushPoints(void); static void PrintBerryCrushStringOnCard(void); -static void PrintUnionNumOnCard(void); +static void BufferUnionRoomStats(void); static void PrintUnionStringOnCard(void); -static void TrainerCard_PrintPokemonIconsOnCard(void); -static void sub_808AB10(void); -static void sub_808ABE0(void); -static void TrainerCardLoadStickerPals(void); -static void PutTrainerCardWindow(u8 windowId); +static void PrintPokemonIconsOnCard(void); +static void LoadMonIconGfx(void); +static void PrintStickersOnCard(void); +static void LoadStickerGfx(void); +static void DrawTrainerCardWindow(u8 windowId); static bool8 SetTrainerCardBgsAndPals(void); -static void LoadTrainerCardTilemap2(const u16* ptr); -static void LoadTrainerCardTilemap0(const u16* ptr); -static void TrainerCard_PrintStarsAndBadgesOnCard(void); -static void sub_808B090(void); -static void sub_808B180(void); -static void sub_808B1D4(void); -static bool8 sub_808B1FC(void); -static void sub_808B21C(u8 taskId); -static bool8 sub_808B254(struct Task* task); -static bool8 sub_808B294(struct Task* task); -static bool8 sub_808B3C4(struct Task* task); -static bool8 sub_808B4D8(struct Task* task); -static bool8 sub_808B540(struct Task* task); -static bool8 sub_808B66C(struct Task *task); -static void sub_808B774(void); +static void DrawCardScreenBackground(const u16* ptr); +static void DrawCardFrontOrBack(const u16* ptr); +static void DrawStarsAndBadgesOnCard(void); +static void DrawCardBackStats(void); +static void BlinkTimeColon(void); +static void FlipTrainerCard(void); +static bool8 IsCardFlipTaskActive(void); +static void Task_DoCardFlipTask(u8 taskId); +static bool8 Task_BeginCardFlip(struct Task* task); +static bool8 Task_AnimateCardFlipDown(struct Task* task); +static bool8 Task_DrawFlippedCardSide(struct Task* task); +static bool8 Task_SetCardFlipped(struct Task* task); +static bool8 Task_AnimateCardFlipUp(struct Task* task); +static bool8 Task_EndCardFlip(struct Task *task); +static void InitTrainerCardData(void); static u8 GetCardType(void); -static void sub_808B838(void); +static void CreateTrainerCardTrainerPic(void); // Data -static const u32 sTrainerCardStickers[] = INCBIN_U32("graphics/trainer_card/stickers.4bpp.lz"); -static const u32 sUnknown_83CC4DC[] = INCBIN_U32("graphics/trainer_card/unk_83CC4DC.bin"); -static const u32 sUnknown_83CC6F0[] = INCBIN_U32("graphics/trainer_card/unk_83CC6F0.bin"); -static const u32 sUnknown_83CC8A8[] = INCBIN_U32("graphics/trainer_card/unk_83CC8A8.bin"); -static const u32 sUnknown_83CC984[] = INCBIN_U32("graphics/trainer_card/unk_83CC984.bin"); -static const u32 sUnknown_83CCAB0[] = INCBIN_U32("graphics/trainer_card/unk_83CCAB0.bin"); -static const u32 sUnknown_83CCCA4[] = INCBIN_U32("graphics/trainer_card/unk_83CCCA4.bin"); -static const u32 sUnknown_83CCE30[] = INCBIN_U32("graphics/trainer_card/unk_83CCE30.bin"); -static const u32 sUnknown_83CCEC8[] = INCBIN_U32("graphics/trainer_card/unk_83CCEC8.bin"); -static const u16 sEmeraldTrainerCard1Stars_Pals[] = INCBIN_U16("graphics/trainer_card/em_1stars_pals.gbapal"); -static const u16 sFireRedTrainerCard1Stars_Pals[] = INCBIN_U16("graphics/trainer_card/fr_1stars_pals.gbapal"); -static const u16 sEmeraldTrainerCard2Stars_Pals[] = INCBIN_U16("graphics/trainer_card/em_2stars_pals.gbapal"); -static const u16 sFireRedTrainerCard2Stars_Pals[] = INCBIN_U16("graphics/trainer_card/fr_2stars_pals.gbapal"); -static const u16 sEmeraldTrainerCard3Stars_Pals[] = INCBIN_U16("graphics/trainer_card/em_3stars_pals.gbapal"); -static const u16 sFireRedTrainerCard3Stars_Pals[] = INCBIN_U16("graphics/trainer_card/fr_3stars_pals.gbapal"); -static const u16 sEmeraldTrainerCard4Stars_Pals[] = INCBIN_U16("graphics/trainer_card/em_4stars_pals.gbapal"); -static const u16 sFireRedTrainerCard4Stars_Pals[] = INCBIN_U16("graphics/trainer_card/fr_4stars_pals.gbapal"); -static const u16 sEmeraldTrainerCardFemaleBackground_Pal[] = INCBIN_U16("graphics/trainer_card/em_female_bg.gbapal"); -static const u16 sFireRedTrainerCardFemaleBackground_Pal[] = INCBIN_U16("graphics/trainer_card/fr_female_bg.gbapal"); -static const u16 sEmeraldTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/em_badges.gbapal"); -static const u16 sFireRedTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/fr_badges.gbapal"); -static const u16 sUnknown_83CD300[] = INCBIN_U16("graphics/trainer_card/unk_83CD300.gbapal"); +static const u32 sTrainerCardStickers_Gfx[] = INCBIN_U32("graphics/trainer_card/stickers.4bpp.lz"); +static const u32 sHoennTrainerCardFront_Tilemap[] = INCBIN_U32("graphics/trainer_card/front_hoenn.bin"); +static const u32 sKantoTrainerCardFront_Tilemap[] = INCBIN_U32("graphics/trainer_card/front.bin"); +static const u32 sHoennTrainerCardBack_Tilemap[] = INCBIN_U32("graphics/trainer_card/back_hoenn.bin"); +static const u32 sKantoTrainerCardBack_Tilemap[] = INCBIN_U32("graphics/trainer_card/back.bin"); +static const u32 sHoennTrainerCardFrontLink_Tilemap[] = INCBIN_U32("graphics/trainer_card/front_hoenn_link.bin"); +static const u32 sKantoTrainerCardFrontLink_Tilemap[] = INCBIN_U32("graphics/trainer_card/front_link.bin"); +static const u32 sHoennTrainerCardBg_Tilemap[] = INCBIN_U32("graphics/trainer_card/bg_hoenn.bin"); +static const u32 sKantoTrainerCardBg_Tilemap[] = INCBIN_U32("graphics/trainer_card/bg.bin"); +static const u16 sHoennTrainerCard1Stars_Pals[] = INCBIN_U16("graphics/trainer_card/em_1stars_pals.gbapal"); +static const u16 sKantoTrainerCard1Stars_Pals[] = INCBIN_U16("graphics/trainer_card/fr_1stars_pals.gbapal"); +static const u16 sHoennTrainerCard2Stars_Pals[] = INCBIN_U16("graphics/trainer_card/em_2stars_pals.gbapal"); +static const u16 sKantoTrainerCard2Stars_Pals[] = INCBIN_U16("graphics/trainer_card/fr_2stars_pals.gbapal"); +static const u16 sHoennTrainerCard3Stars_Pals[] = INCBIN_U16("graphics/trainer_card/em_3stars_pals.gbapal"); +static const u16 sKantoTrainerCard3Stars_Pals[] = INCBIN_U16("graphics/trainer_card/fr_3stars_pals.gbapal"); +static const u16 sHoennTrainerCard4Stars_Pals[] = INCBIN_U16("graphics/trainer_card/em_4stars_pals.gbapal"); +static const u16 sKantoTrainerCard4Stars_Pals[] = INCBIN_U16("graphics/trainer_card/fr_4stars_pals.gbapal"); +static const u16 sHoennTrainerCardFemaleBackground_Pal[] = INCBIN_U16("graphics/trainer_card/em_female_bg.gbapal"); +static const u16 sKantoTrainerCardFemaleBackground_Pal[] = INCBIN_U16("graphics/trainer_card/fr_female_bg.gbapal"); +static const u16 sHoennTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/em_badges.gbapal"); +static const u16 sKantoTrainerCardBadges_Pal[] = INCBIN_U16("graphics/trainer_card/fr_badges.gbapal"); +static const u16 sTrainerCardGold_Pal[] = INCBIN_U16("graphics/trainer_card/gold.gbapal"); static const u16 sTrainerCardStickerPal1[] = INCBIN_U16("graphics/trainer_card/sticker1.gbapal"); static const u16 sTrainerCardStickerPal2[] = INCBIN_U16("graphics/trainer_card/sticker2.gbapal"); static const u16 sTrainerCardStickerPal3[] = INCBIN_U16("graphics/trainer_card/sticker3.gbapal"); static const u16 sTrainerCardStickerPal4[] = INCBIN_U16("graphics/trainer_card/sticker4.gbapal"); -static const u32 sEmeraldTrainerCardBadges_Tile[] = INCBIN_U32("graphics/trainer_card/em_badges.4bpp.lz"); -static const u32 sFireRedTrainerCardBadges_Tile[] = INCBIN_U32("graphics/trainer_card/badges.4bpp.lz"); +static const u32 sHoennTrainerCardBadges_Gfx[] = INCBIN_U32("graphics/trainer_card/em_badges.4bpp.lz"); +static const u32 sKantoTrainerCardBadges_Gfx[] = INCBIN_U32("graphics/trainer_card/badges.4bpp.lz"); static const struct BgTemplate sTrainerCardBgTemplates[4] = { @@ -277,150 +264,190 @@ static const struct WindowTemplate sTrainerCardWindowTemplates[4] = DUMMY_WIN_TEMPLATE }; -static const u16 *const sEmeraldTrainerCardStarPals[] = +static const u16 *const sHoennTrainerCardStarPals[] = { - gEmeraldTrainerCard_Pal, - sEmeraldTrainerCard1Stars_Pals, - sEmeraldTrainerCard2Stars_Pals, - sEmeraldTrainerCard3Stars_Pals, - sEmeraldTrainerCard4Stars_Pals + gHoennTrainerCard_Pal, + sHoennTrainerCard1Stars_Pals, + sHoennTrainerCard2Stars_Pals, + sHoennTrainerCard3Stars_Pals, + sHoennTrainerCard4Stars_Pals }; -static const u16 *const sFireRedTrainerCardStarPals[] = +static const u16 *const sKantoTrainerCardStarPals[] = { - gFireRedTrainerCard_Pal, - sFireRedTrainerCard1Stars_Pals, - sFireRedTrainerCard2Stars_Pals, - sFireRedTrainerCard3Stars_Pals, - sFireRedTrainerCard4Stars_Pals + gKantoTrainerCard_Pal, + sKantoTrainerCard1Stars_Pals, + sKantoTrainerCard2Stars_Pals, + sKantoTrainerCard3Stars_Pals, + sKantoTrainerCard4Stars_Pals }; -static const u8 sFireRedTrainerCardPage1TextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY}; -static const u8 sTrainerCardPage2TextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED}; -static const u8 sEmeraldTrainerCardPage1TextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_TRANSPARENT}; +static const u8 sTrainerCardTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY}; +static const u8 sTrainerCardStatColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED}; +static const u8 sTimeColonInvisibleTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_TRANSPARENT}; static const u8 sTrainerCardFontIds[] = {0, 2, 0}; -static const u8 sTrainerCardPicPositions[][2][2] = +static const u8 sTrainerPicOffsets[2][GENDER_COUNT][2] = { - {{13, 4}, {13, 4}}, - {{1, 0}, {1, 0}} + // Kanto + { + [MALE] = {13, 4}, + [FEMALE] = {13, 4} + }, + // Hoenn + { + [MALE] = {1, 0}, + [FEMALE] = {1, 0} + } }; -static const u8 sLinkTrainerCardFrontPics[][2] = +static const u8 sTrainerPicFacilityClasses[][2] = { - {TRAINER_PIC_RS_MAY_2, TRAINER_PIC_RED}, - {TRAINER_PIC_PROFESSOR_OAK, TRAINER_PIC_RS_BRENDAN_2}, + [CARD_TYPE_FRLG] = + { + [MALE] = FACILITY_CLASS_RED, + [FEMALE] = FACILITY_CLASS_LEAF + }, + [CARD_TYPE_RSE] = + { + [MALE] = FACILITY_CLASS_BRENDAN, + [FEMALE] = FACILITY_CLASS_MAY + }, }; -static const u8 sLinkTrainerCardFacilityClasses[][8] = +static const u8 sLinkTrainerPicFacilityClasses[GENDER_COUNT][NUM_LINK_TRAINER_CARD_CLASSES] = { - {0x74, 0x6F, 0x5C, 0x58, 0x6A, 0x59, 0x6D, 0x6C}, - {0x75, 0x7D, 0x5D, 0x5A, 0x16, 0x30, 0x41, 0x68} + [MALE] = + { + FACILITY_CLASS_COOLTRAINER_3, + FACILITY_CLASS_BLACK_BELT_2, + FACILITY_CLASS_CAMPER_2, + FACILITY_CLASS_YOUNGSTER_2, + FACILITY_CLASS_PSYCHIC_3, + FACILITY_CLASS_BUG_CATCHER_2, + FACILITY_CLASS_TAMER, + FACILITY_CLASS_JUGGLER + }, + [FEMALE] = + { + FACILITY_CLASS_COOLTRAINER_4, + FACILITY_CLASS_CHANNELER, + FACILITY_CLASS_PICNICKER_2, + FACILITY_CLASS_LASS_2, + FACILITY_CLASS_PSYCHIC_2, + FACILITY_CLASS_BATTLE_GIRL, + FACILITY_CLASS_PKMN_BREEDER_2, + FACILITY_CLASS_BEAUTY_2 + } }; -static bool8 (*const sTrainerCardTasks[])(struct Task *) = +static bool8 (*const sTrainerCardFlipTasks[])(struct Task *) = { - sub_808B254, - sub_808B294, - sub_808B3C4, - sub_808B4D8, - sub_808B540, - sub_808B66C + Task_BeginCardFlip, + Task_AnimateCardFlipDown, + Task_DrawFlippedCardSide, + Task_SetCardFlipped, + Task_AnimateCardFlipUp, + Task_EndCardFlip }; -static const u8 sTrainerCardPlayerNameXPositions[] = {0x14, 0x10}; -static const u8 sTrainerCardPlayerNameYPositions[] = {0x1D, 0x21}; +static const u8 sTrainerCardFrontNameXPositions[] = {0x14, 0x10}; +static const u8 sTrainerCardFrontNameYPositions[] = {0x1D, 0x21}; static const u8 sTrainerCardIdXPositions[] = {0x8E, 0x80}; static const u8 sTrainerCardIdYPositions[] = {0xA, 0x9}; -static const u8 *const sTrainerCardTextColors[] = {sFireRedTrainerCardPage1TextColors, sEmeraldTrainerCardPage1TextColors}; +static const u8 *const sTimeColonTextColors[] = {sTrainerCardTextColors, sTimeColonInvisibleTextColors}; static const u8 sTrainerCardTimeHoursXPositions[] = {0x65, 0x55}; static const u8 sTrainerCardTimeHoursYPositions[] = {0x77, 0x67}; static const u8 sTrainerCardTimeMinutesXPositions[] = {0x7C, 0x6C}; static const u8 sTrainerCardTimeMinutesYPositions[] = {0x58, 0x59}; static const u8 sTrainerCardProfilePhraseXPositions[] = {0x73, 0x69}; static const u8 sTrainerCardProfilePhraseYPositions[] = {0x82, 0x78}; -static const u8 sUnknown_83CD93C[] = {0x8A, 0xD8}; -static const u8 sUnknown_83CD93E[] = {0xB, 0xA}; +static const u8 sTrainerCardBackNameXPositions[] = {0x8A, 0xD8}; +static const u8 sTrainerCardBackNameYPositions[] = {0xB, 0xA}; static const u8 sTrainerCardHofDebutXPositions[] = {0xA, 0x10, 0x0, 0x0}; static const u8 *const sLinkTrainerCardRecordStrings[] = {gText_LinkBattles, gText_LinkCableBattles}; -static const u8 sUnknown_83CD94C[] = {5, 6, 7, 8, 9, 10}; -static const u8 sUnknown_83CD952[] = {0, 4, 8, 12, 16, 20}; -static const u8 sUnknown_83CD958[] = {11, 12, 13, 14}; -static const u8 sUnknown_83CD95C[] = {7, 6, 0, 0}; +static const u8 sPokemonIconPalSlots[] = {5, 6, 7, 8, 9, 10}; +static const u8 sPokemonIconXOffsets[] = {0, 4, 8, 12, 16, 20}; +static const u8 sStickerPalSlots[] = {11, 12, 13, 14}; +static const u8 sStarYOffsets[] = {7, 6, 0, 0}; static const struct TrainerCard sLinkPlayerTrainerCardTemplate1 = { - .gender = MALE, - .stars = 4, - .hasPokedex = TRUE, - .caughtAllHoenn = TRUE, - .hasAllPaintings = TRUE, - .hofDebutHours = 999, - .hofDebutMinutes = 59, - .hofDebutSeconds = 59, - .caughtMonsCount = 200, - .trainerId = 0x6072, - .playTimeHours = 999, - .playTimeMinutes = 59, - .linkBattleWins = 5535, - .linkBattleLosses = 5535, - .battleTowerWins = 5535, - .battleTowerStraightWins = 5535, - .contestsWithFriends = 55555, - .pokeblocksWithFriends = 44444, - .pokemonTrades = 33333, - .money = 999999, - .var_28 = {0, 0, 0, 0}, - .playerName = _("あかみ どりお"), + .rse = { + .gender = MALE, + .stars = 4, + .hasPokedex = TRUE, + .caughtAllHoenn = TRUE, + .hasAllPaintings = TRUE, + .hofDebutHours = 999, + .hofDebutMinutes = 59, + .hofDebutSeconds = 59, + .caughtMonsCount = 200, + .trainerId = 0x6072, + .playTimeHours = 999, + .playTimeMinutes = 59, + .linkBattleWins = 5535, + .linkBattleLosses = 5535, + .battleTowerWins = 5535, + .battleTowerStraightWins = 5535, + .contestsWithFriends = 55555, + .pokeblocksWithFriends = 44444, + .pokemonTrades = 33333, + .money = 999999, + .easyChatProfile = {0, 0, 0, 0}, + .playerName = _("あかみ どりお") + }, .version = VERSION_FIRE_RED, - .var_3A = 0, + .hasAllFrontierSymbols = FALSE, .berryCrushPoints = 5555, .unionRoomNum = 8500, .berriesPicked = 5456, .jumpsInRow = 6300, - .var_4C = TRUE, + .shouldDrawStickers = TRUE, .hasAllMons = TRUE, - .var_4E = 2, - .var_4F = 0, - .var_50 = {1, 2, 3, 0}, + .monIconTint = MON_ICON_TINT_PINK, + .facilityClass = 0, + .stickers = {1, 2, 3}, .monSpecies = {SPECIES_CHARIZARD, SPECIES_DIGLETT, SPECIES_NIDORINA, SPECIES_FEAROW, SPECIES_PARAS, SPECIES_SLOWBRO} }; static const struct TrainerCard sLinkPlayerTrainerCardTemplate2 = { - .gender = FEMALE, - .stars = 2, - .hasPokedex = TRUE, - .caughtAllHoenn = TRUE, - .hasAllPaintings = TRUE, - .hofDebutHours = 999, - .hofDebutMinutes = 59, - .hofDebutSeconds = 59, - .caughtMonsCount = 200, - .trainerId = 0x6072, - .playTimeHours = 999, - .playTimeMinutes = 59, - .linkBattleWins = 5535, - .linkBattleLosses = 5535, - .battleTowerWins = 65535, - .battleTowerStraightWins = 65535, - .contestsWithFriends = 55555, - .pokeblocksWithFriends = 44444, - .pokemonTrades = 33333, - .money = 999999, - .var_28 = {0, 0, 0, 0}, - .playerName = _("るびさふぁこ!"), + .rse = { + .gender = FEMALE, + .stars = 2, + .hasPokedex = TRUE, + .caughtAllHoenn = TRUE, + .hasAllPaintings = TRUE, + .hofDebutHours = 999, + .hofDebutMinutes = 59, + .hofDebutSeconds = 59, + .caughtMonsCount = 200, + .trainerId = 0x6072, + .playTimeHours = 999, + .playTimeMinutes = 59, + .linkBattleWins = 5535, + .linkBattleLosses = 5535, + .battleTowerWins = 65535, + .battleTowerStraightWins = 65535, + .contestsWithFriends = 55555, + .pokeblocksWithFriends = 44444, + .pokemonTrades = 33333, + .money = 999999, + .easyChatProfile = {0, 0, 0, 0}, + .playerName = _("るびさふぁこ!") + }, .version = 0, - .var_3A = 0, + .hasAllFrontierSymbols = FALSE, .berryCrushPoints = 555, .unionRoomNum = 500, .berriesPicked = 456, .jumpsInRow = 300, - .var_4C = TRUE, + .shouldDrawStickers = TRUE, .hasAllMons = TRUE, - .var_4E = 2, - .var_4F = 0, - .var_50 = {1, 2, 3, 0}, + .monIconTint = MON_ICON_TINT_PINK, + .facilityClass = 0, + .stickers = {1, 2, 3}, .monSpecies = {SPECIES_CHARIZARD, SPECIES_DIGLETT, SPECIES_NIDORINA, SPECIES_FEAROW, SPECIES_PARAS, SPECIES_SLOWBRO} }; @@ -430,7 +457,7 @@ static void VBlankCB_TrainerCard(void) LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); - sub_808B180(); + BlinkTimeColon(); if (sTrainerCardDataPtr->allowDMACopy) DmaCopy16(3, &gScanlineEffectRegBuffers[0], &gScanlineEffectRegBuffers[1], 0x140); } @@ -463,43 +490,54 @@ static void CloseTrainerCard(u8 taskId) DestroyTask(taskId); } +// States for Task_TrainerCard. Skips the initial states, which are done once in order +#define STATE_HANDLE_INPUT_FRONT 10 +#define STATE_HANDLE_INPUT_BACK 11 +#define STATE_WAIT_FLIP_TO_BACK 12 +#define STATE_WAIT_FLIP_TO_FRONT 13 +#define STATE_CLOSE_CARD 14 +#define STATE_WAIT_LINK_PARTNER 15 +#define STATE_CLOSE_CARD_LINK 16 + static void Task_TrainerCard(u8 taskId) { - switch (sTrainerCardDataPtr->taskState) + switch (sTrainerCardDataPtr->mainState) { + // Draw card initially case 0: if (!IsDma3ManagerBusyWithBgCopy()) { FillWindowPixelBuffer(1, PIXEL_FILL(0)); - sTrainerCardDataPtr->taskState++; + sTrainerCardDataPtr->mainState++; } break; case 1: - if (PrintAllOnCardPage1()) - sTrainerCardDataPtr->taskState++; + if (PrintAllOnCardFront()) + sTrainerCardDataPtr->mainState++; break; case 2: - PutTrainerCardWindow(1); - sTrainerCardDataPtr->taskState++; + DrawTrainerCardWindow(1); + sTrainerCardDataPtr->mainState++; break; case 3: FillWindowPixelBuffer(2, PIXEL_FILL(0)); - sub_808B838(); - PutTrainerCardWindow(2); - sTrainerCardDataPtr->taskState++; + CreateTrainerCardTrainerPic(); + DrawTrainerCardWindow(2); + sTrainerCardDataPtr->mainState++; break; case 4: - LoadTrainerCardTilemap2(&sTrainerCardDataPtr->var_E1C); - sTrainerCardDataPtr->taskState++; + DrawCardScreenBackground(sTrainerCardDataPtr->bgTilemap); + sTrainerCardDataPtr->mainState++; break; case 5: - LoadTrainerCardTilemap0(&sTrainerCardDataPtr->var_4BC); - sTrainerCardDataPtr->taskState++; + DrawCardFrontOrBack(sTrainerCardDataPtr->frontTilemap); + sTrainerCardDataPtr->mainState++; break; case 6: - TrainerCard_PrintStarsAndBadgesOnCard(); - sTrainerCardDataPtr->taskState++; + DrawStarsAndBadgesOnCard(); + sTrainerCardDataPtr->mainState++; break; + // Fade in case 7: if (gWirelessCommType == 1 && gReceivedRemoteLinkPlayers == TRUE) { @@ -508,71 +546,72 @@ static void Task_TrainerCard(u8 taskId) } BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); SetVBlankCallback(VBlankCB_TrainerCard); - sTrainerCardDataPtr->taskState++; + sTrainerCardDataPtr->mainState++; break; case 8: if (!UpdatePaletteFade() && !IsDma3ManagerBusyWithBgCopy()) { PlaySE(SE_CARD3); - sTrainerCardDataPtr->taskState = 10; + sTrainerCardDataPtr->mainState = STATE_HANDLE_INPUT_FRONT; } break; case 9: if (!IsSEPlaying()) - sTrainerCardDataPtr->taskState++; + sTrainerCardDataPtr->mainState++; break; - case 10: - if (!gReceivedRemoteLinkPlayers && sTrainerCardDataPtr->var_7BCE) + case STATE_HANDLE_INPUT_FRONT: + // Blink the : in play time + if (!gReceivedRemoteLinkPlayers && sTrainerCardDataPtr->timeColonNeedDraw) { PrintTimeOnCard(); - PutTrainerCardWindow(1); - sTrainerCardDataPtr->var_7BCE = FALSE; + DrawTrainerCardWindow(1); + sTrainerCardDataPtr->timeColonNeedDraw = FALSE; } if (JOY_NEW(A_BUTTON)) { - HelpSystem_SetSomeVariable2(11); - sub_808B1D4(); + SetHelpContext(HELPCONTEXT_TRAINER_CARD_BACK); + FlipTrainerCard(); PlaySE(SE_CARD1); - sTrainerCardDataPtr->taskState = 12; + sTrainerCardDataPtr->mainState = STATE_WAIT_FLIP_TO_BACK; } else if (JOY_NEW(B_BUTTON)) { if (gReceivedRemoteLinkPlayers && sTrainerCardDataPtr->isLink && InUnionRoom() == TRUE) { - sTrainerCardDataPtr->taskState = 15; + sTrainerCardDataPtr->mainState = STATE_WAIT_LINK_PARTNER; } else { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - sTrainerCardDataPtr->taskState = 14; + sTrainerCardDataPtr->mainState = STATE_CLOSE_CARD; } } break; - case 12: - if (sub_808B1FC() && sub_8058244() != TRUE) + case STATE_WAIT_FLIP_TO_BACK: + if (IsCardFlipTaskActive() && sub_8058244() != TRUE) { PlaySE(SE_CARD3); - sTrainerCardDataPtr->taskState = 11; + sTrainerCardDataPtr->mainState = STATE_HANDLE_INPUT_BACK; } break; - case 11: + case STATE_HANDLE_INPUT_BACK: if (JOY_NEW(B_BUTTON)) { if (gReceivedRemoteLinkPlayers && sTrainerCardDataPtr->isLink && InUnionRoom() == TRUE) { - sTrainerCardDataPtr->taskState = 15; + sTrainerCardDataPtr->mainState = STATE_WAIT_LINK_PARTNER; } else if (gReceivedRemoteLinkPlayers) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - sTrainerCardDataPtr->taskState = 14; + sTrainerCardDataPtr->mainState = STATE_CLOSE_CARD; } else { - HelpSystem_SetSomeVariable2(10); - sub_808B1D4(); - sTrainerCardDataPtr->taskState = 13; + SetHelpContext(HELPCONTEXT_TRAINER_CARD_FRONT); + FlipTrainerCard(); + sTrainerCardDataPtr->mainState = STATE_WAIT_FLIP_TO_FRONT; PlaySE(SE_CARD1); } } @@ -580,37 +619,37 @@ static void Task_TrainerCard(u8 taskId) { if (gReceivedRemoteLinkPlayers && sTrainerCardDataPtr->isLink && InUnionRoom() == TRUE) { - sTrainerCardDataPtr->taskState = 15; + sTrainerCardDataPtr->mainState = STATE_WAIT_LINK_PARTNER; } else { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - sTrainerCardDataPtr->taskState = 14; + sTrainerCardDataPtr->mainState = STATE_CLOSE_CARD; } } break; - case 15: - sub_800AAC0(); + case STATE_WAIT_LINK_PARTNER: + Link_TryStartSend5FFF(); DrawDialogueFrame(0, 1); AddTextPrinterParameterized(0, 2, gText_WaitingTrainerFinishReading, 0, 1, TEXT_SPEED_FF, 0); CopyWindowToVram(0, 3); - sTrainerCardDataPtr->taskState = 16; + sTrainerCardDataPtr->mainState = STATE_CLOSE_CARD_LINK; break; - case 16: + case STATE_CLOSE_CARD_LINK: if (!gReceivedRemoteLinkPlayers) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - sTrainerCardDataPtr->taskState = 14; + sTrainerCardDataPtr->mainState = STATE_CLOSE_CARD; } break; - case 14: + case STATE_CLOSE_CARD: if (!UpdatePaletteFade()) CloseTrainerCard(taskId); break; - case 13: - if (sub_808B1FC() && sub_8058244() != TRUE) + case STATE_WAIT_FLIP_TO_FRONT: + if (IsCardFlipTaskActive() && sub_8058244() != TRUE) { - sTrainerCardDataPtr->taskState = 10; + sTrainerCardDataPtr->mainState = STATE_HANDLE_INPUT_FRONT; PlaySE(SE_CARD3); } break; @@ -622,45 +661,46 @@ static bool8 LoadCardGfx(void) switch (sTrainerCardDataPtr->gfxLoadState) { case 0: - if (sTrainerCardDataPtr->cardType == CARD_TYPE_EMERALD) - LZ77UnCompWram(sUnknown_83CCE30, &sTrainerCardDataPtr->var_E1C); + if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE) + LZ77UnCompWram(sHoennTrainerCardBg_Tilemap, sTrainerCardDataPtr->bgTilemap); else - LZ77UnCompWram(sUnknown_83CCEC8, &sTrainerCardDataPtr->var_E1C); + LZ77UnCompWram(sKantoTrainerCardBg_Tilemap, sTrainerCardDataPtr->bgTilemap); break; case 1: - if (sTrainerCardDataPtr->cardType == CARD_TYPE_EMERALD) - LZ77UnCompWram(sUnknown_83CC8A8, &sTrainerCardDataPtr->var_96C); + if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE) + LZ77UnCompWram(sHoennTrainerCardBack_Tilemap, sTrainerCardDataPtr->backTilemap); else - LZ77UnCompWram(sUnknown_83CC984, &sTrainerCardDataPtr->var_96C); + LZ77UnCompWram(sKantoTrainerCardBack_Tilemap, sTrainerCardDataPtr->backTilemap); break; case 2: if (!sTrainerCardDataPtr->isLink) { - if (sTrainerCardDataPtr->cardType == CARD_TYPE_EMERALD) - LZ77UnCompWram(sUnknown_83CC4DC, &sTrainerCardDataPtr->var_4BC); + if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE) + LZ77UnCompWram(sHoennTrainerCardFront_Tilemap, sTrainerCardDataPtr->frontTilemap); else - LZ77UnCompWram(sUnknown_83CC6F0, &sTrainerCardDataPtr->var_4BC); + LZ77UnCompWram(sKantoTrainerCardFront_Tilemap, sTrainerCardDataPtr->frontTilemap); } else { - if (sTrainerCardDataPtr->cardType == CARD_TYPE_EMERALD) - LZ77UnCompWram(sUnknown_83CCAB0, &sTrainerCardDataPtr->var_4BC); + if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE) + LZ77UnCompWram(sHoennTrainerCardFrontLink_Tilemap, sTrainerCardDataPtr->frontTilemap); else - LZ77UnCompWram(sUnknown_83CCCA4, &sTrainerCardDataPtr->var_4BC); + LZ77UnCompWram(sKantoTrainerCardFrontLink_Tilemap, sTrainerCardDataPtr->frontTilemap); } break; case 3: - LZ77UnCompWram(sFireRedTrainerCardBadges_Tile, &sTrainerCardDataPtr->cardTiles); + // ? Doesnt check for RSE, sHoennTrainerCardBadges_Gfx goes unused + LZ77UnCompWram(sKantoTrainerCardBadges_Gfx, sTrainerCardDataPtr->badgeTiles); break; case 4: - if (sTrainerCardDataPtr->cardType == CARD_TYPE_EMERALD) - LZ77UnCompWram(gEmeraldTrainerCard_Gfx, &sTrainerCardDataPtr->var_18CC); + if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE) + LZ77UnCompWram(gHoennTrainerCard_Gfx, &sTrainerCardDataPtr->cardTiles); else - LZ77UnCompWram(gFireRedTrainerCard_Gfx, &sTrainerCardDataPtr->var_18CC); + LZ77UnCompWram(gKantoTrainerCard_Gfx, &sTrainerCardDataPtr->cardTiles); break; case 5: if (sTrainerCardDataPtr->cardType == CARD_TYPE_FRLG) - LZ77UnCompWram(sTrainerCardStickers, &sTrainerCardDataPtr->bgTiles); + LZ77UnCompWram(sTrainerCardStickers_Gfx, sTrainerCardDataPtr->stickerTiles); break; default: sTrainerCardDataPtr->gfxLoadState = 0; @@ -676,7 +716,7 @@ static void CB2_InitTrainerCard(void) { case 0: ResetGpuRegs(); - sub_8089DA4(); + SetUpTrainerCardTask(); gMain.state++; break; case 1: @@ -696,7 +736,7 @@ static void CB2_InitTrainerCard(void) gMain.state++; break; case 5: - ResetTrainerCard(); + InitBgsAndWindows(); gMain.state++; break; case 6: @@ -704,7 +744,7 @@ static void CB2_InitTrainerCard(void) gMain.state++; break; case 7: - sub_808AB10(); + LoadMonIconGfx(); gMain.state++; break; case 8: @@ -712,7 +752,7 @@ static void CB2_InitTrainerCard(void) gMain.state++; break; case 9: - TrainerCardLoadStickerPals(); + LoadStickerGfx(); gMain.state++; break; case 10: @@ -720,7 +760,7 @@ static void CB2_InitTrainerCard(void) gMain.state++; break; case 11: - sub_8089ECC(); + BufferTextForCardBack(); gMain.state++; break; case 12: @@ -746,16 +786,16 @@ static u8 GetTrainerStarCount(struct TrainerCard *trainerCard) { u8 stars = 0; - if (trainerCard->hofDebutHours != 0 || trainerCard->hofDebutMinutes != 0 || trainerCard->hofDebutSeconds != 0) + if (trainerCard->rse.hofDebutHours != 0 || trainerCard->rse.hofDebutMinutes != 0 || trainerCard->rse.hofDebutSeconds != 0) stars++; - if (trainerCard->caughtAllHoenn) + if (trainerCard->rse.caughtAllHoenn) stars++; - if (trainerCard->battleTowerStraightWins > 49) + if (trainerCard->rse.battleTowerStraightWins > 49) stars++; - if (trainerCard->hasAllPaintings) + if (trainerCard->rse.hasAllPaintings) stars++; return stars; @@ -766,63 +806,63 @@ static void SetPlayerCardData(struct TrainerCard *trainerCard, u8 cardType) u32 playTime; u8 i; - trainerCard->gender = gSaveBlock2Ptr->playerGender; - trainerCard->playTimeHours = gSaveBlock2Ptr->playTimeHours; - trainerCard->playTimeMinutes = gSaveBlock2Ptr->playTimeMinutes; + trainerCard->rse.gender = gSaveBlock2Ptr->playerGender; + trainerCard->rse.playTimeHours = gSaveBlock2Ptr->playTimeHours; + trainerCard->rse.playTimeMinutes = gSaveBlock2Ptr->playTimeMinutes; playTime = GetGameStat(GAME_STAT_FIRST_HOF_PLAY_TIME); if (!GetGameStat(GAME_STAT_ENTERED_HOF)) playTime = 0; - trainerCard->hofDebutHours = playTime >> 16; - trainerCard->hofDebutMinutes = (playTime >> 8) & 0xFF; - trainerCard->hofDebutSeconds = playTime & 0xFF; + trainerCard->rse.hofDebutHours = playTime >> 16; + trainerCard->rse.hofDebutMinutes = (playTime >> 8) & 0xFF; + trainerCard->rse.hofDebutSeconds = playTime & 0xFF; if ((playTime >> 16) > 999) { - trainerCard->hofDebutHours = 999; - trainerCard->hofDebutMinutes = 59; - trainerCard->hofDebutSeconds = 59; + trainerCard->rse.hofDebutHours = 999; + trainerCard->rse.hofDebutMinutes = 59; + trainerCard->rse.hofDebutSeconds = 59; } - trainerCard->hasPokedex = FlagGet(FLAG_SYS_POKEDEX_GET); - trainerCard->caughtAllHoenn = HasAllHoennMons(); - trainerCard->caughtMonsCount = GetCaughtMonsCount(); + trainerCard->rse.hasPokedex = FlagGet(FLAG_SYS_POKEDEX_GET); + trainerCard->rse.caughtAllHoenn = HasAllHoennMons(); + trainerCard->rse.caughtMonsCount = GetCaughtMonsCount(); - trainerCard->trainerId = (gSaveBlock2Ptr->playerTrainerId[1] << 8) | gSaveBlock2Ptr->playerTrainerId[0]; + trainerCard->rse.trainerId = (gSaveBlock2Ptr->playerTrainerId[1] << 8) | gSaveBlock2Ptr->playerTrainerId[0]; - trainerCard->linkBattleWins = GetCappedGameStat(GAME_STAT_LINK_BATTLE_WINS, 9999); - trainerCard->linkBattleLosses = GetCappedGameStat(GAME_STAT_LINK_BATTLE_LOSSES, 9999); - trainerCard->pokemonTrades = GetCappedGameStat(GAME_STAT_POKEMON_TRADES, 0xFFFF); + trainerCard->rse.linkBattleWins = GetCappedGameStat(GAME_STAT_LINK_BATTLE_WINS, 9999); + trainerCard->rse.linkBattleLosses = GetCappedGameStat(GAME_STAT_LINK_BATTLE_LOSSES, 9999); + trainerCard->rse.pokemonTrades = GetCappedGameStat(GAME_STAT_POKEMON_TRADES, 0xFFFF); - trainerCard->battleTowerWins = 0; - trainerCard->battleTowerStraightWins = 0; - trainerCard->contestsWithFriends = 0; - trainerCard->pokeblocksWithFriends = 0; + trainerCard->rse.battleTowerWins = 0; + trainerCard->rse.battleTowerStraightWins = 0; + trainerCard->rse.contestsWithFriends = 0; + trainerCard->rse.pokeblocksWithFriends = 0; - trainerCard->hasAllPaintings = FALSE; + trainerCard->rse.hasAllPaintings = FALSE; - trainerCard->money = GetMoney(&gSaveBlock1Ptr->money); + trainerCard->rse.money = GetMoney(&gSaveBlock1Ptr->money); - for (i = 0; i < 4; i++) - trainerCard->var_28[i] = gSaveBlock1Ptr->easyChatProfile[i]; + for (i = 0; i < TRAINER_CARD_PROFILE_LENGTH; i++) + trainerCard->rse.easyChatProfile[i] = gSaveBlock1Ptr->easyChatProfile[i]; - StringCopy(trainerCard->playerName, gSaveBlock2Ptr->playerName); + StringCopy(trainerCard->rse.playerName, gSaveBlock2Ptr->playerName); if (cardType == CARD_TYPE_FRLG) { - trainerCard->stars = GetTrainerStarCount(trainerCard); + trainerCard->rse.stars = GetTrainerStarCount(trainerCard); } - else if (cardType == CARD_TYPE_EMERALD) + else if (cardType == CARD_TYPE_RSE) { - trainerCard->stars = 0; - if (trainerCard->hofDebutHours != 0 || (trainerCard->hofDebutMinutes != 0 || trainerCard->hofDebutSeconds != 0)) - trainerCard->stars = cardType; + trainerCard->rse.stars = 0; + if (trainerCard->rse.hofDebutHours != 0 || (trainerCard->rse.hofDebutMinutes != 0 || trainerCard->rse.hofDebutSeconds != 0)) + trainerCard->rse.stars = cardType; if (HasAllKantoMons()) - trainerCard->stars++; + trainerCard->rse.stars++; if (HasAllMons()) - trainerCard->stars++; + trainerCard->rse.stars++; } } @@ -831,43 +871,43 @@ void TrainerCard_GenerateCardForLinkPlayer(struct TrainerCard *trainerCard) u8 id = 0; trainerCard->version = GAME_VERSION; - SetPlayerCardData(trainerCard, CARD_TYPE_EMERALD); + SetPlayerCardData(trainerCard, CARD_TYPE_RSE); if (GetCardType() != CARD_TYPE_FRLG) return; - trainerCard->stars = id; - if (trainerCard->hofDebutHours != 0 || trainerCard->hofDebutMinutes != 0 || trainerCard->hofDebutSeconds != 0) - trainerCard->stars = 1; + trainerCard->rse.stars = id; + if (trainerCard->rse.hofDebutHours != 0 || trainerCard->rse.hofDebutMinutes != 0 || trainerCard->rse.hofDebutSeconds != 0) + trainerCard->rse.stars = 1; - trainerCard->caughtAllHoenn = HasAllKantoMons(); + trainerCard->rse.caughtAllHoenn = HasAllKantoMons(); trainerCard->hasAllMons = HasAllMons(); trainerCard->berriesPicked = gSaveBlock2Ptr->berryPick.berriesPicked; trainerCard->jumpsInRow = gSaveBlock2Ptr->pokeJump.jumpsInRow; trainerCard->berryCrushPoints = GetCappedGameStat(GAME_STAT_BERRY_CRUSH_POINTS, 0xFFFF); trainerCard->unionRoomNum = GetCappedGameStat(GAME_STAT_NUM_UNION_ROOM_BATTLES, 0xFFFF); - trainerCard->var_4C = TRUE; + trainerCard->shouldDrawStickers = TRUE; - if (trainerCard->caughtAllHoenn) - trainerCard->stars++; + if (trainerCard->rse.caughtAllHoenn) + trainerCard->rse.stars++; if (trainerCard->hasAllMons) - trainerCard->stars++; + trainerCard->rse.stars++; if (trainerCard->berriesPicked >= 200 && trainerCard->jumpsInRow >= 200) - trainerCard->stars++; + trainerCard->rse.stars++; - id = ((u16)trainerCard->trainerId) % 8; - if (trainerCard->gender == FEMALE) - trainerCard->var_4F = sLinkTrainerCardFacilityClasses[1][id]; + id = ((u16)trainerCard->rse.trainerId) % NUM_LINK_TRAINER_CARD_CLASSES; + if (trainerCard->rse.gender == FEMALE) + trainerCard->facilityClass = sLinkTrainerPicFacilityClasses[FEMALE][id]; else - trainerCard->var_4F = sLinkTrainerCardFacilityClasses[0][id]; + trainerCard->facilityClass = sLinkTrainerPicFacilityClasses[MALE][id]; - trainerCard->var_50[0] = VarGet(VAR_HOF_BRAG_STATE); - trainerCard->var_50[1] = VarGet(VAR_EGG_BRAG_STATE); - trainerCard->var_50[2] = VarGet(VAR_LINK_WIN_BRAG_STATE); + trainerCard->stickers[0] = VarGet(VAR_HOF_BRAG_STATE); + trainerCard->stickers[1] = VarGet(VAR_EGG_BRAG_STATE); + trainerCard->stickers[2] = VarGet(VAR_LINK_WIN_BRAG_STATE); - trainerCard->var_4E = VarGet(VAR_TRAINER_CARD_MON_ICON_TINT_IDX); + trainerCard->monIconTint = VarGet(VAR_TRAINER_CARD_MON_ICON_TINT_IDX); trainerCard->monSpecies[0] = MailSpeciesToIconSpecies(VarGet(VAR_TRAINER_CARD_MON_ICON_1)); trainerCard->monSpecies[1] = MailSpeciesToIconSpecies(VarGet(VAR_TRAINER_CARD_MON_ICON_2)); @@ -890,19 +930,19 @@ static void SetDataFromTrainerCard(void) sTrainerCardDataPtr->var_F = FALSE; sTrainerCardDataPtr->hasTrades = FALSE; - memset(&sTrainerCardDataPtr->hasBadge, FALSE, BADGE_COUNT); - if (sTrainerCardDataPtr->trainerCard.hasPokedex) + memset(sTrainerCardDataPtr->hasBadge, FALSE, sizeof(sTrainerCardDataPtr->hasBadge)); + if (sTrainerCardDataPtr->trainerCard.rse.hasPokedex) sTrainerCardDataPtr->hasPokedex++; - if (sTrainerCardDataPtr->trainerCard.hofDebutHours != 0 - || sTrainerCardDataPtr->trainerCard.hofDebutMinutes != 0 - || sTrainerCardDataPtr->trainerCard.hofDebutSeconds != 0) + if (sTrainerCardDataPtr->trainerCard.rse.hofDebutHours != 0 + || sTrainerCardDataPtr->trainerCard.rse.hofDebutMinutes != 0 + || sTrainerCardDataPtr->trainerCard.rse.hofDebutSeconds != 0) sTrainerCardDataPtr->hasHofResult++; - if (sTrainerCardDataPtr->trainerCard.linkBattleWins != 0 || sTrainerCardDataPtr->trainerCard.linkBattleLosses != 0) + if (sTrainerCardDataPtr->trainerCard.rse.linkBattleWins != 0 || sTrainerCardDataPtr->trainerCard.rse.linkBattleLosses != 0) sTrainerCardDataPtr->hasLinkResults++; - if (sTrainerCardDataPtr->trainerCard.pokemonTrades != 0) + if (sTrainerCardDataPtr->trainerCard.rse.pokemonTrades != 0) sTrainerCardDataPtr->hasTrades++; for (i = 0, badgeFlag = FLAG_BADGE01_GET; badgeFlag <= FLAG_BADGE08_GET; badgeFlag++, i++) @@ -931,6 +971,7 @@ static void HandleGpuRegs(void) EnableInterrupts(INTR_FLAG_VBLANK | INTR_FLAG_HBLANK); } +// Part of animating card flip static void sub_8089BD8(u16 arg0) { s8 quotient = (arg0 + 40) / 10; @@ -938,8 +979,8 @@ static void sub_8089BD8(u16 arg0) if (quotient <= 4) quotient = 0; - sTrainerCardDataPtr->var_456 = quotient; - SetGpuReg(REG_OFFSET_BLDY, sTrainerCardDataPtr->var_456); + sTrainerCardDataPtr->flipBlendY = quotient; + SetGpuReg(REG_OFFSET_BLDY, sTrainerCardDataPtr->flipBlendY); SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(sTrainerCardDataPtr->var_7BCC, 160 - sTrainerCardDataPtr->var_7BCC)); } @@ -980,7 +1021,7 @@ static void sub_8089CA4(void) SetGpuReg(REG_OFFSET_BG3VOFS, DISPCNT_MODE_0); } -static void ResetTrainerCard(void) +static void InitBgsAndWindows(void) { ResetSpriteData(); ResetPaletteFade(); @@ -1001,24 +1042,24 @@ static void ResetTrainerCard(void) static void SetTrainerCardCB2(void) { SetMainCallback2(CB2_TrainerCard); - HelpSystem_SetSomeVariable2(10); + SetHelpContext(HELPCONTEXT_TRAINER_CARD_FRONT); } -static void sub_8089DA4(void) +static void SetUpTrainerCardTask(void) { ResetTasks(); ScanlineEffect_Stop(); CreateTask(Task_TrainerCard, 0); - sub_808B774(); + InitTrainerCardData(); SetDataFromTrainerCard(); } -static bool8 PrintAllOnCardPage1(void) +static bool8 PrintAllOnCardFront(void) { switch (sTrainerCardDataPtr->printState) { case 0: - PrintNameOnCard(); + PrintNameOnCardFront(); break; case 1: PrintIdOnCard(); @@ -1043,18 +1084,18 @@ static bool8 PrintAllOnCardPage1(void) return FALSE; } -static bool8 PrintStringsOnCardPage2(void) +static bool8 PrintAllOnCardBack(void) { switch (sTrainerCardDataPtr->printState) { case 0: - sub_808A4FC(); + PrintNameOnCardBack(); break; case 1: - PrintHofDebutStringOnCard(); + PrintHofDebutTimeOnCard(); break; case 2: - PrintWinsLossesStringOnCard(); + PrintLinkBattleResultsOnCard(); break; case 3: PrintTradesStringOnCard(); @@ -1066,10 +1107,10 @@ static bool8 PrintStringsOnCardPage2(void) PrintUnionStringOnCard(); break; case 6: - TrainerCard_PrintPokemonIconsOnCard(); + PrintPokemonIconsOnCard(); break; case 7: - sub_808ABE0(); + PrintStickersOnCard(); break; default: sTrainerCardDataPtr->printState = 0; @@ -1079,27 +1120,27 @@ static bool8 PrintStringsOnCardPage2(void) return FALSE; } -static void sub_8089ECC(void) +static void BufferTextForCardBack(void) { - PrintNameOnCard2(); - PrintHofTimeOnCard(); - PrintLinkResultsNumsOnCard(); - PrintTradesNumOnCard(); - PrintBerryCrushNumOnCard(); - PrintUnionNumOnCard(); + BufferNameForCardBack(); + BufferHofDebutTime(); + BufferLinkBattleResults(); + BufferNumTrades(); + BufferBerryCrushPoints(); + BufferUnionRoomStats(); } -static void PrintNameOnCard(void) +static void PrintNameOnCardFront(void) { u8 buffer[2][32]; u8* txtPtr; txtPtr = StringCopy(buffer[0], gText_TrainerCardName); txtPtr = buffer[1]; - StringCopy(txtPtr, sTrainerCardDataPtr->trainerCard.playerName); + StringCopy(txtPtr, sTrainerCardDataPtr->trainerCard.rse.playerName); ConvertInternationalString(txtPtr, sTrainerCardDataPtr->language); StringAppend(buffer[0], txtPtr); - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardPlayerNameXPositions[sTrainerCardDataPtr->cardType], sTrainerCardPlayerNameYPositions[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer[0]); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardFrontNameXPositions[sTrainerCardDataPtr->cardType], sTrainerCardFrontNameYPositions[sTrainerCardDataPtr->cardType], sTrainerCardTextColors, TEXT_SPEED_FF, buffer[0]); } static void PrintIdOnCard(void) @@ -1108,8 +1149,8 @@ static void PrintIdOnCard(void) u8* txtPtr; txtPtr = StringCopy(buffer, gText_TrainerCardIDNo); - ConvertIntToDecimalStringN(txtPtr, sTrainerCardDataPtr->trainerCard.trainerId, STR_CONV_MODE_LEADING_ZEROS, 5); - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardIdXPositions[sTrainerCardDataPtr->cardType], sTrainerCardIdYPositions[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer); + ConvertIntToDecimalStringN(txtPtr, sTrainerCardDataPtr->trainerCard.rse.trainerId, STR_CONV_MODE_LEADING_ZEROS, 5); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardIdXPositions[sTrainerCardDataPtr->cardType], sTrainerCardIdYPositions[sTrainerCardDataPtr->cardType], sTrainerCardTextColors, TEXT_SPEED_FF, buffer); } static void PrintMoneyOnCard(void) @@ -1119,18 +1160,18 @@ static void PrintMoneyOnCard(void) u8 x; txtPtr = StringCopy(buffer, gText_TrainerCardYen); - ConvertIntToDecimalStringN(txtPtr, sTrainerCardDataPtr->trainerCard.money, STR_CONV_MODE_LEFT_ALIGN, 6); - if (sTrainerCardDataPtr->cardType != CARD_TYPE_EMERALD) + ConvertIntToDecimalStringN(txtPtr, sTrainerCardDataPtr->trainerCard.rse.money, STR_CONV_MODE_LEFT_ALIGN, 6); + if (sTrainerCardDataPtr->cardType != CARD_TYPE_RSE) { x = -122 - 6 * StringLength(buffer); - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 20, 56, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, gText_TrainerCardMoney); - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], x, 56, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 20, 56, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardMoney); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], x, 56, sTrainerCardTextColors, TEXT_SPEED_FF, buffer); } else { x = 118 - 6 * StringLength(buffer); - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 16, 57, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, gText_TrainerCardMoney); - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], x, 57, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 16, 57, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardMoney); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], x, 57, sTrainerCardTextColors, TEXT_SPEED_FF, buffer); } } @@ -1149,20 +1190,20 @@ static void PrintPokedexOnCard(void) if (FlagGet(FLAG_SYS_POKEDEX_GET)) { - ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.caughtMonsCount, 0, 3); - if (sTrainerCardDataPtr->cardType != CARD_TYPE_EMERALD) + ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.rse.caughtMonsCount, 0, 3); + if (sTrainerCardDataPtr->cardType != CARD_TYPE_RSE) { x = -120 - 6 * StringLength(buffer); - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 20, 72, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, gText_TrainerCardPokedex); - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], x, 72, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer); - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 138, 72, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, gText_TrainerCardNull); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 20, 72, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardPokedex); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], x, 72, sTrainerCardTextColors, TEXT_SPEED_FF, buffer); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 138, 72, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardNull); } else { x = 120 - 6 * StringLength(buffer); - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 16, 73, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, gText_TrainerCardPokedex); - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], x, 73, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer); - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 138, 73, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, gText_TrainerCardNull); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 16, 73, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardPokedex); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], x, 73, sTrainerCardTextColors, TEXT_SPEED_FF, buffer); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 138, 73, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardNull); } } } @@ -1177,8 +1218,8 @@ static void PrintTimeOnCard(void) minutes = gSaveBlock2Ptr->playTimeMinutes; if (sTrainerCardDataPtr->isLink) { - hours = sTrainerCardDataPtr->trainerCard.playTimeHours; - minutes = sTrainerCardDataPtr->trainerCard.playTimeMinutes; + hours = sTrainerCardDataPtr->trainerCard.rse.playTimeHours; + minutes = sTrainerCardDataPtr->trainerCard.rse.playTimeMinutes; } if (hours > 999) @@ -1188,19 +1229,19 @@ static void PrintTimeOnCard(void) minutes = 59; FillWindowPixelRect(1, PIXEL_FILL(0), sTrainerCardTimeHoursXPositions[sTrainerCardDataPtr->cardType], sTrainerCardTimeMinutesYPositions[sTrainerCardDataPtr->cardType], 50, 12); - if (sTrainerCardDataPtr->cardType != CARD_TYPE_EMERALD) - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 20, 88, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, gText_TrainerCardTime); + if (sTrainerCardDataPtr->cardType != CARD_TYPE_RSE) + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 20, 88, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardTime); else - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 16, 89, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, gText_TrainerCardTime); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 16, 89, sTrainerCardTextColors, TEXT_SPEED_FF, gText_TrainerCardTime); ConvertIntToDecimalStringN(buffer, hours, STR_CONV_MODE_RIGHT_ALIGN, 3); AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardTimeHoursXPositions[sTrainerCardDataPtr->cardType], - sTrainerCardTimeMinutesYPositions[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer); + sTrainerCardTimeMinutesYPositions[sTrainerCardDataPtr->cardType], sTrainerCardTextColors, TEXT_SPEED_FF, buffer); AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardTimeHoursYPositions[sTrainerCardDataPtr->cardType], - sTrainerCardTimeMinutesYPositions[sTrainerCardDataPtr->cardType], sTrainerCardTextColors[sTrainerCardDataPtr->var_7], TEXT_SPEED_FF, gText_Colon2); + sTrainerCardTimeMinutesYPositions[sTrainerCardDataPtr->cardType], sTimeColonTextColors[sTrainerCardDataPtr->timeColonInvisible], TEXT_SPEED_FF, gText_Colon2); ConvertIntToDecimalStringN(buffer, minutes, STR_CONV_MODE_LEADING_ZEROS, 2); - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardTimeMinutesXPositions[sTrainerCardDataPtr->cardType], sTrainerCardTimeMinutesYPositions[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardTimeMinutesXPositions[sTrainerCardDataPtr->cardType], sTrainerCardTimeMinutesYPositions[sTrainerCardDataPtr->cardType], sTrainerCardTextColors, TEXT_SPEED_FF, buffer); } static void PrintProfilePhraseOnCard(void) @@ -1208,75 +1249,75 @@ static void PrintProfilePhraseOnCard(void) if (sTrainerCardDataPtr->isLink) { AddTextPrinterParameterized3(1, 2, 10, sTrainerCardProfilePhraseXPositions[sTrainerCardDataPtr->cardType], - sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->var_19[0]); + sTrainerCardTextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->easyChatProfile[0]); - AddTextPrinterParameterized3(1, 2, GetStringWidth(2, sTrainerCardDataPtr->var_19[0], 0) + 16, sTrainerCardProfilePhraseXPositions[sTrainerCardDataPtr->cardType], - sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->var_19[1]); + AddTextPrinterParameterized3(1, 2, GetStringWidth(2, sTrainerCardDataPtr->easyChatProfile[0], 0) + 16, sTrainerCardProfilePhraseXPositions[sTrainerCardDataPtr->cardType], + sTrainerCardTextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->easyChatProfile[1]); AddTextPrinterParameterized3(1, 2, 10, sTrainerCardProfilePhraseYPositions[sTrainerCardDataPtr->cardType], - sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->var_19[2]); + sTrainerCardTextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->easyChatProfile[2]); - AddTextPrinterParameterized3(1, 2, GetStringWidth(2, sTrainerCardDataPtr->var_19[2], 0) + 16, sTrainerCardProfilePhraseYPositions[sTrainerCardDataPtr->cardType], - sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->var_19[3]); + AddTextPrinterParameterized3(1, 2, GetStringWidth(2, sTrainerCardDataPtr->easyChatProfile[2], 0) + 16, sTrainerCardProfilePhraseYPositions[sTrainerCardDataPtr->cardType], + sTrainerCardTextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->easyChatProfile[3]); } } -static void PrintNameOnCard2(void) +static void BufferNameForCardBack(void) { - StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME], sTrainerCardDataPtr->trainerCard.playerName); + StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME], sTrainerCardDataPtr->trainerCard.rse.playerName); ConvertInternationalString(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME], sTrainerCardDataPtr->language); - if (sTrainerCardDataPtr->cardType == CARD_TYPE_EMERALD) + if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE) { StringAppend(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME], gText_Var1sTrainerCard); } } -static void sub_808A4FC(void) +static void PrintNameOnCardBack(void) { u8 x; if (sTrainerCardDataPtr->cardType == CARD_TYPE_FRLG) { - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sUnknown_83CD93C[sTrainerCardDataPtr->cardType], - sUnknown_83CD93E[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME]); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardBackNameXPositions[sTrainerCardDataPtr->cardType], + sTrainerCardBackNameYPositions[sTrainerCardDataPtr->cardType], sTrainerCardTextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME]); } else { - x = sUnknown_83CD93C[sTrainerCardDataPtr->cardType] - GetStringWidth(sTrainerCardFontIds[1], sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME], GetFontAttribute(sTrainerCardFontIds[1], FONTATTR_LETTER_SPACING)); + x = sTrainerCardBackNameXPositions[sTrainerCardDataPtr->cardType] - GetStringWidth(sTrainerCardFontIds[1], sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME], GetFontAttribute(sTrainerCardFontIds[1], FONTATTR_LETTER_SPACING)); - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], x, sUnknown_83CD93E[sTrainerCardDataPtr->cardType], - sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME]); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], x, sTrainerCardBackNameYPositions[sTrainerCardDataPtr->cardType], + sTrainerCardTextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME]); } } -static void PrintHofTimeOnCard(void) +static void BufferHofDebutTime(void) { u8 buffer[10]; u8* txtPtr; if (sTrainerCardDataPtr->hasHofResult) { - ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.hofDebutHours, STR_CONV_MODE_RIGHT_ALIGN, 3); + ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.rse.hofDebutHours, STR_CONV_MODE_RIGHT_ALIGN, 3); txtPtr = StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_HOF_TIME], buffer); StringAppendN(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_HOF_TIME], gText_Colon2, 2); - ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.hofDebutMinutes, STR_CONV_MODE_LEADING_ZEROS, 2); + ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.rse.hofDebutMinutes, STR_CONV_MODE_LEADING_ZEROS, 2); StringAppendN(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_HOF_TIME], buffer, 3); StringAppendN(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_HOF_TIME], gText_Colon2, 2); - ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.hofDebutSeconds, STR_CONV_MODE_LEADING_ZEROS, 2); + ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.rse.hofDebutSeconds, STR_CONV_MODE_LEADING_ZEROS, 2); StringAppendN(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_HOF_TIME], buffer, 3); } } -static void PrintHofDebutStringOnCard(void) +static void PrintHofDebutTimeOnCard(void) { if (sTrainerCardDataPtr->hasHofResult) { - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardHofDebutXPositions[sTrainerCardDataPtr->cardType], 35, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, gText_HallOfFameDebut); - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 164, 35, sTrainerCardPage2TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_HOF_TIME]); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardHofDebutXPositions[sTrainerCardDataPtr->cardType], 35, sTrainerCardTextColors, TEXT_SPEED_FF, gText_HallOfFameDebut); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 164, 35, sTrainerCardStatColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_HOF_TIME]); } } -static void PrintLinkResultsNumsOnCard(void) +static void BufferLinkBattleResults(void) { u8 buffer[30]; @@ -1284,31 +1325,31 @@ static void PrintLinkResultsNumsOnCard(void) { StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_LINK_RECORD], sLinkTrainerCardRecordStrings[sTrainerCardDataPtr->cardType]); StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_WIN_LOSS], gText_WinLossRatio); - ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.linkBattleWins, STR_CONV_MODE_RIGHT_ALIGN, 4); + ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.rse.linkBattleWins, STR_CONV_MODE_RIGHT_ALIGN, 4); StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_LINK_WINS], buffer); - ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.linkBattleLosses, STR_CONV_MODE_RIGHT_ALIGN, 4); + ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.rse.linkBattleLosses, STR_CONV_MODE_RIGHT_ALIGN, 4); StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_LINK_LOSSES], buffer); } } -static void PrintWinsLossesStringOnCard(void) +static void PrintLinkBattleResultsOnCard(void) { if (sTrainerCardDataPtr->hasLinkResults) { AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardHofDebutXPositions[sTrainerCardDataPtr->cardType], 51, - sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_LINK_RECORD]); - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 130, 51, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_WIN_LOSS]); - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 144, 51, sTrainerCardPage2TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_LINK_WINS]); - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 192, 51, sTrainerCardPage2TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_LINK_LOSSES]); + sTrainerCardTextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_LINK_RECORD]); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 130, 51, sTrainerCardTextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_WIN_LOSS]); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 144, 51, sTrainerCardStatColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_LINK_WINS]); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 192, 51, sTrainerCardStatColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_LINK_LOSSES]); } } -static void PrintTradesNumOnCard(void) +static void BufferNumTrades(void) { if (sTrainerCardDataPtr->hasTrades) { StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_TRADES], gText_PokemonTrades); - ConvertIntToDecimalStringN(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_TRADE_COUNT], sTrainerCardDataPtr->trainerCard.pokemonTrades, STR_CONV_MODE_RIGHT_ALIGN, 5); + ConvertIntToDecimalStringN(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_TRADE_COUNT], sTrainerCardDataPtr->trainerCard.rse.pokemonTrades, STR_CONV_MODE_RIGHT_ALIGN, 5); } } @@ -1316,14 +1357,14 @@ static void PrintTradesStringOnCard(void) { if (sTrainerCardDataPtr->hasTrades) { - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardHofDebutXPositions[sTrainerCardDataPtr->cardType], 67, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_TRADES]); - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 186, 67, sTrainerCardPage2TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_TRADE_COUNT]); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardHofDebutXPositions[sTrainerCardDataPtr->cardType], 67, sTrainerCardTextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_TRADES]); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 186, 67, sTrainerCardStatColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_TRADE_COUNT]); } } -static void PrintBerryCrushNumOnCard(void) +static void BufferBerryCrushPoints(void) { - if (sTrainerCardDataPtr->cardType != CARD_TYPE_EMERALD) + if (sTrainerCardDataPtr->cardType != CARD_TYPE_RSE) { StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_BERRY_CRUSH], gText_BerryCrushes); ConvertIntToDecimalStringN(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_BERRY_CRUSH_COUNT], sTrainerCardDataPtr->trainerCard.berryCrushPoints, STR_CONV_MODE_RIGHT_ALIGN, 5); @@ -1332,16 +1373,16 @@ static void PrintBerryCrushNumOnCard(void) static void PrintBerryCrushStringOnCard(void) { - if (sTrainerCardDataPtr->cardType != CARD_TYPE_EMERALD && sTrainerCardDataPtr->trainerCard.berryCrushPoints) + if (sTrainerCardDataPtr->cardType != CARD_TYPE_RSE && sTrainerCardDataPtr->trainerCard.berryCrushPoints) { - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardHofDebutXPositions[sTrainerCardDataPtr->cardType], 99, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_BERRY_CRUSH]); - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 186, 99, sTrainerCardPage2TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_BERRY_CRUSH_COUNT]); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardHofDebutXPositions[sTrainerCardDataPtr->cardType], 99, sTrainerCardTextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_BERRY_CRUSH]); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 186, 99, sTrainerCardStatColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_BERRY_CRUSH_COUNT]); } } -static void PrintUnionNumOnCard(void) +static void BufferUnionRoomStats(void) { - if (sTrainerCardDataPtr->cardType != CARD_TYPE_EMERALD) + if (sTrainerCardDataPtr->cardType != CARD_TYPE_RSE) { StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_UNION_ROOM], gText_UnionRoomTradesBattles); ConvertIntToDecimalStringN(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_UNION_ROOM_NUM], sTrainerCardDataPtr->trainerCard.unionRoomNum, STR_CONV_MODE_RIGHT_ALIGN, 5); @@ -1350,88 +1391,88 @@ static void PrintUnionNumOnCard(void) static void PrintUnionStringOnCard(void) { - if (sTrainerCardDataPtr->cardType != CARD_TYPE_EMERALD && sTrainerCardDataPtr->trainerCard.unionRoomNum) + if (sTrainerCardDataPtr->cardType != CARD_TYPE_RSE && sTrainerCardDataPtr->trainerCard.unionRoomNum) { - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardHofDebutXPositions[sTrainerCardDataPtr->cardType], 83, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_UNION_ROOM]); - AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 186, 83, sTrainerCardPage2TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_UNION_ROOM_NUM]); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardHofDebutXPositions[sTrainerCardDataPtr->cardType], 83, sTrainerCardTextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_UNION_ROOM]); + AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 186, 83, sTrainerCardStatColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_UNION_ROOM_NUM]); } } -static void TrainerCard_PrintPokemonIconsOnCard(void) +static void PrintPokemonIconsOnCard(void) { u8 i; - u8 buffer[6]; - u8 buffer2[6]; + u8 paletteSlots[PARTY_SIZE]; + u8 xOffsets[PARTY_SIZE]; - memcpy(buffer, sUnknown_83CD94C, sizeof(sUnknown_83CD94C)); - memcpy(buffer2, sUnknown_83CD952, sizeof(sUnknown_83CD952)); - if (sTrainerCardDataPtr->cardType != CARD_TYPE_EMERALD) + memcpy(paletteSlots, sPokemonIconPalSlots, sizeof(sPokemonIconPalSlots)); + memcpy(xOffsets, sPokemonIconXOffsets, sizeof(sPokemonIconXOffsets)); + if (sTrainerCardDataPtr->cardType != CARD_TYPE_RSE) { - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { if (sTrainerCardDataPtr->trainerCard.monSpecies[i]) { u8 monSpecies = GetMonIconPaletteIndexFromSpecies(sTrainerCardDataPtr->trainerCard.monSpecies[i]); - WriteSequenceToBgTilemapBuffer(3, 16 * i + 224, buffer2[i] + 3, 15, 4, 4, buffer[monSpecies], 1); + WriteSequenceToBgTilemapBuffer(3, 16 * i + 224, xOffsets[i] + 3, 15, 4, 4, paletteSlots[monSpecies], 1); } } } } -static void sub_808AB10(void) +static void LoadMonIconGfx(void) { u8 i; - CpuSet(gMonIconPalettes, sTrainerCardDataPtr->monIconPals, 32 * 3); - switch (sTrainerCardDataPtr->trainerCard.var_4E) + CpuSet(gMonIconPalettes, sTrainerCardDataPtr->monIconPals, NELEMS(sTrainerCardDataPtr->monIconPals)); + switch (sTrainerCardDataPtr->trainerCard.monIconTint) { - case 0: + case MON_ICON_TINT_NORMAL: break; - case 1: + case MON_ICON_TINT_BLACK: TintPalette_CustomTone(sTrainerCardDataPtr->monIconPals, 96, 0, 0, 0); break; - case 2: + case MON_ICON_TINT_PINK: TintPalette_CustomTone(sTrainerCardDataPtr->monIconPals, 96, 500, 330, 310); break; - case 3: + case MON_ICON_TINT_SEPIA: TintPalette_SepiaTone(sTrainerCardDataPtr->monIconPals, 96); break; } LoadPalette(sTrainerCardDataPtr->monIconPals, 80, 192); - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { LoadBgTiles(3, GetMonIconTiles(sTrainerCardDataPtr->trainerCard.monSpecies[i], 0), 512, 16 * i + 32); } } -static void sub_808ABE0(void) +static void PrintStickersOnCard(void) { u8 i; - u8 buffer[4]; + u8 palSlots[4]; - memcpy(buffer, sUnknown_83CD958, sizeof(sUnknown_83CD958)); - if (sTrainerCardDataPtr->cardType == CARD_TYPE_FRLG && sTrainerCardDataPtr->trainerCard.var_4C == 1) + memcpy(palSlots, sStickerPalSlots, sizeof(sStickerPalSlots)); + if (sTrainerCardDataPtr->cardType == CARD_TYPE_FRLG && sTrainerCardDataPtr->trainerCard.shouldDrawStickers == TRUE) { - for (i = 0; i < 3; i++) + for (i = 0; i < TRAINER_CARD_STICKER_TYPES; i++) { - u8 var_50 = sTrainerCardDataPtr->trainerCard.var_50[i]; - if (sTrainerCardDataPtr->trainerCard.var_50[i]) - WriteSequenceToBgTilemapBuffer(3, i * 4 + 320, i * 3 + 2, 2, 2, 2, buffer[var_50 - 1], 1); + u8 sticker = sTrainerCardDataPtr->trainerCard.stickers[i]; + if (sTrainerCardDataPtr->trainerCard.stickers[i]) + WriteSequenceToBgTilemapBuffer(3, i * 4 + 320, i * 3 + 2, 2, 2, 2, palSlots[sticker - 1], 1); } } } -static void TrainerCardLoadStickerPals(void) +static void LoadStickerGfx(void) { LoadPalette(sTrainerCardStickerPal1, 176, 32); LoadPalette(sTrainerCardStickerPal2, 192, 32); LoadPalette(sTrainerCardStickerPal3, 208, 32); LoadPalette(sTrainerCardStickerPal4, 224, 32); - LoadBgTiles(3, sTrainerCardDataPtr->bgTiles, 1024, 128); + LoadBgTiles(3, sTrainerCardDataPtr->stickerTiles, 1024, 128); } -static void PutTrainerCardWindow(u8 windowId) +static void DrawTrainerCardWindow(u8 windowId) { PutWindowTilemap(windowId); CopyWindowToVram(windowId, 3); @@ -1442,35 +1483,35 @@ static bool8 SetTrainerCardBgsAndPals(void) switch (sTrainerCardDataPtr->bgPalLoadState) { case 0: - LoadBgTiles(3, sTrainerCardDataPtr->cardTiles, 1024, 0); + LoadBgTiles(3, sTrainerCardDataPtr->badgeTiles, ARRAY_COUNT(sTrainerCardDataPtr->badgeTiles), 0); break; case 1: - LoadBgTiles(0, sTrainerCardDataPtr->var_18CC, 6144, 0); + LoadBgTiles(0, sTrainerCardDataPtr->cardTiles, 0x1800, 0); break; case 2: - if (sTrainerCardDataPtr->cardType == CARD_TYPE_EMERALD) - LoadPalette(sEmeraldTrainerCardStarPals[sTrainerCardDataPtr->trainerCard.stars], 0, 96); + if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE) + LoadPalette(sHoennTrainerCardStarPals[sTrainerCardDataPtr->trainerCard.rse.stars], 0, 96); else - LoadPalette(sFireRedTrainerCardStarPals[sTrainerCardDataPtr->trainerCard.stars], 0, 96); + LoadPalette(sKantoTrainerCardStarPals[sTrainerCardDataPtr->trainerCard.rse.stars], 0, 96); break; case 3: - if (sTrainerCardDataPtr->cardType == CARD_TYPE_EMERALD) - LoadPalette(sEmeraldTrainerCardBadges_Pal, 48, 32); + if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE) + LoadPalette(sHoennTrainerCardBadges_Pal, 48, 32); else - LoadPalette(sFireRedTrainerCardBadges_Pal, 48, 32); + LoadPalette(sKantoTrainerCardBadges_Pal, 48, 32); break; case 4: - if (sTrainerCardDataPtr->cardType == CARD_TYPE_EMERALD && sTrainerCardDataPtr->trainerCard.gender != MALE) - LoadPalette(sEmeraldTrainerCardFemaleBackground_Pal, 16, 32); - else if (sTrainerCardDataPtr->trainerCard.gender != MALE) - LoadPalette(sFireRedTrainerCardFemaleBackground_Pal, 16, 32); + if (sTrainerCardDataPtr->cardType == CARD_TYPE_RSE && sTrainerCardDataPtr->trainerCard.rse.gender != MALE) + LoadPalette(sHoennTrainerCardFemaleBackground_Pal, 16, 32); + else if (sTrainerCardDataPtr->trainerCard.rse.gender != MALE) + LoadPalette(sKantoTrainerCardFemaleBackground_Pal, 16, 32); break; case 5: - LoadPalette(sUnknown_83CD300, 64, 32); + LoadPalette(sTrainerCardGold_Pal, 64, 32); break; case 6: - SetBgTilemapBuffer(0, sTrainerCardDataPtr->bgTilemap0); - SetBgTilemapBuffer(2, sTrainerCardDataPtr->bgTilemap2); + SetBgTilemapBuffer(0, sTrainerCardDataPtr->cardTilemapBuffer); + SetBgTilemapBuffer(2, sTrainerCardDataPtr->bgTilemapBuffer); break; default: FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32); @@ -1483,10 +1524,10 @@ static bool8 SetTrainerCardBgsAndPals(void) return FALSE; } -static void LoadTrainerCardTilemap2(const u16* ptr) +static void DrawCardScreenBackground(const u16* ptr) { s16 i, j; - u16 *dst = sTrainerCardDataPtr->bgTilemap2; + u16 *dst = sTrainerCardDataPtr->bgTilemapBuffer; for (i = 0; i < 20; i++) { @@ -1502,10 +1543,10 @@ static void LoadTrainerCardTilemap2(const u16* ptr) CopyBgTilemapBufferToVram(2); } -static void LoadTrainerCardTilemap0(const u16* ptr) +static void DrawCardFrontOrBack(const u16* ptr) { s16 i, j; - u16 *dst = sTrainerCardDataPtr->bgTilemap0; + u16 *dst = sTrainerCardDataPtr->cardTilemapBuffer; for (i = 0; i < 20; i++) { @@ -1521,17 +1562,17 @@ static void LoadTrainerCardTilemap0(const u16* ptr) CopyBgTilemapBufferToVram(0); } -static void TrainerCard_PrintStarsAndBadgesOnCard(void) +static void DrawStarsAndBadgesOnCard(void) { s16 i, x; u16 tileNum = 192; u8 palNum = 3; - FillBgTilemapBufferRect(3, 143, 15, sUnknown_83CD95C[sTrainerCardDataPtr->cardType], sTrainerCardDataPtr->trainerCard.stars, 1, 4); + FillBgTilemapBufferRect(3, 143, 15, sStarYOffsets[sTrainerCardDataPtr->cardType], sTrainerCardDataPtr->trainerCard.rse.stars, 1, 4); if (!sTrainerCardDataPtr->isLink) { x = 4; - for (i = 0; i < BADGE_COUNT; i++, tileNum += 2, x += 3) + for (i = 0; i < NUM_BADGES; i++, tileNum += 2, x += 3) { if (sTrainerCardDataPtr->hasBadge[i]) { @@ -1546,9 +1587,9 @@ static void TrainerCard_PrintStarsAndBadgesOnCard(void) CopyBgTilemapBufferToVram(3); } -static void sub_808B090(void) +static void DrawCardBackStats(void) { - if (sTrainerCardDataPtr->cardType != CARD_TYPE_EMERALD) + if (sTrainerCardDataPtr->cardType != CARD_TYPE_RSE) { if (sTrainerCardDataPtr->hasTrades) { @@ -1580,43 +1621,45 @@ static void sub_808B090(void) CopyBgTilemapBufferToVram(3); } -static void sub_808B180(void) +static void BlinkTimeColon(void) { - if (++sTrainerCardDataPtr->var_6 > 60) + if (++sTrainerCardDataPtr->timeColonBlinkTimer > 60) { - sTrainerCardDataPtr->var_6 = 0; - sTrainerCardDataPtr->var_7 ^= 1; - sTrainerCardDataPtr->var_7BCE = TRUE; + sTrainerCardDataPtr->timeColonBlinkTimer = 0; + sTrainerCardDataPtr->timeColonInvisible ^= 1; + sTrainerCardDataPtr->timeColonNeedDraw = TRUE; } } u8 GetTrainerCardStars(u8 cardId) { - return gTrainerCards[cardId].stars; + return gTrainerCards[cardId].rse.stars; } -static void sub_808B1D4(void) +#define tFlipState data[0] + +static void FlipTrainerCard(void) { - u8 taskId = CreateTask(sub_808B21C, 0); - sub_808B21C(taskId); + u8 taskId = CreateTask(Task_DoCardFlipTask, 0); + Task_DoCardFlipTask(taskId); SetHBlankCallback(HBlankCB_TrainerCard); } -static bool8 sub_808B1FC(void) +static bool8 IsCardFlipTaskActive(void) { - if (FindTaskIdByFunc(sub_808B21C) == 0xFF) + if (FindTaskIdByFunc(Task_DoCardFlipTask) == 0xFF) return TRUE; else return FALSE; } -static void sub_808B21C(u8 taskId) +static void Task_DoCardFlipTask(u8 taskId) { - while(sTrainerCardTasks[gTasks[taskId].data[0]](&gTasks[taskId])) + while(sTrainerCardFlipTasks[gTasks[taskId].tFlipState](&gTasks[taskId])) ; } -static bool8 sub_808B254(struct Task* task) +static bool8 Task_BeginCardFlip(struct Task* task) { u32 i; @@ -1625,15 +1668,12 @@ static bool8 sub_808B254(struct Task* task) ScanlineEffect_Stop(); ScanlineEffect_Clear(); for (i = 0; i < 160; i++) - { gScanlineEffectRegBuffers[1][i] = 0; - } - - task->data[0]++; + task->tFlipState++; return FALSE; } -static bool8 sub_808B294(struct Task* task) +static bool8 Task_AnimateCardFlipDown(struct Task* task) { u32 r4, r5, r10, r7, r6, var_24, r9, var; s16 i; @@ -1679,12 +1719,12 @@ static bool8 sub_808B294(struct Task* task) sTrainerCardDataPtr->allowDMACopy = TRUE; if (task->data[1] >= 77) - task->data[0]++; + task->tFlipState++; return FALSE; } -static bool8 sub_808B3C4(struct Task* task) +static bool8 Task_DrawFlippedCardSide(struct Task* task) { sTrainerCardDataPtr->allowDMACopy = FALSE; if (sub_8058244() == TRUE) @@ -1692,72 +1732,74 @@ static bool8 sub_808B3C4(struct Task* task) do { - switch (sTrainerCardDataPtr->var_4) + switch (sTrainerCardDataPtr->flipDrawState) { case 0: FillWindowPixelBuffer(1, PIXEL_FILL(0)); FillBgTilemapBufferRect_Palette0(3, 0, 0, 0, 32, 32); break; case 1: - if (!sTrainerCardDataPtr->var_8) + if (!sTrainerCardDataPtr->onBack) { - if (!PrintStringsOnCardPage2()) + if (!PrintAllOnCardBack()) return FALSE; } else { - if (!PrintAllOnCardPage1()) + if (!PrintAllOnCardFront()) return FALSE; } break; case 2: - if (!sTrainerCardDataPtr->var_8) - LoadTrainerCardTilemap0(sTrainerCardDataPtr->var_96C); + if (!sTrainerCardDataPtr->onBack) + DrawCardFrontOrBack(sTrainerCardDataPtr->backTilemap); else - PutTrainerCardWindow(1); + DrawTrainerCardWindow(1); break; case 3: - if (!sTrainerCardDataPtr->var_8) - sub_808B090(); + if (!sTrainerCardDataPtr->onBack) + DrawCardBackStats(); else FillWindowPixelBuffer(2, PIXEL_FILL(0)); break; case 4: - if (sTrainerCardDataPtr->var_8) - sub_808B838(); + if (sTrainerCardDataPtr->onBack) + CreateTrainerCardTrainerPic(); break; default: - task->data[0]++; + task->tFlipState++; sTrainerCardDataPtr->allowDMACopy = TRUE; - sTrainerCardDataPtr->var_4 = 0; + sTrainerCardDataPtr->flipDrawState = 0; return FALSE; } - sTrainerCardDataPtr->var_4++; + sTrainerCardDataPtr->flipDrawState++; } while (gReceivedRemoteLinkPlayers == 0); return FALSE; } -static bool8 sub_808B4D8(struct Task* task) +static bool8 Task_SetCardFlipped(struct Task* task) { sTrainerCardDataPtr->allowDMACopy = FALSE; - if (sTrainerCardDataPtr->var_8) + + // If on back of card, draw front of card because its being flipped + if (sTrainerCardDataPtr->onBack) { - PutTrainerCardWindow(2); - LoadTrainerCardTilemap2(&sTrainerCardDataPtr->var_E1C); - LoadTrainerCardTilemap0(&sTrainerCardDataPtr->var_4BC); - TrainerCard_PrintStarsAndBadgesOnCard(); + DrawTrainerCardWindow(2); + DrawCardScreenBackground(sTrainerCardDataPtr->bgTilemap); + DrawCardFrontOrBack(sTrainerCardDataPtr->frontTilemap); + DrawStarsAndBadgesOnCard(); } - PutTrainerCardWindow(1); - sTrainerCardDataPtr->var_8 ^= 1; - task->data[0]++; + DrawTrainerCardWindow(1); + sTrainerCardDataPtr->onBack ^= 1; + task->tFlipState++; sTrainerCardDataPtr->allowDMACopy = TRUE; PlaySE(SE_CARD2); return FALSE; } -static bool8 sub_808B540(struct Task* task) +static bool8 Task_AnimateCardFlipUp(struct Task* task) { u32 r4, r5, r10, r7, r6, var_24, r9, var; s16 i; @@ -1803,17 +1845,17 @@ static bool8 sub_808B540(struct Task* task) sTrainerCardDataPtr->allowDMACopy = TRUE; if (task->data[1] <= 0) - task->data[0]++; + task->tFlipState++; return FALSE; } -static bool8 sub_808B66C(struct Task *task) +static bool8 Task_EndCardFlip(struct Task *task) { ShowBg(1); ShowBg(3); SetHBlankCallback(NULL); - DestroyTask(FindTaskIdByFunc(sub_808B21C)); + DestroyTask(FindTaskIdByFunc(Task_DoCardFlipTask)); return FALSE; } @@ -1841,24 +1883,22 @@ void ShowTrainerCardInLink(u8 cardId, void (*callback)(void)) SetMainCallback2(CB2_InitTrainerCard); } -static void sub_808B774(void) +static void InitTrainerCardData(void) { u8 i; - sTrainerCardDataPtr->taskState = 0; - sTrainerCardDataPtr->var_6 = gSaveBlock2Ptr->playTimeVBlanks; - sTrainerCardDataPtr->var_7 = 0; - sTrainerCardDataPtr->var_8 = 0; - sTrainerCardDataPtr->var_456 = 0; - if (GetCardType() == CARD_TYPE_EMERALD) - sTrainerCardDataPtr->cardType = CARD_TYPE_EMERALD; + sTrainerCardDataPtr->mainState = 0; + sTrainerCardDataPtr->timeColonBlinkTimer = gSaveBlock2Ptr->playTimeVBlanks; + sTrainerCardDataPtr->timeColonInvisible = FALSE; + sTrainerCardDataPtr->onBack = FALSE; + sTrainerCardDataPtr->flipBlendY = 0; + if (GetCardType() == CARD_TYPE_RSE) + sTrainerCardDataPtr->cardType = CARD_TYPE_RSE; else sTrainerCardDataPtr->cardType = CARD_TYPE_FRLG; - for (i = 0; i < 4; i++) - { - CopyEasyChatWord(sTrainerCardDataPtr->var_19[i], sTrainerCardDataPtr->trainerCard.var_28[i]); - } + for (i = 0; i < TRAINER_CARD_PROFILE_LENGTH; i++) + CopyEasyChatWord(sTrainerCardDataPtr->easyChatProfile[i], sTrainerCardDataPtr->trainerCard.rse.easyChatProfile[i]); } static u8 GetCardType(void) @@ -1868,39 +1908,39 @@ static u8 GetCardType(void) if (gGameVersion == VERSION_FIRE_RED || gGameVersion == VERSION_LEAF_GREEN) return CARD_TYPE_FRLG; else - return CARD_TYPE_EMERALD; + return CARD_TYPE_RSE; } else { if (sTrainerCardDataPtr->trainerCard.version == VERSION_FIRE_RED || sTrainerCardDataPtr->trainerCard.version == VERSION_LEAF_GREEN) return CARD_TYPE_FRLG; else - return CARD_TYPE_EMERALD; + return CARD_TYPE_RSE; } } -static void sub_808B838(void) +static void CreateTrainerCardTrainerPic(void) { - u8 val = sLinkTrainerCardFrontPics[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.gender]; + u8 facilityClass = sTrainerPicFacilityClasses[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender]; if (InUnionRoom() == TRUE && gReceivedRemoteLinkPlayers == 1) { - val = sTrainerCardDataPtr->trainerCard.var_4F; - sub_810C330(FacilityClassToPicIndex(val), TRUE, sTrainerCardPicPositions[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.gender][0], - sTrainerCardPicPositions[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.gender][1], 8, 2); + facilityClass = sTrainerCardDataPtr->trainerCard.facilityClass; + CreateTrainerCardTrainerPicSprite(FacilityClassToPicIndex(facilityClass), TRUE, sTrainerPicOffsets[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][0], + sTrainerPicOffsets[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][1], 8, 2); } else { if (sTrainerCardDataPtr->cardType != CARD_TYPE_FRLG) { - sub_810C330(FacilityClassToPicIndex(val), TRUE, sTrainerCardPicPositions[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.gender][0], - sTrainerCardPicPositions[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.gender][1], 8, 2); + CreateTrainerCardTrainerPicSprite(FacilityClassToPicIndex(facilityClass), TRUE, sTrainerPicOffsets[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][0], + sTrainerPicOffsets[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][1], 8, 2); } else { - sub_810C330(PlayerGenderToFrontTrainerPicId_Debug(sTrainerCardDataPtr->trainerCard.gender, TRUE), TRUE, - sTrainerCardPicPositions[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.gender][0], - sTrainerCardPicPositions[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.gender][1], + CreateTrainerCardTrainerPicSprite(PlayerGenderToFrontTrainerPicId_Debug(sTrainerCardDataPtr->trainerCard.rse.gender, TRUE), TRUE, + sTrainerPicOffsets[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][0], + sTrainerPicOffsets[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][1], 8, 2); } } diff --git a/src/trainer_pokemon_sprites.c b/src/trainer_pokemon_sprites.c index 7262954c9..8567d791b 100644 --- a/src/trainer_pokemon_sprites.c +++ b/src/trainer_pokemon_sprites.c @@ -2,12 +2,9 @@ #include "sprite.h" #include "window.h" #include "malloc.h" -#include "constants/species.h" #include "palette.h" #include "decompress.h" -#include "trainer_pokemon_sprites.h" #include "pokemon.h" -#include "constants/trainer_classes.h" extern const struct CompressedSpriteSheet gMonFrontPicTable[]; extern const struct CompressedSpriteSheet gMonBackPicTable[]; @@ -303,7 +300,7 @@ u16 sub_810C2FC(u16 species, bool8 isFrontPic, u8 paletteSlot, u8 windowId) return sub_810C050(species, 0, 0, isFrontPic, paletteSlot, windowId, TRUE); } -u16 sub_810C330(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId) +u16 CreateTrainerCardTrainerPicSprite(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId) { return sub_810C0C0(species, 0, 0, isFrontPic, destX, destY, paletteSlot, windowId, TRUE); } diff --git a/src/trainer_see.c b/src/trainer_see.c new file mode 100644 index 000000000..3dbfbdf38 --- /dev/null +++ b/src/trainer_see.c @@ -0,0 +1,751 @@ +#include "global.h" +#include "battle_setup.h" +#include "event_object_movement.h" +#include "field_effect.h" +#include "field_player_avatar.h" +#include "quest_log.h" +#include "script.h" +#include "task.h" +#include "util.h" +#include "constants/battle_setup.h" +#include "constants/event_object_movement.h" +#include "constants/event_objects.h" + +typedef u8 (*TrainerApproachFunc)(struct ObjectEvent *, s16, s16, s16); +typedef bool8 (*TrainerSeeFunc)(u8, struct Task *, struct ObjectEvent *); + +/*static*/ bool8 CheckTrainer(u8 trainerObjId); +/*static*/ u8 GetTrainerApproachDistance(struct ObjectEvent * trainerObj); +/*static*/ u8 GetTrainerApproachDistanceSouth(struct ObjectEvent * trainerObj, s16 range, s16 x, s16 y); +/*static*/ u8 GetTrainerApproachDistanceNorth(struct ObjectEvent * trainerObj, s16 range, s16 x, s16 y); +/*static*/ u8 GetTrainerApproachDistanceWest(struct ObjectEvent * trainerObj, s16 range, s16 x, s16 y); +/*static*/ u8 GetTrainerApproachDistanceEast(struct ObjectEvent * trainerObj, s16 range, s16 x, s16 y); +/*static*/ u8 CheckPathBetweenTrainerAndPlayer(struct ObjectEvent * trainerObj, u8 approachDistance, u8 facingDirection); +/*static*/ void TrainerApproachPlayer(struct ObjectEvent * trainerObj, u8 approachDistance); +/*static*/ void Task_RunTrainerSeeFuncList(u8 taskId); +/*static*/ bool8 TrainerSeeFunc_Dummy(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +/*static*/ bool8 TrainerSeeFunc_StartExclMark(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +/*static*/ bool8 TrainerSeeFunc_WaitExclMark(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +/*static*/ bool8 TrainerSeeFunc_TrainerApproach(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +/*static*/ bool8 TrainerSeeFunc_PrepareToEngage(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +/*static*/ bool8 TrainerSeeFunc_End(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +/*static*/ bool8 TrainerSeeFunc_BeginRemoveDisguise(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +/*static*/ bool8 TrainerSeeFunc_WaitRemoveDisguise(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +/*static*/ bool8 TrainerSeeFunc_TrainerInAshFacesPlayer(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +/*static*/ bool8 TrainerSeeFunc_BeginJumpOutOfAsh(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +/*static*/ bool8 TrainerSeeFunc_WaitJumpOutOfAsh(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +/*static*/ bool8 TrainerSeeFunc_EndJumpOutOfAsh(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +/*static*/ bool8 TrainerSeeFunc_OffscreenAboveTrainerCreateCameraObj(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +/*static*/ bool8 TrainerSeeFunc_OffscreenAboveTrainerCameraObjMoveUp(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +/*static*/ bool8 TrainerSeeFunc_OffscreenAboveTrainerCameraObjMoveDown(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj); +/*static*/ void Task_DestroyTrainerApproachTask(u8 taskId); +/*static*/ void SpriteCB_TrainerIcons(struct Sprite * sprite); +/*static*/ void SetIconSpriteData(struct Sprite *sprite, u16 fldEffId, u8 spriteAnimNum); + +/*static*/ const u16 sGfx_Emoticons[] = INCBIN_U16("graphics/object_events/emoticons.4bpp"); + +// u8 func(struct ObjectEvent * trainerObj, s16 range, s16 x, s16 y) +// range is the maximum distance the trainer can see +// x and y are the player's coordinates +// Returns distance to walk if trainer has unobstructed view of player +// Returns 0 if trainer can't see player +/*static*/ const TrainerApproachFunc sDirectionalApproachDistanceFuncs[] = { + GetTrainerApproachDistanceSouth, + GetTrainerApproachDistanceNorth, + GetTrainerApproachDistanceWest, + GetTrainerApproachDistanceEast +}; + +// bool8 func(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +// Returns TRUE to run the next func immediately +// Returns FALSE to delay the next func to the next frame +/*static*/ const TrainerSeeFunc sTrainerSeeFuncList[] = { + TrainerSeeFunc_Dummy, + TrainerSeeFunc_StartExclMark, + TrainerSeeFunc_WaitExclMark, + TrainerSeeFunc_TrainerApproach, + TrainerSeeFunc_PrepareToEngage, + TrainerSeeFunc_End, + TrainerSeeFunc_BeginRemoveDisguise, + TrainerSeeFunc_WaitRemoveDisguise, + TrainerSeeFunc_TrainerInAshFacesPlayer, + TrainerSeeFunc_BeginJumpOutOfAsh, + TrainerSeeFunc_WaitJumpOutOfAsh, + TrainerSeeFunc_EndJumpOutOfAsh, + TrainerSeeFunc_OffscreenAboveTrainerCreateCameraObj, + TrainerSeeFunc_OffscreenAboveTrainerCameraObjMoveUp, + TrainerSeeFunc_OffscreenAboveTrainerCameraObjMoveDown +}; + +/*static*/ const TrainerSeeFunc sTrainerSeeFuncList2[] = { + TrainerSeeFunc_TrainerInAshFacesPlayer, + TrainerSeeFunc_BeginJumpOutOfAsh, + TrainerSeeFunc_WaitJumpOutOfAsh, + TrainerSeeFunc_EndJumpOutOfAsh +}; + +bool8 CheckForTrainersWantingBattle(void) +{ + u8 i; + if (sub_8111C2C() == TRUE) + return FALSE; + + for (i = 0; i < OBJECT_EVENTS_COUNT; i++) + { + if (gObjectEvents[i].active + && ( + gObjectEvents[i].trainerType == 1 + || gObjectEvents[i].trainerType == 3 + ) + && CheckTrainer(i) + ) + return TRUE; + } + return FALSE; +} + +/*static*/ bool8 CheckTrainer(u8 trainerObjId) +{ + const u8 *script = GetObjectEventScriptPointerByObjectEventId(trainerObjId); + u8 approachDistance; + if (GetTrainerFlagFromScriptPointer(script)) + return FALSE; + approachDistance = GetTrainerApproachDistance(&gObjectEvents[trainerObjId]); + if (approachDistance != 0) + { + if (script[1] == TRAINER_BATTLE_DOUBLE && GetMonsStateToDoubles()) + return FALSE; + ConfigureAndSetUpOneTrainerBattle(trainerObjId, script); + TrainerApproachPlayer(&gObjectEvents[trainerObjId], approachDistance - 1); + return TRUE; + } + return FALSE; +} + +/*static*/ u8 GetTrainerApproachDistance(struct ObjectEvent *trainerObj) +{ + s16 x, y; + u8 i; + u8 approachDistance; + + PlayerGetDestCoords(&x, &y); + if (trainerObj->trainerType == 1) // can only see in one direction + { + approachDistance = sDirectionalApproachDistanceFuncs[trainerObj->facingDirection - 1](trainerObj, trainerObj->trainerRange_berryTreeId, x, y); + return CheckPathBetweenTrainerAndPlayer(trainerObj, approachDistance, trainerObj->facingDirection); + } + else // can see in all directions + { + for (i = 0; i < 4; i++) + { + approachDistance = sDirectionalApproachDistanceFuncs[i](trainerObj, trainerObj->trainerRange_berryTreeId, x, y); + if (CheckPathBetweenTrainerAndPlayer(trainerObj, approachDistance, i + 1)) // directions are 1-4 instead of 0-3. south north west east + return approachDistance; + } + } + + return 0; +} + +// Returns how far south the player is from trainer. 0 if out of trainer's sight. +/*static*/ u8 GetTrainerApproachDistanceSouth(struct ObjectEvent *trainerObj, s16 range, s16 x, s16 y) +{ + if (trainerObj->currentCoords.x == x + && y > trainerObj->currentCoords.y + && y <= trainerObj->currentCoords.y + range) + { + if (range > 3 && GetFirstInactiveObjectEventId() == OBJECT_EVENTS_COUNT) + return 0; + return (y - trainerObj->currentCoords.y); + } + else + return 0; +} + +// Returns how far north the player is from trainer. 0 if out of trainer's sight. +/*static*/ u8 GetTrainerApproachDistanceNorth(struct ObjectEvent *trainerObj, s16 range, s16 x, s16 y) +{ + if (trainerObj->currentCoords.x == x + && y < trainerObj->currentCoords.y + && y >= trainerObj->currentCoords.y - range) + return (trainerObj->currentCoords.y - y); + else + return 0; +} + +// Returns how far west the player is from trainer. 0 if out of trainer's sight. +/*static*/ u8 GetTrainerApproachDistanceWest(struct ObjectEvent *trainerObj, s16 range, s16 x, s16 y) +{ + if (trainerObj->currentCoords.y == y + && x < trainerObj->currentCoords.x + && x >= trainerObj->currentCoords.x - range) + return (trainerObj->currentCoords.x - x); + else + return 0; +} + +// Returns how far east the player is from trainer. 0 if out of trainer's sight. +/*static*/ u8 GetTrainerApproachDistanceEast(struct ObjectEvent *trainerObj, s16 range, s16 x, s16 y) +{ + if (trainerObj->currentCoords.y == y + && x > trainerObj->currentCoords.x + && x <= trainerObj->currentCoords.x + range) + return (x - trainerObj->currentCoords.x); + else + return 0; +} + +#define COLLISION_MASK (~1) + +/*static*/ u8 CheckPathBetweenTrainerAndPlayer(struct ObjectEvent *trainerObj, u8 approachDistance, u8 direction) +{ + s16 x, y; + u8 unk19_temp; + u8 unk19b_temp; + u8 i; + u8 collision; + + if (approachDistance == 0) + return 0; + + x = trainerObj->currentCoords.x; + y = trainerObj->currentCoords.y; + + for (i = 0; i <= approachDistance - 1; i++, MoveCoords(direction, &x, &y)) + { + collision = GetCollisionFlagsAtCoords(trainerObj, x, y, direction); + if (collision != 0 && (collision & COLLISION_MASK)) + return 0; + } + + // preserve mapobj_unk_19 before clearing. + unk19_temp = trainerObj->range.as_nybbles.x; + unk19b_temp = trainerObj->range.as_nybbles.y; + trainerObj->range.as_nybbles.x = 0; + trainerObj->range.as_nybbles.y = 0; + + collision = GetCollisionAtCoords(trainerObj, x, y, direction); + + trainerObj->range.as_nybbles.x = unk19_temp; + trainerObj->range.as_nybbles.y = unk19b_temp; + if (collision == 4) + return approachDistance; + + return 0; +} + +#define tFuncId data[0] +#define tTrainerObjHi data[1] +#define tTrainerObjLo data[2] +#define tTrainerRange data[3] +#define tOutOfAshSpriteId data[4] +#define tData5 data[5] + +#define TaskGetTrainerObj(dest, task) do { \ + (dest) = (struct ObjectEvent *)(((task)->tTrainerObjHi << 16) | ((u16)(task)->tTrainerObjLo)); \ +} while (0) + +/*static*/ void TrainerApproachPlayer(struct ObjectEvent * trainerObj, u8 approachDistance) +{ + u8 taskId = CreateTask(Task_RunTrainerSeeFuncList, 80); + struct Task * task = &gTasks[taskId]; + task->tTrainerObjHi = ((uintptr_t)trainerObj) >> 16; + task->tTrainerObjLo = (uintptr_t)trainerObj; + task->tTrainerRange = approachDistance; +} + +/*static*/ void StartTrainerApproachWithFollowupTask(TaskFunc taskFunc) +{ + u8 taskId = FindTaskIdByFunc(Task_RunTrainerSeeFuncList); + SetTaskFuncWithFollowupFunc(taskId, Task_RunTrainerSeeFuncList, taskFunc); + gTasks[taskId].tFuncId = 1; + Task_RunTrainerSeeFuncList(taskId); +} + +/*static*/ void Task_RunTrainerSeeFuncList(u8 taskId) +{ + struct Task * task = &gTasks[taskId]; + struct ObjectEvent * trainerObj; + TaskGetTrainerObj(trainerObj, task); + + if (!trainerObj->active) + { + SwitchTaskToFollowupFunc(taskId); + } + else + { + while (sTrainerSeeFuncList[task->tFuncId](taskId, task, trainerObj)) + ; + } +} + +// TrainerSeeFuncs + +/*static*/ bool8 TrainerSeeFunc_Dummy(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +{ + return FALSE; +} + +/*static*/ bool8 TrainerSeeFunc_StartExclMark(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +{ + u8 action; + // FRLG introduces trainers who can see the player from offscreen above. + // Handle this case here. + if (trainerObj->facingDirection == DIR_SOUTH && task->tTrainerRange > 2) + { + task->tFuncId = 12; + } + else + { + ObjectEventGetLocalIdAndMap(trainerObj, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]); + FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON); + action = GetFaceDirectionMovementAction(trainerObj->facingDirection); + ObjectEventSetHeldMovement(trainerObj, action); + task->tFuncId++; + } + return TRUE; +} + +/*static*/ bool8 TrainerSeeFunc_WaitExclMark(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +{ + if (FieldEffectActiveListContains(FLDEFF_EXCLAMATION_MARK_ICON)) + { + return FALSE; + } + else + { + task->tFuncId++; + if (trainerObj->movementType == MOVEMENT_TYPE_TREE_DISGUISE || trainerObj->movementType == MOVEMENT_TYPE_MOUNTAIN_DISGUISE) + task->tFuncId = 6; + if (trainerObj->movementType == MOVEMENT_TYPE_HIDDEN) + task->tFuncId = 8; + return TRUE; + } +} + +/*static*/ bool8 TrainerSeeFunc_TrainerApproach(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +{ + if (!ObjectEventIsMovementOverridden(trainerObj) || ObjectEventClearHeldMovementIfFinished(trainerObj)) + { + if (task->tTrainerRange) + { + ObjectEventSetHeldMovement(trainerObj, GetWalkNormalMovementAction(trainerObj->facingDirection)); + task->tTrainerRange--; + } + else + { + ObjectEventSetHeldMovement(trainerObj, MOVEMENT_ACTION_FACE_PLAYER); + task->tFuncId++; + } + } + return FALSE; +} + +/*static*/ bool8 TrainerSeeFunc_PrepareToEngage(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +{ + struct ObjectEvent *playerObj; + + if (ObjectEventIsMovementOverridden(trainerObj) && !ObjectEventClearHeldMovementIfFinished(trainerObj)) + return FALSE; + + SetTrainerMovementType(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection)); + OverrideMovementTypeForObjectEvent(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection)); + OverrideTemplateCoordsForObjectEvent(trainerObj); + + playerObj = &gObjectEvents[gPlayerAvatar.objectEventId]; + if (ObjectEventIsMovementOverridden(playerObj) && !ObjectEventClearHeldMovementIfFinished(playerObj)) + return FALSE; + + sub_805C774(); + // Uncomment to have player turn to face their opponent + // ObjectEventSetHeldMovement(&gObjectEvents[gPlayerAvatar.objectEventId], GetFaceDirectionMovementAction(GetOppositeDirection(trainerObj->facingDirection))); + task->tFuncId++; + return FALSE; +} + +/*static*/ bool8 TrainerSeeFunc_End(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +{ + struct ObjectEvent *playerObj = &gObjectEvents[gPlayerAvatar.objectEventId]; + + if (!ObjectEventIsMovementOverridden(playerObj) + || ObjectEventClearHeldMovementIfFinished(playerObj)) + SwitchTaskToFollowupFunc(taskId); // This ends the trainer walk routine. + return FALSE; +} + +// Jumps here if disguised. Not used in FRLG. +/*static*/ bool8 TrainerSeeFunc_BeginRemoveDisguise(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +{ + if (!ObjectEventIsMovementOverridden(trainerObj) + || ObjectEventClearHeldMovementIfFinished(trainerObj)) + { + ObjectEventSetHeldMovement(trainerObj, MOVEMENT_ACTION_REVEAL_TRAINER); + task->tFuncId++; + } + return FALSE; +} + +/*static*/ bool8 TrainerSeeFunc_WaitRemoveDisguise(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +{ + if (ObjectEventClearHeldMovementIfFinished(trainerObj)) + task->tFuncId = 3; + + return FALSE; +} + +// Jump here if hidden in ash. Not used in FRLG. +/*static*/ bool8 TrainerSeeFunc_TrainerInAshFacesPlayer(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +{ + if (!ObjectEventIsMovementOverridden(trainerObj) + || ObjectEventClearHeldMovementIfFinished(trainerObj)) + { + ObjectEventSetHeldMovement(trainerObj, MOVEMENT_ACTION_FACE_PLAYER); + task->tFuncId++; + } + return FALSE; +} + +/*static*/ bool8 TrainerSeeFunc_BeginJumpOutOfAsh(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +{ + if (ObjectEventCheckHeldMovementStatus(trainerObj)) + { + gFieldEffectArguments[0] = trainerObj->currentCoords.x; + gFieldEffectArguments[1] = trainerObj->currentCoords.y; + gFieldEffectArguments[2] = gSprites[trainerObj->spriteId].subpriority - 1; + gFieldEffectArguments[3] = 2; + task->tOutOfAshSpriteId = FieldEffectStart(FLDEFF_POP_OUT_OF_ASH); + task->tFuncId++; + } + return FALSE; +} + +/*static*/ bool8 TrainerSeeFunc_WaitJumpOutOfAsh(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +{ + struct Sprite *sprite; + + if (gSprites[task->tOutOfAshSpriteId].animCmdIndex == 2) + { + trainerObj->fixedPriority = FALSE; + trainerObj->triggerGroundEffectsOnMove = TRUE; + + sprite = &gSprites[trainerObj->spriteId]; + sprite->oam.priority = 2; + ObjectEventClearHeldMovementIfFinished(trainerObj); + ObjectEventSetHeldMovement(trainerObj, GetJumpInPlaceMovementAction(trainerObj->facingDirection)); + task->tFuncId++; + } + + return FALSE; +} + +/*static*/ bool8 TrainerSeeFunc_EndJumpOutOfAsh(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj) +{ + if (!FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH)) + task->tFuncId = 3; + + return FALSE; +} + +// FRLG exclusive: Scroll the camera up to reveal an offscreen above trainer +/*static*/ bool8 TrainerSeeFunc_OffscreenAboveTrainerCreateCameraObj(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj) +{ + int specialObjectId; + task->tData5 = 0; + specialObjectId = SpawnSpecialObjectEventParameterized(OBJ_EVENT_GFX_YOUNGSTER, 7, OBJ_EVENT_ID_CAMERA, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3); + gObjectEvents[specialObjectId].invisible = TRUE; + CameraObjectSetFollowedObjectId(gObjectEvents[specialObjectId].spriteId); + task->tFuncId++; + return FALSE; +} + +/*static*/ bool8 TrainerSeeFunc_OffscreenAboveTrainerCameraObjMoveUp(u8 taskId, struct Task *task, struct ObjectEvent *trainerObj) +{ + u8 specialObjectId; + TryGetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_CAMERA, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &specialObjectId); + + if (ObjectEventIsMovementOverridden(&gObjectEvents[specialObjectId]) && !ObjectEventClearHeldMovementIfFinished(&gObjectEvents[specialObjectId])) + return FALSE; + + if (task->tData5 != task->tTrainerRange - 1) + { + ObjectEventSetHeldMovement(&gObjectEvents[specialObjectId], GetWalkFastMovementAction(DIR_NORTH)); + task->tData5++; + } + else + { + ObjectEventGetLocalIdAndMap(trainerObj, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]); + FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON); + task->tData5 = 0; + task->tFuncId++; + } + return FALSE; +} + +/*static*/ bool8 TrainerSeeFunc_OffscreenAboveTrainerCameraObjMoveDown(u8 taskId, struct Task * task, struct ObjectEvent * trainerObj) +{ + u8 specialObjectId; + TryGetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_CAMERA, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &specialObjectId); + + if (FieldEffectActiveListContains(FLDEFF_EXCLAMATION_MARK_ICON)) + return FALSE; + + if (ObjectEventIsMovementOverridden(&gObjectEvents[specialObjectId]) && !ObjectEventClearHeldMovementIfFinished(&gObjectEvents[specialObjectId])) + return FALSE; + + if (task->tData5 != task->tTrainerRange - 1) + { + ObjectEventSetHeldMovement(&gObjectEvents[specialObjectId], GetWalkFastMovementAction(DIR_SOUTH)); + task->tData5++; + } + else + { + CameraObjectSetFollowedObjectId(GetPlayerAvatarObjectId()); + RemoveObjectEventByLocalIdAndMap(OBJ_EVENT_ID_CAMERA, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + task->tData5 = 0; + task->tFuncId = 2; + } + return FALSE; +} + +#undef tData5 +#undef tOutOfAshSpriteId +#undef tTrainerRange +#undef tTrainerObjLo +#undef tTrainerObjHi +#undef tFuncId + +/*static*/ void Task_RevealTrainer_RunTrainerSeeFuncList(u8 taskId) +{ + struct Task * task = &gTasks[taskId]; + struct ObjectEvent * trainerObj; + + // another objEvent loaded into by loadword? + LoadWordFromTwoHalfwords((u16 *)&task->data[1], (uintptr_t *)&trainerObj); + if (!task->data[7]) + { + ObjectEventClearHeldMovement(trainerObj); + task->data[7]++; + } + sTrainerSeeFuncList2[task->data[0]](taskId, task, trainerObj); + if (task->data[0] == 3 && !FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH)) + { + SetTrainerMovementType(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection)); + OverrideMovementTypeForObjectEvent(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection)); + DestroyTask(taskId); + } + else + { + trainerObj->heldMovementFinished = FALSE; + } +} + +void MovementAction_RevealTrainer_RunTrainerSeeFuncList(struct ObjectEvent *var) +{ + StoreWordInTwoHalfwords((u16 *)&gTasks[CreateTask(Task_RevealTrainer_RunTrainerSeeFuncList, 0)].data[1], (u32)var); +} + +void EndTrainerApproach(void) +{ + StartTrainerApproachWithFollowupTask(Task_DestroyTrainerApproachTask); +} + +/*static*/ void Task_DestroyTrainerApproachTask(u8 taskId) +{ + DestroyTask(taskId); + EnableBothScriptContexts(); +} + +// Trainer See Excl Mark Field Effect + +#define sLocalId data[0] +#define sMapNum data[1] +#define sMapGroup data[2] +#define sData3 data[3] +#define sData4 data[4] +#define sFldEffId data[7] + +/*static*/ const struct OamData sOamData_Emoticons = { + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(16x16), + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; + +/*static*/ const struct SpriteFrameImage sSpriteImages_Emoticons[] = { + {sGfx_Emoticons + 0x000, 0x80}, + {sGfx_Emoticons + 0x040, 0x80}, + {sGfx_Emoticons + 0x080, 0x80}, + + {sGfx_Emoticons + 0x180, 0x80}, + {sGfx_Emoticons + 0x1C0, 0x80}, + {sGfx_Emoticons + 0x200, 0x80}, + + {sGfx_Emoticons + 0x0C0, 0x80}, + {sGfx_Emoticons + 0x100, 0x80}, + {sGfx_Emoticons + 0x140, 0x80}, + + {sGfx_Emoticons + 0x240, 0x80}, + {sGfx_Emoticons + 0x280, 0x80}, + {sGfx_Emoticons + 0x2C0, 0x80}, + + {sGfx_Emoticons + 0x300, 0x80}, + {sGfx_Emoticons + 0x340, 0x80}, + {sGfx_Emoticons + 0x380, 0x80}, +}; + +/*static*/ const union AnimCmd sAnimCmd_ExclamationMark1[] = { + ANIMCMD_FRAME( 0, 4), + ANIMCMD_FRAME( 1, 4), + ANIMCMD_FRAME( 2, 52), + ANIMCMD_END +}; + +/*static*/ const union AnimCmd sAnimCmd_DoubleExclMark[] = { + ANIMCMD_FRAME( 6, 4), + ANIMCMD_FRAME( 7, 4), + ANIMCMD_FRAME( 8, 52), + ANIMCMD_END +}; + +/*static*/ const union AnimCmd sAnimCmd_X[] = { + ANIMCMD_FRAME( 3, 4), + ANIMCMD_FRAME( 4, 4), + ANIMCMD_FRAME( 5, 52), + ANIMCMD_END +}; + +/*static*/ const union AnimCmd sAnimCmd_SmileyFace[] = { + ANIMCMD_FRAME( 9, 4), + ANIMCMD_FRAME(10, 4), + ANIMCMD_FRAME(11, 52), + ANIMCMD_END +}; + +/*static*/ const union AnimCmd sAnimCmd_QuestionMark[] = { + ANIMCMD_FRAME(12, 4), + ANIMCMD_FRAME(13, 4), + ANIMCMD_FRAME(14, 52), + ANIMCMD_END +}; + +/*static*/ const union AnimCmd *const sSpriteAnimTable_Emoticons[] = { + sAnimCmd_ExclamationMark1, + sAnimCmd_DoubleExclMark, + sAnimCmd_X, + sAnimCmd_SmileyFace, + sAnimCmd_QuestionMark +}; + +/*static*/ const struct SpriteTemplate sSpriteTemplate_Emoticons = { + .tileTag = 0xFFFF, + .paletteTag = 0xFFFF, + .oam = &sOamData_Emoticons, + .anims = sSpriteAnimTable_Emoticons, + .images = sSpriteImages_Emoticons, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_TrainerIcons +}; + +u8 FldEff_ExclamationMarkIcon1(void) +{ + u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_Emoticons, 0, 0, 0x53); + + if (spriteId != MAX_SPRITES) + SetIconSpriteData(&gSprites[spriteId], FLDEFF_EXCLAMATION_MARK_ICON, 0); + + return 0; +} + +u8 FldEff_DoubleExclMarkIcon(void) +{ + u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_Emoticons, 0, 0, 0x52); + + if (spriteId != MAX_SPRITES) + SetIconSpriteData(&gSprites[spriteId], FLDEFF_DOUBLE_EXCL_MARK_ICON, 1); + + return 0; +} + +u8 FldEff_XIcon(void) +{ + u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_Emoticons, 0, 0, 0x52); + + if (spriteId != MAX_SPRITES) + SetIconSpriteData(&gSprites[spriteId], FLDEFF_X_ICON, 2); + + return 0; +} + +u8 FldEff_SmileyFaceIcon(void) +{ + u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_Emoticons, 0, 0, 0x52); + + if (spriteId != MAX_SPRITES) + SetIconSpriteData(&gSprites[spriteId], FLDEFF_SMILEY_FACE_ICON, 3); + + return 0; +} + +u8 FldEff_QuestionMarkIcon(void) +{ + u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_Emoticons, 0, 0, 0x52); + + if (spriteId != MAX_SPRITES) + SetIconSpriteData(&gSprites[spriteId], FLDEFF_QUESTION_MARK_ICON, 4); + + return 0; +} + +/*static*/ void SetIconSpriteData(struct Sprite *sprite, u16 fldEffId, u8 spriteAnimNum) +{ + sprite->oam.priority = 1; + sprite->coordOffsetEnabled = 1; + + sprite->sLocalId = gFieldEffectArguments[0]; + sprite->sMapNum = gFieldEffectArguments[1]; + sprite->sMapGroup = gFieldEffectArguments[2]; + sprite->sData3 = -5; + sprite->sFldEffId = fldEffId; + + StartSpriteAnim(sprite, spriteAnimNum); +} + +/*static*/ void SpriteCB_TrainerIcons(struct Sprite *sprite) +{ + u8 objEventId; + + if (TryGetObjectEventIdByLocalIdAndMap(sprite->sLocalId, sprite->sMapNum, sprite->sMapGroup, &objEventId) + || sprite->animEnded) + { + FieldEffectStop(sprite, sprite->sFldEffId); + } + else + { + struct Sprite *objEventSprite = &gSprites[gObjectEvents[objEventId].spriteId]; + sprite->sData4 += sprite->sData3; + sprite->pos1.x = objEventSprite->pos1.x; + sprite->pos1.y = objEventSprite->pos1.y - 16; + sprite->pos2.x = objEventSprite->pos2.x; + sprite->pos2.y = objEventSprite->pos2.y + sprite->sData4; + if (sprite->sData4) + sprite->sData3++; + else + sprite->sData3 = 0; + } +} + +#undef sLocalId +#undef sMapNum +#undef sMapGroup +#undef sData3 +#undef sData4 +#undef sFldEffId diff --git a/src/trainer_tower.c b/src/trainer_tower.c index 60c6fd93d..0c673b5aa 100644 --- a/src/trainer_tower.c +++ b/src/trainer_tower.c @@ -2,11 +2,9 @@ #include "main.h" #include "task.h" #include "malloc.h" -#include "save.h" #include "util.h" #include "string_util.h" #include "event_data.h" -#include "random.h" #include "cereader_tool.h" #include "easy_chat.h" #include "text.h" @@ -20,25 +18,26 @@ #include "menu.h" #include "new_menu_helpers.h" #include "sound.h" -#include "renewable_hidden_items.h" -#include "constants/flags.h" #include "constants/vars.h" #include "constants/items.h" #include "constants/species.h" -#include "constants/maps.h" #include "constants/songs.h" #include "constants/layouts.h" #include "constants/trainers.h" #include "constants/facility_trainer_classes.h" -#include "constants/object_events.h" +#include "constants/event_objects.h" +#include "constants/trainer_tower.h" + +#define CURR_FLOOR sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx] +#define TRAINER_TOWER gSaveBlock1Ptr->trainerTower[gSaveBlock1Ptr->towerChallengeId] struct UnkStruct_203F458 { /* 0x0000 */ u8 floorIdx; - /* 0x0004 */ struct EReaderTrainerHillSet unk_0004; + /* 0x0004 */ struct EReaderTrainerTowerSet unk_0004; }; -struct UnkStruct_203F45C +struct TrainerTowerOpponent { /* 0x00 */ u8 name[11]; /* 0x0C */ u16 speechWin[6]; @@ -52,15 +51,15 @@ struct UnkStruct_203F45C struct SinglesTrainerInfo { - u8 mapObjGfx; + u8 objGfx; u8 facilityClass; bool8 gender; }; struct DoublesTrainerInfo { - u8 mapObjGfx1; - u8 mapObjGfx2; + u8 objGfx1; + u8 objGfx2; u8 facilityClass; bool8 gender1; bool8 gender2; @@ -68,147 +67,147 @@ struct DoublesTrainerInfo struct TrainerEncounterMusicPairs { - u8 unk0; - u8 unk1; + u8 facilityClass; + u8 musicId; }; static EWRAM_DATA struct UnkStruct_203F458 * sTrainerTowerState = NULL; -static EWRAM_DATA struct UnkStruct_203F45C * sTrainerTowerOpponent = NULL; +static EWRAM_DATA struct TrainerTowerOpponent * sTrainerTowerOpponent = NULL; static EWRAM_DATA u8 sUnused_203F460 = 0; -static void sub_815DC8C(void); // setup -static void sub_815DD2C(void); // teardown -static void sub_815DD44(void); +static void SetUpTrainerTowerDataStruct(void); +static void FreeTrainerTowerDataStruct(void); +static void InitTrainerTowerFloor(void); static void SetTrainerTowerNPCGraphics(void); static void TT_ConvertEasyChatMessageToString(u16 *ecWords, u8 *dest); -static void sub_815DF54(void); +static void BufferTowerOpponentSpeech(void); static void TrainerTowerGetOpponentTextColor(u8 battleType, u8 facilityClass); -static void sub_815E160(void); -static void sub_815E1C0(void); -static void sub_815E1F0(void); -static void TTSpecial_HasReachedTheRoof(void); -static void sub_815E28C(void); -static void sub_815E394(void); -static void sub_815E408(void); -static void sub_815E4B0(void); -static void TTSpecial_StartTimer(void); -static void sub_815E5C4(void); -static void sub_815E5F0(void); -static void sub_815E658(void); -static void sub_815E720(void); -static void sub_815E88C(void); -static void sub_815E8B4(void); -static void sub_815E8CC(void); -static void sub_815E908(void); -static void sub_815E948(void); -static void sub_815E9C8(void); +static void DoTrainerTowerBattle(void); +static void TrainerTowerGetChallengeType(void); +static void TrainerTowerAddFloorCleared(void); +static void GetFloorAlreadyCleared(void); +static void StartTrainerTowerChallenge(void); +static void GetOwnerState(void); +static void GiveChallengePrize(void); +static void CheckFinalTime(void); +static void TrainerTowerResumeTimer(void); +static void TrainerTowerSetPlayerLost(void); +static void GetTrainerTowerChallengeStatus(void); +static void GetCurrentTime(void); +static void ShowResultsBoard(void); +static void CloseResultsBoard(void); +static void TrainerTowerGetDoublesEligiblity(void); +static void TrainerTowerGetNumFloors(void); +static void ShouldWarpToCounter(void); +static void PlayTrainerTowerEncounterMusic(void); +static void HasSpokenToOwner(void); static void BuildEnemyParty(void); static s32 GetPartyMaxLevel(void); static void ValidateOrResetCurTrainerTowerRecord(void); static u32 GetTrainerTowerRecordTime(u32 *); static void SetTrainerTowerRecordTime(u32 *, u32); -extern const u8 gUnknown_83FE982[]; -extern const u8 gUnknown_83FE998[]; -extern const u8 *const gUnknown_83FE9C4[]; +extern const u8 gText_TimeBoard[]; +extern const u8 gText_XMinYZSec[]; +extern const u8 *const gTrainerTowerChallengeTypeTexts[]; static const struct SinglesTrainerInfo sSingleBattleTrainerInfo[] = { - {OBJECT_EVENT_GFX_WOMAN_2, FACILITY_CLASS_AROMA_LADY, FEMALE}, - {OBJECT_EVENT_GFX_HIKER, FACILITY_CLASS_RUIN_MANIAC, MALE}, - {OBJECT_EVENT_GFX_TUBER_F, FACILITY_CLASS_TUBER, FEMALE}, - {OBJECT_EVENT_GFX_TUBER_M_2, FACILITY_CLASS_TUBER_2, MALE}, - {OBJECT_EVENT_GFX_COOLTRAINER_M, FACILITY_CLASS_COOLTRAINER, MALE}, - {OBJECT_EVENT_GFX_COOLTRAINER_F, FACILITY_CLASS_COOLTRAINER_2, FEMALE}, - {OBJECT_EVENT_GFX_SUPER_NERD, FACILITY_CLASS_HEX_MANIAC, MALE}, - {OBJECT_EVENT_GFX_WOMAN_2, FACILITY_CLASS_LADY, FEMALE}, - {OBJECT_EVENT_GFX_BEAUTY, FACILITY_CLASS_BEAUTY, FEMALE}, - {OBJECT_EVENT_GFX_BOY, FACILITY_CLASS_RICH_BOY, MALE}, - {OBJECT_EVENT_GFX_SUPER_NERD, FACILITY_CLASS_POKEMANIAC, MALE}, - {OBJECT_EVENT_GFX_SWIMMER_M_LAND, FACILITY_CLASS_SWIMMER_MALE, MALE}, - {OBJECT_EVENT_GFX_BLACKBELT, FACILITY_CLASS_BLACK_BELT, MALE}, - {OBJECT_EVENT_GFX_ROCKER, FACILITY_CLASS_GUITARIST, MALE}, - {OBJECT_EVENT_GFX_ROCKER, FACILITY_CLASS_KINDLER, MALE}, - {OBJECT_EVENT_GFX_CAMPER, FACILITY_CLASS_CAMPER, MALE}, - {OBJECT_EVENT_GFX_SUPER_NERD, FACILITY_CLASS_BUG_MANIAC, MALE}, - {OBJECT_EVENT_GFX_BOY, FACILITY_CLASS_PSYCHIC, MALE}, - {OBJECT_EVENT_GFX_WOMAN_1, FACILITY_CLASS_PSYCHIC_2, FEMALE}, - {OBJECT_EVENT_GFX_GENTLEMAN, FACILITY_CLASS_GENTLEMAN, MALE}, - {OBJECT_EVENT_GFX_BOY, FACILITY_CLASS_SCHOOL_KID, MALE}, - {OBJECT_EVENT_GFX_WOMAN_1, FACILITY_CLASS_SCHOOL_KID_2, FEMALE}, - {OBJECT_EVENT_GFX_BALDING_MAN, FACILITY_CLASS_POKEFAN, MALE}, - {OBJECT_EVENT_GFX_WOMAN_3, FACILITY_CLASS_POKEFAN_2, FEMALE}, - {OBJECT_EVENT_GFX_OLD_MAN_1, FACILITY_CLASS_EXPERT, MALE}, - {OBJECT_EVENT_GFX_OLD_WOMAN, FACILITY_CLASS_EXPERT_2, FEMALE}, - {OBJECT_EVENT_GFX_YOUNGSTER, FACILITY_CLASS_YOUNGSTER, MALE}, - {OBJECT_EVENT_GFX_FISHER, FACILITY_CLASS_FISHERMAN, MALE}, - {OBJECT_EVENT_GFX_COOLTRAINER_M, FACILITY_CLASS_DRAGON_TAMER, MALE}, - {OBJECT_EVENT_GFX_ROCKER, FACILITY_CLASS_BIRD_KEEPER, MALE}, - {OBJECT_EVENT_GFX_LITTLE_BOY, FACILITY_CLASS_NINJA_BOY, MALE}, - {OBJECT_EVENT_GFX_BATTLE_GIRL, FACILITY_CLASS_BATTLE_GIRL, FEMALE}, - {OBJECT_EVENT_GFX_BEAUTY, FACILITY_CLASS_PARASOL_LADY, FEMALE}, - {OBJECT_EVENT_GFX_SWIMMER_F_LAND, FACILITY_CLASS_SWIMMER_FEMALE, FEMALE}, - {OBJECT_EVENT_GFX_PICNICKER, FACILITY_CLASS_PICNICKER, FEMALE}, - {OBJECT_EVENT_GFX_SAILOR, FACILITY_CLASS_SAILOR, MALE}, - {OBJECT_EVENT_GFX_FAT_MAN, FACILITY_CLASS_COLLECTOR, MALE}, - {OBJECT_EVENT_GFX_MAN, FACILITY_CLASS_PKMN_BREEDER, MALE}, - {OBJECT_EVENT_GFX_WOMAN_2, FACILITY_CLASS_PKMN_BREEDER_2, FEMALE}, - {OBJECT_EVENT_GFX_CAMPER, FACILITY_CLASS_PKMN_RANGER, MALE}, - {OBJECT_EVENT_GFX_PICNICKER, FACILITY_CLASS_PKMN_RANGER_2, FEMALE}, - {OBJECT_EVENT_GFX_LASS, FACILITY_CLASS_LASS, FEMALE}, - {OBJECT_EVENT_GFX_BUG_CATCHER, FACILITY_CLASS_BUG_CATCHER, MALE}, - {OBJECT_EVENT_GFX_HIKER, FACILITY_CLASS_HIKER, MALE}, - {OBJECT_EVENT_GFX_YOUNGSTER, FACILITY_CLASS_YOUNGSTER_2, MALE}, - {OBJECT_EVENT_GFX_BUG_CATCHER, FACILITY_CLASS_BUG_CATCHER_2, MALE}, - {OBJECT_EVENT_GFX_LASS, FACILITY_CLASS_LASS_2, FEMALE}, - {OBJECT_EVENT_GFX_SAILOR, FACILITY_CLASS_SAILOR_2, MALE}, - {OBJECT_EVENT_GFX_CAMPER, FACILITY_CLASS_CAMPER_2, MALE}, - {OBJECT_EVENT_GFX_PICNICKER, FACILITY_CLASS_PICNICKER_2, FEMALE}, - {OBJECT_EVENT_GFX_SUPER_NERD, FACILITY_CLASS_POKEMANIAC_2, MALE}, - {OBJECT_EVENT_GFX_SUPER_NERD, FACILITY_CLASS_SUPER_NERD, MALE}, - {OBJECT_EVENT_GFX_HIKER, FACILITY_CLASS_HIKER_2, MALE}, - {OBJECT_EVENT_GFX_BIKER, FACILITY_CLASS_BIKER, MALE}, - {OBJECT_EVENT_GFX_SUPER_NERD, FACILITY_CLASS_BURGLAR, MALE}, - {OBJECT_EVENT_GFX_BALDING_MAN, FACILITY_CLASS_ENGINEER, MALE}, - {OBJECT_EVENT_GFX_FISHER, FACILITY_CLASS_FISHERMAN_2, MALE}, - {OBJECT_EVENT_GFX_SWIMMER_M_LAND, FACILITY_CLASS_SWIMMER_MALE_2, MALE}, - {OBJECT_EVENT_GFX_BIKER, FACILITY_CLASS_CUE_BALL, MALE}, - {OBJECT_EVENT_GFX_OLD_MAN_1, FACILITY_CLASS_GAMER, MALE}, - {OBJECT_EVENT_GFX_BEAUTY, FACILITY_CLASS_BEAUTY_2, FEMALE}, - {OBJECT_EVENT_GFX_SWIMMER_F_LAND, FACILITY_CLASS_SWIMMER_FEMALE_2, FEMALE}, - {OBJECT_EVENT_GFX_BOY, FACILITY_CLASS_PSYCHIC_3, MALE}, - {OBJECT_EVENT_GFX_ROCKER, FACILITY_CLASS_ROCKER, MALE}, - {OBJECT_EVENT_GFX_ROCKER, FACILITY_CLASS_JUGGLER, MALE}, - {OBJECT_EVENT_GFX_MAN, FACILITY_CLASS_TAMER, MALE}, - {OBJECT_EVENT_GFX_ROCKER, FACILITY_CLASS_BIRD_KEEPER_2, MALE}, - {OBJECT_EVENT_GFX_BLACKBELT, FACILITY_CLASS_BLACK_BELT_2, MALE}, - {OBJECT_EVENT_GFX_SCIENTIST, FACILITY_CLASS_SCIENTIST, MALE}, - {OBJECT_EVENT_GFX_COOLTRAINER_M, FACILITY_CLASS_COOLTRAINER_3, MALE}, - {OBJECT_EVENT_GFX_COOLTRAINER_F, FACILITY_CLASS_COOLTRAINER_4, FEMALE}, - {OBJECT_EVENT_GFX_GENTLEMAN, FACILITY_CLASS_GENTLEMAN_2, MALE}, - {OBJECT_EVENT_GFX_CHANNELER, FACILITY_CLASS_CHANNELER, FEMALE}, - {OBJECT_EVENT_GFX_WOMAN_1, FACILITY_CLASS_PSYCHIC_4, FEMALE}, - {OBJECT_EVENT_GFX_BATTLE_GIRL, FACILITY_CLASS_CRUSH_GIRL, FEMALE}, - {OBJECT_EVENT_GFX_TUBER_F, FACILITY_CLASS_TUBER_3, FEMALE}, - {OBJECT_EVENT_GFX_WOMAN_2, FACILITY_CLASS_PKMN_BREEDER_3, FEMALE}, - {OBJECT_EVENT_GFX_CAMPER, FACILITY_CLASS_PKMN_RANGER_3, MALE}, - {OBJECT_EVENT_GFX_PICNICKER, FACILITY_CLASS_PKMN_RANGER_4, FEMALE}, - {OBJECT_EVENT_GFX_WOMAN_2, FACILITY_CLASS_AROMA_LADY_2, FEMALE}, - {OBJECT_EVENT_GFX_HIKER, FACILITY_CLASS_RUIN_MANIAC_2, MALE}, - {OBJECT_EVENT_GFX_WOMAN_2, FACILITY_CLASS_LADY_2, FEMALE}, - {OBJECT_EVENT_GFX_LASS, FACILITY_CLASS_PAINTER, FEMALE} + {OBJ_EVENT_GFX_WOMAN_2, FACILITY_CLASS_AROMA_LADY, FEMALE}, + {OBJ_EVENT_GFX_HIKER, FACILITY_CLASS_RUIN_MANIAC, MALE}, + {OBJ_EVENT_GFX_TUBER_F, FACILITY_CLASS_TUBER, FEMALE}, + {OBJ_EVENT_GFX_TUBER_M_2, FACILITY_CLASS_TUBER_2, MALE}, + {OBJ_EVENT_GFX_COOLTRAINER_M, FACILITY_CLASS_COOLTRAINER, MALE}, + {OBJ_EVENT_GFX_COOLTRAINER_F, FACILITY_CLASS_COOLTRAINER_2, FEMALE}, + {OBJ_EVENT_GFX_SUPER_NERD, FACILITY_CLASS_HEX_MANIAC, MALE}, + {OBJ_EVENT_GFX_WOMAN_2, FACILITY_CLASS_LADY, FEMALE}, + {OBJ_EVENT_GFX_BEAUTY, FACILITY_CLASS_BEAUTY, FEMALE}, + {OBJ_EVENT_GFX_BOY, FACILITY_CLASS_RICH_BOY, MALE}, + {OBJ_EVENT_GFX_SUPER_NERD, FACILITY_CLASS_POKEMANIAC, MALE}, + {OBJ_EVENT_GFX_SWIMMER_M_LAND, FACILITY_CLASS_SWIMMER_MALE, MALE}, + {OBJ_EVENT_GFX_BLACKBELT, FACILITY_CLASS_BLACK_BELT, MALE}, + {OBJ_EVENT_GFX_ROCKER, FACILITY_CLASS_GUITARIST, MALE}, + {OBJ_EVENT_GFX_ROCKER, FACILITY_CLASS_KINDLER, MALE}, + {OBJ_EVENT_GFX_CAMPER, FACILITY_CLASS_CAMPER, MALE}, + {OBJ_EVENT_GFX_SUPER_NERD, FACILITY_CLASS_BUG_MANIAC, MALE}, + {OBJ_EVENT_GFX_BOY, FACILITY_CLASS_PSYCHIC, MALE}, + {OBJ_EVENT_GFX_WOMAN_1, FACILITY_CLASS_PSYCHIC_2, FEMALE}, + {OBJ_EVENT_GFX_GENTLEMAN, FACILITY_CLASS_GENTLEMAN, MALE}, + {OBJ_EVENT_GFX_BOY, FACILITY_CLASS_SCHOOL_KID, MALE}, + {OBJ_EVENT_GFX_WOMAN_1, FACILITY_CLASS_SCHOOL_KID_2, FEMALE}, + {OBJ_EVENT_GFX_BALDING_MAN, FACILITY_CLASS_POKEFAN, MALE}, + {OBJ_EVENT_GFX_WOMAN_3, FACILITY_CLASS_POKEFAN_2, FEMALE}, + {OBJ_EVENT_GFX_OLD_MAN_1, FACILITY_CLASS_EXPERT, MALE}, + {OBJ_EVENT_GFX_OLD_WOMAN, FACILITY_CLASS_EXPERT_2, FEMALE}, + {OBJ_EVENT_GFX_YOUNGSTER, FACILITY_CLASS_YOUNGSTER, MALE}, + {OBJ_EVENT_GFX_FISHER, FACILITY_CLASS_FISHERMAN, MALE}, + {OBJ_EVENT_GFX_COOLTRAINER_M, FACILITY_CLASS_DRAGON_TAMER, MALE}, + {OBJ_EVENT_GFX_ROCKER, FACILITY_CLASS_BIRD_KEEPER, MALE}, + {OBJ_EVENT_GFX_LITTLE_BOY, FACILITY_CLASS_NINJA_BOY, MALE}, + {OBJ_EVENT_GFX_BATTLE_GIRL, FACILITY_CLASS_BATTLE_GIRL, FEMALE}, + {OBJ_EVENT_GFX_BEAUTY, FACILITY_CLASS_PARASOL_LADY, FEMALE}, + {OBJ_EVENT_GFX_SWIMMER_F_LAND, FACILITY_CLASS_SWIMMER_FEMALE, FEMALE}, + {OBJ_EVENT_GFX_PICNICKER, FACILITY_CLASS_PICNICKER, FEMALE}, + {OBJ_EVENT_GFX_SAILOR, FACILITY_CLASS_SAILOR, MALE}, + {OBJ_EVENT_GFX_FAT_MAN, FACILITY_CLASS_COLLECTOR, MALE}, + {OBJ_EVENT_GFX_MAN, FACILITY_CLASS_PKMN_BREEDER, MALE}, + {OBJ_EVENT_GFX_WOMAN_2, FACILITY_CLASS_PKMN_BREEDER_2, FEMALE}, + {OBJ_EVENT_GFX_CAMPER, FACILITY_CLASS_PKMN_RANGER, MALE}, + {OBJ_EVENT_GFX_PICNICKER, FACILITY_CLASS_PKMN_RANGER_2, FEMALE}, + {OBJ_EVENT_GFX_LASS, FACILITY_CLASS_LASS, FEMALE}, + {OBJ_EVENT_GFX_BUG_CATCHER, FACILITY_CLASS_BUG_CATCHER, MALE}, + {OBJ_EVENT_GFX_HIKER, FACILITY_CLASS_HIKER, MALE}, + {OBJ_EVENT_GFX_YOUNGSTER, FACILITY_CLASS_YOUNGSTER_2, MALE}, + {OBJ_EVENT_GFX_BUG_CATCHER, FACILITY_CLASS_BUG_CATCHER_2, MALE}, + {OBJ_EVENT_GFX_LASS, FACILITY_CLASS_LASS_2, FEMALE}, + {OBJ_EVENT_GFX_SAILOR, FACILITY_CLASS_SAILOR_2, MALE}, + {OBJ_EVENT_GFX_CAMPER, FACILITY_CLASS_CAMPER_2, MALE}, + {OBJ_EVENT_GFX_PICNICKER, FACILITY_CLASS_PICNICKER_2, FEMALE}, + {OBJ_EVENT_GFX_SUPER_NERD, FACILITY_CLASS_POKEMANIAC_2, MALE}, + {OBJ_EVENT_GFX_SUPER_NERD, FACILITY_CLASS_SUPER_NERD, MALE}, + {OBJ_EVENT_GFX_HIKER, FACILITY_CLASS_HIKER_2, MALE}, + {OBJ_EVENT_GFX_BIKER, FACILITY_CLASS_BIKER, MALE}, + {OBJ_EVENT_GFX_SUPER_NERD, FACILITY_CLASS_BURGLAR, MALE}, + {OBJ_EVENT_GFX_BALDING_MAN, FACILITY_CLASS_ENGINEER, MALE}, + {OBJ_EVENT_GFX_FISHER, FACILITY_CLASS_FISHERMAN_2, MALE}, + {OBJ_EVENT_GFX_SWIMMER_M_LAND, FACILITY_CLASS_SWIMMER_MALE_2, MALE}, + {OBJ_EVENT_GFX_BIKER, FACILITY_CLASS_CUE_BALL, MALE}, + {OBJ_EVENT_GFX_OLD_MAN_1, FACILITY_CLASS_GAMER, MALE}, + {OBJ_EVENT_GFX_BEAUTY, FACILITY_CLASS_BEAUTY_2, FEMALE}, + {OBJ_EVENT_GFX_SWIMMER_F_LAND, FACILITY_CLASS_SWIMMER_FEMALE_2, FEMALE}, + {OBJ_EVENT_GFX_BOY, FACILITY_CLASS_PSYCHIC_3, MALE}, + {OBJ_EVENT_GFX_ROCKER, FACILITY_CLASS_ROCKER, MALE}, + {OBJ_EVENT_GFX_ROCKER, FACILITY_CLASS_JUGGLER, MALE}, + {OBJ_EVENT_GFX_MAN, FACILITY_CLASS_TAMER, MALE}, + {OBJ_EVENT_GFX_ROCKER, FACILITY_CLASS_BIRD_KEEPER_2, MALE}, + {OBJ_EVENT_GFX_BLACKBELT, FACILITY_CLASS_BLACK_BELT_2, MALE}, + {OBJ_EVENT_GFX_SCIENTIST, FACILITY_CLASS_SCIENTIST, MALE}, + {OBJ_EVENT_GFX_COOLTRAINER_M, FACILITY_CLASS_COOLTRAINER_3, MALE}, + {OBJ_EVENT_GFX_COOLTRAINER_F, FACILITY_CLASS_COOLTRAINER_4, FEMALE}, + {OBJ_EVENT_GFX_GENTLEMAN, FACILITY_CLASS_GENTLEMAN_2, MALE}, + {OBJ_EVENT_GFX_CHANNELER, FACILITY_CLASS_CHANNELER, FEMALE}, + {OBJ_EVENT_GFX_WOMAN_1, FACILITY_CLASS_PSYCHIC_4, FEMALE}, + {OBJ_EVENT_GFX_BATTLE_GIRL, FACILITY_CLASS_CRUSH_GIRL, FEMALE}, + {OBJ_EVENT_GFX_TUBER_F, FACILITY_CLASS_TUBER_3, FEMALE}, + {OBJ_EVENT_GFX_WOMAN_2, FACILITY_CLASS_PKMN_BREEDER_3, FEMALE}, + {OBJ_EVENT_GFX_CAMPER, FACILITY_CLASS_PKMN_RANGER_3, MALE}, + {OBJ_EVENT_GFX_PICNICKER, FACILITY_CLASS_PKMN_RANGER_4, FEMALE}, + {OBJ_EVENT_GFX_WOMAN_2, FACILITY_CLASS_AROMA_LADY_2, FEMALE}, + {OBJ_EVENT_GFX_HIKER, FACILITY_CLASS_RUIN_MANIAC_2, MALE}, + {OBJ_EVENT_GFX_WOMAN_2, FACILITY_CLASS_LADY_2, FEMALE}, + {OBJ_EVENT_GFX_LASS, FACILITY_CLASS_PAINTER, FEMALE} }; static const struct DoublesTrainerInfo sDoubleBattleTrainerInfo[] = { - {OBJECT_EVENT_GFX_BEAUTY, OBJECT_EVENT_GFX_WOMAN_1, FACILITY_CLASS_SR_AND_JR, FEMALE, FEMALE}, - {OBJECT_EVENT_GFX_LITTLE_GIRL, OBJECT_EVENT_GFX_LITTLE_GIRL, FACILITY_CLASS_TWINS, FEMALE, FEMALE}, - {OBJECT_EVENT_GFX_BEAUTY, OBJECT_EVENT_GFX_MAN, FACILITY_CLASS_YOUNG_COUPLE, FEMALE, MALE}, - {OBJECT_EVENT_GFX_OLD_MAN_1, OBJECT_EVENT_GFX_OLD_WOMAN, FACILITY_CLASS_OLD_COUPLE, MALE, FEMALE}, - {OBJECT_EVENT_GFX_TUBER_M_2, OBJECT_EVENT_GFX_SWIMMER_F_LAND, FACILITY_CLASS_SIS_AND_BRO, MALE, FEMALE}, - {OBJECT_EVENT_GFX_LITTLE_GIRL, OBJECT_EVENT_GFX_LITTLE_GIRL, FACILITY_CLASS_TWINS_2, FEMALE, FEMALE}, - {OBJECT_EVENT_GFX_COOLTRAINER_M, OBJECT_EVENT_GFX_COOLTRAINER_F, FACILITY_CLASS_COOL_COUPLE, MALE, FEMALE}, - {OBJECT_EVENT_GFX_BEAUTY, OBJECT_EVENT_GFX_MAN, FACILITY_CLASS_YOUNG_COUPLE_2, FEMALE, MALE}, - {OBJECT_EVENT_GFX_BATTLE_GIRL, OBJECT_EVENT_GFX_BLACKBELT, FACILITY_CLASS_CRUSH_KIN, FEMALE, MALE}, - {OBJECT_EVENT_GFX_SWIMMER_F_LAND, OBJECT_EVENT_GFX_TUBER_M_2, FACILITY_CLASS_SIS_AND_BRO_2, FEMALE, MALE} + {OBJ_EVENT_GFX_BEAUTY, OBJ_EVENT_GFX_WOMAN_1, FACILITY_CLASS_SR_AND_JR, FEMALE, FEMALE}, + {OBJ_EVENT_GFX_LITTLE_GIRL, OBJ_EVENT_GFX_LITTLE_GIRL, FACILITY_CLASS_TWINS, FEMALE, FEMALE}, + {OBJ_EVENT_GFX_BEAUTY, OBJ_EVENT_GFX_MAN, FACILITY_CLASS_YOUNG_COUPLE, FEMALE, MALE}, + {OBJ_EVENT_GFX_OLD_MAN_1, OBJ_EVENT_GFX_OLD_WOMAN, FACILITY_CLASS_OLD_COUPLE, MALE, FEMALE}, + {OBJ_EVENT_GFX_TUBER_M_2, OBJ_EVENT_GFX_SWIMMER_F_LAND, FACILITY_CLASS_SIS_AND_BRO, MALE, FEMALE}, + {OBJ_EVENT_GFX_LITTLE_GIRL, OBJ_EVENT_GFX_LITTLE_GIRL, FACILITY_CLASS_TWINS_2, FEMALE, FEMALE}, + {OBJ_EVENT_GFX_COOLTRAINER_M, OBJ_EVENT_GFX_COOLTRAINER_F, FACILITY_CLASS_COOL_COUPLE, MALE, FEMALE}, + {OBJ_EVENT_GFX_BEAUTY, OBJ_EVENT_GFX_MAN, FACILITY_CLASS_YOUNG_COUPLE_2, FEMALE, MALE}, + {OBJ_EVENT_GFX_BATTLE_GIRL, OBJ_EVENT_GFX_BLACKBELT, FACILITY_CLASS_CRUSH_KIN, FEMALE, MALE}, + {OBJ_EVENT_GFX_SWIMMER_F_LAND, OBJ_EVENT_GFX_TUBER_M_2, FACILITY_CLASS_SIS_AND_BRO_2, FEMALE, MALE} }; static const struct TrainerEncounterMusicPairs sTrainerEncounterMusicLUT[105] = { @@ -319,51 +318,52 @@ static const struct TrainerEncounterMusicPairs sTrainerEncounterMusicLUT[105] = {FACILITY_CLASS_ELITE_FOUR_2, TRAINER_ENCOUNTER_MUSIC_MALE} }; -static const struct WindowTemplate gUnknown_847A218[] = { +static const struct WindowTemplate sTimeBoardWindowTemplate[] = { {0, 3, 1, 27, 18, 15, 0x001}, DUMMY_WIN_TEMPLATE }; -static const u32 gUnknown_847A228 = 0x70; // unused +static const u32 sUnused_847A228 = 0x70; -static const u8 gUnknown_847A22C[3] = {0, 2, 3}; +static const u8 sTextColors[3] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY}; -static void (*const gUnknown_847A230[])(void) = { - sub_815DD44, - sub_815DF54, - sub_815E160, - sub_815E1C0, - sub_815E1F0, - TTSpecial_HasReachedTheRoof, - sub_815E28C, - sub_815E394, - sub_815E408, - sub_815E4B0, - TTSpecial_StartTimer, - sub_815E5C4, - sub_815E5F0, - sub_815E658, - sub_815E720, - sub_815E88C, - sub_815E8B4, - sub_815E8CC, - sub_815E908, - sub_815E948, - sub_815E9C8 +static void (*const sTrainerTowerFunctions[])(void) = { + [TRAINER_TOWER_FUNC_INIT_FLOOR] = InitTrainerTowerFloor, + [TRAINER_TOWER_FUNC_GET_SPEECH] = BufferTowerOpponentSpeech, + [TRAINER_TOWER_FUNC_DO_BATTLE] = DoTrainerTowerBattle, + [TRAINER_TOWER_FUNC_GET_CHALLENGE_TYPE] = TrainerTowerGetChallengeType, + [TRAINER_TOWER_FUNC_CLEARED_FLOOR] = TrainerTowerAddFloorCleared, + [TRAINER_TOWER_FUNC_GET_FLOOR_CLEARED] = GetFloorAlreadyCleared, + [TRAINER_TOWER_FUNC_START_CHALLENGE] = StartTrainerTowerChallenge, + [TRAINER_TOWER_FUNC_GET_OWNER_STATE] = GetOwnerState, + [TRAINER_TOWER_FUNC_GIVE_PRIZE] = GiveChallengePrize, + [TRAINER_TOWER_FUNC_CHECK_FINAL_TIME] = CheckFinalTime, + [TRAINER_TOWER_FUNC_RESUME_TIMER] = TrainerTowerResumeTimer, + [TRAINER_TOWER_FUNC_SET_LOST] = TrainerTowerSetPlayerLost, + [TRAINER_TOWER_FUNC_GET_CHALLENGE_STATUS] = GetTrainerTowerChallengeStatus, + [TRAINER_TOWER_FUNC_GET_TIME] = GetCurrentTime, + [TRAINER_TOWER_FUNC_SHOW_RESULTS] = ShowResultsBoard, + [TRAINER_TOWER_FUNC_CLOSE_RESULTS] = CloseResultsBoard, + [TRAINER_TOWER_FUNC_CHECK_DOUBLES] = TrainerTowerGetDoublesEligiblity, + [TRAINER_TOWER_FUNC_GET_NUM_FLOORS] = TrainerTowerGetNumFloors, + [TRAINER_TOWER_FUNC_SHOULD_WARP_TO_COUNTER] = ShouldWarpToCounter, + [TRAINER_TOWER_FUNC_ENCOUNTER_MUSIC] = PlayTrainerTowerEncounterMusic, + [TRAINER_TOWER_FUNC_GET_BEAT_CHALLENGE] = HasSpokenToOwner }; -static const u16 sFloorLayouts[8][3] = { - {LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_1F, LAYOUT_UNUSED_LAYOUT_834BC2C, LAYOUT_UNUSED_LAYOUT_834D06C}, - {LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_2F, LAYOUT_UNUSED_LAYOUT_834BEB4, LAYOUT_UNUSED_LAYOUT_834D2F4}, - {LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_3F, LAYOUT_UNUSED_LAYOUT_834C13C, LAYOUT_UNUSED_LAYOUT_834D57C}, - {LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_4F, LAYOUT_UNUSED_LAYOUT_834C3C4, LAYOUT_UNUSED_LAYOUT_834D804}, - {LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_5F, LAYOUT_UNUSED_LAYOUT_834C64C, LAYOUT_UNUSED_LAYOUT_834DA8C}, - {LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_6F, LAYOUT_UNUSED_LAYOUT_834C8D4, LAYOUT_UNUSED_LAYOUT_834DD14}, - {LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_7F, LAYOUT_UNUSED_LAYOUT_834CB5C, LAYOUT_UNUSED_LAYOUT_834DF9C}, - {LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_8F, LAYOUT_UNUSED_LAYOUT_834CDE4, LAYOUT_UNUSED_LAYOUT_834E224} +// - 1 excludes Mixed challenge, which just uses one of the 3 other types +static const u16 sFloorLayouts[MAX_TRAINER_TOWER_FLOORS][NUM_TOWER_CHALLENGE_TYPES - 1] = { + {LAYOUT_TRAINER_TOWER_1F, LAYOUT_TRAINER_TOWER_1F_DOUBLES, LAYOUT_TRAINER_TOWER_1F_KNOCKOUT}, + {LAYOUT_TRAINER_TOWER_2F, LAYOUT_TRAINER_TOWER_2F_DOUBLES, LAYOUT_TRAINER_TOWER_2F_KNOCKOUT}, + {LAYOUT_TRAINER_TOWER_3F, LAYOUT_TRAINER_TOWER_3F_DOUBLES, LAYOUT_TRAINER_TOWER_3F_KNOCKOUT}, + {LAYOUT_TRAINER_TOWER_4F, LAYOUT_TRAINER_TOWER_4F_DOUBLES, LAYOUT_TRAINER_TOWER_4F_KNOCKOUT}, + {LAYOUT_TRAINER_TOWER_5F, LAYOUT_TRAINER_TOWER_5F_DOUBLES, LAYOUT_TRAINER_TOWER_5F_KNOCKOUT}, + {LAYOUT_TRAINER_TOWER_6F, LAYOUT_TRAINER_TOWER_6F_DOUBLES, LAYOUT_TRAINER_TOWER_6F_KNOCKOUT}, + {LAYOUT_TRAINER_TOWER_7F, LAYOUT_TRAINER_TOWER_7F_DOUBLES, LAYOUT_TRAINER_TOWER_7F_KNOCKOUT}, + {LAYOUT_TRAINER_TOWER_8F, LAYOUT_TRAINER_TOWER_8F_DOUBLES, LAYOUT_TRAINER_TOWER_8F_KNOCKOUT} }; -static const u16 gUnknown_847A2B4[] = { +static const u16 sPrizeList[] = { ITEM_HP_UP, ITEM_PROTEIN, ITEM_IRON, @@ -381,21 +381,21 @@ static const u16 gUnknown_847A2B4[] = { ITEM_UP_GRADE }; -static const u16 gUnknown_847A2D2[] = { - MUS_SHOUNEN, - MUS_SHOUJO, - MUS_SHOUJO, - MUS_ROCKET, - MUS_SHOUNEN, - MUS_SHOUNEN, - MUS_ROCKET, - MUS_ROCKET, - MUS_SHOUNEN, - MUS_SHOUJO, - MUS_SHOUNEN, - MUS_SHOUNEN, - MUS_SHOUNEN, - MUS_SHOUNEN +static const u16 sTrainerTowerEncounterMusic[] = { + [TRAINER_ENCOUNTER_MUSIC_MALE] = MUS_SHOUNEN, + [TRAINER_ENCOUNTER_MUSIC_FEMALE] = MUS_SHOUJO, + [TRAINER_ENCOUNTER_MUSIC_GIRL] = MUS_SHOUJO, + [TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS] = MUS_ROCKET, + [TRAINER_ENCOUNTER_MUSIC_INTENSE] = MUS_SHOUNEN, + [TRAINER_ENCOUNTER_MUSIC_COOL] = MUS_SHOUNEN, + [TRAINER_ENCOUNTER_MUSIC_AQUA] = MUS_ROCKET, + [TRAINER_ENCOUNTER_MUSIC_MAGMA] = MUS_ROCKET, + [TRAINER_ENCOUNTER_MUSIC_SWIMMER] = MUS_SHOUNEN, + [TRAINER_ENCOUNTER_MUSIC_TWINS] = MUS_SHOUJO, + [TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR] = MUS_SHOUNEN, + [TRAINER_ENCOUNTER_MUSIC_HIKER] = MUS_SHOUNEN, + [TRAINER_ENCOUNTER_MUSIC_INTERVIEWER] = MUS_SHOUNEN, + [TRAINER_ENCOUNTER_MUSIC_RICH] = MUS_SHOUNEN }; static const u8 sSingleBattleChallengeMonIdxs[][2] = { @@ -431,22 +431,22 @@ static const u8 sKnockoutChallengeMonIdxs[][3] = { {0x01, 0x04, 0x05} }; -extern const struct EReaderTrainerHillSetSubstruct gUnknown_84827AC; -extern const struct TrainerTowerFloor *const gUnknown_84827B4[][8]; +extern const struct EReaderTrainerTowerSetSubstruct gUnknown_84827AC; +extern const struct TrainerTowerFloor *const gUnknown_84827B4[][MAX_TRAINER_TOWER_FLOORS]; -void sub_815D9E8(void) +void CallTrainerTowerFunc(void) { - sub_815DC8C(); - gUnknown_847A230[gSpecialVar_0x8004](); - sub_815DD2C(); + SetUpTrainerTowerDataStruct(); + sTrainerTowerFunctions[gSpecialVar_0x8004](); + FreeTrainerTowerDataStruct(); } -u8 sub_815DA10(void) +u8 GetTrainerTowerOpponentClass(void) { return gFacilityClassToTrainerClass[sTrainerTowerOpponent->facilityClass]; } -void sub_815DA28(u8 *dest) +void GetTrainerTowerOpponentName(u8 *dest) { StringCopyN(dest, sTrainerTowerOpponent->name, 11); } @@ -458,41 +458,39 @@ u8 GetTrainerTowerTrainerFrontSpriteId(void) void InitTrainerTowerBattleStruct(void) { - u16 r10; - s32 r9; + u16 trainerId; + int i; - sub_815DC8C(); + SetUpTrainerTowerDataStruct(); sTrainerTowerOpponent = AllocZeroed(sizeof(*sTrainerTowerOpponent)); - r10 = VarGet(VAR_TEMP_1); - StringCopyN(sTrainerTowerOpponent->name, sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r10].name, 11); + trainerId = VarGet(VAR_TEMP_1); + StringCopyN(sTrainerTowerOpponent->name, CURR_FLOOR.trainers[trainerId].name, 11); - for (r9 = 0; r9 < 6; r9++) + for (i = 0; i < 6; i++) { - sTrainerTowerOpponent->speechWin[r9] = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r10].speechWin[r9]; - sTrainerTowerOpponent->speechLose[r9] = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r10].speechLose[r9]; + sTrainerTowerOpponent->speechWin[i] = CURR_FLOOR.trainers[trainerId].speechWin[i]; + sTrainerTowerOpponent->speechLose[i] = CURR_FLOOR.trainers[trainerId].speechLose[i]; - if (sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].challengeType == 1) + if (CURR_FLOOR.challengeType == CHALLENGE_TYPE_DOUBLE) { - sTrainerTowerOpponent->speechWin2[r9] = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r10 + 1].speechWin[r9]; - sTrainerTowerOpponent->speechLose2[r9] = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r10 + 1].speechLose[r9]; + sTrainerTowerOpponent->speechWin2[i] = CURR_FLOOR.trainers[trainerId + 1].speechWin[i]; + sTrainerTowerOpponent->speechLose2[i] = CURR_FLOOR.trainers[trainerId + 1].speechLose[i]; } } - sTrainerTowerOpponent->battleType = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].challengeType; - sTrainerTowerOpponent->facilityClass = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r10].facilityClass; - sTrainerTowerOpponent->gender = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r10].gender; - SetVBlankCounter1Ptr(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0); - sub_815DD2C(); + sTrainerTowerOpponent->battleType = CURR_FLOOR.challengeType; + sTrainerTowerOpponent->facilityClass = CURR_FLOOR.trainers[trainerId].facilityClass; + sTrainerTowerOpponent->gender = CURR_FLOOR.trainers[trainerId].gender; + SetVBlankCounter1Ptr(&TRAINER_TOWER.timer); + FreeTrainerTowerDataStruct(); } void FreeTrainerTowerBattleStruct(void) { - Free(sTrainerTowerOpponent); - sTrainerTowerOpponent = NULL; + FREE_AND_SET_NULL(sTrainerTowerOpponent); } -void sub_815DBF4(u8 *dest, u8 opponentIdx) -// TTower_GetBeforeBattleMessage? +void GetTrainerTowerOpponentWinText(u8 *dest, u8 opponentIdx) { VarSet(VAR_TEMP_3, opponentIdx); TrainerTowerGetOpponentTextColor(sTrainerTowerOpponent->battleType, sTrainerTowerOpponent->facilityClass); @@ -502,8 +500,7 @@ void sub_815DBF4(u8 *dest, u8 opponentIdx) TT_ConvertEasyChatMessageToString(sTrainerTowerOpponent->speechWin2, dest); } -void sub_815DC40(u8 *dest, u8 opponentIdx) -// TTower_GetAfterBattleMessage? +void GetTrainerTowerOpponentLoseText(u8 *dest, u8 opponentIdx) { VarSet(VAR_TEMP_3, opponentIdx); TrainerTowerGetOpponentTextColor(sTrainerTowerOpponent->battleType, sTrainerTowerOpponent->facilityClass); @@ -513,23 +510,23 @@ void sub_815DC40(u8 *dest, u8 opponentIdx) TT_ConvertEasyChatMessageToString(sTrainerTowerOpponent->speechLose2, dest); } -static void sub_815DC8C(void) // fakematching +static void SetUpTrainerTowerDataStruct(void) // fakematching { - u32 whichTimer = gSaveBlock1Ptr->unkArrayIdx; + u32 challengeType = gSaveBlock1Ptr->towerChallengeId; s32 r4; const struct TrainerTowerFloor *const * r7; sTrainerTowerState = AllocZeroed(sizeof(*sTrainerTowerState)); sTrainerTowerState->floorIdx = gMapHeader.mapLayoutId - 42; - if (sub_815D834() == TRUE) + if (ReadTrainerTowerAndValidate() == TRUE) CEReaderTool_LoadTrainerTower(&sTrainerTowerState->unk_0004); else { struct UnkStruct_203F458 * r0_ = sTrainerTowerState; - const struct EReaderTrainerHillSetSubstruct * r1 = &gUnknown_84827AC; - memcpy(&r0_->unk_0004, r1, sizeof(struct EReaderTrainerHillSetSubstruct)); - r7 = gUnknown_84827B4[whichTimer]; - for (r4 = 0; r4 < 8; r4++) + const struct EReaderTrainerTowerSetSubstruct * r1 = &gUnknown_84827AC; + memcpy(&r0_->unk_0004, r1, sizeof(struct EReaderTrainerTowerSetSubstruct)); + r7 = gUnknown_84827B4[challengeType]; + for (r4 = 0; r4 < MAX_TRAINER_TOWER_FLOORS; r4++) { #ifndef NONMATCHING void * r5; @@ -547,22 +544,21 @@ static void sub_815DC8C(void) // fakematching } } -static void sub_815DD2C(void) +static void FreeTrainerTowerDataStruct(void) { - Free(sTrainerTowerState); - sTrainerTowerState = NULL; + FREE_AND_SET_NULL(sTrainerTowerState); } -static void sub_815DD44(void) +static void InitTrainerTowerFloor(void) { - if (gMapHeader.mapLayoutId - LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_LOBBY > sTrainerTowerState->unk_0004.count) + if (gMapHeader.mapLayoutId - LAYOUT_TRAINER_TOWER_LOBBY > sTrainerTowerState->unk_0004.numFloors) { - gSpecialVar_Result = 3; - SetCurrentMapLayout(LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_ROOF); + gSpecialVar_Result = 3; // Skip past usable challenge types + SetCurrentMapLayout(LAYOUT_TRAINER_TOWER_ROOF); } else { - gSpecialVar_Result = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].challengeType; + gSpecialVar_Result = CURR_FLOOR.challengeType; SetCurrentMapLayout(sFloorLayouts[sTrainerTowerState->floorIdx][gSpecialVar_Result]); SetTrainerTowerNPCGraphics(); } @@ -570,66 +566,70 @@ static void sub_815DD44(void) static void SetTrainerTowerNPCGraphics(void) { - s32 r3, r4; - u8 r1, r2, r4_; - switch (sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].challengeType) + s32 i, j; + u8 trainerGfx1, trainerGfx2, facilityClass; + switch (CURR_FLOOR.challengeType) { - case 0: - r2 = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[0].facilityClass; - for (r3 = 0; r3 < NELEMS(sSingleBattleTrainerInfo); r3++) + case CHALLENGE_TYPE_SINGLE: + facilityClass = CURR_FLOOR.trainers[0].facilityClass; + for (i = 0; i < NELEMS(sSingleBattleTrainerInfo); i++) { - if (sSingleBattleTrainerInfo[r3].facilityClass == r2) + if (sSingleBattleTrainerInfo[i].facilityClass == facilityClass) break; } - if (r3 != NELEMS(sSingleBattleTrainerInfo)) - r1 = sSingleBattleTrainerInfo[r3].mapObjGfx; + + if (i != NELEMS(sSingleBattleTrainerInfo)) + trainerGfx1 = sSingleBattleTrainerInfo[i].objGfx; else - r1 = 18; - VarSet(VAR_OBJ_GFX_ID_1, r1); + trainerGfx1 = OBJ_EVENT_GFX_YOUNGSTER; + + VarSet(VAR_OBJ_GFX_ID_1, trainerGfx1); break; - case 1: - r2 = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[0].facilityClass; - for (r3 = 0; r3 < NELEMS(sDoubleBattleTrainerInfo); r3++) + case CHALLENGE_TYPE_DOUBLE: + facilityClass = CURR_FLOOR.trainers[0].facilityClass; + for (i = 0; i < NELEMS(sDoubleBattleTrainerInfo); i++) { - if (sDoubleBattleTrainerInfo[r3].facilityClass == r2) + if (sDoubleBattleTrainerInfo[i].facilityClass == facilityClass) break; } - if (r3 != NELEMS(sDoubleBattleTrainerInfo)) + if (i != NELEMS(sDoubleBattleTrainerInfo)) { - r1 = sDoubleBattleTrainerInfo[r3].mapObjGfx1; - r4_ = sDoubleBattleTrainerInfo[r3].mapObjGfx2; + trainerGfx1 = sDoubleBattleTrainerInfo[i].objGfx1; + trainerGfx2 = sDoubleBattleTrainerInfo[i].objGfx2; } else { - r1 = OBJECT_EVENT_GFX_YOUNGSTER; - r4_ = OBJECT_EVENT_GFX_YOUNGSTER; + trainerGfx1 = OBJ_EVENT_GFX_YOUNGSTER; + trainerGfx2 = OBJ_EVENT_GFX_YOUNGSTER; } - VarSet(VAR_OBJ_GFX_ID_0, r1); - VarSet(VAR_OBJ_GFX_ID_3, r4_); + VarSet(VAR_OBJ_GFX_ID_0, trainerGfx1); + VarSet(VAR_OBJ_GFX_ID_3, trainerGfx2); break; - case 2: - for (r4 = 0; r4 < 3; r4++) + case CHALLENGE_TYPE_KNOCKOUT: + for (j = 0; j < MAX_TRAINERS_PER_FLOOR; j++) { - r2 = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r4].facilityClass; - for (r3 = 0; r3 < NELEMS(sSingleBattleTrainerInfo); r3++) + facilityClass = CURR_FLOOR.trainers[j].facilityClass; + for (i = 0; i < NELEMS(sSingleBattleTrainerInfo); i++) { - if (sSingleBattleTrainerInfo[r3].facilityClass == r2) + if (sSingleBattleTrainerInfo[i].facilityClass == facilityClass) break; } - if (r3 != NELEMS(sSingleBattleTrainerInfo)) - r1 = sSingleBattleTrainerInfo[r3].mapObjGfx; + + if (i != NELEMS(sSingleBattleTrainerInfo)) + trainerGfx1 = sSingleBattleTrainerInfo[i].objGfx; else - r1 = OBJECT_EVENT_GFX_YOUNGSTER; - switch (r4) + trainerGfx1 = OBJ_EVENT_GFX_YOUNGSTER; + + switch (j) { case 0: - VarSet(VAR_OBJ_GFX_ID_2, r1); + VarSet(VAR_OBJ_GFX_ID_2, trainerGfx1); break; case 1: - VarSet(VAR_OBJ_GFX_ID_0, r1); + VarSet(VAR_OBJ_GFX_ID_0, trainerGfx1); break; case 2: - VarSet(VAR_OBJ_GFX_ID_1, r1); + VarSet(VAR_OBJ_GFX_ID_1, trainerGfx1); break; } } @@ -652,207 +652,224 @@ static void TT_ConvertEasyChatMessageToString(u16 *ecWords, u8 *dest) } } -static void sub_815DF54(void) +static void BufferTowerOpponentSpeech(void) { - u16 r4 = gSpecialVar_0x8006; - u8 r1; - u8 r5 = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].challengeType; + u16 trainerId = gSpecialVar_0x8006; + u8 facilityClass; + u8 challengeType = CURR_FLOOR.challengeType; - if (r5 != 1) - r1 = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r4].facilityClass; + if (challengeType != CHALLENGE_TYPE_DOUBLE) + facilityClass = CURR_FLOOR.trainers[trainerId].facilityClass; else - r1 = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[0].facilityClass; + facilityClass = CURR_FLOOR.trainers[0].facilityClass; + switch (gSpecialVar_0x8005) { - case 2: - TrainerTowerGetOpponentTextColor(r5, r1); - TT_ConvertEasyChatMessageToString(sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r4].speechBefore, gStringVar4); + case TRAINER_TOWER_TEXT_INTRO: + TrainerTowerGetOpponentTextColor(challengeType, facilityClass); + TT_ConvertEasyChatMessageToString(CURR_FLOOR.trainers[trainerId].speechBefore, gStringVar4); break; - case 3: - TrainerTowerGetOpponentTextColor(r5, r1); - TT_ConvertEasyChatMessageToString(sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r4].speechWin, gStringVar4); + case TRAINER_TOWER_TEXT_PLAYER_LOST: + TrainerTowerGetOpponentTextColor(challengeType, facilityClass); + TT_ConvertEasyChatMessageToString(CURR_FLOOR.trainers[trainerId].speechWin, gStringVar4); break; - case 4: - TrainerTowerGetOpponentTextColor(r5, r1); - TT_ConvertEasyChatMessageToString(sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r4].speechLose, gStringVar4); + case TRAINER_TOWER_TEXT_PLAYER_WON: + TrainerTowerGetOpponentTextColor(challengeType, facilityClass); + TT_ConvertEasyChatMessageToString(CURR_FLOOR.trainers[trainerId].speechLose, gStringVar4); break; - case 5: - TT_ConvertEasyChatMessageToString(sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r4].speechAfter, gStringVar4); + case TRAINER_TOWER_TEXT_AFTER: + TT_ConvertEasyChatMessageToString(CURR_FLOOR.trainers[trainerId].speechAfter, gStringVar4); break; } } -static void TrainerTowerGetOpponentTextColor(u8 battleType, u8 facilityClass) +static void TrainerTowerGetOpponentTextColor(u8 challengeType, u8 facilityClass) { - u16 r5 = FALSE; - s32 r4; - switch (battleType) + u16 gender = MALE; + int i; + switch (challengeType) { - case 0: - case 2: - for (r4 = 0; r4 < NELEMS(sSingleBattleTrainerInfo); r4++) + case CHALLENGE_TYPE_SINGLE: + case CHALLENGE_TYPE_KNOCKOUT: + for (i = 0; i < NELEMS(sSingleBattleTrainerInfo); i++) { - if (sSingleBattleTrainerInfo[r4].facilityClass == facilityClass) + if (sSingleBattleTrainerInfo[i].facilityClass == facilityClass) break; } - if (r4 != NELEMS(sSingleBattleTrainerInfo)) - r5 = sSingleBattleTrainerInfo[r4].gender; + if (i != NELEMS(sSingleBattleTrainerInfo)) + gender = sSingleBattleTrainerInfo[i].gender; break; - case 1: - for (r4 = 0; r4 < NELEMS(sDoubleBattleTrainerInfo); r4++) + case CHALLENGE_TYPE_DOUBLE: + for (i = 0; i < NELEMS(sDoubleBattleTrainerInfo); i++) { - if (sDoubleBattleTrainerInfo[r4].facilityClass == facilityClass) + if (sDoubleBattleTrainerInfo[i].facilityClass == facilityClass) break; } - if (r4 != NELEMS(sDoubleBattleTrainerInfo)) + if (i != NELEMS(sDoubleBattleTrainerInfo)) { if (VarGet(VAR_TEMP_3)) - r5 = sDoubleBattleTrainerInfo[r4].gender2; + gender = sDoubleBattleTrainerInfo[i].gender2; else - r5 = sDoubleBattleTrainerInfo[r4].gender1; + gender = sDoubleBattleTrainerInfo[i].gender1; } break; } gSpecialVar_PrevTextColor = gSpecialVar_TextColor; - gSpecialVar_TextColor = r5; + gSpecialVar_TextColor = gender; } -static void sub_815E114(void) +static void CB2_EndTrainerTowerBattle(void) { SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); } -static void sub_815E124(u8 taskId) +static void Task_DoTrainerTowerBattle(u8 taskId) { if (BT_IsDone() == TRUE) { - gMain.savedCallback = sub_815E114; + gMain.savedCallback = CB2_EndTrainerTowerBattle; CleanupOverworldWindowsAndTilemaps(); SetMainCallback2(CB2_InitBattle); DestroyTask(taskId); } } -static void sub_815E160(void) +static void DoTrainerTowerBattle(void) { gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_TRAINER_TOWER; - if (sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].challengeType == 1) + + if (CURR_FLOOR.challengeType == CHALLENGE_TYPE_DOUBLE) gBattleTypeFlags |= BATTLE_TYPE_DOUBLE; + gTrainerBattleOpponent_A = 0; BuildEnemyParty(); - CreateTask(sub_815E124, 1); + CreateTask(Task_DoTrainerTowerBattle, 1); PlayMapChosenOrBattleBGM(0); BT_StartOnField(BattleSetup_GetBattleTowerBattleTransition()); } -static void sub_815E1C0(void) +static void TrainerTowerGetChallengeType(void) { if (!gSpecialVar_0x8005) - gSpecialVar_Result = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].challengeType; + gSpecialVar_Result = CURR_FLOOR.challengeType; } -static void sub_815E1F0(void) +static void TrainerTowerAddFloorCleared(void) { - gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk8++; + TRAINER_TOWER.floorsCleared++; } -static void TTSpecial_HasReachedTheRoof(void) +// So the player can safely go back through defeated floors to use the Poke Center (or exit challenge) +static void GetFloorAlreadyCleared(void) { u16 mapLayoutId = gMapHeader.mapLayoutId; - if (mapLayoutId - LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_1F == gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk8 && mapLayoutId - LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_LOBBY <= sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].floorIdx) + if (mapLayoutId - LAYOUT_TRAINER_TOWER_1F == TRAINER_TOWER.floorsCleared + && mapLayoutId - LAYOUT_TRAINER_TOWER_LOBBY <= CURR_FLOOR.floorIdx) gSpecialVar_Result = FALSE; else gSpecialVar_Result = TRUE; } -static void sub_815E28C(void) +static void StartTrainerTowerChallenge(void) { - gSaveBlock1Ptr->unkArrayIdx = gSpecialVar_0x8005; - if (gSaveBlock1Ptr->unkArrayIdx >= NELEMS(gSaveBlock1Ptr->unkArray)) - gSaveBlock1Ptr->unkArrayIdx = 0; + gSaveBlock1Ptr->towerChallengeId = gSpecialVar_0x8005; + if (gSaveBlock1Ptr->towerChallengeId >= NUM_TOWER_CHALLENGE_TYPES) + gSaveBlock1Ptr->towerChallengeId = 0; ValidateOrResetCurTrainerTowerRecord(); - if (!sub_815D834()) - gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_5 = TRUE; + if (!ReadTrainerTowerAndValidate()) + TRAINER_TOWER.validated = TRUE; else - gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_5 = FALSE; - gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk8 = 0; - SetVBlankCounter1Ptr(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0); - gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0 = 0; - gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_2 = FALSE; - gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_1 = FALSE; + TRAINER_TOWER.validated = FALSE; + TRAINER_TOWER.floorsCleared = 0; + SetVBlankCounter1Ptr(&TRAINER_TOWER.timer); + TRAINER_TOWER.timer = 0; + TRAINER_TOWER.spokeToOwner = FALSE; + TRAINER_TOWER.checkedFinalTime = FALSE; } -static void sub_815E394(void) +static void GetOwnerState(void) { DisableVBlankCounter1(); gSpecialVar_Result = 0; - if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_2) + + if (TRAINER_TOWER.spokeToOwner) gSpecialVar_Result++; - if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_0 && gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_1) + if (TRAINER_TOWER.receivedPrize && TRAINER_TOWER.checkedFinalTime) gSpecialVar_Result++; - gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_2 = TRUE; + + TRAINER_TOWER.spokeToOwner = TRUE; } -static void sub_815E408(void) +static void GiveChallengePrize(void) { - u16 itemId = gUnknown_847A2B4[sTrainerTowerState->unk_0004.floors->prize]; - if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_0) + u16 itemId = sPrizeList[sTrainerTowerState->unk_0004.floors->prize]; + + if (TRAINER_TOWER.receivedPrize) + { gSpecialVar_Result = 2; - else if (AddBagItem(itemId, 1) == 1) + } + else if (AddBagItem(itemId, 1) == TRUE) { CopyItemName(itemId, gStringVar2); - gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_0 = TRUE; + TRAINER_TOWER.receivedPrize = TRUE; gSpecialVar_Result = 0; } else + { gSpecialVar_Result = 1; + } } -static void sub_815E4B0(void) +static void CheckFinalTime(void) { - if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_1) + if (TRAINER_TOWER.checkedFinalTime) + { gSpecialVar_Result = 2; - else if (GetTrainerTowerRecordTime(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk4) > gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0) + } + else if (GetTrainerTowerRecordTime(&TRAINER_TOWER.bestTime) > TRAINER_TOWER.timer) { - SetTrainerTowerRecordTime(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk4, gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0); + SetTrainerTowerRecordTime(&TRAINER_TOWER.bestTime, TRAINER_TOWER.timer); gSpecialVar_Result = 0; } else + { gSpecialVar_Result = 1; - gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_1 = TRUE; + } + + TRAINER_TOWER.checkedFinalTime = TRUE; } -static void TTSpecial_StartTimer(void) +static void TrainerTowerResumeTimer(void) { - if (!gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_2) + if (!TRAINER_TOWER.spokeToOwner) { - if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0 >= 215999) - gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0 = 215999; + if (TRAINER_TOWER.timer >= TRAINER_TOWER_MAX_TIME) + TRAINER_TOWER.timer = TRAINER_TOWER_MAX_TIME; else - SetVBlankCounter1Ptr(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0); + SetVBlankCounter1Ptr(&TRAINER_TOWER.timer); } } -static void sub_815E5C4(void) +static void TrainerTowerSetPlayerLost(void) { - gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_3 = 1; + TRAINER_TOWER.hasLost = TRUE; } -static void sub_815E5F0(void) +static void GetTrainerTowerChallengeStatus(void) { - if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_3) + if (TRAINER_TOWER.hasLost) { - gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_3 = FALSE; - gSpecialVar_Result = 0; + TRAINER_TOWER.hasLost = FALSE; + gSpecialVar_Result = CHALLENGE_STATUS_LOST; } - else if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_4) + else if (TRAINER_TOWER.unkA_4) { - gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_4 = FALSE; - gSpecialVar_Result = 1; + TRAINER_TOWER.unkA_4 = FALSE; + gSpecialVar_Result = CHALLENGE_STATUS_UNK; } else { - gSpecialVar_Result = 2; + gSpecialVar_Result = CHALLENGE_STATUS_NORMAL; } } @@ -861,8 +878,8 @@ static void sub_815E5F0(void) \ frames = (src); \ \ - minutes = frames / 3600; \ - frames %= 3600; \ + minutes = frames / (60 * 60); \ + frames %= (60 * 60); \ seconds = frames / 60; \ frames %= 60; \ centiseconds = frames * 168 / 100; \ @@ -872,34 +889,34 @@ static void sub_815E5F0(void) ConvertIntToDecimalStringN(gStringVar3, centiseconds, STR_CONV_MODE_LEADING_ZEROS, 2); \ }) -static void sub_815E658(void) +static void GetCurrentTime(void) { - if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0 >= 215999) + if (TRAINER_TOWER.timer >= TRAINER_TOWER_MAX_TIME) { DisableVBlankCounter1(); - gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0 = 215999; + TRAINER_TOWER.timer = TRAINER_TOWER_MAX_TIME; } - PRINT_TOWER_TIME(gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0); + PRINT_TOWER_TIME(TRAINER_TOWER.timer); } -static void sub_815E720(void) +static void ShowResultsBoard(void) { u8 windowId; s32 i; ValidateOrResetCurTrainerTowerRecord(); - windowId = AddWindow(gUnknown_847A218); + windowId = AddWindow(sTimeBoardWindowTemplate); LoadStdWindowFrameGfx(); DrawStdWindowFrame(windowId, FALSE); - AddTextPrinterParameterized(windowId, 2, gUnknown_83FE982, 0x4A, 0, 0xFF, NULL); + AddTextPrinterParameterized(windowId, 2, gText_TimeBoard, 0x4A, 0, 0xFF, NULL); - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_TOWER_CHALLENGE_TYPES; i++) { - PRINT_TOWER_TIME(GetTrainerTowerRecordTime(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk4)); + PRINT_TOWER_TIME(GetTrainerTowerRecordTime(&TRAINER_TOWER.bestTime)); - StringExpandPlaceholders(gStringVar4, gUnknown_83FE998); - AddTextPrinterParameterized(windowId, 2, gUnknown_83FE9C4[i - 1], 0x18, 0x24 + 0x14 * i, 0xFF, NULL); + StringExpandPlaceholders(gStringVar4, gText_XMinYZSec); + AddTextPrinterParameterized(windowId, 2, gTrainerTowerChallengeTypeTexts[i - 1], 0x18, 0x24 + 0x14 * i, 0xFF, NULL); AddTextPrinterParameterized(windowId, 2, gStringVar4, 0x60, 0x2E + 0x14 * i, 0xFF, NULL); } @@ -908,23 +925,24 @@ static void sub_815E720(void) VarSet(VAR_TEMP_1, windowId); } -static void sub_815E88C(void) +static void CloseResultsBoard(void) { u8 windowId = VarGet(VAR_TEMP_1); ClearStdWindowAndFrameToTransparent(windowId, TRUE); RemoveWindow(windowId); } -static void sub_815E8B4(void) +static void TrainerTowerGetDoublesEligiblity(void) { gSpecialVar_Result = GetMonsStateToDoubles(); } -static void sub_815E8CC(void) + +static void TrainerTowerGetNumFloors(void) { - if (sTrainerTowerState->unk_0004.count != sTrainerTowerState->unk_0004.floors[0].floorIdx) + if (sTrainerTowerState->unk_0004.numFloors != sTrainerTowerState->unk_0004.floors[0].floorIdx) { - ConvertIntToDecimalStringN(gStringVar1, sTrainerTowerState->unk_0004.count, STR_CONV_MODE_LEFT_ALIGN, 1); + ConvertIntToDecimalStringN(gStringVar1, sTrainerTowerState->unk_0004.numFloors, STR_CONV_MODE_LEFT_ALIGN, 1); gSpecialVar_Result = TRUE; } else @@ -933,79 +951,78 @@ static void sub_815E8CC(void) } } -static void sub_815E908(void) +// Dummied? equivalent to gSpecialVar_Result = FALSE +// If it were to return TRUE the player would be warped back to the lobby +static void ShouldWarpToCounter(void) { - if (gMapHeader.mapLayoutId == LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_LOBBY && VarGet(VAR_MAP_SCENE_TRAINER_TOWER) == 0) - { + if (gMapHeader.mapLayoutId == LAYOUT_TRAINER_TOWER_LOBBY && VarGet(VAR_MAP_SCENE_TRAINER_TOWER) == 0) gSpecialVar_Result = FALSE; - } else - { gSpecialVar_Result = FALSE; - } } -static void sub_815E948(void) +static void PlayTrainerTowerEncounterMusic(void) { s32 i; - u16 var_4001 = VarGet(VAR_TEMP_1); - u8 r1 = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[var_4001].facilityClass; + u16 idx = VarGet(VAR_TEMP_1); + u8 facilityClass = CURR_FLOOR.trainers[idx].facilityClass; for (i = 0; i < NELEMS(sTrainerEncounterMusicLUT); i++) { - if (sTrainerEncounterMusicLUT[i].unk0 == gFacilityClassToTrainerClass[r1]) + if (sTrainerEncounterMusicLUT[i].facilityClass == gFacilityClassToTrainerClass[facilityClass]) break; } + if (i != NELEMS(sTrainerEncounterMusicLUT)) { - var_4001 = sTrainerEncounterMusicLUT[i].unk1; + idx = sTrainerEncounterMusicLUT[i].musicId; } else { - var_4001 = 0; + idx = 0; } - PlayNewMapMusic(gUnknown_847A2D2[var_4001]); + PlayNewMapMusic(sTrainerTowerEncounterMusic[idx]); } -static void sub_815E9C8(void) +static void HasSpokenToOwner(void) { - gSpecialVar_Result = gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_2; + gSpecialVar_Result = TRAINER_TOWER.spokeToOwner; } static void BuildEnemyParty(void) { u16 trainerIdx = VarGet(VAR_TEMP_1); s32 level = GetPartyMaxLevel(); - u8 floorIdx = gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk8; + u8 floorIdx = TRAINER_TOWER.floorsCleared; s32 i; u8 monIdx; ZeroEnemyPartyMons(); - switch (sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].challengeType) + switch (CURR_FLOOR.challengeType) { - case 0: + case CHALLENGE_TYPE_SINGLE: default: for (i = 0; i < 2; i++) { monIdx = sSingleBattleChallengeMonIdxs[floorIdx][i]; - sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[trainerIdx].mons[monIdx].level = level; - CreateBattleTowerMon(&gEnemyParty[i], &sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[trainerIdx].mons[monIdx]); + CURR_FLOOR.trainers[trainerIdx].mons[monIdx].level = level; + CreateBattleTowerMon(&gEnemyParty[i], &CURR_FLOOR.trainers[trainerIdx].mons[monIdx]); } break; - case 1: + case CHALLENGE_TYPE_DOUBLE: monIdx = sDoubleBattleChallengeMonIdxs[floorIdx][0]; - sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[0].mons[monIdx].level = level; - CreateBattleTowerMon(&gEnemyParty[0], &sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[0].mons[monIdx]); + CURR_FLOOR.trainers[0].mons[monIdx].level = level; + CreateBattleTowerMon(&gEnemyParty[0], &CURR_FLOOR.trainers[0].mons[monIdx]); monIdx = sDoubleBattleChallengeMonIdxs[floorIdx][1]; - sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[1].mons[monIdx].level = level; - CreateBattleTowerMon(&gEnemyParty[1], &sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[1].mons[monIdx]); + CURR_FLOOR.trainers[1].mons[monIdx].level = level; + CreateBattleTowerMon(&gEnemyParty[1], &CURR_FLOOR.trainers[1].mons[monIdx]); break; - case 2: + case CHALLENGE_TYPE_KNOCKOUT: monIdx = sKnockoutChallengeMonIdxs[floorIdx][trainerIdx]; - sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[trainerIdx].mons[monIdx].level = level; - CreateBattleTowerMon(&gEnemyParty[0], &sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[trainerIdx].mons[monIdx]); + CURR_FLOOR.trainers[trainerIdx].mons[monIdx].level = level; + CreateBattleTowerMon(&gEnemyParty[0], &CURR_FLOOR.trainers[trainerIdx].mons[monIdx]); break; } } @@ -1030,11 +1047,11 @@ static s32 GetPartyMaxLevel(void) static void ValidateOrResetCurTrainerTowerRecord(void) { - if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk9 != sTrainerTowerState->unk_0004.id) + if (TRAINER_TOWER.unk9 != sTrainerTowerState->unk_0004.id) { - gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk9 = sTrainerTowerState->unk_0004.id; - SetTrainerTowerRecordTime(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk4, 215999); - gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_0 = FALSE; + TRAINER_TOWER.unk9 = sTrainerTowerState->unk_0004.id; + SetTrainerTowerRecordTime(&TRAINER_TOWER.bestTime, TRAINER_TOWER_MAX_TIME); + TRAINER_TOWER.receivedPrize = FALSE; } } @@ -1043,22 +1060,22 @@ void PrintTrainerTowerRecords(void) s32 i; u8 windowId = 0; - sub_815DC8C(); + SetUpTrainerTowerDataStruct(); FillWindowPixelRect(0, 0, 0, 0, 0xd8, 0x90); ValidateOrResetCurTrainerTowerRecord(); - AddTextPrinterParameterized3(0, 2, 0x4a, 0, gUnknown_847A22C, 0, gUnknown_83FE982); + AddTextPrinterParameterized3(0, 2, 0x4a, 0, sTextColors, 0, gText_TimeBoard); - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_TOWER_CHALLENGE_TYPES; i++) { - PRINT_TOWER_TIME(GetTrainerTowerRecordTime(&gSaveBlock1Ptr->unkArray[i].unk4)); - StringExpandPlaceholders(gStringVar4, gUnknown_83FE998); - AddTextPrinterParameterized3(windowId, 2, 0x18, 0x24 + 0x14 * i, gUnknown_847A22C, 0, gUnknown_83FE9C4[i]); - AddTextPrinterParameterized3(windowId, 2, 0x60, 0x24 + 0x14 * i, gUnknown_847A22C, 0, gStringVar4); + PRINT_TOWER_TIME(GetTrainerTowerRecordTime(&gSaveBlock1Ptr->trainerTower[i].bestTime)); + StringExpandPlaceholders(gStringVar4, gText_XMinYZSec); + AddTextPrinterParameterized3(windowId, 2, 0x18, 0x24 + 0x14 * i, sTextColors, 0, gTrainerTowerChallengeTypeTexts[i]); + AddTextPrinterParameterized3(windowId, 2, 0x60, 0x24 + 0x14 * i, sTextColors, 0, gStringVar4); } PutWindowTilemap(windowId); CopyWindowToVram(windowId, 3); - sub_815DD2C(); + FreeTrainerTowerDataStruct(); } static u32 GetTrainerTowerRecordTime(u32 *counter) @@ -1075,8 +1092,8 @@ void ResetTrainerTowerResults(void) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_TOWER_CHALLENGE_TYPES; i++) { - SetTrainerTowerRecordTime(&gSaveBlock1Ptr->unkArray[i].unk4, 215999); + SetTrainerTowerRecordTime(&gSaveBlock1Ptr->trainerTower[i].bestTime, TRAINER_TOWER_MAX_TIME); } } diff --git a/src/trig.c b/src/trig.c index c2bca3059..2181ebef7 100644 --- a/src/trig.c +++ b/src/trig.c @@ -1,5 +1,4 @@ #include "global.h" -#include "trig.h" // Values of sin(x*(π/128)) as Q8.8 fixed-point numbers from x = 0 to x = 319 const s16 gSineTable[] = diff --git a/src/union_room.c b/src/union_room.c index f942fb7d3..7bace05ef 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -37,6 +37,7 @@ #include "trade_scene.h" #include "trainer_card.h" #include "union_room.h" +#include "union_room_battle.h" #include "union_room_chat.h" #include "rfu_union_tool.h" #include "union_room_message.h" @@ -45,13 +46,15 @@ #include "constants/cable_club.h" #include "constants/field_weather.h" #include "constants/species.h" +#include "constants/trainer_card.h" +#include "constants/union_room.h" static EWRAM_DATA u8 sUnionRoomPlayerName[12] = {}; -static EWRAM_DATA u8 gUnknown_203B058 = 0; -static EWRAM_DATA u8 gUnknown_203B059 = 0; +static EWRAM_DATA u8 sPlayerCurrActivity = 0; +static EWRAM_DATA u8 sPlayerActivityGroupSize = 0; static EWRAM_DATA union UnkUnion_Main sUnionRoomMain = {}; static EWRAM_DATA u32 sUnref_203B060 = 0; -EWRAM_DATA struct GFtgtGnameSub gUnknown_203B064 = {}; +EWRAM_DATA struct GFtgtGnameSub gPartnerTgtGnameSub = {}; EWRAM_DATA u16 gUnionRoomOfferedSpecies = SPECIES_NONE; EWRAM_DATA u8 gUnionRoomRequestedMonType = TYPE_NORMAL; static EWRAM_DATA struct UnionRoomTrade sUnionRoomTrade = {}; @@ -60,103 +63,103 @@ static struct UnkStruct_Leader * sLeader; static struct UnkStruct_Group * sGroup; static struct UnkStruct_URoom * sURoom; -static void sub_8115A68(u8 taskId); -static void sub_81161E4(struct UnkStruct_Leader * leader); -static bool8 sub_8116444(struct UnkStruct_Leader * leader, u32 a1, u32 a2); -static void sub_81164C8(u8 windowId, s32 itemId, u8 y); -static u8 sub_8116524(struct UnkStruct_Main0 * a0); -static u8 sub_81165E8(struct UnkStruct_Main0 * a0); -static void sub_8116738(u8 taskId); -static u32 sub_8116D10(struct UnkStruct_Group * group, s32 id); -static void sub_8116D60(struct UnkStruct_Group * group, s32 id); -static void sub_8116E1C(u8 taskId); -static void sub_8116F94(u8 windowId, s32 itemId, u8 y); -static u8 sub_8116FE4(void); -static void sub_8117990(void); -static void sub_81179A4(void); -static void sub_8117A0C(u8 taskId); -static void sub_8117F20(u8 taskId); -static void sub_81182DC(u8 taskId); -static void sub_81186E0(u8 taskId); +static void Task_TryBecomeLinkLeader(u8 taskId); +static void Leader_DestroyResources(struct UnkStruct_Leader * leader); +static bool8 Leader_SetStateIfMemberListChanged(struct UnkStruct_Leader * leader, u32 state1, u32 state2); +static void ItemPrintFunc_PossibleGroupMembers(u8 windowId, s32 itemId, u8 y); +static u8 LeaderUpdateGroupMembership(struct UnkStruct_Main0 * main0); +static u8 UnionRoomLeaderField0CompactionAndCount(struct UnkStruct_Main0 * main0); +static void Task_TryJoinLinkGroup(u8 taskId); +static u32 IsTryingToTradeWithHoennTooSoon(struct UnkStruct_Group * group, s32 id); +static void AskToJoinRfuGroup(struct UnkStruct_Group * group, s32 id); +static void Task_ListenToWireless(u8 taskId); +static void ListMenuItemPrintFunc_UnionRoomGroups(u8 windowId, s32 itemId, u8 y); +static u8 GetNewLeaderCandidate(void); +static void CreateTask_RunScriptAndFadeToActivity(void); +static void CreateTask_StartActivity(void); +static void Task_MEvent_Leader(u8 taskId); +static void Task_CardOrNewsWithFriend(u8 taskId); +static void Task_CardOrNewsOverWireless(u8 taskId); +static void Task_RunUnionRoom(u8 taskId); static u16 ReadAsU16(const u8 *data); -static void sub_8119904(struct UnkStruct_URoom * uRoom); -static bool32 sub_8119944(struct UnkStruct_URoom * uRoom); -static void sub_81199FC(u8 taskId); -static u8 sub_8119B94(void); -static u8 sub_8119E84(struct UnkStruct_Main4 * arg0, struct UnkStruct_Main4 * arg1, u32 arg2); -static bool32 sub_8119FB0(struct GFtgtGname * arg0, s16 arg1); -static u8 sub_811A054(struct UnkStruct_Main4 * arg0, u32 arg1); -static u8 sub_811A084(struct UnkStruct_Main4 * arg0, u32 arg1); -static bool32 sub_811A0B4(const u8 * str); -static bool32 sub_811A0E0(void); +static void ReceiveUnionRoomActivityPacket(struct UnkStruct_URoom * uRoom); +static bool32 UnionRoom_HandleContactFromOtherPlayer(struct UnkStruct_URoom * uRoom); +static void Task_InitUnionRoom(u8 taskId); +static u8 HandlePlayerListUpdate(void); +static u8 CreateTask_SearchForChildOrParent(struct UnkStruct_Main4 * main4, struct UnkStruct_Main4 * arg1, u32 arg2); +static bool32 GetGnameWonderFlagByLinkGroup(struct GFtgtGname * gname, s16 linkGroup); +static u8 CreateTask_ListenForPartnersWithCompatibleSerialNos(struct UnkStruct_Main4 * main4, u32 linkGroup); +static u8 CreateTask_ListenForPartnersWithSerial7F7D(struct UnkStruct_Main4 * main4, u32 linkGroup); +static bool32 UR_PrintFieldMessage(const u8 * str); +static bool32 UR_RunTextPrinters_CheckPrinter0Active(void); static bool8 PrintOnTextbox(u8 *textState, const u8 *str); -static s8 sub_811A14C(u8 *dest, bool32 arg1); -static s32 sub_811A218(u8 *arg0, u8 *arg1, u8 *arg2, const struct WindowTemplate * winTemplate, const struct ListMenuTemplate * menuTemplate); -static s32 sub_811A2EC(u8 *arg0, u8 *arg1, u8 *arg2, u8 *arg3, const struct WindowTemplate * winTemplate, const struct ListMenuTemplate * menuTemplate, struct UnkStruct_Main0 * arg6); -static void sub_811A3F8(void); -static void sub_811A41C(void); -static void sub_811A444(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 colorIdx); -static void sub_811A5E4(struct UnkStruct_x20 * arg0, u8 count); -static void sub_811A650(struct UnkStruct_x1C * arg0, u8 count); -static bool8 sub_811A694(struct UnkStruct_Shared * arg0, const struct UnkStruct_Shared * arg1); -static bool32 sub_811A6DC(struct UnkStruct_Shared * arg0, struct UnkStruct_Shared * arg1); -static u32 sub_811A748(struct UnkStruct_x20 * arg0, struct UnkStruct_x1C * arg1); -static u8 sub_811A798(struct UnkStruct_x20 * arg0, struct UnkStruct_x1C * arg1, u8 arg2); -static void sub_811A81C(u8 windowId, u8 x, u8 y, struct UnkStruct_x20 * arg3, u8 arg4, u8 id); -static void sub_811A910(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 * arg3, u8 arg4, u8 id); -static bool32 sub_811A9B8(void); -static u32 sub_811A9FC(s32 a0); -static u32 sub_811AA24(struct UnkStruct_x20 * unkX20); -static s32 sub_811AA5C(struct UnkStruct_Main0 * arg0, u8 arg1, u8 arg2, u32 playerGender); +static s8 UnionRoomHandleYesNo(u8 *state_p, bool32 no_draw); +static s32 ListMenuHandler_AllItemsAvailable(u8 *state_p, u8 *win_id_p, u8 *list_menu_id_p, const struct WindowTemplate * winTemplate, const struct ListMenuTemplate * menuTemplate); +static s32 TradeBoardMenuHandler(u8 *state_p, u8 *win_id_p, u8 *list_menu_id_p, u8 *trade_board_win_id_p, const struct WindowTemplate * winTemplate, const struct ListMenuTemplate * menuTemplate, struct UnkStruct_Main0 * traders); +static void UR_BlankBg0(void); +static void JoinGroup_BlankBg0AndEnableScriptContexts(void); +static void UR_AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 colorIdx); +static void BlankUnkStruct_x20Array(struct UnkStruct_x20 * x20, u8 count); +static void BlankUnkStruct_x1CArray(struct UnkStruct_x1C * x1C, u8 count); +static bool8 AreGnameUnameDifferent(struct UnionGnameUnamePair * arg0, const struct UnionGnameUnamePair * arg1); +static bool32 AreUnionRoomPlayerGnamesDifferent(struct UnionGnameUnamePair * arg0, struct UnionGnameUnamePair * arg1); +static u32 Findx20Inx1CArray(struct UnkStruct_x20 * x20, struct UnkStruct_x1C * x1Carr); +static u8 Appendx1Ctox20(struct UnkStruct_x20 * x20arr, struct UnkStruct_x1C * x1C, u8 count); +static void PrintUnionRoomGroupOnWindow(u8 windowId, u8 x, u8 y, struct UnkStruct_x20 * group, u8 colorIdx, u8 id); +static void PrintGroupMemberCandidateOnWindowWithColor(u8 windowId, u8 x, u8 y, struct UnkStruct_x20 * group, u8 colorIdx, u8 id); +static bool32 PlayerIsTalkingToUnionRoomAide(void); +static u32 GetResponseIdx_InviteToURoomActivity(s32 activity); +static u32 ConvPartnerUnameAndGetWhetherMetAlready(struct UnkStruct_x20 * unkX20); +static s32 UnionRoomGetPlayerInteractionResponse(struct UnkStruct_Main0 * main0, u8 overrideGender, u8 playerIdx, u32 playerGender); static void nullsub_92(u8 windowId, s32 itemId, u8 y); -static void sub_811ACA4(u8 windowId, s32 itemId, u8 y); -static s32 sub_811AD7C(struct UnkStruct_x20 * arg, s32 arg1); -static s32 GetUnionRoomPlayerGender(s32 a0, struct UnkStruct_Main0 * a1); -static s32 sub_811ADD0(u32 type, u32 species); -static void sub_811AE68(u8 *dst, s32 arg1, u32 playerGender); -static void sub_811AECC(u8 *dst, u8 arg1); -static s32 sub_811AF6C(u8 *dst, u32 gender, u16 *arg2, struct UnkStruct_URoom * arg3); -static bool32 sub_811B0A4(struct UnkStruct_URoom * arg0); +static void TradeBoardListMenuItemPrintFunc(u8 windowId, s32 itemId, u8 y); +static s32 GetIndexOfNthTradeBoardOffer(struct UnkStruct_x20 * x20, s32 n); +static s32 GetUnionRoomPlayerGender(s32 playerIdx, struct UnkStruct_Main0 * main0); +static s32 IsRequestedTypeAndSpeciesInPlayerParty(u32 type, u32 species); +static void GetURoomActivityRejectMsg(u8 *dst, s32 activity, u32 playerGender); +static void GetURoomActivityStartMsg(u8 *dst, u8 activity); +static s32 GetChatLeaderActionRequestMessage(u8 *dst, u32 gender, u16 *activity_p, struct UnkStruct_URoom * uroom); +static bool32 PollPartnerYesNoResponse(struct UnkStruct_URoom * uroom); static bool32 HasAtLeastTwoMonsOfLevel30OrLower(void); static void ResetUnionRoomTrade(struct UnionRoomTrade * trade); static bool32 RegisterTradeMonAndGetIsEgg(u32 monId, struct UnionRoomTrade * trade); static void RegisterTradeMon(u32 monId, struct UnionRoomTrade * trade); static u32 GetPartyPositionOfRegisteredMon(struct UnionRoomTrade * trade, u8 mpId); -static void sub_811B258(bool32 a0); -static void sub_811B298(void); -static u8 sub_811B2A8(s32 a0); -static u8 sub_811B2D8(struct UnkStruct_URoom * arg0); -static void sub_811B31C(u8 *dest, struct UnkStruct_URoom * uRoom, bool8 gender); +static void HandleCancelTrade(bool32 unlockObjs); +static void UR_EnableScriptContext2AndFreezeObjectEvents(void); +static u8 GetSinglePartnerSpriteGenderParam(s32 linkPlayer); +static u8 GetActivePartnerSpriteGenderParam(struct UnkStruct_URoom * uroom); +static void ViewURoomPartnerTrainerCard(u8 *dest, struct UnkStruct_URoom * uRoom, bool8 parent_child); #define _8456CD8(a, b) ((a) | ((b) << 8)) -static const u8 *const gUnknown_8456C74[] = { - gUnknown_84571AC, - gUnknown_8459394, - gUnknown_84593A4, - gUnknown_84593B4, - gUnknown_84593C4, - gUnknown_84593D4, - gUnknown_84593E4, - gUnknown_84593F4, - gUnknown_84593DC, - gUnknown_8459400, - gUnknown_8459410, - gUnknown_845941C, - gUnknown_845942C, - gUnknown_8459434, - gUnknown_8459440, - gUnknown_84571AC, - gUnknown_84571AC, - gUnknown_84571AC, - gUnknown_84571AC, - gUnknown_84571AC, - gUnknown_84571AC, - gUnknown_84593E4, - gUnknown_84593F4 +static const u8 *const sUnionRoomActivityStringPtrs[] = { + gUnionRoomActivity_Blank, + gUnionRoomActivity_SingleBattle, + gUnionRoomActivity_DoubleBattle, + gUnionRoomActivity_MultiBattle, + gUnionRoomActivity_PokemonTrades, + gUnionRoomActivity_Chat, + gUnionRoomActivity_WonderCards, + gunionRoomActivity_WonderNews, + gUnionRoomActivity_Cards, + gUnionRoomActivity_PokemonJump, + gUnionRoomActivity_BerryCrush, + gUnionRoomActivity_BerryPicking, + gUnionRoomActivity_Search, + gUnionRoomActivity_SpinTradeJP, + gUnionRoomActivity_ItemTradeJP, + gUnionRoomActivity_Blank, + gUnionRoomActivity_Blank, + gUnionRoomActivity_Blank, + gUnionRoomActivity_Blank, + gUnionRoomActivity_Blank, + gUnionRoomActivity_Blank, + gUnionRoomActivity_WonderCards, + gunionRoomActivity_WonderNews }; -static const struct WindowTemplate gUnknown_8456CD0 = { +static const struct WindowTemplate sWindowTemplate_BButtonCancel = { .bg = 0, .tilemapLeft = 0, .tilemapTop = 0, @@ -166,19 +169,19 @@ static const struct WindowTemplate gUnknown_8456CD0 = { .baseBlock = 0x008 }; -static const u32 gUnknown_8456CD8[] = { - _8456CD8( 1, 2), - _8456CD8( 2, 2), - _8456CD8( 3, 4), - _8456CD8( 4, 2), - _8456CD8( 9, 37), - _8456CD8(10, 37), - _8456CD8(11, 53), - _8456CD8(13, 53), - _8456CD8(14, 53) +static const u32 sLinkGroupToActivityAndCapacity[] = { + [LINK_GROUP_SINGLE_BATTLE] = _8456CD8(ACTIVITY_BATTLE, 2), + [LINK_GROUP_DOUBLE_BATTLE] = _8456CD8(ACTIVITY_DBLBATTLE, 2), + [LINK_GROUP_MULTI_BATTLE] = _8456CD8(ACTIVITY_MLTBATTLE, 4), + [LINK_GROUP_TRADE] = _8456CD8(ACTIVITY_TRADE, 2), + [LINK_GROUP_POKEMON_JUMP] = _8456CD8(ACTIVITY_PJUMP, 5 | 0x20), + [LINK_GROUP_BERRY_CRUSH] = _8456CD8(ACTIVITY_BCRUSH, 5 | 0x20), + [LINK_GROUP_BERRY_PICKING] = _8456CD8(ACTIVITY_BPICK, 5 | 0x30), + [LINK_GROUP_WONDER_CARD] = _8456CD8(ACTIVITY_SPINTRADE, 5 | 0x30), + [LINK_GROUP_WONDER_NEWS] = _8456CD8(ACTIVITY_ITEMTRADE, 5 | 0x30) }; -static const struct WindowTemplate gUnknown_8456CFC = { +static const struct WindowTemplate sWindowTemplate_List_PossibleGroupMembers = { .bg = 0, .tilemapLeft = 1, .tilemapTop = 3, @@ -188,7 +191,7 @@ static const struct WindowTemplate gUnknown_8456CFC = { .baseBlock = 0x044 }; -static const struct WindowTemplate gUnknown_8456D04 = { +static const struct WindowTemplate sWindowTemplate_NumPlayerMode = { .bg = 0, .tilemapLeft = 16, .tilemapTop = 3, @@ -198,18 +201,18 @@ static const struct WindowTemplate gUnknown_8456D04 = { .baseBlock = 0x0C6 }; -const struct ListMenuItem gUnknown_8456D0C[] = { - {gUnknown_84571AC, 0}, - {gUnknown_84571AC, 1}, - {gUnknown_84571AC, 2}, - {gUnknown_84571AC, 3}, - {gUnknown_84571AC, 4} +const struct ListMenuItem sListMenuItems_PossibleGroupMembers[] = { + {gUnionRoomActivity_Blank, 0}, + {gUnionRoomActivity_Blank, 1}, + {gUnionRoomActivity_Blank, 2}, + {gUnionRoomActivity_Blank, 3}, + {gUnionRoomActivity_Blank, 4} }; -static const struct ListMenuTemplate gUnknown_8456D34 = { - .items = gUnknown_8456D0C, +static const struct ListMenuTemplate sListMenuTemplate_PossibleGroupMembers = { + .items = sListMenuItems_PossibleGroupMembers, .moveCursorFunc = NULL, - .itemPrintFunc = sub_81164C8, + .itemPrintFunc = ItemPrintFunc_PossibleGroupMembers, .totalItems = 5, .maxShowed = 5, .windowId = 0, @@ -227,7 +230,7 @@ static const struct ListMenuTemplate gUnknown_8456D34 = { .cursorKind = 1 }; -static const struct WindowTemplate gUnknown_8456D4C = { +static const struct WindowTemplate sWindowTemplate_MysteryGiftList = { .bg = 0, .tilemapLeft = 1, .tilemapTop = 3, @@ -237,7 +240,7 @@ static const struct WindowTemplate gUnknown_8456D4C = { .baseBlock = 0x044 }; -static const struct WindowTemplate gUnknown_8456D54 = { +static const struct WindowTemplate sWindowTemplate_MysteryGiftPlayerNameAndId = { .bg = 0, .tilemapLeft = 20, .tilemapTop = 3, @@ -247,29 +250,29 @@ static const struct WindowTemplate gUnknown_8456D54 = { .baseBlock = 0x0EE }; -static const struct ListMenuItem gUnknown_8456D5C[] = { - {gUnknown_84571AC, 0}, - {gUnknown_84571AC, 1}, - {gUnknown_84571AC, 2}, - {gUnknown_84571AC, 3}, - {gUnknown_84571AC, 4}, - {gUnknown_84571AC, 5}, - {gUnknown_84571AC, 6}, - {gUnknown_84571AC, 7}, - {gUnknown_84571AC, 8}, - {gUnknown_84571AC, 9}, - {gUnknown_84571AC, 10}, - {gUnknown_84571AC, 11}, - {gUnknown_84571AC, 12}, - {gUnknown_84571AC, 13}, - {gUnknown_84571AC, 14}, - {gUnknown_84571AC, 15} +static const struct ListMenuItem sListMenuItems_UnionRoomGroups[] = { + {gUnionRoomActivity_Blank, 0}, + {gUnionRoomActivity_Blank, 1}, + {gUnionRoomActivity_Blank, 2}, + {gUnionRoomActivity_Blank, 3}, + {gUnionRoomActivity_Blank, 4}, + {gUnionRoomActivity_Blank, 5}, + {gUnionRoomActivity_Blank, 6}, + {gUnionRoomActivity_Blank, 7}, + {gUnionRoomActivity_Blank, 8}, + {gUnionRoomActivity_Blank, 9}, + {gUnionRoomActivity_Blank, 10}, + {gUnionRoomActivity_Blank, 11}, + {gUnionRoomActivity_Blank, 12}, + {gUnionRoomActivity_Blank, 13}, + {gUnionRoomActivity_Blank, 14}, + {gUnionRoomActivity_Blank, 15} }; -static const struct ListMenuTemplate gUnknown_8456DDC = { - .items = gUnknown_8456D5C, +static const struct ListMenuTemplate sListMenuTemplate_UnionRoomGroups = { + .items = sListMenuItems_UnionRoomGroups, .moveCursorFunc = ListMenuDefaultCursorMoveFunc, - .itemPrintFunc = sub_8116F94, + .itemPrintFunc = ListMenuItemPrintFunc_UnionRoomGroups, .totalItems = 16, .maxShowed = 5, .windowId = 0, @@ -287,7 +290,7 @@ static const struct ListMenuTemplate gUnknown_8456DDC = { .cursorKind = 0 }; -static const struct WindowTemplate gUnknown_8456DF4 = { +static const struct WindowTemplate sWindowTemplate_InviteToActivity = { .bg = 0, .tilemapLeft = 20, .tilemapTop = 6, @@ -297,15 +300,15 @@ static const struct WindowTemplate gUnknown_8456DF4 = { .baseBlock = 0x001 }; -static const struct ListMenuItem gUnknown_8456DFC[] = { - {gUnknown_8459354, _8456CD8( 8, 2)}, - {gUnknown_8459344, _8456CD8(65, 2)}, - {gUnknown_845934C, _8456CD8(69, 2)}, - {gUnknown_8459360, _8456CD8(64, 0)} +static const struct ListMenuItem sListMenuItems_InviteToActivity[] = { + {gUnknown_8459354, _8456CD8( ACTIVITY_CARD, 2)}, + {gUnknown_8459344, _8456CD8(ACTIVITY_BATTLE | IN_UNION_ROOM, 2)}, + {gUnknown_845934C, _8456CD8(ACTIVITY_CHAT | IN_UNION_ROOM, 2)}, + {gUnknown_8459360, _8456CD8(ACTIVITY_NONE | IN_UNION_ROOM, 0)} }; -static const struct ListMenuTemplate gUnknown_8456E1C = { - .items = gUnknown_8456DFC, +static const struct ListMenuTemplate sListMenuTemplate_InviteToActivity = { + .items = sListMenuItems_InviteToActivity, .moveCursorFunc = ListMenuDefaultCursorMoveFunc, .itemPrintFunc = NULL, .totalItems = 4, @@ -325,7 +328,7 @@ static const struct ListMenuTemplate gUnknown_8456E1C = { .cursorKind = 0 }; -static const struct WindowTemplate gUnknown_8456E34 = { +static const struct WindowTemplate sWindowTemplate_TradeBoardRegisterInfoExit = { .bg = 0, .tilemapLeft = 18, .tilemapTop = 8, @@ -341,7 +344,7 @@ static const struct ListMenuItem gUnknown_8456E3C[] = { {gUnknown_8459360, 3} }; -static const struct ListMenuTemplate gUnknown_8456E54 = { +static const struct ListMenuTemplate sListMenuTemplate_TradeBoardRegisterInfoExit = { .items = gUnknown_8456E3C, .moveCursorFunc = ListMenuDefaultCursorMoveFunc, .itemPrintFunc = NULL, @@ -362,7 +365,7 @@ static const struct ListMenuTemplate gUnknown_8456E54 = { .cursorKind = 0 }; -static const struct WindowTemplate gUnknown_8456E6C = { +static const struct WindowTemplate sWindowTemplate_TypeNames = { .bg = 0, .tilemapLeft = 20, .tilemapTop = 2, @@ -372,7 +375,7 @@ static const struct WindowTemplate gUnknown_8456E6C = { .baseBlock = 0x001 }; -static const struct ListMenuItem gUnknown_8456E74[] = { +static const struct ListMenuItem sListMenuItems_TypeNames[] = { {gTypeNames[TYPE_NORMAL], TYPE_NORMAL}, {gTypeNames[TYPE_FIRE], TYPE_FIRE}, {gTypeNames[TYPE_WATER], TYPE_WATER}, @@ -393,8 +396,8 @@ static const struct ListMenuItem gUnknown_8456E74[] = { {gUnknown_8459360, NUMBER_OF_MON_TYPES} }; -static const struct ListMenuTemplate gUnknown_8456F04 = { - .items = gUnknown_8456E74, +static const struct ListMenuTemplate sListMenuTemplate_TypeNames = { + .items = sListMenuItems_TypeNames, .moveCursorFunc = ListMenuDefaultCursorMoveFunc, .itemPrintFunc = NULL, .totalItems = NUMBER_OF_MON_TYPES, @@ -414,7 +417,7 @@ static const struct ListMenuTemplate gUnknown_8456F04 = { .cursorKind = 0 }; -static const struct WindowTemplate gUnknown_8456F1C = { +static const struct WindowTemplate sTradeBoardWindowTemplate = { .bg = 0, .tilemapLeft = 1, .tilemapTop = 1, @@ -434,23 +437,23 @@ static const struct WindowTemplate gUnknown_8456F24 = { .baseBlock = 0x039 }; -static const struct ListMenuItem gUnknown_8456F2C[] = { - {gUnknown_84571AC, -3}, - {gUnknown_84571AC, 0}, - {gUnknown_84571AC, 1}, - {gUnknown_84571AC, 2}, - {gUnknown_84571AC, 3}, - {gUnknown_84571AC, 4}, - {gUnknown_84571AC, 5}, - {gUnknown_84571AC, 6}, - {gUnknown_84571AC, 7}, +static const struct ListMenuItem sTradeBoardListMenuItems[] = { + {gUnionRoomActivity_Blank, -3}, + {gUnionRoomActivity_Blank, 0}, + {gUnionRoomActivity_Blank, 1}, + {gUnionRoomActivity_Blank, 2}, + {gUnionRoomActivity_Blank, 3}, + {gUnionRoomActivity_Blank, 4}, + {gUnionRoomActivity_Blank, 5}, + {gUnionRoomActivity_Blank, 6}, + {gUnionRoomActivity_Blank, 7}, {gUnknown_8459368, 8} }; -static const struct ListMenuTemplate gUnknown_8456F7C = { - .items = gUnknown_8456F2C, +static const struct ListMenuTemplate sTradeBoardListMenuTemplate = { + .items = sTradeBoardListMenuItems, .moveCursorFunc = ListMenuDefaultCursorMoveFunc, - .itemPrintFunc = sub_811ACA4, + .itemPrintFunc = TradeBoardListMenuItemPrintFunc, .totalItems = 10, .maxShowed = 5, .windowId = 0, @@ -479,22 +482,22 @@ static const struct WindowTemplate gUnknown_8456F94 = { }; static const struct ListMenuItem gUnknown_8456F9C[] = { - {gUnknown_84571AC, 0}, - {gUnknown_84571AC, 1}, - {gUnknown_84571AC, 2}, - {gUnknown_84571AC, 3}, - {gUnknown_84571AC, 4}, - {gUnknown_84571AC, 5}, - {gUnknown_84571AC, 6}, - {gUnknown_84571AC, 7}, - {gUnknown_84571AC, 8}, - {gUnknown_84571AC, 9}, - {gUnknown_84571AC, 10}, - {gUnknown_84571AC, 11}, - {gUnknown_84571AC, 12}, - {gUnknown_84571AC, 13}, - {gUnknown_84571AC, 14}, - {gUnknown_84571AC, 15} + {gUnionRoomActivity_Blank, 0}, + {gUnionRoomActivity_Blank, 1}, + {gUnionRoomActivity_Blank, 2}, + {gUnionRoomActivity_Blank, 3}, + {gUnionRoomActivity_Blank, 4}, + {gUnionRoomActivity_Blank, 5}, + {gUnionRoomActivity_Blank, 6}, + {gUnionRoomActivity_Blank, 7}, + {gUnionRoomActivity_Blank, 8}, + {gUnionRoomActivity_Blank, 9}, + {gUnionRoomActivity_Blank, 10}, + {gUnionRoomActivity_Blank, 11}, + {gUnionRoomActivity_Blank, 12}, + {gUnionRoomActivity_Blank, 13}, + {gUnionRoomActivity_Blank, 14}, + {gUnionRoomActivity_Blank, 15} }; static const struct ListMenuTemplate gUnknown_845701C = { @@ -518,54 +521,138 @@ static const struct ListMenuTemplate gUnknown_845701C = { .cursorKind = 0 }; -static const struct UnkStruct_Shared gUnknown_8457034 = {}; +static const struct UnionGnameUnamePair sUnionGnameUnamePair_Dummy = {}; // starts at gUnknown_082F0474 in pokeemerald, union link groups -ALIGNED(4) static const u8 gUnknown_845704C[] = {0x01, 0xFF}; -ALIGNED(4) static const u8 gUnknown_8457050[] = {0x02, 0xFF}; -ALIGNED(4) static const u8 gUnknown_8457054[] = {0x03, 0xFF}; -ALIGNED(4) static const u8 gUnknown_8457058[] = {0x04, 0xFF}; -ALIGNED(4) static const u8 gUnknown_845705C[] = {0x09, 0xFF}; -ALIGNED(4) static const u8 gUnknown_8457060[] = {0x0A, 0xFF}; -ALIGNED(4) static const u8 gUnknown_8457064[] = {0x0B, 0xFF}; -ALIGNED(4) static const u8 gUnknown_8457068[] = {0x15, 0xFF}; -ALIGNED(4) static const u8 gUnknown_845706C[] = {0x16, 0xFF}; -ALIGNED(4) static const u8 gUnknown_8457070[] = {0x40, 0x41, 0x44, 0x45, 0x48, 0x51, 0x52, 0x53, 0x54, 0xFF}; -ALIGNED(4) static const u8 gUnknown_845707C[] = {0x0C, 0xFF}; -ALIGNED(4) static const u8 gUnknown_8457080[] = {0x01, 0x02, 0x03, 0x04, 0x09, 0x0A, 0x0B, 0x15, 0x16, 0x0D, 0xFF}; -ALIGNED(4) static const u8 gUnknown_845708C[] = {0x01, 0x02, 0x03, 0x04, 0x0A, 0xFF}; - -static const u8 *const gUnknown_8457094[] = { - gUnknown_845704C, - gUnknown_8457050, - gUnknown_8457054, - gUnknown_8457058, - gUnknown_845705C, - gUnknown_8457060, - gUnknown_8457064, - gUnknown_8457068, - gUnknown_845706C, - gUnknown_8457070, - gUnknown_845707C, - gUnknown_8457080, - gUnknown_845708C +ALIGNED(4) static const u8 gUnknown_845704C[] = { + ACTIVITY_BATTLE, + 0xFF }; -static const u8 gUnknown_84570C8[] = {0x01, 0x02, 0x03, 0x04, 0x09, 0x0A, 0x0B, 0x15, 0x16, 0xF7, 0x00, 0xAF, 0xF7, 0x01, 0xFF, 0x00}; +ALIGNED(4) static const u8 gUnknown_8457050[] = { + ACTIVITY_DBLBATTLE, + 0xFF +}; + +ALIGNED(4) static const u8 gUnknown_8457054[] = { + ACTIVITY_MLTBATTLE, + 0xFF +}; + +ALIGNED(4) static const u8 gUnknown_8457058[] = { + ACTIVITY_TRADE, + 0xFF +}; + +ALIGNED(4) static const u8 gUnknown_845705C[] = { + ACTIVITY_PJUMP, + 0xFF +}; + +ALIGNED(4) static const u8 gUnknown_8457060[] = { + ACTIVITY_BCRUSH, + 0xFF +}; + +ALIGNED(4) static const u8 gUnknown_8457064[] = { + ACTIVITY_BPICK, + 0xFF +}; + +ALIGNED(4) static const u8 gUnknown_8457068[] = { + ACTIVITY_WCARD2, + 0xFF +}; + +ALIGNED(4) static const u8 gUnknown_845706C[] = { + ACTIVITY_WNEWS2, + 0xFF +}; + +ALIGNED(4) static const u8 gUnknown_8457070[] = { + ACTIVITY_NONE | IN_UNION_ROOM, + ACTIVITY_BATTLE | IN_UNION_ROOM, + ACTIVITY_TRADE | IN_UNION_ROOM, + ACTIVITY_CHAT | IN_UNION_ROOM, + ACTIVITY_CARD | IN_UNION_ROOM, + ACTIVITY_ACCEPT | IN_UNION_ROOM, + ACTIVITY_DECLINE | IN_UNION_ROOM, + ACTIVITY_NPCTALK | IN_UNION_ROOM, + ACTIVITY_PLYRTALK | IN_UNION_ROOM, + 0xFF +}; + +ALIGNED(4) static const u8 gUnknown_845707C[] = { + ACTIVITY_SEARCH, + 0xFF +}; + +ALIGNED(4) static const u8 gUnknown_8457080[] = { + ACTIVITY_BATTLE, + ACTIVITY_DBLBATTLE, + ACTIVITY_MLTBATTLE, + ACTIVITY_TRADE, + ACTIVITY_PJUMP, + ACTIVITY_BCRUSH, + ACTIVITY_BPICK, + ACTIVITY_WCARD2, + ACTIVITY_WNEWS2, + ACTIVITY_SPINTRADE, + 0xFF +}; + +ALIGNED(4) static const u8 gUnknown_845708C[] = { + ACTIVITY_BATTLE, + ACTIVITY_DBLBATTLE, + ACTIVITY_MLTBATTLE, + ACTIVITY_TRADE, + ACTIVITY_BCRUSH, + 0xFF +}; + +static const u8 *const sAcceptedActivityIds[] = { + [LINK_GROUP_SINGLE_BATTLE] = gUnknown_845704C, + [LINK_GROUP_DOUBLE_BATTLE] = gUnknown_8457050, + [LINK_GROUP_MULTI_BATTLE] = gUnknown_8457054, + [LINK_GROUP_TRADE] = gUnknown_8457058, + [LINK_GROUP_POKEMON_JUMP] = gUnknown_845705C, + [LINK_GROUP_BERRY_CRUSH] = gUnknown_8457060, + [LINK_GROUP_BERRY_PICKING] = gUnknown_8457064, + [LINK_GROUP_WONDER_CARD] = gUnknown_8457068, + [LINK_GROUP_WONDER_NEWS] = gUnknown_845706C, + [9] = gUnknown_8457070, + [10] = gUnknown_845707C, + [11] = gUnknown_8457080, + [12] = gUnknown_845708C +}; + +static const u8 sLinkGroupToURoomActivity[] = { + [LINK_GROUP_SINGLE_BATTLE] = ACTIVITY_BATTLE, + [LINK_GROUP_DOUBLE_BATTLE] = ACTIVITY_DBLBATTLE, + [LINK_GROUP_MULTI_BATTLE] = ACTIVITY_MLTBATTLE, + [LINK_GROUP_TRADE] = ACTIVITY_TRADE, + [LINK_GROUP_POKEMON_JUMP] = ACTIVITY_PJUMP, + [LINK_GROUP_BERRY_CRUSH] = ACTIVITY_BCRUSH, + [LINK_GROUP_BERRY_PICKING] = ACTIVITY_BPICK, + [LINK_GROUP_WONDER_CARD] = ACTIVITY_WCARD2, + [LINK_GROUP_WONDER_NEWS] = ACTIVITY_WNEWS2 +}; + +static const u8 sUnref_84570D1[] = _("{DYNAMIC 00}·{DYNAMIC 01}"); #undef _8456CD8 // These are functions in Emerald but inlined in FireRed -#define IntlConvPartnerUname7(dest, arg1) ({ \ - StringCopy7(dest, (arg1).unk.playerName); \ - ConvertInternationalString(dest, (arg1).unk.gname.unk_00.unk_00_0); \ +#define IntlConvPartnerUname7(dest, arg1) ({ \ + StringCopy7(dest, (arg1).gname_uname.uname); \ + ConvertInternationalString(dest, (arg1).gname_uname.gname.unk_00.language); \ }) -#define IntlConvPartnerUname(dest, arg1) ({ \ - StringCopy(dest, (arg1).unk.playerName); \ - ConvertInternationalString(dest, (arg1).unk.gname.unk_00.unk_00_0); \ +#define IntlConvPartnerUname(dest, arg1) ({ \ + StringCopy(dest, (arg1).gname_uname.uname); \ + ConvertInternationalString(dest, (arg1).gname_uname.gname.unk_00.language); \ }) #define CopyTrainerCardData(dest, src, _version) ({ \ @@ -578,47 +665,56 @@ static const u8 gUnknown_84570C8[] = {0x01, 0x02, 0x03, 0x04, 0x09, 0x0A, 0x0B, _maxWidth - strWidth; \ }) -static void sub_811586C(u8 windowId, u8 arg1, u8 stringId) +// capacityCode is a 2-nybble code +// Bits 0-3: Capacity +// Bits 4-7: Min required (if 0, must have exactly Capacity players +static void PrintNumPlayersWaitingForMsg(u8 windowId, u8 capacityCode, u8 count) { FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); - switch (arg1 << 8) + switch (capacityCode << 8) { case 0x200: - sub_811A444(windowId, 2, gUnknown_845742C[0][stringId - 1], 0, 2, 0); + UR_AddTextPrinterParameterized(windowId, 2, gUnknown_845742C[0][count - 1], 0, 2, UR_COLOR_DKE_WHT_LTE); break; case 0x400: - sub_811A444(windowId, 2, gUnknown_845742C[1][stringId - 1], 0, 2, 0); + UR_AddTextPrinterParameterized(windowId, 2, gUnknown_845742C[1][count - 1], 0, 2, UR_COLOR_DKE_WHT_LTE); break; case 0x2500: - sub_811A444(windowId, 2, gUnknown_845742C[2][stringId - 1], 0, 2, 0); + UR_AddTextPrinterParameterized(windowId, 2, gUnknown_845742C[2][count - 1], 0, 2, UR_COLOR_DKE_WHT_LTE); break; case 0x3500: - sub_811A444(windowId, 2, gUnknown_845742C[3][stringId - 1], 0, 2, 0); + UR_AddTextPrinterParameterized(windowId, 2, gUnknown_845742C[3][count - 1], 0, 2, UR_COLOR_DKE_WHT_LTE); break; } CopyWindowToVram(windowId, 2); } -static void sub_8115924(u8 windowId) +static void PrintPlayerNameAndIdOnWindow(u8 windowId) { u8 text[12]; u8 text2[12]; - sub_811A444(windowId, 2, gSaveBlock2Ptr->playerName, 0, 2, 0); + UR_AddTextPrinterParameterized(windowId, 2, gSaveBlock2Ptr->playerName, 0, 2, UR_COLOR_DKE_WHT_LTE); StringCopy(text2, gUnknown_84571B4); ConvertIntToDecimalStringN(text, ReadAsU16(gSaveBlock2Ptr->playerTrainerId), STR_CONV_MODE_LEADING_ZEROS, 5); StringAppend(text2, text); - sub_811A444(windowId, 0, text2, 0, 0x10, 0); + UR_AddTextPrinterParameterized(windowId, 0, text2, 0, 0x10, UR_COLOR_DKE_WHT_LTE); } -static void sub_811599C(u8 *dst, u8 caseId) +static void StringExpandPlaceholders_AwaitingCommFromAnother(u8 *dst, u8 caseId) { switch (caseId) { - case 1 ... 4: - case 9 ... 11: - case 21 ... 22: + case ACTIVITY_BATTLE: + case ACTIVITY_DBLBATTLE: + case ACTIVITY_MLTBATTLE: + case ACTIVITY_TRADE: + case ACTIVITY_PJUMP: + case ACTIVITY_BCRUSH: + case ACTIVITY_BPICK: + case ACTIVITY_WCARD2: + case ACTIVITY_WNEWS2: // UB: argument *dst isn't used, instead it always prints to gStringVar4 StringExpandPlaceholders(gStringVar4, gUnknown_8457234); break; @@ -630,7 +726,7 @@ void TryBecomeLinkLeader(void) u8 taskId; struct UnkStruct_Leader * dataPtr; - taskId = CreateTask(sub_8115A68, 0); + taskId = CreateTask(Task_TryBecomeLinkLeader, 0); sUnionRoomMain.leader = dataPtr = (void*)(gTasks[taskId].data); sLeader = dataPtr; @@ -639,7 +735,7 @@ void TryBecomeLinkLeader(void) gSpecialVar_Result = 0; } -static void sub_8115A68(u8 taskId) +static void Task_TryBecomeLinkLeader(u8 taskId) { u32 id, val; struct UnkStruct_Leader * data = sUnionRoomMain.leader; @@ -647,63 +743,63 @@ static void sub_8115A68(u8 taskId) switch (data->state) { case 0: - gUnknown_203B058 = gUnknown_8456CD8[gSpecialVar_0x8004]; - gUnknown_203B059 = gUnknown_8456CD8[gSpecialVar_0x8004] >> 8; - SetHostRFUtgtGname(gUnknown_203B058, 0, 0); - sub_800B1F4(); + sPlayerCurrActivity = sLinkGroupToActivityAndCapacity[gSpecialVar_0x8004]; + sPlayerActivityGroupSize = sLinkGroupToActivityAndCapacity[gSpecialVar_0x8004] >> 8; + SetHostRFUtgtGname(sPlayerCurrActivity, 0, 0); + SetWirelessCommType1(); OpenLink(); - sub_80FBB8C(gUnknown_203B059 & 0xF); + InitializeRfuLinkManager_LinkLeader(sPlayerActivityGroupSize & 0xF); data->state = 3; break; case 3: data->field_4 = AllocZeroed(4 * sizeof(struct UnkStruct_x1C)); - data->field_0 = AllocZeroed(5 * sizeof(struct UnkStruct_x20)); - data->field_8 = AllocZeroed(5 * sizeof(struct UnkStruct_x20)); - sub_811A650(data->field_4->arr, 4); - sub_811A5E4(data->field_0->arr, 5); - LinkRfu3_SetGnameUnameFromStaticBuffers(&data->field_0->arr[0].unk.gname, data->field_0->arr[0].unk.playerName); + data->field_0 = AllocZeroed(UROOM_MAX_PARTY_SIZE * sizeof(struct UnkStruct_x20)); + data->field_8 = AllocZeroed(UROOM_MAX_PARTY_SIZE * sizeof(struct UnkStruct_x20)); + BlankUnkStruct_x1CArray(data->field_4->arr, 4); + BlankUnkStruct_x20Array(data->field_0->arr, UROOM_MAX_PARTY_SIZE); + LinkRfu3_SetGnameUnameFromStaticBuffers(&data->field_0->arr[0].gname_uname.gname, data->field_0->arr[0].gname_uname.uname); data->field_0->arr[0].field_18 = 0; - data->field_0->arr[0].field_1A_0 = 1; + data->field_0->arr[0].groupScheduledAnim = UNION_ROOM_SPAWN_IN; data->field_0->arr[0].field_1A_1 = 0; data->field_0->arr[0].field_1B = 0; - data->field_17 = sub_811A054(data->field_4, 0xFF); - data->field_10 = AddWindow(&gUnknown_8456CD0); - data->listWindowId = AddWindow(&gUnknown_8456CFC); - data->field_11 = AddWindow(&gUnknown_8456D04); + data->listenTaskId = CreateTask_ListenForPartnersWithCompatibleSerialNos(data->field_4, 0xFF); + data->bButtonCancelWindowId = AddWindow(&sWindowTemplate_BButtonCancel); + data->listWindowId = AddWindow(&sWindowTemplate_List_PossibleGroupMembers); + data->nPlayerModeWindowId = AddWindow(&sWindowTemplate_NumPlayerMode); - FillWindowPixelBuffer(data->field_10, PIXEL_FILL(2)); - sub_811A444(data->field_10, 0, gUnknown_845747C, 8, 2, 4); - PutWindowTilemap(data->field_10); - CopyWindowToVram(data->field_10, 2); + FillWindowPixelBuffer(data->bButtonCancelWindowId, PIXEL_FILL(2)); + UR_AddTextPrinterParameterized(data->bButtonCancelWindowId, 0, gUnknown_845747C, 8, 2, UR_COLOR_WHT_DKE_LTE); + PutWindowTilemap(data->bButtonCancelWindowId); + CopyWindowToVram(data->bButtonCancelWindowId, 2); DrawStdWindowFrame(data->listWindowId, FALSE); - gMultiuseListMenuTemplate = gUnknown_8456D34; + gMultiuseListMenuTemplate = sListMenuTemplate_PossibleGroupMembers; gMultiuseListMenuTemplate.windowId = data->listWindowId; data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); - DrawStdWindowFrame(data->field_11, FALSE); - PutWindowTilemap(data->field_11); - CopyWindowToVram(data->field_11, 2); + DrawStdWindowFrame(data->nPlayerModeWindowId, FALSE); + PutWindowTilemap(data->nPlayerModeWindowId); + CopyWindowToVram(data->nPlayerModeWindowId, 2); CopyBgTilemapBufferToVram(0); - data->field_13 = 1; + data->playerCount = 1; data->state = 4; break; case 4: - StringCopy(gStringVar1, gUnknown_8456C74[gUnknown_203B058]); - if ((gUnknown_203B059 >> 4) != 0) + StringCopy(gStringVar1, sUnionRoomActivityStringPtrs[sPlayerCurrActivity]); + if ((sPlayerActivityGroupSize >> 4) != 0) { - if (data->field_13 > (gUnknown_203B059 >> 4) - 1 && (gUnknown_203B059 & 0xF) != 0) + if (data->playerCount > (sPlayerActivityGroupSize >> 4) - 1 && (sPlayerActivityGroupSize & 0xF) != 0) StringExpandPlaceholders(gStringVar4, gUnknown_8457264); else StringExpandPlaceholders(gStringVar4, gUnknown_8457234); } else { - sub_811599C(gStringVar4, gUnknown_203B058); + StringExpandPlaceholders_AwaitingCommFromAnother(gStringVar4, sPlayerCurrActivity); } - sub_811586C(data->field_11, gUnknown_203B059, data->field_13); + PrintNumPlayersWaitingForMsg(data->nPlayerModeWindowId, sPlayerActivityGroupSize, data->playerCount); data->state = 5; break; case 5: @@ -711,24 +807,24 @@ static void sub_8115A68(u8 taskId) data->state = 6; break; case 6: - sub_8116444(data, 7, 10); + Leader_SetStateIfMemberListChanged(data, 7, 10); if (JOY_NEW(B_BUTTON)) { - if (data->field_13 == 1) + if (data->playerCount == 1) data->state = 23; - else if ((gUnknown_203B059 & 0xF0) != 0) + else if ((sPlayerActivityGroupSize & 0xF0) != 0) data->state = 30; else data->state = 19; } - if ((gUnknown_203B059 >> 4) != 0 - && data->field_13 > (gUnknown_203B059 >> 4) - 1 - && (gUnknown_203B059 & 0xF) != 0 + if ((sPlayerActivityGroupSize >> 4) != 0 + && data->playerCount > (sPlayerActivityGroupSize >> 4) - 1 + && (sPlayerActivityGroupSize & 0xF) != 0 && sub_80FC1CC() && JOY_NEW(START_BUTTON)) { data->state = 15; - sub_80F8F5C(); + LinkRfu_StopManagerAndFinalizeSlots(); } if (data->state == 6 && sub_80FA5D4()) { @@ -739,20 +835,21 @@ static void sub_8115A68(u8 taskId) if (!sub_80FA5D4()) { data->state = 6; - data->field_13 = sub_81165E8(data->field_0); + data->playerCount = UnionRoomLeaderField0CompactionAndCount(data->field_0); } break; case 10: - id = ((gUnknown_203B058 & 0xF) == 2) ? 1 : 0; + id = ((sPlayerCurrActivity & 0xF) == 2) ? 1 : 0; if (PrintOnTextbox(&data->textState, gUnknown_845767C[id])) { - data->field_13 = sub_81165E8(data->field_0); + data->playerCount = UnionRoomLeaderField0CompactionAndCount(data->field_0); RedrawListMenu(data->listTaskId); data->state = 4; } break; case 29: - id = ((gUnknown_203B059 & 0xF) == 2) ? 0 : 1; + // Other player cancelled. + id = ((sPlayerActivityGroupSize & 0xF) == 2) ? 0 : 1; if (PrintOnTextbox(&data->textState, gUnknown_845767C[id])) { data->state = 21; @@ -765,19 +862,19 @@ static void sub_8115A68(u8 taskId) } break; case 11: - switch (sub_811A14C(&data->textState, sub_80FA634(ReadAsU16(data->field_0->arr[data->field_13].unk.gname.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName))) + switch (UnionRoomHandleYesNo(&data->textState, TrainerIdAndNameStillInPartnersList(ReadAsU16(data->field_0->arr[data->playerCount].gname_uname.gname.unk_00.playerTrainerId), data->field_0->arr[data->playerCount].gname_uname.uname))) { case 0: LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); data->field_19 = 5; - sub_80FA670(5, ReadAsU16(data->field_0->arr[data->field_13].unk.gname.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName); + SendByteToPartnerByIdAndName(5, ReadAsU16(data->field_0->arr[data->playerCount].gname_uname.gname.unk_00.playerTrainerId), data->field_0->arr[data->playerCount].gname_uname.uname); data->state = 12; break; case 1: case -1: data->field_19 = 6; - sub_80FA670(6, ReadAsU16(data->field_0->arr[data->field_13].unk.gname.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName); + SendByteToPartnerByIdAndName(6, ReadAsU16(data->field_0->arr[data->playerCount].gname_uname.gname.unk_00.playerTrainerId), data->field_0->arr[data->playerCount].gname_uname.uname); data->state = 12; break; case -3: @@ -786,29 +883,31 @@ static void sub_8115A68(u8 taskId) } break; case 12: - val = sub_80FA6FC(ReadAsU16(data->field_0->arr[data->field_13].unk.gname.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName); + val = WaitSendByteToPartnerByIdAndName(ReadAsU16(data->field_0->arr[data->playerCount].gname_uname.gname.unk_00.playerTrainerId), data->field_0->arr[data->playerCount].gname_uname.uname); if (val == 1) { + // Xfer complete if (data->field_19 == 5) { - data->field_0->arr[data->field_13].field_1B = 0; + // Sent "OK" + data->field_0->arr[data->playerCount].field_1B = 0; RedrawListMenu(data->listTaskId); - data->field_13++; - if (data->field_13 == (gUnknown_203B059 & 0xF)) + data->playerCount++; + if (data->playerCount == (sPlayerActivityGroupSize & 0xF)) { - if ((gUnknown_203B059 & 0xF0) != 0 || data->field_13 == 4) + if ((sPlayerActivityGroupSize & 0xF0) != 0 || data->playerCount == 4) { data->state = 15; } else { - IntlConvPartnerUname7(gStringVar1, data->field_0->arr[data->field_13 - 1]); + IntlConvPartnerUname7(gStringVar1, data->field_0->arr[data->playerCount - 1]); StringExpandPlaceholders(gStringVar4, gUnknown_8457554); data->state = 13; } - sub_80F8F5C(); - sub_811586C(data->field_11, gUnknown_203B059, data->field_13); + LinkRfu_StopManagerAndFinalizeSlots(); + PrintNumPlayersWaitingForMsg(data->nPlayerModeWindowId, sPlayerActivityGroupSize, data->playerCount); } else { @@ -817,9 +916,10 @@ static void sub_8115A68(u8 taskId) } else { - sub_80FBD4C(data->field_0->arr[data->field_13].unk.playerName, ReadAsU16(data->field_0->arr[data->field_13].unk.gname.unk_00.playerTrainerId)); - data->field_0->arr[data->field_13].field_1A_0 = 0; - sub_81165E8(data->field_0); + // Sent "no" + RequestDisconnectSlotByTrainerNameAndId(data->field_0->arr[data->playerCount].gname_uname.uname, ReadAsU16(data->field_0->arr[data->playerCount].gname_uname.gname.unk_00.playerTrainerId)); + data->field_0->arr[data->playerCount].groupScheduledAnim = UNION_ROOM_SPAWN_NONE; + UnionRoomLeaderField0CompactionAndCount(data->field_0); RedrawListMenu(data->listTaskId); data->state = 4; } @@ -828,7 +928,8 @@ static void sub_8115A68(u8 taskId) } else if (val == 2) { - sub_80FB9E4(0, 0); + // Disconnect + RfuSetErrorStatus(0, 0); data->state = 4; } break; @@ -837,22 +938,25 @@ static void sub_8115A68(u8 taskId) data->state = 14; break; case 14: - if (++data->field_E > 120) + if (++data->delayTimerAfterOk > 120) data->state = 17; break; case 15: + // Are these members OK? if (PrintOnTextbox(&data->textState, gUnknown_8457514)) data->state = 16; break; case 16: - switch (sub_811A14C(&data->textState, FALSE)) + switch (UnionRoomHandleYesNo(&data->textState, FALSE)) { case 0: + // Yes data->state = 17; break; case 1: case -1: - if ((gUnknown_203B059 & 0xF0) != 0) + // No + if ((sPlayerActivityGroupSize & 0xF0) != 0) data->state = 30; else data->state = 19; @@ -864,16 +968,16 @@ static void sub_8115A68(u8 taskId) data->state = 20; break; case 20: - switch (sub_811A14C(&data->textState, FALSE)) + switch (UnionRoomHandleYesNo(&data->textState, FALSE)) { case 0: data->state = 23; break; case 1: case -1: - if ((gUnknown_203B059 & 0xF0) != 0) + if ((sPlayerActivityGroupSize & 0xF0) != 0) data->state = 15; - else if (data->field_13 == (gUnknown_203B059 & 0xF)) + else if (data->playerCount == (sPlayerActivityGroupSize & 0xF)) data->state = 15; else data->state = 4; @@ -881,13 +985,15 @@ static void sub_8115A68(u8 taskId) } break; case 17: - if (!sub_8116444(data, 7, 23)) + // Go to start + // Final membership check + if (!Leader_SetStateIfMemberListChanged(data, 7, 23)) data->state = 18; break; case 18: - if (sub_80F8F40()) + if (LmanAcceptSlotFlagIsNotZero()) { - if (sub_80F8F7C(FALSE)) + if (WaitRfuState(FALSE)) { data->state = 26; } @@ -899,14 +1005,16 @@ static void sub_8115A68(u8 taskId) } break; case 30: + // Mode with members will be canceled. if (PrintOnTextbox(&data->textState, gUnknown_8457610)) data->state = 23; break; case 21: case 23: + // An error occurred. Please start over from the beginning. DestroyWirelessStatusIndicatorSprite(); - sub_80F8DC0(); - sub_81161E4(data); + LinkRfu_Shutdown(); + Leader_DestroyResources(data); data->state++; break; case 24: @@ -920,7 +1028,7 @@ static void sub_8115A68(u8 taskId) gSpecialVar_Result = 8; break; case 26: - if (sub_80FBA00()) + if (RfuIsErrorStatus1or2()) { data->state = 29; } @@ -928,9 +1036,9 @@ static void sub_8115A68(u8 taskId) { if (gReceivedRemoteLinkPlayers != 0) { - sub_80FAFE0(1); - sub_8117990(); - sub_81161E4(data); + UpdateGameData_GroupLockedIn(TRUE); + CreateTask_RunScriptAndFadeToActivity(); + Leader_DestroyResources(data); DestroyTask(taskId); } } @@ -938,196 +1046,196 @@ static void sub_8115A68(u8 taskId) } } -static void sub_81161E4(struct UnkStruct_Leader * data) +static void Leader_DestroyResources(struct UnkStruct_Leader * data) { - ClearWindowTilemap(data->field_11); - ClearStdWindowAndFrame(data->field_11, FALSE); + ClearWindowTilemap(data->nPlayerModeWindowId); + ClearStdWindowAndFrame(data->nPlayerModeWindowId, FALSE); DestroyListMenuTask(data->listTaskId, 0, 0); - ClearWindowTilemap(data->field_10); + ClearWindowTilemap(data->bButtonCancelWindowId); ClearStdWindowAndFrame(data->listWindowId, FALSE); CopyBgTilemapBufferToVram(0); - RemoveWindow(data->field_11); + RemoveWindow(data->nPlayerModeWindowId); RemoveWindow(data->listWindowId); - RemoveWindow(data->field_10); - DestroyTask(data->field_17); + RemoveWindow(data->bButtonCancelWindowId); + DestroyTask(data->listenTaskId); Free(data->field_8); Free(data->field_0); Free(data->field_4); } -static void sub_8116244(u8 *dst, u8 caseId) +static void Leader_GetAcceptNewMemberPrompt(u8 *dst, u8 activity) { - switch (caseId) + switch (activity) { - case 1: - case 2: - case 4: + case ACTIVITY_BATTLE: + case ACTIVITY_DBLBATTLE: + case ACTIVITY_TRADE: StringExpandPlaceholders(dst, gUnknown_84574A0); break; - case 21: - case 22: + case ACTIVITY_WCARD2: + case ACTIVITY_WNEWS2: StringExpandPlaceholders(dst, gUnknown_84574C4); break; - case 3: - case 9: - case 10: - case 11: + case ACTIVITY_MLTBATTLE: + case ACTIVITY_PJUMP: + case ACTIVITY_BCRUSH: + case ACTIVITY_BPICK: StringExpandPlaceholders(dst, gUnknown_84574EC); break; } } -static void sub_81162E0(u8 *dst, u8 caseId) +static void GetYouDeclinedTheOfferMessage(u8 *dst, u8 activity) { - switch (caseId) + switch (activity) { - case 65: - case 68: + case ACTIVITY_BATTLE | IN_UNION_ROOM: + case ACTIVITY_TRADE | IN_UNION_ROOM: StringExpandPlaceholders(dst, gUnknown_8457E28); break; - case 69: - case 72: + case ACTIVITY_CHAT | IN_UNION_ROOM: + case ACTIVITY_CARD | IN_UNION_ROOM: StringExpandPlaceholders(dst, gUnknown_8457E44); break; } } -static void sub_811631C(u8 *dst, u8 caseId) +static void GetYouAskedToJoinGroupPleaseWaitMessage(u8 *dst, u8 activity) { - switch (caseId) + switch (activity) { - case 1: - case 2: - case 4: - case 21: - case 22: + case ACTIVITY_BATTLE: + case ACTIVITY_DBLBATTLE: + case ACTIVITY_TRADE: + case ACTIVITY_WCARD2: + case ACTIVITY_WNEWS2: StringExpandPlaceholders(dst, gUnknown_8459238); break; - case 3: - case 9: - case 10: - case 11: + case ACTIVITY_MLTBATTLE: + case ACTIVITY_PJUMP: + case ACTIVITY_BCRUSH: + case ACTIVITY_BPICK: StringExpandPlaceholders(dst, gUnknown_8459250); break; } } -static void sub_81163B0(u8 *dst, u8 caseId) +static void GetGroupLeaderSentAnOKMessage(u8 *dst, u8 caseId) { switch (caseId) { - case 1: - case 2: - case 4: - case 21: - case 22: + case ACTIVITY_BATTLE: + case ACTIVITY_DBLBATTLE: + case ACTIVITY_TRADE: + case ACTIVITY_WCARD2: + case ACTIVITY_WNEWS2: StringExpandPlaceholders(dst, gUnknown_84576AC); break; - case 3: - case 9: - case 10: - case 11: + case ACTIVITY_MLTBATTLE: + case ACTIVITY_PJUMP: + case ACTIVITY_BCRUSH: + case ACTIVITY_BPICK: StringExpandPlaceholders(dst, gUnknown_84576C4); break; } } -static bool8 sub_8116444(struct UnkStruct_Leader * data, u32 arg1, u32 arg2) +static bool8 Leader_SetStateIfMemberListChanged(struct UnkStruct_Leader * data, u32 state1, u32 state2) { - switch (sub_8116524(data->field_0)) + switch (LeaderUpdateGroupMembership(data->field_0)) { - case 1: + case UNION_ROOM_SPAWN_IN: PlaySE(SE_PC_LOGIN); RedrawListMenu(data->listTaskId); - IntlConvPartnerUname7(gStringVar2, data->field_0->arr[data->field_13]); - sub_8116244(gStringVar4, gUnknown_203B058); - data->state = arg1; + IntlConvPartnerUname7(gStringVar2, data->field_0->arr[data->playerCount]); + Leader_GetAcceptNewMemberPrompt(gStringVar4, sPlayerCurrActivity); + data->state = state1; break; - case 2: - sub_80FB9E4(0, 0); + case UNION_ROOM_SPAWN_OUT: + RfuSetErrorStatus(0, 0); RedrawListMenu(data->listTaskId); - data->state = arg2; + data->state = state2; return TRUE; } return FALSE; } -static void sub_81164C8(u8 windowId, s32 itemId, u8 y) +static void ItemPrintFunc_PossibleGroupMembers(u8 windowId, s32 itemId, u8 y) { struct UnkStruct_Leader * data = sUnionRoomMain.leader; u8 var = 0; - switch (data->field_0->arr[itemId].field_1A_0) + switch (data->field_0->arr[itemId].groupScheduledAnim) { - case 1: + case UNION_ROOM_SPAWN_IN: if (data->field_0->arr[itemId].field_1B != 0) - var = 2; + var = UR_COLOR_GRN_WHT_LTG; break; - case 2: - var = 1; + case UNION_ROOM_SPAWN_OUT: + var = UR_COLOR_RED_WHT_LTR; break; } - sub_811A910(windowId, 0, y, &data->field_0->arr[itemId], var, itemId); + PrintGroupMemberCandidateOnWindowWithColor(windowId, 0, y, &data->field_0->arr[itemId], var, itemId); } -static u8 sub_8116524(struct UnkStruct_Main0 * arg0) +static u8 LeaderUpdateGroupMembership(struct UnkStruct_Main0 * arg0) { struct UnkStruct_Leader * data = sUnionRoomMain.leader; - u8 ret = 0; + u8 ret = UNION_ROOM_SPAWN_NONE; u8 i; s32 id; - for (i = 1; i < 5; i++) + for (i = 1; i < UROOM_MAX_PARTY_SIZE; i++) { - u16 var = data->field_0->arr[i].field_1A_0; - if (var == 1) + u16 var = data->field_0->arr[i].groupScheduledAnim; + if (var == UNION_ROOM_SPAWN_IN) { - id = sub_811A748(&data->field_0->arr[i], data->field_4->arr); + id = Findx20Inx1CArray(&data->field_0->arr[i], data->field_4->arr); if (id != 0xFF) { - data->field_0->arr[i].unk = data->field_4->arr[id].unk0; - data->field_0->arr[i].field_18 = var; + data->field_0->arr[i].gname_uname = data->field_4->arr[id].gname_uname; + data->field_0->arr[i].field_18 = 1; } else { - data->field_0->arr[i].field_1A_0 = 2; - ret = 2; + data->field_0->arr[i].groupScheduledAnim = UNION_ROOM_SPAWN_OUT; + ret = UNION_ROOM_SPAWN_OUT; } } } - for (id = 0; id < 4; id++) - sub_811A798(data->field_0->arr, &data->field_4->arr[id], 5); + for (id = 0; id < RFU_CHILD_MAX; id++) + Appendx1Ctox20(data->field_0->arr, &data->field_4->arr[id], UROOM_MAX_PARTY_SIZE); - if (ret != 2) + if (ret != UNION_ROOM_SPAWN_OUT) { - for (id = 0; id < 5; id++) + for (id = 0; id < UROOM_MAX_PARTY_SIZE; id++) { if (data->field_0->arr[id].field_1B != 0) - ret = 1; + ret = UNION_ROOM_SPAWN_IN; } } return ret; } -static u8 sub_81165E8(struct UnkStruct_Main0 * arg0) +static u8 UnionRoomLeaderField0CompactionAndCount(struct UnkStruct_Main0 * arg0) { struct UnkStruct_Leader * data = sUnionRoomMain.leader; u8 copiedCount; s32 i; u8 ret; - for (i = 0; i < 5; i++) + for (i = 0; i < UROOM_MAX_PARTY_SIZE; i++) data->field_8->arr[i] = data->field_0->arr[i]; copiedCount = 0; - for (i = 0; i < 5; i++) + for (i = 0; i < UROOM_MAX_PARTY_SIZE; i++) { - if (data->field_8->arr[i].field_1A_0 == 1) + if (data->field_8->arr[i].groupScheduledAnim == UNION_ROOM_SPAWN_IN) { data->field_0->arr[copiedCount] = data->field_8->arr[i]; copiedCount++; @@ -1135,18 +1243,18 @@ static u8 sub_81165E8(struct UnkStruct_Main0 * arg0) } ret = copiedCount; - for (; copiedCount < 5; copiedCount++) + for (; copiedCount < UROOM_MAX_PARTY_SIZE; copiedCount++) { - data->field_0->arr[copiedCount].unk = gUnknown_8457034; + data->field_0->arr[copiedCount].gname_uname = sUnionGnameUnamePair_Dummy; data->field_0->arr[copiedCount].field_18 = 0; - data->field_0->arr[copiedCount].field_1A_0 = 0; - data->field_0->arr[copiedCount].field_1A_1 = 0; + data->field_0->arr[copiedCount].groupScheduledAnim = UNION_ROOM_SPAWN_NONE; + data->field_0->arr[copiedCount].field_1A_1 = FALSE; data->field_0->arr[copiedCount].field_1B = 0; } - for (i = 0; i < 5; i++) + for (i = 0; i < UROOM_MAX_PARTY_SIZE; i++) { - if (data->field_0->arr[i].field_1A_0 != 1) + if (data->field_0->arr[i].groupScheduledAnim != UNION_ROOM_SPAWN_IN) continue; if (data->field_0->arr[i].field_1B != 0x40) continue; @@ -1163,7 +1271,7 @@ void TryJoinLinkGroup(void) u8 taskId; struct UnkStruct_Group * dataPtr; - taskId = CreateTask(sub_8116738, 0); + taskId = CreateTask(Task_TryJoinLinkGroup, 0); sUnionRoomMain.group = dataPtr = (void*)(gTasks[taskId].data); sGroup = dataPtr; @@ -1172,7 +1280,7 @@ void TryJoinLinkGroup(void) gSpecialVar_Result = 0; } -static void sub_8116738(u8 taskId) +static void Task_TryJoinLinkGroup(u8 taskId) { s32 id; struct UnkStruct_Group * data = sUnionRoomMain.group; @@ -1180,11 +1288,11 @@ static void sub_8116738(u8 taskId) switch (data->state) { case 0: - SetHostRFUtgtGname(gUnknown_84570C8[gSpecialVar_0x8004], 0, 0); - gUnknown_203B058 = gUnknown_84570C8[gSpecialVar_0x8004]; - sub_800B1F4(); + SetHostRFUtgtGname(sLinkGroupToURoomActivity[gSpecialVar_0x8004], 0, 0); + sPlayerCurrActivity = sLinkGroupToURoomActivity[gSpecialVar_0x8004]; + SetWirelessCommType1(); OpenLink(); - sub_80FBBD8(); + InitializeRfuLinkManager_JoinGroup(); data->field_4 = AllocZeroed(4 * sizeof(struct UnkStruct_x1C)); data->field_0 = AllocZeroed(16 * sizeof(struct UnkStruct_x20)); data->state = 1; @@ -1194,34 +1302,34 @@ static void sub_8116738(u8 taskId) data->state = 2; break; case 2: - sub_811A650(data->field_4->arr, 4); - sub_811A5E4(data->field_0->arr, 16); - data->field_11 = sub_811A054(data->field_4, gSpecialVar_0x8004); - data->field_C = AddWindow(&gUnknown_8456CD0); - data->listWindowId = AddWindow(&gUnknown_8456D4C); - data->field_D = AddWindow(&gUnknown_8456D54); + BlankUnkStruct_x1CArray(data->field_4->arr, 4); + BlankUnkStruct_x20Array(data->field_0->arr, 16); + data->listenTaskId = CreateTask_ListenForPartnersWithCompatibleSerialNos(data->field_4, gSpecialVar_0x8004); + data->bButtonCancelWindowId = AddWindow(&sWindowTemplate_BButtonCancel); + data->listWindowId = AddWindow(&sWindowTemplate_MysteryGiftList); + data->playerNameAndIdWindowId = AddWindow(&sWindowTemplate_MysteryGiftPlayerNameAndId); - FillWindowPixelBuffer(data->field_C, PIXEL_FILL(2)); - sub_811A444(data->field_C, 0, gUnknown_8458FC8, 8, 2, 4); - PutWindowTilemap(data->field_C); - CopyWindowToVram(data->field_C, 2); + FillWindowPixelBuffer(data->bButtonCancelWindowId, PIXEL_FILL(2)); + UR_AddTextPrinterParameterized(data->bButtonCancelWindowId, 0, gUnknown_8458FC8, 8, 2, UR_COLOR_WHT_DKE_LTE); + PutWindowTilemap(data->bButtonCancelWindowId); + CopyWindowToVram(data->bButtonCancelWindowId, 2); DrawStdWindowFrame(data->listWindowId, FALSE); - gMultiuseListMenuTemplate = gUnknown_8456DDC; + gMultiuseListMenuTemplate = sListMenuTemplate_UnionRoomGroups; gMultiuseListMenuTemplate.windowId = data->listWindowId; data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); - DrawStdWindowFrame(data->field_D, FALSE); - PutWindowTilemap(data->field_D); - sub_8115924(data->field_D); - CopyWindowToVram(data->field_D, 2); + DrawStdWindowFrame(data->playerNameAndIdWindowId, FALSE); + PutWindowTilemap(data->playerNameAndIdWindowId); + PrintPlayerNameAndIdOnWindow(data->playerNameAndIdWindowId); + CopyWindowToVram(data->playerNameAndIdWindowId, 2); CopyBgTilemapBufferToVram(0); - data->field_F = 0; + data->leaderId = 0; data->state = 3; break; case 3: - id = sub_8116FE4(); + id = GetNewLeaderCandidate(); switch (id) { case 1: @@ -1234,19 +1342,20 @@ static void sub_8116738(u8 taskId) { // this unused variable along with the assignment is needed to match u32 unusedVar; - unusedVar = data->field_0->arr[id].unk.gname.unk_0a_0; + unusedVar = data->field_0->arr[id].gname_uname.gname.activity; - if (data->field_0->arr[id].field_1A_0 == 1 && !data->field_0->arr[id].unk.gname.unk_0a_7) + if (data->field_0->arr[id].groupScheduledAnim == UNION_ROOM_SPAWN_IN && !data->field_0->arr[id].gname_uname.gname.started) { - u32 var = sub_8116D10(data, id); + u32 var = IsTryingToTradeWithHoennTooSoon(data, id); if (var == 0) { - sub_8116D60(data, id); + AskToJoinRfuGroup(data, id); data->state = 5; PlaySE(SE_PN_ON); } else { + // Postgame flags not both set StringCopy(gStringVar4, gUnknown_8457608[var - 1]); data->state = 18; PlaySE(SE_PN_ON); @@ -1268,30 +1377,38 @@ static void sub_8116738(u8 taskId) } break; case 5: - sub_811631C(gStringVar4, gUnknown_203B058); + GetYouAskedToJoinGroupPleaseWaitMessage(gStringVar4, sPlayerCurrActivity); if (PrintOnTextbox(&data->textState, gStringVar4)) { - IntlConvPartnerUname7(gStringVar1, data->field_0->arr[data->field_F]); + IntlConvPartnerUname7(gStringVar1, data->field_0->arr[data->leaderId]); data->state = 6; } break; case 6: if (gReceivedRemoteLinkPlayers != 0) { - gUnknown_203B058 = data->field_0->arr[data->field_F].unk.gname.unk_0a_0; - sub_80FB9E4(0, 0); - switch (gUnknown_203B058) + sPlayerCurrActivity = data->field_0->arr[data->leaderId].gname_uname.gname.activity; + RfuSetErrorStatus(0, 0); + switch (sPlayerCurrActivity) { - case 1 ... 5: - case 9 ... 11: - case 13 ... 14: - case 21 ... 22: + case ACTIVITY_BATTLE: + case ACTIVITY_DBLBATTLE: + case ACTIVITY_MLTBATTLE: + case ACTIVITY_TRADE: + case ACTIVITY_CHAT: + case ACTIVITY_PJUMP: + case ACTIVITY_BCRUSH: + case ACTIVITY_BPICK: + case ACTIVITY_SPINTRADE: + case ACTIVITY_ITEMTRADE: + case ACTIVITY_WCARD2: + case ACTIVITY_WNEWS2: data->state = 20; break; } } - switch (sub_80FB9F4()) + switch (RfuGetErrorStatus()) { case 1: data->state = 12; @@ -1302,31 +1419,32 @@ static void sub_8116738(u8 taskId) data->state = 14; break; case 5: - sub_81163B0(gStringVar4, gUnknown_203B058); + GetGroupLeaderSentAnOKMessage(gStringVar4, sPlayerCurrActivity); if (PrintOnTextbox(&data->textState, gStringVar4)) { - sub_80FB9E4(7, 0); - StringCopy(gStringVar1, gUnknown_8456C74[gUnknown_203B058]); + RfuSetErrorStatus(7, 0); + StringCopy(gStringVar1, sUnionRoomActivityStringPtrs[sPlayerCurrActivity]); StringExpandPlaceholders(gStringVar4, gUnknown_8457700); } break; case 7: - if (data->field_15 > 0xF0) + // Wait 4 seconds + if (data->delayBeforePrint > 240) { if (PrintOnTextbox(&data->textState, gStringVar4)) { - sub_80FB9E4(12, 0); - data->field_15 = 0; + RfuSetErrorStatus(12, 0); + data->delayBeforePrint = 0; } } else { - data->field_15++; + data->delayBeforePrint++; } break; } - if (!sub_80FB9F4() && JOY_NEW(B_BUTTON)) + if (!RfuGetErrorStatus() && JOY_NEW(B_BUTTON)) data->state = 7; break; case 7: @@ -1334,10 +1452,10 @@ static void sub_8116738(u8 taskId) data->state = 8; break; case 8: - switch (sub_811A14C(&data->textState, sub_80FB9F4())) + switch (UnionRoomHandleYesNo(&data->textState, RfuGetErrorStatus())) { case 0: - sub_80FA6BC(); + LinkRfuNIsend8(); data->state = 9; RedrawListMenu(data->listTaskId); break; @@ -1353,7 +1471,7 @@ static void sub_8116738(u8 taskId) } break; case 9: - if (sub_80FB9F4()) + if (RfuGetErrorStatus()) data->state = 6; break; case 10: @@ -1361,23 +1479,23 @@ static void sub_8116738(u8 taskId) case 14: case 18: case 20: - ClearWindowTilemap(data->field_D); - ClearStdWindowAndFrame(data->field_D, FALSE); + ClearWindowTilemap(data->playerNameAndIdWindowId); + ClearStdWindowAndFrame(data->playerNameAndIdWindowId, FALSE); DestroyListMenuTask(data->listTaskId, 0, 0); - ClearWindowTilemap(data->field_C); + ClearWindowTilemap(data->bButtonCancelWindowId); ClearStdWindowAndFrame(data->listWindowId, FALSE); CopyBgTilemapBufferToVram(0); - RemoveWindow(data->field_D); + RemoveWindow(data->playerNameAndIdWindowId); RemoveWindow(data->listWindowId); - RemoveWindow(data->field_C); - DestroyTask(data->field_11); + RemoveWindow(data->bButtonCancelWindowId); + DestroyTask(data->listenTaskId); Free(data->field_0); Free(data->field_4); data->state++; break; case 13: DestroyWirelessStatusIndicatorSprite(); - if (PrintOnTextbox(&data->textState, gUnknown_8457754[sub_80FB9F4()])) + if (PrintOnTextbox(&data->textState, gUnknown_8457754[RfuGetErrorStatus()])) { gSpecialVar_Result = 6; data->state = 23; @@ -1390,7 +1508,7 @@ static void sub_8116738(u8 taskId) break; case 15: DestroyWirelessStatusIndicatorSprite(); - if (PrintOnTextbox(&data->textState, gUnknown_8457754[sub_80FB9F4()])) + if (PrintOnTextbox(&data->textState, gUnknown_8457754[RfuGetErrorStatus()])) { gSpecialVar_Result = 8; data->state = 23; @@ -1405,25 +1523,25 @@ static void sub_8116738(u8 taskId) break; case 23: DestroyTask(taskId); - sub_811A41C(); - sub_80F8DC0(); + JoinGroup_BlankBg0AndEnableScriptContexts(); + LinkRfu_Shutdown(); break; case 21: - sub_8117990(); + CreateTask_RunScriptAndFadeToActivity(); DestroyTask(taskId); break; } } -static u32 sub_8116D10(struct UnkStruct_Group * arg0, s32 id) +static u32 IsTryingToTradeWithHoennTooSoon(struct UnkStruct_Group * arg0, s32 id) { struct UnkStruct_x20 * structPtr = &arg0->field_0->arr[id]; - if (gUnknown_203B058 == 4 && structPtr->unk.gname.unk_00.unk_01_2 != VERSION_FIRE_RED && structPtr->unk.gname.unk_00.unk_01_2 != VERSION_LEAF_GREEN) + if (sPlayerCurrActivity == ACTIVITY_TRADE && structPtr->gname_uname.gname.unk_00.version != VERSION_FIRE_RED && structPtr->gname_uname.gname.unk_00.version != VERSION_LEAF_GREEN) { if (!(gSaveBlock2Ptr->specialSaveWarpFlags & CHAMPION_SAVEWARP)) return 1; - else if (structPtr->unk.gname.unk_00.isChampion) + else if (structPtr->gname_uname.gname.unk_00.isChampion) return 0; } else @@ -1434,23 +1552,23 @@ static u32 sub_8116D10(struct UnkStruct_Group * arg0, s32 id) return 2; } -static void sub_8116D60(struct UnkStruct_Group * data, s32 id) +static void AskToJoinRfuGroup(struct UnkStruct_Group * data, s32 id) { - data->field_F = id; + data->leaderId = id; LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); RedrawListMenu(data->listTaskId); - IntlConvPartnerUname7(gStringVar1, data->field_0->arr[data->field_F]); - sub_80FB008(gUnknown_84570C8[gSpecialVar_0x8004], 0, 1); - sub_80FBF54(data->field_0->arr[data->field_F].unk.playerName, ReadAsU16(data->field_0->arr[data->field_F].unk.gname.unk_00.playerTrainerId)); + IntlConvPartnerUname7(gStringVar1, data->field_0->arr[data->leaderId]); + UpdateGameDataWithActivitySpriteGendersFlag(sLinkGroupToURoomActivity[gSpecialVar_0x8004], 0, TRUE); + CreateTask_RfuReconnectWithParent(data->field_0->arr[data->leaderId].gname_uname.uname, ReadAsU16(data->field_0->arr[data->leaderId].gname_uname.gname.unk_00.playerTrainerId)); } -u8 sub_8116DE0(void) +u8 CreateTask_ListenToWireless(void) { u8 taskId; struct UnkStruct_Group * dataPtr; - taskId = CreateTask(sub_8116E1C, 0); + taskId = CreateTask(Task_ListenToWireless, 0); sUnionRoomMain.group = dataPtr = (void*)(gTasks[taskId].data); dataPtr->state = 0; @@ -1461,7 +1579,7 @@ u8 sub_8116DE0(void) return taskId; } -static void sub_8116E1C(u8 taskId) +static void Task_ListenToWireless(u8 taskId) { struct UnkStruct_Group * data = sUnionRoomMain.group; @@ -1469,53 +1587,53 @@ static void sub_8116E1C(u8 taskId) { case 0: SetHostRFUtgtGname(0, 0, 0); - sub_800B1F4(); + SetWirelessCommType1(); OpenLink(); - sub_80FBBD8(); + InitializeRfuLinkManager_JoinGroup(); sub_80FB128(TRUE); data->field_4 = AllocZeroed(4 * sizeof(struct UnkStruct_x1C)); data->field_0 = AllocZeroed(16 * sizeof(struct UnkStruct_x20)); data->state = 2; break; case 2: - sub_811A650(data->field_4->arr, 4); - sub_811A5E4(data->field_0->arr, 16); - data->field_11 = sub_811A054(data->field_4, 0xFF); - data->field_F = 0; + BlankUnkStruct_x1CArray(data->field_4->arr, 4); + BlankUnkStruct_x20Array(data->field_0->arr, 16); + data->listenTaskId = CreateTask_ListenForPartnersWithCompatibleSerialNos(data->field_4, 0xFF); + data->leaderId = 0; data->state = 3; break; case 3: - if (sub_8116FE4() == 1) + if (GetNewLeaderCandidate() == 1) PlaySE(SE_PC_LOGIN); if (gTasks[taskId].data[15] == 0xFF) data->state = 10; break; case 10: - DestroyTask(data->field_11); + DestroyTask(data->listenTaskId); Free(data->field_0); Free(data->field_4); - sub_80F8DC0(); + LinkRfu_Shutdown(); data->state++; break; case 11: - sub_80F8DC0(); + LinkRfu_Shutdown(); DestroyTask(taskId); break; } } -static bool32 sub_8116F28(u32 arg0, u32 id) +static bool32 IsPartnerActivityAcceptable(u32 activity, u32 group) { - if (id == 0xFF) + if (group == 0xFF) return TRUE; - if (id <= NELEMS(gUnknown_8457094)) // UB: <= may access data outside the array + if (group <= NELEMS(sAcceptedActivityIds)) // UB: <= may access data outside the array { - const u8 *bytes = gUnknown_8457094[id]; + const u8 *bytes = sAcceptedActivityIds[group]; while ((*(bytes) != 0xFF)) { - if ((*bytes) == arg0) + if ((*bytes) == activity) return TRUE; bytes++; } @@ -1524,30 +1642,30 @@ static bool32 sub_8116F28(u32 arg0, u32 id) return FALSE; } -static u8 sub_8116F5C(struct UnkStruct_Group * data, u32 id) +static u8 URoomGroupListGetTextColor(struct UnkStruct_Group * data, u32 id) { - if (data->field_0->arr[id].field_1A_0 == 1) + if (data->field_0->arr[id].groupScheduledAnim == UNION_ROOM_SPAWN_IN) { - if (data->field_0->arr[id].unk.gname.unk_0a_7) - return 3; - else if (data->field_0->arr[id].field_1A_1 != 0) - return 1; + if (data->field_0->arr[id].gname_uname.gname.started) + return UR_COLOR_WHT_WHT_LTE; + else if (data->field_0->arr[id].field_1A_1) + return UR_COLOR_RED_WHT_LTR; else if (data->field_0->arr[id].field_1B != 0) - return 2; + return UR_COLOR_GRN_WHT_LTG; } - return 0; + return UR_COLOR_DKE_WHT_LTE; } -static void sub_8116F94(u8 windowId, s32 itemId, u8 y) +static void ListMenuItemPrintFunc_UnionRoomGroups(u8 windowId, s32 itemId, u8 y) { struct UnkStruct_Group * data = sUnionRoomMain.group; - u8 var = sub_8116F5C(data, itemId); + u8 color_idx = URoomGroupListGetTextColor(data, itemId); - sub_811A81C(windowId, 8, y, &data->field_0->arr[itemId], var, itemId); + PrintUnionRoomGroupOnWindow(windowId, 8, y, &data->field_0->arr[itemId], color_idx, itemId); } -static u8 sub_8116FE4(void) +static u8 GetNewLeaderCandidate(void) { struct UnkStruct_Group * data = sUnionRoomMain.group; u8 ret = 0; @@ -1556,17 +1674,17 @@ static u8 sub_8116FE4(void) for (i = 0; i < 16; i++) { - if (data->field_0->arr[i].field_1A_0 != 0) + if (data->field_0->arr[i].groupScheduledAnim != UNION_ROOM_SPAWN_NONE) { - id = sub_811A748(&data->field_0->arr[i], data->field_4->arr); + id = Findx20Inx1CArray(&data->field_0->arr[i], data->field_4->arr); if (id != 0xFF) { - if (data->field_0->arr[i].field_1A_0 == 1) + if (data->field_0->arr[i].groupScheduledAnim == UNION_ROOM_SPAWN_IN) { - if (sub_811A6DC(&data->field_0->arr[i].unk, &data->field_4->arr[id].unk0)) + if (AreUnionRoomPlayerGnamesDifferent(&data->field_0->arr[i].gname_uname, &data->field_4->arr[id].gname_uname)) { - data->field_0->arr[i].unk = data->field_4->arr[id].unk0; - data->field_0->arr[i].field_1B = 0x40; + data->field_0->arr[i].gname_uname = data->field_4->arr[id].gname_uname; + data->field_0->arr[i].field_1B = 64; ret = 1; } else @@ -1581,8 +1699,8 @@ static u8 sub_8116FE4(void) } else { - data->field_0->arr[i].field_1A_0 = 1; - data->field_0->arr[i].field_1B = 0x40; + data->field_0->arr[i].groupScheduledAnim = UNION_ROOM_SPAWN_IN; + data->field_0->arr[i].field_1B = 64; ret = 1; } @@ -1590,12 +1708,12 @@ static u8 sub_8116FE4(void) } else { - if (data->field_0->arr[i].field_1A_0 != 2) + if (data->field_0->arr[i].groupScheduledAnim != UNION_ROOM_SPAWN_OUT) { data->field_0->arr[i].field_18++; if (data->field_0->arr[i].field_18 >= 300) { - data->field_0->arr[i].field_1A_0 = 2; + data->field_0->arr[i].groupScheduledAnim = UNION_ROOM_SPAWN_OUT; ret = 2; } } @@ -1603,29 +1721,29 @@ static u8 sub_8116FE4(void) } } - for (id = 0; id < 4; id++) + for (id = 0; id < RFU_CHILD_MAX; id++) { - if (sub_811A798(data->field_0->arr, &data->field_4->arr[id], 16) != 0xFF) + if (Appendx1Ctox20(data->field_0->arr, &data->field_4->arr[id], 16) != 0xFF) ret = 1; } return ret; } -static void sub_8117100(u8 taskId) +static void Task_CallCB2ReturnFromLinkTrade(u8 taskId) { CB2_ReturnFromLinkTrade(); DestroyTask(taskId); } -u8 sub_8117118(void) +u8 UnionRoom_CreateTask_CallCB2ReturnFromLinkTrade(void) { - u8 taskId = CreateTask(sub_8117100, 0); + u8 taskId = CreateTask(Task_CallCB2ReturnFromLinkTrade, 0); return taskId; } -static void sub_8117130(u8 taskId) +static void Task_StartUnionRoomTrade(u8 taskId) { u32 monId = GetPartyPositionOfRegisteredMon(&sUnionRoomTrade, GetMultiplayerId()); @@ -1665,7 +1783,7 @@ static void sub_8117130(u8 taskId) } } -static void sub_8117280(u8 taskId) +static void Task_ExchangeCards(u8 taskId) { switch (gTasks[taskId].data[0]) { @@ -1689,11 +1807,11 @@ static void sub_8117280(u8 taskId) if (GetLinkPlayerCount() == 2) { recvBuff = gBlockRecvBuffer[GetMultiplayerId() ^ 1]; - sub_81446D0(recvBuff[48]); + MEventHandleReceivedWonderCard(recvBuff[sizeof(struct TrainerCard) / 2]); } else { - sub_81446C4(); + ResetReceivedWonderCardFlag(); } ResetBlockReceivedFlags(); @@ -1703,16 +1821,16 @@ static void sub_8117280(u8 taskId) } } -static void sub_8117354(void) +static void CB2_ShowCard(void) { switch (gMain.state) { case 0: - CreateTask(sub_8117280, 5); + CreateTask(Task_ExchangeCards, 5); gMain.state++; break; case 1: - if (!FuncIsActiveTask(sub_8117280)) + if (!FuncIsActiveTask(Task_ExchangeCards)) ShowTrainerCardInLink(GetMultiplayerId() ^ 1, CB2_ReturnToField); break; } @@ -1723,7 +1841,7 @@ static void sub_8117354(void) BuildOamBuffer(); } -void sub_81173C0(u16 battleFlags) +void StartUnionRoomBattle(u16 battleFlags) { HealPlayerParty(); SavePlayerParty(); @@ -1731,12 +1849,12 @@ void sub_81173C0(u16 battleFlags) gLinkPlayers[0].linkType = LINKTYPE_BATTLE; gLinkPlayers[GetMultiplayerId()].id = GetMultiplayerId(); gLinkPlayers[GetMultiplayerId() ^ 1].id = GetMultiplayerId() ^ 1; - gMain.savedCallback = sub_8081668; + gMain.savedCallback = CB2_ReturnFromCableClubBattle; gBattleTypeFlags = battleFlags; PlayBattleBGM(); } -static void sub_8117440(u16 linkService, u16 x, u16 y) +static void SetCableClubStateAndWarpCurrentMap(u16 linkService, u16 x, u16 y) { VarSet(VAR_CABLE_CLUB_STATE, linkService); SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x, y); @@ -1744,7 +1862,7 @@ static void sub_8117440(u16 linkService, u16 x, u16 y) WarpIntoMap(); } -static void sub_81174B4(s8 mapGroup, s8 mapNum, s32 x, s32 y, u16 linkService) +static void SetCableClubStateAndWarpToNewMap(s8 mapGroup, s8 mapNum, s32 x, s32 y, u16 linkService) { gSpecialVar_0x8004 = linkService; VarSet(VAR_CABLE_CLUB_STATE, linkService); @@ -1755,17 +1873,17 @@ static void sub_81174B4(s8 mapGroup, s8 mapNum, s32 x, s32 y, u16 linkService) WarpIntoMap(); } -static void sub_8117534(void) +static void CB2_TransitionToCableClub(void) { switch (gMain.state) { case 0: - CreateTask(sub_8117280, 5); + CreateTask(Task_ExchangeCards, 5); gMain.state++; break; case 1: - if (!FuncIsActiveTask(sub_8117280)) - SetMainCallback2(sub_8056788); + if (!FuncIsActiveTask(Task_ExchangeCards)) + SetMainCallback2(CB2_ReturnToFieldCableClub); break; } @@ -1775,101 +1893,106 @@ static void sub_8117534(void) BuildOamBuffer(); } -static void sub_8117594(void *arg0, bool32 arg1) +static void CreateTrainerCardInBuffer(void *dest, bool32 setWonderCard) { - TrainerCard_GenerateCardForLinkPlayer((struct TrainerCard * )arg0); - if (arg1) - *((u16 *)(arg0 + sizeof(struct TrainerCard))) = GetWonderCardFlagId(); + TrainerCard_GenerateCardForLinkPlayer((struct TrainerCard * )dest); + if (setWonderCard) + *((u16 *)(dest + sizeof(struct TrainerCard))) = GetWonderCardFlagId(); else - *((u16 *)(arg0 + sizeof(struct TrainerCard))) = 0; + *((u16 *)(dest + sizeof(struct TrainerCard))) = 0; } -static void sub_81175BC(u8 taskId) +static void Task_StartActivity(u8 taskId) { - sub_81446C4(); - switch (gUnknown_203B058) + ResetReceivedWonderCardFlag(); + switch (sPlayerCurrActivity) { - case 1 ... 4: - case 9 ... 11: - case 13: - case 14: + case ACTIVITY_BATTLE: + case ACTIVITY_DBLBATTLE: + case ACTIVITY_MLTBATTLE: + case ACTIVITY_TRADE: + case ACTIVITY_PJUMP: + case ACTIVITY_BCRUSH: + case ACTIVITY_BPICK: + case ACTIVITY_SPINTRADE: + case ACTIVITY_ITEMTRADE: RecordMixTrainerNames(); break; } - switch (gUnknown_203B058) + switch (sPlayerCurrActivity) { - case 65: - case 81: + case ACTIVITY_BATTLE | IN_UNION_ROOM: + case ACTIVITY_ACCEPT | IN_UNION_ROOM: CleanupOverworldWindowsAndTilemaps(); - gMain.savedCallback = sub_811C1C8; + gMain.savedCallback = CB2_UnionRoomBattle; InitChooseHalfPartyForBattle(2); break; - case 1: + case ACTIVITY_BATTLE: CleanupOverworldWindowsAndTilemaps(); - sub_8117594(gBlockSendBuffer, TRUE); + CreateTrainerCardInBuffer(gBlockSendBuffer, TRUE); HealPlayerParty(); SavePlayerParty(); LoadPlayerBag(); - sub_81174B4(MAP_GROUP(BATTLE_COLOSSEUM_2P), MAP_NUM(BATTLE_COLOSSEUM_2P), 6, 8, USING_SINGLE_BATTLE); - SetMainCallback2(sub_8117534); + SetCableClubStateAndWarpToNewMap(MAP_GROUP(BATTLE_COLOSSEUM_2P), MAP_NUM(BATTLE_COLOSSEUM_2P), 6, 8, USING_SINGLE_BATTLE); + SetMainCallback2(CB2_TransitionToCableClub); break; - case 2: + case ACTIVITY_DBLBATTLE: CleanupOverworldWindowsAndTilemaps(); HealPlayerParty(); SavePlayerParty(); LoadPlayerBag(); - sub_8117594(gBlockSendBuffer, TRUE); - sub_81174B4(MAP_GROUP(BATTLE_COLOSSEUM_2P), MAP_NUM(BATTLE_COLOSSEUM_2P), 6, 8, USING_DOUBLE_BATTLE); - SetMainCallback2(sub_8117534); + CreateTrainerCardInBuffer(gBlockSendBuffer, TRUE); + SetCableClubStateAndWarpToNewMap(MAP_GROUP(BATTLE_COLOSSEUM_2P), MAP_NUM(BATTLE_COLOSSEUM_2P), 6, 8, USING_DOUBLE_BATTLE); + SetMainCallback2(CB2_TransitionToCableClub); break; - case 3: + case ACTIVITY_MLTBATTLE: CleanupOverworldWindowsAndTilemaps(); HealPlayerParty(); SavePlayerParty(); LoadPlayerBag(); - sub_8117594(gBlockSendBuffer, TRUE); - sub_81174B4(MAP_GROUP(BATTLE_COLOSSEUM_4P), MAP_NUM(BATTLE_COLOSSEUM_4P), 5, 8, USING_MULTI_BATTLE); - SetMainCallback2(sub_8117534); + CreateTrainerCardInBuffer(gBlockSendBuffer, TRUE); + SetCableClubStateAndWarpToNewMap(MAP_GROUP(BATTLE_COLOSSEUM_4P), MAP_NUM(BATTLE_COLOSSEUM_4P), 5, 8, USING_MULTI_BATTLE); + SetMainCallback2(CB2_TransitionToCableClub); break; - case 4: - sub_8117594(gBlockSendBuffer, TRUE); + case ACTIVITY_TRADE: + CreateTrainerCardInBuffer(gBlockSendBuffer, TRUE); CleanupOverworldWindowsAndTilemaps(); - sub_81174B4(MAP_GROUP(TRADE_CENTER), MAP_NUM(TRADE_CENTER), 5, 8, USING_TRADE_CENTER); - SetMainCallback2(sub_8117534); + SetCableClubStateAndWarpToNewMap(MAP_GROUP(TRADE_CENTER), MAP_NUM(TRADE_CENTER), 5, 8, USING_TRADE_CENTER); + SetMainCallback2(CB2_TransitionToCableClub); break; - case 68: - CreateTask(sub_8117130, 0); + case ACTIVITY_TRADE | IN_UNION_ROOM: + CreateTask(Task_StartUnionRoomTrade, 0); break; - case 5: - case 69: + case ACTIVITY_CHAT: + case ACTIVITY_CHAT | IN_UNION_ROOM: if (GetMultiplayerId() == 0) { - sub_80F8CFC(); + LinkRfu_CreateConnectionAsParent(); } else { - sub_80F8D14(); - SetHostRFUtgtGname(69, 0, 1); + LinkRfu_StopManagerBeforeEnteringChat(); + SetHostRFUtgtGname(ACTIVITY_CHAT | IN_UNION_ROOM, 0, 1); } EnterUnionRoomChat(); break; - case 8: - case 72: - sub_8117594(gBlockSendBuffer, FALSE); - SetMainCallback2(sub_8117354); + case ACTIVITY_CARD: + case ACTIVITY_CARD | IN_UNION_ROOM: + CreateTrainerCardInBuffer(gBlockSendBuffer, FALSE); + SetMainCallback2(CB2_ShowCard); break; - case 9: - sub_8117440(USING_MINIGAME, 5, 1); - sub_8147AA8(GetCursorSelectionMonId(), CB2_LoadMap); + case ACTIVITY_PJUMP: + SetCableClubStateAndWarpCurrentMap(USING_MINIGAME, 5, 1); + StartPokemonJump(GetCursorSelectionMonId(), CB2_LoadMap); break; - case 10: - sub_8117440(USING_BERRY_CRUSH, 9, 1); - sub_814B754(CB2_LoadMap); + case ACTIVITY_BCRUSH: + SetCableClubStateAndWarpCurrentMap(USING_BERRY_CRUSH, 9, 1); + StartBerryCrush(CB2_LoadMap); break; - case 11: - sub_8117440(USING_MINIGAME, 5, 1); - sub_81507FC(GetCursorSelectionMonId(), CB2_LoadMap); + case ACTIVITY_BPICK: + SetCableClubStateAndWarpCurrentMap(USING_MINIGAME, 5, 1); + StartDodrioBerryPicking(GetCursorSelectionMonId(), CB2_LoadMap); break; } @@ -1878,7 +2001,7 @@ static void sub_81175BC(u8 taskId) ScriptContext2_Disable(); } -static void sub_8117900(u8 taskId) +static void Task_RunScriptAndFadeToActivity(u8 taskId) { s16 *data = gTasks[taskId].data; u16 *sendBuff = (u16*)(gBlockSendBuffer); @@ -1900,7 +2023,7 @@ static void sub_8117900(u8 taskId) case 2: if (!gPaletteFade.active) { - sub_800AB9C(); + PrepareSendLinkCmd2FFE_or_RfuCmd6600(); data[0]++; } break; @@ -1908,38 +2031,38 @@ static void sub_8117900(u8 taskId) if (IsLinkTaskFinished()) { DestroyTask(taskId); - sub_81179A4(); + CreateTask_StartActivity(); } break; } } -static void sub_8117990(void) +static void CreateTask_RunScriptAndFadeToActivity(void) { - CreateTask(sub_8117900, 0); + CreateTask(Task_RunScriptAndFadeToActivity, 0); } -static void sub_81179A4(void) +static void CreateTask_StartActivity(void) { - u8 taskId = CreateTask(sub_81175BC, 0); + u8 taskId = CreateTask(Task_StartActivity, 0); gTasks[taskId].data[0] = 0; } -void MEvent_CreateTask_Leader(u32 arg0) +void MEvent_CreateTask_Leader(u32 activity) { u8 taskId; struct UnkStruct_Leader * dataPtr; - taskId = CreateTask(sub_8117A0C, 0); + taskId = CreateTask(Task_MEvent_Leader, 0); sUnionRoomMain.leader = dataPtr = (void*)(gTasks[taskId].data); dataPtr->state = 0; dataPtr->textState = 0; - dataPtr->field_18 = arg0; + dataPtr->activity = activity; gSpecialVar_Result = 0; } -static void sub_8117A0C(u8 taskId) +static void Task_MEvent_Leader(u8 taskId) { struct UnkStruct_Leader * data = sUnionRoomMain.leader; struct WindowTemplate winTemplate; @@ -1948,43 +2071,43 @@ static void sub_8117A0C(u8 taskId) switch (data->state) { case 0: - gUnknown_203B058 = data->field_18; - gUnknown_203B059 = 2; - SetHostRFUtgtGname(data->field_18, 0, 0); - sub_80FAF74(FALSE, FALSE); - sub_800B1F4(); + sPlayerCurrActivity = data->activity; + sPlayerActivityGroupSize = 2; + SetHostRFUtgtGname(data->activity, 0, 0); + SetGnameBufferWonderFlags(FALSE, FALSE); + SetWirelessCommType1(); OpenLink(); - sub_80FBB8C(2); + InitializeRfuLinkManager_LinkLeader(2); data->state = 1; break; case 1: data->field_4 = AllocZeroed(4 * sizeof(struct UnkStruct_x1C)); - data->field_0 = AllocZeroed(5 * sizeof(struct UnkStruct_x20)); - data->field_8 = AllocZeroed(5 * sizeof(struct UnkStruct_x20)); - sub_811A650(data->field_4->arr, 4); - sub_811A5E4(data->field_0->arr, 5); - LinkRfu3_SetGnameUnameFromStaticBuffers(&data->field_0->arr[0].unk.gname, data->field_0->arr[0].unk.playerName); + data->field_0 = AllocZeroed(UROOM_MAX_PARTY_SIZE * sizeof(struct UnkStruct_x20)); + data->field_8 = AllocZeroed(UROOM_MAX_PARTY_SIZE * sizeof(struct UnkStruct_x20)); + BlankUnkStruct_x1CArray(data->field_4->arr, 4); + BlankUnkStruct_x20Array(data->field_0->arr, UROOM_MAX_PARTY_SIZE); + LinkRfu3_SetGnameUnameFromStaticBuffers(&data->field_0->arr[0].gname_uname.gname, data->field_0->arr[0].gname_uname.uname); data->field_0->arr[0].field_18 = 0; - data->field_0->arr[0].field_1A_0 = 1; - data->field_0->arr[0].field_1A_1 = 0; + data->field_0->arr[0].groupScheduledAnim = UNION_ROOM_SPAWN_IN; + data->field_0->arr[0].field_1A_1 = FALSE; data->field_0->arr[0].field_1B = 0; - data->field_17 = sub_811A054(data->field_4, 0xFF); + data->listenTaskId = CreateTask_ListenForPartnersWithCompatibleSerialNos(data->field_4, 0xFF); - winTemplate = gUnknown_8456CFC; + winTemplate = sWindowTemplate_List_PossibleGroupMembers; winTemplate.baseBlock = GetMysteryGiftBaseBlock(); data->listWindowId = AddWindow(&winTemplate); MG_DrawTextBorder(data->listWindowId); - gMultiuseListMenuTemplate = gUnknown_8456D34; + gMultiuseListMenuTemplate = sListMenuTemplate_PossibleGroupMembers; gMultiuseListMenuTemplate.windowId = data->listWindowId; data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); CopyBgTilemapBufferToVram(0); - data->field_13 = 1; + data->playerCount = 1; data->state = 2; break; case 2: - StringCopy(gStringVar1, gUnknown_8456C74[gUnknown_203B058]); - sub_811599C(gStringVar4, gUnknown_203B058); + StringCopy(gStringVar1, sUnionRoomActivityStringPtrs[sPlayerCurrActivity]); + StringExpandPlaceholders_AwaitingCommFromAnother(gStringVar4, sPlayerCurrActivity); data->state = 3; break; case 3: @@ -1992,7 +2115,7 @@ static void sub_8117A0C(u8 taskId) data->state = 4; break; case 4: - sub_8116444(data, 5, 6); + Leader_SetStateIfMemberListChanged(data, 5, 6); if (JOY_NEW(B_BUTTON)) { data->state = 13; @@ -2000,9 +2123,10 @@ static void sub_8117A0C(u8 taskId) } break; case 6: + // The link with your friend has been dropped... if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gUnknown_84577F8)) { - data->field_13 = sub_81165E8(data->field_0); + data->playerCount = UnionRoomLeaderField0CompactionAndCount(data->field_0); RedrawListMenu(data->listTaskId); data->state = 2; } @@ -2011,44 +2135,44 @@ static void sub_8117A0C(u8 taskId) data->state = 7; break; case 7: - switch (mevent_message_print_and_prompt_yes_no(&data->textState, (u16 *)&data->field_14, FALSE, gStringVar4)) + switch (mevent_message_print_and_prompt_yes_no(&data->textState, (u16 *)&data->messageWindowId, FALSE, gStringVar4)) { case 0: LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); - data->field_0->arr[data->field_13].field_1B = 0; + data->field_0->arr[data->playerCount].field_1B = 0; RedrawListMenu(data->listTaskId); data->field_19 = 5; - sub_80FA670(5, ReadAsU16(data->field_0->arr[data->field_13].unk.gname.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName); + SendByteToPartnerByIdAndName(5, ReadAsU16(data->field_0->arr[data->playerCount].gname_uname.gname.unk_00.playerTrainerId), data->field_0->arr[data->playerCount].gname_uname.uname); data->state = 8; break; case 1: case -1: data->field_19 = 6; - sub_80FA670(6, ReadAsU16(data->field_0->arr[data->field_13].unk.gname.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName); + SendByteToPartnerByIdAndName(6, ReadAsU16(data->field_0->arr[data->playerCount].gname_uname.gname.unk_00.playerTrainerId), data->field_0->arr[data->playerCount].gname_uname.uname); data->state = 8; break; } break; case 8: - val = sub_80FA6FC(ReadAsU16(data->field_0->arr[data->field_13].unk.gname.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName); + val = WaitSendByteToPartnerByIdAndName(ReadAsU16(data->field_0->arr[data->playerCount].gname_uname.gname.unk_00.playerTrainerId), data->field_0->arr[data->playerCount].gname_uname.uname); if (val == 1) { if (data->field_19 == 5) { - data->field_0->arr[data->field_13].field_1B = 0; + data->field_0->arr[data->playerCount].field_1B = 0; RedrawListMenu(data->listTaskId); - data->field_13++; - IntlConvPartnerUname7(gStringVar1, data->field_0->arr[data->field_13 - 1]); + data->playerCount++; + IntlConvPartnerUname7(gStringVar1, data->field_0->arr[data->playerCount - 1]); StringExpandPlaceholders(gStringVar4, gUnknown_8457554); data->state = 9; - sub_80F8F5C(); + LinkRfu_StopManagerAndFinalizeSlots(); } else { - sub_80FBD4C(data->field_0->arr[data->field_13].unk.playerName, ReadAsU16(data->field_0->arr[data->field_13].unk.gname.unk_00.playerTrainerId)); - data->field_0->arr[data->field_13].field_1A_0 = 0; - sub_81165E8(data->field_0); + RequestDisconnectSlotByTrainerNameAndId(data->field_0->arr[data->playerCount].gname_uname.uname, ReadAsU16(data->field_0->arr[data->playerCount].gname_uname.gname.unk_00.playerTrainerId)); + data->field_0->arr[data->playerCount].groupScheduledAnim = UNION_ROOM_SPAWN_NONE; + UnionRoomLeaderField0CompactionAndCount(data->field_0); RedrawListMenu(data->listTaskId); data->state = 2; } @@ -2057,7 +2181,7 @@ static void sub_8117A0C(u8 taskId) } else if (val == 2) { - sub_80FB9E4(0, 0); + RfuSetErrorStatus(0, 0); data->state = 2; } break; @@ -2066,17 +2190,17 @@ static void sub_8117A0C(u8 taskId) data->state = 10; break; case 10: - if (++data->field_E > 120) + if (++data->delayTimerAfterOk > 120) data->state = 11; break; case 11: - if (!sub_8116444(data, 5, 6)) + if (!Leader_SetStateIfMemberListChanged(data, 5, 6)) data->state = 12; break; case 12: - if (sub_80F8F40()) + if (LmanAcceptSlotFlagIsNotZero()) { - sub_80F8F7C(FALSE); + WaitRfuState(FALSE); data->state = 15; } else @@ -2086,17 +2210,18 @@ static void sub_8117A0C(u8 taskId) break; case 13: DestroyWirelessStatusIndicatorSprite(); - sub_80F8DC0(); + LinkRfu_Shutdown(); DestroyListMenuTask(data->listTaskId, 0, 0); CopyBgTilemapBufferToVram(0); RemoveWindow(data->listWindowId); - DestroyTask(data->field_17); + DestroyTask(data->listenTaskId); Free(data->field_8); Free(data->field_0); Free(data->field_4); data->state++; break; case 14: + // Please start over from the beginning. if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gUnknown_84571B8)) { DestroyTask(taskId); @@ -2104,13 +2229,13 @@ static void sub_8117A0C(u8 taskId) } break; case 15: - if (sub_80FB9F4() == 1 || sub_80FB9F4() == 2) + if (RfuGetErrorStatus() == 1 || RfuGetErrorStatus() == 2) { data->state = 13; } else if (gReceivedRemoteLinkPlayers != 0) { - sub_80FAFE0(1); + UpdateGameData_GroupLockedIn(TRUE); data->state++; } break; @@ -2118,11 +2243,11 @@ static void sub_8117A0C(u8 taskId) DestroyListMenuTask(data->listTaskId, 0, 0); CopyBgTilemapBufferToVram(0); RemoveWindow(data->listWindowId); - DestroyTask(data->field_17); + DestroyTask(data->listenTaskId); Free(data->field_8); Free(data->field_0); Free(data->field_4); - sub_800AB9C(); + PrepareSendLinkCmd2FFE_or_RfuCmd6600(); data->state++; break; case 17: @@ -2132,22 +2257,22 @@ static void sub_8117A0C(u8 taskId) } } -void MEvent_CreateTask_CardOrNewsWithFriend(u32 arg0) +void MEvent_CreateTask_CardOrNewsWithFriend(u32 activity) { u8 taskId; struct UnkStruct_Group * dataPtr; - taskId = CreateTask(sub_8117F20, 0); + taskId = CreateTask(Task_CardOrNewsWithFriend, 0); sUnionRoomMain.group = dataPtr = (void*)(gTasks[taskId].data); sGroup = dataPtr; dataPtr->state = 0; dataPtr->textState = 0; - dataPtr->field_12 = arg0 - 21; + dataPtr->cardOrNews = activity - ACTIVITY_WCARD2; // 0: Card; 1: News gSpecialVar_Result = 0; } -static void sub_8117F20(u8 taskId) +static void Task_CardOrNewsWithFriend(u8 taskId) { s32 id; struct WindowTemplate winTemplate1, winTemplate2; @@ -2156,10 +2281,10 @@ static void sub_8117F20(u8 taskId) switch (data->state) { case 0: - SetHostRFUtgtGname(data->field_12 + 21, 0, 0); - sub_800B1F4(); + SetHostRFUtgtGname(data->cardOrNews + ACTIVITY_WCARD2, 0, 0); + SetWirelessCommType1(); OpenLink(); - sub_80FBBD8(); + InitializeRfuLinkManager_JoinGroup(); data->field_4 = AllocZeroed(4 * sizeof(struct UnkStruct_x1C)); data->field_0 = AllocZeroed(16 * sizeof(struct UnkStruct_x20)); data->state = 1; @@ -2169,33 +2294,33 @@ static void sub_8117F20(u8 taskId) data->state = 2; break; case 2: - sub_811A650(data->field_4->arr, 4); - sub_811A5E4(data->field_0->arr, 16); - data->field_11 = sub_811A054(data->field_4, data->field_12 + 7); + BlankUnkStruct_x1CArray(data->field_4->arr, 4); + BlankUnkStruct_x20Array(data->field_0->arr, 16); + data->listenTaskId = CreateTask_ListenForPartnersWithCompatibleSerialNos(data->field_4, data->cardOrNews + LINK_GROUP_WONDER_CARD); - winTemplate1 = gUnknown_8456D4C; + winTemplate1 = sWindowTemplate_MysteryGiftList; winTemplate1.baseBlock = GetMysteryGiftBaseBlock(); data->listWindowId = AddWindow(&winTemplate1); - data->field_D = AddWindow(&gUnknown_8456D54); + data->playerNameAndIdWindowId = AddWindow(&sWindowTemplate_MysteryGiftPlayerNameAndId); MG_DrawTextBorder(data->listWindowId); - gMultiuseListMenuTemplate = gUnknown_8456DDC; + gMultiuseListMenuTemplate = sListMenuTemplate_UnionRoomGroups; gMultiuseListMenuTemplate.windowId = data->listWindowId; data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); - MG_DrawTextBorder(data->field_D); - FillWindowPixelBuffer(data->field_D, PIXEL_FILL(1)); - PutWindowTilemap(data->field_D); - sub_8115924(data->field_D); - CopyWindowToVram(data->field_D, 2); + MG_DrawTextBorder(data->playerNameAndIdWindowId); + FillWindowPixelBuffer(data->playerNameAndIdWindowId, PIXEL_FILL(1)); + PutWindowTilemap(data->playerNameAndIdWindowId); + PrintPlayerNameAndIdOnWindow(data->playerNameAndIdWindowId); + CopyWindowToVram(data->playerNameAndIdWindowId, 2); CopyBgTilemapBufferToVram(0); - data->field_F = 0; + data->leaderId = 0; data->state = 3; break; case 3: - id = sub_8116FE4(); + id = GetNewLeaderCandidate(); switch (id) { case 1: @@ -2209,16 +2334,16 @@ static void sub_8117F20(u8 taskId) { // this unused variable along with the assignment is needed to match u32 unusedVar; - unusedVar = data->field_0->arr[id].unk.gname.unk_0a_0; + unusedVar = data->field_0->arr[id].gname_uname.gname.activity; - if (data->field_0->arr[id].field_1A_0 == 1 && !data->field_0->arr[id].unk.gname.unk_0a_7) + if (data->field_0->arr[id].groupScheduledAnim == UNION_ROOM_SPAWN_IN && !data->field_0->arr[id].gname_uname.gname.started) { - data->field_F = id; + data->leaderId = id; LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); RedrawListMenu(data->listTaskId); - IntlConvPartnerUname(gStringVar1, data->field_0->arr[data->field_F]); - sub_80FBF54(data->field_0->arr[data->field_F].unk.playerName, ReadAsU16(data->field_0->arr[data->field_F].unk.gname.unk_00.playerTrainerId)); + IntlConvPartnerUname(gStringVar1, data->field_0->arr[data->leaderId]); + CreateTask_RfuReconnectWithParent(data->field_0->arr[data->leaderId].gname_uname.uname, ReadAsU16(data->field_0->arr[data->leaderId].gname_uname.gname.unk_00.playerTrainerId)); PlaySE(SE_PN_ON); data->state = 4; } @@ -2236,17 +2361,17 @@ static void sub_8117F20(u8 taskId) break; case 4: AddTextPrinterToWindow1(gUnknown_8459238); - IntlConvPartnerUname(gStringVar1, data->field_0->arr[data->field_F]); + IntlConvPartnerUname(gStringVar1, data->field_0->arr[data->leaderId]); data->state = 5; break; case 5: if (gReceivedRemoteLinkPlayers != 0) { - gUnknown_203B058 = data->field_0->arr[data->field_F].unk.gname.unk_0a_0; + sPlayerCurrActivity = data->field_0->arr[data->leaderId].gname_uname.gname.activity; data->state = 10; } - switch (sub_80FB9F4()) + switch (RfuGetErrorStatus()) { case 1: case 2: @@ -2255,7 +2380,7 @@ static void sub_8117F20(u8 taskId) break; case 5: AddTextPrinterToWindow1(gUnknown_84576AC); - sub_80FB9E4(0, 0); + RfuSetErrorStatus(0, 0); break; } break; @@ -2264,19 +2389,19 @@ static void sub_8117F20(u8 taskId) case 10: DestroyListMenuTask(data->listTaskId, 0, 0); CopyBgTilemapBufferToVram(0); - RemoveWindow(data->field_D); + RemoveWindow(data->playerNameAndIdWindowId); RemoveWindow(data->listWindowId); - DestroyTask(data->field_11); + DestroyTask(data->listenTaskId); Free(data->field_0); Free(data->field_4); data->state++; break; case 9: - if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gUnknown_8457838[sub_80FB9F4()])) + if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gUnknown_8457838[RfuGetErrorStatus()])) { DestroyWirelessStatusIndicatorSprite(); DestroyTask(taskId); - sub_80F8DC0(); + LinkRfu_Shutdown(); gSpecialVar_Result = 5; } break; @@ -2284,12 +2409,12 @@ static void sub_8117F20(u8 taskId) DestroyWirelessStatusIndicatorSprite(); AddTextPrinterToWindow1(gUnknown_84571B8); DestroyTask(taskId); - sub_80F8DC0(); + LinkRfu_Shutdown(); gSpecialVar_Result = 5; break; case 11: data->state++; - sub_800AB9C(); + PrepareSendLinkCmd2FFE_or_RfuCmd6600(); break; case 12: if (IsLinkTaskFinished()) @@ -2298,22 +2423,22 @@ static void sub_8117F20(u8 taskId) } } -void MEvent_CreateTask_CardOrNewsOverWireless(u32 arg0) +void MEvent_CreateTask_CardOrNewsOverWireless(u32 activity) { u8 taskId; struct UnkStruct_Group * dataPtr; - taskId = CreateTask(sub_81182DC, 0); + taskId = CreateTask(Task_CardOrNewsOverWireless, 0); sUnionRoomMain.group = dataPtr = (void*)(gTasks[taskId].data); sGroup = dataPtr; dataPtr->state = 0; dataPtr->textState = 0; - dataPtr->field_12 = arg0 - 21; + dataPtr->cardOrNews = activity - ACTIVITY_WCARD2; // 0: Card; 1: News gSpecialVar_Result = 0; } -static void sub_81182DC(u8 taskId) +static void Task_CardOrNewsOverWireless(u8 taskId) { s32 id; struct WindowTemplate winTemplate; @@ -2323,9 +2448,9 @@ static void sub_81182DC(u8 taskId) { case 0: SetHostRFUtgtGname(0, 0, 0); - sub_800B1F4(); + SetWirelessCommType1(); OpenLink(); - sub_80FBBD8(); + InitializeRfuLinkManager_JoinGroup(); data->field_4 = AllocZeroed(4 * sizeof(struct UnkStruct_x1C)); data->field_0 = AllocZeroed(16 * sizeof(struct UnkStruct_x20)); data->state = 1; @@ -2335,29 +2460,29 @@ static void sub_81182DC(u8 taskId) data->state = 2; break; case 2: - sub_811A650(data->field_4->arr, 4); - sub_811A5E4(data->field_0->arr, 16); - data->field_11 = sub_811A084(data->field_4, data->field_12 + 7); + BlankUnkStruct_x1CArray(data->field_4->arr, 4); + BlankUnkStruct_x20Array(data->field_0->arr, 16); + data->listenTaskId = CreateTask_ListenForPartnersWithSerial7F7D(data->field_4, data->cardOrNews + LINK_GROUP_WONDER_CARD); if (data->field_13 != 0) { - winTemplate = gUnknown_8456D4C; + winTemplate = sWindowTemplate_MysteryGiftList; winTemplate.baseBlock = GetMysteryGiftBaseBlock(); data->listWindowId = AddWindow(&winTemplate); MG_DrawTextBorder(data->listWindowId); - gMultiuseListMenuTemplate = gUnknown_8456DDC; + gMultiuseListMenuTemplate = sListMenuTemplate_UnionRoomGroups; gMultiuseListMenuTemplate.windowId = data->listWindowId; data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); CopyBgTilemapBufferToVram(0); } - data->field_F = 0; + data->leaderId = 0; data->state = 3; break; case 3: - id = sub_8116FE4(); + id = GetNewLeaderCandidate(); switch (id) { case 1: @@ -2369,17 +2494,17 @@ static void sub_81182DC(u8 taskId) case 0: if (data->field_13 != 0) id = ListMenu_ProcessInput(data->listTaskId); - if (data->field_14 > 120) + if (data->refreshTimer > 120) { - if (data->field_0->arr[0].field_1A_0 == 1 && !data->field_0->arr[0].unk.gname.unk_0a_7) + if (data->field_0->arr[0].groupScheduledAnim == UNION_ROOM_SPAWN_IN && !data->field_0->arr[0].gname_uname.gname.started) { - if (sub_8119FB0(&data->field_0->arr[0].unk.gname, data->field_12 + 7)) + if (GetGnameWonderFlagByLinkGroup(&data->field_0->arr[0].gname_uname.gname, data->cardOrNews + LINK_GROUP_WONDER_CARD)) { - data->field_F = 0; - data->field_14 = 0; + data->leaderId = 0; + data->refreshTimer = 0; LoadWirelessStatusIndicatorSpriteGfx(); CreateWirelessStatusIndicatorSprite(0, 0); - sub_80FBF54(data->field_0->arr[0].unk.playerName, ReadAsU16(data->field_0->arr[0].unk.gname.unk_00.playerTrainerId)); + CreateTask_RfuReconnectWithParent(data->field_0->arr[0].gname_uname.uname, ReadAsU16(data->field_0->arr[0].gname_uname.gname.unk_00.playerTrainerId)); PlaySE(SE_PN_ON); data->state = 4; } @@ -2393,25 +2518,25 @@ static void sub_81182DC(u8 taskId) else if (JOY_NEW(B_BUTTON)) { data->state = 6; - data->field_14 = 0; + data->refreshTimer = 0; } - data->field_14++; + data->refreshTimer++; break; } break; case 4: AddTextPrinterToWindow1(gUnknown_845928C); - IntlConvPartnerUname(gStringVar1, data->field_0->arr[data->field_F]); + IntlConvPartnerUname(gStringVar1, data->field_0->arr[data->leaderId]); data->state = 5; break; case 5: if (gReceivedRemoteLinkPlayers != 0) { - gUnknown_203B058 = data->field_0->arr[data->field_F].unk.gname.unk_0a_0; + sPlayerCurrActivity = data->field_0->arr[data->leaderId].gname_uname.gname.activity; data->state = 12; } - switch (sub_80FB9F4()) + switch (RfuGetErrorStatus()) { case 1: case 2: @@ -2420,7 +2545,7 @@ static void sub_81182DC(u8 taskId) break; case 5: AddTextPrinterToWindow1(gUnknown_845777C); - sub_80FB9E4(0, 0); + RfuSetErrorStatus(0, 0); break; } break; @@ -2434,7 +2559,7 @@ static void sub_81182DC(u8 taskId) CopyBgTilemapBufferToVram(0); RemoveWindow(data->listWindowId); } - DestroyTask(data->field_11); + DestroyTask(data->listenTaskId); Free(data->field_0); Free(data->field_4); data->state++; @@ -2444,7 +2569,7 @@ static void sub_81182DC(u8 taskId) { DestroyWirelessStatusIndicatorSprite(); DestroyTask(taskId); - sub_80F8DC0(); + LinkRfu_Shutdown(); gSpecialVar_Result = 5; } break; @@ -2453,22 +2578,22 @@ static void sub_81182DC(u8 taskId) { DestroyWirelessStatusIndicatorSprite(); DestroyTask(taskId); - sub_80F8DC0(); + LinkRfu_Shutdown(); gSpecialVar_Result = 5; } break; case 11: - if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gUnknown_845933C[data->field_12])) + if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gUnknown_845933C[data->cardOrNews])) { DestroyWirelessStatusIndicatorSprite(); DestroyTask(taskId); - sub_80F8DC0(); + LinkRfu_Shutdown(); gSpecialVar_Result = 5; } break; case 13: data->state++; - sub_800AB9C(); + PrepareSendLinkCmd2FFE_or_RfuCmd6600(); break; case 14: if (IsLinkTaskFinished()) @@ -2482,7 +2607,7 @@ void UnionRoomSpecial(void) struct UnkStruct_URoom * dataPtr; ClearAndInitHostRFUtgtGname(); - CreateTask(sub_81186E0, 10); + CreateTask(Task_RunUnionRoom, 10); // dumb line needed to match sUnionRoomMain.uRoom = sUnionRoomMain.uRoom; @@ -2497,7 +2622,7 @@ void UnionRoomSpecial(void) dataPtr->field_12 = 0; gSpecialVar_Result = 0; - sub_8107D38(0xD0, 1); + ListMenuLoadStdPalAt(0xD0, 1); } static u16 ReadAsU16(const u8 *ptr) @@ -2505,7 +2630,7 @@ static u16 ReadAsU16(const u8 *ptr) return (ptr[1] << 8) | (ptr[0]); } -static void sub_8118664(u32 nextState, const u8 *src) +static void UnionRoom_ScheduleFieldMessageWithFollowupState(u32 nextState, const u8 *src) { struct UnkStruct_URoom * data = sUnionRoomMain.uRoom; @@ -2515,7 +2640,7 @@ static void sub_8118664(u32 nextState, const u8 *src) StringExpandPlaceholders(gStringVar4, src); } -static void sub_811868C(const u8 *src) +static void UnionRoom_ScheduleFieldMessageAndExit(const u8 *src) { struct UnkStruct_URoom * data = sUnionRoomMain.uRoom; @@ -2524,17 +2649,17 @@ static void sub_811868C(const u8 *src) StringExpandPlaceholders(gStringVar4, src); } -static void sub_81186B0(struct UnkStruct_URoom * data) +static void BackUpURoomField0ToDecompressionBuffer(struct UnkStruct_URoom * data) { - memcpy(&gDecompressionBuffer[0x3F00], data->field_0, 8 * sizeof(struct UnkStruct_x20)); + memcpy(&gDecompressionBuffer[0x3F00], data->field_0, UROOM_MAX_GROUP_COUNT * sizeof(struct UnkStruct_x20)); } -static void sub_81186C8(struct UnkStruct_URoom * data) +static void RestoreURoomField0FromDecompressionBuffer(struct UnkStruct_URoom * data) { - memcpy(data->field_0, &gDecompressionBuffer[0x3F00], 8 * sizeof(struct UnkStruct_x20)); + memcpy(data->field_0, &gDecompressionBuffer[0x3F00], UROOM_MAX_GROUP_COUNT * sizeof(struct UnkStruct_x20)); } -static void sub_81186E0(u8 taskId) +static void Task_RunUnionRoom(u8 taskId) { u32 id = 0; s32 var5 = 0; @@ -2545,53 +2670,53 @@ static void sub_81186E0(u8 taskId) switch (data->state) { case 0: - data->field_4 = AllocZeroed(4 * sizeof(struct UnkStruct_x1C)); - data->field_C = AllocZeroed(4 * sizeof(struct UnkStruct_x1C)); - data->field_0 = AllocZeroed(8 * sizeof(struct UnkStruct_x20)); + data->field_4 = AllocZeroed(RFU_CHILD_MAX * sizeof(struct UnkStruct_x1C)); + data->field_C = AllocZeroed(RFU_CHILD_MAX * sizeof(struct UnkStruct_x1C)); + data->field_0 = AllocZeroed(UROOM_MAX_GROUP_COUNT * sizeof(struct UnkStruct_x20)); data->field_8 = AllocZeroed(sizeof(struct UnkStruct_x20)); - sub_811A5E4(data->field_0->arr, 8); - gUnknown_203B058 = 0x40; - data->field_20 = sub_8119E84(data->field_C, data->field_4, 9); + BlankUnkStruct_x20Array(data->field_0->arr, UROOM_MAX_GROUP_COUNT); + sPlayerCurrActivity = IN_UNION_ROOM; + data->field_20 = CreateTask_SearchForChildOrParent(data->field_C, data->field_4, LINK_GROUP_UNION_ROOM_RESUME); ZeroUnionObjWork(data->unionObjs); - sub_811BB68(); + MakeGroupAssemblyAreasPassable(); data->state = 1; break; case 1: - sub_811BAAC(data->spriteIds, taskData[0]); + CreateGroupMemberObjectsInvisible(data->spriteIds, taskData[0]); if (++taskData[0] == 8) data->state = 2; break; case 2: - SetHostRFUtgtGname(0x40, 0, 0); - sub_80FAFA0(sUnionRoomTrade.type, sUnionRoomTrade.playerSpecies, sUnionRoomTrade.playerLevel); - sub_800B1F4(); + SetHostRFUtgtGname(IN_UNION_ROOM, 0, 0); + RfuUpdatePlayerGnameStateAndSend(sUnionRoomTrade.type, sUnionRoomTrade.playerSpecies, sUnionRoomTrade.playerLevel); + SetWirelessCommType1(); OpenLink(); - sub_80FBC00(); - sub_811A5E4(&data->field_8->arr[0], 1); - sub_811A650(data->field_4->arr, 4); - sub_811A650(data->field_C->arr, 4); + InitializeRfuLinkManager_EnterUnionRoom(); + BlankUnkStruct_x20Array(&data->field_8->arr[0], 1); + BlankUnkStruct_x1CArray(data->field_4->arr, 4); + BlankUnkStruct_x1CArray(data->field_C->arr, 4); gSpecialVar_Result = 0; data->state = 3; break; case 3: if ((GetPartyMenuType() == PARTY_MENU_TYPE_UNION_ROOM_REGISTER - || GetPartyMenuType() == PARTY_MENU_TYPE_UNION_ROOM_TRADE) + || GetPartyMenuType() == PARTY_MENU_TYPE_UNION_ROOM_TRADE) && sUnionRoomTrade.field_0 != 0) { id = GetCursorSelectionMonId(); switch (sUnionRoomTrade.field_0) { case 1: - sub_80FB008(0x54, 0, 1); + UpdateGameDataWithActivitySpriteGendersFlag(ACTIVITY_PLYRTALK | IN_UNION_ROOM, 0, TRUE); if (id >= PARTY_SIZE) { ResetUnionRoomTrade(&sUnionRoomTrade); - sub_80FAFA0(0, 0, 0); - sub_811868C(gUnknown_8458D54); + RfuUpdatePlayerGnameStateAndSend(0, 0, 0); + UnionRoom_ScheduleFieldMessageAndExit(gUnknown_8458D54); } else if (!RegisterTradeMonAndGetIsEgg(GetCursorSelectionMonId(), &sUnionRoomTrade)) { - sub_8118664(0x34, gUnknown_8458CD4); + UnionRoom_ScheduleFieldMessageWithFollowupState(52, gURText_PleaseChooseTypeOfMon); } else { @@ -2599,16 +2724,16 @@ static void sub_81186E0(u8 taskId) } break; case 2: - sub_81186C8(data); + RestoreURoomField0FromDecompressionBuffer(data); taskData[1] = sUnionRoomTrade.field_8; if (id >= PARTY_SIZE) { - sub_811868C(gUnknown_8458D9C); + UnionRoom_ScheduleFieldMessageAndExit(gUnknown_8458D9C); } else { - sub_80FB008(0x54, 0, 1); - gUnknown_203B058 = 0x44; + UpdateGameDataWithActivitySpriteGendersFlag(ACTIVITY_PLYRTALK | IN_UNION_ROOM, 0, TRUE); + sPlayerCurrActivity = ACTIVITY_TRADE | IN_UNION_ROOM; RegisterTradeMon(GetCursorSelectionMonId(), &sUnionRoomTrade); data->state = 51; } @@ -2626,7 +2751,7 @@ static void sub_81186E0(u8 taskId) { if (gSpecialVar_Result == 9) { - sub_80FB008(0x54, 0, 1); + UpdateGameDataWithActivitySpriteGendersFlag(ACTIVITY_PLYRTALK | IN_UNION_ROOM, 0, TRUE); PlaySE(SE_PC_LOGIN); StringCopy(gStringVar1, gSaveBlock2Ptr->playerName); data->state = 42; @@ -2634,7 +2759,7 @@ static void sub_81186E0(u8 taskId) } else if (gSpecialVar_Result == 11) { - sub_80FB008(0x54, 0, 1); + UpdateGameDataWithActivitySpriteGendersFlag(ACTIVITY_PLYRTALK | IN_UNION_ROOM, 0, TRUE); data->state = 23; gSpecialVar_Result = 0; } @@ -2650,98 +2775,98 @@ static void sub_81186E0(u8 taskId) { if (JOY_NEW(A_BUTTON)) { - if (sub_811BF00(data->field_0, &taskData[0], &taskData[1], data->spriteIds)) + if (RfuUnionTool_GetGroupAndMemberInFrontOfPlayer(data->field_0, &taskData[0], &taskData[1], data->spriteIds)) { PlaySE(SE_SELECT); - sub_811B298(); + UR_EnableScriptContext2AndFreezeObjectEvents(); data->state = 24; break; } - else if (sub_811A9B8()) + else if (PlayerIsTalkingToUnionRoomAide()) { - sub_80FB008(0x54, 0, 1); + UpdateGameDataWithActivitySpriteGendersFlag(ACTIVITY_PLYRTALK | IN_UNION_ROOM, 0, TRUE); PlaySE(SE_PC_LOGIN); - sub_811B298(); + UR_EnableScriptContext2AndFreezeObjectEvents(); StringCopy(gStringVar1, gSaveBlock2Ptr->playerName); data->state = 45; break; } } - switch (sub_8119B94()) + switch (HandlePlayerListUpdate()) { case 1: PlaySE(SE_TOY_C); case 2: - sub_811BECC(data); + ScheduleUnionRoomPlayerRefresh(data); break; case 4: data->state = 11; - sub_811B298(); - sub_80FAFA0(0, 0, 0); - sub_80FB008(0x53, sub_811B2D8(data), 0); + UR_EnableScriptContext2AndFreezeObjectEvents(); + RfuUpdatePlayerGnameStateAndSend(0, 0, 0); + UpdateGameDataWithActivitySpriteGendersFlag(ACTIVITY_NPCTALK | IN_UNION_ROOM, GetActivePartnerSpriteGenderParam(data), FALSE); break; } - sub_811BEDC(data); + HandleUnionRoomPlayerRefresh(data); } break; case 23: if (!FuncIsActiveTask(Task_StartMenuHandleInput)) { - sub_80FB008(0x40, 0, 0); + UpdateGameDataWithActivitySpriteGendersFlag(IN_UNION_ROOM, 0, FALSE); data->state = 4; } break; case 24: - sub_811A0E0(); + UR_RunTextPrinters_CheckPrinter0Active(); playerGender = GetUnionRoomPlayerGender(taskData[1], data->field_0); - sub_80FB008(0x54, 0, 1); - switch (sub_811AA5C(data->field_0, taskData[0], taskData[1], playerGender)) + UpdateGameDataWithActivitySpriteGendersFlag(ACTIVITY_PLYRTALK | IN_UNION_ROOM, 0, TRUE); + switch (UnionRoomGetPlayerInteractionResponse(data->field_0, taskData[0], taskData[1], playerGender)) { case 0: data->state = 26; break; case 1: - sub_80FC114(data->field_0->arr[taskData[1]].unk.playerName, &data->field_0->arr[taskData[1]].unk.gname, gUnknown_203B058); + sub_80FC114(data->field_0->arr[taskData[1]].gname_uname.uname, &data->field_0->arr[taskData[1]].gname_uname.gname, sPlayerCurrActivity); data->field_12 = id; // Should be just 0, but won't match any other way. data->state = 25; break; case 2: - sub_8118664(0x13, gStringVar4); + UnionRoom_ScheduleFieldMessageWithFollowupState(19, gStringVar4); break; } break; case 25: - sub_811A0E0(); - switch (sub_80FB9F4()) + UR_RunTextPrinters_CheckPrinter0Active(); + switch (RfuGetErrorStatus()) { case 4: - sub_811B258(TRUE); + HandleCancelTrade(TRUE); data->state = 4; break; case 1: case 2: - if (sub_80FBB0C() == TRUE) - sub_811868C(gUnknown_8457F90); + if (IsUnionRoomListenTaskActive() == TRUE) + UnionRoom_ScheduleFieldMessageAndExit(gUnknown_8457F90); else - sub_8118664(30, gUnknown_8457F90); + UnionRoom_ScheduleFieldMessageWithFollowupState(30, gUnknown_8457F90); - gUnknown_203B058 = 0x40; + sPlayerCurrActivity = IN_UNION_ROOM; break; } if (gReceivedRemoteLinkPlayers != 0) { - sub_8117594(gBlockSendBuffer, TRUE); - CreateTask(sub_8117280, 5); + CreateTrainerCardInBuffer(gBlockSendBuffer, TRUE); + CreateTask(Task_ExchangeCards, 5); data->state = 38; } break; case 38: - if (!FuncIsActiveTask(sub_8117280)) + if (!FuncIsActiveTask(Task_ExchangeCards)) { - if (gUnknown_203B058 == 0x44) - sub_8118664(31, gUnknown_84578BC); + if (sPlayerCurrActivity == (ACTIVITY_TRADE | IN_UNION_ROOM)) + UnionRoom_ScheduleFieldMessageWithFollowupState(31, gUnknown_84578BC); else data->state = 5; } @@ -2749,18 +2874,18 @@ static void sub_81186E0(u8 taskId) case 30: if (gReceivedRemoteLinkPlayers == 0) { - sub_811B258(FALSE); - sub_811C028(taskData[0], taskData[1], data->field_0); + HandleCancelTrade(FALSE); + UpdateUnionGroupMemberFacing(taskData[0], taskData[1], data->field_0); data->state = 2; } break; case 5: - id = sub_811AA24(&data->field_0->arr[taskData[1]]); + id = ConvPartnerUnameAndGetWhetherMetAlready(&data->field_0->arr[taskData[1]]); playerGender = GetUnionRoomPlayerGender(taskData[1], data->field_0); - sub_8118664(6, gUnknown_8457B04[id][playerGender]); + UnionRoom_ScheduleFieldMessageWithFollowupState(6, gURText_FriendPromptsForActivity[id][playerGender]); break; case 6: - var5 = sub_811A218(&data->textState, &data->field_1B, &data->field_1C, &gUnknown_8456DF4, &gUnknown_8456E1C); + var5 = ListMenuHandler_AllItemsAvailable(&data->textState, &data->topListMenuWindowId, &data->topListMenuListMenuId, &sWindowTemplate_InviteToActivity, &sListMenuTemplate_InviteToActivity); if (var5 != -1) { if (gReceivedRemoteLinkPlayers == 0) @@ -2769,27 +2894,27 @@ static void sub_81186E0(u8 taskId) } else { - data->field_98 = 0; + data->partnerYesNoResponse = 0; playerGender = GetUnionRoomPlayerGender(taskData[1], data->field_0); - if (var5 == -2 || var5 == 0x40) + if (var5 == -2 || var5 == IN_UNION_ROOM) { - data->field_4C[0] = 0x40; - sub_80F9E2C(data->field_4C); + data->playerSendBuffer[0] = IN_UNION_ROOM; + RfuPrepareSend0x2f00(data->playerSendBuffer); StringCopy(gStringVar4, gUnknown_845842C[gLinkPlayers[0].gender]); data->state = 32; } else { - gUnknown_203B058 = var5; - gUnknown_203B059 = (u32)(var5) >> 8; - if (gUnknown_203B058 == 0x41 && !HasAtLeastTwoMonsOfLevel30OrLower()) + sPlayerCurrActivity = var5; + sPlayerActivityGroupSize = (u32)(var5) >> 8; + if (sPlayerCurrActivity == (ACTIVITY_BATTLE | IN_UNION_ROOM) && !HasAtLeastTwoMonsOfLevel30OrLower()) { - sub_8118664(5, gUnknown_845847C); + UnionRoom_ScheduleFieldMessageWithFollowupState(5, gUnknown_845847C); } else { - data->field_4C[0] = gUnknown_203B058 | 0x40; - sub_80F9E2C(data->field_4C); + data->playerSendBuffer[0] = sPlayerCurrActivity | IN_UNION_ROOM; + RfuPrepareSend0x2f00(data->playerSendBuffer); data->state = 27; } } @@ -2801,24 +2926,24 @@ static void sub_81186E0(u8 taskId) data->state = 36; break; case 27: - sub_811B0A4(data); + PollPartnerYesNoResponse(data); playerGender = GetUnionRoomPlayerGender(taskData[1], data->field_0); - id = sub_811A9FC(data->field_4C[0] & 0x3F); - if (PrintOnTextbox(&data->textState, gUnknown_84580F4[playerGender][id])) + id = GetResponseIdx_InviteToURoomActivity(data->playerSendBuffer[0] & 0x3F); + if (PrintOnTextbox(&data->textState, gResponseToURoomActivityInviteStringPtrs[playerGender][id])) { taskData[3] = 0; data->state = 29; } break; case 32: - sub_800AAC0(); + Link_TryStartSend5FFF(); data->state = 36; break; case 31: - data->field_4C[0] = 0x44; - data->field_4C[1] = sUnionRoomTrade.species; - data->field_4C[2] = sUnionRoomTrade.level; - sub_80F9E2C(data->field_4C); + data->playerSendBuffer[0] = ACTIVITY_TRADE | IN_UNION_ROOM; + data->playerSendBuffer[1] = sUnionRoomTrade.species; + data->playerSendBuffer[2] = sUnionRoomTrade.level; + RfuPrepareSend0x2f00(data->playerSendBuffer); data->state = 29; break; case 29: @@ -2829,12 +2954,12 @@ static void sub_81186E0(u8 taskId) } else { - sub_811B0A4(data); - if (data->field_98 == 0x51) + PollPartnerYesNoResponse(data); + if (data->partnerYesNoResponse == (ACTIVITY_ACCEPT | IN_UNION_ROOM)) { - if (gUnknown_203B058 == 8) + if (sPlayerCurrActivity == ACTIVITY_CARD) { - sub_811B31C(gStringVar4, data, FALSE); + ViewURoomPartnerTrainerCard(gStringVar4, data, MODE_CHILD); data->state = 40; } else @@ -2842,27 +2967,27 @@ static void sub_81186E0(u8 taskId) data->state = 13; } } - else if (data->field_98 == 0x52) + else if (data->partnerYesNoResponse == (ACTIVITY_DECLINE | IN_UNION_ROOM)) { data->state = 32; - sub_811AE68(gStringVar4, gUnknown_203B058 | 0x40, gLinkPlayers[0].gender); - gUnknown_203B058 = 0; + GetURoomActivityRejectMsg(gStringVar4, sPlayerCurrActivity | IN_UNION_ROOM, gLinkPlayers[0].gender); + sPlayerCurrActivity = 0; } } break; case 7: - id = sub_811AA24(&data->field_0->arr[taskData[1]]); + id = ConvPartnerUnameAndGetWhetherMetAlready(&data->field_0->arr[taskData[1]]); playerGender = GetUnionRoomPlayerGender(taskData[1], data->field_0); - sub_8118664(6, gUnknown_8457B04[id][playerGender]); + UnionRoom_ScheduleFieldMessageWithFollowupState(6, gURText_FriendPromptsForActivity[id][playerGender]); break; case 40: if (PrintOnTextbox(&data->textState, gStringVar4)) { data->state = 41; - sub_800AB9C(); - data->field_98 = 0; - data->field_9A[0] = 0; + PrepareSendLinkCmd2FFE_or_RfuCmd6600(); + data->partnerYesNoResponse = 0; + data->recvActivityRequest[0] = 0; } break; case 41: @@ -2882,13 +3007,13 @@ static void sub_81186E0(u8 taskId) } break; case 19: - switch (sub_811A14C(&data->textState, FALSE)) + switch (UnionRoomHandleYesNo(&data->textState, FALSE)) { case 0: CopyBgTilemapBufferToVram(0); - gUnknown_203B058 = 0x45; - sub_80FB008(0x45, 0, 1); - sub_80FC114(data->field_0->arr[taskData[1]].unk.playerName, &data->field_0->arr[taskData[1]].unk.gname, gUnknown_203B058); + sPlayerCurrActivity = ACTIVITY_CHAT | IN_UNION_ROOM; + UpdateGameDataWithActivitySpriteGendersFlag(ACTIVITY_CHAT | IN_UNION_ROOM, 0, TRUE); + sub_80FC114(data->field_0->arr[taskData[1]].gname_uname.uname, &data->field_0->arr[taskData[1]].gname_uname.gname, sPlayerCurrActivity); data->field_12 = taskData[1]; data->state = 20; taskData[3] = 0; @@ -2896,7 +3021,7 @@ static void sub_81186E0(u8 taskId) case 1: case -1: playerGender = GetUnionRoomPlayerGender(taskData[1], data->field_0); - sub_811868C(gUnknown_8458548[playerGender]); + UnionRoom_ScheduleFieldMessageAndExit(gUnknown_8458548[playerGender]); break; } break; @@ -2908,20 +3033,20 @@ static void sub_81186E0(u8 taskId) } break; case 21: - switch (sub_80FB9F4()) + switch (RfuGetErrorStatus()) { case 4: - sub_811B258(TRUE); + HandleCancelTrade(TRUE); data->state = 4; break; case 1: case 2: playerGender = GetUnionRoomPlayerGender(taskData[1], data->field_0); - sub_80FB008(0x54, 0, 1); - if (sub_80FBB0C() == TRUE) - sub_811868C(gUnknown_84585E8[playerGender]); + UpdateGameDataWithActivitySpriteGendersFlag(ACTIVITY_PLYRTALK | IN_UNION_ROOM, 0, TRUE); + if (IsUnionRoomListenTaskActive() == TRUE) + UnionRoom_ScheduleFieldMessageAndExit(gUnknown_84585E8[playerGender]); else - sub_8118664(30, gUnknown_84585E8[playerGender]); + UnionRoom_ScheduleFieldMessageWithFollowupState(30, gUnknown_84585E8[playerGender]); break; case 3: data->state = 22; @@ -2930,14 +3055,14 @@ static void sub_81186E0(u8 taskId) taskData[3]++; break; case 22: - if (sub_80FBA00()) + if (RfuIsErrorStatus1or2()) { playerGender = GetUnionRoomPlayerGender(taskData[1], data->field_0); - sub_80FB008(0x54, 0, 1); - if (sub_80FBB0C() == TRUE) - sub_811868C(gUnknown_84585E8[playerGender]); + UpdateGameDataWithActivitySpriteGendersFlag(ACTIVITY_PLYRTALK | IN_UNION_ROOM, 0, TRUE); + if (IsUnionRoomListenTaskActive() == TRUE) + UnionRoom_ScheduleFieldMessageAndExit(gUnknown_84585E8[playerGender]); else - sub_8118664(30, gUnknown_84585E8[playerGender]); + UnionRoom_ScheduleFieldMessageWithFollowupState(30, gUnknown_84585E8[playerGender]); } if (gReceivedRemoteLinkPlayers != 0) data->state = 16; @@ -2946,24 +3071,24 @@ static void sub_81186E0(u8 taskId) PlaySE(SE_PINPON); sub_80F8FA0(); data->state = 12; - data->field_9A[0] = 0; + data->recvActivityRequest[0] = 0; break; case 12: - if (sub_80FBA00()) + if (RfuIsErrorStatus1or2()) { - sub_811B258(FALSE); + HandleCancelTrade(FALSE); data->state = 2; } else if (gReceivedRemoteLinkPlayers != 0) { - sub_8117594(gBlockSendBuffer, TRUE); - CreateTask(sub_8117280, 5); + CreateTrainerCardInBuffer(gBlockSendBuffer, TRUE); + CreateTask(Task_ExchangeCards, 5); data->state = 39; } break; case 39: - sub_8119904(data); - if (!FuncIsActiveTask(sub_8117280)) + ReceiveUnionRoomActivityPacket(data); + if (!FuncIsActiveTask(Task_ExchangeCards)) { data->state = 33; StringCopy(gStringVar1, gLinkPlayers[1].name); @@ -2972,13 +3097,13 @@ static void sub_81186E0(u8 taskId) } break; case 33: - sub_8119904(data); + ReceiveUnionRoomActivityPacket(data); if (PrintOnTextbox(&data->textState, gStringVar4)) data->state = 34; break; case 34: - sub_8119904(data); - if (sub_8119944(data) && JOY_NEW(B_BUTTON)) + ReceiveUnionRoomActivityPacket(data); + if (UnionRoom_HandleContactFromOtherPlayer(data) && JOY_NEW(B_BUTTON)) { sub_80FBD6C(1); StringCopy(gStringVar4, gUnknown_8457E60); @@ -2986,80 +3111,82 @@ static void sub_81186E0(u8 taskId) } break; case 35: - sub_8118664(9, gStringVar4); + // You said yes + UnionRoom_ScheduleFieldMessageWithFollowupState(9, gStringVar4); break; case 9: - switch (sub_811A14C(&data->textState, FALSE)) + switch (UnionRoomHandleYesNo(&data->textState, FALSE)) { case 0: - data->field_4C[0] = 0x51; - if (gUnknown_203B058 == 0x45) - sub_80FB008(gUnknown_203B058 | 0x40, sub_811B2A8(1), 0); + data->playerSendBuffer[0] = ACTIVITY_ACCEPT | IN_UNION_ROOM; + if (sPlayerCurrActivity == (ACTIVITY_CHAT | IN_UNION_ROOM)) + UpdateGameDataWithActivitySpriteGendersFlag(sPlayerCurrActivity | IN_UNION_ROOM, GetSinglePartnerSpriteGenderParam(1), FALSE); else - sub_80FB008(gUnknown_203B058 | 0x40, sub_811B2A8(1), 1); + UpdateGameDataWithActivitySpriteGendersFlag(sPlayerCurrActivity | IN_UNION_ROOM, GetSinglePartnerSpriteGenderParam(1), TRUE); data->field_8->arr[0].field_1B = 0; taskData[3] = 0; - if (gUnknown_203B058 == 0x41) + if (sPlayerCurrActivity == (ACTIVITY_BATTLE | IN_UNION_ROOM)) { if (!HasAtLeastTwoMonsOfLevel30OrLower()) { - data->field_4C[0] = 0x52; - sub_80F9E2C(data->field_4C); + data->playerSendBuffer[0] = ACTIVITY_DECLINE | IN_UNION_ROOM; + RfuPrepareSend0x2f00(data->playerSendBuffer); data->state = 10; StringCopy(gStringVar4, gUnknown_84584C0); } else { - sub_80F9E2C(data->field_4C); + RfuPrepareSend0x2f00(data->playerSendBuffer); data->state = 13; } } - else if (gUnknown_203B058 == 0x48) + else if (sPlayerCurrActivity == (ACTIVITY_CARD | IN_UNION_ROOM)) { - sub_80F9E2C(data->field_4C); - sub_811B31C(gStringVar4, data, 1); + RfuPrepareSend0x2f00(data->playerSendBuffer); + ViewURoomPartnerTrainerCard(gStringVar4, data, MODE_PARENT); data->state = 40; } else { - sub_80F9E2C(data->field_4C); + RfuPrepareSend0x2f00(data->playerSendBuffer); data->state = 13; } break; case 1: case -1: - data->field_4C[0] = 0x52; - sub_80F9E2C(data->field_4C); + data->playerSendBuffer[0] = ACTIVITY_DECLINE | IN_UNION_ROOM; + RfuPrepareSend0x2f00(data->playerSendBuffer); data->state = 10; - sub_81162E0(gStringVar4, gUnknown_203B058); + GetYouDeclinedTheOfferMessage(gStringVar4, sPlayerCurrActivity); break; } break; case 10: - sub_800AAC0(); + Link_TryStartSend5FFF(); data->state = 36; break; case 36: + // You said no if (gReceivedRemoteLinkPlayers == 0) { - gUnknown_203B058 = 0x40; - sub_8118664(0x25, gStringVar4); - memset(data->field_4C, 0, sizeof(data->field_4C)); - data->field_9A[0] = 0; - data->field_98 = 0; + sPlayerCurrActivity = IN_UNION_ROOM; + UnionRoom_ScheduleFieldMessageWithFollowupState(37, gStringVar4); + memset(data->playerSendBuffer, 0, sizeof(data->playerSendBuffer)); + data->recvActivityRequest[0] = 0; + data->partnerYesNoResponse = 0; } break; case 37: data->state = 2; - sub_811B258(FALSE); + HandleCancelTrade(FALSE); break; case 13: - sub_811AECC(gStringVar4, gUnknown_203B058 | 0x40); - sub_8118664(14, gStringVar4); + GetURoomActivityStartMsg(gStringVar4, sPlayerCurrActivity | IN_UNION_ROOM); + UnionRoom_ScheduleFieldMessageWithFollowupState(14, gStringVar4); break; case 14: - sub_800AB9C(); + PrepareSendLinkCmd2FFE_or_RfuCmd6600(); data->state = 15; break; case 15: @@ -3072,7 +3199,7 @@ static void sub_81186E0(u8 taskId) Free(data->field_C); Free(data->field_4); DestroyTask(data->field_20); - sub_811BB40(data->spriteIds); + DestroyGroupMemberObjects(data->spriteIds); data->state = 17; break; case 17: @@ -3082,30 +3209,30 @@ static void sub_81186E0(u8 taskId) case 18: if (!UpdatePaletteFade()) { - sub_811BA78(); + DeleteUnionObjWorkAndStopTask(); DestroyTask(taskId); Free(sUnionRoomMain.uRoom); - sub_81179A4(); + CreateTask_StartActivity(); } break; case 42: - if (sub_80F9800()->species == SPECIES_NONE) + if (GetHostRFUtgtGname()->species == SPECIES_NONE) { data->state = 43; } else { - if (sub_80F9800()->species == SPECIES_EGG) + if (GetHostRFUtgtGname()->species == SPECIES_EGG) { StringCopy(gStringVar4, gUnknown_8458DE8); } else { - StringCopy(gStringVar1, gSpeciesNames[sub_80F9800()->species]); - ConvertIntToDecimalStringN(gStringVar2, sub_80F9800()->level, STR_CONV_MODE_LEFT_ALIGN, 3); + StringCopy(gStringVar1, gSpeciesNames[GetHostRFUtgtGname()->species]); + ConvertIntToDecimalStringN(gStringVar2, GetHostRFUtgtGname()->level, STR_CONV_MODE_LEFT_ALIGN, 3); StringExpandPlaceholders(gStringVar4, gUnknown_8458DBC); } - sub_8118664(44, gStringVar4); + UnionRoom_ScheduleFieldMessageWithFollowupState(44, gStringVar4); } break; case 43: @@ -3113,23 +3240,23 @@ static void sub_81186E0(u8 taskId) data->state = 47; break; case 47: - var5 = sub_811A218(&data->textState, &data->field_1D, &data->field_1E, &gUnknown_8456E34, &gUnknown_8456E54); + var5 = ListMenuHandler_AllItemsAvailable(&data->textState, &data->tradeBoardSelectWindowId, &data->tradeBoardDetailsWindowId, &sWindowTemplate_TradeBoardRegisterInfoExit, &sListMenuTemplate_TradeBoardRegisterInfoExit); if (var5 != -1) { if (var5 == -2 || var5 == 3) { data->state = 4; - sub_811B258(TRUE); + HandleCancelTrade(TRUE); } else { switch (var5) { case 1: // REGISTER - sub_8118664(53, gUnknown_8458D1C); + UnionRoom_ScheduleFieldMessageWithFollowupState(53, gUnknown_8458D1C); break; case 2: // INFO - sub_8118664(47, gUnknown_8458B44); + UnionRoom_ScheduleFieldMessageWithFollowupState(47, gUnknown_8458B44); break; } } @@ -3149,7 +3276,7 @@ static void sub_81186E0(u8 taskId) } break; case 52: - var5 = sub_811A218(&data->textState, &data->field_1D, &data->field_1E, &gUnknown_8456E6C, &gUnknown_8456F04); + var5 = ListMenuHandler_AllItemsAvailable(&data->textState, &data->tradeBoardSelectWindowId, &data->tradeBoardDetailsWindowId, &sWindowTemplate_TypeNames, &sListMenuTemplate_TypeNames); if (var5 != -1) { switch (var5) @@ -3157,8 +3284,8 @@ static void sub_81186E0(u8 taskId) case -2: case 18: ResetUnionRoomTrade(&sUnionRoomTrade); - sub_80FAFA0(0, 0, 0); - sub_811868C(gUnknown_8458D54); + RfuUpdatePlayerGnameStateAndSend(0, 0, 0); + UnionRoom_ScheduleFieldMessageAndExit(gUnknown_8458D54); break; default: sUnionRoomTrade.type = var5; @@ -3168,18 +3295,18 @@ static void sub_81186E0(u8 taskId) } break; case 55: - sub_80FAFA0(sUnionRoomTrade.type, sUnionRoomTrade.playerSpecies, sUnionRoomTrade.playerLevel); - sub_811868C(gUnknown_8458D78); + RfuUpdatePlayerGnameStateAndSend(sUnionRoomTrade.type, sUnionRoomTrade.playerSpecies, sUnionRoomTrade.playerLevel); + UnionRoom_ScheduleFieldMessageAndExit(gUnknown_8458D78); break; case 44: - switch (sub_811A14C(&data->textState, FALSE)) + switch (UnionRoomHandleYesNo(&data->textState, FALSE)) { case 0: data->state = 56; break; case 1: case -1: - sub_811B258(TRUE); + HandleCancelTrade(TRUE); data->state = 4; break; } @@ -3187,9 +3314,9 @@ static void sub_81186E0(u8 taskId) case 56: if (PrintOnTextbox(&data->textState, gUnknown_8458E10)) { - sub_80FAFA0(0, 0, 0); + RfuUpdatePlayerGnameStateAndSend(0, 0, 0); ResetUnionRoomTrade(&sUnionRoomTrade); - sub_811B258(TRUE); + HandleCancelTrade(TRUE); data->state = 4; } break; @@ -3198,38 +3325,38 @@ static void sub_81186E0(u8 taskId) data->state = 46; break; case 46: - sub_811A3F8(); + UR_BlankBg0(); data->state = 48; break; case 48: - var5 = sub_811A2EC(&data->textState, &data->field_1D, &data->field_4A, &data->field_1E, &gUnknown_8456F24, &gUnknown_8456F7C, data->field_0); + var5 = TradeBoardMenuHandler(&data->textState, &data->tradeBoardSelectWindowId, &data->tradeBoardListMenuId, &data->tradeBoardDetailsWindowId, &gUnknown_8456F24, &sTradeBoardListMenuTemplate, data->field_0); if (var5 != -1) { switch (var5) { case -2: case 8: - sub_811B258(TRUE); + HandleCancelTrade(TRUE); DestroyHelpMessageWindow_(); data->state = 4; break; default: - switch (sub_811ADD0(data->field_0->arr[var5].unk.gname.type, data->field_0->arr[var5].unk.gname.species)) + switch (IsRequestedTypeAndSpeciesInPlayerParty(data->field_0->arr[var5].gname_uname.gname.type, data->field_0->arr[var5].gname_uname.gname.species)) { - case 0: + case UR_TRADE_MATCH: IntlConvPartnerUname(gStringVar1, data->field_0->arr[var5]); - sub_8118664(49, gUnknown_8458E70); + UnionRoom_ScheduleFieldMessageWithFollowupState(49, gUnknown_8458E70); taskData[1] = var5; break; - case 1: + case UR_TRADE_NOTYPE: IntlConvPartnerUname(gStringVar1, data->field_0->arr[var5]); - StringCopy(gStringVar2, gTypeNames[data->field_0->arr[var5].unk.gname.type]); - sub_8118664(46, gUnknown_8458ED0); + StringCopy(gStringVar2, gTypeNames[data->field_0->arr[var5].gname_uname.gname.type]); + UnionRoom_ScheduleFieldMessageWithFollowupState(46, gUnknown_8458ED0); break; - case 2: + case UR_TRADE_NOEGG: IntlConvPartnerUname(gStringVar1, data->field_0->arr[var5]); - StringCopy(gStringVar2, gTypeNames[data->field_0->arr[var5].unk.gname.type]); - sub_8118664(46, gUnknown_8458F04); + StringCopy(gStringVar2, gTypeNames[data->field_0->arr[var5].gname_uname.gname.type]); + UnionRoom_ScheduleFieldMessageWithFollowupState(46, gUnknown_8458F04); break; } break; @@ -3237,14 +3364,14 @@ static void sub_81186E0(u8 taskId) } break; case 49: - switch (sub_811A14C(&data->textState, FALSE)) + switch (UnionRoomHandleYesNo(&data->textState, FALSE)) { case 0: data->state = 50; break; case -1: case 1: - sub_811B258(TRUE); + HandleCancelTrade(TRUE); data->state = 4; break; } @@ -3253,27 +3380,27 @@ static void sub_81186E0(u8 taskId) if (PrintOnTextbox(&data->textState, gUnknown_8458D1C)) { sUnionRoomTrade.field_0 = 2; - memcpy(&gUnknown_203B064, &data->field_0->arr[taskData[1]].unk.gname.unk_00, sizeof(gUnknown_203B064)); - gUnionRoomRequestedMonType = data->field_0->arr[taskData[1]].unk.gname.type; - gUnionRoomOfferedSpecies = data->field_0->arr[taskData[1]].unk.gname.species; + memcpy(&gPartnerTgtGnameSub, &data->field_0->arr[taskData[1]].gname_uname.gname.unk_00, sizeof(gPartnerTgtGnameSub)); + gUnionRoomRequestedMonType = data->field_0->arr[taskData[1]].gname_uname.gname.type; + gUnionRoomOfferedSpecies = data->field_0->arr[taskData[1]].gname_uname.gname.species; gFieldCallback = sub_807DCE4; ChooseMonForTradingBoard(PARTY_MENU_TYPE_UNION_ROOM_TRADE, CB2_ReturnToField); - sub_81186B0(data); + BackUpURoomField0ToDecompressionBuffer(data); sUnionRoomTrade.field_8 = taskData[1]; } break; case 51: - gUnknown_203B058 = 0x44; - sub_80FC114(data->field_0->arr[taskData[1]].unk.playerName, &data->field_0->arr[taskData[1]].unk.gname, 0x44); + sPlayerCurrActivity = ACTIVITY_TRADE | IN_UNION_ROOM; + sub_80FC114(data->field_0->arr[taskData[1]].gname_uname.uname, &data->field_0->arr[taskData[1]].gname_uname.gname, ACTIVITY_TRADE | IN_UNION_ROOM); IntlConvPartnerUname(gStringVar1, data->field_0->arr[taskData[1]]); - sub_811A0B4(gUnknown_8457A34[2]); + UR_PrintFieldMessage(gURText_PleaseWaitMsgs[2]); data->state = 25; break; case 26: if (PrintOnTextbox(&data->textState, gStringVar4)) { - sub_811B258(TRUE); - sub_811C028(taskData[0], taskData[1], data->field_0); + HandleCancelTrade(TRUE); + UpdateUnionGroupMemberFacing(taskData[0], taskData[1], data->field_0); data->state = 4; } break; @@ -3290,38 +3417,38 @@ void var_800D_set_xB(void) gSpecialVar_Result = 11; } -static void sub_8119904(struct UnkStruct_URoom * arg0) +static void ReceiveUnionRoomActivityPacket(struct UnkStruct_URoom * uroom) { - if (gRecvCmds[1][1] != 0 && (gRecvCmds[1][0] & 0xFF00) == 0x2F00) + if (gRecvCmds[1][1] != 0 && (gRecvCmds[1][0] & 0xFF00) == RFU_COMMAND_0x2f00) { - arg0->field_9A[0] = gRecvCmds[1][1]; - if (gRecvCmds[1][1] == 0x44) + uroom->recvActivityRequest[0] = gRecvCmds[1][1]; + if (gRecvCmds[1][1] == (ACTIVITY_TRADE | IN_UNION_ROOM)) { - arg0->field_9A[1] = gRecvCmds[1][2]; - arg0->field_9A[2] = gRecvCmds[1][3]; + uroom->recvActivityRequest[1] = gRecvCmds[1][2]; + uroom->recvActivityRequest[2] = gRecvCmds[1][3]; } } } -static bool32 sub_8119944(struct UnkStruct_URoom * arg0) +static bool32 UnionRoom_HandleContactFromOtherPlayer(struct UnkStruct_URoom * uroom) { - if (arg0->field_9A[0] != 0) + if (uroom->recvActivityRequest[0] != 0) { - s32 var = sub_811AF6C(gStringVar4, gLinkPlayers[1].gender, &arg0->field_9A[0], arg0); + s32 var = GetChatLeaderActionRequestMessage(gStringVar4, gLinkPlayers[1].gender, &uroom->recvActivityRequest[0], uroom); if (var == 0) { return TRUE; } else if (var == 1) { - arg0->state = 35; - gUnknown_203B058 = arg0->field_9A[0]; + uroom->state = 35; + sPlayerCurrActivity = uroom->recvActivityRequest[0]; return FALSE; } else if (var == 2) { - arg0->state = 36; - sub_800AAC0(); + uroom->state = 36; + Link_TryStartSend5FFF(); return FALSE; } } @@ -3336,7 +3463,7 @@ void InitUnionRoom(void) sUnionRoomPlayerName[0] = EOS; if (gQuestLogState == 2 || gQuestLogState == 3) return; - CreateTask(sub_81199FC, 0); + CreateTask(Task_InitUnionRoom, 0); sUnionRoomMain.uRoom = sUnionRoomMain.uRoom; // Needed to match. sUnionRoomMain.uRoom = ptr = AllocZeroed(sizeof(struct UnkStruct_URoom)); sURoom = sUnionRoomMain.uRoom; @@ -3347,7 +3474,7 @@ void InitUnionRoom(void) sUnionRoomPlayerName[0] = EOS; } -static void sub_81199FC(u8 taskId) +static void Task_InitUnionRoom(u8 taskId) { s32 i; u8 text[32]; @@ -3359,27 +3486,27 @@ static void sub_81199FC(u8 taskId) structPtr->state = 1; break; case 1: - SetHostRFUtgtGname(0xC, 0, 0); - sub_800B1F4(); + SetHostRFUtgtGname(ACTIVITY_SEARCH, 0, 0); + SetWirelessCommType1(); OpenLink(); - sub_80FBC00(); - sub_80FB128(1); + InitializeRfuLinkManager_EnterUnionRoom(); + sub_80FB128(TRUE); structPtr->state = 2; break; case 2: structPtr->field_4 = AllocZeroed(4 * sizeof(struct UnkStruct_x1C)); - sub_811A650(structPtr->field_4->arr, 4); + BlankUnkStruct_x1CArray(structPtr->field_4->arr, 4); structPtr->field_C = AllocZeroed(4 * sizeof(struct UnkStruct_x1C)); - sub_811A650(structPtr->field_C->arr, 4); - structPtr->field_0 = AllocZeroed(8 * sizeof(struct UnkStruct_x20)); - sub_811A5E4(structPtr->field_0->arr, 8); + BlankUnkStruct_x1CArray(structPtr->field_C->arr, 4); + structPtr->field_0 = AllocZeroed(UROOM_MAX_GROUP_COUNT * sizeof(struct UnkStruct_x20)); + BlankUnkStruct_x20Array(structPtr->field_0->arr, UROOM_MAX_GROUP_COUNT); structPtr->field_8 = AllocZeroed(sizeof(struct UnkStruct_x20)); - sub_811A5E4(&structPtr->field_8->arr[0], 1); - structPtr->field_20 = sub_8119E84(structPtr->field_C, structPtr->field_4, 10); + BlankUnkStruct_x20Array(&structPtr->field_8->arr[0], 1); + structPtr->field_20 = CreateTask_SearchForChildOrParent(structPtr->field_C, structPtr->field_4, LINK_GROUP_UNION_ROOM_INIT); structPtr->state = 3; break; case 3: - switch (sub_8119B94()) + switch (HandlePlayerListUpdate()) { case 1: case 2: @@ -3387,10 +3514,10 @@ static void sub_81199FC(u8 taskId) { for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++) { - if (structPtr->field_0->arr[i].field_1A_0 == 1) + if (structPtr->field_0->arr[i].groupScheduledAnim == UNION_ROOM_SPAWN_IN) { IntlConvPartnerUname(text, structPtr->field_0->arr[i]); - if (PlayerHasMetTrainerBefore(ReadAsU16(structPtr->field_0->arr[i].unk.gname.unk_00.playerTrainerId), text)) + if (PlayerHasMetTrainerBefore(ReadAsU16(structPtr->field_0->arr[i].gname_uname.gname.unk_00.playerTrainerId), text)) { StringCopy(sUnionRoomPlayerName, text); break; @@ -3410,7 +3537,7 @@ static void sub_81199FC(u8 taskId) Free(structPtr->field_4); DestroyTask(structPtr->field_20); Free(sUnionRoomMain.uRoom); - sub_80F8DC0(); + LinkRfu_Shutdown(); DestroyTask(taskId); break; } @@ -3430,36 +3557,41 @@ bool16 BufferUnionRoomPlayerName(void) } } -static u8 sub_8119B94(void) +static u8 HandlePlayerListUpdate(void) { s32 i; u8 j; struct UnkStruct_URoom * structPtr = sUnionRoomMain.uRoom; s32 r7 = 0; - for (i = 0; i < 4; i++) + // If someone new joined, register them in field_8 + for (i = 0; i < RFU_CHILD_MAX; i++) { - if (sub_811A694(&structPtr->field_C->arr[i].unk0, &gUnknown_8457034) == TRUE) + if (AreGnameUnameDifferent(&structPtr->field_C->arr[i].gname_uname, &sUnionGnameUnamePair_Dummy) == TRUE) { - structPtr->field_8->arr[0].unk = structPtr->field_C->arr[i].unk0; + structPtr->field_8->arr[0].gname_uname = structPtr->field_C->arr[i].gname_uname; structPtr->field_8->arr[0].field_18 = 0; - structPtr->field_8->arr[0].field_1A_0 = 1; + structPtr->field_8->arr[0].groupScheduledAnim = UNION_ROOM_SPAWN_IN; structPtr->field_8->arr[0].field_1B = 1; return 4; } } - for (j = 0; j < 8; j++) + + // Handle changes to existing player statuses + for (j = 0; j < UROOM_MAX_GROUP_COUNT; j++) { - if (structPtr->field_0->arr[j].field_1A_0 != 0) + if (structPtr->field_0->arr[j].groupScheduledAnim != UNION_ROOM_SPAWN_NONE) { - i = sub_811A748(&structPtr->field_0->arr[j], &structPtr->field_4->arr[0]); + i = Findx20Inx1CArray(&structPtr->field_0->arr[j], &structPtr->field_4->arr[0]); if (i != 0xFF) { - if (structPtr->field_0->arr[j].field_1A_0 == 1) + if (structPtr->field_0->arr[j].groupScheduledAnim == UNION_ROOM_SPAWN_IN) { - if (sub_811A6DC(&structPtr->field_0->arr[j].unk, &structPtr->field_4->arr[i].unk0)) + // New join in queue + if (AreUnionRoomPlayerGnamesDifferent(&structPtr->field_0->arr[j].gname_uname, &structPtr->field_4->arr[i].gname_uname)) { - structPtr->field_0->arr[j].unk = structPtr->field_4->arr[i].unk0; + // Just joined, copy their names + structPtr->field_0->arr[j].gname_uname = structPtr->field_4->arr[i].gname_uname; structPtr->field_0->arr[j].field_1B = 0x40; r7 = 1; } @@ -3472,116 +3604,121 @@ static u8 sub_8119B94(void) } else { - structPtr->field_0->arr[j].field_1A_0 = 1; + // New join, queue them + structPtr->field_0->arr[j].groupScheduledAnim = UNION_ROOM_SPAWN_IN; structPtr->field_0->arr[j].field_1B = 0; r7 = 2; } structPtr->field_0->arr[j].field_18 = 0; } - else if (structPtr->field_0->arr[j].field_1A_0 != 2) + else if (structPtr->field_0->arr[j].groupScheduledAnim != UNION_ROOM_SPAWN_OUT) { + // Person may have disconnected. Give them 10 seconds. structPtr->field_0->arr[j].field_18++; if (structPtr->field_0->arr[j].field_18 >= 600) { - structPtr->field_0->arr[j].field_1A_0 = 2; + structPtr->field_0->arr[j].groupScheduledAnim = UNION_ROOM_SPAWN_OUT; r7 = 2; } } - else if (structPtr->field_0->arr[j].field_1A_0 == 2) + else if (structPtr->field_0->arr[j].groupScheduledAnim == UNION_ROOM_SPAWN_OUT) { + // Person dropped. Wait 15 seconds, then remove them. structPtr->field_0->arr[j].field_18++; if (structPtr->field_0->arr[j].field_18 >= 900) { - sub_811A5E4(&structPtr->field_0->arr[j], 1); + BlankUnkStruct_x20Array(&structPtr->field_0->arr[j], 1); } } } } - for (i = 0; i < 4; i++) + + // Update the players list + for (i = 0; i < RFU_CHILD_MAX; i++) { - if (sub_811A798(&structPtr->field_0->arr[0], &structPtr->field_4->arr[i], 8) != 0xFF) + if (Appendx1Ctox20(&structPtr->field_0->arr[0], &structPtr->field_4->arr[i], UROOM_MAX_GROUP_COUNT) != 0xFF) r7 = 1; } return r7; } -static void sub_8119D34(u8 taskId) +static void Task_SearchForChildOrParent(u8 taskId) { s32 i, j; - struct UnkStruct_Shared sp0; + struct UnionGnameUnamePair gname_uname; struct UnkStruct_Main4 ** ptr = (void*) gTasks[taskId].data; - bool8 r4; + bool8 parent_child; - for (i = 0; i < 4; i++) + for (i = 0; i < RFU_CHILD_MAX; i++) { - r4 = sub_80FCC3C(&sp0.gname, sp0.playerName, i); - if (!sub_8116F28(sp0.gname.unk_0a_0, gTasks[taskId].data[4])) + parent_child = LinkRfu_GetNameIfCompatible(&gname_uname.gname, gname_uname.uname, i); + if (!IsPartnerActivityAcceptable(gname_uname.gname.activity, gTasks[taskId].data[4])) { - sp0 = gUnknown_8457034; + gname_uname = sUnionGnameUnamePair_Dummy; } - if (sp0.gname.unk_00.unk_00_0 == 1) + if (gname_uname.gname.unk_00.language == LANGUAGE_JAPANESE) { - sp0 = gUnknown_8457034; + gname_uname = sUnionGnameUnamePair_Dummy; } - if (!r4) + if (parent_child == MODE_CHILD) { for (j = 0; j < i; j++) { - if (!sub_811A694(&ptr[1]->arr[j].unk0, &sp0)) + if (!AreGnameUnameDifferent(&ptr[1]->arr[j].gname_uname, &gname_uname)) { - sp0 = gUnknown_8457034; + gname_uname = sUnionGnameUnamePair_Dummy; } } - ptr[1]->arr[i].unk0 = sp0; - ptr[1]->arr[i].unk18 = sub_811A694(&ptr[1]->arr[i].unk0, &gUnknown_8457034); + ptr[1]->arr[i].gname_uname = gname_uname; + ptr[1]->arr[i].active = AreGnameUnameDifferent(&ptr[1]->arr[i].gname_uname, &sUnionGnameUnamePair_Dummy); } else { - ptr[0]->arr[i].unk0 = sp0; - ptr[0]->arr[i].unk18 = sub_811A694(&ptr[0]->arr[i].unk0, &gUnknown_8457034); + ptr[0]->arr[i].gname_uname = gname_uname; + ptr[0]->arr[i].active = AreGnameUnameDifferent(&ptr[0]->arr[i].gname_uname, &sUnionGnameUnamePair_Dummy); } } } -static u8 sub_8119E84(struct UnkStruct_Main4 * a0, struct UnkStruct_Main4 * a1, u32 a2) +static u8 CreateTask_SearchForChildOrParent(struct UnkStruct_Main4 * main4_parent, struct UnkStruct_Main4 * main4_child, u32 linkGroup) { - u8 taskId = CreateTask(sub_8119D34, 0); + u8 taskId = CreateTask(Task_SearchForChildOrParent, 0); struct UnkStruct_Main4 ** data = (void *)gTasks[taskId].data; - data[0] = a0; - data[1] = a1; - gTasks[taskId].data[4] = a2; + data[0] = main4_parent; + data[1] = main4_child; + gTasks[taskId].data[4] = linkGroup; return taskId; } -static void sub_8119EB8(u8 taskId) +static void Task_ListenForPartnersWithCompatibleSerialNos(u8 taskId) { s32 i, j; struct UnkStruct_Main4 ** ptr = (void*) gTasks[taskId].data; - for (i = 0; i < 4; i++) + for (i = 0; i < RFU_CHILD_MAX; i++) { - sub_80FCC3C(&ptr[0]->arr[i].unk0.gname, ptr[0]->arr[i].unk0.playerName, i); - if (!sub_8116F28(ptr[0]->arr[i].unk0.gname.unk_0a_0, gTasks[taskId].data[2])) + LinkRfu_GetNameIfCompatible(&ptr[0]->arr[i].gname_uname.gname, ptr[0]->arr[i].gname_uname.uname, i); + if (!IsPartnerActivityAcceptable(ptr[0]->arr[i].gname_uname.gname.activity, gTasks[taskId].data[2])) { - ptr[0]->arr[i].unk0 = gUnknown_8457034; + ptr[0]->arr[i].gname_uname = sUnionGnameUnamePair_Dummy; } for (j = 0; j < i; j++) { - if (!sub_811A694(&ptr[0]->arr[j].unk0, &ptr[0]->arr[i].unk0)) + if (!AreGnameUnameDifferent(&ptr[0]->arr[j].gname_uname, &ptr[0]->arr[i].gname_uname)) { - ptr[0]->arr[i].unk0 = gUnknown_8457034; + ptr[0]->arr[i].gname_uname = sUnionGnameUnamePair_Dummy; } } - ptr[0]->arr[i].unk18 = sub_811A694(&ptr[0]->arr[i].unk0, &gUnknown_8457034); + ptr[0]->arr[i].active = AreGnameUnameDifferent(&ptr[0]->arr[i].gname_uname, &sUnionGnameUnamePair_Dummy); } } -static bool32 sub_8119FB0(struct GFtgtGname * arg0, s16 arg1) +static bool32 GetGnameWonderFlagByLinkGroup(struct GFtgtGname * gname, s16 linkGroup) { - if (arg1 == 7) + if (linkGroup == LINK_GROUP_WONDER_CARD) { - if (!arg0->unk_00.unk_00_5) + if (!gname->unk_00.hasCard) { return FALSE; } @@ -3590,9 +3727,9 @@ static bool32 sub_8119FB0(struct GFtgtGname * arg0, s16 arg1) return TRUE; } } - else if (arg1 == 8) + else if (linkGroup == LINK_GROUP_WONDER_NEWS) { - if (!arg0->unk_00.unk_00_4) + if (!gname->unk_00.hasNews) { return FALSE; } @@ -3607,40 +3744,40 @@ static bool32 sub_8119FB0(struct GFtgtGname * arg0, s16 arg1) } } -static void sub_8119FD8(u8 taskId) +static void Task_ListenForPartnersWithSerial7F7D(u8 taskId) { s32 i; struct UnkStruct_Main4 ** ptr = (void*) gTasks[taskId].data; - for (i = 0; i < 4; i++) + for (i = 0; i < RFU_CHILD_MAX; i++) { - if (sub_80FCCF4(&ptr[0]->arr[i].unk0.gname, ptr[0]->arr[i].unk0.playerName, i)) + if (LinkRfu_GetNameIfSerial7F7D(&ptr[0]->arr[i].gname_uname.gname, ptr[0]->arr[i].gname_uname.uname, i)) { - sub_8119FB0(&ptr[0]->arr[i].unk0.gname, gTasks[taskId].data[2]); + GetGnameWonderFlagByLinkGroup(&ptr[0]->arr[i].gname_uname.gname, gTasks[taskId].data[2]); } - ptr[0]->arr[i].unk18 = sub_811A694(&ptr[0]->arr[i].unk0, &gUnknown_8457034); + ptr[0]->arr[i].active = AreGnameUnameDifferent(&ptr[0]->arr[i].gname_uname, &sUnionGnameUnamePair_Dummy); } } -static u8 sub_811A054(struct UnkStruct_Main4 * a0, u32 a1) +static u8 CreateTask_ListenForPartnersWithCompatibleSerialNos(struct UnkStruct_Main4 * main4, u32 linkGroup) { - u8 taskId = CreateTask(sub_8119EB8, 0); + u8 taskId = CreateTask(Task_ListenForPartnersWithCompatibleSerialNos, 0); struct UnkStruct_Main4 ** ptr = (void*) gTasks[taskId].data; - ptr[0] = a0; - gTasks[taskId].data[2] = a1; + ptr[0] = main4; + gTasks[taskId].data[2] = linkGroup; return taskId; } -static u8 sub_811A084(struct UnkStruct_Main4 * a0, u32 a1) +static u8 CreateTask_ListenForPartnersWithSerial7F7D(struct UnkStruct_Main4 * main4, u32 linkGroup) { - u8 taskId = CreateTask(sub_8119FD8, 0); + u8 taskId = CreateTask(Task_ListenForPartnersWithSerial7F7D, 0); struct UnkStruct_Main4 ** ptr = (void*) gTasks[taskId].data; - ptr[0] = a0; - gTasks[taskId].data[2] = a1; + ptr[0] = main4; + gTasks[taskId].data[2] = linkGroup; return taskId; } -static bool32 sub_811A0B4(const u8 *src) +static bool32 UR_PrintFieldMessage(const u8 *src) { LoadStdWindowFrameGfx(); DrawDialogueFrame(0, 1); @@ -3649,7 +3786,7 @@ static bool32 sub_811A0B4(const u8 *src) return FALSE; } -static bool32 sub_811A0E0(void) +static bool32 UR_RunTextPrinters_CheckPrinter0Active(void) { if (!RunTextPrinters_CheckPrinter0Active()) { @@ -3683,31 +3820,31 @@ static bool8 PrintOnTextbox(u8 *textState, const u8 *str) return FALSE; } -static s8 sub_811A14C(u8 *arg0, bool32 arg1) +static s8 UnionRoomHandleYesNo(u8 *state_p, bool32 no_draw) { s8 r1; - switch (*arg0) + switch (*state_p) { case 0: - if (arg1) + if (no_draw) { return -3; } DisplayYesNoMenuDefaultYes(); - (*arg0)++; + (*state_p)++; break; case 1: - if (arg1) + if (no_draw) { DestroyYesNoMenu(); - *arg0 = 0; + *state_p = 0; return -3; } r1 = Menu_ProcessInputNoWrapClearOnChoose(); if (r1 == -1 || r1 == 0 || r1 == 1) { - *arg0 = 0; + *state_p = 0; return r1; } break; @@ -3715,54 +3852,54 @@ static s8 sub_811A14C(u8 *arg0, bool32 arg1) return -2; } -static u8 sub_811A1AC(const struct WindowTemplate * template) +static u8 CreateTradeBoardWindow(const struct WindowTemplate * template) { u8 windowId = AddWindow(template); DrawStdWindowFrame(windowId, FALSE); FillWindowPixelBuffer(windowId, PIXEL_FILL(15)); - sub_811A444(windowId, 0, gUnknown_8459378, 8, 1, 6); + UR_AddTextPrinterParameterized(windowId, 0, gUnknown_8459378, 8, 1, UR_COLOR_DN5_DN6_LTB); PutWindowTilemap(windowId); CopyWindowToVram(windowId, 2); return windowId; } -static void sub_811A1FC(u8 windowId) +static void DeleteTradeBoardWindow(u8 windowId) { ClearStdWindowAndFrame(windowId, TRUE); RemoveWindow(windowId); } -static s32 sub_811A218(u8 *arg0, u8 *arg1, u8 *arg2, const struct WindowTemplate * winTemplate, const struct ListMenuTemplate * menuTemplate) +static s32 ListMenuHandler_AllItemsAvailable(u8 *state_p, u8 *win_id_p, u8 *list_menu_id_p, const struct WindowTemplate * winTemplate, const struct ListMenuTemplate * menuTemplate) { - s32 r1, r8; + s32 input; - switch (*arg0) + switch (*state_p) { case 0: - *arg1 = AddWindow(winTemplate); - DrawStdWindowFrame(*arg1, FALSE); + *win_id_p = AddWindow(winTemplate); + DrawStdWindowFrame(*win_id_p, FALSE); gMultiuseListMenuTemplate = *menuTemplate; - gMultiuseListMenuTemplate.windowId = *arg1; - *arg2 = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); - CopyWindowToVram(*arg1, TRUE); - (*arg0)++; + gMultiuseListMenuTemplate.windowId = *win_id_p; + *list_menu_id_p = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); + CopyWindowToVram(*win_id_p, TRUE); + (*state_p)++; break; case 1: - r8 = ListMenu_ProcessInput(*arg2); + input = ListMenu_ProcessInput(*list_menu_id_p); if (JOY_NEW(A_BUTTON)) { - DestroyListMenuTask(*arg2, NULL, NULL); - ClearStdWindowAndFrame(*arg1, TRUE); - RemoveWindow(*arg1); - *arg0 = 0; - return r8; + DestroyListMenuTask(*list_menu_id_p, NULL, NULL); + ClearStdWindowAndFrame(*win_id_p, TRUE); + RemoveWindow(*win_id_p); + *state_p = 0; + return input; } else if (JOY_NEW(B_BUTTON)) { - DestroyListMenuTask(*arg2, NULL, NULL); - ClearStdWindowAndFrame(*arg1, TRUE); - RemoveWindow(*arg1); - *arg0 = 0; + DestroyListMenuTask(*list_menu_id_p, NULL, NULL); + ClearStdWindowAndFrame(*win_id_p, TRUE); + RemoveWindow(*win_id_p); + *state_p = 0; return -2; } break; @@ -3771,46 +3908,46 @@ static s32 sub_811A218(u8 *arg0, u8 *arg1, u8 *arg2, const struct WindowTemplate return -1; } -static s32 sub_811A2EC(u8 *arg0, u8 *arg1, u8 *arg2, u8 *arg3, const struct WindowTemplate * winTemplate, const struct ListMenuTemplate * menuTemplate, struct UnkStruct_Main0 * arg6) +static s32 TradeBoardMenuHandler(u8 *state_p, u8 *win_id_p, u8 *list_menu_id_p, u8 *trade_board_win_id_p, const struct WindowTemplate * winTemplate, const struct ListMenuTemplate * menuTemplate, struct UnkStruct_Main0 * traders) { s32 input; s32 r4; - switch (*arg0) + switch (*state_p) { case 0: - *arg3 = sub_811A1AC(&gUnknown_8456F1C); - *arg1 = AddWindow(winTemplate); - DrawStdWindowFrame(*arg1, FALSE); + *trade_board_win_id_p = CreateTradeBoardWindow(&sTradeBoardWindowTemplate); + *win_id_p = AddWindow(winTemplate); + DrawStdWindowFrame(*win_id_p, FALSE); gMultiuseListMenuTemplate = *menuTemplate; - gMultiuseListMenuTemplate.windowId = *arg1; - *arg2 = ListMenuInit(&gMultiuseListMenuTemplate, 0, 1); - CopyWindowToVram(*arg1, TRUE); - (*arg0)++; + gMultiuseListMenuTemplate.windowId = *win_id_p; + *list_menu_id_p = ListMenuInit(&gMultiuseListMenuTemplate, 0, 1); + CopyWindowToVram(*win_id_p, TRUE); + (*state_p)++; break; case 1: - input = ListMenu_ProcessInput(*arg2); + input = ListMenu_ProcessInput(*list_menu_id_p); if (JOY_NEW(A_BUTTON | B_BUTTON)) { - if (input == 8 || JOY_NEW(B_BUTTON)) + if (input == UROOM_MAX_GROUP_COUNT || JOY_NEW(B_BUTTON)) { - DestroyListMenuTask(*arg2, NULL, NULL); - ClearStdWindowAndFrame(*arg1, TRUE); - RemoveWindow(*arg1); - sub_811A1FC(*arg3); - *arg0 = 0; + DestroyListMenuTask(*list_menu_id_p, NULL, NULL); + ClearStdWindowAndFrame(*win_id_p, TRUE); + RemoveWindow(*win_id_p); + DeleteTradeBoardWindow(*trade_board_win_id_p); + *state_p = 0; return -2; } else { - r4 = sub_811AD7C(arg6->arr, input); + r4 = GetIndexOfNthTradeBoardOffer(traders->arr, input); if (r4 >= 0) { - DestroyListMenuTask(*arg2, NULL, NULL); - ClearStdWindowAndFrame(*arg1, TRUE); - RemoveWindow(*arg1); - sub_811A1FC(*arg3); - *arg0 = 0; + DestroyListMenuTask(*list_menu_id_p, NULL, NULL); + ClearStdWindowAndFrame(*win_id_p, TRUE); + RemoveWindow(*win_id_p); + DeleteTradeBoardWindow(*trade_board_win_id_p); + *state_p = 0; return r4; } else @@ -3825,20 +3962,20 @@ static s32 sub_811A2EC(u8 *arg0, u8 *arg1, u8 *arg2, u8 *arg3, const struct Wind return -1; } -static void sub_811A3F8(void) +static void UR_BlankBg0(void) { FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 0); CopyBgTilemapBufferToVram(0); } -static void sub_811A41C(void) +static void JoinGroup_BlankBg0AndEnableScriptContexts(void) { FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 0); CopyBgTilemapBufferToVram(0); EnableBothScriptContexts(); } -static void sub_811A444(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 colorIdx) +static void UR_AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 colorIdx) { struct TextPrinterTemplate printerTemplate; @@ -3854,100 +3991,100 @@ static void sub_811A444(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 co gTextFlags.useAlternateDownArrow = FALSE; switch (colorIdx) { - case 0: + case UR_COLOR_DKE_WHT_LTE: printerTemplate.letterSpacing = 0; printerTemplate.lineSpacing = 0; - printerTemplate.fgColor = 2; - printerTemplate.bgColor = 1; - printerTemplate.shadowColor = 3; + printerTemplate.fgColor = TEXT_COLOR_DARK_GREY; + printerTemplate.bgColor = TEXT_COLOR_WHITE; + printerTemplate.shadowColor = TEXT_COLOR_LIGHT_GREY; break; - case 1: + case UR_COLOR_RED_WHT_LTR: printerTemplate.letterSpacing = 0; printerTemplate.lineSpacing = 0; - printerTemplate.fgColor = 4; - printerTemplate.bgColor = 1; - printerTemplate.shadowColor = 5; + printerTemplate.fgColor = TEXT_COLOR_RED; + printerTemplate.bgColor = TEXT_COLOR_WHITE; + printerTemplate.shadowColor = TEXT_COLOR_LIGHT_RED; break; - case 2: + case UR_COLOR_GRN_WHT_LTG: printerTemplate.letterSpacing = 0; printerTemplate.lineSpacing = 0; - printerTemplate.fgColor = 6; - printerTemplate.bgColor = 1; - printerTemplate.shadowColor = 7; + printerTemplate.fgColor = TEXT_COLOR_GREEN; + printerTemplate.bgColor = TEXT_COLOR_WHITE; + printerTemplate.shadowColor = TEXT_COLOR_LIGHT_GREEN; break; - case 3: + case UR_COLOR_WHT_WHT_LTE: printerTemplate.letterSpacing = 0; printerTemplate.lineSpacing = 0; - printerTemplate.fgColor = 1; - printerTemplate.bgColor = 1; - printerTemplate.shadowColor = 3; + printerTemplate.fgColor = TEXT_COLOR_WHITE; + printerTemplate.bgColor = TEXT_COLOR_WHITE; + printerTemplate.shadowColor = TEXT_COLOR_LIGHT_GREY; break; - case 4: + case UR_COLOR_WHT_DKE_LTE: printerTemplate.letterSpacing = 0; printerTemplate.lineSpacing = 0; - printerTemplate.fgColor = 1; - printerTemplate.bgColor = 2; - printerTemplate.shadowColor = 3; + printerTemplate.fgColor = TEXT_COLOR_WHITE; + printerTemplate.bgColor = TEXT_COLOR_DARK_GREY; + printerTemplate.shadowColor = TEXT_COLOR_LIGHT_GREY; break; - case 5: + case UR_COLOR_GRN_DN6_LTB: printerTemplate.letterSpacing = 0; printerTemplate.lineSpacing = 0; - printerTemplate.fgColor = 7; - printerTemplate.bgColor = 15; - printerTemplate.shadowColor = 9; + printerTemplate.fgColor = TEXT_COLOR_LIGHT_GREEN; + printerTemplate.bgColor = TEXT_DYNAMIC_COLOR_6; + printerTemplate.shadowColor = TEXT_COLOR_LIGHT_BLUE; break; - case 6: + case UR_COLOR_DN5_DN6_LTB: printerTemplate.letterSpacing = 0; printerTemplate.lineSpacing = 0; - printerTemplate.fgColor = 14; - printerTemplate.bgColor = 15; - printerTemplate.shadowColor = 9; + printerTemplate.fgColor = TEXT_DYNAMIC_COLOR_5; + printerTemplate.bgColor = TEXT_DYNAMIC_COLOR_6; + printerTemplate.shadowColor = TEXT_COLOR_LIGHT_BLUE; break; } AddTextPrinter(&printerTemplate, 0xFF, NULL); } -static void sub_811A5E4(struct UnkStruct_x20 * arg0, u8 count) +static void BlankUnkStruct_x20Array(struct UnkStruct_x20 * x20arr, u8 count) { s32 i; for (i = 0; i < count; i++) { - arg0[i].unk = gUnknown_8457034; - arg0[i].field_18 = 0xFF; - arg0[i].field_1A_0 = 0; - arg0[i].field_1A_1 = 0; - arg0[i].field_1B = 0; + x20arr[i].gname_uname = sUnionGnameUnamePair_Dummy; + x20arr[i].field_18 = 0xFF; + x20arr[i].groupScheduledAnim = UNION_ROOM_SPAWN_NONE; + x20arr[i].field_1A_1 = FALSE; + x20arr[i].field_1B = 0; } } -static void sub_811A650(struct UnkStruct_x1C * arg0, u8 count) +static void BlankUnkStruct_x1CArray(struct UnkStruct_x1C * x1Carr, u8 count) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < RFU_CHILD_MAX; i++) { - arg0[i].unk0 = gUnknown_8457034; - arg0[i].unk18 = 0; + x1Carr[i].gname_uname = sUnionGnameUnamePair_Dummy; + x1Carr[i].active = FALSE; } } -static bool8 sub_811A694(struct UnkStruct_Shared * arg0, const struct UnkStruct_Shared * arg1) +static bool8 AreGnameUnameDifferent(struct UnionGnameUnamePair * left, const struct UnionGnameUnamePair * right) { s32 i; for (i = 0; i < 2; i++) { - if (arg0->gname.unk_00.playerTrainerId[i] != arg1->gname.unk_00.playerTrainerId[i]) + if (left->gname.unk_00.playerTrainerId[i] != right->gname.unk_00.playerTrainerId[i]) { return TRUE; } } - for (i = 0; i < 8; i++) + for (i = 0; i < RFU_USER_NAME_LENGTH; i++) { - if (arg0->playerName[i] != arg1->playerName[i]) + if (left->uname[i] != right->uname[i]) { return TRUE; } @@ -3956,34 +4093,34 @@ static bool8 sub_811A694(struct UnkStruct_Shared * arg0, const struct UnkStruct_ return FALSE; } -static bool32 sub_811A6DC(struct UnkStruct_Shared * arg0, struct UnkStruct_Shared * arg1) +static bool32 AreUnionRoomPlayerGnamesDifferent(struct UnionGnameUnamePair * left, struct UnionGnameUnamePair * right) { s32 i; - if (arg0->gname.unk_0a_0 != arg1->gname.unk_0a_0) + if (left->gname.activity != right->gname.activity) { return TRUE; } - if (arg0->gname.unk_0a_7 != arg1->gname.unk_0a_7) + if (left->gname.started != right->gname.started) { return TRUE; } - for (i = 0; i < 4; i++) + for (i = 0; i < RFU_CHILD_MAX; i++) { - if (arg0->gname.unk_04[i] != arg1->gname.unk_04[i]) + if (left->gname.child_sprite_gender[i] != right->gname.child_sprite_gender[i]) { return TRUE; } } - if (arg0->gname.species != arg1->gname.species) + if (left->gname.species != right->gname.species) { return TRUE; } - if (arg0->gname.type != arg1->gname.type) + if (left->gname.type != right->gname.type) { return TRUE; } @@ -3991,38 +4128,38 @@ static bool32 sub_811A6DC(struct UnkStruct_Shared * arg0, struct UnkStruct_Share return FALSE; } -static u32 sub_811A748(struct UnkStruct_x20 * arg0, struct UnkStruct_x1C * arg1) +static u32 Findx20Inx1CArray(struct UnkStruct_x20 * x20, struct UnkStruct_x1C * x1Carr) { u8 result = 0xFF; s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < RFU_CHILD_MAX; i++) { - if (arg1[i].unk18 && !sub_811A694(&arg0->unk, &arg1[i].unk0)) + if (x1Carr[i].active && !AreGnameUnameDifferent(&x20->gname_uname, &x1Carr[i].gname_uname)) { result = i; - arg1[i].unk18 = FALSE; + x1Carr[i].active = FALSE; } } return result; } -static u8 sub_811A798(struct UnkStruct_x20 * arg0, struct UnkStruct_x1C * arg1, u8 arg2) +static u8 Appendx1Ctox20(struct UnkStruct_x20 * x20arr, struct UnkStruct_x1C * x1C, u8 count) { s32 i; - if (arg1->unk18) + if (x1C->active) { - for (i = 0; i < arg2; i++) + for (i = 0; i < count; i++) { - if (arg0[i].field_1A_0 == 0) + if (x20arr[i].groupScheduledAnim == UNION_ROOM_SPAWN_NONE) { - arg0[i].unk = arg1->unk0; - arg0[i].field_18 = 0; - arg0[i].field_1A_0 = 1; - arg0[i].field_1B = 64; - arg1->unk18 = FALSE; + x20arr[i].gname_uname = x1C->gname_uname; + x20arr[i].field_18 = 0; + x20arr[i].groupScheduledAnim = UNION_ROOM_SPAWN_IN; + x20arr[i].field_1B = 0x40; + x1C->active = FALSE; return i; } } @@ -4031,47 +4168,47 @@ static u8 sub_811A798(struct UnkStruct_x20 * arg0, struct UnkStruct_x1C * arg1, return 0xFF; } -static void sub_811A81C(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 * arg3, u8 arg4, u8 id) +static void PrintUnionRoomGroupOnWindow(u8 windowId, u8 x, u8 y, struct UnkStruct_x20 * group, u8 colorIdx, u8 id) { - u8 r2; - u8 sp0[6]; - u8 sp10[30]; + u8 activity; + u8 id_str[6]; + u8 uname[30]; ConvertIntToDecimalStringN(gStringVar4, id + 1, STR_CONV_MODE_LEADING_ZEROS, 2); StringAppend(gStringVar4, gUnknown_84571B0); - sub_811A444(arg0, 0, gStringVar4, arg1, arg2, 0); - arg1 += 18; - r2 = arg3->unk.gname.unk_0a_0; - if (arg3->field_1A_0 == 1 && !(r2 & 0x40)) + UR_AddTextPrinterParameterized(windowId, 0, gStringVar4, x, y, UR_COLOR_DKE_WHT_LTE); + x += 18; + activity = group->gname_uname.gname.activity; + if (group->groupScheduledAnim == UNION_ROOM_SPAWN_IN && !(activity & IN_UNION_ROOM)) { - IntlConvPartnerUname(sp10, *arg3); - sub_811A444(arg0, 2, sp10, arg1, arg2, arg4); - ConvertIntToDecimalStringN(sp0, arg3->unk.gname.unk_00.playerTrainerId[0] | (arg3->unk.gname.unk_00.playerTrainerId[1] << 8), STR_CONV_MODE_LEADING_ZEROS, 5); + IntlConvPartnerUname(uname, *group); + UR_AddTextPrinterParameterized(windowId, 2, uname, x, y, colorIdx); + ConvertIntToDecimalStringN(id_str, group->gname_uname.gname.unk_00.playerTrainerId[0] | (group->gname_uname.gname.unk_00.playerTrainerId[1] << 8), STR_CONV_MODE_LEADING_ZEROS, 5); StringCopy(gStringVar4, gUnknown_84571B4); - StringAppend(gStringVar4, sp0); - arg1 += 77; - sub_811A444(arg0, 0, gStringVar4, arg1, arg2, arg4); + StringAppend(gStringVar4, id_str); + x += 77; + UR_AddTextPrinterParameterized(windowId, 0, gStringVar4, x, y, colorIdx); } } -static void sub_811A910(u8 windowId, u8 x, u8 y, struct UnkStruct_x20 * arg3, u8 arg4, u8 id) +static void PrintGroupMemberCandidateOnWindowWithColor(u8 windowId, u8 x, u8 y, struct UnkStruct_x20 * group, u8 colorIdx, u8 id) { - u8 sp0[6]; - u8 sp10[30]; + u8 id_str[6]; + u8 uname[30]; - if (arg3->field_1A_0 == 1) + if (group->groupScheduledAnim == UNION_ROOM_SPAWN_IN) { - IntlConvPartnerUname(sp10, *arg3); - sub_811A444(windowId, 2, sp10, x, y, arg4); - ConvertIntToDecimalStringN(sp0, arg3->unk.gname.unk_00.playerTrainerId[0] | (arg3->unk.gname.unk_00.playerTrainerId[1] << 8), STR_CONV_MODE_LEADING_ZEROS, 5); + IntlConvPartnerUname(uname, *group); + UR_AddTextPrinterParameterized(windowId, 2, uname, x, y, colorIdx); + ConvertIntToDecimalStringN(id_str, group->gname_uname.gname.unk_00.playerTrainerId[0] | (group->gname_uname.gname.unk_00.playerTrainerId[1] << 8), STR_CONV_MODE_LEADING_ZEROS, 5); StringCopy(gStringVar4, gUnknown_84571B4); - StringAppend(gStringVar4, sp0); + StringAppend(gStringVar4, id_str); x += 71; - sub_811A444(windowId, 0, gStringVar4, x, y, arg4); + UR_AddTextPrinterParameterized(windowId, 0, gStringVar4, x, y, colorIdx); } } -static bool32 sub_811A9B8(void) +static bool32 PlayerIsTalkingToUnionRoomAide(void) { s16 x, y; GetXYCoordsOneStepInFrontOfPlayer(&x, &y); @@ -4091,72 +4228,77 @@ static bool32 sub_811A9B8(void) return FALSE; } -static u32 sub_811A9FC(s32 arg0) +static u32 GetResponseIdx_InviteToURoomActivity(s32 activity) { - switch (arg0) + switch (activity) { - case 5: + case ACTIVITY_CHAT: return 1; - case 4: + case ACTIVITY_TRADE: return 2; - case 8: + case ACTIVITY_CARD: return 3; - case 3: + case ACTIVITY_MLTBATTLE: default: return 0; } } -static u32 sub_811AA24(struct UnkStruct_x20 * arg0) +static u32 ConvPartnerUnameAndGetWhetherMetAlready(struct UnkStruct_x20 * x20) { u8 sp0[30]; - IntlConvPartnerUname(sp0, *arg0); - return PlayerHasMetTrainerBefore(ReadAsU16(arg0->unk.gname.unk_00.playerTrainerId), sp0); + IntlConvPartnerUname(sp0, *x20); + return PlayerHasMetTrainerBefore(ReadAsU16(x20->gname_uname.gname.unk_00.playerTrainerId), sp0); } -static s32 sub_811AA5C(struct UnkStruct_Main0 * arg0, u8 arg1, u8 arg2, u32 playerGender) +static s32 UnionRoomGetPlayerInteractionResponse(struct UnkStruct_Main0 * main0, u8 overrideGender, u8 playerIdx, u32 playerGender) { - bool32 r2; + bool32 metBefore; - struct UnkStruct_x20 * r5 = &arg0->arr[arg2]; + struct UnkStruct_x20 * x20 = &main0->arr[playerIdx]; - if (!r5->unk.gname.unk_0a_7 && arg1 == 0) + if (!x20->gname_uname.gname.started && overrideGender == 0) { - IntlConvPartnerUname(gStringVar1, *r5); - r2 = PlayerHasMetTrainerBefore(ReadAsU16(r5->unk.gname.unk_00.playerTrainerId), gStringVar1); - if (r5->unk.gname.unk_0a_0 == 0x45) + IntlConvPartnerUname(gStringVar1, *x20); + metBefore = PlayerHasMetTrainerBefore(ReadAsU16(x20->gname_uname.gname.unk_00.playerTrainerId), gStringVar1); + if (x20->gname_uname.gname.activity == (ACTIVITY_CHAT | IN_UNION_ROOM)) { - StringExpandPlaceholders(gStringVar4, gUnknown_8457F80[r2][playerGender]); + StringExpandPlaceholders(gStringVar4, gUnknown_8457F80[metBefore][playerGender]); return 2; } else { - sub_811A0B4(gUnknown_8457A34[r2]); + UR_PrintFieldMessage(gURText_PleaseWaitMsgs[metBefore]); return 1; } } else { - IntlConvPartnerUname(gStringVar1, *r5); - if (arg1 != 0) + IntlConvPartnerUname(gStringVar1, *x20); + if (overrideGender != 0) { - playerGender = (r5->unk.gname.unk_00.playerTrainerId[arg1 + 1] >> 3) & 1; + playerGender = (x20->gname_uname.gname.unk_00.playerTrainerId[overrideGender + 1] >> 3) & 1; } - switch (r5->unk.gname.unk_0a_0 & 0x3F) + switch (x20->gname_uname.gname.activity & 0x3F) { - case 1: + case ACTIVITY_BATTLE: + // Battling StringExpandPlaceholders(gStringVar4, gUnknown_8458758[playerGender][Random() % 4]); break; - case 4: + case ACTIVITY_TRADE: + // Trading StringExpandPlaceholders(gStringVar4, gUnknown_8458A78[playerGender][Random() % 2]); break; - case 5: + case ACTIVITY_CHAT: + // Chatting StringExpandPlaceholders(gStringVar4, gUnknown_84588BC[playerGender][Random() % 4]); break; - case 8: + case ACTIVITY_CARD: + // Sharing cards StringExpandPlaceholders(gStringVar4, gUnknown_84589AC[playerGender][Random() % 2]); break; default: + // Unknown StringExpandPlaceholders(gStringVar4, gUnknown_8457F90); break; } @@ -4169,73 +4311,73 @@ static void nullsub_92(u8 windowId, s32 itemId, u8 y) } -static void sub_811ABE4(u8 windowId, u8 y, struct GFtgtGname * gname, const u8 * uname, u8 colorIdx) +static void TradeBoardPrintItemInfo(u8 windowId, u8 y, struct GFtgtGname * gname, const u8 * uname, u8 colorIdx) { u8 level_t[4]; u16 species = gname->species; u8 type = gname->type; u8 level = gname->level; - sub_811A444(windowId, 2, uname, 8, y, colorIdx); + UR_AddTextPrinterParameterized(windowId, 2, uname, 8, y, colorIdx); if (species == SPECIES_EGG) { - sub_811A444(windowId, 2, gUnknown_8458FBC, 0x44, y, colorIdx); + UR_AddTextPrinterParameterized(windowId, 2, gText_EggTrade, 0x44, y, colorIdx); } else { BlitMoveInfoIcon(windowId, type + 1, 0x44, y); - sub_811A444(windowId, 2, gSpeciesNames[species], 0x76, y, colorIdx); + UR_AddTextPrinterParameterized(windowId, 2, gSpeciesNames[species], 0x76, y, colorIdx); ConvertIntToDecimalStringN(level_t, level, STR_CONV_MODE_LEFT_ALIGN, 3); - sub_811A444(windowId, 2, level_t, GetStringRightAlignXOffset(2, level_t, 218), y, colorIdx); + UR_AddTextPrinterParameterized(windowId, 2, level_t, GetStringRightAlignXOffset(2, level_t, 218), y, colorIdx); } } -static void sub_811ACA4(u8 windowId, s32 itemId, u8 y) +static void TradeBoardListMenuItemPrintFunc(u8 windowId, s32 itemId, u8 y) { struct UnkStruct_Leader * leader = sUnionRoomMain.leader; struct GFtgtGname * rfu; s32 i, j; - u8 uname[8]; + u8 uname[RFU_USER_NAME_LENGTH]; - if (itemId == -3 && y == gUnknown_8456F7C.upText_Y) + if (itemId == -3 && y == sTradeBoardListMenuTemplate.upText_Y) { - rfu = sub_80F9800(); + rfu = GetHostRFUtgtGname(); if (rfu->species != SPECIES_NONE) { - sub_811ABE4(windowId, y, rfu, gSaveBlock2Ptr->playerName, 5); + TradeBoardPrintItemInfo(windowId, y, rfu, gSaveBlock2Ptr->playerName, 5); } } else { j = 0; - for (i = 0; i < 8; i++) + for (i = 0; i < UROOM_MAX_GROUP_COUNT; i++) { - if (leader->field_0->arr[i].field_1A_0 == 1 && leader->field_0->arr[i].unk.gname.species != SPECIES_NONE) + if (leader->field_0->arr[i].groupScheduledAnim == UNION_ROOM_SPAWN_IN && leader->field_0->arr[i].gname_uname.gname.species != SPECIES_NONE) { j++; } if (j == itemId + 1) { IntlConvPartnerUname(uname, leader->field_0->arr[i]); - sub_811ABE4(windowId, y, &leader->field_0->arr[i].unk.gname, uname, 6); + TradeBoardPrintItemInfo(windowId, y, &leader->field_0->arr[i].gname_uname.gname, uname, 6); break; } } } } -static s32 sub_811AD7C(struct UnkStruct_x20 * arg, s32 arg1) +static s32 GetIndexOfNthTradeBoardOffer(struct UnkStruct_x20 * x20, s32 n) { s32 i; s32 j = 0; - for (i = 0; i < 8; i++) + for (i = 0; i < UROOM_MAX_GROUP_COUNT; i++) { - if (arg[i].field_1A_0 == 1 && arg[i].unk.gname.species != SPECIES_NONE) + if (x20[i].groupScheduledAnim == UNION_ROOM_SPAWN_IN && x20[i].gname_uname.gname.species != SPECIES_NONE) { j++; } - if (j == arg1 + 1) + if (j == n + 1) { return i; } @@ -4244,12 +4386,12 @@ static s32 sub_811AD7C(struct UnkStruct_x20 * arg, s32 arg1) return -1; } -static s32 GetUnionRoomPlayerGender(s32 arg1, struct UnkStruct_Main0 * arg0) +static s32 GetUnionRoomPlayerGender(s32 playerIdx, struct UnkStruct_Main0 * main0) { - return arg0->arr[arg1].unk.gname.playerGender; + return main0->arr[playerIdx].gname_uname.gname.playerGender; } -static s32 sub_811ADD0(u32 type, u32 species) +static s32 IsRequestedTypeAndSpeciesInPlayerParty(u32 type, u32 species) { s32 i; @@ -4260,10 +4402,10 @@ static s32 sub_811ADD0(u32 type, u32 species) species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); if (species == SPECIES_EGG) { - return 0; + return UR_TRADE_MATCH; } } - return 2; + return UR_TRADE_NOEGG; } else { @@ -4272,77 +4414,77 @@ static s32 sub_811ADD0(u32 type, u32 species) species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); if (gBaseStats[species].type1 == type || gBaseStats[species].type2 == type) { - return 0; + return UR_TRADE_MATCH; } } - return 1; + return UR_TRADE_NOTYPE; } } -static void sub_811AE68(u8 *dst, s32 arg1, u32 playerGender) +static void GetURoomActivityRejectMsg(u8 *dst, s32 activity, u32 playerGender) { - switch (arg1) + switch (activity) { - case 0x41: + case ACTIVITY_BATTLE | IN_UNION_ROOM: StringExpandPlaceholders(dst, gUnknown_8458314[playerGender]); break; - case 0x45: + case ACTIVITY_CHAT | IN_UNION_ROOM: StringExpandPlaceholders(dst, gUnknown_84585E8[playerGender]); break; - case 0x44: + case ACTIVITY_TRADE | IN_UNION_ROOM: StringExpandPlaceholders(dst, gUnknown_8458F9C); break; - case 0x48: + case ACTIVITY_CARD | IN_UNION_ROOM: StringExpandPlaceholders(dst, gUnknown_84583B4[playerGender]); break; } } -static void sub_811AECC(u8 *dst, u8 arg1) +static void GetURoomActivityStartMsg(u8 *dst, u8 activity) { u8 mpId = GetMultiplayerId(); u8 gender = gLinkPlayers[mpId ^ 1].gender; - switch (arg1) + switch (activity) { - case 0x41: + case ACTIVITY_BATTLE | IN_UNION_ROOM: StringCopy(dst, gUnknown_8458230[mpId][gender][0]); break; - case 0x44: + case ACTIVITY_TRADE | IN_UNION_ROOM: StringCopy(dst, gUnknown_8458230[mpId][gender][2]); break; - case 0x45: + case ACTIVITY_CHAT | IN_UNION_ROOM: StringCopy(dst, gUnknown_8458230[mpId][gender][1]); break; } } -static s32 sub_811AF6C(u8 *dst, u32 gender, u16 *arg2, struct UnkStruct_URoom * arg3) +static s32 GetChatLeaderActionRequestMessage(u8 *dst, u32 gender, u16 *activity_p, struct UnkStruct_URoom * arg3) { s32 result = 0; u16 species = SPECIES_NONE; s32 i; - switch (arg2[0]) + switch (activity_p[0]) { - case 0x41: + case ACTIVITY_BATTLE | IN_UNION_ROOM: StringExpandPlaceholders(dst, gUnknown_8457CA4); result = 1; break; - case 0x45: + case ACTIVITY_CHAT | IN_UNION_ROOM: StringExpandPlaceholders(dst, gUnknown_8457CF8); result = 1; break; - case 0x44: - ConvertIntToDecimalStringN(arg3->field_58[0], sUnionRoomTrade.playerLevel, STR_CONV_MODE_LEFT_ALIGN, 3); - StringCopy(arg3->field_58[1], gSpeciesNames[sUnionRoomTrade.playerSpecies]); - for (i = 0; i < 4; i++) + case ACTIVITY_TRADE | IN_UNION_ROOM: + ConvertIntToDecimalStringN(arg3->activityRequestStrbufs[0], sUnionRoomTrade.playerLevel, STR_CONV_MODE_LEFT_ALIGN, 3); + StringCopy(arg3->activityRequestStrbufs[1], gSpeciesNames[sUnionRoomTrade.playerSpecies]); + for (i = 0; i < RFU_CHILD_MAX; i++) { - if (gRfuLinkStatus->partner[i].serialNo == 2) + if (gRfuLinkStatus->partner[i].serialNo == 0x0002) { - ConvertIntToDecimalStringN(arg3->field_58[2], arg2[2], STR_CONV_MODE_LEFT_ALIGN, 3); - StringCopy(arg3->field_58[3], gSpeciesNames[arg2[1]]); - species = arg2[1]; + ConvertIntToDecimalStringN(arg3->activityRequestStrbufs[2], activity_p[2], STR_CONV_MODE_LEFT_ALIGN, 3); + StringCopy(arg3->activityRequestStrbufs[3], gSpeciesNames[activity_p[1]]); + species = activity_p[1]; break; } } @@ -4352,19 +4494,20 @@ static s32 sub_811AF6C(u8 *dst, u32 gender, u16 *arg2, struct UnkStruct_URoom * } else { - for (i = 0; i < 4; i++) + for (i = 0; i < RFU_CHILD_MAX; i++) { - DynamicPlaceholderTextUtil_SetPlaceholderPtr(i, arg3->field_58[i]); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(i, arg3->activityRequestStrbufs[i]); } DynamicPlaceholderTextUtil_ExpandPlaceholders(dst, gUnknown_8457D44); } result = 1; break; - case 0x48: + case ACTIVITY_CARD | IN_UNION_ROOM: StringExpandPlaceholders(dst, gUnknown_8457C48); result = 1; break; - case 0x40: + case IN_UNION_ROOM: + // Chat dropped StringExpandPlaceholders(dst, gUnknown_8457E0C); result = 2; break; @@ -4373,18 +4516,18 @@ static s32 sub_811AF6C(u8 *dst, u32 gender, u16 *arg2, struct UnkStruct_URoom * return result; } -static bool32 sub_811B0A4(struct UnkStruct_URoom * arg0) +static bool32 PollPartnerYesNoResponse(struct UnkStruct_URoom * uroom) { if (gRecvCmds[0][1] != 0) { - if (gRecvCmds[0][1] == 0x51) + if (gRecvCmds[0][1] == (ACTIVITY_ACCEPT | IN_UNION_ROOM)) { - arg0->field_98 = 0x51; + uroom->partnerYesNoResponse = ACTIVITY_ACCEPT | IN_UNION_ROOM; return TRUE; } - else if (gRecvCmds[0][1] == 0x52) + else if (gRecvCmds[0][1] == (ACTIVITY_DECLINE | IN_UNION_ROOM)) { - arg0->field_98 = 0x52; + uroom->partnerYesNoResponse = ACTIVITY_DECLINE | IN_UNION_ROOM; return TRUE; } } @@ -4418,16 +4561,16 @@ static bool32 HasAtLeastTwoMonsOfLevel30OrLower(void) return FALSE; } -static void ResetUnionRoomTrade(struct UnionRoomTrade * arg0) +static void ResetUnionRoomTrade(struct UnionRoomTrade * uroomTrade) { - arg0->field_0 = 0; - arg0->type = 0; - arg0->playerPersonality = 0; - arg0->playerSpecies = 0; - arg0->playerLevel = 0; - arg0->species = 0; - arg0->level = 0; - arg0->personality = 0; + uroomTrade->field_0 = 0; + uroomTrade->type = 0; + uroomTrade->playerPersonality = 0; + uroomTrade->playerSpecies = 0; + uroomTrade->playerLevel = 0; + uroomTrade->species = 0; + uroomTrade->level = 0; + uroomTrade->personality = 0; } void Script_ResetUnionRoomTrade(void) @@ -4494,26 +4637,26 @@ static u32 GetPartyPositionOfRegisteredMon(struct UnionRoomTrade * trade, u8 mul return response; } -static void sub_811B258(bool32 arg0) +static void HandleCancelTrade(bool32 unlockObjs) { - sub_811A3F8(); + UR_BlankBg0(); ScriptContext2_Disable(); - sub_80696F0(); - gUnknown_203B058 = 0; - if (arg0) + UnionRoom_UnlockPlayerAndChatPartner(); + sPlayerCurrActivity = 0; + if (unlockObjs) { - sub_80FAFA0(sUnionRoomTrade.type, sUnionRoomTrade.playerSpecies, sUnionRoomTrade.playerLevel); - sub_80FB008(0x40, 0, 0); + RfuUpdatePlayerGnameStateAndSend(sUnionRoomTrade.type, sUnionRoomTrade.playerSpecies, sUnionRoomTrade.playerLevel); + UpdateGameDataWithActivitySpriteGendersFlag(IN_UNION_ROOM, 0, FALSE); } } -static void sub_811B298(void) +static void UR_EnableScriptContext2AndFreezeObjectEvents(void) { ScriptContext2_Enable(); ScriptFreezeObjectEvents(); } -static u8 sub_811B2A8(s32 linkPlayer) +static u8 GetSinglePartnerSpriteGenderParam(s32 linkPlayer) { u8 retval = 0x80; retval |= gLinkPlayers[linkPlayer].gender << 3; @@ -4521,17 +4664,17 @@ static u8 sub_811B2A8(s32 linkPlayer) return retval; } -static u8 sub_811B2D8(struct UnkStruct_URoom * arg0) +static u8 GetActivePartnerSpriteGenderParam(struct UnkStruct_URoom * uroom) { u8 retVal = 0x80; u8 i; - for (i = 0; i < 4; i++) + for (i = 0; i < RFU_CHILD_MAX; i++) { - if (arg0->field_C->arr[i].unk18) + if (uroom->field_C->arr[i].active) { - retVal |= arg0->field_C->arr[i].unk0.gname.playerGender << 3; - retVal |= arg0->field_C->arr[i].unk0.gname.unk_00.playerTrainerId[0] & 7; + retVal |= uroom->field_C->arr[i].gname_uname.gname.playerGender << 3; + retVal |= uroom->field_C->arr[i].gname_uname.gname.unk_00.playerTrainerId[0] & 7; break; } } @@ -4539,7 +4682,7 @@ static u8 sub_811B2D8(struct UnkStruct_URoom * arg0) return retVal; } -static void sub_811B31C(u8 *unused, struct UnkStruct_URoom * arg1, bool8 arg2) +static void ViewURoomPartnerTrainerCard(u8 *unused, struct UnkStruct_URoom * uroom, bool8 parent_child) { struct TrainerCard * trainerCard = &gTrainerCards[GetMultiplayerId() ^ 1]; s32 i; @@ -4547,61 +4690,61 @@ static void sub_811B31C(u8 *unused, struct UnkStruct_URoom * arg1, bool8 arg2) DynamicPlaceholderTextUtil_Reset(); - StringCopy(arg1->trainerCardStrbufs[0], gTrainerClassNames[sub_80447F0()]); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, arg1->trainerCardStrbufs[0]); + StringCopy(uroom->trainerCardStrbufs[0], gTrainerClassNames[sub_80447F0()]); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, uroom->trainerCardStrbufs[0]); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, trainerCard->playerName); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, trainerCard->rse.playerName); - StringCopy(arg1->field_174, gUnknown_84594B0[trainerCard->stars]); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, arg1->field_174); + StringCopy(uroom->field_174, gUnknown_84594B0[trainerCard->rse.stars]); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, uroom->field_174); - ConvertIntToDecimalStringN(arg1->trainerCardStrbufs[2], trainerCard->caughtMonsCount, STR_CONV_MODE_LEFT_ALIGN, 3); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, arg1->trainerCardStrbufs[2]); + ConvertIntToDecimalStringN(uroom->trainerCardStrbufs[2], trainerCard->rse.caughtMonsCount, STR_CONV_MODE_LEFT_ALIGN, 3); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, uroom->trainerCardStrbufs[2]); - ConvertIntToDecimalStringN(arg1->trainerCardStrbufs[3], trainerCard->playTimeHours, STR_CONV_MODE_LEFT_ALIGN, 3); - ConvertIntToDecimalStringN(arg1->trainerCardStrbufs[4], trainerCard->playTimeMinutes, STR_CONV_MODE_LEADING_ZEROS, 2); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, arg1->trainerCardStrbufs[3]); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(5, arg1->trainerCardStrbufs[4]); + ConvertIntToDecimalStringN(uroom->trainerCardStrbufs[3], trainerCard->rse.playTimeHours, STR_CONV_MODE_LEFT_ALIGN, 3); + ConvertIntToDecimalStringN(uroom->trainerCardStrbufs[4], trainerCard->rse.playTimeMinutes, STR_CONV_MODE_LEADING_ZEROS, 2); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, uroom->trainerCardStrbufs[3]); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(5, uroom->trainerCardStrbufs[4]); - DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_84594C4); - StringCopy(gStringVar4, arg1->field_1A4); + DynamicPlaceholderTextUtil_ExpandPlaceholders(uroom->field_1A4, gUnknown_84594C4); + StringCopy(gStringVar4, uroom->field_1A4); - n = trainerCard->linkBattleWins; + n = trainerCard->rse.linkBattleWins; if (n > 9999) { n = 9999; } - ConvertIntToDecimalStringN(arg1->trainerCardStrbufs[0], n, STR_CONV_MODE_LEFT_ALIGN, 4); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, arg1->trainerCardStrbufs[0]); + ConvertIntToDecimalStringN(uroom->trainerCardStrbufs[0], n, STR_CONV_MODE_LEFT_ALIGN, 4); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, uroom->trainerCardStrbufs[0]); - n = trainerCard->linkBattleLosses; + n = trainerCard->rse.linkBattleLosses; if (n > 9999) { n = 9999; } - ConvertIntToDecimalStringN(arg1->trainerCardStrbufs[1], n, STR_CONV_MODE_LEFT_ALIGN, 4); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, arg1->trainerCardStrbufs[1]); + ConvertIntToDecimalStringN(uroom->trainerCardStrbufs[1], n, STR_CONV_MODE_LEFT_ALIGN, 4); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, uroom->trainerCardStrbufs[1]); - ConvertIntToDecimalStringN(arg1->trainerCardStrbufs[2], trainerCard->pokemonTrades, STR_CONV_MODE_LEFT_ALIGN, 5); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, arg1->trainerCardStrbufs[2]); + ConvertIntToDecimalStringN(uroom->trainerCardStrbufs[2], trainerCard->rse.pokemonTrades, STR_CONV_MODE_LEFT_ALIGN, 5); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, uroom->trainerCardStrbufs[2]); - for (i = 0; i < 4; i++) + for (i = 0; i < TRAINER_CARD_PROFILE_LENGTH; i++) { - CopyEasyChatWord(arg1->trainerCardStrbufs[i + 3], trainerCard->var_28[i]); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(i + 4, arg1->trainerCardStrbufs[i + 3]); + CopyEasyChatWord(uroom->trainerCardStrbufs[i + 3], trainerCard->rse.easyChatProfile[i]); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(i + 4, uroom->trainerCardStrbufs[i + 3]); } - DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_8459504); - StringAppend(gStringVar4, arg1->field_1A4); + DynamicPlaceholderTextUtil_ExpandPlaceholders(uroom->field_1A4, gUnknown_8459504); + StringAppend(gStringVar4, uroom->field_1A4); - if (arg2 == TRUE) + if (parent_child == MODE_PARENT) { - DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_8459588); - StringAppend(gStringVar4, arg1->field_1A4); + DynamicPlaceholderTextUtil_ExpandPlaceholders(uroom->field_1A4, gUnknown_8459588); + StringAppend(gStringVar4, uroom->field_1A4); } - else if (arg2 == FALSE) + else if (parent_child == MODE_CHILD) { - DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_8459580[trainerCard->gender]); - StringAppend(gStringVar4, arg1->field_1A4); + DynamicPlaceholderTextUtil_ExpandPlaceholders(uroom->field_1A4, gUnknown_8459580[trainerCard->rse.gender]); + StringAppend(gStringVar4, uroom->field_1A4); } } diff --git a/src/union_room_battle.c b/src/union_room_battle.c index b75cc086d..b4d8af9ce 100644 --- a/src/union_room_battle.c +++ b/src/union_room_battle.c @@ -13,15 +13,16 @@ #include "text_window.h" #include "union_room.h" #include "window.h" +#include "constants/union_room.h" -struct UnkStruct_203B08C +struct UnionRoomBattleWork { - s16 a0; + s16 textState; }; -static EWRAM_DATA struct UnkStruct_203B08C * gUnknown_203B08C = NULL; +static EWRAM_DATA struct UnionRoomBattleWork * sWork = NULL; -static const struct BgTemplate gUnknown_8457194[] = { +static const struct BgTemplate sBgTemplates[] = { { .bg = 0, .charBaseIndex = 3, @@ -29,7 +30,7 @@ static const struct BgTemplate gUnknown_8457194[] = { } }; -static const struct WindowTemplate gUnknown_8457198[] = { +static const struct WindowTemplate sWindowTemplates[] = { { .bg = 0, .tilemapLeft = 2, @@ -43,10 +44,10 @@ static const struct WindowTemplate gUnknown_8457198[] = { static const u8 gUnknown_84571A8[] = {1, 2, 3}; -static void sub_811C04C(void) +static void SetUpPartiesAndStartBattle(void) { s32 i; - sub_81173C0(BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER); + StartUnionRoomBattle(BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER); for (i = 0; i < 2; i++) { gEnemyParty[i] = gPlayerParty[gSelectedOrderFromParty[i] - 1]; @@ -65,7 +66,7 @@ static void sub_811C04C(void) SetMainCallback2(CB2_InitBattle); } -static void sub_811C0E0(u8 windowId, const u8 * str, u8 x, u8 y, s32 speed) +static void UnionRoomBattle_CreateTextPrinter(u8 windowId, const u8 * str, u8 x, u8 y, s32 speed) { s32 letterSpacing = 1; s32 lineSpacing = 1; @@ -73,13 +74,13 @@ static void sub_811C0E0(u8 windowId, const u8 * str, u8 x, u8 y, s32 speed) AddTextPrinterParameterized4(windowId, 3, x, y, letterSpacing, lineSpacing, gUnknown_84571A8, speed, str); } -static bool32 sub_811C150(s16 * state, const u8 * str, s32 speed) +static bool32 UnionRoomBattle_PrintTextOnWindow0(s16 * state, const u8 * str, s32 speed) { switch (*state) { case 0: DrawTextBorderOuter(0, 0x001, 0xD); - sub_811C0E0(0, str, 0, 2, speed); + UnionRoomBattle_CreateTextPrinter(0, str, 0, 2, speed); PutWindowTilemap(0); CopyWindowToVram(0, 3); (*state)++; @@ -95,27 +96,27 @@ static bool32 sub_811C150(s16 * state, const u8 * str, s32 speed) return FALSE; } -static void sub_811C1B4(void) +static void VBlankCB_UnionRoomBattle(void) { LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); } -void sub_811C1C8(void) +void CB2_UnionRoomBattle(void) { switch (gMain.state) { case 0: SetGpuReg(REG_OFFSET_DISPCNT, 0x0000); - gUnknown_203B08C = AllocZeroed(sizeof(struct UnkStruct_203B08C)); + sWork = AllocZeroed(sizeof(struct UnionRoomBattleWork)); ResetSpriteData(); FreeAllSpritePalettes(); ResetTasks(); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_8457194, 1); + InitBgsFromTemplates(0, sBgTemplates, 1); ResetTempTileDataBuffers(); - if (!InitWindows(gUnknown_8457198)) + if (!InitWindows(sWindowTemplates)) { return; } @@ -126,11 +127,11 @@ void sub_811C1C8(void) FillBgTilemapBufferRect(0, 0, 0, 0, 30, 20, 0xF); TextWindow_SetStdFrame0_WithPal(0, 1, 0xD0); Menu_LoadStdPal(); - SetVBlankCallback(sub_811C1B4); + SetVBlankCallback(VBlankCB_UnionRoomBattle); gMain.state++; break; case 1: - if (sub_811C150(&gUnknown_203B08C->a0, gText_CommStandbyAwaitingOtherPlayer, 0)) + if (UnionRoomBattle_PrintTextOnWindow0(&sWork->textState, gText_CommStandbyAwaitingOtherPlayer, 0)) { gMain.state++; } @@ -146,11 +147,11 @@ void sub_811C1C8(void) memset(gBlockSendBuffer, 0, 0x20); if (gSelectedOrderFromParty[0] == -gSelectedOrderFromParty[1]) { - gBlockSendBuffer[0] = 0x52; + gBlockSendBuffer[0] = ACTIVITY_DECLINE | 0x40; } else { - gBlockSendBuffer[0] = 0x51; + gBlockSendBuffer[0] = ACTIVITY_ACCEPT | 0x40; } SendBlock(0, gBlockSendBuffer, 0x20); gMain.state++; @@ -159,15 +160,15 @@ void sub_811C1C8(void) case 4: if (GetBlockReceivedStatus() == 3) { - if (gBlockRecvBuffer[0][0] == 0x51 && gBlockRecvBuffer[1][0] == 0x51) + if (gBlockRecvBuffer[0][0] == (ACTIVITY_ACCEPT | 0x40) && gBlockRecvBuffer[1][0] == (ACTIVITY_ACCEPT | 0x40)) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gMain.state = 50; } else { - sub_800AAC0(); - if (gBlockRecvBuffer[GetMultiplayerId()][0] == 0x52) + Link_TryStartSend5FFF(); + if (gBlockRecvBuffer[GetMultiplayerId()][0] == (ACTIVITY_DECLINE | 0x40)) { gMain.state = 6; } @@ -182,14 +183,14 @@ void sub_811C1C8(void) case 50: if (!UpdatePaletteFade()) { - sub_800AB9C(); + PrepareSendLinkCmd2FFE_or_RfuCmd6600(); gMain.state++; } break; case 51: if (IsLinkTaskFinished()) { - SetMainCallback2(sub_811C04C); + SetMainCallback2(SetUpPartiesAndStartBattle); } break; case 6: @@ -199,7 +200,7 @@ void sub_811C1C8(void) } break; case 7: - if (sub_811C150(&gUnknown_203B08C->a0, gText_RefusedBattle, 1)) + if (UnionRoomBattle_PrintTextOnWindow0(&sWork->textState, gText_RefusedBattle, 1)) { SetMainCallback2(CB2_ReturnToField); } @@ -211,7 +212,7 @@ void sub_811C1C8(void) } break; case 9: - if (sub_811C150(&gUnknown_203B08C->a0, gText_BattleWasRefused, 1)) + if (UnionRoomBattle_PrintTextOnWindow0(&sWork->textState, gText_BattleWasRefused, 1)) { SetMainCallback2(CB2_ReturnToField); } diff --git a/src/union_room_chat.c b/src/union_room_chat.c index 15601c028..4ac4c62cb 100644 --- a/src/union_room_chat.c +++ b/src/union_room_chat.c @@ -14,7 +14,7 @@ #include "task.h" #include "union_room_chat.h" #include "union_room_chat_display.h" -#include "data_8479668.h" +#include "keyboard_text.h" #include "constants/songs.h" #define MESSAGE_BUFFER_NCHAR 15 @@ -207,7 +207,7 @@ void EnterUnionRoomChat(void) sWork = Alloc(sizeof(struct UnionRoomChat)); InitChatWork(sWork); gKeyRepeatStartDelay = 20; - sub_812B4AC(); + HelpSystem_DisableToggleWithRButton(); SetVBlankCallback(NULL); SetMainCallback2(CB2_LoadInterface); } @@ -587,7 +587,7 @@ static void ChatEntryRoutine_ExitChat(void) case 5: if (IsLinkTaskFinished() && !GetRfuUnkCE8()) { - sub_800AAC0(); + Link_TryStartSend5FFF(); sWork->exitDelayTimer = 0; sWork->routineState++; } @@ -622,7 +622,7 @@ static void ChatEntryRoutine_Drop(void) case 1: if (!RunDisplaySubtask(0) && IsLinkTaskFinished() && !GetRfuUnkCE8()) { - sub_800AAC0(); + Link_TryStartSend5FFF(); sWork->exitDelayTimer = 0; sWork->routineState++; } @@ -668,7 +668,7 @@ static void ChatEntryRoutine_Disbanded(void) case 2: if (RunDisplaySubtask(0) != TRUE && IsLinkTaskFinished() && !GetRfuUnkCE8()) { - sub_800AAC0(); + Link_TryStartSend5FFF(); sWork->exitDelayTimer = 0; sWork->routineState++; } @@ -893,7 +893,7 @@ static void ChatEntryRoutine_SaveAndExit(void) case 13: if (!gPaletteFade.active) { - sub_812B4B8(); + HelpSystem_EnableToggleWithRButton(); UnionRoomChat_FreeGraphicsWork(); FreeChatWork(); SetMainCallback2(CB2_ReturnToField); @@ -914,7 +914,7 @@ static bool32 TypeChatMessage_HandleDPad(void) { if (JOY_REPT(DPAD_UP)) { - if (sWork->currentRow) + if (sWork->currentRow > 0) sWork->currentRow--; else sWork->currentRow = sKeyboardPageMaxRow[sWork->currentPage]; @@ -938,7 +938,7 @@ static bool32 TypeChatMessage_HandleDPad(void) { if (JOY_REPT(DPAD_LEFT)) { - if (sWork->currentCol) + if (sWork->currentCol > 0) sWork->currentCol--; else sWork->currentCol = 4; diff --git a/src/union_room_message.c b/src/union_room_message.c index 9ca5aa15b..3aeb40524 100644 --- a/src/union_room_message.c +++ b/src/union_room_message.c @@ -1,10 +1,10 @@ #include "global.h" -#include "union_room_message.h" #include "mevent_server.h" +#include "constants/union_room.h" -ALIGNED(4) const u8 gUnknown_84571AC[] = _(""); +ALIGNED(4) const u8 gUnionRoomActivity_Blank[] = _(""); ALIGNED(4) const u8 gUnknown_84571B0[] = _(":"); -ALIGNED(4) const u8 gUnknown_84571B4[] = _("{EXTRA 7}"); +ALIGNED(4) const u8 gUnknown_84571B4[] = _("{ID}"); ALIGNED(4) const u8 gUnknown_84571B8[] = _("Please start over from the beginning."); ALIGNED(4) const u8 gUnknown_84571E0[] = _("The WIRELESS COMMUNICATION\nSYSTEM search has been canceled."); ALIGNED(4) const u8 gUnref_845721C[] = _("ともだちからの れんらくを\nまっています"); @@ -124,6 +124,7 @@ const u8 *const gUnknown_8457754[] = { ALIGNED(4) const u8 gUnknown_845777C[] = _("The WIRELESS COMMUNICATION\nSYSTEM link has been established."); ALIGNED(4) const u8 gUnknown_84577BC[] = _("The WIRELESS COMMUNICATION\nSYSTEM link has been dropped…"); + ALIGNED(4) const u8 gUnknown_84577F8[] = _("The link with your friend has been\ndropped…"); ALIGNED(4) const u8 gUnknown_8457824[] = _("{STR_VAR_1} replied, “No…”"); @@ -150,11 +151,12 @@ const u8 *const gUnknown_8457898[] = { ALIGNED(4) const u8 gUnknown_84578A0[] = _("はなしかけています…\nしょうしょう おまちください"); ALIGNED(4) const u8 gUnknown_84578BC[] = _("Awaiting {STR_VAR_1}'s response about\nthe trade…"); + ALIGNED(4) const u8 gUnknown_84578E4[] = _("Communicating{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}."); ALIGNED(4) const u8 gUnknown_8457950[] = _("Communicating with {STR_VAR_1}{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}."); ALIGNED(4) const u8 gUnknown_84579BC[] = _("Please wait a while{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}."); -const u8 *const gUnknown_8457A34[] = { +const u8 *const gURText_PleaseWaitMsgs[] = { gUnknown_84578E4, gUnknown_8457950, gUnknown_84579BC @@ -165,7 +167,7 @@ ALIGNED(4) const u8 gUnknown_8457A70[] = _("Hello!\nWould you like to do somethi ALIGNED(4) const u8 gUnknown_8457A98[] = _("{STR_VAR_1}: Hiya, we meet again!\nWhat are you up for this time?"); ALIGNED(4) const u8 gUnknown_8457AD0[] = _("{STR_VAR_1}: Oh! {PLAYER}, hello!\nWould you like to do something?"); -const u8 *const gUnknown_8457B04[][2] = { +const u8 *const gURText_FriendPromptsForActivity[][2] = { { gUnknown_8457A40, gUnknown_8457A70 @@ -237,6 +239,7 @@ const u8 *const gUnknown_8457F80[][2] = { }; ALIGNED(4) const u8 gUnknown_8457F90[] = _("……\nThe TRAINER appears to be busy…\p"); + ALIGNED(4) const u8 gUnknown_8457FB4[] = _("A battle, huh?\nAll right, just give me some time."); ALIGNED(4) const u8 gUnknown_8457FE8[] = _("You want to chat, huh?\nSure, just wait a little."); ALIGNED(4) const u8 gUnknown_845801C[] = _("Sure thing! As my “Greetings,”\nhere's my TRAINER CARD."); @@ -244,7 +247,7 @@ ALIGNED(4) const u8 gUnknown_8458054[] = _("A battle? Of course, but I need\ntim ALIGNED(4) const u8 gUnknown_8458088[] = _("Did you want to chat?\nOkay, but please wait a moment."); ALIGNED(4) const u8 gUnknown_84580C0[] = _("As my introduction, I'll show you\nmy TRAINER CARD."); -const u8 *const gUnknown_84580F4[][4] = { +const u8 *const gResponseToURoomActivityInviteStringPtrs[][4] = { { gUnknown_8457FB4, gUnknown_8457FE8, @@ -415,7 +418,8 @@ ALIGNED(4) const u8 gUnknown_8458AB8[] = _("Welcome to the TRADING BOARD.\pYou m ALIGNED(4) const u8 gUnknown_8458B44[] = _("This TRADING BOARD is used for\noffering a POKéMON for a trade.\pAll you need to do is register a\nPOKéMON for a trade.\pAnother TRAINER may offer a party\nPOKéMON in return for the trade.\pWe hope you will register POKéMON\nand trade them with many, many\lother TRAINERS.\pWould you like to register one of\nyour POKéMON?"); ALIGNED(4) const u8 gUnref_ThankYouForComing_JP[] = _("こうかんけいじばん の とうろくが\nかんりょう しました\pごりよう ありがとう\nございました!\p"); ALIGNED(4) const u8 gUnref_NoOneRegisteredMon[] = _("けいじばんに だれも ポケモンを\nとうろく していません\p\n"); -ALIGNED(4) const u8 gUnknown_8458CD4[] = _("Please choose the type of POKéMON\nthat you would like in the trade.\n"); + +ALIGNED(4) const u8 gURText_PleaseChooseTypeOfMon[] = _("Please choose the type of POKéMON\nthat you would like in the trade.\n"); ALIGNED(4) const u8 gUnknown_8458D1C[] = _("Which of your party POKéMON will\nyou offer in trade?\p"); ALIGNED(4) const u8 gUnknown_8458D54[] = _("Registration has been canceled.\p"); ALIGNED(4) const u8 gUnknown_8458D78[] = _("Registration has been completed.\p"); @@ -439,9 +443,10 @@ const u8 *const gUnknown_8458F94[] = { }; ALIGNED(4) const u8 gUnknown_8458F9C[] = _("Your trade offer was rejected.\p"); -ALIGNED(4) const u8 gUnknown_8458FBC[] = _("EGG TRADE"); +ALIGNED(4) const u8 gText_EggTrade[] = _("EGG TRADE"); ALIGNED(4) const u8 gUnknown_8458FC8[] = _("{DPAD_UPDOWN}CHOOSE {A_BUTTON}JOIN {B_BUTTON}CANCEL"); ALIGNED(4) const u8 gUnknown_8458FE4[] = _("Please choose a TRAINER."); + ALIGNED(4) const u8 gUnknown_8459000[] = _("Please choose a TRAINER for\na SINGLE BATTLE."); ALIGNED(4) const u8 gUnknown_8459030[] = _("Please choose a TRAINER for\na DOUBLE BATTLE."); ALIGNED(4) const u8 gUnknown_8459060[] = _("Please choose the LEADER\nfor a MULTI BATTLE."); @@ -453,15 +458,15 @@ ALIGNED(4) const u8 gUnknown_8459160[] = _("BERRY CRUSH!\nPlease choose the LEAD ALIGNED(4) const u8 gUnknown_8459188[] = _("DODRIO BERRY-PICKING!\nPlease choose the LEADER."); const u8 *const gUnknown_84591B8[] = { - gUnknown_8459000, - gUnknown_8459030, - gUnknown_8459060, - gUnknown_8459090, - gUnknown_845912C, - gUnknown_8459160, - gUnknown_8459188, - gUnknown_84590BC, - gUnknown_84590F4 + [LINK_GROUP_SINGLE_BATTLE] = gUnknown_8459000, + [LINK_GROUP_DOUBLE_BATTLE] = gUnknown_8459030, + [LINK_GROUP_MULTI_BATTLE] = gUnknown_8459060, + [LINK_GROUP_TRADE] = gUnknown_8459090, + [LINK_GROUP_POKEMON_JUMP] = gUnknown_845912C, + [LINK_GROUP_BERRY_CRUSH] = gUnknown_8459160, + [LINK_GROUP_BERRY_PICKING] = gUnknown_8459188, + [LINK_GROUP_WONDER_CARD] = gUnknown_84590BC, + [LINK_GROUP_WONDER_NEWS] = gUnknown_84590F4 }; ALIGNED(4) const u8 gUnknown_84591DC[] = _("Searching for a WIRELESS\nCOMMUNICATION SYSTEM. Wait..."); @@ -470,6 +475,7 @@ ALIGNED(4) const u8 gUnknown_8459238[] = _("Awaiting {STR_VAR_1}'s response…") ALIGNED(4) const u8 gUnknown_8459250[] = _("{STR_VAR_1} has been asked to register\nyou as a member. Please wait."); ALIGNED(4) const u8 gUnknown_845928C[] = _("Awaiting a response from the\nWIRELESS COMMUNICATION SYSTEM."); ALIGNED(4) const u8 gUnref_PlsWaitLittleWHile[] = _("ほかの さんかしゃが そろうまで\nしょうしょう おまちください"); + ALIGNED(4) const u8 gUnknown_84592E8[] = _("No CARDS appear to be shared \nright now."); ALIGNED(4) const u8 gUnknown_8459314[] = _("No NEWS appears to be shared\nright now."); @@ -482,23 +488,26 @@ ALIGNED(4) const u8 gUnknown_8459344[] = _("BATTLE"); ALIGNED(4) const u8 gUnknown_845934C[] = _("CHAT"); ALIGNED(4) const u8 gUnknown_8459354[] = _("GREETINGS"); ALIGNED(4) const u8 gUnknown_8459360[] = _("EXIT"); + ALIGNED(4) const u8 gUnknown_8459368[] = _("EXIT"); ALIGNED(4) const u8 gUnknown_8459370[] = _("INFO"); ALIGNED(4) const u8 gUnknown_8459378[] = _("NAME{CLEAR_TO 0x3C}WANTED{CLEAR_TO 0x6E}OFFER{CLEAR_TO 0xC6}LV."); -ALIGNED(4) const u8 gUnknown_8459394[] = _("SINGLE BATTLE"); -ALIGNED(4) const u8 gUnknown_84593A4[] = _("DOUBLE BATTLE"); -ALIGNED(4) const u8 gUnknown_84593B4[] = _("MULTI BATTLE"); -ALIGNED(4) const u8 gUnknown_84593C4[] = _("POKéMON TRADES"); -ALIGNED(4) const u8 gUnknown_84593D4[] = _("CHAT"); -ALIGNED(4) const u8 gUnknown_84593DC[] = _("CARDS"); -ALIGNED(4) const u8 gUnknown_84593E4[] = _("WONDER CARDS"); -ALIGNED(4) const u8 gUnknown_84593F4[] = _("WONDER NEWS"); -ALIGNED(4) const u8 gUnknown_8459400[] = _("POKéMON JUMP"); -ALIGNED(4) const u8 gUnknown_8459410[] = _("BERRY CRUSH"); -ALIGNED(4) const u8 gUnknown_845941C[] = _("BERRY-PICKING"); -ALIGNED(4) const u8 gUnknown_845942C[] = _("SEARCH"); -ALIGNED(4) const u8 gUnknown_8459434[] = _("ぐるぐるこうかん"); -ALIGNED(4) const u8 gUnknown_8459440[] = _("アイテムトレード"); + +ALIGNED(4) const u8 gUnionRoomActivity_SingleBattle[] = _("SINGLE BATTLE"); +ALIGNED(4) const u8 gUnionRoomActivity_DoubleBattle[] = _("DOUBLE BATTLE"); +ALIGNED(4) const u8 gUnionRoomActivity_MultiBattle[] = _("MULTI BATTLE"); +ALIGNED(4) const u8 gUnionRoomActivity_PokemonTrades[] = _("POKéMON TRADES"); +ALIGNED(4) const u8 gUnionRoomActivity_Chat[] = _("CHAT"); +ALIGNED(4) const u8 gUnionRoomActivity_Cards[] = _("CARDS"); +ALIGNED(4) const u8 gUnionRoomActivity_WonderCards[] = _("WONDER CARDS"); +ALIGNED(4) const u8 gunionRoomActivity_WonderNews[] = _("WONDER NEWS"); +ALIGNED(4) const u8 gUnionRoomActivity_PokemonJump[] = _("POKéMON JUMP"); +ALIGNED(4) const u8 gUnionRoomActivity_BerryCrush[] = _("BERRY CRUSH"); +ALIGNED(4) const u8 gUnionRoomActivity_BerryPicking[] = _("BERRY-PICKING"); +ALIGNED(4) const u8 gUnionRoomActivity_Search[] = _("SEARCH"); +ALIGNED(4) const u8 gUnionRoomActivity_SpinTradeJP[] = _("ぐるぐるこうかん"); +ALIGNED(4) const u8 gUnionRoomActivity_ItemTradeJP[] = _("アイテムトレード"); + ALIGNED(4) const u8 gUnknown_845944C[] = _("It's a NORMAL CARD."); ALIGNED(4) const u8 gUnknown_8459460[] = _("It's a BRONZE CARD!"); ALIGNED(4) const u8 gUnknown_8459474[] = _("It's a COPPER CARD!"); @@ -515,6 +524,7 @@ const u8 *const gUnknown_84594B0[] = { ALIGNED(4) const u8 gUnknown_84594C4[] = _("This is {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}'s\nTRAINER CARD…\l{SPECIAL_F7 0x02}\pPOKéDEX: {SPECIAL_F7 0x03}\nTIME: {SPECIAL_F7 0x04}:{SPECIAL_F7 0x05}\p"); ALIGNED(4) const u8 gUnknown_8459504[] = _("BATTLES: {SPECIAL_F7 0x00} WINS {SPECIAL_F7 0x02} LOSSES\nTRADES: {SPECIAL_F7 0x03} TIMES\p“{SPECIAL_F7 0x04} {SPECIAL_F7 0x05}\n{SPECIAL_F7 0x06} {SPECIAL_F7 0x07}”\p"); + ALIGNED(4) const u8 gUnknown_8459544[] = _("{SPECIAL_F7 0x01}: Glad to have met you!{PAUSE 60}"); ALIGNED(4) const u8 gUnknown_8459564[] = _("{SPECIAL_F7 0x01}: Glad to meet you!{PAUSE 60}"); diff --git a/src/unk_815C980.c b/src/unk_815C980.c deleted file mode 100644 index 09b92c834..000000000 --- a/src/unk_815C980.c +++ /dev/null @@ -1,437 +0,0 @@ -#include "global.h" -#include "malloc.h" -#include "decompress.h" -#include "unk_815C980.h" -#include "main.h" -#include "battle.h" - -struct UnkStruct2 -{ - bool8 isActive; - u8 firstOamId; - u8 field_2; - u8 oamCount; - u8 palTagIndex; - u8 size; - u8 shape; - u8 priority; - u8 xDelta; - u8 field_9; - u16 tileStart; - s16 x; - s16 y; - u16 tileTag; - u16 palTag; - u32 field_14; - s32 field_18; -}; - -struct UnkStruct1 -{ - u32 count; - struct UnkStruct2 *array; -}; - -// this file's functions -static u8 sub_815D244(u8 arg0);; -static void sub_815CC28(struct UnkStruct2 *arg0); -static void sub_815CDDC(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2); -static void sub_815CE90(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2); -static void sub_815CFEC(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2); -static bool32 SharesTileWithAnyActive(u32 id); -static bool32 SharesPalWithAnyActive(u32 id); -static void sub_8035648(void); -static u8 sub_815D324(u32 shape, u32 size); - -// ewram -static EWRAM_DATA struct UnkStruct1 *gUnknown_203F454 = {0}; - -// const rom data -static const u8 gUnknown_8479658[][4] = -{ - {0x01, 0x04, 0x10, 0x40}, - {0x02, 0x04, 0x08, 0x20}, - {0x02, 0x04, 0x08, 0x20}, - {0x00, 0x00, 0x00, 0x00} -}; - -// code -bool32 sub_815C980(u32 count) -{ - u32 i; - - if (gUnknown_203F454 != NULL) - sub_815C9F4(); - - gUnknown_203F454 = Alloc(sizeof(*gUnknown_203F454)); - if (gUnknown_203F454 == NULL) - return FALSE; - - gUnknown_203F454->array = Alloc(sizeof(struct UnkStruct2) * count); - if (gUnknown_203F454->array == NULL) - { - Free(gUnknown_203F454); - return FALSE; - } - - gUnknown_203F454->count = count; - for (i = 0; i < count; i++) - { - gUnknown_203F454->array[i].isActive = FALSE; - gUnknown_203F454->array[i].firstOamId = 0xFF; - } - - return TRUE; -} - -void sub_815C9F4(void) -{ - if (gUnknown_203F454 != NULL) - { - if (gUnknown_203F454->array != NULL) - { - u32 i; - - for (i = 0; i < gUnknown_203F454->count; i++) - sub_815D108(i); - - Free(gUnknown_203F454->array); - } - - FREE_AND_SET_NULL(gUnknown_203F454); - } -} - -bool32 sub_815CA40(u32 id, s32 arg1, const struct UnkStruct3 *arg2) -{ - u32 i; - - if (gUnknown_203F454 == NULL) - return FALSE; - if (gUnknown_203F454->array[id].isActive) - return FALSE; - - gUnknown_203F454->array[id].firstOamId = sub_815D244(arg2->field_1); - if (gUnknown_203F454->array[id].firstOamId == 0xFF) - return FALSE; - - gUnknown_203F454->array[id].tileStart = GetSpriteTileStartByTag(arg2->spriteSheet->tag); - if (gUnknown_203F454->array[id].tileStart == 0xFFFF) - { - if (arg2->spriteSheet->size != 0) - { - gUnknown_203F454->array[id].tileStart = LoadSpriteSheet(arg2->spriteSheet); - } - else - { - struct CompressedSpriteSheet compObjectPic; - - compObjectPic = *(struct CompressedSpriteSheet*)(arg2->spriteSheet); - compObjectPic.size = GetDecompressedDataSize(arg2->spriteSheet->data); - gUnknown_203F454->array[id].tileStart = LoadCompressedSpriteSheet(&compObjectPic); - } - - if (gUnknown_203F454->array[id].tileStart == 0xFFFF) - return FALSE; - } - - gUnknown_203F454->array[id].palTagIndex = IndexOfSpritePaletteTag(arg2->spritePal->tag); - if (gUnknown_203F454->array[id].palTagIndex == 0xFF) - gUnknown_203F454->array[id].palTagIndex = LoadSpritePalette(arg2->spritePal); - - gUnknown_203F454->array[id].field_2 = arg2->field_0_0; - gUnknown_203F454->array[id].oamCount = arg2->field_1; - gUnknown_203F454->array[id].x = arg2->x; - gUnknown_203F454->array[id].y = arg2->y; - gUnknown_203F454->array[id].shape = arg2->shape; - gUnknown_203F454->array[id].size = arg2->size; - gUnknown_203F454->array[id].priority = arg2->priority; - gUnknown_203F454->array[id].xDelta = arg2->xDelta; - gUnknown_203F454->array[id].field_9 = sub_815D324(arg2->shape, arg2->size); - gUnknown_203F454->array[id].tileTag = arg2->spriteSheet->tag; - gUnknown_203F454->array[id].palTag = arg2->spritePal->tag; - gUnknown_203F454->array[id].isActive = TRUE; - gUnknown_203F454->array[id].field_14 = 1; - - for (i = 1; i < arg2->field_1; i++) - gUnknown_203F454->array[id].field_14 *= 10; - - sub_815CC28(&gUnknown_203F454->array[id]); - sub_815CD70(id, arg1); - - return TRUE; -} - -static void sub_815CC28(struct UnkStruct2 *arg0) -{ - u32 i; - u32 oamId = arg0->firstOamId; - u32 x = arg0->x; - u32 oamCount = arg0->oamCount + 1; - - CpuFill16(0, &gMain.oamBuffer[oamId], sizeof(struct OamData) * oamCount); - for (i = 0, oamId = arg0->firstOamId; i < oamCount; i++, oamId++) - { - gMain.oamBuffer[oamId].y = arg0->y; - gMain.oamBuffer[oamId].x = x; - gMain.oamBuffer[oamId].shape = arg0->shape; - gMain.oamBuffer[oamId].size = arg0->size; - gMain.oamBuffer[oamId].tileNum = arg0->tileStart; - gMain.oamBuffer[oamId].priority = arg0->priority; - gMain.oamBuffer[oamId].paletteNum = arg0->palTagIndex; - - x += arg0->xDelta; - } - - oamId--; - gMain.oamBuffer[oamId].x = arg0->x - arg0->xDelta; - gMain.oamBuffer[oamId].affineMode = 2; - gMain.oamBuffer[oamId].tileNum = arg0->tileStart + (arg0->field_9 * 10); -} - -void sub_815CD70(u32 id, s32 arg1) -{ - bool32 r2; - - if (gUnknown_203F454 == NULL) - return; - if (!gUnknown_203F454->array[id].isActive) - return; - - gUnknown_203F454->array[id].field_18 = arg1; - if (arg1 < 0) - { - r2 = TRUE; - arg1 *= -1; - } - else - { - r2 = FALSE; - } - - switch (gUnknown_203F454->array[id].field_2) - { - case 0: - default: - sub_815CDDC(&gUnknown_203F454->array[id], arg1, r2); - break; - case 1: - sub_815CE90(&gUnknown_203F454->array[id], arg1, r2); - break; - case 2: - sub_815CFEC(&gUnknown_203F454->array[id], arg1, r2); - break; - } -} - -static void sub_815CDDC(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2) -{ - u32 r5 = arg0->field_14; - u32 oamId = arg0->firstOamId; - - while (r5 != 0) - { - u32 r4 = arg1 / r5; - arg1 -= (r4 * r5); - r5 /= 10; - - gMain.oamBuffer[oamId].tileNum = (r4 * arg0->field_9) + arg0->tileStart; - oamId++; - } - - if (arg2) - gMain.oamBuffer[oamId].affineMode = 0; - else - gMain.oamBuffer[oamId].affineMode = 2; -} - -static void sub_815CE90(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2) -{ - u32 r5 = arg0->field_14; - static int gUnknown_3002078; - static int gUnknown_300207C; - static int gUnknown_3002080; - - gUnknown_3002078 = arg0->firstOamId; - gUnknown_300207C = 0; - gUnknown_3002080 = -1; - - while (r5 != 0) - { - u32 r4 = arg1 / r5; - arg1 -= (r4 * r5); - r5 /= 10; - - if (r4 != 0 || gUnknown_3002080 != -1 || r5 == 0) - { - gMain.oamBuffer[gUnknown_3002078].tileNum = (r4 * arg0->field_9) + arg0->tileStart; - gMain.oamBuffer[gUnknown_3002078].affineMode = 0; - - if (gUnknown_3002080 == -1) - gUnknown_3002080 = gUnknown_300207C; - } - else - { - gMain.oamBuffer[gUnknown_3002078].affineMode = 2; - } - - gUnknown_3002078++; - gUnknown_300207C++; - } - - if (arg2) - { - gMain.oamBuffer[gUnknown_3002078].affineMode = 0; - gMain.oamBuffer[gUnknown_3002078].x = arg0->x + ((gUnknown_3002080 - 1) * arg0->xDelta); - } - else - { - gMain.oamBuffer[gUnknown_3002078].affineMode = 2; - } -} - -static void sub_815CFEC(struct UnkStruct2 *arg0, s32 arg1, bool32 arg2) -{ - u32 r5 = arg0->field_14; - u32 oamId = arg0->firstOamId; - u32 var_28 = 0; - s32 r9 = 0; - - while (r5 != 0) - { - u32 r4 = arg1 / r5; - arg1 -= (r4 * r5); - r5 /= 10; - - if (r4 != 0 || var_28 != 0 || r5 == 0) - { - var_28 = 1; - gMain.oamBuffer[oamId].tileNum = (r4 * arg0->field_9) + arg0->tileStart; - gMain.oamBuffer[oamId].affineMode = 0; - - oamId++; - r9++; - } - } - - while (r9 < arg0->oamCount) - { - gMain.oamBuffer[oamId].affineMode = 2; - oamId++; - r9++; - } - - if (arg2) - gMain.oamBuffer[oamId].affineMode = 0; - else - gMain.oamBuffer[oamId].affineMode = 2; -} - -void sub_815D108(u32 id) -{ - s32 oamId, oamCount, i; - - if (gUnknown_203F454 == NULL) - return; - if (!gUnknown_203F454->array[id].isActive) - return; - - oamCount = gUnknown_203F454->array[id].oamCount + 1; - oamId = gUnknown_203F454->array[id].firstOamId; - - for (i = 0; i < oamCount; i++, oamId++) - gMain.oamBuffer[oamId].affineMode = 2; - - if (!SharesTileWithAnyActive(id)) - FreeSpriteTilesByTag(gUnknown_203F454->array[id].tileTag); - if (!SharesPalWithAnyActive(id)) - FreeSpritePaletteByTag(gUnknown_203F454->array[id].palTag); - - gUnknown_203F454->array[id].isActive = FALSE; -} - -void sub_815D1A8(u32 id, bool32 arg1) -{ - s32 oamId, oamCount, i; - - if (gUnknown_203F454 == NULL) - return; - if (!gUnknown_203F454->array[id].isActive) - return; - - oamCount = gUnknown_203F454->array[id].oamCount + 1; - oamId = gUnknown_203F454->array[id].firstOamId; - if (arg1) - { - for (i = 0; i < oamCount; i++, oamId++) - gMain.oamBuffer[oamId].affineMode = 2; - } - else - { - for (i = 0; i < oamCount; i++, oamId++) - gMain.oamBuffer[oamId].affineMode = 0; - - sub_815CD70(id, gUnknown_203F454->array[id].field_18); - } -} - -static u8 sub_815D244(u8 arg0) -{ - u32 i; - u16 oamCount = 64; - - for (i = 0; i < gUnknown_203F454->count; i++) - { - if (!gUnknown_203F454->array[i].isActive) - { - if (gUnknown_203F454->array[i].firstOamId != 0xFF && gUnknown_203F454->array[i].oamCount <= arg0) - return gUnknown_203F454->array[i].firstOamId; - } - else - { - oamCount += 1 + gUnknown_203F454->array[i].oamCount; - } - } - - if (oamCount + arg0 + 1 > 128) - return 0xFF; - else - return oamCount; -} - -static bool32 SharesTileWithAnyActive(u32 id) -{ - u32 i; - - for (i = 0; i < gUnknown_203F454->count; i++) - { - if (gUnknown_203F454->array[i].isActive && i != id - && gUnknown_203F454->array[i].tileTag == gUnknown_203F454->array[id].tileTag) - { - return TRUE; - } - } - - return FALSE; -} - -static bool32 SharesPalWithAnyActive(u32 id) -{ - u32 i; - - for (i = 0; i < gUnknown_203F454->count; i++) - { - if (gUnknown_203F454->array[i].isActive && i != id - && gUnknown_203F454->array[i].palTag == gUnknown_203F454->array[id].palTag) - { - return TRUE; - } - } - - return FALSE; -} - -static u8 sub_815D324(u32 shape, u32 size) -{ - return gUnknown_8479658[shape][size]; -} diff --git a/src/util.c b/src/util.c index 93aa60f84..b32799584 100644 --- a/src/util.c +++ b/src/util.c @@ -1,5 +1,4 @@ #include "global.h" -#include "util.h" const u32 gBitTable[] = { diff --git a/src/vs_seeker.c b/src/vs_seeker.c index 417b281d9..60f5f338f 100644 --- a/src/vs_seeker.c +++ b/src/vs_seeker.c @@ -18,19 +18,22 @@ #include "battle.h" #include "battle_setup.h" #include "random.h" -#include "event_object_movement.h" #include "field_player_avatar.h" -#include "event_object_80688E4.h" -#include "event_object_8097404.h" -#include "unk_810c3a4.h" #include "vs_seeker.h" -#include "constants/movement_commands.h" -#include "constants/object_events.h" +#include "constants/event_object_movement.h" +#include "constants/event_objects.h" #include "constants/trainers.h" #include "constants/maps.h" #include "constants/items.h" #include "constants/quest_log.h" +enum +{ + VSSEEKER_NOT_CHARGED, + VSSEEKER_NO_ONE_IN_RANGE, + VSSEEKER_CAN_USE, +}; + typedef enum { VSSEEKER_RESPONSE_NO_RESPONSE, @@ -548,29 +551,35 @@ static const VsSeekerData sVsSeekerData[] = { }; static const u8 gUnknown_8453F5C[] = { - delay_16, - delay_16, - delay_16, - step_end + MOVEMENT_ACTION_DELAY_16, + MOVEMENT_ACTION_DELAY_16, + MOVEMENT_ACTION_DELAY_16, + MOVEMENT_ACTION_STEP_END }; static const u8 gUnknown_8453F60[] = { - emote_exclamation_mark, - step_end + MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK, + MOVEMENT_ACTION_STEP_END }; static const u8 sMovementScript_TrainerNoRematch[] = { - emote_x, - step_end + MOVEMENT_ACTION_EMOTE_X, + MOVEMENT_ACTION_STEP_END }; static const u8 sMovementScript_TrainerRematch[] = { - walk_in_place_fastest_down, - emote_double_exclamation_mark, - step_end + MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN, + MOVEMENT_ACTION_EMOTE_DOUBLE_EXCL_MARK, + MOVEMENT_ACTION_STEP_END }; -static const u8 gUnknown_8453F67[] = { 0x08, 0x08, 0x07, 0x09, 0x0a }; +static const u8 gUnknown_8453F67[] = { + MOVEMENT_TYPE_FACE_DOWN, + MOVEMENT_TYPE_FACE_DOWN, + MOVEMENT_TYPE_FACE_UP, + MOVEMENT_TYPE_FACE_LEFT, + MOVEMENT_TYPE_FACE_RIGHT +}; // text @@ -733,20 +742,20 @@ void Task_VsSeeker_0(u8 taskId) sVsSeeker = AllocZeroed(sizeof(struct VsSeekerStruct)); GatherNearbyTrainerInfo(); respval = CanUseVsSeeker(); - if (respval == 0) + if (respval == VSSEEKER_NOT_CHARGED) { Free(sVsSeeker); - DisplayItemMessageOnField(taskId, 2, gUnknown_81C137C, sub_80A1E0C); + DisplayItemMessageOnField(taskId, 2, VSSeeker_Text_BatteryNotChargedNeedXSteps, sub_80A1E0C); } - else if (respval == 1) + else if (respval == VSSEEKER_NO_ONE_IN_RANGE) { Free(sVsSeeker); - DisplayItemMessageOnField(taskId, 2, gUnknown_81C13D6, sub_80A1E0C); + DisplayItemMessageOnField(taskId, 2, VSSeeker_Text_NoTrainersWithinRange, sub_80A1E0C); } - else if (respval == 2) + else if (respval == VSSEEKER_CAN_USE) { ItemUse_SetQuestLogEvent(QL_EVENT_USED_ITEM, 0, gSpecialVar_ItemId, 0xffff); - FieldEffectStart(FLDEFF_UNK_41); // TODO: name this enum + FieldEffectStart(FLDEFF_USE_VS_SEEKER); gTasks[taskId].func = Task_VsSeeker_1; gTasks[taskId].data[0] = 15; } @@ -772,7 +781,7 @@ static void Task_VsSeeker_2(u8 taskId) data[2]++; } - if (!FieldEffectActiveListContains(FLDEFF_UNK_41)) + if (!FieldEffectActiveListContains(FLDEFF_USE_VS_SEEKER)) { data[1] = 0; data[2] = 0; @@ -812,13 +821,13 @@ static void Task_VsSeeker_3(u8 taskId) { if (ScriptMovement_IsObjectMovementFinished(0xFF, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup)) { - if (sVsSeeker->responseCode == 0) + if (sVsSeeker->responseCode == VSSEEKER_RESPONSE_NO_RESPONSE) { - DisplayItemMessageOnField(taskId, 2, gUnknown_81C1429, sub_80A1E0C); + DisplayItemMessageOnField(taskId, 2, VSSeeker_Text_TrainersNotReady, sub_80A1E0C); } else { - if (sVsSeeker->responseCode == 2) + if (sVsSeeker->responseCode == VSSEEKER_RESPONSE_FOUND_REMATCHES) StartAllRespondantIdleMovements(); ClearDialogWindowAndFrame(0, 1); sub_80696C0(); @@ -829,20 +838,20 @@ static void Task_VsSeeker_3(u8 taskId) } } -u8 CanUseVsSeeker(void) +static u8 CanUseVsSeeker(void) { u8 vsSeekerChargeSteps = gSaveBlock1Ptr->trainerRematchStepCounter; if (vsSeekerChargeSteps == 100) { if (GetRematchableTrainerLocalId() == 0xFF) - return 1; + return VSSEEKER_NO_ONE_IN_RANGE; else - return 2; + return VSSEEKER_CAN_USE; } else { TV_PrintIntToStringVar(0, 100 - vsSeekerChargeSteps); - return 0; + return VSSEEKER_NOT_CHARGED; } } @@ -926,11 +935,11 @@ static u8 GetVsSeekerResponseInArea(const VsSeekerData * a0) PlaySE(SE_PIN); FlagSet(FLAG_SYS_VS_SEEKER_CHARGING); sub_810C640(); - return 2; + return VSSEEKER_RESPONSE_FOUND_REMATCHES; } if (sVsSeeker->trainerHasNotYetBeenFought) - return 1; - return 0; + return VSSEEKER_RESPONSE_UNFOUGHT_TRAINERS; + return VSSEEKER_RESPONSE_NO_RESPONSE; } void sub_810CB90(void) @@ -957,7 +966,7 @@ void sub_810CB90(void) if (gSelectedObjectEvent == sp0) r4_2->movementType = gUnknown_8453F67[r4_2->facingDirection]; else - r4_2->movementType = 0x08; + r4_2->movementType = MOVEMENT_TYPE_FACE_DOWN; } } } @@ -1077,7 +1086,7 @@ s32 GetRematchTrainerId(u16 a0) return sVsSeekerData[i].trainerIdxs[j]; } -u8 ScrSpecial_GetTrainerEyeRematchFlag(void) // unreferenced, or reference not disassembled +u8 IsTrainerReadyForRematch(void) { return sub_810CED0(sVsSeekerData, gTrainerBattleOpponent_A); } @@ -1127,32 +1136,32 @@ static u8 GetRunningBehaviorFromGraphicsId(u8 graphicsId) { switch (graphicsId) { - case OBJECT_EVENT_GFX_LITTLE_GIRL: - case OBJECT_EVENT_GFX_YOUNGSTER: - case OBJECT_EVENT_GFX_BOY: - case OBJECT_EVENT_GFX_BUG_CATCHER: - case OBJECT_EVENT_GFX_LASS: - case OBJECT_EVENT_GFX_WOMAN_1: - case OBJECT_EVENT_GFX_BATTLE_GIRL: - case OBJECT_EVENT_GFX_MAN: - case OBJECT_EVENT_GFX_ROCKER: - case OBJECT_EVENT_GFX_WOMAN_2: - case OBJECT_EVENT_GFX_BEAUTY: - case OBJECT_EVENT_GFX_BALDING_MAN: - case OBJECT_EVENT_GFX_TUBER_F: - case OBJECT_EVENT_GFX_CAMPER: - case OBJECT_EVENT_GFX_PICNICKER: - case OBJECT_EVENT_GFX_COOLTRAINER_M: - case OBJECT_EVENT_GFX_COOLTRAINER_F: - case OBJECT_EVENT_GFX_SWIMMER_M_LAND: - case OBJECT_EVENT_GFX_SWIMMER_F_LAND: - case OBJECT_EVENT_GFX_BLACKBELT: - case OBJECT_EVENT_GFX_HIKER: - case OBJECT_EVENT_GFX_SAILOR: + case OBJ_EVENT_GFX_LITTLE_GIRL: + case OBJ_EVENT_GFX_YOUNGSTER: + case OBJ_EVENT_GFX_BOY: + case OBJ_EVENT_GFX_BUG_CATCHER: + case OBJ_EVENT_GFX_LASS: + case OBJ_EVENT_GFX_WOMAN_1: + case OBJ_EVENT_GFX_BATTLE_GIRL: + case OBJ_EVENT_GFX_MAN: + case OBJ_EVENT_GFX_ROCKER: + case OBJ_EVENT_GFX_WOMAN_2: + case OBJ_EVENT_GFX_BEAUTY: + case OBJ_EVENT_GFX_BALDING_MAN: + case OBJ_EVENT_GFX_TUBER_F: + case OBJ_EVENT_GFX_CAMPER: + case OBJ_EVENT_GFX_PICNICKER: + case OBJ_EVENT_GFX_COOLTRAINER_M: + case OBJ_EVENT_GFX_COOLTRAINER_F: + case OBJ_EVENT_GFX_SWIMMER_M_LAND: + case OBJ_EVENT_GFX_SWIMMER_F_LAND: + case OBJ_EVENT_GFX_BLACKBELT: + case OBJ_EVENT_GFX_HIKER: + case OBJ_EVENT_GFX_SAILOR: return 0x4e; - case OBJECT_EVENT_GFX_TUBER_M_1: - case OBJECT_EVENT_GFX_SWIMMER_M_WATER: - case OBJECT_EVENT_GFX_SWIMMER_F_WATER: + case OBJ_EVENT_GFX_TUBER_M_1: + case OBJ_EVENT_GFX_SWIMMER_M_WATER: + case OBJ_EVENT_GFX_SWIMMER_F_WATER: return 0x4f; default: return 0x4d; diff --git a/src/wild_encounter.c b/src/wild_encounter.c index b32eb583a..cf495db56 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -367,11 +367,11 @@ bool8 StandardWildEncounter(u32 currMetatileBehavior, u16 previousMetatileBehavi headerId = GetCurrentMapWildMonHeaderId(); if (headerId != 0xFFFF) { - if (sub_8058F1C(currMetatileBehavior, 4) == TRUE) + if (GetMetatileAttributeFromRawMetatileBehavior(currMetatileBehavior, 4) == TRUE) { if (gWildMonHeaders[headerId].landMonsInfo == NULL) return FALSE; - else if (previousMetatileBehavior != sub_8058F1C(currMetatileBehavior, 0) && !DoGlobalWildEncounterDiceRoll()) + else if (previousMetatileBehavior != GetMetatileAttributeFromRawMetatileBehavior(currMetatileBehavior, 0) && !DoGlobalWildEncounterDiceRoll()) return FALSE; if (DoWildEncounterRateTest(gWildMonHeaders[headerId].landMonsInfo->encounterRate, FALSE) != TRUE) { @@ -387,7 +387,7 @@ bool8 StandardWildEncounter(u32 currMetatileBehavior, u16 previousMetatileBehavi return FALSE; } - BattleSetup_StartRoamerBattle(); + StartRoamerBattle(); return TRUE; } else @@ -396,7 +396,7 @@ bool8 StandardWildEncounter(u32 currMetatileBehavior, u16 previousMetatileBehavi // try a regular wild land encounter if (TryGenerateWildMon(gWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, WILD_CHECK_REPEL) == TRUE) { - BattleSetup_StartWildBattle(); + StartWildBattle(); return TRUE; } else @@ -405,12 +405,12 @@ bool8 StandardWildEncounter(u32 currMetatileBehavior, u16 previousMetatileBehavi } } } - else if (sub_8058F1C(currMetatileBehavior, 4) == 2 - || (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING) && MetatileBehavior_IsBridge(sub_8058F1C(currMetatileBehavior, 0)) == TRUE)) + else if (GetMetatileAttributeFromRawMetatileBehavior(currMetatileBehavior, 4) == 2 + || (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING) && MetatileBehavior_IsBridge(GetMetatileAttributeFromRawMetatileBehavior(currMetatileBehavior, 0)) == TRUE)) { if (gWildMonHeaders[headerId].waterMonsInfo == NULL) return FALSE; - else if (previousMetatileBehavior != sub_8058F1C(currMetatileBehavior, 0) && !DoGlobalWildEncounterDiceRoll()) + else if (previousMetatileBehavior != GetMetatileAttributeFromRawMetatileBehavior(currMetatileBehavior, 0) && !DoGlobalWildEncounterDiceRoll()) return FALSE; else if (DoWildEncounterRateTest(gWildMonHeaders[headerId].waterMonsInfo->encounterRate, FALSE) != TRUE) { @@ -426,14 +426,14 @@ bool8 StandardWildEncounter(u32 currMetatileBehavior, u16 previousMetatileBehavi return FALSE; } - BattleSetup_StartRoamerBattle(); + StartRoamerBattle(); return TRUE; } else // try a regular surfing encounter { if (TryGenerateWildMon(gWildMonHeaders[headerId].waterMonsInfo, WILD_AREA_WATER, WILD_CHECK_REPEL) == TRUE) { - BattleSetup_StartWildBattle(); + StartWildBattle(); return TRUE; } else @@ -447,7 +447,7 @@ bool8 StandardWildEncounter(u32 currMetatileBehavior, u16 previousMetatileBehavi return FALSE; } -void ScrSpecial_RockSmashWildEncounter(void) +void RockSmashWildEncounter(void) { u16 headerIdx = GetCurrentMapWildMonHeaderId(); if (headerIdx == 0xFFFF) @@ -458,7 +458,7 @@ void ScrSpecial_RockSmashWildEncounter(void) gSpecialVar_Result = FALSE; else if (TryGenerateWildMon(gWildMonHeaders[headerIdx].rockSmashMonsInfo, WILD_AREA_ROCKS, WILD_CHECK_REPEL) == TRUE) { - BattleSetup_StartWildBattle(); + StartWildBattle(); gSpecialVar_Result = TRUE; } else @@ -474,11 +474,11 @@ bool8 SweetScentWildEncounter(void) headerId = GetCurrentMapWildMonHeaderId(); if (headerId != 0xFFFF) { - if (sub_8058F48(x, y, 4) == 1) + if (MapGridGetMetatileAttributeAt(x, y, 4) == 1) { if (TryStartRoamerEncounter() == TRUE) { - BattleSetup_StartRoamerBattle(); + StartRoamerBattle(); return TRUE; } @@ -487,14 +487,14 @@ bool8 SweetScentWildEncounter(void) TryGenerateWildMon(gWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, 0); - BattleSetup_StartWildBattle(); + StartWildBattle(); return TRUE; } - else if (sub_8058F48(x, y, 4) == 2) + else if (MapGridGetMetatileAttributeAt(x, y, 4) == 2) { if (TryStartRoamerEncounter() == TRUE) { - BattleSetup_StartRoamerBattle(); + StartRoamerBattle(); return TRUE; } @@ -502,7 +502,7 @@ bool8 SweetScentWildEncounter(void) return FALSE; TryGenerateWildMon(gWildMonHeaders[headerId].waterMonsInfo, WILD_AREA_WATER, 0); - BattleSetup_StartWildBattle(); + StartWildBattle(); return TRUE; } } @@ -524,7 +524,7 @@ void FishingWildEncounter(u8 rod) { GenerateFishingEncounter(gWildMonHeaders[GetCurrentMapWildMonHeaderId()].fishingMonsInfo, rod); IncrementGameStat(GAME_STAT_FISHING_CAPTURES); - BattleSetup_StartWildBattle(); + StartWildBattle(); } u16 GetLocalWildMon(bool8 *isWaterMon) @@ -711,7 +711,7 @@ void ResetEncounterRateModifiers(void) static bool8 HandleWildEncounterCooldown(u32 currMetatileBehavior) { - u8 unk = sub_8058F1C(currMetatileBehavior, 4); + u8 unk = GetMetatileAttributeFromRawMetatileBehavior(currMetatileBehavior, 4); u32 minSteps; u32 encRate; if (unk == 0) @@ -763,19 +763,19 @@ bool8 TryStandardWildEncounter(u32 currMetatileBehavior) { if (!HandleWildEncounterCooldown(currMetatileBehavior)) { - sWildEncounterData.prevMetatileBehavior = sub_8058F1C(currMetatileBehavior, 0); + sWildEncounterData.prevMetatileBehavior = GetMetatileAttributeFromRawMetatileBehavior(currMetatileBehavior, 0); return FALSE; } else if (StandardWildEncounter(currMetatileBehavior, sWildEncounterData.prevMetatileBehavior) == TRUE) { sWildEncounterData.encounterRateBuff = 0; sWildEncounterData.stepsSinceLastEncounter = 0; - sWildEncounterData.prevMetatileBehavior = sub_8058F1C(currMetatileBehavior, 0); + sWildEncounterData.prevMetatileBehavior = GetMetatileAttributeFromRawMetatileBehavior(currMetatileBehavior, 0); return TRUE; } else { - sWildEncounterData.prevMetatileBehavior = sub_8058F1C(currMetatileBehavior, 0); + sWildEncounterData.prevMetatileBehavior = GetMetatileAttributeFromRawMetatileBehavior(currMetatileBehavior, 0); return FALSE; } } diff --git a/src/wild_pokemon_area.c b/src/wild_pokemon_area.c index 3c5afaf25..ccdd27b40 100644 --- a/src/wild_pokemon_area.c +++ b/src/wild_pokemon_area.c @@ -6,7 +6,7 @@ #include "overworld.h" #include "pokedex_area_markers.h" #include "constants/vars.h" -#include "constants/region_map.h" +#include "constants/region_map_sections.h" #include "constants/species.h" struct SeviiDexArea @@ -244,7 +244,7 @@ static s32 CountRoamerNests(u16 species, struct Subsprite * subsprites) roamerIdx = GetRoamerIndex(species); if (roamerIdx < 0) return 0; - if (sRoamerPairs[roamerIdx].starter != ScrSpecial_GetStarter()) + if (sRoamerPairs[roamerIdx].starter != GetStarterSpecies()) return 0; roamerLocation = GetRoamerLocationMapSectionId(); dexAreaEntryLUTidx = 0; diff --git a/src/wireless_communication_status_screen.c b/src/wireless_communication_status_screen.c index 9be2823aa..a284a6d16 100644 --- a/src/wireless_communication_status_screen.c +++ b/src/wireless_communication_status_screen.c @@ -13,40 +13,32 @@ #include "dynamic_placeholder_text_util.h" #include "overworld.h" #include "sound.h" +#include "strings.h" #include "menu.h" #include "librfu.h" #include "link_rfu.h" #include "union_room.h" #include "constants/songs.h" +#include "constants/union_room.h" struct WirelessCommunicationStatusScreenStruct { - u32 field_00[4]; - u32 field_10[4]; - u32 field_20[16]; - u8 field_60; - u8 field_61; + u32 counts[4]; + u32 lastCounts[4]; + u32 activities[16]; + u8 taskId; + u8 rfuTaskId; u8 filler_62[0xA]; }; -struct WirelessCommunicationStatusScreenStruct * gUnknown_3002040; +static struct WirelessCommunicationStatusScreenStruct * sWCSS; -extern const u8 gUnknown_841E2B4[]; -extern const u8 gUnknown_841E2BF[]; -extern const u8 gUnknown_841E2C9[]; -extern const u8 gUnknown_841E2D4[]; -extern const u8 gUnknown_841E245[]; -extern const u8 gUnknown_841E263[]; -extern const u8 gUnknown_841E273[]; -extern const u8 gUnknown_841E284[]; -extern const u8 gUnknown_841E29E[]; +static void CB2_InitWirelessCommunicationScreen(void); +static void Task_WirelessCommunicationScreen(u8 taskId); +static void WCSS_AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 palIdx); +static bool32 UpdateCommunicationCounts(u32 * counts, u32 * lastCounts, u32 * activities, u8 taskId); -void sub_814F1E4(void); -void sub_814F46C(u8 taskId); -void sub_814F65C(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 palIdx); -bool32 sub_814F7E4(u32 * a0, u32 * a1, u32 * a2, u8 taskId); - -const u16 gUnknown_846F4D0[][16] = { +static const u16 sWCSS_Palettes[][16] = { INCBIN_U16("graphics/misc/unk_846f4d0.gbapal"), INCBIN_U16("graphics/misc/unk_846f4f0.gbapal"), INCBIN_U16("graphics/misc/unk_846f510.gbapal"), @@ -65,10 +57,10 @@ const u16 gUnknown_846F4D0[][16] = { INCBIN_U16("graphics/misc/unk_846f6b0.gbapal") }; -const u32 gUnknown_846F6D0[] = INCBIN_U32("graphics/misc/unk_846f6d0.4bpp.lz"); -const u16 gUnknown_846F8E0[] = INCBIN_U16("graphics/misc/unk_846f8e0.bin"); +static const u32 sBgTilesGfx[] = INCBIN_U32("graphics/misc/unk_846f6d0.4bpp.lz"); +static const u16 sBgTilemap[] = INCBIN_U16("graphics/misc/unk_846f8e0.bin"); -const struct BgTemplate gUnknown_846FA74[] = { +static const struct BgTemplate sBGTemplates[] = { { .bg = 0, .charBaseIndex = 2, @@ -88,7 +80,7 @@ const struct BgTemplate gUnknown_846FA74[] = { } }; -const struct WindowTemplate gUnknown_846FA7C[] = { +static const struct WindowTemplate sWindowTemplates[] = { { .bg = 0x00, .tilemapLeft = 0x03, @@ -116,47 +108,51 @@ const struct WindowTemplate gUnknown_846FA7C[] = { }, DUMMY_WIN_TEMPLATE }; -const u8 *const gUnknown_846FA9C[] = { +static const u8 *const gUnknown_846FA9C[] = { gUnknown_841E2B4, gUnknown_841E2BF, gUnknown_841E2C9, gUnknown_841E2D4 }; -const u8 *const gUnknown_846FAAC[] = { - gUnknown_841E245, - gUnknown_841E263, - gUnknown_841E273, - gUnknown_841E284, - gUnknown_841E29E + +static const u8 *const sHeaderTextPtrs[] = { + gText_WirelessCommunicationStatus, + gText_PeopleTrading, + gText_PeopleBattling, + gText_PeopleInUnionRoom, + gText_PeopleCommunicating }; -const u8 gUnknown_846FAC0[][3] = { - {0x01, 0x01, 0x02}, - {0x02, 0x01, 0x02}, - {0x03, 0x01, 0x04}, - {0x04, 0x00, 0x02}, - {0x15, 0x03, 0x02}, - {0x16, 0x03, 0x02}, - {0x09, 0x04, 0x00}, - {0x0a, 0x04, 0x00}, - {0x0b, 0x04, 0x00}, - {0x0c, 0xff, 0x00}, - {0x0d, 0x00, 0x00}, - {0x0e, 0xff, 0x00}, - {0x0f, 0x04, 0x00}, - {0x10, 0xff, 0x00}, - {0x40, 0x02, 0x01}, - {0x41, 0x02, 0x02}, - {0x44, 0x02, 0x02}, - {0x45, 0x02, 0x00}, - {0x48, 0x02, 0x02}, - {0x54, 0x02, 0x01}, - {0x53, 0x02, 0x02}, - {0x51, 0x02, 0x01}, - {0x52, 0x02, 0x01} +static const u8 sCountParams[][3] = { + // activity, count idx, by + // by=0 means count all + // UB: no check for count idx == -1 + {ACTIVITY_BATTLE, 1, 2}, + {ACTIVITY_DBLBATTLE, 1, 2}, + {ACTIVITY_MLTBATTLE, 1, 4}, + {ACTIVITY_TRADE, 0, 2}, + {ACTIVITY_WCARD2, 3, 2}, + {ACTIVITY_WNEWS2, 3, 2}, + {ACTIVITY_PJUMP, 4, 0}, + {ACTIVITY_BCRUSH, 4, 0}, + {ACTIVITY_BPICK, 4, 0}, + {ACTIVITY_SEARCH, -1, 0}, + {ACTIVITY_SPINTRADE, 0, 0}, + {ACTIVITY_ITEMTRADE, -1, 0}, + {0x0f, 4, 0}, + {0x10, -1, 0}, + {0x40, 2, 1}, + {ACTIVITY_BATTLE | 0x40, 2, 2}, + {ACTIVITY_TRADE | 0x40, 2, 2}, + {ACTIVITY_CHAT | 0x40, 2, 0}, + {ACTIVITY_CARD | 0x40, 2, 2}, + {20 | 0x40, 2, 1}, + {19 | 0x40, 2, 2}, + {ACTIVITY_ACCEPT | 0x40, 2, 1}, + {ACTIVITY_DECLINE | 0x40, 2, 1} }; -void sub_814F19C(void) +static void CB2_RunWirelessCommunicationScreen(void) { if (!IsDma3ManagerBusyWithBgCopy()) { @@ -168,50 +164,50 @@ void sub_814F19C(void) } } -void sub_814F1C0(void) +static void VBlankCB_WirelessCommunicationScreen(void) { LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); } -void sub_814F1D4(void) +void ShowWirelessCommunicationScreen(void) { - SetMainCallback2(sub_814F1E4); + SetMainCallback2(CB2_InitWirelessCommunicationScreen); } -void sub_814F1E4(void) +static void CB2_InitWirelessCommunicationScreen(void) { SetGpuReg(REG_OFFSET_DISPCNT, 0); - gUnknown_3002040 = AllocZeroed(sizeof(*gUnknown_3002040)); + sWCSS = AllocZeroed(sizeof(*sWCSS)); SetVBlankCallback(NULL); - ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_846FA74, NELEMS(gUnknown_846FA74)); + ResetBgsAndClearDma3BusyFlags(FALSE); + InitBgsFromTemplates(0, sBGTemplates, NELEMS(sBGTemplates)); SetBgTilemapBuffer(1, Alloc(0x800)); SetBgTilemapBuffer(0, Alloc(0x800)); - DecompressAndLoadBgGfxUsingHeap(1, gUnknown_846F6D0, 0, 0, 0); - CopyToBgTilemapBuffer(1, gUnknown_846F8E0, 0, 0); - InitWindows(gUnknown_846FA7C); + DecompressAndLoadBgGfxUsingHeap(1, sBgTilesGfx, 0, 0, 0); + CopyToBgTilemapBuffer(1, sBgTilemap, 0, 0); + InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); ResetPaletteFade(); ResetSpriteData(); ResetTasks(); ScanlineEffect_Stop(); m4aSoundVSyncOn(); - SetVBlankCallback(sub_814F1C0); - gUnknown_3002040->field_60 = CreateTask(sub_814F46C, 0); - gUnknown_3002040->field_61 = sub_8116DE0(); - gUnknown_3002040->field_10[3] = 1; + SetVBlankCallback(VBlankCB_WirelessCommunicationScreen); + sWCSS->taskId = CreateTask(Task_WirelessCommunicationScreen, 0); + sWCSS->rfuTaskId = CreateTask_ListenToWireless(); + sWCSS->lastCounts[3] = 1; ChangeBgX(0, 0, 0); ChangeBgY(0, 0, 0); ChangeBgX(1, 0, 0); ChangeBgY(1, 0, 0); - LoadPalette(gUnknown_846F4D0, 0, 0x20); + LoadPalette(sWCSS_Palettes, 0, 0x20); Menu_LoadStdPalAt(0xf0); DynamicPlaceholderTextUtil_Reset(); FillBgTilemapBufferRect(0, 0x000, 0, 0, 32, 32, 0xF); CopyBgTilemapBufferToVram(1); - SetMainCallback2(sub_814F19C); + SetMainCallback2(CB2_RunWirelessCommunicationScreen); RunTasks(); RunTextPrinters(); AnimateSprites(); @@ -219,7 +215,7 @@ void sub_814F1E4(void) UpdatePaletteFade(); } -void sub_814F32C(void) +static void ExitWirelessCommunicationStatusScreen(void) { s32 i; @@ -228,55 +224,55 @@ void sub_814F32C(void) { Free(GetBgTilemapBuffer(i)); } - Free(gUnknown_3002040); + Free(sWCSS); SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); } -void sub_814F364(s16 * unk0, s16 * unk1) +static void WCSS_CyclePalette(s16 * frameCtr_p, s16 * palIdx_p) { s32 idx; - (*unk0)++; - if (*unk0 > 5) + (*frameCtr_p)++; + if (*frameCtr_p > 5) { - (*unk1)++; - if (*unk1 == 14) + (*palIdx_p)++; + if (*palIdx_p == 14) { - *unk1 = 0; + *palIdx_p = 0; } - *unk0 = 0; + *frameCtr_p = 0; } - idx = *unk1 + 2; - LoadPalette(gUnknown_846F4D0[idx], 0, 16); + idx = *palIdx_p + 2; + LoadPalette(sWCSS_Palettes[idx], 0, 16); } -void sub_814F3A8(void) +static void PrintHeaderTexts(void) { s32 i; u32 width; - FillWindowPixelBuffer(0, 0); - FillWindowPixelBuffer(1, 0); - FillWindowPixelBuffer(2, 0); - width = 0xC0 - GetStringWidth(3, gUnknown_846FAAC[0], 0); - sub_814F65C(0, 3, gUnknown_846FAAC[0], width / 2, 6, 3); + FillWindowPixelBuffer(0, PIXEL_FILL(0)); + FillWindowPixelBuffer(1, PIXEL_FILL(0)); + FillWindowPixelBuffer(2, PIXEL_FILL(0)); + width = 0xC0 - GetStringWidth(3, sHeaderTextPtrs[0], 0); + WCSS_AddTextPrinterParameterized(0, 3, sHeaderTextPtrs[0], width / 2, 6, 3); for (i = 0; i < 3; i++) { - sub_814F65C(1, 3, gUnknown_846FAAC[i + 1], 0, 30 * i + 10, 1); + WCSS_AddTextPrinterParameterized(1, 3, sHeaderTextPtrs[i + 1], 0, 30 * i + 10, 1); } - sub_814F65C(1, 3, gUnknown_846FAAC[i + 1], 0, 30 * i + 10, 2); + WCSS_AddTextPrinterParameterized(1, 3, sHeaderTextPtrs[i + 1], 0, 30 * i + 10, 2); PutWindowTilemap(0); CopyWindowToVram(0, 2); PutWindowTilemap(1); CopyWindowToVram(1, 2); } -void sub_814F46C(u8 taskId) +static void Task_WirelessCommunicationScreen(u8 taskId) { s32 i; switch (gTasks[taskId].data[0]) { case 0: - sub_814F3A8(); + PrintHeaderTexts(); gTasks[taskId].data[0]++; break; case 1: @@ -291,16 +287,16 @@ void sub_814F46C(u8 taskId) gTasks[taskId].data[0]++; break; case 3: - if (sub_814F7E4(gUnknown_3002040->field_00, gUnknown_3002040->field_10, gUnknown_3002040->field_20, gUnknown_3002040->field_61)) + if (UpdateCommunicationCounts(sWCSS->counts, sWCSS->lastCounts, sWCSS->activities, sWCSS->rfuTaskId)) { - FillWindowPixelBuffer(2, 0x00); + FillWindowPixelBuffer(2, PIXEL_FILL(0)); for (i = 0; i < 4; i++) { - ConvertIntToDecimalStringN(gStringVar4, gUnknown_3002040->field_00[i], STR_CONV_MODE_RIGHT_ALIGN, 2); + ConvertIntToDecimalStringN(gStringVar4, sWCSS->counts[i], STR_CONV_MODE_RIGHT_ALIGN, 2); if (i != 3) - sub_814F65C(2, 3, gStringVar4, 4, 30 * i + 10, 1); + WCSS_AddTextPrinterParameterized(2, 3, gStringVar4, 4, 30 * i + 10, 1); else - sub_814F65C(2, 3, gStringVar4, 4, 100, 2); + WCSS_AddTextPrinterParameterized(2, 3, gStringVar4, 4, 100, 2); } PutWindowTilemap(2); CopyWindowToVram(2, 3); @@ -308,10 +304,10 @@ void sub_814F46C(u8 taskId) if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); - gTasks[gUnknown_3002040->field_61].data[15] = 0xFF; + gTasks[sWCSS->rfuTaskId].data[15] = 0xFF; gTasks[taskId].data[0]++; } - sub_814F364(&gTasks[taskId].data[7], &gTasks[taskId].data[8]); + WCSS_CyclePalette(&gTasks[taskId].data[7], &gTasks[taskId].data[8]); break; case 4: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); @@ -320,117 +316,117 @@ void sub_814F46C(u8 taskId) case 5: if (!gPaletteFade.active) { - SetMainCallback2(sub_814F32C); + SetMainCallback2(ExitWirelessCommunicationStatusScreen); DestroyTask(taskId); } break; } } -void sub_814F65C(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 palIdx) +static void WCSS_AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 palIdx) { u8 textColor[3]; switch (palIdx) { case 0: - textColor[0] = 0; - textColor[1] = 2; - textColor[2] = 3; + textColor[0] = TEXT_COLOR_TRANSPARENT; + textColor[1] = TEXT_COLOR_DARK_GREY; + textColor[2] = TEXT_COLOR_LIGHT_GREY; break; case 1: - textColor[0] = 0; - textColor[1] = 1; - textColor[2] = 3; + textColor[0] = TEXT_COLOR_TRANSPARENT; + textColor[1] = TEXT_COLOR_WHITE; + textColor[2] = TEXT_COLOR_LIGHT_GREY; break; case 2: - textColor[0] = 0; - textColor[1] = 4; - textColor[2] = 5; + textColor[0] = TEXT_COLOR_TRANSPARENT; + textColor[1] = TEXT_COLOR_RED; + textColor[2] = TEXT_COLOR_LIGHT_RED; break; case 3: - textColor[0] = 0; - textColor[1] = 7; - textColor[2] = 6; + textColor[0] = TEXT_COLOR_TRANSPARENT; + textColor[1] = TEXT_COLOR_LIGHT_GREEN; + textColor[2] = TEXT_COLOR_GREEN; break; case 4: - textColor[0] = 0; - textColor[1] = 1; - textColor[2] = 2; + textColor[0] = TEXT_COLOR_TRANSPARENT; + textColor[1] = TEXT_COLOR_WHITE; + textColor[2] = TEXT_COLOR_DARK_GREY; break; // default: UB } AddTextPrinterParameterized4(windowId, fontId,x, y, fontId == 0 ? 0 : 1, 0, textColor, -1, str); } -u32 sub_814F714(struct UnkStruct_x20 * unk20, u32 * arg1) +static u32 CountMembersInGroup(struct UnkStruct_x20 * unk20, u32 * counts) { - u32 r8 = unk20->unk.gname.unk_0a_0; + u32 activity = unk20->gname_uname.gname.activity; s32 i, j, k; - for (i = 0; i < NELEMS(gUnknown_846FAC0); i++) + for (i = 0; i < NELEMS(sCountParams); i++) { - if (r8 == gUnknown_846FAC0[i][0] && unk20->field_1A_0 == 1) + if (activity == sCountParams[i][0] && unk20->groupScheduledAnim == UNION_ROOM_SPAWN_IN) { - if (gUnknown_846FAC0[i][2] == 0) + if (sCountParams[i][2] == 0) { k = 0; - for (j = 0; j < 4; j++) + for (j = 0; j < RFU_CHILD_MAX; j++) { - if (unk20->unk.gname.unk_04[j] != 0) k++; + if (unk20->gname_uname.gname.child_sprite_gender[j] != 0) k++; } k++; - arg1[gUnknown_846FAC0[i][1]] += k; + counts[sCountParams[i][1]] += k; } else { - arg1[gUnknown_846FAC0[i][1]] += gUnknown_846FAC0[i][2]; + counts[sCountParams[i][1]] += sCountParams[i][2]; } } } - return r8; + return activity; } -bool32 sub_814F7BC(const u32 * ptr0, const u32 * ptr1) +static bool32 HaveCountsChanged(const u32 * newCounts, const u32 * prevCounts) { s32 i; for (i = 0; i < 4; i++) { - if (ptr0[i] != ptr1[i]) + if (newCounts[i] != prevCounts[i]) return TRUE; } return FALSE; } -bool32 sub_814F7E4(u32 * a0, u32 * a1, u32 * a2, u8 taskId) +static bool32 UpdateCommunicationCounts(u32 * counts, u32 * lastCounts, u32 * activities, u8 taskId) { - bool32 r8 = FALSE; - u32 sp0[4] = {0, 0, 0, 0}; + bool32 activitiesUpdated = FALSE; + u32 buffer[4] = {0, 0, 0, 0}; struct UnkStruct_Group * group = (void *)gTasks[taskId].data; s32 i; for (i = 0; i < 16; i++) { - u32 r1 = sub_814F714(&group->field_0->arr[i], sp0); - if (r1 != a2[i]) + u32 activity = CountMembersInGroup(&group->field_0->arr[i], buffer); + if (activity != activities[i]) { - a2[i] = r1; - r8 = TRUE; + activities[i] = activity; + activitiesUpdated = TRUE; } } - if (sub_814F7BC(sp0, a1) == FALSE) + if (HaveCountsChanged(buffer, lastCounts) == FALSE) { - if (r8 == TRUE) + if (activitiesUpdated == TRUE) return TRUE; else return FALSE; } - memcpy(a0, sp0, sizeof(sp0)); - memcpy(a1, sp0, sizeof(sp0)); - a0[3] = a0[0] + a0[1] + a0[2]; + memcpy(counts, buffer, sizeof(buffer)); + memcpy(lastCounts, buffer, sizeof(buffer)); + counts[3] = counts[0] + counts[1] + counts[2]; return TRUE; } diff --git a/sym_bss.txt b/sym_bss.txt index 5651e3366..9195e3ee4 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -1,12 +1,8 @@ + .align 3 .include "src/gpu_regs.o" - - .space 0x4 - + .align 3 .include "src/dma3_manager.o" - - .space 0x4 - - .align 2 + .align 3 .include "src/bg.o" .align 2 .include "src/malloc.o" @@ -24,7 +20,9 @@ .include "src/trade.o" .align 2 .include "src/play_time.o" + .align 2 + @ .include "src/overworld.o" gUnknown_3000E80: @ 3000E80 .space 0x4 @@ -37,22 +35,9 @@ gUnknown_3000E88: @ 3000E88 gUnknown_3000E89: @ 3000E89 .space 0x7 -gUnknown_3000E90: @ 3000E90 - .space 0x8 - -gUnknown_3000E98: @ 3000E98 - .space 0x2 - -gUnknown_3000E9A: @ 3000E9A - .space 0x2 - -gUnknown_3000E9C: @ 3000E9C - .space 0x4 - -gUnknown_3000EA0: @ 3000EA0 - .space 0x8 - - .align 2 + .align 3 + .include "src/field_camera.o" + .align 3 .include "src/script.o" .align 2 .include "src/start_menu.o" @@ -60,11 +45,11 @@ gUnknown_3000EA0: @ 3000EA0 .include "src/tileset_anims.o" .align 2 .include "src/sound.o" + .align 2 + .include "src/field_effect.o" .align 2 -gUnknown_3000FC8: @ 3000FC8 - .space 0x20 - + @ .include "src/pokemon_storage_system.o" gUnknown_3000FE8: @ 3000FE8 .space 0x184 @@ -80,30 +65,28 @@ gUnknown_3000FE8: @ 3000FE8 .include "src/union_room.o" .align 2 + @ .include "src/pokemon_special_anim.o" gUnknown_3002030: @ 3002030 .space 0x8 gUnknown_3002038: @ 3002038 .space 0x8 -gUnknown_3002040: @ 3002040 - .space 0x4 - -gUnknown_3002044: @ 3002044 - .space 0x4 - + .align 2 + .include "src/wireless_communication_status_screen.o" + .align 2 + .include "src/dodrio_berry_picking.o" .align 3 .include "src/ereader_helpers.o" - .align 3 - .include "src/unk_815C980.o" - + .include "src/digit_obj_util.o" .align 3 .include "asm/m4a_1.o" + .align 3 .include "src/agb_flash.o" - - .space 0x4 @ This isn't needed for Ruby/Sapphire or Emerald. - + .align 3 .include "*libgcc.a:dp-bit.o" + .align 3 .include "*libgcc.a:fp-bit.o" + .align 3 .include "*libc.a:syscalls.o" diff --git a/sym_common.txt b/sym_common.txt index bfc04b1ac..1865bcbc4 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -20,13 +20,14 @@ .include "load_save.o" .align 2 -gUnknown_3005014: @ 3005014 + @ .include "overworld.o" +gBGTilemapBuffers1: @ 3005014 .space 0x4 -gUnknown_3005018: @ 3005018 +gBGTilemapBuffers2: @ 3005018 .space 0x4 -gUnknown_300501C: @ 300501C +gBGTilemapBuffers3: @ 300501C .space 0x4 gFieldCallback: @ 3005020 @@ -44,23 +45,17 @@ gLocalLinkPlayerId: @ 300502C gFieldLinkPlayerCount: @ 3005030 .space 0x10 - .align 2 + .align 4 .include "fieldmap.o" .align 4 -gFieldCamera: @ 3005050 - .space 0x18 - -gTotalCameraPixelOffsetY: @ 3005068 - .space 0x4 - -gTotalCameraPixelOffsetX: @ 300506C - .space 0x4 + .include "field_camera.o" .align 2 .include "scrcmd.o" .align 2 + @ .include "field_control_avatar.o" gSelectedObjectEvent: @ 3005074 .space 0x4 @@ -73,9 +68,8 @@ gUnknown_3005078: @ 3005078 .include "sound.o" .align 2 .include "task.o" - - @ what is this? - .space 0x20 + .align 2 + .include "cable_club.o" .align 2 .include "image_processing_effects.o" .align 2 @@ -91,7 +85,7 @@ gUnknown_3005078: @ 3005078 .align 4 .include "link_rfu_2.o" .align 4 - .include "link_rfu.o" + .include "AgbRfu_LinkManager.o" .align 4 .include "list_menu.o" .align 2 diff --git a/sym_ewram.txt b/sym_ewram.txt index 3e1d77975..67ca0fd06 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -34,6 +34,7 @@ .include "src/new_game.o" .align 2 + @ .include "src/overworld.o" gUnknown_2031DB4: @ 2031DB4 .space 0x8 @@ -75,19 +76,19 @@ gLinkPlayerObjectEvents: @ 2031DEC .align 2 .include "src/fieldmap.o" + .align 2 + .include "src/field_camera.o" -gUnknown_2036E28: @ 2036E28 - .space 0x4 - -gUnknown_2036E2C: @ 2036E2C - .space 0x4 - + .align 2 + @ .include "src/field_player_avatar.o" gUnknown_2036E30: @ 2036E30 .space 0x4 gUnknown_2036E34: @ 2036E34 .space 0x4 + .align 2 + @ .include "src/event_object_movement.o" gObjectEvents: @ 2036E38 .space 0x240 @@ -100,9 +101,8 @@ sCurrentReflectionType: @ 2037098 sCurrentSpecialObjectPaletteTag: @ 203709A .space 0x2 -gUnknown_203709C: @ 203709C - .space 0x4 - + .align 2 + .include "src/field_message_box.o" .align 2 .include "src/script.o" .align 2 @@ -125,6 +125,7 @@ gUnknown_203709C: @ 203709C .include "src/title_screen.o" .align 2 + @ .include "src/field_weather.o" gUnknown_2037F34: @ 2037F34 .space 0x200 @@ -147,11 +148,8 @@ gUnknown_20386A8: @ 20386A8 .include "src/battle_setup.o" .align 2 .include "src/wild_encounter.o" - .align 2 -gFieldEffectArguments: @ 20386E0 - .space 0x20 - + .include "src/field_effect.o" .align 2 .include "src/scanline_effect.o" .align 2 @@ -159,28 +157,30 @@ gFieldEffectArguments: @ 20386E0 .align 2 .include "src/trainer_card.o" -gUnknown_20397A8: @ 20397A8 + .align 2 + @ .include "src/pokemon_storage_system.o" +sPreviousBoxOption: @ 20397A8 .space 0x4 gUnknown_20397AC: @ 20397AC .space 0x4 -gUnknown_20397B0: @ 20397B0 +sPSSData: @ 20397B0 .space 0x4 -gUnknown_20397B4: @ 20397B4 +sInPartyMenu: @ 20397B4 .space 0x1 -gUnknown_20397B5: @ 20397B5 +sCurrentBoxOption: @ 20397B5 .space 0x1 gUnknown_20397B6: @ 20397B6 .space 0x1 -gUnknown_20397B7: @ 20397B7 +sWhichToReshow: @ 20397B7 .space 0x1 -gUnknown_20397B8: @ 20397B8 +sLastUsedBox: @ 20397B8 .space 0x2 gUnknown_20397BA: @ 20397BA @@ -189,22 +189,22 @@ gUnknown_20397BA: @ 20397BA gUnknown_20397BC: @ 20397BC .space 0x64 -gUnknown_2039820: @ 2039820 +sBoxCursorArea: @ 2039820 .space 0x1 -gUnknown_2039821: @ 2039821 +sBoxCursorPosition: @ 2039821 .space 0x1 -gUnknown_2039822: @ 2039822 +sIsMonBeingMoved: @ 2039822 .space 0x1 -gUnknown_2039823: @ 2039823 +sMovingMonOrigBoxId: @ 2039823 .space 0x1 -gUnknown_2039824: @ 2039824 +sMovingMonOrigBoxPos: @ 2039824 .space 0x1 -gUnknown_2039825: @ 2039825 +sCanOnlyMove: @ 2039825 .space 0x1 gUnknown_2039826: @ 2039826 @@ -216,35 +216,24 @@ gUnknown_2039828: @ 2039828 gUnknown_203982C: @ 203982C .space 0x4 -gUnknown_2039830: @ 2039830 - .space 0x40 - -gUnknown_2039870: @ 2039870 - .space 0x4 - -gUnknown_2039874: @ 2039874 - .space 0x4 - + .align 2 + .include "src/script_movement.o" + .align 2 + .include "src/fldeff_cut.o" .align 2 .include "src/item_menu_icons.o" - -gBagPockets: @ 203988C - .space 0x28 - + .align 2 + .include "src/item.o" .align 2 .include "src/shop.o" .align 2 - .include "src/sea_cottage_special_anim.o" + .include "src/special_field_anim.o" .align 2 .include "src/script_menu.o" - .align 2 -gUnknown_203998C: @ 203998C - .space 0x4 - + .include "src/naming_screen.o" .align 2 .include "src/money.o" - .align 2 .include "src/safari_zone.o" .align 2 @@ -303,14 +292,10 @@ gUnknown_203998C: @ 203998C .include "src/credits.o" .align 2 .include "src/diploma.o" - .align 2 .include "src/save_failed_screen.o" - .align 2 -gUnknown_203AB54: @ 203AB54 - .space 0x4 - + .include "src/clear_save_data_screen.o" .align 2 .include "src/new_menu_helpers.o" .align 2 @@ -322,16 +307,11 @@ gUnknown_203AB54: @ 203AB54 .align 2 .include "src/link_rfu_3.o" .align 2 - -gUnknown_203ACE8: @ 203ACE8 - .space 0x4 - -gUnknown_203ACEC: @ 203ACEC - .space 0x4 - -gUnknown_203ACF0: @ 203ACF0 - .space 0x4 - + .include "src/easy_chat_2.o" + .align 2 + .include "src/easy_chat_3.o" + .align 2 + .include "src/pokedex_screen.o" .align 2 .include "src/list_menu.o" .align 2 @@ -358,6 +338,7 @@ gUnknown_203ACF0: @ 203ACF0 .include "src/union_room_battle.o" .align 2 + @ .include "src/pokemon_special_anim.o" gUnknown_203B090: @ 203B090 .space 0x4 @@ -386,6 +367,8 @@ gUnknown_203B098: @ 203B098 .align 2 .include "src/menu_indicators.o" + .align 2 + @ .include "src/pokemon_summary_screen.o" gUnknown_203B140: @ 203B140 .space 0x4 @@ -443,45 +426,25 @@ gUnknown_203B170: @ 203B170 .align 2 .include "src/mevent_server.o" .align 2 - .include "src/mevent_8145654.o" + .include "src/mevent_show_card.o" + .align 2 + .include "src/mevent_show_news.o" .align 2 .include "src/seagallop.o" - .align 2 -gUnknown_203F3D4: @ 203F3D4 - .space 0x4 - -gUnknown_203F3D8: @ 203F3D8 - .space 0x4 - -gUnknown_203F3DC: @ 203F3DC - .space 0x4 - -gUnknown_203F3E0: @ 203F3E0 - .space 0x4 - -gUnknown_203F3E4: @ 203F3E4 - .space 0x14 - -gUnknown_203F3F8: @ 203F3F8 - .space 0x8 - -gUnknown_203F400: @ 203F400 - .space 0x2C - -gUnknown_203F42C: @ 203F42C - .space 0x10 - -gUnknown_203F43C: @ 203F43C - .space 0x4 - -gUnknown_203F440: @ 203F440 - .space 0x4 - + .include "src/pokemon_jump_2.o" + .align 2 + .include "src/pokemon_jump_4.o" + .align 2 + .include "src/berry_crush.o" + .align 2 + .include "src/dodrio_berry_picking.o" + .align 2 + .include "src/dodrio_berry_picking_2.o" .align 2 .include "src/teachy_tv.o" .align 2 - .include "src/unk_815C980.o" + .include "src/digit_obj_util.o" .align 2 .include "src/trainer_tower.o" .align 2 diff --git a/tileset_rules.mk b/tileset_rules.mk index 7e994e24f..f20a6dca3 100644 --- a/tileset_rules.mk +++ b/tileset_rules.mk @@ -1,202 +1,202 @@ TILESETGFXDIR := data/tilesets -$(TILESETGFXDIR)/primary/82D4BB4/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/primary/building/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 640 -$(TILESETGFXDIR)/primary/82D4A94/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/primary/general/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 640 -$(TILESETGFXDIR)/secondary/82D4AAC/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/pallet_town/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 76 -$(TILESETGFXDIR)/secondary/82D4B0C/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/lavender_town/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 256 -$(TILESETGFXDIR)/secondary/82D4B6C/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/cinnabar_island/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 128 -$(TILESETGFXDIR)/secondary/82D4BE4/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/pokemon_center/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 376 -$(TILESETGFXDIR)/secondary/82D4C44/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/cable_club/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 632 -$(TILESETGFXDIR)/secondary/82D4CA4/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/fuchsia_gym/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 92 -$(TILESETGFXDIR)/secondary/82D4D04/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/pewter_gym/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 207 -$(TILESETGFXDIR)/secondary/82D4D64/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/saffron_gym/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 82 -$(TILESETGFXDIR)/secondary/82D4DC4/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/viridian_forest/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 101 -$(TILESETGFXDIR)/secondary/82D4E24/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/seafoam_islands/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 318 -$(TILESETGFXDIR)/secondary/82D4E84/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/generic_building2/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 152 -$(TILESETGFXDIR)/secondary/82D4EE4/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/underground_path/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 50 -$(TILESETGFXDIR)/secondary/82D4F44/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/restaurant_hotel/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 76 -$(TILESETGFXDIR)/secondary/82D4FA4/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/burgled_house/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 172 -$(TILESETGFXDIR)/secondary/82D5004/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/berry_forest/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 101 -$(TILESETGFXDIR)/secondary/82D5064/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/sevii_islands_45/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 374 -$(TILESETGFXDIR)/secondary/82D50C4/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/pokemon_league/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 340 -$(TILESETGFXDIR)/secondary/82D4AC4/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/viridian_city/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 112 -$(TILESETGFXDIR)/secondary/82D4B24/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/vermilion_city/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 140 -$(TILESETGFXDIR)/secondary/82D4B84/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/indigo_plateau/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 247 -$(TILESETGFXDIR)/secondary/82D4BFC/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/cave/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 256 -$(TILESETGFXDIR)/secondary/82D4C5C/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/bike_shop/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 60 -$(TILESETGFXDIR)/secondary/82D4CBC/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/viridian_gym/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 90 -$(TILESETGFXDIR)/secondary/82D4D1C/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/cerulean_gym/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 119 -$(TILESETGFXDIR)/secondary/82D4D7C/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/cinnabar_gym/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 146 -$(TILESETGFXDIR)/secondary/82D4DDC/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/unused_gatehouse1/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 144 -$(TILESETGFXDIR)/secondary/82D4E3C/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/unused_gatehouse2/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 144 -$(TILESETGFXDIR)/secondary/82D4E9C/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/power_plant/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 80 -$(TILESETGFXDIR)/secondary/82D4EFC/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/pokemon_tower/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 128 -$(TILESETGFXDIR)/secondary/82D4F5C/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/school/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 50 -$(TILESETGFXDIR)/secondary/82D4FBC/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/dummy3/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 2 -$(TILESETGFXDIR)/secondary/82D501C/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/navel_rock/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 282 -$(TILESETGFXDIR)/secondary/82D507C/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/sevii_islands_67/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 374 -$(TILESETGFXDIR)/secondary/82D50DC/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/hall_of_fame/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 208 -$(TILESETGFXDIR)/secondary/82D4ADC/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/pewter_city/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 280 -$(TILESETGFXDIR)/secondary/82D4B3C/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/celadon_city/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 244 -$(TILESETGFXDIR)/secondary/82D4B9C/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/saffron_city/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 262 -$(TILESETGFXDIR)/secondary/82D4C14/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/dummy1/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 2 -$(TILESETGFXDIR)/secondary/82D4C74/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/generic_building1/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 63 -$(TILESETGFXDIR)/secondary/82D4CD4/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/hoenn_building/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 383 -$(TILESETGFXDIR)/secondary/82D4D34/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/vermilion_gym/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 247 -$(TILESETGFXDIR)/secondary/82D4D94/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/ss_anne/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 245 -$(TILESETGFXDIR)/secondary/82D4DF4/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/rock_tunnel/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 256 -$(TILESETGFXDIR)/secondary/82D4E54/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/cerulean_cave/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 246 -$(TILESETGFXDIR)/secondary/82D4EB4/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/sea_cottage/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 68 -$(TILESETGFXDIR)/secondary/82D4F14/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/safari_zone_building/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 90 -$(TILESETGFXDIR)/secondary/82D4F74/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/fan_club_daycare/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 85 -$(TILESETGFXDIR)/secondary/82D4FD4/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/dummy4/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 2 -$(TILESETGFXDIR)/secondary/82D5034/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/tanoby_ruins/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 74 -$(TILESETGFXDIR)/secondary/82D5094/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/trainer_tower/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 343 -$(TILESETGFXDIR)/secondary/82D4AF4/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/cerulean_city/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 158 -$(TILESETGFXDIR)/secondary/82D4B54/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/fuchsia_city/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 191 -$(TILESETGFXDIR)/secondary/82D4BCC/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/mart/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 36 -$(TILESETGFXDIR)/secondary/82D4C2C/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/museum/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 137 -$(TILESETGFXDIR)/secondary/82D4C8C/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/lab/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 102 -$(TILESETGFXDIR)/secondary/82D4CEC/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/game_corner/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 171 -$(TILESETGFXDIR)/secondary/82D4D4C/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/celadon_gym/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 103 -$(TILESETGFXDIR)/secondary/82D4DAC/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/dummy2/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 2 -$(TILESETGFXDIR)/secondary/82D4E0C/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/digletts_cave/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 248 -$(TILESETGFXDIR)/secondary/82D4E6C/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/department_store/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 201 -$(TILESETGFXDIR)/secondary/82D4F2C/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/pokemon_mansion/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 350 -$(TILESETGFXDIR)/secondary/82D4F8C/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/condominiums/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 384 -$(TILESETGFXDIR)/secondary/82D4FEC/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/mt_ember/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 288 -$(TILESETGFXDIR)/secondary/82D504C/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/sevii_islands_123/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 374 -$(TILESETGFXDIR)/secondary/82D50AC/tiles.4bpp: %.4bpp: %.png +$(TILESETGFXDIR)/secondary/island_harbor/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 165 diff --git a/tools/aif2pcm/main.c b/tools/aif2pcm/main.c index 51dbf1bb9..cd5ac4a50 100644 --- a/tools/aif2pcm/main.c +++ b/tools/aif2pcm/main.c @@ -34,8 +34,8 @@ double ieee754_read_extended (uint8_t*); #define FATAL_ERROR(format, ...) \ do \ { \ - fprintf(stderr, format, __VA_ARGS__); \ - exit(1); \ + fprintf(stderr, format, __VA_ARGS__); \ + exit(1); \ } while (0) #else @@ -43,8 +43,8 @@ do \ #define FATAL_ERROR(format, ...) \ do \ { \ - fprintf(stderr, format, ##__VA_ARGS__); \ - exit(1); \ + fprintf(stderr, format, ##__VA_ARGS__); \ + exit(1); \ } while (0) #endif // _MSC_VER @@ -64,6 +64,12 @@ struct Bytes { uint8_t *data; }; +struct Marker { + unsigned short id; + unsigned long position; + // don't care about the name +}; + struct Bytes *read_bytearray(const char *filename) { struct Bytes *bytes = malloc(sizeof(struct Bytes)); @@ -167,6 +173,8 @@ void read_aif(struct Bytes *aif, AifData *aif_data) FATAL_ERROR("FORM Type is '%s', but it must be AIFF!", chunk_type); } + struct Marker *markers = NULL; + unsigned short num_markers = 0, loop_start = 0, loop_end = 0; unsigned long num_sample_frames = 0; // Read all the Chunks to populate the AifData struct. @@ -219,10 +227,17 @@ void read_aif(struct Bytes *aif, AifData *aif_data) } else if (strcmp(chunk_name, "MARK") == 0) { - unsigned short num_markers = (aif->data[pos++] << 8); + num_markers = (aif->data[pos++] << 8); num_markers |= (uint8_t)aif->data[pos++]; - // Read each marker and look for the "START" marker. + if (markers) + { + FATAL_ERROR("More than one MARK Chunk in file!\n"); + } + + markers = calloc(num_markers, sizeof(struct Marker)); + + // Read each marker. for (int i = 0; i < num_markers; i++) { unsigned short marker_id = (aif->data[pos++] << 8); @@ -233,28 +248,16 @@ void read_aif(struct Bytes *aif, AifData *aif_data) marker_position |= (aif->data[pos++] << 8); marker_position |= (uint8_t)aif->data[pos++]; - // Marker id is a pascal-style string. + // Marker name is a Pascal-style string. uint8_t marker_name_size = aif->data[pos++]; - char *marker_name = (char *)malloc((marker_name_size + 1) * sizeof(char)); + // We don't actually need the marker name for anything anymore. + /*char *marker_name = (char *)malloc((marker_name_size + 1) * sizeof(char)); memcpy(marker_name, &aif->data[pos], marker_name_size); - marker_name[marker_name_size] = '\0'; - pos += marker_name_size; + marker_name[marker_name_size] = '\0';*/ + pos += marker_name_size + !(marker_name_size & 1); - if (strcmp(marker_name, "START") == 0) - { - aif_data->loop_offset = marker_position; - aif_data->has_loop = true; - } - else if (strcmp(marker_name, "END") == 0) - { - if (!aif_data->has_loop) { - aif_data->loop_offset = marker_position; - aif_data->has_loop = true; - } - aif_data->num_samples = marker_position; - } - - free(marker_name); + markers[i].id = marker_id; + markers[i].position = marker_position; } } else if (strcmp(chunk_name, "INST") == 0) @@ -264,11 +267,31 @@ void read_aif(struct Bytes *aif, AifData *aif_data) aif_data->midi_note = midi_note; // Skip over data we don't need. - pos += 19; + pos += 7; + + unsigned short loop_type = (aif->data[pos++] << 8); + loop_type |= (uint8_t)aif->data[pos++]; + + if (loop_type) + { + loop_start = (aif->data[pos++] << 8); + loop_start |= (uint8_t)aif->data[pos++]; + + loop_end = (aif->data[pos++] << 8); + loop_end |= (uint8_t)aif->data[pos++]; + } + else + { + // Skip NoLooping sustain loop. + pos += 4; + } + + // Skip release loop, we don't need it. + pos += 6; } else if (strcmp(chunk_name, "SSND") == 0) { - // SKip offset and blockSize + // Skip offset and blockSize pos += 8; unsigned long num_samples = chunk_size - 8; @@ -285,6 +308,41 @@ void read_aif(struct Bytes *aif, AifData *aif_data) pos += chunk_size; } } + + if (markers) + { + // Resolve loop points. + struct Marker *cur_marker = markers; + + // Grab loop start point. + for (int i = 0; i < num_markers; i++, cur_marker++) + { + if (cur_marker->id == loop_start) + { + aif_data->loop_offset = cur_marker->position; + aif_data->has_loop = true; + break; + } + } + + cur_marker = markers; + + // Grab loop end point. + for (int i = 0; i < num_markers; i++, cur_marker++) + { + if (cur_marker->id == loop_end) + { + if (cur_marker->position < aif_data->loop_offset) { + aif_data->loop_offset = cur_marker->position; + aif_data->has_loop = true; + } + aif_data->num_samples = cur_marker->position; + break; + } + } + + free(markers); + } } // This is a table of deltas between sample values in compressed PCM data. diff --git a/tools/mapjson/mapjson.cpp b/tools/mapjson/mapjson.cpp index f4e7380b9..ad3aa3769 100644 --- a/tools/mapjson/mapjson.cpp +++ b/tools/mapjson/mapjson.cpp @@ -104,24 +104,22 @@ string generate_map_header_text(Json map_data, Json layouts_data) { << "\t.byte " << map_data["weather"].string_value() << "\n" << "\t.byte " << map_data["map_type"].string_value() << "\n"; - if (version == "firered") - text << "\t.byte " << map_data["unknown_18"].int_value() << "\n" - << "\t.byte " << map_data["unknown_19"].int_value() << "\n"; - else + if (version != "firered") text << "\t.2byte 0\n"; if (version == "ruby") { text << "\t.byte " << map_data["show_map_name"].bool_value() << "\n"; } - else if (version == "emerald") { + else if (version == "emerald" || version == "firered") { text << "\tmap_header_flags " - << "allow_bike=" << map_data["allow_bike"].bool_value() << ", " - << "allow_escape_rope=" << map_data["allow_escape_rope"].bool_value() << ", " - << "allow_run=" << map_data["allow_running"].bool_value() << ", " + << "allow_cycling=" << map_data["allow_cycling"].bool_value() << ", " + << "allow_escaping=" << map_data["allow_escaping"].bool_value() << ", " + << "allow_running=" << map_data["allow_running"].bool_value() << ", " << "show_map_name=" << map_data["show_map_name"].bool_value() << "\n"; } - else if (version == "firered") { - text << "\t.byte " << map_data["elevator_flag"].int_value() << "\n"; + + if (version == "firered") { + text << "\t.byte " << map_data["floor_number"].int_value() << "\n"; } text << "\t.byte " << map_data["battle_scene"].string_value() << "\n\n"; @@ -276,6 +274,7 @@ string generate_firered_map_events_text(Json map_data) { auto obj_event = map_data["object_events"].array_items()[i]; text << "\tobject_event " << i + 1 << ", " << obj_event["graphics_id"].string_value() << ", " + << (obj_event["in_connection"].bool_value() ? 255 : 0) << ", " << obj_event["x"].int_value() << ", " << obj_event["y"].int_value() << ", " << obj_event["elevation"].int_value() << ", " @@ -338,7 +337,15 @@ string generate_firered_map_events_text(Json map_data) { bgs_label = map_data["name"].string_value() + "_MapBGEvents"; text << bgs_label << "::\n"; for (auto &bg_event : map_data["bg_events"].array_items()) { - if (bg_event["type"] == "hidden_item") { + if (bg_event["type"] == "sign") { + text << "\tbg_event " + << bg_event["x"].int_value() << ", " + << bg_event["y"].int_value() << ", " + << bg_event["elevation"].int_value() << ", " + << bg_event["player_facing_dir"].string_value() << ", 0," + << bg_event["script"].string_value() << "\n"; + } + else if (bg_event["type"] == "hidden_item") { text << "\tbg_hidden_item_event " << bg_event["x"].int_value() << ", " << bg_event["y"].int_value() << ", " @@ -348,17 +355,6 @@ string generate_firered_map_events_text(Json map_data) { << bg_event["quantity"].int_value() << ", " << bg_event["underfoot"].bool_value() << "\n"; } - else { - string type_string = bg_event["type"].string_value(); - type_string.erase(0, 14); - int type = std::stoi(type_string); - text << "\tbg_event " - << bg_event["x"].int_value() << ", " - << bg_event["y"].int_value() << ", " - << bg_event["elevation"].int_value() << ", " - << type << ", 0, " - << bg_event["script"].string_value() << "\n"; - } } text << "\n"; } else {